@visulima/dev-toolbar 1.0.0-alpha.31 → 1.0.0-alpha.32
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/CHANGELOG.md +15 -0
- package/dist/apps/inspector/index.js +6 -6
- package/dist/apps/settings/index.js +2 -2
- package/dist/index.d.ts +45 -45
- package/dist/index.js +1 -1
- package/dist/packem_chunks/inject-source.js +1 -1
- package/dist/packem_shared/createServerRPCContext-DoUxFMox.js +1 -0
- package/dist/packem_shared/{global-api.d-DG2WYakl.d.ts → global-api.d-BgSWkF5h.d.ts} +157 -158
- package/dist/packem_shared/use-theme-Dm1M0rKT.js +1 -0
- package/dist/toolbar/index.d.ts +1 -1
- package/dist/toolbar/index.js +1 -1
- package/dist/vite-plugin.d.ts +1 -1
- package/dist/vite-plugin.js +1 -1
- package/package.json +1 -1
- package/dist/packem_shared/createServerRPCContext-D-yZrEjs.js +0 -1
- package/dist/packem_shared/use-frame-state-CxrlPUM5.js +0 -1
- package/dist/packem_shared/use-theme-zpm4zmqP.js +0 -1
package/dist/vite-plugin.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Plugin } from 'vite';
|
|
2
2
|
import { D as DevToolbarApp, S as ServerFunctions } from "./packem_shared/app.d-SmKEDxsI.js";
|
|
3
|
-
import "./packem_shared/global-api.d-
|
|
3
|
+
import "./packem_shared/global-api.d-BgSWkF5h.js";
|
|
4
4
|
import '@babel/generator';
|
|
5
5
|
import 'preact';
|
|
6
6
|
interface InjectSourceIgnore {
|
package/dist/vite-plugin.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var O=Object.defineProperty;var g=(e,r)=>O(e,"name",{value:r,configurable:!0});import{createRequire as x}from"node:module";import{normalizePath as I}from"vite";import{createServerRPCContext as k}from"./packem_shared/createServerRPCContext-
|
|
1
|
+
var O=Object.defineProperty;var g=(e,r)=>O(e,"name",{value:r,configurable:!0});import{createRequire as x}from"node:module";import{normalizePath as I}from"vite";import{createServerRPCContext as k}from"./packem_shared/createServerRPCContext-DoUxFMox.js";const F=x(import.meta.url),d=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,b=g(e=>{if(typeof d<"u"&&d.versions&&d.versions.node){const[r,f]=d.versions.node.split(".").map(Number);if(r>22||r===22&&f>=3||r===20&&f>=16)return d.getBuiltinModule(e)}return F(e)},"__cjs_getBuiltinModule"),P=b("node:fs"),T=b("node:path"),{fileURLToPath:S}=b("node:url");var R=Object.defineProperty,m=g((e,r)=>R(e,"name",{value:r,configurable:!0}),"u");const q=m(()=>I(T.dirname(S(import.meta.url))),"getDevToolbarPath"),D=/\?.+$/,M=/\/dist\/|\/build\//,N=/\.[jt]sx$/,W=m(e=>e.replace(D,""),"removeUrlQuery"),w="?__visulima-dev-toolbar-resource",h="virtual:visulima-dev-toolbar-options",_=`\0${h}`,u="virtual:visulima-dev-toolbar-path:",j="\0__visulima-dev-toolbar-empty",E=m((e={})=>{const r=q(),f=e.removeDevtoolsOnBuild??!0,$=e.injectSource?.enabled??!0;let v;return[{apply:"serve",config(){return{server:{watch:{ignored:["**/.devtoolbar/**"]}}}},configResolved(t){if(v=t,!e.appendTo){const o=new Set(t.plugins.map(n=>n.name));(o.has("tanstack-start-core:config")||o.has("tanstack-react-start:config"))&&(e.appendTo=/router\.tsx$/)}const a=/dev-toolbar[\\/]dist[\\/]|__visulima-dev-toolbar-resource/;for(const o of t.plugins){if(!o.name.includes("babel"))continue;const n=o.transform;if(!n)continue;const i=typeof n=="function"?n:typeof n=="object"&&"handler"in n?n.handler:void 0;if(typeof i!="function")continue;const s=m(function(l,c,...p){if(!a.test(c))return i.call(this,l,c,...p)},"wrapper");typeof n=="function"?o.transform=s:n.handler=s}},configureServer(t){k(t,e.serverFunctions,{editor:e.editor}),t.ws.on("connection",()=>{t.ws.send({event:"dev-toolbar:init",type:"custom"})}),t.middlewares.use("/__devtoolbar/events",async(a,o)=>{o.writeHead(200,{"Cache-Control":"no-cache",Connection:"keep-alive","Content-Type":"text/event-stream","X-Accel-Buffering":"no"});const n=m((c,p)=>{o.write(`event: ${c}
|
|
2
2
|
data: ${JSON.stringify(p)}
|
|
3
3
|
|
|
4
4
|
`)},"sendEvent");n("connected",{timestamp:Date.now()});const{watch:i}=await import("node:fs"),s=T.join(t.config.root,".devtoolbar","annotations.json");let l;try{l=i(s,{persistent:!1},c=>{c==="change"&&n("annotations.changed",{timestamp:Date.now()})}),l.on("error",()=>{})}catch{const{stat:c}=await import("node:fs/promises");let p=0;const C=setInterval(async()=>{try{const y=(await c(s)).mtimeMs;y!==p&&(p=y,n("annotations.changed",{timestamp:Date.now()}))}catch{}},2e3);a.on("close",()=>{clearInterval(C)});return}a.on("close",()=>{l?.close()})})},enforce:"pre",async load(t){if(t===_){const a=(e.customApps??[]).filter(o=>!o.component&&!o.init&&o.view?.type==="iframe").map(o=>({defaultOpen:o.defaultOpen,icon:o.icon,id:o.id,name:o.name,view:o.view}));return`export default ${JSON.stringify({apps:{a11y:e.apps?.a11y??!1,annotations:e.apps?.annotations??e.apps?.inspector??!1,assets:e.apps?.assets??!1,inspector:e.apps?.inspector??!1,moduleGraph:e.apps?.moduleGraph??!1,performance:e.apps?.performance??!1,seo:e.apps?.seo??!1,settings:e.apps?.settings??!0,tailwind:e.apps?.tailwind??!1,timeline:e.apps?.timeline??!1,viteConfig:e.apps?.viteConfig??!0},base:v.base,closeOnOutsideClick:e.closeOnOutsideClick??!0,customApps:a,defaultVisible:e.defaultVisible??!0,editor:e.editor??"",height:e.height??60,keybindings:e.keybindings??{},minimizePanelInactive:e.minimizePanelInactive??5e3,placement:e.placement??"bottom-center",position:e.position??"bottom",reduceMotion:e.reduceMotion??!1,requireUrlFlag:e.requireUrlFlag??!1,urlFlagName:e.urlFlagName??"devtools",width:e.width??80})};`}if(t.endsWith(w)){const a=W(t);return this.addWatchFile(a),await P.promises.readFile(a,"utf8")}},name:"@visulima/dev-toolbar",resolveId(t){if(t===h)return _;if(t.startsWith(u))return`${t.replace(u,`${r}/`)}${w}`},transform(t,a,o){if(o?.ssr)return;const{appendTo:n}=e,i=a.split("?",2)[0];if(n&&i&&(typeof n=="string"&&i.endsWith(n)||n instanceof RegExp&&n.test(i)))return`import '${u}client/overlay.js';
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var B=Object.defineProperty;var f=(r,e)=>B(r,"name",{value:e,configurable:!0});import{createRequire as _}from"node:module";import{r as b,w as j,b as A,d as F,e as R,a as E,s as W,i as I,S as O}from"./annotation-store-bLQRYMaI.js";import{normalizePath as $}from"vite";const L=_(import.meta.url),v=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,x=f(r=>{if(typeof v<"u"&&v.versions&&v.versions.node){const[e,t]=v.versions.node.split(".").map(Number);if(e>22||e===22&&t>=3||e===20&&t>=16)return v.getBuiltinModule(r)}return L(r)},"__cjs_getBuiltinModule"),p=x("node:fs/promises"),m=x("node:path"),{createRequire:U}=x("node:module");var q=Object.defineProperty,h=f((r,e)=>q(r,"name",{value:e,configurable:!0}),"l");const G=h(async r=>b(r.config.root),"getAnnotations"),N=h(async(r,e)=>j(async()=>{const{root:t}=r.config,s=new Date().toISOString(),a={accessibility:e.accessibility,boundingBox:e.boundingBox,comment:e.comment,computedStyles:e.computedStyles,createdAt:s,cssClasses:e.cssClasses,elementBoundingBoxes:e.elementBoundingBoxes,elementLabel:e.elementLabel,elementPath:e.elementPath,elementTag:e.elementTag,frameworkContext:e.frameworkContext,fullPath:e.fullPath,id:crypto.randomUUID(),intent:e.intent,isFixed:e.isFixed,isMultiSelect:e.isMultiSelect,nearbyElements:e.nearbyElements,nearbyText:e.nearbyText,screenshot:e.screenshot,selectedText:e.selectedText,severity:e.severity,source:e.source,status:"pending",updatedAt:s,url:e.url,x:e.x,y:e.y},n=await b(t);return n.push(a),await A(t,n),a}),"createAnnotation"),V=h(async(r,e,t)=>j(async()=>{const{root:s}=r.config,a=await b(s),n=a.findIndex(c=>c.id===e);if(n===-1)return null;const i=a[n],o=new Date().toISOString();return t.comment!==void 0&&(i.comment=t.comment),t.intent!==void 0&&(i.intent=t.intent),t.severity!==void 0&&(i.severity=t.severity),t.status!==void 0&&(i.status=t.status,(t.status==="resolved"||t.status==="dismissed")&&(i.resolvedBy=t.resolvedBy??"human",i.resolvedAt=o,i.screenshot&&(await F(s,i.screenshot),i.screenshot=void 0))),t.threadMessage&&(i.thread||(i.thread=[]),i.thread.push({...t.threadMessage,id:crypto.randomUUID(),timestamp:o})),i.updatedAt=o,a[n]=i,await A(s,a),i}),"updateAnnotation"),H=h(async(r,e)=>j(async()=>{const{root:t}=r.config,s=await b(t),a=s.findIndex(i=>i.id===e);if(a===-1)return!1;const n=s[a];return n.screenshot&&await F(t,n.screenshot),s.splice(a,1),await A(t,s),!0}),"deleteAnnotation"),J=h(async(r,e,t)=>{const{root:s}=r.config;await R(s);const{base:a,screenshotsDir:n}=E(s),i=W(e);if(!i)throw new Error("Invalid annotation ID");let o,c;if(t.startsWith("data:image/png;base64,"))o="png",c=Buffer.from(t.slice(22),"base64");else if(t.startsWith("data:image/jpeg;base64,"))o="jpg",c=Buffer.from(t.slice(23),"base64");else if(t.startsWith("data:image/webp;base64,"))o="webp",c=Buffer.from(t.slice(23),"base64");else throw new Error("Unsupported screenshot format. Expected PNG, JPEG, or WebP data URL.");const l=`${i}.${o}`,d=m.join(n,l);if(!I(d,a))throw new Error("Invalid screenshot path");return await p.writeFile(d,c),`${O}/${l}`},"saveScreenshot"),X=h(async(r,e)=>{const{root:t}=r.config,s=(await b(t)).find(i=>i.id===e);if(!s?.screenshot||!s.screenshot.startsWith(`${O}/`))return null;const{base:a}=E(t),n=m.join(a,s.screenshot);if(!I(n,a))return null;try{const i=await p.readFile(n),o=m.extname(n).slice(1);return o==="svg"?`data:image/svg+xml,${encodeURIComponent(i.toString("utf8"))}`:`data:${o==="jpg"?"image/jpeg":`image/${o}`};base64,${i.toString("base64")}`}catch{return null}},"getScreenshot");var K=Object.defineProperty,g=f((r,e)=>K(r,"name",{value:e,configurable:!0}),"r");const Q=new Set(["apng","avif","bmp","gif","ico","jpeg","jpg","png","svg","tiff","webp"]),Y=new Set(["avi","mkv","mov","mp4","ogv","webm"]),Z=new Set(["aac","flac","m4a","mp3","ogg","opus","wav"]),ee=new Set(["eot","otf","ttf","woff","woff2"]),te=new Set(["css","csv","html","js","json","md","txt","xml"]),w=5e3,D=g(r=>{const e=r.toLowerCase();return Q.has(e)?"image":Y.has(e)?"video":Z.has(e)?"audio":ee.has(e)?"font":te.has(e)?"text":"other"},"classifyExtension"),re=g(r=>{let e=0;const t=[];return{acquire:g(()=>new Promise(s=>{e<r?(e+=1,s()):t.push(()=>{e+=1,s()})}),"acquire"),release:g(()=>{e-=1,t.shift()?.()},"release")}},"createSemaphore"),T=g(async(r,e,t,s)=>{if(s.length>=w)return;let a;await t.acquire();try{a=await p.readdir(r,{withFileTypes:!0})}catch{return}finally{t.release()}await Promise.all(a.map(async n=>{if(s.length>=w)return;const i=m.join(r,n.name);if(n.isDirectory())await T(i,e,t,s);else if(n.isFile()||n.isSymbolicLink()){await t.acquire();try{const o=await p.lstat(i);if(o.isSymbolicLink()){let c;try{c=await p.realpath(i)}catch{return}if(!c.startsWith(e+m.sep)&&c!==e)return;const l=await p.stat(i),d=m.relative(e,i),M=`/${$(d)}`,z=m.extname(n.name).slice(1);s.length<w&&s.push({mtime:l.mtimeMs,publicPath:M,size:l.size,type:D(z)})}else if(o.isFile()){const c=m.relative(e,i),l=`/${$(c)}`,d=m.extname(n.name).slice(1);s.length<w&&s.push({mtime:o.mtimeMs,publicPath:l,size:o.size,type:D(d)})}}catch{}finally{t.release()}}}))},"walkDirectory"),se=g(async r=>{const{publicDir:e}=r.config;if(!e)return[];let t;try{t=await p.realpath(e)}catch{return[]}const s=[],a=re(20);return await T(t,t,a,s),s.sort((n,i)=>n.publicPath.localeCompare(i.publicPath)),s},"getStaticAssets");var ne=Object.defineProperty,ie=f((r,e)=>ne(r,"name",{value:e,configurable:!0}),"u$1");const ae=ie(async r=>{const{moduleGraph:e}=r,t=[];return e.idToModuleMap.forEach(s=>{const a=[];s.importers.forEach(o=>{const c=o.url??o.id;c&&a.push(c)});const n=s.id??s.url,i=s.url??s.id;!n||!i||t.push({id:n,importerCount:s.importers.size,importerUrls:a,url:i})}),t},"getModuleGraph");var oe=Object.defineProperty,ce=f((r,e)=>oe(r,"name",{value:e,configurable:!0}),"n");const le=ce(async(r,e,t,s,a)=>{const n=e.startsWith("/")?e:m.join(r.config.root,e),i=s===void 0?"":`:${s}`,o=t===void 0?"":`:${t}${i}`,c=`${n}${o}`,{default:l}=await import("launch-editor");l(c,a)},"openInEditor");var de=Object.defineProperty,y=f((r,e)=>de(r,"name",{value:e,configurable:!0}),"f$1");const ue=/\/\*[\s\S]*?\*\//g,me=/\s+/g,C=/@theme\s+default[^{]*\{[\s\S]*?\}/g,S=/(--[\w-]+)\s*:\s*([\s\S]*?);/g,k=y(r=>{const e={},t=r.replaceAll(ue,"");let s=0;for(;s<t.length;){const a=t.indexOf("@theme",s);if(a===-1)break;const n=t.indexOf("{",a);if(n===-1)break;let i=1,o=n+1;for(;o<t.length&&i>0;)t[o]==="{"?i+=1:t[o]==="}"&&(i-=1),o+=1;const c=t.slice(n+1,o-1);S.lastIndex=0;let l=S.exec(c);for(;l!==null;){const d=l[2].replaceAll(me," ").trim();d&&!e[l[1]]&&(e[l[1]]=d),l=S.exec(c)}s=o}return e},"parseThemeVariables"),pe=y(async r=>{const e=[],t=y(async(s,a)=>{if(a>4)return;let n;try{n=await p.readdir(s,{encoding:"utf8",withFileTypes:!0})}catch{return}for(const i of n){const o=m.join(s,i.name);if(i.isDirectory()){if(i.name==="node_modules"||i.name===".git"||i.name==="dist")continue;await t(o,a+1)}else if(i.name.endsWith(".css"))try{const c=await p.readFile(o,"utf8");c.includes("@import")&&(c.includes('"tailwindcss"')||c.includes("'tailwindcss'"))&&e.push(o)}catch{}}},"walk");return await t(r,0),e},"findTailwindCSSFiles"),fe=y(async r=>{const e={};for(const t of r)try{const s=await p.readFile(t,"utf8");C.lastIndex=0;const a=s.replaceAll(C,""),n=k(a);Object.assign(e,n)}catch{}return e},"extractUserTheme"),ge=y(async r=>{const{root:e}=r.config;let t="unknown",s={};const a=["tailwind.config.js","tailwind.config.ts","tailwind.config.mjs","tailwind.config.cjs"];for(const o of a)try{await p.access(m.join(e,o)),t="v3";break}catch{}try{const o=U(import.meta.url).resolve("tailwindcss/theme.css"),c=await p.readFile(o,"utf8");s=k(c),Object.keys(s).length>0&&t!=="v3"&&(t="v4")}catch{}const n=await pe(e),i=await fe(n);return{cssFiles:n.map(o=>m.relative(e,o)),customTheme:i,defaultTheme:s,version:t}},"getTailwindConfig");var he=Object.defineProperty,P=f((r,e)=>he(r,"name",{value:e,configurable:!0}),"s");const ve=P(r=>{if(Array.isArray(r))return r.filter(e=>e!=null&&(e.find!==void 0||e.replacement!==void 0)).map(e=>({find:e.find instanceof RegExp?e.find.toString():String(e.find??""),replacement:String(e.replacement??"")}));if(r!=null&&typeof r=="object")return Object.fromEntries(Object.entries(r).map(([e,t])=>[e,String(t)]))},"normalizeAlias"),ye=P(r=>{if(typeof r=="boolean"||Array.isArray(r))return r},"normalizeSsrNoExternal"),be=P(async r=>{const{config:e}=r,t=[];for(const l of e.plugins.filter(d=>!!d?.name))t.push({enforce:l?.enforce,name:l.name});const s=ve(e.resolve?.alias),a=e.server?.proxy?Object.keys(e.server.proxy):void 0,n=e.server?.hmr,i=n!==!1,o=typeof n=="object"&&n!==null?n.port:void 0,c=ye(e.ssr?.noExternal);return{base:e.base,build:{assetsDir:e.build?.assetsDir,assetsInlineLimit:typeof e.build?.assetsInlineLimit=="number"?e.build.assetsInlineLimit:void 0,chunkSizeWarningLimit:e.build?.chunkSizeWarningLimit,cssCodeSplit:e.build?.cssCodeSplit,emptyOutDir:e.build?.emptyOutDir,minify:e.build?.minify,outDir:e.build?.outDir,reportCompressedSize:e.build?.reportCompressedSize,sourcemap:e.build?.sourcemap,target:e.build?.target},cacheDir:e.cacheDir,css:{devSourcemap:e.css?.devSourcemap,preprocessors:e.css?.preprocessorOptions?Object.keys(e.css.preprocessorOptions):[]},define:e.define,env:e.env,envDir:typeof e.envDir=="string"?e.envDir:void 0,envPrefix:e.envPrefix,esbuild:e.esbuild?{jsx:e.esbuild.jsx,jsxFactory:e.esbuild.jsxFactory,jsxFragment:e.esbuild.jsxFragment,jsxImportSource:e.esbuild.jsxImportSource,target:e.esbuild.target}:void 0,mode:e.mode,optimizeDeps:{exclude:e.optimizeDeps?.exclude,include:e.optimizeDeps?.include},plugins:t,publicDir:e.publicDir,resolve:{alias:s,conditions:e.resolve?.conditions,dedupe:e.resolve?.dedupe,extensions:e.resolve?.extensions,mainFields:e.resolve?.mainFields,preserveSymlinks:e.resolve?.preserveSymlinks},root:e.root,server:{cors:e.server?.cors===void 0?void 0:!!e.server.cors,hmrEnabled:i,hmrPort:o,host:e.server?.host,https:e.server?.https!==void 0,middlewareMode:(()=>{if(e.server?.middlewareMode!==void 0)return typeof e.server.middlewareMode=="object"?!0:!!e.server.middlewareMode})(),open:e.server?.open,origin:e.server?.origin,port:e.server?.port,proxy:a,strictPort:e.server?.strictPort},ssr:e.ssr===void 0?void 0:{external:Array.isArray(e.ssr?.external)?e.ssr.external:void 0,noExternal:c,target:e.ssr?.target}}},"getViteConfig");var we=Object.defineProperty,u=f((r,e)=>we(r,"name",{value:e,configurable:!0}),"e");const Se=u((r,e={})=>({createAnnotation:u(async t=>N(r,t),"createAnnotation"),deleteAnnotation:u(async t=>H(r,t),"deleteAnnotation"),getAnnotations:u(async()=>G(r),"getAnnotations"),getModuleGraph:u(async()=>ae(r),"getModuleGraph"),getScreenshot:u(async t=>X(r,t),"getScreenshot"),getStaticAssets:u(async()=>se(r),"getStaticAssets"),getTailwindConfig:u(async()=>ge(r),"getTailwindConfig"),getViteConfig:u(async()=>be(r),"getViteConfig"),openInEditor:u(async(t,s,a,n)=>le(r,t,s,a,n||e.editor),"openInEditor"),readFile:u(async t=>{const{readFile:s}=await import("node:fs/promises"),a=t.startsWith("/")?t:`${r.config.root}/${t}`;return s(a,"utf8")},"readFile"),saveScreenshot:u(async(t,s)=>J(r,t,s),"saveScreenshot"),updateAnnotation:u(async(t,s)=>V(r,t,s),"updateAnnotation")}),"createDefaultServerFunctions"),$e=u((r,e,t={})=>{const s={...Se(r,t),...e};return r.ws.on("dev-toolbar:rpc",async(a,n)=>{const{args:i,id:o,method:c}=a,l=s[c];if(!l){n.send("dev-toolbar:rpc:error",{error:`Unknown RPC method: ${c}`,id:o});return}try{const d=await l(...i);n.send("dev-toolbar:rpc:response",{id:o,result:d})}catch(d){n.send("dev-toolbar:rpc:error",{error:d instanceof Error?d.message:String(d),id:o})}}),{callClient(a,...n){r.ws.send({data:{args:n,method:a},event:"dev-toolbar:client",type:"custom"})},registerFunction(a,n){s[a]=n},server:r}},"createServerRPCContext");export{$e as createServerRPCContext,$e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var c=Object.defineProperty;var a=(e,t)=>c(e,"name",{value:t,configurable:!0});import{addHookName as u}from"preact/devtools";import{useState as f,useEffect as g}from"preact/hooks";var h=Object.defineProperty,o=a((e,t)=>h(e,"name",{value:t,configurable:!0}),"i");const d={close:"Escape",toggle:"Alt+Shift+D"},l="__v_dt__frame_state",i={closeOnOutsideClick:!0,editor:"",height:60,isFirstVisit:!0,isPip:!1,keybindings:d,left:50,minimizePanelInactive:5e3,open:!1,position:"bottom",preferShowFloatingPanel:!0,reduceMotion:!1,route:"/",top:0,viewMode:"default",width:80},m=o(()=>{const e=globalThis.__VISULIMA_DEV_TOOLBAR_OPTIONS__;return e?{...i,closeOnOutsideClick:e.closeOnOutsideClick??i.closeOnOutsideClick,editor:e.editor??i.editor,height:e.height??i.height,keybindings:{...d,...e.keybindings},minimizePanelInactive:e.minimizePanelInactive??i.minimizePanelInactive,position:e.position??i.position,reduceMotion:e.reduceMotion??i.reduceMotion,width:e.width??i.width}:{...i}},"buildEffectiveDefaults"),p=o(()=>{const e=m();if(globalThis.window===void 0)return e;try{const t=localStorage.getItem(l);if(t){const r=JSON.parse(t);return{...e,...r,keybindings:{...e.keybindings,...r.keybindings},open:!1}}}catch{}return e},"loadState"),S=o(e=>{if(globalThis.window!==void 0)try{localStorage.setItem(l,JSON.stringify(e))}catch{}},"saveState");let n=p();const s=new Set,v=o(()=>{for(const e of s)e()},"notifyListeners"),O=o(e=>{n={...n,...e},S(n),v()},"updateSharedState"),w=o(()=>{const[,e]=u(f(0),"forceUpdate");return g(()=>{const t=o(()=>{e(r=>r+1)},"listener");return s.add(t),()=>{s.delete(t)}},[]),{state:n,updateState:O}},"useFrameState"),y=o(()=>n.editor||void 0,"getEditorPreference");export{y as b,w as h,d as r};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var g=Object.defineProperty;var d=(e,t)=>g(e,"name",{value:t,configurable:!0});import{addHookName as _}from"preact/devtools";import{useState as v,useEffect as T}from"preact/hooks";var y=Object.defineProperty,o=d((e,t)=>y(e,"name",{value:t,configurable:!0}),"t");const n="__v_dt__theme",l=o(()=>globalThis.window===void 0?"light":globalThis.window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light","getSystemTheme"),f=o(()=>{if(globalThis.window===void 0)return"system";try{const e=localStorage.getItem(n);if(e==="light"||e==="dark"||e==="system")return e}catch(e){console.warn("[dev-toolbar] Failed to load theme:",e)}return"system"},"loadTheme"),w=o(e=>{if(globalThis.window!==void 0)try{localStorage.setItem(n,e)}catch(t){console.warn("[dev-toolbar] Failed to save theme:",t)}},"saveTheme");let a=f(),r=a==="system"?l():a;const s=new Set,h=o(()=>{for(const e of s)e()},"notifyThemeListeners"),m=o(e=>{try{localStorage.setItem("__v-o__theme",e)}catch{}const t=globalThis.__v_o__current?.shadowRoot?.querySelector("#__v_o__root");t&&t.classList.toggle("dark",e==="dark")},"syncViteOverlayTheme"),i=o(e=>{a=e,r=e==="system"?l():e,w(e),m(r),h()},"setSharedTheme");if(globalThis.window!==void 0){const e=globalThis.window.matchMedia("(prefers-color-scheme: dark)"),t=o(()=>{a==="system"&&(r=l(),m(r),h())},"handleSystemChange");e.addEventListener?e.addEventListener("change",t):e.addListener&&e.addListener(t)}const S=o(()=>{const[,e]=_(v(0),"forceUpdate");return T(()=>{const t=o(()=>{e(c=>c+1)},"listener");return s.add(t),()=>{s.delete(t)}},[]),{resolvedTheme:r,setTheme:i,theme:a,toggleTheme:o(()=>{i(r==="dark"?"light":"dark")},"toggleTheme")}},"useTheme");export{S as _};
|