@dimina-kit/devtools 0.4.0-dev.20260828092243 → 0.4.0-dev.20260828161241
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/main/app/app.js +4 -0
- package/dist/main/index.bundle.js +99 -11
- package/dist/main/ipc/projects.d.ts +1 -1
- package/dist/main/ipc/projects.js +25 -1
- package/dist/main/services/projects/create-project-service.js +9 -2
- package/dist/main/services/projects/local-provider.js +6 -0
- package/dist/main/services/projects/project-repository.d.ts +25 -0
- package/dist/main/services/projects/project-repository.js +88 -12
- package/dist/main/services/projects/types.d.ts +13 -2
- package/dist/main/services/workbench-context.d.ts +18 -4
- package/dist/main/services/workbench-context.js +1 -0
- package/dist/main/services/workspace/workspace-service.d.ts +2 -0
- package/dist/main/services/workspace/workspace-service.js +14 -0
- package/dist/preload/windows/simulator.cjs.map +1 -1
- package/dist/renderer/assets/{button-DsNqZm7o.js → button-D5Q2wkXq.js} +2 -2
- package/dist/renderer/assets/{createLucideIcon-CYJeT1ji.js → createLucideIcon-Bqi8hpdi.js} +2 -2
- package/dist/renderer/assets/{dialog-pT4qWmka.js → dialog-e1TecTOY.js} +3 -3
- package/dist/renderer/assets/{dist-o70xmpc1.js → dist-DKWdE1TK.js} +2 -2
- package/dist/renderer/assets/{hostSidebarDefault-NvGZlE9O.js → hostSidebarDefault-B3yLfy8j.js} +2 -2
- package/dist/renderer/assets/index-CsPD68N_.js +5 -0
- package/dist/renderer/assets/{input-4QxTXMZN.js → input-Ct3alvkq.js} +2 -2
- package/dist/renderer/assets/ipc-channels-overlays-LsDzGAtV.js +2 -0
- package/dist/renderer/assets/jsx-runtime-2vXHouwr.css +1 -0
- package/dist/renderer/assets/{jsx-runtime-CqVdW3eg.js → jsx-runtime-DGLHmmOq.js} +1 -1
- package/dist/renderer/assets/{popover-CJiSWwuE.js → popover-Dix5cm_b.js} +2 -2
- package/dist/renderer/assets/project-api-k7Oq9iaq.js +2 -0
- package/dist/renderer/assets/{projectCreateDialog-DMWNhw_1.js → projectCreateDialog-Bbjz75bP.js} +2 -2
- package/dist/renderer/assets/{select-C86pNcsu.js → select-acGb0AmJ.js} +2 -2
- package/dist/renderer/assets/{settings-BoI8mLT1.js → settings-CQrTMr43.js} +2 -2
- package/dist/renderer/assets/{settings-api-Bs_g4NHs.js → settings-api-CrUQ9rYV.js} +2 -2
- package/dist/renderer/assets/{settings-tab-bar-DHLLygqv.js → settings-tab-bar-Cw1kVIf2.js} +2 -2
- package/dist/renderer/assets/{tooltip-BhAyY0T4.js → tooltip-B_-_YVbw.js} +2 -2
- package/dist/renderer/assets/{types-YYjkvane.js → types-CsEKtFyr.js} +2 -2
- package/dist/renderer/assets/{updateDialog-DPum3wx1.js → updateDialog-NsF8223A.js} +2 -2
- package/dist/renderer/assets/{view-api-DFhb2R8-.js → view-api-CLn3rcQE.js} +2 -2
- package/dist/renderer/assets/{workbenchSettings-DrajRQUk.js → workbenchSettings-CV4LVA9b.js} +2 -2
- package/dist/renderer/entries/host-sidebar-default/index.html +5 -5
- package/dist/renderer/entries/main/index.html +14 -12
- package/dist/renderer/entries/popover/index.html +8 -8
- package/dist/renderer/entries/project-create-dialog/index.html +11 -11
- package/dist/renderer/entries/settings/index.html +9 -9
- package/dist/renderer/entries/tooltip/index.html +5 -5
- package/dist/renderer/entries/update-dialog/index.html +9 -9
- package/dist/renderer/entries/workbench-settings/index.html +9 -9
- package/dist/shared/ipc-channels.d.ts +4 -0
- package/dist/shared/ipc-channels.js +4 -0
- package/dist/shared/ipc-schemas.d.ts +11 -0
- package/dist/shared/ipc-schemas.js +14 -0
- package/dist/shared/types.d.ts +61 -0
- package/package.json +6 -6
- package/dist/renderer/assets/index-zErhG3ta.js +0 -5
- package/dist/renderer/assets/ipc-channels-overlays-Blr5TNoB.js +0 -2
- package/dist/renderer/assets/jsx-runtime-B-3rq1y5.css +0 -1
- package/dist/renderer/assets/project-api-DZ1Zi6EC.js +0 -2
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{a as e,i as t,n,t as r}from"./jsx-runtime-CqVdW3eg.js";import{S as i,b as a,c as o,f as s,m as c,u as l,v as u,x as d}from"./ipc-channels-overlays-Blr5TNoB.js";import{_ as f,a as p,c as m,d as h,f as g,g as _,h as v,i as y,l as b,m as x,n as S,o as C,p as w,r as T,s as E,t as ee,u as te,v as ne}from"./project-api-DZ1Zi6EC.js";import{C as re,D as ie,E as ae,O as oe,S as se,T as ce,_ as le,a as ue,b as de,d as fe,f as pe,h as me,i as he,k as ge,l as _e,n as ve,o as ye,p as be,s as xe,t as Se,u as Ce,v as we,x as Te}from"./view-api-DFhb2R8-.js";import{u as Ee}from"./settings-api-Bs_g4NHs.js";import{n as De,t as Oe}from"./utils-kfQov6Pa.js";import{t as D}from"./button-DsNqZm7o.js";import{t as ke}from"./input-4QxTXMZN.js";import{t as O}from"./createLucideIcon-CYJeT1ji.js";import{n as Ae,t as je}from"./types-YYjkvane.js";import{n as Me}from"./constants-D7DfVqMp.js";import{i as Ne,n as Pe,r as Fe,t as Ie}from"./constants-D8zsejFq.js";import{t as Le}from"./select-C86pNcsu.js";function Re(){return o(s.GetBranding)}function ze(){return o(c.Open)}var Be=e(n(),1),k=e(t(),1),Ve=(0,k.createContext)(null);function He(){return(0,k.useContext)(Ve)}function Ue(e){let t=e.requestFrame??(e=>requestAnimationFrame(e)),n=e.cancelFrame??(e=>cancelAnimationFrame(e)),r=typeof e.generation==`function`?e.generation:()=>e.generation,i=new Map,a=!1,o=null,s=0,c=!1;function l(){c||o!==null||(o=t(u))}function u(){o=null,!(c||!a)&&(a=!1,e.publish({generation:r(),epoch:s++,views:[...i.values()]}))}return{set(e){c||(i.set(e.viewId,e),a=!0,l())},remove(e){c||i.delete(e)&&(a=!0,l())},dispose(){c||(c=!0,o!==null&&(n(o),o=null),e.publish({generation:r(),epoch:s++,views:[]}))}}}var We=0,Ge=!1,Ke=5,qe=50;function Je(e){return new Promise(t=>setTimeout(t,e))}async function Ye(){if(Ge)return;let e;for(let t=0;t<Ke;t++)try{let e=await Se();if(!Number.isSafeInteger(e))throw Error(`main returned a non-integer placement-generation seed: ${String(e)}`);We=e,Ge=!0;return}catch(n){e=n,t<Ke-1&&await Je(qe)}throw Error(`[placement-generation] failed to allocate a generation seed from main after ${Ke} attempts`,{cause:e})}function Xe(){return++We}function Ze(){let[e]=(0,k.useState)(()=>Xe()),t=(0,k.useMemo)(()=>Ue({generation:e,publish:e=>{re(e)}}),[e]);return(0,k.useEffect)(()=>()=>t.dispose(),[t]),t}function Qe(e,t,n){let[r,i]=(0,k.useState)(e);return(0,k.useEffect)(()=>{let e=!1,r=t(t=>{e=!0,i(t)});return n().then(t=>{e||typeof t==`number`&&i(t)}),r},[t,n]),r}var $e=O(`bug`,[[`path`,{d:`M12 20v-9`,key:`1qisl0`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`,key:`uouzyp`}],[`path`,{d:`M14.12 3.88 16 2`,key:`qol33r`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`,key:`1b0z45`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`,key:`5cxbf6`}],[`path`,{d:`M22 13h-4`,key:`1jl80f`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`,key:`1fjd4g`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`,key:`1d7oge`}],[`path`,{d:`M6 13H2`,key:`82j7cp`}],[`path`,{d:`m8 2 1.88 1.88`,key:`fmnt4t`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`,key:`1vgav8`}]]),et=O(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),tt=O(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),nt=O(`folder-input`,[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`,key:`fm4g5t`}],[`path`,{d:`M2 13h10`,key:`pgb2dq`}],[`path`,{d:`m9 16 3-3-3-3`,key:`6m91ic`}]]),rt=O(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),it=O(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),at=O(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),ot=O(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),st=O(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),ct=O(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),A=r();function lt({children:e}){return(0,A.jsx)(`div`,{className:`aspect-square w-full mb-[calc(-24*var(--qd-card-u))] overflow-hidden`,children:e})}function ut({icon:e,name:t,path:n,meta:r}){return(0,A.jsxs)(`div`,{className:`relative flex flex-col gap-[calc(12*var(--qd-card-u))] px-[calc(16*var(--qd-card-u))] pb-[calc(16*var(--qd-card-u))] shrink-0`,children:[(0,A.jsx)(`div`,{className:`size-[calc(48*var(--qd-card-u))] shrink-0 rounded-[var(--qd-radius-md)] flex items-center justify-center text-[calc(20*var(--qd-card-u))] font-medium leading-none ${e?`bg-[var(--qd-primary)] text-[color:var(--qd-on-solid)]`:``}`,"aria-hidden":`true`,children:e}),(0,A.jsxs)(`div`,{className:`flex flex-col gap-[calc(4*var(--qd-card-u))]`,children:[(0,A.jsx)(`div`,{className:`text-[calc(15*var(--qd-card-u))] font-medium leading-[calc(22*var(--qd-card-u))] text-text truncate`,title:t,children:t??`\xA0`}),(0,A.jsx)(`div`,{className:`text-[calc(12*var(--qd-card-u))] leading-[calc(16*var(--qd-card-u))] text-text-secondary truncate`,title:n,children:n??`\xA0`})]}),(0,A.jsx)(`div`,{className:`text-[calc(12*var(--qd-card-u))] leading-[calc(16*var(--qd-card-u))] text-text-secondary`,children:r??`\xA0`})]})}function dt(e){let t=Array.from(e.trim())[0];return t?t.toUpperCase():`?`}function ft({project:e,onOpen:t,onRemove:n,thumbnail:r}){let[i,a]=(0,k.useState)(!1);return(0,A.jsxs)(`div`,{"data-qd-card":!0,className:`relative flex flex-col min-w-[calc(var(--qd-card-w-ref)*1px)] w-full bg-surface border border-border rounded-[var(--qd-radius-xl)] overflow-hidden cursor-pointer transition-all duration-150 hover:border-[var(--qd-primary)] hover:shadow-[var(--qd-shadow-md)]`,onClick:()=>t(e),onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),children:[(0,A.jsx)(lt,{children:r?(0,A.jsx)(`img`,{src:r,className:`size-full object-cover object-top bg-bg`,alt:``}):(0,A.jsx)(`div`,{className:`size-full bg-bg`})}),(0,A.jsx)(ut,{icon:dt(e.name),name:e.name,path:e.path,meta:De(e.lastOpened)}),i&&(0,A.jsx)(D,{variant:`danger`,size:`icon-sm`,className:`absolute top-1.5 right-1.5 w-5 h-5 rounded-full bg-overlay text-text-secondary leading-none hover:text-status-error hover:bg-danger-bg`,onClick:t=>{t.stopPropagation(),n(e)},title:`移除`,children:`×`})]})}function pt(e){let t=`新建${je[e.category]}`;return(0,A.jsxs)(`button`,{type:`button`,onClick:e.onClick,"aria-label":t,"data-qd-card":!0,className:`group relative flex flex-col min-w-[calc(var(--qd-card-w-ref)*1px)] w-full bg-surface border border-dashed border-border rounded-[var(--qd-radius-lg)] overflow-hidden cursor-pointer transition-colors duration-150 hover:border-[var(--qd-primary)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--qd-primary)]`,children:[(0,A.jsx)(lt,{}),(0,A.jsx)(ut,{}),(0,A.jsxs)(`span`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-[calc(12*var(--qd-card-u))] text-text-secondary transition-colors duration-150 group-hover:text-[var(--qd-primary)]`,children:[(0,A.jsx)(at,{className:`size-[calc(40*var(--qd-card-u))]`,"aria-hidden":`true`,strokeWidth:1.5}),(0,A.jsx)(`span`,{className:`text-[calc(13*var(--qd-card-u))] font-medium`,children:t})]})]})}function mt({projects:e,category:t,onAdd:n,onCreate:r,onOpen:i,onRemove:a,thumbnails:o}){let[s,c]=(0,k.useState)(``),l=(0,k.useMemo)(()=>{if(!s.trim())return e;let t=s.trim().toLowerCase();return e.filter(e=>(e.name||``).toLowerCase().includes(t)||(e.path||``).toLowerCase().includes(t))},[e,s]),u=r??(()=>{}),d=e.length>0&&l.length===0;return(0,A.jsx)(`div`,{className:`flex flex-col h-screen bg-bg`,children:(0,A.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-6 flex flex-col gap-4`,children:[(0,A.jsxs)(`div`,{className:`flex items-center justify-between w-full shrink-0`,children:[(0,A.jsx)(`h1`,{className:`text-2xl font-medium leading-8 text-text`,children:je[t]}),(0,A.jsxs)(D,{variant:`outline`,onClick:n,className:`h-9 gap-2 px-2.5 text-[15px]`,children:[(0,A.jsx)(nt,{className:`size-4`}),`导入`]})]}),(0,A.jsxs)(`div`,{className:`flex items-center gap-2 h-8 px-3 rounded-[8px] bg-surface w-[300px] shrink-0`,children:[(0,A.jsx)(st,{className:`size-4 text-text-secondary shrink-0`}),(0,A.jsx)(ke,{placeholder:`搜索`,value:s,onChange:e=>c(e.target.value),className:`flex-1 min-w-0 h-auto border-0 shadow-none bg-transparent px-0 py-0 text-[13px]`})]}),d?(0,A.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-72 text-text-dim gap-3`,children:[(0,A.jsx)(`span`,{className:`text-5xl opacity-40`,children:`🔍`}),(0,A.jsx)(`span`,{className:`text-sm`,children:`未找到匹配的项目`})]}):(0,A.jsxs)(`div`,{className:`grid gap-4 w-full`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(calc(var(--qd-card-w-ref) * 1px), 1fr))`},children:[(0,A.jsx)(pt,{onClick:u,category:t}),l.map(e=>(0,A.jsx)(ft,{project:e,onOpen:i,onRemove:a,thumbnail:o?.[e.path]},e.path))]})]})})}var ht={x:0,y:0,width:0,height:0},gt=e=>({x:Math.round(e.x),y:Math.round(e.y),width:Math.max(0,Math.round(e.width)),height:Math.max(0,Math.round(e.height))});function _t(e,t){let n=t.present,r=t.publish,i=null,a=null,o=!1,s=()=>{let t=e.getBoundingClientRect();return gt({x:t.left,y:t.top,width:t.width,height:t.height})},c=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,l=()=>{if(o||!n)return;let e=s();a&&c(a,e)||(a=e,r(e))},u=()=>{i||(i=new ResizeObserver(l),i.observe(e),window.addEventListener(`resize`,l))},d=()=>{i&&=(i.disconnect(),null),window.removeEventListener(`resize`,l)},f=()=>{a=null,n?(u(),a=s(),r(a)):(d(),r(ht))};return f(),{update(e){o||(r=e.publish,n=e.present,f())},dispose(){o||(o=!0,d())}}}function vt(e){let t=e.getBoundingClientRect();return{visible:!0,bounds:gt({x:t.left,y:t.top,width:t.width,height:t.height})}}var yt=(e,t)=>e.visible===t.visible?e.visible&&t.visible?e.bounds.x===t.bounds.x&&e.bounds.y===t.bounds.y&&e.bounds.width===t.bounds.width&&e.bounds.height===t.bounds.height:!0:!1;function bt(e,t){let n=t.visible,r=t.publish,i=t.guardDisplayNone??!1,a=t.followScroll??!1,o=t.followGeometry??!1,s=null,c=null,l=null,u=!1,d=null,f=0,p=!1,m=null,h=()=>{let t=vt(e);return i&&t.visible&&(t.bounds.width===0||t.bounds.height===0)?{visible:!1}:t},g=()=>{if(u||!n)return;let e=h();l&&yt(l,e)||(l=e,r(e))},_=()=>l?.visible===!1?!0:f++>=30,v=()=>{if(d=null,u||!n){m=null;return}if(m!==null&&performance.now()>=m){m=null;return}let e=h();if(!e.visible){if(_()){m=null;return}d=requestAnimationFrame(v);return}if(l&&yt(l,e)){if(f++,f>=2&&!p){m=null;return}}else l=e,r(e),f=0;!u&&n?d=requestAnimationFrame(v):m=null},y=()=>{!o||u||(f=0,d===null&&(d=requestAnimationFrame(v)))},b=()=>{d!==null&&(cancelAnimationFrame(d),d=null),f=0,m=null,p=!1},x=()=>{o?y():g()},S=e=>{let t=e.target;t&&t.closest&&t.closest(`[role="separator"]`)&&(p=!0,y())},C=()=>{p&&(p=!1,y())},w=()=>{s||(s=new ResizeObserver(g),s.observe(e),window.addEventListener(`resize`,g),i&&typeof IntersectionObserver<`u`&&(c=new IntersectionObserver(g),c.observe(e)),a&&window.addEventListener(`scroll`,x,{capture:!0,passive:!0}),o&&(window.addEventListener(`pointerdown`,S,{capture:!0}),window.addEventListener(`pointerup`,C,{capture:!0})))},T=()=>{s&&=(s.disconnect(),null),c&&=(c.disconnect(),null),window.removeEventListener(`resize`,g),window.removeEventListener(`scroll`,x,{capture:!0}),window.removeEventListener(`pointerdown`,S,{capture:!0}),window.removeEventListener(`pointerup`,C,{capture:!0}),b()},E=()=>{if(l=null,n)w(),l=h(),r(l);else{T();let e={visible:!1};l=e,r(e)}};return E(),{update(e){u||(r=e.publish,n=e.visible,E())},dispose(){u||(u=!0,T())},pulse(e){if(!(u||!o)){if(e!==void 0&&e>0){let t=performance.now()+e;m=m===null?t:Math.max(m,t)}y()}}}}function xt(e){let t=(0,k.useRef)(null),n=(0,k.useRef)(null),r=(0,k.useRef)(e);r.current=e;let i=(0,k.useRef)([e.present,e.publish,...e.deps??[]]),a=(0,k.useRef)(()=>{let e=t.current;e&&(e.update({present:!1,publish:r.current.publish}),e.dispose(),t.current=null)}),o=(0,k.useCallback)(e=>{e!==n.current&&(n.current=e,t.current&&(e?(t.current.dispose(),t.current=null):a.current()),e&&(t.current=_t(e,{present:r.current.present,publish:r.current.publish}),i.current=[r.current.present,r.current.publish,...r.current.deps??[]]))},[]);return(0,k.useEffect)(()=>{let n=[e.present,e.publish,...e.deps??[]],r=i.current;(n.length!==r.length||n.some((e,t)=>!Object.is(e,r[t])))&&(i.current=n,t.current?.update({present:e.present,publish:e.publish}))},[e.present,e.publish,...e.deps??[]]),(0,k.useEffect)(()=>{let e=a.current;return n.current&&!t.current&&(t.current=_t(n.current,{present:r.current.present,publish:r.current.publish})),()=>{n.current===null&&e()}},[]),o}var j={simulator:`simulator`,simulatorDevtools:`simulator-devtools`,workbench:`workbench`,hostToolbar:`host-toolbar`,hostSidebar:`host-sidebar`,hostDialog:`host-dialog`,settings:`settings`,popover:`popover`,tooltip:`tooltip`,projectCreateDialog:`project-create-dialog`,updateDialog:`update-dialog`},St={base:0,hostToolbar:5,hostSidebar:5,settings:10,popover:20,tooltip:30,dialog:40,hostDialog:45};function Ct(e){let t=Ze(),n=Qe(56,fe,he),[r,i]=(0,k.useState)(`miniprogram`);(0,k.useEffect)(()=>Ce(i),[]);let a=(0,k.useMemo)(()=>e.projects.filter(e=>(e.type??`miniprogram`)===r),[e.projects,r]),o=xt({present:n>0,publish:e=>{let r=n>0&&e.width>0&&e.height>0;t.set({viewId:j.hostSidebar,placement:r?{visible:!0,bounds:e}:{visible:!1},layer:St.hostSidebar})},deps:[n,t]});return(0,A.jsx)(Ve.Provider,{value:t,children:(0,A.jsxs)(`div`,{className:`flex h-screen`,children:[(0,A.jsx)(`div`,{ref:o,style:{width:n},className:`shrink-0 h-full`,"data-area":`host-sidebar`}),(0,A.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,A.jsx)(mt,{...e,projects:a,category:r})})]})})}var wt={selected:`simulator`,simulatorVisible:!0};function Tt(e){return e+48}function Et(e,t){return Math.max(200,Math.min(t-200,e))}function Dt(e){let{initialDevice:t}=e,[n,r]=(0,k.useState)(t),[i,a]=(0,k.useState)(85),[o,s]=(0,k.useState)(()=>Tt(t.width)),c=(0,k.useRef)(o),l=(0,k.useRef)(n);(0,k.useEffect)(()=>{c.current=o},[o]),(0,k.useEffect)(()=>{l.current=n},[n]);let u=(0,k.useCallback)(e=>{ce({brand:`Apple`,model:e.name,system:e.system,platform:`ios`,pixelRatio:e.pixelRatio,screenWidth:e.width,screenHeight:e.height,statusBarHeight:e.statusBarHeight,notchType:e.notchType,safeAreaInsets:{...e.safeAreaInsets}})},[]);return{device:n,zoom:i,simPanelWidth:o,setSimPanelWidth:s,handleDeviceChange:(0,k.useCallback)(e=>{let t=Fe.find(t=>t.name===e.target.value)??Fe[1];r(t),u(t),s(Tt(t.width))},[u]),handleZoomChange:(0,k.useCallback)(e=>{a(e.target.value===`auto`?Ie:Number(e.target.value))},[]),handleSplitterDrag:(0,k.useCallback)((e,t=`trailing`)=>{e.preventDefault();let n=e.clientX,r=c.current,i=e=>{let i=e.clientX-n;s(Et(r+(t===`trailing`?i:-i),window.innerWidth))},a=()=>{window.removeEventListener(`mousemove`,i),window.removeEventListener(`mouseup`,a)};window.addEventListener(`mousemove`,i),window.addEventListener(`mouseup`,a)},[]),sendDeviceInfo:u,simPanelWidthRef:c,deviceRef:l}}var Ot=200,kt=300;function At(e){let{projectPath:t}=e,[n,r]=(0,k.useState)({status:`compiling`,message:`正在编译...`}),[i,a]=(0,k.useState)(null),[o,s]=(0,k.useState)([]),[c,l]=(0,k.useState)(0),[u,d]=(0,k.useState)({startPage:``,scene:Me,queryParams:[]});(0,k.useEffect)(()=>{let e=!1;async function n(){try{let n=await v(t);if(e)return;if(!n.success){r({status:`error`,message:n.error});return}let[i,o]=await Promise.all([E(t),p(t)]);if(e)return;a(n.appInfo),l(n.port),s(i.pages),d({startPage:o.startPage||i.entryPagePath||i.pages[0]||``,scene:o.scene??1001,queryParams:o.queryParams||[]}),r({status:`ready`,message:`编译完成`})}catch(t){if(e)return;r({status:`error`,message:t instanceof Error?t.message:String(t)})}}return n(),()=>{e=!0}},[t]);let[f,m]=(0,k.useState)(0),[y,b]=(0,k.useState)([]),[x,S]=(0,k.useState)([]),C=(0,k.useRef)(0),[T,ee]=(0,k.useState)(null),[te,re]=(0,k.useState)(!1);(0,k.useEffect)(()=>{b([]),S([]),ee(null),re(!1)},[t]),(0,k.useEffect)(()=>g(e=>{r(e),e.pages&&s(e.pages),e.watcher===`dead`&&re(!0);let t=++C.current;b(n=>{let r=e.hotReload===!0?{at:Date.now(),status:e.status,message:e.message,hotReload:!0,seq:t}:{at:Date.now(),status:e.status,message:e.message,seq:t},i=[...n,r];return i.length>Ot?i.slice(i.length-Ot):i}),e.hotReload===!0&&(ee(null),m(e=>e+1))}),[]),(0,k.useEffect)(()=>w(e=>{i?.appId&&e.appId!==i.appId||ee(e)}),[i]),(0,k.useEffect)(()=>h(e=>{let t=++C.current;S(n=>{let r=[...n,{...e,seq:t}];return r.length>kt?r.slice(r.length-kt):r})}),[]);let ie=(0,k.useCallback)(()=>{b([]),S([])},[]),ae=(0,k.useRef)(!1),[oe,se]=(0,k.useState)(0);return{compileStatus:n,appInfo:i,port:c,pages:o,compileConfig:u,hotReloadToken:f,compileEvents:y,compileLogs:x,clearCompileEvents:ie,relaunch:(0,k.useCallback)(async(e=u)=>{try{if(!i?.appId||ae.current)return;ae.current=!0,r({status:`compiling`,message:`正在编译...`});try{await _(),await ne(t,e),d(e),se(e=>e+1),r({status:`ready`,message:`刷新完成`})}finally{ae.current=!1}}catch(e){ae.current=!1,r({status:`error`,message:e instanceof Error?e.message:`刷新失败`})}},[i,u,t]),relaunchNonce:oe,runtimeStatus:T,watcherDead:te}}var jt=[`appId`,`entry`,`page`];function Mt(e){return encodeURIComponent(e).replace(/%2F/g,`/`).replace(/%2C/g,`,`)}function Nt(e){let t=Object.keys(e.query);if(t.length===0)return e.pagePath;let n=t.map(t=>`${encodeURIComponent(t)}=${encodeURIComponent(e.query[t]??``)}`).join(`&`);return`${e.pagePath}?${n}`}function Pt(e){let t=e.indexOf(`?`);if(t<0)return{pagePath:e,query:{}};let n=e.slice(0,t),r={};for(let n of e.slice(t+1).split(`&`)){if(!n)continue;let e=n.indexOf(`=`),t=e>=0?n.slice(0,e):n,i=e>=0?n.slice(e+1):``;t&&(r[decodeURIComponent(t)]=decodeURIComponent(i))}return{pagePath:n,query:r}}function Ft(e,t,n={}){let r=Nt(t),i=[`appId=${Mt(e)}`,`entry=${Mt(r)}`,`page=${Mt(r)}`];for(let[e,t]of Object.entries(n))jt.includes(e)||i.push(`${encodeURIComponent(e)}=${Mt(t)}`);return i.join(`&`)}function It(e){let t=e.host??`localhost`,n=e.pathname??`/simulator.html`,r=Ft(e.appId,e.page,e.extras??{});return`http://${t}:${e.port}${n}?${r}`}function Lt(e,t,n,r){let i=t.startPage||`pages/index/index`,a={};for(let e of t.queryParams??[])e.key&&(a[e.key]=e.value);a.scene=String(t.scene??1001);let o={};return r?.length&&(o.apiNamespaces=r.join(`,`)),It({appId:e,page:{pagePath:i,query:a},port:n,extras:o})}function Rt(e){let t=new URLSearchParams(e.startsWith(`?`)?e.slice(1):e),n=t.get(`appId`),r=t.get(`entry`);if(!n||!r)return null;let i=Pt(r),a=t.get(`page`);return{appId:n,entry:i,current:a&&a!==r?Pt(a):i}}function zt(e){if(!e)return null;try{return Rt(new URL(e).search)}catch{return null}}function Bt(e){let t=zt(e);if(!t)return``;let n={...t.current.query};return delete n.scene,Nt({pagePath:t.current.pagePath,query:n})}function Vt(e){let{compileStatus:t,sendDeviceInfo:n,simPanelWidthRef:r,deviceRef:i,appInfo:a,compileConfig:o,port:s,projectPath:c,hotReloadToken:l,relaunchNonce:u}=e,d=(0,k.useMemo)(()=>!a||!s?``:Lt(a.appId,o,s),[a,o,s]),[f,p]=(0,k.useState)(()=>Bt(d)),m=(0,k.useMemo)(()=>Pt(f).pagePath,[f]);(0,k.useEffect)(()=>{p(Bt(d))},[d]),(0,k.useEffect)(()=>we(e=>{e&&p(e)}),[]);let h=(0,k.useRef)({currentPage:m,currentRoute:f,compileConfig:o,appInfo:a,port:s});(0,k.useEffect)(()=>{h.current={currentPage:m,currentRoute:f,compileConfig:o,appInfo:a,port:s}});let g=(0,k.useRef)(l),_=(0,k.useRef)(u);return(0,k.useEffect)(()=>{if(t.status!==`ready`||!d)return;let e=u===_.current&&l!==g.current;g.current=l,_.current=u;let a=d;if(e){let e=h.current;if(e.appInfo&&e.port){let t=Pt(e.currentRoute),n=t.pagePath||e.compileConfig.startPage;a=Lt(e.appInfo.appId,{...e.compileConfig,startPage:n,queryParams:Object.entries(t.query).map(([e,t])=>({key:e,value:t}))},e.port)}}n(i.current);let o=!1,s=null,f=()=>{o||(s=window.setTimeout(()=>{o||S(c).catch(()=>{})},3e3))},p=()=>{ve(a,r.current).then(f).catch(()=>{})};return e?ge(a).then(e=>{if(!o){if(e===!0){f();return}p()}}).catch(()=>{o||p()}):p(),()=>{o=!0,s!==null&&window.clearTimeout(s)}},[t.status,d,l,u,r,i,n,c]),{simulatorUrl:d,currentPage:m,currentRoute:f}}function Ht(){return{getSnapshot:async()=>await o(i.GetSnapshot)??null,subscribe:e=>l(i.Event,e),setActive:e=>{o(i.SetActive,e)},inspect:async e=>await o(a.Inspect,e)??null,clearInspection:async()=>{await o(a.Clear)}}}var Ut={ok:!1,error:`ipc transport failed`};function Wt(){return{getSnapshot:async()=>await o(d.GetSnapshot)??[],subscribe:e=>l(d.Event,e),setActive:()=>{},setItem:async(e,t)=>await o(d.Set,{key:e,value:t})??Ut,removeItem:async e=>await o(d.Remove,{key:e})??Ut,clear:async()=>await o(d.Clear)??Ut,clearAll:async()=>await o(d.ClearAll)??Ut,getPrefix:async()=>await o(d.GetActivePrefix)??``}}var Gt={bridges:[],entries:{}};function Kt(){return{getSnapshot:async()=>await o(u.GetSnapshot)??Gt,subscribe:e=>l(u.Event,e),setActive:()=>{},setData:async(e,t)=>await o(u.SetData,{bridgeId:e,data:t})??!1}}function qt(e){let{compileStatus:t}=e,n=t.status===`ready`;return{wxmlSource:(0,k.useMemo)(()=>Ht(),[]),wxmlEnabled:n,storageSource:(0,k.useMemo)(()=>Wt(),[]),storageEnabled:n,appDataSource:(0,k.useMemo)(()=>Kt(),[]),appDataEnabled:n}}function Jt(e){let{initialRightPane:t}=e,[n,r]=(0,k.useState)(t);return{rightPane:n,selectRightPane:(0,k.useCallback)(e=>{r({selected:e,simulatorVisible:!0})},[]),toggleRightPaneVisible:(0,k.useCallback)(()=>{r(e=>({...e,simulatorVisible:!e.simulatorVisible}))},[])}}function Yt(e){let{relaunch:t,compileConfig:n,pages:r,compileDropdownRef:i}=e,[a,o]=(0,k.useState)(!1),s=(0,k.useRef)(t);(0,k.useEffect)(()=>{s.current=t},[t]),(0,k.useEffect)(()=>{let e=be(()=>o(!1)),t=me(e=>{o(!1),s.current(e)});return()=>{e(),t()}},[]);let c=(0,k.useRef)(n),l=(0,k.useRef)(r);return(0,k.useEffect)(()=>{c.current=n},[n]),(0,k.useEffect)(()=>{l.current=r},[r]),{showCompilePanel:a,toggleCompilePanel:(0,k.useCallback)(()=>{o(e=>{if(e)return ye(),!1;let t=i.current;if(!t)return e;let n=t.getBoundingClientRect();return ae({top:Math.round(n.bottom-40+6),left:Math.round(n.left),config:c.current,pages:l.current}),!0})},[i])}}function Xt(e){let{projectPath:t,initialDevice:n=Fe[1],initialRightPane:r=wt}=e,i=(0,k.useRef)(null),a=(0,k.useRef)(null),o=Dt({initialDevice:n}),s=At({projectPath:t});(0,k.useEffect)(()=>{s.compileStatus.status===`ready`&&o.setSimPanelWidth(o.device.width+48)},[o.device.width,s.compileStatus.status,o.setSimPanelWidth]);let c=Vt({compileStatus:s.compileStatus,sendDeviceInfo:o.sendDeviceInfo,simPanelWidthRef:o.simPanelWidthRef,deviceRef:o.deviceRef,appInfo:s.appInfo,compileConfig:s.compileConfig,port:s.port,projectPath:t,hotReloadToken:s.hotReloadToken,relaunchNonce:s.relaunchNonce}),l=qt({compileStatus:s.compileStatus,activePagePath:c.currentPage}),u=Jt({initialRightPane:r}),d=Yt({relaunch:s.relaunch,compileConfig:s.compileConfig,pages:s.pages,compileDropdownRef:a});return{session:{compileStatus:s.compileStatus,appInfo:s.appInfo,port:s.port,pages:s.pages,compileConfig:s.compileConfig,compileEvents:s.compileEvents,compileLogs:s.compileLogs,clearCompileEvents:s.clearCompileEvents,relaunch:s.relaunch,runtimeStatus:s.runtimeStatus,watcherDead:s.watcherDead},device:{device:o.device,zoom:o.zoom,simPanelWidth:o.simPanelWidth,setSimPanelWidth:o.setSimPanelWidth,handleDeviceChange:o.handleDeviceChange,handleZoomChange:o.handleZoomChange,handleSplitterDrag:o.handleSplitterDrag,sendDeviceInfo:o.sendDeviceInfo},simulator:{simulatorRef:i,simulatorUrl:c.simulatorUrl,currentPage:c.currentPage,currentRoute:c.currentRoute},panelData:{wxmlSource:l.wxmlSource,wxmlEnabled:l.wxmlEnabled,storageSource:l.storageSource,storageEnabled:l.storageEnabled,appDataSource:l.appDataSource,appDataEnabled:l.appDataEnabled},rightPane:{rightPane:u.rightPane,selectRightPane:u.selectRightPane,toggleRightPaneVisible:u.toggleRightPaneVisible},popover:{compileDropdownRef:a,showCompilePanel:d.showCompilePanel,toggleCompilePanel:d.toggleCompilePanel}}}var Zt={dockTree:null,simulatorAlignment:`left`,devtoolsPosition:`inEditor`},Qt=`dimina-devtools.layout.v1`;function $t(){try{let e=window.localStorage.getItem(Qt);if(!e)return Zt;let t=JSON.parse(e);return{dockTree:typeof t.dockTree==`string`?t.dockTree:null,simulatorAlignment:t.simulatorAlignment===`right`?`right`:`left`,devtoolsPosition:t.devtoolsPosition===`belowSimulator`||t.devtoolsPosition===`rightOfSimulator`?t.devtoolsPosition:`inEditor`}}catch{return Zt}}function en(e){try{window.localStorage.setItem(Qt,JSON.stringify(e))}catch{}}function tn(){let[e,t]=(0,k.useState)($t);return(0,k.useEffect)(()=>{en(e)},[e]),{state:e,setDockTree:(0,k.useCallback)(e=>{t(t=>t.dockTree===e?t:{...t,dockTree:e})},[]),setSimulatorAlignment:(0,k.useCallback)(e=>{t(t=>t.simulatorAlignment===e?t:{...t,simulatorAlignment:e})},[]),setDevtoolsPosition:(0,k.useCallback)(e=>{t(t=>t.devtoolsPosition===e?t:{...t,devtoolsPosition:e})},[])}}var nn={compiling:`bg-status-warn animate-[pulse_1s_infinite]`,ready:`bg-accent`,error:`bg-status-error`};function rn({status:e}){return(0,A.jsx)(`span`,{className:Oe(`w-1.5 h-1.5 rounded-full shrink-0`,nn[e]??`bg-border`)})}var an=400,on=null;function sn(e,t,n){on=e,oe({anchor:{x:n.x,y:n.y,width:n.width,height:n.height},text:t})}function cn(e){on===e&&(on=null,xe())}function ln(e){let t=(0,k.useRef)(null),n=(0,k.useRef)(void 0),r=(0,k.useRef)(Symbol(`overlay-tooltip-owner`));function i(){window.clearTimeout(n.current),n.current=window.setTimeout(()=>{let n=t.current;n&&sn(r.current,e,n.getBoundingClientRect())},an)}function a(){window.clearTimeout(n.current),cn(r.current)}return(0,k.useEffect)(()=>a,[]),{ref:t,onMouseEnter:i,onMouseLeave:a}}function un(){let e=new Map;return{register(t){return e.set(t.id,t),{dispose(){e.get(t.id)===t&&e.delete(t.id)}}},get(t){return e.get(t)},list(){return[...e.values()]}}}var dn=64;function fn(e){return JSON.stringify(e)}function pn(e,t,n,r){e===void 0?r.push(`node missing string id (kind=${String(t)})`):n.seenIds.has(e)?r.push(`duplicate node id: ${e}`):n.seenIds.add(e)}function mn(e,t,n,r){if(typeof e!=`string`){r.push(`tabs ${t??`?`}: non-string panel id`);return}n.panelOwners.get(e)===void 0?n.panelOwners.set(e,t??`?`):r.push(`duplicate panel id across groups: ${e}`),n.knownPanelIds&&!n.knownPanelIds.has(e)&&r.push(`orphan panel not in known panel ids: ${e}`)}function hn(e,t,n,r){let i=e,a=Array.isArray(i.panels)?i.panels:null;if(!a){r.push(`tabs ${t??`?`}: panels is not an array`);return}a.length===0&&r.push(`tabs ${t??`?`}: empty tabgroup`);for(let e of a)mn(e,t,n,r);let o=i.active;(typeof o!=`string`||!a.includes(o))&&r.push(`tabs ${t??`?`}: active ${String(o)} not in panels`)}function gn(e,t,n){if(e===null)return!1;if(typeof e!=`object`)return n.push(`split ${t??`?`}: constraint is not null nor an object: ${String(e)}`),!1;let r=Object.keys(e),i=r.includes(`fixedPx`),a=r.includes(`minPx`);(r.length!==1||!(i||a))&&n.push(`split ${t??`?`}: constraint must have exactly one of 'fixedPx' or 'minPx', got [${r.join(`, `)}]`);let o=i?`fixedPx`:`minPx`,s=i?e.fixedPx:e.minPx;return(typeof s!=`number`||!Number.isFinite(s)||s<=0)&&n.push(`split ${t??`?`}: constraint ${o} must be a finite number > 0, got ${String(s)}`),!0}function _n(e,t,n){let r=Array.isArray(e)?e:null;if(!r){n.push(`split ${t??`?`}: constraints is not an array`);return}let i=r.length>0;for(let e of r)gn(e,t,n)||(i=!1);i&&n.push(`split ${t??`?`}: all children are px-sized constraints; at least one must be weight-sized`)}function vn(e,t,n,r){if(!e||e.length!==t.length){r.push(`split ${n??`?`}: sizes ${e?e.length:`missing`} != children ${t.length}`);return}for(let t of e)(typeof t!=`number`||!Number.isFinite(t))&&r.push(`split ${n??`?`}: non-finite size ${String(t)}`)}function yn(e,t){let n=[],r={seenIds:new Set,seenObjects:new Set,panelOwners:new Map,knownPanelIds:t},i=(e,t,a)=>{if(t>dn){n.push(`depth exceeds ${dn}`);return}if(typeof e!=`object`||!e){n.push(`node is not an object: ${String(e)}`);return}let o=e;if(a.has(o)){n.push(`cycle detected: node reachable from itself`);return}if(r.seenObjects.has(o)){n.push(`shared node reference: same object appears twice`);return}r.seenObjects.add(o);let s=e,c=s.kind,l=typeof s.id==`string`?s.id:void 0;pn(l,c,r,n),c===`tabs`?hn(e,l,r,n):c===`split`?bn(e,l,t,a,o,r,n,i):n.push(`unknown node kind: ${String(c)}`)};return i(e,0,new Set),n}function bn(e,t,n,r,i,a,o,s){let c=e,l=Array.isArray(c.children)?c.children:null,u=Array.isArray(c.sizes)?c.sizes:null,d=c.orientation;if(d!==`row`&&d!==`column`&&o.push(`split ${t??`?`}: invalid orientation ${String(d)}`),c.constraints!==void 0&&_n(c.constraints,t,o),!l){o.push(`split ${t??`?`}: children is not an array`);return}if(l.length<2&&o.push(`split ${t??`?`}: must have >= 2 children, has ${l.length}`),vn(u,l,t,o),c.constraints!==void 0&&Array.isArray(c.constraints)){let e=c.constraints;e.length!==l.length&&o.push(`split ${t??`?`}: constraints ${e.length} != children ${l.length}`)}let f=new Set(r);f.add(i);for(let e of l)s(e,n+1,f)}function xn(e,t){return typeof e!=`object`||!e?[`tree is not an object`]:e.version===1?yn(e.root,t):[`unsupported version: ${String(e.version)}`]}function Sn(e){let t;try{t=JSON.parse(e)}catch{throw Error(`parseLayout: input is not valid JSON`)}if(typeof t!=`object`||!t)throw Error(`parseLayout: top-level value is not an object`);let n=t;if(n.version!==1)throw Error(`parseLayout: unsupported version ${String(n.version)}`);if(n.root===void 0||n.root===null)throw Error(`parseLayout: missing root`);let r=yn(n.root,null);if(r.length>0)throw Error(`parseLayout: illegal layout — ${r.join(`; `)}`);return{version:1,root:n.root}}var Cn=1;function wn(e,t){return(e.constraints?.[t]??null)===null}function Tn(e){if(e.kind===`tabs`)return e;let t=e.children.map(Tn),n=t.some((t,n)=>t!==e.children[n]),r=e.sizes.map((t,r)=>!wn(e,r)||typeof t==`number`&&Number.isFinite(t)&&t>0?t:(n=!0,Cn));if(!n)return e;let i={kind:`split`,id:e.id,orientation:e.orientation,children:t,sizes:r};return e.constraints===void 0?i:{...i,constraints:e.constraints}}function En(e){let t=Tn(e.root);return t===e.root?e:{version:1,root:t}}function Dn(e,t){let n=null,r=e=>{n||(e.kind===`tabs`?e.id===t&&(n=e):e.children.forEach(r))};return r(e),n}function On(e,t){let n=null,r=e=>{n||(e.kind===`tabs`?e.panels.includes(t)&&(n=e):e.children.forEach(r))};return r(e),n}function kn(e,t){return On(e,t)?.id}function An(e){return e.kind===`tabs`?e.panels.length:e.children.reduce((e,t)=>e+An(t),0)}function M(e,t,n){return{kind:`tabs`,id:e,panels:t,active:n}}function jn(e,t,n){if(e.length===0)return``;if(e.includes(t))return t;let r=Math.min(n,e.length-1);return e[Math.max(0,r)]}function Mn(e){if(e.kind===`tabs`)return e.panels.length===0?null:e;let t=[],n=[],r=[],i=e.constraints!==void 0;if(e.children.forEach((a,o)=>{let s=Mn(a);s!==null&&(t.push(s),n.push(e.sizes[o]??1),i&&r.push(e.constraints[o]??null))}),t.length===0)return null;if(t.length===1)return t[0];let a={kind:`split`,id:e.id,orientation:e.orientation,children:t,sizes:n};return i?(r.length>0&&!r.some(e=>e===null)&&(r[r.length-1]=null),{...a,constraints:r}):a}function N(e){let t=Mn(e);if(t===null)throw Error(`mutation would empty the entire layout`);return t}function Nn(e){let t=new Set,n=e=>{if(e.kind===`tabs`)for(let n of e.panels)t.add(n);else e.children.forEach(n)};return n(e),t}function Pn(e,t){return Nn(e).has(t)}function Fn(e){let t=new Set,n=e=>{t.add(e.id),e.kind===`split`&&e.children.forEach(n)};return n(e),t}function P(e,t){let n=t,r=2;for(;e.has(n);)n=`${t}#${r}`,r+=1;return e.add(n),n}function In(e,t){let n=null,r=e=>{n||e.kind===`split`&&(e.id===t&&(n=e),e.children.forEach(r))};return r(e),n}function F(e,t,n){if(e.id===t)return n;if(e.kind===`tabs`)return M(e.id,[...e.panels],e.active);let r={kind:`split`,id:e.id,orientation:e.orientation,children:e.children.map(e=>F(e,t,n)),sizes:[...e.sizes]};return e.constraints===void 0?r:{...r,constraints:[...e.constraints]}}function Ln(e){if(e.kind===`tabs`)return M(e.id,[...e.panels],e.active);let t={kind:`split`,id:e.id,orientation:e.orientation,children:e.children.map(Ln),sizes:[...e.sizes]};return e.constraints===void 0?t:{...t,constraints:[...e.constraints]}}function I(e){return{version:1,root:e}}function Rn(e,t,n){let r=In(e.root,t);if(!r)throw Error(`setSizes: split not found: ${t}`);if(n.length!==r.children.length)throw Error(`setSizes: sizes length ${n.length} != children length ${r.children.length}`);if(!n.every(e=>Number.isFinite(e)))throw Error(`setSizes: every size must be a finite number, got [${n.join(`, `)}]`);let i={kind:`split`,id:r.id,orientation:r.orientation,children:r.children.map(Ln),sizes:[...n]},a=r.constraints===void 0?i:{...i,constraints:[...r.constraints]};return I(F(e.root,t,a))}function zn(e,t,n,r){let i=In(e.root,t);if(!i)throw Error(`setConstraint: split not found: ${t}`);if(!Number.isInteger(n))throw Error(`setConstraint: childIndex must be an integer, got ${n}`);if(n<0||n>=i.children.length)throw Error(`setConstraint: childIndex ${n} out of range [0, ${i.children.length})`);let a=i.constraints===void 0?i.children.map(()=>null):[...i.constraints];if(a[n]=r,a.length>0&&a.every(e=>e!==null))return e;let o={kind:`split`,id:i.id,orientation:i.orientation,children:i.children.map(Ln),sizes:[...i.sizes],constraints:a};return I(F(e.root,t,o))}function Bn(e,t,n){let r=Dn(e.root,t);if(!r)throw Error(`setActive: group not found: ${t}`);if(!r.panels.includes(n))throw Error(`setActive: panel ${n} not in group ${t}`);let i=M(r.id,[...r.panels],n);return I(F(e.root,t,i))}function Vn(e,t){let n=On(e,t);if(!n)throw Error(`panel not found: ${t}`);let r=n.panels.indexOf(t),i=n.panels.filter(e=>e!==t),a=M(n.id,i,jn(i,n.active,r));return N(F(e,n.id,a))}function Hn(e,t){let n=Nn(e.root);return n.size===1&&n.has(t)?e:I(Vn(e.root,t))}function Un(e,t){if(!On(e.root,t))throw Error(`extractPanel: panel not found: ${t}`);return{tree:I(Vn(e.root,t)),extracted:t}}function Wn(e,t,n){if(Pn(e.root,t))throw Error(`insertPanel: panel already exists in the tree: ${t}`);let r=Dn(e.root,n.groupId);if(!r)throw Error(`insertPanel: dest group not found: ${n.groupId}`);let i=[...r.panels],a=Gn(n.index,i.length);i.splice(a,0,t);let o=M(r.id,i,r.active);return I(N(F(e.root,r.id,o)))}function Gn(e,t){return e===void 0?t:e<0?0:e>t?t:e}function Kn(e,t,n){let r=On(e.root,t);if(!r)throw Error(`movePanel: panel not found: ${t}`);let i=Dn(e.root,n.groupId);if(!i)throw Error(`movePanel: dest group not found: ${n.groupId}`);if(r.id===i.id){let i=r.panels.filter(e=>e!==t),a=Gn(n.index,i.length),o=[...i];o.splice(a,0,t);let s=M(r.id,o,r.active);return I(N(F(e.root,r.id,s)))}let a=r.panels.indexOf(t),o=r.panels.filter(e=>e!==t),s=M(r.id,o,jn(o,r.active,a)),c=[...i.panels],l=Gn(n.index,c.length);c.splice(l,0,t);let u=M(i.id,c,i.active),d=F(e.root,r.id,s);return d=F(d,i.id,u),I(N(d))}function qn(e,t,n,r){if(Pn(e.root,t))throw Error(`wrapRoot: new panel already exists in the tree: ${t}`);let i=Fn(e.root),a=e.root.id,o=M(P(i,`${a}__new`),[t],t),s=Ln(e.root),c=r===`after`?[s,o]:[o,s];return I({kind:`split`,id:P(i,`${a}__wrap`),orientation:n,children:c,sizes:[1,1]})}function Jn(e,t,n,r,i){if(Pn(e.root,r))throw Error(`splitGroup: new panel already exists in the tree: ${r}`);let a=Dn(e.root,t);if(!a)throw Error(`splitGroup: group not found: ${t}`);let o=Fn(e.root),s=M(P(o,`${t}__new`),[r],r),c=Ln(a),l=i===`after`?[c,s]:[s,c],u={kind:`split`,id:P(o,`${t}__sp`),orientation:n,children:l,sizes:[1,1]};return I(N(F(e.root,t,u)))}function L(e,t,n,r,i){if(Pn(e.root,r))throw Error(`splitPanel: new panel already exists in the tree: ${r}`);let a=On(e.root,t);if(!a)throw Error(`splitPanel: panel not found: ${t}`);let o=Fn(e.root),s=a.id,c=M(P(o,`${s}__split`),[t],t),l=M(P(o,`${s}__new`),[r],r),u=i===`after`?[c,l]:[l,c],d={kind:`split`,id:P(o,`${s}__sp`),orientation:n,children:u,sizes:[1,1]};if(a.panels.length===1)return I(N(F(e.root,s,d)));let f=a.panels.indexOf(t),p=a.panels.filter(e=>e!==t),m=M(s,p,jn(p,a.active,f)),h=i===`after`?[m,d]:[d,m],g={kind:`split`,id:P(o,`${s}__outer`),orientation:n,children:h,sizes:[1,1]};return I(N(F(e.root,s,g)))}function Yn(e){let t=structuredClone(e),n=0,r=new Set,i=!1,a=[],o=e=>{let i=e(t);if(i===t)return;t=i,n+=1;let a={tree:t,revision:n};for(let e of[...r])try{e(a)}catch{}};return{get(){return t},apply(e){if(i){a.push(e);return}i=!0;try{for(o(e);a.length>0;){let e=a.shift();try{o(e)}catch{}}}finally{i=!1}},subscribe(e){return r.add(e),()=>{r.delete(e)}}}}function Xn(e,t,n){return n.get(t)?.closable===!1?e:Hn(e,t)}var Zn=`dock-root`;function Qn(){let e=un();return e.register({kind:`dom`,id:`simulator`,title:`Simulator`,draggable:!1,hideTab:!0}),e.register({kind:`dom`,id:`editor`,title:`Editor`,draggable:!1,hideTab:!0}),e.register({kind:`dom`,id:`wxml`,title:`WXML`,dropPolicy:`reorder-only`,closable:!1}),e.register({kind:`dom`,id:`appdata`,title:`AppData`,dropPolicy:`reorder-only`,closable:!1}),e.register({kind:`dom`,id:`storage`,title:`Storage`,dropPolicy:`reorder-only`,closable:!1}),e.register({kind:`native`,id:`console`,title:`Console`,nativeRef:{id:`console`},dropPolicy:`reorder-only`,closable:!1}),e.register({kind:`dom`,id:`compile`,title:`编译`,dropPolicy:`reorder-only`,closable:!1}),e}function $n(e){return{version:1,root:{kind:`split`,id:Zn,orientation:`row`,sizes:[1,6],constraints:[{minPx:e},null],children:[{kind:`tabs`,id:`g-sim`,panels:[`simulator`],active:`simulator`},{kind:`tabs`,id:`g-debug`,panels:[`wxml`,`appdata`,`storage`,`console`,`compile`],active:`wxml`}]}}}var er={kind:`tabs`,id:`g-debug`,panels:[`wxml`,`appdata`,`storage`,`console`,`compile`],active:`wxml`},tr=()=>({kind:`tabs`,id:`g-sim`,panels:[`simulator`],active:`simulator`}),nr=()=>({kind:`tabs`,id:`g-editor`,panels:[`editor`],active:`editor`}),rr=()=>({...er,panels:[...er.panels]});function R(e,t,n,r){return{version:1,root:{kind:`split`,id:Zn,orientation:`row`,sizes:e.map((e,t)=>r[t]??1),constraints:e.map((e,r)=>r===t?{minPx:n}:null),children:e}}}function ir(e,t,n){let r=t===`left`;if(n===`belowSimulator`){let t={kind:`split`,id:`col-sim`,orientation:`column`,sizes:[60,40],children:[tr(),rr()]};return r?R([t,nr()],0,e,[1,6]):R([nr(),t],1,e,[6,1])}if(n===`rightOfSimulator`)return r?R([tr(),rr(),nr()],0,e,[1,4,5]):R([nr(),rr(),tr()],2,e,[5,4,1]);let i={kind:`split`,id:`col-main`,orientation:`column`,sizes:[70,30],children:[nr(),rr()]};return r?R([tr(),i],0,e,[1,6]):R([i,tr()],1,e,[6,1])}function ar(e,t,n){return Yn(or(e,t,n))}function or(e,t,n){if(e===null)return $n(t);try{let r=Sn(e);if(xn(r,n).length===0)return sr(En(cr(r)),t)}catch{}return $n(t)}function sr(e,t){let n=dr(e);return z.some(e=>n.has(e))?z.reduce((e,r)=>n.has(r)?e:gr(e,r,t),e):e}function cr(e){return{...e,root:lr(e.root,`root`,Zn)}}function lr(e,t,n){return e.kind===`tabs`?e:{...e,id:e.id===t?n:e.id,children:e.children.map(e=>lr(e,t,n))}}var z=[`wxml`,`appdata`,`storage`,`console`,`compile`];function ur(e,t){if(e.kind===`tabs`){for(let n of e.panels)t.add(n);return}for(let n of e.children)ur(n,t)}function dr(e){let t=new Set;return ur(e.root,t),t}function fr(e,t){if(e.kind===`tabs`)return e.panels.includes(t)?e.id:void 0;for(let n of e.children){let e=fr(n,t);if(e!==void 0)return e}}function pr(e,t){return t.find(t=>e.has(t))}function mr(e,t){if(e.kind===`tabs`)return null;for(let n=0;n<e.children.length;n++){if(e.children[n].id===t)return{splitId:e.id,childIndex:n};let r=mr(e.children[n],t);if(r)return r}return null}function hr(e,t){let n=fr(e.root,`simulator`);if(!n)return e;let r=mr(e.root,n);return r?zn(e,r.splitId,r.childIndex,{minPx:t}):e}function gr(e,t,n){let r=dr(e);if(r.has(t))return e;if(z.includes(t)){let n=z.find(e=>e!==t&&r.has(e));return n?Wn(e,t,{groupId:fr(e.root,n)}):r.has(`editor`)?L(e,`editor`,`column`,t,`after`):r.has(`simulator`)?L(e,`simulator`,`row`,t,`after`):L(e,[...r][0],`column`,t,`after`)}if(t===`editor`){let t=pr(r,z);return t?Jn(e,fr(e.root,t),`column`,`editor`,`before`):r.has(`simulator`)?L(e,`simulator`,`row`,`editor`,`after`):L(e,[...r][0],`column`,`editor`,`before`)}return t===`simulator`?hr(qn(e,`simulator`,`row`,`before`),n):L(e,[...r][0],`column`,t,`after`)}function _r(e,t){let n=dr(e);return t.list().map(e=>({id:e.id,title:e.title??e.id,open:n.has(e.id)}))}var vr=z;function yr({model:e,registry:t,simPanelWidth:n}){let[,r]=(0,k.useState)(0);(0,k.useEffect)(()=>e.subscribe(()=>r(e=>e+1)),[e]);let i=new Set(_r(e.get(),t).filter(e=>e.open).map(e=>e.id)),a=i.has(`simulator`),o=i.has(`editor`),s=vr.some(e=>i.has(e)),c=[a,o,s].filter(Boolean).length;function l(r,i){e.apply(e=>i?Xn(e,r,t):gr(e,r,n))}function u(){if(s){let t=vr.filter(e=>i.has(e));e.apply(e=>t.reduce((e,t)=>Hn(e,t),e))}else{let t=vr.filter(e=>!i.has(e));e.apply(e=>t.reduce((e,t)=>gr(e,t,n),e))}}return(0,A.jsxs)(`div`,{className:`flex items-center gap-0.5`,role:`group`,"aria-label":`面板可见性`,children:[(0,A.jsx)(Sr,{active:a,disabled:a&&c===1,onClick:()=>l(`simulator`,a),label:a?`隐藏模拟器`:`显示模拟器`,testId:`layout-toolbar-toggle-simulator`,icon:(0,A.jsx)(Ae,{className:`size-3.5`})}),(0,A.jsx)(Sr,{active:o,disabled:o&&c===1,onClick:()=>l(`editor`,o),label:o?`隐藏编辑器`:`显示编辑器`,testId:`layout-toolbar-toggle-editor`,icon:(0,A.jsx)(tt,{className:`size-3.5`})}),(0,A.jsx)(Sr,{active:s,disabled:s&&c===1,onClick:u,label:s?`隐藏调试器`:`显示调试器`,testId:`layout-toolbar-toggle-debug`,icon:(0,A.jsx)($e,{className:`size-3.5`})})]})}function br({model:e,layout:t,simPanelWidth:n}){let{simulatorAlignment:r,devtoolsPosition:i}=t.state,a=r===`left`;function o(){let r=a?`right`:`left`;t.setSimulatorAlignment(r),e.apply(()=>ir(n,r,i))}let s=a?`模拟器位置:左侧(点击切换到右侧)`:`模拟器位置:右侧(点击切换到左侧)`;return(0,A.jsx)(D,{variant:`toolbar`,size:`icon`,onClick:o,"aria-label":s,"data-testid":`layout-toolbar-alignment-toggle`,"data-alignment":r,...ln(s),children:a?(0,A.jsx)(rt,{className:`size-3.5`}):(0,A.jsx)(it,{className:`size-3.5`})})}function xr({model:e,layout:t,simPanelWidth:n}){let{simulatorAlignment:r,devtoolsPosition:i}=t.state;function a(i){t.setDevtoolsPosition(i),e.apply(()=>ir(n,r,i))}return(0,A.jsx)(`div`,{className:`flex items-center gap-0.5`,role:`group`,"aria-label":`调试器位置`,children:[{id:`inEditor`,label:`调试器位置:在编辑器面板中`},{id:`belowSimulator`,label:`调试器位置:在模拟器下方`},{id:`rightOfSimulator`,label:`调试器位置:在模拟器右侧`}].map(e=>(0,A.jsx)(Sr,{active:i===e.id,onClick:()=>a(e.id),label:e.label,testId:`layout-toolbar-devtools-${e.id}`,icon:(0,A.jsx)(Cr,{variant:e.id})},e.id))})}function Sr({active:e,disabled:t,onClick:n,label:r,testId:i,icon:a}){let o=ln(r);return(0,A.jsx)(D,{variant:`toolbar`,size:`icon`,onClick:n,disabled:t,"aria-label":r,"aria-pressed":e,"data-testid":i,"data-active":e?`true`:`false`,...o,children:a})}function Cr({variant:e}){return e===`inEditor`?(0,A.jsxs)(`svg`,{className:`size-3.5`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,A.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,A.jsx)(`line`,{x1:`9`,y1:`3`,x2:`9`,y2:`21`}),(0,A.jsx)(`path`,{d:`M9 15h12`}),(0,A.jsx)(`rect`,{x:`9`,y:`15`,width:`12`,height:`6`,fill:`currentColor`,stroke:`none`})]}):e===`belowSimulator`?(0,A.jsxs)(`svg`,{className:`size-3.5`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,A.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,A.jsx)(`line`,{x1:`12`,y1:`3`,x2:`12`,y2:`21`}),(0,A.jsx)(`path`,{d:`M3 15h9`}),(0,A.jsx)(`rect`,{x:`3`,y:`15`,width:`9`,height:`6`,fill:`currentColor`,stroke:`none`})]}):(0,A.jsxs)(`svg`,{className:`size-3.5`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,A.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,A.jsx)(`line`,{x1:`9`,y1:`3`,x2:`9`,y2:`21`}),(0,A.jsx)(`line`,{x1:`15`,y1:`3`,x2:`15`,y2:`21`}),(0,A.jsx)(`rect`,{x:`9`,y:`3`,width:`6`,height:`18`,fill:`currentColor`,stroke:`none`})]})}function wr(){return(0,A.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`,"aria-hidden":`true`})}function Tr({compileDropdownRef:e,showCompilePanel:t,onToggleCompilePanel:n,onRelaunch:r,compileStatus:i,dockModel:a,dockRegistry:o,layout:s,simPanelWidth:c}){k.useEffect(()=>{se()},[]);let l=ln(`编译模式`),u=ln(`重新编译`),d=ln(`设置`);return(0,A.jsx)(`div`,{className:`flex flex-col shrink-0`,children:(0,A.jsxs)(`div`,{className:`flex items-center gap-1.5 px-2.5 bg-surface-2 border-b border-border shrink-0`,style:{height:40},children:[(0,A.jsx)(`div`,{ref:e,children:(0,A.jsxs)(D,{variant:`toolbar`,onClick:n,"data-active":t?`true`:`false`,className:`h-7 gap-0.5 pl-2 pr-1.5 text-[13px] text-text-secondary`,...l,children:[`普通编译 `,(0,A.jsx)(et,{className:`size-3.5`})]})}),(0,A.jsx)(wr,{}),(0,A.jsx)(D,{variant:`toolbar`,size:`icon`,className:`size-7 rounded-[var(--qd-radius-md)]`,onClick:()=>{r()},disabled:i.status===`compiling`,"aria-label":`重新编译`,...u,children:(0,A.jsx)(ot,{className:`size-3.5`})}),(0,A.jsxs)(`div`,{className:`flex items-center gap-1.5 px-1.5 shrink-0`,children:[(0,A.jsx)(rn,{status:i.status}),(0,A.jsx)(`span`,{className:`text-[12px] text-text-secondary max-w-28 truncate`,children:i.message})]}),(0,A.jsx)(`div`,{className:`flex-1 min-w-2`}),(0,A.jsx)(yr,{model:a,registry:o,simPanelWidth:c}),(0,A.jsx)(wr,{}),(0,A.jsx)(br,{model:a,layout:s,simPanelWidth:c}),(0,A.jsx)(wr,{}),(0,A.jsx)(xr,{model:a,layout:s,simPanelWidth:c}),(0,A.jsx)(wr,{}),(0,A.jsx)(D,{variant:`toolbar`,size:`icon`,className:`size-7 rounded-[var(--qd-radius-md)]`,onClick:()=>{Ee(!0)},"aria-label":`设置`,...d,children:(0,A.jsx)(ct,{className:`size-3.5`})})]})})}function Er(e,t){let n=getComputedStyle(e);return t*parseFloat(n.fontSize)}function Dr(e,t){let n=getComputedStyle(e.ownerDocument.body);return t*parseFloat(n.fontSize)}function Or(e){return e/100*window.innerHeight}function kr(e){return e/100*window.innerWidth}function Ar(e){switch(typeof e){case`number`:return[e,`px`];case`string`:{let t=parseFloat(e);return e.endsWith(`%`)?[t,`%`]:e.endsWith(`px`)?[t,`px`]:e.endsWith(`rem`)?[t,`rem`]:e.endsWith(`em`)?[t,`em`]:e.endsWith(`vh`)?[t,`vh`]:e.endsWith(`vw`)?[t,`vw`]:[t,`%`]}}}function jr({groupSize:e,panelElement:t,styleProp:n}){let r,[i,a]=Ar(n);switch(a){case`%`:r=i/100*e;break;case`px`:r=i;break;case`rem`:r=Dr(t,i);break;case`em`:r=Er(t,i);break;case`vh`:r=Or(i);break;case`vw`:r=kr(i);break}return r}function B(e){return parseFloat(e.toFixed(3))}function V({group:e}){let{orientation:t,panels:n}=e;return n.reduce((e,n)=>(e+=t===`horizontal`?n.element.offsetWidth:n.element.offsetHeight,e),0)}function Mr(e){let{panels:t}=e,n=V({group:e});return n===0?t.map(e=>({groupResizeBehavior:e.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:e.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:e.panelConstraints.disabled,minSize:0,maxSize:100,panelId:e.id})):t.map(e=>{let{element:t,panelConstraints:r}=e,i=0;r.collapsedSize!==void 0&&(i=B(jr({groupSize:n,panelElement:t,styleProp:r.collapsedSize})/n*100));let a;r.defaultSize!==void 0&&(a=B(jr({groupSize:n,panelElement:t,styleProp:r.defaultSize})/n*100));let o=0;r.minSize!==void 0&&(o=B(jr({groupSize:n,panelElement:t,styleProp:r.minSize})/n*100));let s=100;return r.maxSize!==void 0&&(s=B(jr({groupSize:n,panelElement:t,styleProp:r.maxSize})/n*100)),{groupResizeBehavior:r.groupResizeBehavior,collapsedSize:i,collapsible:r.collapsible===!0,defaultSize:a,disabled:r.disabled,minSize:o,maxSize:s,panelId:e.id}})}function H(e,t=`Assertion error`){if(!e)throw Error(t)}function Nr(e,t){return Array.from(t).sort(e===`horizontal`?Pr:Fr)}function Pr(e,t){let n=e.element.offsetLeft-t.element.offsetLeft;return n===0?e.element.offsetWidth-t.element.offsetWidth:n}function Fr(e,t){let n=e.element.offsetTop-t.element.offsetTop;return n===0?e.element.offsetHeight-t.element.offsetHeight:n}function Ir(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.ELEMENT_NODE}function Lr(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function Rr({orientation:e,rects:t,targetRect:n}){let r={x:n.x+n.width/2,y:n.y+n.height/2},i,a=Number.MAX_VALUE;for(let n of t){let{x:t,y:o}=Lr(r,n),s=e===`horizontal`?t:o;s<a&&(a=s,i=n)}return H(i,`No rect found`),i}var zr;function Br(){return zr===void 0&&(zr=typeof matchMedia==`function`?!!matchMedia(`(pointer:coarse)`).matches:!1),zr}function Vr(e){let{element:t,orientation:n,panels:r,separators:i}=e,a=Nr(n,Array.from(t.children).filter(Ir).map(e=>({element:e}))).map(({element:e})=>e),o=[],s=!1,c=!1,l=-1,u=-1,d=0,f,p=[];{let e=-1;for(let t of a)t.hasAttribute(`data-panel`)&&(e++,t.hasAttribute(`data-disabled`)||(d++,l===-1&&(l=e),u=e))}if(d>1){let t=-1;for(let d of a)if(d.hasAttribute(`data-panel`)){t++;let i=r.find(e=>e.element===d);if(i){if(f){let r=f.element.getBoundingClientRect(),a=d.getBoundingClientRect(),m;if(c){let e=n===`horizontal`?new DOMRect(r.right,r.top,0,r.height):new DOMRect(r.left,r.bottom,r.width,0),t=n===`horizontal`?new DOMRect(a.left,a.top,0,a.height):new DOMRect(a.left,a.top,a.width,0);switch(p.length){case 0:m=[e,t];break;case 1:{let i=p[0];m=[i,Rr({orientation:n,rects:[r,a],targetRect:i.element.getBoundingClientRect()})===r?t:e];break}default:m=p;break}}else m=p.length?p:[n===`horizontal`?new DOMRect(r.right,a.top,a.left-r.right,a.height):new DOMRect(a.left,r.bottom,a.width,a.top-r.bottom)];for(let n of m){let r=`width`in n?n:n.element.getBoundingClientRect(),a=Br()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(r.width<a){let e=a-r.width;r=new DOMRect(r.x-e/2,r.y,r.width+e,r.height)}if(r.height<a){let e=a-r.height;r=new DOMRect(r.x,r.y-e/2,r.width,r.height+e)}!s&&!(t<=l||t>u)&&o.push({group:e,groupSize:V({group:e}),panels:[f,i],separator:`width`in n?void 0:n,rect:r}),s=!1}}c=!1,f=i,p=[]}}else if(d.hasAttribute(`data-separator`)){d.ariaDisabled!==null&&(s=!0);let e=i.find(e=>e.element===d);e?p.push(e):(f=void 0,p=[])}else c=!0}return o}var Hr=class{#e={};addListener(e,t){let n=this.#e[e];return n===void 0?this.#e[e]=[t]:n.includes(t)||n.push(t),()=>{this.removeListener(e,t)}}emit(e,t){let n=this.#e[e];if(n!==void 0)if(n.length===1)n[0].call(null,t);else{let e=!1,r=null,i=Array.from(n);for(let n=0;n<i.length;n++){let a=i[n];try{a.call(null,t)}catch(t){r===null&&(e=!0,r=t)}}if(e)throw r}}removeAllListeners(){this.#e={}}removeListener(e,t){let n=this.#e[e];if(n!==void 0){let e=n.indexOf(t);e>=0&&n.splice(e,1)}}},U=new Map,Ur=new Hr;function Wr(e){U=new Map(U),U.delete(e)}function Gr(e,t){for(let[t]of U)if(t.id===e)return t}function W(e,t){for(let[t,n]of U)if(t.id===e)return n;if(t)throw Error(`Could not find data for Group with id ${e}`)}function G(){return U}function Kr(e,t){return Ur.addListener(`groupChange`,n=>{n.group.id===e&&t(n)})}function K(e,t){let n=U.get(e);U=new Map(U),U.set(e,t),Ur.emit(`groupChange`,{group:e,prev:n,next:t})}function qr(e,t,n){let r,i={x:1/0,y:1/0};for(let a of t){let t=Lr(n,a.rect);switch(e){case`horizontal`:t.x<=i.x&&(r=a,i=t);break;case`vertical`:t.y<=i.y&&(r=a,i=t);break}}return r?{distance:i,hitRegion:r}:void 0}function Jr(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function Yr(e,t){if(e===t)throw Error(`Cannot compare node with itself`);let n={a:ti(e),b:ti(t)},r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();H(r,`Stacking order can only be calculated for elements with a common ancestor`);let i={a:ei($r(n.a)),b:ei($r(n.b))};if(i.a===i.b){let e=r.childNodes,t={a:n.a.at(-1),b:n.b.at(-1)},i=e.length;for(;i--;){let n=e[i];if(n===t.a)return 1;if(n===t.b)return-1}}return Math.sign(i.a-i.b)}var Xr=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function Zr(e){let t=getComputedStyle(ni(e)??e).display;return t===`flex`||t===`inline-flex`}function Qr(e){let t=getComputedStyle(e);return!!(t.position===`fixed`||t.zIndex!==`auto`&&(t.position!==`static`||Zr(e))||+t.opacity<1||`transform`in t&&t.transform!==`none`||`webkitTransform`in t&&t.webkitTransform!==`none`||`mixBlendMode`in t&&t.mixBlendMode!==`normal`||`filter`in t&&t.filter!==`none`||`webkitFilter`in t&&t.webkitFilter!==`none`||`isolation`in t&&t.isolation===`isolate`||Xr.test(t.willChange)||t.webkitOverflowScrolling===`touch`)}function $r(e){let t=e.length;for(;t--;){let n=e[t];if(H(n,`Missing node`),Qr(n))return n}return null}function ei(e){return e&&Number(getComputedStyle(e).zIndex)||0}function ti(e){let t=[];for(;e;)t.push(e),e=ni(e);return t}function ni(e){let{parentNode:t}=e;return Jr(t)?t.host:t}function ri(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function ii({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!Ir(n)||n.contains(e)||e.contains(n))return!0;if(Yr(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(ri(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function ai(e,t){let n=[];return t.forEach((t,r)=>{if(r.disabled)return;let i=Vr(r),a=qr(r.orientation,i,{x:e.clientX,y:e.clientY});a&&a.distance.x<=0&&a.distance.y<=0&&ii({groupElement:r.element,hitRegion:a.hitRegion.rect,pointerEventTarget:e.target})&&n.push(a.hitRegion)}),n}function oi(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function q(e,t,n=0){return Math.abs(B(e)-B(t))<=n}function J(e,t){return q(e,t)?0:e>t?1:-1}function si({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:r}){let{collapsedSize:i=0,collapsible:a,disabled:o,maxSize:s=100,minSize:c=0}=t;if(o&&!e)return n;if(J(r,c)<0)if(a){let e=(i+c)/2;r=J(r,e)<0?i:c}else r=c;return r=Math.min(s,r),r=B(r),r}function ci({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(q(e,0))return t;let o=a===`imperative-api`,s=Object.values(t),c=Object.values(i),l=[...s],[u,d]=r;H(u!=null,`Invalid first pivot index`),H(d!=null,`Invalid second pivot index`);let f=0;switch(a){case`keyboard`:{let t=e<0?d:u,r=n[t];H(r,`Panel constraints not found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(H(n!=null,`Previous layout not found for panel index ${t}`),q(n,i)){let t=o-n;J(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let t=e<0?u:d,r=n[t];H(r,`No panel constraints found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(H(n!=null,`Previous layout not found for panel index ${t}`),q(n,o)){let t=n-i;J(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}break;default:{let t=e<0?d:u,r=n[t];H(r,`Panel constraints not found for index ${t}`);let i=s[t],{collapsible:a,collapsedSize:o,minSize:c}=r;if(a&&J(i,c)<0)if(e>0){let t=c-o,n=t/2;J(i+e,c)<0&&(e=J(e,n)<=0?0:t)}else{let t=c-o,n=100-t/2;J(i-e,c)<0&&(e=J(100+e,n)>0?0:-t)}break}}{let t=e<0?1:-1,r=e<0?d:u,i=0;for(;;){let e=s[r];H(e!=null,`Previous layout not found for panel index ${r}`);let a=si({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:e,size:100})-e;if(i+=a,r+=t,r<0||r>=n.length)break}let a=Math.min(Math.abs(e),Math.abs(i));e=e<0?0-a:a}{let t=e<0?u:d;for(;t>=0&&t<n.length;){let r=Math.abs(e)-Math.abs(f),i=s[t];H(i!=null,`Previous layout not found for panel index ${t}`);let a=i-r,c=si({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:i,size:a});if(!q(i,c)&&(f+=i-c,l[t]=c,f.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?t--:t++}}if(oi(c,l))return i;{let t=e<0?d:u,r=s[t];H(r!=null,`Previous layout not found for panel index ${t}`);let i=r+f,a=si({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:r,size:i});if(l[t]=a,!q(a,i)){let t=i-a,r=e<0?d:u;for(;r>=0&&r<n.length;){let i=l[r];H(i!=null,`Previous layout not found for panel index ${r}`);let a=i+t,s=si({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:i,size:a});if(q(i,s)||(t-=s-i,l[r]=s),q(t,0))break;e>0?r--:r++}}}if(!q(Object.values(l).reduce((e,t)=>t+e,0),100,.1))return i;let p=Object.keys(i);return l.reduce((e,t,n)=>(e[p[n]]=t,e),{})}function Y(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(t[n]===void 0||J(e[n],t[n])!==0)return!1;return!0}function X({layout:e,panelConstraints:t}){let n=Object.values(e),r=[...n],i=r.reduce((e,t)=>e+t,0);if(r.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${r.map(e=>`${e}%`).join(`, `)}`);if(!q(i,100)&&r.length>0)for(let e=0;e<t.length;e++){let t=r[e];H(t!=null,`No layout data found for index ${e}`),r[e]=100/i*t}let a=0;for(let e=0;e<t.length;e++){let i=n[e];H(i!=null,`No layout data found for index ${e}`);let o=r[e];H(o!=null,`No layout data found for index ${e}`);let s=si({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:i,size:o});o!=s&&(a+=o-s,r[e]=s)}if(!q(a,0))for(let e=0;e<t.length;e++){let n=r[e];H(n!=null,`No layout data found for index ${e}`);let i=n+a,o=si({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:n,size:i});if(n!==o&&(a-=o-n,r[e]=o,q(a,0)))break}let o=Object.keys(e);return r.reduce((e,t,n)=>(e[o[n]]=t,e),{})}function li({groupId:e,panelId:t}){let n=()=>{let t=G();for(let[n,{defaultLayoutDeferred:r,derivedPanelConstraints:i,layout:a,groupSize:o,separatorToPanels:s}]of t)if(n.id===e)return{defaultLayoutDeferred:r,derivedPanelConstraints:i,group:n,groupSize:o,layout:a,separatorToPanels:s};throw Error(`Group ${e} not found`)},r=()=>{let e=n().derivedPanelConstraints.find(e=>e.panelId===t);if(e!==void 0)return e;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{let e=n().group.panels.find(e=>e.id===t);if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},a=()=>{let e=n().layout[t];if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},o=e=>{let r=a();if(e===r)return;let{defaultLayoutDeferred:i,derivedPanelConstraints:o,group:s,groupSize:c,layout:l,separatorToPanels:u}=n(),d=s.panels.findIndex(e=>e.id===t),f=d===s.panels.length-1,p=X({layout:ci({delta:f?r-e:e-r,initialLayout:l,panelConstraints:o,pivotIndices:f?[d-1,d]:[d,d+1],prevLayout:l,trigger:`imperative-api`}),panelConstraints:o});Y(l,p)||K(s,{defaultLayoutDeferred:i,derivedPanelConstraints:o,groupSize:c,layout:p,separatorToPanels:u})};return{collapse:()=>{let{collapsible:e,collapsedSize:t}=r(),{mutableValues:n}=i(),s=a();e&&s!==t&&(n.expandToSize=s,o(t))},expand:()=>{let{collapsible:e,collapsedSize:t,minSize:n}=r(),{mutableValues:s}=i(),c=a();if(e&&c===t){let e=s.expandToSize??n;e===0&&(e=1),o(e)}},getSize:()=>{let{group:e}=n(),t=a(),{element:r}=i();return{asPercentage:t,inPixels:e.orientation===`horizontal`?r.offsetWidth:r.offsetHeight}},isCollapsed:()=>{let{collapsible:e,collapsedSize:t}=r(),n=a();return e&&q(t,n)},resize:e=>{let{group:t}=n(),{element:r}=i(),a=V({group:t});o(B(jr({groupSize:a,panelElement:r,styleProp:e})/a*100))}}}function ui(e){e.defaultPrevented||ai(e,G()).forEach(t=>{if(t.separator&&!t.separator.disableDoubleClick){let n=t.panels.find(e=>e.panelConstraints.defaultSize!==void 0);if(n){let r=n.panelConstraints.defaultSize,i=li({groupId:t.group.id,panelId:n.id});i&&r!==void 0&&(i.resize(r),e.preventDefault())}}})}function di(e){let t=G();for(let[n]of t)if(n.separators.some(t=>t.element===e))return n;throw Error(`Could not find parent Group for separator element`)}function fi({groupId:e}){let t=()=>{let t=G();for(let[n,r]of t)if(n.id===e)return{group:n,...r};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){let{defaultLayoutDeferred:e,layout:n}=t();return e?{}:n},setLayout(e){let{defaultLayoutDeferred:n,derivedPanelConstraints:r,group:i,groupSize:a,layout:o,separatorToPanels:s}=t(),c=X({layout:e,panelConstraints:r});return n?o:(Y(o,c)||K(i,{defaultLayoutDeferred:n,derivedPanelConstraints:r,groupSize:a,layout:c,separatorToPanels:s}),c)}}}function Z(e,t){let n=di(e),r=W(n.id,!0),i=n.separators.find(t=>t.element===e);H(i,`Matching separator not found`);let a=r.separatorToPanels.get(i);H(a,`Matching panels not found`);let o=a.map(e=>n.panels.indexOf(e)),s=fi({groupId:n.id}).getLayout(),c=X({layout:ci({delta:t,initialLayout:s,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:s,trigger:`keyboard`}),panelConstraints:r.derivedPanelConstraints});Y(s,c)||K(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:c,separatorToPanels:r.separatorToPanels})}function pi(e){if(e.defaultPrevented)return;let t=e.currentTarget,n=di(t);if(!n.disabled)switch(e.key){case`ArrowDown`:e.preventDefault(),n.orientation===`vertical`&&Z(t,5);break;case`ArrowLeft`:e.preventDefault(),n.orientation===`horizontal`&&Z(t,-5);break;case`ArrowRight`:e.preventDefault(),n.orientation===`horizontal`&&Z(t,5);break;case`ArrowUp`:e.preventDefault(),n.orientation===`vertical`&&Z(t,-5);break;case`End`:e.preventDefault(),Z(t,100);break;case`Enter`:{e.preventDefault();let n=di(t),{derivedPanelConstraints:r,layout:i,separatorToPanels:a}=W(n.id,!0),o=n.separators.find(e=>e.element===t);H(o,`Matching separator not found`);let s=a.get(o);H(s,`Matching panels not found`);let c=s[0],l=r.find(e=>e.panelId===c.id);if(H(l,`Panel metadata not found`),l.collapsible){let e=i[c.id];Z(t,(l.collapsedSize===e?n.mutableState.expandedPanelSizes[c.id]??l.minSize:l.collapsedSize)-e)}break}case`F6`:{e.preventDefault();let n=di(t).separators.map(e=>e.element),r=Array.from(n).findIndex(t=>t===e.currentTarget);H(r!==null,`Index not found`),n[e.shiftKey?r>0?r-1:n.length-1:r+1<n.length?r+1:0].focus({preventScroll:!0});break}case`Home`:e.preventDefault(),Z(t,-100);break}}var mi={cursorFlags:0,state:`inactive`},hi=new Hr;function Q(){return mi}function gi(e){return hi.addListener(`change`,e)}function _i(e){let t=mi,n={...mi};n.cursorFlags=e,mi=n,hi.emit(`change`,{prev:t,next:n})}function vi(e){let t=mi;mi=e,hi.emit(`change`,{prev:t,next:e})}function yi(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=G(),n=ai(e,t),r=new Map,i=!1;n.forEach(e=>{e.separator&&(i||(i=!0,e.separator.element.focus({preventScroll:!0})));let n=t.get(e.group);n&&r.set(e.group,n.layout)}),vi({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:`active`}),n.length&&e.preventDefault()}var bi=e=>e,xi=()=>{},Si=1,Ci=2,wi=4,Ti=8,Ei=3,Di=12,Oi;function ki(){return Oi===void 0&&(Oi=!1,typeof window<`u`&&(window.navigator.userAgent.includes(`Chrome`)||window.navigator.userAgent.includes(`Firefox`))&&(Oi=!0)),Oi}function Ai({cursorFlags:e,groups:t,state:n}){let r=0,i=0;switch(n){case`active`:case`hover`:t.forEach(e=>{if(!e.mutableState.disableCursor)switch(e.orientation){case`horizontal`:r++;break;case`vertical`:i++;break}})}if(!(r===0&&i===0)){switch(n){case`active`:if(e&&ki()){let t=(e&Si)!==0,n=(e&Ci)!==0,r=(e&wi)!==0,i=(e&Ti)!==0;if(t)return r?`se-resize`:i?`ne-resize`:`e-resize`;if(n)return r?`sw-resize`:i?`nw-resize`:`w-resize`;if(r)return`s-resize`;if(i)return`n-resize`}break}return ki()?r>0&&i>0?`move`:r>0?`ew-resize`:`ns-resize`:r>0&&i>0?`grab`:r>0?`col-resize`:`row-resize`}}var ji=new WeakMap;function Mi(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=ji.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&e.adoptedStyleSheets.push(n));let r=Q();switch(r.state){case`active`:case`hover`:{let e=Ai({cursorFlags:r.cursorFlags,groups:r.hitRegions.map(e=>e.group),state:r.state}),i=`*, *:hover {cursor: ${e} !important; }`;if(t===i)return;t=i,e?n.cssRules.length===0?n.insertRule(i):n.replaceSync(i):n.cssRules.length===1&&n.deleteRule(0);break}case`inactive`:t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}ji.set(e,{prevStyle:t,styleSheet:n})}function Ni({document:e,event:t,hitRegions:n,initialLayoutMap:r,mountedGroups:i,pointerDownAtPoint:a,prevCursorFlags:o}){let s=0;n.forEach(e=>{let{group:n,groupSize:o}=e,{orientation:c,panels:l}=n,{disableCursor:u}=n.mutableState,d=0;d=a?c===`horizontal`?(t.clientX-a.x)/o*100:(t.clientY-a.y)/o*100:c===`horizontal`?t.clientX<0?-100:100:t.clientY<0?-100:100;let f=r.get(n),p=i.get(n);if(!f||!p)return;let{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:_,separatorToPanels:v}=p;if(h&&_&&v){let t=ci({delta:d,initialLayout:f,panelConstraints:h,pivotIndices:e.panels.map(e=>l.indexOf(e)),prevLayout:_,trigger:`mouse-or-touch`});if(Y(t,_)){if(d!==0&&!u)switch(c){case`horizontal`:s|=d<0?Si:Ci;break;case`vertical`:s|=d<0?wi:Ti;break}}else K(e.group,{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:t,separatorToPanels:v})}});let c=0;t.movementX===0?c|=o&Ei:c|=s&Ei,t.movementY===0?c|=o&Di:c|=s&Di,_i(c),Mi(e)}function Pi(e){let t=G(),n=Q();switch(n.state){case`active`:Ni({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function Fi(e){if(e.defaultPrevented)return;let t=Q(),n=G();switch(t.state){case`active`:if(e.buttons===0){vi({cursorFlags:0,state:`inactive`}),t.hitRegions.forEach(e=>{let t=W(e.group.id,!0);K(e.group,t)});return}for(let n of t.hitRegions)if(n.separator){let{element:t}=n.separator;t.hasPointerCapture?.(e.pointerId)||t.setPointerCapture?.(e.pointerId)}Ni({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break;default:{let r=ai(e,n);r.length===0?t.state!==`inactive`&&vi({cursorFlags:0,state:`inactive`}):vi({cursorFlags:0,hitRegions:r,state:`hover`}),Mi(e.currentTarget);break}}}function Ii(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(Q().state){case`hover`:vi({cursorFlags:0,state:`inactive`})}}function Li(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=Q();switch(t.state){case`active`:vi({cursorFlags:0,state:`inactive`}),t.hitRegions.length>0&&(Mi(e.currentTarget),t.hitRegions.forEach(e=>{let t=W(e.group.id,!0);K(e.group,t)}),e.preventDefault())}}function Ri(e){let t=0,n=0,r={};for(let i of e)if(i.defaultSize!==void 0){t++;let e=B(i.defaultSize);n+=e,r[i.panelId]=e}else r[i.panelId]=void 0;let i=e.length-t;if(i!==0){let t=B((100-n)/i);for(let n of e)n.defaultSize===void 0&&(r[n.panelId]=t)}return r}function zi(e,t,n){if(!n[0])return;let r=e.panels.find(e=>e.element===t);if(!r||!r.onResize)return;let i=V({group:e}),a=e.orientation===`horizontal`?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,s={asPercentage:B(a/i*100),inPixels:a};r.mutableValues.prevSize=s,r.onResize(s,r.id,o)}function Bi(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function Vi({group:e,nextGroupSize:t,prevGroupSize:n,prevLayout:r}){if(n<=0||t<=0||n===t)return r;let i=0,a=0,o=!1,s=new Map,c=[];for(let l of e.panels){let e=r[l.id]??0;switch(l.panelConstraints.groupResizeBehavior){case`preserve-pixel-size`:{o=!0;let r=B(e/100*n/t*100);s.set(l.id,r),i+=r;break}default:c.push(l.id),a+=e;break}}if(!o||c.length===0)return r;let l=100-i,u={...r};if(s.forEach((e,t)=>{u[t]=e}),a>0)for(let e of c)u[e]=B((r[e]??0)/a*l);else{let e=B(l/c.length);for(let t of c)u[t]=e}return u}function Hi(e,t){let n=e.map(e=>e.id),r=Object.keys(t);if(n.length!==r.length)return!1;for(let e of n)if(!r.includes(e))return!1;return!0}var Ui=new Map;function Wi(e){let t=!0;H(e.element.ownerDocument.defaultView,`Cannot register an unmounted Group`);let n=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,i=new Set,a=new n(n=>{for(let r of n){let{borderBoxSize:n,target:i}=r;if(i===e.element){if(t){let t=V({group:e});if(t===0)return;let n=W(e.id);if(!n)return;let r=Mr(e),i=n.defaultLayoutDeferred?Ri(r):n.layout,a=X({layout:Vi({group:e,nextGroupSize:t,prevGroupSize:n.groupSize,prevLayout:i}),panelConstraints:r});if(!n.defaultLayoutDeferred&&Y(n.layout,a)&&Bi(n.derivedPanelConstraints,r)&&n.groupSize===t)return;K(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:r,groupSize:t,layout:a,separatorToPanels:n.separatorToPanels})}}else zi(e,i,n)}});a.observe(e.element),e.panels.forEach(e=>{H(!r.has(e.id),`Panel ids must be unique; id "${e.id}" was used more than once`),r.add(e.id),e.onResize&&a.observe(e.element)});let o=V({group:e}),s=Mr(e),c=e.panels.map(({id:e})=>e).join(`,`),l=e.mutableState.defaultLayout;l&&(Hi(e.panels,l)||(l=void 0));let u=X({layout:e.mutableState.layouts[c]??l??Ri(s),panelConstraints:s}),d=e.element.ownerDocument;Ui.set(d,(Ui.get(d)??0)+1);let f=new Map;return Vr(e).forEach(e=>{e.separator&&f.set(e.separator,e.panels)}),K(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:s,groupSize:o,layout:u,separatorToPanels:f}),e.separators.forEach(e=>{H(!i.has(e.id),`Separator ids must be unique; id "${e.id}" was used more than once`),i.add(e.id),e.element.addEventListener(`keydown`,pi)}),Ui.get(d)===1&&(d.addEventListener(`dblclick`,ui,!0),d.addEventListener(`pointerdown`,yi,!0),d.addEventListener(`pointerleave`,Pi),d.addEventListener(`pointermove`,Fi),d.addEventListener(`pointerout`,Ii),d.addEventListener(`pointerup`,Li,!0)),function(){t=!1,Ui.set(d,Math.max(0,(Ui.get(d)??0)-1)),Wr(e),e.separators.forEach(e=>{e.element.removeEventListener(`keydown`,pi)}),Ui.get(d)||(d.removeEventListener(`dblclick`,ui,!0),d.removeEventListener(`pointerdown`,yi,!0),d.removeEventListener(`pointerleave`,Pi),d.removeEventListener(`pointermove`,Fi),d.removeEventListener(`pointerout`,Ii),d.removeEventListener(`pointerup`,Li,!0)),a.disconnect()}}function Gi(){let[e,t]=(0,k.useState)({});return[e,(0,k.useCallback)(()=>t({}),[])]}function Ki(e){let t=(0,k.useId)();return`${e??t}`}var $=typeof window<`u`?k.useLayoutEffect:k.useEffect;function qi(e){let t=(0,k.useRef)(e);return $(()=>{t.current=e},[e]),(0,k.useCallback)((...e)=>t.current?.(...e),[t])}function Ji(...e){return qi(t=>{e.forEach(e=>{if(e)switch(typeof e){case`function`:e(t);break;case`object`:e.current=t;break}})})}function Yi(e){let t=(0,k.useRef)({...e});return $(()=>{for(let n in e)t.current[n]=e[n]},[e]),t.current}var Xi=(0,k.createContext)(null);function Zi(e,t){let n=(0,k.useRef)({getLayout:()=>({}),setLayout:bi});(0,k.useImperativeHandle)(t,()=>n.current,[]),$(()=>{Object.assign(n.current,fi({groupId:e}))})}function Qi({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:i,elementRef:a,groupRef:o,id:s,onLayoutChange:c,onLayoutChanged:l,orientation:u=`horizontal`,resizeTargetMinimumSize:d={coarse:20,fine:10},style:f,...p}){let m=(0,k.useRef)({onLayoutChange:{},onLayoutChanged:{}}),h=qi(e=>{Y(m.current.onLayoutChange,e)||(m.current.onLayoutChange=e,c?.(e))}),g=qi(e=>{Y(m.current.onLayoutChanged,e)||(m.current.onLayoutChanged=e,l?.(e))}),_=Ki(s),v=(0,k.useRef)(null),[y,b]=Gi(),x=(0,k.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:d,separators:[]}),S=Ji(v,a);Zi(_,o);let C=qi((e,t)=>{let r=Q(),i=Gr(e),a=W(e);if(a){let e=!1;switch(r.state){case`active`:e=r.hitRegions.some(e=>e.group===i);break}return{flexGrow:a.layout[t]??1,pointerEvents:e?`none`:void 0}}if(n?.[t])return{flexGrow:n?.[t]}}),w=Yi({defaultLayout:n,disableCursor:r}),T=(0,k.useMemo)(()=>({get disableCursor(){return!!w.disableCursor},getPanelStyles:C,id:_,orientation:u,registerPanel:e=>{let t=x.current;return t.panels=Nr(u,[...t.panels,e]),b(),()=>{t.panels=t.panels.filter(t=>t!==e),b()}},registerSeparator:e=>{let t=x.current;return t.separators=Nr(u,[...t.separators,e]),b(),()=>{t.separators=t.separators.filter(t=>t!==e),b()}},updatePanelProps:(e,{disabled:t})=>{let n=x.current.panels.find(t=>t.id===e);n&&(n.panelConstraints.disabled=t);let r=Gr(_),i=W(_);r&&i&&K(r,{...i,derivedPanelConstraints:Mr(r)})},updateSeparatorProps:(e,{disabled:t,disableDoubleClick:n})=>{let r=x.current.separators.find(t=>t.id===e);r&&(r.disabled=t,r.disableDoubleClick=n)}}),[C,_,b,u,w]),E=(0,k.useRef)(null);return $(()=>{let e=v.current;if(e===null)return;let t=x.current,n;if(w.defaultLayout!==void 0&&Object.keys(w.defaultLayout).length===t.panels.length){n={};for(let e of t.panels){let t=w.defaultLayout[e.id];t!==void 0&&(n[e.id]=t)}}let r={disabled:!!i,element:e,id:_,mutableState:{defaultLayout:n,disableCursor:!!w.disableCursor,expandedPanelSizes:x.current.lastExpandedPanelSizes,layouts:x.current.layouts},orientation:u,panels:t.panels,resizeTargetMinimumSize:t.resizeTargetMinimumSize,separators:t.separators};E.current=r;let a=Wi(r),{defaultLayoutDeferred:o,derivedPanelConstraints:s,layout:c}=W(r.id,!0);!o&&s.length>0&&(h(c),g(c));let l=Kr(_,e=>{let{defaultLayoutDeferred:t,derivedPanelConstraints:n,layout:i}=e.next;if(t||n.length===0)return;let a=r.panels.map(({id:e})=>e).join(`,`);r.mutableState.layouts[a]=i,n.forEach(t=>{if(t.collapsible){let{layout:n}=e.prev??{};if(n){let e=q(t.collapsedSize,i[t.panelId]),a=q(t.collapsedSize,n[t.panelId]);e&&!a&&(r.mutableState.expandedPanelSizes[t.panelId]=n[t.panelId])}}});let o=Q().state!==`active`;h(i),o&&g(i)});return()=>{E.current=null,a(),l()}},[i,_,g,h,u,y,w]),(0,k.useEffect)(()=>{let e=E.current;e&&(e.mutableState.defaultLayout=n,e.mutableState.disableCursor=!!r)}),(0,A.jsx)(Xi.Provider,{value:T,children:(0,A.jsx)(`div`,{...p,className:t,"data-group":!0,"data-testid":_,id:_,ref:S,style:{height:`100%`,width:`100%`,overflow:`hidden`,...f,display:`flex`,flexDirection:u===`horizontal`?`row`:`column`,flexWrap:`nowrap`,touchAction:u===`horizontal`?`pan-y`:`pan-x`},children:e})})}Qi.displayName=`Group`;function $i(){let e=(0,k.useContext)(Xi);return H(e,`Group Context not found; did you render a Panel or Separator outside of a Group?`),e}function ea(e,t){let{id:n}=$i(),r=(0,k.useRef)({collapse:xi,expand:xi,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:xi});(0,k.useImperativeHandle)(t,()=>r.current,[]),$(()=>{Object.assign(r.current,li({groupId:n,panelId:e}))})}function ta({children:e,className:t,collapsedSize:n=`0%`,collapsible:r=!1,defaultSize:i,disabled:a,elementRef:o,groupResizeBehavior:s=`preserve-relative-size`,id:c,maxSize:l=`100%`,minSize:u=`0%`,onResize:d,panelRef:f,style:p,...m}){let h=!!c,g=Ki(c),_=Yi({disabled:a}),v=(0,k.useRef)(null),y=Ji(v,o),{getPanelStyles:b,id:x,orientation:S,registerPanel:C,updatePanelProps:w}=$i(),T=d!==null,E=qi((e,t,n)=>{d?.(e,c,n)});$(()=>{let e=v.current;if(e!==null)return C({element:e,id:g,idIsStable:h,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:T?E:void 0,panelConstraints:{groupResizeBehavior:s,collapsedSize:n,collapsible:r,defaultSize:i,disabled:_.disabled,maxSize:l,minSize:u}})},[s,n,r,i,T,g,h,l,u,E,C,_]),(0,k.useEffect)(()=>{w(g,{disabled:a})},[a,g,w]),ea(g,f);let ee=()=>{let e=b(x,g);if(e)return JSON.stringify(e)},te=(0,k.useSyncExternalStore)(e=>Kr(x,e),ee,ee),ne;return ne=te?JSON.parse(te):i?{flexGrow:void 0,flexShrink:void 0,flexBasis:i}:{flexGrow:1},(0,A.jsx)(`div`,{...m,"data-disabled":a||void 0,"data-panel":!0,"data-testid":g,id:g,ref:y,style:{...na,display:`flex`,flexBasis:0,flexShrink:1,overflow:`visible`,...ne},children:(0,A.jsx)(`div`,{className:t,style:{maxHeight:`100%`,maxWidth:`100%`,flexGrow:1,overflow:`auto`,...p,touchAction:S===`horizontal`?`pan-y`:`pan-x`},children:e})})}ta.displayName=`Panel`;var na={minHeight:0,maxHeight:`100%`,height:`auto`,minWidth:0,maxWidth:`100%`,width:`auto`,border:`none`,borderWidth:0,padding:0,margin:0};function ra({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let i,a,o=e[n],s=t.find(e=>e.panelId===n);if(s){let c=s.maxSize,l=s.collapsible?s.collapsedSize:s.minSize,u=[r,r+1];a=X({layout:ci({delta:l-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],i=X({layout:ci({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:a,valueNow:o}}function ia({children:e,className:t,disabled:n,disableDoubleClick:r,elementRef:i,id:a,style:o,...s}){let c=Ki(a),l=Yi({disabled:n,disableDoubleClick:r}),[u,d]=(0,k.useState)({}),[f,p]=(0,k.useState)(`inactive`),[m,h]=(0,k.useState)(!1),g=(0,k.useRef)(null),_=Ji(g,i),{disableCursor:v,id:y,orientation:b,registerSeparator:x,updateSeparatorProps:S}=$i(),C=b===`horizontal`?`vertical`:`horizontal`;$(()=>{let e=g.current;if(e!==null){let t={disabled:l.disabled,disableDoubleClick:l.disableDoubleClick,element:e,id:c},n=x(t),r=gi(e=>{p(e.next.state!==`inactive`&&e.next.hitRegions.some(e=>e.separator===t)?e.next.state:`inactive`)}),i=Kr(y,e=>{let{derivedPanelConstraints:n,layout:r,separatorToPanels:i}=e.next,a=i.get(t);if(a){let e=a[0],t=a.indexOf(e);d(ra({layout:r,panelConstraints:n,panelId:e.id,panelIndex:t}))}});return()=>{r(),i(),n()}}},[y,c,x,l]),(0,k.useEffect)(()=>{S(c,{disabled:n,disableDoubleClick:r})},[n,r,c,S]);let w;n&&!v&&(w=`not-allowed`);let T;if(n)T=`disabled`;else switch(f){case`active`:T=`active`;break;default:T=m?`focus`:f}return(0,A.jsx)(`div`,{...s,"aria-controls":u.valueControls,"aria-disabled":n||void 0,"aria-orientation":C,"aria-valuemax":u.valueMax,"aria-valuemin":u.valueMin,"aria-valuenow":u.valueNow,children:e,className:t,"data-separator":T,"data-testid":c,id:c,onBlur:()=>h(!1),onFocus:()=>h(!0),ref:_,role:`separator`,style:{flexBasis:`auto`,cursor:w,...o,flexGrow:0,flexShrink:0,touchAction:`none`},tabIndex:n?void 0:0})}ia.displayName=`Separator`;function aa(e,t,n,r){return!(e>0)||!(t>0)||!Number.isFinite(e)||!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)}function oa(e){return Number.isFinite(e)?Math.max(0,Math.min(.5,e)):.25}function sa(e,t,n,r){let i=n<0?n:n>e?n-e:0,a=r<0?r:r>t?r-t:0;if(i===0&&a===0)return;let o=Math.abs(i);return o>=Math.abs(a)&&o>0?i<0?`left`:`right`:a<0?`top`:`bottom`}function ca(e,t,n,r,i){let a=i*Math.min(e,t),o=n<a,s=n>e-a,c=r<a,l=r>t-a;return{inLeft:o,inTop:c,activeHoriz:o||s,activeVert:c||l}}function la(e,t,n,r,i,a){return(i?n/e:(e-n)/e)<=(a?r/t:(t-r)/t)?i?`left`:`right`:a?`top`:`bottom`}function ua(e,t,n,r,i){let{inLeft:a,inTop:o,activeHoriz:s,activeVert:c}=ca(e,t,n,r,i);return!s&&!c?`center`:s&&!c?a?`left`:`right`:c&&!s?o?`top`:`bottom`:la(e,t,n,r,a,o)}function da(e,t,n=.25){let{width:r,height:i}=e,{x:a,y:o}=t;if(aa(r,i,a,o))return`center`;let s=oa(n),c=sa(r,i,a,o);return c===void 0?ua(r,i,a,o,s):c}function fa(e,t,n){if(e===`center`)return{kind:`move`,panelId:t,destGroupId:n.groupId};let r=e===`left`||e===`right`?`row`:`column`,i=e===`left`||e===`top`?`before`:`after`;return{kind:`split`,atPanelId:n.panelId,dir:r,side:i,newPanelId:t}}function pa(e,t,n,r){return e===n.panelId||r===`center`&&t!==void 0&&t===n.groupId}function ma(e,t){if(!Number.isFinite(t))return 0;let n=0;for(let r of e)if(t>=r.left+r.width/2)n+=1;else break;return n}function ha(e,t,n,r){let i=t.indexOf(n),a=i>=0&&r>i,o=t.filter(e=>e!==n),s=e.filter(e=>e!==n),c=a?r-1:r;if(c<0&&(c=0),c>o.length&&(c=o.length),c>=o.length)return s.length;let l=o[c],u=s.indexOf(l);return u>=0?u:s.length}var ga=.5;function _a(e){let t=e.reduce((e,t)=>e+(t>0?t:0),0);if(t<=0){let t=e.length>0?100/e.length:100;return e.map(()=>t)}return e.map(e=>(e>0?e:0)/t*100)}function va(e,t){let n=e.map((e,t)=>t).filter(e=>(t?.[e]??null)===null),r=_a(n.map(t=>e[t]??0)),i=new Map;return n.forEach((e,t)=>{i.set(e,r[t])}),i}function ya(e){return Math.min(1,Math.max(.5,Math.floor(90/Math.max(1,e))))}function ba(e,t){let n=e.filter((e,n)=>(t?.[n]??null)===null).length,r=ya(n);return e.map((e,n)=>(t?.[n]??null)===null?Number.isFinite(e)&&e>=r?e:r:e)}function xa(e,t,n,r=ga){let i=new Set(n);for(let t of Object.keys(e))if(!i.has(t))return!1;for(let e of Object.keys(t))if(!i.has(e))return!1;for(let i of n){let n=e[i],a=t[i];if(!Number.isFinite(n)||!Number.isFinite(a)||Math.abs(n-a)>r)return!1}return!0}function Sa(e,t,n,r,i){let a=e=>(n?.[e]??null)!==null,o=t=>{let a=n?.[t]??null;if(i&&i.containerPx>0&&a){if(a.fixedPx!=null)return a.fixedPx/i.containerPx*100;if(a.minPx!=null&&!i.trustLiveForMinPx)return a.minPx/i.containerPx*100}let o=r[e[t]];return typeof o==`number`?o:null},s=Ca(e,a,o);if(s===null)return null;let c=Math.max(0,100-s),l=0,u=0;for(let n=0;n<e.length;n++){if(a(n))continue;let e=t[n]??0;l+=e>0?e:0,u+=1}let d={};for(let n=0;n<e.length;n++){let r=e[n];d[r]=a(n)?o(n):wa(t[n]??0,c,l,u)}return d}function Ca(e,t,n){let r=0;for(let i=0;i<e.length;i++){if(!t(i))continue;let e=n(i);if(e===null)return null;r+=e}return r}function wa(e,t,n,r){return n<=0?r>0?t/r:t:t*(e>0?e:0)/n}function Ta(e,t,n){let r=[],i=[];for(let a=0;a<e.length;a++){if((t?.[a]??null)!==null)continue;let o=n[e[a]];if(typeof o!=`number`||!Number.isFinite(o))return null;r.push(a),i.push(o>0?o:0)}return r.length===0?null:{indices:r,ratios:_a(i)}}function Ea(e){let{node:t,ctx:n}=e,r=t.orientation===`row`?`horizontal`:`vertical`,i=va(t.sizes,t.constraints),a=t.children.filter((e,n)=>(t.constraints?.[n]??null)===null).length,o=String(ya(a)),s=(0,k.useRef)(null),c=(0,k.useRef)(null),l=(0,k.useRef)(t);l.current=t;let u=[];t.children.forEach((e,r)=>{r>0&&u.push((0,A.jsx)(ia,{"data-deck-resize-handle":``},`handle-${r}`));let a=t.constraints?.[r]??null;if(a?.fixedPx!=null){let t=`${a.fixedPx}px`;u.push((0,A.jsx)(ta,{id:e.id,defaultSize:t,minSize:t,maxSize:t,groupResizeBehavior:`preserve-pixel-size`,children:Ra(e,n)},Da(e)))}else if(a?.minPx!=null){let t=`${a.minPx}px`;u.push((0,A.jsx)(ta,{id:e.id,defaultSize:t,minSize:t,groupResizeBehavior:`preserve-pixel-size`,children:Ra(e,n)},Da(e)))}else{let t=i.get(r);u.push((0,A.jsx)(ta,{id:e.id,defaultSize:t==null?void 0:String(t),minSize:o,children:Ra(e,n)},Da(e)))}});let d=e=>{let t=l.current,r=t.children.map(e=>e.id),i=e=>(t.constraints?.[e]??null)!==null,a=Ta(r,t.constraints,e);if(!a)return;let o=va(t.sizes,t.constraints),s=a.indices.map(e=>o.get(e)??0);if(!a.ratios.some((e,t)=>Math.abs(e-s[t])>.1))return;let c=r.map((n,r)=>i(r)?t.sizes[r]??1:e[n]);n.onApplyLayout(t.id,ba(c,t.constraints))},f=e=>{c.current=e,e&&(e.__deckApplyLayout=e=>{let t=l.current,r=e=>(t.constraints?.[e]??null)!==null,i=e.map((e,n)=>r(n)?t.sizes[n]??1:e);n.onApplyLayout(t.id,ba(i,t.constraints))},Object.defineProperty(e,`__deckGroupApi`,{configurable:!0,get:()=>s.current??void 0}))},p=(0,k.useCallback)(e=>{let t=s.current;if(!t)return{pushed:!1,stuck:!1};let n=l.current,r=n.children.map(e=>e.id),i=t.getLayout(),a=c.current?.getBoundingClientRect(),o=a?n.orientation===`row`?a.width:a.height:0,u=o>0?{containerPx:o,trustLiveForMinPx:!e}:void 0,d=Sa(r,n.sizes,n.constraints,i,u);return d?xa(i,d,r)?{pushed:!1,stuck:!0}:(t.setLayout(d),{pushed:!0,stuck:xa(t.getLayout(),d,r)}):{pushed:!1,stuck:!1}},[]),m=t.sizes.join(`,`),h=t.children.length,g=(0,k.useRef)(null);return(0,k.useEffect)(()=>{let e=g.current!==h;if(g.current=h,!e){p(!1);return}let t=!1,n=0,r=0,i=()=>{if(t)return;r+=1;let{stuck:e}=p(!0);!e&&r<8&&(n=requestAnimationFrame(i))};return n=requestAnimationFrame(i),()=>{t=!0,cancelAnimationFrame(n)}},[m,h,p]),(0,A.jsx)(`div`,{ref:f,"data-deck-split":t.id,"data-orientation":t.orientation,"data-deck-sizes":t.sizes.join(`,`),style:{width:`100%`,height:`100%`},children:(0,A.jsx)(Qi,{groupRef:s,orientation:r,onLayoutChanged:d,style:{width:`100%`,height:`100%`},children:u},t.children.length)})}function Da(e){return e.id}function Oa(e,t){let n=e.active;return n?(0,A.jsxs)(k.Fragment,{children:[t.registry.get(n)?.kind===`native`?(0,A.jsx)(ka,{panelId:n,bindNativeSlot:t.bindNativeSlot},n):null,e.panels.filter(e=>t.registry.get(e)?.kind!==`native`).slice().sort((e,t)=>e<t?-1:+(e>t)).map(e=>{let r=e===n;return(0,A.jsx)(`div`,{"data-deck-panel-body":e,style:{display:r?`flex`:`none`,flexDirection:`column`,flex:1,minWidth:0,minHeight:0},children:t.renderDomPanel(e,{active:r})},`dom-${e}`)})]}):null}function ka(e){let{panelId:t,bindNativeSlot:n}=e,r=(0,k.useRef)(n);return r.current=n,(0,A.jsx)(`div`,{ref:(0,k.useCallback)(e=>{r.current(t,e)},[t]),"data-deck-native-slot":t,style:{flex:1,minWidth:0,minHeight:0,height:`100%`}})}var Aa=`application/x-deck-panel`;function ja(e){let{node:t,ctx:n}=e,[r,i]=(0,k.useState)(null),a=(0,k.useRef)(t);a.current=t;let o=(0,k.useRef)(n.onRedock);o.current=n.onRedock;let s=e=>{e&&(e.__deckHandleDrop=(e,t)=>{let n=a.current;o.current(n.id,n.active,e,t)})},c=e=>{if(!e.dataTransfer?.types.includes(Aa))return;e.preventDefault();let t=n.activeDragPanelId.current;if(n.suppressReorderOnlyDropIndicator&&t!==null&&n.registry.get(t)?.dropPolicy===`reorder-only`){i(null);return}let r=e.currentTarget.getBoundingClientRect();i(da({width:r.width,height:r.height},{x:e.clientX-r.left,y:e.clientY-r.top}))},l=()=>{i(null)},u=e=>{e.preventDefault();let r=e.currentTarget.getBoundingClientRect(),a=da({width:r.width,height:r.height},{x:e.clientX-r.left,y:e.clientY-r.top});i(null);let o=e.dataTransfer?.getData(Aa);if(!o||n.registry.get(o)===void 0||!n.isPanelInTree(o))return;let s=ma(Array.from(e.currentTarget.querySelectorAll(`[data-deck-tab]`)).map(e=>{let t=e.getBoundingClientRect();return{left:t.left,width:t.width}}),e.clientX);n.onRedock(t.id,t.active,o,a,s)},d=e=>{e.dataTransfer?.types.includes(Aa)&&(e.preventDefault(),e.stopPropagation(),i(null))},f=e=>{e.preventDefault(),e.stopPropagation(),i(null);let r=e.dataTransfer?.getData(Aa);if(!r||n.registry.get(r)===void 0||!n.isPanelInTree(r))return;let a=ma(Array.from(e.currentTarget.querySelectorAll(`[data-deck-tab]`)).map(e=>{let t=e.getBoundingClientRect();return{left:t.left,width:t.width}}),e.clientX);n.onRedock(t.id,t.active,r,`center`,a)},p=t.panels.filter(e=>!n.registry.get(e)?.hideTab);return(0,A.jsxs)(`div`,{ref:s,"data-deck-group":t.id,onDragOver:c,onDragLeave:l,onDrop:u,style:{position:`relative`,display:`flex`,flexDirection:`column`,width:`100%`,height:`100%`,minWidth:0,minHeight:0},children:[p.length>0?(0,A.jsx)(`div`,{role:`tablist`,style:{flexShrink:0},onDragOver:d,onDrop:f,children:p.map(e=>{let r=e===t.active,i=n.registry.get(e),a=i?.title??e;return(0,A.jsxs)(`button`,{type:`button`,role:`tab`,draggable:i?.draggable===!1?void 0:`true`,"data-deck-tab":e,"data-active":r?`true`:`false`,onDragStart:t=>{if(t.target instanceof Element&&t.target.closest(`[data-deck-tab-close]`)!==null){t.preventDefault();return}t.dataTransfer.setData(Aa,e),t.dataTransfer.setData(`text/plain`,e),t.dataTransfer.effectAllowed=`move`,n.activeDragPanelId.current=e},onDragEnd:()=>{n.activeDragPanelId.current=null},onClick:()=>{r?n.onActiveTabClick?.(e):n.onActivate(t.id,e)},children:[a,n.canClose&&i?.closable!==!1?(0,A.jsx)(`span`,{role:`button`,tabIndex:0,"data-deck-tab-close":e,"aria-label":`Close ${a}`,onPointerDown:e=>e.stopPropagation(),onClick:t=>{t.stopPropagation(),t.preventDefault(),n.onClose(e)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.stopPropagation(),t.preventDefault(),n.onClose(e))},children:`×`}):null]},e)})}):null,Oa(t,n),r?(0,A.jsx)(Na,{zone:r}):null]})}function Ma(e){let t={position:`absolute`,pointerEvents:`none`,background:`rgba(64, 128, 255, 0.25)`,outline:`2px solid rgba(64, 128, 255, 0.6)`};switch(e){case`left`:return{...t,left:`0`,top:`0`,width:`50%`,height:`100%`};case`right`:return{...t,right:`0`,top:`0`,width:`50%`,height:`100%`};case`top`:return{...t,left:`0`,top:`0`,width:`100%`,height:`50%`};case`bottom`:return{...t,left:`0`,bottom:`0`,width:`100%`,height:`50%`};default:return{...t,left:`0`,top:`0`,width:`100%`,height:`100%`}}}function Na(e){return(0,A.jsx)(`div`,{"data-deck-drop-zone":e.zone,style:Ma(e.zone)})}var Pa=(0,k.createContext)(0);function Fa(){return(0,k.useContext)(Pa)}function Ia(e,t,n){let{groupId:r,activePanelId:i,draggedPanelId:a,draggedGroupId:o,zone:s,reorderIndex:c}=n;if(o===void 0||o!==r||s!==`center`)return;let l=Dn(e.get().root,r),u;if(c!==void 0&&l){let e=l.panels.filter(e=>t.get(e)?.hideTab!==!0);u=ha(l.panels,e,a,c)}else u=l?l.panels.indexOf(i):void 0;e.apply(e=>Kn(e,a,{groupId:r,index:u}))}function La(e){let{model:t,registry:n,renderDomPanel:r,bindNativeSlot:i,suppressReorderOnlyDropIndicator:a,onActiveTabClick:o}=e,[s,c]=(0,k.useState)(()=>t.get()),[l,u]=(0,k.useState)(0),d=(0,k.useRef)(null);(0,k.useEffect)(()=>(c(t.get()),t.subscribe(e=>{c(e.tree),u(e.revision)})),[t]);let f=(0,k.useCallback)((e,n)=>{t.apply(t=>Bn(t,e,n))},[t]),p=(0,k.useCallback)(e=>{t.apply(t=>Xn(t,e,n))},[t,n]),m=An(s.root)>1,h=(0,k.useCallback)(e=>kn(s.root,e)!==void 0,[s]),g=(0,k.useCallback)((e,n)=>{t.apply(t=>Rn(t,e,n))},[t]),_=(0,k.useCallback)((e,r,i,a,o)=>{let s={groupId:e,panelId:r},c=kn(t.get().root,i);if(n.get(i)?.draggable===!1||n.get(r)?.draggable===!1)return;if(n.get(i)?.dropPolicy===`reorder-only`){Ia(t,n,{groupId:e,activePanelId:r,draggedPanelId:i,draggedGroupId:c,zone:a,reorderIndex:o});return}if(pa(i,c,s,a))return;let l=fa(a,i,s);if(l.kind===`move`){t.apply(e=>Kn(e,l.panelId,{groupId:l.destGroupId}));return}t.apply(e=>{let{tree:t}=Un(e,l.newPanelId);return kn(t.root,l.atPanelId)===void 0?e:L(t,l.atPanelId,l.dir,l.newPanelId,l.side)})},[t,n]);return(0,A.jsx)(Pa.Provider,{value:l,children:Ra(s.root,{registry:n,renderDomPanel:r,bindNativeSlot:i,onActivate:f,onActiveTabClick:o,onApplyLayout:g,onRedock:_,onClose:p,canClose:m,isPanelInTree:h,suppressReorderOnlyDropIndicator:a??!1,activeDragPanelId:d})})}function Ra(e,t){return e.kind===`split`?za(e,t):Ba(e,t)}function za(e,t){return(0,A.jsx)(Ea,{node:e,ctx:t},e.id)}function Ba(e,t){return(0,A.jsx)(ja,{node:e,ctx:t},e.id)}function Va({phase:e,code:t,reason:n,onRelaunch:r}){return(0,A.jsx)(`div`,{"data-testid":`sim-runtime-error`,className:`absolute inset-0 flex flex-col items-center justify-center bg-[var(--color-overlay-heavy)] z-10`,children:(0,A.jsxs)(`div`,{className:`text-center p-4`,children:[(0,A.jsx)(`div`,{className:`text-status-error text-[14px] font-medium mb-2`,children:e===`crashed`?`小程序已崩溃`:`小程序启动失败`}),(0,A.jsx)(`div`,{className:`text-status-error text-[11px] max-w-[280px] break-words mb-3`,children:n??t??`未知原因`}),(0,A.jsx)(D,{type:`button`,variant:`outline`,size:`xs`,onClick:r,className:`border-status-error text-status-error hover:bg-status-error/10`,children:`重新启动`})]})})}function Ha({requested:e,resolved:t,onDismiss:n}){return(0,A.jsxs)(`div`,{"data-testid":`sim-fallback-banner`,className:`flex items-center gap-2 px-2.5 py-1 bg-status-warn/15 border-b border-status-warn/40 text-[11px] text-status-warn shrink-0`,children:[(0,A.jsxs)(`span`,{className:`flex-1 min-w-0 truncate`,children:[`启动页 "`,e,`" 不存在,已回退到 "`,t,`"`]}),(0,A.jsx)(`button`,{type:`button`,onClick:n,className:`shrink-0 text-status-warn/80 hover:text-status-warn px-1`,title:`关闭`,children:`×`})]})}function Ua(){return(0,A.jsx)(`div`,{"data-testid":`sim-watcher-dead-banner`,className:`flex items-center gap-2 px-2.5 py-1 bg-status-error/15 border-b border-status-error/40 text-[11px] text-status-error shrink-0`,children:`文件监听已停止,后续代码修改将不会自动重新编译`})}var Wa=50;function Ga(e,t,n){if(e.width<=0||e.height<=0)return n;let r=Math.min(e.width/(t.width+Wa),e.height/(t.height+Wa));return Math.max(1,Math.min(100,Math.floor(r*100)))}function Ka({device:e,zoom:t,onDeviceChange:n,onZoomChange:r,compileStatus:i,currentPage:a,copied:o,onCopyPagePath:s,runtimeStatus:c=null,watcherDead:l=!1,onRelaunch:u=()=>{},onOpenInternalDevtools:d=()=>{}}){let f=(0,k.useRef)(typeof t==`number`?t:100),p=(0,k.useRef)(t),m=(0,k.useRef)(e),h=(0,k.useRef)(null),[g,_]=(0,k.useState)(!1);(0,k.useEffect)(()=>{i.status===`ready`&&_(!0)},[i.status]);let v=c?.phase===`launch-failed`||c?.phase===`crashed`,[y,b]=(0,k.useState)(!1);(0,k.useEffect)(()=>{c||b(!1)},[c]);let x=!!c?.pageFallback&&!v&&!y,S=i.status===`compiling`&&g,C=He(),w=(0,k.useCallback)(e=>{if(e.visible){let t=p.current;f.current=t===`auto`?Ga(e.bounds,m.current,f.current):t}C?.set({viewId:j.simulator,placement:e,layer:St.base,extra:{zoom:f.current}})},[C]),T=(0,k.useCallback)(e=>{let t=h.current;if(t){e?(t.dispose(),h.current=bt(e,{visible:!0,followGeometry:!0,guardDisplayNone:!0,publish:w})):(t.update({visible:!1,publish:w}),t.dispose(),h.current=null);return}e&&(h.current=bt(e,{visible:!0,followGeometry:!0,guardDisplayNone:!0,publish:w}))},[w]);return(0,k.useLayoutEffect)(()=>{p.current=t,m.current=e}),(0,k.useLayoutEffect)(()=>{h.current?.update({visible:!0,publish:w})},[t,e,w]),(0,k.useEffect)(()=>{h.current?.pulse(300)},[Fa()]),(0,k.useEffect)(()=>()=>{h.current?.dispose(),h.current=null,C?.remove(j.simulator)},[C]),(0,A.jsxs)(`div`,{className:`bg-sim-bg flex flex-col overflow-hidden h-full w-full`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2 px-5 py-2 shrink-0 border-b border-border-subtle`,children:[(0,A.jsx)(Le,{value:e.name,onChange:n,children:Fe.map(e=>(0,A.jsx)(`option`,{value:e.name,children:e.name},e.name))}),(0,A.jsxs)(Le,{value:t,onChange:r,className:`w-[76px] shrink-0`,children:[Ne.map(e=>(0,A.jsxs)(`option`,{value:e,children:[e,`%`]},e)),(0,A.jsx)(`option`,{value:Ie,children:`自适应`})]})]}),l&&(0,A.jsx)(Ua,{}),x&&c?.pageFallback&&(0,A.jsx)(Ha,{requested:c.pageFallback.requested,resolved:c.pageFallback.resolved,onDismiss:()=>b(!0)}),(0,A.jsxs)(`div`,{ref:T,className:`flex-1 min-h-0 bg-sim-bg relative`,"data-area":`native-simulator`,children:[i.status===`compiling`&&!g&&(0,A.jsx)(`div`,{"data-testid":`sim-compiling-overlay`,className:`absolute inset-0 flex items-center justify-center bg-[var(--color-overlay)] z-10`,children:(0,A.jsx)(`div`,{className:`text-text-dim text-[13px]`,children:`正在编译中...`})}),S&&(0,A.jsxs)(`div`,{"data-testid":`sim-recompiling-indicator`,className:`absolute top-2 right-2 z-10 flex items-center gap-1.5 rounded bg-black/60 px-2 py-0.5 pointer-events-none`,children:[(0,A.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-accent animate-pulse`}),(0,A.jsx)(`span`,{className:`text-text-dim text-[11px]`,children:`编译中…`})]}),i.status===`error`&&(0,A.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-[var(--color-overlay-heavy)] z-10`,children:(0,A.jsxs)(`div`,{className:`text-center p-4`,children:[(0,A.jsx)(`div`,{className:`text-status-error text-[14px] font-medium mb-2`,children:`编译失败`}),(0,A.jsx)(`div`,{className:`text-status-error text-[11px] max-w-[280px] break-words`,children:i.message})]})}),i.status!==`error`&&c&&(c.phase===`launch-failed`||c.phase===`crashed`)&&(0,A.jsx)(Va,{phase:c.phase,code:c.code,reason:c.reason,onRelaunch:u})]}),(0,A.jsxs)(`div`,{className:`flex items-center px-2.5 bg-sim-bottom border-t border-border-subtle shrink-0 h-[30px] min-w-0`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0`,children:[(0,A.jsx)(`span`,{className:`text-[11px] text-text-dim truncate min-w-0`,title:a||void 0,children:a||`—`}),a&&(0,A.jsx)(`button`,{className:Oe(`shrink-0 flex items-center justify-center w-4 h-4 rounded transition-colors`,o?`text-accent`:`text-text-dim hover:text-text`),onClick:s,title:`复制路径`,children:o?(0,A.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,fill:`none`,children:(0,A.jsx)(`polyline`,{points:`1.5,5 4,7.5 8.5,2.5`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})}):(0,A.jsxs)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,fill:`none`,children:[(0,A.jsx)(`rect`,{x:`1`,y:`3`,width:`6`,height:`6.5`,rx:`1`,stroke:`currentColor`,strokeWidth:`1`}),(0,A.jsx)(`path`,{d:`M3 3V2a1 1 0 011-1h4a1 1 0 011 1v5a1 1 0 01-1 1H7`,stroke:`currentColor`,strokeWidth:`1`})]})})]}),(0,A.jsx)(`button`,{className:`ml-auto shrink-0 flex items-center justify-center w-4 h-4 rounded text-text-dim hover:text-text transition-colors`,onClick:d,title:`调试开发者工具`,"data-testid":`sim-open-internal-devtools`,children:(0,A.jsxs)(`svg`,{width:`11`,height:`11`,viewBox:`0 0 11 11`,fill:`none`,children:[(0,A.jsx)(`rect`,{x:`3`,y:`3.5`,width:`5`,height:`5.5`,rx:`1.5`,stroke:`currentColor`,strokeWidth:`1`}),(0,A.jsx)(`path`,{d:`M4 3.5V3a1.5 1.5 0 013 0v.5M1.5 5.5H3M8 5.5h1.5M2 8.5l1.3-1M9 8.5l-1.3-1M2 3l1.3 1M9 3L7.7 4`,stroke:`currentColor`,strokeWidth:`1`,strokeLinecap:`round`})]})})]})]})}function qa(){let e=(0,k.useRef)(null),t=He(),n=(0,k.useCallback)(e=>{t?.set({viewId:j.workbench,placement:e,layer:St.base})},[t]),r=(0,k.useCallback)(t=>{let r=e.current;if(r){t?(r.dispose(),e.current=bt(t,{visible:!0,guardDisplayNone:!0,followScroll:!0,followGeometry:!0,publish:n})):(r.update({visible:!1,publish:n}),r.dispose(),e.current=null);return}t&&(e.current=bt(t,{visible:!0,guardDisplayNone:!0,followScroll:!0,followGeometry:!0,publish:n}))},[n]);return(0,k.useEffect)(()=>{e.current?.pulse(300)},[Fa()]),(0,k.useEffect)(()=>()=>{e.current?.dispose(),e.current=null,t?.remove(j.workbench)},[t]),(0,A.jsx)(`div`,{ref:r,className:`h-full w-full`,"data-area":`editor`})}function Ja(e,t){return!!(t===0||e.tagName===`#shadow-root`||e.tagName.includes(`/`))}function Ya({entries:e}){return(0,A.jsx)(A.Fragment,{children:e.map(([e,t])=>(0,A.jsxs)(`span`,{children:[` `,(0,A.jsx)(`span`,{className:`text-code-blue`,children:e}),(0,A.jsx)(`span`,{className:`text-text-dim`,children:`=`}),(0,A.jsxs)(`span`,{className:`text-code-orange`,children:[`"`,t,`"`]})]},e))})}function Xa({node:e,depth:t}){return(0,A.jsxs)(`div`,{className:`py-px leading-[18px] hover:bg-surface-2`,style:{paddingLeft:t*16},children:[(0,A.jsx)(`span`,{className:`w-3 inline-block`}),(0,A.jsx)(`span`,{className:`text-text`,children:e.text})]})}function Za({node:e,depth:t,inspectedSid:n,onInspect:r}){return(0,A.jsx)(A.Fragment,{children:(e.children??[]).map((e,i)=>(0,A.jsx)(no,{node:e,depth:t,inspectedSid:n,onInspect:r},i))})}function Qa({node:e,depth:t,inspectedSid:n,onInspect:r}){let[i,a]=(0,k.useState)(()=>Ja(e,t)),o=t*16,s=(e.children??[]).length>0;return(0,A.jsxs)(`div`,{children:[(0,A.jsxs)(`div`,{className:`py-px leading-[18px] hover:bg-surface-2 cursor-pointer`,style:{paddingLeft:o},onClick:()=>s&&a(!i),children:[(0,A.jsx)(`span`,{className:`text-text-dim w-3 shrink-0 inline-block text-center select-none`,children:s?i?`▾`:`▸`:` `}),(0,A.jsx)(`span`,{className:`text-text-dim italic`,children:`#shadow-root`})]}),i&&e.children.map((e,i)=>(0,A.jsx)(no,{node:e,depth:t+1,inspectedSid:n,onInspect:r},i))]})}function $a({node:e,indent:t,attrEntries:n,isInspected:r,onMouseEnter:i,inlineText:a}){return(0,A.jsxs)(`div`,{className:`py-px leading-[18px] hover:bg-surface-2${r?` bg-surface-2`:``}`,style:{paddingLeft:t},onMouseEnter:i,"data-wxml-sid":e.sid,children:[(0,A.jsx)(`span`,{className:`w-3 inline-block`}),(0,A.jsxs)(`span`,{className:`text-code-keyword`,children:[`<`,e.tagName]}),(0,A.jsx)(Ya,{entries:n}),(0,A.jsx)(`span`,{className:`text-code-keyword`,children:`>`}),(0,A.jsx)(`span`,{className:`text-text`,children:a}),(0,A.jsxs)(`span`,{className:`text-code-keyword`,children:[`</`,e.tagName,`>`]})]})}function eo({node:e,depth:t,indent:n,attrEntries:r,hasChildren:i,expanded:a,isInspected:o,inspectedSid:s,onInspect:c,onToggle:l,onMouseEnter:u}){return(0,A.jsxs)(`div`,{children:[(0,A.jsxs)(`div`,{className:`flex items-start hover:bg-surface-2 py-px leading-[18px]${i?` cursor-pointer`:``}${o?` bg-surface-2`:``}`,style:{paddingLeft:n},onMouseEnter:u,onClick:()=>{i&&l()},"data-wxml-sid":e.sid,children:[(0,A.jsx)(`span`,{className:`text-text-dim w-3 shrink-0 text-center select-none`,children:i?a?`▾`:`▸`:` `}),(0,A.jsxs)(`span`,{children:[(0,A.jsxs)(`span`,{className:`text-code-keyword`,children:[`<`,e.tagName]}),(0,A.jsx)(Ya,{entries:r}),(0,A.jsx)(`span`,{className:`text-code-keyword`,children:i?`>`:` />`})]})]}),a&&i&&(0,A.jsxs)(A.Fragment,{children:[e.children.map((e,n)=>(0,A.jsx)(no,{node:e,depth:t+1,inspectedSid:s,onInspect:c},n)),(0,A.jsxs)(`div`,{style:{paddingLeft:n},className:`py-px leading-[18px]`,children:[(0,A.jsx)(`span`,{className:`w-3 inline-block`}),(0,A.jsxs)(`span`,{className:`text-code-keyword`,children:[`</`,e.tagName,`>`]})]})]})]})}function to({node:e,depth:t,inspectedSid:n,onInspect:r}){let[i,a]=(0,k.useState)(()=>Ja(e,t)),o=t*16,s=!!(e.sid&&e.sid===n),c=(e.children??[]).length>0,l=Object.entries(e.attrs),u=()=>{e.sid&&r?.(e)},d=c&&e.children.length===1&&e.children[0].tagName===`#text`?e.children[0].text:null;return d?(0,A.jsx)($a,{node:e,indent:o,attrEntries:l,isInspected:s,onMouseEnter:u,inlineText:d}):(0,A.jsx)(eo,{node:e,depth:t,indent:o,attrEntries:l,hasChildren:c,expanded:i,isInspected:s,inspectedSid:n,onInspect:r,onToggle:()=>a(!i),onMouseEnter:u})}function no({node:e,depth:t,inspectedSid:n,onInspect:r}){return e.tagName===`#text`?(0,A.jsx)(Xa,{node:e,depth:t}):e.tagName===`#fragment`?(0,A.jsx)(Za,{node:e,depth:t,inspectedSid:n,onInspect:r}):e.tagName===`#shadow-root`?(0,A.jsx)(Qa,{node:e,depth:t,inspectedSid:n,onInspect:r}):(0,A.jsx)(to,{node:e,depth:t,inspectedSid:n,onInspect:r})}function ro({inspection:e}){if(!e)return null;let{rect:t,style:n}=e,r=[n.display,n.position===`static`?null:n.position,n.boxSizing].filter(Boolean);return(0,A.jsxs)(`div`,{className:`border-t border-border-subtle bg-bg-panel px-2.5 py-1.5 font-mono text-[11px] text-text-dim shrink-0`,children:[(0,A.jsx)(`span`,{className:`text-text`,children:`box`}),` `,Math.round(t.width),` x `,Math.round(t.height),` @ `,Math.round(t.x),`, `,Math.round(t.y),(0,A.jsx)(`span`,{className:`mx-2 text-border-subtle`,children:`|`}),r.join(` / `),(0,A.jsx)(`span`,{className:`mx-2 text-border-subtle`,children:`|`}),`font `,n.fontSize]})}function io({tree:e,onInspectElement:t,onClearInspection:n,isRuntimeRunning:r=!0}){let[i,a]=(0,k.useState)(null),o=(0,k.useRef)(0),s=(0,k.useRef)(null);(0,k.useEffect)(()=>()=>{s.current!==null&&cancelAnimationFrame(s.current)},[]);let c=(0,k.useCallback)(e=>{if(!e.sid||!t)return;let n=e.sid;s.current!==null&&cancelAnimationFrame(s.current),s.current=requestAnimationFrame(()=>{s.current=null;let e=++o.current;t(n).then(t=>{e===o.current&&a(t)}).catch(()=>{e===o.current&&a(null)})})},[t]),l=(0,k.useCallback)(()=>{s.current!==null&&(cancelAnimationFrame(s.current),s.current=null),o.current++,a(null),n?.()},[n]);return e?(0,A.jsxs)(`div`,{className:`flex flex-col flex-1 overflow-hidden`,onMouseLeave:l,"data-testid":`wxml-panel`,children:[(0,A.jsx)(`div`,{className:`flex-1 overflow-y-auto p-2 font-mono text-[12px]`,children:(0,A.jsx)(no,{node:e,depth:0,inspectedSid:i?.sid??null,onInspect:c})}),(0,A.jsx)(ro,{inspection:i})]}):(0,A.jsx)(`div`,{className:`flex flex-col flex-1 overflow-hidden`,"data-testid":`wxml-panel`,children:(0,A.jsx)(`div`,{className:`text-[12px] text-text-dim text-center px-4 py-6`,children:r?`等待小程序加载...`:`小程序未运行`})})}function ao(e){let{source:t,enabled:n,active:r}=e,i=(0,k.useRef)({subscribe:e.subscribe,seed:e.seed});(0,k.useEffect)(()=>{i.current={subscribe:e.subscribe,seed:e.seed}}),(0,k.useEffect)(()=>{if(!n)return;let e=i.current.subscribe(t);return()=>{e(),t.setActive(!1)}},[t,n]),(0,k.useEffect)(()=>{n&&t.setActive(r)},[t,n,r]);let a=(0,k.useRef)({source:null,on:!1});(0,k.useEffect)(()=>{let e=n&&r,o=a.current,s=e&&(!o.on||o.source!==t);if(a.current={source:t,on:e},!s)return;let c=!1;return i.current.seed(t,()=>c),()=>{c=!0}},[t,n,r])}function oo({source:e,active:t=!0,enabled:n=!0,isRuntimeRunning:r=!0}){let[i,a]=(0,k.useState)(null);return ao({source:e,enabled:n,active:t,subscribe:e=>e.subscribe(a),seed:(e,t)=>{e.getSnapshot().then(e=>{t()||a(e)})}}),(0,A.jsx)(io,{tree:i,onInspectElement:t=>e.inspect(t),onClearInspection:async()=>{await e.clearInspection()},isRuntimeRunning:r})}var so=`inline-flex items-center justify-center gap-1.5 font-medium transition-colors focus:outline-none disabled:opacity-35 disabled:cursor-not-allowed whitespace-nowrap shrink-0 border border-border text-text-muted hover:text-text rounded h-5 px-2 text-[11px]`;function co({items:e,onSet:t,onRemove:n,onClear:r,onClearAll:i,getPrefix:a,isRuntimeRunning:o=!0}){let[s,c]=(0,k.useState)(null),[l,u]=(0,k.useState)(null),[d,f]=(0,k.useState)(!1),[p,m]=(0,k.useState)(``),[h,g]=(0,k.useState)(``),[_,v]=(0,k.useState)(``);(0,k.useEffect)(()=>{let e=!1,t,n=()=>{a().then(r=>{if(!e){if(r){m(r);return}t=setTimeout(n,300)}})};return n(),()=>{e=!0,t&&clearTimeout(t)}},[a]);async function y(e){f(!0),u(null);try{let t=await e();return t.ok?t:(u(t.error),null)}finally{f(!1)}}function b(e){c({key:e.key,draft:e.value})}async function x(){if(!s)return;let{key:e,draft:n}=s;c(null),await y(()=>t(e,n))}async function S(e){await y(()=>n(e))}async function C(){e.length!==0&&await y(()=>r())}async function w(){i&&(typeof window<`u`&&!window.confirm(`清空所有 appId 的 Storage 数据?该操作不可撤销。`)||await y(()=>i()))}async function T(){let e=h.trim();if(!e){u(`key 不能为空`);return}let n=p+e;await y(()=>t(n,_))&&(g(``),v(``))}return(0,A.jsxs)(`div`,{className:`flex flex-col overflow-hidden flex-1`,"data-testid":`storage-panel`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-1.5 px-2.5 py-1.5 border-b border-border-subtle shrink-0 bg-bg-panel`,children:[(0,A.jsx)(`button`,{type:`button`,onClick:()=>void C(),disabled:d||e.length===0,className:`${so} hover:border-status-error hover:text-status-error`,title:`仅清空当前 appId 的 Storage`,children:`清空`}),i&&(0,A.jsx)(`button`,{type:`button`,onClick:()=>void w(),disabled:d,className:`${so} hover:border-status-error hover:text-status-error`,title:`清空所有 appId 的 Storage`,children:`清空所有`}),l&&(0,A.jsx)(`span`,{className:`ml-2 text-[11px] text-status-error truncate`,title:l,children:l})]}),(0,A.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,A.jsxs)(`table`,{className:`w-full border-collapse text-[12px]`,children:[(0,A.jsx)(`thead`,{children:(0,A.jsxs)(`tr`,{children:[(0,A.jsx)(`th`,{className:`text-left text-code-label font-normal px-2.5 py-1 border-b border-border-subtle text-[11px] sticky top-0 bg-bg-panel z-10 w-px pr-5`,children:`Key`}),(0,A.jsx)(`th`,{className:`text-left text-code-label font-normal px-2.5 py-1 border-b border-border-subtle text-[11px] sticky top-0 bg-bg-panel z-10`,children:`Value`}),(0,A.jsx)(`th`,{className:`w-px sticky top-0 bg-bg-panel z-10 border-b border-border-subtle`})]})}),(0,A.jsx)(`tbody`,{children:e.length===0?(0,A.jsx)(`tr`,{children:(0,A.jsx)(`td`,{colSpan:3,className:`text-[12px] text-text-dim text-center px-4 py-6`,children:o?`暂无 Storage 数据`:`小程序未运行`})}):e.map(e=>{let t=s?.key===e.key,n=p&&e.key.startsWith(p)?e.key.slice(p.length):e.key;return(0,A.jsxs)(`tr`,{className:`hover:[&>td]:bg-surface`,children:[(0,A.jsx)(`td`,{className:`px-2.5 py-0.5 border-b border-border-subtle w-px pr-5 align-top`,children:(0,A.jsx)(`div`,{className:`font-mono text-code-blue max-w-[240px] truncate`,title:e.key,children:n})}),(0,A.jsx)(`td`,{className:`px-2.5 py-0.5 border-b border-border-subtle font-mono text-code-orange break-all align-top cursor-text`,onClick:()=>{t||b(e)},children:t?(0,A.jsx)(`input`,{autoFocus:!0,type:`text`,value:s.draft,onChange:t=>c({key:e.key,draft:t.target.value}),onBlur:()=>void x(),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),x()):e.key===`Escape`&&(e.preventDefault(),c(null))},className:`w-full bg-transparent outline-none border border-accent/60 rounded px-1 py-0 font-mono text-code-orange`}):e.value}),(0,A.jsx)(`td`,{className:`px-1 py-0.5 border-b border-border-subtle align-top`,children:(0,A.jsx)(`button`,{type:`button`,onClick:()=>void S(e.key),disabled:d,title:`删除`,className:`text-text-dim hover:text-status-error px-1 leading-none`,children:`×`})})]},e.key)})})]})}),(0,A.jsxs)(`div`,{className:`flex items-center gap-1.5 px-2.5 py-1.5 border-t border-border-subtle shrink-0 bg-bg-panel`,children:[(0,A.jsx)(`input`,{type:`text`,placeholder:`key`,value:h,onChange:e=>g(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),T())},className:`w-32 bg-transparent border border-border-subtle rounded px-1.5 py-0.5 text-[12px] font-mono outline-none focus:border-accent`}),(0,A.jsx)(`input`,{type:`text`,placeholder:`value`,value:_,onChange:e=>v(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),T())},className:`flex-1 bg-transparent border border-border-subtle rounded px-1.5 py-0.5 text-[12px] font-mono outline-none focus:border-accent`}),(0,A.jsx)(`button`,{type:`button`,onClick:()=>void T(),disabled:d||!h.trim(),className:`${so} hover:border-accent hover:text-accent`,children:`+ 新增`})]})]})}function lo(e,t){switch(t.type){case`added`:case`updated`:{let n=e.findIndex(e=>e.key===t.key);if(n<0)return[...e,{key:t.key,value:t.newValue}];let r=[...e];return r[n]={key:t.key,value:t.newValue},r}case`removed`:return e.filter(e=>e.key!==t.key);case`cleared`:return[]}}function uo({source:e,active:t=!0,enabled:n=!0,isRuntimeRunning:r=!0}){let[i,a]=(0,k.useState)([]);ao({source:e,enabled:n,active:t,subscribe:e=>e.subscribe(e=>{a(t=>lo(t,e))}),seed:(e,t)=>{e.getSnapshot().then(e=>{t()||a(e)})}});let o=e.clearAll?.bind(e);return(0,A.jsx)(co,{items:i,onSet:(t,n)=>e.setItem(t,n),onRemove:t=>e.removeItem(t),onClear:()=>e.clear(),onClearAll:o,getPrefix:()=>e.getPrefix(),isRuntimeRunning:r})}function fo(e,t){return typeof t==`number`?`${e}[${t}]`:e===``?t:`${e}.${t}`}function po(e){return typeof e==`object`&&!!e}function mo(e){return Array.isArray(e)?e.map((e,t)=>[t,e]):Object.keys(e).sort().map(t=>[t,e[t]])}function ho(e){return Array.isArray(e)?`[${e.length}]`:`{${Object.keys(e).length}}`}var go=``;function _o(e,t){let n=e.overrides.get(t);return n===void 0?e.baseline===`expanded`?!0:e.baseline===`collapsed`?!1:t===go:n}function vo({path:e,value:t,editable:n,ctx:r}){if(typeof t==`boolean`)return(0,A.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-code-keyword`,children:[n&&(0,A.jsx)(`input`,{type:`checkbox`,checked:t,onChange:()=>r.onCommit?.(e,!t,t),className:`accent-accent`}),String(t)]});if(t==null)return(0,A.jsx)(`span`,{className:`text-code-keyword`,children:String(t)});if(r.state.editingPath===e){let n=()=>{let n=t;if(typeof n==`number`){let t=r.state.draft.trim(),i=Number(t);if(r.endEdit(),t===``||!Number.isFinite(i))return;r.onCommit?.(e,i,n);return}let i=r.state.draft;r.endEdit(),r.onCommit?.(e,i,n)};return(0,A.jsx)(`input`,{type:`text`,autoFocus:!0,value:r.state.draft,onChange:e=>r.setDraft(e.target.value),onKeyDown:e=>{e.key===`Enter`?n():e.key===`Escape`&&r.endEdit()},onBlur:n,className:`bg-surface-3 border border-accent rounded px-1 text-[12px] font-mono min-w-0 w-40`})}return(0,A.jsx)(`span`,{"data-testid":`appdata-value`,className:typeof t==`string`?`text-code-orange`:void 0,style:typeof t==`number`?{color:`var(--color-code-number)`}:void 0,onDoubleClick:n?()=>r.beginEdit(e,String(t)):void 0,children:String(t)})}function yo(e){return typeof e==`string`&&(e===``||/[.[\]]/.test(e))}function bo({path:e,label:t,value:n,depth:r,unsafeSegments:i,ctx:a}){let o={paddingLeft:r*14};if(po(n)){let s=_o(a.state,e);return(0,A.jsxs)(`div`,{children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-px cursor-pointer hover:bg-surface-3 text-[12px] font-mono`,style:o,onClick:()=>a.toggle(e,n),children:[(0,A.jsx)(`span`,{className:`text-text-secondary w-3 shrink-0 text-center select-none`,children:s?`▾`:`▸`}),(0,A.jsx)(`span`,{className:`text-code-blue`,children:t}),(0,A.jsx)(`span`,{className:`text-text-secondary`,children:ho(n)})]}),s&&mo(n).map(([t,n])=>(0,A.jsx)(bo,{path:fo(e,t),label:String(t),value:n,depth:r+1,unsafeSegments:i||yo(t),ctx:a},String(t)))]})}let s=typeof n==`string`||typeof n==`number`||typeof n==`boolean`,c=r>1&&i||t===`__proto__`,l=s&&a.onCommit!==void 0&&!c;return(0,A.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-px text-[12px] font-mono`,style:o,...l?{"data-path":e}:{},children:[(0,A.jsx)(`span`,{className:`w-3 shrink-0`}),(0,A.jsx)(`span`,{className:`text-code-blue`,children:t}),(0,A.jsx)(`span`,{className:`text-text-secondary`,children:`:`}),(0,A.jsx)(vo,{path:e,value:n,editable:l,ctx:a})]})}function xo({root:e,bridgeId:t,command:n,onCommit:r}){let[i,a]=(0,k.useState)(`default`),[o,s]=(0,k.useState)(new Map),[c,l]=(0,k.useState)(0),[u,d]=(0,k.useState)(null),[f,p]=(0,k.useState)(``);n&&n.bridgeId===t&&n.seq!==c&&(a(n.mode),s(new Map),l(n.seq));let m={baseline:i,overrides:o,editingPath:u,draft:f};return(0,A.jsx)(`div`,{"data-testid":`appdata-tree`,className:`py-1`,children:(0,A.jsx)(bo,{path:go,label:`object`,value:e,depth:0,unsafeSegments:!1,ctx:{state:m,toggle:(e,t)=>{let n=new Map(o),r=!_o(m,e);n.set(e,r),r&&Array.isArray(t)&&t.forEach((t,r)=>{po(t)&&n.set(fo(e,r),!0)}),s(n)},beginEdit:(e,t)=>{d(e),p(t)},setDraft:p,endEdit:()=>d(null),onCommit:r}})})}function So(e){return e.pagePath??e.id}function Co(e){return e!=null&&(typeof e==`object`||typeof e==`function`)&&typeof e.then==`function`}function wo(e){let t={};for(let n of Object.keys(e)){let r=e[n];if(!(!r||typeof r!=`object`))for(let e of Object.keys(r))Object.defineProperty(t,e,{value:r[e],enumerable:!0,writable:!0,configurable:!0})}return t}function To({title:e,disabled:t,onClick:n,children:r}){return(0,A.jsx)(`button`,{title:e,disabled:t,onClick:n,className:`px-1.5 py-0.5 text-[12px] rounded text-text-secondary hover:bg-surface-3 hover:text-text-primary disabled:opacity-40 disabled:hover:bg-transparent`,children:r})}function Eo({state:e,onSelectBridge:t,isRuntimeRunning:n=!0,onSetData:r}){let{bridges:i,activeBridgeId:a,entries:o}=e,[s,c]=(0,k.useState)(null),[l,u]=(0,k.useState)([]),[d,f]=(0,k.useState)([]),p=(0,k.useRef)(!1),[m,h]=(0,k.useState)(!1),g=n?`暂无页面数据(仅显示 Page 级 data)`:`小程序未运行`,_=e=>{a&&c({seq:(s?.seq??0)+1,mode:e,bridgeId:a})},v=(e,t,n)=>{let i;try{i=r?.(e,t)}catch{n(!1);return}if(Co(i)){Promise.resolve(i).then(e=>e!==!1,()=>!1).then(n);return}n(i!==!1)},y=(e,t,n)=>{p.current||(p.current=!0,h(!0),v(e,t,e=>{p.current=!1,h(!1),n(e)}))},b=e=>(t,n,r)=>{y(e,{[t]:n},i=>{i&&(u(i=>[...i,{bridgeId:e,path:t,before:r,after:n}]),f([]))})},x=e=>i.some(t=>t.id===e),S=(e,t,n)=>{y(e.bridgeId,{[e.path]:t},t=>{t&&n(e)})};return i.length===0?(0,A.jsx)(`div`,{className:`flex flex-col overflow-hidden flex-1`,"data-testid":`appdata-panel`,children:(0,A.jsx)(`div`,{className:`text-[12px] text-text-dim text-center px-4 py-6`,children:g})}):(0,A.jsxs)(`div`,{className:`flex overflow-hidden flex-1`,"data-testid":`appdata-panel`,children:[(0,A.jsxs)(`div`,{"data-testid":`appdata-pages`,className:`w-40 shrink-0 border-r border-border-subtle bg-bg-panel flex flex-col overflow-hidden`,children:[(0,A.jsx)(`div`,{className:`px-2 py-1 text-[11px] text-text-secondary border-b border-border-subtle shrink-0`,children:`Pages`}),(0,A.jsx)(`div`,{className:`flex-1 overflow-y-auto`,role:`listbox`,children:i.map(e=>{let n=e.id===a;return(0,A.jsx)(`button`,{"data-testid":`appdata-page-item`,role:`option`,"aria-selected":n,title:e.id,onClick:()=>t(e.id),className:`block w-full text-left px-2 py-1 text-[11px] truncate `+(n?`bg-accent/20 text-accent`:`text-text-dim hover:bg-surface-3`),children:So(e)},e.id)})})]}),(0,A.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden`,children:[(0,A.jsxs)(`div`,{"data-testid":`appdata-toolbar`,className:`flex items-center gap-1 px-2 py-0.5 border-b border-border-subtle shrink-0 bg-bg-panel`,children:[(0,A.jsx)(To,{title:`全部展开`,onClick:()=>_(`expanded`),children:`⊕`}),(0,A.jsx)(To,{title:`全部收起`,onClick:()=>_(`collapsed`),children:`⊖`}),(0,A.jsx)(To,{title:`撤销`,disabled:l.length===0||m,onClick:()=>{let e=l.at(-1);if(e){if(!x(e.bridgeId)){u(t=>t.filter(t=>t!==e));return}S(e,e.before,e=>{u(t=>t.filter(t=>t!==e)),f(t=>[...t,e])})}},children:`↶`}),(0,A.jsx)(To,{title:`重做`,disabled:d.length===0||m,onClick:()=>{let e=d.at(-1);if(e){if(!x(e.bridgeId)){f(t=>t.filter(t=>t!==e));return}S(e,e.after,e=>{f(t=>t.filter(t=>t!==e)),u(t=>[...t,e])})}},children:`↷`})]}),(0,A.jsx)(`div`,{className:`flex-1 overflow-hidden relative`,children:i.map(e=>{let t=e.id===a,n=o[e.id]??{},i=Object.keys(n).length>0;return(0,A.jsx)(`div`,{"data-bridge-id":e.id,className:`absolute inset-0 flex-col overflow-y-auto`,style:{display:t?`flex`:`none`},children:i?(0,A.jsx)(xo,{root:wo(n),bridgeId:e.id,command:s,onCommit:r?b(e.id):void 0}):(0,A.jsx)(`div`,{className:`text-[12px] text-text-dim text-center px-4 py-6`,children:g})},e.id)})})]})]})}function Do(e){return(e??``).replace(/^\/+/,``)}function Oo(e,t=``){let n=e.map(e=>e.id),r=n.join(`\0`),[i,a]=(0,k.useState)(null),[o,s]=(0,k.useState)(``),[c,l]=(0,k.useState)(t);if(r!==o){let e=o?o.split(`\0`):[];n.some(t=>!e.includes(t))&&a(null),s(r)}t!==c&&(a(null),l(t));let u=t?e.find(e=>Do(e.pagePath)===Do(t))?.id??null:null;return{activeBridgeId:i&&n.includes(i)?i:u??n.at(-1)??null,setActiveBridge:e=>{n.includes(e)&&a(e)}}}var ko={bridges:[],entries:{}};function Ao({source:e,active:t=!0,enabled:n=!0,isRuntimeRunning:r=!0,activePagePath:i=``}){let[a,o]=(0,k.useState)(ko);ao({source:e,enabled:n,active:t,subscribe:e=>e.subscribe(e=>{o(e)}),seed:(e,t)=>{e.getSnapshot().then(e=>{t()||o(e)})}});let{activeBridgeId:s,setActiveBridge:c}=Oo(a.bridges,i),l=e.setData?.bind(e),u=l?(e,t)=>l(e,t):void 0;return(0,A.jsx)(Eo,{state:{bridges:a.bridges,activeBridgeId:s,entries:a.entries},onSelectBridge:c,isRuntimeRunning:r,onSetData:u})}function jo(...e){return e.filter(Boolean).join(` `)}function Mo(e){let t=new Date(e);return[t.getHours(),t.getMinutes(),t.getSeconds()].map(e=>String(e).padStart(2,`0`)).join(`:`)}function No(e){return e===`error`?`text-red-500`:e===`compiling`?`text-amber-500`:e===`ready`?`text-emerald-600`:`text-text-muted`}function Po(e){return e.kind===`event`?e.event.message:e.log.text}function Fo({events:e,logs:t=[],onClear:n}){let r=e.length>0?e[e.length-1]:null,[i,a]=(0,k.useState)(``),o=(0,k.useRef)(null),s=(0,k.useRef)(null),c=(0,k.useRef)(!0);(0,k.useEffect)(()=>{let e=o.current;if(!e)return;let t=()=>{let{scrollTop:t,scrollHeight:n,clientHeight:r}=e;c.current=n-t-r<30};return e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)},[]),(0,k.useEffect)(()=>{c.current&&s.current?.scrollIntoView?.({behavior:`auto`})},[e.length+t.length]);let l=(0,k.useMemo)(()=>{let n=[];e.forEach((t,r)=>{let i=r>0?e[r-1]:null,a=t.status===`ready`&&i?.status===`compiling`?t.at-i.at:null;n.push({kind:`event`,at:t.at,seq:t.seq,event:t,durationMs:a})});for(let e of t)n.push({kind:`log`,at:e.at,seq:e.seq,log:e});return n.sort((e,t)=>e.at===t.at?e.seq!==void 0&&t.seq!==void 0?e.seq-t.seq:0:e.at-t.at)},[e,t]),u=(0,k.useMemo)(()=>{if(!i)return l;let e=i.toLowerCase();return l.filter(t=>Po(t).toLowerCase().includes(e))},[l,i]),d=e.length===0&&t.length===0;return(0,A.jsxs)(`div`,{className:`flex flex-col h-full w-full min-h-0 text-[12px]`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2 px-2 h-8 shrink-0 border-b border-border-subtle`,children:[r?(0,A.jsx)(`span`,{"data-compile-current":!0,"data-status":r.status,className:jo(`truncate font-medium shrink-0`,No(r.status)),children:r.message}):(0,A.jsx)(`span`,{className:`text-text-muted shrink-0`,children:`编译信息`}),(0,A.jsx)(`div`,{className:`flex-1 min-w-0`}),(0,A.jsx)(`input`,{type:`text`,value:i,onChange:e=>a(e.target.value),placeholder:`过滤...`,className:`h-6 px-2 text-[12px] rounded-sm border border-border-subtle bg-surface
|
|
2
|
-
text-text placeholder:text-text-dim
|
|
3
|
-
focus:outline-none focus:border-text-muted
|
|
4
|
-
w-40 shrink-0`}),i&&(0,A.jsxs)(`span`,{className:`text-[11px] text-text-muted tabular-nums shrink-0`,children:[u.length,`/`,l.length]}),(0,A.jsx)(`button`,{type:`button`,onClick:n,className:`px-2 h-6 rounded-sm text-text-muted hover:text-text hover:bg-surface-2 transition-colors shrink-0`,children:`清空`})]}),(0,A.jsx)(`div`,{ref:o,className:`flex-1 min-h-0 overflow-auto`,children:d?(0,A.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-muted`,children:`暂无编译信息`}):u.length===0?(0,A.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-muted`,children:`无匹配日志`}):(0,A.jsxs)(`ul`,{className:`px-2 py-1 space-y-0.5`,children:[u.map((e,t)=>e.kind===`event`?(0,A.jsxs)(`li`,{"data-compile-row":!0,"data-status":e.event.status,className:`flex items-baseline gap-2 leading-5`,children:[(0,A.jsx)(`span`,{className:`text-text-muted tabular-nums shrink-0`,children:Mo(e.at)}),(0,A.jsx)(`span`,{className:jo(`break-all`,No(e.event.status)),children:e.event.message}),e.event.hotReload===!0&&(0,A.jsx)(`span`,{className:`shrink-0 px-1 rounded-sm bg-surface-2 text-text-muted`,children:`已重启`}),e.durationMs!==null&&(0,A.jsxs)(`span`,{"data-compile-duration":!0,className:`shrink-0 text-text-muted tabular-nums`,children:[(e.durationMs/1e3).toFixed(1),`s`]})]},`e-${e.at}-${t}`):(0,A.jsxs)(`li`,{"data-compile-log":!0,"data-stream":e.log.stream,className:`flex items-baseline gap-2 leading-5`,children:[(0,A.jsx)(`span`,{className:`text-text-muted tabular-nums shrink-0`,children:Mo(e.at)}),(0,A.jsx)(`span`,{className:jo(`break-all font-mono`,e.log.stream===`stderr`?`text-red-500`:`text-text`),children:e.log.text})]},`l-${e.at}-${t}`)),(0,A.jsx)(`div`,{ref:s})]})})]})}function Io(e){let{tabId:t,wxmlSource:n,wxmlEnabled:r=!0,storageSource:i,storageEnabled:a=!0,appDataSource:o,appDataEnabled:s=!0,activePagePath:c,tabActive:l=!0,compileEvents:u=[],compileLogs:d=[],onClearCompileEvents:f,isRuntimeRunning:p=!0}=e;switch(t){case`wxml`:return(0,A.jsx)(oo,{source:n,enabled:r,active:l,isRuntimeRunning:p});case`appdata`:return(0,A.jsx)(Ao,{source:o,enabled:s,active:l,isRuntimeRunning:p,activePagePath:c});case`storage`:return(0,A.jsx)(uo,{source:i,enabled:a,active:l,isRuntimeRunning:p});case`compile`:return(0,A.jsx)(Fo,{events:u,logs:d,onClear:f??(()=>{})})}}var Lo=new Set([`simulator`,`editor`,`wxml`,`appdata`,`storage`,`console`,`compile`]);function Ro({project:e}){let t=(0,k.useRef)(null),[n,r]=(0,k.useState)(!1),{session:i,device:a,simulator:o,panelData:s,rightPane:c,popover:l}=Xt({projectPath:e.path}),u=tn(),{state:d}=u,[f]=(0,k.useState)(()=>ar(d.dockTree??null,a.simPanelWidth,Lo)),p=(0,k.useMemo)(()=>Qn(),[]),m=Ze(),h=Qe(0,pe,ue),g=xt({present:h>0,publish:e=>{let t=h>0&&e.width>0&&e.height>0;m.set({viewId:j.hostToolbar,placement:t?{visible:!0,bounds:e}:{visible:!1},layer:St.hostToolbar})},deps:[h,m]});(0,k.useEffect)(()=>{let t=`Dimina DevTools`;return document.title=`${e.name} - ${t}`,Re().then(n=>{n?.appName&&(t=n.appName,document.title=`${e.name} - ${t}`)}).catch(()=>{}),()=>{document.title=t}},[e.name]),(0,k.useEffect)(()=>()=>{t.current!==null&&window.clearTimeout(t.current)},[]);async function _(){if(o.currentRoute)try{await navigator.clipboard.writeText(o.currentRoute),r(!0),t.current!==null&&window.clearTimeout(t.current),t.current=window.setTimeout(()=>r(!1),Pe)}catch{r(!1)}}let v={rightPane:c.rightPane,onSelectTab:c.selectRightPane,wxmlSource:s.wxmlSource,wxmlEnabled:s.wxmlEnabled,storageSource:s.storageSource,storageEnabled:s.storageEnabled,appDataSource:s.appDataSource,appDataEnabled:s.appDataEnabled,activePagePath:o.currentPage,compileEvents:i.compileEvents,compileLogs:i.compileLogs,onClearCompileEvents:i.clearCompileEvents,isRuntimeRunning:i.runtimeStatus?.phase===`running`};return(0,A.jsx)(Ve.Provider,{value:m,children:(0,A.jsxs)(`div`,{className:`flex flex-col h-screen`,children:[(0,A.jsx)(`div`,{ref:g,style:{height:h},className:`shrink-0 w-full`,"data-area":`host-toolbar`}),(0,A.jsx)(Tr,{compileDropdownRef:l.compileDropdownRef,showCompilePanel:l.showCompilePanel,onToggleCompilePanel:l.toggleCompilePanel,onRelaunch:()=>i.relaunch(),compileStatus:i.compileStatus,dockModel:f,dockRegistry:p,layout:u,simPanelWidth:a.simPanelWidth}),(0,A.jsx)(`div`,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,A.jsx)(Uo,{dockModel:f,dockRegistry:p,simPanelWidth:a.simPanelWidth,renderDomPanel:(e,t)=>e===`simulator`?(0,A.jsx)(Ka,{device:a.device,zoom:a.zoom,onDeviceChange:a.handleDeviceChange,onZoomChange:a.handleZoomChange,compileStatus:i.compileStatus,currentPage:o.currentRoute,copied:n,onCopyPagePath:_,runtimeStatus:i.runtimeStatus,watcherDead:i.watcherDead,onRelaunch:()=>i.relaunch(),onOpenInternalDevtools:()=>{ze()}}):e===`editor`?(0,A.jsx)(qa,{}):e===`wxml`||e===`appdata`||e===`storage`||e===`compile`?(0,A.jsx)(Ho,{tabId:e,active:t.active,panelProps:v}):null,onPersistTree:u.setDockTree,persistedTree:d.dockTree??null})})]})})}function zo(e){return e.kind===`tabs`?e.panels.includes(`simulator`):e.children.some(zo)}function Bo(e,t){function n(e){if(e.kind===`tabs`)return null;if(e.id===t.splitId)return(e.constraints?.[t.childIndex]??null)?.minPx??null;for(let t of e.children){let e=n(t);if(e!==null)return e}return null}return n(e)}function Vo(e){if(e.kind===`tabs`)return null;for(let t=0;t<e.children.length;t++){let n=e.children[t];if((e.constraints?.[t]??null)!==null&&zo(n))return{splitId:e.id,childIndex:t};let r=Vo(n);if(r)return r}return null}function Ho({tabId:e,active:t,panelProps:n}){return(0,A.jsx)(Io,{tabId:e,...n,tabActive:t})}function Uo(e){let{dockModel:t,dockRegistry:n,simPanelWidth:r,renderDomPanel:i,onPersistTree:a,persistedTree:o}=e,s=(0,k.useRef)(null),c=He(),l=(0,k.useCallback)(e=>{c?.set({viewId:j.simulatorDevtools,placement:e,layer:St.base})},[c]),u=(0,k.useCallback)((e,t,n)=>{if(e.current){t?(e.current.dispose(),e.current=bt(t,{visible:!0,guardDisplayNone:!0,followScroll:!0,followGeometry:!0,publish:n})):(e.current.update({visible:!1,publish:n}),e.current.dispose(),e.current=null);return}t&&(e.current=bt(t,{visible:!0,guardDisplayNone:!0,followScroll:!0,followGeometry:!0,publish:n}))},[]),d=(0,k.useCallback)((e,t)=>{e===`console`&&u(s,t,l)},[u,l]);return(0,k.useEffect)(()=>{let e=t.get().root,n=Vo(e);n&&Bo(e,n)!==r&&t.apply(e=>{let t=Vo(e.root);return!t||Bo(e.root,t)===r?e:zn(e,t.splitId,t.childIndex,{minPx:r})})},[t,r]),(0,k.useEffect)(()=>()=>{s.current?.dispose(),s.current=null,c?.remove(j.simulatorDevtools)},[c]),(0,k.useEffect)(()=>t.subscribe(e=>{a(fn(e.tree))}),[t,a]),(0,k.useEffect)(()=>{let e=fn(t.get());e!==o&&a(e)},[]),(0,A.jsx)(La,{model:t,registry:n,renderDomPanel:i,bindNativeSlot:d,onActiveTabClick:(0,k.useCallback)(e=>{e===`simulator`||e===`editor`||t.apply(t=>Xn(t,e,n))},[t,n])})}var Wo=`Dimina DevTools`;function Go(){let[e,t]=(0,k.useState)(`list`),[n,r]=(0,k.useState)(null),[i,a]=(0,k.useState)([]),[o,s]=(0,k.useState)({}),[c,l]=(0,k.useState)(Wo);async function u(){a(await b())}(0,k.useEffect)(()=>{u(),Re().then(e=>{e?.appName&&(l(e.appName),document.title=e.appName)}).catch(()=>{})},[]),(0,k.useEffect)(()=>{i.length!==0&&Promise.all(i.map(e=>m(e.path).then(t=>[e.path,t]))).then(e=>s(Object.fromEntries(e)))},[i]),(0,k.useEffect)(()=>{_e(e===`project`?`project`:`list`)},[e]),(0,k.useEffect)(()=>de(()=>{document.title=c,t(`list`),r(null),b().then(a)}),[c]),(0,k.useEffect)(()=>Te(e=>{r({name:e.name,path:e.path}),t(`project`)}),[]),(0,k.useEffect)(()=>le(h),[]);async function d(){let e=await T();if(!e)return;let t;try{t=await ee(e)}catch{return}await u(),_(t)}async function p(){let e;try{e=await x()}catch{e=null}if(e&&`ready`in e){await u(),_(e.ready);return}if(e){let t;try{t=await y(e)}catch{return}await u(),_(t);return}let[t,n]=await Promise.allSettled([te(),C()]);ie({templates:t.status===`fulfilled`?t.value:[],defaultBaseDir:n.status===`fulfilled`?n.value.baseDir:``})}async function h(e){let t;try{t=await y(e)}catch{return}await u(),_(t)}async function g(e){await f(e.path),await u()}function _(e){r(e),t(`project`)}return e===`list`?(0,A.jsx)(Ct,{projects:i,onAdd:d,onCreate:p,onOpen:_,onRemove:g,thumbnails:o}):(0,A.jsx)(Ro,{project:n},n?.path)}function Ko(e){console.error(`[devtools] fatal: could not allocate a placement-generation seed before first render`,e);let t=document.getElementById(`root`);t&&(t.textContent=`Dimina DevTools failed to start. Please restart the app.`)}Ye().then(()=>{Be.createRoot(document.getElementById(`root`)).render((0,A.jsx)(Go,{}))}).catch(Ko);
|
|
5
|
-
//# sourceMappingURL=index-zErhG3ta.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e={AttachNative:`simulator:attach-native`,SetDeviceInfo:`simulator:set-device-info`,SoftReload:`simulator:soft-reload`,Detach:`simulator:detach`,Console:`simulator:console`,CurrentPage:`simulator:current-page`},t={GetSnapshot:`simulator:storage:snapshot`,GetActivePrefix:`simulator:storage:activePrefix`,Set:`simulator:storage:set`,Remove:`simulator:storage:remove`,Clear:`simulator:storage:clear`,ClearAll:`simulator:storage:clearAll`,Event:`simulator:storage:event`},n={Inspect:`simulator:element:inspect`,Clear:`simulator:element:clear`},r={GetSnapshot:`simulator:wxml:snapshot`,Event:`simulator:wxml:event`,SetActive:`simulator:wxml:setActive`},i={GetSnapshot:`simulator:appdata:snapshot`,Event:`simulator:appdata:event`,SetData:`simulator:appdata:set-data`},a={Get:`workbenchSettings:get`,Save:`workbenchSettings:save`,SetTheme:`workbenchSettings:setTheme`,Restart:`workbenchSettings:restart`,GetCdpStatus:`workbenchSettings:getCdpStatus`,GetMcpStatus:`workbenchSettings:getMcpStatus`,Init:`workbenchSettings:init`,ThemeChanged:`workbenchSettings:themeChanged`},o={Open:`project:open`,Close:`project:close`,Rebuild:`project:rebuild`,GetPages:`project:getPages`,GetCompileConfig:`project:getCompileConfig`,SaveCompileConfig:`project:saveCompileConfig`,Status:`project:status`,CompileLog:`project:compileLog`,CaptureThumbnail:`project:captureThumbnail`,GetThumbnail:`project:getThumbnail`},s={RuntimeStatus:`session:runtimeStatus`},c={List:`projects:list`,Add:`projects:add`,Remove:`projects:remove`,ListTemplates:`projects:listTemplates`,OpenCreateDialog:`projects:openCreateDialog`,Create:`projects:create`,GetCreateDefaults:`projects:getCreateDefaults`},l={OpenDirectory:`dialog:openDirectory`},u={NavigateBack:`window:navigateBack`,OpenProject:`window:openProject`,ScreenState:`window:screenState`},d={GetBranding:`app:getBranding`},f={Open:`internal-devtools:open`};function p(){let e=window.devtools?.ipc;if(!e)throw Error(`[devtools] preload bridge missing; check webPreferences.preload`);return e}function m(e,...t){return p().invoke(e,...t).catch(t=>{console.warn(`[ipc] ${e} failed:`,t)})}function h(e,...t){return p().invoke(e,...t)}function g(e,...t){p().send(e,...t)}function _(e,t){return p().on(e,(e,...n)=>{t(...n)})}var v={HostToolbarAdvertiseHeight:`view:host-toolbar:advertise-height`,HostToolbarPort:`view:host-toolbar:port`,HostToolbarHeightChanged:`view:host-toolbar:height-changed`,HostToolbarGetHeight:`view:host-toolbar:get-height`,HostSidebarAdvertiseWidth:`view:host-sidebar:advertise-width`,HostSidebarPort:`view:host-sidebar:port`,HostSidebarWidthChanged:`view:host-sidebar:width-changed`,HostSidebarGetWidth:`view:host-sidebar:get-width`,HostSidebarCategorySelected:`view:host-sidebar:category-selected`,HostDialogAdvertiseSize:`view:host-dialog:advertise-size`,HostDialogPort:`view:host-dialog:port`,PlacementSnapshot:`view:placement-snapshot`,AllocatePlacementGeneration:`view:allocate-placement-generation`},y={Show:`popover:show`,Hide:`popover:hide`,Relaunch:`popover:relaunch`,Closed:`popover:closed`,Init:`popover:init`},b={Ready:`overlay:ready`},x={Prepare:`tooltip:prepare`,Show:`tooltip:show`,Hide:`tooltip:hide`,Init:`tooltip:init`,Measured:`tooltip:measured`},S={Show:`projectCreate:show`,Init:`projectCreate:init`,Submit:`projectCreate:submit`,Cancel:`projectCreate:cancel`,Submitted:`projectCreate:submitted`},C={SetVisible:`settings:setVisible`,ConfigChanged:`settings:configChanged`,ProjectSettingsChanged:`settings:projectSettingsChanged`,Init:`settings:init`},w={Check:`updates:check`,Download:`updates:download`,Install:`updates:install`,DownloadProgress:`updates:downloadProgress`,Available:`updates:available`,Close:`updates:close`};export{u as C,r as S,s as _,x as a,n as b,m as c,g as d,d as f,c as g,o as h,C as i,h as l,f as m,y as n,w as o,l as p,S as r,v as s,b as t,_ as u,i as v,a as w,t as x,e as y};
|
|
2
|
-
//# sourceMappingURL=ipc-channels-overlays-Blr5TNoB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
:root{--qd-background:#fff;--qd-secondary:#f7f7f9;--qd-secondary-foreground:#000;--qd-muted:#f7f7f9;--qd-foreground:#000;--qd-muted-foreground:#000000a3;--qd-border:#0000001f;--qd-primary:#7c66ff;--qd-primary-soft:#f2f0ff;--qd-destructive:#d94a4e;--qd-destructive-soft:#ffebe9;--qd-success:#379e45;--qd-success-soft:#e2f7e3;--qd-warning:#e8920c;--qd-warning-soft:#fff4e0;--qd-info:#2f6fed;--qd-info-soft:#e8f0ff;--qd-on-solid:#fff;--qd-font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--qd-text-xs:12px;--qd-leading-xs:16px;--qd-text-sm:14px;--qd-leading-sm:20px;--qd-text-base:16px;--qd-leading-base:24px;--qd-text-lg:18px;--qd-leading-lg:28px;--qd-text-xl:20px;--qd-leading-xl:28px;--qd-text-2xl:24px;--qd-leading-2xl:32px;--qd-radius:10px;--qd-radius-sm:calc(var(--qd-radius) * .6);--qd-radius-md:calc(var(--qd-radius) * .8);--qd-radius-lg:var(--qd-radius);--qd-radius-xl:calc(var(--qd-radius) * 1.4);--qd-radius-2xl:calc(var(--qd-radius) * 1.8);--qd-radius-3xl:calc(var(--qd-radius) * 2.2);--qd-btn-h:32px;--qd-control-h:32px;--qd-chip-h:32px;--qd-border-width:1px;--qd-shadow-control:none;--qd-shadow-sm:0 1px 2px 0 #0000000f;--qd-shadow-md:0 4px 12px -2px #0000001f, 0 2px 4px -2px #00000014;--qd-shadow-lg:0 12px 32px -8px #0000002e, 0 4px 8px -4px #0000001a;--qd-icon-stroke:2;--qd-icon-size:16px}.dark{--qd-background:#1f1f1f;--qd-secondary:#404040;--qd-secondary-foreground:#ffffffe0;--qd-muted:#383838;--qd-foreground:#ffffffe0;--qd-muted-foreground:#ffffffa3;--qd-border:#ffffff3d;--qd-primary-soft:#28238c;--qd-destructive-soft:#7a2230;--qd-success-soft:#1c4a26;--qd-warning-soft:#5e3a05;--qd-info-soft:#16306e;--qd-shadow-sm:0 1px 2px 0 #0000004d;--qd-shadow-md:0 4px 12px -2px #00000073, 0 2px 4px -2px #00000059;--qd-shadow-lg:0 12px 32px -8px #0009, 0 4px 8px -4px #0006}.cornetto-root,.cornetto-root *,.cornetto-root :before,.cornetto-root :after{box-sizing:border-box}.qd-icon{width:var(--qd-icon-size);height:var(--qd-icon-size);stroke-width:var(--qd-icon-stroke);flex-shrink:0;display:block}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-family);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-family-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.bottom-3{bottom:.75rem}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-2{top:.5rem}.top-4{top:1rem}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.m-auto{margin:auto}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-\[calc\(-24\*var\(--qd-card-u\)\)\]{margin-bottom:calc(-24 * var(--qd-card-u))}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-3\.5{margin-top:.875rem}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-\[calc\(40\*var\(--qd-card-u\)\)\]{width:calc(40 * var(--qd-card-u));height:calc(40 * var(--qd-card-u))}.size-\[calc\(48\*var\(--qd-card-u\)\)\]{width:calc(48 * var(--qd-card-u));height:calc(48 * var(--qd-card-u))}.size-\[var\(--qd-btn-h\)\]{width:var(--qd-btn-h);height:var(--qd-btn-h)}.size-full{width:100%;height:100%}.h-1\.5{height:.375rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[10px\]{height:10px}.h-\[1px\]{height:1px}.h-\[30px\]{height:30px}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[calc\(var\(--qd-btn-h\)\+4px\)\]{height:calc(var(--qd-btn-h) + 4px)}.h-\[calc\(var\(--qd-btn-h\)-4px\)\]{height:calc(var(--qd-btn-h) - 4px)}.h-\[var\(--qd-btn-h\)\]{height:var(--qd-btn-h)}.h-\[var\(--qd-chip-h\)\]{height:var(--qd-chip-h)}.h-\[var\(--qd-control-h\)\]{height:var(--qd-control-h)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-40{max-height:10rem}.max-h-\[300px\]{max-height:300px}.max-h-\[85vh\]{max-height:85vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.min-h-0{min-height:0}.min-h-\[7rem\]{min-height:7rem}.w-1\.5{width:.375rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-9{width:2.25rem}.w-\[10px\]{width:10px}.w-\[1px\]{width:1px}.w-\[300px\]{width:300px}.w-\[320px\]{width:320px}.w-\[340px\]{width:340px}.w-\[560px\]{width:560px}.w-\[76px\]{width:76px}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-2{min-width:.5rem}.min-w-\[280px\]{min-width:280px}.min-w-\[calc\(var\(--qd-card-w-ref\)\*1px\)\]{min-width:calc(var(--qd-card-w-ref) * 1px)}.max-w-28{max-width:7rem}.max-w-\[180px\]{max-width:180px}.max-w-\[240px\]{max-width:240px}.max-w-\[280px\]{max-width:280px}.max-w-\[90vw\]{max-width:90vw}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.animate-\[pulse_1s_infinite\]{animation:1s infinite pulse}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-text{cursor:text}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize{resize:both}.appearance-none{appearance:none}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-\[29px\]{gap:29px}.gap-\[calc\(12\*var\(--qd-card-u\)\)\]{gap:calc(12 * var(--qd-card-u))}.gap-\[calc\(4\*var\(--qd-card-u\)\)\]{gap:calc(4 * var(--qd-card-u))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:var(--radius)}.rounded-\[8px\]{border-radius:8px}.rounded-\[inherit\]{border-radius:inherit}.rounded-\[var\(--qd-radius-lg\)\]{border-radius:var(--qd-radius-lg)}.rounded-\[var\(--qd-radius-md\)\]{border-radius:var(--qd-radius-md)}.rounded-\[var\(--qd-radius-sm\)\]{border-radius:var(--qd-radius-sm)}.rounded-\[var\(--qd-radius-xl\)\]{border-radius:var(--qd-radius-xl)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:.125rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-r{border-right-width:1px}.border-r-0{border-right-width:0}.border-t{border-top-width:1px}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-\[var\(--btn-border\)\]{border-color:var(--btn-border)}.border-\[var\(--qd-border\)\]{border-color:var(--qd-border)}.border-\[var\(--qd-primary\)\]{border-color:var(--qd-primary)}.border-accent{border-color:var(--color-accent)}.border-border{border-color:var(--color-border)}.border-border-strong{border-color:var(--color-border-strong)}.border-border-subtle{border-color:var(--color-border-subtle)}.border-status-error{border-color:var(--color-status-error)}.border-text-dim{border-color:var(--color-text-dim)}.border-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\[var\(--btn-bg\)\]{background-color:var(--btn-bg)}.bg-\[var\(--color-overlay\)\]{background-color:var(--color-overlay)}.bg-\[var\(--color-overlay-heavy\)\]{background-color:var(--color-overlay-heavy)}.bg-\[var\(--qd-background\)\]{background-color:var(--qd-background)}.bg-\[var\(--qd-border\)\]{background-color:var(--qd-border)}.bg-\[var\(--qd-foreground\)\]{background-color:var(--qd-foreground)}.bg-\[var\(--qd-muted\)\]{background-color:var(--qd-muted)}.bg-\[var\(--qd-primary\)\]{background-color:var(--qd-primary)}.bg-\[var\(--qd-primary-soft\)\]{background-color:var(--qd-primary-soft)}.bg-accent{background-color:var(--color-accent)}.bg-bg{background-color:var(--color-bg)}.bg-bg-panel{background-color:var(--color-bg-panel)}.bg-black\/60{background-color:#0009}.bg-border{background-color:var(--color-border)}.bg-overlay{background-color:var(--color-overlay)}.bg-sim-bg{background-color:var(--color-sim-bg)}.bg-sim-bottom{background-color:var(--color-sim-bottom)}.bg-status-error{background-color:var(--color-status-error)}.bg-status-success{background-color:var(--color-status-success)}.bg-status-warn{background-color:var(--color-status-warn)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-surface-active{background-color:var(--color-surface-active)}.bg-text-dim{background-color:var(--color-text-dim)}.bg-transparent{background-color:#0000}.bg-warn-bg{background-color:var(--color-warn-bg)}.fill-\[var\(--qd-foreground\)\]{fill:var(--qd-foreground)}.object-cover{-o-object-fit:cover;object-fit:cover}.object-top{-o-object-position:top;object-position:top}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.p-\[3px\]{padding:3px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[calc\(16\*var\(--qd-card-u\)\)\]{padding-left:calc(16 * var(--qd-card-u));padding-right:calc(16 * var(--qd-card-u))}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-px{padding-top:1px;padding-bottom:1px}.pb-\[calc\(16\*var\(--qd-card-u\)\)\]{padding-bottom:calc(16 * var(--qd-card-u))}.pl-2{padding-left:.5rem}.pr-1\.5{padding-right:.375rem}.pr-5{padding-right:1.25rem}.pt-1{padding-top:.25rem}.text-left{text-align:left}.text-center{text-align:center}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-family-mono)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[calc\(12\*var\(--qd-card-u\)\)\]{font-size:calc(12 * var(--qd-card-u))}.text-\[calc\(13\*var\(--qd-card-u\)\)\]{font-size:calc(13 * var(--qd-card-u))}.text-\[calc\(15\*var\(--qd-card-u\)\)\]{font-size:calc(15 * var(--qd-card-u))}.text-\[calc\(20\*var\(--qd-card-u\)\)\]{font-size:calc(20 * var(--qd-card-u))}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-8{line-height:2rem}.leading-\[18px\]{line-height:18px}.leading-\[calc\(16\*var\(--qd-card-u\)\)\]{line-height:calc(16 * var(--qd-card-u))}.leading-\[calc\(22\*var\(--qd-card-u\)\)\]{line-height:calc(22 * var(--qd-card-u))}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-widest{letter-spacing:.1em}.text-\[color\:var\(--btn-fg\)\]{color:var(--btn-fg)}.text-\[color\:var\(--qd-background\)\]{color:var(--qd-background)}.text-\[color\:var\(--qd-foreground\)\]{color:var(--qd-foreground)}.text-\[color\:var\(--qd-on-solid\)\]{color:var(--qd-on-solid)}.text-\[var\(--color-code-blue\)\]{color:var(--color-code-blue)}.text-\[var\(--color-status-warn\)\]{color:var(--color-status-warn)}.text-accent{color:var(--color-accent)}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-border-subtle{color:var(--color-border-subtle)}.text-code-blue{color:var(--color-code-blue)}.text-code-keyword{color:var(--color-code-keyword)}.text-code-label{color:var(--color-code-label)}.text-code-orange{color:var(--color-code-orange)}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-status-error{color:var(--color-status-error)}.text-status-success{color:var(--color-status-success)}.text-status-warn{color:var(--color-status-warn)}.text-text{color:var(--color-text)}.text-text-dim{color:var(--color-text-dim)}.text-text-muted{color:var(--color-text-muted)}.text-text-secondary{color:var(--color-text-secondary)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.accent-accent{accent-color:var(--color-accent)}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow-\[0_8px_24px_var\(--color-overlay-heavy\)\]{--tw-shadow:0 8px 24px var(--color-overlay-heavy);--tw-shadow-colored:0 8px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[var\(--qd-shadow-control\)\]{--tw-shadow-color:var(--qd-shadow-control);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[var\(--qd-shadow-lg\)\]{--tw-shadow-color:var(--qd-shadow-lg);--tw-shadow:var(--tw-shadow-colored)}.shadow-\[var\(--qd-shadow-md\)\]{--tw-shadow-color:var(--qd-shadow-md);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150{transition-duration:.15s}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.\[--btn-bg\:transparent\]{--btn-bg:transparent}.\[--btn-bg\:var\(--qd-background\)\]{--btn-bg:var(--qd-background)}.\[--btn-bg\:var\(--qd-destructive\)\]{--btn-bg:var(--qd-destructive)}.\[--btn-bg\:var\(--qd-primary\)\]{--btn-bg:var(--qd-primary)}.\[--btn-bg\:var\(--qd-primary-soft\)\]{--btn-bg:var(--qd-primary-soft)}.\[--btn-bg\:var\(--qd-secondary\)\]{--btn-bg:var(--qd-secondary)}.\[--btn-border\:transparent\]{--btn-border:transparent}.\[--btn-border\:var\(--qd-border\)\]{--btn-border:var(--qd-border)}.\[--btn-fg\:var\(--qd-foreground\)\]{--btn-fg:var(--qd-foreground)}.\[--btn-fg\:var\(--qd-muted-foreground\)\]{--btn-fg:var(--qd-muted-foreground)}.\[--btn-fg\:var\(--qd-on-solid\)\]{--btn-fg:var(--qd-on-solid)}.\[--btn-fg\:var\(--qd-primary\)\]{--btn-fg:var(--qd-primary)}.\[--btn-fg\:var\(--qd-secondary-foreground\)\]{--btn-fg:var(--qd-secondary-foreground)}.\[--qd-icon-size\:1em\]{--qd-icon-size:1em}.\[border-width\:var\(--qd-border-width\)\]{border-width:var(--qd-border-width)}:root{--qd-background:#1f1f1f;--qd-secondary:#404040;--qd-secondary-foreground:#ffffffe0;--qd-muted:#383838;--qd-foreground:#ffffffe0;--qd-muted-foreground:#ffffffa3;--qd-border:#ffffff3d;--qd-primary-soft:#28238c;--qd-destructive-soft:#7a2230;--qd-success-soft:#1c4a26;--qd-warning-soft:#5e3a05;--qd-info-soft:#16306e;--qd-shadow-sm:0 1px 2px 0 #0000004d;--qd-shadow-md:0 4px 12px -2px #00000073, 0 2px 4px -2px #00000059;--qd-shadow-lg:0 12px 32px -8px #0009, 0 4px 8px -4px #0006;--color-accent:var(--qd-primary);--color-accent-hover:#6c56eb;--color-bg:var(--qd-background);--color-bg-panel:var(--qd-secondary);--color-surface:var(--qd-muted);--color-surface-2:#282828;--color-surface-3:#36393a;--color-surface-active:#404244;--color-surface-input:#3d3d3d;--color-surface-selected:#333;--color-surface-thumb:#4a4a4a;--color-surface-splitter:#212121;--color-chrome-hover:color-mix(in srgb, var(--qd-foreground) 7%, transparent);--color-border:var(--qd-border);--color-border-subtle:#2e2e2e;--color-border-strong:#454545;--color-ring:var(--color-accent);--color-text:var(--qd-foreground);--color-text-secondary:var(--qd-muted-foreground);--color-text-muted:#666;--color-text-dim:#545454;--color-text-white:var(--qd-on-solid);--color-code-blue:#9adbfe;--color-code-orange:#ce9178;--color-code-label:#858585;--color-code-number:#b4cda7;--color-code-keyword:#579dd6;--color-status-warn:var(--qd-warning);--color-status-error:var(--qd-destructive);--color-status-success:var(--qd-success);--color-status-ready:var(--color-accent);--color-danger-bg:var(--qd-destructive-soft);--color-warn-bg:var(--qd-warning-soft);--color-warn-border:#f0a4004d;--color-overlay:#00000073;--color-overlay-heavy:#000000b3;--color-sim-bg:var(--color-surface-2);--color-sim-bottom:var(--color-surface-2);--color-sim-screen:#000;--color-phone-shell:#1c1c1c;--color-phone-border:#2d2d2e;--font-family:var(--qd-font-sans);--font-family-mono:"Menlo", "Consolas", monospace;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:13px;--font-size-md:14px;--font-size-lg:16px;--radius:4px;--radius-md:6px;--radius-lg:8px;--scrollbar-size:6px;--scrollbar-thumb:#454545;--header-h:40px;--splitter-w:4px}@media (prefers-color-scheme:light){:root{--qd-background:#fff;--qd-secondary:#f7f7f9;--qd-secondary-foreground:#000;--qd-muted:#f7f7f9;--qd-foreground:#000;--qd-muted-foreground:#000000a3;--qd-border:#0000001f;--qd-primary-soft:#f2f0ff;--qd-destructive-soft:#ffebe9;--qd-success-soft:#e2f7e3;--qd-warning-soft:#fff4e0;--qd-info-soft:#e8f0ff;--qd-shadow-sm:0 1px 2px 0 #0000000f;--qd-shadow-md:0 4px 12px -2px #0000001f, 0 2px 4px -2px #00000014;--qd-shadow-lg:0 12px 32px -8px #0000002e, 0 4px 8px -4px #0000001a;--color-accent:var(--qd-primary);--color-accent-hover:#6c56eb;--color-bg:var(--qd-background);--color-bg-panel:var(--qd-secondary);--color-surface:var(--qd-muted);--color-surface-2:var(--qd-muted);--color-surface-3:#e5e6e6;--color-surface-active:#d0d1d2;--color-surface-input:#fff;--color-surface-selected:#dbdbdb;--color-surface-thumb:#b8b8b8;--color-surface-splitter:#e0e0e0;--color-border:var(--qd-border);--color-border-subtle:#dedede;--color-border-strong:#bdbdbd;--color-text:var(--qd-foreground);--color-text-secondary:var(--qd-muted-foreground);--color-text-muted:#6b6b6b;--color-text-dim:gray;--color-text-white:var(--qd-on-solid);--color-code-blue:#005499;--color-code-orange:#9a1919;--color-code-label:#6b6b6b;--color-code-number:#367c13;--color-code-keyword:#00c;--color-status-warn:var(--qd-warning);--color-status-error:var(--qd-destructive);--color-status-success:var(--qd-success);--color-status-ready:var(--color-accent);--color-danger-bg:var(--qd-destructive-soft);--color-warn-bg:var(--qd-warning-soft);--color-warn-border:#f0a40059;--color-overlay:#0000004d;--color-overlay-heavy:#0009;--scrollbar-thumb:#b3b3b3;--color-sim-bg:var(--color-surface-2);--color-sim-bottom:var(--color-surface-2)}}*,:before,:after{box-sizing:border-box}html,body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);height:100vh;margin:0;padding:0;overflow:hidden}#root{flex-direction:column;height:100vh;display:flex;overflow:hidden}[role=separator]:focus,[role=separator]:focus-visible{outline:none}::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}[data-deck-group]>[role=tablist]{border-bottom:1px solid var(--qd-border);background:var(--color-surface-2);flex-shrink:0;align-items:center;gap:8px;height:40px;padding:0 8px;display:flex;overflow:auto hidden}[data-deck-group]:has(>[role=tablist]){background:var(--color-surface-2)}[data-deck-group]>[role=tablist] [data-deck-tab]{height:28px;font-size:var(--font-size-base);color:var(--qd-muted-foreground);border-radius:var(--qd-radius-md);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:6px;padding:0 8px;line-height:1;transition:color .12s,background .12s;display:inline-flex}[data-deck-group]>[role=tablist] [data-deck-tab]:hover,[data-deck-group]>[role=tablist] [data-deck-tab][data-active=true]{color:var(--qd-foreground);background:var(--color-chrome-hover)}[data-deck-resize-handle]{z-index:1;background:0 0;flex-shrink:0;position:relative}[data-deck-resize-handle][aria-orientation=vertical]{cursor:col-resize;width:10px}[data-deck-resize-handle][aria-orientation=horizontal]{cursor:row-resize;height:10px}[data-deck-resize-handle]:before{content:"";background:var(--color-border);transition:background .12s;position:absolute}[data-deck-resize-handle][aria-orientation=vertical]:before{width:1px;top:0;bottom:0;left:50%;transform:translate(-.5px)}[data-deck-resize-handle][aria-orientation=horizontal]:before{height:1px;top:50%;left:0;right:0;transform:translateY(-.5px)}[data-deck-resize-handle]:hover:before,[data-deck-resize-handle][data-resize-handle-active]:before{background:var(--color-ring)}[data-deck-tab-close]{width:14px;height:14px;color:var(--color-text-muted);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;margin-left:2px;font-size:12px;line-height:1;display:inline-flex}[data-deck-tab-close]:hover{color:var(--color-text);background:var(--color-surface-3)}:root{--qd-card-w-ref:240}[data-qd-card]{--qd-card-u:calc(100cqw / var(--qd-card-w-ref));container-type:inline-size}.placeholder\:text-text-dim::placeholder{color:var(--color-text-dim)}.placeholder\:text-text-secondary::placeholder{color:var(--color-text-secondary)}.hover\:border-\[var\(--qd-primary\)\]:hover{border-color:var(--qd-primary)}.hover\:border-accent:hover{border-color:var(--color-accent)}.hover\:border-status-error:hover{border-color:var(--color-status-error)}.hover\:bg-\[var\(--qd-muted\)\]:hover{background-color:var(--qd-muted)}.hover\:bg-danger-bg:hover{background-color:var(--color-danger-bg)}.hover\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\:bg-surface-3:hover{background-color:var(--color-surface-3)}.hover\:bg-surface-active:hover{background-color:var(--color-surface-active)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-status-error:hover{color:var(--color-status-error)}.hover\:text-status-warn:hover{color:var(--color-status-warn)}.hover\:text-text:hover{color:var(--color-text)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[var\(--qd-shadow-md\)\]:hover{--tw-shadow-color:var(--qd-shadow-md);--tw-shadow:var(--tw-shadow-colored)}.hover\:\[--btn-bg\:var\(--color-surface-3\)\]:hover{--btn-bg:var(--color-surface-3)}.hover\:\[--btn-fg\:var\(--qd-destructive\)\]:hover{--btn-fg:var(--qd-destructive)}.hover\:\[--btn-fg\:var\(--qd-foreground\)\]:hover{--btn-fg:var(--qd-foreground)}.hover\:\[background-color\:var\(--qd-destructive-soft\)\]:hover{background-color:var(--qd-destructive-soft)}.hover\:\[background-color\:var\(--qd-muted\)\]:hover{background-color:var(--qd-muted)}.focus\:border-\[var\(--qd-primary\)\]:focus{border-color:var(--qd-primary)}.focus\:border-accent:focus{border-color:var(--color-accent)}.focus\:border-text-muted:focus{border-color:var(--color-text-muted)}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus-visible\:border-\[var\(--qd-primary\)\]:focus-visible{border-color:var(--qd-primary)}.focus-visible\:text-text:focus-visible{color:var(--color-text)}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-\[var\(--qd-primary\)\]:focus-visible{--tw-ring-color:var(--qd-primary)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-35:disabled{opacity:.35}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-transparent:hover:disabled{background-color:#0000}.group:hover .group-hover\:bg-ring{background-color:var(--color-ring)}.group:hover .group-hover\:text-\[var\(--qd-primary\)\]{color:var(--qd-primary)}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=active\]\:border-\[var\(--qd-primary\)\][data-state=active],.data-\[state\=checked\]\:border-\[var\(--qd-primary\)\][data-state=checked]{border-color:var(--qd-primary)}.data-\[selected\=\'true\'\]\:bg-\[var\(--qd-muted\)\][data-selected=true]{background-color:var(--qd-muted)}.data-\[state\=active\]\:bg-\[var\(--qd-background\)\][data-state=active]{background-color:var(--qd-background)}.data-\[state\=checked\]\:bg-\[var\(--qd-primary\)\][data-state=checked]{background-color:var(--qd-primary)}.data-\[state\=selected\]\:bg-\[var\(--qd-muted\)\][data-state=selected]{background-color:var(--qd-muted)}.data-\[selected\=true\]\:text-text[data-selected=true],.data-\[state\=active\]\:text-text[data-state=active]{color:var(--color-text)}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[active\=true\]\:\[--btn-bg\:var\(--color-surface-active\)\][data-active=true]{--btn-bg:var(--color-surface-active)}.data-\[active\=true\]\:\[--btn-fg\:var\(--qd-foreground\)\][data-active=true]{--btn-fg:var(--qd-foreground)}.group[data-resize-handle-active] .group-data-\[resize-handle-active\]\:bg-ring{background-color:var(--color-ring)}@media (width>=640px){.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.hover\:\[\&\>td\]\:bg-surface>td:hover{background-color:var(--color-surface)}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-text-secondary [cmdk-group-heading]{color:var(--color-text-secondary)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as e,c as t,g as n,h as r,l as i,p as a,u as o}from"./ipc-channels-overlays-Blr5TNoB.js";function s(){return i(n.List)}function c(){return t(a.OpenDirectory)}function l(e){return i(n.Add,e)}function u(e){return t(n.Remove,e)}function d(e){return i(r.Open,e)}function f(e){return i(r.GetPages,e)}function p(e){return i(r.GetCompileConfig,e)}function m(e,t){return i(r.SaveCompileConfig,e,t)}function h(){return i(r.Rebuild)}function g(e){return o(r.Status,t=>e(t))}function _(e){return o(r.CompileLog,t=>e(t))}function v(t){return o(e.RuntimeStatus,e=>t(e))}function y(e){return t(r.CaptureThumbnail,e)}function b(e){return t(r.GetThumbnail,e)}function x(){return i(n.ListTemplates)}function S(){return t(n.OpenCreateDialog)}function C(e){return i(n.Create,e)}function w(){return i(n.GetCreateDefaults)}export{u as _,p as a,b as c,_ as d,g as f,h as g,d as h,C as i,s as l,S as m,y as n,w as o,v as p,c as r,f as s,l as t,x as u,m as v};
|
|
2
|
-
//# sourceMappingURL=project-api-DZ1Zi6EC.js.map
|