@dimina-kit/devtools 0.4.0-dev.20260702145840 → 0.4.0-dev.20260702164903

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.
@@ -4064,7 +4064,7 @@ function createWorkspaceService(ctx) {
4064
4064
  sourcemap: true,
4065
4065
  fileTypes: ctx.fileTypes,
4066
4066
  watch: compile.watch,
4067
- onRebuild: () => sendStatus("ready", "\u7F16\u8BD1\u5B8C\u6210\uFF0C\u5DF2\u70ED\u66F4\u65B0", true),
4067
+ onRebuild: () => sendStatus("ready", "\u7F16\u8BD1\u5B8C\u6210\uFF0C\u5DF2\u91CD\u542F", true),
4068
4068
  onBuildError: (err) => sendStatus("error", String(err)),
4069
4069
  onLog: (entry) => {
4070
4070
  if (sessionGeneration !== logGeneration) return;
@@ -127,7 +127,7 @@ export function createWorkspaceService(ctx) {
127
127
  sourcemap: true,
128
128
  fileTypes: ctx.fileTypes,
129
129
  watch: compile.watch,
130
- onRebuild: () => sendStatus('ready', '编译完成,已热更新', true),
130
+ onRebuild: () => sendStatus('ready', '编译完成,已重启', true),
131
131
  onBuildError: (err) => sendStatus('error', String(err)),
132
132
  onLog: (entry) => {
133
133
  if (sessionGeneration !== logGeneration)
@@ -1,7 +1,7 @@
1
1
  import{C as e,S as t,a as n,b as r,c as i,d as a,g as o,h as s,l as c,m as l,n as u,o as d,p as f,r as p,t as m,w as h,x as g}from"./ipc-transport-OZS-KmOW.js";import{n as _,r as v,t as y}from"./input-Cjk0wSEh.js";import{_ as b,a as x,c as S,d as C,f as w,g as T,h as E,i as ee,l as te,m as ne,n as re,o as ie,p as ae,r as oe,t as se,u as ce,v as D}from"./select-BQDXi5ih.js";import{n as le}from"./constants-EAMiwL9_.js";import{l as ue}from"./settings-api-B6x2mhaD.js";var de=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),fe=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),pe=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),me=e=>{let t=pe(e);return t.charAt(0).toUpperCase()+t.slice(1)},he={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},ge=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},O=h(e()),_e=(0,O.createContext)({}),ve=()=>(0,O.useContext)(_e),ye=(0,O.forwardRef)(({color:e,size:t,strokeWidth:n,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...s},c)=>{let{size:l=24,strokeWidth:u=2,absoluteStrokeWidth:d=!1,color:f=`currentColor`,className:p=``}=ve()??{},m=r??d?Number(n??u)*24/Number(t??l):n??u;return(0,O.createElement)(`svg`,{ref:c,...he,width:t??l??he.width,height:t??l??he.height,stroke:e??f,strokeWidth:m,className:de(`lucide`,p,i),...!a&&!ge(s)&&{"aria-hidden":`true`},...s},[...o.map(([e,t])=>(0,O.createElement)(e,t)),...Array.isArray(a)?a:[a]])}),be=(e,t)=>{let n=(0,O.forwardRef)(({className:n,...r},i)=>(0,O.createElement)(ye,{ref:i,iconNode:t,className:de(`lucide-${fe(me(e))}`,`lucide-${e}`,n),...r}));return n.displayName=me(e),n},xe=be(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),Se=be(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Ce=h(g(),1),k=r();function we({project:e,onOpen:t,onRemove:n,thumbnail:r}){let[i,a]=(0,O.useState)(!1);return(0,k.jsxs)(`div`,{className:`relative bg-surface border border-border rounded-lg overflow-hidden cursor-pointer transition-all duration-150 hover:border-accent hover:-translate-y-0.5`,onClick:()=>t(e),onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),children:[r?(0,k.jsx)(`img`,{src:r,className:`h-28 w-full object-cover object-top`,alt:``}):(0,k.jsx)(`div`,{className:`h-28 bg-surface-thumb`}),(0,k.jsxs)(`div`,{className:`p-3`,children:[(0,k.jsx)(`div`,{className:`text-sm font-medium text-text-white mb-1 truncate`,title:e.name,children:e.name}),(0,k.jsx)(`div`,{className:`text-[11px] text-text-secondary truncate`,title:e.path,children:e.path}),(0,k.jsx)(`div`,{className:`text-[11px] text-text-dim mt-1.5`,children:v(e.lastOpened)})]}),i&&(0,k.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 Te(e){return(0,k.jsxs)(`button`,{type:`button`,onClick:e.onClick,"aria-label":`新建项目`,className:`relative bg-transparent border-2 border-dashed border-border rounded-lg overflow-hidden cursor-pointer transition-all duration-150 hover:border-accent hover:-translate-y-0.5 h-full min-h-[188px] flex flex-col items-center justify-center gap-2 text-text-secondary hover:text-accent focus:outline-none focus-visible:ring-2 focus-visible:ring-accent`,children:[(0,k.jsx)(`span`,{className:`text-3xl leading-none`,"aria-hidden":`true`,children:`+`}),(0,k.jsx)(`span`,{className:`text-sm font-medium`,children:`新建项目`})]})}function Ee({projects:e,onAdd:t,onCreate:n,onOpen:r,onRemove:i,thumbnails:a}){let[o,s]=(0,O.useState)(``),c=(0,O.useMemo)(()=>{if(!o.trim())return e;let t=o.trim().toLowerCase();return e.filter(e=>(e.name||``).toLowerCase().includes(t)||(e.path||``).toLowerCase().includes(t))},[e,o]),l=n??(()=>{}),u=e.length>0&&c.length===0;return(0,k.jsx)(`div`,{className:`flex flex-col h-screen bg-bg`,children:(0,k.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-6`,children:[(0,k.jsxs)(`div`,{className:`flex items-center justify-between mb-6 gap-4`,children:[(0,k.jsx)(`div`,{className:`flex items-center flex-1 max-w-xs min-w-0`,children:(0,k.jsxs)(`div`,{className:`relative w-full`,children:[(0,k.jsx)(xe,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-text-secondary pointer-events-none`}),(0,k.jsx)(y,{placeholder:`搜索`,value:o,onChange:e=>s(e.target.value),className:`w-full h-8 pl-8 pr-3 rounded-md text-sm`})]})}),(0,k.jsx)(D,{variant:`ghost`,size:`sm`,onClick:t,className:`shrink-0 text-accent hover:text-accent-hover hover:bg-transparent`,children:`导入`})]}),u?(0,k.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-72 text-text-dim gap-3`,children:[(0,k.jsx)(`span`,{className:`text-5xl opacity-40`,children:`🔍`}),(0,k.jsx)(`span`,{className:`text-sm`,children:`未找到匹配的项目`})]}):(0,k.jsxs)(`div`,{className:`grid gap-4`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(220px, 1fr))`},children:[(0,k.jsx)(Te,{onClick:l}),c.map(e=>(0,k.jsx)(we,{project:e,onOpen:r,onRemove:i,thumbnail:a?.[e.path]},e.path))]})]})})}function De(e){return e.trim().replace(/[\\/:*?"<>|]+/g,`-`).replace(/\s+/g,`-`).replace(/-{2,}/g,`-`).replace(/^[-.]+|[-.]+$/g,``)}function Oe(e,t){return t?e?e.endsWith(`/`)?`${e}${t}`:`${e}/${t}`:t:``}function ke(e){let{open:t,templates:n,defaultBaseDir:r,onSubmit:i,onCancel:a,onBrowse:o}=e,[s,c]=(0,O.useState)(``),[l,u]=(0,O.useState)(``),[d,f]=(0,O.useState)(n[0]?.id??`blank`),p=(0,O.useRef)(!1);if((0,O.useEffect)(()=>{n.find(e=>e.id===d)||f(n[0]?.id??`blank`)},[n,d]),(0,O.useEffect)(()=>{t&&(c(``),u(``),p.current=!1)},[t]),!t)return null;let m=s.trim().length>0&&l.trim().length>0;function h(e){if(c(e),!p.current){let t=De(e);u(t?Oe(r??``,t):``)}}function g(e){p.current=!0,u(e)}async function _(){let e=await o();e&&(p.current=!0,u(e))}function v(){m&&i({name:s.trim(),path:l.trim(),templateId:d})}return(0,k.jsx)(`div`,{role:`dialog`,"aria-label":`新建项目`,className:`fixed inset-0 z-50 flex items-center justify-center bg-black/40`,children:(0,k.jsxs)(`div`,{className:`bg-surface rounded-lg shadow-lg w-[560px] max-w-[90vw] p-6`,children:[(0,k.jsx)(`h2`,{className:`text-base font-semibold text-text-white mb-4`,children:`新建项目`}),(0,k.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,k.jsxs)(`label`,{className:`flex flex-col gap-1 text-sm`,children:[(0,k.jsx)(`span`,{className:`text-text-secondary`,children:`项目名`}),(0,k.jsx)(`input`,{"aria-label":`项目名`,type:`text`,value:s,onChange:e=>h(e.target.value),placeholder:`My App`,className:`h-8 px-2 rounded-md border border-border bg-bg text-sm text-text-white`})]}),(0,k.jsxs)(`label`,{className:`flex flex-col gap-1 text-sm`,children:[(0,k.jsx)(`span`,{className:`text-text-secondary`,children:`目录`}),(0,k.jsxs)(`div`,{className:`flex gap-2`,children:[(0,k.jsx)(`input`,{"aria-label":`目录`,type:`text`,value:l,onChange:e=>g(e.target.value),placeholder:`/absolute/path/to/dir`,className:`flex-1 h-8 px-2 rounded-md border border-border bg-bg text-sm text-text-white`}),(0,k.jsx)(`button`,{type:`button`,onClick:_,className:`px-3 h-8 rounded-md border border-border text-sm text-text-secondary hover:text-text-white`,children:`浏览`})]})]}),(0,k.jsxs)(`div`,{className:`flex flex-col gap-1 text-sm`,children:[(0,k.jsx)(`span`,{className:`text-text-secondary`,children:`模板`}),(0,k.jsx)(`div`,{className:`grid gap-2`,style:{gridTemplateColumns:`repeat(auto-fill, minmax(160px, 1fr))`},children:n.map(e=>{let t=e.id===d;return(0,k.jsxs)(`button`,{type:`button`,onClick:()=>f(e.id),className:[`text-left p-3 rounded-md border`,t?`border-accent text-text-white bg-accent/10`:`border-border text-text-secondary hover:border-accent`].join(` `),"aria-pressed":t,children:[(0,k.jsx)(`div`,{className:`text-sm font-medium`,children:e.name}),e.description?(0,k.jsx)(`div`,{className:`text-[11px] mt-1 text-text-dim`,children:e.description}):null]},e.id)})})]})]}),(0,k.jsxs)(`div`,{className:`flex justify-end gap-2 mt-6`,children:[(0,k.jsx)(`button`,{type:`button`,onClick:a,className:`px-3 h-8 rounded-md border border-border text-sm text-text-secondary hover:text-text-white`,children:`取消`}),(0,k.jsx)(`button`,{type:`button`,onClick:v,disabled:!m,className:`px-3 h-8 rounded-md text-sm bg-accent text-white disabled:opacity-40 disabled:cursor-not-allowed`,children:`创建`})]})]})})}function Ae(){return m(n.GetBranding)}function je(){return u(c.List)}function Me(){return m(d.OpenDirectory)}function Ne(e){return u(c.Add,e)}function Pe(e){return m(c.Remove,e)}function Fe(e){return u(i.Open,e)}function Ie(e){return u(i.GetPages,e)}function Le(e){return u(i.GetCompileConfig,e)}function Re(e,t){return u(i.SaveCompileConfig,e,t)}function ze(e){return p(i.Status,t=>e(t))}function Be(e){return p(i.CompileLog,t=>e(t))}function Ve(e){return m(i.CaptureThumbnail,e)}function He(e){return m(i.GetThumbnail,e)}function Ue(){return u(c.ListTemplates)}function We(){return m(c.OpenCreateDialog)}function Ge(e){return u(c.Create,e)}function Ke(){return u(c.GetCreateDefaults)}var qe={selected:`simulator`,simulatorVisible:!0};function Je(e){return e+48}function Ye(e,t){return Math.max(200,Math.min(t-200,e))}function Xe(e){let{initialDevice:t}=e,[n,r]=(0,O.useState)(t),[i,a]=(0,O.useState)(85),[o,s]=(0,O.useState)(()=>Je(t.width)),c=(0,O.useRef)(o),l=(0,O.useRef)(n);(0,O.useEffect)(()=>{c.current=o},[o]),(0,O.useEffect)(()=>{l.current=n},[n]);let u=(0,O.useCallback)(e=>{w({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,O.useCallback)(e=>{let t=T.find(t=>t.name===e.target.value)??T[1];r(t),u(t),s(Je(t.width))},[u]),handleZoomChange:(0,O.useCallback)(e=>{a(Number(e.target.value))},[]),handleSplitterDrag:(0,O.useCallback)((e,t=`trailing`)=>{e.preventDefault();let n=e.clientX,r=c.current,i=e=>{let i=e.clientX-n;s(Ye(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 Ze=200,Qe=300;function $e(e){let{projectPath:t}=e,[n,r]=(0,O.useState)({status:`compiling`,message:`正在编译...`}),[i,a]=(0,O.useState)(null),[o,s]=(0,O.useState)([]),[c,l]=(0,O.useState)(0),[u,d]=(0,O.useState)({startPage:``,scene:le,queryParams:[]});(0,O.useEffect)(()=>{let e=!1;async function n(){try{let n=await Fe(t);if(e)return;if(!n.success){r({status:`error`,message:n.error});return}let[i,o]=await Promise.all([Ie(t),Le(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,p]=(0,O.useState)(0),[m,h]=(0,O.useState)([]),[g,_]=(0,O.useState)([]),v=(0,O.useRef)(0);(0,O.useEffect)(()=>{h([]),_([])},[t]),(0,O.useEffect)(()=>ze(e=>{r(e);let t=++v.current;h(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>Ze?i.slice(i.length-Ze):i}),e.hotReload===!0&&p(e=>e+1)}),[]),(0,O.useEffect)(()=>Be(e=>{let t=++v.current;_(n=>{let r=[...n,{...e,seq:t}];return r.length>Qe?r.slice(r.length-Qe):r})}),[]);let y=(0,O.useCallback)(()=>{h([]),_([])},[]),b=(0,O.useRef)(!1);return{compileStatus:n,appInfo:i,port:c,pages:o,compileConfig:u,hotReloadToken:f,compileEvents:m,compileLogs:g,clearCompileEvents:y,relaunch:(0,O.useCallback)(async(e=u)=>{try{if(!i?.appId||b.current)return;b.current=!0,r({status:`ready`,message:`正在刷新...`});try{await Re(t,e),d(e),r({status:`ready`,message:`刷新完成`})}finally{b.current=!1}}catch(e){b.current=!1,r({status:`error`,message:e instanceof Error?e.message:`刷新失败`})}},[i,u,t])}}var et=[`appId`,`entry`,`page`];function tt(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 rt(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 it(e,t,n={}){let r=nt(t),i=[`appId=${tt(e)}`,`entry=${tt(r)}`,`page=${tt(r)}`];for(let[e,t]of Object.entries(n))et.includes(e)||i.push(`${encodeURIComponent(e)}=${tt(t)}`);return i.join(`&`)}function at(e){let t=e.host??`localhost`,n=e.pathname??`/simulator.html`,r=it(e.appId,e.page,e.extras??{});return`http://${t}:${e.port}${n}?${r}`}function ot(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(`,`)),at({appId:e,page:{pagePath:i,query:a},port:n,extras:o})}function st(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=rt(r),a=t.get(`page`);return{appId:n,entry:i,current:a&&a!==r?rt(a):i}}function ct(e){if(!e)return null;try{return st(new URL(e).search)}catch{return null}}function lt(e){return ct(e)?.current.pagePath??``}function ut(e){let{compileStatus:t,sendDeviceInfo:n,simPanelWidthRef:r,deviceRef:i,appInfo:a,compileConfig:o,port:s,projectPath:c,hotReloadToken:l}=e,u=(0,O.useMemo)(()=>!a||!s?``:ot(a.appId,o,s),[a,o,s]),[d,f]=(0,O.useState)(()=>lt(u));(0,O.useEffect)(()=>{f(lt(u))},[u]),(0,O.useEffect)(()=>te(e=>{e&&f(e)}),[]);let p=(0,O.useRef)({currentPage:d,compileConfig:o,appInfo:a,port:s});(0,O.useEffect)(()=>{p.current={currentPage:d,compileConfig:o,appInfo:a,port:s}});let m=(0,O.useRef)(l);return(0,O.useEffect)(()=>{if(t.status!==`ready`||!u)return;let e=l!==m.current;m.current=l;let a=u;if(e){let e=p.current;if(e.appInfo&&e.port){let t=e.currentPage||e.compileConfig.startPage;a=ot(e.appInfo.appId,t===e.compileConfig.startPage?e.compileConfig:{...e.compileConfig,startPage:t,queryParams:[]},e.port)}}n(i.current);let o=!1,s=null,d=()=>{o||(s=window.setTimeout(()=>{o||Ve(c).catch(()=>{})},3e3))},f=()=>{re(a,r.current).then(d).catch(()=>{})};return e?ne(a).then(e=>{if(!o){if(e===!0){d();return}f()}}).catch(()=>{o||f()}):f(),()=>{o=!0,s!==null&&window.clearTimeout(s)}},[t.status,u,l,r,i,n,c]),{simulatorUrl:u,currentPage:d}}function dt(e){return(e??``).replace(/^\/+/,``)}function ft(e,t=``){let n=e.map(e=>e.id),r=n.join(`\0`),[i,a]=(0,O.useState)(null),[o,s]=(0,O.useState)(``),[c,l]=(0,O.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=>dt(e.pagePath)===dt(t))?.id??null:null;return{activeBridgeId:i&&n.includes(i)?i:u??n.at(-1)??null,setActiveBridge:e=>{n.includes(e)&&a(e)}}}function pt(e){let{getChannel:t,eventChannel:n,initial:r,enabled:i}=e,[a,o]=(0,O.useState)(r),s=(0,O.useCallback)(()=>{i&&m(t).then(e=>{e!==void 0&&o(e)})},[i,t]);return(0,O.useEffect)(()=>{i&&s()},[i,s]),(0,O.useEffect)(()=>{if(i)return p(n,e=>o(e))},[i,n]),{data:a,refresh:s}}var mt={bridges:[],entries:{}};function ht(e){let{compileStatus:t,activePagePath:n=``}=e,[r,i]=(0,O.useState)([]),o=t.status===`ready`,c=pt({getChannel:s.GetSnapshot,eventChannel:s.Event,initial:null,enabled:o}),u=pt({getChannel:a.GetSnapshot,eventChannel:a.Event,initial:mt,enabled:o}),d=u.data,{activeBridgeId:h,setActiveBridge:g}=ft(d.bridges,n),_={bridges:d.bridges,activeBridgeId:h,entries:d.entries},v=g,y=u.refresh,b=(0,O.useCallback)(async()=>{let e=await m(l.GetSnapshot);e&&i(e)},[]);(0,O.useEffect)(()=>{o&&b()},[o,b]);let x=(0,O.useCallback)(e=>{m(s.SetActive,e)},[]),S=(0,O.useCallback)(async(e,t)=>await m(l.Set,{key:e,value:t})??{ok:!1,error:`ipc transport failed`},[]),C=(0,O.useCallback)(async e=>await m(l.Remove,{key:e})??{ok:!1,error:`ipc transport failed`},[]),w=(0,O.useCallback)(async()=>await m(l.Clear)??{ok:!1,error:`ipc transport failed`},[]),T=(0,O.useCallback)(async()=>await m(l.ClearAll)??{ok:!1,error:`ipc transport failed`},[]),E=(0,O.useCallback)(async()=>await m(l.GetActivePrefix)??``,[]),ee=(0,O.useCallback)(async e=>await m(f.Inspect,e),[]),te=(0,O.useCallback)(async()=>{await m(f.Clear)},[]);return(0,O.useEffect)(()=>p(l.Event,e=>{e.type===`cleared`?i([]):e.type===`added`||e.type===`updated`?i(t=>{let n=t.findIndex(t=>t.key===e.key),r=n>=0?[...t]:[...t,{key:e.key,value:e.newValue}];return n>=0&&(r[n]={key:e.key,value:e.newValue}),r}):e.type===`removed`&&i(t=>t.filter(t=>t.key!==e.key))}),[]),{wxmlTree:c.data,appData:_,storageItems:r,refreshWxml:c.refresh,refreshAppData:y,setActiveAppDataBridge:v,refreshStorage:b,setWxmlActive:x,setStorageItem:S,removeStorageItem:C,clearStorage:w,clearAllStorage:T,getStoragePrefix:E,inspectWxmlElement:ee,clearWxmlElementInspection:te}}function gt(e){let{initialRightPane:t}=e,[n,r]=(0,O.useState)(t);return{rightPane:n,selectRightPane:(0,O.useCallback)(e=>{r({selected:e,simulatorVisible:!0})},[]),toggleRightPaneVisible:(0,O.useCallback)(()=>{r(e=>({...e,simulatorVisible:!e.simulatorVisible}))},[])}}function _t(e){let{relaunch:t,compileConfig:n,pages:r,compileDropdownRef:i}=e,[a,o]=(0,O.useState)(!1),s=(0,O.useRef)(t);(0,O.useEffect)(()=>{s.current=t},[t]),(0,O.useEffect)(()=>{let e=ie(()=>o(!1)),t=S(e=>{o(!1),s.current(e)});return()=>{e(),t()}},[]);let c=(0,O.useRef)(n),l=(0,O.useRef)(r);return(0,O.useEffect)(()=>{c.current=n},[n]),(0,O.useEffect)(()=>{l.current=r},[r]),{showCompilePanel:a,toggleCompilePanel:(0,O.useCallback)(()=>{o(e=>{if(e)return ee(),!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 vt(e){let{projectPath:t,initialDevice:n=T[1],initialRightPane:r=qe}=e,i=(0,O.useRef)(null),a=(0,O.useRef)(null),o=Xe({initialDevice:n}),s=$e({projectPath:t});(0,O.useEffect)(()=>{s.compileStatus.status===`ready`&&o.setSimPanelWidth(o.device.width+48)},[o.device.width,s.compileStatus.status,o.setSimPanelWidth]);let c=ut({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}),l=ht({compileStatus:s.compileStatus,activePagePath:c.currentPage}),u=gt({initialRightPane:r}),d=_t({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},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},panelData:{wxmlTree:l.wxmlTree,appData:l.appData,storageItems:l.storageItems,refreshWxml:l.refreshWxml,refreshAppData:l.refreshAppData,setActiveAppDataBridge:l.setActiveAppDataBridge,refreshStorage:l.refreshStorage,setWxmlActive:l.setWxmlActive,setStorageItem:l.setStorageItem,removeStorageItem:l.removeStorageItem,clearStorage:l.clearStorage,clearAllStorage:l.clearAllStorage,getStoragePrefix:l.getStoragePrefix,inspectWxmlElement:l.inspectWxmlElement,clearWxmlElementInspection:l.clearWxmlElementInspection},rightPane:{rightPane:u.rightPane,selectRightPane:u.selectRightPane,toggleRightPaneVisible:u.toggleRightPaneVisible},popover:{compileDropdownRef:a,showCompilePanel:d.showCompilePanel,toggleCompilePanel:d.toggleCompilePanel}}}var yt={dockTree:null,simulatorAlignment:`left`,devtoolsPosition:`inEditor`},bt=`dimina-devtools.layout.v1`;function xt(){try{let e=window.localStorage.getItem(bt);if(!e)return yt;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 yt}}function St(e){try{window.localStorage.setItem(bt,JSON.stringify(e))}catch{}}function Ct(){let[e,t]=(0,O.useState)(xt);return(0,O.useEffect)(()=>{St(e)},[e]),{state:e,setDockTree:(0,O.useCallback)(e=>{t(t=>t.dockTree===e?t:{...t,dockTree:e})},[]),setSimulatorAlignment:(0,O.useCallback)(e=>{t(t=>t.simulatorAlignment===e?t:{...t,simulatorAlignment:e})},[]),setDevtoolsPosition:(0,O.useCallback)(e=>{t(t=>t.devtoolsPosition===e?t:{...t,devtoolsPosition:e})},[])}}var wt={compiling:`bg-status-warn animate-[pulse_1s_infinite]`,ready:`bg-accent`,error:`bg-status-error`};function Tt({status:e}){return(0,k.jsx)(`span`,{className:_(`w-1.5 h-1.5 rounded-full shrink-0`,wt[e]??`bg-border`)})}function Et(){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 Dt=64;function Ot(e){return JSON.stringify(e)}function kt(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 At(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 jt(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)At(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 Mt(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 Nt(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)Mt(e,t,n)||(i=!1);i&&n.push(`split ${t??`?`}: all children are px-sized constraints; at least one must be weight-sized`)}function Pt(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 Ft(e,t){let n=[],r={seenIds:new Set,seenObjects:new Set,panelOwners:new Map,knownPanelIds:t},i=(e,t,a)=>{if(t>Dt){n.push(`depth exceeds ${Dt}`);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;kt(l,c,r,n),c===`tabs`?jt(e,l,r,n):c===`split`?It(e,l,t,a,o,r,n,i):n.push(`unknown node kind: ${String(c)}`)};return i(e,0,new Set),n}function It(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&&Nt(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}`),Pt(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 Lt(e,t){return typeof e!=`object`||!e?[`tree is not an object`]:e.version===1?Ft(e.root,t):[`unsupported version: ${String(e.version)}`]}function Rt(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=Ft(n.root,null);if(r.length>0)throw Error(`parseLayout: illegal layout — ${r.join(`; `)}`);return{version:1,root:n.root}}var zt=1;function Bt(e,t){return(e.constraints?.[t]??null)===null}function Vt(e){if(e.kind===`tabs`)return e;let t=e.children.map(Vt),n=t.some((t,n)=>t!==e.children[n]),r=e.sizes.map((t,r)=>!Bt(e,r)||typeof t==`number`&&Number.isFinite(t)&&t>0?t:(n=!0,zt));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 Ht(e){let t=Vt(e.root);return t===e.root?e:{version:1,root:t}}function A(e,t,n){return{kind:`tabs`,id:e,panels:t,active:n}}function Ut(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 Wt(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=Wt(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 Gt(e){let t=Wt(e);if(t===null)throw Error(`mutation would empty the entire layout`);return t}function Kt(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?{group:n}:null}function qt(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 Jt(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 Yt(e,t){return Jt(e).has(t)}function Xt(e){let t=new Set,n=e=>{t.add(e.id),e.kind===`split`&&e.children.forEach(n)};return n(e),t}function Zt(e,t){let n=t,r=2;for(;e.has(n);)n=`${t}#${r}`,r+=1;return e.add(n),n}function Qt(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 j(e,t,n){if(e.id===t)return n;if(e.kind===`tabs`)return A(e.id,[...e.panels],e.active);let r={kind:`split`,id:e.id,orientation:e.orientation,children:e.children.map(e=>j(e,t,n)),sizes:[...e.sizes]};return e.constraints===void 0?r:{...r,constraints:[...e.constraints]}}function $t(e){if(e.kind===`tabs`)return A(e.id,[...e.panels],e.active);let t={kind:`split`,id:e.id,orientation:e.orientation,children:e.children.map($t),sizes:[...e.sizes]};return e.constraints===void 0?t:{...t,constraints:[...e.constraints]}}function M(e){return{version:1,root:e}}function en(e,t,n){let r=Qt(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($t),sizes:[...n]},a=r.constraints===void 0?i:{...i,constraints:[...r.constraints]};return M(j(e.root,t,a))}function tn(e,t,n,r){let i=Qt(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($t),sizes:[...i.sizes],constraints:a};return M(j(e.root,t,o))}function nn(e,t,n){let r=qt(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=A(r.id,[...r.panels],n);return M(j(e.root,t,i))}function rn(e,t){let n=Kt(e,t);if(!n)throw Error(`panel not found: ${t}`);let{group:r}=n,i=r.panels.indexOf(t),a=r.panels.filter(e=>e!==t),o=A(r.id,a,Ut(a,r.active,i));return Gt(j(e,r.id,o))}function an(e,t){let n=Jt(e.root);return n.size===1&&n.has(t)?e:M(rn(e.root,t))}function on(e,t){if(!Kt(e.root,t))throw Error(`extractPanel: panel not found: ${t}`);return{tree:M(rn(e.root,t)),extracted:t}}function sn(e,t,n){if(Yt(e.root,t))throw Error(`insertPanel: panel already exists in the tree: ${t}`);let r=qt(e.root,n.groupId);if(!r)throw Error(`insertPanel: dest group not found: ${n.groupId}`);let i=[...r.panels],a=cn(n.index,i.length);i.splice(a,0,t);let o=A(r.id,i,r.active);return M(Gt(j(e.root,r.id,o)))}function cn(e,t){return e===void 0?t:e<0?0:e>t?t:e}function ln(e,t,n){let r=Kt(e.root,t);if(!r)throw Error(`movePanel: panel not found: ${t}`);let i=qt(e.root,n.groupId);if(!i)throw Error(`movePanel: dest group not found: ${n.groupId}`);if(r.group.id===i.id){let i=r.group.panels.filter(e=>e!==t),a=cn(n.index,i.length),o=[...i];o.splice(a,0,t);let s=A(r.group.id,o,r.group.active);return M(Gt(j(e.root,r.group.id,s)))}let a=r.group.panels.indexOf(t),o=r.group.panels.filter(e=>e!==t),s=A(r.group.id,o,Ut(o,r.group.active,a)),c=[...i.panels],l=cn(n.index,c.length);c.splice(l,0,t);let u=A(i.id,c,i.active),d=j(e.root,r.group.id,s);return d=j(d,i.id,u),M(Gt(d))}function N(e,t,n,r,i){if(Yt(e.root,r))throw Error(`splitPanel: new panel already exists in the tree: ${r}`);let a=Kt(e.root,t);if(!a)throw Error(`splitPanel: panel not found: ${t}`);let{group:o}=a,s=Xt(e.root),c=o.id,l=A(Zt(s,`${c}__split`),[t],t),u=A(Zt(s,`${c}__new`),[r],r),d=i===`after`?[l,u]:[u,l],f={kind:`split`,id:Zt(s,`${c}__sp`),orientation:n,children:d,sizes:[1,1]};if(o.panels.length===1)return M(Gt(j(e.root,c,f)));let p=o.panels.indexOf(t),m=o.panels.filter(e=>e!==t),h=A(c,m,Ut(m,o.active,p)),g=i===`after`?[h,f]:[f,h],_={kind:`split`,id:Zt(s,`${c}__outer`),orientation:n,children:g,sizes:[1,1]};return M(Gt(j(e.root,c,_)))}function un(e){let t=structuredClone(e),n=0,r=new Set,i=!1,a=[],o=e=>{t=e(t),n+=1;let i={tree:t,revision:n};for(let e of[...r])try{e(i)}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 dn(e,t,n){return n.get(t)?.closable===!1?e:an(e,t)}function fn(){let e=Et();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 pn(e){return{version:1,root:{kind:`split`,id:`root`,orientation:`row`,sizes:[1,6],constraints:[{minPx:e},null],children:[{kind:`tabs`,id:`g-sim`,panels:[`simulator`],active:`simulator`},{kind:`split`,id:`col-main`,orientation:`column`,sizes:[70,30],children:[{kind:`tabs`,id:`g-editor`,panels:[`editor`],active:`editor`},{kind:`tabs`,id:`g-debug`,panels:[`wxml`,`appdata`,`storage`,`console`,`compile`],active:`wxml`}]}]}}}var mn={kind:`tabs`,id:`g-debug`,panels:[`wxml`,`appdata`,`storage`,`console`,`compile`],active:`wxml`},hn=()=>({kind:`tabs`,id:`g-sim`,panels:[`simulator`],active:`simulator`}),gn=()=>({kind:`tabs`,id:`g-editor`,panels:[`editor`],active:`editor`}),_n=()=>({...mn,panels:[...mn.panels]});function vn(e,t,n,r){return{version:1,root:{kind:`split`,id:`root`,orientation:`row`,sizes:e.map((e,t)=>r[t]??1),constraints:e.map((e,r)=>r===t?{minPx:n}:null),children:e}}}function yn(e,t,n){let r=t===`left`;if(n===`belowSimulator`){let t={kind:`split`,id:`col-sim`,orientation:`column`,sizes:[60,40],children:[hn(),_n()]};return r?vn([t,gn()],0,e,[1,6]):vn([gn(),t],1,e,[6,1])}if(n===`rightOfSimulator`)return r?vn([hn(),_n(),gn()],0,e,[1,4,5]):vn([gn(),_n(),hn()],2,e,[5,4,1]);let i={kind:`split`,id:`col-main`,orientation:`column`,sizes:[70,30],children:[gn(),_n()]};return r?vn([hn(),i],0,e,[1,6]):vn([i,hn()],1,e,[6,1])}function bn(e,t,n){return un(xn(e,t,n))}function xn(e,t,n){if(e===null)return pn(t);try{let t=Rt(e);if(Lt(t,n).length===0)return Ht(t)}catch{}return pn(t)}var Sn=[`wxml`,`appdata`,`storage`,`console`,`compile`];function Cn(e,t){if(e.kind===`tabs`){for(let n of e.panels)t.add(n);return}for(let n of e.children)Cn(n,t)}function wn(e){let t=new Set;return Cn(e.root,t),t}function Tn(e,t){if(e.kind===`tabs`)return e.panels.includes(t)?e.id:void 0;for(let n of e.children){let e=Tn(n,t);if(e!==void 0)return e}}function En(e,t){return t.find(t=>e.has(t))}function Dn(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=Dn(e.children[n],t);if(r)return r}return null}function On(e,t){let n=Tn(e.root,`simulator`);if(!n)return e;let r=Dn(e.root,n);return r?tn(e,r.splitId,r.childIndex,{minPx:t}):e}function kn(e,t,n){let r=wn(e);if(r.has(t))return e;if(Sn.includes(t)){let n=Sn.find(e=>e!==t&&r.has(e));return n?sn(e,t,{groupId:Tn(e.root,n)}):r.has(`editor`)?N(e,`editor`,`column`,t,`after`):r.has(`simulator`)?N(e,`simulator`,`row`,t,`after`):N(e,[...r][0],`column`,t,`after`)}if(t===`editor`){let t=En(r,Sn);return t?N(e,t,`column`,`editor`,`before`):r.has(`simulator`)?N(e,`simulator`,`row`,`editor`,`after`):N(e,[...r][0],`column`,`editor`,`before`)}return t===`simulator`?On(N(e,En(r,[`editor`,...Sn])??[...r][0],`row`,`simulator`,`before`),n):N(e,[...r][0],`column`,t,`after`)}function An(e,t){let n=wn(e);return t.list().map(e=>({id:e.id,title:e.title??e.id,open:n.has(e.id)}))}var jn=[`wxml`,`appdata`,`storage`,`console`,`compile`];function Mn({model:e,registry:t,simPanelWidth:n}){let[,r]=(0,O.useState)(0);(0,O.useEffect)(()=>e.subscribe(()=>r(e=>e+1)),[e]);let i=new Set(An(e.get(),t).filter(e=>e.open).map(e=>e.id)),a=i.has(`simulator`),o=i.has(`editor`),s=jn.some(e=>i.has(e)),c=[a,o,s].filter(Boolean).length;function l(r,i){e.apply(e=>i?dn(e,r,t):kn(e,r,n))}function u(){if(s){let t=jn.filter(e=>i.has(e));e.apply(e=>t.reduce((e,t)=>an(e,t),e))}else{let t=jn.filter(e=>!i.has(e));e.apply(e=>t.reduce((e,t)=>kn(e,t,n),e))}}return(0,k.jsxs)(`div`,{className:`flex items-center gap-0.5`,role:`group`,"aria-label":`面板可见性`,children:[(0,k.jsx)(Fn,{active:a,disabled:a&&c===1,onClick:()=>l(`simulator`,a),title:a?`隐藏模拟器`:`显示模拟器`,testId:`layout-toolbar-toggle-simulator`,icon:(0,k.jsx)(In,{filled:a})}),(0,k.jsx)(Fn,{active:o,disabled:o&&c===1,onClick:()=>l(`editor`,o),title:o?`隐藏编辑器`:`显示编辑器`,testId:`layout-toolbar-toggle-editor`,icon:(0,k.jsx)(Ln,{filled:o})}),(0,k.jsx)(Fn,{active:s,disabled:s&&c===1,onClick:u,title:s?`隐藏调试器`:`显示调试器`,testId:`layout-toolbar-toggle-debug`,icon:(0,k.jsx)(Rn,{filled:s})})]})}function Nn({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(()=>yn(n,r,i))}return(0,k.jsx)(D,{variant:`icon`,size:`icon`,onClick:o,title:a?`模拟器位置:左侧(点击切换到右侧)`:`模拟器位置:右侧(点击切换到左侧)`,"data-testid":`layout-toolbar-alignment-toggle`,"data-alignment":r,className:`text-text-muted hover:text-text hover:bg-surface-3`,children:(0,k.jsx)(zn,{side:r})})}function Pn({model:e,layout:t,simPanelWidth:n}){let{simulatorAlignment:r,devtoolsPosition:i}=t.state;function a(i){t.setDevtoolsPosition(i),e.apply(()=>yn(n,r,i))}return(0,k.jsx)(`div`,{className:`flex items-center gap-0.5`,role:`group`,"aria-label":`调试器位置`,children:[{id:`inEditor`,title:`调试器位置:在编辑器面板中`},{id:`belowSimulator`,title:`调试器位置:在模拟器下方`},{id:`rightOfSimulator`,title:`调试器位置:在模拟器右侧`}].map(e=>(0,k.jsx)(Fn,{active:i===e.id,onClick:()=>a(e.id),title:e.title,testId:`layout-toolbar-devtools-${e.id}`,icon:(0,k.jsx)(Bn,{variant:e.id})},e.id))})}function Fn({active:e,disabled:t,onClick:n,title:r,testId:i,icon:a}){return(0,k.jsx)(D,{variant:`icon`,size:`icon`,onClick:n,disabled:t,title:r,"aria-pressed":e,"data-testid":i,"data-active":e?`true`:`false`,className:_(`text-text-muted/45 hover:text-text-muted hover:bg-surface-3`,e&&`bg-surface-active text-text ring-1 ring-accent/50 hover:bg-surface-active hover:text-text`),children:a})}function In({filled:e}){return(0,k.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:e?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`rect`,{x:`4`,y:`1.5`,width:`8`,height:`13`,rx:`1.5`,fill:`currentColor`,stroke:`currentColor`}),(0,k.jsx)(`line`,{x1:`6.5`,y1:`12.5`,x2:`9.5`,y2:`12.5`,stroke:`var(--color-surface-2)`,strokeWidth:`1.2`})]}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(`rect`,{x:`4`,y:`1.5`,width:`8`,height:`13`,rx:`1.5`}),(0,k.jsx)(`line`,{x1:`6.5`,y1:`12.5`,x2:`9.5`,y2:`12.5`})]})})}function Ln({filled:e}){return(0,k.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:e?2:1.6,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,k.jsx)(`polyline`,{points:`5,4 1.5,8 5,12`}),(0,k.jsx)(`polyline`,{points:`11,4 14.5,8 11,12`}),(0,k.jsx)(`line`,{x1:`9.5`,y1:`3`,x2:`6.5`,y2:`13`})]})}function Rn({filled:e}){return(0,k.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[e?(0,k.jsx)(`ellipse`,{cx:`8`,cy:`9`,rx:`3.5`,ry:`4.5`,fill:`currentColor`,stroke:`currentColor`}):(0,k.jsx)(`ellipse`,{cx:`8`,cy:`9`,rx:`3.5`,ry:`4.5`}),(0,k.jsx)(`line`,{x1:`6`,y1:`3.5`,x2:`5`,y2:`2`}),(0,k.jsx)(`line`,{x1:`10`,y1:`3.5`,x2:`11`,y2:`2`}),(0,k.jsx)(`line`,{x1:`4.5`,y1:`7.5`,x2:`2`,y2:`6.5`}),(0,k.jsx)(`line`,{x1:`4.5`,y1:`9.5`,x2:`2`,y2:`9.5`}),(0,k.jsx)(`line`,{x1:`4.5`,y1:`11.5`,x2:`2`,y2:`12.5`}),(0,k.jsx)(`line`,{x1:`11.5`,y1:`7.5`,x2:`14`,y2:`6.5`}),(0,k.jsx)(`line`,{x1:`11.5`,y1:`9.5`,x2:`14`,y2:`9.5`}),(0,k.jsx)(`line`,{x1:`11.5`,y1:`11.5`,x2:`14`,y2:`12.5`})]})}function zn({side:e}){return(0,k.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,k.jsx)(`rect`,{x:`2`,y:`3`,width:`12`,height:`10`,rx:`1.5`}),e===`left`?(0,k.jsx)(`rect`,{x:`2.6`,y:`3.6`,width:`4.8`,height:`8.8`,rx:`0.8`,fill:`currentColor`,stroke:`none`}):(0,k.jsx)(`rect`,{x:`8.6`,y:`3.6`,width:`4.8`,height:`8.8`,rx:`0.8`,fill:`currentColor`,stroke:`none`})]})}function Bn({variant:e}){return e===`inEditor`?(0,k.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,"aria-hidden":`true`,children:[(0,k.jsx)(`rect`,{x:`2`,y:`3`,width:`12`,height:`10`,rx:`1.5`}),(0,k.jsx)(`line`,{x1:`6.5`,y1:`3`,x2:`6.5`,y2:`13`}),(0,k.jsx)(`rect`,{x:`7.1`,y:`8.5`,width:`6.3`,height:`4`,rx:`0.6`,fill:`currentColor`,stroke:`none`})]}):e===`belowSimulator`?(0,k.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,"aria-hidden":`true`,children:[(0,k.jsx)(`rect`,{x:`2`,y:`3`,width:`12`,height:`10`,rx:`1.5`}),(0,k.jsx)(`line`,{x1:`8`,y1:`3`,x2:`8`,y2:`13`}),(0,k.jsx)(`rect`,{x:`2.6`,y:`8.5`,width:`4.8`,height:`4`,rx:`0.6`,fill:`currentColor`,stroke:`none`})]}):(0,k.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.2`,"aria-hidden":`true`,children:[(0,k.jsx)(`rect`,{x:`2`,y:`3`,width:`12`,height:`10`,rx:`1.5`}),(0,k.jsx)(`line`,{x1:`6`,y1:`3`,x2:`6`,y2:`13`}),(0,k.jsx)(`line`,{x1:`9.5`,y1:`3`,x2:`9.5`,y2:`13`}),(0,k.jsx)(`rect`,{x:`6.3`,y:`3.6`,width:`3`,height:`8.8`,rx:`0.6`,fill:`currentColor`,stroke:`none`})]})}function Vn(){return(0,k.jsx)(`div`,{className:`w-px h-4 bg-border mx-1`,"aria-hidden":`true`})}function Hn({compileDropdownRef:e,showCompilePanel:t,onToggleCompilePanel:n,onRelaunch:r,compileStatus:i,dockModel:a,dockRegistry:o,layout:s,simPanelWidth:c}){return(0,k.jsx)(`div`,{className:`flex flex-col shrink-0`,children:(0,k.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,k.jsx)(`div`,{ref:e,children:(0,k.jsxs)(D,{variant:`outline`,size:`sm`,onClick:n,className:_(t&&`border-accent`),title:`编译模式`,children:[`普通编译 `,(0,k.jsx)(`span`,{className:`text-[10px] text-text-secondary`,children:`▾`})]})}),(0,k.jsx)(Vn,{}),(0,k.jsx)(D,{variant:`icon`,size:`icon`,onClick:()=>{r()},disabled:i.status===`compiling`,title:`重新编译`,children:`↺`}),(0,k.jsxs)(`div`,{className:`flex items-center gap-1.5 px-1.5 shrink-0`,children:[(0,k.jsx)(Tt,{status:i.status}),(0,k.jsx)(`span`,{className:`text-[11px] text-text-muted max-w-28 truncate`,children:i.message})]}),(0,k.jsx)(`div`,{className:`flex-1 min-w-2`}),(0,k.jsx)(Mn,{model:a,registry:o,simPanelWidth:c}),(0,k.jsx)(Vn,{}),(0,k.jsx)(Nn,{model:a,layout:s,simPanelWidth:c}),(0,k.jsx)(Vn,{}),(0,k.jsx)(Pn,{model:a,layout:s,simPanelWidth:c}),(0,k.jsx)(Vn,{}),(0,k.jsx)(D,{variant:`icon`,size:`icon`,onClick:()=>{ue(!0)},title:`设置`,children:`⚙`})]})})}var Un={x:0,y:0,width:0,height:0},Wn=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 Gn(e,t){let n=t.present,r=t.publish,i=null,a=null,o=!1,s=()=>{let t=e.getBoundingClientRect();return Wn({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(Un))};return f(),{update(e){o||(r=e.publish,n=e.present,f())},dispose(){o||(o=!0,d())}}}function Kn(e){let t=e.getBoundingClientRect();return{visible:!0,bounds:Wn({x:t.left,y:t.top,width:t.width,height:t.height})}}var qn=(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 Jn(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=Kn(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&&qn(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&&qn(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 Yn(e){let t=(0,O.useRef)(null),n=(0,O.useRef)(null),r=(0,O.useRef)(e);r.current=e;let i=(0,O.useRef)([e.present,e.publish,...e.deps??[]]),a=(0,O.useRef)(()=>{let e=t.current;e&&(e.update({present:!1,publish:r.current.publish}),e.dispose(),t.current=null)}),o=(0,O.useCallback)(e=>{e!==n.current&&(n.current=e,t.current&&(e?(t.current.dispose(),t.current=null):a.current()),e&&(t.current=Gn(e,{present:r.current.present,publish:r.current.publish}),i.current=[r.current.present,r.current.publish,...r.current.deps??[]]))},[]);return(0,O.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,O.useEffect)(()=>{let e=a.current;return n.current&&!t.current&&(t.current=Gn(n.current,{present:r.current.present,publish:r.current.publish})),()=>{n.current===null&&e()}},[]),o}var Xn=(0,O.createContext)(null);function Zn(){return(0,O.useContext)(Xn)}var Qn={simulator:`simulator`,simulatorDevtools:`simulator-devtools`,workbench:`workbench`,hostToolbar:`host-toolbar`,settings:`settings`,popover:`popover`},$n={base:0,hostToolbar:5,settings:10,popover:20};function er(e,t){let n=getComputedStyle(e);return t*parseFloat(n.fontSize)}function tr(e,t){let n=getComputedStyle(e.ownerDocument.body);return t*parseFloat(n.fontSize)}function nr(e){return e/100*window.innerHeight}function rr(e){return e/100*window.innerWidth}function ir(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 ar({groupSize:e,panelElement:t,styleProp:n}){let r,[i,a]=ir(n);switch(a){case`%`:r=i/100*e;break;case`px`:r=i;break;case`rem`:r=tr(t,i);break;case`em`:r=er(t,i);break;case`vh`:r=nr(i);break;case`vw`:r=rr(i);break}return r}function P(e){return parseFloat(e.toFixed(3))}function or({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 sr(e){let{panels:t}=e,n=or({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=P(ar({groupSize:n,panelElement:t,styleProp:r.collapsedSize})/n*100));let a;r.defaultSize!==void 0&&(a=P(ar({groupSize:n,panelElement:t,styleProp:r.defaultSize})/n*100));let o=0;r.minSize!==void 0&&(o=P(ar({groupSize:n,panelElement:t,styleProp:r.minSize})/n*100));let s=100;return r.maxSize!==void 0&&(s=P(ar({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 F(e,t=`Assertion error`){if(!e)throw Error(t)}function cr(e,t){return Array.from(t).sort(e===`horizontal`?lr:ur)}function lr(e,t){let n=e.element.offsetLeft-t.element.offsetLeft;return n===0?e.element.offsetWidth-t.element.offsetWidth:n}function ur(e,t){let n=e.element.offsetTop-t.element.offsetTop;return n===0?e.element.offsetHeight-t.element.offsetHeight:n}function dr(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.ELEMENT_NODE}function fr(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 pr({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}=fr(r,n),s=e===`horizontal`?t:o;s<a&&(a=s,i=n)}return F(i,`No rect found`),i}var mr;function hr(){return mr===void 0&&(mr=typeof matchMedia==`function`?!!matchMedia(`(pointer:coarse)`).matches:!1),mr}function gr(e){let{element:t,orientation:n,panels:r,separators:i}=e,a=cr(n,Array.from(t.children).filter(dr).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,pr({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=hr()?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:or({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 _r=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)}}},I=new Map,vr=new _r;function yr(e){I=new Map(I),I.delete(e)}function br(e,t){for(let[t]of I)if(t.id===e)return t}function xr(e,t){for(let[t,n]of I)if(t.id===e)return n;if(t)throw Error(`Could not find data for Group with id ${e}`)}function Sr(){return I}function Cr(e,t){return vr.addListener(`groupChange`,n=>{n.group.id===e&&t(n)})}function L(e,t){let n=I.get(e);I=new Map(I),I.set(e,t),vr.emit(`groupChange`,{group:e,prev:n,next:t})}function wr(e,t,n){let r,i={x:1/0,y:1/0};for(let a of t){let t=fr(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 Tr(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function Er(e,t){if(e===t)throw Error(`Cannot compare node with itself`);let n={a:Mr(e),b:Mr(t)},r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();F(r,`Stacking order can only be calculated for elements with a common ancestor`);let i={a:jr(Ar(n.a)),b:jr(Ar(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 Dr=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function Or(e){let t=getComputedStyle(Nr(e)??e).display;return t===`flex`||t===`inline-flex`}function kr(e){let t=getComputedStyle(e);return!!(t.position===`fixed`||t.zIndex!==`auto`&&(t.position!==`static`||Or(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`||Dr.test(t.willChange)||t.webkitOverflowScrolling===`touch`)}function Ar(e){let t=e.length;for(;t--;){let n=e[t];if(F(n,`Missing node`),kr(n))return n}return null}function jr(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Mr(e){let t=[];for(;e;)t.push(e),e=Nr(e);return t}function Nr(e){let{parentNode:t}=e;return Tr(t)?t.host:t}function Pr(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 Fr({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!dr(n)||n.contains(e)||e.contains(n))return!0;if(Er(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(Pr(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function Ir(e,t){let n=[];return t.forEach((t,r)=>{if(r.disabled)return;let i=gr(r),a=wr(r.orientation,i,{x:e.clientX,y:e.clientY});a&&a.distance.x<=0&&a.distance.y<=0&&Fr({groupElement:r.element,hitRegion:a.hitRegion.rect,pointerEventTarget:e.target})&&n.push(a.hitRegion)}),n}function Lr(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 R(e,t,n=0){return Math.abs(P(e)-P(t))<=n}function z(e,t){return R(e,t)?0:e>t?1:-1}function Rr({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(z(r,c)<0)if(a){let e=(i+c)/2;r=z(r,e)<0?i:c}else r=c;return r=Math.min(s,r),r=P(r),r}function zr({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(R(e,0))return t;let o=a===`imperative-api`,s=Object.values(t),c=Object.values(i),l=[...s],[u,d]=r;F(u!=null,`Invalid first pivot index`),F(d!=null,`Invalid second pivot index`);let f=0;switch(a){case`keyboard`:{let t=e<0?d:u,r=n[t];F(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(F(n!=null,`Previous layout not found for panel index ${t}`),R(n,i)){let t=o-n;z(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let t=e<0?u:d,r=n[t];F(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(F(n!=null,`Previous layout not found for panel index ${t}`),R(n,o)){let t=n-i;z(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}break;default:{let t=e<0?d:u,r=n[t];F(r,`Panel constraints not found for index ${t}`);let i=s[t],{collapsible:a,collapsedSize:o,minSize:c}=r;if(a&&z(i,c)<0)if(e>0){let t=c-o,n=t/2;z(i+e,c)<0&&(e=z(e,n)<=0?0:t)}else{let t=c-o,n=100-t/2;z(i-e,c)<0&&(e=z(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];F(e!=null,`Previous layout not found for panel index ${r}`);let a=Rr({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];F(i!=null,`Previous layout not found for panel index ${t}`);let a=i-r,c=Rr({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:i,size:a});if(!R(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(Lr(c,l))return i;{let t=e<0?d:u,r=s[t];F(r!=null,`Previous layout not found for panel index ${t}`);let i=r+f,a=Rr({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:r,size:i});if(l[t]=a,!R(a,i)){let t=i-a,r=e<0?d:u;for(;r>=0&&r<n.length;){let i=l[r];F(i!=null,`Previous layout not found for panel index ${r}`);let a=i+t,s=Rr({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:i,size:a});if(R(i,s)||(t-=s-i,l[r]=s),R(t,0))break;e>0?r--:r++}}}if(!R(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 Br(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(t[n]===void 0||z(e[n],t[n])!==0)return!1;return!0}function Vr({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(!R(i,100)&&r.length>0)for(let e=0;e<t.length;e++){let t=r[e];F(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];F(i!=null,`No layout data found for index ${e}`);let o=r[e];F(o!=null,`No layout data found for index ${e}`);let s=Rr({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:i,size:o});o!=s&&(a+=o-s,r[e]=s)}if(!R(a,0))for(let e=0;e<t.length;e++){let n=r[e];F(n!=null,`No layout data found for index ${e}`);let i=n+a,o=Rr({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:n,size:i});if(n!==o&&(a-=o-n,r[e]=o,R(a,0)))break}let o=Object.keys(e);return r.reduce((e,t,n)=>(e[o[n]]=t,e),{})}function Hr({groupId:e,panelId:t}){let n=()=>{let t=Sr();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=Vr({layout:zr({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});Br(l,p)||L(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&&R(t,n)},resize:e=>{let{group:t}=n(),{element:r}=i(),a=or({group:t});o(P(ar({groupSize:a,panelElement:r,styleProp:e})/a*100))}}}function Ur(e){e.defaultPrevented||Ir(e,Sr()).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=Hr({groupId:t.group.id,panelId:n.id});i&&r!==void 0&&(i.resize(r),e.preventDefault())}}})}function Wr(e){let t=Sr();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 Gr({groupId:e}){let t=()=>{let t=Sr();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=Vr({layout:e,panelConstraints:r});return n?o:(Br(o,c)||L(i,{defaultLayoutDeferred:n,derivedPanelConstraints:r,groupSize:a,layout:c,separatorToPanels:s}),c)}}}function Kr(e,t){let n=Wr(e),r=xr(n.id,!0),i=n.separators.find(t=>t.element===e);F(i,`Matching separator not found`);let a=r.separatorToPanels.get(i);F(a,`Matching panels not found`);let o=a.map(e=>n.panels.indexOf(e)),s=Gr({groupId:n.id}).getLayout(),c=Vr({layout:zr({delta:t,initialLayout:s,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:s,trigger:`keyboard`}),panelConstraints:r.derivedPanelConstraints});Br(s,c)||L(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:c,separatorToPanels:r.separatorToPanels})}function qr(e){if(e.defaultPrevented)return;let t=e.currentTarget,n=Wr(t);if(!n.disabled)switch(e.key){case`ArrowDown`:e.preventDefault(),n.orientation===`vertical`&&Kr(t,5);break;case`ArrowLeft`:e.preventDefault(),n.orientation===`horizontal`&&Kr(t,-5);break;case`ArrowRight`:e.preventDefault(),n.orientation===`horizontal`&&Kr(t,5);break;case`ArrowUp`:e.preventDefault(),n.orientation===`vertical`&&Kr(t,-5);break;case`End`:e.preventDefault(),Kr(t,100);break;case`Enter`:{e.preventDefault();let n=Wr(t),{derivedPanelConstraints:r,layout:i,separatorToPanels:a}=xr(n.id,!0),o=n.separators.find(e=>e.element===t);F(o,`Matching separator not found`);let s=a.get(o);F(s,`Matching panels not found`);let c=s[0],l=r.find(e=>e.panelId===c.id);if(F(l,`Panel metadata not found`),l.collapsible){let e=i[c.id];Kr(t,(l.collapsedSize===e?n.mutableState.expandedPanelSizes[c.id]??l.minSize:l.collapsedSize)-e)}break}case`F6`:{e.preventDefault();let n=Wr(t).separators.map(e=>e.element),r=Array.from(n).findIndex(t=>t===e.currentTarget);F(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(),Kr(t,-100);break}}var Jr={cursorFlags:0,state:`inactive`},Yr=new _r;function Xr(){return Jr}function Zr(e){return Yr.addListener(`change`,e)}function Qr(e){let t=Jr,n={...Jr};n.cursorFlags=e,Jr=n,Yr.emit(`change`,{prev:t,next:n})}function $r(e){let t=Jr;Jr=e,Yr.emit(`change`,{prev:t,next:e})}function ei(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=Sr(),n=Ir(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)}),$r({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:`active`}),n.length&&e.preventDefault()}var ti=e=>e,ni=()=>{},ri=1,ii=2,ai=4,oi=8,si=3,ci=12,li;function ui(){return li===void 0&&(li=!1,typeof window<`u`&&(window.navigator.userAgent.includes(`Chrome`)||window.navigator.userAgent.includes(`Firefox`))&&(li=!0)),li}function di({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&&ui()){let t=(e&ri)!==0,n=(e&ii)!==0,r=(e&ai)!==0,i=(e&oi)!==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 ui()?r>0&&i>0?`move`:r>0?`ew-resize`:`ns-resize`:r>0&&i>0?`grab`:r>0?`col-resize`:`row-resize`}}var fi=new WeakMap;function pi(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=fi.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&e.adoptedStyleSheets.push(n));let r=Xr();switch(r.state){case`active`:case`hover`:{let e=di({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}fi.set(e,{prevStyle:t,styleSheet:n})}function mi({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=zr({delta:d,initialLayout:f,panelConstraints:h,pivotIndices:e.panels.map(e=>l.indexOf(e)),prevLayout:_,trigger:`mouse-or-touch`});if(Br(t,_)){if(d!==0&&!u)switch(c){case`horizontal`:s|=d<0?ri:ii;break;case`vertical`:s|=d<0?ai:oi;break}}else L(e.group,{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:t,separatorToPanels:v})}});let c=0;t.movementX===0?c|=o&si:c|=s&si,t.movementY===0?c|=o&ci:c|=s&ci,Qr(c),pi(e)}function hi(e){let t=Sr(),n=Xr();switch(n.state){case`active`:mi({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function gi(e){if(e.defaultPrevented)return;let t=Xr(),n=Sr();switch(t.state){case`active`:if(e.buttons===0){$r({cursorFlags:0,state:`inactive`}),t.hitRegions.forEach(e=>{let t=xr(e.group.id,!0);L(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)}mi({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break;default:{let r=Ir(e,n);r.length===0?t.state!==`inactive`&&$r({cursorFlags:0,state:`inactive`}):$r({cursorFlags:0,hitRegions:r,state:`hover`}),pi(e.currentTarget);break}}}function _i(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(Xr().state){case`hover`:$r({cursorFlags:0,state:`inactive`})}}function vi(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=Xr();switch(t.state){case`active`:$r({cursorFlags:0,state:`inactive`}),t.hitRegions.length>0&&(pi(e.currentTarget),t.hitRegions.forEach(e=>{let t=xr(e.group.id,!0);L(e.group,t)}),e.preventDefault())}}function yi(e){let t=0,n=0,r={};for(let i of e)if(i.defaultSize!==void 0){t++;let e=P(i.defaultSize);n+=e,r[i.panelId]=e}else r[i.panelId]=void 0;let i=e.length-t;if(i!==0){let t=P((100-n)/i);for(let n of e)n.defaultSize===void 0&&(r[n.panelId]=t)}return r}function bi(e,t,n){if(!n[0])return;let r=e.panels.find(e=>e.element===t);if(!r||!r.onResize)return;let i=or({group:e}),a=e.orientation===`horizontal`?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,s={asPercentage:P(a/i*100),inPixels:a};r.mutableValues.prevSize=s,r.onResize(s,r.id,o)}function xi(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 Si({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=P(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]=P((r[e]??0)/a*l);else{let e=P(l/c.length);for(let t of c)u[t]=e}return u}function Ci(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 wi=new Map;function Ti(e){let t=!0;F(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=or({group:e});if(t===0)return;let n=xr(e.id);if(!n)return;let r=sr(e),i=n.defaultLayoutDeferred?yi(r):n.layout,a=Vr({layout:Si({group:e,nextGroupSize:t,prevGroupSize:n.groupSize,prevLayout:i}),panelConstraints:r});if(!n.defaultLayoutDeferred&&Br(n.layout,a)&&xi(n.derivedPanelConstraints,r)&&n.groupSize===t)return;L(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:r,groupSize:t,layout:a,separatorToPanels:n.separatorToPanels})}}else bi(e,i,n)}});a.observe(e.element),e.panels.forEach(e=>{F(!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=or({group:e}),s=sr(e),c=e.panels.map(({id:e})=>e).join(`,`),l=e.mutableState.defaultLayout;l&&(Ci(e.panels,l)||(l=void 0));let u=Vr({layout:e.mutableState.layouts[c]??l??yi(s),panelConstraints:s}),d=e.element.ownerDocument;wi.set(d,(wi.get(d)??0)+1);let f=new Map;return gr(e).forEach(e=>{e.separator&&f.set(e.separator,e.panels)}),L(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:s,groupSize:o,layout:u,separatorToPanels:f}),e.separators.forEach(e=>{F(!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`,qr)}),wi.get(d)===1&&(d.addEventListener(`dblclick`,Ur,!0),d.addEventListener(`pointerdown`,ei,!0),d.addEventListener(`pointerleave`,hi),d.addEventListener(`pointermove`,gi),d.addEventListener(`pointerout`,_i),d.addEventListener(`pointerup`,vi,!0)),function(){t=!1,wi.set(d,Math.max(0,(wi.get(d)??0)-1)),yr(e),e.separators.forEach(e=>{e.element.removeEventListener(`keydown`,qr)}),wi.get(d)||(d.removeEventListener(`dblclick`,Ur,!0),d.removeEventListener(`pointerdown`,ei,!0),d.removeEventListener(`pointerleave`,hi),d.removeEventListener(`pointermove`,gi),d.removeEventListener(`pointerout`,_i),d.removeEventListener(`pointerup`,vi,!0)),a.disconnect()}}function Ei(){let[e,t]=(0,O.useState)({});return[e,(0,O.useCallback)(()=>t({}),[])]}function Di(e){let t=(0,O.useId)();return`${e??t}`}var Oi=typeof window<`u`?O.useLayoutEffect:O.useEffect;function ki(e){let t=(0,O.useRef)(e);return Oi(()=>{t.current=e},[e]),(0,O.useCallback)((...e)=>t.current?.(...e),[t])}function Ai(...e){return ki(t=>{e.forEach(e=>{if(e)switch(typeof e){case`function`:e(t);break;case`object`:e.current=t;break}})})}function ji(e){let t=(0,O.useRef)({...e});return Oi(()=>{for(let n in e)t.current[n]=e[n]},[e]),t.current}var Mi=(0,O.createContext)(null);function Ni(e,t){let n=(0,O.useRef)({getLayout:()=>({}),setLayout:ti});(0,O.useImperativeHandle)(t,()=>n.current,[]),Oi(()=>{Object.assign(n.current,Gr({groupId:e}))})}function Pi({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,O.useRef)({onLayoutChange:{},onLayoutChanged:{}}),h=ki(e=>{Br(m.current.onLayoutChange,e)||(m.current.onLayoutChange=e,c?.(e))}),g=ki(e=>{Br(m.current.onLayoutChanged,e)||(m.current.onLayoutChanged=e,l?.(e))}),_=Di(s),v=(0,O.useRef)(null),[y,b]=Ei(),x=(0,O.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:d,separators:[]}),S=Ai(v,a);Ni(_,o);let C=ki((e,t)=>{let r=Xr(),i=br(e),a=xr(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=ji({defaultLayout:n,disableCursor:r}),T=(0,O.useMemo)(()=>({get disableCursor(){return!!w.disableCursor},getPanelStyles:C,id:_,orientation:u,registerPanel:e=>{let t=x.current;return t.panels=cr(u,[...t.panels,e]),b(),()=>{t.panels=t.panels.filter(t=>t!==e),b()}},registerSeparator:e=>{let t=x.current;return t.separators=cr(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=br(_),i=xr(_);r&&i&&L(r,{...i,derivedPanelConstraints:sr(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,O.useRef)(null);return Oi(()=>{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=Ti(r),{defaultLayoutDeferred:o,derivedPanelConstraints:s,layout:c}=xr(r.id,!0);!o&&s.length>0&&(h(c),g(c));let l=Cr(_,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=R(t.collapsedSize,i[t.panelId]),a=R(t.collapsedSize,n[t.panelId]);e&&!a&&(r.mutableState.expandedPanelSizes[t.panelId]=n[t.panelId])}}});let o=Xr().state!==`active`;h(i),o&&g(i)});return()=>{E.current=null,a(),l()}},[i,_,g,h,u,y,w]),(0,O.useEffect)(()=>{let e=E.current;e&&(e.mutableState.defaultLayout=n,e.mutableState.disableCursor=!!r)}),(0,k.jsx)(Mi.Provider,{value:T,children:(0,k.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})})}Pi.displayName=`Group`;function Fi(){let e=(0,O.useContext)(Mi);return F(e,`Group Context not found; did you render a Panel or Separator outside of a Group?`),e}function Ii(e,t){let{id:n}=Fi(),r=(0,O.useRef)({collapse:ni,expand:ni,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:ni});(0,O.useImperativeHandle)(t,()=>r.current,[]),Oi(()=>{Object.assign(r.current,Hr({groupId:n,panelId:e}))})}function Li({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=Di(c),_=ji({disabled:a}),v=(0,O.useRef)(null),y=Ai(v,o),{getPanelStyles:b,id:x,orientation:S,registerPanel:C,updatePanelProps:w}=Fi(),T=d!==null,E=ki((e,t,n)=>{d?.(e,c,n)});Oi(()=>{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,O.useEffect)(()=>{w(g,{disabled:a})},[a,g,w]),Ii(g,f);let ee=()=>{let e=b(x,g);if(e)return JSON.stringify(e)},te=(0,O.useSyncExternalStore)(e=>Cr(x,e),ee,ee),ne;return ne=te?JSON.parse(te):i?{flexGrow:void 0,flexShrink:void 0,flexBasis:i}:{flexGrow:1},(0,k.jsx)(`div`,{...m,"data-disabled":a||void 0,"data-panel":!0,"data-testid":g,id:g,ref:y,style:{...Ri,display:`flex`,flexBasis:0,flexShrink:1,overflow:`visible`,...ne},children:(0,k.jsx)(`div`,{className:t,style:{maxHeight:`100%`,maxWidth:`100%`,flexGrow:1,overflow:`auto`,...p,touchAction:S===`horizontal`?`pan-y`:`pan-x`},children:e})})}Li.displayName=`Panel`;var Ri={minHeight:0,maxHeight:`100%`,height:`auto`,minWidth:0,maxWidth:`100%`,width:`auto`,border:`none`,borderWidth:0,padding:0,margin:0};function zi({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=Vr({layout:zr({delta:l-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],i=Vr({layout:zr({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:a,valueNow:o}}function Bi({children:e,className:t,disabled:n,disableDoubleClick:r,elementRef:i,id:a,style:o,...s}){let c=Di(a),l=ji({disabled:n,disableDoubleClick:r}),[u,d]=(0,O.useState)({}),[f,p]=(0,O.useState)(`inactive`),[m,h]=(0,O.useState)(!1),g=(0,O.useRef)(null),_=Ai(g,i),{disableCursor:v,id:y,orientation:b,registerSeparator:x,updateSeparatorProps:S}=Fi(),C=b===`horizontal`?`vertical`:`horizontal`;Oi(()=>{let e=g.current;if(e!==null){let t={disabled:l.disabled,disableDoubleClick:l.disableDoubleClick,element:e,id:c},n=x(t),r=Zr(e=>{p(e.next.state!==`inactive`&&e.next.hitRegions.some(e=>e.separator===t)?e.next.state:`inactive`)}),i=Cr(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(zi({layout:r,panelConstraints:n,panelId:e.id,panelIndex:t}))}});return()=>{r(),i(),n()}}},[y,c,x,l]),(0,O.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,k.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})}Bi.displayName=`Separator`;function Vi(e,t,n=.25){let{width:r,height:i}=e,{x:a,y:o}=t;if(!(r>0)||!(i>0)||!Number.isFinite(r)||!Number.isFinite(i)||!Number.isFinite(a)||!Number.isFinite(o))return`center`;let s=Number.isFinite(n)?Math.max(0,Math.min(.5,n)):.25,c=a<0?a:a>r?a-r:0,l=o<0?o:o>i?o-i:0;if(c!==0||l!==0){let e=Math.abs(c);return e>=Math.abs(l)&&e>0?c<0?`left`:`right`:l<0?`top`:`bottom`}let u=s*Math.min(r,i),d=a<u,f=a>r-u,p=o<u,m=o>i-u,h=d||f,g=p||m;return!h&&!g?`center`:h&&!g?d?`left`:`right`:g&&!h?p?`top`:`bottom`:(d?a/r:(r-a)/r)<=(p?o/i:(i-o)/i)?d?`left`:`right`:p?`top`:`bottom`}function Hi(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 Ui(e,t,n,r){return e===n.panelId||r===`center`&&t!==void 0&&t===n.groupId}function Wi(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}var Gi=`application/x-deck-panel`,Ki=null,qi=(0,O.createContext)(0);function Ji(){return(0,O.useContext)(qi)}function Yi(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 Xi(e,t){let n=e.map((e,t)=>t).filter(e=>(t?.[e]??null)===null),r=Yi(n.map(t=>e[t]??0)),i=new Map;return n.forEach((e,t)=>{i.set(e,r[t])}),i}function Zi(e){let{model:t,registry:n,renderDomPanel:r,bindNativeSlot:i,suppressReorderOnlyDropIndicator:a,onActiveTabClick:o}=e,[s,c]=(0,O.useState)(()=>t.get()),[l,u]=(0,O.useState)(0);(0,O.useEffect)(()=>(c(t.get()),t.subscribe(e=>{c(e.tree),u(e.revision)})),[t]);let d=(0,O.useCallback)((e,n)=>{t.apply(t=>nn(t,e,n))},[t]),f=(0,O.useCallback)(e=>{t.apply(t=>dn(t,e,n))},[t,n]),p=ea(s.root)>1,m=(0,O.useCallback)(e=>Qi(s.root,e)!==void 0,[s]),h=(0,O.useCallback)((e,n)=>{t.apply(t=>en(t,e,n))},[t]),g=(0,O.useCallback)((e,r,i,a,o)=>{let s={groupId:e,panelId:r},c=Qi(t.get().root,i);if(n.get(i)?.draggable===!1||n.get(r)?.draggable===!1)return;if(n.get(i)?.dropPolicy===`reorder-only`){if(c===void 0||c!==e||a!==`center`)return;let n=$i(t.get().root,e),s=o??(n?n.panels.indexOf(r):void 0);t.apply(t=>ln(t,i,{groupId:e,index:s}));return}if(Ui(i,c,s,a))return;let l=Hi(a,i,s);if(l.kind===`move`){t.apply(e=>ln(e,l.panelId,{groupId:l.destGroupId}));return}t.apply(e=>{let{tree:t}=on(e,l.newPanelId);return Qi(t.root,l.atPanelId)===void 0?e:N(t,l.atPanelId,l.dir,l.newPanelId,l.side)})},[t,n]);return(0,k.jsx)(qi.Provider,{value:l,children:ta(s.root,{registry:n,renderDomPanel:r,bindNativeSlot:i,onActivate:d,onActiveTabClick:o,onApplyLayout:h,onRedock:g,onClose:f,canClose:p,isPanelInTree:m,suppressReorderOnlyDropIndicator:a??!1})})}function Qi(e,t){if(e.kind===`tabs`)return e.panels.includes(t)?e.id:void 0;for(let n of e.children){let e=Qi(n,t);if(e!==void 0)return e}}function $i(e,t){if(e.kind===`tabs`)return e.id===t?e:void 0;for(let n of e.children){let e=$i(n,t);if(e!==void 0)return e}}function ea(e){return e.kind===`tabs`?e.panels.length:e.children.reduce((e,t)=>e+ea(t),0)}function ta(e,t){return e.kind===`split`?na(e,t):fa(e,t)}function na(e,t){return(0,k.jsx)(ua,{node:e,ctx:t},e.id)}var ra=.5,ia=.1;function aa(e){return Math.min(1,Math.max(.5,Math.floor(90/Math.max(1,e))))}function oa(e,t){let n=e.filter((e,n)=>(t?.[n]??null)===null).length,r=aa(n);return e.map((e,n)=>(t?.[n]??null)===null?Number.isFinite(e)&&e>=r?e:r:e)}function sa(e,t,n,r=ra){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 ca(e,t,n,r){let i=e=>(n?.[e]??null)!==null,a=0;for(let t=0;t<e.length;t++){if(!i(t))continue;let n=r[e[t]];if(typeof n!=`number`)return null;a+=n}let o=Math.max(0,100-a),s=0;for(let n=0;n<e.length;n++){if(i(n))continue;let e=t[n]??0;s+=e>0?e:0}let c=e.length-e.filter((e,t)=>i(t)).length,l={};for(let n=0;n<e.length;n++){let a=e[n];if(i(n)){l[a]=r[a];continue}if(s<=0){l[a]=c>0?o/c:o;continue}let u=t[n]??0;l[a]=o*(u>0?u:0)/s}return l}function la(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:Yi(i)}}function ua(e){let{node:t,ctx:n}=e,r=t.orientation===`row`?`horizontal`:`vertical`,i=Xi(t.sizes,t.constraints),a=t.children.filter((e,n)=>(t.constraints?.[n]??null)===null).length,o=String(aa(a)),s=(0,O.useRef)(null),c=(0,O.useRef)(t);c.current=t;let l=[];t.children.forEach((e,r)=>{r>0&&l.push((0,k.jsx)(Bi,{"data-deck-resize-handle":``},`handle-${r}`));let a=t.constraints?.[r]??null;if(a?.fixedPx!=null){let t=`${a.fixedPx}px`;l.push((0,k.jsx)(Li,{id:e.id,defaultSize:t,minSize:t,maxSize:t,groupResizeBehavior:`preserve-pixel-size`,children:ta(e,n)},da(e)))}else if(a?.minPx!=null){let t=`${a.minPx}px`;l.push((0,k.jsx)(Li,{id:e.id,defaultSize:t,minSize:t,groupResizeBehavior:`preserve-pixel-size`,children:ta(e,n)},da(e)))}else{let t=i.get(r);l.push((0,k.jsx)(Li,{id:e.id,defaultSize:t==null?void 0:String(t),minSize:o,children:ta(e,n)},da(e)))}});let u=e=>{let t=c.current,r=t.children.map(e=>e.id),i=e=>(t.constraints?.[e]??null)!==null,a=la(r,t.constraints,e);if(!a)return;let o=Xi(t.sizes,t.constraints),s=a.indices.map(e=>o.get(e)??0);if(!a.ratios.some((e,t)=>Math.abs(e-s[t])>ia))return;let l=r.map((n,r)=>i(r)?t.sizes[r]??1:e[n]);n.onApplyLayout(t.id,oa(l,t.constraints))},d=e=>{e&&(e.__deckApplyLayout=e=>{let t=c.current,r=e=>(t.constraints?.[e]??null)!==null,i=e.map((e,n)=>r(n)?t.sizes[n]??1:e);n.onApplyLayout(t.id,oa(i,t.constraints))},Object.defineProperty(e,`__deckGroupApi`,{configurable:!0,get:()=>s.current??void 0}))},f=(0,O.useCallback)(()=>{let e=s.current;if(!e)return!1;let t=c.current,n=t.children.map(e=>e.id),r=e.getLayout(),i=ca(n,t.sizes,t.constraints,r);return!i||sa(r,i,n)?!1:(e.setLayout(i),!0)},[]),p=t.sizes.join(`,`),m=t.children.length;return(0,O.useEffect)(()=>{f()},[p,m,f]),(0,k.jsx)(`div`,{ref:d,"data-deck-split":t.id,"data-orientation":t.orientation,"data-deck-sizes":t.sizes.join(`,`),style:{width:`100%`,height:`100%`},children:(0,k.jsx)(Pi,{groupRef:s,orientation:r,onLayoutChanged:u,style:{width:`100%`,height:`100%`},children:l},t.children.length)})}function da(e){return e.id}function fa(e,t){return(0,k.jsx)(pa,{node:e,ctx:t},e.id)}function pa(e){let{node:t,ctx:n}=e,[r,i]=(0,O.useState)(null),a=(0,O.useRef)(t);a.current=t;let o=(0,O.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.preventDefault(),n.suppressReorderOnlyDropIndicator&&Ki!==null&&n.registry.get(Ki)?.dropPolicy===`reorder-only`){i(null);return}let t=e.currentTarget.getBoundingClientRect();i(Vi({width:t.width,height:t.height},{x:e.clientX-t.left,y:e.clientY-t.top}))},l=()=>{i(null)},u=e=>{e.preventDefault();let r=e.currentTarget.getBoundingClientRect(),a=Vi({width:r.width,height:r.height},{x:e.clientX-r.left,y:e.clientY-r.top});i(null);let o=e.dataTransfer.getData(Gi)||e.dataTransfer.getData(`text/plain`);if(!o||n.registry.get(o)===void 0||!n.isPanelInTree(o))return;let s=Wi(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(Gi)&&(e.preventDefault(),e.stopPropagation(),i(null))},f=e=>{e.preventDefault(),e.stopPropagation(),i(null);let r=e.dataTransfer.getData(Gi)||e.dataTransfer.getData(`text/plain`);if(!r||n.registry.get(r)===void 0||!n.isPanelInTree(r))return;let a=Wi(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,k.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,k.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,k.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(Gi,e),t.dataTransfer.setData(`text/plain`,e),t.dataTransfer.effectAllowed=`move`,Ki=e},onDragEnd:()=>{Ki=null},onClick:()=>{r?n.onActiveTabClick?.(e):n.onActivate(t.id,e)},children:[a,n.canClose&&i?.closable!==!1?(0,k.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,ga(t,n),r?(0,k.jsx)(ha,{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 ha(e){return(0,k.jsx)(`div`,{"data-deck-drop-zone":e.zone,style:ma(e.zone)})}function ga(e,t){let n=e.active;return n?(0,k.jsxs)(O.Fragment,{children:[t.registry.get(n)?.kind===`native`?(0,k.jsx)(_a,{panelId:n,bindNativeSlot:t.bindNativeSlot},n):null,e.panels.filter(e=>t.registry.get(e)?.kind!==`native`).map(e=>{let r=e===n;return(0,k.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 _a(e){let{panelId:t,bindNativeSlot:n}=e,r=(0,O.useRef)(n);return r.current=n,(0,k.jsx)(`div`,{ref:(0,O.useCallback)(e=>{r.current(t,e)},[t]),"data-deck-native-slot":t,style:{flex:1,minWidth:0,minHeight:0,height:`100%`}})}function va({device:e,zoom:t,onDeviceChange:n,onZoomChange:r,compileStatus:i,currentPage:a,copied:o,onCopyPagePath:s}){let c=(0,O.useRef)(t),l=(0,O.useRef)(null),[u,d]=(0,O.useState)(!1);(0,O.useEffect)(()=>{i.status===`ready`&&d(!0)},[i.status]);let f=i.status===`compiling`&&u,p=Zn(),m=(0,O.useCallback)(e=>{p?.set({viewId:Qn.simulator,placement:e,layer:$n.base,extra:{zoom:c.current}})},[p]),h=(0,O.useCallback)(e=>{let t=l.current;if(t){e?(t.dispose(),l.current=Jn(e,{visible:!0,followGeometry:!0,guardDisplayNone:!0,publish:m})):(t.update({visible:!1,publish:m}),t.dispose(),l.current=null);return}e&&(l.current=Jn(e,{visible:!0,followGeometry:!0,guardDisplayNone:!0,publish:m}))},[m]);return(0,O.useLayoutEffect)(()=>{c.current=t}),(0,O.useLayoutEffect)(()=>{l.current?.update({visible:!0,publish:m})},[t,m]),(0,O.useEffect)(()=>{l.current?.pulse(300)},[Ji()]),(0,O.useEffect)(()=>()=>{l.current?.dispose(),l.current=null,p?.remove(Qn.simulator)},[p]),(0,k.jsxs)(`div`,{className:`bg-sim-bg flex flex-col overflow-hidden h-full w-full`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-2 px-5 py-2 shrink-0 border-b border-border-subtle`,children:[(0,k.jsx)(se,{value:e.name,onChange:n,children:T.map(e=>(0,k.jsx)(`option`,{value:e.name,children:e.name},e.name))}),(0,k.jsx)(se,{value:t,onChange:r,className:`max-w-16`,children:b.map(e=>(0,k.jsxs)(`option`,{value:e,children:[e,`%`]},e))})]}),(0,k.jsxs)(`div`,{ref:h,className:`flex-1 min-h-0 bg-sim-bg relative`,"data-area":`native-simulator`,children:[i.status===`compiling`&&!u&&(0,k.jsx)(`div`,{"data-testid":`sim-compiling-overlay`,className:`absolute inset-0 flex items-center justify-center bg-black/50 z-10`,children:(0,k.jsx)(`div`,{className:`text-text-dim text-[13px]`,children:`正在编译中...`})}),f&&(0,k.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,k.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full bg-accent animate-pulse`}),(0,k.jsx)(`span`,{className:`text-text-dim text-[11px]`,children:`编译中…`})]}),i.status===`error`&&(0,k.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center bg-black/70 z-10`,children:(0,k.jsxs)(`div`,{className:`text-center p-4`,children:[(0,k.jsx)(`div`,{className:`text-status-error text-[14px] font-medium mb-2`,children:`编译失败`}),(0,k.jsx)(`div`,{className:`text-status-error text-[11px] max-w-[280px] break-words`,children:i.message})]})})]}),(0,k.jsx)(`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,k.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0`,children:[(0,k.jsx)(`span`,{className:`text-[11px] text-text-dim truncate min-w-0`,children:a||`—`}),a&&(0,k.jsx)(`button`,{className:_(`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,k.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,fill:`none`,children:(0,k.jsx)(`polyline`,{points:`1.5,5 4,7.5 8.5,2.5`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})}):(0,k.jsxs)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 10 10`,fill:`none`,children:[(0,k.jsx)(`rect`,{x:`1`,y:`3`,width:`6`,height:`6.5`,rx:`1`,stroke:`currentColor`,strokeWidth:`1`}),(0,k.jsx)(`path`,{d:`M3 3V2a1 1 0 011-1h4a1 1 0 011 1v5a1 1 0 01-1 1H7`,stroke:`currentColor`,strokeWidth:`1`})]})})]})})]})}function ya(){let e=(0,O.useRef)(null),t=Zn(),n=(0,O.useCallback)(e=>{t?.set({viewId:Qn.workbench,placement:e,layer:$n.base})},[t]),r=(0,O.useCallback)(t=>{let r=e.current;if(r){t?(r.dispose(),e.current=Jn(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=Jn(t,{visible:!0,guardDisplayNone:!0,followScroll:!0,followGeometry:!0,publish:n}))},[n]);return(0,O.useEffect)(()=>{e.current?.pulse(300)},[Ji()]),(0,O.useEffect)(()=>()=>{e.current?.dispose(),e.current=null,t?.remove(Qn.workbench)},[t]),(0,k.jsx)(`div`,{ref:r,className:`h-full w-full`,"data-area":`editor`})}function ba(e){return!!(e.tagName===`#shadow-root`||e.tagName.includes(`/`))}function xa({node:e,depth:t,inspectedSid:n,onInspect:r}){let[i,a]=(0,O.useState)(()=>ba(e)),o=t*16,s=!!(e.sid&&e.sid===n),c=`py-px leading-[18px] hover:bg-surface-2${s?` bg-surface-2`:``}`,l=()=>{e.sid&&r?.(e)};if(e.tagName===`#text`)return(0,k.jsxs)(`div`,{className:`py-px leading-[18px] hover:bg-surface-2`,style:{paddingLeft:o},children:[(0,k.jsx)(`span`,{className:`w-3 inline-block`}),(0,k.jsx)(`span`,{className:`text-text`,children:e.text})]});if(e.tagName===`#fragment`)return(0,k.jsx)(k.Fragment,{children:(e.children??[]).map((e,i)=>(0,k.jsx)(xa,{node:e,depth:t,inspectedSid:n,onInspect:r},i))});if(e.tagName===`#shadow-root`){let s=(e.children??[]).length>0;return(0,k.jsxs)(`div`,{children:[(0,k.jsxs)(`div`,{className:`py-px leading-[18px] hover:bg-surface-2 cursor-pointer`,style:{paddingLeft:o},onClick:()=>s&&a(!i),children:[(0,k.jsx)(`span`,{className:`text-text-dim w-3 shrink-0 inline-block text-center select-none`,children:s?i?`▾`:`▸`:` `}),(0,k.jsx)(`span`,{className:`text-text-dim italic`,children:`#shadow-root`})]}),i&&e.children.map((e,i)=>(0,k.jsx)(xa,{node:e,depth:t+1,inspectedSid:n,onInspect:r},i))]})}let u=(e.children??[]).length>0,d=Object.entries(e.attrs),f=u&&e.children.length===1&&e.children[0].tagName===`#text`?e.children[0].text:null;return f?(0,k.jsxs)(`div`,{className:c,style:{paddingLeft:o},onMouseEnter:l,"data-wxml-sid":e.sid,children:[(0,k.jsx)(`span`,{className:`w-3 inline-block`}),(0,k.jsxs)(`span`,{className:`text-code-keyword`,children:[`<`,e.tagName]}),d.map(([e,t])=>(0,k.jsxs)(`span`,{children:[` `,(0,k.jsx)(`span`,{className:`text-code-blue`,children:e}),(0,k.jsx)(`span`,{className:`text-text-dim`,children:`=`}),(0,k.jsxs)(`span`,{className:`text-code-orange`,children:[`"`,t,`"`]})]},e)),(0,k.jsx)(`span`,{className:`text-code-keyword`,children:`>`}),(0,k.jsx)(`span`,{className:`text-text`,children:f}),(0,k.jsxs)(`span`,{className:`text-code-keyword`,children:[`</`,e.tagName,`>`]})]}):(0,k.jsxs)(`div`,{children:[(0,k.jsxs)(`div`,{className:`flex items-start hover:bg-surface-2 py-px leading-[18px]${u?` cursor-pointer`:``}${s?` bg-surface-2`:``}`,style:{paddingLeft:o},onMouseEnter:l,onClick:()=>{u&&a(!i)},"data-wxml-sid":e.sid,children:[(0,k.jsx)(`span`,{className:`text-text-dim w-3 shrink-0 text-center select-none`,children:u?i?`▾`:`▸`:` `}),(0,k.jsxs)(`span`,{children:[(0,k.jsxs)(`span`,{className:`text-code-keyword`,children:[`<`,e.tagName]}),d.map(([e,t])=>(0,k.jsxs)(`span`,{children:[` `,(0,k.jsx)(`span`,{className:`text-code-blue`,children:e}),(0,k.jsx)(`span`,{className:`text-text-dim`,children:`=`}),(0,k.jsxs)(`span`,{className:`text-code-orange`,children:[`"`,t,`"`]})]},e)),(0,k.jsx)(`span`,{className:`text-code-keyword`,children:u?`>`:` />`})]})]}),i&&u&&(0,k.jsxs)(k.Fragment,{children:[e.children.map((e,i)=>(0,k.jsx)(xa,{node:e,depth:t+1,inspectedSid:n,onInspect:r},i)),(0,k.jsxs)(`div`,{style:{paddingLeft:o},className:`py-px leading-[18px]`,children:[(0,k.jsx)(`span`,{className:`w-3 inline-block`}),(0,k.jsxs)(`span`,{className:`text-code-keyword`,children:[`</`,e.tagName,`>`]})]})]})]})}function Sa({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,k.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,k.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,k.jsx)(`span`,{className:`mx-2 text-border-subtle`,children:`|`}),r.join(` / `),(0,k.jsx)(`span`,{className:`mx-2 text-border-subtle`,children:`|`}),`font `,n.fontSize]})}function Ca({tree:e,onInspectElement:t,onClearInspection:n}){let[r,i]=(0,O.useState)(null),a=(0,O.useRef)(0),o=(0,O.useRef)(null);(0,O.useEffect)(()=>()=>{o.current!==null&&cancelAnimationFrame(o.current)},[]);let s=(0,O.useCallback)(e=>{if(!e.sid||!t)return;let n=e.sid;o.current!==null&&cancelAnimationFrame(o.current),o.current=requestAnimationFrame(()=>{o.current=null;let e=++a.current;t(n).then(t=>{e===a.current&&i(t)}).catch(()=>{e===a.current&&i(null)})})},[t]),c=(0,O.useCallback)(()=>{o.current!==null&&(cancelAnimationFrame(o.current),o.current=null),a.current++,i(null),n?.()},[n]);return e?(0,k.jsxs)(`div`,{className:`flex flex-col flex-1 overflow-hidden`,onMouseLeave:c,"data-testid":`wxml-panel`,children:[(0,k.jsx)(`div`,{className:`flex-1 overflow-y-auto p-2 font-mono text-[12px]`,children:(0,k.jsx)(xa,{node:e,depth:0,inspectedSid:r?.sid??null,onInspect:s})}),(0,k.jsx)(Sa,{inspection:r})]}):(0,k.jsx)(`div`,{className:`flex flex-col flex-1 overflow-hidden`,"data-testid":`wxml-panel`,children:(0,k.jsx)(`div`,{className:`text-[12px] text-text-dim text-center px-4 py-6`,children:`等待小程序加载...`})})}function B(){return B=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},B.apply(null,arguments)}function V(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var wa={},Ta=(0,O.createContext)(wa),Ea=(e,t)=>B({},e,t),Da=()=>(0,O.useContext)(Ta),Oa=(0,O.createContext)(()=>{});Oa.displayName=`JVR.DispatchShowTools`;function ka(){return(0,O.useReducer)(Ea,wa)}function Aa(){return(0,O.useContext)(Oa)}var ja=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,k.jsx)(Ta.Provider,{value:t,children:(0,k.jsx)(Oa.Provider,{value:n,children:r})})};ja.displayName=`JVR.ShowTools`;var Ma={},Na=(0,O.createContext)(Ma),Pa=(e,t)=>B({},e,t),Fa=()=>(0,O.useContext)(Na),Ia=(0,O.createContext)(()=>{});Ia.displayName=`JVR.DispatchExpands`;function La(){return(0,O.useReducer)(Pa,Ma)}function Ra(){return(0,O.useContext)(Ia)}var za=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,k.jsx)(Na.Provider,{value:t,children:(0,k.jsx)(Ia.Provider,{value:n,children:r})})};za.displayName=`JVR.Expands`;var Ba={Str:{as:`span`,"data-type":`string`,style:{color:`var(--w-rjv-type-string-color, #cb4b16)`},className:`w-rjv-type`,children:`string`},Url:{as:`a`,style:{color:`var(--w-rjv-type-url-color, #0969da)`},"data-type":`url`,className:`w-rjv-type`,children:`url`},Undefined:{style:{color:`var(--w-rjv-type-undefined-color, #586e75)`},as:`span`,"data-type":`undefined`,className:`w-rjv-type`,children:`undefined`},Null:{style:{color:`var(--w-rjv-type-null-color, #d33682)`},as:`span`,"data-type":`null`,className:`w-rjv-type`,children:`null`},Map:{style:{color:`var(--w-rjv-type-map-color, #268bd2)`,marginRight:3},as:`span`,"data-type":`map`,className:`w-rjv-type`,children:`Map`},Nan:{style:{color:`var(--w-rjv-type-nan-color, #859900)`},as:`span`,"data-type":`nan`,className:`w-rjv-type`,children:`NaN`},Bigint:{style:{color:`var(--w-rjv-type-bigint-color, #268bd2)`},as:`span`,"data-type":`bigint`,className:`w-rjv-type`,children:`bigint`},Int:{style:{color:`var(--w-rjv-type-int-color, #268bd2)`},as:`span`,"data-type":`int`,className:`w-rjv-type`,children:`int`},Set:{style:{color:`var(--w-rjv-type-set-color, #268bd2)`,marginRight:3},as:`span`,"data-type":`set`,className:`w-rjv-type`,children:`Set`},Float:{style:{color:`var(--w-rjv-type-float-color, #859900)`},as:`span`,"data-type":`float`,className:`w-rjv-type`,children:`float`},True:{style:{color:`var(--w-rjv-type-boolean-color, #2aa198)`},as:`span`,"data-type":`bool`,className:`w-rjv-type`,children:`bool`},False:{style:{color:`var(--w-rjv-type-boolean-color, #2aa198)`},as:`span`,"data-type":`bool`,className:`w-rjv-type`,children:`bool`},Date:{style:{color:`var(--w-rjv-type-date-color, #268bd2)`},as:`span`,"data-type":`date`,className:`w-rjv-type`,children:`date`}},Va=(0,O.createContext)(Ba),Ha=(e,t)=>B({},e,t),H=()=>(0,O.useContext)(Va),Ua=(0,O.createContext)(()=>{});Ua.displayName=`JVR.DispatchTypes`;function Wa(){return(0,O.useReducer)(Ha,Ba)}function Ga(){return(0,O.useContext)(Ua)}function Ka(e){var{initial:t,dispatch:n,children:r}=e;return(0,k.jsx)(Va.Provider,{value:t,children:(0,k.jsx)(Ua.Provider,{value:n,children:r})})}Ka.displayName=`JVR.Types`;var qa=[`style`];function Ja(e){var{style:t}=e,n=V(e,qa);return(0,k.jsx)(`svg`,B({viewBox:`0 0 24 24`,fill:`var(--w-rjv-arrow-color, currentColor)`,style:B({cursor:`pointer`,height:`1em`,width:`1em`,userSelect:`none`,display:`inline-flex`},t)},n,{children:(0,k.jsx)(`path`,{d:`M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z`})}))}Ja.displayName=`JVR.TriangleArrow`;var Ya={Arrow:{as:`span`,className:`w-rjv-arrow`,style:{transform:`rotate(0deg)`,transition:`all 0.3s`},children:(0,k.jsx)(Ja,{})},Colon:{as:`span`,style:{color:`var(--w-rjv-colon-color, var(--w-rjv-color))`,marginLeft:0,marginRight:2},className:`w-rjv-colon`,children:`:`},Quote:{as:`span`,style:{color:`var(--w-rjv-quotes-color, #236a7c)`},className:`w-rjv-quotes`,children:`"`},ValueQuote:{as:`span`,style:{color:`var(--w-rjv-quotes-string-color, #cb4b16)`},className:`w-rjv-quotes`,children:`"`},BracketsLeft:{as:`span`,style:{color:`var(--w-rjv-brackets-color, #236a7c)`},className:`w-rjv-brackets-start`,children:`[`},BracketsRight:{as:`span`,style:{color:`var(--w-rjv-brackets-color, #236a7c)`},className:`w-rjv-brackets-end`,children:`]`},BraceLeft:{as:`span`,style:{color:`var(--w-rjv-curlybraces-color, #236a7c)`},className:`w-rjv-curlybraces-start`,children:`{`},BraceRight:{as:`span`,style:{color:`var(--w-rjv-curlybraces-color, #236a7c)`},className:`w-rjv-curlybraces-end`,children:`}`}},Xa=(0,O.createContext)(Ya),Za=(e,t)=>B({},e,t),U=()=>(0,O.useContext)(Xa),Qa=(0,O.createContext)(()=>{});Qa.displayName=`JVR.DispatchSymbols`;function $a(){return(0,O.useReducer)(Za,Ya)}function eo(){return(0,O.useContext)(Qa)}var to=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,k.jsx)(Xa.Provider,{value:t,children:(0,k.jsx)(Qa.Provider,{value:n,children:r})})};to.displayName=`JVR.Symbols`;var no={Copied:{className:`w-rjv-copied`,style:{height:`1em`,width:`1em`,cursor:`pointer`,verticalAlign:`middle`,marginLeft:5}},CountInfo:{as:`span`,className:`w-rjv-object-size`,style:{color:`var(--w-rjv-info-color, #0000004d)`,paddingLeft:8,fontStyle:`italic`}},CountInfoExtra:{as:`span`,className:`w-rjv-object-extra`,style:{paddingLeft:8}},Ellipsis:{as:`span`,style:{cursor:`pointer`,color:`var(--w-rjv-ellipsis-color, #cb4b16)`,userSelect:`none`},className:`w-rjv-ellipsis`,children:`...`},Row:{as:`div`,className:`w-rjv-line`},KeyName:{as:`span`,className:`w-rjv-object-key`}},ro=(0,O.createContext)(no),io=(e,t)=>B({},e,t),W=()=>(0,O.useContext)(ro),ao=(0,O.createContext)(()=>{});ao.displayName=`JVR.DispatchSection`;function oo(){return(0,O.useReducer)(io,no)}function so(){return(0,O.useContext)(ao)}var co=e=>{var{initial:t,dispatch:n,children:r}=e;return(0,k.jsx)(ro.Provider,{value:t,children:(0,k.jsx)(ao.Provider,{value:n,children:r})})};co.displayName=`JVR.Section`;var lo={objectSortKeys:!1,indentWidth:15},uo=(0,O.createContext)(lo);uo.displayName=`JVR.Context`;var fo=(0,O.createContext)(()=>{});fo.displayName=`JVR.DispatchContext`;function po(e,t){return B({},e,t)}var mo=()=>(0,O.useContext)(uo),ho=e=>{var{children:t,initialState:n,initialTypes:r}=e,[i,a]=(0,O.useReducer)(po,Object.assign({},lo,n)),[o,s]=ka(),[c,l]=La(),[u,d]=Wa(),[f,p]=$a(),[m,h]=oo();return(0,O.useEffect)(()=>a(B({},n)),[n]),(0,k.jsx)(uo.Provider,{value:i,children:(0,k.jsx)(fo.Provider,{value:a,children:(0,k.jsx)(ja,{initial:o,dispatch:s,children:(0,k.jsx)(za,{initial:c,dispatch:l,children:(0,k.jsx)(Ka,{initial:B({},u,r),dispatch:d,children:(0,k.jsx)(to,{initial:f,dispatch:p,children:(0,k.jsx)(co,{initial:m,dispatch:h,children:t})})})})})})})};ho.displayName=`JVR.Provider`;function go(e){if(e==null)throw TypeError(`Cannot destructure `+e)}var _o=[`isNumber`,`value`,`parentValue`,`keyName`,`keys`],vo=[`as`,`render`],yo=[`as`,`render`],bo=[`as`,`render`],xo=[`as`,`style`,`render`],So=[`as`,`render`],Co=[`as`,`render`],wo=[`as`,`render`],To=[`as`,`render`],Eo=e=>{var{Quote:t={}}=U(),{isNumber:n,value:r,parentValue:i,keyName:a,keys:o}=e,s=V(e,_o);if(n)return null;var{as:c,render:l}=t,u=V(t,vo),d=c||`span`,f=B({},s,u);return typeof f.children==`string`&&(f.children=f.children.trim()||void 0),l&&typeof l==`function`&&l(f,{value:r,parentValue:i,keyName:a,keys:o||(a?[a]:[])})||(0,k.jsx)(d,B({},f))};Eo.displayName=`JVR.Quote`;var Do=e=>{var{ValueQuote:t={}}=U(),n=B({},(go(e),e)),{as:r,render:i}=t,a=V(t,yo),o=r||`span`,s=B({},n,a);return i&&typeof i==`function`&&i(s,{})||(0,k.jsx)(o,B({},s))};Do.displayName=`JVR.ValueQuote`;var Oo=e=>{var{value:t,parentValue:n,keyName:r,keys:i}=e,{Colon:a={}}=U(),{as:o,render:s}=a,c=V(a,bo),l=o||`span`;return s&&typeof s==`function`&&s(c,{value:t,parentValue:n,keyName:r,keys:i||(r?[r]:[])})||(0,k.jsx)(l,B({},c))};Oo.displayName=`JVR.Colon`;var ko=e=>{var{Arrow:t={}}=U(),n=Fa(),{expandKey:r,style:i,value:a,parentValue:o,keyName:s,keys:c}=e,l=!!n[r],{as:u,style:d,render:f}=t,p=V(t,xo),m=u||`span`,h=f&&typeof f==`function`,g=B({},p,{"data-expanded":l,style:B({},d,i)});return h&&f(g,{value:a,parentValue:o,keyName:s,keys:c||(s?[s]:[])})||(0,k.jsx)(m,B({},p,{style:B({},d,i)}))};ko.displayName=`JVR.Arrow`;var Ao=e=>{var{isBrackets:t,value:n,parentValue:r,keyName:i,keys:a}=e,{BracketsLeft:o={},BraceLeft:s={}}=U(),c={value:n,parentValue:r,keyName:i,keys:a||(i?[i]:[])};if(t){var{as:l,render:u}=o,d=V(o,So),f=l||`span`;return u&&typeof u==`function`&&u(d,c)||(0,k.jsx)(f,B({},d))}var{as:p,render:m}=s,h=V(s,Co),g=p||`span`;return m&&typeof m==`function`&&m(h,c)||(0,k.jsx)(g,B({},h))};Ao.displayName=`JVR.BracketsOpen`;var jo=e=>{var{isBrackets:t,isVisiable:n,value:r,parentValue:i,keyName:a,keys:o}=e,s={value:r,parentValue:i,keyName:a,keys:o||(a?[a]:[])};if(!n)return null;var{BracketsRight:c={},BraceRight:l={}}=U();if(t){var{as:u,render:d}=c,f=V(c,wo),p=u||`span`;return d&&typeof d==`function`&&d(f,s)||(0,k.jsx)(p,B({},f))}var{as:m,render:h}=l,g=V(l,To),_=m||`span`;return h&&typeof h==`function`&&h(g,s)||(0,k.jsx)(_,B({},g))};jo.displayName=`JVR.BracketsClose`;var Mo=e=>{var{keyName:t,value:n,expandKey:r,parentValue:i,level:a,keys:o=[]}=e,s=Fa(),{collapsed:c,shouldExpandNodeInitially:l}=mo(),u=typeof c==`boolean`?c:typeof c==`number`?a>c:!1,d=s[r]??(l?!1:u),f=l&&l(!d,{value:n,keys:o,level:a,keyName:t,parentValue:i});if(l&&c===!1){if(s[r]===void 0&&!f)return null}else if(s[r]===void 0&&f)return null;var p=Object.keys(n).length;if(d||p===0)return null;var m={paddingLeft:4},h={keyName:t,value:n,keys:o,parentValue:i},g=Array.isArray(n),_=n instanceof Set;return(0,k.jsx)(`div`,{style:m,children:(0,k.jsx)(jo,B({isBrackets:g||_},h,{isVisiable:!0}))})};Mo.displayName=`JVR.NestedClose`;var No=[`as`,`render`],Po=[`as`,`render`],Fo=[`as`,`render`],Io=[`as`,`render`],Lo=[`as`,`render`],Ro=[`as`,`render`],zo=[`as`,`render`],Bo=[`as`,`render`],Vo=[`as`,`render`],Ho=[`as`,`render`],Uo=[`as`,`render`],Wo=[`as`,`render`],Go=[`as`,`render`],Ko=e=>{if(e===void 0)return`0n`;if(typeof e==`string`)try{e=BigInt(e)}catch{return`0n`}return e?e.toString()+`n`:`0n`},qo=e=>{var{value:t,keyName:n}=e,{Set:r={},displayDataTypes:i}=H();if(!(t instanceof Set)||!i)return null;var{as:a,render:o}=r,s=V(r,No);return o&&typeof o==`function`&&o(s,{type:`type`,value:t,keyName:n})||(0,k.jsx)(a||`span`,B({},s))};qo.displayName=`JVR.SetComp`;var Jo=e=>{var{value:t,keyName:n}=e,{Map:r={},displayDataTypes:i}=H();if(!(t instanceof Map)||!i)return null;var{as:a,render:o}=r,s=V(r,Po);return o&&typeof o==`function`&&o(s,{type:`type`,value:t,keyName:n})||(0,k.jsx)(a||`span`,B({},s))};Jo.displayName=`JVR.MapComp`;var G={opacity:.75,paddingRight:4},Yo=e=>{var{children:t=``,keyName:n,keys:r}=e,{Str:i={},displayDataTypes:a}=H(),{shortenTextAfterLength:o=30,stringEllipsis:s=`...`}=mo(),{as:c,render:l}=i,u=V(i,Fo),d=t,[f,p]=(0,O.useState)(o&&d.length>o);(0,O.useEffect)(()=>p(o&&d.length>o),[o]);var m=c||`span`,h=B({},G,i.style||{});o>0&&(u.style=B({},u.style,{cursor:d.length<=o?`initial`:`pointer`}),d.length>o&&(u.onClick=()=>{p(!f)}));var g=f?``+d.slice(0,o)+s:d,_=l&&typeof l==`function`,v=_&&l(B({},u,{style:h}),{type:`type`,value:t,keyName:n,keys:r}),y=f?`w-rjv-value w-rjv-value-short`:`w-rjv-value`,b=_&&l(B({},u,{children:g,className:y}),{type:`value`,value:t,keyName:n,keys:r});return(0,k.jsxs)(O.Fragment,{children:[a&&(v||(0,k.jsx)(m,B({},u,{style:h}))),b||(0,k.jsxs)(O.Fragment,{children:[(0,k.jsx)(Do,{}),(0,k.jsx)(m,B({},u,{className:y,children:g})),(0,k.jsx)(Do,{})]})]})};Yo.displayName=`JVR.TypeString`;var Xo=e=>{var{children:t,keyName:n,keys:r}=e,{True:i={},displayDataTypes:a}=H(),{as:o,render:s}=i,c=V(i,Io),l=o||`span`,u=B({},G,i.style||{}),d=s&&typeof s==`function`,f=d&&s(B({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(B({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,k.jsxs)(O.Fragment,{children:[a&&(f||(0,k.jsx)(l,B({},c,{style:u}))),p||(0,k.jsx)(l,B({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};Xo.displayName=`JVR.TypeTrue`;var Zo=e=>{var{children:t,keyName:n,keys:r}=e,{False:i={},displayDataTypes:a}=H(),{as:o,render:s}=i,c=V(i,Lo),l=o||`span`,u=B({},G,i.style||{}),d=s&&typeof s==`function`,f=d&&s(B({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(B({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,k.jsxs)(O.Fragment,{children:[a&&(f||(0,k.jsx)(l,B({},c,{style:u}))),p||(0,k.jsx)(l,B({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};Zo.displayName=`JVR.TypeFalse`;var Qo=e=>{var{children:t,keyName:n,keys:r}=e,{Float:i={},displayDataTypes:a}=H(),{as:o,render:s}=i,c=V(i,Ro),l=o||`span`,u=B({},G,i.style||{}),d=s&&typeof s==`function`,f=d&&s(B({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(B({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,k.jsxs)(O.Fragment,{children:[a&&(f||(0,k.jsx)(l,B({},c,{style:u}))),p||(0,k.jsx)(l,B({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};Qo.displayName=`JVR.TypeFloat`;var $o=e=>{var{children:t,keyName:n,keys:r}=e,{Int:i={},displayDataTypes:a}=H(),{as:o,render:s}=i,c=V(i,zo),l=o||`span`,u=B({},G,i.style||{}),d=s&&typeof s==`function`,f=d&&s(B({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(B({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,k.jsxs)(O.Fragment,{children:[a&&(f||(0,k.jsx)(l,B({},c,{style:u}))),p||(0,k.jsx)(l,B({},c,{className:`w-rjv-value`,children:t?.toString()}))]})};$o.displayName=`JVR.TypeInt`;var es=e=>{var{children:t,keyName:n,keys:r}=e,{Bigint:i={},displayDataTypes:a}=H(),{as:o,render:s}=i,c=V(i,Bo),l=o||`span`,u=B({},G,i.style||{}),d=s&&typeof s==`function`,f=d&&s(B({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(B({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,k.jsxs)(O.Fragment,{children:[a&&(f||(0,k.jsx)(l,B({},c,{style:u}))),p||(0,k.jsx)(l,B({},c,{className:`w-rjv-value`,children:Ko(t?.toString())}))]})};es.displayName=`JVR.TypeFloat`;var ts=e=>{var{children:t,keyName:n,keys:r}=e,{Url:i={},displayDataTypes:a}=H(),{as:o,render:s}=i,c=V(i,Vo),l=o||`span`,u=B({},G,i.style),d=s&&typeof s==`function`,f=d&&s(B({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(B({},c,{children:t?.href,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,k.jsxs)(O.Fragment,{children:[a&&(f||(0,k.jsx)(l,B({},c,{style:u}))),p||(0,k.jsxs)(`a`,B({href:t?.href,target:`_blank`},c,{className:`w-rjv-value`,children:[(0,k.jsx)(Do,{}),t?.href,(0,k.jsx)(Do,{})]}))]})};ts.displayName=`JVR.TypeUrl`;var ns=e=>{var{children:t,keyName:n,keys:r}=e,{Date:i={},displayDataTypes:a}=H(),{as:o,render:s}=i,c=V(i,Ho),l=o||`span`,u=B({},G,i.style||{}),d=s&&typeof s==`function`,f=d&&s(B({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=t instanceof Date?t.toLocaleString():t,m=d&&s(B({},c,{children:p,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,k.jsxs)(O.Fragment,{children:[a&&(f||(0,k.jsx)(l,B({},c,{style:u}))),m||(0,k.jsx)(l,B({},c,{className:`w-rjv-value`,children:p}))]})};ns.displayName=`JVR.TypeDate`;var rs=e=>{var{children:t,keyName:n,keys:r}=e,{Undefined:i={},displayDataTypes:a}=H(),{as:o,render:s}=i,c=V(i,Uo),l=o||`span`,u=B({},G,i.style||{}),d=s&&typeof s==`function`,f=d&&s(B({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(B({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,k.jsxs)(O.Fragment,{children:[a&&(f||(0,k.jsx)(l,B({},c,{style:u}))),p]})};rs.displayName=`JVR.TypeUndefined`;var is=e=>{var{children:t,keyName:n,keys:r}=e,{Null:i={},displayDataTypes:a}=H(),{as:o,render:s}=i,c=V(i,Wo),l=o||`span`,u=B({},G,i.style||{}),d=s&&typeof s==`function`,f=d&&s(B({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(B({},c,{children:t,className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,k.jsxs)(O.Fragment,{children:[a&&(f||(0,k.jsx)(l,B({},c,{style:u}))),p]})};is.displayName=`JVR.TypeNull`;var as=e=>{var{children:t,keyName:n,keys:r}=e,{Nan:i={},displayDataTypes:a}=H(),{as:o,render:s}=i,c=V(i,Go),l=o||`span`,u=B({},G,i.style||{}),d=s&&typeof s==`function`,f=d&&s(B({},c,{style:u}),{type:`type`,value:t,keyName:n,keys:r}),p=d&&s(B({},c,{children:t?.toString(),className:`w-rjv-value`}),{type:`value`,value:t,keyName:n,keys:r});return(0,k.jsxs)(O.Fragment,{children:[a&&(f||(0,k.jsx)(l,B({},c,{style:u}))),p]})};as.displayName=`JVR.TypeNan`;var os=e=>Number(e)===e&&e%1!=0||isNaN(e),ss=e=>{var{value:t,keyName:n,keys:r}=e,i={keyName:n,keys:r};return t instanceof URL?(0,k.jsx)(ts,B({},i,{children:t})):typeof t==`string`?(0,k.jsx)(Yo,B({},i,{children:t})):t===!0?(0,k.jsx)(Xo,B({},i,{children:t})):t===!1?(0,k.jsx)(Zo,B({},i,{children:t})):t===null?(0,k.jsx)(is,B({},i,{children:t})):t===void 0?(0,k.jsx)(rs,B({},i,{children:t})):t instanceof Date?(0,k.jsx)(ns,B({},i,{children:t})):typeof t==`number`&&isNaN(t)?(0,k.jsx)(as,B({},i,{children:t})):typeof t==`number`&&os(t)?(0,k.jsx)(Qo,B({},i,{children:t})):typeof t==`bigint`?(0,k.jsx)(es,B({},i,{children:t})):typeof t==`number`?(0,k.jsx)($o,B({},i,{children:t})):null};ss.displayName=`JVR.Value`;function K(e,t,n){var r=eo(),i=B({},e,t,{className:[e.className,t.className].filter(Boolean).join(` `),style:B({},e.style,t.style),children:t.children||e.children});(0,O.useEffect)(()=>r({[n]:i}),[t])}function q(e,t,n){var r=Ga(),i=B({},e,t,{className:[e.className,t.className].filter(Boolean).join(` `),style:B({},e.style,t.style),children:t.children||e.children});(0,O.useEffect)(()=>r({[n]:i}),[t])}function cs(e,t,n){var r=so(),i=B({},e,t,{className:[e.className,t.className].filter(Boolean).join(` `),style:B({},e.style,t.style),children:t.children||e.children});(0,O.useEffect)(()=>r({[n]:i}),[t])}var ls=[`as`,`render`],us=e=>{var{KeyName:t={}}=W();return cs(t,e,`KeyName`),null};us.displayName=`JVR.KeyName`;var ds=e=>{var{children:t,value:n,parentValue:r,keyName:i,keys:a}=e,o={color:typeof t==`number`?`var(--w-rjv-key-number, #268bd2)`:`var(--w-rjv-key-string, #002b36)`},{KeyName:s={}}=W(),{as:c,render:l}=s,u=V(s,ls);u.style=B({},u.style,o);var d=c||`span`;return l&&typeof l==`function`&&l(B({},u,{children:t}),{value:n,parentValue:r,keyName:i,keys:a||(i?[i]:[])})||(0,k.jsx)(d,B({},u,{children:t}))};ds.displayName=`JVR.KeyNameComp`;var fs=[`children`,`value`,`parentValue`,`keyName`,`keys`],ps=[`as`,`render`,`children`],ms=e=>{var{Row:t={}}=W();return cs(t,e,`Row`),null};ms.displayName=`JVR.Row`;var hs=e=>{var{children:t,value:n,parentValue:r,keyName:i,keys:a}=e,o=V(e,fs),{Row:s={}}=W(),{as:c,render:l}=s,u=V(s,ps),d=c||`div`;return l&&typeof l==`function`&&l(B({},o,u,{children:t}),{value:n,keyName:i,parentValue:r,keys:a})||(0,k.jsx)(d,B({},o,u,{children:t}))};hs.displayName=`JVR.RowComp`;function gs(e){var t=(0,O.useRef)();return(0,O.useEffect)(()=>{t.current=e}),t.current}function _s(e){var{value:t,highlightUpdates:n,highlightContainer:r}=e,i=gs(t),a=(0,O.useMemo)(()=>{if(!n||i===void 0)return!1;if(typeof t!=typeof i)return!0;if(typeof t==`number`)return isNaN(t)&&isNaN(i)?!1:t!==i;if(Array.isArray(t)!==Array.isArray(i))return!0;if(typeof t==`object`||typeof t==`function`)return!1;if(t!==i)return!0},[n,t]);(0,O.useEffect)(()=>{r&&r.current&&a&&`animate`in r.current&&r.current.animate([{backgroundColor:`var(--w-rjv-update-color, #ebcb8b)`},{backgroundColor:``}],{duration:1e3,easing:`ease-in`})},[a,t,r])}var vs=[`keyName`,`value`,`parentValue`,`expandKey`,`keys`,`beforeCopy`],ys=[`as`,`render`],bs=e=>{var{keyName:t,value:n,parentValue:r,expandKey:i,keys:a,beforeCopy:o}=e,s=V(e,vs),{onCopied:c,enableClipboard:l,beforeCopy:u}=mo(),d=Da()[i],[f,p]=(0,O.useState)(!1),{Copied:m={}}=W(),h=m?.beforeCopy;if(l===!1||!d)return null;var g={style:{display:`inline-flex`},fill:f?`var(--w-rjv-copied-success-color, #28a745)`:`var(--w-rjv-copied-color, currentColor)`,onClick:e=>{e.stopPropagation();var s=``;s=typeof n==`number`&&n===1/0?`Infinity`:typeof n==`number`&&isNaN(n)?`NaN`:typeof n==`bigint`?Ko(n):n instanceof Date?n.toLocaleString():JSON.stringify(n,(e,t)=>typeof t==`bigint`?Ko(t):t,2);var l=o||h||u;l&&typeof l==`function`&&(s=l(s,t,n,r,i,a)),c&&c(s,n),p(!0),(navigator.clipboard||{writeText(e){return new Promise((t,n)=>{var r=document.createElement(`textarea`);r.style.position=`absolute`,r.style.opacity=`0`,r.style.left=`-99999999px`,r.value=e,document.body.appendChild(r),r.select(),document.execCommand(`copy`)?t():n(),r.remove()})}}).writeText(s).then(()=>{var e=setTimeout(()=>{p(!1),clearTimeout(e)},3e3)}).catch(e=>{})}},{render:_}=m,v=V(m,ys),y=B({},v,s,g,{style:B({},v.style,s.style,g.style)});return _&&typeof _==`function`&&_(B({},y,{"data-copied":f}),{value:n,keyName:t,keys:a,parentValue:r})||(f?(0,k.jsx)(`svg`,B({viewBox:`0 0 32 36`},y,{children:(0,k.jsx)(`path`,{d:`M27.5,33 L2.5,33 L2.5,12.5 L27.5,12.5 L27.5,15.2249049 C29.1403264,13.8627542 29.9736597,13.1778155 30,13.1700887 C30,11.9705278 30,10.0804982 30,7.5 C30,6.1 28.9,5 27.5,5 L20,5 C20,2.2 17.8,0 15,0 C12.2,0 10,2.2 10,5 L2.5,5 C1.1,5 0,6.1 0,7.5 L0,33 C0,34.4 1.1,36 2.5,36 L27.5,36 C28.9,36 30,34.4 30,33 L30,26.1114493 L27.5,28.4926435 L27.5,33 Z M7.5,7.5 L10,7.5 C10,7.5 12.5,6.4 12.5,5 C12.5,3.6 13.6,2.5 15,2.5 C16.4,2.5 17.5,3.6 17.5,5 C17.5,6.4 18.8,7.5 20,7.5 L22.5,7.5 C22.5,7.5 25,8.6 25,10 L5,10 C5,8.5 6.1,7.5 7.5,7.5 Z M5,27.5 L10,27.5 L10,25 L5,25 L5,27.5 Z M28.5589286,16 L32,19.6 L21.0160714,30.5382252 L13.5303571,24.2571429 L17.1303571,20.6571429 L21.0160714,24.5428571 L28.5589286,16 Z M17.5,15 L5,15 L5,17.5 L17.5,17.5 L17.5,15 Z M10,20 L5,20 L5,22.5 L10,22.5 L10,20 Z`})})):(0,k.jsx)(`svg`,B({viewBox:`0 0 32 36`},y,{children:(0,k.jsx)(`path`,{d:`M27.5,33 L2.5,33 L2.5,12.5 L27.5,12.5 L27.5,20 L30,20 L30,7.5 C30,6.1 28.9,5 27.5,5 L20,5 C20,2.2 17.8,0 15,0 C12.2,0 10,2.2 10,5 L2.5,5 C1.1,5 0,6.1 0,7.5 L0,33 C0,34.4 1.1,36 2.5,36 L27.5,36 C28.9,36 30,34.4 30,33 L30,29 L27.5,29 L27.5,33 Z M7.5,7.5 L10,7.5 C10,7.5 12.5,6.4 12.5,5 C12.5,3.6 13.6,2.5 15,2.5 C16.4,2.5 17.5,3.6 17.5,5 C17.5,6.4 18.8,7.5 20,7.5 L22.5,7.5 C22.5,7.5 25,8.6 25,10 L5,10 C5,8.5 6.1,7.5 7.5,7.5 Z M5,27.5 L10,27.5 L10,25 L5,25 L5,27.5 Z M22.5,21.5 L22.5,16.5 L12.5,24 L22.5,31.5 L22.5,26.5 L32,26.5 L32,21.5 L22.5,21.5 Z M17.5,15 L5,15 L5,17.5 L17.5,17.5 L17.5,15 Z M10,20 L5,20 L5,22.5 L10,22.5 L10,20 Z`})})))};bs.displayName=`JVR.Copied`;function xs(){var e=(0,O.useRef)(null);return e.current===null&&(e.current=`custom-id-`+Math.random().toString(36).substr(2,9)),e.current}var Ss=e=>{var{keyName:t,value:n,expandKey:r=``,level:i,keys:a=[],parentValue:o}=e,s=Fa(),{objectSortKeys:c,indentWidth:l,collapsed:u,shouldExpandNodeInitially:d}=mo(),f=typeof u==`boolean`?u:typeof u==`number`?i>u:!1,p=s[r]??(d?!1:f),m=d&&d(!p,{value:n,keys:a,level:i,keyName:t,parentValue:o});if(d&&u===!1){if(s[r]===void 0&&!m)return null}else if(s[r]===void 0&&m)return null;if(p)return null;var h=Array.isArray(n)?Object.entries(n).map(e=>[Number(e[0]),e[1]]):Object.entries(n);return c&&(h=c===!0?h.sort((e,t)=>{var[n]=e,[r]=t;return typeof n==`string`&&typeof r==`string`?n.localeCompare(r):0}):h.sort((e,t)=>{var[n,r]=e,[i,a]=t;return typeof n==`string`&&typeof i==`string`?c(n,i,r,a):0})),(0,k.jsx)(`div`,{className:`w-rjv-wrap`,style:{borderLeft:`var(--w-rjv-border-left-width, 1px) var(--w-rjv-line-style, solid) var(--w-rjv-line-color, #ebebeb)`,paddingLeft:l,marginLeft:6},children:h.map((e,t)=>{var[r,o]=e;return(0,k.jsx)(ws,{parentValue:n,keyName:r,keys:[...a,r],value:o,level:i},t)})})};Ss.displayName=`JVR.KeyValues`;var Cs=e=>{var{keyName:t,parentValue:n,keys:r,value:i}=e,{highlightUpdates:a}=mo(),o=typeof t==`number`,s=(0,O.useRef)(null);_s({value:i,highlightUpdates:a,highlightContainer:s});var c={keyName:t,value:i,keys:r,parentValue:n};return(0,k.jsxs)(O.Fragment,{children:[(0,k.jsxs)(`span`,{ref:s,children:[(0,k.jsx)(Eo,B({isNumber:o,"data-placement":`left`},c)),(0,k.jsx)(ds,B({},c,{children:t})),(0,k.jsx)(Eo,B({isNumber:o,"data-placement":`right`},c))]}),(0,k.jsx)(Oo,B({},c))]})};Cs.displayName=`JVR.KayName`;var ws=e=>{var{keyName:t,value:n,parentValue:r,level:i=0,keys:a=[]}=e,o=Aa(),s=xs(),c=Array.isArray(n),l=n instanceof Set,u=n instanceof Map,d=n instanceof Date,f=n instanceof URL;return n&&typeof n==`object`&&!c&&!l&&!u&&!d&&!f||c||l||u?(0,k.jsx)(Rs,{keyName:t,value:l?Array.from(n):u?Object.fromEntries(n):n,parentValue:r,initialValue:n,keys:a,level:i+1}):(0,k.jsxs)(hs,B({className:`w-rjv-line`,value:n,keyName:t,keys:a,parentValue:r},{onMouseEnter:()=>o({[s]:!0}),onMouseLeave:()=>o({[s]:!1})},{children:[(0,k.jsx)(Cs,{keyName:t,value:n,keys:a,parentValue:r}),(0,k.jsx)(ss,{keyName:t,value:n,keys:a}),(0,k.jsx)(bs,{keyName:t,value:n,keys:a,parentValue:r,expandKey:s})]}))};ws.displayName=`JVR.KeyValuesItem`;var Ts=[`value`,`keyName`],Es=[`as`,`render`],Ds=e=>{var{CountInfoExtra:t={}}=W();return cs(t,e,`CountInfoExtra`),null};Ds.displayName=`JVR.CountInfoExtra`;var Os=e=>{var{value:t={},keyName:n}=e,r=V(e,Ts),{CountInfoExtra:i={}}=W(),{as:a,render:o}=i,s=V(i,Es);if(!o&&!s.children)return null;var c=a||`span`,l=o&&typeof o==`function`,u=B({},s,r);return l&&o(u,{value:t,keyName:n})||(0,k.jsx)(c,B({},u))};Os.displayName=`JVR.CountInfoExtraComps`;var ks=[`value`,`keyName`],As=[`as`,`render`],js=e=>{var{CountInfo:t={}}=W();return cs(t,e,`CountInfo`),null};js.displayName=`JVR.CountInfo`;var Ms=e=>{var{value:t={},keyName:n}=e,r=V(e,ks),{displayObjectSize:i}=mo(),{CountInfo:a={}}=W();if(!i)return null;var{as:o,render:s}=a,c=V(a,As),l=o||`span`;c.style=B({},c.style,e.style);var u=Object.keys(t).length;c.children||=u+` item`+(u===1?``:`s`);var d=B({},c,r);return s&&typeof s==`function`&&s(B({},d,{"data-length":u}),{value:t,keyName:n})||(0,k.jsx)(l,B({},d))};Ms.displayName=`JVR.CountInfoComp`;var Ns=[`as`,`render`],Ps=e=>{var{Ellipsis:t={}}=W();return cs(t,e,`Ellipsis`),null};Ps.displayName=`JVR.Ellipsis`;var Fs=e=>{var{isExpanded:t,value:n,keyName:r}=e,{Ellipsis:i={}}=W(),{as:a,render:o}=i,s=V(i,Ns),c=a||`span`;return o&&typeof o==`function`&&o(B({},s,{"data-expanded":t}),{value:n,keyName:r})||(!t||typeof n==`object`&&Object.keys(n).length==0?null:(0,k.jsx)(c,B({},s)))};Fs.displayName=`JVR.EllipsisComp`;var Is=e=>{var{keyName:t,expandKey:n,keys:r=[],initialValue:i,value:a,parentValue:o,level:s}=e,c=Fa(),l=Ra(),{onExpand:u,collapsed:d,shouldExpandNodeInitially:f}=mo(),p=typeof d==`boolean`?d:typeof d==`number`?s>d:!1,m=c[n]??(f?!1:p),h=f&&f(!m,{value:a,keys:r,level:s,keyName:t,parentValue:o});c[n]===void 0&&f&&(m=!h);var g=()=>{var e={expand:!m,value:a,keyid:n,keyName:t};u&&u(e),l({[n]:e.expand})},_={display:`inline-flex`,alignItems:`center`},v={transform:`rotate(`+(m?`-90`:`0`)+`deg)`,transition:`all 0.3s`},y=Object.keys(a).length,b=typeof a==`object`,x=Array.isArray(a),S=a instanceof Set,C=y!==0&&(x||S||b),w={style:_};C&&(w.onClick=g);var T={keyName:t,value:a,keys:r,parentValue:o};return(0,k.jsxs)(`span`,B({},w,{children:[C&&(0,k.jsx)(ko,B({style:v,expandKey:n},T)),(t||typeof t==`number`)&&(0,k.jsx)(Cs,B({},T)),(0,k.jsx)(qo,{value:i,keyName:t}),(0,k.jsx)(Jo,{value:i,keyName:t}),(0,k.jsx)(Ao,B({isBrackets:x||S},T)),(0,k.jsx)(Fs,{keyName:t,value:a,isExpanded:m}),(0,k.jsx)(jo,B({isVisiable:m||!C,isBrackets:x||S},T)),(0,k.jsx)(Ms,{value:a,keyName:t}),(0,k.jsx)(Os,{value:a,keyName:t}),(0,k.jsx)(bs,{keyName:t,value:a,expandKey:n,parentValue:o,keys:r})]}))};Is.displayName=`JVR.NestedOpen`;var Ls=[`className`,`children`,`parentValue`,`keyid`,`level`,`value`,`initialValue`,`keys`,`keyName`],Rs=(0,O.forwardRef)((e,t)=>{var{className:n=``,parentValue:r,level:i=1,value:a,initialValue:o,keys:s,keyName:c}=e,l=V(e,Ls),u=Aa(),d=xs();return(0,k.jsxs)(`div`,B({className:[n,`w-rjv-inner`].filter(Boolean).join(` `),ref:t},l,{onMouseEnter:()=>u({[d]:!0}),onMouseLeave:()=>u({[d]:!1})},{children:[(0,k.jsx)(Is,{expandKey:d,value:a,level:i,keys:s,parentValue:r,keyName:c,initialValue:o}),(0,k.jsx)(Ss,{expandKey:d,value:a,level:i,keys:s,parentValue:r,keyName:c}),(0,k.jsx)(Mo,{expandKey:d,value:a,level:i,keys:s,parentValue:r,keyName:c})]}))});Rs.displayName=`JVR.Container`;var zs=e=>{var{BraceLeft:t={}}=U();return K(t,e,`BraceLeft`),null};zs.displayName=`JVR.BraceLeft`;var Bs=e=>{var{BraceRight:t={}}=U();return K(t,e,`BraceRight`),null};Bs.displayName=`JVR.BraceRight`;var Vs=e=>{var{BracketsLeft:t={}}=U();return K(t,e,`BracketsLeft`),null};Vs.displayName=`JVR.BracketsLeft`;var Hs=e=>{var{BracketsRight:t={}}=U();return K(t,e,`BracketsRight`),null};Hs.displayName=`JVR.BracketsRight`;var Us=e=>{var{Arrow:t={}}=U();return K(t,e,`Arrow`),null};Us.displayName=`JVR.Arrow`;var Ws=e=>{var{Colon:t={}}=U();return K(t,e,`Colon`),null};Ws.displayName=`JVR.Colon`;var Gs=e=>{var{Quote:t={}}=U();return K(t,e,`Quote`),null};Gs.displayName=`JVR.Quote`;var Ks=e=>{var{ValueQuote:t={}}=U();return K(t,e,`ValueQuote`),null};Ks.displayName=`JVR.ValueQuote`;var qs=e=>{var{Bigint:t={}}=H();return q(t,e,`Bigint`),null};qs.displayName=`JVR.Bigint`;var Js=e=>{var{Date:t={}}=H();return q(t,e,`Date`),null};Js.displayName=`JVR.Date`;var Ys=e=>{var{False:t={}}=H();return q(t,e,`False`),null};Ys.displayName=`JVR.False`;var Xs=e=>{var{Float:t={}}=H();return q(t,e,`Float`),null};Xs.displayName=`JVR.Float`;var Zs=e=>{var{Int:t={}}=H();return q(t,e,`Int`),null};Zs.displayName=`JVR.Int`;var Qs=e=>{var{Map:t={}}=H();return q(t,e,`Map`),null};Qs.displayName=`JVR.Map`;var $s=e=>{var{Nan:t={}}=H();return q(t,e,`Nan`),null};$s.displayName=`JVR.Nan`;var ec=e=>{var{Null:t={}}=H();return q(t,e,`Null`),null};ec.displayName=`JVR.Null`;var tc=e=>{var{Set:t={}}=H();return q(t,e,`Set`),null};tc.displayName=`JVR.Set`;var nc=e=>{var{Str:t={}}=H();return q(t,e,`Str`),null};nc.displayName=`JVR.StringText`;var rc=e=>{var{True:t={}}=H();return q(t,e,`True`),null};rc.displayName=`JVR.True`;var ic=e=>{var{Undefined:t={}}=H();return q(t,e,`Undefined`),null};ic.displayName=`JVR.Undefined`;var ac=e=>{var{Url:t={}}=H();return q(t,e,`Url`),null};ac.displayName=`JVR.Url`;var oc=e=>{var{Copied:t={}}=W();return cs(t,e,`Copied`),null};oc.displayName=`JVR.Copied`;var sc=[`className`,`style`,`value`,`children`,`collapsed`,`shouldExpandNodeInitially`,`indentWidth`,`displayObjectSize`,`shortenTextAfterLength`,`stringEllipsis`,`highlightUpdates`,`enableClipboard`,`displayDataTypes`,`objectSortKeys`,`onExpand`,`onCopied`,`beforeCopy`],J=(0,O.forwardRef)((e,t)=>{var{className:n=``,style:r,value:i,children:a,collapsed:o=!1,shouldExpandNodeInitially:s,indentWidth:c=15,displayObjectSize:l=!0,shortenTextAfterLength:u=30,stringEllipsis:d,highlightUpdates:f=!0,enableClipboard:p=!0,displayDataTypes:m=!0,objectSortKeys:h=!1,onExpand:g,onCopied:_,beforeCopy:v}=e,y=V(e,sc),b=B({lineHeight:1.4,fontFamily:`var(--w-rjv-font-family, Menlo, monospace)`,color:`var(--w-rjv-color, #002b36)`,backgroundColor:`var(--w-rjv-background-color, #00000000)`,fontSize:13},r),x=[`w-json-view-container`,`w-rjv`,n].filter(Boolean).join(` `);return(0,k.jsxs)(ho,{initialState:{value:i,objectSortKeys:h,indentWidth:c,shouldExpandNodeInitially:o===!1?s:void 0,displayObjectSize:l,collapsed:o,enableClipboard:p,shortenTextAfterLength:u,stringEllipsis:d,highlightUpdates:f,onCopied:_,onExpand:g,beforeCopy:v},initialTypes:{displayDataTypes:m},children:[(0,k.jsx)(Rs,B({value:i},y,{ref:t,className:x,style:b})),a]})});J.Bigint=qs,J.Date=Js,J.False=Ys,J.Float=Xs,J.Int=Zs,J.Map=Qs,J.Nan=$s,J.Null=ec,J.Set=tc,J.String=nc,J.True=rc,J.Undefined=ic,J.Url=ac,J.ValueQuote=Ks,J.Arrow=Us,J.Colon=Ws,J.Quote=Gs,J.Ellipsis=Ps,J.BraceLeft=zs,J.BraceRight=Bs,J.BracketsLeft=Vs,J.BracketsRight=Hs,J.Copied=oc,J.CountInfo=js,J.CountInfoExtra=Ds,J.KeyName=us,J.Row=ms,J.displayName=`JVR.JsonView`;function cc(e){return e.pagePath??e.id}var lc={"--w-rjv-font-family":`var(--font-family-mono)`,"--w-rjv-background-color":`transparent`,"--w-rjv-color":`var(--color-code-blue)`,"--w-rjv-key-string":`var(--color-code-blue)`,"--w-rjv-line-color":`var(--color-border-subtle)`,"--w-rjv-arrow-color":`var(--color-text-secondary)`,"--w-rjv-info-color":`var(--color-code-label)`,"--w-rjv-curlybraces-color":`var(--color-text-secondary)`,"--w-rjv-brackets-color":`var(--color-text-secondary)`,"--w-rjv-quotes-color":`var(--color-code-orange)`,"--w-rjv-quotes-string-color":`var(--color-code-orange)`,"--w-rjv-type-string-color":`var(--color-code-orange)`,"--w-rjv-type-int-color":`var(--color-code-number)`,"--w-rjv-type-float-color":`var(--color-code-number)`,"--w-rjv-type-bigint-color":`var(--color-code-number)`,"--w-rjv-type-boolean-color":`var(--color-code-keyword)`,"--w-rjv-type-null-color":`var(--color-code-keyword)`,"--w-rjv-type-nan-color":`var(--color-code-keyword)`,"--w-rjv-type-undefined-color":`var(--color-code-keyword)`,"--w-rjv-type-date-color":`var(--color-code-label)`,"--w-rjv-type-url-color":`var(--color-code-blue)`,fontSize:12,padding:`6px 8px`,wordBreak:`break-all`,whiteSpace:`pre-wrap`};function uc({state:e,onSelectBridge:t}){let{bridges:n,activeBridgeId:r,entries:i}=e,a=n.some(e=>Object.keys(i[e.id]??{}).length>0);return(0,k.jsxs)(`div`,{className:`flex flex-col overflow-hidden flex-1`,"data-testid":`appdata-panel`,children:[n.length>1&&(0,k.jsx)(`div`,{className:`flex gap-1 px-2 py-1 border-b border-border-subtle shrink-0 overflow-x-auto bg-bg-panel`,children:n.map(e=>{let n=e.id===r;return(0,k.jsx)(`button`,{onClick:()=>t(e.id),title:e.id,className:`shrink-0 px-2 py-0.5 text-[11px] rounded border transition-colors `+(n?`border-accent text-accent bg-surface-3`:`border-border-subtle text-text-dim hover:border-accent hover:text-accent`),children:cc(e)},e.id)})}),n.length===0||!a?(0,k.jsx)(`div`,{className:`text-[12px] text-text-dim text-center px-4 py-6`,children:`暂无页面数据(仅显示 Page 级 data)`}):(0,k.jsx)(`div`,{className:`flex-1 overflow-hidden relative`,children:n.map(e=>{let t=e.id===r,n=i[e.id]??{},a=Object.keys(n);return(0,k.jsx)(`div`,{"data-bridge-id":e.id,className:`absolute inset-0 flex flex-col gap-2 p-2 overflow-y-auto`,style:{display:t?`flex`:`none`},children:a.length===0?(0,k.jsx)(`div`,{className:`text-[12px] text-text-dim text-center px-4 py-6`,children:`暂无页面数据(仅显示 Page 级 data)`}):a.map(t=>(0,k.jsxs)(`div`,{className:`border border-border-subtle rounded overflow-hidden shrink-0`,children:[(0,k.jsx)(`div`,{className:`bg-surface-3 px-2 py-0.5 text-[11px] text-code-label truncate`,children:t}),(0,k.jsx)(J,{value:n[t]??{},collapsed:1,displayDataTypes:!1,displayObjectSize:!1,enableClipboard:!1,indentWidth:12,style:lc})]},`${e.id}::${t}`))},e.id)})})]})}function dc(e){if(e==null)return``;if(typeof e==`string`)return e;if(typeof e==`object`)try{return JSON.stringify(e)}catch{return String(e)}return String(e)}function fc({items:e,onSet:t,onRemove:n,onClear:r,onClearAll:i,getPrefix:a}){let[o,s]=(0,O.useState)(null),[c,l]=(0,O.useState)(null),[u,d]=(0,O.useState)(!1),[f,p]=(0,O.useState)(``),[m,h]=(0,O.useState)(``),[g,_]=(0,O.useState)(``);(0,O.useEffect)(()=>{let e=!1,t,n=()=>{a().then(r=>{if(!e){if(r){p(r);return}t=setTimeout(n,300)}})};return n(),()=>{e=!0,t&&clearTimeout(t)}},[a]);async function v(e){d(!0),l(null);try{let t=await e();return t.ok?t:(l(t.error),null)}finally{d(!1)}}function y(e){s({key:e.key,draft:dc(e.value)})}async function b(){if(!o)return;let{key:e,draft:n}=o;s(null),await v(()=>t(e,n))}async function x(e){await v(()=>n(e))}async function S(){e.length!==0&&await v(()=>r())}async function C(){typeof window<`u`&&!window.confirm(`清空 simulator 中所有 appId 的 Storage 数据?该操作不可撤销。`)||await v(()=>i())}async function w(){let e=m.trim();if(!e){l(`key 不能为空`);return}let n=f+e;await v(()=>t(n,g))&&(h(``),_(``))}return(0,k.jsxs)(`div`,{className:`flex flex-col overflow-hidden flex-1`,"data-testid":`storage-panel`,children:[(0,k.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,k.jsx)(D,{variant:`outline`,size:`xs`,onClick:S,disabled:u||e.length===0,className:`hover:border-destructive hover:text-destructive`,title:`仅清空当前 appId 的 Storage`,children:`清空`}),(0,k.jsx)(D,{variant:`outline`,size:`xs`,onClick:C,disabled:u,className:`hover:border-destructive hover:text-destructive`,title:`清空 simulator 中所有 appId 的 Storage`,children:`清空所有`}),c&&(0,k.jsx)(`span`,{className:`ml-2 text-[11px] text-destructive truncate`,title:c,children:c})]}),(0,k.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,k.jsxs)(`table`,{className:`w-full border-collapse text-[12px]`,children:[(0,k.jsx)(`thead`,{children:(0,k.jsxs)(`tr`,{children:[(0,k.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,k.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,k.jsx)(`th`,{className:`w-px sticky top-0 bg-bg-panel z-10 border-b border-border-subtle`})]})}),(0,k.jsx)(`tbody`,{children:e.length===0?(0,k.jsx)(`tr`,{children:(0,k.jsx)(`td`,{colSpan:3,className:`text-[12px] text-text-dim text-center px-4 py-6`,children:`暂无 Storage 数据`})}):e.map(e=>{let t=o?.key===e.key,n=f&&e.key.startsWith(f)?e.key.slice(f.length):e.key;return(0,k.jsxs)(`tr`,{className:`hover:[&>td]:bg-surface`,children:[(0,k.jsx)(`td`,{className:`px-2.5 py-0.5 border-b border-border-subtle w-px pr-5 align-top`,children:(0,k.jsx)(`div`,{className:`font-mono text-code-blue max-w-[240px] truncate`,title:e.key,children:n})}),(0,k.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||y(e)},children:t?(0,k.jsx)(`input`,{autoFocus:!0,type:`text`,value:o.draft,onChange:t=>s({key:e.key,draft:t.target.value}),onBlur:b,onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),b()):e.key===`Escape`&&(e.preventDefault(),s(null))},className:`w-full bg-transparent outline-none border border-accent/60 rounded px-1 py-0 font-mono text-code-orange`}):dc(e.value)}),(0,k.jsx)(`td`,{className:`px-1 py-0.5 border-b border-border-subtle align-top`,children:(0,k.jsx)(`button`,{type:`button`,onClick:()=>x(e.key),disabled:u,title:`删除`,className:`text-text-dim hover:text-destructive px-1 leading-none`,children:`×`})})]},e.key)})})]})}),(0,k.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,k.jsx)(`input`,{type:`text`,placeholder:`key`,value:m,onChange:e=>h(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),w())},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,k.jsx)(`input`,{type:`text`,placeholder:`value`,value:g,onChange:e=>_(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),w())},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,k.jsx)(D,{variant:`outline`,size:`xs`,onClick:()=>void w(),disabled:u||!m.trim(),className:`hover:border-accent hover:text-accent`,children:`+ 新增`})]})]})}function pc(e){let t=new Date(e);return[t.getHours(),t.getMinutes(),t.getSeconds()].map(e=>String(e).padStart(2,`0`)).join(`:`)}function mc(e){return e===`error`?`text-red-500`:e===`compiling`?`text-amber-500`:e===`ready`?`text-emerald-600`:`text-text-muted`}function hc(e){return e.kind===`event`?e.event.message:e.log.text}function gc({events:e,logs:t=[],onClear:n}){let r=e.length>0?e[e.length-1]:null,[i,a]=(0,O.useState)(``),o=(0,O.useRef)(null),s=(0,O.useRef)(null),c=(0,O.useRef)(!0);(0,O.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,O.useEffect)(()=>{c.current&&s.current?.scrollIntoView({behavior:`auto`})},[e.length+t.length]);let l=(0,O.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,O.useMemo)(()=>{if(!i)return l;let e=i.toLowerCase();return l.filter(t=>hc(t).toLowerCase().includes(e))},[l,i]),d=e.length===0&&t.length===0;return(0,k.jsxs)(`div`,{className:`flex flex-col h-full w-full min-h-0 text-[12px]`,children:[(0,k.jsxs)(`div`,{className:`flex items-center gap-2 px-2 h-8 shrink-0 border-b border-border-subtle`,children:[r?(0,k.jsx)(`span`,{"data-compile-current":!0,"data-status":r.status,className:_(`truncate font-medium shrink-0`,mc(r.status)),children:r.message}):(0,k.jsx)(`span`,{className:`text-text-muted shrink-0`,children:`编译信息`}),(0,k.jsx)(`div`,{className:`flex-1 min-w-0`}),(0,k.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
2
  text-text placeholder:text-text-dim
3
3
  focus:outline-none focus:border-text-muted
4
- w-40 shrink-0`}),i&&(0,k.jsxs)(`span`,{className:`text-[11px] text-text-muted tabular-nums shrink-0`,children:[u.length,`/`,l.length]}),(0,k.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,k.jsx)(`div`,{ref:o,className:`flex-1 min-h-0 overflow-auto`,children:d?(0,k.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-muted`,children:`暂无编译信息`}):u.length===0?(0,k.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-muted`,children:`无匹配日志`}):(0,k.jsxs)(`ul`,{className:`px-2 py-1 space-y-0.5`,children:[u.map((e,t)=>e.kind===`event`?(0,k.jsxs)(`li`,{"data-compile-row":!0,"data-status":e.event.status,className:`flex items-baseline gap-2 leading-5`,children:[(0,k.jsx)(`span`,{className:`text-text-muted tabular-nums shrink-0`,children:pc(e.at)}),(0,k.jsx)(`span`,{className:_(`break-all`,mc(e.event.status)),children:e.event.message}),e.event.hotReload===!0&&(0,k.jsx)(`span`,{className:`shrink-0 px-1 rounded-sm bg-surface-2 text-text-muted`,children:`热更新`}),e.durationMs!==null&&(0,k.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,k.jsxs)(`li`,{"data-compile-log":!0,"data-stream":e.log.stream,className:`flex items-baseline gap-2 leading-5`,children:[(0,k.jsx)(`span`,{className:`text-text-muted tabular-nums shrink-0`,children:pc(e.at)}),(0,k.jsx)(`span`,{className:_(`break-all font-mono`,e.log.stream===`stderr`?`text-red-500`:`text-text`),children:e.log.text})]},`l-${e.at}-${t}`)),(0,k.jsx)(`div`,{ref:s})]})})]})}function _c(e){let{tabId:t,wxmlTree:n,onInspectWxml:r,onClearWxmlInspection:i,appData:a,onSelectAppDataBridge:o,storageItems:s,onSetStorage:c,onRemoveStorage:l,onClearStorage:u,onClearAllStorage:d,getStoragePrefix:f,compileEvents:p=[],compileLogs:m=[],onClearCompileEvents:h}=e;switch(t){case`wxml`:return(0,k.jsx)(Ca,{tree:n,onInspectElement:r,onClearInspection:i});case`appdata`:return(0,k.jsx)(uc,{state:a,onSelectBridge:o});case`storage`:return(0,k.jsx)(fc,{items:s,onSet:c,onRemove:l,onClear:u,onClearAll:d,getPrefix:f});case`compile`:return(0,k.jsx)(gc,{events:p,logs:m,onClear:h??(()=>{})})}}function vc(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))}}}var yc=0,bc=new Set([`simulator`,`editor`,`wxml`,`appdata`,`storage`,`console`,`compile`]);function xc({project:e}){let t=(0,O.useRef)(null),[n,r]=(0,O.useState)(!1),{session:i,device:a,simulator:o,panelData:s,rightPane:c,popover:l}=vt({projectPath:e.path}),u=Ct(),{state:d}=u,[f]=(0,O.useState)(()=>bn(d.dockTree??null,a.simPanelWidth,bc)),p=(0,O.useMemo)(()=>fn(),[]),[m]=(0,O.useState)(()=>++yc),h=(0,O.useMemo)(()=>vc({generation:m,publish:e=>{C(e)}}),[m]);(0,O.useEffect)(()=>()=>h.dispose(),[h]);let[g,_]=(0,O.useState)(0);(0,O.useEffect)(()=>{let e=!1,t=x(t=>{e=!0,_(t)});return oe().then(t=>{e||typeof t==`number`&&_(t)}),t},[]);let v=Yn({present:g>0,publish:e=>{let t=g>0&&e.width>0&&e.height>0;h.set({viewId:Qn.hostToolbar,placement:t?{visible:!0,bounds:e}:{visible:!1},layer:$n.hostToolbar})},deps:[g,h]});(0,O.useEffect)(()=>{let t=`Dimina DevTools`;return document.title=`${e.name} - ${t}`,Ae().then(n=>{n?.appName&&(t=n.appName,document.title=`${e.name} - ${t}`)}).catch(()=>{}),()=>{document.title=t}},[e.name]),(0,O.useEffect)(()=>()=>{t.current!==null&&window.clearTimeout(t.current)},[]);async function y(){if(o.currentPage)try{await navigator.clipboard.writeText(o.currentPage),r(!0),t.current!==null&&window.clearTimeout(t.current),t.current=window.setTimeout(()=>r(!1),E)}catch{r(!1)}}let b={rightPane:c.rightPane,onSelectTab:c.selectRightPane,wxmlTree:s.wxmlTree,onRefreshWxml:s.refreshWxml,onInspectWxml:s.inspectWxmlElement,onClearWxmlInspection:s.clearWxmlElementInspection,appData:s.appData,onRefreshAppData:s.refreshAppData,onSelectAppDataBridge:s.setActiveAppDataBridge,onWxmlActiveChange:s.setWxmlActive,storageItems:s.storageItems,onRefreshStorage:s.refreshStorage,onSetStorage:s.setStorageItem,onRemoveStorage:s.removeStorageItem,onClearStorage:s.clearStorage,onClearAllStorage:s.clearAllStorage,getStoragePrefix:s.getStoragePrefix,compileEvents:i.compileEvents,compileLogs:i.compileLogs,onClearCompileEvents:i.clearCompileEvents};return(0,k.jsx)(Xn.Provider,{value:h,children:(0,k.jsxs)(`div`,{className:`flex flex-col h-screen`,children:[(0,k.jsx)(`div`,{ref:v,style:{height:g},className:`shrink-0 w-full`,"data-area":`host-toolbar`}),(0,k.jsx)(Hn,{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,k.jsx)(`div`,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,k.jsx)(Ec,{dockModel:f,dockRegistry:p,simPanelWidth:a.simPanelWidth,renderDomPanel:(e,t)=>e===`simulator`?(0,k.jsx)(va,{device:a.device,zoom:a.zoom,onDeviceChange:a.handleDeviceChange,onZoomChange:a.handleZoomChange,compileStatus:i.compileStatus,currentPage:o.currentPage,copied:n,onCopyPagePath:y}):e===`editor`?(0,k.jsx)(ya,{}):e===`wxml`||e===`appdata`||e===`storage`||e===`compile`?(0,k.jsx)(Tc,{tabId:e,active:t.active,panelProps:b}):null,onPersistTree:u.setDockTree,persistedTree:d.dockTree??null})})]})})}function Sc(e){return e.kind===`tabs`?e.panels.includes(`simulator`):e.children.some(Sc)}function Cc(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 wc(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&&Sc(n))return{splitId:e.id,childIndex:t};let r=wc(n);if(r)return r}return null}function Tc({tabId:e,active:t,panelProps:n}){let r=(0,O.useRef)(n);(0,O.useEffect)(()=>{r.current=n});let i=(0,O.useRef)(!1);return(0,O.useEffect)(()=>{let n=t&&!i.current;if(i.current=t,!n)return;let a=r.current;e===`wxml`?a.onRefreshWxml():e===`appdata`?a.onRefreshAppData():e===`storage`&&a.onRefreshStorage()},[e,t]),(0,O.useEffect)(()=>{if(e===`wxml`)return r.current.onWxmlActiveChange?.(t),()=>{r.current.onWxmlActiveChange?.(!1)}},[e,t]),(0,k.jsx)(_c,{tabId:e,...n})}function Ec(e){let{dockModel:t,dockRegistry:n,simPanelWidth:r,renderDomPanel:i,onPersistTree:a,persistedTree:o}=e,s=(0,O.useRef)(null),c=Zn(),l=(0,O.useCallback)(e=>{c?.set({viewId:Qn.simulatorDevtools,placement:e,layer:$n.base})},[c]),u=(0,O.useCallback)((e,t,n)=>{if(e.current){t?(e.current.dispose(),e.current=Jn(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=Jn(t,{visible:!0,guardDisplayNone:!0,followScroll:!0,followGeometry:!0,publish:n}))},[]),d=(0,O.useCallback)((e,t)=>{e===`console`&&u(s,t,l)},[u,l]);return(0,O.useEffect)(()=>{let e=t.get().root,n=wc(e);n&&Cc(e,n)!==r&&t.apply(e=>{let t=wc(e.root);return!t||Cc(e.root,t)===r?e:tn(e,t.splitId,t.childIndex,{minPx:r})})},[t,r]),(0,O.useEffect)(()=>()=>{s.current?.dispose(),s.current=null,c?.remove(Qn.simulatorDevtools)},[c]),(0,O.useEffect)(()=>t.subscribe(e=>{a(Ot(e.tree))}),[t,a]),(0,O.useEffect)(()=>{let e=Ot(t.get());e!==o&&a(e)},[]),(0,k.jsx)(Zi,{model:t,registry:n,renderDomPanel:i,bindNativeSlot:d,onActiveTabClick:(0,O.useCallback)(e=>{e===`simulator`||e===`editor`||t.apply(t=>dn(t,e,n))},[t,n])})}typeof window<`u`&&window.document&&window.document.createElement;function Y(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}function Dc(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Oc(...e){return t=>{let n=!1,r=e.map(e=>{let r=Dc(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():Dc(e[t],null)}}}}function kc(...e){return O.useCallback(Oc(...e),e)}function Ac(e,t){let n=O.createContext(t),r=e=>{let{children:t,...r}=e,i=O.useMemo(()=>r,Object.values(r));return(0,k.jsx)(n.Provider,{value:i,children:t})};r.displayName=e+`Provider`;function i(r){let i=O.useContext(n);if(i)return i;if(t!==void 0)return t;throw Error(`\`${r}\` must be used within \`${e}\``)}return[r,i]}function jc(e,t=[]){let n=[];function r(t,r){let i=O.createContext(r),a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=O.useMemo(()=>o,Object.values(o));return(0,k.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=O.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>O.createContext(e));return function(n){let r=n?.[e]||t;return O.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,Mc(i,...t)]}function Mc(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return O.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var Nc=globalThis?.document?O.useLayoutEffect:()=>{},Pc=O.useId||(()=>void 0),Fc=0;function Ic(e){let[t,n]=O.useState(Pc());return Nc(()=>{e||n(e=>e??String(Fc++))},[e]),e||(t?`radix-${t}`:``)}var Lc=O.useInsertionEffect||Nc;function Rc({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=zc({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=O.useRef(e!==void 0);O.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,O.useCallback(t=>{if(s){let n=Bc(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function zc({defaultProp:e,onChange:t}){let[n,r]=O.useState(e),i=O.useRef(n),a=O.useRef(t);return Lc(()=>{a.current=t},[t]),O.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function Bc(e){return typeof e==`function`}var Vc=h(t(),1);function Hc(e){let t=Uc(e),n=O.forwardRef((e,n)=>{let{children:r,...i}=e,a=O.Children.toArray(r),o=a.find(Gc);if(o){let e=o.props.children,r=a.map(t=>t===o?O.Children.count(e)>1?O.Children.only(null):O.isValidElement(e)?e.props.children:null:t);return(0,k.jsx)(t,{...i,ref:n,children:O.isValidElement(e)?O.cloneElement(e,void 0,r):null})}return(0,k.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function Uc(e){let t=O.forwardRef((e,t)=>{let{children:n,...r}=e;if(O.isValidElement(n)){let e=qc(n),i=Kc(r,n.props);return n.type!==O.Fragment&&(i.ref=t?Oc(t,e):e),O.cloneElement(n,i)}return O.Children.count(n)>1?O.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Wc=Symbol(`radix.slottable`);function Gc(e){return O.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Wc}function Kc(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function qc(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var X=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Hc(`Primitive.${t}`),r=O.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,k.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Jc(e,t){e&&Vc.flushSync(()=>e.dispatchEvent(t))}function Yc(e){let t=O.useRef(e);return O.useEffect(()=>{t.current=e}),O.useMemo(()=>(...e)=>t.current?.(...e),[])}function Xc(e,t=globalThis?.document){let n=Yc(e);O.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}var Zc=`DismissableLayer`,Qc=`dismissableLayer.update`,$c=`dismissableLayer.pointerDownOutside`,el=`dismissableLayer.focusOutside`,tl,nl=O.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),rl=O.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,onDismiss:s,...c}=e,l=O.useContext(nl),[u,d]=O.useState(null),f=u?.ownerDocument??globalThis?.document,[,p]=O.useState({}),m=kc(t,e=>d(e)),h=Array.from(l.layers),[g]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),_=h.indexOf(g),v=u?h.indexOf(u):-1,y=l.layersWithOutsidePointerEventsDisabled.size>0,b=v>=_,x=ol(e=>{let t=e.target,n=[...l.branches].some(e=>e.contains(t));!b||n||(i?.(e),o?.(e),e.defaultPrevented||s?.())},f),S=sl(e=>{let t=e.target;[...l.branches].some(e=>e.contains(t))||(a?.(e),o?.(e),e.defaultPrevented||s?.())},f);return Xc(e=>{v===l.layers.size-1&&(r?.(e),!e.defaultPrevented&&s&&(e.preventDefault(),s()))},f),O.useEffect(()=>{if(u)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(tl=f.body.style.pointerEvents,f.body.style.pointerEvents=`none`),l.layersWithOutsidePointerEventsDisabled.add(u)),l.layers.add(u),cl(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=tl)}},[u,f,n,l]),O.useEffect(()=>()=>{u&&(l.layers.delete(u),l.layersWithOutsidePointerEventsDisabled.delete(u),cl())},[u,l]),O.useEffect(()=>{let e=()=>p({});return document.addEventListener(Qc,e),()=>document.removeEventListener(Qc,e)},[]),(0,k.jsx)(X.div,{...c,ref:m,style:{pointerEvents:y?b?`auto`:`none`:void 0,...e.style},onFocusCapture:Y(e.onFocusCapture,S.onFocusCapture),onBlurCapture:Y(e.onBlurCapture,S.onBlurCapture),onPointerDownCapture:Y(e.onPointerDownCapture,x.onPointerDownCapture)})});rl.displayName=Zc;var il=`DismissableLayerBranch`,al=O.forwardRef((e,t)=>{let n=O.useContext(nl),r=O.useRef(null),i=kc(t,r);return O.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,k.jsx)(X.div,{...e,ref:i})});al.displayName=il;function ol(e,t=globalThis?.document){let n=Yc(e),r=O.useRef(!1),i=O.useRef(()=>{});return O.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){ll($c,n,a,{discrete:!0})},a={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,i.current),i.current=r,t.addEventListener(`click`,i.current,{once:!0})):r()}else t.removeEventListener(`click`,i.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(a),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function sl(e,t=globalThis?.document){let n=Yc(e),r=O.useRef(!1);return O.useEffect(()=>{let e=e=>{e.target&&!r.current&&ll(el,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function cl(){let e=new CustomEvent(Qc);document.dispatchEvent(e)}function ll(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?Jc(i,a):i.dispatchEvent(a)}var ul=`focusScope.autoFocusOnMount`,dl=`focusScope.autoFocusOnUnmount`,fl={bubbles:!1,cancelable:!0},pl=`FocusScope`,ml=O.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=O.useState(null),l=Yc(i),u=Yc(a),d=O.useRef(null),f=kc(t,e=>c(e)),p=O.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;O.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:Z(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||Z(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&Z(s)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,p.paused]),O.useEffect(()=>{if(s){xl.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(ul,fl);s.addEventListener(ul,l),s.dispatchEvent(t),t.defaultPrevented||(hl(wl(_l(s)),{select:!0}),document.activeElement===e&&Z(s))}return()=>{s.removeEventListener(ul,l),setTimeout(()=>{let t=new CustomEvent(dl,fl);s.addEventListener(dl,u),s.dispatchEvent(t),t.defaultPrevented||Z(e??document.body,{select:!0}),s.removeEventListener(dl,u),xl.remove(p)},0)}}},[s,l,u,p]);let m=O.useCallback(e=>{if(!n&&!r||p.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=gl(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&Z(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&Z(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,k.jsx)(X.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})});ml.displayName=pl;function hl(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Z(r,{select:t}),document.activeElement!==n)return}function gl(e){let t=_l(e);return[vl(t,e),vl(t.reverse(),e)]}function _l(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function vl(e,t){for(let n of e)if(!yl(n,{upTo:t}))return n}function yl(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function bl(e){return e instanceof HTMLInputElement&&`select`in e}function Z(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&bl(e)&&t&&e.select()}}var xl=Sl();function Sl(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Cl(e,t),e.unshift(t)},remove(t){e=Cl(e,t),e[0]?.resume()}}}function Cl(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function wl(e){return e.filter(e=>e.tagName!==`A`)}var Tl=`Portal`,El=O.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=O.useState(!1);Nc(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?Vc.createPortal((0,k.jsx)(X.div,{...r,ref:t}),o):null});El.displayName=Tl;function Dl(e,t){return O.useReducer((e,n)=>t[e][n]??e,e)}var Ol=e=>{let{present:t,children:n}=e,r=kl(t),i=typeof n==`function`?n({present:r.isPresent}):O.Children.only(n),a=kc(r.ref,jl(i));return typeof n==`function`||r.isPresent?O.cloneElement(i,{ref:a}):null};Ol.displayName=`Presence`;function kl(e){let[t,n]=O.useState(),r=O.useRef(null),i=O.useRef(e),a=O.useRef(`none`),[o,s]=Dl(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return O.useEffect(()=>{let e=Al(r.current);a.current=o===`mounted`?e:`none`},[o]),Nc(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=Al(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),Nc(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=Al(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=Al(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:O.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function Al(e){return e?.animationName||`none`}function jl(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Ml=0;function Nl(){O.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??Pl()),document.body.insertAdjacentElement(`beforeend`,e[1]??Pl()),Ml++,()=>{Ml===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),Ml--}},[])}function Pl(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var Q=function(){return Q=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Q.apply(this,arguments)};function Fl(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Il(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var Ll=`right-scroll-bar-position`,Rl=`width-before-scroll-bar`,zl=`with-scroll-bars-hidden`,Bl=`--removed-body-scroll-bar-size`;function Vl(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function Hl(e,t){var n=(0,O.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var Ul=typeof window<`u`?O.useLayoutEffect:O.useEffect,Wl=new WeakMap;function Gl(e,t){var n=Hl(t||null,function(t){return e.forEach(function(e){return Vl(e,t)})});return Ul(function(){var t=Wl.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||Vl(e,null)}),i.forEach(function(e){r.has(e)||Vl(e,a)})}Wl.set(n,e)},[e]),n}function Kl(e){return e}function ql(e,t){t===void 0&&(t=Kl);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Jl(e){e===void 0&&(e={});var t=ql(null);return t.options=Q({async:!0,ssr:!1},e),t}var Yl=function(e){var t=e.sideCar,n=Fl(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return O.createElement(r,Q({},n))};Yl.isSideCarExport=!0;function Xl(e,t){return e.useMedium(t),Yl}var Zl=Jl(),Ql=function(){},$l=O.forwardRef(function(e,t){var n=O.useRef(null),r=O.useState({onScrollCapture:Ql,onWheelCapture:Ql,onTouchMoveCapture:Ql}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,u=e.enabled,d=e.shards,f=e.sideCar,p=e.noRelative,m=e.noIsolation,h=e.inert,g=e.allowPinchZoom,_=e.as,v=_===void 0?`div`:_,y=e.gapMode,b=Fl(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),x=f,S=Gl([n,t]),C=Q(Q({},b),i);return O.createElement(O.Fragment,null,u&&O.createElement(x,{sideCar:Zl,removeScrollBar:l,shards:d,noRelative:p,noIsolation:m,inert:h,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:y}),o?O.cloneElement(O.Children.only(s),Q(Q({},C),{ref:S})):O.createElement(v,Q({},C,{className:c,ref:S}),s))});$l.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},$l.classNames={fullWidth:Rl,zeroRight:Ll};var eu,tu=function(){if(eu)return eu;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function nu(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=tu();return t&&e.setAttribute(`nonce`,t),e}function ru(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function iu(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var au=function(){var e=0,t=null;return{add:function(n){e==0&&(t=nu())&&(ru(t,n),iu(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},ou=function(){var e=au();return function(t,n){O.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},su=function(){var e=ou();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},cu={left:0,top:0,right:0,gap:0},lu=function(e){return parseInt(e||``,10)||0},uu=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[lu(n),lu(r),lu(i)]},du=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return cu;var t=uu(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},fu=su(),pu=`data-scroll-locked`,mu=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
4
+ w-40 shrink-0`}),i&&(0,k.jsxs)(`span`,{className:`text-[11px] text-text-muted tabular-nums shrink-0`,children:[u.length,`/`,l.length]}),(0,k.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,k.jsx)(`div`,{ref:o,className:`flex-1 min-h-0 overflow-auto`,children:d?(0,k.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-muted`,children:`暂无编译信息`}):u.length===0?(0,k.jsx)(`div`,{className:`flex items-center justify-center h-full text-text-muted`,children:`无匹配日志`}):(0,k.jsxs)(`ul`,{className:`px-2 py-1 space-y-0.5`,children:[u.map((e,t)=>e.kind===`event`?(0,k.jsxs)(`li`,{"data-compile-row":!0,"data-status":e.event.status,className:`flex items-baseline gap-2 leading-5`,children:[(0,k.jsx)(`span`,{className:`text-text-muted tabular-nums shrink-0`,children:pc(e.at)}),(0,k.jsx)(`span`,{className:_(`break-all`,mc(e.event.status)),children:e.event.message}),e.event.hotReload===!0&&(0,k.jsx)(`span`,{className:`shrink-0 px-1 rounded-sm bg-surface-2 text-text-muted`,children:`已重启`}),e.durationMs!==null&&(0,k.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,k.jsxs)(`li`,{"data-compile-log":!0,"data-stream":e.log.stream,className:`flex items-baseline gap-2 leading-5`,children:[(0,k.jsx)(`span`,{className:`text-text-muted tabular-nums shrink-0`,children:pc(e.at)}),(0,k.jsx)(`span`,{className:_(`break-all font-mono`,e.log.stream===`stderr`?`text-red-500`:`text-text`),children:e.log.text})]},`l-${e.at}-${t}`)),(0,k.jsx)(`div`,{ref:s})]})})]})}function _c(e){let{tabId:t,wxmlTree:n,onInspectWxml:r,onClearWxmlInspection:i,appData:a,onSelectAppDataBridge:o,storageItems:s,onSetStorage:c,onRemoveStorage:l,onClearStorage:u,onClearAllStorage:d,getStoragePrefix:f,compileEvents:p=[],compileLogs:m=[],onClearCompileEvents:h}=e;switch(t){case`wxml`:return(0,k.jsx)(Ca,{tree:n,onInspectElement:r,onClearInspection:i});case`appdata`:return(0,k.jsx)(uc,{state:a,onSelectBridge:o});case`storage`:return(0,k.jsx)(fc,{items:s,onSet:c,onRemove:l,onClear:u,onClearAll:d,getPrefix:f});case`compile`:return(0,k.jsx)(gc,{events:p,logs:m,onClear:h??(()=>{})})}}function vc(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))}}}var yc=0,bc=new Set([`simulator`,`editor`,`wxml`,`appdata`,`storage`,`console`,`compile`]);function xc({project:e}){let t=(0,O.useRef)(null),[n,r]=(0,O.useState)(!1),{session:i,device:a,simulator:o,panelData:s,rightPane:c,popover:l}=vt({projectPath:e.path}),u=Ct(),{state:d}=u,[f]=(0,O.useState)(()=>bn(d.dockTree??null,a.simPanelWidth,bc)),p=(0,O.useMemo)(()=>fn(),[]),[m]=(0,O.useState)(()=>++yc),h=(0,O.useMemo)(()=>vc({generation:m,publish:e=>{C(e)}}),[m]);(0,O.useEffect)(()=>()=>h.dispose(),[h]);let[g,_]=(0,O.useState)(0);(0,O.useEffect)(()=>{let e=!1,t=x(t=>{e=!0,_(t)});return oe().then(t=>{e||typeof t==`number`&&_(t)}),t},[]);let v=Yn({present:g>0,publish:e=>{let t=g>0&&e.width>0&&e.height>0;h.set({viewId:Qn.hostToolbar,placement:t?{visible:!0,bounds:e}:{visible:!1},layer:$n.hostToolbar})},deps:[g,h]});(0,O.useEffect)(()=>{let t=`Dimina DevTools`;return document.title=`${e.name} - ${t}`,Ae().then(n=>{n?.appName&&(t=n.appName,document.title=`${e.name} - ${t}`)}).catch(()=>{}),()=>{document.title=t}},[e.name]),(0,O.useEffect)(()=>()=>{t.current!==null&&window.clearTimeout(t.current)},[]);async function y(){if(o.currentPage)try{await navigator.clipboard.writeText(o.currentPage),r(!0),t.current!==null&&window.clearTimeout(t.current),t.current=window.setTimeout(()=>r(!1),E)}catch{r(!1)}}let b={rightPane:c.rightPane,onSelectTab:c.selectRightPane,wxmlTree:s.wxmlTree,onRefreshWxml:s.refreshWxml,onInspectWxml:s.inspectWxmlElement,onClearWxmlInspection:s.clearWxmlElementInspection,appData:s.appData,onRefreshAppData:s.refreshAppData,onSelectAppDataBridge:s.setActiveAppDataBridge,onWxmlActiveChange:s.setWxmlActive,storageItems:s.storageItems,onRefreshStorage:s.refreshStorage,onSetStorage:s.setStorageItem,onRemoveStorage:s.removeStorageItem,onClearStorage:s.clearStorage,onClearAllStorage:s.clearAllStorage,getStoragePrefix:s.getStoragePrefix,compileEvents:i.compileEvents,compileLogs:i.compileLogs,onClearCompileEvents:i.clearCompileEvents};return(0,k.jsx)(Xn.Provider,{value:h,children:(0,k.jsxs)(`div`,{className:`flex flex-col h-screen`,children:[(0,k.jsx)(`div`,{ref:v,style:{height:g},className:`shrink-0 w-full`,"data-area":`host-toolbar`}),(0,k.jsx)(Hn,{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,k.jsx)(`div`,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,k.jsx)(Ec,{dockModel:f,dockRegistry:p,simPanelWidth:a.simPanelWidth,renderDomPanel:(e,t)=>e===`simulator`?(0,k.jsx)(va,{device:a.device,zoom:a.zoom,onDeviceChange:a.handleDeviceChange,onZoomChange:a.handleZoomChange,compileStatus:i.compileStatus,currentPage:o.currentPage,copied:n,onCopyPagePath:y}):e===`editor`?(0,k.jsx)(ya,{}):e===`wxml`||e===`appdata`||e===`storage`||e===`compile`?(0,k.jsx)(Tc,{tabId:e,active:t.active,panelProps:b}):null,onPersistTree:u.setDockTree,persistedTree:d.dockTree??null})})]})})}function Sc(e){return e.kind===`tabs`?e.panels.includes(`simulator`):e.children.some(Sc)}function Cc(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 wc(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&&Sc(n))return{splitId:e.id,childIndex:t};let r=wc(n);if(r)return r}return null}function Tc({tabId:e,active:t,panelProps:n}){let r=(0,O.useRef)(n);(0,O.useEffect)(()=>{r.current=n});let i=(0,O.useRef)(!1);return(0,O.useEffect)(()=>{let n=t&&!i.current;if(i.current=t,!n)return;let a=r.current;e===`wxml`?a.onRefreshWxml():e===`appdata`?a.onRefreshAppData():e===`storage`&&a.onRefreshStorage()},[e,t]),(0,O.useEffect)(()=>{if(e===`wxml`)return r.current.onWxmlActiveChange?.(t),()=>{r.current.onWxmlActiveChange?.(!1)}},[e,t]),(0,k.jsx)(_c,{tabId:e,...n})}function Ec(e){let{dockModel:t,dockRegistry:n,simPanelWidth:r,renderDomPanel:i,onPersistTree:a,persistedTree:o}=e,s=(0,O.useRef)(null),c=Zn(),l=(0,O.useCallback)(e=>{c?.set({viewId:Qn.simulatorDevtools,placement:e,layer:$n.base})},[c]),u=(0,O.useCallback)((e,t,n)=>{if(e.current){t?(e.current.dispose(),e.current=Jn(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=Jn(t,{visible:!0,guardDisplayNone:!0,followScroll:!0,followGeometry:!0,publish:n}))},[]),d=(0,O.useCallback)((e,t)=>{e===`console`&&u(s,t,l)},[u,l]);return(0,O.useEffect)(()=>{let e=t.get().root,n=wc(e);n&&Cc(e,n)!==r&&t.apply(e=>{let t=wc(e.root);return!t||Cc(e.root,t)===r?e:tn(e,t.splitId,t.childIndex,{minPx:r})})},[t,r]),(0,O.useEffect)(()=>()=>{s.current?.dispose(),s.current=null,c?.remove(Qn.simulatorDevtools)},[c]),(0,O.useEffect)(()=>t.subscribe(e=>{a(Ot(e.tree))}),[t,a]),(0,O.useEffect)(()=>{let e=Ot(t.get());e!==o&&a(e)},[]),(0,k.jsx)(Zi,{model:t,registry:n,renderDomPanel:i,bindNativeSlot:d,onActiveTabClick:(0,O.useCallback)(e=>{e===`simulator`||e===`editor`||t.apply(t=>dn(t,e,n))},[t,n])})}typeof window<`u`&&window.document&&window.document.createElement;function Y(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}function Dc(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function Oc(...e){return t=>{let n=!1,r=e.map(e=>{let r=Dc(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():Dc(e[t],null)}}}}function kc(...e){return O.useCallback(Oc(...e),e)}function Ac(e,t){let n=O.createContext(t),r=e=>{let{children:t,...r}=e,i=O.useMemo(()=>r,Object.values(r));return(0,k.jsx)(n.Provider,{value:i,children:t})};r.displayName=e+`Provider`;function i(r){let i=O.useContext(n);if(i)return i;if(t!==void 0)return t;throw Error(`\`${r}\` must be used within \`${e}\``)}return[r,i]}function jc(e,t=[]){let n=[];function r(t,r){let i=O.createContext(r),a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=O.useMemo(()=>o,Object.values(o));return(0,k.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=O.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>O.createContext(e));return function(n){let r=n?.[e]||t;return O.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,Mc(i,...t)]}function Mc(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return O.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}var Nc=globalThis?.document?O.useLayoutEffect:()=>{},Pc=O.useId||(()=>void 0),Fc=0;function Ic(e){let[t,n]=O.useState(Pc());return Nc(()=>{e||n(e=>e??String(Fc++))},[e]),e||(t?`radix-${t}`:``)}var Lc=O.useInsertionEffect||Nc;function Rc({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=zc({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=O.useRef(e!==void 0);O.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,O.useCallback(t=>{if(s){let n=Bc(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function zc({defaultProp:e,onChange:t}){let[n,r]=O.useState(e),i=O.useRef(n),a=O.useRef(t);return Lc(()=>{a.current=t},[t]),O.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function Bc(e){return typeof e==`function`}var Vc=h(t(),1);function Hc(e){let t=Uc(e),n=O.forwardRef((e,n)=>{let{children:r,...i}=e,a=O.Children.toArray(r),o=a.find(Gc);if(o){let e=o.props.children,r=a.map(t=>t===o?O.Children.count(e)>1?O.Children.only(null):O.isValidElement(e)?e.props.children:null:t);return(0,k.jsx)(t,{...i,ref:n,children:O.isValidElement(e)?O.cloneElement(e,void 0,r):null})}return(0,k.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function Uc(e){let t=O.forwardRef((e,t)=>{let{children:n,...r}=e;if(O.isValidElement(n)){let e=qc(n),i=Kc(r,n.props);return n.type!==O.Fragment&&(i.ref=t?Oc(t,e):e),O.cloneElement(n,i)}return O.Children.count(n)>1?O.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Wc=Symbol(`radix.slottable`);function Gc(e){return O.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Wc}function Kc(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function qc(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var X=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Hc(`Primitive.${t}`),r=O.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,k.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Jc(e,t){e&&Vc.flushSync(()=>e.dispatchEvent(t))}function Yc(e){let t=O.useRef(e);return O.useEffect(()=>{t.current=e}),O.useMemo(()=>(...e)=>t.current?.(...e),[])}function Xc(e,t=globalThis?.document){let n=Yc(e);O.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}var Zc=`DismissableLayer`,Qc=`dismissableLayer.update`,$c=`dismissableLayer.pointerDownOutside`,el=`dismissableLayer.focusOutside`,tl,nl=O.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),rl=O.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,onDismiss:s,...c}=e,l=O.useContext(nl),[u,d]=O.useState(null),f=u?.ownerDocument??globalThis?.document,[,p]=O.useState({}),m=kc(t,e=>d(e)),h=Array.from(l.layers),[g]=[...l.layersWithOutsidePointerEventsDisabled].slice(-1),_=h.indexOf(g),v=u?h.indexOf(u):-1,y=l.layersWithOutsidePointerEventsDisabled.size>0,b=v>=_,x=ol(e=>{let t=e.target,n=[...l.branches].some(e=>e.contains(t));!b||n||(i?.(e),o?.(e),e.defaultPrevented||s?.())},f),S=sl(e=>{let t=e.target;[...l.branches].some(e=>e.contains(t))||(a?.(e),o?.(e),e.defaultPrevented||s?.())},f);return Xc(e=>{v===l.layers.size-1&&(r?.(e),!e.defaultPrevented&&s&&(e.preventDefault(),s()))},f),O.useEffect(()=>{if(u)return n&&(l.layersWithOutsidePointerEventsDisabled.size===0&&(tl=f.body.style.pointerEvents,f.body.style.pointerEvents=`none`),l.layersWithOutsidePointerEventsDisabled.add(u)),l.layers.add(u),cl(),()=>{n&&l.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=tl)}},[u,f,n,l]),O.useEffect(()=>()=>{u&&(l.layers.delete(u),l.layersWithOutsidePointerEventsDisabled.delete(u),cl())},[u,l]),O.useEffect(()=>{let e=()=>p({});return document.addEventListener(Qc,e),()=>document.removeEventListener(Qc,e)},[]),(0,k.jsx)(X.div,{...c,ref:m,style:{pointerEvents:y?b?`auto`:`none`:void 0,...e.style},onFocusCapture:Y(e.onFocusCapture,S.onFocusCapture),onBlurCapture:Y(e.onBlurCapture,S.onBlurCapture),onPointerDownCapture:Y(e.onPointerDownCapture,x.onPointerDownCapture)})});rl.displayName=Zc;var il=`DismissableLayerBranch`,al=O.forwardRef((e,t)=>{let n=O.useContext(nl),r=O.useRef(null),i=kc(t,r);return O.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,k.jsx)(X.div,{...e,ref:i})});al.displayName=il;function ol(e,t=globalThis?.document){let n=Yc(e),r=O.useRef(!1),i=O.useRef(()=>{});return O.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){ll($c,n,a,{discrete:!0})},a={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,i.current),i.current=r,t.addEventListener(`click`,i.current,{once:!0})):r()}else t.removeEventListener(`click`,i.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(a),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function sl(e,t=globalThis?.document){let n=Yc(e),r=O.useRef(!1);return O.useEffect(()=>{let e=e=>{e.target&&!r.current&&ll(el,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function cl(){let e=new CustomEvent(Qc);document.dispatchEvent(e)}function ll(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?Jc(i,a):i.dispatchEvent(a)}var ul=`focusScope.autoFocusOnMount`,dl=`focusScope.autoFocusOnUnmount`,fl={bubbles:!1,cancelable:!0},pl=`FocusScope`,ml=O.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=O.useState(null),l=Yc(i),u=Yc(a),d=O.useRef(null),f=kc(t,e=>c(e)),p=O.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;O.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:Z(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||Z(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&Z(s)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,p.paused]),O.useEffect(()=>{if(s){xl.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(ul,fl);s.addEventListener(ul,l),s.dispatchEvent(t),t.defaultPrevented||(hl(wl(_l(s)),{select:!0}),document.activeElement===e&&Z(s))}return()=>{s.removeEventListener(ul,l),setTimeout(()=>{let t=new CustomEvent(dl,fl);s.addEventListener(dl,u),s.dispatchEvent(t),t.defaultPrevented||Z(e??document.body,{select:!0}),s.removeEventListener(dl,u),xl.remove(p)},0)}}},[s,l,u,p]);let m=O.useCallback(e=>{if(!n&&!r||p.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=gl(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&Z(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&Z(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,k.jsx)(X.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})});ml.displayName=pl;function hl(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Z(r,{select:t}),document.activeElement!==n)return}function gl(e){let t=_l(e);return[vl(t,e),vl(t.reverse(),e)]}function _l(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function vl(e,t){for(let n of e)if(!yl(n,{upTo:t}))return n}function yl(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function bl(e){return e instanceof HTMLInputElement&&`select`in e}function Z(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&bl(e)&&t&&e.select()}}var xl=Sl();function Sl(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Cl(e,t),e.unshift(t)},remove(t){e=Cl(e,t),e[0]?.resume()}}}function Cl(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function wl(e){return e.filter(e=>e.tagName!==`A`)}var Tl=`Portal`,El=O.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=O.useState(!1);Nc(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?Vc.createPortal((0,k.jsx)(X.div,{...r,ref:t}),o):null});El.displayName=Tl;function Dl(e,t){return O.useReducer((e,n)=>t[e][n]??e,e)}var Ol=e=>{let{present:t,children:n}=e,r=kl(t),i=typeof n==`function`?n({present:r.isPresent}):O.Children.only(n),a=kc(r.ref,jl(i));return typeof n==`function`||r.isPresent?O.cloneElement(i,{ref:a}):null};Ol.displayName=`Presence`;function kl(e){let[t,n]=O.useState(),r=O.useRef(null),i=O.useRef(e),a=O.useRef(`none`),[o,s]=Dl(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return O.useEffect(()=>{let e=Al(r.current);a.current=o===`mounted`?e:`none`},[o]),Nc(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=Al(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),Nc(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=Al(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=Al(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:O.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function Al(e){return e?.animationName||`none`}function jl(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Ml=0;function Nl(){O.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??Pl()),document.body.insertAdjacentElement(`beforeend`,e[1]??Pl()),Ml++,()=>{Ml===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),Ml--}},[])}function Pl(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var Q=function(){return Q=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Q.apply(this,arguments)};function Fl(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Il(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var Ll=`right-scroll-bar-position`,Rl=`width-before-scroll-bar`,zl=`with-scroll-bars-hidden`,Bl=`--removed-body-scroll-bar-size`;function Vl(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function Hl(e,t){var n=(0,O.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var Ul=typeof window<`u`?O.useLayoutEffect:O.useEffect,Wl=new WeakMap;function Gl(e,t){var n=Hl(t||null,function(t){return e.forEach(function(e){return Vl(e,t)})});return Ul(function(){var t=Wl.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||Vl(e,null)}),i.forEach(function(e){r.has(e)||Vl(e,a)})}Wl.set(n,e)},[e]),n}function Kl(e){return e}function ql(e,t){t===void 0&&(t=Kl);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Jl(e){e===void 0&&(e={});var t=ql(null);return t.options=Q({async:!0,ssr:!1},e),t}var Yl=function(e){var t=e.sideCar,n=Fl(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return O.createElement(r,Q({},n))};Yl.isSideCarExport=!0;function Xl(e,t){return e.useMedium(t),Yl}var Zl=Jl(),Ql=function(){},$l=O.forwardRef(function(e,t){var n=O.useRef(null),r=O.useState({onScrollCapture:Ql,onWheelCapture:Ql,onTouchMoveCapture:Ql}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,u=e.enabled,d=e.shards,f=e.sideCar,p=e.noRelative,m=e.noIsolation,h=e.inert,g=e.allowPinchZoom,_=e.as,v=_===void 0?`div`:_,y=e.gapMode,b=Fl(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),x=f,S=Gl([n,t]),C=Q(Q({},b),i);return O.createElement(O.Fragment,null,u&&O.createElement(x,{sideCar:Zl,removeScrollBar:l,shards:d,noRelative:p,noIsolation:m,inert:h,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:y}),o?O.cloneElement(O.Children.only(s),Q(Q({},C),{ref:S})):O.createElement(v,Q({},C,{className:c,ref:S}),s))});$l.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},$l.classNames={fullWidth:Rl,zeroRight:Ll};var eu,tu=function(){if(eu)return eu;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function nu(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=tu();return t&&e.setAttribute(`nonce`,t),e}function ru(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function iu(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var au=function(){var e=0,t=null;return{add:function(n){e==0&&(t=nu())&&(ru(t,n),iu(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},ou=function(){var e=au();return function(t,n){O.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},su=function(){var e=ou();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},cu={left:0,top:0,right:0,gap:0},lu=function(e){return parseInt(e||``,10)||0},uu=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[lu(n),lu(r),lu(i)]},du=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return cu;var t=uu(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},fu=su(),pu=`data-scroll-locked`,mu=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
5
5
  .${zl} {
6
6
  overflow: hidden ${r};
7
7
  padding-right: ${s}px ${r};
@@ -46,4 +46,4 @@ import{C as e,S as t,a as n,b as r,c as i,d as a,g as o,h as s,l as c,m as l,n a
46
46
  If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
47
47
 
48
48
  For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return O.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},kd=`DialogDescriptionWarning`,Ad=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Dd(kd).contentName}}.`;return O.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},jd=nd,Md=cd,Nd=ud,Pd=md,Fd=yd,Id=xd,Ld=Cd,Rd=jd,zd=Md,Bd=O.forwardRef(({className:e,...t},n)=>(0,k.jsx)(Nd,{ref:n,className:_(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t}));Bd.displayName=Nd.displayName;var Vd=O.forwardRef(({className:e,children:t,...n},r)=>(0,k.jsxs)(zd,{children:[(0,k.jsx)(Bd,{}),(0,k.jsxs)(Pd,{ref:r,className:_(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-border bg-surface text-text p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,e),...n,children:[t,(0,k.jsxs)(Ld,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-bg transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-accent focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-surface-active data-[state=open]:text-text-muted`,children:[(0,k.jsx)(Se,{className:`h-4 w-4`}),(0,k.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));Vd.displayName=Pd.displayName;var Hd=({className:e,...t})=>(0,k.jsx)(`div`,{className:_(`flex flex-col space-y-1.5 text-center sm:text-left`,e),...t});Hd.displayName=`DialogHeader`;var Ud=({className:e,...t})=>(0,k.jsx)(`div`,{className:_(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...t});Ud.displayName=`DialogFooter`;var Wd=O.forwardRef(({className:e,...t},n)=>(0,k.jsx)(Fd,{ref:n,className:_(`text-lg font-semibold leading-none tracking-tight`,e),...t}));Wd.displayName=Fd.displayName;var Gd=O.forwardRef(({className:e,...t},n)=>(0,k.jsx)(Id,{ref:n,className:_(`text-sm text-text-muted`,e),...t}));Gd.displayName=Id.displayName;function Kd(){let[e,t]=(0,O.useState)(!1),[n,r]=(0,O.useState)(null),[i,a]=(0,O.useState)(`prompt`),[s,c]=(0,O.useState)(0),[l,d]=(0,O.useState)(``);(0,O.useEffect)(()=>p(o.Available,e=>{r(e),a(`prompt`),c(0),d(``),t(!0)}),[]),(0,O.useEffect)(()=>p(o.DownloadProgress,e=>{c(Math.round(e.percent))}),[]);let f=(0,O.useCallback)(async()=>{a(`downloading`),c(0);try{let e=await u(o.Download);e.success?a(`ready`):(d(e.error||`Download failed`),a(`error`))}catch(e){d(e instanceof Error?e.message:String(e)),a(`error`)}},[]),m=(0,O.useCallback)(()=>{u(o.Install).catch(e=>{console.warn(`[update] install failed:`,e)})},[]),h=(0,O.useCallback)(()=>{n?.mandatory&&i!==`ready`||t(!1)},[n,i]);return n?(0,k.jsx)(Rd,{open:e,onOpenChange:e=>{!e&&n?.mandatory&&i!==`ready`||t(e)},children:(0,k.jsxs)(Vd,{className:`max-w-md`,children:[(0,k.jsxs)(Hd,{children:[(0,k.jsx)(Wd,{children:i===`ready`?`Ready to Install`:`Update Available`}),(0,k.jsxs)(Gd,{children:[i===`prompt`&&`New version ${n.version} is available.`,i===`downloading`&&`Downloading... ${s}%`,i===`ready`&&`Download complete. Click install to restart and apply the update.`,i===`error`&&`Download failed: ${l}`]})]}),n.releaseNotes&&i===`prompt`&&(0,k.jsx)(`div`,{className:`max-h-40 overflow-y-auto rounded border border-border bg-surface-2 p-3 text-xs text-text-secondary whitespace-pre-wrap`,children:n.releaseNotes}),i===`downloading`&&(0,k.jsx)(`div`,{className:`h-2 w-full overflow-hidden rounded-full bg-surface-3`,children:(0,k.jsx)(`div`,{className:`h-full bg-accent transition-all duration-300`,style:{width:`${s}%`}})}),(0,k.jsxs)(Ud,{children:[i===`prompt`&&(0,k.jsxs)(k.Fragment,{children:[!n.mandatory&&(0,k.jsx)(D,{variant:`outline`,onClick:h,children:`Later`}),(0,k.jsx)(D,{onClick:f,children:`Download`})]}),i===`ready`&&(0,k.jsx)(D,{onClick:m,children:`Install & Restart`}),i===`error`&&(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(D,{variant:`outline`,onClick:h,children:`Close`}),(0,k.jsx)(D,{onClick:f,children:`Retry`})]})]})]})}):null}var qd=`Dimina DevTools`;function Jd(){let[e,t]=(0,O.useState)(`list`),[n,r]=(0,O.useState)(null),[i,a]=(0,O.useState)([]),[o,s]=(0,O.useState)({}),[c,l]=(0,O.useState)(qd),[u,d]=(0,O.useState)(!1),[f,p]=(0,O.useState)([]),[m,h]=(0,O.useState)(``);async function g(){a(await je())}(0,O.useEffect)(()=>{g(),Ae().then(e=>{e?.appName&&(l(e.appName),document.title=e.appName)}).catch(()=>{})},[]),(0,O.useEffect)(()=>{i.length!==0&&Promise.all(i.map(e=>He(e.path).then(t=>[e.path,t]))).then(e=>s(Object.fromEntries(e)))},[i]),(0,O.useEffect)(()=>ce(()=>{document.title=c,t(`list`),r(null),je().then(a)}),[c]);async function _(){let e=await Me();if(!e)return;let t;try{t=await Ne(e)}catch{return}await g(),x(t)}async function v(){let e;try{e=await We()}catch{e=null}if(e&&`ready`in e){await g(),x(e.ready);return}if(e){let t;try{t=await Ge(e)}catch{return}await g(),x(t);return}let[t,n]=await Promise.allSettled([Ue(),Ke()]);p(t.status===`fulfilled`?t.value:[]),h(n.status===`fulfilled`?n.value.baseDir:``),d(!0)}async function y(e){d(!1);let t;try{t=await Ge(e)}catch{return}await g(),x(t)}async function b(e){await Pe(e.path),await g()}function x(e){r(e),t(`project`)}return e===`list`?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Kd,{}),(0,k.jsx)(Ee,{projects:i,onAdd:_,onCreate:v,onOpen:x,onRemove:b,thumbnails:o}),(0,k.jsx)(ke,{open:u,templates:f,defaultBaseDir:m,onSubmit:y,onCancel:()=>d(!1),onBrowse:Me})]}):(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(Kd,{}),(0,k.jsx)(xc,{project:n},n?.path)]})}Ce.createRoot(document.getElementById(`root`)).render((0,k.jsx)(Jd,{}));
49
- //# sourceMappingURL=index-ChF9V4r-.js.map
49
+ //# sourceMappingURL=index-B-Dqb7G0.js.map
@@ -26,7 +26,7 @@
26
26
  overflow: hidden;
27
27
  }
28
28
  </style>
29
- <script type="module" crossorigin src="../../assets/index-ChF9V4r-.js"></script>
29
+ <script type="module" crossorigin src="../../assets/index-B-Dqb7G0.js"></script>
30
30
  <link rel="modulepreload" crossorigin href="../../assets/ipc-transport-OZS-KmOW.js">
31
31
  <link rel="modulepreload" crossorigin href="../../assets/input-Cjk0wSEh.js">
32
32
  <link rel="modulepreload" crossorigin href="../../assets/select-BQDXi5ih.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dimina-kit/devtools",
3
- "version": "0.4.0-dev.20260702145840",
3
+ "version": "0.4.0-dev.20260702164903",
4
4
  "description": "Dimina DevTools - modular developer tools for mini app debugging",
5
5
  "keywords": [
6
6
  "dimina",
@@ -85,9 +85,9 @@
85
85
  "chrome-remote-interface": "^0.34.0",
86
86
  "ws": "^8.20.0",
87
87
  "zod": "^4.3.6",
88
- "@dimina-kit/electron-deck": "0.1.0-dev.20260702145840",
89
- "@dimina-kit/view-anchor": "0.1.0-dev.20260702145840",
90
- "@dimina-kit/devkit": "0.1.2-dev.20260702145840"
88
+ "@dimina-kit/devkit": "0.1.2-dev.20260702164903",
89
+ "@dimina-kit/electron-deck": "0.1.0-dev.20260702164903",
90
+ "@dimina-kit/view-anchor": "0.1.0-dev.20260702164903"
91
91
  },
92
92
  "devDependencies": {
93
93
  "@playwright/test": "^1.59.1",