@shepai/cli 1.194.1 → 1.194.2-pr584.4f4957c
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/infrastructure/services/agents/common/executors/claude-code-executor.service.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/common/executors/claude-code-executor.service.js +27 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/build-manifest.json +2 -2
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +3 -3
- package/web/.next/required-server-files.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/adopt/page/server-reference-manifest.json +36 -36
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/chat/page/server-reference-manifest.json +34 -34
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +37 -37
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/[tab]/page/server-reference-manifest.json +46 -46
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +46 -46
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +35 -35
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +35 -35
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/chat/page/server-reference-manifest.json +34 -34
- 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)/control-center/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/control-center/page/server-reference-manifest.json +34 -34
- package/web/.next/server/app/(dashboard)/control-center/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/control-center/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +37 -37
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/feature/[featureId]/[tab]/page/server-reference-manifest.json +46 -46
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +46 -46
- 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)/repository/[repositoryId]/[tab]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/[tab]/page/server-reference-manifest.json +35 -35
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +35 -35
- 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/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/application/[id]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/application/[id]/page/server-reference-manifest.json +17 -17
- 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/applications/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/applications/page/server-reference-manifest.json +18 -18
- package/web/.next/server/app/applications/page.js.nft.json +1 -1
- package/web/.next/server/app/applications/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/features/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/features/page/server-reference-manifest.json +30 -30
- package/web/.next/server/app/features/page.js.nft.json +1 -1
- package/web/.next/server/app/features/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/items/[itemId]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/projects/[slug]/items/[itemId]/page/server-reference-manifest.json +15 -15
- package/web/.next/server/app/projects/[slug]/items/[itemId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/projects/[slug]/page/server-reference-manifest.json +27 -27
- package/web/.next/server/app/projects/[slug]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/pages/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/projects/[slug]/pages/page/server-reference-manifest.json +11 -11
- package/web/.next/server/app/projects/[slug]/pages/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/[slug]/settings/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/projects/[slug]/settings/page/server-reference-manifest.json +17 -17
- package/web/.next/server/app/projects/[slug]/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/projects/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/projects/page/server-reference-manifest.json +9 -9
- package/web/.next/server/app/projects/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/settings/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/settings/page/server-reference-manifest.json +11 -11
- package/web/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/skills/page/server-reference-manifest.json +16 -16
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/tools/page/server-reference-manifest.json +14 -14
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/react-loadable-manifest.json +3 -3
- package/web/.next/server/app/version/page/server-reference-manifest.json +8 -8
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/[root-of-the-server]__10e976f3._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_99cb41a4.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_adopt_page_actions_99cb41a4.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_3bcbcc2f.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_@drawer_chat_page_actions_3bcbcc2f.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_059f6735.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_chat_page_actions_059f6735.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_control-center_page_actions_86edeb51.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web__next-internal_server_app_(dashboard)_control-center_page_actions_86edeb51.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_items_[itemId]_work-item-detail-client_tsx_d2e02407._.js.map +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_app_projects_[slug]_settings_project-settings-client_tsx_e8b85ddc._.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/744ca_web_components_features_applications_applications-page-client_tsx_d0db9938._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__012a0e7d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__012a0e7d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0462fa34._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__0462fa34._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1973d644._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1a86d5fe._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__1a86d5fe._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__30326387._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__30326387._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3438c354._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__3438c354._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__361129f0._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__361129f0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4adb4a94._.js +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__4adb4a94._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5c25ef9b._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5c25ef9b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5c5f9704._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__5c5f9704._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__638955bc._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__78e1366f._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__78e1366f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__97b6831c._.js +3 -3
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9b16348d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__9b16348d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__03f1b887._.js → [root-of-the-server]__ae78a6b9._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__03f1b887._.js.map → [root-of-the-server]__ae78a6b9._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b3bc9689._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__b3bc9689._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__04280e28._.js → [root-of-the-server]__b8c0d40a._.js} +2 -2
- package/web/.next/server/chunks/ssr/{[root-of-the-server]__04280e28._.js.map → [root-of-the-server]__b8c0d40a._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba8cbee2._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__ba8cbee2._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dbde193f._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__dbde193f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f6adb460._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__f6adb460._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_101de7c3._.js +1 -1
- package/web/.next/server/chunks/ssr/_101de7c3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_12ba4a07._.js +1 -1
- package/web/.next/server/chunks/ssr/_12ba4a07._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_15634d5b._.js +1 -1
- package/web/.next/server/chunks/ssr/_15634d5b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_27c2f774._.js +1 -1
- package/web/.next/server/chunks/ssr/_27c2f774._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_30787024._.js +1 -1
- package/web/.next/server/chunks/ssr/_30787024._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_3bd60fa3._.js +1 -1
- package/web/.next/server/chunks/ssr/{_739ea6b4._.js → _3f792f30._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_739ea6b4._.js.map → _3f792f30._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_402d53bf._.js +1 -1
- package/web/.next/server/chunks/ssr/_402d53bf._.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/{_3024a5f6._.js → _588a572a._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_3024a5f6._.js.map → _588a572a._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_6868b4b1._.js +1 -1
- package/web/.next/server/chunks/ssr/{_faacc25a._.js → _761e4bd3._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_faacc25a._.js.map → _761e4bd3._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/{_5ed7a395._.js → _7e021392._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_5ed7a395._.js.map → _7e021392._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_805ae1aa._.js +1 -1
- package/web/.next/server/chunks/ssr/_805ae1aa._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_8a700ff4._.js +1 -1
- package/web/.next/server/chunks/ssr/_8a700ff4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_8f4f8aa1._.js +1 -1
- package/web/.next/server/chunks/ssr/_8f4f8aa1._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_f3115daa._.js → _973065c3._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_f3115daa._.js.map → _973065c3._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_b40a4fc3._.js +1 -1
- package/web/.next/server/chunks/ssr/_b40a4fc3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_c44ec376._.js +1 -1
- package/web/.next/server/chunks/ssr/_c44ec376._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_cd641c61._.js +1 -1
- package/web/.next/server/chunks/ssr/_cd641c61._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_d53224a9._.js +1 -1
- package/web/.next/server/chunks/ssr/_d53224a9._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_c9cecace._.js → _e32aca20._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_c9cecace._.js.map → _e32aca20._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_e6271303._.js +1 -1
- package/web/.next/server/chunks/ssr/_e6271303._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_ed8fd56c._.js +1 -1
- package/web/.next/server/chunks/ssr/_ed8fd56c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_f602cc9f._.js +1 -1
- package/web/.next/server/chunks/ssr/_f602cc9f._.js.map +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js +1 -1
- package/web/.next/server/chunks/ssr/b1a17_presentation_web_components_features_settings_settings-page-client_tsx_6ed9d5f8._.js.map +1 -1
- package/web/.next/server/chunks/ssr/f3a1f_components_common_control-center-drawer_repository-drawer-client_tsx_39a00c03._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_05bba4dc._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_05bba4dc._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_43451480._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_43451480._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_4b306bb3._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_4b306bb3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{src_presentation_web_9e14bfc1._.js → src_presentation_web_70ef7fde._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_9e14bfc1._.js.map → src_presentation_web_70ef7fde._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_81dd84ae._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_81dd84ae._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{src_presentation_web_e9ad533a._.js → src_presentation_web_929e9a7b._.js} +2 -2
- package/web/.next/server/chunks/ssr/{src_presentation_web_e9ad533a._.js.map → src_presentation_web_929e9a7b._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_9a543843._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_7ab26c98._.js +3 -3
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_adopt-local-directory_ts_75f1f28c._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_approve-feature_ts_9453ce8b._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_actions_open-directory_ts_1209d917._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_app_features_feature-tree-page-client_tsx_34c5cbbf._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b504e3e2._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b504e3e2._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b5838705._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b5838705._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b6b4baa1._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_b6b4baa1._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c3d0de23._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c3d0de23._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_66643378._.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_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_fc29283f._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_fc29283f._.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 +98 -98
- package/web/.next/static/chunks/07156bfe6433ad08.js +1 -0
- package/web/.next/static/chunks/0abf3aca0664110e.js +1 -0
- package/web/.next/static/chunks/{84aeb6cca97c1a62.js → 150d2879079190e3.js} +1 -1
- package/web/.next/static/chunks/{0235baebfda5ff4f.js → 19a5af71926715a0.js} +1 -1
- package/web/.next/static/chunks/{102d8c48d7767608.js → 22f47ab138b2d9a9.js} +1 -1
- package/web/.next/static/chunks/{e7e7f8f4fc14e58f.js → 249d416f38a960ee.js} +1 -1
- package/web/.next/static/chunks/{575414c8f8e54272.js → 24ec879c40147be1.js} +1 -1
- package/web/.next/static/chunks/{76cd042201cad39c.js → 33264a24cdc2c4a5.js} +1 -1
- package/web/.next/static/chunks/{002432769b97fabb.js → 389b6724824ff3f6.js} +1 -1
- package/web/.next/static/chunks/3977923286c37140.js +1 -0
- package/web/.next/static/chunks/3a25d8e6bc3ede3d.js +1 -0
- package/web/.next/static/chunks/{c34e66253c4cac16.js → 4826c460d01c6943.js} +1 -1
- package/web/.next/static/chunks/{14290d84d004fdb8.js → 4b5d061eb5c2aac4.js} +1 -1
- package/web/.next/static/chunks/{d791522fb2393144.js → 5dc0003cc1241cb9.js} +1 -1
- package/web/.next/static/chunks/{9a29f05df861459b.js → 6235f12c6bcbd03b.js} +1 -1
- package/web/.next/static/chunks/{464e47865e4c5682.js → 65b5726d39a4d482.js} +1 -1
- package/web/.next/static/chunks/{b76095aed26f711e.js → 67109f43808725c6.js} +1 -1
- package/web/.next/static/chunks/{e48a6b334cdf53ce.js → 68d5517e0344f2a8.js} +1 -1
- package/web/.next/static/chunks/6ade0b141237e333.js +1 -0
- package/web/.next/static/chunks/{63fa14ff9d43de5b.js → 733544bb6796c862.js} +1 -1
- package/web/.next/static/chunks/7f2567429fbb01f5.js +1 -0
- package/web/.next/static/chunks/{bedcd3aeb7705af1.js → 8665bb59c0620008.js} +1 -1
- package/web/.next/static/chunks/8c997a1b1fbb91bf.js +1 -0
- package/web/.next/static/chunks/{997b8c166f435eae.js → 9f62973ace3dc4af.js} +1 -1
- package/web/.next/static/chunks/{6800026a05c5ce29.js → a564b5b907b54a5f.js} +1 -1
- package/web/.next/static/chunks/{313b0e3a5235fabd.js → b9bb2c40f2b62ef2.js} +1 -1
- package/web/.next/static/chunks/{1d66cd1dc949253b.js → c954985ac32f7d87.js} +2 -2
- package/web/.next/static/chunks/{578b439d55fb4e0f.js → ce7b3441e19255e6.js} +1 -1
- package/web/.next/static/chunks/{9614c6cb4480dffa.js → e2b81d6dd4f82a2c.js} +1 -1
- package/web/.next/static/chunks/{aebfd87d80d8b2a5.js → e62cd9095e37f064.js} +1 -1
- package/web/.next/static/chunks/{55daeda060e0a94c.js → eb88bae05f0b043b.js} +1 -1
- package/web/.next/static/chunks/{8fad14130e013cca.js → edd8cb6712149e39.js} +1 -1
- package/web/.next/static/chunks/f2040895572839d9.js +1 -0
- package/web/.next/static/chunks/{f1247fc826bfc874.js → fea2481993c12344.js} +1 -1
- package/web/.next/static/chunks/056c4d492ee6cac7.js +0 -1
- package/web/.next/static/chunks/0d8135ee354a3b8e.js +0 -1
- package/web/.next/static/chunks/4e3475e4a3c4d42b.js +0 -1
- package/web/.next/static/chunks/6c6daa1eb10a7f67.js +0 -1
- package/web/.next/static/chunks/7e8e95a6c58eb733.js +0 -1
- package/web/.next/static/chunks/8a3a5f7c77067c87.js +0 -1
- package/web/.next/static/chunks/96662fc50bc09292.js +0 -1
- package/web/.next/static/chunks/df5714231d727c3d.js +0 -1
- /package/web/.next/static/{IbutHkuUs18Kqt37lpak1 → v2TqKlCQvmOQONd8Gezvw}/_buildManifest.js +0 -0
- /package/web/.next/static/{IbutHkuUs18Kqt37lpak1 → v2TqKlCQvmOQONd8Gezvw}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{IbutHkuUs18Kqt37lpak1 → v2TqKlCQvmOQONd8Gezvw}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,267669,e=>{"use strict";let t=(0,e.i(903645).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],267669)},48829,e=>{"use strict";let t=(0,e.i(903645).default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);e.s(["ChevronUp",()=>t],48829)},81846,e=>{"use strict";var t=e.i(679606),r=e.i(294237),s=e.i(131777);let a=(0,r.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function l({className:e,variant:r,...l}){return(0,t.jsx)("div",{className:(0,s.cn)(a({variant:r}),e),...l})}e.s(["Badge",()=>l])},723925,301012,e=>{"use strict";let t=(0,e.i(903645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],301012),e.s(["Check",()=>t],723925)},787342,e=>{"use strict";var t=e.i(152155),r=e.i(922528),s=e.i(205978),a=e.i(786874),l=e.i(679606);function n(e){let n=e+"CollectionProvider",[i,o]=(0,r.createContextScope)(n),[d,c]=i(n,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:r,children:s}=e,a=t.default.useRef(null),n=t.default.useRef(new Map).current;return(0,l.jsx)(d,{scope:r,itemMap:n,collectionRef:a,children:s})};u.displayName=n;let p=e+"CollectionSlot",m=(0,a.createSlot)(p),f=t.default.forwardRef((e,t)=>{let{scope:r,children:a}=e,n=c(p,r),i=(0,s.useComposedRefs)(t,n.collectionRef);return(0,l.jsx)(m,{ref:i,children:a})});f.displayName=p;let h=e+"CollectionItemSlot",x="data-radix-collection-item",v=(0,a.createSlot)(h),g=t.default.forwardRef((e,r)=>{let{scope:a,children:n,...i}=e,o=t.default.useRef(null),d=(0,s.useComposedRefs)(r,o),u=c(h,a);return t.default.useEffect(()=>(u.itemMap.set(o,{ref:o,...i}),()=>void u.itemMap.delete(o))),(0,l.jsx)(v,{...{[x]:""},ref:d,children:n})});return g.displayName=h,[{Provider:u,Slot:f,ItemSlot:g},function(r){let s=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=s.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${x}]`));return Array.from(s.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[s.collectionRef,s.itemMap])},o]}var i=new WeakMap;function o(e,t){var r,s;let a,l,n;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let i=(r=e,s=t,a=r.length,(n=(l=d(s))>=0?l:a+l)<0||n>=a?-1:n);return -1===i?void 0:e[i]}function d(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],i.set(this,!0)}set(e,t){return i.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let s,a=this.has(t),l=this.#e.length,n=d(e),i=n>=0?n:l+n,o=i<0||i>=l?-1:i;if(o===this.size||a&&o===this.size-1||-1===o)return this.set(t,r),this;let c=this.size+ +!a;n<0&&i++;let u=[...this.#e],p=!1;for(let e=i;e<c;e++)if(i===e){let l=u[e];u[e]===t&&(l=u[e+1]),a&&this.delete(t),s=this.get(l),this.set(t,r)}else{p||u[e-1]!==t||(p=!0);let r=u[p?e:e-1],a=s;s=this.get(r),this.delete(r),this.set(r,a)}return this}with(t,r,s){let a=new e(this);return a.insert(t,r,s),a}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=o(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=o(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return o(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.at(s)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return s;r++}}findIndex(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return r;r++}return -1}filter(t,r){let s=[],a=0;for(let e of this)Reflect.apply(t,r,[e,a,this])&&s.push(e),a++;return new e(s)}map(t,r){let s=[],a=0;for(let e of this)s.push([e[0],Reflect.apply(t,r,[e,a,this])]),a++;return new e(s)}reduce(...e){let[t,r]=e,s=0,a=r??this.at(0);for(let r of this)a=0===s&&1===e.length?r:Reflect.apply(t,this,[a,r,s,this]),s++;return a}reduceRight(...e){let[t,r]=e,s=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let a=this.at(r);s=r===this.size-1&&1===e.length?a:Reflect.apply(t,this,[s,a,r,this])}return s}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),s=this.get(r);t.set(r,s)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let s=new e,a=this.size-1;if(void 0===t)return s;t<0&&(t+=this.size),void 0!==r&&r>0&&(a=r-1);for(let e=t;e<=a;e++){let t=this.keyAt(e),r=this.get(t);s.set(t,r)}return s}every(e,t){let r=0;for(let s of this){if(!Reflect.apply(e,t,[s,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>n])},141957,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(287620),a=r.forwardRef((e,r)=>(0,t.jsx)(s.Primitive.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));a.displayName="Label",e.s(["Label",()=>a,"Root",()=>a],127572);var l=e.i(127572),l=l,n=e.i(294237),i=e.i(131777);let o=(0,n.cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),d=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(l.Root,{ref:s,className:(0,i.cn)(o(),e),...r}));d.displayName=l.Root.displayName,e.s(["Label",()=>d],141957)},23405,e=>{"use strict";var t=e.i(152155);function r(e){let r=t.useRef({value:e,previous:e});return t.useMemo(()=>(r.current.value!==e&&(r.current.previous=r.current.value,r.current.value=e),r.current.previous),[e])}e.s(["usePrevious",()=>r])},547373,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(685446),a=e.i(527069),l=e.i(291967),n=e.i(787342),i=e.i(205978),o=e.i(922528),d=e.i(566033),c=e.i(253532),u=e.i(341687),p=e.i(556720),m=e.i(713123),f=e.i(252740),h=e.i(339979),x=e.i(287620),v=e.i(786874),g=e.i(929297),b=e.i(936589),y=e.i(305192),w=e.i(23405),j=e.i(201693),S=e.i(73772),N=e.i(813044),C=[" ","Enter","ArrowUp","ArrowDown"],k=[" ","Enter"],R="Select",[I,P,E]=(0,n.createCollection)(R),[M,T]=(0,o.createContextScope)(R,[E,f.createPopperScope]),L=(0,f.createPopperScope)(),[A,D]=M(R),[B,H]=M(R),z=e=>{let{__scopeSelect:s,children:a,open:l,defaultOpen:n,onOpenChange:i,value:o,defaultValue:c,onValueChange:u,dir:p,name:h,autoComplete:x,disabled:v,required:g,form:y}=e,w=L(s),[j,S]=r.useState(null),[N,C]=r.useState(null),[k,P]=r.useState(!1),E=(0,d.useDirection)(p),[M,T]=(0,b.useControllableState)({prop:l,defaultProp:n??!1,onChange:i,caller:R}),[D,H]=(0,b.useControllableState)({prop:o,defaultProp:c,onChange:u,caller:R}),z=r.useRef(null),V=!j||y||!!j.closest("form"),[U,O]=r.useState(new Set),_=Array.from(U).map(e=>e.props.value).join(";");return(0,t.jsx)(f.Root,{...w,children:(0,t.jsxs)(A,{required:g,scope:s,trigger:j,onTriggerChange:S,valueNode:N,onValueNodeChange:C,valueNodeHasChildren:k,onValueNodeHasChildrenChange:P,contentId:(0,m.useId)(),value:D,onValueChange:H,open:M,onOpenChange:T,dir:E,triggerPointerDownPosRef:z,disabled:v,children:[(0,t.jsx)(I.Provider,{scope:s,children:(0,t.jsx)(B,{scope:e.__scopeSelect,onNativeOptionAdd:r.useCallback(e=>{O(t=>new Set(t).add(e))},[]),onNativeOptionRemove:r.useCallback(e=>{O(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:a})}),V?(0,t.jsxs)(eC,{"aria-hidden":!0,required:g,tabIndex:-1,name:h,autoComplete:x,value:D,onChange:e=>H(e.target.value),disabled:v,form:y,children:[void 0===D?(0,t.jsx)("option",{value:""}):null,Array.from(U)]},_):null]})})};z.displayName=R;var V="SelectTrigger",U=r.forwardRef((e,s)=>{let{__scopeSelect:a,disabled:n=!1,...o}=e,d=L(a),c=D(V,a),u=c.disabled||n,p=(0,i.useComposedRefs)(s,c.onTriggerChange),m=P(a),h=r.useRef("touch"),[v,g,b]=eR(e=>{let t=m().filter(e=>!e.disabled),r=t.find(e=>e.value===c.value),s=eI(t,e,r);void 0!==s&&c.onValueChange(s.value)}),y=e=>{u||(c.onOpenChange(!0),b()),e&&(c.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,t.jsx)(f.Anchor,{asChild:!0,...d,children:(0,t.jsx)(x.Primitive.button,{type:"button",role:"combobox","aria-controls":c.contentId,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":"none",dir:c.dir,"data-state":c.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":ek(c.value)?"":void 0,...o,ref:p,onClick:(0,l.composeEventHandlers)(o.onClick,e=>{e.currentTarget.focus(),"mouse"!==h.current&&y(e)}),onPointerDown:(0,l.composeEventHandlers)(o.onPointerDown,e=>{h.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(y(e),e.preventDefault())}),onKeyDown:(0,l.composeEventHandlers)(o.onKeyDown,e=>{let t=""!==v.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||g(e.key),(!t||" "!==e.key)&&C.includes(e.key)&&(y(),e.preventDefault())})})})});U.displayName=V;var O="SelectValue",_=r.forwardRef((e,r)=>{let{__scopeSelect:s,className:a,style:l,children:n,placeholder:o="",...d}=e,c=D(O,s),{onValueNodeHasChildrenChange:u}=c,p=void 0!==n,m=(0,i.useComposedRefs)(r,c.onValueNodeChange);return(0,y.useLayoutEffect)(()=>{u(p)},[u,p]),(0,t.jsx)(x.Primitive.span,{...d,ref:m,style:{pointerEvents:"none"},children:ek(c.value)?(0,t.jsx)(t.Fragment,{children:o}):n})});_.displayName=O;var F=r.forwardRef((e,r)=>{let{__scopeSelect:s,children:a,...l}=e;return(0,t.jsx)(x.Primitive.span,{"aria-hidden":!0,...l,ref:r,children:a||"▼"})});F.displayName="SelectIcon";var K=e=>(0,t.jsx)(h.Portal,{asChild:!0,...e});K.displayName="SelectPortal";var G="SelectContent",W=r.forwardRef((e,a)=>{let l=D(G,e.__scopeSelect),[n,i]=r.useState();return((0,y.useLayoutEffect)(()=>{i(new DocumentFragment)},[]),l.open)?(0,t.jsx)(Y,{...e,ref:a}):n?s.createPortal((0,t.jsx)($,{scope:e.__scopeSelect,children:(0,t.jsx)(I.Slot,{scope:e.__scopeSelect,children:(0,t.jsx)("div",{children:e.children})})}),n):null});W.displayName=G;var[$,q]=M(G),X=(0,v.createSlot)("SelectContent.RemoveScroll"),Y=r.forwardRef((e,s)=>{let{__scopeSelect:a,position:n="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:d,onPointerDownOutside:m,side:f,sideOffset:h,align:x,alignOffset:v,arrowPadding:g,collisionBoundary:b,collisionPadding:y,sticky:w,hideWhenDetached:j,avoidCollisions:C,...k}=e,R=D(G,a),[I,E]=r.useState(null),[M,T]=r.useState(null),L=(0,i.useComposedRefs)(s,e=>E(e)),[A,B]=r.useState(null),[H,z]=r.useState(null),V=P(a),[U,O]=r.useState(!1),_=r.useRef(!1);r.useEffect(()=>{if(I)return(0,S.hideOthers)(I)},[I]),(0,u.useFocusGuards)();let F=r.useCallback(e=>{let[t,...r]=V().map(e=>e.ref.current),[s]=r.slice(-1),a=document.activeElement;for(let r of e)if(r===a||(r?.scrollIntoView({block:"nearest"}),r===t&&M&&(M.scrollTop=0),r===s&&M&&(M.scrollTop=M.scrollHeight),r?.focus(),document.activeElement!==a))return},[V,M]),K=r.useCallback(()=>F([A,I]),[F,A,I]);r.useEffect(()=>{U&&K()},[U,K]);let{onOpenChange:W,triggerPointerDownPosRef:q}=R;r.useEffect(()=>{if(I){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(q.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(q.current?.y??0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():I.contains(r.target)||W(!1),document.removeEventListener("pointermove",t),q.current=null};return null!==q.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[I,W,q]),r.useEffect(()=>{let e=()=>W(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[W]);let[Y,Q]=eR(e=>{let t=V().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),s=eI(t,e,r);s&&setTimeout(()=>s.ref.current.focus())}),ee=r.useCallback((e,t,r)=>{let s=!_.current&&!r;(void 0!==R.value&&R.value===t||s)&&(B(e),s&&(_.current=!0))},[R.value]),et=r.useCallback(()=>I?.focus(),[I]),er=r.useCallback((e,t,r)=>{let s=!_.current&&!r;(void 0!==R.value&&R.value===t||s)&&z(e)},[R.value]),es="popper"===n?J:Z,ea=es===J?{side:f,sideOffset:h,align:x,alignOffset:v,arrowPadding:g,collisionBoundary:b,collisionPadding:y,sticky:w,hideWhenDetached:j,avoidCollisions:C}:{};return(0,t.jsx)($,{scope:a,content:I,viewport:M,onViewportChange:T,itemRefCallback:ee,selectedItem:A,onItemLeave:et,itemTextRefCallback:er,focusSelectedItem:K,selectedItemText:H,position:n,isPositioned:U,searchRef:Y,children:(0,t.jsx)(N.RemoveScroll,{as:X,allowPinchZoom:!0,children:(0,t.jsx)(p.FocusScope,{asChild:!0,trapped:R.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,l.composeEventHandlers)(o,e=>{R.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,t.jsx)(c.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:d,onPointerDownOutside:m,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>R.onOpenChange(!1),children:(0,t.jsx)(es,{role:"listbox",id:R.contentId,"data-state":R.open?"open":"closed",dir:R.dir,onContextMenu:e=>e.preventDefault(),...k,...ea,onPlaced:()=>O(!0),ref:L,style:{display:"flex",flexDirection:"column",outline:"none",...k.style},onKeyDown:(0,l.composeEventHandlers)(k.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||Q(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=V().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,s=t.indexOf(r);t=t.slice(s+1)}setTimeout(()=>F(t)),e.preventDefault()}})})})})})})});Y.displayName="SelectContentImpl";var Z=r.forwardRef((e,s)=>{let{__scopeSelect:l,onPlaced:n,...o}=e,d=D(G,l),c=q(G,l),[u,p]=r.useState(null),[m,f]=r.useState(null),h=(0,i.useComposedRefs)(s,e=>f(e)),v=P(l),g=r.useRef(!1),b=r.useRef(!0),{viewport:w,selectedItem:j,selectedItemText:S,focusSelectedItem:N}=c,C=r.useCallback(()=>{if(d.trigger&&d.valueNode&&u&&m&&w&&j&&S){let e=d.trigger.getBoundingClientRect(),t=m.getBoundingClientRect(),r=d.valueNode.getBoundingClientRect(),s=S.getBoundingClientRect();if("rtl"!==d.dir){let l=s.left-t.left,n=r.left-l,i=e.left-n,o=e.width+i,d=Math.max(o,t.width),c=window.innerWidth-10,p=(0,a.clamp)(n,[10,Math.max(10,c-d)]);u.style.minWidth=o+"px",u.style.left=p+"px"}else{let l=t.right-s.right,n=window.innerWidth-r.right-l,i=window.innerWidth-e.right-n,o=e.width+i,d=Math.max(o,t.width),c=window.innerWidth-10,p=(0,a.clamp)(n,[10,Math.max(10,c-d)]);u.style.minWidth=o+"px",u.style.right=p+"px"}let l=v(),i=window.innerHeight-20,o=w.scrollHeight,c=window.getComputedStyle(m),p=parseInt(c.borderTopWidth,10),f=parseInt(c.paddingTop,10),h=parseInt(c.borderBottomWidth,10),x=p+f+o+parseInt(c.paddingBottom,10)+h,b=Math.min(5*j.offsetHeight,x),y=window.getComputedStyle(w),N=parseInt(y.paddingTop,10),C=parseInt(y.paddingBottom,10),k=e.top+e.height/2-10,R=j.offsetHeight/2,I=p+f+(j.offsetTop+R);if(I<=k){let e=l.length>0&&j===l[l.length-1].ref.current;u.style.bottom="0px";let t=Math.max(i-k,R+(e?C:0)+(m.clientHeight-w.offsetTop-w.offsetHeight)+h);u.style.height=I+t+"px"}else{let e=l.length>0&&j===l[0].ref.current;u.style.top="0px";let t=Math.max(k,p+w.offsetTop+(e?N:0)+R);u.style.height=t+(x-I)+"px",w.scrollTop=I-k+w.offsetTop}u.style.margin="10px 0",u.style.minHeight=b+"px",u.style.maxHeight=i+"px",n?.(),requestAnimationFrame(()=>g.current=!0)}},[v,d.trigger,d.valueNode,u,m,w,j,S,d.dir,n]);(0,y.useLayoutEffect)(()=>C(),[C]);let[k,R]=r.useState();(0,y.useLayoutEffect)(()=>{m&&R(window.getComputedStyle(m).zIndex)},[m]);let I=r.useCallback(e=>{e&&!0===b.current&&(C(),N?.(),b.current=!1)},[C,N]);return(0,t.jsx)(Q,{scope:l,contentWrapper:u,shouldExpandOnScrollRef:g,onScrollButtonChange:I,children:(0,t.jsx)("div",{ref:p,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:k},children:(0,t.jsx)(x.Primitive.div,{...o,ref:h,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});Z.displayName="SelectItemAlignedPosition";var J=r.forwardRef((e,r)=>{let{__scopeSelect:s,align:a="start",collisionPadding:l=10,...n}=e,i=L(s);return(0,t.jsx)(f.Content,{...i,...n,ref:r,align:a,collisionPadding:l,style:{boxSizing:"border-box",...n.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});J.displayName="SelectPopperPosition";var[Q,ee]=M(G,{}),et="SelectViewport",er=r.forwardRef((e,s)=>{let{__scopeSelect:a,nonce:n,...o}=e,d=q(et,a),c=ee(et,a),u=(0,i.useComposedRefs)(s,d.onViewportChange),p=r.useRef(0);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),(0,t.jsx)(I.Slot,{scope:a,children:(0,t.jsx)(x.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:(0,l.composeEventHandlers)(o.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:s}=c;if(s?.current&&r){let e=Math.abs(p.current-t.scrollTop);if(e>0){let s=window.innerHeight-20,a=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(a<s){let l=a+e,n=Math.min(s,l),i=l-n;r.style.height=n+"px","0px"===r.style.bottom&&(t.scrollTop=i>0?i:0,r.style.justifyContent="flex-end")}}}p.current=t.scrollTop})})})]})});er.displayName=et;var es="SelectGroup",[ea,el]=M(es),en=r.forwardRef((e,r)=>{let{__scopeSelect:s,...a}=e,l=(0,m.useId)();return(0,t.jsx)(ea,{scope:s,id:l,children:(0,t.jsx)(x.Primitive.div,{role:"group","aria-labelledby":l,...a,ref:r})})});en.displayName=es;var ei="SelectLabel",eo=r.forwardRef((e,r)=>{let{__scopeSelect:s,...a}=e,l=el(ei,s);return(0,t.jsx)(x.Primitive.div,{id:l.id,...a,ref:r})});eo.displayName=ei;var ed="SelectItem",[ec,eu]=M(ed),ep=r.forwardRef((e,s)=>{let{__scopeSelect:a,value:n,disabled:o=!1,textValue:d,...c}=e,u=D(ed,a),p=q(ed,a),f=u.value===n,[h,v]=r.useState(d??""),[g,b]=r.useState(!1),y=(0,i.useComposedRefs)(s,e=>p.itemRefCallback?.(e,n,o)),w=(0,m.useId)(),j=r.useRef("touch"),S=()=>{o||(u.onValueChange(n),u.onOpenChange(!1))};if(""===n)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,t.jsx)(ec,{scope:a,value:n,disabled:o,textId:w,isSelected:f,onItemTextChange:r.useCallback(e=>{v(t=>t||(e?.textContent??"").trim())},[]),children:(0,t.jsx)(I.ItemSlot,{scope:a,value:n,disabled:o,textValue:h,children:(0,t.jsx)(x.Primitive.div,{role:"option","aria-labelledby":w,"data-highlighted":g?"":void 0,"aria-selected":f&&g,"data-state":f?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...c,ref:y,onFocus:(0,l.composeEventHandlers)(c.onFocus,()=>b(!0)),onBlur:(0,l.composeEventHandlers)(c.onBlur,()=>b(!1)),onClick:(0,l.composeEventHandlers)(c.onClick,()=>{"mouse"!==j.current&&S()}),onPointerUp:(0,l.composeEventHandlers)(c.onPointerUp,()=>{"mouse"===j.current&&S()}),onPointerDown:(0,l.composeEventHandlers)(c.onPointerDown,e=>{j.current=e.pointerType}),onPointerMove:(0,l.composeEventHandlers)(c.onPointerMove,e=>{j.current=e.pointerType,o?p.onItemLeave?.():"mouse"===j.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,l.composeEventHandlers)(c.onPointerLeave,e=>{e.currentTarget===document.activeElement&&p.onItemLeave?.()}),onKeyDown:(0,l.composeEventHandlers)(c.onKeyDown,e=>{(p.searchRef?.current===""||" "!==e.key)&&(k.includes(e.key)&&S()," "===e.key&&e.preventDefault())})})})})});ep.displayName=ed;var em="SelectItemText",ef=r.forwardRef((e,a)=>{let{__scopeSelect:l,className:n,style:o,...d}=e,c=D(em,l),u=q(em,l),p=eu(em,l),m=H(em,l),[f,h]=r.useState(null),v=(0,i.useComposedRefs)(a,e=>h(e),p.onItemTextChange,e=>u.itemTextRefCallback?.(e,p.value,p.disabled)),g=f?.textContent,b=r.useMemo(()=>(0,t.jsx)("option",{value:p.value,disabled:p.disabled,children:g},p.value),[p.disabled,p.value,g]),{onNativeOptionAdd:w,onNativeOptionRemove:j}=m;return(0,y.useLayoutEffect)(()=>(w(b),()=>j(b)),[w,j,b]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.Primitive.span,{id:p.textId,...d,ref:v}),p.isSelected&&c.valueNode&&!c.valueNodeHasChildren?s.createPortal(d.children,c.valueNode):null]})});ef.displayName=em;var eh="SelectItemIndicator",ex=r.forwardRef((e,r)=>{let{__scopeSelect:s,...a}=e;return eu(eh,s).isSelected?(0,t.jsx)(x.Primitive.span,{"aria-hidden":!0,...a,ref:r}):null});ex.displayName=eh;var ev="SelectScrollUpButton",eg=r.forwardRef((e,s)=>{let a=q(ev,e.__scopeSelect),l=ee(ev,e.__scopeSelect),[n,o]=r.useState(!1),d=(0,i.useComposedRefs)(s,l.onScrollButtonChange);return(0,y.useLayoutEffect)(()=>{if(a.viewport&&a.isPositioned){let e=function(){o(t.scrollTop>0)},t=a.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[a.viewport,a.isPositioned]),n?(0,t.jsx)(ew,{...e,ref:d,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=a;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});eg.displayName=ev;var eb="SelectScrollDownButton",ey=r.forwardRef((e,s)=>{let a=q(eb,e.__scopeSelect),l=ee(eb,e.__scopeSelect),[n,o]=r.useState(!1),d=(0,i.useComposedRefs)(s,l.onScrollButtonChange);return(0,y.useLayoutEffect)(()=>{if(a.viewport&&a.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;o(Math.ceil(t.scrollTop)<e)},t=a.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[a.viewport,a.isPositioned]),n?(0,t.jsx)(ew,{...e,ref:d,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=a;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});ey.displayName=eb;var ew=r.forwardRef((e,s)=>{let{__scopeSelect:a,onAutoScroll:n,...i}=e,o=q("SelectScrollButton",a),d=r.useRef(null),c=P(a),u=r.useCallback(()=>{null!==d.current&&(window.clearInterval(d.current),d.current=null)},[]);return r.useEffect(()=>()=>u(),[u]),(0,y.useLayoutEffect)(()=>{let e=c().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[c]),(0,t.jsx)(x.Primitive.div,{"aria-hidden":!0,...i,ref:s,style:{flexShrink:0,...i.style},onPointerDown:(0,l.composeEventHandlers)(i.onPointerDown,()=>{null===d.current&&(d.current=window.setInterval(n,50))}),onPointerMove:(0,l.composeEventHandlers)(i.onPointerMove,()=>{o.onItemLeave?.(),null===d.current&&(d.current=window.setInterval(n,50))}),onPointerLeave:(0,l.composeEventHandlers)(i.onPointerLeave,()=>{u()})})}),ej=r.forwardRef((e,r)=>{let{__scopeSelect:s,...a}=e;return(0,t.jsx)(x.Primitive.div,{"aria-hidden":!0,...a,ref:r})});ej.displayName="SelectSeparator";var eS="SelectArrow",eN=r.forwardRef((e,r)=>{let{__scopeSelect:s,...a}=e,l=L(s),n=D(eS,s),i=q(eS,s);return n.open&&"popper"===i.position?(0,t.jsx)(f.Arrow,{...l,...a,ref:r}):null});eN.displayName=eS;var eC=r.forwardRef(({__scopeSelect:e,value:s,...a},l)=>{let n=r.useRef(null),o=(0,i.useComposedRefs)(l,n),d=(0,w.usePrevious)(s);return r.useEffect(()=>{let e=n.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(d!==s&&t){let r=new Event("change",{bubbles:!0});t.call(e,s),e.dispatchEvent(r)}},[d,s]),(0,t.jsx)(x.Primitive.select,{...a,style:{...j.VISUALLY_HIDDEN_STYLES,...a.style},ref:o,defaultValue:s})});function ek(e){return""===e||void 0===e}function eR(e){let t=(0,g.useCallbackRef)(e),s=r.useRef(""),a=r.useRef(0),l=r.useCallback(e=>{let r=s.current+e;t(r),function e(t){s.current=t,window.clearTimeout(a.current),""!==t&&(a.current=window.setTimeout(()=>e(""),1e3))}(r)},[t]),n=r.useCallback(()=>{s.current="",window.clearTimeout(a.current)},[]);return r.useEffect(()=>()=>window.clearTimeout(a.current),[]),[s,l,n]}function eI(e,t,r){var s,a;let l=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,n=r?e.indexOf(r):-1,i=(s=e,a=Math.max(n,0),s.map((e,t)=>s[(a+t)%s.length]));1===l.length&&(i=i.filter(e=>e!==r));let o=i.find(e=>e.textValue.toLowerCase().startsWith(l.toLowerCase()));return o!==r?o:void 0}eC.displayName="SelectBubbleInput",e.s(["Arrow",()=>eN,"Content",()=>W,"Group",()=>en,"Icon",()=>F,"Item",()=>ep,"ItemIndicator",()=>ex,"ItemText",()=>ef,"Label",()=>eo,"Portal",()=>K,"Root",()=>z,"ScrollDownButton",()=>ey,"ScrollUpButton",()=>eg,"Select",()=>z,"SelectArrow",()=>eN,"SelectContent",()=>W,"SelectGroup",()=>en,"SelectIcon",()=>F,"SelectItem",()=>ep,"SelectItemIndicator",()=>ex,"SelectItemText",()=>ef,"SelectLabel",()=>eo,"SelectPortal",()=>K,"SelectScrollDownButton",()=>ey,"SelectScrollUpButton",()=>eg,"SelectSeparator",()=>ej,"SelectTrigger",()=>U,"SelectValue",()=>_,"SelectViewport",()=>er,"Separator",()=>ej,"Trigger",()=>U,"Value",()=>_,"Viewport",()=>er,"createSelectScope",()=>T],483830);var eP=e.i(483830),eP=eP,eE=e.i(723925),eM=e.i(99105),eT=e.i(48829),eL=e.i(131777);let eA=eP.Root;eP.Group;let eD=eP.Value,eB=r.forwardRef(({className:e,children:r,...s},a)=>(0,t.jsxs)(eP.Trigger,{ref:a,className:(0,eL.cn)("border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...s,children:[r,(0,t.jsx)(eP.Icon,{asChild:!0,children:(0,t.jsx)(eM.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));eB.displayName=eP.Trigger.displayName;let eH=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(eP.ScrollUpButton,{ref:s,className:(0,eL.cn)("flex cursor-default items-center justify-center py-1",e),...r,children:(0,t.jsx)(eT.ChevronUp,{className:"h-4 w-4"})}));eH.displayName=eP.ScrollUpButton.displayName;let ez=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(eP.ScrollDownButton,{ref:s,className:(0,eL.cn)("flex cursor-default items-center justify-center py-1",e),...r,children:(0,t.jsx)(eM.ChevronDown,{className:"h-4 w-4"})}));ez.displayName=eP.ScrollDownButton.displayName;let eV=r.forwardRef(({className:e,children:r,position:s="popper",...a},l)=>(0,t.jsx)(eP.Portal,{children:(0,t.jsxs)(eP.Content,{ref:l,className:(0,eL.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md","popper"===s&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:s,...a,children:[(0,t.jsx)(eH,{}),(0,t.jsx)(eP.Viewport,{className:(0,eL.cn)("p-1","popper"===s&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:r}),(0,t.jsx)(ez,{})]})}));eV.displayName=eP.Content.displayName,r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(eP.Label,{ref:s,className:(0,eL.cn)("px-2 py-1.5 text-sm font-semibold",e),...r})).displayName=eP.Label.displayName;let eU=r.forwardRef(({className:e,children:r,...s},a)=>(0,t.jsxs)(eP.Item,{ref:a,className:(0,eL.cn)("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 ps-2 pe-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...s,children:[(0,t.jsx)("span",{className:"absolute end-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(eP.ItemIndicator,{children:(0,t.jsx)(eE.Check,{className:"h-4 w-4"})})}),(0,t.jsx)(eP.ItemText,{children:r})]}));eU.displayName=eP.Item.displayName,r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(eP.Separator,{ref:s,className:(0,eL.cn)("bg-muted -mx-1 my-1 h-px",e),...r})).displayName=eP.Separator.displayName,e.s(["Select",()=>eA,"SelectContent",()=>eV,"SelectItem",()=>eU,"SelectTrigger",()=>eB,"SelectValue",()=>eD],547373)},938518,e=>{"use strict";let t=(0,e.i(903645).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],938518)},204461,804796,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(735364),a=e.i(81846),l=e.i(317406),n=e.i(508893);let i=(0,n.createServerReference)("602eeb753dd957f78598061215d9cd55e31296a383",n.callServer,void 0,n.findSourceMapURL,"updatePmProject");e.s(["updatePmProject",()=>i],804796);let o=[{value:l.EstimateType.None,label:"None",description:"No estimates"},{value:l.EstimateType.Category,label:"T-Shirt Sizes",description:"XS, S, M, L, XL"},{value:l.EstimateType.Points,label:"Fibonacci Points",description:"1, 2, 3, 5, 8, 13, 21"}];function d({projectId:e,currentEstimateType:l,onEstimateTypeChange:n,className:d}){let[c,u]=(0,r.useState)(l),[p,m]=(0,r.useState)(!1),f=async t=>{t!==c&&(u(t),m(!0),await i(e,{estimateType:t}),m(!1),n?.(t))};return(0,t.jsxs)("div",{"data-testid":"estimate-settings",className:d,children:[(0,t.jsxs)("div",{className:"mb-3 flex items-center gap-2",children:[(0,t.jsx)("h3",{className:"text-xs font-medium",children:"Estimate System"}),p?(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:"Saving..."}):null]}),(0,t.jsx)("div",{className:"space-y-2",children:o.map(e=>(0,t.jsx)(s.Button,{variant:c===e.value?"default":"outline",size:"sm",className:"h-auto w-full justify-start px-3 py-2 text-left",onClick:()=>f(e.value),"data-testid":`estimate-option-${e.value}`,children:(0,t.jsxs)("div",{className:"flex w-full items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:e.label}),(0,t.jsx)("span",{className:"text-muted-foreground ml-2 text-[10px]",children:e.description})]}),c===e.value?(0,t.jsx)(a.Badge,{variant:"secondary",className:"text-[10px]",children:"Active"}):null]})},e.value))})]})}e.s(["EstimateSettings",()=>d],204461)},649749,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(711434),a=e.i(938518),l=e.i(939200),n=e.i(267669),i=e.i(3214),o=e.i(131777),d=e.i(735364),c=e.i(698127),u=e.i(81846),p=e.i(204461),m=e.i(141957),f=e.i(547373),h=e.i(317406);let x={Admin:"bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-300",Member:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-300",Guest:"bg-gray-100 text-gray-800 dark:bg-gray-900 dark:text-gray-300"};function v({projectId:e,members:s,currentUserId:a,onAddMember:l,onRemoveMember:n,onUpdateRole:i}){let[o,p]=(0,r.useState)(s),[v,g]=(0,r.useState)(""),[b,y]=(0,r.useState)(h.ProjectRole.Member),[w,j]=(0,r.useState)(null),[S,N]=(0,r.useState)(!1),C=o.some(e=>e.userId===a&&e.role===h.ProjectRole.Admin),k=(0,r.useCallback)(async()=>{if(!v.trim())return;N(!0),j(null);let t=await l({projectId:e,userId:v.trim(),role:b,actorId:a});t.error?j(t.error):t.member&&(p(e=>[...e,t.member]),g(""),y(h.ProjectRole.Member)),N(!1)},[v,b,e,a,l]),R=(0,r.useCallback)(async t=>{j(null);let r=await n({projectId:e,userId:t,actorId:a});r.error?j(r.error):p(e=>e.filter(e=>e.userId!==t))},[e,a,n]),I=(0,r.useCallback)(async(t,r)=>{j(null);let s=await i({projectId:e,userId:t,newRole:r,actorId:a});s.error?j(s.error):p(e=>e.map(e=>e.userId===t?{...e,role:r}:e))},[e,a,i]);return(0,t.jsxs)("div",{"data-testid":"project-members-panel",className:"space-y-4",children:[(0,t.jsx)("h3",{className:"text-lg font-semibold",children:"Project Members"}),w?(0,t.jsx)("div",{"data-testid":"members-error",className:"rounded border border-red-200 bg-red-50 p-3 text-sm text-red-800 dark:border-red-800 dark:bg-red-950 dark:text-red-300",children:w}):null,(0,t.jsxs)("div",{className:"divide-y rounded border",children:[o.map(e=>(0,t.jsxs)("div",{"data-testid":`member-row-${e.userId}`,className:"flex items-center justify-between p-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.userId}),(0,t.jsx)(u.Badge,{className:x[e.role]??"",variant:"secondary",children:e.role})]}),C&&e.userId!==a?(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(f.Select,{value:e.role,onValueChange:t=>I(e.userId,t),children:[(0,t.jsx)(f.SelectTrigger,{className:"w-[120px]",children:(0,t.jsx)(f.SelectValue,{})}),(0,t.jsxs)(f.SelectContent,{children:[(0,t.jsx)(f.SelectItem,{value:h.ProjectRole.Admin,children:"Admin"}),(0,t.jsx)(f.SelectItem,{value:h.ProjectRole.Member,children:"Member"}),(0,t.jsx)(f.SelectItem,{value:h.ProjectRole.Guest,children:"Guest"})]})]}),(0,t.jsx)(d.Button,{variant:"destructive",size:"sm",onClick:()=>R(e.userId),children:"Remove"})]}):null]},e.id)),0===o.length&&(0,t.jsx)("div",{className:"text-muted-foreground p-4 text-center text-sm",children:"No members in this project."})]}),C?(0,t.jsxs)("div",{"data-testid":"add-member-form",className:"flex items-end gap-3 rounded border p-3",children:[(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)(m.Label,{htmlFor:"new-user-id",children:"User ID"}),(0,t.jsx)(c.Input,{id:"new-user-id",value:v,onChange:e=>g(e.target.value),placeholder:"Enter user ID",disabled:S})]}),(0,t.jsxs)("div",{className:"w-[140px]",children:[(0,t.jsx)(m.Label,{htmlFor:"new-role",children:"Role"}),(0,t.jsxs)(f.Select,{value:b,onValueChange:e=>y(e),children:[(0,t.jsx)(f.SelectTrigger,{id:"new-role",children:(0,t.jsx)(f.SelectValue,{})}),(0,t.jsxs)(f.SelectContent,{children:[(0,t.jsx)(f.SelectItem,{value:h.ProjectRole.Admin,children:"Admin"}),(0,t.jsx)(f.SelectItem,{value:h.ProjectRole.Member,children:"Member"}),(0,t.jsx)(f.SelectItem,{value:h.ProjectRole.Guest,children:"Guest"})]})]})]}),(0,t.jsx)(d.Button,{onClick:k,disabled:S||!v.trim(),children:S?"Adding...":"Add Member"})]}):null]})}var g=e.i(804796),b=e.i(508893);let y=(0,b.createServerReference)("40c0ae5a105e0eb24b3e508e569cb0e9d5a171e10e",b.callServer,void 0,b.findSourceMapURL,"deletePmProject"),w=(0,b.createServerReference)("401f3b438008637d2b33c97a1dd88c044a0900e821",b.callServer,void 0,b.findSourceMapURL,"createWorkItemState"),j=(0,b.createServerReference)("40e458ea947ec003bd00d76562d452710b3d63e573",b.callServer,void 0,b.findSourceMapURL,"deleteWorkItemState"),S=(0,b.createServerReference)("4070d0cdefb5203495cfd859b29df64795033f7215",b.callServer,void 0,b.findSourceMapURL,"createLabel"),N=(0,b.createServerReference)("40dac002dfc574067fe5968d800231deb93a26ab9d",b.callServer,void 0,b.findSourceMapURL,"deleteLabel"),C=(0,b.createServerReference)("4093e2b3c95f4cfebe69aca18f28671f968485a0fc",b.callServer,void 0,b.findSourceMapURL,"addProjectMember"),k=(0,b.createServerReference)("407c35d2b4b31def3bb70a43398c3be5bfe3c1c9dc",b.callServer,void 0,b.findSourceMapURL,"removeProjectMember"),R=(0,b.createServerReference)("40d50544d0b5fabae156e1067a06b9b4b486b8448c",b.callServer,void 0,b.findSourceMapURL,"updateProjectMemberRole"),I={backlog:"bg-gray-400",unstarted:"bg-blue-400",started:"bg-yellow-400",completed:"bg-green-400",cancelled:"bg-red-400"};function P({project:e,states:m,labels:f,members:h=[],className:x}){let b=(0,s.useRouter)(),[P,E]=(0,r.useState)(e.name),[M,T]=(0,r.useState)(e.description??""),[L,A]=(0,r.useState)(!1),[D,B]=(0,r.useState)(m),[H,z]=(0,r.useState)(f),[V,U]=(0,r.useState)(""),[O,_]=(0,r.useState)(""),[F,K]=(0,r.useState)("#6366f1"),[G,W]=(0,r.useState)(""),$=(0,r.useCallback)(async()=>{A(!0),await (0,g.updatePmProject)(e.id,{name:P.trim(),description:M.trim()||void 0}),A(!1)},[e.id,P,M]),q=(0,r.useCallback)(async()=>{if(!V.trim())return;let t=await w({projectId:e.id,name:V.trim(),color:"#6366f1",stateGroup:"unstarted"});t.state&&(B(e=>[...e,t.state]),U(""))},[e.id,V]),X=(0,r.useCallback)(async e=>{(await j(e)).error||B(t=>t.filter(t=>t.id!==e))},[]),Y=(0,r.useCallback)(async()=>{if(!O.trim())return;let t=await S({projectId:e.id,name:O.trim(),color:F});t.label&&(z(e=>[...e,t.label]),_(""))},[e.id,O,F]),Z=(0,r.useCallback)(async e=>{(await N(e)).error||z(t=>t.filter(t=>t.id!==e))},[]),J=(0,r.useCallback)(async()=>{G!==e.name||(await y(e.id)).error||b.push("/projects")},[e.id,e.name,G,b]);return(0,t.jsxs)("div",{"data-testid":"project-settings",className:(0,o.cn)("max-w-2xl space-y-8",x),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>b.push(`/projects/${e.slug}`),"data-testid":"back-to-project",children:(0,t.jsx)(a.ArrowLeft,{className:"h-4 w-4"})}),(0,t.jsx)(l.Settings,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Project Settings"}),(0,t.jsx)(u.Badge,{variant:"outline",className:"text-[10px]",children:e.identifierPrefix})]}),(0,t.jsxs)("section",{className:"space-y-3","data-testid":"general-settings",children:[(0,t.jsx)("h2",{className:"text-xs font-semibold tracking-wide uppercase",children:"General"}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-muted-foreground mb-1 block text-[10px] font-medium",children:"Project Name"}),(0,t.jsx)(c.Input,{value:P,onChange:e=>E(e.target.value),className:"h-8 text-xs","data-testid":"project-name-input"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-muted-foreground mb-1 block text-[10px] font-medium",children:"Description"}),(0,t.jsx)(c.Input,{value:M,onChange:e=>T(e.target.value),placeholder:"Optional description",className:"h-8 text-xs","data-testid":"project-description-input"})]}),(0,t.jsx)(d.Button,{size:"sm",className:"h-7 text-xs",onClick:$,disabled:L||!P.trim(),"data-testid":"save-general-btn",children:L?"Saving...":"Save Changes"})]})]}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)("section",{"data-testid":"estimate-settings-section",children:(0,t.jsx)(p.EstimateSettings,{projectId:e.id,currentEstimateType:e.estimateType})}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsxs)("section",{className:"space-y-3","data-testid":"states-settings",children:[(0,t.jsx)("h2",{className:"text-xs font-semibold tracking-wide uppercase",children:"Work Item States"}),(0,t.jsx)("div",{className:"space-y-1",children:D.map(e=>(0,t.jsxs)("div",{className:"group flex items-center gap-2 rounded-sm px-2 py-1 text-xs","data-testid":`state-${e.id}`,children:[(0,t.jsx)("span",{className:"h-2.5 w-2.5 shrink-0 rounded-full",style:{backgroundColor:e.color}}),(0,t.jsx)("span",{className:"flex-1",children:e.name}),(0,t.jsx)(u.Badge,{variant:"outline",className:(0,o.cn)("text-[9px]",I[e.stateGroup]??"bg-gray-400"),children:e.stateGroup}),e.isDefault?(0,t.jsx)(u.Badge,{variant:"secondary",className:"text-[9px]",children:"default"}):(0,t.jsx)(d.Button,{variant:"ghost",size:"sm",className:"text-destructive hidden h-5 w-5 p-0 group-hover:flex",onClick:()=>X(e.id),title:"Delete state",children:(0,t.jsx)(n.Trash2,{className:"h-3 w-3"})})]},e.id))}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Input,{value:V,onChange:e=>U(e.target.value),placeholder:"New state name",className:"h-7 flex-1 text-xs","data-testid":"new-state-input",onKeyDown:e=>{"Enter"===e.key&&q()}}),(0,t.jsxs)(d.Button,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:q,disabled:!V.trim(),"data-testid":"add-state-btn",children:[(0,t.jsx)(i.Plus,{className:"mr-1 h-3 w-3"}),"Add"]})]})]}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsxs)("section",{className:"space-y-3","data-testid":"labels-settings",children:[(0,t.jsx)("h2",{className:"text-xs font-semibold tracking-wide uppercase",children:"Labels"}),0===H.length?(0,t.jsx)("p",{className:"text-muted-foreground text-[10px]",children:"No labels yet"}):(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:H.map(e=>(0,t.jsxs)("div",{className:"group flex items-center gap-1 rounded-full border px-2 py-0.5","data-testid":`label-${e.id}`,children:[(0,t.jsx)("span",{className:"h-2 w-2 rounded-full",style:{backgroundColor:e.color}}),(0,t.jsx)("span",{className:"text-[10px]",children:e.name}),(0,t.jsx)("button",{type:"button",className:"text-destructive ml-0.5 hidden text-xs group-hover:inline",onClick:()=>Z(e.id),title:"Delete label",children:"×"})]},e.id))}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{type:"color",value:F,onChange:e=>K(e.target.value),className:"h-7 w-7 cursor-pointer rounded border-0 p-0","data-testid":"new-label-color"}),(0,t.jsx)(c.Input,{value:O,onChange:e=>_(e.target.value),placeholder:"New label name",className:"h-7 flex-1 text-xs","data-testid":"new-label-input",onKeyDown:e=>{"Enter"===e.key&&Y()}}),(0,t.jsxs)(d.Button,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:Y,disabled:!O.trim(),"data-testid":"add-label-btn",children:[(0,t.jsx)(i.Plus,{className:"mr-1 h-3 w-3"}),"Add"]})]})]}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)("section",{"data-testid":"members-settings",children:(0,t.jsx)(v,{projectId:e.id,members:h,currentUserId:"",onAddMember:C,onRemoveMember:k,onUpdateRole:R})}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsxs)("section",{className:"space-y-3","data-testid":"danger-zone",children:[(0,t.jsx)("h2",{className:"text-destructive text-xs font-semibold tracking-wide uppercase",children:"Danger Zone"}),(0,t.jsxs)("div",{className:"border-destructive/20 rounded-md border p-3",children:[(0,t.jsx)("p",{className:"mb-2 text-xs",children:"Permanently delete this project and all its work items, cycles, modules, and pages."}),(0,t.jsxs)("p",{className:"text-muted-foreground mb-2 text-[10px]",children:["Type ",(0,t.jsx)("strong",{children:e.name})," to confirm."]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Input,{value:G,onChange:e=>W(e.target.value),placeholder:e.name,className:"h-7 flex-1 text-xs","data-testid":"delete-confirm-input"}),(0,t.jsxs)(d.Button,{variant:"destructive",size:"sm",className:"h-7 text-xs",onClick:J,disabled:G!==e.name,"data-testid":"delete-project-btn",children:[(0,t.jsx)(n.Trash2,{className:"mr-1 h-3 w-3"}),"Delete Project"]})]})]})]})]})}e.s(["ProjectSettingsClient",()=>P],649749)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,267669,e=>{"use strict";let t=(0,e.i(903645).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",()=>t],267669)},48829,e=>{"use strict";let t=(0,e.i(903645).default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);e.s(["ChevronUp",()=>t],48829)},81846,e=>{"use strict";var t=e.i(679606),r=e.i(294237),s=e.i(131777);let a=(0,r.cva)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-none",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function l({className:e,variant:r,...l}){return(0,t.jsx)("div",{className:(0,s.cn)(a({variant:r}),e),...l})}e.s(["Badge",()=>l])},723925,301012,e=>{"use strict";let t=(0,e.i(903645).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["default",()=>t],301012),e.s(["Check",()=>t],723925)},787342,e=>{"use strict";var t=e.i(152155),r=e.i(922528),s=e.i(205978),a=e.i(786874),l=e.i(679606);function n(e){let n=e+"CollectionProvider",[i,o]=(0,r.createContextScope)(n),[d,c]=i(n,{collectionRef:{current:null},itemMap:new Map}),u=e=>{let{scope:r,children:s}=e,a=t.default.useRef(null),n=t.default.useRef(new Map).current;return(0,l.jsx)(d,{scope:r,itemMap:n,collectionRef:a,children:s})};u.displayName=n;let p=e+"CollectionSlot",m=(0,a.createSlot)(p),f=t.default.forwardRef((e,t)=>{let{scope:r,children:a}=e,n=c(p,r),i=(0,s.useComposedRefs)(t,n.collectionRef);return(0,l.jsx)(m,{ref:i,children:a})});f.displayName=p;let h=e+"CollectionItemSlot",x="data-radix-collection-item",v=(0,a.createSlot)(h),g=t.default.forwardRef((e,r)=>{let{scope:a,children:n,...i}=e,o=t.default.useRef(null),d=(0,s.useComposedRefs)(r,o),u=c(h,a);return t.default.useEffect(()=>(u.itemMap.set(o,{ref:o,...i}),()=>void u.itemMap.delete(o))),(0,l.jsx)(v,{...{[x]:""},ref:d,children:n})});return g.displayName=h,[{Provider:u,Slot:f,ItemSlot:g},function(r){let s=c(e+"CollectionConsumer",r);return t.default.useCallback(()=>{let e=s.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${x}]`));return Array.from(s.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[s.collectionRef,s.itemMap])},o]}var i=new WeakMap;function o(e,t){var r,s;let a,l,n;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let i=(r=e,s=t,a=r.length,(n=(l=d(s))>=0?l:a+l)<0||n>=a?-1:n);return -1===i?void 0:e[i]}function d(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],i.set(this,!0)}set(e,t){return i.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let s,a=this.has(t),l=this.#e.length,n=d(e),i=n>=0?n:l+n,o=i<0||i>=l?-1:i;if(o===this.size||a&&o===this.size-1||-1===o)return this.set(t,r),this;let c=this.size+ +!a;n<0&&i++;let u=[...this.#e],p=!1;for(let e=i;e<c;e++)if(i===e){let l=u[e];u[e]===t&&(l=u[e+1]),a&&this.delete(t),s=this.get(l),this.set(t,r)}else{p||u[e-1]!==t||(p=!0);let r=u[p?e:e-1],a=s;s=this.get(r),this.delete(r),this.set(r,a)}return this}with(t,r,s){let a=new e(this);return a.insert(t,r,s),a}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let s=this.#e.indexOf(e);return -1===s?this:this.insert(s+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=o(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=o(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return o(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.at(s)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let s=r+t;return s<0&&(s=0),s>=this.size&&(s=this.size-1),this.keyAt(s)}find(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return s;r++}}findIndex(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return r;r++}return -1}filter(t,r){let s=[],a=0;for(let e of this)Reflect.apply(t,r,[e,a,this])&&s.push(e),a++;return new e(s)}map(t,r){let s=[],a=0;for(let e of this)s.push([e[0],Reflect.apply(t,r,[e,a,this])]),a++;return new e(s)}reduce(...e){let[t,r]=e,s=0,a=r??this.at(0);for(let r of this)a=0===s&&1===e.length?r:Reflect.apply(t,this,[a,r,s,this]),s++;return a}reduceRight(...e){let[t,r]=e,s=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let a=this.at(r);s=r===this.size-1&&1===e.length?a:Reflect.apply(t,this,[s,a,r,this])}return s}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),s=this.get(r);t.set(r,s)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let s=new e,a=this.size-1;if(void 0===t)return s;t<0&&(t+=this.size),void 0!==r&&r>0&&(a=r-1);for(let e=t;e<=a;e++){let t=this.keyAt(e),r=this.get(t);s.set(t,r)}return s}every(e,t){let r=0;for(let s of this){if(!Reflect.apply(e,t,[s,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let s of this){if(Reflect.apply(e,t,[s,r,this]))return!0;r++}return!1}}),e.s(["createCollection",()=>n])},141957,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(287620),a=r.forwardRef((e,r)=>(0,t.jsx)(s.Primitive.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));a.displayName="Label",e.s(["Label",()=>a,"Root",()=>a],127572);var l=e.i(127572),l=l,n=e.i(294237),i=e.i(131777);let o=(0,n.cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),d=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(l.Root,{ref:s,className:(0,i.cn)(o(),e),...r}));d.displayName=l.Root.displayName,e.s(["Label",()=>d],141957)},23405,e=>{"use strict";var t=e.i(152155);function r(e){let r=t.useRef({value:e,previous:e});return t.useMemo(()=>(r.current.value!==e&&(r.current.previous=r.current.value,r.current.value=e),r.current.previous),[e])}e.s(["usePrevious",()=>r])},547373,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(685446),a=e.i(527069),l=e.i(291967),n=e.i(787342),i=e.i(205978),o=e.i(922528),d=e.i(566033),c=e.i(253532),u=e.i(341687),p=e.i(556720),m=e.i(713123),f=e.i(252740),h=e.i(339979),x=e.i(287620),v=e.i(786874),g=e.i(929297),b=e.i(936589),y=e.i(305192),w=e.i(23405),j=e.i(201693),S=e.i(73772),N=e.i(813044),C=[" ","Enter","ArrowUp","ArrowDown"],k=[" ","Enter"],R="Select",[I,P,E]=(0,n.createCollection)(R),[M,T]=(0,o.createContextScope)(R,[E,f.createPopperScope]),L=(0,f.createPopperScope)(),[A,D]=M(R),[B,H]=M(R),z=e=>{let{__scopeSelect:s,children:a,open:l,defaultOpen:n,onOpenChange:i,value:o,defaultValue:c,onValueChange:u,dir:p,name:h,autoComplete:x,disabled:v,required:g,form:y}=e,w=L(s),[j,S]=r.useState(null),[N,C]=r.useState(null),[k,P]=r.useState(!1),E=(0,d.useDirection)(p),[M,T]=(0,b.useControllableState)({prop:l,defaultProp:n??!1,onChange:i,caller:R}),[D,H]=(0,b.useControllableState)({prop:o,defaultProp:c,onChange:u,caller:R}),z=r.useRef(null),V=!j||y||!!j.closest("form"),[U,O]=r.useState(new Set),_=Array.from(U).map(e=>e.props.value).join(";");return(0,t.jsx)(f.Root,{...w,children:(0,t.jsxs)(A,{required:g,scope:s,trigger:j,onTriggerChange:S,valueNode:N,onValueNodeChange:C,valueNodeHasChildren:k,onValueNodeHasChildrenChange:P,contentId:(0,m.useId)(),value:D,onValueChange:H,open:M,onOpenChange:T,dir:E,triggerPointerDownPosRef:z,disabled:v,children:[(0,t.jsx)(I.Provider,{scope:s,children:(0,t.jsx)(B,{scope:e.__scopeSelect,onNativeOptionAdd:r.useCallback(e=>{O(t=>new Set(t).add(e))},[]),onNativeOptionRemove:r.useCallback(e=>{O(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:a})}),V?(0,t.jsxs)(eC,{"aria-hidden":!0,required:g,tabIndex:-1,name:h,autoComplete:x,value:D,onChange:e=>H(e.target.value),disabled:v,form:y,children:[void 0===D?(0,t.jsx)("option",{value:""}):null,Array.from(U)]},_):null]})})};z.displayName=R;var V="SelectTrigger",U=r.forwardRef((e,s)=>{let{__scopeSelect:a,disabled:n=!1,...o}=e,d=L(a),c=D(V,a),u=c.disabled||n,p=(0,i.useComposedRefs)(s,c.onTriggerChange),m=P(a),h=r.useRef("touch"),[v,g,b]=eR(e=>{let t=m().filter(e=>!e.disabled),r=t.find(e=>e.value===c.value),s=eI(t,e,r);void 0!==s&&c.onValueChange(s.value)}),y=e=>{u||(c.onOpenChange(!0),b()),e&&(c.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,t.jsx)(f.Anchor,{asChild:!0,...d,children:(0,t.jsx)(x.Primitive.button,{type:"button",role:"combobox","aria-controls":c.contentId,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":"none",dir:c.dir,"data-state":c.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":ek(c.value)?"":void 0,...o,ref:p,onClick:(0,l.composeEventHandlers)(o.onClick,e=>{e.currentTarget.focus(),"mouse"!==h.current&&y(e)}),onPointerDown:(0,l.composeEventHandlers)(o.onPointerDown,e=>{h.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(y(e),e.preventDefault())}),onKeyDown:(0,l.composeEventHandlers)(o.onKeyDown,e=>{let t=""!==v.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||g(e.key),(!t||" "!==e.key)&&C.includes(e.key)&&(y(),e.preventDefault())})})})});U.displayName=V;var O="SelectValue",_=r.forwardRef((e,r)=>{let{__scopeSelect:s,className:a,style:l,children:n,placeholder:o="",...d}=e,c=D(O,s),{onValueNodeHasChildrenChange:u}=c,p=void 0!==n,m=(0,i.useComposedRefs)(r,c.onValueNodeChange);return(0,y.useLayoutEffect)(()=>{u(p)},[u,p]),(0,t.jsx)(x.Primitive.span,{...d,ref:m,style:{pointerEvents:"none"},children:ek(c.value)?(0,t.jsx)(t.Fragment,{children:o}):n})});_.displayName=O;var F=r.forwardRef((e,r)=>{let{__scopeSelect:s,children:a,...l}=e;return(0,t.jsx)(x.Primitive.span,{"aria-hidden":!0,...l,ref:r,children:a||"▼"})});F.displayName="SelectIcon";var K=e=>(0,t.jsx)(h.Portal,{asChild:!0,...e});K.displayName="SelectPortal";var G="SelectContent",W=r.forwardRef((e,a)=>{let l=D(G,e.__scopeSelect),[n,i]=r.useState();return((0,y.useLayoutEffect)(()=>{i(new DocumentFragment)},[]),l.open)?(0,t.jsx)(Y,{...e,ref:a}):n?s.createPortal((0,t.jsx)($,{scope:e.__scopeSelect,children:(0,t.jsx)(I.Slot,{scope:e.__scopeSelect,children:(0,t.jsx)("div",{children:e.children})})}),n):null});W.displayName=G;var[$,q]=M(G),X=(0,v.createSlot)("SelectContent.RemoveScroll"),Y=r.forwardRef((e,s)=>{let{__scopeSelect:a,position:n="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:d,onPointerDownOutside:m,side:f,sideOffset:h,align:x,alignOffset:v,arrowPadding:g,collisionBoundary:b,collisionPadding:y,sticky:w,hideWhenDetached:j,avoidCollisions:C,...k}=e,R=D(G,a),[I,E]=r.useState(null),[M,T]=r.useState(null),L=(0,i.useComposedRefs)(s,e=>E(e)),[A,B]=r.useState(null),[H,z]=r.useState(null),V=P(a),[U,O]=r.useState(!1),_=r.useRef(!1);r.useEffect(()=>{if(I)return(0,S.hideOthers)(I)},[I]),(0,u.useFocusGuards)();let F=r.useCallback(e=>{let[t,...r]=V().map(e=>e.ref.current),[s]=r.slice(-1),a=document.activeElement;for(let r of e)if(r===a||(r?.scrollIntoView({block:"nearest"}),r===t&&M&&(M.scrollTop=0),r===s&&M&&(M.scrollTop=M.scrollHeight),r?.focus(),document.activeElement!==a))return},[V,M]),K=r.useCallback(()=>F([A,I]),[F,A,I]);r.useEffect(()=>{U&&K()},[U,K]);let{onOpenChange:W,triggerPointerDownPosRef:q}=R;r.useEffect(()=>{if(I){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(q.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(q.current?.y??0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():I.contains(r.target)||W(!1),document.removeEventListener("pointermove",t),q.current=null};return null!==q.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[I,W,q]),r.useEffect(()=>{let e=()=>W(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[W]);let[Y,Q]=eR(e=>{let t=V().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),s=eI(t,e,r);s&&setTimeout(()=>s.ref.current.focus())}),ee=r.useCallback((e,t,r)=>{let s=!_.current&&!r;(void 0!==R.value&&R.value===t||s)&&(B(e),s&&(_.current=!0))},[R.value]),et=r.useCallback(()=>I?.focus(),[I]),er=r.useCallback((e,t,r)=>{let s=!_.current&&!r;(void 0!==R.value&&R.value===t||s)&&z(e)},[R.value]),es="popper"===n?J:Z,ea=es===J?{side:f,sideOffset:h,align:x,alignOffset:v,arrowPadding:g,collisionBoundary:b,collisionPadding:y,sticky:w,hideWhenDetached:j,avoidCollisions:C}:{};return(0,t.jsx)($,{scope:a,content:I,viewport:M,onViewportChange:T,itemRefCallback:ee,selectedItem:A,onItemLeave:et,itemTextRefCallback:er,focusSelectedItem:K,selectedItemText:H,position:n,isPositioned:U,searchRef:Y,children:(0,t.jsx)(N.RemoveScroll,{as:X,allowPinchZoom:!0,children:(0,t.jsx)(p.FocusScope,{asChild:!0,trapped:R.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,l.composeEventHandlers)(o,e=>{R.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,t.jsx)(c.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:d,onPointerDownOutside:m,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>R.onOpenChange(!1),children:(0,t.jsx)(es,{role:"listbox",id:R.contentId,"data-state":R.open?"open":"closed",dir:R.dir,onContextMenu:e=>e.preventDefault(),...k,...ea,onPlaced:()=>O(!0),ref:L,style:{display:"flex",flexDirection:"column",outline:"none",...k.style},onKeyDown:(0,l.composeEventHandlers)(k.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||Q(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=V().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,s=t.indexOf(r);t=t.slice(s+1)}setTimeout(()=>F(t)),e.preventDefault()}})})})})})})});Y.displayName="SelectContentImpl";var Z=r.forwardRef((e,s)=>{let{__scopeSelect:l,onPlaced:n,...o}=e,d=D(G,l),c=q(G,l),[u,p]=r.useState(null),[m,f]=r.useState(null),h=(0,i.useComposedRefs)(s,e=>f(e)),v=P(l),g=r.useRef(!1),b=r.useRef(!0),{viewport:w,selectedItem:j,selectedItemText:S,focusSelectedItem:N}=c,C=r.useCallback(()=>{if(d.trigger&&d.valueNode&&u&&m&&w&&j&&S){let e=d.trigger.getBoundingClientRect(),t=m.getBoundingClientRect(),r=d.valueNode.getBoundingClientRect(),s=S.getBoundingClientRect();if("rtl"!==d.dir){let l=s.left-t.left,n=r.left-l,i=e.left-n,o=e.width+i,d=Math.max(o,t.width),c=window.innerWidth-10,p=(0,a.clamp)(n,[10,Math.max(10,c-d)]);u.style.minWidth=o+"px",u.style.left=p+"px"}else{let l=t.right-s.right,n=window.innerWidth-r.right-l,i=window.innerWidth-e.right-n,o=e.width+i,d=Math.max(o,t.width),c=window.innerWidth-10,p=(0,a.clamp)(n,[10,Math.max(10,c-d)]);u.style.minWidth=o+"px",u.style.right=p+"px"}let l=v(),i=window.innerHeight-20,o=w.scrollHeight,c=window.getComputedStyle(m),p=parseInt(c.borderTopWidth,10),f=parseInt(c.paddingTop,10),h=parseInt(c.borderBottomWidth,10),x=p+f+o+parseInt(c.paddingBottom,10)+h,b=Math.min(5*j.offsetHeight,x),y=window.getComputedStyle(w),N=parseInt(y.paddingTop,10),C=parseInt(y.paddingBottom,10),k=e.top+e.height/2-10,R=j.offsetHeight/2,I=p+f+(j.offsetTop+R);if(I<=k){let e=l.length>0&&j===l[l.length-1].ref.current;u.style.bottom="0px";let t=Math.max(i-k,R+(e?C:0)+(m.clientHeight-w.offsetTop-w.offsetHeight)+h);u.style.height=I+t+"px"}else{let e=l.length>0&&j===l[0].ref.current;u.style.top="0px";let t=Math.max(k,p+w.offsetTop+(e?N:0)+R);u.style.height=t+(x-I)+"px",w.scrollTop=I-k+w.offsetTop}u.style.margin="10px 0",u.style.minHeight=b+"px",u.style.maxHeight=i+"px",n?.(),requestAnimationFrame(()=>g.current=!0)}},[v,d.trigger,d.valueNode,u,m,w,j,S,d.dir,n]);(0,y.useLayoutEffect)(()=>C(),[C]);let[k,R]=r.useState();(0,y.useLayoutEffect)(()=>{m&&R(window.getComputedStyle(m).zIndex)},[m]);let I=r.useCallback(e=>{e&&!0===b.current&&(C(),N?.(),b.current=!1)},[C,N]);return(0,t.jsx)(Q,{scope:l,contentWrapper:u,shouldExpandOnScrollRef:g,onScrollButtonChange:I,children:(0,t.jsx)("div",{ref:p,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:k},children:(0,t.jsx)(x.Primitive.div,{...o,ref:h,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});Z.displayName="SelectItemAlignedPosition";var J=r.forwardRef((e,r)=>{let{__scopeSelect:s,align:a="start",collisionPadding:l=10,...n}=e,i=L(s);return(0,t.jsx)(f.Content,{...i,...n,ref:r,align:a,collisionPadding:l,style:{boxSizing:"border-box",...n.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});J.displayName="SelectPopperPosition";var[Q,ee]=M(G,{}),et="SelectViewport",er=r.forwardRef((e,s)=>{let{__scopeSelect:a,nonce:n,...o}=e,d=q(et,a),c=ee(et,a),u=(0,i.useComposedRefs)(s,d.onViewportChange),p=r.useRef(0);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),(0,t.jsx)(I.Slot,{scope:a,children:(0,t.jsx)(x.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:(0,l.composeEventHandlers)(o.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:s}=c;if(s?.current&&r){let e=Math.abs(p.current-t.scrollTop);if(e>0){let s=window.innerHeight-20,a=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(a<s){let l=a+e,n=Math.min(s,l),i=l-n;r.style.height=n+"px","0px"===r.style.bottom&&(t.scrollTop=i>0?i:0,r.style.justifyContent="flex-end")}}}p.current=t.scrollTop})})})]})});er.displayName=et;var es="SelectGroup",[ea,el]=M(es),en=r.forwardRef((e,r)=>{let{__scopeSelect:s,...a}=e,l=(0,m.useId)();return(0,t.jsx)(ea,{scope:s,id:l,children:(0,t.jsx)(x.Primitive.div,{role:"group","aria-labelledby":l,...a,ref:r})})});en.displayName=es;var ei="SelectLabel",eo=r.forwardRef((e,r)=>{let{__scopeSelect:s,...a}=e,l=el(ei,s);return(0,t.jsx)(x.Primitive.div,{id:l.id,...a,ref:r})});eo.displayName=ei;var ed="SelectItem",[ec,eu]=M(ed),ep=r.forwardRef((e,s)=>{let{__scopeSelect:a,value:n,disabled:o=!1,textValue:d,...c}=e,u=D(ed,a),p=q(ed,a),f=u.value===n,[h,v]=r.useState(d??""),[g,b]=r.useState(!1),y=(0,i.useComposedRefs)(s,e=>p.itemRefCallback?.(e,n,o)),w=(0,m.useId)(),j=r.useRef("touch"),S=()=>{o||(u.onValueChange(n),u.onOpenChange(!1))};if(""===n)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,t.jsx)(ec,{scope:a,value:n,disabled:o,textId:w,isSelected:f,onItemTextChange:r.useCallback(e=>{v(t=>t||(e?.textContent??"").trim())},[]),children:(0,t.jsx)(I.ItemSlot,{scope:a,value:n,disabled:o,textValue:h,children:(0,t.jsx)(x.Primitive.div,{role:"option","aria-labelledby":w,"data-highlighted":g?"":void 0,"aria-selected":f&&g,"data-state":f?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...c,ref:y,onFocus:(0,l.composeEventHandlers)(c.onFocus,()=>b(!0)),onBlur:(0,l.composeEventHandlers)(c.onBlur,()=>b(!1)),onClick:(0,l.composeEventHandlers)(c.onClick,()=>{"mouse"!==j.current&&S()}),onPointerUp:(0,l.composeEventHandlers)(c.onPointerUp,()=>{"mouse"===j.current&&S()}),onPointerDown:(0,l.composeEventHandlers)(c.onPointerDown,e=>{j.current=e.pointerType}),onPointerMove:(0,l.composeEventHandlers)(c.onPointerMove,e=>{j.current=e.pointerType,o?p.onItemLeave?.():"mouse"===j.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,l.composeEventHandlers)(c.onPointerLeave,e=>{e.currentTarget===document.activeElement&&p.onItemLeave?.()}),onKeyDown:(0,l.composeEventHandlers)(c.onKeyDown,e=>{(p.searchRef?.current===""||" "!==e.key)&&(k.includes(e.key)&&S()," "===e.key&&e.preventDefault())})})})})});ep.displayName=ed;var em="SelectItemText",ef=r.forwardRef((e,a)=>{let{__scopeSelect:l,className:n,style:o,...d}=e,c=D(em,l),u=q(em,l),p=eu(em,l),m=H(em,l),[f,h]=r.useState(null),v=(0,i.useComposedRefs)(a,e=>h(e),p.onItemTextChange,e=>u.itemTextRefCallback?.(e,p.value,p.disabled)),g=f?.textContent,b=r.useMemo(()=>(0,t.jsx)("option",{value:p.value,disabled:p.disabled,children:g},p.value),[p.disabled,p.value,g]),{onNativeOptionAdd:w,onNativeOptionRemove:j}=m;return(0,y.useLayoutEffect)(()=>(w(b),()=>j(b)),[w,j,b]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.Primitive.span,{id:p.textId,...d,ref:v}),p.isSelected&&c.valueNode&&!c.valueNodeHasChildren?s.createPortal(d.children,c.valueNode):null]})});ef.displayName=em;var eh="SelectItemIndicator",ex=r.forwardRef((e,r)=>{let{__scopeSelect:s,...a}=e;return eu(eh,s).isSelected?(0,t.jsx)(x.Primitive.span,{"aria-hidden":!0,...a,ref:r}):null});ex.displayName=eh;var ev="SelectScrollUpButton",eg=r.forwardRef((e,s)=>{let a=q(ev,e.__scopeSelect),l=ee(ev,e.__scopeSelect),[n,o]=r.useState(!1),d=(0,i.useComposedRefs)(s,l.onScrollButtonChange);return(0,y.useLayoutEffect)(()=>{if(a.viewport&&a.isPositioned){let e=function(){o(t.scrollTop>0)},t=a.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[a.viewport,a.isPositioned]),n?(0,t.jsx)(ew,{...e,ref:d,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=a;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});eg.displayName=ev;var eb="SelectScrollDownButton",ey=r.forwardRef((e,s)=>{let a=q(eb,e.__scopeSelect),l=ee(eb,e.__scopeSelect),[n,o]=r.useState(!1),d=(0,i.useComposedRefs)(s,l.onScrollButtonChange);return(0,y.useLayoutEffect)(()=>{if(a.viewport&&a.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;o(Math.ceil(t.scrollTop)<e)},t=a.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[a.viewport,a.isPositioned]),n?(0,t.jsx)(ew,{...e,ref:d,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=a;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});ey.displayName=eb;var ew=r.forwardRef((e,s)=>{let{__scopeSelect:a,onAutoScroll:n,...i}=e,o=q("SelectScrollButton",a),d=r.useRef(null),c=P(a),u=r.useCallback(()=>{null!==d.current&&(window.clearInterval(d.current),d.current=null)},[]);return r.useEffect(()=>()=>u(),[u]),(0,y.useLayoutEffect)(()=>{let e=c().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[c]),(0,t.jsx)(x.Primitive.div,{"aria-hidden":!0,...i,ref:s,style:{flexShrink:0,...i.style},onPointerDown:(0,l.composeEventHandlers)(i.onPointerDown,()=>{null===d.current&&(d.current=window.setInterval(n,50))}),onPointerMove:(0,l.composeEventHandlers)(i.onPointerMove,()=>{o.onItemLeave?.(),null===d.current&&(d.current=window.setInterval(n,50))}),onPointerLeave:(0,l.composeEventHandlers)(i.onPointerLeave,()=>{u()})})}),ej=r.forwardRef((e,r)=>{let{__scopeSelect:s,...a}=e;return(0,t.jsx)(x.Primitive.div,{"aria-hidden":!0,...a,ref:r})});ej.displayName="SelectSeparator";var eS="SelectArrow",eN=r.forwardRef((e,r)=>{let{__scopeSelect:s,...a}=e,l=L(s),n=D(eS,s),i=q(eS,s);return n.open&&"popper"===i.position?(0,t.jsx)(f.Arrow,{...l,...a,ref:r}):null});eN.displayName=eS;var eC=r.forwardRef(({__scopeSelect:e,value:s,...a},l)=>{let n=r.useRef(null),o=(0,i.useComposedRefs)(l,n),d=(0,w.usePrevious)(s);return r.useEffect(()=>{let e=n.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(d!==s&&t){let r=new Event("change",{bubbles:!0});t.call(e,s),e.dispatchEvent(r)}},[d,s]),(0,t.jsx)(x.Primitive.select,{...a,style:{...j.VISUALLY_HIDDEN_STYLES,...a.style},ref:o,defaultValue:s})});function ek(e){return""===e||void 0===e}function eR(e){let t=(0,g.useCallbackRef)(e),s=r.useRef(""),a=r.useRef(0),l=r.useCallback(e=>{let r=s.current+e;t(r),function e(t){s.current=t,window.clearTimeout(a.current),""!==t&&(a.current=window.setTimeout(()=>e(""),1e3))}(r)},[t]),n=r.useCallback(()=>{s.current="",window.clearTimeout(a.current)},[]);return r.useEffect(()=>()=>window.clearTimeout(a.current),[]),[s,l,n]}function eI(e,t,r){var s,a;let l=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,n=r?e.indexOf(r):-1,i=(s=e,a=Math.max(n,0),s.map((e,t)=>s[(a+t)%s.length]));1===l.length&&(i=i.filter(e=>e!==r));let o=i.find(e=>e.textValue.toLowerCase().startsWith(l.toLowerCase()));return o!==r?o:void 0}eC.displayName="SelectBubbleInput",e.s(["Arrow",()=>eN,"Content",()=>W,"Group",()=>en,"Icon",()=>F,"Item",()=>ep,"ItemIndicator",()=>ex,"ItemText",()=>ef,"Label",()=>eo,"Portal",()=>K,"Root",()=>z,"ScrollDownButton",()=>ey,"ScrollUpButton",()=>eg,"Select",()=>z,"SelectArrow",()=>eN,"SelectContent",()=>W,"SelectGroup",()=>en,"SelectIcon",()=>F,"SelectItem",()=>ep,"SelectItemIndicator",()=>ex,"SelectItemText",()=>ef,"SelectLabel",()=>eo,"SelectPortal",()=>K,"SelectScrollDownButton",()=>ey,"SelectScrollUpButton",()=>eg,"SelectSeparator",()=>ej,"SelectTrigger",()=>U,"SelectValue",()=>_,"SelectViewport",()=>er,"Separator",()=>ej,"Trigger",()=>U,"Value",()=>_,"Viewport",()=>er,"createSelectScope",()=>T],483830);var eP=e.i(483830),eP=eP,eE=e.i(723925),eM=e.i(99105),eT=e.i(48829),eL=e.i(131777);let eA=eP.Root;eP.Group;let eD=eP.Value,eB=r.forwardRef(({className:e,children:r,...s},a)=>(0,t.jsxs)(eP.Trigger,{ref:a,className:(0,eL.cn)("border-input ring-offset-background placeholder:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...s,children:[r,(0,t.jsx)(eP.Icon,{asChild:!0,children:(0,t.jsx)(eM.ChevronDown,{className:"h-4 w-4 opacity-50"})})]}));eB.displayName=eP.Trigger.displayName;let eH=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(eP.ScrollUpButton,{ref:s,className:(0,eL.cn)("flex cursor-default items-center justify-center py-1",e),...r,children:(0,t.jsx)(eT.ChevronUp,{className:"h-4 w-4"})}));eH.displayName=eP.ScrollUpButton.displayName;let ez=r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(eP.ScrollDownButton,{ref:s,className:(0,eL.cn)("flex cursor-default items-center justify-center py-1",e),...r,children:(0,t.jsx)(eM.ChevronDown,{className:"h-4 w-4"})}));ez.displayName=eP.ScrollDownButton.displayName;let eV=r.forwardRef(({className:e,children:r,position:s="popper",...a},l)=>(0,t.jsx)(eP.Portal,{children:(0,t.jsxs)(eP.Content,{ref:l,className:(0,eL.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md","popper"===s&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:s,...a,children:[(0,t.jsx)(eH,{}),(0,t.jsx)(eP.Viewport,{className:(0,eL.cn)("p-1","popper"===s&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:r}),(0,t.jsx)(ez,{})]})}));eV.displayName=eP.Content.displayName,r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(eP.Label,{ref:s,className:(0,eL.cn)("px-2 py-1.5 text-sm font-semibold",e),...r})).displayName=eP.Label.displayName;let eU=r.forwardRef(({className:e,children:r,...s},a)=>(0,t.jsxs)(eP.Item,{ref:a,className:(0,eL.cn)("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 ps-2 pe-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...s,children:[(0,t.jsx)("span",{className:"absolute end-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(eP.ItemIndicator,{children:(0,t.jsx)(eE.Check,{className:"h-4 w-4"})})}),(0,t.jsx)(eP.ItemText,{children:r})]}));eU.displayName=eP.Item.displayName,r.forwardRef(({className:e,...r},s)=>(0,t.jsx)(eP.Separator,{ref:s,className:(0,eL.cn)("bg-muted -mx-1 my-1 h-px",e),...r})).displayName=eP.Separator.displayName,e.s(["Select",()=>eA,"SelectContent",()=>eV,"SelectItem",()=>eU,"SelectTrigger",()=>eB,"SelectValue",()=>eD],547373)},938518,e=>{"use strict";let t=(0,e.i(903645).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],938518)},204461,499915,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(735364),a=e.i(81846),l=e.i(317406),n=e.i(508893);let i=(0,n.createServerReference)("60bb2893aaa264de4d37c6822549157d222c12e77e",n.callServer,void 0,n.findSourceMapURL,"updatePmProject");e.s(["updatePmProject",()=>i],499915);let o=[{value:l.EstimateType.None,label:"None",description:"No estimates"},{value:l.EstimateType.Category,label:"T-Shirt Sizes",description:"XS, S, M, L, XL"},{value:l.EstimateType.Points,label:"Fibonacci Points",description:"1, 2, 3, 5, 8, 13, 21"}];function d({projectId:e,currentEstimateType:l,onEstimateTypeChange:n,className:d}){let[c,u]=(0,r.useState)(l),[p,m]=(0,r.useState)(!1),f=async t=>{t!==c&&(u(t),m(!0),await i(e,{estimateType:t}),m(!1),n?.(t))};return(0,t.jsxs)("div",{"data-testid":"estimate-settings",className:d,children:[(0,t.jsxs)("div",{className:"mb-3 flex items-center gap-2",children:[(0,t.jsx)("h3",{className:"text-xs font-medium",children:"Estimate System"}),p?(0,t.jsx)("span",{className:"text-muted-foreground text-[10px]",children:"Saving..."}):null]}),(0,t.jsx)("div",{className:"space-y-2",children:o.map(e=>(0,t.jsx)(s.Button,{variant:c===e.value?"default":"outline",size:"sm",className:"h-auto w-full justify-start px-3 py-2 text-left",onClick:()=>f(e.value),"data-testid":`estimate-option-${e.value}`,children:(0,t.jsxs)("div",{className:"flex w-full items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:e.label}),(0,t.jsx)("span",{className:"text-muted-foreground ml-2 text-[10px]",children:e.description})]}),c===e.value?(0,t.jsx)(a.Badge,{variant:"secondary",className:"text-[10px]",children:"Active"}):null]})},e.value))})]})}e.s(["EstimateSettings",()=>d],204461)},649749,e=>{"use strict";var t=e.i(679606),r=e.i(152155),s=e.i(711434),a=e.i(938518),l=e.i(939200),n=e.i(267669),i=e.i(3214),o=e.i(131777),d=e.i(735364),c=e.i(698127),u=e.i(81846),p=e.i(204461),m=e.i(141957),f=e.i(547373),h=e.i(317406);let x={Admin:"bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-300",Member:"bg-green-100 text-green-800 dark:bg-green-900 dark:text-green-300",Guest:"bg-gray-100 text-gray-800 dark:bg-gray-900 dark:text-gray-300"};function v({projectId:e,members:s,currentUserId:a,onAddMember:l,onRemoveMember:n,onUpdateRole:i}){let[o,p]=(0,r.useState)(s),[v,g]=(0,r.useState)(""),[b,y]=(0,r.useState)(h.ProjectRole.Member),[w,j]=(0,r.useState)(null),[S,N]=(0,r.useState)(!1),C=o.some(e=>e.userId===a&&e.role===h.ProjectRole.Admin),k=(0,r.useCallback)(async()=>{if(!v.trim())return;N(!0),j(null);let t=await l({projectId:e,userId:v.trim(),role:b,actorId:a});t.error?j(t.error):t.member&&(p(e=>[...e,t.member]),g(""),y(h.ProjectRole.Member)),N(!1)},[v,b,e,a,l]),R=(0,r.useCallback)(async t=>{j(null);let r=await n({projectId:e,userId:t,actorId:a});r.error?j(r.error):p(e=>e.filter(e=>e.userId!==t))},[e,a,n]),I=(0,r.useCallback)(async(t,r)=>{j(null);let s=await i({projectId:e,userId:t,newRole:r,actorId:a});s.error?j(s.error):p(e=>e.map(e=>e.userId===t?{...e,role:r}:e))},[e,a,i]);return(0,t.jsxs)("div",{"data-testid":"project-members-panel",className:"space-y-4",children:[(0,t.jsx)("h3",{className:"text-lg font-semibold",children:"Project Members"}),w?(0,t.jsx)("div",{"data-testid":"members-error",className:"rounded border border-red-200 bg-red-50 p-3 text-sm text-red-800 dark:border-red-800 dark:bg-red-950 dark:text-red-300",children:w}):null,(0,t.jsxs)("div",{className:"divide-y rounded border",children:[o.map(e=>(0,t.jsxs)("div",{"data-testid":`member-row-${e.userId}`,className:"flex items-center justify-between p-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.userId}),(0,t.jsx)(u.Badge,{className:x[e.role]??"",variant:"secondary",children:e.role})]}),C&&e.userId!==a?(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)(f.Select,{value:e.role,onValueChange:t=>I(e.userId,t),children:[(0,t.jsx)(f.SelectTrigger,{className:"w-[120px]",children:(0,t.jsx)(f.SelectValue,{})}),(0,t.jsxs)(f.SelectContent,{children:[(0,t.jsx)(f.SelectItem,{value:h.ProjectRole.Admin,children:"Admin"}),(0,t.jsx)(f.SelectItem,{value:h.ProjectRole.Member,children:"Member"}),(0,t.jsx)(f.SelectItem,{value:h.ProjectRole.Guest,children:"Guest"})]})]}),(0,t.jsx)(d.Button,{variant:"destructive",size:"sm",onClick:()=>R(e.userId),children:"Remove"})]}):null]},e.id)),0===o.length&&(0,t.jsx)("div",{className:"text-muted-foreground p-4 text-center text-sm",children:"No members in this project."})]}),C?(0,t.jsxs)("div",{"data-testid":"add-member-form",className:"flex items-end gap-3 rounded border p-3",children:[(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)(m.Label,{htmlFor:"new-user-id",children:"User ID"}),(0,t.jsx)(c.Input,{id:"new-user-id",value:v,onChange:e=>g(e.target.value),placeholder:"Enter user ID",disabled:S})]}),(0,t.jsxs)("div",{className:"w-[140px]",children:[(0,t.jsx)(m.Label,{htmlFor:"new-role",children:"Role"}),(0,t.jsxs)(f.Select,{value:b,onValueChange:e=>y(e),children:[(0,t.jsx)(f.SelectTrigger,{id:"new-role",children:(0,t.jsx)(f.SelectValue,{})}),(0,t.jsxs)(f.SelectContent,{children:[(0,t.jsx)(f.SelectItem,{value:h.ProjectRole.Admin,children:"Admin"}),(0,t.jsx)(f.SelectItem,{value:h.ProjectRole.Member,children:"Member"}),(0,t.jsx)(f.SelectItem,{value:h.ProjectRole.Guest,children:"Guest"})]})]})]}),(0,t.jsx)(d.Button,{onClick:k,disabled:S||!v.trim(),children:S?"Adding...":"Add Member"})]}):null]})}var g=e.i(499915),b=e.i(508893);let y=(0,b.createServerReference)("40194a46d0db6ffa33b9a214d28417358d63f8dfe7",b.callServer,void 0,b.findSourceMapURL,"deletePmProject"),w=(0,b.createServerReference)("401b8677b29df7afbab5f0590c3a4c99a0f7a4224b",b.callServer,void 0,b.findSourceMapURL,"createWorkItemState"),j=(0,b.createServerReference)("403c36f4fbb940c24872b81e9995c713b6dd034b9f",b.callServer,void 0,b.findSourceMapURL,"deleteWorkItemState"),S=(0,b.createServerReference)("40eac18f82cea8ee83b523561ebdfd0541e52dcb16",b.callServer,void 0,b.findSourceMapURL,"createLabel"),N=(0,b.createServerReference)("40b4d702b22359fc36a05f66bf90cbc5703e1cd87b",b.callServer,void 0,b.findSourceMapURL,"deleteLabel"),C=(0,b.createServerReference)("40777a389144ceccd17476e49e4022c702c840c89e",b.callServer,void 0,b.findSourceMapURL,"addProjectMember"),k=(0,b.createServerReference)("40cfec8788ae71a7022544c7c37758046b5bc60ed6",b.callServer,void 0,b.findSourceMapURL,"removeProjectMember"),R=(0,b.createServerReference)("40422e2c4ef5c0331ec9b537146026af0feb4cb17c",b.callServer,void 0,b.findSourceMapURL,"updateProjectMemberRole"),I={backlog:"bg-gray-400",unstarted:"bg-blue-400",started:"bg-yellow-400",completed:"bg-green-400",cancelled:"bg-red-400"};function P({project:e,states:m,labels:f,members:h=[],className:x}){let b=(0,s.useRouter)(),[P,E]=(0,r.useState)(e.name),[M,T]=(0,r.useState)(e.description??""),[L,A]=(0,r.useState)(!1),[D,B]=(0,r.useState)(m),[H,z]=(0,r.useState)(f),[V,U]=(0,r.useState)(""),[O,_]=(0,r.useState)(""),[F,K]=(0,r.useState)("#6366f1"),[G,W]=(0,r.useState)(""),$=(0,r.useCallback)(async()=>{A(!0),await (0,g.updatePmProject)(e.id,{name:P.trim(),description:M.trim()||void 0}),A(!1)},[e.id,P,M]),q=(0,r.useCallback)(async()=>{if(!V.trim())return;let t=await w({projectId:e.id,name:V.trim(),color:"#6366f1",stateGroup:"unstarted"});t.state&&(B(e=>[...e,t.state]),U(""))},[e.id,V]),X=(0,r.useCallback)(async e=>{(await j(e)).error||B(t=>t.filter(t=>t.id!==e))},[]),Y=(0,r.useCallback)(async()=>{if(!O.trim())return;let t=await S({projectId:e.id,name:O.trim(),color:F});t.label&&(z(e=>[...e,t.label]),_(""))},[e.id,O,F]),Z=(0,r.useCallback)(async e=>{(await N(e)).error||z(t=>t.filter(t=>t.id!==e))},[]),J=(0,r.useCallback)(async()=>{G!==e.name||(await y(e.id)).error||b.push("/projects")},[e.id,e.name,G,b]);return(0,t.jsxs)("div",{"data-testid":"project-settings",className:(0,o.cn)("max-w-2xl space-y-8",x),children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Button,{variant:"ghost",size:"sm",className:"h-7 w-7 p-0",onClick:()=>b.push(`/projects/${e.slug}`),"data-testid":"back-to-project",children:(0,t.jsx)(a.ArrowLeft,{className:"h-4 w-4"})}),(0,t.jsx)(l.Settings,{className:"text-muted-foreground h-4 w-4"}),(0,t.jsx)("h1",{className:"text-sm font-bold tracking-tight",children:"Project Settings"}),(0,t.jsx)(u.Badge,{variant:"outline",className:"text-[10px]",children:e.identifierPrefix})]}),(0,t.jsxs)("section",{className:"space-y-3","data-testid":"general-settings",children:[(0,t.jsx)("h2",{className:"text-xs font-semibold tracking-wide uppercase",children:"General"}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-muted-foreground mb-1 block text-[10px] font-medium",children:"Project Name"}),(0,t.jsx)(c.Input,{value:P,onChange:e=>E(e.target.value),className:"h-8 text-xs","data-testid":"project-name-input"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-muted-foreground mb-1 block text-[10px] font-medium",children:"Description"}),(0,t.jsx)(c.Input,{value:M,onChange:e=>T(e.target.value),placeholder:"Optional description",className:"h-8 text-xs","data-testid":"project-description-input"})]}),(0,t.jsx)(d.Button,{size:"sm",className:"h-7 text-xs",onClick:$,disabled:L||!P.trim(),"data-testid":"save-general-btn",children:L?"Saving...":"Save Changes"})]})]}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)("section",{"data-testid":"estimate-settings-section",children:(0,t.jsx)(p.EstimateSettings,{projectId:e.id,currentEstimateType:e.estimateType})}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsxs)("section",{className:"space-y-3","data-testid":"states-settings",children:[(0,t.jsx)("h2",{className:"text-xs font-semibold tracking-wide uppercase",children:"Work Item States"}),(0,t.jsx)("div",{className:"space-y-1",children:D.map(e=>(0,t.jsxs)("div",{className:"group flex items-center gap-2 rounded-sm px-2 py-1 text-xs","data-testid":`state-${e.id}`,children:[(0,t.jsx)("span",{className:"h-2.5 w-2.5 shrink-0 rounded-full",style:{backgroundColor:e.color}}),(0,t.jsx)("span",{className:"flex-1",children:e.name}),(0,t.jsx)(u.Badge,{variant:"outline",className:(0,o.cn)("text-[9px]",I[e.stateGroup]??"bg-gray-400"),children:e.stateGroup}),e.isDefault?(0,t.jsx)(u.Badge,{variant:"secondary",className:"text-[9px]",children:"default"}):(0,t.jsx)(d.Button,{variant:"ghost",size:"sm",className:"text-destructive hidden h-5 w-5 p-0 group-hover:flex",onClick:()=>X(e.id),title:"Delete state",children:(0,t.jsx)(n.Trash2,{className:"h-3 w-3"})})]},e.id))}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Input,{value:V,onChange:e=>U(e.target.value),placeholder:"New state name",className:"h-7 flex-1 text-xs","data-testid":"new-state-input",onKeyDown:e=>{"Enter"===e.key&&q()}}),(0,t.jsxs)(d.Button,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:q,disabled:!V.trim(),"data-testid":"add-state-btn",children:[(0,t.jsx)(i.Plus,{className:"mr-1 h-3 w-3"}),"Add"]})]})]}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsxs)("section",{className:"space-y-3","data-testid":"labels-settings",children:[(0,t.jsx)("h2",{className:"text-xs font-semibold tracking-wide uppercase",children:"Labels"}),0===H.length?(0,t.jsx)("p",{className:"text-muted-foreground text-[10px]",children:"No labels yet"}):(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:H.map(e=>(0,t.jsxs)("div",{className:"group flex items-center gap-1 rounded-full border px-2 py-0.5","data-testid":`label-${e.id}`,children:[(0,t.jsx)("span",{className:"h-2 w-2 rounded-full",style:{backgroundColor:e.color}}),(0,t.jsx)("span",{className:"text-[10px]",children:e.name}),(0,t.jsx)("button",{type:"button",className:"text-destructive ml-0.5 hidden text-xs group-hover:inline",onClick:()=>Z(e.id),title:"Delete label",children:"×"})]},e.id))}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{type:"color",value:F,onChange:e=>K(e.target.value),className:"h-7 w-7 cursor-pointer rounded border-0 p-0","data-testid":"new-label-color"}),(0,t.jsx)(c.Input,{value:O,onChange:e=>_(e.target.value),placeholder:"New label name",className:"h-7 flex-1 text-xs","data-testid":"new-label-input",onKeyDown:e=>{"Enter"===e.key&&Y()}}),(0,t.jsxs)(d.Button,{variant:"outline",size:"sm",className:"h-7 text-xs",onClick:Y,disabled:!O.trim(),"data-testid":"add-label-btn",children:[(0,t.jsx)(i.Plus,{className:"mr-1 h-3 w-3"}),"Add"]})]})]}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsx)("section",{"data-testid":"members-settings",children:(0,t.jsx)(v,{projectId:e.id,members:h,currentUserId:"",onAddMember:C,onRemoveMember:k,onUpdateRole:R})}),(0,t.jsx)("hr",{className:"border-border"}),(0,t.jsxs)("section",{className:"space-y-3","data-testid":"danger-zone",children:[(0,t.jsx)("h2",{className:"text-destructive text-xs font-semibold tracking-wide uppercase",children:"Danger Zone"}),(0,t.jsxs)("div",{className:"border-destructive/20 rounded-md border p-3",children:[(0,t.jsx)("p",{className:"mb-2 text-xs",children:"Permanently delete this project and all its work items, cycles, modules, and pages."}),(0,t.jsxs)("p",{className:"text-muted-foreground mb-2 text-[10px]",children:["Type ",(0,t.jsx)("strong",{children:e.name})," to confirm."]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(c.Input,{value:G,onChange:e=>W(e.target.value),placeholder:e.name,className:"h-7 flex-1 text-xs","data-testid":"delete-confirm-input"}),(0,t.jsxs)(d.Button,{variant:"destructive",size:"sm",className:"h-7 text-xs",onClick:J,disabled:G!==e.name,"data-testid":"delete-project-btn",children:[(0,t.jsx)(n.Trash2,{className:"mr-1 h-3 w-3"}),"Delete Project"]})]})]})]})]})}e.s(["ProjectSettingsClient",()=>P],649749)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,951911,e=>{"use strict";var t=e.i(679606),a=e.i(152155),r=e.i(291967),n=e.i(205978),s=e.i(922528),i=e.i(936589),o=e.i(23405),l=e.i(277624),c=e.i(287620),d="Switch",[u,h]=(0,s.createContextScope)(d),[p,m]=u(d),f=a.forwardRef((e,s)=>{let{__scopeSwitch:o,name:l,checked:u,defaultChecked:h,required:m,disabled:f,value:x="on",onCheckedChange:b,form:y,...j}=e,[k,w]=a.useState(null),N=(0,n.useComposedRefs)(s,e=>w(e)),C=a.useRef(!1),S=!k||y||!!k.closest("form"),[D,F]=(0,i.useControllableState)({prop:u,defaultProp:h??!1,onChange:b,caller:d});return(0,t.jsxs)(p,{scope:o,checked:D,disabled:f,children:[(0,t.jsx)(c.Primitive.button,{type:"button",role:"switch","aria-checked":D,"aria-required":m,"data-state":v(D),"data-disabled":f?"":void 0,disabled:f,value:x,...j,ref:N,onClick:(0,r.composeEventHandlers)(e.onClick,e=>{F(e=>!e),S&&(C.current=e.isPropagationStopped(),C.current||e.stopPropagation())})}),S&&(0,t.jsx)(g,{control:k,bubbles:!C.current,name:l,value:x,checked:D,required:m,disabled:f,form:y,style:{transform:"translateX(-100%)"}})]})});f.displayName=d;var x="SwitchThumb",b=a.forwardRef((e,a)=>{let{__scopeSwitch:r,...n}=e,s=m(x,r);return(0,t.jsx)(c.Primitive.span,{"data-state":v(s.checked),"data-disabled":s.disabled?"":void 0,...n,ref:a})});b.displayName=x;var g=a.forwardRef(({__scopeSwitch:e,control:r,checked:s,bubbles:i=!0,...c},d)=>{let u=a.useRef(null),h=(0,n.useComposedRefs)(u,d),p=(0,o.usePrevious)(s),m=(0,l.useSize)(r);return a.useEffect(()=>{let e=u.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(p!==s&&t){let a=new Event("click",{bubbles:i});t.call(e,s),e.dispatchEvent(a)}},[p,s,i]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:s,...c,tabIndex:-1,ref:h,style:{...c.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function v(e){return e?"checked":"unchecked"}g.displayName="SwitchBubbleInput",e.s(["Root",()=>f,"Switch",()=>f,"SwitchThumb",()=>b,"Thumb",()=>b,"createSwitchScope",()=>h],595291);var y=e.i(595291),y=y,j=e.i(131777);function k({className:e,size:a="default",...r}){return(0,t.jsx)(y.Root,{"data-slot":"switch","data-size":a,className:(0,j.cn)("peer group/switch focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",e),...r,children:(0,t.jsx)(y.Thumb,{"data-slot":"switch-thumb",className:(0,j.cn)("bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 rtl:data-[state=checked]:-translate-x-[calc(100%-2px)]")})})}e.s(["Switch",()=>k],951911)},731463,e=>{"use strict";let t=(0,e.i(903645).default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);e.s(["MoreHorizontal",()=>t],731463)},197667,e=>{"use strict";var t=e.i(301012);e.s(["CheckIcon",()=>t.default])},216868,442076,e=>{"use strict";var t=e.i(943698);async function a(){let e=await fetch("/api/dialog/pick-files",{method:"POST"});if(!e.ok)throw Error("Failed to open file dialog");let t=await e.json();return t.cancelled?null:t.files}e.s(["PaperclipIcon",()=>t.default],216868),e.s(["pickFiles",()=>a],442076)},983299,474363,765104,e=>{"use strict";let t=(0,e.i(903645).default)("archive-restore",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h2",key:"tvwodi"}],["path",{d:"M20 8v11a2 2 0 0 1-2 2h-2",key:"1gkqxj"}],["path",{d:"m9 15 3-3 3 3",key:"1pd0qc"}],["path",{d:"M12 12v9",key:"192myk"}]]);e.s(["ArchiveRestore",()=>t],983299);var a=e.i(679606),r=e.i(152155),n=e.i(83428);e.i(541001);var s=e.i(626960),i=e.i(64780),o=e.i(271326),l=e.i(197667),c=e.i(961569),c=c,d=e.i(205978),u=e.i(922528),h=e.i(291967),p=e.i(936589),m=e.i(23405),f=e.i(277624),x=e.i(685995),b=e.i(287620),g="Checkbox",[v,y]=(0,u.createContextScope)(g),[j,k]=v(g);function w(e){let{__scopeCheckbox:t,checked:n,children:s,defaultChecked:i,disabled:o,form:l,name:c,onCheckedChange:d,required:u,value:h="on",internal_do_not_use_render:m}=e,[f,x]=(0,p.useControllableState)({prop:n,defaultProp:i??!1,onChange:d,caller:g}),[b,v]=r.useState(null),[y,k]=r.useState(null),w=r.useRef(!1),N=!b||!!l||!!b.closest("form"),C={checked:f,disabled:o,setChecked:x,control:b,setControl:v,name:c,form:l,value:h,hasConsumerStoppedPropagationRef:w,required:u,defaultChecked:!P(i)&&i,isFormControl:N,bubbleInput:y,setBubbleInput:k};return(0,a.jsx)(j,{scope:t,...C,children:"function"==typeof m?m(C):s})}var N="CheckboxTrigger",C=r.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...s},i)=>{let{control:o,value:l,disabled:c,checked:u,required:p,setControl:m,setChecked:f,hasConsumerStoppedPropagationRef:x,isFormControl:g,bubbleInput:v}=k(N,e),y=(0,d.useComposedRefs)(i,m),j=r.useRef(u);return r.useEffect(()=>{let e=o?.form;if(e){let t=()=>f(j.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[o,f]),(0,a.jsx)(b.Primitive.button,{type:"button",role:"checkbox","aria-checked":P(u)?"mixed":u,"aria-required":p,"data-state":A(u),"data-disabled":c?"":void 0,disabled:c,value:l,...s,ref:y,onKeyDown:(0,h.composeEventHandlers)(t,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,h.composeEventHandlers)(n,e=>{f(e=>!!P(e)||!e),v&&g&&(x.current=e.isPropagationStopped(),x.current||e.stopPropagation())})})});C.displayName=N;var S=r.forwardRef((e,t)=>{let{__scopeCheckbox:r,name:n,checked:s,defaultChecked:i,required:o,disabled:l,value:c,onCheckedChange:d,form:u,...h}=e;return(0,a.jsx)(w,{__scopeCheckbox:r,checked:s,defaultChecked:i,disabled:l,required:o,onCheckedChange:d,name:n,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(C,{...h,ref:t,__scopeCheckbox:r}),e&&(0,a.jsx)(E,{__scopeCheckbox:r})]})})});S.displayName=g;var D="CheckboxIndicator",F=r.forwardRef((e,t)=>{let{__scopeCheckbox:r,forceMount:n,...s}=e,i=k(D,r);return(0,a.jsx)(x.Presence,{present:n||P(i.checked)||!0===i.checked,children:(0,a.jsx)(b.Primitive.span,{"data-state":A(i.checked),"data-disabled":i.disabled?"":void 0,...s,ref:t,style:{pointerEvents:"none",...e.style}})})});F.displayName=D;var R="CheckboxBubbleInput",E=r.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:s,hasConsumerStoppedPropagationRef:i,checked:o,defaultChecked:l,required:c,disabled:u,name:h,value:p,form:x,bubbleInput:g,setBubbleInput:v}=k(R,e),y=(0,d.useComposedRefs)(n,v),j=(0,m.usePrevious)(o),w=(0,f.useSize)(s);r.useEffect(()=>{if(!g)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!i.current;if(j!==o&&e){let a=new Event("click",{bubbles:t});g.indeterminate=P(o),e.call(g,!P(o)&&o),g.dispatchEvent(a)}},[g,j,o,i]);let N=r.useRef(!P(o)&&o);return(0,a.jsx)(b.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:l??N.current,required:c,disabled:u,name:h,value:p,form:x,...t,tabIndex:-1,ref:y,style:{...t.style,...w,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function P(e){return"indeterminate"===e}function A(e){return P(e)?"indeterminate":e?"checked":"unchecked"}E.displayName=R,e.s(["Checkbox",()=>S,"CheckboxIndicator",()=>F,"Indicator",()=>F,"Root",()=>S,"createCheckboxScope",()=>y,"unstable_BubbleInput",()=>E,"unstable_CheckboxBubbleInput",()=>E,"unstable_CheckboxProvider",()=>w,"unstable_CheckboxTrigger",()=>C,"unstable_Provider",()=>w,"unstable_Trigger",()=>C],257696);var M=e.i(257696),M=M,z=e.i(131777);function L({className:e,...t}){return(0,a.jsx)(M.Root,{"data-slot":"checkbox",className:(0,z.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:(0,a.jsx)(M.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:"indeterminate"===t.checked?(0,a.jsx)(c.default,{className:"size-3.5"}):(0,a.jsx)(l.CheckIcon,{className:"size-3.5"})})})}e.s(["Checkbox",()=>L],474363);var T=e.i(141957);function _({open:e,onOpenChange:t,onConfirm:l,isDeleting:c,featureName:d,featureId:u,hasChildren:h,hasOpenPr:p}){let{t:m}=(0,i.useTranslation)("web"),[f,x]=(0,r.useState)(!0),[b,g]=(0,r.useState)(!1),[v,y]=(0,r.useState)(!0);return(0,r.useEffect)(()=>{e&&(x(!0),g(!1),y(!0))},[e]),(0,r.useEffect)(()=>{f?y(!0):y(!1)},[f]),(0,a.jsx)(o.AlertDialog,{open:e,onOpenChange:t,children:(0,a.jsxs)(o.AlertDialogContent,{onCloseAutoFocus:e=>e.preventDefault(),children:[(0,a.jsxs)(o.AlertDialogHeader,{children:[(0,a.jsx)(o.AlertDialogTitle,{children:m("deleteFeature.title")}),(0,a.jsx)(o.AlertDialogDescription,{children:(0,a.jsx)(s.Trans,{t:m,i18nKey:"deleteFeature.description",values:{featureName:d,featureId:u},components:{strong:(0,a.jsx)("strong",{})}})})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(L,{id:"cleanup-checkbox",checked:f,onCheckedChange:e=>x(!0===e),disabled:c,"aria-label":m("deleteFeature.cleanupLabel")}),(0,a.jsx)(T.Label,{htmlFor:"cleanup-checkbox",className:"cursor-pointer text-sm",children:m("deleteFeature.cleanupLabel")})]}),h?(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(L,{id:"cascade-delete-checkbox",checked:b,onCheckedChange:e=>g(!0===e),disabled:c,"aria-label":m("deleteFeature.deleteSubFeatures")}),(0,a.jsx)(T.Label,{htmlFor:"cascade-delete-checkbox",className:"cursor-pointer text-sm",children:m("deleteFeature.deleteSubFeatures")})]}):null,p?(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(L,{id:"close-pr-checkbox",checked:v,onCheckedChange:e=>y(!0===e),disabled:c||!f,"aria-label":m("deleteFeature.closePullRequest")}),(0,a.jsx)(T.Label,{htmlFor:"close-pr-checkbox",className:"cursor-pointer text-sm",children:m("deleteFeature.closePullRequest")})]}):null]}),(0,a.jsxs)(o.AlertDialogFooter,{children:[(0,a.jsx)(o.AlertDialogCancel,{disabled:c,onClick:()=>t(!1),children:m("deleteFeature.cancel")}),(0,a.jsx)(o.AlertDialogAction,{variant:"destructive",disabled:c,onClick:()=>l(f,b,!!p&&v),children:c?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),m("deleteFeature.deleting")]}):m("deleteFeature.delete")})]})]})})}e.s(["DeleteFeatureDialog",()=>_],765104)},783109,347591,e=>{"use strict";var t=e.i(508893);let a=(0,t.createServerReference)("40b352cd595cea10da4a6920519b5bd39e9f4eabb9",t.callServer,void 0,t.findSourceMapURL,"startFeature");e.s(["startFeature",()=>a],783109);let r=(0,t.createServerReference)("4007a43c4ef2579612c1f0239d4760253c6f496937",t.callServer,void 0,t.findSourceMapURL,"stopFeature");e.s(["stopFeature",()=>r],347591)},961103,e=>{"use strict";var t=e.i(508893);let a=(0,t.createServerReference)("40843450a87475fd6efff1b155a46877f58e2c6340",t.callServer,void 0,t.findSourceMapURL,"resumeFeature");e.s(["resumeFeature",()=>a])},454793,207729,e=>{"use strict";var t=e.i(679606),a=e.i(131777);function r({icon:e,title:r,description:n,action:s,className:i,...o}){return(0,t.jsxs)("div",{className:(0,a.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",i),...o,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:r}),n?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:n}):null,s?(0,t.jsx)("div",{className:"mt-2",children:s}):null]})}e.s(["EmptyState",()=>r],207729),e.s([],454793)},809443,185871,e=>{"use strict";var t=e.i(679606),a=e.i(131777);function r({title:e,description:r,children:n,className:s}){return(0,t.jsxs)("header",{className:(0,a.cn)("flex items-center justify-between gap-4",s),children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),r?(0,t.jsx)("p",{className:"text-muted-foreground",children:r}):null]}),n?(0,t.jsx)("div",{"data-slot":"actions",children:n}):null]})}e.s(["PageHeader",()=>r],185871),e.s([],809443)},440106,e=>{"use strict";var t=e.i(679606),a=e.i(152155),r=e.i(711719),n=e.i(935946),s=e.i(83428),i=e.i(542049),o=e.i(453360),l=e.i(941698),c=e.i(99105),d=e.i(723925),u=e.i(860253);e.i(541001);var h=e.i(64780),p=e.i(131777),m=e.i(508893);let f=(0,m.createServerReference)("40d993b7b639b8192cf9c2379d8495e935a28c01e3",m.callServer,void 0,m.findSourceMapURL,"createProjectAndFeature"),x=(0,m.createServerReference)("400563877b65b8405e110423416f53afcf48291689",m.callServer,void 0,m.findSourceMapURL,"createApplication");var b=e.i(41413);e.i(650032);var g=e.i(486254);e.i(692233);var v=e.i(210025),y=e.i(102828),j=e.i(470646),k=e.i(731151);let w=["application","fast","spec"],N={application:{icon:i.LayoutGrid,label:"Application",placeholder:"Build a modern e-commerce storefront with product catalog...",suggestions:["A landing page with hero, features, and pricing sections","Full-stack SaaS app with auth, billing, and dashboard","Mobile-first social media app with real-time chat","Personal portfolio with blog and project showcase"]},fast:{icon:o.Zap,label:"Fast",placeholder:"Add a dark mode toggle to the settings page...",suggestions:["Add pagination to the users list endpoint","Fix the broken logout redirect","Add input validation to the signup form","Refactor the API error handling middleware"]},spec:{icon:l.ClipboardList,label:"Spec Driven",placeholder:"Implement a role-based access control system with audit logging...",suggestions:["OAuth2 authentication with SSO and MFA support","Event-driven notification system with email and push","REST API with versioning, rate limiting, and OpenAPI docs","Data pipeline with ETL, validation, and monitoring"]}};function C({onRepositorySelect:e,onApplicationCreated:i,onClose:o,className:l}){let{t:m}=(0,h.useTranslation)("web"),[C,S]=(0,a.useState)(""),[D,F]=(0,a.useState)(void 0),[R,E]=(0,a.useState)(void 0),[P,A]=(0,a.useState)("application"),[M,z]=(0,a.useState)(!1),[L,T]=(0,a.useState)(null),[_,I]=(0,a.useState)(!1),O=(0,a.useRef)(null),B=(0,k.useAttachments)(),H=!!e,U=H?P:"application",q=(0,a.useCallback)(()=>{A(e=>{let t=w.indexOf(e);return w[(t+1)%w.length]})},[]);(0,a.useEffect)(()=>{let t=t=>{"Escape"===t.key&&o&&o(),"Tab"===t.key&&t.shiftKey&&e&&(t.preventDefault(),q())};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[o,q,e]);let $=(0,a.useCallback)(async()=>{if(C.trim()&&!M){z(!0),T(null);try{if("application"!==U&&e){let t=await f({description:C.trim(),attachments:B.completedAttachments.map(e=>({path:e.path,name:e.name,notes:e.notes})),agentType:D,model:R,fast:"fast"===U});if(t.error){T(t.error),z(!1);return}t.repositoryPath&&e?.(t.repositoryPath),t.feature&&t.repositoryPath&&window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:t.feature.id,name:t.feature.name,description:t.feature.description,repositoryPath:t.repositoryPath}}))}else{let e=await x({description:C.trim(),agentType:D,modelOverride:R,initialPrompt:C.trim()});if(e.error){T(e.error),z(!1);return}e.application&&i?.(e.application.id)}}catch{T("Something went wrong. Please try again."),z(!1)}}},[C,M,U,B.completedAttachments,D,R,e,i]),K=(0,a.useCallback)(e=>{"Enter"===e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),$())},[$]),X=(0,a.useCallback)(async()=>{try{let e=await fetch("/api/dialog/pick-files");if(!e.ok)return;let t=await e.json();if(!t.paths?.length)return;for(let e of t.paths){let t=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e,sessionId:"onboarding"})});if(!t.ok)continue;let a=await t.json();B.addAttachment(a)}}catch{}},[B.addAttachment]),Z=(0,a.useCallback)(e=>{S(e),O.current?.focus()},[]),G=N[U],V=G.icon;return(0,t.jsxs)("div",{"data-testid":"control-center-empty-state",className:(0,p.cn)("relative flex h-full w-full flex-col items-center justify-center overflow-hidden px-8",l),children:[(0,t.jsx)("div",{className:"onboard-bg pointer-events-none absolute inset-0 animate-[onboard-fade-in_1.2s_ease-out_both]"}),o?(0,t.jsx)("button",{type:"button",onClick:o,"aria-label":"Close",className:"text-muted-foreground hover:text-foreground hover:bg-accent/50 absolute top-4 right-4 z-10 cursor-pointer rounded p-1.5 transition-colors",children:(0,t.jsx)(u.X,{className:"h-5 w-5"})}):null,(0,t.jsxs)("div",{className:"relative flex w-full max-w-2xl flex-col items-center",children:[(0,t.jsx)("div",{className:"mb-6 animate-[onboard-logo_0.8s_cubic-bezier(0.16,1,0.3,1)_both]",style:{animationDelay:"0ms"},children:(0,t.jsx)(v.ShepLogo,{size:72,className:"text-foreground"})}),(0,t.jsx)("h1",{className:"text-foreground animate-[onboard-fade-up_0.7s_cubic-bezier(0.16,1,0.3,1)_both] text-center text-5xl font-extralight tracking-tight",style:{animationDelay:"120ms"},children:"What do you want to build?"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-3 animate-[onboard-fade-up_0.7s_cubic-bezier(0.16,1,0.3,1)_both] text-center text-lg leading-relaxed font-light",style:{animationDelay:"220ms"},children:"Describe your idea and Shep creates the project for you."}),(0,t.jsxs)("div",{className:"mt-10 w-full animate-[onboard-fade-up_0.7s_cubic-bezier(0.16,1,0.3,1)_both]",style:{animationDelay:"350ms"},children:[(0,t.jsxs)("div",{onFocus:()=>I(!0),onBlur:()=>I(!1),onDragEnter:B.handleDragEnter,onDragLeave:B.handleDragLeave,onDragOver:B.handleDragOver,onDrop:B.handleDrop,className:(0,p.cn)("flex flex-col rounded-xl border transition-all duration-200","border-border/60 bg-background shadow-sm dark:border-white/10 dark:bg-white/[0.04]",_&&"ring-ring/50 border-ring shadow-md ring-[3px] dark:border-orange-500/40 dark:ring-orange-500/25",B.isDragOver&&"border-primary/50 bg-primary/5",M&&"opacity-70"),children:[(0,t.jsx)("textarea",{ref:O,rows:2,autoFocus:!0,value:C,onChange:e=>S(e.target.value),onKeyDown:K,onPaste:B.handlePaste,placeholder:G.placeholder,disabled:M,className:"text-foreground placeholder:text-muted-foreground/60 max-h-[10rem] min-h-[4.5rem] w-full resize-none border-0 bg-transparent px-4 py-3.5 text-sm leading-relaxed focus:outline-none disabled:cursor-not-allowed"}),B.attachments.length>0?(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2.5 overflow-x-auto overflow-y-visible px-5 pt-2 pb-2",children:B.attachments.map(e=>(0,t.jsx)(g.AttachmentChip,{name:e.name,size:e.size,mimeType:e.mimeType,path:e.path,onRemove:()=>B.removeAttachment(e.id),loading:e.loading,notes:e.notes,onNotesChange:t=>B.updateNotes(e.id,t)},e.id))}):null,B.uploadError?(0,t.jsx)("p",{className:"text-destructive px-4 pb-2 text-xs",children:B.uploadError}):null,(0,t.jsxs)("div",{className:"border-border/60 flex shrink-0 items-center gap-3 border-t px-3 py-2 dark:border-white/10",children:[(0,t.jsx)(b.AgentModelPicker,{initialAgentType:D??"claude-code",initialModel:R??"claude-sonnet-4-6",mode:"override",showInstallStatus:!0,onAgentModelChange:(e,t)=>{F(e),E(t)},className:"w-55"}),(0,t.jsx)("div",{className:"flex-1"}),H?(0,t.jsxs)(j.DropdownMenu,{children:[(0,t.jsx)(j.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button","data-testid":"build-mode-selector",className:"text-muted-foreground hover:text-foreground hover:bg-accent/50 flex cursor-pointer items-center gap-1.5 rounded-md px-2 py-1 text-xs transition-colors",children:[(0,t.jsxs)("span",{className:"flex animate-[onboard-fade-up_0.25s_ease-out_both] items-center gap-1.5",children:[(0,t.jsx)(V,{className:"h-3.5 w-3.5"}),G.label]},U),(0,t.jsx)(c.ChevronDown,{className:"h-3 w-3 opacity-50"})]})}),(0,t.jsx)(j.DropdownMenuContent,{align:"end",className:"min-w-[160px]",children:w.map(e=>{let a=N[e],r=a.icon,n=U===e;return(0,t.jsxs)(j.DropdownMenuItem,{onClick:()=>A(e),"data-testid":`build-mode-${e}`,className:"flex items-center gap-2",children:[(0,t.jsx)(r,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"flex-1",children:a.label}),n?(0,t.jsx)(d.Check,{className:"text-foreground h-3.5 w-3.5"}):null]},e)})})]}):null,(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:X,disabled:M,"aria-label":m("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors disabled:opacity-50",children:(0,t.jsx)(n.Paperclip,{className:"h-4 w-4"})})}),(0,t.jsx)(y.TooltipContent,{side:"top",children:m("chat.attachFiles")})]}),(0,t.jsx)("button",{type:"button",onClick:$,disabled:!C.trim()||M,className:(0,p.cn)("bg-foreground text-background inline-flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-lg","hover:bg-foreground/90 disabled:pointer-events-none disabled:opacity-30","transition-all duration-150"),children:M?(0,t.jsx)(s.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(r.SendHorizontal,{className:"h-3.5 w-3.5"})})]})]}),L?(0,t.jsx)("p",{className:"text-destructive mt-2 text-center text-sm",children:L}):null]}),(0,t.jsx)("div",{className:"mt-6 flex animate-[onboard-fade-up_0.4s_ease-out_both] flex-wrap justify-center gap-2",children:G.suggestions.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>Z(e),disabled:M,className:"text-muted-foreground hover:text-foreground border-border/60 hover:border-border hover:bg-accent/50 cursor-pointer rounded-full border px-3.5 py-1.5 text-xs transition-all duration-150 disabled:opacity-50 dark:border-white/10 dark:hover:border-white/20 dark:hover:bg-white/[0.06]",children:e},e))},U)]})]})}e.s(["ControlCenterEmptyState",()=>C],440106)},998798,e=>{"use strict";let t=(0,e.i(903645).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",()=>t],998798)},13322,961201,e=>{"use strict";var t=e.i(679606),a=e.i(152155),r=e.i(276016);let n=(0,e.i(903645).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var s=e.i(619933),i=e.i(83428),o=e.i(998798),l=e.i(360112),c=e.i(602287),d=e.i(735364),u=e.i(835340);async function h(e){let t=new URLSearchParams;e&&t.set("path",e);let a=await fetch(`/api/directory/list?${t.toString()}`);if(!a.ok)throw Error((await a.json().catch(()=>({error:"Failed to load directory"}))).error??"Failed to load directory");return a.json()}function p({currentPath:e,isEditing:n,onToggleEdit:s,onNavigate:i}){let l=(0,a.useRef)(null),[c,d]=(0,a.useState)(e);function u(){d(e),s()}(0,a.useEffect)(()=>{d(e)},[e]),(0,a.useEffect)(()=>{n&&l.current&&(l.current.focus(),l.current.select())},[n]);let h=function(e){if(!e)return[];let t=/^[a-zA-Z]:/.test(e),a=t?"\\":"/",r=e.split(/[\\/]/).filter(Boolean),n=[];for(let e=0;e<r.length;e++){let s=t?r.slice(0,e+1).join(a):a+r.slice(0,e+1).join(a);n.push({label:r[e],path:s})}return n}(e),p=h.length>3,m=p?h.slice(-3):h;return(0,t.jsxs)("div",{className:"border-b px-4 py-3",children:[(0,t.jsx)("h2",{className:"text-foreground mb-2.5 text-sm font-semibold tracking-[-0.01em]",children:"Select Folder"}),n?(0,t.jsx)("input",{ref:l,type:"text",value:c,onChange:e=>d(e.target.value),onKeyDown:e=>{if("Enter"===e.key){let t;e.preventDefault(),(t=c.trim())&&i(t)}"Escape"===e.key&&(e.preventDefault(),u())},onBlur:u,className:"bg-muted/60 border-border focus:ring-ring/20 focus:border-ring w-full rounded-lg border px-3 py-2 font-mono text-xs transition-all outline-none focus:ring-2",placeholder:"Type a path and press Enter...",spellCheck:!1,autoComplete:"off"}):(0,t.jsxs)("div",{className:"bg-muted/40 flex items-center gap-1 rounded-lg px-2.5 py-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>i("/"),className:"text-muted-foreground hover:text-foreground hover:bg-background shrink-0 rounded px-1.5 py-0.5 font-mono text-xs transition-colors",children:"/"}),p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.ChevronRight,{className:"text-muted-foreground/30 h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"text-muted-foreground/40 font-mono text-xs",children:"..."})]}):null,m.map((e,a)=>{let n=a===m.length-1;return(0,t.jsxs)("span",{className:"flex shrink-0 items-center gap-1",children:[(0,t.jsx)(r.ChevronRight,{className:"text-muted-foreground/30 h-3 w-3"}),n?(0,t.jsx)("span",{className:"bg-primary/10 text-primary rounded px-2 py-0.5 font-mono text-xs font-medium",children:e.label}):(0,t.jsx)("button",{type:"button",onClick:()=>i(e.path),className:"text-muted-foreground hover:text-foreground hover:bg-background rounded px-1.5 py-0.5 font-mono text-xs transition-colors",children:e.label})]},e.path)}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)("button",{type:"button",onClick:s,className:"text-muted-foreground/40 hover:text-foreground hover:bg-background shrink-0 rounded p-1 transition-colors","aria-label":"Edit path",children:(0,t.jsx)(o.Pencil,{className:"h-3 w-3"})})]})]})}function m({open:e,onOpenChange:o,onSelect:m,initialPath:f}){let[x,b]=(0,a.useState)([]),[g,v]=(0,a.useState)(""),[y,j]=(0,a.useState)(!1),[k,w]=(0,a.useState)(!1),N=(0,a.useRef)(!1),[C,S]=(0,a.useState)(0),D=(0,a.useCallback)(async e=>{j(!0),w(!1);try{let t=await h(e);b(t.entries),v(t.currentPath),S(e=>e+1)}catch(t){let e=t instanceof Error?t.message:"Failed to load directory";l.toast.error(e)}finally{j(!1)}},[]);function F(e){D(e)}function R(){m(null),o(!1)}return(0,a.useEffect)(()=>{e&&!N.current&&(N.current=!0,D(f)),e||(N.current=!1,w(!1))},[e,f,D]),(0,t.jsx)(c.Dialog,{open:e,onOpenChange:e=>{e||R()},children:(0,t.jsxs)(c.DialogContent,{className:"flex h-[min(520px,85dvh)] w-full max-w-[460px] flex-col gap-0 overflow-hidden p-0",onCloseAutoFocus:e=>e.preventDefault(),children:[(0,t.jsx)(c.DialogTitle,{className:"sr-only",children:"Select Folder"}),(0,t.jsx)(c.DialogDescription,{className:"sr-only",children:"Navigate to a folder and select it"}),(0,t.jsx)(p,{currentPath:g,isEditing:k,onToggleEdit:()=>w(e=>!e),onNavigate:F}),(0,t.jsx)(u.ScrollArea,{className:"min-h-0 flex-1",children:y&&0===x.length?(0,t.jsx)("div",{className:"space-y-0.5 p-2",children:Array.from({length:8}).map((e,a)=>(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-lg px-3 py-2.5",style:{opacity:1-.1*a},children:[(0,t.jsx)("div",{className:"bg-muted h-4 w-4 animate-pulse rounded"}),(0,t.jsx)("div",{className:"bg-muted h-3.5 animate-pulse rounded",style:{width:`${40+35*Math.random()}%`}})]},`skeleton-${a}`))}):0===x.length?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-20",children:[(0,t.jsx)(s.FolderOpen,{className:"text-muted-foreground/25 mb-3 h-10 w-10"}),(0,t.jsx)("p",{className:"text-muted-foreground/60 text-sm",children:"Empty folder"})]}):(0,t.jsx)("div",{className:"p-2",children:x.map((e,a)=>(0,t.jsxs)("button",{type:"button",onClick:()=>F(e.path),className:"folder-row group flex w-full items-center gap-3 rounded-lg px-3 py-2.5 text-left transition-all hover:bg-[var(--color-primary)]/[0.06] active:scale-[0.997]",style:{animationDelay:`${20*a}ms`},children:[(0,t.jsx)(n,{className:"text-muted-foreground/50 group-hover:text-primary h-[18px] w-[18px] shrink-0 transition-colors"}),(0,t.jsx)("span",{className:"text-foreground min-w-0 flex-1 truncate text-[13px] font-medium",children:e.name}),(0,t.jsx)(r.ChevronRight,{className:"text-muted-foreground/0 group-hover:text-muted-foreground/40 h-3.5 w-3.5 shrink-0 transition-all"})]},e.path))},C)}),(0,t.jsxs)("div",{className:"flex items-center gap-2 border-t px-4 py-3",children:[(0,t.jsx)("p",{className:"text-muted-foreground min-w-0 flex-1 truncate font-mono text-[11px] leading-none",children:g||" "}),(0,t.jsx)(d.Button,{variant:"ghost",size:"sm",onClick:R,className:"text-muted-foreground h-8 shrink-0 px-3 text-xs",children:"Cancel"}),(0,t.jsxs)(d.Button,{size:"sm",onClick:function(){g&&(m(g),o(!1))},disabled:!g||y,className:"h-8 shrink-0 px-5 text-xs font-medium",children:[y?(0,t.jsx)(i.Loader2,{className:"mr-1.5 h-3 w-3 animate-spin"}):null,"Select"]})]})]})})}e.s(["ReactFileManagerDialog",()=>m],961201),e.s([],13322)},591925,e=>{"use strict";let t=(0,e.i(903645).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["FolderPlus",()=>t],591925)},54146,e=>{"use strict";var t=e.i(508893);let a=(0,t.createServerReference)("401e7c6df9d4f46dc74fc317bfc58a90552c125af8",t.callServer,void 0,t.findSourceMapURL,"addRepository");e.s(["addRepository",()=>a])},713005,371127,744263,327810,e=>{"use strict";let t=(0,e.i(903645).default)("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]);e.s(["SlidersHorizontal",()=>t],713005);var a=e.i(679606),r=e.i(152155),n=e.i(3214),s=e.i(83428),i=e.i(860253);e.i(541001);var o=e.i(64780),l=e.i(131777),c=e.i(735364);function d({actions:e,className:t,style:d}){let{t:u}=(0,o.useTranslation)("web"),[h,p]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{if(h)return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e);function e(e){"Escape"===e.key&&p(!1)}},[h]),(0,a.jsxs)(a.Fragment,{children:[h?(0,a.jsx)("div",{"data-testid":"fab-overlay",className:"fixed inset-0 z-40",onClick:()=>p(!1),"aria-hidden":"true"}):null,(0,a.jsxs)("div",{"data-testid":"floating-action-button",className:(0,l.cn)("relative z-50",t),style:d,children:[(0,a.jsx)("div",{className:(0,l.cn)("absolute start-0 bottom-[calc(100%+24px)] flex flex-col items-start gap-2",!h&&"pointer-events-none"),"data-testid":"fab-actions",children:e.map((t,r)=>{let n=(e.length-1-r)*50;return(0,a.jsxs)("button",{"data-testid":`fab-action-${t.id}`,"aria-label":t.label,disabled:t.disabled??t.loading,className:(0,l.cn)("flex h-10 items-center gap-2.5 rounded-full px-4","bg-background text-foreground shadow-md","border-border border","hover:bg-accent hover:text-accent-foreground","disabled:pointer-events-none disabled:opacity-50","text-sm font-medium whitespace-nowrap",h?"translate-y-0 opacity-100":"pointer-events-none translate-y-0 opacity-0"),style:{transition:`opacity ${h?250:120}ms ease-out ${h?n:0}ms, transform ${h?250:120}ms ease-out ${h?n:0}ms`},onClick:()=>{t.onClick(),p(!1)},children:[(0,a.jsx)("span",{className:"flex h-5 w-5 shrink-0 items-center justify-center",children:t.loading?(0,a.jsx)(s.Loader2,{className:"h-4 w-4 animate-spin"}):t.icon}),(0,a.jsx)("span",{children:t.label})]},t.id)})}),(0,a.jsxs)(c.Button,{size:"icon","data-testid":"fab-trigger","aria-label":u(h?"fab.closeActions":"fab.createNew"),className:(0,l.cn)("relative h-14 w-14 rounded-full shadow-lg","bg-indigo-500 text-white hover:bg-indigo-400 dark:bg-indigo-500 dark:hover:bg-indigo-400","transition-all duration-200 hover:scale-105 hover:shadow-xl active:scale-95"),onClick:()=>p(e=>!e),children:[(0,a.jsx)(n.Plus,{className:(0,l.cn)("absolute h-7 w-7 stroke-[2.5] transition-all",h?"scale-0 rotate-90 opacity-0":"scale-100 rotate-0 opacity-100"),style:{transitionDuration:"250ms"}}),(0,a.jsx)(i.X,{className:(0,l.cn)("absolute h-6 w-6 stroke-[2.5] transition-all",h?"scale-100 rotate-0 opacity-100":"scale-0 -rotate-90 opacity-0"),style:{transitionDuration:"250ms"}})]})]})]})}e.s(["FloatingActionButton",()=>d],371127),e.s([],744263);var u=e.i(602287),h=e.i(698127),p=e.i(508893);let m=(0,p.createServerReference)("40ccf9ada1969614721d03701cbee496ca67ffbe8f",p.callServer,void 0,p.findSourceMapURL,"createProjectFolder");function f({open:e,onOpenChange:t,onCreated:n}){let[i,o]=(0,r.useState)(""),[l,d]=(0,r.useState)(!1),[p,f]=(0,r.useState)(null);(0,r.useEffect)(()=>{e&&(o(""),d(!1),f(null))},[e]);let x=async e=>{e.preventDefault();let a=i.trim();if(!a||l)return;d(!0),f(null);let r=await m(a);if(!r.ok||!r.path){f(r.error??"Failed to create project."),d(!1);return}n(r.path),t(!1)};return(0,a.jsx)(u.Dialog,{open:e,onOpenChange:t,children:(0,a.jsx)(u.DialogContent,{className:"max-w-sm",children:(0,a.jsxs)("form",{onSubmit:x,children:[(0,a.jsxs)(u.DialogHeader,{children:[(0,a.jsx)(u.DialogTitle,{children:"New project"}),(0,a.jsx)(u.DialogDescription,{children:"Create an empty project folder inside your Shep home directory. Git will be initialised automatically when the project is added."})]}),(0,a.jsxs)("div",{className:"py-4",children:[(0,a.jsx)(h.Input,{autoFocus:!0,value:i,onChange:e=>{o(e.target.value),p&&f(null)},placeholder:"my-prototype",disabled:l,"data-testid":"new-project-name-input"}),p?(0,a.jsx)("p",{className:"text-destructive mt-2 text-xs",role:"alert",children:p}):null]}),(0,a.jsxs)(u.DialogFooter,{children:[(0,a.jsx)(c.Button,{type:"button",variant:"ghost",onClick:()=>t(!1),disabled:l,children:"Cancel"}),(0,a.jsx)(c.Button,{type:"submit",disabled:!i.trim()||l,children:l?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Creating…"]}):"Create project"})]})]})})})}e.s(["NewProjectDialog",()=>f],327810)},596596,e=>{"use strict";var t=e.i(508893);let a=(0,t.createServerReference)("40245e1b65797d50f136a6daf349b79aeac06ca780",t.callServer,void 0,t.findSourceMapURL,"archiveFeature");e.s(["archiveFeature",()=>a])},468080,e=>{"use strict";var t=e.i(508893);let a=(0,t.createServerReference)("400b42188434a4d0634bb38891b54f723d63a712cd",t.callServer,void 0,t.findSourceMapURL,"unarchiveFeature");e.s(["unarchiveFeature",()=>a])},911786,e=>{"use strict";var t=e.i(508893);let a=(0,t.createServerReference)("78d6468a7c9e65fe22c0f673e37e16f95be9bea37d",t.callServer,void 0,t.findSourceMapURL,"deleteFeature");e.s(["deleteFeature",()=>a])}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,951911,e=>{"use strict";var t=e.i(679606),a=e.i(152155),r=e.i(291967),n=e.i(205978),s=e.i(922528),i=e.i(936589),o=e.i(23405),l=e.i(277624),c=e.i(287620),d="Switch",[u,h]=(0,s.createContextScope)(d),[p,m]=u(d),x=a.forwardRef((e,s)=>{let{__scopeSwitch:o,name:l,checked:u,defaultChecked:h,required:m,disabled:x,value:f="on",onCheckedChange:b,form:y,...j}=e,[k,w]=a.useState(null),N=(0,n.useComposedRefs)(s,e=>w(e)),C=a.useRef(!1),S=!k||y||!!k.closest("form"),[D,F]=(0,i.useControllableState)({prop:u,defaultProp:h??!1,onChange:b,caller:d});return(0,t.jsxs)(p,{scope:o,checked:D,disabled:x,children:[(0,t.jsx)(c.Primitive.button,{type:"button",role:"switch","aria-checked":D,"aria-required":m,"data-state":v(D),"data-disabled":x?"":void 0,disabled:x,value:f,...j,ref:N,onClick:(0,r.composeEventHandlers)(e.onClick,e=>{F(e=>!e),S&&(C.current=e.isPropagationStopped(),C.current||e.stopPropagation())})}),S&&(0,t.jsx)(g,{control:k,bubbles:!C.current,name:l,value:f,checked:D,required:m,disabled:x,form:y,style:{transform:"translateX(-100%)"}})]})});x.displayName=d;var f="SwitchThumb",b=a.forwardRef((e,a)=>{let{__scopeSwitch:r,...n}=e,s=m(f,r);return(0,t.jsx)(c.Primitive.span,{"data-state":v(s.checked),"data-disabled":s.disabled?"":void 0,...n,ref:a})});b.displayName=f;var g=a.forwardRef(({__scopeSwitch:e,control:r,checked:s,bubbles:i=!0,...c},d)=>{let u=a.useRef(null),h=(0,n.useComposedRefs)(u,d),p=(0,o.usePrevious)(s),m=(0,l.useSize)(r);return a.useEffect(()=>{let e=u.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(p!==s&&t){let a=new Event("click",{bubbles:i});t.call(e,s),e.dispatchEvent(a)}},[p,s,i]),(0,t.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:s,...c,tabIndex:-1,ref:h,style:{...c.style,...m,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function v(e){return e?"checked":"unchecked"}g.displayName="SwitchBubbleInput",e.s(["Root",()=>x,"Switch",()=>x,"SwitchThumb",()=>b,"Thumb",()=>b,"createSwitchScope",()=>h],595291);var y=e.i(595291),y=y,j=e.i(131777);function k({className:e,size:a="default",...r}){return(0,t.jsx)(y.Root,{"data-slot":"switch","data-size":a,className:(0,j.cn)("peer group/switch focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 cursor-pointer items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6",e),...r,children:(0,t.jsx)(y.Thumb,{"data-slot":"switch-thumb",className:(0,j.cn)("bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block rounded-full ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 rtl:data-[state=checked]:-translate-x-[calc(100%-2px)]")})})}e.s(["Switch",()=>k],951911)},731463,e=>{"use strict";let t=(0,e.i(903645).default)("ellipsis",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]]);e.s(["MoreHorizontal",()=>t],731463)},197667,e=>{"use strict";var t=e.i(301012);e.s(["CheckIcon",()=>t.default])},216868,442076,e=>{"use strict";var t=e.i(943698);async function a(){let e=await fetch("/api/dialog/pick-files",{method:"POST"});if(!e.ok)throw Error("Failed to open file dialog");let t=await e.json();return t.cancelled?null:t.files}e.s(["PaperclipIcon",()=>t.default],216868),e.s(["pickFiles",()=>a],442076)},983299,474363,765104,e=>{"use strict";let t=(0,e.i(903645).default)("archive-restore",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h2",key:"tvwodi"}],["path",{d:"M20 8v11a2 2 0 0 1-2 2h-2",key:"1gkqxj"}],["path",{d:"m9 15 3-3 3 3",key:"1pd0qc"}],["path",{d:"M12 12v9",key:"192myk"}]]);e.s(["ArchiveRestore",()=>t],983299);var a=e.i(679606),r=e.i(152155),n=e.i(83428);e.i(541001);var s=e.i(626960),i=e.i(64780),o=e.i(271326),l=e.i(197667),c=e.i(961569),c=c,d=e.i(205978),u=e.i(922528),h=e.i(291967),p=e.i(936589),m=e.i(23405),x=e.i(277624),f=e.i(685995),b=e.i(287620),g="Checkbox",[v,y]=(0,u.createContextScope)(g),[j,k]=v(g);function w(e){let{__scopeCheckbox:t,checked:n,children:s,defaultChecked:i,disabled:o,form:l,name:c,onCheckedChange:d,required:u,value:h="on",internal_do_not_use_render:m}=e,[x,f]=(0,p.useControllableState)({prop:n,defaultProp:i??!1,onChange:d,caller:g}),[b,v]=r.useState(null),[y,k]=r.useState(null),w=r.useRef(!1),N=!b||!!l||!!b.closest("form"),C={checked:x,disabled:o,setChecked:f,control:b,setControl:v,name:c,form:l,value:h,hasConsumerStoppedPropagationRef:w,required:u,defaultChecked:!P(i)&&i,isFormControl:N,bubbleInput:y,setBubbleInput:k};return(0,a.jsx)(j,{scope:t,...C,children:"function"==typeof m?m(C):s})}var N="CheckboxTrigger",C=r.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...s},i)=>{let{control:o,value:l,disabled:c,checked:u,required:p,setControl:m,setChecked:x,hasConsumerStoppedPropagationRef:f,isFormControl:g,bubbleInput:v}=k(N,e),y=(0,d.useComposedRefs)(i,m),j=r.useRef(u);return r.useEffect(()=>{let e=o?.form;if(e){let t=()=>x(j.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[o,x]),(0,a.jsx)(b.Primitive.button,{type:"button",role:"checkbox","aria-checked":P(u)?"mixed":u,"aria-required":p,"data-state":A(u),"data-disabled":c?"":void 0,disabled:c,value:l,...s,ref:y,onKeyDown:(0,h.composeEventHandlers)(t,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,h.composeEventHandlers)(n,e=>{x(e=>!!P(e)||!e),v&&g&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})});C.displayName=N;var S=r.forwardRef((e,t)=>{let{__scopeCheckbox:r,name:n,checked:s,defaultChecked:i,required:o,disabled:l,value:c,onCheckedChange:d,form:u,...h}=e;return(0,a.jsx)(w,{__scopeCheckbox:r,checked:s,defaultChecked:i,disabled:l,required:o,onCheckedChange:d,name:n,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(C,{...h,ref:t,__scopeCheckbox:r}),e&&(0,a.jsx)(E,{__scopeCheckbox:r})]})})});S.displayName=g;var D="CheckboxIndicator",F=r.forwardRef((e,t)=>{let{__scopeCheckbox:r,forceMount:n,...s}=e,i=k(D,r);return(0,a.jsx)(f.Presence,{present:n||P(i.checked)||!0===i.checked,children:(0,a.jsx)(b.Primitive.span,{"data-state":A(i.checked),"data-disabled":i.disabled?"":void 0,...s,ref:t,style:{pointerEvents:"none",...e.style}})})});F.displayName=D;var R="CheckboxBubbleInput",E=r.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:s,hasConsumerStoppedPropagationRef:i,checked:o,defaultChecked:l,required:c,disabled:u,name:h,value:p,form:f,bubbleInput:g,setBubbleInput:v}=k(R,e),y=(0,d.useComposedRefs)(n,v),j=(0,m.usePrevious)(o),w=(0,x.useSize)(s);r.useEffect(()=>{if(!g)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!i.current;if(j!==o&&e){let a=new Event("click",{bubbles:t});g.indeterminate=P(o),e.call(g,!P(o)&&o),g.dispatchEvent(a)}},[g,j,o,i]);let N=r.useRef(!P(o)&&o);return(0,a.jsx)(b.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:l??N.current,required:c,disabled:u,name:h,value:p,form:f,...t,tabIndex:-1,ref:y,style:{...t.style,...w,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function P(e){return"indeterminate"===e}function A(e){return P(e)?"indeterminate":e?"checked":"unchecked"}E.displayName=R,e.s(["Checkbox",()=>S,"CheckboxIndicator",()=>F,"Indicator",()=>F,"Root",()=>S,"createCheckboxScope",()=>y,"unstable_BubbleInput",()=>E,"unstable_CheckboxBubbleInput",()=>E,"unstable_CheckboxProvider",()=>w,"unstable_CheckboxTrigger",()=>C,"unstable_Provider",()=>w,"unstable_Trigger",()=>C],257696);var M=e.i(257696),M=M,z=e.i(131777);function L({className:e,...t}){return(0,a.jsx)(M.Root,{"data-slot":"checkbox",className:(0,z.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 cursor-pointer rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:(0,a.jsx)(M.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:"indeterminate"===t.checked?(0,a.jsx)(c.default,{className:"size-3.5"}):(0,a.jsx)(l.CheckIcon,{className:"size-3.5"})})})}e.s(["Checkbox",()=>L],474363);var T=e.i(141957);function _({open:e,onOpenChange:t,onConfirm:l,isDeleting:c,featureName:d,featureId:u,hasChildren:h,hasOpenPr:p}){let{t:m}=(0,i.useTranslation)("web"),[x,f]=(0,r.useState)(!0),[b,g]=(0,r.useState)(!1),[v,y]=(0,r.useState)(!0);return(0,r.useEffect)(()=>{e&&(f(!0),g(!1),y(!0))},[e]),(0,r.useEffect)(()=>{x?y(!0):y(!1)},[x]),(0,a.jsx)(o.AlertDialog,{open:e,onOpenChange:t,children:(0,a.jsxs)(o.AlertDialogContent,{onCloseAutoFocus:e=>e.preventDefault(),children:[(0,a.jsxs)(o.AlertDialogHeader,{children:[(0,a.jsx)(o.AlertDialogTitle,{children:m("deleteFeature.title")}),(0,a.jsx)(o.AlertDialogDescription,{children:(0,a.jsx)(s.Trans,{t:m,i18nKey:"deleteFeature.description",values:{featureName:d,featureId:u},components:{strong:(0,a.jsx)("strong",{})}})})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(L,{id:"cleanup-checkbox",checked:x,onCheckedChange:e=>f(!0===e),disabled:c,"aria-label":m("deleteFeature.cleanupLabel")}),(0,a.jsx)(T.Label,{htmlFor:"cleanup-checkbox",className:"cursor-pointer text-sm",children:m("deleteFeature.cleanupLabel")})]}),h?(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(L,{id:"cascade-delete-checkbox",checked:b,onCheckedChange:e=>g(!0===e),disabled:c,"aria-label":m("deleteFeature.deleteSubFeatures")}),(0,a.jsx)(T.Label,{htmlFor:"cascade-delete-checkbox",className:"cursor-pointer text-sm",children:m("deleteFeature.deleteSubFeatures")})]}):null,p?(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(L,{id:"close-pr-checkbox",checked:v,onCheckedChange:e=>y(!0===e),disabled:c||!x,"aria-label":m("deleteFeature.closePullRequest")}),(0,a.jsx)(T.Label,{htmlFor:"close-pr-checkbox",className:"cursor-pointer text-sm",children:m("deleteFeature.closePullRequest")})]}):null]}),(0,a.jsxs)(o.AlertDialogFooter,{children:[(0,a.jsx)(o.AlertDialogCancel,{disabled:c,onClick:()=>t(!1),children:m("deleteFeature.cancel")}),(0,a.jsx)(o.AlertDialogAction,{variant:"destructive",disabled:c,onClick:()=>l(x,b,!!p&&v),children:c?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.Loader2,{className:"me-2 h-4 w-4 animate-spin"}),m("deleteFeature.deleting")]}):m("deleteFeature.delete")})]})]})})}e.s(["DeleteFeatureDialog",()=>_],765104)},759338,525146,e=>{"use strict";var t=e.i(508893);let a=(0,t.createServerReference)("4063ea21afa87ec4e962daf2de20fa05318b794cb4",t.callServer,void 0,t.findSourceMapURL,"startFeature");e.s(["startFeature",()=>a],759338);let r=(0,t.createServerReference)("408062fa703c2448d3d5b1d10dc2ba51dd21151299",t.callServer,void 0,t.findSourceMapURL,"stopFeature");e.s(["stopFeature",()=>r],525146)},387812,e=>{"use strict";var t=e.i(508893);let a=(0,t.createServerReference)("40ef4a4df3bd27c0b96ddb72f3f13e5bafa024a912",t.callServer,void 0,t.findSourceMapURL,"resumeFeature");e.s(["resumeFeature",()=>a])},454793,207729,e=>{"use strict";var t=e.i(679606),a=e.i(131777);function r({icon:e,title:r,description:n,action:s,className:i,...o}){return(0,t.jsxs)("div",{className:(0,a.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",i),...o,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:r}),n?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:n}):null,s?(0,t.jsx)("div",{className:"mt-2",children:s}):null]})}e.s(["EmptyState",()=>r],207729),e.s([],454793)},809443,185871,e=>{"use strict";var t=e.i(679606),a=e.i(131777);function r({title:e,description:r,children:n,className:s}){return(0,t.jsxs)("header",{className:(0,a.cn)("flex items-center justify-between gap-4",s),children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),r?(0,t.jsx)("p",{className:"text-muted-foreground",children:r}):null]}),n?(0,t.jsx)("div",{"data-slot":"actions",children:n}):null]})}e.s(["PageHeader",()=>r],185871),e.s([],809443)},440106,e=>{"use strict";var t=e.i(679606),a=e.i(152155),r=e.i(711719),n=e.i(935946),s=e.i(83428),i=e.i(542049),o=e.i(453360),l=e.i(941698),c=e.i(99105),d=e.i(723925),u=e.i(860253);e.i(541001);var h=e.i(64780),p=e.i(131777),m=e.i(508893);let x=(0,m.createServerReference)("40f595593fe64753a85724c13a37bc0c1727608b01",m.callServer,void 0,m.findSourceMapURL,"createProjectAndFeature"),f=(0,m.createServerReference)("403f35995a71f5bd40ca59261723021e33ac84d4e3",m.callServer,void 0,m.findSourceMapURL,"createApplication");var b=e.i(41413);e.i(650032);var g=e.i(486254);e.i(692233);var v=e.i(210025),y=e.i(102828),j=e.i(470646),k=e.i(731151);let w=["application","fast","spec"],N={application:{icon:i.LayoutGrid,label:"Application",placeholder:"Build a modern e-commerce storefront with product catalog...",suggestions:["A landing page with hero, features, and pricing sections","Full-stack SaaS app with auth, billing, and dashboard","Mobile-first social media app with real-time chat","Personal portfolio with blog and project showcase"]},fast:{icon:o.Zap,label:"Fast",placeholder:"Add a dark mode toggle to the settings page...",suggestions:["Add pagination to the users list endpoint","Fix the broken logout redirect","Add input validation to the signup form","Refactor the API error handling middleware"]},spec:{icon:l.ClipboardList,label:"Spec Driven",placeholder:"Implement a role-based access control system with audit logging...",suggestions:["OAuth2 authentication with SSO and MFA support","Event-driven notification system with email and push","REST API with versioning, rate limiting, and OpenAPI docs","Data pipeline with ETL, validation, and monitoring"]}};function C({onRepositorySelect:e,onApplicationCreated:i,onClose:o,className:l}){let{t:m}=(0,h.useTranslation)("web"),[C,S]=(0,a.useState)(""),[D,F]=(0,a.useState)(void 0),[R,E]=(0,a.useState)(void 0),[P,A]=(0,a.useState)("application"),[M,z]=(0,a.useState)(!1),[L,T]=(0,a.useState)(null),[_,I]=(0,a.useState)(!1),O=(0,a.useRef)(null),B=(0,k.useAttachments)(),H=!!e,U=H?P:"application",q=(0,a.useCallback)(()=>{A(e=>{let t=w.indexOf(e);return w[(t+1)%w.length]})},[]);(0,a.useEffect)(()=>{let t=t=>{"Escape"===t.key&&o&&o(),"Tab"===t.key&&t.shiftKey&&e&&(t.preventDefault(),q())};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[o,q,e]);let $=(0,a.useCallback)(async()=>{if(C.trim()&&!M){z(!0),T(null);try{if("application"!==U&&e){let t=await x({description:C.trim(),attachments:B.completedAttachments.map(e=>({path:e.path,name:e.name,notes:e.notes})),agentType:D,model:R,fast:"fast"===U});if(t.error){T(t.error),z(!1);return}t.repositoryPath&&e?.(t.repositoryPath),t.feature&&t.repositoryPath&&window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{featureId:t.feature.id,name:t.feature.name,description:t.feature.description,repositoryPath:t.repositoryPath}}))}else{let e=await f({description:C.trim(),agentType:D,modelOverride:R,initialPrompt:C.trim()});if(e.error){T(e.error),z(!1);return}e.application&&i?.(e.application.id)}}catch{T("Something went wrong. Please try again."),z(!1)}}},[C,M,U,B.completedAttachments,D,R,e,i]),K=(0,a.useCallback)(e=>{"Enter"===e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),$())},[$]),X=(0,a.useCallback)(async()=>{try{let e=await fetch("/api/dialog/pick-files");if(!e.ok)return;let t=await e.json();if(!t.paths?.length)return;for(let e of t.paths){let t=await fetch("/api/attachments/upload-from-path",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e,sessionId:"onboarding"})});if(!t.ok)continue;let a=await t.json();B.addAttachment(a)}}catch{}},[B.addAttachment]),Z=(0,a.useCallback)(e=>{S(e),O.current?.focus()},[]),G=N[U],V=G.icon;return(0,t.jsxs)("div",{"data-testid":"control-center-empty-state",className:(0,p.cn)("relative flex h-full w-full flex-col items-center justify-center overflow-hidden px-8",l),children:[(0,t.jsx)("div",{className:"onboard-bg pointer-events-none absolute inset-0 animate-[onboard-fade-in_1.2s_ease-out_both]"}),o?(0,t.jsx)("button",{type:"button",onClick:o,"aria-label":"Close",className:"text-muted-foreground hover:text-foreground hover:bg-accent/50 absolute top-4 right-4 z-10 cursor-pointer rounded p-1.5 transition-colors",children:(0,t.jsx)(u.X,{className:"h-5 w-5"})}):null,(0,t.jsxs)("div",{className:"relative flex w-full max-w-2xl flex-col items-center",children:[(0,t.jsx)("div",{className:"mb-6 animate-[onboard-logo_0.8s_cubic-bezier(0.16,1,0.3,1)_both]",style:{animationDelay:"0ms"},children:(0,t.jsx)(v.ShepLogo,{size:72,className:"text-foreground"})}),(0,t.jsx)("h1",{className:"text-foreground animate-[onboard-fade-up_0.7s_cubic-bezier(0.16,1,0.3,1)_both] text-center text-5xl font-extralight tracking-tight",style:{animationDelay:"120ms"},children:"What do you want to build?"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-3 animate-[onboard-fade-up_0.7s_cubic-bezier(0.16,1,0.3,1)_both] text-center text-lg leading-relaxed font-light",style:{animationDelay:"220ms"},children:"Describe your idea and Shep creates the project for you."}),(0,t.jsxs)("div",{className:"mt-10 w-full animate-[onboard-fade-up_0.7s_cubic-bezier(0.16,1,0.3,1)_both]",style:{animationDelay:"350ms"},children:[(0,t.jsxs)("div",{onFocus:()=>I(!0),onBlur:()=>I(!1),onDragEnter:B.handleDragEnter,onDragLeave:B.handleDragLeave,onDragOver:B.handleDragOver,onDrop:B.handleDrop,className:(0,p.cn)("flex flex-col rounded-xl border transition-all duration-200","border-border/60 bg-background shadow-sm dark:border-white/10 dark:bg-white/[0.04]",_&&"ring-ring/50 border-ring shadow-md ring-[3px] dark:border-orange-500/40 dark:ring-orange-500/25",B.isDragOver&&"border-primary/50 bg-primary/5",M&&"opacity-70"),children:[(0,t.jsx)("textarea",{ref:O,rows:2,autoFocus:!0,value:C,onChange:e=>S(e.target.value),onKeyDown:K,onPaste:B.handlePaste,placeholder:G.placeholder,disabled:M,className:"text-foreground placeholder:text-muted-foreground/60 max-h-[10rem] min-h-[4.5rem] w-full resize-none border-0 bg-transparent px-4 py-3.5 text-sm leading-relaxed focus:outline-none disabled:cursor-not-allowed"}),B.attachments.length>0?(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2.5 overflow-x-auto overflow-y-visible px-5 pt-2 pb-2",children:B.attachments.map(e=>(0,t.jsx)(g.AttachmentChip,{name:e.name,size:e.size,mimeType:e.mimeType,path:e.path,onRemove:()=>B.removeAttachment(e.id),loading:e.loading,notes:e.notes,onNotesChange:t=>B.updateNotes(e.id,t)},e.id))}):null,B.uploadError?(0,t.jsx)("p",{className:"text-destructive px-4 pb-2 text-xs",children:B.uploadError}):null,(0,t.jsxs)("div",{className:"border-border/60 flex shrink-0 items-center gap-3 border-t px-3 py-2 dark:border-white/10",children:[(0,t.jsx)(b.AgentModelPicker,{initialAgentType:D??"claude-code",initialModel:R??"claude-sonnet-4-6",mode:"override",showInstallStatus:!0,onAgentModelChange:(e,t)=>{F(e),E(t)},className:"w-55"}),(0,t.jsx)("div",{className:"flex-1"}),H?(0,t.jsxs)(j.DropdownMenu,{children:[(0,t.jsx)(j.DropdownMenuTrigger,{asChild:!0,children:(0,t.jsxs)("button",{type:"button","data-testid":"build-mode-selector",className:"text-muted-foreground hover:text-foreground hover:bg-accent/50 flex cursor-pointer items-center gap-1.5 rounded-md px-2 py-1 text-xs transition-colors",children:[(0,t.jsxs)("span",{className:"flex animate-[onboard-fade-up_0.25s_ease-out_both] items-center gap-1.5",children:[(0,t.jsx)(V,{className:"h-3.5 w-3.5"}),G.label]},U),(0,t.jsx)(c.ChevronDown,{className:"h-3 w-3 opacity-50"})]})}),(0,t.jsx)(j.DropdownMenuContent,{align:"end",className:"min-w-[160px]",children:w.map(e=>{let a=N[e],r=a.icon,n=U===e;return(0,t.jsxs)(j.DropdownMenuItem,{onClick:()=>A(e),"data-testid":`build-mode-${e}`,className:"flex items-center gap-2",children:[(0,t.jsx)(r,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"flex-1",children:a.label}),n?(0,t.jsx)(d.Check,{className:"text-foreground h-3.5 w-3.5"}):null]},e)})})]}):null,(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("button",{type:"button",onClick:X,disabled:M,"aria-label":m("chat.attachFiles"),className:"text-muted-foreground hover:text-foreground cursor-pointer rounded p-1 transition-colors disabled:opacity-50",children:(0,t.jsx)(n.Paperclip,{className:"h-4 w-4"})})}),(0,t.jsx)(y.TooltipContent,{side:"top",children:m("chat.attachFiles")})]}),(0,t.jsx)("button",{type:"button",onClick:$,disabled:!C.trim()||M,className:(0,p.cn)("bg-foreground text-background inline-flex h-8 w-8 shrink-0 cursor-pointer items-center justify-center rounded-lg","hover:bg-foreground/90 disabled:pointer-events-none disabled:opacity-30","transition-all duration-150"),children:M?(0,t.jsx)(s.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(r.SendHorizontal,{className:"h-3.5 w-3.5"})})]})]}),L?(0,t.jsx)("p",{className:"text-destructive mt-2 text-center text-sm",children:L}):null]}),(0,t.jsx)("div",{className:"mt-6 flex animate-[onboard-fade-up_0.4s_ease-out_both] flex-wrap justify-center gap-2",children:G.suggestions.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>Z(e),disabled:M,className:"text-muted-foreground hover:text-foreground border-border/60 hover:border-border hover:bg-accent/50 cursor-pointer rounded-full border px-3.5 py-1.5 text-xs transition-all duration-150 disabled:opacity-50 dark:border-white/10 dark:hover:border-white/20 dark:hover:bg-white/[0.06]",children:e},e))},U)]})]})}e.s(["ControlCenterEmptyState",()=>C],440106)},998798,e=>{"use strict";let t=(0,e.i(903645).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",()=>t],998798)},13322,961201,e=>{"use strict";var t=e.i(679606),a=e.i(152155),r=e.i(276016);let n=(0,e.i(903645).default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var s=e.i(619933),i=e.i(83428),o=e.i(998798),l=e.i(360112),c=e.i(602287),d=e.i(735364),u=e.i(835340);async function h(e){let t=new URLSearchParams;e&&t.set("path",e);let a=await fetch(`/api/directory/list?${t.toString()}`);if(!a.ok)throw Error((await a.json().catch(()=>({error:"Failed to load directory"}))).error??"Failed to load directory");return a.json()}function p({currentPath:e,isEditing:n,onToggleEdit:s,onNavigate:i}){let l=(0,a.useRef)(null),[c,d]=(0,a.useState)(e);function u(){d(e),s()}(0,a.useEffect)(()=>{d(e)},[e]),(0,a.useEffect)(()=>{n&&l.current&&(l.current.focus(),l.current.select())},[n]);let h=function(e){if(!e)return[];let t=/^[a-zA-Z]:/.test(e),a=t?"\\":"/",r=e.split(/[\\/]/).filter(Boolean),n=[];for(let e=0;e<r.length;e++){let s=t?r.slice(0,e+1).join(a):a+r.slice(0,e+1).join(a);n.push({label:r[e],path:s})}return n}(e),p=h.length>3,m=p?h.slice(-3):h;return(0,t.jsxs)("div",{className:"border-b px-4 py-3",children:[(0,t.jsx)("h2",{className:"text-foreground mb-2.5 text-sm font-semibold tracking-[-0.01em]",children:"Select Folder"}),n?(0,t.jsx)("input",{ref:l,type:"text",value:c,onChange:e=>d(e.target.value),onKeyDown:e=>{if("Enter"===e.key){let t;e.preventDefault(),(t=c.trim())&&i(t)}"Escape"===e.key&&(e.preventDefault(),u())},onBlur:u,className:"bg-muted/60 border-border focus:ring-ring/20 focus:border-ring w-full rounded-lg border px-3 py-2 font-mono text-xs transition-all outline-none focus:ring-2",placeholder:"Type a path and press Enter...",spellCheck:!1,autoComplete:"off"}):(0,t.jsxs)("div",{className:"bg-muted/40 flex items-center gap-1 rounded-lg px-2.5 py-2",children:[(0,t.jsx)("button",{type:"button",onClick:()=>i("/"),className:"text-muted-foreground hover:text-foreground hover:bg-background shrink-0 rounded px-1.5 py-0.5 font-mono text-xs transition-colors",children:"/"}),p?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.ChevronRight,{className:"text-muted-foreground/30 h-3 w-3 shrink-0"}),(0,t.jsx)("span",{className:"text-muted-foreground/40 font-mono text-xs",children:"..."})]}):null,m.map((e,a)=>{let n=a===m.length-1;return(0,t.jsxs)("span",{className:"flex shrink-0 items-center gap-1",children:[(0,t.jsx)(r.ChevronRight,{className:"text-muted-foreground/30 h-3 w-3"}),n?(0,t.jsx)("span",{className:"bg-primary/10 text-primary rounded px-2 py-0.5 font-mono text-xs font-medium",children:e.label}):(0,t.jsx)("button",{type:"button",onClick:()=>i(e.path),className:"text-muted-foreground hover:text-foreground hover:bg-background rounded px-1.5 py-0.5 font-mono text-xs transition-colors",children:e.label})]},e.path)}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)("button",{type:"button",onClick:s,className:"text-muted-foreground/40 hover:text-foreground hover:bg-background shrink-0 rounded p-1 transition-colors","aria-label":"Edit path",children:(0,t.jsx)(o.Pencil,{className:"h-3 w-3"})})]})]})}function m({open:e,onOpenChange:o,onSelect:m,initialPath:x}){let[f,b]=(0,a.useState)([]),[g,v]=(0,a.useState)(""),[y,j]=(0,a.useState)(!1),[k,w]=(0,a.useState)(!1),N=(0,a.useRef)(!1),[C,S]=(0,a.useState)(0),D=(0,a.useCallback)(async e=>{j(!0),w(!1);try{let t=await h(e);b(t.entries),v(t.currentPath),S(e=>e+1)}catch(t){let e=t instanceof Error?t.message:"Failed to load directory";l.toast.error(e)}finally{j(!1)}},[]);function F(e){D(e)}function R(){m(null),o(!1)}return(0,a.useEffect)(()=>{e&&!N.current&&(N.current=!0,D(x)),e||(N.current=!1,w(!1))},[e,x,D]),(0,t.jsx)(c.Dialog,{open:e,onOpenChange:e=>{e||R()},children:(0,t.jsxs)(c.DialogContent,{className:"flex h-[min(520px,85dvh)] w-full max-w-[460px] flex-col gap-0 overflow-hidden p-0",onCloseAutoFocus:e=>e.preventDefault(),children:[(0,t.jsx)(c.DialogTitle,{className:"sr-only",children:"Select Folder"}),(0,t.jsx)(c.DialogDescription,{className:"sr-only",children:"Navigate to a folder and select it"}),(0,t.jsx)(p,{currentPath:g,isEditing:k,onToggleEdit:()=>w(e=>!e),onNavigate:F}),(0,t.jsx)(u.ScrollArea,{className:"min-h-0 flex-1",children:y&&0===f.length?(0,t.jsx)("div",{className:"space-y-0.5 p-2",children:Array.from({length:8}).map((e,a)=>(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-lg px-3 py-2.5",style:{opacity:1-.1*a},children:[(0,t.jsx)("div",{className:"bg-muted h-4 w-4 animate-pulse rounded"}),(0,t.jsx)("div",{className:"bg-muted h-3.5 animate-pulse rounded",style:{width:`${40+35*Math.random()}%`}})]},`skeleton-${a}`))}):0===f.length?(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-20",children:[(0,t.jsx)(s.FolderOpen,{className:"text-muted-foreground/25 mb-3 h-10 w-10"}),(0,t.jsx)("p",{className:"text-muted-foreground/60 text-sm",children:"Empty folder"})]}):(0,t.jsx)("div",{className:"p-2",children:f.map((e,a)=>(0,t.jsxs)("button",{type:"button",onClick:()=>F(e.path),className:"folder-row group flex w-full items-center gap-3 rounded-lg px-3 py-2.5 text-left transition-all hover:bg-[var(--color-primary)]/[0.06] active:scale-[0.997]",style:{animationDelay:`${20*a}ms`},children:[(0,t.jsx)(n,{className:"text-muted-foreground/50 group-hover:text-primary h-[18px] w-[18px] shrink-0 transition-colors"}),(0,t.jsx)("span",{className:"text-foreground min-w-0 flex-1 truncate text-[13px] font-medium",children:e.name}),(0,t.jsx)(r.ChevronRight,{className:"text-muted-foreground/0 group-hover:text-muted-foreground/40 h-3.5 w-3.5 shrink-0 transition-all"})]},e.path))},C)}),(0,t.jsxs)("div",{className:"flex items-center gap-2 border-t px-4 py-3",children:[(0,t.jsx)("p",{className:"text-muted-foreground min-w-0 flex-1 truncate font-mono text-[11px] leading-none",children:g||" "}),(0,t.jsx)(d.Button,{variant:"ghost",size:"sm",onClick:R,className:"text-muted-foreground h-8 shrink-0 px-3 text-xs",children:"Cancel"}),(0,t.jsxs)(d.Button,{size:"sm",onClick:function(){g&&(m(g),o(!1))},disabled:!g||y,className:"h-8 shrink-0 px-5 text-xs font-medium",children:[y?(0,t.jsx)(i.Loader2,{className:"mr-1.5 h-3 w-3 animate-spin"}):null,"Select"]})]})]})})}e.s(["ReactFileManagerDialog",()=>m],961201),e.s([],13322)},591925,e=>{"use strict";let t=(0,e.i(903645).default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);e.s(["FolderPlus",()=>t],591925)},790427,e=>{"use strict";var t=e.i(508893);let a=(0,t.createServerReference)("40cc81584374c75e940be2f287524cce4305096ef6",t.callServer,void 0,t.findSourceMapURL,"addRepository");e.s(["addRepository",()=>a])},713005,371127,744263,327810,e=>{"use strict";let t=(0,e.i(903645).default)("sliders-horizontal",[["path",{d:"M10 5H3",key:"1qgfaw"}],["path",{d:"M12 19H3",key:"yhmn1j"}],["path",{d:"M14 3v4",key:"1sua03"}],["path",{d:"M16 17v4",key:"1q0r14"}],["path",{d:"M21 12h-9",key:"1o4lsq"}],["path",{d:"M21 19h-5",key:"1rlt1p"}],["path",{d:"M21 5h-7",key:"1oszz2"}],["path",{d:"M8 10v4",key:"tgpxqk"}],["path",{d:"M8 12H3",key:"a7s4jb"}]]);e.s(["SlidersHorizontal",()=>t],713005);var a=e.i(679606),r=e.i(152155),n=e.i(3214),s=e.i(83428),i=e.i(860253);e.i(541001);var o=e.i(64780),l=e.i(131777),c=e.i(735364);function d({actions:e,className:t,style:d}){let{t:u}=(0,o.useTranslation)("web"),[h,p]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{if(h)return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e);function e(e){"Escape"===e.key&&p(!1)}},[h]),(0,a.jsxs)(a.Fragment,{children:[h?(0,a.jsx)("div",{"data-testid":"fab-overlay",className:"fixed inset-0 z-40",onClick:()=>p(!1),"aria-hidden":"true"}):null,(0,a.jsxs)("div",{"data-testid":"floating-action-button",className:(0,l.cn)("relative z-50",t),style:d,children:[(0,a.jsx)("div",{className:(0,l.cn)("absolute start-0 bottom-[calc(100%+24px)] flex flex-col items-start gap-2",!h&&"pointer-events-none"),"data-testid":"fab-actions",children:e.map((t,r)=>{let n=(e.length-1-r)*50;return(0,a.jsxs)("button",{"data-testid":`fab-action-${t.id}`,"aria-label":t.label,disabled:t.disabled??t.loading,className:(0,l.cn)("flex h-10 items-center gap-2.5 rounded-full px-4","bg-background text-foreground shadow-md","border-border border","hover:bg-accent hover:text-accent-foreground","disabled:pointer-events-none disabled:opacity-50","text-sm font-medium whitespace-nowrap",h?"translate-y-0 opacity-100":"pointer-events-none translate-y-0 opacity-0"),style:{transition:`opacity ${h?250:120}ms ease-out ${h?n:0}ms, transform ${h?250:120}ms ease-out ${h?n:0}ms`},onClick:()=>{t.onClick(),p(!1)},children:[(0,a.jsx)("span",{className:"flex h-5 w-5 shrink-0 items-center justify-center",children:t.loading?(0,a.jsx)(s.Loader2,{className:"h-4 w-4 animate-spin"}):t.icon}),(0,a.jsx)("span",{children:t.label})]},t.id)})}),(0,a.jsxs)(c.Button,{size:"icon","data-testid":"fab-trigger","aria-label":u(h?"fab.closeActions":"fab.createNew"),className:(0,l.cn)("relative h-14 w-14 rounded-full shadow-lg","bg-indigo-500 text-white hover:bg-indigo-400 dark:bg-indigo-500 dark:hover:bg-indigo-400","transition-all duration-200 hover:scale-105 hover:shadow-xl active:scale-95"),onClick:()=>p(e=>!e),children:[(0,a.jsx)(n.Plus,{className:(0,l.cn)("absolute h-7 w-7 stroke-[2.5] transition-all",h?"scale-0 rotate-90 opacity-0":"scale-100 rotate-0 opacity-100"),style:{transitionDuration:"250ms"}}),(0,a.jsx)(i.X,{className:(0,l.cn)("absolute h-6 w-6 stroke-[2.5] transition-all",h?"scale-100 rotate-0 opacity-100":"scale-0 -rotate-90 opacity-0"),style:{transitionDuration:"250ms"}})]})]})]})}e.s(["FloatingActionButton",()=>d],371127),e.s([],744263);var u=e.i(602287),h=e.i(698127),p=e.i(508893);let m=(0,p.createServerReference)("4037afd36a0e4d96004d619099ae3c4ed0437cb245",p.callServer,void 0,p.findSourceMapURL,"createProjectFolder");function x({open:e,onOpenChange:t,onCreated:n}){let[i,o]=(0,r.useState)(""),[l,d]=(0,r.useState)(!1),[p,x]=(0,r.useState)(null);(0,r.useEffect)(()=>{e&&(o(""),d(!1),x(null))},[e]);let f=async e=>{e.preventDefault();let a=i.trim();if(!a||l)return;d(!0),x(null);let r=await m(a);if(!r.ok||!r.path){x(r.error??"Failed to create project."),d(!1);return}n(r.path),t(!1)};return(0,a.jsx)(u.Dialog,{open:e,onOpenChange:t,children:(0,a.jsx)(u.DialogContent,{className:"max-w-sm",children:(0,a.jsxs)("form",{onSubmit:f,children:[(0,a.jsxs)(u.DialogHeader,{children:[(0,a.jsx)(u.DialogTitle,{children:"New project"}),(0,a.jsx)(u.DialogDescription,{children:"Create an empty project folder inside your Shep home directory. Git will be initialised automatically when the project is added."})]}),(0,a.jsxs)("div",{className:"py-4",children:[(0,a.jsx)(h.Input,{autoFocus:!0,value:i,onChange:e=>{o(e.target.value),p&&x(null)},placeholder:"my-prototype",disabled:l,"data-testid":"new-project-name-input"}),p?(0,a.jsx)("p",{className:"text-destructive mt-2 text-xs",role:"alert",children:p}):null]}),(0,a.jsxs)(u.DialogFooter,{children:[(0,a.jsx)(c.Button,{type:"button",variant:"ghost",onClick:()=>t(!1),disabled:l,children:"Cancel"}),(0,a.jsx)(c.Button,{type:"submit",disabled:!i.trim()||l,children:l?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Creating…"]}):"Create project"})]})]})})})}e.s(["NewProjectDialog",()=>x],327810)},553124,e=>{"use strict";var t=e.i(508893);let a=(0,t.createServerReference)("40fa8b8abaeee37ffabb840060521e189cf9ba2d0c",t.callServer,void 0,t.findSourceMapURL,"archiveFeature");e.s(["archiveFeature",()=>a])},256579,e=>{"use strict";var t=e.i(508893);let a=(0,t.createServerReference)("40b8dc2eb040ff49e5ee86c1e81b4a821a06d6ffb6",t.callServer,void 0,t.findSourceMapURL,"unarchiveFeature");e.s(["unarchiveFeature",()=>a])},541568,e=>{"use strict";var t=e.i(508893);let a=(0,t.createServerReference)("785bad8c4de5480280884c0069132eab9b32df6064",t.callServer,void 0,t.findSourceMapURL,"deleteFeature");e.s(["deleteFeature",()=>a])}]);
|