@shepai/cli 1.127.3 → 1.129.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/apis/json-schema/EnvironmentConfig.yaml +3 -0
- package/apis/json-schema/FeatureFlags.yaml +5 -0
- package/apis/json-schema/Repository.yaml +3 -0
- package/dist/packages/core/src/application/ports/output/repositories/repository-repository.interface.d.ts +4 -0
- package/dist/packages/core/src/application/ports/output/repositories/repository-repository.interface.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts +118 -0
- package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.d.ts.map +1 -0
- package/dist/packages/core/src/application/ports/output/services/github-repository-service.interface.js +58 -0
- package/dist/packages/core/src/application/ports/output/services/index.d.ts +2 -0
- package/dist/packages/core/src/application/ports/output/services/index.d.ts.map +1 -1
- package/dist/packages/core/src/application/ports/output/services/index.js +1 -0
- package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.d.ts +1 -0
- package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/features/delete-feature.use-case.js +46 -15
- package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.d.ts +31 -0
- package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/repositories/import-github-repository.use-case.js +86 -0
- package/dist/packages/core/src/application/use-cases/repositories/list-github-repositories.use-case.d.ts +13 -0
- package/dist/packages/core/src/application/use-cases/repositories/list-github-repositories.use-case.d.ts.map +1 -0
- package/dist/packages/core/src/application/use-cases/repositories/list-github-repositories.use-case.js +35 -0
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.d.ts.map +1 -1
- package/dist/packages/core/src/domain/factories/settings-defaults.factory.js +2 -0
- package/dist/packages/core/src/domain/generated/output.d.ts +12 -0
- package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/di/container.js +12 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/repository.mapper.d.ts +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/repository.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/repository.mapper.js +2 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/settings.mapper.js +2 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/040-add-repository-remote-url.d.ts +12 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/040-add-repository-remote-url.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/040-add-repository-remote-url.js +29 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/041-add-feature-flag-github-import.d.ts +11 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/041-add-feature-flag-github-import.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations/041-add-feature-flag-github-import.js +17 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-repository.repository.d.ts +3 -0
- package/dist/packages/core/src/infrastructure/repositories/sqlite-repository.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-repository.repository.js +38 -2
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/repositories/sqlite-settings.repository.js +3 -2
- package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts +18 -0
- package/dist/packages/core/src/infrastructure/services/external/github-repository.service.d.ts.map +1 -0
- package/dist/packages/core/src/infrastructure/services/external/github-repository.service.js +171 -0
- package/dist/src/presentation/cli/commands/feat/del.command.d.ts +2 -1
- package/dist/src/presentation/cli/commands/feat/del.command.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/feat/del.command.js +28 -2
- package/dist/src/presentation/cli/commands/repo/add.command.d.ts +13 -0
- package/dist/src/presentation/cli/commands/repo/add.command.d.ts.map +1 -0
- package/dist/src/presentation/cli/commands/repo/add.command.js +82 -0
- package/dist/src/presentation/cli/commands/repo/index.d.ts +1 -0
- package/dist/src/presentation/cli/commands/repo/index.d.ts.map +1 -1
- package/dist/src/presentation/cli/commands/repo/index.js +4 -1
- package/dist/src/presentation/tui/wizards/github-import.wizard.d.ts +33 -0
- package/dist/src/presentation/tui/wizards/github-import.wizard.d.ts.map +1 -0
- package/dist/src/presentation/tui/wizards/github-import.wizard.js +121 -0
- package/dist/src/presentation/web/app/actions/delete-feature.d.ts +1 -1
- package/dist/src/presentation/web/app/actions/delete-feature.d.ts.map +1 -1
- package/dist/src/presentation/web/app/actions/delete-feature.js +3 -1
- package/dist/src/presentation/web/app/actions/import-github-repository.d.ts +11 -0
- package/dist/src/presentation/web/app/actions/import-github-repository.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/import-github-repository.js +27 -0
- package/dist/src/presentation/web/app/actions/list-github-repositories.d.ts +11 -0
- package/dist/src/presentation/web/app/actions/list-github-repositories.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/list-github-repositories.js +17 -0
- package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.d.ts +4 -3
- package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/add-repository-button/add-repository-button.js +22 -5
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/control-center-drawer/feature-drawer-client.js +3 -3
- package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog-config.d.ts +2 -1
- package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog-config.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.d.ts +1 -1
- package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.js +12 -2
- package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.stories.d.ts +3 -0
- package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/delete-feature-dialog/delete-feature-dialog.stories.js +17 -0
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node-state-config.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.d.ts.map +1 -1
- package/dist/src/presentation/web/components/common/feature-node/feature-node.js +3 -3
- package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.d.ts +8 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.js +33 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.stories.d.ts +10 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-import-dialog.stories.js +26 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.d.ts +15 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.js +52 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.d.ts +10 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-repo-browser.stories.js +78 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.d.ts +7 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.js +46 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.stories.d.ts +10 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.stories.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/github-url-input.stories.js +29 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/index.d.ts +4 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/index.d.ts.map +1 -0
- package/dist/src/presentation/web/components/common/github-import-dialog/index.js +3 -0
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +2 -2
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +1 -1
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +2 -2
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.js +9 -1
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/feature-flags-settings-section.stories.js +3 -0
- package/dist/src/presentation/web/components/features/settings/settings-page-client.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.js +5 -0
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/settings/settings-page-client.stories.js +1 -0
- package/dist/src/presentation/web/components/layouts/app-shell/app-shell.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-shell/app-shell.js +56 -27
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.d.ts.map +1 -1
- package/dist/src/presentation/web/components/layouts/app-sidebar/app-sidebar.stories.js +7 -1
- package/dist/src/presentation/web/hooks/feature-flags-context.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/feature-flags-context.js +1 -0
- package/dist/src/presentation/web/hooks/use-graph-state.d.ts.map +1 -1
- package/dist/src/presentation/web/hooks/use-graph-state.js +1 -1
- package/dist/src/presentation/web/lib/derive-graph.d.ts +1 -1
- package/dist/src/presentation/web/lib/derive-graph.d.ts.map +1 -1
- package/dist/src/presentation/web/lib/feature-flags.d.ts +2 -0
- package/dist/src/presentation/web/lib/feature-flags.d.ts.map +1 -1
- package/dist/src/presentation/web/lib/feature-flags.js +5 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +2 -2
- package/web/.next/required-server-files.json +2 -2
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +74 -44
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +74 -44
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +86 -56
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +86 -56
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +70 -40
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +74 -44
- package/web/.next/server/app/(dashboard)/create/page.js +3 -3
- package/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +86 -56
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js +3 -3
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +86 -56
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js +3 -3
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +70 -40
- package/web/.next/server/app/(dashboard)/page.js +3 -3
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +70 -40
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js +3 -3
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/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 +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +32 -2
- package/web/.next/server/app/_not-found/page.js +1 -1
- 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/api/attachments/preview/route.js.nft.json +1 -1
- package/web/.next/server/app/api/evidence/route.js.nft.json +1 -1
- package/web/.next/server/app/api/graph-data/route.js.nft.json +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +42 -12
- package/web/.next/server/app/settings/page.js +2 -2
- package/web/.next/server/app/settings/page.js.nft.json +1 -1
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +42 -12
- package/web/.next/server/app/skills/page.js +2 -1
- package/web/.next/server/app/skills/page.js.nft.json +1 -1
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +42 -12
- package/web/.next/server/app/tools/page.js +2 -1
- package/web/.next/server/app/tools/page.js.nft.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +32 -2
- package/web/.next/server/app/version/page.js +2 -2
- 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/chunks/[root-of-the-server]__a402b567._.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__cd67a84c._.js.map +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__dcd4f847._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js +3 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_4e741df2.js.map +1 -0
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_8b618f7d._.js +3 -0
- package/web/.next/server/chunks/ssr/7f428_lucide-react_dist_esm_icons_8b618f7d._.js.map +1 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js +3 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_026fdffa.js.map +1 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js +3 -0
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_8b91e197.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0e842eba._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0e842eba._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2f886f77._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__2f886f77._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357d99f9._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__43f51aa6._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__60684242._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__60684242._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__6cc70784._.js → [root-of-the-server]__755cfe02._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__430169b6._.js.map → [root-of-the-server]__755cfe02._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__815546bd._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__34323a67._.js → [root-of-the-server]__a21eef5a._.js} +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a21eef5a._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__1aa034e9._.js → [root-of-the-server]__a628fb91._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__e44ae5ca._.js.map → [root-of-the-server]__a628fb91._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__e44ae5ca._.js → [root-of-the-server]__bfba58e6._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__6cc70784._.js.map → [root-of-the-server]__bfba58e6._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__430169b6._.js → [root-of-the-server]__c3ab8422._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__1aa034e9._.js.map → [root-of-the-server]__c3ab8422._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d61bd462._.js +3 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__d61bd462._.js.map +1 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f4a463ee._.js +4 -0
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f4a463ee._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_918887c5._.js → _0020fddd._.js} +2 -2
- package/web/.next/server/chunks/ssr/_0020fddd._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_01046927._.js +9 -0
- package/web/.next/server/chunks/ssr/_01046927._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{_2f6f48b8._.js → _02ec1aea._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_2f6f48b8._.js.map → _02ec1aea._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_04c9e229._.js +3 -0
- package/web/.next/server/chunks/ssr/_04c9e229._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_67104d9e._.js +3 -0
- package/web/.next/server/chunks/ssr/_67104d9e._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_7dca1882._.js +1 -1
- package/web/.next/server/chunks/ssr/_7dca1882._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_a37f5f18._.js +1 -1
- package/web/.next/server/chunks/ssr/_a37f5f18._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_a9f57758._.js +1 -1
- package/web/.next/server/chunks/ssr/{_4207f708._.js → _ade68272._.js} +2 -2
- package/web/.next/server/chunks/ssr/_ade68272._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_b4b8a636._.js +3 -0
- package/web/.next/server/chunks/ssr/_b4b8a636._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_d4b20e29._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d8575088._.js +3 -0
- package/web/.next/server/chunks/ssr/_d8575088._.js.map +1 -0
- package/web/.next/server/chunks/ssr/_f39a1adb._.js +1 -1
- package/web/.next/server/chunks/ssr/_f39a1adb._.js.map +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_55c7a131._.js +3 -0
- package/web/.next/server/chunks/ssr/node_modules__pnpm_55c7a131._.js.map +1 -0
- package/web/.next/server/chunks/ssr/{src_presentation_web_0f98f202._.js → src_presentation_web_12d7d3c5._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_0f98f202._.js.map → src_presentation_web_12d7d3c5._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_8e7fe0d1._.js +5 -0
- package/web/.next/server/chunks/ssr/{src_presentation_web_9db47db7._.js.map → src_presentation_web_8e7fe0d1._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_ca051134.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_skills_page_actions_1b176e3c.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_tools_page_actions_bd9f0dda.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_b9023017._.js +5 -0
- package/web/.next/server/chunks/ssr/{src_presentation_web_ede4a227._.js.map → src_presentation_web_b9023017._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_a5e6c910._.js +3 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_a5e6c910._.js.map +1 -0
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- 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 +520 -294
- package/web/.next/static/chunks/114347d98fd69f40.js +1 -0
- package/web/.next/static/chunks/20ff528aadba66aa.js +1 -0
- package/web/.next/static/chunks/278f99f8cc87ab17.js +1 -0
- package/web/.next/static/chunks/29535b9b36889453.js +1 -0
- package/web/.next/static/chunks/314b8314f77d6921.js +1 -0
- package/web/.next/static/chunks/3e1e0f9bde3530d2.js +1 -0
- package/web/.next/static/chunks/601d93593f5f664f.js +1 -0
- package/web/.next/static/chunks/{fa373c6f8139a712.js → 60464e75e7dff8f4.js} +2 -2
- package/web/.next/static/chunks/60fabfee2f9ae935.js +1 -0
- package/web/.next/static/chunks/688971d5bad5dc7c.js +1 -0
- package/web/.next/static/chunks/6c6ab4d42b07fb4b.js +1 -0
- package/web/.next/static/chunks/6cba93f351d29ae4.js +1 -0
- package/web/.next/static/chunks/{41c7cee55ef51fc8.js → 83ae4f574f3dee4d.js} +1 -1
- package/web/.next/static/chunks/{62a58d2f3cd5f35f.js → 98b6ea0af565042f.js} +2 -2
- package/web/.next/static/chunks/98dfbecc5ee30ce1.css +1 -0
- package/web/.next/static/chunks/ab3f7ac1960397d9.js +1 -0
- package/web/.next/static/chunks/c975a20b880c47ea.js +1 -0
- package/web/.next/static/chunks/d34a91958ca566fa.js +13 -0
- package/web/.next/static/chunks/f259386f4875e70c.js +1 -0
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_fbb88113.js +0 -3
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_fbb88113.js.map +0 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_fdfbf5cc.js +0 -3
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_fdfbf5cc.js.map +0 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_d8fa0b5f.js +0 -3
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_d8fa0b5f.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__02c84e6b._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__02c84e6b._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__06fef644._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__06fef644._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__34323a67._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357de47c._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__357de47c._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__67fe07fe._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__67fe07fe._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__68c2d48e._.js +0 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__68c2d48e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8c553503._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8c553503._.js.map +0 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a50a7e39._.js +0 -4
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a50a7e39._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_1bb79fe8._.js +0 -3
- package/web/.next/server/chunks/ssr/_1bb79fe8._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_4207f708._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_583a83fb._.js +0 -3
- package/web/.next/server/chunks/ssr/_583a83fb._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_918887c5._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_9f56cf8f._.js +0 -3
- package/web/.next/server/chunks/ssr/_9f56cf8f._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_a187fd7e._.js +0 -3
- package/web/.next/server/chunks/ssr/_a187fd7e._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_a5aa6371._.js +0 -9
- package/web/.next/server/chunks/ssr/_a5aa6371._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_b730ac57._.js +0 -3
- package/web/.next/server/chunks/ssr/_b730ac57._.js.map +0 -1
- package/web/.next/server/chunks/ssr/_fae9e550._.js +0 -3
- package/web/.next/server/chunks/ssr/_fae9e550._.js.map +0 -1
- package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js +0 -3
- package/web/.next/server/chunks/ssr/f7870_sonner_dist_index_mjs_dbf63824._.js.map +0 -1
- package/web/.next/server/chunks/ssr/node_modules__pnpm_026172d1._.js +0 -3
- package/web/.next/server/chunks/ssr/node_modules__pnpm_026172d1._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_9db47db7._.js +0 -5
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f66cd328.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f66cd328.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_bdcfba35._.js +0 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_components_bdcfba35._.js.map +0 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ede4a227._.js +0 -5
- package/web/.next/static/chunks/01ba448cf76c6014.js +0 -1
- package/web/.next/static/chunks/05e9c71e5e4cf531.js +0 -1
- package/web/.next/static/chunks/33d2f67ad4814aba.css +0 -1
- package/web/.next/static/chunks/534e18ee1fbd8452.js +0 -1
- package/web/.next/static/chunks/8080c842b0358904.js +0 -1
- package/web/.next/static/chunks/9b2a23851096f1aa.js +0 -1
- package/web/.next/static/chunks/a67c9c6125c1aa32.js +0 -1
- package/web/.next/static/chunks/a8ba3f3e2b0f87aa.js +0 -1
- package/web/.next/static/chunks/abc3f71a05ccbdfe.js +0 -1
- package/web/.next/static/chunks/c1f3db103c2b226f.js +0 -1
- package/web/.next/static/chunks/cca0f5112a9260d8.js +0 -1
- package/web/.next/static/chunks/cd45aed9c46e1bf5.js +0 -11
- package/web/.next/static/chunks/d04de4be30ab78ca.js +0 -3
- package/web/.next/static/chunks/d47658be0870a4b9.js +0 -1
- package/web/.next/static/chunks/d8e86e8e5bb7cc0a.js +0 -1
- package/web/.next/static/chunks/f9667ee1e5b445b7.js +0 -1
- /package/web/.next/static/{hWrKuop_3FR0syZrFWLvn → _hAwvNHgk12VPT5IIxRV6}/_buildManifest.js +0 -0
- /package/web/.next/static/{hWrKuop_3FR0syZrFWLvn → _hAwvNHgk12VPT5IIxRV6}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{hWrKuop_3FR0syZrFWLvn → _hAwvNHgk12VPT5IIxRV6}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[96853,71716,a=>{"use strict";var b=a.i(25700);let c=(0,b.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);a.s(["default",()=>c],96853);let d=(0,b.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",()=>d],71716)},98410,a=>{"use strict";let b=(0,a.i(25700).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);a.s(["Copy",()=>b],98410)},4019,67075,a=>{"use strict";let b=(0,a.i(25700).default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);a.s(["Circle",()=>b],4019);var c=a.i(2811);a.s(["CheckCircle2",()=>c.default],67075)},3195,a=>{"use strict";let b=(0,a.i(25700).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);a.s(["FolderOpen",()=>b],3195)},50488,75006,40535,99850,a=>{"use strict";let b=(0,a.i(25700).default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);a.s(["Code2",()=>b],50488);var c=a.i(25674);let d=(0,c.createServerReference)("4038d43586abaf7e0b5bf303fe4fe6e7459da69ac2",c.callServer,void 0,c.findSourceMapURL,"openIde");a.s(["openIde",()=>d],75006);let e=(0,c.createServerReference)("40872b758e9297fecea8d93d33131edb9300dfd049",c.callServer,void 0,c.findSourceMapURL,"openShell");a.s(["openShell",()=>e],40535);let f=(0,c.createServerReference)("40336e2e7a0b247a3dda8995f533e38e8ab814ab71",c.callServer,void 0,c.findSourceMapURL,"openFolder");a.s(["openFolder",()=>f],99850)},42642,a=>{"use strict";let b=(0,a.i(25700).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);a.s(["default",()=>b])},3942,a=>{"use strict";let b=(0,a.i(25700).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);a.s(["Zap",()=>b],3942)},64005,a=>{"use strict";var b=a.i(96960);function c(a){let c=b.useRef({value:a,previous:a});return b.useMemo(()=>(c.current.value!==a&&(c.current.previous=c.current.value,c.current.value=a),c.current.previous),[a])}a.s(["usePrevious",()=>c])},3410,a=>{"use strict";let b=(0,a.i(25700).default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);a.s(["ChevronRight",()=>b],3410)},94132,a=>{"use strict";let b=(0,a.i(25700).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);a.s(["ChevronLeft",()=>b],94132)},10606,a=>{"use strict";var b=a.i(51969);a.s(["CheckIcon",()=>b.default])},72016,51969,a=>{"use strict";let b=(0,a.i(25700).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);a.s(["default",()=>b],51969),a.s(["Check",()=>b],72016)},71238,a=>{"use strict";let b=(0,a.i(25700).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",()=>b],71238)},63698,a=>{"use strict";let b=(0,a.i(25700).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],63698)},78454,a=>{"use strict";a.i(24255),a.s([])},38702,16223,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({icon:a,title:d,description:e,action:f,className:g,...h}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",g),...h,children:[a?(0,b.jsx)("div",{className:"text-muted-foreground",children:a}):null,(0,b.jsx)("h3",{className:"text-lg font-semibold",children:d}),e?(0,b.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:e}):null,f?(0,b.jsx)("div",{className:"mt-2",children:f}):null]})}a.s(["EmptyState",()=>d],16223),a.s([],38702)},59702,53451,a=>{"use strict";var b=a.i(25674);let c=(0,b.createServerReference)("005ad99dcf32c3c77d03350cf058fa13cabd86b584",b.callServer,void 0,b.findSourceMapURL,"getAllAgentModels");a.s(["getAllAgentModels",()=>c],59702);let d=(0,b.createServerReference)("60ee7426b7978a7e6e95ac958c7ab9981f1e3080c4",b.callServer,void 0,b.findSourceMapURL,"updateAgentAndModel");a.s(["updateAgentAndModel",()=>d],53451)},93908,a=>{"use strict";var b=a.i(25674);let c=(0,b.createServerReference)("40f6d91eca542d259e302cd2ade866b32d2e042ce6",b.callServer,void 0,b.findSourceMapURL,"addRepository");a.s(["addRepository",()=>c])},55628,a=>{"use strict";var b=a.i(96960),c=a.i(75006),d=a.i(40535),e=a.i(99850);function f(a){let[f,g]=(0,b.useState)(!1),[h,i]=(0,b.useState)(!1),[j,k]=(0,b.useState)(!1),[l,m]=(0,b.useState)(null),[n,o]=(0,b.useState)(null),[p,q]=(0,b.useState)(null),r=(0,b.useRef)(null),s=(0,b.useRef)(null),t=(0,b.useRef)(null);(0,b.useEffect)(()=>()=>{r.current&&clearTimeout(r.current),s.current&&clearTimeout(s.current),t.current&&clearTimeout(t.current)},[]);let u=(0,b.useCallback)(async(b,c,d,e,f)=>{if(a&&!f){e.current&&clearTimeout(e.current),c(!0),d(null);try{let a=await b();if(!a.success){let b=a.error??"An unexpected error occurred";d(b),e.current=setTimeout(()=>d(null),5e3)}}catch(a){d(a instanceof Error?a.message:"An unexpected error occurred"),e.current=setTimeout(()=>d(null),5e3)}finally{c(!1)}}},[a]);return{openInIde:(0,b.useCallback)(()=>u(()=>(0,c.openIde)({repositoryPath:a.repositoryPath}),g,m,r,f),[u,f,a]),openInShell:(0,b.useCallback)(()=>u(()=>(0,d.openShell)({repositoryPath:a.repositoryPath}),i,o,s,h),[u,h,a]),openFolder:(0,b.useCallback)(()=>u(()=>(0,e.openFolder)(a.repositoryPath),k,q,t,j),[u,j,a]),ideLoading:f,shellLoading:h,folderLoading:j,ideError:l,shellError:n,folderError:p}}a.s(["useRepositoryActions",()=>f])}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_04c9e229._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-down.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/minus.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/copy.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/circle.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/folder-open.ts","../../../../../../../src/presentation/web/app/actions/data%3A9cb091%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3A828d93%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3A0aef03%20%3Ctext/javascript%3E","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/code-xml.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/file-text.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/zap.ts","../../../../../../../node_modules/.pnpm/%40radix-ui%2Breact-use-previous%401.1.1_%40types%2Breact%4019.2.10_react%4019.2.4/node_modules/%40radix-ui/react-use-previous/src/use-previous.tsx","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-right.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/chevron-left.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/check.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/external-link.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/terminal.ts","../../../../../../../src/presentation/web/components/common/base-drawer/index.ts","../../../../../../../src/presentation/web/components/common/empty-state/empty-state.tsx","../../../../../../../src/presentation/web/app/actions/data%3A035278%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3A0d5ad0%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/app/actions/data%3A63c4f2%20%3Ctext/javascript%3E","../../../../../../../src/presentation/web/components/common/repository-node/use-repository-actions.ts"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm6 9 6 6 6-6', key: 'qrunsl' }]];\n\n/**\n * @component @name ChevronDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronDown = createLucideIcon('chevron-down', __iconNode);\n\nexport default ChevronDown;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M5 12h14', key: '1ays0h' }]];\n\n/**\n * @component @name Minus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/minus\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Minus = createLucideIcon('minus', __iconNode);\n\nexport default Minus;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['rect', { width: '14', height: '14', x: '8', y: '8', rx: '2', ry: '2', key: '17jyea' }],\n ['path', { d: 'M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2', key: 'zix9uf' }],\n];\n\n/**\n * @component @name Copy\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/copy\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Copy = createLucideIcon('copy', __iconNode);\n\nexport default Copy;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }]];\n\n/**\n * @component @name Circle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Circle = createLucideIcon('circle', __iconNode);\n\nexport default Circle;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'm6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2',\n key: 'usdka0',\n },\n ],\n];\n\n/**\n * @component @name FolderOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/folder-open\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst FolderOpen = createLucideIcon('folder-open', __iconNode);\n\nexport default FolderOpen;\n","/* __next_internal_action_entry_do_not_use__ [{\"4038d43586abaf7e0b5bf303fe4fe6e7459da69ac2\":\"openIde\"},\"src/presentation/web/app/actions/open-ide.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"4038d43586abaf7e0b5bf303fe4fe6e7459da69ac2\",callServer,void 0,findSourceMapURL,\"openIde\");export{$$RSC_SERVER_ACTION_0 as openIde};","/* __next_internal_action_entry_do_not_use__ [{\"40872b758e9297fecea8d93d33131edb9300dfd049\":\"openShell\"},\"src/presentation/web/app/actions/open-shell.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40872b758e9297fecea8d93d33131edb9300dfd049\",callServer,void 0,findSourceMapURL,\"openShell\");export{$$RSC_SERVER_ACTION_0 as openShell};","/* __next_internal_action_entry_do_not_use__ [{\"40336e2e7a0b247a3dda8995f533e38e8ab814ab71\":\"openFolder\"},\"src/presentation/web/app/actions/open-folder.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40336e2e7a0b247a3dda8995f533e38e8ab814ab71\",callServer,void 0,findSourceMapURL,\"openFolder\");export{$$RSC_SERVER_ACTION_0 as openFolder};","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'm18 16 4-4-4-4', key: '1inbqp' }],\n ['path', { d: 'm6 8-4 4 4 4', key: '15zrgr' }],\n ['path', { d: 'm14.5 4-5 16', key: 'e7oirm' }],\n];\n\n/**\n * @component @name CodeXml\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/code-xml\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CodeXml = createLucideIcon('code-xml', __iconNode);\n\nexport default CodeXml;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z',\n key: '1oefj6',\n },\n ],\n ['path', { d: 'M14 2v5a1 1 0 0 0 1 1h5', key: 'wfsgrz' }],\n ['path', { d: 'M10 9H8', key: 'b1mrlr' }],\n ['path', { d: 'M16 13H8', key: 't4e002' }],\n ['path', { d: 'M16 17H8', key: 'z1uh3a' }],\n];\n\n/**\n * @component @name FileText\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/file-text\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst FileText = createLucideIcon('file-text', __iconNode);\n\nexport default FileText;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z',\n key: '1xq2db',\n },\n ],\n];\n\n/**\n * @component @name Zap\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/zap\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Zap = createLucideIcon('zap', __iconNode);\n\nexport default Zap;\n","import * as React from 'react';\n\nfunction usePrevious<T>(value: T) {\n const ref = React.useRef({ value, previous: value });\n\n // We compare values before making an update to ensure that\n // a change has been made. This ensures the previous value is\n // persisted correctly between renders.\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\n\nexport { usePrevious };\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm9 18 6-6-6-6', key: 'mthhwq' }]];\n\n/**\n * @component @name ChevronRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-right\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronRight = createLucideIcon('chevron-right', __iconNode);\n\nexport default ChevronRight;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'm15 18-6-6 6-6', key: '1wnfg3' }]];\n\n/**\n * @component @name ChevronLeft\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/chevron-left\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronLeft = createLucideIcon('chevron-left', __iconNode);\n\nexport default ChevronLeft;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [['path', { d: 'M20 6 9 17l-5-5', key: '1gmf2c' }]];\n\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Check = createLucideIcon('check', __iconNode);\n\nexport default Check;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M15 3h6v6', key: '1q9fwt' }],\n ['path', { d: 'M10 14 21 3', key: 'gplh6r' }],\n ['path', { d: 'M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6', key: 'a6xqqp' }],\n];\n\n/**\n * @component @name ExternalLink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/external-link\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ExternalLink = createLucideIcon('external-link', __iconNode);\n\nexport default ExternalLink;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M12 19h8', key: 'baeox8' }],\n ['path', { d: 'm4 17 6-6-6-6', key: '1yngyt' }],\n];\n\n/**\n * @component @name Terminal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/terminal\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Terminal = createLucideIcon('terminal', __iconNode);\n\nexport default Terminal;\n","export { BaseDrawer, type BaseDrawerProps } from './base-drawer';\n","import type { ReactNode, HTMLAttributes } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport interface EmptyStateProps extends HTMLAttributes<HTMLDivElement> {\n icon?: ReactNode;\n title: string;\n description?: string;\n action?: ReactNode;\n}\n\nexport function EmptyState({\n icon,\n title,\n description,\n action,\n className,\n ...props\n}: EmptyStateProps) {\n return (\n <div\n className={cn('flex flex-col items-center gap-4 px-4 py-12 text-center', className)}\n {...props}\n >\n {icon ? <div className=\"text-muted-foreground\">{icon}</div> : null}\n <h3 className=\"text-lg font-semibold\">{title}</h3>\n {description ? <p className=\"text-muted-foreground max-w-md text-sm\">{description}</p> : null}\n {action ? <div className=\"mt-2\">{action}</div> : null}\n </div>\n );\n}\n","/* __next_internal_action_entry_do_not_use__ [{\"005ad99dcf32c3c77d03350cf058fa13cabd86b584\":\"getAllAgentModels\"},\"src/presentation/web/app/actions/get-all-agent-models.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"005ad99dcf32c3c77d03350cf058fa13cabd86b584\",callServer,void 0,findSourceMapURL,\"getAllAgentModels\");export{$$RSC_SERVER_ACTION_0 as getAllAgentModels};","/* __next_internal_action_entry_do_not_use__ [{\"60ee7426b7978a7e6e95ac958c7ab9981f1e3080c4\":\"updateAgentAndModel\"},\"src/presentation/web/app/actions/update-agent-and-model.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"60ee7426b7978a7e6e95ac958c7ab9981f1e3080c4\",callServer,void 0,findSourceMapURL,\"updateAgentAndModel\");export{$$RSC_SERVER_ACTION_0 as updateAgentAndModel};","/* __next_internal_action_entry_do_not_use__ [{\"40f6d91eca542d259e302cd2ade866b32d2e042ce6\":\"addRepository\"},\"src/presentation/web/app/actions/add-repository.ts\",\"\"] */\"use turbopack no side effects\";import{createServerReference,callServer,findSourceMapURL}from\"private-next-rsc-action-client-wrapper\";const $$RSC_SERVER_ACTION_0=/*#__PURE__*/createServerReference(\"40f6d91eca542d259e302cd2ade866b32d2e042ce6\",callServer,void 0,findSourceMapURL,\"addRepository\");export{$$RSC_SERVER_ACTION_0 as addRepository};","'use client';\n\nimport { useState, useCallback, useRef, useEffect } from 'react';\nimport { openIde } from '@/app/actions/open-ide';\nimport { openShell } from '@/app/actions/open-shell';\nimport { openFolder } from '@/app/actions/open-folder';\n\nexport interface RepositoryActionsInput {\n repositoryPath: string;\n}\n\nexport interface RepositoryActionsState {\n openInIde: () => Promise<void>;\n openInShell: () => Promise<void>;\n openFolder: () => Promise<void>;\n ideLoading: boolean;\n shellLoading: boolean;\n folderLoading: boolean;\n ideError: string | null;\n shellError: string | null;\n folderError: string | null;\n}\n\nconst ERROR_CLEAR_DELAY = 5000;\n\nexport function useRepositoryActions(input: RepositoryActionsInput | null): RepositoryActionsState {\n const [ideLoading, setIdeLoading] = useState(false);\n const [shellLoading, setShellLoading] = useState(false);\n const [folderLoading, setFolderLoading] = useState(false);\n const [ideError, setIdeError] = useState<string | null>(null);\n const [shellError, setShellError] = useState<string | null>(null);\n const [folderError, setFolderError] = useState<string | null>(null);\n\n const ideTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const shellTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const folderTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Clear timers on unmount\n useEffect(() => {\n const ideRef = ideTimerRef;\n const shellRef = shellTimerRef;\n const folderRef = folderTimerRef;\n return () => {\n if (ideRef.current) clearTimeout(ideRef.current);\n if (shellRef.current) clearTimeout(shellRef.current);\n if (folderRef.current) clearTimeout(folderRef.current);\n };\n }, []);\n\n const performAction = useCallback(\n async (\n action: () => Promise<{ success: boolean; error?: string }>,\n setLoading: (v: boolean) => void,\n setError: (v: string | null) => void,\n timerRef: React.RefObject<ReturnType<typeof setTimeout> | null>,\n isLoading: boolean\n ) => {\n if (!input || isLoading) return;\n\n if (timerRef.current) clearTimeout(timerRef.current);\n\n setLoading(true);\n setError(null);\n\n try {\n const result = await action();\n\n if (!result.success) {\n const errorMessage = result.error ?? 'An unexpected error occurred';\n setError(errorMessage);\n timerRef.current = setTimeout(() => setError(null), ERROR_CLEAR_DELAY);\n }\n } catch (err: unknown) {\n const errorMessage = err instanceof Error ? err.message : 'An unexpected error occurred';\n setError(errorMessage);\n timerRef.current = setTimeout(() => setError(null), ERROR_CLEAR_DELAY);\n } finally {\n setLoading(false);\n }\n },\n [input]\n );\n\n const handleOpenIde = useCallback(\n () =>\n performAction(\n () => openIde({ repositoryPath: input!.repositoryPath }),\n setIdeLoading,\n setIdeError,\n ideTimerRef,\n ideLoading\n ),\n [performAction, ideLoading, input]\n );\n\n const handleOpenShell = useCallback(\n () =>\n performAction(\n () => openShell({ repositoryPath: input!.repositoryPath }),\n setShellLoading,\n setShellError,\n shellTimerRef,\n shellLoading\n ),\n [performAction, shellLoading, input]\n );\n\n const handleOpenFolder = useCallback(\n () =>\n performAction(\n () => openFolder(input!.repositoryPath),\n setFolderLoading,\n setFolderError,\n folderTimerRef,\n folderLoading\n ),\n [performAction, folderLoading, input]\n );\n\n return {\n openInIde: handleOpenIde,\n openInShell: handleOpenShell,\n openFolder: handleOpenFolder,\n ideLoading,\n shellLoading,\n folderLoading,\n ideError,\n shellError,\n folderError,\n };\n}\n"],"names":[],"mappings":"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","ignoreList":[0,1,2,3,4,8,10,12,13,14,15,16]}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[71238,a=>{"use strict";let b=(0,a.i(25700).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",()=>b],71238)},63698,a=>{"use strict";let b=(0,a.i(25700).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);a.s(["Terminal",()=>b],63698)},78454,a=>{"use strict";a.i(24255),a.s([])},3195,a=>{"use strict";let b=(0,a.i(25700).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);a.s(["FolderOpen",()=>b],3195)},38702,16223,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({icon:a,title:d,description:e,action:f,className:g,...h}){return(0,b.jsxs)("div",{className:(0,c.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",g),...h,children:[a?(0,b.jsx)("div",{className:"text-muted-foreground",children:a}):null,(0,b.jsx)("h3",{className:"text-lg font-semibold",children:d}),e?(0,b.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:e}):null,f?(0,b.jsx)("div",{className:"mt-2",children:f}):null]})}a.s(["EmptyState",()=>d],16223),a.s([],38702)},84117,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(85536);let e=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("bg-card text-card-foreground rounded-xl border shadow",a),...c}));e.displayName="Card";let f=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("flex flex-col space-y-1.5 p-6",a),...c}));f.displayName="CardHeader";let g=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("leading-none font-semibold tracking-tight",a),...c}));g.displayName="CardTitle";let h=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("text-muted-foreground text-sm",a),...c}));h.displayName="CardDescription";let i=c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("p-6 pt-0",a),...c}));i.displayName="CardContent",c.forwardRef(({className:a,...c},e)=>(0,b.jsx)("div",{ref:e,className:(0,d.cn)("flex items-center p-6 pt-0",a),...c})).displayName="CardFooter",a.s(["Card",()=>e,"CardContent",()=>i,"CardDescription",()=>h,"CardHeader",()=>f,"CardTitle",()=>g])},228,a=>{"use strict";var b=a.i(10973);a.i(78454);var c=a.i(24255),d=a.i(2824),e=a.i(58339),f=a.i(13126),g=a.i(3195);function h({skill:a,onClose:h}){return(0,b.jsx)(c.BaseDrawer,{open:null!==a,onClose:h,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:a?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(d.DrawerTitle,{children:a.displayName}),(0,b.jsx)(d.DrawerDescription,{children:a.name})]}):void 0,children:a?(0,b.jsxs)("div",{className:"px-4 pb-4",children:[(0,b.jsx)("p",{className:"text-muted-foreground text-sm",children:a.description}),(0,b.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(e.Badge,{variant:"project"===a.source?"secondary":"outline",children:"project"===a.source?"Project":"Global"}),(0,b.jsx)(e.Badge,{variant:"outline",children:a.category}),a.context?(0,b.jsx)(e.Badge,{variant:"outline",children:a.context}):null]}),a.allowedTools?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.Separator,{className:"my-4"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,b.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:a.allowedTools})]})]}):null,a.resources.length>0?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.Separator,{className:"my-4"}),(0,b.jsxs)("div",{children:[(0,b.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,b.jsx)("ul",{className:"mt-2 space-y-1.5",children:a.resources.map(a=>(0,b.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,b.jsx)(g.FolderOpen,{className:"size-3.5 shrink-0"}),(0,b.jsxs)("span",{children:[a.name,"/ — ",a.fileCount," ",1===a.fileCount?"file":"files"]})]},a.name))})]})]}):null,a.body?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.Separator,{className:"my-4"}),(0,b.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:a.body})]}):null]}):null})}a.s(["SkillDetailDrawer",()=>h])},74468,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(31378),e=a.i(67424),f=a.i(90920),g=a.i(18948),h=a.i(85536);function i({title:a,description:c,children:d,className:e}){return(0,b.jsxs)("header",{className:(0,h.cn)("flex items-center justify-between gap-4",e),children:[(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:a}),c?(0,b.jsx)("p",{className:"text-muted-foreground",children:c}):null]}),d?(0,b.jsx)("div",{"data-slot":"actions",children:d}):null]})}a.i(38702);var j=a.i(16223),k=a.i(84117),l=a.i(58339),m=a.i(3195);function n({skill:a,onSelect:c}){return(0,b.jsxs)(k.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>c(a),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&(b.preventDefault(),c(a))},"data-testid":`skill-card-${a.name}`,children:[(0,b.jsxs)(k.CardHeader,{className:"pb-3",children:[(0,b.jsx)(k.CardTitle,{className:"text-base",children:a.displayName}),(0,b.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:a.name})]}),(0,b.jsxs)(k.CardContent,{className:"space-y-3",children:[(0,b.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:a.description}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,b.jsx)(l.Badge,{variant:"project"===a.source?"secondary":"outline",children:"project"===a.source?"Project":"Global"}),a.context?(0,b.jsx)(l.Badge,{variant:"outline",children:a.context}):null,a.allowedTools?(0,b.jsx)(l.Badge,{variant:"outline",children:"Tools"}):null,a.resources.length>0?(0,b.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,b.jsx)(m.FolderOpen,{className:"size-3"}),a.resources.length," ",1===a.resources.length?"resource":"resources"]}):null]})]})]})}let o=["Workflow","Code Generation","Analysis","Reference"];function p({skills:a,onSkillSelect:c}){let d=function(a){let b=new Map;for(let c of a){let a=b.get(c.category)??[];a.push(c),b.set(c.category,a)}return b}(a);return(0,b.jsx)("div",{className:"space-y-8",children:o.map(a=>{let e=d.get(a);return e&&0!==e.length?(0,b.jsxs)("section",{children:[(0,b.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[a," ",(0,b.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",e.length,")"]})]}),(0,b.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:e.map(a=>(0,b.jsx)(n,{skill:a,onSelect:c},a.name))})]},a):null})})}let q=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function r({activeCategory:a,onCategoryChange:c,counts:d}){return(0,b.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:q.map(({label:e,value:f})=>(0,b.jsxs)(g.Button,{variant:a===f?"default":"outline",size:"sm",onClick:()=>c(f),children:[e,d&&f?(0,b.jsxs)("span",{className:"ml-1 text-xs opacity-70",children:["(",d[f],")"]}):null]},e))})}var s=a.i(228);function t({skills:a}){let[h,k]=(0,c.useState)(""),[l,m]=(0,c.useState)(null),[n,o]=(0,c.useState)(null),q=(0,c.useMemo)(()=>(function(a){let b={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let c of a)b[c.category]++;return b})(a),[a]),t=(0,c.useMemo)(()=>{let b=h.toLowerCase();return a.filter(a=>{if(l&&a.category!==l)return!1;if(b){let c=a.name.toLowerCase().includes(b),d=a.description.toLowerCase().includes(b);if(!c&&!d)return!1}return!0})},[a,h,l]);return 0===a.length?(0,b.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,b.jsx)(i,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,b.jsx)(j.EmptyState,{icon:(0,b.jsx)(e.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,b.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,b.jsx)(i,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(d.Search,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,b.jsx)(f.Input,{placeholder:"Search skills...",value:h,onChange:a=>k(a.target.value),className:"pl-9"})]}),(0,b.jsx)(r,{activeCategory:l,onCategoryChange:m,counts:q}),t.length>0?(0,b.jsx)(p,{skills:t,onSkillSelect:o}):(0,b.jsx)(j.EmptyState,{icon:(0,b.jsx)(d.Search,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,b.jsx)(g.Button,{variant:"outline",onClick:()=>{k(""),m(null)},children:"Clear filters"})}),(0,b.jsx)(s.SkillDetailDrawer,{skill:n,onClose:()=>o(null)})]})}a.s(["SkillsPageClient",()=>t],74468)}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=_67104d9e._.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/external-link.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/terminal.ts","../../../../../../../src/presentation/web/components/common/base-drawer/index.ts","../../../../../../../node_modules/.pnpm/lucide-react%400.563.0_react%4019.2.4/node_modules/lucide-react/src/icons/folder-open.ts","../../../../../../../src/presentation/web/components/common/empty-state/empty-state.tsx","../../../../../../../src/presentation/web/components/ui/card.tsx","../../../../../../../src/presentation/web/components/features/skills/skill-detail-drawer.tsx","../../../../../../../src/presentation/web/components/features/skills/skills-page-client.tsx","../../../../../../../src/presentation/web/components/common/page-header/page-header.tsx","../../../../../../../src/presentation/web/components/features/skills/skill-card.tsx","../../../../../../../src/presentation/web/components/features/skills/skill-list.tsx","../../../../../../../src/presentation/web/components/features/skills/category-filter.tsx"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M15 3h6v6', key: '1q9fwt' }],\n ['path', { d: 'M10 14 21 3', key: 'gplh6r' }],\n ['path', { d: 'M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6', key: 'a6xqqp' }],\n];\n\n/**\n * @component @name ExternalLink\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/external-link\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ExternalLink = createLucideIcon('external-link', __iconNode);\n\nexport default ExternalLink;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M12 19h8', key: 'baeox8' }],\n ['path', { d: 'm4 17 6-6-6-6', key: '1yngyt' }],\n];\n\n/**\n * @component @name Terminal\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/terminal\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Terminal = createLucideIcon('terminal', __iconNode);\n\nexport default Terminal;\n","export { BaseDrawer, type BaseDrawerProps } from './base-drawer';\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n [\n 'path',\n {\n d: 'm6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2',\n key: 'usdka0',\n },\n ],\n];\n\n/**\n * @component @name FolderOpen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/folder-open\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst FolderOpen = createLucideIcon('folder-open', __iconNode);\n\nexport default FolderOpen;\n","import type { ReactNode, HTMLAttributes } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport interface EmptyStateProps extends HTMLAttributes<HTMLDivElement> {\n icon?: ReactNode;\n title: string;\n description?: string;\n action?: ReactNode;\n}\n\nexport function EmptyState({\n icon,\n title,\n description,\n action,\n className,\n ...props\n}: EmptyStateProps) {\n return (\n <div\n className={cn('flex flex-col items-center gap-4 px-4 py-12 text-center', className)}\n {...props}\n >\n {icon ? <div className=\"text-muted-foreground\">{icon}</div> : null}\n <h3 className=\"text-lg font-semibold\">{title}</h3>\n {description ? <p className=\"text-muted-foreground max-w-md text-sm\">{description}</p> : null}\n {action ? <div className=\"mt-2\">{action}</div> : null}\n </div>\n );\n}\n","import * as React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('bg-card text-card-foreground rounded-xl border shadow', className)}\n {...props}\n />\n )\n);\nCard.displayName = 'Card';\n\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex flex-col space-y-1.5 p-6', className)} {...props} />\n )\n);\nCardHeader.displayName = 'CardHeader';\n\nconst CardTitle = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('leading-none font-semibold tracking-tight', className)}\n {...props}\n />\n )\n);\nCardTitle.displayName = 'CardTitle';\n\nconst CardDescription = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('text-muted-foreground text-sm', className)} {...props} />\n )\n);\nCardDescription.displayName = 'CardDescription';\n\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('p-6 pt-0', className)} {...props} />\n )\n);\nCardContent.displayName = 'CardContent';\n\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex items-center p-6 pt-0', className)} {...props} />\n )\n);\nCardFooter.displayName = 'CardFooter';\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };\n","'use client';\n\nimport { BaseDrawer } from '@/components/common/base-drawer';\nimport { DrawerTitle, DrawerDescription } from '@/components/ui/drawer';\nimport { Badge } from '@/components/ui/badge';\nimport { Separator } from '@/components/ui/separator';\nimport { FolderOpen } from 'lucide-react';\nimport type { SkillData } from '@/lib/skills';\n\nexport interface SkillDetailDrawerProps {\n skill: SkillData | null;\n onClose: () => void;\n}\n\nexport function SkillDetailDrawer({ skill, onClose }: SkillDetailDrawerProps) {\n return (\n <BaseDrawer\n open={skill !== null}\n onClose={onClose}\n size=\"sm\"\n modal\n data-testid=\"skill-detail-drawer\"\n header={\n skill ? (\n <>\n <DrawerTitle>{skill.displayName}</DrawerTitle>\n <DrawerDescription>{skill.name}</DrawerDescription>\n </>\n ) : undefined\n }\n >\n {skill ? (\n <div className=\"px-4 pb-4\">\n {/* Description */}\n <p className=\"text-muted-foreground text-sm\">{skill.description}</p>\n\n {/* Badges */}\n <div className=\"mt-4 flex flex-wrap items-center gap-1.5\">\n <Badge variant={skill.source === 'project' ? 'secondary' : 'outline'}>\n {skill.source === 'project' ? 'Project' : 'Global'}\n </Badge>\n <Badge variant=\"outline\">{skill.category}</Badge>\n {skill.context ? <Badge variant=\"outline\">{skill.context}</Badge> : null}\n </div>\n\n {/* Allowed Tools */}\n {skill.allowedTools ? (\n <>\n <Separator className=\"my-4\" />\n <div>\n <h3 className=\"text-sm font-semibold\">Allowed Tools</h3>\n <p className=\"text-muted-foreground mt-1 text-sm\">{skill.allowedTools}</p>\n </div>\n </>\n ) : null}\n\n {/* Resources */}\n {skill.resources.length > 0 ? (\n <>\n <Separator className=\"my-4\" />\n <div>\n <h3 className=\"text-sm font-semibold\">Resources</h3>\n <ul className=\"mt-2 space-y-1.5\">\n {skill.resources.map((resource) => (\n <li\n key={resource.name}\n className=\"text-muted-foreground flex items-center gap-2 text-sm\"\n >\n <FolderOpen className=\"size-3.5 shrink-0\" />\n <span>\n {resource.name}/ — {resource.fileCount}{' '}\n {resource.fileCount === 1 ? 'file' : 'files'}\n </span>\n </li>\n ))}\n </ul>\n </div>\n </>\n ) : null}\n\n {/* Body */}\n {skill.body ? (\n <>\n <Separator className=\"my-4\" />\n <pre className=\"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap\">\n {skill.body}\n </pre>\n </>\n ) : null}\n </div>\n ) : null}\n </BaseDrawer>\n );\n}\n","'use client';\n\nimport { useState, useMemo } from 'react';\nimport { Search, Puzzle } from 'lucide-react';\nimport { Input } from '@/components/ui/input';\nimport { Button } from '@/components/ui/button';\nimport { PageHeader } from '@/components/common/page-header';\nimport { EmptyState } from '@/components/common/empty-state';\nimport { SkillList } from './skill-list';\nimport { CategoryFilter } from './category-filter';\nimport { SkillDetailDrawer } from './skill-detail-drawer';\nimport type { SkillCategory, SkillData } from '@/lib/skills';\n\nexport interface SkillsPageClientProps {\n skills: SkillData[];\n}\n\nfunction computeCategoryCounts(skills: SkillData[]): Record<SkillCategory, number> {\n const counts: Record<SkillCategory, number> = {\n Workflow: 0,\n 'Code Generation': 0,\n Analysis: 0,\n Reference: 0,\n };\n for (const skill of skills) {\n counts[skill.category]++;\n }\n return counts;\n}\n\nexport function SkillsPageClient({ skills }: SkillsPageClientProps) {\n const [searchQuery, setSearchQuery] = useState('');\n const [activeCategory, setActiveCategory] = useState<SkillCategory | null>(null);\n const [selectedSkill, setSelectedSkill] = useState<SkillData | null>(null);\n\n const categoryCounts = useMemo(() => computeCategoryCounts(skills), [skills]);\n\n const filteredSkills = useMemo(() => {\n const query = searchQuery.toLowerCase();\n return skills.filter((skill) => {\n if (activeCategory && skill.category !== activeCategory) return false;\n if (query) {\n const matchesName = skill.name.toLowerCase().includes(query);\n const matchesDescription = skill.description.toLowerCase().includes(query);\n if (!matchesName && !matchesDescription) return false;\n }\n return true;\n });\n }, [skills, searchQuery, activeCategory]);\n\n const clearFilters = () => {\n setSearchQuery('');\n setActiveCategory(null);\n };\n\n // No skills installed at all\n if (skills.length === 0) {\n return (\n <div className=\"flex flex-col gap-6 p-6\">\n <PageHeader title=\"Skills\" description=\"Claude Code skills installed in this project\" />\n <EmptyState\n icon={<Puzzle className=\"size-10\" />}\n title=\"No skills found\"\n description=\"No Claude Code skills are installed. Add skills to .claude/skills/ to get started.\"\n />\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-6 p-6\">\n <PageHeader title=\"Skills\" description=\"Claude Code skills installed in this project\" />\n\n {/* Search */}\n <div className=\"relative\">\n <Search className=\"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2\" />\n <Input\n placeholder=\"Search skills...\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n className=\"pl-9\"\n />\n </div>\n\n {/* Category Filter */}\n <CategoryFilter\n activeCategory={activeCategory}\n onCategoryChange={setActiveCategory}\n counts={categoryCounts}\n />\n\n {/* Skill List or Empty Filter State */}\n {filteredSkills.length > 0 ? (\n <SkillList skills={filteredSkills} onSkillSelect={setSelectedSkill} />\n ) : (\n <EmptyState\n icon={<Search className=\"size-10\" />}\n title=\"No matching skills\"\n description=\"No skills match your current search and filter criteria.\"\n action={\n <Button variant=\"outline\" onClick={clearFilters}>\n Clear filters\n </Button>\n }\n />\n )}\n\n {/* Skill Detail Drawer */}\n <SkillDetailDrawer skill={selectedSkill} onClose={() => setSelectedSkill(null)} />\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport interface PageHeaderProps {\n title: string;\n description?: string;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function PageHeader({ title, description, children, className }: PageHeaderProps) {\n return (\n <header className={cn('flex items-center justify-between gap-4', className)}>\n <div className=\"space-y-1\">\n <h1 className=\"text-2xl font-bold tracking-tight\">{title}</h1>\n {description ? <p className=\"text-muted-foreground\">{description}</p> : null}\n </div>\n {children ? <div data-slot=\"actions\">{children}</div> : null}\n </header>\n );\n}\n","import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';\nimport { Badge } from '@/components/ui/badge';\nimport type { SkillData } from '@/lib/skills';\nimport { FolderOpen } from 'lucide-react';\n\nexport interface SkillCardProps {\n skill: SkillData;\n onSelect: (skill: SkillData) => void;\n}\n\nexport function SkillCard({ skill, onSelect }: SkillCardProps) {\n return (\n <Card\n className=\"hover:border-primary/50 cursor-pointer transition-colors\"\n role=\"button\"\n tabIndex={0}\n onClick={() => onSelect(skill)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onSelect(skill);\n }\n }}\n data-testid={`skill-card-${skill.name}`}\n >\n <CardHeader className=\"pb-3\">\n <CardTitle className=\"text-base\">{skill.displayName}</CardTitle>\n <p className=\"text-muted-foreground font-mono text-xs\">{skill.name}</p>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n <p className=\"text-muted-foreground line-clamp-2 text-sm\">{skill.description}</p>\n <div className=\"flex flex-wrap items-center gap-1.5\">\n <Badge variant={skill.source === 'project' ? 'secondary' : 'outline'}>\n {skill.source === 'project' ? 'Project' : 'Global'}\n </Badge>\n {skill.context ? <Badge variant=\"outline\">{skill.context}</Badge> : null}\n {skill.allowedTools ? <Badge variant=\"outline\">Tools</Badge> : null}\n {skill.resources.length > 0 ? (\n <span className=\"text-muted-foreground inline-flex items-center gap-1 text-xs\">\n <FolderOpen className=\"size-3\" />\n {skill.resources.length} {skill.resources.length === 1 ? 'resource' : 'resources'}\n </span>\n ) : null}\n </div>\n </CardContent>\n </Card>\n );\n}\n","import { SkillCard } from './skill-card';\nimport type { SkillCategory, SkillData } from '@/lib/skills';\n\nconst CATEGORY_ORDER: SkillCategory[] = ['Workflow', 'Code Generation', 'Analysis', 'Reference'];\n\nexport interface SkillListProps {\n skills: SkillData[];\n onSkillSelect: (skill: SkillData) => void;\n}\n\nfunction groupByCategory(skills: SkillData[]): Map<SkillCategory, SkillData[]> {\n const groups = new Map<SkillCategory, SkillData[]>();\n for (const skill of skills) {\n const group = groups.get(skill.category) ?? [];\n group.push(skill);\n groups.set(skill.category, group);\n }\n return groups;\n}\n\nexport function SkillList({ skills, onSkillSelect }: SkillListProps) {\n const groups = groupByCategory(skills);\n\n return (\n <div className=\"space-y-8\">\n {CATEGORY_ORDER.map((category) => {\n const categorySkills = groups.get(category);\n if (!categorySkills || categorySkills.length === 0) return null;\n\n return (\n <section key={category}>\n <h2 className=\"mb-4 text-lg font-semibold\">\n {category}{' '}\n <span className=\"text-muted-foreground text-sm font-normal\">\n ({categorySkills.length})\n </span>\n </h2>\n <div className=\"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3\">\n {categorySkills.map((skill) => (\n <SkillCard key={skill.name} skill={skill} onSelect={onSkillSelect} />\n ))}\n </div>\n </section>\n );\n })}\n </div>\n );\n}\n","import { Button } from '@/components/ui/button';\nimport type { SkillCategory } from '@/lib/skills';\n\nconst CATEGORIES: { label: string; value: SkillCategory | null }[] = [\n { label: 'All', value: null },\n { label: 'Workflow', value: 'Workflow' },\n { label: 'Code Generation', value: 'Code Generation' },\n { label: 'Analysis', value: 'Analysis' },\n { label: 'Reference', value: 'Reference' },\n];\n\nexport interface CategoryFilterProps {\n activeCategory: SkillCategory | null;\n onCategoryChange: (category: SkillCategory | null) => void;\n counts?: Record<SkillCategory, number>;\n}\n\nexport function CategoryFilter({ activeCategory, onCategoryChange, counts }: CategoryFilterProps) {\n return (\n <div className=\"flex flex-wrap gap-2\" role=\"group\" aria-label=\"Filter by category\">\n {CATEGORIES.map(({ label, value }) => (\n <Button\n key={label}\n variant={activeCategory === value ? 'default' : 'outline'}\n size=\"sm\"\n onClick={() => onCategoryChange(value)}\n >\n {label}\n {counts && value ? (\n <span className=\"ml-1 text-xs opacity-70\">({counts[value]})</span>\n ) : null}\n </Button>\n ))}\n </div>\n );\n}\n"],"names":[],"mappings":"uCAoBA,CAAA,CAAA,CAAA,CAAA,AAAM,CAAN,CAAM,CAAA,EAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAf,AAAe,CAAf,AAAe,CAAf,AAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAjBF,CAiBmB,AAhBrD,CAgBqD,AAhBpD,CAgBoD,AAhBpD,CAAA,AAgBoD,CAAA,AAhBpD,CAAA,AAgBoD,CAAA,AAhBpD,CAAA,AAgBoD,CAhBpD,AAAQ,AAgB4C,CAhB5C,AAgB4C,AAhB1C,CAgBoD,CAAA,AAhBjD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,AAAb,CAAa,CAAA,CAAA,CAAA,AAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAC1C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,AAAQ,CAAA,AAAE,EAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,AAAe,CAAA,CAAA,CAAA,CAAA,AAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAC5C,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,AAAQ,CAAA,AAAE,EAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,AAA4D,CAAA,CAAA,CAAA,CAAA,AAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAC3F,4DCYA,CAAA,CAAA,CAAA,CAAA,AAAM,CAAN,CAAM,CAAA,EAAW,CAAA,CAAA,CAAX,AAAW,CAAX,AAAW,CAAX,AAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAhBE,CAClC,AAe4C,CAf3C,AAe2C,CAf3C,AAe2C,CAf3C,AAe2C,CAf3C,AAe2C,CAf3C,AAe2C,CAf3C,AAe2C,CAf3C,AAe2C,CAf3C,AAAQ,AAemC,CAfnC,AAAE,AAeiC,CAAU,CAAA,AAfxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,AAAY,CAAA,CAAA,CAAA,CAAA,AAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CACzC,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,AAAQ,CAAA,AAAE,EAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,AAAjB,CAAiB,CAAA,CAAA,CAAA,AAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,CAChD,wDCNA,EAAA,CAAA,CAAA,sCCwBA,CAAA,CAAA,CAAA,CAAA,AAAM,CAAN,CAAM,CAAA,EAAa,CAAA,CAAA,CAAA,CAAA,CAAA,AAAb,CAAA,AAAa,CAAA,AAAb,CAAa,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,EAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CArBA,CAqBe,AApBjD,CAoBiD,AAnB/C,CAAA,AAmB+C,CAnB/C,AAmB+C,CAnB/C,AAmB+C,CAnB/C,AAmB+C,CAnB/C,AAmB+C,CAnB/C,AAmB+C,CAlB/C,AAkB+C,CAjB7C,AAiB6C,CAjB7C,AAiBuD,CAAA,AAjBpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACH,GAAA,CAAK,AAAL,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EACP,CAEJ,gFCVA,EAAA,EAAA,CAAA,CAAA,OASO,SAAS,EAAW,MACzB,CAAI,OACJ,CAAK,aACL,CAAW,QACX,CAAM,WACN,CAAS,CACT,GAAG,EACa,EAChB,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CACC,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,0DAA2D,GACxE,GAAG,CAAK,WAER,EAAO,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,iCAAyB,IAAc,KAC9D,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAG,UAAU,iCAAyB,IACtC,EAAc,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,kDAA0C,IAAmB,KACxF,EAAS,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,gBAAQ,IAAgB,OAGvD,wFC7BA,EAAA,EAAA,CAAA,CAAA,OAEA,EAAA,EAAA,CAAA,CAAA,OAEA,IAAM,EAAO,EAAA,UAAgB,CAC3B,CAAC,CAAE,WAAS,CAAE,GAAG,EAAO,CAAE,IACxB,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CACC,IAAK,EACL,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,wDAAyD,GACtE,GAAG,CAAK,IAIf,EAAK,WAAW,CAAG,OAEnB,IAAM,EAAa,EAAA,UAAgB,CACjC,CAAC,WAAE,CAAS,CAAE,GAAG,EAAO,CAAE,IACxB,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,IAAK,EAAK,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,gCAAiC,GAAa,GAAG,CAAK,IAGvF,EAAW,WAAW,CAAG,aAEzB,IAAM,EAAY,EAAA,UAAgB,CAChC,CAAC,WAAE,CAAS,CAAE,GAAG,EAAO,CAAE,IACxB,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CACC,IAAK,EACL,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,4CAA6C,GAC1D,GAAG,CAAK,IAIf,EAAU,WAAW,CAAG,YAExB,IAAM,EAAkB,EAAA,UAAgB,CACtC,CAAC,WAAE,CAAS,CAAE,GAAG,EAAO,CAAE,IACxB,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,IAAK,EAAK,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,gCAAiC,GAAa,GAAG,CAAK,IAGvF,EAAgB,WAAW,CAAG,kBAE9B,IAAM,EAAc,EAAA,UAAgB,CAClC,CAAC,WAAE,CAAS,CAAE,GAAG,EAAO,CAAE,IACxB,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,IAAK,EAAK,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,WAAY,GAAa,GAAG,CAAK,IAGlE,EAAY,WAAW,CAAG,cAEP,AAKnB,EALmB,UAAgB,CACjC,CAAC,WAAE,CAAS,CAAE,GAAG,EAAO,CAAE,IACxB,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,IAAK,EAAK,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,6BAA8B,GAAa,GAAG,CAAK,IAGzE,WAAW,CAAG,yJClDzB,EAAA,CAAA,CAAA,OAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,MAQO,SAAS,EAAkB,OAAE,CAAK,SAAE,CAAO,CAA0B,EAC1E,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CACT,KAAgB,OAAV,EACN,QAAS,EACT,KAAK,KACL,KAAK,CAAA,CAAA,EACL,cAAY,sBACZ,OACE,EACE,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,WAAW,CAAA,UAAE,EAAM,WAAW,GAC/B,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,iBAAiB,CAAA,UAAE,EAAM,IAAI,WAE9B,WAGL,EACC,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBAEb,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,yCAAiC,EAAM,WAAW,GAG/D,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,qDACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,KAAK,CAAA,CAAC,QAA0B,YAAjB,EAAM,MAAM,CAAiB,YAAc,mBACvC,YAAjB,EAAM,MAAM,CAAiB,UAAY,WAE5C,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,KAAK,CAAA,CAAC,QAAQ,mBAAW,EAAM,QAAQ,GACvC,EAAM,OAAO,CAAG,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,KAAK,CAAA,CAAC,QAAQ,mBAAW,EAAM,OAAO,GAAY,QAIrE,EAAM,YAAY,CACjB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,SAAS,CAAA,CAAC,UAAU,SACrB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,WACC,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAG,UAAU,iCAAwB,kBACtC,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,8CAAsC,EAAM,YAAY,SAGvE,KAGH,EAAM,SAAS,CAAC,MAAM,CAAG,EACxB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,SAAS,CAAA,CAAC,UAAU,SACrB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,WACC,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAG,UAAU,iCAAwB,cACtC,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAG,UAAU,4BACX,EAAM,SAAS,CAAC,GAAG,CAAC,AAAC,GACpB,CAAA,EAAA,EAAA,IAAA,EAAC,KAAA,CAEC,UAAU,kEAEV,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CAAC,UAAU,sBACtB,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,WACE,EAAS,IAAI,CAAC,OAAK,EAAS,SAAS,CAAE,IAChB,IAAvB,EAAS,SAAS,CAAS,OAAS,aANlC,EAAS,IAAI,WAa1B,KAGH,EAAM,IAAI,CACT,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,QAAA,CAAA,WACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,SAAS,CAAA,CAAC,UAAU,SACrB,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,6EACZ,EAAM,IAAI,MAGb,QAEJ,MAGV,2EC3FA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAAA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OCLA,EAAA,EAAA,CAAA,CAAA,OASO,SAAS,EAAW,OAAE,CAAK,aAAE,CAAW,CAAE,UAAQ,WAAE,CAAS,CAAmB,EACrF,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,SAAA,CAAO,UAAW,CAAA,EAAA,EAAA,EAAA,AAAE,EAAC,0CAA2C,aAC/D,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAG,UAAU,6CAAqC,IAClD,EAAc,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,iCAAyB,IAAmB,QAEzE,EAAW,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,YAAU,mBAAW,IAAkB,OAG9D,CDZA,EAAA,CAAA,CAAA,OAAA,IAAA,EAAA,EAAA,CAAA,CAAA,OEPA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OAEA,EAAA,EAAA,CAAA,CAAA,MAOO,SAAS,EAAU,OAAE,CAAK,UAAE,CAAQ,CAAkB,EAC3D,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,IAAI,CAAA,CACH,UAAU,2DACV,KAAK,SACL,SAAU,EACV,QAAS,IAAM,EAAS,GACxB,UAAW,AAAC,KACI,UAAV,EAAE,GAAG,EAA0B,MAAV,EAAE,GAAG,AAAK,GAAK,CACtC,EAAE,cAAc,GAChB,EAAS,GAEb,EACA,cAAa,CAAC,WAAW,EAAE,EAAM,IAAI,CAAA,CAAE,WAEvC,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,UAAU,CAAA,CAAC,UAAU,iBACpB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,SAAS,CAAA,CAAC,UAAU,qBAAa,EAAM,WAAW,GACnD,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,mDAA2C,EAAM,IAAI,MAEpE,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,WAAW,CAAA,CAAC,UAAU,sBACrB,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,sDAA8C,EAAM,WAAW,GAC5E,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,gDACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,KAAK,CAAA,CAAC,QAA0B,YAAjB,EAAM,MAAM,CAAiB,YAAc,mBACvC,YAAjB,EAAM,MAAM,CAAiB,UAAY,WAE3C,EAAM,OAAO,CAAG,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,KAAK,CAAA,CAAC,QAAQ,mBAAW,EAAM,OAAO,GAAY,KACnE,EAAM,YAAY,CAAG,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,KAAK,CAAA,CAAC,QAAQ,mBAAU,UAAgB,KAC9D,EAAM,SAAS,CAAC,MAAM,CAAG,EACxB,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAK,UAAU,yEACd,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CAAC,UAAU,WACrB,EAAM,SAAS,CAAC,MAAM,CAAC,IAA6B,IAA3B,EAAM,SAAS,CAAC,MAAM,CAAS,WAAa,eAEtE,aAKd,CC5CA,IAAM,EAAkC,CAAC,WAAY,kBAAmB,WAAY,YAAY,CAiBzF,SAAS,EAAU,QAAE,CAAM,eAAE,CAAa,CAAkB,EACjE,IAAM,EAXR,AAWiB,SAXR,AAAgB,CAAmB,EAC1C,IAAM,EAAS,IAAI,IACnB,IAAK,IAAM,KAAS,EAAQ,CAC1B,IAAM,EAAQ,EAAO,GAAG,CAAC,EAAM,QAAQ,GAAK,EAAE,CAC9C,EAAM,IAAI,CAAC,GACX,EAAO,GAAG,CAAC,EAAM,QAAQ,CAAE,EAC7B,CACA,OAAO,CACT,EAGiC,GAE/B,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,qBACZ,EAAe,GAAG,CAAC,AAAC,IACnB,IAAM,EAAiB,EAAO,GAAG,CAAC,UAClC,AAAI,AAAC,GAA4C,GAAG,CAA7B,EAAe,MAAM,CAG1C,CAAA,EAAA,EAAA,IAAA,EAAC,UAAA,WACC,CAAA,EAAA,EAAA,IAAA,EAAC,KAAA,CAAG,UAAU,uCACX,EAAU,IACX,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAK,UAAU,sDAA4C,IACxD,EAAe,MAAM,CAAC,UAG5B,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,gEACZ,EAAe,GAAG,CAAC,AAAC,GACnB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAA2B,MAAO,EAAO,SAAU,GAApC,EAAM,IAAI,OATlB,GAH2C,IAiB7D,IAGN,CC5CA,IAAM,EAA+D,CACnE,CAAE,MAAO,MAAO,MAAO,IAAK,EAC5B,CAAE,MAAO,WAAY,MAAO,UAAW,EACvC,CAAE,MAAO,kBAAmB,MAAO,iBAAkB,EACrD,CAAE,MAAO,WAAY,MAAO,UAAW,EACvC,CAAE,MAAO,YAAa,MAAO,WAAY,EAC1C,CAQM,SAAS,EAAe,gBAAE,CAAc,kBAAE,CAAgB,QAAE,CAAM,CAAuB,EAC9F,MACE,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,uBAAuB,KAAK,QAAQ,aAAW,8BAC3D,EAAW,GAAG,CAAC,CAAC,OAAE,CAAK,OAAE,CAAK,CAAE,GAC/B,CAAA,EAAA,EAAA,IAAA,EAAC,EAAA,MAAM,CAAA,CAEL,QAAS,IAAmB,EAAQ,UAAY,UAChD,KAAK,KACL,QAAS,IAAM,EAAiB,aAE/B,EACA,GAAU,EACT,CAAA,EAAA,EAAA,IAAA,EAAC,OAAA,CAAK,UAAU,oCAA0B,IAAE,CAAM,CAAC,EAAM,CAAC,OACxD,OARC,KAaf,CJzBA,IAAA,EAAA,EAAA,CAAA,CAAA,KAoBO,SAAS,EAAiB,QAAE,CAAM,CAAyB,EAChE,GAAM,CAAC,EAAa,EAAe,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAC,IACzC,CAAC,EAAgB,EAAkB,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAuB,MACrE,CAAC,EAAe,EAAiB,CAAG,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAmB,MAE/D,EAAiB,CAAA,EAAA,EAAA,OAAA,AAAO,EAAC,IAAM,CAlBvC,SAAS,AAAsB,CAAmB,EAChD,IAAM,EAAwC,CAC5C,SAAU,EACV,kBAAmB,EACnB,SAAU,EACV,UAAW,CACb,EACA,IAAK,IAAM,KAAS,EAClB,CAAM,CAAC,EAAM,CADa,OACL,CAAC,GAExB,OAAO,EACT,EAO6D,GAAS,CAAC,EAAO,EAEtE,EAAiB,CAAA,EAAA,EAAA,OAAO,AAAP,EAAQ,KAC7B,IAAM,EAAQ,EAAY,WAAW,GACrC,OAAO,EAAO,MAAM,CAAC,AAAC,IACpB,GAAI,GAAkB,EAAM,QAAQ,GAAK,EAAgB,OAAO,EAChE,GAAI,EAAO,CACT,IAAM,EAAc,EAAM,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,GAChD,EAAqB,EAAM,WAAW,CAAC,WAAW,GAAG,QAAQ,CAAC,GACpE,GAAI,CAAC,GAAe,CAAC,EAAoB,OAAO,CAClD,CACA,OAAO,CACT,EACF,EAAG,CAAC,EAAQ,EAAa,EAAe,SAQxC,AAAsB,GAAG,CAArB,EAAO,MAAM,CAEb,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,oCACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAW,MAAM,SAAS,YAAY,iDACvC,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CACT,KAAM,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,MAAM,CAAA,CAAC,UAAU,YACxB,MAAM,kBACN,YAAY,0FAOlB,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,oCACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAW,MAAM,SAAS,YAAY,iDAGvC,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,qBACb,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,MAAM,CAAA,CAAC,UAAU,0EAClB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,KAAK,CAAA,CACJ,YAAY,mBACZ,MAAO,EACP,SAAU,AAAC,GAAM,EAAe,EAAE,MAAM,CAAC,KAAK,EAC9C,UAAU,YAKd,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CACC,eAAgB,EAChB,iBAAkB,EAClB,OAAQ,IAIT,EAAe,MAAM,CAAG,EACvB,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,CAAU,OAAQ,EAAgB,cAAe,IAElD,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,UAAU,CAAA,CACT,KAAM,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,MAAM,CAAA,CAAC,UAAU,YACxB,MAAM,qBACN,YAAY,2DACZ,OACE,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,MAAM,CAAA,CAAC,QAAQ,UAAU,QAlDf,CAkDwB,IAjD3C,EAAe,IACf,EAAkB,KACpB,WA+C2D,oBAQvD,CAAA,EAAA,EAAA,GAAA,EAAC,EAAA,iBAAiB,CAAA,CAAC,MAAO,EAAe,QAAS,IAAM,EAAiB,UAG/E","ignoreList":[0,1,3]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[50490,5698,a=>{"use strict";var b=a.i(25700);let c=(0,b.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",()=>c],50490);let d=(0,b.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",()=>d],5698)},69029,5623,45670,a=>{"use strict";var b=a.i(10973),c=a.i(88064),d=a.i(82697),e=a.i(85536),f=a.i(18948),g=a.i(19884);function h({label:a,onClick:h,loading:i,error:j,icon:k,iconOnly:l=!1,variant:m="outline",size:n="sm"}){let o=(0,g.useSoundAction)("click");return(0,b.jsxs)(f.Button,{variant:m,size:n,"aria-label":a,disabled:i,onClick:()=>{o.play(),h()},className:(0,e.cn)("gap-1.5",j&&"text-destructive hover:text-destructive",!j&&l&&"ghost"===m&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[i?(0,b.jsx)(c.Loader2,{className:"size-4 animate-spin"}):j?(0,b.jsx)(d.CircleAlert,{className:"size-4"}):(0,b.jsx)(k,{className:"size-4"}),l?null:a]})}a.s(["ActionButton",()=>h],5623),a.s([],69029);var i=a.i(96960),j=a.i(71335),k=a.i(2807);let l=j.Dialog.Root,m=j.Dialog.Trigger,n=j.Dialog.Portal,o=j.Dialog.Close,p=i.forwardRef(({className:a,onClick:c,...d},f)=>(0,b.jsx)(j.Dialog.Overlay,{ref:f,className:(0,e.cn)("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 fixed inset-0 z-50 bg-black/80 duration-150",a),onClick:a=>{a.stopPropagation(),c?.(a)},...d}));p.displayName=j.Dialog.Overlay.displayName;let q=i.forwardRef(({className:a,children:c,...d},f)=>(0,b.jsxs)(n,{children:[(0,b.jsx)(p,{}),(0,b.jsxs)(j.Dialog.Content,{ref:f,className:(0,e.cn)("bg-background data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-150 sm:rounded-lg",a),...d,children:[c,(0,b.jsxs)(j.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 cursor-pointer rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,b.jsx)(k.X,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));q.displayName=j.Dialog.Content.displayName;let r=({className:a,...c})=>(0,b.jsx)("div",{className:(0,e.cn)("flex flex-col space-y-1.5 text-center sm:text-left",a),...c});r.displayName="DialogHeader";let s=({className:a,...c})=>(0,b.jsx)("div",{className:(0,e.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",a),...c});s.displayName="DialogFooter";let t=i.forwardRef(({className:a,...c},d)=>(0,b.jsx)(j.Dialog.Title,{ref:d,className:(0,e.cn)("text-lg leading-none font-semibold tracking-tight",a),...c}));t.displayName=j.Dialog.Title.displayName;let u=i.forwardRef(({className:a,...c},d)=>(0,b.jsx)(j.Dialog.Description,{ref:d,className:(0,e.cn)("text-muted-foreground text-sm",a),...c}));u.displayName=j.Dialog.Description.displayName,a.s(["Dialog",()=>l,"DialogClose",()=>o,"DialogContent",()=>q,"DialogDescription",()=>u,"DialogFooter",()=>s,"DialogHeader",()=>r,"DialogTitle",()=>t,"DialogTrigger",()=>m],45670)},18662,a=>{"use strict";var b=a.i(96960),c=a.i(87139),d=a.i(25674);let e=(0,d.createServerReference)("4044c76b9ca04958a78b10631510e9d7c9e3b19e76",d.callServer,void 0,d.findSourceMapURL,"deployFeature"),f=(0,d.createServerReference)("40673a079decdba00b03f2c089b3a16875682aba42",d.callServer,void 0,d.findSourceMapURL,"deployRepository"),g=(0,d.createServerReference)("406e18920a49055311e0c44dcfdd3e21e287800a2e",d.callServer,void 0,d.findSourceMapURL,"stopDeployment"),h=(0,d.createServerReference)("40a60fc4bd693346c399464bf2db4f62871013853a",d.callServer,void 0,d.findSourceMapURL,"getDeploymentStatus"),i=(0,c.createLogger)("[useDeployAction]");function j(a){let[c,d]=(0,b.useState)(!1),[j,k]=(0,b.useState)(!1),[l,m]=(0,b.useState)(null),[n,o]=(0,b.useState)(null),[p,q]=(0,b.useState)(null),r=(0,b.useRef)(null),s=(0,b.useRef)(!0),t=(0,b.useRef)(n);(0,b.useEffect)(()=>{t.current=n},[n]),(0,b.useEffect)(()=>(s.current=!0,()=>{s.current=!1}),[]),(0,b.useEffect)(()=>{if(!a)return;let b=!1;return(async()=>{try{let c=await h(a.targetId);if(b||!s.current)return;c&&"Stopped"!==c.state&&(i.info(`mount recovery: "${a.targetId}" state=${c.state}, url=${c.url}`),o(c.state),q(c.url),v(a.targetId))}catch{i.debug(`mount recovery failed for "${a.targetId}" — ignoring`)}})(),()=>{b=!0}},[a?.targetId]),(0,b.useEffect)(()=>()=>{r.current&&clearInterval(r.current)},[]);let u=(0,b.useCallback)(()=>{r.current&&(i.debug("stopping polling"),clearInterval(r.current),r.current=null)},[]),v=(0,b.useCallback)(a=>{u(),i.debug(`starting polling for "${a}" every 3000ms`),r.current=setInterval(async()=>{let b;if(!s.current)return void u();try{b=await h(a)}catch(b){i.warn(`poll fetch failed for "${a}":`,b),s.current&&(o(null),q(null),u());return}s.current&&(b&&"Stopped"!==b.state?(b.state!==t.current&&i.info(`poll state changed: ${t.current} → ${b.state}, url=${b.url}`),o(b.state),q(b.url)):(i.info(`poll result: ${b?`state=${b.state}`:"null (deployment gone)"} — stopping poll`),o(null),q(null),u()))},3e3)},[u]);(0,b.useEffect)(()=>{if(!a||null!==n)return;let b=setInterval(async()=>{if(s.current)try{let b=await h(a.targetId);if(!s.current)return;b&&"Stopped"!==b.state&&(i.info(`idle poll: "${a.targetId}" state=${b.state}, url=${b.url}`),o(b.state),q(b.url),v(a.targetId))}catch{}},5e3);return()=>clearInterval(b)},[a,n,v]);let w=(0,b.useCallback)(async()=>{if(!a)return void i.warn("deploy() called but input is null — no-op");if(c)return void i.warn("deploy() called but already loading — no-op");i.info(`deploy() — targetType="${a.targetType}", targetId="${a.targetId}", repositoryPath="${a.repositoryPath}"`),d(!0),m(null);try{let b="feature"===a.targetType?await e(a.targetId):await f(a.repositoryPath);if(i.info("server action result:",b),!s.current)return void i.warn("component unmounted after deploy — discarding result");if(b.success)i.info(`deploy succeeded — initial state=${b.state}, starting polling`),o(b.state??null),q(null),v(a.targetId);else{let a=b.error??"An unexpected error occurred";i.warn(`deploy failed: ${a}`),m(a)}}catch(b){if(!s.current)return;let a=b instanceof Error?b.message:"An unexpected error occurred";i.error(`deploy threw exception: ${a}`,b),m(a)}finally{s.current&&d(!1)}},[a,c,v]),x=(0,b.useCallback)(async()=>{if(a&&!j){i.info(`stop() — targetId="${a.targetId}"`),k(!0);try{let b=await g(a.targetId);if(i.info("stop result:",b),!s.current)return;b.success&&(u(),o(null),q(null))}catch(a){i.warn("stop error (non-critical):",a)}finally{s.current&&k(!1)}}},[a,j,u]);return{deploy:w,stop:x,deployLoading:c,stopLoading:j,deployError:l,status:n,url:p}}a.s(["useDeployAction",()=>j],18662)},49235,85080,2824,a=>{"use strict";let b;var c=a.i(10973),d=a.i(96960),e=a.i(88064),f=a.i(71238),g=a.i(63698),h=a.i(46847),i=a.i(58339),j=a.i(45670),k=a.i(25674);let l=(0,k.createServerReference)("4069777802293ada165731bbded445396546f211f6",k.callServer,void 0,k.findSourceMapURL,"getDeploymentLogs");function m({open:a,onOpenChange:b,targetId:e}){let{logs:f,isConnected:g}=function(a){let[b,c]=(0,d.useState)([]),[e,f]=(0,d.useState)(!1),g=(0,d.useRef)(null),h=(0,d.useCallback)(()=>{g.current&&(g.current.close(),g.current=null),f(!1)},[]);return(0,d.useEffect)(()=>{if(!a){c([]),f(!1);return}l(a).then(a=>{a&&c(a)}).catch(()=>{});let b=new EventSource(`/api/deployment-logs?targetId=${a}`);return g.current=b,b.onopen=()=>{f(!0)},b.addEventListener("log",a=>{let b=JSON.parse(a.data);c(a=>[...a,b])}),b.onerror=()=>{f(!1)},()=>{b.close(),g.current=null}},[a,h]),{logs:b,isConnected:e}}(a?e:null);return(0,c.jsx)(n,{open:a,onOpenChange:b,logs:f,isConnected:g})}function n({open:a,onOpenChange:b,logs:e,isConnected:f}){let h=(0,d.useRef)(null),i=(0,d.useRef)(!0),k=(0,d.useCallback)(()=>{let a=h.current;a&&(i.current=a.scrollTop+a.clientHeight>=a.scrollHeight-50)},[]);return(0,d.useEffect)(()=>{i.current&&h.current&&(h.current.scrollTop=h.current.scrollHeight)},[e]),(0,c.jsx)(j.Dialog,{open:a,onOpenChange:b,children:(0,c.jsxs)(j.DialogContent,{className:"flex h-[calc(100vh-48px)] max-h-[calc(100vh-48px)] w-full max-w-[calc(100vw-48px)] flex-col gap-0 bg-zinc-950 p-0 text-zinc-100 sm:rounded-lg","aria-describedby":void 0,children:[(0,c.jsxs)(j.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,c.jsxs)("div",{className:"flex items-center gap-2",children:[(0,c.jsx)(g.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,c.jsx)(j.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,c.jsxs)("div",{className:"flex items-center gap-2 pr-8",children:[(0,c.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${f?"bg-green-500":"bg-zinc-500"}`}),(0,c.jsx)("span",{className:"text-xs text-zinc-400",children:f?"Connected":"Disconnected"})]})]}),(0,c.jsxs)("div",{ref:h,onScroll:k,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===e.length?(0,c.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):e.map(a=>(0,c.jsx)(o,{entry:a},`${a.timestamp}-${a.stream}-${a.line}`)),!f&&e.length>0&&(0,c.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function o({entry:a}){return(0,c.jsx)("div",{"data-stream":a.stream,className:"stderr"===a.stream?"text-red-400":"text-zinc-200",children:(0,c.jsx)("span",{className:"break-all whitespace-pre-wrap",children:a.line})})}function p({status:a,url:b,targetId:j}){let[k,l]=(0,d.useState)(!1),n=j&&(a===h.DeploymentState.Booting||a===h.DeploymentState.Ready);switch(a){case h.DeploymentState.Booting:return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(i.Badge,{className:"border-transparent bg-blue-50 text-blue-700 hover:bg-blue-50",children:[(0,c.jsx)(e.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}),"Starting...",n?(0,c.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-blue-100",onClick:a=>{a.stopPropagation(),l(!0)},children:(0,c.jsx)(g.Terminal,{className:"h-3 w-3"})}):null]}),n?(0,c.jsx)(m,{open:k,onOpenChange:l,targetId:j}):null]});case h.DeploymentState.Ready:return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(i.Badge,{className:"border-transparent bg-green-50 text-green-700 hover:bg-green-50",children:[(0,c.jsx)("span",{className:"mr-1 inline-block h-2 w-2 rounded-full bg-green-500"}),b?(0,c.jsxs)("a",{href:b,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 hover:underline",onClick:a=>a.stopPropagation(),children:[b,(0,c.jsx)(f.ExternalLink,{className:"h-3 w-3"})]}):"Ready",n?(0,c.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-green-100",onClick:a=>{a.stopPropagation(),l(!0)},children:(0,c.jsx)(g.Terminal,{className:"h-3 w-3"})}):null]}),n?(0,c.jsx)(m,{open:k,onOpenChange:l,targetId:j}):null]});default:return null}}a.s(["DeploymentStatusBadge",()=>p],85080),a.s([],49235);var q=a.i(10568),r=a.i(40093);let s=d.default.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),t=()=>{let a=d.default.useContext(s);if(!a)throw Error("useDrawerContext must be used within a Drawer.Root");return a};function u(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function v(){return w(/^iPhone/)||w(/^iPad/)||w(/^Mac/)&&navigator.maxTouchPoints>1}function w(a){}!function(a){if(!a||"u"<typeof document)return;let b=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css",b.appendChild(c),c.styleSheet?c.styleSheet.cssText=a:c.appendChild(document.createTextNode(a))}("[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(\n[data-state=closed]\n){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}");let x=d.useEffect;"u">typeof document&&window.visualViewport;let y=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),z=0;function A(...a){return d.useCallback(function(...a){return b=>a.forEach(a=>{"function"==typeof a?a(b):null!=a&&(a.current=b)})}(...a),a)}let B=new WeakMap;function C(a,b,c=!1){if(!a||!(a instanceof HTMLElement))return;let d={};Object.entries(b).forEach(([b,c])=>{b.startsWith("--")?a.style.setProperty(b,c):(d[b]=a.style[b],a.style[b]=c)}),c||B.set(a,d)}let D=a=>{switch(a){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return a}};function E(a,b){if(!a)return null;let c=window.getComputedStyle(a),d=c.transform||c.webkitTransform||c.mozTransform,e=d.match(/^matrix3d\((.+)\)$/);return e?parseFloat(e[1].split(", ")[D(b)?13:12]):(e=d.match(/^matrix\((.+)\)$/))?parseFloat(e[1].split(", ")[D(b)?5:4]):null}function F(a,b){if(!a)return()=>{};let c=a.style.cssText;return Object.assign(a.style,b),()=>{a.style.cssText=c}}let G=[.32,.72,0,1],H="vaul-dragging";function I(a){let b=d.default.useRef(a);return d.default.useEffect(()=>{b.current=a}),d.default.useMemo(()=>(...a)=>null==b.current?void 0:b.current.call(b,...a),[])}function J({prop:a,defaultProp:b,onChange:c=()=>{}}){let[e,f]=function({defaultProp:a,onChange:b}){let c=d.default.useState(a),[e]=c,f=d.default.useRef(e),g=I(b);return d.default.useEffect(()=>{f.current!==e&&(g(e),f.current=e)},[e,f,g]),c}({defaultProp:b,onChange:c}),g=void 0!==a,h=g?a:e,i=I(c);return[h,d.default.useCallback(b=>{if(g){let c="function"==typeof b?b(a):b;c!==a&&i(c)}else f(b)},[g,a,f,i])]}let K=()=>()=>{},L=null;function M({open:a,onOpenChange:c,children:e,onDrag:f,onRelease:g,snapPoints:h,shouldScaleBackground:i=!1,setBackgroundColorOnScale:j=!0,closeThreshold:k=.25,scrollLockTimeout:l=100,dismissible:m=!0,handleOnly:n=!1,fadeFromIndex:o=h&&h.length-1,activeSnapPoint:p,setActiveSnapPoint:q,fixed:t,modal:w=!0,onClose:A,nested:F,noBodyStyles:I=!1,direction:K="bottom",defaultOpen:M=!1,disablePreventScroll:N=!0,snapToSequentialPoint:O=!1,preventScrollRestoration:P=!1,repositionInputs:Q=!0,onAnimationEnd:R,container:S,autoFocus:T=!1}){var U,V;let[W=!1,X]=J({defaultProp:M,prop:a,onChange:a=>{null==c||c(a),a||F||aA(),setTimeout(()=>{null==R||R(a)},500),a||(document.body.style.pointerEvents="auto")}}),[Y,Z]=d.default.useState(!1),[$,_]=d.default.useState(!1),[aa,ab]=d.default.useState(!1),ac=d.default.useRef(null),ad=d.default.useRef(null),ae=d.default.useRef(null),af=d.default.useRef(null),ag=d.default.useRef(null),ah=d.default.useRef(!1),ai=d.default.useRef(null),aj=d.default.useRef(0),ak=d.default.useRef(!1),al=d.default.useRef(!M),am=d.default.useRef(0),an=d.default.useRef(null),ao=d.default.useRef((null==(U=an.current)?void 0:U.getBoundingClientRect().height)||0),ap=d.default.useRef((null==(V=an.current)?void 0:V.getBoundingClientRect().width)||0),aq=d.default.useRef(0),ar=d.default.useCallback(a=>{h&&a===aw.length-1&&(ad.current=new Date)},[]),{activeSnapPoint:as,activeSnapPointIndex:at,setActiveSnapPoint:au,onRelease:av,snapPointsOffset:aw,onDrag:ax,shouldFade:ay,getPercentageDragged:az}=function({activeSnapPointProp:a,setActiveSnapPointProp:b,snapPoints:c,drawerRef:e,overlayRef:f,fadeFromIndex:g,onSnapPointChange:h,direction:i="bottom",container:j,snapToSequentialPoint:k}){let[l,m]=J({prop:a,defaultProp:null==c?void 0:c[0],onChange:b}),[n,o]=d.default.useState(void 0);d.default.useEffect(()=>{function a(){o({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]);let p=d.default.useMemo(()=>l===(null==c?void 0:c[c.length-1])||null,[c,l]),q=d.default.useMemo(()=>{var a;return null!=(a=null==c?void 0:c.findIndex(a=>a===l))?a:null},[c,l]),r=c&&c.length>0&&(g||0===g)&&!Number.isNaN(g)&&c[g]===l||!c,s=d.default.useMemo(()=>{var a;let b=j?{width:j.getBoundingClientRect().width,height:j.getBoundingClientRect().height}:{width:0,height:0};return null!=(a=null==c?void 0:c.map(a=>{let c="string"==typeof a,d=0;if(c&&(d=parseInt(a,10)),D(i)){let e=c?d:n?a*b.height:0;return n?"bottom"===i?b.height-e:-b.height+e:e}let e=c?d:n?a*b.width:0;return n?"right"===i?b.width-e:-b.width+e:e}))?a:[]},[c,n,j]),t=d.default.useMemo(()=>null!==q?null==s?void 0:s[q]:null,[s,q]),u=d.default.useCallback(a=>{var b;let d=null!=(b=null==s?void 0:s.findIndex(b=>b===a))?b:null;h(d),C(e.current,{transition:`transform 0.5s cubic-bezier(${G.join(",")})`,transform:D(i)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`}),s&&d!==s.length-1&&void 0!==g&&d!==g&&d<g?C(f.current,{transition:`opacity 0.5s cubic-bezier(${G.join(",")})`,opacity:"0"}):C(f.current,{transition:`opacity 0.5s cubic-bezier(${G.join(",")})`,opacity:"1"}),m(null==c?void 0:c[Math.max(d,0)])},[e.current,c,s,g,f,m]);return d.default.useEffect(()=>{if(l||a){var b;let d=null!=(b=null==c?void 0:c.findIndex(b=>b===a||b===l))?b:-1;s&&-1!==d&&"number"==typeof s[d]&&u(s[d])}},[l,a,c,s,u]),{isLastSnapPoint:p,activeSnapPoint:l,shouldFade:r,getPercentageDragged:function(a,b){if(!c||"number"!=typeof q||!s||void 0===g)return null;let d=q===g-1;if(q>=g&&b)return 0;if(d&&!b)return 1;if(!r&&!d)return null;let e=d?q+1:q-1,f=a/Math.abs(d?s[e]-s[e-1]:s[e+1]-s[e]);return d?1-f:f},setActiveSnapPoint:m,activeSnapPointIndex:q,onRelease:function({draggedDistance:a,closeDrawer:b,velocity:d,dismissible:e}){if(void 0===g)return;let h="bottom"===i||"right"===i?(null!=t?t:0)-a:(null!=t?t:0)+a,j=q===g-1,l=0===q,m=a>0;if(j&&C(f.current,{transition:`opacity 0.5s cubic-bezier(${G.join(",")})`}),!k&&d>2&&!m)return void(e?b():u(s[0]));if(!k&&d>2&&m&&s&&c)return void u(s[c.length-1]);let n=null==s?void 0:s.reduce((a,b)=>"number"!=typeof a||"number"!=typeof b?a:Math.abs(b-h)<Math.abs(a-h)?b:a),o=D(i)?window.innerHeight:window.innerWidth;if(d>.4&&Math.abs(a)<.4*o){let a=m?1:-1;return a>0&&p&&c?void u(s[c.length-1]):void(l&&a<0&&e&&b(),null===q||u(s[q+a]))}u(n)},onDrag:function({draggedDistance:a}){if(null===t)return;let b="bottom"===i||"right"===i?t-a:t+a;("bottom"===i||"right"===i)&&b<s[s.length-1]||("top"===i||"left"===i)&&b>s[s.length-1]||C(e.current,{transform:D(i)?`translate3d(0, ${b}px, 0)`:`translate3d(${b}px, 0, 0)`})},snapPointsOffset:s}}({snapPoints:h,activeSnapPointProp:p,setActiveSnapPointProp:q,drawerRef:an,fadeFromIndex:o,overlayRef:ac,onSnapPointChange:ar,direction:K,container:S,snapToSequentialPoint:O});!function(a={}){let{isDisabled:c}=a;x(()=>{if(!c)return 1==++z&&v(),()=>{0==--z&&(null==b||b())}},[c])}({isDisabled:!W||$||!w||aa||!Y||!Q||!N});let{restorePositionSetting:aA}=function({isOpen:a,modal:b,nested:c,hasBeenOpened:e,preventScrollRestoration:f,noBodyStyles:g}){let[h,i]=d.default.useState(()=>""),j=d.default.useRef(0),k=d.default.useCallback(()=>{if(u()&&null===L&&a&&!g){L={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:a,innerHeight:b}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-j.current}px`,left:`${-a}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let a=b-window.innerHeight;a&&j.current>=b&&(document.body.style.top=`${-(j.current+a)}px`)}),300)}},[a]),l=d.default.useCallback(()=>{if(u()&&null!==L&&!g){let a=-parseInt(document.body.style.top,10),b=-parseInt(document.body.style.left,10);Object.assign(document.body.style,L),window.requestAnimationFrame(()=>{f&&h!==window.location.href?i(window.location.href):window.scrollTo(b,a)}),L=null}},[h]);return d.default.useEffect(()=>{function a(){j.current=window.scrollY}return a(),window.addEventListener("scroll",a),()=>{window.removeEventListener("scroll",a)}},[]),d.default.useEffect(()=>{if(b)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||l()}},[b,l]),d.default.useEffect(()=>{!c&&e&&(a?(window.matchMedia("(display-mode: standalone)").matches||k(),b||window.setTimeout(()=>{l()},500)):l())},[a,e,h,b,c,k,l]),{restorePositionSetting:l}}({isOpen:W,modal:w,nested:null!=F&&F,hasBeenOpened:Y,preventScrollRestoration:P,noBodyStyles:I});function aB(){return(window.innerWidth-26)/window.innerWidth}function aC(a,b){var c;let d=a,e=null==(c=window.getSelection())?void 0:c.toString(),f=an.current?E(an.current,K):null,g=new Date;if("SELECT"===d.tagName||d.hasAttribute("data-vaul-no-drag")||d.closest("[data-vaul-no-drag]"))return!1;if("right"===K||"left"===K)return!0;if(ad.current&&g.getTime()-ad.current.getTime()<500)return!1;if(null!==f&&("bottom"===K?f>0:f<0))return!0;if(e&&e.length>0)return!1;if(ag.current&&g.getTime()-ag.current.getTime()<l&&0===f||b)return ag.current=g,!1;for(;d;){if(d.scrollHeight>d.clientHeight){if(0!==d.scrollTop)return ag.current=new Date,!1;if("dialog"===d.getAttribute("role"))break}d=d.parentNode}return!0}function aD(a){$&&an.current&&(an.current.classList.remove(H),ah.current=!1,_(!1),af.current=new Date),null==A||A(),a||X(!1),setTimeout(()=>{h&&au(h[0])},500)}function aE(){if(!an.current)return;let a=document.querySelector("[data-vaul-drawer-wrapper]"),b=E(an.current,K);C(an.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${G.join(",")})`}),C(ac.current,{transition:`opacity 0.5s cubic-bezier(${G.join(",")})`,opacity:"1"}),i&&b&&b>0&&W&&C(a,{borderRadius:"8px",overflow:"hidden",...D(K)?{transform:`scale(${aB()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${aB()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${G.join(",")})`},!0)}return d.default.useEffect(()=>{window.requestAnimationFrame(()=>{al.current=!0})},[]),d.default.useEffect(()=>{var a;function b(){var a,b;if(an.current&&Q&&((a=document.activeElement)instanceof HTMLInputElement&&!y.has(a.type)||a instanceof HTMLTextAreaElement||a instanceof HTMLElement&&a.isContentEditable||ak.current)){let a=(null==(b=window.visualViewport)?void 0:b.height)||0,c=window.innerHeight,d=c-a,e=an.current.getBoundingClientRect().height||0;aq.current||(aq.current=e);let f=an.current.getBoundingClientRect().top;if(Math.abs(am.current-d)>60&&(ak.current=!ak.current),h&&h.length>0&&aw&&at&&(d+=aw[at]||0),am.current=d,e>a||ak.current){let b=an.current.getBoundingClientRect().height,g=b;b>a&&(g=a-(e>.8*c?f:26)),t?an.current.style.height=`${b-Math.max(d,0)}px`:an.current.style.height=`${Math.max(g,a-f)}px`}else navigator.userAgent,an.current.style.height=`${aq.current}px`;h&&h.length>0&&!ak.current?an.current.style.bottom="0px":an.current.style.bottom=`${Math.max(d,0)}px`}}return null==(a=window.visualViewport)||a.addEventListener("resize",b),()=>{var a;return null==(a=window.visualViewport)?void 0:a.removeEventListener("resize",b)}},[at,h,aw]),d.default.useEffect(()=>(W&&(C(document.documentElement,{scrollBehavior:"auto"}),ad.current=new Date),()=>{!function(a,b){if(!a||!(a instanceof HTMLElement))return;let c=B.get(a);c&&(a.style[b]=c[b])}(document.documentElement,"scrollBehavior")}),[W]),d.default.useEffect(()=>{w||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[w]),d.default.createElement(r.Root,{defaultOpen:M,onOpenChange:a=>{(m||a)&&(a?Z(!0):aD(!0),X(a))},open:W},d.default.createElement(s.Provider,{value:{activeSnapPoint:as,snapPoints:h,setActiveSnapPoint:au,drawerRef:an,overlayRef:ac,onOpenChange:c,onPress:function(a){var b,c;!m&&!h||(!an.current||an.current.contains(a.target))&&(ao.current=(null==(b=an.current)?void 0:b.getBoundingClientRect().height)||0,ap.current=(null==(c=an.current)?void 0:c.getBoundingClientRect().width)||0,_(!0),ae.current=new Date,v(),a.target.setPointerCapture(a.pointerId),aj.current=D(K)?a.pageY:a.pageX)},onRelease:function(a){var b,c;if(!$||!an.current)return;an.current.classList.remove(H),ah.current=!1,_(!1),af.current=new Date;let d=E(an.current,K);if(!a||!aC(a.target,!1)||!d||Number.isNaN(d)||null===ae.current)return;let e=af.current.getTime()-ae.current.getTime(),f=aj.current-(D(K)?a.pageY:a.pageX),i=Math.abs(f)/e;if(i>.05&&(ab(!0),setTimeout(()=>{ab(!1)},200)),h){av({draggedDistance:f*("bottom"===K||"right"===K?1:-1),closeDrawer:aD,velocity:i,dismissible:m}),null==g||g(a,!0);return}if("bottom"===K||"right"===K?f>0:f<0){aE(),null==g||g(a,!0);return}if(i>.4){aD(),null==g||g(a,!1);return}let j=Math.min(null!=(b=an.current.getBoundingClientRect().height)?b:0,window.innerHeight),l=Math.min(null!=(c=an.current.getBoundingClientRect().width)?c:0,window.innerWidth);if(Math.abs(d)>=("left"===K||"right"===K?l:j)*k){aD(),null==g||g(a,!1);return}null==g||g(a,!0),aE()},onDrag:function(a){if(an.current&&$){let b="bottom"===K||"right"===K?1:-1,c=(aj.current-(D(K)?a.pageY:a.pageX))*b,d=c>0,e=h&&!m&&!d;if(e&&0===at)return;let g=Math.abs(c),j=document.querySelector("[data-vaul-drawer-wrapper]"),k=g/("bottom"===K||"top"===K?ao.current:ap.current),l=az(g,d);if(null!==l&&(k=l),e&&k>=1||!ah.current&&!aC(a.target,d))return;if(an.current.classList.add(H),ah.current=!0,C(an.current,{transition:"none"}),C(ac.current,{transition:"none"}),h&&ax({draggedDistance:c}),d&&!h){let a=Math.min(-(8*(Math.log(c+1)-2)*1),0)*b;C(an.current,{transform:D(K)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`});return}let n=1-k;if((ay||o&&at===o-1)&&(null==f||f(a,k),C(ac.current,{opacity:`${n}`,transition:"none"},!0)),j&&ac.current&&i){let a=Math.min(aB()+k*(1-aB()),1),b=8-8*k,c=Math.max(0,14-14*k);C(j,{borderRadius:`${b}px`,transform:D(K)?`scale(${a}) translate3d(0, ${c}px, 0)`:`scale(${a}) translate3d(${c}px, 0, 0)`,transition:"none"},!0)}if(!h){let a=g*b;C(an.current,{transform:D(K)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`})}}},dismissible:m,shouldAnimate:al,handleOnly:n,isOpen:W,isDragging:$,shouldFade:ay,closeDrawer:aD,onNestedDrag:function(a,b){if(b<0)return;let c=(window.innerWidth-16)/window.innerWidth,d=c+b*(1-c),e=-16+16*b;C(an.current,{transform:D(K)?`scale(${d}) translate3d(0, ${e}px, 0)`:`scale(${d}) translate3d(${e}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(a){let b=a?(window.innerWidth-16)/window.innerWidth:1,c=a?-16:0;ai.current&&window.clearTimeout(ai.current),C(an.current,{transition:`transform 0.5s cubic-bezier(${G.join(",")})`,transform:D(K)?`scale(${b}) translate3d(0, ${c}px, 0)`:`scale(${b}) translate3d(${c}px, 0, 0)`}),!a&&an.current&&(ai.current=setTimeout(()=>{let a=E(an.current,K);C(an.current,{transition:"none",transform:D(K)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`})},500))},onNestedRelease:function(a,b){let c=D(K)?window.innerHeight:window.innerWidth,d=b?(c-16)/c:1,e=b?-16:0;b&&C(an.current,{transition:`transform 0.5s cubic-bezier(${G.join(",")})`,transform:D(K)?`scale(${d}) translate3d(0, ${e}px, 0)`:`scale(${d}) translate3d(${e}px, 0, 0)`})},keyboardIsOpen:ak,modal:w,snapPointsOffset:aw,activeSnapPointIndex:at,direction:K,shouldScaleBackground:i,setBackgroundColorOnScale:j,noBodyStyles:I,container:S,autoFocus:T}},e))}let N=d.default.forwardRef(function({...a},b){let{overlayRef:c,snapPoints:e,onRelease:f,shouldFade:g,isOpen:h,modal:i,shouldAnimate:j}=t(),k=A(b,c),l=e&&e.length>0;if(!i)return null;let m=d.default.useCallback(a=>f(a),[f]);return d.default.createElement(r.Overlay,{onMouseUp:m,ref:k,"data-vaul-overlay":"","data-vaul-snap-points":h&&l?"true":"false","data-vaul-snap-points-overlay":h&&g?"true":"false","data-vaul-animate":(null==j?void 0:j.current)?"true":"false",...a})});N.displayName="Drawer.Overlay";let O=d.default.forwardRef(function({onPointerDownOutside:a,style:b,onOpenAutoFocus:c,...e},f){let{drawerRef:g,onPress:h,onRelease:i,onDrag:j,keyboardIsOpen:k,snapPointsOffset:l,activeSnapPointIndex:m,modal:n,isOpen:o,direction:p,snapPoints:q,container:s,handleOnly:u,shouldAnimate:v,autoFocus:w}=t(),[x,y]=d.default.useState(!1),z=A(f,g),B=d.default.useRef(null),C=d.default.useRef(null),E=d.default.useRef(!1),H=q&&q.length>0;function I(a){B.current=null,E.current=!1,i(a)}return!function(){let{direction:a,isOpen:b,shouldScaleBackground:c,setBackgroundColorOnScale:e,noBodyStyles:f}=t(),g=d.default.useRef(null),h=(0,d.useMemo)(()=>document.body.style.backgroundColor,[]);function i(){return(window.innerWidth-26)/window.innerWidth}d.default.useEffect(()=>{if(b&&c){g.current&&clearTimeout(g.current);let b=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!b)return;!function(...a){}(e&&!f?F(document.body,{background:"black"}):K,F(b,{transformOrigin:D(a)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${G.join(",")})`}));let c=F(b,{borderRadius:"8px",overflow:"hidden",...D(a)?{transform:`scale(${i()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${i()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{c(),g.current=window.setTimeout(()=>{h?document.body.style.background=h:document.body.style.removeProperty("background")},500)}}},[b,c,h])}(),d.default.useEffect(()=>{H&&window.requestAnimationFrame(()=>{y(!0)})},[]),d.default.createElement(r.Content,{"data-vaul-drawer-direction":p,"data-vaul-drawer":"","data-vaul-delayed-snap-points":x?"true":"false","data-vaul-snap-points":o&&H?"true":"false","data-vaul-custom-container":s?"true":"false","data-vaul-animate":(null==v?void 0:v.current)?"true":"false",...e,ref:z,style:l&&l.length>0?{"--snap-point-height":`${l[null!=m?m:0]}px`,...b}:b,onPointerDown:a=>{u||(null==e.onPointerDown||e.onPointerDown.call(e,a),B.current={x:a.pageX,y:a.pageY},h(a))},onOpenAutoFocus:a=>{null==c||c(a),w||a.preventDefault()},onPointerDownOutside:b=>{(null==a||a(b),!n||b.defaultPrevented)?b.preventDefault():k.current&&(k.current=!1)},onFocusOutside:a=>{if(!n)return void a.preventDefault()},onPointerMove:a=>{if(C.current=a,u||(null==e.onPointerMove||e.onPointerMove.call(e,a),!B.current))return;let b=a.pageY-B.current.y,c=a.pageX-B.current.x,d="touch"===a.pointerType?10:2;((a,b,c=0)=>{if(E.current)return!0;let d=Math.abs(a.y),e=Math.abs(a.x),f=e>d,g=["bottom","right"].includes(b)?1:-1;if("left"===b||"right"===b){if(!(a.x*g<0)&&e>=0&&e<=c)return f}else if(!(a.y*g<0)&&d>=0&&d<=c)return!f;return E.current=!0,!0})({x:c,y:b},p,d)?j(a):(Math.abs(c)>d||Math.abs(b)>d)&&(B.current=null)},onPointerUp:a=>{null==e.onPointerUp||e.onPointerUp.call(e,a),B.current=null,E.current=!1,i(a)},onPointerOut:a=>{null==e.onPointerOut||e.onPointerOut.call(e,a),I(C.current)},onContextMenu:a=>{null==e.onContextMenu||e.onContextMenu.call(e,a),C.current&&I(C.current)}})});O.displayName="Drawer.Content";let P=d.default.forwardRef(function({preventCycle:a=!1,children:b,...c},e){let{closeDrawer:f,isDragging:g,snapPoints:h,activeSnapPoint:i,setActiveSnapPoint:j,dismissible:k,handleOnly:l,isOpen:m,onPress:n,onDrag:o}=t(),p=d.default.useRef(null),q=d.default.useRef(!1);function r(){p.current&&window.clearTimeout(p.current),q.current=!1}return d.default.createElement("div",{onClick:function(){q.current?r():window.setTimeout(()=>{!function(){if(g||a||q.current)return r();if(r(),!h||0===h.length){k||f();return}if(i===h[h.length-1]&&k)return f();let b=h.findIndex(a=>a===i);-1===b||j(h[b+1])}()},120)},onPointerCancel:r,onPointerDown:a=>{l&&n(a),p.current=window.setTimeout(()=>{q.current=!0},250)},onPointerMove:a=>{l&&o(a)},ref:e,"data-vaul-drawer-visible":m?"true":"false","data-vaul-handle":"","aria-hidden":"true",...c},d.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},b))});P.displayName="Drawer.Handle";let Q={Root:M,NestedRoot:function({onDrag:a,onOpenChange:b,open:c,...e}){let{onNestedDrag:f,onNestedOpenChange:g,onNestedRelease:h}=t();if(!f)throw Error("Drawer.NestedRoot must be placed in another drawer");return d.default.createElement(M,{nested:!0,open:c,onClose:()=>{g(!1)},onDrag:(b,c)=>{f(b,c),null==a||a(b,c)},onOpenChange:a=>{a&&g(a),null==b||b(a)},onRelease:h,...e})},Content:O,Overlay:N,Trigger:r.Trigger,Portal:function(a){let b=t(),{container:c=b.container,...e}=a;return d.default.createElement(r.Portal,{container:c,...e})},Handle:P,Close:r.Close,Title:r.Title,Description:r.Description};var R=a.i(85536);function S({...a}){return(0,c.jsx)(Q.Root,{"data-slot":"drawer",...a})}function T({...a}){return(0,c.jsx)(Q.Portal,{"data-slot":"drawer-portal",...a})}function U({className:a,...b}){return(0,c.jsx)(Q.Overlay,{"data-slot":"drawer-overlay",className:(0,R.cn)("fixed inset-0 z-50 bg-black/50",a),...b})}function V({className:a,children:b,direction:d="bottom",showCloseButton:e=!0,...f}){return(0,c.jsx)(T,{children:(0,c.jsxs)(Q.Content,{"data-slot":"drawer-content",className:(0,R.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===d&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===d&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===d&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===d&&"inset-y-0 left-0 h-full w-3/4 border-r",a),style:{"--initial-transform":"right"===d?"calc(100% + 8px)":"left"===d||"top"===d?"calc(-100% - 8px)":"calc(100% + 8px)",userSelect:"text",...f.style??{}},...f,children:[b,e?(0,c.jsxs)(Q.Close,{className:"ring-offset-background focus:ring-ring 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:[(0,c.jsx)(q.XIcon,{className:"size-4"}),(0,c.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function W({className:a,...b}){return(0,c.jsx)("div",{"data-slot":"drawer-header",className:(0,R.cn)("flex flex-col gap-1.5 p-4",a),...b})}function X({className:a,...b}){return(0,c.jsx)("div",{"data-slot":"drawer-footer",className:(0,R.cn)("mt-auto flex flex-col gap-2 p-4",a),...b})}function Y({className:a,...b}){return(0,c.jsx)(Q.Title,{"data-slot":"drawer-title",className:(0,R.cn)("text-foreground font-semibold",a),...b})}function Z({className:a,...b}){return(0,c.jsx)(Q.Description,{"data-slot":"drawer-description",className:(0,R.cn)("text-muted-foreground text-sm",a),...b})}a.s(["Drawer",()=>S,"DrawerContent",()=>V,"DrawerDescription",()=>Z,"DrawerFooter",()=>X,"DrawerHeader",()=>W,"DrawerOverlay",()=>U,"DrawerTitle",()=>Y],2824)},24255,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(10568),e=a.i(50490),f=a.i(5698),g=a.i(42261),h=a.i(85536);a.i(69029);var i=a.i(5623);a.i(49235);var j=a.i(85080),k=a.i(2824),l=a.i(13126),m=a.i(82934),n=a.i(18662),o=a.i(21333);let p=(0,g.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl"}},defaultVariants:{size:"sm"}});function q({open:a,onClose:e,modal:f=!1,dismissOnOutsideClick:g=!1,title:i="Drawer",size:j,header:m,children:n,footer:q,className:s,"data-testid":t,deployTarget:u}){let v=(0,o.useFeatureFlags)(),w=(0,c.useRef)(null);return(0,c.useEffect)(()=>{if(!a||f)return;let b=a=>{let b=a.target;!document.body.contains(b)||w.current?.contains(b)||b.closest(g?'[role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]':'[data-no-drawer-close], [role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]')||e()};return document.addEventListener("click",b),()=>document.removeEventListener("click",b)},[a,f,e,g]),(0,b.jsxs)(k.Drawer,{direction:"right",modal:f,handleOnly:!0,open:a,onOpenChange:a=>{a||e()},children:[f?(0,b.jsx)(k.DrawerOverlay,{}):null,(0,b.jsxs)(k.DrawerContent,{ref:w,direction:"right",showCloseButton:!1,className:(0,h.cn)(p({size:j}),s),"data-testid":t,onInteractOutside:f?void 0:a=>a.preventDefault(),children:[(0,b.jsx)(k.DrawerTitle,{asChild:!0,children:(0,b.jsx)("span",{className:"sr-only",children:i})}),(0,b.jsx)(k.DrawerDescription,{asChild:!0,children:(0,b.jsx)("span",{className:"sr-only",children:i})}),(0,b.jsxs)("button",{type:"button","aria-label":"Close",onClick:e,className:"ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":t?`${t}-close-button`:void 0,children:[(0,b.jsx)(d.XIcon,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]}),m?(0,b.jsx)(k.DrawerHeader,{className:"shrink-0",children:m}):null,m?(0,b.jsx)(l.Separator,{}):null,v.envDeploy&&u?(0,b.jsx)(r,{deployTarget:u}):null,(0,b.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:n}),q?(0,b.jsx)(k.DrawerFooter,{className:"shrink-0",children:q}):null]})]})}function r({deployTarget:a}){let c=(0,n.useDeployAction)(a),d="Booting"===c.status||"Ready"===c.status;return(0,b.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pb-3",children:[(0,b.jsx)(m.TooltipProvider,{children:(0,b.jsxs)(m.Tooltip,{children:[(0,b.jsx)(m.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{children:(0,b.jsx)(i.ActionButton,{label:d?"Stop Dev Server":"Start Dev Server",onClick:d?c.stop:c.deploy,loading:c.deployLoading||c.stopLoading,error:!!c.deployError,icon:d?f.Square:e.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,b.jsx)(m.TooltipContent,{children:d?"Stop Dev Server":"Start Dev Server"})]})}),d?(0,b.jsx)(j.DeploymentStatusBadge,{status:c.status,url:c.url,targetId:a.targetId}):null]})}a.s(["BaseDrawer",()=>q])}];
|
|
1
|
+
module.exports=[50490,5698,a=>{"use strict";var b=a.i(25700);let c=(0,b.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);a.s(["Play",()=>c],50490);let d=(0,b.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);a.s(["Square",()=>d],5698)},69029,5623,a=>{"use strict";var b=a.i(10973),c=a.i(88064),d=a.i(82697),e=a.i(85536),f=a.i(18948),g=a.i(19884);function h({label:a,onClick:h,loading:i,error:j,icon:k,iconOnly:l=!1,variant:m="outline",size:n="sm"}){let o=(0,g.useSoundAction)("click");return(0,b.jsxs)(f.Button,{variant:m,size:n,"aria-label":a,disabled:i,onClick:()=>{o.play(),h()},className:(0,e.cn)("gap-1.5",j&&"text-destructive hover:text-destructive",!j&&l&&"ghost"===m&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[i?(0,b.jsx)(c.Loader2,{className:"size-4 animate-spin"}):j?(0,b.jsx)(d.CircleAlert,{className:"size-4"}):(0,b.jsx)(k,{className:"size-4"}),l?null:a]})}a.s(["ActionButton",()=>h],5623),a.s([],69029)},18662,a=>{"use strict";var b=a.i(96960),c=a.i(87139),d=a.i(25674);let e=(0,d.createServerReference)("40f9c82217f1d9e1890cf574ba376dca2636751c9d",d.callServer,void 0,d.findSourceMapURL,"deployFeature"),f=(0,d.createServerReference)("4014e009536f52d040c3f8d4a1909c966e9a3c7a78",d.callServer,void 0,d.findSourceMapURL,"deployRepository"),g=(0,d.createServerReference)("406a9e09625dc05a880bb5ac262097c0cff5f9d055",d.callServer,void 0,d.findSourceMapURL,"stopDeployment"),h=(0,d.createServerReference)("407e405717785a8d1391d9b4cac0a05cab58c58f83",d.callServer,void 0,d.findSourceMapURL,"getDeploymentStatus"),i=(0,c.createLogger)("[useDeployAction]");function j(a){let[c,d]=(0,b.useState)(!1),[j,k]=(0,b.useState)(!1),[l,m]=(0,b.useState)(null),[n,o]=(0,b.useState)(null),[p,q]=(0,b.useState)(null),r=(0,b.useRef)(null),s=(0,b.useRef)(!0),t=(0,b.useRef)(n);(0,b.useEffect)(()=>{t.current=n},[n]),(0,b.useEffect)(()=>(s.current=!0,()=>{s.current=!1}),[]),(0,b.useEffect)(()=>{if(!a)return;let b=!1;return(async()=>{try{let c=await h(a.targetId);if(b||!s.current)return;c&&"Stopped"!==c.state&&(i.info(`mount recovery: "${a.targetId}" state=${c.state}, url=${c.url}`),o(c.state),q(c.url),v(a.targetId))}catch{i.debug(`mount recovery failed for "${a.targetId}" — ignoring`)}})(),()=>{b=!0}},[a?.targetId]),(0,b.useEffect)(()=>()=>{r.current&&clearInterval(r.current)},[]);let u=(0,b.useCallback)(()=>{r.current&&(i.debug("stopping polling"),clearInterval(r.current),r.current=null)},[]),v=(0,b.useCallback)(a=>{u(),i.debug(`starting polling for "${a}" every 3000ms`),r.current=setInterval(async()=>{let b;if(!s.current)return void u();try{b=await h(a)}catch(b){i.warn(`poll fetch failed for "${a}":`,b),s.current&&(o(null),q(null),u());return}s.current&&(b&&"Stopped"!==b.state?(b.state!==t.current&&i.info(`poll state changed: ${t.current} → ${b.state}, url=${b.url}`),o(b.state),q(b.url)):(i.info(`poll result: ${b?`state=${b.state}`:"null (deployment gone)"} — stopping poll`),o(null),q(null),u()))},3e3)},[u]);(0,b.useEffect)(()=>{if(!a||null!==n)return;let b=setInterval(async()=>{if(s.current)try{let b=await h(a.targetId);if(!s.current)return;b&&"Stopped"!==b.state&&(i.info(`idle poll: "${a.targetId}" state=${b.state}, url=${b.url}`),o(b.state),q(b.url),v(a.targetId))}catch{}},5e3);return()=>clearInterval(b)},[a,n,v]);let w=(0,b.useCallback)(async()=>{if(!a)return void i.warn("deploy() called but input is null — no-op");if(c)return void i.warn("deploy() called but already loading — no-op");i.info(`deploy() — targetType="${a.targetType}", targetId="${a.targetId}", repositoryPath="${a.repositoryPath}"`),d(!0),m(null);try{let b="feature"===a.targetType?await e(a.targetId):await f(a.repositoryPath);if(i.info("server action result:",b),!s.current)return void i.warn("component unmounted after deploy — discarding result");if(b.success)i.info(`deploy succeeded — initial state=${b.state}, starting polling`),o(b.state??null),q(null),v(a.targetId);else{let a=b.error??"An unexpected error occurred";i.warn(`deploy failed: ${a}`),m(a)}}catch(b){if(!s.current)return;let a=b instanceof Error?b.message:"An unexpected error occurred";i.error(`deploy threw exception: ${a}`,b),m(a)}finally{s.current&&d(!1)}},[a,c,v]),x=(0,b.useCallback)(async()=>{if(a&&!j){i.info(`stop() — targetId="${a.targetId}"`),k(!0);try{let b=await g(a.targetId);if(i.info("stop result:",b),!s.current)return;b.success&&(u(),o(null),q(null))}catch(a){i.warn("stop error (non-critical):",a)}finally{s.current&&k(!1)}}},[a,j,u]);return{deploy:w,stop:x,deployLoading:c,stopLoading:j,deployError:l,status:n,url:p}}a.s(["useDeployAction",()=>j],18662)},49235,85080,2824,a=>{"use strict";let b;var c=a.i(10973),d=a.i(96960),e=a.i(88064),f=a.i(71238),g=a.i(63698),h=a.i(46847),i=a.i(58339),j=a.i(45670),k=a.i(25674);let l=(0,k.createServerReference)("409b05b36bbe999f13e52b0f8a35a3d13c858975c6",k.callServer,void 0,k.findSourceMapURL,"getDeploymentLogs");function m({open:a,onOpenChange:b,targetId:e}){let{logs:f,isConnected:g}=function(a){let[b,c]=(0,d.useState)([]),[e,f]=(0,d.useState)(!1),g=(0,d.useRef)(null),h=(0,d.useCallback)(()=>{g.current&&(g.current.close(),g.current=null),f(!1)},[]);return(0,d.useEffect)(()=>{if(!a){c([]),f(!1);return}l(a).then(a=>{a&&c(a)}).catch(()=>{});let b=new EventSource(`/api/deployment-logs?targetId=${a}`);return g.current=b,b.onopen=()=>{f(!0)},b.addEventListener("log",a=>{let b=JSON.parse(a.data);c(a=>[...a,b])}),b.onerror=()=>{f(!1)},()=>{b.close(),g.current=null}},[a,h]),{logs:b,isConnected:e}}(a?e:null);return(0,c.jsx)(n,{open:a,onOpenChange:b,logs:f,isConnected:g})}function n({open:a,onOpenChange:b,logs:e,isConnected:f}){let h=(0,d.useRef)(null),i=(0,d.useRef)(!0),k=(0,d.useCallback)(()=>{let a=h.current;a&&(i.current=a.scrollTop+a.clientHeight>=a.scrollHeight-50)},[]);return(0,d.useEffect)(()=>{i.current&&h.current&&(h.current.scrollTop=h.current.scrollHeight)},[e]),(0,c.jsx)(j.Dialog,{open:a,onOpenChange:b,children:(0,c.jsxs)(j.DialogContent,{className:"flex h-[calc(100vh-48px)] max-h-[calc(100vh-48px)] w-full max-w-[calc(100vw-48px)] flex-col gap-0 bg-zinc-950 p-0 text-zinc-100 sm:rounded-lg","aria-describedby":void 0,children:[(0,c.jsxs)(j.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,c.jsxs)("div",{className:"flex items-center gap-2",children:[(0,c.jsx)(g.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,c.jsx)(j.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,c.jsxs)("div",{className:"flex items-center gap-2 pr-8",children:[(0,c.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${f?"bg-green-500":"bg-zinc-500"}`}),(0,c.jsx)("span",{className:"text-xs text-zinc-400",children:f?"Connected":"Disconnected"})]})]}),(0,c.jsxs)("div",{ref:h,onScroll:k,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===e.length?(0,c.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):e.map(a=>(0,c.jsx)(o,{entry:a},`${a.timestamp}-${a.stream}-${a.line}`)),!f&&e.length>0&&(0,c.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function o({entry:a}){return(0,c.jsx)("div",{"data-stream":a.stream,className:"stderr"===a.stream?"text-red-400":"text-zinc-200",children:(0,c.jsx)("span",{className:"break-all whitespace-pre-wrap",children:a.line})})}function p({status:a,url:b,targetId:j}){let[k,l]=(0,d.useState)(!1),n=j&&(a===h.DeploymentState.Booting||a===h.DeploymentState.Ready);switch(a){case h.DeploymentState.Booting:return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(i.Badge,{className:"border-transparent bg-blue-50 text-blue-700 hover:bg-blue-50",children:[(0,c.jsx)(e.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}),"Starting...",n?(0,c.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-blue-100",onClick:a=>{a.stopPropagation(),l(!0)},children:(0,c.jsx)(g.Terminal,{className:"h-3 w-3"})}):null]}),n?(0,c.jsx)(m,{open:k,onOpenChange:l,targetId:j}):null]});case h.DeploymentState.Ready:return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(i.Badge,{className:"border-transparent bg-green-50 text-green-700 hover:bg-green-50",children:[(0,c.jsx)("span",{className:"mr-1 inline-block h-2 w-2 rounded-full bg-green-500"}),b?(0,c.jsxs)("a",{href:b,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 hover:underline",onClick:a=>a.stopPropagation(),children:[b,(0,c.jsx)(f.ExternalLink,{className:"h-3 w-3"})]}):"Ready",n?(0,c.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-green-100",onClick:a=>{a.stopPropagation(),l(!0)},children:(0,c.jsx)(g.Terminal,{className:"h-3 w-3"})}):null]}),n?(0,c.jsx)(m,{open:k,onOpenChange:l,targetId:j}):null]});default:return null}}a.s(["DeploymentStatusBadge",()=>p],85080),a.s([],49235);var q=a.i(10568),r=a.i(40093);let s=d.default.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),t=()=>{let a=d.default.useContext(s);if(!a)throw Error("useDrawerContext must be used within a Drawer.Root");return a};function u(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function v(){return w(/^iPhone/)||w(/^iPad/)||w(/^Mac/)&&navigator.maxTouchPoints>1}function w(a){}!function(a){if(!a||"u"<typeof document)return;let b=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css",b.appendChild(c),c.styleSheet?c.styleSheet.cssText=a:c.appendChild(document.createTextNode(a))}("[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(\n[data-state=closed]\n){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}");let x=d.useEffect;"u">typeof document&&window.visualViewport;let y=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),z=0;function A(...a){return d.useCallback(function(...a){return b=>a.forEach(a=>{"function"==typeof a?a(b):null!=a&&(a.current=b)})}(...a),a)}let B=new WeakMap;function C(a,b,c=!1){if(!a||!(a instanceof HTMLElement))return;let d={};Object.entries(b).forEach(([b,c])=>{b.startsWith("--")?a.style.setProperty(b,c):(d[b]=a.style[b],a.style[b]=c)}),c||B.set(a,d)}let D=a=>{switch(a){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return a}};function E(a,b){if(!a)return null;let c=window.getComputedStyle(a),d=c.transform||c.webkitTransform||c.mozTransform,e=d.match(/^matrix3d\((.+)\)$/);return e?parseFloat(e[1].split(", ")[D(b)?13:12]):(e=d.match(/^matrix\((.+)\)$/))?parseFloat(e[1].split(", ")[D(b)?5:4]):null}function F(a,b){if(!a)return()=>{};let c=a.style.cssText;return Object.assign(a.style,b),()=>{a.style.cssText=c}}let G=[.32,.72,0,1],H="vaul-dragging";function I(a){let b=d.default.useRef(a);return d.default.useEffect(()=>{b.current=a}),d.default.useMemo(()=>(...a)=>null==b.current?void 0:b.current.call(b,...a),[])}function J({prop:a,defaultProp:b,onChange:c=()=>{}}){let[e,f]=function({defaultProp:a,onChange:b}){let c=d.default.useState(a),[e]=c,f=d.default.useRef(e),g=I(b);return d.default.useEffect(()=>{f.current!==e&&(g(e),f.current=e)},[e,f,g]),c}({defaultProp:b,onChange:c}),g=void 0!==a,h=g?a:e,i=I(c);return[h,d.default.useCallback(b=>{if(g){let c="function"==typeof b?b(a):b;c!==a&&i(c)}else f(b)},[g,a,f,i])]}let K=()=>()=>{},L=null;function M({open:a,onOpenChange:c,children:e,onDrag:f,onRelease:g,snapPoints:h,shouldScaleBackground:i=!1,setBackgroundColorOnScale:j=!0,closeThreshold:k=.25,scrollLockTimeout:l=100,dismissible:m=!0,handleOnly:n=!1,fadeFromIndex:o=h&&h.length-1,activeSnapPoint:p,setActiveSnapPoint:q,fixed:t,modal:w=!0,onClose:A,nested:F,noBodyStyles:I=!1,direction:K="bottom",defaultOpen:M=!1,disablePreventScroll:N=!0,snapToSequentialPoint:O=!1,preventScrollRestoration:P=!1,repositionInputs:Q=!0,onAnimationEnd:R,container:S,autoFocus:T=!1}){var U,V;let[W=!1,X]=J({defaultProp:M,prop:a,onChange:a=>{null==c||c(a),a||F||aA(),setTimeout(()=>{null==R||R(a)},500),a||(document.body.style.pointerEvents="auto")}}),[Y,Z]=d.default.useState(!1),[$,_]=d.default.useState(!1),[aa,ab]=d.default.useState(!1),ac=d.default.useRef(null),ad=d.default.useRef(null),ae=d.default.useRef(null),af=d.default.useRef(null),ag=d.default.useRef(null),ah=d.default.useRef(!1),ai=d.default.useRef(null),aj=d.default.useRef(0),ak=d.default.useRef(!1),al=d.default.useRef(!M),am=d.default.useRef(0),an=d.default.useRef(null),ao=d.default.useRef((null==(U=an.current)?void 0:U.getBoundingClientRect().height)||0),ap=d.default.useRef((null==(V=an.current)?void 0:V.getBoundingClientRect().width)||0),aq=d.default.useRef(0),ar=d.default.useCallback(a=>{h&&a===aw.length-1&&(ad.current=new Date)},[]),{activeSnapPoint:as,activeSnapPointIndex:at,setActiveSnapPoint:au,onRelease:av,snapPointsOffset:aw,onDrag:ax,shouldFade:ay,getPercentageDragged:az}=function({activeSnapPointProp:a,setActiveSnapPointProp:b,snapPoints:c,drawerRef:e,overlayRef:f,fadeFromIndex:g,onSnapPointChange:h,direction:i="bottom",container:j,snapToSequentialPoint:k}){let[l,m]=J({prop:a,defaultProp:null==c?void 0:c[0],onChange:b}),[n,o]=d.default.useState(void 0);d.default.useEffect(()=>{function a(){o({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[]);let p=d.default.useMemo(()=>l===(null==c?void 0:c[c.length-1])||null,[c,l]),q=d.default.useMemo(()=>{var a;return null!=(a=null==c?void 0:c.findIndex(a=>a===l))?a:null},[c,l]),r=c&&c.length>0&&(g||0===g)&&!Number.isNaN(g)&&c[g]===l||!c,s=d.default.useMemo(()=>{var a;let b=j?{width:j.getBoundingClientRect().width,height:j.getBoundingClientRect().height}:{width:0,height:0};return null!=(a=null==c?void 0:c.map(a=>{let c="string"==typeof a,d=0;if(c&&(d=parseInt(a,10)),D(i)){let e=c?d:n?a*b.height:0;return n?"bottom"===i?b.height-e:-b.height+e:e}let e=c?d:n?a*b.width:0;return n?"right"===i?b.width-e:-b.width+e:e}))?a:[]},[c,n,j]),t=d.default.useMemo(()=>null!==q?null==s?void 0:s[q]:null,[s,q]),u=d.default.useCallback(a=>{var b;let d=null!=(b=null==s?void 0:s.findIndex(b=>b===a))?b:null;h(d),C(e.current,{transition:`transform 0.5s cubic-bezier(${G.join(",")})`,transform:D(i)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`}),s&&d!==s.length-1&&void 0!==g&&d!==g&&d<g?C(f.current,{transition:`opacity 0.5s cubic-bezier(${G.join(",")})`,opacity:"0"}):C(f.current,{transition:`opacity 0.5s cubic-bezier(${G.join(",")})`,opacity:"1"}),m(null==c?void 0:c[Math.max(d,0)])},[e.current,c,s,g,f,m]);return d.default.useEffect(()=>{if(l||a){var b;let d=null!=(b=null==c?void 0:c.findIndex(b=>b===a||b===l))?b:-1;s&&-1!==d&&"number"==typeof s[d]&&u(s[d])}},[l,a,c,s,u]),{isLastSnapPoint:p,activeSnapPoint:l,shouldFade:r,getPercentageDragged:function(a,b){if(!c||"number"!=typeof q||!s||void 0===g)return null;let d=q===g-1;if(q>=g&&b)return 0;if(d&&!b)return 1;if(!r&&!d)return null;let e=d?q+1:q-1,f=a/Math.abs(d?s[e]-s[e-1]:s[e+1]-s[e]);return d?1-f:f},setActiveSnapPoint:m,activeSnapPointIndex:q,onRelease:function({draggedDistance:a,closeDrawer:b,velocity:d,dismissible:e}){if(void 0===g)return;let h="bottom"===i||"right"===i?(null!=t?t:0)-a:(null!=t?t:0)+a,j=q===g-1,l=0===q,m=a>0;if(j&&C(f.current,{transition:`opacity 0.5s cubic-bezier(${G.join(",")})`}),!k&&d>2&&!m)return void(e?b():u(s[0]));if(!k&&d>2&&m&&s&&c)return void u(s[c.length-1]);let n=null==s?void 0:s.reduce((a,b)=>"number"!=typeof a||"number"!=typeof b?a:Math.abs(b-h)<Math.abs(a-h)?b:a),o=D(i)?window.innerHeight:window.innerWidth;if(d>.4&&Math.abs(a)<.4*o){let a=m?1:-1;return a>0&&p&&c?void u(s[c.length-1]):void(l&&a<0&&e&&b(),null===q||u(s[q+a]))}u(n)},onDrag:function({draggedDistance:a}){if(null===t)return;let b="bottom"===i||"right"===i?t-a:t+a;("bottom"===i||"right"===i)&&b<s[s.length-1]||("top"===i||"left"===i)&&b>s[s.length-1]||C(e.current,{transform:D(i)?`translate3d(0, ${b}px, 0)`:`translate3d(${b}px, 0, 0)`})},snapPointsOffset:s}}({snapPoints:h,activeSnapPointProp:p,setActiveSnapPointProp:q,drawerRef:an,fadeFromIndex:o,overlayRef:ac,onSnapPointChange:ar,direction:K,container:S,snapToSequentialPoint:O});!function(a={}){let{isDisabled:c}=a;x(()=>{if(!c)return 1==++z&&v(),()=>{0==--z&&(null==b||b())}},[c])}({isDisabled:!W||$||!w||aa||!Y||!Q||!N});let{restorePositionSetting:aA}=function({isOpen:a,modal:b,nested:c,hasBeenOpened:e,preventScrollRestoration:f,noBodyStyles:g}){let[h,i]=d.default.useState(()=>""),j=d.default.useRef(0),k=d.default.useCallback(()=>{if(u()&&null===L&&a&&!g){L={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:a,innerHeight:b}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-j.current}px`,left:`${-a}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let a=b-window.innerHeight;a&&j.current>=b&&(document.body.style.top=`${-(j.current+a)}px`)}),300)}},[a]),l=d.default.useCallback(()=>{if(u()&&null!==L&&!g){let a=-parseInt(document.body.style.top,10),b=-parseInt(document.body.style.left,10);Object.assign(document.body.style,L),window.requestAnimationFrame(()=>{f&&h!==window.location.href?i(window.location.href):window.scrollTo(b,a)}),L=null}},[h]);return d.default.useEffect(()=>{function a(){j.current=window.scrollY}return a(),window.addEventListener("scroll",a),()=>{window.removeEventListener("scroll",a)}},[]),d.default.useEffect(()=>{if(b)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||l()}},[b,l]),d.default.useEffect(()=>{!c&&e&&(a?(window.matchMedia("(display-mode: standalone)").matches||k(),b||window.setTimeout(()=>{l()},500)):l())},[a,e,h,b,c,k,l]),{restorePositionSetting:l}}({isOpen:W,modal:w,nested:null!=F&&F,hasBeenOpened:Y,preventScrollRestoration:P,noBodyStyles:I});function aB(){return(window.innerWidth-26)/window.innerWidth}function aC(a,b){var c;let d=a,e=null==(c=window.getSelection())?void 0:c.toString(),f=an.current?E(an.current,K):null,g=new Date;if("SELECT"===d.tagName||d.hasAttribute("data-vaul-no-drag")||d.closest("[data-vaul-no-drag]"))return!1;if("right"===K||"left"===K)return!0;if(ad.current&&g.getTime()-ad.current.getTime()<500)return!1;if(null!==f&&("bottom"===K?f>0:f<0))return!0;if(e&&e.length>0)return!1;if(ag.current&&g.getTime()-ag.current.getTime()<l&&0===f||b)return ag.current=g,!1;for(;d;){if(d.scrollHeight>d.clientHeight){if(0!==d.scrollTop)return ag.current=new Date,!1;if("dialog"===d.getAttribute("role"))break}d=d.parentNode}return!0}function aD(a){$&&an.current&&(an.current.classList.remove(H),ah.current=!1,_(!1),af.current=new Date),null==A||A(),a||X(!1),setTimeout(()=>{h&&au(h[0])},500)}function aE(){if(!an.current)return;let a=document.querySelector("[data-vaul-drawer-wrapper]"),b=E(an.current,K);C(an.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${G.join(",")})`}),C(ac.current,{transition:`opacity 0.5s cubic-bezier(${G.join(",")})`,opacity:"1"}),i&&b&&b>0&&W&&C(a,{borderRadius:"8px",overflow:"hidden",...D(K)?{transform:`scale(${aB()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${aB()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${G.join(",")})`},!0)}return d.default.useEffect(()=>{window.requestAnimationFrame(()=>{al.current=!0})},[]),d.default.useEffect(()=>{var a;function b(){var a,b;if(an.current&&Q&&((a=document.activeElement)instanceof HTMLInputElement&&!y.has(a.type)||a instanceof HTMLTextAreaElement||a instanceof HTMLElement&&a.isContentEditable||ak.current)){let a=(null==(b=window.visualViewport)?void 0:b.height)||0,c=window.innerHeight,d=c-a,e=an.current.getBoundingClientRect().height||0;aq.current||(aq.current=e);let f=an.current.getBoundingClientRect().top;if(Math.abs(am.current-d)>60&&(ak.current=!ak.current),h&&h.length>0&&aw&&at&&(d+=aw[at]||0),am.current=d,e>a||ak.current){let b=an.current.getBoundingClientRect().height,g=b;b>a&&(g=a-(e>.8*c?f:26)),t?an.current.style.height=`${b-Math.max(d,0)}px`:an.current.style.height=`${Math.max(g,a-f)}px`}else navigator.userAgent,an.current.style.height=`${aq.current}px`;h&&h.length>0&&!ak.current?an.current.style.bottom="0px":an.current.style.bottom=`${Math.max(d,0)}px`}}return null==(a=window.visualViewport)||a.addEventListener("resize",b),()=>{var a;return null==(a=window.visualViewport)?void 0:a.removeEventListener("resize",b)}},[at,h,aw]),d.default.useEffect(()=>(W&&(C(document.documentElement,{scrollBehavior:"auto"}),ad.current=new Date),()=>{!function(a,b){if(!a||!(a instanceof HTMLElement))return;let c=B.get(a);c&&(a.style[b]=c[b])}(document.documentElement,"scrollBehavior")}),[W]),d.default.useEffect(()=>{w||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[w]),d.default.createElement(r.Root,{defaultOpen:M,onOpenChange:a=>{(m||a)&&(a?Z(!0):aD(!0),X(a))},open:W},d.default.createElement(s.Provider,{value:{activeSnapPoint:as,snapPoints:h,setActiveSnapPoint:au,drawerRef:an,overlayRef:ac,onOpenChange:c,onPress:function(a){var b,c;!m&&!h||(!an.current||an.current.contains(a.target))&&(ao.current=(null==(b=an.current)?void 0:b.getBoundingClientRect().height)||0,ap.current=(null==(c=an.current)?void 0:c.getBoundingClientRect().width)||0,_(!0),ae.current=new Date,v(),a.target.setPointerCapture(a.pointerId),aj.current=D(K)?a.pageY:a.pageX)},onRelease:function(a){var b,c;if(!$||!an.current)return;an.current.classList.remove(H),ah.current=!1,_(!1),af.current=new Date;let d=E(an.current,K);if(!a||!aC(a.target,!1)||!d||Number.isNaN(d)||null===ae.current)return;let e=af.current.getTime()-ae.current.getTime(),f=aj.current-(D(K)?a.pageY:a.pageX),i=Math.abs(f)/e;if(i>.05&&(ab(!0),setTimeout(()=>{ab(!1)},200)),h){av({draggedDistance:f*("bottom"===K||"right"===K?1:-1),closeDrawer:aD,velocity:i,dismissible:m}),null==g||g(a,!0);return}if("bottom"===K||"right"===K?f>0:f<0){aE(),null==g||g(a,!0);return}if(i>.4){aD(),null==g||g(a,!1);return}let j=Math.min(null!=(b=an.current.getBoundingClientRect().height)?b:0,window.innerHeight),l=Math.min(null!=(c=an.current.getBoundingClientRect().width)?c:0,window.innerWidth);if(Math.abs(d)>=("left"===K||"right"===K?l:j)*k){aD(),null==g||g(a,!1);return}null==g||g(a,!0),aE()},onDrag:function(a){if(an.current&&$){let b="bottom"===K||"right"===K?1:-1,c=(aj.current-(D(K)?a.pageY:a.pageX))*b,d=c>0,e=h&&!m&&!d;if(e&&0===at)return;let g=Math.abs(c),j=document.querySelector("[data-vaul-drawer-wrapper]"),k=g/("bottom"===K||"top"===K?ao.current:ap.current),l=az(g,d);if(null!==l&&(k=l),e&&k>=1||!ah.current&&!aC(a.target,d))return;if(an.current.classList.add(H),ah.current=!0,C(an.current,{transition:"none"}),C(ac.current,{transition:"none"}),h&&ax({draggedDistance:c}),d&&!h){let a=Math.min(-(8*(Math.log(c+1)-2)*1),0)*b;C(an.current,{transform:D(K)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`});return}let n=1-k;if((ay||o&&at===o-1)&&(null==f||f(a,k),C(ac.current,{opacity:`${n}`,transition:"none"},!0)),j&&ac.current&&i){let a=Math.min(aB()+k*(1-aB()),1),b=8-8*k,c=Math.max(0,14-14*k);C(j,{borderRadius:`${b}px`,transform:D(K)?`scale(${a}) translate3d(0, ${c}px, 0)`:`scale(${a}) translate3d(${c}px, 0, 0)`,transition:"none"},!0)}if(!h){let a=g*b;C(an.current,{transform:D(K)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`})}}},dismissible:m,shouldAnimate:al,handleOnly:n,isOpen:W,isDragging:$,shouldFade:ay,closeDrawer:aD,onNestedDrag:function(a,b){if(b<0)return;let c=(window.innerWidth-16)/window.innerWidth,d=c+b*(1-c),e=-16+16*b;C(an.current,{transform:D(K)?`scale(${d}) translate3d(0, ${e}px, 0)`:`scale(${d}) translate3d(${e}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(a){let b=a?(window.innerWidth-16)/window.innerWidth:1,c=a?-16:0;ai.current&&window.clearTimeout(ai.current),C(an.current,{transition:`transform 0.5s cubic-bezier(${G.join(",")})`,transform:D(K)?`scale(${b}) translate3d(0, ${c}px, 0)`:`scale(${b}) translate3d(${c}px, 0, 0)`}),!a&&an.current&&(ai.current=setTimeout(()=>{let a=E(an.current,K);C(an.current,{transition:"none",transform:D(K)?`translate3d(0, ${a}px, 0)`:`translate3d(${a}px, 0, 0)`})},500))},onNestedRelease:function(a,b){let c=D(K)?window.innerHeight:window.innerWidth,d=b?(c-16)/c:1,e=b?-16:0;b&&C(an.current,{transition:`transform 0.5s cubic-bezier(${G.join(",")})`,transform:D(K)?`scale(${d}) translate3d(0, ${e}px, 0)`:`scale(${d}) translate3d(${e}px, 0, 0)`})},keyboardIsOpen:ak,modal:w,snapPointsOffset:aw,activeSnapPointIndex:at,direction:K,shouldScaleBackground:i,setBackgroundColorOnScale:j,noBodyStyles:I,container:S,autoFocus:T}},e))}let N=d.default.forwardRef(function({...a},b){let{overlayRef:c,snapPoints:e,onRelease:f,shouldFade:g,isOpen:h,modal:i,shouldAnimate:j}=t(),k=A(b,c),l=e&&e.length>0;if(!i)return null;let m=d.default.useCallback(a=>f(a),[f]);return d.default.createElement(r.Overlay,{onMouseUp:m,ref:k,"data-vaul-overlay":"","data-vaul-snap-points":h&&l?"true":"false","data-vaul-snap-points-overlay":h&&g?"true":"false","data-vaul-animate":(null==j?void 0:j.current)?"true":"false",...a})});N.displayName="Drawer.Overlay";let O=d.default.forwardRef(function({onPointerDownOutside:a,style:b,onOpenAutoFocus:c,...e},f){let{drawerRef:g,onPress:h,onRelease:i,onDrag:j,keyboardIsOpen:k,snapPointsOffset:l,activeSnapPointIndex:m,modal:n,isOpen:o,direction:p,snapPoints:q,container:s,handleOnly:u,shouldAnimate:v,autoFocus:w}=t(),[x,y]=d.default.useState(!1),z=A(f,g),B=d.default.useRef(null),C=d.default.useRef(null),E=d.default.useRef(!1),H=q&&q.length>0;function I(a){B.current=null,E.current=!1,i(a)}return!function(){let{direction:a,isOpen:b,shouldScaleBackground:c,setBackgroundColorOnScale:e,noBodyStyles:f}=t(),g=d.default.useRef(null),h=(0,d.useMemo)(()=>document.body.style.backgroundColor,[]);function i(){return(window.innerWidth-26)/window.innerWidth}d.default.useEffect(()=>{if(b&&c){g.current&&clearTimeout(g.current);let b=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!b)return;!function(...a){}(e&&!f?F(document.body,{background:"black"}):K,F(b,{transformOrigin:D(a)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${G.join(",")})`}));let c=F(b,{borderRadius:"8px",overflow:"hidden",...D(a)?{transform:`scale(${i()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${i()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{c(),g.current=window.setTimeout(()=>{h?document.body.style.background=h:document.body.style.removeProperty("background")},500)}}},[b,c,h])}(),d.default.useEffect(()=>{H&&window.requestAnimationFrame(()=>{y(!0)})},[]),d.default.createElement(r.Content,{"data-vaul-drawer-direction":p,"data-vaul-drawer":"","data-vaul-delayed-snap-points":x?"true":"false","data-vaul-snap-points":o&&H?"true":"false","data-vaul-custom-container":s?"true":"false","data-vaul-animate":(null==v?void 0:v.current)?"true":"false",...e,ref:z,style:l&&l.length>0?{"--snap-point-height":`${l[null!=m?m:0]}px`,...b}:b,onPointerDown:a=>{u||(null==e.onPointerDown||e.onPointerDown.call(e,a),B.current={x:a.pageX,y:a.pageY},h(a))},onOpenAutoFocus:a=>{null==c||c(a),w||a.preventDefault()},onPointerDownOutside:b=>{(null==a||a(b),!n||b.defaultPrevented)?b.preventDefault():k.current&&(k.current=!1)},onFocusOutside:a=>{if(!n)return void a.preventDefault()},onPointerMove:a=>{if(C.current=a,u||(null==e.onPointerMove||e.onPointerMove.call(e,a),!B.current))return;let b=a.pageY-B.current.y,c=a.pageX-B.current.x,d="touch"===a.pointerType?10:2;((a,b,c=0)=>{if(E.current)return!0;let d=Math.abs(a.y),e=Math.abs(a.x),f=e>d,g=["bottom","right"].includes(b)?1:-1;if("left"===b||"right"===b){if(!(a.x*g<0)&&e>=0&&e<=c)return f}else if(!(a.y*g<0)&&d>=0&&d<=c)return!f;return E.current=!0,!0})({x:c,y:b},p,d)?j(a):(Math.abs(c)>d||Math.abs(b)>d)&&(B.current=null)},onPointerUp:a=>{null==e.onPointerUp||e.onPointerUp.call(e,a),B.current=null,E.current=!1,i(a)},onPointerOut:a=>{null==e.onPointerOut||e.onPointerOut.call(e,a),I(C.current)},onContextMenu:a=>{null==e.onContextMenu||e.onContextMenu.call(e,a),C.current&&I(C.current)}})});O.displayName="Drawer.Content";let P=d.default.forwardRef(function({preventCycle:a=!1,children:b,...c},e){let{closeDrawer:f,isDragging:g,snapPoints:h,activeSnapPoint:i,setActiveSnapPoint:j,dismissible:k,handleOnly:l,isOpen:m,onPress:n,onDrag:o}=t(),p=d.default.useRef(null),q=d.default.useRef(!1);function r(){p.current&&window.clearTimeout(p.current),q.current=!1}return d.default.createElement("div",{onClick:function(){q.current?r():window.setTimeout(()=>{!function(){if(g||a||q.current)return r();if(r(),!h||0===h.length){k||f();return}if(i===h[h.length-1]&&k)return f();let b=h.findIndex(a=>a===i);-1===b||j(h[b+1])}()},120)},onPointerCancel:r,onPointerDown:a=>{l&&n(a),p.current=window.setTimeout(()=>{q.current=!0},250)},onPointerMove:a=>{l&&o(a)},ref:e,"data-vaul-drawer-visible":m?"true":"false","data-vaul-handle":"","aria-hidden":"true",...c},d.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},b))});P.displayName="Drawer.Handle";let Q={Root:M,NestedRoot:function({onDrag:a,onOpenChange:b,open:c,...e}){let{onNestedDrag:f,onNestedOpenChange:g,onNestedRelease:h}=t();if(!f)throw Error("Drawer.NestedRoot must be placed in another drawer");return d.default.createElement(M,{nested:!0,open:c,onClose:()=>{g(!1)},onDrag:(b,c)=>{f(b,c),null==a||a(b,c)},onOpenChange:a=>{a&&g(a),null==b||b(a)},onRelease:h,...e})},Content:O,Overlay:N,Trigger:r.Trigger,Portal:function(a){let b=t(),{container:c=b.container,...e}=a;return d.default.createElement(r.Portal,{container:c,...e})},Handle:P,Close:r.Close,Title:r.Title,Description:r.Description};var R=a.i(85536);function S({...a}){return(0,c.jsx)(Q.Root,{"data-slot":"drawer",...a})}function T({...a}){return(0,c.jsx)(Q.Portal,{"data-slot":"drawer-portal",...a})}function U({className:a,...b}){return(0,c.jsx)(Q.Overlay,{"data-slot":"drawer-overlay",className:(0,R.cn)("fixed inset-0 z-50 bg-black/50",a),...b})}function V({className:a,children:b,direction:d="bottom",showCloseButton:e=!0,...f}){return(0,c.jsx)(T,{children:(0,c.jsxs)(Q.Content,{"data-slot":"drawer-content",className:(0,R.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===d&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===d&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===d&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===d&&"inset-y-0 left-0 h-full w-3/4 border-r",a),style:{"--initial-transform":"right"===d?"calc(100% + 8px)":"left"===d||"top"===d?"calc(-100% - 8px)":"calc(100% + 8px)",userSelect:"text",...f.style??{}},...f,children:[b,e?(0,c.jsxs)(Q.Close,{className:"ring-offset-background focus:ring-ring 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:[(0,c.jsx)(q.XIcon,{className:"size-4"}),(0,c.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function W({className:a,...b}){return(0,c.jsx)("div",{"data-slot":"drawer-header",className:(0,R.cn)("flex flex-col gap-1.5 p-4",a),...b})}function X({className:a,...b}){return(0,c.jsx)("div",{"data-slot":"drawer-footer",className:(0,R.cn)("mt-auto flex flex-col gap-2 p-4",a),...b})}function Y({className:a,...b}){return(0,c.jsx)(Q.Title,{"data-slot":"drawer-title",className:(0,R.cn)("text-foreground font-semibold",a),...b})}function Z({className:a,...b}){return(0,c.jsx)(Q.Description,{"data-slot":"drawer-description",className:(0,R.cn)("text-muted-foreground text-sm",a),...b})}a.s(["Drawer",()=>S,"DrawerContent",()=>V,"DrawerDescription",()=>Z,"DrawerFooter",()=>X,"DrawerHeader",()=>W,"DrawerOverlay",()=>U,"DrawerTitle",()=>Y],2824)},24255,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(10568),e=a.i(50490),f=a.i(5698),g=a.i(42261),h=a.i(85536);a.i(69029);var i=a.i(5623);a.i(49235);var j=a.i(85080),k=a.i(2824),l=a.i(13126),m=a.i(82934),n=a.i(18662),o=a.i(21333);let p=(0,g.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl"}},defaultVariants:{size:"sm"}});function q({open:a,onClose:e,modal:f=!1,dismissOnOutsideClick:g=!1,title:i="Drawer",size:j,header:m,children:n,footer:q,className:s,"data-testid":t,deployTarget:u}){let v=(0,o.useFeatureFlags)(),w=(0,c.useRef)(null);return(0,c.useEffect)(()=>{if(!a||f)return;let b=a=>{let b=a.target;!document.body.contains(b)||w.current?.contains(b)||b.closest(g?'[role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]':'[data-no-drawer-close], [role="alertdialog"], [role="dialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]')||e()};return document.addEventListener("click",b),()=>document.removeEventListener("click",b)},[a,f,e,g]),(0,b.jsxs)(k.Drawer,{direction:"right",modal:f,handleOnly:!0,open:a,onOpenChange:a=>{a||e()},children:[f?(0,b.jsx)(k.DrawerOverlay,{}):null,(0,b.jsxs)(k.DrawerContent,{ref:w,direction:"right",showCloseButton:!1,className:(0,h.cn)(p({size:j}),s),"data-testid":t,onInteractOutside:f?void 0:a=>a.preventDefault(),children:[(0,b.jsx)(k.DrawerTitle,{asChild:!0,children:(0,b.jsx)("span",{className:"sr-only",children:i})}),(0,b.jsx)(k.DrawerDescription,{asChild:!0,children:(0,b.jsx)("span",{className:"sr-only",children:i})}),(0,b.jsxs)("button",{type:"button","aria-label":"Close",onClick:e,className:"ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":t?`${t}-close-button`:void 0,children:[(0,b.jsx)(d.XIcon,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]}),m?(0,b.jsx)(k.DrawerHeader,{className:"shrink-0",children:m}):null,m?(0,b.jsx)(l.Separator,{}):null,v.envDeploy&&u?(0,b.jsx)(r,{deployTarget:u}):null,(0,b.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:n}),q?(0,b.jsx)(k.DrawerFooter,{className:"shrink-0",children:q}):null]})]})}function r({deployTarget:a}){let c=(0,n.useDeployAction)(a),d="Booting"===c.status||"Ready"===c.status;return(0,b.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pb-3",children:[(0,b.jsx)(m.TooltipProvider,{children:(0,b.jsxs)(m.Tooltip,{children:[(0,b.jsx)(m.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("span",{children:(0,b.jsx)(i.ActionButton,{label:d?"Stop Dev Server":"Start Dev Server",onClick:d?c.stop:c.deploy,loading:c.deployLoading||c.stopLoading,error:!!c.deployError,icon:d?f.Square:e.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,b.jsx)(m.TooltipContent,{children:d?"Stop Dev Server":"Start Dev Server"})]})}),d?(0,b.jsx)(j.DeploymentStatusBadge,{status:c.status,url:c.url,targetId:a.targetId}):null]})}a.s(["BaseDrawer",()=>q])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=_7dca1882._.js.map
|