paintress 0.6.0 → 0.7.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.
@@ -1,8 +0,0 @@
1
- (function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return t(this.context.count)},getNextContextId(){return t(this.context.count++)}};function t(t){let n=String(t),r=n.length-1;return e.context.id+(r?String.fromCharCode(96+r):``)+n}function n(t){e.context=t}var r=(e,t)=>e===t,i=Symbol(`solid-track`),a={equals:r},o=null,s=ue,c=1,l=2,u={owned:null,cleanups:null,context:null,owner:null},d=null,f=null,p=null,m=null,h=null,g=0;function _(e,t){let n=p,r=d,i=e.length===0,a=t===void 0?r:t,o=i?u:{owned:null,cleanups:null,context:a?a.context:null,owner:a},s=i?e:()=>e(v(o));d=o,p=null;try{return D(s,!0)}finally{p=n,d=r}}function v(e){return()=>C(()=>A(e))}function y(e,t){t=t?Object.assign({},a,t):a;let n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0};return[ie.bind(n),e=>(typeof e==`function`&&(e=f&&f.running&&f.sources.has(n)?e(n.tValue):e(n.value)),ae(n,e))]}function b(e,t,n){oe(ce(e,t,!1,c))}function x(e,t,n){s=k;let r=ce(e,t,!1,c),i=re&&ne(re);i&&(r.suspense=i),n&&n.render||(r.user=!0),h?h.push(r):oe(r)}function S(e,t,n){n=n?Object.assign({},a,n):a;let r=ce(e,t,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,oe(r),ie.bind(r)}function C(e){if(p===null)return e();let t=p;p=null;try{return e()}finally{p=t}}function w(e,t,n){let r=Array.isArray(e),i,a=n&&n.defer;return n=>{let o;if(r){o=Array(e.length);for(let t=0;t<e.length;t++)o[t]=e[t]()}else o=e();if(a)return a=!1,n;let s=C(()=>t(o,i,n));return i=o,s}}function T(e){x(()=>C(e))}function E(e){return d===null||(d.cleanups===null?d.cleanups=[e]:d.cleanups.push(e)),e}var[ee,te]=y(!1);function ne(e){let t;return d&&d.context&&(t=d.context[e.id])!==void 0?t:e.defaultValue}var re;function ie(){let e=f&&f.running;if(this.sources&&(e?this.tState:this.state)){if((e?this.tState:this.state)===c)oe(this);else{let e=m;m=null,D(()=>de(this),!1),m=e}}if(p){let e=this.observers;if(!e||e[e.length-1]!==p){let t=e?e.length:0;p.sources?(p.sources.push(this),p.sourceSlots.push(t)):(p.sources=[this],p.sourceSlots=[t]),e?(e.push(p),this.observerSlots.push(p.sources.length-1)):(this.observers=[p],this.observerSlots=[p.sources.length-1])}}return e&&f.sources.has(this)?this.tValue:this.value}function ae(e,t,n){let r=f&&f.running&&f.sources.has(e)?e.tValue:e.value;if(!e.comparator||!e.comparator(r,t)){if(f){let r=f.running;(r||!n&&f.sources.has(e))&&(f.sources.add(e),e.tValue=t),r||(e.value=t)}else e.value=t;e.observers&&e.observers.length&&D(()=>{for(let t=0;t<e.observers.length;t+=1){let n=e.observers[t],r=f&&f.running;r&&f.disposed.has(n)||((r?!n.tState:!n.state)&&(n.pure?m.push(n):h.push(n),n.observers&&fe(n)),r?n.tState=c:n.state=c)}if(m.length>1e6)throw m=[],Error()},!1)}return t}function oe(e){if(!e.fn)return;A(e);let t=g;se(e,f&&f.running&&f.sources.has(e)?e.tValue:e.value,t),f&&!f.running&&f.sources.has(e)&&queueMicrotask(()=>{D(()=>{f&&(f.running=!0),p=d=e,se(e,e.tValue,t),p=d=null},!1)})}function se(e,t,n){let r,i=d,a=p;p=d=e;try{r=e.fn(t)}catch(t){return e.pure&&(f&&f.running?(e.tState=c,e.tOwned&&e.tOwned.forEach(A),e.tOwned=void 0):(e.state=c,e.owned&&e.owned.forEach(A),e.owned=null)),e.updatedAt=n+1,M(t)}finally{p=a,d=i}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&`observers`in e?ae(e,r,!0):f&&f.running&&e.pure?(f.sources.has(e)||(e.value=r),f.sources.add(e),e.tValue=r):e.value=r,e.updatedAt=n)}function ce(e,t,n,r=c,i){let a={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:d,context:d?d.context:null,pure:n};return f&&f.running&&(a.state=0,a.tState=r),d===null||d!==u&&(f&&f.running&&d.pure?d.tOwned?d.tOwned.push(a):d.tOwned=[a]:d.owned?d.owned.push(a):d.owned=[a]),a}function le(e){let t=f&&f.running;if((t?e.tState:e.state)===0)return;if((t?e.tState:e.state)===l)return de(e);if(e.suspense&&C(e.suspense.inFallback))return e.suspense.effects.push(e);let n=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<g);){if(t&&f.disposed.has(e))return;(t?e.tState:e.state)&&n.push(e)}for(let r=n.length-1;r>=0;r--){if(e=n[r],t){let t=e,i=n[r+1];for(;(t=t.owner)&&t!==i;)if(f.disposed.has(t))return}if((t?e.tState:e.state)===c)oe(e);else if((t?e.tState:e.state)===l){let t=m;m=null,D(()=>de(e,n[0]),!1),m=t}}}function D(e,t){if(m)return e();let n=!1;t||(m=[]),h?n=!0:h=[],g++;try{let t=e();return O(n),t}catch(e){n||(h=null),m=null,M(e)}}function O(e){if(m&&=(ue(m),null),e)return;let t;if(f){if(!f.promises.size&&!f.queue.size){let e=f.sources,n=f.disposed;h.push.apply(h,f.effects),t=f.resolve;for(let e of h)`tState`in e&&(e.state=e.tState),delete e.tState;f=null,D(()=>{for(let e of n)A(e);for(let t of e){if(t.value=t.tValue,t.owned)for(let e=0,n=t.owned.length;e<n;e++)A(t.owned[e]);t.tOwned&&(t.owned=t.tOwned),delete t.tValue,delete t.tOwned,t.tState=0}te(!1)},!1)}else if(f.running){f.running=!1,f.effects.push.apply(f.effects,h),h=null,te(!0);return}}let n=h;h=null,n.length&&D(()=>s(n),!1),t&&t()}function ue(e){for(let t=0;t<e.length;t++)le(e[t])}function k(t){let r,i=0;for(r=0;r<t.length;r++){let e=t[r];e.user?t[i++]=e:le(e)}if(e.context){if(e.count){e.effects||=[],e.effects.push(...t.slice(0,i));return}n()}for(e.effects&&(e.done||!e.count)&&(t=[...e.effects,...t],i+=e.effects.length,delete e.effects),r=0;r<i;r++)le(t[r])}function de(e,t){let n=f&&f.running;n?e.tState=0:e.state=0;for(let r=0;r<e.sources.length;r+=1){let i=e.sources[r];if(i.sources){let e=n?i.tState:i.state;e===c?i!==t&&(!i.updatedAt||i.updatedAt<g)&&le(i):e===l&&de(i,t)}}}function fe(e){let t=f&&f.running;for(let n=0;n<e.observers.length;n+=1){let r=e.observers[n];(t?!r.tState:!r.state)&&(t?r.tState=l:r.state=l,r.pure?m.push(r):h.push(r),r.observers&&fe(r))}}function A(e){let t;if(e.sources)for(;e.sources.length;){let t=e.sources.pop(),n=e.sourceSlots.pop(),r=t.observers;if(r&&r.length){let e=r.pop(),i=t.observerSlots.pop();n<r.length&&(e.sourceSlots[i]=n,r[n]=e,t.observerSlots[n]=i)}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)A(e.tOwned[t]);delete e.tOwned}if(f&&f.running&&e.pure)j(e,!0);else if(e.owned){for(t=e.owned.length-1;t>=0;t--)A(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}f&&f.running?e.tState=0:e.state=0}function j(e,t){if(t||(e.tState=0,f.disposed.add(e)),e.owned)for(let t=0;t<e.owned.length;t++)j(e.owned[t])}function pe(e){return e instanceof Error?e:Error(typeof e==`string`?e:`Unknown error`,{cause:e})}function me(e,t,n){try{for(let n of t)n(e)}catch(e){M(e,n&&n.owner||null)}}function M(e,t=d){let n=o&&t&&t.context&&t.context[o],r=pe(e);if(!n)throw r;h?h.push({fn(){me(r,n,t)},state:c}):me(r,n,t)}var he=Symbol(`fallback`);function ge(e){for(let t=0;t<e.length;t++)e[t]()}function _e(e,t,n={}){let r=[],a=[],o=[],s=0,c=t.length>1?[]:null;return E(()=>ge(o)),()=>{let l=e()||[],u=l.length,d,f;return l[i],C(()=>{let e,t,i,m,h,g,v,y,b;if(u===0)s!==0&&(ge(o),o=[],r=[],a=[],s=0,c&&=[]),n.fallback&&(r=[he],a[0]=_(e=>(o[0]=e,n.fallback())),s=1);else if(s===0){for(a=Array(u),f=0;f<u;f++)r[f]=l[f],a[f]=_(p);s=u}else{for(i=Array(u),m=Array(u),c&&(h=Array(u)),g=0,v=Math.min(s,u);g<v&&r[g]===l[g];g++);for(v=s-1,y=u-1;v>=g&&y>=g&&r[v]===l[y];v--,y--)i[y]=a[v],m[y]=o[v],c&&(h[y]=c[v]);for(e=new Map,t=Array(y+1),f=y;f>=g;f--)b=l[f],d=e.get(b),t[f]=d===void 0?-1:d,e.set(b,f);for(d=g;d<=v;d++)b=r[d],f=e.get(b),f!==void 0&&f!==-1?(i[f]=a[d],m[f]=o[d],c&&(h[f]=c[d]),f=t[f],e.set(b,f)):o[d]();for(f=g;f<u;f++)f in i?(a[f]=i[f],o[f]=m[f],c&&(c[f]=h[f],c[f](f))):a[f]=_(p);a=a.slice(0,s=u),r=l.slice(0)}return a});function p(e){if(o[f]=e,c){let[e,n]=y(f);return c[f]=n,t(l[f],e)}return t(l[f])}}}function N(e,t){return C(()=>e(t||{}))}var ve=e=>`Stale read from <${e}>.`;function P(e){let t=`fallback`in e&&{fallback:()=>e.fallback};return S(_e(()=>e.each,e.children,t||void 0))}function F(e){let t=e.keyed,n=S(()=>e.when,void 0,void 0),r=t?n:S(n,void 0,{equals:(e,t)=>!e==!t});return S(()=>{let i=r();if(i){let a=e.children;return typeof a==`function`&&a.length>0?C(()=>a(t?i:()=>{if(!C(r))throw ve(`Show`);return n()})):a}return e.fallback},void 0,void 0)}var I=e=>S(()=>e());function ye(e,t,n){let r=n.length,i=t.length,a=r,o=0,s=0,c=t[i-1].nextSibling,l=null;for(;o<i||s<a;)if(t[o]===n[s])o++,s++;else{for(;t[i-1]===n[a-1];)i--,a--;if(i===o){let t=a<r?s?n[s-1].nextSibling:n[a-s]:c;for(;s<a;)e.insertBefore(n[s++],t)}else if(a===s)for(;o<i;)l&&l.has(t[o])||t[o].remove(),o++;else if(t[o]===n[a-1]&&n[s]===t[i-1]){let r=t[--i].nextSibling;e.insertBefore(n[s++],t[o++].nextSibling),e.insertBefore(n[--a],r),t[i]=n[a]}else{if(!l){l=new Map;let e=s;for(;e<a;)l.set(n[e],e++)}let r=l.get(t[o]);if(r!=null){if(s<r&&r<a){let c=o,u=1,d;for(;++c<i&&c<a&&(d=l.get(t[c]))!=null&&d===r+u;)u++;if(u>r-s){let i=t[o];for(;s<r;)e.insertBefore(n[s++],i)}else e.replaceChild(n[s++],t[o++])}else o++}else t[o++].remove()}}}var be=`_$DX_DELEGATE`;function L(e,t,n,r={}){let i;return _(r=>{i=r,t===document?e():V(t,e(),!n&&t.firstChild?null:void 0,n)},r.owner),()=>{i(),t.textContent=``}}function R(e,t,n,r){let i,a=()=>{let t=r?document.createElementNS(`http://www.w3.org/1998/Math/MathML`,`template`):document.createElement(`template`);return t.innerHTML=e,n?t.content.firstChild.firstChild:r?t.firstChild:t.content.firstChild},o=t?()=>C(()=>document.importNode(i||=a(),!0)):()=>(i||=a()).cloneNode(!0);return o.cloneNode=o,o}function z(e,t=window.document){let n=t[be]||(t[be]=new Set);for(let r=0,i=e.length;r<i;r++){let i=e[r];n.has(i)||(n.add(i),t.addEventListener(i,H))}}function B(e,t,n){Te(e)||(n==null?e.removeAttribute(t):e.setAttribute(t,n))}function xe(e,t){Te(e)||(t==null?e.removeAttribute(`class`):e.className=t)}function Se(e,t,n,r){if(r)Array.isArray(n)?(e[`$$${t}`]=n[0],e[`$$${t}Data`]=n[1]):e[`$$${t}`]=n;else if(Array.isArray(n)){let r=n[0];e.addEventListener(t,n[0]=t=>r.call(e,n[1],t))}else e.addEventListener(t,n,typeof n!=`function`&&n)}function Ce(e,t,n){n==null?e.style.removeProperty(t):e.style.setProperty(t,n)}function we(e,t,n){return C(()=>e(t,n))}function V(e,t,n,r){if(n!==void 0&&!r&&(r=[]),typeof t!=`function`)return U(e,t,r,n);b(r=>U(e,t(),r,n),r)}function Te(t){return!!e.context&&!e.done&&(!t||t.isConnected)}function H(t){if(e.registry&&e.events&&e.events.find(([e,n])=>n===t))return;let n=t.target,r=`$$${t.type}`,i=t.target,a=t.currentTarget,o=e=>Object.defineProperty(t,"target",{configurable:!0,value:e}),s=()=>{let e=n[r];if(e&&!n.disabled){let i=n[`${r}Data`];if(i===void 0?e.call(n,t):e.call(n,i,t),t.cancelBubble)return}return n.host&&typeof n.host!=`string`&&!n.host._$host&&n.contains(t.target)&&o(n.host),!0},c=()=>{for(;s()&&(n=n._$host||n.parentNode||n.host););};Object.defineProperty(t,"currentTarget",{configurable:!0,get(){return n||document}}),e.registry&&!e.done&&(e.done=_$HY.done=!0);try{if(t.composedPath){let e=t.composedPath();o(e[0]);for(let t=0;t<e.length-2&&(n=e[t],s());t++){if(n._$host){n=n._$host,c();break}if(n.parentNode===a)break}}else c();o(i)}finally{t=n=null}}function U(e,t,n,r,i){let a=Te(e);if(a){!n&&(n=[...e.childNodes]);let t=[];for(let e=0;e<n.length;e++){let r=n[e];r.nodeType===8&&r.data.slice(0,2)===`!$`?r.remove():t.push(r)}n=t}for(;typeof n==`function`;)n=n();if(t===n)return n;let o=typeof t,s=r!==void 0;if(e=s&&n[0]&&n[0].parentNode||e,o===`string`||o===`number`){if(a||o===`number`&&(t=t.toString(),t===n))return n;if(s){let i=n[0];i&&i.nodeType===3?i.data!==t&&(i.data=t):i=document.createTextNode(t),n=W(e,n,r,i)}else n=n!==``&&typeof n==`string`?e.firstChild.data=t:e.textContent=t}else if(t==null||o===`boolean`){if(a)return n;n=W(e,n,r)}else if(o===`function`)return b(()=>{let i=t();for(;typeof i==`function`;)i=i();n=U(e,i,n,r)}),()=>n;else if(Array.isArray(t)){let o=[],c=n&&Array.isArray(n);if(Ee(o,t,n,i))return b(()=>n=U(e,o,n,r,!0)),()=>n;if(a){if(!o.length)return n;if(r===void 0)return n=[...e.childNodes];let t=o[0];if(t.parentNode!==e)return n;let i=[t];for(;(t=t.nextSibling)!==r;)i.push(t);return n=i}if(o.length===0){if(n=W(e,n,r),s)return n}else c?n.length===0?De(e,o,r):ye(e,n,o):(n&&W(e),De(e,o));n=o}else if(t.nodeType){if(a&&t.parentNode)return n=s?[t]:t;if(Array.isArray(n)){if(s)return n=W(e,n,r,t);W(e,n,null,t)}else n==null||n===``||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);n=t}return n}function Ee(e,t,n,r){let i=!1;for(let a=0,o=t.length;a<o;a++){let o=t[a],s=n&&n[e.length],c;if(o!=null&&o!==!0&&o!==!1){if((c=typeof o)==`object`&&o.nodeType)e.push(o);else if(Array.isArray(o))i=Ee(e,o,s)||i;else if(c===`function`){if(r){for(;typeof o==`function`;)o=o();i=Ee(e,Array.isArray(o)?o:[o],Array.isArray(s)?s:[s])||i}else e.push(o),i=!0}else{let t=String(o);s&&s.nodeType===3&&s.data===t?e.push(s):e.push(document.createTextNode(t))}}}return i}function De(e,t,n=null){for(let r=0,i=t.length;r<i;r++)e.insertBefore(t[r],n)}function W(e,t,n,r){if(n===void 0)return e.textContent=``;let i=r||document.createTextNode(``);if(t.length){let r=!1;for(let a=t.length-1;a>=0;a--){let o=t[a];if(i!==o){let t=o.parentNode===e;!r&&!a?t?e.replaceChild(i,o):e.insertBefore(i,n):t&&o.remove()}else r=!0}}else e.insertBefore(i,n);return[i]}async function G(e){let t=await fetch(e,{headers:{accept:`application/json`}});if(!t.ok){let e=await t.text().catch(()=>``);throw Error(`HTTP ${t.status}${e?`: ${e.slice(0,200)}`:``}`)}return await t.json()}function Oe(){return G(`/api/projects`)}function ke(){return G(`/api/version`)}function Ae(e){return G(`/api/projects/${encodeURIComponent(e)}/files`)}function je(e,t){return`/render/${encodeURIComponent(e)}/${t.split(`/`).map(encodeURIComponent).join(`/`)}?embed=1`}function Me(e,t){return`/events?project=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}`}function Ne(){return`/events`}function Pe(e){return G(`/api/marks?project=${encodeURIComponent(e)}`)}async function Fe(e){let t=await fetch(`/api/marks`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e)});if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();if(!n.ok)throw Error(n.error??`添加标记失败`);return n.mark}async function Ie(e){let t=await fetch(`/api/marks?project=${encodeURIComponent(e)}`,{method:`DELETE`});if(!t.ok)throw Error(`HTTP ${t.status}`);return(await t.json()).cleared}var Le={"x-paintress":`1`};async function Re(e){let t=await fetch(`/api/projects/${encodeURIComponent(e)}`,{method:`DELETE`,headers:Le}),n=await t.json();if(!t.ok||!n.ok)throw Error(n.error??`HTTP ${t.status}`);return n.unwatched===!0}async function ze(){let e=await fetch(`/api/shutdown`,{method:`POST`,headers:Le}),t=await e.json();if(!e.ok||!t.ok)throw Error(t.error??`HTTP ${e.status}`);return t.connections??0}function Be(e,t){return G(`/api/changes?project=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}`)}function Ve(e,t){return G(`/api/notes?project=${encodeURIComponent(e)}&path=${encodeURIComponent(t)}`)}function He(e){return G(`/api/presets?project=${encodeURIComponent(e)}`)}async function Ue(e,t,n){let r=await fetch(`/api/presets`,{method:`PUT`,headers:{"content-type":`application/json`,...Le},body:JSON.stringify({project:e,key:t,value:n})}),i=await r.json();if(!r.ok||!i.ok)throw Error(i.error??`HTTP ${r.status}`);return i}function We(e){return G(`/api/components?project=${encodeURIComponent(e)}`)}function K(e,t){return`/render-component?project=${encodeURIComponent(e)}&id=${encodeURIComponent(t)}`}var Ge=R(`<div class=modal-actions>`),Ke=R(`<div class=modal-backdrop><div class=modal role=dialog aria-modal=true><h3>`),q=R(`<p class=modal-body>`),qe=R(`<button class=ghost>`),J=R(`<button class="ghost danger">`);function Je(e){x(()=>{e.open&&queueMicrotask(()=>{(e.initialFocus?.()??document.querySelector(`.modal-actions button`))?.focus()})});let t=t=>{t.key===`Escape`&&(t.preventDefault(),e.onClose())};return N(F,{get when(){return e.open},get children(){var n=Ke(),r=n.firstChild,i=r.firstChild;return n.$$mousedown=t=>{t.target===t.currentTarget&&e.onClose()},r.$$keydown=t,V(i,()=>e.title),V(r,()=>e.children,null),V(r,N(F,{get when(){return e.actions},get children(){var t=Ge();return V(t,()=>e.actions),t}}),null),b(()=>B(r,`aria-label`,e.title)),n}})}function Ye(e){let t;return N(Je,{get open(){return e.open},get title(){return e.title},get onClose(){return e.onCancel},initialFocus:()=>t,get actions(){return[(()=>{var t=qe();return t.$$click=()=>e.onCancel(),V(t,()=>e.cancelLabel),t})(),(()=>{var n=J();return n.$$click=()=>e.onConfirm(),we(e=>{t=e},n),V(n,()=>e.confirmLabel),n})()]},get children(){var t=q();return V(t,()=>e.body),t}})}z([`mousedown`,`keydown`,`click`]);function Xe(e){let t=e.trim().replace(/^v/i,``),n=t.indexOf(`-`);return{nums:(n>=0?t.slice(0,n):t).split(`.`).map(e=>{let t=Number.parseInt(e,10);return Number.isFinite(t)?t:0}),prerelease:n>=0}}function Ze(e,t){let n=Xe(e),r=Xe(t),i=Math.max(n.nums.length,r.nums.length);for(let e=0;e<i;e+=1){let t=n.nums[e]??0,i=r.nums[e]??0;if(t!==i)return t>i?1:-1}return n.prerelease===r.prerelease?0:n.prerelease?-1:1}function Qe(e,t){return Ze(e,t)>0}var Y=.1,$e=.02;function et(e,t){return t===0||Math.abs(e)>=Math.abs(t)?null:t>0?-1:1}function X(e,t=Y){return Math.min(4,Math.max(t,e))}function tt(e,t,n,r,i=Y){let a=X(e.z*t,i);if(a===e.z)return e;let o=a/e.z;return{z:a,tx:n-(n-e.tx)*o,ty:r-(r-e.ty)*o}}function nt(e,t,n,r=Y){return tt(e,X(t,r)/e.z,n.width/2,n.height/2,r)}function rt(e,t,n=24){let r=Math.max(1,e.w),i=Math.max(1,e.h),a=Math.max(1,t.width-n*2),o=Math.max(1,t.height-n*2),s=X(Math.min(a/r,o/i),$e);return{z:s,tx:(t.width-r*s)/2-e.x*s,ty:(t.height-i*s)/2-e.y*s}}function it(e,t,n){return{z:e.z,tx:e.tx+t,ty:e.ty+n}}function at(e){return`translate(${e.tx}px, ${e.ty}px) scale(${e.z})`}function ot(e){if(e===null||e===``)return null;let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t)return null;let{z:n,tx:r,ty:i}=t;return typeof n!=`number`||typeof r!=`number`||typeof i!=`number`||!Number.isFinite(n)||!Number.isFinite(r)||!Number.isFinite(i)||n<=0?null:{z:X(n,$e),tx:r,ty:i}}var st=3,ct=.0015;function lt({doc:e,onChange:t,onLevelStep:n}){let r=e.querySelector(`.ptr-canvas`);if(r===null)return null;let i=r;i.style.transformOrigin=`0 0`;let a={z:1,tx:0,ty:0},o=!1,s=!1,c=!1,l=null,u=()=>({width:e.documentElement.clientWidth||1,height:e.documentElement.clientHeight||1});function d(){i.style.transform=at(a),t?.(a)}function f(e){a=e,d()}function p(){i.style.transition=``}function m(e){i.style.transition=`transform 180ms ease-out`,f(e),setTimeout(p,220)}function h(t){e.documentElement.style.cursor=t}function g(e){if(e.preventDefault(),e.altKey&&n!==void 0){let t=et(e.deltaX,e.deltaY);t!==null&&n(t,{x:e.clientX,y:e.clientY});return}p();let t=1;e.deltaMode===1?t=16:e.deltaMode===2&&(t=u().height);let r=a.z<.1?$e:Y;f(tt(a,Math.exp(-e.deltaY*t*ct),e.clientX,e.clientY,r))}function _(t){return t.button===1?!0:t.button===0?o?!0:t.target===i||t.target===e.body||t.target===e.documentElement:!1}function v(e){_(e)&&(e.preventDefault(),l={lastX:e.clientX,lastY:e.clientY,startX:e.clientX,startY:e.clientY},s=!1)}function y(t){if(!l)return;if(!s){if(Math.hypot(t.clientX-l.startX,t.clientY-l.startY)<st)return;s=!0,p(),e.body.style.userSelect=`none`,h(`grabbing`)}let n=t.clientX-l.lastX,r=t.clientY-l.lastY;l.lastX=t.clientX,l.lastY=t.clientY,f(it(a,n,r))}function b(){l&&(l=null,s&&(s=!1,c=!0,e.body.style.userSelect=``,h(o?`grab`:``)))}function x(e){o!==e&&(o=e,s||h(e?`grab`:``))}function S(e){if(e.key===` `&&!e.metaKey&&!e.ctrlKey&&!e.altKey){let t=e.target,n=t?.tagName??``;if(n===`INPUT`||n===`TEXTAREA`||t?.isContentEditable===!0)return;x(!0),e.preventDefault()}else T(e)&&e.preventDefault()}function C(e){e.key===` `&&x(!1)}function w(){x(!1),b()}function T(e){return(e.ctrlKey||e.metaKey)&&(e.key===`0`||e.key===`)`||e.code===`Digit0`||e.code===`Numpad0`)?(f(nt(a,1,u())),!0):e.shiftKey&&!e.ctrlKey&&!e.metaKey&&(e.key===`!`||e.code===`Digit1`)?(E(),!0):!1}function E(){f(rt({x:0,y:0,w:i.offsetWidth,h:i.offsetHeight},u()))}function ee(e){let t=u();m({z:a.z,tx:t.width/2-(e.x+e.w/2)*a.z,ty:t.height/2-(e.y+e.h/2)*a.z})}return e.addEventListener(`wheel`,g,{passive:!1}),e.addEventListener(`mousedown`,v,!0),e.addEventListener(`mousemove`,y,!0),e.addEventListener(`mouseup`,b,!0),e.addEventListener(`keydown`,S),e.addEventListener(`keyup`,C),e.defaultView?.addEventListener(`blur`,w),{get:()=>a,set:f,fitAll:E,centerOn:ee,focusBox:e=>m(rt(e,u())),zoomToPercent:e=>f(nt(a,e,u())),consumeDragClick:()=>{let e=c;return c=!1,e},handleKey:T,setSpace:x,destroy:()=>{e.removeEventListener(`wheel`,g),e.removeEventListener(`mousedown`,v,!0),e.removeEventListener(`mousemove`,y,!0),e.removeEventListener(`mouseup`,b,!0),e.removeEventListener(`keydown`,S),e.removeEventListener(`keyup`,C),e.defaultView?.removeEventListener(`blur`,w)}}}var ut=`[data-ptr-selected]{outline:2px solid #908030 !important;outline-offset:-2px;}
2
- [data-ptr-hover]:not([data-ptr-selected]){outline:1px dashed rgba(144,128,48,.55) !important;outline-offset:-2px;}
3
- [data-ptr-changed]{box-shadow:inset 0 0 0 2px rgba(144,128,48,1);animation:ptr-pulse 2s ease-in-out infinite;}
4
- @keyframes ptr-pulse{0%,100%{box-shadow:inset 0 0 0 2px rgba(144,128,48,1)}50%{box-shadow:inset 0 0 0 2px rgba(144,128,48,.25)}}
5
- @media (prefers-reduced-motion: reduce){[data-ptr-changed]{animation:none !important;}}
6
- html{cursor:default;}
7
- html,body{overflow:hidden;}
8
- html,body{background:var(--ptr-canvas-bg,#ffffff);}`,dt=R(`<div class=canvas-bg role=group>`),ft=R(`<button type=button class=canvas-bg-opt><span class=canvas-bg-dot aria-hidden=true>`),pt=[`light`,`gray`,`dark`],mt={light:`#ffffff`,gray:`#d2cec7`,dark:`#242b36`},ht=`paintress:canvas-bg`;function gt(e){return pt.includes(e)}function _t(){try{let e=localStorage.getItem(ht);if(gt(e))return e}catch{}return`light`}function vt(e){try{localStorage.setItem(ht,e)}catch{}}var yt={light:`Light`,gray:`Gray`,dark:`Dark`};function bt(e){return(()=>{var t=dt();return V(t,()=>pt.map(t=>(()=>{var n=ft(),r=n.firstChild;return n.$$click=()=>e.onChange(t),V(n,()=>yt[t],null),b(i=>{var a=e.value===t,o=e.value===t,s=mt[t];return a!==i.e&&n.classList.toggle(`active`,i.e=a),o!==i.t&&B(n,`aria-pressed`,i.t=o),s!==i.a&&Ce(r,`--dot`,i.a=s),i},{e:void 0,t:void 0,a:void 0}),n})())),b(n=>{var r=e.label,i=e.label;return r!==n.e&&B(t,`aria-label`,n.e=r),i!==n.t&&B(t,`title`,n.t=i),n},{e:void 0,t:void 0}),t})()}z([`click`]);var xt={zh:{projects:`项目`,noProjects:`还没有注册项目`,projectFiles:e=>`${e} 个设计稿`,designs:`设计稿`,depth:`depth`,noFiles:`没有 .ptr / .pen 文件`,marks:`标记`,clear:`清空`,liveReload:`实时刷新`,refreshList:`刷新列表`,pickProject:`从左侧选择项目`,pickFile:`从左侧选择一个设计稿`,fit:`适应`,fitTitle:`适应窗口(Shift+1)`,actualSize:`1:1`,actualSizeTitle:`100%(Ctrl/Cmd+0)`,rerender:`重新渲染`,allBoards:`全部`,canvasBackground:`画布背景`,language:`界面语言`,unwatch:`解绑`,unwatchTitle:`解绑项目`,unwatchBody:e=>`「${e}」将从项目列表中移除。设计稿文件不受影响;agent 下次启动会自动重新注册。`,closeServer:`关闭服务器`,closeServerTitle:`关闭 web 进程`,closeServerBody:(e,t)=>`将断开 ${t} 个长连接并停止进程 pid ${e}。之后可用 paintress web 重新启动。`,cancel:`取消`,serverClosed:`服务已关闭`,serverClosedHint:`可以关闭此页面;需要时重新启动 paintress web。`,updateAvailable:(e,t)=>`新版 v${e}(当前 v${t})`,updateTitle:`有新版本`,updatePrompt:`把 paintress 升级到最新版:npm install -g paintress@latest,完成后重启 MCP 会话。`,updateSteps:`把上面这句话交给你的 AI 即可;或自己在终端执行那条命令。`,updateRepo:`GitHub`,copy:`复制`,copied:`已复制`,close:`关闭`,versionTitle:`版本`,agentOnline:`agent 已接入`,noActiveProjects:`无激活项目`,closingIn:e=>`窗口将在 ${e} 秒后关闭`,waitingForAgent:`等待 agent 接入 —— 在项目里让 AI 操作设计稿,这里会自动出现。`,notes:`笔记`,notesTitle:`设计笔记`,canvasTools:`画布工具`,presets:`预设`,components:`组件`,closePanel:`关闭`,presetEmpty:`还没有预设。让 agent 先把颜色和倒角定下来。`,presetHint:`改一个值,画布立刻更新。`,presetColor:`颜色`,presetRadius:`倒角`,componentsEmpty:`还没有组件。让 agent 把做好的组件登记进组件库。`,componentsHint:`画新组件之前,先看这里有没有能复用的。`,componentsCount:e=>`${e} 个组件`},en:{projects:`Projects`,noProjects:`No projects registered yet`,projectFiles:e=>`${e} design${e===1?``:`s`}`,designs:`Designs`,depth:`depth`,noFiles:`No .ptr / .pen files`,marks:`Marks`,clear:`Clear`,liveReload:`Live reload`,refreshList:`Refresh`,pickProject:`Pick a project on the left`,pickFile:`Pick a design on the left`,fit:`Fit`,fitTitle:`Fit to window (Shift+1)`,actualSize:`1:1`,actualSizeTitle:`100% (Ctrl/Cmd+0)`,rerender:`Re-render`,allBoards:`All`,canvasBackground:`Canvas background`,language:`Language`,unwatch:`Unbind`,unwatchTitle:`Unbind project`,unwatchBody:e=>`“${e}” will be removed from the project list. Design files are untouched; the agent re-registers it on next start.`,closeServer:`Stop server`,closeServerTitle:`Stop web process`,closeServerBody:(e,t)=>`This drops ${t} live connection${t===1?``:`s`} and stops process pid ${e}. Restart later with paintress web.`,cancel:`Cancel`,serverClosed:`Server stopped`,serverClosedHint:`You can close this page; run paintress web to start it again.`,updateAvailable:(e,t)=>`v${e} available (running v${t})`,updateTitle:`Update available`,updatePrompt:`Upgrade paintress to the latest version: npm install -g paintress@latest, then restart the MCP session.`,updateSteps:`Hand that line to your AI, or run the command yourself in a terminal.`,updateRepo:`GitHub`,copy:`Copy`,copied:`Copied`,close:`Close`,versionTitle:`Version`,agentOnline:`Agent attached`,noActiveProjects:`No active projects`,closingIn:e=>`This window closes in ${e}s`,waitingForAgent:`Waiting for an agent — ask your AI to touch a design and it shows up here automatically.`,notes:`Notes`,notesTitle:`Design notes`,canvasTools:`Canvas tools`,presets:`Presets`,components:`Components`,closePanel:`Close`,presetEmpty:`No presets yet. Ask the agent to fix colors and corner radii first.`,presetHint:`Change a value and the canvas updates immediately.`,presetColor:`Colors`,presetRadius:`Corner radius`,componentsEmpty:`No components yet. Ask the agent to register the ones it built.`,componentsHint:`Check here before building a new component.`,componentsCount:e=>`${e} component${e===1?``:`s`}`}};function St(e){return xt[e]}function Ct(e){return(e?.languages?.[0]??e?.language??``).toLowerCase().startsWith(`zh`)?`zh`:`en`}var wt=`paintress:lang`;function Tt(e){return e===`zh`||e===`en`}function Et(){try{let e=localStorage.getItem(wt);if(Tt(e))return e}catch{}return Ct(typeof navigator>`u`?void 0:navigator)}function Dt(e){try{localStorage.setItem(wt,e)}catch{}}var Ot=R(`<aside><header class=panel-head><h2></h2><button class="ghost tiny panel-close">✕</button></header><div class=panel-body>`);function kt(e){let t=()=>[`panel`,e.floating===!0?`panel-float`:``,e.class??``].filter(e=>e!==``).join(` `);return(()=>{var n=Ot(),r=n.firstChild,i=r.firstChild,a=i.nextSibling,o=r.nextSibling;return V(i,()=>e.title),Se(a,`click`,e.onClose,!0),V(o,()=>e.children),b(r=>{var i=t(),o=e.closeLabel,s=e.closeLabel;return i!==r.e&&xe(n,r.e=i),o!==r.t&&B(a,`title`,r.t=o),s!==r.a&&B(a,`aria-label`,r.a=s),r},{e:void 0,t:void 0,a:void 0}),n})()}z([`click`]);var Z=`modulepreload`,At=function(e){return`/`+e},jt={},Mt=function(e){return e.pathname.endsWith(`.css`)},Nt=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},Pt=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=At(t,n);let r=s(t),i=Mt(r);return Nt(jt,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:Z,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{let i=a=>{t.removeEventListener(`load`,i),t.removeEventListener(`error`,i),a.type===`error`?n(Error(`Unable to preload CSS for ${r}`)):e(a)};t.addEventListener(`load`,i),t.addEventListener(`error`,i)})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Ft=null;function It(){return Ft??=Pt(()=>import(`./marked.esm-DZCVybOJ.js`),[]),Ft}var Lt=/^(https?:\/\/|mailto:|#|\/)/i;function Rt(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function Q(e){return Rt(e).replace(/'/g,`&#39;`)}async function zt(e){let{Marked:t}=await It(),n=new t({gfm:!0,breaks:!1});return n.use({renderer:{html(e){return Rt(e.text)},link(e){let t=Lt.test(e.href)?e.href:`#`,n=e.title!==null&&e.title!==void 0?` title="${Q(e.title)}"`:``,r=this.parser.parseInline(e.tokens);return`<a href="${Q(t)}"${n} target="_blank" rel="noreferrer noopener">${r}</a>`},image(e){let t=Lt.test(e.href)?e.href:``;if(t===``)return Rt(e.text??``);let n=e.title!==null&&e.title!==void 0?` title="${Q(e.title)}"`:``;return`<img src="${Q(t)}" alt="${Q(e.text??``)}"${n} loading="lazy">`}},walkTokens(e){e.type!==`link`&&e.type!==`image`||Lt.test(e.href)||(e.href=``)}}),n.parse(e,{async:!1})}var Bt=R(`<div class=markdown>`),Vt=R(`<p class=panel-error>`);function Ht(e){let[t,n]=y(``),[r,i]=y(null);return x(w(()=>e.markdown,e=>{if(e===null){n(``),i(null);return}let t=!1;zt(e).then(e=>{t||(n(e),i(null))}).catch(e=>{t||i(e instanceof Error?e.message:String(e))}),E(()=>{t=!0})})),N(kt,{get title(){return e.title},get closeLabel(){return e.closeLabel},get onClose(){return e.onClose},class:`notes-panel`,get children(){return N(F,{get when(){return r()??e.error},get fallback(){return(()=>{var e=Bt();return b(()=>e.innerHTML=t()),e})()},children:e=>(()=>{var t=Vt();return V(t,e),t})()})}})}var Ut=R(`<h3 class=panel-group>`),Wt=R(`<ul class=preset-list>`),Gt=R(`<p class=panel-empty>`),Kt=R(`<p class=panel-hint>`),qt=R(`<li class=preset-row><span class=preset-name></span><input class=preset-swatch type=color><input class=preset-value type=text>`),Jt=R(`<li class=preset-row><span class=preset-name></span><input class=preset-value type=number min=0 step=1>`);function $(e){let t=e.trim();return/^#[0-9a-fA-F]{3}$/.test(t)?`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`.toUpperCase():/^#[0-9a-fA-F]{6,8}$/.test(t)?t.slice(0,7).toUpperCase():`#000000`}function Yt(e){let[t,n]=y({}),r=e=>t()[e.key]??e.value,i=()=>e.items.filter(e=>e.type===`color`),a=()=>e.items.filter(e=>e.type===`radius`);function o(e,t){n(n=>({...n,[e]:t}))}function s(t){let i=r(t).trim();i===``||i===t.value||e.onSet(t.key,i),n(e=>{let n={...e};return delete n[t.key],n})}return N(kt,{get title(){return e.labels.title},get closeLabel(){return e.labels.close},get onClose(){return e.onClose},floating:!0,class:`preset-panel`,get children(){return N(F,{get when(){return e.items.length>0},get fallback(){return[(()=>{var t=Gt();return V(t,()=>e.labels.empty),t})(),(()=>{var t=Kt();return V(t,()=>e.labels.hint),t})()]},get children(){return[N(F,{get when(){return i().length>0},get children(){return[(()=>{var t=Ut();return V(t,()=>e.labels.color),t})(),(()=>{var t=Wt();return V(t,N(P,{get each(){return i()},children:t=>(()=>{var i=qt(),a=i.firstChild,c=a.nextSibling,l=c.nextSibling;return V(a,()=>t.name),c.addEventListener(`change`,e=>{o(t.key,e.currentTarget.value.toUpperCase()),s(t)}),c.$$input=e=>o(t.key,e.currentTarget.value.toUpperCase()),l.$$keydown=e=>{e.key===`Enter`&&s(t),e.key===`Escape`&&n({})},l.addEventListener(`blur`,()=>s(t)),l.$$input=e=>o(t.key,e.currentTarget.value),B(l,`spellcheck`,!1),b(n=>{var r=t.key,i=`${t.name} ${e.labels.color}`,o=`${t.name} ${e.labels.color}`;return r!==n.e&&B(a,`title`,n.e=r),i!==n.t&&B(c,`aria-label`,n.t=i),o!==n.a&&B(l,`aria-label`,n.a=o),n},{e:void 0,t:void 0,a:void 0}),b(()=>c.value=$(r(t))),b(()=>l.value=r(t)),i})()})),t})()]}}),N(F,{get when(){return a().length>0},get children(){return[(()=>{var t=Ut();return V(t,()=>e.labels.radius),t})(),(()=>{var t=Wt();return V(t,N(P,{get each(){return a()},children:t=>(()=>{var i=Jt(),a=i.firstChild,c=a.nextSibling;return V(a,()=>t.name),c.$$keydown=e=>{e.key===`Enter`&&s(t),e.key===`Escape`&&n({})},c.addEventListener(`blur`,()=>s(t)),c.$$input=e=>o(t.key,e.currentTarget.value),b(n=>{var r=t.key,i=`${t.name} ${e.labels.radius}`;return r!==n.e&&B(a,`title`,n.e=r),i!==n.t&&B(c,`aria-label`,n.t=i),n},{e:void 0,t:void 0}),b(()=>c.value=r(t)),i})()})),t})()]}})]}})}})}z([`input`,`keydown`]);var Xt=R(`<figure class=tile><div class=tile-frame><iframe loading=lazy scrolling=no sandbox=allow-same-origin></iframe></div><figcaption>`,!0,!1,!1),Zt=R(`<p class=panel-hint>`),Qt=R(`<div class=tiles>`),$t=R(`<p class=panel-empty>`);function en(e){let t=()=>Math.max(1,e.item.width??120),n=()=>Math.max(1,e.item.height??40),r=()=>Math.min(1,120/Math.max(t(),n()));return(()=>{var i=Xt(),a=i.firstChild,o=a.firstChild,s=a.nextSibling;return V(s,()=>e.item.name),b(i=>{var a=K(e.project,e.item.id),c=e.item.name,l=`${t()}px`,u=`${n()}px`,d=`translate(-50%, -50%) scale(${r()})`,f=e.item.name;return a!==i.e&&B(o,`src`,i.e=a),c!==i.t&&B(o,`title`,i.t=c),l!==i.a&&Ce(o,`width`,i.a=l),u!==i.o&&Ce(o,`height`,i.o=u),d!==i.i&&Ce(o,`transform`,i.i=d),f!==i.n&&B(s,`title`,i.n=f),i},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),i})()}function tn(e){return N(kt,{get title(){return e.labels.title},get closeLabel(){return e.labels.close},get onClose(){return e.onClose},floating:!0,class:`components-panel`,get children(){return N(F,{get when(){return e.items.length>0},get fallback(){return[(()=>{var t=$t();return V(t,()=>e.labels.empty),t})(),(()=>{var t=Zt();return V(t,()=>e.labels.hint),t})()]},get children(){return[(()=>{var t=Zt();return V(t,()=>e.labels.count(e.items.length)),t})(),(()=>{var t=Qt();return V(t,N(P,{get each(){return e.items},children:t=>N(en,{item:t,get project(){return e.project}})})),t})()]}})}})}var nn=R(`<svg width=18 height=18 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=1.6 stroke-linecap=round stroke-linejoin=round aria-hidden=true><rect x=3 y=3 width=18 height=18 rx=4></rect><circle cx=8.5 cy=9 r=1.3 fill=currentColor stroke=none></circle><circle cx=15.5 cy=9 r=1.3 fill=currentColor stroke=none></circle><circle cx=8.5 cy=15 r=1.3 fill=currentColor stroke=none></circle><circle cx=15.5 cy=15 r=1.3 fill=currentColor stroke=none>`),rn=R(`<svg width=18 height=18 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=1.6 stroke-linecap=round stroke-linejoin=round aria-hidden=true><rect x=3 y=3 width=7.5 height=7.5 rx=2></rect><rect x=13.5 y=3 width=7.5 height=7.5 rx=2></rect><rect x=3 y=13.5 width=7.5 height=7.5 rx=2></rect><rect x=13.5 y=13.5 width=7.5 height=7.5 rx=2>`),an=R(`<div class=tool-rail role=toolbar>`),on=R(`<button class=rail-btn>`);function sn(){return nn()}function cn(){return rn()}function ln(e){return(()=>{var t=an();return V(t,N(P,{get each(){return e.items},children:t=>(()=>{var n=on();return n.$$click=()=>e.onToggle(t.id),V(n,(()=>{var e=I(()=>t.icon===`preset`);return()=>e()?N(sn,{}):N(cn,{})})()),b(r=>{var i=e.active===t.id,a=t.label,o=t.label,s=e.active===t.id;return i!==r.e&&n.classList.toggle(`active`,r.e=i),a!==r.t&&B(n,`title`,r.t=a),o!==r.a&&B(n,`aria-label`,r.a=o),s!==r.o&&B(n,`aria-pressed`,r.o=s),r},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()})),b(()=>B(t,`aria-label`,e.label)),t})()}z([`click`]);var un=R(`<button class="badge badge-stack"><span>v</span><span class=badge-new>v`),dn=R(`<ul class=list>`),fn=R(`<section class="section files"><h2> <span class=hint> `),pn=R(`<section class="section marks"><h2><button class="ghost tiny"></button></h2><ul class=list>`),mn=R(`<span class=hint>pid `),hn=R(`<div class=error>`),gn=R(`<code>`),_n=R(`<span class=sep>/`),vn=R(`<span class="hint zoom">%`),yn=R(`<button class="ghost tiny">`),bn=R(`<button class=ghost>`),xn=R(`<span class=tool-sep>`),Sn=R(`<div class=boardbar><button class=board></button><div class=boardbar-scroll>`),Cn=R(`<button class=notes-toggle><svg width=14 height=14 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=1.6 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"></path><path d="M14 3v5h5"></path><path d="M9 13h6M9 17h4">`),wn=R(`<div class=canvas-row><div class=canvas-wrap><iframe class=preview title="design preview"sandbox="allow-same-origin allow-scripts">`),Tn=R(`<div class=modal-backdrop><div class=modal role=status><h3></h3><p class=modal-body>`),En=R(`<div class="modal-backdrop countdown-backdrop"><div class="modal countdown"role=alertdialog aria-live=polite><h3></h3><p class=modal-body></p><div class=countdown-track aria-hidden=true><span class=countdown-fill>`),Dn=R(`<p class=modal-body>`),On=R(`<pre class=prompt>`),kn=R(`<div class=app><aside class=sidebar><header class=sidebar-head><img class=brand-mark src=/logo.svg alt><h1>paintress</h1></header><section class=section><h2></h2></section><footer class=sidebar-foot><label class=toggle><input type=checkbox></label><button class=ghost></button><button class=ghost></button></footer></aside><main class=stage><div class=toolbar><div class=crumbs></div><div class=tools><div class=lang-switch role=group><button class=lang-opt>中</button><button class=lang-opt>EN`),An=R(`<span class=badge>v`),jn=R(`<p class=empty><br><code>paintress watch &lt;name&gt; &lt;dir&gt;`),Mn=R(`<li class=row><button class=item><span class=item-name></span><span class=item-meta></span></button><button class=row-action>×`),Nn=R(`<span class=dot>`),Pn=R(`<p class=empty>`),Fn=R(`<li><button class=item><span class=item-name>`),In=R(`<li><button class=item><span class=item-name><b class=mark-no>#</b> </span><span class=item-meta>`),Ln=R(`<button class=crumb>`),Rn=R(`<p>`),zn=R(`<div class=placeholder>`),Bn=R(`<button class=board><span class=board-name></span><span class=board-size>×`),Vn=R(`<a class=ghost href=https://github.com/aliciai-dev/paintress target=_blank rel=noreferrer>`);function Hn(e,t){let n=e.split(`/`).filter(e=>e!==``);for(let e=Math.min(3,n.length);e>=1;e--){let r=n.slice(0,e).map(e=>decodeURIComponent(e)).join(`/`);if(t.some(e=>e.name===r))return r}return null}function Un(e,t){let n=`/${e.split(`/`).filter(e=>e!==``).map(encodeURIComponent).join(`/`)}`;return t===null?n:`${n}?file=${t.split(`/`).map(encodeURIComponent).join(`/`)}`}function Wn(e){return typeof CSS<`u`&&typeof CSS.escape==`function`?CSS.escape(e):e.replace(/["\\]/g,`\\$&`)}function Gn(){let[e,t]=y([]),[n,r]=y([]),[i,a]=y(null),[o,s]=y([]),[c,l]=y(null),[u,d]=y([]),[f,p]=y(null),[m,h]=y([]),[g,_]=y(null),[v,S]=y({}),[C,ee]=y(0),[te,ne]=y(!0),[re,ie]=y(``),[ae,oe]=y([]),[se,ce]=y(null),[le,D]=y(1),[O,ue]=y(Et()),[k,de]=y(_t()),[fe,A]=y(null),[j,pe]=y(!1),[me,M]=y(!1),[he,ge]=y(!1),[_e,ve]=y(null),[ye,be]=y(null),[L,R]=y(null),[z,xe]=y([]),[Se,Te]=y([]),[H,U]=y(null),Ee=!1,[De,W]=y(!1),[G,Le]=y(!1),K=()=>St(O()),Ge=()=>[{id:`presets`,label:K().presets,icon:`preset`},{id:`components`,label:K().components,icon:`component`}],Ke,q,qe,J=null,Xe;function Ze(e){e.classList.toggle(`overflow`,e.scrollWidth>e.clientWidth+1)}function Y(){let e=i(),t=c();history.replaceState(null,``,e===null?`/`:Un(e,t))}let $e;function et(e){let t=n(),i=new Map(t.map(e=>[e.name,e])),a=new Set(e.map(e=>e.name)),o=[];for(let t of e){let e=i.get(t.name),n=e!==void 0&&e.leaving!==!0&&e.fileCount===t.fileCount&&e.agentConns===t.agentConns&&e.depth===t.depth&&e.label===t.label&&e.root===t.root;o.push(n?e:{...t})}let s=!1;for(let e of t)e.leaving===!0?a.has(e.name)||(o.push(e),s=!0):a.has(e.name)||(o.push({...e,leaving:!0}),s=!0);r(o),s&&(clearTimeout($e),$e=setTimeout(()=>r(e=>e.filter(e=>e.leaving!==!0)),240)),e.length>0&&(Ee=!0)}async function X(){try{let e=await Oe();t(e.projects),et(e.projects),S({pid:e.pid,version:e.version,latest:e.latest??null,connections:e.connections}),_(null)}catch(e){_(e instanceof Error?e.message:String(e))}}async function tt(){try{let e=await ke();S({pid:e.pid,version:e.version,latest:e.latest??null,connections:e.connections})}catch{}}async function nt(e){try{d((await Pe(e)).marks)}catch{d([])}}async function rt(e){a(e),l(null),p(null),h([]);try{let t=await Ae(e);s(t.files),_(null)}catch(e){s([]),_(e instanceof Error?e.message:String(e))}nt(e),Y()}async function it(){await X();let t=i();if(t!==null){if(!e().some(e=>e.name===t))a(null),l(null),s([]),p(null),h([]),Y();else{try{let n=await Ae(t),r=o();s(n.files);let i=c();if(i===null){let i=n.files.filter(e=>!r.includes(e));i.length>0&&e().some(e=>e.name===t)&&at(i[0])}else n.files.includes(i)||(l(null),p(null),h([]),Y())}catch{}nt(t)}}}function at(e){l(e),p(null),h([]),M(!1),Y()}async function st(e,t){try{let n=await Ve(e,t);ge(n.exists),ve(n.markdown??null),be(null),n.exists||M(!1)}catch(e){ge(!1),ve(null),be(e instanceof Error?e.message:String(e))}}async function ct(e){try{xe((await He(e)).items)}catch(e){_(e instanceof Error?e.message:String(e))}}async function dt(e){try{Te((await We(e)).items)}catch(e){_(e instanceof Error?e.message:String(e))}}async function ft(e,t){let n=i();if(n!==null)try{let r=await Ue(n,e,t);xe(r.items),ee(e=>e+1),_(null)}catch(e){_(e instanceof Error?e.message:String(e)),ct(n)}}function pt(e){let t=L()===e?null:e===`presets`?`presets`:`components`;R(t);let n=i();n!==null&&(t===`presets`&&ct(n),t===`components`&&dt(n))}function ht(){let e=v().latest??null,t=v().version??null;return e===null||t===null?null:Qe(e,t)?e:null}async function gt(){try{await navigator.clipboard.writeText(K().updatePrompt),Le(!0),setTimeout(()=>Le(!1),1500)}catch{}}function yt(e){A({kind:`unwatch`,name:e})}function xt(){A({kind:`shutdown`}),tt()}function Ct(){let e=fe();return e===null?{title:``,body:``,confirm:``}:e.kind===`unwatch`?{title:K().unwatchTitle,body:K().unwatchBody(e.name),confirm:K().unwatch}:{title:K().closeServerTitle,body:K().closeServerBody(v().pid??0,v().connections??0),confirm:K().closeServer}}async function wt(){let e=fe();if(A(null),e!==null)try{e.kind===`unwatch`?(await Re(e.name),await it()):(await ze(),pe(!0))}catch(e){_(e instanceof Error?e.message:String(e))}}T(()=>{let n=new EventSource(Ne());n.addEventListener(`projects`,e=>{let n=e.data,r=null;try{let e=JSON.parse(n);Array.isArray(e.projects)&&(r=e.projects)}catch{}if(r!==null){t(r),et(r);let e=i();e!==null&&!r.some(t=>t.name===e)?(a(null),l(null),s([]),p(null),h([]),Y()):it()}else it()}),n.addEventListener(`shutdown`,()=>{U(null),pe(!0)}),E(()=>n.close());let r=setTimeout(()=>{j()||tt()},4e3),o=setInterval(()=>{j()||tt()},6e4);E(()=>{clearTimeout(r),clearInterval(o)});let c=e=>{let t=e.target;return t?.tagName===`INPUT`||t?.tagName===`TEXTAREA`||t?.isContentEditable===!0},u=e=>{if(!c(e)){if(e.key===`Escape`){if(L()!==null){R(null),e.preventDefault();return}if(me()){M(!1),e.preventDefault();return}}e.key===` `&&!e.ctrlKey&&!e.metaKey&&!e.altKey?(J?.setSpace(!0),e.preventDefault()):J?.handleKey(e)===!0&&e.preventDefault()}},d=e=>{e.key===` `&&J?.setSpace(!1)};window.addEventListener(`keydown`,u),window.addEventListener(`keyup`,d),E(()=>{window.removeEventListener(`keydown`,u),window.removeEventListener(`keyup`,d)});let f=e=>{let t=qe;if(t===void 0)return;let n=e.target;if(n===null||!t.contains(n))return;let r=e.deltaY===0?e.deltaX:e.deltaY;if(r===0)return;let i=t.scrollWidth-t.clientWidth;i<=0||(e.preventDefault(),t.scrollLeft=Math.max(0,Math.min(i,t.scrollLeft+r)))};window.addEventListener(`wheel`,f,{passive:!1}),E(()=>window.removeEventListener(`wheel`,f));let m=new URLSearchParams(location.search);(async()=>{await X();let t=Hn(location.pathname,e()),n=m.get(`project`),r=t??(n!==null&&e().some(e=>e.name===n)?n:null);if(r!==null){await rt(r);let e=m.get(`file`);e?at(e):Y()}})()});let Tt;E(()=>clearInterval(Tt));function Ot(){clearInterval(Tt),Tt=void 0,U(null)}async function kt(){Ot();try{await ze()}catch{}pe(!0),window.close()}x(w(()=>e().length,e=>{j()||(e>0?H()!==null&&Ot():Ee&&H()===null&&(U(10),clearInterval(Tt),Tt=setInterval(()=>{let e=(H()??0)-1;e<=0?(Ot(),kt()):U(e)},1e3)))}));let Z=()=>Ke?.contentDocument??null;function At(){let e=Z();if(!e||e.getElementById(`ptr-style`))return;let t=e.createElement(`style`);t.id=`ptr-style`,t.textContent=ut,e.head.appendChild(t)}function jt(){let e=Z();if(!e)return;for(let t of e.querySelectorAll(`[data-ptr-selected]`))t.removeAttribute(`data-ptr-selected`);let t=f();t&&e.querySelector(`[data-node-id="${Wn(t)}"]`)?.setAttribute(`data-ptr-selected`,``)}function Mt(e){return e.parentElement?.closest(`[data-node-id]`)??null}function Nt(e){return e.querySelector(`:scope > [data-node-id]`)}function Pt(e){if(J?.consumeDragClick()===!0){e.preventDefault(),e.stopPropagation();return}let t=e.target?.closest(`[data-node-id]`);t&&(e.preventDefault(),e.stopPropagation(),Gt(e.altKey?Mt(t)??t:t))}function Ft(e,t){let n=Z();if(!n)return;let r=f(),i=r===null?null:n.querySelector(`[data-node-id="${Wn(r)}"]`);if(i===null){let e=(n.elementFromPoint(t.x,t.y)?.closest(`[data-node-id]`))?.dataset.nodeId;e!==void 0&&Kt(e);return}let a=(e===1?Mt(i):Nt(i))?.dataset.nodeId;a!==void 0&&Kt(a)}function It(e){let t=Z();if(t){for(let e of t.querySelectorAll(`[data-ptr-hover]`))e.removeAttribute(`data-ptr-hover`);(e.target?.closest(`[data-node-id]`))?.setAttribute(`data-ptr-hover`,``)}}async function Lt(){let e=i(),t=c();if(e&&t)try{let n=await Be(e,t);if(!n.ok||n.ids.length===0)return;let r=Z();if(!r)return;for(let e of n.ids)r.querySelector(`[data-node-id="${Wn(e)}"]`)?.setAttribute(`data-ptr-changed`,``)}catch{}}function Rt(){let e=Z();if(!e)return[];let t=e.querySelector(`.ptr-canvas`)?.getBoundingClientRect(),n=J?.get().z??1;return Array.from(e.querySelectorAll(`[data-board]`)).map(e=>{let r=e.dataset,i=t===void 0?null:e.getBoundingClientRect(),a=i!==null&&n>0?{x:(i.left-t.left)/n,y:(i.top-t.top)/n,w:i.width/n,h:i.height/n}:null;return{id:r.nodeId??``,...r.boardName===void 0?{}:{name:r.boardName},x:a?.x??Number(r.boardX??0),y:a?.y??Number(r.boardY??0),w:a!==null&&a.w>0?a.w:Number(r.boardW??0),h:a!==null&&a.h>0?a.h:Number(r.boardH??0)}})}function Q(){let e=i(),t=c();return e&&t?`paintress:viewport:${e}/${t}`:null}function zt(e){let t=Q();t!==null&&(clearTimeout(Xe),Xe=setTimeout(()=>{try{localStorage.setItem(t,JSON.stringify(e))}catch{}},300))}function Bt(){let e=Z();e&&(At(),Jt(),J?.destroy(),J=lt({doc:e,onChange:e=>{D(e.z),zt(e)},onLevelStep:Ft}),oe(Rt()),ce(null),Vt(),e.addEventListener(`click`,Pt,!0),e.addEventListener(`mousemove`,It,!0),jt(),Lt())}function Vt(){if(!J)return;let e=Q(),t=e===null?null:localStorage.getItem(e),n=t===null?null:ot(t);n===null?J.fitAll():J.set(n)}function Ut(e){if(ce(e),!J)return;if(e===null){J.fitAll();return}let t=ae().find(t=>t.id===e);t&&J.focusBox({x:t.x,y:t.y,w:t.w,h:t.h})}function Wt(e){let t=[],n=e;for(;n;){let e=n.closest(`[data-node-id]`);if(!e)break;let r=e;t.unshift({id:r.dataset.nodeId??``,type:r.dataset.nodeType??`?`,name:r.dataset.nodeName}),n=e.parentElement}return t}async function Gt(e){let t=e.dataset.nodeId??``;if(t===``)return;let n=Wt(e);p(t),h(n),jt();let r=i();if(r)try{await Fe({project:r,nodeId:t,...e.dataset.nodeName===void 0?{}:{name:e.dataset.nodeName},...e.dataset.nodeType===void 0?{}:{type:e.dataset.nodeType},path:n.map(e=>e.name??e.type).join(` / `)}),d((await Pe(r)).marks),_(null)}catch(e){_(e instanceof Error?e.message:String(e))}}function Kt(e){p(e),jt();let t=Z(),n=t?.querySelector(`[data-node-id="${Wn(e)}"]`);if(!n||!t){h([]);return}h(Wt(n));let r=t.querySelector(`.ptr-canvas`);if(!r||!J){n.scrollIntoView({block:`center`});return}let i=n.getBoundingClientRect(),a=r.getBoundingClientRect(),o=J.get().z;J.centerOn({x:(i.left-a.left)/o,y:(i.top-a.top)/o,w:i.width/o,h:i.height/o})}async function qt(){let e=i();if(e)try{await Ie(e),d([]),p(null),h([]),jt()}catch(e){_(e instanceof Error?e.message:String(e))}}x(()=>{let e=O();document.documentElement.lang=e===`zh`?`zh-CN`:`en`,Dt(e)});function Jt(){if(q!==void 0){if(c()===null)q.style.removeProperty(`--canvas-bg`),q.removeAttribute(`data-canvas-bg`);else{let e=mt[k()];q.style.setProperty(`--canvas-bg`,e),q.setAttribute(`data-canvas-bg`,k())}Z()?.documentElement.style.setProperty(`--ptr-canvas-bg`,mt[k()])}}x(()=>{k(),vt(k()),Jt()}),x(w([i,c,C],()=>{let e=i(),t=c();ie(e&&t?`${je(e,t)}&r=${C()}`:``),Jt()})),x(w([i,c],()=>{ge(!1),ve(null),be(null);let e=i(),t=c();e!==null&&t!==null&&st(e,t)}));let $=null;return x(w([i,c,te],()=>{$?.close(),$=null;let e=i(),t=c();te()&&e&&t&&($=new EventSource(Me(e,t)),$.addEventListener(`change`,()=>{ee(e=>e+1),st(e,t),L()===`presets`&&ct(e),L()===`components`&&dt(e)}))})),E(()=>$?.close()),(()=>{var t=kn(),r=t.firstChild,a=r.firstChild;a.firstChild.nextSibling;var s=a.nextSibling,l=s.firstChild,d=s.nextSibling,p=d.firstChild,h=p.firstChild,_=p.nextSibling,y=_.nextSibling,x=r.nextSibling,S=x.firstChild,C=S.firstChild,w=C.nextSibling,T=w.firstChild,E=T.firstChild,ie=E.nextSibling;return V(a,N(F,{get when(){return v().version},get children(){return N(F,{get when(){return ht()},get fallback(){return(()=>{var e=An();return e.firstChild,V(e,()=>v().version,null),b(()=>B(e,`title`,K().versionTitle)),e})()},get children(){var e=un(),t=e.firstChild;t.firstChild;var n=t.nextSibling;return n.firstChild,e.$$click=()=>W(!0),V(t,()=>v().version,null),V(n,ht,null),b(()=>B(e,`title`,K().updateTitle)),e}})}}),null),V(l,()=>K().projects),V(s,N(F,{get when(){return n().length>0},get fallback(){return(()=>{var e=jn(),t=e.firstChild;return V(e,()=>K().waitingForAgent,t),e})()},get children(){var e=dn();return V(e,N(P,{get each(){return n()},children:e=>(()=>{var t=Mn(),n=t.firstChild,r=n.firstChild,a=r.nextSibling,o=n.nextSibling;return n.$$click=()=>void rt(e.name),V(r,()=>e.label??e.name),V(a,()=>K().projectFiles(e.fileCount),null),V(a,(()=>{var t=I(()=>e.agentConns>0);return()=>t()?(()=>{var e=Nn();return b(()=>B(e,`title`,K().agentOnline)),e})():null})(),null),o.$$click=()=>yt(e.name),b(r=>{var a=e.leaving===!0,s=i()===e.name,c=K().unwatch,l=`${K().unwatch} ${e.name}`;return a!==r.e&&t.classList.toggle(`leaving`,r.e=a),s!==r.t&&n.classList.toggle(`active`,r.t=s),c!==r.a&&B(o,`title`,r.a=c),l!==r.o&&B(o,`aria-label`,r.o=l),r},{e:void 0,t:void 0,a:void 0,o:void 0}),t})()})),e}}),null),V(r,N(F,{get when(){return i()},get children(){var t=fn(),n=t.firstChild,r=n.firstChild,a=r.nextSibling,s=a.firstChild;return V(n,()=>K().designs,r),V(a,()=>K().depth,s),V(a,()=>e().find(e=>e.name===i())?.depth??`-`,null),V(t,N(F,{get when(){return o().length>0},get fallback(){return(()=>{var e=Pn();return V(e,()=>K().noFiles),e})()},get children(){var e=dn();return V(e,N(P,{get each(){return o()},children:e=>(()=>{var t=Fn(),n=t.firstChild,r=n.firstChild;return n.$$click=()=>at(e),V(r,e),b(()=>n.classList.toggle(`active`,c()===e)),t})()})),e}}),null),t}}),d),V(r,N(F,{get when(){return u().length>0},get children(){var e=pn(),t=e.firstChild,n=t.firstChild,r=t.nextSibling;return V(t,()=>K().marks,n),n.$$click=()=>void qt(),V(n,()=>K().clear),V(r,N(P,{get each(){return u()},children:e=>(()=>{var t=In(),n=t.firstChild,r=n.firstChild,i=r.firstChild;i.firstChild,i.nextSibling;var a=r.nextSibling;return n.$$click=()=>Kt(e.nodeId),V(i,()=>e.shortId,null),V(r,()=>e.name??e.nodeId,null),V(a,()=>e.path),b(()=>n.classList.toggle(`active`,f()===e.nodeId)),t})()})),e}}),d),h.addEventListener(`change`,e=>ne(e.currentTarget.checked)),V(p,()=>K().liveReload,null),_.$$click=()=>void X(),V(_,()=>K().refreshList),y.$$click=()=>xt(),V(y,()=>K().closeServer),V(d,N(F,{get when(){return v().pid},get children(){var e=mn();return e.firstChild,V(e,()=>v().pid,null),e}}),null),we(e=>{q=e},x),V(x,N(F,{get when(){return g()},get children(){var e=hn();return V(e,g),e}}),S),V(C,N(F,{get when(){return m().length===0},get fallback(){return N(P,{get each(){return m()},children:(e,t)=>[N(F,{get when(){return t()>0},get children(){return _n()}}),(()=>{var t=Ln();return t.$$click=()=>Kt(e.id),V(t,()=>e.name??e.type),b(()=>t.classList.toggle(`active`,f()===e.id)),t})()]})},get children(){return N(F,{get when(){return I(()=>i()!==null)()&&c()!==null},get children(){return[(()=>{var t=gn();return V(t,()=>e().find(e=>e.name===i())?.label??i()),t})(),_n(),(()=>{var e=gn();return V(e,c),e})()]}})}})),V(w,N(F,{get when(){return I(()=>i()!==null)()&&c()!==null},get children(){return[(()=>{var e=vn(),t=e.firstChild;return V(e,()=>Math.round(le()*100),t),e})(),(()=>{var e=yn();return e.$$click=()=>J?.fitAll(),V(e,()=>K().fit),b(()=>B(e,`title`,K().fitTitle)),e})(),(()=>{var e=yn();return e.$$click=()=>J?.zoomToPercent(1),V(e,()=>K().actualSize),b(()=>B(e,`title`,K().actualSizeTitle)),e})(),(()=>{var e=bn();return e.$$click=()=>ee(e=>e+1),V(e,()=>K().rerender),e})(),xn()]}}),T),V(w,N(bt,{get value(){return k()},onChange:de,get label(){return K().canvasBackground}}),T),E.$$click=()=>ue(`zh`),ie.$$click=()=>ue(`en`),V(x,N(F,{get when(){return I(()=>i()!==null)()&&c()!==null},get fallback(){return(()=>{var e=zn();return V(e,N(F,{get when(){return i()},get fallback(){return(()=>{var e=Rn();return V(e,()=>K().pickProject),e})()},get children(){var e=Rn();return V(e,()=>K().pickFile),e}})),e})()},get children(){return[N(F,{get when(){return ae().length>1},get children(){var e=Sn(),t=e.firstChild,n=t.nextSibling;return t.$$click=()=>Ut(null),V(t,()=>K().allBoards),we(e=>{qe=e},n),V(n,N(P,{get each(){return ae()},children:e=>(()=>{var t=Bn(),n=t.firstChild,r=n.nextSibling,i=r.firstChild;return t.$$click=()=>Ut(e.id),we(e=>queueMicrotask(()=>Ze(e)),n),V(n,()=>e.name??`#${e.id}`),V(r,()=>Math.round(e.w),i),V(r,()=>Math.round(e.h),null),b(()=>t.classList.toggle(`active`,se()===e.id)),t})()})),b(()=>t.classList.toggle(`active`,se()===null)),e}}),(()=>{var e=wn(),t=e.firstChild,n=t.firstChild;return V(e,N(F,{get when(){return me()},get children(){return N(Ht,{get title(){return K().notesTitle},get closeLabel(){return K().closePanel},get markdown(){return _e()},get error(){return ye()},onClose:()=>M(!1)})}}),t),n.addEventListener(`load`,Bt),we(e=>{Ke=e},n),V(t,N(F,{get when(){return I(()=>!!he())()&&!me()},get children(){var e=Cn();return e.firstChild,e.$$click=()=>M(!0),V(e,()=>K().notes,null),b(()=>B(e,`title`,K().notesTitle)),e}}),null),V(t,N(ln,{get items(){return Ge()},get active(){return L()},onToggle:pt,get label(){return K().canvasTools}}),null),V(t,N(F,{get when(){return L()===`presets`},get children(){return N(Yt,{get items(){return z()},get labels(){return{title:K().presets,close:K().closePanel,empty:K().presetEmpty,hint:K().presetHint,color:K().presetColor,radius:K().presetRadius}},onClose:()=>R(null),onSet:(e,t)=>void ft(e,t)})}}),null),V(t,N(F,{get when(){return L()===`components`},get children(){return N(tn,{get items(){return Se()},get project(){return i()??``},get labels(){return{title:K().components,close:K().closePanel,empty:K().componentsEmpty,hint:K().componentsHint,count:K().componentsCount}},onClose:()=>R(null)})}}),null),b(()=>B(n,`src`,re())),e})()]}}),null),V(t,N(Ye,{get open(){return fe()!==null},get title(){return Ct().title},get body(){return Ct().body},get confirmLabel(){return Ct().confirm},get cancelLabel(){return K().cancel},onConfirm:()=>void wt(),onCancel:()=>A(null)}),null),V(t,N(F,{get when(){return j()},get children(){var e=Tn(),t=e.firstChild.firstChild,n=t.nextSibling;return V(t,()=>K().serverClosed),V(n,()=>K().serverClosedHint),e}}),null),V(t,N(F,{get when(){return I(()=>H()!==null)()&&!j()},get children(){var e=En(),t=e.firstChild.firstChild,n=t.nextSibling,r=n.nextSibling.firstChild;return V(t,()=>K().noActiveProjects),V(n,()=>K().closingIn(H()??0)),b(e=>Ce(r,`--left`,`${(H()??0)/10*100}%`)),e}}),null),V(t,N(Je,{get open(){return De()},get title(){return K().updateTitle},onClose:()=>W(!1),get actions(){return[(()=>{var e=Vn();return V(e,()=>K().updateRepo),e})(),(()=>{var e=bn();return e.$$click=()=>W(!1),V(e,()=>K().close),e})()]},get children(){return[(()=>{var e=Dn();return V(e,()=>K().updateAvailable(ht()??``,v().version??``)),e})(),(()=>{var e=On();return V(e,()=>K().updatePrompt),e})(),(()=>{var e=yn();return e.$$click=()=>void gt(),V(e,(()=>{var e=I(()=>!!G());return()=>e()?K().copied:K().copy})()),e})(),(()=>{var e=Dn();return V(e,()=>K().updateSteps),e})()]}}),null),b(e=>{var t=K().language,n=K().language,r=O()===`zh`,i=O()===`zh`,a=O()===`en`,o=O()===`en`;return t!==e.e&&B(T,`aria-label`,e.e=t),n!==e.t&&B(T,`title`,e.t=n),r!==e.a&&E.classList.toggle(`active`,e.a=r),i!==e.o&&B(E,`aria-pressed`,e.o=i),a!==e.i&&ie.classList.toggle(`active`,e.i=a),o!==e.n&&B(ie,`aria-pressed`,e.n=o),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),b(()=>h.checked=te()),t})()}z([`click`]);var Kn=document.getElementById(`root`);if(!Kn)throw Error(`缺少 #root 容器`);L(()=>N(Gn,{}),Kn);