@shepai/cli 1.179.1-pr536.c975f4d → 1.180.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.d.ts.map +1 -1
- package/dist/packages/core/src/application/use-cases/applications/create-application.use-case.js +7 -4
- package/dist/packages/core/src/application/workflows/application-creation.workflow.d.ts +8 -2
- package/dist/packages/core/src/application/workflows/application-creation.workflow.d.ts.map +1 -1
- package/dist/packages/core/src/application/workflows/application-creation.workflow.js +14 -24
- package/dist/packages/core/src/infrastructure/services/filesystem/node-application-file-system.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/filesystem/node-application-file-system.service.js +7 -1
- package/dist/src/presentation/web/app/actions/update-application.d.ts +5 -0
- package/dist/src/presentation/web/app/actions/update-application.d.ts.map +1 -0
- package/dist/src/presentation/web/app/actions/update-application.js +21 -0
- package/dist/src/presentation/web/components/assistant-ui/thread.js +4 -4
- package/dist/src/presentation/web/components/features/application-page/application-page.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/application-page/application-page.js +11 -1
- package/dist/src/presentation/web/components/features/chat/ChatTab.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/ChatTab.js +2 -2
- package/dist/src/presentation/web/components/features/chat/StepTracker.d.ts +15 -2
- package/dist/src/presentation/web/components/features/chat/StepTracker.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/StepTracker.js +78 -8
- package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts +8 -0
- package/dist/src/presentation/web/components/features/chat/useChatRuntime.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/useChatRuntime.js +108 -17
- package/dist/src/presentation/web/components/features/chat/workflow-placeholder.d.ts +1 -1
- package/dist/src/presentation/web/components/features/chat/workflow-placeholder.d.ts.map +1 -1
- package/dist/src/presentation/web/components/features/chat/workflow-placeholder.js +4 -6
- 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 +32 -32
- 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/chat/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/@drawer/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +33 -33
- 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 +41 -41
- 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 +41 -41
- 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]/[tab]/page/server-reference-manifest.json +31 -31
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
- 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)/chat/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +33 -33
- 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 +41 -41
- 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 +41 -41
- 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 +30 -30
- 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]/[tab]/page/server-reference-manifest.json +31 -31
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +31 -31
- 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 +7 -7
- 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/api/interactive/chat/[featureId]/messages/route.js.nft.json +1 -1
- package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/application/[id]/page.js.nft.json +1 -1
- package/web/.next/server/app/application/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/features/page/server-reference-manifest.json +7 -7
- package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/server-reference-manifest.json +10 -10
- 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 +15 -15
- 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 +13 -13
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +7 -7
- 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/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/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js +2 -2
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_feature-drawer-client_tsx_e9755fc8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__013a0318._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__17dadd08._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1925bef0._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1a9687c4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__24756fa9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4ee8be85._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__70986695._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__87bc4dac._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__87bc4dac._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__a5ea76a6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__bb391c45._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dd3e834e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__e265da61._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f3ca7bea._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_0277d3b5._.js +2 -2
- package/web/.next/server/chunks/ssr/_0277d3b5._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_936eb52f._.js → _36489f2b._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_936eb52f._.js.map → _36489f2b._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js +1 -1
- package/web/.next/server/chunks/ssr/_56b9d60f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_a3f47267._.js → _63fc4647._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_a3f47267._.js.map → _63fc4647._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_cd03c60d._.js → _8caadb9a._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_cd03c60d._.js.map → _8caadb9a._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_946a7fc6._.js +1 -1
- package/web/.next/server/chunks/ssr/_946a7fc6._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_f97bd21d._.js → _b8e8b690._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_f97bd21d._.js.map → _b8e8b690._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_854ae39b._.js → _d44d091a._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_854ae39b._.js.map → _d44d091a._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_eff1b518._.js +1 -1
- package/web/.next/server/chunks/ssr/_eff1b518._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f227429a._.js +1 -1
- package/web/.next/server/chunks/ssr/_f227429a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f86fc1bf._.js +1 -1
- package/web/.next/server/chunks/ssr/_f86fc1bf._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f8c55130._.js +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/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_36f2bc45._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_486908de._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_5c3596bc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6159fef8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6326f81e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_6b2fdcd8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_74703c9f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_a8056dac._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_ad42cc73._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-ide_ts_baaca5d5._.js +3 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b00bfb08._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_895e5bfa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_common_base-drawer_base-drawer_tsx_97dfbbc8._.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/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_skills_8a174cac._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_db9fa0c2._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f1edcf5e._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_f9436804._.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 +54 -54
- package/web/.next/static/chunks/06b9d6dbf635c370.css +1 -0
- package/web/.next/static/chunks/1bc12075020723ed.js +1 -0
- package/web/.next/static/chunks/1fa1574b87bd2eb1.js +1 -0
- package/web/.next/static/chunks/{d763375b20e7a0d8.js → 26e2ca76ab6c38b4.js} +1 -1
- package/web/.next/static/chunks/{5caab310bd5ce5dc.js → 2fe20598e1b4793a.js} +3 -3
- package/web/.next/static/chunks/{2e1f0b1d26bd7f04.js → 490667b2a9bb58e2.js} +1 -1
- package/web/.next/static/chunks/{bb60b5e4b5e4bc39.js → 7849c6797be7c6ca.js} +2 -2
- package/web/.next/static/chunks/{f3a549aa7a4dc6d7.js → 7bc7028587490fff.js} +1 -1
- package/web/.next/static/chunks/{2374b4d7e456e10f.js → 8746807722de67a8.js} +1 -1
- package/web/.next/static/chunks/{71896d6be547a34c.js → 893a2a76546c66a7.js} +1 -1
- package/web/.next/static/chunks/{a59a4dbe37fde0a8.js → a1098522326428d1.js} +1 -1
- package/web/.next/static/chunks/{fc40fada6a6ed6f8.js → be89c20c257247ad.js} +1 -1
- package/web/.next/static/chunks/{b73ad92c421b72b9.js → c0bd3ffcf94d1845.js} +1 -1
- package/web/.next/static/chunks/{8e8a2db2aa138419.js → dfdcccf73de56960.js} +1 -1
- package/web/.next/static/chunks/{efd03eb92d09c9a1.js → e2f9e224d1fa1faa.js} +1 -1
- package/web/.next/static/chunks/{00aac0dd4073b6e8.js → e7da54dde18e7fb2.js} +2 -2
- package/web/.next/static/chunks/{f679709942c35216.js → f28aef9cf5107c4b.js} +1 -1
- package/web/.next/static/chunks/{40b69c5164b1c108.js → f6d47ff35d612852.js} +3 -3
- package/web/.next/static/chunks/7f7a032daa42a969.js +0 -1
- package/web/.next/static/chunks/c4ccddb6d9fabbd0.css +0 -1
- package/web/.next/static/chunks/c962f6d7c6928b67.js +0 -1
- /package/web/.next/static/{muO23uSysJM1bwu3hwEw- → GQFJf3UCD4D5C4NCn8eXl}/_buildManifest.js +0 -0
- /package/web/.next/static/{muO23uSysJM1bwu3hwEw- → GQFJf3UCD4D5C4NCn8eXl}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{muO23uSysJM1bwu3hwEw- → GQFJf3UCD4D5C4NCn8eXl}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,11495,72714,81803,5259,99348,45811,e=>{"use strict";let t;var n=e.i(20314),r=e.i(79054),a=e.i(48249),o=e.i(24042),l=e.i(6910),i=e.i(94237),s=e.i(31777),u=e.i(83428),d=e.i(51251),c=e.i(35364),f=e.i(8361);function m({label:e,onClick:t,loading:r,error:a,icon:o,iconOnly:l=!1,variant:i="outline",size:m="sm"}){let p=(0,f.useSoundAction)("click");return(0,n.jsxs)(c.Button,{variant:i,size:m,"aria-label":e,disabled:r,onClick:()=>{p.play(),t()},className:(0,s.cn)("gap-1.5",a&&"text-destructive hover:text-destructive",!a&&l&&"ghost"===i&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[r?(0,n.jsx)(u.Loader2,{className:"size-4 animate-spin"}):a?(0,n.jsx)(d.CircleAlert,{className:"size-4"}):(0,n.jsx)(o,{className:"size-4"}),l?null:e]})}e.s(["ActionButton",()=>m],72714),e.s([],81803);var p=e.i(30702),h=e.i(38573),g=e.i(17406),v=e.i(2828),w=e.i(2287),x=e.i(21023);let y=(0,x.createServerReference)("40ed09d2ca42e851f0296d516592e26facbf9d478e",x.callServer,void 0,x.findSourceMapURL,"getDeploymentLogs");function b({open:e,onOpenChange:t,targetId:a}){let{logs:o,isConnected:l}=function(e){let[t,n]=(0,r.useState)([]),[a,o]=(0,r.useState)(!1),l=(0,r.useRef)(null),i=(0,r.useCallback)(()=>{l.current&&(l.current.close(),l.current=null),o(!1)},[]);return(0,r.useEffect)(()=>{if(!e){n([]),o(!1);return}y(e).then(e=>{e&&n(e)}).catch(()=>{});let t=new EventSource(`/api/deployment-logs?targetId=${e}`);return l.current=t,t.onopen=()=>{o(!0)},t.addEventListener("log",e=>{let t=JSON.parse(e.data);n(e=>[...e,t])}),t.onerror=()=>{o(!1)},()=>{t.close(),l.current=null}},[e,i]),{logs:t,isConnected:a}}(e?a:null);return(0,n.jsx)(j,{open:e,onOpenChange:t,logs:o,isConnected:l})}function j({open:e,onOpenChange:t,logs:a,isConnected:o}){let l=(0,r.useRef)(null),i=(0,r.useRef)(!0),s=(0,r.useCallback)(()=>{let e=l.current;e&&(i.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,r.useEffect)(()=>{i.current&&l.current&&(l.current.scrollTop=l.current.scrollHeight)},[a]),(0,n.jsx)(w.Dialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(w.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,n.jsxs)(w.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(h.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,n.jsx)(w.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,n.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${o?"bg-green-500":"bg-zinc-500"}`}),(0,n.jsx)("span",{className:"text-xs text-zinc-400",children:o?"Connected":"Disconnected"})]})]}),(0,n.jsxs)("div",{ref:l,onScroll:s,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===a.length?(0,n.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):a.map(e=>(0,n.jsx)(T,{entry:e},`${e.timestamp}-${e.stream}-${e.line}`)),!o&&a.length>0&&(0,n.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function T({entry:e}){return(0,n.jsx)("div",{"data-stream":e.stream,className:"stderr"===e.stream?"text-red-400":"text-zinc-200",children:(0,n.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.line})})}let C="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";function R({status:e,url:t,targetId:a}){let[o,l]=(0,r.useState)(!1),i=a&&(e===g.DeploymentState.Booting||e===g.DeploymentState.Ready);switch(e){case g.DeploymentState.Booting:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,n.jsx)(u.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,n.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),i?(0,n.jsx)(v.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(v.Tooltip,{children:[(0,n.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:C,onClick:e=>{e.stopPropagation(),l(!0)},children:(0,n.jsx)(h.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(v.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),i?(0,n.jsx)(b,{open:o,onOpenChange:l,targetId:a}):null]});case g.DeploymentState.Ready:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,n.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),t?(0,n.jsxs)("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-[11px] text-green-600 hover:text-green-500 dark:text-green-400 dark:hover:text-green-300",onClick:e=>e.stopPropagation(),children:[t,(0,n.jsx)(p.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,n.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),i?(0,n.jsx)(v.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(v.Tooltip,{children:[(0,n.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:C,onClick:e=>{e.stopPropagation(),l(!0)},children:(0,n.jsx)(h.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(v.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),i?(0,n.jsx)(b,{open:o,onOpenChange:l,targetId:a}):null]});default:return null}}e.s(["DeploymentStatusBadge",()=>R],5259),e.s([],99348);var E=e.i(567);let D=r.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}),N=()=>{let e=r.default.useContext(D);if(!e)throw Error("useDrawerContext must be used within a Drawer.Root");return e};function k(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function S(){return $(/^iPhone/)||$(/^iPad/)||$(/^Mac/)&&navigator.maxTouchPoints>1}function $(e){return"u">typeof window&&null!=window.navigator?e.test(window.navigator.platform):void 0}!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}("[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 P="u">typeof window?r.useLayoutEffect:r.useEffect;function z(...e){return(...t)=>{for(let n of e)"function"==typeof n&&n(...t)}}let M="u">typeof document&&window.visualViewport;function O(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function B(e){for(O(e)&&(e=e.parentElement);e&&!O(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}let L=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),F=0;function H(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function A(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let t=B(e);if(t!==document.documentElement&&t!==document.body&&t!==e){let n=t.getBoundingClientRect().top,r=e.getBoundingClientRect().top;e.getBoundingClientRect().bottom>t.getBoundingClientRect().bottom+24&&(t.scrollTop+=r-n)}e=t.parentElement}}function W(e){return e instanceof HTMLInputElement&&!L.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function I(...e){return r.useCallback(function(...e){return t=>e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}(...e),e)}let q=new WeakMap;function Y(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([t,n])=>{t.startsWith("--")?e.style.setProperty(t,n):(r[t]=e.style[t],e.style[t]=n)}),n||q.set(e,r)}let X=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function U(e,t){if(!e)return null;let n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform,a=r.match(/^matrix3d\((.+)\)$/);return a?parseFloat(a[1].split(", ")[X(t)?13:12]):(a=r.match(/^matrix\((.+)\)$/))?parseFloat(a[1].split(", ")[X(t)?5:4]):null}function V(e,t){if(!e)return()=>{};let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}let K=[.32,.72,0,1],J="vaul-dragging";function _(e){let t=r.default.useRef(e);return r.default.useEffect(()=>{t.current=e}),r.default.useMemo(()=>(...e)=>null==t.current?void 0:t.current.call(t,...e),[])}function G({prop:e,defaultProp:t,onChange:n=()=>{}}){let[a,o]=function({defaultProp:e,onChange:t}){let n=r.default.useState(e),[a]=n,o=r.default.useRef(a),l=_(t);return r.default.useEffect(()=>{o.current!==a&&(l(a),o.current=a)},[a,o,l]),n}({defaultProp:t,onChange:n}),l=void 0!==e,i=l?e:a,s=_(n);return[i,r.default.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&s(n)}else o(t)},[l,e,o,s])]}let Q=()=>()=>{},Z=null;function ee({open:e,onOpenChange:n,children:a,onDrag:o,onRelease:l,snapPoints:i,shouldScaleBackground:s=!1,setBackgroundColorOnScale:u=!0,closeThreshold:d=.25,scrollLockTimeout:c=100,dismissible:f=!0,handleOnly:m=!1,fadeFromIndex:p=i&&i.length-1,activeSnapPoint:h,setActiveSnapPoint:g,fixed:v,modal:w=!0,onClose:x,nested:y,noBodyStyles:b=!1,direction:j="bottom",defaultOpen:T=!1,disablePreventScroll:C=!0,snapToSequentialPoint:R=!1,preventScrollRestoration:N=!1,repositionInputs:$=!0,onAnimationEnd:O,container:L,autoFocus:I=!1}){var V,_;let[Q=!1,ee]=G({defaultProp:T,prop:e,onChange:e=>{null==n||n(e),e||y||e$(),setTimeout(()=>{null==O||O(e)},500),e&&!w&&"u">typeof window&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),e||(document.body.style.pointerEvents="auto")}}),[et,en]=r.default.useState(!1),[er,ea]=r.default.useState(!1),[eo,el]=r.default.useState(!1),ei=r.default.useRef(null),es=r.default.useRef(null),eu=r.default.useRef(null),ed=r.default.useRef(null),ec=r.default.useRef(null),ef=r.default.useRef(!1),em=r.default.useRef(null),ep=r.default.useRef(0),eh=r.default.useRef(!1),eg=r.default.useRef(!T),ev=r.default.useRef(0),ew=r.default.useRef(null),ex=r.default.useRef((null==(V=ew.current)?void 0:V.getBoundingClientRect().height)||0),ey=r.default.useRef((null==(_=ew.current)?void 0:_.getBoundingClientRect().width)||0),eb=r.default.useRef(0),ej=r.default.useCallback(e=>{i&&e===eD.length-1&&(es.current=new Date)},[]),{activeSnapPoint:eT,activeSnapPointIndex:eC,setActiveSnapPoint:eR,onRelease:eE,snapPointsOffset:eD,onDrag:eN,shouldFade:ek,getPercentageDragged:eS}=function({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:a,overlayRef:o,fadeFromIndex:l,onSnapPointChange:i,direction:s="bottom",container:u,snapToSequentialPoint:d}){let[c,f]=G({prop:e,defaultProp:null==n?void 0:n[0],onChange:t}),[m,p]=r.default.useState("u">typeof window?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);r.default.useEffect(()=>{function e(){p({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let h=r.default.useMemo(()=>c===(null==n?void 0:n[n.length-1])||null,[n,c]),g=r.default.useMemo(()=>{var e;return null!=(e=null==n?void 0:n.findIndex(e=>e===c))?e:null},[n,c]),v=n&&n.length>0&&(l||0===l)&&!Number.isNaN(l)&&n[l]===c||!n,w=r.default.useMemo(()=>{var e;let t=u?{width:u.getBoundingClientRect().width,height:u.getBoundingClientRect().height}:"u">typeof window?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};return null!=(e=null==n?void 0:n.map(e=>{let n="string"==typeof e,r=0;if(n&&(r=parseInt(e,10)),X(s)){let a=n?r:m?e*t.height:0;return m?"bottom"===s?t.height-a:-t.height+a:a}let a=n?r:m?e*t.width:0;return m?"right"===s?t.width-a:-t.width+a:a}))?e:[]},[n,m,u]),x=r.default.useMemo(()=>null!==g?null==w?void 0:w[g]:null,[w,g]),y=r.default.useCallback(e=>{var t;let r=null!=(t=null==w?void 0:w.findIndex(t=>t===e))?t:null;i(r),Y(a.current,{transition:`transform 0.5s cubic-bezier(${K.join(",")})`,transform:X(s)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`}),w&&r!==w.length-1&&void 0!==l&&r!==l&&r<l?Y(o.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`,opacity:"0"}):Y(o.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`,opacity:"1"}),f(null==n?void 0:n[Math.max(r,0)])},[a.current,n,w,l,o,f]);return r.default.useEffect(()=>{if(c||e){var t;let r=null!=(t=null==n?void 0:n.findIndex(t=>t===e||t===c))?t:-1;w&&-1!==r&&"number"==typeof w[r]&&y(w[r])}},[c,e,n,w,y]),{isLastSnapPoint:h,activeSnapPoint:c,shouldFade:v,getPercentageDragged:function(e,t){if(!n||"number"!=typeof g||!w||void 0===l)return null;let r=g===l-1;if(g>=l&&t)return 0;if(r&&!t)return 1;if(!v&&!r)return null;let a=r?g+1:g-1,o=e/Math.abs(r?w[a]-w[a-1]:w[a+1]-w[a]);return r?1-o:o},setActiveSnapPoint:f,activeSnapPointIndex:g,onRelease:function({draggedDistance:e,closeDrawer:t,velocity:r,dismissible:a}){if(void 0===l)return;let i="bottom"===s||"right"===s?(null!=x?x:0)-e:(null!=x?x:0)+e,u=g===l-1,c=0===g,f=e>0;if(u&&Y(o.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`}),!d&&r>2&&!f)return void(a?t():y(w[0]));if(!d&&r>2&&f&&w&&n)return void y(w[n.length-1]);let m=null==w?void 0:w.reduce((e,t)=>"number"!=typeof e||"number"!=typeof t?e:Math.abs(t-i)<Math.abs(e-i)?t:e),p=X(s)?window.innerHeight:window.innerWidth;if(r>.4&&Math.abs(e)<.4*p){let e=f?1:-1;return e>0&&h&&n?void y(w[n.length-1]):void(c&&e<0&&a&&t(),null===g||y(w[g+e]))}y(m)},onDrag:function({draggedDistance:e}){if(null===x)return;let t="bottom"===s||"right"===s?x-e:x+e;("bottom"===s||"right"===s)&&t<w[w.length-1]||("top"===s||"left"===s)&&t>w[w.length-1]||Y(a.current,{transform:X(s)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},snapPointsOffset:w}}({snapPoints:i,activeSnapPointProp:h,setActiveSnapPointProp:g,drawerRef:ew,fadeFromIndex:p,overlayRef:ei,onSnapPointChange:ej,direction:j,container:L,snapToSequentialPoint:R});!function(e={}){let{isDisabled:n}=e;P(()=>{if(!n){var e,r,a;let n,o,l,i,s,u,d;return 1==++F&&S()&&(l=0,i=window.pageXOffset,s=window.pageYOffset,u=z((e=document.documentElement,r="paddingRight",a=`${window.innerWidth-document.documentElement.clientWidth}px`,n=e.style[r],e.style[r]=a,()=>{e.style[r]=n})),window.scrollTo(0,0),d=z(H(document,"touchstart",e=>{((o=B(e.target))!==document.documentElement||o!==document.body)&&(l=e.changedTouches[0].pageY)},{passive:!1,capture:!0}),H(document,"touchmove",e=>{if(!o||o===document.documentElement||o===document.body)return void e.preventDefault();let t=e.changedTouches[0].pageY,n=o.scrollTop,r=o.scrollHeight-o.clientHeight;0!==r&&((n<=0&&t>l||n>=r&&t<l)&&e.preventDefault(),l=t)},{passive:!1,capture:!0}),H(document,"touchend",e=>{let t=e.target;W(t)&&t!==document.activeElement&&(e.preventDefault(),t.style.transform="translateY(-2000px)",t.focus(),requestAnimationFrame(()=>{t.style.transform=""}))},{passive:!1,capture:!0}),H(document,"focus",e=>{let t=e.target;W(t)&&(t.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{t.style.transform="",M&&(M.height<window.innerHeight?requestAnimationFrame(()=>{A(t)}):M.addEventListener("resize",()=>A(t),{once:!0}))}))},!0),H(window,"scroll",()=>{window.scrollTo(0,0)})),t=()=>{u(),d(),window.scrollTo(i,s)}),()=>{0==--F&&(null==t||t())}}},[n])}({isDisabled:!Q||er||!w||eo||!et||!$||!C});let{restorePositionSetting:e$}=function({isOpen:e,modal:t,nested:n,hasBeenOpened:a,preventScrollRestoration:o,noBodyStyles:l}){let[i,s]=r.default.useState(()=>"u">typeof window?window.location.href:""),u=r.default.useRef(0),d=r.default.useCallback(()=>{if(k()&&null===Z&&e&&!l){Z={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:e,innerHeight:t}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-u.current}px`,left:`${-e}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let e=t-window.innerHeight;e&&u.current>=t&&(document.body.style.top=`${-(u.current+e)}px`)}),300)}},[e]),c=r.default.useCallback(()=>{if(k()&&null!==Z&&!l){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,Z),window.requestAnimationFrame(()=>{o&&i!==window.location.href?s(window.location.href):window.scrollTo(t,e)}),Z=null}},[i]);return r.default.useEffect(()=>{function e(){u.current=window.scrollY}return e(),window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),r.default.useEffect(()=>{if(t)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||c()}},[t,c]),r.default.useEffect(()=>{!n&&a&&(e?(window.matchMedia("(display-mode: standalone)").matches||d(),t||window.setTimeout(()=>{c()},500)):c())},[e,a,i,t,n,d,c]),{restorePositionSetting:c}}({isOpen:Q,modal:w,nested:null!=y&&y,hasBeenOpened:et,preventScrollRestoration:N,noBodyStyles:b});function eP(){return(window.innerWidth-26)/window.innerWidth}function ez(e,t){var n;let r=e,a=null==(n=window.getSelection())?void 0:n.toString(),o=ew.current?U(ew.current,j):null,l=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===j||"left"===j)return!0;if(es.current&&l.getTime()-es.current.getTime()<500)return!1;if(null!==o&&("bottom"===j?o>0:o<0))return!0;if(a&&a.length>0)return!1;if(ec.current&&l.getTime()-ec.current.getTime()<c&&0===o||t)return ec.current=l,!1;for(;r;){if(r.scrollHeight>r.clientHeight){if(0!==r.scrollTop)return ec.current=new Date,!1;if("dialog"===r.getAttribute("role"))break}r=r.parentNode}return!0}function eM(e){er&&ew.current&&(ew.current.classList.remove(J),ef.current=!1,ea(!1),ed.current=new Date),null==x||x(),e||ee(!1),setTimeout(()=>{i&&eR(i[0])},500)}function eO(){if(!ew.current)return;let e=document.querySelector("[data-vaul-drawer-wrapper]"),t=U(ew.current,j);Y(ew.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${K.join(",")})`}),Y(ei.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`,opacity:"1"}),s&&t&&t>0&&Q&&Y(e,{borderRadius:"8px",overflow:"hidden",...X(j)?{transform:`scale(${eP()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${eP()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${K.join(",")})`},!0)}return r.default.useEffect(()=>{window.requestAnimationFrame(()=>{eg.current=!0})},[]),r.default.useEffect(()=>{var e;function t(){if(ew.current&&$&&(W(document.activeElement)||eh.current)){var e;let t=(null==(e=window.visualViewport)?void 0:e.height)||0,n=window.innerHeight,r=n-t,a=ew.current.getBoundingClientRect().height||0;eb.current||(eb.current=a);let o=ew.current.getBoundingClientRect().top;if(Math.abs(ev.current-r)>60&&(eh.current=!eh.current),i&&i.length>0&&eD&&eC&&(r+=eD[eC]||0),ev.current=r,a>t||eh.current){let e=ew.current.getBoundingClientRect().height,l=e;e>t&&(l=t-(a>.8*n?o:26)),v?ew.current.style.height=`${e-Math.max(r,0)}px`:ew.current.style.height=`${Math.max(l,t-o)}px`}else{let e;e=navigator.userAgent,"u">typeof window&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))||(ew.current.style.height=`${eb.current}px`)}i&&i.length>0&&!eh.current?ew.current.style.bottom="0px":ew.current.style.bottom=`${Math.max(r,0)}px`}}return null==(e=window.visualViewport)||e.addEventListener("resize",t),()=>{var e;return null==(e=window.visualViewport)?void 0:e.removeEventListener("resize",t)}},[eC,i,eD]),r.default.useEffect(()=>(Q&&(Y(document.documentElement,{scrollBehavior:"auto"}),es.current=new Date),()=>{!function(e,t){if(!e||!(e instanceof HTMLElement))return;let n=q.get(e);n&&(e.style[t]=n[t])}(document.documentElement,"scrollBehavior")}),[Q]),r.default.useEffect(()=>{w||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[w]),r.default.createElement(E.Root,{defaultOpen:T,onOpenChange:e=>{(f||e)&&(e?en(!0):eM(!0),ee(e))},open:Q},r.default.createElement(D.Provider,{value:{activeSnapPoint:eT,snapPoints:i,setActiveSnapPoint:eR,drawerRef:ew,overlayRef:ei,onOpenChange:n,onPress:function(e){var t,n;!f&&!i||(!ew.current||ew.current.contains(e.target))&&(ex.current=(null==(t=ew.current)?void 0:t.getBoundingClientRect().height)||0,ey.current=(null==(n=ew.current)?void 0:n.getBoundingClientRect().width)||0,ea(!0),eu.current=new Date,S()&&window.addEventListener("touchend",()=>ef.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),ep.current=X(j)?e.pageY:e.pageX)},onRelease:function(e){var t,n;if(!er||!ew.current)return;ew.current.classList.remove(J),ef.current=!1,ea(!1),ed.current=new Date;let r=U(ew.current,j);if(!e||!ez(e.target,!1)||!r||Number.isNaN(r)||null===eu.current)return;let a=ed.current.getTime()-eu.current.getTime(),o=ep.current-(X(j)?e.pageY:e.pageX),s=Math.abs(o)/a;if(s>.05&&(el(!0),setTimeout(()=>{el(!1)},200)),i){eE({draggedDistance:o*("bottom"===j||"right"===j?1:-1),closeDrawer:eM,velocity:s,dismissible:f}),null==l||l(e,!0);return}if("bottom"===j||"right"===j?o>0:o<0){eO(),null==l||l(e,!0);return}if(s>.4){eM(),null==l||l(e,!1);return}let u=Math.min(null!=(t=ew.current.getBoundingClientRect().height)?t:0,window.innerHeight),c=Math.min(null!=(n=ew.current.getBoundingClientRect().width)?n:0,window.innerWidth);if(Math.abs(r)>=("left"===j||"right"===j?c:u)*d){eM(),null==l||l(e,!1);return}null==l||l(e,!0),eO()},onDrag:function(e){if(ew.current&&er){let t="bottom"===j||"right"===j?1:-1,n=(ep.current-(X(j)?e.pageY:e.pageX))*t,r=n>0,a=i&&!f&&!r;if(a&&0===eC)return;let l=Math.abs(n),u=document.querySelector("[data-vaul-drawer-wrapper]"),d=l/("bottom"===j||"top"===j?ex.current:ey.current),c=eS(l,r);if(null!==c&&(d=c),a&&d>=1||!ef.current&&!ez(e.target,r))return;if(ew.current.classList.add(J),ef.current=!0,Y(ew.current,{transition:"none"}),Y(ei.current,{transition:"none"}),i&&eN({draggedDistance:n}),r&&!i){let e=Math.min(-(8*(Math.log(n+1)-2)*1),0)*t;Y(ew.current,{transform:X(j)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`});return}let m=1-d;if((ek||p&&eC===p-1)&&(null==o||o(e,d),Y(ei.current,{opacity:`${m}`,transition:"none"},!0)),u&&ei.current&&s){let e=Math.min(eP()+d*(1-eP()),1),t=8-8*d,n=Math.max(0,14-14*d);Y(u,{borderRadius:`${t}px`,transform:X(j)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!i){let e=l*t;Y(ew.current,{transform:X(j)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}},dismissible:f,shouldAnimate:eg,handleOnly:m,isOpen:Q,isDragging:er,shouldFade:ek,closeDrawer:eM,onNestedDrag:function(e,t){if(t<0)return;let n=(window.innerWidth-16)/window.innerWidth,r=n+t*(1-n),a=-16+16*t;Y(ew.current,{transform:X(j)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(e){let t=e?(window.innerWidth-16)/window.innerWidth:1,n=e?-16:0;em.current&&window.clearTimeout(em.current),Y(ew.current,{transition:`transform 0.5s cubic-bezier(${K.join(",")})`,transform:X(j)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&ew.current&&(em.current=setTimeout(()=>{let e=U(ew.current,j);Y(ew.current,{transition:"none",transform:X(j)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))},onNestedRelease:function(e,t){let n=X(j)?window.innerHeight:window.innerWidth,r=t?(n-16)/n:1,a=t?-16:0;t&&Y(ew.current,{transition:`transform 0.5s cubic-bezier(${K.join(",")})`,transform:X(j)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:eh,modal:w,snapPointsOffset:eD,activeSnapPointIndex:eC,direction:j,shouldScaleBackground:s,setBackgroundColorOnScale:u,noBodyStyles:b,container:L,autoFocus:I}},a))}let et=r.default.forwardRef(function({...e},t){let{overlayRef:n,snapPoints:a,onRelease:o,shouldFade:l,isOpen:i,modal:s,shouldAnimate:u}=N(),d=I(t,n),c=a&&a.length>0;if(!s)return null;let f=r.default.useCallback(e=>o(e),[o]);return r.default.createElement(E.Overlay,{onMouseUp:f,ref:d,"data-vaul-overlay":"","data-vaul-snap-points":i&&c?"true":"false","data-vaul-snap-points-overlay":i&&l?"true":"false","data-vaul-animate":(null==u?void 0:u.current)?"true":"false",...e})});et.displayName="Drawer.Overlay";let en=r.default.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...a},o){let{drawerRef:l,onPress:i,onRelease:s,onDrag:u,keyboardIsOpen:d,snapPointsOffset:c,activeSnapPointIndex:f,modal:m,isOpen:p,direction:h,snapPoints:g,container:v,handleOnly:w,shouldAnimate:x,autoFocus:y}=N(),[b,j]=r.default.useState(!1),T=I(o,l),C=r.default.useRef(null),R=r.default.useRef(null),D=r.default.useRef(!1),k=g&&g.length>0;function S(e){C.current=null,D.current=!1,s(e)}return!function(){let{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:a,noBodyStyles:o}=N(),l=r.default.useRef(null),i=(0,r.useMemo)(()=>document.body.style.backgroundColor,[]);function s(){return(window.innerWidth-26)/window.innerWidth}r.default.useEffect(()=>{if(t&&n){l.current&&clearTimeout(l.current);let t=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!t)return;!function(...e){}(a&&!o?V(document.body,{background:"black"}):Q,V(t,{transformOrigin:X(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${K.join(",")})`}));let n=V(t,{borderRadius:"8px",overflow:"hidden",...X(e)?{transform:`scale(${s()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${s()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{n(),l.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},500)}}},[t,n,i])}(),r.default.useEffect(()=>{k&&window.requestAnimationFrame(()=>{j(!0)})},[]),r.default.createElement(E.Content,{"data-vaul-drawer-direction":h,"data-vaul-drawer":"","data-vaul-delayed-snap-points":b?"true":"false","data-vaul-snap-points":p&&k?"true":"false","data-vaul-custom-container":v?"true":"false","data-vaul-animate":(null==x?void 0:x.current)?"true":"false",...a,ref:T,style:c&&c.length>0?{"--snap-point-height":`${c[null!=f?f:0]}px`,...t}:t,onPointerDown:e=>{w||(null==a.onPointerDown||a.onPointerDown.call(a,e),C.current={x:e.pageX,y:e.pageY},i(e))},onOpenAutoFocus:e=>{null==n||n(e),y||e.preventDefault()},onPointerDownOutside:t=>{(null==e||e(t),!m||t.defaultPrevented)?t.preventDefault():d.current&&(d.current=!1)},onFocusOutside:e=>{if(!m)return void e.preventDefault()},onPointerMove:e=>{if(R.current=e,w||(null==a.onPointerMove||a.onPointerMove.call(a,e),!C.current))return;let t=e.pageY-C.current.y,n=e.pageX-C.current.x,r="touch"===e.pointerType?10:2;((e,t,n=0)=>{if(D.current)return!0;let r=Math.abs(e.y),a=Math.abs(e.x),o=a>r,l=["bottom","right"].includes(t)?1:-1;if("left"===t||"right"===t){if(!(e.x*l<0)&&a>=0&&a<=n)return o}else if(!(e.y*l<0)&&r>=0&&r<=n)return!o;return D.current=!0,!0})({x:n,y:t},h,r)?u(e):(Math.abs(n)>r||Math.abs(t)>r)&&(C.current=null)},onPointerUp:e=>{null==a.onPointerUp||a.onPointerUp.call(a,e),C.current=null,D.current=!1,s(e)},onPointerOut:e=>{null==a.onPointerOut||a.onPointerOut.call(a,e),S(R.current)},onContextMenu:e=>{null==a.onContextMenu||a.onContextMenu.call(a,e),R.current&&S(R.current)}})});en.displayName="Drawer.Content";let er=r.default.forwardRef(function({preventCycle:e=!1,children:t,...n},a){let{closeDrawer:o,isDragging:l,snapPoints:i,activeSnapPoint:s,setActiveSnapPoint:u,dismissible:d,handleOnly:c,isOpen:f,onPress:m,onDrag:p}=N(),h=r.default.useRef(null),g=r.default.useRef(!1);function v(){h.current&&window.clearTimeout(h.current),g.current=!1}return r.default.createElement("div",{onClick:function(){g.current?v():window.setTimeout(()=>{!function(){if(l||e||g.current)return v();if(v(),!i||0===i.length){d||o();return}if(s===i[i.length-1]&&d)return o();let t=i.findIndex(e=>e===s);-1===t||u(i[t+1])}()},120)},onPointerCancel:v,onPointerDown:e=>{c&&m(e),h.current=window.setTimeout(()=>{g.current=!0},250)},onPointerMove:e=>{c&&p(e)},ref:a,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},r.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});er.displayName="Drawer.Handle";let ea={Root:ee,NestedRoot:function({onDrag:e,onOpenChange:t,open:n,...a}){let{onNestedDrag:o,onNestedOpenChange:l,onNestedRelease:i}=N();if(!o)throw Error("Drawer.NestedRoot must be placed in another drawer");return r.default.createElement(ee,{nested:!0,open:n,onClose:()=>{l(!1)},onDrag:(t,n)=>{o(t,n),null==e||e(t,n)},onOpenChange:e=>{e&&l(e),null==t||t(e)},onRelease:i,...a})},Content:en,Overlay:et,Trigger:E.Trigger,Portal:function(e){let t=N(),{container:n=t.container,...a}=e;return r.default.createElement(E.Portal,{container:n,...a})},Handle:er,Close:E.Close,Title:E.Title,Description:E.Description};function eo({...e}){return(0,n.jsx)(ea.Root,{"data-slot":"drawer",...e})}function el({...e}){return(0,n.jsx)(ea.Portal,{"data-slot":"drawer-portal",...e})}function ei({className:e,...t}){return(0,n.jsx)(ea.Overlay,{"data-slot":"drawer-overlay",className:(0,s.cn)("fixed inset-0 z-50 bg-black/50",e),...t})}function es({className:e,children:t,direction:r="bottom",showCloseButton:o=!0,...l}){return(0,n.jsx)(el,{children:(0,n.jsxs)(ea.Content,{"data-slot":"drawer-content",className:(0,s.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===r&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===r&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===r&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===r&&"inset-y-0 left-0 h-full w-3/4 border-r",e),style:{"--initial-transform":"calc(100% + 8px)",userSelect:"text",...l.style??{}},...l,children:[t,o?(0,n.jsxs)(ea.Close,{className:"ring-offset-background focus:ring-ring absolute end-4 top-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,n.jsx)(a.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function eu({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-header",className:(0,s.cn)("flex flex-col gap-1.5 p-4",e),...t})}function ed({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-footer",className:(0,s.cn)("mt-auto flex flex-col gap-2 p-4",e),...t})}function ec({className:e,...t}){return(0,n.jsx)(ea.Title,{"data-slot":"drawer-title",className:(0,s.cn)("text-foreground font-semibold",e),...t})}function ef({className:e,...t}){return(0,n.jsx)(ea.Description,{"data-slot":"drawer-description",className:(0,s.cn)("text-muted-foreground text-sm",e),...t})}e.s(["Drawer",()=>eo,"DrawerContent",()=>es,"DrawerDescription",()=>ef,"DrawerFooter",()=>ed,"DrawerHeader",()=>eu,"DrawerOverlay",()=>ei,"DrawerTitle",()=>ec],45811);var em=e.i(25235);e.i(41001);var ep=e.i(64780),eh=e.i(8537),eg=e.i(75921);let ev=(0,i.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function ew({open:e,onClose:t,modal:o=!1,dismissOnOutsideClick:l=!1,title:i="Drawer",size:u,header:d,children:c,footer:f,className:m,"data-testid":p,deployTarget:h}){let{i18n:g}=(0,ep.useTranslation)(),v=(0,eg.useFeatureFlags)(),w=(0,r.useRef)(null),x="rtl"===g.dir()?"left":"right";return(0,r.useEffect)(()=>{if(!e||o)return;let n=e=>{let n=e.target;!document.body.contains(n)||w.current?.contains(n)||n.closest(l?'[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]')||t()};return document.addEventListener("click",n),()=>document.removeEventListener("click",n)},[e,o,t,l]),(0,n.jsxs)(eo,{direction:x,modal:o,handleOnly:!0,open:e,onOpenChange:e=>{e||t()},children:[o?(0,n.jsx)(ei,{}):null,(0,n.jsxs)(es,{ref:w,direction:x,showCloseButton:!1,className:(0,s.cn)(ev({size:u}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",m),"data-testid":p,onInteractOutside:o?void 0:e=>e.preventDefault(),children:[(0,n.jsx)(ec,{asChild:!0,children:(0,n.jsx)("span",{className:"sr-only",children:i})}),(0,n.jsx)(ef,{asChild:!0,children:(0,n.jsx)("span",{className:"sr-only",children:i})}),(0,n.jsxs)("button",{type:"button","aria-label":"Close",onClick:t,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":p?`${p}-close-button`:void 0,children:[(0,n.jsx)(a.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}),d?(0,n.jsx)(eu,{className:"shrink-0",children:d}):null,d?(0,n.jsx)(em.Separator,{}):null,v.envDeploy&&h?(0,n.jsx)(ex,{deployTarget:h}):null,(0,n.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:c}),f?(0,n.jsx)(ed,{className:"shrink-0",children:f}):null]})]})}function ex({deployTarget:e}){let t=(0,eh.useDeployAction)(e),r="Booting"===t.status||"Ready"===t.status;return(0,n.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,n.jsx)(v.TooltipProvider,{children:(0,n.jsxs)(v.Tooltip,{children:[(0,n.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("span",{children:(0,n.jsx)(m,{label:r?"Stop Dev Server":"Start Dev Server",onClick:r?t.stop:t.deploy,loading:t.deployLoading||t.stopLoading,error:!!t.deployError,icon:r?l.Square:o.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,n.jsx)(v.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,n.jsx)(R,{status:t.status,url:t.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",()=>ew],11495)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,11495,72714,81803,5259,99348,45811,e=>{"use strict";let t;var n=e.i(20314),r=e.i(79054),a=e.i(48249),o=e.i(24042),l=e.i(6910),i=e.i(94237),s=e.i(31777),u=e.i(83428),d=e.i(51251),c=e.i(35364),f=e.i(8361);function m({label:e,onClick:t,loading:r,error:a,icon:o,iconOnly:l=!1,variant:i="outline",size:m="sm"}){let p=(0,f.useSoundAction)("click");return(0,n.jsxs)(c.Button,{variant:i,size:m,"aria-label":e,disabled:r,onClick:()=>{p.play(),t()},className:(0,s.cn)("gap-1.5",a&&"text-destructive hover:text-destructive",!a&&l&&"ghost"===i&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[r?(0,n.jsx)(u.Loader2,{className:"size-4 animate-spin"}):a?(0,n.jsx)(d.CircleAlert,{className:"size-4"}):(0,n.jsx)(o,{className:"size-4"}),l?null:e]})}e.s(["ActionButton",()=>m],72714),e.s([],81803);var p=e.i(30702),h=e.i(38573),g=e.i(17406),v=e.i(2828),w=e.i(2287),x=e.i(21023);let y=(0,x.createServerReference)("4012188b1fa41757aaf2156da75f0adc2ac3b2e396",x.callServer,void 0,x.findSourceMapURL,"getDeploymentLogs");function b({open:e,onOpenChange:t,targetId:a}){let{logs:o,isConnected:l}=function(e){let[t,n]=(0,r.useState)([]),[a,o]=(0,r.useState)(!1),l=(0,r.useRef)(null),i=(0,r.useCallback)(()=>{l.current&&(l.current.close(),l.current=null),o(!1)},[]);return(0,r.useEffect)(()=>{if(!e){n([]),o(!1);return}y(e).then(e=>{e&&n(e)}).catch(()=>{});let t=new EventSource(`/api/deployment-logs?targetId=${e}`);return l.current=t,t.onopen=()=>{o(!0)},t.addEventListener("log",e=>{let t=JSON.parse(e.data);n(e=>[...e,t])}),t.onerror=()=>{o(!1)},()=>{t.close(),l.current=null}},[e,i]),{logs:t,isConnected:a}}(e?a:null);return(0,n.jsx)(j,{open:e,onOpenChange:t,logs:o,isConnected:l})}function j({open:e,onOpenChange:t,logs:a,isConnected:o}){let l=(0,r.useRef)(null),i=(0,r.useRef)(!0),s=(0,r.useCallback)(()=>{let e=l.current;e&&(i.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,r.useEffect)(()=>{i.current&&l.current&&(l.current.scrollTop=l.current.scrollHeight)},[a]),(0,n.jsx)(w.Dialog,{open:e,onOpenChange:t,children:(0,n.jsxs)(w.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,n.jsxs)(w.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(h.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,n.jsx)(w.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 pe-8",children:[(0,n.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${o?"bg-green-500":"bg-zinc-500"}`}),(0,n.jsx)("span",{className:"text-xs text-zinc-400",children:o?"Connected":"Disconnected"})]})]}),(0,n.jsxs)("div",{ref:l,onScroll:s,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===a.length?(0,n.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):a.map(e=>(0,n.jsx)(T,{entry:e},`${e.timestamp}-${e.stream}-${e.line}`)),!o&&a.length>0&&(0,n.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function T({entry:e}){return(0,n.jsx)("div",{"data-stream":e.stream,className:"stderr"===e.stream?"text-red-400":"text-zinc-200",children:(0,n.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.line})})}let C="text-muted-foreground hover:bg-foreground/8 hover:text-foreground inline-flex size-7 items-center justify-center rounded-[3px]";function R({status:e,url:t,targetId:a}){let[o,l]=(0,r.useState)(!1),i=a&&(e===g.DeploymentState.Booting||e===g.DeploymentState.Ready);switch(e){case g.DeploymentState.Booting:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex items-center gap-1 pl-1",children:[(0,n.jsx)(u.Loader2,{className:"size-3 animate-spin text-blue-500"}),(0,n.jsx)("span",{className:"text-muted-foreground text-[11px]",children:"Starting..."}),i?(0,n.jsx)(v.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(v.Tooltip,{children:[(0,n.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:C,onClick:e=>{e.stopPropagation(),l(!0)},children:(0,n.jsx)(h.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(v.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),i?(0,n.jsx)(b,{open:o,onOpenChange:l,targetId:a}):null]});case g.DeploymentState.Ready:return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"flex translate-y-px items-center gap-1 pl-1",children:[(0,n.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-green-500"}),t?(0,n.jsxs)("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-0.5 text-[11px] text-green-600 hover:text-green-500 dark:text-green-400 dark:hover:text-green-300",onClick:e=>e.stopPropagation(),children:[t,(0,n.jsx)(p.ExternalLink,{className:"size-2.5 shrink-0"})]}):(0,n.jsx)("span",{className:"text-[11px] text-green-600 dark:text-green-400",children:"Ready"}),i?(0,n.jsx)(v.TooltipProvider,{delayDuration:300,children:(0,n.jsxs)(v.Tooltip,{children:[(0,n.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("button",{type:"button","aria-label":"View server logs",className:C,onClick:e=>{e.stopPropagation(),l(!0)},children:(0,n.jsx)(h.Terminal,{className:"size-3.5"})})}),(0,n.jsx)(v.TooltipContent,{side:"bottom",className:"text-xs",children:"Server logs"})]})}):null]}),i?(0,n.jsx)(b,{open:o,onOpenChange:l,targetId:a}):null]});default:return null}}e.s(["DeploymentStatusBadge",()=>R],5259),e.s([],99348);var E=e.i(567);let D=r.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}),N=()=>{let e=r.default.useContext(D);if(!e)throw Error("useDrawerContext must be used within a Drawer.Root");return e};function k(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function S(){return $(/^iPhone/)||$(/^iPad/)||$(/^Mac/)&&navigator.maxTouchPoints>1}function $(e){return"u">typeof window&&null!=window.navigator?e.test(window.navigator.platform):void 0}!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}("[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 P="u">typeof window?r.useLayoutEffect:r.useEffect;function z(...e){return(...t)=>{for(let n of e)"function"==typeof n&&n(...t)}}let M="u">typeof document&&window.visualViewport;function O(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function B(e){for(O(e)&&(e=e.parentElement);e&&!O(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}let L=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),F=0;function H(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function A(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let t=B(e);if(t!==document.documentElement&&t!==document.body&&t!==e){let n=t.getBoundingClientRect().top,r=e.getBoundingClientRect().top;e.getBoundingClientRect().bottom>t.getBoundingClientRect().bottom+24&&(t.scrollTop+=r-n)}e=t.parentElement}}function W(e){return e instanceof HTMLInputElement&&!L.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function I(...e){return r.useCallback(function(...e){return t=>e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}(...e),e)}let q=new WeakMap;function Y(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([t,n])=>{t.startsWith("--")?e.style.setProperty(t,n):(r[t]=e.style[t],e.style[t]=n)}),n||q.set(e,r)}let X=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function U(e,t){if(!e)return null;let n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform,a=r.match(/^matrix3d\((.+)\)$/);return a?parseFloat(a[1].split(", ")[X(t)?13:12]):(a=r.match(/^matrix\((.+)\)$/))?parseFloat(a[1].split(", ")[X(t)?5:4]):null}function V(e,t){if(!e)return()=>{};let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}let K=[.32,.72,0,1],J="vaul-dragging";function _(e){let t=r.default.useRef(e);return r.default.useEffect(()=>{t.current=e}),r.default.useMemo(()=>(...e)=>null==t.current?void 0:t.current.call(t,...e),[])}function G({prop:e,defaultProp:t,onChange:n=()=>{}}){let[a,o]=function({defaultProp:e,onChange:t}){let n=r.default.useState(e),[a]=n,o=r.default.useRef(a),l=_(t);return r.default.useEffect(()=>{o.current!==a&&(l(a),o.current=a)},[a,o,l]),n}({defaultProp:t,onChange:n}),l=void 0!==e,i=l?e:a,s=_(n);return[i,r.default.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&s(n)}else o(t)},[l,e,o,s])]}let Q=()=>()=>{},Z=null;function ee({open:e,onOpenChange:n,children:a,onDrag:o,onRelease:l,snapPoints:i,shouldScaleBackground:s=!1,setBackgroundColorOnScale:u=!0,closeThreshold:d=.25,scrollLockTimeout:c=100,dismissible:f=!0,handleOnly:m=!1,fadeFromIndex:p=i&&i.length-1,activeSnapPoint:h,setActiveSnapPoint:g,fixed:v,modal:w=!0,onClose:x,nested:y,noBodyStyles:b=!1,direction:j="bottom",defaultOpen:T=!1,disablePreventScroll:C=!0,snapToSequentialPoint:R=!1,preventScrollRestoration:N=!1,repositionInputs:$=!0,onAnimationEnd:O,container:L,autoFocus:I=!1}){var V,_;let[Q=!1,ee]=G({defaultProp:T,prop:e,onChange:e=>{null==n||n(e),e||y||e$(),setTimeout(()=>{null==O||O(e)},500),e&&!w&&"u">typeof window&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),e||(document.body.style.pointerEvents="auto")}}),[et,en]=r.default.useState(!1),[er,ea]=r.default.useState(!1),[eo,el]=r.default.useState(!1),ei=r.default.useRef(null),es=r.default.useRef(null),eu=r.default.useRef(null),ed=r.default.useRef(null),ec=r.default.useRef(null),ef=r.default.useRef(!1),em=r.default.useRef(null),ep=r.default.useRef(0),eh=r.default.useRef(!1),eg=r.default.useRef(!T),ev=r.default.useRef(0),ew=r.default.useRef(null),ex=r.default.useRef((null==(V=ew.current)?void 0:V.getBoundingClientRect().height)||0),ey=r.default.useRef((null==(_=ew.current)?void 0:_.getBoundingClientRect().width)||0),eb=r.default.useRef(0),ej=r.default.useCallback(e=>{i&&e===eD.length-1&&(es.current=new Date)},[]),{activeSnapPoint:eT,activeSnapPointIndex:eC,setActiveSnapPoint:eR,onRelease:eE,snapPointsOffset:eD,onDrag:eN,shouldFade:ek,getPercentageDragged:eS}=function({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:a,overlayRef:o,fadeFromIndex:l,onSnapPointChange:i,direction:s="bottom",container:u,snapToSequentialPoint:d}){let[c,f]=G({prop:e,defaultProp:null==n?void 0:n[0],onChange:t}),[m,p]=r.default.useState("u">typeof window?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);r.default.useEffect(()=>{function e(){p({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let h=r.default.useMemo(()=>c===(null==n?void 0:n[n.length-1])||null,[n,c]),g=r.default.useMemo(()=>{var e;return null!=(e=null==n?void 0:n.findIndex(e=>e===c))?e:null},[n,c]),v=n&&n.length>0&&(l||0===l)&&!Number.isNaN(l)&&n[l]===c||!n,w=r.default.useMemo(()=>{var e;let t=u?{width:u.getBoundingClientRect().width,height:u.getBoundingClientRect().height}:"u">typeof window?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};return null!=(e=null==n?void 0:n.map(e=>{let n="string"==typeof e,r=0;if(n&&(r=parseInt(e,10)),X(s)){let a=n?r:m?e*t.height:0;return m?"bottom"===s?t.height-a:-t.height+a:a}let a=n?r:m?e*t.width:0;return m?"right"===s?t.width-a:-t.width+a:a}))?e:[]},[n,m,u]),x=r.default.useMemo(()=>null!==g?null==w?void 0:w[g]:null,[w,g]),y=r.default.useCallback(e=>{var t;let r=null!=(t=null==w?void 0:w.findIndex(t=>t===e))?t:null;i(r),Y(a.current,{transition:`transform 0.5s cubic-bezier(${K.join(",")})`,transform:X(s)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`}),w&&r!==w.length-1&&void 0!==l&&r!==l&&r<l?Y(o.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`,opacity:"0"}):Y(o.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`,opacity:"1"}),f(null==n?void 0:n[Math.max(r,0)])},[a.current,n,w,l,o,f]);return r.default.useEffect(()=>{if(c||e){var t;let r=null!=(t=null==n?void 0:n.findIndex(t=>t===e||t===c))?t:-1;w&&-1!==r&&"number"==typeof w[r]&&y(w[r])}},[c,e,n,w,y]),{isLastSnapPoint:h,activeSnapPoint:c,shouldFade:v,getPercentageDragged:function(e,t){if(!n||"number"!=typeof g||!w||void 0===l)return null;let r=g===l-1;if(g>=l&&t)return 0;if(r&&!t)return 1;if(!v&&!r)return null;let a=r?g+1:g-1,o=e/Math.abs(r?w[a]-w[a-1]:w[a+1]-w[a]);return r?1-o:o},setActiveSnapPoint:f,activeSnapPointIndex:g,onRelease:function({draggedDistance:e,closeDrawer:t,velocity:r,dismissible:a}){if(void 0===l)return;let i="bottom"===s||"right"===s?(null!=x?x:0)-e:(null!=x?x:0)+e,u=g===l-1,c=0===g,f=e>0;if(u&&Y(o.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`}),!d&&r>2&&!f)return void(a?t():y(w[0]));if(!d&&r>2&&f&&w&&n)return void y(w[n.length-1]);let m=null==w?void 0:w.reduce((e,t)=>"number"!=typeof e||"number"!=typeof t?e:Math.abs(t-i)<Math.abs(e-i)?t:e),p=X(s)?window.innerHeight:window.innerWidth;if(r>.4&&Math.abs(e)<.4*p){let e=f?1:-1;return e>0&&h&&n?void y(w[n.length-1]):void(c&&e<0&&a&&t(),null===g||y(w[g+e]))}y(m)},onDrag:function({draggedDistance:e}){if(null===x)return;let t="bottom"===s||"right"===s?x-e:x+e;("bottom"===s||"right"===s)&&t<w[w.length-1]||("top"===s||"left"===s)&&t>w[w.length-1]||Y(a.current,{transform:X(s)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},snapPointsOffset:w}}({snapPoints:i,activeSnapPointProp:h,setActiveSnapPointProp:g,drawerRef:ew,fadeFromIndex:p,overlayRef:ei,onSnapPointChange:ej,direction:j,container:L,snapToSequentialPoint:R});!function(e={}){let{isDisabled:n}=e;P(()=>{if(!n){var e,r,a;let n,o,l,i,s,u,d;return 1==++F&&S()&&(l=0,i=window.pageXOffset,s=window.pageYOffset,u=z((e=document.documentElement,r="paddingRight",a=`${window.innerWidth-document.documentElement.clientWidth}px`,n=e.style[r],e.style[r]=a,()=>{e.style[r]=n})),window.scrollTo(0,0),d=z(H(document,"touchstart",e=>{((o=B(e.target))!==document.documentElement||o!==document.body)&&(l=e.changedTouches[0].pageY)},{passive:!1,capture:!0}),H(document,"touchmove",e=>{if(!o||o===document.documentElement||o===document.body)return void e.preventDefault();let t=e.changedTouches[0].pageY,n=o.scrollTop,r=o.scrollHeight-o.clientHeight;0!==r&&((n<=0&&t>l||n>=r&&t<l)&&e.preventDefault(),l=t)},{passive:!1,capture:!0}),H(document,"touchend",e=>{let t=e.target;W(t)&&t!==document.activeElement&&(e.preventDefault(),t.style.transform="translateY(-2000px)",t.focus(),requestAnimationFrame(()=>{t.style.transform=""}))},{passive:!1,capture:!0}),H(document,"focus",e=>{let t=e.target;W(t)&&(t.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{t.style.transform="",M&&(M.height<window.innerHeight?requestAnimationFrame(()=>{A(t)}):M.addEventListener("resize",()=>A(t),{once:!0}))}))},!0),H(window,"scroll",()=>{window.scrollTo(0,0)})),t=()=>{u(),d(),window.scrollTo(i,s)}),()=>{0==--F&&(null==t||t())}}},[n])}({isDisabled:!Q||er||!w||eo||!et||!$||!C});let{restorePositionSetting:e$}=function({isOpen:e,modal:t,nested:n,hasBeenOpened:a,preventScrollRestoration:o,noBodyStyles:l}){let[i,s]=r.default.useState(()=>"u">typeof window?window.location.href:""),u=r.default.useRef(0),d=r.default.useCallback(()=>{if(k()&&null===Z&&e&&!l){Z={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:e,innerHeight:t}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-u.current}px`,left:`${-e}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let e=t-window.innerHeight;e&&u.current>=t&&(document.body.style.top=`${-(u.current+e)}px`)}),300)}},[e]),c=r.default.useCallback(()=>{if(k()&&null!==Z&&!l){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,Z),window.requestAnimationFrame(()=>{o&&i!==window.location.href?s(window.location.href):window.scrollTo(t,e)}),Z=null}},[i]);return r.default.useEffect(()=>{function e(){u.current=window.scrollY}return e(),window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),r.default.useEffect(()=>{if(t)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||c()}},[t,c]),r.default.useEffect(()=>{!n&&a&&(e?(window.matchMedia("(display-mode: standalone)").matches||d(),t||window.setTimeout(()=>{c()},500)):c())},[e,a,i,t,n,d,c]),{restorePositionSetting:c}}({isOpen:Q,modal:w,nested:null!=y&&y,hasBeenOpened:et,preventScrollRestoration:N,noBodyStyles:b});function eP(){return(window.innerWidth-26)/window.innerWidth}function ez(e,t){var n;let r=e,a=null==(n=window.getSelection())?void 0:n.toString(),o=ew.current?U(ew.current,j):null,l=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===j||"left"===j)return!0;if(es.current&&l.getTime()-es.current.getTime()<500)return!1;if(null!==o&&("bottom"===j?o>0:o<0))return!0;if(a&&a.length>0)return!1;if(ec.current&&l.getTime()-ec.current.getTime()<c&&0===o||t)return ec.current=l,!1;for(;r;){if(r.scrollHeight>r.clientHeight){if(0!==r.scrollTop)return ec.current=new Date,!1;if("dialog"===r.getAttribute("role"))break}r=r.parentNode}return!0}function eM(e){er&&ew.current&&(ew.current.classList.remove(J),ef.current=!1,ea(!1),ed.current=new Date),null==x||x(),e||ee(!1),setTimeout(()=>{i&&eR(i[0])},500)}function eO(){if(!ew.current)return;let e=document.querySelector("[data-vaul-drawer-wrapper]"),t=U(ew.current,j);Y(ew.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${K.join(",")})`}),Y(ei.current,{transition:`opacity 0.5s cubic-bezier(${K.join(",")})`,opacity:"1"}),s&&t&&t>0&&Q&&Y(e,{borderRadius:"8px",overflow:"hidden",...X(j)?{transform:`scale(${eP()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${eP()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${K.join(",")})`},!0)}return r.default.useEffect(()=>{window.requestAnimationFrame(()=>{eg.current=!0})},[]),r.default.useEffect(()=>{var e;function t(){if(ew.current&&$&&(W(document.activeElement)||eh.current)){var e;let t=(null==(e=window.visualViewport)?void 0:e.height)||0,n=window.innerHeight,r=n-t,a=ew.current.getBoundingClientRect().height||0;eb.current||(eb.current=a);let o=ew.current.getBoundingClientRect().top;if(Math.abs(ev.current-r)>60&&(eh.current=!eh.current),i&&i.length>0&&eD&&eC&&(r+=eD[eC]||0),ev.current=r,a>t||eh.current){let e=ew.current.getBoundingClientRect().height,l=e;e>t&&(l=t-(a>.8*n?o:26)),v?ew.current.style.height=`${e-Math.max(r,0)}px`:ew.current.style.height=`${Math.max(l,t-o)}px`}else{let e;e=navigator.userAgent,"u">typeof window&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))||(ew.current.style.height=`${eb.current}px`)}i&&i.length>0&&!eh.current?ew.current.style.bottom="0px":ew.current.style.bottom=`${Math.max(r,0)}px`}}return null==(e=window.visualViewport)||e.addEventListener("resize",t),()=>{var e;return null==(e=window.visualViewport)?void 0:e.removeEventListener("resize",t)}},[eC,i,eD]),r.default.useEffect(()=>(Q&&(Y(document.documentElement,{scrollBehavior:"auto"}),es.current=new Date),()=>{!function(e,t){if(!e||!(e instanceof HTMLElement))return;let n=q.get(e);n&&(e.style[t]=n[t])}(document.documentElement,"scrollBehavior")}),[Q]),r.default.useEffect(()=>{w||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[w]),r.default.createElement(E.Root,{defaultOpen:T,onOpenChange:e=>{(f||e)&&(e?en(!0):eM(!0),ee(e))},open:Q},r.default.createElement(D.Provider,{value:{activeSnapPoint:eT,snapPoints:i,setActiveSnapPoint:eR,drawerRef:ew,overlayRef:ei,onOpenChange:n,onPress:function(e){var t,n;!f&&!i||(!ew.current||ew.current.contains(e.target))&&(ex.current=(null==(t=ew.current)?void 0:t.getBoundingClientRect().height)||0,ey.current=(null==(n=ew.current)?void 0:n.getBoundingClientRect().width)||0,ea(!0),eu.current=new Date,S()&&window.addEventListener("touchend",()=>ef.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),ep.current=X(j)?e.pageY:e.pageX)},onRelease:function(e){var t,n;if(!er||!ew.current)return;ew.current.classList.remove(J),ef.current=!1,ea(!1),ed.current=new Date;let r=U(ew.current,j);if(!e||!ez(e.target,!1)||!r||Number.isNaN(r)||null===eu.current)return;let a=ed.current.getTime()-eu.current.getTime(),o=ep.current-(X(j)?e.pageY:e.pageX),s=Math.abs(o)/a;if(s>.05&&(el(!0),setTimeout(()=>{el(!1)},200)),i){eE({draggedDistance:o*("bottom"===j||"right"===j?1:-1),closeDrawer:eM,velocity:s,dismissible:f}),null==l||l(e,!0);return}if("bottom"===j||"right"===j?o>0:o<0){eO(),null==l||l(e,!0);return}if(s>.4){eM(),null==l||l(e,!1);return}let u=Math.min(null!=(t=ew.current.getBoundingClientRect().height)?t:0,window.innerHeight),c=Math.min(null!=(n=ew.current.getBoundingClientRect().width)?n:0,window.innerWidth);if(Math.abs(r)>=("left"===j||"right"===j?c:u)*d){eM(),null==l||l(e,!1);return}null==l||l(e,!0),eO()},onDrag:function(e){if(ew.current&&er){let t="bottom"===j||"right"===j?1:-1,n=(ep.current-(X(j)?e.pageY:e.pageX))*t,r=n>0,a=i&&!f&&!r;if(a&&0===eC)return;let l=Math.abs(n),u=document.querySelector("[data-vaul-drawer-wrapper]"),d=l/("bottom"===j||"top"===j?ex.current:ey.current),c=eS(l,r);if(null!==c&&(d=c),a&&d>=1||!ef.current&&!ez(e.target,r))return;if(ew.current.classList.add(J),ef.current=!0,Y(ew.current,{transition:"none"}),Y(ei.current,{transition:"none"}),i&&eN({draggedDistance:n}),r&&!i){let e=Math.min(-(8*(Math.log(n+1)-2)*1),0)*t;Y(ew.current,{transform:X(j)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`});return}let m=1-d;if((ek||p&&eC===p-1)&&(null==o||o(e,d),Y(ei.current,{opacity:`${m}`,transition:"none"},!0)),u&&ei.current&&s){let e=Math.min(eP()+d*(1-eP()),1),t=8-8*d,n=Math.max(0,14-14*d);Y(u,{borderRadius:`${t}px`,transform:X(j)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!i){let e=l*t;Y(ew.current,{transform:X(j)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}},dismissible:f,shouldAnimate:eg,handleOnly:m,isOpen:Q,isDragging:er,shouldFade:ek,closeDrawer:eM,onNestedDrag:function(e,t){if(t<0)return;let n=(window.innerWidth-16)/window.innerWidth,r=n+t*(1-n),a=-16+16*t;Y(ew.current,{transform:X(j)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(e){let t=e?(window.innerWidth-16)/window.innerWidth:1,n=e?-16:0;em.current&&window.clearTimeout(em.current),Y(ew.current,{transition:`transform 0.5s cubic-bezier(${K.join(",")})`,transform:X(j)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&ew.current&&(em.current=setTimeout(()=>{let e=U(ew.current,j);Y(ew.current,{transition:"none",transform:X(j)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))},onNestedRelease:function(e,t){let n=X(j)?window.innerHeight:window.innerWidth,r=t?(n-16)/n:1,a=t?-16:0;t&&Y(ew.current,{transition:`transform 0.5s cubic-bezier(${K.join(",")})`,transform:X(j)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:eh,modal:w,snapPointsOffset:eD,activeSnapPointIndex:eC,direction:j,shouldScaleBackground:s,setBackgroundColorOnScale:u,noBodyStyles:b,container:L,autoFocus:I}},a))}let et=r.default.forwardRef(function({...e},t){let{overlayRef:n,snapPoints:a,onRelease:o,shouldFade:l,isOpen:i,modal:s,shouldAnimate:u}=N(),d=I(t,n),c=a&&a.length>0;if(!s)return null;let f=r.default.useCallback(e=>o(e),[o]);return r.default.createElement(E.Overlay,{onMouseUp:f,ref:d,"data-vaul-overlay":"","data-vaul-snap-points":i&&c?"true":"false","data-vaul-snap-points-overlay":i&&l?"true":"false","data-vaul-animate":(null==u?void 0:u.current)?"true":"false",...e})});et.displayName="Drawer.Overlay";let en=r.default.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...a},o){let{drawerRef:l,onPress:i,onRelease:s,onDrag:u,keyboardIsOpen:d,snapPointsOffset:c,activeSnapPointIndex:f,modal:m,isOpen:p,direction:h,snapPoints:g,container:v,handleOnly:w,shouldAnimate:x,autoFocus:y}=N(),[b,j]=r.default.useState(!1),T=I(o,l),C=r.default.useRef(null),R=r.default.useRef(null),D=r.default.useRef(!1),k=g&&g.length>0;function S(e){C.current=null,D.current=!1,s(e)}return!function(){let{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:a,noBodyStyles:o}=N(),l=r.default.useRef(null),i=(0,r.useMemo)(()=>document.body.style.backgroundColor,[]);function s(){return(window.innerWidth-26)/window.innerWidth}r.default.useEffect(()=>{if(t&&n){l.current&&clearTimeout(l.current);let t=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!t)return;!function(...e){}(a&&!o?V(document.body,{background:"black"}):Q,V(t,{transformOrigin:X(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${K.join(",")})`}));let n=V(t,{borderRadius:"8px",overflow:"hidden",...X(e)?{transform:`scale(${s()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${s()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{n(),l.current=window.setTimeout(()=>{i?document.body.style.background=i:document.body.style.removeProperty("background")},500)}}},[t,n,i])}(),r.default.useEffect(()=>{k&&window.requestAnimationFrame(()=>{j(!0)})},[]),r.default.createElement(E.Content,{"data-vaul-drawer-direction":h,"data-vaul-drawer":"","data-vaul-delayed-snap-points":b?"true":"false","data-vaul-snap-points":p&&k?"true":"false","data-vaul-custom-container":v?"true":"false","data-vaul-animate":(null==x?void 0:x.current)?"true":"false",...a,ref:T,style:c&&c.length>0?{"--snap-point-height":`${c[null!=f?f:0]}px`,...t}:t,onPointerDown:e=>{w||(null==a.onPointerDown||a.onPointerDown.call(a,e),C.current={x:e.pageX,y:e.pageY},i(e))},onOpenAutoFocus:e=>{null==n||n(e),y||e.preventDefault()},onPointerDownOutside:t=>{(null==e||e(t),!m||t.defaultPrevented)?t.preventDefault():d.current&&(d.current=!1)},onFocusOutside:e=>{if(!m)return void e.preventDefault()},onPointerMove:e=>{if(R.current=e,w||(null==a.onPointerMove||a.onPointerMove.call(a,e),!C.current))return;let t=e.pageY-C.current.y,n=e.pageX-C.current.x,r="touch"===e.pointerType?10:2;((e,t,n=0)=>{if(D.current)return!0;let r=Math.abs(e.y),a=Math.abs(e.x),o=a>r,l=["bottom","right"].includes(t)?1:-1;if("left"===t||"right"===t){if(!(e.x*l<0)&&a>=0&&a<=n)return o}else if(!(e.y*l<0)&&r>=0&&r<=n)return!o;return D.current=!0,!0})({x:n,y:t},h,r)?u(e):(Math.abs(n)>r||Math.abs(t)>r)&&(C.current=null)},onPointerUp:e=>{null==a.onPointerUp||a.onPointerUp.call(a,e),C.current=null,D.current=!1,s(e)},onPointerOut:e=>{null==a.onPointerOut||a.onPointerOut.call(a,e),S(R.current)},onContextMenu:e=>{null==a.onContextMenu||a.onContextMenu.call(a,e),R.current&&S(R.current)}})});en.displayName="Drawer.Content";let er=r.default.forwardRef(function({preventCycle:e=!1,children:t,...n},a){let{closeDrawer:o,isDragging:l,snapPoints:i,activeSnapPoint:s,setActiveSnapPoint:u,dismissible:d,handleOnly:c,isOpen:f,onPress:m,onDrag:p}=N(),h=r.default.useRef(null),g=r.default.useRef(!1);function v(){h.current&&window.clearTimeout(h.current),g.current=!1}return r.default.createElement("div",{onClick:function(){g.current?v():window.setTimeout(()=>{!function(){if(l||e||g.current)return v();if(v(),!i||0===i.length){d||o();return}if(s===i[i.length-1]&&d)return o();let t=i.findIndex(e=>e===s);-1===t||u(i[t+1])}()},120)},onPointerCancel:v,onPointerDown:e=>{c&&m(e),h.current=window.setTimeout(()=>{g.current=!0},250)},onPointerMove:e=>{c&&p(e)},ref:a,"data-vaul-drawer-visible":f?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},r.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});er.displayName="Drawer.Handle";let ea={Root:ee,NestedRoot:function({onDrag:e,onOpenChange:t,open:n,...a}){let{onNestedDrag:o,onNestedOpenChange:l,onNestedRelease:i}=N();if(!o)throw Error("Drawer.NestedRoot must be placed in another drawer");return r.default.createElement(ee,{nested:!0,open:n,onClose:()=>{l(!1)},onDrag:(t,n)=>{o(t,n),null==e||e(t,n)},onOpenChange:e=>{e&&l(e),null==t||t(e)},onRelease:i,...a})},Content:en,Overlay:et,Trigger:E.Trigger,Portal:function(e){let t=N(),{container:n=t.container,...a}=e;return r.default.createElement(E.Portal,{container:n,...a})},Handle:er,Close:E.Close,Title:E.Title,Description:E.Description};function eo({...e}){return(0,n.jsx)(ea.Root,{"data-slot":"drawer",...e})}function el({...e}){return(0,n.jsx)(ea.Portal,{"data-slot":"drawer-portal",...e})}function ei({className:e,...t}){return(0,n.jsx)(ea.Overlay,{"data-slot":"drawer-overlay",className:(0,s.cn)("fixed inset-0 z-50 bg-black/50",e),...t})}function es({className:e,children:t,direction:r="bottom",showCloseButton:o=!0,...l}){return(0,n.jsx)(el,{children:(0,n.jsxs)(ea.Content,{"data-slot":"drawer-content",className:(0,s.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===r&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===r&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===r&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===r&&"inset-y-0 left-0 h-full w-3/4 border-r",e),style:{"--initial-transform":"calc(100% + 8px)",userSelect:"text",...l.style??{}},...l,children:[t,o?(0,n.jsxs)(ea.Close,{className:"ring-offset-background focus:ring-ring absolute end-4 top-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,n.jsx)(a.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function eu({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-header",className:(0,s.cn)("flex flex-col gap-1.5 p-4",e),...t})}function ed({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-footer",className:(0,s.cn)("mt-auto flex flex-col gap-2 p-4",e),...t})}function ec({className:e,...t}){return(0,n.jsx)(ea.Title,{"data-slot":"drawer-title",className:(0,s.cn)("text-foreground font-semibold",e),...t})}function ef({className:e,...t}){return(0,n.jsx)(ea.Description,{"data-slot":"drawer-description",className:(0,s.cn)("text-muted-foreground text-sm",e),...t})}e.s(["Drawer",()=>eo,"DrawerContent",()=>es,"DrawerDescription",()=>ef,"DrawerFooter",()=>ed,"DrawerHeader",()=>eu,"DrawerOverlay",()=>ei,"DrawerTitle",()=>ec],45811);var em=e.i(25235);e.i(41001);var ep=e.i(64780),eh=e.i(8537),eg=e.i(75921);let ev=(0,i.cva)("",{variants:{size:{sm:"w-96",md:"w-2xl",lg:"w-[772px]"}},defaultVariants:{size:"sm"}});function ew({open:e,onClose:t,modal:o=!1,dismissOnOutsideClick:l=!1,title:i="Drawer",size:u,header:d,children:c,footer:f,className:m,"data-testid":p,deployTarget:h}){let{i18n:g}=(0,ep.useTranslation)(),v=(0,eg.useFeatureFlags)(),w=(0,r.useRef)(null),x="rtl"===g.dir()?"left":"right";return(0,r.useEffect)(()=>{if(!e||o)return;let n=e=>{let n=e.target;!document.body.contains(n)||w.current?.contains(n)||n.closest(l?'[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]')||t()};return document.addEventListener("click",n),()=>document.removeEventListener("click",n)},[e,o,t,l]),(0,n.jsxs)(eo,{direction:x,modal:o,handleOnly:!0,open:e,onOpenChange:e=>{e||t()},children:[o?(0,n.jsx)(ei,{}):null,(0,n.jsxs)(es,{ref:w,direction:x,showCloseButton:!1,className:(0,s.cn)(ev({size:u}),"bg-white/85 backdrop-blur-xl dark:bg-neutral-800/85",m),"data-testid":p,onInteractOutside:o?void 0:e=>e.preventDefault(),children:[(0,n.jsx)(ec,{asChild:!0,children:(0,n.jsx)("span",{className:"sr-only",children:i})}),(0,n.jsx)(ef,{asChild:!0,children:(0,n.jsx)("span",{className:"sr-only",children:i})}),(0,n.jsxs)("button",{type:"button","aria-label":"Close",onClick:t,className:"ring-offset-background focus:ring-ring absolute end-3 top-2 z-50 rounded-sm p-1 opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":p?`${p}-close-button`:void 0,children:[(0,n.jsx)(a.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}),d?(0,n.jsx)(eu,{className:"shrink-0",children:d}):null,d?(0,n.jsx)(em.Separator,{}):null,v.envDeploy&&h?(0,n.jsx)(ex,{deployTarget:h}):null,(0,n.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:c}),f?(0,n.jsx)(ed,{className:"shrink-0",children:f}):null]})]})}function ex({deployTarget:e}){let t=(0,eh.useDeployAction)(e),r="Booting"===t.status||"Ready"===t.status;return(0,n.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pt-3 pb-3",children:[(0,n.jsx)(v.TooltipProvider,{children:(0,n.jsxs)(v.Tooltip,{children:[(0,n.jsx)(v.TooltipTrigger,{asChild:!0,children:(0,n.jsx)("span",{children:(0,n.jsx)(m,{label:r?"Stop Dev Server":"Start Dev Server",onClick:r?t.stop:t.deploy,loading:t.deployLoading||t.stopLoading,error:!!t.deployError,icon:r?l.Square:o.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,n.jsx)(v.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,n.jsx)(R,{status:t.status,url:t.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",()=>ew],11495)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30702,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["ExternalLink",()=>t],30702)},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},24042,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["Play",()=>t],24042)},6910,e=>{"use strict";let t=(0,e.i(3645).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",()=>t],6910)},73504,81605,e=>{"use strict";var t=e.i(20314),s=e.i(79054),l=e.i(21023);let a=(0,l.createServerReference)("405cf3d3d336c4051445b4d7c2e361992c2e3550a1",l.callServer,void 0,l.findSourceMapURL,"deployFeature"),r=(0,l.createServerReference)("40b10997e312b9a7fcd1b225389f472587ac7bbc28",l.callServer,void 0,l.findSourceMapURL,"deployRepository"),n=(0,l.createServerReference)("4085d8b66e226625ae936f54447c70047f41cedca5",l.callServer,void 0,l.findSourceMapURL,"deployApplication"),i=(0,l.createServerReference)("404c52d3889de7ceb1363b974be30669f301f00e11",l.callServer,void 0,l.findSourceMapURL,"stopDeployment"),o=(0,l.createServerReference)("400a9615fd173e772285304e7096e138319eb44835",l.callServer,void 0,l.findSourceMapURL,"getDeploymentStatus");var d=e.i(18354);let c={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class u{entries=new Map;listeners=new Map;globalListeners=new Set;hydrate(e){let t=new Set;for(let s of e)t.add(s.targetId),this.update(s.targetId,{status:s.state,url:s.url,targetType:s.targetType,hydrated:!0});for(let[e,s]of this.entries)!t.has(e)&&s.hydrated&&null!==s.status?this.update(e,{status:null,url:null}):t.has(e)||s.hydrated||this.update(e,{hydrated:!0})}getEntry(e){return this.entries.get(e)??c}update(e,t){let s={...this.entries.get(e)??c,...t};this.entries.set(e,s),this.notify(e)}setStatus(e,t){null===t?this.update(e,{status:null,url:null,hydrated:!0}):this.update(e,{status:t.state,url:t.url,hydrated:!0})}subscribe(e,t){let s=this.listeners.get(e);return s||(s=new Set,this.listeners.set(e,s)),s.add(t),()=>{s?.delete(t),s?.size===0&&this.listeners.delete(e)}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notify(e){let t=this.listeners.get(e);if(t)for(let e of t)e();for(let e of this.globalListeners)e()}}e.s(["DeploymentStatusStore",()=>u,"EMPTY_ENTRY",0,c],81605);let m=(0,d.createLogger)("[DeploymentStatusProvider]"),x=new Set(["Booting","Ready"]),p=(0,s.createContext)(null);function f({initialDeployments:e,children:l}){let d=(0,s.useRef)(null);d.current||(d.current=new u,d.current.hydrate(e));let c=d.current;(0,s.useEffect)(()=>{c.hydrate(e)},[e,c]);let f=(0,s.useRef)(new Map),h=(0,s.useCallback)(e=>{let t=f.current.get(e);t&&(clearInterval(t),f.current.delete(e))},[]),g=(0,s.useCallback)(e=>{if(f.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await o(e)}catch(t){m.warn(`poll failed for "${e}"`,t),c.setStatus(e,null),h(e);return}if(!t||"Stopped"===t.state){c.setStatus(e,null),h(e);return}c.setStatus(e,t)},3e3);f.current.set(e,t)},[c,h]);(0,s.useEffect)(()=>{let e=f.current,t=c.subscribeAll(()=>{for(let[t]of e){let e=c.getEntry(t);e.status&&x.has(e.status)||h(t)}});return()=>{for(let[,s]of(t(),e))clearInterval(s);e.clear()}},[c,h]);let j=(0,s.useCallback)(e=>{!e||c.getEntry(e).hydrated||(c.update(e,{hydrated:!0}),(async()=>{try{let t=await o(e);c.setStatus(e,t),t&&x.has(t.state)&&g(e)}catch(t){m.warn(`ensureHydrated failed for "${e}"`,t)}})())},[c,g]),y=(0,s.useCallback)(async e=>{c.update(e.targetId,{deployLoading:!0,deployError:null});try{let t="feature"===e.targetType?await a(e.targetId):"application"===e.targetType?await n(e.targetId):await r(e.repositoryPath);if(!t.success)return void c.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});c.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),g(e.targetId)}catch(s){let t=s instanceof Error?s.message:"An unexpected error occurred";c.update(e.targetId,{deployLoading:!1,deployError:t})}},[c,g]),v=(0,s.useCallback)(async e=>{if(e){c.update(e,{stopLoading:!0});try{(await i(e)).success?(h(e),c.update(e,{stopLoading:!1,status:null,url:null})):c.update(e,{stopLoading:!1})}catch(t){m.warn("stop error (non-critical)",t),c.update(e,{stopLoading:!1})}}},[c,h]),N=(0,s.useMemo)(()=>({store:c,deploy:y,stop:v,ensureHydrated:j}),[c,y,v,j]);return(0,t.jsx)(p.Provider,{value:N,children:l})}function h(){let e=(0,s.useContext)(p);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function g(){let e=(0,s.useContext)(p);return e||j}let j={store:new u,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>f,"useDeploymentStatusContext",()=>h,"useDeploymentStatusContextOptional",()=>g],73504)},8537,e=>{"use strict";var t=e.i(79054),s=e.i(73504);function l(){}function a(e){let{store:a,deploy:r,stop:n,ensureHydrated:i}=(0,s.useDeploymentStatusContextOptional)(),o=e?.targetId??"",d=(0,t.useCallback)(e=>o?a.subscribe(o,e):l,[a,o]),c=(0,t.useCallback)(()=>o?a.getEntry(o):a.getEntry(""),[a,o]),u=(0,t.useSyncExternalStore)(d,c,c);return(0,t.useEffect)(()=>{o&&i(o)},[o,i]),{deploy:(0,t.useCallback)(async()=>{e&&await r(e)},[r,e]),stop:(0,t.useCallback)(async()=>{o&&await n(o)},[n,o]),deployLoading:u.deployLoading,stopLoading:u.stopLoading,deployError:u.deployError,status:u.status,url:u.url}}e.s(["useDeployAction",()=>a])},1650,e=>{"use strict";e.i(11495),e.s([])},956,e=>{"use strict";var t=e.i(20314),s=e.i(79054),l=e.i(31777);let a=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,l.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...s}));a.displayName="Card";let r=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,l.cn)("flex flex-col space-y-1.5 p-6",e),...s}));r.displayName="CardHeader";let n=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,l.cn)("leading-none font-semibold tracking-tight",e),...s}));n.displayName="CardTitle";let i=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,l.cn)("text-muted-foreground text-sm",e),...s}));i.displayName="CardDescription";let o=s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,l.cn)("p-6 pt-0",e),...s}));o.displayName="CardContent",s.forwardRef(({className:e,...s},a)=>(0,t.jsx)("div",{ref:a,className:(0,l.cn)("flex items-center p-6 pt-0",e),...s})).displayName="CardFooter",e.s(["Card",()=>a,"CardContent",()=>o,"CardDescription",()=>i,"CardHeader",()=>r,"CardTitle",()=>n])},54793,7729,e=>{"use strict";var t=e.i(20314),s=e.i(31777);function l({icon:e,title:l,description:a,action:r,className:n,...i}){return(0,t.jsxs)("div",{className:(0,s.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",n),...i,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:l}),a?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:a}):null,r?(0,t.jsx)("div",{className:"mt-2",children:r}):null]})}e.s(["EmptyState",()=>l],7729),e.s([],54793)},9443,85871,e=>{"use strict";var t=e.i(20314),s=e.i(31777);function l({title:e,description:l,children:a,className:r}){return(0,t.jsxs)("header",{className:(0,s.cn)("flex items-center justify-between gap-4",r),children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),l?(0,t.jsx)("p",{className:"text-muted-foreground",children:l}):null]}),a?(0,t.jsx)("div",{"data-slot":"actions",children:a}):null]})}e.s(["PageHeader",()=>l],85871),e.s([],9443)},38752,e=>{"use strict";var t=e.i(20314);e.i(1650);var s=e.i(11495),l=e.i(45811),a=e.i(81846),r=e.i(25235),n=e.i(19933);function i({skill:e,onClose:i}){return(0,t.jsx)(s.BaseDrawer,{open:null!==e,onClose:i,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(l.DrawerTitle,{children:e.displayName}),(0,t.jsx)(l.DrawerDescription,{children:e.name})]}):void 0,children:e?(0,t.jsxs)("div",{className:"px-4 pb-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(a.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),(0,t.jsx)(a.Badge,{variant:"outline",children:e.category}),e.context?(0,t.jsx)(a.Badge,{variant:"outline",children:e.context}):null]}),e.allowedTools?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,t.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,t.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,t.jsx)(n.FolderOpen,{className:"size-3.5 shrink-0"}),(0,t.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:e.body})]}):null]}):null})}e.s(["SkillDetailDrawer",()=>i])},16919,e=>{"use strict";var t=e.i(20314),s=e.i(79054),l=e.i(66459),a=e.i(12103),r=e.i(98127),n=e.i(35364);e.i(9443);var i=e.i(85871);e.i(54793);var o=e.i(7729),d=e.i(956),c=e.i(81846),u=e.i(19933);function m({skill:e,onSelect:s}){return(0,t.jsxs)(d.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>s(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),s(e))},"data-testid":`skill-card-${e.name}`,children:[(0,t.jsxs)(d.CardHeader,{className:"pb-3",children:[(0,t.jsx)(d.CardTitle,{className:"text-base",children:e.displayName}),(0,t.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:e.name})]}),(0,t.jsxs)(d.CardContent,{className:"space-y-3",children:[(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:e.description}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(c.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,t.jsx)(c.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,t.jsx)(c.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,t.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,t.jsx)(u.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})]})}let x=["Workflow","Code Generation","Analysis","Reference"];function p({skills:e,onSkillSelect:s}){let l=function(e){let t=new Map;for(let s of e){let e=t.get(s.category)??[];e.push(s),t.set(s.category,e)}return t}(e);return(0,t.jsx)("div",{className:"space-y-8",children:x.map(e=>{let a=l.get(e);return a&&0!==a.length?(0,t.jsxs)("section",{children:[(0,t.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[e," ",(0,t.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",a.length,")"]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:a.map(e=>(0,t.jsx)(m,{skill:e,onSelect:s},e.name))})]},e):null})})}let f=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function h({activeCategory:e,onCategoryChange:s,counts:l}){return(0,t.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:f.map(({label:a,value:r})=>(0,t.jsxs)(n.Button,{variant:e===r?"default":"outline",size:"sm",onClick:()=>s(r),children:[a,l&&r?(0,t.jsxs)("span",{className:"ms-1 text-xs opacity-70",children:["(",l[r],")"]}):null]},a))})}var g=e.i(38752),j=e.i(25235),y=e.i(31406),v=e.i(3214),N=e.i(60253),b=e.i(60112),k=e.i(21023);let S=(0,k.createServerReference)("40b648da34bc983c01ba7029ccf3180cac98931b04",k.callServer,void 0,k.findSourceMapURL,"removeInjectedSkill");var C=e.i(2287),w=e.i(41957),R=e.i(68304);let L=(0,k.createServerReference)("40e531ebb221d5b25ee0d853cc72cdc2611c41158f",k.callServer,void 0,k.findSourceMapURL,"addInjectedSkill");function T({open:e,onOpenChange:l,onAdded:a,discoveredSkills:i,existingSkillNames:o}){let[d,c]=(0,s.useState)(!1),[u,m]=(0,s.useState)(""),[x,p]=(0,s.useState)(""),[f,h]=(0,s.useState)(""),g=i.filter(e=>!o.includes(e.name)),j=async e=>{c(!0);let t=await L({name:e.name,type:"local",source:`.claude/skills/${e.name}`});(c(!1),t.success)?(b.toast.success(`Added "${e.name}" to feature skills`),a()):b.toast.error(t.error??"Failed to add skill")},y=async()=>{if(!u.trim()||!x.trim())return void b.toast.error("Name and source are required");c(!0);let e=await L({name:u.trim(),type:"remote",source:x.trim(),...f.trim()&&{remoteSkillName:f.trim()}});(c(!1),e.success)?(b.toast.success(`Added "${u.trim()}" to feature skills`),m(""),p(""),h(""),a()):b.toast.error(e.error??"Failed to add skill")};return(0,t.jsx)(C.Dialog,{open:e,onOpenChange:l,children:(0,t.jsxs)(C.DialogContent,{className:"sm:max-w-md","data-testid":"add-skill-dialog",children:[(0,t.jsx)(C.DialogHeader,{children:(0,t.jsx)(C.DialogTitle,{children:"Add Skill to Features"})}),(0,t.jsxs)(R.Tabs,{defaultValue:"local",children:[(0,t.jsxs)(R.TabsList,{className:"w-full",children:[(0,t.jsx)(R.TabsTrigger,{value:"local",className:"flex-1",children:"Local"}),(0,t.jsx)(R.TabsTrigger,{value:"remote",className:"flex-1",children:"Remote"})]}),(0,t.jsx)(R.TabsContent,{value:"local",className:"mt-4",children:0===g.length?(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"All discovered skills are already configured."}):(0,t.jsx)("div",{className:"flex max-h-60 flex-col gap-2 overflow-y-auto",children:g.map(e=>(0,t.jsxs)("button",{type:"button",className:"hover:bg-accent flex flex-col gap-0.5 rounded-md border p-3 text-left transition-colors",onClick:()=>j(e),disabled:d,"data-testid":`add-local-skill-${e.name}`,children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.displayName}),(0,t.jsx)("span",{className:"text-muted-foreground line-clamp-1 text-xs",children:e.description})]},e.name))})}),(0,t.jsx)(R.TabsContent,{value:"remote",className:"mt-4",children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(w.Label,{htmlFor:"remote-name",children:"Name"}),(0,t.jsx)(r.Input,{id:"remote-name",placeholder:"e.g. remotion-best-practices",value:u,onChange:e=>m(e.target.value),"data-testid":"remote-skill-name"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(w.Label,{htmlFor:"remote-source",children:"Source (npm package or URL)"}),(0,t.jsx)(r.Input,{id:"remote-source",placeholder:"e.g. @anthropic/remotion-skills",value:x,onChange:e=>p(e.target.value),"data-testid":"remote-skill-source"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(w.Label,{htmlFor:"remote-skill-name",children:"Skill Name (optional)"}),(0,t.jsx)(r.Input,{id:"remote-skill-name",placeholder:"e.g. remotion-best-practices",value:f,onChange:e=>h(e.target.value),"data-testid":"remote-skill-skill-name"})]}),(0,t.jsx)(C.DialogFooter,{children:(0,t.jsx)(n.Button,{onClick:y,disabled:d||!u.trim()||!x.trim(),"data-testid":"add-remote-skill-submit",children:"Add Remote Skill"})})]})})]})]})})}function D({config:e,discoveredSkills:l}){let a=(0,y.useRouter)(),[r,i]=(0,s.useState)(!1),[o,d]=(0,s.useState)(null),c=(0,s.useMemo)(()=>{let e=new Map;for(let t of l)e.set(t.name,t.description);return e},[l]),u=async e=>{d(e);let t=await S(e);(d(null),t.success)?(b.toast.success(`Removed "${e}" from feature skills`),a.refresh()):b.toast.error(t.error??"Failed to remove skill")};return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-base font-semibold",children:"Feature Skills"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Curated skills included in new feature worktrees to guide the agent"})]}),e.skills.length>0?(0,t.jsx)("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-3",children:e.skills.map(e=>(0,t.jsx)(A,{skill:e,description:c.get(e.name),onRemove:()=>u(e.name),isRemoving:o===e.name},e.name))}):(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"No skills configured. Add skills to guide the agent when working on new features."}),(0,t.jsx)("div",{children:(0,t.jsxs)(n.Button,{variant:"outline",size:"sm",onClick:()=>i(!0),"data-testid":"add-injected-skill-button",children:[(0,t.jsx)(v.Plus,{className:"mr-1.5 size-4"}),"Add Skill"]})}),(0,t.jsx)(T,{open:r,onOpenChange:i,onAdded:()=>{i(!1),a.refresh()},discoveredSkills:l,existingSkillNames:e.skills.map(e=>e.name)})]})}function A({skill:e,description:s,onRemove:l,isRemoving:a}){return(0,t.jsxs)(d.Card,{"data-testid":`injected-skill-${e.name}`,children:[(0,t.jsxs)(d.CardHeader,{className:"flex flex-row items-start justify-between gap-2 pb-2",children:[(0,t.jsx)("div",{className:"min-w-0",children:(0,t.jsx)(d.CardTitle,{className:"truncate text-sm",children:e.name})}),(0,t.jsx)(n.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0",onClick:l,disabled:a,"aria-label":`Remove ${e.name}`,"data-testid":`remove-injected-skill-${e.name}`,children:(0,t.jsx)(N.X,{className:"size-4"})})]}),(0,t.jsxs)(d.CardContent,{className:"space-y-2 pt-0",children:[s?(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-xs",children:s}):null,(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(c.Badge,{variant:"local"===e.type?"secondary":"outline",className:"text-xs",children:"local"===e.type?"Local":"Remote"}),(0,t.jsx)("span",{className:"text-muted-foreground max-w-37.5 truncate text-xs",children:e.source})]})]})]})}function E({skills:e,injectionConfig:d}){let[c,u]=(0,s.useState)(""),[m,x]=(0,s.useState)(null),[f,y]=(0,s.useState)(null),v=(0,s.useMemo)(()=>(function(e){let t={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let s of e)t[s.category]++;return t})(e),[e]),N=(0,s.useMemo)(()=>{let t=c.toLowerCase();return e.filter(e=>{if(m&&e.category!==m)return!1;if(t){let s=e.name.toLowerCase().includes(t),l=e.description.toLowerCase().includes(t);if(!s&&!l)return!1}return!0})},[e,c,m]);return 0===e.length?(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(i.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,t.jsx)(D,{config:d,discoveredSkills:e}),(0,t.jsx)(j.Separator,{}),(0,t.jsx)(o.EmptyState,{icon:(0,t.jsx)(a.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(i.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,t.jsx)(D,{config:d,discoveredSkills:e}),(0,t.jsx)(j.Separator,{}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(l.Search,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,t.jsx)(r.Input,{placeholder:"Search skills...",value:c,onChange:e=>u(e.target.value),className:"ps-9"})]}),(0,t.jsx)(h,{activeCategory:m,onCategoryChange:x,counts:v}),N.length>0?(0,t.jsx)(p,{skills:N,onSkillSelect:y}):(0,t.jsx)(o.EmptyState,{icon:(0,t.jsx)(l.Search,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,t.jsx)(n.Button,{variant:"outline",onClick:()=>{u(""),x(null)},children:"Clear filters"})}),(0,t.jsx)(g.SkillDetailDrawer,{skill:f,onClose:()=>y(null)})]})}e.s(["SkillsPageClient",()=>E],16919)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30702,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["ExternalLink",()=>t],30702)},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},24042,e=>{"use strict";let t=(0,e.i(3645).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"}]]);e.s(["Play",()=>t],24042)},6910,e=>{"use strict";let t=(0,e.i(3645).default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",()=>t],6910)},73504,81605,e=>{"use strict";var t=e.i(20314),s=e.i(79054),a=e.i(21023);let l=(0,a.createServerReference)("4030ef5a3a4d6e2e7af75e1357fffe24c048784353",a.callServer,void 0,a.findSourceMapURL,"deployFeature"),r=(0,a.createServerReference)("40a687f04a4705f667c3127d60c33855948ddf6203",a.callServer,void 0,a.findSourceMapURL,"deployRepository"),n=(0,a.createServerReference)("403a778155eca3d66caced3ec53525cda3391dc67d",a.callServer,void 0,a.findSourceMapURL,"deployApplication"),i=(0,a.createServerReference)("402a9c7b1cbacbd4f6ae2adc15150a5e9fa6689da6",a.callServer,void 0,a.findSourceMapURL,"stopDeployment"),d=(0,a.createServerReference)("408784dcdf29dcba457fa87bdb1d61da77cd0be033",a.callServer,void 0,a.findSourceMapURL,"getDeploymentStatus");var o=e.i(18354);let c={status:null,url:null,targetType:null,hydrated:!1,deployLoading:!1,stopLoading:!1,deployError:null};class u{entries=new Map;listeners=new Map;globalListeners=new Set;hydrate(e){let t=new Set;for(let s of e)t.add(s.targetId),this.update(s.targetId,{status:s.state,url:s.url,targetType:s.targetType,hydrated:!0});for(let[e,s]of this.entries)!t.has(e)&&s.hydrated&&null!==s.status?this.update(e,{status:null,url:null}):t.has(e)||s.hydrated||this.update(e,{hydrated:!0})}getEntry(e){return this.entries.get(e)??c}update(e,t){let s={...this.entries.get(e)??c,...t};this.entries.set(e,s),this.notify(e)}setStatus(e,t){null===t?this.update(e,{status:null,url:null,hydrated:!0}):this.update(e,{status:t.state,url:t.url,hydrated:!0})}subscribe(e,t){let s=this.listeners.get(e);return s||(s=new Set,this.listeners.set(e,s)),s.add(t),()=>{s?.delete(t),s?.size===0&&this.listeners.delete(e)}}subscribeAll(e){return this.globalListeners.add(e),()=>{this.globalListeners.delete(e)}}notify(e){let t=this.listeners.get(e);if(t)for(let e of t)e();for(let e of this.globalListeners)e()}}e.s(["DeploymentStatusStore",()=>u,"EMPTY_ENTRY",0,c],81605);let m=(0,o.createLogger)("[DeploymentStatusProvider]"),x=new Set(["Booting","Ready"]),p=(0,s.createContext)(null);function f({initialDeployments:e,children:a}){let o=(0,s.useRef)(null);o.current||(o.current=new u,o.current.hydrate(e));let c=o.current;(0,s.useEffect)(()=>{c.hydrate(e)},[e,c]);let f=(0,s.useRef)(new Map),h=(0,s.useCallback)(e=>{let t=f.current.get(e);t&&(clearInterval(t),f.current.delete(e))},[]),g=(0,s.useCallback)(e=>{if(f.current.has(e))return;let t=setInterval(async()=>{let t;try{t=await d(e)}catch(t){m.warn(`poll failed for "${e}"`,t),c.setStatus(e,null),h(e);return}if(!t||"Stopped"===t.state){c.setStatus(e,null),h(e);return}c.setStatus(e,t)},3e3);f.current.set(e,t)},[c,h]);(0,s.useEffect)(()=>{let e=f.current,t=c.subscribeAll(()=>{for(let[t]of e){let e=c.getEntry(t);e.status&&x.has(e.status)||h(t)}});return()=>{for(let[,s]of(t(),e))clearInterval(s);e.clear()}},[c,h]);let j=(0,s.useCallback)(e=>{!e||c.getEntry(e).hydrated||(c.update(e,{hydrated:!0}),(async()=>{try{let t=await d(e);c.setStatus(e,t),t&&x.has(t.state)&&g(e)}catch(t){m.warn(`ensureHydrated failed for "${e}"`,t)}})())},[c,g]),y=(0,s.useCallback)(async e=>{c.update(e.targetId,{deployLoading:!0,deployError:null});try{let t="feature"===e.targetType?await l(e.targetId):"application"===e.targetType?await n(e.targetId):await r(e.repositoryPath);if(!t.success)return void c.update(e.targetId,{deployLoading:!1,deployError:t.error??"An unexpected error occurred"});c.update(e.targetId,{deployLoading:!1,status:t.state??null,url:null,hydrated:!0,targetType:e.targetType}),g(e.targetId)}catch(s){let t=s instanceof Error?s.message:"An unexpected error occurred";c.update(e.targetId,{deployLoading:!1,deployError:t})}},[c,g]),v=(0,s.useCallback)(async e=>{if(e){c.update(e,{stopLoading:!0});try{(await i(e)).success?(h(e),c.update(e,{stopLoading:!1,status:null,url:null})):c.update(e,{stopLoading:!1})}catch(t){m.warn("stop error (non-critical)",t),c.update(e,{stopLoading:!1})}}},[c,h]),N=(0,s.useMemo)(()=>({store:c,deploy:y,stop:v,ensureHydrated:j}),[c,y,v,j]);return(0,t.jsx)(p.Provider,{value:N,children:a})}function h(){let e=(0,s.useContext)(p);if(!e)throw Error("useDeploymentStatusContext must be used within a <DeploymentStatusProvider>");return e}function g(){let e=(0,s.useContext)(p);return e||j}let j={store:new u,deploy:async()=>{},stop:async()=>{},ensureHydrated:()=>{}};e.s(["DeploymentStatusProvider",()=>f,"useDeploymentStatusContext",()=>h,"useDeploymentStatusContextOptional",()=>g],73504)},8537,e=>{"use strict";var t=e.i(79054),s=e.i(73504);function a(){}function l(e){let{store:l,deploy:r,stop:n,ensureHydrated:i}=(0,s.useDeploymentStatusContextOptional)(),d=e?.targetId??"",o=(0,t.useCallback)(e=>d?l.subscribe(d,e):a,[l,d]),c=(0,t.useCallback)(()=>d?l.getEntry(d):l.getEntry(""),[l,d]),u=(0,t.useSyncExternalStore)(o,c,c);return(0,t.useEffect)(()=>{d&&i(d)},[d,i]),{deploy:(0,t.useCallback)(async()=>{e&&await r(e)},[r,e]),stop:(0,t.useCallback)(async()=>{d&&await n(d)},[n,d]),deployLoading:u.deployLoading,stopLoading:u.stopLoading,deployError:u.deployError,status:u.status,url:u.url}}e.s(["useDeployAction",()=>l])},1650,e=>{"use strict";e.i(11495),e.s([])},956,e=>{"use strict";var t=e.i(20314),s=e.i(79054),a=e.i(31777);let l=s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...s}));l.displayName="Card";let r=s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("flex flex-col space-y-1.5 p-6",e),...s}));r.displayName="CardHeader";let n=s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("leading-none font-semibold tracking-tight",e),...s}));n.displayName="CardTitle";let i=s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("text-muted-foreground text-sm",e),...s}));i.displayName="CardDescription";let d=s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("p-6 pt-0",e),...s}));d.displayName="CardContent",s.forwardRef(({className:e,...s},l)=>(0,t.jsx)("div",{ref:l,className:(0,a.cn)("flex items-center p-6 pt-0",e),...s})).displayName="CardFooter",e.s(["Card",()=>l,"CardContent",()=>d,"CardDescription",()=>i,"CardHeader",()=>r,"CardTitle",()=>n])},54793,7729,e=>{"use strict";var t=e.i(20314),s=e.i(31777);function a({icon:e,title:a,description:l,action:r,className:n,...i}){return(0,t.jsxs)("div",{className:(0,s.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",n),...i,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:a}),l?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:l}):null,r?(0,t.jsx)("div",{className:"mt-2",children:r}):null]})}e.s(["EmptyState",()=>a],7729),e.s([],54793)},9443,85871,e=>{"use strict";var t=e.i(20314),s=e.i(31777);function a({title:e,description:a,children:l,className:r}){return(0,t.jsxs)("header",{className:(0,s.cn)("flex items-center justify-between gap-4",r),children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),a?(0,t.jsx)("p",{className:"text-muted-foreground",children:a}):null]}),l?(0,t.jsx)("div",{"data-slot":"actions",children:l}):null]})}e.s(["PageHeader",()=>a],85871),e.s([],9443)},38752,e=>{"use strict";var t=e.i(20314);e.i(1650);var s=e.i(11495),a=e.i(45811),l=e.i(81846),r=e.i(25235),n=e.i(19933);function i({skill:e,onClose:i}){return(0,t.jsx)(s.BaseDrawer,{open:null!==e,onClose:i,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.DrawerTitle,{children:e.displayName}),(0,t.jsx)(a.DrawerDescription,{children:e.name})]}):void 0,children:e?(0,t.jsxs)("div",{className:"px-4 pb-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(l.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),(0,t.jsx)(l.Badge,{variant:"outline",children:e.category}),e.context?(0,t.jsx)(l.Badge,{variant:"outline",children:e.context}):null]}),e.allowedTools?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,t.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,t.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,t.jsx)(n.FolderOpen,{className:"size-3.5 shrink-0"}),(0,t.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:e.body})]}):null]}):null})}e.s(["SkillDetailDrawer",()=>i])},16919,e=>{"use strict";var t=e.i(20314),s=e.i(79054),a=e.i(66459),l=e.i(12103),r=e.i(98127),n=e.i(35364);e.i(9443);var i=e.i(85871);e.i(54793);var d=e.i(7729),o=e.i(956),c=e.i(81846),u=e.i(19933);function m({skill:e,onSelect:s}){return(0,t.jsxs)(o.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>s(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),s(e))},"data-testid":`skill-card-${e.name}`,children:[(0,t.jsxs)(o.CardHeader,{className:"pb-3",children:[(0,t.jsx)(o.CardTitle,{className:"text-base",children:e.displayName}),(0,t.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:e.name})]}),(0,t.jsxs)(o.CardContent,{className:"space-y-3",children:[(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:e.description}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(c.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,t.jsx)(c.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,t.jsx)(c.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,t.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,t.jsx)(u.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})]})}let x=["Workflow","Code Generation","Analysis","Reference"];function p({skills:e,onSkillSelect:s}){let a=function(e){let t=new Map;for(let s of e){let e=t.get(s.category)??[];e.push(s),t.set(s.category,e)}return t}(e);return(0,t.jsx)("div",{className:"space-y-8",children:x.map(e=>{let l=a.get(e);return l&&0!==l.length?(0,t.jsxs)("section",{children:[(0,t.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[e," ",(0,t.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",l.length,")"]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:l.map(e=>(0,t.jsx)(m,{skill:e,onSelect:s},e.name))})]},e):null})})}let f=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function h({activeCategory:e,onCategoryChange:s,counts:a}){return(0,t.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:f.map(({label:l,value:r})=>(0,t.jsxs)(n.Button,{variant:e===r?"default":"outline",size:"sm",onClick:()=>s(r),children:[l,a&&r?(0,t.jsxs)("span",{className:"ms-1 text-xs opacity-70",children:["(",a[r],")"]}):null]},l))})}var g=e.i(38752),j=e.i(25235),y=e.i(31406),v=e.i(3214),N=e.i(60253),k=e.i(60112),b=e.i(21023);let S=(0,b.createServerReference)("401fdd7f63c064d184819ef5a976c11d4e6de36e2b",b.callServer,void 0,b.findSourceMapURL,"removeInjectedSkill");var C=e.i(2287),w=e.i(41957),R=e.i(68304);let L=(0,b.createServerReference)("40a042416bf5ac310bf4a5f0ccf8a28eaba63e7fe0",b.callServer,void 0,b.findSourceMapURL,"addInjectedSkill");function T({open:e,onOpenChange:a,onAdded:l,discoveredSkills:i,existingSkillNames:d}){let[o,c]=(0,s.useState)(!1),[u,m]=(0,s.useState)(""),[x,p]=(0,s.useState)(""),[f,h]=(0,s.useState)(""),g=i.filter(e=>!d.includes(e.name)),j=async e=>{c(!0);let t=await L({name:e.name,type:"local",source:`.claude/skills/${e.name}`});(c(!1),t.success)?(k.toast.success(`Added "${e.name}" to feature skills`),l()):k.toast.error(t.error??"Failed to add skill")},y=async()=>{if(!u.trim()||!x.trim())return void k.toast.error("Name and source are required");c(!0);let e=await L({name:u.trim(),type:"remote",source:x.trim(),...f.trim()&&{remoteSkillName:f.trim()}});(c(!1),e.success)?(k.toast.success(`Added "${u.trim()}" to feature skills`),m(""),p(""),h(""),l()):k.toast.error(e.error??"Failed to add skill")};return(0,t.jsx)(C.Dialog,{open:e,onOpenChange:a,children:(0,t.jsxs)(C.DialogContent,{className:"sm:max-w-md","data-testid":"add-skill-dialog",children:[(0,t.jsx)(C.DialogHeader,{children:(0,t.jsx)(C.DialogTitle,{children:"Add Skill to Features"})}),(0,t.jsxs)(R.Tabs,{defaultValue:"local",children:[(0,t.jsxs)(R.TabsList,{className:"w-full",children:[(0,t.jsx)(R.TabsTrigger,{value:"local",className:"flex-1",children:"Local"}),(0,t.jsx)(R.TabsTrigger,{value:"remote",className:"flex-1",children:"Remote"})]}),(0,t.jsx)(R.TabsContent,{value:"local",className:"mt-4",children:0===g.length?(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"All discovered skills are already configured."}):(0,t.jsx)("div",{className:"flex max-h-60 flex-col gap-2 overflow-y-auto",children:g.map(e=>(0,t.jsxs)("button",{type:"button",className:"hover:bg-accent flex flex-col gap-0.5 rounded-md border p-3 text-left transition-colors",onClick:()=>j(e),disabled:o,"data-testid":`add-local-skill-${e.name}`,children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.displayName}),(0,t.jsx)("span",{className:"text-muted-foreground line-clamp-1 text-xs",children:e.description})]},e.name))})}),(0,t.jsx)(R.TabsContent,{value:"remote",className:"mt-4",children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(w.Label,{htmlFor:"remote-name",children:"Name"}),(0,t.jsx)(r.Input,{id:"remote-name",placeholder:"e.g. remotion-best-practices",value:u,onChange:e=>m(e.target.value),"data-testid":"remote-skill-name"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(w.Label,{htmlFor:"remote-source",children:"Source (npm package or URL)"}),(0,t.jsx)(r.Input,{id:"remote-source",placeholder:"e.g. @anthropic/remotion-skills",value:x,onChange:e=>p(e.target.value),"data-testid":"remote-skill-source"})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(w.Label,{htmlFor:"remote-skill-name",children:"Skill Name (optional)"}),(0,t.jsx)(r.Input,{id:"remote-skill-name",placeholder:"e.g. remotion-best-practices",value:f,onChange:e=>h(e.target.value),"data-testid":"remote-skill-skill-name"})]}),(0,t.jsx)(C.DialogFooter,{children:(0,t.jsx)(n.Button,{onClick:y,disabled:o||!u.trim()||!x.trim(),"data-testid":"add-remote-skill-submit",children:"Add Remote Skill"})})]})})]})]})})}function D({config:e,discoveredSkills:a}){let l=(0,y.useRouter)(),[r,i]=(0,s.useState)(!1),[d,o]=(0,s.useState)(null),c=(0,s.useMemo)(()=>{let e=new Map;for(let t of a)e.set(t.name,t.description);return e},[a]),u=async e=>{o(e);let t=await S(e);(o(null),t.success)?(k.toast.success(`Removed "${e}" from feature skills`),l.refresh()):k.toast.error(t.error??"Failed to remove skill")};return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-base font-semibold",children:"Feature Skills"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"Curated skills included in new feature worktrees to guide the agent"})]}),e.skills.length>0?(0,t.jsx)("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-3",children:e.skills.map(e=>(0,t.jsx)(A,{skill:e,description:c.get(e.name),onRemove:()=>u(e.name),isRemoving:d===e.name},e.name))}):(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:"No skills configured. Add skills to guide the agent when working on new features."}),(0,t.jsx)("div",{children:(0,t.jsxs)(n.Button,{variant:"outline",size:"sm",onClick:()=>i(!0),"data-testid":"add-injected-skill-button",children:[(0,t.jsx)(v.Plus,{className:"mr-1.5 size-4"}),"Add Skill"]})}),(0,t.jsx)(T,{open:r,onOpenChange:i,onAdded:()=>{i(!1),l.refresh()},discoveredSkills:a,existingSkillNames:e.skills.map(e=>e.name)})]})}function A({skill:e,description:s,onRemove:a,isRemoving:l}){return(0,t.jsxs)(o.Card,{"data-testid":`injected-skill-${e.name}`,children:[(0,t.jsxs)(o.CardHeader,{className:"flex flex-row items-start justify-between gap-2 pb-2",children:[(0,t.jsx)("div",{className:"min-w-0",children:(0,t.jsx)(o.CardTitle,{className:"truncate text-sm",children:e.name})}),(0,t.jsx)(n.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0",onClick:a,disabled:l,"aria-label":`Remove ${e.name}`,"data-testid":`remove-injected-skill-${e.name}`,children:(0,t.jsx)(N.X,{className:"size-4"})})]}),(0,t.jsxs)(o.CardContent,{className:"space-y-2 pt-0",children:[s?(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-xs",children:s}):null,(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)(c.Badge,{variant:"local"===e.type?"secondary":"outline",className:"text-xs",children:"local"===e.type?"Local":"Remote"}),(0,t.jsx)("span",{className:"text-muted-foreground max-w-37.5 truncate text-xs",children:e.source})]})]})]})}function E({skills:e,injectionConfig:o}){let[c,u]=(0,s.useState)(""),[m,x]=(0,s.useState)(null),[f,y]=(0,s.useState)(null),v=(0,s.useMemo)(()=>(function(e){let t={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let s of e)t[s.category]++;return t})(e),[e]),N=(0,s.useMemo)(()=>{let t=c.toLowerCase();return e.filter(e=>{if(m&&e.category!==m)return!1;if(t){let s=e.name.toLowerCase().includes(t),a=e.description.toLowerCase().includes(t);if(!s&&!a)return!1}return!0})},[e,c,m]);return 0===e.length?(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(i.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,t.jsx)(D,{config:o,discoveredSkills:e}),(0,t.jsx)(j.Separator,{}),(0,t.jsx)(d.EmptyState,{icon:(0,t.jsx)(l.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(i.PageHeader,{title:"Skills",description:"Claude Code skills available to this project"}),(0,t.jsx)(D,{config:o,discoveredSkills:e}),(0,t.jsx)(j.Separator,{}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(a.Search,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,t.jsx)(r.Input,{placeholder:"Search skills...",value:c,onChange:e=>u(e.target.value),className:"ps-9"})]}),(0,t.jsx)(h,{activeCategory:m,onCategoryChange:x,counts:v}),N.length>0?(0,t.jsx)(p,{skills:N,onSkillSelect:y}):(0,t.jsx)(d.EmptyState,{icon:(0,t.jsx)(a.Search,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,t.jsx)(n.Button,{variant:"outline",onClick:()=>{u(""),x(null)},children:"Clear filters"})}),(0,t.jsx)(g.SkillDetailDrawer,{skill:f,onClose:()=>y(null)})]})}e.s(["SkillsPageClient",()=>E],16919)}]);
|