prime-dev-cli 1.0.16 → 1.0.18
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/server/.next/BUILD_ID +1 -1
- package/dist/server/.next/app-build-manifest.json +20 -24
- package/dist/server/.next/build-manifest.json +5 -6
- package/dist/server/.next/cache/.rscinfo +1 -1
- package/dist/server/.next/cache/.tsbuildinfo +1 -1
- package/dist/server/.next/cache/eslint/.cache_1qa5vxt +1 -1
- package/dist/server/.next/fallback-build-manifest.json +2 -2
- package/dist/server/.next/next-minimal-server.js.nft.json +1 -1
- package/dist/server/.next/next-server.js.nft.json +1 -1
- package/dist/server/.next/prerender-manifest.json +9 -9
- package/dist/server/.next/server/app/_not-found/page/app-build-manifest.json +4 -5
- package/dist/server/.next/server/app/_not-found/page/build-manifest.json +3 -4
- package/dist/server/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/server/.next/server/app/_not-found.html +1 -1
- package/dist/server/.next/server/app/_not-found.rsc +2 -2
- package/dist/server/.next/server/app/api/all-projects-envs/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/all-projects-envs/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/check-mock-intercept/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/check-mock-intercept/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/check-workspace/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/check-workspace/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/cleanup-mock/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/cleanup-mock/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/cleanup-project/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/cleanup-project/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/current-branch/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/current-branch/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/delete-mock-api/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/delete-mock-api/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/get-mock-data/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/get-mock-data/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/initialize-workspace/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/initialize-workspace/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/memory-status/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/memory-status/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/microapp-proxy-change-stream/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/microapp-proxy-change-stream/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/microapp-proxy-config/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/microapp-proxy-config/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/mock-file/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/mock-file/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/mock-file-content/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/mock-file-content/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/mock-open-status/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/mock-open-status/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/mock-setting/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/mock-setting/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/open-all-mock/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/open-all-mock/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/open-project/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/open-project/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/open-project/route.js +1 -1
- package/dist/server/.next/server/app/api/open-project/route.js.nft.json +1 -1
- package/dist/server/.next/server/app/api/process/logs/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/process/logs/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/process/logs/stream/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/process/logs/stream/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/process/start/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/process/start/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/process/status/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/process/status/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/project-config/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/project-config/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/retry-project/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/retry-project/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/workspace/create/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/api/workspace/create/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/configuration/page/app-build-manifest.json +6 -7
- package/dist/server/.next/server/app/configuration/page/build-manifest.json +3 -4
- package/dist/server/.next/server/app/configuration/page.js.nft.json +1 -1
- package/dist/server/.next/server/app/configuration/page_client-reference-manifest.js +1 -1
- package/dist/server/.next/server/app/configuration.html +1 -1
- package/dist/server/.next/server/app/configuration.rsc +3 -3
- package/dist/server/.next/server/app/favicon.ico/route/app-build-manifest.json +3 -4
- package/dist/server/.next/server/app/favicon.ico/route/build-manifest.json +3 -4
- package/dist/server/.next/server/app/index.html +1 -1
- package/dist/server/.next/server/app/index.rsc +2 -2
- package/dist/server/.next/server/app/initialization/page/app-build-manifest.json +6 -7
- package/dist/server/.next/server/app/initialization/page/build-manifest.json +3 -4
- package/dist/server/.next/server/app/initialization/page.js.nft.json +1 -1
- package/dist/server/.next/server/app/initialization/page_client-reference-manifest.js +1 -1
- package/dist/server/.next/server/app/initialization.html +1 -1
- package/dist/server/.next/server/app/initialization.rsc +3 -3
- package/dist/server/.next/server/app/page/app-build-manifest.json +4 -5
- package/dist/server/.next/server/app/page/build-manifest.json +3 -4
- package/dist/server/.next/server/app/page.js.nft.json +1 -1
- package/dist/server/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/server/.next/server/chunks/[root-of-the-server]__072f5c45._.js +7 -7
- package/dist/server/.next/server/chunks/[root-of-the-server]__072f5c45._.js.map +1 -1
- package/dist/server/.next/server/chunks/[root-of-the-server]__7fc974c9._.js +10 -10
- package/dist/server/.next/server/chunks/[root-of-the-server]__7fc974c9._.js.map +1 -1
- package/dist/server/.next/server/chunks/[root-of-the-server]__899d82eb._.js +6 -6
- package/dist/server/.next/server/chunks/[root-of-the-server]__899d82eb._.js.map +1 -1
- package/dist/server/.next/server/chunks/[root-of-the-server]__d0112f7b._.js +16 -0
- package/dist/server/.next/server/chunks/[root-of-the-server]__d0112f7b._.js.map +1 -0
- package/dist/server/.next/server/chunks/ssr/{[root-of-the-server]__f617a52d._.js → [root-of-the-server]__7b253128._.js} +2 -2
- package/dist/server/.next/server/chunks/ssr/{[root-of-the-server]__f617a52d._.js.map → [root-of-the-server]__7b253128._.js.map} +1 -1
- package/dist/server/.next/server/chunks/ssr/{[root-of-the-server]__c53d10ac._.js → [root-of-the-server]__a085452f._.js} +2 -2
- package/dist/server/.next/server/chunks/ssr/[root-of-the-server]__a085452f._.js.map +1 -0
- package/dist/server/.next/server/chunks/ssr/_a1cb0beb._.js +4 -0
- package/dist/server/.next/server/chunks/ssr/_a1cb0beb._.js.map +1 -0
- package/dist/server/.next/server/chunks/ssr/_bee8e6b2._.js +61 -0
- package/dist/server/.next/server/chunks/ssr/_bee8e6b2._.js.map +1 -0
- package/dist/server/.next/server/chunks/ssr/packages_server_src_7cef6dbd._.js +1 -1
- package/dist/server/.next/server/chunks/ssr/packages_server_src_7cef6dbd._.js.map +1 -1
- package/dist/server/.next/server/middleware-build-manifest.js +3 -4
- package/dist/server/.next/server/pages/404.html +1 -1
- package/dist/server/.next/server/pages/500.html +1 -1
- package/dist/server/.next/server/server-reference-manifest.js +1 -1
- package/dist/server/.next/server/server-reference-manifest.json +1 -1
- package/dist/server/.next/static/chunks/1e69de6d92e0d593.js.map +1 -0
- package/dist/server/.next/static/chunks/249ab5825a2160c6.js.map +1 -0
- package/dist/server/.next/static/chunks/37783149158d61fd.css +3 -0
- package/dist/server/.next/static/chunks/851593de9d497459.css.map +1 -0
- package/dist/server/.next/static/chunks/{84f5ecdc99cc0be6.js.map → 988047fb36ff8bd4.js.map} +1 -1
- package/dist/server/.next/static/chunks/a4de3104c17624f9.js.map +1 -0
- package/dist/server/.next/static/chunks/bb95e2f817926795.js +3 -0
- package/dist/server/.next/static/chunks/c4c1da381d908575.js +5 -0
- package/dist/server/.next/static/chunks/d8d9344b4a8007c0.js.map +1 -0
- package/dist/server/.next/static/chunks/dcfeeb80bf779e48.js +3 -0
- package/dist/server/.next/static/chunks/e5e4fd3e83ab66f8.js +4 -0
- package/dist/server/.next/static/chunks/f90a10be5908d5fa.js +61 -0
- package/dist/server/.next/trace +1 -1
- package/package.json +1 -1
- package/dist/server/.next/server/chunks/[root-of-the-server]__f6d4fb58._.js +0 -16
- package/dist/server/.next/server/chunks/[root-of-the-server]__f6d4fb58._.js.map +0 -1
- package/dist/server/.next/server/chunks/ssr/[root-of-the-server]__c53d10ac._.js.map +0 -1
- package/dist/server/.next/server/chunks/ssr/_5d353cf8._.js +0 -61
- package/dist/server/.next/server/chunks/ssr/_5d353cf8._.js.map +0 -1
- package/dist/server/.next/server/chunks/ssr/_e037a20f._.js +0 -4
- package/dist/server/.next/server/chunks/ssr/_e037a20f._.js.map +0 -1
- package/dist/server/.next/static/chunks/0dfafa95d29e5c79.js +0 -3
- package/dist/server/.next/static/chunks/1ad898191df92f90.css +0 -3
- package/dist/server/.next/static/chunks/2c0e57fbc9520adc.js +0 -61
- package/dist/server/.next/static/chunks/2c669537f498f2db.js.map +0 -1
- package/dist/server/.next/static/chunks/684226c5a0f22bc1.js +0 -3
- package/dist/server/.next/static/chunks/765c1fd313250591.js.map +0 -1
- package/dist/server/.next/static/chunks/a7b45611d4ad55fe.js +0 -4
- package/dist/server/.next/static/chunks/a9cba6096fe97a30.js +0 -5
- package/dist/server/.next/static/chunks/b0840b8d648f6401.css.map +0 -1
- package/dist/server/.next/static/chunks/c2cc02f47cf64419.js.map +0 -1
- package/dist/server/.next/static/chunks/cf3b2abf3523d13f.js +0 -3
- package/dist/server/.next/static/chunks/d0ab7593ca8c77ca.js.map +0 -1
- package/dist/server/.next/static/chunks/ffb74809cc596ae9.js.map +0 -1
- /package/dist/server/.next/static/{bC3bTGQyq6cbRR_M7T8N6 → rBe6tUwudOthfNpVSim6S}/_buildManifest.js +0 -0
- /package/dist/server/.next/static/{bC3bTGQyq6cbRR_M7T8N6 → rBe6tUwudOthfNpVSim6S}/_clientMiddlewareManifest.json +0 -0
- /package/dist/server/.next/static/{bC3bTGQyq6cbRR_M7T8N6 → rBe6tUwudOthfNpVSim6S}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
(globalThis.TURBOPACK=globalThis.TURBOPACK||[]).push(["object"==typeof document?document.currentScript:void 0,{77787:e=>{"use strict";var{g:t,__dirname:r}=e;function n(e,t,{checkForDefaultPrevented:r=!0}={}){return function(n){if(e?.(n),!1===r||!n.defaultPrevented)return t?.(n)}}e.s({composeEventHandlers:()=>n})},39171:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Item:()=>O,Root:()=>R,RovingFocusGroup:()=>S,RovingFocusGroupItem:()=>E,createRovingFocusGroupScope:()=>j});var n=e.i(19886),s=e.i(77787),a=e.i(29615),o=e.i(28537),i=e.i(15836),l=e.i(86048),c=e.i(42352),d=e.i(81897),u=e.i(98644),m=e.i(53955),p=e.i(20393),f="rovingFocusGroup.onEntryFocus",h={bubbles:!1,cancelable:!0},x="RovingFocusGroup",[g,v,y]=(0,a.createCollection)(x),[b,j]=(0,i.createContextScope)(x,[y]),[w,N]=b(x),S=(0,n.forwardRef)((e,t)=>(0,p.jsx)(g.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,p.jsx)(g.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,p.jsx)(C,{...e,ref:t})})}));S.displayName=x;var C=(0,n.forwardRef)((e,t)=>{let{__scopeRovingFocusGroup:r,orientation:a,loop:i=!1,dir:l,currentTabStopId:g,defaultCurrentTabStopId:y,onCurrentTabStopIdChange:b,onEntryFocus:j,preventScrollOnEntryFocus:N=!1,...S}=e,C=(0,n.useRef)(null),k=(0,o.useComposedRefs)(t,C),E=(0,m.useDirection)(l),[T,R]=(0,u.useControllableState)({prop:g,defaultProp:y??null,onChange:b,caller:x}),[O,I]=(0,n.useState)(!1),D=(0,d.useCallbackRef)(j),M=v(r),_=(0,n.useRef)(!1),[L,A]=(0,n.useState)(0);return(0,n.useEffect)(()=>{let e=C.current;if(e)return e.addEventListener(f,D),()=>e.removeEventListener(f,D)},[D]),(0,p.jsx)(w,{scope:r,orientation:a,dir:E,loop:i,currentTabStopId:T,onItemFocus:(0,n.useCallback)(e=>R(e),[R]),onItemShiftTab:(0,n.useCallback)(()=>I(!0),[]),onFocusableItemAdd:(0,n.useCallback)(()=>A(e=>e+1),[]),onFocusableItemRemove:(0,n.useCallback)(()=>A(e=>e-1),[]),children:(0,p.jsx)(c.Primitive.div,{tabIndex:O||0===L?-1:0,"data-orientation":a,...S,ref:k,style:{outline:"none",...e.style},onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,()=>{_.current=!0}),onFocus:(0,s.composeEventHandlers)(e.onFocus,e=>{let t=!_.current;if(e.target===e.currentTarget&&t&&!O){let t=new CustomEvent(f,h);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=M().filter(e=>e.focusable);P([e.find(e=>e.active),e.find(e=>e.id===T),...e].filter(Boolean).map(e=>e.ref.current),N)}}_.current=!1}),onBlur:(0,s.composeEventHandlers)(e.onBlur,()=>I(!1))})})}),k="RovingFocusGroupItem",E=(0,n.forwardRef)((e,t)=>{let{__scopeRovingFocusGroup:r,focusable:a=!0,active:o=!1,tabStopId:i,children:d,...u}=e,m=(0,l.useId)(),f=i||m,h=N(k,r),x=h.currentTabStopId===f,y=v(r),{onFocusableItemAdd:b,onFocusableItemRemove:j,currentTabStopId:w}=h;return(0,n.useEffect)(()=>{if(a)return b(),()=>j()},[a,b,j]),(0,p.jsx)(g.ItemSlot,{scope:r,id:f,focusable:a,active:o,children:(0,p.jsx)(c.Primitive.span,{tabIndex:x?0:-1,"data-orientation":h.orientation,...u,ref:t,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{a?h.onItemFocus(f):e.preventDefault()}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>h.onItemFocus(f)),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void h.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let s=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(s))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(s)))return T[s]}(e,h.orientation,h.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let r=y().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)r.reverse();else if("prev"===t||"next"===t){"prev"===t&&r.reverse();let n=r.indexOf(e.currentTarget);r=h.loop?function(e,t){return e.map((r,n)=>e[(t+n)%e.length])}(r,n+1):r.slice(n+1)}setTimeout(()=>P(r))}}),children:"function"==typeof d?d({isCurrentTabStop:x,hasTabStop:null!=w}):d})})});E.displayName=k;var T={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function P(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}var R=S,O=E},85017:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Presence:()=>o,Root:()=>l});var n=e.i(19886),s=e.i(28537),a=e.i(91327),o=e=>{let{present:t,children:r}=e,o=function(e){var t,r;let[s,o]=(0,n.useState)(),l=(0,n.useRef)(null),c=(0,n.useRef)(e),d=(0,n.useRef)("none"),[u,m]=(t=e?"mounted":"unmounted",r={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},(0,n.useReducer)((e,t)=>r[e][t]??e,t));return(0,n.useEffect)(()=>{let e=i(l.current);d.current="mounted"===u?e:"none"},[u]),(0,a.useLayoutEffect)(()=>{let t=l.current,r=c.current;if(r!==e){let n=d.current,s=i(t);e?m("MOUNT"):"none"===s||t?.display==="none"?m("UNMOUNT"):r&&n!==s?m("ANIMATION_OUT"):m("UNMOUNT"),c.current=e}},[e,m]),(0,a.useLayoutEffect)(()=>{if(s){let e,t=s.ownerDocument.defaultView??window,r=r=>{let n=i(l.current).includes(r.animationName);if(r.target===s&&n&&(m("ANIMATION_END"),!c.current)){let r=s.style.animationFillMode;s.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===s.style.animationFillMode&&(s.style.animationFillMode=r)})}},n=e=>{e.target===s&&(d.current=i(l.current))};return s.addEventListener("animationstart",n),s.addEventListener("animationcancel",r),s.addEventListener("animationend",r),()=>{t.clearTimeout(e),s.removeEventListener("animationstart",n),s.removeEventListener("animationcancel",r),s.removeEventListener("animationend",r)}}m("ANIMATION_END")},[s,m]),{isPresent:["mounted","unmountSuspended"].includes(u),ref:(0,n.useCallback)(e=>{l.current=e?getComputedStyle(e):null,o(e)},[])}}(t),l="function"==typeof r?r({present:o.isPresent}):n.Children.only(r),c=(0,s.useComposedRefs)(o.ref,function(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(r=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}(l));return"function"==typeof r||o.isPresent?(0,n.cloneElement)(l,{ref:c}):null};function i(e){return e?.animationName||"none"}o.displayName="Presence";var l=o},47385:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Content:()=>O,List:()=>P,Root:()=>T,Tabs:()=>y,TabsContent:()=>C,TabsList:()=>j,TabsTrigger:()=>N,Trigger:()=>R,createTabsScope:()=>h});var n=e.i(19886),s=e.i(77787),a=e.i(15836),o=e.i(39171),i=e.i(85017),l=e.i(42352),c=e.i(53955),d=e.i(98644),u=e.i(86048),m=e.i(20393),p="Tabs",[f,h]=(0,a.createContextScope)(p,[o.createRovingFocusGroupScope]),x=(0,o.createRovingFocusGroupScope)(),[g,v]=f(p),y=(0,n.forwardRef)((e,t)=>{let{__scopeTabs:r,value:n,onValueChange:s,defaultValue:a,orientation:o="horizontal",dir:i,activationMode:f="automatic",...h}=e,x=(0,c.useDirection)(i),[v,y]=(0,d.useControllableState)({prop:n,onChange:s,defaultProp:a??"",caller:p});return(0,m.jsx)(g,{scope:r,baseId:(0,u.useId)(),value:v,onValueChange:y,orientation:o,dir:x,activationMode:f,children:(0,m.jsx)(l.Primitive.div,{dir:x,"data-orientation":o,...h,ref:t})})});y.displayName=p;var b="TabsList",j=(0,n.forwardRef)((e,t)=>{let{__scopeTabs:r,loop:n=!0,...s}=e,a=v(b,r),i=x(r);return(0,m.jsx)(o.Root,{asChild:!0,...i,orientation:a.orientation,dir:a.dir,loop:n,children:(0,m.jsx)(l.Primitive.div,{role:"tablist","aria-orientation":a.orientation,...s,ref:t})})});j.displayName=b;var w="TabsTrigger",N=(0,n.forwardRef)((e,t)=>{let{__scopeTabs:r,value:n,disabled:a=!1,...i}=e,c=v(w,r),d=x(r),u=k(c.baseId,n),p=E(c.baseId,n),f=n===c.value;return(0,m.jsx)(o.Item,{asChild:!0,...d,focusable:!a,active:f,children:(0,m.jsx)(l.Primitive.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":p,"data-state":f?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:u,...i,ref:t,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{a||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(n)}),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(n)}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;f||a||!e||c.onValueChange(n)})})})});N.displayName=w;var S="TabsContent",C=(0,n.forwardRef)((e,t)=>{let{__scopeTabs:r,value:s,forceMount:a,children:o,...c}=e,d=v(S,r),u=k(d.baseId,s),p=E(d.baseId,s),f=s===d.value,h=(0,n.useRef)(f);return(0,n.useEffect)(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,m.jsx)(i.Presence,{present:a||f,children:({present:r})=>(0,m.jsx)(l.Primitive.div,{"data-state":f?"active":"inactive","data-orientation":d.orientation,role:"tabpanel","aria-labelledby":u,hidden:!r,id:p,tabIndex:0,...c,ref:t,style:{...e.style,animationDuration:h.current?"0s":void 0},children:r&&o})})});function k(e,t){return`${e}-trigger-${t}`}function E(e,t){return`${e}-content-${t}`}C.displayName=S;var T=y,P=j,R=N,O=C},72242:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Tabs:()=>o,TabsContent:()=>c,TabsList:()=>i,TabsTrigger:()=>l});var n=e.i(20393),s=e.i(47385),a=e.i(39037);function o({className:e,...t}){return(0,n.jsx)(s.Root,{"data-slot":"tabs",className:(0,a.cn)("flex flex-col gap-2",e),...t})}function i({className:e,...t}){return(0,n.jsx)(s.List,{"data-slot":"tabs-list",className:(0,a.cn)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",e),...t})}function l({className:e,...t}){return(0,n.jsx)(s.Trigger,{"data-slot":"tabs-trigger",className:(0,a.cn)("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t})}function c({className:e,...t}){return(0,n.jsx)(s.Content,{"data-slot":"tabs-content",className:(0,a.cn)("flex-1 outline-none",e),...t})}},44299:e=>{"use strict";var{g:t,__dirname:r}=e;function n(e,[t,r]){return Math.min(r,Math.max(t,e))}e.s({clamp:()=>n})},74702:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Branch:()=>v,DismissableLayer:()=>p,DismissableLayerBranch:()=>f,Root:()=>g});var n,s=e.i(19886),a=e.i(77787),o=e.i(42352),i=e.i(28537),l=e.i(81897),c=e.i(88091),d=e.i(20393),u="dismissableLayer.update",m=(0,s.createContext)({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),p=(0,s.forwardRef)((e,t)=>{let{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:p,onPointerDownOutside:f,onFocusOutside:g,onInteractOutside:v,onDismiss:y,...b}=e,j=(0,s.useContext)(m),[w,N]=(0,s.useState)(null),S=w?.ownerDocument??globalThis?.document,[,C]=(0,s.useState)({}),k=(0,i.useComposedRefs)(t,e=>N(e)),E=Array.from(j.layers),[T]=[...j.layersWithOutsidePointerEventsDisabled].slice(-1),P=E.indexOf(T),R=w?E.indexOf(w):-1,O=j.layersWithOutsidePointerEventsDisabled.size>0,I=R>=P,D=function(e,t=globalThis?.document){let r=(0,l.useCallbackRef)(e),n=(0,s.useRef)(!1),a=(0,s.useRef)(()=>{});return(0,s.useEffect)(()=>{let e=e=>{if(e.target&&!n.current){let n=function(){x("dismissableLayer.pointerDownOutside",r,s,{discrete:!0})},s={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",a.current),a.current=n,t.addEventListener("click",a.current,{once:!0})):n()}else t.removeEventListener("click",a.current);n.current=!1},s=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(s),t.removeEventListener("pointerdown",e),t.removeEventListener("click",a.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}(e=>{let t=e.target,r=[...j.branches].some(e=>e.contains(t));I&&!r&&(f?.(e),v?.(e),e.defaultPrevented||y?.())},S),M=function(e,t=globalThis?.document){let r=(0,l.useCallbackRef)(e),n=(0,s.useRef)(!1);return(0,s.useEffect)(()=>{let e=e=>{e.target&&!n.current&&x("dismissableLayer.focusOutside",r,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}(e=>{let t=e.target;![...j.branches].some(e=>e.contains(t))&&(g?.(e),v?.(e),e.defaultPrevented||y?.())},S);return(0,c.useEscapeKeydown)(e=>{R===j.layers.size-1&&(p?.(e),!e.defaultPrevented&&y&&(e.preventDefault(),y()))},S),(0,s.useEffect)(()=>{if(w)return r&&(0===j.layersWithOutsidePointerEventsDisabled.size&&(n=S.body.style.pointerEvents,S.body.style.pointerEvents="none"),j.layersWithOutsidePointerEventsDisabled.add(w)),j.layers.add(w),h(),()=>{r&&1===j.layersWithOutsidePointerEventsDisabled.size&&(S.body.style.pointerEvents=n)}},[w,S,r,j]),(0,s.useEffect)(()=>()=>{w&&(j.layers.delete(w),j.layersWithOutsidePointerEventsDisabled.delete(w),h())},[w,j]),(0,s.useEffect)(()=>{let e=()=>C({});return document.addEventListener(u,e),()=>document.removeEventListener(u,e)},[]),(0,d.jsx)(o.Primitive.div,{...b,ref:k,style:{pointerEvents:O?I?"auto":"none":void 0,...e.style},onFocusCapture:(0,a.composeEventHandlers)(e.onFocusCapture,M.onFocusCapture),onBlurCapture:(0,a.composeEventHandlers)(e.onBlurCapture,M.onBlurCapture),onPointerDownCapture:(0,a.composeEventHandlers)(e.onPointerDownCapture,D.onPointerDownCapture)})});p.displayName="DismissableLayer";var f=(0,s.forwardRef)((e,t)=>{let r=(0,s.useContext)(m),n=(0,s.useRef)(null),a=(0,i.useComposedRefs)(t,n);return(0,s.useEffect)(()=>{let e=n.current;if(e)return r.branches.add(e),()=>{r.branches.delete(e)}},[r.branches]),(0,d.jsx)(o.Primitive.div,{...e,ref:a})});function h(){let e=new CustomEvent(u);document.dispatchEvent(e)}function x(e,t,r,{discrete:n}){let s=r.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&s.addEventListener(e,t,{once:!0}),n?(0,o.dispatchDiscreteCustomEvent)(s,a):s.dispatchEvent(a)}f.displayName="DismissableLayerBranch";var g=p,v=f},63433:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({FocusGuards:()=>a,Root:()=>l,useFocusGuards:()=>o});var n=e.i(19886),s=0;function a(e){return o(),e.children}function o(){(0,n.useEffect)(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??i()),document.body.insertAdjacentElement("beforeend",e[1]??i()),s++,()=>{1===s&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),s--}},[])}function i(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var l=a},25663:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({ALIGN_OPTIONS:()=>h,Anchor:()=>_,Arrow:()=>A,Content:()=>L,Popper:()=>j,PopperAnchor:()=>N,PopperArrow:()=>R,PopperContent:()=>E,Root:()=>M,SIDE_OPTIONS:()=>f,createPopperScope:()=>v});var n=e.i(19886),s=e.i(73784),a=e.i(13450),o=e.i(36578),i=e.i(28537),l=e.i(15836),c=e.i(42352),d=e.i(81897),u=e.i(91327),m=e.i(30287),p=e.i(20393),f=["top","right","bottom","left"],h=["start","center","end"],x="Popper",[g,v]=(0,l.createContextScope)(x),[y,b]=g(x),j=e=>{let{__scopePopper:t,children:r}=e,[s,a]=(0,n.useState)(null);return(0,p.jsx)(y,{scope:t,anchor:s,onAnchorChange:a,children:r})};j.displayName=x;var w="PopperAnchor",N=(0,n.forwardRef)((e,t)=>{let{__scopePopper:r,virtualRef:s,...a}=e,o=b(w,r),l=(0,n.useRef)(null),d=(0,i.useComposedRefs)(t,l);return(0,n.useEffect)(()=>{o.onAnchorChange(s?.current||l.current)}),s?null:(0,p.jsx)(c.Primitive.div,{...a,ref:d})});N.displayName=w;var S="PopperContent",[C,k]=g(S),E=(0,n.forwardRef)((e,t)=>{let{__scopePopper:r,side:o="bottom",sideOffset:l=0,align:f="center",alignOffset:h=0,arrowPadding:x=0,avoidCollisions:g=!0,collisionBoundary:v=[],collisionPadding:y=0,sticky:j="partial",hideWhenDetached:w=!1,updatePositionStrategy:N="optimized",onPlaced:k,...E}=e,T=b(S,r),[P,R]=(0,n.useState)(null),M=(0,i.useComposedRefs)(t,e=>R(e)),[_,L]=(0,n.useState)(null),A=(0,m.useSize)(_),F=A?.width??0,H=A?.height??0,z="number"==typeof y?y:{top:0,right:0,bottom:0,left:0,...y},$=Array.isArray(v)?v:[v],B=$.length>0,U={padding:z,boundary:$.filter(O),altBoundary:B},{refs:V,floatingStyles:W,placement:G,isPositioned:K,middlewareData:q}=(0,s.useFloating)({strategy:"fixed",placement:o+("center"!==f?"-"+f:""),whileElementsMounted:(...e)=>(0,a.autoUpdate)(...e,{animationFrame:"always"===N}),elements:{reference:T.anchor},middleware:[(0,s.offset)({mainAxis:l+H,alignmentAxis:h}),g&&(0,s.shift)({mainAxis:!0,crossAxis:!1,limiter:"partial"===j?(0,s.limitShift)():void 0,...U}),g&&(0,s.flip)({...U}),(0,s.size)({...U,apply:({elements:e,rects:t,availableWidth:r,availableHeight:n})=>{let{width:s,height:a}=t.reference,o=e.floating.style;o.setProperty("--radix-popper-available-width",`${r}px`),o.setProperty("--radix-popper-available-height",`${n}px`),o.setProperty("--radix-popper-anchor-width",`${s}px`),o.setProperty("--radix-popper-anchor-height",`${a}px`)}}),_&&(0,s.arrow)({element:_,padding:x}),I({arrowWidth:F,arrowHeight:H}),w&&(0,s.hide)({strategy:"referenceHidden",...U})]}),[J,Y]=D(G),X=(0,d.useCallbackRef)(k);(0,u.useLayoutEffect)(()=>{K&&X?.()},[K,X]);let Z=q.arrow?.x,Q=q.arrow?.y,ee=q.arrow?.centerOffset!==0,[et,er]=(0,n.useState)();return(0,u.useLayoutEffect)(()=>{P&&er(window.getComputedStyle(P).zIndex)},[P]),(0,p.jsx)("div",{ref:V.setFloating,"data-radix-popper-content-wrapper":"",style:{...W,transform:K?W.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:et,"--radix-popper-transform-origin":[q.transformOrigin?.x,q.transformOrigin?.y].join(" "),...q.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,p.jsx)(C,{scope:r,placedSide:J,onArrowChange:L,arrowX:Z,arrowY:Q,shouldHideArrow:ee,children:(0,p.jsx)(c.Primitive.div,{"data-side":J,"data-align":Y,...E,ref:M,style:{...E.style,animation:K?void 0:"none"}})})})});E.displayName=S;var T="PopperArrow",P={top:"bottom",right:"left",bottom:"top",left:"right"},R=(0,n.forwardRef)(function(e,t){let{__scopePopper:r,...n}=e,s=k(T,r),a=P[s.placedSide];return(0,p.jsx)("span",{ref:s.onArrowChange,style:{position:"absolute",left:s.arrowX,top:s.arrowY,[a]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[s.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[s.placedSide],visibility:s.shouldHideArrow?"hidden":void 0},children:(0,p.jsx)(o.Root,{...n,ref:t,style:{...n.style,display:"block"}})})});function O(e){return null!==e}R.displayName=T;var I=e=>({name:"transformOrigin",options:e,fn(t){let{placement:r,rects:n,middlewareData:s}=t,a=s.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,i=a?0:e.arrowHeight,[l,c]=D(r),d={start:"0%",center:"50%",end:"100%"}[c],u=(s.arrow?.x??0)+o/2,m=(s.arrow?.y??0)+i/2,p="",f="";return"bottom"===l?(p=a?d:`${u}px`,f=`${-i}px`):"top"===l?(p=a?d:`${u}px`,f=`${n.floating.height+i}px`):"right"===l?(p=`${-i}px`,f=a?d:`${m}px`):"left"===l&&(p=`${n.floating.width+i}px`,f=a?d:`${m}px`),{data:{x:p,y:f}}}});function D(e){let[t,r="center"]=e.split("-");return[t,r]}var M=j,_=N,L=E,A=R},44916:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({usePrevious:()=>s});var n=e.i(19886);function s(e){let t=(0,n.useRef)({value:e,previous:e});return(0,n.useMemo)(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}},76:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Root:()=>l,VISUALLY_HIDDEN_STYLES:()=>o,VisuallyHidden:()=>i});var n=e.i(19886),s=e.i(42352),a=e.i(20393),o=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),i=(0,n.forwardRef)((e,t)=>(0,a.jsx)(s.Primitive.span,{...e,ref:t,style:{...o,...e.style}}));i.displayName="VisuallyHidden";var l=i},1990:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Arrow:()=>eG,Content:()=>eL,Group:()=>eF,Icon:()=>eM,Item:()=>ez,ItemIndicator:()=>eB,ItemText:()=>e$,Label:()=>eH,Portal:()=>e_,Root:()=>eO,ScrollDownButton:()=>eV,ScrollUpButton:()=>eU,Select:()=>z,SelectArrow:()=>ek,SelectContent:()=>q,SelectGroup:()=>el,SelectIcon:()=>W,SelectItem:()=>ef,SelectItemIndicator:()=>ev,SelectItemText:()=>ex,SelectLabel:()=>ed,SelectPortal:()=>G,SelectScrollDownButton:()=>ew,SelectScrollUpButton:()=>eb,SelectSeparator:()=>eS,SelectTrigger:()=>B,SelectValue:()=>V,SelectViewport:()=>es,Separator:()=>eW,Trigger:()=>eI,Value:()=>eD,Viewport:()=>eA,createSelectScope:()=>M});var n=e.i(19886),s=e.i(14709),a=e.i(44299),o=e.i(77787),i=e.i(29615),l=e.i(28537),c=e.i(15836),d=e.i(53955),u=e.i(74702),m=e.i(63433),p=e.i(32240),f=e.i(86048),h=e.i(25663),x=e.i(23214),g=e.i(42352),v=e.i(74009),y=e.i(81897),b=e.i(98644),j=e.i(91327),w=e.i(44916),N=e.i(76),S=e.i(83276),C=e.i(65544),k=e.i(20393),E=[" ","Enter","ArrowUp","ArrowDown"],T=[" ","Enter"],P="Select",[R,O,I]=(0,i.createCollection)(P),[D,M]=(0,c.createContextScope)(P,[I,h.createPopperScope]),_=(0,h.createPopperScope)(),[L,A]=D(P),[F,H]=D(P),z=e=>{let{__scopeSelect:t,children:r,open:s,defaultOpen:a,onOpenChange:o,value:i,defaultValue:l,onValueChange:c,dir:u,name:m,autoComplete:p,disabled:x,required:g,form:v}=e,y=_(t),[j,w]=(0,n.useState)(null),[N,S]=(0,n.useState)(null),[C,E]=(0,n.useState)(!1),T=(0,d.useDirection)(u),[O,I]=(0,b.useControllableState)({prop:s,defaultProp:a??!1,onChange:o,caller:P}),[D,M]=(0,b.useControllableState)({prop:i,defaultProp:l,onChange:c,caller:P}),A=(0,n.useRef)(null),H=!j||v||!!j.closest("form"),[z,$]=(0,n.useState)(new Set),B=Array.from(z).map(e=>e.props.value).join(";");return(0,k.jsx)(h.Root,{...y,children:(0,k.jsxs)(L,{required:g,scope:t,trigger:j,onTriggerChange:w,valueNode:N,onValueNodeChange:S,valueNodeHasChildren:C,onValueNodeHasChildrenChange:E,contentId:(0,f.useId)(),value:D,onValueChange:M,open:O,onOpenChange:I,dir:T,triggerPointerDownPosRef:A,disabled:x,children:[(0,k.jsx)(R.Provider,{scope:t,children:(0,k.jsx)(F,{scope:e.__scopeSelect,onNativeOptionAdd:(0,n.useCallback)(e=>{$(t=>new Set(t).add(e))},[]),onNativeOptionRemove:(0,n.useCallback)(e=>{$(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:r})}),H?(0,k.jsxs)(eE,{"aria-hidden":!0,required:g,tabIndex:-1,name:m,autoComplete:p,value:D,onChange:e=>M(e.target.value),disabled:x,form:v,children:[void 0===D?(0,k.jsx)("option",{value:""}):null,Array.from(z)]},B):null]})})};z.displayName=P;var $="SelectTrigger",B=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,disabled:s=!1,...a}=e,i=_(r),c=A($,r),d=c.disabled||s,u=(0,l.useComposedRefs)(t,c.onTriggerChange),m=O(r),p=(0,n.useRef)("touch"),[f,x,v]=eP(e=>{let t=m().filter(e=>!e.disabled),r=t.find(e=>e.value===c.value),n=eR(t,e,r);void 0!==n&&c.onValueChange(n.value)}),y=e=>{d||(c.onOpenChange(!0),v()),e&&(c.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,k.jsx)(h.Anchor,{asChild:!0,...i,children:(0,k.jsx)(g.Primitive.button,{type:"button",role:"combobox","aria-controls":c.contentId,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":"none",dir:c.dir,"data-state":c.open?"open":"closed",disabled:d,"data-disabled":d?"":void 0,"data-placeholder":eT(c.value)?"":void 0,...a,ref:u,onClick:(0,o.composeEventHandlers)(a.onClick,e=>{e.currentTarget.focus(),"mouse"!==p.current&&y(e)}),onPointerDown:(0,o.composeEventHandlers)(a.onPointerDown,e=>{p.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(y(e),e.preventDefault())}),onKeyDown:(0,o.composeEventHandlers)(a.onKeyDown,e=>{let t=""!==f.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||x(e.key),(!t||" "!==e.key)&&E.includes(e.key)&&(y(),e.preventDefault())})})})});B.displayName=$;var U="SelectValue",V=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,className:n,style:s,children:a,placeholder:o="",...i}=e,c=A(U,r),{onValueNodeHasChildrenChange:d}=c,u=void 0!==a,m=(0,l.useComposedRefs)(t,c.onValueNodeChange);return(0,j.useLayoutEffect)(()=>{d(u)},[d,u]),(0,k.jsx)(g.Primitive.span,{...i,ref:m,style:{pointerEvents:"none"},children:eT(c.value)?(0,k.jsx)(k.Fragment,{children:o}):a})});V.displayName=U;var W=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,children:n,...s}=e;return(0,k.jsx)(g.Primitive.span,{"aria-hidden":!0,...s,ref:t,children:n||"▼"})});W.displayName="SelectIcon";var G=e=>(0,k.jsx)(x.Portal,{asChild:!0,...e});G.displayName="SelectPortal";var K="SelectContent",q=(0,n.forwardRef)((e,t)=>{let r=A(K,e.__scopeSelect),[a,o]=(0,n.useState)();return((0,j.useLayoutEffect)(()=>{o(new DocumentFragment)},[]),r.open)?(0,k.jsx)(Z,{...e,ref:t}):a?(0,s.createPortal)((0,k.jsx)(J,{scope:e.__scopeSelect,children:(0,k.jsx)(R.Slot,{scope:e.__scopeSelect,children:(0,k.jsx)("div",{children:e.children})})}),a):null});q.displayName=K;var[J,Y]=D(K),X=(0,v.createSlot)("SelectContent.RemoveScroll"),Z=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,position:s="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:i,onPointerDownOutside:c,side:d,sideOffset:f,align:h,alignOffset:x,arrowPadding:g,collisionBoundary:v,collisionPadding:y,sticky:b,hideWhenDetached:j,avoidCollisions:w,...N}=e,E=A(K,r),[T,P]=(0,n.useState)(null),[R,I]=(0,n.useState)(null),D=(0,l.useComposedRefs)(t,e=>P(e)),[M,_]=(0,n.useState)(null),[L,F]=(0,n.useState)(null),H=O(r),[z,$]=(0,n.useState)(!1),B=(0,n.useRef)(!1);(0,n.useEffect)(()=>{if(T)return(0,S.hideOthers)(T)},[T]),(0,m.useFocusGuards)();let U=(0,n.useCallback)(e=>{let[t,...r]=H().map(e=>e.ref.current),[n]=r.slice(-1),s=document.activeElement;for(let r of e)if(r===s||(r?.scrollIntoView({block:"nearest"}),r===t&&R&&(R.scrollTop=0),r===n&&R&&(R.scrollTop=R.scrollHeight),r?.focus(),document.activeElement!==s))return},[H,R]),V=(0,n.useCallback)(()=>U([M,T]),[U,M,T]);(0,n.useEffect)(()=>{z&&V()},[z,V]);let{onOpenChange:W,triggerPointerDownPosRef:G}=E;(0,n.useEffect)(()=>{if(T){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(G.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(G.current?.y??0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():T.contains(r.target)||W(!1),document.removeEventListener("pointermove",t),G.current=null};return null!==G.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[T,W,G]),(0,n.useEffect)(()=>{let e=()=>W(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[W]);let[q,Y]=eP(e=>{let t=H().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=eR(t,e,r);n&&setTimeout(()=>n.ref.current.focus())}),Z=(0,n.useCallback)((e,t,r)=>{let n=!B.current&&!r;(void 0!==E.value&&E.value===t||n)&&(_(e),n&&(B.current=!0))},[E.value]),et=(0,n.useCallback)(()=>T?.focus(),[T]),er=(0,n.useCallback)((e,t,r)=>{let n=!B.current&&!r;(void 0!==E.value&&E.value===t||n)&&F(e)},[E.value]),en="popper"===s?ee:Q,es=en===ee?{side:d,sideOffset:f,align:h,alignOffset:x,arrowPadding:g,collisionBoundary:v,collisionPadding:y,sticky:b,hideWhenDetached:j,avoidCollisions:w}:{};return(0,k.jsx)(J,{scope:r,content:T,viewport:R,onViewportChange:I,itemRefCallback:Z,selectedItem:M,onItemLeave:et,itemTextRefCallback:er,focusSelectedItem:V,selectedItemText:L,position:s,isPositioned:z,searchRef:q,children:(0,k.jsx)(C.RemoveScroll,{as:X,allowPinchZoom:!0,children:(0,k.jsx)(p.FocusScope,{asChild:!0,trapped:E.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,o.composeEventHandlers)(a,e=>{E.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,k.jsx)(u.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>E.onOpenChange(!1),children:(0,k.jsx)(en,{role:"listbox",id:E.contentId,"data-state":E.open?"open":"closed",dir:E.dir,onContextMenu:e=>e.preventDefault(),...N,...es,onPlaced:()=>$(!0),ref:D,style:{display:"flex",flexDirection:"column",outline:"none",...N.style},onKeyDown:(0,o.composeEventHandlers)(N.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||Y(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=H().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>U(t)),e.preventDefault()}})})})})})})});Z.displayName="SelectContentImpl";var Q=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,onPlaced:s,...o}=e,i=A(K,r),c=Y(K,r),[d,u]=(0,n.useState)(null),[m,p]=(0,n.useState)(null),f=(0,l.useComposedRefs)(t,e=>p(e)),h=O(r),x=(0,n.useRef)(!1),v=(0,n.useRef)(!0),{viewport:y,selectedItem:b,selectedItemText:w,focusSelectedItem:N}=c,S=(0,n.useCallback)(()=>{if(i.trigger&&i.valueNode&&d&&m&&y&&b&&w){let e=i.trigger.getBoundingClientRect(),t=m.getBoundingClientRect(),r=i.valueNode.getBoundingClientRect(),n=w.getBoundingClientRect();if("rtl"!==i.dir){let s=n.left-t.left,o=r.left-s,i=e.left-o,l=e.width+i,c=Math.max(l,t.width),u=window.innerWidth-10,m=(0,a.clamp)(o,[10,Math.max(10,u-c)]);d.style.minWidth=l+"px",d.style.left=m+"px"}else{let s=t.right-n.right,o=window.innerWidth-r.right-s,i=window.innerWidth-e.right-o,l=e.width+i,c=Math.max(l,t.width),u=window.innerWidth-10,m=(0,a.clamp)(o,[10,Math.max(10,u-c)]);d.style.minWidth=l+"px",d.style.right=m+"px"}let o=h(),l=window.innerHeight-20,c=y.scrollHeight,u=window.getComputedStyle(m),p=parseInt(u.borderTopWidth,10),f=parseInt(u.paddingTop,10),g=parseInt(u.borderBottomWidth,10),v=p+f+c+parseInt(u.paddingBottom,10)+g,j=Math.min(5*b.offsetHeight,v),N=window.getComputedStyle(y),S=parseInt(N.paddingTop,10),C=parseInt(N.paddingBottom,10),k=e.top+e.height/2-10,E=b.offsetHeight/2,T=p+f+(b.offsetTop+E);if(T<=k){let e=o.length>0&&b===o[o.length-1].ref.current;d.style.bottom="0px";let t=Math.max(l-k,E+(e?C:0)+(m.clientHeight-y.offsetTop-y.offsetHeight)+g);d.style.height=T+t+"px"}else{let e=o.length>0&&b===o[0].ref.current;d.style.top="0px";let t=Math.max(k,p+y.offsetTop+(e?S:0)+E);d.style.height=t+(v-T)+"px",y.scrollTop=T-k+y.offsetTop}d.style.margin="10px 0",d.style.minHeight=j+"px",d.style.maxHeight=l+"px",s?.(),requestAnimationFrame(()=>x.current=!0)}},[h,i.trigger,i.valueNode,d,m,y,b,w,i.dir,s]);(0,j.useLayoutEffect)(()=>S(),[S]);let[C,E]=(0,n.useState)();(0,j.useLayoutEffect)(()=>{m&&E(window.getComputedStyle(m).zIndex)},[m]);let T=(0,n.useCallback)(e=>{e&&!0===v.current&&(S(),N?.(),v.current=!1)},[S,N]);return(0,k.jsx)(et,{scope:r,contentWrapper:d,shouldExpandOnScrollRef:x,onScrollButtonChange:T,children:(0,k.jsx)("div",{ref:u,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:C},children:(0,k.jsx)(g.Primitive.div,{...o,ref:f,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});Q.displayName="SelectItemAlignedPosition";var ee=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,align:n="start",collisionPadding:s=10,...a}=e,o=_(r);return(0,k.jsx)(h.Content,{...o,...a,ref:t,align:n,collisionPadding:s,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ee.displayName="SelectPopperPosition";var[et,er]=D(K,{}),en="SelectViewport",es=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,nonce:s,...a}=e,i=Y(en,r),c=er(en,r),d=(0,l.useComposedRefs)(t,i.onViewportChange),u=(0,n.useRef)(0);return(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:s}),(0,k.jsx)(R.Slot,{scope:r,children:(0,k.jsx)(g.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:d,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:(0,o.composeEventHandlers)(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=c;if(n?.current&&r){let e=Math.abs(u.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,s=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(s<n){let a=s+e,o=Math.min(n,a),i=a-o;r.style.height=o+"px","0px"===r.style.bottom&&(t.scrollTop=i>0?i:0,r.style.justifyContent="flex-end")}}}u.current=t.scrollTop})})})]})});es.displayName=en;var ea="SelectGroup",[eo,ei]=D(ea),el=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,...n}=e,s=(0,f.useId)();return(0,k.jsx)(eo,{scope:r,id:s,children:(0,k.jsx)(g.Primitive.div,{role:"group","aria-labelledby":s,...n,ref:t})})});el.displayName=ea;var ec="SelectLabel",ed=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,...n}=e,s=ei(ec,r);return(0,k.jsx)(g.Primitive.div,{id:s.id,...n,ref:t})});ed.displayName=ec;var eu="SelectItem",[em,ep]=D(eu),ef=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,value:s,disabled:a=!1,textValue:i,...c}=e,d=A(eu,r),u=Y(eu,r),m=d.value===s,[p,h]=(0,n.useState)(i??""),[x,v]=(0,n.useState)(!1),y=(0,l.useComposedRefs)(t,e=>u.itemRefCallback?.(e,s,a)),b=(0,f.useId)(),j=(0,n.useRef)("touch"),w=()=>{a||(d.onValueChange(s),d.onOpenChange(!1))};if(""===s)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,k.jsx)(em,{scope:r,value:s,disabled:a,textId:b,isSelected:m,onItemTextChange:(0,n.useCallback)(e=>{h(t=>t||(e?.textContent??"").trim())},[]),children:(0,k.jsx)(R.ItemSlot,{scope:r,value:s,disabled:a,textValue:p,children:(0,k.jsx)(g.Primitive.div,{role:"option","aria-labelledby":b,"data-highlighted":x?"":void 0,"aria-selected":m&&x,"data-state":m?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...c,ref:y,onFocus:(0,o.composeEventHandlers)(c.onFocus,()=>v(!0)),onBlur:(0,o.composeEventHandlers)(c.onBlur,()=>v(!1)),onClick:(0,o.composeEventHandlers)(c.onClick,()=>{"mouse"!==j.current&&w()}),onPointerUp:(0,o.composeEventHandlers)(c.onPointerUp,()=>{"mouse"===j.current&&w()}),onPointerDown:(0,o.composeEventHandlers)(c.onPointerDown,e=>{j.current=e.pointerType}),onPointerMove:(0,o.composeEventHandlers)(c.onPointerMove,e=>{j.current=e.pointerType,a?u.onItemLeave?.():"mouse"===j.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,o.composeEventHandlers)(c.onPointerLeave,e=>{e.currentTarget===document.activeElement&&u.onItemLeave?.()}),onKeyDown:(0,o.composeEventHandlers)(c.onKeyDown,e=>{(u.searchRef?.current===""||" "!==e.key)&&(T.includes(e.key)&&w()," "===e.key&&e.preventDefault())})})})})});ef.displayName=eu;var eh="SelectItemText",ex=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,className:a,style:o,...i}=e,c=A(eh,r),d=Y(eh,r),u=ep(eh,r),m=H(eh,r),[p,f]=(0,n.useState)(null),h=(0,l.useComposedRefs)(t,e=>f(e),u.onItemTextChange,e=>d.itemTextRefCallback?.(e,u.value,u.disabled)),x=p?.textContent,v=(0,n.useMemo)(()=>(0,k.jsx)("option",{value:u.value,disabled:u.disabled,children:x},u.value),[u.disabled,u.value,x]),{onNativeOptionAdd:y,onNativeOptionRemove:b}=m;return(0,j.useLayoutEffect)(()=>(y(v),()=>b(v)),[y,b,v]),(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(g.Primitive.span,{id:u.textId,...i,ref:h}),u.isSelected&&c.valueNode&&!c.valueNodeHasChildren?(0,s.createPortal)(i.children,c.valueNode):null]})});ex.displayName=eh;var eg="SelectItemIndicator",ev=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,...n}=e;return ep(eg,r).isSelected?(0,k.jsx)(g.Primitive.span,{"aria-hidden":!0,...n,ref:t}):null});ev.displayName=eg;var ey="SelectScrollUpButton",eb=(0,n.forwardRef)((e,t)=>{let r=Y(ey,e.__scopeSelect),s=er(ey,e.__scopeSelect),[a,o]=(0,n.useState)(!1),i=(0,l.useComposedRefs)(t,s.onScrollButtonChange);return(0,j.useLayoutEffect)(()=>{if(r.viewport&&r.isPositioned){let e=function(){o(t.scrollTop>0)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),a?(0,k.jsx)(eN,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});eb.displayName=ey;var ej="SelectScrollDownButton",ew=(0,n.forwardRef)((e,t)=>{let r=Y(ej,e.__scopeSelect),s=er(ej,e.__scopeSelect),[a,o]=(0,n.useState)(!1),i=(0,l.useComposedRefs)(t,s.onScrollButtonChange);return(0,j.useLayoutEffect)(()=>{if(r.viewport&&r.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;o(Math.ceil(t.scrollTop)<e)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),a?(0,k.jsx)(eN,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});ew.displayName=ej;var eN=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,onAutoScroll:s,...a}=e,i=Y("SelectScrollButton",r),l=(0,n.useRef)(null),c=O(r),d=(0,n.useCallback)(()=>{null!==l.current&&(window.clearInterval(l.current),l.current=null)},[]);return(0,n.useEffect)(()=>()=>d(),[d]),(0,j.useLayoutEffect)(()=>{let e=c().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[c]),(0,k.jsx)(g.Primitive.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:(0,o.composeEventHandlers)(a.onPointerDown,()=>{null===l.current&&(l.current=window.setInterval(s,50))}),onPointerMove:(0,o.composeEventHandlers)(a.onPointerMove,()=>{i.onItemLeave?.(),null===l.current&&(l.current=window.setInterval(s,50))}),onPointerLeave:(0,o.composeEventHandlers)(a.onPointerLeave,()=>{d()})})}),eS=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,...n}=e;return(0,k.jsx)(g.Primitive.div,{"aria-hidden":!0,...n,ref:t})});eS.displayName="SelectSeparator";var eC="SelectArrow",ek=(0,n.forwardRef)((e,t)=>{let{__scopeSelect:r,...n}=e,s=_(r),a=A(eC,r),o=Y(eC,r);return a.open&&"popper"===o.position?(0,k.jsx)(h.Arrow,{...s,...n,ref:t}):null});ek.displayName=eC;var eE=(0,n.forwardRef)(({__scopeSelect:e,value:t,...r},s)=>{let a=(0,n.useRef)(null),o=(0,l.useComposedRefs)(s,a),i=(0,w.usePrevious)(t);return(0,n.useEffect)(()=>{let e=a.current;if(!e)return;let r=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(i!==t&&r){let n=new Event("change",{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[i,t]),(0,k.jsx)(g.Primitive.select,{...r,style:{...N.VISUALLY_HIDDEN_STYLES,...r.style},ref:o,defaultValue:t})});function eT(e){return""===e||void 0===e}function eP(e){let t=(0,y.useCallbackRef)(e),r=(0,n.useRef)(""),s=(0,n.useRef)(0),a=(0,n.useCallback)(e=>{let n=r.current+e;t(n),function e(t){r.current=t,window.clearTimeout(s.current),""!==t&&(s.current=window.setTimeout(()=>e(""),1e3))}(n)},[t]),o=(0,n.useCallback)(()=>{r.current="",window.clearTimeout(s.current)},[]);return(0,n.useEffect)(()=>()=>window.clearTimeout(s.current),[]),[r,a,o]}function eR(e,t,r){var n,s;let a=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,o=r?e.indexOf(r):-1,i=(n=e,s=Math.max(o,0),n.map((e,t)=>n[(s+t)%n.length]));1===a.length&&(i=i.filter(e=>e!==r));let l=i.find(e=>e.textValue.toLowerCase().startsWith(a.toLowerCase()));return l!==r?l:void 0}eE.displayName="SelectBubbleInput";var eO=z,eI=B,eD=V,eM=W,e_=G,eL=q,eA=es,eF=el,eH=ed,ez=ef,e$=ex,eB=ev,eU=eb,eV=ew,eW=eS,eG=ek},68080:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({__iconNode:()=>t,default:()=>r});var n=e.i(49770);let t=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],r=(0,n.default)("chevron-up",t)}},9927:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({ChevronUpIcon:()=>n.default});var n=e.i(68080)},40989:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Select:()=>c,SelectContent:()=>p,SelectGroup:()=>d,SelectItem:()=>h,SelectLabel:()=>f,SelectScrollDownButton:()=>v,SelectScrollUpButton:()=>g,SelectSeparator:()=>x,SelectTrigger:()=>m,SelectValue:()=>u});var n=e.i(20393),s=e.i(1990),a=e.i(31110),o=e.i(20546),i=e.i(9927),l=e.i(39037);function c({...e}){return(0,n.jsx)(s.Root,{"data-slot":"select",...e})}function d({...e}){return(0,n.jsx)(s.Group,{"data-slot":"select-group",...e})}function u({...e}){return(0,n.jsx)(s.Value,{"data-slot":"select-value",...e})}function m({className:e,size:t="default",children:r,...a}){return(0,n.jsxs)(s.Trigger,{"data-slot":"select-trigger","data-size":t,className:(0,l.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...a,children:[r,(0,n.jsx)(s.Icon,{asChild:!0,children:(0,n.jsx)(o.ChevronDownIcon,{className:"size-4 opacity-50"})})]})}function p({className:e,children:t,position:r="popper",...a}){return(0,n.jsx)(s.Portal,{children:(0,n.jsxs)(s.Content,{"data-slot":"select-content",className:(0,l.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,...a,children:[(0,n.jsx)(g,{}),(0,n.jsx)(s.Viewport,{className:(0,l.cn)("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),(0,n.jsx)(v,{})]})})}function f({className:e,...t}){return(0,n.jsx)(s.Label,{"data-slot":"select-label",className:(0,l.cn)("text-muted-foreground px-2 py-1.5 text-xs",e),...t})}function h({className:e,children:t,...r}){return(0,n.jsxs)(s.Item,{"data-slot":"select-item",className:(0,l.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[(0,n.jsx)("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,n.jsx)(s.ItemIndicator,{children:(0,n.jsx)(a.CheckIcon,{className:"size-4"})})}),(0,n.jsx)(s.ItemText,{children:t})]})}function x({className:e,...t}){return(0,n.jsx)(s.Separator,{"data-slot":"select-separator",className:(0,l.cn)("bg-border pointer-events-none -mx-1 my-1 h-px",e),...t})}function g({className:e,...t}){return(0,n.jsx)(s.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,n.jsx)(i.ChevronUpIcon,{className:"size-4"})})}function v({className:e,...t}){return(0,n.jsx)(s.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,l.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,n.jsx)(o.ChevronDownIcon,{className:"size-4"})})}},70599:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Input:()=>a});var n=e.i(20393),s=e.i(39037);function a({className:e,type:t,...r}){return(0,n.jsx)("input",{type:t,"data-slot":"input",className:(0,s.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium 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})}},45211:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Label:()=>o,Root:()=>i});var n=e.i(19886),s=e.i(42352),a=e.i(20393),o=(0,n.forwardRef)((e,t)=>(0,a.jsx)(s.Primitive.label,{...e,ref:t,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));o.displayName="Label";var i=o},80226:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Label:()=>o});var n=e.i(20393),s=e.i(45211),a=e.i(39037);function o({className:e,...t}){return(0,n.jsx)(s.Root,{"data-slot":"label",className:(0,a.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...t})}},60994:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Root:()=>w,Switch:()=>g,SwitchThumb:()=>y,Thumb:()=>N,createSwitchScope:()=>f});var n=e.i(19886),s=e.i(77787),a=e.i(28537),o=e.i(15836),i=e.i(98644),l=e.i(44916),c=e.i(30287),d=e.i(42352),u=e.i(20393),m="Switch",[p,f]=(0,o.createContextScope)(m),[h,x]=p(m),g=(0,n.forwardRef)((e,t)=>{let{__scopeSwitch:r,name:o,checked:l,defaultChecked:c,required:p,disabled:f,value:x="on",onCheckedChange:g,form:v,...y}=e,[w,N]=(0,n.useState)(null),S=(0,a.useComposedRefs)(t,e=>N(e)),C=(0,n.useRef)(!1),k=!w||v||!!w.closest("form"),[E,T]=(0,i.useControllableState)({prop:l,defaultProp:c??!1,onChange:g,caller:m});return(0,u.jsxs)(h,{scope:r,checked:E,disabled:f,children:[(0,u.jsx)(d.Primitive.button,{type:"button",role:"switch","aria-checked":E,"aria-required":p,"data-state":j(E),"data-disabled":f?"":void 0,disabled:f,value:x,...y,ref:S,onClick:(0,s.composeEventHandlers)(e.onClick,e=>{T(e=>!e),k&&(C.current=e.isPropagationStopped(),C.current||e.stopPropagation())})}),k&&(0,u.jsx)(b,{control:w,bubbles:!C.current,name:o,value:x,checked:E,required:p,disabled:f,form:v,style:{transform:"translateX(-100%)"}})]})});g.displayName=m;var v="SwitchThumb",y=(0,n.forwardRef)((e,t)=>{let{__scopeSwitch:r,...n}=e,s=x(v,r);return(0,u.jsx)(d.Primitive.span,{"data-state":j(s.checked),"data-disabled":s.disabled?"":void 0,...n,ref:t})});y.displayName=v;var b=(0,n.forwardRef)(({__scopeSwitch:e,control:t,checked:r,bubbles:s=!0,...o},i)=>{let d=(0,n.useRef)(null),m=(0,a.useComposedRefs)(d,i),p=(0,l.usePrevious)(r),f=(0,c.useSize)(t);return(0,n.useEffect)(()=>{let e=d.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(p!==r&&t){let n=new Event("click",{bubbles:s});t.call(e,r),e.dispatchEvent(n)}},[p,r,s]),(0,u.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...o,tabIndex:-1,ref:m,style:{...o.style,...f,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function j(e){return e?"checked":"unchecked"}b.displayName="SwitchBubbleInput";var w=g,N=y},46284:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Switch:()=>o});var n=e.i(20393),s=e.i(60994),a=e.i(39037);function o({className:e,...t}){return(0,n.jsx)(s.Root,{"data-slot":"switch",className:(0,a.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:(0,n.jsx)(s.Thumb,{"data-slot":"switch-thumb",className:(0,a.cn)("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}},9385:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Table:()=>a,TableBody:()=>i,TableCaption:()=>m,TableCell:()=>u,TableFooter:()=>l,TableHead:()=>d,TableHeader:()=>o,TableRow:()=>c});var n=e.i(20393),s=e.i(39037);function a({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,n.jsx)("table",{"data-slot":"table",className:(0,s.cn)("w-full caption-bottom text-sm",e),...t})})}function o({className:e,...t}){return(0,n.jsx)("thead",{"data-slot":"table-header",className:(0,s.cn)("[&_tr]:border-b",e),...t})}function i({className:e,...t}){return(0,n.jsx)("tbody",{"data-slot":"table-body",className:(0,s.cn)("[&_tr:last-child]:border-0",e),...t})}function l({className:e,...t}){return(0,n.jsx)("tfoot",{"data-slot":"table-footer",className:(0,s.cn)("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",e),...t})}function c({className:e,...t}){return(0,n.jsx)("tr",{"data-slot":"table-row",className:(0,s.cn)("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...t})}function d({className:e,...t}){return(0,n.jsx)("th",{"data-slot":"table-head",className:(0,s.cn)("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t})}function u({className:e,...t}){return(0,n.jsx)("td",{"data-slot":"table-cell",className:(0,s.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...t})}function m({className:e,...t}){return(0,n.jsx)("caption",{"data-slot":"table-caption",className:(0,s.cn)("text-muted-foreground mt-4 text-sm",e),...t})}},73334:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Close:()=>ea,Content:()=>er,Description:()=>es,Dialog:()=>S,DialogClose:()=>W,DialogContent:()=>L,DialogDescription:()=>U,DialogOverlay:()=>I,DialogPortal:()=>R,DialogTitle:()=>$,DialogTrigger:()=>k,Overlay:()=>et,Portal:()=>ee,Root:()=>Z,Title:()=>en,Trigger:()=>Q,WarningProvider:()=>q,createDialogScope:()=>j});var n=e.i(19886),s=e.i(77787),a=e.i(28537),o=e.i(15836),i=e.i(86048),l=e.i(98644),c=e.i(74702),d=e.i(32240),u=e.i(23214),m=e.i(85017),p=e.i(42352),f=e.i(63433),h=e.i(65544),x=e.i(83276),g=e.i(74009),v=e.i(20393),y="Dialog",[b,j]=(0,o.createContextScope)(y),[w,N]=b(y),S=e=>{let{__scopeDialog:t,children:r,open:s,defaultOpen:a,onOpenChange:o,modal:c=!0}=e,d=(0,n.useRef)(null),u=(0,n.useRef)(null),[m,p]=(0,l.useControllableState)({prop:s,defaultProp:a??!1,onChange:o,caller:y});return(0,v.jsx)(w,{scope:t,triggerRef:d,contentRef:u,contentId:(0,i.useId)(),titleId:(0,i.useId)(),descriptionId:(0,i.useId)(),open:m,onOpenChange:p,onOpenToggle:(0,n.useCallback)(()=>p(e=>!e),[p]),modal:c,children:r})};S.displayName=y;var C="DialogTrigger",k=(0,n.forwardRef)((e,t)=>{let{__scopeDialog:r,...n}=e,o=N(C,r),i=(0,a.useComposedRefs)(t,o.triggerRef);return(0,v.jsx)(p.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":o.open,"aria-controls":o.contentId,"data-state":G(o.open),...n,ref:i,onClick:(0,s.composeEventHandlers)(e.onClick,o.onOpenToggle)})});k.displayName=C;var E="DialogPortal",[T,P]=b(E,{forceMount:void 0}),R=e=>{let{__scopeDialog:t,forceMount:r,children:s,container:a}=e,o=N(E,t);return(0,v.jsx)(T,{scope:t,forceMount:r,children:n.Children.map(s,e=>(0,v.jsx)(m.Presence,{present:r||o.open,children:(0,v.jsx)(u.Portal,{asChild:!0,container:a,children:e})}))})};R.displayName=E;var O="DialogOverlay",I=(0,n.forwardRef)((e,t)=>{let r=P(O,e.__scopeDialog),{forceMount:n=r.forceMount,...s}=e,a=N(O,e.__scopeDialog);return a.modal?(0,v.jsx)(m.Presence,{present:n||a.open,children:(0,v.jsx)(M,{...s,ref:t})}):null});I.displayName=O;var D=(0,g.createSlot)("DialogOverlay.RemoveScroll"),M=(0,n.forwardRef)((e,t)=>{let{__scopeDialog:r,...n}=e,s=N(O,r);return(0,v.jsx)(h.RemoveScroll,{as:D,allowPinchZoom:!0,shards:[s.contentRef],children:(0,v.jsx)(p.Primitive.div,{"data-state":G(s.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),_="DialogContent",L=(0,n.forwardRef)((e,t)=>{let r=P(_,e.__scopeDialog),{forceMount:n=r.forceMount,...s}=e,a=N(_,e.__scopeDialog);return(0,v.jsx)(m.Presence,{present:n||a.open,children:a.modal?(0,v.jsx)(A,{...s,ref:t}):(0,v.jsx)(F,{...s,ref:t})})});L.displayName=_;var A=(0,n.forwardRef)((e,t)=>{let r=N(_,e.__scopeDialog),o=(0,n.useRef)(null),i=(0,a.useComposedRefs)(t,r.contentRef,o);return(0,n.useEffect)(()=>{let e=o.current;if(e)return(0,x.hideOthers)(e)},[]),(0,v.jsx)(H,{...e,ref:i,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,s.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:(0,s.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,s.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault())})}),F=(0,n.forwardRef)((e,t)=>{let r=N(_,e.__scopeDialog),s=(0,n.useRef)(!1),a=(0,n.useRef)(!1);return(0,v.jsx)(H,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(s.current||r.triggerRef.current?.focus(),t.preventDefault()),s.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(s.current=!0,"pointerdown"===t.detail.originalEvent.type&&(a.current=!0));let n=t.target;r.triggerRef.current?.contains(n)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),H=(0,n.forwardRef)((e,t)=>{let{__scopeDialog:r,trapFocus:s,onOpenAutoFocus:o,onCloseAutoFocus:i,...l}=e,u=N(_,r),m=(0,n.useRef)(null),p=(0,a.useComposedRefs)(t,m);return(0,f.useFocusGuards)(),(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(d.FocusScope,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:o,onUnmountAutoFocus:i,children:(0,v.jsx)(c.DismissableLayer,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":G(u.open),...l,ref:p,onDismiss:()=>u.onOpenChange(!1)})}),(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(Y,{titleId:u.titleId}),(0,v.jsx)(X,{contentRef:m,descriptionId:u.descriptionId})]})]})}),z="DialogTitle",$=(0,n.forwardRef)((e,t)=>{let{__scopeDialog:r,...n}=e,s=N(z,r);return(0,v.jsx)(p.Primitive.h2,{id:s.titleId,...n,ref:t})});$.displayName=z;var B="DialogDescription",U=(0,n.forwardRef)((e,t)=>{let{__scopeDialog:r,...n}=e,s=N(B,r);return(0,v.jsx)(p.Primitive.p,{id:s.descriptionId,...n,ref:t})});U.displayName=B;var V="DialogClose",W=(0,n.forwardRef)((e,t)=>{let{__scopeDialog:r,...n}=e,a=N(V,r);return(0,v.jsx)(p.Primitive.button,{type:"button",...n,ref:t,onClick:(0,s.composeEventHandlers)(e.onClick,()=>a.onOpenChange(!1))})});function G(e){return e?"open":"closed"}W.displayName=V;var K="DialogTitleWarning",[q,J]=(0,o.createContext)(K,{contentName:_,titleName:z,docsSlug:"dialog"}),Y=({titleId:e})=>{let t=J(K),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
2
|
+
|
|
3
|
+
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4
|
+
|
|
5
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return(0,n.useEffect)(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},X=({contentRef:e,descriptionId:t})=>{let r=J("DialogDescriptionWarning"),s=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${r.contentName}}.`;return(0,n.useEffect)(()=>{let r=e.current?.getAttribute("aria-describedby");t&&r&&(document.getElementById(t)||console.warn(s))},[s,e,t]),null},Z=S,Q=k,ee=R,et=I,er=L,en=$,es=U,ea=W},12610:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({__iconNode:()=>t,default:()=>r});var n=e.i(49770);let t=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],r=(0,n.default)("x",t)}},96758:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({XIcon:()=>n.default});var n=e.i(12610)},19579:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Dialog:()=>i,DialogClose:()=>d,DialogContent:()=>m,DialogDescription:()=>x,DialogFooter:()=>f,DialogHeader:()=>p,DialogOverlay:()=>u,DialogPortal:()=>c,DialogTitle:()=>h,DialogTrigger:()=>l});var n=e.i(20393),s=e.i(73334),a=e.i(96758),o=e.i(39037);function i({...e}){return(0,n.jsx)(s.Root,{"data-slot":"dialog",...e})}function l({...e}){return(0,n.jsx)(s.Trigger,{"data-slot":"dialog-trigger",...e})}function c({...e}){return(0,n.jsx)(s.Portal,{"data-slot":"dialog-portal",...e})}function d({...e}){return(0,n.jsx)(s.Close,{"data-slot":"dialog-close",...e})}function u({className:e,...t}){return(0,n.jsx)(s.Overlay,{"data-slot":"dialog-overlay",className:(0,o.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/50",e),...t})}function m({className:e,children:t,showCloseButton:r=!0,...i}){return(0,n.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,n.jsx)(u,{}),(0,n.jsxs)(s.Content,{"data-slot":"dialog-content",className:(0,o.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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200",e),...i,children:[t,r&&(0,n.jsxs)(s.Close,{"data-slot":"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-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,n.jsx)(a.XIcon,{}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function p({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",e),...t})}function f({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t})}function h({className:e,...t}){return(0,n.jsx)(s.Title,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-semibold",e),...t})}function x({className:e,...t}){return(0,n.jsx)(s.Description,{"data-slot":"dialog-description",className:(0,o.cn)("text-muted-foreground text-sm",e),...t})}},78237:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Checkbox:()=>j,CheckboxIndicator:()=>N,Indicator:()=>N,Root:()=>j,createCheckboxScope:()=>h,unstable_BubbleInput:()=>C,unstable_CheckboxBubbleInput:()=>C,unstable_CheckboxProvider:()=>v,unstable_CheckboxTrigger:()=>b,unstable_Provider:()=>v,unstable_Trigger:()=>b});var n=e.i(19886),s=e.i(28537),a=e.i(15836),o=e.i(92391),i=e.i(98644),l=e.i(44916),c=e.i(30287),d=e.i(62585),u=e.i(42352),m=e.i(20393),p="Checkbox",[f,h]=(0,a.createContextScope)(p),[x,g]=f(p);function v(e){let{__scopeCheckbox:t,checked:r,children:s,defaultChecked:a,disabled:o,form:l,name:c,onCheckedChange:d,required:u,value:f="on",internal_do_not_use_render:h}=e,[g,v]=(0,i.useControllableState)({prop:r,defaultProp:a??!1,onChange:d,caller:p}),[y,b]=(0,n.useState)(null),[j,w]=(0,n.useState)(null),N=(0,n.useRef)(!1),S=!y||!!l||!!y.closest("form"),C={checked:g,disabled:o,setChecked:v,control:y,setControl:b,name:c,form:l,value:f,hasConsumerStoppedPropagationRef:N,required:u,defaultChecked:!k(a)&&a,isFormControl:S,bubbleInput:j,setBubbleInput:w};return(0,m.jsx)(x,{scope:t,...C,children:"function"==typeof h?h(C):s})}var y="CheckboxTrigger",b=(0,n.forwardRef)(({__scopeCheckbox:e,onKeyDown:t,onClick:r,...a},i)=>{let{control:l,value:c,disabled:d,checked:p,required:f,setControl:h,setChecked:x,hasConsumerStoppedPropagationRef:v,isFormControl:b,bubbleInput:j}=g(y,e),w=(0,s.useComposedRefs)(i,h),N=(0,n.useRef)(p);return(0,n.useEffect)(()=>{let e=l?.form;if(e){let t=()=>x(N.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[l,x]),(0,m.jsx)(u.Primitive.button,{type:"button",role:"checkbox","aria-checked":k(p)?"mixed":p,"aria-required":f,"data-state":E(p),"data-disabled":d?"":void 0,disabled:d,value:c,...a,ref:w,onKeyDown:(0,o.composeEventHandlers)(t,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,o.composeEventHandlers)(r,e=>{x(e=>!!k(e)||!e),j&&b&&(v.current=e.isPropagationStopped(),v.current||e.stopPropagation())})})});b.displayName=y;var j=(0,n.forwardRef)((e,t)=>{let{__scopeCheckbox:r,name:n,checked:s,defaultChecked:a,required:o,disabled:i,value:l,onCheckedChange:c,form:d,...u}=e;return(0,m.jsx)(v,{__scopeCheckbox:r,checked:s,defaultChecked:a,disabled:i,required:o,onCheckedChange:c,name:n,form:d,value:l,internal_do_not_use_render:({isFormControl:e})=>(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(b,{...u,ref:t,__scopeCheckbox:r}),e&&(0,m.jsx)(C,{__scopeCheckbox:r})]})})});j.displayName=p;var w="CheckboxIndicator",N=(0,n.forwardRef)((e,t)=>{let{__scopeCheckbox:r,forceMount:n,...s}=e,a=g(w,r);return(0,m.jsx)(d.Presence,{present:n||k(a.checked)||!0===a.checked,children:(0,m.jsx)(u.Primitive.span,{"data-state":E(a.checked),"data-disabled":a.disabled?"":void 0,...s,ref:t,style:{pointerEvents:"none",...e.style}})})});N.displayName=w;var S="CheckboxBubbleInput",C=(0,n.forwardRef)(({__scopeCheckbox:e,...t},r)=>{let{control:a,hasConsumerStoppedPropagationRef:o,checked:i,defaultChecked:d,required:p,disabled:f,name:h,value:x,form:v,bubbleInput:y,setBubbleInput:b}=g(S,e),j=(0,s.useComposedRefs)(r,b),w=(0,l.usePrevious)(i),N=(0,c.useSize)(a);(0,n.useEffect)(()=>{if(!y)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!o.current;if(w!==i&&e){let r=new Event("click",{bubbles:t});y.indeterminate=k(i),e.call(y,!k(i)&&i),y.dispatchEvent(r)}},[y,w,i,o]);let C=(0,n.useRef)(!k(i)&&i);return(0,m.jsx)(u.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:d??C.current,required:p,disabled:f,name:h,value:x,form:v,...t,tabIndex:-1,ref:j,style:{...t.style,...N,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function k(e){return"indeterminate"===e}function E(e){return k(e)?"indeterminate":e?"checked":"unchecked"}C.displayName=S},46456:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({Check:()=>n.default});var n=e.i(64412)},42736:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({Checkbox:()=>t});var n=e.i(20393),s=e.i(19886),a=e.i(78237),o=e.i(46456),i=e.i(39037);let t=(0,s.forwardRef)(({className:e,...t},r)=>(0,n.jsx)(a.Root,{ref:r,className:(0,i.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-gray-300 ring-offset-white focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-950 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-gray-900 data-[state=checked]:text-white dark:border-gray-800 dark:ring-offset-gray-950 dark:focus-visible:ring-gray-300 dark:data-[state=checked]:bg-gray-50 dark:data-[state=checked]:text-gray-900",e),...t,children:(0,n.jsx)(a.Indicator,{className:(0,i.cn)("flex items-center justify-center text-current"),children:(0,n.jsx)(o.Check,{className:"h-4 w-4"})})}));t.displayName=a.Root.displayName}},95113:e=>{"use strict";var{g:t,__dirname:r}=e;function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function o(e,t){if(null==e)return{};var r,n,s={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(s[r]=e[r]);return s}function i(e,t){if(null==e)return{};var r,n,s=o(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r])}return s}function l(e,t){return c(e)||d(e,t)||u(e,t)||p()}function c(e){if(Array.isArray(e))return e}function d(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,s=!1,a=void 0;try{for(var o,i=e[Symbol.iterator]();!(n=(o=i.next()).done)&&(r.push(o.value),!t||r.length!==t);n=!0);}catch(e){s=!0,a=e}finally{try{n||null==i.return||i.return()}finally{if(s)throw a}}return r}}function u(e,t){if(e){if("string"==typeof e)return m(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return m(e,t)}}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function p(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}e.s({arrayLikeToArray:()=>m,arrayWithHoles:()=>c,defineProperty:()=>n,iterableToArrayLimit:()=>d,nonIterableRest:()=>p,objectSpread2:()=>a,objectWithoutProperties:()=>i,objectWithoutPropertiesLoose:()=>o,slicedToArray:()=>l,unsupportedIterableToArray:()=>u})},85767:e=>{"use strict";var{g:t,__dirname:r}=e;{function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function a(e){return function t(){for(var r=this,n=arguments.length,s=Array(n),a=0;a<n;a++)s[a]=arguments[a];return s.length>=e.length?e.apply(this,s):function(){for(var e=arguments.length,n=Array(e),a=0;a<e;a++)n[a]=arguments[a];return t.apply(r,[].concat(s,n))}}}function o(e){return({}).toString.call(e).includes("Object")}function i(e){return"function"==typeof e}e.s({default:()=>t});var l=a(function(e,t){throw Error(e[t]||e.default)})({initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"}),c={changes:function(e,t){return o(t)||l("changeType"),Object.keys(t).some(function(t){return!Object.prototype.hasOwnProperty.call(e,t)})&&l("changeField"),t},selector:function(e){i(e)||l("selectorType")},handler:function(e){i(e)||o(e)||l("handlerType"),o(e)&&Object.values(e).some(function(e){return!i(e)})&&l("handlersType")},initial:function(e){e||l("initialIsRequired"),o(e)||l("initialType"),Object.keys(e).length||l("initialContent")}};function d(e,t){return i(t)?t(e.current):t}function u(e,t){return e.current=s(s({},e.current),t),t}function m(e,t,r){return i(t)?t(e.current):Object.keys(r).forEach(function(r){var n;return null==(n=t[r])?void 0:n.call(t,e.current[r])}),r}let t={create:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};c.initial(e),c.handler(t);var r={current:e},n=a(m)(r,t),s=a(u)(r),o=a(c.changes)(e),i=a(d)(r);return[function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e};return c.selector(e),e(r.current)},function(e){(function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}})(n,s,o,i)(e)}]}}}},53120:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({default:()=>t});let t={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.52.2/min/vs"}}}},72460:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({default:()=>t});let t=function(e){return function t(){for(var r=this,n=arguments.length,s=Array(n),a=0;a<n;a++)s[a]=arguments[a];return s.length>=e.length?e.apply(this,s):function(){for(var e=arguments.length,n=Array(e),a=0;a<e;a++)n[a]=arguments[a];return t.apply(r,[].concat(s,n))}}}}},63839:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({default:()=>t});let t=function(e){return({}).toString.call(e).includes("Object")}}},93408:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({default:()=>t,errorHandler:()=>o,errorMessages:()=>a});var n=e.i(72460),s=e.i(63839),a={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:"Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n "},o=(0,n.default)(function(e,t){throw Error(e[t]||e.default)})(a);let t={config:function(e){return(e||o("configIsRequired"),(0,s.default)(e)||o("configType"),e.urls)?(console.warn(a.deprecation),{paths:{vs:e.urls.monacoBase}}):e}}}},28295:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({default:()=>t});let t=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return t.reduceRight(function(e,t){return t(e)},e)}}}},13614:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({default:()=>t});var n=e.i(95113);let t=function e(t,r){return Object.keys(r).forEach(function(n){r[n]instanceof Object&&t[n]&&Object.assign(r[n],e(t[n],r[n]))}),(0,n.objectSpread2)((0,n.objectSpread2)({},t),r)}}},28042:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({CANCELATION_MESSAGE:()=>n,default:()=>t});var n={type:"cancelation",msg:"operation is manually canceled"};let t=function(e){var t=!1,r=new Promise(function(r,s){e.then(function(e){return t?s(n):r(e)}),e.catch(s)});return r.cancel=function(){return t=!0},r}}},72189:e=>{"use strict";var{g:t,__dirname:r}=e;{e.s({default:()=>t});var n=e.i(95113),s=e.i(85767),a=e.i(53120),o=e.i(93408),i=e.i(28295),l=e.i(13614),c=e.i(28042),d=s.default.create({config:a.default,isInitialized:!1,resolve:null,reject:null,monaco:null}),u=(0,n.slicedToArray)(d,2),m=u[0],p=u[1];function f(e){return document.body.appendChild(e)}function h(e){var t,r,n=m(function(e){return{config:e.config,reject:e.reject}}),s=(t="".concat(n.config.paths.vs,"/loader.js"),r=document.createElement("script"),t&&(r.src=t),r);return s.onload=function(){return e()},s.onerror=n.reject,s}function x(){var e=m(function(e){return{config:e.config,resolve:e.resolve,reject:e.reject}}),t=window.require;t.config(e.config),t(["vs/editor/editor.main"],function(t){g(t),e.resolve(t)},function(t){e.reject(t)})}function g(e){m().monaco||p({monaco:e})}var v=new Promise(function(e,t){return p({resolve:e,reject:t})});let t={config:function(e){var t=o.default.config(e),r=t.monaco,s=(0,n.objectWithoutProperties)(t,["monaco"]);p(function(e){return{config:(0,l.default)(e.config,s),monaco:r}})},init:function(){var e=m(function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}});if(!e.isInitialized){if(p({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),(0,c.default)(v);if(window.monaco&&window.monaco.editor)return g(window.monaco),e.resolve(window.monaco),(0,c.default)(v);(0,i.default)(f,h)(x)}return(0,c.default)(v)},__getMonacoInstance:function(){return m(function(e){return e.monaco})}}}},25799:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({}),e.i(72189)},30079:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({}),e.i(72189),e.i(25799)},14991:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({DiffEditor:()=>f,Editor:()=>v,default:()=>y,useMonaco:()=>h}),e.i(30079);var n=e.i(19886),s=e.i(72189),a={wrapper:{display:"flex",position:"relative",textAlign:"initial"},fullWidth:{width:"100%"},hide:{display:"none"}},o={container:{display:"flex",height:"100%",width:"100%",justifyContent:"center",alignItems:"center"}},i=function({children:e}){return n.default.createElement("div",{style:o.container},e)},l=(0,n.memo)(function({width:e,height:t,isEditorReady:r,loading:s,_ref:o,className:l,wrapperProps:c}){return n.default.createElement("section",{style:{...a.wrapper,width:e,height:t},...c},!r&&n.default.createElement(i,null,s),n.default.createElement("div",{ref:o,style:{...a.fullWidth,...!r&&a.hide},className:l}))}),c=function(e){(0,n.useEffect)(e,[])},d=function(e,t,r=!0){let s=(0,n.useRef)(!0);(0,n.useEffect)(s.current||!r?()=>{s.current=!1}:e,t)};function u(){}function m(e,t,r,n){var s,a,o,i,l,c;return s=e,a=n,s.editor.getModel(p(s,a))||(o=e,i=t,l=r,c=n,o.editor.createModel(i,l,c?p(o,c):void 0))}function p(e,t){return e.Uri.parse(t)}var f=(0,n.memo)(function({original:e,modified:t,language:r,originalLanguage:a,modifiedLanguage:o,originalModelPath:i,modifiedModelPath:p,keepCurrentOriginalModel:f=!1,keepCurrentModifiedModel:h=!1,theme:x="light",loading:g="Loading...",options:v={},height:y="100%",width:b="100%",className:j,wrapperProps:w={},beforeMount:N=u,onMount:S=u}){let[C,k]=(0,n.useState)(!1),[E,T]=(0,n.useState)(!0),P=(0,n.useRef)(null),R=(0,n.useRef)(null),O=(0,n.useRef)(null),I=(0,n.useRef)(S),D=(0,n.useRef)(N),M=(0,n.useRef)(!1);c(()=>{let e=s.default.init();return e.then(e=>(R.current=e)&&T(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>{let t;return P.current?(t=P.current?.getModel(),void(f||t?.original?.dispose(),h||t?.modified?.dispose(),P.current?.dispose())):e.cancel()}}),d(()=>{if(P.current&&R.current){let t=P.current.getOriginalEditor(),n=m(R.current,e||"",a||r||"text",i||"");n!==t.getModel()&&t.setModel(n)}},[i],C),d(()=>{if(P.current&&R.current){let e=P.current.getModifiedEditor(),n=m(R.current,t||"",o||r||"text",p||"");n!==e.getModel()&&e.setModel(n)}},[p],C),d(()=>{let e=P.current.getModifiedEditor();e.getOption(R.current.editor.EditorOption.readOnly)?e.setValue(t||""):t!==e.getValue()&&(e.executeEdits("",[{range:e.getModel().getFullModelRange(),text:t||"",forceMoveMarkers:!0}]),e.pushUndoStop())},[t],C),d(()=>{P.current?.getModel()?.original.setValue(e||"")},[e],C),d(()=>{let{original:e,modified:t}=P.current.getModel();R.current.editor.setModelLanguage(e,a||r||"text"),R.current.editor.setModelLanguage(t,o||r||"text")},[r,a,o],C),d(()=>{R.current?.editor.setTheme(x)},[x],C),d(()=>{P.current?.updateOptions(v)},[v],C);let _=(0,n.useCallback)(()=>{if(!R.current)return;D.current(R.current);let n=m(R.current,e||"",a||r||"text",i||""),s=m(R.current,t||"",o||r||"text",p||"");P.current?.setModel({original:n,modified:s})},[r,t,o,e,a,i,p]),L=(0,n.useCallback)(()=>{!M.current&&O.current&&(P.current=R.current.editor.createDiffEditor(O.current,{automaticLayout:!0,...v}),_(),R.current?.editor.setTheme(x),k(!0),M.current=!0)},[v,x,_]);return(0,n.useEffect)(()=>{C&&I.current(P.current,R.current)},[C]),(0,n.useEffect)(()=>{E||C||L()},[E,C,L]),n.default.createElement(l,{width:b,height:y,isEditorReady:C,loading:g,_ref:O,className:j,wrapperProps:w})}),h=function(){let[e,t]=(0,n.useState)(s.default.__getMonacoInstance());return c(()=>{let r;return e||(r=s.default.init()).then(e=>{t(e)}),()=>r?.cancel()}),e},x=function(e){let t=(0,n.useRef)();return(0,n.useEffect)(()=>{t.current=e},[e]),t.current},g=new Map,v=(0,n.memo)(function({defaultValue:e,defaultLanguage:t,defaultPath:r,value:a,language:o,path:i,theme:p="light",line:f,loading:h="Loading...",options:v={},overrideServices:y={},saveViewState:b=!0,keepCurrentModel:j=!1,width:w="100%",height:N="100%",className:S,wrapperProps:C={},beforeMount:k=u,onMount:E=u,onChange:T,onValidate:P=u}){let[R,O]=(0,n.useState)(!1),[I,D]=(0,n.useState)(!0),M=(0,n.useRef)(null),_=(0,n.useRef)(null),L=(0,n.useRef)(null),A=(0,n.useRef)(E),F=(0,n.useRef)(k),H=(0,n.useRef)(),z=(0,n.useRef)(a),$=x(i),B=(0,n.useRef)(!1),U=(0,n.useRef)(!1);c(()=>{let e=s.default.init();return e.then(e=>(M.current=e)&&D(!1)).catch(e=>e?.type!=="cancelation"&&console.error("Monaco initialization: error:",e)),()=>_.current?void(H.current?.dispose(),j?b&&g.set(i,_.current.saveViewState()):_.current.getModel()?.dispose(),_.current.dispose()):e.cancel()}),d(()=>{let n=m(M.current,e||a||"",t||o||"",i||r||"");n!==_.current?.getModel()&&(b&&g.set($,_.current?.saveViewState()),_.current?.setModel(n),b&&_.current?.restoreViewState(g.get(i)))},[i],R),d(()=>{_.current?.updateOptions(v)},[v],R),d(()=>{_.current&&void 0!==a&&(_.current.getOption(M.current.editor.EditorOption.readOnly)?_.current.setValue(a):a!==_.current.getValue()&&(U.current=!0,_.current.executeEdits("",[{range:_.current.getModel().getFullModelRange(),text:a,forceMoveMarkers:!0}]),_.current.pushUndoStop(),U.current=!1))},[a],R),d(()=>{let e=_.current?.getModel();e&&o&&M.current?.editor.setModelLanguage(e,o)},[o],R),d(()=>{void 0!==f&&_.current?.revealLine(f)},[f],R),d(()=>{M.current?.editor.setTheme(p)},[p],R);let V=(0,n.useCallback)(()=>{if(!(!L.current||!M.current)&&!B.current){F.current(M.current);let n=i||r,s=m(M.current,a||e||"",t||o||"",n||"");_.current=M.current?.editor.create(L.current,{model:s,automaticLayout:!0,...v},y),b&&_.current.restoreViewState(g.get(n)),M.current.editor.setTheme(p),void 0!==f&&_.current.revealLine(f),O(!0),B.current=!0}},[e,t,r,a,o,i,v,y,b,p,f]);return(0,n.useEffect)(()=>{R&&A.current(_.current,M.current)},[R]),(0,n.useEffect)(()=>{I||R||V()},[I,R,V]),z.current=a,(0,n.useEffect)(()=>{R&&T&&(H.current?.dispose(),H.current=_.current?.onDidChangeModelContent(e=>{U.current||T(_.current.getValue(),e)}))},[R,T]),(0,n.useEffect)(()=>{if(R){let e=M.current.editor.onDidChangeMarkers(e=>{let t=_.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=M.current.editor.getModelMarkers({resource:t});P?.(e)}});return()=>{e?.dispose()}}return()=>{}},[R,P]),n.default.createElement(l,{width:w,height:N,isEditorReady:R,loading:h,_ref:L,className:S,wrapperProps:C})}),y=v},94087:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({}),e.i(30079),e.i(19886),e.i(14991)},20561:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({default:()=>l});var n=e.i(20393),s=e.i(19886),a=e.i(9385),o=e.i(70599),i=e.i(86871);function l({className:e,currentProjectName:t,currentEnvName:r}){let[l,c]=(0,s.useState)([]),[d,u]=(0,s.useState)(!0),[m,p]=(0,s.useState)(null),[f,h]=(0,s.useState)(new Set),[x,g]=(0,s.useState)(""),[v,y]=(0,s.useState)(!1),[b,j]=(0,s.useState)(""),[w,N]=(0,s.useState)(!1),[S,C]=(0,s.useState)(null),k=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(l.length>0){let e=l.find(e=>e.projectName===t&&e.envName===r);if(e&&e.subApps.length>0){let t=new Set;e.subApps.forEach(e=>{l.forEach(r=>{r.envName===e&&t.add(O(r))})}),h(t)}}},[l,t,r]);let E=async()=>{u(!0),p(null);try{let e=await fetch("/api/all-projects-envs"),t=await e.json();t.success?c(t.data):p(t.error||"获取项目环境信息失败")}catch(e){console.error("获取项目环境信息失败:",e),p("获取项目环境信息失败: 网络错误")}finally{u(!1)}};(0,s.useEffect)(()=>(E(),T(),()=>{P()}),[r]);let T=()=>{k.current&&P();let e=`microapp-table-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,t=`/api/microapp-proxy-change-stream?env=${encodeURIComponent(r)}&clientId=${encodeURIComponent(e)}`;console.log(`[SSE] 建立连接到: ${t}`),C(null);try{let e=new EventSource(t);k.current=e,e.onopen=()=>{console.log(`[SSE] 连接已建立,环境: ${r}`),N(!0),C(null)},e.onmessage=e=>{try{let t=JSON.parse(e.data);R(t)}catch(e){console.error("[SSE] 解析消息失败:",e)}},e.onerror=()=>{console.error(`[SSE] 连接错误,环境: ${r}`),N(!1),C("实时推送连接断开"),setTimeout(()=>{k.current&&k.current.readyState!==EventSource.CLOSED||(console.log("[SSE] 尝试重新连接..."),T())},3e3)}}catch(e){console.error("[SSE] 建立连接失败:",e),C("无法建立实时推送连接")}},P=()=>{k.current&&(console.log("[SSE] 关闭连接"),k.current.close(),k.current=null,N(!1))},R=e=>{switch(console.log("[SSE] 收到消息:",e),e.type){case"connection-established":console.log(`[SSE] 连接确认: ${e.message}`),N(!0),C(null);break;case"microapp-proxy-config-change":if(console.log(`[SSE] 配置变化通知: 环境=${e.envName}`),console.log(`[SSE] 变化详情:`,e.changes),e.changes){let{added:t,removed:r}=e.changes,n="";t.length>0&&(n+=`新增: ${t.join(", ")}`),r.length>0&&(n&&(n+="; "),n+=`移除: ${r.join(", ")}`),j(`配置已更新 (${n})`)}else j("配置已更新");E(),setTimeout(()=>j(""),3e3);break;case"heartbeat":N(!0),C(null);break;default:console.log("[SSE] 未知消息类型:",e.type)}},O=e=>`${e.projectName}-${e.envName}`,I=x.trim()?l.filter(e=>e.projectName.toLowerCase().includes(x.toLowerCase())||e.envName.toLowerCase().includes(x.toLowerCase())||e.host.toLowerCase().includes(x.toLowerCase())):l,D=(e,t)=>{let r=new Set(f);t?r.add(e):r.delete(e),h(r)},M=e=>{e?h(new Set(I.map(e=>O(e)))):h(new Set)},_=async()=>{y(!0),j("");try{let e=Array.from(f).map(e=>{let t=l.find(t=>O(t)===e);return t?t.envName:""}).filter(e=>""!==e),n=[...new Set(e)],s=await fetch("/api/microapp-proxy-config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:t,envName:r,selectedItems:n})}),a=await s.json();a.success?(j(a.message||"保存成功"),await E()):j(`保存失败: ${a.error}`)}catch(e){console.error("保存MicroApp代理配置失败:",e),j("保存失败: 网络错误")}finally{y(!1),setTimeout(()=>{j("")},5e3)}},L=f.size,A=I.length>0&&I.every(e=>f.has(O(e))),F=I.some(e=>f.has(O(e)));return d?(0,n.jsxs)("div",{className:`p-6 bg-gray-50 rounded-lg ${e}`,children:[(0,n.jsx)("h4",{className:"text-md font-medium mb-4",children:"MicroApp代理配置"}),(0,n.jsx)("div",{className:"text-center py-8",children:(0,n.jsx)("p",{className:"text-gray-500",children:"加载中..."})})]}):m?(0,n.jsxs)("div",{className:`p-6 bg-gray-50 rounded-lg ${e}`,children:[(0,n.jsx)("h4",{className:"text-md font-medium mb-4",children:"MicroApp代理配置"}),(0,n.jsxs)("div",{className:"text-center py-8",children:[(0,n.jsx)("p",{className:"text-red-500",children:m}),(0,n.jsx)(i.Button,{variant:"outline",size:"sm",onClick:E,className:"mt-2",children:"重试"})]})]}):(0,n.jsxs)("div",{className:`p-6 bg-gray-50 rounded-lg ${e}`,children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h4",{className:"text-md font-medium",children:"MicroApp代理配置"}),(0,n.jsxs)("p",{className:"text-xs text-gray-500 mt-1",children:["为 ",t," - ",r," 环境配置微应用代理"]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)("div",{className:`w-2 h-2 rounded-full ${w?"bg-green-500":"bg-red-500"}`,title:w?"实时推送已连接":"实时推送断开"}),(0,n.jsx)("span",{className:"text-xs text-gray-500",children:w?"实时":"离线"})]}),(b||S)&&(0,n.jsx)("span",{className:`text-sm max-w-xs ${b&&b.includes("失败")||S?"text-red-600":b&&b.includes("但有")?"text-yellow-600":"text-green-600"}`,title:b||S||"",children:b||S}),(0,n.jsx)(i.Button,{variant:"outline",size:"sm",onClick:E,disabled:v,children:"刷新"}),(0,n.jsx)(i.Button,{variant:"default",size:"sm",onClick:_,disabled:v,children:v?"保存中...":"保存配置"})]})]}),(0,n.jsxs)("div",{className:"space-y-3 mb-4",children:[(0,n.jsx)("div",{className:"flex items-center gap-2",children:(0,n.jsxs)("div",{className:"relative flex-1 max-w-md",children:[(0,n.jsx)(o.Input,{placeholder:"搜索项目名称、环境名称或Host...",value:x,onChange:e=>g(e.target.value),className:"pr-8"}),x&&(0,n.jsx)(i.Button,{variant:"ghost",size:"sm",onClick:()=>{g("")},className:"absolute right-1 top-1/2 transform -translate-y-1/2 h-6 w-6 p-0 hover:bg-gray-100",children:"×"})]})}),(0,n.jsxs)("div",{className:"flex items-center justify-between text-sm text-gray-600",children:[(0,n.jsxs)("div",{className:"flex items-center gap-4",children:[(0,n.jsxs)("span",{children:["显示 ",I.length," 个环境配置",x&&` (搜索: "${x}")`]}),L>0&&(0,n.jsxs)("span",{className:"text-blue-600 font-medium",children:["已选择 ",L," 项"]})]}),L>0&&(0,n.jsx)(i.Button,{variant:"outline",size:"sm",onClick:()=>{h(new Set)},children:"清空选择"})]})]}),I.length>0?(0,n.jsx)("div",{className:"border rounded-md",children:(0,n.jsxs)(a.Table,{children:[(0,n.jsx)(a.TableHeader,{children:(0,n.jsxs)(a.TableRow,{children:[(0,n.jsx)(a.TableHead,{className:"w-12",children:(0,n.jsx)("input",{type:"checkbox",checked:A,onChange:e=>M(e.target.checked),ref:e=>{e&&(e.indeterminate=F&&!A)},className:"rounded border-gray-300"})}),(0,n.jsx)(a.TableHead,{children:"环境名称"}),(0,n.jsx)(a.TableHead,{children:"项目名称"}),(0,n.jsx)(a.TableHead,{children:"Host地址"}),(0,n.jsx)(a.TableHead,{children:"当前代理"})]})}),(0,n.jsx)(a.TableBody,{children:I.map(e=>{let t=O(e),r=f.has(t);return(0,n.jsxs)(a.TableRow,{children:[(0,n.jsx)(a.TableCell,{children:(0,n.jsx)("input",{type:"checkbox",checked:r,onChange:e=>D(t,e.target.checked),className:"rounded border-gray-300"})}),(0,n.jsx)(a.TableCell,{children:(0,n.jsx)("span",{className:"px-2 py-1 rounded text-xs font-medium bg-blue-100 text-blue-800",children:e.envName})}),(0,n.jsx)(a.TableCell,{className:"font-medium",children:e.projectName}),(0,n.jsx)(a.TableCell,{className:"font-mono text-sm",children:e.host}),(0,n.jsxs)(a.TableCell,{className:"text-sm text-gray-600",children:[e.currentProxy,e.proxyEnv[e.currentProxy]&&(0,n.jsx)("div",{className:"text-xs text-gray-500",children:e.proxyEnv[e.currentProxy]})]})]},t)})})]})}):(0,n.jsx)("div",{className:"text-center py-8",children:(0,n.jsx)("p",{className:"text-gray-500",children:x?"没有找到匹配的环境配置":"暂无环境配置"})}),L>0&&(0,n.jsx)("div",{className:"mt-4 p-3 bg-blue-50 rounded-md",children:(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("span",{className:"text-sm text-blue-700",children:["已选择 ",L," 个环境配置将作为微应用代理"]}),(0,n.jsx)("span",{className:"text-xs text-blue-600",children:"点击上方“保存配置”按钮保存设置"})]})})]})}},94334:function(e){var{g:t,__dirname:r,m:n,e:s}=e},51904:function(e){var{g:t,__dirname:r,m:n,e:s}=e,a=e.i(47412);e.r(94334);var o=e.r(19886),i=o&&"object"==typeof o&&"default"in o?o:{default:o},l=void 0!==a.default&&a.default.env&&!0,c=function(e){return"[object String]"===Object.prototype.toString.call(e)},d=function(){function e(e){var t=void 0===e?{}:e,r=t.name,n=void 0===r?"stylesheet":r,s=t.optimizeForSpeed,a=void 0===s?l:s;u(c(n),"`name` must be a string"),this._name=n,this._deletedRulePlaceholder="#"+n+"-deleted-rule____{}",u("boolean"==typeof a,"`optimizeForSpeed` must be a boolean"),this._optimizeForSpeed=a,this._serverSheet=void 0,this._tags=[],this._injected=!1,this._rulesCount=0;var o="undefined"!=typeof window&&document.querySelector('meta[property="csp-nonce"]');this._nonce=o?o.getAttribute("content"):null}var t,r=e.prototype;return r.setOptimizeForSpeed=function(e){u("boolean"==typeof e,"`setOptimizeForSpeed` accepts a boolean"),u(0===this._rulesCount,"optimizeForSpeed cannot be when rules have already been inserted"),this.flush(),this._optimizeForSpeed=e,this.inject()},r.isOptimizeForSpeed=function(){return this._optimizeForSpeed},r.inject=function(){var e=this;if(u(!this._injected,"sheet already injected"),this._injected=!0,"undefined"!=typeof window&&this._optimizeForSpeed){this._tags[0]=this.makeStyleTag(this._name),this._optimizeForSpeed="insertRule"in this.getSheet(),this._optimizeForSpeed||(l||console.warn("StyleSheet: optimizeForSpeed mode not supported falling back to standard mode."),this.flush(),this._injected=!0);return}this._serverSheet={cssRules:[],insertRule:function(t,r){return"number"==typeof r?e._serverSheet.cssRules[r]={cssText:t}:e._serverSheet.cssRules.push({cssText:t}),r},deleteRule:function(t){e._serverSheet.cssRules[t]=null}}},r.getSheetForTag=function(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]},r.getSheet=function(){return this.getSheetForTag(this._tags[this._tags.length-1])},r.insertRule=function(e,t){if(u(c(e),"`insertRule` accepts only strings"),"undefined"==typeof window)return"number"!=typeof t&&(t=this._serverSheet.cssRules.length),this._serverSheet.insertRule(e,t),this._rulesCount++;if(this._optimizeForSpeed){var r=this.getSheet();"number"!=typeof t&&(t=r.cssRules.length);try{r.insertRule(e,t)}catch(t){return l||console.warn("StyleSheet: illegal rule: \n\n"+e+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),-1}}else{var n=this._tags[t];this._tags.push(this.makeStyleTag(this._name,e,n))}return this._rulesCount++},r.replaceRule=function(e,t){if(this._optimizeForSpeed||"undefined"==typeof window){var r="undefined"!=typeof window?this.getSheet():this._serverSheet;if(t.trim()||(t=this._deletedRulePlaceholder),!r.cssRules[e])return e;r.deleteRule(e);try{r.insertRule(t,e)}catch(n){l||console.warn("StyleSheet: illegal rule: \n\n"+t+"\n\nSee https://stackoverflow.com/q/20007992 for more info"),r.insertRule(this._deletedRulePlaceholder,e)}}else{var n=this._tags[e];u(n,"old rule at index `"+e+"` not found"),n.textContent=t}return e},r.deleteRule=function(e){if("undefined"==typeof window)return void this._serverSheet.deleteRule(e);if(this._optimizeForSpeed)this.replaceRule(e,"");else{var t=this._tags[e];u(t,"rule at index `"+e+"` not found"),t.parentNode.removeChild(t),this._tags[e]=null}},r.flush=function(){this._injected=!1,this._rulesCount=0,"undefined"!=typeof window?(this._tags.forEach(function(e){return e&&e.parentNode.removeChild(e)}),this._tags=[]):this._serverSheet.cssRules=[]},r.cssRules=function(){var e=this;return"undefined"==typeof window?this._serverSheet.cssRules:this._tags.reduce(function(t,r){return r?t=t.concat(Array.prototype.map.call(e.getSheetForTag(r).cssRules,function(t){return t.cssText===e._deletedRulePlaceholder?null:t})):t.push(null),t},[])},r.makeStyleTag=function(e,t,r){t&&u(c(t),"makeStyleTag accepts only strings as second parameter");var n=document.createElement("style");this._nonce&&n.setAttribute("nonce",this._nonce),n.type="text/css",n.setAttribute("data-"+e,""),t&&n.appendChild(document.createTextNode(t));var s=document.head||document.getElementsByTagName("head")[0];return r?s.insertBefore(n,r):s.appendChild(n),n},t=[{key:"length",get:function(){return this._rulesCount}}],function(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}(e.prototype,t),e}();function u(e,t){if(!e)throw Error("StyleSheet: "+t+".")}var m=function(e){for(var t=5381,r=e.length;r;)t=33*t^e.charCodeAt(--r);return t>>>0},p={};function f(e,t){if(!t)return"jsx-"+e;var r=String(t),n=e+r;return p[n]||(p[n]="jsx-"+m(e+"-"+r)),p[n]}function h(e,t){"undefined"==typeof window&&(t=t.replace(/\/style/gi,"\\/style"));var r=e+t;return p[r]||(p[r]=t.replace(/__jsx-style-dynamic-selector/g,e)),p[r]}var x=function(){function e(e){var t=void 0===e?{}:e,r=t.styleSheet,n=void 0===r?null:r,s=t.optimizeForSpeed,a=void 0!==s&&s;this._sheet=n||new d({name:"styled-jsx",optimizeForSpeed:a}),this._sheet.inject(),n&&"boolean"==typeof a&&(this._sheet.setOptimizeForSpeed(a),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),this._fromServer=void 0,this._indices={},this._instancesCounts={}}var t=e.prototype;return t.add=function(e){var t=this;void 0===this._optimizeForSpeed&&(this._optimizeForSpeed=Array.isArray(e.children),this._sheet.setOptimizeForSpeed(this._optimizeForSpeed),this._optimizeForSpeed=this._sheet.isOptimizeForSpeed()),"undefined"==typeof window||this._fromServer||(this._fromServer=this.selectFromServer(),this._instancesCounts=Object.keys(this._fromServer).reduce(function(e,t){return e[t]=0,e},{}));var r=this.getIdAndRules(e),n=r.styleId,s=r.rules;if(n in this._instancesCounts){this._instancesCounts[n]+=1;return}var a=s.map(function(e){return t._sheet.insertRule(e)}).filter(function(e){return -1!==e});this._indices[n]=a,this._instancesCounts[n]=1},t.remove=function(e){var t=this,r=this.getIdAndRules(e).styleId;if(function(e,t){if(!e)throw Error("StyleSheetRegistry: "+t+".")}(r in this._instancesCounts,"styleId: `"+r+"` not found"),this._instancesCounts[r]-=1,this._instancesCounts[r]<1){var n=this._fromServer&&this._fromServer[r];n?(n.parentNode.removeChild(n),delete this._fromServer[r]):(this._indices[r].forEach(function(e){return t._sheet.deleteRule(e)}),delete this._indices[r]),delete this._instancesCounts[r]}},t.update=function(e,t){this.add(t),this.remove(e)},t.flush=function(){this._sheet.flush(),this._sheet.inject(),this._fromServer=void 0,this._indices={},this._instancesCounts={}},t.cssRules=function(){var e=this,t=this._fromServer?Object.keys(this._fromServer).map(function(t){return[t,e._fromServer[t]]}):[],r=this._sheet.cssRules();return t.concat(Object.keys(this._indices).map(function(t){return[t,e._indices[t].map(function(e){return r[e].cssText}).join(e._optimizeForSpeed?"":"\n")]}).filter(function(e){return!!e[1]}))},t.styles=function(e){var t,r;return t=this.cssRules(),void 0===(r=e)&&(r={}),t.map(function(e){var t=e[0],n=e[1];return i.default.createElement("style",{id:"__"+t,key:"__"+t,nonce:r.nonce?r.nonce:void 0,dangerouslySetInnerHTML:{__html:n}})})},t.getIdAndRules=function(e){var t=e.children,r=e.dynamic,n=e.id;if(r){var s=f(n,r);return{styleId:s,rules:Array.isArray(t)?t.map(function(e){return h(s,e)}):[h(s,t)]}}return{styleId:f(n),rules:Array.isArray(t)?t:[t]}},t.selectFromServer=function(){return Array.prototype.slice.call(document.querySelectorAll('[id^="__jsx-"]')).reduce(function(e,t){return e[t.id.slice(2)]=t,e},{})},e}(),g=o.createContext(null);function v(){return new x}function y(){return o.useContext(g)}g.displayName="StyleSheetContext";var b=i.default.useInsertionEffect||i.default.useLayoutEffect,j="undefined"!=typeof window?v():void 0;function w(e){var t=j||y();return t&&("undefined"==typeof window?t.add(e):b(function(){return t.add(e),function(){t.remove(e)}},[e.id,String(e.dynamic)])),null}w.dynamic=function(e){return e.map(function(e){return f(e[0],e[1])}).join(" ")},s.StyleRegistry=function(e){var t=e.registry,r=e.children,n=o.useContext(g),s=o.useState(function(){return n||t||v()})[0];return i.default.createElement(g.Provider,{value:s},r)},s.createStyleRegistry=v,s.style=w,s.useStyleRegistry=y},56591:function(e){var{g:t,__dirname:r,m:n,e:s}=e;n.exports=e.r(51904).style},23619:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({default:()=>o});var n=e.i(20393),s=e.i(56591),a=e.i(19886);function o({logs:e}){let t=(0,a.useRef)(null),r=(0,a.useRef)(!0),o=e=>e.replace(/\x1b\[[0-9;]*m/g,"").replace(/\x1b\[[0-9]*[A-Z]/g,"").replace(/\x1b\[K/g,"").replace(/\x1b\[2K/g,"").replace(/\x1b\[G/g,"").replace(/\x1b\[\d+A/g,"").replace(/\x1b\[\d+B/g,"").replace(/\x1b\[\d+C/g,"").replace(/\x1b\[\d+D/g,"").replace(/\[2K\[1A\[2K\[G/g,"").replace(/\[\d+[A-Z]/g,"").replace(/\[STDOUT\]/g,"[OUT]").replace(/\[STDERR\]/g,"[ERR]"),i=()=>{if(!t.current)return!0;let{scrollTop:e,scrollHeight:r,clientHeight:n}=t.current;return r-e-n<100},l=()=>{t.current&&r.current&&(t.current.scrollTop=t.current.scrollHeight)};return(0,a.useEffect)(()=>{setTimeout(l,10)},[e]),(0,n.jsxs)("div",{ref:t,onScroll:()=>{r.current=i()},style:{scrollBehavior:"smooth",maxHeight:"100%"},className:"jsx-b464fb0f479e34f5 h-full w-full overflow-y-auto overflow-x-hidden p-4 custom-scrollbar",children:[(0,n.jsx)(s.default,{id:"b464fb0f479e34f5",children:".custom-scrollbar.jsx-b464fb0f479e34f5{scrollbar-width:thin;scrollbar-color:#fff3 #0000001a}.custom-scrollbar.jsx-b464fb0f479e34f5::-webkit-scrollbar{width:10px;height:10px}.custom-scrollbar.jsx-b464fb0f479e34f5::-webkit-scrollbar-track{background:#0000001a;border-radius:5px}.custom-scrollbar.jsx-b464fb0f479e34f5::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:5px}.custom-scrollbar.jsx-b464fb0f479e34f5.jsx-b464fb0f479e34f5::-webkit-scrollbar-thumb:hover{background:#fff6}"}),(0,n.jsx)("div",{className:"jsx-b464fb0f479e34f5 space-y-0.5",children:e.length>0?e.map((e,t)=>{let r=o(e);if(!r.trim())return null;let s=e.includes("[STDERR]"),a=e.includes("[SYSTEM]"),i=r.match(/^\[([\d-T:.Z]+)\]/)?.[1],l=r.replace(/^\[[\d-T:.Z]+\]\s*/,"");return(0,n.jsxs)("div",{className:`jsx-b464fb0f479e34f5 font-mono text-xs leading-5 ${s?"text-red-400":a?"text-yellow-400":"text-gray-100"}`,children:[i&&(0,n.jsxs)("span",{className:"jsx-b464fb0f479e34f5 text-gray-500 mr-2",children:["[",new Date(i).toLocaleTimeString("zh-CN"),"]"]}),(0,n.jsx)("span",{className:"jsx-b464fb0f479e34f5 whitespace-pre-wrap break-all",children:l})]},t)}):(0,n.jsx)("div",{className:"jsx-b464fb0f479e34f5 text-center text-gray-500 mt-8",children:"等待日志输出..."})})]})}},40941:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({default:()=>o});var n=e.i(20393),s=e.i(19886),a=e.i(86871);function o({projectName:e,className:t="",compact:r=!1}){let[o,i]=(0,s.useState)(null),[l,c]=(0,s.useState)(!1),[d,u]=(0,s.useState)(null),[m,p]=(0,s.useState)(""),f=(0,s.useCallback)(async()=>{if(e){c(!0),u(null);try{let t=await fetch(`/api/current-branch?project=${encodeURIComponent(e)}`),r=await t.json();r.success?(i(r.data),p(new Date().toLocaleTimeString("zh-CN",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}))):u(r.error||"获取分支信息失败")}catch(e){u("网络请求失败"),console.error("获取分支信息失败:",e)}finally{c(!1)}}},[e]);(0,s.useEffect)(()=>{f()},[f]),(0,s.useEffect)(()=>{if(!e)return;let t=setInterval(()=>{f()},r?15e3:3e4);return()=>clearInterval(t)},[e,f,r]);let h=e=>0===e?"text-gray-500":"text-orange-600",x=()=>{if(!o)return null;let{ahead:e,behind:t}=o.status;return e>0&&t>0?(0,n.jsx)("span",{className:"text-yellow-500 text-xs",children:"↕"}):e>0?(0,n.jsx)("span",{className:"text-green-500 text-xs",children:"↑"}):t>0?(0,n.jsx)("span",{className:"text-red-500 text-xs",children:"↓"}):(0,n.jsx)("span",{className:"text-gray-400 text-xs",children:"✓"})};return l&&!o?r?(0,n.jsxs)("div",{className:`flex items-center gap-2 px-3 py-1 bg-gray-50 rounded-md ${t}`,children:[(0,n.jsx)("div",{className:"animate-spin w-3 h-3 border-2 border-blue-500 border-t-transparent rounded-full"}),(0,n.jsx)("span",{className:"text-xs text-gray-500",children:"加载中..."})]}):(0,n.jsxs)("div",{className:`bg-white rounded-lg shadow-sm border p-4 ${t}`,children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,n.jsx)("h3",{className:"text-sm font-semibold text-gray-700",children:"Git 分支信息"}),(0,n.jsx)("div",{className:"animate-spin w-4 h-4 border-2 border-blue-500 border-t-transparent rounded-full"})]}),(0,n.jsx)("div",{className:"text-sm text-gray-500",children:"正在加载分支信息..."})]}):d?r?(0,n.jsxs)("div",{className:`flex items-center gap-2 px-3 py-1 bg-red-50 rounded-md ${t}`,children:[(0,n.jsx)("span",{className:"text-xs text-red-500",children:"分支信息错误"}),(0,n.jsx)(a.Button,{variant:"ghost",size:"sm",onClick:f,disabled:l,className:"h-5 w-5 p-0 text-red-500 hover:bg-red-100",children:"↻"})]}):(0,n.jsxs)("div",{className:`bg-white rounded-lg shadow-sm border p-4 ${t}`,children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,n.jsx)("h3",{className:"text-sm font-semibold text-gray-700",children:"Git 分支信息"}),(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:f,disabled:l,className:"h-6 px-2 text-xs",children:l?"刷新中...":"重试"})]}),(0,n.jsx)("div",{className:"text-sm text-red-500 bg-red-50 p-2 rounded",children:d})]}):o?r?(0,n.jsxs)("div",{className:`flex items-center gap-2 px-3 py-1 bg-blue-50 border border-blue-200 rounded-md ${t}`,children:[(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-blue-600",children:[(0,n.jsx)("polyline",{points:"6,3 6,15"}),(0,n.jsx)("circle",{cx:"18",cy:"6",r:"3"}),(0,n.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,n.jsx)("path",{d:"m18,9a9,9 0 0,1-9,9"})]}),(0,n.jsx)("span",{className:"text-sm font-medium text-blue-800",children:o.currentBranch}),x(),(0,n.jsx)(a.Button,{variant:"ghost",size:"sm",onClick:f,disabled:l,className:"h-5 w-5 p-0 text-blue-600 hover:bg-blue-100",title:"刷新分支信息",children:l?(0,n.jsx)("div",{className:"animate-spin w-3 h-3 border-2 border-blue-600 border-t-transparent rounded-full"}):"↻"})]}):(0,n.jsxs)("div",{className:`bg-white rounded-lg shadow-sm border p-4 ${t}`,children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,n.jsx)("h3",{className:"text-sm font-semibold text-gray-700",children:"Git 分支信息"}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[m&&(0,n.jsx)("span",{className:"text-xs text-gray-400",children:m}),(0,n.jsx)(a.Button,{variant:"outline",size:"sm",onClick:f,disabled:l,className:"h-6 px-2 text-xs",children:l?"刷新中...":"刷新"})]})]}),(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsx)("div",{className:"flex items-center gap-2",children:(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)("span",{className:"text-xs text-gray-500",children:"分支:"}),(0,n.jsx)("span",{className:"text-sm font-medium text-blue-600 bg-blue-50 px-2 py-1 rounded",children:o.currentBranch}),x()]})}),(0,n.jsxs)("div",{className:"bg-gray-50 p-3 rounded text-xs space-y-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-gray-500",children:"提交:"}),(0,n.jsx)("code",{className:"bg-gray-200 px-1 rounded font-mono text-xs",children:o.lastCommit.hash})]}),(0,n.jsx)("div",{className:"text-gray-700 font-medium line-clamp-2",children:o.lastCommit.message}),(0,n.jsxs)("div",{className:"flex items-center justify-between text-gray-500",children:[(0,n.jsx)("span",{children:o.lastCommit.author}),(0,n.jsx)("span",{children:o.lastCommit.date})]})]}),(0,n.jsxs)("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-gray-500",children:"领先:"}),(0,n.jsx)("span",{className:h(o.status.ahead),children:o.status.ahead})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-gray-500",children:"落后:"}),(0,n.jsx)("span",{className:h(o.status.behind),children:o.status.behind})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-gray-500",children:"已修改:"}),(0,n.jsx)("span",{className:h(o.status.modified),children:o.status.modified})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("span",{className:"text-gray-500",children:"已暂存:"}),(0,n.jsx)("span",{className:h(o.status.staged),children:o.status.staged})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between col-span-2",children:[(0,n.jsx)("span",{className:"text-gray-500",children:"未跟踪:"}),(0,n.jsx)("span",{className:h(o.status.untracked),children:o.status.untracked})]})]}),(o.status.ahead>0||o.status.behind>0)&&(0,n.jsxs)("div",{className:"text-xs p-2 rounded bg-yellow-50 border border-yellow-200",children:[o.status.ahead>0&&o.status.behind>0&&(0,n.jsxs)("span",{className:"text-yellow-700",children:["分支与远程不同步,有 ",o.status.ahead," 个本地提交,",o.status.behind," 个远程提交"]}),o.status.ahead>0&&0===o.status.behind&&(0,n.jsxs)("span",{className:"text-green-700",children:["本地领先远程 ",o.status.ahead," 个提交"]}),0===o.status.ahead&&o.status.behind>0&&(0,n.jsxs)("span",{className:"text-red-700",children:["本地落后远程 ",o.status.behind," 个提交"]})]})]})]}):r?(0,n.jsx)("div",{className:`flex items-center gap-2 px-3 py-1 bg-gray-50 rounded-md ${t}`,children:(0,n.jsx)("span",{className:"text-xs text-gray-500",children:"暂无分支信息"})}):(0,n.jsxs)("div",{className:`bg-white rounded-lg shadow-sm border p-4 ${t}`,children:[(0,n.jsx)("div",{className:"flex items-center justify-between mb-3",children:(0,n.jsx)("h3",{className:"text-sm font-semibold text-gray-700",children:"Git 分支信息"})}),(0,n.jsx)("div",{className:"text-sm text-gray-500",children:"暂无分支信息"})]})}},66445:e=>{"use strict";var{g:t,__dirname:r}=e;e.s({default:()=>w});var n=e.i(20393),s=e.i(19886),a=e.i(42152),o=e.i(86871),i=e.i(35102),l=e.i(72242),c=e.i(40989),d=e.i(70599),u=e.i(80226),m=e.i(46284),p=e.i(9385),f=e.i(19579),h=e.i(42736);e.i(94087);var x=e.i(14991),g=e.i(20561),v=e.i(23619),y=e.i(40941),b=function(e){return e.PENDING="pending",e.EXISTING="existing",e.CLONING="cloning",e.SUCCESS="success",e.FAILED="failed",e.RETRYING="retrying",e}(b||{});function j(){let e=(0,a.useSearchParams)(),t=(0,a.useRouter)(),r=e.get("project"),[b,j]=(0,s.useState)(null),[w,N]=(0,s.useState)(!0),[S,C]=(0,s.useState)(null),[k,E]=(0,s.useState)({}),[T,P]=(0,s.useState)({mockingIntercept:!1,mockOpen:!1}),[R,O]=(0,s.useState)(!1),[I,D]=(0,s.useState)(null),[M,_]=(0,s.useState)(!1),[L,A]=(0,s.useState)(1),[F]=(0,s.useState)(10),[H,z]=(0,s.useState)(""),[$,B]=(0,s.useState)(null),[U,V]=(0,s.useState)(!1),[W,G]=(0,s.useState)(!1),[K,q]=(0,s.useState)(!1),[J,Y]=(0,s.useState)(!0),[X,Z]=(0,s.useState)(null),[Q,ee]=(0,s.useState)([]),[et,er]=(0,s.useState)(!1),[en,es]=(0,s.useState)(!1),[ea,eo]=(0,s.useState)(!1),[ei,el]=(0,s.useState)({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0}),[ec,ed]=(0,s.useState)(null),[eu,em]=(0,s.useState)(!1),[ep,ef]=(0,s.useState)({open:!1,apiName:"",method:"",siteName:""}),[eh,ex]=(0,s.useState)({open:!1,apiName:"",apiPath:""}),[eg,ev]=(0,s.useState)({open:!1,type:"success",message:""}),[ey,eb]=(0,s.useState)(!1),[ej,ew]=(0,s.useState)([]),[eN,eS]=(0,s.useState)(!1),[eC,ek]=(0,s.useState)(""),eE=(0,s.useRef)(null),[eT,eP]=(0,s.useState)({}),[eR,eO]=(0,s.useState)(!1),[eI,eD]=(0,s.useState)(""),[eM,e_]=(0,s.useState)([]),eL=(0,s.useCallback)(async()=>{X&&await eF(X)},[X]),eA=(0,s.useCallback)(async e=>{U&&(e.metaKey||e.ctrlKey)&&"s"===e.key&&(e.preventDefault(),await eL())},[U,eL]);(0,s.useEffect)(()=>{if(U)return document.addEventListener("keydown",eA),()=>{document.removeEventListener("keydown",eA)}},[U,X,eA]);let eF=async e=>{try{await new Promise(e=>setTimeout(e,200));let t=e.getModel();if(t){await e.getAction("editor.action.formatDocument")?.run();let r=t.getValue();if(r&&!r.includes("\n")&&r.length>50){let n=r.replace(/\{\s*/g,"{\n ").replace(/\}\s*/g,"\n}").replace(/;\s*/g,";\n ").replace(/,\s*/g,",\n ").replace(/\n\s*\n/g,"\n").trim();n!==r&&(t.setValue(n),setTimeout(()=>{e.getAction("editor.action.formatDocument")?.run()},100))}}}catch(e){console.log("自动格式化失败:",e)}},eH=()=>{t.push("/initialization")},ez=async()=>{er(!0);try{let e=await fetch("/api/check-workspace"),t=await e.json();if(t.success&&t.projects){let e=t.projects.map(e=>({name:e.name,status:e.status,message:e.message}));ee(e)}else console.error("获取项目列表失败:",t.error),ee([])}catch(e){console.error("获取项目列表失败:",e),ee([])}finally{er(!1)}},e$=async(e="cursor")=>{if(r){O(!0);try{let t=await fetch("/api/open-project",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,editor:e})}),n=await t.json();if(n.success&&n.editorUrl){let e=document.createElement("a");e.href=n.editorUrl,e.style.display="none",document.body.appendChild(e),e.click(),document.body.removeChild(e)}else console.error("打开项目失败:",n.error),tc("error",`打开项目失败: ${n.error}`)}catch(e){console.error("打开项目失败:",e),tc("error","打开项目失败: 网络错误")}finally{O(!1)}}},eB=async()=>{if(0===ej.length)return void tc("error","请至少选择一个项目");eS(!0);try{let e=await fetch("/api/workspace/create",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projects:ej})}),t=await e.json();t.success?(tc("success",t.message||"工作区已在 Cursor 中打开"),eb(!1),ew([])):tc("error",`创建工作区失败: ${t.error}`)}catch(e){console.error("创建工作区失败:",e),tc("error","创建工作区失败: 网络错误")}finally{eS(!1)}},eU=e=>{ew(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])};(0,s.useEffect)(()=>{if(!r){C("项目名称缺失"),N(!1);return}(async()=>{try{let e=await fetch(`/api/project-config?project=${encodeURIComponent(r)}`),t=await e.json();if(t.success){j(t.data);let e={};Object.keys(t.data.envs).forEach(r=>{let n=t.data.envs[r],s="";s=n.proxyEnv[n.currentProxy]?n.proxyEnv[n.currentProxy]:n.currentProxy;let a="";a=n.proxyEnv[n.currentProxy]?n.currentProxy:"custom",e[r]={selectedProxy:s||"",selectedOption:a}}),E(e),P({mockingIntercept:t.data.mockingIntercept||!1,mockOpen:t.data.mockOpen||!1})}else C(t.error)}catch(e){C("获取项目配置失败"),console.error("获取项目配置失败:",e)}finally{N(!1)}})()},[r]);let eV=(0,s.useCallback)(async()=>{if(r){_(!0);try{let e=await fetch(`/api/mock-file?project=${encodeURIComponent(r)}`),t=await e.json();t.success?D(t.data):console.error("获取Mock数据失败:",t.error)}catch(e){console.error("获取Mock数据失败:",e)}finally{_(!1)}}},[r]);(0,s.useEffect)(()=>{if(b&&r){let e=null!==eE.current&&eE.current!==r;e&&(ek(""),A(1),D(null)),eE.current=r;let t=Object.keys(b.envs),n=new URLSearchParams(window.location.search).get("tab"),s="";(s=H&&("mock"===H||t.includes(H))?H:n&&("mock"===n||t.includes(n))?n:t.length>0?t[0]:"mock")!==H?(z(s),"mock"===s&&eV()):e&&"mock"===H&&eV()}},[b,r,H,eV]),(0,s.useEffect)(()=>{ez()},[]);let eW=(0,s.useCallback)(async()=>{if(!r||!b)return;let e={};for(let t of Object.keys(b.envs))e[`${t}`]={loading:!0,running:!1};eP(e);let t=Object.keys(b.envs).map(async e=>{try{let t=await fetch(`/api/process/status?projectName=${encodeURIComponent(r)}&envName=${encodeURIComponent(e)}`),n=await t.json();if(n.success&&n.data)return{envName:e,status:n.data}}catch(t){console.error(`获取环境 ${e} 状态失败:`,t)}return{envName:e,status:{running:!1}}}),n=await Promise.all(t),s={};n.forEach(({envName:e,status:t})=>{s[e]={running:t.running||!1,pid:t.pid,startTime:t.startTime,port:t.port,loading:!1}}),eP(s)},[r,b]),eG=async e=>{if(!r||!b)return;let t=b.envs[e];if(!t.startCommand)return void tc("error","该环境未配置启动命令");eP(t=>({...t,[e]:{...t[e],loading:!0}}));try{let n=await fetch("/api/process/start",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,envName:e,startCommand:t.startCommand})}),s=await n.json();if(s.success)eP(t=>({...t,[e]:{running:!0,pid:s.data.pid,startTime:s.data.startTime,port:s.data.port,loading:!1}}));else throw Error(s.error||"启动失败")}catch(t){console.error("启动进程失败:",t),tc("error",`启动失败: ${t instanceof Error?t.message:"未知错误"}`),eP(t=>({...t,[e]:{...t[e],loading:!1}}))}},eK=async e=>{if(r){eP(t=>({...t,[e]:{...t[e],loading:!0}}));try{let t=await fetch(`/api/process/start?projectName=${encodeURIComponent(r)}&envName=${encodeURIComponent(e)}`,{method:"DELETE"}),n=await t.json();if(n.success)eP(t=>({...t,[e]:{running:!1,loading:!1}}));else throw Error(n.error||"停止失败")}catch(t){console.error("停止进程失败:",t),tc("error",`停止失败: ${t instanceof Error?t.message:"未知错误"}`),eP(t=>({...t,[e]:{...t[e],loading:!1}}))}}},[eq,eJ]=(0,s.useState)(null),eY=e=>{if(!r)return;eq&&eq.close(),e_([]);let t=new EventSource(`/api/process/logs/stream?projectName=${encodeURIComponent(r)}&envName=${encodeURIComponent(e)}`);t.onmessage=e=>{try{let t=JSON.parse(e.data);"log"===t.type?e_(e=>{let r=[...e,t.content];return r.length>1e3?r.slice(-1e3):r}):"init"===t.type?e_([t.message]):"end"===t.type&&e_(e=>[...e,`[系统] ${t.message}`])}catch(e){console.error("解析日志数据失败:",e)}},t.onerror=e=>{console.error("日志流错误:",e),t.close(),eJ(null)},eJ(t)},eX=()=>{eq&&(eq.close(),eJ(null))},eZ=e=>{eD(e),eO(!0),eY(e)},eQ=()=>{eO(!1),e_([]),eD(""),eX()};(0,s.useEffect)(()=>{if(b&&r){eW();let e=setInterval(()=>{eW()},5e3);return()=>clearInterval(e)}},[b,r,eW]);let e0=(e,t)=>{if(!b)return;let r=b.envs[e],n="";n="custom"===t?k[e]?.selectedOption==="custom"?k[e]?.selectedProxy||"":r.proxyEnv.custom||"":r.proxyEnv[t]||"",E(r=>({...r,[e]:{...r[e],selectedProxy:n,selectedOption:t,saveMessage:""}}))},e1=(e,t)=>{E(r=>({...r,[e]:{...r[e],selectedProxy:t,saveMessage:""}}))},e2=async e=>{P(t=>({...t,mockingIntercept:e,saving:!0,saveMessage:""}));try{let t=await fetch("/api/project-config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,projectConfig:{mockingIntercept:e,mockOpen:T.mockOpen}})}),n=await t.json();if(n.success)j(t=>t?{...t,mockingIntercept:e}:t),P(e=>({...e,saving:!1,saveMessage:"Mock拦截配置已保存"})),setTimeout(()=>{P(e=>({...e,saveMessage:""}))},2e3);else throw Error(n.error||"保存失败")}catch(t){console.error("保存Mock拦截配置失败:",t),P(r=>({...r,mockingIntercept:!e,saving:!1,saveMessage:`保存失败: ${t instanceof Error?t.message:"未知错误"}`})),setTimeout(()=>{P(e=>({...e,saveMessage:""}))},3e3)}},e3=async e=>{P(t=>({...t,mockOpen:e,saving:!0,saveMessage:""}));try{let t=await fetch("/api/project-config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,projectConfig:{mockingIntercept:T.mockingIntercept,mockOpen:e}})}),n=await t.json();if(n.success)j(t=>t?{...t,mockOpen:e}:t),P(e=>({...e,saving:!1,saveMessage:"Mock开启配置已保存"})),setTimeout(()=>{P(e=>({...e,saveMessage:""}))},2e3);else throw Error(n.error||"保存失败")}catch(t){console.error("保存Mock开启配置失败:",t),P(r=>({...r,mockOpen:!e,saving:!1,saveMessage:`保存失败: ${t instanceof Error?t.message:"未知错误"}`})),setTimeout(()=>{P(e=>({...e,saveMessage:""}))},3e3)}},e4=async e=>{if(!b||!r)return;let t=k[e]?.selectedProxy?.trim();if(!t)return void E(t=>({...t,[e]:{...t[e],saveMessage:"请先选择或填写代理地址"}}));let n=k[e]?.selectedOption,s="custom"===n;E(t=>({...t,[e]:{...t[e],saving:!0,saveMessage:""}}));try{let a={projectName:r,envName:e,newProxy:s?"custom":n||""};s&&(a.customProxyUrl=t);let o=await fetch("/api/project-config",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),i=await o.json();i.success?(j(r=>{if(!r)return r;let n={...r.envs};return n[e]={...n[e],currentProxy:i.data.currentProxy},"custom"===i.data.currentProxy&&(n[e].proxyEnv={...n[e].proxyEnv,custom:t}),{...r,envs:n}}),E(t=>({...t,[e]:{...t[e],saving:!1,saveMessage:"保存成功"}}))):E(t=>({...t,[e]:{...t[e],saving:!1,saveMessage:`保存失败: ${i.error}`}}))}catch(t){console.error("保存配置失败:",t),E(t=>({...t,[e]:{...t[e],saving:!1,saveMessage:"保存失败: 网络错误"}}))}},e5=async()=>{if(window.confirm("确定要一键关闭所有Mock吗?"))try{let e=await fetch("/api/cleanup-mock",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r})});(await e.json()).success&&await eV()}catch(e){console.error("清空Mock配置失败:",e)}},e6=async()=>{if(window.confirm("确定要一键开启所有Mock吗?"))try{let e=await fetch("/api/open-all-mock",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r})});(await e.json()).success&&await eV()}catch(e){console.error("清空Mock配置失败:",e)}},e9=async(e,t,n)=>{if(r)try{let s=await fetch("/api/mock-setting",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,apiName:e,method:t,currentSite:n})}),a=await s.json();a.success?D(r=>r?{...r,mockFiles:r.mockFiles.map(r=>r.apiName===e?{...r,methods:r.methods.map(e=>e.method===t?{...e,setting:{...e.setting,currentSite:n}}:e)}:r)}:r):(console.error("更新场景失败:",a.error),tc("error",`更新场景失败: ${a.error}`))}catch(e){console.error("更新场景失败:",e),tc("error","更新场景失败: 网络错误")}},e8=async(e,t,n)=>{if(r){G(!0),Y(!0);try{let s=await fetch(`/api/mock-file-content?project=${encodeURIComponent(r)}&apiName=${encodeURIComponent(e)}&method=${encodeURIComponent(t)}&siteName=${encodeURIComponent(n)}`),a=await s.json();a.success?(B({projectName:r,apiName:e,method:t,siteName:n,content:a.data.content}),V(!0)):(console.error("获取文件内容失败:",a.error),tc("error",`获取文件内容失败: ${a.error}`))}catch(e){console.error("获取文件内容失败:",e),tc("error","获取文件内容失败: 网络错误")}finally{G(!1)}}},e7=async()=>{if($){q(!0);try{let e=await fetch("/api/mock-file-content",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify($)}),t=await e.json();t.success?(V(!1),B(null)):(console.error("保存文件失败:",t.error),tc("error",`保存文件失败: ${t.error}`))}catch(e){console.error("保存文件失败:",e),tc("error","保存文件失败: 网络错误")}finally{q(!1)}}},te=()=>{V(!1),B(null),Y(!0)},tt=(e,t)=>{"siteName"===e&&en||el(r=>({...r,[e]:t}))},tr=(e,t)=>{let r=e.toUpperCase(),n=t.replace(/\//g,"_").replace(/^_/,"");switch(r){case"GET":return`const Mock = require('mockjs');
|
|
6
|
+
|
|
7
|
+
module.exports = Mock.mock({
|
|
8
|
+
"code": 200,
|
|
9
|
+
"message": "获取${n}成功",
|
|
10
|
+
"data": {
|
|
11
|
+
"id|1-100": 1,
|
|
12
|
+
"name": "@cname",
|
|
13
|
+
"email": "@email",
|
|
14
|
+
"phone": /^1[3-9]\\d{9}$/,
|
|
15
|
+
"status|1": ["active", "inactive", "pending"],
|
|
16
|
+
"createTime": "@datetime('yyyy-MM-dd HH:mm:ss')",
|
|
17
|
+
"updateTime": "@now('yyyy-MM-dd HH:mm:ss')",
|
|
18
|
+
"avatar": "@image('200x200', '@color', '@cname')",
|
|
19
|
+
"address": "@county(true)"
|
|
20
|
+
}
|
|
21
|
+
});`;case"POST":return`const Mock = require('mockjs');
|
|
22
|
+
|
|
23
|
+
module.exports = Mock.mock({
|
|
24
|
+
"code": 200,
|
|
25
|
+
"message": "创建${n}成功",
|
|
26
|
+
"data": {
|
|
27
|
+
"id|1-100": 1,
|
|
28
|
+
"result": "success",
|
|
29
|
+
"createTime": "@now('yyyy-MM-dd HH:mm:ss')"
|
|
30
|
+
}
|
|
31
|
+
});`;case"PUT":return`const Mock = require('mockjs');
|
|
32
|
+
|
|
33
|
+
module.exports = Mock.mock({
|
|
34
|
+
"code": 200,
|
|
35
|
+
"message": "更新${n}成功",
|
|
36
|
+
"data": {
|
|
37
|
+
"id|1-100": 1,
|
|
38
|
+
"result": "success",
|
|
39
|
+
"updateTime": "@now('yyyy-MM-dd HH:mm:ss')"
|
|
40
|
+
}
|
|
41
|
+
});`;case"DELETE":return`const Mock = require('mockjs');
|
|
42
|
+
|
|
43
|
+
module.exports = Mock.mock({
|
|
44
|
+
"code": 200,
|
|
45
|
+
"message": "删除${n}成功",
|
|
46
|
+
"data": {
|
|
47
|
+
"result": "success",
|
|
48
|
+
"deleteTime": "@now('yyyy-MM-dd HH:mm:ss')"
|
|
49
|
+
}
|
|
50
|
+
});`;default:return`const Mock = require('mockjs');
|
|
51
|
+
|
|
52
|
+
module.exports = Mock.mock({
|
|
53
|
+
"code": 200,
|
|
54
|
+
"message": "操作成功",
|
|
55
|
+
"data": {
|
|
56
|
+
"id|1-100": 1,
|
|
57
|
+
"timestamp": "@now('yyyy-MM-dd HH:mm:ss')"
|
|
58
|
+
}
|
|
59
|
+
});`}},tn=(e,t,r)=>{if(!I)return!1;let n=e.replace(/\//g,"_").replace(/^_/,""),s=I.mockFiles.find(e=>e.apiName===n);if(!s)return!1;let a=s.methods.find(e=>e.method.toLowerCase()===t.toLowerCase());return!!a&&!!a.files.find(e=>e.siteName===r)},ts=async()=>{if(!ei.apiPath.trim())return void tc("error","请输入接口地址");if(tn(ei.apiPath,ei.method,ei.siteName))return void tc("error",`接口 ${ei.apiPath} [${ei.method.toUpperCase()}] 的场景 "${ei.siteName}" 已存在,不能重复创建`);em(!0);try{let e=ei.apiPath.replace(/\//g,"_").replace(/^_/,""),t=$?.content??tr(ei.method,ei.apiPath),n=await fetch("/api/mock-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,apiName:e,method:ei.method.toLowerCase(),siteName:ei.siteName,content:t})}),s=await n.json();if(s.success)ei.mockOpen&&await tl(e,ei.method.toLowerCase(),ei.siteName,!0),el({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0}),es(!1),await eV(),tc("success","Mock文件创建成功");else throw Error(s.error||"创建失败")}catch(e){console.error("创建Mock文件失败:",e),tc("error",`创建Mock文件失败: ${e instanceof Error?e.message:"未知错误"}`)}finally{em(!1)}},ta=(e,t,n)=>{console.log("新增场景点击:",{apiName:e,method:t,apiPath:n}),ed({apiName:e,method:t,apiPath:n});let s={apiPath:n,method:t.toUpperCase(),siteName:"",mockOpen:!0};console.log("设置表单数据:",s),el(s),eo(!0);let a=tr(s.method,s.apiPath);B({projectName:r||"",apiName:e,method:t.toLowerCase(),siteName:"",content:a||""})},to=(e,t,r)=>{if(!I)return!1;let n=I.mockFiles.find(t=>t.apiName===e);if(!n)return!1;let s=n.methods.find(e=>e.method.toLowerCase()===t.toLowerCase());return!!s&&!!s.files.find(e=>e.siteName===r)},ti=async()=>{if(!ec||!ei.siteName.trim())return void tc("error","请输入场景名称");if(to(ec.apiName,ec.method,ei.siteName))return void tc("error",`接口 ${ec.apiPath} [${ec.method.toUpperCase()}] 的场景 "${ei.siteName}" 已存在`);em(!0);try{let e=$?.content??tr(ec.method,ec.apiPath);console.log("defaultContent",e,$);let t=await fetch("/api/mock-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:r,apiName:ec.apiName,method:ec.method.toLowerCase(),siteName:ei.siteName,content:e})}),n=await t.json();if(n.success){if(ei.mockOpen&&await tl(ec.apiName,ec.method,ei.siteName,!0),el({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0}),b)try{let e=await fetch("/api/mock-setting",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:b.projectName,apiName:ec.apiName,method:ec.method,currentSite:ei.siteName})}),t=await e.json();t.success||console.warn("切换到新场景失败:",t.error)}catch(e){console.warn("切换到新场景失败:",e)}try{await tl(ec.apiName,ec.method,ei.siteName,!0)}catch(e){console.warn("自动开启新场景失败:",e)}eo(!1),ed(null),await eV(),tc("success","场景创建成功")}else throw Error(n.error||"创建失败")}catch(e){console.error("创建场景失败:",e),tc("error",`创建场景失败: ${e instanceof Error?e.message:"未知错误"}`)}finally{em(!1)}},tl=async(e,t,r,n)=>{if(b)try{let s=await fetch("/api/mock-open-status",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectName:b.projectName,apiName:e,method:t,siteName:r,isOpen:n})}),a=await s.json();a.success?await eV():console.error("更新Mock开启状态失败:",a.error)}catch(e){console.error("更新Mock开启状态失败:",e)}},tc=(e,t)=>{ev({open:!0,type:e,message:t}),setTimeout(()=>{ev({open:!1,type:"success",message:""})},3e3)},td=(e,t,r)=>{ef({open:!0,apiName:e,method:t,siteName:r})},tu=async()=>{if(!b)return;let{apiName:e,method:t,siteName:r}=ep;try{let n=await fetch(`/api/mock-file?project=${encodeURIComponent(b.projectName)}&apiName=${encodeURIComponent(e)}&method=${encodeURIComponent(t)}&siteName=${encodeURIComponent(r)}`,{method:"DELETE"}),s=await n.json();if(s.success){let e=window.scrollY;await eV(),window.scrollTo(0,e),tc("success","场景删除成功")}else console.error("删除场景失败:",s.error),tc("error",`删除场景失败: ${s.error}`)}catch(e){console.error("删除场景失败:",e),tc("error","删除场景失败: 网络错误")}finally{ef({open:!1,apiName:"",method:"",siteName:""})}},tm=(e,t)=>{ex({open:!0,apiName:e,apiPath:t})},tp=async()=>{if(!b)return;let{apiName:e}=eh;try{let t=await fetch(`/api/delete-mock-api?project=${encodeURIComponent(b.projectName)}&apiName=${encodeURIComponent(e)}`,{method:"DELETE"}),r=await t.json();if(r.success){let e=window.scrollY;await eV(),window.scrollTo(0,e),tc("success","接口删除成功")}else console.error("删除接口失败:",r.error),tc("error",`删除接口失败: ${r.error}`)}catch(e){console.error("删除接口失败:",e),tc("error","删除接口失败: 网络错误")}finally{ex({open:!1,apiName:"",apiPath:""})}},tf=e=>{ek(e),A(1)};if(w)return(0,n.jsx)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:(0,n.jsx)("div",{className:"text-center py-8",children:(0,n.jsx)("p",{children:"加载中..."})})});if(S||!b)return(0,n.jsxs)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,n.jsx)("h1",{className:"text-2xl font-bold",children:"项目配置"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[r&&(0,n.jsx)(i.SplitButton,{mainLabel:R?"打开中...":"在 Cursor 中打开",mainOnClick:()=>e$("cursor"),options:[{label:"在 WebStorm 中打开",onClick:()=>e$("webstorm")}],disabled:R,variant:"default"}),(0,n.jsx)(o.Button,{variant:"outline",onClick:eH,children:"返回初始化页面"})]})]}),(0,n.jsx)("div",{className:"text-center text-red-500 py-8",children:(0,n.jsx)("p",{children:S||"未找到项目配置"})})]});let th=Object.keys(b.envs);return(0,n.jsxs)("main",{className:"container mx-auto p-4 sm:p-6 md:p-8",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center mb-6",children:[(0,n.jsxs)("div",{className:"flex items-center gap-4",children:[(0,n.jsxs)("h1",{className:"text-2xl font-bold",children:[b.projectName," - 项目配置"]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium text-gray-600",children:"切换项目:"}),(0,n.jsxs)(c.Select,{value:r||"",onValueChange:n=>{if(n===r)return;ek(""),A(1),D(null);let s=e.get("tab"),a=`/configuration?project=${encodeURIComponent(n)}${s?`&tab=${s}`:""}`;t.push(a)},disabled:et,children:[(0,n.jsx)(c.SelectTrigger,{className:"w-40",children:(0,n.jsx)(c.SelectValue,{placeholder:et?"加载中...":"选择项目"})}),(0,n.jsx)(c.SelectContent,{children:Q.map(e=>(0,n.jsx)(c.SelectItem,{value:e.name,children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:`w-2 h-2 rounded-full ${"existing"===e.status?"bg-green-500":"failed"===e.status?"bg-red-500":"bg-yellow-500"}`}),(0,n.jsx)("span",{children:e.name})]})},e.name))})]})]}),(0,n.jsx)("div",{className:"ml-4",children:(0,n.jsx)(y.default,{projectName:r||"",compact:!0})})]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(o.Button,{variant:"outline",onClick:()=>eb(!0),children:"创建工作区"}),(0,n.jsx)(i.SplitButton,{mainLabel:R?"打开中...":"在 Cursor 中打开",mainOnClick:()=>e$("cursor"),options:[{label:"在 WebStorm 中打开",onClick:()=>e$("webstorm")}],disabled:R,variant:"default"}),(0,n.jsx)(o.Button,{variant:"outline",onClick:eH,children:"返回初始化页面"})]})]}),th.length>0?(0,n.jsxs)(l.Tabs,{value:H||th[0],onValueChange:e=>{z(e),"mock"===e&&eV()},className:"w-full",children:[(0,n.jsxs)(l.TabsList,{className:"grid w-full",style:{gridTemplateColumns:`repeat(${th.length+1}, 1fr)`},children:[th.map(e=>(0,n.jsx)(l.TabsTrigger,{value:e,className:"capitalize relative",children:(0,n.jsxs)("span",{className:"flex items-center gap-2",children:[e,eT[e]?.running&&(0,n.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse",title:"运行中"})]})},e)),(0,n.jsx)(l.TabsTrigger,{value:"mock",className:"capitalize",children:"Mock配置"})]}),th.map(e=>{let t=b.envs[e],r=Object.entries(t.proxyEnv),s=k[e]?.selectedProxy||"",a=k[e]?.selectedOption||"",i=t.currentProxy,m=t.proxyEnv[i]||i,p=t.proxyEnv[i]?i:"custom";return(0,n.jsxs)(l.TabsContent,{value:e,className:"space-y-6",children:[(0,n.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,n.jsx)("h3",{className:"text-lg font-semibold",children:"开发服务器控制"}),(0,n.jsx)("div",{className:"flex items-center gap-4",children:eT[e]?.running?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("span",{className:"flex items-center gap-2 text-sm text-green-600",children:[(0,n.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse"}),"运行中 (PID: ",eT[e]?.pid,")"]}),(0,n.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>eZ(e),children:"查看日志"}),(0,n.jsx)(o.Button,{variant:"destructive",size:"sm",onClick:()=>eK(e),disabled:eT[e]?.loading,children:eT[e]?.loading?"处理中...":"停止"})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("span",{className:"flex items-center gap-2 text-sm text-gray-500",children:[(0,n.jsx)("span",{className:"w-2 h-2 bg-gray-400 rounded-full"}),"未运行"]}),(0,n.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>eZ(e),children:"查看日志"}),(0,n.jsx)(o.Button,{variant:"default",size:"sm",onClick:()=>eG(e),disabled:eT[e]?.loading||!t.startCommand,children:eT[e]?.loading?"处理中...":"启动"})]})})]}),t.startCommand?(0,n.jsxs)("div",{className:"text-sm text-gray-600",children:[(0,n.jsx)("span",{className:"font-medium",children:"启动命令:"})," ",(0,n.jsx)("code",{className:"px-2 py-1 bg-gray-200 rounded",children:t.startCommand})]}):(0,n.jsx)("div",{className:"text-sm text-yellow-600",children:"⚠️ 该环境未配置启动命令"}),t.host&&(0,n.jsxs)("div",{className:"text-sm text-gray-600 mt-2",children:[(0,n.jsx)("span",{className:"font-medium",children:"访问地址:"}),eT[e]?.running?(0,n.jsx)("a",{href:t.host,target:"_blank",rel:"noopener noreferrer",className:"ml-2 text-blue-600 hover:underline",children:t.host}):(0,n.jsx)("span",{className:"ml-2",children:t.host})]})]}),(0,n.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6",children:[(0,n.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,n.jsxs)("h3",{className:"text-lg font-semibold mb-4",children:[e," 环境配置"]}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)(u.Label,{className:"block text-sm font-medium mb-2",children:"接口代理环境切换"}),(0,n.jsxs)(c.Select,{value:a,onValueChange:t=>e0(e,t),children:[(0,n.jsx)(c.SelectTrigger,{className:"w-full",children:(0,n.jsx)(c.SelectValue,{placeholder:"选择代理环境"})}),(0,n.jsx)(c.SelectContent,{children:r.map(([e,t])=>(0,n.jsxs)(c.SelectItem,{value:e,children:[e,"(",t,")"]},e))})]})]}),m&&(0,n.jsxs)("div",{className:"p-3 bg-blue-50 rounded-md",children:[(0,n.jsxs)("p",{className:"text-sm text-blue-700",children:["当前项目接口已代理至:",p," 环境"]}),(0,n.jsxs)("p",{className:"text-sm text-blue-600",children:["代理地址为:",m]})]}),"custom"===a&&(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{className:"block text-sm font-medium",children:"自定义代理地址"}),(0,n.jsx)(d.Input,{type:"url",placeholder:"请输入自定义代理地址 (如: http://localhost:52741)",value:s,onChange:t=>e1(e,t.target.value),className:"w-full"}),(0,n.jsx)("p",{className:"text-xs text-gray-500",children:"请输入完整的代理地址,包括协议 (http:// 或 https://)"})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)(o.Button,{onClick:()=>e4(e),disabled:k[e]?.saving,className:"w-full sm:w-auto",children:k[e]?.saving?"保存中...":"保存配置"}),k[e]?.saveMessage&&(0,n.jsx)("span",{className:`text-sm ml-3 ${k[e]?.saveMessage==="保存成功"?"text-green-600":"text-red-600"}`,children:k[e]?.saveMessage})]})]})]}),(0,n.jsx)(g.default,{currentProjectName:b.projectName,currentEnvName:e})]})]},e)}),(0,n.jsx)(l.TabsContent,{value:"mock",className:"space-y-6",children:(0,n.jsxs)("div",{className:"p-6 bg-gray-50 rounded-lg",children:[(0,n.jsx)("h3",{className:"text-lg font-semibold mb-4",children:"Mock配置"}),(0,n.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6 mb-6",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium",children:"Mock拦截"}),(0,n.jsx)("p",{className:"text-xs text-gray-500",children:"启用或禁用Mock拦截功能"})]}),(0,n.jsx)(m.Switch,{checked:T.mockingIntercept,onCheckedChange:e2})]}),(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium",children:"Mock开启"}),(0,n.jsx)("p",{className:"text-xs text-gray-500",children:"启用或禁用Mock功能"})]}),(0,n.jsx)(m.Switch,{checked:T.mockOpen,onCheckedChange:e3})]})]}),T.saveMessage&&(0,n.jsx)("div",{className:"mb-6",children:(0,n.jsx)("span",{className:`text-sm ${T.saveMessage.includes("已保存")?"text-green-600":"text-red-600"}`,children:T.saveMessage})}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsx)("h4",{className:"text-md font-medium",children:"Mock接口列表"}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(o.Button,{onClick:()=>{es(!0);let e=tr(ei.method,ei.apiPath);B({projectName:r||"",apiName:ei.apiPath,method:ei.method.toLowerCase(),siteName:"",content:e||""})},variant:"default",size:"sm",children:"新建"}),(0,n.jsx)(o.Button,{onClick:eV,disabled:M,variant:"outline",size:"sm",children:M?"加载中...":"刷新"}),(0,n.jsx)(o.Button,{onClick:e5,variant:"outline",size:"sm",children:"一键关闭"}),(0,n.jsx)(o.Button,{onClick:e6,variant:"outline",size:"sm",children:"一键开启"})]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)("div",{className:"relative flex-1 max-w-md",children:[(0,n.jsx)(d.Input,{placeholder:"搜索接口地址...",value:eC,onChange:e=>tf(e.target.value),className:"pr-8"}),eC&&(0,n.jsx)(o.Button,{variant:"ghost",size:"sm",onClick:()=>{ek(""),A(1)},className:"absolute right-1 top-1/2 transform -translate-y-1/2 h-6 w-6 p-0 hover:bg-gray-100",children:"×"})]}),eC&&(0,n.jsxs)("span",{className:"text-sm text-gray-500",children:['搜索关键词: "',eC,'"']})]}),M?(0,n.jsx)("div",{className:"text-center py-8",children:(0,n.jsx)("p",{className:"text-gray-500",children:"加载Mock数据中..."})}):I&&I.mockFiles.length>0?(()=>{let e=[];I.mockFiles.forEach(t=>{t.methods.forEach(r=>{let n=t.apiName.replace(/_/g,"/"),s=r.files.map(e=>e.siteName),a=r.setting?.currentSite||s[0]||"",o=r.setting?.open||[],i=o.includes(a);e.push({apiPath:n,method:r.method.toUpperCase(),currentSite:a,availableSites:s,apiName:t.apiName,isOpen:i,openSites:o})})});let t=eC.trim()?e.filter(e=>e.apiPath.toLowerCase().includes(eC.toLowerCase())):e,r=t.length,s=Math.ceil(r/F),a=(L-1)*F,i=a+F,l=t.slice(a,i);return(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)(p.Table,{children:[(0,n.jsx)(p.TableHeader,{children:(0,n.jsxs)(p.TableRow,{children:[(0,n.jsx)(p.TableHead,{children:"接口地址"}),(0,n.jsx)(p.TableHead,{children:"请求方法"}),(0,n.jsx)(p.TableHead,{children:"当前场景"}),(0,n.jsx)(p.TableHead,{children:"开启mock"}),(0,n.jsx)(p.TableHead,{children:"操作"})]})}),(0,n.jsx)(p.TableBody,{children:l.map((e,t)=>(0,n.jsxs)(p.TableRow,{children:[(0,n.jsx)(p.TableCell,{className:"font-medium",children:e.apiPath}),(0,n.jsx)(p.TableCell,{children:(0,n.jsx)("span",{className:`px-2 py-1 rounded text-xs font-medium ${"GET"===e.method?"bg-green-100 text-green-800":"POST"===e.method?"bg-blue-100 text-blue-800":"PUT"===e.method?"bg-yellow-100 text-yellow-800":"DELETE"===e.method?"bg-red-100 text-red-800":"bg-gray-100 text-gray-800"}`,children:e.method})}),(0,n.jsx)(p.TableCell,{children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsxs)(c.Select,{value:e.currentSite,onValueChange:t=>e9(e.apiName,e.method.toLowerCase(),t),children:[(0,n.jsx)(c.SelectTrigger,{className:"w-32",children:(0,n.jsx)(c.SelectValue,{})}),(0,n.jsx)(c.SelectContent,{children:e.availableSites.map(e=>(0,n.jsx)(c.SelectItem,{value:e,children:e},e))})]}),e.availableSites.length>1&&(0,n.jsx)(o.Button,{variant:"ghost",size:"sm",onClick:()=>td(e.apiName,e.method.toLowerCase(),e.currentSite),className:"h-8 w-8 p-0 text-red-500 hover:text-red-700 hover:bg-red-50",title:"删除当前场景",children:(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,n.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]})})]})}),(0,n.jsx)(p.TableCell,{children:(0,n.jsx)(m.Switch,{checked:e.isOpen,onCheckedChange:t=>tl(e.apiName,e.method.toLowerCase(),e.currentSite,t)})}),(0,n.jsx)(p.TableCell,{children:(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>e8(e.apiName,e.method.toLowerCase(),e.currentSite),disabled:W,children:W?"加载中...":"编辑"}),(0,n.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>ta(e.apiName,e.method.toLowerCase(),e.apiPath),disabled:eu,children:"新增场景"}),(0,n.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>tm(e.apiName,e.apiPath),className:"text-red-500 hover:text-red-700 hover:border-red-300",children:"删除接口"})]})})]},`${e.apiName}-${e.method}-${t}`))})]}),s>1&&(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"text-sm text-gray-500",children:["显示 ",a+1,"-",Math.min(i,r)," 条,共 ",r," 条"]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>A(e=>Math.max(1,e-1)),disabled:1===L,children:"上一页"}),(0,n.jsxs)("span",{className:"text-sm",children:[L," / ",s]}),(0,n.jsx)(o.Button,{variant:"outline",size:"sm",onClick:()=>A(e=>Math.min(s,e+1)),disabled:L===s,children:"下一页"})]})]})]})})():(0,n.jsxs)("div",{className:"text-center py-8",children:[(0,n.jsx)("p",{className:"text-gray-500",children:"暂无Mock接口数据"}),(0,n.jsx)("p",{className:"text-xs text-gray-400 mt-1",children:"请先创建Mock文件"})]})]})]})})]}):(0,n.jsx)("div",{className:"text-center text-gray-500 py-8",children:(0,n.jsx)("p",{children:"该项目没有配置环境信息"})}),(0,n.jsx)(f.Dialog,{open:U||en||ea,onOpenChange:e=>{e||(V(!1),es(!1),eo(!1),ed(null))},children:(0,n.jsxs)(f.DialogContent,{className:"w-screen h-screen max-w-none max-h-none m-0 rounded-none overflow-hidden flex flex-col",children:[(0,n.jsxs)(f.DialogHeader,{className:"flex-shrink-0 border-b pb-4",children:[(0,n.jsx)(f.DialogTitle,{children:en?"新建Mock文件":ea?"新增场景":"编辑Mock文件"}),(0,n.jsx)(f.DialogDescription,{children:en?"创建一个新的Mock接口文件":ea&&ec?(0,n.jsxs)(n.Fragment,{children:["为接口 ",ec.apiPath," [",ec.method.toUpperCase(),"] 新增场景"]}):$?(0,n.jsxs)(n.Fragment,{children:["编辑 ",$.apiName.replace(/_/g,"/")," - ",$.method.toUpperCase()," - ",$.siteName,".cjs"]}):null})]}),(en||ea)&&(0,n.jsxs)("div",{className:"flex-shrink-0 border-b pb-4",children:[(0,n.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"apiPath",className:"text-sm font-medium",children:"接口地址"}),ea?(0,n.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:ei.apiPath}):(0,n.jsx)(d.Input,{id:"apiPath",placeholder:"/api/user/info",value:ei.apiPath,onChange:e=>tt("apiPath",e.target.value)})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"method",className:"text-sm font-medium",children:"请求方法"}),ea?(0,n.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:ei.method}):(0,n.jsxs)(c.Select,{value:ei.method,onValueChange:e=>tt("method",e),children:[(0,n.jsx)(c.SelectTrigger,{children:(0,n.jsx)(c.SelectValue,{})}),(0,n.jsxs)(c.SelectContent,{children:[(0,n.jsx)(c.SelectItem,{value:"GET",children:"GET"}),(0,n.jsx)(c.SelectItem,{value:"POST",children:"POST"}),(0,n.jsx)(c.SelectItem,{value:"PUT",children:"PUT"}),(0,n.jsx)(c.SelectItem,{value:"DELETE",children:"DELETE"}),(0,n.jsx)(c.SelectItem,{value:"PATCH",children:"PATCH"})]})]})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"siteName",className:"text-sm font-medium",children:"场景名称"}),en?(0,n.jsx)("div",{className:"px-3 py-2 bg-gray-50 border border-gray-200 rounded-md text-sm text-gray-600",children:"默认场景"}):(0,n.jsx)(d.Input,{id:"siteName",placeholder:"请输入场景名称",value:ei.siteName,onChange:e=>tt("siteName",e.target.value)})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(u.Label,{htmlFor:"mockOpen",className:"text-sm font-medium",children:"开启Mock"}),(0,n.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,n.jsx)(m.Switch,{id:"mockOpen",checked:ei.mockOpen,onCheckedChange:e=>tt("mockOpen",e)}),(0,n.jsx)("span",{className:"text-sm text-gray-600",children:ei.mockOpen?"开启":"关闭"})]})]})]}),en&&ei.apiPath.trim()&&ei.siteName.trim()&&tn(ei.apiPath,ei.method,ei.siteName)&&(0,n.jsx)("div",{className:"mt-4 p-3 bg-red-50 border border-red-200 rounded-md",children:(0,n.jsx)("div",{className:"flex items-center",children:(0,n.jsxs)("span",{className:"text-red-600 text-sm",children:["⚠️ 接口 ",ei.apiPath," [",ei.method.toUpperCase(),'] 的场景 "',ei.siteName,'" 已存在']})})}),ea&&ec&&ei.siteName.trim()&&to(ec.apiName,ec.method,ei.siteName)&&(0,n.jsx)("div",{className:"mt-4 p-3 bg-red-50 border border-red-200 rounded-md",children:(0,n.jsx)("div",{className:"flex items-center",children:(0,n.jsxs)("span",{className:"text-red-600 text-sm",children:['⚠️ 场景 "',ei.siteName,'" 已存在']})})})]}),(0,n.jsx)("div",{className:"flex-1 flex flex-col space-y-4 py-4",children:(0,n.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,n.jsx)(u.Label,{className:"text-sm font-medium mb-2",children:"文件内容"}),(0,n.jsxs)("div",{className:"flex-1 border rounded-md overflow-hidden relative",children:[J&&(0,n.jsx)("div",{className:"absolute inset-0 bg-gray-50 flex items-center justify-center z-10",children:(0,n.jsx)("p",{className:"text-gray-500",children:"编辑器加载中..."})}),(0,n.jsx)(x.default,{height:"100%",defaultLanguage:"javascript",value:$?.content||"",onChange:e=>{B(t=>t?{...t,content:e||""}:null)},onMount:async e=>{console.log("编辑器挂载,模式:",{isCreateMode:en,isAddSceneMode:ea,createFormData:ei}),Z(e),Y(!1),setTimeout(()=>eF(e),500)},loading:(0,n.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,n.jsx)("p",{className:"text-gray-500",children:"编辑器加载中..."})}),options:{minimap:{enabled:!1},fontSize:14,lineNumbers:"on",roundedSelection:!1,scrollBeyondLastLine:!1,automaticLayout:!0,tabSize:2,insertSpaces:!0,wordWrap:"on",theme:"vs-dark",bracketPairColorization:{enabled:!0},quickSuggestions:{other:!0,comments:!0,strings:!0},formatOnPaste:!0,formatOnType:!0,readOnly:!1}},en?"create":ea?"addscene":"edit")]})]})}),(0,n.jsxs)(f.DialogFooter,{className:"flex justify-between flex-shrink-0 border-t pt-4",children:[(0,n.jsx)(o.Button,{variant:"secondary",onClick:eL,disabled:!X||J,children:"格式化代码"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(o.Button,{variant:"outline",onClick:()=>{en?(es(!1),el({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0})):ea?(eo(!1),ed(null),el({apiPath:"",method:"GET",siteName:"默认场景",mockOpen:!0})):te()},children:"取消"}),en?(0,n.jsx)(o.Button,{onClick:ts,disabled:eu||!ei.apiPath.trim()||!ei.siteName.trim()||tn(ei.apiPath,ei.method,ei.siteName),children:eu?"创建中...":"创建"}):ea?(0,n.jsx)(o.Button,{onClick:ti,disabled:eu||!ei.siteName.trim()||!!ec&&to(ec.apiName,ec.method,ei.siteName),children:eu?"创建中...":"创建"}):(0,n.jsx)(o.Button,{onClick:e7,disabled:K,children:K?"保存中...":"保存"})]})]})]})}),(0,n.jsx)(f.Dialog,{open:eR,onOpenChange:e=>{e||eQ()},children:(0,n.jsxs)(f.DialogContent,{className:"max-w-5xl h-[85vh] max-h-[85vh] flex flex-col p-0",children:[(0,n.jsxs)(f.DialogHeader,{className:"px-6 pt-6 pb-4",children:[(0,n.jsxs)(f.DialogTitle,{className:"flex items-center justify-between",children:[(0,n.jsxs)("span",{children:["进程日志 - ",r," - ",eI]}),(0,n.jsx)("span",{className:"flex items-center gap-2 text-sm font-normal",children:eq&&(0,n.jsxs)("span",{className:"flex items-center gap-1 text-green-600",children:[(0,n.jsx)("span",{className:"w-2 h-2 bg-green-500 rounded-full animate-pulse"}),"实时连接"]})})]}),(0,n.jsx)(f.DialogDescription,{children:"实时显示进程输出日志"})]}),(0,n.jsx)("div",{className:"flex-1 min-h-0 bg-gray-900 mx-6 rounded-md overflow-hidden",children:(0,n.jsx)(v.default,{logs:eM})}),(0,n.jsxs)(f.DialogFooter,{className:"flex items-center justify-between px-6 pb-6 pt-4",children:[(0,n.jsxs)("div",{className:"text-sm text-gray-500",children:["共 ",eM.length," 条日志"]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(o.Button,{variant:"outline",onClick:()=>{eI&&(eX(),eY(eI))},disabled:!!eq,children:"重新连接"}),(0,n.jsx)(o.Button,{variant:"default",onClick:eQ,children:"关闭"})]})]})]})}),(0,n.jsx)(f.Dialog,{open:ep.open,onOpenChange:e=>{e||ef({open:!1,apiName:"",method:"",siteName:""})},children:(0,n.jsxs)(f.DialogContent,{className:"max-w-md",children:[(0,n.jsxs)(f.DialogHeader,{children:[(0,n.jsxs)(f.DialogTitle,{className:"flex items-center gap-2 text-red-600",children:[(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,n.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]}),"确认删除场景"]}),(0,n.jsxs)(f.DialogDescription,{children:["确定要删除场景 ",(0,n.jsxs)("span",{className:"font-medium text-gray-900",children:['"',ep.siteName,'"']})," 吗?",(0,n.jsx)("br",{}),(0,n.jsx)("span",{className:"text-red-500 text-sm mt-2 block",children:"此操作不可撤销"})]})]}),(0,n.jsxs)(f.DialogFooter,{className:"flex gap-2 justify-end",children:[(0,n.jsx)(o.Button,{variant:"outline",onClick:()=>ef({open:!1,apiName:"",method:"",siteName:""}),children:"取消"}),(0,n.jsx)(o.Button,{variant:"destructive",onClick:tu,children:"删除"})]})]})}),(0,n.jsx)(f.Dialog,{open:eh.open,onOpenChange:e=>{e||ex({open:!1,apiName:"",apiPath:""})},children:(0,n.jsxs)(f.DialogContent,{className:"max-w-md",children:[(0,n.jsxs)(f.DialogHeader,{children:[(0,n.jsxs)(f.DialogTitle,{className:"flex items-center gap-2 text-red-600",children:[(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,n.jsx)("path",{d:"M3 6h18"}),(0,n.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,n.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c0 1 1 2 2 2v2"})]}),"确认删除接口"]}),(0,n.jsxs)(f.DialogDescription,{children:["确定要删除整个接口 ",(0,n.jsxs)("span",{className:"font-medium text-gray-900",children:['"',eh.apiPath,'"']})," 吗?",(0,n.jsx)("br",{}),(0,n.jsx)("span",{className:"text-red-500 text-sm mt-2 block font-medium",children:"⚠️ 这将删除该接口的所有场景和相关文件,此操作不可撤销"})]})]}),(0,n.jsxs)(f.DialogFooter,{className:"flex gap-2 justify-end",children:[(0,n.jsx)(o.Button,{variant:"outline",onClick:()=>ex({open:!1,apiName:"",apiPath:""}),children:"取消"}),(0,n.jsx)(o.Button,{variant:"destructive",onClick:tp,children:"删除整个接口"})]})]})}),(0,n.jsx)(f.Dialog,{open:ey,onOpenChange:eb,children:(0,n.jsxs)(f.DialogContent,{className:"max-w-md",children:[(0,n.jsxs)(f.DialogHeader,{children:[(0,n.jsx)(f.DialogTitle,{children:"创建工作区"}),(0,n.jsx)(f.DialogDescription,{children:"选择要包含在工作区中的项目"})]}),(0,n.jsxs)("div",{className:"py-4 max-h-96 overflow-y-auto",children:[(0,n.jsx)("div",{className:"space-y-3",children:Q.filter(e=>"existing"===e.status).map(e=>(0,n.jsxs)("div",{className:"flex items-center space-x-3 p-3 rounded-lg border border-gray-200 hover:bg-gray-50 transition-colors",children:[(0,n.jsx)(h.Checkbox,{id:`workspace-${e.name}`,checked:ej.includes(e.name),onCheckedChange:()=>eU(e.name)}),(0,n.jsx)("label",{htmlFor:`workspace-${e.name}`,className:"flex-1 cursor-pointer text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",children:e.name})]},e.name))}),0===Q.filter(e=>"existing"===e.status).length&&(0,n.jsx)("div",{className:"text-center py-8 text-gray-500",children:"没有可用的项目"})]}),(0,n.jsxs)(f.DialogFooter,{className:"flex gap-2 justify-end",children:[(0,n.jsx)(o.Button,{variant:"outline",onClick:()=>{eb(!1),ew([])},children:"取消"}),(0,n.jsx)(o.Button,{variant:"default",onClick:eB,disabled:eN||0===ej.length,children:eN?"创建中...":"确认创建"})]})]})}),eg.open&&(0,n.jsx)("div",{className:"fixed top-4 right-4 z-50 animate-in slide-in-from-top-2 duration-300",children:(0,n.jsxs)("div",{className:`flex items-center gap-3 px-4 py-3 rounded-lg shadow-lg border max-w-sm ${"success"===eg.type?"bg-green-50 border-green-200 text-green-800":"bg-red-50 border-red-200 text-red-800"}`,children:[(0,n.jsx)("div",{className:"flex-shrink-0",children:"success"===eg.type?(0,n.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-green-600",children:(0,n.jsx)("path",{d:"M20 6L9 17l-5-5"})}):(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-red-600",children:[(0,n.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,n.jsx)("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),(0,n.jsx)("line",{x1:"9",y1:"9",x2:"15",y2:"15"})]})}),(0,n.jsx)("p",{className:"text-sm font-medium",children:eg.message}),(0,n.jsx)("button",{onClick:()=>ev({open:!1,type:"success",message:""}),className:"flex-shrink-0 ml-auto",children:(0,n.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"opacity-60 hover:opacity-100",children:[(0,n.jsx)("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),(0,n.jsx)("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]})})]})}function w(){return(0,n.jsx)(s.Suspense,{fallback:(0,n.jsx)("div",{className:"min-h-screen bg-gray-50 flex items-center justify-center",children:(0,n.jsxs)("div",{className:"text-center space-y-4",children:[(0,n.jsx)("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-blue-600 mx-auto"}),(0,n.jsx)("p",{className:"text-gray-600",children:"正在加载配置页面..."})]})}),children:(0,n.jsx)(j,{})})}}}]);
|
|
60
|
+
|
|
61
|
+
//# sourceMappingURL=a4de3104c17624f9.js.map
|
package/dist/server/.next/trace
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"generate-buildid","duration":122,"timestamp":86774619618,"id":4,"parentId":1,"tags":{},"startTime":1763098101927,"traceId":"b3e487e9a1e261ab"},{"name":"load-custom-routes","duration":934,"timestamp":86774619788,"id":5,"parentId":1,"tags":{},"startTime":1763098101927,"traceId":"b3e487e9a1e261ab"},{"name":"create-dist-dir","duration":133,"timestamp":86774657021,"id":6,"parentId":1,"tags":{},"startTime":1763098101965,"traceId":"b3e487e9a1e261ab"},{"name":"create-pages-mapping","duration":104,"timestamp":86774658473,"id":7,"parentId":1,"tags":{},"startTime":1763098101966,"traceId":"b3e487e9a1e261ab"},{"name":"collect-app-paths","duration":30029,"timestamp":86774658601,"id":8,"parentId":1,"tags":{},"startTime":1763098101966,"traceId":"b3e487e9a1e261ab"},{"name":"create-app-mapping","duration":1842,"timestamp":86774688658,"id":9,"parentId":1,"tags":{},"startTime":1763098101996,"traceId":"b3e487e9a1e261ab"},{"name":"public-dir-conflict-check","duration":321,"timestamp":86774690797,"id":10,"parentId":1,"tags":{},"startTime":1763098101998,"traceId":"b3e487e9a1e261ab"},{"name":"generate-routes-manifest","duration":1347,"timestamp":86774691233,"id":11,"parentId":1,"tags":{},"startTime":1763098101999,"traceId":"b3e487e9a1e261ab"},{"name":"verify-and-lint","duration":3154692,"timestamp":86777831825,"id":15,"parentId":1,"tags":{},"startTime":1763098105139,"traceId":"b3e487e9a1e261ab"},{"name":"verify-typescript-setup","duration":3345141,"timestamp":86777830215,"id":14,"parentId":1,"tags":{},"startTime":1763098105138,"traceId":"b3e487e9a1e261ab"},{"name":"check-static-error-page","duration":1860,"timestamp":86781187061,"id":18,"parentId":17,"tags":{},"startTime":1763098108495,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":2421,"timestamp":86781269836,"id":19,"parentId":17,"tags":{"page":"/_app"},"startTime":1763098108577,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":1842,"timestamp":86781270426,"id":21,"parentId":17,"tags":{"page":"/_document"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":1946,"timestamp":86781270355,"id":20,"parentId":17,"tags":{"page":"/_error"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":257819,"timestamp":86781274817,"id":55,"parentId":25,"tags":{},"startTime":1763098108582,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":262070,"timestamp":86781270640,"id":25,"parentId":17,"tags":{"page":"/api/check-workspace"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":274199,"timestamp":86781274763,"id":54,"parentId":26,"tags":{},"startTime":1763098108582,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":278346,"timestamp":86781270654,"id":26,"parentId":17,"tags":{"page":"/api/cleanup-mock"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":275835,"timestamp":86781274536,"id":52,"parentId":24,"tags":{},"startTime":1763098108582,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":279767,"timestamp":86781270620,"id":24,"parentId":17,"tags":{"page":"/api/check-mock-intercept"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":278168,"timestamp":86781274868,"id":56,"parentId":27,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":282406,"timestamp":86781270663,"id":27,"parentId":17,"tags":{"page":"/api/cleanup-project"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":285467,"timestamp":86781275054,"id":59,"parentId":30,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":289847,"timestamp":86781270702,"id":30,"parentId":17,"tags":{"page":"/api/get-mock-data"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":293689,"timestamp":86781274713,"id":53,"parentId":23,"tags":{},"startTime":1763098108582,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":297869,"timestamp":86781270598,"id":23,"parentId":17,"tags":{"page":"/api/all-projects-envs"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":300597,"timestamp":86781275089,"id":60,"parentId":31,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":305009,"timestamp":86781270711,"id":31,"parentId":17,"tags":{"page":"/api/initialize-workspace"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":304405,"timestamp":86781275200,"id":61,"parentId":32,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":308919,"timestamp":86781270717,"id":32,"parentId":17,"tags":{"page":"/api/memory-status"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":307937,"timestamp":86781275229,"id":62,"parentId":33,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":312476,"timestamp":86781270798,"id":33,"parentId":17,"tags":{"page":"/api/microapp-proxy-change-stream"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":312887,"timestamp":86781275249,"id":63,"parentId":34,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":317357,"timestamp":86781270811,"id":34,"parentId":17,"tags":{"page":"/api/microapp-proxy-config"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":315325,"timestamp":86781275028,"id":58,"parentId":29,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":319693,"timestamp":86781270692,"id":29,"parentId":17,"tags":{"page":"/api/delete-mock-api"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":315167,"timestamp":86781275310,"id":68,"parentId":40,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":319540,"timestamp":86781270945,"id":40,"parentId":17,"tags":{"page":"/api/open-project"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":318014,"timestamp":86781275442,"id":70,"parentId":42,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":322523,"timestamp":86781270958,"id":42,"parentId":17,"tags":{"page":"/api/process/logs/stream"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":318349,"timestamp":86781275319,"id":69,"parentId":41,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":322730,"timestamp":86781270951,"id":41,"parentId":17,"tags":{"page":"/api/process/logs"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":322420,"timestamp":86781275477,"id":71,"parentId":36,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":327036,"timestamp":86781270892,"id":36,"parentId":17,"tags":{"page":"/api/mock-file"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":323394,"timestamp":86781275262,"id":64,"parentId":35,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":327865,"timestamp":86781270820,"id":35,"parentId":17,"tags":{"page":"/api/mock-file-content"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":324323,"timestamp":86781275523,"id":73,"parentId":45,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":328945,"timestamp":86781270979,"id":45,"parentId":17,"tags":{"page":"/api/project-config"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":325008,"timestamp":86781275538,"id":74,"parentId":44,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":329601,"timestamp":86781270973,"id":44,"parentId":17,"tags":{"page":"/api/process/status"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":325375,"timestamp":86781275510,"id":72,"parentId":43,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":329943,"timestamp":86781270964,"id":43,"parentId":17,"tags":{"page":"/api/process/start"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":325672,"timestamp":86781275299,"id":67,"parentId":39,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":330052,"timestamp":86781270926,"id":39,"parentId":17,"tags":{"page":"/api/open-all-mock"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":326442,"timestamp":86781275289,"id":66,"parentId":38,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":330832,"timestamp":86781270920,"id":38,"parentId":17,"tags":{"page":"/api/mock-setting"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":327009,"timestamp":86781275567,"id":77,"parentId":47,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":331622,"timestamp":86781270991,"id":47,"parentId":17,"tags":{"page":"/api/workspace/create"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":327490,"timestamp":86781275279,"id":65,"parentId":37,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":331877,"timestamp":86781270909,"id":37,"parentId":17,"tags":{"page":"/api/mock-open-status"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":327284,"timestamp":86781275547,"id":75,"parentId":46,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":331861,"timestamp":86781270984,"id":46,"parentId":17,"tags":{"page":"/api/retry-project"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":331153,"timestamp":86781275003,"id":57,"parentId":28,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":335541,"timestamp":86781270680,"id":28,"parentId":17,"tags":{"page":"/api/current-branch"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":338058,"timestamp":86781275556,"id":76,"parentId":51,"tags":{},"startTime":1763098108583,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":342718,"timestamp":86781271031,"id":51,"parentId":17,"tags":{"page":"/favicon.ico"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":346411,"timestamp":86781279483,"id":79,"parentId":50,"tags":{},"startTime":1763098108587,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":354896,"timestamp":86781271023,"id":50,"parentId":17,"tags":{"page":"/"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":348486,"timestamp":86781279509,"id":80,"parentId":48,"tags":{},"startTime":1763098108587,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":357158,"timestamp":86781270996,"id":48,"parentId":17,"tags":{"page":"/configuration"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":352445,"timestamp":86781276011,"id":78,"parentId":22,"tags":{},"startTime":1763098108584,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":358024,"timestamp":86781270439,"id":22,"parentId":17,"tags":{"page":"/_not-found"},"startTime":1763098108578,"traceId":"b3e487e9a1e261ab"},{"name":"is-page-static","duration":350232,"timestamp":86781279514,"id":81,"parentId":49,"tags":{},"startTime":1763098108587,"traceId":"b3e487e9a1e261ab"},{"name":"check-page","duration":358761,"timestamp":86781271012,"id":49,"parentId":17,"tags":{"page":"/initialization"},"startTime":1763098108579,"traceId":"b3e487e9a1e261ab"},{"name":"static-check","duration":443146,"timestamp":86781186678,"id":17,"parentId":1,"tags":{},"startTime":1763098108494,"traceId":"b3e487e9a1e261ab"},{"name":"generate-required-server-files","duration":269,"timestamp":86781630076,"id":83,"parentId":1,"tags":{},"startTime":1763098108938,"traceId":"b3e487e9a1e261ab"},{"name":"write-routes-manifest","duration":1025,"timestamp":86781636121,"id":85,"parentId":1,"tags":{},"startTime":1763098108944,"traceId":"b3e487e9a1e261ab"},{"name":"load-dotenv","duration":13,"timestamp":86781650261,"id":88,"parentId":87,"tags":{},"startTime":1763098108958,"traceId":"b3e487e9a1e261ab"},{"name":"run-export-path-map","duration":229,"timestamp":86781798595,"id":89,"parentId":87,"tags":{},"startTime":1763098109106,"traceId":"b3e487e9a1e261ab"},{"name":"next-export","duration":729400,"timestamp":86781649696,"id":87,"parentId":1,"tags":{},"startTime":1763098108957,"traceId":"b3e487e9a1e261ab"},{"name":"move-exported-app-not-found-","duration":3856,"timestamp":86782380872,"id":90,"parentId":86,"tags":{},"startTime":1763098109689,"traceId":"b3e487e9a1e261ab"},{"name":"move-exported-page","duration":6950,"timestamp":86782384837,"id":91,"parentId":86,"tags":{},"startTime":1763098109692,"traceId":"b3e487e9a1e261ab"},{"name":"static-generation","duration":841531,"timestamp":86781645632,"id":86,"parentId":1,"tags":{},"startTime":1763098108953,"traceId":"b3e487e9a1e261ab"},{"name":"write-routes-manifest","duration":10579,"timestamp":86782487184,"id":92,"parentId":1,"tags":{},"startTime":1763098109795,"traceId":"b3e487e9a1e261ab"},{"name":"node-file-trace-build","duration":4556327,"timestamp":86781631862,"id":84,"parentId":1,"tags":{"isTurbotrace":"false"},"startTime":1763098108940,"traceId":"b3e487e9a1e261ab"},{"name":"apply-include-excludes","duration":261,"timestamp":86786188207,"id":93,"parentId":1,"tags":{},"startTime":1763098113496,"traceId":"b3e487e9a1e261ab"},{"name":"print-tree-view","duration":2768,"timestamp":86786188959,"id":94,"parentId":1,"tags":{},"startTime":1763098113497,"traceId":"b3e487e9a1e261ab"},{"name":"telemetry-flush","duration":29,"timestamp":86786191737,"id":95,"parentId":1,"tags":{},"startTime":1763098113499,"traceId":"b3e487e9a1e261ab"},{"name":"next-build","duration":11720014,"timestamp":86774471756,"id":1,"tags":{"buildMode":"default","isTurboBuild":"true","version":"15.3.4","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1763098101779,"traceId":"b3e487e9a1e261ab"}]
|
|
1
|
+
[{"name":"generate-buildid","duration":129,"timestamp":1009582959470,"id":4,"parentId":1,"tags":{},"startTime":1766381397344,"traceId":"1fb32a520dce0372"},{"name":"load-custom-routes","duration":971,"timestamp":1009582959642,"id":5,"parentId":1,"tags":{},"startTime":1766381397344,"traceId":"1fb32a520dce0372"},{"name":"create-dist-dir","duration":137,"timestamp":1009582990768,"id":6,"parentId":1,"tags":{},"startTime":1766381397375,"traceId":"1fb32a520dce0372"},{"name":"create-pages-mapping","duration":114,"timestamp":1009583060398,"id":7,"parentId":1,"tags":{},"startTime":1766381397445,"traceId":"1fb32a520dce0372"},{"name":"collect-app-paths","duration":3501,"timestamp":1009583060537,"id":8,"parentId":1,"tags":{},"startTime":1766381397445,"traceId":"1fb32a520dce0372"},{"name":"create-app-mapping","duration":1576,"timestamp":1009583064055,"id":9,"parentId":1,"tags":{},"startTime":1766381397448,"traceId":"1fb32a520dce0372"},{"name":"public-dir-conflict-check","duration":223,"timestamp":1009583065971,"id":10,"parentId":1,"tags":{},"startTime":1766381397450,"traceId":"1fb32a520dce0372"},{"name":"generate-routes-manifest","duration":1240,"timestamp":1009583066282,"id":11,"parentId":1,"tags":{},"startTime":1766381397451,"traceId":"1fb32a520dce0372"},{"name":"verify-and-lint","duration":1944277,"timestamp":1009586267166,"id":15,"parentId":1,"tags":{},"startTime":1766381400651,"traceId":"1fb32a520dce0372"},{"name":"verify-typescript-setup","duration":2732743,"timestamp":1009586264029,"id":14,"parentId":1,"tags":{},"startTime":1766381400648,"traceId":"1fb32a520dce0372"},{"name":"check-static-error-page","duration":5220,"timestamp":1009589009361,"id":18,"parentId":17,"tags":{},"startTime":1766381403394,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":2881,"timestamp":1009589041044,"id":19,"parentId":17,"tags":{"page":"/_app"},"startTime":1766381403425,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":2001,"timestamp":1009589041934,"id":21,"parentId":17,"tags":{"page":"/_document"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":2109,"timestamp":1009589041862,"id":20,"parentId":17,"tags":{"page":"/_error"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":417028,"timestamp":1009589047614,"id":54,"parentId":26,"tags":{},"startTime":1766381403432,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":428378,"timestamp":1009589042174,"id":26,"parentId":17,"tags":{"page":"/api/cleanup-mock"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":500227,"timestamp":1009589047724,"id":55,"parentId":25,"tags":{},"startTime":1766381403432,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":505829,"timestamp":1009589042165,"id":25,"parentId":17,"tags":{"page":"/api/check-workspace"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":517945,"timestamp":1009589047993,"id":60,"parentId":28,"tags":{},"startTime":1766381403432,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":523768,"timestamp":1009589042199,"id":28,"parentId":17,"tags":{"page":"/api/current-branch"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":532623,"timestamp":1009589048019,"id":61,"parentId":33,"tags":{},"startTime":1766381403432,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":538425,"timestamp":1009589042251,"id":33,"parentId":17,"tags":{"page":"/api/microapp-proxy-change-stream"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":537035,"timestamp":1009589048047,"id":62,"parentId":35,"tags":{},"startTime":1766381403432,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":542848,"timestamp":1009589042264,"id":35,"parentId":17,"tags":{"page":"/api/mock-file-content"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":559385,"timestamp":1009589047779,"id":56,"parentId":27,"tags":{},"startTime":1766381403432,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":565107,"timestamp":1009589042188,"id":27,"parentId":17,"tags":{"page":"/api/cleanup-project"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":561273,"timestamp":1009589047871,"id":59,"parentId":32,"tags":{},"startTime":1766381403432,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":566919,"timestamp":1009589042242,"id":32,"parentId":17,"tags":{"page":"/api/memory-status"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":568003,"timestamp":1009589048092,"id":65,"parentId":38,"tags":{},"startTime":1766381403432,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":574009,"timestamp":1009589042317,"id":38,"parentId":17,"tags":{"page":"/api/mock-setting"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":571029,"timestamp":1009589048084,"id":64,"parentId":36,"tags":{},"startTime":1766381403432,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":576857,"timestamp":1009589042277,"id":36,"parentId":17,"tags":{"page":"/api/mock-file"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":573444,"timestamp":1009589048325,"id":66,"parentId":39,"tags":{},"startTime":1766381403433,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":579467,"timestamp":1009589042323,"id":39,"parentId":17,"tags":{"page":"/api/open-all-mock"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":574003,"timestamp":1009589047818,"id":57,"parentId":30,"tags":{},"startTime":1766381403432,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":579609,"timestamp":1009589042225,"id":30,"parentId":17,"tags":{"page":"/api/get-mock-data"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":575155,"timestamp":1009589048336,"id":67,"parentId":41,"tags":{},"startTime":1766381403433,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":581175,"timestamp":1009589042339,"id":41,"parentId":17,"tags":{"page":"/api/process/logs"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":576834,"timestamp":1009589048354,"id":68,"parentId":43,"tags":{},"startTime":1766381403433,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":582851,"timestamp":1009589042354,"id":43,"parentId":17,"tags":{"page":"/api/process/start"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":578064,"timestamp":1009589048368,"id":69,"parentId":40,"tags":{},"startTime":1766381403433,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":584124,"timestamp":1009589042333,"id":40,"parentId":17,"tags":{"page":"/api/open-project"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":579859,"timestamp":1009589048379,"id":70,"parentId":42,"tags":{},"startTime":1766381403433,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":585905,"timestamp":1009589042348,"id":42,"parentId":17,"tags":{"page":"/api/process/logs/stream"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":583561,"timestamp":1009589048420,"id":73,"parentId":37,"tags":{},"startTime":1766381403433,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":589718,"timestamp":1009589042283,"id":37,"parentId":17,"tags":{"page":"/api/mock-open-status"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":583644,"timestamp":1009589048392,"id":71,"parentId":44,"tags":{},"startTime":1766381403433,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":589678,"timestamp":1009589042364,"id":44,"parentId":17,"tags":{"page":"/api/process/status"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":585174,"timestamp":1009589048410,"id":72,"parentId":45,"tags":{},"startTime":1766381403433,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":591230,"timestamp":1009589042370,"id":45,"parentId":17,"tags":{"page":"/api/project-config"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":589122,"timestamp":1009589047348,"id":52,"parentId":24,"tags":{},"startTime":1766381403432,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":594418,"timestamp":1009589042075,"id":24,"parentId":17,"tags":{"page":"/api/check-mock-intercept"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":589992,"timestamp":1009589048064,"id":63,"parentId":34,"tags":{},"startTime":1766381403432,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":595908,"timestamp":1009589042258,"id":34,"parentId":17,"tags":{"page":"/api/microapp-proxy-config"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":603725,"timestamp":1009589048557,"id":75,"parentId":51,"tags":{},"startTime":1766381403433,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":609879,"timestamp":1009589042434,"id":51,"parentId":17,"tags":{"page":"/favicon.ico"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":604497,"timestamp":1009589047849,"id":58,"parentId":31,"tags":{},"startTime":1766381403432,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":610117,"timestamp":1009589042236,"id":31,"parentId":17,"tags":{"page":"/api/initialize-workspace"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":605565,"timestamp":1009589047558,"id":53,"parentId":23,"tags":{},"startTime":1766381403432,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":611169,"timestamp":1009589042035,"id":23,"parentId":17,"tags":{"page":"/api/all-projects-envs"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":604863,"timestamp":1009589048428,"id":74,"parentId":46,"tags":{},"startTime":1766381403433,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":610933,"timestamp":1009589042380,"id":46,"parentId":17,"tags":{"page":"/api/retry-project"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":627014,"timestamp":1009589048625,"id":76,"parentId":22,"tags":{},"startTime":1766381403433,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":633710,"timestamp":1009589041956,"id":22,"parentId":17,"tags":{"page":"/_not-found"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":633746,"timestamp":1009589048951,"id":77,"parentId":29,"tags":{},"startTime":1766381403433,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":640535,"timestamp":1009589042216,"id":29,"parentId":17,"tags":{"page":"/api/delete-mock-api"},"startTime":1766381403426,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":621229,"timestamp":1009589061578,"id":80,"parentId":49,"tags":{},"startTime":1766381403446,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":640433,"timestamp":1009589042408,"id":49,"parentId":17,"tags":{"page":"/initialization"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":631262,"timestamp":1009589061580,"id":81,"parentId":48,"tags":{},"startTime":1766381403446,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":650480,"timestamp":1009589042396,"id":48,"parentId":17,"tags":{"page":"/configuration"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":648789,"timestamp":1009589048974,"id":78,"parentId":47,"tags":{},"startTime":1766381403433,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":655461,"timestamp":1009589042386,"id":47,"parentId":17,"tags":{"page":"/api/workspace/create"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"is-page-static","duration":643465,"timestamp":1009589061561,"id":79,"parentId":50,"tags":{},"startTime":1766381403446,"traceId":"1fb32a520dce0372"},{"name":"check-page","duration":662628,"timestamp":1009589042423,"id":50,"parentId":17,"tags":{"page":"/"},"startTime":1766381403427,"traceId":"1fb32a520dce0372"},{"name":"static-check","duration":696247,"timestamp":1009589008898,"id":17,"parentId":1,"tags":{},"startTime":1766381403393,"traceId":"1fb32a520dce0372"},{"name":"generate-required-server-files","duration":1821,"timestamp":1009591130320,"id":83,"parentId":1,"tags":{},"startTime":1766381405515,"traceId":"1fb32a520dce0372"},{"name":"write-routes-manifest","duration":1666,"timestamp":1009591161390,"id":85,"parentId":1,"tags":{},"startTime":1766381405546,"traceId":"1fb32a520dce0372"},{"name":"load-dotenv","duration":28,"timestamp":1009591190742,"id":88,"parentId":87,"tags":{},"startTime":1766381405575,"traceId":"1fb32a520dce0372"},{"name":"run-export-path-map","duration":278,"timestamp":1009591353132,"id":89,"parentId":87,"tags":{},"startTime":1766381405737,"traceId":"1fb32a520dce0372"},{"name":"next-export","duration":629260,"timestamp":1009591189202,"id":87,"parentId":1,"tags":{},"startTime":1766381405573,"traceId":"1fb32a520dce0372"},{"name":"move-exported-app-not-found-","duration":3272,"timestamp":1009591819491,"id":90,"parentId":86,"tags":{},"startTime":1766381406204,"traceId":"1fb32a520dce0372"},{"name":"move-exported-page","duration":9818,"timestamp":1009591822874,"id":91,"parentId":86,"tags":{},"startTime":1766381406207,"traceId":"1fb32a520dce0372"},{"name":"static-generation","duration":698013,"timestamp":1009591182147,"id":86,"parentId":1,"tags":{},"startTime":1766381405566,"traceId":"1fb32a520dce0372"},{"name":"write-routes-manifest","duration":9261,"timestamp":1009591880174,"id":92,"parentId":1,"tags":{},"startTime":1766381406264,"traceId":"1fb32a520dce0372"},{"name":"node-file-trace-build","duration":4201415,"timestamp":1009591150162,"id":84,"parentId":1,"tags":{"isTurbotrace":"false"},"startTime":1766381405534,"traceId":"1fb32a520dce0372"},{"name":"apply-include-excludes","duration":204,"timestamp":1009595351589,"id":93,"parentId":1,"tags":{},"startTime":1766381409736,"traceId":"1fb32a520dce0372"},{"name":"print-tree-view","duration":2198,"timestamp":1009595352054,"id":94,"parentId":1,"tags":{},"startTime":1766381409736,"traceId":"1fb32a520dce0372"},{"name":"telemetry-flush","duration":28,"timestamp":1009595354262,"id":95,"parentId":1,"tags":{},"startTime":1766381409738,"traceId":"1fb32a520dce0372"},{"name":"next-build","duration":12545666,"timestamp":1009582808627,"id":1,"tags":{"buildMode":"default","isTurboBuild":"true","version":"15.3.4","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1766381397193,"traceId":"1fb32a520dce0372"}]
|