vite-plugin-kiru 0.24.0 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +68 -126
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1692,7 +1692,7 @@ var dist_default = `<!DOCTYPE html>
|
|
|
1692
1692
|
<link rel="icon" type="image/svg+xml" href="./favicon.svg" />
|
|
1693
1693
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
1694
1694
|
<title>Kiru Devtools</title>
|
|
1695
|
-
<script type="module" crossorigin>import*as m from"kiru";import{useState as xe,useEffect as ct,useCallback as Te,createContext as ol,useContext as rl,useMemo as jn,unwrap as al,useRequestUpdate as te,useSignal as Q,sideEffectsEnabled as mr,useHook as br,depsRequireChange as xr,cleanupHook as yr,useLayoutEffect as Ki,signal as ht,useRef as Ce,computed as vr,mount as ll}from"kiru";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&i(r)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function i(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();const cl=Symbol.for("kiru.fragment"),hl={DELETION:3};new Array;var zs;(function(e){e.Start="start",e.End="end"})(zs||(zs={}));const ul={set(e,t){return e|=1<<t},get(e,t){return(e&1<<t)!==0},unsetRange(e,t,n){const i=(1<<n-t+1)-1<<t;return e&~i}};function dl(e){return ul.get(e.flags,hl.DELETION)}function fl(e){return e.type===cl}function gl(e){return typeof e.type=="function"&&"displayName"in e.type&&e.type.displayName==="Kiru.lazy"}function pl(e){return typeof e.type=="function"&&"displayName"in e.type&&e.type.displayName==="Kiru.memo"}function Mi(...e){return e.filter(Boolean).join(" ")}function Zi(e,t,n){let i=e;for(let s=0;s<t.length;s++){const o=t[s];s===t.length-1?i[o]=n:i=i[o]}}function _r(e){return e.type.displayName??(e.type.name||"Anonymous Function")}const ml=e=>e.__devtoolsFileLink??null;function an(e){return e.name==="kiru.devtools"}function wr(e){return Array.from(e.entries())}function bl(e){return m.createElement("svg",{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",...e},m.createElement("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),m.createElement("path",{d:"M12 9v11"}),m.createElement("path",{d:"M2 9h13a2 2 0 0 1 2 2v9"}))}function Kt(e){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e},m.createElement("path",{d:"m9 18 6-6-6-6"}))}function xl(e){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e},m.createElement("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),m.createElement("circle",{cx:"12",cy:"12",r:"3"}))}function yl(e){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e},m.createElement("path",{d:"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6"}),m.createElement("path",{d:"m21 3-9 9"}),m.createElement("path",{d:"M15 3h6v6"}))}function vl(e){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e},m.createElement("path",{d:"m12 14 4-4"}),m.createElement("path",{d:"M3.34 19a10 10 0 1 1 17.32 0"}))}function _l(e){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e},m.createElement("circle",{cx:"12",cy:"12",r:"10"}),m.createElement("path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}),m.createElement("path",{d:"M2 12h20"}))}function wl(e){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e},m.createElement("path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}),m.createElement("path",{d:"M21 3v5h-5"}),m.createElement("path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}),m.createElement("path",{d:"M8 16H3v5"}))}function El(e){return m.createElement("svg",{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",...e},m.createElement("path",{d:"M22 8.35V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8.35A2 2 0 0 1 3.26 6.5l8-3.2a2 2 0 0 1 1.48 0l8 3.2A2 2 0 0 1 22 8.35Z"}),m.createElement("path",{d:"M6 18h12"}),m.createElement("path",{d:"M6 14h12"}),m.createElement("rect",{width:"12",height:"12",x:"6",y:"10"}))}function Er(e){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e},m.createElement("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),m.createElement("path",{d:"M12 9v4"}),m.createElement("path",{d:"M12 17h.01"}))}function Sr({title:e,children:t,className:n,disabled:i,...s}){const[o,r]=xe(!0);ct(()=>{!o&&i&&r(!0)},[i]);const a=Te(l=>{l.preventDefault(),l.stopImmediatePropagation(),r(c=>!c)},[]);return m.createElement("div",{className:"flex flex-col"},m.createElement("button",{onclick:a,disabled:i,className:\`\${i?"opacity-50 cursor-default":"cursor-pointer"}\`},m.createElement("span",{className:"flex items-center gap-2 font-medium"},m.createElement(Kt,{className:\`transition \${o?"":"rotate-90"}\`}),e)),o?null:m.createElement("div",{className:\`p-2 \${n||""}\`,...s},t))}const Qi={arrayChunkSize:10,objectKeysChunkSize:100};function kr(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;const n=new Set([...Object.keys(e),...Object.keys(t)]);for(const i in n)if(typeof t[i]!=typeof e[i]||typeof e[i]=="object"&&!kr(e[i],t[i]))return!1;return!0}function Tr(e,t,n){for(const i in t)typeof e[i]>"u"&&(e[i]=structuredClone(t[i]));for(const i in e)typeof e[i]=="object"?Tr(e[i],t[i],n):n(e,i,e[i])}let Mr={...Qi};const Fs=localStorage.getItem("kiru.devtools.userSettings");if(Fs)try{const e=JSON.parse(Fs);kr(Qi,e)&&(Mr=e)}catch(e){console.error("kiru.devtools.userSettings error",e)}const Or=ol({userSettings:null,saveUserSettings:()=>{}}),ei=()=>rl(Or);function Sl({children:e}){const[t,n]=xe(Mr),i=s=>{localStorage.setItem("kiru.devtools.userSettings",JSON.stringify(s)),n(s)};return m.createElement(Or.Provider,{value:{userSettings:t,saveUserSettings:i}},e)}function kl(){const{userSettings:e,saveUserSettings:t}=ei();return m.createElement("div",{className:"rounded bg-neutral-400 bg-opacity-5 border border-white border-opacity-10 overflow-hidden"},m.createElement(ye,{border:!1,data:e,onChange:(n,i)=>{const s={...e};Zi(s,n,i),Tr(s,Qi,(o,r,a)=>{o[r]=a<1?1:a}),t(s)},mutable:!0,objectRefAcc:[]}))}const Tl=Object.freeze(()=>{});function ye({data:e,onChange:t,mutable:n,objectRefAcc:i,keys:s=[],className:o,border:r=!0}){const{userSettings:{objectKeysChunkSize:a}}=ei(),[l,c]=xe(0),h=jn(()=>Object.keys(e).slice(0,(l+1)*a),[l,a,e]),d=()=>{h.forEach(p=>{typeof e[p]=="object"&&i.splice(i.indexOf(e[p]),1)}),c(l+1)},g=h.length<Object.keys(e).length;return m.createElement(m.Fragment,null,m.createElement("div",{className:Mi("flex flex-col items-start w-full",r&&"border border-neutral-700",al(o))},h.map(p=>{const y=s.concat(p),x=y.join(".");return m.createElement("div",{key:x,"data-key":x,className:"flex flex-col items-start w-full gap-2 pl-2 py-1 pr-1 border-b border-neutral-700 last:border-b-0"},m.createElement(Ji,{value:e[p],onChange:t,keys:y,path:x,label:p,mutable:n,objectRefAcc:i}))})),g&&m.createElement("button",{onclick:d,title:"Show more",className:"p-1 border font-bold border-neutral-700 hover:bg-neutral-700"},m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},m.createElement("circle",{cx:"12",cy:"12",r:"1"}),m.createElement("circle",{cx:"19",cy:"12",r:"1"}),m.createElement("circle",{cx:"5",cy:"12",r:"1"}))))}function Un(e,t){Array.isArray(e)?(t(e),e.forEach(n=>Un(n,t))):typeof e=="object"&&e!==null&&(t(e),Object.values(e).forEach(n=>Un(n,t)))}function Ji({value:e,onChange:t,keys:n,path:i,mutable:s,objectRefAcc:o,label:r}){const{userSettings:{arrayChunkSize:a}}=ei(),[l,c]=xe(!0),h=r!==void 0&&m.createElement("label",{htmlFor:i,className:"text-xs truncate",title:i,children:r});if(e===null)return m.createElement(pt,null,h,m.createElement(jt,null,"null"));if(e===void 0)return m.createElement(pt,null,h,m.createElement(jt,null,"undefined"));const d=window.opener?window.opener.Node:Node;if(e instanceof d)return m.createElement(pt,null,h,m.createElement(jt,null,"<",m.createElement("span",{style:{color:"#f0a05e"}},e.nodeName),"/>"));const g=window.opener?window.opener.Error:Error;if(e instanceof g)return m.createElement(pt,null,h,"cause"in e&&e.cause?m.createElement(jt,null,e.message," (",String(e.cause),")"):m.createElement(jt,null,e.message));const p=y=>t(n,y);switch(typeof e){case"string":return m.createElement(pt,null,h,m.createElement(pi,{disabled:!s,id:i,type:"text",value:e,onchange:y=>p(y.target.value)}));case"number":return m.createElement(pt,null,h,m.createElement(pi,{disabled:!s,id:i,type:"number",value:e,placeholder:"NaN",onchange:y=>p(Number(y.target.value))}));case"bigint":return m.createElement(pt,null,h,m.createElement(pi,{disabled:!s,id:i,type:"number",value:e.toString(),onchange:y=>p(BigInt(y.target.value))}));case"boolean":return m.createElement(pt,null,h,m.createElement("input",{disabled:!s,id:i,type:"checkbox",checked:e,onchange:y=>p(y.target.checked),className:"accent-red-500"}));case"function":return m.createElement(pt,null,h,m.createElement(jt,null,\`\u0192 \${e.name||"anonymous"}()\`));default:return Array.isArray(e)?m.createElement(pt,null,m.createElement("button",{className:"text-xs flex items-center gap-1 cursor-pointer w-full",title:i,onclick:()=>{Un(e,y=>o.splice(o.indexOf(y),1)),c(y=>!y)}},r,m.createElement(Kt,{width:10,height:10,className:\`transition \${l?"":"rotate-90"}\`})),l?m.createElement(jt,null,"Array(",e.length,")"):e.length>a?m.createElement(Ml,{array:e,objectRefAcc:o}):m.createElement("div",{className:"flex flex-col items-start gap-1 w-full"},e.map((y,x)=>m.createElement(Ji,{value:y,onChange:t,keys:[...n,x.toString()],path:i.concat(".",x.toString()),label:x.toString(),mutable:s,objectRefAcc:o})))):o.includes(e)?m.createElement(pt,null,h,m.createElement(jt,null,"Object(circular reference)")):(o.push(e),m.createElement(pt,null,m.createElement("button",{className:"text-xs flex items-center gap-1 cursor-pointer w-full",title:i,onclick:()=>{Un(e,y=>o.splice(o.indexOf(y),1)),c(y=>!y)}},r,m.createElement(Kt,{width:10,height:10,className:\`transition \${l?"":"rotate-90"}\`})),l?null:m.createElement(ye,{data:e,onChange:t,keys:n,mutable:s,objectRefAcc:o})))}}function pt({children:e}){return m.createElement("div",{className:"flex flex-col items-start gap-1 w-full"},e)}function pi(e){return m.createElement("input",{className:"flex-grow text-xs px-2 py-1 text-neutral-300 w-full",...e})}function jt({children:e}){return m.createElement("small",{className:"text-neutral-300"},m.createElement("i",null,e))}function Ml({array:e,objectRefAcc:t}){const{userSettings:{arrayChunkSize:n}}=ei(),i=e.length,s=Math.ceil(i/n);return m.createElement("div",{className:"flex flex-col items-start gap-1 w-full"},Array.from({length:s}).map((o,r)=>m.createElement(Ol,{array:e,range:{start:r*n,end:(r+1)*n},objectRefAcc:t})))}function Ol({array:e,range:t,objectRefAcc:n}){const[i,s]=xe(!0);let o;return i?o=void 0:o=e.slice(t.start,t.end),m.createElement("div",{className:"flex flex-col items-start gap-1 w-full"},m.createElement("button",{className:"text-xs flex items-center gap-1 cursor-pointer w-full",onclick:()=>{n.splice(n.indexOf(e),1),s(r=>!r)}},"[",t.start,"..",(t.end<e.length?t.end:e.length)-1,"]",m.createElement(Kt,{width:10,height:10,className:\`transition \${i?"":"rotate-90"}\`})),o&&m.createElement("div",{className:"flex flex-col items-start gap-1 w-full"},o.map((r,a)=>m.createElement(Ji,{value:r,onChange:Tl,label:(t.start+a).toString(),keys:[a.toString()],path:a.toString(),mutable:!1,objectRefAcc:n}))))}const Cl="kiru-devtools";"window"in globalThis&&(window.__devtoolsSelection??=null);class Pl extends BroadcastChannel{send(t){super.postMessage(t)}removeEventListener(t){return super.removeEventListener("message",t)}addEventListener(t){return super.addEventListener("message",t)}}const Pe=new Pl(Cl);function ts({fn:e,onclick:t}){const n=jn(()=>ml(e),[e]);return n?m.createElement("a",{className:"flex items-center gap-1 text-[10px] opacity-50 hover:opacity-100 transition-opacity",href:n,onclick:i=>{i.preventDefault(),Pe.send({type:"open-editor",fileLink:n}),t?.(i)},title:"Open in editor"},"Open in editor",m.createElement(yl,{width:"0.65rem",height:"0.65rem"})):null}function Dl({selectedApp:e,selectedNode:t,setSelectedNode:n,kiruGlobal:i}){const s=te();ct(()=>{const l=c=>{c===e&&(dl(t)?n(null):s())};return i?.on("update",l),()=>i?.off("update",l)},[]);const o=()=>{!t||!e?.mounted||e.requestUpdate(t)},r={...t.props};delete r.children;const a=Nl(t);return m.createElement("div",{className:"flex-grow p-2 sticky top-0"},m.createElement("h2",{className:"flex justify-between items-center font-bold mb-2 pb-2 border-b-2 border-neutral-800"},m.createElement("div",{className:"flex gap-2 items-center"},"<"+_r(t)+">",m.createElement(ts,{fn:t.type})),m.createElement("button",{onclick:o},m.createElement(wl,{className:"w-5 h-5"}))),m.createElement(Sr,{title:"props",disabled:Object.keys(r).length===0},m.createElement(ye,{data:r,onChange:()=>{},mutable:!1,objectRefAcc:[]})),m.createElement(Cr,{node:a,selectedApp:e}))}function Al(e){return e.name==="devtools:useHookDebugGroup"}function Il(e){return Oi in e}const Oi=Symbol.for("devtools.hookGroup");function Nl(e){const t={parent:null,name:"hooks",children:[],[Oi]:!0};if(e.hooks?.length){let n=t;for(let i=0;i<e.hooks.length;i++){const s=e.hooks[i];if(Al(s)){switch(s.action){case"start":const o={parent:n,name:s.displayName,children:[],[Oi]:!0};n.children.push(o),n=o;break;case"end":if(n.name!==s.displayName||n.parent===null)throw new Error("useHookDebugGroup:end called with no start");n=n.parent;break}continue}n.children.push(s)}}return t}function Cr({node:e,selectedApp:t,depth:n=0}){if(Il(e))return m.createElement(Sr,{title:e.name,className:"bg-[#ffffff04] border border-[#fff1] flex flex-col gap-2 pl-6",disabled:e.children.length===0},e.children.map(h=>m.createElement(Cr,{node:h,selectedApp:t,depth:n+1})));const{name:i,dev:s,cleanup:o,...r}=e,a=s?.devtools,l=typeof a?.get=="function"?a.get():r,c=(h,d)=>{if(!t?.mounted||!a?.set||!a?.get)return;const g=a.get();Zi(g,h,d),a.set(g)};return m.createElement("div",null,m.createElement("i",{className:"text-neutral-300 text-sm"},i||"anonymous hook"),m.createElement("div",{className:"p-2"},m.createElement(ye,{data:l,onChange:c,mutable:!!a?.set,objectRefAcc:[]})))}const ge=(e,t,n={})=>{ct(()=>{let i=window;const s=n?.ref?.();return s?i=s:n.ref&&console.warn("useEventListener ref failed, using window"),i.addEventListener(e,t,n),()=>{i.removeEventListener(e,t,n)}},[t])},Ll=()=>{const e=Q({x:0,y:0}),t=Q({x:0,y:0}),n=Q({x:0,y:0});return ge("mousemove",i=>{e.value={x:i.x,y:i.y},t.value={x:i.movementX,y:i.movementY},n.value={x:i.clientX,y:i.clientY}}),{mouse:e,delta:t,client:n}},Sn="window"in globalThis&&"ResizeObserver"in globalThis.window,Rl=(e,t,n=void 0)=>mr()?Sn?br("useResizeObserver",{resizeObserver:null,deps:[e.current]},({isInit:i,hook:s,queueEffect:o})=>(i&&(s.resizeObserver=new ResizeObserver(t),s.cleanup=()=>{s.resizeObserver?.disconnect?.(),s.resizeObserver=null}),o(()=>{xr([e.current],s.deps)&&(s.deps=[e.current],s.resizeObserver?.disconnect?.(),e.current&&s.resizeObserver?.observe(e.current,n))}),{isSupported:Sn,start:()=>{s.resizeObserver==null&&(s.resizeObserver=new ResizeObserver(t),e.current&&s.resizeObserver.observe(e.current,n),s.cleanup=()=>{s.resizeObserver?.disconnect?.(),s.resizeObserver=null})},stop:()=>{yr(s)}})):{isSupported:Sn,start:()=>{},stop:()=>{}}:{isSupported:Sn,start:()=>{},stop:()=>{}},kn="window"in globalThis&&"MutationObserver"in globalThis.window,zl=(e,t,n=void 0)=>mr()?kn?br("useMutationObserver",{mutationObserver:null,deps:[e.current]},({isInit:i,hook:s,queueEffect:o})=>(i?(o(()=>{s.deps=[e.current],s.mutationObserver=new MutationObserver(t),e.current&&s.mutationObserver.observe(e.current,n)}),s.cleanup=()=>{s.mutationObserver?.disconnect?.(),s.mutationObserver=null}):xr([e.current],s.deps)&&(s.deps=[e.current],s.mutationObserver?.disconnect?.(),e.current&&s.mutationObserver?.observe(e.current,n)),{isSupported:kn,start:()=>{s.mutationObserver==null&&(s.mutationObserver=new MutationObserver(t),e.current&&s.mutationObserver.observe(e.current,n),s.cleanup=()=>{s.mutationObserver?.disconnect?.(),s.mutationObserver=null})},stop:()=>{yr(s)}})):{isSupported:kn,start:()=>{},stop:()=>{}}:{isSupported:kn,start:()=>{},stop:()=>{}},Fl=(e,t={windowScroll:!0,windowResize:!0})=>{const n=t?.windowScroll??!0,i=t?.windowResize??!0,s=t.immediate??!0,o=Q(0),r=Q(0),a=Q(0),l=Q(0),c=Q(0),h=Q(0),d=Q(0),g=Q(0),p=()=>{const y=e.current;if(!y){o.value=0,r.value=0,a.value=0,l.value=0,c.value=0,h.value=0,d.value=0,g.value=0;return}const x=y.getBoundingClientRect();o.value=x.width,r.value=x.height,a.value=x.top,l.value=x.right,c.value=x.bottom,h.value=x.left,d.value=x.x,g.value=x.y};return Rl(e,p),zl(e,p,{attributeFilter:["style","class"]}),ge("scroll",()=>{n&&p()},{capture:!0,passive:!0}),ge("resize",()=>{i&&p()},{passive:!0}),Ki(()=>{s&&p()},[]),{width:o,height:r,top:a,right:l,bottom:c,left:h,x:d,y:g,update:p}};function Hl(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}const Hs=(e,t,n={})=>{const{ref:i,eventName:s="keydown",passive:o=!1}=n,r=Hl(e);return ge(s,l=>{l.repeat&&!n.repeat||r(l)&&t(l)},{ref:i,passive:o})};function Pr({value:e,className:t,...n}){return m.createElement("div",{className:Mi("w-full p-2 z-10","bg-[#1d1d1d] border border-white border-opacity-10 rounded",t?.toString()),...n},m.createElement("input",{className:Mi("px-2 py-1 w-full rounded focus:outline focus:outline-primary","bg-[#212121] border border-white border-opacity-10 rounded"),placeholder:"Filter...",type:"text","bind:value":e}))}let U;"window"in globalThis&&window.opener&&(U=window.opener.__kiru);const Me=ht(!1);Pe.addEventListener(e=>{e.data.type==="set-inspect-enabled"&&(Me.value=e.data.value)});const Dr=(U?.apps??[]).filter(e=>!an(e)),Xt=ht(Dr);ht(null);const Pt=ht(Dr[0]??null),qt=ht(null);U?.on("mount",e=>{an(e)||(Xt.value=[...Xt.peek(),e],Pt.peek()===null&&(Pt.value=e))});U?.on("unmount",e=>{Xt.value=Xt.peek().filter(t=>t!==e),Pt.peek()===e&&(Pt.value=Xt.peek()[0]??null)});const Ci=ht(new Map),Dt=ht(null),es=ht("");function Bl(e){return e.type.displayName??(e.type.name||"Anonymous Function")}function Wl(e,t){const n=t.toLowerCase();return e.every(i=>n.includes(i))}function Pi(e){return typeof e.type=="function"&&!fl(e)&&!gl(e)&&!pl(e)}function Vl(e){let t=[e];for(;t.length;){const n=t.pop();if(Pi(n))return!0;n.child&&t.push(n.child),n.sibling&&t.push(n.sibling)}return!1}const jl=(e,t)=>{const n=[t.parent];for(;n.length;){const i=n.pop();if(e===i)return!0;i?.parent&&n.push(i.parent)}return!1};function Di(e,t){if(!e)return null;const n=t(e),i=Di(e.sibling,t),s=Di(e.child,t);return n?{ref:e,sibling:i??null,child:s??null}:i||s||null}function Yn({node:e,traverseSiblings:t=!0}){const[n,i]=xe(!0),o=qt.value===e,r=jn(()=>crypto.randomUUID(),[]),a=jn(()=>Dt.value==null?null:jl(e,Dt.value),[Dt.value,e]);ct(()=>{a&&i(!1)},[a]),ct(()=>{if(!(!e||!Pi(e)))return Ci.peek().set(r,{vNode:e,setCollapsed:i}),()=>{Ci.peek().delete(r)}});const l=es.value;if(!e)return null;if(!Pi(e)||l.length>0&&!Wl(l.toLowerCase().split(" "),e.type.name))return m.createElement(m.Fragment,null,e.child&&m.createElement(Yn,{node:e.child}),t&&m.createElement(Bs,{node:e}));const c=e.child&&Vl(e.child);return m.createElement(m.Fragment,null,m.createElement("div",{className:"pl-4 mb-1"},m.createElement("h2",{onclick:()=>{Dt.value=null,qt.value=o?null:e},className:\`flex gap-2 items-center cursor-pointer mb-1 scroll-m-12 \${o?"font-medium bg-primary selected-vnode":""}\`,"data-id":r},c&&m.createElement(Kt,{className:\`cursor-pointer transition \${n?"":"rotate-90"}\`,onclick:h=>{h.preventDefault(),h.stopImmediatePropagation(),Dt.value=null,i(d=>!d)}}),m.createElement("div",{className:c?"":"ml-6"},m.createElement("span",{className:o?"":"text-neutral-400"},"<"),m.createElement("span",{className:o?"":"text-primary"},Bl(e)),m.createElement("span",{className:o?"":"text-neutral-400"},">"))),!n&&e.child||a!=null&&a&&e.child?m.createElement(Yn,{node:e.child}):null),t&&m.createElement(Bs,{node:e}))}function Bs({node:e}){if(!e)return null;let t=[],n=e.sibling;for(;n;)t.push(n),n=n.sibling;return m.createElement(m.Fragment,null,t.map(i=>m.createElement(Yn,{node:i,traverseSiblings:!1})))}const Ul=()=>{const e=Ce(null),t=r=>{if(!r)return null;const a=r.getAttribute("data-id");if(a!=null)return Ci.peek().get(a)},n=r=>{if(!r)return;const a=t(r);a!=null&&(r.scrollIntoView({behavior:"smooth"}),qt.value=a.vNode)},i=r=>{if(!r||r===document.body)return null;const a=r.parentElement,l=a?.nextElementSibling?.querySelector("h2[data-id]");return l||i(a)},s=()=>{const r=document.querySelector("h2[data-id]");n(r)},o=()=>{const r=document.querySelectorAll("h2[data-id]"),a=r.item(r.length-1);a&&n(a)};return Hs(["ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],r=>{if(Dt.value&&(Dt.value=null),document.activeElement&&document.activeElement instanceof HTMLInputElement&&document.activeElement!=e.current)return;r.preventDefault();const a=document.querySelector(".selected-vnode");if(a===null){r.key==="ArrowDown"?s():r.key==="ArrowUp"&&o();return}if(r.key==="ArrowRight"){const l=t(a);l&&l.setCollapsed(!1);return}else if(r.key==="ArrowLeft"){const l=t(a);l&&l.setCollapsed(!0);return}if(r.key==="ArrowDown"){const l=a?.nextElementSibling?.querySelector("h2[data-id]");if(l)return n(l);const c=a.parentElement?.nextElementSibling?.querySelector("h2[data-id]");if(c)return n(c);const h=i(a);return h?n(h):s()}else if(r.key==="ArrowUp"){const l=a.parentElement?.previousElementSibling;if(l?.matches("h2[data-id]"))return n(l);const c=l?.querySelectorAll("h2[data-id]");return c?.length!=null&&c?.length>=1?n(c?.item?.(c.length-1)):o()}}),Hs("l",r=>{r.ctrlKey&&(r.preventDefault(),e.current?.focus({preventScroll:!1}))}),{searchRef:e}},Yl=e=>{es.value=e.target.value,Dt.value&&(Dt.value=null)};function $l(){const{searchRef:e}=Ul(),t=Pt.value;return m.createElement("div",{className:"flex-grow p-2 sticky top-0"},m.createElement("div",{className:"flex gap-4 pb-2 border-b-2 border-neutral-800 mb-2 items-center"},m.createElement("input",{ref:e,className:"bg-[#171616] px-1 py-2 w-full focus:outline focus:outline-primary",placeholder:"Search for component",type:"text",value:es,oninput:Yl})),t?.rootNode&&m.createElement(Yn,{node:t.rootNode}))}const Xl=e=>{const{mouse:t}=Ll(),n=Q(null),i=Q(0),s=Q(0),o=Ce(null),r=Fl(o),a=Ce(null),[l,c]=Array.isArray(e.children)?e.children:[];return Ki(()=>{a.current&&(s.value=a.current.clientWidth/2)},[a.current]),ge("mouseup",Te(()=>n.value=null,[])),ge("mousemove",Te(h=>{if(n.value==null||a.current==null)return;const d=Math.max(i.value+h.x-n.value.x,250);s.value=Math.min(d,a.current.clientWidth-250)},[])),ge("resize",Te(()=>{a.current!=null&&a.current.clientWidth-250<s.value&&(s.value=Math.max(a.current.clientWidth-250,250))},[])),m.createElement("div",{onmousemove:h=>{h.x},ref:a,className:"flex-grow grid gap-2 items-start w-full relative",style:{gridTemplateColumns:\`\${s}px 1fr\`}},m.createElement("div",{ref:o,className:"firstContainer w-full h-full"},l),r.width.value!=0&&m.createElement("div",{className:"w-8 flex justify-center h-full absolute top-0 -translate-x-1/2 cursor-col-resize z-[9999]",style:{left:\`\${r.width}px\`},onmousedown:h=>{h.preventDefault(),n.value={...t.value},i.value=s.value}},m.createElement("div",{className:"dividerLine w-[5px] bg-neutral-800 h-full"})),m.createElement("div",{className:"secondContainer h-full"},c))},ql=()=>m.createElement("svg",{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",className:"lucide lucide-square-mouse-pointer"},m.createElement("path",{d:"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"}),m.createElement("path",{d:"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"})),Gl=()=>{Me.value=!Me.value,Pe.send({type:"set-inspect-enabled",value:Me.value})};function Kl(){const e=Pt.value,t=qt.value,n=te();return ct(()=>{const i=s=>{s===e&&n()};return U?.on("update",i),()=>U?.off("update",i)},[Pt]),ct(()=>{const i=s=>{if(s.data.type!=="select-node")return;if(!window.__devtoolsSelection){console.error("no selection ptr");return}const{app:o,node:r}=window.__devtoolsSelection;window.__devtoolsSelection=null,Pt.value=o,qt.value=r,Dt.value=r,Me.value=!1};return Pe.addEventListener(i),()=>Pe.removeEventListener(i)},[Pt]),m.createElement(m.Fragment,null,m.createElement("div",{className:"flex items-center justify-between gap-4 p-2 bg-neutral-400 bg-opacity-5 border border-white border-opacity-10 rounded"},m.createElement("div",{className:"flex items-center gap-4"},m.createElement("select",{className:"px-2 py-1 bg-neutral-800 text-neutral-100 rounded border border-white border-opacity-10",value:e?.name??"",onchange:i=>Pt.value=Xt.peek().find(s=>s.name===i.currentTarget.value)??null},m.createElement("option",{value:"",disabled:!0},"Select App"),Xt.value.map(i=>m.createElement("option",{key:i.id,value:i.name},i.name))),m.createElement("button",{title:"Toggle Component Inspection",onclick:Gl,className:\`p-1 rounded \${Me.value?"bg-neutral-900":""}\`},m.createElement(ql,null)))),m.createElement(Xl,null,e&&m.createElement($l,null),t&&e&&m.createElement(Dl,{selectedApp:e,selectedNode:t,setSelectedNode:i=>qt.value=i,kiruGlobal:U})))}const Ai=ht({}),ue=ht([]);U?.stores?.subscribe(e=>{Ai.value=e,ue.value=ue.value.filter(t=>Object.values(Ai.value).includes(t))});const Ar=ht(""),Zl=vr(()=>Ar.value.toLowerCase().split(" ").filter(e=>e.length>0));function Ql(e){return Zl.value.every(t=>e.toLowerCase().includes(t))}function Jl(){const e=Object.entries(Ai.value);return e.length===0?m.createElement("div",{className:"flex flex-col items-center justify-center h-full text-neutral-400"},m.createElement(Er,null),m.createElement("h2",{className:"text-lg italic"},"No stores detected")):m.createElement("div",{className:"flex flex-col gap-2 items-start"},m.createElement(Pr,{value:Ar,className:"sticky top-0"}),m.createElement("div",{className:"flex flex-col gap-2 w-full"},e.filter(([t])=>Ql(t)).map(([t,n])=>m.createElement(tc,{key:t,name:t,store:n}))))}function tc({name:e,store:t}){const n=ue.value.includes(t),i=te(),{value:s}=Ir(t);Ki(()=>{const r=t.subscribe(()=>i());return()=>r()},[]);const o=Te(()=>{n?ue.value=ue.value.filter(r=>r!==t):ue.value=[...ue.value,t]},[n]);return m.createElement("div",{className:"flex flex-col"},m.createElement("button",{onclick:o,className:"flex items-center gap-2 justify-between p-2 border border-white border-opacity-10 cursor-pointer"+(n?" bg-white bg-opacity-5 text-neutral-100 rounded-t":" hover:bg-white hover:bg-opacity-10 text-neutral-400 rounded")},e,m.createElement("div",{className:"flex gap-2"},m.createElement(ts,{fn:t,onclick:r=>r.stopPropagation()}),m.createElement(Kt,{className:"transition-all"+(n?" rotate-90":"")}))),n&&m.createElement("div",{className:"flex flex-col gap-2 p-2 border border-white border-opacity-10"},m.createElement(ye,{data:{value:s},mutable:!0,objectRefAcc:[],onChange:(r,a)=>{const l=structuredClone({value:s});Zi(l,r,a),t.setState(l.value)}}),m.createElement(ec,{store:t})))}function ec({store:e}){const t=Xt.value;return t.length===0?null:m.createElement(m.Fragment,null,t.map(n=>!n.mounted||!n.rootNode?null:m.createElement(nc,{store:e,app:n})))}const Ws=Symbol.for("kiru.hmrAccept"),Ir=e=>{if(Ws in e)return e[Ws].provide().current;throw new Error("Unable to get store subscribers")};function nc({store:e,app:t}){const n=te(),{subscribers:i,nodeStateMap:s}=Ir(e),o=t.rootNode.child;if(ct(()=>{const a=l=>{l===t&&n()};return U?.on("update",a),()=>U?.off("update",a)},[]),!o)return null;const r=Di(o,a=>i.has(a));return m.createElement("div",{className:"flex flex-col gap-2 p-2 rounded-b border border-white border-opacity-10"},m.createElement("b",null,t.name),r&&m.createElement("ul",{className:"pl-8"},m.createElement(Ii,{node:r,nodeStateMap:s})))}function Ii({node:e,nodeStateMap:t}){const[n,i]=xe(!1),o=t.get(e.ref)?.slices??[];return m.createElement(m.Fragment,null,m.createElement("li",{className:"flex flex-col gap-2"},m.createElement("div",{className:"flex flex-col border border-white border-opacity-10 rounded"+(n?" bg-white bg-opacity-5 text-neutral-100":" hover:bg-white hover:bg-opacity-10 text-neutral-400")},m.createElement("button",{onclick:()=>i(!n),className:"flex gap-2 p-2 justify-between cursor-pointer"},m.createElement("span",null,"<"+_r(e.ref)+" />"),m.createElement("div",{className:"flex gap-2 items-center"},m.createElement(ts,{fn:e.ref.type,onclick:r=>r.stopPropagation()}),m.createElement(Kt,{className:"transition-all"+(n?" rotate-90":"")}))),n&&m.createElement("div",{className:"flex flex-col gap-2 p-2 bg-[#1a1a1a]"},o.length===0&&m.createElement("div",{className:"p-2 bg-black bg-opacity-30 text-sm"},m.createElement("h5",{className:"border-b border-white border-opacity-10"},"No slices")),o.map(r=>m.createElement("div",{className:"flex flex-col gap-2"},m.createElement("div",{className:"p-2 bg-black bg-opacity-30 text-sm"},m.createElement("h5",{className:"border-b border-white border-opacity-10"},"Slice:"),m.createElement("pre",{className:"text-neutral-400"},m.createElement(ye,{data:{value:r.value},mutable:!1,objectRefAcc:[],onChange:()=>{}}))),m.createElement("div",{className:"p-2 bg-black bg-opacity-30 text-sm"},m.createElement("h5",{className:"border-b border-white border-opacity-10"},"SliceFn:"),m.createElement("pre",{className:"text-neutral-400"},r.sliceFn?r.sliceFn.toString():"null")),r.eq&&m.createElement("div",{className:"p-2 bg-black bg-opacity-30 text-sm"},m.createElement("h5",{className:"border-b border-white border-opacity-10"},"eq:"),m.createElement("pre",{className:"text-neutral-400"},r.eq.toString())))))),e.child&&m.createElement("ul",{className:"pl-8 flex flex-col gap-2"},m.createElement(Ii,{node:e.child,nodeStateMap:t}))),e.sibling&&m.createElement(Ii,{node:e.sibling,nodeStateMap:t}))}/*!
|
|
1695
|
+
<script type="module" crossorigin>import*as m from"kiru";import{useState as xe,useEffect as ct,useCallback as Te,createContext as ol,useContext as rl,useMemo as jn,unwrap as al,useRequestUpdate as te,requestUpdate as ll,useSignal as Q,sideEffectsEnabled as mr,useHook as br,depsRequireChange as xr,cleanupHook as yr,useLayoutEffect as Ki,signal as ht,useRef as Ce,computed as vr,mount as cl}from"kiru";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&i(r)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function i(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();const hl=Symbol.for("kiru.fragment"),ul=8;new Array;var zs;(function(e){e.Start="start",e.End="end"})(zs||(zs={}));function dl(e){return(e.flags&ul)!==0}function fl(e){return e.type===hl}function gl(e){return typeof e.type=="function"&&"displayName"in e.type&&e.type.displayName==="Kiru.lazy"}function pl(e){return typeof e.type=="function"&&"displayName"in e.type&&e.type.displayName==="Kiru.memo"}function Mi(...e){return e.filter(Boolean).join(" ")}function Zi(e,t,n){let i=e;for(let s=0;s<t.length;s++){const o=t[s];s===t.length-1?i[o]=n:i=i[o]}}function _r(e){return e.type.displayName??(e.type.name||"Anonymous Function")}const ml=e=>e.__devtoolsFileLink??null;function an(e){return e.name==="kiru.devtools"}function wr(e){return Array.from(e.entries())}function bl(e){return m.createElement("svg",{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",...e},m.createElement("rect",{width:"20",height:"16",x:"2",y:"4",rx:"2"}),m.createElement("path",{d:"M12 9v11"}),m.createElement("path",{d:"M2 9h13a2 2 0 0 1 2 2v9"}))}function Kt(e){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e},m.createElement("path",{d:"m9 18 6-6-6-6"}))}function xl(e){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e},m.createElement("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),m.createElement("circle",{cx:"12",cy:"12",r:"3"}))}function yl(e){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e},m.createElement("path",{d:"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6"}),m.createElement("path",{d:"m21 3-9 9"}),m.createElement("path",{d:"M15 3h6v6"}))}function vl(e){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e},m.createElement("path",{d:"m12 14 4-4"}),m.createElement("path",{d:"M3.34 19a10 10 0 1 1 17.32 0"}))}function _l(e){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e},m.createElement("circle",{cx:"12",cy:"12",r:"10"}),m.createElement("path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}),m.createElement("path",{d:"M2 12h20"}))}function wl(e){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e},m.createElement("path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}),m.createElement("path",{d:"M21 3v5h-5"}),m.createElement("path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}),m.createElement("path",{d:"M8 16H3v5"}))}function El(e){return m.createElement("svg",{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",...e},m.createElement("path",{d:"M22 8.35V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8.35A2 2 0 0 1 3.26 6.5l8-3.2a2 2 0 0 1 1.48 0l8 3.2A2 2 0 0 1 22 8.35Z"}),m.createElement("path",{d:"M6 18h12"}),m.createElement("path",{d:"M6 14h12"}),m.createElement("rect",{width:"12",height:"12",x:"6",y:"10"}))}function Er(e){return m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",...e},m.createElement("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),m.createElement("path",{d:"M12 9v4"}),m.createElement("path",{d:"M12 17h.01"}))}function Sr({title:e,children:t,className:n,disabled:i,...s}){const[o,r]=xe(!0);ct(()=>{!o&&i&&r(!0)},[i]);const a=Te(l=>{l.preventDefault(),l.stopImmediatePropagation(),r(c=>!c)},[]);return m.createElement("div",{className:"flex flex-col"},m.createElement("button",{onclick:a,disabled:i,className:\`\${i?"opacity-50 cursor-default":"cursor-pointer"}\`},m.createElement("span",{className:"flex items-center gap-2 font-medium"},m.createElement(Kt,{className:\`transition \${o?"":"rotate-90"}\`}),e)),o?null:m.createElement("div",{className:\`p-2 \${n||""}\`,...s},t))}const Qi={arrayChunkSize:10,objectKeysChunkSize:100};function kr(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;const n=new Set([...Object.keys(e),...Object.keys(t)]);for(const i in n)if(typeof t[i]!=typeof e[i]||typeof e[i]=="object"&&!kr(e[i],t[i]))return!1;return!0}function Tr(e,t,n){for(const i in t)typeof e[i]>"u"&&(e[i]=structuredClone(t[i]));for(const i in e)typeof e[i]=="object"?Tr(e[i],t[i],n):n(e,i,e[i])}let Mr={...Qi};const Fs=localStorage.getItem("kiru.devtools.userSettings");if(Fs)try{const e=JSON.parse(Fs);kr(Qi,e)&&(Mr=e)}catch(e){console.error("kiru.devtools.userSettings error",e)}const Or=ol({userSettings:null,saveUserSettings:()=>{}}),ei=()=>rl(Or);function Sl({children:e}){const[t,n]=xe(Mr),i=s=>{localStorage.setItem("kiru.devtools.userSettings",JSON.stringify(s)),n(s)};return m.createElement(Or.Provider,{value:{userSettings:t,saveUserSettings:i}},e)}function kl(){const{userSettings:e,saveUserSettings:t}=ei();return m.createElement("div",{className:"rounded bg-neutral-400 bg-opacity-5 border border-white border-opacity-10 overflow-hidden"},m.createElement(ye,{border:!1,data:e,onChange:(n,i)=>{const s={...e};Zi(s,n,i),Tr(s,Qi,(o,r,a)=>{o[r]=a<1?1:a}),t(s)},mutable:!0,objectRefAcc:[]}))}const Tl=Object.freeze(()=>{});function ye({data:e,onChange:t,mutable:n,objectRefAcc:i,keys:s=[],className:o,border:r=!0}){const{userSettings:{objectKeysChunkSize:a}}=ei(),[l,c]=xe(0),h=jn(()=>Object.keys(e).slice(0,(l+1)*a),[l,a,e]),d=()=>{h.forEach(p=>{typeof e[p]=="object"&&i.splice(i.indexOf(e[p]),1)}),c(l+1)},g=h.length<Object.keys(e).length;return m.createElement(m.Fragment,null,m.createElement("div",{className:Mi("flex flex-col items-start w-full",r&&"border border-neutral-700",al(o))},h.map(p=>{const y=s.concat(p),x=y.join(".");return m.createElement("div",{key:x,"data-key":x,className:"flex flex-col items-start w-full gap-2 pl-2 py-1 pr-1 border-b border-neutral-700 last:border-b-0"},m.createElement(Ji,{value:e[p],onChange:t,keys:y,path:x,label:p,mutable:n,objectRefAcc:i}))})),g&&m.createElement("button",{onclick:d,title:"Show more",className:"p-1 border font-bold border-neutral-700 hover:bg-neutral-700"},m.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},m.createElement("circle",{cx:"12",cy:"12",r:"1"}),m.createElement("circle",{cx:"19",cy:"12",r:"1"}),m.createElement("circle",{cx:"5",cy:"12",r:"1"}))))}function Un(e,t){Array.isArray(e)?(t(e),e.forEach(n=>Un(n,t))):typeof e=="object"&&e!==null&&(t(e),Object.values(e).forEach(n=>Un(n,t)))}function Ji({value:e,onChange:t,keys:n,path:i,mutable:s,objectRefAcc:o,label:r}){const{userSettings:{arrayChunkSize:a}}=ei(),[l,c]=xe(!0),h=r!==void 0&&m.createElement("label",{htmlFor:i,className:"text-xs truncate",title:i,children:r});if(e===null)return m.createElement(pt,null,h,m.createElement(jt,null,"null"));if(e===void 0)return m.createElement(pt,null,h,m.createElement(jt,null,"undefined"));const d=window.opener?window.opener.Node:Node;if(e instanceof d)return m.createElement(pt,null,h,m.createElement(jt,null,"<",m.createElement("span",{style:{color:"#f0a05e"}},e.nodeName),"/>"));const g=window.opener?window.opener.Error:Error;if(e instanceof g)return m.createElement(pt,null,h,"cause"in e&&e.cause?m.createElement(jt,null,e.message," (",String(e.cause),")"):m.createElement(jt,null,e.message));const p=y=>t(n,y);switch(typeof e){case"string":return m.createElement(pt,null,h,m.createElement(pi,{disabled:!s,id:i,type:"text",value:e,onchange:y=>p(y.target.value)}));case"number":return m.createElement(pt,null,h,m.createElement(pi,{disabled:!s,id:i,type:"number",value:e,placeholder:"NaN",onchange:y=>p(Number(y.target.value))}));case"bigint":return m.createElement(pt,null,h,m.createElement(pi,{disabled:!s,id:i,type:"number",value:e.toString(),onchange:y=>p(BigInt(y.target.value))}));case"boolean":return m.createElement(pt,null,h,m.createElement("input",{disabled:!s,id:i,type:"checkbox",checked:e,onchange:y=>p(y.target.checked),className:"accent-red-500"}));case"function":return m.createElement(pt,null,h,m.createElement(jt,null,\`\u0192 \${e.name||"anonymous"}()\`));default:return Array.isArray(e)?m.createElement(pt,null,m.createElement("button",{className:"text-xs flex items-center gap-1 cursor-pointer w-full",title:i,onclick:()=>{Un(e,y=>o.splice(o.indexOf(y),1)),c(y=>!y)}},r,m.createElement(Kt,{width:10,height:10,className:\`transition \${l?"":"rotate-90"}\`})),l?m.createElement(jt,null,"Array(",e.length,")"):e.length>a?m.createElement(Ml,{array:e,objectRefAcc:o}):m.createElement("div",{className:"flex flex-col items-start gap-1 w-full"},e.map((y,x)=>m.createElement(Ji,{value:y,onChange:t,keys:[...n,x.toString()],path:i.concat(".",x.toString()),label:x.toString(),mutable:s,objectRefAcc:o})))):o.includes(e)?m.createElement(pt,null,h,m.createElement(jt,null,"Object(circular reference)")):(o.push(e),m.createElement(pt,null,m.createElement("button",{className:"text-xs flex items-center gap-1 cursor-pointer w-full",title:i,onclick:()=>{Un(e,y=>o.splice(o.indexOf(y),1)),c(y=>!y)}},r,m.createElement(Kt,{width:10,height:10,className:\`transition \${l?"":"rotate-90"}\`})),l?null:m.createElement(ye,{data:e,onChange:t,keys:n,mutable:s,objectRefAcc:o})))}}function pt({children:e}){return m.createElement("div",{className:"flex flex-col items-start gap-1 w-full"},e)}function pi(e){return m.createElement("input",{className:"flex-grow text-xs px-2 py-1 text-neutral-300 w-full",...e})}function jt({children:e}){return m.createElement("small",{className:"text-neutral-300"},m.createElement("i",null,e))}function Ml({array:e,objectRefAcc:t}){const{userSettings:{arrayChunkSize:n}}=ei(),i=e.length,s=Math.ceil(i/n);return m.createElement("div",{className:"flex flex-col items-start gap-1 w-full"},Array.from({length:s}).map((o,r)=>m.createElement(Ol,{array:e,range:{start:r*n,end:(r+1)*n},objectRefAcc:t})))}function Ol({array:e,range:t,objectRefAcc:n}){const[i,s]=xe(!0);let o;return i?o=void 0:o=e.slice(t.start,t.end),m.createElement("div",{className:"flex flex-col items-start gap-1 w-full"},m.createElement("button",{className:"text-xs flex items-center gap-1 cursor-pointer w-full",onclick:()=>{n.splice(n.indexOf(e),1),s(r=>!r)}},"[",t.start,"..",(t.end<e.length?t.end:e.length)-1,"]",m.createElement(Kt,{width:10,height:10,className:\`transition \${i?"":"rotate-90"}\`})),o&&m.createElement("div",{className:"flex flex-col items-start gap-1 w-full"},o.map((r,a)=>m.createElement(Ji,{value:r,onChange:Tl,label:(t.start+a).toString(),keys:[a.toString()],path:a.toString(),mutable:!1,objectRefAcc:n}))))}const Cl="kiru-devtools";"window"in globalThis&&(window.__devtoolsSelection??=null);class Pl extends BroadcastChannel{send(t){super.postMessage(t)}removeEventListener(t){return super.removeEventListener("message",t)}addEventListener(t){return super.addEventListener("message",t)}}const Pe=new Pl(Cl);function ts({fn:e,onclick:t}){const n=jn(()=>ml(e),[e]);return n?m.createElement("a",{className:"flex items-center gap-1 text-[10px] opacity-50 hover:opacity-100 transition-opacity",href:n,onclick:i=>{i.preventDefault(),Pe.send({type:"open-editor",fileLink:n}),t?.(i)},title:"Open in editor"},"Open in editor",m.createElement(yl,{width:"0.65rem",height:"0.65rem"})):null}function Dl({selectedApp:e,selectedNode:t,setSelectedNode:n,kiruGlobal:i}){const s=te();ct(()=>{const l=c=>{c===e&&(dl(t)?n(null):s())};return i?.on("update",l),()=>i?.off("update",l)},[]);const o=()=>{t&&ll(t)},r={...t.props};delete r.children;const a=Nl(t);return m.createElement("div",{className:"flex-grow p-2 sticky top-0"},m.createElement("h2",{className:"flex justify-between items-center font-bold mb-2 pb-2 border-b-2 border-neutral-800"},m.createElement("div",{className:"flex gap-2 items-center"},"<"+_r(t)+">",m.createElement(ts,{fn:t.type})),m.createElement("button",{onclick:o},m.createElement(wl,{className:"w-5 h-5"}))),m.createElement(Sr,{title:"props",disabled:Object.keys(r).length===0},m.createElement(ye,{data:r,onChange:()=>{},mutable:!1,objectRefAcc:[]})),m.createElement(Cr,{node:a,selectedApp:e}))}function Al(e){return e.name==="devtools:useHookDebugGroup"}function Il(e){return Oi in e}const Oi=Symbol.for("devtools.hookGroup");function Nl(e){const t={parent:null,name:"hooks",children:[],[Oi]:!0};if(e.hooks?.length){let n=t;for(let i=0;i<e.hooks.length;i++){const s=e.hooks[i];if(Al(s)){switch(s.action){case"start":const o={parent:n,name:s.displayName,children:[],[Oi]:!0};n.children.push(o),n=o;break;case"end":if(n.name!==s.displayName||n.parent===null)throw new Error("useHookDebugGroup:end called with no start");n=n.parent;break}continue}n.children.push(s)}}return t}function Cr({node:e,selectedApp:t,depth:n=0}){if(Il(e))return m.createElement(Sr,{title:e.name,className:"bg-[#ffffff04] border border-[#fff1] flex flex-col gap-2 pl-6",disabled:e.children.length===0},e.children.map(h=>m.createElement(Cr,{node:h,selectedApp:t,depth:n+1})));const{name:i,dev:s,cleanup:o,...r}=e,a=s?.devtools,l=typeof a?.get=="function"?a.get():r,c=(h,d)=>{if(!t||!a?.set||!a?.get)return;const g=a.get();Zi(g,h,d),a.set(g)};return m.createElement("div",null,m.createElement("i",{className:"text-neutral-300 text-sm"},i||"anonymous hook"),m.createElement("div",{className:"p-2"},m.createElement(ye,{data:l,onChange:c,mutable:!!a?.set,objectRefAcc:[]})))}const ge=(e,t,n={})=>{ct(()=>{let i=window;const s=n?.ref?.();return s?i=s:n.ref&&console.warn("useEventListener ref failed, using window"),i.addEventListener(e,t,n),()=>{i.removeEventListener(e,t,n)}},[t])},Ll=()=>{const e=Q({x:0,y:0}),t=Q({x:0,y:0}),n=Q({x:0,y:0});return ge("mousemove",i=>{e.value={x:i.x,y:i.y},t.value={x:i.movementX,y:i.movementY},n.value={x:i.clientX,y:i.clientY}}),{mouse:e,delta:t,client:n}},Sn="window"in globalThis&&"ResizeObserver"in globalThis.window,Rl=(e,t,n=void 0)=>mr()?Sn?br("useResizeObserver",{resizeObserver:null,deps:[e.current]},({isInit:i,hook:s,queueEffect:o})=>(i&&(s.resizeObserver=new ResizeObserver(t),s.cleanup=()=>{s.resizeObserver?.disconnect?.(),s.resizeObserver=null}),o(()=>{xr([e.current],s.deps)&&(s.deps=[e.current],s.resizeObserver?.disconnect?.(),e.current&&s.resizeObserver?.observe(e.current,n))}),{isSupported:Sn,start:()=>{s.resizeObserver==null&&(s.resizeObserver=new ResizeObserver(t),e.current&&s.resizeObserver.observe(e.current,n),s.cleanup=()=>{s.resizeObserver?.disconnect?.(),s.resizeObserver=null})},stop:()=>{yr(s)}})):{isSupported:Sn,start:()=>{},stop:()=>{}}:{isSupported:Sn,start:()=>{},stop:()=>{}},kn="window"in globalThis&&"MutationObserver"in globalThis.window,zl=(e,t,n=void 0)=>mr()?kn?br("useMutationObserver",{mutationObserver:null,deps:[e.current]},({isInit:i,hook:s,queueEffect:o})=>(i?(o(()=>{s.deps=[e.current],s.mutationObserver=new MutationObserver(t),e.current&&s.mutationObserver.observe(e.current,n)}),s.cleanup=()=>{s.mutationObserver?.disconnect?.(),s.mutationObserver=null}):xr([e.current],s.deps)&&(s.deps=[e.current],s.mutationObserver?.disconnect?.(),e.current&&s.mutationObserver?.observe(e.current,n)),{isSupported:kn,start:()=>{s.mutationObserver==null&&(s.mutationObserver=new MutationObserver(t),e.current&&s.mutationObserver.observe(e.current,n),s.cleanup=()=>{s.mutationObserver?.disconnect?.(),s.mutationObserver=null})},stop:()=>{yr(s)}})):{isSupported:kn,start:()=>{},stop:()=>{}}:{isSupported:kn,start:()=>{},stop:()=>{}},Fl=(e,t={windowScroll:!0,windowResize:!0})=>{const n=t?.windowScroll??!0,i=t?.windowResize??!0,s=t.immediate??!0,o=Q(0),r=Q(0),a=Q(0),l=Q(0),c=Q(0),h=Q(0),d=Q(0),g=Q(0),p=()=>{const y=e.current;if(!y){o.value=0,r.value=0,a.value=0,l.value=0,c.value=0,h.value=0,d.value=0,g.value=0;return}const x=y.getBoundingClientRect();o.value=x.width,r.value=x.height,a.value=x.top,l.value=x.right,c.value=x.bottom,h.value=x.left,d.value=x.x,g.value=x.y};return Rl(e,p),zl(e,p,{attributeFilter:["style","class"]}),ge("scroll",()=>{n&&p()},{capture:!0,passive:!0}),ge("resize",()=>{i&&p()},{passive:!0}),Ki(()=>{s&&p()},[]),{width:o,height:r,top:a,right:l,bottom:c,left:h,x:d,y:g,update:p}};function Hl(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}const Hs=(e,t,n={})=>{const{ref:i,eventName:s="keydown",passive:o=!1}=n,r=Hl(e);return ge(s,l=>{l.repeat&&!n.repeat||r(l)&&t(l)},{ref:i,passive:o})};function Pr({value:e,className:t,...n}){return m.createElement("div",{className:Mi("w-full p-2 z-10","bg-[#1d1d1d] border border-white border-opacity-10 rounded",t?.toString()),...n},m.createElement("input",{className:Mi("px-2 py-1 w-full rounded focus:outline focus:outline-primary","bg-[#212121] border border-white border-opacity-10 rounded"),placeholder:"Filter...",type:"text","bind:value":e}))}let U;"window"in globalThis&&window.opener&&(U=window.opener.__kiru);const Me=ht(!1);Pe.addEventListener(e=>{e.data.type==="set-inspect-enabled"&&(Me.value=e.data.value)});const Dr=(U?.apps??[]).filter(e=>!an(e)),Xt=ht(Dr);ht(null);const Pt=ht(Dr[0]??null),qt=ht(null);U?.on("mount",e=>{an(e)||(Xt.value=[...Xt.peek(),e],Pt.peek()===null&&(Pt.value=e))});U?.on("unmount",e=>{Xt.value=Xt.peek().filter(t=>t!==e),Pt.peek()===e&&(Pt.value=Xt.peek()[0]??null)});const Ci=ht(new Map),Dt=ht(null),es=ht("");function Bl(e){return e.type.displayName??(e.type.name||"Anonymous Function")}function Wl(e,t){const n=t.toLowerCase();return e.every(i=>n.includes(i))}function Pi(e){return typeof e.type=="function"&&!fl(e)&&!gl(e)&&!pl(e)}function Vl(e){let t=[e];for(;t.length;){const n=t.pop();if(Pi(n))return!0;n.child&&t.push(n.child),n.sibling&&t.push(n.sibling)}return!1}const jl=(e,t)=>{const n=[t.parent];for(;n.length;){const i=n.pop();if(e===i)return!0;i?.parent&&n.push(i.parent)}return!1};function Di(e,t){if(!e)return null;const n=t(e),i=Di(e.sibling,t),s=Di(e.child,t);return n?{ref:e,sibling:i??null,child:s??null}:i||s||null}function Yn({node:e,traverseSiblings:t=!0}){const[n,i]=xe(!0),o=qt.value===e,r=jn(()=>crypto.randomUUID(),[]),a=jn(()=>Dt.value==null?null:jl(e,Dt.value),[Dt.value,e]);ct(()=>{a&&i(!1)},[a]),ct(()=>{if(!(!e||!Pi(e)))return Ci.peek().set(r,{vNode:e,setCollapsed:i}),()=>{Ci.peek().delete(r)}});const l=es.value;if(!e)return null;if(!Pi(e)||l.length>0&&!Wl(l.toLowerCase().split(" "),e.type.name))return m.createElement(m.Fragment,null,e.child&&m.createElement(Yn,{node:e.child}),t&&m.createElement(Bs,{node:e}));const c=e.child&&Vl(e.child);return m.createElement(m.Fragment,null,m.createElement("div",{className:"pl-4 mb-1"},m.createElement("h2",{onclick:()=>{Dt.value=null,qt.value=o?null:e},className:\`flex gap-2 items-center cursor-pointer mb-1 scroll-m-12 \${o?"font-medium bg-primary selected-vnode":""}\`,"data-id":r},c&&m.createElement(Kt,{className:\`cursor-pointer transition \${n?"":"rotate-90"}\`,onclick:h=>{h.preventDefault(),h.stopImmediatePropagation(),Dt.value=null,i(d=>!d)}}),m.createElement("div",{className:c?"":"ml-6"},m.createElement("span",{className:o?"":"text-neutral-400"},"<"),m.createElement("span",{className:o?"":"text-primary"},Bl(e)),m.createElement("span",{className:o?"":"text-neutral-400"},">"))),!n&&e.child||a!=null&&a&&e.child?m.createElement(Yn,{node:e.child}):null),t&&m.createElement(Bs,{node:e}))}function Bs({node:e}){if(!e)return null;let t=[],n=e.sibling;for(;n;)t.push(n),n=n.sibling;return m.createElement(m.Fragment,null,t.map(i=>m.createElement(Yn,{node:i,traverseSiblings:!1})))}const Ul=()=>{const e=Ce(null),t=r=>{if(!r)return null;const a=r.getAttribute("data-id");if(a!=null)return Ci.peek().get(a)},n=r=>{if(!r)return;const a=t(r);a!=null&&(r.scrollIntoView({behavior:"smooth"}),qt.value=a.vNode)},i=r=>{if(!r||r===document.body)return null;const a=r.parentElement,l=a?.nextElementSibling?.querySelector("h2[data-id]");return l||i(a)},s=()=>{const r=document.querySelector("h2[data-id]");n(r)},o=()=>{const r=document.querySelectorAll("h2[data-id]"),a=r.item(r.length-1);a&&n(a)};return Hs(["ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],r=>{if(Dt.value&&(Dt.value=null),document.activeElement&&document.activeElement instanceof HTMLInputElement&&document.activeElement!=e.current)return;r.preventDefault();const a=document.querySelector(".selected-vnode");if(a===null){r.key==="ArrowDown"?s():r.key==="ArrowUp"&&o();return}if(r.key==="ArrowRight"){const l=t(a);l&&l.setCollapsed(!1);return}else if(r.key==="ArrowLeft"){const l=t(a);l&&l.setCollapsed(!0);return}if(r.key==="ArrowDown"){const l=a?.nextElementSibling?.querySelector("h2[data-id]");if(l)return n(l);const c=a.parentElement?.nextElementSibling?.querySelector("h2[data-id]");if(c)return n(c);const h=i(a);return h?n(h):s()}else if(r.key==="ArrowUp"){const l=a.parentElement?.previousElementSibling;if(l?.matches("h2[data-id]"))return n(l);const c=l?.querySelectorAll("h2[data-id]");return c?.length!=null&&c?.length>=1?n(c?.item?.(c.length-1)):o()}}),Hs("l",r=>{r.ctrlKey&&(r.preventDefault(),e.current?.focus({preventScroll:!1}))}),{searchRef:e}},Yl=e=>{es.value=e.target.value,Dt.value&&(Dt.value=null)};function $l(){const{searchRef:e}=Ul(),t=Pt.value;return m.createElement("div",{className:"flex-grow p-2 sticky top-0"},m.createElement("div",{className:"flex gap-4 pb-2 border-b-2 border-neutral-800 mb-2 items-center"},m.createElement("input",{ref:e,className:"bg-[#171616] px-1 py-2 w-full focus:outline focus:outline-primary",placeholder:"Search for component",type:"text",value:es,oninput:Yl})),t?.rootNode&&m.createElement(Yn,{node:t.rootNode}))}const Xl=e=>{const{mouse:t}=Ll(),n=Q(null),i=Q(0),s=Q(0),o=Ce(null),r=Fl(o),a=Ce(null),[l,c]=Array.isArray(e.children)?e.children:[];return Ki(()=>{a.current&&(s.value=a.current.clientWidth/2)},[a.current]),ge("mouseup",Te(()=>n.value=null,[])),ge("mousemove",Te(h=>{if(n.value==null||a.current==null)return;const d=Math.max(i.value+h.x-n.value.x,250);s.value=Math.min(d,a.current.clientWidth-250)},[])),ge("resize",Te(()=>{a.current!=null&&a.current.clientWidth-250<s.value&&(s.value=Math.max(a.current.clientWidth-250,250))},[])),m.createElement("div",{onmousemove:h=>{h.x},ref:a,className:"flex-grow grid gap-2 items-start w-full relative",style:{gridTemplateColumns:\`\${s}px 1fr\`}},m.createElement("div",{ref:o,className:"firstContainer w-full h-full"},l),r.width.value!=0&&m.createElement("div",{className:"w-8 flex justify-center h-full absolute top-0 -translate-x-1/2 cursor-col-resize z-[9999]",style:{left:\`\${r.width}px\`},onmousedown:h=>{h.preventDefault(),n.value={...t.value},i.value=s.value}},m.createElement("div",{className:"dividerLine w-[5px] bg-neutral-800 h-full"})),m.createElement("div",{className:"secondContainer h-full"},c))},ql=()=>m.createElement("svg",{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",className:"lucide lucide-square-mouse-pointer"},m.createElement("path",{d:"M12.034 12.681a.498.498 0 0 1 .647-.647l9 3.5a.5.5 0 0 1-.033.943l-3.444 1.068a1 1 0 0 0-.66.66l-1.067 3.443a.5.5 0 0 1-.943.033z"}),m.createElement("path",{d:"M21 11V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6"})),Gl=()=>{Me.value=!Me.value,Pe.send({type:"set-inspect-enabled",value:Me.value})};function Kl(){const e=Pt.value,t=qt.value,n=te();return ct(()=>{const i=s=>{s===e&&n()};return U?.on("update",i),()=>U?.off("update",i)},[Pt]),ct(()=>{const i=s=>{if(s.data.type!=="select-node")return;if(!window.__devtoolsSelection){console.error("no selection ptr");return}const{app:o,node:r}=window.__devtoolsSelection;window.__devtoolsSelection=null,Pt.value=o,qt.value=r,Dt.value=r,Me.value=!1};return Pe.addEventListener(i),()=>Pe.removeEventListener(i)},[Pt]),m.createElement(m.Fragment,null,m.createElement("div",{className:"flex items-center justify-between gap-4 p-2 bg-neutral-400 bg-opacity-5 border border-white border-opacity-10 rounded"},m.createElement("div",{className:"flex items-center gap-4"},m.createElement("select",{className:"px-2 py-1 bg-neutral-800 text-neutral-100 rounded border border-white border-opacity-10",value:e?.name??"",onchange:i=>Pt.value=Xt.peek().find(s=>s.name===i.currentTarget.value)??null},m.createElement("option",{value:"",disabled:!0},"Select App"),Xt.value.map(i=>m.createElement("option",{key:i.id,value:i.name},i.name))),m.createElement("button",{title:"Toggle Component Inspection",onclick:Gl,className:\`p-1 rounded \${Me.value?"bg-neutral-900":""}\`},m.createElement(ql,null)))),m.createElement(Xl,null,e&&m.createElement($l,null),t&&e&&m.createElement(Dl,{selectedApp:e,selectedNode:t,setSelectedNode:i=>qt.value=i,kiruGlobal:U})))}const Ai=ht({}),ue=ht([]);U?.stores?.subscribe(e=>{Ai.value=e,ue.value=ue.value.filter(t=>Object.values(Ai.value).includes(t))});const Ar=ht(""),Zl=vr(()=>Ar.value.toLowerCase().split(" ").filter(e=>e.length>0));function Ql(e){return Zl.value.every(t=>e.toLowerCase().includes(t))}function Jl(){const e=Object.entries(Ai.value);return e.length===0?m.createElement("div",{className:"flex flex-col items-center justify-center h-full text-neutral-400"},m.createElement(Er,null),m.createElement("h2",{className:"text-lg italic"},"No stores detected")):m.createElement("div",{className:"flex flex-col gap-2 items-start"},m.createElement(Pr,{value:Ar,className:"sticky top-0"}),m.createElement("div",{className:"flex flex-col gap-2 w-full"},e.filter(([t])=>Ql(t)).map(([t,n])=>m.createElement(tc,{key:t,name:t,store:n}))))}function tc({name:e,store:t}){const n=ue.value.includes(t),i=te(),{value:s}=Ir(t);Ki(()=>{const r=t.subscribe(()=>i());return()=>r()},[]);const o=Te(()=>{n?ue.value=ue.value.filter(r=>r!==t):ue.value=[...ue.value,t]},[n]);return m.createElement("div",{className:"flex flex-col"},m.createElement("button",{onclick:o,className:"flex items-center gap-2 justify-between p-2 border border-white border-opacity-10 cursor-pointer"+(n?" bg-white bg-opacity-5 text-neutral-100 rounded-t":" hover:bg-white hover:bg-opacity-10 text-neutral-400 rounded")},e,m.createElement("div",{className:"flex gap-2"},m.createElement(ts,{fn:t,onclick:r=>r.stopPropagation()}),m.createElement(Kt,{className:"transition-all"+(n?" rotate-90":"")}))),n&&m.createElement("div",{className:"flex flex-col gap-2 p-2 border border-white border-opacity-10"},m.createElement(ye,{data:{value:s},mutable:!0,objectRefAcc:[],onChange:(r,a)=>{const l=structuredClone({value:s});Zi(l,r,a),t.setState(l.value)}}),m.createElement(ec,{store:t})))}function ec({store:e}){const t=Xt.value;return t.length===0?null:m.createElement(m.Fragment,null,t.map(n=>m.createElement(nc,{store:e,app:n})))}const Ws=Symbol.for("kiru.hmrAccept"),Ir=e=>{if(Ws in e)return e[Ws].provide().current;throw new Error("Unable to get store subscribers")};function nc({store:e,app:t}){const n=te(),{subscribers:i,nodeStateMap:s}=Ir(e),o=t.rootNode.child;if(ct(()=>{const a=l=>{l===t&&n()};return U?.on("update",a),()=>U?.off("update",a)},[]),!o)return null;const r=Di(o,a=>i.has(a));return m.createElement("div",{className:"flex flex-col gap-2 p-2 rounded-b border border-white border-opacity-10"},m.createElement("b",null,t.name),r&&m.createElement("ul",{className:"pl-8"},m.createElement(Ii,{node:r,nodeStateMap:s})))}function Ii({node:e,nodeStateMap:t}){const[n,i]=xe(!1),o=t.get(e.ref)?.slices??[];return m.createElement(m.Fragment,null,m.createElement("li",{className:"flex flex-col gap-2"},m.createElement("div",{className:"flex flex-col border border-white border-opacity-10 rounded"+(n?" bg-white bg-opacity-5 text-neutral-100":" hover:bg-white hover:bg-opacity-10 text-neutral-400")},m.createElement("button",{onclick:()=>i(!n),className:"flex gap-2 p-2 justify-between cursor-pointer"},m.createElement("span",null,"<"+_r(e.ref)+" />"),m.createElement("div",{className:"flex gap-2 items-center"},m.createElement(ts,{fn:e.ref.type,onclick:r=>r.stopPropagation()}),m.createElement(Kt,{className:"transition-all"+(n?" rotate-90":"")}))),n&&m.createElement("div",{className:"flex flex-col gap-2 p-2 bg-[#1a1a1a]"},o.length===0&&m.createElement("div",{className:"p-2 bg-black bg-opacity-30 text-sm"},m.createElement("h5",{className:"border-b border-white border-opacity-10"},"No slices")),o.map(r=>m.createElement("div",{className:"flex flex-col gap-2"},m.createElement("div",{className:"p-2 bg-black bg-opacity-30 text-sm"},m.createElement("h5",{className:"border-b border-white border-opacity-10"},"Slice:"),m.createElement("pre",{className:"text-neutral-400"},m.createElement(ye,{data:{value:r.value},mutable:!1,objectRefAcc:[],onChange:()=>{}}))),m.createElement("div",{className:"p-2 bg-black bg-opacity-30 text-sm"},m.createElement("h5",{className:"border-b border-white border-opacity-10"},"SliceFn:"),m.createElement("pre",{className:"text-neutral-400"},r.sliceFn?r.sliceFn.toString():"null")),r.eq&&m.createElement("div",{className:"p-2 bg-black bg-opacity-30 text-sm"},m.createElement("h5",{className:"border-b border-white border-opacity-10"},"eq:"),m.createElement("pre",{className:"text-neutral-400"},r.eq.toString())))))),e.child&&m.createElement("ul",{className:"pl-8 flex flex-col gap-2"},m.createElement(Ii,{node:e.child,nodeStateMap:t}))),e.sibling&&m.createElement(Ii,{node:e.sibling,nodeStateMap:t}))}/*!
|
|
1696
1696
|
* @kurkle/color v0.3.4
|
|
1697
1697
|
* https://github.com/kurkle/color#readme
|
|
1698
1698
|
* (c) 2024 Jukka Kurkela
|
|
@@ -1720,7 +1720,7 @@ var dist_default = `<!DOCTYPE html>
|
|
|
1720
1720
|
* https://www.chartjs.org/chartjs-plugin-zoom/2.2.0/
|
|
1721
1721
|
* (c) 2016-2024 chartjs-plugin-zoom Contributors
|
|
1722
1722
|
* Released under the MIT License
|
|
1723
|
-
*/const dn=e=>e&&e.enabled&&e.modifierKey,xa=(e,t)=>e&&t[e+"Key"],ms=(e,t)=>e&&!t[e+"Key"];function Jt(e,t,n){return e===void 0?!0:typeof e=="string"?e.indexOf(t)!==-1:typeof e=="function"?e({chart:n}).indexOf(t)!==-1:!1}function Ti(e,t){return typeof e=="function"&&(e=e({chart:t})),typeof e=="string"?{x:e.indexOf("x")!==-1,y:e.indexOf("y")!==-1}:{x:!1,y:!1}}function cf(e,t){let n;return function(){return clearTimeout(n),n=setTimeout(e,t),t}}function hf({x:e,y:t},n){const i=n.scales,s=Object.keys(i);for(let o=0;o<s.length;o++){const r=i[s[o]];if(t>=r.top&&t<=r.bottom&&e>=r.left&&e<=r.right)return r}return null}function ya(e,t,n){const{mode:i="xy",scaleMode:s,overScaleMode:o}=e||{},r=hf(t,n),a=Ti(i,n),l=Ti(s,n);if(o){const h=Ti(o,n);for(const d of["x","y"])h[d]&&(l[d]=a[d],a[d]=!1)}if(r&&l[r.axis])return[r];const c=[];return z(n.scales,function(h){a[h.axis]&&c.push(h)}),c}const ji=new WeakMap;function j(e){let t=ji.get(e);return t||(t={originalScaleLimits:{},updatedScaleLimits:{},handlers:{},panDelta:{},dragging:!1,panning:!1},ji.set(e,t)),t}function uf(e){ji.delete(e)}function va(e,t,n,i){const s=Math.max(0,Math.min(1,(e-t)/n||0)),o=1-s;return{min:i*s,max:i*o}}function _a(e,t){const n=e.isHorizontal()?t.x:t.y;return e.getValueForPixel(n)}function wa(e,t,n){const i=e.max-e.min,s=i*(t-1),o=_a(e,n);return va(o,e.min,i,s)}function df(e,t,n){const i=_a(e,n);if(i===void 0)return{min:e.min,max:e.max};const s=Math.log10(e.min),o=Math.log10(e.max),r=Math.log10(i),a=o-s,l=a*(t-1),c=va(r,s,a,l);return{min:Math.pow(10,s+c.min),max:Math.pow(10,o-c.max)}}function ff(e,t){return t&&(t[e.id]||t[e.axis])||{}}function er(e,t,n,i,s){let o=n[i];if(o==="original"){const r=e.originalScaleLimits[t.id][i];o=L(r.options,r.scale)}return L(o,s)}function gf(e,t,n){const i=e.getValueForPixel(t),s=e.getValueForPixel(n);return{min:Math.min(i,s),max:Math.max(i,s)}}function pf(e,{min:t,max:n,minLimit:i,maxLimit:s},o){const r=(e-n+t)/2;t-=r,n+=r;const a=o.min.options??o.min.scale,l=o.max.options??o.max.scale,c=e/1e6;return pe(t,a,c)&&(t=a),pe(n,l,c)&&(n=l),t<i?(t=i,n=Math.min(i+e,s)):n>s&&(n=s,t=Math.max(s-e,i)),{min:t,max:n}}function _e(e,{min:t,max:n},i,s=!1){const o=j(e.chart),{options:r}=e,a=ff(e,i),{minRange:l=0}=a,c=er(o,e,a,"min",-1/0),h=er(o,e,a,"max",1/0);if(s==="pan"&&(t<c||n>h))return!0;const d=e.max-e.min,g=s?Math.max(n-t,l):d;if(s&&g===l&&d<=l)return!0;const p=pf(g,{min:t,max:n,minLimit:c,maxLimit:h},o.originalScaleLimits[e.id]);return r.min=p.min,r.max=p.max,o.updatedScaleLimits[e.id]=p,e.parse(p.min)!==e.min||e.parse(p.max)!==e.max}function mf(e,t,n,i){const s=wa(e,t,n),o={min:e.min+s.min,max:e.max-s.max};return _e(e,o,i,!0)}function bf(e,t,n,i){const s=df(e,t,n);return _e(e,s,i,!0)}function xf(e,t,n,i){_e(e,gf(e,t,n),i,!0)}const nr=e=>e===0||isNaN(e)?0:e<0?Math.min(Math.round(e),-1):Math.max(Math.round(e),1);function yf(e){const n=e.getLabels().length-1;e.min>0&&(e.min-=1),e.max<n&&(e.max+=1)}function vf(e,t,n,i){const s=wa(e,t,n);e.min===e.max&&t<1&&yf(e);const o={min:e.min+nr(s.min),max:e.max-nr(s.max)};return _e(e,o,i,!0)}function _f(e){return e.isHorizontal()?e.width:e.height}function wf(e,t,n){const s=e.getLabels().length-1;let{min:o,max:r}=e;const a=Math.max(r-o,1),l=Math.round(_f(e)/Math.max(a,10)),c=Math.round(Math.abs(t/l));let h;return t<-l?(r=Math.min(r+c,s),o=a===1?r:r-a,h=r===s):t>l&&(o=Math.max(0,o-c),r=a===1?o:o+a,h=o===0),_e(e,{min:o,max:r},n)||h}const Ef={second:500,minute:30*1e3,hour:1800*1e3,day:720*60*1e3,week:3.5*24*60*60*1e3,month:360*60*60*1e3,quarter:1440*60*60*1e3,year:4368*60*60*1e3};function Ea(e,t,n,i=!1){const{min:s,max:o,options:r}=e,a=r.time&&r.time.round,l=Ef[a]||0,c=e.getValueForPixel(e.getPixelForValue(s+l)-t),h=e.getValueForPixel(e.getPixelForValue(o+l)-t);return isNaN(c)||isNaN(h)?!0:_e(e,{min:c,max:h},n,i?"pan":!1)}function ir(e,t,n){return Ea(e,t,n,!0)}const Ui={category:vf,default:mf,logarithmic:bf},Yi={default:xf},$i={category:wf,default:Ea,logarithmic:ir,timeseries:ir};function Sf(e,t,n){const{id:i,options:{min:s,max:o}}=e;if(!t[i]||!n[i])return!0;const r=n[i];return r.min!==s||r.max!==o}function sr(e,t){z(e,(n,i)=>{t[i]||delete e[i]})}function Re(e,t){const{scales:n}=e,{originalScaleLimits:i,updatedScaleLimits:s}=t;return z(n,function(o){Sf(o,i,s)&&(i[o.id]={min:{scale:o.min,options:o.options.min},max:{scale:o.max,options:o.options.max}})}),sr(i,n),sr(s,n),i}function or(e,t,n,i){const s=Ui[e.type]||Ui.default;I(s,[e,t,n,i])}function rr(e,t,n,i){const s=Yi[e.type]||Yi.default;I(s,[e,t,n,i])}function kf(e){const t=e.chartArea;return{x:(t.left+t.right)/2,y:(t.top+t.bottom)/2}}function bs(e,t,n="none",i="api"){const{x:s=1,y:o=1,focalPoint:r=kf(e)}=typeof t=="number"?{x:t,y:t}:t,a=j(e),{options:{limits:l,zoom:c}}=a;Re(e,a);const h=s!==1,d=o!==1,g=ya(c,r,e);z(g||e.scales,function(p){p.isHorizontal()&&h?or(p,s,r,l):!p.isHorizontal()&&d&&or(p,o,r,l)}),e.update(n),I(c.onZoom,[{chart:e,trigger:i}])}function Sa(e,t,n,i="none",s="api"){const o=j(e),{options:{limits:r,zoom:a}}=o,{mode:l="xy"}=a;Re(e,o);const c=Jt(l,"x",e),h=Jt(l,"y",e);z(e.scales,function(d){d.isHorizontal()&&c?rr(d,t.x,n.x,r):!d.isHorizontal()&&h&&rr(d,t.y,n.y,r)}),e.update(i),I(a.onZoom,[{chart:e,trigger:s}])}function Tf(e,t,n,i="none",s="api"){const o=j(e);Re(e,o);const r=e.scales[t];_e(r,n,void 0,!0),e.update(i),I(o.options.zoom?.onZoom,[{chart:e,trigger:s}])}function Mf(e,t="default"){const n=j(e),i=Re(e,n);z(e.scales,function(s){const o=s.options;i[s.id]?(o.min=i[s.id].min.options,o.max=i[s.id].max.options):(delete o.min,delete o.max),delete n.updatedScaleLimits[s.id]}),e.update(t),I(n.options.zoom.onZoomComplete,[{chart:e}])}function Of(e,t){const n=e.originalScaleLimits[t];if(!n)return;const{min:i,max:s}=n;return L(s.options,s.scale)-L(i.options,i.scale)}function Cf(e){const t=j(e);let n=1,i=1;return z(e.scales,function(s){const o=Of(t,s.id);if(o){const r=Math.round(o/(s.max-s.min)*100)/100;n=Math.min(n,r),i=Math.max(i,r)}}),n<1?n:i}function ar(e,t,n,i){const{panDelta:s}=i,o=s[e.id]||0;Qt(o)===Qt(t)&&(t+=o);const r=$i[e.type]||$i.default;I(r,[e,t,n])?s[e.id]=0:s[e.id]=t}function ka(e,t,n,i="none"){const{x:s=0,y:o=0}=typeof t=="number"?{x:t,y:t}:t,r=j(e),{options:{pan:a,limits:l}}=r,{onPan:c}=a||{};Re(e,r);const h=s!==0,d=o!==0;z(n||e.scales,function(g){g.isHorizontal()&&h?ar(g,s,l,r):!g.isHorizontal()&&d&&ar(g,o,l,r)}),e.update(i),I(c,[{chart:e}])}function Ta(e){const t=j(e);Re(e,t);const n={};for(const i of Object.keys(e.scales)){const{min:s,max:o}=t.originalScaleLimits[i]||{min:{},max:{}};n[i]={min:s.scale,max:o.scale}}return n}function Pf(e){const t=j(e),n={};for(const i of Object.keys(e.scales))n[i]=t.updatedScaleLimits[i];return n}function Df(e){const t=Ta(e);for(const n of Object.keys(e.scales)){const{min:i,max:s}=t[n];if(i!==void 0&&e.scales[n].min!==i||s!==void 0&&e.scales[n].max!==s)return!0}return!1}function lr(e){const t=j(e);return t.panning||t.dragging}const cr=(e,t,n)=>Math.min(n,Math.max(t,e));function rt(e,t){const{handlers:n}=j(e),i=n[t];i&&i.target&&(i.target.removeEventListener(t,i),delete n[t])}function rn(e,t,n,i){const{handlers:s,options:o}=j(e),r=s[n];if(r&&r.target===t)return;rt(e,n),s[n]=l=>i(e,l,o),s[n].target=t;const a=n==="wheel"?!1:void 0;t.addEventListener(n,s[n],{passive:a})}function Af(e,t){const n=j(e);n.dragStart&&(n.dragging=!0,n.dragEnd=t,e.update("none"))}function If(e,t){const n=j(e);!n.dragStart||t.key!=="Escape"||(rt(e,"keydown"),n.dragging=!1,n.dragStart=n.dragEnd=null,e.update("none"))}function Xi(e,t){if(e.target!==t.canvas){const n=t.canvas.getBoundingClientRect();return{x:e.clientX-n.left,y:e.clientY-n.top}}return Ct(e,t)}function Ma(e,t,n){const{onZoomStart:i,onZoomRejected:s}=n;if(i){const o=Xi(t,e);if(I(i,[{chart:e,event:t,point:o}])===!1)return I(s,[{chart:e,event:t}]),!1}}function Nf(e,t){if(e.legend){const o=Ct(t,e);if(De(o,e.legend))return}const n=j(e),{pan:i,zoom:s={}}=n.options;if(t.button!==0||xa(dn(i),t)||ms(dn(s.drag),t))return I(s.onZoomRejected,[{chart:e,event:t}]);Ma(e,t,s)!==!1&&(n.dragStart=t,rn(e,e.canvas.ownerDocument,"mousemove",Af),rn(e,window.document,"keydown",If))}function Lf({begin:e,end:t},n){let i=t.x-e.x,s=t.y-e.y;const o=Math.abs(i/s);o>n?i=Math.sign(i)*Math.abs(s*n):o<n&&(s=Math.sign(s)*Math.abs(i/n)),t.x=e.x+i,t.y=e.y+s}function hr(e,t,n,{min:i,max:s,prop:o}){e[i]=cr(Math.min(n.begin[o],n.end[o]),t[i],t[s]),e[s]=cr(Math.max(n.begin[o],n.end[o]),t[i],t[s])}function Rf(e,t,n){const i={begin:Xi(t.dragStart,e),end:Xi(t.dragEnd,e)};if(n){const s=e.chartArea.width/e.chartArea.height;Lf(i,s)}return i}function Oa(e,t,n,i){const s=Jt(t,"x",e),o=Jt(t,"y",e),{top:r,left:a,right:l,bottom:c,width:h,height:d}=e.chartArea,g={top:r,left:a,right:l,bottom:c},p=Rf(e,n,i&&s&&o);s&&hr(g,e.chartArea,p,{min:"left",max:"right",prop:"x"}),o&&hr(g,e.chartArea,p,{min:"top",max:"bottom",prop:"y"});const y=g.right-g.left,x=g.bottom-g.top;return{...g,width:y,height:x,zoomX:s&&y?1+(h-y)/h:1,zoomY:o&&x?1+(d-x)/d:1}}function zf(e,t){const n=j(e);if(!n.dragStart)return;rt(e,"mousemove");const{mode:i,onZoomComplete:s,drag:{threshold:o=0,maintainAspectRatio:r}}=n.options.zoom,a=Oa(e,i,{dragStart:n.dragStart,dragEnd:t},r),l=Jt(i,"x",e)?a.width:0,c=Jt(i,"y",e)?a.height:0,h=Math.sqrt(l*l+c*c);if(n.dragStart=n.dragEnd=null,h<=o){n.dragging=!1,e.update("none");return}Sa(e,{x:a.left,y:a.top},{x:a.right,y:a.bottom},"zoom","drag"),n.dragging=!1,n.filterNextClick=!0,I(s,[{chart:e}])}function Ff(e,t,n){if(ms(dn(n.wheel),t)){I(n.onZoomRejected,[{chart:e,event:t}]);return}if(Ma(e,t,n)!==!1&&(t.cancelable&&t.preventDefault(),t.deltaY!==void 0))return!0}function Hf(e,t){const{handlers:{onZoomComplete:n},options:{zoom:i}}=j(e);if(!Ff(e,t,i))return;const s=t.target.getBoundingClientRect(),o=i.wheel.speed,r=t.deltaY>=0?2-1/(1-o):1+o,a={x:r,y:r,focalPoint:{x:t.clientX-s.left,y:t.clientY-s.top}};bs(e,a,"zoom","wheel"),I(n,[{chart:e}])}function Bf(e,t,n,i){n&&(j(e).handlers[t]=cf(()=>I(n,[{chart:e}]),i))}function Wf(e,t){const n=e.canvas,{wheel:i,drag:s,onZoomComplete:o}=t.zoom;i.enabled?(rn(e,n,"wheel",Hf),Bf(e,"onZoomComplete",o,250)):rt(e,"wheel"),s.enabled?(rn(e,n,"mousedown",Nf),rn(e,n.ownerDocument,"mouseup",zf)):(rt(e,"mousedown"),rt(e,"mousemove"),rt(e,"mouseup"),rt(e,"keydown"))}function Vf(e){rt(e,"mousedown"),rt(e,"mousemove"),rt(e,"mouseup"),rt(e,"wheel"),rt(e,"click"),rt(e,"keydown")}function jf(e,t){return function(n,i){const{pan:s,zoom:o={}}=t.options;if(!s||!s.enabled)return!1;const r=i&&i.srcEvent;return r&&!t.panning&&i.pointerType==="mouse"&&(ms(dn(s),r)||xa(dn(o.drag),r))?(I(s.onPanRejected,[{chart:e,event:i}]),!1):!0}}function Uf(e,t){const n=Math.abs(e.clientX-t.clientX),i=Math.abs(e.clientY-t.clientY),s=n/i;let o,r;return s>.3&&s<1.7?o=r=!0:n>i?o=!0:r=!0,{x:o,y:r}}function Ca(e,t,n){if(t.scale){const{center:i,pointers:s}=n,o=1/t.scale*n.scale,r=n.target.getBoundingClientRect(),a=Uf(s[0],s[1]),l=t.options.zoom.mode,c={x:a.x&&Jt(l,"x",e)?o:1,y:a.y&&Jt(l,"y",e)?o:1,focalPoint:{x:i.x-r.left,y:i.y-r.top}};bs(e,c,"zoom","pinch"),t.scale=n.scale}}function Yf(e,t,n){if(t.options.zoom.pinch.enabled){const i=Ct(n,e);I(t.options.zoom.onZoomStart,[{chart:e,event:n,point:i}])===!1?(t.scale=null,I(t.options.zoom.onZoomRejected,[{chart:e,event:n}])):t.scale=1}}function $f(e,t,n){t.scale&&(Ca(e,t,n),t.scale=null,I(t.options.zoom.onZoomComplete,[{chart:e}]))}function Pa(e,t,n){const i=t.delta;i&&(t.panning=!0,ka(e,{x:n.deltaX-i.x,y:n.deltaY-i.y},t.panScales),t.delta={x:n.deltaX,y:n.deltaY})}function Xf(e,t,n){const{enabled:i,onPanStart:s,onPanRejected:o}=t.options.pan;if(!i)return;const r=n.target.getBoundingClientRect(),a={x:n.center.x-r.left,y:n.center.y-r.top};if(I(s,[{chart:e,event:n,point:a}])===!1)return I(o,[{chart:e,event:n}]);t.panScales=ya(t.options.pan,a,e),t.delta={x:0,y:0},Pa(e,t,n)}function qf(e,t){t.delta=null,t.panning&&(t.panning=!1,t.filterNextClick=!0,I(t.options.pan.onPanComplete,[{chart:e}]))}const qi=new WeakMap;function ur(e,t){const n=j(e),i=e.canvas,{pan:s,zoom:o}=t,r=new on.Manager(i);o&&o.pinch.enabled&&(r.add(new on.Pinch),r.on("pinchstart",a=>Yf(e,n,a)),r.on("pinch",a=>Ca(e,n,a)),r.on("pinchend",a=>$f(e,n,a))),s&&s.enabled&&(r.add(new on.Pan({threshold:s.threshold,enable:jf(e,n)})),r.on("panstart",a=>Xf(e,n,a)),r.on("panmove",a=>Pa(e,n,a)),r.on("panend",()=>qf(e,n))),qi.set(e,r)}function dr(e){const t=qi.get(e);t&&(t.remove("pinchstart"),t.remove("pinch"),t.remove("pinchend"),t.remove("panstart"),t.remove("pan"),t.remove("panend"),t.destroy(),qi.delete(e))}function Gf(e,t){const{pan:n,zoom:i}=e,{pan:s,zoom:o}=t;return i?.zoom?.pinch?.enabled!==o?.zoom?.pinch?.enabled||n?.enabled!==s?.enabled||n?.threshold!==s?.threshold}var Kf="2.2.0";function Bn(e,t,n){const i=n.zoom.drag,{dragStart:s,dragEnd:o}=j(e);if(i.drawTime!==t||!o)return;const{left:r,top:a,width:l,height:c}=Oa(e,n.zoom.mode,{dragStart:s,dragEnd:o},i.maintainAspectRatio),h=e.ctx;h.save(),h.beginPath(),h.fillStyle=i.backgroundColor||"rgba(225,225,225,0.3)",h.fillRect(r,a,l,c),i.borderWidth>0&&(h.lineWidth=i.borderWidth,h.strokeStyle=i.borderColor||"rgba(225,225,225)",h.strokeRect(r,a,l,c)),h.restore()}var Zf={id:"zoom",version:Kf,defaults:{pan:{enabled:!1,mode:"xy",threshold:10,modifierKey:null},zoom:{wheel:{enabled:!1,speed:.1,modifierKey:null},drag:{enabled:!1,drawTime:"beforeDatasetsDraw",modifierKey:null},pinch:{enabled:!1},mode:"xy"}},start:function(e,t,n){const i=j(e);i.options=n,Object.prototype.hasOwnProperty.call(n.zoom,"enabled")&&console.warn("The option \`zoom.enabled\` is no longer supported. Please use \`zoom.wheel.enabled\`, \`zoom.drag.enabled\`, or \`zoom.pinch.enabled\`."),(Object.prototype.hasOwnProperty.call(n.zoom,"overScaleMode")||Object.prototype.hasOwnProperty.call(n.pan,"overScaleMode"))&&console.warn("The option \`overScaleMode\` is deprecated. Please use \`scaleMode\` instead (and update \`mode\` as desired)."),on&&ur(e,n),e.pan=(s,o,r)=>ka(e,s,o,r),e.zoom=(s,o)=>bs(e,s,o),e.zoomRect=(s,o,r)=>Sa(e,s,o,r),e.zoomScale=(s,o,r)=>Tf(e,s,o,r),e.resetZoom=s=>Mf(e,s),e.getZoomLevel=()=>Cf(e),e.getInitialScaleBounds=()=>Ta(e),e.getZoomedScaleBounds=()=>Pf(e),e.isZoomedOrPanned=()=>Df(e),e.isZoomingOrPanning=()=>lr(e)},beforeEvent(e,{event:t}){if(lr(e))return!1;if(t.type==="click"||t.type==="mouseup"){const n=j(e);if(n.filterNextClick)return n.filterNextClick=!1,!1}},beforeUpdate:function(e,t,n){const i=j(e),s=i.options;i.options=n,Gf(s,n)&&(dr(e),ur(e,n)),Wf(e,n)},beforeDatasetsDraw(e,t,n){Bn(e,"beforeDatasetsDraw",n)},afterDatasetsDraw(e,t,n){Bn(e,"afterDatasetsDraw",n)},beforeDraw(e,t,n){Bn(e,"beforeDraw",n)},afterDraw(e,t,n){Bn(e,"afterDraw",n)},stop:function(e){Vf(e),on&&dr(e),uf(e)},panFunctions:$i,zoomFunctions:Ui,zoomRectFunctions:Yi};function Qf({data:e,...t}){const n=Ce(null),i=Ce(null);return ct(()=>{Wi.register(Zf,ef,gu,Qd,Nd,Id,Bd,qd);const s=i.current,o=n.current=new Wi(s,{type:"line",data:e.peek(),options:{scales:{y:{min:0}},animation:!1,responsive:!0,plugins:{zoom:{pan:{enabled:!0,mode:"x"},zoom:{wheel:{enabled:!0},mode:"x"}},legend:{position:"top"},title:{display:!1}}}}),r=e.subscribe(a=>{o.data=a,o.update()});return()=>{o.destroy(),r()}},[]),m.createElement("canvas",{ref:i,...t})}function Jf(){const e=te();ct(()=>{const n=i=>{an(i)||e()};return U?.on("mount",n),U?.on("unmount",n),()=>{U?.off("mount",n),U?.off("unmount",n)}},[]);const t=U?.profilingContext;return m.createElement("div",{className:"flex flex-col gap-2"},wr(t.appStats).filter(([n])=>!an(n)).map(([n])=>m.createElement(tg,{key:n.id,app:n})))}const fr=100,gr=e=>Object.entries(e).map(([t,{values:n,color:i}])=>({label:t,data:n,fill:!1,borderColor:i,tension:.1}));function tg({app:e}){const t=te(),n=Ce({update:{values:[0],color:"#ad981f"},updateDirtied:{values:[0],color:"#b21f3a"},createNode:{values:[0],color:"#198019"},removeNode:{values:[0],color:"#5F3691"},updateNode:{values:[0],color:"#2f2f9d"},signalAttrUpdate:{values:[0],color:"#28888f"},signalTextUpdate:{values:[0],color:"#9b3b98"}}),i=Q({labels:[(performance.now()/1e3).toFixed(2)],datasets:gr(n.current)}),s=Q(!1),o=U?.profilingContext;return ct(()=>{const r=a=>{a.id===e.id&&t()};return U?.on("update",r),()=>U?.off("update",r)},[]),ct(()=>{const r=[];Object.entries(n.current).forEach(([l,{values:c}])=>{const h=g=>{g.id===e.id&&s.peek()!==!0&&c[c.length-1]++},d=l;o.addEventListener(d,h),r.push(()=>o.removeEventListener(d,h))});const a=setInterval(()=>{if(s.peek()===!0)return;const l=[...i.value.labels];Object.values(n.current).forEach(c=>{c.values.push(0),c.values.length>fr&&c.values.shift()}),l.push((performance.now()/1e3).toFixed(2)),l.length>fr&&l.shift(),i.value={labels:l,datasets:gr(n.current)}},100);return()=>{r.forEach(l=>l()),clearInterval(a)}},[]),m.createElement("div",{className:"flex flex-col gap-2 border border-white border-opacity-10 rounded bg-neutral-400 bg-opacity-5 text-neutral-400 p-2"},m.createElement("div",{className:"grid items-start gap-2",style:"grid-template-columns: 1fr max-content;"},m.createElement("div",{className:"flex flex-col gap-2"},m.createElement("span",null,e.name),m.createElement(Qf,{data:i,className:"w-full max-w-full min-h-20 bg-black bg-opacity-30",onmouseenter:()=>s.value=!0,onmouseleave:()=>s.value=!1})),m.createElement("div",{className:"text-xs grid grid-cols-2 gap-x-4",style:"grid-template-columns: auto auto;"},m.createElement("span",{className:"text-right"},"Mount duration:"),o.mountDuration(e).toFixed(2)," ms",m.createElement("span",{className:"text-right"},"Total updates:"),m.createElement("span",null,o.totalTicks(e).toLocaleString()),m.createElement("span",{className:"text-right"},"Avg. update duration:"),o.averageTickDuration(e).toFixed(2)," ms",m.createElement("span",{className:"text-right"},"Latest update:"),m.createElement("span",null,o.lastTickDuration(e).toFixed(2)," ms"))))}const Ge=ht([]),Da=ht(""),eg=vr(()=>Da.value.toLowerCase().split(" ").filter(e=>e.length>0));function ng(e){return eg.value.every(t=>e.toLowerCase().includes(t))}function ig(){const e=te();ct(()=>{const n=i=>{an(i)||e()};return U?.on("update",n),()=>U?.off("update",n)},[]);const t=U?.globalState[Symbol.for("SWR_GLOBAL")]??new Map;return t.size===0?m.createElement("div",{className:"flex flex-col items-center justify-center h-full text-neutral-400"},m.createElement(Er,null),m.createElement("h2",{className:"text-lg italic"},"No SWR detected")):m.createElement("div",{className:"flex flex-col gap-2 items-start"},m.createElement(Pr,{value:Da,className:"sticky top-0"}),m.createElement("div",{className:"flex flex-col gap-2 w-full"},wr(t).filter(([n])=>ng(n)).map(([n,i])=>m.createElement(sg,{key:n,entry:i}))))}function sg({key:e,entry:t}){const n=Ge.value.includes(e),i=te();ct(()=>{const{resource:o,isValidating:r,isMutating:a}=t,l=[o.subscribe(i),r.subscribe(i),a.subscribe(i)];return()=>l.forEach(c=>c())},[]);const s=Te(()=>{n?Ge.value=Ge.value.filter(o=>o!==e):Ge.value=[...Ge.value,e]},[n]);return m.createElement("div",{className:"flex flex-col"},m.createElement("button",{onclick:s,className:"flex items-center gap-2 justify-between p-2 border border-white border-opacity-10 cursor-pointer"+(n?" bg-white bg-opacity-5 text-neutral-100 rounded-t":" hover:bg-white hover:bg-opacity-10 text-neutral-400 rounded")},e,m.createElement(Kt,{className:"transition-all"+(n?" rotate-90":"")})),n&&m.createElement("div",{className:"flex flex-col gap-2 p-2 border border-white border-opacity-10"},m.createElement(ye,{data:{resource:t.resource.peek(),isMutating:t.isMutating.peek(),isValidating:t.isValidating.peek()},mutable:!1,objectRefAcc:[],keys:[],onChange:()=>{}})))}const og=e=>m.createElement("main",{className:"flex flex-col flex-1 max-h-[calc(100vh-1rem)] overflow-y-auto",style:e.active?{}:{display:"none"}},e.children),Gi={Apps:{Icon:bl,View:Kl},Stores:{Icon:El,View:Jl},SWR:{Icon:_l,View:ig},Profiling:{Icon:vl,View:Jf},Settings:{Icon:xl,View:kl}},ti=ht("Apps");let pr=qt.peek();qt.subscribe(e=>{e!==pr&&e!==null&&(ti.value="Apps"),pr=e});function rg(){return m.createElement(Sl,null,m.createElement("nav",{className:"flex flex-col gap-2 justify-between p-2 bg-neutral-400 bg-opacity-5 border border-white border-opacity-10 rounded"},m.createElement("div",{className:"flex flex-col gap-2"},Object.keys(Gi).map(e=>m.createElement(ag,{key:e,title:e})))),Object.entries(Gi).map(([e,{View:t}])=>m.createElement(og,{key:e,active:ti.value===e},m.createElement(t,null))))}function ag({title:e}){const{Icon:t}=Gi[e];return m.createElement("button",{key:e,onclick:()=>{ti.value=e},className:"flex items-center px-2 py-1 gap-2 rounded border text-xs border-white border-opacity-10"+(ti.value===e?" bg-white bg-opacity-5 text-neutral-100":" hover:bg-white hover:bg-opacity-10 text-neutral-400"),title:e},m.createElement(t,{className:"text-primary"}),m.createElement("span",{className:"hidden sm:inline"},e))}ll(rg,document.getElementById("app")).then(()=>{Pe.send({type:"ready"}),setInterval(()=>{window.opener||window.close()},250)});</script>
|
|
1723
|
+
*/const dn=e=>e&&e.enabled&&e.modifierKey,xa=(e,t)=>e&&t[e+"Key"],ms=(e,t)=>e&&!t[e+"Key"];function Jt(e,t,n){return e===void 0?!0:typeof e=="string"?e.indexOf(t)!==-1:typeof e=="function"?e({chart:n}).indexOf(t)!==-1:!1}function Ti(e,t){return typeof e=="function"&&(e=e({chart:t})),typeof e=="string"?{x:e.indexOf("x")!==-1,y:e.indexOf("y")!==-1}:{x:!1,y:!1}}function cf(e,t){let n;return function(){return clearTimeout(n),n=setTimeout(e,t),t}}function hf({x:e,y:t},n){const i=n.scales,s=Object.keys(i);for(let o=0;o<s.length;o++){const r=i[s[o]];if(t>=r.top&&t<=r.bottom&&e>=r.left&&e<=r.right)return r}return null}function ya(e,t,n){const{mode:i="xy",scaleMode:s,overScaleMode:o}=e||{},r=hf(t,n),a=Ti(i,n),l=Ti(s,n);if(o){const h=Ti(o,n);for(const d of["x","y"])h[d]&&(l[d]=a[d],a[d]=!1)}if(r&&l[r.axis])return[r];const c=[];return z(n.scales,function(h){a[h.axis]&&c.push(h)}),c}const ji=new WeakMap;function j(e){let t=ji.get(e);return t||(t={originalScaleLimits:{},updatedScaleLimits:{},handlers:{},panDelta:{},dragging:!1,panning:!1},ji.set(e,t)),t}function uf(e){ji.delete(e)}function va(e,t,n,i){const s=Math.max(0,Math.min(1,(e-t)/n||0)),o=1-s;return{min:i*s,max:i*o}}function _a(e,t){const n=e.isHorizontal()?t.x:t.y;return e.getValueForPixel(n)}function wa(e,t,n){const i=e.max-e.min,s=i*(t-1),o=_a(e,n);return va(o,e.min,i,s)}function df(e,t,n){const i=_a(e,n);if(i===void 0)return{min:e.min,max:e.max};const s=Math.log10(e.min),o=Math.log10(e.max),r=Math.log10(i),a=o-s,l=a*(t-1),c=va(r,s,a,l);return{min:Math.pow(10,s+c.min),max:Math.pow(10,o-c.max)}}function ff(e,t){return t&&(t[e.id]||t[e.axis])||{}}function er(e,t,n,i,s){let o=n[i];if(o==="original"){const r=e.originalScaleLimits[t.id][i];o=L(r.options,r.scale)}return L(o,s)}function gf(e,t,n){const i=e.getValueForPixel(t),s=e.getValueForPixel(n);return{min:Math.min(i,s),max:Math.max(i,s)}}function pf(e,{min:t,max:n,minLimit:i,maxLimit:s},o){const r=(e-n+t)/2;t-=r,n+=r;const a=o.min.options??o.min.scale,l=o.max.options??o.max.scale,c=e/1e6;return pe(t,a,c)&&(t=a),pe(n,l,c)&&(n=l),t<i?(t=i,n=Math.min(i+e,s)):n>s&&(n=s,t=Math.max(s-e,i)),{min:t,max:n}}function _e(e,{min:t,max:n},i,s=!1){const o=j(e.chart),{options:r}=e,a=ff(e,i),{minRange:l=0}=a,c=er(o,e,a,"min",-1/0),h=er(o,e,a,"max",1/0);if(s==="pan"&&(t<c||n>h))return!0;const d=e.max-e.min,g=s?Math.max(n-t,l):d;if(s&&g===l&&d<=l)return!0;const p=pf(g,{min:t,max:n,minLimit:c,maxLimit:h},o.originalScaleLimits[e.id]);return r.min=p.min,r.max=p.max,o.updatedScaleLimits[e.id]=p,e.parse(p.min)!==e.min||e.parse(p.max)!==e.max}function mf(e,t,n,i){const s=wa(e,t,n),o={min:e.min+s.min,max:e.max-s.max};return _e(e,o,i,!0)}function bf(e,t,n,i){const s=df(e,t,n);return _e(e,s,i,!0)}function xf(e,t,n,i){_e(e,gf(e,t,n),i,!0)}const nr=e=>e===0||isNaN(e)?0:e<0?Math.min(Math.round(e),-1):Math.max(Math.round(e),1);function yf(e){const n=e.getLabels().length-1;e.min>0&&(e.min-=1),e.max<n&&(e.max+=1)}function vf(e,t,n,i){const s=wa(e,t,n);e.min===e.max&&t<1&&yf(e);const o={min:e.min+nr(s.min),max:e.max-nr(s.max)};return _e(e,o,i,!0)}function _f(e){return e.isHorizontal()?e.width:e.height}function wf(e,t,n){const s=e.getLabels().length-1;let{min:o,max:r}=e;const a=Math.max(r-o,1),l=Math.round(_f(e)/Math.max(a,10)),c=Math.round(Math.abs(t/l));let h;return t<-l?(r=Math.min(r+c,s),o=a===1?r:r-a,h=r===s):t>l&&(o=Math.max(0,o-c),r=a===1?o:o+a,h=o===0),_e(e,{min:o,max:r},n)||h}const Ef={second:500,minute:30*1e3,hour:1800*1e3,day:720*60*1e3,week:3.5*24*60*60*1e3,month:360*60*60*1e3,quarter:1440*60*60*1e3,year:4368*60*60*1e3};function Ea(e,t,n,i=!1){const{min:s,max:o,options:r}=e,a=r.time&&r.time.round,l=Ef[a]||0,c=e.getValueForPixel(e.getPixelForValue(s+l)-t),h=e.getValueForPixel(e.getPixelForValue(o+l)-t);return isNaN(c)||isNaN(h)?!0:_e(e,{min:c,max:h},n,i?"pan":!1)}function ir(e,t,n){return Ea(e,t,n,!0)}const Ui={category:vf,default:mf,logarithmic:bf},Yi={default:xf},$i={category:wf,default:Ea,logarithmic:ir,timeseries:ir};function Sf(e,t,n){const{id:i,options:{min:s,max:o}}=e;if(!t[i]||!n[i])return!0;const r=n[i];return r.min!==s||r.max!==o}function sr(e,t){z(e,(n,i)=>{t[i]||delete e[i]})}function Re(e,t){const{scales:n}=e,{originalScaleLimits:i,updatedScaleLimits:s}=t;return z(n,function(o){Sf(o,i,s)&&(i[o.id]={min:{scale:o.min,options:o.options.min},max:{scale:o.max,options:o.options.max}})}),sr(i,n),sr(s,n),i}function or(e,t,n,i){const s=Ui[e.type]||Ui.default;I(s,[e,t,n,i])}function rr(e,t,n,i){const s=Yi[e.type]||Yi.default;I(s,[e,t,n,i])}function kf(e){const t=e.chartArea;return{x:(t.left+t.right)/2,y:(t.top+t.bottom)/2}}function bs(e,t,n="none",i="api"){const{x:s=1,y:o=1,focalPoint:r=kf(e)}=typeof t=="number"?{x:t,y:t}:t,a=j(e),{options:{limits:l,zoom:c}}=a;Re(e,a);const h=s!==1,d=o!==1,g=ya(c,r,e);z(g||e.scales,function(p){p.isHorizontal()&&h?or(p,s,r,l):!p.isHorizontal()&&d&&or(p,o,r,l)}),e.update(n),I(c.onZoom,[{chart:e,trigger:i}])}function Sa(e,t,n,i="none",s="api"){const o=j(e),{options:{limits:r,zoom:a}}=o,{mode:l="xy"}=a;Re(e,o);const c=Jt(l,"x",e),h=Jt(l,"y",e);z(e.scales,function(d){d.isHorizontal()&&c?rr(d,t.x,n.x,r):!d.isHorizontal()&&h&&rr(d,t.y,n.y,r)}),e.update(i),I(a.onZoom,[{chart:e,trigger:s}])}function Tf(e,t,n,i="none",s="api"){const o=j(e);Re(e,o);const r=e.scales[t];_e(r,n,void 0,!0),e.update(i),I(o.options.zoom?.onZoom,[{chart:e,trigger:s}])}function Mf(e,t="default"){const n=j(e),i=Re(e,n);z(e.scales,function(s){const o=s.options;i[s.id]?(o.min=i[s.id].min.options,o.max=i[s.id].max.options):(delete o.min,delete o.max),delete n.updatedScaleLimits[s.id]}),e.update(t),I(n.options.zoom.onZoomComplete,[{chart:e}])}function Of(e,t){const n=e.originalScaleLimits[t];if(!n)return;const{min:i,max:s}=n;return L(s.options,s.scale)-L(i.options,i.scale)}function Cf(e){const t=j(e);let n=1,i=1;return z(e.scales,function(s){const o=Of(t,s.id);if(o){const r=Math.round(o/(s.max-s.min)*100)/100;n=Math.min(n,r),i=Math.max(i,r)}}),n<1?n:i}function ar(e,t,n,i){const{panDelta:s}=i,o=s[e.id]||0;Qt(o)===Qt(t)&&(t+=o);const r=$i[e.type]||$i.default;I(r,[e,t,n])?s[e.id]=0:s[e.id]=t}function ka(e,t,n,i="none"){const{x:s=0,y:o=0}=typeof t=="number"?{x:t,y:t}:t,r=j(e),{options:{pan:a,limits:l}}=r,{onPan:c}=a||{};Re(e,r);const h=s!==0,d=o!==0;z(n||e.scales,function(g){g.isHorizontal()&&h?ar(g,s,l,r):!g.isHorizontal()&&d&&ar(g,o,l,r)}),e.update(i),I(c,[{chart:e}])}function Ta(e){const t=j(e);Re(e,t);const n={};for(const i of Object.keys(e.scales)){const{min:s,max:o}=t.originalScaleLimits[i]||{min:{},max:{}};n[i]={min:s.scale,max:o.scale}}return n}function Pf(e){const t=j(e),n={};for(const i of Object.keys(e.scales))n[i]=t.updatedScaleLimits[i];return n}function Df(e){const t=Ta(e);for(const n of Object.keys(e.scales)){const{min:i,max:s}=t[n];if(i!==void 0&&e.scales[n].min!==i||s!==void 0&&e.scales[n].max!==s)return!0}return!1}function lr(e){const t=j(e);return t.panning||t.dragging}const cr=(e,t,n)=>Math.min(n,Math.max(t,e));function rt(e,t){const{handlers:n}=j(e),i=n[t];i&&i.target&&(i.target.removeEventListener(t,i),delete n[t])}function rn(e,t,n,i){const{handlers:s,options:o}=j(e),r=s[n];if(r&&r.target===t)return;rt(e,n),s[n]=l=>i(e,l,o),s[n].target=t;const a=n==="wheel"?!1:void 0;t.addEventListener(n,s[n],{passive:a})}function Af(e,t){const n=j(e);n.dragStart&&(n.dragging=!0,n.dragEnd=t,e.update("none"))}function If(e,t){const n=j(e);!n.dragStart||t.key!=="Escape"||(rt(e,"keydown"),n.dragging=!1,n.dragStart=n.dragEnd=null,e.update("none"))}function Xi(e,t){if(e.target!==t.canvas){const n=t.canvas.getBoundingClientRect();return{x:e.clientX-n.left,y:e.clientY-n.top}}return Ct(e,t)}function Ma(e,t,n){const{onZoomStart:i,onZoomRejected:s}=n;if(i){const o=Xi(t,e);if(I(i,[{chart:e,event:t,point:o}])===!1)return I(s,[{chart:e,event:t}]),!1}}function Nf(e,t){if(e.legend){const o=Ct(t,e);if(De(o,e.legend))return}const n=j(e),{pan:i,zoom:s={}}=n.options;if(t.button!==0||xa(dn(i),t)||ms(dn(s.drag),t))return I(s.onZoomRejected,[{chart:e,event:t}]);Ma(e,t,s)!==!1&&(n.dragStart=t,rn(e,e.canvas.ownerDocument,"mousemove",Af),rn(e,window.document,"keydown",If))}function Lf({begin:e,end:t},n){let i=t.x-e.x,s=t.y-e.y;const o=Math.abs(i/s);o>n?i=Math.sign(i)*Math.abs(s*n):o<n&&(s=Math.sign(s)*Math.abs(i/n)),t.x=e.x+i,t.y=e.y+s}function hr(e,t,n,{min:i,max:s,prop:o}){e[i]=cr(Math.min(n.begin[o],n.end[o]),t[i],t[s]),e[s]=cr(Math.max(n.begin[o],n.end[o]),t[i],t[s])}function Rf(e,t,n){const i={begin:Xi(t.dragStart,e),end:Xi(t.dragEnd,e)};if(n){const s=e.chartArea.width/e.chartArea.height;Lf(i,s)}return i}function Oa(e,t,n,i){const s=Jt(t,"x",e),o=Jt(t,"y",e),{top:r,left:a,right:l,bottom:c,width:h,height:d}=e.chartArea,g={top:r,left:a,right:l,bottom:c},p=Rf(e,n,i&&s&&o);s&&hr(g,e.chartArea,p,{min:"left",max:"right",prop:"x"}),o&&hr(g,e.chartArea,p,{min:"top",max:"bottom",prop:"y"});const y=g.right-g.left,x=g.bottom-g.top;return{...g,width:y,height:x,zoomX:s&&y?1+(h-y)/h:1,zoomY:o&&x?1+(d-x)/d:1}}function zf(e,t){const n=j(e);if(!n.dragStart)return;rt(e,"mousemove");const{mode:i,onZoomComplete:s,drag:{threshold:o=0,maintainAspectRatio:r}}=n.options.zoom,a=Oa(e,i,{dragStart:n.dragStart,dragEnd:t},r),l=Jt(i,"x",e)?a.width:0,c=Jt(i,"y",e)?a.height:0,h=Math.sqrt(l*l+c*c);if(n.dragStart=n.dragEnd=null,h<=o){n.dragging=!1,e.update("none");return}Sa(e,{x:a.left,y:a.top},{x:a.right,y:a.bottom},"zoom","drag"),n.dragging=!1,n.filterNextClick=!0,I(s,[{chart:e}])}function Ff(e,t,n){if(ms(dn(n.wheel),t)){I(n.onZoomRejected,[{chart:e,event:t}]);return}if(Ma(e,t,n)!==!1&&(t.cancelable&&t.preventDefault(),t.deltaY!==void 0))return!0}function Hf(e,t){const{handlers:{onZoomComplete:n},options:{zoom:i}}=j(e);if(!Ff(e,t,i))return;const s=t.target.getBoundingClientRect(),o=i.wheel.speed,r=t.deltaY>=0?2-1/(1-o):1+o,a={x:r,y:r,focalPoint:{x:t.clientX-s.left,y:t.clientY-s.top}};bs(e,a,"zoom","wheel"),I(n,[{chart:e}])}function Bf(e,t,n,i){n&&(j(e).handlers[t]=cf(()=>I(n,[{chart:e}]),i))}function Wf(e,t){const n=e.canvas,{wheel:i,drag:s,onZoomComplete:o}=t.zoom;i.enabled?(rn(e,n,"wheel",Hf),Bf(e,"onZoomComplete",o,250)):rt(e,"wheel"),s.enabled?(rn(e,n,"mousedown",Nf),rn(e,n.ownerDocument,"mouseup",zf)):(rt(e,"mousedown"),rt(e,"mousemove"),rt(e,"mouseup"),rt(e,"keydown"))}function Vf(e){rt(e,"mousedown"),rt(e,"mousemove"),rt(e,"mouseup"),rt(e,"wheel"),rt(e,"click"),rt(e,"keydown")}function jf(e,t){return function(n,i){const{pan:s,zoom:o={}}=t.options;if(!s||!s.enabled)return!1;const r=i&&i.srcEvent;return r&&!t.panning&&i.pointerType==="mouse"&&(ms(dn(s),r)||xa(dn(o.drag),r))?(I(s.onPanRejected,[{chart:e,event:i}]),!1):!0}}function Uf(e,t){const n=Math.abs(e.clientX-t.clientX),i=Math.abs(e.clientY-t.clientY),s=n/i;let o,r;return s>.3&&s<1.7?o=r=!0:n>i?o=!0:r=!0,{x:o,y:r}}function Ca(e,t,n){if(t.scale){const{center:i,pointers:s}=n,o=1/t.scale*n.scale,r=n.target.getBoundingClientRect(),a=Uf(s[0],s[1]),l=t.options.zoom.mode,c={x:a.x&&Jt(l,"x",e)?o:1,y:a.y&&Jt(l,"y",e)?o:1,focalPoint:{x:i.x-r.left,y:i.y-r.top}};bs(e,c,"zoom","pinch"),t.scale=n.scale}}function Yf(e,t,n){if(t.options.zoom.pinch.enabled){const i=Ct(n,e);I(t.options.zoom.onZoomStart,[{chart:e,event:n,point:i}])===!1?(t.scale=null,I(t.options.zoom.onZoomRejected,[{chart:e,event:n}])):t.scale=1}}function $f(e,t,n){t.scale&&(Ca(e,t,n),t.scale=null,I(t.options.zoom.onZoomComplete,[{chart:e}]))}function Pa(e,t,n){const i=t.delta;i&&(t.panning=!0,ka(e,{x:n.deltaX-i.x,y:n.deltaY-i.y},t.panScales),t.delta={x:n.deltaX,y:n.deltaY})}function Xf(e,t,n){const{enabled:i,onPanStart:s,onPanRejected:o}=t.options.pan;if(!i)return;const r=n.target.getBoundingClientRect(),a={x:n.center.x-r.left,y:n.center.y-r.top};if(I(s,[{chart:e,event:n,point:a}])===!1)return I(o,[{chart:e,event:n}]);t.panScales=ya(t.options.pan,a,e),t.delta={x:0,y:0},Pa(e,t,n)}function qf(e,t){t.delta=null,t.panning&&(t.panning=!1,t.filterNextClick=!0,I(t.options.pan.onPanComplete,[{chart:e}]))}const qi=new WeakMap;function ur(e,t){const n=j(e),i=e.canvas,{pan:s,zoom:o}=t,r=new on.Manager(i);o&&o.pinch.enabled&&(r.add(new on.Pinch),r.on("pinchstart",a=>Yf(e,n,a)),r.on("pinch",a=>Ca(e,n,a)),r.on("pinchend",a=>$f(e,n,a))),s&&s.enabled&&(r.add(new on.Pan({threshold:s.threshold,enable:jf(e,n)})),r.on("panstart",a=>Xf(e,n,a)),r.on("panmove",a=>Pa(e,n,a)),r.on("panend",()=>qf(e,n))),qi.set(e,r)}function dr(e){const t=qi.get(e);t&&(t.remove("pinchstart"),t.remove("pinch"),t.remove("pinchend"),t.remove("panstart"),t.remove("pan"),t.remove("panend"),t.destroy(),qi.delete(e))}function Gf(e,t){const{pan:n,zoom:i}=e,{pan:s,zoom:o}=t;return i?.zoom?.pinch?.enabled!==o?.zoom?.pinch?.enabled||n?.enabled!==s?.enabled||n?.threshold!==s?.threshold}var Kf="2.2.0";function Bn(e,t,n){const i=n.zoom.drag,{dragStart:s,dragEnd:o}=j(e);if(i.drawTime!==t||!o)return;const{left:r,top:a,width:l,height:c}=Oa(e,n.zoom.mode,{dragStart:s,dragEnd:o},i.maintainAspectRatio),h=e.ctx;h.save(),h.beginPath(),h.fillStyle=i.backgroundColor||"rgba(225,225,225,0.3)",h.fillRect(r,a,l,c),i.borderWidth>0&&(h.lineWidth=i.borderWidth,h.strokeStyle=i.borderColor||"rgba(225,225,225)",h.strokeRect(r,a,l,c)),h.restore()}var Zf={id:"zoom",version:Kf,defaults:{pan:{enabled:!1,mode:"xy",threshold:10,modifierKey:null},zoom:{wheel:{enabled:!1,speed:.1,modifierKey:null},drag:{enabled:!1,drawTime:"beforeDatasetsDraw",modifierKey:null},pinch:{enabled:!1},mode:"xy"}},start:function(e,t,n){const i=j(e);i.options=n,Object.prototype.hasOwnProperty.call(n.zoom,"enabled")&&console.warn("The option \`zoom.enabled\` is no longer supported. Please use \`zoom.wheel.enabled\`, \`zoom.drag.enabled\`, or \`zoom.pinch.enabled\`."),(Object.prototype.hasOwnProperty.call(n.zoom,"overScaleMode")||Object.prototype.hasOwnProperty.call(n.pan,"overScaleMode"))&&console.warn("The option \`overScaleMode\` is deprecated. Please use \`scaleMode\` instead (and update \`mode\` as desired)."),on&&ur(e,n),e.pan=(s,o,r)=>ka(e,s,o,r),e.zoom=(s,o)=>bs(e,s,o),e.zoomRect=(s,o,r)=>Sa(e,s,o,r),e.zoomScale=(s,o,r)=>Tf(e,s,o,r),e.resetZoom=s=>Mf(e,s),e.getZoomLevel=()=>Cf(e),e.getInitialScaleBounds=()=>Ta(e),e.getZoomedScaleBounds=()=>Pf(e),e.isZoomedOrPanned=()=>Df(e),e.isZoomingOrPanning=()=>lr(e)},beforeEvent(e,{event:t}){if(lr(e))return!1;if(t.type==="click"||t.type==="mouseup"){const n=j(e);if(n.filterNextClick)return n.filterNextClick=!1,!1}},beforeUpdate:function(e,t,n){const i=j(e),s=i.options;i.options=n,Gf(s,n)&&(dr(e),ur(e,n)),Wf(e,n)},beforeDatasetsDraw(e,t,n){Bn(e,"beforeDatasetsDraw",n)},afterDatasetsDraw(e,t,n){Bn(e,"afterDatasetsDraw",n)},beforeDraw(e,t,n){Bn(e,"beforeDraw",n)},afterDraw(e,t,n){Bn(e,"afterDraw",n)},stop:function(e){Vf(e),on&&dr(e),uf(e)},panFunctions:$i,zoomFunctions:Ui,zoomRectFunctions:Yi};function Qf({data:e,...t}){const n=Ce(null),i=Ce(null);return ct(()=>{Wi.register(Zf,ef,gu,Qd,Nd,Id,Bd,qd);const s=i.current,o=n.current=new Wi(s,{type:"line",data:e.peek(),options:{scales:{y:{min:0}},animation:!1,responsive:!0,plugins:{zoom:{pan:{enabled:!0,mode:"x"},zoom:{wheel:{enabled:!0},mode:"x"}},legend:{position:"top"},title:{display:!1}}}}),r=e.subscribe(a=>{o.data=a,o.update()});return()=>{o.destroy(),r()}},[]),m.createElement("canvas",{ref:i,...t})}function Jf(){const e=te();ct(()=>{const n=i=>{an(i)||e()};return U?.on("mount",n),U?.on("unmount",n),()=>{U?.off("mount",n),U?.off("unmount",n)}},[]);const t=U?.profilingContext;return m.createElement("div",{className:"flex flex-col gap-2"},wr(t.appStats).filter(([n])=>!an(n)).map(([n])=>m.createElement(tg,{key:n.id,app:n})))}const fr=100,gr=e=>Object.entries(e).map(([t,{values:n,color:i}])=>({label:t,data:n,fill:!1,borderColor:i,tension:.1}));function tg({app:e}){const t=te(),n=Ce({update:{values:[0],color:"#ad981f"},updateDirtied:{values:[0],color:"#b21f3a"},createNode:{values:[0],color:"#198019"},removeNode:{values:[0],color:"#5F3691"},updateNode:{values:[0],color:"#2f2f9d"},signalAttrUpdate:{values:[0],color:"#28888f"},signalTextUpdate:{values:[0],color:"#9b3b98"}}),i=Q({labels:[(performance.now()/1e3).toFixed(2)],datasets:gr(n.current)}),s=Q(!1),o=U?.profilingContext;return ct(()=>{const r=a=>{a.id===e.id&&t()};return U?.on("update",r),()=>U?.off("update",r)},[]),ct(()=>{const r=[];Object.entries(n.current).forEach(([l,{values:c}])=>{const h=g=>{g.id===e.id&&s.peek()!==!0&&c[c.length-1]++},d=l;o.addEventListener(d,h),r.push(()=>o.removeEventListener(d,h))});const a=setInterval(()=>{if(s.peek()===!0)return;const l=[...i.value.labels];Object.values(n.current).forEach(c=>{c.values.push(0),c.values.length>fr&&c.values.shift()}),l.push((performance.now()/1e3).toFixed(2)),l.length>fr&&l.shift(),i.value={labels:l,datasets:gr(n.current)}},100);return()=>{r.forEach(l=>l()),clearInterval(a)}},[]),m.createElement("div",{className:"flex flex-col gap-2 border border-white border-opacity-10 rounded bg-neutral-400 bg-opacity-5 text-neutral-400 p-2"},m.createElement("div",{className:"grid items-start gap-2",style:"grid-template-columns: 1fr max-content;"},m.createElement("div",{className:"flex flex-col gap-2"},m.createElement("span",null,e.name),m.createElement(Qf,{data:i,className:"w-full max-w-full min-h-20 bg-black bg-opacity-30",onmouseenter:()=>s.value=!0,onmouseleave:()=>s.value=!1})),m.createElement("div",{className:"text-xs grid grid-cols-2 gap-x-4",style:"grid-template-columns: auto auto;"},m.createElement("span",{className:"text-right"},"Mount duration:"),o.mountDuration(e).toFixed(2)," ms",m.createElement("span",{className:"text-right"},"Total updates:"),m.createElement("span",null,o.totalTicks(e).toLocaleString()),m.createElement("span",{className:"text-right"},"Avg. update duration:"),o.averageTickDuration(e).toFixed(2)," ms",m.createElement("span",{className:"text-right"},"Latest update:"),m.createElement("span",null,o.lastTickDuration(e).toFixed(2)," ms"))))}const Ge=ht([]),Da=ht(""),eg=vr(()=>Da.value.toLowerCase().split(" ").filter(e=>e.length>0));function ng(e){return eg.value.every(t=>e.toLowerCase().includes(t))}function ig(){const e=te();ct(()=>{const n=i=>{an(i)||e()};return U?.on("update",n),()=>U?.off("update",n)},[]);const t=U?.globalState[Symbol.for("SWR_GLOBAL")]??new Map;return t.size===0?m.createElement("div",{className:"flex flex-col items-center justify-center h-full text-neutral-400"},m.createElement(Er,null),m.createElement("h2",{className:"text-lg italic"},"No SWR detected")):m.createElement("div",{className:"flex flex-col gap-2 items-start"},m.createElement(Pr,{value:Da,className:"sticky top-0"}),m.createElement("div",{className:"flex flex-col gap-2 w-full"},wr(t).filter(([n])=>ng(n)).map(([n,i])=>m.createElement(sg,{key:n,entry:i}))))}function sg({key:e,entry:t}){const n=Ge.value.includes(e),i=te();ct(()=>{const{resource:o,isValidating:r,isMutating:a}=t,l=[o.subscribe(i),r.subscribe(i),a.subscribe(i)];return()=>l.forEach(c=>c())},[]);const s=Te(()=>{n?Ge.value=Ge.value.filter(o=>o!==e):Ge.value=[...Ge.value,e]},[n]);return m.createElement("div",{className:"flex flex-col"},m.createElement("button",{onclick:s,className:"flex items-center gap-2 justify-between p-2 border border-white border-opacity-10 cursor-pointer"+(n?" bg-white bg-opacity-5 text-neutral-100 rounded-t":" hover:bg-white hover:bg-opacity-10 text-neutral-400 rounded")},e,m.createElement(Kt,{className:"transition-all"+(n?" rotate-90":"")})),n&&m.createElement("div",{className:"flex flex-col gap-2 p-2 border border-white border-opacity-10"},m.createElement(ye,{data:{resource:t.resource.peek(),isMutating:t.isMutating.peek(),isValidating:t.isValidating.peek()},mutable:!1,objectRefAcc:[],keys:[],onChange:()=>{}})))}const og=e=>m.createElement("main",{className:"flex flex-col flex-1 max-h-[calc(100vh-1rem)] overflow-y-auto",style:e.active?{}:{display:"none"}},e.children),Gi={Apps:{Icon:bl,View:Kl},Stores:{Icon:El,View:Jl},SWR:{Icon:_l,View:ig},Profiling:{Icon:vl,View:Jf},Settings:{Icon:xl,View:kl}},ti=ht("Apps");let pr=qt.peek();qt.subscribe(e=>{e!==pr&&e!==null&&(ti.value="Apps"),pr=e});function rg(){return m.createElement(Sl,null,m.createElement("nav",{className:"flex flex-col gap-2 justify-between p-2 bg-neutral-400 bg-opacity-5 border border-white border-opacity-10 rounded"},m.createElement("div",{className:"flex flex-col gap-2"},Object.keys(Gi).map(e=>m.createElement(ag,{key:e,title:e})))),Object.entries(Gi).map(([e,{View:t}])=>m.createElement(og,{key:e,active:ti.value===e},m.createElement(t,null))))}function ag({title:e}){const{Icon:t}=Gi[e];return m.createElement("button",{key:e,onclick:()=>{ti.value=e},className:"flex items-center px-2 py-1 gap-2 rounded border text-xs border-white border-opacity-10"+(ti.value===e?" bg-white bg-opacity-5 text-neutral-100":" hover:bg-white hover:bg-opacity-10 text-neutral-400"),title:e},m.createElement(t,{className:"text-primary"}),m.createElement("span",{className:"hidden sm:inline"},e))}cl(m.createElement(rg,null),document.getElementById("app"));Pe.send({type:"ready"});setInterval(()=>{window.opener||window.close()},250);</script>
|
|
1724
1724
|
<style rel="stylesheet" crossorigin>*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-0{top:0}.z-10{z-index:10}.z-\\[9999\\]{z-index:9999}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.ml-6{margin-left:1.5rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-5{height:1.25rem}.h-full{height:100%}.max-h-\\[calc\\(100vh-1rem\\)\\]{max-height:calc(100vh - 1rem)}.min-h-20{min-height:5rem}.min-h-screen{min-height:100vh}.w-5{width:1.25rem}.w-8{width:2rem}.w-\\[5px\\]{width:5px}.w-full{width:100%}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.flex-grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-m-12{scroll-margin:3rem}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-\\[\\#fff1\\]{border-color:#fff1}.border-neutral-700{--tw-border-opacity: 1;border-color:rgb(64 64 64 / var(--tw-border-opacity, 1))}.border-neutral-800{--tw-border-opacity: 1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-opacity-10{--tw-border-opacity: .1}.bg-\\[\\#171616\\]{--tw-bg-opacity: 1;background-color:rgb(23 22 22 / var(--tw-bg-opacity, 1))}.bg-\\[\\#1a1a1a\\]{--tw-bg-opacity: 1;background-color:rgb(26 26 26 / var(--tw-bg-opacity, 1))}.bg-\\[\\#1d1d1d\\]{--tw-bg-opacity: 1;background-color:rgb(29 29 29 / var(--tw-bg-opacity, 1))}.bg-\\[\\#212121\\]{--tw-bg-opacity: 1;background-color:rgb(33 33 33 / var(--tw-bg-opacity, 1))}.bg-\\[\\#ffffff04\\]{background-color:#ffffff04}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-neutral-400{--tw-bg-opacity: 1;background-color:rgb(163 163 163 / var(--tw-bg-opacity, 1))}.bg-neutral-800{--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.bg-neutral-900{--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity, 1))}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(220 20 60 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-opacity-30{--tw-bg-opacity: .3}.bg-opacity-5{--tw-bg-opacity: .05}.p-1{padding:.25rem}.p-2{padding:.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.text-right{text-align:right}.text-\\[10px\\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.italic{font-style:italic}.text-neutral-100{--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity, 1))}.text-neutral-300{--tw-text-opacity: 1;color:rgb(212 212 212 / var(--tw-text-opacity, 1))}.text-neutral-400{--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.text-primary{--tw-text-opacity: 1;color:rgb(220 20 60 / var(--tw-text-opacity, 1))}.accent-red-500{accent-color:#ef4444}.opacity-50{opacity:.5}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{color-scheme:dark}#app{min-width:-moz-fit-content;min-width:fit-content;background-image:linear-gradient(#171616,#0e0e0e);color:#fff;min-height:100vh;width:100%;display:flex;flex-direction:row;padding:.5rem;gap:.5rem}select{background:url("data:image/svg+xml,<svg height='10px' width='10px' viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'><path d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/></svg>") no-repeat;background-position:calc(100% - .75rem) center!important;-moz-appearance:none!important;-webkit-appearance:none!important;appearance:none!important;padding-right:2rem!important}select:not([disabled]){cursor:pointer}.last\\:border-b-0:last-child{border-bottom-width:0px}.hover\\:bg-neutral-700:hover{--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1))}.hover\\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.hover\\:bg-opacity-10:hover{--tw-bg-opacity: .1}.hover\\:opacity-100:hover{opacity:1}.focus\\:outline:focus{outline-style:solid}.focus\\:outline-primary:focus{outline-color:#dc143c}@media (min-width: 640px){.sm\\:inline{display:inline}}</style>
|
|
1725
1725
|
</head>
|
|
1726
1726
|
<body class="w-full min-h-screen">
|
|
@@ -1735,7 +1735,7 @@ var dist_default2 = `var __defProp = Object.defineProperty;
|
|
|
1735
1735
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
1736
1736
|
|
|
1737
1737
|
// src/index.ts
|
|
1738
|
-
import { mount } from "kiru";
|
|
1738
|
+
import { createElement as createElement7, mount } from "kiru";
|
|
1739
1739
|
|
|
1740
1740
|
// src/App.tsx
|
|
1741
1741
|
import * as kiru6 from "kiru";
|
|
@@ -1761,7 +1761,14 @@ var Flame = /* @__PURE__ */ __name(() => {
|
|
|
1761
1761
|
}, "Flame");
|
|
1762
1762
|
|
|
1763
1763
|
// src/hooks/useAnchorPos.ts
|
|
1764
|
-
import {
|
|
1764
|
+
import {
|
|
1765
|
+
useCallback as useCallback2,
|
|
1766
|
+
useComputed as useComputed2,
|
|
1767
|
+
useLayoutEffect as useLayoutEffect2,
|
|
1768
|
+
useRef,
|
|
1769
|
+
useSignal as useSignal5,
|
|
1770
|
+
useWatch as useWatch2
|
|
1771
|
+
} from "kiru";
|
|
1765
1772
|
|
|
1766
1773
|
// src/utils/constants.ts
|
|
1767
1774
|
var PADDING = 16;
|
|
@@ -1782,6 +1789,11 @@ var $KIRU_ERROR = Symbol.for("kiru.error");
|
|
|
1782
1789
|
var $HMR_ACCEPT = Symbol.for("kiru.hmrAccept");
|
|
1783
1790
|
var $MEMO = Symbol.for("kiru.memo");
|
|
1784
1791
|
var $HYDRATION_BOUNDARY = Symbol.for("kiru.hydrationBoundary");
|
|
1792
|
+
var FLAG_UPDATE = 1 << 1;
|
|
1793
|
+
var FLAG_PLACEMENT = 1 << 2;
|
|
1794
|
+
var FLAG_DELETION = 1 << 3;
|
|
1795
|
+
var FLAG_HAS_MEMO_ANCESTOR = 1 << 4;
|
|
1796
|
+
var FLAG_STATIC_DOM = 1 << 5;
|
|
1785
1797
|
|
|
1786
1798
|
// ../lib/dist/env.js
|
|
1787
1799
|
var NODE_ENV = "development";
|
|
@@ -1801,6 +1813,9 @@ var tracking = {
|
|
|
1801
1813
|
var _a;
|
|
1802
1814
|
_a = $KIRU_ERROR;
|
|
1803
1815
|
|
|
1816
|
+
// ../lib/dist/reconciler.js
|
|
1817
|
+
var $LIST_CHILD = Symbol("kiru:marked-list-child");
|
|
1818
|
+
|
|
1804
1819
|
// ../lib/dist/hooks/utils.js
|
|
1805
1820
|
var HookDebugGroupAction;
|
|
1806
1821
|
(function(HookDebugGroupAction2) {
|
|
@@ -1820,6 +1835,8 @@ function isFragment(vNode) {
|
|
|
1820
1835
|
}
|
|
1821
1836
|
__name(isFragment, "isFragment");
|
|
1822
1837
|
function vNodeContains(haystack, needle) {
|
|
1838
|
+
if (needle.depth < haystack.depth)
|
|
1839
|
+
return false;
|
|
1823
1840
|
if (haystack === needle)
|
|
1824
1841
|
return true;
|
|
1825
1842
|
let checkSiblings = false;
|
|
@@ -1889,7 +1906,7 @@ var getNearestElm = /* @__PURE__ */ __name((vNode, element) => {
|
|
|
1889
1906
|
}, "getNearestElm");
|
|
1890
1907
|
|
|
1891
1908
|
// ../devtools-shared/src/SelectedNodeView.tsx
|
|
1892
|
-
import { useEffect as useEffect2, useRequestUpdate } from "kiru";
|
|
1909
|
+
import { useEffect as useEffect2, useRequestUpdate, requestUpdate as requestUpdate2 } from "kiru";
|
|
1893
1910
|
|
|
1894
1911
|
// ../devtools-shared/src/NodeDataSection.tsx
|
|
1895
1912
|
import { useCallback, useEffect, useState } from "kiru";
|
|
@@ -1990,11 +2007,11 @@ var useEventListener = /* @__PURE__ */ __name((event, listener, options = {}) =>
|
|
|
1990
2007
|
}, "useEventListener");
|
|
1991
2008
|
|
|
1992
2009
|
// ../devtools-shared/src/hooks/useMouse.ts
|
|
1993
|
-
import { useSignal } from "kiru";
|
|
2010
|
+
import { useSignal as useSignal2 } from "kiru";
|
|
1994
2011
|
var useMouse = /* @__PURE__ */ __name(() => {
|
|
1995
|
-
const mouse =
|
|
1996
|
-
const delta =
|
|
1997
|
-
const client =
|
|
2012
|
+
const mouse = useSignal2({ x: 0, y: 0 });
|
|
2013
|
+
const delta = useSignal2({ x: 0, y: 0 });
|
|
2014
|
+
const client = useSignal2({ x: 0, y: 0 });
|
|
1998
2015
|
useEventListener("mousemove", (event) => {
|
|
1999
2016
|
mouse.value = {
|
|
2000
2017
|
x: event.x,
|
|
@@ -2013,7 +2030,7 @@ var useMouse = /* @__PURE__ */ __name(() => {
|
|
|
2013
2030
|
}, "useMouse");
|
|
2014
2031
|
|
|
2015
2032
|
// ../devtools-shared/src/hooks/useElementBounding.ts
|
|
2016
|
-
import { useLayoutEffect, useSignal as
|
|
2033
|
+
import { useLayoutEffect, useSignal as useSignal3 } from "kiru";
|
|
2017
2034
|
|
|
2018
2035
|
// ../devtools-shared/src/hooks/useResizeObserver.ts
|
|
2019
2036
|
import {
|
|
@@ -2170,14 +2187,14 @@ var useElementBounding = /* @__PURE__ */ __name((ref, options = {
|
|
|
2170
2187
|
const windowScroll = options?.windowScroll ?? true;
|
|
2171
2188
|
const windowResize = options?.windowResize ?? true;
|
|
2172
2189
|
const immediate = options.immediate ?? true;
|
|
2173
|
-
const width =
|
|
2174
|
-
const height =
|
|
2175
|
-
const top =
|
|
2176
|
-
const right =
|
|
2177
|
-
const bottom =
|
|
2178
|
-
const left =
|
|
2179
|
-
const x =
|
|
2180
|
-
const y =
|
|
2190
|
+
const width = useSignal3(0);
|
|
2191
|
+
const height = useSignal3(0);
|
|
2192
|
+
const top = useSignal3(0);
|
|
2193
|
+
const right = useSignal3(0);
|
|
2194
|
+
const bottom = useSignal3(0);
|
|
2195
|
+
const left = useSignal3(0);
|
|
2196
|
+
const x = useSignal3(0);
|
|
2197
|
+
const y = useSignal3(0);
|
|
2181
2198
|
const update = /* @__PURE__ */ __name(() => {
|
|
2182
2199
|
const el = ref.current;
|
|
2183
2200
|
if (!el) {
|
|
@@ -2242,7 +2259,7 @@ var useElementBounding = /* @__PURE__ */ __name((ref, options = {
|
|
|
2242
2259
|
}, "useElementBounding");
|
|
2243
2260
|
|
|
2244
2261
|
// ../devtools-shared/src/hooks/useElementByPoint.ts
|
|
2245
|
-
import { useSignal as
|
|
2262
|
+
import { useSignal as useSignal4 } from "kiru";
|
|
2246
2263
|
|
|
2247
2264
|
// ../devtools-shared/src/hooks/useRafFn.ts
|
|
2248
2265
|
import { cleanupHook as cleanupHook3, sideEffectsEnabled as sideEffectsEnabled4, useHook as useHook4 } from "kiru";
|
|
@@ -2318,7 +2335,7 @@ var useRafFn = /* @__PURE__ */ __name((callback, options) => {
|
|
|
2318
2335
|
// ../devtools-shared/src/hooks/useElementByPoint.ts
|
|
2319
2336
|
var useElementByPoint = /* @__PURE__ */ __name((options) => {
|
|
2320
2337
|
const { x, y, multiple, immediate = true } = options;
|
|
2321
|
-
const element =
|
|
2338
|
+
const element = useSignal4(null);
|
|
2322
2339
|
const cb = /* @__PURE__ */ __name(() => {
|
|
2323
2340
|
element.value = multiple ? document.elementsFromPoint(x, y) ?? [] : document.elementFromPoint(x, y) ?? null;
|
|
2324
2341
|
}, "cb");
|
|
@@ -2329,64 +2346,20 @@ var useElementByPoint = /* @__PURE__ */ __name((options) => {
|
|
|
2329
2346
|
};
|
|
2330
2347
|
}, "useElementByPoint");
|
|
2331
2348
|
|
|
2332
|
-
// ../devtools-shared/src/hooks/useEffectDeep.ts
|
|
2333
|
-
import { useHook as useHook5, cleanupHook as cleanupHook4, sideEffectsEnabled as sideEffectsEnabled5 } from "kiru";
|
|
2334
|
-
var deepEqual = /* @__PURE__ */ __name((a, b) => {
|
|
2335
|
-
if (a === b) {
|
|
2336
|
-
return true;
|
|
2337
|
-
}
|
|
2338
|
-
if (typeof a != "object" || typeof b != "object" || a == null || b == null) {
|
|
2339
|
-
return false;
|
|
2340
|
-
}
|
|
2341
|
-
const aKeys = Object.keys(a);
|
|
2342
|
-
const bKeys = Object.keys(b);
|
|
2343
|
-
if (aKeys.length != bKeys.length) {
|
|
2344
|
-
return false;
|
|
2345
|
-
}
|
|
2346
|
-
for (let key of aKeys) {
|
|
2347
|
-
if (!bKeys.includes(key) || !deepEqual(a[key], b[key])) {
|
|
2348
|
-
return false;
|
|
2349
|
-
}
|
|
2350
|
-
}
|
|
2351
|
-
return true;
|
|
2352
|
-
}, "deepEqual");
|
|
2353
|
-
var depsRequireChange3 = /* @__PURE__ */ __name((a, b) => {
|
|
2354
|
-
return !deepEqual(a, b);
|
|
2355
|
-
}, "depsRequireChange");
|
|
2356
|
-
var useEffectDeep = /* @__PURE__ */ __name((callback, deps) => {
|
|
2357
|
-
if (!sideEffectsEnabled5()) return;
|
|
2358
|
-
useHook5(
|
|
2359
|
-
"useEffectDeep",
|
|
2360
|
-
{ callback, deps },
|
|
2361
|
-
({ hook, isInit, queueEffect }) => {
|
|
2362
|
-
if (isInit || depsRequireChange3(deps, hook.deps)) {
|
|
2363
|
-
hook.deps = structuredClone(deps);
|
|
2364
|
-
cleanupHook4(hook);
|
|
2365
|
-
queueEffect(() => {
|
|
2366
|
-
const cleanup = callback();
|
|
2367
|
-
if (cleanup && typeof cleanup === "function") {
|
|
2368
|
-
hook.cleanup = cleanup;
|
|
2369
|
-
}
|
|
2370
|
-
});
|
|
2371
|
-
}
|
|
2372
|
-
}
|
|
2373
|
-
);
|
|
2374
|
-
}, "useEffectDeep");
|
|
2375
|
-
|
|
2376
2349
|
// src/hooks/useAnchorPos.ts
|
|
2377
2350
|
var useAnchorPos = /* @__PURE__ */ __name(() => {
|
|
2378
2351
|
const { mouse } = useMouse();
|
|
2379
|
-
const startMouse =
|
|
2352
|
+
const startMouse = useSignal5(null);
|
|
2380
2353
|
const anchorRef = useRef(null);
|
|
2381
2354
|
const viewPortRef = useRef(null);
|
|
2382
2355
|
const elementBound = useElementBounding(anchorRef);
|
|
2383
|
-
const lastDroppedCoord =
|
|
2384
|
-
const anchorCoords =
|
|
2385
|
-
const viewportSize =
|
|
2356
|
+
const lastDroppedCoord = useSignal5({ x: -PADDING, y: -PADDING });
|
|
2357
|
+
const anchorCoords = useSignal5({ x: -PADDING, y: -PADDING });
|
|
2358
|
+
const viewportSize = useSignal5({
|
|
2386
2359
|
width: window.innerWidth,
|
|
2387
2360
|
height: window.innerHeight
|
|
2388
2361
|
});
|
|
2389
|
-
const snapSide =
|
|
2362
|
+
const snapSide = useSignal5("bottom");
|
|
2390
2363
|
const timeoutRef = useRef(null);
|
|
2391
2364
|
useLayoutEffect2(() => {
|
|
2392
2365
|
const resultString = localStorage.getItem(LOCAL_KEY);
|
|
@@ -2404,14 +2377,15 @@ var useAnchorPos = /* @__PURE__ */ __name(() => {
|
|
|
2404
2377
|
Math.round(elementBound.width.value),
|
|
2405
2378
|
Math.round(elementBound.height.value)
|
|
2406
2379
|
]);
|
|
2407
|
-
const distanceCovered =
|
|
2408
|
-
if (startMouse.value === null) return null;
|
|
2380
|
+
const distanceCovered = useComputed2(() => {
|
|
2409
2381
|
const { x, y } = mouse.value;
|
|
2382
|
+
if (startMouse.value === null) return null;
|
|
2383
|
+
const { x: startX, y: startY } = startMouse.value;
|
|
2410
2384
|
return {
|
|
2411
|
-
x: x -
|
|
2412
|
-
y: y -
|
|
2385
|
+
x: x - startX,
|
|
2386
|
+
y: y - startY
|
|
2413
2387
|
};
|
|
2414
|
-
}
|
|
2388
|
+
});
|
|
2415
2389
|
useEventListener(
|
|
2416
2390
|
"dragstart",
|
|
2417
2391
|
(e) => {
|
|
@@ -2428,7 +2402,7 @@ var useAnchorPos = /* @__PURE__ */ __name(() => {
|
|
|
2428
2402
|
clearTimeout(timeoutRef.current);
|
|
2429
2403
|
timeoutRef.current = null;
|
|
2430
2404
|
}
|
|
2431
|
-
if (startMouse.
|
|
2405
|
+
if (startMouse.peek()) {
|
|
2432
2406
|
startMouse.value = null;
|
|
2433
2407
|
localStorage.setItem(
|
|
2434
2408
|
LOCAL_KEY,
|
|
@@ -2482,9 +2456,9 @@ var useAnchorPos = /* @__PURE__ */ __name(() => {
|
|
|
2482
2456
|
};
|
|
2483
2457
|
}
|
|
2484
2458
|
}, []);
|
|
2485
|
-
|
|
2486
|
-
if (
|
|
2487
|
-
const { x, y } =
|
|
2459
|
+
useWatch2([distanceCovered, mouse], (dist, mouse2) => {
|
|
2460
|
+
if (dist === null || !viewPortRef.current) return;
|
|
2461
|
+
const { x, y } = mouse2;
|
|
2488
2462
|
const viewportWidth = viewPortRef.current.offsetWidth;
|
|
2489
2463
|
const isInBottomSeg = y >= window.innerHeight - 100;
|
|
2490
2464
|
const isInTopSeg = y <= 100;
|
|
@@ -2496,10 +2470,7 @@ var useAnchorPos = /* @__PURE__ */ __name(() => {
|
|
|
2496
2470
|
snapSide.value = isInTopSeg ? "top" : "bottom";
|
|
2497
2471
|
}
|
|
2498
2472
|
if (snapSide.value === "right") {
|
|
2499
|
-
const min2 = Math.min(
|
|
2500
|
-
-PADDING,
|
|
2501
|
-
lastDroppedCoord.value.y + distanceCovered.y
|
|
2502
|
-
);
|
|
2473
|
+
const min2 = Math.min(-PADDING, lastDroppedCoord.value.y + dist.y);
|
|
2503
2474
|
anchorCoords.value = {
|
|
2504
2475
|
x: -PADDING,
|
|
2505
2476
|
y: Math.max(
|
|
@@ -2509,7 +2480,7 @@ var useAnchorPos = /* @__PURE__ */ __name(() => {
|
|
|
2509
2480
|
};
|
|
2510
2481
|
return;
|
|
2511
2482
|
} else if (snapSide.value === "left") {
|
|
2512
|
-
const min2 = Math.min(0, lastDroppedCoord.value.y +
|
|
2483
|
+
const min2 = Math.min(0, lastDroppedCoord.value.y + dist.y);
|
|
2513
2484
|
anchorCoords.value = {
|
|
2514
2485
|
x: (viewportWidth - elementBound.width.value) * -1 + PADDING,
|
|
2515
2486
|
y: Math.max(
|
|
@@ -2519,10 +2490,7 @@ var useAnchorPos = /* @__PURE__ */ __name(() => {
|
|
|
2519
2490
|
};
|
|
2520
2491
|
return;
|
|
2521
2492
|
} else if (snapSide.value === "top") {
|
|
2522
|
-
const min2 = Math.min(
|
|
2523
|
-
-PADDING,
|
|
2524
|
-
lastDroppedCoord.value.x + distanceCovered.x
|
|
2525
|
-
);
|
|
2493
|
+
const min2 = Math.min(-PADDING, lastDroppedCoord.value.x + dist.x);
|
|
2526
2494
|
anchorCoords.value = {
|
|
2527
2495
|
x: Math.max(
|
|
2528
2496
|
min2,
|
|
@@ -2532,7 +2500,7 @@ var useAnchorPos = /* @__PURE__ */ __name(() => {
|
|
|
2532
2500
|
};
|
|
2533
2501
|
return;
|
|
2534
2502
|
}
|
|
2535
|
-
const min = Math.min(-PADDING, lastDroppedCoord.value.x +
|
|
2503
|
+
const min = Math.min(-PADDING, lastDroppedCoord.value.x + dist.x);
|
|
2536
2504
|
anchorCoords.value = {
|
|
2537
2505
|
y: -PADDING,
|
|
2538
2506
|
x: Math.max(
|
|
@@ -2540,7 +2508,7 @@ var useAnchorPos = /* @__PURE__ */ __name(() => {
|
|
|
2540
2508
|
(viewportWidth - elementBound.width.value) * -1 + PADDING
|
|
2541
2509
|
)
|
|
2542
2510
|
};
|
|
2543
|
-
}
|
|
2511
|
+
});
|
|
2544
2512
|
const onResize = useCallback2(() => {
|
|
2545
2513
|
if (viewPortRef.current === null) return;
|
|
2546
2514
|
anchorCoords.value = reinitializeAnchorPos(
|
|
@@ -2581,21 +2549,14 @@ var useAnchorPos = /* @__PURE__ */ __name(() => {
|
|
|
2581
2549
|
}, "useAnchorPos");
|
|
2582
2550
|
|
|
2583
2551
|
// src/App.tsx
|
|
2584
|
-
import {
|
|
2585
|
-
useSignal as useSignal5,
|
|
2586
|
-
Transition,
|
|
2587
|
-
useEffect as useEffect5,
|
|
2588
|
-
useLayoutEffect as useLayoutEffect3,
|
|
2589
|
-
useRef as useRef3,
|
|
2590
|
-
useAppContext
|
|
2591
|
-
} from "kiru";
|
|
2552
|
+
import { useSignal as useSignal6, Transition, useEffect as useEffect5, useLayoutEffect as useLayoutEffect3, useRef as useRef3 } from "kiru";
|
|
2592
2553
|
|
|
2593
2554
|
// src/hooks/useDevtools.ts
|
|
2594
2555
|
import { useCallback as useCallback3 } from "kiru";
|
|
2595
2556
|
|
|
2596
2557
|
// src/store.ts
|
|
2597
|
-
import { signal } from "kiru";
|
|
2598
|
-
var toggleElementToVnode =
|
|
2558
|
+
import { signal as signal2 } from "kiru";
|
|
2559
|
+
var toggleElementToVnode = signal2(false);
|
|
2599
2560
|
if ("window" in globalThis) {
|
|
2600
2561
|
broadcastChannel.addEventListener((e) => {
|
|
2601
2562
|
if (e.data.type === "set-inspect-enabled") {
|
|
@@ -2603,7 +2564,7 @@ if ("window" in globalThis) {
|
|
|
2603
2564
|
}
|
|
2604
2565
|
});
|
|
2605
2566
|
}
|
|
2606
|
-
var popup =
|
|
2567
|
+
var popup = signal2(null);
|
|
2607
2568
|
|
|
2608
2569
|
// src/hooks/useDevtools.ts
|
|
2609
2570
|
var SIZE_STORAGE_KEY = "kiru-devtools-popup-size";
|
|
@@ -2791,7 +2752,7 @@ var handleToggleInspect = /* @__PURE__ */ __name(() => {
|
|
|
2791
2752
|
}, "handleToggleInspect");
|
|
2792
2753
|
function useLerpedVec2(value, options) {
|
|
2793
2754
|
const { damping } = options;
|
|
2794
|
-
const current =
|
|
2755
|
+
const current = useSignal6(value);
|
|
2795
2756
|
const target = useRef3(value);
|
|
2796
2757
|
useEffect5(() => {
|
|
2797
2758
|
let frameId = null;
|
|
@@ -2828,22 +2789,15 @@ function useLerpedVec2(value, options) {
|
|
|
2828
2789
|
}
|
|
2829
2790
|
__name(useLerpedVec2, "useLerpedVec2");
|
|
2830
2791
|
function App() {
|
|
2831
|
-
const
|
|
2832
|
-
const toggled = useSignal5(false);
|
|
2792
|
+
const toggled = useSignal6(false);
|
|
2833
2793
|
const handleOpen = useDevTools();
|
|
2834
|
-
const {
|
|
2835
|
-
anchorCoords,
|
|
2836
|
-
anchorRef,
|
|
2837
|
-
viewPortRef,
|
|
2838
|
-
startMouse,
|
|
2839
|
-
snapSide,
|
|
2840
|
-
updateAnchorPos
|
|
2841
|
-
} = useAnchorPos();
|
|
2794
|
+
const { anchorCoords, anchorRef, viewPortRef, startMouse, snapSide } = useAnchorPos();
|
|
2842
2795
|
const isHorizontalSnap = snapSide.value === "left" || snapSide.value === "right";
|
|
2843
2796
|
const isMounted = useRef3(false);
|
|
2844
2797
|
const smoothedCoords = useLerpedVec2(anchorCoords.value, {
|
|
2845
2798
|
damping: 0.4
|
|
2846
2799
|
});
|
|
2800
|
+
kiru6.useWatch([anchorCoords], smoothedCoords.set);
|
|
2847
2801
|
useLayoutEffect3(() => {
|
|
2848
2802
|
if (isMounted.current === false) {
|
|
2849
2803
|
smoothedCoords.set(anchorCoords.value, {
|
|
@@ -2852,9 +2806,6 @@ function App() {
|
|
|
2852
2806
|
}
|
|
2853
2807
|
isMounted.current = true;
|
|
2854
2808
|
}, []);
|
|
2855
|
-
useEffectDeep(() => {
|
|
2856
|
-
smoothedCoords.set(anchorCoords.value);
|
|
2857
|
-
}, [anchorCoords.value]);
|
|
2858
2809
|
return /* @__PURE__ */ kiru6.createElement(kiru6.Fragment, null, /* @__PURE__ */ kiru6.createElement(
|
|
2859
2810
|
"div",
|
|
2860
2811
|
{
|
|
@@ -2911,15 +2862,7 @@ function App() {
|
|
|
2911
2862
|
"button",
|
|
2912
2863
|
{
|
|
2913
2864
|
className: "bg-crimson rounded-full p-1" + (startMouse.value ? " pointer-events-none" : ""),
|
|
2914
|
-
onclick:
|
|
2915
|
-
toggled.value = !toggled.value;
|
|
2916
|
-
appCtx.flushSync();
|
|
2917
|
-
requestAnimationFrame(() => {
|
|
2918
|
-
requestAnimationFrame(() => {
|
|
2919
|
-
updateAnchorPos();
|
|
2920
|
-
});
|
|
2921
|
-
});
|
|
2922
|
-
},
|
|
2865
|
+
onclick: () => toggled.value = !toggled.value,
|
|
2923
2866
|
tabIndex: -1
|
|
2924
2867
|
},
|
|
2925
2868
|
/* @__PURE__ */ kiru6.createElement(Flame, null)
|
|
@@ -2928,7 +2871,7 @@ function App() {
|
|
|
2928
2871
|
}
|
|
2929
2872
|
__name(App, "App");
|
|
2930
2873
|
|
|
2931
|
-
//
|
|
2874
|
+
// _ekfsstq70:C:\\repos\\kiru\\packages\\devtools-host\\src\\style.css
|
|
2932
2875
|
var style_default = "*, ::before, ::after {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n --tw-contain-size: ;\\n --tw-contain-layout: ;\\n --tw-contain-paint: ;\\n --tw-contain-style: ;\\n}\\n\\n::backdrop {\\n --tw-border-spacing-x: 0;\\n --tw-border-spacing-y: 0;\\n --tw-translate-x: 0;\\n --tw-translate-y: 0;\\n --tw-rotate: 0;\\n --tw-skew-x: 0;\\n --tw-skew-y: 0;\\n --tw-scale-x: 1;\\n --tw-scale-y: 1;\\n --tw-pan-x: ;\\n --tw-pan-y: ;\\n --tw-pinch-zoom: ;\\n --tw-scroll-snap-strictness: proximity;\\n --tw-gradient-from-position: ;\\n --tw-gradient-via-position: ;\\n --tw-gradient-to-position: ;\\n --tw-ordinal: ;\\n --tw-slashed-zero: ;\\n --tw-numeric-figure: ;\\n --tw-numeric-spacing: ;\\n --tw-numeric-fraction: ;\\n --tw-ring-inset: ;\\n --tw-ring-offset-width: 0px;\\n --tw-ring-offset-color: #fff;\\n --tw-ring-color: rgb(59 130 246 / 0.5);\\n --tw-ring-offset-shadow: 0 0 #0000;\\n --tw-ring-shadow: 0 0 #0000;\\n --tw-shadow: 0 0 #0000;\\n --tw-shadow-colored: 0 0 #0000;\\n --tw-blur: ;\\n --tw-brightness: ;\\n --tw-contrast: ;\\n --tw-grayscale: ;\\n --tw-hue-rotate: ;\\n --tw-invert: ;\\n --tw-saturate: ;\\n --tw-sepia: ;\\n --tw-drop-shadow: ;\\n --tw-backdrop-blur: ;\\n --tw-backdrop-brightness: ;\\n --tw-backdrop-contrast: ;\\n --tw-backdrop-grayscale: ;\\n --tw-backdrop-hue-rotate: ;\\n --tw-backdrop-invert: ;\\n --tw-backdrop-opacity: ;\\n --tw-backdrop-saturate: ;\\n --tw-backdrop-sepia: ;\\n --tw-contain-size: ;\\n --tw-contain-layout: ;\\n --tw-contain-paint: ;\\n --tw-contain-style: ;\\n}/*\\n! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com\\n*//*\\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\\n*/\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: #e5e7eb; /* 2 */\\n}\\n\\n::before,\\n::after {\\n --tw-content: '';\\n}\\n\\n/*\\n1. Use a consistent sensible line-height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n3. Use a more readable tab size.\\n4. Use the user's configured \`sans\` font-family by default.\\n5. Use the user's configured \`sans\` font-feature-settings by default.\\n6. Use the user's configured \`sans\` font-variation-settings by default.\\n7. Disable tap highlights on iOS\\n*/\\n\\nhtml,\\n:host {\\n line-height: 1.5; /* 1 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n -moz-tab-size: 4; /* 3 */\\n -o-tab-size: 4;\\n tab-size: 4; /* 3 */\\n font-family: ui-sans-serif, system-ui, sans-serif, \\"Apple Color Emoji\\", \\"Segoe UI Emoji\\", \\"Segoe UI Symbol\\", \\"Noto Color Emoji\\"; /* 4 */\\n font-feature-settings: normal; /* 5 */\\n font-variation-settings: normal; /* 6 */\\n -webkit-tap-highlight-color: transparent; /* 7 */\\n}\\n\\n/*\\n1. Remove the margin in all browsers.\\n2. Inherit line-height from \`html\` so users can set them as a class directly on the \`html\` element.\\n*/\\n\\nbody {\\n margin: 0; /* 1 */\\n line-height: inherit; /* 2 */\\n}\\n\\n/*\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n3. Ensure horizontal rules are visible by default.\\n*/\\n\\nhr {\\n height: 0; /* 1 */\\n color: inherit; /* 2 */\\n border-top-width: 1px; /* 3 */\\n}\\n\\n/*\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr:where([title]) {\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n}\\n\\n/*\\nRemove the default font size and weight for headings.\\n*/\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/*\\nReset links to optimize for opt-in styling instead of opt-out.\\n*/\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/*\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n font-weight: bolder;\\n}\\n\\n/*\\n1. Use the user's configured \`mono\` font-family by default.\\n2. Use the user's configured \`mono\` font-feature-settings by default.\\n3. Use the user's configured \`mono\` font-variation-settings by default.\\n4. Correct the odd \`em\` font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\"Liberation Mono\\", \\"Courier New\\", monospace; /* 1 */\\n font-feature-settings: normal; /* 2 */\\n font-variation-settings: normal; /* 3 */\\n font-size: 1em; /* 4 */\\n}\\n\\n/*\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/*\\nPrevent \`sub\` and \`sup\` elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\n/*\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n3. Remove gaps between table borders by default.\\n*/\\n\\ntable {\\n text-indent: 0; /* 1 */\\n border-color: inherit; /* 2 */\\n border-collapse: collapse; /* 3 */\\n}\\n\\n/*\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n3. Remove default padding in all browsers.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n font-family: inherit; /* 1 */\\n font-feature-settings: inherit; /* 1 */\\n font-variation-settings: inherit; /* 1 */\\n font-size: 100%; /* 1 */\\n font-weight: inherit; /* 1 */\\n line-height: inherit; /* 1 */\\n letter-spacing: inherit; /* 1 */\\n color: inherit; /* 1 */\\n margin: 0; /* 2 */\\n padding: 0; /* 3 */\\n}\\n\\n/*\\nRemove the inheritance of text transform in Edge and Firefox.\\n*/\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Remove default button styles.\\n*/\\n\\nbutton,\\ninput:where([type='button']),\\ninput:where([type='reset']),\\ninput:where([type='submit']) {\\n -webkit-appearance: button; /* 1 */\\n background-color: transparent; /* 2 */\\n background-image: none; /* 2 */\\n}\\n\\n/*\\nUse the modern Firefox focus style for all focusable elements.\\n*/\\n\\n:-moz-focusring {\\n outline: auto;\\n}\\n\\n/*\\nRemove the additional \`:invalid\` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\\n*/\\n\\n:-moz-ui-invalid {\\n box-shadow: none;\\n}\\n\\n/*\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n vertical-align: baseline;\\n}\\n\\n/*\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/*\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n -webkit-appearance: textfield; /* 1 */\\n outline-offset: -2px; /* 2 */\\n}\\n\\n/*\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/*\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to \`inherit\` in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n -webkit-appearance: button; /* 1 */\\n font: inherit; /* 2 */\\n}\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n display: list-item;\\n}\\n\\n/*\\nRemoves the default spacing and border for appropriate elements.\\n*/\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nlegend {\\n padding: 0;\\n}\\n\\nol,\\nul,\\nmenu {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/*\\nReset default styling for dialogs.\\n*/\\ndialog {\\n padding: 0;\\n}\\n\\n/*\\nPrevent resizing textareas horizontally by default.\\n*/\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\n/*\\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\\n2. Set the default placeholder color to the user's configured gray 400 color.\\n*/\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1; /* 1 */\\n color: #9ca3af; /* 2 */\\n}\\n\\n/*\\nSet the default cursor for buttons.\\n*/\\n\\nbutton,\\n[role=\\"button\\"] {\\n cursor: pointer;\\n}\\n\\n/*\\nMake sure disabled buttons don't get the pointer cursor.\\n*/\\n:disabled {\\n cursor: default;\\n}\\n\\n/*\\n1. Make replaced elements \`display: block\` by default. (https://github.com/mozdevs/cssremedy/issues/14)\\n2. Add \`vertical-align: middle\` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\\n This can trigger a poorly considered lint error in some tools but is included by design.\\n*/\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block; /* 1 */\\n vertical-align: middle; /* 2 */\\n}\\n\\n/*\\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\\n*/\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n/* Make elements with the HTML hidden attribute stay hidden by default */\\n[hidden]:where(:not([hidden=\\"until-found\\"])) {\\n display: none;\\n}\\n.pointer-events-none {\\n pointer-events: none;\\n}\\n.fixed {\\n position: fixed;\\n}\\n.sticky {\\n position: sticky;\\n}\\n.bottom-0 {\\n bottom: 0px;\\n}\\n.left-0 {\\n left: 0px;\\n}\\n.right-0 {\\n right: 0px;\\n}\\n.top-0 {\\n top: 0px;\\n}\\n.z-10 {\\n z-index: 10;\\n}\\n.z-\\\\[-9999\\\\] {\\n z-index: -9999;\\n}\\n.z-\\\\[9999999\\\\] {\\n z-index: 9999999;\\n}\\n.mb-2 {\\n margin-bottom: 0.5rem;\\n}\\n.inline {\\n display: inline;\\n}\\n.flex {\\n display: flex;\\n}\\n.grid {\\n display: grid;\\n}\\n.contents {\\n display: contents;\\n}\\n.h-0 {\\n height: 0px;\\n}\\n.h-5 {\\n height: 1.25rem;\\n}\\n.w-5 {\\n width: 1.25rem;\\n}\\n.w-full {\\n width: 100%;\\n}\\n.flex-grow {\\n flex-grow: 1;\\n}\\n.rotate-90 {\\n --tw-rotate: 90deg;\\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\\n}\\n.transform {\\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\\n}\\n.cursor-default {\\n cursor: default;\\n}\\n.cursor-pointer {\\n cursor: pointer;\\n}\\n.resize {\\n resize: both;\\n}\\n.flex-col {\\n flex-direction: column;\\n}\\n.place-content-center {\\n place-content: center;\\n}\\n.items-start {\\n align-items: flex-start;\\n}\\n.items-center {\\n align-items: center;\\n}\\n.justify-between {\\n justify-content: space-between;\\n}\\n.gap-1 {\\n gap: 0.25rem;\\n}\\n.gap-2 {\\n gap: 0.5rem;\\n}\\n.overflow-hidden {\\n overflow: hidden;\\n}\\n.overflow-scroll {\\n overflow: scroll;\\n}\\n.truncate {\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n}\\n.rounded {\\n border-radius: 0.25rem;\\n}\\n.rounded-3xl {\\n border-radius: 1.5rem;\\n}\\n.rounded-full {\\n border-radius: 9999px;\\n}\\n.border {\\n border-width: 1px;\\n}\\n.border-b {\\n border-bottom-width: 1px;\\n}\\n.border-b-2 {\\n border-bottom-width: 2px;\\n}\\n.border-\\\\[\\\\#fff1\\\\] {\\n border-color: #fff1;\\n}\\n.border-neutral-700 {\\n --tw-border-opacity: 1;\\n border-color: rgb(64 64 64 / var(--tw-border-opacity, 1));\\n}\\n.border-neutral-800 {\\n --tw-border-opacity: 1;\\n border-color: rgb(38 38 38 / var(--tw-border-opacity, 1));\\n}\\n.border-white {\\n --tw-border-opacity: 1;\\n border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));\\n}\\n.border-opacity-10 {\\n --tw-border-opacity: 0.1;\\n}\\n.bg-\\\\[\\\\#0003\\\\] {\\n background-color: #0003;\\n}\\n.bg-\\\\[\\\\#1d1d1d\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(29 29 29 / var(--tw-bg-opacity, 1));\\n}\\n.bg-\\\\[\\\\#212121\\\\] {\\n --tw-bg-opacity: 1;\\n background-color: rgb(33 33 33 / var(--tw-bg-opacity, 1));\\n}\\n.bg-\\\\[\\\\#ffffff04\\\\] {\\n background-color: #ffffff04;\\n}\\n.bg-\\\\[crimson\\\\]\\\\/80 {\\n background-color: rgb(220 20 60 / 0.8);\\n}\\n.bg-crimson {\\n --tw-bg-opacity: 1;\\n background-color: rgb(220 20 60 / var(--tw-bg-opacity, 1));\\n}\\n.bg-neutral-400 {\\n --tw-bg-opacity: 1;\\n background-color: rgb(163 163 163 / var(--tw-bg-opacity, 1));\\n}\\n.bg-opacity-5 {\\n --tw-bg-opacity: 0.05;\\n}\\n.p-1 {\\n padding: 0.25rem;\\n}\\n.p-2 {\\n padding: 0.5rem;\\n}\\n.px-2 {\\n padding-left: 0.5rem;\\n padding-right: 0.5rem;\\n}\\n.py-1 {\\n padding-top: 0.25rem;\\n padding-bottom: 0.25rem;\\n}\\n.pb-2 {\\n padding-bottom: 0.5rem;\\n}\\n.pl-2 {\\n padding-left: 0.5rem;\\n}\\n.pl-6 {\\n padding-left: 1.5rem;\\n}\\n.pr-1 {\\n padding-right: 0.25rem;\\n}\\n.text-\\\\[10px\\\\] {\\n font-size: 10px;\\n}\\n.text-sm {\\n font-size: 0.875rem;\\n line-height: 1.25rem;\\n}\\n.text-xs {\\n font-size: 0.75rem;\\n line-height: 1rem;\\n}\\n.font-bold {\\n font-weight: 700;\\n}\\n.font-medium {\\n font-weight: 500;\\n}\\n.text-neutral-300 {\\n --tw-text-opacity: 1;\\n color: rgb(212 212 212 / var(--tw-text-opacity, 1));\\n}\\n.text-white {\\n --tw-text-opacity: 1;\\n color: rgb(255 255 255 / var(--tw-text-opacity, 1));\\n}\\n.accent-red-500 {\\n accent-color: #ef4444;\\n}\\n.opacity-50 {\\n opacity: 0.5;\\n}\\n.shadow {\\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\\n}\\n.filter {\\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\\n}\\n.transition {\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.transition-opacity {\\n transition-property: opacity;\\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\\n transition-duration: 150ms;\\n}\\n.will-change-transform {\\n will-change: transform;\\n}\\n.last\\\\:border-b-0:last-child {\\n border-bottom-width: 0px;\\n}\\n.hover\\\\:bg-\\\\[\\\\#0003\\\\]:hover {\\n background-color: #0003;\\n}\\n.hover\\\\:bg-neutral-700:hover {\\n --tw-bg-opacity: 1;\\n background-color: rgb(64 64 64 / var(--tw-bg-opacity, 1));\\n}\\n.hover\\\\:opacity-100:hover {\\n opacity: 1;\\n}\\n.focus\\\\:outline:focus {\\n outline-style: solid;\\n}\\n";
|
|
2933
2876
|
|
|
2934
2877
|
// src/index.ts
|
|
@@ -2945,8 +2888,7 @@ if ("window" in globalThis) {
|
|
|
2945
2888
|
className: "fixed flex bottom-0 right-0 z-[9999999]"
|
|
2946
2889
|
});
|
|
2947
2890
|
shadow.appendChild(appRoot);
|
|
2948
|
-
mount(App, {
|
|
2949
|
-
root: appRoot,
|
|
2891
|
+
mount(createElement7(App, {}), appRoot, {
|
|
2950
2892
|
name: "kiru.devtools"
|
|
2951
2893
|
});
|
|
2952
2894
|
const handleMainWindowClose = /* @__PURE__ */ __name(() => popup.value?.close(), "handleMainWindowClose");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vite-plugin-kiru",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.26.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"author": "",
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"peerDependencies": {
|
|
12
|
-
"kiru": ">=0.
|
|
12
|
+
"kiru": ">=0.47.0"
|
|
13
13
|
},
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"@types/node": "^22.17.0",
|