@shepai/cli 1.72.5 → 1.72.6
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/feature-agent/nodes/merge/merge.node.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/merge/merge.node.js +35 -18
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/node-helpers.js +6 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/implement.prompt.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/implement.prompt.js +6 -4
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.d.ts.map +1 -1
- package/dist/packages/core/src/infrastructure/services/agents/feature-agent/nodes/prompts/merge-prompts.js +10 -5
- 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/cache/.previewinfo +1 -1
- package/web/.next/cache/.rscinfo +1 -1
- package/web/.next/cache/.tsbuildinfo +1 -1
- package/web/.next/cache/config.json +3 -3
- package/web/.next/fallback-build-manifest.json +2 -2
- package/web/.next/prerender-manifest.json +3 -3
- package/web/.next/required-server-files.js +1 -1
- package/web/.next/required-server-files.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +14 -14
- 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]/page/server-reference-manifest.json +17 -17
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +14 -14
- 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]/page/server-reference-manifest.json +17 -17
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +12 -12
- package/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
- package/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
- package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js.map +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js +1 -1
- package/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__07385073._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__07385073._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__6db85a66._.js +2 -2
- package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js.map +1 -1
- package/web/.next/server/chunks/ssr/[root-of-the-server]__8fcb9132._.js +2 -2
- package/web/.next/server/chunks/ssr/_00e6c698._.js +1 -1
- package/web/.next/server/chunks/ssr/_00e6c698._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_37259405._.js +1 -1
- package/web/.next/server/chunks/ssr/_37259405._.js.map +1 -1
- package/web/.next/server/chunks/ssr/_85d0351b._.js +1 -1
- package/web/.next/server/chunks/ssr/_85d0351b._.js.map +1 -1
- package/web/.next/server/chunks/ssr/{_8fcb97eb._.js → _e50484ec._.js} +2 -2
- package/web/.next/server/chunks/ssr/{_8fcb97eb._.js.map → _e50484ec._.js.map} +1 -1
- package/web/.next/server/chunks/ssr/_fc3a6895._.js +1 -1
- package/web/.next/server/chunks/ssr/_fc3a6895._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_1a32dbcb._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_1a32dbcb._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_5c87e8e4._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_5c87e8e4._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_c1bc6240._.js +2 -2
- package/web/.next/server/chunks/ssr/src_presentation_web_c1bc6240._.js.map +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js.map +1 -1
- package/web/.next/server/pages/500.html +2 -2
- package/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/server/server-reference-manifest.json +20 -20
- package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +2 -2
- package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page/server-reference-manifest.json +14 -14
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/create/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page/server-reference-manifest.json +17 -17
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/@drawer/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page/server-reference-manifest.json +14 -14
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/create/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page/server-reference-manifest.json +17 -17
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/feature/[featureId]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page/server-reference-manifest.json +12 -12
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page/server-reference-manifest.json +12 -12
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page.js.nft.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/(dashboard)/repository/[repositoryId]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page/server-reference-manifest.json +6 -6
- package/web/.next/standalone/src/presentation/web/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page/server-reference-manifest.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/version/page/server-reference-manifest.json +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/744ca_web_components_common_control-center-drawer_create-drawer-client_tsx_5e26fc0a._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_@drawer_repository_[repositoryId]_page_actions_2b7834f6.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/8ba4b_server_app_(dashboard)_repository_[repositoryId]_page_actions_6923c575.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__07385073._.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__08ba9bd3._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6b17a22d._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6bb00d90._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__6db85a66._.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__804c006d._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__8fcb9132._.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_00e6c698._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_37259405._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_85d0351b._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{_8fcb97eb._.js → _e50484ec._.js} +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_fc3a6895._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_1a32dbcb._.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_398553b0._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_5c87e8e4._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web__next-internal_server_app_(dashboard)_page_actions_f4952172.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_c1bc6240._.js +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_components_features_control-center_7ac3562e._.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
- package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +20 -20
- package/web/.next/standalone/src/presentation/web/server.js +1 -1
- package/web/.next/static/chunks/{5a962b5baf7c4d1d.js → 06b6b02bab76aee7.js} +1 -1
- package/web/.next/static/chunks/{0f3e1ea42efba7e8.js → 32957ff277daec59.js} +1 -1
- package/web/.next/static/chunks/{d2e6361bdd7a02a5.js → 412a3ac70c529c5b.js} +1 -1
- package/web/.next/static/chunks/{952c8aa7247dcb3f.js → 550bf3cb8220cbf0.js} +1 -1
- package/web/.next/static/chunks/{ebfd2ed5b143b5b6.js → 8b36e07129a1471f.js} +1 -1
- package/web/.next/static/chunks/{92ebb1cad6f24333.js → d4ecce2ac7795bd9.js} +1 -1
- package/web/.next/static/chunks/{515d5b157a7620b9.js → e44849eb58a3335f.js} +1 -1
- package/web/.next/static/chunks/{9261e2adb145d388.js → ecb2130572a7fbe7.js} +1 -1
- package/web/.next/static/chunks/{87db91411a520cea.js → fc07834e422b1caa.js} +1 -1
- package/web/.next/trace +1 -1
- package/web/.next/trace-build +1 -1
- /package/web/.next/static/{KbyvoLS1Q62iF5F25ZKYW → 7K6dTYQIJ7__PLUYLLfZV}/_buildManifest.js +0 -0
- /package/web/.next/static/{KbyvoLS1Q62iF5F25ZKYW → 7K6dTYQIJ7__PLUYLLfZV}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{KbyvoLS1Q62iF5F25ZKYW → 7K6dTYQIJ7__PLUYLLfZV}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81846,e=>{"use strict";var t=e.i(20314),a=e.i(94237),s=e.i(31777);let l=(0,a.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 r({className:e,variant:a,...r}){return(0,t.jsx)("div",{className:(0,s.cn)(l({variant:a}),e),...r})}e.s(["Badge",()=>r])},30702,e=>{"use strict";let t=(0,e.i(3645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],30702)},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},2287,60253,e=>{"use strict";var t=e.i(20314),a=e.i(79054),s=e.i(90033),l=e.i(90537);e.s(["X",()=>l.default],60253);var l=l,r=e.i(31777);let i=s.Dialog.Root;s.Dialog.Trigger;let n=s.Dialog.Portal;s.Dialog.Close;let o=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)(s.Dialog.Overlay,{ref:l,className:(0,r.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",e),...a}));o.displayName=s.Dialog.Overlay.displayName;let d=a.forwardRef(({className:e,children:a,...i},d)=>(0,t.jsxs)(n,{children:[(0,t.jsx)(o,{}),(0,t.jsxs)(s.Dialog.Content,{ref:d,className:(0,r.cn)("bg-background 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",e),...i,children:[a,(0,t.jsxs)(s.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(l.default,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));d.displayName=s.Dialog.Content.displayName;let c=({className:e,...a})=>(0,t.jsx)("div",{className:(0,r.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...a});c.displayName="DialogHeader";let u=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)(s.Dialog.Title,{ref:l,className:(0,r.cn)("text-lg leading-none font-semibold tracking-tight",e),...a}));u.displayName=s.Dialog.Title.displayName;let m=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)(s.Dialog.Description,{ref:l,className:(0,r.cn)("text-muted-foreground text-sm",e),...a}));m.displayName=s.Dialog.Description.displayName,e.s(["Dialog",()=>i,"DialogContent",()=>d,"DialogDescription",()=>m,"DialogHeader",()=>c,"DialogTitle",()=>u],2287)},19933,e=>{"use strict";let t=(0,e.i(3645).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],19933)},54793,7729,e=>{"use strict";var t=e.i(20314),a=e.i(31777);function s({icon:e,title:s,description:l,action:r,className:i,...n}){return(0,t.jsxs)("div",{className:(0,a.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",i),...n,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:s}),l?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:l}):null,r?(0,t.jsx)("div",{className:"mt-2",children:r}):null]})}e.s(["EmptyState",()=>s],7729),e.s([],54793)},956,e=>{"use strict";var t=e.i(20314),a=e.i(79054),s=e.i(31777);let l=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)("div",{ref:l,className:(0,s.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...a}));l.displayName="Card";let r=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)("div",{ref:l,className:(0,s.cn)("flex flex-col space-y-1.5 p-6",e),...a}));r.displayName="CardHeader";let i=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)("div",{ref:l,className:(0,s.cn)("leading-none font-semibold tracking-tight",e),...a}));i.displayName="CardTitle";let n=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)("div",{ref:l,className:(0,s.cn)("text-muted-foreground text-sm",e),...a}));n.displayName="CardDescription";let o=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)("div",{ref:l,className:(0,s.cn)("p-6 pt-0",e),...a}));o.displayName="CardContent",a.forwardRef(({className:e,...a},l)=>(0,t.jsx)("div",{ref:l,className:(0,s.cn)("flex items-center p-6 pt-0",e),...a})).displayName="CardFooter",e.s(["Card",()=>l,"CardContent",()=>o,"CardDescription",()=>n,"CardHeader",()=>r,"CardTitle",()=>i])},38752,e=>{"use strict";var t=e.i(20314);e.i(1650);var a=e.i(11495),s=e.i(45811),l=e.i(81846),r=e.i(25235),i=e.i(19933);function n({skill:e,onClose:n}){return(0,t.jsx)(a.BaseDrawer,{open:null!==e,onClose:n,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.DrawerTitle,{children:e.displayName}),(0,t.jsx)(s.DrawerDescription,{children:e.name})]}):void 0,children:e?(0,t.jsxs)("div",{className:"px-4 pb-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(l.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),(0,t.jsx)(l.Badge,{variant:"outline",children:e.category}),e.context?(0,t.jsx)(l.Badge,{variant:"outline",children:e.context}):null]}),e.allowedTools?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,t.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,t.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,t.jsx)(i.FolderOpen,{className:"size-3.5 shrink-0"}),(0,t.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:e.body})]}):null]}):null})}e.s(["SkillDetailDrawer",()=>n])},76177,e=>{"use strict";var t=e.i(20314),a=e.i(79054);let s=(0,e.i(3645).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);var l=e.i(12103),r=e.i(98127),i=e.i(35364),n=e.i(31777);function o({title:e,description:a,children:s,className:l}){return(0,t.jsxs)("header",{className:(0,n.cn)("flex items-center justify-between gap-4",l),children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),a?(0,t.jsx)("p",{className:"text-muted-foreground",children:a}):null]}),s?(0,t.jsx)("div",{"data-slot":"actions",children:s}):null]})}e.i(54793);var d=e.i(7729),c=e.i(956),u=e.i(81846),m=e.i(19933);function x({skill:e,onSelect:a}){return(0,t.jsxs)(c.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>a(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),a(e))},"data-testid":`skill-card-${e.name}`,children:[(0,t.jsxs)(c.CardHeader,{className:"pb-3",children:[(0,t.jsx)(c.CardTitle,{className:"text-base",children:e.displayName}),(0,t.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:e.name})]}),(0,t.jsxs)(c.CardContent,{className:"space-y-3",children:[(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:e.description}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(u.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,t.jsx)(u.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,t.jsx)(u.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,t.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,t.jsx)(m.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})]})}let f=["Workflow","Code Generation","Analysis","Reference"];function p({skills:e,onSkillSelect:a}){let s=function(e){let t=new Map;for(let a of e){let e=t.get(a.category)??[];e.push(a),t.set(a.category,e)}return t}(e);return(0,t.jsx)("div",{className:"space-y-8",children:f.map(e=>{let l=s.get(e);return l&&0!==l.length?(0,t.jsxs)("section",{children:[(0,t.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[e," ",(0,t.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",l.length,")"]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:l.map(e=>(0,t.jsx)(x,{skill:e,onSelect:a},e.name))})]},e):null})})}let g=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function h({activeCategory:e,onCategoryChange:a,counts:s}){return(0,t.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:g.map(({label:l,value:r})=>(0,t.jsxs)(i.Button,{variant:e===r?"default":"outline",size:"sm",onClick:()=>a(r),children:[l,s&&r?(0,t.jsxs)("span",{className:"ml-1 text-xs opacity-70",children:["(",s[r],")"]}):null]},l))})}var j=e.i(38752);function y({skills:e}){let[n,c]=(0,a.useState)(""),[u,m]=(0,a.useState)(null),[x,f]=(0,a.useState)(null),g=(0,a.useMemo)(()=>(function(e){let t={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let a of e)t[a.category]++;return t})(e),[e]),y=(0,a.useMemo)(()=>{let t=n.toLowerCase();return e.filter(e=>{if(u&&e.category!==u)return!1;if(t){let a=e.name.toLowerCase().includes(t),s=e.description.toLowerCase().includes(t);if(!a&&!s)return!1}return!0})},[e,n,u]);return 0===e.length?(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(o,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,t.jsx)(d.EmptyState,{icon:(0,t.jsx)(l.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(o,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(s,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,t.jsx)(r.Input,{placeholder:"Search skills...",value:n,onChange:e=>c(e.target.value),className:"pl-9"})]}),(0,t.jsx)(h,{activeCategory:u,onCategoryChange:m,counts:g}),y.length>0?(0,t.jsx)(p,{skills:y,onSkillSelect:f}):(0,t.jsx)(d.EmptyState,{icon:(0,t.jsx)(s,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,t.jsx)(i.Button,{variant:"outline",onClick:()=>{c(""),m(null)},children:"Clear filters"})}),(0,t.jsx)(j.SkillDetailDrawer,{skill:x,onClose:()=>f(null)})]})}e.s(["SkillsPageClient",()=>y],76177)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,81846,e=>{"use strict";var t=e.i(20314),a=e.i(94237),s=e.i(31777);let l=(0,a.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 r({className:e,variant:a,...r}){return(0,t.jsx)("div",{className:(0,s.cn)(l({variant:a}),e),...r})}e.s(["Badge",()=>r])},30702,e=>{"use strict";let t=(0,e.i(3645).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>t],30702)},38573,e=>{"use strict";let t=(0,e.i(3645).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",()=>t],38573)},2287,60253,e=>{"use strict";var t=e.i(20314),a=e.i(79054),s=e.i(90033),l=e.i(90537);e.s(["X",()=>l.default],60253);var l=l,r=e.i(31777);let i=s.Dialog.Root;s.Dialog.Trigger;let n=s.Dialog.Portal;s.Dialog.Close;let o=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)(s.Dialog.Overlay,{ref:l,className:(0,r.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",e),...a}));o.displayName=s.Dialog.Overlay.displayName;let d=a.forwardRef(({className:e,children:a,...i},d)=>(0,t.jsxs)(n,{children:[(0,t.jsx)(o,{}),(0,t.jsxs)(s.Dialog.Content,{ref:d,className:(0,r.cn)("bg-background 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",e),...i,children:[a,(0,t.jsxs)(s.Dialog.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none",children:[(0,t.jsx)(l.default,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));d.displayName=s.Dialog.Content.displayName;let c=({className:e,...a})=>(0,t.jsx)("div",{className:(0,r.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...a});c.displayName="DialogHeader";let u=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)(s.Dialog.Title,{ref:l,className:(0,r.cn)("text-lg leading-none font-semibold tracking-tight",e),...a}));u.displayName=s.Dialog.Title.displayName;let m=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)(s.Dialog.Description,{ref:l,className:(0,r.cn)("text-muted-foreground text-sm",e),...a}));m.displayName=s.Dialog.Description.displayName,e.s(["Dialog",()=>i,"DialogContent",()=>d,"DialogDescription",()=>m,"DialogHeader",()=>c,"DialogTitle",()=>u],2287)},19933,e=>{"use strict";let t=(0,e.i(3645).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);e.s(["FolderOpen",()=>t],19933)},54793,7729,e=>{"use strict";var t=e.i(20314),a=e.i(31777);function s({icon:e,title:s,description:l,action:r,className:i,...n}){return(0,t.jsxs)("div",{className:(0,a.cn)("flex flex-col items-center gap-4 px-4 py-12 text-center",i),...n,children:[e?(0,t.jsx)("div",{className:"text-muted-foreground",children:e}):null,(0,t.jsx)("h3",{className:"text-lg font-semibold",children:s}),l?(0,t.jsx)("p",{className:"text-muted-foreground max-w-md text-sm",children:l}):null,r?(0,t.jsx)("div",{className:"mt-2",children:r}):null]})}e.s(["EmptyState",()=>s],7729),e.s([],54793)},956,e=>{"use strict";var t=e.i(20314),a=e.i(79054),s=e.i(31777);let l=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)("div",{ref:l,className:(0,s.cn)("bg-card text-card-foreground rounded-xl border shadow",e),...a}));l.displayName="Card";let r=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)("div",{ref:l,className:(0,s.cn)("flex flex-col space-y-1.5 p-6",e),...a}));r.displayName="CardHeader";let i=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)("div",{ref:l,className:(0,s.cn)("leading-none font-semibold tracking-tight",e),...a}));i.displayName="CardTitle";let n=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)("div",{ref:l,className:(0,s.cn)("text-muted-foreground text-sm",e),...a}));n.displayName="CardDescription";let o=a.forwardRef(({className:e,...a},l)=>(0,t.jsx)("div",{ref:l,className:(0,s.cn)("p-6 pt-0",e),...a}));o.displayName="CardContent",a.forwardRef(({className:e,...a},l)=>(0,t.jsx)("div",{ref:l,className:(0,s.cn)("flex items-center p-6 pt-0",e),...a})).displayName="CardFooter",e.s(["Card",()=>l,"CardContent",()=>o,"CardDescription",()=>n,"CardHeader",()=>r,"CardTitle",()=>i])},38752,e=>{"use strict";var t=e.i(20314);e.i(1650);var a=e.i(11495),s=e.i(45811),l=e.i(81846),r=e.i(25235),i=e.i(19933);function n({skill:e,onClose:n}){return(0,t.jsx)(a.BaseDrawer,{open:null!==e,onClose:n,size:"sm",modal:!0,"data-testid":"skill-detail-drawer",header:e?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.DrawerTitle,{children:e.displayName}),(0,t.jsx)(s.DrawerDescription,{children:e.name})]}):void 0,children:e?(0,t.jsxs)("div",{className:"px-4 pb-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground text-sm",children:e.description}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(l.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),(0,t.jsx)(l.Badge,{variant:"outline",children:e.category}),e.context?(0,t.jsx)(l.Badge,{variant:"outline",children:e.context}):null]}),e.allowedTools?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Allowed Tools"}),(0,t.jsx)("p",{className:"text-muted-foreground mt-1 text-sm",children:e.allowedTools})]})]}):null,e.resources.length>0?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Resources"}),(0,t.jsx)("ul",{className:"mt-2 space-y-1.5",children:e.resources.map(e=>(0,t.jsxs)("li",{className:"text-muted-foreground flex items-center gap-2 text-sm",children:[(0,t.jsx)(i.FolderOpen,{className:"size-3.5 shrink-0"}),(0,t.jsxs)("span",{children:[e.name,"/ — ",e.fileCount," ",1===e.fileCount?"file":"files"]})]},e.name))})]})]}):null,e.body?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.Separator,{className:"my-4"}),(0,t.jsx)("pre",{className:"text-muted-foreground text-sm leading-relaxed whitespace-pre-wrap",children:e.body})]}):null]}):null})}e.s(["SkillDetailDrawer",()=>n])},16919,e=>{"use strict";var t=e.i(20314),a=e.i(79054);let s=(0,e.i(3645).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);var l=e.i(12103),r=e.i(98127),i=e.i(35364),n=e.i(31777);function o({title:e,description:a,children:s,className:l}){return(0,t.jsxs)("header",{className:(0,n.cn)("flex items-center justify-between gap-4",l),children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:e}),a?(0,t.jsx)("p",{className:"text-muted-foreground",children:a}):null]}),s?(0,t.jsx)("div",{"data-slot":"actions",children:s}):null]})}e.i(54793);var d=e.i(7729),c=e.i(956),u=e.i(81846),m=e.i(19933);function x({skill:e,onSelect:a}){return(0,t.jsxs)(c.Card,{className:"hover:border-primary/50 cursor-pointer transition-colors",role:"button",tabIndex:0,onClick:()=>a(e),onKeyDown:t=>{("Enter"===t.key||" "===t.key)&&(t.preventDefault(),a(e))},"data-testid":`skill-card-${e.name}`,children:[(0,t.jsxs)(c.CardHeader,{className:"pb-3",children:[(0,t.jsx)(c.CardTitle,{className:"text-base",children:e.displayName}),(0,t.jsx)("p",{className:"text-muted-foreground font-mono text-xs",children:e.name})]}),(0,t.jsxs)(c.CardContent,{className:"space-y-3",children:[(0,t.jsx)("p",{className:"text-muted-foreground line-clamp-2 text-sm",children:e.description}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,t.jsx)(u.Badge,{variant:"project"===e.source?"secondary":"outline",children:"project"===e.source?"Project":"Global"}),e.context?(0,t.jsx)(u.Badge,{variant:"outline",children:e.context}):null,e.allowedTools?(0,t.jsx)(u.Badge,{variant:"outline",children:"Tools"}):null,e.resources.length>0?(0,t.jsxs)("span",{className:"text-muted-foreground inline-flex items-center gap-1 text-xs",children:[(0,t.jsx)(m.FolderOpen,{className:"size-3"}),e.resources.length," ",1===e.resources.length?"resource":"resources"]}):null]})]})]})}let f=["Workflow","Code Generation","Analysis","Reference"];function p({skills:e,onSkillSelect:a}){let s=function(e){let t=new Map;for(let a of e){let e=t.get(a.category)??[];e.push(a),t.set(a.category,e)}return t}(e);return(0,t.jsx)("div",{className:"space-y-8",children:f.map(e=>{let l=s.get(e);return l&&0!==l.length?(0,t.jsxs)("section",{children:[(0,t.jsxs)("h2",{className:"mb-4 text-lg font-semibold",children:[e," ",(0,t.jsxs)("span",{className:"text-muted-foreground text-sm font-normal",children:["(",l.length,")"]})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:l.map(e=>(0,t.jsx)(x,{skill:e,onSelect:a},e.name))})]},e):null})})}let g=[{label:"All",value:null},{label:"Workflow",value:"Workflow"},{label:"Code Generation",value:"Code Generation"},{label:"Analysis",value:"Analysis"},{label:"Reference",value:"Reference"}];function h({activeCategory:e,onCategoryChange:a,counts:s}){return(0,t.jsx)("div",{className:"flex flex-wrap gap-2",role:"group","aria-label":"Filter by category",children:g.map(({label:l,value:r})=>(0,t.jsxs)(i.Button,{variant:e===r?"default":"outline",size:"sm",onClick:()=>a(r),children:[l,s&&r?(0,t.jsxs)("span",{className:"ml-1 text-xs opacity-70",children:["(",s[r],")"]}):null]},l))})}var j=e.i(38752);function y({skills:e}){let[n,c]=(0,a.useState)(""),[u,m]=(0,a.useState)(null),[x,f]=(0,a.useState)(null),g=(0,a.useMemo)(()=>(function(e){let t={Workflow:0,"Code Generation":0,Analysis:0,Reference:0};for(let a of e)t[a.category]++;return t})(e),[e]),y=(0,a.useMemo)(()=>{let t=n.toLowerCase();return e.filter(e=>{if(u&&e.category!==u)return!1;if(t){let a=e.name.toLowerCase().includes(t),s=e.description.toLowerCase().includes(t);if(!a&&!s)return!1}return!0})},[e,n,u]);return 0===e.length?(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(o,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,t.jsx)(d.EmptyState,{icon:(0,t.jsx)(l.Puzzle,{className:"size-10"}),title:"No skills found",description:"No Claude Code skills are installed. Add skills to .claude/skills/ to get started."})]}):(0,t.jsxs)("div",{className:"flex flex-col gap-6 p-6",children:[(0,t.jsx)(o,{title:"Skills",description:"Claude Code skills installed in this project"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(s,{className:"text-muted-foreground absolute top-1/2 left-3 size-4 -translate-y-1/2"}),(0,t.jsx)(r.Input,{placeholder:"Search skills...",value:n,onChange:e=>c(e.target.value),className:"pl-9"})]}),(0,t.jsx)(h,{activeCategory:u,onCategoryChange:m,counts:g}),y.length>0?(0,t.jsx)(p,{skills:y,onSkillSelect:f}):(0,t.jsx)(d.EmptyState,{icon:(0,t.jsx)(s,{className:"size-10"}),title:"No matching skills",description:"No skills match your current search and filter criteria.",action:(0,t.jsx)(i.Button,{variant:"outline",onClick:()=>{c(""),m(null)},children:"Clear filters"})}),(0,t.jsx)(j.SkillDetailDrawer,{skill:x,onClose:()=>f(null)})]})}e.s(["SkillsPageClient",()=>y],16919)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24042,64970,e=>{"use strict";var t=e.i(3645);let n=(0,t.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>n],24042);let r=(0,t.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",()=>r],64970)},81803,72714,17466,99348,e=>{"use strict";var t=e.i(20314),n=e.i(83428),r=e.i(51251),a=e.i(31777),o=e.i(35364),l=e.i(8361);function i({label:e,onClick:i,loading:u,error:s,icon:d,iconOnly:c=!1,variant:f="outline",size:p="sm"}){let m=(0,l.useSoundAction)("click");return(0,t.jsxs)(o.Button,{variant:f,size:p,"aria-label":e,disabled:u,onClick:()=>{m.play(),i()},className:(0,a.cn)("gap-1.5",s&&"text-destructive hover:text-destructive",!s&&c&&"ghost"===f&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[u?(0,t.jsx)(n.Loader2,{className:"size-4 animate-spin"}):s?(0,t.jsx)(r.CircleAlert,{className:"size-4"}):(0,t.jsx)(d,{className:"size-4"}),c?null:e]})}e.s(["ActionButton",()=>i],72714),e.s([],81803);var u=e.i(79054),s=e.i(30702),d=e.i(38573),c=e.i(17406),f=e.i(81846),p=e.i(2287),m=e.i(21023);let g=(0,m.createServerReference)("40dad5cc331fc3640e29c5f4dd72e04666e2d924c1",m.callServer,void 0,m.findSourceMapURL,"getDeploymentLogs");function h({open:e,onOpenChange:n,targetId:r}){let{logs:a,isConnected:o}=function(e){let[t,n]=(0,u.useState)([]),[r,a]=(0,u.useState)(!1),o=(0,u.useRef)(null),l=(0,u.useCallback)(()=>{o.current&&(o.current.close(),o.current=null),a(!1)},[]);return(0,u.useEffect)(()=>{if(!e){n([]),a(!1);return}g(e).then(e=>{e&&n(e)}).catch(()=>{});let t=new EventSource(`/api/deployment-logs?targetId=${e}`);return o.current=t,t.onopen=()=>{a(!0)},t.addEventListener("log",e=>{let t=JSON.parse(e.data);n(e=>[...e,t])}),t.onerror=()=>{a(!1)},()=>{t.close(),o.current=null}},[e,l]),{logs:t,isConnected:r}}(e?r:null);return(0,t.jsx)(v,{open:e,onOpenChange:n,logs:a,isConnected:o})}function v({open:e,onOpenChange:n,logs:r,isConnected:a}){let o=(0,u.useRef)(null),l=(0,u.useRef)(!0),i=(0,u.useCallback)(()=>{let e=o.current;e&&(l.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,u.useEffect)(()=>{l.current&&o.current&&(o.current.scrollTop=o.current.scrollHeight)},[r]),(0,t.jsx)(p.Dialog,{open:e,onOpenChange:n,children:(0,t.jsxs)(p.DialogContent,{className:"flex h-[calc(100vh-48px)] max-h-[calc(100vh-48px)] w-full max-w-[calc(100vw-48px)] flex-col gap-0 bg-zinc-950 p-0 text-zinc-100 sm:rounded-lg","aria-describedby":void 0,children:[(0,t.jsxs)(p.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,t.jsx)(p.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 pr-8",children:[(0,t.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${a?"bg-green-500":"bg-zinc-500"}`}),(0,t.jsx)("span",{className:"text-xs text-zinc-400",children:a?"Connected":"Disconnected"})]})]}),(0,t.jsxs)("div",{ref:o,onScroll:i,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===r.length?(0,t.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):r.map(e=>(0,t.jsx)(w,{entry:e},`${e.timestamp}-${e.stream}-${e.line}`)),!a&&r.length>0&&(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function w({entry:e}){return(0,t.jsx)("div",{"data-stream":e.stream,className:"stderr"===e.stream?"text-red-400":"text-zinc-200",children:(0,t.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.line})})}function y({status:e,url:r,targetId:a}){let[o,l]=(0,u.useState)(!1),i=a&&(e===c.DeploymentState.Booting||e===c.DeploymentState.Ready);switch(e){case c.DeploymentState.Booting:return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(f.Badge,{className:"border-transparent bg-blue-50 text-blue-700 hover:bg-blue-50",children:[(0,t.jsx)(n.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}),"Starting...",i?(0,t.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-blue-100",onClick:e=>{e.stopPropagation(),l(!0)},children:(0,t.jsx)(d.Terminal,{className:"h-3 w-3"})}):null]}),i?(0,t.jsx)(h,{open:o,onOpenChange:l,targetId:a}):null]});case c.DeploymentState.Ready:return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(f.Badge,{className:"border-transparent bg-green-50 text-green-700 hover:bg-green-50",children:[(0,t.jsx)("span",{className:"mr-1 inline-block h-2 w-2 rounded-full bg-green-500"}),r?(0,t.jsxs)("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 hover:underline",onClick:e=>e.stopPropagation(),children:[r,(0,t.jsx)(s.ExternalLink,{className:"h-3 w-3"})]}):"Ready",i?(0,t.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-green-100",onClick:e=>{e.stopPropagation(),l(!0)},children:(0,t.jsx)(d.Terminal,{className:"h-3 w-3"})}):null]}),i?(0,t.jsx)(h,{open:o,onOpenChange:l,targetId:a}):null]});default:return null}}e.s(["DeploymentStatusBadge",()=>y],17466),e.s([],99348)},8537,e=>{"use strict";var t=e.i(44172),n=e.i(79054),r=e.i(21023);let a=(0,r.createServerReference)("401003740d38a57720e48dede87f92a8f430c05202",r.callServer,void 0,r.findSourceMapURL,"deployFeature"),o=(0,r.createServerReference)("4086254079db512c911c07e746d0d55ebd8f59be32",r.callServer,void 0,r.findSourceMapURL,"deployRepository"),l=(0,r.createServerReference)("40724af94b556fc164bd94763576d339c2476ce847",r.callServer,void 0,r.findSourceMapURL,"stopDeployment"),i=(0,r.createServerReference)("4048d441046cd4affe52b352eb3b640b51334c6e0f",r.callServer,void 0,r.findSourceMapURL,"getDeploymentStatus"),u="[useDeployAction]",s=!!t.default.env.NEXT_PUBLIC_DEBUG,d=()=>void 0,c={info:s?(...e)=>console.info(u,...e):d,debug:s?(...e)=>console.debug(u,...e):d,warn:(...e)=>console.warn(u,...e),error:(...e)=>console.error(u,...e)};function f(e){let[t,r]=(0,n.useState)(!1),[u,s]=(0,n.useState)(!1),[d,f]=(0,n.useState)(null),[p,m]=(0,n.useState)(null),[g,h]=(0,n.useState)(null),v=(0,n.useRef)(null),w=(0,n.useRef)(null),y=(0,n.useRef)(!0);(0,n.useEffect)(()=>(y.current=!0,()=>{y.current=!1}),[]),(0,n.useEffect)(()=>()=>{v.current&&clearTimeout(v.current),w.current&&clearInterval(w.current)},[]);let b=(0,n.useCallback)(()=>{w.current&&(c.debug("stopping polling"),clearInterval(w.current),w.current=null)},[]),x=(0,n.useCallback)(e=>{b(),c.debug(`starting polling for "${e}" every 3000ms`),w.current=setInterval(async()=>{if(!y.current)return void b();let t=await i(e);y.current&&(t&&"Stopped"!==t.state?(t.state!==p&&c.info(`poll state changed: ${p} → ${t.state}, url=${t.url}`),m(t.state),h(t.url)):(c.info(`poll result: ${t?`state=${t.state}`:"null (deployment gone)"} — stopping poll`),m(null),h(null),b()))},3e3)},[b,p]),R=(0,n.useCallback)(async()=>{if(!e)return void c.warn("deploy() called but input is null — no-op");if(t)return void c.warn("deploy() called but already loading — no-op");c.info(`deploy() — targetType="${e.targetType}", targetId="${e.targetId}", repositoryPath="${e.repositoryPath}"`),v.current&&clearTimeout(v.current),r(!0),f(null);try{let t="feature"===e.targetType?await a(e.targetId):await o(e.repositoryPath);if(c.info("server action result:",t),!y.current)return void c.warn("component unmounted after deploy — discarding result");if(t.success)c.info(`deploy succeeded — initial state=${t.state}, starting polling`),m(t.state??null),h(null),x(e.targetId);else{let e=t.error??"An unexpected error occurred";c.error(`deploy failed: ${e}`),f(e),v.current=setTimeout(()=>f(null),5e3)}}catch(t){if(!y.current)return;let e=t instanceof Error?t.message:"An unexpected error occurred";c.error(`deploy threw exception: ${e}`,t),f(e),v.current=setTimeout(()=>f(null),5e3)}finally{y.current&&r(!1)}},[e,t,x]),T=(0,n.useCallback)(async()=>{if(e&&!u){c.info(`stop() — targetId="${e.targetId}"`),s(!0);try{let t=await l(e.targetId);if(c.info("stop result:",t),!y.current)return;t.success&&(b(),m(null),h(null))}catch(e){c.warn("stop error (non-critical):",e)}finally{y.current&&s(!1)}}},[e,u,b]);return{deploy:R,stop:T,deployLoading:t,stopLoading:u,deployError:d,status:p,url:g}}e.s(["useDeployAction",()=>f],8537)},45811,e=>{"use strict";let t;var n=e.i(20314),r=e.i(48249),a=e.i(567),o=e.i(79054);let l=o.default.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),i=()=>{let e=o.default.useContext(l);if(!e)throw Error("useDrawerContext must be used within a Drawer.Root");return e};function u(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function s(){return d(/^iPhone/)||d(/^iPad/)||d(/^Mac/)&&navigator.maxTouchPoints>1}function d(e){return"u">typeof window&&null!=window.navigator?e.test(window.navigator.platform):void 0}!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}("[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(\n[data-state=closed]\n){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}");let c="u">typeof window?o.useLayoutEffect:o.useEffect;function f(...e){return(...t)=>{for(let n of e)"function"==typeof n&&n(...t)}}let p="u">typeof document&&window.visualViewport;function m(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function g(e){for(m(e)&&(e=e.parentElement);e&&!m(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}let h=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),v=0;function w(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function y(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let t=g(e);if(t!==document.documentElement&&t!==document.body&&t!==e){let n=t.getBoundingClientRect().top,r=e.getBoundingClientRect().top;e.getBoundingClientRect().bottom>t.getBoundingClientRect().bottom+24&&(t.scrollTop+=r-n)}e=t.parentElement}}function b(e){return e instanceof HTMLInputElement&&!h.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function x(...e){return o.useCallback(function(...e){return t=>e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}(...e),e)}let R=new WeakMap;function T(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([t,n])=>{t.startsWith("--")?e.style.setProperty(t,n):(r[t]=e.style[t],e.style[t]=n)}),n||R.set(e,r)}let C=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function j(e,t){if(!e)return null;let n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform,a=r.match(/^matrix3d\((.+)\)$/);return a?parseFloat(a[1].split(", ")[C(t)?13:12]):(a=r.match(/^matrix\((.+)\)$/))?parseFloat(a[1].split(", ")[C(t)?5:4]):null}function D(e,t){if(!e)return()=>{};let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}let E=[.32,.72,0,1],S="vaul-dragging";function $(e){let t=o.default.useRef(e);return o.default.useEffect(()=>{t.current=e}),o.default.useMemo(()=>(...e)=>null==t.current?void 0:t.current.call(t,...e),[])}function N({prop:e,defaultProp:t,onChange:n=()=>{}}){let[r,a]=function({defaultProp:e,onChange:t}){let n=o.default.useState(e),[r]=n,a=o.default.useRef(r),l=$(t);return o.default.useEffect(()=>{a.current!==r&&(l(r),a.current=r)},[r,a,l]),n}({defaultProp:t,onChange:n}),l=void 0!==e,i=l?e:r,u=$(n);return[i,o.default.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&u(n)}else a(t)},[l,e,a,u])]}let k=()=>()=>{},P=null;function M({open:e,onOpenChange:n,children:r,onDrag:i,onRelease:d,snapPoints:m,shouldScaleBackground:h=!1,setBackgroundColorOnScale:x=!0,closeThreshold:D=.25,scrollLockTimeout:$=100,dismissible:k=!0,handleOnly:M=!1,fadeFromIndex:O=m&&m.length-1,activeSnapPoint:z,setActiveSnapPoint:B,fixed:L,modal:F=!0,onClose:I,nested:A,noBodyStyles:H=!1,direction:W="bottom",defaultOpen:q=!1,disablePreventScroll:U=!0,snapToSequentialPoint:Y=!1,preventScrollRestoration:X=!1,repositionInputs:V=!0,onAnimationEnd:_,container:K,autoFocus:G=!1}){var J,Q;let[Z=!1,ee]=N({defaultProp:q,prop:e,onChange:e=>{null==n||n(e),e||A||ek(),setTimeout(()=>{null==_||_(e)},500),e&&!F&&"u">typeof window&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),e||(document.body.style.pointerEvents="auto")}}),[et,en]=o.default.useState(!1),[er,ea]=o.default.useState(!1),[eo,el]=o.default.useState(!1),ei=o.default.useRef(null),eu=o.default.useRef(null),es=o.default.useRef(null),ed=o.default.useRef(null),ec=o.default.useRef(null),ef=o.default.useRef(!1),ep=o.default.useRef(null),em=o.default.useRef(0),eg=o.default.useRef(!1),eh=o.default.useRef(!q),ev=o.default.useRef(0),ew=o.default.useRef(null),ey=o.default.useRef((null==(J=ew.current)?void 0:J.getBoundingClientRect().height)||0),eb=o.default.useRef((null==(Q=ew.current)?void 0:Q.getBoundingClientRect().width)||0),ex=o.default.useRef(0),eR=o.default.useCallback(e=>{m&&e===eE.length-1&&(eu.current=new Date)},[]),{activeSnapPoint:eT,activeSnapPointIndex:eC,setActiveSnapPoint:ej,onRelease:eD,snapPointsOffset:eE,onDrag:eS,shouldFade:e$,getPercentageDragged:eN}=function({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:r,overlayRef:a,fadeFromIndex:l,onSnapPointChange:i,direction:u="bottom",container:s,snapToSequentialPoint:d}){let[c,f]=N({prop:e,defaultProp:null==n?void 0:n[0],onChange:t}),[p,m]=o.default.useState("u">typeof window?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);o.default.useEffect(()=>{function e(){m({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let g=o.default.useMemo(()=>c===(null==n?void 0:n[n.length-1])||null,[n,c]),h=o.default.useMemo(()=>{var e;return null!=(e=null==n?void 0:n.findIndex(e=>e===c))?e:null},[n,c]),v=n&&n.length>0&&(l||0===l)&&!Number.isNaN(l)&&n[l]===c||!n,w=o.default.useMemo(()=>{var e;let t=s?{width:s.getBoundingClientRect().width,height:s.getBoundingClientRect().height}:"u">typeof window?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};return null!=(e=null==n?void 0:n.map(e=>{let n="string"==typeof e,r=0;if(n&&(r=parseInt(e,10)),C(u)){let a=n?r:p?e*t.height:0;return p?"bottom"===u?t.height-a:-t.height+a:a}let a=n?r:p?e*t.width:0;return p?"right"===u?t.width-a:-t.width+a:a}))?e:[]},[n,p,s]),y=o.default.useMemo(()=>null!==h?null==w?void 0:w[h]:null,[w,h]),b=o.default.useCallback(e=>{var t;let o=null!=(t=null==w?void 0:w.findIndex(t=>t===e))?t:null;i(o),T(r.current,{transition:`transform 0.5s cubic-bezier(${E.join(",")})`,transform:C(u)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`}),w&&o!==w.length-1&&void 0!==l&&o!==l&&o<l?T(a.current,{transition:`opacity 0.5s cubic-bezier(${E.join(",")})`,opacity:"0"}):T(a.current,{transition:`opacity 0.5s cubic-bezier(${E.join(",")})`,opacity:"1"}),f(null==n?void 0:n[Math.max(o,0)])},[r.current,n,w,l,a,f]);return o.default.useEffect(()=>{if(c||e){var t;let r=null!=(t=null==n?void 0:n.findIndex(t=>t===e||t===c))?t:-1;w&&-1!==r&&"number"==typeof w[r]&&b(w[r])}},[c,e,n,w,b]),{isLastSnapPoint:g,activeSnapPoint:c,shouldFade:v,getPercentageDragged:function(e,t){if(!n||"number"!=typeof h||!w||void 0===l)return null;let r=h===l-1;if(h>=l&&t)return 0;if(r&&!t)return 1;if(!v&&!r)return null;let a=r?h+1:h-1,o=e/Math.abs(r?w[a]-w[a-1]:w[a+1]-w[a]);return r?1-o:o},setActiveSnapPoint:f,activeSnapPointIndex:h,onRelease:function({draggedDistance:e,closeDrawer:t,velocity:r,dismissible:o}){if(void 0===l)return;let i="bottom"===u||"right"===u?(null!=y?y:0)-e:(null!=y?y:0)+e,s=h===l-1,c=0===h,f=e>0;if(s&&T(a.current,{transition:`opacity 0.5s cubic-bezier(${E.join(",")})`}),!d&&r>2&&!f)return void(o?t():b(w[0]));if(!d&&r>2&&f&&w&&n)return void b(w[n.length-1]);let p=null==w?void 0:w.reduce((e,t)=>"number"!=typeof e||"number"!=typeof t?e:Math.abs(t-i)<Math.abs(e-i)?t:e),m=C(u)?window.innerHeight:window.innerWidth;if(r>.4&&Math.abs(e)<.4*m){let e=f?1:-1;return e>0&&g&&n?void b(w[n.length-1]):void(c&&e<0&&o&&t(),null===h||b(w[h+e]))}b(p)},onDrag:function({draggedDistance:e}){if(null===y)return;let t="bottom"===u||"right"===u?y-e:y+e;("bottom"===u||"right"===u)&&t<w[w.length-1]||("top"===u||"left"===u)&&t>w[w.length-1]||T(r.current,{transform:C(u)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},snapPointsOffset:w}}({snapPoints:m,activeSnapPointProp:z,setActiveSnapPointProp:B,drawerRef:ew,fadeFromIndex:O,overlayRef:ei,onSnapPointChange:eR,direction:W,container:K,snapToSequentialPoint:Y});!function(e={}){let{isDisabled:n}=e;c(()=>{if(!n){var e,r,a;let n,o,l,i,u,d,c;return 1==++v&&s()&&(l=0,i=window.pageXOffset,u=window.pageYOffset,d=f((e=document.documentElement,r="paddingRight",a=`${window.innerWidth-document.documentElement.clientWidth}px`,n=e.style[r],e.style[r]=a,()=>{e.style[r]=n})),window.scrollTo(0,0),c=f(w(document,"touchstart",e=>{((o=g(e.target))!==document.documentElement||o!==document.body)&&(l=e.changedTouches[0].pageY)},{passive:!1,capture:!0}),w(document,"touchmove",e=>{if(!o||o===document.documentElement||o===document.body)return void e.preventDefault();let t=e.changedTouches[0].pageY,n=o.scrollTop,r=o.scrollHeight-o.clientHeight;0!==r&&((n<=0&&t>l||n>=r&&t<l)&&e.preventDefault(),l=t)},{passive:!1,capture:!0}),w(document,"touchend",e=>{let t=e.target;b(t)&&t!==document.activeElement&&(e.preventDefault(),t.style.transform="translateY(-2000px)",t.focus(),requestAnimationFrame(()=>{t.style.transform=""}))},{passive:!1,capture:!0}),w(document,"focus",e=>{let t=e.target;b(t)&&(t.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{t.style.transform="",p&&(p.height<window.innerHeight?requestAnimationFrame(()=>{y(t)}):p.addEventListener("resize",()=>y(t),{once:!0}))}))},!0),w(window,"scroll",()=>{window.scrollTo(0,0)})),t=()=>{d(),c(),window.scrollTo(i,u)}),()=>{0==--v&&(null==t||t())}}},[n])}({isDisabled:!Z||er||!F||eo||!et||!V||!U});let{restorePositionSetting:ek}=function({isOpen:e,modal:t,nested:n,hasBeenOpened:r,preventScrollRestoration:a,noBodyStyles:l}){let[i,s]=o.default.useState(()=>"u">typeof window?window.location.href:""),d=o.default.useRef(0),c=o.default.useCallback(()=>{if(u()&&null===P&&e&&!l){P={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:e,innerHeight:t}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-d.current}px`,left:`${-e}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let e=t-window.innerHeight;e&&d.current>=t&&(document.body.style.top=`${-(d.current+e)}px`)}),300)}},[e]),f=o.default.useCallback(()=>{if(u()&&null!==P&&!l){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,P),window.requestAnimationFrame(()=>{a&&i!==window.location.href?s(window.location.href):window.scrollTo(t,e)}),P=null}},[i]);return o.default.useEffect(()=>{function e(){d.current=window.scrollY}return e(),window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),o.default.useEffect(()=>{if(t)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||f()}},[t,f]),o.default.useEffect(()=>{!n&&r&&(e?(window.matchMedia("(display-mode: standalone)").matches||c(),t||window.setTimeout(()=>{f()},500)):f())},[e,r,i,t,n,c,f]),{restorePositionSetting:f}}({isOpen:Z,modal:F,nested:null!=A&&A,hasBeenOpened:et,preventScrollRestoration:X,noBodyStyles:H});function eP(){return(window.innerWidth-26)/window.innerWidth}function eM(e,t){var n;let r=e,a=null==(n=window.getSelection())?void 0:n.toString(),o=ew.current?j(ew.current,W):null,l=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===W||"left"===W)return!0;if(eu.current&&l.getTime()-eu.current.getTime()<500)return!1;if(null!==o&&("bottom"===W?o>0:o<0))return!0;if(a&&a.length>0)return!1;if(ec.current&&l.getTime()-ec.current.getTime()<$&&0===o||t)return ec.current=l,!1;for(;r;){if(r.scrollHeight>r.clientHeight){if(0!==r.scrollTop)return ec.current=new Date,!1;if("dialog"===r.getAttribute("role"))break}r=r.parentNode}return!0}function eO(e){er&&ew.current&&(ew.current.classList.remove(S),ef.current=!1,ea(!1),ed.current=new Date),null==I||I(),e||ee(!1),setTimeout(()=>{m&&ej(m[0])},500)}function ez(){if(!ew.current)return;let e=document.querySelector("[data-vaul-drawer-wrapper]"),t=j(ew.current,W);T(ew.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${E.join(",")})`}),T(ei.current,{transition:`opacity 0.5s cubic-bezier(${E.join(",")})`,opacity:"1"}),h&&t&&t>0&&Z&&T(e,{borderRadius:"8px",overflow:"hidden",...C(W)?{transform:`scale(${eP()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${eP()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${E.join(",")})`},!0)}return o.default.useEffect(()=>{window.requestAnimationFrame(()=>{eh.current=!0})},[]),o.default.useEffect(()=>{var e;function t(){if(ew.current&&V&&(b(document.activeElement)||eg.current)){var e;let t=(null==(e=window.visualViewport)?void 0:e.height)||0,n=window.innerHeight,r=n-t,a=ew.current.getBoundingClientRect().height||0;ex.current||(ex.current=a);let o=ew.current.getBoundingClientRect().top;if(Math.abs(ev.current-r)>60&&(eg.current=!eg.current),m&&m.length>0&&eE&&eC&&(r+=eE[eC]||0),ev.current=r,a>t||eg.current){let e=ew.current.getBoundingClientRect().height,l=e;e>t&&(l=t-(a>.8*n?o:26)),L?ew.current.style.height=`${e-Math.max(r,0)}px`:ew.current.style.height=`${Math.max(l,t-o)}px`}else{let e;e=navigator.userAgent,"u">typeof window&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))||(ew.current.style.height=`${ex.current}px`)}m&&m.length>0&&!eg.current?ew.current.style.bottom="0px":ew.current.style.bottom=`${Math.max(r,0)}px`}}return null==(e=window.visualViewport)||e.addEventListener("resize",t),()=>{var e;return null==(e=window.visualViewport)?void 0:e.removeEventListener("resize",t)}},[eC,m,eE]),o.default.useEffect(()=>(Z&&(T(document.documentElement,{scrollBehavior:"auto"}),eu.current=new Date),()=>{!function(e,t){if(!e||!(e instanceof HTMLElement))return;let n=R.get(e);n&&(e.style[t]=n[t])}(document.documentElement,"scrollBehavior")}),[Z]),o.default.useEffect(()=>{F||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[F]),o.default.createElement(a.Root,{defaultOpen:q,onOpenChange:e=>{(k||e)&&(e?en(!0):eO(!0),ee(e))},open:Z},o.default.createElement(l.Provider,{value:{activeSnapPoint:eT,snapPoints:m,setActiveSnapPoint:ej,drawerRef:ew,overlayRef:ei,onOpenChange:n,onPress:function(e){var t,n;!k&&!m||(!ew.current||ew.current.contains(e.target))&&(ey.current=(null==(t=ew.current)?void 0:t.getBoundingClientRect().height)||0,eb.current=(null==(n=ew.current)?void 0:n.getBoundingClientRect().width)||0,ea(!0),es.current=new Date,s()&&window.addEventListener("touchend",()=>ef.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),em.current=C(W)?e.pageY:e.pageX)},onRelease:function(e){var t,n;if(!er||!ew.current)return;ew.current.classList.remove(S),ef.current=!1,ea(!1),ed.current=new Date;let r=j(ew.current,W);if(!e||!eM(e.target,!1)||!r||Number.isNaN(r)||null===es.current)return;let a=ed.current.getTime()-es.current.getTime(),o=em.current-(C(W)?e.pageY:e.pageX),l=Math.abs(o)/a;if(l>.05&&(el(!0),setTimeout(()=>{el(!1)},200)),m){eD({draggedDistance:o*("bottom"===W||"right"===W?1:-1),closeDrawer:eO,velocity:l,dismissible:k}),null==d||d(e,!0);return}if("bottom"===W||"right"===W?o>0:o<0){ez(),null==d||d(e,!0);return}if(l>.4){eO(),null==d||d(e,!1);return}let i=Math.min(null!=(t=ew.current.getBoundingClientRect().height)?t:0,window.innerHeight),u=Math.min(null!=(n=ew.current.getBoundingClientRect().width)?n:0,window.innerWidth);if(Math.abs(r)>=("left"===W||"right"===W?u:i)*D){eO(),null==d||d(e,!1);return}null==d||d(e,!0),ez()},onDrag:function(e){if(ew.current&&er){let t="bottom"===W||"right"===W?1:-1,n=(em.current-(C(W)?e.pageY:e.pageX))*t,r=n>0,a=m&&!k&&!r;if(a&&0===eC)return;let o=Math.abs(n),l=document.querySelector("[data-vaul-drawer-wrapper]"),u=o/("bottom"===W||"top"===W?ey.current:eb.current),s=eN(o,r);if(null!==s&&(u=s),a&&u>=1||!ef.current&&!eM(e.target,r))return;if(ew.current.classList.add(S),ef.current=!0,T(ew.current,{transition:"none"}),T(ei.current,{transition:"none"}),m&&eS({draggedDistance:n}),r&&!m){let e=Math.min(-(8*(Math.log(n+1)-2)*1),0)*t;T(ew.current,{transform:C(W)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`});return}let d=1-u;if((e$||O&&eC===O-1)&&(null==i||i(e,u),T(ei.current,{opacity:`${d}`,transition:"none"},!0)),l&&ei.current&&h){let e=Math.min(eP()+u*(1-eP()),1),t=8-8*u,n=Math.max(0,14-14*u);T(l,{borderRadius:`${t}px`,transform:C(W)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!m){let e=o*t;T(ew.current,{transform:C(W)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}},dismissible:k,shouldAnimate:eh,handleOnly:M,isOpen:Z,isDragging:er,shouldFade:e$,closeDrawer:eO,onNestedDrag:function(e,t){if(t<0)return;let n=(window.innerWidth-16)/window.innerWidth,r=n+t*(1-n),a=-16+16*t;T(ew.current,{transform:C(W)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(e){let t=e?(window.innerWidth-16)/window.innerWidth:1,n=e?-16:0;ep.current&&window.clearTimeout(ep.current),T(ew.current,{transition:`transform 0.5s cubic-bezier(${E.join(",")})`,transform:C(W)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&ew.current&&(ep.current=setTimeout(()=>{let e=j(ew.current,W);T(ew.current,{transition:"none",transform:C(W)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))},onNestedRelease:function(e,t){let n=C(W)?window.innerHeight:window.innerWidth,r=t?(n-16)/n:1,a=t?-16:0;t&&T(ew.current,{transition:`transform 0.5s cubic-bezier(${E.join(",")})`,transform:C(W)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:eg,modal:F,snapPointsOffset:eE,activeSnapPointIndex:eC,direction:W,shouldScaleBackground:h,setBackgroundColorOnScale:x,noBodyStyles:H,container:K,autoFocus:G}},r))}let O=o.default.forwardRef(function({...e},t){let{overlayRef:n,snapPoints:r,onRelease:l,shouldFade:u,isOpen:s,modal:d,shouldAnimate:c}=i(),f=x(t,n),p=r&&r.length>0;if(!d)return null;let m=o.default.useCallback(e=>l(e),[l]);return o.default.createElement(a.Overlay,{onMouseUp:m,ref:f,"data-vaul-overlay":"","data-vaul-snap-points":s&&p?"true":"false","data-vaul-snap-points-overlay":s&&u?"true":"false","data-vaul-animate":(null==c?void 0:c.current)?"true":"false",...e})});O.displayName="Drawer.Overlay";let z=o.default.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...r},l){let{drawerRef:u,onPress:s,onRelease:d,onDrag:c,keyboardIsOpen:f,snapPointsOffset:p,activeSnapPointIndex:m,modal:g,isOpen:h,direction:v,snapPoints:w,container:y,handleOnly:b,shouldAnimate:R,autoFocus:T}=i(),[j,S]=o.default.useState(!1),$=x(l,u),N=o.default.useRef(null),P=o.default.useRef(null),M=o.default.useRef(!1),O=w&&w.length>0;function z(e){N.current=null,M.current=!1,d(e)}return!function(){let{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:r,noBodyStyles:a}=i(),l=o.default.useRef(null),u=(0,o.useMemo)(()=>document.body.style.backgroundColor,[]);function s(){return(window.innerWidth-26)/window.innerWidth}o.default.useEffect(()=>{if(t&&n){l.current&&clearTimeout(l.current);let t=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!t)return;!function(...e){}(r&&!a?D(document.body,{background:"black"}):k,D(t,{transformOrigin:C(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${E.join(",")})`}));let n=D(t,{borderRadius:"8px",overflow:"hidden",...C(e)?{transform:`scale(${s()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${s()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{n(),l.current=window.setTimeout(()=>{u?document.body.style.background=u:document.body.style.removeProperty("background")},500)}}},[t,n,u])}(),o.default.useEffect(()=>{O&&window.requestAnimationFrame(()=>{S(!0)})},[]),o.default.createElement(a.Content,{"data-vaul-drawer-direction":v,"data-vaul-drawer":"","data-vaul-delayed-snap-points":j?"true":"false","data-vaul-snap-points":h&&O?"true":"false","data-vaul-custom-container":y?"true":"false","data-vaul-animate":(null==R?void 0:R.current)?"true":"false",...r,ref:$,style:p&&p.length>0?{"--snap-point-height":`${p[null!=m?m:0]}px`,...t}:t,onPointerDown:e=>{b||(null==r.onPointerDown||r.onPointerDown.call(r,e),N.current={x:e.pageX,y:e.pageY},s(e))},onOpenAutoFocus:e=>{null==n||n(e),T||e.preventDefault()},onPointerDownOutside:t=>{(null==e||e(t),!g||t.defaultPrevented)?t.preventDefault():f.current&&(f.current=!1)},onFocusOutside:e=>{if(!g)return void e.preventDefault()},onPointerMove:e=>{if(P.current=e,b||(null==r.onPointerMove||r.onPointerMove.call(r,e),!N.current))return;let t=e.pageY-N.current.y,n=e.pageX-N.current.x,a="touch"===e.pointerType?10:2;((e,t,n=0)=>{if(M.current)return!0;let r=Math.abs(e.y),a=Math.abs(e.x),o=a>r,l=["bottom","right"].includes(t)?1:-1;if("left"===t||"right"===t){if(!(e.x*l<0)&&a>=0&&a<=n)return o}else if(!(e.y*l<0)&&r>=0&&r<=n)return!o;return M.current=!0,!0})({x:n,y:t},v,a)?c(e):(Math.abs(n)>a||Math.abs(t)>a)&&(N.current=null)},onPointerUp:e=>{null==r.onPointerUp||r.onPointerUp.call(r,e),N.current=null,M.current=!1,d(e)},onPointerOut:e=>{null==r.onPointerOut||r.onPointerOut.call(r,e),z(P.current)},onContextMenu:e=>{null==r.onContextMenu||r.onContextMenu.call(r,e),P.current&&z(P.current)}})});z.displayName="Drawer.Content";let B=o.default.forwardRef(function({preventCycle:e=!1,children:t,...n},r){let{closeDrawer:a,isDragging:l,snapPoints:u,activeSnapPoint:s,setActiveSnapPoint:d,dismissible:c,handleOnly:f,isOpen:p,onPress:m,onDrag:g}=i(),h=o.default.useRef(null),v=o.default.useRef(!1);function w(){h.current&&window.clearTimeout(h.current),v.current=!1}return o.default.createElement("div",{onClick:function(){v.current?w():window.setTimeout(()=>{!function(){if(l||e||v.current)return w();if(w(),!u||0===u.length){c||a();return}if(s===u[u.length-1]&&c)return a();let t=u.findIndex(e=>e===s);-1===t||d(u[t+1])}()},120)},onPointerCancel:w,onPointerDown:e=>{f&&m(e),h.current=window.setTimeout(()=>{v.current=!0},250)},onPointerMove:e=>{f&&g(e)},ref:r,"data-vaul-drawer-visible":p?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},o.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});B.displayName="Drawer.Handle";let L={Root:M,NestedRoot:function({onDrag:e,onOpenChange:t,open:n,...r}){let{onNestedDrag:a,onNestedOpenChange:l,onNestedRelease:u}=i();if(!a)throw Error("Drawer.NestedRoot must be placed in another drawer");return o.default.createElement(M,{nested:!0,open:n,onClose:()=>{l(!1)},onDrag:(t,n)=>{a(t,n),null==e||e(t,n)},onOpenChange:e=>{e&&l(e),null==t||t(e)},onRelease:u,...r})},Content:z,Overlay:O,Trigger:a.Trigger,Portal:function(e){let t=i(),{container:n=t.container,...r}=e;return o.default.createElement(a.Portal,{container:n,...r})},Handle:B,Close:a.Close,Title:a.Title,Description:a.Description};var F=e.i(31777);function I({...e}){return(0,n.jsx)(L.Root,{"data-slot":"drawer",...e})}function A({...e}){return(0,n.jsx)(L.Portal,{"data-slot":"drawer-portal",...e})}function H({className:e,...t}){return(0,n.jsx)(L.Overlay,{"data-slot":"drawer-overlay",className:(0,F.cn)("fixed inset-0 z-50 bg-black/50",e),...t})}function W({className:e,children:t,direction:a="bottom",showCloseButton:o=!0,...l}){return(0,n.jsx)(A,{children:(0,n.jsxs)(L.Content,{"data-slot":"drawer-content",className:(0,F.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===a&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===a&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===a&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===a&&"inset-y-0 left-0 h-full w-3/4 border-r",e),style:{"--initial-transform":"right"===a?"calc(100% + 8px)":"left"===a||"top"===a?"calc(-100% - 8px)":"calc(100% + 8px)",userSelect:"text",...l.style??{}},...l,children:[t,o?(0,n.jsxs)(L.Close,{className:"ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,n.jsx)(r.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function q({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-header",className:(0,F.cn)("flex flex-col gap-1.5 p-4",e),...t})}function U({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-footer",className:(0,F.cn)("mt-auto flex flex-col gap-2 p-4",e),...t})}function Y({className:e,...t}){return(0,n.jsx)(L.Title,{"data-slot":"drawer-title",className:(0,F.cn)("text-foreground font-semibold",e),...t})}function X({className:e,...t}){return(0,n.jsx)(L.Description,{"data-slot":"drawer-description",className:(0,F.cn)("text-muted-foreground text-sm",e),...t})}e.s(["Drawer",()=>I,"DrawerContent",()=>W,"DrawerDescription",()=>X,"DrawerFooter",()=>U,"DrawerHeader",()=>q,"DrawerOverlay",()=>H,"DrawerTitle",()=>Y],45811)},1650,11495,e=>{"use strict";var t=e.i(20314),n=e.i(79054),r=e.i(48249),a=e.i(24042),o=e.i(64970),l=e.i(94237),i=e.i(31777);e.i(81803);var u=e.i(72714);e.i(99348);var s=e.i(17466),d=e.i(45811),c=e.i(25235),f=e.i(2828),p=e.i(8537),m=e.i(63629);let g=(0,l.cva)("",{variants:{size:{sm:"w-96",md:"w-xl"}},defaultVariants:{size:"sm"}});function h({open:e,onClose:a,modal:o=!1,size:l,header:u,children:s,footer:f,className:p,"data-testid":h,deployTarget:w}){let y=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if(!e||o)return;let t=e=>{let t=e.target;!document.body.contains(t)||y.current?.contains(t)||t.closest('[data-no-drawer-close], [role="alertdialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]')||a()};return document.addEventListener("click",t),()=>document.removeEventListener("click",t)},[e,o,a]),(0,t.jsxs)(d.Drawer,{direction:"right",modal:o,handleOnly:!0,open:e,onOpenChange:e=>{e||a()},children:[o?(0,t.jsx)(d.DrawerOverlay,{}):null,(0,t.jsxs)(d.DrawerContent,{ref:y,direction:"right",showCloseButton:!1,className:(0,i.cn)(g({size:l}),p),"data-testid":h,onInteractOutside:e=>e.preventDefault(),children:[(0,t.jsxs)("button",{type:"button","aria-label":"Close",onClick:a,className:"ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":h?`${h}-close-button`:void 0,children:[(0,t.jsx)(r.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}),u?(0,t.jsx)(d.DrawerHeader,{className:"shrink-0",children:u}):null,u?(0,t.jsx)(c.Separator,{}):null,m.featureFlags.envDeploy&&w?(0,t.jsx)(v,{deployTarget:w}):null,(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:s}),f?(0,t.jsx)(d.DrawerFooter,{className:"shrink-0",children:f}):null]})]})}function v({deployTarget:e}){let n=(0,p.useDeployAction)(e),r="Booting"===n.status||"Ready"===n.status;return(0,t.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pb-3",children:[(0,t.jsx)(f.TooltipProvider,{children:(0,t.jsxs)(f.Tooltip,{children:[(0,t.jsx)(f.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(u.ActionButton,{label:r?"Stop Dev Server":"Start Dev Server",onClick:r?n.stop:n.deploy,loading:n.deployLoading||n.stopLoading,error:!!n.deployError,icon:r?o.Square:a.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,t.jsx)(f.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,t.jsx)(s.DeploymentStatusBadge,{status:n.status,url:n.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",()=>h],11495),e.s([],1650)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,24042,64970,e=>{"use strict";var t=e.i(3645);let n=(0,t.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);e.s(["Play",()=>n],24042);let r=(0,t.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);e.s(["Square",()=>r],64970)},81803,72714,17466,99348,e=>{"use strict";var t=e.i(20314),n=e.i(83428),r=e.i(51251),a=e.i(31777),o=e.i(35364),l=e.i(8361);function i({label:e,onClick:i,loading:u,error:s,icon:d,iconOnly:c=!1,variant:f="outline",size:p="sm"}){let m=(0,l.useSoundAction)("click");return(0,t.jsxs)(o.Button,{variant:f,size:p,"aria-label":e,disabled:u,onClick:()=>{m.play(),i()},className:(0,a.cn)("gap-1.5",s&&"text-destructive hover:text-destructive",!s&&c&&"ghost"===f&&"text-muted-foreground cursor-pointer rounded-full transition-colors hover:text-blue-500"),children:[u?(0,t.jsx)(n.Loader2,{className:"size-4 animate-spin"}):s?(0,t.jsx)(r.CircleAlert,{className:"size-4"}):(0,t.jsx)(d,{className:"size-4"}),c?null:e]})}e.s(["ActionButton",()=>i],72714),e.s([],81803);var u=e.i(79054),s=e.i(30702),d=e.i(38573),c=e.i(17406),f=e.i(81846),p=e.i(2287),m=e.i(21023);let g=(0,m.createServerReference)("40512991bebb6aff8054d66d8a66c75ff3cd3df37e",m.callServer,void 0,m.findSourceMapURL,"getDeploymentLogs");function h({open:e,onOpenChange:n,targetId:r}){let{logs:a,isConnected:o}=function(e){let[t,n]=(0,u.useState)([]),[r,a]=(0,u.useState)(!1),o=(0,u.useRef)(null),l=(0,u.useCallback)(()=>{o.current&&(o.current.close(),o.current=null),a(!1)},[]);return(0,u.useEffect)(()=>{if(!e){n([]),a(!1);return}g(e).then(e=>{e&&n(e)}).catch(()=>{});let t=new EventSource(`/api/deployment-logs?targetId=${e}`);return o.current=t,t.onopen=()=>{a(!0)},t.addEventListener("log",e=>{let t=JSON.parse(e.data);n(e=>[...e,t])}),t.onerror=()=>{a(!1)},()=>{t.close(),o.current=null}},[e,l]),{logs:t,isConnected:r}}(e?r:null);return(0,t.jsx)(v,{open:e,onOpenChange:n,logs:a,isConnected:o})}function v({open:e,onOpenChange:n,logs:r,isConnected:a}){let o=(0,u.useRef)(null),l=(0,u.useRef)(!0),i=(0,u.useCallback)(()=>{let e=o.current;e&&(l.current=e.scrollTop+e.clientHeight>=e.scrollHeight-50)},[]);return(0,u.useEffect)(()=>{l.current&&o.current&&(o.current.scrollTop=o.current.scrollHeight)},[r]),(0,t.jsx)(p.Dialog,{open:e,onOpenChange:n,children:(0,t.jsxs)(p.DialogContent,{className:"flex h-[calc(100vh-48px)] max-h-[calc(100vh-48px)] w-full max-w-[calc(100vw-48px)] flex-col gap-0 bg-zinc-950 p-0 text-zinc-100 sm:rounded-lg","aria-describedby":void 0,children:[(0,t.jsxs)(p.DialogHeader,{className:"flex flex-row items-center justify-between border-b border-zinc-800 px-4 py-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(d.Terminal,{className:"h-4 w-4 text-zinc-400"}),(0,t.jsx)(p.DialogTitle,{className:"text-sm font-medium text-zinc-100",children:"Server Logs"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 pr-8",children:[(0,t.jsx)("span",{className:`inline-block h-2 w-2 rounded-full ${a?"bg-green-500":"bg-zinc-500"}`}),(0,t.jsx)("span",{className:"text-xs text-zinc-400",children:a?"Connected":"Disconnected"})]})]}),(0,t.jsxs)("div",{ref:o,onScroll:i,className:"flex-1 overflow-auto p-4 font-mono text-sm leading-relaxed",children:[0===r.length?(0,t.jsx)("p",{className:"text-zinc-500",children:"Waiting for log output..."}):r.map(e=>(0,t.jsx)(w,{entry:e},`${e.timestamp}-${e.stream}-${e.line}`)),!a&&r.length>0&&(0,t.jsx)("div",{className:"mt-2 border-t border-zinc-800 pt-2 text-zinc-500",children:"[Server stopped]"})]})]})})}function w({entry:e}){return(0,t.jsx)("div",{"data-stream":e.stream,className:"stderr"===e.stream?"text-red-400":"text-zinc-200",children:(0,t.jsx)("span",{className:"break-all whitespace-pre-wrap",children:e.line})})}function y({status:e,url:r,targetId:a}){let[o,l]=(0,u.useState)(!1),i=a&&(e===c.DeploymentState.Booting||e===c.DeploymentState.Ready);switch(e){case c.DeploymentState.Booting:return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(f.Badge,{className:"border-transparent bg-blue-50 text-blue-700 hover:bg-blue-50",children:[(0,t.jsx)(n.Loader2,{className:"mr-1 h-3.5 w-3.5 animate-spin"}),"Starting...",i?(0,t.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-blue-100",onClick:e=>{e.stopPropagation(),l(!0)},children:(0,t.jsx)(d.Terminal,{className:"h-3 w-3"})}):null]}),i?(0,t.jsx)(h,{open:o,onOpenChange:l,targetId:a}):null]});case c.DeploymentState.Ready:return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(f.Badge,{className:"border-transparent bg-green-50 text-green-700 hover:bg-green-50",children:[(0,t.jsx)("span",{className:"mr-1 inline-block h-2 w-2 rounded-full bg-green-500"}),r?(0,t.jsxs)("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 hover:underline",onClick:e=>e.stopPropagation(),children:[r,(0,t.jsx)(s.ExternalLink,{className:"h-3 w-3"})]}):"Ready",i?(0,t.jsx)("button",{type:"button","aria-label":"View server logs",className:"ml-1.5 inline-flex items-center rounded-sm p-0.5 hover:bg-green-100",onClick:e=>{e.stopPropagation(),l(!0)},children:(0,t.jsx)(d.Terminal,{className:"h-3 w-3"})}):null]}),i?(0,t.jsx)(h,{open:o,onOpenChange:l,targetId:a}):null]});default:return null}}e.s(["DeploymentStatusBadge",()=>y],17466),e.s([],99348)},8537,e=>{"use strict";var t=e.i(44172),n=e.i(79054),r=e.i(21023);let a=(0,r.createServerReference)("4002f24123c812bbde52103ab4c9896641ec712093",r.callServer,void 0,r.findSourceMapURL,"deployFeature"),o=(0,r.createServerReference)("4084d20a10c50999fda1abc79d5071db97eb469aae",r.callServer,void 0,r.findSourceMapURL,"deployRepository"),l=(0,r.createServerReference)("4006e38da5561739000f5578b783b3d7df52b311e3",r.callServer,void 0,r.findSourceMapURL,"stopDeployment"),i=(0,r.createServerReference)("40ace7a87569f698a76c3cf3adfa70c658402edda6",r.callServer,void 0,r.findSourceMapURL,"getDeploymentStatus"),u="[useDeployAction]",s=!!t.default.env.NEXT_PUBLIC_DEBUG,d=()=>void 0,c={info:s?(...e)=>console.info(u,...e):d,debug:s?(...e)=>console.debug(u,...e):d,warn:(...e)=>console.warn(u,...e),error:(...e)=>console.error(u,...e)};function f(e){let[t,r]=(0,n.useState)(!1),[u,s]=(0,n.useState)(!1),[d,f]=(0,n.useState)(null),[p,m]=(0,n.useState)(null),[g,h]=(0,n.useState)(null),v=(0,n.useRef)(null),w=(0,n.useRef)(null),y=(0,n.useRef)(!0);(0,n.useEffect)(()=>(y.current=!0,()=>{y.current=!1}),[]),(0,n.useEffect)(()=>()=>{v.current&&clearTimeout(v.current),w.current&&clearInterval(w.current)},[]);let b=(0,n.useCallback)(()=>{w.current&&(c.debug("stopping polling"),clearInterval(w.current),w.current=null)},[]),x=(0,n.useCallback)(e=>{b(),c.debug(`starting polling for "${e}" every 3000ms`),w.current=setInterval(async()=>{if(!y.current)return void b();let t=await i(e);y.current&&(t&&"Stopped"!==t.state?(t.state!==p&&c.info(`poll state changed: ${p} → ${t.state}, url=${t.url}`),m(t.state),h(t.url)):(c.info(`poll result: ${t?`state=${t.state}`:"null (deployment gone)"} — stopping poll`),m(null),h(null),b()))},3e3)},[b,p]),R=(0,n.useCallback)(async()=>{if(!e)return void c.warn("deploy() called but input is null — no-op");if(t)return void c.warn("deploy() called but already loading — no-op");c.info(`deploy() — targetType="${e.targetType}", targetId="${e.targetId}", repositoryPath="${e.repositoryPath}"`),v.current&&clearTimeout(v.current),r(!0),f(null);try{let t="feature"===e.targetType?await a(e.targetId):await o(e.repositoryPath);if(c.info("server action result:",t),!y.current)return void c.warn("component unmounted after deploy — discarding result");if(t.success)c.info(`deploy succeeded — initial state=${t.state}, starting polling`),m(t.state??null),h(null),x(e.targetId);else{let e=t.error??"An unexpected error occurred";c.error(`deploy failed: ${e}`),f(e),v.current=setTimeout(()=>f(null),5e3)}}catch(t){if(!y.current)return;let e=t instanceof Error?t.message:"An unexpected error occurred";c.error(`deploy threw exception: ${e}`,t),f(e),v.current=setTimeout(()=>f(null),5e3)}finally{y.current&&r(!1)}},[e,t,x]),T=(0,n.useCallback)(async()=>{if(e&&!u){c.info(`stop() — targetId="${e.targetId}"`),s(!0);try{let t=await l(e.targetId);if(c.info("stop result:",t),!y.current)return;t.success&&(b(),m(null),h(null))}catch(e){c.warn("stop error (non-critical):",e)}finally{y.current&&s(!1)}}},[e,u,b]);return{deploy:R,stop:T,deployLoading:t,stopLoading:u,deployError:d,status:p,url:g}}e.s(["useDeployAction",()=>f],8537)},45811,e=>{"use strict";let t;var n=e.i(20314),r=e.i(48249),a=e.i(567),o=e.i(79054);let l=o.default.createContext({drawerRef:{current:null},overlayRef:{current:null},onPress:()=>{},onRelease:()=>{},onDrag:()=>{},onNestedDrag:()=>{},onNestedOpenChange:()=>{},onNestedRelease:()=>{},openProp:void 0,dismissible:!1,isOpen:!1,isDragging:!1,keyboardIsOpen:{current:!1},snapPointsOffset:null,snapPoints:null,handleOnly:!1,modal:!1,shouldFade:!1,activeSnapPoint:null,onOpenChange:()=>{},setActiveSnapPoint:()=>{},closeDrawer:()=>{},direction:"bottom",shouldAnimate:{current:!0},shouldScaleBackground:!1,setBackgroundColorOnScale:!0,noBodyStyles:!1,container:null,autoFocus:!1}),i=()=>{let e=o.default.useContext(l);if(!e)throw Error("useDrawerContext must be used within a Drawer.Root");return e};function u(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}function s(){return d(/^iPhone/)||d(/^iPad/)||d(/^Mac/)&&navigator.maxTouchPoints>1}function d(e){return"u">typeof window&&null!=window.navigator?e.test(window.navigator.platform):void 0}!function(e){if(!e||"u"<typeof document)return;let t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}("[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32, .72, 0, 1);animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform,100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform,100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height,0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height,0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32, .72, 0, 1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true])::after{content:'';position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]::after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]::after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]::after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]::after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not(\n[data-state=closed]\n){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:active,[data-vaul-handle]:hover{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover:hover) and (pointer:fine){[data-vaul-drawer]{user-select:none}}@media (pointer:fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{from{transform:translate3d(0,var(--initial-transform,100%),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform,100%),0)}}@keyframes slideFromTop{from{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}to{transform:translate3d(0,0,0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform,100%) * -1),0)}}@keyframes slideFromLeft{from{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform,100%) * -1),0,0)}}@keyframes slideFromRight{from{transform:translate3d(var(--initial-transform,100%),0,0)}to{transform:translate3d(0,0,0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform,100%),0,0)}}");let c="u">typeof window?o.useLayoutEffect:o.useEffect;function f(...e){return(...t)=>{for(let n of e)"function"==typeof n&&n(...t)}}let p="u">typeof document&&window.visualViewport;function m(e){let t=window.getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowX+t.overflowY)}function g(e){for(m(e)&&(e=e.parentElement);e&&!m(e);)e=e.parentElement;return e||document.scrollingElement||document.documentElement}let h=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),v=0;function w(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}function y(e){let t=document.scrollingElement||document.documentElement;for(;e&&e!==t;){let t=g(e);if(t!==document.documentElement&&t!==document.body&&t!==e){let n=t.getBoundingClientRect().top,r=e.getBoundingClientRect().top;e.getBoundingClientRect().bottom>t.getBoundingClientRect().bottom+24&&(t.scrollTop+=r-n)}e=t.parentElement}}function b(e){return e instanceof HTMLInputElement&&!h.has(e.type)||e instanceof HTMLTextAreaElement||e instanceof HTMLElement&&e.isContentEditable}function x(...e){return o.useCallback(function(...e){return t=>e.forEach(e=>{"function"==typeof e?e(t):null!=e&&(e.current=t)})}(...e),e)}let R=new WeakMap;function T(e,t,n=!1){if(!e||!(e instanceof HTMLElement))return;let r={};Object.entries(t).forEach(([t,n])=>{t.startsWith("--")?e.style.setProperty(t,n):(r[t]=e.style[t],e.style[t]=n)}),n||R.set(e,r)}let C=e=>{switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}};function j(e,t){if(!e)return null;let n=window.getComputedStyle(e),r=n.transform||n.webkitTransform||n.mozTransform,a=r.match(/^matrix3d\((.+)\)$/);return a?parseFloat(a[1].split(", ")[C(t)?13:12]):(a=r.match(/^matrix\((.+)\)$/))?parseFloat(a[1].split(", ")[C(t)?5:4]):null}function D(e,t){if(!e)return()=>{};let n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}let E=[.32,.72,0,1],S="vaul-dragging";function $(e){let t=o.default.useRef(e);return o.default.useEffect(()=>{t.current=e}),o.default.useMemo(()=>(...e)=>null==t.current?void 0:t.current.call(t,...e),[])}function N({prop:e,defaultProp:t,onChange:n=()=>{}}){let[r,a]=function({defaultProp:e,onChange:t}){let n=o.default.useState(e),[r]=n,a=o.default.useRef(r),l=$(t);return o.default.useEffect(()=>{a.current!==r&&(l(r),a.current=r)},[r,a,l]),n}({defaultProp:t,onChange:n}),l=void 0!==e,i=l?e:r,u=$(n);return[i,o.default.useCallback(t=>{if(l){let n="function"==typeof t?t(e):t;n!==e&&u(n)}else a(t)},[l,e,a,u])]}let k=()=>()=>{},P=null;function M({open:e,onOpenChange:n,children:r,onDrag:i,onRelease:d,snapPoints:m,shouldScaleBackground:h=!1,setBackgroundColorOnScale:x=!0,closeThreshold:D=.25,scrollLockTimeout:$=100,dismissible:k=!0,handleOnly:M=!1,fadeFromIndex:O=m&&m.length-1,activeSnapPoint:z,setActiveSnapPoint:B,fixed:L,modal:F=!0,onClose:I,nested:A,noBodyStyles:H=!1,direction:W="bottom",defaultOpen:q=!1,disablePreventScroll:U=!0,snapToSequentialPoint:Y=!1,preventScrollRestoration:X=!1,repositionInputs:V=!0,onAnimationEnd:_,container:K,autoFocus:G=!1}){var J,Q;let[Z=!1,ee]=N({defaultProp:q,prop:e,onChange:e=>{null==n||n(e),e||A||ek(),setTimeout(()=>{null==_||_(e)},500),e&&!F&&"u">typeof window&&window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"}),e||(document.body.style.pointerEvents="auto")}}),[et,en]=o.default.useState(!1),[er,ea]=o.default.useState(!1),[eo,el]=o.default.useState(!1),ei=o.default.useRef(null),eu=o.default.useRef(null),es=o.default.useRef(null),ed=o.default.useRef(null),ec=o.default.useRef(null),ef=o.default.useRef(!1),ep=o.default.useRef(null),em=o.default.useRef(0),eg=o.default.useRef(!1),eh=o.default.useRef(!q),ev=o.default.useRef(0),ew=o.default.useRef(null),ey=o.default.useRef((null==(J=ew.current)?void 0:J.getBoundingClientRect().height)||0),eb=o.default.useRef((null==(Q=ew.current)?void 0:Q.getBoundingClientRect().width)||0),ex=o.default.useRef(0),eR=o.default.useCallback(e=>{m&&e===eE.length-1&&(eu.current=new Date)},[]),{activeSnapPoint:eT,activeSnapPointIndex:eC,setActiveSnapPoint:ej,onRelease:eD,snapPointsOffset:eE,onDrag:eS,shouldFade:e$,getPercentageDragged:eN}=function({activeSnapPointProp:e,setActiveSnapPointProp:t,snapPoints:n,drawerRef:r,overlayRef:a,fadeFromIndex:l,onSnapPointChange:i,direction:u="bottom",container:s,snapToSequentialPoint:d}){let[c,f]=N({prop:e,defaultProp:null==n?void 0:n[0],onChange:t}),[p,m]=o.default.useState("u">typeof window?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);o.default.useEffect(()=>{function e(){m({innerWidth:window.innerWidth,innerHeight:window.innerHeight})}return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let g=o.default.useMemo(()=>c===(null==n?void 0:n[n.length-1])||null,[n,c]),h=o.default.useMemo(()=>{var e;return null!=(e=null==n?void 0:n.findIndex(e=>e===c))?e:null},[n,c]),v=n&&n.length>0&&(l||0===l)&&!Number.isNaN(l)&&n[l]===c||!n,w=o.default.useMemo(()=>{var e;let t=s?{width:s.getBoundingClientRect().width,height:s.getBoundingClientRect().height}:"u">typeof window?{width:window.innerWidth,height:window.innerHeight}:{width:0,height:0};return null!=(e=null==n?void 0:n.map(e=>{let n="string"==typeof e,r=0;if(n&&(r=parseInt(e,10)),C(u)){let a=n?r:p?e*t.height:0;return p?"bottom"===u?t.height-a:-t.height+a:a}let a=n?r:p?e*t.width:0;return p?"right"===u?t.width-a:-t.width+a:a}))?e:[]},[n,p,s]),y=o.default.useMemo(()=>null!==h?null==w?void 0:w[h]:null,[w,h]),b=o.default.useCallback(e=>{var t;let o=null!=(t=null==w?void 0:w.findIndex(t=>t===e))?t:null;i(o),T(r.current,{transition:`transform 0.5s cubic-bezier(${E.join(",")})`,transform:C(u)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`}),w&&o!==w.length-1&&void 0!==l&&o!==l&&o<l?T(a.current,{transition:`opacity 0.5s cubic-bezier(${E.join(",")})`,opacity:"0"}):T(a.current,{transition:`opacity 0.5s cubic-bezier(${E.join(",")})`,opacity:"1"}),f(null==n?void 0:n[Math.max(o,0)])},[r.current,n,w,l,a,f]);return o.default.useEffect(()=>{if(c||e){var t;let r=null!=(t=null==n?void 0:n.findIndex(t=>t===e||t===c))?t:-1;w&&-1!==r&&"number"==typeof w[r]&&b(w[r])}},[c,e,n,w,b]),{isLastSnapPoint:g,activeSnapPoint:c,shouldFade:v,getPercentageDragged:function(e,t){if(!n||"number"!=typeof h||!w||void 0===l)return null;let r=h===l-1;if(h>=l&&t)return 0;if(r&&!t)return 1;if(!v&&!r)return null;let a=r?h+1:h-1,o=e/Math.abs(r?w[a]-w[a-1]:w[a+1]-w[a]);return r?1-o:o},setActiveSnapPoint:f,activeSnapPointIndex:h,onRelease:function({draggedDistance:e,closeDrawer:t,velocity:r,dismissible:o}){if(void 0===l)return;let i="bottom"===u||"right"===u?(null!=y?y:0)-e:(null!=y?y:0)+e,s=h===l-1,c=0===h,f=e>0;if(s&&T(a.current,{transition:`opacity 0.5s cubic-bezier(${E.join(",")})`}),!d&&r>2&&!f)return void(o?t():b(w[0]));if(!d&&r>2&&f&&w&&n)return void b(w[n.length-1]);let p=null==w?void 0:w.reduce((e,t)=>"number"!=typeof e||"number"!=typeof t?e:Math.abs(t-i)<Math.abs(e-i)?t:e),m=C(u)?window.innerHeight:window.innerWidth;if(r>.4&&Math.abs(e)<.4*m){let e=f?1:-1;return e>0&&g&&n?void b(w[n.length-1]):void(c&&e<0&&o&&t(),null===h||b(w[h+e]))}b(p)},onDrag:function({draggedDistance:e}){if(null===y)return;let t="bottom"===u||"right"===u?y-e:y+e;("bottom"===u||"right"===u)&&t<w[w.length-1]||("top"===u||"left"===u)&&t>w[w.length-1]||T(r.current,{transform:C(u)?`translate3d(0, ${t}px, 0)`:`translate3d(${t}px, 0, 0)`})},snapPointsOffset:w}}({snapPoints:m,activeSnapPointProp:z,setActiveSnapPointProp:B,drawerRef:ew,fadeFromIndex:O,overlayRef:ei,onSnapPointChange:eR,direction:W,container:K,snapToSequentialPoint:Y});!function(e={}){let{isDisabled:n}=e;c(()=>{if(!n){var e,r,a;let n,o,l,i,u,d,c;return 1==++v&&s()&&(l=0,i=window.pageXOffset,u=window.pageYOffset,d=f((e=document.documentElement,r="paddingRight",a=`${window.innerWidth-document.documentElement.clientWidth}px`,n=e.style[r],e.style[r]=a,()=>{e.style[r]=n})),window.scrollTo(0,0),c=f(w(document,"touchstart",e=>{((o=g(e.target))!==document.documentElement||o!==document.body)&&(l=e.changedTouches[0].pageY)},{passive:!1,capture:!0}),w(document,"touchmove",e=>{if(!o||o===document.documentElement||o===document.body)return void e.preventDefault();let t=e.changedTouches[0].pageY,n=o.scrollTop,r=o.scrollHeight-o.clientHeight;0!==r&&((n<=0&&t>l||n>=r&&t<l)&&e.preventDefault(),l=t)},{passive:!1,capture:!0}),w(document,"touchend",e=>{let t=e.target;b(t)&&t!==document.activeElement&&(e.preventDefault(),t.style.transform="translateY(-2000px)",t.focus(),requestAnimationFrame(()=>{t.style.transform=""}))},{passive:!1,capture:!0}),w(document,"focus",e=>{let t=e.target;b(t)&&(t.style.transform="translateY(-2000px)",requestAnimationFrame(()=>{t.style.transform="",p&&(p.height<window.innerHeight?requestAnimationFrame(()=>{y(t)}):p.addEventListener("resize",()=>y(t),{once:!0}))}))},!0),w(window,"scroll",()=>{window.scrollTo(0,0)})),t=()=>{d(),c(),window.scrollTo(i,u)}),()=>{0==--v&&(null==t||t())}}},[n])}({isDisabled:!Z||er||!F||eo||!et||!V||!U});let{restorePositionSetting:ek}=function({isOpen:e,modal:t,nested:n,hasBeenOpened:r,preventScrollRestoration:a,noBodyStyles:l}){let[i,s]=o.default.useState(()=>"u">typeof window?window.location.href:""),d=o.default.useRef(0),c=o.default.useCallback(()=>{if(u()&&null===P&&e&&!l){P={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height,right:"unset"};let{scrollX:e,innerHeight:t}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-d.current}px`,left:`${-e}px`,right:"0px",height:"auto"}),window.setTimeout(()=>window.requestAnimationFrame(()=>{let e=t-window.innerHeight;e&&d.current>=t&&(document.body.style.top=`${-(d.current+e)}px`)}),300)}},[e]),f=o.default.useCallback(()=>{if(u()&&null!==P&&!l){let e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);Object.assign(document.body.style,P),window.requestAnimationFrame(()=>{a&&i!==window.location.href?s(window.location.href):window.scrollTo(t,e)}),P=null}},[i]);return o.default.useEffect(()=>{function e(){d.current=window.scrollY}return e(),window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[]),o.default.useEffect(()=>{if(t)return()=>{"u"<typeof document||document.querySelector("[data-vaul-drawer]")||f()}},[t,f]),o.default.useEffect(()=>{!n&&r&&(e?(window.matchMedia("(display-mode: standalone)").matches||c(),t||window.setTimeout(()=>{f()},500)):f())},[e,r,i,t,n,c,f]),{restorePositionSetting:f}}({isOpen:Z,modal:F,nested:null!=A&&A,hasBeenOpened:et,preventScrollRestoration:X,noBodyStyles:H});function eP(){return(window.innerWidth-26)/window.innerWidth}function eM(e,t){var n;let r=e,a=null==(n=window.getSelection())?void 0:n.toString(),o=ew.current?j(ew.current,W):null,l=new Date;if("SELECT"===r.tagName||r.hasAttribute("data-vaul-no-drag")||r.closest("[data-vaul-no-drag]"))return!1;if("right"===W||"left"===W)return!0;if(eu.current&&l.getTime()-eu.current.getTime()<500)return!1;if(null!==o&&("bottom"===W?o>0:o<0))return!0;if(a&&a.length>0)return!1;if(ec.current&&l.getTime()-ec.current.getTime()<$&&0===o||t)return ec.current=l,!1;for(;r;){if(r.scrollHeight>r.clientHeight){if(0!==r.scrollTop)return ec.current=new Date,!1;if("dialog"===r.getAttribute("role"))break}r=r.parentNode}return!0}function eO(e){er&&ew.current&&(ew.current.classList.remove(S),ef.current=!1,ea(!1),ed.current=new Date),null==I||I(),e||ee(!1),setTimeout(()=>{m&&ej(m[0])},500)}function ez(){if(!ew.current)return;let e=document.querySelector("[data-vaul-drawer-wrapper]"),t=j(ew.current,W);T(ew.current,{transform:"translate3d(0, 0, 0)",transition:`transform 0.5s cubic-bezier(${E.join(",")})`}),T(ei.current,{transition:`opacity 0.5s cubic-bezier(${E.join(",")})`,opacity:"1"}),h&&t&&t>0&&Z&&T(e,{borderRadius:"8px",overflow:"hidden",...C(W)?{transform:`scale(${eP()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${eP()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${E.join(",")})`},!0)}return o.default.useEffect(()=>{window.requestAnimationFrame(()=>{eh.current=!0})},[]),o.default.useEffect(()=>{var e;function t(){if(ew.current&&V&&(b(document.activeElement)||eg.current)){var e;let t=(null==(e=window.visualViewport)?void 0:e.height)||0,n=window.innerHeight,r=n-t,a=ew.current.getBoundingClientRect().height||0;ex.current||(ex.current=a);let o=ew.current.getBoundingClientRect().top;if(Math.abs(ev.current-r)>60&&(eg.current=!eg.current),m&&m.length>0&&eE&&eC&&(r+=eE[eC]||0),ev.current=r,a>t||eg.current){let e=ew.current.getBoundingClientRect().height,l=e;e>t&&(l=t-(a>.8*n?o:26)),L?ew.current.style.height=`${e-Math.max(r,0)}px`:ew.current.style.height=`${Math.max(l,t-o)}px`}else{let e;e=navigator.userAgent,"u">typeof window&&(/Firefox/.test(e)&&/Mobile/.test(e)||/FxiOS/.test(e))||(ew.current.style.height=`${ex.current}px`)}m&&m.length>0&&!eg.current?ew.current.style.bottom="0px":ew.current.style.bottom=`${Math.max(r,0)}px`}}return null==(e=window.visualViewport)||e.addEventListener("resize",t),()=>{var e;return null==(e=window.visualViewport)?void 0:e.removeEventListener("resize",t)}},[eC,m,eE]),o.default.useEffect(()=>(Z&&(T(document.documentElement,{scrollBehavior:"auto"}),eu.current=new Date),()=>{!function(e,t){if(!e||!(e instanceof HTMLElement))return;let n=R.get(e);n&&(e.style[t]=n[t])}(document.documentElement,"scrollBehavior")}),[Z]),o.default.useEffect(()=>{F||window.requestAnimationFrame(()=>{document.body.style.pointerEvents="auto"})},[F]),o.default.createElement(a.Root,{defaultOpen:q,onOpenChange:e=>{(k||e)&&(e?en(!0):eO(!0),ee(e))},open:Z},o.default.createElement(l.Provider,{value:{activeSnapPoint:eT,snapPoints:m,setActiveSnapPoint:ej,drawerRef:ew,overlayRef:ei,onOpenChange:n,onPress:function(e){var t,n;!k&&!m||(!ew.current||ew.current.contains(e.target))&&(ey.current=(null==(t=ew.current)?void 0:t.getBoundingClientRect().height)||0,eb.current=(null==(n=ew.current)?void 0:n.getBoundingClientRect().width)||0,ea(!0),es.current=new Date,s()&&window.addEventListener("touchend",()=>ef.current=!1,{once:!0}),e.target.setPointerCapture(e.pointerId),em.current=C(W)?e.pageY:e.pageX)},onRelease:function(e){var t,n;if(!er||!ew.current)return;ew.current.classList.remove(S),ef.current=!1,ea(!1),ed.current=new Date;let r=j(ew.current,W);if(!e||!eM(e.target,!1)||!r||Number.isNaN(r)||null===es.current)return;let a=ed.current.getTime()-es.current.getTime(),o=em.current-(C(W)?e.pageY:e.pageX),l=Math.abs(o)/a;if(l>.05&&(el(!0),setTimeout(()=>{el(!1)},200)),m){eD({draggedDistance:o*("bottom"===W||"right"===W?1:-1),closeDrawer:eO,velocity:l,dismissible:k}),null==d||d(e,!0);return}if("bottom"===W||"right"===W?o>0:o<0){ez(),null==d||d(e,!0);return}if(l>.4){eO(),null==d||d(e,!1);return}let i=Math.min(null!=(t=ew.current.getBoundingClientRect().height)?t:0,window.innerHeight),u=Math.min(null!=(n=ew.current.getBoundingClientRect().width)?n:0,window.innerWidth);if(Math.abs(r)>=("left"===W||"right"===W?u:i)*D){eO(),null==d||d(e,!1);return}null==d||d(e,!0),ez()},onDrag:function(e){if(ew.current&&er){let t="bottom"===W||"right"===W?1:-1,n=(em.current-(C(W)?e.pageY:e.pageX))*t,r=n>0,a=m&&!k&&!r;if(a&&0===eC)return;let o=Math.abs(n),l=document.querySelector("[data-vaul-drawer-wrapper]"),u=o/("bottom"===W||"top"===W?ey.current:eb.current),s=eN(o,r);if(null!==s&&(u=s),a&&u>=1||!ef.current&&!eM(e.target,r))return;if(ew.current.classList.add(S),ef.current=!0,T(ew.current,{transition:"none"}),T(ei.current,{transition:"none"}),m&&eS({draggedDistance:n}),r&&!m){let e=Math.min(-(8*(Math.log(n+1)-2)*1),0)*t;T(ew.current,{transform:C(W)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`});return}let d=1-u;if((e$||O&&eC===O-1)&&(null==i||i(e,u),T(ei.current,{opacity:`${d}`,transition:"none"},!0)),l&&ei.current&&h){let e=Math.min(eP()+u*(1-eP()),1),t=8-8*u,n=Math.max(0,14-14*u);T(l,{borderRadius:`${t}px`,transform:C(W)?`scale(${e}) translate3d(0, ${n}px, 0)`:`scale(${e}) translate3d(${n}px, 0, 0)`,transition:"none"},!0)}if(!m){let e=o*t;T(ew.current,{transform:C(W)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})}}},dismissible:k,shouldAnimate:eh,handleOnly:M,isOpen:Z,isDragging:er,shouldFade:e$,closeDrawer:eO,onNestedDrag:function(e,t){if(t<0)return;let n=(window.innerWidth-16)/window.innerWidth,r=n+t*(1-n),a=-16+16*t;T(ew.current,{transform:C(W)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`,transition:"none"})},onNestedOpenChange:function(e){let t=e?(window.innerWidth-16)/window.innerWidth:1,n=e?-16:0;ep.current&&window.clearTimeout(ep.current),T(ew.current,{transition:`transform 0.5s cubic-bezier(${E.join(",")})`,transform:C(W)?`scale(${t}) translate3d(0, ${n}px, 0)`:`scale(${t}) translate3d(${n}px, 0, 0)`}),!e&&ew.current&&(ep.current=setTimeout(()=>{let e=j(ew.current,W);T(ew.current,{transition:"none",transform:C(W)?`translate3d(0, ${e}px, 0)`:`translate3d(${e}px, 0, 0)`})},500))},onNestedRelease:function(e,t){let n=C(W)?window.innerHeight:window.innerWidth,r=t?(n-16)/n:1,a=t?-16:0;t&&T(ew.current,{transition:`transform 0.5s cubic-bezier(${E.join(",")})`,transform:C(W)?`scale(${r}) translate3d(0, ${a}px, 0)`:`scale(${r}) translate3d(${a}px, 0, 0)`})},keyboardIsOpen:eg,modal:F,snapPointsOffset:eE,activeSnapPointIndex:eC,direction:W,shouldScaleBackground:h,setBackgroundColorOnScale:x,noBodyStyles:H,container:K,autoFocus:G}},r))}let O=o.default.forwardRef(function({...e},t){let{overlayRef:n,snapPoints:r,onRelease:l,shouldFade:u,isOpen:s,modal:d,shouldAnimate:c}=i(),f=x(t,n),p=r&&r.length>0;if(!d)return null;let m=o.default.useCallback(e=>l(e),[l]);return o.default.createElement(a.Overlay,{onMouseUp:m,ref:f,"data-vaul-overlay":"","data-vaul-snap-points":s&&p?"true":"false","data-vaul-snap-points-overlay":s&&u?"true":"false","data-vaul-animate":(null==c?void 0:c.current)?"true":"false",...e})});O.displayName="Drawer.Overlay";let z=o.default.forwardRef(function({onPointerDownOutside:e,style:t,onOpenAutoFocus:n,...r},l){let{drawerRef:u,onPress:s,onRelease:d,onDrag:c,keyboardIsOpen:f,snapPointsOffset:p,activeSnapPointIndex:m,modal:g,isOpen:h,direction:v,snapPoints:w,container:y,handleOnly:b,shouldAnimate:R,autoFocus:T}=i(),[j,S]=o.default.useState(!1),$=x(l,u),N=o.default.useRef(null),P=o.default.useRef(null),M=o.default.useRef(!1),O=w&&w.length>0;function z(e){N.current=null,M.current=!1,d(e)}return!function(){let{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:r,noBodyStyles:a}=i(),l=o.default.useRef(null),u=(0,o.useMemo)(()=>document.body.style.backgroundColor,[]);function s(){return(window.innerWidth-26)/window.innerWidth}o.default.useEffect(()=>{if(t&&n){l.current&&clearTimeout(l.current);let t=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!t)return;!function(...e){}(r&&!a?D(document.body,{background:"black"}):k,D(t,{transformOrigin:C(e)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:"0.5s",transitionTimingFunction:`cubic-bezier(${E.join(",")})`}));let n=D(t,{borderRadius:"8px",overflow:"hidden",...C(e)?{transform:`scale(${s()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${s()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});return()=>{n(),l.current=window.setTimeout(()=>{u?document.body.style.background=u:document.body.style.removeProperty("background")},500)}}},[t,n,u])}(),o.default.useEffect(()=>{O&&window.requestAnimationFrame(()=>{S(!0)})},[]),o.default.createElement(a.Content,{"data-vaul-drawer-direction":v,"data-vaul-drawer":"","data-vaul-delayed-snap-points":j?"true":"false","data-vaul-snap-points":h&&O?"true":"false","data-vaul-custom-container":y?"true":"false","data-vaul-animate":(null==R?void 0:R.current)?"true":"false",...r,ref:$,style:p&&p.length>0?{"--snap-point-height":`${p[null!=m?m:0]}px`,...t}:t,onPointerDown:e=>{b||(null==r.onPointerDown||r.onPointerDown.call(r,e),N.current={x:e.pageX,y:e.pageY},s(e))},onOpenAutoFocus:e=>{null==n||n(e),T||e.preventDefault()},onPointerDownOutside:t=>{(null==e||e(t),!g||t.defaultPrevented)?t.preventDefault():f.current&&(f.current=!1)},onFocusOutside:e=>{if(!g)return void e.preventDefault()},onPointerMove:e=>{if(P.current=e,b||(null==r.onPointerMove||r.onPointerMove.call(r,e),!N.current))return;let t=e.pageY-N.current.y,n=e.pageX-N.current.x,a="touch"===e.pointerType?10:2;((e,t,n=0)=>{if(M.current)return!0;let r=Math.abs(e.y),a=Math.abs(e.x),o=a>r,l=["bottom","right"].includes(t)?1:-1;if("left"===t||"right"===t){if(!(e.x*l<0)&&a>=0&&a<=n)return o}else if(!(e.y*l<0)&&r>=0&&r<=n)return!o;return M.current=!0,!0})({x:n,y:t},v,a)?c(e):(Math.abs(n)>a||Math.abs(t)>a)&&(N.current=null)},onPointerUp:e=>{null==r.onPointerUp||r.onPointerUp.call(r,e),N.current=null,M.current=!1,d(e)},onPointerOut:e=>{null==r.onPointerOut||r.onPointerOut.call(r,e),z(P.current)},onContextMenu:e=>{null==r.onContextMenu||r.onContextMenu.call(r,e),P.current&&z(P.current)}})});z.displayName="Drawer.Content";let B=o.default.forwardRef(function({preventCycle:e=!1,children:t,...n},r){let{closeDrawer:a,isDragging:l,snapPoints:u,activeSnapPoint:s,setActiveSnapPoint:d,dismissible:c,handleOnly:f,isOpen:p,onPress:m,onDrag:g}=i(),h=o.default.useRef(null),v=o.default.useRef(!1);function w(){h.current&&window.clearTimeout(h.current),v.current=!1}return o.default.createElement("div",{onClick:function(){v.current?w():window.setTimeout(()=>{!function(){if(l||e||v.current)return w();if(w(),!u||0===u.length){c||a();return}if(s===u[u.length-1]&&c)return a();let t=u.findIndex(e=>e===s);-1===t||d(u[t+1])}()},120)},onPointerCancel:w,onPointerDown:e=>{f&&m(e),h.current=window.setTimeout(()=>{v.current=!0},250)},onPointerMove:e=>{f&&g(e)},ref:r,"data-vaul-drawer-visible":p?"true":"false","data-vaul-handle":"","aria-hidden":"true",...n},o.default.createElement("span",{"data-vaul-handle-hitarea":"","aria-hidden":"true"},t))});B.displayName="Drawer.Handle";let L={Root:M,NestedRoot:function({onDrag:e,onOpenChange:t,open:n,...r}){let{onNestedDrag:a,onNestedOpenChange:l,onNestedRelease:u}=i();if(!a)throw Error("Drawer.NestedRoot must be placed in another drawer");return o.default.createElement(M,{nested:!0,open:n,onClose:()=>{l(!1)},onDrag:(t,n)=>{a(t,n),null==e||e(t,n)},onOpenChange:e=>{e&&l(e),null==t||t(e)},onRelease:u,...r})},Content:z,Overlay:O,Trigger:a.Trigger,Portal:function(e){let t=i(),{container:n=t.container,...r}=e;return o.default.createElement(a.Portal,{container:n,...r})},Handle:B,Close:a.Close,Title:a.Title,Description:a.Description};var F=e.i(31777);function I({...e}){return(0,n.jsx)(L.Root,{"data-slot":"drawer",...e})}function A({...e}){return(0,n.jsx)(L.Portal,{"data-slot":"drawer-portal",...e})}function H({className:e,...t}){return(0,n.jsx)(L.Overlay,{"data-slot":"drawer-overlay",className:(0,F.cn)("fixed inset-0 z-50 bg-black/50",e),...t})}function W({className:e,children:t,direction:a="bottom",showCloseButton:o=!0,...l}){return(0,n.jsx)(A,{children:(0,n.jsxs)(L.Content,{"data-slot":"drawer-content",className:(0,F.cn)("bg-background fixed z-50 flex flex-col shadow-lg","bottom"===a&&"inset-x-0 bottom-0 mb-24 rounded-t-lg border-t","top"===a&&"inset-x-0 top-0 mt-24 rounded-b-lg border-b","right"===a&&"inset-y-0 right-0 h-full w-3/4 border-l","left"===a&&"inset-y-0 left-0 h-full w-3/4 border-r",e),style:{"--initial-transform":"right"===a?"calc(100% + 8px)":"left"===a||"top"===a?"calc(-100% - 8px)":"calc(100% + 8px)",userSelect:"text",...l.style??{}},...l,children:[t,o?(0,n.jsxs)(L.Close,{className:"ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,n.jsx)(r.XIcon,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})})}function q({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-header",className:(0,F.cn)("flex flex-col gap-1.5 p-4",e),...t})}function U({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"drawer-footer",className:(0,F.cn)("mt-auto flex flex-col gap-2 p-4",e),...t})}function Y({className:e,...t}){return(0,n.jsx)(L.Title,{"data-slot":"drawer-title",className:(0,F.cn)("text-foreground font-semibold",e),...t})}function X({className:e,...t}){return(0,n.jsx)(L.Description,{"data-slot":"drawer-description",className:(0,F.cn)("text-muted-foreground text-sm",e),...t})}e.s(["Drawer",()=>I,"DrawerContent",()=>W,"DrawerDescription",()=>X,"DrawerFooter",()=>U,"DrawerHeader",()=>q,"DrawerOverlay",()=>H,"DrawerTitle",()=>Y],45811)},1650,11495,e=>{"use strict";var t=e.i(20314),n=e.i(79054),r=e.i(48249),a=e.i(24042),o=e.i(64970),l=e.i(94237),i=e.i(31777);e.i(81803);var u=e.i(72714);e.i(99348);var s=e.i(17466),d=e.i(45811),c=e.i(25235),f=e.i(2828),p=e.i(8537),m=e.i(63629);let g=(0,l.cva)("",{variants:{size:{sm:"w-96",md:"w-xl"}},defaultVariants:{size:"sm"}});function h({open:e,onClose:a,modal:o=!1,size:l,header:u,children:s,footer:f,className:p,"data-testid":h,deployTarget:w}){let y=(0,n.useRef)(null);return(0,n.useEffect)(()=>{if(!e||o)return;let t=e=>{let t=e.target;!document.body.contains(t)||y.current?.contains(t)||t.closest('[data-no-drawer-close], [role="alertdialog"], [role="menu"], [role="listbox"], [data-radix-popper-content-wrapper]')||a()};return document.addEventListener("click",t),()=>document.removeEventListener("click",t)},[e,o,a]),(0,t.jsxs)(d.Drawer,{direction:"right",modal:o,handleOnly:!0,open:e,onOpenChange:e=>{e||a()},children:[o?(0,t.jsx)(d.DrawerOverlay,{}):null,(0,t.jsxs)(d.DrawerContent,{ref:y,direction:"right",showCloseButton:!1,className:(0,i.cn)(g({size:l}),p),"data-testid":h,onInteractOutside:e=>e.preventDefault(),children:[(0,t.jsxs)("button",{type:"button","aria-label":"Close",onClick:a,className:"ring-offset-background focus:ring-ring absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden","data-testid":h?`${h}-close-button`:void 0,children:[(0,t.jsx)(r.XIcon,{className:"size-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]}),u?(0,t.jsx)(d.DrawerHeader,{className:"shrink-0",children:u}):null,u?(0,t.jsx)(c.Separator,{}):null,m.featureFlags.envDeploy&&w?(0,t.jsx)(v,{deployTarget:w}):null,(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:s}),f?(0,t.jsx)(d.DrawerFooter,{className:"shrink-0",children:f}):null]})]})}function v({deployTarget:e}){let n=(0,p.useDeployAction)(e),r="Booting"===n.status||"Ready"===n.status;return(0,t.jsxs)("div",{"data-testid":"base-drawer-deploy-bar",className:"flex items-center gap-2 px-4 pb-3",children:[(0,t.jsx)(f.TooltipProvider,{children:(0,t.jsxs)(f.Tooltip,{children:[(0,t.jsx)(f.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{children:(0,t.jsx)(u.ActionButton,{label:r?"Stop Dev Server":"Start Dev Server",onClick:r?n.stop:n.deploy,loading:n.deployLoading||n.stopLoading,error:!!n.deployError,icon:r?o.Square:a.Play,iconOnly:!0,variant:"outline",size:"icon-sm"})})}),(0,t.jsx)(f.TooltipContent,{children:r?"Stop Dev Server":"Start Dev Server"})]})}),r?(0,t.jsx)(s.DeploymentStatusBadge,{status:n.status,url:n.url,targetId:e.targetId}):null]})}e.s(["BaseDrawer",()=>h],11495),e.s([],1650)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,15203,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(31406),o=e.i(60112),n=e.i(21023);let s=(0,n.createServerReference)("40616cf9981e7b88a3c70b3ae2eef1bca5b2e0758a",n.callServer,void 0,n.findSourceMapURL,"createFeature");var i=e.i(91891),i=i,l=e.i(3645);let d=(0,l.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);var c=e.i(16298),c=c;let u=(0,l.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),p=(0,l.default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);var f=e.i(69512),f=f;let m=(0,l.default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var h=e.i(1012),h=h,x=e.i(31777),v=e.i(8361);e.i(1650);var g=e.i(11495),b=e.i(45811),j=e.i(35364),w=e.i(98127);function C({className:e,...r}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,x.cn)("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...r})}var y=e.i(87620),k=r.forwardRef((e,r)=>(0,t.jsx)(y.Primitive.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));k.displayName="Label",e.s(["Label",()=>k,"Root",()=>k],27572);var N=e.i(27572),N=N;let P=(0,e.i(94237).cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),R=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)(N.Root,{ref:a,className:(0,x.cn)(P(),e),...r}));R.displayName=N.Root.displayName;var h=h;let E=(0,l.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);var S=e.i(5978),A=e.i(22528),F=e.i(91967),D=e.i(36589),O=e.i(77624),T=e.i(85995),M="Checkbox",[I,_]=(0,A.createContextScope)(M),[L,B]=I(M);function z(e){let{__scopeCheckbox:a,checked:o,children:n,defaultChecked:s,disabled:i,form:l,name:d,onCheckedChange:c,required:u,value:p="on",internal_do_not_use_render:f}=e,[m,h]=(0,D.useControllableState)({prop:o,defaultProp:s??!1,onChange:c,caller:M}),[x,v]=r.useState(null),[g,b]=r.useState(null),j=r.useRef(!1),w=!x||!!l||!!x.closest("form"),C={checked:m,disabled:i,setChecked:h,control:x,setControl:v,name:d,form:l,value:p,hasConsumerStoppedPropagationRef:j,required:u,defaultChecked:!W(s)&&s,isFormControl:w,bubbleInput:g,setBubbleInput:b};return(0,t.jsx)(L,{scope:a,...C,children:"function"==typeof f?f(C):n})}var H="CheckboxTrigger",G=r.forwardRef(({__scopeCheckbox:e,onKeyDown:a,onClick:o,...n},s)=>{let{control:i,value:l,disabled:d,checked:c,required:u,setControl:p,setChecked:f,hasConsumerStoppedPropagationRef:m,isFormControl:h,bubbleInput:x}=B(H,e),v=(0,S.useComposedRefs)(s,p),g=r.useRef(c);return r.useEffect(()=>{let e=i?.form;if(e){let t=()=>f(g.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[i,f]),(0,t.jsx)(y.Primitive.button,{type:"button",role:"checkbox","aria-checked":W(c)?"mixed":c,"aria-required":u,"data-state":X(c),"data-disabled":d?"":void 0,disabled:d,value:l,...n,ref:v,onKeyDown:(0,F.composeEventHandlers)(a,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,F.composeEventHandlers)(o,e=>{f(e=>!!W(e)||!e),x&&h&&(m.current=e.isPropagationStopped(),m.current||e.stopPropagation())})})});G.displayName=H;var $=r.forwardRef((e,r)=>{let{__scopeCheckbox:a,name:o,checked:n,defaultChecked:s,required:i,disabled:l,value:d,onCheckedChange:c,form:u,...p}=e;return(0,t.jsx)(z,{__scopeCheckbox:a,checked:n,defaultChecked:s,disabled:l,required:i,onCheckedChange:c,name:o,form:u,value:d,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(G,{...p,ref:r,__scopeCheckbox:a}),e&&(0,t.jsx)(V,{__scopeCheckbox:a})]})})});$.displayName=M;var U="CheckboxIndicator",K=r.forwardRef((e,r)=>{let{__scopeCheckbox:a,forceMount:o,...n}=e,s=B(U,a);return(0,t.jsx)(T.Presence,{present:o||W(s.checked)||!0===s.checked,children:(0,t.jsx)(y.Primitive.span,{"data-state":X(s.checked),"data-disabled":s.disabled?"":void 0,...n,ref:r,style:{pointerEvents:"none",...e.style}})})});K.displayName=U;var q="CheckboxBubbleInput",V=r.forwardRef(({__scopeCheckbox:e,...a},o)=>{let n,{control:s,hasConsumerStoppedPropagationRef:i,checked:l,defaultChecked:d,required:c,disabled:u,name:p,value:f,form:m,bubbleInput:h,setBubbleInput:x}=B(q,e),v=(0,S.useComposedRefs)(o,x),g=(n=r.useRef({value:l,previous:l}),r.useMemo(()=>(n.current.value!==l&&(n.current.previous=n.current.value,n.current.value=l),n.current.previous),[l])),b=(0,O.useSize)(s);r.useEffect(()=>{if(!h)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!i.current;if(g!==l&&e){let r=new Event("click",{bubbles:t});h.indeterminate=W(l),e.call(h,!W(l)&&l),h.dispatchEvent(r)}},[h,g,l,i]);let j=r.useRef(!W(l)&&l);return(0,t.jsx)(y.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:d??j.current,required:c,disabled:u,name:p,value:f,form:m,...a,tabIndex:-1,ref:v,style:{...a.style,...b,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function W(e){return"indeterminate"===e}function X(e){return W(e)?"indeterminate":e?"checked":"unchecked"}V.displayName=q,e.s(["Checkbox",()=>$,"CheckboxIndicator",()=>K,"Indicator",()=>K,"Root",()=>$,"createCheckboxScope",()=>_,"unstable_BubbleInput",()=>V,"unstable_CheckboxBubbleInput",()=>V,"unstable_CheckboxProvider",()=>z,"unstable_CheckboxTrigger",()=>G,"unstable_Provider",()=>z,"unstable_Trigger",()=>G],57696);var Y=e.i(57696),Y=Y;function Z({className:e,...r}){return(0,t.jsx)(Y.Root,{"data-slot":"checkbox",className:(0,x.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),...r,children:(0,t.jsx)(Y.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:"indeterminate"===r.checked?(0,t.jsx)(E,{className:"size-3.5"}):(0,t.jsx)(h.default,{className:"size-3.5"})})})}function J({id:e,label:r,description:a,checked:o,onCheckedChange:n,disabled:s}){return(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(Z,{id:e,className:"mt-0.75",checked:o,onCheckedChange:e=>n(!0===e),disabled:s}),(0,t.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)(R,{htmlFor:e,className:"cursor-pointer text-sm font-medium",children:r}),a?(0,t.jsx)(R,{htmlFor:e,className:"text-muted-foreground cursor-pointer text-xs font-normal",children:a}):null]})]})}function Q({label:e,description:r,parentAriaLabel:a,options:o,value:n,onValueChange:s,disabled:i}){let l=o.filter(e=>n[e.id]).length,d=l===o.length,c=l>0&&!d,u=`${e.toLowerCase().replace(/\s+/g,"-")}-group`;return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(Z,{id:u,className:"mt-0.75",checked:c?"indeterminate":d,onCheckedChange:()=>{let e=l<o.length,t={};for(let r of o)t[r.id]=e;s(t)},disabled:i,"aria-label":a??`${e} select all`}),(0,t.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)(R,{htmlFor:u,className:"cursor-pointer text-sm font-medium",children:e}),r?(0,t.jsx)(R,{htmlFor:u,className:"text-muted-foreground cursor-pointer text-xs font-normal",children:r}):null]})]}),(0,t.jsx)("div",{className:"flex flex-col gap-3 pl-6",children:o.map(e=>(0,t.jsx)(J,{id:e.id,label:e.label,description:e.description,checked:n[e.id]??!1,onCheckedChange:t=>{var r;return r=e.id,void s({...n,[r]:t})},disabled:i},e.id))})]})}var ee=e.i(81846),et=e.i(53532),er=e.i(41687),ea=e.i(56720),eo=e.i(13123),en=e.i(52740),es=e.i(39979),ei=e.i(86874),el=e.i(73772),ed=e.i(13044),ec="Popover",[eu,ep]=(0,A.createContextScope)(ec,[en.createPopperScope]),ef=(0,en.createPopperScope)(),[em,eh]=eu(ec),ex=e=>{let{__scopePopover:a,children:o,open:n,defaultOpen:s,onOpenChange:i,modal:l=!1}=e,d=ef(a),c=r.useRef(null),[u,p]=r.useState(!1),[f,m]=(0,D.useControllableState)({prop:n,defaultProp:s??!1,onChange:i,caller:ec});return(0,t.jsx)(en.Root,{...d,children:(0,t.jsx)(em,{scope:a,contentId:(0,eo.useId)(),triggerRef:c,open:f,onOpenChange:m,onOpenToggle:r.useCallback(()=>m(e=>!e),[m]),hasCustomAnchor:u,onCustomAnchorAdd:r.useCallback(()=>p(!0),[]),onCustomAnchorRemove:r.useCallback(()=>p(!1),[]),modal:l,children:o})})};ex.displayName=ec;var ev="PopoverAnchor",eg=r.forwardRef((e,a)=>{let{__scopePopover:o,...n}=e,s=eh(ev,o),i=ef(o),{onCustomAnchorAdd:l,onCustomAnchorRemove:d}=s;return r.useEffect(()=>(l(),()=>d()),[l,d]),(0,t.jsx)(en.Anchor,{...i,...n,ref:a})});eg.displayName=ev;var eb="PopoverTrigger",ej=r.forwardRef((e,r)=>{let{__scopePopover:a,...o}=e,n=eh(eb,a),s=ef(a),i=(0,S.useComposedRefs)(r,n.triggerRef),l=(0,t.jsx)(y.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":eT(n.open),...o,ref:i,onClick:(0,F.composeEventHandlers)(e.onClick,n.onOpenToggle)});return n.hasCustomAnchor?l:(0,t.jsx)(en.Anchor,{asChild:!0,...s,children:l})});ej.displayName=eb;var ew="PopoverPortal",[eC,ey]=eu(ew,{forceMount:void 0}),ek=e=>{let{__scopePopover:r,forceMount:a,children:o,container:n}=e,s=eh(ew,r);return(0,t.jsx)(eC,{scope:r,forceMount:a,children:(0,t.jsx)(T.Presence,{present:a||s.open,children:(0,t.jsx)(es.Portal,{asChild:!0,container:n,children:o})})})};ek.displayName=ew;var eN="PopoverContent",eP=r.forwardRef((e,r)=>{let a=ey(eN,e.__scopePopover),{forceMount:o=a.forceMount,...n}=e,s=eh(eN,e.__scopePopover);return(0,t.jsx)(T.Presence,{present:o||s.open,children:s.modal?(0,t.jsx)(eE,{...n,ref:r}):(0,t.jsx)(eS,{...n,ref:r})})});eP.displayName=eN;var eR=(0,ei.createSlot)("PopoverContent.RemoveScroll"),eE=r.forwardRef((e,a)=>{let o=eh(eN,e.__scopePopover),n=r.useRef(null),s=(0,S.useComposedRefs)(a,n),i=r.useRef(!1);return r.useEffect(()=>{let e=n.current;if(e)return(0,el.hideOthers)(e)},[]),(0,t.jsx)(ed.RemoveScroll,{as:eR,allowPinchZoom:!0,children:(0,t.jsx)(eA,{...e,ref:s,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,F.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),i.current||o.triggerRef.current?.focus()}),onPointerDownOutside:(0,F.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;i.current=2===t.button||r},{checkForDefaultPrevented:!1}),onFocusOutside:(0,F.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),eS=r.forwardRef((e,a)=>{let o=eh(eN,e.__scopePopover),n=r.useRef(!1),s=r.useRef(!1);return(0,t.jsx)(eA,{...e,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(n.current||o.triggerRef.current?.focus(),t.preventDefault()),n.current=!1,s.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(n.current=!0,"pointerdown"===t.detail.originalEvent.type&&(s.current=!0));let r=t.target;o.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&s.current&&t.preventDefault()}})}),eA=r.forwardRef((e,r)=>{let{__scopePopover:a,trapFocus:o,onOpenAutoFocus:n,onCloseAutoFocus:s,disableOutsidePointerEvents:i,onEscapeKeyDown:l,onPointerDownOutside:d,onFocusOutside:c,onInteractOutside:u,...p}=e,f=eh(eN,a),m=ef(a);return(0,er.useFocusGuards)(),(0,t.jsx)(ea.FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:n,onUnmountAutoFocus:s,children:(0,t.jsx)(et.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:u,onEscapeKeyDown:l,onPointerDownOutside:d,onFocusOutside:c,onDismiss:()=>f.onOpenChange(!1),children:(0,t.jsx)(en.Content,{"data-state":eT(f.open),role:"dialog",id:f.contentId,...m,...p,ref:r,style:{...p.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),eF="PopoverClose",eD=r.forwardRef((e,r)=>{let{__scopePopover:a,...o}=e,n=eh(eF,a);return(0,t.jsx)(y.Primitive.button,{type:"button",...o,ref:r,onClick:(0,F.composeEventHandlers)(e.onClick,()=>n.onOpenChange(!1))})});eD.displayName=eF;var eO=r.forwardRef((e,r)=>{let{__scopePopover:a,...o}=e,n=ef(a);return(0,t.jsx)(en.Arrow,{...n,...o,ref:r})});function eT(e){return e?"open":"closed"}eO.displayName="PopoverArrow",e.s(["Anchor",()=>eg,"Arrow",()=>eO,"Close",()=>eD,"Content",()=>eP,"Popover",()=>ex,"PopoverAnchor",()=>eg,"PopoverArrow",()=>eO,"PopoverClose",()=>eD,"PopoverContent",()=>eP,"PopoverPortal",()=>ek,"PopoverTrigger",()=>ej,"Portal",()=>ek,"Root",()=>ex,"Trigger",()=>ej,"createPopoverScope",()=>ep],89920);var eM=e.i(89920),eM=eM;let eI=eM.Root,e_=eM.Trigger;eM.Anchor;let eL=r.forwardRef(({className:e,align:r="center",sideOffset:a=4,...o},n)=>(0,t.jsx)(eM.Portal,{children:(0,t.jsx)(eM.Content,{ref:n,align:r,sideOffset:a,className:(0,x.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 z-50 w-72 rounded-md border p-4 shadow-md outline-none",e),...o})}));eL.displayName=eM.Content.displayName;var eB=e.i(30153);async function ez(){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}let eH=[{id:"allowPrd",label:"PRD",description:"Auto-approve requirements move to planning."},{id:"allowPlan",label:"Plan",description:"Auto-approve planning move to implementation."},{id:"allowMerge",label:"Merge",description:"Auto-approve merge move to Done."}],eG={allowPrd:!1,allowPlan:!1,allowMerge:!1};function e$({open:e,onClose:a,onSubmit:o,repositoryPath:n,isSubmitting:s=!1,workflowDefaults:l,features:d,initialParentId:c}){let u=(0,v.useSoundAction)("create"),p=l?.approvalGates??eG,f=l?.push??!1,m=l?.openPr??!1,[h,x]=(0,r.useState)(""),[y,k]=(0,r.useState)(""),[N,P]=(0,r.useState)([]),[E,S]=(0,r.useState)({...p}),[A,F]=(0,r.useState)(f),[D,O]=(0,r.useState)(m),[T,M]=(0,r.useState)(void 0);(0,r.useEffect)(()=>{l&&(S({...l.approvalGates}),F(l.push),O(l.openPr))},[l]),(0,r.useEffect)(()=>{e&&c&&M(c)},[e,c]);let I=(0,r.useCallback)(()=>{x(""),k(""),P([]),S({...p}),F(f),O(m),M(void 0)},[p,f,m]),_=""!==h.trim()||""!==y.trim()||N.length>0,{attemptClose:L}=(0,eB.useGuardedDrawerClose)({open:e,isDirty:_,onClose:a,onReset:I}),B=(0,r.useCallback)(e=>{if(e.preventDefault(),!h.trim())return;u.play();let t=y.trim()||void 0;o({name:h.trim(),description:t,attachments:N,repositoryPath:n,approvalGates:{allowPrd:E.allowPrd??!1,allowPlan:E.allowPlan??!1,allowMerge:E.allowMerge??!1},push:A||D,openPr:D,...T?{parentId:T}:{}}),I()},[h,y,N,E,n,o,A,D,T,u,I]),z=(0,r.useCallback)(async()=>{try{let e=await ez();e&&P(t=>[...t,...e])}catch{}},[]),H=(0,r.useCallback)(e=>{P(t=>t.filter(t=>t.path!==e))},[]),G=d&&d.length>0;return(0,t.jsx)(g.BaseDrawer,{open:e,onClose:L,size:"md",modal:!1,"data-testid":"feature-create-drawer",header:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,t.jsx)(b.DrawerTitle,{children:"NEW FEATURE"})]}),(0,t.jsx)(b.DrawerDescription,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(ee.Badge,{variant:"secondary",children:"Creating..."})})})]}),footer:(0,t.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,t.jsx)(j.Button,{variant:"outline",onClick:L,disabled:s,children:"Cancel"}),(0,t.jsx)(j.Button,{type:"submit",form:"create-feature-form",disabled:!h.trim()||s,children:s?"Creating...":"+ Create Feature"})]}),children:(0,t.jsx)("div",{className:"overflow-y-auto p-4",children:(0,t.jsxs)("form",{id:"create-feature-form",onSubmit:B,className:"flex flex-col gap-4",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(R,{htmlFor:"feature-name",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"FEATURE NAME"}),(0,t.jsx)(w.Input,{id:"feature-name",placeholder:"e.g. GitHub OAuth Login",value:h,onChange:e=>x(e.target.value),required:!0,disabled:s})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(R,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"DESCRIPTION"}),(0,t.jsx)(C,{id:"feature-description",placeholder:"Describe what this feature does...",value:y,onChange:e=>k(e.target.value),rows:4,disabled:s})]}),G?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(R,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"PARENT FEATURE"}),(0,t.jsx)(eU,{features:d,value:T,onChange:M,disabled:s})]}):null,(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(R,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"APPROVE"}),(0,t.jsx)(Q,{label:"Autonomous Mode",description:"YOLO!",parentAriaLabel:"Auto approve all",options:eH,value:E,onValueChange:S,disabled:s})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(R,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"GIT"}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(J,{id:"push",label:"Push",description:"Push branch to remote after implementation.",checked:A||D,onCheckedChange:F,disabled:D||s}),(0,t.jsx)(J,{id:"open-pr",label:"Create PR",description:"Open a pull request after pushing.",checked:D,onCheckedChange:O,disabled:s})]})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)(R,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:["ATTACHMENTS",N.length>0&&(0,t.jsxs)("span",{className:"text-muted-foreground/60 ml-1.5",children:["(",N.length,")"]})]}),(0,t.jsxs)(j.Button,{type:"button",variant:"outline",size:"xs",onClick:z,disabled:s,children:[(0,t.jsx)(i.default,{className:"size-3"}),"Add Files"]})]}),N.length>0&&(0,t.jsx)("div",{className:"flex flex-col gap-2",children:N.map(e=>(0,t.jsx)(eK,{file:e,onRemove:()=>H(e.path),disabled:s},e.path))})]})]})})})}function eU({features:e,value:a,onChange:o,disabled:n}){let[s,i]=(0,r.useState)(!1),[l,d]=(0,r.useState)(""),c=(0,r.useRef)(null),u=e.find(e=>e.id===a),p=l.trim()?e.filter(e=>e.name.toLowerCase().includes(l.toLowerCase())||e.id.toLowerCase().includes(l.toLowerCase())):e,f=(0,r.useCallback)(e=>{o(e),i(!1),d("")},[o]);return(0,r.useEffect)(()=>{s?setTimeout(()=>c.current?.focus(),0):d("")},[s]),(0,t.jsxs)(eI,{open:s,onOpenChange:i,children:[(0,t.jsx)(e_,{asChild:!0,children:(0,t.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":s,"aria-label":"Parent Feature",disabled:n,"data-testid":"parent-feature-combobox",className:(0,x.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!u&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:u?`${u.name} (${u.id.slice(0,8)})`:"Select parent feature..."}),(0,t.jsx)(m,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(eL,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(w.Input,{ref:c,placeholder:"Search features...",value:l,onChange:e=>d(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,t.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===a,onClick:()=>f(void 0),className:(0,x.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===a&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,t.jsx)(h.default,{className:(0,x.cn)("h-4 w-4 shrink-0",void 0!==a&&"invisible")}),(0,t.jsx)("span",{className:"text-muted-foreground italic",children:"No parent"})]}),0===p.length&&l?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No features found."}):p.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":a===e.id,onClick:()=>f(e.id),className:(0,x.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",a===e.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${e.id}`,children:[(0,t.jsx)(h.default,{className:(0,x.cn)("h-4 w-4 shrink-0",a!==e.id&&"invisible")}),(0,t.jsxs)("span",{className:"truncate",children:[e.name," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",e.id.slice(0,8),")"]})]})]},e.id))]})]})})]})}function eK({file:e,onRemove:r,disabled:a}){var o,n,s;let i,l=(i=(o=e.name).lastIndexOf("."))>=0?o.slice(i).toLowerCase():"",m=(n=l,eq.has(n)?u:".pdf"===n?c.default:eV.has(n)?p:d),h=".pdf"===(s=l)?"bg-red-50 text-red-600":eq.has(s)?"bg-blue-50 text-blue-600":eV.has(s)?"bg-emerald-50 text-emerald-600":"bg-gray-50 text-gray-600";return(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-md border p-2",children:[(0,t.jsx)("div",{className:(0,x.cn)("flex h-8 w-8 shrink-0 items-center justify-center rounded",h),children:(0,t.jsx)(m,{className:"h-4 w-4"})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:e.name}),(0,t.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:function(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024));return`${(e/Math.pow(1024,t)).toFixed(+(0!==t))} ${["B","KB","MB","GB"][t]}`}(e.size)})]}),(0,t.jsx)(j.Button,{type:"button",variant:"ghost",size:"icon-xs",onClick:r,disabled:a,"aria-label":`Remove ${e.name}`,children:(0,t.jsx)(f.default,{className:"h-3 w-3"})})]})}let eq=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]),eV=new Set([".ts",".tsx",".js",".jsx",".json",".yaml",".yml",".xml",".html",".css",".md"]);function eW({repositoryPath:e,initialParentId:n,features:i,workflowDefaults:l}){let d=(0,a.useRouter)(),c=(0,v.useSoundAction)("create"),[u,p]=(0,r.useState)(!1),f=(0,a.usePathname)().startsWith("/create"),m=(0,r.useCallback)(()=>{d.push("/")},[d]),h=(0,r.useCallback)(e=>{p(!0),window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{name:e.name,description:e.description,repositoryPath:e.repositoryPath}})),d.push("/"),s(e).then(e=>{if(e.error){o.toast.error(e.error),window.dispatchEvent(new CustomEvent("shep:feature-create-failed"));return}c.play(),d.refresh()}).catch(()=>{o.toast.error("Failed to create feature"),window.dispatchEvent(new CustomEvent("shep:feature-create-failed"))}).finally(()=>{p(!1)})},[d,c]);return(0,t.jsx)(e$,{open:f,onClose:m,onSubmit:h,repositoryPath:e,features:i,workflowDefaults:l,initialParentId:n,isSubmitting:u})}e.s(["CreateDrawerClient",()=>eW],15203)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,15203,e=>{"use strict";var t=e.i(20314),r=e.i(79054),a=e.i(31406),o=e.i(60112),n=e.i(21023);let s=(0,n.createServerReference)("4041ed47b64ab039614115ccb211998816d040582d",n.callServer,void 0,n.findSourceMapURL,"createFeature");var i=e.i(91891),i=i,l=e.i(3645);let d=(0,l.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);var c=e.i(16298),c=c;let u=(0,l.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),p=(0,l.default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);var f=e.i(69512),f=f;let m=(0,l.default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);var h=e.i(1012),h=h,x=e.i(31777),v=e.i(8361);e.i(1650);var g=e.i(11495),b=e.i(45811),j=e.i(35364),w=e.i(98127);function C({className:e,...r}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,x.cn)("placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input field-sizing-content min-h-[80px] w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...r})}var y=e.i(87620),k=r.forwardRef((e,r)=>(0,t.jsx)(y.Primitive.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));k.displayName="Label",e.s(["Label",()=>k,"Root",()=>k],27572);var N=e.i(27572),N=N;let P=(0,e.i(94237).cva)("text-sm leading-none font-medium peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),R=r.forwardRef(({className:e,...r},a)=>(0,t.jsx)(N.Root,{ref:a,className:(0,x.cn)(P(),e),...r}));R.displayName=N.Root.displayName;var h=h;let E=(0,l.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]);var S=e.i(5978),A=e.i(22528),F=e.i(91967),D=e.i(36589),O=e.i(77624),T=e.i(85995),M="Checkbox",[I,_]=(0,A.createContextScope)(M),[L,B]=I(M);function z(e){let{__scopeCheckbox:a,checked:o,children:n,defaultChecked:s,disabled:i,form:l,name:d,onCheckedChange:c,required:u,value:p="on",internal_do_not_use_render:f}=e,[m,h]=(0,D.useControllableState)({prop:o,defaultProp:s??!1,onChange:c,caller:M}),[x,v]=r.useState(null),[g,b]=r.useState(null),j=r.useRef(!1),w=!x||!!l||!!x.closest("form"),C={checked:m,disabled:i,setChecked:h,control:x,setControl:v,name:d,form:l,value:p,hasConsumerStoppedPropagationRef:j,required:u,defaultChecked:!W(s)&&s,isFormControl:w,bubbleInput:g,setBubbleInput:b};return(0,t.jsx)(L,{scope:a,...C,children:"function"==typeof f?f(C):n})}var H="CheckboxTrigger",G=r.forwardRef(({__scopeCheckbox:e,onKeyDown:a,onClick:o,...n},s)=>{let{control:i,value:l,disabled:d,checked:c,required:u,setControl:p,setChecked:f,hasConsumerStoppedPropagationRef:m,isFormControl:h,bubbleInput:x}=B(H,e),v=(0,S.useComposedRefs)(s,p),g=r.useRef(c);return r.useEffect(()=>{let e=i?.form;if(e){let t=()=>f(g.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[i,f]),(0,t.jsx)(y.Primitive.button,{type:"button",role:"checkbox","aria-checked":W(c)?"mixed":c,"aria-required":u,"data-state":X(c),"data-disabled":d?"":void 0,disabled:d,value:l,...n,ref:v,onKeyDown:(0,F.composeEventHandlers)(a,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,F.composeEventHandlers)(o,e=>{f(e=>!!W(e)||!e),x&&h&&(m.current=e.isPropagationStopped(),m.current||e.stopPropagation())})})});G.displayName=H;var $=r.forwardRef((e,r)=>{let{__scopeCheckbox:a,name:o,checked:n,defaultChecked:s,required:i,disabled:l,value:d,onCheckedChange:c,form:u,...p}=e;return(0,t.jsx)(z,{__scopeCheckbox:a,checked:n,defaultChecked:s,disabled:l,required:i,onCheckedChange:c,name:o,form:u,value:d,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(G,{...p,ref:r,__scopeCheckbox:a}),e&&(0,t.jsx)(V,{__scopeCheckbox:a})]})})});$.displayName=M;var U="CheckboxIndicator",K=r.forwardRef((e,r)=>{let{__scopeCheckbox:a,forceMount:o,...n}=e,s=B(U,a);return(0,t.jsx)(T.Presence,{present:o||W(s.checked)||!0===s.checked,children:(0,t.jsx)(y.Primitive.span,{"data-state":X(s.checked),"data-disabled":s.disabled?"":void 0,...n,ref:r,style:{pointerEvents:"none",...e.style}})})});K.displayName=U;var q="CheckboxBubbleInput",V=r.forwardRef(({__scopeCheckbox:e,...a},o)=>{let n,{control:s,hasConsumerStoppedPropagationRef:i,checked:l,defaultChecked:d,required:c,disabled:u,name:p,value:f,form:m,bubbleInput:h,setBubbleInput:x}=B(q,e),v=(0,S.useComposedRefs)(o,x),g=(n=r.useRef({value:l,previous:l}),r.useMemo(()=>(n.current.value!==l&&(n.current.previous=n.current.value,n.current.value=l),n.current.previous),[l])),b=(0,O.useSize)(s);r.useEffect(()=>{if(!h)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!i.current;if(g!==l&&e){let r=new Event("click",{bubbles:t});h.indeterminate=W(l),e.call(h,!W(l)&&l),h.dispatchEvent(r)}},[h,g,l,i]);let j=r.useRef(!W(l)&&l);return(0,t.jsx)(y.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:d??j.current,required:c,disabled:u,name:p,value:f,form:m,...a,tabIndex:-1,ref:v,style:{...a.style,...b,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function W(e){return"indeterminate"===e}function X(e){return W(e)?"indeterminate":e?"checked":"unchecked"}V.displayName=q,e.s(["Checkbox",()=>$,"CheckboxIndicator",()=>K,"Indicator",()=>K,"Root",()=>$,"createCheckboxScope",()=>_,"unstable_BubbleInput",()=>V,"unstable_CheckboxBubbleInput",()=>V,"unstable_CheckboxProvider",()=>z,"unstable_CheckboxTrigger",()=>G,"unstable_Provider",()=>z,"unstable_Trigger",()=>G],57696);var Y=e.i(57696),Y=Y;function Z({className:e,...r}){return(0,t.jsx)(Y.Root,{"data-slot":"checkbox",className:(0,x.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),...r,children:(0,t.jsx)(Y.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:"indeterminate"===r.checked?(0,t.jsx)(E,{className:"size-3.5"}):(0,t.jsx)(h.default,{className:"size-3.5"})})})}function J({id:e,label:r,description:a,checked:o,onCheckedChange:n,disabled:s}){return(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(Z,{id:e,className:"mt-0.75",checked:o,onCheckedChange:e=>n(!0===e),disabled:s}),(0,t.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)(R,{htmlFor:e,className:"cursor-pointer text-sm font-medium",children:r}),a?(0,t.jsx)(R,{htmlFor:e,className:"text-muted-foreground cursor-pointer text-xs font-normal",children:a}):null]})]})}function Q({label:e,description:r,parentAriaLabel:a,options:o,value:n,onValueChange:s,disabled:i}){let l=o.filter(e=>n[e.id]).length,d=l===o.length,c=l>0&&!d,u=`${e.toLowerCase().replace(/\s+/g,"-")}-group`;return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(Z,{id:u,className:"mt-0.75",checked:c?"indeterminate":d,onCheckedChange:()=>{let e=l<o.length,t={};for(let r of o)t[r.id]=e;s(t)},disabled:i,"aria-label":a??`${e} select all`}),(0,t.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,t.jsx)(R,{htmlFor:u,className:"cursor-pointer text-sm font-medium",children:e}),r?(0,t.jsx)(R,{htmlFor:u,className:"text-muted-foreground cursor-pointer text-xs font-normal",children:r}):null]})]}),(0,t.jsx)("div",{className:"flex flex-col gap-3 pl-6",children:o.map(e=>(0,t.jsx)(J,{id:e.id,label:e.label,description:e.description,checked:n[e.id]??!1,onCheckedChange:t=>{var r;return r=e.id,void s({...n,[r]:t})},disabled:i},e.id))})]})}var ee=e.i(81846),et=e.i(53532),er=e.i(41687),ea=e.i(56720),eo=e.i(13123),en=e.i(52740),es=e.i(39979),ei=e.i(86874),el=e.i(73772),ed=e.i(13044),ec="Popover",[eu,ep]=(0,A.createContextScope)(ec,[en.createPopperScope]),ef=(0,en.createPopperScope)(),[em,eh]=eu(ec),ex=e=>{let{__scopePopover:a,children:o,open:n,defaultOpen:s,onOpenChange:i,modal:l=!1}=e,d=ef(a),c=r.useRef(null),[u,p]=r.useState(!1),[f,m]=(0,D.useControllableState)({prop:n,defaultProp:s??!1,onChange:i,caller:ec});return(0,t.jsx)(en.Root,{...d,children:(0,t.jsx)(em,{scope:a,contentId:(0,eo.useId)(),triggerRef:c,open:f,onOpenChange:m,onOpenToggle:r.useCallback(()=>m(e=>!e),[m]),hasCustomAnchor:u,onCustomAnchorAdd:r.useCallback(()=>p(!0),[]),onCustomAnchorRemove:r.useCallback(()=>p(!1),[]),modal:l,children:o})})};ex.displayName=ec;var ev="PopoverAnchor",eg=r.forwardRef((e,a)=>{let{__scopePopover:o,...n}=e,s=eh(ev,o),i=ef(o),{onCustomAnchorAdd:l,onCustomAnchorRemove:d}=s;return r.useEffect(()=>(l(),()=>d()),[l,d]),(0,t.jsx)(en.Anchor,{...i,...n,ref:a})});eg.displayName=ev;var eb="PopoverTrigger",ej=r.forwardRef((e,r)=>{let{__scopePopover:a,...o}=e,n=eh(eb,a),s=ef(a),i=(0,S.useComposedRefs)(r,n.triggerRef),l=(0,t.jsx)(y.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":eT(n.open),...o,ref:i,onClick:(0,F.composeEventHandlers)(e.onClick,n.onOpenToggle)});return n.hasCustomAnchor?l:(0,t.jsx)(en.Anchor,{asChild:!0,...s,children:l})});ej.displayName=eb;var ew="PopoverPortal",[eC,ey]=eu(ew,{forceMount:void 0}),ek=e=>{let{__scopePopover:r,forceMount:a,children:o,container:n}=e,s=eh(ew,r);return(0,t.jsx)(eC,{scope:r,forceMount:a,children:(0,t.jsx)(T.Presence,{present:a||s.open,children:(0,t.jsx)(es.Portal,{asChild:!0,container:n,children:o})})})};ek.displayName=ew;var eN="PopoverContent",eP=r.forwardRef((e,r)=>{let a=ey(eN,e.__scopePopover),{forceMount:o=a.forceMount,...n}=e,s=eh(eN,e.__scopePopover);return(0,t.jsx)(T.Presence,{present:o||s.open,children:s.modal?(0,t.jsx)(eE,{...n,ref:r}):(0,t.jsx)(eS,{...n,ref:r})})});eP.displayName=eN;var eR=(0,ei.createSlot)("PopoverContent.RemoveScroll"),eE=r.forwardRef((e,a)=>{let o=eh(eN,e.__scopePopover),n=r.useRef(null),s=(0,S.useComposedRefs)(a,n),i=r.useRef(!1);return r.useEffect(()=>{let e=n.current;if(e)return(0,el.hideOthers)(e)},[]),(0,t.jsx)(ed.RemoveScroll,{as:eR,allowPinchZoom:!0,children:(0,t.jsx)(eA,{...e,ref:s,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,F.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),i.current||o.triggerRef.current?.focus()}),onPointerDownOutside:(0,F.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;i.current=2===t.button||r},{checkForDefaultPrevented:!1}),onFocusOutside:(0,F.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),eS=r.forwardRef((e,a)=>{let o=eh(eN,e.__scopePopover),n=r.useRef(!1),s=r.useRef(!1);return(0,t.jsx)(eA,{...e,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(n.current||o.triggerRef.current?.focus(),t.preventDefault()),n.current=!1,s.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(n.current=!0,"pointerdown"===t.detail.originalEvent.type&&(s.current=!0));let r=t.target;o.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&s.current&&t.preventDefault()}})}),eA=r.forwardRef((e,r)=>{let{__scopePopover:a,trapFocus:o,onOpenAutoFocus:n,onCloseAutoFocus:s,disableOutsidePointerEvents:i,onEscapeKeyDown:l,onPointerDownOutside:d,onFocusOutside:c,onInteractOutside:u,...p}=e,f=eh(eN,a),m=ef(a);return(0,er.useFocusGuards)(),(0,t.jsx)(ea.FocusScope,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:n,onUnmountAutoFocus:s,children:(0,t.jsx)(et.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:i,onInteractOutside:u,onEscapeKeyDown:l,onPointerDownOutside:d,onFocusOutside:c,onDismiss:()=>f.onOpenChange(!1),children:(0,t.jsx)(en.Content,{"data-state":eT(f.open),role:"dialog",id:f.contentId,...m,...p,ref:r,style:{...p.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),eF="PopoverClose",eD=r.forwardRef((e,r)=>{let{__scopePopover:a,...o}=e,n=eh(eF,a);return(0,t.jsx)(y.Primitive.button,{type:"button",...o,ref:r,onClick:(0,F.composeEventHandlers)(e.onClick,()=>n.onOpenChange(!1))})});eD.displayName=eF;var eO=r.forwardRef((e,r)=>{let{__scopePopover:a,...o}=e,n=ef(a);return(0,t.jsx)(en.Arrow,{...n,...o,ref:r})});function eT(e){return e?"open":"closed"}eO.displayName="PopoverArrow",e.s(["Anchor",()=>eg,"Arrow",()=>eO,"Close",()=>eD,"Content",()=>eP,"Popover",()=>ex,"PopoverAnchor",()=>eg,"PopoverArrow",()=>eO,"PopoverClose",()=>eD,"PopoverContent",()=>eP,"PopoverPortal",()=>ek,"PopoverTrigger",()=>ej,"Portal",()=>ek,"Root",()=>ex,"Trigger",()=>ej,"createPopoverScope",()=>ep],89920);var eM=e.i(89920),eM=eM;let eI=eM.Root,e_=eM.Trigger;eM.Anchor;let eL=r.forwardRef(({className:e,align:r="center",sideOffset:a=4,...o},n)=>(0,t.jsx)(eM.Portal,{children:(0,t.jsx)(eM.Content,{ref:n,align:r,sideOffset:a,className:(0,x.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 z-50 w-72 rounded-md border p-4 shadow-md outline-none",e),...o})}));eL.displayName=eM.Content.displayName;var eB=e.i(30153);async function ez(){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}let eH=[{id:"allowPrd",label:"PRD",description:"Auto-approve requirements move to planning."},{id:"allowPlan",label:"Plan",description:"Auto-approve planning move to implementation."},{id:"allowMerge",label:"Merge",description:"Auto-approve merge move to Done."}],eG={allowPrd:!1,allowPlan:!1,allowMerge:!1};function e$({open:e,onClose:a,onSubmit:o,repositoryPath:n,isSubmitting:s=!1,workflowDefaults:l,features:d,initialParentId:c}){let u=(0,v.useSoundAction)("create"),p=l?.approvalGates??eG,f=l?.push??!1,m=l?.openPr??!1,[h,x]=(0,r.useState)(""),[y,k]=(0,r.useState)(""),[N,P]=(0,r.useState)([]),[E,S]=(0,r.useState)({...p}),[A,F]=(0,r.useState)(f),[D,O]=(0,r.useState)(m),[T,M]=(0,r.useState)(void 0);(0,r.useEffect)(()=>{l&&(S({...l.approvalGates}),F(l.push),O(l.openPr))},[l]),(0,r.useEffect)(()=>{e&&c&&M(c)},[e,c]);let I=(0,r.useCallback)(()=>{x(""),k(""),P([]),S({...p}),F(f),O(m),M(void 0)},[p,f,m]),_=""!==h.trim()||""!==y.trim()||N.length>0,{attemptClose:L}=(0,eB.useGuardedDrawerClose)({open:e,isDirty:_,onClose:a,onReset:I}),B=(0,r.useCallback)(e=>{if(e.preventDefault(),!h.trim())return;u.play();let t=y.trim()||void 0;o({name:h.trim(),description:t,attachments:N,repositoryPath:n,approvalGates:{allowPrd:E.allowPrd??!1,allowPlan:E.allowPlan??!1,allowMerge:E.allowMerge??!1},push:A||D,openPr:D,...T?{parentId:T}:{}}),I()},[h,y,N,E,n,o,A,D,T,u,I]),z=(0,r.useCallback)(async()=>{try{let e=await ez();e&&P(t=>[...t,...e])}catch{}},[]),H=(0,r.useCallback)(e=>{P(t=>t.filter(t=>t.path!==e))},[]),G=d&&d.length>0;return(0,t.jsx)(g.BaseDrawer,{open:e,onClose:L,size:"md",modal:!1,"data-testid":"feature-create-drawer",header:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"h-2.5 w-2.5 shrink-0 rounded-full bg-blue-500"}),(0,t.jsx)(b.DrawerTitle,{children:"NEW FEATURE"})]}),(0,t.jsx)(b.DrawerDescription,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(ee.Badge,{variant:"secondary",children:"Creating..."})})})]}),footer:(0,t.jsxs)("div",{className:"flex flex-row justify-end gap-2",children:[(0,t.jsx)(j.Button,{variant:"outline",onClick:L,disabled:s,children:"Cancel"}),(0,t.jsx)(j.Button,{type:"submit",form:"create-feature-form",disabled:!h.trim()||s,children:s?"Creating...":"+ Create Feature"})]}),children:(0,t.jsx)("div",{className:"overflow-y-auto p-4",children:(0,t.jsxs)("form",{id:"create-feature-form",onSubmit:B,className:"flex flex-col gap-4",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(R,{htmlFor:"feature-name",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"FEATURE NAME"}),(0,t.jsx)(w.Input,{id:"feature-name",placeholder:"e.g. GitHub OAuth Login",value:h,onChange:e=>x(e.target.value),required:!0,disabled:s})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(R,{htmlFor:"feature-description",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"DESCRIPTION"}),(0,t.jsx)(C,{id:"feature-description",placeholder:"Describe what this feature does...",value:y,onChange:e=>k(e.target.value),rows:4,disabled:s})]}),G?(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(R,{htmlFor:"parent-feature",className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"PARENT FEATURE"}),(0,t.jsx)(eU,{features:d,value:T,onChange:M,disabled:s})]}):null,(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(R,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"APPROVE"}),(0,t.jsx)(Q,{label:"Autonomous Mode",description:"YOLO!",parentAriaLabel:"Auto approve all",options:eH,value:E,onValueChange:S,disabled:s})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,t.jsx)(R,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:"GIT"}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(J,{id:"push",label:"Push",description:"Push branch to remote after implementation.",checked:A||D,onCheckedChange:F,disabled:D||s}),(0,t.jsx)(J,{id:"open-pr",label:"Create PR",description:"Open a pull request after pushing.",checked:D,onCheckedChange:O,disabled:s})]})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)(R,{className:"text-muted-foreground text-xs font-semibold tracking-wider",children:["ATTACHMENTS",N.length>0&&(0,t.jsxs)("span",{className:"text-muted-foreground/60 ml-1.5",children:["(",N.length,")"]})]}),(0,t.jsxs)(j.Button,{type:"button",variant:"outline",size:"xs",onClick:z,disabled:s,children:[(0,t.jsx)(i.default,{className:"size-3"}),"Add Files"]})]}),N.length>0&&(0,t.jsx)("div",{className:"flex flex-col gap-2",children:N.map(e=>(0,t.jsx)(eK,{file:e,onRemove:()=>H(e.path),disabled:s},e.path))})]})]})})})}function eU({features:e,value:a,onChange:o,disabled:n}){let[s,i]=(0,r.useState)(!1),[l,d]=(0,r.useState)(""),c=(0,r.useRef)(null),u=e.find(e=>e.id===a),p=l.trim()?e.filter(e=>e.name.toLowerCase().includes(l.toLowerCase())||e.id.toLowerCase().includes(l.toLowerCase())):e,f=(0,r.useCallback)(e=>{o(e),i(!1),d("")},[o]);return(0,r.useEffect)(()=>{s?setTimeout(()=>c.current?.focus(),0):d("")},[s]),(0,t.jsxs)(eI,{open:s,onOpenChange:i,children:[(0,t.jsx)(e_,{asChild:!0,children:(0,t.jsxs)("button",{id:"parent-feature",type:"button",role:"combobox","aria-expanded":s,"aria-label":"Parent Feature",disabled:n,"data-testid":"parent-feature-combobox",className:(0,x.cn)("border-input bg-background ring-offset-background focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50",!u&&"text-muted-foreground"),children:[(0,t.jsx)("span",{className:"truncate",children:u?`${u.name} (${u.id.slice(0,8)})`:"Select parent feature..."}),(0,t.jsx)(m,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,t.jsx)(eL,{className:"w-80 p-0",align:"start","data-testid":"parent-feature-combobox-content",children:(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsx)(w.Input,{ref:c,placeholder:"Search features...",value:l,onChange:e=>d(e.target.value),className:"h-8 border-0 p-0 text-sm shadow-none focus-visible:ring-0","data-testid":"parent-feature-search"})}),(0,t.jsxs)("div",{className:"max-h-48 overflow-y-auto py-1",role:"listbox","aria-label":"Features",children:[(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":void 0===a,onClick:()=>f(void 0),className:(0,x.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",void 0===a&&"bg-accent/50"),"data-testid":"parent-feature-option-none",children:[(0,t.jsx)(h.default,{className:(0,x.cn)("h-4 w-4 shrink-0",void 0!==a&&"invisible")}),(0,t.jsx)("span",{className:"text-muted-foreground italic",children:"No parent"})]}),0===p.length&&l?(0,t.jsx)("p",{className:"text-muted-foreground px-3 py-2 text-sm",children:"No features found."}):p.map(e=>(0,t.jsxs)("button",{type:"button",role:"option","aria-selected":a===e.id,onClick:()=>f(e.id),className:(0,x.cn)("hover:bg-accent hover:text-accent-foreground flex w-full items-center gap-2 px-3 py-2 text-sm",a===e.id&&"bg-accent/50"),"data-testid":`parent-feature-option-${e.id}`,children:[(0,t.jsx)(h.default,{className:(0,x.cn)("h-4 w-4 shrink-0",a!==e.id&&"invisible")}),(0,t.jsxs)("span",{className:"truncate",children:[e.name," ",(0,t.jsxs)("span",{className:"text-muted-foreground font-mono text-xs",children:["(",e.id.slice(0,8),")"]})]})]},e.id))]})]})})]})}function eK({file:e,onRemove:r,disabled:a}){var o,n,s;let i,l=(i=(o=e.name).lastIndexOf("."))>=0?o.slice(i).toLowerCase():"",m=(n=l,eq.has(n)?u:".pdf"===n?c.default:eV.has(n)?p:d),h=".pdf"===(s=l)?"bg-red-50 text-red-600":eq.has(s)?"bg-blue-50 text-blue-600":eV.has(s)?"bg-emerald-50 text-emerald-600":"bg-gray-50 text-gray-600";return(0,t.jsxs)("div",{className:"flex items-center gap-3 rounded-md border p-2",children:[(0,t.jsx)("div",{className:(0,x.cn)("flex h-8 w-8 shrink-0 items-center justify-center rounded",h),children:(0,t.jsx)(m,{className:"h-4 w-4"})}),(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:e.name}),(0,t.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:e.path}),(0,t.jsx)("span",{className:"text-muted-foreground text-xs",children:function(e){if(0===e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024));return`${(e/Math.pow(1024,t)).toFixed(+(0!==t))} ${["B","KB","MB","GB"][t]}`}(e.size)})]}),(0,t.jsx)(j.Button,{type:"button",variant:"ghost",size:"icon-xs",onClick:r,disabled:a,"aria-label":`Remove ${e.name}`,children:(0,t.jsx)(f.default,{className:"h-3 w-3"})})]})}let eq=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp",".ico",".bmp"]),eV=new Set([".ts",".tsx",".js",".jsx",".json",".yaml",".yml",".xml",".html",".css",".md"]);function eW({repositoryPath:e,initialParentId:n,features:i,workflowDefaults:l}){let d=(0,a.useRouter)(),c=(0,v.useSoundAction)("create"),[u,p]=(0,r.useState)(!1),f=(0,a.usePathname)().startsWith("/create"),m=(0,r.useCallback)(()=>{d.push("/")},[d]),h=(0,r.useCallback)(e=>{p(!0),window.dispatchEvent(new CustomEvent("shep:feature-created",{detail:{name:e.name,description:e.description,repositoryPath:e.repositoryPath}})),d.push("/"),s(e).then(e=>{if(e.error){o.toast.error(e.error),window.dispatchEvent(new CustomEvent("shep:feature-create-failed"));return}c.play(),d.refresh()}).catch(()=>{o.toast.error("Failed to create feature"),window.dispatchEvent(new CustomEvent("shep:feature-create-failed"))}).finally(()=>{p(!1)})},[d,c]);return(0,t.jsx)(e$,{open:f,onClose:m,onSubmit:h,repositoryPath:e,features:i,workflowDefaults:l,initialParentId:n,isSubmitting:u})}e.s(["CreateDrawerClient",()=>eW],15203)}]);
|
package/web/.next/trace
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":
|
|
1
|
+
[{"name":"generate-buildid","duration":212,"timestamp":158669847,"id":4,"parentId":1,"tags":{},"startTime":1772639462896,"traceId":"5319e99849353c6f"},{"name":"load-custom-routes","duration":306,"timestamp":158670157,"id":5,"parentId":1,"tags":{},"startTime":1772639462896,"traceId":"5319e99849353c6f"},{"name":"create-dist-dir","duration":237,"timestamp":158670488,"id":6,"parentId":1,"tags":{},"startTime":1772639462896,"traceId":"5319e99849353c6f"},{"name":"clean","duration":195,"timestamp":158671149,"id":7,"parentId":1,"tags":{},"startTime":1772639462897,"traceId":"5319e99849353c6f"},{"name":"create-pages-mapping","duration":199,"timestamp":158722658,"id":8,"parentId":1,"tags":{},"startTime":1772639462948,"traceId":"5319e99849353c6f"},{"name":"collect-app-files","duration":2587,"timestamp":158722893,"id":9,"parentId":1,"tags":{},"startTime":1772639462949,"traceId":"5319e99849353c6f"},{"name":"create-app-mapping","duration":969,"timestamp":158725504,"id":10,"parentId":1,"tags":{},"startTime":1772639462951,"traceId":"5319e99849353c6f"},{"name":"create-app-layouts","duration":128,"timestamp":158726496,"id":11,"parentId":1,"tags":{},"startTime":1772639462952,"traceId":"5319e99849353c6f"},{"name":"collect-default-files","duration":956,"timestamp":158728889,"id":13,"parentId":1,"tags":{},"startTime":1772639462955,"traceId":"5319e99849353c6f"},{"name":"create-default-mapping","duration":131,"timestamp":158729860,"id":14,"parentId":1,"tags":{},"startTime":1772639462956,"traceId":"5319e99849353c6f"},{"name":"generate-route-types","duration":13334,"timestamp":158728337,"id":12,"parentId":1,"tags":{},"startTime":1772639462954,"traceId":"5319e99849353c6f"},{"name":"public-dir-conflict-check","duration":71,"timestamp":158741708,"id":15,"parentId":1,"tags":{},"startTime":1772639462967,"traceId":"5319e99849353c6f"},{"name":"generate-routes-manifest","duration":2388,"timestamp":158741837,"id":16,"parentId":1,"tags":{},"startTime":1772639462967,"traceId":"5319e99849353c6f"},{"name":"run-turbopack","duration":9194877,"timestamp":158748574,"id":18,"parentId":1,"tags":{},"startTime":1772639462974,"traceId":"5319e99849353c6f"},{"name":"run-typescript","duration":7790085,"timestamp":167962047,"id":20,"parentId":1,"tags":{},"startTime":1772639472188,"traceId":"5319e99849353c6f"},{"name":"generate-required-server-files","duration":1590,"timestamp":175752620,"id":22,"parentId":1,"tags":{},"startTime":1772639479978,"traceId":"5319e99849353c6f"},{"name":"check-static-error-page","duration":4208,"timestamp":175825779,"id":24,"parentId":23,"tags":{},"startTime":1772639480051,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":256198,"timestamp":175836092,"id":42,"parentId":26,"tags":{},"startTime":1772639480062,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":263992,"timestamp":175828405,"id":26,"parentId":23,"tags":{"page":"/_global-error"},"startTime":1772639480054,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":303070,"timestamp":175833416,"id":41,"parentId":25,"tags":{},"startTime":1772639480059,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":309419,"timestamp":175827124,"id":25,"parentId":23,"tags":{"page":"/_not-found"},"startTime":1772639480053,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":319626,"timestamp":175839101,"id":44,"parentId":35,"tags":{},"startTime":1772639480065,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":329546,"timestamp":175829230,"id":35,"parentId":23,"tags":{"page":"/api/tools/[id]/install"},"startTime":1772639480055,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":323315,"timestamp":175839275,"id":46,"parentId":37,"tags":{},"startTime":1772639480065,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":333226,"timestamp":175829393,"id":37,"parentId":23,"tags":{"page":"/api/tools"},"startTime":1772639480055,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":318328,"timestamp":175848135,"id":47,"parentId":31,"tags":{},"startTime":1772639480074,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":337592,"timestamp":175828901,"id":31,"parentId":23,"tags":{"page":"/api/agent-events/health"},"startTime":1772639480055,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":321380,"timestamp":175848864,"id":48,"parentId":33,"tags":{},"startTime":1772639480075,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":341194,"timestamp":175829068,"id":33,"parentId":23,"tags":{"page":"/api/deployment-logs"},"startTime":1772639480055,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":323634,"timestamp":175850929,"id":49,"parentId":32,"tags":{},"startTime":1772639480077,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":345614,"timestamp":175828968,"id":32,"parentId":23,"tags":{"page":"/api/agent-events"},"startTime":1772639480055,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":349304,"timestamp":175839184,"id":45,"parentId":36,"tags":{},"startTime":1772639480065,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":359223,"timestamp":175829312,"id":36,"parentId":23,"tags":{"page":"/api/tools/[id]/launch"},"startTime":1772639480055,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":346895,"timestamp":175854213,"id":51,"parentId":40,"tags":{},"startTime":1772639480080,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":371246,"timestamp":175829910,"id":40,"parentId":23,"tags":{"page":"/version"},"startTime":1772639480056,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":363312,"timestamp":175838817,"id":43,"parentId":34,"tags":{},"startTime":1772639480064,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":373005,"timestamp":175829151,"id":34,"parentId":23,"tags":{"page":"/api/dialog/pick-files"},"startTime":1772639480055,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":352289,"timestamp":175854344,"id":52,"parentId":39,"tags":{},"startTime":1772639480080,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":376822,"timestamp":175829830,"id":39,"parentId":23,"tags":{"page":"/tools"},"startTime":1772639480055,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":365715,"timestamp":175854168,"id":50,"parentId":38,"tags":{},"startTime":1772639480080,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":390183,"timestamp":175829724,"id":38,"parentId":23,"tags":{"page":"/skills"},"startTime":1772639480055,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":367134,"timestamp":175855530,"id":54,"parentId":30,"tags":{},"startTime":1772639480081,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":393849,"timestamp":175828834,"id":30,"parentId":23,"tags":{"page":"/"},"startTime":1772639480054,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":375051,"timestamp":175855735,"id":56,"parentId":28,"tags":{},"startTime":1772639480081,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":402128,"timestamp":175828681,"id":28,"parentId":23,"tags":{"page":"/feature/[featureId]"},"startTime":1772639480054,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":377123,"timestamp":175855632,"id":55,"parentId":29,"tags":{},"startTime":1772639480081,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":404010,"timestamp":175828763,"id":29,"parentId":23,"tags":{"page":"/repository/[repositoryId]"},"startTime":1772639480054,"traceId":"5319e99849353c6f"},{"name":"is-page-static","duration":385509,"timestamp":175855421,"id":53,"parentId":27,"tags":{},"startTime":1772639480081,"traceId":"5319e99849353c6f"},{"name":"check-page","duration":412344,"timestamp":175828599,"id":27,"parentId":23,"tags":{"page":"/create"},"startTime":1772639480054,"traceId":"5319e99849353c6f"},{"name":"static-check","duration":415952,"timestamp":175825022,"id":23,"parentId":1,"tags":{},"startTime":1772639480051,"traceId":"5319e99849353c6f"},{"name":"write-routes-manifest","duration":1924,"timestamp":176241643,"id":58,"parentId":1,"tags":{},"startTime":1772639480467,"traceId":"5319e99849353c6f"},{"name":"load-dotenv","duration":33,"timestamp":176251350,"id":61,"parentId":60,"tags":{},"startTime":1772639480477,"traceId":"5319e99849353c6f"},{"name":"run-export-path-map","duration":279,"timestamp":176253520,"id":62,"parentId":60,"tags":{},"startTime":1772639480479,"traceId":"5319e99849353c6f"},{"name":"next-export","duration":72020,"timestamp":176250459,"id":60,"parentId":1,"tags":{},"startTime":1772639480476,"traceId":"5319e99849353c6f"},{"name":"move-exported-app-global-error-","duration":439,"timestamp":176323521,"id":63,"parentId":59,"tags":{},"startTime":1772639480549,"traceId":"5319e99849353c6f"},{"name":"static-generation","duration":79154,"timestamp":176246678,"id":59,"parentId":1,"tags":{},"startTime":1772639480472,"traceId":"5319e99849353c6f"},{"name":"write-routes-manifest","duration":288,"timestamp":176326070,"id":64,"parentId":1,"tags":{},"startTime":1772639480552,"traceId":"5319e99849353c6f"},{"name":"write-standalone-directory","duration":315625,"timestamp":176330699,"id":66,"parentId":1,"tags":{},"startTime":1772639480556,"traceId":"5319e99849353c6f"},{"name":"output-standalone","duration":315782,"timestamp":176330557,"id":65,"parentId":1,"tags":{},"startTime":1772639480556,"traceId":"5319e99849353c6f"},{"name":"print-tree-view","duration":2226,"timestamp":176646440,"id":67,"parentId":1,"tags":{},"startTime":1772639480872,"traceId":"5319e99849353c6f"},{"name":"telemetry-flush","duration":57,"timestamp":176648680,"id":68,"parentId":1,"tags":{},"startTime":1772639480874,"traceId":"5319e99849353c6f"},{"name":"next-build","duration":18191246,"timestamp":158457503,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1772639462683,"traceId":"5319e99849353c6f"}]
|
package/web/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-turbopack","duration":
|
|
1
|
+
[{"name":"run-turbopack","duration":9194877,"timestamp":158748574,"id":18,"parentId":1,"tags":{},"startTime":1772639462974,"traceId":"5319e99849353c6f"},{"name":"run-typescript","duration":7790085,"timestamp":167962047,"id":20,"parentId":1,"tags":{},"startTime":1772639472188,"traceId":"5319e99849353c6f"},{"name":"static-check","duration":415952,"timestamp":175825022,"id":23,"parentId":1,"tags":{},"startTime":1772639480051,"traceId":"5319e99849353c6f"},{"name":"static-generation","duration":79154,"timestamp":176246678,"id":59,"parentId":1,"tags":{},"startTime":1772639480472,"traceId":"5319e99849353c6f"},{"name":"output-standalone","duration":315782,"timestamp":176330557,"id":65,"parentId":1,"tags":{},"startTime":1772639480556,"traceId":"5319e99849353c6f"},{"name":"telemetry-flush","duration":57,"timestamp":176648680,"id":68,"parentId":1,"tags":{},"startTime":1772639480874,"traceId":"5319e99849353c6f"},{"name":"next-build","duration":18191246,"timestamp":158457503,"id":1,"tags":{"buildMode":"default","version":"16.1.6","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1772639462683,"traceId":"5319e99849353c6f"}]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|