x-print-designer 0.3.2 → 0.3.3
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/{JsBarcode-CjIGssVQ.js → JsBarcode-D606lSTn.js} +1 -1
- package/dist/{browser-C6dIfuJY.js → browser-CARBTKXx.js} +1 -1
- package/dist/{dom-to-image-more.min-D3v39OhI.js → dom-to-image-more.min-C8Z-XA0Y.js} +1 -1
- package/dist/{index-DP3SRWJa.js → index-BCjCg5ss.js} +1 -1
- package/dist/{index.es-CruLo21o.js → index.es-LBa5dfqs.js} +1 -1
- package/dist/{jspdf.es.min-tuXNPC83.js → jspdf.es.min-qCmiZN6G.js} +1 -1
- package/dist/{jszip.min-BA8HtUau.js → jszip.min-C2-yecY2.js} +1 -1
- package/dist/print-designer.css +1 -1
- package/dist/print-designer.es.js +1 -1
- package/dist/print-designer.umd.js +1 -1
- package/dist/{web-component-Bb1zyh8n.js → web-component-ExUlxqbL.js} +49 -28
- package/package.json +1 -1
|
@@ -46,7 +46,7 @@ let Da;process.env.NODE_ENV,process.env.NODE_ENV;const Na="undefined"!=typeof wi
|
|
|
46
46
|
* core-base v11.3.2
|
|
47
47
|
* (c) 2026 kazuya kawaguchi
|
|
48
48
|
* Released under the MIT License.
|
|
49
|
-
*/function wc(e){return Bu(e)&&0===kc(e)&&(wu(e,"b")||wu(e,"body"))}const xc=["b","body"];const _c=["c","cases"];const Cc=["s","static"];const Sc=["i","items"];const Bc=["t","type"];function kc(e){return Mc(e,Bc)}const Ec=["v","value"];function Ic(e,t){const r=Mc(e,Ec);if(null!=r)return r;throw Dc(t)}const Tc=["m","modifier"];const Pc=["k","key"];function Mc(e,t,r){for(let n=0;n<t.length;n++){const r=t[n];if(wu(e,r)&&null!=e[r])return e[r]}return r}const Lc=[...xc,..._c,...Cc,...Sc,...Pc,...Tc,...Ec,...Bc];function Dc(e){return new Error(`unhandled node type: ${e}`)}function Nc(e){return t=>function(e,t){const r=(n=t,Mc(n,xc));var n;if(null==r)throw Dc(0);if(1===kc(r)){const t=function(e){return Mc(e,_c,[])}(r);return e.plural(t.reduce((t,r)=>[...t,Oc(e,r)],[]))}return Oc(e,r)}(t,e)}function Oc(e,t){const r=function(e){return Mc(e,Cc)}(t);if(null!=r)return"text"===e.type?r:e.normalize([r]);{const r=function(e){return Mc(e,Sc,[])}(t).reduce((t,r)=>[...t,Fc(e,r)],[]);return e.normalize(r)}}function Fc(e,t){const r=kc(t);switch(r){case 3:case 9:case 7:case 8:return Ic(t,r);case 4:{const n=t;if(wu(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(wu(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Dc(r)}case 5:{const n=t;if(wu(n,"i")&&uu(n.i))return e.interpolate(e.list(n.i));if(wu(n,"index")&&uu(n.index))return e.interpolate(e.list(n.index));throw Dc(r)}case 6:{const r=t,n=function(e){return Mc(e,Tc)}(r),i=function(e){const t=Mc(e,Pc);if(t)return t;throw Dc(6)}(r);return e.linked(Fc(e,i),n?Fc(e,n):void 0,e.type)}default:throw new Error(`unhandled node on format message part: ${r}`)}}function Uc(e,t){t&&(e=>ec.test(e))(e)&&au("Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.",{source:e})}const zc=e=>e;let Rc=fu();let Qc=null;const Hc=Vc("function:translate");function Vc(e){return t=>Qc&&Qc.emit(e,t)}const jc=17,Gc=18,Wc=19,Kc=20,qc=21,Yc=22,Xc=23;function Zc(e){return Ju(e,null,"production"!==process.env.NODE_ENV?{messages:Jc}:void 0)}const Jc={[jc]:"Invalid arguments",[Gc]:"The date provided is an invalid Date object.Make sure your Date represents a valid date.",[Wc]:"The argument provided is not a valid ISO date string",[Kc]:"Not support non-string message",[qc]:"cannot support promise value",[Yc]:"cannot support async function",[Xc]:"cannot support locale type"};function $c(e,t){return null!=t.locale?tA(t.locale):tA(e.locale)}let eA;function tA(e){if(Cu(e))return e;if(_u(e)){if(e.resolvedOnce&&null!=eA)return eA;if("Function"===e.constructor.name){const r=e();if(Bu(t=r)&&_u(t.then)&&_u(t.catch))throw Zc(qc);return eA=r}throw Zc(Yc)}throw Zc(Xc);var t}function rA(e,t,r){return[...new Set([r,...xu(t)?t:Bu(t)?Object.keys(t):Cu(t)?[t]:[r]])]}function nA(e,t,r){const n=Cu(r)?r:SA,i=e;i.__localeChainCache||(i.__localeChainCache=new Map);let o=i.__localeChainCache.get(n);if(!o){o=[];let e=[r];for(;xu(e);)e=iA(o,e,t);const a=xu(t)||!Iu(t)?t:t.default?t.default:null;e=Cu(a)?[a]:a,xu(e)&&iA(o,e,!1),i.__localeChainCache.set(n,o)}return o}function iA(e,t,r){let n=!0;for(let i=0;i<t.length&&Su(n);i++){const o=t[i];Cu(o)&&(n=oA(e,t[i],r))}return n}function oA(e,t,r){let n;const i=t.split("-");do{n=aA(e,i.join("-"),r),i.splice(-1,1)}while(i.length&&!0===n);return n}function aA(e,t,r){let n=!1;if(!e.includes(t)&&(n=!0,t)){n="!"!==t[t.length-1];const i=t.replace(/!/g,"");e.push(i),(xu(r)||Iu(r))&&r[i]&&(n=r[i])}return n}const sA=[];sA[0]={w:[0],i:[3,0],"[":[4],o:[7]},sA[1]={w:[1],".":[2],"[":[4],o:[7]},sA[2]={w:[2],i:[3,0],0:[3,0]},sA[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},sA[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},sA[5]={"'":[4,0],o:8,l:[5,0]},sA[6]={'"':[4,0],o:8,l:[6,0]};const lA=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function uA(e){if(null==e)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function cA(e){const t=e.trim();return("0"!==e.charAt(0)||!isNaN(parseInt(e)))&&(r=t,lA.test(r)?function(e){const t=e.charCodeAt(0);return t!==e.charCodeAt(e.length-1)||34!==t&&39!==t?e:e.slice(1,-1)}(t):"*"+t);var r}const AA=new Map;function dA(e,t){return Bu(e)?e[t]:null}const hA=1,pA=2,fA=3,gA=4,vA=5,mA=6,yA=7,bA=8,wA=9,xA=10,_A={[hA]:"Not found '{key}' key in '{locale}' locale messages.",[pA]:"Fall back to translate '{key}' key with '{target}' locale.",[fA]:"Cannot format a number value due to not supported Intl.NumberFormat.",[gA]:"Fall back to number format '{key}' key with '{target}' locale.",[vA]:"Cannot format a date value due to not supported Intl.DateTimeFormat.",[mA]:"Fall back to datetime format '{key}' key with '{target}' locale.",[yA]:"This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.",[bA]:"Invalid argument for number formatting: expected a number but received '{value}'.",[wA]:"Invalid argument for datetime formatting: expected a Date, number, or ISO string but received '{value}'."};function CA(e,...t){return au(_A[e],...t)}const SA="en-US",BA="",kA=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;let EA,IA,TA;let PA=null;const MA=()=>PA;let LA=null;const DA=e=>{LA=e};let NA=0;function OA(e={}){const t=_u(e.onWarn)?e.onWarn:eu,r=Cu(e.version)?e.version:"11.3.2",n=Cu(e.locale)||_u(e.locale)?e.locale:SA,i=_u(n)?SA:n,o=xu(e.fallbackLocale)||Iu(e.fallbackLocale)||Cu(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:i,a=Iu(e.messages)?e.messages:FA(i),s=Iu(e.datetimeFormats)?e.datetimeFormats:FA(i),l=Iu(e.numberFormats)?e.numberFormats:FA(i),u=hu(fu(),e.modifiers,{upper:(e,t)=>"text"===t&&Cu(e)?e.toUpperCase():"vnode"===t&&Bu(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>"text"===t&&Cu(e)?e.toLowerCase():"vnode"===t&&Bu(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>"text"===t&&Cu(e)?kA(e):"vnode"===t&&Bu(e)&&"__v_isVNode"in e?kA(e.children):e}),c=e.pluralRules||fu(),A=_u(e.missing)?e.missing:null,d=!Su(e.missingWarn)&&!Au(e.missingWarn)||e.missingWarn,h=!Su(e.fallbackWarn)&&!Au(e.fallbackWarn)||e.fallbackWarn,p=!!e.fallbackFormat,f=!!e.unresolving,g=_u(e.postTranslation)?e.postTranslation:null,v=Iu(e.processor)?e.processor:null,m=!Su(e.warnHtmlMessage)||e.warnHtmlMessage,y=!!e.escapeParameter,b=_u(e.messageCompiler)?e.messageCompiler:EA;var w;"production"!==process.env.NODE_ENV&&_u(e.messageCompiler)&&(w=CA(yA),tu[w]||(tu[w]=!0));const x=_u(e.messageResolver)?e.messageResolver:IA||dA,_=_u(e.localeFallbacker)?e.localeFallbacker:TA||rA,C=Bu(e.fallbackContext)?e.fallbackContext:void 0,S=e,B=Bu(S.__datetimeFormatters)?S.__datetimeFormatters:new Map,k=Bu(S.__numberFormatters)?S.__numberFormatters:new Map,E=Bu(S.__meta)?S.__meta:{};NA++;const I={version:r,cid:NA,locale:n,fallbackLocale:o,messages:a,modifiers:u,pluralRules:c,missing:A,missingWarn:d,fallbackWarn:h,fallbackFormat:p,unresolving:f,postTranslation:g,processor:v,warnHtmlMessage:m,escapeParameter:y,messageCompiler:b,messageResolver:x,localeFallbacker:_,fallbackContext:C,onWarn:t,__meta:E};return I.datetimeFormats=s,I.numberFormats=l,I.__datetimeFormatters=B,I.__numberFormatters=k,"production"!==process.env.NODE_ENV&&(I.__v_emitter=null!=S.__v_emitter?S.__v_emitter:void 0),"production"!==process.env.NODE_ENV&&function(e,t,r){Qc&&Qc.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:r})}(I,r,E),I}const FA=e=>({[e]:fu()});function UA(e,t){return e instanceof RegExp?e.test(t):e}function zA(e,t){return e instanceof RegExp?e.test(t):e}function RA(e,t,r,n,i){const{missing:o,onWarn:a}=e;if("production"!==process.env.NODE_ENV){const n=e.__v_emitter;n&&n.emit("missing",{locale:r,key:t,type:i,groupId:`${i}:${t}`})}if(null!==o){const n=o(e,r,t,i);return Cu(n)?n:t}return"production"!==process.env.NODE_ENV&&zA(n,t)&&a(CA(hA,{key:t,locale:r})),t}function QA(e,t,r){e.__localeChainCache=new Map,e.localeFallbacker(e,r,t)}function HA(e,t){return e!==t&&e.split("-")[0]===t.split("-")[0]}function VA(e,t){const r=t.indexOf(e);if(-1===r)return!1;for(let n=r+1;n<t.length;n++)if(HA(e,t[n]))return!0;return!1}const jA="undefined"!=typeof Intl,GA=jA&&void 0!==Intl.DateTimeFormat,WA=jA&&void 0!==Intl.NumberFormat;function KA(e,...t){const{datetimeFormats:r,unresolving:n,fallbackLocale:i,onWarn:o,localeFallbacker:a}=e,{__datetimeFormatters:s}=e;if("production"!==process.env.NODE_ENV&&!GA)return o(CA(vA)),BA;if(!Cu(t[0])&&!cu(t[0])&&!uu(t[0]))return"production"!==process.env.NODE_ENV&&o(CA(wA,{value:String(t[0])})),BA;const[l,u,c,A]=YA(...t),d=Su(c.missingWarn)?c.missingWarn:e.missingWarn,h=Su(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,p=!!c.part,f=$c(e,c),g=a(e,i,f);if(!Cu(l)||""===l)return new Intl.DateTimeFormat(f.replace(/!/g,""),A).format(u);let v,m={},y=null,b=f,w=null;const x="datetime format";for(let S=0;S<g.length;S++){if(v=w=g[S],"production"!==process.env.NODE_ENV&&f!==v&&UA(h,l)&&o(CA(mA,{key:l,target:v})),"production"!==process.env.NODE_ENV&&f!==v){const t=e.__v_emitter;t&&t.emit("fallback",{type:x,key:l,from:b,to:w,groupId:`${x}:${l}`})}if(m=r[v]||{},y=m[l],Iu(y))break;RA(e,l,v,d,x),b=w}if(!Iu(y)||!Cu(v))return n?-1:l;let _=`${v}__${l}`;du(A)||(_=`${_}__${JSON.stringify(A)}`);let C=s.get(_);return C||(C=new Intl.DateTimeFormat(v,hu({},y,A)),s.set(_,C)),p?C.formatToParts(u):C.format(u)}const qA=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function YA(...e){const[t,r,n,i]=e,o=fu();let a,s=fu();if(Cu(t)){const e=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!e)throw Zc(Wc);const r=e[3]?e[3].trim().startsWith("T")?`${e[1].trim()}${e[3].trim()}`:`${e[1].trim()}T${e[3].trim()}`:e[1].trim();a=new Date(r);try{a.toISOString()}catch{throw Zc(Wc)}}else if(cu(t)){if(isNaN(t.getTime()))throw Zc(Gc);a=t}else{if(!uu(t))throw Zc(jc);a=t}return Cu(r)?o.key=r:Iu(r)&&Object.keys(r).forEach(e=>{qA.includes(e)?s[e]=r[e]:o[e]=r[e]}),Cu(n)?o.locale=n:Iu(n)&&(s=n),Iu(i)&&(s=i),[o.key||"",a,o,s]}function XA(e,t,r){const n=e;for(const i in r){const e=`${t}__${i}`;n.__datetimeFormatters.has(e)&&n.__datetimeFormatters.delete(e)}}function ZA(e,...t){const{numberFormats:r,unresolving:n,fallbackLocale:i,onWarn:o,localeFallbacker:a}=e,{__numberFormatters:s}=e;if("production"!==process.env.NODE_ENV&&!WA)return o(CA(fA)),BA;if(!uu(t[0]))return"production"!==process.env.NODE_ENV&&o(CA(bA,{value:String(t[0])})),BA;const[l,u,c,A]=$A(...t),d=Su(c.missingWarn)?c.missingWarn:e.missingWarn,h=Su(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,p=!!c.part,f=$c(e,c),g=a(e,i,f);if(!Cu(l)||""===l)return new Intl.NumberFormat(f.replace(/!/g,""),A).format(u);let v,m={},y=null,b=f,w=null;const x="number format";for(let S=0;S<g.length;S++){if(v=w=g[S],"production"!==process.env.NODE_ENV&&f!==v&&UA(h,l)&&o(CA(gA,{key:l,target:v})),"production"!==process.env.NODE_ENV&&f!==v){const t=e.__v_emitter;t&&t.emit("fallback",{type:x,key:l,from:b,to:w,groupId:`${x}:${l}`})}if(m=r[v]||{},y=m[l],Iu(y))break;RA(e,l,v,d,x),b=w}if(!Iu(y)||!Cu(v))return n?-1:l;let _=`${v}__${l}`;du(A)||(_=`${_}__${JSON.stringify(A)}`);let C=s.get(_);return C||(C=new Intl.NumberFormat(v,hu({},y,A)),s.set(_,C)),p?C.formatToParts(u):C.format(u)}const JA=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function $A(...e){const[t,r,n,i]=e,o=fu();let a=fu();if(!uu(t))throw Zc(jc);const s=t;return Cu(r)?o.key=r:Iu(r)&&Object.keys(r).forEach(e=>{JA.includes(e)?a[e]=r[e]:o[e]=r[e]}),Cu(n)?o.locale=n:Iu(n)&&(a=n),Iu(i)&&(a=i),[o.key||"",s,o,a]}function ed(e,t,r){const n=e;for(const i in r){const e=`${t}__${i}`;n.__numberFormatters.has(e)&&n.__numberFormatters.delete(e)}}const td=e=>e,rd=e=>"",nd=e=>0===e.length?"":Tu(e),id=e=>null==e?"":xu(e)||Iu(e)&&e.toString===ku?JSON.stringify(e,null,2):String(e);function od(e,t){return e=Math.abs(e),2===t?1===e?0:1:Math.min(e,2)}function ad(e={}){var t,r,n,i;const o=e.locale,a=function(e){var t,r;const n=uu(e.pluralIndex)?e.pluralIndex:-1;return uu(null==(t=e.named)?void 0:t.count)?e.named.count:uu(null==(r=e.named)?void 0:r.n)?e.named.n:n}(e),s=Cu(o)&&_u(null==(t=e.pluralRules)?void 0:t[o])?e.pluralRules[o]:od,l=s===od?void 0:od,u=e.list||[],c=e.named||fu();uu(e.pluralIndex)&&(c.count||(c.count=e.pluralIndex),c.n||(c.n=e.pluralIndex));function A(t,r){const n=_u(e.messages)?e.messages(t,!!r):!!Bu(e.messages)&&e.messages[t];return n||(e.parent?e.parent.message(t):rd)}const d=_u(null==(r=e.processor)?void 0:r.normalize)?e.processor.normalize:nd,h=_u(null==(n=e.processor)?void 0:n.interpolate)?e.processor.interpolate:id,p={list:e=>u[e],named:e=>c[e],plural:e=>e[s(a,e.length,l)],linked:(t,...r)=>{const[n,i]=r;let o="text",a="";1===r.length?Bu(n)?(a=n.modifier||a,o=n.type||o):Cu(n)&&(a=n||a):2===r.length&&(Cu(n)&&(a=n||a),Cu(i)&&(o=i||o));const s=A(t,!0)(p),l=""===s||void 0===s?t:s,u="vnode"===o&&xu(l)&&a?l[0]:l;return a?(c=a,e.modifiers?e.modifiers[c]:td)(u,o):u;var c},message:A,type:Cu(null==(i=e.processor)?void 0:i.type)?e.processor.type:"text",interpolate:h,normalize:d,values:hu(fu(),u,c)};return p}const sd=()=>"",ld=e=>_u(e);function ud(e,...t){const{fallbackFormat:r,postTranslation:n,unresolving:i,messageCompiler:o,fallbackLocale:a,messages:s}=e,[l,u]=dd(...t),c=Su(u.missingWarn)?u.missingWarn:e.missingWarn,A=Su(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,d=Su(u.escapeParameter)?u.escapeParameter:e.escapeParameter,h=!!u.resolvedMessage,p=Cu(u.default)||Su(u.default)?Su(u.default)?o?l:()=>l:u.default:r?o?l:()=>l:null,f=r||null!=p&&(Cu(p)||_u(p)),g=$c(e,u);d&&function(e){xu(e.list)?e.list=e.list.map(e=>Cu(e)?mu(e):e):Bu(e.named)&&Object.keys(e.named).forEach(t=>{Cu(e.named[t])&&(e.named[t]=mu(e.named[t]))})}(u);let[v,m,y]=h?[l,g,s[g]||fu()]:cd(e,l,g,a,A,c),b=v,w=l;if(h||Cu(b)||wc(b)||ld(b)||f&&(b=p,w=b),!(h||(Cu(b)||wc(b)||ld(b))&&Cu(m)))return i?-1:l;if("production"!==process.env.NODE_ENV&&Cu(b)&&null==e.messageCompiler)return l;let x=!1;const _=ld(b)?b:Ad(e,l,m,b,w,()=>{x=!0});if(x)return b;const C=function(e,t,r,n){const{modifiers:i,pluralRules:o,messageResolver:a,fallbackLocale:s,fallbackWarn:l,missingWarn:u,fallbackContext:c}=e,A=(n,i)=>{let o=a(r,n);if(null==o&&(c||i)){const[r,,i]=cd(c||e,n,t,s,l,u);o=r??a(i,n)}if(Cu(o)||wc(o)){let r=!1;const i=Ad(e,n,t,o,n,()=>{r=!0});return r?sd:i}return ld(o)?o:sd},d={locale:t,modifiers:i,pluralRules:o,messages:A};e.processor&&(d.processor=e.processor);n.list&&(d.list=n.list);n.named&&(d.named=n.named);uu(n.plural)&&(d.pluralIndex=n.plural);return d}(e,m,y,u),S=function(e,t,r){const n="production"!==process.env.NODE_ENV?e.__v_emitter:void 0;let i,o,a=null;"production"!==process.env.NODE_ENV&&ru&&n&&(a=window.performance.now(),i="intlify-message-evaluation-start",o="intlify-message-evaluation-end",nu&&nu(i));const s=t(r);if("production"!==process.env.NODE_ENV&&ru&&n){const e=window.performance.now();n&&a&&n.emit("message-evaluation",{type:"message-evaluation",value:s,time:e-a,groupId:`translate:${t.key}`}),i&&o&&nu&&iu&&(nu(o),iu("intlify message evaluation",i,o))}return s}(e,_,ad(C));let B=n?n(S,l):S;var k;if(d&&Cu(B)&&(k=(k=(k=B).replace(/(\w+)\s*=\s*"([^"]*)"/g,(e,t,r)=>`${t}="${yu(r)}"`)).replace(/(\w+)\s*=\s*'([^']*)'/g,(e,t,r)=>`${t}='${yu(r)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(k)&&(process.env.NODE_ENV,k=k.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(e=>{k=k.replace(e,"$1javascript:")}),B=k),"production"!==process.env.NODE_ENV){const t={timestamp:Date.now(),key:Cu(l)?l:ld(b)?b.key:"",locale:m||(ld(b)?b.locale:""),format:Cu(b)?b:ld(b)?b.source:"",message:B};t.meta=hu({},e.__meta,MA()||{}),Hc(t)}return B}function cd(e,t,r,n,i,o){const{messages:a,onWarn:s,messageResolver:l,localeFallbacker:u}=e,c=u(e,n,r);let A,d=fu(),h=null,p=r,f=null;const g="translate";for(let v=0;v<c.length;v++){A=f=c[v],"production"!==process.env.NODE_ENV&&r!==A&&!HA(r,A)&&UA(i,t)&&s(CA(pA,{key:t,target:A}));const n="production"!==process.env.NODE_ENV?e.__v_emitter:void 0;"production"!==process.env.NODE_ENV&&r!==A&&n&&n.emit("fallback",{type:g,key:t,from:p,to:f,groupId:`${g}:${t}`}),d=a[A]||fu();let u,m,y=null;if("production"!==process.env.NODE_ENV&&ru&&n&&(y=window.performance.now(),u="intlify-message-resolve-start",m="intlify-message-resolve-end",nu&&nu(u)),null===(h=l(d,t))&&(h=d[t]),"production"!==process.env.NODE_ENV&&ru&&n){const e=window.performance.now();n&&y&&h&&n.emit("message-resolve",{type:"message-resolve",key:t,message:h,time:e-y,groupId:`${g}:${t}`}),u&&m&&nu&&iu&&(nu(m),iu("intlify message resolve",u,m))}if(Cu(h)||wc(h)||ld(h))break;if(!VA(A,c)){const r=RA(e,t,A,o,g);r!==t&&(h=r)}p=f}return[h,A,d]}function Ad(e,t,r,n,i,o){const{messageCompiler:a,warnHtmlMessage:s}=e;if(ld(n)){const e=n;return e.locale=e.locale||r,e.key=e.key||t,e}if(null==a){const e=()=>n;return e.locale=r,e.key=t,e}const l="production"!==process.env.NODE_ENV?e.__v_emitter:void 0;let u,c,A=null;"production"!==process.env.NODE_ENV&&ru&&l&&(A=window.performance.now(),u="intlify-message-compilation-start",c="intlify-message-compilation-end",nu&&nu(u));const d=a(n,function(e,t,r,n,i,o){return{locale:t,key:r,warnHtmlMessage:i,onError:t=>{if(o&&o(t),"production"!==process.env.NODE_ENV){const i=function(e){if(Cu(e))return e;if(e.loc&&e.loc.source)return e.loc.source}(n),o=t.location&&i&&function(e,t=0,r=e.length){const n=e.split(/\r?\n/);let i=0;const o=[];for(let a=0;a<n.length;a++)if(i+=n[a].length+1,i>=t){for(let e=a-2;e<=a+2||r>i;e++){if(e<0||e>=n.length)continue;const s=e+1;o.push(`${s}${" ".repeat(3-String(s).length)}| ${n[e]}`);const l=n[e].length;if(e===a){const e=t-(i-l)+1,n=Math.max(1,r>i?l-e:r-t);o.push(" | "+" ".repeat(e)+"^".repeat(n))}else if(e>a){if(r>i){const e=Math.max(Math.min(r-i,l),1);o.push(" | "+"^".repeat(e))}i+=l+1}}break}return o.join("\n")}(i,t.location.start.offset,t.location.end.offset),a=e.__v_emitter;a&&i&&a.emit("compile-error",{message:i,error:t.message,start:t.location&&t.location.start.offset,end:t.location&&t.location.end.offset,groupId:`translate:${r}`});const s=`Message compilation error: ${t.message}`;throw new SyntaxError(o?`${s}\n${o}`:s)}throw t},onCacheKey:e=>((e,t,r)=>lu({l:e,k:t,s:r}))(t,r,e)}}(e,r,i,n,s,o));if("production"!==process.env.NODE_ENV&&ru&&l){const e=window.performance.now();l&&A&&l.emit("message-compilation",{type:"message-compilation",message:n,time:e-A,groupId:`translate:${t}`}),u&&c&&nu&&iu&&(nu(c),iu("intlify message compilation",u,c))}return d.locale=r,d.key=t,d.source=n,d}function dd(...e){const[t,r,n]=e,i=fu();if(!(Cu(t)||uu(t)||ld(t)||wc(t)))throw Zc(jc);const o=uu(t)?String(t):(ld(t),t);return uu(r)?i.plural=r:Cu(r)?i.default=r:Iu(r)&&!du(r)?i.named=r:xu(r)&&(i.list=r),uu(n)?i.plural=n:Cu(n)?i.default=n:Iu(n)&&hu(i,n),[o,i]}"boolean"!=typeof __INTLIFY_DROP_MESSAGE_COMPILER__&&(vu().__INTLIFY_DROP_MESSAGE_COMPILER__=!1);const hd=24,pd=25,fd=26,gd=27,vd=28,md=29,yd=30,bd=31,wd=32,xd=33,_d=34;function Cd(e,...t){return Ju(e,null,"production"!==process.env.NODE_ENV?{messages:Sd,args:t}:void 0)}const Sd={[hd]:"Unexpected return type in composer",[pd]:"Invalid argument",[fd]:"Must be called at the top of a `setup` function",[gd]:"Need to install with `app.use` function",[wd]:"Unexpected error",[vd]:"Required in value: {0}",[md]:"Invalid value",[yd]:"Cannot setup vue-devtools plugin",[bd]:"Need to install with `provide` function",[xd]:"Not compatible legacy VueI18n.",[_d]:"Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly"},Bd=su("__translateVNode"),kd=su("__datetimeParts"),Ed=su("__numberParts"),Id=su("__enableEmitter"),Td=su("__disableEmitter"),Pd=su("__setPluralRules"),Md=su("__injectWithOption"),Ld=su("__dispose"),Dd={FALLBACK_TO_ROOT:xA,NOT_FOUND_PARENT_SCOPE:11,IGNORE_OBJ_FLATTEN:12,DEPRECATE_LEGACY_MODE:13,DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE:14,DUPLICATE_USE_I18N_CALLING:15},Nd={[Dd.FALLBACK_TO_ROOT]:"Fall back to {type} '{key}' with root locale.",[Dd.NOT_FOUND_PARENT_SCOPE]:"Not found parent scope. use the global scope.",[Dd.IGNORE_OBJ_FLATTEN]:"Ignore object flatten: '{key}' key has an string value",[Dd.DEPRECATE_LEGACY_MODE]:"Legacy API mode has been deprecated in v11. Use Composition API mode instead.\nAbout how to use the Composition API mode, see https://vue-i18n.intlify.dev/guide/advanced/composition.html",[Dd.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE]:"'v-t' has been deprecated in v11. Use translate APIs ('t' or '$t') instead.",[Dd.DUPLICATE_USE_I18N_CALLING]:"Duplicate `useI18n` calling by local scope. Please don't call it on local scope, due to it does not work properly in component."};function Od(e,...t){return au(Nd[e],...t)}function Fd(e){if(!Bu(e))return e;if(wc(e))return e;for(const t in e)if(wu(e,t))if(t.includes(".")){const r=t.split("."),n=r.length-1;let i=e,o=!1;for(let e=0;e<n;e++){if("__proto__"===r[e])throw new Error(`unsafe key: ${r[e]}`);if(r[e]in i||(i[r[e]]=fu()),!Bu(i[r[e]])){"production"!==process.env.NODE_ENV&&eu(Od(Dd.IGNORE_OBJ_FLATTEN,{key:r[e]})),o=!0;break}i=i[r[e]]}if(o||(wc(i)?Lc.includes(r[n])||delete e[t]:(i[r[n]]=e[t],delete e[t])),!wc(i)){const e=i[r[n]];Bu(e)&&Fd(e)}}else Bu(e[t])&&Fd(e[t]);return e}function Ud(e,t){const{messages:r,__i18n:n,messageResolver:i,flatJson:o}=t,a=Iu(r)?r:xu(n)?fu():{[e]:fu()};if(xu(n)&&n.forEach(e=>{if("locale"in e&&"resource"in e){const{locale:t,resource:r}=e;t?(a[t]=a[t]||fu(),Lu(r,a[t])):Lu(r,a)}else Cu(e)&&Lu(JSON.parse(e),a)}),null==i&&o)for(const s in a)wu(a,s)&&Fd(a[s]);return a}function zd(e){return e.type}function Rd(e){return Zo(No,null,e,0)}function Qd(){return Aa()}const Hd=()=>[],Vd=()=>!1;let jd=0;function Gd(e){return(t,r,n,i)=>e(r,n,Qd()||void 0,i)}function Wd(e={}){const{__root:t,__injectWithOption:r}=e,n=void 0===t,i=e.flatJson,o=ru?Ft:Ut;let a=!Su(e.inheritLocale)||e.inheritLocale;const s=o(t&&a?t.locale.value:Cu(e.locale)?e.locale:SA),l=o(t&&a?t.fallbackLocale.value:Cu(e.fallbackLocale)||xu(e.fallbackLocale)||Iu(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:s.value),u=o(Ud(s.value,e)),c=o(Iu(e.datetimeFormats)?e.datetimeFormats:{[s.value]:{}}),A=o(Iu(e.numberFormats)?e.numberFormats:{[s.value]:{}});let d=t?t.missingWarn:!Su(e.missingWarn)&&!Au(e.missingWarn)||e.missingWarn,h=t?t.fallbackWarn:!Su(e.fallbackWarn)&&!Au(e.fallbackWarn)||e.fallbackWarn,p=t?t.fallbackRoot:!Su(e.fallbackRoot)||e.fallbackRoot,f=!!e.fallbackFormat,g=_u(e.missing)?e.missing:null,v=_u(e.missing)?Gd(e.missing):null,m=_u(e.postTranslation)?e.postTranslation:null,y=t?t.warnHtmlMessage:!Su(e.warnHtmlMessage)||e.warnHtmlMessage,b=!!e.escapeParameter;const w=t?t.modifiers:Iu(e.modifiers)?e.modifiers:{};let x,_=e.pluralRules||t&&t.pluralRules;x=(()=>{n&&DA(null);const t={version:"11.3.2",locale:s.value,fallbackLocale:l.value,messages:u.value,modifiers:w,pluralRules:_,missing:null===v?void 0:v,missingWarn:d,fallbackWarn:h,fallbackFormat:f,unresolving:!0,postTranslation:null===m?void 0:m,warnHtmlMessage:y,escapeParameter:b,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};t.datetimeFormats=c.value,t.numberFormats=A.value,t.__datetimeFormatters=Iu(x)?x.__datetimeFormatters:void 0,t.__numberFormatters=Iu(x)?x.__numberFormatters:void 0,"production"!==process.env.NODE_ENV&&(t.__v_emitter=Iu(x)?x.__v_emitter:void 0);const r=OA(t);return n&&DA(r),r})(),QA(x,s.value,l.value);const C=Ta({get:()=>s.value,set:e=>{x.locale=e,s.value=e}}),S=Ta({get:()=>l.value,set:e=>{x.fallbackLocale=e,l.value=e,QA(x,s.value,e)}}),B=Ta(()=>u.value),k=Ta(()=>c.value),E=Ta(()=>A.value);const I=(e,r,i,o,a,f)=>{let g;s.value,l.value,u.value,c.value,A.value;try{process.env.NODE_ENV,n||(x.fallbackContext=t?LA:void 0),g=e(x)}finally{process.env.NODE_ENV,n||(x.fallbackContext=void 0)}if("translate exists"!==i&&uu(g)&&-1===g||"translate exists"===i&&!g){const[e,n]=r();if("production"!==process.env.NODE_ENV&&t&&Cu(e)&&(v=n,"translate"!==i||!v.resolvedMessage)&&(p&&(UA(h,e)||zA(d,e))&&Od(Dd.FALLBACK_TO_ROOT,{key:e,type:i}),"production"!==process.env.NODE_ENV)){const{__v_emitter:t}=x;t&&p&&t.emit("fallback",{type:i,key:e,to:"global",groupId:`${i}:${e}`})}return t&&p?o(t):a(e)}if(f(g))return g;throw Cd(hd);var v};function T(...e){return I(t=>Reflect.apply(ud,null,[t,...e]),()=>dd(...e),"translate",t=>Reflect.apply(t.t,t,[...e]),e=>e,e=>Cu(e))}const P={normalize:function(e){return e.map(e=>Cu(e)||uu(e)||Su(e)?Rd(String(e)):e)},interpolate:e=>e,type:"vnode"};function M(e){return u.value[e]||{}}jd++,t&&ru&&(an(t.locale,e=>{a&&(s.value=e,x.locale=e,QA(x,s.value,l.value))}),an(t.fallbackLocale,e=>{a&&(l.value=e,x.fallbackLocale=e,QA(x,s.value,l.value))}));const L={id:jd,locale:C,fallbackLocale:S,get inheritLocale(){return a},set inheritLocale(e){a=e,e&&t&&(s.value=t.locale.value,l.value=t.fallbackLocale.value,QA(x,s.value,l.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:B,get modifiers(){return w},get pluralRules(){return _||{}},get isGlobal(){return n},get missingWarn(){return d},set missingWarn(e){d=e,x.missingWarn=d},get fallbackWarn(){return h},set fallbackWarn(e){h=e,x.fallbackWarn=h},get fallbackRoot(){return p},set fallbackRoot(e){p=e},get fallbackFormat(){return f},set fallbackFormat(e){f=e,x.fallbackFormat=f},get warnHtmlMessage(){return y},set warnHtmlMessage(e){y=e,x.warnHtmlMessage=e},get escapeParameter(){return b},set escapeParameter(e){b=e,x.escapeParameter=e},t:T,getLocaleMessage:M,setLocaleMessage:function(e,t){if(i){const r={[e]:t};for(const e in r)wu(r,e)&&Fd(r[e]);t=r[e]}u.value[e]=t,x.messages=u.value},mergeLocaleMessage:function(e,t){u.value[e]=u.value[e]||{};const r={[e]:t};if(i)for(const n in r)wu(r,n)&&Fd(r[n]);Lu(t=r[e],u.value[e]),x.messages=u.value},getPostTranslationHandler:function(){return _u(m)?m:null},setPostTranslationHandler:function(e){m=e,x.postTranslation=e},getMissingHandler:function(){return g},setMissingHandler:function(e){null!==e&&(v=Gd(e)),g=e,x.missing=v},[Pd]:function(e){_=e,x.pluralRules=_}};return L.datetimeFormats=k,L.numberFormats=E,L.rt=function(...e){const[t,r,n]=e;if(n&&!Bu(n))throw Cd(pd);return T(t,r,hu({resolvedMessage:!0},n||{}))},L.te=function(e,t){return I(()=>{if(!e)return!1;const r=Cu(t)?t:s.value,n=Cu(t)?[r]:nA(x,l.value,r);for(let t=0;t<n.length;t++){const r=M(n[t]);let i=x.messageResolver(r,e);if(null===i&&(i=r[e]),wc(i)||ld(i)||Cu(i))return!0}return!1},()=>[e],"translate exists",r=>Reflect.apply(r.te,r,[e,t]),Vd,e=>Su(e))},L.tm=function(e){const r=function(e){let t=null;const r=nA(x,l.value,s.value);for(let n=0;n<r.length;n++){const i=u.value[r[n]]||{},o=x.messageResolver(i,e);if(null!=o){t=o;break}}return t}(e);return null!=r?r:t&&t.tm(e)||{}},L.d=function(...e){return I(t=>Reflect.apply(KA,null,[t,...e]),()=>YA(...e),"datetime format",t=>Reflect.apply(t.d,t,[...e]),()=>BA,e=>Cu(e)||xu(e))},L.n=function(...e){return I(t=>Reflect.apply(ZA,null,[t,...e]),()=>$A(...e),"number format",t=>Reflect.apply(t.n,t,[...e]),()=>BA,e=>Cu(e)||xu(e))},L.getDateTimeFormat=function(e){return c.value[e]||{}},L.setDateTimeFormat=function(e,t){c.value[e]=t,x.datetimeFormats=c.value,XA(x,e,t)},L.mergeDateTimeFormat=function(e,t){c.value[e]=hu(c.value[e]||{},t),x.datetimeFormats=c.value,XA(x,e,t)},L.getNumberFormat=function(e){return A.value[e]||{}},L.setNumberFormat=function(e,t){A.value[e]=t,x.numberFormats=A.value,ed(x,e,t)},L.mergeNumberFormat=function(e,t){A.value[e]=hu(A.value[e]||{},t),x.numberFormats=A.value,ed(x,e,t)},L[Md]=r,L[Bd]=function(...e){return I(t=>{let r;const n=t;try{n.processor=P,r=Reflect.apply(ud,null,[n,...e])}finally{n.processor=null}return r},()=>dd(...e),"translate",t=>t[Bd](...e),e=>[Rd(e)],e=>xu(e))},L[kd]=function(...e){return I(t=>Reflect.apply(KA,null,[t,...e]),()=>YA(...e),"datetime format",t=>t[kd](...e),Hd,e=>Cu(e)||xu(e))},L[Ed]=function(...e){return I(t=>Reflect.apply(ZA,null,[t,...e]),()=>$A(...e),"number format",t=>t[Ed](...e),Hd,e=>Cu(e)||xu(e))},"production"!==process.env.NODE_ENV&&(L[Id]=e=>{x.__v_emitter=e},L[Td]=()=>{x.__v_emitter=void 0}),L}const Kd="vue-i18n: composer properties",qd="Vue I18n DevTools",Yd="Vue I18n DevTools",Xd="Vue I18n",Zd="Search for scopes ...",Jd=16764185;let $d;async function eh(e,t){return new Promise((r,n)=>{try{el({id:"vue-devtools-plugin-vue-i18n",label:qd,packageName:"vue-i18n",homepage:"https://vue-i18n.intlify.dev",logo:"https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png",componentStateTypes:[Kd],app:e},n=>{$d=n,n.on.visitComponentTree(({componentInstance:e,treeNode:r})=>{!function(e,t,r){const n="composition"===r.mode?r.global:r.global.__composer;if(e&&e.__VUE_I18N__&&e.__VUE_I18N__!==n){const r={label:`i18n (${th(e)} Scope)`,textColor:0,backgroundColor:16764185};t.tags.push(r)}}(e,r,t)}),n.on.inspectComponent(({componentInstance:e,instanceData:r})=>{e.__VUE_I18N__&&r&&("legacy"===t.mode?e.__VUE_I18N__!==t.global.__composer&&rh(r,e.__VUE_I18N__):rh(r,e.__VUE_I18N__))}),n.addInspector({id:"vue-i18n-resource-inspector",label:Yd,icon:"language",treeFilterPlaceholder:Zd}),n.on.getInspectorTree(r=>{r.app===e&&"vue-i18n-resource-inspector"===r.inspectorId&&function(e,t){e.rootNodes.push({id:"global",label:"Global Scope"});const r="composition"===t.mode?t.global:t.global.__composer;for(const[n,i]of t.__instances){const o="composition"===t.mode?i:i.__composer;r!==o&&e.rootNodes.push({id:o.id.toString(),label:`${th(n)} Scope`})}}(r,t)});const i=new Map;n.on.getInspectorState(async r=>{if(r.app===e&&"vue-i18n-resource-inspector"===r.inspectorId)if(n.unhighlightElement(),function(e,t){const r=sh(e.nodeId,t);r&&(e.state=function(e){const t={},r="Locale related info",n=[{type:r,key:"locale",editable:!0,value:e.locale.value},{type:r,key:"fallbackLocale",editable:!0,value:e.fallbackLocale.value},{type:r,key:"availableLocales",editable:!1,value:e.availableLocales},{type:r,key:"inheritLocale",editable:!0,value:e.inheritLocale}];t[r]=n;const i="Locale messages info",o=[{type:i,key:"messages",editable:!1,value:nh(e.messages.value)}];t[i]=o;{const r="Datetime formats info",n=[{type:r,key:"datetimeFormats",editable:!1,value:e.datetimeFormats.value}];t[r]=n;const i="Datetime formats info",o=[{type:i,key:"numberFormats",editable:!1,value:e.numberFormats.value}];t[i]=o}return t}(r))}(r,t),"global"===r.nodeId){if(!i.has(r.app)){const[e]=await n.getComponentInstances(r.app);i.set(r.app,e)}n.highlightElement(i.get(r.app))}else{const e=function(e,t){let r=null;if("global"!==e)for(const[n,i]of t.__instances.entries())if(i.id.toString()===e){r=n;break}return r}(r.nodeId,t);e&&n.highlightElement(e)}}),n.on.editInspectorState(r=>{r.app===e&&"vue-i18n-resource-inspector"===r.inspectorId&&function(e,t){const r=sh(e.nodeId,t);if(r){const[t]=e.path;"locale"===t&&Cu(e.state.value)?r.locale.value=e.state.value:"fallbackLocale"===t&&(Cu(e.state.value)||xu(e.state.value)||Bu(e.state.value))?r.fallbackLocale.value=e.state.value:"inheritLocale"===t&&Su(e.state.value)&&(r.inheritLocale=e.state.value)}}(r,t)}),n.addTimelineLayer({id:"vue-i18n-timeline",label:Xd,color:Jd}),r(!0)})}catch(gH){n(!1)}})}function th(e){return e.type.name||e.type.displayName||e.type.__file||"Anonymous"}function rh(e,t){const r=Kd;e.state.push({type:r,key:"locale",editable:!0,value:t.locale.value}),e.state.push({type:r,key:"availableLocales",editable:!1,value:t.availableLocales}),e.state.push({type:r,key:"fallbackLocale",editable:!0,value:t.fallbackLocale.value}),e.state.push({type:r,key:"inheritLocale",editable:!0,value:t.inheritLocale}),e.state.push({type:r,key:"messages",editable:!1,value:nh(t.messages.value)}),e.state.push({type:r,key:"datetimeFormats",editable:!1,value:t.datetimeFormats.value}),e.state.push({type:r,key:"numberFormats",editable:!1,value:t.numberFormats.value})}function nh(e){const t={};return Object.keys(e).forEach(r=>{const n=e[r];var i;_u(n)&&"source"in n?t[r]={_custom:{type:"function",display:"<span>ƒ</span> "+((i=n).source?`("${oh(i.source)}")`:"(?)")}}:wc(n)&&n.loc&&n.loc.source?t[r]=n.loc.source:Bu(n)?t[r]=nh(n):t[r]=n}),t}const ih={"<":"<",">":">",'"':""","&":"&"};function oh(e){return e.replace(/[<>"&]/g,ah)}function ah(e){return ih[e]||e}function sh(e,t){if("global"===e)return"composition"===t.mode?t.global:t.global.__composer;{const r=Array.from(t.__instances.values()).find(t=>t.id.toString()===e);return r?"composition"===t.mode?r:r.__composer:null}}function lh(e,t){if($d){let r;t&&"groupId"in t&&(r=t.groupId,delete t.groupId),$d.addTimelineEvent({layerId:"vue-i18n-timeline",event:{title:e,groupId:r,time:Date.now(),meta:{},data:t||{},logType:"compile-error"===e?"error":"fallback"===e||"missing"===e?"warning":"default"}})}}const uh={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>"parent"===e||"global"===e,default:"parent"},i18n:{type:Object}};hu({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>uu(e)||!isNaN(e)}},uh),hu({value:{type:Number,required:!0},format:{type:[String,Object]}},uh);const ch=su("global-vue-i18n");function Ah(e={}){process.env.NODE_ENV;const t=!Su(e.globalInjection)||e.globalInjection,r=new Map,[n,i]=function(e){const t=de(),r=t.run(()=>Wd(e));if(null==r)throw Cd(wd);return[t,r]}(e),o=su("production"!==process.env.NODE_ENV?"vue-i18n":"");const a={get mode(){return"composition"},async install(e,...r){if("production"!==process.env.NODE_ENV&&(e.__VUE_I18N__=a),e.__VUE_I18N_SYMBOL__=o,e.provide(e.__VUE_I18N_SYMBOL__,a),Iu(r[0])){const e=r[0];a.__composerExtend=e.__composerExtend,a.__vueI18nExtend=e.__vueI18nExtend}let n=null;t&&(n=function(e,t){const r=Object.create(null);hh.forEach(e=>{const n=Object.getOwnPropertyDescriptor(t,e);if(!n)throw Cd(wd);const i=Ot(n.value)?{get:()=>n.value.value,set(e){n.value.value=e}}:{get:()=>n.get&&n.get()};Object.defineProperty(r,e,i)}),e.config.globalProperties.$i18n=r,ph.forEach(r=>{const n=Object.getOwnPropertyDescriptor(t,r);if(!n||!n.value)throw Cd(wd);Object.defineProperty(e.config.globalProperties,`$${r}`,n)});const n=()=>{delete e.config.globalProperties.$i18n,ph.forEach(t=>{delete e.config.globalProperties[`$${t}`]})};return n}(e,a.global));const s=e.unmount;if(e.unmount=()=>{n&&n(),a.dispose(),s()},"production"!==process.env.NODE_ENV){if(!(await eh(e,a)))throw Cd(yd);const t=Pu();{const e=i;e[Id]&&e[Id](t)}t.on("*",lh)}},get global(){return i},dispose(){n.stop()},__instances:r,__getInstance:function(e){return r.get(e)||null},__setInstance:function(e,t){r.set(e,t)},__deleteInstance:function(e){r.delete(e)}};return a}function dh(e={}){const t=Qd();if(null==t)throw Cd(fd);if(!t.isCE&&null!=t.appContext.app&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Cd(gd);const r=function(e){const t=nn(e.isCE?ch:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Cd(e.isCE?bd:wd);return t}(t),n=function(e){return"composition"===e.mode?e.global:e.global.__composer}(r),i=zd(t),o=function(e,t){return du(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}(e,i);if("global"===o)return function(e,t,r){let n=Bu(t.messages)?t.messages:fu();"__i18nGlobal"in r&&(n=Ud(e.locale.value,{messages:n,__i18n:r.__i18nGlobal}));const i=Object.keys(n);if(i.length&&i.forEach(t=>{e.mergeLocaleMessage(t,n[t])}),Bu(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(Bu(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}(n,e,i),n;if("parent"===o){let i=function(e,t,r=!1){let n=null;const i=t.root;let o=function(e,t=!1){if(null==e)return null;return t&&e.vnode.ctx||e.parent}(t,r);for(;null!=o;){const t=e;if("composition"===e.mode&&(n=t.__getInstance(o)),null!=n)break;if(i===o)break;o=o.parent}return n}(r,t,e.__useComponent);return null==i&&("production"!==process.env.NODE_ENV&&Od(Dd.NOT_FOUND_PARENT_SCOPE),i=n),i}const a=r;let s=a.__getInstance(t);if(null==s){const r=hu({},e);"__i18n"in i&&(r.__i18n=i.__i18n),n&&(r.__root=n),s=Wd(r),a.__composerExtend&&(s[Ld]=a.__composerExtend(s)),function(e,t,r){let n=null;ei(()=>{if("production"!==process.env.NODE_ENV){t.__VUE_I18N__=r,n=Pu();const e=r;e[Id]&&e[Id](n),n.on("*",lh)}},t),ii(()=>{const i=r;"production"!==process.env.NODE_ENV&&(n&&n.off("*",lh),i[Td]&&i[Td](),delete t.__VUE_I18N__),e.__deleteInstance(t);const o=i[Ld];o&&(o(),delete i[Ld])},t)}(a,t,s),a.__setInstance(t,s)}else"production"!==process.env.NODE_ENV&&"local"===o&&Od(Dd.DUPLICATE_USE_I18N_CALLING);return s}const hh=["locale","fallbackLocale","availableLocales"],ph=["t","rt","d","n","tm","te"];var fh,gh;if(hu({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},uh),"boolean"!=typeof __INTLIFY_DROP_MESSAGE_COMPILER__&&(vu().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),EA=function(e,t){if(!__INTLIFY_DROP_MESSAGE_COMPILER__&&Cu(e)){const r=!Su(t.warnHtmlMessage)||t.warnHtmlMessage;"production"!==process.env.NODE_ENV&&Uc(e,r);const n=(t.onCacheKey||zc)(e),i=Rc[n];if(i)return i;const{ast:o,detectError:a}=function(e,t={}){let r=!1;const n=t.onError||$u;return t.onError=e=>{r=!0,n(e)},{...bc(e,t),detectError:r}}(e,{...t,location:"production"!==process.env.NODE_ENV,jit:!0}),s=Nc(o);return a?s:Rc[n]=s}{if("production"!==process.env.NODE_ENV&&!wc(e))return t.key,()=>e;const r=e.cacheKey;if(r){const t=Rc[r];return t||(Rc[r]=Nc(e))}return Nc(e)}},fh=function(e,t){if(!Bu(e))return null;let r=AA.get(t);if(r||(r=function(e){const t=[];let r,n,i,o,a,s,l,u=-1,c=0,A=0;const d=[];function h(){const t=e[u+1];if(5===c&&"'"===t||6===c&&'"'===t)return u++,i="\\"+t,d[0](),!0}for(d[0]=()=>{void 0===n?n=i:n+=i},d[1]=()=>{void 0!==n&&(t.push(n),n=void 0)},d[2]=()=>{d[0](),A++},d[3]=()=>{if(A>0)A--,c=4,d[0]();else{if(A=0,void 0===n)return!1;if(n=cA(n),!1===n)return!1;d[1]()}};null!==c;)if(u++,r=e[u],"\\"!==r||!h()){if(o=uA(r),l=sA[c],a=l[o]||l.l||8,8===a)return;if(c=a[0],void 0!==a[1]&&(s=d[a[1]],s&&(i=r,!1===s())))return;if(7===c)return t}}(t),r&&AA.set(t,r)),!r)return null;const n=r.length;let i=e,o=0;for(;o<n;){const e=r[o];if(Lc.includes(e)&&wc(i))return null;if(!Bu(i))return null;if(!wu(i,e))return null;const t=i[e];if(void 0===t)return null;if(_u(i))return null;i=t,o++}return i},IA=fh,TA=nA,"production"!==process.env.NODE_ENV){const e=vu();e.__INTLIFY__=!0,gh=e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__,Qc=gh}process.env.NODE_ENV;const vh={en:{common:{save:"Save",cancel:"Cancel",confirm:"Confirm",close:"Close",clear:"Clear",delete:"Delete",copy:"Copy",cut:"Cut",paste:"Paste",undo:"Undo",redo:"Redo",edit:"Edit",loading:"Loading...",success:"Success",input:"Input",actions:"Actions",width:"Width",height:"Height",mm:"mm",px:"px",pt:"pt",in:"in",cm:"cm",rotate:"Rotate",lock:"Lock",unlock:"Unlock",appTitle:"Print Designer",testData:"Test Data",invalidJson:"Invalid JSON. Changes were not saved.",testDataKeyChanged:"Test data keys cannot be changed. Please only edit values.",variables:"Available Variables",fields:"Field Selection",sampleData:"View Sample Data",fieldType:"Field Type",textField:"Text",arrayField:"Array",noData:"No Data",lastSaved:"Last saved",notSavedYet:"Not saved yet"},template:{select:"Select Template",noTemplates:"No templates yet",new:"New Template",edit:"Edit Template",confirmDelete:'Are you sure you want to delete "{name}"?'},editor:{preview:"Print Preview",exportPdf:"Export PDF",exportHtml:"Export HTML",exportImage:"Export Image",print:"Print",viewJson:"View JSON",viewBlob:"View Blob",viewImageBlob:"View Image Blob",viewPdfBlob:"View PDF Blob",zoomIn:"Zoom In",zoomOut:"Zoom Out",zoomLevel:"Zoom Level",zoomSettings:"Zoom Settings",unit:"Unit",advancedSettings:"Advanced Settings",watermark:"Watermark",watermarkEnable:"Enable",watermarkText:"Text",watermarkTextPlaceholder:"Enter watermark text",watermarkAngle:"Angle",watermarkColor:"Color",watermarkOpacity:"Opacity (%)",watermarkSize:"Size",watermarkDensity:"Density",template:"Template",newTemplate:"New Template",saveTemplate:"Save Template",saveAsTemplate:"Save As Template",saveReport:"Save Report",templateMode:"Template Mode",reportMode:"Report Mode",editView:"Edit",previewView:"Preview",switchToEdit:"Switch to Edit",switchToPreview:"Switch to Preview",templates:"Templates",shortcuts:"Shortcuts",help:"Help",about:"About",paperSettings:"Paper Settings",sizePreset:"Size Preset",custom:"Custom",spacingX:"Horizontal Margin",spacingY:"Vertical Margin",showMarginLines:"Show Margin Lines",showCornerMarkers:"Show Corner Markers",showGrid:"Show Grid",showMinimap:"Show Minimap",headerFooter:"Header & Footer",headerLine:"Header Line",footerLine:"Footer Line",addNewPage:"Add New Page",fonts:{default:"Default",arial:"Arial",timesNewRoman:"Times New Roman",courierNew:"Courier New",simSun:"SimSun (宋体)",simHei:"SimHei (黑体)"},bold:"Bold",italic:"Italic",underline:"Underline",verticalText:"Vertical Text",textColor:"Text Color",backgroundColor:"Background Color",resetRotation:"Reset Rotation",alignLeft:"Align Left",alignCenter:"Align Center",alignRight:"Align Right",alignTop:"Align Top",alignMiddle:"Align Middle",alignBottom:"Align Bottom",group:"Group",lock:"Lock",unlock:"Unlock",fontFamily:"Font Family",settings:"Settings"},canvas:{addPage:"Add Page",copyPage:"Copy Page",pastePage:"Paste Page",deletePage:"Delete Page",newText:"New Field",newRichText:"Rich Text Content",newDataCard:"Data Card",signature:"Signature Area",headerLabel:"Header",footerLabel:"Footer",defaultTableHeaders:{id:"ID",name:"Name",qty:"Qty",price:"Price",total:"Total"},defaultTableData:{item:"Item",pageSum:"Page Sum",total:"Total",inWords:"In Words"},defaultChartData:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun"}},sidebar:{elements:"Elements",dragToCanvas:"Drag elements to the canvas",standard:"Standard",custom:"Custom",general:"General",dataCodes:"Data & Codes",shapes:"Shapes",text:"Field",image:"Image",pagination:"Pagination",table:"Data Table",customTable:"Custom Table",barcode:"Barcode",qrcode:"QR Code",line:"Line",rect:"Rect",circle:"Circle",chart:"Chart",longText:"Long Text",noCustomElements:"No custom elements saved yet.",moreOptions:"More options",editElement:"Design Element",edit:"Edit",copy:"Copy",delete:"Delete",editModalTitle:"Edit Custom Element",enterNamePlaceholder:"Enter element name...",confirmDelete:'Are you sure you want to delete "{name}"?',confirmSwitchEdit:'Exit current edit for "{name}"?',confirmExitEdit:"You have unsaved changes. Exit anyway?",editingElement:"Editing custom element: {name}",saveEdit:"Save",saveAs:"Save As",exitEdit:"Exit",saveAsCustomElement:"Save as Custom Element",editSaveFailed:"Nothing to save. Please select an element."},elements:{text:"Field",image:"Image",table:"Data Table",customTable:"Custom Table",line:"Line",rect:"Rect",circle:"Circle",barcode:"Barcode",qrcode:"QR Code",pageNumber:"Page Number",chart:"Chart",longText:"Long Text",custom:"Custom",layers:"Layers"},properties:{title:"Properties",subtitle:"Edit element properties",locked:"Locked",multiSelectMode:"Multi-select mode",selectedElements:"{n} elements selected",deleteSelected:"Delete Selected Elements",tab:{properties:"Properties",style:"Style",advanced:"Advanced"},section:{positionSize:"Position & Size",layer:"Layer",dataBehavior:"Data & Behavior",layoutDimensions:"Layout & Dimensions",headerStyle:"Header Style",footerStyle:"Footer Style",cellOperations:"Cell Operations",appearance:"Appearance",elementInfo:"Element Info",content:"Content",typography:"Typography",border:"Border",barcodeSettings:"Barcode Settings",qrSettings:"QR Settings",labelContent:"Label Content",paginationTypography:"Pagination Typography",labelStyle:"Label Style",frameBorder:"Frame Border",lineStyle:"Line Style",dataSource:"Data Source",tableColumns:"Table Columns",tableLayout:"Table Layout",cellStyle:"Cell Style",imageSource:"Image Source",chartAppearance:"Chart Appearance",chartTitleStyle:"Title Style",chartLegend:"Legend Settings",chartAxis:"Axis Settings",chartBarStyle:"Bar Chart Style",chartLineStyle:"Line Chart Style",chartPieStyle:"Pie Chart Style",chartDataLabel:"Data Label",advanced:"Advanced",customTableSettings:"Custom Table Settings",cellEdit:"Cell Editing",fieldSelection:"Field Selection",nestedColumns:"Child Table Columns"},action:{mergeCells:"Merge Cells",splitCells:"Split Cells",bringToFront:"Bring to Front",sendToBack:"Send to Back",moveUp:"Move Up",moveDown:"Move Down",copyId:"Copy ID",copied:"Copied!",addColumn:"Add Column",saveCustom:"Save as Custom Element",deleteElement:"Delete Current Element",saveCustomModal:"Save Custom Element"},empty:{noSelection:"No Selection",selectInstruction:"Select an element to edit properties"},label:{type:"Type",textAlign:"Text Align",x:"X",y:"Y",width:"Width",height:"Height",zIndex:"Layer",content:"Content",variable:"Variable",dataVariable:"Data Variable",selectField:"Select Field",searchField:"Search fields",selectDataField:"Please select a data field in the properties panel",columnsVariable:"Columns Variable",footerDataVariable:"Footer Data Variable",writingMode:"Writing Mode",fontSize:"Font Size",color:"Color",verticalAlign:"Vertical Align",fontFamily:"Font Family",fontWeight:"Font Weight",borderStyle:"Border Style",borderWidth:"Border Width",borderColor:"Border Color",backgroundColor:"Background Color",imageSource:"Image Source",format:"Format",showText:"Show Text",lineWidth:"Line Width",barcodeHeight:"Height",margin:"Margin",textPosition:"Text Position",errorCorrection:"Error Correction",thickness:"Thickness",cornerRadius:"Corner Radius",background:"Background",autoPaginate:"Auto Paginate",autoHeight:"Auto Height",repeatPerPage:"Repeat Per Page",repeatFooter:"Repeat Footer",showFooter:"Show Footer",columns:"Columns",columnPicker:"Select Columns",columnAlias:"Header Alias",headerAliasPlaceholder:"Enter alias",data:"Data",footerData:"Footer Data",customScript:"Custom Script",customScriptVariable:"Custom Script Variable",headerPosition:"Header Position",headerHeight:"Header Height",rowHeight:"Row Height",footerHeight:"Footer Height",textColor:"Text Color",editCell:"Edit Cell",editColumn:"Edit Column",headerText:"Header Text",fieldKey:"Field Key",variableField:"Variable Field",headerNamePlaceholder:"Header Name",displayTextPlaceholder:"Display Text (e.g. Total:)",dataFieldPlaceholder:"Data Field (e.g. {#amount})",id:"ID",labelBorderColor:"Label Border Color",barcodeContentPlaceholder:"Barcode Value",qrContentPlaceholder:"QR Code Value",textContentPlaceholder:"Enter text content",longTextPlaceholder:'Enter long text content, click "Insert Field" below to insert fields at cursor position',variablePlaceholder:"Variable Name (e.g. @name)",labelText:"Label Text",labelPosition:"Label Position",labelFontSize:"Label Font Size",labelColor:"Label Color",labelFontFamily:"Label Font Family",labelFontWeight:"Label Font Weight",labelBackgroundColor:"Label Background Color",labelBorderStyle:"Label Border Style",labelBorderWidth:"Label Border Width",pageFormat:"Page Format",labelTextPlaceholder:"e.g. Page",columnsPlaceholder:'[{ "field": "name", "header": "Name", "width": 100 }]',dataPlaceholder:"[{...}]",footerDataPlaceholder:'[{ "id": { "value": "Total" }, "amount": { "value": "Total:", "field": "{#sum}" } }]',customScriptPlaceholder:"return { data: ... };",fontStyle:"Font Style",padding:"Padding (px)",chartTitle:"Chart Title",chartType:"Chart Type",chartData:"Chart Data",chartDataSource:"Data Source",chartDataSourcePlaceholder:"Select array data source",chartXField:"X Field",chartXFieldPlaceholder:"Select X axis field",chartYField:"Y Field",chartYFieldPlaceholder:"Select Y axis field",chartNameField:"Name Field",chartNameFieldPlaceholder:"Select name field (Pie)",chartValueField:"Value Field",chartValueFieldPlaceholder:"Select value field (Pie)",chartShowLegend:"Show Legend",chartShowTooltip:"Show Tooltip",chartShowDataLabel:"Show Data Label",chartColors:"Color List",chartTitleFontSize:"Title Font Size",chartTitleColor:"Title Color",chartTitleFontWeight:"Title Weight",chartTitlePlaceholder:"Enter chart title",chartLegendPosition:"Legend Position",chartLegendFontSize:"Legend Font Size",chartLegendColor:"Legend Color",chartXAxisTitle:"X Axis Title",chartXAxisTitlePlaceholder:"Enter X axis title",chartYAxisTitle:"Y Axis Title",chartYAxisTitlePlaceholder:"Enter Y axis title",chartXAxisFontSize:"X Axis Font Size",chartYAxisFontSize:"Y Axis Font Size",chartXAxisColor:"X Axis Color",chartYAxisColor:"Y Axis Color",chartShowGrid:"Show Grid",chartGridColor:"Grid Color",chartBarWidth:"Bar Width",chartBarColor:"Bar Color",chartLineSmooth:"Smooth Curve",chartLineWidth:"Line Width",chartLineColor:"Line Color",chartPieRadius:"Pie Radius",chartDoughnutInnerRadius:"Doughnut Inner Radius",chartDoughnutOuterRadius:"Doughnut Outer Radius",chartDataPlaceholder:'[{ "name": "Jan", "value": 820 }, ...]',chartColorsPlaceholder:'["#5470c6", "#91cc75", ...]',customOptions:"Custom Options (JSON)",customOptionsPlaceholder:'{ "title": { "text": "..." }, ... }',headerBackgroundColor:"Header Background",headerColor:"Header Color",headerFontSize:"Header Font Size",headerTextAlign:"Header Align",selectDataSource:"Select Data Source",selectDataSourceFirst:"Please select data source first",insertField:"Insert Field",customTableRows:"Rows",customTableCols:"Cols",customTableCellCount:"Rows & Cols",cellContentType:"Content Type",cellText:"Text Content",cellField:"Field Variable",cellImage:"Image",cellImageUrl:"Image URL",cellImageWidth:"Image Width",cellImageHeight:"Image Height",cellBackgroundColor:"Cell Background Color",clear:"Clear",mergeCell:"Merge Cells",splitCell:"Split Cell",customTableCells:"Cell Data",lineThickness:"Line Thickness",lineColor:"Line Color",spacing:"Spacing",richTextContent:"Rich Text Content",richTextPlaceholder:"Enter rich text content, support bold, italic, underline, lists, etc.",lineHeight:"Line Height",dateVariable:"Date Field",selectDateField:"Select Date Field",dateFormat:"Date Format",cardTitle:"Card Title",cardTitlePlaceholder:"Enter card title",staticValue:"Static Value",unit:"Unit",unitPlaceholder:"Enter unit",valueKey:"Value Key",valueKeyPlaceholder:"e.g. value",labelKey:"Label Key",labelKeyPlaceholder:"e.g. label",trend:"Trend",trendValue:"Trend Value",trendValuePlaceholder:"e.g. +5%",cardStyle:"Card Style",borderRadius:"Border Radius (px)",valueFontSize:"Value Font Size",cardPadding:"Padding",progressVariable:"Progress Variable",staticPercent:"Static Percent",percentKey:"Percent Key",percentKeyPlaceholder:"e.g. percent",colorKey:"Color Key",colorKeyPlaceholder:"e.g. color",progressStyle:"Progress Style",barColor:"Bar Color",barHeight:"Bar Height",showLabel:"Show Label",progressLabelPosition:"Label Position",listItems:"List Items",listLayout:"List Layout",iconSize:"Icon Size",signature:"Signature",signatureImage:"Signature Image",signatureLabel:"Label Text",signatureLabelPlaceholder:"e.g. Approval Signature",signatureType:"Type",seal:"Seal",sealText:"Seal Text",sealTextPlaceholder:"e.g. Official Stamp",appearance:"Appearance",opacity:"Opacity (%)",qrcodeWithText:"QR with Text",qrcodeContent:"QR Content",qrcodeContentPlaceholder:"Enter content or select field",qrcodeTitle:"Title",qrcodeTitlePlaceholder:"Enter title",qrcodeDescription:"Description",qrcodeDescriptionPlaceholder:"Enter description",qrcodeStyle:"QR Style",qrcodeColor:"Foreground",qrcodeBgColor:"Background",correctionLevel:"Correction Level",nestedTable:"Nested Table",nestedDataVariable:"Nested Data",nestedDataSource:"Data Source",parentField:"Parent Field",parentFieldPlaceholder:"e.g. categories",childField:"Child Field",childFieldPlaceholder:"e.g. items",parentLabelKey:"Parent Label Key",parentLabelKeyPlaceholder:"e.g. name",selectParentField:"Select parent label field",selectChildField:"Select child array field",noChildArray:"No child array field found",nestedTableStyle:"Nested Table Style",nestedColumns:"Child Table Columns",customTitle:"Custom Title",customTitlePlaceholder:"Enter custom title (priority display)",progressTitle:"Progress Title",progressTitlePlaceholder:"Enter progress title",progressTitlePosition:"Title Position",progressTitleField:"Title Field",progressTitleFieldPlaceholder:"Select title field",listItem1:"List Item 1",listItem2:"List Item 2",listItem3:"List Item 3",listItem4:"List Item 4",listItem5:"List Item 5",listItemPlaceholder:"Enter list item content"},option:{horizontal:"Horizontal",vertical:"Vertical",default:"Default",left:"Left",center:"Center",right:"Right",normal:"Normal",medium:"Medium",bold:"Bold",none:"None",up:"Up",down:"Down",inside:"Inside",outside:"Outside",hide:"Hide",solid:"Solid",dashed:"Dashed",dotted:"Dotted",yes:"Yes",no:"No",top:"Top",headerTop:"Top",headerLeft:"Left",middle:"Middle",bottom:"Bottom",before:"Before",after:"After",eccLow:"Low (7%)",eccMedium:"Medium (15%)",eccQuartile:"Quartile (25%)",eccHigh:"High (30%)",arial:"Arial",timesNewRoman:"Times New Roman",courierNew:"Courier New",simSun:"SimSun (宋体)",simHei:"SimHei (黑体)",page1:"Page 1",oneTotal:"1/Total",code128:"CODE128",ean13:"EAN-13",upc:"UPC",code39:"CODE39",itf14:"ITF-14",msi:"MSI",pharmacode:"Pharmacode",numberOnly:"Number (1)",chartBar:"Bar",chartLine:"Line",chartArea:"Area",chartPie:"Pie",chartDoughnut:"Doughnut",cellTypeText:"Text",cellTypeField:"Field",cellTypeImage:"Image"},image:{urlPlaceholder:"https://... or data:image/...",uploadBtn:"Upload Image",uploadTip:"Max 2MB, converts to Base64",sizeError:"Image size must be less than 2MB",readError:"Failed to read file"},align:{left:"Align Left",center:"Align Center",right:"Align Right"}},shortcuts:{title:"Shortcuts",keyboardShortcuts:"Keyboard Shortcuts",general:"General",editing:"Editing",manipulation:"Manipulation",newTemplate:"New Template",openSettings:"Open Settings",openHelp:"Open Help",zoom:"Zoom In/Out",closeModal:"Close Modal",selectAll:"Select All",multiSelect:"Multi-select",move:"Move",fastMove:"Fast Move",snapRotate:"Snap Rotate",resize:"Proportional Resize",saveAsTemplate:"Save As Template",customEditSave:"Save Custom Edit",customEditSaveAs:"Save Custom Edit As",customEditExit:"Exit Custom Edit",ctrl:"Ctrl",shift:"Shift",alt:"Alt",esc:"Esc",del:"Delete",enter:"Enter",arrow:"Arrow Keys",drag:"Drag",click:"Click",wheel:"Wheel"},help:{title:"Help Center",about:"About",aboutProject:"About {name}",links:"Links",github:"Project URL",website:"Website",dependencies:"Open Source Dependencies",package:"Package",version:"Version"},colorPicker:{clear:"Clear",transparent:"Transparent"},settings:{title:"Settings",basic:"Basic",language:"Language",connection:"Connections",themeColor:"Theme Color",themeColorDesc:"Pick a preset theme color and apply instantly.",themePresetDefault:"Blue",themePresetEmerald:"Emerald",themePresetAmber:"Amber",themePresetRose:"Rose",themePresetCustom:"Custom",theme:"Theme",themeSystem:"Follow System",themeLight:"Light",themeDark:"Dark",themeDesc:"Defaults to following system; you can force Light or Dark.",autoSave:"Auto Save",autoSaveDesc:"Automatically save changes (saved templates only).",printQuality:"Print Quality",printQualityFast:"Fast",printQualityNormal:"Normal",printQualityHigh:"High",printQualityUltra:"Ultra",printQualityDesc:"Set the rendering quality for exporting images and printing",exportImageMerged:"Export Image As Single",exportImageMergedDesc:"When off, export each page as a separate image inside a ZIP file.",languageDesc:"Choose the interface language.",connectionDesc:"Connection settings placeholder.",printMode:"Print Mode",printModeLocal:"Local Client",printModeRemote:"Remote Cloud",printModeBrowser:"Browser",printModeDesc:"Local and remote options require a successful connection test.",silentPrint:"Silent Print",silentPrintDesc:"When enabled, skip the custom print dialog; browser print still uses the browser dialog.",localConnection:"Client Print",remoteConnection:"Remote Print",host:"Host",port:"Port",wsPath:"WS Path",protocol:"Protocol",wsAddress:"WS Address",wsAddressPlaceholder:"ws://host:port/ws/request",localWsAddressPlaceholder:"ws://host:port/ws",secretKey:"Secret Key",connectionUrl:"Connection URL",connect:"Connect",disconnect:"Disconnect",connecting:"Connecting...",connectionTesting:"Testing connection...",connectionOk:"Connection OK",connectionOkWithUser:"Connection OK (User: {userId})",connectionFailed:"Connection failed",connectionTimeout:"Connection timeout",connectionMissingFields:"Please fill in API URL, username, and password.",connectionMissingToken:"Login succeeded but token is missing.",apiBaseUrl:"Login URL",apiBasePlaceholder:"http://host:port/api/login",username:"Username",password:"Password",remoteLoginTitle:"Login (HTTP)",remoteLoginDesc:"Used to obtain the JWT token. Enter the full login URL.",remoteWsTitle:"WebSocket (Print Relay)",remoteWsDesc:"Used for printing and client/printer queries. Token is appended to the WS URL.",localClientTitle:"Local Client",downloadClient:"Download Client",cloudPrint:"Cloud Print",localClientDesc:"Configure the local client WebSocket and secret key for on-device printing.",remoteClient:"Default Client",remoteClientPlaceholder:"Select a client",remoteAuthHint:"Remote WS URL appends ?token=JWT for browser WebSocket authentication.",status:{connected:"Connected",connecting:"Connecting",disconnected:"Disconnected",error:"Error"},retrying:"Retrying ({count}/{max})",cancelRetry:"Cancel Retry",selectLanguage:"Select Language",zhLabel:"Chinese",enLabel:"English"},printDialog:{title:"Print Options",titleLocal:"Client Print Options",titleRemote:"Remote Print Options",sectionBasic:"Basic",sectionAdvanced:"Advanced",printer:"Printer",printerSelect:"Select printer",printerEmpty:"No printers found.",remoteClient:"Client",remoteClientPlaceholder:"Select client",remoteClientEmpty:"No clients found.",remotePrinterInfo:"Type: {type} | Paper: {paper} | Formats: {format}",printerPlaceholder:"Printer name",jobName:"Job Name",jobNamePlaceholder:"Optional job name",copies:"Copies",intervalMs:"Interval (ms)",pageRange:"Page Range",pageRangePlaceholder:"e.g. 1-3,5",pageSet:"Page Set",pageSetAll:"All",pageSetOdd:"Odd",pageSetEven:"Even",scale:"Scale",scaleNo:"No Scale",scaleShrink:"Shrink",scaleFit:"Fit",orientation:"Orientation",portrait:"Portrait",landscape:"Landscape",colorMode:"Color Mode",color:"Color",monochrome:"Monochrome",sidesMode:"Duplex",simplex:"Simplex",duplex:"Duplex",duplexShort:"Duplex (Short Edge)",duplexLong:"Duplex (Long Edge)",paperSize:"Paper Size",paperSizePlaceholder:"e.g. A4",trayBin:"Tray",trayBinPlaceholder:"e.g. 2 or Manual",confirm:"Print"},confirm:{reportSaveTitle:"Save Report",reportSaveWarning:"This report contains a data snapshot. Saving will update both layout and data. Continue?",saveReport:"Save Report",cancel:"Cancel"},preview:{title:"Print Preview",templateJson:"Template JSON",zoomIn:"Zoom In",zoomOut:"Zoom Out",emptyDataWarning:"Data not bound or data is empty"},testData:{title:"Test Data Manager",copy:"Copy Data",export:"Export JSON",import:"Import JSON",reset:"Reset Data",editJson:"Edit JSON",saveJson:"Save JSON",noData:"No test data",hint:"Tip: After modifying test data, preview will update in real-time"},input:{title:"Input",placeholder:"Enter value..."},toast:{templateReadOnly:"System template is read-only and cannot be edited.",templateCopyNotAllowed:"System template cannot be copied.",templateDeleteNotAllowed:"System template cannot be deleted.",templateSaveFailed:"Failed to save template.",templateDeleteFailed:"Failed to delete template.",templateEditFailed:"Failed to edit template.",templateCopyFailed:"Failed to copy template.",templateUpsertFailed:"Failed to save template.",customElementReadOnly:"System custom element is read-only and cannot be edited.",customElementCopyNotAllowed:"System custom element cannot be copied.",customElementDeleteNotAllowed:"System custom element cannot be deleted.",customElementCopyFailed:"Failed to copy custom element.",customElementAddFailed:"Failed to add custom element.",customElementRemoveFailed:"Failed to delete custom element",customElementEditFailed:"Failed to edit custom element",customElementUpsertFailed:"Failed to save custom element",printerRequired:"Printer is required",clientRequired:"Client is required",printFailed:"Print failed",exportPdfFailed:"Export PDF failed",exportImageFailed:"Export Image failed"}},zh:{common:{save:"保存",cancel:"取消",confirm:"确认",close:"关闭",clear:"清除",delete:"删除",copy:"复制",cut:"剪切",paste:"粘贴",undo:"撤销",redo:"重做",edit:"编辑",loading:"加载中...",success:"成功",input:"输入",actions:"操作",width:"宽度",height:"高度",mm:"毫米",px:"像素",pt:"磅",in:"英寸",cm:"厘米",rotate:"旋转",lock:"锁定",unlock:"解锁",appTitle:"打印设计器",testData:"测试数据",invalidJson:"JSON 无效,未保存更改。",testDataKeyChanged:"测试数据的键不允许修改,请仅编辑值。",variables:"可用变量",fields:"字段选择",sampleData:"数据",fieldType:"字段类型",textField:"文本",arrayField:"数组",noData:"暂无数据",lastSaved:"最近保存",notSavedYet:"尚未保存"},template:{select:"选择模版",noTemplates:"暂无模版",new:"新建模版",edit:"编辑模版",confirmDelete:'确定要删除 "{name}" 吗?'},editor:{preview:"打印预览",exportPdf:"导出 PDF",exportHtml:"导出 HTML",exportImage:"导出图片",print:"打印",viewJson:"查看 JSON",viewBlob:"查看 Blob",viewImageBlob:"查看图片 Blob",viewPdfBlob:"查看 PDF Blob",zoomIn:"放大",zoomOut:"缩小",zoomLevel:"缩放级别",zoomSettings:"缩放设置",unit:"单位",advancedSettings:"高级设置",watermark:"水印",watermarkEnable:"启用",watermarkText:"文字",watermarkTextPlaceholder:"请输入水印文字",watermarkAngle:"方向",watermarkColor:"颜色",watermarkOpacity:"透明度(%)",watermarkSize:"大小",watermarkDensity:"密度",template:"模版",newTemplate:"新建模版",saveTemplate:"保存模版",saveAsTemplate:"另存为模版",saveReport:"保存报告",templateMode:"模板模式",reportMode:"报告模式",editView:"编辑",previewView:"预览",switchToEdit:"切换到编辑",switchToPreview:"切换到预览",templates:"模版列表",shortcuts:"快捷键",help:"帮助",about:"关于",paperSettings:"页面设置",sizePreset:"纸张尺寸",custom:"自定义",spacingX:"水平边距",spacingY:"垂直边距",showMarginLines:"显示边距线",showCornerMarkers:"显示角标",showGrid:"显示网格",showMinimap:"显示缩略图",headerFooter:"页眉页脚",headerLine:"页眉线",footerLine:"页脚线",addNewPage:"添加新页",fonts:{default:"默认",arial:"Arial",timesNewRoman:"Times New Roman",courierNew:"Courier New",simSun:"宋体",simHei:"黑体"},bold:"加粗",italic:"斜体",underline:"下划线",verticalText:"竖排文本",textColor:"文本颜色",backgroundColor:"背景颜色",resetRotation:"重置旋转",alignLeft:"左对齐",alignCenter:"水平居中",alignRight:"右对齐",alignTop:"顶部对齐",alignMiddle:"垂直居中",alignBottom:"底部对齐",group:"组合",lock:"锁定",unlock:"解锁",fontFamily:"字体",settings:"设置"},canvas:{addPage:"添加页",copyPage:"复制页",pastePage:"粘贴页",deletePage:"删除页",newText:"新字段",newRichText:"富文本内容",newDataCard:"数据卡片",signature:"印章/签名区域",headerLabel:"页眉",footerLabel:"页脚",defaultTableHeaders:{id:"ID",name:"名称",qty:"数量",price:"单价",total:"合计"},defaultTableData:{item:"商品",pageSum:"本页合计",total:"总计",inWords:"大写金额"},defaultChartData:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月"}},sidebar:{custom:"自定义",elements:"元素库",dragToCanvas:"拖拽元素到画布",standard:"标准元素",general:"通用",dataCodes:"数据 & 条码",shapes:"图形",text:"字段",image:"图片",pagination:"页码",table:"数据表格",customTable:"自定义表格",barcode:"条形码",qrcode:"二维码",line:"直线",rect:"矩形",circle:"圆形",chart:"图表",longText:"长文本",richText:"富文本",date:"日期",dataCard:"数据卡片",progress:"进度条",list:"列表",signature:"印章/签名",nestedTable:"嵌套表格",noCustomElements:"暂无自定义元素",moreOptions:"更多选项",editElement:"设计元素",edit:"编辑",copy:"复制",delete:"删除",editModalTitle:"编辑自定义元素",enterNamePlaceholder:"输入元素名称...",confirmDelete:'确定要删除 "{name}" 吗?',confirmSwitchEdit:'退出当前对 "{name}" 的编辑?',confirmExitEdit:"存在未保存的更改,确定退出吗?",editingElement:"正在编辑自定义元素:{name}",saveEdit:"保存",saveAs:"另存为",exitEdit:"退出",saveAsCustomElement:"另存为自定义元素",editSaveFailed:"没有可保存的元素,请先选中一个元素。"},elements:{text:"字段",image:"图片",table:"数据表格",customTable:"自定义表格",line:"直线",rect:"矩形",circle:"圆形",barcode:"条形码",qrcode:"二维码",pageNumber:"页码",chart:"图表",longText:"长文本",custom:"自定义",layers:"图层"},properties:{title:"属性面板",subtitle:"编辑元素属性",locked:"已锁定",multiSelectMode:"多选模式",selectedElements:"已选择 {n} 个元素",deleteSelected:"删除选中元素",tab:{properties:"属性",style:"样式",advanced:"高级"},section:{positionSize:"位置 & 尺寸",layer:"层级",dataBehavior:"数据 & 行为",layoutDimensions:"布局 & 尺寸",headerStyle:"表头样式",footerStyle:"表脚样式",cellOperations:"单元格操作",appearance:"外观",elementInfo:"元素信息",content:"内容",typography:"排版",border:"边框",barcodeSettings:"条形码设置",qrSettings:"二维码设置",labelContent:"标签内容",paginationTypography:"页码排版",labelStyle:"标签样式",frameBorder:"框架边框",lineStyle:"线条样式",dataSource:"数据源",tableColumns:"表格列",tableLayout:"表格布局",cellStyle:"单元格样式",imageSource:"图片来源",chartAppearance:"图表外观",chartTitleStyle:"标题样式",chartLegend:"图例设置",chartAxis:"坐标轴设置",chartBarStyle:"柱状图样式",chartLineStyle:"折线图样式",chartPieStyle:"饼图样式",chartDataLabel:"数据标签",advanced:"高级设置",customTableSettings:"自定义表格设置",cellEdit:"单元格编辑",fieldSelection:"字段选择",nestedColumns:"子表格列配置"},action:{mergeCells:"合并单元格",splitCells:"拆分单元格",bringToFront:"置于顶层",sendToBack:"置于底层",moveUp:"上移一层",moveDown:"下移一层",copyId:"复制 ID",copied:"已复制!",addColumn:"添加列",saveCustom:"保存为自定义元素",deleteElement:"删除当前元素",saveCustomModal:"保存自定义元素"},empty:{noSelection:"未选择",selectInstruction:"选择一个元素以编辑属性"},label:{textAlign:"对齐方式",type:"类型",x:"X",y:"Y",width:"宽度",height:"高度",zIndex:"层级",content:"内容",variable:"变量",dataVariable:"数据变量",selectField:"选择字段",searchField:"搜索字段",selectDataField:"请在属性面板中选择数据字段",columnsVariable:"列定义变量",footerDataVariable:"表脚数据变量",writingMode:"书写模式",fontSize:"字号",color:"颜色",verticalAlign:"垂直对齐",fontFamily:"字体",fontWeight:"字重",borderStyle:"边框样式",borderWidth:"边框宽度",borderColor:"边框颜色",backgroundColor:"背景颜色",imageSource:"图片来源",format:"格式",showText:"显示文本",lineWidth:"线宽",barcodeHeight:"高度",margin:"边距",textPosition:"文本位置",errorCorrection:"纠错等级",thickness:"粗细",cornerRadius:"圆角半径",background:"背景",autoPaginate:"自动分页",autoHeight:"自适应高度",repeatPerPage:"每页重复",repeatFooter:"重复表脚",showFooter:"显示表脚",columns:"列定义",columnPicker:"选择表头字段",columnAlias:"表头别名",headerAliasPlaceholder:"输入别名",data:"数据",footerData:"表脚数据",customScript:"自定义脚本",customScriptVariable:"自定义脚本变量",headerPosition:"表头位置",headerHeight:"表头高度",rowHeight:"行高",footerHeight:"表脚高度",textColor:"文本颜色",editCell:"编辑单元格",editColumn:"编辑列",headerText:"表头文本",fieldKey:"字段键",variableField:"变量字段",headerNamePlaceholder:"表头名称",displayTextPlaceholder:"显示文本 (如: 合计:)",dataFieldPlaceholder:"数据字段 (如: {#amount})",id:"ID",labelBorderColor:"标签边框颜色",barcodeContentPlaceholder:"条码内容",qrContentPlaceholder:"二维码内容",textContentPlaceholder:"请输入文本内容",longTextPlaceholder:'请输入长文本内容,点击下方"插入字段"按钮在光标处插入字段',variablePlaceholder:"变量名 (例如 @name)",labelText:"标签文本",labelPosition:"标签位置",labelFontSize:"标签字号",labelColor:"标签颜色",labelFontFamily:"标签字体",labelFontWeight:"标签字重",labelBackgroundColor:"标签背景颜色",labelBorderStyle:"标签边框样式",labelBorderWidth:"标签边框宽度",pageFormat:"页码格式",labelTextPlaceholder:"例如:第",columnsPlaceholder:'[{ "field": "name", "header": "姓名", "width": 100 }]',dataPlaceholder:"[{...}]",footerDataPlaceholder:'[{ "id": { "value": "合计" }, "amount": { "value": "合计:", "field": "{#sum}" } }]',customScriptPlaceholder:"return { data: ... };",fontStyle:"字体样式",padding:"内边距 (px)",chartTitle:"图表标题",chartType:"图表类型",chartData:"图表数据",chartDataSource:"数据源",chartDataSourcePlaceholder:"选择数组数据源",chartXField:"X 轴字段",chartXFieldPlaceholder:"选择 X 轴字段",chartYField:"Y 轴字段",chartYFieldPlaceholder:"选择 Y 轴字段",chartNameField:"名称字段",chartNameFieldPlaceholder:"选择名称字段(饼图)",chartValueField:"值字段",chartValueFieldPlaceholder:"选择值字段(饼图)",chartShowLegend:"显示图例",chartShowTooltip:"显示提示",chartShowDataLabel:"显示数据标签",chartColors:"颜色列表",chartTitleFontSize:"标题字号",chartTitleColor:"标题颜色",chartTitleFontWeight:"标题加粗",chartTitlePlaceholder:"输入图表标题",chartLegendPosition:"图例位置",chartLegendFontSize:"图例字号",chartLegendColor:"图例颜色",chartXAxisTitle:"X 轴标题",chartXAxisTitlePlaceholder:"输入 X 轴标题",chartYAxisTitle:"Y 轴标题",chartYAxisTitlePlaceholder:"输入 Y 轴标题",chartXAxisFontSize:"X 轴字号",chartYAxisFontSize:"Y 轴字号",chartXAxisColor:"X 轴颜色",chartYAxisColor:"Y 轴颜色",chartShowGrid:"显示网格线",chartGridColor:"网格线颜色",chartBarWidth:"柱宽",chartBarColor:"柱子颜色",chartLineSmooth:"平滑曲线",chartLineWidth:"线宽",chartLineColor:"线条颜色",chartPieRadius:"饼图半径",chartDoughnutInnerRadius:"环形内半径",chartDoughnutOuterRadius:"环形外半径",chartDataPlaceholder:'[{ "name": "一月", "value": 820 }, ...]',chartColorsPlaceholder:'["#5470c6", "#91cc75", ...]',customOptions:"自定义选项 (JSON)",customOptionsPlaceholder:'{ "title": { "text": "..." }, ... }',headerBackgroundColor:"表头背景色",headerColor:"表头文字色",headerFontSize:"表头字号",headerTextAlign:"表头对齐",selectDataSource:"请选择数据源",selectDataSourceFirst:"请先选择数据源",insertField:"插入字段",customTableRows:"行数",customTableCols:"列数",customTableCellCount:"行列设置",cellContentType:"内容类型",cellText:"文本内容",cellField:"字段变量",cellImage:"图片",cellImageUrl:"图片链接",cellImageWidth:"图片宽度",cellImageHeight:"图片高度",cellBackgroundColor:"单元格背景颜色",clear:"清除",mergeCell:"合并单元格",splitCell:"拆分单元格",customTableCells:"单元格数据",lineThickness:"线条粗细",lineColor:"线条颜色",spacing:"间距",richTextContent:"富文本内容",richTextPlaceholder:"请输入富文本内容,支持加粗、斜体、下划线、列表等格式",lineHeight:"行高",dateVariable:"日期字段",selectDateField:"选择日期字段",dateFormat:"日期格式",cardTitle:"卡片标题",cardTitlePlaceholder:"输入卡片标题",staticValue:"静态数值",unit:"单位",unitPlaceholder:"输入单位",valueKey:"数值字段名",valueKeyPlaceholder:"如: value",labelKey:"标签字段名",labelKeyPlaceholder:"如: label",trend:"趋势",trendValue:"趋势值",trendValuePlaceholder:"如: +5%",cardStyle:"卡片样式",borderRadius:"圆角 (px)",valueFontSize:"数值字号",cardPadding:"内边距",progressVariable:"进度变量",staticPercent:"静态百分比",percentKey:"百分比字段名",percentKeyPlaceholder:"如: percent",colorKey:"颜色字段名",colorKeyPlaceholder:"如: color",progressStyle:"进度条样式",barColor:"条形颜色",barHeight:"条形高度",showLabel:"显示标签",progressLabelPosition:"标签位置",listItems:"列表项",listLayout:"列表布局",iconSize:"图标大小",signature:"印章/签名",signatureImage:"印章图片",signatureLabel:"标签文字",signatureLabelPlaceholder:"如: 审批签字",signatureType:"类型",seal:"印章",sealText:"印章文字",sealTextPlaceholder:"如: 公章",appearance:"外观",opacity:"透明度 (%)",qrcodeWithText:"二维码+说明",qrcodeContent:"二维码内容",qrcodeContentPlaceholder:"输入二维码内容或选择字段",qrcodeTitle:"标题",qrcodeTitlePlaceholder:"输入标题",qrcodeDescription:"描述",qrcodeDescriptionPlaceholder:"输入描述文字",qrcodeStyle:"二维码样式",qrcodeColor:"前景色",qrcodeBgColor:"背景色",correctionLevel:"纠错级别",nestedTable:"嵌套表格",nestedDataVariable:"嵌套数据",nestedDataSource:"数据源",parentField:"父级字段",parentFieldPlaceholder:"如: categories",childField:"子级字段",childFieldPlaceholder:"如: items",parentLabelKey:"父级标签字段",parentLabelKeyPlaceholder:"如: name",selectParentField:"选择父级标签字段",selectChildField:"选择子级数组字段",noChildArray:"未找到子级数组字段",nestedTableStyle:"嵌套表格样式",nestedColumns:"子表格列",customTitle:"自定义标题",customTitlePlaceholder:"输入自定义标题(优先显示)",progressTitle:"进度条标题",progressTitlePlaceholder:"输入进度条标题",progressTitlePosition:"标题位置",progressTitleField:"标题字段",progressTitleFieldPlaceholder:"选择标题字段",listItem1:"列表项 1",listItem2:"列表项 2",listItem3:"列表项 3",listItem4:"列表项 4",listItem5:"列表项 5",listItemPlaceholder:"输入列表项内容"},option:{horizontal:"水平",vertical:"垂直",default:"默认",left:"左对齐",center:"居中",right:"右对齐",normal:"常规",medium:"中等",bold:"加粗",none:"无",up:"上升",down:"下降",inside:"内部",outside:"外部",hide:"隐藏",solid:"实线",dashed:"虚线",dotted:"点线",yes:"是",no:"否",top:"顶部",headerTop:"上方",headerLeft:"左侧",middle:"居中",bottom:"底部",before:"之前",after:"之后",eccLow:"低 (7%)",eccMedium:"中 (15%)",eccQuartile:"四分 (25%)",eccHigh:"高 (30%)",arial:"Arial",timesNewRoman:"Times New Roman",courierNew:"Courier New",simSun:"宋体",simHei:"黑体",page1:"第 1 页",oneTotal:"1/共几页",code128:"CODE128",ean13:"EAN-13",upc:"UPC",code39:"CODE39",itf14:"ITF-14",msi:"MSI",pharmacode:"Pharmacode",numberOnly:"数字 (1)",chartBar:"柱状图",chartLine:"折线图",chartArea:"面积图",chartPie:"饼图",chartDoughnut:"环形图",cellTypeText:"文本",cellTypeField:"字段",cellTypeImage:"图片"},image:{urlPlaceholder:"请输入图片地址或 Base64...",uploadBtn:"上传图片",uploadTip:"最大 2MB,自动转换为 Base64",sizeError:"图片大小不能超过 2MB",readError:"读取文件失败"},align:{left:"左对齐",center:"居中对齐",right:"右对齐"}},shortcuts:{title:"快捷键",keyboardShortcuts:"键盘快捷键",general:"通用",editing:"编辑",manipulation:"操作",newTemplate:"新建模版",openSettings:"打开设置",openHelp:"打开帮助",zoom:"缩放",closeModal:"关闭弹窗",selectAll:"全选",multiSelect:"多选",move:"移动",fastMove:"快速移动",snapRotate:"吸附旋转",resize:"等比缩放",saveAsTemplate:"另存为模版",customEditSave:"保存自定义编辑",customEditSaveAs:"另存自定义编辑",customEditExit:"退出自定义编辑",ctrl:"Ctrl",shift:"Shift",alt:"Alt",esc:"Esc",del:"Delete",enter:"Enter",arrow:"方向键",drag:"拖拽",click:"点击",wheel:"滚轮"},help:{title:"帮助中心",about:"关于",aboutProject:"关于 {name}",links:"相关链接",github:"项目地址",website:"官网地址",dependencies:"开源依赖",package:"依赖包",version:"版本"},colorPicker:{clear:"清除",transparent:"透明"},settings:{title:"设置",basic:"基础",language:"语言",connection:"连接",themeColor:"主题色",themeColorDesc:"选择一个预设主题色,立即生效。",themePresetDefault:"蓝色",themePresetEmerald:"绿色",themePresetAmber:"橙色",themePresetRose:"玫红",themePresetCustom:"自定义",theme:"主题",themeSystem:"跟随系统",themeLight:"亮色",themeDark:"暗色",themeDesc:"默认跟随系统;可手动切换为亮色或暗色。",autoSave:"自动保存",autoSaveDesc:"当模版发生变更时自动保存(仅对已保存过的模版生效)。",printQuality:"打印质量",printQualityFast:"极速",printQualityNormal:"普通",printQualityHigh:"高清",printQualityUltra:"极清",printQualityDesc:"设置导出图片和打印时的渲染质量",exportImageMerged:"导出为整张图片",exportImageMergedDesc:"关闭后将每一页导出为单张图片,并打包为 ZIP。",languageDesc:"选择界面的显示语言。",connectionDesc:"连接设置占位内容。",printMode:"打印方式",printModeLocal:"本地客户端打印",printModeRemote:"远程云打印",printModeBrowser:"浏览器打印",printModeDesc:"本地/远程需连接测试成功后才能启用。",silentPrint:"静默打印",silentPrintDesc:"开启后跳过自定义打印对话框;浏览器打印仍会弹出浏览器打印设置。",localConnection:"本地客户端打印",remoteConnection:"远程云打印",host:"主机",port:"端口",wsPath:"WS 路径",protocol:"协议",wsAddress:"WS 地址",wsAddressPlaceholder:"ws://host:port/ws/request",localWsAddressPlaceholder:"ws://host:port/ws",secretKey:"密钥",connectionUrl:"连接地址",connect:"连接",disconnect:"断开",connecting:"连接中...",connectionTesting:"正在测试连接...",connectionOk:"连接成功",connectionOkWithUser:"连接成功(用户:{userId})",connectionFailed:"连接失败",connectionTimeout:"连接超时",connectionMissingFields:"请填写 API 地址、用户名和密码。",connectionMissingToken:"登录成功但未返回 Token。",apiBaseUrl:"登录地址",apiBasePlaceholder:"http://host:port/api/login",username:"用户名",password:"密码",remoteLoginTitle:"登录(HTTP)",remoteLoginDesc:"用于获取 JWT,请填写完整的登录地址。",remoteWsTitle:"WebSocket(打印中转)",remoteWsDesc:"用于打印与查询客户端/打印机,Token 会拼到 WS 地址。",localClientTitle:"本地客户端",downloadClient:"下载客户端",cloudPrint:"云打印",localClientDesc:"配置本地客户端的 WebSocket 与密钥,用于本机打印。",remoteClient:"默认客户端",remoteClientPlaceholder:"请选择客户端",remoteAuthHint:"远程 WS 地址会附加 ?token=JWT 以便浏览器鉴权。",status:{connected:"已连接",connecting:"连接中",disconnected:"未连接",error:"错误"},retrying:"重试中({count}/{max})",cancelRetry:"停止重试",selectLanguage:"选择语言",zhLabel:"中文",enLabel:"English"},printDialog:{title:"打印参数",titleLocal:"本地客户端打印参数",titleRemote:"远程云打印参数",sectionBasic:"基础",sectionAdvanced:"高级",printer:"打印机",printerSelect:"请选择打印机",printerEmpty:"未获取到打印机。",remoteClient:"客户端",remoteClientPlaceholder:"请选择客户端",remoteClientEmpty:"未获取到客户端。",remotePrinterInfo:"类型:{type} | 纸张:{paper} | 格式:{format}",printerPlaceholder:"打印机名称",jobName:"任务名称",jobNamePlaceholder:"可选任务名称",copies:"打印份数",intervalMs:"份数间隔(ms)",pageRange:"页码范围",pageRangePlaceholder:"如 1-3,5",pageSet:"奇偶页",pageSetAll:"全部",pageSetOdd:"奇数页",pageSetEven:"偶数页",scale:"缩放",scaleNo:"不缩放",scaleShrink:"缩小",scaleFit:"适应",orientation:"方向",portrait:"纵向",landscape:"横向",colorMode:"颜色模式",color:"彩色",monochrome:"黑白",sidesMode:"单双面",simplex:"单面",duplex:"双面",duplexShort:"双面(短边翻转)",duplexLong:"双面(长边翻转)",paperSize:"纸张",paperSizePlaceholder:"如 A4",trayBin:"纸盒",trayBinPlaceholder:"如 2 或 Manual",confirm:"打印"},confirm:{reportSaveTitle:"保存报告",reportSaveWarning:"当前报告包含数据快照,保存将同时更新布局和数据。是否继续?",saveReport:"保存报告",cancel:"取消"},preview:{title:"打印预览",templateJson:"模版 JSON",zoomIn:"放大",zoomOut:"缩小",emptyDataWarning:"数据未绑定或数据为空"},testData:{title:"测试数据管理",copy:"复制数据",export:"导出 JSON",import:"导入 JSON",reset:"重置数据",editJson:"编辑 JSON",saveJson:"保存 JSON",noData:"暂无测试数据",hint:"提示:修改测试数据后,预览模式下会实时更新显示效果"},input:{title:"输入",placeholder:"请输入..."},toast:{templateReadOnly:"系统模板为只读,无法编辑",templateCopyNotAllowed:"系统模板不允许复制",templateDeleteNotAllowed:"系统模板无法删除",templateSaveFailed:"保存模板失败",templateDeleteFailed:"删除模板失败",templateEditFailed:"编辑模板失败",templateCopyFailed:"复制模板失败",templateUpsertFailed:"保存模板失败",customElementReadOnly:"系统自定义元素为只读,无法编辑",customElementCopyNotAllowed:"系统自定义元素不允许复制",customElementDeleteNotAllowed:"系统自定义元素无法删除",customElementCopyFailed:"复制自定义元素失败",customElementAddFailed:"新增自定义元素失败",customElementRemoveFailed:"删除自定义元素失败",customElementEditFailed:"编辑自定义元素失败",customElementUpsertFailed:"保存自定义元素失败",printerRequired:"请指定打印机",clientRequired:"请指定客户端",printFailed:"打印失败",exportPdfFailed:"导出 PDF 失败",exportImageFailed:"导出图片失败"}}},mh=()=>{const e=localStorage.getItem("print-designer-language");if(e&&("zh"===e||"en"===e))return e;return navigator.language.toLowerCase().startsWith("zh")?"zh":"en"},yh=e=>Ah({locale:e||mh(),fallbackLocale:"en",messages:vh}),bh=yh(),wh='*,: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(147 197 253 / .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(147 197 253 / .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}:root{--brand-50: #eff6ff;--brand-100: #dbeafe;--brand-200: #bfdbfe;--brand-300: #93c5fd;--brand-400: #60a5fa;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-800: #1e40af;--brand-900: #1e3a8a;--brand-950: #172554;--brand-500-alpha-10: rgb(59 130 246 / .1)}input[type=radio]{accent-color:var(--brand-600)}.theme-outline-hover:hover{outline:1px solid var(--brand-300)}.theme-hover-bg:hover{background-color:var(--brand-50)}.theme-hover-border:hover{border-color:var(--brand-500)}.theme-text{color:var(--brand-500)}.theme-text-hover:hover{color:var(--brand-700)}.theme-border{border-color:var(--brand-500)}.theme-border-strong{border-color:var(--brand-600)}.theme-border-hover{border-color:var(--brand-500)}.group:hover .theme-border-hover{border-color:var(--brand-400)}.theme-bg{background-color:var(--brand-500)}.theme-bg-strong{background-color:var(--brand-600)}.theme-bg-soft{background-color:#000000b3}.exporting .marker{display:none!important}.exporting,.previewing{overflow:hidden!important}html{color-scheme:light}.dark{color-scheme:dark}.dark body{background-color:#0f172a;color:#e5e7eb}.dark .bg-white{background-color:#1f2937!important}.dark .bg-gray-50{background-color:#111827!important}.dark :not(.canvas-scroll).bg-gray-100{background-color:#1f2937!important}.dark .canvas-scroll.bg-gray-100{background-color:#334155!important}.dark .hover\\\\:bg-gray-50:hover{background-color:#1f2937!important}.dark .hover\\\\:bg-gray-100:hover{background-color:#374151!important}.dark .bg-gray-200{background-color:#374151!important}.dark .hover\\:bg-gray-200:hover{background-color:#4b5563!important}.dark .hover\\:bg-blue-50:hover,.dark .theme-hover-bg:hover{background-color:color-mix(in srgb,var(--brand-500) 16%,transparent)!important}.dark .hover\\:border-blue-500:hover{border-color:#3b82f680!important}.dark .text-gray-800{color:#f3f4f6!important}.dark .text-gray-700{color:#e5e7eb!important}.dark .text-gray-600{color:#d1d5db!important}.dark .text-gray-500{color:#cbd5e1!important}.dark .text-gray-400{color:#9ca3af!important}.dark .text-gray-900{color:#f9fafb!important}.dark .border-gray-100{border-color:#1f2937!important}.dark .border-gray-200{border-color:#374151!important}.dark .border-gray-300{border-color:#4b5563!important}.dark select,.dark option{background-color:#1f2937;color:#e5e7eb}.dark .shadow-sm,.dark .shadow,.dark .shadow-xl,.dark .\\!shadow{box-shadow:0 1px 2px #0009,0 1px 1px #0006!important}.dark .print-page{color-scheme:light}.dark .print-page .bg-white{background-color:#fff!important}.dark .print-page .border-gray-100{border-color:#f3f4f6!important}.dark .print-page .border-gray-200{border-color:#e5e7eb!important}.dark .print-page .border-gray-300{border-color:#d1d5db!important}.dark .print-page .text-gray-500{color:#6b7280!important}.dark .print-page .text-gray-600{color:#4b5563!important}.dark .print-page .text-gray-700{color:#374151!important}.dark .print-page .text-gray-800{color:#1f2937!important}.dark .print-page .text-gray-900{color:#111827!important}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#f3f4f6;border-radius:0}::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:0;border:2px solid #f3f4f6}::-webkit-scrollbar-corner{background:#f3f4f6}*{scrollbar-width:thin;scrollbar-color:#d1d5db #f3f4f6}.dark ::-webkit-scrollbar-track{background:#1f2937}.dark ::-webkit-scrollbar-thumb{background-color:#4b5563;border:2px solid #1f2937}.dark ::-webkit-scrollbar-thumb:hover{background-color:#6b7280}.dark *{scrollbar-color:#4b5563 #1f2937}.\\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-bottom-4{bottom:-1rem}.-left-2{left:-.5rem}.-left-3{left:-.75rem}.-left-4{left:-1rem}.-right-0\\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-12{right:-3rem}.-right-3{right:-.75rem}.-right-5{right:-1.25rem}.-top-3{top:-.75rem}.-top-4{top:-1rem}.-top-6{top:-1.5rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\\/2{left:50%}.left-2{left:.5rem}.right-0{right:0}.right-1{right:.25rem}.right-4{right:1rem}.right-\\[280px\\]{right:280px}.top-0{top:0}.top-1\\/2{top:50%}.top-2{top:.5rem}.top-6{top:1.5rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\\[-1\\]{z-index:-1}.z-\\[100000\\]{z-index:100000}.z-\\[10000\\]{z-index:10000}.z-\\[1000\\]{z-index:1000}.z-\\[100\\]{z-index:100}.z-\\[1900\\]{z-index:1900}.z-\\[2000\\]{z-index:2000}.z-\\[2001\\]{z-index:2001}.z-\\[3000\\]{z-index:3000}.z-\\[99999\\]{z-index:99999}.z-\\[9999\\]{z-index:9999}.col-span-2{grid-column:span 2 / span 2}.m-0{margin:0}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-0\\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-ml-1\\.5{margin-left:-.375rem}.-mt-1\\.5{margin-top:-.375rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-0\\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.box-content{box-sizing:content-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0\\.5{height:.125rem}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\\[1px\\]{height:1px}.h-\\[500px\\]{height:500px}.h-\\[56px\\]{height:56px}.h-\\[60px\\]{height:60px}.h-\\[80vh\\]{height:80vh}.h-\\[90vh\\]{height:90vh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-\\[200px\\]{max-height:200px}.max-h-\\[300px\\]{max-height:300px}.max-h-\\[500px\\]{max-height:500px}.max-h-\\[90vh\\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-\\[120px\\]{min-height:120px}.min-h-\\[30px\\]{min-height:30px}.w-1{width:.25rem}.w-1\\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\\[240px\\]{width:240px}.w-\\[260px\\]{width:260px}.w-\\[300px\\]{width:300px}.w-\\[380px\\]{width:380px}.w-\\[60vw\\]{width:60vw}.w-\\[640px\\]{width:640px}.w-\\[700px\\]{width:700px}.w-\\[90vw\\]{width:90vw}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\\[140px\\]{min-width:140px}.min-w-\\[160px\\]{min-width:160px}.min-w-\\[200px\\]{min-width:200px}.min-w-\\[320px\\]{min-width:320px}.max-w-\\[100px\\]{max-width:100px}.max-w-\\[140px\\]{max-width:140px}.max-w-\\[300px\\]{max-width:300px}.max-w-\\[85vw\\]{max-width:85vw}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;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))}.-translate-y-1\\/2{--tw-translate-y: -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))}.translate-x-0{--tw-translate-x: 0px;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))}.translate-x-4{--tw-translate-x: 1rem;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))}.translate-x-5{--tw-translate-x: 1.25rem;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-45{--tw-rotate: 45deg;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))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;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))}.scale-150{--tw-scale-x: 1.5;--tw-scale-y: 1.5;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))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;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))}.transform{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))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-se-resize{cursor:se-resize}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-\\[0\\.5px\\]{border-width:.5px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-blue-200{border-color:var(--brand-200)}.border-blue-300{border-color:var(--brand-300)}.border-blue-500{border-color:var(--brand-500)}.border-blue-600{border-color:var(--brand-600)}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.border-red-100{--tw-border-opacity: 1;border-color:rgb(254 226 226 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-yellow-400{--tw-border-opacity: 1;border-color:rgb(250 204 21 / var(--tw-border-opacity, 1))}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(234 179 8 / var(--tw-border-opacity, 1))}.\\!bg-blue-100{background-color:var(--brand-100)!important}.bg-black\\/20{background-color:#0003}.bg-black\\/40{background-color:#0006}.bg-black\\/50{background-color:#00000080}.bg-blue-100{background-color:var(--brand-100)}.bg-blue-200{background-color:var(--brand-200)}.bg-blue-400{background-color:var(--brand-400)}.bg-blue-50{background-color:var(--brand-50)}.bg-blue-500{background-color:var(--brand-500)}.bg-blue-600{background-color:var(--brand-600)}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-900\\/20{background-color:#14532d33}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-orange-900\\/20{background-color:#7c2d1233}.bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-violet-100{--tw-bg-opacity: 1;background-color:rgb(237 233 254 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\\/80{background-color:#fffc}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-\\[url\\(\\\'data\\:image\\/png\\;base64\\,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ\\+5wNisxL\\/\\/8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII\\=\\\'\\)\\]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ+5wNisxL//8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII=)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--tw-gradient-stops))}.from-black{--tw-gradient-from: #000 var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-300{--tw-gradient-from: #d1d5db var(--tw-gradient-from-position);--tw-gradient-to: rgb(209 213 219 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white{--tw-gradient-from: #fff var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-current{--tw-gradient-to: currentColor var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.bg-\\[length\\:6px_6px\\]{background-size:6px 6px}.bg-repeat{background-repeat:repeat}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pl-1{padding-left:.25rem}.pl-8{padding-left:2rem}.pr-3{padding-right:.75rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-normal{letter-spacing:0em}.tracking-wider{letter-spacing:.05em}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-400{color:var(--brand-400)}.text-blue-500{color:var(--brand-500)}.text-blue-600{color:var(--brand-600)}.text-blue-700{color:var(--brand-700)}.text-blue-900{color:var(--brand-900)}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-indigo-200{--tw-text-opacity: 1;color:rgb(199 210 254 / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-indigo-800{--tw-text-opacity: 1;color:rgb(55 48 163 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-violet-400{--tw-text-opacity: 1;color:rgb(167 139 250 / var(--tw-text-opacity, 1))}.text-violet-600{--tw-text-opacity: 1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.\\!shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1) !important;--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color) !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-blue-400{--tw-ring-color: var(--brand-400)}.ring-blue-500{--tw-ring-color: var(--brand-500)}.ring-red-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.ring-red-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.ring-offset-1{--tw-ring-offset-width: 1px}.ring-offset-gray-900{--tw-ring-offset-color: #111827}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,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-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;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}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\\[-moz-appearance\\:textfield\\]{-moz-appearance:textfield}.\\[appearance\\:textfield\\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.dark .hover\\:bg-gray-50:hover{background-color:#111827!important}.dark .hover\\:bg-gray-100:hover:not(.canvas-scroll){background-color:#1f2937!important}.dark .hover\\:bg-gray-100:hover.canvas-scroll{background-color:#334155!important}.dark .hover\\:bg-gray-200:hover{background-color:#374151!important}.dark .hover\\:text-gray-800:hover{color:#f3f4f6!important}.dark .hover\\:text-gray-700:hover{color:#e5e7eb!important}.dark .hover\\:text-gray-600:hover{color:#d1d5db!important}.dark .print-page .hover\\:text-gray-600:hover{color:#4b5563!important}.dark .print-page .hover\\:text-gray-700:hover{color:#374151!important}.dark .print-page .hover\\:text-gray-800:hover{color:#1f2937!important}.dark .disabled\\:bg-gray-50:disabled{background-color:#111827!important}.dark .disabled\\:bg-gray-100:disabled:not(.canvas-scroll){background-color:#1f2937!important}.dark .disabled\\:bg-gray-100:disabled.canvas-scroll{background-color:#334155!important}.dark .disabled\\:text-gray-500:disabled{color:#cbd5e1!important}.dark .disabled\\:text-gray-400:disabled{color:#9ca3af!important}.dark .disabled\\:border-gray-200:disabled{border-color:#374151!important}.dark .print-page .disabled\\:border-gray-200:disabled{border-color:#e5e7eb!important}.dark .print-page .disabled\\:text-gray-500:disabled{color:#6b7280!important}.dark .disabled\\:hover\\:bg-gray-100:hover:disabled:not(.canvas-scroll){background-color:#1f2937!important}.dark .disabled\\:hover\\:bg-gray-100:hover:disabled.canvas-scroll{background-color:#334155!important}.dark .dark\\:bg-gray-100:is(.dark *):not(.canvas-scroll){background-color:#1f2937!important}.dark .dark\\:bg-gray-100:is(.dark *).canvas-scroll{background-color:#334155!important}.dark .dark\\:text-gray-600:is(.dark *){color:#d1d5db!important}.dark .dark\\:text-gray-500:is(.dark *){color:#cbd5e1!important}.dark .dark\\:text-gray-400:is(.dark *){color:#9ca3af!important}.dark .print-page .dark\\:text-gray-500:is(.dark *){color:#6b7280!important}.dark .print-page .dark\\:text-gray-600:is(.dark *){color:#4b5563!important}.dark .dark\\:disabled\\:text-gray-600:disabled:is(.dark *){color:#d1d5db!important}.dark .dark\\:disabled\\:text-gray-400:disabled:is(.dark *){color:#9ca3af!important}.dark .print-page .dark\\:disabled\\:text-gray-600:disabled:is(.dark *){color:#4b5563!important}.first\\:border-0:first-child{border-width:0px}.first\\:pt-0:first-child{padding-top:0}.last\\:border-0:last-child{border-width:0px}.last\\:border-b-0:last-child{border-bottom-width:0px}.focus-within\\:border-blue-500:focus-within{border-color:var(--brand-500)}.focus-within\\:ring-1:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring-blue-500:focus-within{--tw-ring-color: var(--brand-500)}.hover\\:z-10:hover{z-index:10}.hover\\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;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))}.hover\\:border-blue-400:hover{border-color:var(--brand-400)}.hover\\:border-blue-500:hover{border-color:var(--brand-500)}.hover\\:border-gray-400:hover{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.hover\\:border-pink-400:hover{--tw-border-opacity: 1;border-color:rgb(244 114 182 / var(--tw-border-opacity, 1))}.hover\\:bg-blue-100:hover{background-color:var(--brand-100)}.hover\\:bg-blue-300:hover{background-color:var(--brand-300)}.hover\\:bg-blue-400:hover{background-color:var(--brand-400)}.hover\\:bg-blue-50:hover{background-color:var(--brand-50)}.hover\\:bg-blue-600:hover{background-color:var(--brand-600)}.hover\\:bg-blue-700:hover{background-color:var(--brand-700)}.hover\\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-500:hover{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.hover\\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\\:bg-orange-600:hover{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity, 1))}.hover\\:bg-pink-50:hover{--tw-bg-opacity: 1;background-color:rgb(253 242 248 / var(--tw-bg-opacity, 1))}.hover\\:bg-pink-600:hover{--tw-bg-opacity: 1;background-color:rgb(219 39 119 / var(--tw-bg-opacity, 1))}.hover\\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\\:bg-slate-300:hover{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.hover\\:text-blue-500:hover{color:var(--brand-500)}.hover\\:text-blue-600:hover{color:var(--brand-600)}.hover\\:text-blue-700:hover{color:var(--brand-700)}.hover\\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.hover\\:text-pink-600:hover{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.hover\\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\\:text-red-800:hover{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:decoration-blue-600:hover{text-decoration-color:var(--brand-600)}.hover\\:opacity-100:hover{opacity:1}.hover\\:outline:hover{outline-style:solid}.hover\\:outline-1:hover{outline-width:1px}.hover\\:outline-blue-300:hover{outline-color:var(--brand-300)}.focus\\:border-blue-400:focus{border-color:var(--brand-400)}.focus\\:border-blue-500:focus{border-color:var(--brand-500)}.focus\\:border-blue-600:focus{border-color:var(--brand-600)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-blue-500:focus{--tw-ring-color: var(--brand-500)}.focus\\:ring-blue-600:focus{--tw-ring-color: var(--brand-600)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.active\\:cursor-grabbing:active{cursor:grabbing}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:border-gray-200:disabled{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.disabled\\:bg-gray-100:disabled{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.disabled\\:bg-gray-400:disabled{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.disabled\\:bg-gray-50:disabled{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.disabled\\:text-gray-400:disabled{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.disabled\\:text-gray-500:disabled{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.disabled\\:opacity-30:disabled{opacity:.3}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:bg-blue-600:hover:disabled{background-color:var(--brand-600)}.disabled\\:hover\\:bg-gray-100:hover:disabled{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\\:opacity-100{opacity:1}.dark\\:border-blue-800:is(.dark *){border-color:var(--brand-800)}.dark\\:border-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\\:border-gray-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.dark\\:border-red-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.dark\\:border-yellow-500:is(.dark *){--tw-border-opacity: 1;border-color:rgb(234 179 8 / var(--tw-border-opacity, 1))}.dark\\:bg-black\\/40:is(.dark *){background-color:#0006}.dark\\:bg-blue-400:is(.dark *){background-color:var(--brand-400)}.dark\\:bg-blue-500:is(.dark *){background-color:var(--brand-500)}.dark\\:bg-blue-700:is(.dark *){background-color:var(--brand-700)}.dark\\:bg-blue-900:is(.dark *){background-color:var(--brand-900)}.dark\\:bg-blue-950:is(.dark *){background-color:var(--brand-950)}.dark\\:bg-gray-100:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.dark\\:bg-gray-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\\:bg-gray-700\\/50:is(.dark *){background-color:#37415180}.dark\\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\\:bg-gray-800\\/50:is(.dark *){background-color:#1f293780}.dark\\:bg-gray-800\\/80:is(.dark *){background-color:#1f2937cc}.dark\\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\\:bg-green-900\\/20:is(.dark *){background-color:#14532d33}.dark\\:bg-indigo-900\\/30:is(.dark *){background-color:#312e814d}.dark\\:bg-orange-900\\/20:is(.dark *){background-color:#7c2d1233}.dark\\:bg-orange-900\\/30:is(.dark *){background-color:#7c2d124d}.dark\\:bg-purple-900\\/20:is(.dark *){background-color:#581c8733}.dark\\:bg-purple-900\\/30:is(.dark *){background-color:#581c874d}.dark\\:bg-red-900\\/30:is(.dark *){background-color:#7f1d1d4d}.dark\\:bg-slate-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.dark\\:bg-violet-900\\/30:is(.dark *){background-color:#4c1d954d}.dark\\:text-black:is(.dark *){--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.dark\\:text-blue-100:is(.dark *){color:var(--brand-100)}.dark\\:text-blue-400:is(.dark *){color:var(--brand-400)}.dark\\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\\:text-gray-500:is(.dark *){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.dark\\:text-gray-600:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.dark\\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\\:text-indigo-400:is(.dark *){--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.dark\\:text-orange-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.dark\\:text-purple-400:is(.dark *){--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.dark\\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\\:text-slate-100:is(.dark *){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.dark\\:text-violet-400:is(.dark *){--tw-text-opacity: 1;color:rgb(167 139 250 / var(--tw-text-opacity, 1))}.dark\\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\\:placeholder-gray-500:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.dark\\:placeholder-gray-500:is(.dark *)::placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.dark\\:ring-blue-400:is(.dark *){--tw-ring-color: var(--brand-400)}.dark\\:ring-offset-gray-900:is(.dark *){--tw-ring-offset-color: #111827}.dark\\:hover\\:border-blue-400:hover:is(.dark *){border-color:var(--brand-400)}.dark\\:hover\\:border-gray-500:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.dark\\:hover\\:bg-blue-400:hover:is(.dark *){background-color:var(--brand-400)}.dark\\:hover\\:bg-blue-600:hover:is(.dark *){background-color:var(--brand-600)}.dark\\:hover\\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\\:hover\\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\\:hover\\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\\:hover\\:bg-gray-800\\/50:hover:is(.dark *){background-color:#1f293780}.dark\\:hover\\:bg-pink-900\\/20:hover:is(.dark *){background-color:#83184333}.dark\\:hover\\:bg-red-900\\/30:hover:is(.dark *){background-color:#7f1d1d4d}.dark\\:hover\\:bg-red-900\\/50:hover:is(.dark *){background-color:#7f1d1d80}.dark\\:hover\\:bg-slate-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.dark\\:hover\\:text-blue-400:hover:is(.dark *){color:var(--brand-400)}.dark\\:hover\\:text-gray-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\\:hover\\:text-gray-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\\:hover\\:text-pink-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(244 114 182 / var(--tw-text-opacity, 1))}.dark\\:hover\\:text-red-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\\:focus\\:border-blue-400:focus:is(.dark *){border-color:var(--brand-400)}.dark\\:disabled\\:border-gray-700:disabled:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\\:disabled\\:bg-gray-700:disabled:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\\:disabled\\:bg-gray-800:disabled:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\\:disabled\\:text-gray-400:disabled:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\\:disabled\\:text-gray-600:disabled:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}@media(min-width:640px){.sm\\:block{display:block}.sm\\:inline{display:inline}.sm\\:flex{display:flex}}@media(min-width:1024px){.lg\\:block{display:block}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:h-14{height:3.5rem}.lg\\:h-4{height:1rem}.lg\\:w-32{width:8rem}.lg\\:w-4{width:1rem}.lg\\:max-w-\\[200px\\]{max-width:200px}.lg\\:gap-1\\.5{gap:.375rem}.lg\\:gap-2{gap:.5rem}.lg\\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\\:px-4{padding-left:1rem;padding-right:1rem}.lg\\:py-1{padding-top:.25rem;padding-bottom:.25rem}.lg\\:text-sm{font-size:.875rem;line-height:1.25rem}}@media(min-width:1280px){.xl\\:inline{display:inline}.xl\\:flex{display:flex}.xl\\:hidden{display:none}}.\\[\\&\\:\\:-moz-range-thumb\\]\\:h-4::-moz-range-thumb{height:1rem}.\\[\\&\\:\\:-moz-range-thumb\\]\\:w-4::-moz-range-thumb{width:1rem}.\\[\\&\\:\\:-moz-range-thumb\\]\\:cursor-pointer::-moz-range-thumb{cursor:pointer}.\\[\\&\\:\\:-moz-range-thumb\\]\\:rounded-full::-moz-range-thumb{border-radius:9999px}.\\[\\&\\:\\:-moz-range-thumb\\]\\:border-none::-moz-range-thumb{border-style:none}.\\[\\&\\:\\:-moz-range-thumb\\]\\:bg-blue-600::-moz-range-thumb{background-color:var(--brand-600)}.\\[\\&\\:\\:-moz-range-thumb\\]\\:transition-all::-moz-range-thumb{-moz-transition-property:all;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\\[\\&\\:\\:-moz-range-thumb\\]\\:hover\\:scale-110:hover::-moz-range-thumb{--tw-scale-x: 1.1;--tw-scale-y: 1.1;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))}.\\[\\&\\:\\:-webkit-inner-spin-button\\]\\:appearance-none::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\\[\\&\\:\\:-webkit-outer-spin-button\\]\\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:h-4::-webkit-slider-thumb{height:1rem}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:w-4::-webkit-slider-thumb{width:1rem}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:cursor-pointer::-webkit-slider-thumb{cursor:pointer}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:appearance-none::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:rounded-full::-webkit-slider-thumb{border-radius:9999px}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:bg-blue-600::-webkit-slider-thumb{background-color:var(--brand-600)}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:transition-all::-webkit-slider-thumb{-webkit-transition-property:all;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:hover\\:scale-110:hover::-webkit-slider-thumb{--tw-scale-x: 1.1;--tw-scale-y: 1.1;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))}';const xh=new class{show(e,t={}){return new Promise(r=>{const n=document.createElement("div");n.style.position="fixed",n.style.inset="0",n.style.backgroundColor="rgba(0, 0, 0, 0.5)",n.style.zIndex="2000",n.style.display="flex",n.style.alignItems="center",n.style.justifyContent="center",n.style.pointerEvents="auto";const i=document.documentElement.classList.contains("dark")||document.body.classList.contains("dark"),o=document.createElement("div");o.style.backgroundColor=i?"#111827":"#ffffff",o.style.borderRadius="0.5rem",o.style.width="24rem",o.style.boxShadow="0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)",o.style.display="flex",o.style.flexDirection="column",o.style.overflow="hidden",o.style.fontFamily="inherit";const a=document.createElement("div");a.style.height="60px",a.style.display="flex",a.style.alignItems="center",a.style.padding="0 16px",a.style.borderBottom="1px solid "+(i?"#1f2937":"#e5e7eb"),a.style.flexShrink="0";const s=document.createElement("h3");s.textContent=t.title||"提示",s.style.margin="0",s.style.fontSize="1.125rem",s.style.fontWeight="600",s.style.color=i?"#f3f4f6":"#1f2937",a.appendChild(s),o.appendChild(a);const l=document.createElement("div");l.style.padding="16px";const u=document.createElement("div");u.textContent=e,u.style.marginBottom="16px",u.style.fontSize="0.875rem",u.style.color=i?"#d1d5db":"#374151",u.style.lineHeight="1.5",l.appendChild(u);const c=document.createElement("div");c.style.display="flex",c.style.justifyContent="flex-end",c.style.gap="8px";const A=document.createElement("button");A.type="button",A.textContent=t.cancelText||"取消",A.style.padding="8px 16px",A.style.fontSize="0.875rem",A.style.fontWeight="500",A.style.border="none",A.style.borderRadius="0.375rem",A.style.cursor="pointer",A.style.transition="background-color 0.15s ease",A.style.backgroundColor=i?"#1f2937":"#f3f4f6",A.style.color=i?"#d1d5db":"#374151",A.onmouseover=()=>{A.style.backgroundColor=i?"#374151":"#e5e7eb"},A.onmouseout=()=>{A.style.backgroundColor=i?"#1f2937":"#f3f4f6"};const d=document.createElement("button");d.type="button",d.textContent=t.confirmText||"确定",d.style.padding="8px 16px",d.style.fontSize="0.875rem",d.style.fontWeight="500",d.style.border="none",d.style.borderRadius="0.375rem",d.style.cursor="pointer",d.style.transition="background-color 0.15s ease",d.style.backgroundColor=i?"#3b82f6":"#2563eb",d.style.color="#ffffff",d.onmouseover=()=>{d.style.backgroundColor=i?"#2563eb":"#1d4ed8"},d.onmouseout=()=>{d.style.backgroundColor=i?"#3b82f6":"#2563eb"};const h=()=>{document.body.contains(n)&&document.body.removeChild(n)};A.onclick=e=>{e.stopPropagation(),h(),r(!1)},d.onclick=e=>{e.stopPropagation(),h(),r(!0)},c.appendChild(A),c.appendChild(d),l.appendChild(u),l.appendChild(c),o.appendChild(l),n.appendChild(o),document.body.appendChild(n),setTimeout(()=>d.focus(),10)})}},_h=[];for(let wx=0;wx<256;++wx)_h.push((wx+256).toString(16).slice(1));let Ch;const Sh=new Uint8Array(16);const Bh={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function kh(e,t,r){var n;if(Bh.randomUUID&&!e)return Bh.randomUUID();const i=(e=e||{}).random??(null==(n=e.rng)?void 0:n.call(e))??function(){if(!Ch){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Ch=crypto.getRandomValues.bind(crypto)}return Ch(Sh)}();if(i.length<16)throw new Error("Random bytes length must be >= 16");return i[6]=15&i[6]|64,i[8]=63&i[8]|128,function(e,t=0){return(_h[e[t+0]]+_h[e[t+1]]+_h[e[t+2]]+_h[e[t+3]]+"-"+_h[e[t+4]]+_h[e[t+5]]+"-"+_h[e[t+6]]+_h[e[t+7]]+"-"+_h[e[t+8]]+_h[e[t+9]]+"-"+_h[e[t+10]]+_h[e[t+11]]+_h[e[t+12]]+_h[e[t+13]]+_h[e[t+14]]+_h[e[t+15]]).toLowerCase()}(i)}var Eh,Ih,Th,Ph,Mh,Lh,Dh,Nh,Oh,Fh,Uh,zh,Rh,Qh,Hh,Vh,jh,Gh,Wh,Kh,qh,Yh,Xh,Zh,Jh,$h,ep,tp,rp,np,ip,op,ap,sp,lp,up,cp,Ap,dp,hp,pp,fp,gp,vp,mp,yp,bp,wp,xp,_p,Cp,Sp,Bp,kp,Ep,Ip,Tp,Pp,Mp,Lp,Dp,Np,Op,Fp,Up,zp,Rp,Qp,Hp,Vp,jp,Gp,Wp,Kp,qp,Yp,Xp,Zp,Jp,$p,ef,tf,rf,nf,of,af,sf,lf,uf,cf,Af,df,hf,pf,ff,gf,vf,mf,yf,bf,wf,xf,_f,Cf,Sf,Bf,kf,Ef,If="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Tf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Pf(){if(Ph)return Th;return Ph=1,Th=function(e,t){return e===t||e!=e&&t!=t}}function Mf(){if(Lh)return Mh;Lh=1;var e=Pf();return Mh=function(t,r){for(var n=t.length;n--;)if(e(t[n][0],r))return n;return-1}}function Lf(){if(Vh)return Hh;Vh=1;var e=Ih?Eh:(Ih=1,Eh=function(){this.__data__=[],this.size=0}),t=function(){if(Nh)return Dh;Nh=1;var e=Mf(),t=Array.prototype.splice;return Dh=function(r){var n=this.__data__,i=e(n,r);return!(i<0||(i==n.length-1?n.pop():t.call(n,i,1),--this.size,0))}}(),r=function(){if(Fh)return Oh;Fh=1;var e=Mf();return Oh=function(t){var r=this.__data__,n=e(r,t);return n<0?void 0:r[n][1]}}(),n=function(){if(zh)return Uh;zh=1;var e=Mf();return Uh=function(t){return e(this.__data__,t)>-1}}(),i=function(){if(Qh)return Rh;Qh=1;var e=Mf();return Rh=function(t,r){var n=this.__data__,i=e(n,t);return i<0?(++this.size,n.push([t,r])):n[i][1]=r,this}}();function o(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}return o.prototype.clear=e,o.prototype.delete=t,o.prototype.get=r,o.prototype.has=n,o.prototype.set=i,Hh=o}function Df(){if($h)return Jh;$h=1;var e="object"==typeof If&&If&&If.Object===Object&&If;return Jh=e}function Nf(){if(tp)return ep;tp=1;var e=Df(),t="object"==typeof self&&self&&self.Object===Object&&self,r=e||t||Function("return this")();return ep=r}function Of(){if(np)return rp;np=1;var e=Nf().Symbol;return rp=e}function Ff(){if(up)return lp;up=1;var e=Of(),t=function(){if(op)return ip;op=1;var e=Of(),t=Object.prototype,r=t.hasOwnProperty,n=t.toString,i=e?e.toStringTag:void 0;return ip=function(e){var t=r.call(e,i),o=e[i];try{e[i]=void 0;var a=!0}catch(gH){}var s=n.call(e);return a&&(t?e[i]=o:delete e[i]),s}}(),r=function(){if(sp)return ap;sp=1;var e=Object.prototype.toString;return ap=function(t){return e.call(t)}}(),n=e?e.toStringTag:void 0;return lp=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":n&&n in Object(e)?t(e):r(e)}}function Uf(){if(Ap)return cp;return Ap=1,cp=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}}function zf(){if(hp)return dp;hp=1;var e=Ff(),t=Uf();return dp=function(r){if(!t(r))return!1;var n=e(r);return"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n}}function Rf(){if(vp)return gp;vp=1;var e,t=function(){if(fp)return pp;fp=1;var e=Nf()["__core-js_shared__"];return pp=e}(),r=(e=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||""))?"Symbol(src)_1."+e:"";return gp=function(e){return!!r&&r in e}}function Qf(){if(yp)return mp;yp=1;var e=Function.prototype.toString;return mp=function(t){if(null!=t){try{return e.call(t)}catch(gH){}try{return t+""}catch(gH){}}return""}}function Hf(){if(Sp)return Cp;Sp=1;var e=function(){if(wp)return bp;wp=1;var e=zf(),t=Rf(),r=Uf(),n=Qf(),i=/^\[object .+?Constructor\]$/,o=Function.prototype,a=Object.prototype,s=o.toString,l=a.hasOwnProperty,u=RegExp("^"+s.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");return bp=function(o){return!(!r(o)||t(o))&&(e(o)?u:i).test(n(o))}}(),t=_p?xp:(_p=1,xp=function(e,t){return null==e?void 0:e[t]});return Cp=function(r,n){var i=t(r,n);return e(i)?i:void 0}}function Vf(){if(kp)return Bp;kp=1;var e=Hf()(Nf(),"Map");return Bp=e}function jf(){if(Ip)return Ep;Ip=1;var e=Hf()(Object,"create");return Ep=e}function Gf(){if(Qp)return Rp;Qp=1;var e=function(){if(Pp)return Tp;Pp=1;var e=jf();return Tp=function(){this.__data__=e?e(null):{},this.size=0}}(),t=Lp?Mp:(Lp=1,Mp=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}),r=function(){if(Np)return Dp;Np=1;var e=jf(),t=Object.prototype.hasOwnProperty;return Dp=function(r){var n=this.__data__;if(e){var i=n[r];return"__lodash_hash_undefined__"===i?void 0:i}return t.call(n,r)?n[r]:void 0}}(),n=function(){if(Fp)return Op;Fp=1;var e=jf(),t=Object.prototype.hasOwnProperty;return Op=function(r){var n=this.__data__;return e?void 0!==n[r]:t.call(n,r)}}(),i=function(){if(zp)return Up;zp=1;var e=jf();return Up=function(t,r){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=e&&void 0===r?"__lodash_hash_undefined__":r,this}}();function o(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}return o.prototype.clear=e,o.prototype.delete=t,o.prototype.get=r,o.prototype.has=n,o.prototype.set=i,Rp=o}function Wf(){if(Kp)return Wp;Kp=1;var e=Gp?jp:(Gp=1,jp=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e});return Wp=function(t,r){var n=t.__data__;return e(r)?n["string"==typeof r?"string":"hash"]:n.map}}function Kf(){if(nf)return rf;nf=1;var e=function(){if(Vp)return Hp;Vp=1;var e=Gf(),t=Lf(),r=Vf();return Hp=function(){this.size=0,this.__data__={hash:new e,map:new(r||t),string:new e}}}(),t=function(){if(Yp)return qp;Yp=1;var e=Wf();return qp=function(t){var r=e(this,t).delete(t);return this.size-=r?1:0,r}}(),r=function(){if(Zp)return Xp;Zp=1;var e=Wf();return Xp=function(t){return e(this,t).get(t)}}(),n=function(){if($p)return Jp;$p=1;var e=Wf();return Jp=function(t){return e(this,t).has(t)}}(),i=function(){if(tf)return ef;tf=1;var e=Wf();return ef=function(t,r){var n=e(this,t),i=n.size;return n.set(t,r),this.size+=n.size==i?0:1,this}}();function o(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}return o.prototype.clear=e,o.prototype.delete=t,o.prototype.get=r,o.prototype.has=n,o.prototype.set=i,rf=o}function qf(){if(lf)return sf;lf=1;var e=Lf(),t=function(){if(Gh)return jh;Gh=1;var e=Lf();return jh=function(){this.__data__=new e,this.size=0}}(),r=Kh?Wh:(Kh=1,Wh=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}),n=Yh?qh:(Yh=1,qh=function(e){return this.__data__.get(e)}),i=Zh?Xh:(Zh=1,Xh=function(e){return this.__data__.has(e)}),o=function(){if(af)return of;af=1;var e=Lf(),t=Vf(),r=Kf();return of=function(n,i){var o=this.__data__;if(o instanceof e){var a=o.__data__;if(!t||a.length<199)return a.push([n,i]),this.size=++o.size,this;o=this.__data__=new r(a)}return o.set(n,i),this.size=o.size,this}}();function a(t){var r=this.__data__=new e(t);this.size=r.size}return a.prototype.clear=t,a.prototype.delete=r,a.prototype.get=n,a.prototype.has=i,a.prototype.set=o,sf=a}function Yf(){if(df)return Af;df=1;var e=Hf(),t=function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch(gH){}}();return Af=t}function Xf(){if(pf)return hf;pf=1;var e=Yf();return hf=function(t,r,n){"__proto__"==r&&e?e(t,r,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[r]=n}}function Zf(){if(gf)return ff;gf=1;var e=Xf(),t=Pf(),r=Object.prototype.hasOwnProperty;return ff=function(n,i,o){var a=n[i];r.call(n,i)&&t(a,o)&&(void 0!==o||i in n)||e(n,i,o)}}function Jf(){if(mf)return vf;mf=1;var e=Zf(),t=Xf();return vf=function(r,n,i,o){var a=!i;i||(i={});for(var s=-1,l=n.length;++s<l;){var u=n[s],c=o?o(i[u],r[u],u,i,r):void 0;void 0===c&&(c=r[u]),a?t(i,u,c):e(i,u,c)}return i}}function $f(){if(xf)return wf;return xf=1,wf=function(e){return null!=e&&"object"==typeof e}}function eg(){if(Bf)return Sf;Bf=1;var e=function(){if(Cf)return _f;Cf=1;var e=Ff(),t=$f();return _f=function(r){return t(r)&&"[object Arguments]"==e(r)}}(),t=$f(),r=Object.prototype,n=r.hasOwnProperty,i=r.propertyIsEnumerable,o=e(function(){return arguments}())?e:function(e){return t(e)&&n.call(e,"callee")&&!i.call(e,"callee")};return Sf=o}function tg(){if(Ef)return kf;Ef=1;var e=Array.isArray;return kf=e}var rg,ng,ig,og,ag,sg,lg,ug,cg,Ag,dg,hg={exports:{}};function pg(){return ig||(ig=1,e=hg,t=hg.exports,r=Nf(),n=ng?rg:(ng=1,rg=function(){return!1}),i=t&&!t.nodeType&&t,o=i&&e&&!e.nodeType&&e,a=o&&o.exports===i?r.Buffer:void 0,s=(a?a.isBuffer:void 0)||n,e.exports=s),hg.exports;var e,t,r,n,i,o,a,s}function fg(){if(ag)return og;ag=1;var e=/^(?:0|[1-9]\d*)$/;return og=function(t,r){var n=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&e.test(t))&&t>-1&&t%1==0&&t<r}}function gg(){if(lg)return sg;lg=1;return sg=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}}function vg(){if(dg)return Ag;return dg=1,Ag=function(e){return function(t){return e(t)}}}var mg,yg,bg,wg,xg,_g,Cg,Sg,Bg,kg,Eg,Ig,Tg,Pg,Mg,Lg,Dg,Ng,Og,Fg,Ug,zg,Rg,Qg,Hg,Vg,jg,Gg={exports:{}};function Wg(){return mg||(mg=1,e=Gg,t=Gg.exports,r=Df(),n=t&&!t.nodeType&&t,i=n&&e&&!e.nodeType&&e,o=i&&i.exports===n&&r.process,a=function(){try{var e=i&&i.require&&i.require("util").types;return e||o&&o.binding&&o.binding("util")}catch(gH){}}(),e.exports=a),Gg.exports;var e,t,r,n,i,o,a}function Kg(){if(bg)return yg;bg=1;var e=function(){if(cg)return ug;cg=1;var e=Ff(),t=gg(),r=$f(),n={};return n["[object Float32Array]"]=n["[object Float64Array]"]=n["[object Int8Array]"]=n["[object Int16Array]"]=n["[object Int32Array]"]=n["[object Uint8Array]"]=n["[object Uint8ClampedArray]"]=n["[object Uint16Array]"]=n["[object Uint32Array]"]=!0,n["[object Arguments]"]=n["[object Array]"]=n["[object ArrayBuffer]"]=n["[object Boolean]"]=n["[object DataView]"]=n["[object Date]"]=n["[object Error]"]=n["[object Function]"]=n["[object Map]"]=n["[object Number]"]=n["[object Object]"]=n["[object RegExp]"]=n["[object Set]"]=n["[object String]"]=n["[object WeakMap]"]=!1,ug=function(i){return r(i)&&t(i.length)&&!!n[e(i)]}}(),t=vg(),r=Wg(),n=r&&r.isTypedArray,i=n?t(n):e;return yg=i}function qg(){if(xg)return wg;xg=1;var e=bf?yf:(bf=1,yf=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}),t=eg(),r=tg(),n=pg(),i=fg(),o=Kg(),a=Object.prototype.hasOwnProperty;return wg=function(s,l){var u=r(s),c=!u&&t(s),A=!u&&!c&&n(s),d=!u&&!c&&!A&&o(s),h=u||c||A||d,p=h?e(s.length,String):[],f=p.length;for(var g in s)!l&&!a.call(s,g)||h&&("length"==g||A&&("offset"==g||"parent"==g)||d&&("buffer"==g||"byteLength"==g||"byteOffset"==g)||i(g,f))||p.push(g);return p}}function Yg(){if(Cg)return _g;Cg=1;var e=Object.prototype;return _g=function(t){var r=t&&t.constructor;return t===("function"==typeof r&&r.prototype||e)}}function Xg(){if(Bg)return Sg;return Bg=1,Sg=function(e,t){return function(r){return e(t(r))}}}function Zg(){if(Tg)return Ig;Tg=1;var e=Yg(),t=function(){if(Eg)return kg;Eg=1;var e=Xg()(Object.keys,Object);return kg=e}(),r=Object.prototype.hasOwnProperty;return Ig=function(n){if(!e(n))return t(n);var i=[];for(var o in Object(n))r.call(n,o)&&"constructor"!=o&&i.push(o);return i}}function Jg(){if(Mg)return Pg;Mg=1;var e=zf(),t=gg();return Pg=function(r){return null!=r&&t(r.length)&&!e(r)}}function $g(){if(Dg)return Lg;Dg=1;var e=qg(),t=Zg(),r=Jg();return Lg=function(n){return r(n)?e(n):t(n)}}function ev(){if(Rg)return zg;Rg=1;var e=Uf(),t=Yg(),r=Ug?Fg:(Ug=1,Fg=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}),n=Object.prototype.hasOwnProperty;return zg=function(i){if(!e(i))return r(i);var o=t(i),a=[];for(var s in i)("constructor"!=s||!o&&n.call(i,s))&&a.push(s);return a}}function tv(){if(Hg)return Qg;Hg=1;var e=qg(),t=ev(),r=Jg();return Qg=function(n){return r(n)?e(n,!0):t(n)}}var rv,nv,iv,ov,av,sv,lv,uv,cv,Av,dv,hv,pv,fv,gv,vv,mv,yv,bv,wv,xv,_v,Cv,Sv,Bv,kv,Ev,Iv,Tv,Pv,Mv,Lv,Dv,Nv,Ov,Fv,Uv,zv,Rv,Qv,Hv,Vv,jv,Gv,Wv,Kv,qv,Yv,Xv,Zv,Jv,$v,em,tm,rm,nm,im,om,am,sm,lm,um,cm,Am,dm,hm,pm,fm={exports:{}};function gm(){return rv||(rv=1,e=fm,t=fm.exports,r=Nf(),n=t&&!t.nodeType&&t,i=n&&e&&!e.nodeType&&e,o=i&&i.exports===n?r.Buffer:void 0,a=o?o.allocUnsafe:void 0,e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=a?a(r):new e.constructor(r);return e.copy(n),n}),fm.exports;var e,t,r,n,i,o,a}function vm(){if(iv)return nv;return iv=1,nv=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}}function mm(){if(lv)return sv;return lv=1,sv=function(){return[]}}function ym(){if(cv)return uv;cv=1;var e=av?ov:(av=1,ov=function(e,t){for(var r=-1,n=null==e?0:e.length,i=0,o=[];++r<n;){var a=e[r];t(a,r,e)&&(o[i++]=a)}return o}),t=mm(),r=Object.prototype.propertyIsEnumerable,n=Object.getOwnPropertySymbols;return uv=n?function(t){return null==t?[]:(t=Object(t),e(n(t),function(e){return r.call(t,e)}))}:t}function bm(){if(pv)return hv;return pv=1,hv=function(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}}function wm(){if(gv)return fv;gv=1;var e=Xg()(Object.getPrototypeOf,Object);return fv=e}function xm(){if(mv)return vv;mv=1;var e=bm(),t=wm(),r=ym(),n=mm(),i=Object.getOwnPropertySymbols;return vv=i?function(n){for(var i=[];n;)e(i,r(n)),n=t(n);return i}:n}function _m(){if(xv)return wv;xv=1;var e=bm(),t=tg();return wv=function(r,n,i){var o=n(r);return t(r)?o:e(o,i(r))}}function Cm(){if(Cv)return _v;Cv=1;var e=_m(),t=ym(),r=$g();return _v=function(n){return e(n,r,t)}}function Sm(){if(Ov)return Nv;Ov=1;var e=function(){if(Ev)return kv;Ev=1;var e=Hf()(Nf(),"DataView");return kv=e}(),t=Vf(),r=function(){if(Tv)return Iv;Tv=1;var e=Hf()(Nf(),"Promise");return Iv=e}(),n=function(){if(Mv)return Pv;Mv=1;var e=Hf()(Nf(),"Set");return Pv=e}(),i=function(){if(Dv)return Lv;Dv=1;var e=Hf()(Nf(),"WeakMap");return Lv=e}(),o=Ff(),a=Qf(),s="[object Map]",l="[object Promise]",u="[object Set]",c="[object WeakMap]",A="[object DataView]",d=a(e),h=a(t),p=a(r),f=a(n),g=a(i),v=o;return(e&&v(new e(new ArrayBuffer(1)))!=A||t&&v(new t)!=s||r&&v(r.resolve())!=l||n&&v(new n)!=u||i&&v(new i)!=c)&&(v=function(e){var t=o(e),r="[object Object]"==t?e.constructor:void 0,n=r?a(r):"";if(n)switch(n){case d:return A;case h:return s;case p:return l;case f:return u;case g:return c}return t}),Nv=v}function Bm(){if(Rv)return zv;Rv=1;var e=Nf().Uint8Array;return zv=e}function km(){if(Hv)return Qv;Hv=1;var e=Bm();return Qv=function(t){var r=new t.constructor(t.byteLength);return new e(r).set(new e(t)),r}}function Em(){if(Xv)return Yv;Xv=1;var e=km();return Yv=function(t,r){var n=r?e(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}}function Im(){if(Jv)return Zv;Jv=1;var e=km(),t=function(){if(jv)return Vv;jv=1;var e=km();return Vv=function(t,r){var n=r?e(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}}(),r=function(){if(Wv)return Gv;Wv=1;var e=/\w*$/;return Gv=function(t){var r=new t.constructor(t.source,e.exec(t));return r.lastIndex=t.lastIndex,r}}(),n=function(){if(qv)return Kv;qv=1;var e=Of(),t=e?e.prototype:void 0,r=t?t.valueOf:void 0;return Kv=function(e){return r?Object(r.call(e)):{}}}(),i=Em();return Zv=function(o,a,s){var l=o.constructor;switch(a){case"[object ArrayBuffer]":return e(o);case"[object Boolean]":case"[object Date]":return new l(+o);case"[object DataView]":return t(o,s);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return i(o,s);case"[object Map]":case"[object Set]":return new l;case"[object Number]":case"[object String]":return new l(o);case"[object RegExp]":return r(o);case"[object Symbol]":return n(o)}}}function Tm(){if(rm)return tm;rm=1;var e=function(){if(em)return $v;em=1;var e=Uf(),t=Object.create;return $v=function(){function r(){}return function(n){if(!e(n))return{};if(t)return t(n);r.prototype=n;var i=new r;return r.prototype=void 0,i}}()}(),t=wm(),r=Yg();return tm=function(n){return"function"!=typeof n.constructor||r(n)?{}:e(t(n))}}function Pm(){if(am)return om;am=1;var e=function(){if(im)return nm;im=1;var e=Sm(),t=$f();return nm=function(r){return t(r)&&"[object Map]"==e(r)}}(),t=vg(),r=Wg(),n=r&&r.isMap,i=n?t(n):e;return om=i}function Mm(){if(cm)return um;cm=1;var e=function(){if(lm)return sm;lm=1;var e=Sm(),t=$f();return sm=function(r){return t(r)&&"[object Set]"==e(r)}}(),t=vg(),r=Wg(),n=r&&r.isSet,i=n?t(n):e;return um=i}function Lm(){if(dm)return Am;dm=1;var e=qf(),t=cf?uf:(cf=1,uf=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}),r=Zf(),n=function(){if(Og)return Ng;Og=1;var e=Jf(),t=$g();return Ng=function(r,n){return r&&e(n,t(n),r)}}(),i=function(){if(jg)return Vg;jg=1;var e=Jf(),t=tv();return Vg=function(r,n){return r&&e(n,t(n),r)}}(),o=gm(),a=vm(),s=function(){if(dv)return Av;dv=1;var e=Jf(),t=ym();return Av=function(r,n){return e(r,t(r),n)}}(),l=function(){if(bv)return yv;bv=1;var e=Jf(),t=xm();return yv=function(r,n){return e(r,t(r),n)}}(),u=Cm(),c=function(){if(Bv)return Sv;Bv=1;var e=_m(),t=xm(),r=tv();return Sv=function(n){return e(n,r,t)}}(),A=Sm(),d=function(){if(Uv)return Fv;Uv=1;var e=Object.prototype.hasOwnProperty;return Fv=function(t){var r=t.length,n=new t.constructor(r);return r&&"string"==typeof t[0]&&e.call(t,"index")&&(n.index=t.index,n.input=t.input),n}}(),h=Im(),p=Tm(),f=tg(),g=pg(),v=Pm(),m=Uf(),y=Mm(),b=$g(),w=tv(),x="[object Arguments]",_="[object Function]",C="[object Object]",S={};return S[x]=S["[object Array]"]=S["[object ArrayBuffer]"]=S["[object DataView]"]=S["[object Boolean]"]=S["[object Date]"]=S["[object Float32Array]"]=S["[object Float64Array]"]=S["[object Int8Array]"]=S["[object Int16Array]"]=S["[object Int32Array]"]=S["[object Map]"]=S["[object Number]"]=S[C]=S["[object RegExp]"]=S["[object Set]"]=S["[object String]"]=S["[object Symbol]"]=S["[object Uint8Array]"]=S["[object Uint8ClampedArray]"]=S["[object Uint16Array]"]=S["[object Uint32Array]"]=!0,S["[object Error]"]=S[_]=S["[object WeakMap]"]=!1,Am=function B(k,E,I,T,P,M){var L,D=1&E,N=2&E,O=4&E;if(I&&(L=P?I(k,T,P,M):I(k)),void 0!==L)return L;if(!m(k))return k;var F=f(k);if(F){if(L=d(k),!D)return a(k,L)}else{var U=A(k),z=U==_||"[object GeneratorFunction]"==U;if(g(k))return o(k,D);if(U==C||U==x||z&&!P){if(L=N||z?{}:p(k),!D)return N?l(k,i(L,k)):s(k,n(L,k))}else{if(!S[U])return P?k:{};L=h(k,U,D)}}M||(M=new e);var R=M.get(k);if(R)return R;M.set(k,L),y(k)?k.forEach(function(e){L.add(B(e,E,I,e,k,M))}):v(k)&&k.forEach(function(e,t){L.set(t,B(e,E,I,t,k,M))});var Q=F?void 0:(O?N?c:u:N?w:b)(k);return t(Q||k,function(e,t){Q&&(e=k[t=e]),r(L,t,B(e,E,I,t,k,M))}),L},Am}const Dm=Tf(function(){if(pm)return hm;pm=1;var e=Lm();return hm=function(t){return e(t,5)}}());var Nm=(e=>(e.TEXT="text",e.IMAGE="image",e.TABLE="table",e.CUSTOM_TABLE="customTable",e.PAGE_NUMBER="pageNumber",e.BARCODE="barcode",e.QRCODE="qrcode",e.LINE="line",e.RECT="rect",e.CIRCLE="circle",e.CHART="chart",e.LONG_TEXT="longtext",e.RICH_TEXT="richtext",e.DATE="date",e.DATA_CARD="datacard",e.PROGRESS="progress",e.LIST="list",e.SIGNATURE="signature",e.NESTED_TABLE="nestedtable",e))(Nm||{});let Om={mode:"local",endpoints:{baseUrl:"",templates:{list:"/api/print/templates",get:"/api/print/templates/{id}",upsert:"/api/print/templates",delete:"/api/print/templates/{id}"},customElements:{list:"/api/print/custom-elements",get:"/api/print/custom-elements/{id}",upsert:"/api/print/custom-elements",delete:"/api/print/custom-elements/{id}"}},headers:{"Content-Type":"application/json"}};const Fm=(e,t)=>t?{baseUrl:t.baseUrl??e.baseUrl,templates:{...e.templates,...t.templates},customElements:{...e.customElements,...t.customElements}}:{...e},Um=()=>({mode:Om.mode,endpoints:Fm(Om.endpoints),headers:{...Om.headers||{}},fetcher:Om.fetcher}),zm=(e,t)=>{const r="string"==typeof e?e:(null==e?void 0:e.url)||"";return(e=>{const t=Om.endpoints.baseUrl||"";return e?/^https?:\/\//i.test(e)?e:t?e.startsWith("/")?`${t.replace(/\/+$/,"")}${e}`:`${t.replace(/\/+$/,"")}/${e}`:e:t||""})(t?r.replace("{id}",t):r)},Rm=(e,t,r,n)=>{const i="object"==typeof e&&e.method?e.method.toUpperCase():t.toUpperCase(),o={method:i,headers:r,cache:"no-store"};return("POST"===i||"PUT"===i||"PATCH"===i)&&void 0!==n&&(o.body=JSON.stringify(n)),o};const Qm=new class{constructor(){n(this,"container",null)}initContainer(){this.container||(this.container=document.createElement("div"),this.container.style.position="fixed",this.container.style.top="20px",this.container.style.left="50%",this.container.style.transform="translateX(-50%)",this.container.style.zIndex="9999",this.container.style.display="flex",this.container.style.flexDirection="column",this.container.style.gap="10px",this.container.style.pointerEvents="none",document.body.appendChild(this.container))}show(e,t="info",r=3e3){this.initContainer();const n=document.createElement("div");switch(n.style.padding="12px 24px",n.style.borderRadius="0.5rem",n.style.color="#fff",n.style.fontSize="0.875rem",n.style.boxShadow="0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",n.style.transition="opacity 0.2s, transform 0.2s",n.style.opacity="0",n.style.transform="translateY(-20px)",t){case"success":n.style.backgroundColor="#10b981";break;case"error":n.style.backgroundColor="#ef4444";break;case"warning":n.style.backgroundColor="#f59e0b";break;case"info":n.style.backgroundColor="#3b82f6"}n.textContent=e,this.container.appendChild(n),requestAnimationFrame(()=>{n.style.opacity="1",n.style.transform="translateY(0)"}),setTimeout(()=>{n.style.opacity="0",n.style.transform="translateY(-20px)",setTimeout(()=>{n.parentNode===this.container&&this.container&&this.container.removeChild(n)},200)},r)}success(e,t){this.show(e,"success",t)}error(e,t){this.show(e,"error",t)}info(e,t){this.show(e,"info",t)}warning(e,t){this.show(e,"warning",t)}};var Hm,Vm,jm,Gm,Wm,Km,qm,Ym,Xm,Zm,Jm,$m,ey,ty,ry,ny,iy,oy,ay,sy,ly,uy,cy,Ay,dy,hy,py,fy,gy,vy,my,yy,by,wy,xy,_y,Cy,Sy,By,ky;function Ey(){if(Vm)return Hm;Vm=1;var e=Xf(),t=Pf();return Hm=function(r,n,i){(void 0!==i&&!t(r[n],i)||void 0===i&&!(n in r))&&e(r,n,i)}}function Iy(){if(Km)return Wm;Km=1;var e=(Gm?jm:(Gm=1,jm=function(e){return function(t,r,n){for(var i=-1,o=Object(t),a=n(t),s=a.length;s--;){var l=a[e?s:++i];if(!1===r(o[l],l,o))break}return t}}))();return Wm=e}function Ty(){if($m)return Jm;return $m=1,Jm=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}}function Py(){if(ny)return ry;ny=1;var e=Ey(),t=gm(),r=Em(),n=vm(),i=Tm(),o=eg(),a=tg(),s=function(){if(Ym)return qm;Ym=1;var e=Jg(),t=$f();return qm=function(r){return t(r)&&e(r)}}(),l=pg(),u=zf(),c=Uf(),A=function(){if(Zm)return Xm;Zm=1;var e=Ff(),t=wm(),r=$f(),n=Function.prototype,i=Object.prototype,o=n.toString,a=i.hasOwnProperty,s=o.call(Object);return Xm=function(n){if(!r(n)||"[object Object]"!=e(n))return!1;var i=t(n);if(null===i)return!0;var l=a.call(i,"constructor")&&i.constructor;return"function"==typeof l&&l instanceof l&&o.call(l)==s}}(),d=Kg(),h=Ty(),p=function(){if(ty)return ey;ty=1;var e=Jf(),t=tv();return ey=function(r){return e(r,t(r))}}();return ry=function(f,g,v,m,y,b,w){var x=h(f,v),_=h(g,v),C=w.get(_);if(C)e(f,v,C);else{var S=b?b(x,_,v+"",f,g,w):void 0,B=void 0===S;if(B){var k=a(_),E=!k&&l(_),I=!k&&!E&&d(_);S=_,k||E||I?a(x)?S=x:s(x)?S=n(x):E?(B=!1,S=t(_,!0)):I?(B=!1,S=r(_,!0)):S=[]:A(_)||o(_)?(S=x,o(x)?S=p(x):c(x)&&!u(x)||(S=i(_))):B=!1}B&&(w.set(_,S),y(S,_,m,b,w),w.delete(_)),e(f,v,S)}}}function My(){if(sy)return ay;return sy=1,ay=function(e){return e}}function Ly(){if(Ay)return cy;Ay=1;var e=uy?ly:(uy=1,ly=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}),t=Math.max;return cy=function(r,n,i){return n=t(void 0===n?r.length-1:n,0),function(){for(var o=arguments,a=-1,s=t(o.length-n,0),l=Array(s);++a<s;)l[a]=o[n+a];a=-1;for(var u=Array(n+1);++a<n;)u[a]=o[a];return u[n]=i(l),e(r,this,u)}},cy}function Dy(){if(fy)return py;fy=1;var e=hy?dy:(hy=1,dy=function(e){return function(){return e}}),t=Yf(),r=My();return py=t?function(r,n){return t(r,"toString",{configurable:!0,enumerable:!1,value:e(n),writable:!0})}:r}function Ny(){if(yy)return my;yy=1;var e=Dy(),t=function(){if(vy)return gy;vy=1;var e=Date.now;return gy=function(t){var r=0,n=0;return function(){var i=e(),o=16-(i-n);if(n=i,o>0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}},gy}(),r=t(e);return my=r}function Oy(){if(Sy)return Cy;Sy=1;var e=function(){if(wy)return by;wy=1;var e=My(),t=Ly(),r=Ny();return by=function(n,i){return r(t(n,i,e),n+"")}}(),t=function(){if(_y)return xy;_y=1;var e=Pf(),t=Jg(),r=fg(),n=Uf();return xy=function(i,o,a){if(!n(a))return!1;var s=typeof o;return!!("number"==s?t(a)&&r(o,a.length):"string"==s&&o in a)&&e(a[o],i)}}();return Cy=function(r){return e(function(e,n){var i=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=r.length>3&&"function"==typeof a?(o--,a):void 0,s&&t(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),e=Object(e);++i<o;){var l=n[i];l&&r(e,l,i,a)}return e})}}const Fy=Tf(function(){if(ky)return By;ky=1;var e=function(){if(oy)return iy;oy=1;var e=qf(),t=Ey(),r=Iy(),n=Py(),i=Uf(),o=tv(),a=Ty();return iy=function s(l,u,c,A,d){l!==u&&r(u,function(r,o){if(d||(d=new e),i(r))n(l,u,o,c,s,A,d);else{var h=A?A(a(l,o),r,o+"",l,u,d):void 0;void 0===h&&(h=r),t(l,o,h)}},o)},iy}(),t=Oy()(function(t,r,n,i){e(t,r,n,i)});return By=t}()),Uy=e=>{if(null===e||"object"!=typeof e)return e;if(Array.isArray(e))return e.map(Uy);const t={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=Uy(e[r]));return t},zy=e=>Boolean(e)&&"object"==typeof e&&!Array.isArray(e),Ry=(...e)=>Fy({},...e.filter(zy),(e,t)=>{if(Array.isArray(t))return t}),Qy=e=>"boolean"==typeof e?e:void 0,Hy=e=>{const t=zy(e)?e:{},r=zy(t.permissions)?t.permissions:{},n=Qy(t.system)??Qy(t.isSystem)??Qy(r.system)??Qy(r.isSystem)??!1,i=Qy(t.editable)??Qy(r.editable)??!n,o=Qy(t.deletable)??Qy(r.deletable)??!n;return{system:n,editable:!n&&i,deletable:!n&&o,copyable:Qy(t.copyable)??Qy(r.copyable)??!0}},Vy=e=>{const t=Hy(e),r=zy(e.ext)?e.ext:{},n={id:e.id,name:e.name,ext:r,permissions:{...zy(e.permissions)?e.permissions:{},...t}};return"data"in e&&(n.data=e.data),"updatedAt"in e&&(n.updatedAt=e.updatedAt),"element"in e&&(n.element=e.element),"testData"in e&&(n.testData=e.testData),n},jy=e=>Hy(e).editable,Gy=e=>Hy(e).deletable,Wy=e=>Hy(e).copyable,Ky=(e,t,r)=>{const n=(e=>{if(!e||!zy(e))return;const t={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=Uy(e[r]));return Object.keys(t).length>0?t:void 0})(r),i=e.ext&&zy(e.ext)?e.ext:{},o=i.templateModalForm&&zy(i.templateModalForm)?i.templateModalForm:{},a=o.lastMode;let s=n;return s||(o[t]?s=o[t]:a&&o[a]&&(s=o[a])),{...e,ext:{...i,templateModalForm:{...o,...s?{[t]:s}:{},lastMode:t,updatedAt:Date.now()}}}};var qy,Yy,Xy,Zy,Jy,$y,eb,tb,rb,nb,ib,ob,ab,sb,lb,ub,cb,Ab,db,hb,pb,fb,gb,vb,mb,yb;function bb(){if($y)return Jy;$y=1;var e=Kf(),t=Yy?qy:(Yy=1,qy=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}),r=Zy?Xy:(Zy=1,Xy=function(e){return this.__data__.has(e)});function n(t){var r=-1,n=null==t?0:t.length;for(this.__data__=new e;++r<n;)this.add(t[r])}return n.prototype.add=n.prototype.push=t,n.prototype.has=r,Jy=n}function wb(){if(ob)return ib;ob=1;var e=bb(),t=tb?eb:(tb=1,eb=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}),r=nb?rb:(nb=1,rb=function(e,t){return e.has(t)});return ib=function(n,i,o,a,s,l){var u=1&o,c=n.length,A=i.length;if(c!=A&&!(u&&A>c))return!1;var d=l.get(n),h=l.get(i);if(d&&h)return d==i&&h==n;var p=-1,f=!0,g=2&o?new e:void 0;for(l.set(n,i),l.set(i,n);++p<c;){var v=n[p],m=i[p];if(a)var y=u?a(m,v,p,i,n,l):a(v,m,p,n,i,l);if(void 0!==y){if(y)continue;f=!1;break}if(g){if(!t(i,function(e,t){if(!r(g,t)&&(v===e||s(v,e,o,a,l)))return g.push(t)})){f=!1;break}}else if(v!==m&&!s(v,m,o,a,l)){f=!1;break}}return l.delete(n),l.delete(i),f}}function xb(){if(Ab)return cb;Ab=1;var e=Of(),t=Bm(),r=Pf(),n=wb(),i=sb?ab:(sb=1,ab=function(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}),o=ub?lb:(ub=1,lb=function(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}),a=e?e.prototype:void 0,s=a?a.valueOf:void 0;return cb=function(e,a,l,u,c,A,d){switch(l){case"[object DataView]":if(e.byteLength!=a.byteLength||e.byteOffset!=a.byteOffset)return!1;e=e.buffer,a=a.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=a.byteLength||!A(new t(e),new t(a)));case"[object Boolean]":case"[object Date]":case"[object Number]":return r(+e,+a);case"[object Error]":return e.name==a.name&&e.message==a.message;case"[object RegExp]":case"[object String]":return e==a+"";case"[object Map]":var h=i;case"[object Set]":var p=1&u;if(h||(h=o),e.size!=a.size&&!p)return!1;var f=d.get(e);if(f)return f==a;u|=2,d.set(e,a);var g=n(h(e),h(a),u,c,A,d);return d.delete(e),g;case"[object Symbol]":if(s)return s.call(e)==s.call(a)}return!1}}function _b(){if(fb)return pb;fb=1;var e=qf(),t=wb(),r=xb(),n=function(){if(hb)return db;hb=1;var e=Cm(),t=Object.prototype.hasOwnProperty;return db=function(r,n,i,o,a,s){var l=1&i,u=e(r),c=u.length;if(c!=e(n).length&&!l)return!1;for(var A=c;A--;){var d=u[A];if(!(l?d in n:t.call(n,d)))return!1}var h=s.get(r),p=s.get(n);if(h&&p)return h==n&&p==r;var f=!0;s.set(r,n),s.set(n,r);for(var g=l;++A<c;){var v=r[d=u[A]],m=n[d];if(o)var y=l?o(m,v,d,n,r,s):o(v,m,d,r,n,s);if(!(void 0===y?v===m||a(v,m,i,o,s):y)){f=!1;break}g||(g="constructor"==d)}if(f&&!g){var b=r.constructor,w=n.constructor;b==w||!("constructor"in r)||!("constructor"in n)||"function"==typeof b&&b instanceof b&&"function"==typeof w&&w instanceof w||(f=!1)}return s.delete(r),s.delete(n),f}}(),i=Sm(),o=tg(),a=pg(),s=Kg(),l="[object Arguments]",u="[object Array]",c="[object Object]",A=Object.prototype.hasOwnProperty;return pb=function(d,h,p,f,g,v){var m=o(d),y=o(h),b=m?u:i(d),w=y?u:i(h),x=(b=b==l?c:b)==c,_=(w=w==l?c:w)==c,C=b==w;if(C&&a(d)){if(!a(h))return!1;m=!0,x=!1}if(C&&!x)return v||(v=new e),m||s(d)?t(d,h,p,f,g,v):r(d,h,b,p,f,g,v);if(!(1&p)){var S=x&&A.call(d,"__wrapped__"),B=_&&A.call(h,"__wrapped__");if(S||B){var k=S?d.value():d,E=B?h.value():h;return v||(v=new e),g(k,E,p,f,v)}}return!!C&&(v||(v=new e),n(d,h,p,f,g,v))}}const Cb=Tf(function(){if(yb)return mb;yb=1;var e=function(){if(vb)return gb;vb=1;var e=_b(),t=$f();return gb=function r(n,i,o,a,s){return n===i||(null==n||null==i||!t(n)&&!t(i)?n!=n&&i!=i:e(n,i,o,a,r,s))},gb}();return mb=function(t,r){return e(t,r)}}()),Sb=e=>e&&"object"==typeof e&&"string"==typeof e.id&&e.id&&"string"==typeof e.type&&e.type?{...e,style:e.style&&"object"==typeof e.style?e.style:{}}:null,Bb=e=>Array.isArray(e)?e.filter(e=>e&&"object"==typeof e).map((e,t)=>({...e,id:"string"==typeof e.id&&e.id?e.id:`page-${t+1}`,elements:Array.isArray(e.elements)?e.elements.map(Sb).filter(Boolean):[]})):[],kb=e=>{const t=e&&"object"==typeof e?e:{};return{...t,pages:Bb(t.pages)}},Eb=e=>!(!e||"object"!=typeof e)&&(!!(Array.isArray(e.pages)&&e.pages.length>0)||!(!e.canvasSize||"object"!=typeof e.canvasSize)),Ib=e=>Array.isArray(e)?Dm(e):[],Tb=(...e)=>{var t;for(const r of e)if(r&&"object"==typeof r&&Array.isArray(null==(t=r.ext)?void 0:t.availableVariables))return Ib(r.ext.availableVariables);return[]},Pb=(e,t)=>Ry(e,{availableVariables:Ib(t)}),Mb=$l("templates",{state:()=>({templates:[],templateDetailCache:{},currentTemplateId:null,isSaving:!1,isLoading:!1}),actions:{async fetchTemplateDetail(e){var t,r;const{mode:n,endpoints:i,headers:o,fetcher:a}=Um();if("remote"!==n){const t=this.templates.find(t=>t.id===e);return t?(this.templateDetailCache[e]=t,t):null}this.isLoading=!0;try{const n=zm(null==(t=i.templates)?void 0:t.get,e),s=Rm(null==(r=i.templates)?void 0:r.get,"GET",o),l=await(a||fetch)(n,s),u=await l.json(),c=(null==u?void 0:u.template)||u;if(!c)return null;const A=kb(c.data),d=c.id||e,h=this.templates.find(e=>e.id===d),p=this.templateDetailCache[d],f={id:d,name:c.name||(null==h?void 0:h.name)||(null==p?void 0:p.name)||"",data:A,updatedAt:c.updatedAt||(null==p?void 0:p.updatedAt)||(null==h?void 0:h.updatedAt)||Date.now(),permissions:c.permissions??(null==p?void 0:p.permissions)??(null==h?void 0:h.permissions),ext:Pb(Ry(null==h?void 0:h.ext,null==p?void 0:p.ext,c.ext),Tb(c,p,h))},g=Vy(f);return this.templateDetailCache[d]=g,g}catch(gH){return null}finally{this.isLoading=!1}},async loadTemplates(){var e,t;const{mode:r,endpoints:n,headers:i,fetcher:o}=Um();if("remote"===r){this.isLoading=!0;try{const r=zm(null==(e=n.templates)?void 0:e.list,""),a=Rm(null==(t=n.templates)?void 0:t.list,"GET",i),s=await(o||fetch)(r,a),l=await s.json(),u=(Array.isArray(l)?l:(null==l?void 0:l.templates)||[]).filter(e=>e&&"string"==typeof e.id&&"string"==typeof e.name).map(e=>{const t=this.templates.find(t=>t.id===e.id),r=this.templateDetailCache[e.id],n={id:e.id,name:e.name,data:Eb(e.data)?kb(e.data):(null==r?void 0:r.data)||(null==t?void 0:t.data)||kb(void 0),updatedAt:e.updatedAt||(null==r?void 0:r.updatedAt)||(null==t?void 0:t.updatedAt)||Date.now(),permissions:e.permissions??(null==r?void 0:r.permissions)??(null==t?void 0:t.permissions),ext:Pb(Ry(null==t?void 0:t.ext,null==r?void 0:r.ext,e.ext),Tb(e,r,t))},i=Vy(n);return this.templateDetailCache[e.id]=i,i}),c=Dm(Mt(this.templates));return void(Cb(c,u)||(this.templates=u))}catch(gH){return void(this.templates=[])}finally{this.isLoading=!1}}const a=localStorage.getItem("print-designer-templates");if(a)try{const e=JSON.parse(a),t=(Array.isArray(e)?e:[]).filter(e=>e&&"string"==typeof e.id&&"string"==typeof e.name).map(e=>{const t=this.templates.find(t=>t.id===e.id);return Vy({id:e.id,name:e.name,data:e.data?kb(e.data):(null==t?void 0:t.data)||kb(void 0),updatedAt:e.updatedAt||(null==t?void 0:t.updatedAt)||Date.now(),permissions:e.permissions??(null==t?void 0:t.permissions),ext:Pb(Ry(null==t?void 0:t.ext,e.ext),Tb(e,t))})}),r=Dm(Mt(this.templates));Cb(r,t)||(this.templates=t)}catch(gH){this.templates=[]}},saveToLocalStorage(){const{mode:e}=Um();"remote"!==e&&localStorage.setItem("print-designer-templates",JSON.stringify(this.templates))},buildSavePayload(e){const t=Wb(),r=this.currentTemplateId,n=r?this.templates.find(e=>e.id===r):void 0,i="report"===t.mode,o={...(null==n?void 0:n.data)||{},pages:Bb(Dm(t.pages)),canvasSize:Dm(t.canvasSize),guides:Dm(t.guides),zoom:t.zoom,showGrid:t.showGrid,headerHeight:t.headerHeight,footerHeight:t.footerHeight,showHeaderLine:t.showHeaderLine,showFooterLine:t.showFooterLine,showMinimap:t.showMinimap,canvasBackground:t.canvasBackground,pageSpacingX:t.pageSpacingX,pageSpacingY:t.pageSpacingY,unit:t.unit,watermark:Dm(t.watermark),...i?{testData:Dm(t.testData||{})}:{}};return{id:r,name:e,data:o,isNew:!r}},async saveCurrentTemplate(e,t=!1){var r,n,i;const{mode:o,endpoints:a,headers:s,fetcher:l}=Um(),u=Wb(),c=this.currentTemplateId,A=c?this.templates.find(e=>e.id===c):void 0;if(c&&A&&!jy(A))return void(t||Qm.warning(bh.global.t("toast.templateReadOnly")));const d="report"===u.mode,h={...(null==A?void 0:A.data)||{},pages:Bb(Dm(u.pages)),canvasSize:Dm(u.canvasSize),guides:Dm(u.guides),zoom:u.zoom,showGrid:u.showGrid,headerHeight:u.headerHeight,footerHeight:u.footerHeight,showHeaderLine:u.showHeaderLine,showFooterLine:u.showFooterLine,showMinimap:u.showMinimap,canvasBackground:u.canvasBackground,pageSpacingX:u.pageSpacingX,pageSpacingY:u.pageSpacingY,unit:u.unit,watermark:Dm(u.watermark),...d?{testData:Dm(u.testData||{})}:{}};if(c&&A){const t=kb(A.data||{}),r=kb(h);if(A.name===e&&Cb(t,r))return}this.isSaving=!0,"remote"!==o||t||(this.isLoading=!0);try{if("remote"===o)try{const i=c&&(this.templateDetailCache[c]||A)||{},o={id:c||kh(),name:e,data:{...(null==i?void 0:i.data)||{},...h},updatedAt:Date.now(),permissions:null==i?void 0:i.permissions,ext:Pb(Ry(null==A?void 0:A.ext,null==i?void 0:i.ext),u.availableVariables)},d=Vy(Ky(o,c?"edit":"create")),p=zm(null==(r=a.templates)?void 0:r.upsert,""),f=Rm(null==(n=a.templates)?void 0:n.upsert,"POST",s,d),g=await(l||fetch)(p,f),v=await g.json(),m=(null==v?void 0:v.id)||d.id,y=this.templates.findIndex(e=>e.id===m),b=v&&"object"==typeof v&&v.ext?v.ext:{},w=Vy({...d,ext:Ry(d.ext,b),id:m});return y>=0?this.templates[y]=w:this.templates.push(w),this.templateDetailCache[m]={...this.templateDetailCache[m]||{},...w},c&&this.currentTemplateId!==c||(this.currentTemplateId=m),void(t||await this.loadTemplates())}catch(gH){throw t||Qm.error(bh.global.t("toast.templateSaveFailed")),gH}if(c){const t=this.templates.findIndex(e=>e.id===c);t>=0&&(this.templates[t]=Vy({...this.templates[t],name:e,data:h,updatedAt:Date.now(),ext:Pb(null==(i=this.templates[t])?void 0:i.ext,u.availableVariables)}))}else this.createTemplate(e,h);this.saveToLocalStorage()}finally{this.isSaving=!1,"remote"!==o||t||(this.isLoading=!1)}},async updateTemplate(e,t){var r,n;const{mode:i,endpoints:o,headers:a,fetcher:s}=Um(),l=this.templates.find(t=>t.id===e);let u=this.templateDetailCache[e];if("remote"===i){const t=await this.fetchTemplateDetail(e);t&&(u=t)}if(!l&&!u)return;const c=Vy({...u||l,...t,updatedAt:Date.now()});if("remote"===i)try{const e=zm(null==(r=o.templates)?void 0:r.upsert,""),t=Rm(null==(n=o.templates)?void 0:n.upsert,"POST",a,c),i=await(s||fetch)(e,t),l=await i.json(),u=l&&"object"==typeof l&&l.ext?l.ext:{},A=Vy({...c,ext:Ry(c.ext,u),id:(null==l?void 0:l.id)||c.id}),d=this.templates.findIndex(e=>e.id===A.id);d>=0&&(this.templates[d]=A),this.templateDetailCache[A.id]=A}catch(gH){Qm.error(bh.global.t("toast.templateSaveFailed"))}else{const t=this.templates.findIndex(t=>t.id===e);t>=0&&(this.templates[t]=c),this.templateDetailCache[e]=c,this.saveToLocalStorage()}},async createTemplate(e,t,r,n="create"){var i,o;const{mode:a,endpoints:s,headers:l,fetcher:u}=Um(),c=Wb(),A="report"===c.mode,d=t||{pages:Dm(c.pages),canvasSize:Dm(c.canvasSize),pageSpacingX:c.pageSpacingX,pageSpacingY:c.pageSpacingY,unit:c.unit,watermark:Dm(c.watermark),...A?{testData:Dm(c.testData||{})}:{},guides:Dm(c.guides),zoom:c.zoom,showGrid:c.showGrid,headerHeight:c.headerHeight,footerHeight:c.footerHeight,showHeaderLine:c.showHeaderLine,showFooterLine:c.showFooterLine,showMinimap:c.showMinimap,canvasBackground:c.canvasBackground},h=kb(d),p=Ky({id:kh(),name:e,data:h,updatedAt:Date.now(),ext:Pb(void 0,c.availableVariables)},n,r),f=Vy(p);if("remote"===a){this.isLoading=!0;try{const e=zm(null==(i=s.templates)?void 0:i.upsert,""),t=Rm(null==(o=s.templates)?void 0:o.upsert,"POST",l,f),r=await(u||fetch)(e,t),n=await r.json();n&&"object"==typeof n&&n.ext&&(f.ext={...f.ext||{},...n.ext});const a=(null==n?void 0:n.id)||f.id;f.id=a;const c=this.templateDetailCache[a];this.templateDetailCache[a]=Vy({id:f.id,name:f.name,data:f.data||(null==c?void 0:c.data),updatedAt:f.updatedAt||(null==c?void 0:c.updatedAt),permissions:f.permissions??(null==c?void 0:c.permissions),ext:Pb(Ry(null==c?void 0:c.ext,f.ext),Tb(f,c))}),await this.loadTemplates()}catch(gH){}finally{this.isLoading=!1}}else this.templates.push(f),this.saveToLocalStorage();this.currentTemplateId=f.id},async deleteTemplate(e){var t,r;const{mode:n,endpoints:i,headers:o,fetcher:a}=Um(),s=this.templates.find(t=>t.id===e);if(!s||Gy(s))if(this.templates=this.templates.filter(t=>t.id!==e),delete this.templateDetailCache[e],this.currentTemplateId===e&&(this.currentTemplateId=null),"remote"!==n)this.saveToLocalStorage();else{this.isLoading=!0;try{const n=zm(null==(t=i.templates)?void 0:t.delete,e),s=Rm(null==(r=i.templates)?void 0:r.delete,"DELETE",o);await(a||fetch)(n,s),await this.loadTemplates()}catch(gH){Qm.error(bh.global.t("toast.templateDeleteFailed"))}finally{this.isLoading=!1}}else Qm.warning(bh.global.t("toast.templateDeleteNotAllowed"))},async editTemplate(e,t,r){var n,i;const{mode:o,endpoints:a,headers:s,fetcher:l}=Um(),u=this.templates.find(t=>t.id===e);if(u){if(!jy(u))return void Qm.warning(bh.global.t("toast.templateReadOnly"));u.name=t,u.updatedAt=Date.now();const c=Ky(u,"edit",r);if(c!==u&&Object.assign(u,c),"remote"===o){this.isLoading=!0;try{let o=this.templateDetailCache[e];const c=await this.fetchTemplateDetail(e);c&&(o=c);const A=Ky({id:u.id,name:t,data:(null==o?void 0:o.data)||u.data||{},updatedAt:u.updatedAt,permissions:u.permissions??(null==o?void 0:o.permissions),ext:Pb(Ry(null==o?void 0:o.ext,u.ext),Tb(u,o))},"edit",r),d=Vy(A),h=zm(null==(n=a.templates)?void 0:n.upsert,""),p=Rm(null==(i=a.templates)?void 0:i.upsert,"POST",s,d);await(l||fetch)(h,p),this.templateDetailCache[e]={...this.templateDetailCache[e]||{},...d},await this.loadTemplates()}catch(gH){Qm.error(bh.global.t("toast.templateEditFailed"))}finally{this.isLoading=!1}return}this.saveToLocalStorage()}},async copyTemplate(e,t,r){var n,i;const{mode:o,endpoints:a,headers:s,fetcher:l}=Um(),u=this.templates.find(t=>t.id===e);if(u){if(!Wy(u))return void Qm.warning(bh.global.t("toast.templateCopyNotAllowed"));let c=this.templateDetailCache[e];if("remote"===o){const t=await this.fetchTemplateDetail(e);t&&(c=t)}const A=(null==c?void 0:c.data)||u.data,d="remote"===o?{id:u.id,name:u.name,data:A,ext:Pb(Ry(null==c?void 0:c.ext,u.ext),Tb(u,c))}:u,h=Ky({id:kh(),name:"string"==typeof t&&t.trim()?t.trim():`${d.name} Copy`,data:kb(JSON.parse(JSON.stringify(d.data))),updatedAt:Date.now(),ext:Pb(d.ext,Tb(d)),permissions:{...d.permissions&&"object"==typeof d.permissions?d.permissions:{}}},"copy",r),p=Vy(h);if("remote"===o){this.isLoading=!0;try{const e=zm(null==(n=a.templates)?void 0:n.upsert,""),t=Rm(null==(i=a.templates)?void 0:i.upsert,"POST",s,p),r=await(l||fetch)(e,t),o=await r.json();o&&"object"==typeof o&&o.ext&&(p.ext={...p.ext||{},...o.ext}),p.id=(null==o?void 0:o.id)||p.id;const u=this.templateDetailCache[p.id];this.templateDetailCache[p.id]=Vy({id:p.id,name:p.name,data:p.data||(null==u?void 0:u.data),updatedAt:p.updatedAt||(null==u?void 0:u.updatedAt),permissions:p.permissions??(null==u?void 0:u.permissions),ext:Pb(Ry(null==u?void 0:u.ext,p.ext),Tb(p,u))}),await this.loadTemplates(),this.currentTemplateId=p.id,await this.loadTemplate(p.id)}catch(gH){Qm.error(bh.global.t("toast.templateCopyFailed"))}finally{this.isLoading=!1}}else this.templates.unshift(p),this.saveToLocalStorage(),this.currentTemplateId=p.id,await this.loadTemplate(p.id)}},async loadTemplate(e){this.isLoading=!0;try{const{mode:t,endpoints:r,headers:n,fetcher:i}=Um();if("remote"===t)try{const t=await this.fetchTemplateDetail(e);if(!t)return;const r=t,n=Wb();n.resetCanvas();const i=r.data;i.pages&&i.pages.length>0&&(n.pages=Dm(i.pages)),i.canvasSize&&(n.canvasSize=Dm(i.canvasSize)),i.guides&&(n.guides=Dm(i.guides)),void 0!==i.zoom&&(n.zoom=i.zoom),void 0!==i.showGrid&&(n.showGrid=i.showGrid),void 0!==i.headerHeight&&(n.headerHeight=i.headerHeight),void 0!==i.footerHeight&&(n.footerHeight=i.footerHeight),void 0!==i.showHeaderLine&&(n.showHeaderLine=i.showHeaderLine),void 0!==i.showFooterLine&&(n.showFooterLine=i.showFooterLine),void 0!==i.showMinimap&&(n.showMinimap=i.showMinimap),void 0!==i.canvasBackground&&(n.canvasBackground=i.canvasBackground),void 0!==i.pageSpacingX&&(n.pageSpacingX=i.pageSpacingX),void 0!==i.pageSpacingY&&(n.pageSpacingY=i.pageSpacingY),void 0!==i.unit&&(n.unit=i.unit),void 0!==i.watermark&&(n.watermark=Dm(i.watermark)),n.testData=Dm(i.testData||{}),n.setAvailableVariables(Tb(r)),n.selectedElementId=null,n.selectedGuideId=null,n.historyPast=[],n.historyFuture=[];const o=r.id||e;this.currentTemplateId=o;const a=this.templates.findIndex(e=>e.id===o);return void(a>=0?this.templates[a]=Vy({id:o,name:r.name||this.templates[a].name,data:i,updatedAt:r.updatedAt||this.templates[a].updatedAt,permissions:r.permissions??this.templates[a].permissions,ext:Pb(Ry(this.templates[a].ext,r.ext),Tb(r,this.templates[a]))}):this.templates.push(Vy({id:o,name:r.name||"",data:i,updatedAt:r.updatedAt||Date.now(),permissions:r.permissions,ext:Pb(r.ext||{},Tb(r))})))}catch(gH){return}const o=this.templates.find(t=>t.id===e);if(o){const t=Wb();t.resetCanvas();const r=kb(o.data);r.pages&&r.pages.length>0&&(t.pages=Dm(r.pages)),r.canvasSize&&(t.canvasSize=Dm(r.canvasSize)),r.guides&&(t.guides=Dm(r.guides)),void 0!==r.zoom&&(t.zoom=r.zoom),void 0!==r.showGrid&&(t.showGrid=r.showGrid),void 0!==r.headerHeight&&(t.headerHeight=r.headerHeight),void 0!==r.footerHeight&&(t.footerHeight=r.footerHeight),void 0!==r.showHeaderLine&&(t.showHeaderLine=r.showHeaderLine),void 0!==r.showFooterLine&&(t.showFooterLine=r.showFooterLine),void 0!==r.showMinimap&&(t.showMinimap=r.showMinimap),void 0!==r.canvasBackground&&(t.canvasBackground=r.canvasBackground),void 0!==r.pageSpacingX&&(t.pageSpacingX=r.pageSpacingX),void 0!==r.pageSpacingY&&(t.pageSpacingY=r.pageSpacingY),void 0!==r.unit&&(t.unit=r.unit),void 0!==r.watermark&&(t.watermark=Dm(r.watermark)),t.testData=Dm(r.testData||{}),t.setAvailableVariables(Tb(o)),t.selectedElementId=null,t.selectedGuideId=null,t.historyPast=[],t.historyFuture=[],this.currentTemplateId=o.id||e}}finally{setTimeout(()=>{this.isLoading=!1},100)}}}}),Lb=e=>{const t=e.trim();return t?t.startsWith("@")?t.slice(1).trim():t.startsWith("{#")&&t.endsWith("}")?t.slice(2,-1).trim():t:""},Db=e=>[Nm.TEXT,Nm.BARCODE,Nm.QRCODE,Nm.TABLE].includes(e.type),Nb=(e,t={})=>{const r={...t};if(!Db(e))return r;const n=(t,n)=>{const i=Lb(t);i&&(Object.prototype.hasOwnProperty.call(r,i)||(r[i]="tableData"===n?(e=>{if(Array.isArray(e.data)&&e.data.length>0)return Dm(e.data);const t=e.columns||[];if(0===t.length)return[];const r={};return t.forEach(e=>{r[e.field]=""}),[r]})(e):"tableColumns"===n?Array.isArray(e.columns)&&e.columns.length>0?Dm(e.columns):[]:"tableFooterData"===n?Array.isArray(e.footerData)&&e.footerData.length>0?Dm(e.footerData):[]:e.content??""))};return n(e.variable||"",e.type===Nm.TABLE?"tableData":"text"),e.type===Nm.TABLE&&(e.columnsVariable&&n(e.columnsVariable,"tableColumns"),e.footerDataVariable&&n(e.footerDataVariable,"tableFooterData")),r},Ob=(e=[],t={})=>{let r={...t};return e.forEach(e=>{e.elements.forEach(e=>{r=Nb(e,r)})}),r};function Fb(e){if(null==e)return"null";if(Array.isArray(e))return"array";const t=typeof e;return"string"===t||"number"===t||"boolean"===t?t:"object"===t?"object":"string"}function Ub(e,t){if(!e||!t)return;if(!t.includes("."))return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;const r=t.split(".");let n=e;for(const i of r){if(null==n)return;if("object"!=typeof n)return;if(!Object.prototype.hasOwnProperty.call(n,i))return;n=n[i]}return n}const zb={enabled:!1,text:"",angle:-30,color:"#000000",opacity:.1,size:24,density:160},Rb={title:"",logoUrl:"",showTitle:!0,showLogo:!0},Qb=()=>{const e=localStorage.getItem("print-designer-watermark");if(!e)return{...zb};try{return{...zb,...JSON.parse(e)}}catch{return{...zb}}},Hb=e=>{var t;return(null==(t=e.style)?void 0:t.zIndex)||1},Vb=(e,t,r)=>{const n=(e=>e.elements.map((e,t)=>({element:e,index:t})).sort((e,t)=>{const r=Hb(e.element),n=Hb(t.element);return r===n?e.index-t.index:r-n}))(e);if(0===n.filter(e=>t.has(e.element.id)).length)return null;let i=[...n];if("front"===r){const e=n.filter(e=>t.has(e.element.id));i=[...n.filter(e=>!t.has(e.element.id)),...e]}else if("back"===r){i=[...n.filter(e=>t.has(e.element.id)),...n.filter(e=>!t.has(e.element.id))]}else if("forward"===r)for(let a=i.length-2;a>=0;a-=1){const e=i[a],r=i[a+1];t.has(e.element.id)&&!t.has(r.element.id)&&(i[a]=r,i[a+1]=e)}else for(let a=1;a<i.length;a+=1){const e=i[a],r=i[a-1];t.has(e.element.id)&&!t.has(r.element.id)&&(i[a]=r,i[a-1]=e)}const o=new Map;return i.forEach((e,t)=>{const r=t+1;Hb(e.element)!==r&&o.set(e.element.id,r)}),0===o.size?null:o},jb=e=>{if(!e||!Array.isArray(e.items))return null;const t=e.items.filter(e=>Boolean(e&&"string"==typeof e.key&&e.key&&"string"==typeof e.label)).map(e=>({...e}));return 0===t.length?null:{mode:"replace"===e.mode?"replace":"append",items:t}},Gb=e=>{if(!e||"object"!=typeof e)return null;const t={};return["create","edit","copy"].forEach(r=>{const n=e[r];if(!n||"object"!=typeof n)return;const i=(e=>{if(!Array.isArray(e))return;const t=e.filter(e=>e&&"string"==typeof e.key&&e.key&&"string"==typeof e.type).map(e=>({...e,options:Array.isArray(e.options)?e.options.filter(e=>e&&"string"==typeof e.label):void 0}));return t.length>0?t:void 0})(n.fields),o=n.initialValues&&"object"==typeof n.initialValues?{...n.initialValues}:void 0;(i||o)&&(t[r]={...i?{fields:i}:{},...o?{initialValues:o}:{}})}),Object.keys(t).length>0?t:null},Wb=$l("designer",{state:()=>({mode:"template",viewMode:"edit",unit:localStorage.getItem("print-designer-unit")||"mm",watermark:Qb(),branding:{...Rb},pages:[{id:kh(),elements:[]}],currentPageIndex:0,customElements:JSON.parse(localStorage.getItem("print-designer-custom-elements")||"[]"),customElementDetailCache:{},templateContextMenuConfig:null,customElementContextMenuConfig:null,templateModalFormConfig:null,customElementModalFormConfig:null,contextMenuEventEmitter:null,testData:{},variables:{},availableVariables:[],showVariablesPanel:!1,showFieldsPanel:!1,showSampleDataModal:!1,tableAvailableFields:[],editingCustomElementId:null,customElementEditSnapshot:null,selectedElementId:null,selectedElementIds:[],selectedGuideId:null,highlightedGuideId:null,highlightedEdge:null,canvasSize:{width:794,height:1123},zoom:1,isDragging:!1,showGrid:!0,showMarginLines:!0,showCornerMarkers:!0,headerHeight:100,footerHeight:100,showHeaderLine:!1,showFooterLine:!1,showMinimap:!1,showHelp:!1,showSettings:!1,canvasBackground:"#ffffff",pageSpacingX:0,pageSpacingY:0,guides:[],historyPast:[],historyFuture:[],historyDescriptions:[],canvasPreview:!1,clipboard:[],copiedPage:null,isExporting:!1,disableGlobalShortcuts:!1,disableShortcutsCount:0,tableSelection:null,customTableSelection:null}),actions:{setContextMenuEventEmitter(e){this.contextMenuEventEmitter=e},setMode(e){this.mode=e},setViewMode(e){this.viewMode=e},setAvailableVariables(e){this.availableVariables=e},setShowVariablesPanel(e){this.showVariablesPanel=e},setShowFieldsPanel(e){this.showFieldsPanel=e,e&&this.regenerateFieldTree()},setShowSampleDataModal(e){this.showSampleDataModal=e},regenerateFieldTree(){this.availableVariables=function(e,t=""){if(!e||"object"!=typeof e)return[];const r=[],n=(e,t)=>{for(const[i,o]of Object.entries(e)){const e=t?`${t}.${i}`:i,a=Fb(o);"array"===a?r.push({id:e,label:i,isArray:!0}):"object"===a?n(o,e):r.push({id:e,label:i,isArray:!1})}};return n(e,t),r}(this.testData||{})},setSampleData(e){this.testData=e,this.regenerateFieldTree()},setTableAvailableFields(e){this.tableAvailableFields=e||[]},emitContextMenuEvent(e,t){var r;e&&"string"==typeof e&&(null==(r=this.contextMenuEventEmitter)||r.call(this,e,t||{}))},setTemplateContextMenuConfig(e){this.templateContextMenuConfig=jb(e)},setCustomElementContextMenuConfig(e){this.customElementContextMenuConfig=jb(e)},setTemplateModalFormConfig(e){this.templateModalFormConfig=Gb(e)},setCustomElementModalFormConfig(e){this.customElementModalFormConfig=Gb(e)},setBranding(e){if(!e||"object"!=typeof e)return;const t={...this.branding,...e};void 0!==e.showTitle&&(t.showTitle=Boolean(e.showTitle)),void 0!==e.showLogo&&(t.showLogo=Boolean(e.showLogo)),this.branding=t},setWatermark(e){this.watermark={...this.watermark||zb,...e},localStorage.setItem("print-designer-watermark",JSON.stringify(this.watermark))},setUnit(e){this.unit=e,localStorage.setItem("print-designer-unit",e)},setDragging(e){this.isDragging=e},setDisableGlobalShortcuts(e){const t=this.disableShortcutsCount||0;this.disableShortcutsCount=e?t+1:Math.max(0,t-1),this.disableGlobalShortcuts=this.disableShortcutsCount>0},setIsExporting(e){this.isExporting=e},setPageSpacingX(e){this.pageSpacingX=Math.max(0,Math.round(e))},setPageSpacingY(e){this.pageSpacingY=Math.max(0,Math.round(e))},resetCanvas(){this.watermark={...zb},localStorage.setItem("print-designer-watermark",JSON.stringify(this.watermark)),this.pages=[{id:kh(),elements:[]}],this.currentPageIndex=0,this.testData={},this.variables={},this.selectedElementId=null,this.selectedElementIds=[],this.selectedGuideId=null,this.guides=[],this.historyPast=[],this.historyFuture=[],this.headerHeight=100,this.footerHeight=100,this.showHeaderLine=!1,this.showFooterLine=!1,this.canvasBackground="#ffffff",this.pageSpacingX=0,this.pageSpacingY=0,this.canvasSize={width:794,height:1123},this.zoom=1,this.showGrid=!0,this.showCornerMarkers=!0,this.showMinimap=!1,this.showHelp=!1,this.showSettings=!1,this.copiedPage=null},startCustomElementEdit(e){const t=this.customElements.find(t=>t.id===e);if(!t)return;this.customElementEditSnapshot||(this.customElementEditSnapshot={pages:Dm(this.pages),historyPast:Dm(this.historyPast),historyFuture:Dm(this.historyFuture),canvasSize:Dm(this.canvasSize),guides:Dm(this.guides),zoom:this.zoom,showGrid:this.showGrid,showMarginLines:this.showMarginLines,showCornerMarkers:this.showCornerMarkers,headerHeight:this.headerHeight,footerHeight:this.footerHeight,showHeaderLine:this.showHeaderLine,showFooterLine:this.showFooterLine,showMinimap:this.showMinimap,canvasBackground:this.canvasBackground,pageSpacingX:this.pageSpacingX,pageSpacingY:this.pageSpacingY,unit:this.unit,watermark:Dm(this.watermark),testData:Dm(this.testData),currentPageIndex:this.currentPageIndex,selectedElementId:this.selectedElementId,selectedElementIds:Dm(this.selectedElementIds),selectedGuideId:this.selectedGuideId,highlightedGuideId:this.highlightedGuideId,highlightedEdge:this.highlightedEdge}),this.editingCustomElementId=e,this.resetCanvas();const r=Dm(t.element);r.id=kh(),this.pages=[{id:kh(),elements:[r]}],this.currentPageIndex=0,this.selectedElementId=r.id,this.selectedElementIds=[r.id],this.historyPast=[],this.historyFuture=[],this.guides=[],this.tableSelection=null},cancelCustomElementEdit(){const e=this.customElementEditSnapshot;this.editingCustomElementId=null,this.customElementEditSnapshot=null,e&&(this.pages=e.pages,this.historyPast=e.historyPast||[],this.historyFuture=e.historyFuture||[],this.canvasSize=e.canvasSize,this.guides=e.guides,this.zoom=e.zoom,this.showGrid=e.showGrid,this.showMarginLines=e.showMarginLines,this.showCornerMarkers=e.showCornerMarkers,this.headerHeight=e.headerHeight,this.footerHeight=e.footerHeight,this.showHeaderLine=e.showHeaderLine,this.showFooterLine=e.showFooterLine,this.showMinimap=e.showMinimap,this.canvasBackground=e.canvasBackground,this.pageSpacingX=e.pageSpacingX??this.pageSpacingX,this.pageSpacingY=e.pageSpacingY??this.pageSpacingY,this.unit=e.unit||this.unit,e.unit&&localStorage.setItem("print-designer-unit",e.unit),e.watermark&&(this.watermark=Dm(e.watermark),localStorage.setItem("print-designer-watermark",JSON.stringify(this.watermark))),this.testData=e.testData||{},this.currentPageIndex=e.currentPageIndex,this.selectedElementId=e.selectedElementId,this.selectedElementIds=e.selectedElementIds,this.selectedGuideId=e.selectedGuideId,this.highlightedGuideId=e.highlightedGuideId,this.highlightedEdge=e.highlightedEdge,this.tableSelection=null,this.customTableSelection=null)},async commitCustomElementEdit(){var e,t,r;if(!this.editingCustomElementId)return!1;const n=this.customElements.find(e=>e.id===this.editingCustomElementId);if(!n)return!1;const i=this.selectedElement||(null==(e=this.pages[0])?void 0:e.elements[0]);if(!i)return!1;if(!jy(n))return Qm.warning(bh.global.t("toast.customElementReadOnly")),!1;n.element=Dm(i);const{mode:o,endpoints:a,headers:s,fetcher:l}=Um();if("remote"===o)try{const e=this.customElementDetailCache[n.id],i={id:n.id,name:n.name,element:Dm(n.element),testData:n.testData,permissions:n.permissions??(null==e?void 0:e.permissions),ext:Ry(null==e?void 0:e.ext,n.ext)},o=Vy(Ky(i,"edit")),u=zm(null==(t=a.customElements)?void 0:t.upsert,""),c=Rm(null==(r=a.customElements)?void 0:r.upsert,"POST",s,o);await(l||fetch)(u,c);const A=this.customElementDetailCache[n.id];this.customElementDetailCache[n.id]=Vy({id:o.id,name:o.name,element:Dm(o.element||(null==A?void 0:A.element)||{}),testData:o.testData||(null==A?void 0:A.testData),permissions:o.permissions??(null==A?void 0:A.permissions),ext:Ry(null==A?void 0:A.ext,o.ext)})}catch(gH){}else this.saveCustomElements();return!0},saveCustomElementEditAs(e){var t;const r=this.selectedElement||(null==(t=this.pages[0])?void 0:t.elements[0]);return!!r&&(this.addCustomElement(e,r),!0)},copyPage(e){if(!this.isTemplateEditable)return;const t=this.pages[e];t&&(this.copiedPage=Dm(t))},pastePage(e){if(!this.isTemplateEditable)return;if(!this.copiedPage)return;this.snapshot("添加元素");const t=Dm(this.copiedPage);t.id=kh(),t.elements.forEach(e=>{e.id=kh()}),this.pages.splice(e+1,0,t),this.currentPageIndex=e+1},addPage(){this.isTemplateEditable&&(this.snapshot(),this.pages.push({id:kh(),elements:[]}),this.currentPageIndex=this.pages.length-1)},removePage(e){this.isTemplateEditable&&(this.pages.length<=1||(this.snapshot(),this.pages.splice(e,1),this.currentPageIndex>=this.pages.length&&(this.currentPageIndex=this.pages.length-1)))},setTableSelection(e,t,r){if(this.tableSelection&&this.tableSelection.elementId!==e)this.tableSelection={elementId:e,cells:[t]};else if(this.tableSelection)if(r){const r=this.tableSelection.cells.findIndex(e=>e.rowIndex===t.rowIndex&&e.colField===t.colField&&e.section===t.section);r>=0?(this.tableSelection.cells.splice(r,1),0===this.tableSelection.cells.length&&(this.tableSelection=null)):this.tableSelection.cells.length>0&&this.tableSelection.cells[0].section!==t.section?this.tableSelection={elementId:e,cells:[t]}:this.tableSelection.cells.push(t)}else this.tableSelection={elementId:e,cells:[t]};else this.tableSelection={elementId:e,cells:[t]}},setTableSelectionCells(e,t){this.tableSelection={elementId:e,cells:t}},clearTableSelection(){this.tableSelection=null},mergeSelectedCells(){if(!this.isTemplateEditable)return;if(!this.tableSelection||this.tableSelection.cells.length<2)return;const{elementId:e,cells:t}=this.tableSelection,r=t[0].section||"body";let n=null,i=-1,o=-1;for(let m=0;m<this.pages.length;m++){const t=this.pages[m].elements.findIndex(t=>t.id===e);if(-1!==t){n=this.pages[m].elements[t],i=m,o=t;break}}if(!n)return;const a="footer"===r?"footerData":"data",s=t.map(e=>e.rowIndex),l=Math.min(...s),u=Math.max(...s);let c=n.columns||[];if(n.columnsVariable&&this.testData){const e=Lb(n.columnsVariable),t=e?Ub(this.testData,e):void 0;Array.isArray(t)&&(c=t)}if(0===c.length)return;const A=c.map(e=>e.field),d=t.map(e=>A.indexOf(e.colField)).filter(e=>-1!==e);if(d.length!==t.length)return;const h=Math.min(...d),p=Math.max(...d),f=u-l+1,g=p-h+1;this.snapshot();const v=Dm(n[a]||[]);for(let m=0;m<=u;m++)v[m]||(v[m]={});for(let m=l;m<=u;m++)for(let e=h;e<=p;e++){const t=A[e],r=v[m];"object"==typeof r[t]&&null!==r[t]||(r[t]={value:void 0!==r[t]?r[t]:""}),m===l&&e===h?(r[t].rowSpan=f,r[t].colSpan=g):(r[t].rowSpan=0,r[t].colSpan=0,r[t].value="")}this.pages[i].elements[o]={...n,[a]:v},this.tableSelection=null},splitSelectedCells(){var e;if(!this.isTemplateEditable)return;if(!this.tableSelection||1!==this.tableSelection.cells.length)return;const{elementId:t,cells:r}=this.tableSelection,n=r[0],i=n.section||"body";let o=null,a=-1,s=-1;for(let v=0;v<this.pages.length;v++){const e=this.pages[v].elements.findIndex(e=>e.id===t);if(-1!==e){o=this.pages[v].elements[e],a=v,s=e;break}}if(!o)return;const l="footer"===i?"footerData":"data",u=null==(e=o[l])?void 0:e[n.rowIndex];if(!u)return;const c=u[n.colField];if(!c||"object"!=typeof c||!c.rowSpan&&!c.colSpan)return;const A=c.rowSpan||1,d=c.colSpan||1;if(A<=1&&d<=1)return;let h=o.columns||[];if(o.columnsVariable&&this.testData){const e=Lb(o.columnsVariable),t=e?Ub(this.testData,e):void 0;Array.isArray(t)&&(h=t)}if(0===h.length)return;this.snapshot();const p=Dm(o[l]||[]),f=h.map(e=>e.field),g=f.indexOf(n.colField);if(-1!==g){for(let e=n.rowIndex;e<n.rowIndex+A;e++)for(let t=g;t<g+d;t++){const r=f[t],n=p[e];n&&n[r]&&"object"==typeof n[r]&&(n[r].rowSpan=1,n[r].colSpan=1)}this.pages[a].elements[s]={...o,[l]:p},this.tableSelection=null}},setCustomTableSelection(e,t){this.customTableSelection={elementId:e,cells:t}},clearCustomTableSelection(){this.customTableSelection=null},mergeCustomTableCells(){if(!this.isTemplateEditable)return;if(!this.customTableSelection||this.customTableSelection.cells.length<2)return;const{elementId:e,cells:t}=this.customTableSelection,r=t.map(e=>e.row),n=t.map(e=>e.col),i=Math.min(...r),o=Math.max(...r),a=Math.min(...n),s=Math.max(...n),l=(o-i+1)*(s-a+1);if(t.length!==l)return;let u=null,c=-1,A=-1;for(let h=0;h<this.pages.length;h++){const t=this.pages[h].elements.findIndex(t=>t.id===e);if(-1!==t){u=this.pages[h].elements[t],c=h,A=t;break}}if(!u)return;this.snapshot();const d=Dm(u.customTableCells||[]);for(let h=i;h<=o;h++)for(let e=a;e<=s;e++)if(h===i&&e===a){const t=d.find(t=>t.row===h&&t.col===e);t?(t.rowSpan=o-i+1,t.colSpan=s-a+1):d.push({row:h,col:e,rowSpan:o-i+1,colSpan:s-a+1,contentType:"text",text:""})}else{const t=d.findIndex(t=>t.row===h&&t.col===e);t>=0&&d.splice(t,1)}this.pages[c].elements[A]={...u,customTableCells:d},this.customTableSelection={elementId:e,cells:[{row:i,col:a}]}},splitCustomTableCell(){if(!this.isTemplateEditable)return;if(!this.customTableSelection||1!==this.customTableSelection.cells.length)return;const{elementId:e,cells:t}=this.customTableSelection,{row:r,col:n}=t[0];let i=null,o=-1,a=-1;for(let d=0;d<this.pages.length;d++){const t=this.pages[d].elements.findIndex(t=>t.id===e);if(-1!==t){i=this.pages[d].elements[t],o=d,a=t;break}}if(!i)return;const s=(i.customTableCells||[]).find(e=>e.row===r&&e.col===n);if(!s)return;const l=s.rowSpan||1,u=s.colSpan||1;if(l<=1&&u<=1)return;this.snapshot();const c=Dm(i.customTableCells||[]),A=c.findIndex(e=>e.row===r&&e.col===n);A>=0&&(c[A]={...c[A],rowSpan:1,colSpan:1}),this.pages[o].elements[a]={...i,customTableCells:c},this.customTableSelection=null},setHeaderHeight(e){this.isTemplateEditable&&(this.headerHeight=e)},setFooterHeight(e){this.isTemplateEditable&&(this.footerHeight=e)},setShowHeaderLine(e){this.showHeaderLine=e},setShowFooterLine(e){this.showFooterLine=e},setShowMinimap(e){this.showMinimap=e},setShowHelp(e){this.showHelp=e},setShowSettings(e){this.showSettings=e},setCanvasBackground(e){this.canvasBackground=e},snapshot(e){this.historyPast.length>=50&&(this.historyPast.shift(),this.historyDescriptions.shift()),this.historyPast.push(Dm(this.pages)),this.historyDescriptions.push(e||""),this.historyFuture=[]},setCanvasPreview(e){this.canvasPreview=e},loadTemplateData(e){this.editingCustomElementId||e&&(this.resetCanvas(),Array.isArray(e.pages)&&e.pages.length>0&&(this.pages=Dm(e.pages)),e.canvasSize&&(this.canvasSize=Dm(e.canvasSize)),void 0!==e.canvasBackground&&(this.canvasBackground=e.canvasBackground),void 0!==e.headerHeight&&(this.headerHeight=e.headerHeight),void 0!==e.footerHeight&&(this.footerHeight=e.footerHeight),void 0!==e.showHeaderLine&&(this.showHeaderLine=e.showHeaderLine),void 0!==e.showFooterLine&&(this.showFooterLine=e.showFooterLine),void 0!==e.pageSpacingX&&(this.pageSpacingX=e.pageSpacingX),void 0!==e.pageSpacingY&&(this.pageSpacingY=e.pageSpacingY),void 0!==e.unit&&(this.unit=e.unit),void 0!==e.watermark&&(this.watermark=Dm(e.watermark)),void 0!==e.testData&&(this.testData=Dm(e.testData)),void 0!==e.variables&&(this.variables=Dm(e.variables)),this.selectedElementId=null,this.selectedElementIds=[],this.historyPast=[],this.historyFuture=[],this.historyDescriptions=[],this.regenerateFieldTree())},undo(){if(0===this.historyPast.length)return;const e=this.historyPast.pop();if(this.historyFuture.push(Dm(this.pages)),this.pages=Dm(e),this.selectedElementId){this.pages.some(e=>e.elements.some(e=>e.id===this.selectedElementId))||(this.selectedElementId=null,this.selectedElementIds=[])}this.selectedElementIds=this.selectedElementIds.filter(e=>this.pages.some(t=>t.elements.some(t=>t.id===e))),this.currentPageIndex>=this.pages.length&&(this.currentPageIndex=Math.max(0,this.pages.length-1))},redo(){if(0===this.historyFuture.length)return;const e=this.historyFuture.pop();this.historyPast.push(Dm(this.pages)),this.pages=Dm(e),this.currentPageIndex>=this.pages.length&&(this.currentPageIndex=Math.max(0,this.pages.length-1))},addGuide(e){this.guides.push({...e,id:kh()})},updateGuide(e,t){const r=this.guides.find(t=>t.id===e);r&&(r.position=t)},removeGuide(e){const t=this.guides.findIndex(t=>t.id===e);-1!==t&&(this.guides.splice(t,1),this.selectedGuideId===e&&(this.selectedGuideId=null))},clearGuides(){this.guides=[]},selectGuide(e){this.selectedGuideId=e,e&&(this.selectedElementId=null,this.selectedElementIds=[],this.tableSelection=null,this.customTableSelection=null)},setHighlightedGuide(e){this.highlightedGuideId=e},setHighlightedEdge(e){this.highlightedEdge=e},setShowMarginLines(e){this.showMarginLines=e},setShowCornerMarkers(e){this.showCornerMarkers=e},getElementBoundsAtPosition(e,t,r){var n;const i=(((null==(n=e.style)?void 0:n.rotate)||0)%360+360)%360;if(0===i)return{minX:t,maxX:t+e.width,minY:r,maxY:r+e.height};const o=t+e.width/2,a=r+e.height/2,s=i*Math.PI/180,l=Math.cos(s),u=Math.sin(s),c=[{x:t,y:r},{x:t+e.width,y:r},{x:t,y:r+e.height},{x:t+e.width,y:r+e.height}];let A=1/0,d=-1/0,h=1/0,p=-1/0;for(const f of c){const e=o+(f.x-o)*l-(f.y-a)*u,t=a+(f.x-o)*u+(f.y-a)*l;e<A&&(A=e),e>d&&(d=e),t<h&&(h=t),t>p&&(p=t)}return{minX:A,maxX:d,minY:h,maxY:p}},getElementMovementBounds(e){const t=this.pageSpacingX||0,r=this.pageSpacingY||0,n=this.canvasSize.width-t,i=this.canvasSize.height-r,o=this.getElementBoundsAtPosition(e,0,0),a=t-o.minX,s=Math.max(a,n-o.maxX),l=r-o.minY;return{minX:a,maxX:s,minY:l,maxY:Math.max(l,i-o.maxY),maxXBoundary:n,maxYBoundary:i,originBounds:o}},getSnapPosition(e,t,r,n=!1,i=!0,o=-1){let a=t,s=r,l=null,u=null;const c=(e,t,r)=>{const i=Math.abs(e-r);if(i>5)return!1;if(n){return i<Math.abs(t-r)}return!0},A=this.getElementBoundsAtPosition(e,e.x,e.y),d=this.getElementMovementBounds(e),{minX:h,maxX:p,minY:f,maxY:g,maxXBoundary:v,maxYBoundary:m,originBounds:y}=d,b=this.pageSpacingX||0,w=this.pageSpacingY||0,x=this.getElementBoundsAtPosition(e,a,s);c(x.minX,A.minX,b)?(a=h,u="left"):c(x.maxX,A.maxX,v)&&(a=p,u="right");const _=this.getElementBoundsAtPosition(e,a,s);c(_.minY,A.minY,w)?(s=f,u=u||"top"):c(_.maxY,A.maxY,m)&&(s=g,u=u||"bottom");for(const E of this.guides)if("vertical"===E.type){const t=this.getElementBoundsAtPosition(e,a,s);c(t.minX,A.minX,E.position)?(a=E.position-y.minX,l=E.id):c(t.maxX,A.maxX,E.position)&&(a=E.position-y.maxX,l=E.id)}else{const t=this.getElementBoundsAtPosition(e,a,s);c(t.minY,A.minY,E.position)?(s=E.position-y.minY,l=E.id):c(t.maxY,A.maxY,E.position)&&(s=E.position-y.maxY,l=E.id)}let C=i,S=i,B=!1,k=!1;return i||(this.pages.length<=1?(C=!0,S=!0):(C=!0,0===o&&(B=!0),o===this.pages.length-1&&(k=!0))),C&&(a=Math.min(Math.max(h,a),p)),S?s=Math.min(Math.max(f,s),g):(B&&(s=Math.max(f,s)),k&&(s=Math.min(s,g))),{x:a,y:s,highlightedGuideId:l,highlightedEdge:u}},moveElementWithSnap(e,t,r,n=!0,i=!0){if(this.isTemplateEditable)for(let o=0;o<this.pages.length;o++){const a=this.pages[o],s=a.elements.findIndex(t=>t.id===e);if(-1!==s){const l=a.elements[s];if(l.locked)return;const u=this.getSnapPosition(l,t,r,!1,i,o);return this.setHighlightedGuide(u.highlightedGuideId||null),this.setHighlightedEdge(u.highlightedEdge||null),void this.updateElement(e,{x:u.x,y:u.y},n)}}},moveSelectedElements(e,t,r,n=!0,i=!0){if(!this.isTemplateEditable)return;n&&this.snapshot();let o=null,a=-1;const s=[],l=new Set(this.selectedElementIds);for(let p=0;p<this.pages.length;p++){const t=this.pages[p];for(let r=0;r<t.elements.length;r++){const n=t.elements[r];n.id===e&&(o=n,a=p),l.has(n.id)&&!n.locked&&s.push({pageIndex:p,elementIndex:r,element:n})}}if(!o||o.locked)return;const u=this.getSnapPosition(o,t,r,!1,i,a);this.setHighlightedGuide(u.highlightedGuideId||null),this.setHighlightedEdge(u.highlightedEdge||null);let c=u.x-o.x,A=u.y-o.y;if(0===c&&0===A)return;let d=i,h=i;if(i||(this.pages.length<=1?(d=!0,h=!0):(d=!0,h=!1)),d||h||!h&&this.pages.length>1)for(const p of s){const e=p.element,t=p.pageIndex,r=this.getElementMovementBounds(e);d&&(c>0?e.x+c>r.maxX&&(c=r.maxX-e.x):c<0&&e.x+c<r.minX&&(c=r.minX-e.x)),h?A>0?e.y+A>r.maxY&&(A=r.maxY-e.y):A<0&&e.y+A<r.minY&&(A=r.minY-e.y):(0===t&&A<0&&e.y+A<r.minY&&(A=r.minY-e.y),t===this.pages.length-1&&A>0&&e.y+A>r.maxY&&(A=r.maxY-e.y))}if(0!==c||0!==A)for(const p of s){const{pageIndex:e,elementIndex:t,element:r}=p;this.pages[e].elements[t]={...r,x:r.x+c,y:r.y+A}}},nudgeSelectedElements(e,t){if(!this.isTemplateEditable)return;if(0===this.selectedElementIds.length)return;const r=this.selectedElementIds.filter(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&!r.locked)return!0}return!1});if(0===r.length)return;this.snapshot("移动元素");let n=this.selectedElementId;n&&r.includes(n)||(n=r[0]);let i=null;for(const c of this.pages){const e=c.elements.find(e=>e.id===n);if(e){i=e;break}}if(!i)return;const o=i.x+e,a=i.y+t,s=this.getSnapPosition(i,o,a,!0);this.setHighlightedGuide(s.highlightedGuideId||null),this.setHighlightedEdge(s.highlightedEdge||null);let l=s.x-i.x,u=s.y-i.y;for(const c of r)for(const e of this.pages){const t=e.elements.find(e=>e.id===c);if(t){const e=this.getElementMovementBounds(t);l>0?t.x+l>e.maxX&&(l=e.maxX-t.x):l<0&&t.x+l<e.minX&&(l=e.minX-t.x),u>0?t.y+u>e.maxY&&(u=e.maxY-t.y):u<0&&t.y+u<e.minY&&(u=e.minY-t.y)}}if(0!==l||0!==u)for(const c of r)for(const e of this.pages){const t=e.elements.findIndex(e=>e.id===c);if(-1!==t){const r=e.elements[t];e.elements[t]={...r,x:r.x+l,y:r.y+u};break}}},addElement(e,t){if(!this.isTemplateEditable)return;this.snapshot("添加元素");const r={...e,id:kh()},n=void 0!==t&&t>=0&&t<this.pages.length?t:this.currentPageIndex;this.pages[n].elements.push(r),this.selectedElementId=r.id,this.currentPageIndex=n},moveElementToPage(e,t,r,n){if(!this.isTemplateEditable)return;this.snapshot();let i,o=-1,a=-1;for(let s=0;s<this.pages.length;s++){const t=this.pages[s].elements.findIndex(t=>t.id===e);if(-1!==t){o=s,a=t,i=this.pages[s].elements[t];break}}i&&-1!==o&&(this.pages[o].elements.splice(a,1),i.x=r,i.y=n,t>=0&&t<this.pages.length?(this.pages[t].elements.push(i),this.currentPageIndex=t):this.pages[o].elements.push(i))},bringElementsToFront(e){if(!e||0===e.length)return;const t=new Set(e);for(const r of this.pages){const n=r.elements.filter(e=>t.has(e.id));if(0===n.length)continue;let i=0;for(const e of r.elements)t.has(e.id)||(i=Math.max(i,e.style.zIndex||1));if(!n.some(e=>(e.style.zIndex||1)<=i))continue;let o=i+1;const a=e.filter(e=>n.some(t=>t.id===e));for(const e of a){const t=r.elements.findIndex(t=>t.id===e);if(-1===t)continue;const n=r.elements[t];r.elements[t]={...n,style:{...n.style,zIndex:o}},o+=1}}},moveElementsLayer(e,t){if(!this.isTemplateEditable)return;if(!e||0===e.length)return;const r=new Set(e),n=new Set;for(const o of this.pages)for(const e of o.elements)r.has(e.id)&&!e.locked&&n.add(e.id);if(0===n.size)return;const i=[];for(let o=0;o<this.pages.length;o+=1){const e=Vb(this.pages[o],n,t);e&&e.size>0&&i.push({pageIndex:o,assignments:e})}if(0!==i.length){this.snapshot();for(const{pageIndex:e,assignments:t}of i){const r=this.pages[e];for(let e=0;e<r.elements.length;e+=1){const n=r.elements[e],i=t.get(n.id);i&&Hb(n)!==i&&(r.elements[e]={...n,style:{...n.style,zIndex:i}})}}}},sendElementsToBack(e){this.moveElementsLayer(e,"back")},moveElementsForward(e){this.moveElementsLayer(e,"forward")},moveElementsBackward(e){this.moveElementsLayer(e,"backward")},updateElement(e,t,r=!0){if(this.isTemplateEditable){r&&this.snapshot();for(const r of this.pages){const n=r.elements.findIndex(t=>t.id===e);if(-1!==n){if(r.elements[n].locked&&void 0===t.locked)return;return void(r.elements[n]={...r.elements[n],...t})}}}},removeElement(e){if(this.isTemplateEditable){for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&r.locked)return}this.snapshot("删除元素");for(const t of this.pages){const r=t.elements.findIndex(t=>t.id===e);if(-1!==r){t.elements.splice(r,1),this.selectedElementId===e&&(this.selectedElementId=null),this.tableSelection&&this.tableSelection.elementId===e&&(this.tableSelection=null);const n=this.selectedElementIds.indexOf(e);return void(-1!==n&&this.selectedElementIds.splice(n,1))}}}},selectElement(e,t=!1){if(e&&(this.selectedGuideId=null),this.tableSelection&&(this.tableSelection=null),t&&e){if(this.selectedElementIds.includes(e)){const t=this.selectedElementIds.indexOf(e);this.selectedElementIds.splice(t,1)}else this.selectedElementIds.push(e);this.selectedElementId=this.selectedElementIds.length>0?this.selectedElementIds[this.selectedElementIds.length-1]:null}else this.selectedElementId=e,this.selectedElementIds=e?[e]:[];if(this.selectedElementIds.length>0&&this.bringElementsToFront(this.selectedElementIds),e){const t=this.pages.findIndex(t=>t.elements.some(t=>t.id===e));-1!==t&&(this.currentPageIndex=t)}},clearSelection(){this.selectedElementId=null,this.selectedElementIds=[],this.tableSelection=null,this.customTableSelection=null},setSelection(e){if(this.tableSelection=null,this.customTableSelection=null,e.length>0&&(this.selectedGuideId=null),this.selectedElementIds=e,this.selectedElementId=e.length>0?e[e.length-1]:null,e.length>0&&this.bringElementsToFront(e),e.length>0){const e=this.pages.findIndex(e=>e.elements.some(e=>e.id===this.selectedElementId));-1!==e&&(this.currentPageIndex=e)}},removeSelectedElements(){if(!this.isTemplateEditable)return;if(0===this.selectedElementIds.length)return;const e=this.selectedElementIds.filter(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&!r.locked)return!0}return!1});if(0!==e.length){this.snapshot();for(const t of e)for(const e of this.pages){const r=e.elements.findIndex(e=>e.id===t);if(-1!==r){e.elements.splice(r,1);break}}this.selectedElementId=null,this.selectedElementIds=[],this.tableSelection=null}},alignSelectedElements(e){if(!this.isTemplateEditable)return;if(0===this.selectedElementIds.length)return;const t=[];for(const r of this.selectedElementIds)for(const e of this.pages){const n=e.elements.find(e=>e.id===r);if(n&&!n.locked){t.push(n);break}}if(0!==t.length)if(this.snapshot(),1===t.length){const r=t[0],n=this.canvasSize.width,i=this.canvasSize.height,o=this.pageSpacingX||0,a=this.pageSpacingY||0,s=o,l=a,u=Math.max(0,n-2*o),c=Math.max(0,i-2*a);switch(e){case"left":r.x=s;break;case"center":r.x=s+(u-r.width)/2;break;case"right":r.x=s+u-r.width;break;case"top":r.y=l;break;case"middle":r.y=l+(c-r.height)/2;break;case"bottom":r.y=l+c-r.height}}else{const r=Math.min(...t.map(e=>e.x)),n=Math.max(...t.map(e=>e.x+e.width)),i=Math.min(...t.map(e=>e.y)),o=Math.max(...t.map(e=>e.y+e.height)),a=(r+n)/2,s=(i+o)/2;t.forEach(t=>{switch(e){case"left":t.x=r;break;case"center":t.x=a-t.width/2;break;case"right":t.x=n-t.width;break;case"top":t.y=i;break;case"middle":t.y=s-t.height/2;break;case"bottom":t.y=o-t.height}})}},resizeSelectedElements(e,t){if(!this.isTemplateEditable)return;if(0===this.selectedElementIds.length)return;const r=this.selectedElementIds.filter(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&!r.locked)return!0}return!1});if(0!==r.length){this.snapshot();for(const n of r)for(const r of this.pages){const i=r.elements.findIndex(e=>e.id===n);if(-1!==i){const n=r.elements[i],o=Math.max(10,n.width+e),a=Math.max(10,n.height+t);r.elements[i]={...n,width:o,height:a};break}}}},updateSelectedElementsStyle(e){if(!this.isTemplateEditable)return;if(0===this.selectedElementIds.length)return;this.selectedElementIds.some(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&r.locked)return!0}return!1});const t=this.selectedElementIds.filter(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&!r.locked)return!0}return!1});if(0!==t.length){this.snapshot();for(const r of t)for(const t of this.pages){const n=t.elements.findIndex(e=>e.id===r);if(-1!==n){const r=t.elements[n];t.elements[n]={...r,style:{...r.style,...e}};break}}}},toggleLock(){if(!this.isTemplateEditable)return;if(0===this.selectedElementIds.length)return;this.snapshot();let e=!0;const t=this.selectedElement;t&&(e=!t.locked);for(const r of this.selectedElementIds)for(const t of this.pages){const n=t.elements.findIndex(e=>e.id===r);if(-1!==n){t.elements[n].locked=e;break}}},setZoom(e){this.zoom=e},setCanvasSize(e,t){this.isTemplateEditable&&(this.snapshot(),this.canvasSize={width:e,height:t})},setShowGrid(e){this.showGrid=e},deletePage(e){this.isTemplateEditable&&this.pages.length>1&&(this.snapshot(),this.pages.splice(e,1),this.currentPageIndex>=this.pages.length&&(this.currentPageIndex=this.pages.length-1))},copy(){if(0===this.selectedElementIds.length)return;const e=[];for(const t of this.selectedElementIds)for(const r of this.pages){const n=r.elements.find(e=>e.id===t);if(n&&!n.locked){e.push(Dm(n));break}}this.clipboard=e},cut(){this.isTemplateEditable&&0!==this.selectedElementIds.length&&(this.copy(),this.removeSelectedElements())},paste(e){if(!this.isTemplateEditable)return;if(0===this.clipboard.length)return;this.snapshot();const t=[],r=(null==e?void 0:e.pageIndex)??this.currentPageIndex;let n=1/0,i=1/0;if(e)for(const o of this.clipboard)n=Math.min(n,o.x),i=Math.min(i,o.y);for(const o of this.clipboard){const a=Dm(o);if(a.id=kh(),e){const t=o.x-n,r=o.y-i;a.x=e.x+t,a.y=e.y+r}else a.x+=20,a.y+=20;a.x+a.width>this.canvasSize.width&&(a.x=Math.max(0,this.canvasSize.width-a.width)),a.y+a.height>this.canvasSize.height&&(a.y=Math.max(0,this.canvasSize.height-a.height)),a.x=Math.max(0,a.x),a.y=Math.max(0,a.y),this.pages[r]?this.pages[r].elements.push(a):this.pages[this.currentPageIndex].elements.push(a),t.push(a.id)}r!==this.currentPageIndex&&this.pages[r]&&(this.currentPageIndex=r),this.setSelection(t)},paginateTable(e){if(!this.isTemplateEditable)return;this.snapshot();let t,r=-1;for(let d=0;d<this.pages.length;d++){const n=this.pages[d].elements.findIndex(t=>t.id===e);if(-1!==n){r=d,t=this.pages[d].elements[n];break}}if(!t||t.type!==Nm.TABLE||!t.data)return;const n=this.canvasSize.height,i=t.style.headerHeight||40,o=t.style.rowHeight||30,a=n-t.y-50-i,s=Math.floor(Math.max(0,a)/o);if(s>=t.data.length)return;const l=t.data.slice(0,s),u=t.data.slice(s);this.updateElement(t.id,{data:l,height:i+l.length*o});const c=r+1;c>=this.pages.length&&this.addPage();const A={...Dm(t),id:kh(),y:50,data:u,height:i+u.length*o};this.pages[c].elements.push(A),this.paginateTable(A.id)},alignElements(e){if(!this.isTemplateEditable)return;if(this.selectedElementIds.length<2)return;const t=this.selectedElementIds.filter(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&!r.locked)return!0}return!1});if(t.length<2)return;this.snapshot();let r=1/0,n=-1/0,i=1/0,o=-1/0;const a=[];for(const u of t)for(let e=0;e<this.pages.length;e++){const t=this.pages[e].elements.find(e=>e.id===u);if(t){r=Math.min(r,t.x),n=Math.max(n,t.x+t.width),i=Math.min(i,t.y),o=Math.max(o,t.y+t.height),a.push({id:u,pageIdx:e,el:t});break}}const s=(r+n)/2,l=(i+o)/2;for(const{pageIdx:u,el:c}of a){const t=this.pages[u],a=t.elements.findIndex(e=>e.id===c.id);if(-1===a)continue;let A=c.x,d=c.y;switch(e){case"left":A=r;break;case"center":A=s-c.width/2;break;case"right":A=n-c.width;break;case"top":d=i;break;case"middle":d=l-c.height/2;break;case"bottom":d=o-c.height}t.elements[a]={...c,x:Math.max(0,A),y:Math.max(0,d)}}},distributeElements(e){if(!this.isTemplateEditable)return;if(this.selectedElementIds.length<3)return;const t=this.selectedElementIds.filter(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&!r.locked)return!0}return!1});if(t.length<3)return;this.snapshot();const r=[];for(const n of t)for(let e=0;e<this.pages.length;e++){const t=this.pages[e].elements.find(e=>e.id===n);if(t){r.push({id:n,pageIdx:e,el:t});break}}if("horizontal"===e){r.sort((e,t)=>e.el.x-t.el.x);const e=r.reduce((e,{el:t})=>e+t.width,0),t=r[0].el.x,n=(r[r.length-1].el.x+r[r.length-1].el.width-t-e)/(r.length-1);let i=t;for(const{pageIdx:o,el:a}of r){const e=this.pages[o],t=e.elements.findIndex(e=>e.id===a.id);-1!==t&&(e.elements[t]={...a,x:Math.max(0,i)},i+=a.width+n)}}else{r.sort((e,t)=>e.el.y-t.el.y);const e=r.reduce((e,{el:t})=>e+t.height,0),t=r[0].el.y,n=(r[r.length-1].el.y+r[r.length-1].el.height-t-e)/(r.length-1);let i=t;for(const{pageIdx:o,el:a}of r){const e=this.pages[o],t=e.elements.findIndex(e=>e.id===a.id);-1!==t&&(e.elements[t]={...a,y:Math.max(0,i)},i+=a.height+n)}}},matchElementSize(e){var t;if(!this.isTemplateEditable)return;if(this.selectedElementIds.length<2)return;const r=this.selectedElementIds.filter(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&!r.locked)return!0}return!1});if(r.length<2)return;this.snapshot();const n=null==(t=this.pages[this.currentPageIndex])?void 0:t.elements.find(e=>e.id===(this.selectedElementId||r[0]));if(n)for(const i of r)if(i!==n.id)for(const t of this.pages){const r=t.elements.findIndex(e=>e.id===i);if(-1===r)continue;const o=t.elements[r],a={};"width"!==e&&"both"!==e||(a.width=n.width),"height"!==e&&"both"!==e||(a.height=n.height),t.elements[r]={...o,...a};break}},shutdownAutoSaveTimer(){window.dispatchEvent(new CustomEvent("designer:stop-auto-save"))},groupSelectedElements(){this.isTemplateEditable&&(this.selectedElementIds.length<2||Qm.warning("Grouping feature is under development"))},async loadCustomElements(){var e,t;const{mode:r,endpoints:n,headers:i,fetcher:o}=Um();if("remote"===r)try{const r=zm(null==(e=n.customElements)?void 0:e.list,""),a=Rm(null==(t=n.customElements)?void 0:t.list,"GET",i),s=await(o||fetch)(r,a),l=await s.json(),u=Array.isArray(l)?l:(null==l?void 0:l.customElements)||[];this.customElements=u.filter(e=>e&&"string"==typeof e.id&&"string"==typeof e.name&&(e.element||this.customElements.some(t=>t.id===e.id)||this.customElementDetailCache[e.id])).map(e=>{const t=this.customElements.find(t=>t.id===e.id),r=this.customElementDetailCache[e.id],n={id:e.id,name:e.name,element:e.element?Dm(e.element):Dm((null==r?void 0:r.element)||(null==t?void 0:t.element)||{}),testData:e.testData||(null==r?void 0:r.testData)||(null==t?void 0:t.testData),permissions:e.permissions??(null==r?void 0:r.permissions)??(null==t?void 0:t.permissions),ext:Ry(null==t?void 0:t.ext,null==r?void 0:r.ext,e.ext)},i=Vy(n);return this.customElementDetailCache[e.id]=i,i})}catch(gH){}},async copyCustomElement(e,t){var r,n;const{mode:i,endpoints:o,headers:a,fetcher:s}=Um(),l=this.customElements.find(t=>t.id===e);if(!l)return;if(!Wy(l))return void Qm.warning(bh.global.t("toast.customElementCopyNotAllowed"));const u=this.customElementDetailCache[e],c="remote"===i?{id:l.id,name:l.name,element:l.element||(null==u?void 0:u.element),testData:l.testData||(null==u?void 0:u.testData),ext:Ry(null==u?void 0:u.ext,l.ext)}:l;let A=`${c.name} Copy`;t&&t.name&&(A=t.name,delete t.name);const d=Ky({id:kh(),name:A,element:Dm(c.element),testData:Dm(c.testData),ext:c.ext,permissions:{...c.permissions&&"object"==typeof c.permissions?c.permissions:{}}},"copy",t),h=Vy(d);if("remote"===i)try{const e=zm(null==(r=o.customElements)?void 0:r.upsert,""),t=Rm(null==(n=o.customElements)?void 0:n.upsert,"POST",a,h),i=await(s||fetch)(e,t),l=await i.json();l&&"object"==typeof l&&l.ext&&(h.ext={...h.ext||{},...l.ext}),h.id=(null==l?void 0:l.id)||h.id;const u=this.customElementDetailCache[h.id];this.customElementDetailCache[h.id]=Vy({id:h.id,name:h.name,element:Dm(h.element||(null==u?void 0:u.element)||{}),testData:h.testData||(null==u?void 0:u.testData),permissions:h.permissions??(null==u?void 0:u.permissions),ext:Ry(null==u?void 0:u.ext,h.ext)}),await this.loadCustomElements()}catch(gH){Qm.error(bh.global.t("toast.customElementCopyFailed"))}else this.customElements.push(h),this.saveCustomElements()},async addCustomElement(e,t,r){var n,i;const{mode:o,endpoints:a,headers:s,fetcher:l}=Um(),u=Ky({id:kh(),name:e,element:Dm(t),ext:{}},"create",r),c=Vy(u);if("remote"===o)try{const e=zm(null==(n=a.customElements)?void 0:n.upsert,""),t=Rm(null==(i=a.customElements)?void 0:i.upsert,"POST",s,c),r=await(l||fetch)(e,t),o=await r.json();o&&"object"==typeof o&&o.ext&&(c.ext={...c.ext||{},...o.ext}),c.id=(null==o?void 0:o.id)||c.id;const u=this.customElementDetailCache[c.id];this.customElementDetailCache[c.id]=Vy({id:c.id,name:c.name,element:Dm(c.element||(null==u?void 0:u.element)||{}),testData:c.testData||(null==u?void 0:u.testData),permissions:c.permissions??(null==u?void 0:u.permissions),ext:Ry(null==u?void 0:u.ext,c.ext)}),await this.loadCustomElements()}catch(gH){Qm.error(bh.global.t("toast.customElementAddFailed"))}else this.customElements.push(c),this.saveCustomElements()},async removeCustomElement(e){var t,r;const{mode:n,endpoints:i,headers:o,fetcher:a}=Um(),s=this.customElements.find(t=>t.id===e);if(s&&!Gy(s))return void Qm.warning(bh.global.t("toast.customElementDeleteNotAllowed"));const l=this.customElements.findIndex(t=>t.id===e);if(-1!==l){if(this.customElements.splice(l,1),delete this.customElementDetailCache[e],"remote"===n){try{const n=zm(null==(t=i.customElements)?void 0:t.delete,e),s=Rm(null==(r=i.customElements)?void 0:r.delete,"DELETE",o);await(a||fetch)(n,s),await this.loadCustomElements()}catch(gH){Qm.error(bh.global.t("toast.customElementRemoveFailed"))}return}this.saveCustomElements()}},async editCustomElement(e,t,r){var n,i;const{mode:o,endpoints:a,headers:s,fetcher:l}=Um(),u=this.customElements.find(t=>t.id===e);if(u){if(!jy(u))return void Qm.warning(bh.global.t("toast.customElementReadOnly"));u.name=t;const c=this.customElementDetailCache[e],A=Ky({...u,ext:Ry(null==c?void 0:c.ext,u.ext)},"edit",r);if(u.ext=A.ext,"remote"===o){try{const r=Vy({id:u.id,name:t,element:Dm(u.element),testData:u.testData,permissions:u.permissions??(null==c?void 0:c.permissions),ext:A.ext}),o=zm(null==(n=a.customElements)?void 0:n.upsert,""),d=Rm(null==(i=a.customElements)?void 0:i.upsert,"POST",s,r);await(l||fetch)(o,d);const h=this.customElementDetailCache[e];this.customElementDetailCache[e]=Vy({id:r.id,name:r.name,element:Dm(r.element||(null==h?void 0:h.element)||{}),testData:r.testData||(null==h?void 0:h.testData),permissions:r.permissions??(null==h?void 0:h.permissions),ext:Ry(null==h?void 0:h.ext,r.ext)}),await this.loadCustomElements()}catch(gH){Qm.error(bh.global.t("toast.customElementEditFailed"))}return}this.saveCustomElements()}},saveCustomElements(){const{mode:e}=Um();"remote"!==e&&localStorage.setItem("print-designer-custom-elements",JSON.stringify(this.customElements))}},getters:{showVariableNames:e=>"preview"===e.viewMode,canvasPreviewEnabled:e=>e.canvasPreview,isTemplateEditable:e=>{if(e.editingCustomElementId)return!0;const t=Mb();if(!t.currentTemplateId)return!0;const r=t.templates.find(e=>e.id===t.currentTemplateId);return!r||jy(r)},selectedElement:e=>{if(!e.selectedElementId)return null;for(const t of e.pages){const r=t.elements.find(t=>t.id===e.selectedElementId);if(r)return r}return null},currentPage:e=>e.pages[e.currentPageIndex],editingCustomElement:e=>e.editingCustomElementId&&e.customElements.find(t=>t.id===e.editingCustomElementId)||null}}),Kb=Ft("false"!==localStorage.getItem("print-designer-autosave"));function qb(){return{autoSave:Kb}}an(Kb,e=>{localStorage.setItem("print-designer-autosave",String(e))});const Yb=Ft(localStorage.getItem("print-designer-theme")||"system"),Xb=Ft(window.matchMedia("(prefers-color-scheme: dark)").matches),Zb=window.matchMedia("(prefers-color-scheme: dark)");null==(t=Zb.addEventListener)||t.call(Zb,"change",e=>{Xb.value=e.matches});const Jb=Ta(()=>"dark"===Yb.value||"light"!==Yb.value&&Xb.value),$b=e=>{Yb.value=e,localStorage.setItem("print-designer-theme",e)};function ew(){return{theme:Yb,isDark:Jb,setTheme:$b}}var tw,rw,nw,iw,ow,aw,sw,lw,uw,cw,Aw,dw;function hw(){if(aw)return ow;aw=1;var e=function(){if(iw)return nw;iw=1;var e=/\s/;return nw=function(t){for(var r=t.length;r--&&e.test(t.charAt(r)););return r}}(),t=/^\s+/;return ow=function(r){return r?r.slice(0,e(r)+1).replace(t,""):r}}function pw(){if(lw)return sw;lw=1;var e=Ff(),t=$f();return sw=function(r){return"symbol"==typeof r||t(r)&&"[object Symbol]"==e(r)}}var fw=function(){if(dw)return Aw;dw=1;var e=Uf(),t=function(){if(rw)return tw;rw=1;var e=Nf();return tw=function(){return e.Date.now()}}(),r=function(){if(cw)return uw;cw=1;var e=hw(),t=Uf(),r=pw(),n=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,o=/^0o[0-7]+$/i,a=parseInt;return uw=function(s){if("number"==typeof s)return s;if(r(s))return NaN;if(t(s)){var l="function"==typeof s.valueOf?s.valueOf():s;s=t(l)?l+"":l}if("string"!=typeof s)return 0===s?s:+s;s=e(s);var u=i.test(s);return u||o.test(s)?a(s.slice(2),u?2:8):n.test(s)?NaN:+s}}(),n=Math.max,i=Math.min;return Aw=function(o,a,s){var l,u,c,A,d,h,p=0,f=!1,g=!1,v=!0;if("function"!=typeof o)throw new TypeError("Expected a function");function m(e){var t=l,r=u;return l=u=void 0,p=e,A=o.apply(r,t)}function y(e){var t=e-h;return void 0===h||t>=a||t<0||g&&e-p>=c}function b(){var e=t();if(y(e))return w(e);d=setTimeout(b,function(e){var t=a-(e-h);return g?i(t,c-(e-p)):t}(e))}function w(e){return d=void 0,v&&l?m(e):(l=u=void 0,A)}function x(){var e=t(),r=y(e);if(l=arguments,u=this,h=e,r){if(void 0===d)return function(e){return p=e,d=setTimeout(b,a),f?m(e):A}(h);if(g)return clearTimeout(d),d=setTimeout(b,a),m(h)}return void 0===d&&(d=setTimeout(b,a)),A}return a=r(a)||0,e(s)&&(f=!!s.leading,c=(g="maxWait"in s)?n(r(s.maxWait)||0,a):c,v="trailing"in s?!!s.trailing:v),x.cancel=function(){void 0!==d&&clearTimeout(d),p=0,l=h=u=d=void 0},x.flush=function(){return void 0===d?A:w(t())},x},Aw}();const gw=Tf(fw),vw=96/25.4,mw=25.4/96,yw=96/72,bw=1/96,ww=96/2.54,xw=2.54/96;function _w(e){return Number((e*mw).toFixed(2))}function Cw(e,t){return"mm"===t?_w(e):"pt"===t?function(e){return Number((.75*e).toFixed(2))}(e):"in"===t?function(e){return Number((e*bw).toFixed(2))}(e):"cm"===t?function(e){return Number((e*xw).toFixed(2))}(e):Math.round(e)}function Sw(e,t){return"mm"===t?e*vw:"pt"===t?e*yw:"in"===t?96*e:"cm"===t?e*ww:Math.round(e)}function Bw(e,t,r){(e%=360)<0&&(e+=360),t=Math.max(0,Math.min(1,t));const n=(r=Math.max(0,Math.min(1,r)))*t,i=n*(1-Math.abs(e/60%2-1)),o=r-n;let a=0,s=0,l=0;return e>=0&&e<60?(a=n,s=i,l=0):e>=60&&e<120?(a=i,s=n,l=0):e>=120&&e<180?(a=0,s=n,l=i):e>=180&&e<240?(a=0,s=i,l=n):e>=240&&e<300?(a=i,s=0,l=n):(a=n,s=0,l=i),{r:Math.round(255*(a+o)),g:Math.round(255*(s+o)),b:Math.round(255*(l+o))}}function kw(e,t,r){e/=255,t/=255,r/=255;const n=Math.max(e,t,r),i=Math.min(e,t,r),o=n-i;let a=0;const s=0===n?0:o/n,l=n;if(n!==i){switch(n){case e:a=(t-r)/o+(t<r?6:0);break;case t:a=(r-e)/o+2;break;case r:a=(e-t)/o+4}a/=6}return{h:360*a,s:s,v:l}}function Ew(e){if(!e)return null;if("transparent"===e)return{h:0,s:0,v:0,a:0};if(e.startsWith("#")){const t=e.slice(1);let r=0,n=0,i=0,o=1;if(3===t.length)r=parseInt(t[0]+t[0],16),n=parseInt(t[1]+t[1],16),i=parseInt(t[2]+t[2],16);else if(6===t.length)r=parseInt(t.substring(0,2),16),n=parseInt(t.substring(2,4),16),i=parseInt(t.substring(4,6),16);else{if(8!==t.length)return null;r=parseInt(t.substring(0,2),16),n=parseInt(t.substring(2,4),16),i=parseInt(t.substring(4,6),16),o=parseInt(t.substring(6,8),16)/255}return{...kw(r,n,i),a:o}}if(e.startsWith("rgb")){const t=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)/);if(t){const e=parseInt(t[1]),r=parseInt(t[2]),n=parseInt(t[3]),i=void 0!==t[4]?parseFloat(t[4]):1;return{...kw(e,r,n),a:i}}}return null}function Iw(e,t,r,n=1){const{r:i,g:o,b:a}=Bw(e,t,r),s=e=>{const t=Math.round(e).toString(16);return 1===t.length?"0"+t:t};if(n>=1)return`#${s(i)}${s(o)}${s(a)}`;{const e=Math.round(255*n);return`#${s(i)}${s(o)}${s(a)}${s(e)}`}}const Tw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Pw=Lt({name:"material-symbols-menu",render:function(e,t){return Ro(),jo("svg",Tw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M3 18v-2h18v2zm0-5v-2h18v2zm0-5V6h18v2z"},null,-1)])])}}),Mw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Lw=Lt({name:"material-symbols-close",render:function(e,t){return Ro(),jo("svg",Mw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M6.4 19L5 17.6l5.6-5.6L5 6.4L6.4 5l5.6 5.6L17.6 5L19 6.4L13.4 12l5.6 5.6l-1.4 1.4l-5.6-5.6z"},null,-1)])])}}),Dw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Nw=Lt({name:"material-symbols-preview",render:function(e,t){return Ro(),jo("svg",Dw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V7H5zm3.338-3.113Q6.725 14.776 6 13q.725-1.775 2.338-2.887T12 9t3.663 1.113T18 13q-.725 1.775-2.337 2.888T12 17t-3.662-1.112m2.6-1.826Q10.5 13.626 10.5 13t.438-1.062T12 11.5t1.063.438T13.5 13t-.437 1.063T12 14.5t-1.062-.437m2.837.712Q14.5 14.05 14.5 13t-.725-1.775T12 10.5t-1.775.725T9.5 13t.725 1.775T12 15.5t1.775-.725"},null,-1)])])}}),Ow={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Fw=Lt({name:"material-symbols-file-download",render:function(e,t){return Ro(),jo("svg",Ow,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m12 16l-5-5l1.4-1.45l2.6 2.6V4h2v8.15l2.6-2.6L17 11zm-6 4q-.825 0-1.412-.587T4 18v-3h2v3h12v-3h2v3q0 .825-.587 1.413T18 20z"},null,-1)])])}}),Uw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const zw=Lt({name:"material-symbols-image",render:function(e,t){return Ro(),jo("svg",Uw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm1-4h12l-3.75-5l-3 4L9 13z"},null,-1)])])}}),Rw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Qw=Lt({name:"material-symbols-data-object",render:function(e,t){return Ro(),jo("svg",Rw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M14 20v-2h3q.425 0 .713-.288T18 17v-2q0-.95.55-1.725t1.45-1.1v-.35q-.9-.325-1.45-1.1T18 9V7q0-.425-.288-.712T17 6h-3V4h3q1.25 0 2.125.875T20 7v2q0 .425.288.713T21 10h1v4h-1q-.425 0-.712.288T20 15v2q0 1.25-.875 2.125T17 20zm-7 0q-1.25 0-2.125-.875T4 17v-2q0-.425-.288-.712T3 14H2v-4h1q.425 0 .713-.288T4 9V7q0-1.25.875-2.125T7 4h3v2H7q-.425 0-.712.288T6 7v2q0 .95-.55 1.725T4 11.825v.35q.9.325 1.45 1.1T6 15v2q0 .425.288.713T7 18h3v2z"},null,-1)])])}}),Hw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Vw=Lt({name:"material-symbols-save",render:function(e,t){return Ro(),jo("svg",Hw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M21 7v12q0 .825-.587 1.413T19 21H5q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h12zm-6.875 10.125Q15 16.25 15 15t-.875-2.125T12 12t-2.125.875T9 15t.875 2.125T12 18t2.125-.875M6 10h9V6H6z"},null,-1)])])}}),jw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Gw=Lt({name:"material-symbols-progress-activity",render:function(e,t){return Ro(),jo("svg",jw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M8.125 21.213q-1.825-.788-3.187-2.15t-2.15-3.188T2 11.988t.788-3.875t2.15-3.175t3.187-2.15T12 2q.425 0 .713.288T13 3t-.288.713T12 4Q8.675 4 6.337 6.338T4 12t2.338 5.663T12 20t5.663-2.337T20 12q0-.425.288-.712T21 11t.713.288T22 12q0 2.05-.788 3.875t-2.15 3.188t-3.175 2.15t-3.875.787t-3.887-.787"},null,-1)])])}}),Ww={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Kw=Lt({name:"material-symbols-expand-more",render:function(e,t){return Ro(),jo("svg",Ww,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m12 15.375l-6-6l1.4-1.4l4.6 4.6l4.6-4.6l1.4 1.4z"},null,-1)])])}}),qw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Yw=Lt({name:"material-symbols-print",render:function(e,t){return Ro(),jo("svg",qw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M18 7H6V3h12zm0 5.5q.425 0 .713-.288T19 11.5t-.288-.712T18 10.5t-.712.288T17 11.5t.288.713t.712.287M16 19v-4H8v4zm2 2H6v-4H2v-6q0-1.275.875-2.137T5 8h14q1.275 0 2.138.863T22 11v6h-4z"},null,-1)])])}}),Xw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Zw=Lt({name:"material-symbols-help",render:function(e,t){return Ro(),jo("svg",Xw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M12.838 17.638q.362-.363.362-.888t-.362-.888t-.888-.362t-.887.363t-.363.887t.363.888t.887.362t.888-.363M11.05 14.15h1.85q0-.825.188-1.3t1.062-1.3q.65-.65 1.025-1.238T15.55 8.9q0-1.4-1.025-2.15T12.1 6q-1.425 0-2.312.75T8.55 8.55l1.65.65q.125-.45.563-.975T12.1 7.7q.8 0 1.2.438t.4.962q0 .5-.3.938t-.75.812q-1.1.975-1.35 1.475t-.25 1.825M12 22q-2.075 0-3.9-.787t-3.175-2.138T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22"},null,-1)])])}}),Jw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const $w=Lt({name:"material-symbols-settings",render:function(e,t){return Ro(),jo("svg",Jw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m9.25 22l-.4-3.2q-.325-.125-.612-.3t-.563-.375L4.7 19.375l-2.75-4.75l2.575-1.95Q4.5 12.5 4.5 12.338v-.675q0-.163.025-.338L1.95 9.375l2.75-4.75l2.975 1.25q.275-.2.575-.375t.6-.3l.4-3.2h5.5l.4 3.2q.325.125.613.3t.562.375l2.975-1.25l2.75 4.75l-2.575 1.95q.025.175.025.338v.674q0 .163-.05.338l2.575 1.95l-2.75 4.75l-2.95-1.25q-.275.2-.575.375t-.6.3l-.4 3.2zm2.8-6.5q1.45 0 2.475-1.025T15.55 12t-1.025-2.475T12.05 8.5q-1.475 0-2.488 1.025T8.55 12t1.013 2.475T12.05 15.5"},null,-1)])])}}),ex={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const tx=Lt({name:"material-symbols-undo",render:function(e,t){return Ro(),jo("svg",ex,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M7 19v-2h7.1q1.575 0 2.738-1T18 13.5T16.838 11T14.1 10H7.8l2.6 2.6L9 14L4 9l5-5l1.4 1.4L7.8 8h6.3q2.425 0 4.163 1.575T20 13.5t-1.737 3.925T14.1 19z"},null,-1)])])}}),rx={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const nx=Lt({name:"material-symbols-redo",render:function(e,t){return Ro(),jo("svg",rx,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M9.9 19q-2.425 0-4.163-1.575T4 13.5t1.738-3.925T9.9 8h6.3l-2.6-2.6L15 4l5 5l-5 5l-1.4-1.4l2.6-2.6H9.9q-1.575 0-2.738 1T6 13.5T7.163 16T9.9 17H17v2z"},null,-1)])])}}),ix={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const ox=Lt({name:"material-symbols-content-copy",render:function(e,t){return Ro(),jo("svg",ix,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M9 18q-.825 0-1.412-.587T7 16V4q0-.825.588-1.412T9 2h9q.825 0 1.413.588T20 4v12q0 .825-.587 1.413T18 18zm-4 4q-.825 0-1.412-.587T3 20V6h2v14h11v2z"},null,-1)])])}}),ax={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const sx=Lt({name:"material-symbols-content-paste",render:function(e,t){return Ro(),jo("svg",ax,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h4.175q.275-.875 1.075-1.437T12 1q1 0 1.788.563T14.85 3H19q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V5h-2v3H7V5H5zm7.713-14.288Q13 4.425 13 4t-.288-.712T12 3t-.712.288T11 4t.288.713T12 5t.713-.288"},null,-1)])])}}),lx={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const ux=Lt({name:"material-symbols-lock",render:function(e,t){return Ro(),jo("svg",lx,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M6 22q-.825 0-1.412-.587T4 20V10q0-.825.588-1.412T6 8h1V6q0-2.075 1.463-3.537T12 1t3.538 1.463T17 6v2h1q.825 0 1.413.588T20 10v10q0 .825-.587 1.413T18 22zm7.413-5.587Q14 15.825 14 15t-.587-1.412T12 13t-1.412.588T10 15t.588 1.413T12 17t1.413-.587M9 8h6V6q0-1.25-.875-2.125T12 3t-2.125.875T9 6z"},null,-1)])])}}),cx={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Ax=Lt({name:"material-symbols-delete",render:function(e,t){return Ro(),jo("svg",cx,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M7 21q-.825 0-1.412-.587T5 19V6H4V4h5V3h6v1h5v2h-1v13q0 .825-.587 1.413T17 21zm2-4h2V8H9zm4 0h2V8h-2z"},null,-1)])])}}),dx={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const hx=Lt({name:"material-symbols-zoom-in",render:function(e,t){return Ro(),jo("svg",dx,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m19.6 21l-6.3-6.3q-.75.6-1.725.95T9.5 16q-2.725 0-4.612-1.888T3 9.5t1.888-4.612T9.5 3t4.613 1.888T16 9.5q0 1.1-.35 2.075T14.7 13.3l6.3 6.3zM9.5 14q1.875 0 3.188-1.312T14 9.5t-1.312-3.187T9.5 5T6.313 6.313T5 9.5t1.313 3.188T9.5 14m-1-1.5v-2h-2v-2h2v-2h2v2h2v2h-2v2z"},null,-1)])])}}),px={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const fx=Lt({name:"material-symbols-zoom-out",render:function(e,t){return Ro(),jo("svg",px,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m19.6 21l-6.3-6.3q-.75.6-1.725.95T9.5 16q-2.725 0-4.612-1.888T3 9.5t1.888-4.612T9.5 3t4.613 1.888T16 9.5q0 1.1-.35 2.075T14.7 13.3l6.3 6.3zM9.5 14q1.875 0 3.188-1.312T14 9.5t-1.312-3.187T9.5 5T6.313 6.313T5 9.5t1.313 3.188T9.5 14M7 10.5v-2h5v2z"},null,-1)])])}}),gx="print-designer-print-mode",vx="print-designer-preferred-print-mode",mx="print-designer-silent-print",yx="print-designer-export-image-merged",bx="print-designer-print-quality",xx="print-designer-local-settings",_x="print-designer-remote-settings",Cx="print-designer-local-print-options",Sx="print-designer-remote-print-options",Bx="print-designer-remote-auth-token",kx="print-designer-remote-selected-client-id",Ex={wsAddress:"ws://localhost:1122/ws",secretKey:""},Ix={wsAddress:"ws://localhost:8080/ws/request",apiBaseUrl:"http://localhost:8080/api/login",username:"",password:""},Tx={printer:"",jobName:"",copies:1,intervalMs:0,pageRange:"",pageSet:"",scale:"fit",orientation:"portrait",colorMode:"color",sidesMode:"simplex",paperSize:"",trayBin:""},Px=(e,t)=>{const r=localStorage.getItem(e);if(!r)return t;try{return{...t,...JSON.parse(r)}}catch{return t}},Mx=(e,t)=>{localStorage.setItem(e,JSON.stringify(t))},Lx=e=>{const t=(e=>e.trim())(e);return t?/^wss?:\/\//i.test(t)?t:`ws://${t.replace(/^\/+/,"")}`:"ws://"},Dx=(e,t,r)=>{if(!r)return e;try{const n=new URL(e);return n.searchParams.set(t,r),n.toString()}catch{const n=e.includes("?")?"&":"?";return`${e}${n}${encodeURIComponent(t)}=${encodeURIComponent(r)}`}};let Nx=null;const Ox=()=>{const e=Ft(localStorage.getItem(vx)||localStorage.getItem(gx)||"browser"),t=Ft("true"===localStorage.getItem(mx)),r=Ft("false"!==localStorage.getItem(yx)),n=localStorage.getItem(bx),i=Ft(n&&["fast","normal","high","ultra"].includes(n)?n:"normal"),o=_t(Px(xx,Ex));if(!o.wsAddress){const e=o;if(e.host||e.port||e.path){const t=e.host||"localhost",r=e.port?`:${e.port}`:"",n=e.path||"/ws",i=e.protocol||"ws";o.wsAddress=`${i}://${t}${r}${n}`}}const a=_t(Px(_x,Ix));if(!a.wsAddress){const e=a;if(e.host||e.wsPort||e.wsPath){const t=e.host||"localhost",r=e.wsPort?`:${e.wsPort}`:"",n=e.wsPath||"/ws/request";a.wsAddress=`${t}${r}${n}`}}const s=Ft("disconnected"),l=Ft("disconnected"),u=Ft(""),c=Ft(""),A=_t(Px(Cx,Tx)),d=_t(Px(Sx,Tx)),h=Ft(localStorage.getItem(Bx)||""),p=Ft(localStorage.getItem(kx)||""),f=Ft([]),g=Ft([]),v=Ft([]),m=_t({}),y=Ft(null),b=Ft(null),w=[],x=[];let _=null,C=null;const S=Ft(0),B=Ft(0),k=Ft(null),E=Ft(null),I=Ft(!1),T=Ft(!1),P=Ft(null),M=Ft(null),L=Ta(()=>{const e=Lx(o.wsAddress);return Dx(e,"key",o.secretKey.trim())}),D=Ta(()=>{const e=Lx(a.wsAddress);return Dx(e,"token",h.value.trim())});an(e,e=>{localStorage.setItem(gx,e),"browser"===e?localStorage.removeItem(vx):localStorage.setItem(vx,e)}),an(t,e=>{localStorage.setItem(mx,String(e))}),an(r,e=>{localStorage.setItem(yx,String(e))}),an(i,e=>{localStorage.setItem(bx,e.toString())}),an(o,e=>{Mx(xx,e),s.value="disconnected",u.value=""},{deep:!0}),an(a,e=>{Mx(_x,e),l.value="disconnected",c.value=""},{deep:!0}),an(A,e=>{Mx(Cx,e)},{deep:!0}),an(d,e=>{Mx(Sx,e)},{deep:!0}),an(h,e=>{localStorage.setItem(Bx,e)}),an(p,e=>{localStorage.setItem(kx,e)});an([s,l],()=>{(()=>{const t="connected"===s.value,r="connected"===l.value;("local"!==e.value||t)&&("remote"!==e.value||r)&&(t||r)||(e.value="browser")})(),(()=>{const t=localStorage.getItem(vx);t&&"browser"!==t&&"browser"===e.value&&("local"===t&&"connected"===s.value&&(e.value="local"),"remote"===t&&"connected"===l.value&&(e.value="remote"))})()},{immediate:!0});const N=(e,t)=>{e.slice().forEach(r=>{r.match(t)&&(window.clearTimeout(r.timeoutId),e.splice(e.indexOf(r),1),r.resolve(t))})},O=(e,t)=>{e.slice().forEach(r=>{window.clearTimeout(r.timeoutId),e.splice(e.indexOf(r),1),r.reject(t)})},F=()=>{k.value&&(window.clearTimeout(k.value),k.value=null),S.value=0},U=()=>{E.value&&(window.clearTimeout(E.value),E.value=null),B.value=0},z=()=>{if(!I.value&&!k.value){if(S.value>=10)return s.value="error",u.value="Local connection failed",void(S.value=0);S.value+=1,s.value="connecting",k.value=window.setTimeout(()=>{k.value=null,H()},3e3)}},R=()=>{if(!T.value&&!E.value){if(B.value>=10)return l.value="error",c.value="Remote connection failed",void(B.value=0);B.value+=1,l.value="connecting",E.value=window.setTimeout(()=>{E.value=null,V()},3e3)}},Q=(e,t,r,n,i=5e3)=>new Promise((o,a)=>{const s=e.value;if(!s||s.readyState!==WebSocket.OPEN)return void a(new Error("WebSocket not connected"));const l=window.setTimeout(()=>{const e=t.findIndex(e=>e.resolve===o);e>=0&&t.splice(e,1),a(new Error("WebSocket timeout"))},i);t.push({match:n,resolve:o,reject:a,timeoutId:l}),s.send(JSON.stringify(r))}),H=async()=>{if(_)return _;if(y.value&&y.value.readyState===WebSocket.OPEN)return s.value="connected",Promise.resolve();I.value=!1,s.value="connecting",u.value="";const e=new WebSocket(L.value);return y.value=e,(e=>{e.onmessage=e=>{try{const t=JSON.parse(e.data);"printer_list"===(null==t?void 0:t.type)&&(f.value=Array.isArray(t.data)?t.data:[]),"printer_caps"===(null==t?void 0:t.type)&&t.printer&&(m[t.printer]=(null==t?void 0:t.data)||{}),N(w,t)}catch(t){O(w,t)}},e.onclose=()=>{y.value=null,"error"!==s.value&&(s.value="disconnected"),O(w,new Error("WebSocket closed")),z()},e.onerror=()=>{s.value="error",u.value="Local connection failed",O(w,new Error("WebSocket error")),z()}})(e),_=new Promise((t,r)=>{e.addEventListener("open",()=>{s.value="connected",F(),_=null,e.send(JSON.stringify({type:"get_printers"})),t()}),e.addEventListener("error",()=>{s.value="error",u.value="Local connection failed",_=null,z(),r(new Error("WebSocket error"))})}),_},V=async()=>C||(b.value&&b.value.readyState===WebSocket.OPEN?(l.value="connected",Promise.resolve()):(T.value=!1,l.value="connecting",c.value="",C=(async()=>{try{if(!a.apiBaseUrl||!a.username||!a.password)return l.value="error",void(c.value="Missing remote connection fields");const e=await fetch(a.apiBaseUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:a.username,password:a.password})});if(!e.ok){const t=await e.text();throw new Error(t||`HTTP ${e.status}`)}const t=await e.json();if(!(null==t?void 0:t.token))throw new Error("Missing auth token");h.value=t.token;const r=new WebSocket(D.value);b.value=r,(e=>{e.onmessage=e=>{try{const t=JSON.parse(e.data);if("clients_list"===(null==t?void 0:t.cmd))if(v.value=Array.isArray(t.clients)?t.clients:[],v.value.length>0){if(!v.value.some(e=>e.client_id===p.value)){const e=v.value.find(e=>e.online)||v.value[0];p.value=(null==e?void 0:e.client_id)||""}}else p.value="";if("printers_list"===(null==t?void 0:t.cmd)){const e=Array.isArray(t.printers)?t.printers:[];g.value=e.map(e=>{var t,r;return!e.paper_spec&&(null==(r=null==(t=e.capabilities)?void 0:t.config)?void 0:r.paperSize)?{...e,paper_spec:e.capabilities.config.paperSize}:e})}N(x,t)}catch(t){O(x,t)}},e.onclose=()=>{b.value=null,"error"!==l.value&&(l.value="disconnected"),O(x,new Error("WebSocket closed")),R()},e.onerror=()=>{l.value="error",c.value="Remote connection failed",O(x,new Error("WebSocket error")),R()}})(r),await new Promise((e,t)=>{r.addEventListener("open",()=>{l.value="connected",U(),r.send(JSON.stringify({cmd:"get_clients"})),e()}),r.addEventListener("error",()=>{l.value="error",c.value="Remote connection failed",R(),t(new Error("WebSocket error"))})})}catch(e){l.value="error",c.value=e.message||"Remote connection failed",R()}finally{C=null}})(),C)),j=async()=>{await H();const e=await Q(y,w,{type:"get_printers"},e=>"printer_list"===(null==e?void 0:e.type));return f.value=Array.isArray(e.data)?e.data:[],f.value},G=async()=>{await V();const e=await Q(b,x,{cmd:"get_clients"},e=>"clients_list"===(null==e?void 0:e.cmd));if(v.value=Array.isArray(e.clients)?e.clients:[],v.value.length>0){if(!v.value.some(e=>e.client_id===p.value)){const e=v.value.find(e=>e.online)||v.value[0];p.value=(null==e?void 0:e.client_id)||""}}else p.value="";return v.value};return an(l,e=>{if("connected"===e)return G().catch(()=>{}),void(M.value||(M.value=window.setInterval(()=>{"connected"===l.value&&G().catch(()=>{})},3e4)));M.value&&(window.clearInterval(M.value),M.value=null)},{immediate:!0}),an(s,e=>{if("connected"===e)return j().catch(()=>{}),void(P.value||(P.value=window.setInterval(()=>{"connected"===s.value&&j().catch(()=>{})},3e4)));P.value&&(window.clearInterval(P.value),P.value=null)},{immediate:!0}),{printMode:e,silentPrint:t,exportImageMerged:r,printQuality:i,localSettings:o,remoteSettings:a,localStatus:s,remoteStatus:l,localStatusMessage:u,remoteStatusMessage:c,localRetryCount:S,remoteRetryCount:B,localPrintOptions:A,remotePrintOptions:d,localWsUrl:L,remoteWsUrl:D,remoteAuthToken:h,localPrinters:f,remotePrinters:g,remoteClients:v,remoteSelectedClientId:p,localPrinterCaps:m,fetchLocalPrinters:j,fetchRemoteClients:G,fetchRemotePrinters:async e=>{const t=e||p.value;if(!t)return g.value=[],g.value;await V();const r=await Q(b,x,{cmd:"get_printers",client_id:t},e=>"printers_list"===(null==e?void 0:e.cmd)),n=Array.isArray(r.printers)?r.printers:[];return g.value=n.map(e=>{var t,r;return!e.paper_spec&&(null==(r=null==(t=e.capabilities)?void 0:t.config)?void 0:r.paperSize)?{...e,paper_spec:e.capabilities.config.paperSize}:e}),g.value},fetchLocalPrinterCaps:async e=>{if(!e)return;if(m[e])return m[e];await H();const t=await Q(y,w,{type:"get_printer_caps",printer:e},e=>"printer_caps"===(null==e?void 0:e.type));return m[e]=(null==t?void 0:t.data)||{},m[e]},submitRemoteTask:async(e,t=3e4)=>(await V(),await Q(b,x,e,e=>"task_result"===(null==e?void 0:e.cmd),t)),cancelLocalRetry:()=>{I.value=!0,F(),y.value&&y.value.close(),y.value=null,s.value="disconnected",u.value=""},cancelRemoteRetry:()=>{T.value=!0,U(),b.value&&b.value.close(),b.value=null,l.value="disconnected",c.value=""},connectLocal:H,disconnectLocal:()=>{I.value=!0,F(),y.value&&y.value.close(),y.value=null,s.value="disconnected",u.value="",e.value="browser"},connectRemote:V,disconnectRemote:()=>{T.value=!0,U(),b.value&&b.value.close(),b.value=null,l.value="disconnected",c.value="",e.value="browser"}}},Fx=()=>(Nx||(Nx=Ox()),Nx),Ux={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const zx=Lt({name:"material-symbols-rotate-right",render:function(e,t){return Ro(),jo("svg",Ux,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M13.05 22v-2.05q.85-.125 1.663-.45t1.537-.85l1.4 1.45q-1.05.8-2.2 1.287t-2.4.613m-2 0q-3.45-.45-5.725-2.988T3.05 13.05q0-1.875.713-3.512t1.925-2.85t2.85-1.925t3.512-.713h.15L10.65 2.5l1.4-1.45l4 4l-4 4l-1.4-1.4l1.6-1.6h-.2q-2.925 0-4.962 2.038T5.05 13.05q0 2.6 1.7 4.563t4.3 2.337zm8.05-3.35l-1.45-1.4q.525-.725.85-1.537t.45-1.663H21q-.125 1.25-.612 2.4t-1.288 2.2m1.9-6.6h-2.05q-.125-.85-.45-1.662t-.85-1.538l1.45-1.4q.8.975 1.275 2.15T21 12.05"},null,-1)])])}}),Rx=["data-element-id","data-read-only","data-repeat-per-page"],Qx=["title"],Hx={key:1,"data-print-exclude":"true",class:"absolute -top-3 -right-3 bg-red-500 rounded-full p-1 shadow-md z-50"},Vx=["title"],jx=Nn({__name:"ElementWrapper",props:{element:{},isSelected:{type:Boolean},zoom:{},pageIndex:{},readOnly:{type:Boolean}},setup(e){const t=e,{t:r}=dh(),n=Wb(),i=Ft(null),o=nn("designer-root",Ft(null)),a=Ta(()=>{const e=!t.isSelected&&n.selectedElementIds.includes(t.element.id),r=!t.readOnly&&(t.isSelected||e),i={left:`${t.element.x}px`,top:`${t.element.y}px`,width:`${t.element.width}px`,height:`${t.element.height}px`,zIndex:t.element.style.zIndex||1,transform:`rotate(${t.element.style.rotate||0}deg)`,...t.element.style},o=[Nm.TABLE,Nm.CUSTOM_TABLE,Nm.LINE,Nm.RECT,Nm.CIRCLE];return o.includes(t.element.type)&&(delete i.backgroundColor,delete i.border,delete i.borderWidth,delete i.borderStyle,delete i.borderColor,delete i.borderRadius),r?i.border=t.element.locked?"2px solid #ef4444":"2px solid var(--brand-500)":!o.includes(t.element.type)&&t.element.style.borderStyle&&"none"!==t.element.style.borderStyle?(i.borderStyle=t.element.style.borderStyle,i.borderWidth=`${t.element.style.borderWidth||1}px`,i.borderColor=t.element.style.borderColor||"#000",delete i.border):!o.includes(t.element.type)&&t.element.style.border?i.border=t.element.style.border:i.border="1px dashed transparent",i}),s=Ta(()=>{if(!n.showVariableNames)return!1;const e=t.element;return e.type===Nm.TEXT||e.type===Nm.LONG_TEXT?!e.variable&&!e.content:e.type===Nm.TABLE?!(e.variable||e.data&&0!==e.data.length):e.type===Nm.CHART?!(e.chartDataVariable||e.chartData&&0!==e.chartData.length):e.type===Nm.BARCODE||e.type===Nm.QRCODE?!e.variable&&!e.content:e.type===Nm.IMAGE&&(!e.variable&&!e.src)});let l=0,u=0,c=0,A=0,d=!1,h=!1;const p=e=>{if(t.readOnly)return;if(0!==e.button)return;if(e.target.closest(".resize-handle")||e.target.closest(".rotate-handle"))return;e.ctrlKey||e.metaKey?n.selectElement(t.element.id,!0):n.selectedElementIds.includes(t.element.id)||n.selectElement(t.element.id,!1),n.selectedElementIds.includes(t.element.id)&&n.bringElementsToFront(n.selectedElementIds),t.element.locked||(d=!0,n.setDragging(!0),h=!1,l=e.clientX,u=e.clientY,c=t.element.x,A=t.element.y,window.addEventListener("mousemove",f),window.addEventListener("mouseup",g))},f=e=>{if(!d)return;const r=(e.clientX-l)/t.zoom,i=(e.clientY-u)/t.zoom;(Math.abs(r)>2||Math.abs(i)>2)&&(h||(n.snapshot(),h=!0),n.selectedElementIds.length>1&&n.selectedElementIds.includes(t.element.id)?n.moveSelectedElements(t.element.id,c+r,A+i,!1,!1):n.moveElementWithSnap(t.element.id,c+r,A+i,!1,!1))},g=e=>{if(d&&h){const i=(null==(r=null==o?void 0:o.value)?void 0:r.getRootNode())||document,a=i.elementsFromPoint(e.clientX,e.clientY).find(e=>e.classList.contains("print-page"));if(a){const e=a.id,r=parseInt(e.replace("page-",""),10);if(isNaN(r)||r===t.pageIndex)n.selectedElementIds.length>1&&n.selectedElementIds.includes(t.element.id)?n.moveSelectedElements(t.element.id,t.element.x,t.element.y,!1,!0):n.moveElementWithSnap(t.element.id,t.element.x,t.element.y,!1,!0);else{const e=i.getElementById(`page-${t.pageIndex}`);if(e){const i=e.getBoundingClientRect(),o=a.getBoundingClientRect(),s=(i.left-o.left)/t.zoom,l=(i.top-o.top)/t.zoom;(n.selectedElementIds.length>1&&n.selectedElementIds.includes(t.element.id)?[...n.selectedElementIds]:[t.element.id]).forEach(e=>{const i=n.pages[t.pageIndex].elements.find(t=>t.id===e);i&&n.moveElementToPage(e,r,i.x+s,i.y+l)})}}}}var r;if(d&&!h){e.ctrlKey||e.metaKey||n.selectElement(t.element.id,!1)}d=!1,n.setDragging(!1),window.removeEventListener("mousemove",f),window.removeEventListener("mouseup",g),n.setHighlightedGuide(null),n.setHighlightedEdge(null)},v=Ft(!1),m=Ft(!1),y=Ft(0),b=e=>{if(e.stopPropagation(),e.preventDefault(),!i.value)return;v.value=!0,m.value=!1,h=!1,y.value=t.element.style.rotate||0;const r=i.value.getBoundingClientRect(),o=r.left+r.width/2,a=r.top+r.height/2,s=Math.atan2(e.clientY-a,e.clientX-o),l=t.element.style.rotate||0,u=e=>{const r=(Math.atan2(e.clientY-a,e.clientX-o)-s)*(180/Math.PI);let i=l+r;if(i%=360,i<0&&(i+=360),m.value=!1,e.shiftKey)i=45*Math.round(i/45),m.value=!0;else if(!e.ctrlKey){const e=5,t=[0,90,180,270,360];for(const r of t)if(Math.abs(i-r)<=e){i=360===r?0:r,m.value=!0;break}}i=Math.round(i),360===i&&(i=0),y.value=i,h||(n.snapshot(),h=!0),n.updateElement(t.element.id,{style:{...t.element.style,rotate:i}},!1)},c=()=>{v.value=!1,window.removeEventListener("mousemove",u),window.removeEventListener("mouseup",c)};window.addEventListener("mousemove",u),window.addEventListener("mouseup",c)},w=e=>{e.stopPropagation(),e.preventDefault();const r=e.clientX,i=e.clientY,o=t.element.width,a=t.element.height;h=!1;const s=e=>{const s=(e.clientX-r)/t.zoom,l=(e.clientY-i)/t.zoom;h||(n.snapshot(),h=!0);let u=o+s,c=a+l;if(e.shiftKey){const e=o/a;Math.abs(u/o-1)>Math.abs(c/a-1)?c=u/e:u=c*e}n.updateElement(t.element.id,{width:Math.max(10,u),height:Math.max(10,c)},!1)},l=()=>{window.removeEventListener("mousemove",s),window.removeEventListener("mouseup",l)};window.addEventListener("mousemove",s),window.addEventListener("mouseup",l)};return(t,o)=>(Ro(),jo("div",{ref_key:"elementRef",ref:i,class:X(["element-wrapper absolute select-none",[e.readOnly?"cursor-not-allowed":"group theme-outline-hover",!e.readOnly&&e.element.locked?"cursor-not-allowed":"",e.readOnly||e.element.locked?"":"cursor-move"]]),"data-element-id":e.element.id,"data-read-only":e.readOnly?"true":"false","data-repeat-per-page":!0===e.element.repeatPerPage?"true":null,style:G(a.value),onMousedown:p},[fi(t.$slots,"default"),s.value?(Ro(),jo("div",{key:0,"data-print-exclude":"true",class:"absolute -top-3 -left-3 bg-yellow-500 rounded-full p-1 shadow-md z-50 flex items-center justify-center",title:Qt(r)("preview.emptyDataWarning")},[...o[0]||(o[0]=[Xo("svg",{class:"w-3 h-3 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})],-1)])],8,Qx)):na("",!0),!e.readOnly&&e.element.locked&&e.isSelected?(Ro(),jo("div",Hx,[Zo(Qt(ux),{class:"w-3 h-3 text-white"})])):na("",!0),!e.readOnly&&e.isSelected&&Qt(n).selectedElementIds.length<=1&&!e.element.locked?(Ro(),jo(Do,{key:2},[Xo("div",{"data-print-exclude":"true",class:"resize-handle absolute bottom-0 right-0 w-3 h-3 bg-blue-600 cursor-se-resize z-50",onMousedown:w},null,32),Xo("div",{"data-print-exclude":"true",class:"rotate-handle absolute -top-4 -right-5 w-5 h-5 flex items-center justify-center cursor-grab z-50 theme-text theme-text-hover",title:Qt(r)("common.rotate"),onMousedown:b},[Zo(Qt(zx),{class:"w-3 h-3"}),v.value?(Ro(),jo("div",{key:0,class:X(["absolute top-6 left-1/2 transform -translate-x-1/2 text-xs px-2 py-1 rounded whitespace-nowrap z-50 pointer-events-none font-sans font-normal not-italic leading-none tracking-normal normal-case",m.value?"theme-bg-strong text-white":"theme-bg-soft text-white"])},oe(y.value)+"° ",3)):na("",!0)],40,Vx)],64)):na("",!0)],46,Rx))}}),Gx=["data-auto-height"],Wx={sections:[{title:"properties.section.content",tab:"properties",fields:[{label:"properties.label.content",type:"textarea",target:"element",key:"content",placeholder:"properties.label.textContentPlaceholder"}]},{title:"properties.section.dataBehavior",tab:"properties",fields:[{label:"properties.label.autoHeight",type:"switch",target:"style",key:"autoHeight"}]},{title:"properties.section.typography",tab:"style",fields:[{label:"properties.label.writingMode",type:"select",target:"style",key:"writingMode",options:[{label:"properties.option.horizontal",value:"horizontal-tb"},{label:"properties.option.vertical",value:"vertical-rl"}]},{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:8,max:96,step:1},{label:"properties.label.color",type:"color",target:"style",key:"color"},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.option.default",value:""},{label:"properties.option.left",value:"left"},{label:"properties.option.center",value:"center"},{label:"properties.option.right",value:"right"}]},{label:"properties.label.verticalAlign",type:"select",target:"style",key:"verticalAlign",options:[{label:"properties.option.default",value:""},{label:"properties.option.top",value:"top"},{label:"properties.option.middle",value:"middle"},{label:"properties.option.bottom",value:"bottom"}]},{label:"properties.label.fontFamily",type:"select",target:"style",key:"fontFamily",options:[{label:"properties.option.default",value:""},{label:"properties.option.arial",value:"Arial, sans-serif"},{label:"properties.option.timesNewRoman",value:'"Times New Roman", serif'},{label:"properties.option.courierNew",value:'"Courier New", monospace'},{label:"properties.option.simSun",value:"SimSun, serif"},{label:"properties.option.simHei",value:"SimHei, sans-serif"}]},{label:"properties.label.fontWeight",type:"select",target:"style",key:"fontWeight",options:[{label:"properties.option.default",value:""},{label:"properties.option.normal",value:"400"},{label:"properties.option.medium",value:"500"},{label:"properties.option.bold",value:"700"}]}]},{title:"properties.section.border",tab:"style",fields:[{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:20,step:1},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"}]}]},Kx=Nn({__name:"TextElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=Ft(!1),i=Ft(""),o=Ft(null),a=Ta(()=>{const e=t.element.variable||"",n=r.variables||{};if(r.isExporting&&e){const t=Lb(e);if(t){const e=Ub(n,t);if(null!=e)return String(e);const i=Ub(r.testData,t);if(null!=i)return String(i)}}if(!r.isExporting&&t.element.variable){if(r.showVariableNames){const e=Lb(t.element.variable);return e?`{#${e}}`:t.element.variable||t.element.content}const e=Lb(t.element.variable);if(e){const t=Ub(r.testData,e);if(null!=t)return String(t)}}if(t.element.variable){const e=Lb(t.element.variable);return e?`@${e}`:t.element.content}return t.element.content}),s=Ta(()=>r.isTemplateEditable&&!t.element.locked),l=Ta(()=>{const e=t.element.style.verticalAlign;return"middle"===e?"center":"bottom"===e?"flex-end":"flex-start"}),u=async e=>{var a,l,u;if(!s.value)return;const c=null==(a=e.currentTarget)?void 0:a.closest(".element-wrapper");"true"!==(null==c?void 0:c.getAttribute("data-read-only"))&&(r.selectedElementId===t.element.id||r.selectedElementIds.includes(t.element.id))&&(e.stopPropagation(),i.value=t.element.content||"",n.value=!0,await br(),null==(l=o.value)||l.focus(),null==(u=o.value)||u.select())},c=()=>{n.value&&(n.value=!1,i.value!==(t.element.content||"")&&r.updateElement(t.element.id,{content:i.value}))},A=e=>{if("Escape"===e.key)return e.preventDefault(),void(n.value&&(n.value=!1,i.value=t.element.content||""));"Enter"!==e.key||e.shiftKey||(e.preventDefault(),c())};return an(()=>r.selectedElementId,e=>{e!==t.element.id&&c()}),(t,r)=>(Ro(),jo("div",{class:"w-full h-full overflow-hidden",onDblclick:u,"data-auto-height":e.element.style.autoHeight?"true":void 0,style:G({display:"flex",flexDirection:"column",justifyContent:l.value,fontSize:`${e.element.style.fontSize}px`,fontFamily:e.element.style.fontFamily,fontWeight:e.element.style.fontWeight,fontStyle:e.element.style.fontStyle,textAlign:e.element.style.textAlign,textDecoration:e.element.style.textDecoration,color:e.element.style.color,padding:`${e.element.style.padding||0}px`,writingMode:e.element.style.writingMode||"horizontal-tb",whiteSpace:"pre-wrap"})},[n.value?en((Ro(),jo("textarea",{key:0,ref_key:"editorRef",ref:o,"onUpdate:modelValue":r[0]||(r[0]=e=>i.value=e),class:"w-full h-full resize-none bg-transparent outline-none",style:G({fontSize:`${e.element.style.fontSize}px`,fontFamily:e.element.style.fontFamily,fontWeight:e.element.style.fontWeight,fontStyle:e.element.style.fontStyle,textAlign:e.element.style.textAlign,color:e.element.style.color,padding:`${e.element.style.padding||0}px`}),onMousedown:r[1]||(r[1]=zs(()=>{},["stop"])),onClick:r[2]||(r[2]=zs(()=>{},["stop"])),onBlur:c,onKeydown:A},null,36)),[[Ms,i.value]]):(Ro(),jo(Do,{key:1},[ta(oe(a.value),1)],64))],44,Gx))}}),qx=["src"],Yx={key:1,class:"text-gray-400 text-xs"},Xx={sections:[{title:"properties.section.imageSource",tab:"properties",fields:[{label:"properties.label.imageSource",type:"image",target:"element",key:"content"}]},{title:"properties.section.border",tab:"style",fields:[{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:20,step:1},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"}]}]},Zx=Nn({__name:"ImageElement",props:{element:{}},setup(e){const t=e,{t:r}=dh(),n=Wb(),i=Ft(null),o=Ta(()=>{if(t.element.variable){const e=Lb(t.element.variable);if(!n.isExporting&&n.showVariableNames)return t.element.variable;if(n.isExporting){const t=n.variables||{};if(e){const r=Ub(t,e);if(null!=r)return String(r)}}if(e){const t=Ub(n.testData,e);if(null!=t)return String(t)}}return t.element.content}),a=e=>{var r,o;if(!n.isTemplateEditable||t.element.locked||n.selectedElementId!==t.element.id&&!n.selectedElementIds.includes(t.element.id))return;const a=null==(r=e.currentTarget)?void 0:r.closest(".element-wrapper");"true"!==(null==a?void 0:a.getAttribute("data-read-only"))&&(e.stopPropagation(),null==(o=i.value)||o.click())},s=e=>{var i;const o=e.target,a=null==(i=o.files)?void 0:i[0];if(!a)return;if(a.size>2097152)return Qm.error(r("properties.image.sizeError")),void(o.value="");const s=new FileReader;s.onload=e=>{var r;const i=null==(r=e.target)?void 0:r.result;i&&n.updateElement(t.element.id,{content:i})},s.onerror=()=>{Qm.error(r("properties.image.readError"))},s.readAsDataURL(a),o.value=""};return(e,t)=>(Ro(),jo("div",{class:"w-full h-full overflow-hidden flex items-center justify-center",onDblclick:a},[o.value?(Ro(),jo("img",{key:0,src:o.value,class:"w-full h-full object-contain pointer-events-none",alt:"Element"},null,8,qx)):(Ro(),jo("span",Yx,"No Image")),Xo("input",{ref_key:"fileInputRef",ref:i,type:"file",accept:"image/*",class:"hidden",onChange:s},null,544)],32))}}),Jx=["data-tfoot-repeat","data-auto-paginate","data-custom-script"],$x=["onDblclick"],e_=["onMousedown"],t_={key:0},r_={class:"p-4 text-center text-sm text-gray-400 dark:text-gray-500 select-none"},n_=["rowspan","colspan","data-field","onMousedown","onMouseover"],i_={key:0},o_=["colspan"],a_={key:2,class:"h-full border-none bg-transparent"},s_=["colspan"],l_={key:0},u_=["rowspan","colspan","data-field","data-value","onMousedown","onMouseover","onDblclick"],c_=["data-tfoot-repeat","data-auto-paginate","data-custom-script"],A_={key:0},d_={class:"p-4 text-center text-sm text-gray-400 dark:text-gray-500 select-none"},h_=["onDblclick"],p_=["rowspan","colspan","data-field","onMousedown","onMouseover"],f_={key:0},g_=["rowspan","colspan","data-field","data-value","onMousedown","onMouseover","onDblclick"],v_={class:"text-sm font-semibold text-gray-700"},m_={class:"flex flex-col gap-1"},y_={class:"text-xs text-gray-500"},b_=["placeholder"],w_={class:"flex flex-col gap-1"},x_={class:"text-xs text-gray-500"},__={value:"",disabled:"",class:"text-gray-400"},C_=["value"],S_={class:"flex flex-col gap-1"},B_={class:"text-xs text-gray-500"},k_=["placeholder"],E_={class:"flex flex-col gap-1"},I_={class:"text-xs text-gray-500"},T_=["placeholder"],P_={class:"flex justify-end gap-2 mt-1"},M_={sections:[{title:"properties.section.fieldSelection",tab:"fieldSelection",fields:[{label:"properties.label.dataVariable",type:"field",target:"element",key:"variable",placeholder:"properties.label.selectField",filter:"array"},{label:"properties.label.footerDataVariable",type:"field",target:"element",key:"footerDataVariable",placeholder:"properties.label.selectField",filter:"array"},{label:"properties.label.customScriptVariable",type:"field",target:"element",key:"customScriptVariable",placeholder:"properties.label.selectField",filter:"text"},{label:"properties.label.columnPicker",type:"columnPicker",target:"element"},{label:"properties.label.columnAlias",type:"columnAlias",target:"element"}]},{title:"properties.section.dataBehavior",tab:"properties",fields:[{label:"properties.label.headerPosition",type:"select",target:"element",key:"headerPosition",options:[{label:"properties.option.headerTop",value:"top"},{label:"properties.option.headerLeft",value:"left"}]},{label:"properties.label.autoPaginate",type:"switch",target:"element",key:"autoPaginate"},{label:"properties.label.repeatFooter",type:"switch",target:"element",key:"tfootRepeat"},{label:"properties.label.showFooter",type:"switch",target:"element",key:"showFooter"},{label:"properties.label.footerData",type:"code",language:"json",target:"element",key:"footerData",placeholder:"properties.label.footerDataPlaceholder"},{label:"properties.label.customScript",type:"code",language:"javascript",target:"element",key:"customScript",placeholder:"properties.label.customScriptPlaceholder"}]},{title:"properties.section.layoutDimensions",tab:"style",fields:[{label:"properties.label.headerHeight",type:"number",target:"style",key:"headerHeight",min:20,max:200,step:1},{label:"properties.label.rowHeight",type:"number",target:"style",key:"rowHeight",min:20,max:200,step:1},{label:"properties.label.footerHeight",type:"number",target:"style",key:"footerHeight",min:20,max:200,step:1}]},{title:"properties.section.appearance",tab:"style",fields:[{label:"properties.label.backgroundColor",type:"color",target:"style",key:"backgroundColor"},{label:"properties.label.textColor",type:"color",target:"style",key:"color"},{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:8,max:72,step:1},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.align.left",value:"left"},{label:"properties.align.center",value:"center"},{label:"properties.align.right",value:"right"}]}]},{title:"properties.section.headerStyle",tab:"style",fields:[{label:"properties.label.background",type:"color",target:"style",key:"headerBackgroundColor"},{label:"properties.label.textColor",type:"color",target:"style",key:"headerColor"},{label:"properties.label.fontSize",type:"number",target:"style",key:"headerFontSize",min:8,max:72,step:1},{label:"properties.label.textAlign",type:"select",target:"style",key:"headerTextAlign",options:[{label:"properties.align.left",value:"left"},{label:"properties.align.center",value:"center"},{label:"properties.align.right",value:"right"}]}]},{title:"properties.section.footerStyle",tab:"style",fields:[{label:"properties.label.background",type:"color",target:"style",key:"footerBackgroundColor"},{label:"properties.label.textColor",type:"color",target:"style",key:"footerColor"},{label:"properties.label.fontSize",type:"number",target:"style",key:"footerFontSize",min:8,max:72,step:1},{label:"properties.label.textAlign",type:"select",target:"style",key:"footerTextAlign",options:[{label:"properties.align.left",value:"left"},{label:"properties.align.center",value:"center"},{label:"properties.align.right",value:"right"}]}]},{title:"properties.section.border",tab:"style",fields:[{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:20,step:1},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"}]}]},L_=Nn({__name:"TableElement",props:{element:{}},setup(e){const t=e,{t:r}=dh(),n=Wb(),i=nn("modal-container",Ft(null));function o(e,r,i="body"){var o;return(!n.tableSelection||n.tableSelection.elementId===t.element.id)&&((null==(o=n.tableSelection)?void 0:o.cells.some(t=>t.rowIndex===e&&t.colField===r&&(t.section||"body")===i))??!1)}const a=Ft(null),s=Ft(null),l=Ft({header:"",field:"",value:"",variable:""}),u=Ft({top:0,left:0}),c=Ft(null),A=async(e,r)=>{if(n.selectedElementId!==t.element.id||t.element.locked)return;const i=m.value.columns[r];if(i){if(a.value=r,s.value=null,l.value={header:i.header,field:i.field,value:"",variable:""},u.value={top:e.clientY+10,left:e.clientX+10},await br(),c.value){const e=c.value.getBoundingClientRect(),t=window.innerWidth,r=window.innerHeight;u.value.left+e.width>t&&(u.value.left=t-e.width-20),u.value.top+e.height>r&&(u.value.top=r-e.height-20)}setTimeout(()=>{window.addEventListener("click",h)},100)}},d=async(e,r,i)=>{if(n.selectedElementId!==t.element.id||t.element.locked)return;const o=m.value.footerData[r];if(!o)return;const A=o[i];let d="",p="";if(A&&"object"==typeof A&&(d=A.value||"",p=A.field||""),s.value={rowIndex:r,colField:i},a.value=null,l.value={header:"",field:i,value:d,variable:p},u.value={top:e.clientY+10,left:e.clientX+10},await br(),c.value){const e=c.value.getBoundingClientRect(),t=window.innerWidth,r=window.innerHeight;u.value.left+e.width>t&&(u.value.left=t-e.width-20),u.value.top+e.height>r&&(u.value.top=r-e.height-20)}setTimeout(()=>{window.addEventListener("click",h)},100)},h=e=>{c.value&&!c.value.contains(e.target)&&p()},p=()=>{a.value=null,s.value=null,window.removeEventListener("click",h)},f=()=>{if(null!==a.value){const e=t.element.columns?[...t.element.columns]:[];if(0===e.length&&m.value.columns.length>0){const e=JSON.parse(JSON.stringify(m.value.columns));return e[a.value]&&(e[a.value].header=l.value.header,e[a.value].field=l.value.field,n.updateElement(t.element.id,{columns:e})),void p()}a.value<e.length&&(e[a.value]={...e[a.value],header:l.value.header,field:l.value.field},n.updateElement(t.element.id,{columns:e}))}else if(s.value){const{rowIndex:e,colField:r}=s.value,i=t.element.footerData?JSON.parse(JSON.stringify(t.element.footerData)):[];if(!i[e])return;const o=i[e],a=o[r];a&&"object"==typeof a?(a.value=l.value.value,a.field=l.value.variable):o[r]={value:l.value.value,field:l.value.variable},n.updateElement(t.element.id,{footerData:i})}p()},g=Ft(!1),v=Ft(null);const m=Ta(()=>{let e=[],r=[],i=Array.isArray(t.element.footerData)?t.element.footerData:[];const o=n.testData||{},a=n.variables||{},s=(()=>{const e=Lb(t.element.variable||"");if(!e)return;let r=Ub(o,e);if(Array.isArray(r))return Dm(r);if(r&&"object"==typeof r)for(const t of Object.keys(r)){const e=r[t];if(Array.isArray(e)&&e.length>0)return Dm(e)}if(n.isExporting){if(r=Ub(a,e),Array.isArray(r))return Dm(r);if(r&&"object"==typeof r)for(const e of Object.keys(r)){const t=r[e];if(Array.isArray(t)&&t.length>0)return Dm(t)}}if(!r){const t=e.startsWith("variables.")?e.slice(10):e;if(t!==e){if(r=Ub(o,t),Array.isArray(r))return Dm(r);if(r&&"object"==typeof r)for(const e of Object.keys(r)){const t=r[e];if(Array.isArray(t)&&t.length>0)return Dm(t)}}}})();if(s?(r=s,e=Array.isArray(t.element.columns)&&t.element.columns.length>0?Dm(t.element.columns):function(e){if(!Array.isArray(e)||0===e.length)return[];const t=e[0];return t&&"object"==typeof t?Object.keys(t).map(e=>({field:e,header:e,width:100})):[]}(s)):(e=Array.isArray(t.element.columns)?Dm(t.element.columns):[],r=Array.isArray(t.element.data)?Dm(t.element.data):[]),n.isExporting&&t.element.footerDataVariable){const e=Lb(t.element.footerDataVariable),r=e?Ub(a,e)??Ub(o,e):void 0;Array.isArray(r)&&(i=r.map((e,r)=>{const n=Array.isArray(t.element.footerData)?t.element.footerData[r]:void 0;if(!n)return Dm(e);const i=Dm(e);return Object.keys(n).forEach(e=>{n[e]&&"object"==typeof n[e]&&("rowSpan"in n[e]||"colSpan"in n[e])&&(void 0===i[e]?i[e]={value:"",rowSpan:n[e].rowSpan,colSpan:n[e].colSpan}:"object"!=typeof i[e]?i[e]={value:i[e],rowSpan:n[e].rowSpan,colSpan:n[e].colSpan}:(i[e].rowSpan=n[e].rowSpan,i[e].colSpan=n[e].colSpan))}),i}))}else if(!n.isExporting&&t.element.footerDataVariable){const e=Lb(t.element.footerDataVariable),r=e?Ub(o,e):void 0;Array.isArray(r)&&(i=r.map((e,r)=>{const n=Array.isArray(t.element.footerData)?t.element.footerData[r]:void 0;if(!n)return Dm(e);const i=Dm(e);return Object.keys(n).forEach(e=>{n[e]&&"object"==typeof n[e]&&("rowSpan"in n[e]||"colSpan"in n[e])&&(void 0===i[e]?i[e]={value:"",rowSpan:n[e].rowSpan,colSpan:n[e].colSpan}:"object"!=typeof i[e]?i[e]={value:i[e],rowSpan:n[e].rowSpan,colSpan:n[e].colSpan}:(i[e].rowSpan=n[e].rowSpan,i[e].colSpan=n[e].colSpan))}),i}))}let l=t.element.customScript;if(n.isExporting&&t.element.customScriptVariable){const e=Lb(t.element.customScriptVariable),r=e?Ub(a,e)??Ub(o,e):void 0;"string"==typeof r&&(l=r)}else if(!n.isExporting&&t.element.customScriptVariable){const e=Lb(t.element.customScriptVariable),r=e?Ub(o,e):void 0;"string"==typeof r&&(l=r)}if(l)try{const t=new Function("data","footerData","columns","type",l)(Dm(r),Dm(i),Dm(e),"global");if(t&&(t.data&&(r=t.data),t.footerData&&(i=t.footerData),t.columns))return{...t,columns:t.columns}}catch(gH){}const u=Dm(i),c=e.map(e=>e.field);return u.forEach(e=>{Object.keys(e).forEach(t=>{const n=e[t];if(n&&"object"==typeof n&&n.field&&c.includes(n.field)){const e=n.field,t=r.reduce((t,r)=>{const n=parseFloat(r[e]);return t+(isNaN(n)?0:n)},0);n.result=t}})}),{columns:e,data:r,footerData:u,scriptContent:l}}),y=Ta(()=>{const e=m.value.data[0];return e&&"object"==typeof e?Object.keys(e).map(e=>({value:e,label:e})):[]}),b=Ta(()=>({color:t.element.style.color||"#000000",fontFamily:t.element.style.fontFamily,borderColor:t.element.style.borderColor||"#000",borderWidth:(t.element.style.borderWidth||1)+"px",borderStyle:t.element.style.borderStyle||"solid"})),w=Ta(()=>"left"===t.element.headerPosition),x=(e,t)=>{if(!e)return"";const r=e[t];if(r&&"object"==typeof r){return(r.value||"")+(void 0!==r.printValue?r.printValue:void 0!==r.result?r.result:"")}return r},_=(e,t)=>{if(!e)return"";if(!n.isExporting&&n.showVariableNames)return`{#${t}}`;const r=e[t];if(r&&"object"==typeof r){return(r.value||"")+(void 0!==r.result?r.result:void 0!==r.printValue?r.printValue:"")}return r},C=(e,t)=>{const r=e[t];return r&&"object"==typeof r&&"rowSpan"in r?r.rowSpan:1},S=(e,t)=>{const r=e[t];return r&&"object"==typeof r&&"colSpan"in r?r.colSpan:1},B=(e,t)=>{const r=e[t];return!r||"object"!=typeof r||0!==r.rowSpan&&0!==r.colSpan},k=(e,t)=>{const r=e[t];return r&&"object"==typeof r&&r.style?r.style:{}},E=Ft({}),I=Ft(null),T=Ft(0),P=Ft(0),M=e=>{if(null===I.value)return;const t=e.clientX-T.value,r=Math.max(20,P.value+t),n=m.value.columns[I.value];E.value[n.field]=r},L=()=>{if(null!==I.value){const e=m.value.columns[I.value],r=E.value[e.field];if(r){const e=[...t.element.columns||[]];e[I.value]&&(e[I.value]={...e[I.value],width:r},n.updateElement(t.element.id,{columns:e}))}}I.value=null,E.value={},window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",L)},D=(e,r,i,o="body")=>{n.selectedElementId===t.element.id&&(e.stopPropagation(),g.value=!0,v.value={rowIndex:r,colField:i,section:o},n.setTableSelection(t.element.id,{rowIndex:r,colField:i,section:o},!1))},N=(e,r,i="body")=>{if(!g.value||!v.value)return;if(v.value.section!==i)return;const o=v.value.rowIndex,a=e,s=m.value.columns.findIndex(e=>e.field===v.value.colField),l=m.value.columns.findIndex(e=>e.field===r);if(-1===s||-1===l)return;const u=Math.min(o,a),c=Math.max(o,a),A=Math.min(s,l),d=Math.max(s,l),h=[];for(let t=u;t<=c;t++)for(let e=A;e<=d;e++)h.push({rowIndex:t,colField:m.value.columns[e].field,section:i});n.setTableSelectionCells(t.element.id,h)},O=()=>{g.value=!1,v.value=null};return ei(()=>{window.addEventListener("mouseup",O)}),ii(()=>{window.removeEventListener("mouseup",O)}),(h,g)=>(Ro(),jo("div",{class:"w-full h-full overflow-hidden",style:G({backgroundColor:e.element.style.backgroundColor||"transparent"})},[w.value?(Ro(),jo("table",{key:1,class:X(["w-full border-collapse",{"h-full":!Qt(n).isExporting}]),"data-tfoot-repeat":e.element.tfootRepeat,"data-auto-paginate":e.element.autoPaginate,"data-custom-script":m.value.scriptContent||e.element.customScript},[Xo("tbody",null,[0===m.value.columns.length?(Ro(),jo("tr",A_,[Xo("td",d_,oe(Qt(r)("properties.label.selectDataField")),1)])):(Ro(!0),jo(Do,{key:1},pi(m.value.columns,(t,r)=>(Ro(),jo("tr",{key:t.field},[Xo("th",{class:"p-1 font-bold text-sm relative group select-none",style:G({...b.value,width:`${E.value[t.field]||t.width}px`,backgroundColor:e.element.style.headerBackgroundColor||"#f3f4f6",color:e.element.style.headerColor||"#000000",fontSize:e.element.style.headerFontSize?`${e.element.style.headerFontSize}px`:void 0,textAlign:e.element.style.headerTextAlign||"left",cursor:Qt(n).selectedElementId===e.element.id?"pointer":"default"}),onDblclick:e=>A(e,r)},oe(t.header),45,h_),(Ro(!0),jo(Do,null,pi(Qt(n).isExporting?m.value.data:m.value.data.slice(0,5),(r,n)=>(Ro(),jo("td",{key:n,class:X(["p-1 select-none",{"bg-blue-100 ring-1 ring-blue-400":o(n,t.field)}]),style:G({...b.value,...k(r,t.field),height:e.element.style.rowHeight?`${e.element.style.rowHeight}px`:void 0,textAlign:e.element.style.textAlign||"left",fontSize:e.element.style.fontSize?`${e.element.style.fontSize}px`:void 0}),rowspan:C(r,t.field),colspan:S(r,t.field),"data-field":t.field,onMousedown:e=>D(e,n,t.field),onMouseover:e=>N(n,t.field)},oe(_(r,t.field)),47,p_))),128)),!Qt(n).isExporting&&m.value.data.length>5?(Ro(),jo("td",{key:0,class:"p-1 text-center text-gray-500 select-none",style:G({...b.value,height:e.element.style.rowHeight?`${e.element.style.rowHeight}px`:void 0})}," ... ",4)):na("",!0)]))),128))]),e.element.showFooter&&m.value.columns.length>0?(Ro(),jo("tfoot",f_,[(Ro(!0),jo(Do,null,pi(m.value.footerData,(t,r)=>(Ro(),jo("tr",{key:"frl"+r},[(Ro(!0),jo(Do,null,pi(m.value.columns,(i,a)=>(Ro(),jo(Do,{key:i.field},[B(t,i.field)?(Ro(),jo("td",{key:0,class:X(["p-1 text-sm font-bold select-none",{"!bg-blue-100 ring-1 ring-blue-400":o(r,i.field,"footer")}]),style:G({...b.value,...k(t,i.field),height:e.element.style.footerHeight?`${e.element.style.footerHeight}px`:void 0,backgroundColor:e.element.style.footerBackgroundColor||"#f9fafb",color:e.element.style.footerColor||"#000000",fontSize:e.element.style.footerFontSize?`${e.element.style.footerFontSize}px`:void 0,textAlign:e.element.style.footerTextAlign||"left",cursor:Qt(n).selectedElementId===e.element.id?"pointer":"default"}),rowspan:C(t,i.field),colspan:S(t,i.field),"data-field":i.field,"data-value":x(t,i.field),onMousedown:e=>D(e,r,i.field,"footer"),onMouseover:e=>N(r,i.field,"footer"),onDblclick:e=>d(e,r,i.field)},oe(_(t,i.field)),47,g_)):na("",!0)],64))),128))]))),128))])):na("",!0)],10,c_)):(Ro(),jo("table",{key:0,class:X(["w-full border-collapse",{"h-full":!Qt(n).isExporting}]),"data-tfoot-repeat":e.element.tfootRepeat,"data-auto-paginate":e.element.autoPaginate,"data-custom-script":m.value.scriptContent||e.element.customScript},[Xo("thead",null,[Xo("tr",null,[(Ro(!0),jo(Do,null,pi(m.value.columns,(r,i)=>(Ro(),jo("th",{key:r.field,class:"p-1 font-bold text-sm relative group select-none",style:G({...b.value,width:`${E.value[r.field]||r.width}px`,height:e.element.style.headerHeight?`${e.element.style.headerHeight}px`:void 0,backgroundColor:e.element.style.headerBackgroundColor||"#f3f4f6",color:e.element.style.headerColor||"#000000",fontSize:e.element.style.headerFontSize?`${e.element.style.headerFontSize}px`:void 0,textAlign:e.element.style.headerTextAlign||"left",cursor:Qt(n).selectedElementId===e.element.id?"pointer":"default"}),onDblclick:e=>A(e,i)},[ta(oe(r.header)+" ",1),Qt(n).selectedElementId===e.element.id&&i<m.value.columns.length-1&&!e.element.locked?(Ro(),jo("div",{key:0,class:X(["absolute -right-1 top-0 bottom-0 w-2 cursor-col-resize hover:bg-blue-400 opacity-0 hover:opacity-100 z-10 transition-opacity",{"bg-blue-400 opacity-100":I.value===i}]),onMousedown:e=>((e,r)=>{if(t.element.locked)return;e.preventDefault(),e.stopPropagation(),I.value=r,T.value=e.clientX;const n=m.value.columns[r];P.value=n.width||100,window.addEventListener("mousemove",M),window.addEventListener("mouseup",L)})(e,i),onClick:g[0]||(g[0]=zs(()=>{},["stop"]))},null,42,e_)):na("",!0)],44,$x))),128))])]),Xo("tbody",null,[0===m.value.columns.length?(Ro(),jo("tr",t_,[Xo("td",r_,oe(Qt(r)("properties.label.selectDataField")),1)])):(Ro(),jo(Do,{key:1},[(Ro(!0),jo(Do,null,pi(Qt(n).isExporting?m.value.data:m.value.data.slice(0,5),(t,r)=>(Ro(),jo("tr",{key:r},[(Ro(!0),jo(Do,null,pi(m.value.columns,n=>(Ro(),jo(Do,{key:n.field},[B(t,n.field)?(Ro(),jo("td",{key:0,class:X(["p-1 select-none",{"bg-blue-100 ring-1 ring-blue-400":o(r,n.field)}]),style:G({...b.value,...k(t,n.field),height:e.element.style.rowHeight?`${e.element.style.rowHeight}px`:void 0,textAlign:e.element.style.textAlign||"left",fontSize:e.element.style.fontSize?`${e.element.style.fontSize}px`:void 0}),rowspan:C(t,n.field),colspan:S(t,n.field),"data-field":n.field,onMousedown:e=>D(e,r,n.field),onMouseover:e=>N(r,n.field)},oe(_(t,n.field)),47,n_)):na("",!0)],64))),128))]))),128)),!Qt(n).isExporting&&m.value.data.length>5?(Ro(),jo("tr",i_,[Xo("td",{colspan:m.value.columns.length,class:"p-1 text-center text-gray-500 select-none",style:G({...b.value,height:e.element.style.rowHeight?`${e.element.style.rowHeight}px`:void 0})}," ... ",12,o_)])):na("",!0)],64)),Qt(n).isExporting?na("",!0):(Ro(),jo("tr",a_,[Xo("td",{colspan:m.value.columns.length||1,class:"border-none p-0"},null,8,s_)]))]),e.element.showFooter?(Ro(),jo("tfoot",l_,[(Ro(!0),jo(Do,null,pi(m.value.footerData,(t,r)=>(Ro(),jo("tr",{key:r},[(Ro(!0),jo(Do,null,pi(m.value.columns,i=>(Ro(),jo(Do,{key:i.field},[B(t,i.field)?(Ro(),jo("td",{key:0,class:X(["p-1 text-sm font-bold select-none",{"!bg-blue-100 ring-1 ring-blue-400":o(r,i.field,"footer")}]),style:G({...b.value,...k(t,i.field),height:e.element.style.footerHeight?`${e.element.style.footerHeight}px`:void 0,backgroundColor:e.element.style.footerBackgroundColor||"#f9fafb",color:e.element.style.footerColor||"#000000",fontSize:e.element.style.footerFontSize?`${e.element.style.footerFontSize}px`:void 0,textAlign:e.element.style.footerTextAlign||"left",cursor:Qt(n).selectedElementId===e.element.id?"pointer":"default"}),rowspan:C(t,i.field),colspan:S(t,i.field),"data-field":i.field,"data-value":x(t,i.field),onMousedown:e=>D(e,r,i.field,"footer"),onMouseover:e=>N(r,i.field,"footer"),onDblclick:e=>d(e,r,i.field)},oe(_(t,i.field)),47,u_)):na("",!0)],64))),128))]))),128))])):na("",!0)],10,Jx)),(Ro(),Go(yn,{to:Qt(i)||"body"},[null!==a.value||s.value?(Ro(),jo("div",{key:0,ref_key:"editFormRef",ref:c,class:"fixed z-[9999] bg-white shadow-xl border border-gray-200 rounded-lg p-4 w-64 flex flex-col gap-3 pointer-events-auto",style:G({top:`${u.value.top}px`,left:`${u.value.left}px`}),onClick:g[5]||(g[5]=zs(()=>{},["stop"]))},[Xo("h4",v_,oe(s.value?Qt(r)("properties.label.editCell"):Qt(r)("properties.label.editColumn")),1),null!==a.value?(Ro(),jo(Do,{key:0},[Xo("div",m_,[Xo("label",y_,oe(Qt(r)("properties.label.headerText")),1),en(Xo("input",{"onUpdate:modelValue":g[1]||(g[1]=e=>l.value.header=e),class:"border border-gray-300 rounded px-2 py-1 text-sm focus:border-blue-500 focus:outline-none",placeholder:Qt(r)("properties.label.headerNamePlaceholder"),onKeydown:Qs(f,["enter"]),autofocus:""},null,40,b_),[[Ms,l.value.header]])]),Xo("div",w_,[Xo("label",x_,oe(Qt(r)("properties.label.fieldKey")),1),en(Xo("select",{"onUpdate:modelValue":g[2]||(g[2]=e=>l.value.field=e),class:"border border-gray-300 rounded px-2 py-1 text-sm focus:border-blue-500 focus:outline-none bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},[Xo("option",__,oe(Qt(r)("properties.label.selectField")),1),(Ro(!0),jo(Do,null,pi(y.value,e=>(Ro(),jo("option",{key:e.value,value:e.value,class:"dark:bg-gray-800 dark:text-gray-200"},oe(e.label),9,C_))),128))],512),[[Ds,l.value.field]])])],64)):na("",!0),s.value?(Ro(),jo(Do,{key:1},[Xo("div",S_,[Xo("label",B_,oe(Qt(r)("properties.label.content")),1),en(Xo("input",{"onUpdate:modelValue":g[3]||(g[3]=e=>l.value.value=e),class:"border border-gray-300 rounded px-2 py-1 text-sm focus:border-blue-500 focus:outline-none",placeholder:Qt(r)("properties.label.displayTextPlaceholder"),onKeydown:Qs(f,["enter"]),autofocus:""},null,40,k_),[[Ms,l.value.value]])]),Xo("div",E_,[Xo("label",I_,oe(Qt(r)("properties.label.variableField")),1),en(Xo("input",{"onUpdate:modelValue":g[4]||(g[4]=e=>l.value.variable=e),class:"border border-gray-300 rounded px-2 py-1 text-sm focus:border-blue-500 focus:outline-none",placeholder:Qt(r)("properties.label.dataFieldPlaceholder"),onKeydown:Qs(f,["enter"])},null,40,T_),[[Ms,l.value.variable]])])],64)):na("",!0),Xo("div",P_,[Xo("button",{onClick:p,class:"px-3 py-1 text-xs text-gray-600 hover:bg-gray-100 rounded"},oe(Qt(r)("common.cancel")),1),Xo("button",{onClick:f,class:"px-3 py-1 text-xs bg-blue-600 text-white hover:bg-blue-700 rounded"},oe(Qt(r)("common.save")),1)])],4)):na("",!0)],8,["to"]))],4))}}),D_={class:"w-full h-full border-collapse table-fixed"},N_={key:0},O_={class:"h-3"},F_=["onMousedown"],U_=["rowspan","colspan","onMousedown","onMouseenter","onDblclick"],z_=["src"],R_={key:0},Q_={class:"flex items-center justify-between mb-3"},H_={class:"text-sm font-medium text-gray-700 dark:text-gray-200"},V_={class:"mb-3"},j_={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},G_={value:"text"},W_={value:"image"},K_={class:"mb-3"},q_={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},Y_={class:"relative"},X_={class:"flex items-center gap-2"},Z_=["value"],J_={class:"space-y-1"},$_={class:"flex items-center justify-between"},eC={class:"text-[10px] text-gray-400"},tC={class:"text-[10px] text-gray-500"},rC={class:"flex gap-2"},nC={key:0,class:"space-y-2 mb-3"},iC={class:"block text-xs text-gray-500 dark:text-gray-400 font-medium"},oC={class:"relative"},aC=["placeholder"],sC={class:"absolute bottom-1 right-1 text-[10px] text-gray-400 dark:text-gray-500 bg-white/80 dark:bg-gray-800/80 px-1 rounded"},lC={class:"flex gap-2"},uC={class:"relative flex-1"},cC={class:"p-2 border-b border-gray-100 dark:border-gray-700 sticky top-0 bg-white dark:bg-gray-800 z-10"},AC={class:"relative"},dC=["value","placeholder"],hC={key:0,class:"px-3 py-4 text-xs text-gray-400 dark:text-gray-500 text-center"},pC=["onMousedown"],fC={class:"relative"},gC={class:"text-[10px] text-gray-400"},vC=["value"],mC={class:"space-y-1"},yC={class:"flex items-center justify-between"},bC={class:"text-[10px] text-gray-400"},wC={class:"text-[10px] text-gray-500"},xC={class:"grid grid-cols-2 gap-2"},_C={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},CC={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},SC={value:"left"},BC={value:"center"},kC={value:"right"},EC={class:"mb-3"},IC={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},TC={class:"space-y-2"},PC={class:"flex flex-col gap-1"},MC={class:"text-[10px] text-gray-400 dark:text-gray-500 text-center"},LC={key:0,class:"text-xs text-red-500 mt-1"},DC={class:"grid grid-cols-2 gap-2 mb-3"},NC={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},OC={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},FC={sections:[{title:"properties.section.customTableSettings",tab:"properties",fields:[{label:"properties.label.customTableRows",type:"number",target:"element",key:"customTableRows",min:1,max:50,step:1},{label:"properties.label.customTableCols",type:"number",target:"element",key:"customTableCols",min:1,max:50,step:1}]},{title:"properties.section.cellOperations",tab:"properties",fields:[]},{title:"properties.section.cellStyle",tab:"style",fields:[{label:"properties.label.backgroundColor",type:"color",target:"style",key:"backgroundColor"},{label:"properties.label.textColor",type:"color",target:"style",key:"color"},{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:8,max:72,step:1},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.align.left",value:"left"},{label:"properties.align.center",value:"center"},{label:"properties.align.right",value:"right"}]}]},{title:"properties.section.border",tab:"style",fields:[{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:20,step:1},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"}]}]},UC=Nn({__name:"CustomTableElement",props:{element:{}},setup(e){const t=e,{t:r}=dh(),n=Wb(),i=Ta(()=>Number(t.element.customTableRows)||3),o=Ta(()=>Number(t.element.customTableCols)||3),a=Ta(()=>Math.max(1,i.value)),s=Ta(()=>Math.max(1,o.value)),l=Ta(()=>t.element.customTableCells||[]);an([a,s],([e,r],[i,o])=>{if(n.isTemplateEditable&&(e<(i||e)||r<(o||r))){const i=Dm(t.element.customTableCells||[]);let o=!1;const a=i.filter(t=>{if(t.row>=e||t.col>=r)return o=!0,!1;const n=t.row+(t.rowSpan||1)-1,i=t.col+(t.colSpan||1)-1;return n>=e&&(t.rowSpan=e-t.row,t.rowSpan<1&&(t.rowSpan=1),o=!0),i>=r&&(t.colSpan=r-t.col,t.colSpan<1&&(t.colSpan=1),o=!0),!0});o&&(n.updateElement(t.element.id,{customTableCells:a}),d.value=[])}});const u=Ta(()=>({border:`${t.element.style.borderWidth||1}px ${t.element.style.borderStyle||"solid"} ${t.element.style.borderColor||"#cccccc"}`,color:t.element.style.color||"#000000",fontSize:`${t.element.style.fontSize||14}px`})),c=Ta(()=>{const e=t.element.customTableColWidths;return Array.isArray(e)&&e.length>0?e:null}),A=Ft([]);an([a,s],()=>{(()=>{if(c.value&&c.value.length===s.value)return void(A.value=[...c.value]);const e=Math.floor((t.element.width||600)/s.value),r=[];for(let t=0;t<s.value;t++)r.push(e);A.value=r})()},{immediate:!0}),an(A,e=>{n.isTemplateEditable&&!t.element.locked&&e.length>0&&n.updateElement(t.element.id,{customTableColWidths:[...e]})},{deep:!0});const d=Ft([]),h=Ft(!1),p=Ft(null),f=(e,t)=>l.value.find(r=>r.row===e&&r.col===t),g=(e,t)=>{for(const r of l.value)if(r.rowSpan>1||r.colSpan>1){const n=r.row+(r.rowSpan||1)-1,i=r.col+(r.colSpan||1)-1;if((r.row!==e||r.col!==t)&&e>=r.row&&e<=n&&t>=r.col&&t<=i)return!1}return!0},v=(e,t)=>d.value.some(r=>r.row===e&&r.col===t),m=(e,t)=>{const r=f(e,t);return(null==r?void 0:r.rowSpan)||1},y=(e,t)=>{const r=f(e,t);return(null==r?void 0:r.colSpan)||1},b=(e,t)=>{const r=f(e,t);return r&&"image"===r.contentType&&r.imageUrl||""},w=(e,t)=>{const r=f(e,t);if(!(null==r?void 0:r.style))return{};const n={};if(r.style.fontSize&&(n.fontSize=`${r.style.fontSize}px`),r.style.color&&(n.color=r.style.color),r.style.fontWeight&&(n.fontWeight=r.style.fontWeight),r.style.fontStyle&&(n.fontStyle=r.style.fontStyle),r.style.textAlign&&(n.textAlign=r.style.textAlign),r.style.backgroundColor){const e=r.style.backgroundColor;if(e.includes(",")){const t=e.split(","),r=t[0],i=parseFloat(t[1])||1;n.backgroundColor=ee(r,i)}else n.backgroundColor=e}return n},x=()=>{h.value=!1,p.value=null};an(d,e=>{n.selectedElementId===t.element.id&&n.setCustomTableSelection(t.element.id,e)},{deep:!0}),an(()=>n.selectedElementId,e=>{e!==t.element.id&&(d.value=[])});const _=Ta(()=>{const e=[],t=n.availableVariables||[],r=t=>{for(const n of t)n.isArray||e.push({id:n.id,label:n.label||n.id}),n.children&&n.children.length>0&&r(n.children)};return r(t),e}),C=Ta(()=>{if(!F.value.trim())return _.value;const e=F.value.toLowerCase();return _.value.filter(t=>t.id.toLowerCase().includes(e)||t.label.toLowerCase().includes(e))}),S=()=>{N.value=!N.value,O.value=!1,N.value&&(F.value="",setTimeout(()=>{var e;null==(e=L.value)||e.focus()},50))},B=()=>{O.value=!O.value,N.value=!1},k=e=>{F.value=e.target.value},E=e=>{e.target.classList.contains("field-list-container")&&(e.stopPropagation(),j.value=!0)},I=Ft(null),T=Ft({contentType:"text",text:"",field:"",imageUrl:"",imageWidth:50,imageHeight:50,textAlign:"left",backgroundColor:"",fontSize:14}),P=Ft(null),M=Ft(null),L=Ft(null),D=Ft(null),N=Ft(!1),O=Ft(!1),F=Ft(""),U=Ft("#ff0000"),z=Ft(1),R=Ft(null),Q=Ft("#ffffff"),H=Ft(1),V=Ft(!1),j=Ft(!1),W=/\{#([^}]+)\}/g,K=(e,t)=>{const r=f(e,t);if(!r||"image"===r.contentType)return[];let i=r.text||"";i=i.replace(W,(e,t)=>{if(n.showVariableNames)return`{#${t}}`;const r=Ub(n.testData,t.trim());return null!=r?String(r):`{#${t}}`});const o=[],a=new RegExp(/\[color=([^\]]+)\]([\s\S]*?)\[\/color\]/g);let s,l=0;for(;null!==(s=a.exec(i));){s.index>l&&o.push({text:i.substring(l,s.index)});const e=s[1];let t=e,r=1;if(e.includes(",alpha=")){const n=e.split(",alpha=");t=n[0],r=parseFloat(n[1])||1}o.push({text:s[2],color:t,alpha:r}),l=s.index+s[0].length}return l<i.length&&o.push({text:i.substring(l)}),o},q=Ft({top:0,left:0}),Y=Ft(null),Z=Ft(null),J=Ft(""),$=()=>{var e;null==(e=Z.value)||e.click()},ee=(e,t)=>`rgba(${parseInt(e.slice(1,3),16)}, ${parseInt(e.slice(3,5),16)}, ${parseInt(e.slice(5,7),16)}, ${t})`,te=()=>{V.value=!V.value,V.value&&(Q.value=T.value.backgroundColor||"#ffffff",H.value=1)},re=()=>{let e=Q.value;e=H.value<1?e+","+H.value:Q.value,T.value.backgroundColor=e,V.value=!1},ne=e=>{Q.value=e.target.value},ie=e=>{H.value=parseFloat(e.target.value)},ae=e=>{var t;const n=e.target,i=null==(t=n.files)?void 0:t[0];if(!i)return;if(J.value="",i.size>2097152)return J.value=r("properties.image.sizeError"),void(n.value="");const o=new FileReader;o.onload=e=>{var t;const r=null==(t=e.target)?void 0:t.result;T.value.imageUrl=r,ue()},o.onerror=()=>{J.value=r("properties.image.readError")},o.readAsDataURL(i),n.value=""},se=e=>{Y.value&&!Y.value.contains(e.target)&&le(),j.value?j.value=!1:(N.value&&M.value&&!M.value.contains(e.target)&&(N.value=!1,F.value=""),O.value&&D.value&&!D.value.contains(e.target)&&(O.value=!1),V.value&&R.value&&!R.value.contains(e.target)&&(V.value=!1))},le=()=>{I.value=null,N.value=!1,O.value=!1,V.value=!1,F.value="",window.removeEventListener("click",se)},ue=()=>{if(!I.value)return;const{row:e,col:r}=I.value,i=Dm(l.value),o=i.findIndex(t=>t.row===e&&t.col===r),a=o>=0?i[o]:null,s={row:e,col:r,rowSpan:(null==a?void 0:a.rowSpan)||1,colSpan:(null==a?void 0:a.colSpan)||1,contentType:T.value.contentType};"image"===T.value.contentType?(s.imageUrl=T.value.imageUrl,s.imageWidth=T.value.imageWidth,s.imageHeight=T.value.imageHeight):s.text=T.value.text,s.style={...(null==a?void 0:a.style)||{},..."text"===T.value.contentType||"field"===T.value.contentType?{textAlign:T.value.textAlign,fontSize:T.value.fontSize}:{},...T.value.backgroundColor?{backgroundColor:T.value.backgroundColor}:{}},o>=0?i[o]={...i[o],...s}:i.push(s),n.updateElement(t.element.id,{customTableCells:i})};let ce=!1;an(T,()=>{I.value&&(ce?ce=!1:ue())},{deep:!0});const Ae=()=>{n.selectedElementId===t.element.id&&(d.value=[])};return ei(()=>{window.addEventListener("mouseup",x)}),ii(()=>{window.removeEventListener("mouseup",x)}),(i,o)=>(Ro(),jo("div",{class:"w-full h-full overflow-hidden",style:G({backgroundColor:e.element.style.backgroundColor||"transparent"}),onClick:zs(Ae,["self"])},[Xo("table",D_,[Xo("colgroup",null,[(Ro(!0),jo(Do,null,pi(A.value,(e,t)=>(Ro(),jo("col",{key:t,style:G({width:e+"px"})},null,4))),128))]),Qt(n).isTemplateEditable&&Qt(n).selectedElementId===e.element.id&&!e.element.locked?(Ro(),jo("thead",N_,[Xo("tr",O_,[(Ro(!0),jo(Do,null,pi(A.value,(e,r)=>(Ro(),jo("th",{key:r,class:"relative p-0"},[r<A.value.length-1?(Ro(),jo("div",{key:0,class:"absolute -right-0.5 top-0 bottom-0 w-1 cursor-col-resize hover:bg-blue-400 z-10",onMousedown:e=>((e,r)=>{if(!n.isTemplateEditable||t.element.locked)return;e.preventDefault(),e.stopPropagation();const i=e.clientX,o=A.value[r],a=e=>{const t=e.clientX-i,n=Math.max(20,o+t),a=[...A.value];a[r]=n,A.value=a},s=()=>{window.removeEventListener("mousemove",a),window.removeEventListener("mouseup",s)};window.addEventListener("mousemove",a),window.addEventListener("mouseup",s)})(e,r)},null,40,F_)):na("",!0)]))),128))])])):na("",!0),Xo("tbody",null,[(Ro(!0),jo(Do,null,pi(a.value,r=>(Ro(),jo("tr",{key:r},[(Ro(!0),jo(Do,null,pi(s.value,i=>{var o,a,s,l,c;return en((Ro(),jo("td",{key:i,class:X(["p-1 text-sm select-none relative",{"!bg-blue-100 ring-1 ring-blue-400":v(r-1,i-1),"cursor-pointer":Qt(n).selectedElementId===e.element.id&&!e.element.locked}]),style:G({...u.value,...w(r-1,i-1)}),rowspan:m(r-1,i-1),colspan:y(r-1,i-1),onMousedown:e=>((e,r,i)=>{if(n.selectedElementId===t.element.id&&!t.element.locked&&0===e.button)if(e.stopPropagation(),h.value=!0,p.value={row:r,col:i},e.ctrlKey||e.metaKey){const e=d.value.findIndex(e=>e.row===r&&e.col===i);e>=0?d.value.splice(e,1):d.value.push({row:r,col:i})}else d.value=[{row:r,col:i}]})(e,r-1,i-1),onMouseenter:()=>((e,t)=>{if(!h.value||!p.value)return;const r=Math.min(p.value.row,e),n=Math.max(p.value.row,e),i=Math.min(p.value.col,t),o=Math.max(p.value.col,t),a=[];for(let s=r;s<=n;s++)for(let e=i;e<=o;e++)a.push({row:s,col:e});d.value=a})(r-1,i-1),onDblclick:e=>((e,r,i)=>{var o,a,s;if(n.selectedElementId!==t.element.id||t.element.locked)return;const l=f(r,i);I.value={row:r,col:i},ce=!0;let u="";"text"===(null==l?void 0:l.contentType)&&(null==l?void 0:l.text)?u=l.text:"field"===(null==l?void 0:l.contentType)&&(null==l?void 0:l.field)?u="{#"+l.field+"}":"image"===(null==l?void 0:l.contentType)&&(u="");let c=(null==(o=null==l?void 0:l.style)?void 0:o.backgroundColor)||"",A="#ffffff",d=1;if(c){if(c.includes(",")){const e=c.split(",");A=e[0],d=parseFloat(e[1])||1}else A=c;Q.value=A,H.value=d}T.value={contentType:(null==l?void 0:l.contentType)||"text",text:u,field:(null==l?void 0:l.field)||"",imageUrl:(null==l?void 0:l.imageUrl)||"",imageWidth:(null==l?void 0:l.imageWidth)||50,imageHeight:(null==l?void 0:l.imageHeight)||50,textAlign:(null==(a=null==l?void 0:l.style)?void 0:a.textAlign)||"left",backgroundColor:c,fontSize:(null==(s=null==l?void 0:l.style)?void 0:s.fontSize)||14},q.value={top:e.clientY+10,left:e.clientX+10},br(()=>{if(Y.value){const e=Y.value.getBoundingClientRect();q.value.left+e.width>window.innerWidth&&(q.value.left=window.innerWidth-e.width-20),q.value.top+e.height>window.innerHeight&&(q.value.top=window.innerHeight-e.height-20)}}),setTimeout(()=>{window.addEventListener("click",se)},100)})(e,r-1,i-1)},["image"===(null==(o=f(r-1,i-1))?void 0:o.contentType)&&b(r-1,i-1)?(Ro(),jo("img",{key:0,src:b(r-1,i-1),style:G({width:(null==(a=f(r-1,i-1))?void 0:a.imageWidth)?`${null==(s=f(r-1,i-1))?void 0:s.imageWidth}px`:"auto",height:(null==(l=f(r-1,i-1))?void 0:l.imageHeight)?`${null==(c=f(r-1,i-1))?void 0:c.imageHeight}px`:"auto",maxWidth:"100%",objectFit:"contain"}),alt:""},null,12,z_)):(Ro(),jo(Do,{key:1},[(Ro(!0),jo(Do,null,pi(K(r-1,i-1),(e,t)=>{var n,o,a,s,l,u,c,A;return Ro(),jo("span",{key:t,style:G(e.color?{color:void 0!==e.alpha&&e.alpha<1?ee(e.color,e.alpha):e.color,fontSize:(null==(o=null==(n=f(r-1,i-1))?void 0:n.style)?void 0:o.fontSize)?`${null==(s=null==(a=f(r-1,i-1))?void 0:a.style)?void 0:s.fontSize}px`:"inherit"}:{fontSize:(null==(u=null==(l=f(r-1,i-1))?void 0:l.style)?void 0:u.fontSize)?`${null==(A=null==(c=f(r-1,i-1))?void 0:c.style)?void 0:A.fontSize}px`:"inherit"})},oe(e.text),5)}),128)),0===K(r-1,i-1).length?(Ro(),jo("span",R_," ")):na("",!0)],64))],46,U_)),[[as,g(r-1,i-1)]])}),128))]))),128))])]),(Ro(),Go(yn,{to:"body"},[I.value?(Ro(),jo("div",{key:0,ref_key:"editFormRef",ref:Y,class:"fixed z-[3000] bg-white dark:bg-gray-800 rounded-lg shadow-xl border border-gray-200 dark:border-gray-700 p-4 min-w-[320px]",style:G({top:q.value.top+"px",left:q.value.left+"px"}),onClick:o[15]||(o[15]=zs(()=>{},["stop"]))},[Xo("div",Q_,[Xo("span",H_,oe(Qt(r)("properties.label.editCell"))+" ("+oe(I.value.row+1)+", "+oe(I.value.col+1)+") ",1),Xo("button",{onClick:le,class:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 text-lg leading-none"}," × ")]),Xo("div",V_,[Xo("label",j_,oe(Qt(r)("properties.label.cellContentType")),1),en(Xo("select",{"onUpdate:modelValue":o[0]||(o[0]=e=>T.value.contentType=e),class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md text-sm bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200"},[Xo("option",G_,oe(Qt(r)("properties.option.cellTypeText")),1),Xo("option",W_,oe(Qt(r)("properties.option.cellTypeImage")),1)],512),[[Ds,T.value.contentType]])]),Xo("div",K_,[Xo("label",q_,oe(Qt(r)("properties.label.cellBackgroundColor")),1),Xo("div",Y_,[Xo("div",X_,[Xo("button",{type:"button",onClick:te,class:"w-10 h-10 border border-gray-300 dark:border-gray-600 rounded cursor-pointer overflow-hidden relative"},[o[16]||(o[16]=Xo("div",{class:"absolute inset-0 checkerboard"},null,-1)),Xo("div",{class:"absolute inset-0",style:G({backgroundColor:Q.value,opacity:H.value})},null,4)]),en(Xo("input",{"onUpdate:modelValue":o[1]||(o[1]=e=>T.value.backgroundColor=e),type:"text",class:"flex-1 px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md text-sm bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200",placeholder:"#ffffff"},null,512),[[Ms,T.value.backgroundColor]]),T.value.backgroundColor?(Ro(),jo("button",{key:0,onClick:o[2]||(o[2]=e=>{T.value.backgroundColor="",Q.value="#ffffff",H.value=1}),class:"px-2 py-1 text-xs text-gray-500 hover:text-gray-700 dark:hover:text-gray-300"},oe(Qt(r)("properties.label.clear")),1)):na("",!0)]),V.value?(Ro(),jo("div",{key:0,ref_key:"bgColorPickerRef",ref:R,class:"absolute left-0 top-full mt-1 z-50 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg p-3 flex flex-col gap-2 min-w-[200px]"},[Xo("input",{type:"color",value:Q.value,onInput:ne,class:"w-full h-12 cursor-pointer border-0 p-0 rounded"},null,40,Z_),Xo("div",J_,[Xo("div",$_,[Xo("span",eC,oe(Qt(r)("properties.label.opacity")),1),Xo("span",tC,oe(Math.round(100*H.value))+"%",1)]),en(Xo("input",{type:"range",min:"0",max:"1",step:"0.05","onUpdate:modelValue":o[3]||(o[3]=e=>H.value=e),onInput:ie,class:"w-full h-2 bg-gradient-to-r from-transparent to-current rounded cursor-pointer",style:G({background:`linear-gradient(to right, transparent, ${Q.value})`})},null,36),[[Ms,H.value,void 0,{number:!0}]])]),Xo("div",rC,[Xo("button",{onClick:o[4]||(o[4]=e=>V.value=!1),class:"flex-1 text-xs px-3 py-1.5 border border-gray-300 dark:border-gray-600 rounded hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors"},oe(Qt(r)("common.cancel")),1),Xo("button",{onClick:re,class:"flex-1 text-xs bg-blue-500 text-white px-3 py-1.5 rounded hover:bg-blue-600 transition-colors"},oe(Qt(r)("common.confirm")),1)])],512)):na("",!0)])]),"image"!==T.value.contentType?(Ro(),jo("div",nC,[Xo("label",iC,oe(Qt(r)("properties.label.cellText")),1),Xo("div",oC,[en(Xo("textarea",{ref_key:"textareaRef",ref:P,"onUpdate:modelValue":o[5]||(o[5]=e=>T.value.text=e),placeholder:Qt(r)("properties.label.displayTextPlaceholder"),class:"w-full px-3 py-2 text-sm border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none h-32 resize-y bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},null,8,aC),[[Ms,T.value.text]]),Xo("div",sC,oe((T.value.text||"").length),1)]),Xo("div",lC,[Xo("div",uC,[Xo("button",{type:"button",onMousedown:zs(S,["prevent"]),class:"w-full flex items-center justify-center gap-1.5 py-1.5 text-xs border border-dashed border-gray-300 dark:border-gray-600 rounded hover:border-blue-400 hover:text-blue-600 dark:hover:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20 transition-colors text-gray-500 dark:text-gray-400"},[o[17]||(o[17]=Xo("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),ta(" "+oe(Qt(r)("properties.label.insertField")),1)],32),N.value?(Ro(),jo("div",{key:0,ref_key:"fieldDropdownRef",ref:M,class:"absolute left-0 right-0 top-full mt-1 z-50 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg"},[Xo("div",cC,[Xo("div",AC,[o[18]||(o[18]=Xo("svg",{class:"absolute left-2 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),Xo("input",{ref_key:"fieldSearchRef",ref:L,type:"text",value:F.value,onInput:k,onMousedown:o[6]||(o[6]=zs(()=>{},["stop"])),placeholder:Qt(r)("properties.label.searchField"),class:"w-full pl-8 pr-3 py-1.5 text-xs border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 placeholder-gray-400 dark:placeholder-gray-500"},null,40,dC)])]),Xo("div",{class:"field-list-container max-h-48 overflow-auto",onMousedown:E},[0===C.value.length?(Ro(),jo("div",hC,oe(Qt(r)("common.noData")),1)):na("",!0),(Ro(!0),jo(Do,null,pi(C.value,e=>(Ro(),jo("button",{key:e.id,onMousedown:zs(t=>(e=>{const t="{#"+e+"}",r=P.value;if(!r)return;const n=r.selectionStart,i=r.selectionEnd,o=T.value.text||"",a=o.substring(0,n)+t+o.substring(i);T.value.text=a,N.value=!1,F.value="",br(()=>{r.focus();const e=n+t.length;r.setSelectionRange(e,e)})})(e.id),["prevent"]),class:"w-full text-left px-3 py-1.5 text-xs text-gray-700 dark:text-gray-300 hover:bg-blue-50 dark:hover:bg-blue-900/30 hover:text-blue-700 dark:hover:text-blue-400 transition-colors whitespace-nowrap overflow-hidden text-overflow-ellipsis"},oe(e.label),41,pC))),128))],32)],512)):na("",!0)]),Xo("div",fC,[Xo("button",{type:"button",onMousedown:zs(B,["prevent"]),class:"flex items-center justify-center gap-1.5 py-1.5 px-3 text-xs border border-dashed border-gray-300 dark:border-gray-600 rounded hover:border-pink-400 hover:text-pink-600 dark:hover:text-pink-400 hover:bg-pink-50 dark:hover:bg-pink-900/20 transition-colors text-gray-500 dark:text-gray-400 whitespace-nowrap"},[o[19]||(o[19]=Xo("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})],-1)),ta(" "+oe(Qt(r)("properties.label.textColor")),1)],32),O.value?(Ro(),jo("div",{key:0,ref_key:"colorPickerRef",ref:D,class:"absolute right-0 top-full mt-1 z-50 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg p-2 flex flex-col gap-2 min-w-[160px]"},[Xo("span",gC,oe(Qt(r)("properties.label.textColor")),1),Xo("input",{type:"color",value:U.value,onInput:o[7]||(o[7]=e=>U.value=e.target.value),class:"w-full h-8 cursor-pointer border-0 p-0 rounded"},null,40,vC),Xo("div",mC,[Xo("div",yC,[Xo("span",bC,oe(Qt(r)("properties.label.opacity")),1),Xo("span",wC,oe(Math.round(100*z.value))+"%",1)]),en(Xo("input",{type:"range",min:"0",max:"1",step:"0.05","onUpdate:modelValue":o[8]||(o[8]=e=>z.value=e),class:"w-full h-2 bg-gradient-to-r from-transparent to-current rounded cursor-pointer",style:G({background:`linear-gradient(to right, transparent, ${U.value})`})},null,4),[[Ms,z.value,void 0,{number:!0}]])]),Xo("button",{onMousedown:o[9]||(o[9]=zs(e=>((e,t=1)=>{const r=P.value;if(!r)return;const n=r.selectionStart,i=r.selectionEnd;if(n===i)return void(O.value=!1);const o=T.value.text||"",a=o.substring(n,i);let s;s=t<1?"[color="+e+",alpha="+t+"]"+a+"[/color]":"[color="+e+"]"+a+"[/color]";const l=o.substring(0,n)+s+o.substring(i);U.value=e,z.value=t,T.value.text=l,O.value=!1,br(()=>{r.focus();const e=n+s.length;r.setSelectionRange(e,e)})})(U.value,z.value),["prevent"])),class:"w-full text-xs bg-pink-500 text-white px-3 py-1 rounded hover:bg-pink-600 transition-colors"},oe(Qt(r)("common.confirm")),33)],512)):na("",!0)])]),Xo("div",xC,[Xo("div",null,[Xo("label",_C,oe(Qt(r)("properties.label.fontSize")),1),en(Xo("input",{"onUpdate:modelValue":o[10]||(o[10]=e=>T.value.fontSize=e),type:"number",min:"8",max:"72",class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md text-sm bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200"},null,512),[[Ms,T.value.fontSize,void 0,{number:!0}]])]),Xo("div",null,[Xo("label",CC,oe(Qt(r)("properties.label.textAlign")),1),en(Xo("select",{"onUpdate:modelValue":o[11]||(o[11]=e=>T.value.textAlign=e),class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md text-sm bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200"},[Xo("option",SC,oe(Qt(r)("properties.align.left")),1),Xo("option",BC,oe(Qt(r)("properties.align.center")),1),Xo("option",kC,oe(Qt(r)("properties.align.right")),1)],512),[[Ds,T.value.textAlign]])])])])):na("",!0),"image"===T.value.contentType?(Ro(),jo(Do,{key:1},[Xo("div",EC,[Xo("label",IC,oe(Qt(r)("properties.label.cellImageUrl")),1),Xo("div",TC,[en(Xo("input",{"onUpdate:modelValue":o[12]||(o[12]=e=>T.value.imageUrl=e),type:"text",class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200",placeholder:"https://..."},null,512),[[Ms,T.value.imageUrl]]),Xo("div",PC,[Xo("button",{type:"button",onClick:$,class:"w-full py-1.5 px-3 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 border border-gray-300 dark:border-gray-700 rounded hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 flex items-center justify-center gap-2 transition-colors"},[o[20]||(o[20]=Xo("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12"})],-1)),ta(" "+oe(Qt(r)("properties.image.uploadBtn")),1)]),Xo("span",MC,oe(Qt(r)("properties.image.uploadTip")),1)]),J.value?(Ro(),jo("p",LC,oe(J.value),1)):na("",!0),Xo("input",{ref_key:"imageFileInput",ref:Z,type:"file",accept:"image/*",class:"hidden",onChange:ae},null,544)])]),Xo("div",DC,[Xo("div",null,[Xo("label",NC,oe(Qt(r)("properties.label.cellImageWidth")),1),en(Xo("input",{"onUpdate:modelValue":o[13]||(o[13]=e=>T.value.imageWidth=e),type:"number",min:"10",max:"500",class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md text-sm bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200"},null,512),[[Ms,T.value.imageWidth,void 0,{number:!0}]])]),Xo("div",null,[Xo("label",OC,oe(Qt(r)("properties.label.cellImageHeight")),1),en(Xo("input",{"onUpdate:modelValue":o[14]||(o[14]=e=>T.value.imageHeight=e),type:"number",min:"10",max:"500",class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md text-sm bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200"},null,512),[[Ms,T.value.imageHeight,void 0,{number:!0}]])])])],64)):na("",!0)],4)):na("",!0)]))],4))}}),zC=(e,t)=>{const r=e.__vccOpts||e;for(const[n,i]of t)r[n]=i;return r},RC=zC(UC,[["__scopeId","data-v-3195d91b"]]),QC={class:"page-number-text"},HC={sections:[{title:"properties.section.labelContent",tab:"properties",fields:[{label:"properties.label.labelText",type:"text",target:"element",key:"labelText",placeholder:"properties.label.labelTextPlaceholder"},{label:"properties.label.labelPosition",type:"select",target:"element",key:"labelPosition",options:[{label:"properties.option.before",value:"before"},{label:"properties.option.after",value:"after"}]},{label:"properties.label.pageFormat",type:"select",target:"element",key:"format",options:[{label:"properties.option.numberOnly",value:"1"},{label:"properties.option.page1",value:"Page 1"},{label:"properties.option.oneTotal",value:"1/Total"}]}]},{title:"properties.section.paginationTypography",tab:"style",fields:[{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:8,max:96,step:1},{label:"properties.label.color",type:"color",target:"style",key:"color"},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.option.default",value:""},{label:"properties.option.left",value:"left"},{label:"properties.option.center",value:"center"},{label:"properties.option.right",value:"right"}]},{label:"properties.label.fontFamily",type:"select",target:"style",key:"fontFamily",options:[{label:"properties.option.default",value:""},{label:"properties.option.arial",value:"Arial, sans-serif"},{label:"properties.option.timesNewRoman",value:'"Times New Roman", serif'},{label:"properties.option.courierNew",value:'"Courier New", monospace'},{label:"properties.option.simSun",value:"SimSun, serif"},{label:"properties.option.simHei",value:"SimHei, sans-serif"}]},{label:"properties.label.fontWeight",type:"select",target:"style",key:"fontWeight",options:[{label:"properties.option.default",value:""},{label:"properties.option.normal",value:"400"},{label:"properties.option.medium",value:"500"},{label:"properties.option.bold",value:"700"}]}]},{title:"properties.section.labelStyle",tab:"style",fields:[{label:"properties.label.labelFontSize",type:"number",target:"element",key:"labelFontSize",min:8,max:96,step:1},{label:"properties.label.labelColor",type:"color",target:"element",key:"labelColor"},{label:"properties.label.labelFontFamily",type:"select",target:"element",key:"labelFontFamily",options:[{label:"properties.option.default",value:""},{label:"properties.option.arial",value:"Arial, sans-serif"},{label:"properties.option.timesNewRoman",value:'"Times New Roman", serif'},{label:"properties.option.courierNew",value:'"Courier New", monospace'},{label:"properties.option.simSun",value:"SimSun, serif"},{label:"properties.option.simHei",value:"SimHei, sans-serif"}]},{label:"properties.label.labelFontWeight",type:"select",target:"element",key:"labelFontWeight",options:[{label:"properties.option.default",value:""},{label:"properties.option.normal",value:"400"},{label:"properties.option.medium",value:"500"},{label:"properties.option.bold",value:"700"}]},{label:"properties.label.labelBackgroundColor",type:"color",target:"element",key:"labelBackgroundColor"},{label:"properties.label.labelBorderStyle",type:"select",target:"element",key:"labelBorderStyle",options:[{label:"properties.option.none",value:""},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.labelBorderWidth",type:"number",target:"element",key:"labelBorderWidth",min:0,max:20,step:1},{label:"properties.label.labelBorderColor",type:"color",target:"element",key:"labelBorderColor"}]},{title:"properties.section.frameBorder",tab:"style",fields:[{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:20,step:1},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"}]}]},VC=Nn({__name:"PageNumberElement",props:{element:{},pageIndex:{},totalPages:{}},setup(e){const t=e,{t:r}=dh(),n=Ta(()=>{const e=t.pageIndex+1,n=t.totalPages||1;switch(t.element.format||"1/Total"){case"1":return`${e}`;case"Page 1":return r("properties.option.page1").replace("1",e.toString());default:return`${e}/${n}`}});return(t,r)=>(Ro(),jo("div",{class:"w-full h-full overflow-hidden","data-print-type":"page-number",style:G({fontSize:`${e.element.style.fontSize}px`,fontFamily:e.element.style.fontFamily,fontWeight:e.element.style.fontWeight,fontStyle:e.element.style.fontStyle,textAlign:e.element.style.textAlign,color:e.element.style.color,padding:`${e.element.style.padding||0}px`})},[e.element.labelText&&"after"!==e.element.labelPosition?(Ro(),jo("span",{key:0,style:G({fontSize:e.element.labelFontSize?`${e.element.labelFontSize}px`:void 0,fontFamily:e.element.labelFontFamily||void 0,fontWeight:e.element.labelFontWeight||void 0,color:e.element.labelColor||void 0,backgroundColor:e.element.labelBackgroundColor||"transparent",borderStyle:e.element.labelBorderStyle||"none",borderWidth:`${e.element.labelBorderWidth||0}px`,borderColor:e.element.labelBorderColor||"transparent",marginRight:"4px",padding:"0 4px"})},oe(e.element.labelText),5)):na("",!0),Xo("span",QC,oe(n.value),1),e.element.labelText&&"after"===e.element.labelPosition?(Ro(),jo("span",{key:1,style:G({fontSize:e.element.labelFontSize?`${e.element.labelFontSize}px`:void 0,fontFamily:e.element.labelFontFamily||void 0,fontWeight:e.element.labelFontWeight||void 0,color:e.element.labelColor||void 0,backgroundColor:e.element.labelBackgroundColor||"transparent",borderStyle:e.element.labelBorderStyle||"none",borderWidth:`${e.element.labelBorderWidth||0}px`,borderColor:e.element.labelBorderColor||"transparent",marginLeft:"4px",padding:"0 4px"})},oe(e.element.labelText),5)):na("",!0)],4))}}),jC={class:"w-full h-full flex items-center justify-center overflow-hidden"},GC={sections:[{title:"properties.section.content",tab:"properties",fields:[{label:"properties.label.content",type:"text",target:"element",key:"content",placeholder:"properties.label.barcodeContentPlaceholder"}]},{title:"properties.section.barcodeSettings",tab:"style",fields:[{label:"properties.label.format",type:"select",target:"style",key:"barcodeFormat",options:[{label:"properties.option.code128",value:"CODE128"},{label:"properties.option.ean13",value:"EAN13"},{label:"properties.option.upc",value:"UPC"},{label:"properties.option.code39",value:"CODE39"},{label:"properties.option.itf14",value:"ITF14"},{label:"properties.option.msi",value:"MSI"},{label:"properties.option.pharmacode",value:"pharmacode"}]},{label:"properties.label.showText",type:"select",target:"style",key:"showText",options:[{label:"properties.option.yes",value:!0},{label:"properties.option.no",value:!1}]},{label:"properties.label.color",type:"color",target:"style",key:"color"},{label:"properties.label.lineWidth",type:"number",target:"style",key:"barcodeWidth",placeholder:"2"},{label:"properties.label.barcodeHeight",type:"number",target:"style",key:"barcodeHeight",placeholder:"40"},{label:"properties.label.margin",type:"number",target:"style",key:"margin",placeholder:"0"},{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",placeholder:"20"},{label:"properties.label.textPosition",type:"select",target:"style",key:"textPosition",options:[{label:"properties.option.bottom",value:"bottom"},{label:"properties.option.top",value:"top"}]},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.option.left",value:"left"},{label:"properties.option.center",value:"center"},{label:"properties.option.right",value:"right"}]}]}]},WC=Nn({__name:"BarcodeElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=nn("registerRenderTask",null),i=Ft(null),o=Ta(()=>{const e=t.element.variable||"",n=r.variables||{};if(r.isExporting&&e){const t=Lb(e);if(t){const e=Ub(n,t);if(null!=e)return String(e);const i=Ub(r.testData,t);if(null!=i)return String(i)}}if(!r.isExporting&&t.element.variable){if(r.showVariableNames){const e=Lb(t.element.variable);return e?`{#${e}}`:t.element.variable||t.element.content||"12345678"}const e=Lb(t.element.variable);if(e){const t=Ub(r.testData,e);if(null!=t)return String(t)}}return t.element.variable||t.element.content||"12345678"}),a=async()=>{if(i.value)try{const e=await Promise.resolve().then(()=>VG),r=(null==e?void 0:e.default)||e,n=o.value,a=t.element.style;r(i.value,n,{format:a.barcodeFormat||"CODE128",lineColor:a.color||"#000000",width:Number(a.barcodeWidth)||2,height:Number(a.barcodeHeight)||40,displayValue:!1!==a.showText&&"false"!==a.showText,fontOptions:a.fontOptions||"",font:a.font||"monospace",textAlign:a.textAlign||"center",textPosition:a.textPosition||"bottom",textMargin:Number(a.textMargin)||2,fontSize:Number(a.fontSize)||20,background:"transparent",margin:Number(a.margin)||0})}catch(gH){}};return ei(()=>{const e=br().then(a);n&&n(e)}),an(()=>[t.element.content,t.element.variable,t.element.style,r.isExporting,r.testData,r.variables],()=>{const e=br().then(a);n&&n(e)},{deep:!0}),(e,t)=>(Ro(),jo("div",jC,[Xo("img",{ref_key:"barcodeRef",ref:i,class:"w-full h-full object-contain pointer-events-none"},null,512)]))}}),KC={class:"w-full h-full flex items-center justify-center overflow-hidden"},qC=["src"],YC={sections:[{title:"properties.section.content",tab:"properties",fields:[{label:"properties.label.content",type:"text",target:"element",key:"content",placeholder:"properties.label.qrContentPlaceholder"}]},{title:"properties.section.qrSettings",tab:"style",fields:[{label:"properties.label.errorCorrection",type:"select",target:"style",key:"qrErrorCorrection",options:[{label:"properties.option.eccLow",value:"L"},{label:"properties.option.eccMedium",value:"M"},{label:"properties.option.eccQuartile",value:"Q"},{label:"properties.option.eccHigh",value:"H"}]},{label:"properties.label.color",type:"color",target:"style",key:"color"}]}]},XC=Nn({__name:"QRCodeElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=nn("registerRenderTask",null),i=Ft(""),o=Ta(()=>{const e=t.element.variable||"",n=r.variables||{};if(r.isExporting&&e){const t=Lb(e);if(t){const e=Ub(n,t);if(null!=e)return String(e);const i=Ub(r.testData,t);if(null!=i)return String(i)}}if(!r.isExporting&&t.element.variable){if(r.showVariableNames){const e=Lb(t.element.variable);return e?`{#${e}}`:t.element.variable||t.element.content||"https://example.com"}const e=Lb(t.element.variable);if(e){const t=Ub(r.testData,e);if(null!=t)return String(t)}}return t.element.variable||t.element.content||"https://example.com"}),a=async()=>{try{const e=await Promise.resolve().then(()=>aK),r=(null==e?void 0:e.default)||e,n=o.value;i.value=await r.toDataURL(n,{margin:0,color:{dark:t.element.style.color||"#000000",light:"#00000000"},errorCorrectionLevel:t.element.style.qrErrorCorrection||"M"})}catch(gH){}};return ei(()=>{const e=br().then(a);n&&n(e)}),an(()=>[t.element.content,t.element.variable,t.element.style,r.isExporting,r.testData,r.variables],()=>{const e=br().then(a);n&&n(e)},{deep:!0}),(e,t)=>(Ro(),jo("div",KC,[i.value?(Ro(),jo("img",{key:0,src:i.value,class:"w-full h-full object-contain pointer-events-none",draggable:"false"},null,8,qC)):na("",!0)]))}}),ZC={class:"w-full h-full flex items-center justify-center"},JC={sections:[{title:"properties.section.lineStyle",tab:"style",fields:[{label:"properties.label.color",type:"color",target:"style",key:"borderColor",defaultValue:"#000000"},{label:"properties.label.thickness",type:"number",target:"style",key:"borderWidth",min:1,max:100,step:1,defaultValue:1},{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",defaultValue:"solid",options:[{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]}]}]},$C=Nn({__name:"LineElement",props:{element:{}},setup:e=>(t,r)=>(Ro(),jo("div",ZC,[Xo("div",{class:"w-full",style:G({borderTopWidth:`${e.element.style.borderWidth||1}px`,borderTopStyle:e.element.style.borderStyle||"solid",borderTopColor:e.element.style.borderColor||"#000000"})},null,4)]))}),eS={sections:[{title:"properties.section.appearance",tab:"style",fields:[{label:"properties.label.background",type:"color",target:"style",key:"backgroundColor",defaultValue:"transparent"},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor",defaultValue:"#000000"},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:100,defaultValue:1},{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",defaultValue:"solid",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.cornerRadius",type:"number",target:"style",key:"borderRadius",min:0,max:1e3}]}]},tS=Nn({__name:"RectElement",props:{element:{}},setup:e=>(t,r)=>(Ro(),jo("div",{class:"w-full h-full",style:G({backgroundColor:e.element.style.backgroundColor||"transparent",borderWidth:`${e.element.style.borderWidth||1}px`,borderStyle:e.element.style.borderStyle||"solid",borderColor:e.element.style.borderColor||"#000000",borderRadius:`${e.element.style.borderRadius||0}px`})},null,4))}),rS={sections:[{title:"properties.section.appearance",tab:"style",fields:[{label:"properties.label.background",type:"color",target:"style",key:"backgroundColor",defaultValue:"transparent"},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor",defaultValue:"#000000"},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:100,defaultValue:1},{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",defaultValue:"solid",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]}]}]},nS=Nn({__name:"CircleElement",props:{element:{}},setup:e=>(t,r)=>(Ro(),jo("div",{class:"w-full h-full rounded-full",style:G({backgroundColor:e.element.style.backgroundColor||"transparent",borderWidth:`${e.element.style.borderWidth||1}px`,borderStyle:e.element.style.borderStyle||"solid",borderColor:e.element.style.borderColor||"#000000"})},null,4))}),iS={class:"w-full h-full relative"},oS={sections:[{title:"properties.section.fieldSelection",tab:"fieldSelection",fields:[{label:"properties.label.chartDataSource",type:"chartDataSelect",target:"element",key:"chartDataVariable",placeholder:"properties.label.chartDataSourcePlaceholder"},{label:"properties.label.chartType",type:"select",target:"element",key:"chartType",defaultValue:"bar",options:[{label:"properties.option.chartBar",value:"bar"},{label:"properties.option.chartLine",value:"line"},{label:"properties.option.chartArea",value:"area"},{label:"properties.option.chartPie",value:"pie"},{label:"properties.option.chartDoughnut",value:"doughnut"}]},{label:"properties.label.chartXField",type:"chartFieldSelect",target:"element",key:"chartXField",placeholder:"properties.label.chartXFieldPlaceholder",condition:{field:"chartType",values:["bar","line","area"]}},{label:"properties.label.chartYField",type:"chartFieldSelect",target:"element",key:"chartYField",placeholder:"properties.label.chartYFieldPlaceholder",condition:{field:"chartType",values:["bar","line","area"]}},{label:"properties.label.chartNameField",type:"chartFieldSelect",target:"element",key:"chartNameField",placeholder:"properties.label.chartNameFieldPlaceholder",condition:{field:"chartType",values:["pie","doughnut"]}},{label:"properties.label.chartValueField",type:"chartFieldSelect",target:"element",key:"chartValueField",placeholder:"properties.label.chartValueFieldPlaceholder",condition:{field:"chartType",values:["pie","doughnut"]}}]},{title:"properties.section.chartTitleStyle",tab:"style",fields:[{label:"properties.label.chartTitle",type:"text",target:"element",key:"chartTitle",placeholder:"properties.label.chartTitlePlaceholder"},{label:"properties.label.chartTitleFontSize",type:"number",target:"element",key:"chartTitleFontSize",min:10,max:32,step:1,defaultValue:14},{label:"properties.label.chartTitleColor",type:"color",target:"element",key:"chartTitleColor"},{label:"properties.label.chartTitleFontWeight",type:"select",target:"element",key:"chartTitleFontWeight",options:[{label:"properties.option.normal",value:"normal"},{label:"properties.option.bold",value:"bold"}]}]},{title:"properties.section.chartLegend",tab:"style",fields:[{label:"properties.label.chartShowLegend",type:"switch",target:"element",key:"chartShowLegend",defaultValue:!0},{label:"properties.label.chartLegendPosition",type:"select",target:"element",key:"chartLegendPosition",options:[{label:"properties.option.top",value:"top"},{label:"properties.option.bottom",value:"bottom"},{label:"properties.option.left",value:"left"},{label:"properties.option.right",value:"right"}]},{label:"properties.label.chartLegendFontSize",type:"number",target:"element",key:"chartLegendFontSize",min:8,max:20,step:1,defaultValue:11},{label:"properties.label.chartLegendColor",type:"color",target:"element",key:"chartLegendColor"}]},{title:"properties.section.chartAxis",tab:"style",fields:[{label:"properties.label.chartXAxisTitle",type:"text",target:"element",key:"chartXAxisTitle",placeholder:"properties.label.chartXAxisTitlePlaceholder"},{label:"properties.label.chartYAxisTitle",type:"text",target:"element",key:"chartYAxisTitle",placeholder:"properties.label.chartYAxisTitlePlaceholder"},{label:"properties.label.chartXAxisFontSize",type:"number",target:"element",key:"chartXAxisFontSize",min:8,max:20,step:1,defaultValue:10},{label:"properties.label.chartYAxisFontSize",type:"number",target:"element",key:"chartYAxisFontSize",min:8,max:20,step:1,defaultValue:10},{label:"properties.label.chartXAxisColor",type:"color",target:"element",key:"chartXAxisColor"},{label:"properties.label.chartYAxisColor",type:"color",target:"element",key:"chartYAxisColor"},{label:"properties.label.chartShowGrid",type:"switch",target:"element",key:"chartShowGrid",defaultValue:!0},{label:"properties.label.chartGridColor",type:"color",target:"element",key:"chartGridColor"}]},{title:"properties.section.chartBarStyle",tab:"style",condition:{field:"chartType",values:["bar"]},fields:[{label:"properties.label.chartBarWidth",type:"number",target:"element",key:"chartBarWidth",min:10,max:100,step:5,defaultValue:40},{label:"properties.label.chartBarColor",type:"color",target:"element",key:"chartBarColor"}]},{title:"properties.section.chartLineStyle",tab:"style",condition:{field:"chartType",values:["line","area"]},fields:[{label:"properties.label.chartLineSmooth",type:"switch",target:"element",key:"chartLineSmooth",defaultValue:!0},{label:"properties.label.chartLineWidth",type:"number",target:"element",key:"chartLineWidth",min:1,max:10,step:1,defaultValue:2},{label:"properties.label.chartLineColor",type:"color",target:"element",key:"chartLineColor"}]},{title:"properties.section.chartDataLabel",tab:"style",condition:{field:"chartType",values:["bar","line","area"]},fields:[{label:"properties.label.chartShowDataLabel",type:"switch",target:"element",key:"chartShowDataLabel",defaultValue:!1}]},{title:"properties.section.chartPieStyle",tab:"style",condition:{field:"chartType",values:["pie","doughnut"]},fields:[{label:"properties.label.chartPieRadius",type:"number",target:"element",key:"chartPieRadius",min:30,max:100,step:5,defaultValue:70,condition:{field:"chartType",values:["pie"]}},{label:"properties.label.chartDoughnutInnerRadius",type:"number",target:"element",key:"chartDoughnutInnerRadius",min:10,max:60,step:5,defaultValue:40,condition:{field:"chartType",values:["doughnut"]}},{label:"properties.label.chartDoughnutOuterRadius",type:"number",target:"element",key:"chartDoughnutOuterRadius",min:40,max:100,step:5,defaultValue:70,condition:{field:"chartType",values:["doughnut"]}}]},{title:"properties.section.advanced",tab:"style",fields:[{label:"properties.label.chartShowTooltip",type:"switch",target:"element",key:"chartShowTooltip",defaultValue:!0}]}]},aS=Nn({__name:"ChartElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=nn("registerRenderTask",null),i=Ft(null),o=Ft(!1);let a=null,s=null;const l=Ta(()=>t.element.chartType||"bar"),u=Ta(()=>{const e=t.element.chartColors;return e&&e.length>0?e:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"]}),c=Ta(()=>{const e=t.element.chartDataVariable;if(e){const t=Lb(e),n=r.testData;let i=Ub(n||{},t);if(!Array.isArray(i)){const e=t.split(".");let r=n;for(const t of e){if(!r||"object"!=typeof r||!(t in r))break;r=r[t]}Array.isArray(r)&&(i=r)}if(Array.isArray(i))return i}return t.element.chartData||[]}),A=Ta(()=>t.element.chartTitle||""),d=Ta(()=>!1!==t.element.chartShowLegend),h=Ta(()=>!1!==t.element.chartShowTooltip),p=Ta(()=>{try{const e=t.element.chartCustomOptions;if(e&&"string"==typeof e&&e.trim())return JSON.parse(e)}catch{}return null});let f=null;function g(){const e=l.value,r=c.value,n=u.value,i=t.element.chartXField||"name",o=t.element.chartYField||"value",a=t.element.chartNameField||"name",s=t.element.chartValueField||"value",f=p.value;if(f)return f;const g=t.element.chartTitleFontSize||14,v=t.element.chartTitleColor||"#333333",m=t.element.chartTitleFontWeight||"normal",y=t.element.chartLegendPosition||"bottom",b=t.element.chartLegendFontSize||11,w=t.element.chartLegendColor||"#666666",x=t.element.chartXAxisTitle,_=t.element.chartYAxisTitle,C=t.element.chartXAxisFontSize||10,S=t.element.chartYAxisFontSize||10,B=t.element.chartXAxisColor||"#666666",k=t.element.chartYAxisColor||"#666666",E=!1!==t.element.chartShowGrid,I=t.element.chartGridColor||"#e5e7eb",T=t.element.chartBarWidth||40,P=t.element.chartBarColor,M=!1!==t.element.chartLineSmooth,L=t.element.chartLineWidth||2,D=t.element.chartLineColor,N=t.element.chartShowDataLabel||!1,O=t.element.chartPieRadius||70,F=t.element.chartDoughnutInnerRadius||40,U=t.element.chartDoughnutOuterRadius||70,z={color:n,title:A.value?{text:A.value,left:"center",textStyle:{fontSize:g,color:v,fontWeight:m}}:void 0,tooltip:h.value?{trigger:"pie"===e||"doughnut"===e?"item":"axis"}:void 0,legend:d.value?{[y]:"top"===y||"bottom"===y?0:10,left:"left"===y||"right"===y?"left"===y?10:"auto":"center",orient:"left"===y||"right"===y?"vertical":"horizontal",textStyle:{fontSize:b,color:w}}:void 0};if("pie"===e||"doughnut"===e){const t={type:"pie",radius:"doughnut"===e?[`${F}%`,`${U}%`]:`${O}%`,center:["50%","55%"],data:r.map(e=>({name:e[a]||"",value:e[s]||0})),label:{show:N,fontSize:11,formatter:"{b}: {c} ({d}%)"},emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}}};return{...z,series:[t]}}const R=r.map(e=>e[i]||""),Q=r.map(e=>e[o]||0),H=E?{left:"3%",right:"4%",bottom:d.value&&"bottom"===y?"15%":"8%",top:A.value&&"top"===y?"15%":"8%",containLabel:!0}:void 0,V={type:"category",data:R,name:x,nameTextStyle:{fontSize:C,color:B},axisLabel:{fontSize:C,color:B},axisLine:{lineStyle:{color:B}},splitLine:E?{lineStyle:{color:I}}:void 0,boundaryGap:"bar"!==e},j={type:"value",name:_,nameTextStyle:{fontSize:S,color:k},axisLabel:{fontSize:S,color:k},axisLine:{lineStyle:{color:k}},splitLine:E?{lineStyle:{color:I}}:void 0};return"bar"===e?{...z,grid:H,xAxis:V,yAxis:j,series:[{type:"bar",data:Q,barMaxWidth:T,itemStyle:{color:P||void 0},label:N?{show:!0,position:"top",fontSize:10}:void 0}]}:"line"===e?{...z,grid:H,xAxis:V,yAxis:j,series:[{type:"line",data:Q,smooth:M,lineStyle:{width:L,color:D||void 0},symbol:"circle",symbolSize:6,label:N?{show:!0,position:"top",fontSize:10}:void 0}]}:"area"===e?{...z,grid:H,xAxis:V,yAxis:j,series:[{type:"line",data:Q,smooth:M,lineStyle:{width:L,color:D||void 0},symbol:"circle",symbolSize:6,areaStyle:{},label:N?{show:!0,position:"top",fontSize:10}:void 0}]}:{}}async function v(){if(!i.value||o.value)return;m();const e=await async function(){if(f)return f;try{const[e,t,r,n]=await Promise.all([Promise.resolve().then(()=>wse),Promise.resolve().then(()=>abe),Promise.resolve().then(()=>Vke),Promise.resolve().then(()=>uIe)]);return e.use([t.BarChart,t.LineChart,t.PieChart,r.TitleComponent,r.TooltipComponent,r.LegendComponent,r.GridComponent,n.CanvasRenderer]),f=e,e}catch(gH){return o.value=!0,null}}();if(e&&i.value){try{a=e.init(i.value),a.setOption(g())}catch(gH){return void(o.value=!0)}s=new ResizeObserver(()=>{null==a||a.resize()}),s.observe(i.value)}}function m(){if(s&&(s.disconnect(),s=null),a){try{a.dispose()}catch{}a=null}}return ei(()=>{const e=br().then(()=>v());n&&n(e)}),ii(()=>{m()}),an(()=>[t.element.chartType,t.element.chartData,t.element.chartDataVariable,t.element.chartColors,t.element.chartXField,t.element.chartYField,t.element.chartNameField,t.element.chartValueField,t.element.chartShowLegend,t.element.chartShowTooltip,t.element.chartTitle,t.element.chartBarWidth,t.element.chartBarColor,t.element.chartLineSmooth,t.element.chartLineWidth,t.element.chartLineColor,t.element.chartShowDataLabel,t.element.chartCustomOptions,r.testData],()=>{if(a)try{a.setOption(g(),!0)}catch{}else if(!o.value){const e=br().then(()=>v());n&&n(e)}},{deep:!0}),(e,n)=>(Ro(),jo("div",iS,[Xo("div",{ref_key:"chartRef",ref:i,class:X(["w-full h-full",{"opacity-30":!Qt(r).isExporting&&Qt(r).showVariableNames&&!!t.element.chartDataVariable}])},null,2),!Qt(r).isExporting&&Qt(r).showVariableNames&&t.element.chartDataVariable?(Ro(),jo("div",{key:0,class:"absolute inset-0 flex items-center justify-center pointer-events-none",style:G({fontSize:`${t.element.style.fontSize||14}px`,color:t.element.style.color||"#666"})},oe("{#"+Qt(Lb)(t.element.chartDataVariable)+"}"),5)):na("",!0)]))}}),sS=["data-auto-height"],lS={key:0,class:"whitespace-pre-wrap"},uS={key:1,class:"whitespace-pre-wrap text-gray-400 italic text-center"},cS={sections:[{title:"properties.section.fieldSelection",tab:"fieldSelection",fields:[{label:"properties.label.content",type:"longText",target:"element",key:"content",placeholder:"properties.label.longTextPlaceholder"},{label:"properties.label.autoHeight",type:"switch",target:"style",key:"autoHeight"}]},{title:"properties.section.typography",tab:"style",fields:[{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:8,max:96,step:1},{label:"properties.label.color",type:"color",target:"style",key:"color"},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.option.default",value:""},{label:"properties.option.left",value:"left"},{label:"properties.option.center",value:"center"},{label:"properties.option.right",value:"right"}]},{label:"properties.label.verticalAlign",type:"select",target:"style",key:"verticalAlign",options:[{label:"properties.option.default",value:""},{label:"properties.option.top",value:"top"},{label:"properties.option.middle",value:"middle"},{label:"properties.option.bottom",value:"bottom"}]},{label:"properties.label.fontFamily",type:"select",target:"style",key:"fontFamily",options:[{label:"properties.option.default",value:""},{label:"properties.option.arial",value:"Arial, sans-serif"},{label:"properties.option.timesNewRoman",value:'"Times New Roman", serif'},{label:"properties.option.courierNew",value:'"Courier New", monospace'},{label:"properties.option.simSun",value:"SimSun, serif"},{label:"properties.option.simHei",value:"SimHei, sans-serif"}]},{label:"properties.label.fontWeight",type:"select",target:"style",key:"fontWeight",options:[{label:"properties.option.default",value:""},{label:"properties.option.normal",value:"400"},{label:"properties.option.medium",value:"500"},{label:"properties.option.bold",value:"700"}]}]},{title:"properties.section.border",tab:"style",fields:[{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:20,step:1},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"}]}]},AS=Nn({__name:"LongTextElement",props:{element:{}},setup(e){const t=e,{t:r}=dh(),n=Wb(),i=/\{#([^}]+)\}/g,o=e=>{const t=[];let r,n=0;const i=new RegExp(/\[color=([^\]]+)\]([\s\S]*?)\[\/color\]/,"g");for(;null!==(r=i.exec(e));){r.index>n&&t.push({text:e.substring(n,r.index)});const i=r[1],a=r[2];let s=i,l=1;if(i.includes(",alpha=")){const e=i.split(",alpha=");s=e[0],l=parseFloat(e[1])||1}if(a){const e=o(a);if(1!==e.length||e[0].color)for(const r of e)t.push({text:r.text,color:r.color||s,alpha:r.alpha??l});else t.push({text:e[0].text,color:s,alpha:l})}n=r.index+r[0].length}return n<e.length&&t.push({text:e.substring(n)}),t},a=e=>{let t=e;return t=t.replace(i,(e,t)=>(e=>{const t=e.trim();if(!n.isExporting&&n.showVariableNames)return`{#${e}}`;if(n.isExporting){const e=Ub(n.variables||{},t);if(null!=e)return String(e)}const r=Ub(n.testData,t);return null!=r?String(r):`{#${e}}`})(t)),t},s=Ta(()=>{const e=t.element.content||"",r=a(e),n=o(r),i=[];for(const t of n){if(""===t.text)continue;const e=i[i.length-1];e&&e.color===t.color?e.text+=t.text:i.push({...t})}return i}),l=Ta(()=>!t.element.content),u=Ta(()=>{const e=t.element.style.verticalAlign;return"middle"===e?"center":"bottom"===e?"flex-end":"flex-start"});return(t,n)=>(Ro(),jo("div",{class:"w-full h-full overflow-hidden","data-auto-height":e.element.style.autoHeight?"true":void 0,style:G({display:"flex",flexDirection:"column",justifyContent:u.value,fontSize:`${e.element.style.fontSize}px`,fontFamily:e.element.style.fontFamily,fontWeight:e.element.style.fontWeight,fontStyle:e.element.style.fontStyle,textAlign:e.element.style.textAlign,textDecoration:e.element.style.textDecoration,color:e.element.style.color,padding:`${e.element.style.padding||0}px`,whiteSpace:"pre-wrap",wordBreak:"break-word",backgroundColor:e.element.style.backgroundColor||"transparent"})},[l.value?(Ro(),jo("div",uS,oe(Qt(r)("properties.label.longTextPlaceholder").split("\n")[0]),1)):(Ro(),jo("div",lS,[(Ro(!0),jo(Do,null,pi(s.value,(e,t)=>{return Ro(),jo("span",{key:t,style:G(e.color?{color:void 0!==e.alpha&&e.alpha<1?(r=e.color,n=e.alpha,`rgba(${parseInt(r.slice(1,3),16)}, ${parseInt(r.slice(3,5),16)}, ${parseInt(r.slice(5,7),16)}, ${n})`):e.color}:{})},oe(e.text),5);var r,n}),128))]))],12,sS))}}),dS=["innerHTML"],hS={sections:[{title:"properties.section.content",tab:"properties",fields:[{label:"properties.label.richTextContent",type:"richText",target:"element",key:"content",placeholder:"properties.label.richTextPlaceholder"}]},{title:"properties.section.typography",tab:"style",fields:[{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:8,max:96,step:1},{label:"properties.label.color",type:"color",target:"style",key:"color"},{label:"properties.label.lineHeight",type:"number",target:"style",key:"lineHeight",min:1,max:3,step:.1},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.option.left",value:"left"},{label:"properties.option.center",value:"center"},{label:"properties.option.right",value:"right"}]}]}]},pS=zC(Nn({__name:"RichTextElement",props:{element:{}},setup(e){const t=e;Wb();const r=Ta(()=>{if(!t.element.content)return"";try{return(new DOMParser).parseFromString(t.element.content,"text/html").body.innerHTML}catch{return t.element.content}});return(t,n)=>{var i,o,a,s,l;return Ro(),jo("div",{class:"w-full h-full overflow-auto rich-text-content",contenteditable:"false",style:G({fontSize:`${(null==(i=e.element.style)?void 0:i.fontSize)||14}px`,color:(null==(o=e.element.style)?void 0:o.color)||"#000000",lineHeight:(null==(a=e.element.style)?void 0:a.lineHeight)||1.5,textAlign:(null==(s=e.element.style)?void 0:s.textAlign)||"left",padding:`${(null==(l=e.element.style)?void 0:l.padding)||4}px`}),innerHTML:r.value},null,12,dS)}}}),[["__scopeId","data-v-fa75f7dc"]]),fS={key:0},gS={key:1},vS={sections:[{title:"properties.section.dataBehavior",tab:"properties",fields:[{label:"properties.label.dateVariable",type:"field",target:"element",key:"variable",placeholder:"properties.label.selectDateField",filter:"text"},{label:"properties.label.dateFormat",type:"select",target:"element",key:"format",options:[{label:"2024-01-01",value:"YYYY-MM-DD"},{label:"2024/01/01",value:"YYYY/MM/DD"},{label:"2024年01月01日",value:"YYYY年MM月DD日"},{label:"2024-01-01 12:30",value:"YYYY-MM-DD HH:mm"},{label:"2024/01/01 12:30:00",value:"YYYY/MM/DD HH:mm:ss"},{label:"01月01日 12:30",value:"MM月DD日 HH:mm"}]}]},{title:"properties.section.typography",tab:"style",fields:[{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:8,max:96,step:1},{label:"properties.label.color",type:"color",target:"style",key:"color"},{label:"properties.label.fontWeight",type:"select",target:"style",key:"fontWeight",options:[{label:"properties.option.normal",value:"400"},{label:"properties.option.medium",value:"500"},{label:"properties.option.bold",value:"700"}]},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.option.left",value:"left"},{label:"properties.option.center",value:"center"},{label:"properties.option.right",value:"right"}]}]}]},mS=Nn({__name:"DateElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=(e,t)=>{const r=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),i=String(e.getDate()).padStart(2,"0"),o=String(e.getHours()).padStart(2,"0"),a=String(e.getMinutes()).padStart(2,"0"),s=String(e.getSeconds()).padStart(2,"0");return t.replace("YYYY",String(r)).replace("MM",n).replace("DD",i).replace("HH",o).replace("mm",a).replace("ss",s)},i=Ta(()=>{const e=t.element.format||"YYYY-MM-DD",i=t.element.variable;if(i){const t=Lb(i),o=Ub(r.testData||{},t);if(o){const t=new Date(o);if(!isNaN(t.getTime()))return n(t,e)}}return n(new Date,e)});return(t,n)=>{var o,a,s,l,u;return Ro(),jo("div",{class:"w-full h-full flex items-center",style:G({fontSize:`${(null==(o=e.element.style)?void 0:o.fontSize)||14}px`,color:(null==(a=e.element.style)?void 0:a.color)||"#000000",fontWeight:(null==(s=e.element.style)?void 0:s.fontWeight)||"400",textAlign:(null==(l=e.element.style)?void 0:l.textAlign)||"left",padding:`${(null==(u=e.element.style)?void 0:u.padding)||4}px`})},[Qt(r).showVariableNames&&e.element.variable?(Ro(),jo("span",fS,"{#"+oe(e.element.variable)+"}",1)):(Ro(),jo("span",gS,oe(i.value),1))],4)}}}),yS={class:"flex items-baseline gap-1"},bS={key:0,class:"text-gray-400 text-sm"},wS={key:0,class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},xS={key:1,class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_S={sections:[{title:"properties.section.dataSource",tab:"properties",fields:[{label:"properties.label.dataVariable",type:"field",target:"element",key:"variable",placeholder:"properties.label.selectField"},{label:"properties.label.customTitle",type:"input",target:"element",key:"customTitle",placeholder:"properties.label.customTitlePlaceholder"},{label:"properties.label.cardTitle",type:"input",target:"element",key:"label",placeholder:"properties.label.cardTitlePlaceholder"},{label:"properties.label.staticValue",type:"number",target:"element",key:"staticValue",min:0},{label:"properties.label.unit",type:"input",target:"element",key:"unit",placeholder:"properties.label.unitPlaceholder"},{label:"properties.label.valueKey",type:"input",target:"element",key:"valueKey",placeholder:"properties.label.valueKeyPlaceholder"},{label:"properties.label.labelKey",type:"input",target:"element",key:"labelKey",placeholder:"properties.label.labelKeyPlaceholder"},{label:"properties.label.trend",type:"select",target:"element",key:"trend",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.up",value:"up"},{label:"properties.option.down",value:"down"}]},{label:"properties.label.trendValue",type:"input",target:"element",key:"trendValue",placeholder:"properties.label.trendValuePlaceholder"}]},{title:"properties.section.cardStyle",tab:"style",fields:[{label:"properties.label.backgroundColor",type:"color",target:"style",key:"backgroundColor"},{label:"properties.label.cardPadding",type:"number",target:"style",key:"padding",min:0,max:40},{label:"properties.label.borderRadius",type:"number",target:"style",key:"borderRadius",min:0,max:20},{label:"properties.label.valueFontSize",type:"number",target:"style",key:"valueFontSize",min:16,max:120},{label:"properties.label.labelFontSize",type:"number",target:"style",key:"labelFontSize",min:10,max:48}]}]},CS=Nn({__name:"DataCardElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=Ta(()=>{const e=t.element.variable,n=t.element.valueKey||"value",i=t.element.labelKey||"label";if(!e)return{label:t.element.customTitle||t.element.label||"未设置",value:t.element.staticValue||0,unit:t.element.unit||"",trend:t.element.trend||"none",trendValue:t.element.trendValue||""};const o=Lb(e),a=Ub(r.testData||{},o);let s=a,l=t.element.customTitle||t.element.label||"";const u=t.element.unit||"",c=t.element.trend||"none",A=t.element.trendValue||"";return"object"==typeof a&&null!==a&&(s=a[n]??a,t.element.customTitle||(l=a[i]||t.element.label||o)),l||(l=t.element.customTitle||o),{label:String(l),value:Number(s)||0,unit:String(u),trend:c,trendValue:String(A)}}),i=Ta(()=>{const e=n.value.value;return e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toLocaleString()});return(t,o)=>{var a,s,l;return Ro(),jo("div",{class:"w-full h-full flex flex-col justify-center items-center p-4 rounded-lg",style:G({backgroundColor:(null==(a=e.element.style)?void 0:a.backgroundColor)||"#f5f5f5",padding:`${(null==(s=e.element.style)?void 0:s.padding)||16}px`,borderRadius:`${(null==(l=e.element.style)?void 0:l.borderRadius)||8}px`})},[Xo("div",{class:"text-gray-500 mb-2",style:G({fontSize:`${e.element.labelFontSize||12}px`})},oe(n.value.label),5),Xo("div",yS,[Xo("span",{class:"font-bold text-gray-900",style:G({fontSize:`${e.element.valueFontSize||32}px`})},[Qt(r).showVariableNames&&e.element.variable?(Ro(),jo(Do,{key:0},[ta("{#"+oe(e.element.variable)+"}",1)],64)):(Ro(),jo(Do,{key:1},[ta(oe(i.value),1)],64))],4),n.value.unit&&!Qt(r).showVariableNames?(Ro(),jo("span",bS,oe(n.value.unit),1)):na("",!0)]),"none"===n.value.trend||Qt(r).showVariableNames?na("",!0):(Ro(),jo("div",{key:0,class:X(["mt-2 flex items-center gap-1 text-sm","up"===n.value.trend?"text-green-600":"text-red-600"])},["up"===n.value.trend?(Ro(),jo("svg",wS,[...o[0]||(o[0]=[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M7 17l5-5 5 5M7 7l5 5 5-5"},null,-1)])])):(Ro(),jo("svg",xS,[...o[1]||(o[1]=[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 7l-5 5-5-5m10 10l-5-5-5 5"},null,-1)])])),Xo("span",null,oe(n.value.trendValue),1)],2))],4)}}}),SS={key:4,class:"text-xs text-gray-400"},BS={sections:[{title:"properties.section.dataBehavior",tab:"properties",fields:[{label:"properties.label.progressTitle",type:"input",target:"element",key:"progressTitle",placeholder:"properties.label.progressTitlePlaceholder"},{label:"properties.label.progressTitlePosition",type:"select",target:"element",key:"titlePosition",options:[{label:"properties.option.left",value:"left"},{label:"properties.option.center",value:"center"},{label:"properties.option.right",value:"right"}]},{label:"properties.label.progressVariable",type:"field",target:"element",key:"variable",placeholder:"properties.label.selectField"},{label:"properties.label.staticPercent",type:"number",target:"element",key:"staticPercent",min:0,max:100},{label:"properties.label.percentKey",type:"input",target:"element",key:"percentKey",placeholder:"properties.label.percentKeyPlaceholder"},{label:"properties.label.colorKey",type:"input",target:"element",key:"colorKey",placeholder:"properties.label.colorKeyPlaceholder"}]},{title:"properties.section.progressStyle",tab:"style",fields:[{label:"properties.label.barColor",type:"color",target:"element",key:"barColor"},{label:"properties.label.barHeight",type:"number",target:"style",key:"height",min:4,max:40},{label:"properties.label.borderRadius",type:"number",target:"style",key:"borderRadius",min:0,max:20},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:5},{label:"properties.label.showLabel",type:"switch",target:"element",key:"showLabel"},{label:"properties.label.progressLabelPosition",type:"select",target:"element",key:"progressLabelPosition",options:[{label:"properties.option.inside",value:"inside"},{label:"properties.option.outside",value:"outside"},{label:"properties.option.hide",value:"none"}]}]}]},kS=Nn({__name:"ProgressElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=Ta(()=>{const e=t.element.variable,n=t.element.percentKey||"percent",i=t.element.colorKey||"color";let o=t.element.staticPercent??50,a=t.element.barColor||"#3b82f6";if(e){const s=Lb(e),l=Ub(r.testData||{},s);"object"==typeof l&&null!==l?(o=l[n]??l.percent??l.value??50,a=l[i]||t.element.barColor||"#3b82f6"):o=Number(l)||50}return{percent:Math.min(100,Math.max(0,Number(o))),color:a}}),i=Ta(()=>`${n.value.percent}%`);return(t,o)=>{var a,s,l,u,c,A,d,h,p,f,g;return Ro(),jo("div",{class:"w-full h-full flex items-center gap-3",style:G({padding:`${(null==(a=e.element.style)?void 0:a.padding)||8}px`})},[!e.element.progressTitle||e.element.titlePosition&&"left"!==e.element.titlePosition?na("",!0):(Ro(),jo("span",{key:0,class:"text-sm text-gray-600 dark:text-gray-400 flex-shrink-0 whitespace-nowrap",style:G({fontSize:`${(null==(s=e.element.style)?void 0:s.fontSize)||14}px`})},oe(e.element.progressTitle),5)),e.element.progressTitle&&"center"===e.element.titlePosition?(Ro(),jo("div",{key:1,class:"absolute left-1/2 -translate-x-1/2 text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap",style:G({fontSize:`${(null==(l=e.element.style)?void 0:l.fontSize)||14}px`})},oe(e.element.progressTitle),5)):na("",!0),Xo("div",{class:"relative flex-1 overflow-hidden",style:G({height:`${(null==(u=e.element.style)?void 0:u.height)||20}px`,backgroundColor:(null==(c=e.element.style)?void 0:c.backgroundColor)||"#e5e7eb",borderRadius:`${(null==(A=e.element.style)?void 0:A.borderRadius)||10}px`,borderColor:(null==(d=e.element.style)?void 0:d.borderColor)||"transparent",borderWidth:(null==(h=e.element.style)?void 0:h.borderWidth)?`${e.element.style.borderWidth}px`:"0px",borderStyle:"solid"})},[Xo("div",{class:X(["absolute left-0 top-0 h-full transition-all duration-300",(null==(p=e.element.style)?void 0:p.borderRadius)?"":"rounded-full"]),style:G({width:Qt(r).showVariableNames&&e.element.variable?"50%":i.value,backgroundColor:n.value.color})},null,6),e.element.progressTitle&&"inside"===e.element.titlePosition?(Ro(),jo("span",{key:0,class:"absolute inset-0 flex items-center justify-center text-xs font-medium text-white",style:G({fontSize:`${(null==(f=e.element.style)?void 0:f.fontSize)||12}px`})},oe(e.element.progressTitle),5)):na("",!0)],4),e.element.progressTitle&&"right"===e.element.titlePosition?(Ro(),jo("span",{key:2,class:"text-sm text-gray-600 dark:text-gray-400 flex-shrink-0 whitespace-nowrap",style:G({fontSize:`${(null==(g=e.element.style)?void 0:g.fontSize)||14}px`})},oe(e.element.progressTitle),5)):na("",!0),e.element.showLabel&&"none"!==e.element.progressLabelPosition&&!Qt(r).showVariableNames?(Ro(),jo("div",{key:3,class:"text-sm font-medium text-gray-700",style:G({minWidth:"40px",textAlign:"outside"===e.element.progressLabelPosition?"left":"right"})},oe(n.value.percent)+"% ",5)):na("",!0),Qt(r).showVariableNames&&e.element.variable?(Ro(),jo("div",SS," {#"+oe(e.element.variable)+"} ",1)):na("",!0)],4)}}}),ES={sections:[{title:"properties.section.listItems",tab:"properties",fields:[{label:"properties.label.listLayout",type:"select",target:"element",key:"layout",options:[{label:"properties.option.horizontal",value:"horizontal"},{label:"properties.option.vertical",value:"vertical"}]},{label:"properties.label.iconSize",type:"number",target:"element",key:"iconSize",min:16,max:48},{label:"properties.label.listItem1",type:"input",target:"element",key:"item1",placeholder:"properties.label.listItemPlaceholder"},{label:"properties.label.listItem2",type:"input",target:"element",key:"item2",placeholder:"properties.label.listItemPlaceholder"},{label:"properties.label.listItem3",type:"input",target:"element",key:"item3",placeholder:"properties.label.listItemPlaceholder"},{label:"properties.label.listItem4",type:"input",target:"element",key:"item4",placeholder:"properties.label.listItemPlaceholder"},{label:"properties.label.listItem5",type:"input",target:"element",key:"item5",placeholder:"properties.label.listItemPlaceholder"}]},{title:"properties.section.typography",tab:"style",fields:[{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:10,max:32},{label:"properties.label.color",type:"color",target:"style",key:"color"},{label:"properties.label.padding",type:"number",target:"style",key:"padding",min:0,max:20}]}]},IS=Nn({__name:"ListElement",props:{element:{}},setup(e){const t=e;Wb();const r=Ta(()=>{const e=t.element.item1||"列表项 1",r=t.element.item2||"",n=t.element.item3||"",i=t.element.item4||"",o=t.element.item5||"",a=["#3b82f6","#10b981","#f59e0b","#8b5cf6","#ec4899"],s=[];return[e,r,n,i,o].forEach((e,t)=>{e&&s.push({id:t+1,title:e,iconBgColor:a[t]||a[0]})}),s.length>0?s:[{id:1,title:"列表项 1",iconBgColor:"#3b82f6"},{id:2,title:"列表项 2",iconBgColor:"#10b981"},{id:3,title:"列表项 3",iconBgColor:"#f59e0b"}]}),n=Ta(()=>t.element.layout||"horizontal"),i=Ta(()=>t.element.iconSize||24);return(t,o)=>{var a;return Ro(),jo("div",{class:X(["w-full h-full flex items-center gap-3 p-2 overflow-hidden","vertical"===n.value?"flex-col":"flex-row"]),style:G({padding:`${(null==(a=e.element.style)?void 0:a.padding)||8}px`})},[(Ro(!0),jo(Do,null,pi(r.value.slice(0,5),(t,r)=>{var o,a;return Ro(),jo("div",{key:t.id||r,class:X(["flex items-center gap-2 flex-shrink-0","vertical"===n.value?"w-full":""])},[Xo("div",{class:"flex items-center justify-center rounded-full text-white font-bold flex-shrink-0",style:G({width:`${i.value}px`,height:`${i.value}px`,backgroundColor:t.iconBgColor||"#3b82f6",fontSize:`${Math.max(10,.5*i.value)}px`})},oe(r+1),5),Xo("span",{class:"text-gray-700 text-sm truncate",style:G({fontSize:`${(null==(o=e.element.style)?void 0:o.fontSize)||14}px`,color:(null==(a=e.element.style)?void 0:a.color)||"#374151"})},oe(t.title),5)],2)}),128))],6)}}}),TS=["src","alt"],PS={key:0,class:"text-center text-xs text-gray-500 mt-1"},MS={class:"text-xs text-gray-400"},LS={sections:[{title:"properties.section.signature",tab:"properties",fields:[{label:"properties.label.signatureImage",type:"image",target:"element",key:"src"},{label:"properties.label.signatureLabel",type:"input",target:"element",key:"label",placeholder:"properties.label.signatureLabelPlaceholder"},{label:"properties.label.signatureType",type:"select",target:"element",key:"signatureType",options:[{label:"properties.option.seal",value:"seal"},{label:"properties.option.signature",value:"signature"},{label:"properties.option.qrcode",value:"qrcode"}]},{label:"properties.label.sealText",type:"input",target:"element",key:"sealText",placeholder:"properties.label.sealTextPlaceholder"}]},{title:"properties.section.appearance",tab:"style",fields:[{label:"properties.label.opacity",type:"number",target:"style",key:"opacity",min:0,max:100},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:10},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"}]}]},DS=Nn({__name:"SignatureElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=Ta(()=>t.element.src?t.element.src:null),i=Ta(()=>!t.element.src&&!r.isExporting);return(t,r)=>{var o,a,s;return Ro(),jo("div",{class:"w-full h-full flex flex-col items-center justify-center border-2 border-dashed border-gray-300 rounded-lg",style:G({opacity:(null==(o=e.element.style)?void 0:o.opacity)??100,borderColor:(null==(a=e.element.style)?void 0:a.borderColor)||"#d1d5db",borderWidth:(null==(s=e.element.style)?void 0:s.borderWidth)?`${e.element.style.borderWidth}px`:"2px"})},[n.value?(Ro(),jo(Do,{key:0},[Xo("img",{src:n.value,alt:e.element.label||"印章/签名",class:"max-w-full max-h-full object-contain"},null,8,TS),e.element.label?(Ro(),jo("div",PS,oe(e.element.label),1)):na("",!0)],64)):i.value?(Ro(),jo(Do,{key:1},[r[0]||(r[0]=Xo("svg",{class:"w-8 h-8 text-gray-400 mb-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})],-1)),Xo("span",MS,oe(e.element.label||"印章/签名区域"),1)],64)):na("",!0)],4)}}}),NS={class:"w-full h-full overflow-auto p-2"},OS={key:0,class:"p-2 text-sm text-gray-400"},FS={key:1,class:"flex items-center justify-center h-full text-gray-400 text-sm"},US={key:2,class:"space-y-2"},zS={class:"text-xs opacity-70"},RS={class:"w-full text-sm"},QS={sections:[{title:"properties.section.nestedTable",tab:"properties",fields:[{label:"properties.label.nestedDataSource",type:"nestedTableData",target:"element",key:"variable"},{label:"properties.label.parentLabelKey",type:"input",target:"element",key:"parentLabelKey",placeholder:"properties.label.parentLabelKeyPlaceholder"}]},{title:"properties.section.nestedColumns",tab:"properties",fields:[{label:"properties.label.nestedColumns",type:"nestedColumns",target:"element",key:"nestedColumns"}]},{title:"properties.section.nestedTableStyle",tab:"style",fields:[{label:"properties.label.headerBgColor",type:"color",target:"style",key:"headerBackgroundColor"},{label:"properties.label.headerTextColor",type:"color",target:"style",key:"headerColor"},{label:"properties.label.rowHeight",type:"number",target:"style",key:"rowHeight",min:20,max:60},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:5}]}]},HS=Nn({__name:"NestedTableElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=Ta(()=>t.element.nestedColumns&&Array.isArray(t.element.nestedColumns)?t.element.nestedColumns:[{field:"name",header:"名称",width:100},{field:"value",header:"数值",width:80}]),i=Ta(()=>{const e=t.element.variable,n=t.element.parentLabelKey||"name",i=t.element.childField||"children",o=r.testData||{};let a=[];if(e){const t=Ub(o,Lb(e));if(Array.isArray(t))a=t;else if(t&&"object"==typeof t){const e=Object.values(t);e.some(e=>Array.isArray(e))&&(a=e.filter(e=>Array.isArray(e)).flat())}}return a.map(e=>({parentLabel:e[n]||e.name||e.title||"未命名",childData:Array.isArray(e[i])?e[i]:[]})).filter(e=>e.childData.length>0)});return(t,o)=>(Ro(),jo("div",NS,[Qt(r).showVariableNames&&e.element.variable?(Ro(),jo("div",OS," {#"+oe(e.element.variable)+"} ",1)):0===i.value.length?(Ro(),jo("div",FS," 暂无数据 ")):(Ro(),jo("div",US,[(Ro(!0),jo(Do,null,pi(i.value,(t,r)=>{var i,o,a,s;return Ro(),jo("div",{key:r,class:"border rounded overflow-hidden",style:G({borderColor:(null==(i=e.element.style)?void 0:i.borderColor)||"#e5e7eb",borderWidth:(null==(o=e.element.style)?void 0:o.borderWidth)?`${e.element.style.borderWidth}px`:"1px"})},[Xo("div",{class:"px-3 py-2 font-medium text-sm flex items-center justify-between",style:G({backgroundColor:(null==(a=e.element.style)?void 0:a.headerBackgroundColor)||"#f3f4f6",color:(null==(s=e.element.style)?void 0:s.headerColor)||"#374151"})},[Xo("span",null,oe(t.parentLabel),1),Xo("span",zS,oe(t.childData.length)+" 项",1)],4),Xo("table",RS,[Xo("thead",null,[Xo("tr",null,[(Ro(!0),jo(Do,null,pi(n.value,t=>{var r,n,i,o;return Ro(),jo("th",{key:t.field,class:"px-3 py-2 text-left text-xs font-medium border-b",style:G({width:`${t.width}px`,backgroundColor:(null==(r=e.element.style)?void 0:r.headerBackgroundColor)||"#f9fafb",color:(null==(n=e.element.style)?void 0:n.headerColor)||"#6b7280",height:`${(null==(i=e.element.style)?void 0:i.rowHeight)||32}px`,borderColor:(null==(o=e.element.style)?void 0:o.borderColor)||"#e5e7eb"})},oe(t.header),5)}),128))])]),Xo("tbody",null,[(Ro(!0),jo(Do,null,pi(t.childData,(t,r)=>{var i;return Ro(),jo("tr",{key:r,class:"hover:bg-gray-50 border-b last:border-b-0",style:G({borderColor:(null==(i=e.element.style)?void 0:i.borderColor)||"#e5e7eb"})},[(Ro(!0),jo(Do,null,pi(n.value,r=>{var n;return Ro(),jo("td",{key:r.field,class:"px-3 py-2 text-gray-700",style:G({height:`${(null==(n=e.element.style)?void 0:n.rowHeight)||32}px`})},oe(t[r.field]??"-"),5)}),128))],4)}),128))])])],4)}),128))]))]))}}),VS={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const jS=Lt({name:"material-symbols-add",render:function(e,t){return Ro(),jo("svg",VS,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M11 13H5v-2h6V5h2v6h6v2h-6v6h-2z"},null,-1)])])}}),GS={[Nm.TEXT]:e=>({content:e("canvas.newText"),style:{backgroundColor:"transparent",borderColor:"transparent"}}),[Nm.LONG_TEXT]:e=>({width:400,height:200,content:"",style:{backgroundColor:"transparent",borderColor:"transparent",fontSize:14,color:"#000000"}}),[Nm.IMAGE]:()=>({style:{backgroundColor:"transparent",borderColor:"transparent"}}),[Nm.BARCODE]:()=>({height:80,content:"12345678",style:{backgroundColor:"transparent",borderColor:"transparent"}}),[Nm.QRCODE]:()=>({width:100,content:"https://example.com",style:{backgroundColor:"transparent",borderColor:"transparent"}}),[Nm.LINE]:()=>({height:20,style:{borderColor:"#000000"}}),[Nm.RECT]:()=>({width:100,style:{backgroundColor:"transparent",borderColor:"#000000"}}),[Nm.CIRCLE]:()=>({width:100,style:{backgroundColor:"transparent",borderColor:"#000000"}}),[Nm.CHART]:e=>({width:300,height:200,chartType:"bar",chartTitle:e("sidebar.chart"),chartXField:"name",chartYField:"value",chartShowLegend:!0,chartShowTooltip:!0,chartData:[{name:e("canvas.defaultChartData.jan"),value:820},{name:e("canvas.defaultChartData.feb"),value:932},{name:e("canvas.defaultChartData.mar"),value:901},{name:e("canvas.defaultChartData.apr"),value:934},{name:e("canvas.defaultChartData.may"),value:1290},{name:e("canvas.defaultChartData.jun"),value:1330}],style:{backgroundColor:"#ffffff",borderColor:"#cccccc"}}),[Nm.PAGE_NUMBER]:()=>({width:52,height:20,format:"1/Total",labelColor:"#000000",labelBackgroundColor:"transparent",labelBorderColor:"transparent",style:{backgroundColor:"transparent",borderColor:"#000000"}}),[Nm.TABLE]:e=>({height:150,columnsVariable:"",footerDataVariable:"",columns:[],data:[],showFooter:!0,tfootRepeat:!0,autoPaginate:!0,repeatPerPage:!1,headerPosition:"top",footerData:[],customScript:"// RMB Uppercase Conversion\ntry {\n function digitUppercase(n) {\n var fraction = ['角', '分'];\n var digit = [\n '零', '壹', '贰', '叁', '肆',\n '伍', '陆', '柒', '捌', '玖'\n ];\n var unit = [\n ['元', '万', '亿'],\n ['', '拾', '佰', '仟']\n ];\n var head = n < 0 ? '欠' : '';\n n = Math.abs(n);\n var s = '';\n for (var i = 0; i < fraction.length; i++) {\n s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');\n }\n s = s || '整';\n n = Math.floor(n);\n for (var i = 0; i < unit[0].length && n > 0; i++) {\n var p = '';\n for (var j = 0; j < unit[1].length && n > 0; j++) {\n p = digit[n % 10] + unit[1][j] + p;\n n = Math.floor(n / 10);\n }\n s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;\n }\n return head + s.replace(/(零.)*零元/, '元')\n .replace(/(零.)+/g, '零')\n .replace(/^整$/, '零元整');\n }\n\n // 1. Calculate Total (works for both Global and Page data)\n let totalAmount = 0;\n let totalQty = 0;\n if (data && Array.isArray(data)) {\n data.forEach(row => {\n // Ensure numeric values\n const val = Number(row.total) || 0;\n const qty = Number(row.qty) || 0;\n totalAmount += val;\n totalQty += qty;\n });\n }\n\n // 2. Update Footer Data\n if (footerData && Array.isArray(footerData)) {\n footerData.forEach(row => {\n Object.keys(row).forEach(key => {\n const val = row[key];\n const processValue = (v) => {\n if (typeof v !== 'string') return v;\n \n // Global replacements (Grand Total)\n if (typeof type === 'undefined' || type !== 'page') {\n if (v.includes('{#totalSum}')) return v.replace('{#totalSum}', totalAmount.toFixed(2));\n if (v.includes('{#totalQty}')) return v.replace('{#totalQty}', String(totalQty));\n if (v.includes('{#totalCap}')) return v.replace('{#totalCap}', digitUppercase(totalAmount));\n \n // For {#pageSum}, we want to show the Grand Total in the Designer (visual feedback),\n // but pass the original {#pageSum} token to the Print logic (via data-value).\n if (v.includes('{#pageSum}')) {\n const displayVal = v.replace('{#pageSum}', totalAmount.toFixed(2));\n // printValue keeps {#pageSum} but resolves other globals\n const printVal = v.replace('{#totalSum}', totalAmount.toFixed(2))\n .replace('{#totalQty}', String(totalQty))\n .replace('{#totalCap}', digitUppercase(totalAmount)); \n \n return { value: displayVal, printValue: printVal };\n }\n\n // For {#pageQty}\n if (v.includes('{#pageQty}')) {\n const displayVal = v.replace('{#pageQty}', String(totalQty));\n // printValue keeps {#pageQty} but resolves other globals\n const printVal = v.replace('{#totalSum}', totalAmount.toFixed(2))\n .replace('{#totalQty}', String(totalQty))\n .replace('{#totalCap}', digitUppercase(totalAmount)); \n \n return { value: displayVal, printValue: printVal };\n }\n }\n \n // Page replacements (Page Sum)\n if (typeof type !== 'undefined' && type === 'page') {\n if (v.includes('{#pageSum}')) return v.replace('{#pageSum}', totalAmount.toFixed(2));\n if (v.includes('{#pageQty}')) return v.replace('{#pageQty}', String(totalQty));\n }\n return v;\n };\n\n // Handle object values\n if (val && typeof val === 'object') {\n // If it has a 'field' property, check if it contains a variable\n if (val.field && typeof val.field === 'string') {\n const processed = processValue(val.field);\n // If processed is different from field (meaning a replacement happened)\n // OR if processValue returned an object (for {#pageSum})\n if (processed !== val.field || typeof processed === 'object') {\n if (typeof processed === 'object') {\n val.result = processed.value; // Store in result, keep val.value as text\n val.printValue = processed.printValue;\n } else {\n val.result = processed;\n }\n }\n }\n // Also check 'value' if it was set manually and looks like a variable\n else if (val.value && typeof val.value === 'string') {\n // Only process if value looks like a variable, otherwise it's just text\n if (val.value.includes('{#')) {\n const processed = processValue(val.value);\n if (typeof processed === 'object') {\n val.result = processed.value;\n val.printValue = processed.printValue;\n } else {\n val.result = processed;\n }\n }\n }\n }\n });\n });\n }\n\n return { data, footerData };\n} catch (e) {\n console.error('Script Execution Error:', e);\n return { data, footerData };\n}",style:{backgroundColor:"transparent",borderColor:"#000000",headerBackgroundColor:"#f3f4f6",headerColor:"#000000",footerBackgroundColor:"#f9fafb",footerColor:"#000000",textAlign:"left",headerTextAlign:"left",footerTextAlign:"left"}}),[Nm.CUSTOM_TABLE]:()=>({width:400,height:200,customTableRows:3,customTableCols:3,customTableCells:[],style:{backgroundColor:"transparent",borderColor:"#000000",fontSize:14,color:"#000000",textAlign:"left"}}),[Nm.RICH_TEXT]:e=>({width:300,height:150,content:"<p>"+e("canvas.newRichText")+"</p>",style:{fontSize:14,color:"#000000",lineHeight:1.5}}),[Nm.DATE]:e=>({width:150,height:30,format:"YYYY-MM-DD",variable:"",style:{fontSize:14,color:"#000000"}}),[Nm.DATA_CARD]:e=>({width:200,height:120,customTitle:"",label:e("canvas.newDataCard")||"数据卡片",staticValue:100,unit:"",trend:"none",style:{backgroundColor:"#f5f5f5",borderRadius:8,valueFontSize:32,labelFontSize:12}}),[Nm.PROGRESS]:()=>({width:200,height:30,progressTitle:"",staticPercent:50,barColor:"#3b82f6",showLabel:!0,progressLabelPosition:"inside",style:{height:20,borderRadius:10,backgroundColor:"#e5e7eb"}}),[Nm.LIST]:()=>({width:300,height:80,layout:"horizontal",iconSize:24,item1:"列表项 1",item2:"列表项 2",item3:"列表项 3",item4:"",item5:"",style:{fontSize:14,padding:8}}),[Nm.SIGNATURE]:e=>({width:120,height:120,label:e("canvas.signature")||"印章/签名",signatureType:"seal",style:{borderColor:"#d1d5db",borderWidth:2,opacity:100}}),[Nm.NESTED_TABLE]:e=>({width:400,height:200,parentField:"categories",childField:"items",parentLabelKey:"name",variable:"",style:{headerBackgroundColor:"#f9fafb",headerColor:"#374151",rowHeight:32}})};const WS={key:0,class:"absolute top-0 -right-12 flex flex-col gap-2 z-10"},KS=["title","disabled"],qS=["title","disabled","onClick"],YS=["title","disabled","onClick"],XS=["title","disabled","onClick"],ZS=["id","onDrop","onMousedown","onContextmenu"],JS={key:0,"data-print-exclude":"true",class:"absolute inset-0 pointer-events-none opacity-50",style:{"background-image":"linear-gradient(#e5e7eb 1px, transparent 1px), linear-gradient(90deg, #e5e7eb 1px, transparent 1px)","background-size":"20px 20px"}},$S=["onMousedown"],eB=["onMousedown"],tB={key:5,"data-print-exclude":"true",class:"marker absolute inset-0 pointer-events-none z-50 opacity-50"},rB={key:6,"data-print-exclude":"true",class:"margin-guides absolute inset-0 pointer-events-none z-40"},nB=Nn({__name:"Canvas",setup(e){const t=Wb(),r=nn("designer-root",Ft(null)),{t:n}=dh(),i=Ta(()=>t.pages),o=Ta(()=>t.zoom);Ta(()=>t.pageSpacingX||0),Ta(()=>t.pageSpacingY||0);const a=Ta(()=>t.pageSpacingX||0),s=Ta(()=>t.pageSpacingX||0),l=Ta(()=>t.pageSpacingY||0),u=Ta(()=>t.pageSpacingY||0),c=Ta(()=>t.canvasSize),A=Ta(()=>t.isTemplateEditable),d=Ta(()=>t.canvasPreviewEnabled),h=Ta(()=>A.value&&!d.value),p=Ta(()=>{const e=[];for(const t of i.value)for(const r of t.elements)r.x<0&&e.push({id:r.id,reason:"左边界"}),r.y<0&&e.push({id:r.id,reason:"上边界"}),r.x+r.width>c.value.width&&e.push({id:r.id,reason:"右边界"}),r.y+r.height>c.value.height&&e.push({id:r.id,reason:"下边界"});return e});Ta(()=>new Set(p.value.map(e=>e.id)));const f=Ft(!1),g=Ft(null),v=Ft(null),m=(e,r)=>{if(!t.isTemplateEditable)return;e.preventDefault(),e.stopPropagation(),f.value=!0,g.value=r;const n=e.target;v.value=n.closest(".print-page"),window.addEventListener("mousemove",y),window.addEventListener("mouseup",b)},y=e=>{if(!f.value||!v.value)return;const r=v.value.getBoundingClientRect(),n=(e.clientY-r.top)/t.zoom,i=Math.max(0,Math.min(t.canvasSize.height,n));if("header"===g.value){const e=t.pageSpacingY||0,r=Math.max(0,i-e);t.setHeaderHeight(Math.round(r))}else if("footer"===g.value){const e=t.pageSpacingY||0,r=Math.max(0,t.canvasSize.height-i-e);t.setFooterHeight(Math.round(r))}},b=()=>{f.value=!1,g.value=null,v.value=null,window.removeEventListener("mousemove",y),window.removeEventListener("mouseup",b)};ii(()=>{window.removeEventListener("mousemove",y),window.removeEventListener("mouseup",b)});const w=Ta(()=>{const e={width:`${t.canvasSize.width}px`,height:`${t.canvasSize.height}px`,backgroundColor:t.canvasBackground};return x.value?{...e,...x.value}:e}),x=Ta(()=>{const e=t.watermark;if(!e||!e.enabled||!e.text)return null;const r=e.text.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");const n=Number.isFinite(e.angle)?e.angle:-30,i=Math.max(6,e.size||24),o=Math.max(40,e.density||160),a=e.color||"#000000",s=Math.min(1,Math.max(0,e.opacity??.1));return{backgroundImage:`url("data:image/svg+xml,${encodeURIComponent(`<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}"><text x="50%" y="50%" dominant-baseline="middle" text-anchor="middle" fill="${a}" fill-opacity="${s}" font-size="${i}" transform="rotate(${n} ${o/2} ${o/2})">${r}</text></svg>`)}")`,backgroundRepeat:"repeat",backgroundSize:`${o}px ${o}px`}}),_=Ta(()=>t.isDragging&&t.selectedElementId?t.pages.findIndex(e=>e.elements.some(e=>(null==e?void 0:e.id)===t.selectedElementId)):-1),C=Ft(!1),S=Ft({x:0,y:0}),B=Ft({x:0,y:0}),k=Ft(null),E=Ft(!1),I=Ta(()=>{if(!C.value)return{display:"none"};return{position:"absolute",left:`${Math.min(S.value.x,B.value.x)}px`,top:`${Math.min(S.value.y,B.value.y)}px`,width:`${Math.abs(B.value.x-S.value.x)}px`,height:`${Math.abs(B.value.y-S.value.y)}px`,border:"1px solid var(--brand-500)",backgroundColor:"var(--brand-500-alpha-10)",pointerEvents:"none",zIndex:1e3}}),T=e=>{switch(e){case Nm.TEXT:return Kx;case Nm.IMAGE:return Zx;case Nm.TABLE:return L_;case Nm.CUSTOM_TABLE:return RC;case Nm.PAGE_NUMBER:return VC;case Nm.BARCODE:return WC;case Nm.QRCODE:return XC;case Nm.LINE:return $C;case Nm.RECT:return tS;case Nm.CIRCLE:return nS;case Nm.CHART:return aS;case Nm.LONG_TEXT:return AS;case Nm.RICH_TEXT:return pS;case Nm.DATE:return mS;case Nm.DATA_CARD:return CS;case Nm.PROGRESS:return kS;case Nm.LIST:return IS;case Nm.SIGNATURE:return DS;case Nm.NESTED_TABLE:return HS;default:return Kx}},P=e=>!!e&&"string"==typeof e.id&&"string"==typeof e.type,M=e=>e.filter(P),L=e=>{const t=String(e||"").trim();return t?t.startsWith("@")?t:`@${t}`:""},D=(e,r)=>{var i;if(e.preventDefault(),!t.isTemplateEditable)return;const o=null==(i=e.dataTransfer)?void 0:i.getData("application/json");if(!o)return;const{type:a,payload:s,variable:l,dataVariable:u}=JSON.parse(o),c=e.currentTarget.getBoundingClientRect(),A=(e.clientX-c.left)/t.zoom,d=(e.clientY-c.top)/t.zoom;if(s)t.addElement({...s,x:A,y:d,locked:!1},r);else{if(l||u){const e=t.pages[r];if(e)for(let r=e.elements.length-1;r>=0;r--){const n=e.elements[r];if(!n)continue;if(A>=n.x&&A<=n.x+n.width&&d>=n.y&&d<=n.y+n.height){if(l&&n.type===Nm.TEXT){const e=L(l);return void t.updateElement(n.id,{variable:e,content:e})}if(u&&n.type===Nm.TABLE)return void t.updateElement(n.id,{variable:L(u)})}}return}if(a){const e=function(e,t,r,n){const i={type:e,x:t,y:r,width:200,height:100,variable:"",style:{fontSize:14,color:"#000000"}},o=GS[e],a=o?o(n):{};return{...i,...a,style:{...i.style,...a.style||{}}}}(a,A,d,n);t.addElement(e,r)}}},N=e=>{e.preventDefault()},O=e=>{e.ctrlKey||e.metaKey||E.value||t.selectElement(null)},F=e=>{if(!C.value||null===k.value)return;var t;const n=((null==(t=null==r?void 0:r.value)?void 0:t.getRootNode())||document).getElementById(`page-${k.value}`);if(!n)return;const i=n.getBoundingClientRect();B.value={x:(e.clientX-i.left)/o.value,y:(e.clientY-i.top)/o.value}},U=()=>{if(!C.value)return;const e=Math.min(S.value.x,B.value.x),r=Math.min(S.value.y,B.value.y),n=Math.abs(B.value.x-S.value.x),o=Math.abs(B.value.y-S.value.y),a=[];if(null!==k.value){const t=i.value[k.value];if(t)for(const i of M(t.elements)){const t=i.x+i.width,s=i.y+i.height,l=e+n,u=r+o;i.x<l&&t>e&&i.y<u&&s>r&&a.push(i.id)}}t.setSelection(a),C.value=!1,k.value=null,E.value=!0,setTimeout(()=>{E.value=!1},50),window.removeEventListener("mousemove",F),window.removeEventListener("mouseup",U)},z=()=>{if(0===i.value.length)return[];const e=i.value[0],r=t.pageSpacingY||0,n=t.pageSpacingY||0,o=t.headerHeight+r,a=t.canvasSize.height-(t.footerHeight+n);return M(e.elements).filter(e=>{if(e.type===Nm.TABLE)return!1;const r=t.getElementBoundsAtPosition(e,e.x,e.y),n=!0===e.repeatPerPage,i=t.showHeaderLine&&r.maxY<=o,s=t.showFooterLine&&r.minY>=a;return n||i||s})};return(e,r)=>(Ro(),jo("div",{class:"flex flex-col",style:G({transform:`scale(${o.value})`,transformOrigin:"top left",width:"fit-content",rowGap:"20px"})},[(Ro(!0),jo(Do,null,pi(i.value,(e,c)=>(Ro(),jo("div",{key:e.id,class:"relative group"},[h.value?(Ro(),jo("div",WS,[Xo("button",{class:"w-8 h-8 flex items-center justify-center bg-white border border-gray-200 rounded shadow hover:bg-blue-50 hover:text-blue-600 text-gray-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:Qt(n)("canvas.addPage"),disabled:!A.value,onClick:r[0]||(r[0]=e=>Qt(t).addPage())},[Zo(Qt(jS))],8,KS),Xo("button",{class:"w-8 h-8 flex items-center justify-center bg-white border border-gray-200 rounded shadow hover:bg-blue-50 hover:text-blue-600 text-gray-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:Qt(n)("canvas.copyPage"),disabled:!A.value,onClick:e=>Qt(t).copyPage(c)},[Zo(Qt(ox))],8,qS),Qt(t).copiedPage?(Ro(),jo("button",{key:0,class:"w-8 h-8 flex items-center justify-center bg-white border border-gray-200 rounded shadow hover:bg-blue-50 hover:text-blue-600 text-gray-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:Qt(n)("canvas.pastePage"),disabled:!A.value,onClick:e=>Qt(t).pastePage(c)},[Zo(Qt(sx))],8,YS)):na("",!0),c>0?(Ro(),jo("button",{key:1,class:"w-8 h-8 flex items-center justify-center bg-white border border-gray-200 rounded shadow hover:bg-red-50 hover:text-red-600 text-gray-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:Qt(n)("canvas.deletePage"),disabled:!A.value,onClick:e=>Qt(t).removePage(c)},[Zo(Qt(Ax))],8,XS)):na("",!0)])):na("",!0),Xo("div",{id:`page-${c}`,class:X(["print-page shadow-lg relative overflow-hidden transition-all",{"ring-2 ring-red-400":h.value&&p.value.length>0&&c===Qt(t).currentPageIndex}]),style:G([w.value,{overflow:_.value===c?"visible":"hidden",zIndex:_.value===c?50:1}]),onDrop:e=>D(e,c),onDragover:N,onMousedown:e=>((e,r)=>{if(!t.isTemplateEditable)return;if(0!==e.button||e.ctrlKey||e.metaKey)return;if(e.target.closest(".element-wrapper"))return;e.preventDefault(),C.value=!0,k.value=r;const n=e.currentTarget.getBoundingClientRect();S.value={x:(e.clientX-n.left)/o.value,y:(e.clientY-n.top)/o.value},B.value={...S.value},window.addEventListener("mousemove",F),window.addEventListener("mouseup",U)})(e,c),onContextmenu:e=>((e,r)=>{var n;const a=e.currentTarget.getBoundingClientRect(),s=(e.clientX-a.left)/o.value,l=(e.clientY-a.top)/o.value,u=i.value[r];if(!u)return;let c=null,A=-1/0;const d=M(u.elements);for(let t=0;t<d.length;t++){const e=d[t];if(s>=e.x&&s<=e.x+e.width&&l>=e.y&&l<=e.y+e.height){const t=(null==(n=e.style)?void 0:n.zIndex)??1;t>=A&&(A=t,c=e.id)}}c&&t.selectElement(c,!1)})(e,c),onClick:zs(O,["self"])},[Qt(t).showGrid?(Ro(),jo("div",JS)):na("",!0),C.value&&k.value===c?(Ro(),jo("div",{key:1,"data-print-exclude":"true",style:G(I.value)},null,4)):na("",!0),h.value&&Qt(t).showHeaderLine?(Ro(),jo("div",{key:2,"data-print-exclude":"true",class:X(["absolute left-0 w-full z-20 group flex flex-col justify-center items-center",0===c&&A.value?"cursor-row-resize":"cursor-default"]),style:G({top:`${Qt(t).headerHeight+l.value}px`,left:`${a.value}px`,width:Qt(t).canvasSize.width-a.value-s.value+"px",height:"12px",marginTop:"-6px"}),onMousedown:e=>0===c&&m(e,"header")},[Xo("div",{class:"w-full h-px",style:G({backgroundImage:0===c?"linear-gradient(to right, #f87171 60%, transparent 40%)":"linear-gradient(to right, #d1d5db 60%, transparent 40%)",backgroundSize:"20px 1px",backgroundRepeat:"repeat-x"})},null,4),Xo("div",{class:X(["absolute right-0 -top-4 text-xs bg-white/80 px-1 pointer-events-none",0===c?"text-red-400":"text-gray-400"])},oe(Qt(n)("canvas.headerLabel")),3)],46,$S)):na("",!0),h.value&&Qt(t).showFooterLine?(Ro(),jo("div",{key:3,"data-print-exclude":"true",class:X(["absolute left-0 w-full z-20 group flex flex-col justify-center items-center",0===c&&A.value?"cursor-row-resize":"cursor-default"]),style:G({bottom:`${Qt(t).footerHeight+u.value}px`,left:`${a.value}px`,width:Qt(t).canvasSize.width-a.value-s.value+"px",height:"12px",marginBottom:"-6px"}),onMousedown:e=>0===c&&m(e,"footer")},[Xo("div",{class:"w-full h-px",style:G({backgroundImage:0===c?"linear-gradient(to right, #f87171 60%, transparent 40%)":"linear-gradient(to right, #d1d5db 60%, transparent 40%)",backgroundSize:"20px 1px",backgroundRepeat:"repeat-x"})},null,4),Xo("div",{class:X(["absolute right-0 -bottom-4 text-xs bg-white/80 px-1 pointer-events-none",0===c?"text-red-400":"text-gray-400"])},oe(Qt(n)("canvas.footerLabel")),3)],46,eB)):na("",!0),c>0&&i.value.length>0?(Ro(!0),jo(Do,{key:4},pi(z(),e=>(Ro(),Go(jx,{key:`global-${e.id}`,element:e,"is-selected":Qt(t).selectedElementId===e.id||Qt(t).selectedElementIds.includes(e.id),zoom:o.value,"page-index":0,"read-only":!0},{default:Jr(()=>[(Ro(),Go(Ai(T(e.type)),{element:e,"page-index":c,"total-pages":i.value.length},null,8,["element","page-index","total-pages"]))]),_:2},1032,["element","is-selected","zoom"]))),128)):na("",!0),(Ro(!0),jo(Do,null,pi(M(e.elements),e=>(Ro(),Go(jx,{key:e.id,element:e,"is-selected":Qt(t).selectedElementId===e.id||Qt(t).selectedElementIds.includes(e.id),zoom:o.value,"page-index":c,"read-only":!h.value},{default:Jr(()=>[(Ro(),Go(Ai(T(e.type)),{element:e,"page-index":c,"total-pages":i.value.length},null,8,["element","page-index","total-pages"]))]),_:2},1032,["element","is-selected","zoom","page-index","read-only"]))),128)),h.value&&Qt(t).showCornerMarkers?(Ro(),jo("div",tB,[Xo("div",{class:"absolute w-3 h-3 border-t-2 border-l-2 border-gray-300",style:G({top:`${l.value}px`,left:`${a.value}px`})},null,4),Xo("div",{class:"absolute w-3 h-3 border-t-2 border-r-2 border-gray-300",style:G({top:`${l.value}px`,right:`${s.value}px`})},null,4),Xo("div",{class:"absolute w-3 h-3 border-b-2 border-l-2 border-gray-300",style:G({bottom:`${u.value}px`,left:`${a.value}px`})},null,4),Xo("div",{class:"absolute w-3 h-3 border-b-2 border-r-2 border-gray-300",style:G({bottom:`${u.value}px`,right:`${s.value}px`})},null,4)])):na("",!0),h.value&&Qt(t).showMarginLines&&(a.value>0||l.value>0)?(Ro(),jo("div",rB,[l.value>0?(Ro(),jo("div",{key:0,class:"absolute border-t border-dashed border-gray-400 w-full",style:G({top:`${l.value}px`})},null,4)):na("",!0),u.value>0?(Ro(),jo("div",{key:1,class:"absolute border-b border-dashed border-gray-400 w-full",style:G({bottom:`${u.value}px`})},null,4)):na("",!0),a.value>0?(Ro(),jo("div",{key:2,class:"absolute border-l border-dashed border-gray-400 h-full",style:G({left:`${a.value}px`})},null,4)):na("",!0),s.value>0?(Ro(),jo("div",{key:3,class:"absolute border-r border-dashed border-gray-400 h-full",style:G({right:`${s.value}px`})},null,4)):na("",!0)])):na("",!0)],46,ZS)]))),128))],4))}}),iB=Nn({__name:"PrintRenderer",props:{payload:{},token:{}},setup(e){const t=e,r=Ft(null),n=Wb(),i=t.token||new URLSearchParams(window.location.search).get("printToken")||"",o=window.location.origin,a=Ft([]);rn("registerRenderTask",e=>{a.value.push(e)});const s=()=>{var e;return(null==(e=r.value)?void 0:e.ownerDocument)||document},l=()=>s().defaultView||window,u=e=>{const t=l();t.parent&&t.parent!==t&&t.parent.postMessage({type:e,token:i},o),window.dispatchEvent(new CustomEvent(`print-renderer:${e}`,{detail:{token:i}}))},c=async e=>{n.$patch({pages:Dm(e.pages||[]),canvasSize:e.canvasSize||n.canvasSize,canvasBackground:e.canvasBackground||n.canvasBackground,headerHeight:e.headerHeight??n.headerHeight,footerHeight:e.footerHeight??n.footerHeight,pageSpacingX:e.pageSpacingX??n.pageSpacingX,pageSpacingY:e.pageSpacingY??n.pageSpacingY,showHeaderLine:e.showHeaderLine??!1,showFooterLine:e.showFooterLine??!1,showGrid:!1,showCornerMarkers:!1,zoom:1,currentPageIndex:0,selectedElementId:null,selectedElementIds:[],guides:[],testData:e.testData||{},variables:e.variables||{}}),e.watermark&&(n.watermark=Dm(e.watermark)),e.unit&&(n.unit=e.unit),n.setIsExporting(!0);s().body.classList.add("exporting"),a.value=[],await br(),await Promise.all(a.value),await(async(e=2e3)=>{const t=s().fonts;t&&t.ready&&await Promise.race([t.ready,new Promise(t=>setTimeout(t,e))])})(),await(async(e=2e3)=>{const t=s(),r=Array.from(t.images||[]).filter(e=>!e.complete);0!==r.length&&await Promise.race([Promise.all(r.map(e=>new Promise(t=>{const r=()=>{e.removeEventListener("load",r),e.removeEventListener("error",r),t()};e.addEventListener("load",r,{once:!0}),e.addEventListener("error",r,{once:!0})}))),new Promise(t=>setTimeout(t,e))])})(),requestAnimationFrame(()=>{u("print-renderer-rendered")})},A=e=>{if(e.origin!==o)return;const t=e.data;t&&"print-renderer-payload"===t.type&&t.token===i&&c(t.payload||{})};return ei(()=>{const e=s(),r=l();e.body.style.margin="0",e.body.style.background="#ffffff",r.addEventListener("message",A),t.payload?c(t.payload):u("print-renderer-ready")}),ii(()=>{l().removeEventListener("message",A)}),(e,t)=>(Ro(),jo("div",{class:"print-renderer",ref_key:"root",ref:r},[Zo(nB)],512))}}),oB=zC(iB,[["__scopeId","data-v-d181d33d"]]),aB=()=>{const e=Wb(),{printMode:t,silentPrint:r,localSettings:n,remoteSettings:i,localStatus:o,remoteStatus:a,localPrintOptions:s,remotePrintOptions:l,localWsUrl:u,remoteSelectedClientId:c,fetchRemoteClients:A,fetchRemotePrinters:d,submitRemoteTask:h,exportImageMerged:p}=Fx(),f=t=>{const r=Dm(t);if(0===r.length)return r;const n=e.headerHeight>0&&e.showHeaderLine,i=e.footerHeight>0&&e.showFooterLine,o=r[0],a=e.canvasSize.height,s=e.pageSpacingY||0,l=e.pageSpacingY||0,u=e.headerHeight+s,c=a-(e.footerHeight+l),A=n?o.elements.filter(t=>e.getElementBoundsAtPosition(t,t.x,t.y).maxY<=u):[],d=i?o.elements.filter(t=>e.getElementBoundsAtPosition(t,t.x,t.y).minY>=c):[],h=o.elements.filter(e=>e.type!==Nm.TABLE&&!0===e.repeatPerPage),p=new Map;[...A,...d,...h].forEach(e=>{p.set(e.id,e)});const f=Array.from(p.values());if(0===f.length)return r;const g=Dm(r);for(let e=0;e<g.length;e++){if(0===e)continue;const t=g[e];for(const e of f)t.elements.push({...Dm(e),id:kh()})}return g},g=async(t={})=>{const r=!0===t.mutateStore,n=!0===t.setExporting,i=e.selectedElementId,o=e.showGrid,a=e.zoom,s=Dm(e.pages),l=e.showHeaderLine,u=e.showFooterLine,c=e.showCornerMarkers,A=Boolean(e.isExporting),d=document.body.classList.contains("exporting"),h=document.documentElement.style.overflowX,p=document.documentElement.style.overflowY,g=document.body.style.overflowX,v=document.body.style.overflowY;return r&&(e.selectElement(null),e.setShowGrid(!1),e.setZoom(1),e.pages=f(e.pages),e.setShowHeaderLine(!1),e.setShowFooterLine(!1),e.showCornerMarkers=!1),n&&(e.setIsExporting(!0),document.body.classList.add("exporting")),(r||n)&&(document.documentElement.style.overflowX="hidden",document.documentElement.style.overflowY="hidden",document.body.style.overflowX="hidden",document.body.style.overflowY="hidden",await br(),await new Promise(e=>setTimeout(e,500))),()=>{document.body.classList.contains("exporting")&&!d&&document.body.classList.remove("exporting"),e.isExporting!==A&&e.setIsExporting(A),e.showCornerMarkers!==c&&(e.showCornerMarkers=c),(r||n)&&(document.documentElement.style.overflowX=h,document.documentElement.style.overflowY=p,document.body.style.overflowX=g,document.body.style.overflowY=v),r&&(e.setShowGrid(o),e.selectElement(i),e.setZoom(a),e.pages=s,e.setShowHeaderLine(l),e.setShowFooterLine(u))}},v=e=>{if(!e||"string"==typeof e)return!1;const t=Array.isArray(e)?e[0]:e;return t instanceof HTMLElement&&t.getRootNode()instanceof ShadowRoot},m=(e=!0)=>{const t=document.documentElement.style.overflowX,r=document.documentElement.style.overflowY,n=document.documentElement.style.scrollbarGutter,i=document.body.style.overflowX,o=document.body.style.overflowY,a=document.body.style.scrollbarGutter;return document.documentElement.style.overflowX="hidden",document.documentElement.style.overflowY="hidden",document.documentElement.style.scrollbarGutter=e?"stable":"",document.body.style.overflowX="hidden",document.body.style.overflowY="hidden",document.body.style.scrollbarGutter=e?"stable":"",()=>{document.documentElement.style.overflowX=t,document.documentElement.style.overflowY=r,document.documentElement.style.scrollbarGutter=n,document.body.style.overflowX=i,document.body.style.overflowY=o,document.body.style.scrollbarGutter=a}},y=e=>{e.classList.remove("group","cursor-move","select-none","ring-2","ring-blue-500","ring-red-500","hover:outline","hover:outline-1","hover:outline-blue-300");const t=[];e.classList.forEach(e=>{(e.startsWith("hover:")||e.startsWith("focus:")||e.startsWith("active:"))&&t.push(e)}),t.forEach(t=>e.classList.remove(t));("transparent"===e.style.borderColor||e.style.border.includes("transparent")||"dashed"===e.style.borderStyle&&("transparent"===e.style.borderColor||!e.style.borderColor&&e.style.border.includes("transparent")))&&(e.style.border="none",e.style.outline="none",e.style.boxShadow="none"),Array.from(e.children).forEach(e=>y(e))},b={enabled:!1,text:"",angle:-30,color:"#000000",opacity:.1,size:24,density:160},w=async()=>{const t=kh(),r=document.createElement("iframe");r.setAttribute("data-print-renderer","true"),r.style.cssText="position:fixed;left:0;top:0;width:0;height:0;border:0;visibility:hidden;",document.body.appendChild(r);const n=r.contentDocument,i=r.contentWindow;if(!n||!i)throw new Error("Print renderer not available");const o=n.createElement("style");o.textContent=wh,n.head.appendChild(o);const a=n.createElement("div");a.id="app",n.body.appendChild(a);const s={pages:f(e.pages),canvasSize:{...e.canvasSize},canvasBackground:e.canvasBackground,headerHeight:e.headerHeight,footerHeight:e.footerHeight,pageSpacingX:e.pageSpacingX||0,pageSpacingY:e.pageSpacingY||0,showHeaderLine:e.showHeaderLine,showFooterLine:e.showFooterLine,watermark:Dm(e.watermark||b),unit:e.unit||"mm",testData:Dm(e.testData||{}),variables:Dm(e.variables||{})},l=js({render:()=>Pa(oB,{payload:s,token:t})});l.use(Ul()),l.use(bh),l.mount(a);const u=()=>{l.unmount(),r.parentNode&&r.parentNode.removeChild(r)};try{await((e,t,r=15e3)=>new Promise((n,i)=>{const o=window.location.origin,a=window.setTimeout(()=>{window.removeEventListener("message",s),window.removeEventListener(`print-renderer:${t}`,l),i(new Error(`Print renderer timeout: ${t}`))},r),s=r=>{if(r.origin!==o)return;const i=r.data;i&&i.type===t&&i.token===e&&(window.clearTimeout(a),window.removeEventListener("message",s),window.removeEventListener(`print-renderer:${t}`,l),n(i))},l=r=>{r.detail&&r.detail.token===e&&(window.clearTimeout(a),window.removeEventListener("message",s),window.removeEventListener(`print-renderer:${t}`,l),n({type:t,token:e}))};window.addEventListener("message",s),window.addEventListener(`print-renderer:${t}`,l)}))(t,"print-renderer-rendered");return{pages:Array.from(n.querySelectorAll(".print-page")),cleanup:u,getComputedStyleFn:i.getComputedStyle.bind(i)}}catch(c){throw u(),c}},x=async e=>{if("string"==typeof e)return{content:e,cleanup:null,getComputedStyleFn:window.getComputedStyle};const t=await w();return{content:t.pages,cleanup:t.cleanup,getComputedStyleFn:t.getComputedStyleFn}},_=async t=>{const r=t||Array.from(document.querySelectorAll(".print-page")),n=await g({mutateStore:!1,setExporting:!1}),i=e.canvasSize.width,o=e.canvasSize.height;let a=null,s=null,l=null;try{const t=await x(r);l=t.cleanup;const n=await B(t.content,i,o,!0,t.getComputedStyleFn);a=n.container,s=n.tempWrapper;const u=document.createElement("div");u.style.width="100%",u.style.display="flex",u.style.flexDirection="column",u.style.alignItems="center";const c=Array.from(a.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName));return c.forEach((t,r)=>{const n=t.cloneNode(!0),a=r===c.length-1;n.style.position="relative",n.style.left="auto",n.style.top="auto",n.style.width=`${i}px`,n.style.height=`${o}px`,n.style.margin=a?"0":"0 0 20px 0",n.style.backgroundColor=e.canvasBackground,n.style.transform="none",n.querySelectorAll('[style*="overflow: hidden"]').forEach(e=>{const t=e,r=t.querySelector("table");r&&"fixed"===r.style.tableLayout&&(t.style.overflow="visible",t.style.height="auto",r.style.height="auto")}),u.appendChild(n)}),u.outerHTML}finally{s&&s.parentNode&&s.parentNode.removeChild(s),l&&l(),n()}},C=(t,r,n,i,o,a,s)=>{const l=t.querySelectorAll("[data-print-wrapper]"),u=e.pageSpacingY||0,c=e.pageSpacingY||0;l.forEach(e=>{const t=e;if(t.hasAttribute("data-flow-id"))return;const l="true"===t.getAttribute("data-repeat-per-page"),A=parseFloat(t.style.top)||0;parseFloat(t.style.height)||t.offsetHeight;if(a&&A<n+u||s&&A>=o-i-c||l){const e=t.cloneNode(!0);r.appendChild(e)}})},S=e=>{const t=e.querySelector("tfoot");if(!t)return;const r=e.getAttribute("data-custom-script");if(r)try{const n=e.querySelector("tbody"),i=[];if(n){Array.from(n.querySelectorAll("tr")).forEach(e=>{const t={};Array.from(e.querySelectorAll("td")).forEach(e=>{const r=e.getAttribute("data-field");r&&(t[r]=e.textContent||"")}),Object.keys(t).length>0&&i.push(t)})}const o=[];Array.from(t.querySelectorAll("tr")).forEach(e=>{const t={};Array.from(e.querySelectorAll("td")).forEach(e=>{const r=e.getAttribute("data-field");r&&(t[r]={value:e.getAttribute("data-value")||e.textContent||""})}),o.push(t)});if(new Function("data","footerData","columns","type",r)(i,o,[],"page"),o.length>0){Array.from(t.querySelectorAll("tr")).forEach((e,t)=>{if(o[t]){Array.from(e.querySelectorAll("td")).forEach(e=>{const r=e.getAttribute("data-field");if(r&&void 0!==o[t][r]){let n=o[t][r];n&&"object"==typeof n&&(void 0!==n.result?n=n.result:void 0!==n.value&&(n=n.value)),e.textContent=String(n)}})}})}return}catch(gH){}},B=async(t,r,n,i=!0,o=window.getComputedStyle)=>{const a=document.createElement("div");a.style.position="fixed",a.style.left="0",a.style.top="0",a.style.width="0",a.style.height="0",a.style.overflow="hidden",a.style.zIndex="-9999",a.style.visibility="hidden",a.style.pointerEvents="none",a.className="print_temp_container",document.body.appendChild(a);const s=document.createElement("div");s.style.position="absolute",s.style.left="0",s.style.top="0",s.style.width=`${r}px`,s.style.height=`${n}px`,a.appendChild(s);let l=[];"string"==typeof t?(s.innerHTML=t,l=Array.from(s.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName))):l=Array.isArray(t)?t:t.classList.contains("design-workspace")?Array.from(t.children):[t],l.forEach((t,i)=>{const a=((e,t=window.getComputedStyle)=>{const r=e.cloneNode(!0),n=[[e,r]];for(;n.length>0;){const[e,r]=n.shift();if(1===e.nodeType){const n=t(e),i=r.style,o="COL"===e.tagName,a=o?i.getPropertyValue("width"):null;for(let e=0;e<n.length;e++){const t=n[e];i.setProperty(t,n.getPropertyValue(t),n.getPropertyPriority(t))}o&&a&&i.getPropertyValue("width")!==a&&i.setProperty("width",a)}for(let t=0;t<e.children.length;t++)r.children[t]&&n.push([e.children[t],r.children[t]])}return r})(t,o);a.style.position="absolute",a.style.left="0",a.style.top=i*n+"px",a.style.width=`${r}px`,a.style.height=`${n}px`,a.style.transform="none",a.style.backgroundColor=e.canvasBackground,a.querySelectorAll('[data-print-exclude="true"]').forEach(e=>e.remove());a.querySelectorAll(".element-wrapper").forEach((e,t)=>{const r=e;r.setAttribute("data-print-wrapper","true");const n=parseFloat(r.style.top||""),o=parseFloat(r.style.height||""),a=Number.isFinite(n)?n:0,s=Number.isFinite(o)?o:r.getBoundingClientRect().height;r.setAttribute("data-original-top",`${a}`),r.setAttribute("data-original-height",`${s}`),r.setAttribute("data-origin-page-index",`${i}`);const l=`${i}-${t}`;r.setAttribute("data-wrapper-seq",l);const u=r.querySelector("table"),c=r.querySelector('[data-auto-height="true"]');u||c?r.setAttribute("data-flow-id",l):r.removeAttribute("data-flow-id")}),y(a);a.querySelectorAll("svg").forEach(e=>{const t=e.getBoundingClientRect();if(0===t.width||0===t.height){const t=e.getAttribute("width"),r=e.getAttribute("height");t&&(e.style.width=t.includes("px")?t:`${t}px`),r&&(e.style.height=r.includes("px")?r:`${r}px`)}}),s.appendChild(a)}),await new Promise(e=>setTimeout(e,200)),i&&await(async e=>{const t=e.querySelectorAll("svg");if(0===t.length)return;const{Canvg:r}=await Promise.resolve().then(()=>$ze);t.forEach(e=>{const t=e.parentElement;if(!t)return;const n=getComputedStyle(t),i=parseFloat(n.width),o=parseFloat(n.height),a=document.createElement("canvas");a.width=Number.isFinite(i)?Math.max(1,Math.round(i)):10,a.height=Number.isFinite(o)?Math.max(1,Math.round(o)):10;const s=a.getContext("2d");if(!s)return;const l=new XMLSerializer;e.setAttribute("width",`${i}px`),e.setAttribute("height",`${o}px`);const u=l.serializeToString(e);r.fromString(s,u).render();const c=document.createElement("img");c.src=a.toDataURL("image/png"),c.style.width=`${i}px`,c.style.height=`${o}px`,c.style.display="block",e.before(c),t.removeChild(e)})})(s);const u=((t,r,n,i,o,a)=>{const s=(e,t,r=0)=>{const n=parseFloat(e.getAttribute(t)||"");return Number.isFinite(n)?n:r},l=()=>{let l=Array.from(t.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName));if(0===l.length)return;const u=e.pageSpacingY||0,c=e.pageSpacingY||0,A=new Map;l.forEach((e,t)=>{const n=e.getBoundingClientRect();Array.from(e.querySelectorAll("[data-print-wrapper][data-flow-id]")).forEach(e=>{const i=e.querySelector("table"),o=e.querySelector('[data-auto-height="true"]');if(!i&&!o)return;if(i&&"true"!==i.getAttribute("data-auto-paginate"))return;const a=s(e,"data-origin-page-index",t),l=s(e,"data-original-top",parseFloat(e.style.top||"")||0)+s(e,"data-original-height",e.getBoundingClientRect().height),u=(i||o).getBoundingClientRect().bottom-n.top,c=t*r+u,d=A.get(a)||[],h=d.find(e=>Math.abs(e.originalBottom-l)<.5);h?c>h.finalGlobalBottom&&(h.finalGlobalBottom=c):d.push({originalBottom:l,finalGlobalBottom:c}),A.set(a,d)})}),A.forEach(e=>{e.sort((e,t)=>e.originalBottom-t.originalBottom)});for(let e=0;e<l.length;e++){const d=l[e];Array.from(d.querySelectorAll("[data-print-wrapper]")).forEach(d=>{if(d.hasAttribute("data-flow-id")&&(d.hasAttribute("data-flow-paginated")||d.hasAttribute("data-is-split-chunk")))return;if("true"===d.getAttribute("data-repeat-per-page"))return;const h=s(d,"data-origin-page-index",e),p=A.get(h);if(!p||0===p.length)return;const f=s(d,"data-original-top",parseFloat(d.style.top||"")||0);if(o&&f<n+u||a&&f>=r-i-c)return;let g=null;for(let e=0;e<p.length;e++){const t=p[e];if(!(t.originalBottom<=f+.01))break;g=t}if(!g)return;const v=f-g.originalBottom,m=g.finalGlobalBottom+v;let y=Math.floor(m/r);for(y<0&&(y=0);y>=l.length;){const e=l[l.length-1],s=document.createElement("div");s.className=e.className,s.style.cssText=e.style.cssText,s.innerHTML="",C(e,s,n,i,r,o,a),t.appendChild(s),l=Array.from(t.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName))}const b=l[y],w=m-y*r;d.parentElement!==b&&b.appendChild(d),d.style.removeProperty("top"),d.style.setProperty("top",`${w}px`,"important")})}};let u=Array.from(t.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName));for(let d=0;d<u.length;d++){const c=u[d];c.querySelectorAll('table, [data-auto-height="true"]').forEach(A=>{var h;const p="TABLE"===A.tagName?A:null,f="true"===A.getAttribute("data-auto-height"),g=A.closest("[data-print-wrapper]");if(!g)return;if(g.parentElement!==c)return;if(g.hasAttribute("data-flow-paginated"))return;if(p&&"true"!==p.getAttribute("data-auto-paginate"))return;const v=window.getComputedStyle(g).transform;if(v&&"none"!==v&&v.startsWith("matrix")){const e=v.substring(7,v.length-1).split(",");if(e.length>=4){const t=parseFloat(e[1]),r=parseFloat(e[2]);if(Math.abs(t)>.001||Math.abs(r)>.001)return}}if(g.style.height="auto",p){p.style.height="auto";const e=p.querySelector("tbody");e&&(e.style.height="auto");const t=p.parentElement;t&&(t.classList.remove("h-full","overflow-hidden"),t.style.height="auto",t.style.overflow="visible")}else if(f){const e=A;e.classList.remove("h-full","overflow-hidden"),e.style.height="auto",e.style.overflow="visible";const t=e.parentElement;t&&(t.style.height="auto",t.style.overflow="visible")}const m=c.getBoundingClientRect(),y=e.pageSpacingY||0,b=a?i:0,w=m.top+r-b-y,x=g.getBoundingClientRect().top;if((p||A).getBoundingClientRect().bottom<=w+1||!p)return p&&S(p),g.setAttribute("data-flow-paginated","true"),void l();let _=-1;const B=p.querySelector("tbody");if(!B)return;const k=Array.from(B.querySelectorAll("tr")),E=p.querySelector("tfoot"),I="true"===p.getAttribute("data-tfoot-repeat");let T=0;E&&I&&(T=E.getBoundingClientRect().height);for(let t=0;t<k.length;t++)if(k[t].getBoundingClientRect().bottom+T>w+1){if(_=t,0===_){const t=e.pageSpacingY||0,r=o&&n>0?n+t:t;let i=r;const a=s(g,"data-original-top",parseFloat(g.style.top||"")||0);a>=r&&a<=r+100&&(i=a),x<=i+5&&(_=1)}break}if(-1!==_){const A=document.createElement("div");A.className=c.className,A.style.cssText=c.style.cssText,A.innerHTML="",C(c,A,n,i,r,o,a),d===u.length-1?t.appendChild(A):t.insertBefore(A,u[d+1]),u=Array.from(t.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName));const f=g.cloneNode(!0),v=e.pageSpacingY||0,m=o&&n>0?n+v:v;let y=m;const b=s(g,"data-original-top",parseFloat(g.style.top||"")||0);b>=m&&b<=m+100&&(y=b),f.style.removeProperty("top"),f.style.setProperty("top",`${y}px`,"important");const w=k;for(let e=_;e<w.length;e++)w[e].remove();0===_&&g.remove();const x=p.querySelector("tfoot"),B="true"===p.getAttribute("data-tfoot-repeat");x&&(B?S(p):x.remove());const E=f.querySelector("table");E.style.height="auto";const I=E.querySelector("tbody");if(I){I.style.height="auto";const e=Array.from(I.querySelectorAll("tr"));for(let t=0;t<_;t++)null==(h=e[t])||h.remove()}A.appendChild(f),g.setAttribute("data-flow-paginated","true"),f.setAttribute("data-is-split-chunk","true"),l()}else p&&S(p),g.setAttribute("data-flow-paginated","true"),l()})}l(),u=Array.from(t.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName));const c=e.pageSpacingY||0,A=e.pageSpacingY||0;for(let e=u.length-1;e>0;e--){const t=u[e];Array.from(t.querySelectorAll("[data-print-wrapper]")).some(e=>{if(e.hasAttribute("data-flow-id"))return!0;if("true"===e.getAttribute("data-repeat-per-page"))return!1;const t=parseFloat(e.style.top)||0;return!(o&&t<n+c||a&&t>=r-i-A)})||t.remove()}return u=Array.from(t.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName)),u.forEach((e,t)=>{e.style.top=t*r+"px"}),u.length})(s,n,e.headerHeight,e.footerHeight,e.showHeaderLine,e.showFooterLine);return((e,t)=>{Array.from(e.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName)).forEach((e,r)=>{e.querySelectorAll('[data-print-type="page-number"]').forEach(e=>{const n=e.querySelector(".page-number-text");n&&(n.textContent=`${r+1}/${t}`)})})})(s,u),s.style.height=n*u+"px",{container:s,tempWrapper:a,pagesCount:u}},k=async(t,r,n)=>{var i;const o=Array.from(t.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName));o.forEach(e=>{e.style.top="0px"});const a=Array.from(document.querySelectorAll('link[href*="monaco-editor"]')),s=a.map(e=>e.parentNode);a.forEach(e=>{var t;return null==(t=e.parentNode)?void 0:t.removeChild(e)});const l=Fx(),u=(null==(i=null==l?void 0:l.printQuality)?void 0:i.value)??"normal";let c=1,A=.8;"fast"===u?(c=.5,A=.6):"normal"===u?(c=1,A=.8):"high"===u?(c=1.5,A=.9):"ultra"===u&&(c=2,A=1);try{const t=async t=>{const i=await Promise.resolve().then(()=>iRe),o=(null==i?void 0:i.default)||i,a=await o.toCanvas(t,{filter:e=>{if(1===e.nodeType&&"LINK"===e.tagName){const t=e.href;if(t&&t.includes("monaco-editor"))return!1}return!0},scale:c,width:r,height:n,useCORS:!0,bgcolor:e.canvasBackground}),s=a.getContext("2d");return s&&(s.mozImageSmoothingEnabled=!0,s.webkitImageSmoothingEnabled=!0,s.msImageSmoothingEnabled=!0,s.imageSmoothingEnabled=!0),a.toDataURL("image/jpeg",A)},i=3,a=[];for(let e=0;e<o.length;e+=i){const r=o.slice(e,e+i),n=await Promise.all(r.map(e=>t(e)));a.push(...n)}return a}finally{a.forEach((e,t)=>{var r;s[t]&&(null==(r=s[t])||r.appendChild(e))})}},E=async t=>{const r=await g({mutateStore:!1,setExporting:!1}),n=m(!v(t)),i=e.canvasSize.width,o=e.canvasSize.height,a=_w(i),s=_w(o);let l=null,u=null;try{const e=await x(t);u=e.cleanup;const{container:r,tempWrapper:n}=await B(e.content,i,o,!0,e.getComputedStyleFn);l=n;const c=await Promise.resolve().then(()=>MGe),A=new((null==c?void 0:c.default)||(null==c?void 0:c.jsPDF)||c)({orientation:i>o?"l":"p",unit:"mm",format:[a,s],hotfixes:["px_scaling"]});return(await k(r,i,o)).forEach((e,t)=>{t>0&&A.addPage([a,s]),A.addImage(e,"JPEG",0,0,a,s)}),A}finally{l&&l.parentNode&&l.parentNode.removeChild(l),u&&u(),n(),r()}},I=async e=>{const t=m(!v(e));try{const t=(await E(e)).output("blob"),r=URL.createObjectURL(t);if(/Edg\//.test(navigator.userAgent)){const e=window.open(r,"_blank","noopener,noreferrer");return e?(e.addEventListener("beforeunload",()=>{URL.revokeObjectURL(r)}),e.onload=()=>{try{e.focus(),e.print()}finally{setTimeout(()=>{URL.revokeObjectURL(r)},1e3)}},{status:"success",mode:"browser"}):void URL.revokeObjectURL(r)}return await new Promise(e=>{const t=document.createElement("iframe");t.style.position="fixed",t.style.left="0",t.style.top="0",t.style.width="0px",t.style.height="0px",t.style.border="0",t.style.visibility="hidden",t.src=r,document.body.appendChild(t),t.onload=()=>{const n=t.contentWindow;n&&(n.focus(),setTimeout(()=>{n.print()},100)),setTimeout(()=>{t.parentNode&&t.parentNode.removeChild(t),URL.revokeObjectURL(r),e()},1e3)}}),{status:"success",mode:"browser"}}catch(r){throw Qm.error("Print failed"),r}finally{t()}},T=(e,t,r)=>{const n={printer:e.printer,content:t};return r&&(n.key=r),(e.jobName||e.copies||e.intervalMs)&&(n.job={...e.jobName?{name:e.jobName}:{},...e.copies?{copies:e.copies}:{},...e.intervalMs?{intervalMs:e.intervalMs}:{}}),(e.pageRange||e.pageSet)&&(n.pages={...e.pageRange?{range:e.pageRange}:{},...e.pageSet?{set:e.pageSet}:{}}),(e.scale||e.orientation)&&(n.layout={...e.scale?{scale:e.scale}:{},...e.orientation?{orientation:e.orientation}:{}}),e.colorMode&&(n.color={mode:e.colorMode}),e.sidesMode&&(n.sides={mode:e.sidesMode}),e.paperSize&&(n.paper={size:e.paperSize}),e.trayBin&&(n.tray={bin:e.trayBin}),n};let P=null,M="",L=null,D=Promise.resolve();const N=()=>{P&&P.readyState===WebSocket.OPEN&&P.close(),P=null,M="",L=null},O=(e,t,r,n=3e4)=>(D=D.catch(()=>{}).then(()=>new Promise(async(r,i)=>{let o=!1,a=null;const s=window.setTimeout(()=>{o||(o=!0,N(),i(new Error("Print request timeout")))},n),l=()=>{a&&(a.removeEventListener("message",u),a.removeEventListener("error",c),a.removeEventListener("close",A))},u=e=>{if(!o)try{const t=JSON.parse(e.data);"success"!==t.status&&"error"!==t.status&&"ok"!==t.status&&"print_result"!==t.type||(o=!0,window.clearTimeout(s),l(),"success"===t.status||"ok"===t.status||"print_result"===t.type&&"error"!==t.status?r(t):i(new Error(t.message||"Print failed")))}catch(t){"success"===e.data||"ok"===e.data?(o=!0,window.clearTimeout(s),l(),r({status:"success",message:e.data})):(o=!0,window.clearTimeout(s),l(),i(t instanceof Error?t:new Error("Print failed")))}},c=()=>{o||(o=!0,window.clearTimeout(s),l(),N(),i(new Error("Print connection failed")))},A=()=>{o||(o=!0,window.clearTimeout(s),l(),N(),i(new Error("Print connection closed")))};try{a=await(e=>P&&P.readyState===WebSocket.OPEN&&M===e?Promise.resolve(P):L||(M=e,L=new Promise((t,r)=>{const n=new WebSocket(e),i=()=>{n.removeEventListener("open",i),n.removeEventListener("error",o),P=n,L=null,t(n)},o=()=>{n.removeEventListener("open",i),n.removeEventListener("error",o),N(),r(new Error("Print connection failed"))};n.addEventListener("open",i),n.addEventListener("error",o)}),L))(e),a.addEventListener("message",u),a.addEventListener("error",c),a.addEventListener("close",A),a.send(JSON.stringify(t))}catch(d){o=!0,window.clearTimeout(s),l(),i(d instanceof Error?d:new Error("Print connection failed"))}})),D),F=async e=>{if(0===e.length)return"";const t=await new Promise((t,r)=>{const n=new Image;n.onload=()=>t(n),n.onerror=r,n.src=e[0]}),r=t.width,n=t.height,i=n*e.length,o=document.createElement("canvas");o.width=r,o.height=i;const a=o.getContext("2d");if(!a)throw new Error("Could not get canvas context");a.drawImage(t,0,0);for(let s=1;s<e.length;s++)await new Promise((t,r)=>{const i=new Image;i.onload=()=>{a.drawImage(i,0,s*n),t()},i.onerror=r,i.src=e[s]});return o.toDataURL("image/jpeg",.8)},U=async e=>{try{return(await E(e)).output("blob")}catch(t){throw t}};return{getPrintHtml:_,print:async(e,i)=>{var p,f,g;const v=(null==i?void 0:i.mode)||t.value;if("browser"===v)return await I(e);if(!("local"===v?"connected"===o.value:"connected"===a.value))return await I(e);const m={...(null==i?void 0:i.options)||("local"===v?s:l)};if("remote"===v&&r.value&&(c.value||await A(),!m.printer&&c.value)){const e=(null==(p=(await d(c.value))[0])?void 0:p.printer_name)||"";e&&(m.printer=e,l.printer=e)}if("local"===v&&r.value&&!m.printer){const{fetchLocalPrinters:e}=Fx(),t=await e(),r=(null==(f=t.find(e=>e.isDefault))?void 0:f.name)||(null==(g=t[0])?void 0:g.name)||"";r&&(m.printer=r,s.printer=r)}if(!m.printer)throw Qm.error(bh.global.t("toast.printerRequired")),new Error("Printer is required");try{const t=await U(e),r=await(y=t,new Promise((e,t)=>{const r=new FileReader;r.onloadend=()=>e(r.result),r.onerror=()=>t(new Error("Failed to read PDF blob")),r.readAsDataURL(y)}));if("local"===v){const e=T(m,r,n.secretKey.trim());return await O(u.value,e,0,m.timeout||3e4)}if(!c.value)throw Qm.error(bh.global.t("toast.clientRequired")),new Error("Client is required");const i=T(m,r);i.cmd="submit_task",i.client_id=c.value;return await h(i,m.timeout||3e4)}catch(b){throw Qm.error(bh.global.t("toast.printFailed")),b}var y},exportPdf:async(e,t="print-design.pdf")=>{try{const r=e||Array.from(document.querySelectorAll(".print-page"));(await E(r)).save(t)}catch(r){Qm.error(bh.global.t("toast.exportPdfFailed"))}},exportHtml:async(e,t="print-design.html")=>{try{const r=e||Array.from(document.querySelectorAll(".print-page")),n=await _(r),i=`<!DOCTYPE html>\n<html lang="en">\n<head>\n <meta charset="UTF-8">\n <meta name="viewport" content="width=device-width, initial-scale=1.0">\n <title>${t}</title>\n <style>\n ${wh}\n body {\n background-color: #f3f4f6;\n padding: 20px;\n margin: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n </style>\n</head>\n<body>\n ${n}\n</body>\n</html>`,o=new Blob([i],{type:"text/html;charset=utf-8"}),a=URL.createObjectURL(o),s=document.createElement("a");s.href=a,s.download=t.endsWith(".html")?t:`${t}.html`,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(a)}catch(r){Qm.error("Export HTML failed")}},exportImages:async(t,r="print-design")=>{try{const n=t||Array.from(document.querySelectorAll(".print-page")),i=await g({mutateStore:!1,setExporting:!1}),o=m(!v(n)),a=e.canvasSize.width,s=e.canvasSize.height;let l=null;const u=await x(n);l=u.cleanup;const{container:c,tempWrapper:A}=await B(u.content,a,s,!0,u.getComputedStyleFn);try{const e=await k(c,a,s);if(0===e.length)return;if(p.value){const t=await F(e),n=document.createElement("a");n.href=t,n.download=`${r}.jpg`,document.body.appendChild(n),n.click(),document.body.removeChild(n)}else{const t=await Promise.resolve().then(()=>FGe),n=new((null==t?void 0:t.default)||t);await Promise.all(e.map(async(e,t)=>{const i=await fetch(e),o=await i.blob();n.file(`${r}-${t+1}.jpg`,o)}));const i=await n.generateAsync({type:"blob"}),o=URL.createObjectURL(i),a=document.createElement("a");a.href=o,a.download=`${r}.zip`,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(o)}}finally{A&&A.parentNode&&A.parentNode.removeChild(A),l&&l(),o(),i()}}catch(n){Qm.error("Export Images failed")}},getPdfBlob:U,getImageBlob:async t=>{try{const r=t||Array.from(document.querySelectorAll(".print-page")),n=await g({mutateStore:!1,setExporting:!1}),i=m(!v(r)),o=e.canvasSize.width,a=e.canvasSize.height;let s=null;const l=await x(r);s=l.cleanup;const{container:u,tempWrapper:c}=await B(l.content,o,a,!0,l.getComputedStyleFn);try{const e=await k(u,o,a);if(0===e.length)throw new Error("No images generated");const t=await F(e),r=await fetch(t);return await r.blob()}finally{c&&c.parentNode&&c.parentNode.removeChild(c),s&&s(),i(),n()}}catch(r){throw r}}}},sB=e=>{const t="undefined"!=typeof navigator&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);return e.map(e=>{switch(e.toLowerCase()){case"ctrl":case"control":return t?"⌘":"Ctrl";case"alt":return t?"⌥":"Alt";case"shift":return t?"⇧":"Shift";case"enter":return t?"⏎":"Enter";case"backspace":return t?"⌫":"Backspace";case"delete":return t?"⌦":"Del";case"esc":case"escape":return"Esc";default:return e.toUpperCase()}}).join(" + ")},lB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const uB=Lt({name:"material-symbols-format-bold",render:function(e,t){return Ro(),jo("svg",lB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M6.8 19V5h5.525q1.625 0 3 1T16.7 8.775q0 1.275-.575 1.963t-1.075.987q.625.275 1.388 1.025T17.2 15q0 2.225-1.625 3.113t-3.05.887zm3.025-2.8h2.6q1.2 0 1.463-.612t.262-.888t-.262-.887t-1.538-.613H9.825zm0-5.7h2.325q.825 0 1.2-.425t.375-.95q0-.6-.425-.975t-1.1-.375H9.825z"},null,-1)])])}}),cB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const AB=Lt({name:"material-symbols-format-italic",render:function(e,t){return Ro(),jo("svg",cB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 19v-2.5h4l3-9H8V5h10v2.5h-3.5l-3 9H15V19z"},null,-1)])])}}),dB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const hB=Lt({name:"material-symbols-format-underlined",render:function(e,t){return Ro(),jo("svg",dB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 21v-2h14v2zm3.075-5.575q-1.4-1.575-1.4-4.175V3H9.25v8.4q0 1.4.7 2.275t2.05.875t2.05-.875t.7-2.275V3h2.575v8.25q0 2.6-1.4 4.175T12 17t-3.925-1.575"},null,-1)])])}}),pB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const fB=Lt({name:"material-symbols-text-rotate-vertical",render:function(e,t){return Ro(),jo("svg",pB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M10.9 16L15 5h2l4.1 11h-1.9l-1-2.8h-4.4l-1 2.8zm3.45-4.4h3.3l-1.6-4.55h-.1zM6 20l-3.5-3.5l1.4-1.4L5 16.15V3h2v13.15l1.1-1.05l1.4 1.4z"},null,-1)])])}}),gB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const vB=Lt({name:"material-symbols-rotate-left",render:function(e,t){return Ro(),jo("svg",gB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M11 22q-1.25-.125-2.4-.612T6.4 20.1l1.4-1.45q.725.525 1.538.85t1.662.45zm2 0v-2.05q2.6-.375 4.3-2.337T19 13.05q0-2.925-2.037-4.962T12 6.05h-.2l1.6 1.6l-1.4 1.4l-4-4l4-4l1.4 1.45l-1.55 1.55H12q1.875 0 3.513.713t2.85 1.925t1.925 2.85T21 13.05q0 3.425-2.275 5.963T13 22m-8.05-3.35q-.8-1.05-1.288-2.2t-.612-2.4H5.1q.125.85.45 1.663t.85 1.537zm-1.9-6.6q.15-1.275.625-2.45T4.95 7.45l1.45 1.4q-.525.725-.85 1.538T5.1 12.05z"},null,-1)])])}}),mB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const yB=Lt({name:"material-symbols-font-download",render:function(e,t){return Ro(),jo("svg",mB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M6.4 18h2.1l1.1-3.05h4.8L15.5 18h2.1L13.05 6h-2.1zm3.8-4.8l1.75-4.95h.1l1.75 4.95zM4 22q-.825 0-1.412-.587T2 20V4q0-.825.588-1.412T4 2h16q.825 0 1.413.588T22 4v16q0 .825-.587 1.413T20 22z"},null,-1)])])}}),bB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const wB=Lt({name:"material-symbols-format-color-fill",render:function(e,t){return Ro(),jo("svg",bB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M6.175 1.4L7.6 0l8.575 8.575q.575.575.575 1.425t-.575 1.425l-4.75 4.75q-.575.575-1.425.575t-1.425-.575l-4.75-4.75Q3.25 10.85 3.25 10t.575-1.425L8.575 3.8zM10 5.225L5.225 10h9.55zm7.588 11.188Q17 15.825 17 15q0-.525.313-1.125T18 12.75q.225-.3.475-.625T19 11.5q.275.3.525.625t.475.625q.375.525.688 1.125T21 15q0 .825-.587 1.413T19 17t-1.412-.587M2 24v-4h20v4z"},null,-1)])])}}),xB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};Lt({name:"material-symbols-check",render:function(e,t){return Ro(),jo("svg",xB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m9.55 18l-5.7-5.7l1.425-1.425L9.55 15.15l9.175-9.175L20.15 7.4z"},null,-1)])])}});const _B={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};Lt({name:"material-symbols-format-color-reset",render:function(e,t){return Ro(),jo("svg",_B,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M19.25 16.4L8.4 5.55L12 2l5.65 5.55q1.1 1.05 1.725 2.488T20 13.1q0 .9-.2 1.725t-.55 1.575m.55 6.2l-3.1-3.1q-1.025.725-2.2 1.113T12 21q-3.325 0-5.663-2.312T4 13.1q0-1.275.4-2.45T5.6 8.4L1.4 4.2l1.4-1.4l18.4 18.4z"},null,-1)])])}});const CB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};Lt({name:"material-symbols-grid-off",render:function(e,t){return Ro(),jo("svg",CB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m20.475 23.3l-2.3-2.3h-1.85v-1.85l-2-2V21h-4.65v-4.675H13.5l-2-2H9.675v-1.85l-2-2v3.85H3v-4.65h3.875l-2-2H3V5.8L.7 3.5l1.4-1.4l19.8 19.8zM5 21q-.825 0-1.412-.587T3 19v-2.675h4.675V21zm16-2.9l-1.775-1.775H21zm-3.775-3.775l-.9-.9v-3.75H21v4.65zm-2.9-2.9l-1.75-1.75h1.75zm-3.75-3.75l-.9-.9V3h4.65v4.675zm5.75 0V3H19q.825 0 1.413.588T21 5v2.675zm-8.65-2.9L5.9 3h1.775z"},null,-1)])])}});const SB={key:0,class:"w-full h-[1px] bg-red-500 rotate-45 absolute"},BB={key:1,class:"w-full h-full bg-[url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ+5wNisxL//8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII=')] opacity-50"},kB={class:"flex gap-2 mb-3"},EB={class:"flex-1 flex flex-col gap-2"},IB={class:"relative h-3 rounded bg-[url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ+5wNisxL//8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII=')] border border-gray-200 dark:border-gray-700"},TB={class:"w-8 h-8 rounded border border-gray-200 dark:border-gray-700 overflow-hidden relative"},PB={key:0,class:"absolute inset-0 flex items-center justify-center pointer-events-none"},MB={class:"flex gap-2 mb-3"},LB={class:"flex-1"},DB={class:"w-16 text-right text-xs text-gray-500 dark:text-gray-400 flex items-center justify-end"},NB={class:"grid grid-cols-9 gap-1.5 mb-3"},OB=["onClick","title"],FB={class:"flex justify-between border-t border-gray-100 dark:border-gray-700 pt-2"},UB={key:0},zB=Nn({__name:"ColorPicker",props:{modelValue:{},disabled:{type:Boolean},defaultColor:{},allowTransparent:{type:Boolean},teleportToBody:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),{isDark:o}=ew(),a=nn("modal-container",Ft(null)),s=Ft(!1),l=Ft(null),u=Ft(null),c=Ft({h:0,s:0,v:0,a:1}),A=Ft(null),d=Ft(null),h=Ft(null),p=Ta(()=>r.modelValue?"transparent"===r.modelValue?"transparent":r.modelValue:r.defaultColor||"#000000"),f=Ta(()=>"transparent"===r.modelValue),g=Ta({get:()=>Iw(c.value.h,c.value.s,c.value.v,c.value.a),set:e=>{const t=Ew(e);t&&(c.value=t,C())}}),v=Ta(()=>{const{r:e,g:t,b:r}=Bw(c.value.h,c.value.s,c.value.v);return`rgba(${e}, ${t}, ${r}, ${parseFloat(c.value.a.toFixed(2))})`}),m=Ta(()=>({backgroundColor:`hsl(${c.value.h}, 100%, 50%)`})),y=Ta(()=>({top:100*(1-c.value.v)+"%",left:100*c.value.s+"%"})),b=Ta(()=>({left:c.value.h/360*100+"%"})),w=Ta(()=>({left:100*c.value.a+"%"})),x=Ta(()=>{const{r:e,g:t,b:r}=Bw(c.value.h,c.value.s,c.value.v);return{background:`linear-gradient(to right, rgba(${e},${t},${r},0) 0%, rgba(${e},${t},${r},1) 100%)`}});an(()=>r.modelValue,e=>{if(e){const t=Ew(e);t&&(c.value=t)}},{immediate:!0});const _=(e,t)=>{e.preventDefault();const r="sv"===t?A.value:"hue"===t?d.value:h.value;if(!r)return;const n=(e,n)=>{const i=r.getBoundingClientRect();let o=(e-i.left)/i.width,a=(n-i.top)/i.height;o=Math.max(0,Math.min(1,o)),a=Math.max(0,Math.min(1,a)),"sv"===t?(c.value.s=o,c.value.v=1-a,0===c.value.a&&(c.value.a=1)):"hue"===t?(c.value.h=360*o,0===c.value.a&&(c.value.a=1)):"alpha"===t&&(c.value.a=o),C()};n(e.clientX,e.clientY);const i=e=>{n(e.clientX,e.clientY)},o=()=>{window.removeEventListener("mousemove",i),window.removeEventListener("mouseup",o)};window.addEventListener("mousemove",i),window.addEventListener("mouseup",o)},C=()=>{0===c.value.a&&r.allowTransparent?n("update:modelValue","transparent"):n("update:modelValue",Iw(c.value.h,c.value.s,c.value.v,c.value.a))},S=Ft({top:"100%",left:"0",marginTop:"8px"}),B=()=>{if(!l.value)return;const e=l.value.getBoundingClientRect(),t=window.innerWidth,n=window.innerHeight,i={};if(r.teleportToBody){const r=e.left+240<=t-20,o=e.bottom+350<=n-10;return i.position="fixed",i.left=`${r?e.left:Math.max(8,e.right-240)}px`,i.top=`${o?e.bottom+8:Math.max(8,e.top-350-8)}px`,void(S.value=i)}e.left+240>t-20?(i.left="auto",i.right="0"):(i.left="0",i.right="auto"),e.bottom+350>n-10?(i.top="auto",i.bottom="100%",i.marginTop="0",i.marginBottom="8px"):(i.top="100%",i.bottom="auto",i.marginTop="8px",i.marginBottom="0"),S.value=i},k=e=>{if(!s.value)return;const t=e.target;if(!t)return;const r=l.value,n=u.value;if(!r)return;const i=r.contains(t)||t.closest(".color-picker-trigger"),o=n&&n.contains(t)||t.closest(".color-picker-dropdown");i||o||(s.value=!1)},E=async e=>{r.disabled||(e&&e.stopPropagation(),s.value=!s.value,s.value&&(await br(),B()))},I=()=>{s.value=!1};an(s,e=>{r.teleportToBody&&(e?(B(),window.addEventListener("scroll",B,!0),window.addEventListener("resize",B)):(window.removeEventListener("scroll",B,!0),window.removeEventListener("resize",B)))});const T=["#000000","#ffffff","#ff0000","#00ff00","#0000ff","#ffff00","#00ffff","#ff00ff","#f44336","#e91e63","#9c27b0","#673ab7","#3f51b5","#2196f3","#03a9f4","#00bcd4","#009688","#4caf50","#8bc34a","#cddc39","#ffeb3b","#ffc107","#ff9800","#ff5722","#795548","#9e9e9e","#607d8b"];return ei(()=>{document.addEventListener("mousedown",k)}),ii(()=>{document.removeEventListener("mousedown",k)}),(t,r)=>(Ro(),jo("div",{class:"relative flex",ref_key:"containerRef",ref:l},[Xo("div",{class:"flex color-picker-trigger",onClick:E,onMousedown:r[0]||(r[0]=zs(()=>{},["stop"]))},[fi(t.$slots,"trigger",{open:s.value,color:p.value,disabled:e.disabled},()=>[Xo("div",{class:X(["w-6 h-6 rounded border border-gray-300 dark:border-gray-600 cursor-pointer flex items-center justify-center overflow-hidden transition-all hover:border-blue-500",{"opacity-50 cursor-not-allowed":e.disabled,"ring-2 ring-blue-500 ring-offset-1":s.value}]),style:G({backgroundColor:f.value?"transparent":p.value})},[e.modelValue?na("",!0):(Ro(),jo("div",SB)),f.value?(Ro(),jo("div",BB)):na("",!0)],6)])],32),(Ro(),Go(yn,{to:Qt(a)||"body",disabled:!e.teleportToBody},[s.value?(Ro(),jo("div",{key:0,ref_key:"dropdownRef",ref:u,class:X(["color-picker-dropdown bg-white dark:bg-gray-800 rounded-lg shadow-xl border border-gray-200 dark:border-gray-700 p-3 w-[240px] pointer-events-auto",[e.teleportToBody?"fixed z-[100000]":"absolute z-[100]",{dark:Qt(o)}]]),style:G(S.value),onClick:r[7]||(r[7]=zs(()=>{},["stop"])),onMousedown:r[8]||(r[8]=zs(()=>{},["stop"]))},[Xo("div",{ref_key:"svPanelRef",ref:A,class:"w-full h-32 rounded relative cursor-crosshair mb-3",style:G(m.value),onMousedown:r[1]||(r[1]=zs(e=>_(e,"sv"),["stop"]))},[r[9]||(r[9]=Xo("div",{class:"absolute inset-0 bg-gradient-to-r from-white to-transparent rounded"},null,-1)),r[10]||(r[10]=Xo("div",{class:"absolute inset-0 bg-gradient-to-t from-black to-transparent rounded"},null,-1)),Xo("div",{class:"absolute w-3 h-3 border-2 border-white rounded-full shadow-sm -ml-1.5 -mt-1.5 pointer-events-none",style:G(y.value)},null,4)],36),Xo("div",kB,[Xo("div",EB,[Xo("div",{ref_key:"hueSliderRef",ref:d,class:"h-3 rounded relative cursor-pointer border border-gray-200 dark:border-gray-700",style:{background:"linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%)"},onMousedown:r[2]||(r[2]=zs(e=>_(e,"hue"),["stop"]))},[Xo("div",{class:"absolute top-1/2 -translate-y-1/2 w-3 h-3 bg-white dark:bg-gray-100 border border-gray-300 dark:border-gray-600 rounded-full shadow-sm -ml-1.5 pointer-events-none",style:G(b.value)},null,4)],544),Xo("div",IB,[Xo("div",{ref_key:"alphaSliderRef",ref:h,class:"absolute inset-0 cursor-pointer rounded",style:G(x.value),onMousedown:r[3]||(r[3]=zs(e=>_(e,"alpha"),["stop"]))},[Xo("div",{class:"absolute top-1/2 -translate-y-1/2 w-3 h-3 bg-white dark:bg-gray-100 border border-gray-300 dark:border-gray-600 rounded-full shadow-sm -ml-1.5 pointer-events-none",style:G(w.value)},null,4)],36)])]),Xo("div",TB,[r[12]||(r[12]=Xo("div",{class:"absolute inset-0 bg-[url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ+5wNisxL//8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII=')] opacity-50"},null,-1)),Xo("div",{class:"absolute inset-0",style:G({backgroundColor:v.value})},null,4),0===c.value.a?(Ro(),jo("div",PB,[...r[11]||(r[11]=[Xo("div",{class:"w-full h-[1px] bg-red-500 rotate-45"},null,-1)])])):na("",!0)])]),Xo("div",MB,[Xo("div",LB,[en(Xo("input",{type:"text","onUpdate:modelValue":r[4]||(r[4]=e=>g.value=e),class:"w-full text-xs px-2 py-1 border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded focus:border-blue-500 outline-none font-mono uppercase",placeholder:"#000000"},null,512),[[Ms,g.value]])]),Xo("div",DB,oe(Math.round(100*c.value.a))+"% ",1)]),Xo("div",NB,[(Ro(),jo(Do,null,pi(T,e=>Xo("div",{key:e,class:X(["w-4 h-4 rounded-sm cursor-pointer border border-transparent hover:scale-110 hover:border-gray-400 dark:hover:border-gray-500 hover:z-10 transition-all relative",{"ring-2 ring-blue-500 ring-offset-1 z-10":g.value===e}]),style:G({backgroundColor:e}),onClick:t=>(e=>{const t=Ew(e);t&&(c.value=t,C())})(e),title:e},null,14,OB)),64))]),Xo("div",FB,[Xo("button",{onClick:r[5]||(r[5]=e=>{t.$emit("update:modelValue",void 0),I()}),class:"text-xs text-red-600 dark:text-red-400 hover:text-red-800 dark:hover:text-red-300 hover:bg-red-50 dark:hover:bg-red-900/30 px-2 py-1 rounded transition-colors"},oe(Qt(i)("colorPicker.clear")),1),e.allowTransparent?(Ro(),jo("div",UB,[Xo("button",{onClick:r[6]||(r[6]=e=>{t.$emit("update:modelValue","transparent"),I()}),class:"text-xs text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700 px-2 py-1 rounded transition-colors"},oe(Qt(i)("colorPicker.transparent")),1)])):na("",!0)])],38)):na("",!0)],8,["to","disabled"]))],512))}}),RB={class:"flex items-center gap-1 lg:gap-1.5 bg-gray-100 dark:bg-gray-800 rounded-lg px-1.5 lg:px-2 py-0.5 lg:py-1 flex-shrink-0"},QB=["disabled","title"],HB=["value"],VB={class:"flex items-center gap-0.5"},jB=["disabled","title"],GB=["disabled"],WB=["disabled","title"],KB=["disabled","title"],qB=["disabled","title"],YB=["disabled","title"],XB=["disabled","title"],ZB={class:"hidden sm:flex items-center gap-0.5"},JB=["disabled","title"],$B=["disabled","title"],ek={class:"w-1 h-3 rounded-[1px] border border-gray-300 dark:border-gray-600 relative overflow-hidden bg-white"},tk={key:0,class:"absolute inset-0 bg-[url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ+5wNisxL//8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII=')] opacity-50 bg-repeat bg-[length:6px_6px]"},rk={key:1,class:"absolute inset-0 flex items-center justify-center"},nk=["disabled","title"],ik=Nn({__name:"HeaderToolbar",setup(e){const{t:t}=dh(),r=Wb(),n=Ta(()=>r.selectedElementId),i=Ta(()=>{if(!n.value)return null;for(const e of r.pages){const t=e.elements.find(e=>e.id===n.value);if(t)return t}return null}),o=Ta(()=>{var e;return(null==(e=i.value)?void 0:e.locked)||!1}),a=Ta(()=>!i.value||o.value||!r.isTemplateEditable),s=[{label:"默认",value:""},{label:"宋体",value:"SimSun, serif"},{label:"黑体",value:"SimHei, sans-serif"},{label:"楷体",value:"KaiTi, serif"},{label:"仿宋",value:"FangSong, serif"},{label:"微软雅黑",value:'"Microsoft YaHei", sans-serif'},{label:"Arial",value:"Arial, sans-serif"},{label:"Times New Roman",value:'"Times New Roman", serif'},{label:"Consolas",value:"Consolas, monospace"}],l=Ft(""),u=Ft(14),c=Ft("#000000"),A=Ft("transparent"),d=Ft(!1),h=Ft(!1),p=Ft(!1),f=Ft(!1);an(i,e=>{var t,r,n,i,o,a,s,g;if(!e)return l.value="",u.value=14,c.value="#000000",A.value="transparent",d.value=!1,h.value=!1,p.value=!1,void(f.value=!1);l.value=(null==(t=e.style)?void 0:t.fontFamily)||"",u.value=(null==(r=e.style)?void 0:r.fontSize)||14,c.value=(null==(n=e.style)?void 0:n.color)||"#000000";const v=(null==(i=e.style)?void 0:i.backgroundColor)||"transparent";A.value="transparent"===v?"transparent":v,d.value="bold"===(null==(o=e.style)?void 0:o.fontWeight),h.value="italic"===(null==(a=e.style)?void 0:a.fontStyle),p.value="underline"===(null==(s=e.style)?void 0:s.textDecoration),f.value="vertical-rl"===(null==(g=e.style)?void 0:g.writingMode)},{immediate:!0});const g=e=>{n.value&&!o.value&&r.isTemplateEditable&&r.updateSelectedElementsStyle(e)},v=()=>{d.value=!d.value,g({fontWeight:d.value?"bold":"normal"})},m=()=>{h.value=!h.value,g({fontStyle:h.value?"italic":"normal"})},y=()=>{p.value=!p.value,g({textDecoration:p.value?"underline":"none"})},b=()=>{f.value=!f.value,g({writingMode:f.value?"vertical-rl":"horizontal-tb"})},w=()=>{g({rotate:0})};return an(l,e=>g({fontFamily:e||void 0})),an(u,e=>{e>=1&&e<=200&&g({fontSize:e})}),an(c,e=>g({color:e})),an(A,e=>g({backgroundColor:"transparent"===e?void 0:e})),(e,n)=>(Ro(),jo("div",RB,[en(Xo("select",{"onUpdate:modelValue":n[0]||(n[0]=e=>l.value=e),disabled:a.value,class:"w-24 lg:w-32 text-xs bg-transparent border-none outline-none focus:ring-0 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50 dark:text-gray-200 truncate",title:Qt(t)("editor.fontFamily")},[(Ro(),jo(Do,null,pi(s,e=>Xo("option",{key:e.value,value:e.value,class:"dark:bg-gray-800 dark:text-gray-200"},oe(e.label),9,HB)),64))],8,QB),[[Ds,l.value]]),n[7]||(n[7]=Xo("div",{class:"w-px h-3.5 bg-gray-300 dark:bg-gray-600"},null,-1)),Xo("div",VB,[Xo("button",{onClick:n[1]||(n[1]=e=>u.value>1&&u.value--),disabled:a.value||u.value<=1,class:"w-5 h-5 flex items-center justify-center hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-xs font-medium disabled:opacity-40 disabled:cursor-not-allowed",title:Qt(t)("editor.fontSize")+" (-)"},"-",8,jB),en(Xo("input",{type:"number","onUpdate:modelValue":n[2]||(n[2]=e=>u.value=e),disabled:a.value,class:"w-10 text-center text-xs bg-transparent dark:bg-gray-800 border-none outline-none focus:ring-0 p-0 disabled:opacity-50 disabled:cursor-not-allowed [appearance:textfield] [-moz-appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none dark:text-gray-200",min:"1",max:"200"},null,8,GB),[[Ms,u.value]]),Xo("button",{onClick:n[3]||(n[3]=e=>u.value<200&&u.value++),disabled:a.value||u.value>=200,class:"w-5 h-5 flex items-center justify-center hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-xs font-medium disabled:opacity-40 disabled:cursor-not-allowed",title:Qt(t)("editor.fontSize")+" (+)"},"+",8,WB)]),n[8]||(n[8]=Xo("div",{class:"w-px h-3.5 bg-gray-300 dark:bg-gray-600"},null,-1)),Xo("button",{onClick:v,disabled:a.value,class:X(["p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed",{"bg-gray-200 dark:bg-gray-700 text-blue-700 dark:text-blue-400":d.value}]),title:Qt(t)("editor.bold")},[Zo(Qt(uB),{class:"w-3.5 h-3.5 lg:w-4 lg:h-4"})],10,KB),Xo("button",{onClick:m,disabled:a.value,class:X(["p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed",{"bg-gray-200 dark:bg-gray-700 text-blue-700 dark:text-blue-400":h.value}]),title:Qt(t)("editor.italic")},[Zo(Qt(AB),{class:"w-3.5 h-3.5 lg:w-4 lg:h-4"})],10,qB),Xo("button",{onClick:y,disabled:a.value,class:X(["p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed",{"bg-gray-200 dark:bg-gray-700 text-blue-700 dark:text-blue-400":p.value}]),title:Qt(t)("editor.underline")},[Zo(Qt(hB),{class:"w-3.5 h-3.5 lg:w-4 lg:h-4"})],10,YB),Xo("button",{onClick:b,disabled:a.value,class:X(["p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed",{"bg-gray-200 dark:bg-gray-700 text-blue-700 dark:text-blue-400":f.value}]),title:Qt(t)("editor.verticalText")},[Zo(Qt(fB),{class:"w-3.5 h-3.5 lg:w-4 lg:h-4"})],10,XB),n[9]||(n[9]=Xo("div",{class:"w-px h-3.5 bg-gray-300 dark:bg-gray-600 hidden sm:block"},null,-1)),Xo("div",ZB,[Zo(zB,{modelValue:c.value,"onUpdate:modelValue":n[4]||(n[4]=e=>c.value=e),disabled:a.value,"default-color":"#000000"},{trigger:Jr(({color:e})=>[Xo("button",{type:"button",class:"flex items-center gap-0.5 p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed",disabled:a.value,title:Qt(t)("editor.textColor")},[Zo(Qt(yB),{class:"w-3.5 h-3.5"}),Xo("div",{class:"w-1 h-3 rounded-[1px] border border-gray-300 dark:border-gray-600",style:G({backgroundColor:e})},null,4)],8,JB)]),_:1},8,["modelValue","disabled"]),Zo(zB,{modelValue:A.value,"onUpdate:modelValue":n[5]||(n[5]=e=>A.value=e),disabled:a.value,"allow-transparent":!0,"default-color":"transparent"},{trigger:Jr(({color:e})=>[Xo("button",{type:"button",class:"flex items-center gap-0.5 p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed",disabled:a.value,title:Qt(t)("editor.backgroundColor")},[Zo(Qt(wB),{class:"w-3.5 h-3.5"}),Xo("div",ek,["transparent"===e?(Ro(),jo("div",tk)):na("",!0),Xo("div",{class:"absolute inset-0",style:G({backgroundColor:"transparent"===e?"transparent":e})},null,4),"transparent"===e?(Ro(),jo("div",rk,[...n[6]||(n[6]=[Xo("div",{class:"w-full h-[1px] bg-red-500 rotate-90 transform scale-150"},null,-1)])])):na("",!0)])],8,$B)]),_:1},8,["modelValue","disabled"])]),Xo("button",{onClick:w,disabled:o.value||!Qt(r).selectedElementId||!Qt(r).isTemplateEditable,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed",title:Qt(t)("editor.resetRotation")},[Zo(Qt(vB),{class:"w-3.5 h-3.5 lg:w-4 lg:h-4"})],8,nk)]))}}),ok={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const ak=Lt({name:"material-symbols-align-horizontal-left",render:function(e,t){return Ro(),jo("svg",ok,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M2 22V2h2v20zm4-5v-3h10v3zm0-7V7h16v3z"},null,-1)])])}}),sk={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const lk=Lt({name:"material-symbols-align-horizontal-center",render:function(e,t){return Ro(),jo("svg",sk,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M11 22v-5H6v-3h5v-4H3V7h8V2h2v5h8v3h-8v4h5v3h-5v5z"},null,-1)])])}}),uk={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const ck=Lt({name:"material-symbols-align-horizontal-right",render:function(e,t){return Ro(),jo("svg",uk,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M20 22V2h2v20zM8 17v-3h10v3zm-6-7V7h16v3z"},null,-1)])])}}),Ak={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const dk=Lt({name:"material-symbols-align-vertical-top",render:function(e,t){return Ro(),jo("svg",Ak,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M7 22V6h3v16zm7-6V6h3v10zM2 4V2h20v2z"},null,-1)])])}}),hk={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const pk=Lt({name:"material-symbols-align-vertical-center",render:function(e,t){return Ro(),jo("svg",hk,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M7 21v-8H2v-2h5V3h3v8h4V6h3v5h5v2h-5v5h-3v-5h-4v8z"},null,-1)])])}}),fk={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const gk=Lt({name:"material-symbols-align-vertical-bottom",render:function(e,t){return Ro(),jo("svg",fk,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M2 22v-2h20v2zm5-4V2h3v16zm7 0V8h3v10z"},null,-1)])])}}),vk={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const mk=Lt({name:"material-symbols-space-bar",render:function(e,t){return Ro(),jo("svg",vk,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M4 15V9h2v4h12V9h2v6z"},null,-1)])])}}),yk={key:0,class:"flex items-center gap-0.5 border border-gray-200 rounded-lg px-1 py-0.5 bg-white"},bk={key:1,class:"flex items-center gap-0.5 border border-gray-200 rounded-lg px-1 py-0.5 bg-white"},wk=Nn({__name:"AlignToolbar",setup(e){const t=Wb(),r=Ta(()=>t.selectedElementIds.length>=2&&t.isTemplateEditable),n=Ta(()=>t.selectedElementIds.length>=3&&t.isTemplateEditable);return(e,i)=>(Ro(),jo(Do,null,[r.value?(Ro(),jo("div",yk,[Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"左对齐",onClick:i[0]||(i[0]=e=>Qt(t).alignElements("left"))},[Zo(Qt(ak),{class:"w-4 h-4"})]),Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"水平居中",onClick:i[1]||(i[1]=e=>Qt(t).alignElements("center"))},[Zo(Qt(lk),{class:"w-4 h-4"})]),Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"右对齐",onClick:i[2]||(i[2]=e=>Qt(t).alignElements("right"))},[Zo(Qt(ck),{class:"w-4 h-4"})]),i[8]||(i[8]=Xo("div",{class:"w-px h-4 bg-gray-200 mx-0.5"},null,-1)),Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"顶对齐",onClick:i[3]||(i[3]=e=>Qt(t).alignElements("top"))},[Zo(Qt(dk),{class:"w-4 h-4"})]),Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"垂直居中",onClick:i[4]||(i[4]=e=>Qt(t).alignElements("middle"))},[Zo(Qt(pk),{class:"w-4 h-4"})]),Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"底对齐",onClick:i[5]||(i[5]=e=>Qt(t).alignElements("bottom"))},[Zo(Qt(gk),{class:"w-4 h-4"})])])):na("",!0),n.value?(Ro(),jo("div",bk,[Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"水平等距分布",onClick:i[6]||(i[6]=e=>Qt(t).distributeElements("horizontal"))},[Zo(Qt(mk),{class:"w-4 h-4 rotate-90"})]),Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"垂直等距分布",onClick:i[7]||(i[7]=e=>Qt(t).distributeElements("vertical"))},[Zo(Qt(mk),{class:"w-4 h-4"})])])):na("",!0)],64))}}),xk={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const _k=Lt({name:"material-symbols-more-vert",render:function(e,t){return Ro(),jo("svg",xk,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M12 20q-.825 0-1.412-.587T10 18t.588-1.412T12 16t1.413.588T14 18t-.587 1.413T12 20m0-6q-.825 0-1.412-.587T10 12t.588-1.412T12 10t1.413.588T14 12t-.587 1.413T12 14m0-6q-.825 0-1.412-.587T10 6t.588-1.412T12 4t1.413.588T14 6t-.587 1.413T12 8"},null,-1)])])}}),Ck={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Sk=Lt({name:"material-symbols-edit",render:function(e,t){return Ro(),jo("svg",Ck,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M3 21v-4.25L16.2 3.575q.3-.275.663-.425t.762-.15t.775.15t.65.45L20.425 5q.3.275.438.65T21 6.4q0 .4-.137.763t-.438.662L7.25 21zM17.6 7.8L19 6.4L17.6 5l-1.4 1.4z"},null,-1)])])}}),Bk={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const kk=Lt({name:"material-symbols-view-list",render:function(e,t){return Ro(),jo("svg",Bk,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M9 20h11q.825 0 1.413-.587T22 18v-2H9zM2 8h5V4H4q-.825 0-1.412.588T2 6zm0 6h5v-4H2zm2 6h3v-4H2v2q0 .825.588 1.413T4 20m5-6h13v-4H9zm0-6h13V6q0-.825-.587-1.412T20 4H9z"},null,-1)])])}}),Ek={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Ik=Lt({name:"material-symbols-description",render:function(e,t){return Ro(),jo("svg",Ek,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M8 18h8v-2H8zm0-4h8v-2H8zm-2 8q-.825 0-1.412-.587T4 20V4q0-.825.588-1.412T6 2h8l6 6v12q0 .825-.587 1.413T18 22zm7-13h5l-5-5z"},null,-1)])])}}),Tk={class:"h-[60px] flex items-center justify-between px-4 border-b border-gray-200 dark:border-gray-800 shrink-0"},Pk={class:"text-lg font-semibold text-gray-800 dark:text-gray-100"},Mk={class:"p-4"},Lk={class:"mb-4 space-y-3"},Dk={key:0,class:"block text-sm font-medium text-gray-700 dark:text-gray-200"},Nk=["onUpdate:modelValue","placeholder"],Ok=["value","placeholder","min","max","step","onInput"],Fk=["onUpdate:modelValue","rows","placeholder"],Uk=["onUpdate:modelValue"],zk={key:0,value:""},Rk=["value"],Qk={key:5,class:"space-y-2"},Hk=["onUpdate:modelValue","value"],Vk=["onUpdate:modelValue"],jk=["onUpdate:modelValue"],Gk={class:"flex justify-end gap-2"},Wk=["disabled"],Kk=Nn({__name:"InputModal",props:{show:{type:Boolean},initialValue:{},initialValues:{},title:{},placeholder:{},fields:{}},emits:["close","save"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),{isDark:o}=ew(),a=Wb(),s=nn("modal-container",Ft(null)),l=Ft(null),u=Ft({}),c=Ta(()=>r.fields&&r.fields.length>0?r.fields:[{key:"value",type:"input",required:!0,placeholder:r.placeholder||i("input.placeholder")}]),A=Ta(()=>Boolean(r.fields&&r.fields.length>0));an(()=>r.show,e=>{if(e)return(()=>{const e={};c.value.forEach(t=>{r.initialValues&&Object.prototype.hasOwnProperty.call(r.initialValues,t.key)?e[t.key]=r.initialValues[t.key]:A.value||"value"!==t.key?e[t.key]=(e=>(e.type,""))(t):e[t.key]=r.initialValue||""}),u.value=e})(),setTimeout(()=>{var e;const t=null==(e=l.value)?void 0:e.querySelector("input, textarea, select");null==t||t.focus()},100),void a.setDisableGlobalShortcuts(!0);a.setDisableGlobalShortcuts(!1)});const d=Ta(()=>{for(const e of c.value){const t=u.value[e.key],r=""===t||null==t;if(e.required&&r)return!1;if("number"===e.type&&!r&&!Number.isFinite(Number(t)))return!1}return!0}),h=()=>{if(!(()=>{for(const e of c.value){const t=u.value[e.key],r=""===t||null==t;if(e.required&&r)return!1;if("number"===e.type&&!r){const r=Number(t);if(!Number.isFinite(r))return!1;if("number"==typeof e.min&&r<e.min)return!1;if("number"==typeof e.max&&r>e.max)return!1}}return!0})())return;if(!A.value){const e=String(u.value.value??"").trim();if(!e)return;return n("save",e),void n("close")}const e={};c.value.forEach(t=>{const r=u.value[t.key];"number"!==t.type?e[t.key]=r:e[t.key]=""===r||null==r?null:Number(r)}),n("save",e),n("close")};return ii(()=>{r.show&&a.setDisableGlobalShortcuts(!1)}),(t,r)=>(Ro(),Go(yn,{to:Qt(s)||"body"},[e.show?(Ro(),jo("div",{key:0,class:X([{dark:Qt(o)},"fixed inset-0 z-[2000] flex items-center justify-center bg-black/50 pointer-events-auto"])},[Xo("div",{ref_key:"modalRef",ref:l,class:"bg-white dark:bg-gray-900 rounded-lg shadow-xl w-96 animate-in fade-in zoom-in duration-200 flex flex-col overflow-hidden"},[Xo("div",Tk,[Xo("h3",Pk,oe(e.title||Qt(i)("input.title")),1),Xo("button",{onClick:r[0]||(r[0]=e=>n("close")),class:"p-1 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-full transition-colors text-gray-500 dark:text-gray-400"},[Zo(Qt(Lw),{class:"w-4 h-4"})])]),Xo("div",Mk,[Xo("div",Lk,[(Ro(!0),jo(Do,null,pi(c.value,t=>(Ro(),jo("div",{key:t.key,class:"space-y-1"},[t.label?(Ro(),jo("label",Dk,oe(t.label),1)):na("",!0),"input"===t.type?en((Ro(),jo("input",{key:1,"onUpdate:modelValue":e=>u.value[t.key]=e,type:"text",class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",placeholder:t.placeholder||e.placeholder||Qt(i)("input.placeholder"),onKeydown:[Qs(h,["enter"]),r[1]||(r[1]=Qs(e=>n("close"),["esc"]))]},null,40,Nk)),[[Ms,u.value[t.key]]]):"number"===t.type?(Ro(),jo("input",{key:2,value:u.value[t.key],type:"number",class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",placeholder:t.placeholder||e.placeholder||Qt(i)("input.placeholder"),min:t.min,max:t.max,step:t.step??1,onInput:e=>u.value[t.key]=(e=>{if(""===e||null==e)return"";const t=Number(e);return Number.isFinite(t)?t:""})(e.target.value),onKeydown:[Qs(h,["enter"]),r[2]||(r[2]=Qs(e=>n("close"),["esc"]))]},null,40,Ok)):"textarea"===t.type?en((Ro(),jo("textarea",{key:3,"onUpdate:modelValue":e=>u.value[t.key]=e,class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",rows:t.rows??4,placeholder:t.placeholder||e.placeholder||Qt(i)("input.placeholder"),onKeydown:r[3]||(r[3]=Qs(e=>n("close"),["esc"]))},null,40,Fk)),[[Ms,u.value[t.key]]]):"select"===t.type?en((Ro(),jo("select",{key:4,"onUpdate:modelValue":e=>u.value[t.key]=e,class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",onKeydown:r[4]||(r[4]=Qs(e=>n("close"),["esc"]))},[t.required?na("",!0):(Ro(),jo("option",zk,oe(t.placeholder||Qt(i)("input.placeholder")),1)),(Ro(!0),jo(Do,null,pi(t.options||[],e=>(Ro(),jo("option",{key:String(e.value),value:e.value},oe(e.label),9,Rk))),128))],40,Uk)),[[Ds,u.value[t.key]]]):"radio"===t.type?(Ro(),jo("div",Qk,[(Ro(!0),jo(Do,null,pi(t.options||[],e=>(Ro(),jo("label",{key:String(e.value),class:"flex items-center gap-2 text-sm text-gray-700 dark:text-gray-200"},[en(Xo("input",{"onUpdate:modelValue":e=>u.value[t.key]=e,type:"radio",value:e.value},null,8,Hk),[[Ls,u.value[t.key]]]),Xo("span",null,oe(e.label),1)]))),128))])):"date"===t.type?en((Ro(),jo("input",{key:6,"onUpdate:modelValue":e=>u.value[t.key]=e,type:"date",class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",onKeydown:r[5]||(r[5]=Qs(e=>n("close"),["esc"]))},null,40,Vk)),[[Ms,u.value[t.key]]]):"datetime"===t.type?en((Ro(),jo("input",{key:7,"onUpdate:modelValue":e=>u.value[t.key]=e,type:"datetime-local",class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",onKeydown:r[6]||(r[6]=Qs(e=>n("close"),["esc"]))},null,40,jk)),[[Ms,u.value[t.key]]]):na("",!0)]))),128))]),Xo("div",Gk,[Xo("button",{onClick:r[7]||(r[7]=e=>n("close")),class:"px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700 rounded-md transition-colors"},oe(Qt(i)("common.cancel")),1),Xo("button",{onClick:h,disabled:!d.value,class:"px-4 py-2 text-sm font-medium text-white bg-blue-600 dark:bg-blue-500 hover:bg-blue-700 dark:hover:bg-blue-600 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(i)("common.confirm")),9,Wk)])])],512)],2)):na("",!0)],8,["to"]))}}),qk={class:"bg-white dark:bg-gray-900 rounded-lg shadow-xl w-[60vw] h-[80vh] flex flex-col overflow-hidden animate-fade-in"},Yk={class:"h-[60px] flex items-center justify-between px-4 border-b border-gray-200 dark:border-gray-800 shrink-0"},Xk={class:"flex items-center gap-2"},Zk={class:"text-lg font-semibold text-gray-800 dark:text-gray-100"},Jk={class:"px-2 py-0.5 rounded bg-gray-200 dark:bg-gray-800 text-gray-600 dark:text-gray-400 text-xs font-mono uppercase"},$k={class:"flex-1 overflow-hidden relative"},eE={class:"p-4 border-t border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-800 flex justify-end rounded-b-lg"},tE=Nn({__name:"CodeEditorModal",props:{visible:{type:Boolean},title:{},value:{},language:{},readOnly:{type:Boolean}},emits:["update:visible","update:value","close"],setup(e,{emit:t}){const r=jn(()=>Promise.resolve().then(()=>XH).then(e=>e.Editor)),{t:n}=dh(),{isDark:i}=ew(),o=nn("modal-container",Ft(null)),a=e,s=t,l=Wb(),u=Ta(()=>({minimap:{enabled:!0},lineNumbers:"on",glyphMargin:!1,folding:!0,wordWrap:"on",automaticLayout:!0,scrollBeyondLastLine:!1,theme:i.value?"vs-dark":"vs",fontSize:14,fontFamily:'Consolas, "Courier New", monospace',renderLineHighlight:"none",overviewRulerLanes:0,hideCursorInOverviewRuler:!0,contextmenu:!0})),c=e=>{s("update:value",e||"")},A=()=>{s("update:visible",!1),s("close")},d=e=>{a.visible&&"Escape"===e.key&&A()};return an(()=>a.visible,e=>{l.setDisableGlobalShortcuts(e)}),ei(()=>{window.addEventListener("keydown",d)}),ii(()=>{window.removeEventListener("keydown",d),a.visible&&l.setDisableGlobalShortcuts(!1)}),(t,a)=>(Ro(),Go(yn,{to:Qt(o)||"body"},[e.visible?(Ro(),jo("div",{key:0,class:X([{dark:Qt(i)},"fixed inset-0 z-[99999] flex items-center justify-center bg-black/50 pointer-events-auto"]),onClick:zs(A,["self"])},[Xo("div",qk,[Xo("div",Yk,[Xo("div",Xk,[Xo("h3",Zk,oe(e.title),1),Xo("span",Jk,oe(e.language),1)]),Xo("button",{onClick:A,class:"p-1 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-full transition-colors text-gray-500 dark:text-gray-400"},[Zo(Qt(Lw),{class:"w-4 h-4"})])]),Xo("div",$k,[Zo(Qt(r),{value:e.value,language:e.language,options:{...u.value,readOnly:e.readOnly},"onUpdate:value":c,class:"w-full h-full"},null,8,["value","language","options"])]),Xo("div",eE,[Xo("button",{onClick:A,class:"px-4 py-2 bg-blue-600 dark:bg-blue-500 text-white rounded hover:bg-blue-700 dark:hover:bg-blue-600 transition-colors text-sm"},oe(Qt(n)("common.close")),1)])])],2)):na("",!0)],8,["to"]))}}),rE=zC(tE,[["__scopeId","data-v-4c59b77a"]]),nE=["title"],iE={class:"flex-1 overflow-hidden flex items-center gap-1.5 text-left"},oE={key:0,class:"inline-flex items-center px-1.5 py-0.5 rounded border text-[10px] leading-none flex-shrink-0 bg-gray-100 text-gray-600 border-gray-200 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-600"},aE={class:"truncate"},sE={key:0,class:"absolute top-full left-0 mt-2 w-[260px] bg-white dark:bg-gray-800 rounded-lg shadow-xl border border-gray-200 dark:border-gray-700 z-[100] flex flex-col max-h-[500px]"},lE={class:"p-2 border-b border-gray-100 dark:border-gray-700"},uE={class:"flex-1 overflow-y-auto py-1"},cE={key:0,class:"px-4 py-3 text-sm text-gray-500 dark:text-gray-400 text-center"},AE=["onClick","onContextmenu","title"],dE={class:"flex items-center gap-2 overflow-hidden flex-1"},hE={class:"w-2 h-2 flex items-center justify-center flex-shrink-0"},pE={key:0,class:"w-1.5 h-1.5 rounded-full bg-blue-500"},fE={key:0,class:"inline-flex items-center px-1.5 py-0.5 rounded border text-[10px] leading-none flex-shrink-0 bg-gray-100 text-gray-600 border-gray-200 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-600"},gE=["onClick"],vE={class:"border-t border-gray-100 dark:border-gray-700 p-1"},mE=["onClick","disabled"],yE=["src"],bE=["src"],wE={key:4,class:"w-3.5 h-3.5 inline-flex items-center justify-center"},xE=Nn({__name:"TemplateDropdown",setup(e){const{t:t}=dh(),r=Mb(),n=Wb(),i=nn("modal-container",Ft(null)),o=Ft(!1),a=Ft(null),s=Ft(""),l=Ta(()=>{const e=s.value.toLowerCase().trim();return e?r.templates.filter(t=>t.name.toLowerCase().includes(e)):r.templates}),u=Ft(null),c=Ft({}),A=Ft(!1),d=Ft("create"),h=Ft(""),p=Ft({}),f=Ft(null),g=Ft(!1),v=Ft(""),m=Ft(null),y=Ft([]),b=e=>{const t=n.templateModalFormConfig;if(!t)return null;const r=e;return t[r]?t[r]||null:"copy"===e?t.copy||t.edit||t.create||null:"edit"===e?t.edit||t.create||null:t.create||null},w=(e,t,n=null)=>{const i=b(t),o=(null==i?void 0:i.initialValues)&&"object"==typeof i.initialValues?{...i.initialValues}:{},a=((e,t)=>{var n,i;if(!e)return{};const o=r.templates.find(t=>t.id===e),a=(null==o?void 0:o.ext)||{},s=(null==(i=null==(n=r.templateDetailCache)?void 0:n[e])?void 0:i.ext)||{},l={...a,...s},u=a.templateModalForm||{},c=s.templateModalForm||{};let A={};const d=t;if(u[d]&&"object"==typeof u[d])A={...u[d]};else if(c[d]&&"object"==typeof c[d])A={...c[d]};else{const e=u.lastMode||c.lastMode;e&&u[e]&&"object"==typeof u[e]?A={...u[e]}:e&&c[e]&&"object"==typeof c[e]&&(A={...c[e]})}const h={...l,...A};return delete h.templateModalForm,h})(n,t),s={...o,...a};return Object.prototype.hasOwnProperty.call(s,"name")||(s.name=e),s},x=Ta(()=>{var e;return null==(e=b(d.value))?void 0:e.fields}),_=e=>{if(!e)return null;return/^[a-z0-9]+(?:-[a-z0-9]+)*:[a-z0-9-]+$/i.test(e)?`https://api.iconify.design/${encodeURIComponent(e)}.svg`:null},C=e=>{const t=(e||"").trim().toLowerCase();return"red"===t||"#ff4d4f"===t||"红色"===t||"红"===t?{backgroundColor:"#fef2f2",color:"#dc2626",borderColor:"#fecaca"}:"white"===t||"#ffffff"===t||"白色"===t||"白"===t?{backgroundColor:"#ffffff",color:"#374151",borderColor:"#d1d5db"}:"blue"===t||"#3b82f6"===t||"蓝色"===t||"蓝"===t?{backgroundColor:"#eff6ff",color:"#1d4ed8",borderColor:"#bfdbfe"}:"green"===t||"#22c55e"===t||"绿色"===t||"绿"===t?{backgroundColor:"#f0fdf4",color:"#15803d",borderColor:"#bbf7d0"}:"orange"===t||"#f97316"===t||"橙色"===t||"橙"===t?{backgroundColor:"#fff7ed",color:"#c2410c",borderColor:"#fed7aa"}:t?{backgroundColor:t,color:"#ffffff",borderColor:t}:{backgroundColor:"#f3f4f6",color:"#4b5563",borderColor:"#e5e7eb"}},S=Ta(()=>{const e={};return r.templates.forEach(t=>{const r=(e=>{var t;const r=null==(t=e.ext)?void 0:t.templateTags;return Array.isArray(r)?r.map(e=>{if(!e||"object"!=typeof e)return null;const t=String(e.label??"").trim();return t?{key:e.key?String(e.key):void 0,label:t,color:e.color?String(e.color):void 0}:null}).filter(e=>null!==e):[]})(t);e[t.id]={visible:r.slice(0,2),overflow:r.length>2?r.length-2:0}}),e}),B=e=>{var t;return(null==(t=S.value[e.id])?void 0:t.visible)||[]},k=e=>{var t;return(null==(t=S.value[e.id])?void 0:t.overflow)||0};ei(async()=>{await r.loadTemplates(),!r.currentTemplateId&&r.templates.length>0&&r.loadTemplate(r.templates[0].id),document.addEventListener("click",E),window.addEventListener("designer:new-template",D),window.addEventListener("designer:save-as",N)}),ii(()=>{document.removeEventListener("click",E),window.removeEventListener("designer:new-template",D),window.removeEventListener("designer:save-as",N)});const E=e=>{var t;const r=e.composedPath(),n=a.value&&r.includes(a.value),i=((null==(t=a.value)?void 0:t.getRootNode())||document).querySelector(".row-menu-content"),s=i&&r.includes(i);n||s||(o.value=!1,u.value=null)},I=Ta(()=>r.templates.find(e=>e.id===r.currentTemplateId)||null),T=Ta(()=>I.value?I.value.name:t("template.select")),P=()=>{o.value=!o.value,o.value||(u.value=null)},M=(e,t,n)=>{const i=r.templates.find(e=>e.id===n);if(!i)return;const o=30*Math.max(1,U(i).length)+10;let a=Math.max(5,Math.min(e,window.innerWidth-160-5)),s=t;s+o>window.innerHeight-5&&(s=Math.max(5,t-o)),c.value={top:`${s}px`,left:`${a}px`},u.value=n},L=()=>r.templates.find(e=>e.id===u.value),D=()=>{u.value=null,d.value="create",h.value="",p.value=w("","create"),A.value=!0,o.value=!1},N=async e=>{var t;const n=(null==(t=e.detail)?void 0:t.id)||r.currentTemplateId;if(!n)return;await r.fetchTemplateDetail(n);const i=r.templates.find(e=>e.id===n),a=i?`${i.name} Copy`:"";d.value="create",f.value=n,h.value=a,p.value=w(a,"create",n),A.value=!0,o.value=!1,u.value=null},O=async e=>{u.value=null;const t=await r.fetchTemplateDetail(e.id);m.value=t||e;const i=(e=>{var t,i;const o=r.currentTemplateId===e.id,a=o?n.testData||{}:(null==(t=e.data)?void 0:t.testData)||{},s=o?n.pages:(null==(i=e.data)?void 0:i.pages)||[];return Ob(s,a)})(m.value);y.value=Object.keys(i),v.value=JSON.stringify(i,null,2),g.value=!0,o.value=!1},F=Ta(()=>[{key:"testData",actionKey:"testData",label:t("common.testData"),iconComponent:Qw},{key:"variablesPanel",actionKey:"variablesPanel",label:t("common.variables"),iconComponent:kk},{key:"edit",actionKey:"edit",label:t("common.edit"),iconComponent:Sk,disabled:({item:e})=>!jy(e)},{key:"copy",actionKey:"copy",label:t("common.copy"),iconComponent:ox,hidden:!0,disabled:({item:e})=>!Wy(e)},{key:"delete",actionKey:"delete",label:t("common.delete"),iconComponent:Ax,danger:!0,hidden:!0,disabled:({item:e})=>!Gy(e)}]);function U(e){const t=n.templateContextMenuConfig,r=((null==t?void 0:t.items)||[]).map(e=>({...e}));return((e,t,r)=>{if("replace"===r)return t;const n=[...e];return t.forEach(e=>{const t=n.findIndex(t=>t.key===e.key);t>=0?n[t]={...n[t],...e}:n.push(e)}),n})(F.value,r,"replace"===(null==t?void 0:t.mode)?"replace":"append").filter(t=>"function"==typeof t.hidden?!t.hidden({source:"template",item:e}):!t.hidden)}const z=(e,t)=>"function"==typeof e.disabled?e.disabled({source:"template",item:t}):Boolean(e.disabled),R=(e,i)=>{const a=e||"";"testData"!==a?"variablesPanel"!==a?"fieldsPanel"!==a?"sampleData"!==a?"edit"!==a?"copy"!==a?"delete"===a&&(async e=>{if(!Gy(e))return void Qm.warning(t("toast.templateDeleteNotAllowed"));await xh.show(t("template.confirmDelete",{name:e.name}))&&(await r.deleteTemplate(e.id),!r.currentTemplateId&&r.templates.length>0&&r.loadTemplate(r.templates[0].id)),u.value=null})(i):(async e=>{Wy(e)?(await r.fetchTemplateDetail(e.id),d.value="copy",f.value=e.id,h.value=`${e.name} Copy`,p.value=w(`${e.name} Copy`,"copy",e.id),A.value=!0,o.value=!1,u.value=null):Qm.warning(t("toast.templateCopyNotAllowed"))})(i):(async e=>{jy(e)?(await r.fetchTemplateDetail(e.id),u.value=null,d.value="edit",f.value=e.id,h.value=e.name,p.value=w(e.name,"edit",e.id),A.value=!0,o.value=!1):Qm.warning(t("toast.templateReadOnly"))})(i):n.setShowSampleDataModal(!0):n.setShowFieldsPanel(!0):n.setShowVariablesPanel(!0):O(i)},Q=()=>{var e;const i=m.value,o=new Set(y.value||[]);if(m.value=null,y.value=[],!i)return;let a=null;try{const t=(null==(e=v.value)?void 0:e.trim())||"{}",r=JSON.parse(t);r&&"object"==typeof r&&!Array.isArray(r)&&(a=r)}catch{a=null}if(a){if(o.size>0){const e=Object.keys(a);if(e.length!==o.size||e.some(e=>!o.has(e)))return void Qm.error(t("common.testDataKeyChanged"))}i.data={...i.data||{},testData:a},i.updatedAt=Date.now(),r.currentTemplateId===i.id?(n.testData=a,r.saveCurrentTemplate(i.name)):r.updateTemplate(i.id,{data:i.data})}else Qm.error(t("common.invalidJson"))},H=e=>{const t=(e=>"string"==typeof e?e.trim():String((null==e?void 0:e.name)??"").trim())(e),n=(e=>{if(!e||"string"==typeof e)return;const t={...e};return delete t.name,Object.keys(t).length>0?t:void 0})(e);if(t)if("create"===d.value){if(r.currentTemplateId){const e=r.templates.find(e=>e.id===r.currentTemplateId);e&&jy(e)&&r.saveCurrentTemplate(e.name)}const e=Wb();f.value||e.resetCanvas(),r.createTemplate(t,void 0,n)}else"edit"===d.value&&f.value?r.editTemplate(f.value,t,n):"copy"===d.value&&f.value&&r.copyTemplate(f.value,t,n)},V=Ta(()=>"edit"===d.value?t("template.edit"):"copy"===d.value?t("common.copy"):"create"===d.value&&f.value?t("editor.saveAsTemplate"):t("template.new"));return(e,d)=>(Ro(),jo("div",{class:"relative",ref_key:"containerRef",ref:a},[Xo("button",{onClick:zs(P,["stop"]),class:"flex items-center gap-2 px-3 py-1.5 bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700 rounded-lg text-sm font-medium text-gray-700 dark:text-gray-200 transition-colors w-52",title:T.value},[Zo(Qt(Ik),{class:"w-4 h-4 flex-shrink-0"}),Xo("div",iE,[(Ro(!0),jo(Do,null,pi(I.value?B(I.value):[],e=>{var t;return Ro(),jo("span",{key:`${null==(t=I.value)?void 0:t.id}-${e.label}-${e.color||""}`,class:"inline-flex items-center px-1.5 py-0.5 rounded border text-[10px] leading-none flex-shrink-0",style:G(C(e.color))},oe(e.label),5)}),128)),I.value&&k(I.value)>0?(Ro(),jo("span",oE," +"+oe(k(I.value)),1)):na("",!0),Xo("span",aE,oe(T.value),1)]),Zo(Qt(Kw),{class:"w-4 h-4 flex-shrink-0"})],8,nE),o.value?(Ro(),jo("div",sE,[Xo("div",lE,[en(Xo("input",{"onUpdate:modelValue":d[0]||(d[0]=e=>s.value=e),type:"text",placeholder:"搜索模板...",class:"w-full px-2 py-1.5 text-sm border border-gray-200 dark:border-gray-600 rounded bg-gray-50 dark:bg-gray-700 text-gray-700 dark:text-gray-200 focus:outline-none focus:border-blue-400",onKeydown:d[1]||(d[1]=Qs(e=>o.value=!1,["escape"]))},null,544),[[Ms,s.value]])]),Xo("div",uE,[0===l.value.length?(Ro(),jo("div",cE,oe(s.value?"无匹配模板":Qt(t)("template.noTemplates")),1)):na("",!0),(Ro(!0),jo(Do,null,pi(l.value,e=>(Ro(),jo("div",{key:e.id,class:"relative group border-b border-gray-100 dark:border-gray-700 last:border-b-0 flex items-center justify-between px-3 py-2 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer",onClick:t=>(e=>{if(r.currentTemplateId){const e=r.templates.find(e=>e.id===r.currentTemplateId);e&&jy(e)&&r.saveCurrentTemplate(e.name)}r.loadTemplate(e.id),o.value=!1})(e),onContextmenu:zs(t=>{return r=t,n=e.id,r.stopPropagation(),r.preventDefault(),void M(r.clientX,r.clientY,n);var r,n},["prevent"]),title:e.name},[Xo("div",dE,[Xo("div",hE,[Qt(r).currentTemplateId===e.id?(Ro(),jo("div",pE)):na("",!0)]),(Ro(!0),jo(Do,null,pi(B(e),t=>(Ro(),jo("span",{key:`${e.id}-${t.label}-${t.color||""}`,class:"inline-flex items-center px-1.5 py-0.5 rounded border text-[10px] leading-none flex-shrink-0",style:G(C(t.color))},oe(t.label),5))),128)),k(e)>0?(Ro(),jo("span",fE," +"+oe(k(e)),1)):na("",!0),Xo("span",{class:X(["text-sm text-gray-700 dark:text-gray-200 truncate",{"font-medium text-blue-600 dark:text-blue-400":Qt(r).currentTemplateId===e.id}])},oe(e.name),3)]),Xo("button",{onClick:zs(t=>((e,t)=>{if(e.stopPropagation(),u.value===t)return void(u.value=null);const r=e.currentTarget.getBoundingClientRect();M(r.right-160,r.bottom+5,t)})(t,e.id),["stop"]),class:X(["row-menu-trigger p-1 hover:bg-gray-200 dark:hover:bg-gray-600 rounded-full text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 opacity-0 group-hover:opacity-100 transition-opacity",{"opacity-100 bg-gray-200 dark:bg-gray-600":u.value===e.id}])},[Zo(Qt(_k),{class:"w-4 h-4"})],10,gE)],40,AE))),128))]),Xo("div",vE,[na("",!0)])])):na("",!0),(Ro(),Go(yn,{to:Qt(i)||"body"},[u.value?(Ro(),jo("div",{key:0,class:"fixed inset-0 z-[2000] pointer-events-auto",onClick:d[3]||(d[3]=e=>u.value=null)},[Xo("div",{class:"row-menu-content absolute w-40 bg-white dark:bg-gray-800 rounded shadow-lg border border-gray-100 dark:border-gray-700 z-[2001] py-1 pointer-events-auto",style:G(c.value),onClick:d[2]||(d[2]=zs(()=>{},["stop"]))},[L()?(Ro(!0),jo(Do,{key:0},pi(U(L()),e=>(Ro(),jo("button",{key:e.key,onClick:t=>(async(e,t)=>{if(!z(e,t)){u.value=null,o.value=!1,R(e.actionKey,t);try{"function"==typeof e.onClick&&await e.onClick({source:"template",item:t}),e.eventName&&n.emitContextMenuEvent(e.eventName,{source:"template",actionKey:e.actionKey||null,key:e.key,item:t})}catch(r){}}})(e,L()),disabled:z(e,L()),class:X(["w-full text-left px-3 py-1.5 text-xs flex items-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",e.danger?"text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/30":"text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700"])},[e.iconComponent?(Ro(),Go(Ai(e.iconComponent),{key:0,class:"w-3.5 h-3.5"})):e.iconImage?(Ro(),jo("img",{key:1,src:e.iconImage,class:"w-3.5 h-3.5 object-contain"},null,8,yE)):e.iconClass?(Ro(),jo("i",{key:2,class:X(e.iconClass)},null,2)):_(e.icon)?(Ro(),jo("img",{key:3,src:_(e.icon),class:"w-3.5 h-3.5 object-contain"},null,8,bE)):e.icon?(Ro(),jo("span",wE,oe(e.icon),1)):na("",!0),Xo("span",null,oe(e.label),1)],10,mE))),128)):na("",!0)],4)])):na("",!0)],8,["to"])),Zo(Kk,{show:A.value,"initial-value":h.value,"initial-values":p.value,fields:x.value,title:V.value,onClose:d[4]||(d[4]=e=>A.value=!1),onSave:H},null,8,["show","initial-value","initial-values","fields","title"]),Zo(rE,{visible:g.value,"onUpdate:visible":d[5]||(d[5]=e=>g.value=e),title:Qt(t)("common.testData"),value:v.value,language:"json","onUpdate:value":d[6]||(d[6]=e=>v.value=e),onClose:Q},null,8,["visible","title","value"])],512))}}),_E={A3:{width:1123,height:1587},A4:{width:794,height:1123},A5:{width:559,height:794},LETTER:{width:816,height:1056},LEGAL:{width:816,height:1344},"Receipt 58mm":{width:219,height:794},"Receipt 80mm":{width:302,height:794},"241-1 (Full)":{width:911,height:1058},"241-2 (Half)":{width:911,height:529},"241-3 (Third)":{width:911,height:352}},CE={class:"relative"},SE={class:"flex items-center bg-gray-100 dark:bg-gray-800 rounded-lg p-1"},BE=["disabled","title"],kE=["disabled","title"],EE={class:"truncate"},IE=["disabled","title"],TE={key:0,class:"absolute top-full left-0 mt-2 w-64 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 shadow-xl rounded-lg p-4 z-[1000]"},PE={class:"text-sm font-semibold text-gray-700 dark:text-gray-200 mb-3"},ME={class:"space-y-3"},LE={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},DE=["value"],NE={value:"CUSTOM",class:"dark:bg-gray-800 dark:text-gray-200"},OE={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},FE=["value"],UE={value:"mm",class:"dark:bg-gray-800 dark:text-gray-200"},zE={value:"cm",class:"dark:bg-gray-800 dark:text-gray-200"},RE={value:"in",class:"dark:bg-gray-800 dark:text-gray-200"},QE={value:"pt",class:"dark:bg-gray-800 dark:text-gray-200"},HE={value:"px",class:"dark:bg-gray-800 dark:text-gray-200"},VE={class:"grid grid-cols-2 gap-2"},jE={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},GE=["value"],WE={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},KE=["value"],qE={class:"grid grid-cols-2 gap-2"},YE={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},XE=["value"],ZE={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},JE=["value"],$E={class:"mt-4 flex items-center justify-between"},eI={class:"text-sm text-gray-700 dark:text-gray-200 font-medium"},tI={class:"mt-3 flex items-center justify-between"},rI={class:"text-sm text-gray-700 dark:text-gray-200 font-medium"},nI={class:"mt-3 flex items-center justify-between"},iI={class:"text-sm text-gray-700 dark:text-gray-200 font-medium"},oI={class:"mt-3 flex items-center justify-between"},aI={class:"text-sm text-gray-700 dark:text-gray-200 font-medium"},sI={class:"mt-3 flex items-center justify-between"},lI={class:"text-sm text-gray-700 dark:text-gray-200 font-medium"},uI={key:0,class:"absolute inset-0 flex items-center justify-center"},cI={class:"border-t border-gray-200 dark:border-gray-700 my-4 pt-3"},AI={class:"text-sm font-semibold text-gray-700 dark:text-gray-200 mb-3"},dI={class:"space-y-3"},hI={class:"flex items-center justify-between"},pI={class:"flex items-center gap-2"},fI={class:"text-xs text-gray-600 dark:text-gray-400"},gI={class:"flex items-center gap-1"},vI=["value"],mI={class:"text-xs text-gray-500 dark:text-gray-400"},yI={class:"flex items-center justify-between"},bI={class:"flex items-center gap-2"},wI={class:"text-xs text-gray-600 dark:text-gray-400"},xI={class:"flex items-center gap-1"},_I=["value"],CI={class:"text-xs text-gray-500 dark:text-gray-400"},SI={class:"border-t border-gray-200 dark:border-gray-700 pt-3 mt-3"},BI=["disabled"],kI=["disabled"],EI={class:"bg-white dark:bg-gray-800 rounded-lg shadow-xl w-[640px] max-w-full max-h-[90vh] flex flex-col overflow-hidden border border-gray-200 dark:border-gray-700"},II={class:"h-[60px] flex items-center justify-between px-4 border-b border-gray-200 dark:border-gray-700 shrink-0"},TI={class:"text-lg font-semibold text-gray-800 dark:text-gray-200"},PI={class:"p-4 overflow-y-auto space-y-4"},MI={class:"text-sm font-semibold text-gray-700 dark:text-gray-200 mb-3"},LI={class:"space-y-3"},DI={class:"flex items-center justify-between"},NI={class:"text-sm text-gray-700 dark:text-gray-200 font-medium"},OI={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},FI=["placeholder"],UI={class:"grid grid-cols-2 gap-2"},zI={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},RI={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},QI={class:"grid grid-cols-2 gap-2"},HI={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},VI={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},jI={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},GI={class:"p-4 border-t border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800 flex justify-end"},WI=Nn({__name:"PaperSettings",setup(e){const{t:t}=dh(),r=Wb(),n=nn("modal-container",Ft(null)),i=Ft("A4"),o=Ft(_E.A4.width),a=Ft(_E.A4.height),s=Ft(!1),l=Ft(!1),u=Ta(()=>!r.isTemplateEditable),c=Ta({get:()=>r.canvasBackground,set:e=>r.setCanvasBackground(e)}),A=Ta({get:()=>{var e;return(null==(e=r.watermark)?void 0:e.text)||""},set:e=>r.setWatermark({text:e})}),d=Ta({get:()=>{var e;return(null==(e=r.watermark)?void 0:e.enabled)??!1},set:e=>r.setWatermark({enabled:Boolean(e)})}),h=Ta({get:()=>{var e;return(null==(e=r.watermark)?void 0:e.angle)??-30},set:e=>r.setWatermark({angle:Number(e)})}),p=Ta({get:()=>{var e;return(null==(e=r.watermark)?void 0:e.color)||"#000000"},set:e=>r.setWatermark({color:e})}),f=Ta({get:()=>{var e;return Math.round(100*((null==(e=r.watermark)?void 0:e.opacity)??.1))},set:e=>{const t=Math.max(0,Math.min(100,Number(e)));r.setWatermark({opacity:t/100})}}),g=Ta({get:()=>{var e;return w((null==(e=r.watermark)?void 0:e.size)??24)},set:e=>r.setWatermark({size:Sw(Number(e),r.unit)})}),v=Ta({get:()=>{var e;return w((null==(e=r.watermark)?void 0:e.density)??160)},set:e=>r.setWatermark({density:Sw(Number(e),r.unit)})}),m=Ta({get:()=>w(r.pageSpacingX||0),set:e=>r.setPageSpacingX(Sw(Number(e),r.unit))}),y=Ta({get:()=>w(r.pageSpacingY||0),set:e=>r.setPageSpacingY(Sw(Number(e),r.unit))}),b=Ta(()=>"px"===r.unit?t("common.px"):"pt"===r.unit?t("common.pt"):"in"===r.unit?t("common.in"):"cm"===r.unit?t("common.cm"):t("common.mm")),w=e=>{const t=Cw(e,r.unit);return"px"===r.unit?Math.round(t):Number(t.toFixed(1))},x=()=>{if(!u.value&&"CUSTOM"!==i.value){const e=_E[i.value];o.value=e.width,a.value=e.height,r.setCanvasSize(e.width,e.height)}},_=()=>{u.value||(r.setCanvasSize(o.value,a.value),Object.values(_E).some(e=>e.width===o.value&&e.height===a.value)||(i.value="CUSTOM"))},C=()=>{u.value||(s.value=!s.value)},S=()=>{u.value||(l.value=!0)};return an(()=>r.canvasSize,e=>{o.value=e.width,a.value=e.height;const t=Object.entries(_E).find(([t,r])=>r.width===e.width&&r.height===e.height);i.value=t?t[0]:"CUSTOM"},{immediate:!0}),an(l,e=>{r.setDisableGlobalShortcuts(e)}),an(u,e=>{e&&(s.value=!1,l.value=!1)}),(e,B)=>(Ro(),jo("div",CE,[Xo("div",SE,[Xo("button",{onClick:C,disabled:u.value,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors dark:text-gray-200 disabled:opacity-50 disabled:cursor-not-allowed",title:Qt(t)("editor.paperSettings")},[Zo(Qt($w),{class:"w-4 h-4"})],8,BE),Xo("button",{onClick:C,disabled:u.value,class:"flex items-center justify-center text-xs text-gray-700 dark:text-gray-200 hover:bg-gray-200 dark:hover:bg-gray-700 rounded px-1 py-0.5 transition-colors w-16 text-center disabled:opacity-50 disabled:cursor-not-allowed",title:Qt(t)("editor.paperSettings")},[Xo("span",EE,oe("CUSTOM"===i.value?Qt(t)("editor.custom"):i.value),1)],8,kE),Xo("button",{onClick:C,disabled:u.value,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors dark:text-gray-200 disabled:opacity-50 disabled:cursor-not-allowed",title:Qt(t)("editor.paperSettings")},[Zo(Qt(Kw),{class:"w-4 h-4"})],8,IE)]),s.value?(Ro(),jo("div",TE,[Xo("h3",PE,oe(Qt(t)("editor.paperSettings")),1),Xo("div",ME,[Xo("div",null,[Xo("label",LE,oe(Qt(t)("editor.sizePreset")),1),en(Xo("select",{"onUpdate:modelValue":B[0]||(B[0]=e=>i.value=e),onChange:x,class:"w-full px-2 py-1.5 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},[(Ro(!0),jo(Do,null,pi(Qt(_E),(e,t)=>(Ro(),jo("option",{key:t,value:t,class:"dark:bg-gray-800 dark:text-gray-200"},oe(t)+" ("+oe(w(e.width))+oe(b.value)+" x "+oe(w(e.height))+oe(b.value)+") ",9,DE))),128)),Xo("option",NE,oe(Qt(t)("editor.custom")),1)],544),[[Ds,i.value]])]),Xo("div",null,[Xo("label",OE,oe(Qt(t)("editor.unit")),1),Xo("select",{value:Qt(r).unit,onChange:B[1]||(B[1]=e=>Qt(r).setUnit(e.target.value)),class:"w-full px-2 py-1.5 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},[Xo("option",UE,oe(Qt(t)("common.mm")),1),Xo("option",zE,oe(Qt(t)("common.cm")),1),Xo("option",RE,oe(Qt(t)("common.in")),1),Xo("option",QE,oe(Qt(t)("common.pt")),1),Xo("option",HE,oe(Qt(t)("common.px")),1)],40,FE)]),Xo("div",VE,[Xo("div",null,[Xo("label",jE,oe(Qt(t)("common.width"))+" ("+oe(b.value)+")",1),Xo("input",{type:"number",value:w(o.value),onChange:B[2]||(B[2]=e=>{o.value=Qt(Sw)(Number(e.target.value),Qt(r).unit),_()}),class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,40,GE)]),Xo("div",null,[Xo("label",WE,oe(Qt(t)("common.height"))+" ("+oe(b.value)+")",1),Xo("input",{type:"number",value:w(a.value),onChange:B[3]||(B[3]=e=>{a.value=Qt(Sw)(Number(e.target.value),Qt(r).unit),_()}),class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,40,KE)])]),Xo("div",qE,[Xo("div",null,[Xo("label",YE,oe(Qt(t)("editor.spacingX"))+" ("+oe(b.value)+")",1),Xo("input",{type:"number",value:m.value,onChange:B[4]||(B[4]=e=>{m.value=Number(e.target.value)}),class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,40,XE)]),Xo("div",null,[Xo("label",ZE,oe(Qt(t)("editor.spacingY"))+" ("+oe(b.value)+")",1),Xo("input",{type:"number",value:y.value,onChange:B[5]||(B[5]=e=>{y.value=Number(e.target.value)}),class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,40,JE)])])]),Xo("div",$E,[Xo("span",eI,oe(Qt(t)("editor.showMarginLines")),1),Xo("button",{onClick:B[6]||(B[6]=e=>Qt(r).setShowMarginLines(!Qt(r).showMarginLines)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(r).showMarginLines?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[B[27]||(B[27]=Xo("span",{class:"sr-only"},"Toggle margin lines",-1)),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",Qt(r).showMarginLines?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("div",tI,[Xo("span",rI,oe(Qt(t)("editor.showCornerMarkers")),1),Xo("button",{onClick:B[7]||(B[7]=e=>Qt(r).setShowCornerMarkers(!Qt(r).showCornerMarkers)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(r).showCornerMarkers?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[B[28]||(B[28]=Xo("span",{class:"sr-only"},"Toggle corner markers",-1)),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",Qt(r).showCornerMarkers?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("div",nI,[Xo("span",iI,oe(Qt(t)("editor.showGrid")),1),Xo("button",{onClick:B[8]||(B[8]=e=>Qt(r).setShowGrid(!Qt(r).showGrid)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(r).showGrid?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[B[29]||(B[29]=Xo("span",{class:"sr-only"},"Toggle grid",-1)),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",Qt(r).showGrid?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("div",oI,[Xo("span",aI,oe(Qt(t)("editor.showMinimap")),1),Xo("button",{onClick:B[9]||(B[9]=e=>Qt(r).setShowMinimap(!Qt(r).showMinimap)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(r).showMinimap?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[B[30]||(B[30]=Xo("span",{class:"sr-only"},"Toggle minimap",-1)),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",Qt(r).showMinimap?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("div",sI,[Xo("span",lI,oe(Qt(t)("editor.backgroundColor")),1),Zo(zB,{modelValue:c.value,"onUpdate:modelValue":B[10]||(B[10]=e=>c.value=e),"allow-transparent":!0,"default-color":"#ffffff",placement:"bottom-end","teleport-to-body":!0},{trigger:Jr(({color:e,open:t})=>[Xo("div",{class:X(["w-8 h-6 rounded border border-gray-300 dark:border-gray-600 cursor-pointer relative overflow-hidden hover:border-blue-500 dark:hover:border-blue-400 transition-colors",{"ring-2 ring-blue-500 dark:ring-blue-400 ring-offset-1 dark:ring-offset-gray-900":t}])},[B[32]||(B[32]=Xo("div",{class:"absolute inset-0 bg-[url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ+5wNisxL//8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII=')] opacity-50"},null,-1)),Xo("div",{class:"absolute inset-0",style:G({backgroundColor:"transparent"===e?"transparent":e})},null,4),"transparent"===e?(Ro(),jo("div",uI,[...B[31]||(B[31]=[Xo("div",{class:"w-full h-[1px] bg-red-500 rotate-45"},null,-1)])])):na("",!0)],2)]),_:1},8,["modelValue"])]),Xo("div",cI,[Xo("h3",AI,oe(Qt(t)("editor.headerFooter")),1),Xo("div",dI,[Xo("div",hI,[Xo("div",pI,[Xo("button",{onClick:B[11]||(B[11]=e=>Qt(r).setShowHeaderLine(!Qt(r).showHeaderLine)),class:X(["relative inline-flex h-5 w-9 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(r).showHeaderLine?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[B[33]||(B[33]=Xo("span",{class:"sr-only"},"Toggle header line",-1)),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-4 w-4 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",Qt(r).showHeaderLine?"translate-x-4":"translate-x-0"])},null,2)],2),Xo("label",fI,oe(Qt(t)("editor.headerLine")),1)]),Xo("div",gI,[Xo("input",{type:"number",value:w(Qt(r).headerHeight),onChange:B[12]||(B[12]=e=>Qt(r).setHeaderHeight(Qt(Sw)(Number(e.target.value),Qt(r).unit))),class:"w-16 px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none text-right",min:"0"},null,40,vI),Xo("span",mI,oe(b.value),1)])]),Xo("div",yI,[Xo("div",bI,[Xo("button",{onClick:B[13]||(B[13]=e=>Qt(r).setShowFooterLine(!Qt(r).showFooterLine)),class:X(["relative inline-flex h-5 w-9 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(r).showFooterLine?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[B[34]||(B[34]=Xo("span",{class:"sr-only"},"Toggle footer line",-1)),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-4 w-4 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",Qt(r).showFooterLine?"translate-x-4":"translate-x-0"])},null,2)],2),Xo("label",wI,oe(Qt(t)("editor.footerLine")),1)]),Xo("div",xI,[Xo("input",{type:"number",value:w(Qt(r).footerHeight),onChange:B[14]||(B[14]=e=>Qt(r).setFooterHeight(Qt(Sw)(Number(e.target.value),Qt(r).unit))),class:"w-16 px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none text-right",min:"0"},null,40,_I),Xo("span",CI,oe(b.value),1)])])])]),Xo("div",SI,[Xo("button",{onClick:B[15]||(B[15]=e=>{Qt(r).addPage(),s.value=!1}),disabled:u.value,class:"w-full flex items-center justify-center gap-2 px-3 py-2 bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400 hover:bg-blue-100 dark:hover:bg-blue-900/50 rounded-md transition-colors text-sm font-medium disabled:opacity-50 disabled:cursor-not-allowed"},[Zo(Qt(jS),{class:"w-4 h-4"}),Xo("span",null,oe(Qt(t)("editor.addNewPage")),1)],8,BI),Xo("button",{onClick:S,disabled:u.value,class:"w-full flex items-center justify-center gap-2 px-3 py-2 mt-2 bg-gray-50 dark:bg-gray-700/50 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-md transition-colors text-sm font-medium disabled:opacity-50 disabled:cursor-not-allowed"},[Zo(Qt($w),{class:"w-4 h-4"}),Xo("span",null,oe(Qt(t)("editor.advancedSettings")),1)],8,kI)]),Xo("div",{class:"fixed inset-0 z-[-1]",onClick:B[16]||(B[16]=e=>s.value=!1)})])):na("",!0),(Ro(),Go(yn,{to:Qt(n)||"body"},[l.value?(Ro(),jo("div",{key:0,class:"fixed inset-0 z-[2000] flex items-center justify-center bg-black/50 pointer-events-auto",onClick:B[26]||(B[26]=zs(e=>l.value=!1,["self"]))},[Xo("div",EI,[Xo("div",II,[Xo("h3",TI,oe(Qt(t)("editor.advancedSettings")),1),Xo("button",{onClick:B[17]||(B[17]=e=>l.value=!1),class:"p-1 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-full transition-colors text-gray-500 dark:text-gray-400"},[Zo(Qt(Lw),{class:"w-4 h-4"})])]),Xo("div",PI,[Xo("div",null,[Xo("h3",MI,oe(Qt(t)("editor.watermark")),1),Xo("div",LI,[Xo("div",DI,[Xo("span",NI,oe(Qt(t)("editor.watermarkEnable")),1),Xo("button",{onClick:B[18]||(B[18]=e=>d.value=!d.value),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",d.value?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[B[35]||(B[35]=Xo("span",{class:"sr-only"},"Toggle watermark",-1)),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",d.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("div",null,[Xo("label",OI,oe(Qt(t)("editor.watermarkText")),1),en(Xo("input",{"onUpdate:modelValue":B[19]||(B[19]=e=>A.value=e),type:"text",class:"w-full px-2 py-1.5 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none",placeholder:Qt(t)("editor.watermarkTextPlaceholder")},null,8,FI),[[Ms,A.value]])]),Xo("div",UI,[Xo("div",null,[Xo("label",zI,oe(Qt(t)("editor.watermarkAngle")),1),en(Xo("input",{"onUpdate:modelValue":B[20]||(B[20]=e=>h.value=e),type:"number",class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,512),[[Ms,h.value,void 0,{number:!0}]])]),Xo("div",null,[Xo("label",RI,oe(Qt(t)("editor.watermarkOpacity")),1),en(Xo("input",{"onUpdate:modelValue":B[21]||(B[21]=e=>f.value=e),type:"number",min:"0",max:"100",class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,512),[[Ms,f.value,void 0,{number:!0}]])])]),Xo("div",QI,[Xo("div",null,[Xo("label",HI,oe(Qt(t)("editor.watermarkSize"))+" ("+oe(b.value)+")",1),en(Xo("input",{"onUpdate:modelValue":B[22]||(B[22]=e=>g.value=e),type:"number",min:"1",class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,512),[[Ms,g.value,void 0,{number:!0}]])]),Xo("div",null,[Xo("label",VI,oe(Qt(t)("editor.watermarkDensity"))+" ("+oe(b.value)+")",1),en(Xo("input",{"onUpdate:modelValue":B[23]||(B[23]=e=>v.value=e),type:"number",min:"20",class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,512),[[Ms,v.value,void 0,{number:!0}]])])]),Xo("div",null,[Xo("label",jI,oe(Qt(t)("editor.watermarkColor")),1),Zo(zB,{modelValue:p.value,"onUpdate:modelValue":B[24]||(B[24]=e=>p.value=e),"default-color":"#000000",placement:"bottom-end","teleport-to-body":!0},{trigger:Jr(({color:e,open:t})=>[Xo("div",{class:X(["w-8 h-6 rounded border border-gray-300 dark:border-gray-600 cursor-pointer relative overflow-hidden hover:border-blue-500 dark:hover:border-blue-400 transition-colors",{"ring-2 ring-blue-500 dark:ring-blue-400 ring-offset-1 dark:ring-offset-gray-900":t}])},[Xo("div",{class:"absolute inset-0",style:G({backgroundColor:e})},null,4)],2)]),_:1},8,["modelValue"])])])])]),Xo("div",GI,[Xo("button",{onClick:B[25]||(B[25]=e=>l.value=!1),class:"px-4 py-2 bg-blue-600 dark:bg-blue-500 text-white rounded hover:bg-blue-700 dark:hover:bg-blue-600 transition-colors text-sm font-medium"},oe(Qt(t)("common.close")),1)])])])):na("",!0)],8,["to"]))]))}}),KI={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};Lt({name:"material-symbols-picture-as-pdf",render:function(e,t){return Ro(),jo("svg",KI,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M9 12.5h1v-2h1q.425 0 .713-.288T12 9.5v-1q0-.425-.288-.712T11 7.5H9zm1-3v-1h1v1zm3 3h2q.425 0 .713-.288T16 11.5v-3q0-.425-.288-.712T15 7.5h-2zm1-1v-3h1v3zm3 1h1v-2h1v-1h-1v-1h1v-1h-2zM8 18q-.825 0-1.412-.587T6 16V4q0-.825.588-1.412T8 2h12q.825 0 1.413.588T22 4v12q0 .825-.587 1.413T20 18zm-4 4q-.825 0-1.412-.587T2 20V6h2v14h14v2z"},null,-1)])])}});const qI={class:"bg-white rounded-lg shadow-xl w-[90vw] h-[90vh] flex flex-col overflow-hidden"},YI={class:"relative flex items-center justify-between p-4 border-b border-gray-200"},XI={class:"text-lg font-semibold text-gray-800"},ZI={class:"absolute left-1/2 -translate-x-1/2 flex items-center gap-2"},JI=["title"],$I=["title"],eT={class:"text-xs text-gray-600 w-9 text-right select-none"},tT=["innerHTML"],rT={class:"p-4 border-t border-gray-200 bg-gray-50 flex justify-end gap-3 rounded-b-lg"},nT=Nn({__name:"PreviewModal",props:{visible:{type:Boolean},htmlContent:{},width:{}},emits:["update:visible"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Wb(),a=nn("modal-container",Ft(null)),{exportPdf:s,exportHtml:l,getPdfBlob:u,exportImages:c,getImageBlob:A}=aB(),d=Mb(),h=Ft(null),p=Ft(null),f=Ft(100),g=Ft(!1),v=Ft(""),m=Ft(""),y=Ft("json"),b=e=>{document.documentElement.classList.toggle("previewing",e),document.body.classList.toggle("previewing",e)};an(()=>r.visible,e=>{e||(f.value=100),o.setDisableGlobalShortcuts(e),b(e)});const w=()=>{n("update:visible",!1)},x=()=>{const e={pages:Dm(o.pages),canvasSize:Dm(o.canvasSize),guides:Dm(o.guides),zoom:o.zoom,showGrid:o.showGrid,headerHeight:o.headerHeight,footerHeight:o.footerHeight,showHeaderLine:o.showHeaderLine,showFooterLine:o.showFooterLine,showMinimap:o.showMinimap,canvasBackground:o.canvasBackground};v.value=JSON.stringify(e,null,2),m.value=i("preview.templateJson"),y.value="json",g.value=!0},_=async()=>{try{if(!h.value)return;const e=Array.from(h.value.querySelectorAll(".print-page")),t=await A(e),r=new FileReader;r.readAsDataURL(t),r.onloadend=()=>{v.value=r.result,m.value=i("editor.viewImageBlob"),y.value="text",g.value=!0}}catch(gH){Qm.error("Failed to generate blob")}},C=async()=>{try{if(!h.value)return;const e=Array.from(h.value.querySelectorAll(".print-page")),t=await u(e),r=new FileReader;r.readAsDataURL(t),r.onloadend=()=>{v.value=r.result,m.value=i("editor.viewPdfBlob"),y.value="text",g.value=!0}}catch(gH){Qm.error("Failed to generate PDF blob")}},S=()=>{window.dispatchEvent(new CustomEvent("designer:print"))},B=()=>{if(h.value){const e=Array.from(h.value.querySelectorAll(".print-page"));s(e,`${I()}.pdf`)}},k=async()=>{if(h.value){const e=Array.from(h.value.querySelectorAll(".print-page"));await l(e,`${I()}.html`)}},E=async()=>{if(h.value){const e=Array.from(h.value.querySelectorAll(".print-page"));await c(e,I())}},I=()=>{const e=d.templates.find(e=>e.id===d.currentTemplateId),t=((null==e?void 0:e.name)||"print-design").trim().replace(/[\\/:*?"<>|]/g,"-").replace(/\s+/g," ").trim()||"print-design",r=new Date;return`${t}-${r.getFullYear()}${String(r.getMonth()+1).padStart(2,"0")}${String(r.getDate()).padStart(2,"0")}`},T=()=>{f.value=Math.min(500,f.value+10)},P=()=>{f.value=Math.max(20,f.value-10)},M=e=>{e.ctrlKey&&(e.preventDefault(),e.deltaY<0?T():P())},L=e=>{var t,r;"Control"!==e.key&&"Meta"!==e.key||("keydown"!==e.type||e.repeat?"keyup"===e.type&&(null==(r=p.value)||r.removeEventListener("wheel",M)):null==(t=p.value)||t.addEventListener("wheel",M,{passive:!1}))},D=()=>{var e;null==(e=p.value)||e.removeEventListener("wheel",M)},N=e=>{r.visible&&"Escape"===e.key&&w(),L(e)};return ei(()=>{window.addEventListener("keydown",N),window.addEventListener("keyup",L),window.addEventListener("blur",D)}),ii(()=>{var e;window.removeEventListener("keydown",N),window.removeEventListener("keyup",L),window.removeEventListener("blur",D),null==(e=p.value)||e.removeEventListener("wheel",M),r.visible&&o.setDisableGlobalShortcuts(!1),b(!1)}),(t,r)=>(Ro(),jo(Do,null,[(Ro(),Go(yn,{to:Qt(a)||"body"},[e.visible?(Ro(),jo("div",{key:0,class:"fixed inset-0 z-[99999] flex items-center justify-center bg-black/50 pointer-events-auto",onClick:zs(w,["self"])},[Xo("div",qI,[Xo("div",YI,[Xo("h3",XI,oe(Qt(i)("preview.title")),1),Xo("div",ZI,[Xo("button",{onClick:P,class:"p-1 hover:bg-gray-100 rounded text-gray-600 transition-colors",title:Qt(i)("preview.zoomOut")},[Zo(Qt(fx),{class:"w-4 h-4"})],8,JI),en(Xo("input",{type:"range",min:"20",max:"500",step:"10","onUpdate:modelValue":r[0]||(r[0]=e=>f.value=e),class:"w-32 h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:bg-blue-600 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:cursor-pointer [&::-webkit-slider-thumb]:transition-all [&::-webkit-slider-thumb]:hover:scale-110 [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:bg-blue-600 [&::-moz-range-thumb]:border-none [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:cursor-pointer [&::-moz-range-thumb]:transition-all [&::-moz-range-thumb]:hover:scale-110"},null,512),[[Ms,f.value,void 0,{number:!0}]]),Xo("button",{onClick:T,class:"p-1 hover:bg-gray-100 rounded text-gray-600 transition-colors",title:Qt(i)("preview.zoomIn")},[Zo(Qt(hx),{class:"w-4 h-4"})],8,$I),Xo("span",eT,oe(f.value)+"%",1)]),Xo("button",{onClick:w,class:"p-1 hover:bg-gray-100 rounded-full transition-colors text-gray-500"},[Zo(Qt(Lw),{class:"w-4 h-4"})])]),Xo("div",{class:"flex-1 overflow-auto bg-gray-100 p-8 flex justify-center",ref_key:"wrapperRef",ref:p},[Xo("div",{ref_key:"previewContainer",ref:h,class:"preview-content",style:G(`width: ${e.width}px; zoom: ${f.value/100}`),innerHTML:e.htmlContent},null,12,tT)],512),Xo("div",rT,[Xo("button",{onClick:S,class:"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 flex items-center gap-2 text-sm transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-blue-600"},[Zo(Qt(Yw),{class:"text-lg"}),ta(" "+oe(Qt(i)("editor.print")),1)]),Xo("button",{onClick:B,class:"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 flex items-center gap-2 text-sm transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-blue-600"},[Zo(Qt(Fw),{class:"text-lg"}),ta(" "+oe(Qt(i)("editor.exportPdf")),1)]),Xo("button",{onClick:E,class:"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 flex items-center gap-2 text-sm transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-blue-600"},[Zo(Qt(Fw),{class:"text-lg"}),ta(" "+oe(Qt(i)("editor.exportImage")),1)]),Xo("button",{onClick:k,class:"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 flex items-center gap-2 text-sm transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-blue-600"},[Zo(Qt(Fw),{class:"text-lg"}),ta(" "+oe(Qt(i)("editor.exportHtml")),1)]),Xo("button",{onClick:_,class:"px-4 py-2 border border-gray-300 rounded hover:bg-gray-100 text-sm text-gray-700 flex items-center gap-2 transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-gray-100"},[Zo(Qt(Qw),{class:"text-lg"}),ta(" "+oe(Qt(i)("editor.viewImageBlob")),1)]),Xo("button",{onClick:C,class:"px-4 py-2 border border-gray-300 rounded hover:bg-gray-100 text-sm text-gray-700 flex items-center gap-2 transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-gray-100"},[Zo(Qt(Qw),{class:"text-lg"}),ta(" "+oe(Qt(i)("editor.viewPdfBlob")),1)]),Xo("button",{onClick:x,class:"px-4 py-2 border border-gray-300 rounded hover:bg-gray-100 text-sm text-gray-700 flex items-center gap-2 transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-gray-100"},[Zo(Qt(Qw),{class:"text-lg"}),ta(" "+oe(Qt(i)("editor.viewJson")),1)]),Xo("button",{onClick:w,class:"px-4 py-2 border border-gray-300 rounded hover:bg-gray-100 text-sm text-gray-700 flex items-center gap-2 transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-gray-100"},oe(Qt(i)("common.close")),1)])])])):na("",!0)],8,["to"])),Zo(rE,{visible:g.value,"onUpdate:visible":r[1]||(r[1]=e=>g.value=e),title:m.value,value:v.value,language:y.value,"read-only":""},null,8,["visible","title","value","language"])],64))}}),iT=zC(nT,[["__scopeId","data-v-97a5fbbf"]]);var oT,aT,sT,lT,uT,cT,AT,dT,hT,pT,fT,gT,vT,mT,yT,bT,wT,xT,_T,CT,ST,BT,kT,ET,IT,TT,PT,MT,LT,DT,NT,OT,FT,UT,zT,RT,QT,HT,VT,jT,GT,WT;function KT(){if(cT)return uT;cT=1;var e=(lT?sT:(lT=1,sT=function(e){return function(t){return null==e?void 0:e[t]}}))({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"});return uT=e}function qT(){if(pT)return hT;pT=1;var e=Of(),t=dT?AT:(dT=1,AT=function(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}),r=tg(),n=pw(),i=e?e.prototype:void 0,o=i?i.toString:void 0;return hT=function e(i){if("string"==typeof i)return i;if(r(i))return t(i,e)+"";if(n(i))return o?o.call(i):"";var a=i+"";return"0"==a&&1/i==-1/0?"-0":a},hT}function YT(){if(gT)return fT;gT=1;var e=qT();return fT=function(t){return null==t?"":e(t)}}function XT(){if(BT)return ST;BT=1;var e=function(){if(bT)return yT;bT=1;var e=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;return yT=function(t){return t.match(e)||[]}}(),t=function(){if(xT)return wT;xT=1;var e=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;return wT=function(t){return e.test(t)}}(),r=YT(),n=function(){if(CT)return _T;CT=1;var e="\\ud800-\\udfff",t="\\u2700-\\u27bf",r="a-z\\xdf-\\xf6\\xf8-\\xff",n="A-Z\\xc0-\\xd6\\xd8-\\xde",i="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",o="["+i+"]",a="\\d+",s="["+t+"]",l="["+r+"]",u="[^"+e+i+a+t+r+n+"]",c="(?:\\ud83c[\\udde6-\\uddff]){2}",A="[\\ud800-\\udbff][\\udc00-\\udfff]",d="["+n+"]",h="(?:"+l+"|"+u+")",p="(?:"+d+"|"+u+")",f="(?:['’](?:d|ll|m|re|s|t|ve))?",g="(?:['’](?:D|LL|M|RE|S|T|VE))?",v="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",m="[\\ufe0e\\ufe0f]?",y=m+v+"(?:\\u200d(?:"+["[^"+e+"]",c,A].join("|")+")"+m+v+")*",b="(?:"+[s,c,A].join("|")+")"+y,w=RegExp([d+"?"+l+"+"+f+"(?="+[o,d,"$"].join("|")+")",p+"+"+g+"(?="+[o,d+h,"$"].join("|")+")",d+"?"+h+"+"+f,d+"+"+g,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",a,b].join("|"),"g");return _T=function(e){return e.match(w)||[]}}();return ST=function(i,o,a){return i=r(i),void 0===(o=a?void 0:o)?t(i)?n(i):e(i):i.match(o)||[]}}function ZT(){if(ET)return kT;ET=1;var e=aT?oT:(aT=1,oT=function(e,t,r,n){var i=-1,o=null==e?0:e.length;for(n&&o&&(r=e[++i]);++i<o;)r=t(r,e[i],i,e);return r}),t=function(){if(mT)return vT;mT=1;var e=KT(),t=YT(),r=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,n=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");return vT=function(i){return(i=t(i))&&i.replace(r,e).replace(n,"")}}(),r=XT(),n=RegExp("['’]","g");return kT=function(i){return function(o){return e(r(t(o).replace(n,"")),i,"")}}}function JT(){if(MT)return PT;MT=1;var e=TT?IT:(TT=1,IT=function(e,t,r){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var o=Array(i);++n<i;)o[n]=e[n+t];return o});return PT=function(t,r,n){var i=t.length;return n=void 0===n?i:n,!r&&n>=i?t:e(t,r,n)}}function $T(){if(DT)return LT;DT=1;var e=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");return LT=function(t){return e.test(t)}}function eP(){if(RT)return zT;RT=1;var e=OT?NT:(OT=1,NT=function(e){return e.split("")}),t=$T(),r=function(){if(UT)return FT;UT=1;var e="\\ud800-\\udfff",t="["+e+"]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",n="\\ud83c[\\udffb-\\udfff]",i="[^"+e+"]",o="(?:\\ud83c[\\udde6-\\uddff]){2}",a="[\\ud800-\\udbff][\\udc00-\\udfff]",s="(?:"+r+"|"+n+")?",l="[\\ufe0e\\ufe0f]?",u=l+s+"(?:\\u200d(?:"+[i,o,a].join("|")+")"+l+s+")*",c="(?:"+[i+r+"?",r,o,a,t].join("|")+")",A=RegExp(n+"(?="+n+")|"+c+u,"g");return FT=function(e){return e.match(A)||[]}}();return zT=function(n){return t(n)?r(n):e(n)}}function tP(){if(jT)return VT;jT=1;var e=function(){if(HT)return QT;HT=1;var e=JT(),t=$T(),r=eP(),n=YT();return QT=function(i){return function(o){o=n(o);var a=t(o)?r(o):void 0,s=a?a[0]:o.charAt(0),l=a?e(a,1).join(""):o.slice(1);return s[i]()+l}}}()("toUpperCase");return VT=e}var rP=function(){if(WT)return GT;WT=1;var e=ZT(),t=tP(),r=e(function(e,r,n){return e+(n?" ":"")+t(r)});return GT=r}();const nP=Tf(rP),iP={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const oP=Lt({name:"material-symbols-keyboard",render:function(e,t){return Ro(),jo("svg",iP,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M4 19q-.825 0-1.412-.587T2 17V7q0-.825.588-1.412T4 5h16q.825 0 1.413.588T22 7v10q0 .825-.587 1.413T20 19zm4-3h8v-2H8zm-3-3h2v-2H5zm3 0h2v-2H8zm3 0h2v-2h-2zm3 0h2v-2h-2zm3 0h2v-2h-2zM5 10h2V8H5zm3 0h2V8H8zm3 0h2V8h-2zm3 0h2V8h-2zm3 0h2V8h-2z"},null,-1)])])}}),aP={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const sP=Lt({name:"material-symbols-info",render:function(e,t){return Ro(),jo("svg",aP,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M11 17h2v-6h-2zm1.713-8.287Q13 8.425 13 8t-.288-.712T12 7t-.712.288T11 8t.288.713T12 9t.713-.288M12 22q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22"},null,-1)])])}}),lP={name:"x-print-designer",version:"0.3.2",dependencies:{"@guolao/vue-monaco-editor":"^1.6.0",canvg:"^3.0.11","dom-to-image-more":"^3.7.2",echarts:"^6.0.0",jsbarcode:"^3.12.3",jspdf:"4.2",jszip:"^3.10.1",lodash:"^4.17.21",pinia:"^2.3.0",qrcode:"^1.5.4",uuid:"^11.0.3",vue:"^3.5.13","vue-i18n":"^11.2.8"},devDependencies:{"@iconify-json/material-symbols":"^1.2.53","@types/jsbarcode":"^3.11.4","@types/lodash":"^4.17.13","@types/node":"^22.10.2","@types/qrcode":"^1.5.6","@types/uuid":"^10.0.0","@vitejs/plugin-vue":"^5.2.1","@vue/tsconfig":"^0.7.0",autoprefixer:"^10.4.20",postcss:"^8.4.49","rollup-plugin-visualizer":"^7.0.1",sharp:"^0.34.5",tailwindcss:"^3.4.17",terser:"^5.46.1",typescript:"~5.6.2","unplugin-icons":"^23.0.1",vite:"^6.0.1","vue-tsc":"^2.1.10"}},uP={class:"bg-white rounded-lg shadow-xl w-[700px] max-w-full h-[500px] flex overflow-hidden"},cP={class:"w-48 bg-gray-50 border-r border-gray-200 flex flex-col"},AP={class:"h-[60px] flex items-center px-4 border-b border-gray-200"},dP={class:"text-lg font-semibold text-gray-800"},hP={class:"flex-1 py-2"},pP={class:"flex-1 flex flex-col min-w-0"},fP={class:"h-[60px] flex items-center justify-between px-4 border-b border-gray-200"},gP={class:"text-lg font-semibold text-gray-800"},vP={class:"flex-1 overflow-y-auto p-6"},mP={key:0,class:"space-y-6"},yP={class:"grid grid-cols-1 gap-6 text-sm"},bP={class:"font-medium text-gray-900 mb-3 border-b pb-1"},wP={class:"space-y-2 text-gray-600"},xP={class:"flex justify-between items-center"},_P={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},CP={class:"flex justify-between items-center"},SP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},BP={class:"flex justify-between items-center"},kP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},EP={class:"flex justify-between items-center"},IP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},TP={class:"flex justify-between items-center"},PP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},MP={class:"flex justify-between items-center"},LP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},DP={class:"flex justify-between items-center"},NP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},OP={class:"flex justify-between items-center"},FP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},UP={class:"flex justify-between items-center"},zP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},RP={class:"flex justify-between items-center"},QP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},HP={class:"flex justify-between items-center"},VP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},jP={class:"flex justify-between items-center"},GP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},WP={class:"flex justify-between items-center"},KP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},qP={class:"font-medium text-gray-900 mb-3 border-b pb-1"},YP={class:"space-y-2 text-gray-600"},XP={class:"flex justify-between items-center"},ZP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},JP={class:"flex justify-between items-center"},$P={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},eM={class:"flex justify-between items-center"},tM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},rM={class:"flex justify-between items-center"},nM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},iM={class:"flex justify-between items-center"},oM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},aM={class:"flex justify-between items-center"},sM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},lM={class:"flex justify-between items-center"},uM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},cM={class:"flex justify-between items-center"},AM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},dM={class:"flex justify-between items-center"},hM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},pM={class:"flex justify-between items-center"},fM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},gM={class:"font-medium text-gray-900 mb-3 border-b pb-1"},vM={class:"space-y-2 text-gray-600"},mM={class:"flex justify-between items-center"},yM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},bM={class:"flex justify-between items-center"},wM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},xM={class:"flex justify-between items-center"},_M={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},CM={class:"flex justify-between items-center"},SM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},BM={key:1,class:"space-y-6"},kM={class:"text-center mb-8"},EM={class:"text-xl font-bold text-gray-800"},IM={class:"mt-1 text-xs text-gray-500"},TM={class:"mt-4 mx-auto max-w-md text-left"},PM={class:"font-medium text-gray-900 mb-2 border-b pb-1"},MM={class:"space-y-2"},LM={class:"flex items-center justify-between rounded-md border border-gray-200 bg-gray-50 px-3 py-2 text-xs"},DM={class:"inline-flex items-center gap-1.5 text-gray-500"},NM={class:"flex items-center justify-between rounded-md border border-gray-200 bg-gray-50 px-3 py-2 text-xs"},OM={class:"inline-flex items-center gap-1.5 text-gray-500"},FM={class:"font-medium text-gray-900 mb-3 border-b pb-1"},UM={class:"bg-gray-50 rounded-lg border border-gray-200 overflow-hidden"},zM={class:"w-full text-xs text-left"},RM={class:"bg-gray-100 text-gray-700 font-medium"},QM={class:"px-4 py-2 border-b"},HM={class:"px-4 py-2 border-b"},VM={class:"divide-y divide-gray-200"},jM={class:"px-4 py-1 text-gray-700 font-mono text-[11px]"},GM=["href","title"],WM={class:"px-4 py-1 text-gray-500 text-[11px]"},KM=Nn({__name:"HelpModal",props:{show:{type:Boolean}},emits:["update:show"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Wb(),a=nn("modal-container",Ft(null)),s=Ft("shortcuts"),l=()=>{n("update:show",!1)},u=e=>{r.show&&"Escape"===e.key&&(e.preventDefault(),l())};ei(()=>{window.addEventListener("keydown",u)}),an(()=>r.show,e=>{o.setDisableGlobalShortcuts(e)}),ii(()=>{window.removeEventListener("keydown",u),r.show&&o.setDisableGlobalShortcuts(!1)});const c=[...Object.entries(lP.dependencies||{}),...Object.entries(lP.devDependencies||{})].map(([e,t])=>({name:e,version:t,url:`https://www.npmjs.com/package/${encodeURIComponent(e)}`})),A=lP.version,d=nP(lP.name);return(t,r)=>(Ro(),Go(yn,{to:Qt(a)||"body"},[e.show?(Ro(),jo("div",{key:0,class:"fixed inset-0 z-[99999] flex items-center justify-center bg-black/50 pointer-events-auto",onClick:zs(l,["self"])},[Xo("div",uP,[Xo("div",cP,[Xo("div",AP,[Xo("h3",dP,oe(Qt(i)("help.title")),1)]),Xo("div",hP,[Xo("button",{onClick:r[0]||(r[0]=e=>s.value="shortcuts"),class:X(["w-full text-left px-4 py-3 flex items-center gap-3 transition-colors text-sm","shortcuts"===s.value?"bg-white text-blue-600 border-l-4 border-blue-600 font-medium":"text-gray-600 hover:bg-gray-100 border-l-4 border-transparent"])},[Zo(Qt(oP),{class:"w-5 h-5"}),ta(" "+oe(Qt(i)("shortcuts.title")),1)],2),Xo("button",{onClick:r[1]||(r[1]=e=>s.value="about"),class:X(["w-full text-left px-4 py-3 flex items-center gap-3 transition-colors text-sm","about"===s.value?"bg-white text-blue-600 border-l-4 border-blue-600 font-medium":"text-gray-600 hover:bg-gray-100 border-l-4 border-transparent"])},[Zo(Qt(sP),{class:"w-5 h-5"}),ta(" "+oe(Qt(i)("help.about")),1)],2)])]),Xo("div",pP,[Xo("div",fP,[Xo("h3",gP,oe("shortcuts"===s.value?Qt(i)("shortcuts.keyboardShortcuts"):Qt(i)("help.aboutProject",{name:Qt(d)})),1),Xo("button",{onClick:l,class:"p-1 hover:bg-gray-100 rounded-full transition-colors text-gray-500"},[Zo(Qt(Lw),{class:"w-4 h-4"})])]),Xo("div",vP,["shortcuts"===s.value?(Ro(),jo("div",mP,[Xo("div",yP,[Xo("div",null,[Xo("h4",bP,oe(Qt(i)("shortcuts.general")),1),Xo("ul",wP,[Xo("li",xP,[Xo("span",null,oe(Qt(i)("common.save")),1),r[2]||(r[2]=ta()),Xo("kbd",_P,oe(Qt(sB)(["Ctrl","S"])),1)]),Xo("li",CP,[Xo("span",null,oe(Qt(i)("shortcuts.saveAsTemplate")),1),r[3]||(r[3]=ta()),Xo("kbd",SP,oe(Qt(sB)(["Ctrl","Shift","S"])),1)]),Xo("li",BP,[Xo("span",null,oe(Qt(i)("editor.print")),1),r[4]||(r[4]=ta()),Xo("kbd",kP,oe(Qt(sB)(["Ctrl","P"])),1)]),Xo("li",EP,[Xo("span",null,oe(Qt(i)("editor.exportPdf")),1),r[5]||(r[5]=ta()),Xo("kbd",IP,oe(Qt(sB)(["Ctrl","Shift","E"])),1)]),Xo("li",TP,[Xo("span",null,oe(Qt(i)("editor.preview")),1),r[6]||(r[6]=ta()),Xo("kbd",PP,oe(Qt(sB)(["Ctrl","Shift","P"])),1)]),Xo("li",MP,[Xo("span",null,oe(Qt(i)("editor.viewJson")),1),r[7]||(r[7]=ta()),Xo("kbd",LP,oe(Qt(sB)(["Ctrl","Shift","J"])),1)]),Xo("li",DP,[Xo("span",null,oe(Qt(i)("shortcuts.newTemplate")),1),r[8]||(r[8]=ta()),Xo("kbd",NP,oe(Qt(sB)(["Ctrl","Alt","N"])),1)]),Xo("li",OP,[Xo("span",null,oe(Qt(i)("shortcuts.openSettings")),1),r[9]||(r[9]=ta()),Xo("kbd",FP,oe(Qt(sB)(["Ctrl",","])),1)]),Xo("li",UP,[Xo("span",null,oe(Qt(i)("common.undo")),1),r[10]||(r[10]=ta()),Xo("kbd",zP,oe(Qt(sB)(["Ctrl","Z"])),1)]),Xo("li",RP,[Xo("span",null,oe(Qt(i)("common.redo")),1),r[11]||(r[11]=ta()),Xo("kbd",QP,oe(Qt(sB)(["Ctrl","Y"])),1)]),Xo("li",HP,[Xo("span",null,oe(Qt(i)("shortcuts.openHelp")),1),r[12]||(r[12]=ta()),Xo("kbd",VP,oe(Qt(sB)(["Ctrl","H"])),1)]),Xo("li",jP,[Xo("span",null,oe(Qt(i)("shortcuts.zoom")),1),r[13]||(r[13]=ta()),Xo("kbd",GP,oe(Qt(sB)(["Ctrl","Wheel"])),1)]),Xo("li",WP,[Xo("span",null,oe(Qt(i)("shortcuts.closeModal")),1),r[14]||(r[14]=ta()),Xo("kbd",KP,oe(Qt(sB)(["Esc"])),1)])])]),Xo("div",null,[Xo("h4",qP,oe(Qt(i)("shortcuts.editing")),1),Xo("ul",YP,[Xo("li",XP,[Xo("span",null,oe(Qt(i)("common.copy")),1),r[15]||(r[15]=ta()),Xo("kbd",ZP,oe(Qt(sB)(["Ctrl","C"])),1)]),Xo("li",JP,[Xo("span",null,oe(Qt(i)("common.cut")),1),r[16]||(r[16]=ta()),Xo("kbd",$P,oe(Qt(sB)(["Ctrl","X"])),1)]),Xo("li",eM,[Xo("span",null,oe(Qt(i)("common.paste")),1),r[17]||(r[17]=ta()),Xo("kbd",tM,oe(Qt(sB)(["Ctrl","V"])),1)]),Xo("li",rM,[Xo("span",null,oe(Qt(i)("common.delete")),1),r[18]||(r[18]=ta()),Xo("kbd",nM,oe(Qt(sB)(["Delete"])),1)]),Xo("li",iM,[Xo("span",null,oe(Qt(i)("shortcuts.selectAll")),1),r[19]||(r[19]=ta()),Xo("kbd",oM,oe(Qt(sB)(["Ctrl","A"])),1)]),Xo("li",aM,[Xo("span",null,oe(Qt(i)("shortcuts.multiSelect")),1),r[20]||(r[20]=ta()),Xo("kbd",sM,oe(Qt(sB)(["Ctrl","Click"])),1)]),Xo("li",lM,[Xo("span",null,oe(Qt(i)("common.lock"))+"/"+oe(Qt(i)("common.unlock")),1),r[21]||(r[21]=ta()),Xo("kbd",uM,oe(Qt(sB)(["Ctrl","L"])),1)]),Xo("li",cM,[Xo("span",null,oe(Qt(i)("shortcuts.customEditSave")),1),r[22]||(r[22]=ta()),Xo("kbd",AM,oe(Qt(sB)(["Ctrl","S"])),1)]),Xo("li",dM,[Xo("span",null,oe(Qt(i)("shortcuts.customEditSaveAs")),1),r[23]||(r[23]=ta()),Xo("kbd",hM,oe(Qt(sB)(["Ctrl","Shift","S"])),1)]),Xo("li",pM,[Xo("span",null,oe(Qt(i)("shortcuts.customEditExit")),1),r[24]||(r[24]=ta()),Xo("kbd",fM,oe(Qt(sB)(["Ctrl","Q"])),1)])])]),Xo("div",null,[Xo("h4",gM,oe(Qt(i)("shortcuts.manipulation")),1),Xo("ul",vM,[Xo("li",mM,[Xo("span",null,oe(Qt(i)("shortcuts.move")),1),r[25]||(r[25]=ta()),Xo("kbd",yM,oe(Qt(i)("shortcuts.arrow")),1)]),Xo("li",bM,[Xo("span",null,oe(Qt(i)("shortcuts.fastMove")),1),r[26]||(r[26]=ta()),Xo("kbd",wM,oe(Qt(sB)(["Shift",Qt(i)("shortcuts.arrow")])),1)]),Xo("li",xM,[Xo("span",null,oe(Qt(i)("shortcuts.snapRotate")),1),r[27]||(r[27]=ta()),Xo("kbd",_M,oe(Qt(sB)(["Shift",Qt(i)("shortcuts.drag")])),1)]),Xo("li",CM,[Xo("span",null,oe(Qt(i)("shortcuts.resize")),1),r[28]||(r[28]=ta()),Xo("kbd",SM,oe(Qt(sB)(["Shift",Qt(i)("shortcuts.resize")])),1)])])])])])):na("",!0),"about"===s.value?(Ro(),jo("div",BM,[Xo("div",kM,[r[33]||(r[33]=Xo("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgAElEQVR4nOV9B7RcxZH26CmggCSMDZhgCQmMyUgEr43TrvfYP97Fa2OvvbZBgA0YEIhg1kSBAkFkMOBAzkkZkECEtRcQEslLEkgChHJ8OczcOFP/qaquruo780DrXe/5w32nz503c2N3dYWvQpdKf+EGAE0A0Ef+3xStHt0VdZzak/TMLSfljVFaqdWgBrJVoQpZNedWyyCHDGqQQbWWQF5L3f9Vfzx+zvB7+j32LcN91bVaQudXqxnk1QyyagqZ/EafsSWQ5eZzNfG/5zU+B/e5/NF32BK6V1qNIM2xxXRtOr+W8jv454v4OSCBGqSm4XXlGXGP75tzg5x6BSCHGuD/3B/8nW61WhWirAyVpNxSjjte6KlsuKSn/d2x8Kdv9HPj0Gc6QN+/dBz/koHvg4OPn99//8ltOuMN/9CT9jyaZEmXf+ZaFfI8rmV5mmdZlmd5Wk2zpJZmWS3L0lqaJrU0jWtpGtWyLKbvsrxKDY/xv+f4fVrLcZ8ltSyLalka0Xl8Ln6f1vjaaS3NM97T/zHvc2z4G37nzsPz5ZwUn4OPletpw+/0WanRdV1z3yX4Oa/U0jziPd7H3QuP89cxz5vRNfHa+Jkbfc7SapbG1TSN8zSJctqnCRGCbEmepN1R24vd3Wt+sn7944PNhGz6aw++n/XdUfPf9kRdi3DG4KBXgTosz/Msq+Z5Nc/zWl6t1qq1GlSrOeQ4C7MEsiyGLIsgS3EfQ55n9BvO4Gq1yrMZZ1seQUZ7N6PzhL6nRudFfL084xlOzV0rdzOOOAP/L9ei69E+gTzD5n7Hz+5cex3ey2dzXm4a/e+eETkE7fVefBy/X059kftn1nP4WbkPcAJl8ly1jCYOEVGeZWmWVzNkrcRhy0nHss6e1cdNn14iLvBXIwJwbKatsn5ET9p1f5onVWTUaR5V8cGQqrGjsNOrNWT4Ndrn+JleKocsEyLAJh2LHcIdjsfoy8ugCnEwEXFzv2eZuw4PFA2Oa1UceDyHml6f7yf3Tcwg876au0GiZ5Hnwf/x+6ojDvc8wfX43flYfSclAPxcNdepmvvyvfi+7n6esPl+9Bv2J+6JGOI8yxOUIzjFoKvStmDjxvf2l7ECKPX57xp4L2PaKl3fiLNkLU75rBrnaY4Pkdb4xbUTiADczKf/nYzWwZbPMrgZVIUA6DwmGBxEPp8HUT7ToGSZzt7CIPpBkA4158nzyD1yT1Smud91QOT93EAETZ5Vr8sDVYWqJw7WQ5AA+J7SB3pP7sPwe+ZY8k76zHIsTag8ztOsjIQA5aTc3dq94RwolVBM95n0X+UGTt73mTSp1NRWabsoQcFVzSHNogxlN1O3skh84So9qOtwz/YcAdDLC1vk/zNkh34gZJDs7LBsGF/YnWPYKH4WgmCO4IiDWDPep1ogKscd8izoYO5QbHh/ZdfKdZQTWKLWwed3sqzeEo8Mvogt7T/HVUicWJHjRJMXOcqVPKfEZ2adCceEFIW27ra71iy6bpCM4X9p8KdPn963My7fjhfO8yhPkko1lG3ugf2DF6jas1LDTg2R8P84gDLD3Ms54rBsU2ZcRtcR1izf4fHSuTiYwjpl4C0HkGdJlQDoWeU+Nd9UBLjBJ+5WeCYhDCfu7DvxOxQIJ9ArcO/u55+dCVn1EiZMfQ/XL5ZbZAkkaVRN0jIpZe3l9gVL1iza3o3lf44TCNVMmjSpqTuN78QLpmk5SxLSliFFRc6xXqZkqzQZhchRfdjpSOlGTtJMxXMj5Qyu4UCjSBCWKp1MRCXsGK9F32EHSse4a8s5fiY6AijoHrkXP+7aXuw44nIDSByOnkmeo2aIoga1mg50+G5KyModRL7bc1BPUk4UcB7fTP+QLuV0Badb4dikaYWIoCfufnH16hc/9Z/lBDTzcV/OKneQ2ZFWMjSFSIPPE7aJ3Q1ZccIBYaVKFbHIK1U84Nq5AacQxZC0fjxHiMqKBGWdIkpUlhqFrSBXmUU7NklYAB6L36OS6Aa1VgUUa3gfHMDg+Twh6GDzAMpguuOJqDIy1Yhg/YBavUHEULEftG+Ye+WGg6GFIITuxJT0gxl0sk4yflblhHGKY9cddc1b+ae7B241EYi2X846ryBlL4tTtrmdCWcf0neyUieaX4GCYzras053vMhBNg2Za6hcx3NVH8D7pUTtiZGzDVixJ0A+lq/jZjPdX7R4fSbPVoVDBVyDOYfM8hxnuVdy7SBLC59JdRztByUIIWBh/8L6uY+R23pdSWa66/9UCEEsIRF57j50XLXiiKDjnq0iABn8jqjjW1k1y/NqXCVljwZVtVmRU2q+qNxUJcu9KCFfRg6Lhhxo11bZk87Cc4WtG3PIDqjrcOE+VhfhjjQiRY6lwZCZVdVnMwRq7XA/API8MvuRAKjZPjC6Bok6fWZPiCQ+9HjPAazpl+EAyyAjERUJ0hCVU4h1wol4Ii6AfUDioDvu/JUd417l/qaO5aOTPFmNkCRqlTSgRmlR21Q7Uc0tMblUyWO2iJ0qAIl2VL0JZmQ6YQlFa6BgFQih0fOg+DDgUaNzLMASEEBVB9ThF0hU+J5JgjIVZSt+TiBN41A8eL0hb2D2ip6EYpMJIDATi7Z/Zi0EKxJwLCzXlf6zWIRgHSJq+P7IvfG3JEu6mzs2HNqrUigEEKU9s4j155XM2/WEpiniprNKH140fnlJq7HKLBN2GiqOFolz7JYUppqbcTyT9d6WEMWccyyPOJNVJuW5rTUhoirUSzx2QQRQ86ZmcUOCZiVYfAaKCShRixhhTonEgzM6nCjSRw4YEnGB7+KAIkU5WfwpRxBOyOLQchAeK2s2p5BkMb1IlJWffx1e718nDhTl23QMy/1KLhAlOzIEqLAXN0Qgmr1XyEI0T5Q51e7VvuaXRAJAaNdxF+oUUM0+6Gi5ju1MZs18XWWTSpROPIn8dffIrCInoopkPANSaZrCo49Oh6OPORr+4R+/AxdccD4sXfoeEQINrBM1auPrrMXr04A51NNr/N58UwtJrQ1stfCd6Dt+ZiUAEXWCEBYthHr8JE0jIoLuuO2MQBQIJWzceN+QOC+/zbM/qsqAM6ZuYdTCzJUBtTJdOsMoLmq3s3mnLI87kc1LxQJ0lih0yh0rst/Y1sQpRE7rTGfWrsAJEYDvfJHhfC7LTv6MaEqSpvCzo48G7KI+ffpQw8+DBw+GefMeZ6dMIv4IY0qKCDC6khAAs3Gr5Rc4pGAcwXuIL4X7CjmJVxYF53CEreJDEVR5JnQ0oecxzcqrNmz4jx382AslREnLLxjsifMQybMwqpnZYoLQ7FH7XBUuJgJ+YDtLjSWQqSmHs4nkZGAyKkYus4DubWa1Z700gE5DF6DIATkqktQU8yy/Jg21nhokOelMcPU119CA9x/QH/oN6Ad9+/Wlz/jdbrvuCps2bmAicOIpxDys+FHRyX1h30cBJIsn+L4kLsjvJfCvXMP7JAjbCCFm/C18Xz4/SVkUVOLOXwdcAKHeJO9ZSIBPFlXrsWo1jfhlHA5QNMmEhZrZyfKs6OgofDZUHYIwFjo12rAXEUiwKCb0JT0YkzsRUkARebAVzKn6/7nj0c2G9zv0sMNosHHgcS+tb/9+tH/g/vuIAKK4AqnHLkJdyD87aeQiGgwX8LqJ40SiMBMnsgCYQTkdF1Fxo2Y4c2scE5kk4kNhLpNm6MBDd3J56dKldwz1OkBXZfVX07xcy7JKjQfXsni1pcWm9WybXswCMpYSLUVas8fKQkvNogQ6Vm6UNA7SEE5i5b4d5NDMbHhcMOAGQTQmIG5btmyCnXba0bP/gAD6MkHc9JsbmAAiSwDGmvGiK4SovagKHEv6XJ6bOkIW5VB9FTroFhQSBVAVdgWFdMKhyx79BTm0l9cf5QmgJ265hWd/mZQ/j0F7GJMfQth5ii3LIfE2qDpoZDA8u/NuUGHZIRfQDmJnR9Axws79DHbKm3fZmg4TUUAzydnn9FtNxY5B5ETmZ4bQqLOgBpVKGQ7Yf38a6KamJiWAPkoAf/zjvxEBxAmKACFssU5C9JD1F3nuAhf04so9VyAG2BpRE1ng5RAUqrPMDGdBpdK/P1oSXgx03E2D/+T7E7aJs663lP2zo4dtf3WLqgeONdU0q0KSKU5ehDv5wa1G61i2m40ip+V8b5cbp42/vwFOWKQYSNjMamL/nrVbtDA34WiGCHJUilBDFk6X0YDidumUS2mg+/XrD3379YN+/frCgAED6LtvfevbrFj5wVaWX23oVJI+DBVb5QB6jD6/0QXq4GIx8ax4NBYUWQViRofgFuICqO3Eaefqdetmf7rU0fH2IXHWk1K8W46ggQuoMCiY70DhABlzANzbDvCsu+gskY7ws1Plm5ftVtH0uDt+J+abJQDTwWK7F8SAVyALjiTp/ARnUVXtfDwXNX82tapQqVTg57843osB4QRjDx4DK1asoHOwD/wz+Hsa29y8CxOs6kxecaPvuT/E+VUtiAAbm6C6g52QbCLS84gIpclgCAKbD8iJatVaBB0d73y7FEWrT6GXyaNcvXgWPeOOZBFQNQQgRCAPYU21IjpocHcr54Q9WnQwkN/hTODjhKWpJ85eT1A9/lyPzXNkEg98mqWw/P0PYOnSpRDFkf8OZToCL7UawJMLFsD408bDCSedCHfceQd0drY7MAgxEpll+owMg9v7ygwWMadcwutLdqKYd1ERouJVcQH9zGIZuTKbl9ZcZs4nGEkBE+hef1apnGy6kl+8kivmb4IUPPvAl3YyBW+W10gExI4YGK7Uh9XmvGVe0XJmY0E2suli3KXuOIvPq+LG8jv0MSDsrFp4nZPHNdRNcJv/5FPw5cMPh0FDBsPAgQPhoIMOgrlzZ3uQR9C34oYdTE4aQ9AK7xZdycIRHYckjlFt8HzAnC4wUR0B0IzWdxJumnn3t52ARdOywJ2dYp9mTAA9cfvNpUraQqhGmlcwxixwyrCN6W7sZL8ngAwJQMSAcAaLVnFn4/9spoWuVBUpNXcsmi4G8Stg56GpaW1462EzIWYWZXOKlAzo3McfJ7le8iCPavkPP/Qgc4KU74/4f5xisEUKMRKGiBVBPb1nUAdQHTROS/cczIq5oqUiBF3gngZdpT9rJroBp36mcQjjB31ArrWoGMNhaDjvmVWK084/KgGwCUgDkwnGryiVZTtifysbEtw7qbdZi44Pq5gJARDxiIaswZI6+0Nb3usT4rzxHdbIwcSKEx4bJxGMGTvWgzx9mhjl6+fs+1GjRkFXV4fTC6yslk4tgl74u3kG85s1/QQT8cTgJ4bqEUWi8NaFEXUevTSu9TBEDglOEE4DvHlAifqXLYGk6+lSFLe+wYiWhHqxPzpNDUV5/7qyHGvSsRLinB7CPgtmoYeHvSy3HIB1CXKYeDDFRgIrrBnCttIZBtYlwpOAFVF6UprBuL275B0YgIgezvomnfnEDZyit2jRS17J44HVQVD42A54QcG1fo4i4Yur1od7sQ4QRh9zv/iYhoIOJX8WLOJ+FautoDdZPYmfjQCPStS8vFSOm1djeHeSlX2QJ4clWRNDgIeC/eqVFRMk4j9bAnCesTyEcC06Zl/ea/MBGhmGZ9tBt813vg+scJzJmXdvvPG6G+wQ4LF4/+LFi5gAkPCsu1f+LGJXfIbAlK0nWDtppD8D8VE0Db2ZrHqQhN3TExkLSbEQqxgXOAaH51PKVpy2bkAfwBa0C9Os4kxAjZDlGW1YUsHWD0w5C06QLJf/DY7vNVJj97rvi8GXwtLFCVWnQxDXEPMnbGjioW2fpAnEzoePMw47r6e7A/bfbz9n4/ejCGr9XII99tgDurvbKTkNz0ddQLRrvr6CXBS44d6b0724TygGwoouGnzBQKS/8H0tTqDv21hHCBXasC+UA7CoajAxjL8hzymxBJKsfUOpkmzpQFoKCUCUCxeNWudPDzmBEIANaGBXqQv3Cma3mkjWhayy38la55cvmoUyK2poo23lhsfitTG4A7eZM2fWzfw+bvbfeSfFwEKSYq7e1m80QJTxJ/kQVn/AATKwtcE+AgUtIIRGvxcJwGADwe+oGxVMbzPBMJcDCTzO2jaWKklLFzkKJO7PYPWe5fv4Mwl1lsyeEAb2UStZTLMwIRcvyjAxRVQrVy3ZBodkjbFxb/PzHrd16zfACy+8AIsWLYLFixbBopdegoULF1J7YeGLsHDhS/DSS4vg3//9eVj63jJnwlGEDH2ePWcu7Pn5z3tCQOXvnnvvdbIfEztr8M4779A1Fr/8MixahG0xvIT3ws+LX4FFi1+GF15cCO8seddFP1nLQBC5gou7qLTJhAhEnBCKhrZ7Jc6IJNHFmKuaoNmilVQgMhYByOHaN5cqUashAHFthiiUujcl9JgDOLzTIfBOISEwkEKmCTY3+EIAGj9QjDAybNDH24kcY0rH7e133oadPruz0+T7woBt+tG+X/++5L3r27cJ+vXtC9sM2IaOOX7c8c6040ghUQi7usvw/MJF8PyLL0F7Zyd9RyLDAUV/+/Wv0vmDBg6AAf37Q/9+/VzrT4okuYr7s2/g5pvJnYKx+WrLB1xP3rngHBKOZ1i/WjzC9q2n0Mp8ES2hze9BsSAe02RnZ4kTAR1bSpUYCQCjXypKAC6pkgfNpiOJfuCyVownTzV/Nv/YLnWhVdV6Z5J3cjjnRoDaGXyfQRSOxkWZjNtDD97v5HZf1uaNMtfIczfuaAp0Qn+4Y5k1iJKEuJSweRz0SoyDz4AXbl887FB3nabe7+EI4Ic//KG7hzqDxF7X2IqirmNnvOYcKJhkZrI3f0XJU98K61RFcSlZUDaoRnQ79gekeQdygOZOfF0OHpQM2DCk2+LpxOYpmkUUPFGQDCJIyo3R+B1QIb4DjXI1US1W/lEnhG5b5lI8c2fMeNQPwPe+/3248qqr4JLJk2HKpZfClKmXwuTJU+GSSZNg0uTJcO5558PMWRTm6G1kHOyiDpFmGQE+8vzY2bfccjOce955cMmkyXS9iy+5GC6aOBEuvOgimHjxxXDOOefA0KFD6TmO+gETADuWrKzWqBxrz4cEYN3Vrn6AYd1eFwq0ec1eEv0icDJJMI8D4Vj757FKyCEEqAOsL5UrzYR6YOKHpndZ/34BuQr0Atmrh1Bdv/YhJRtWZFvIlry27x9cRIBq0cSlHJI3Y8Z0TwB33HEXK2ENAjhlEzxBilTgtnnzZpg+cwbcesft8PQzT1NgBxIFKn+CdvamZ+Jz47Zp0yYYPnw4Pcf3j/qB4QDWgjG6TR1MK6IvTEXTWS9coagQhwojO8gYUKuzFGxoumQPCQGkbWtK5WhLB6V5u/TuMB0pTEuSODar/AWxAEHAhj6UPKRVboTNaRComo6eXXp7NiSA6Y8+7AngD3/4HX1XrvQQbEvQbRKTxo+oXxxH7LhxShJuTz/zDOy8C+sQ4uX7+je+CitWfMCDSNYME4NvpNQioJRA5KyJVas/giHbDmEOcJRwAEsA4rrWgI7QmnG5A34iOEhZZrq3kgTSdWI24MosYskcbpBHqXqWYiOeAJL29aVKvNlxgMRwAKOYGTNN8wHVL622vuUQ1imkHCJEEuXlJGAkbxhWLi+LxCDK26OPKAHc+offu5mXBFi8xDPKfbCDcPvgww/hM5/ZwYV7NZEMl7Cvww47FMo9XVCrsu0fRAt5scRaN1ki61bDtttu6wjgKG9BBDGQ4u30oq9AAMbdS78HUHLRC2gCcAv6A0cpqx5lAblA3GJfpLHjAJ3rS5EjAE73luQNReiYTcsDOxPQ5qdJgobMdDEHnVvSR8LI4HvzxeUTGtTLBm2KxuqVQvThiw4w/RHlAL//baDgiYs1gI4p0IMVyCuumMbWwzYIB/fhhgrlAAaC5s9/wlkDUaCTWNNK8gXWr1sLQ4cyAXzfEADb4RLHoLLZBsTaIE7V3IvKXGju6feMO7C/XwhEwuzCeAkfZezFAOEzjAMkXUgAm5gAcicCpPhAQ6ROw5DEGqB4fszIsQ4PqQbisH4rNhgs0uAR6RSfoSOzJQj95nNlEGfOfLROBCDbty/KmrcTLVlKogC3k076BQ94/37Qp9QHY+KpiXfw9ttv87F+3ka3lU4IVGIOsHYtcgAnAn4gOgAq0YXYh8Kspeei55Q6CcZkM+FgfnZ7E9oqgPa6ZuZ72LygWLtMIc4WYg4QIQFUos2dCHogOGA1UyWAMCZNZj8FQpqkB/Y3F9ApZxLq4CNrZTlk/dQe5/bsnrkDdxSbf4Lz4/bYY7M8Adx2262GAGzcvzNbnckax2U6bsqUS+i8AcgBSooGijfw2Wef4evFStQWnrbPsWbNKhgyhAngn//5R05BRP+BC85wE0lnvlV2MUbPiVrPYQpRyuZcndWC5uk1NWtKYxPJjA98MRoRxASApnDn+lI52txFJdmIAEINU4Mdi6HOTvaTf9wqMSrbGAxystRRPHnlCCY2ipElNorZM0UYCPxx0TtpQvKZCWB2HQdgma1ZQ6Rc+coalDNP+P7S95bAdttt5234fv0x3o8H/0tf+jJUyt0cO5fVu6/F0SI6wJo1K2HIkMF07o9/xARQqXRTwohYC/QsDbkBNsFcrOlXdPkKay8ShOhWNlHEgkyicJriE4EVgEpu51q0ArrwdRAdUjDGplrV+9UltKmYxaOUblKinLMkzNFXYmIi0JkmDhVfdAFqcN1118Fee30eRoz8HOz1hb1gxIiR0OTAmd/efLNjvYYAvC4QVvliIgB49rlnYcTuIwIr4NDDDoX3XNoXavvirg5BGyEA4QAfwqBBjDZuO3QI7LnnHjBq1O4watRoOPron8GqVR/RcUUsxQauSrye4vZiAmt4WOgcshy20I8ebCt4YkV8i2s8qbASGHesLvVUNjkCQCWwEEPnOYBjVSa1yVfLoBdStM8WQgqCRUysur6QTfcOO0e09sunXVkfnm0QuJtu5Pj8mCJ4TMUOic8rxDgiV8Ktta0NHnjoQbjm2mvhqaefhkocs6VhTTUHa4tOYc1fIoDVKzwB2PwBT1SHHgzd3cy1Qh2pkJ2Ejl0fXibFJNX3H2YTh/qB2vuiOzV2LoUEwGZglLQjAWzsog5HIMgnORrMmtAjcfQopCspYAHO7JE9YTsmIdQELAor1aDIog+bWezmLZthx5128kobdiw27Gwx3W668UZHAFjZ03SuCS0PMpxwkJ3ctRs+A4mmIE9PYW4vEt1xogMMHjQwiByWNmAgh5Df6xxM+HyNJpdPpfc5jJLgYS0gQQQLzqIgBjF0L2sNJpOTSSHwQgA1iNP2taWeygZ2BiEQ5M0RsRudLzyw6Z2PwJkg2tGCE8hMFPtU6gNKOhnPMPGZ29kgnSOQ7wsLn6d4PYrZ69MY57/l5pu4gxNJLClezyqyrKAxh6lCnKB5yNFCYSy+ZbchkQsh4LZu7WoYPHhQwwwi0SvOPvtMOrYSOSXVF7mSawsXlFCu0BwuBoowEWgyrM9H9JaDwMIOC/EuYA5m5egoRwBJx7pSubKpCyFQKstKBCByxYUQu0AINkW0cKOaF9YTaNO29ca+iJG4P03xSLmGBk4gAbC599y/PeOdMXZ29W1qgv79WYtHvB43dO6wD4I7IQiGkNwCgyr6aJ5qeCwfL777orklA+hwgA3rYZjzBSBBBhzAJZGc9IsT+fliywEs6KXQOgNNzskjEc4+lEtBOYV+TSxFoCe4PpXvSZRZKJh1gCjpWEVWAOkAeUYcQM0UiaR1LQgJU5YtyZ+pSRwRWWmjeRT3rk/KtN4u3Avk+/TT8xrOrjBHj0VAlCDB4nvUE0DvrepDpuobX0ODNbWCiFgBGzas8VZAbxxg3LhxIQEUQ7iC/+3zmJlfDPEuIKuhXoDPLRPTihsp06u+gErctpI4AAgB2MgRJ7958E1soJdHgnU7vL8Ys+ciflQWqQxWf7VCrYxRc5qWgDZ//ONz8IV99oYxY8fA2IPHkqZ+2BcPhUMOPYQahm/ddecdnsXGKXr0Uo/fk7xL60PGxDxNTQgZKn/4fVL8zfgDZDIgLoE9uHHTevjKVw6nnIIxY8ZQO+SQQ+hZx44dA58bMQLOO+88er5ypeIDZNhjaHUfm01Vr/yFekNjAigmxapoESVRxXAiQFDcuqpUrmymSIi8SsWdPbjgb0hKTyGJIwh4UE9WSIn6ILYMqnfxWtSvQQLG/+tbjlwzYcsjjN0zOQKeSzH8K6gqh9HLxJPciQaxhQW3dK4R0uIMWlsql5kAqtW8FsaOOS1TqntQVo0GIAaRPYViDUFygzfJLD6vuoNo/Cs/+gjmzZ9H8Xpz5syCOXPnwGOPz4XHHp8Dc+bOgtlzZ8Ps2bNgzpzZ8Nhjc+Cxx+ZSmzN3NsyaPRNmuzZr9iz6H68zY8YMmOH2M2dOh1mz8JhZMHsOXm8WnzNnJl0DG/4/cyYeO4OPneO+n4PXnQmzZuG18Tz3fI/Nhblz59D3M2dim033nT59Ojz6yKPw6COP0OfpeP8ZM+j/Bx54EBa+tJC8lrhxkQ0tS1MUi2FcBSK2EhArPpYQsqf+9qnimhcoXJhFAEcExWn7OtQBlAPYVCurQRtkUN23hcxXS3kiyzwlh75p0f5xa2lthRNPOhG2HcZOlf8fWlPfJhIRAjujP6VYZEt9D6ojhA42q0QW6hI4L6taLq45a0x0gCRFJbCywesA6oa1rmCBbaVUGTbUUk3Gr8ny1YxcVEZUGVO7lRtu5XIZvvn33+ROQdfsgCYK88JGbtq+LsbPNf9boWFcHrUB2jBGsH9/s0fI1+yD4/vz/eg7d29/jD1Wjgvuz1Ayfde3QSt8j7GKAhRhfOEzTy+gvkjSiqlLWLT1DfxrcjC8yzywvgpiPEBeufA0h4RhZlDHylI52sDeQBQBNmM1iNZlAvAwo1FUVOM0Doo6U8zY/A5tw23qpZyDP3BQf2jqi65ZM1P6bGUjDfwTjuYqZ6cAACAASURBVGlyTT4Xf+sTNsEeAgzC/+ZCyM3/Hzfbbch5IythzEEHQVTporRyHzDiRbGphWiyhMPKIGpGSoBpmFQrMReKigoBEBIYxZubnVJS86FTweALwGIyhAqmnODjVjRYQANBn5pVUMiUyuDgQw5mk65fU+PgzsKANBrc3gZqa1qfBgCTDlzhmsUBtYTTG6s38LUgmEVRgPvnnnVcAGMQaGIJF7YrjejsDyH60GWucYWMLirkrqum+JjApO2jUhxv2SIiIBx0u6SKFmQM4gV9YQYb8mWKOTsKpLRtk8NGsr9lC4wa9Tnu1GLU7ScMdN3ANPgt+NxUf75vpQb3/DgOZAjk4whABhsjhrZ1YFFv9YZ+91vn0EqiQkCLooSafWVL75hyd8Y8x/6u1TBbSbEVjfAiYM7lBrYtRw7QygSAizNxdg9zAKn8bYogO7jXFjUQR4T3Ppn6wV6kNMD5W1o2w8iRuykBfNJMxkGU1gtBNPrc55MIoE94Tzm+4fN8Anfwv7u8wwkTToePVq6CNevWUzRx8TghgOuvv5b6xJehNVnZLONNsWwXkW2h7WKqvPcnmIhqBeWIeJgAkrblpUq0iawA9gbquje+Dl0AQBgwqBDbpm7dsB6fAD6qDDIHaG3dAiN3dxwAWWWjAbFs1gxib1yhVwJoRBAuM7hP8RxLZAWiK4qORkQgg/q9732f3hNhdoki/pcf/zg4RvY3XH+NigDB9U1MJs9+BMliX0xT8hS9C95GLZmJF5qWPlBUCGBZKYocEugIQNCjMJIlDaN5fHSwe1AJvDBLptgqGeLjtgEerW0tsPuokQ0JoKEIaKCsfZx46HX2m0Et2QEuHFf8bWvFkSh3N910i49Wrjhk83e/+31wjHKAq50lgGshOr3KBOayLyWGLK1wnWJXe5gxAQsXN/AHFAppsV8hMQQQIwGIO1iUCvUJ6AobEmKlYVZeYXT/+1U8xDYN9AHBsZkA2traKHjCK0v/BWWukbZfN4N7aaVeBrkRR2j0fVEZlEE97rhjHeLHkwW3U04d3wsHuNYTgHDJ0I0t/e7S921sZqGiqkVeaWxMqR0fauY4QJy0f1CKMwwJy7FARM0WMQqbARgKD6bl3DSW3zt/HPtn16+WUScCaG2FUY4DCAHUsdWPUcI+SVmsm929sfameg5Qx+ob6RBFwikof9iuumqazxS64YYb/YDLMRLTcN11LALwWJ79xo8fiIIwOkstBAv5ysTTcva2ugpxAJcbGCUdq0tJyjGBqSMA71s22HItwPYLARfm+8DF6bVSgwg6ymYdoAV2d2FZUpmjNzOwIQF8gnnXGzcJBrWpMRH0qkP0QkgNFUE3yJh1vMeemIVcjwcUCQCdTBoR7GIKTYQPLXPrlfIwVlPjAcLCEHXQMifZOii4Y2UpTrd0IweQkDDV2q0vvCDXZZab5U2EQm1d/7pFI4wSiBDw7rsbDtCL27ehiWa/+6Rji2ZdEV9oqhcBdZzA/d70MVyi0bMEOADFNLj3c8cLAVx/w3XMAVzpOY4JkPoJUibXVgd10T1mxbOwBpOZ7d6N7ZREFwHOIqB1VSnJWrsx8BLX3fUnG4VCqNBjzjY4wiODpgqICcJEdKtWK6wk6gigvb0N9thjdF1H9dp6G+xPIohPumYf1R16szC8BdKAAHolTjvwgnIWiMuHtbmoJuYAMlvtoha28pgJ8igU6vCp5AGUbIJNJemGEkPwfq1rS2nW2s04QFKTPLWgBXF2Fu0TzmBLkWkAiCwyUZN4N1oPXDlAR2c77Lnn6E/mAL0NaoPBp47dmnN74Rh9PsG66FW0bA2BNSA0SUa5xQFBGDfIfVScxRZiL7jgA+7aqBVK1pAJyUhgmrauLyXZFrICMCzc5gAEHiniCsVMnSIOHWb8BIsy0eBLZSu2ids72mCP0WwFoHJUxNiDjjMAS6OGrFXKvf1FranQKMDTXNd93tr7BARgRUsvBHDzLY4DJI4AGg262PBePLug26B2UH0Ye4DJ+PQwxwEwPTxKNnWxCEhqWrbEhG7XJTSGIIUfeFM8yVKwlT/S2AxshVFOB/BK4NZq//+3tD4FxdNyEKME3nTzbzwB2LR8z2kLfWoDdzWSW93CXix7ZdGsVM6lYqVK2NpSlG7iAhGGA2gAhyh4NrDShh1nYekRCRkPCh6YZAf3UA1xgE9ix00lSsMatt0wGP6p4bAdtu24DRs+DIYPH0b7bYduS/g7Hks4vPvM/w+lgg783bYweMgQGDxkMMX1YXTvIGyDBsHAQbzH5WHkXGrb8jXxGsOGDYOhQ7EN9f9jw6wjMfeK71EkAKpwQhzgxgAJVAIIYzJCvUDd9haGl8LRguRqtTb067gwN58X0LymVEk2dqLWmWJqmF9vl0vEeKXOlx+zrkrhAsUIISlTZqpdeEVEkcD29nYYPXp0IAIaEYGV6xjd09LaDKvXrIZ169e7tg7WUltP+9Vr18HqNWth9drVsHrtGlizdi01+rxurfmfj6HPa9bCqtVrYOXqNbBq1WpYtdo1vA5daw2sWrOG9nje2vXS+L5r8N7r1sH6DRvovJG7O8J2Po7euJkQwG9uUgKwq4zL4g9+lhuiCLOFTD1BCxRJoK5ZjtZWCClH7atKUbKxEwcsyTISAXUZJQQsiEkX3rS4tFkQBub0B8HCffCjwwHQChg1epTnAJipa1lnCOvyb/Pnz/fxdP+nbTVXTgSDR0eP3iMgAM8FCiJCCOBGt/oIpaQH6/2kUA2qttjgWxsqVizQ7RadDJancZyBfAoRyeFype3DUiXeSNnBqRCA+PsD4Mc4f6RAkal86VmRx56lvImd/ZrsKDrA7iNDHKBIAIHyVCrBvvvuC2PGHAw3uGwgWq/H1f2nRR2ldD0RJwdR2iolnAfArJMri+cNKm+Z5BKTseyVL0qiUYVXUtafeOIx2H//A+DwL3+FxIe3aj5Gf/FQ8I3XBynuNnYyULB93YWwjI9ORlt+14FHXh9wOhoV0CwTtfaUWz4sxQnqAJSLV8uLoWDOfZhhtIoPNtBgkKK9KSFianfqqtxFIKi9oxVGGw7Qm2lmicFn25x1FndYjDOGXw5nILE3LBOTYtADloqJIMIWRxAnFSrhhmwWo3HJs5ZK46qifJ5+h8AMhnL768V4fsxczRWyTFPmaPfdd1cwqL3Bw40J4IYCATjY3AE5wez2dRrtgh6NcAHuay4po+sHpYYAypXWlU4JpM6rcUUpWXjIeKOk2qfIGQ8YGTZkzBUbB6jQshUP+HsGhx56SGMC6IUY+m/D2TbnnPMrZrcJcgAOL3ti3jwYO/ZgOJjaGBg75iA4aMyBcOBB+7t2AO0POGB/OPBA/HwAHHTQgXQMNfp8EIwZexCtCjIG21j+f8xBB9I5++6/L+zx+T3ggQd5xTDJL8DtgQfuoWfjjKCPDxMrEgAWvfIEYMLxhPuGCz/ZfEcHshWURaur+RIzfiFLDAvnzKBy0ramVHEEgPVjg+REEwLGqd3GxiwgULIODxOFWYaVHEGGQ7jvpN7fxRddRB0gaV6fRADCAf71V2d7AsAZituUyZPDGfhXaH3dtY8//udO3msV8vvuvfM/dX85DlPdt2zeSCLJL5wZLAhlVwARTqu1j7ScnMYFahCpqTEkBat44SiXHt62lqwAWiuP8gI0EcHmrPly8fSAmi6tIeBWhhYKFhfACKLoDKtsVaGldTOMHXuQ7xCOrnWtr4u0dVG5mB8odvOvhQOkWMWDZ+DGTRvhookXwWmnnw5nnn02nHnW2XDGWWfBGWeexfuzzoIzcX/GmTDBtbPcdxPOOANOnzDBfz9hwhlwxpln0m/0+wT+ffxpp8Npp0+AJe8uoXviLEOlD7d7PQEw5i+RwsE7mSZi4d5773azP6kryiG4DBGErLjqvbIaqid1Fe046OAbZ5JTDiUzKE7aViMQ1C55AaoQmSjTAugjrt+iOaJ+bINN29InASLF0S2YobphwwY44ogjPlZWFrVmJQDOrLEA0//EVjVJphLhfN+9d28VB5B3RMzhFlfcAuWyrRMYRmCpWSeTyxMGTUgbfWWLR+o6xN4H4CqsJ4kQQPuqUhxvblMC0GLEdezeNL+8ObF/Q3Xm4YPgUa/YhMmR+DBUdStL4dlnn4WrrrkGLrtiGky97HKYPGUqTMWqn1OmwBVXXA4//clPfSee9+tfOwJIAnHzP7XVzGIVQgD338cEgO3ww78KN/7mJnqPy664Ei67fBpcfvkVcMW0aTDtqivh9jvvhGXLl5m6Aabmr5HvYsNz+JeryeQTcBWrqVuVRNYUMrmGNshEfAHEAeJki+MAVZcaFsobMTl8UgKZWq6EitzIl5NRWeRlmNEP1C+g5U+EVfW2ic0/97HHfQeffy4nXEpeP24dHR1w/Q03wgUXXAgXX3wxlXWdNPkSmDL1Epg89RKYMmUSTJ06CS67fAq1Sy/jPbXLJlO7YtpUapfS75Ph0ksn0/7yK6bC5VdcSudcedUVsOKjD+me+I6eA9zDVgC200+fwL878dBoQ5aNbF9LwAkHlQU7pKSbWfnE12jUoBu20MRLqxnCdlXVUEfQvIAk7cAFI7a41LCqJobI4NtkBL/ylGXzrlixrE7p5Y4sV2br3NjYtDBYgWSpVK8gpIozcOO4Aj095KyERx55qAEH4ONxm3b5tP8xJfBHP+aCUGw6MgHcew/rANhOOfVU+q6np9Mdw6YkznZMYy9jNVOy54vi09Rg9oU1dIl67ftC6p4lAFvfQNZD9rmBUryLrYA069qEBEBBoWwFmJW2fNkXs0qGKHSFDCDFAAqAio9Zt1aARLCEJdB1OXeTep6lfj2/Rx/V4pDnn3uuJwBZBu65p5+G/b7weUoZH73HaPIz7D56dxi1xyhCHHFP3+NnbFjMafQo2H3U7jBy9xGujaRAVdxz4+9HjOQ9HrvTzp9V6NYQwD333Oaf74zTz2D2HpdD76kr7JwW1z4MFLswKltK64RpYy5YxERgqXhVN3FQfs5zF+UAadq5sZRkLV2ojOHCwoH97/F9F34cuBnloQvJoXWRRDb3XVb5tpHDQhi2WpYhGFMc8tFHtUD0Beef7wfAm5tQg55KGdo6OqCjoxNa29uhrb0d2js66Lu2Trfv6PDftXd0QGt7GzS3tsKW1lZobmuFljb+v6W1jaKWmltaoLllCzS3NMPGzVvoN7ZkeCEMTwB3KwGcfaYAVRUDgeMAFgM1tBpYqP1zNZbAAsOiklSWr6CkBwNdmERWB/DXUndwlnVtLMVJqyeAAHN2VKO5ACzvM7d4ZKO6AD5lzJmDWuo1PDaAWL0sM6zNlI5TAtDqoBdecIHrYAWoSB9A3wPZFtxIYSu0QJmDxq3Rkay5MO6OgA0hhcjSY36+O+74g3++Myecabx7otypv0Rmvy0FZ719Cr9rqV1baS3M2XSVWI0OUEcA/nou4celh6dZ54ZSFDd3MgE4d3BdFUqTE0iyyWDrDZoWjQrDx8JyJwYpFMw64AxulWxUshwBPPKIioCLLprIStb/AYUlMvcMd9x+W50SyPWGtUI6DZ7xI1jRGLBym3GFBCQLb/ixkNVbkDubWkEyweoqjbIJqVXDE6sENpMVwBFBhYACy5ICVKpYwaromnSAkcDFwk2MS9kWo2DUUYsia/whcgBmsY8YDnDySSfBxg1r4d13l8Cy5UupLV36Lrz33hJ4b+k7sHTpEmrLlmF7L2jLly+ltmz5e7B02Xt0Hje8xlJYuoyvt/z95bB8+fvwPu2X8flL+frc3qb2zpI3YdOmDXD55VNVBxAO4EWArZsk6zG66ubO3+J1q0DJFvhXCMhVWfWpe64Wo1mnwdcUMAp2MCm5VpAQACmBjgAwHsBV9HQaqq8TGBCADQ2zDiA1Obg8iTxAofa9L2RsYt+dFw8pXTiFEJos545VOwQM2mbgNhyQMWwoDB2ObVvYdvgQGDJsMLVthw2h//H7oG23LQWNDNtuKAzDc4YNoTYUjx2mxw0bjr8P8w3vgwUs5Pht6R7a8HoYVCK+ignCAeJKwZFjNHlZINP3p6uiGkRgiRktprWxCHyksCxwoZaZVkazKXmKL2DwD5eK7diMyaGMA2SYHewyggsrhQZ5gSZZ1HOBQs0/K/dDLuG4hy3nbq4fFjlkqke8H7e333wDBg3Uoox/LVOv9N9gJl53LWf6oAUT5vRbZJUXi5A6PpzQYZJCG1UaDyBiSwC277XCmeZkKMbgIH1ZNWwLFoni7OAsrfnK30YUqKvR1qTRAk9BBWzPfszMr6t1a2oQWfHiq4ia0HK2WdF9SYrY7//wB9hn331g/wMOgAMOPAAOOOAA2H///WHf/feDffbdF/bee2/Y6wtfoP0+++wD++63L+y33360x/OkYVwBfrev+z1s+N2+dAz9v7+0/ele3Pbzezxu7332gb2/sDeZoMcccwzFOuDzMmhmiN8vsi3vq4MXlHLxJrSZDMGag8U8gWIcoSsV59caskCQIYCkbQvWCNrkVwwpwJA8oPLgEoVqFnMSs8YEH2gxxmKNmwIsSQ/Fa+Na+5fNRClFL6uTISGgH56V0tj76vFzBpU4hUolhq5yGTq6u6Gzpwd6KhGUo4RWAsN9TyX2Df8vRzH9hmXlYr9COGv1WDcYf4uSjIAb+g73SerL0FFJuiyDKI6pBFxPuQyVyFUJ9wReLNViFnSoc/pwIIfGUmoeBQ+usaSKPhrjl2HrigN2rJkdcFuvBLbjsnGbt9hVw4L8M2+WhXam2Lae5YiXz8my4IUDqpYH1O/0fjbC1S2a7JIh5Xl4MQaTgOpRNKmuWQSoBA41xRY9h1Jomv8keQX9lPpZryPXl6BXNhbxGD6b2S6vN6Qoqeb42VlqQZ9waZgQEAvZuL6rEQl+8E3cYFDv0ZqVPtNYlMDmUiXe1BGsHOoXcyjOXFd2JHAv2nWAXRlY74+WAdYZUC2slav1iORlbDi6qS+cuZJnQStEIvk1ehokR7i1ChMX5YzooZS8y/37hM+m0TgF3MNYK3XnBNdxXrlCHB9n5xp3boEAvG5lo6gMamq9q5awNYjUTUBjvisBeM7qCKCnpVSONnYha0UREC4CZVf4NL4A79xhuUUlYv2yJiHhKNxpkxaFghVrCBBGKXdiAA/RfBlokupjjcrBWrlnYVGGYOvRympQ26jxNUWm6j3t0vUfV4JWZ6rF8MM4C1+H0SvDOqAByicgm4+2DqFefl8O5rHcNojDCAgAuVVXC5WJQ3aHYeFaHt5qrFpxUpcrsxCwIQ47sC5cTDpM6uwKawwyj0SnCKjZrgDiljujVTwKRaAl6dEHRpigFDOrglyFYFGqXK2W4sA3gFglwTLA2W3x6YBw3PuYEi1WzBXxfR+9I1q7JwLxnWiip+fI9P76XliMKwwhV27rJ5IjgDTrbC71ROupWDTlBZilxUK5HIaE2yharu/r6uvmheZ82RIhxC/gCEA6FHojAJ0xlGPvEDcmAhNlbFzY3oQqVisNyqg7grLysiYl78KSrbTQpI+rD8Ewi494sMsThyGguqjoAjQbLI6lnCUQwxbU8QGpJuHGFtuuNRCzhvM4UeA4QEdzqRxvpLWD2QwUzVsoxZhknoLtA219EAYHUIrLMhxAW0Ba2aYu98IreibQ1t7mYwyDkidu9gRE2lAUGe1ZPJ25glt25tPeqYdbCwlTdm+dX96KCyFQrZesg6wKX0jYUq4nDA5tJPoU+bP6R1AdTFZRIVU3TrtaSpVkM60XgGyBCQAVL45OFeTKAkJevvBCU/DKK6/ACy+8CAtfwuXaX6Il1he9tBhefHEhvLhwIbzxxhvQ1cUrc+OLIyHYmjXCzgLFzsh+3FasWAFf/erX4NOf3h4mnHE6vQgRgguKFB84cRfLGYpEZYpUc9IK+I0TWLTCiZSEX7HiI1i0cBG8/PIrsHjxy/Dy4pfhlZdfgVdffRVeeeVVWPLuO9DV3ekJBZ/JE7pRDCU+0r+nr7RqCzkVB1aJx26os+nkKayNEOhoohdI9JCL5CIrAAmgo4XjASjZAQtE4MBj00Wh7Bo0qgiy161c7oRdd92V0C/OnHX7PpgRw5myWJp11912hZNP+SV88OFyP1vCxaGKyRlZ4Go9fcLpQfTwAw/eH+TTF2ebjYYJ1twTEeMKW7a1tVCqWXPLZspUIvnpnkXCvU/65cl87379KXupqY9ZuKJvXxg4aCDsvMsu8N3vHgmzZs0gccUcS4A0BcjqBlf0F5HrDcQQNsQo8Pna2pqhuXkzIYzkmZRzA71ICNhwMi8CBAhK6I5x2tlaKsdbuikkObUcwFgChYIEQgQS8bLrbruEeXBFiJSqazB0i4mcTz45j0UCdVBW79v29iqDPLiNH38qnY+djftrTUkV6jQfmmZZZpUsFF7K1UHXrj4BEm+l0gNf/vKXYIcdd4Th2w2HcUdzUSchFsk3OOGEExjmdSHpnxTs+fVvfA0+/PB9OpdDvqwtrqLTZl/5hFvBR9xgylrHr766GEaM2I1WTdv+05+G+fO4DxGQ0gBVxwGDVcQlLU+CTa0zCIm0p7lUSbZ0440xVlx0AEsAaq6Foca4lcvd8LkRWuwRnTS4yNOOn92JImeGuHV1cbb0H8Czd7fddoUNG9cQVIqOHkTS0GlCwRMOG0cXcBRhRg87gpDd4ovj+Qi9rl+/jgfLLSrJWUAcoJG5tYAQvYsRwYtwIemkwAEAurs74fN77ukH8Mh/+EefbsZpZtz5P//58brSKC5WRUWfMbS7PzQ1afgZhqzbd3zrrTeUS5lYSRYRvJSt3Icim3BC+HJ7rI/I4lTPP/+c70fcz5jJiSTlCvsaLF5AlUIt13H5mSpaUTGXqOCOzaVyvKmbtXklAJ/1K/AvzXzjHHKzKI57YORILvaI7YuHHUYrfW3YvBk2bt4M6zduhEenz6DkB/x9gPOW+aJIztMnmyh9Xta55VnwXt3d3fDOkiVQqfACkDKbgvOdxttoY2uEsQQinjQjPF+e/ajv89Kv1GGcK0n/H3fccTzASABNTTBr9mzKSv5gxQpY9v778MS8+fDLk0+hVHESFY4IMAOpg5RW5wVE4iQIW9+vuNF9aQ1krqgiBLB48SJo6oe5BkwA8+c/6fqLU+Is/G4dcFKci0rH2iATBwTFSfsmUgJRScCccYk8LSp8PnrXa6IpDUoUdQUEcNghh9LN6FXMEqsLnnrKuXKZjX7vn75H36MCOWXKpXDjjb+Bq6++GjZuxAyZGjz+xOMw/rTT4M677qLjMBFj2rQr4dZbb4NpV14D73/Ay7yvW7cGLr30Cpg27Sq4eNJkeGfJu8RVbrv9Nvj5Cb+AH//kJ5Qo8uKLz9Mzof8At5dfXgxXX30V7ObEFzZc9gULOV4x7Wq45577Pfs99thjPAGgXoNKoHS+EAxzqddgl513CXSVqVOneC4gmANur//5zzD1sqlw9DE/gyOP/Ec4+phjaHHMjyTa2FUNx/2CBQvgggvO4zWOnSg9dfwpcPc9d8K1114Db731lidwBaB44CmCy6xj7JN4lQA2OwIQHcCs7lmI6/eeOydTiQAqnTByhBLAIWMPhtzVvVdYGTOAWmCHHXYwhHIYPfTDLspH3Kjzn3ySOkSOO+YYXnBpxoxHg46dP59l4H/8xyssfhxrnDR5Enzr298uuIx5/6tfneGtiokTz2OC7It1CTDtjLN4hcUecsihfoHoY48dFxDASy89r4tL0yKMCVUDxQ1XM7Hvs99++0MUlV0oPIeun3DCL6CpELkszzpk28EweeokRwDI/VI4+OCDGi+cKYWmf8cVSUnM+VxN8QaKScwTkr7jXE8XEtaBziAsEYNYOSKBNilUihbLIs4uqcCBRcwBugMOcOjBB0OalDkHndbj4xn30cqVFFQhx33z7/6Ovp89e7YXDZgpc+CBBwYDfeKJJ7mOnRUogU8tYBb49tt/hm226U/l5vsP6BfcgzrNLQotnXXH7bfTeRdeeK6X2yV7vOtkdDcLsRx3vBMByL36NMHLLy/iGeeqelIVlQx1kAqqmHD44V/ySjHqCG+99SYdjwGqX//G150+gQtJFAbULUDB7/0LEgcYU3jQgQeokt2AAP5wq6yejhFGFtbWWE0mAGNpOQ6Q5kwArj6ABIU69M/Ofh8h7DRqMuNqpEkHIuDQw9BIZXnm9qjIjTvuWB7ogbzM6sSJF9NvDz34MHfIgL6BBbH9p7en8i2nT+Dw6rluZol8fWoBF4p4++3XqTPt4GFhxssuuwyuvuYa2HvvfVyH83lf+9rX6Tw8/5RTToFPb7+9vyfGFpx/wQUwfvx4Ol8CUY49tkAAryx2BCAzLlye/pxzzg6eVYpanHv++UzEbkXRz3zmMzBx4kXw4EMPwYQzzqLyNdgHsqq56EnX33gD/OCHPww4xVFH/QAumngxnDr+dFgsBOnwlTDmUoJyBB6XUrFcKDLJ0B0cbWphuWMKRZq4fVs0mkWA884RB+iBEUYE7LLzzjDxogtogCdOnEi2/157fcHNapb/n/3sZ+HDFSuYAB4SAuhH5iLO1ilTplAplk1btkBzM61lAXPnhgTw5FMsAt5++zVaDkbKyOy4046wfBkvAI3b2jVr4XO7sZVCv++4E7S30+tCHEWw115qBfz0p0d7mY6zBQM6mQCOLRCAdri4tZFzRpTrCHDNtdcFCu/jT8yjGbjrru45mvqQwviKIySBuBcseJrfz8l5rDLS2UmLudDaQpZjzZo12+shnMldQCALcZdhoQvUC7hQZJK2bypFccs7/CBR1Wf9Bs4Pgy07H4GIADTdRowIV+EuNqRaHFjulG1g9pw5foAeeOAB+h7NR9yPH39aoGBJ58ydOzMggMefeIy+f+ftPxNhCTuUaNxyTxeUI57BPz/+5/wsfRCH+BRs3IAmKEBnVwfs6QpVkmL63X8iRbEnk2uGRgAAEZFJREFUKlNRCYlFPPa4Y5QAmpr8wKHf3+IWGCiC2wUXXsjP6gjgT3/6Eyx++eWAE/3yl6fwc1Y6SHRE7l5H/+xnXt/APhNx88wz8wMx8PDDD9D33ZUeshQ08CNMBAkRRXXY+QUj4va3S5W0mwRqlldyrgUUFngIcHWPo7NphrNIOMDHEQDucZWs559nBQojaHC79x5XVMERwL333KuVP0xE8Jw5IQEgR8BtyZI3YZsB2/iOucSFi3PKGJ978smnKAEM345W+xQQaw9Xp5DYqqvvzwtHcnUR3I4Zd7QnAHzH1157xR/HHNLlJThi/da3vuW4Gj/ru+++SwtIywTA/YMPPGAyh3L/rLgMrn1PVCpxe3rBvIADPPLIw17ueyebgbxtiRnBCOyq5RlG4eI75JXHSj3JulnM0pAAtFg0Y+MWTrRRKIIDRLD7yBHKYnfYAcYdeyz89Gc/hZ/89Cfw8xNOgKmXXQrzn5oPlahC6gEmc2BoFW733HVnwC4feuhBP4DIdRBTx2327OnBrMJ1A3F77923YeDAQZ4ALnBJo7ywAiugvzzpREcAfYgDCAGUuztg9GjGJ7D94Ac/dKydwRmEX3Ebd4yblf36kvb+59df5c5H4MbV5hHA6ulnn/WFJ/GcnXbamQCeu+66wxE6P/8j7j0jIoAUYvest9xyS9AfDz/yEH0/7wlOjMVaCbjHNDnpJ+sm9p5D43G0qXYeZncE0JN0zyjF8QbSyLIsyjlWXcq+G+eIuBv94kOsA+AskYrf2A49FHGAUAmUDWUmonO44GEUMwHcfdftwQs/8KCbGa5qtkDBs2dND2bGvHlzmQDeexsGDRzsizBf6JZpRe1ZZvBJJ57gOcDw4dvBuvWrHAfogM/vuYfqAD9hHUDqAAkBHFMggNdee42+xzhEAV1we/e99zzg1d8tHI0KJG7PPTs/eP4zzmDltlIp0yBWnAg4zokr0olKJViw4Cn6/vHHHitwACaMciRIoJX9/EziMPLjZqy5LI+IALrjzb8vdXW9dgL+k1cTRwAqAsR08Dak8dSRGRiXYaThAKhJx1E3DzYGUFJAJc74OChbhlAtbnfdeWtAAPfdf59yAAzhcnK1SABYkQu3pUvfgcGDh/gZd6HLGcTBF5QRTSolgE95AiiXu2Dfvff2z45FKoRwpeAUcYBxDgfo15fug4CP6ik16O7pgXvvux8+u/POAdiFxSPffOs/6NhNG1bDjjswlI1t+PDh8Mabf6bf5D7PPPscDBiwjbeGdtl1N9i0eQP99uyzTzsdwtUWvuW3/lzh1IGjScrzOTNVVhH1CaJVJoCO8tqTS53NT30hzTEHmwGC+jRurfVnF5Rkh0o3fO5zagUceMCBuDS5i95lFMr6EwRgwqXemQBuCwjgQe/l4wfujQDmPcEcYNmyd8lcFAKYeMGFnoPIuSeecLzRAT4F69evpvI0qMh+5SuHs57ShF7L/oTcPfvcArjlt7dAe0d7AAVLdZIvfelv4MjvHglHfOcIWvQSM4dJB0LP54D+/lmk9AsCRridczabh7Ks/C677AzXX38dzH9yPlx40UVU6dTqCYiMyrbk3Tdh4DYDvKj74hcPgxdf/He4+5574IknnHPNF4yS0Hq7XK9bXIomYFSr1jC6OUp6epaPKZVKpaYk6SDVNk0rVZ8CbqJubHqx1J0lfL6nE0Z8TjnAmDFjSf4Khq/4gQkeJY2ZCeBuJxsHDRkUyDzWAVQ5evxxBwQN5uPmzWcOgClew4YP98DRJRMv8edL7Z5fOGdOU7++sP32n4b169dSKBVuF0+8yA+KrVa64447Eo7P5zMHGThwYFDbp2jliBKM5WXvu4+VWYpidtXSkd1/5ztcCseCU9KQwMRU/uEP/lkwe1Y0swocfPAY/6x0T8dprrj8ck/0XJoPubiu1WAjjlx9JpJZSdbz7uuPHzkYCaAUlddexg8c5ew+tYWdTIiVTy7kQUZNemfH+ogDHHgAZKnzVZsctWKAglT28sqRmxUPOh2gyAHmzAqhYDQLiQMsXQKDBw3yg2JLx8i5x45jMw4bppOtWbvSOZNyaG9vha9/42+dFaOVvj+7007Q1dUV4gB9P94dPGjwYFop7PU/v+71EHlveZ/u7i4Y53wLjbKbEDk8+eSToau7y5VyQS8h99XTzz5NaWqW6IjoL77YlJrXwFCNENZyc6jkp1lM7L+ctF1Zkq2546XDsrySUvkQig42gZlBGpdzWdLKFqjMVeCCiy4kb9ip48fDdddfRwElWkPHDr6kRWNINg8ORgwdffQ4qrw17tjjaFVt4kTOhyAeuddefQWOPe54quCF93rjTe7kDRvXUfWvU8efRgoUrtLN5yf+HnfccTv86Mc/hmPGjYMTTjgRNpNcrbnAjZwSOlD5/Jef/Av8zZe+BF/92tfg1+eeS9YKbvfd/wCcdPLJVG3stAkT4LQJp8P400+HU087DSaceSZZOQ8+/BCs+IjBLSJcqvlr6vk5boZsGvvmhYUvwL/++tfwzb//exh7yMHwv444gpDCV19jC0MKWIrjjauqASxbvpwQwCO/+0/w7f91BPzzj36kC1DjmFFshCk0WeWV3HxIeLVSw++SLMqaO5YdRoMPgI6mEq4g+pRYA+IStqzEigCxMYvp2aQr4O8+QMEEK9qYd6cL4N5uPu8wKErN0LTdWKbxwojB9z6wQrlP0RrxBayJtSbUMfWbJIvwp63dcMai8qkp3LbuH9cUFP9IbxuerwtISowAnycWR9gXLFY1YlnMdlk9zMcBeu0/ituf97MfAPoSF2h+4/tAawdFVVqbrpitI/LE1AiUwgyImonm7VcZNfH3mkdoa+Dyy+E53CLGs4uBnQ5+xt/pOKcfCHchNimraroEUyI+h4FTSrUr5sDwrQm3qnLNQkQ06f7uGHKtUsg5R+XggPD9K5TynThTEWc1vXscOSvHVuKQZfWsH4VRVDwX0UYUhfLsUu9Is4aKjc9DzoT3pfQ0CijhKilaoteEyZvqbK6gFVFQd/eao+3Yey5QSVoYFcziXKpPFYtBhlomhy95jZ9Bhrq4dBUfhoMEpWiKWT8aheRrDUiyal38vVgsWr9P4evCcxTj7aosM3W2WfSst+M1MUPqBQdQrEl3663AkyjDmuaGXE9jAG1grO5lgSjOE8Bwt8SFwqn5JxHHNVrpzYrx1A1+FLcvvvXWUn877vihCfetrW98JcsqaV5Na2keOfewKBG2yIBp9J2tJmKbHUiTFm3q4PtZYiJb2BcuwSdMiBKHoGHkJoy6jng0E9eboQ2TPnKTr68dLEvc1GU4+89OvBkCsLkMvrBj3XubhJegL21MpMmUCkRJsRSc1ALUmgq87GxoDkqcJ3p78be2zveOxLGePn06z34jCogIyuVN5IfMq1GmsfnF0GI1B8P8NpvsKGlfpq6tSY7UKFUhACu7nfkpzieCZznAhHQMHwenJWc0b4FXPOdz5BmtXmFj9KuFQRLxgr9repbPu5MiDoWaB6GvRAbf+udFnzLVQBpMKE4Tc3oXZWSJa97k/JlEEU+EztHDmI1N5PFZVaREleO2u+1YFwmA2MHChb8eGsWtpGbnOcLDqpAIqmRLlPiOI2UFdQcpXWILP5i1cIOO08pVQT6b1PKXUqlSLy8okKQh617LdUujcCaPEI1NPTeZOoGZm7n7qc4jPhELgSvha50fiTiWEC5NotFjQw5g0teCSVS4NxGATSOTa4TZRtbVK4QqK7S6LGtS/OK0e+Xy5U/sGrD+BkRAlLF69bxD0rTMJWTzmCBifUj72S1i7AnADUChugjXv9GMHF1vKA3zEII0JtfRjoV5giuEq2nEsglZowWuTViae26ZGdZblvt0NNPZvhOlOKa8d1irV3IpQ1bNFdVo79dZNuf7cyUVX6qtWA5RWIM5SNULU83D6iv2OFQwk2qe57Uki7MNrW99J1D8etvkgI6elUdkeVxGiDjPoyoFHfjBsgMu8tMMDg1sI7lsc/7UTAk7UKOQpEil5TAkAmRtXJOKrrl69QWtNL9ROIuItNwkqDrLQiqkUB1ARPKYq+V5FLLhYOZqBfWQuwnnkGsU39WtuG5yIi1wpnJcqqYZTN8s2hUqzWyBYOi3zP7WzpW/2qrBLxJBV3nN97Mc3WpYyKlSzfLIz8YiJ7Az0uMEPt1LCxsU8QA1C9XE1Hw/uxSKW/kKicC5rSV+gWcT299BQosvZ1OY+UaBrRrN2Uc9BRq4EHWhwKX7PtR38F3wurZvHDG5CSPiyk8mWd1biNMEcIQmtCrkXPrVKudynJv5qQ5+R8+mi3uV+1tDBG2dK47M8phw0SyPMsSl0wxtdpH3WlSqGJSQN6gPEOS1F5UiLyacbHQpzTqw4cAxl3AVshwr1WVsNYoJuRcrlNJCvaDqrQRNyNQFmmSm2kwem5SKYlKLQfrJ4d5NRaGIGMv+hSjCa1v/fVBgwpaUCwps+HBvbDnyfRyvzmjj5L9o8ItE0Nz+5jfjpJsC9LK8kpHTKBNugC1iKrfVKHz4kSMCb45ZLmA9VqyECcbACpUqd6qth3UHwho89ZiCpmDJb6IPSOyjqVFApp+yccuuVdGSDNxiQisTGosKza0M4iy9pSLv4TiATBpTAMKG31ki8tc0n10Yfi3N4qxardIq8M0dy86TMQT0hf6lmxDBihWz9+pKWhYw/JhV07SSc1kZzCWsQJ6xjFS5LAWNG2EBVlZi1orp9FqjgRP2a5dJV8BERYnxfAXp4mbFc+lAX8CyGhCATVINoHAamKy+nnFgzglrZ8tJ07lthLUB0wqeOjshQsUvbXB9Z52xkpxXXZRPJe3ZvL7llaNwzKZP30qZvxVEQCwE4Bv92npWnh9nFa4tiEFkCRJCpYrl3DyG3Yj9F9AtjVQRpU7hY0ri9JmzoUdR1h/2i1Z7FhpqxrwQthaO8JU2LFpWK1YAKRZnUrd4fR6+Se8O9BqTgmWKaduoXA3VDgtc+Pf04sUSllMmifOSCK6lKfptGOHLqnneEW2cvnr1w3vYifvftiERyEVXrnxp765o031JxtGd1WpWS5AjZHGGvgQMO7ZL0KlGbMwhg1Z5uFlKoeAgWwIwosOWQRVxYZFI6ydQcEgjYnlF8zBituqigATZQ8LgaKgG9X9E/LhnFK4RRuDKM1viN2LIgF4yESyhSYEMVmzJiUM1/tO0UssyFMFRjn1Ok7CWQ3fU8kZz5zvfdePU5y+W+f8JQiCZsrH13/br7F53e5R0cwA7pYXgC6TVPE/yPEM7lBJOuAqpmks1XKImc3uZAbh2YYbrF+byPWnk7jvJVHKcxREC+yB4MSSMN6QKYEHBa1MryLFVhWOrgRggPyEunVOVtRNshq2pv2OXwAtBGS56z++G71TLqtVamkMtzaq1LMtryKmZIC2BKkaCC3ewdYGDX6mlaH2Rhzau4TN4r2Eel7srm+c3t/35u08+ecQ2xbH5q26TJk1qslT20Ud3jGxuXnZqR/fG+eW4s9W5aRv4UfEFCtUuXK09mYU0D6XDqRAFK0UIcTYq7e7z4k29QK7d5xp+lgpfrrZO0UX8yYXlw+3jC8fkrvG70v2pKJbWG5RnKlQoNDfgbF77nCgqe+L27s7ylueauz84Z92WF/aaNKnU9D8y63vbAEJCwG3NG5ftun79Mz9tbX77+s6ulQs6u9evj7Oe5jiPWuO80sr7qCXOK1uoVSvNUVZpreSVlnJW2VJOy5ujrLwlzqPmiI6LmuO80hzlldZKFrdV8qitkkVtUR61Rfh/Frf2ZHFrJYtaoqzSEmd0/dYoq7TFeaUtxn0Vf6+0lrNKa5TFrXhuUo1ak2rcEmPL49a4WmnBZ4mzqDmt4j3jliin31roOH7u1qQa0f9Rjtfh5r/Pys1xXm5Oq3FzkldaErwePX/cXMkqzZUsao4yPDcKGvdHTM+WVOPmOO9pqaSdrV3ldZs7Oz54vqNr2aSWlte/veLNSXuVSqrRu4H/L8n6/w0q+22/IzbofgAAAABJRU5ErkJggg==",alt:"Vue Print Designer",class:"w-12 h-12 mx-auto mb-2"},null,-1)),Xo("h2",EM,oe(Qt(d)),1),Xo("div",IM,oe(Qt(i)("help.version"))+" "+oe(Qt(A)),1),Xo("div",TM,[Xo("h4",PM,oe(Qt(i)("help.links")),1),Xo("div",MM,[Xo("div",LM,[Xo("span",DM,[r[29]||(r[29]=Xo("img",{src:"data:image/x-icon;base64,AAABAAEAUFAAAAEAIADoZwAAFgAAACgAAABQAAAAoAAAAAEAIAAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVL/UANDu7AD///gArePmCtzw8Drn9fOB7/j3w/X7+eX5/Pr3/P78+fz+/fn8/vz5/P78+fz++/n8/fr5+/z6+fr9+/n7/fv5+v37+fr++/n8/vv6/P77+v3++/r8/fr6/Pz6+fz8+/n8/fv6/f78+v3+/Pr8/vv5+/76+fz+/Pr9/vz5/f/9+fz//Pn7/vz5/P78+f3+/Pn9//35/f/9+fz+/fn8/v35/f78+f3+/Pn9//35+/79+fr+/Pn7/vz5/P37+fz8+vn9/Pr5/f37+fz9+/n7/vv5/P77+fz+/Pn6/fz59vv6+PT6+OXw+fe95vbzh+D18D/F6ukO///+ANbx7QCBztQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK/i4AD2/PYAyOvoC+f3807w+fet9vr56fn8+/77/f3//P79//z9/f/8/f3/+/39//3+/f/+/v3//f79//3+/f/9/vz//f79//3+/f/9/vz//P79//7+/f/+/v3//v79//79/P/9/fz//f38//7+/P/+/f3//f39//39/f/8/f3//f79//7//f/+//7//v7+//7//f/9/v7//v7+/////v///////v7+//7//v/+//3//v/+/////v/+/v7//f79//7+/f///v3//vz8//79/P/+/v3//v79//39/f/9/f3//v79//z9/f/5/fz/+f38//n9/P/4/Pr+9/v56/P6+Lnp9/Niz+7rFv//+wC86ecAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADP7+8A////AOT28jfy+ves+Pz69Pj7+//4+/v/+fz8//z9/f/9/f3//f39//z9/f/7/f3//P39//39/f/8/f3//f79//7+/f/+//3//v/9//7+/f/+/v3//v/9//7//f/9/v3//f39//39/f/9/v3//f39//z9/f/9/f3//f79//3+/f/9/v7//v79//7+/f/+//7//v/9//7+/v/+/v7//v79//7+/v/+/v7//v79//7+/f/+/v3//f79//3+/f/9/f3//v38//3+/f/9/f3//v79//7+/f/9/v3//f79//3+/f/+/v3//f79//v9/P/6/Pz/+fz8//j8/P/4/Pz/+vz8//n8+/v0+vjC5PbxT5ne2wXX8u8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3/TzALro6Abp9/Ro9vz64fj8/P/5/Pz/+Pz8//j8/P/8/f3//f39//39/f/+/fz//f39//z9/f/9/f3//f79//z+/v/9/v3//P79//3+/P/9/fz//P39//z9/f/9/v3//v79//7+/f/9/f3//f39//39/f/9/f3//f39//39/P/9/v3//P39//z9/f/9/v3//v79//7+/f/+//3//v79//z9/f/8/f3//f79//7+/f/+/v3//v79//39/f/8/f3/+fz9//n8/f/8/fz//P39//39/f/9/v3//f39//z9/f/9/v3//f79//3+/f/9/v3//P38//v9/P/7/Pz/+vz9//n8/f/6/Pz/+/z8//v9/P/4/Prw6/f0hcjs6g/l9fEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANfx8QDT7+4J8fv5ffn9/PX4/fz/+Pz7//n8/P/6/Pz/+/38//3+/f/9/f3//f39//79/P/+/fz//v79//7+/f/9/v3//f7+//39/f/8/f3//P38//z9/P/7/fz//P38//v9/P/8/f3//f39//39/P/8/fz//f38//39/P/+/fz//f39//z9/f/8/f3/+/39//z9/f/9/v3//v79//3+/f/9/fz//f38//v9/f/8/f3//v79//7+/f/9/f3//v38//39/f/6/fz/+v38//z9/f/8/fz//P38//z9/f/6/fz/+v38//z9/f/+/v3//v79//3+/f/9/f3//f38//z8/P/9/f3//f39//z9/f/8/f3/+/39//v8/P/5/Pv88fr3mdry7RHa8+4AAAAAAAAAAAAAAAAAAAAAAAAAAACx4eUAx+rsB/H7+n75/v33+f39//n8/P/6/Pz/+vz8//v8/P/8/fz//f39//z9/f/9/f3//v79//79/P/9/f3//f79//z9/f/8/f3/+/z9//z9/f/9/v3//f38//z8+//6/Pz/+vz8//v9/f/8/f3//P39//v9/P/8/fz//Pz8//39/P/9/f3//P39//z9/f/8/f3//P39//3+/f/9/v7//f39//v8/P/6/Pz/+/38//v9/P/8/f3//f39//v8/P/8/Pz//P38//z9/f/8/f3/+/38//r8/P/6/Pz/+/39//v9/P/6/Pz//f79//3+/f/9/v3//v79//39/f/8/f3/+/z8//z9/f/9/v7//P39//39/f/9/f3/+/39//r8/P/5/fv88vr2l8vu6g3E6egAAAAAAAAAAAAAAAAALKC8AH/K1ALn9vZs+P799fn9/f/7/f3/+/39//r8/P/7/Pz/+/z8//r8/P/7/Pz/+/z8//z8/P/9/f3//P39//z9/P/8/f3/+/39//r8/P/7/Pz//f39//39/f/8/fz/+vz8//r8/P/8/fz//P38//3+/P/9/v3//Pz8//v8/P/7/Pz/+vz8//v8/P/7/f3//f39//3+/f/9/v3//f79//z+/v/8/f3/+/39//z9/f/8/fz/+v38//z9/f/8/fz//Pz7//z8/P/8/f3//P38//39/f/7/P3/+vz8//r8/P/8/f3/+/38//r9/P/8/fz//P79//3+/f/9/f3//f39//z9/f/7/Pz//Pz9//39/f/9/v3//f79//3+/f/8/f3/+/38//v9/P/6/fv67fj1e6fd3gNKv8AAAAAAAAAAAADg9/QA4vX1Ovb9/OX6/f3/+vz8//v9/f/7/f3/+/z8//v8/P/7/Pz/+/z8//v8/P/8/Pz//fz8//z9/P/8/f3//f39//3+/f/8/f3/+/z8//39/f/9/v3//v79//39/f/6/Pz/+vz8//z8/P/8/f3//f79//7+/f/8/f3/+/38//v8/P/7+/v/+/z8//39/f/+/v3//v/9//7+/f/8/f3//P39//z9/f/9/v3//f7+//3+/f/7/f3//P38//39/P/9/fz//f39//39/f/8/fz/+/38//v9/f/8/f3/+/39//39/f/9/v3//P39//v9/f/7/f3//P39//z9/f/8/f3/+/39//v8/f/9/f3//v79//7//f/+/v3//f79//z+/f/8/f3//P39//z9/P/5/Prr6Pf0RP///wAAAAAARsnWAMPr7A3x+vmw+f38//v9/P/9/f3//f39//z9/f/7/f3//P39//39/f/9/fz//P38//39/P/9/f3//f39//z9/f/7/f3//P39//z9/f/8/f3//v79//7+/f/9/v3//P38//r8/P/7/Pz//f39//7+/f///v3//v79//7+/f/+/v3//f79//79/P/9/f3//v79//7+/f/+//3//v79//z9/f/7/f3//f39//7//f/+/v3//v/9//7+/f/+/v3//v79//7//f/+/v3//f79//39/f/7/fz/+/z8//z8/P/8/Pz//P39//3+/f/8/f3//P39//3+/f/+/v3//f78//z9/f/7/f3/+/z9//3+/f/+/vz//v78//7+/f/9/v3//f79//7+/f/9/f3/+/39//z9/P/0+/i6yu3sEUDAzwD///wA4fb1Vff8/Pb6/Pz/+/38//z9/f/8/f3//P39//z9/f/9/v3////////////9//7//f79//7+/f/+/v3//f39//z9/f/8/f3//P7+/////////////f79//7+/f/9/v3/+/39//////////////////7//v///////////////v///v3//v79//////////////////7+/f/9/v3//P7+//7//////////////////v////////////////////////////////////7//f39//r8/P/7/Pz//P39//v9/P/8/fz//v///////////////////////v/7/fz/+vz8//r8/P/7/fz//v///////////////v/+//7//f/+//3//v/9//z9/f/8/f3//P38//n8+/jo9/Vb////ALbq7Qvw+vqx+f38//v8/P/8/f3//P39//z9/f/6/Pz//P39//T19P+2trX/q6yr/9vd3f/+/v7//v79//7+/f/9/v3//f39//7+/v/l5uX/q6up/6+urf/s7u3//v7+//7+/f/z9PT/tra1/6ysq//g4+P/8PPy/7Ozsv+trav/6Ojn//7//v/7/Pr/vb69/6Oko//Mzcz//f7+//z+/v/h4+L/pqen/5GSkv/AwcD/+/v7/8PEw/+srav/q6yr/6qrqf+trav/vb68/9/g3v/7+/v//P7+//v8/P/8/f3//P78//r7+v/Q0tH/np+e/5GSkP+xsrD/5ujn//v+/v/6/Pz/+/z8//n6+v/Kysn/np2c/6Ghn//h4+P//v/+//3//f/8/f3/+/39//v9/f/6/fz/+f78//P7+bPG7esM3PX1Off8/On6/Pz//f38//7+/v/9/v3//f39//v8/f/9/v7/4uTj/ycoKP8DAwP/lJaW///////+/v3//v79//7+/P/9/v3//////7i5uf8JCgn/GBgX/9LT0v/////////+/+Xm5v8pKir/BQUE/6yvrv/b3t7/Gxwc/wsMC/+/v7////////b29v9GRkf/AQEB/3l6ev/+////1NbW/zg5OP8DAwP/AAAA/09PTv/z8/T/SUpJ/wMDA/8CAwP/AAEB/wACAf8HCQj/IyQj/3Jycv/g4uP//v////3+/f/29/b/iYqJ/xoaGv8AAAD/AAAA/wUGBf87PDv/wcPD//3+/v/9/v7/oKKi/xcYF/8AAAD/AgIB/6qrq////////P79//v9/f/7/f3//P39//39/f/6/f3/+f376uX49T7o+vl5+P39/Pv9/f/+/v3//v7+//7+/v/9/v7//P39//7//v/j5eT/JSYm/wAAAP+Sk5P///////7+/P/9/fz//v38//z9/P//////tbe3/wYHB/8VFRT/0NLS//////////7/5Obl/yYnJ/8CAgH/q66u/9rd3f8YGRn/CQkJ/76+v///////9fb2/0VGR/8AAAD/ent7//////+HiIn/AAAA/xcXF/9wcnL/nJ2d//P08/9GRkf/AAAA/xwcHP9GR0f/QkNC/yQlJP8AAAD/AAAA/0hJSP/f4uH//v///5iZmv8JCQn/BgYG/1RWVf92dnX/KSop/wAAAP8yMjL/3N7e//T39v9BQ0P/AAAA/z4/P/+AgID/y8vL/////v/9/v3/+/39//39/f/8/f3//f79//v9/f/5/fz+7/n2gu37+rL5/f3/+/39//7+/f/+/v7//v7+//7+/v/8/f3//v/+/+Xm5f8mKCj/AAAA/5SVlv/////////9/////v////3//f37//////+2t7f/BgcH/xUVFP/Q0dH//////////v/j5eX/Jicn/wICAf+rrq7/19zc/xgYGP8JCQj/vL2+///////19/b/R0hI/wAAAP95e3r//////3Fycv8AAAD/VFRU//v9/f/+////9fb1/0RFRf8AAAD/ZWVl//j4+P/29vX/39/f/3R0dP8ICAj/AAAA/3Bycf/t8fH/PT9A/wAAAP9aW1v/8/T0///////GxsX/Gxsb/wEBAf+QkZH/7O/v/y0uLv8AAAD/np+f///////+/v3//v79//7+/f/+/v3//v79//z+/f/8/f3//P39//n9/P/y+ve88vz51Pj9/P/7/f3//f79//7+/v/+/v3//f79//z9/f////7/5ubl/yYoKP8AAAD/P0BA/2lpaP9sbWv/iIiH/8jIx//6+vn//////7i4uP8GBwf/FRUU/9HT0//////////+/+Tm5v8mJyf/AgIA/6utrf/X29v/FxgX/wkJCf+9vsD///////b4+P9JSUn/AAAA/3p8e///////bXBw/wAAAP9YWFj/+vz8//z9/P/09fT/Q0VE/wAAAP9paWn//v////7+/f//////9vb1/2BgX/8AAAD/JiYl/8PExP8jJSX/AAEA/52goP/+/////f/9//j59/9GRkb/AAAA/3Jzcv/r7e3/LC0t/wABAP+lp6b///////7+/f/+/v3//v79//7+/v/9/v7//v79//7+/f/9/v3/+/38//b7+Nj2/Prm+f39//z9/f/+/v7//v/9//7+/f/9/f3//Pz8//7//v/l5uX/Jicn/wAAAP8AAAD/AAAA/wAAAP8AAAD/GBgY/4+QkP/7+/v/urq6/wgJCP8NDQz/vL2+////////////5ufm/yYnJ/8CAQD/rK6t/9Xa2v8WFxb/CAgI/7i6u///////+Pr4/0ZHR/8AAAD/enx8//////9vcnL/AAAA/1dXV//7/fz//P79//P19P9DRkX/AAAA/2doZ//9//7//v79//39/f//////tLW0/wcHBv8PDw7/r66u/ywsLP8AAAD/ioyM//3/////////8PHw/zg4Of8AAAD/f4CA/+/x8f8uMDD/AAAA/6Wop////////v79//7+/f/9/v3//f7+//7+/v/+/v7//f78//3+/f/8/fz/9/z65/P8+vf7/fz//P39//3+/f/+/v3//v78//39/P/7/Pz//f7+/+Tl5P8mJyf/AAAA/11eXv+fn5//lJSU/09PT/8DBAP/EBAQ/76+vv/AwMD/CQsK/wABAP84OTj/l5iX/8DAv//k5eX/Jygo/wICAf+tsLD/1NnZ/xUXFv8BAQD/W1xc/9fY2P+ys7P/Gxsb/wAAAP+Jior/6uvr/15gYP8AAAD/TU1N/9HU0//g4+L/9Pb1/0VGRv8AAAD/Zmdm//3//v/9/v3//P38///////DxMP/DAwL/wsLCv/Av7//Y2Nj/wAAAP8vMC//vsLC/+Hi4f+IiIj/CQkJ/wkJCf+wsbH/0dPS/ycoKP8AAAD/jY+O/9ra2v/w8vL//f79//7+/f/+/v3//v79//7+/f/9/v3//v79//z9/f/3/Pv38/v5+fv9/P/7/Pz/+/z8//z9/f/9/f3//P38//v9+//+//7/4+Xl/yYnJ/8AAAD/l5ma////////////6uvq/zc3N/8AAAD/dnZ2/8DAwP8GCAf/CQoJ/xQVFP8AAAD/SkpJ/+Dh4f8lJib/AAAA/62vr//T2Nj/ERMT/wABAf8NDg3/FxgY/w0NDf8AAAD/FhYW/8fIyP99f3//CQkJ/wABAP8ICgj/FBQU/2lqaf/19vb/RUZG/wAAAP9mZ2b//P/+//3+/f/8/fz//////5udnf8DAwP/FBQT/9PU1P/MzMv/Jign/wAAAP8REhH/ISEg/wMDAv8EBQT/bnBv/+Hj4v89Pj7/BAQE/wAAAP8ODg7/HBwb/7u9vP///////v79//7+/f/+/v3//v79//3+/v/+/v3/+/39//f9/Pjz+/n6+vz7//r8/P/8/f3//f39//3+/f/9/fz//P38//7//v/j5uX/JSco/wAAAP+XmJr////////////09PT/Pj8//wAAAP9sa2z/y8vL/0JDQv9YWFj/q6ur/1FSUv9qa2n/5ubm/15eXv9CQkH/w8PD/9zf3/9KSkr/SElI/5aXlv9ISUj/KCko/z9AP/+lqKf/+/z8/5KUlP8dHR3/AQEA/xYWFf89PDz/hoWF//b39/9ERkb/AAAA/2ZoZ//////////////////b3Nv/OTk6/wAAAP8+Pz//7vDw/////v/MzMz/YmNi/y0uLf8iIyP/P0A//5OVlP/x8/L/8fLx/2JkY/8ODg7/AQEA/yssLP9FRUX/x8jH/////v/+/v3///79//7+/f/+/v3//v7+//z9/f/7/f3/9/z8+PP7+fr6+/v/+vv7//z8/P/9/fz//f38//z9/P/9/fz////+/+Tm5f8lKCf/AAAA/3Fycv+9vb3/tra2/3Jycf8KCgr/AgMC/5mbm//7+/v/8fLy//P19f/9////9/j3//Hx8f/6+vn/vb28/6qqqf/x8fH//Pz8//Pz8//z8/P//v79//X19P/o5+b/8fDv///////+/v3/+vr6/25vb/8AAAD/UVFS//Hy8v/4+Pf/9vf2/0VGRv8AAAD/R0dG/6+wr/+traz/iYmI/zQ0M/8AAAD/DxAP/6mrq//+//7//P38//7////7+/v/6erq/+Pk5P/y8/L//v////7//v/+/v7/6erq/y8xMf8AAAD/paal//b39//7+/r//v79//7+/f/+/v3//v7+//7+/v/9/v7//P39//v9/f/3/Pv38/z6+vr8/P/5+/v/+/z8//z9/P/9/fz//f38//39+/////7/4+Tj/yEkI/8AAAD/AgMC/wUHBf8DBQP/AAAA/wECAf9MTU3/5efn//3+/v/9/f3//f7+//3+/f/9/f3//////9ra2v8jIyP/CQoJ/6qsrP///////v/+///+/f/+/v3///79//7+/f/9/fz//f78//7+/f//////gYKC/x0dHf9paGn/+/z8//7//v/39/b/REVF/wAAAP8AAAD/AQEA/wAAAP8AAAD/AAAA/x8gH/+am5r/+fr5//39/P/9/f3//f79//7+/f////7//////////v/8/v3//f79/////v/w8fD/S01N/x8gH/+ztLP///////7+/f///v3///79//7+/v/+/v3//v79//3+/f/7/P3/+vz8//j8+/j0+/r6+vz8//n8/P/6/Pz//Pz8//z9/P/9/fz//f38/////v/q6+v/YWFh/0dGR/9HSEf/R0dH/0ZHRv9WV1b/k5WU/+fo5/////7//v/9//3+/f/+/v3//f78//z9/P/+//7/29va/ykpKf8UFRX/tri4///////+/v3///78///+/f/+/v3//f78//z+/P/9/vz//f79//3+/f/r7Ov/3N7e/+bo6P/9/v3//v/9//n6+f99fXz/SEdI/0lISP9JSUn/SkpK/1dYWP+Gh4b/0tPS//3+/f/+/fz//f39//7+/f/+/v3//v/9//7//f/+/v3//v/9//7//f/+/v3//v79//z8+//l5ub/3d/f//Lz8//+/v3///79//7+/f/+/v3//v79//7+/f/9/v3//P39//z9/f/6/Pz/9/z6+fP7+fn7/Pz/+vz8//v8/P/8/Pz//Pz8//39/f/9/fz//v79//39/f/4+Pj/9/j3//j49//4+Pj/+Pj3//v8+//////////+//7+/f/+/v3//v79//7+/f/+/vz//P39//v9/f/7/Pz/0dLR/8nKyf/6+vr//v7+//7+/f/+/vz//v79//7+/f/+/v3//f78//7+/P/9/vz//P39/////v///////v////7+/f/+//3//v/9//r6+v/4+Pj/+fn5//n5+f/5+fn//Pz8/////////////v79///+/f///v3//v79//3+/v/+/v3//f79//7+/f/+/v3//v79//7//f/+/v3//v79/////////////v/+//7+/f///v3//v79//7+/v/+/v3//v38//39/f/8/f3//P39//v9/f/3/Pv58vv5+fz9/P/7/Pz//Pz8//z8/P/8/f3//f39//3+/P/+/v3//f39//3+/f/+/v3//v/9//7//f/+//3//v79//7+/f///v3///79//7+/f/+//3//f79//3+/f/9/f3//f39//z9/f/////////////+/f/+/v3//v79//3+/f/9/v3//f39//39/f/9/f3///38//7+/f/9/v3//f78//7+/f/+//3///79//7+/f/+//3////9/////v////7////+/////v/+//3//v79//7//f/+/v3//v79//7+/f/+/v3//f39//39/f/7/f3//P39//7+/f/+/v3//v79//3+/f/+/v3//v/9//7+/f/+//3//f79//7//f/+/v3//v7+//7+/f/9/f3//f39//z9/f/8/f3/+/39//f9+/jy+/r5+/z8//v8/P/9/fz//f38//39/f/9/f3//f79//7+/f/9/fz//f37//z9/P/9/vz//f78//79/P///vz//v79//7+/f/+/vz//f79//3+/f/9/vz//v79//3+/f/8/f3/+/z8//z9/P/+/v3///79///+/f///v3///79//7+/f/+/v3//v79///+/f///vz//v78//7+/f/+/vz//v78//7+/f///v3//v79///+/f///v3///79///+/f/+/v3///79///+/f///v3///79//7+/f///v3//v39//39/f/9/v3//P39//v8/f/8/f3//f39//79/f/9/v3//f79//7//f/+/v3//v79//7//f/+/v3//v/9//3//f/8/v3//f39//39/f/+/v3//f39//r8/P/7/Pz/+P38+fL7+ff6/Pz/+/z8//z9/P/9/v3//f79//7+/f/+/v3//f79//3+/f/+/f3//f39//z9/P/9/f3//f39//79/f/9/f3//v79//3+/f/9/f3/+/38//z8/P/9/f3//P39//n8/P/6/Pz//P39///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+///9/f/+/fz//f39//3+/f/9/f3/+/z8//z9/P/9/fz//v79//7+/f/+/v3//v79//7+/f/+/v3//v79//3+/f/9/f3//f39//39/f/9/v3//f39//39/f/9/f3/+/z8//r8/P/4/Pv48/v59vz8/P/7/Pz/+/38//39/f/9/f3//v38//79/P/9/v3//f39//79/f/9/f3//v79//7+/f/+/v3//v79//79/f/9/v3//f79//z+/f/7/Pz//Pz8//z9/f/7/fz/+vz8//n8/P/2+fj/xMXE/6usq/+srKv/rKyq/6qpqP+np6b/qKem/6qqqP+rqqn/qqmo/6mpp/+qqqj/qqup/6urqv+rq6r/q6uq/6qqqf+rq6r/q6up/6urqf+rq6r/rKyq/6ysq/+qqqn/qKin/7i4t//y8vL//v79//79/P/9/fz//f38//39/P/8/Pz//f38//39/P/+/fz//v79//7+/f/9/v3//v79//79/f/9/fz//Pz8//z9/P/9/f3//v79///+/f/+/v3//f79//39/f/8/fz/+/39//f8+/j0+/r4/P39//r8/P/7/Pz//Pz8//39/P/8/Pz//P38//39/f/9/f3//f39//7+/f/+/v3//v79//7+/f/+/v3//f79//39/P/9/f3//f39//z8/P/9/fz//f39//z9/f/8/fz//P7+/8TGxv8ZGxv/AQIB/wACAP8AAgD/AAIA/wABAP8AAQD/AAIA/wACAP8AAgD/AAIA/wACAf8AAgH/AAIB/wACAf8AAgH/AAEA/wABAP8AAQD/AAEA/wABAP8AAgH/AAIB/wABAP8AAQD/CwsK/6Gio////////f38//z9/P/8/fz//P38//z9/f/9/f3//P39//39/f/9/f3//v79//3+/f/9/f3//P38//z9/P/8/fv//Pz7//39/P/+/v3///79//7+/f/+/v3//f79//z8/P/7/fz/9vz7+PX8+/j7/f3/+vz8//z9/P/8/fz//Pz8//z8+//8/fz//v38//79/f/+/v3//v79//3+/f/8/f3//f79//7//f/9/v3//f38//7+/f/9/v3//f39//39/P/+/f3//f39//39/P//////pqem/wACAv8+P0D/dnZ2/3R2df9zdnX/cnV0/3J2dP9zdnX/dHd1/3R2df91d3b/dXd2/3R2df9zdnT/dHZ1/3R2df91dnb/dnd2/3Z3dv90dnX/cnV0/3F1dP9xdXT/dHZ1/0hKSv8AAAD/g4OD///////9/vz//P38//z9/f/8/f3//P39//39/f/9/v3//f39//39/f/9/v3//f79//z9/P/7/Pz/+/38//z9/P/9/Pv//v38//7+/f/+/v3//v79//7+/f/8/f3/+/z8//r8/P/3/Pv39f37+fv9/f/8/f3//v38//39/P/8/fz//f38//78/P/+/fz//v78//79/P/+/vz//v79//z9/f/8/f3//v79//7+/f/+/v3//v/9//7+/f/9/f3//P38//39/f/8/f3//P38//////+mpqX/AAEB/4qLjP////////////////////////////////////////////////////////////////////////////////////////////////////////////7/////////nZ+f/wAAAP+Dg4T///////7+/f/8/fz//P38//39/P/9/v3//v79//3+/f/9/f3//f39//79/f/+/fz//f38//z8/P/7/Pz/+/z8//38+//9/fz//v79//7+/f/+/v3//f79//z9/f/7/Pz/+/z8//f8+/b1/fz5+/39//v9/f/9/f3//f39//z9+//9/fz//v38//79/f/+/fz//v38//7+/P/+/v3//f79//3+/P/+/v3//v79//79/f/9/f3//v79//3+/f/9/v3//f79//3+/f/9/fz//////6enpv8BAAD/iYqL//////////7/+Pj3/+Pk4v/h4eD/4eHg/+Hh4P/h4eD/4eHg/+Hh4P/h4eD/4ODf/9/g3v/g4N7/3+De/+Dg3//f4N7/3t/e/97e3f/x8/P//P38//////+doKD/AAAA/4SEhf///////f79//z9/f/9/fz//v78//7+/f/+//3//f79//z8/P/8/fz//P38//z8/P/7/Pz//P38//z9/P/8/f3//v39//7+/f/+/v3//v79//7+/f/+/v3//P39//r8/P/6/Pz/+P389/X9/Pn9/v7//f39//39/f/9/fz//P37//39+//9/fz//f39//79/P///fz//v38//3+/P/8/f3//v79//7+/f/9/v3//v79//7+/f/+/v3//v/9//7//f////7//v/+//z9/f//////pqem/wAAAP+IiIn///////////+tra7/JCQl/x0eHf8cHhz/HR8d/x0fHf8cHh3/HB4c/xweHP8bHRz/Gxwb/xsdG/8bHRv/Gx0b/xsdG/8bHBv/HBwc/5GUk//+/////////56hof8AAAD/goOE//7////+//7//f79//7+/P///vv//v38//7+/f/9/f3/+/z8//z8/P/7/Pz/+/z8//v8/P/9/fz//f39//39/f/9/f3//f79//7+/f///v3//v79//3+/f/8/f3/+vz8//n9/P/4/fz39f38+P7+/v/9/v3//f39//39/P/8/fz//Pz8//z9/P/8/fz//v38//79/P/9/vz//f38//z9/P/9/fz//f78//39/f/+//3//v/9//7+/f//////+vz7//Pz8f/w8e//7u/u//Ly8v+en5//AQEA/4iIif/////////+/9XV1P98e3r/c3Rz/3R2df90d3b/dHd2/3V4dv91eXf/dXh3/3Z5d/92eHj/dnp4/3Z5d/91eHf/dnl4/3Z5eP95e3r/xsfG//7//v//////n6Gh/wAAAP97e3v/8vPz//Hx8P/x8fD/8fLv//f39f///v3//v78//7+/f/8/f3/+/z7//v8+//6+/v/+vz8//z8+//9/fz//P39//v9/P/8/fz///79///+/f///v3//f79//39/f/7/Pz/+f38//f8+/b0/Pv4/v/9//3+/f/9/f3//f39//z8/P/8/Pz//P39//v9/f/9/f3//f79//3+/f/9/vz//f39//3+/f/9/v3//f39//3+/f/8/f3//f7+/8/Qz/9jY2P/PDw7/zk6OP85OTj/OTo5/yUlJf8AAAD/hoiJ///////+//3//////////////////////////////////////////////////////////////////////////////////////////////////v79//////+goqL/AQEB/x8fHv88PDv/Ozs5/zs7Ov87PDv/TU1M/6anp//5+vn///78//39/f/8/Pz//Pz8//z8+//7/Pv//P38//z9+//7/Pz//P38//3+/f/+/fz///38//7+/P/+/v3//f39//z8/P/6/Pz/9vz78/P8+vn+/v3//v79//39/f/9/f3/+/z8//v8/P/7/f3//P39//39/f/9/v3//f79//z9/f/9/v3//v79//7+/f/9/f3//f79//3+/v/U1tb/Li8v/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+Fh4j//v////7//v/Iycj/YmJh/11dXP9eXlz/Xl5c/15eXf9eXl3/XV1c/15eXf9dXl3/XF1c/11dXP9dXVz/Xl9d/11eXf9cXFv/XV1d/7u7uv////7//////5+iof8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/EBAR/6iqqv/+/v7//f38//z9/P/8/Pz//Pz8//z9/P/9/fz//P39//v8/P/9/vz//v79//39/P/9/fz//f38//39/P/9/f3//Pz7//r8+//2+/r08/36+f39/f/8/f3/+/39//z8/P/8/fz//Pz8//39/f/9/v3//v79//7+/f/+/vz//v79//7+/f/+/v3//f79//3+/f/+//3//////4WHh/8AAAD/AAAA/wAAAP8AAAD/AAEA/wABAP8AAQD/AAAA/4SGhv/+/////////66urv8yMjL/Ly8v/y4vL/8tLy7/LS8u/y0uLv8tLy7/LS8u/y4wLv8uLy7/LjAv/y8xMP8vMS//Li8v/y0vLf8tLS3/oKKh////////////n6Ki/wABAP8AAAD/AAAA/wAAAP8BAQH/AAAA/wAAAP8AAAD/R0hH//L09P/8/fz/+/z8//39/f/9/fz//f38//39/P/7/Pz//P39//3+/f/9/v3//f39//3+/f/+/v3//f38//39/P/7/Pv/+fz7//b7+fTz/Pr5/P38//z9/f/9/f3//f39//z9/f/9/fz//v79//7+/f/+/vz//v78//39/f/+/v3//v79//3+/f/9/v7//v79//7//f//////a2xs/wAAAP8AAAD/AAAA/wABAf8AAQH/AAEB/wIEA/8TExP/kJGR//7////9/v3/+vv6/+/v7v/t7u3/7e7t/+zt7P/s7ez/7O7t/+zu7v/s7u7/7e7u/+3u7f/t7u3/7e7u/+3v7v/t7+7/7e7t/+3u7f/6+/r//v/9//////+oqqr/FhYW/wYGBv8AAAD/AQEB/wABAP8AAAD/AAAA/wAAAP8vLy//6Ovq//3+/f/8/f3//f79//39/f/8/fz//Pz8//r8/P/8/Pz//f39//39/P/9/fz//v38//7+/P/9/fz//f38//v8+//4/Pv/9vv58vP7+vn8/Pv//f38//39/f/9/vz/+/39//z9/f/+/v3//v79//39/P/8/fv//P38//39/f/+/v3//f7+//7+/v/+/v3//v79//////9sbGz/AAAA/wEBAf8AAQD/AAEB/wABAf8AAAD/FhcW/7e5uP/u7u7//////////////////////////////////////////////////////////////////////////v////////////////////////////////////////////Hx8P/Ozs3/NDQz/wAAAP8AAQH/AAEA/wABAP8AAAD/AAAA/y8wL//n6+r//f79//39/f/8/f3/+/39//z8/P/9/fz//f39//79/f/+/v3//f38//38/P/8/Pz//f38//39/P/8/Pv/+/z7//n8+//2+/ny8/z6+fv8/P/7/Pz//P39//z9/f/8/f3//v38//7+/f/9/v3//P39//39/P/9/fz//f38//7+/P/9/v3//f79//7+/f/+/v3//////2xsbP8AAAD/AQEB/wABAP8AAQD/AAEB/wABAP8ODw7/YmNi/3BxcP9vcG//bm9u/25vbv9ubm3/bGxs/2xsbP9sbGz/bGxr/21tbP9sbWz/a2xr/2tsa/9ra2r/ampp/2pqaf9ra2r/a2xr/2tsa/9sbGv/bW5t/25ubf9tbm3/b29v/21tbf8cHBz/AAEA/wABAf8AAQH/AAEB/wABAf8AAAD/MDEw/+fr6//8/v3//f39//39/f/8/f3//f39//39/f/9/v3//f39//39/P/9/fz//P38//v8+//8/fz/+/38//r8/P/7/Pz/+vz7//b7+fTz/Pr5+/38//v8/P/8/f3//f79//79/f/9/vz//v79//z9/f/8/f3//P38//z8/P/9/fv//f78//7+/f/+//3//v/9//7//f//////a2xs/wAAAP8BAQH/AAEB/wABAf8AAQD/AAEB/wABAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAQH/AAEB/wABAf8AAQH/AAEB/wAAAP8xMTD/6Ozr//7+/v/9/f3//v39//3+/f/9/vz//f78//3+/P/8/f3//P39//39/f/7/fz//P38//z9/P/8/fz/+/38//v8/P/6/Pz/9fz69fX9/Pr8/f3//P39//39/f/+/v3//v79//39/f/9/f3//f78//39/f/9/f3//f38//39/P/8/f3//P79//3+/v/+//3//v/9//////9sbm7/AAAA/wEBAf8BAQH/AAAA/wABAP8AAQH/AAAA/wABAP8AAQD/AAEA/wABAf8AAQH/AAEA/wAAAP8AAQD/AAAA/wAAAP8AAAD/AAAA/wABAP8AAQD/AAEB/wABAf8AAQH/AAEB/wABAf8AAQH/AAEB/wABAf8AAQH/AAEA/wAAAP8AAQH/AAEA/wABAP8AAgD/AAIA/wACAf8AAQH/AAAA/zEyMf/p7Ov//v/+//7+/f/+/f3//v79//3+/P/+/vz//v38//79/P/9/v3//v79//7+/f/+/fz//v38//7+/f/9/v3//P39//r8/P/2/Pv29P38+vv9/P/9/f3//v79//7+/f/9/v3//f39//39/f/9/v3//P39//z9/P/8/fz/+/z8//r8/P/6/f3//P7+//7//v/+//3////+/2tsbP8AAAD/AAAA/wABAP8AAAD/AAAA/wABAP8AAQD/AAEA/wABAP8AAQD/AAEA/wABAf8AAQH/AAEA/wABAP8AAQD/AAEA/wABAP8BAQH/AAEB/wACAf8AAgH/AAEB/wABAf8AAQH/AAEB/wACAf8AAgH/AAEB/wABAf8AAQH/AAEA/wABAP8AAQD/AAAA/wAAAP8AAAD/AAEB/wABAf8AAAD/MDEw/+jr6/////7//v79//3+/f/9/v3//P38//z9+//9/fz//P38//z9/P/9/v3//v39//79/P/+/vz//v79//3+/f/+/v3/+/39//b8+/Tz/fv6+f38//v9/f/9/v3//v79//7+/f/+/v3//f39//39/f/8/f3//P38//39/f/9/f3//P39//3+/f/+/v7//f7+//3+/f////7/amtr/wAAAP8AAQD/AAEA/wABAP8AAQD/AAEA/wABAP8AAQD/AAEA/wABAP8AAQD/AAEA/wABAP8AAQH/AAEB/wACAP8AAQD/AAEB/wACAf8AAgH/AAIB/wACAf8AAgH/AAEB/wABAf8AAgH/AAIB/wACAf8AAgL/AAIB/wACAf8AAQD/AAAA/wAAAP8SExL/R0dH/yMjI/8AAQH/AAEA/wAAAP8uLy//5urq//7//v/+/v3//v39//z9/f/8/fz/+/38//z9/P/7/f3//P39//7+/f/+/v3//f79//7+/f/+/v3//v79//7//f/8/f3/9/z68/P9+/r6/fz/+/38//z9/f/8/v3//P79//z9/f/7/P3/+vz9//v9/f/7/f3/+/39//39/f/9/f3//P39//3+/f/9/v3//f79//////9rbGz/AAAA/wABAP8AAQH/AAEA/wABAP8AAQH/AAEB/wABAP8AAQD/AAEA/wABAf8AAQH/AAIB/wABAf8AAgH/AAIB/wACAv8AAgH/AAIC/wACAv8AAgH/AAIB/wABAf8AAQD/AAEB/wACAf8AAgH/AAEB/wACAf8AAgL/AAIB/wABAP8AAAD/CgsK/52fn//39/f/ysrK/yMjI/8AAAD/AAAA/y4vL//m6+v//v/+//3+/f/8/f3/+/z8//r8/P/6/Pz/+/z8//z9/P/9/f3//f79//3+/f/8/f3//P39//3+/f/+/v3//v79//z9/f/4/Pvy9Pz7+fv9/f/8/f3//f38//39/P/8/f3//Pz8//v8/P/8/Pz//f38//z9/P/7/f3//f39//39/f/9/f3//f79//7+/f/+/v3//////2pra/8AAAD/AAEA/wABAf8AAQH/AAEB/wABAf8AAgH/AAIB/wABAP8AAQD/AAEB/wABAf8AAQH/AAEA/wACAf8AAgL/AAEB/wACAf8AAgL/AAIB/wACAf8AAgH/AAEB/wABAf8AAgH/AAIB/wACAf8AAgD/AAEB/wABAf8AAQH/AAEA/wAAAP8YGBf/1dfX///////3+Pf/P0BA/wAAAP8AAAD/Li8u/+br6//+//7//f79//z8/P/8/Pz/+vz8//n7/P/7/Pv//fz7//79/P/+/v3//v79//3+/f/9/v3//f79//7//f/9/v3//P39//j8+/D1/Pv4/P39//z9/f/7/f3/+vz8//z9/f/9/f3//Pz8//z9/P/+/vz//f39//39/P/9/f3//f39//3+/f/+/v3//v79//7+/f/+////Z2pq/wAAAP8AAQD/AAEB/wABAP8AAgH/AAIB/wACAf8AAgH/AAIB/wABAf8AAQH/AAEB/wABAf8AAQH/AAEB/wACAf8AAQH/AAEB/wABAf8AAQH/AAEB/wABAf8AAgH/AAIB/wACAf8AAgH/AAIB/wABAP8AAQH/AAIB/wABAP8AAQD/AAAA/wMEA/9kZWT/x8jH/5GRkP8PDw//AAAA/wAAAP8uLy7/5uvr//z+/v/9/f3//f39//z9/P/7/Pv/+/z7//v8/P/8/Pz//v79//7+/f/+/v3//P39//3+/f/+//3//f79//39/f/8/f3/+Pz78PX8+/f9/v3//P39//r8/f/6/Pz/+/z8//z9/P/9/fz//f38//7//f/9/v3//f78//39/P/+/fz//f79//3+/v/+/v3//v79//////9wcnH/AAAA/wABAf8AAQD/AAEA/wABAP8AAQH/AAEB/wABAf8AAQH/AAEB/wABAf8AAQH/AAEB/wABAP8AAQH/AAEB/wACAf8AAQH/AAEB/wABAf8AAQH/AAEB/wABAP8AAQH/AAEB/wABAP8AAQD/AAEA/wABAf8AAgD/AAEA/wEBAf8AAAD/AAAA/wEBAf8PDw//BQUF/wAAAP8AAAD/AAAA/zk6Of/s8PH//P7+//3+/f/7/f3//P39//z9/P/8/Pz//Pz8//v8/P/9/v3//f79//3+/f/8/v7//P7+//3+/f/7/Pz/+vz8//r9/P/3/Prx8/z6+P3+/f/9/v3//P39//v8/P/8/fz//f38//38/P/+/fz//v/9//7+/f/9/fz//v38//7+/f///v3//v79//7+/v/+/v3//////7CxsP8LDgz/AAEA/wABAP8AAAD/AAEA/wAAAP8AAQD/AAEA/wABAP8AAQD/AAEA/wABAP8AAQD/AAIA/wACAP8AAgH/AAEA/wACAP8AAQD/AAEA/wACAP8AAQD/AAEA/wABAP8AAQH/AAEA/wABAP8AAQD/AAEA/wABAP8AAQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/fX9///n9/f/8/fz//v79//z+/f/8/f3//f39//z9+//8/Pv//Pz8//z9/f/8/fz//f78//7+/f/+/v3//f39//v9/f/5/Pz/+fz8//b8+fP0+/r5/v7+//3+/f/8/f3//f39//z9/f/9/fz//f37//79/P/+/fz//v78//79/P/9/f3//v79///+/f/+/v3//f79//39/f/+/v7/+Pj4/4uMi/8gIiD/CgsK/wkKCf8JCgn/CAoJ/wgKCf8JCQn/CAoJ/wkKCv8ICwn/CAsK/wkMCv8JDAr/CAsK/wgLCv8JCwv/CQsK/wkLCv8JDAr/CQsK/wkLCv8JCgr/CQoJ/wkLCv8JDAr/CQsJ/wkKCf8JCgn/CQoJ/wkJCf8JCAj/CQgI/wgICP8IBwf/CAgI/wgICP8ICAj/FBUV/2JjY//m6Oj//P7+//z9/f/+/v3//v79//3+/f/9/f3//Pz7//z8+//8/fz//P39//z8/P/9/fz//f38//39/P/9/v3//P39//r8/P/5/Pz/9/z68/X7+vn+/v7//v79//39/f/9/f3//f39//79/P/+/fv//f38//3+/f/+/fz///38//7+/f/+/v3//f79//3+/f/8/f3//f39//3+/f/+/v7//f38/9rb2/+9vr7/u7y8/7y+vf+8vb3/vL28/7y9vf+9vr7/vb69/7u8vP+7vLz/u7y8/7u8u/+7u7r/u7u6/7q8u/+7vLz/u728/7u9vP+7vbz/vL28/7u8vP+7u7v/vLy8/7u9vP+7vLv/u7y7/7y8vP+8vr3/vL29/7y7u/+8u7v/urq6/7m5uf+5urr/urq6/7m5uP/Nzs3/9vb2//7//v/+//3//v/9//7+/f/+/v3//v79///9/P/+/Pz//fz7//78+//9/f3//f79//3+/f/8/f3//P39//3+/f/8/f3/+vz8//v8+//3/Pr19Pv6+f3+/f/9/v3//f39//39/P/8/Pv//fz7//39/P/9/v3//v79//79/P/+/fz//v38//7+/P/9/f3//P39//v9/f/9/v3//v79//7+/f/+//3/////////////////3d/e/21ubf9naGf/aWtq/2hpaP9paWn/0NHR/////////////////////////////////////////////////////////////////////////////////////////////////+3t7f94eXn/ZmZm/2doaP9naGf/ZGVk/8DBwf/////////////////9/v3//v79//7//f/+/v3//v/9//7+/f/+/v3//v38//39/P/+/Pv//fz7//39/f/+//3//v79//3+/f/8/f3//f39//v9/f/6+/v/+/z7//f7+vT0+/n6/f38//3+/f/9/f3/+/z8//v8+//8/Pv//P38//39/f/+/v3//f38//z9+//9/fz//f39//39/f/9/fz/+/38//z9/P/+/v3//v79//7+/f/+/v3//v79///////FyMf/CgsL/wAAAP8AAAD/AAAA/wICAf+wsbH////////9/P///v3//v79//7+/f/+/v3//v79//7+/f/+/v3///79//7+/f/+/v3///79///+/P/+/v3//v79//7+/f//////29vb/xcZGf8AAAD/AAAA/wAAAP8AAAD/lZaW///////+/vz//f39//3+/f/9/v3//f79//7+/f/+/v3//f79//7+/f/9/f3//f79//79/P/9/fz//f39//7+/f///v3//f79//39/f/9/f3/+vz8//n7+//5/Pv/9/v68/P6+fn7/fz//f79//39/f/7/Pz//Pz7//z8/P/8/fz//P38//3+/f/9/f3//P38//v9/P/+/fz//f38//z8/P/6/Pz/+/z8//3+/f/+/v7//f79//3+/f/+/v3//////8/Qz/8SExP/AAAA/wAAAP8AAAD/BgYG/7Cysv///////v39//7+/f/9/v3//f79//z9/f/9/v3////9///////////////+//7//f/+/v3//f38//z9/f/9/f3//f78///////a29r/Ghwc/wAAAP8AAAD/AAAA/wICAf+jpaX///////7+/P/9/f3//f39//v9/f/9/v3//v79//3+/f/9/v7//f79//3+/f/9/v3//v78//3+/P/9/f3//v79///+/f/+/f3//P39//39/f/7/Pz/+vv7//n7+//2+/r18/v5+fv8/P/8/f3//f39//39/P/7/Pz//Pz8//z8+//8/fz//P39//39/f/9/fz//P38//39/f/9/Pz//Pz8//v8/P/8/fv//f39//3+/f/8/f3//f79//7+/f////7/8fHw/09PTv8AAAD/AAAA/wAAAP8GBgX/sLGy///////+/v3//f79//z9/f/6/Pz/+vz8//3+/f/4+ff/yMnH/7e4tv/k5eP//v/9//39/f/8/fz/+/z8//z9/f/9/fz//////9ja2f8aGxv/AAAA/wAAAP8AAAD/KCko/9fY2P////7//v79//7+/f/9/f3//f79//3+/f/9/v3//P79//7+/f/+//3//f79//3+/f/+/vz//f78//39/f/9/f3//v38//39/P/9/f3//f39//v9/P/7+/v/+vv7//b7+vT0+/n5/P38//39/f/+/fz//f38//v8/P/8/f3//P38//v8/P/7/fz//f38//3+/P/9/vz/+/z8//v8+//8/Pv/+/z8//z9+//9/fz//f39//39/P/9/vz//f78//7//f////7/3d3c/4GCgv9xcnH/QkND/wYGBf+ytLT///////39/f/9/f3/+/z9//r8/P/6/fz/8vb1/3p8fP8TFBP/CAkI/zY2Nv/Kysr//v7+//39/P/9/f3//f79//3+/f//////19ra/xcZGf8nJyf/b3Fw/3l6ev/Fx8b//f79//7+/f/+/v3//v79//3+/f/9/v3//f/9//3+/f/+/v3//v/9//3+/f/+/fz//f38//39/P/9/fz//Pz8//z8/P/8/fv//P38//39/P/+/fz//Pz8//r7+//5+/v/9vv69PP8+vn8/f3//f39//79/f/9/f3//P39//z9/f/8/fz/+/z7//r8/P/7/fz//f78//39/f/9/fz//Pz7//38/P/8/f3/+/z8//z9/P/9/f3//f38//3+/f/+/v3//f79//39/f////////////////+PkZH/BgUF/7S2tv///////f39//z9/f/7/f3/+vz8//3////EyMj/DxER/wAAAP8AAQH/AAAA/2VmZv/5+/v//P38//7+/f/9/v3//v79///////Z2tr/FRcW/1dYV//8//7////////////+/v3//v79//3+/f/9/v3//P39//39/f/+/v3//v79//7+/f/+/v3//f78//79/P/9/fz//f38//39/P/8/fz//P38//z9/P/7/fz//f38//79/f/8/f3/+vz8//r7+//3+/n29Pz7+fv9/f/7/Pz//P38//39/P/9/f3//f39//v8/P/8/Pv/+/z8//r9/P/8/fz//f39//39/P/8/Pv//fz7//38/P/8/Pz//f38//39/f/9/vz//v79//7+/v/9/f3//f38//3+/f/+/v3//////4qMjP8FBQT/srW2///////9/f3//P39//39/f/8/fz//////7y+vf8ICgr/AAEA/wEBAf8AAAD/UlNS//b5+P/8/fz//v79//7//f/+//3//////9rb2/8WFxf/VFVU//n8+//+/v3//v/9//7+/f/9/v3//f78//39/f/7/f3//P39//7+/f/+/v3//v79//7+/f/9/fz//f38//7+/P/+/fz//f79//3+/P/9/fz//f38//39/P/9/f3//f39//z9/f/6/Pz/+vz8//j7+vb0/Pr5+/z8//r8/P/7/f3//P38//39/f/8/Pz/+/z8//z8/P/7/fz//P38//38/P/+/fz//v38//39+//+/fv//v38//39/P/9/fz//P39//z9/P/9/fz//f39//39/f/9/v3//v79//7//f//////iYqK/wUEBP+ztrb///////7+/v/9/f3//f39//39/f/+//7/6uvq/0ZGRv8AAAD/AAAA/w8REP+ho6L//f7+//7+/P/+//3////9//7//f//////2tvb/xYXF/9VVVX/+vz7//79/P/+/v3//f38//z9/f/9/fz//f79//z9/f/9/f3//v79//7+/f/+/v3//f39//39/P/9/fz//f38//3+/P/+/v3//f79//z9/P/9/fz//f38//39/P/8/fz/+/z8//v8/P/6/Pz/9/v69vX7+vn6/Pz/+vz8//v8/P/9/fz//f39//39/f/8/Pz//Pz8//z8/P/8/Pz//fz7//79+//+/fz//v38//79/P/+/fz//v38//39/P/8/f3//f38//39/f/8/fz//f39//7+/v/+/v3//v79//////+Ki4v/BQQE/7K0tP/8/Pz/+fr4//j5+P/4+fj/+Pn5//v9/P////7/3d3d/4WGhf9zc3L/sbSy//j5+P/+/fz//Pv5//r6+P/6+vn/+fr5//v7+//Y2Nj/FxgX/1VUVP/6+/r//f38//39/f/8/f3//P39//3+/P/+/v3//P39//39/f///v3//v79//7+/f/9/v3//v79//7+/f/9/fz//f38//7+/f/9/fz//f38//39/f/9/fz//f39//z9/P/7/Pz/+vv7//r8+//2/Pr19fv6+fn8/P/5/Pz/+/38//z9/P/+/v3//f79//z8/P/7/Pz/+/z8//z8/P/8/Pv//fz7//79/P/+/fz//v38//38+//9/Pv//f38//z9/P/8/fz//f39//39/f/+/v3//v79//7+/f/+/v3//////4eIiP8AAAD/OTo5/1FSUf9RUlD/UFBP/05OTf9iYmH/5Obm//7//v///////////////////////v38///+/v+jo6P/TU1M/09PTv9OTk3/TU5N/0NEQ/8FBgX/VFVU//n7+v/9/fz//v79//39/f/8/f3//f79//3+/f/9/f3//v39//7+/f/9/v3//f7+//3+/f/+/v3//v79//7+/f/+/v3///78///9/P///vz//v79//39/f/8/f3//f39//39/f/7/Pv/+fz7//b9+/b1/Pr5+fz8//r8/P/9/f3//f38//39/f/7/f3/+/z8//n8/P/7/Pz//Pz8//z9/P/8/Pz/+/z8//38+//9/Pv//P37//z9/P/9/fz//P38//v8/P/8/f3//f79//7+/f/9/v7//v79//7+/f//////sbGx/ywtLP8iJCP/ISMi/yAiIf8hISH/ISAg/zo4Of/f4OH//f////3+/f/d3Nv/srCv/8vKyf/4+Pf//////5CRkv8iISL/IiMj/yIiIv8iIiL/IyMj/ygnJ/+MjIz//f79//3+/f/+/v3//f39//39/f/9/f3//Pz8//z8/P/9/f3//v79//3+/f/9/v3//f79//7+/f/+/v3//v79//7+/f/+/v3///38//3+/P/9/f3//v79//3+/f/9/v3//f39//z9/P/7/fz/9/z7+PT8+vn5/fz/+vz8//39/f/8/fz//P38//39/P/8/f3/+/z8//z9/P/9/fz//Pz8//v8/P/6/Pv/+vz7//v8/P/9/fz//P39//39/f/9/f3//P38//z9/f/8/f3//v79//7+/f/+/v3//v79//7+/f/7+/v/6Ono/+Tl5f/l5eX/5OTk/+Tk4//k4+P/5uXm//j5+f/9/v7/t7i4/yorKv8FBgX/FhcW/4eIiP/4+vn/8vLx/+Xl5f/m5eT/5eXk/+bl5f/m5eT/5ubl//f4+P/+//7//f7+//7+/f/9/f3//v79//3+/f/9/Pz//f38//39/f/9/v3//v78//3+/f/9/f3//f39//39/f/9/v3//f79//79/f/+/vz//f38//39/P/+/v3//v/9//7+/f/9/f3//f39//z9/f/2/Pv39Pz69fj9/P/6/Pz/+/z8//z8+//9/Pz//f38//39/P/9/f3//f79//39/P/8/fz//P37//z9+//8/fv//P38//z9/P/9/fz//v38//39/f/8/f3//f39//z9/f/9/v3//f79//z9/f/9/f3//f79//7+/f////7////////////////////+//7+/v/9/v3//P39/+3v7/8+Pz//AAAA/wAAAP8AAAD/FhYW/83Pz////////////////////////////////////////v/+//7//f/9/v7//f7+//7+/f///v3//v78//39/P/9/Pz//v79//7+/f/9/v3//f39//7+/f/9/f3//f39//3+/f/9/v3//v79//3+/f/9/fz//f79//7+/f///v3///79//7+/f/9/v3//P39//b8+vf0+/rr+P37//r8/P/8/Pv//Pz7//z9/P/8/fz//f38//39/P/+/v3//f38//z9+//7/Pv//Pz7//39/P/9/fz//P38//39/P/9/fz//f38//38+//9/fv//f38//z9/f/8/f3/+/z9//39/f/9/f3//v79///+/f///v3//v79//3+/f/6/Pz/+vz8//v8/P/9/v3/5OXl/yUnJ/8AAAD/AQEA/wAAAP8HBwb/t7e3///////+/v3//f79//7//f/+/v3//v79//7+/f/+/v3//v79//39/f/8/f3//f38//7+/f/+/vz//P38//v8/P/9/f3//v79//39/f/+/vz//f38//z9/P/+/v3//v79//3//f/+/v3//f78//39/P/9/f3//v79//7+/f/+/v3//v79//3+/f/7/f3/9fv68fT8+t/4/fz/+vz8//z8/P/9/P3//f7+//39/f/+/fz//v37//79+//+/Pv//Pz7//v8+//8/Pv//fz7//39/P/9/f3//f39//3+/f/9/fz//vz7//z8+//9/fz/+/38//z9/f/9/v3//f79//7+/f/+/v3//v79//7+/f/9/v3//P39//v9/P/7/f3//P38//z9/f/4+fj/ZGRj/wAAAP8AAAD/AAAA/y8wMP/g4eH//v7+//7+/f/+//7//v/9//7+/f/8/f3//f79//7+/f/+/v3//P38//z8/P/8/fz//f38//3+/P/9/v3//f39//79/f/+/v3//v79//7+/f/9/fz//f39//7+/f/+//3//v/9//7+/f/9/fz//fz7//z9/P/9/v3//v/9//7+/f/9/v3//f39//v9/f/2/Prf8vz6xfj9/P/6/fz/+/z8//z9/f/9/v3//f38//78+//+/Pv//vz6//38+v/9/Pv//fz7//39/P/9/fv//f38//3+/f/9/v3//v79//79/P/+/Pv//P38//3+/f/9/v3//f79//7//f/+/v3//v79//7+/f/+/v3//f79//3+/v/9/v7//f79//3+/f/9/f3//f78//7//v/h4eD/bm5t/zU1NP9RUlL/w8TE//3+/v////7/8vPy/+np5//5+fj//v/+//3+/f/+/v3//v79//39/f/8/f3//f39//39/P/9/fz//P38//3+/f/9/v3//v39//7+/f/+/v3//v79//7+/f/9/fz//f39//7+/f/+/fz//f38//38+//+/Pv//Pz8//39/P/9/v3//f38//39/P/7/Pz/+f38//T7+Mvv+/mZ9/37//n9/P/6/Pz/+/z8//39/f/9/fz//fz7//38+//9+/r//fz7//39/P/9/fz//f78//7+/P/+/v3//v79//7+/f/+/v3//v39//38/P/9/f3//f39//7+/f/9/v3//v/9//7+/P/+/fz//v38//79/f/+/v3//v7+//3+/f/+/v7//f39//3+/f/9/vz//f78/////v/9/Pv/7u7u//b39////////P38/7u7u/9ISEj/LCws/2RlZf/d3t7//v/+//7+/f/+/v3//P39//z9/P/+/v3//f78//z9/f/7/f3//f39//39/f/9/f3//v79//7+/f/+//3//v79//39/P/9/f3//f38//z8+//9/Pz//fz7//38+//8/Pz//P38//z+/P/9/vz//f38//r8/P/4/Pz/7fj3pen59ln2/Pr2+P38//n8/f/7/P3//f39//z9/P/9/Pv//vz7//37+v/9/fz//f38//39/f/9/f3//f38//39/P///f3///38//79/f/9/f3//f38//z9/P/9/f3//f39//39/f/9/v3//f79//3+/P/9/fz//f39//7+/f/9/v7//f7+//7+/f/9/v7//v78//39/P/9/vz//f79//7+/f/+/v7//P79//7+/v/d3t3/Kior/wAAAP8AAAD/AAAA/2FhYf/29/b//f78//z9/f/7/f3//f38//79/f/+/fz//f38//79/P/+/v3//f39//39/f/+/v3//v79//7+/f/+/v3//P38//39/f/8/fz/+/z8//v8+//8/fv/+/z8//z9/P/9/fz//v39//7+/P/9/v3/+vz8//b7+/nn9/Zk2vXyHfT8+tD4/Pz/+vz8//r8/f/7/Pz//P38//39/P/8/Pz//Pz7//39/P/9/f3//f79//39/f/9/fz//f38//79/P/9/fz//f38//39/f/8/fz/+/z8//z8/P/9/fz//f79//3+/f/9/vz//v38//79/P///vz//v79//39/f/9/v3//v79//7+/f/+/vz//v78//7+/f/+/v7//v79//7+/f/+/v3//////7m6uv8HCAj/AAAA/wAAAP8AAAD/ISIh/97g4P/8/v3/+/z8//v8/P/9/fz//f39//39/P/9/fv//f38//39/f/9/f3//v79//7+/f/+/v3//v/9//7+/f/9/fz//Pz8//z8/P/8/fz//Pz8//v8/P/8/f3//P39//z9/f/9/fz//f38//3+/f/7/fz/9fv52OD08yON4eEB8fv4g/n9/P77/f3/+/39//z9/f/9/f3//P39//r8/P/6/Pz//P38//3+/f/9/v3//f79//3+/f/9/fz//f38//39/P/9/fz//f38//z8/P/7/Pv/+/z8//39/f/9/fz//P39//39/P/9/Pz//f38///9/P/9/f3//f39//3+/f/+/v3//v39//7+/f/9/f3//v79//3+/v/+/v3//v79//7//f//////1tfW/xscHP8AAAD/AAAA/wAAAP81NTX/6evq//v9/P/7/Pz//P39//z9/f/8/fz//P37//z9+//9/fz//P38//z8/P/9/v3//v79//7+/f/+/v3//v79//7+/f/8/fz//Pz8//z9+//8/Pz//P39//39/f/7/f3//P39//39/f/8/f3//P39//n8+//y+vePtOjmA63q6ADo+fUr9vz74Pr9/f/7/f3/+/79//z9/f/8/f3/+/38//r8/P/8/fz//f39//z9/f/8/f3//P38//z8/P/9/f3//f39//39/P/8/f3/+/z8//r8+//7/Pz//f38//79/f/9/f3//f38//z9/P/9/fz//f79//7+/f/9/v3//f78//3+/f/9/v3//f79//7+/f/9/v3//f39//7+/f/9/v3//v79//7+/f/7/Pv/lJST/xwdHP8ICgn/Jicm/6yurv/8/v3/+vz7//z9/P/8/f3//P39//z8/P/7/Pz/+/z8//z9/P/8/fz//f38//3+/f/+/v3//v78//7+/f/+/v3//v79//z9/f/8/Pz//Pz8//z8/P/9/v3//f39//z8/P/7/f3//P39//z9/f/7/fz/9vv55ur39TLD7esAAAAAALHu5ALy+/d4+P37/Pr9/f/7/v3/+/39//v8/P/7/Pz//P39//39/P/9/f3//f39//39/f/8/f3//f39//39/f/8/f3//P38//v8/P/7/Pz/+vz8//z8/P/+/fz//v79//v9/f/7/fz//P38//v9/P/8/fz//f38//39/P/7/fz/+v38//v9/f/8/f3//v38//3+/f/8/f3//f79//3+/f/9/v3//v/9//7//v/8/Pv/1NXU/7q7u//b3d3//P79//z9/P/8/fz//f39//z9/f/8/f3//P39//v8/P/8/Pz//f78//3+/f/9/f3//f79//3+/P/9/fz//v38//39/P/8/fv//Pz8//z8+//7/Pz/+/39//3+/f/9/f3//P39//v8/P/6/Pz/+/38//n8+v3z+vaFxe3pAwAAAAAAAAAAyfPsAOb38RP2/Pmw+f38//r9/f/6/f3/+vz8//v8/P/8/f3//f38//79/P/9/f3//P79//3+/v/+/v7//P39//z9/f/9/f3//P39//r8/P/6/Pz//Pz8//3+/f/+/v3/+/39//r8/P/7/Pz/+/39//v9/f/8/f3/+v39//n8/P/5/Pz/+vz8//r8/P/8/fz//f39//v9/P/9/v3//f79//7+/f/+//3//f79//z9/f/////////////////8/f3//f39//3+/f/9/f3//P39//z9/f/7/P3/+vz8//v8+//9/v3//f79//39/f/9/f3//f39//z8/P/8/fv//Pz8//38+//9/Pv//Pz8//z9/P/9/fz//f38//z8/P/8/f3//f79//r9/f/5/Pv/9vr3wun18RnU8e0AAAAAAAAAAAAAAAAA9/z2APD69i34/PrW+fz8//n8/P/6/Pz/+/38//v8/P/8/fz//f38//v9/f/7/f3//P39//3+/f/9/v3//v79//39/f/7/Pz/+vz8//n8/P/6/Pz/+/z8//3+/f/9/f3/+/z8//v8/P/9/f3//f39//39/f/8/f3/+/39//r8/P/7/Pz/+/z8//z9/f/9/f3//P39//3+/f/9/v7//f7+//3+/f/8/f3/+/z8//z9/f/+/v3//v79//7+/f/+/v3//P39//z9/f/9/f3//v79//z9/f/8/fz//P39//3+/f/9/v3//f39//39/f/9/f3/+/z8//z8+//7/Pz//Pz8//z9/P/8/fz//P38//z8/P/7/Pz/+/z8//z9/f/9/vz/+f38//X7+N7t9/Q8/f3zAAAAAAAAAAAAAAAAAAAAAABf1dIA////APT79kL4+/jb+Pv7//n8+//5/Pv/+vz8//v9/P/8/f3/+vz8//n8/P/6/f3//P39//39/f/9/f3/+/39//v8/f/6/Pz/+Pz8//n8/P/7/fz//f39//7+/f/8/fz//P38//39/f/8/f3//f39//3+/f/8/f3/+/z8//z9/P/8/fz//P38//z9/f/7/f3//f39//z9/f/9/v3//f79//z9/f/8/f3//f39//79/f/9/v3//v79//7+/f/9/v3//f79//3+/f/9/fz//Pz8//z9/P/9/f3//f39//39/f/8/f3//f39//3+/f/8/Pz//Pz7//v8/P/8/f3//P38//z9/P/7/Pz/+vz8//r8/P/6/Pz/+/z8//r8+//2+/jn7fbzUAAAAADD5+0AAAAAAAAAAAAAAAAAAAAAAAAAAADU9uwA////APT59EL1+vjV+Pv7//n8+//6/Pz/+vz8//r8/f/7/P3/+/39//v9/f/8/f3//f39//z9/f/7/f3//P39//z9/f/7/Pz//P39//39/f/8/f3//f38//39/P/9/vz//f38//z9/P/9/fz//f38//z9/P/8/Pz//Pz8//39/f/9/f3//f39//z9/f/7/f3/+vz8//z9/f/9/f3//v39//79/f/9/f3//f38//3+/f/+/v3//f79//3+/f/9/v3//f79//39/f/8/Pz//Pz8//39/f/9/f3//Pz8//r8/P/8/fz//f39//z8/P/7/Pz/+vz8//r8/P/7/Pz//f39//39/f/8/P3/+/z8//r8+//3+/r/9fr33+z28VOW29kB1O3rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk9/AA////APH48i74+/iy+Pz6/fn9/P/6/f3/+/39//v9/f/9/v3//f79//z+/f/8/f3/+/38//v8/P/8/f3//P38//z9/f/9/v3//f39//v9/f/7/f3//P39//z9/f/9/f3/+/z8//v8/P/7/Pz/+/z8//z9/f/8/f3//f39//39/f/9/f3//P39//z9/f/6/Pz/+/z8//v9/f/8/f3//f39//z9/f/7/fz//f38//39/f/9/f3//f39//z9/f/9/v3//f79//39/f/7/Pz/+/z8//39/f/8/fz/+vz8//v8/f/8/f3/+/z9//v8/P/6/Pz/+vz8//v8/f/9/v3//P39//v9/f/5/Pz/9/r5/vL49cbr9fI/////ANDu6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADR7ukA9Pn0AO/48RT0+/Z49vv53fj8+//6/fz/+/39//3+/f/+/v3//f79//z9/f/6/Pz/+vv7//r8/P/8/Pz/+/39//3+/f/7/f3/+v38//r9/P/7/f3/+/39//r8/P/6/Pz/+/z8//r8/P/6/Pz/+/39//z9/f/8/f3/+/z8//v9/P/7/fz/+/z8//r8/P/6/Pz/+/39//z9/P/8/fz//P39//z9/f/8/fz/+/38//z9/f/7/f3/+v39//v9/f/7/f3/+v39//n9/P/7/f3//f39//39/P/7/Pz/+/z9//z9/f/9/f3//P39//v8/P/7/Pz//P39//z9/f/7/f3/+vz8//b7+eXv+PWE4fLvG//99gDG7OsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQ8uQA8/nyAP///wDt9/Mr8/v3gfj8+s35/Pv0+fz7//v9/P/8/fz/+/38//v8/P/6/Pv/+fz7//r8/P/9/fz//f38//r8/P/6/fz/+v38//n9/P/5/Pz/+Pz7//r8/P/7/fz/+/z7//v8+//6/Pv/+vz8//v9+//6/Pv/+fz7//n8/P/6/Pv/+vz8//r8/P/7/Pz/+/z8//r8/P/5/Pv/+fz7//n8+//5/Pz/+fz7//n8+//4/fv/+P38//n9/P/5/Pz/+fz8//v9/P/8/Pz/+/z8//r8/P/6/Pz/+/z8//v8/P/7/Pz/+fz7//n7+//6/Pv/+fz69/f8+dby+fiL6Pb1M43Z5gLo8/AAouXtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2/TvAPP59QD///8A7PjzGvH49VLz+faU9vr3wvX799/1+/fx9fr4+PP6+fby+vnz8vr59fT7+ff2/Pry9vv58PT7+vb0+/r58/v6+PH6+vfx+vn38vv6+PT7+/j0+vn38fr49/D6+Pfz+vj49Pr5+fP6+fjx+vn38vv6+PT7+vjz+vn38/r59vX7+ff0+/n48/r5+fL6+Pnx+vj48fr4+PL6+fby+vn28fr59/L7+vjy+/r18vv69fP7+vXz+/r38vv69/P7+vb0+vn18/r48fP7+fLz+/n18/r48fT79+T0+vfc8vr3xPH59prr9/Ze4PT0IQCiywHx+PYAyuzxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8AAAAAAAAAD/wAA/wAAAAAAAAAA/wAA/gAAAAAAAAAAPwAA+AAAAAAAAAAAHwAA8AAAAAAAAAAADwAA4AAAAAAAAAAABwAAwAAAAAAAAAAAAwAAwAAAAAAAAAAAAwAAgAAAAAAAAAAAAQAAgAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAQAAgAAAAAAAAAAAAQAAwAAAAAAAAAAAAwAA4AAAAAAAAAAABwAA8AAAAAAAAAAADwAA+AAAAAAAAAAADwAA/AAAAAAAAAAAPwAA/gAAAAAAAAAAfwAA/4AAAAAAAAAA/wAA/+AAAAAAAAAD/wAA",alt:"Website",class:"w-3.5 h-3.5 rounded-sm"},null,-1)),ta(" "+oe(Qt(i)("help.website")),1)]),r[30]||(r[30]=Xo("a",{href:"https://printdot.cc",target:"_blank",rel:"noopener noreferrer",class:"text-gray-600 hover:text-blue-600 hover:underline",title:"https://printdot.cc"},"https://printdot.cc",-1))]),Xo("div",NM,[Xo("span",OM,[r[31]||(r[31]=Xo("svg",{viewBox:"0 0 16 16","aria-hidden":"true",class:"w-3.5 h-3.5"},[Xo("path",{fill:"currentColor",d:"M8 0C3.58 0 0 3.73 0 8.35c0 3.7 2.29 6.83 5.47 7.94.4.08.55-.18.55-.4 0-.2-.01-.86-.01-1.56-2.01.38-2.53-.5-2.69-.96-.09-.24-.48-.96-.82-1.16-.28-.16-.68-.56-.01-.57.63-.01 1.08.6 1.23.85.72 1.25 1.87.9 2.33.69.07-.54.28-.9.51-1.11-1.78-.21-3.64-.92-3.64-4.08 0-.9.31-1.64.82-2.22-.08-.21-.36-1.06.08-2.2 0 0 .67-.22 2.2.85.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.07 2.2-.85 2.2-.85.44 1.14.16 1.99.08 2.2.51.58.82 1.32.82 2.22 0 3.17-1.87 3.87-3.65 4.08.29.26.54.77.54 1.56 0 1.12-.01 2.03-.01 2.32 0 .22.15.48.55.4C13.71 15.18 16 12.04 16 8.35 16 3.73 12.42 0 8 0z"})],-1)),ta(" "+oe(Qt(i)("help.github")),1)]),r[32]||(r[32]=Xo("a",{href:"https://github.com/0ldFive/Vue-Print-Designer",target:"_blank",rel:"noopener noreferrer",class:"text-gray-600 hover:text-blue-600 hover:underline",title:"https://github.com/0ldFive/Vue-Print-Designer"},"https://github.com/0ldFive/Vue-Print-Designer",-1))])])])]),Xo("div",null,[Xo("h4",FM,oe(Qt(i)("help.dependencies")),1),Xo("div",UM,[Xo("table",zM,[Xo("thead",RM,[Xo("tr",null,[Xo("th",QM,oe(Qt(i)("help.package")),1),Xo("th",HM,oe(Qt(i)("help.version")),1)])]),Xo("tbody",VM,[(Ro(!0),jo(Do,null,pi(Qt(c),e=>(Ro(),jo("tr",{key:e.name,class:"hover:bg-gray-50"},[Xo("td",jM,[Xo("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",title:e.url,class:"hover:underline hover:decoration-blue-600 hover:text-blue-600 transition-colors"},oe(e.name),9,GM)]),Xo("td",WM,oe(e.version),1)]))),128))])])])])])):na("",!0)])])])])):na("",!0)],8,["to"]))}}),qM={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const YM=Lt({name:"material-symbols-translate",render:function(e,t){return Ro(),jo("svg",qM,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m11.9 22l4.55-12h2.1l4.55 12H21l-1.075-3.05h-4.85L14 22zM4 19l-1.4-1.4l5.05-5.05q-.875-.875-1.588-2T4.75 8h2.1q.5.975 1 1.7t1.2 1.45q.825-.825 1.713-2.313T12.1 6H1V4h7V2h2v2h7v2h-2.9q-.525 1.8-1.575 3.7t-2.075 2.9l2.4 2.45l-.75 2.05l-3.05-3.125zm11.7-1.8h3.6l-1.8-5.1z"},null,-1)])])}}),XM={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};Lt({name:"material-symbols-cloud",render:function(e,t){return Ro(),jo("svg",XM,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M6.5 20q-2.275 0-3.887-1.575T1 14.575q0-1.95 1.175-3.475T5.25 9.15q.625-2.3 2.5-3.725T12 4q2.925 0 4.963 2.038T19 11q1.725.2 2.863 1.488T23 15.5q0 1.875-1.312 3.188T18.5 20z"},null,-1)])])}});const ZM={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};Lt({name:"material-symbols-link",render:function(e,t){return Ro(),jo("svg",ZM,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M11 17H7q-2.075 0-3.537-1.463T2 12t1.463-3.537T7 7h4v2H7q-1.25 0-2.125.875T4 12t.875 2.125T7 15h4zm-3-4v-2h8v2zm5 4v-2h4q1.25 0 2.125-.875T20 12t-.875-2.125T17 9h-4V7h4q2.075 0 3.538 1.463T22 12t-1.463 3.538T17 17z"},null,-1)])])}});const JM={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};Lt({name:"material-symbols-link-off",render:function(e,t){return Ro(),jo("svg",JM,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m19.25 16.45l-1.5-1.55q1-.275 1.625-1.063T20 12q0-1.25-.875-2.125T17 9h-4V7h4q2.075 0 3.538 1.463T22 12q0 1.425-.737 2.625T19.25 16.45M15.85 13l-2-2H16v2zm3.95 9.6L1.4 4.2l1.4-1.4l18.4 18.4zM11 17H7q-2.075 0-3.537-1.463T2 12q0-1.725 1.05-3.075t2.7-1.775L7.6 9H7q-1.25 0-2.125.875T4 12t.875 2.125T7 15h4zm-3-4v-2h1.625l1.975 2z"},null,-1)])])}});const $M={class:"bg-white rounded-lg shadow-xl w-[700px] max-w-full h-[500px] flex overflow-hidden"},eL={class:"w-48 bg-gray-50 border-r border-gray-200 flex flex-col"},tL={class:"h-[60px] flex items-center px-4 border-b border-gray-200"},rL={class:"text-lg font-semibold text-gray-800"},nL={class:"flex-1 py-2"},iL={class:"flex-1 flex flex-col min-w-0 relative"},oL={class:"h-[60px] flex items-center justify-between px-4 border-b border-gray-200"},aL={class:"flex items-center gap-3"},sL={class:"text-lg font-semibold text-gray-800"},lL={class:"flex-1 overflow-y-auto p-6"},uL={key:0,class:"space-y-4 text-sm text-gray-700"},cL={class:"mb-2 font-medium text-gray-900"},AL={class:"flex items-center gap-3"},dL={class:"text-xs text-gray-500 mt-2"},hL={class:"border-t border-gray-200 pt-4"},pL={class:"mb-2 font-medium text-gray-900"},fL={class:"flex flex-wrap gap-2"},gL=["onClick"],vL={class:"text-xs text-gray-500 mt-2"},mL={class:"border-t border-gray-200 pt-4"},yL={class:"flex items-center justify-between"},bL={class:"font-medium text-gray-900"},wL={class:"sr-only"},xL={class:"text-xs text-gray-500 mt-2"},_L={class:"border-t border-gray-200 pt-4"},CL={class:"mb-2 font-medium text-gray-900"},SL={class:"flex items-center gap-3"},BL={class:"text-xs text-gray-500 mt-2"},kL={class:"border-t border-gray-200 pt-4"},EL={class:"flex items-center justify-between"},IL={class:"font-medium text-gray-900"},TL={class:"sr-only"},PL={class:"text-xs text-gray-500 mt-2"},ML={class:"border-t border-gray-200 pt-4 space-y-3"},LL={class:"mb-2 font-medium text-gray-900"},DL={class:"flex items-center gap-3"},NL={class:"flex items-center gap-2 px-3 py-2 border rounded cursor-pointer border-blue-600 text-blue-700"},OL={class:"flex items-center justify-between"},FL={class:"font-medium text-gray-900"},UL={class:"sr-only"},zL={class:"text-xs text-gray-500"},RL={key:1,class:"space-y-4 text-sm text-gray-700"},QL={class:"mb-2 font-medium text-gray-900"},HL={class:"flex items-center gap-3"},VL={class:"text-xs text-gray-500 mt-2"},jL=Nn({__name:"SettingsModal",props:{show:{type:Boolean}},emits:["update:show"],setup(e,{emit:t}){const r=e,n=t,{t:i,locale:o}=dh(),{theme:a,setTheme:s}=ew(),{autoSave:l}=qb(),u=Wb(),c=nn("modal-container",Ft(null)),{printMode:A,silentPrint:d,exportImageMerged:h,printQuality:p,localSettings:f,remoteSettings:g,localStatus:v,remoteStatus:m,localRetryCount:y,remoteRetryCount:b,remoteClients:w,remoteSelectedClientId:x,localWsUrl:_,remoteWsUrl:C,cancelLocalRetry:S,cancelRemoteRetry:B,connectLocal:k,disconnectLocal:E,connectRemote:I,disconnectRemote:T,fetchRemoteClients:P}=Fx(),M=Ft("basic"),L=Ft(o.value),D=Ft(localStorage.getItem("print-designer-brand-key")||"default"),N=Ft(localStorage.getItem("print-designer-brand-custom-hex")||"#3b82f6"),O=Ta(()=>v.value||"disconnected"),F=Ta(()=>m.value||"disconnected");Ta(()=>y.value||0),Ta(()=>b.value||0),Ta(()=>w.value||[]);const U=Ta(()=>"connected"===O.value),z=Ta(()=>"connected"===F.value);Ta(()=>"connecting"===O.value),Ta(()=>"connecting"===F.value),Ta(()=>Boolean(f.wsAddress)),Ta(()=>Boolean(g.apiBaseUrl&&g.username&&g.password)),Ta(()=>U.value?i("settings.status.connected"):i("settings.status.disconnected")),Ta(()=>z.value?i("settings.status.connected"):i("settings.status.disconnected"));const R=(e,t,r)=>{const n=e=>((e,t=0,r=255)=>Math.min(Math.max(e,t),r))(Math.round(e)).toString(16).padStart(2,"0");return`#${n(e)}${n(t)}${n(r)}`},Q=(e,t,r)=>({r:e.r+(t.r-e.r)*r,g:e.g+(t.g-e.g)*r,b:e.b+(t.b-e.b)*r}),H=Ta(()=>(e=>{const t=Ew(e);if(!t)return null;const r=Bw(t.h,t.s,t.v),n={r:255,g:255,b:255},i={r:0,g:0,b:0},o=Q(r,n,.92),a=Q(r,n,.84),s=Q(r,n,.68),l=Q(r,n,.5),u=Q(r,n,.32),c=Q(r,n,.16),A=Q(r,i,.12),d=Q(r,i,.24),h=Q(r,i,.36),p=Q(r,i,.5);return{"--brand-50":R(o.r,o.g,o.b),"--brand-100":R(a.r,a.g,a.b),"--brand-200":R(s.r,s.g,s.b),"--brand-300":R(l.r,l.g,l.b),"--brand-400":R(u.r,u.g,u.b),"--brand-500":R(c.r,c.g,c.b),"--brand-600":R(r.r,r.g,r.b),"--brand-700":R(A.r,A.g,A.b),"--brand-800":R(d.r,d.g,d.b),"--brand-900":R(h.r,h.g,h.b),"--brand-950":R(p.r,p.g,p.b)}})(N.value)||{}),V=Ta(()=>[{key:"default",labelKey:"settings.themePresetDefault",colors:{"--brand-50":"#eff6ff","--brand-100":"#dbeafe","--brand-200":"#bfdbfe","--brand-300":"#93c5fd","--brand-400":"#60a5fa","--brand-500":"#3b82f6","--brand-600":"#2563eb","--brand-700":"#1d4ed8","--brand-800":"#1e40af","--brand-900":"#1e3a8a","--brand-950":"#172554"}},{key:"emerald",labelKey:"settings.themePresetEmerald",colors:{"--brand-50":"#ecfdf5","--brand-100":"#d1fae5","--brand-200":"#a7f3d0","--brand-300":"#6ee7b7","--brand-400":"#34d399","--brand-500":"#10b981","--brand-600":"#059669","--brand-700":"#047857","--brand-800":"#065f46","--brand-900":"#064e3b","--brand-950":"#022c22"}},{key:"amber",labelKey:"settings.themePresetAmber",colors:{"--brand-50":"#fffbeb","--brand-100":"#fef3c7","--brand-200":"#fde68a","--brand-300":"#fcd34d","--brand-400":"#fbbf24","--brand-500":"#f59e0b","--brand-600":"#d97706","--brand-700":"#b45309","--brand-800":"#92400e","--brand-900":"#78350f","--brand-950":"#451a03"}},{key:"rose",labelKey:"settings.themePresetRose",colors:{"--brand-50":"#fff1f2","--brand-100":"#ffe4e6","--brand-200":"#fecdd3","--brand-300":"#fda4af","--brand-400":"#fb7185","--brand-500":"#f43f5e","--brand-600":"#e11d48","--brand-700":"#be123c","--brand-800":"#9f1239","--brand-900":"#881337","--brand-950":"#4c0519"}},{key:"custom",labelKey:"settings.themePresetCustom",colors:H.value}]),j=e=>{const t=document.documentElement;Object.entries(e).forEach(([e,r])=>{t.style.setProperty(e,r)}),window.dispatchEvent(new CustomEvent("brand-theme-updated"))},W=e=>{const t=V.value.find(t=>t.key===e)||V.value[0];var r;t.colors&&(j(t.colors),r=t.colors,localStorage.setItem("print-designer-brand-vars",JSON.stringify(r)),localStorage.setItem("print-designer-brand-key",t.key))};(()=>{const e=localStorage.getItem("print-designer-brand-vars");if(e)try{const t=JSON.parse(e);t&&"object"==typeof t&&j(t)}catch{}})(),an(L,e=>{o.value=e,localStorage.setItem("print-designer-language",e)}),an(o,e=>{L.value!==e&&(L.value=e)}),an(a,e=>{s(e)}),an(()=>r.show,e=>{u.setDisableGlobalShortcuts(e)}),an(N,e=>{e&&(localStorage.setItem("print-designer-brand-custom-hex",e),"custom"===D.value&&W("custom"))}),an(D,e=>{W(e)},{immediate:!0}),an([M,m],([e,t])=>{"remote"===e&&"connected"===t&&P()});const K=()=>{try{n("update:show",!1)}catch(e){}},q=e=>{try{if(!r.show)return;"Escape"===e.key&&(e.preventDefault(),K())}catch(t){}};return ei(()=>{window.addEventListener("keydown",q)}),ii(()=>{window.removeEventListener("keydown",q),r.show&&u.setDisableGlobalShortcuts(!1)}),(t,r)=>(Ro(),Go(yn,{to:Qt(c)||"body"},[e.show?(Ro(),jo("div",{key:0,class:"fixed inset-0 z-[99999] flex items-center justify-center bg-black/50 pointer-events-auto",onClick:zs(K,["self"])},[Xo("div",$M,[Xo("div",eL,[Xo("div",tL,[Xo("h3",rL,oe(Qt(i)("settings.title")),1)]),Xo("div",nL,[Xo("button",{onClick:r[0]||(r[0]=e=>M.value="basic"),class:X(["w-full text-left px-4 py-3 flex items-center gap-3 transition-colors text-sm","basic"===M.value?"bg-white text-blue-600 border-l-4 border-blue-600 font-medium":"text-gray-600 hover:bg-gray-100 border-l-4 border-transparent"])},[Zo(Qt($w),{class:"w-5 h-5"}),ta(" "+oe(Qt(i)("settings.basic")),1)],2),Xo("button",{onClick:r[1]||(r[1]=e=>M.value="language"),class:X(["w-full text-left px-4 py-3 flex items-center gap-3 transition-colors text-sm","language"===M.value?"bg-white text-blue-600 border-l-4 border-blue-600 font-medium":"text-gray-600 hover:bg-gray-100 border-l-4 border-transparent"])},[Zo(Qt(YM),{class:"w-5 h-5"}),ta(" "+oe(Qt(i)("settings.language")),1)],2)])]),Xo("div",iL,[Xo("div",oL,[Xo("div",aL,[Xo("h3",sL,oe("basic"===M.value?Qt(i)("settings.basic"):Qt(i)("settings.language")),1)]),Xo("button",{onClick:K,class:"p-1 hover:bg-gray-100 rounded-full transition-colors text-gray-500"},[Zo(Qt(Lw),{class:"w-4 h-4"})])]),Xo("div",lL,["basic"===M.value?(Ro(),jo("div",uL,[Xo("div",null,[Xo("div",cL,oe(Qt(i)("settings.theme")),1),Xo("div",AL,[Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","system"===Qt(a)?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"system","onUpdate:modelValue":r[2]||(r[2]=e=>Ot(a)?a.value=e:null)},null,512),[[Ls,Qt(a)]]),Xo("span",null,oe(Qt(i)("settings.themeSystem")),1)],2),Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","light"===Qt(a)?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"light","onUpdate:modelValue":r[3]||(r[3]=e=>Ot(a)?a.value=e:null)},null,512),[[Ls,Qt(a)]]),Xo("span",null,oe(Qt(i)("settings.themeLight")),1)],2),Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","dark"===Qt(a)?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"dark","onUpdate:modelValue":r[4]||(r[4]=e=>Ot(a)?a.value=e:null)},null,512),[[Ls,Qt(a)]]),Xo("span",null,oe(Qt(i)("settings.themeDark")),1)],2)]),Xo("p",dL,oe(Qt(i)("settings.themeDesc")),1)]),Xo("div",hL,[Xo("div",pL,oe(Qt(i)("settings.themeColor")),1),Xo("div",fL,[(Ro(!0),jo(Do,null,pi(V.value.filter(e=>"custom"!==e.key),e=>(Ro(),jo("button",{key:e.key,type:"button",class:X(["flex items-center gap-2 px-3 py-2 border rounded text-xs transition-colors",D.value===e.key?"border-blue-600 text-blue-700":"border-gray-300 text-gray-700 hover:bg-gray-50"]),onClick:t=>D.value=e.key},[Xo("span",{class:"inline-block w-3.5 h-3.5 rounded-full",style:G({backgroundColor:e.colors["--brand-600"]})},null,4),Xo("span",null,oe(Qt(i)(e.labelKey)),1)],10,gL))),128)),Zo(zB,{"model-value":N.value,"onUpdate:modelValue":r[6]||(r[6]=e=>{e&&(N.value=e,D.value="custom")}),"default-color":N.value,"teleport-to-body":!0},{trigger:Jr(({color:e,open:t})=>[Xo("button",{type:"button",class:X(["flex items-center gap-2 px-3 py-2 border rounded text-xs transition-colors","custom"===D.value?"border-blue-600 text-blue-700":"border-gray-300 text-gray-700 hover:bg-gray-50"]),onClick:r[5]||(r[5]=e=>D.value="custom")},[Xo("span",{class:X(["inline-block w-3.5 h-3.5 rounded-full border border-gray-200",{"ring-2 ring-blue-500 ring-offset-1":t}]),style:G({backgroundColor:e||N.value})},null,6),Xo("span",null,oe(Qt(i)("settings.themePresetCustom")),1)],2)]),_:1},8,["model-value","default-color"])]),Xo("p",vL,oe(Qt(i)("settings.themeColorDesc")),1)]),Xo("div",mL,[Xo("div",yL,[Xo("div",bL,oe(Qt(i)("settings.autoSave")),1),Xo("button",{onClick:r[7]||(r[7]=e=>l.value=!Qt(l)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(l)?"bg-blue-600":"bg-gray-200"])},[Xo("span",wL,oe(Qt(i)("settings.autoSave")),1),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Qt(l)?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("p",xL,oe(Qt(i)("settings.autoSaveDesc")),1)]),Xo("div",_L,[Xo("div",CL,oe(Qt(i)("settings.printQuality")),1),Xo("div",SL,[Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","fast"===Qt(p)?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"fast","onUpdate:modelValue":r[8]||(r[8]=e=>Ot(p)?p.value=e:null)},null,512),[[Ls,Qt(p)]]),Xo("span",null,oe(Qt(i)("settings.printQualityFast")),1)],2),Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","normal"===Qt(p)?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"normal","onUpdate:modelValue":r[9]||(r[9]=e=>Ot(p)?p.value=e:null)},null,512),[[Ls,Qt(p)]]),Xo("span",null,oe(Qt(i)("settings.printQualityNormal")),1)],2),Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","high"===Qt(p)?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"high","onUpdate:modelValue":r[10]||(r[10]=e=>Ot(p)?p.value=e:null)},null,512),[[Ls,Qt(p)]]),Xo("span",null,oe(Qt(i)("settings.printQualityHigh")),1)],2),Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","ultra"===Qt(p)?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"ultra","onUpdate:modelValue":r[11]||(r[11]=e=>Ot(p)?p.value=e:null)},null,512),[[Ls,Qt(p)]]),Xo("span",null,oe(Qt(i)("settings.printQualityUltra")),1)],2)]),Xo("p",BL,oe(Qt(i)("settings.printQualityDesc")),1)]),Xo("div",kL,[Xo("div",EL,[Xo("div",IL,oe(Qt(i)("settings.exportImageMerged")),1),Xo("button",{onClick:r[12]||(r[12]=e=>h.value=!Qt(h)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(h)?"bg-blue-600":"bg-gray-200"])},[Xo("span",TL,oe(Qt(i)("settings.exportImageMerged")),1),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Qt(h)?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("p",PL,oe(Qt(i)("settings.exportImageMergedDesc")),1)]),Xo("div",ML,[Xo("div",null,[Xo("div",LL,oe(Qt(i)("settings.printMode")),1),Xo("div",DL,[Xo("label",NL,[en(Xo("input",{type:"radio",value:"browser","onUpdate:modelValue":r[13]||(r[13]=e=>Ot(A)?A.value=e:null)},null,512),[[Ls,Qt(A)]]),Xo("span",null,oe(Qt(i)("settings.printModeBrowser")),1)])])]),Xo("div",OL,[Xo("div",FL,oe(Qt(i)("settings.silentPrint")),1),Xo("button",{onClick:r[14]||(r[14]=e=>d.value=!Qt(d)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(d)?"bg-blue-600":"bg-gray-200"])},[Xo("span",UL,oe(Qt(i)("settings.silentPrint")),1),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Qt(d)?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("p",zL,oe(Qt(i)("settings.silentPrintDesc")),1)])])):na("",!0),"language"===M.value?(Ro(),jo("div",RL,[Xo("div",QL,oe(Qt(i)("settings.selectLanguage")),1),Xo("div",HL,[Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","zh"===L.value?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"zh","onUpdate:modelValue":r[15]||(r[15]=e=>L.value=e)},null,512),[[Ls,L.value]]),Xo("span",null,oe(Qt(i)("settings.zhLabel")),1)],2),Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","en"===L.value?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"en","onUpdate:modelValue":r[16]||(r[16]=e=>L.value=e)},null,512),[[Ls,L.value]]),Xo("span",null,oe(Qt(i)("settings.enLabel")),1)],2)]),Xo("p",VL,oe(Qt(i)("settings.languageDesc")),1)])):na("",!0)])])])])):na("",!0)],8,["to"]))}}),GL={class:"h-12 lg:h-14 bg-white dark:bg-gray-900 border-b border-gray-200 dark:border-gray-700 flex items-center px-2 lg:px-4 z-[2000] relative shadow-sm flex-shrink-0"},WL={class:"flex items-center gap-1 lg:gap-2 flex-1 min-w-0"},KL={class:"hidden xl:flex items-center gap-1 lg:gap-2 ml-1"},qL={class:"hidden lg:flex xl:hidden items-center gap-0.5 ml-1 flex-wrap"},YL={class:"flex items-center gap-0.5 bg-gray-100 dark:bg-gray-800 rounded-md px-1 py-0.5"},XL=["disabled","title"],ZL=["disabled","title"],JL=["disabled"],$L=["disabled"],eD=["disabled"],tD={class:"flex items-center gap-0.5 lg:gap-1.5 flex-shrink-0"},rD={class:"hidden lg:flex items-center bg-gray-100 dark:bg-gray-800 rounded-lg p-0.5"},nD=["title"],iD={class:"text-xs w-10 text-center select-none cursor-default tabular-nums"},oD=["title"],aD={class:"hidden lg:block"},sD=["title"],lD={class:"hidden xl:inline text-xs"},uD={class:"hidden xl:inline"},cD={class:"relative"},AD={class:"flex items-center shadow-sm"},dD=["disabled"],hD={class:"hidden sm:inline"},pD={key:0,class:"absolute top-full right-0 mt-1 w-max min-w-[140px] bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 shadow-xl rounded-lg p-1 z-[1000] flex flex-col gap-0.5"},fD={class:"hidden lg:flex items-center gap-0.5 ml-0.5"},gD=["title"],vD=["title"],mD=["title"],yD={key:0,class:"fixed inset-0 z-[1900] lg:hidden"},bD={class:"absolute top-0 right-0 h-full w-[300px] max-w-[85vw] bg-white dark:bg-gray-900 shadow-2xl overflow-y-auto"},wD={class:"flex items-center justify-between p-3 border-b border-gray-200 dark:border-gray-700"},xD={class:"p-3 space-y-4"},_D={class:"bg-gray-50 dark:bg-gray-800 rounded-lg p-2"},CD={class:"flex items-center gap-2 flex-wrap"},SD={class:"flex items-center gap-0.5 bg-gray-50 dark:bg-gray-800 rounded-lg p-1"},BD={class:"grid grid-cols-2 gap-2"},kD={class:"flex items-center bg-gray-50 dark:bg-gray-800 rounded-lg p-1 justify-center"},ED={class:"text-xs w-10 text-center"},ID={class:"grid grid-cols-2 gap-2"},TD={class:"flex gap-2"},PD=Nn({__name:"Header",setup(e){const{t:t}=dh(),r=Wb(),n=Mb(),{getPrintHtml:i,exportPdf:o,exportHtml:a,exportImages:s}=aB(),l=Ft(!1),u=Ft(!1),c=Ft(!1),A=Ft(""),d=()=>{l.value?document.body.style.overflow="":document.body.style.overflow="hidden",l.value=!l.value},h=()=>{document.body.style.overflow="",l.value=!1};ii(()=>{document.body.style.overflow=""});const p=Ta(()=>{if(!r.selectedElementId)return!1;for(const e of r.pages){const t=e.elements.find(e=>e.id===r.selectedElementId);if(t)return t.locked||!1}return!1}),f=async()=>{var e;try{const t=(null==(e=document.querySelector("print-designer"))?void 0:e.shadowRoot)||document,r=Array.from(t.querySelectorAll(".print-page"));A.value=await i(r),c.value=!0}catch{Qm.error("Preview generation failed")}},g=()=>{o(Array.from(document.querySelectorAll(".print-page")),`${m()}.pdf`)},v=()=>{a(Array.from(document.querySelectorAll(".print-page")),`${m()}.html`)},m=()=>{const e=n.templates.find(e=>e.id===n.currentTemplateId),t=((null==e?void 0:e.name)||"print-design").trim().replace(/[\\/:*?"<>|]/g,"-").replace(/\s+/g," ").trim()||"print-design",r=new Date,i=e=>String(e).padStart(2,"0");return`${t}-${r.getFullYear()}${i(r.getMonth()+1)}${i(r.getDate())}`},y=()=>{r.setZoom(Math.min(5,r.zoom+.1))},b=()=>{r.setZoom(Math.max(.2,r.zoom-.1))},w=()=>{n.currentTemplateId?(()=>{if(n.isLoading)return;if(r.editingCustomElementId)return void window.dispatchEvent(new CustomEvent("designer:save-custom-edit"));const e=n.templates.find(e=>e.id===n.currentTemplateId);if(e){if(n.isSaving)return;n.saveCurrentTemplate(e.name)}else window.dispatchEvent(new CustomEvent("designer:new-template"))})():_("designer:new-template")},x=()=>{_("designer:print")},_=e=>{window.dispatchEvent(new CustomEvent(e))};return(e,i)=>(Ro(),jo(Do,null,[Xo("header",GL,[Xo("div",WL,[Zo(xE,{class:"max-w-[140px] lg:max-w-[200px]"}),Xo("div",KL,[Zo(ik,{onToggleHelp:i[0]||(i[0]=e=>Qt(r).setShowHelp(!0)),onToggleSettings:i[1]||(i[1]=e=>Qt(r).setShowSettings(!0))})]),Xo("div",qL,[Xo("div",YL,[Xo("button",{onClick:i[2]||(i[2]=e=>Qt(r).undo()),disabled:0===Qt(r).historyPast.length,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-30",title:"撤销 "+Qt(sB)(["Ctrl","Z"])},[Zo(Qt(tx),{class:"w-3.5 h-3.5"})],8,XL),Xo("button",{onClick:i[3]||(i[3]=e=>Qt(r).redo()),disabled:0===Qt(r).historyFuture.length,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-30",title:"重做 "+Qt(sB)(["Ctrl","Y"])},[Zo(Qt(nx),{class:"w-3.5 h-3.5"})],8,ZL),i[36]||(i[36]=Xo("div",{class:"w-px h-3 bg-gray-300 dark:bg-gray-600"},null,-1)),Xo("button",{onClick:i[4]||(i[4]=e=>Qt(r).copy()),disabled:!Qt(r).selectedElementId||p.value||!Qt(r).isTemplateEditable,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-30",title:"复制"},[Zo(Qt(ox),{class:"w-3.5 h-3.5"})],8,JL),Xo("button",{onClick:i[5]||(i[5]=e=>Qt(r).paste()),disabled:0===Qt(r).clipboard.length||!Qt(r).isTemplateEditable,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-30",title:"粘贴"},[Zo(Qt(sx),{class:"w-3.5 h-3.5"})],8,$L),Xo("button",{onClick:i[6]||(i[6]=e=>Qt(r).removeSelectedElements()),disabled:!Qt(r).selectedElementId||p.value||!Qt(r).isTemplateEditable,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-30",title:"删除"},[Zo(Qt(Ax),{class:"w-3.5 h-3.5"})],8,eD)]),Zo(wk)])]),Xo("div",tD,[Xo("div",rD,[Xo("button",{onClick:b,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded",title:Qt(t)("editor.zoomOut")},[Zo(Qt(fx),{class:"w-3.5 h-3.5"})],8,nD),Xo("span",iD,oe(Math.round(100*Qt(r).zoom))+"%",1),Xo("button",{onClick:y,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded",title:Qt(t)("editor.zoomIn")},[Zo(Qt(hx),{class:"w-3.5 h-3.5"})],8,oD)]),Xo("div",aD,[Zo(WI)]),Xo("button",{onClick:i[7]||(i[7]=e=>Qt(r).setShowSampleDataModal(!0)),class:"hidden lg:flex items-center gap-1 px-1.5 py-1 hover:bg-gray-100 dark:hover:bg-gray-800 rounded text-sm transition-colors whitespace-nowrap",title:Qt(t)("common.sampleData")},[Zo(Qt(Qw),{class:"w-3.5 h-3.5"}),Xo("span",lD,oe(Qt(t)("common.sampleData")),1)],8,sD),Xo("button",{onClick:i[8]||(i[8]=e=>Qt(r).setCanvasPreview(!Qt(r).canvasPreview)),class:X([Qt(r).canvasPreview?"bg-blue-100 text-blue-700 border-blue-300 dark:bg-blue-900/30 dark:text-blue-400":"","hidden lg:flex items-center gap-1 px-2 py-1 border border-gray-200 dark:border-gray-600 rounded-md text-xs hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors whitespace-nowrap"]),title:"Ctrl+P"},[Zo(Qt(Nw),{class:"w-3.5 h-3.5"}),Xo("span",uD,oe(Qt(r).canvasPreview?"编辑":"预览"),1)],2),Xo("div",cD,[Xo("div",AD,[Xo("button",{onClick:w,disabled:Qt(n).isSaving,class:"flex items-center gap-1 lg:gap-1.5 px-2 lg:px-3 py-1.5 bg-blue-600 text-white rounded-l-md hover:bg-blue-700 transition-colors text-xs lg:text-sm border-r border-blue-500 disabled:opacity-50 disabled:cursor-not-allowed whitespace-nowrap"},[Qt(n).isSaving?(Ro(),Go(Qt(Gw),{key:0,class:"w-3.5 h-3.5 animate-spin"})):(Ro(),Go(Qt(Vw),{key:1,class:"w-3.5 h-3.5"})),Xo("span",hD,oe(Qt(n).currentTemplateId?Qt(t)("common.save"):"新建"),1)],8,dD),Xo("button",{onClick:i[9]||(i[9]=e=>u.value=!u.value),class:"px-1.5 py-1.5 bg-blue-600 text-white rounded-r-md hover:bg-blue-700 transition-colors flex items-center"},[Zo(Qt(Kw),{class:"w-3.5 h-3.5 lg:w-4 lg:h-4"})])]),u.value?(Ro(),jo("div",pD,[Xo("button",{onClick:i[10]||(i[10]=e=>{f(),u.value=!1}),class:"w-full flex items-center gap-2 px-3 py-1.5 text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700 rounded text-xs text-left transition-colors whitespace-nowrap"},[Zo(Qt(Nw),{class:"w-3.5 h-3.5"}),Xo("span",null,oe(Qt(t)("editor.preview")),1)]),Xo("button",{onClick:i[11]||(i[11]=e=>{g(),u.value=!1}),class:"w-full flex items-center gap-2 px-3 py-1.5 text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700 rounded text-xs text-left transition-colors whitespace-nowrap"},[Zo(Qt(Fw),{class:"w-3.5 h-3.5"}),Xo("span",null,oe(Qt(t)("editor.exportPdf")),1)]),Xo("button",{onClick:i[12]||(i[12]=e=>{v(),u.value=!1}),class:"w-full flex items-center gap-2 px-3 py-1.5 text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700 rounded text-xs text-left transition-colors whitespace-nowrap"},[Zo(Qt(Fw),{class:"w-3.5 h-3.5"}),Xo("span",null,oe(Qt(t)("editor.exportHtml")),1)]),Xo("button",{onClick:i[13]||(i[13]=e=>{s(Array.from(document.querySelectorAll(".print-page")),m()),u.value=!1}),class:"w-full flex items-center gap-2 px-3 py-1.5 text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700 rounded text-xs text-left transition-colors whitespace-nowrap"},[Zo(Qt(zw),{class:"w-3.5 h-3.5"}),Xo("span",null,oe(Qt(t)("editor.exportImage")),1)]),i[37]||(i[37]=Xo("div",{class:"border-t border-gray-100 dark:border-gray-700 my-0.5"},null,-1)),Xo("button",{onClick:i[14]||(i[14]=e=>{x(),u.value=!1}),class:"w-full flex items-center gap-2 px-3 py-1.5 text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700 rounded text-xs text-left transition-colors whitespace-nowrap"},[Zo(Qt(Yw),{class:"w-3.5 h-3.5"}),Xo("span",null,oe(Qt(t)("editor.print")),1)])])):na("",!0)]),Xo("div",fD,[Xo("button",{onClick:i[15]||(i[15]=e=>Qt(r).setShowHelp(!0)),class:"p-1.5 hover:bg-gray-100 dark:hover:bg-gray-800 rounded text-gray-500",title:Qt(t)("common.help")},[Zo(Qt(Zw),{class:"w-3.5 h-3.5"})],8,gD),Xo("button",{onClick:i[16]||(i[16]=e=>Qt(r).setShowSettings(!0)),class:"p-1.5 hover:bg-gray-100 dark:hover:bg-gray-800 rounded text-gray-500",title:Qt(t)("common.settings")},[Zo(Qt($w),{class:"w-3.5 h-3.5"})],8,vD)]),Xo("button",{onClick:d,class:"lg:hidden p-1.5 hover:bg-gray-100 dark:hover:bg-gray-800 rounded text-gray-600 dark:text-gray-300 ml-0.5",title:l.value?"关闭菜单":"打开菜单"},[l.value?(Ro(),Go(Qt(Lw),{key:0,class:"w-5 h-5"})):(Ro(),Go(Qt(Pw),{key:1,class:"w-5 h-5"}))],8,mD)])]),(Ro(),Go(yn,{to:"body"},[l.value?(Ro(),jo("div",yD,[Xo("div",{class:"absolute inset-0 bg-black/40",onClick:h}),Xo("div",bD,[Xo("div",wD,[i[38]||(i[38]=Xo("span",{class:"text-sm font-semibold text-gray-700 dark:text-gray-200"},"菜单",-1)),Xo("button",{onClick:h,class:"p-1 hover:bg-gray-100 dark:hover:bg-gray-800 rounded text-gray-500"},[Zo(Qt(Lw),{class:"w-5 h-5"})])]),Xo("div",xD,[Xo("div",null,[i[39]||(i[39]=Xo("div",{class:"text-xs text-gray-500 dark:text-gray-400 mb-2 font-medium uppercase tracking-wider"},"文字样式",-1)),Xo("div",_D,[Zo(ik,{onToggleHelp:i[17]||(i[17]=e=>{Qt(r).setShowHelp(!0),h()}),onToggleSettings:i[18]||(i[18]=e=>{Qt(r).setShowSettings(!0),h()})})])]),Xo("div",null,[i[42]||(i[42]=Xo("div",{class:"text-xs text-gray-500 dark:text-gray-400 mb-2 font-medium uppercase tracking-wider"},"编辑工具",-1)),Xo("div",CD,[Xo("div",SD,[Xo("button",{onClick:i[19]||(i[19]=e=>Qt(r).undo()),class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-gray-600 dark:text-gray-300",title:"撤销"},[Zo(Qt(tx),{class:"w-4 h-4"})]),Xo("button",{onClick:i[20]||(i[20]=e=>Qt(r).redo()),class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-gray-600 dark:text-gray-300",title:"重做"},[Zo(Qt(nx),{class:"w-4 h-4"})]),i[40]||(i[40]=Xo("div",{class:"w-px h-4 bg-gray-300 dark:bg-gray-600 mx-0.5"},null,-1)),Xo("button",{onClick:i[21]||(i[21]=e=>Qt(r).copy()),class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-gray-600 dark:text-gray-300",title:"复制"},[Zo(Qt(ox),{class:"w-4 h-4"})]),Xo("button",{onClick:i[22]||(i[22]=e=>Qt(r).paste()),class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-gray-600 dark:text-gray-300",title:"粘贴"},[Zo(Qt(sx),{class:"w-4 h-4"})]),i[41]||(i[41]=Xo("div",{class:"w-px h-4 bg-gray-300 dark:bg-gray-600 mx-0.5"},null,-1)),Xo("button",{onClick:i[23]||(i[23]=e=>{Qt(r).selectElement(Qt(r).selectedElementId,!1),Qt(r).selectedElementId&&Qt(r).pages.some(e=>e.elements.some(e=>e.id===Qt(r).selectedElementId&&!e.locked))}),class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-gray-600 dark:text-gray-300",title:"锁定/解锁"},[Zo(Qt(ux),{class:"w-4 h-4"})]),Xo("button",{onClick:i[24]||(i[24]=e=>Qt(r).removeSelectedElements()),class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-red-500",title:"删除"},[Zo(Qt(Ax),{class:"w-4 h-4"})])]),Zo(wk)])]),Xo("div",null,[i[43]||(i[43]=Xo("div",{class:"text-xs text-gray-500 dark:text-gray-400 mb-2 font-medium uppercase tracking-wider"},"快捷操作",-1)),Xo("div",BD,[Xo("div",kD,[Xo("button",{onClick:b,class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded"},[Zo(Qt(fx),{class:"w-4 h-4"})]),Xo("span",ED,oe(Math.round(100*Qt(r).zoom))+"%",1),Xo("button",{onClick:y,class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded"},[Zo(Qt(hx),{class:"w-4 h-4"})])]),Zo(WI),Xo("button",{onClick:i[25]||(i[25]=e=>{Qt(r).setShowSampleDataModal(!0),h()}),class:"flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors"},[Zo(Qt(Qw),{class:"w-3.5 h-3.5"}),ta(oe(Qt(t)("common.sampleData")),1)]),Xo("button",{onClick:i[26]||(i[26]=e=>Qt(r).setCanvasPreview(!Qt(r).canvasPreview)),class:"flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors"},[Zo(Qt(Nw),{class:"w-3.5 h-3.5"}),ta(oe(Qt(r).canvasPreview?"编辑":"预览"),1)])])]),Xo("div",null,[i[44]||(i[44]=Xo("div",{class:"text-xs text-gray-500 dark:text-gray-400 mb-2 font-medium uppercase tracking-wider"},"导出与打印",-1)),Xo("div",ID,[Xo("button",{onClick:i[27]||(i[27]=e=>{f(),h()}),class:"flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700"},[Zo(Qt(Nw),{class:"w-3.5 h-3.5"}),ta(oe(Qt(t)("editor.preview")),1)]),Xo("button",{onClick:i[28]||(i[28]=e=>{x(),h()}),class:"flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700"},[Zo(Qt(Yw),{class:"w-3.5 h-3.5"}),ta(oe(Qt(t)("editor.print")),1)]),Xo("button",{onClick:i[29]||(i[29]=e=>{g(),h()}),class:"flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700"},[Zo(Qt(Fw),{class:"w-3.5 h-3.5"}),ta(oe(Qt(t)("editor.exportPdf")),1)]),Xo("button",{onClick:i[30]||(i[30]=e=>{v(),h()}),class:"flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700"},[Zo(Qt(Fw),{class:"w-3.5 h-3.5"}),ta(oe(Qt(t)("editor.exportHtml")),1)])])]),Xo("div",TD,[Xo("button",{onClick:i[31]||(i[31]=e=>{Qt(r).setShowHelp(!0),h()}),class:"flex-1 flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700"},[Zo(Qt(Zw),{class:"w-3.5 h-3.5"}),ta(oe(Qt(t)("common.help")),1)]),Xo("button",{onClick:i[32]||(i[32]=e=>{Qt(r).setShowSettings(!0),h()}),class:"flex-1 flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700"},[Zo(Qt($w),{class:"w-3.5 h-3.5"}),ta(oe(Qt(t)("common.settings")),1)])])])])])):na("",!0)])),Zo(iT,{visible:c.value,"onUpdate:visible":i[33]||(i[33]=e=>c.value=e),"html-content":A.value,width:Qt(r).canvasSize.width},null,8,["visible","html-content","width"]),Zo(KM,{show:Qt(r).showHelp,"onUpdate:show":i[34]||(i[34]=e=>Qt(r).setShowHelp(e))},null,8,["show"]),Zo(jL,{show:Qt(r).showSettings,"onUpdate:show":i[35]||(i[35]=e=>Qt(r).setShowSettings(e))},null,8,["show"])],64))}}),MD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const LD=Lt({name:"material-symbols-text-fields",render:function(e,t){return Ro(),jo("svg",MD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M7 20V7H2V4h13v3h-5v13zm9 0v-8h-3V9h9v3h-3v8z"},null,-1)])])}}),DD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const ND=Lt({name:"material-symbols-numbers",render:function(e,t){return Ro(),jo("svg",DD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m6 20l1-4H3l.5-2h4l1-4h-4L5 8h4l1-4h2l-1 4h4l1-4h2l-1 4h4l-.5 2h-4l-1 4h4l-.5 2h-4l-1 4h-2l1-4H9l-1 4zm3.5-6h4l1-4h-4z"},null,-1)])])}}),OD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const FD=Lt({name:"material-symbols-table-chart",render:function(e,t){return Ro(),jo("svg",OD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M3 8V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v3zm2 13q-.825 0-1.412-.587T3 19v-9h4.5v11zm11.5 0V10H21v9q0 .825-.587 1.413T19 21zm-7 0V10h5v11z"},null,-1)])])}}),UD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const zD=Lt({name:"material-symbols-table-edit",render:function(e,t){return Ro(),jo("svg",UD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M3 14V9h8v5zm0-7V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v2zm2 14q-.825 0-1.412-.587T3 19v-3h8v5zm8-7V9h8v2.3q-.95-.425-2.025-.25t-1.875.975L15.125 14zm0 8v-3.075l5.525-5.5q.225-.225.5-.325t.55-.1q.3 0 .575.113t.5.337l.925.925q.2.225.313.5t.112.55t-.1.563t-.325.512l-5.5 5.5zm6.575-5.6l.925-.975l-.925-.925l-.95.95z"},null,-1)])])}}),RD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const QD=Lt({name:"material-symbols-barcode",render:function(e,t){return Ro(),jo("svg",RD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M1 19V5h2v14zm3 0V5h2v14zm3 0V5h1v14zm3 0V5h2v14zm3 0V5h3v14zm4 0V5h1v14zm3 0V5h3v14z"},null,-1)])])}}),HD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const VD=Lt({name:"material-symbols-qr-code",render:function(e,t){return Ro(),jo("svg",HD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M3 11V3h8v8zm2-2h4V5H5zM3 21v-8h8v8zm2-2h4v-4H5zm8-8V3h8v8zm2-2h4V5h-4zm4 12v-2h2v2zm-6-6v-2h2v2zm2 2v-2h2v2zm-2 2v-2h2v2zm2 2v-2h2v2zm2-2v-2h2v2zm0-4v-2h2v2zm2 2v-2h2v2z"},null,-1)])])}}),jD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const GD=Lt({name:"material-symbols-bar-chart",render:function(e,t){return Ro(),jo("svg",jD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M16 20v-7h4v7zm-6 0V4h4v16zm-6 0V9h4v11z"},null,-1)])])}}),WD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const KD=Lt({name:"material-symbols-article",render:function(e,t){return Ro(),jo("svg",WD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm2-4h7v-2H7zm0-4h10v-2H7zm0-4h10V7H7z"},null,-1)])])}}),qD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const YD=Lt({name:"material-symbols-horizontal-rule",render:function(e,t){return Ro(),jo("svg",qD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M4 13v-2h16v2z"},null,-1)])])}}),XD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const ZD=Lt({name:"material-symbols-check-box-outline-blank",render:function(e,t){return Ro(),jo("svg",XD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V5H5z"},null,-1)])])}}),JD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const $D=Lt({name:"material-symbols-radio-button-unchecked",render:function(e,t){return Ro(),jo("svg",JD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M12 22q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4T6.325 6.325T4 12t2.325 5.675T12 20"},null,-1)])])}}),eN={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const tN=Lt({name:"material-symbols-star",render:function(e,t){return Ro(),jo("svg",eN,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m5.825 21l1.625-7.025L2 9.25l7.2-.625L12 2l2.8 6.625l7.2.625l-5.45 4.725L18.175 21L12 17.275z"},null,-1)])])}}),rN={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const nN=Lt({name:"material-symbols-speed",render:function(e,t){return Ro(),jo("svg",rN,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M10.45 15.5q.625.625 1.575.588T13.4 15.4L19 7l-8.4 5.6q-.65.45-.712 1.362t.562 1.538M5.1 20q-.55 0-1.012-.238t-.738-.712q-.65-1.175-1-2.437T2 14q0-2.075.788-3.9t2.137-3.175T8.1 4.788T12 4q2.05 0 3.85.775T19 6.888t2.15 3.125t.825 3.837q.025 1.375-.312 2.688t-1.038 2.512q-.275.475-.737.713T18.874 20z"},null,-1)])])}}),iN={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const oN=Lt({name:"material-symbols-palette",render:function(e,t){return Ro(),jo("svg",iN,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M12 22q-2.05 0-3.875-.788t-3.187-2.15t-2.15-3.187T2 12q0-2.075.813-3.9t2.2-3.175T8.25 2.788T12.2 2q2 0 3.775.688t3.113 1.9t2.125 2.875T22 11.05q0 2.875-1.75 4.413T16 17h-1.85q-.225 0-.312.125t-.088.275q0 .3.375.863t.375 1.287q0 1.25-.687 1.85T12 22m-4.425-9.425Q8 12.15 8 11.5t-.425-1.075T6.5 10t-1.075.425T5 11.5t.425 1.075T6.5 13t1.075-.425m3-4Q11 8.15 11 7.5t-.425-1.075T9.5 6t-1.075.425T8 7.5t.425 1.075T9.5 9t1.075-.425m5 0Q16 8.15 16 7.5t-.425-1.075T14.5 6t-1.075.425T13 7.5t.425 1.075T14.5 9t1.075-.425m3 4Q19 12.15 19 11.5t-.425-1.075T17.5 10t-1.075.425T16 11.5t.425 1.075T17.5 13t1.075-.425"},null,-1)])])}}),aN={class:"w-64 bg-white dark:bg-gray-900 border-r border-gray-200 dark:border-gray-700 flex flex-col h-full z-40"},sN={class:"p-4 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800"},lN={class:"font-semibold text-gray-700 dark:text-gray-200"},uN={class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},cN={class:"flex border-b border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900"},AN={key:0,class:"absolute bottom-0 left-0 w-full h-0.5 bg-blue-600 dark:bg-blue-400"},dN={class:"flex-1 overflow-y-auto"},hN={class:"text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider mb-3 px-1"},pN={class:"grid grid-cols-2 gap-3"},fN=["onDragstart"],gN={class:"text-sm font-medium text-gray-700 dark:text-gray-200 whitespace-nowrap"},vN=["onClick","disabled"],mN=["src"],yN=["src"],bN={key:4,class:"w-3.5 h-3.5 inline-flex items-center justify-center"},wN=Nn({__name:"Sidebar",setup(e){const{t:t}=dh(),r=Wb(),n=nn("modal-container",Ft(null)),i=Ft("standard"),o=Ta(()=>r.customElements),a=Ft(null),s=Ft({}),l=Ft(!1),u=Ft("edit"),c=Ft(null),A=Ft(""),d=Ft({}),h=Ta(()=>{var e,t;return null==(t=null==(e=r.customElementModalFormConfig)?void 0:e[u.value])?void 0:t.fields}),p=Ft(!1),f=Ft(""),g=Ft(null),v=Ft([]),m=e=>{if(!e)return null;return/^[a-z0-9]+(?:-[a-z0-9]+)*:[a-z0-9-]+$/i.test(e)?`https://api.iconify.design/${encodeURIComponent(e)}.svg`:null},y=[{title:"sidebar.general",items:[{type:Nm.TEXT,label:"sidebar.text",icon:LD},{type:Nm.LONG_TEXT,label:"sidebar.longText",icon:KD},{type:Nm.RICH_TEXT,label:"sidebar.richText",icon:KD},{type:Nm.DATE,label:"sidebar.date",icon:KD},{type:Nm.IMAGE,label:"sidebar.image",icon:zw},{type:Nm.PAGE_NUMBER,label:"sidebar.pagination",icon:ND}]},{title:"sidebar.dataCodes",items:[{type:Nm.TABLE,label:"sidebar.table",icon:FD},{type:Nm.CUSTOM_TABLE,label:"sidebar.customTable",icon:zD},{type:Nm.NESTED_TABLE,label:"sidebar.nestedTable",icon:FD},{type:Nm.DATA_CARD,label:"sidebar.dataCard",icon:kk},{type:Nm.PROGRESS,label:"sidebar.progress",icon:nN},{type:Nm.LIST,label:"sidebar.list",icon:kk},{type:Nm.BARCODE,label:"sidebar.barcode",icon:QD},{type:Nm.QRCODE,label:"sidebar.qrcode",icon:VD},{type:Nm.CHART,label:"sidebar.chart",icon:GD}]},{title:"sidebar.shapes",items:[{type:Nm.LINE,label:"sidebar.line",icon:YD},{type:Nm.RECT,label:"sidebar.rect",icon:ZD},{type:Nm.CIRCLE,label:"sidebar.circle",icon:$D},{type:Nm.SIGNATURE,label:"sidebar.signature",icon:tN}]}],b=Ta(()=>a.value&&o.value.find(e=>e.id===a.value)||null),w=e=>{if(!a.value)return;e.composedPath().some(e=>e instanceof Element&&e.classList.contains("sidebar-context-menu"))||(a.value=null)},x=(e,t)=>{var n;const i=null==(n=r.customElementModalFormConfig)?void 0:n[t];if(!i)return{};const o=i.initialValues||{},a=((e,t)=>{var n,i;if(!e)return{};const o=(null==(n=r.customElementDetailCache[e])?void 0:n.ext)||{},a={...(null==(i=r.customElements.find(t=>t.id===e))?void 0:i.ext)||{},...o}.templateModalForm||{},s=o.templateModalForm||{},l={...a[t],...s[t]};if(0===Object.keys(l).length){const e=s.lastMode||a.lastMode;if(e&&(a[e]||s[e]))return{...a[e],...s[e]}}return l})(e.id,t),s={...o,...a,...e.ext};return delete s.templateModalForm,s},_=e=>{if(c.value){let t,n="";if("string"==typeof e)n=e;else{n=e.name;const{name:r,...i}=e;Object.keys(i).length>0&&(t=i)}n&&("edit"===u.value?r.editCustomElement(c.value,n,t):"copy"===u.value&&r.copyCustomElement(c.value,{...t,name:n}))}},C=Ta(()=>[{key:"editElement",actionKey:"editElement",label:t("sidebar.editElement"),iconComponent:oN,disabled:({item:e})=>!jy(e)},{key:"testData",actionKey:"testData",label:t("common.testData"),iconComponent:Qw,hidden:({item:e})=>!(e=>Db(e.element))(e)},{key:"edit",actionKey:"edit",label:t("sidebar.edit"),iconComponent:Sk,disabled:({item:e})=>!jy(e)},{key:"copy",actionKey:"copy",label:t("sidebar.copy"),iconComponent:ox,disabled:({item:e})=>!Wy(e)},{key:"delete",actionKey:"delete",label:t("sidebar.delete"),iconComponent:Ax,danger:!0,disabled:({item:e})=>!Gy(e)}]);function S(e){const t=r.customElementContextMenuConfig,n=((null==t?void 0:t.items)||[]).map(e=>({...e})),i=((e,t,r)=>{if("replace"===r)return t;const n=[...e];return t.forEach(e=>{const t=n.findIndex(t=>t.key===e.key);t>=0?n[t]={...n[t],...e}:n.push(e)}),n})(C.value,n,"replace"===(null==t?void 0:t.mode)?"replace":"append");return i.filter(t=>"function"==typeof t.hidden?!t.hidden({source:"customElement",item:e}):!t.hidden)}const B=(e,t)=>"function"==typeof e.disabled?e.disabled({source:"customElement",item:t}):Boolean(e.disabled),k=(e,n)=>{const i=e||"";"editElement"!==i?"testData"!==i?"edit"!==i?"copy"!==i?"delete"===i&&(async e=>{if(!Gy(e))return void Qm.warning(t("toast.customElementDeleteNotAllowed"));a.value=null,await xh.show(t("sidebar.confirmDelete",{name:e.name}))&&await r.removeCustomElement(e.id)})(n):(e=>{Wy(e)?(a.value=null,u.value="copy",c.value=e.id,A.value=`${e.name} Copy`,d.value=x(e,"copy"),l.value=!0):Qm.warning(t("toast.customElementCopyNotAllowed"))})(n):(e=>{jy(e)?(a.value=null,u.value="edit",c.value=e.id,A.value=e.name,d.value=x(e,"edit"),l.value=!0):Qm.warning(t("toast.customElementReadOnly"))})(n):(async e=>{a.value=null,g.value=e;const t=e.testData||{},r=Nb(e.element,t);v.value=Object.keys(r),f.value=JSON.stringify(r,null,2),p.value=!0})(n):(async e=>{if(jy(e)){if(a.value=null,r.editingCustomElementId!==e.id){if(r.editingCustomElementId&&r.editingCustomElementId!==e.id){const e=r.customElements.find(e=>e.id===r.editingCustomElementId),n=e?e.name:"";if(!(await xh.show(t("sidebar.confirmSwitchEdit",{name:n}))))return;r.cancelCustomElementEdit()}r.startCustomElementEdit(e.id)}}else Qm.warning(t("toast.customElementReadOnly"))})(n)},E=()=>{var e;const n=g.value,i=new Set(v.value||[]);if(g.value=null,v.value=[],!n)return;let o=null;try{const t=(null==(e=f.value)?void 0:e.trim())||"{}",r=JSON.parse(t);r&&"object"==typeof r&&!Array.isArray(r)&&(o=r)}catch{o=null}if(!o)return void Qm.error(t("common.invalidJson"));if(i.size>0){const e=Object.keys(o);if(e.length!==i.size||e.some(e=>!i.has(e)))return void Qm.error(t("common.testDataKeyChanged"))}const a=Nb(n.element,n.testData||{}),s={};Object.keys(a).forEach(e=>{(0===i.size||i.has(e))&&(s[e]=Object.prototype.hasOwnProperty.call(o,e)?o[e]:a[e])}),n.testData=s,r.saveCustomElements()};return ei(()=>{window.addEventListener("mousedown",w)}),ii(()=>{window.removeEventListener("mousedown",w)}),(e,o)=>(Ro(),jo("aside",aN,[Xo("div",sN,[Xo("h2",lN,oe(Qt(t)("sidebar.elements")),1),Xo("p",uN,oe(Qt(t)("sidebar.dragToCanvas")),1)]),Xo("div",cN,[Xo("button",{onClick:o[0]||(o[0]=e=>i.value="standard"),class:X(["flex-1 py-3 text-sm font-medium transition-colors relative","standard"===i.value?"text-blue-600 dark:text-blue-400":"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-800"])},[ta(oe(Qt(t)("sidebar.standard"))+" ",1),"standard"===i.value?(Ro(),jo("div",AN)):na("",!0)],2)]),Xo("div",dN,["standard"===i.value?(Ro(),jo(Do,{key:0},pi(y,e=>Xo("div",{key:e.title,class:"p-4 border-b border-gray-100 dark:border-gray-800 last:border-0"},[Xo("h3",hN,oe(Qt(t)(e.title)),1),Xo("div",pN,[(Ro(!0),jo(Do,null,pi(e.items,e=>(Ro(),jo("div",{key:e.type,class:"flex flex-col items-center justify-center p-4 border border-gray-200 dark:border-gray-700 rounded-lg theme-hover-border theme-hover-bg cursor-move transition-all dark:bg-gray-800 dark:hover:bg-gray-700",draggable:"true",onDragstart:t=>{return r=t,n=e.type,void(r.dataTransfer&&(r.dataTransfer.setData("application/json",JSON.stringify({type:n})),r.dataTransfer.effectAllowed="copy"));var r,n}},[(Ro(),Go(Ai(e.icon),{class:"w-8 h-8 text-gray-600 dark:text-gray-300 mb-2"})),Xo("span",gN,oe(Qt(t)(e.label)),1)],40,fN))),128))])])),64)):na("",!0)]),(Ro(),Go(yn,{to:Qt(n)||"body"},[a.value?(Ro(),jo("div",{key:0,class:"fixed inset-0 z-[2000] pointer-events-auto",onClick:o[2]||(o[2]=e=>a.value=null)},[Xo("div",{class:"sidebar-context-menu absolute w-40 bg-white dark:bg-gray-800 rounded shadow-lg border border-gray-100 dark:border-gray-700 z-[2001] py-1 pointer-events-auto",style:G(s.value),onClick:o[1]||(o[1]=zs(()=>{},["stop"]))},[b.value?(Ro(!0),jo(Do,{key:0},pi(S(b.value),e=>(Ro(),jo("button",{key:e.key,onClick:t=>(async(e,t)=>{if(!B(e,t)){a.value=null,k(e.actionKey,t);try{"function"==typeof e.onClick&&await e.onClick({source:"customElement",item:t}),e.eventName&&r.emitContextMenuEvent(e.eventName,{source:"customElement",actionKey:e.actionKey||null,key:e.key,item:t})}catch(n){}}})(e,b.value),disabled:B(e,b.value),class:X(["w-full text-left px-3 py-1.5 text-xs flex items-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",e.danger?"text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/30":"text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700"])},[e.iconComponent?(Ro(),Go(Ai(e.iconComponent),{key:0,class:"w-3.5 h-3.5"})):e.iconImage?(Ro(),jo("img",{key:1,src:e.iconImage,class:"w-3.5 h-3.5 object-contain"},null,8,mN)):e.iconClass?(Ro(),jo("i",{key:2,class:X(e.iconClass)},null,2)):m(e.icon)?(Ro(),jo("img",{key:3,src:m(e.icon),class:"w-3.5 h-3.5 object-contain"},null,8,yN)):e.icon?(Ro(),jo("span",bN,oe(e.icon),1)):na("",!0),Xo("span",null,oe(e.label),1)],10,vN))),128)):na("",!0)],4)])):na("",!0)],8,["to"])),Zo(Kk,{show:l.value,"initial-value":A.value,"initial-values":d.value,fields:h.value,title:"edit"===u.value?Qt(t)("sidebar.editModalTitle"):Qt(t)("common.copy"),placeholder:Qt(t)("sidebar.enterNamePlaceholder"),onClose:o[3]||(o[3]=e=>l.value=!1),onSave:_},null,8,["show","initial-value","initial-values","fields","title","placeholder"]),Zo(rE,{visible:p.value,"onUpdate:visible":o[4]||(o[4]=e=>p.value=e),title:Qt(t)("common.testData"),value:f.value,language:"json","onUpdate:value":o[5]||(o[5]=e=>f.value=e),onClose:E},null,8,["visible","title","value"])]))}}),xN={key:0,class:"flex items-center justify-between"},_N={class:"text-sm text-gray-700 dark:text-gray-200 font-medium"},CN=["disabled"],SN={class:"sr-only"},BN={key:1},kN={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},EN=["value","disabled","placeholder"],IN=["type","value","disabled","placeholder","min","max","step"],TN=Nn({__name:"PropertyInput",props:{label:{},value:{type:[String,Number,Boolean]},type:{},placeholder:{},min:{},max:{},step:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=t,n=e=>{const t=e.target;r("update:value",t.value)};return(t,r)=>"switch"===e.type?(Ro(),jo("div",xN,[Xo("label",_N,oe(e.label),1),Xo("button",{type:"button",disabled:e.disabled,onClick:r[0]||(r[0]=r=>t.$emit("update:value",!e.value)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed",e.value?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[Xo("span",SN,"Toggle "+oe(e.label),1),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",e.value?"translate-x-5":"translate-x-0"])},null,2)],10,CN)])):(Ro(),jo("div",BN,[Xo("label",kN,oe(e.label),1),"textarea"===e.type?(Ro(),jo("textarea",{key:0,value:void 0===e.value||null===e.value?"":String(e.value),disabled:e.disabled,placeholder:e.placeholder,onInput:n,class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none h-24 resize-y disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},null,40,EN)):(Ro(),jo("input",{key:1,type:e.type||"text",value:void 0===e.value||null===e.value?"":String(e.value),disabled:e.disabled,placeholder:e.placeholder,min:e.min,max:e.max,step:e.step,onChange:n,class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},null,40,IN))]))}}),PN={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},MN=["value","disabled"],LN=["value"],DN=Nn({__name:"PropertySelect",props:{label:{},value:{type:[String,Number,Boolean]},options:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,i=e=>{const t=e.target.value,i=r.options.find(e=>String(e.value)===t);n("update:value",i?i.value:t)};return(t,r)=>(Ro(),jo("div",null,[Xo("label",PN,oe(e.label),1),Xo("select",{value:e.value,disabled:e.disabled,onChange:i,class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},[(Ro(!0),jo(Do,null,pi(e.options,e=>(Ro(),jo("option",{key:String(e.value),value:e.value,class:"dark:bg-gray-800 dark:text-gray-200"},oe(e.label),9,LN))),128))],40,MN)]))}}),NN={class:"flex items-center justify-between"},ON={class:"text-xs text-gray-500 dark:text-gray-400"},FN={class:"flex items-center gap-2"},UN={key:0,class:"absolute inset-0 flex items-center justify-center"},zN=Nn({__name:"PropertyColor",props:{label:{},value:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=t;return(t,n)=>(Ro(),jo("div",NN,[Xo("label",ON,oe(e.label),1),Xo("div",FN,[Zo(zB,{"model-value":e.value,"onUpdate:modelValue":n[0]||(n[0]=e=>r("update:value",e)),disabled:e.disabled,"allow-transparent":!0},{trigger:Jr(({color:t,open:r})=>[Xo("div",{class:X(["w-8 h-6 rounded border border-gray-300 dark:border-gray-600 cursor-pointer relative overflow-hidden hover:border-blue-500 dark:hover:border-blue-400 transition-colors",{"ring-2 ring-blue-500 dark:ring-blue-400 ring-offset-1 dark:ring-offset-gray-900":r,"opacity-50 cursor-not-allowed":e.disabled}])},[n[2]||(n[2]=Xo("div",{class:"absolute inset-0 bg-[url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ+5wNisxL//8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII=')] opacity-50"},null,-1)),Xo("div",{class:"absolute inset-0",style:G({backgroundColor:"transparent"===t?"transparent":t})},null,4),"transparent"===t?(Ro(),jo("div",UN,[...n[1]||(n[1]=[Xo("div",{class:"w-full h-[1px] bg-red-500 rotate-45"},null,-1)])])):na("",!0)],2)]),_:1},8,["model-value","disabled"])])]))}}),RN={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const QN=Lt({name:"material-symbols-open-in-full",render:function(e,t){return Ro(),jo("svg",RN,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M3 21v-8h2v4.6L17.6 5H13V3h8v8h-2V6.4L6.4 19H11v2z"},null,-1)])])}}),HN={class:"flex flex-col gap-1"},VN={class:"flex justify-between items-center"},jN={class:"text-xs text-gray-500 font-medium"},GN={class:"flex items-center gap-2"},WN={class:"text-[10px] text-gray-400 uppercase"},KN=Nn({__name:"PropertyCode",props:{label:{},value:{},language:{},disabled:{type:Boolean},height:{}},emits:["update:value"],setup(e,{emit:t}){const r=jn(()=>Promise.resolve().then(()=>XH).then(e=>e.Editor)),n=t;Wb();const{isDark:i}=ew(),o=Ft(!1),a=Ta(()=>({minimap:{enabled:!1},lineNumbers:"on",glyphMargin:!1,folding:!0,wordWrap:"on",automaticLayout:!0,scrollBeyondLastLine:!1,theme:i.value?"vs-dark":"vs",fontSize:12,fontFamily:'Consolas, "Courier New", monospace',renderLineHighlight:"none",overviewRulerLanes:0,hideCursorInOverviewRuler:!0,contextmenu:!1})),s=e=>{n("update:value",e||"")},l=()=>{o.value=!o.value},u=()=>{o.value=!1},c=e=>{n("update:value",e)};return(t,n)=>(Ro(),jo("div",HN,[Xo("div",VN,[Xo("label",jN,oe(e.label),1),Xo("div",GN,[Xo("span",WN,oe(e.language),1),Xo("button",{onClick:l,class:"text-gray-400 hover:text-blue-600 transition-colors p-0.5 rounded hover:bg-gray-100",title:"Expand Editor"},[Zo(Qt(QN),{class:"w-3.5 h-3.5"})])])]),Xo("div",{class:"border border-gray-300 rounded overflow-hidden focus-within:border-blue-500 focus-within:ring-1 focus-within:ring-blue-500 resize-y relative group",style:G({height:`${e.height||200}px`,minHeight:"100px",maxHeight:"600px"})},[Zo(Qt(r),{value:e.value,language:e.language,options:{...a.value,readOnly:e.disabled},"onUpdate:value":s,class:"w-full h-full"},null,8,["value","language","options"]),n[1]||(n[1]=Xo("div",{class:"absolute bottom-0 right-0 w-3 h-3 cursor-ns-resize pointer-events-none bg-gradient-to-tl from-gray-300 to-transparent opacity-50 group-hover:opacity-100"},null,-1))],4),Zo(rE,{visible:o.value,"onUpdate:visible":n[0]||(n[0]=e=>o.value=e),title:e.label,value:e.value,language:e.language,"read-only":e.disabled,"onUpdate:value":c,onClose:u},null,8,["visible","title","value","language","read-only"])]))}}),qN=zC(KN,[["__scopeId","data-v-e19d1803"]]),YN={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},XN={class:"space-y-2"},ZN=["value","disabled","placeholder"],JN={class:"flex flex-col gap-1"},$N=["disabled"],eO={class:"text-[10px] text-gray-400 dark:text-gray-500 text-center"},tO={key:0,class:"text-xs text-red-500 mt-1"},rO=Nn({__name:"PropertyImage",props:{label:{},value:{},disabled:{type:Boolean},placeholder:{}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Ft(null),a=Ft(""),s=()=>{var e;r.disabled||null==(e=o.value)||e.click()},l=e=>{var t;const r=e.target,o=null==(t=r.files)?void 0:t[0];if(!o)return;if(a.value="",o.size>2097152)return a.value=i("properties.image.sizeError"),void(r.value="");const s=new FileReader;s.onload=e=>{var t;const r=null==(t=e.target)?void 0:t.result;n("update:value",r)},s.onerror=()=>{a.value=i("properties.image.readError")},s.readAsDataURL(o),r.value=""},u=e=>{const t=e.target;n("update:value",t.value)};return(t,r)=>(Ro(),jo("div",null,[Xo("label",YN,oe(e.label),1),Xo("div",XN,[Xo("input",{type:"text",value:e.value||"",disabled:e.disabled,placeholder:e.placeholder||Qt(i)("properties.image.urlPlaceholder"),onInput:u,class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},null,40,ZN),Xo("div",JN,[Xo("button",{type:"button",onClick:s,disabled:e.disabled,class:"w-full py-1.5 px-3 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 border border-gray-300 dark:border-gray-700 rounded hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2 transition-colors"},[r[0]||(r[0]=Xo("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12"})],-1)),ta(" "+oe(Qt(i)("properties.image.uploadBtn")),1)],8,$N),Xo("span",eO,oe(Qt(i)("properties.image.uploadTip")),1)]),a.value?(Ro(),jo("p",tO,oe(a.value),1)):na("",!0),Xo("input",{ref_key:"fileInput",ref:o,type:"file",accept:"image/*",class:"hidden",onChange:l},null,544)])]))}}),nO={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},iO={class:"relative"},oO=["disabled"],aO={key:0,class:"truncate flex-1"},sO={key:1,class:"text-gray-400 dark:text-gray-500 truncate flex-1"},lO={key:0,class:"absolute top-full left-0 right-0 mt-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-[3000]"},uO={class:"p-2 border-b border-gray-100 dark:border-gray-700 sticky top-0 bg-white dark:bg-gray-800"},cO={class:"relative"},AO=["value","placeholder"],dO={class:"max-h-40 overflow-y-auto custom-scrollbar"},hO={key:0,class:"px-3 py-4 text-xs text-gray-400 dark:text-gray-500 text-center"},pO=["onMousedown"],fO={class:"truncate text-gray-700 dark:text-gray-200"},gO={key:0,class:"truncate text-gray-400 dark:text-gray-500 text-xs ml-auto"},vO=Nn({__name:"PropertyFieldSelect",props:{label:{},value:{},placeholder:{},disabled:{type:Boolean},filter:{}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Wb(),a=Ft(""),s=Ft(null),l=Ta(()=>{const e=[],t=e=>{if(null==e)return!1;if("number"==typeof e)return!isNaN(e);if("string"==typeof e){if(""===e.trim())return!1;const t=Number(e);return!isNaN(t)&&isFinite(t)}return!1},n=e=>{const r=o.testData||{},n=Lb(e);let i=Ub(r,n);if(null==i){const e=n.split(".");let t=r;for(const r of e){if(!t||"object"!=typeof t||!(r in t))break;t=t[r]}i=t}return null!=i?Array.isArray(i)?{type:"array",isNumeric:!1}:{type:typeof i,isNumeric:t(i)}:{type:"unknown",isNumeric:!1}},i=(t,a)=>{if((e=>"array"===r.filter?!!e.isArray:"text"===r.filter||"number"===r.filter?!e.isArray:"numeric"!==r.filter||!e.isArray)(t)){const s=n(t.id);if(("numeric"===r.filter||"number"===r.filter)&&!s.isNumeric){if(t.children&&t.children.length>0)for(const e of t.children)i(e,a);return}const l="array"===r.filter?(e=>{const t=o.testData||{},r=Lb(e);let n=Ub(t,r);if(!n||!Array.isArray(n)||0===n.length){const e=r.split(".");let i=t;for(const t of e){if(!i||"object"!=typeof i||!(t in i))break;i=i[t]}Array.isArray(i)&&i.length>0&&(n=i)}if(Array.isArray(n)&&n.length>0){const e=n[0];if(e&&"object"==typeof e){const t=Object.keys(e);if(t.length>0){const r=e[t[0]];if(null!=r)return"object"==typeof r?JSON.stringify(r).slice(0,20)+"...":String(r).slice(0,15)}}}return""})(t.id):"",u="number"===r.filter||"numeric"===r.filter?n(t.id).type:void 0;e.push({path:t.id,label:t.label,depth:a,isArray:!!t.isArray,key:t.id,...l?{sampleValue:l}:{},...u?{valueType:u}:{}})}if(t.children&&t.children.length>0)for(const e of t.children)i(e,a+1)},a=o.availableVariables||[];for(const r of a)i(r,0);return e}),u=Ta(()=>{if(!a.value.trim())return l.value;const e=a.value.toLowerCase();return l.value.filter(t=>t.label.toLowerCase().includes(e)||t.path.toLowerCase().includes(e))}),c=Ta(()=>r.value?Lb(r.value):"");Ta(()=>{if(!c.value)return"";const e=l.value.find(e=>e.path===c.value);return e?e.label:c.value});const A=Ft(!1),d=()=>{n("update:value",""),a.value=""},h=()=>{r.disabled||(A.value=!A.value,A.value&&(a.value="",setTimeout(()=>{var e;null==(e=s.value)||e.focus()},50)))},p=e=>{const t=e.relatedTarget;t&&e.currentTarget.contains(t)||(A.value=!1,a.value="")},f=e=>{a.value=e.target.value};return(t,r)=>(Ro(),jo("div",{class:"relative",onFocusout:p},[Xo("label",nO,oe(e.label),1),Xo("div",iO,[Xo("button",{type:"button",disabled:e.disabled,onClick:h,class:"w-full flex items-center justify-between px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 disabled:cursor-not-allowed bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 text-left min-h-[30px]"},[c.value?(Ro(),jo("span",aO,oe(c.value),1)):(Ro(),jo("span",sO,oe(e.placeholder||Qt(i)("properties.label.selectField")),1)),c.value?(Ro(),jo("span",{key:2,onClick:zs(d,["stop"]),class:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 ml-1 flex-shrink-0 cursor-pointer"},"×")):na("",!0),r[0]||(r[0]=Xo("svg",{class:"w-3.5 h-3.5 text-gray-400 ml-1 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))],8,oO),A.value?(Ro(),jo("div",lO,[Xo("div",uO,[Xo("div",cO,[r[1]||(r[1]=Xo("svg",{class:"absolute left-2 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),Xo("input",{ref_key:"searchInputRef",ref:s,type:"text",value:a.value,onInput:f,placeholder:Qt(i)("properties.label.searchField"),class:"w-full pl-8 pr-3 py-1.5 text-xs border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 placeholder-gray-400 dark:placeholder-gray-500"},null,40,AO)])]),Xo("div",dO,[0===u.value.length?(Ro(),jo("div",hO,oe((a.value,Qt(i)("common.noData"))),1)):na("",!0),(Ro(!0),jo(Do,null,pi(u.value,e=>(Ro(),jo("div",{key:e.key,onMousedown:zs(t=>{return r=e.path,n("update:value",r),A.value=!1,void(a.value="");var r},["prevent"]),class:X(["flex items-center gap-1.5 px-3 py-1.5 text-sm cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",{"bg-blue-50 dark:bg-blue-900/20 text-blue-600 dark:text-blue-400":c.value===e.path}])},[Xo("span",{style:G({width:16*e.depth+"px"}),class:"flex-shrink-0"},null,4),Xo("span",{class:X(["flex-shrink-0 text-[10px] px-1 py-0.5 rounded",e.isArray?"text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20":"text-gray-500 dark:text-gray-400 bg-gray-100 dark:bg-gray-700"])},oe(e.isArray?"[]":"T"),3),Xo("span",fO,oe(e.label),1),e.sampleValue?(Ro(),jo("span",gO," ["+oe(e.sampleValue)+"] ",1)):na("",!0)],42,pO))),128))])])):na("",!0)])],32))}}),mO=zC(vO,[["__scopeId","data-v-3565feb2"]]),yO={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},bO={key:0,class:"text-xs text-gray-400 dark:text-gray-500 py-2"},wO={key:1,class:"max-h-40 overflow-y-auto space-y-0.5 custom-scrollbar border border-gray-200 dark:border-gray-700 rounded p-1.5 bg-white dark:bg-gray-800"},xO=["checked","disabled","onChange"],_O={class:"text-gray-700 dark:text-gray-200 truncate"},CO=zC(Nn({__name:"PropertyColumnPicker",props:{label:{},fields:{},value:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t;return(t,i)=>(Ro(),jo("div",null,[Xo("label",yO,oe(e.label),1),e.fields&&0!==e.fields.length?(Ro(),jo("div",wO,[(Ro(!0),jo(Do,null,pi(e.fields,t=>(Ro(),jo("label",{key:t,class:X(["flex items-center gap-2 px-2 py-1 rounded hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer select-none text-sm",{"opacity-50":e.disabled}])},[Xo("input",{type:"checkbox",checked:new Set(r.value||[]).has(t),disabled:e.disabled,onChange:e=>(e=>{const t=[...r.value||[]],i=t.indexOf(e);i>=0?t.splice(i,1):t.push(e),n("update:value",t)})(t),class:"w-3.5 h-3.5 rounded border-gray-300 dark:border-gray-600 text-blue-600 focus:ring-blue-500 cursor-pointer"},null,40,xO),Xo("span",_O,oe(t),1)],2))),128))])):(Ro(),jo("div",bO,oe(t.$t("common.noData")),1))]))}}),[["__scopeId","data-v-1e890fd6"]]),SO={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},BO={class:"relative"},kO=["disabled"],EO={key:0,class:"truncate flex-1"},IO={key:1,class:"text-gray-400 dark:text-gray-500 truncate flex-1"},TO={key:0,class:"absolute top-full left-0 right-0 mt-1 max-h-48 overflow-y-auto bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-[3000] custom-scrollbar"},PO={key:0,class:"px-3 py-2 text-xs text-gray-400 dark:text-gray-500 text-center"},MO=["onMousedown"],LO={class:"truncate text-gray-700 dark:text-gray-200"},DO=Nn({__name:"PropertyChartDataSelect",props:{label:{},value:{},placeholder:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Wb(),a=Ta(()=>{const e=[],t=o.testData;if(!t||"object"!=typeof t)return e;const r=e=>Array.isArray(e)?"array":typeof e;return((t,n,i)=>{for(const[o,a]of Object.entries(t)){const t=o,n=r(a);(Array.isArray(a)&&a.length>0||null!=a)&&e.push({path:t,label:o,depth:i,key:t,type:n})}})(t,0,0),e}),s=Ta(()=>r.value?Lb(r.value):""),l=Ft(!1),u=()=>{n("update:value","")},c=()=>{r.disabled||(l.value=!l.value)},A=e=>{const t=e.relatedTarget;t&&e.currentTarget.contains(t)||(l.value=!1)};return(t,r)=>(Ro(),jo("div",{class:"relative",onFocusout:A},[Xo("label",SO,oe(e.label),1),Xo("div",BO,[Xo("button",{type:"button",disabled:e.disabled,onClick:c,class:"w-full flex items-center justify-between px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 disabled:cursor-not-allowed bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 text-left min-h-[30px]"},[s.value?(Ro(),jo("span",EO,oe(s.value),1)):(Ro(),jo("span",IO,oe(e.placeholder||Qt(i)("properties.label.selectDataSource")),1)),s.value?(Ro(),jo("span",{key:2,onClick:zs(u,["stop"]),class:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 ml-1 flex-shrink-0 cursor-pointer"},"×")):na("",!0),r[0]||(r[0]=Xo("svg",{class:"w-3.5 h-3.5 text-gray-400 ml-1 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))],8,kO),l.value?(Ro(),jo("div",TO,[0===a.value.length?(Ro(),jo("div",PO,oe(Qt(i)("common.noData")),1)):na("",!0),(Ro(!0),jo(Do,null,pi(a.value,e=>{var t;return Ro(),jo("div",{key:e.key,onMousedown:zs(t=>{return r=e.path,n("update:value",r),void(l.value=!1);var r},["prevent"]),class:X(["flex items-center gap-1.5 px-3 py-1.5 text-sm cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",{"bg-blue-50 dark:bg-blue-900/20 text-blue-600 dark:text-blue-400":s.value===e.path}])},[Xo("span",{style:G({width:16*e.depth+"px"}),class:"flex-shrink-0"},null,4),Xo("span",{class:X(["flex-shrink-0 text-[10px] px-1 py-0.5 rounded","array"===e.type?"text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20":"text-gray-500 dark:text-gray-400 bg-gray-100 dark:bg-gray-700"])},oe("array"===e.type?"[]":(null==(t=e.type)?void 0:t.slice(0,3))||"val"),3),Xo("span",LO,oe(e.label),1)],42,MO)}),128))])):na("",!0)])],32))}}),NO=zC(DO,[["__scopeId","data-v-14b424bd"]]),OO={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},FO={class:"relative"},UO=["disabled"],zO={key:0,class:"truncate flex-1"},RO={key:1,class:"text-gray-400 dark:text-gray-500 truncate flex-1"},QO={key:3,class:"w-3.5 h-3.5 text-gray-400 ml-1 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},HO={key:0,class:"absolute top-full left-0 right-0 mt-1 max-h-48 overflow-y-auto bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-[3000] custom-scrollbar"},VO={key:0,class:"px-3 py-2 text-xs text-gray-400 dark:text-gray-500 text-center"},jO={key:1,class:"px-3 py-2 text-xs text-gray-400 dark:text-gray-500 text-center"},GO=["onMousedown"],WO={class:"truncate text-gray-700 dark:text-gray-200"},KO=Nn({__name:"PropertyChartFieldSelect",props:{label:{},value:{},placeholder:{},disabled:{type:Boolean},dataVariable:{}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Wb(),a=Ta(()=>{const e=[];if(!r.dataVariable)return e;const t=Lb(r.dataVariable),n=o.testData;if(!n||"object"!=typeof n)return e;let i=Ub(n,t);if(!Array.isArray(i)){const e=t.split(".");let r=n;for(const t of e){if(!r||"object"!=typeof r||!(t in r))break;r=r[t]}Array.isArray(r)&&(i=r)}if(!Array.isArray(i)||0===i.length)return e;const a=i[0];if(!a||"object"!=typeof a)return e;return((t,r,n)=>{for(const[i,o]of Object.entries(t)){const t=i,r=Fb(o);"object"!==r&&"array"!==r&&e.push({path:t,label:i,depth:n,type:r,key:t})}})(a,0,0),e}),s=Ta(()=>r.value?r.value:""),l=Ft(!1),u=()=>{n("update:value","")},c=()=>{r.disabled||r.dataVariable&&(l.value=!l.value)},A=e=>{const t=e.relatedTarget;t&&e.currentTarget.contains(t)||(l.value=!1)};return an(()=>r.dataVariable,async(e,t)=>{if(r.value){a.value.some(e=>e.path===r.value)||n("update:value","")}},{immediate:!0}),an(()=>o.testData,()=>{if(r.value){a.value.some(e=>e.path===r.value)||n("update:value","")}},{deep:!0}),(t,r)=>(Ro(),jo("div",{class:"relative",onFocusout:A},[Xo("label",OO,oe(e.label),1),Xo("div",FO,[Xo("button",{type:"button",disabled:e.disabled||!e.dataVariable,onClick:c,class:X(["w-full flex items-center justify-between px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 disabled:cursor-not-allowed bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 text-left min-h-[30px]",{"border-yellow-400 dark:border-yellow-500":e.dataVariable&&!s.value}])},[s.value?(Ro(),jo("span",zO,oe(s.value),1)):(Ro(),jo("span",RO,oe(e.dataVariable?e.placeholder||Qt(i)("properties.label.selectField"):Qt(i)("properties.label.selectDataSourceFirst")),1)),s.value&&!e.disabled?(Ro(),jo("span",{key:2,onClick:zs(u,["stop"]),class:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 ml-1 flex-shrink-0 cursor-pointer"},"×")):na("",!0),e.dataVariable?(Ro(),jo("svg",QO,[...r[0]||(r[0]=[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])])):na("",!0)],10,UO)]),l.value?(Ro(),jo("div",HO,[e.dataVariable?0===a.value.length?(Ro(),jo("div",jO,oe(Qt(i)("common.noData")),1)):(Ro(!0),jo(Do,{key:2},pi(a.value,e=>(Ro(),jo("div",{key:e.key,onMousedown:zs(t=>{return r=e.path,n("update:value",r),void(l.value=!1);var r},["prevent"]),class:X(["flex items-center gap-1.5 px-3 py-1.5 text-sm cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",{"bg-blue-50 dark:bg-blue-900/20 text-blue-600 dark:text-blue-400":s.value===e.path}])},[Xo("span",{style:G({width:16*e.depth+"px"}),class:"flex-shrink-0"},null,4),Xo("span",{class:X(["flex-shrink-0 text-[10px] px-1 py-0.5 rounded",{"text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20":"string"===e.type,"text-green-600 dark:text-green-400 bg-green-50 dark:bg-green-900/20":"number"===e.type,"text-orange-600 dark:text-orange-400 bg-orange-50 dark:bg-orange-900/20":"boolean"===e.type}])},oe("string"===e.type?"T":"number"===e.type?"#":"?"),3),Xo("span",WO,oe(e.label),1)],42,GO))),128)):(Ro(),jo("div",VO,oe(Qt(i)("properties.label.selectDataSourceFirst")),1))])):na("",!0)],32))}}),qO=zC(KO,[["__scopeId","data-v-9d2cf375"]]),YO={class:"space-y-2"},XO={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1 font-medium"},ZO={class:"flex items-center gap-1 p-2 border border-gray-300 dark:border-gray-600 rounded-t bg-gray-50 dark:bg-gray-800"},JO=["disabled"],$O=["disabled"],eF=["disabled"],tF=["disabled"],rF=["disabled"],nF=["disabled"],iF=["disabled"],oF={key:0,class:"min-h-[120px] max-h-[200px] overflow-auto p-3 border border-gray-300 dark:border-gray-600 rounded-b bg-white dark:bg-gray-800"},aF=["innerHTML"],sF={key:1,class:"text-gray-400 text-sm"},lF=["placeholder","disabled"],uF=Nn({__name:"PropertyRichText",props:{label:{},value:{},placeholder:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh();Wb();const o=Ft(r.value||""),a=Ft(!1);an(()=>r.value,e=>{o.value=e||""});const s=Ta(()=>{if(!o.value)return"";try{return(new DOMParser).parseFromString(o.value,"text/html").body.innerHTML}catch{return o.value}}),l=e=>{o.value=e,n("update:value",e)},u=()=>{const e=window.getSelection();if(e&&e.rangeCount>0){const t=e.getRangeAt(0),r=t.toString();if(r){const e=`<strong>${r}</strong>`;t.deleteContents(),t.insertNode(document.createTextNode(e)),l(o.value+e)}else l(o.value+"<strong>选中文本</strong>")}else l(o.value+"<strong>加粗文本</strong>")},c=()=>{l(o.value+"<em>斜体文本</em>")},A=()=>{l(o.value+"<u>下划线文本</u>")},d=()=>{l(o.value+"<ul><li>列表项 1</li><li>列表项 2</li></ul>")},h=()=>{l(o.value+"<ol><li>列表项 1</li><li>列表项 2</li></ol>")},p=()=>{l(o.value+"<p>段落文本</p>")};return(t,r)=>(Ro(),jo("div",YO,[Xo("label",XO,oe(e.label),1),Xo("div",ZO,[Xo("button",{onClick:u,disabled:e.disabled,class:"px-2 py-1 text-sm font-bold hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-50",title:"加粗"}," B ",8,JO),Xo("button",{onClick:c,disabled:e.disabled,class:"px-2 py-1 text-sm italic hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-50",title:"斜体"}," I ",8,$O),Xo("button",{onClick:A,disabled:e.disabled,class:"px-2 py-1 text-sm underline hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-50",title:"下划线"}," U ",8,eF),r[3]||(r[3]=Xo("div",{class:"w-px h-5 bg-gray-300 dark:bg-gray-600 mx-1"},null,-1)),Xo("button",{onClick:d,disabled:e.disabled,class:"px-2 py-1 text-sm hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-50",title:"无序列表"}," • ",8,tF),Xo("button",{onClick:h,disabled:e.disabled,class:"px-2 py-1 text-sm hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-50",title:"有序列表"}," 1. ",8,rF),Xo("button",{onClick:p,disabled:e.disabled,class:"px-2 py-1 text-sm hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-50",title:"段落"}," P ",8,nF),r[4]||(r[4]=Xo("div",{class:"flex-1"},null,-1)),Xo("button",{onClick:r[0]||(r[0]=e=>a.value=!a.value),disabled:e.disabled,class:X(["px-2 py-1 text-xs hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-50",a.value?"bg-blue-100 dark:bg-blue-900 text-blue-600":""])},oe(a.value?"编辑":"预览"),11,iF)]),a.value?(Ro(),jo("div",oF,[s.value?(Ro(),jo("div",{key:0,class:"prose prose-sm dark:prose-invert max-w-none",innerHTML:s.value},null,8,aF)):(Ro(),jo("div",sF,oe(Qt(i)("properties.label.richTextPlaceholder")),1))])):en((Ro(),jo("textarea",{key:1,"onUpdate:modelValue":r[1]||(r[1]=e=>o.value=e),onInput:r[2]||(r[2]=e=>l(o.value)),placeholder:e.placeholder,disabled:e.disabled,class:"w-full px-3 py-2 text-sm border border-gray-300 dark:border-gray-600 rounded-b focus:border-blue-500 outline-none h-32 resize-y font-mono disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},null,40,lF)),[[Ms,o.value]])]))}}),cF=zC(uF,[["__scopeId","data-v-89540a2c"]]),AF={class:"space-y-3"},dF={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1 font-medium"},hF={class:"space-y-2"},pF={class:"flex-1 min-w-0"},fF={class:"block text-[10px] text-gray-400 mb-1"},gF=["value","onInput","disabled"],vF={class:"flex-1 min-w-0"},mF={class:"block text-[10px] text-gray-400 mb-1"},yF=["value","onInput","disabled"],bF={class:"w-16"},wF={class:"block text-[10px] text-gray-400 mb-1"},xF=["value","onInput","disabled"],_F={class:"flex flex-col gap-1"},CF=["onClick","disabled"],SF=["onClick","disabled"],BF=["onClick","disabled"],kF=["disabled"],EF=Nn({__name:"PropertyNestedColumns",props:{label:{},value:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh();Wb();const o=Ft([]);an(()=>r.value,e=>{o.value=e&&Array.isArray(e)?[...e]:[]},{immediate:!0,deep:!0});const a=()=>{o.value.push({field:`field${o.value.length+1}`,header:`表头${o.value.length+1}`,width:100}),l()},s=(e,t,r)=>{o.value[e]&&(o.value[e][t]=r,l())},l=()=>{n("update:value",[...o.value])},u=(e,t)=>{const r="up"===t?e-1:e+1;if(r<0||r>=o.value.length)return;const n=o.value[e];o.value[e]=o.value[r],o.value[r]=n,l()};return(t,r)=>(Ro(),jo("div",AF,[Xo("label",dF,oe(e.label),1),Xo("div",hF,[(Ro(!0),jo(Do,null,pi(o.value,(t,n)=>(Ro(),jo("div",{key:n,class:"flex items-center gap-2 p-2 bg-gray-50 dark:bg-gray-800 rounded-lg"},[Xo("div",pF,[Xo("label",fF,oe(Qt(i)("properties.label.fieldKey")),1),Xo("input",{type:"text",value:t.field,onInput:e=>s(n,"field",e.target.value),disabled:e.disabled,class:"w-full px-2 py-1 text-xs border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 disabled:opacity-50",placeholder:"field"},null,40,gF)]),Xo("div",vF,[Xo("label",mF,oe(Qt(i)("properties.label.headerText")),1),Xo("input",{type:"text",value:t.header,onInput:e=>s(n,"header",e.target.value),disabled:e.disabled,class:"w-full px-2 py-1 text-xs border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 disabled:opacity-50",placeholder:"表头"},null,40,yF)]),Xo("div",bF,[Xo("label",wF,oe(Qt(i)("properties.label.width")),1),Xo("input",{type:"number",value:t.width,onInput:e=>s(n,"width",Number(e.target.value)),disabled:e.disabled,min:"30",max:"300",class:"w-full px-2 py-1 text-xs border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 disabled:opacity-50 [appearance:textfield] [-moz-appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",placeholder:"100"},null,40,xF)]),Xo("div",_F,[Xo("button",{onClick:e=>u(n,"up"),disabled:e.disabled||0===n,class:"p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 disabled:opacity-30 disabled:cursor-not-allowed",title:"上移"},[...r[0]||(r[0]=[Xo("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 15l7-7 7 7"})],-1)])],8,CF),Xo("button",{onClick:e=>u(n,"down"),disabled:e.disabled||n===o.value.length-1,class:"p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 disabled:opacity-30 disabled:cursor-not-allowed",title:"下移"},[...r[1]||(r[1]=[Xo("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1)])],8,SF),Xo("button",{onClick:e=>(e=>{o.value.splice(e,1),l()})(n),disabled:e.disabled||o.value.length<=1,class:"p-1 text-red-400 hover:text-red-600 disabled:opacity-30 disabled:cursor-not-allowed",title:"删除"},[...r[2]||(r[2]=[Xo("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])],8,BF)])]))),128))]),Xo("button",{onClick:a,disabled:e.disabled,class:"w-full px-3 py-2 text-xs border border-dashed border-gray-300 dark:border-gray-600 rounded-lg text-gray-500 dark:text-gray-400 hover:border-blue-500 hover:text-blue-500 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"}," + "+oe(Qt(i)("properties.action.addColumn")),9,kF)]))}}),IF={class:"space-y-2"},TF={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1 font-medium"},PF={class:"relative"},MF=["disabled"],LF={class:"flex flex-col items-start min-w-0 flex-1"},DF={key:0,class:"truncate text-sm font-medium"},NF={key:1,class:"text-gray-400 dark:text-gray-500 truncate text-sm"},OF={key:0,class:"absolute top-full left-0 right-0 mt-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-[3000]"},FF={class:"flex border-b border-gray-100 dark:border-gray-700"},UF=["disabled"],zF=["disabled"],RF={class:"max-h-60 overflow-y-auto p-2"},QF={key:0,class:"px-3 py-4 text-xs text-gray-400 text-center"},HF=["onMousedown"],VF={class:"truncate text-gray-700 dark:text-gray-200 flex-1"},jF={class:"text-[10px] text-gray-400 truncate"},GF={class:"flex items-center justify-between px-2 py-1 text-xs text-gray-500 mb-1"},WF={key:0,class:"px-3 py-4 text-xs text-gray-400 text-center"},KF=["onMousedown"],qF={class:"truncate text-gray-700 dark:text-gray-200"},YF={class:"flex items-center justify-between px-2 py-1 text-xs text-gray-500 mb-1"},XF={key:0,class:"px-3 py-4 text-xs text-gray-400 text-center"},ZF=["onMousedown"],JF={class:"truncate text-gray-700 dark:text-gray-200"},$F=Nn({__name:"PropertyNestedTableData",props:{label:{},value:{},placeholder:{},disabled:{type:Boolean},childField:{},parentField:{}},emits:["update:value","update:childField","update:parentField"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Wb(),a=e=>Array.isArray(e)?"array":null===e?"null":void 0===e?"undefined":typeof e,s=(e,t="")=>{if(!e||"object"!=typeof e)return[];const r=[];for(const[n,i]of Object.entries(e)){const e=t?`${t}.${n}`:n,o=a(i);if("array"===o)r.push({path:e,label:n,type:o});else if("object"===o){const t=s(i,e);r.push(...t)}else r.push({path:e,label:n,type:o})}return r},l=Ta(()=>o.testData||{}),u=Ta(()=>s(l.value)),c=Ta(()=>u.value.filter(e=>"array"===e.type)),A=Ta(()=>{if(!r.value)return null;const e=Lb(r.value);return Ub(l.value,e)}),d=Ta(()=>{if(!A.value||!Array.isArray(A.value))return[];if(0===A.value.length)return[];const e=A.value[0],t=[];for(const[r,n]of Object.entries(e)){const e=a(n);"object"!==e&&"array"!==e&&t.push({path:r,label:r,type:e})}return t}),h=Ta(()=>{if(!A.value||!Array.isArray(A.value))return[];if(0===A.value.length)return[];const e=A.value[0],t=[];for(const[r,n]of Object.entries(e))Array.isArray(n)&&t.push({path:r,label:r,type:"array"});return t}),p=Ta(()=>r.value?Lb(r.value):""),f=Ft(!1),g=Ft("data"),v=()=>{r.disabled||(f.value=!f.value,f.value&&(g.value="data"))},m=()=>{f.value=!1},y=()=>{"child"===g.value?g.value="parent":"parent"===g.value&&(g.value="data")},b=e=>{switch(e){case"array":return"text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20";case"object":return"text-purple-600 dark:text-purple-400 bg-purple-50 dark:bg-purple-900/20";default:return"text-gray-500 dark:text-gray-400 bg-gray-100 dark:bg-gray-700"}},w=e=>{switch(e){case"array":return"[]";case"object":return"obj";case"string":return"str";case"number":return"num";case"boolean":return"boo";default:return"?"}};return(t,r)=>(Ro(),jo("div",IF,[Xo("label",TF,oe(e.label),1),Xo("div",PF,[Xo("button",{type:"button",disabled:e.disabled,onClick:v,onBlur:m,class:"w-full flex items-center justify-between px-2 py-1.5 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 disabled:cursor-not-allowed bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 text-left"},[Xo("div",LF,[p.value?(Ro(),jo("span",DF,oe(p.value),1)):(Ro(),jo("span",NF,oe(e.placeholder||"选择数据源"),1))]),r[3]||(r[3]=Xo("svg",{class:"w-4 h-4 text-gray-400 ml-2 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))],40,MF),f.value?(Ro(),jo("div",OF,[Xo("div",FF,[Xo("button",{onMousedown:r[0]||(r[0]=zs(e=>g.value="data",["prevent"])),class:X(["flex-1 px-3 py-2 text-xs font-medium transition-colors","data"===g.value?"text-blue-600 dark:text-blue-400 border-b-2 border-blue-600":"text-gray-500 dark:text-gray-400 hover:text-gray-700"])}," 数据源 ",34),Xo("button",{onMousedown:r[1]||(r[1]=zs(e=>p.value&&(g.value="parent"),["prevent"])),class:X(["flex-1 px-3 py-2 text-xs font-medium transition-colors","parent"===g.value?"text-blue-600 dark:text-blue-400 border-b-2 border-blue-600":p.value?"text-gray-500 dark:text-gray-400 hover:text-gray-700":"text-gray-300 dark:text-gray-600 cursor-not-allowed"]),disabled:!p.value}," 父级字段 ",42,UF),Xo("button",{onMousedown:r[2]||(r[2]=zs(e=>p.value&&d.value.length>0&&(g.value="child"),["prevent"])),class:X(["flex-1 px-3 py-2 text-xs font-medium transition-colors","child"===g.value?"text-blue-600 dark:text-blue-400 border-b-2 border-blue-600":p.value&&d.value.length>0?"text-gray-500 dark:text-gray-400 hover:text-gray-700":"text-gray-300 dark:text-gray-600 cursor-not-allowed"]),disabled:!p.value||0===d.value.length}," 子级字段 ",42,zF)]),Xo("div",RF,["data"===g.value?(Ro(),jo(Do,{key:0},[0===c.value.length?(Ro(),jo("div",QF," 暂无数据 ")):na("",!0),(Ro(!0),jo(Do,null,pi(c.value,e=>(Ro(),jo("div",{key:e.path,onMousedown:zs(t=>{return r=e.path,n("update:value",r),void(g.value="parent");var r},["prevent"]),class:X(["flex items-center gap-2 px-2 py-1.5 text-sm cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-700 rounded transition-colors",{"bg-blue-50 dark:bg-blue-900/20":p.value===e.path}])},[Xo("span",{class:X(["text-[10px] px-1.5 py-0.5 rounded font-mono",b(e.type)])},oe(w(e.type)),3),Xo("span",VF,oe(e.label),1),Xo("span",jF,oe(e.path),1)],42,HF))),128))],64)):"parent"===g.value?(Ro(),jo(Do,{key:1},[Xo("div",GF,[r[4]||(r[4]=Xo("span",null,"选择父级标签字段",-1)),Xo("button",{onMousedown:zs(y,["prevent"]),class:"text-blue-500 hover:text-blue-600"},"← 返回",32)]),0===d.value.length?(Ro(),jo("div",WF," 无可用字段 ")):na("",!0),(Ro(!0),jo(Do,null,pi(d.value,e=>(Ro(),jo("div",{key:e.path,onMousedown:zs(t=>(e=>{n("update:parentField",e),g.value="child"})(e.path),["prevent"]),class:"flex items-center gap-2 px-2 py-1.5 text-sm cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-700 rounded transition-colors"},[Xo("span",{class:X(["text-[10px] px-1.5 py-0.5 rounded font-mono",b(e.type)])},oe(w(e.type)),3),Xo("span",qF,oe(e.label),1)],40,KF))),128))],64)):"child"===g.value?(Ro(),jo(Do,{key:2},[Xo("div",YF,[r[5]||(r[5]=Xo("span",null,"选择子级数组字段",-1)),Xo("button",{onMousedown:zs(y,["prevent"]),class:"text-blue-500 hover:text-blue-600"},"← 返回",32)]),0===h.value.length?(Ro(),jo("div",XF," 未找到子级数组 ")):na("",!0),(Ro(!0),jo(Do,null,pi(h.value,e=>(Ro(),jo("div",{key:e.path,onMousedown:zs(t=>(e=>{n("update:childField",e),f.value=!1,g.value="data"})(e.path),["prevent"]),class:"flex items-center gap-2 px-2 py-1.5 text-sm cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-700 rounded transition-colors"},[Xo("span",{class:X(["text-[10px] px-1.5 py-0.5 rounded font-mono",b(e.type)])},oe(w(e.type)),3),Xo("span",JF,oe(e.label),1)],40,ZF))),128))],64)):na("",!0)])])):na("",!0)])]))}}),eU={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},tU={key:0,class:"text-xs text-gray-400 dark:text-gray-500 py-2"},rU={key:1,class:"max-h-48 overflow-y-auto space-y-1 custom-scrollbar border border-gray-200 dark:border-gray-700 rounded p-2 bg-white dark:bg-gray-800"},nU=["title"],iU=["value","disabled","onInput","placeholder"],oU=Nn({__name:"ColumnAliasEditor",props:{label:{},columns:{},disabled:{type:Boolean},testData:{},variable:{},variables:{}},emits:["update:columns"],setup(e,{emit:t}){const r=e,n=t,i=e=>{const t=Lb(e||"");if(!t)return[];const n=(e,t)=>{const r=Ub(e,t);if(Array.isArray(r))return r;if(r&&"object"==typeof r)for(const n of Object.keys(r)){const e=r[n];if(Array.isArray(e)&&e.length>0)return e}return null};let i=n(r.testData||{},t);if(!i||0===i.length){const e=t.startsWith("variables.")?t.slice(10):t;e!==t&&(i=n(r.testData||{},e))}if(i&&0!==i.length||(i=n(r.variables||{},t)),!i||0===i.length)return[];const o=i[0];return o&&"object"==typeof o?Object.keys(o).map(e=>({field:e,header:e})):[]},o=Ta(()=>i(r.variable||""));an(()=>r.variable,e=>{const t=i(e||"");t.length>0&&(!r.columns||0===r.columns.length)&&n("update:columns",t)});const a=Ta(()=>r.columns&&r.columns.length>0?r.columns:r.variable?o.value:[]);return(t,r)=>(Ro(),jo("div",null,[Xo("label",eU,oe(e.label),1),0===a.value.length?(Ro(),jo("div",tU,oe(t.$t("common.noData")),1)):(Ro(),jo("div",rU,[(Ro(!0),jo(Do,null,pi(a.value,r=>(Ro(),jo("div",{key:r.field,class:X(["flex items-center gap-2",{"opacity-50":e.disabled}])},[Xo("span",{class:"text-xs text-gray-500 dark:text-gray-400 w-20 truncate flex-shrink-0",title:r.field},oe(r.field),9,nU),Xo("input",{type:"text",value:r.header,disabled:e.disabled,onInput:e=>((e,t)=>{const r=a.value.map(r=>r.field===e?{...r,header:t}:r);n("update:columns",r)})(r.field,e.target.value),class:"flex-1 text-xs px-2 py-1 border border-gray-200 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 focus:outline-none focus:ring-1 focus:ring-blue-500 disabled:opacity-50",placeholder:t.$t("properties.label.headerAliasPlaceholder")},null,40,iU)],2))),128))]))]))}}),aU=zC(oU,[["__scopeId","data-v-89c1feca"]]),sU={class:"space-y-2"},lU={class:"block text-xs text-gray-500 dark:text-gray-400 font-medium"},uU={class:"relative"},cU=["value","placeholder","disabled","readonly"],AU={class:"absolute bottom-1 right-1 text-[10px] text-gray-400 dark:text-gray-500 bg-white/80 dark:bg-gray-800/80 px-1 rounded"},dU={class:"flex gap-2"},hU={class:"relative flex-1"},pU=["disabled"],fU={class:"p-2 border-b border-gray-100 dark:border-gray-700 sticky top-0 bg-white dark:bg-gray-800 z-10"},gU={class:"relative"},vU=["value","placeholder"],mU={key:0,class:"px-3 py-4 text-xs text-gray-400 dark:text-gray-500 text-center"},yU=["onMousedown"],bU={class:"relative"},wU=["disabled"],xU={class:"text-[10px] text-gray-400"},_U=["value"],CU={key:0,class:"border-t border-gray-100 dark:border-gray-700 pt-2"},SU={class:"text-[10px] text-gray-400 dark:text-gray-500 uppercase tracking-wider mb-1"},BU={class:"text-xs text-gray-600 dark:text-gray-400 bg-gray-50 dark:bg-gray-800/50 rounded p-2 max-h-32 overflow-y-auto whitespace-pre-wrap border border-gray-100 dark:border-gray-700"},kU=Nn({__name:"PropertyLongText",props:{label:{},value:{},placeholder:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Wb(),a=Ft(null),s=Ft(null),l=Ft(null),u=Ft(null),c=Ft(!1),A=Ft(!1),d=Ft(""),h=Ft("#ff0000"),p=Ft(!1),f=/\{#([^}]+)\}/g,g=/\[color=([^\]]+)\]([\s\S]*?)\[\/color\]/g,v=Ta(()=>{const e=[],t=o.availableVariables||[],r=t=>{for(const n of t)n.isArray||e.push(n.id),n.children&&n.children.length>0&&r(n.children)};return r(t),e}),m=Ta(()=>{if(!d.value.trim())return v.value;const e=d.value.toLowerCase();return v.value.filter(t=>t.toLowerCase().includes(e))}),y=Ta(()=>{let e=r.value||"";return e=e.replace(f,(e,t)=>{const r=Ub(o.testData,t.trim());return null!=r?String(r):"{#"+t+"}"}),e=e.replace(g,"$2"),e}),b=e=>{n("update:value",e.target.value)},w=()=>{c.value=!c.value,A.value=!1,c.value&&(d.value="",setTimeout(()=>{var e;null==(e=l.value)||e.focus()},50))},x=()=>{A.value=!A.value,c.value=!1},_=e=>{p.value?p.value=!1:(c.value&&s.value&&!s.value.contains(e.target)&&(c.value=!1,d.value=""),A.value&&u.value&&!u.value.contains(e.target)&&(A.value=!1))},C=e=>{d.value=e.target.value},S=e=>{e.target.classList.contains("field-list-container")&&(e.stopPropagation(),p.value=!0)};return ei(()=>{document.addEventListener("mousedown",_,!0)}),ii(()=>{document.removeEventListener("mousedown",_,!0)}),(t,o)=>(Ro(),jo("div",sU,[Xo("label",lU,oe(e.label),1),Xo("div",uU,[Xo("textarea",{ref_key:"textareaRef",ref:a,value:e.value,placeholder:e.placeholder,disabled:e.disabled,readonly:e.disabled,onInput:b,class:"w-full px-3 py-2 text-sm border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none h-48 resize-y disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},null,40,cU),Xo("div",AU,oe((e.value||"").length),1)]),Xo("div",dU,[Xo("div",hU,[Xo("button",{type:"button",disabled:e.disabled,onMousedown:zs(w,["prevent"]),class:"w-full flex items-center justify-center gap-1.5 py-1.5 text-xs border border-dashed border-gray-300 dark:border-gray-600 rounded hover:border-blue-400 hover:text-blue-600 dark:hover:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20 transition-colors disabled:opacity-50 disabled:cursor-not-allowed text-gray-500 dark:text-gray-400"},[o[4]||(o[4]=Xo("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),ta(" "+oe(Qt(i)("properties.label.insertField")),1)],40,pU),c.value?(Ro(),jo("div",{key:0,ref_key:"fieldDropdownRef",ref:s,class:"absolute left-0 right-0 top-full mt-1 z-50 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg"},[Xo("div",fU,[Xo("div",gU,[o[5]||(o[5]=Xo("svg",{class:"absolute left-2 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),Xo("input",{ref_key:"fieldSearchRef",ref:l,type:"text",value:d.value,onInput:C,onMousedown:o[0]||(o[0]=zs(()=>{},["stop"])),placeholder:Qt(i)("properties.label.searchField"),class:"w-full pl-8 pr-3 py-1.5 text-xs border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 placeholder-gray-400 dark:placeholder-gray-500"},null,40,vU)])]),Xo("div",{class:"field-list-container max-h-48 overflow-auto",onMousedown:S},[0===m.value.length?(Ro(),jo("div",mU,oe(Qt(i)("common.noData")),1)):na("",!0),(Ro(!0),jo(Do,null,pi(m.value,e=>(Ro(),jo("button",{key:e,onMousedown:zs(t=>(e=>{const t="{#"+e+"}",i=a.value;if(!i)return;const o=i.selectionStart,s=i.selectionEnd,l=r.value||"",u=l.substring(0,o)+t+l.substring(s);n("update:value",u),c.value=!1,d.value="",br(()=>{i.focus();const e=o+t.length;i.setSelectionRange(e,e)})})(e),["prevent"]),class:"w-full text-left px-3 py-1.5 text-xs text-gray-700 dark:text-gray-300 hover:bg-blue-50 dark:hover:bg-blue-900/30 hover:text-blue-700 dark:hover:text-blue-400 transition-colors whitespace-nowrap overflow-hidden text-overflow-ellipsis"},oe(e),41,yU))),128))],32)],512)):na("",!0)]),Xo("div",bU,[Xo("button",{type:"button",disabled:e.disabled,onMousedown:zs(x,["prevent"]),class:"flex items-center justify-center gap-1.5 py-1.5 px-3 text-xs border border-dashed border-gray-300 dark:border-gray-600 rounded hover:border-pink-400 hover:text-pink-600 dark:hover:text-pink-400 hover:bg-pink-50 dark:hover:bg-pink-900/20 transition-colors disabled:opacity-50 disabled:cursor-not-allowed text-gray-500 dark:text-gray-400 whitespace-nowrap"},[o[6]||(o[6]=Xo("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})],-1)),ta(" "+oe(Qt(i)("properties.label.textColor")),1)],40,wU),A.value?(Ro(),jo("div",{key:0,ref_key:"colorPickerRef",ref:u,class:"absolute right-0 top-full mt-1 z-50 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg p-2 flex flex-col gap-2",onMousedown:o[3]||(o[3]=e=>p.value=!0)},[Xo("span",xU,oe(Qt(i)("properties.label.textColor")),1),Xo("input",{type:"color",value:h.value,onInput:o[1]||(o[1]=e=>h.value=e.target.value),class:"w-20 h-8 cursor-pointer border-0 p-0 rounded"},null,40,_U),Xo("button",{onMousedown:o[2]||(o[2]=zs(e=>(e=>{const t=a.value;if(!t)return;const i=t.selectionStart,o=t.selectionEnd;if(i===o)return void(A.value=!1);const s=r.value||"",l="[color="+e+"]"+s.substring(i,o)+"[/color]",u=s.substring(0,i)+l+s.substring(o);h.value=e,n("update:value",u),A.value=!1,br(()=>{t.focus();const e=i+l.length;t.setSelectionRange(e,e)})})(h.value),["prevent"])),class:"w-full text-xs bg-pink-500 text-white px-3 py-1 rounded hover:bg-pink-600 transition-colors"},oe(Qt(i)("common.confirm")),33)],544)):na("",!0)])]),y.value&&y.value!==e.value?(Ro(),jo("div",CU,[Xo("div",SU,oe(Qt(i)("editor.preview")),1),Xo("div",BU,oe(y.value),1)])):na("",!0)]))}}),EU={class:"p-4 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800 flex items-center justify-between"},IU={class:"font-semibold text-gray-700 dark:text-gray-200"},TU={class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},PU={key:0,class:"flex items-center text-red-500 dark:text-red-400 gap-1 text-xs font-medium bg-red-50 dark:bg-red-900/30 px-2 py-1 rounded border border-red-100 dark:border-red-800"},MU={key:0,class:"p-6 text-center"},LU={class:"mb-4"},DU={class:"text-lg font-semibold text-gray-900 dark:text-gray-100"},NU={class:"text-sm text-gray-500 dark:text-gray-400 mt-2"},OU={class:"font-medium text-gray-700 dark:text-gray-200"},FU=["disabled"],UU={key:1,class:"flex flex-col h-full overflow-hidden"},zU={class:"flex border-b border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900"},RU=["onClick"],QU={key:0,class:"absolute bottom-0 left-0 w-full h-0.5 bg-blue-600 dark:bg-blue-400"},HU={class:"p-4 space-y-6 overflow-y-auto flex-1 custom-scrollbar dark:bg-gray-900"},VU={key:0,class:"space-y-3 pb-2 border-b border-gray-200 dark:border-gray-700 -mx-4 px-4 mb-2"},jU={key:1,class:"space-y-3"},GU={class:"text-xs font-bold text-gray-500 dark:text-gray-400 uppercase tracking-wider"},WU={class:"grid grid-cols-2 gap-3"},KU={key:2,class:"space-y-3 pt-2 border-t border-gray-100 dark:border-gray-800"},qU={class:"text-xs font-bold text-gray-500 dark:text-gray-400 uppercase tracking-wider"},YU={class:"grid grid-cols-2 gap-3"},XU=["disabled"],ZU=["disabled"],JU=["disabled"],$U=["disabled"],ez={key:3,class:"space-y-3 pt-2 border-t border-gray-100 dark:border-gray-800"},tz={class:"text-xs font-bold text-gray-500 dark:text-gray-400 uppercase tracking-wider"},rz={class:"grid grid-cols-2 gap-3"},nz=["disabled"],iz=["disabled"],oz={key:4,class:"space-y-3 pt-2 border-t border-gray-100 dark:border-gray-800"},az={class:"text-xs font-bold text-gray-500 dark:text-gray-400 uppercase tracking-wider"},sz={class:"grid grid-cols-2 gap-3"},lz=["disabled"],uz=["disabled"],cz={key:0,class:"space-y-3 pt-2 first:pt-0 border-t first:border-0 border-gray-100 dark:border-gray-800"},Az={class:"text-xs font-bold text-gray-500 dark:text-gray-400 uppercase tracking-wider"},dz={class:"space-y-3"},hz={key:0},pz=["onClick","disabled"],fz={key:12},gz={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1 font-medium"},vz=["placeholder","disabled","value","onChange"],mz={key:13},yz={key:14},bz={key:15},wz={key:5,class:"space-y-3 pt-2 border-t border-gray-100 dark:border-gray-800"},xz={class:"text-xs font-bold text-gray-500 dark:text-gray-400 uppercase tracking-wider"},_z={key:2,class:"p-6 text-center"},Cz={class:"mb-4"},Sz={class:"text-lg font-semibold text-gray-900"},Bz={class:"text-sm text-gray-500 mt-2"},kz=Nn({__name:"PropertiesPanel",setup(e){const{t:t}=dh(),r=Wb(),n=Ta(()=>r.selectedElement),i=Ta(()=>r.selectedElementIds.length>1),o=Ta(()=>{var e;return(null==(e=n.value)?void 0:e.locked)||!1}),a=Ta(()=>o.value||!r.isTemplateEditable),s=Ft(!1),l=Ft(""),u=Ta(()=>!!n.value&&[Nm.LINE,Nm.RECT,Nm.CIRCLE].includes(n.value.type)),c=Ta(()=>!!n.value&&n.value.type!==Nm.TABLE),A=Ta(()=>!!r.tableSelection&&r.tableSelection.cells.length>1),d=Ta(()=>{if(!r.tableSelection)return!1;if(1!==r.tableSelection.cells.length)return!1;const e=r.tableSelection.cells[0],t=r.selectedElement;if(!t||t.type!==Nm.TABLE)return!1;const n="footer"===(e.section||"body")?t.footerData:t.data;if(!n)return!1;const i=n[e.rowIndex];if(!i)return!1;const o=i[e.colField];return!(!o||"object"!=typeof o)&&((o.rowSpan||1)>1||(o.colSpan||1)>1)}),h=Ta(()=>{if(!r.customTableSelection)return!1;if(r.customTableSelection.cells.length<2)return!1;const e=r.customTableSelection.cells,t=e.map(e=>e.row),n=e.map(e=>e.col),i=Math.min(...t),o=Math.max(...t),a=Math.min(...n),s=Math.max(...n);return e.length===(o-i+1)*(s-a+1)}),p=Ta(()=>{if(!r.customTableSelection)return!1;if(1!==r.customTableSelection.cells.length)return!1;const{row:e,col:t}=r.customTableSelection.cells[0],n=r.selectedElement;if(!n||n.type!==Nm.CUSTOM_TABLE)return!1;const i=(n.customTableCells||[]).find(r=>r.row===e&&r.col===t);return!(!i||!(i.rowSpan&&i.rowSpan>1||i.colSpan&&i.colSpan>1))}),f=Ft("properties"),g=Ta(()=>r.unit||"mm"),v=Ta(()=>r.unit||"mm"),m=new Set(["fontSize","borderWidth","barcodeWidth","barcodeHeight","margin","borderRadius","headerHeight","rowHeight","footerHeight","labelFontSize","labelBorderWidth"]),y=Ta(()=>!!n.value&&[Nm.TEXT,Nm.IMAGE,Nm.BARCODE,Nm.QRCODE,Nm.TABLE].includes(n.value.type)),b=Ta(()=>{if(n.value)switch(n.value.type){case Nm.TABLE:return"array";case Nm.TEXT:case Nm.BARCODE:case Nm.QRCODE:return"text";default:return}}),w=Ta(()=>{if(!n.value)return"";switch(n.value.type){case Nm.TABLE:return t("properties.label.dataVariable");case Nm.LONG_TEXT:default:return t("properties.label.variable")}}),x=Ta(()=>n.value?(n.value.type,Nm.TABLE,"variable"):"variable"),_=e=>!("number"!==e.type||!e.key)&&m.has(e.key),C=e=>{const r=t(e.label);return _(e)?`${r} (${v.value})`:r},S=e=>{var t;if(!e.condition||!e.condition.field||!e.condition.values)return!0;const r=null==(t=n.value)?void 0:t[e.condition.field];return e.condition.values.includes(r)},B=e=>{var t;if(!e.condition||!e.condition.field||!e.condition.values)return!0;const r=null==(t=n.value)?void 0:t[e.condition.field];return e.condition.values.includes(r)},k=e=>{const t=G(e);return _(e)&&"number"==typeof t?Cw(t,g.value):t},E=e=>{if(void 0!==e.min&&null!==e.min)return _(e)?Cw(e.min,g.value):e.min},I=e=>{if(void 0!==e.max&&null!==e.max)return _(e)?Cw(e.max,g.value):e.max},T=e=>{if(void 0!==e.step&&null!==e.step)return _(e)?Cw(e.step,g.value):e.step},P=Ft({}),M=Ta(()=>{var e,t;return null==(t=null==(e=r.customElementModalFormConfig)?void 0:e.create)?void 0:t.fields}),L=e=>{if(n.value){let t,i="";if("string"==typeof e)i=e;else{i=e.name;const{name:r,...n}=e;Object.keys(n).length>0&&(t=n)}i&&r.addCustomElement(i,n.value,t)}},D=(e,t)=>{n.value&&r.updateElement(n.value.id,{[e]:t})},N=(e,t)=>{n.value&&r.updateElement(n.value.id,{style:{...n.value.style,[e]:t}})},O=()=>n.value&&Array.isArray(n.value.columns)?n.value.columns.map(e=>e.field):[],F=e=>{if(!n.value)return;const t=Array.isArray(n.value.columns)?n.value.columns:[],r=new Map(t.map(e=>[e.field,e])),i=e.map(e=>{const t=r.get(e);return t||{field:e,header:e,width:100}});D("columns",i)},U=Ft(0);function z(e,t,r){if(e&&"object"==typeof e)for(const n of Object.keys(e)){const i=e[n],o=t?`${t}.${n}`:n;if(Array.isArray(i)&&i.length>0){const e=i[0];e&&"object"==typeof e&&!Array.isArray(e)&&z(e,o,r)}else i&&"object"==typeof i&&!Array.isArray(i)?z(i,o,r):r.push(o)}}const R=Ta(()=>{U.value;const e=n.value;if(!e||e.type!==Nm.TABLE)return[];const t=[];if(!e.variable)return t;const i=Lb(e.variable);if(!i)return t;const o=(e,t)=>{const r=[],n=Ub(e,t);let i=null;if(Array.isArray(n))i=n;else if(n&&"object"==typeof n)for(const o of Object.keys(n)){const e=n[o];if(Array.isArray(e)&&e.length>0){i=e;break}}if(i&&i.length>0){const e=i[0];e&&"object"==typeof e&&z(e,"",r)}return r};if(t.push(...o(r.testData||{},i)),0===t.length){const e=i.startsWith("variables.")?i.slice(10):i;e!==i&&t.push(...o(r.testData||{},e))}return 0===t.length&&t.push(...o(r.variables||{},i)),t});an(()=>r.testData,()=>{U.value++},{deep:!0}),an(()=>{var e;return null==(e=n.value)?void 0:e.variable},()=>{U.value++});const Q=e=>{const t=G(e);return"json"===e.language&&"object"==typeof t?JSON.stringify(t,null,2):t||""},H=Ta(()=>n.value?(e=>{switch(e){case Nm.TEXT:return Wx;case Nm.IMAGE:return Xx;case Nm.TABLE:return M_;case Nm.CUSTOM_TABLE:return FC;case Nm.PAGE_NUMBER:return HC;case Nm.BARCODE:return GC;case Nm.QRCODE:return YC;case Nm.LINE:return JC;case Nm.RECT:return eS;case Nm.CIRCLE:return rS;case Nm.CHART:return oS;case Nm.LONG_TEXT:return cS;case Nm.RICH_TEXT:return hS;case Nm.DATE:return vS;case Nm.DATA_CARD:return _S;case Nm.PROGRESS:return BS;case Nm.LIST:return ES;case Nm.SIGNATURE:return LS;case Nm.NESTED_TABLE:return QS;default:return null}})(n.value.type):null),V=Ta(()=>H.value?H.value.sections.filter(e=>"fieldSelection"===e.tab):[]),j=Ta(()=>{if(!H.value)return[];const e=H.value.sections.filter(e=>e.tab===f.value||!e.tab&&"properties"===f.value);if("properties"===f.value&&c.value){const t=JSON.parse(JSON.stringify(e));let r=t.find(e=>"properties.section.dataBehavior"===e.title);return r||(r={title:"properties.section.dataBehavior",tab:"properties",fields:[]},t.push(r)),r.fields.some(e=>"repeatPerPage"===e.key)||r.fields.unshift({label:"properties.label.repeatPerPage",type:"switch",target:"element",key:"repeatPerPage"}),t}return e}),G=e=>{if(!n.value)return e.defaultValue;return("style"===e.target?n.value.style:n.value)[e.key]??e.defaultValue},W=(e,t)=>{n.value&&("style"===e.target&&e.key?N(e.key,t):"element"===e.target&&e.key&&D(e.key,t))},K=()=>{i.value?r.removeSelectedElements():n.value&&r.removeElement(n.value.id)},q=Ta(()=>{var e,t;return(null==(t=null==(e=n.value)?void 0:e.style)?void 0:t.zIndex)||1}),Y=Ta(()=>{if(!n.value)return[];const e=r.pages.find(e=>e.elements.some(e=>e.id===n.value.id));return e?e.elements.map((e,t)=>{var r;return{id:e.id,zIndex:(null==(r=e.style)?void 0:r.zIndex)||1,originalIndex:t}}).sort((e,t)=>e.zIndex===t.zIndex?e.originalIndex-t.originalIndex:e.zIndex-t.zIndex):[]}),Z=Ta(()=>n.value?Y.value.findIndex(e=>e.id===n.value.id):-1),J=Ta(()=>!!n.value&&(Z.value>=0&&Z.value<Y.value.length-1)),$=Ta(()=>!!n.value&&Z.value>0),ee=e=>{if(!n.value)return;const t=Math.max(1,Math.round(Number(e)||1));r.updateElement(n.value.id,{style:{...n.value.style,zIndex:t}})},te=e=>{if(!n.value)return;const t=[n.value.id];"front"!==e?"back"!==e?"forward"!==e?r.moveElementsBackward(t):r.moveElementsForward(t):r.sendElementsToBack(t):r.moveElementsLayer(t,"front")},re=e=>{e.relatedTarget&&e.currentTarget.contains(e.relatedTarget)||r.setDisableGlobalShortcuts(!0)},ne=e=>{e.relatedTarget&&e.currentTarget.contains(e.relatedTarget)||r.setDisableGlobalShortcuts(!1)};return(e,c)=>(Ro(),jo(Do,null,[Xo("aside",{class:"w-[380px] bg-white dark:bg-gray-900 border-l border-gray-200 dark:border-gray-700 flex flex-col h-full z-40 overflow-hidden",onFocusin:re,onFocusout:ne},[Xo("div",EU,[Xo("div",null,[Xo("h2",IU,oe(Qt(t)("properties.title")),1),Xo("p",TU,oe(Qt(t)("properties.subtitle")),1)]),o.value?(Ro(),jo("div",PU,[Zo(Qt(ux),{class:"w-3 h-3"}),Xo("span",null,oe(Qt(t)("properties.locked")),1)])):na("",!0)]),i.value?(Ro(),jo("div",MU,[Xo("div",LU,[Xo("h3",DU,oe(Qt(t)("properties.multiSelectMode")),1),Xo("p",NU,[Xo("span",OU,oe(Qt(r).selectedElementIds.length),1),ta(" "+oe(Qt(t)("properties.selectedElements",{n:""}).replace("{n}","")),1)])]),Xo("button",{onClick:K,disabled:!Qt(r).isTemplateEditable,class:"w-full py-2 bg-red-50 dark:bg-red-900/30 text-red-600 dark:text-red-400 rounded border border-red-200 dark:border-red-800 hover:bg-red-100 dark:hover:bg-red-900/50 transition-colors text-sm font-medium disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(t)("properties.deleteSelected")),9,FU)])):n.value?(Ro(),jo("div",UU,[Xo("div",zU,[(Ro(),jo(Do,null,pi(["properties","style"],e=>Xo("button",{key:e,onClick:t=>f.value=e,class:X(["flex-1 py-3 text-sm font-medium transition-colors relative",f.value===e?"text-blue-600 dark:text-blue-400":"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-800"])},[ta(oe(Qt(t)(`properties.tab.${e}`))+" ",1),f.value===e?(Ro(),jo("div",QU)):na("",!0)],10,RU)),64))]),Xo("div",HU,["properties"===f.value&&(V.value.length>0||y.value)?(Ro(),jo("div",VU,[(Ro(!0),jo(Do,null,pi(V.value,(e,i)=>(Ro(),jo(Do,{key:i},[(Ro(!0),jo(Do,null,pi(e.fields,(e,i)=>(Ro(),jo(Do,{key:i},[S(e)?(Ro(),jo(Do,{key:0},["field"===e.type?(Ro(),Go(mO,{key:0,label:Qt(t)(e.label),disabled:a.value,filter:e.filter,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:Qt(t)("properties.label.selectField"),value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","filter","placeholder","value","onUpdate:value"])):"columnPicker"===e.type?(Ro(),Go(CO,{key:1,label:Qt(t)(e.label),disabled:a.value,fields:R.value,value:O(),"onUpdate:value":c[0]||(c[0]=e=>F(e))},null,8,["label","disabled","fields","value"])):"columnAlias"===e.type?(Ro(),Go(aU,{key:2,label:Qt(t)(e.label),disabled:a.value,columns:n.value.columns,"test-data":Qt(r).testData,variable:n.value.variable,variables:Qt(r).variables,"onUpdate:columns":c[1]||(c[1]=e=>D("columns",e))},null,8,["label","disabled","columns","test-data","variable","variables"])):"longText"===e.type?(Ro(),Go(kU,{key:3,label:Qt(t)(e.label),disabled:a.value,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"",value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","placeholder","value","onUpdate:value"])):"chartDataSelect"===e.type?(Ro(),Go(NO,{key:4,label:Qt(t)(e.label),disabled:a.value,value:G(e),placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"","onUpdate:value":t=>W(e,t)},null,8,["label","disabled","value","placeholder","onUpdate:value"])):"chartFieldSelect"===e.type?(Ro(),Go(qO,{key:5,label:Qt(t)(e.label),disabled:a.value,value:G(e),"data-variable":n.value.chartDataVariable,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"","onUpdate:value":t=>W(e,t)},null,8,["label","disabled","value","data-variable","placeholder","onUpdate:value"])):na("",!0)],64)):na("",!0)],64))),128))],64))),128)),0===V.value.length&&y.value&&"table"!==n.value.type?(Ro(),Go(mO,{key:0,label:w.value,disabled:a.value,filter:b.value,placeholder:Qt(t)("properties.label.selectField"),value:n.value[x.value],"onUpdate:value":c[2]||(c[2]=e=>D(x.value,e))},null,8,["label","disabled","filter","placeholder","value"])):na("",!0)])):na("",!0),"properties"===f.value?(Ro(),jo("div",jU,[Xo("h3",GU,oe(Qt(t)("properties.section.positionSize")),1),Xo("div",WU,[Zo(TN,{label:`${Qt(t)("properties.label.x")} (${v.value})`,type:"number",disabled:a.value,value:Qt(Cw)(n.value.x,g.value),"onUpdate:value":c[3]||(c[3]=e=>D("x",Qt(Sw)(Number(e),g.value)))},null,8,["label","disabled","value"]),Zo(TN,{label:`${Qt(t)("properties.label.y")} (${v.value})`,type:"number",disabled:a.value,value:Qt(Cw)(n.value.y,g.value),"onUpdate:value":c[4]||(c[4]=e=>D("y",Qt(Sw)(Number(e),g.value)))},null,8,["label","disabled","value"]),Zo(TN,{label:`${Qt(t)("properties.label.width")} (${v.value})`,type:"number",disabled:a.value,value:Qt(Cw)(n.value.width,g.value),"onUpdate:value":c[5]||(c[5]=e=>D("width",Qt(Sw)(Number(e),g.value)))},null,8,["label","disabled","value"]),Zo(TN,{label:`${Qt(t)("properties.label.height")} (${v.value})`,type:"number",disabled:a.value,value:Qt(Cw)(n.value.height,g.value),"onUpdate:value":c[6]||(c[6]=e=>D("height",Qt(Sw)(Number(e),g.value)))},null,8,["label","disabled","value"])])])):na("",!0),"properties"===f.value?(Ro(),jo("div",KU,[Xo("h3",qU,oe(Qt(t)("properties.section.layer")),1),Zo(TN,{label:Qt(t)("properties.label.zIndex"),type:"number",disabled:a.value,min:1,step:1,value:q.value,"onUpdate:value":ee},null,8,["label","disabled","value"]),Xo("div",YU,[Xo("button",{onClick:c[7]||(c[7]=e=>te("forward")),disabled:a.value||!J.value,class:"w-full py-2 bg-white dark:bg-gray-800 text-gray-600 dark:text-gray-300 rounded border border-gray-200 dark:border-gray-700 hover:border-blue-500 dark:hover:border-blue-400 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(t)("properties.action.moveUp")),9,XU),Xo("button",{onClick:c[8]||(c[8]=e=>te("backward")),disabled:a.value||!$.value,class:"w-full py-2 bg-white dark:bg-gray-800 text-gray-600 dark:text-gray-300 rounded border border-gray-200 dark:border-gray-700 hover:border-blue-500 dark:hover:border-blue-400 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(t)("properties.action.moveDown")),9,ZU),Xo("button",{onClick:c[9]||(c[9]=e=>te("front")),disabled:a.value||!J.value,class:"w-full py-2 bg-white dark:bg-gray-800 text-gray-600 dark:text-gray-300 rounded border border-gray-200 dark:border-gray-700 hover:border-blue-500 dark:hover:border-blue-400 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(t)("properties.action.bringToFront")),9,JU),Xo("button",{onClick:c[10]||(c[10]=e=>te("back")),disabled:a.value||!$.value,class:"w-full py-2 bg-white dark:bg-gray-800 text-gray-600 dark:text-gray-300 rounded border border-gray-200 dark:border-gray-700 hover:border-blue-500 dark:hover:border-blue-400 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(t)("properties.action.sendToBack")),9,$U)])])):na("",!0),"properties"===f.value&&"table"===n.value.type&&Qt(r).tableSelection?(Ro(),jo("div",ez,[Xo("h3",tz,oe(Qt(t)("properties.section.cellOperations")),1),Xo("div",rz,[Xo("button",{onClick:c[11]||(c[11]=e=>Qt(r).mergeSelectedCells()),disabled:!A.value||a.value,class:"w-full py-2 bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 rounded border border-blue-200 dark:border-blue-800 hover:bg-blue-100 dark:hover:bg-blue-900/50 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-gray-50 dark:disabled:bg-gray-800 disabled:text-gray-400 dark:disabled:text-gray-600 disabled:border-gray-200 dark:disabled:border-gray-700"},oe(Qt(t)("properties.action.mergeCells")),9,nz),Xo("button",{onClick:c[12]||(c[12]=e=>Qt(r).splitSelectedCells()),disabled:!d.value||a.value,class:"w-full py-2 bg-white dark:bg-gray-800 text-gray-600 dark:text-gray-300 rounded border border-gray-200 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(t)("properties.action.splitCells")),9,iz)])])):na("",!0),"properties"===f.value&&"customTable"===n.value.type&&Qt(r).customTableSelection?(Ro(),jo("div",oz,[Xo("h3",az,oe(Qt(t)("properties.section.cellOperations")),1),Xo("div",sz,[Xo("button",{onClick:c[13]||(c[13]=e=>Qt(r).mergeCustomTableCells()),disabled:!h.value||a.value,class:"w-full py-2 bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 rounded border border-blue-200 dark:border-blue-800 hover:bg-blue-100 dark:hover:bg-blue-900/50 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-gray-50 dark:disabled:bg-gray-800 disabled:text-gray-400 dark:disabled:text-gray-600 disabled:border-gray-200 dark:disabled:border-gray-700"},oe(Qt(t)("properties.action.mergeCells")),9,lz),Xo("button",{onClick:c[14]||(c[14]=e=>Qt(r).splitCustomTableCell()),disabled:!p.value||a.value,class:"w-full py-2 bg-white dark:bg-gray-800 text-gray-600 dark:text-gray-300 rounded border border-gray-200 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(t)("properties.action.splitCells")),9,uz)])])):na("",!0),(Ro(!0),jo(Do,null,pi(j.value,(e,i)=>(Ro(),jo(Do,{key:i},[B(e)?(Ro(),jo("div",cz,[Xo("h3",Az,oe(Qt(t)(e.title)),1),Xo("div",dz,[(Ro(!0),jo(Do,null,pi(e.fields,(e,i)=>(Ro(),jo(Do,{key:i},[S(e)?(Ro(),jo(Do,{key:0},["action"===e.type?(Ro(),jo("div",hz,[Xo("button",{onClick:t=>(e=>{n.value&&e.actionName&&("paginateTable"===e.actionName?r.paginateTable(n.value.id):"removeBorder"===e.actionName?r.updateElement(n.value.id,{style:{...n.value.style,borderStyle:void 0,borderWidth:void 0,borderColor:void 0,border:"none"}}):"mergeCustomCells"===e.actionName?r.mergeCustomTableCells():"splitCustomCell"===e.actionName&&r.splitCustomTableCell())})(e),disabled:a.value,class:"w-full py-2 bg-blue-600 dark:bg-blue-500 text-white rounded hover:bg-blue-700 dark:hover:bg-blue-600 transition-colors text-sm font-medium shadow-sm disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-gray-400 dark:disabled:bg-gray-700"},oe(Qt(t)(e.label)),9,pz)])):"text"===e.type||"number"===e.type||"switch"===e.type||"input"===e.type?(Ro(),Go(TN,{key:1,label:C(e),type:e.type,min:E(e),max:I(e),step:T(e),disabled:a.value,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"",value:k(e),"onUpdate:value":t=>W(e,((e,t)=>_(e)?Sw(Number(t),g.value):"number"===e.type?Number(t):t)(e,t))},null,8,["label","type","min","max","step","disabled","placeholder","value","onUpdate:value"])):"select"===e.type?(Ro(),Go(DN,{key:2,label:Qt(t)(e.label),options:(e.options||[]).map(e=>({...e,label:Qt(t)(e.label)})),disabled:a.value,value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","options","disabled","value","onUpdate:value"])):"color"===e.type?(Ro(),Go(zN,{key:3,label:Qt(t)(e.label),disabled:a.value,value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","value","onUpdate:value"])):"image"===e.type?(Ro(),Go(rO,{key:4,label:Qt(t)(e.label),disabled:a.value,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:void 0,value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","placeholder","value","onUpdate:value"])):"code"===e.type?(Ro(),Go(qN,{key:5,label:Qt(t)(e.label),language:e.language||"javascript",disabled:a.value,value:Q(e),"onUpdate:value":t=>((e,t)=>{if("json"===e.language)try{const r=JSON.parse(t);D(e.key,r)}catch(gH){}else D(e.key,t)})(e,t)},null,8,["label","language","disabled","value","onUpdate:value"])):"field"===e.type?(Ro(),Go(mO,{key:6,label:Qt(t)(e.label),disabled:a.value,filter:e.filter,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:Qt(t)("properties.label.selectField"),value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","filter","placeholder","value","onUpdate:value"])):"columnPicker"===e.type?(Ro(),Go(CO,{key:7,label:Qt(t)(e.label),disabled:a.value,fields:R.value,value:O(),"onUpdate:value":c[15]||(c[15]=e=>F(e)),"data-trigger":U.value},null,8,["label","disabled","fields","value","data-trigger"])):"chartDataSelect"===e.type?(Ro(),Go(NO,{key:8,label:Qt(t)(e.label),disabled:a.value,value:n.value.chartDataVariable,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"","onUpdate:value":c[16]||(c[16]=e=>D("chartDataVariable",e))},null,8,["label","disabled","value","placeholder"])):"chartFieldSelect"===e.type?(Ro(),Go(qO,{key:9,label:Qt(t)(e.label),disabled:a.value,value:n.value[e.key],"data-variable":n.value.chartDataVariable,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"","onUpdate:value":t=>D(e.key,t)},null,8,["label","disabled","value","data-variable","placeholder","onUpdate:value"])):"columnAlias"===e.type?(Ro(),Go(aU,{key:10,label:Qt(t)(e.label),disabled:a.value,columns:n.value.columns,"test-data":Qt(r).testData,variable:n.value.variable,variables:Qt(r).variables,"onUpdate:columns":c[17]||(c[17]=e=>D("columns",e))},null,8,["label","disabled","columns","test-data","variable","variables"])):"longText"===e.type?(Ro(),Go(kU,{key:11,label:Qt(t)(e.label),disabled:a.value,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"",value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","placeholder","value","onUpdate:value"])):"textarea"===e.type?(Ro(),jo("div",fz,[Xo("label",gz,oe(Qt(t)(e.label)),1),Xo("textarea",{placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"",disabled:a.value,value:["data","columns","footerData"].includes(e.key)?JSON.stringify(n.value[e.key],null,2):G(e),onChange:t=>["data","columns","footerData"].includes(e.key)?((e,t)=>{try{const r=t.target.value;D(e,JSON.parse(r))}catch(r){Qm.error("Invalid JSON")}})(e.key,t):W(e,t.target.value),class:"w-full px-3 py-2 text-sm border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none h-24 resize-y font-mono disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},null,40,vz)])):"richText"===e.type?(Ro(),jo("div",mz,[Zo(cF,{label:Qt(t)(e.label),disabled:a.value,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"",value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","placeholder","value","onUpdate:value"])])):"nestedColumns"===e.type?(Ro(),jo("div",yz,[Zo(EF,{label:Qt(t)(e.label),disabled:a.value,value:n.value[e.key],"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","value","onUpdate:value"])])):"nestedTableData"===e.type?(Ro(),jo("div",bz,[Zo($F,{label:Qt(t)(e.label),disabled:a.value,value:n.value[e.key],"child-field":n.value.childField,"onUpdate:value":t=>W(e,t),"onUpdate:parentField":t=>W({...e,key:"parentLabelKey"},t),"onUpdate:childField":t=>W({...e,key:"childField"},t)},null,8,["label","disabled","value","child-field","onUpdate:value","onUpdate:parentField","onUpdate:childField"])])):na("",!0)],64)):na("",!0)],64))),128))])])):na("",!0)],64))),128)),"style"!==f.value||u.value?na("",!0):(Ro(),jo("div",wz,[Xo("h3",xz,oe(Qt(t)("properties.section.appearance")),1),Zo(zN,{label:Qt(t)("properties.label.backgroundColor"),disabled:a.value,value:n.value.style.backgroundColor||"#ffffff","onUpdate:value":c[18]||(c[18]=e=>N("backgroundColor",e))},null,8,["label","disabled","value"])]))])])):(Ro(),jo("div",_z,[Xo("div",Cz,[Xo("h3",Sz,oe(Qt(t)("properties.empty.noSelection")),1),Xo("p",Bz,oe(Qt(t)("properties.empty.selectInstruction")),1)])]))],32),Zo(Kk,{show:s.value,"initial-value":l.value,"initial-values":P.value,fields:M.value,title:Qt(t)("properties.action.saveCustomModal"),placeholder:Qt(t)("sidebar.enterNamePlaceholder"),onClose:c[19]||(c[19]=e=>s.value=!1),onSave:L},null,8,["show","initial-value","initial-values","fields","title","placeholder"])],64))}}),Ez=zC(kz,[["__scopeId","data-v-64c28b3f"]]),Iz=Nn({__name:"Ruler",props:{type:{},zoom:{},scroll:{},offset:{},thick:{},indicators:{},range:{},unit:{}},emits:["guide-drag-start"],setup(e,{emit:t}){const r=e,{isDark:n}=ew(),i=Ft(null),o=r.thick||20,a=()=>{const e=i.value;if(!e)return;const t=e.getContext("2d");if(!t)return;const a=e.width,s=e.height,{zoom:l,scroll:u,offset:c,type:A,indicators:d,range:h}=r,p=n.value;if(t.clearRect(0,0,a,s),t.fillStyle=p?"#1f2937":"#F9FAFB",t.fillRect(0,0,a,s),h){const e=c+h.start*l-u,r=c+h.end*l-u,n=Math.min(e,r),i=Math.max(e,r),a=Math.max(0,i-n);t.fillStyle=h.color,"horizontal"===A?t.fillRect(n,0,a,o):t.fillRect(0,n,o,a)}if(d&&d.length>0)for(const r of d){const e=c+r.position*l-u;t.fillStyle=r.color,"horizontal"===A?t.fillRect(e-2,0,4,o):t.fillRect(0,e-2,o,4)}t.strokeStyle=p?"#6b7280":"#9CA3AF",t.fillStyle=p?"#9ca3af":"#6B7280",t.lineWidth=1,t.font="10px sans-serif",t.beginPath();const f="mm"===r.unit?vw:"pt"===r.unit?yw:"in"===r.unit?96:"cm"===r.unit?ww:1,g=50/(f*l),v=[.1,.2,.5,1,2,5,10,20,50,100,200,500,1e3];let m=v[v.length-1];for(const r of v)if(r>=g-.001){m=r;break}const y=(-c+u)/(l*f),b=(("horizontal"===A?a:s)-c+u)/(l*f);for(let r=Math.floor(y/m)*m;r<=b;r+=m){const e=c+r*f*l-u,n=Number(r.toFixed(1)).toString();"horizontal"===A?(t.moveTo(e,0),t.lineTo(e,o),t.fillText(n,e+2,10)):(t.moveTo(0,e),t.lineTo(o,e),t.save(),t.translate(10,e+2),t.rotate(-Math.PI/2),t.fillText(n,4,0),t.restore());const i=m/5;for(let a=1;a<5;a++){const e=c+(r+i*a)*f*l-u;"horizontal"===A?(t.moveTo(e,o-5),t.lineTo(e,o)):(t.moveTo(o-5,e),t.lineTo(o,e))}}t.stroke()},s=new ResizeObserver(e=>{for(const t of e){const e=i.value;if(e){const{width:r,height:n}=t.contentRect;e.width=r,e.height=n,a()}}});ei(()=>{i.value&&(s.observe(i.value.parentElement),a())}),ii(()=>{s.disconnect()}),an(()=>[r.zoom,r.scroll,r.offset,r.indicators,r.unit,n.value],a,{deep:!0});const l=t,u=e=>{l("guide-drag-start",e)};return(e,t)=>(Ro(),jo("div",{class:"w-full h-full overflow-hidden bg-gray-50 dark:bg-gray-800 relative",onMousedown:u},[Xo("canvas",{ref_key:"canvasRef",ref:i,class:"block"},null,512)],32))}}),Tz={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Pz=Lt({name:"material-symbols-content-cut",render:function(e,t){return Ro(),jo("svg",Tz,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m19 21l-7-7l-2.35 2.35q.2.375.275.8T10 18q0 1.65-1.175 2.825T6 22t-2.825-1.175T2 18t1.175-2.825T6 14q.425 0 .85.075t.8.275L10 12L7.65 9.65q-.375.2-.8.275T6 10q-1.65 0-2.825-1.175T2 6t1.175-2.825T6 2t2.825 1.175T10 6q0 .425-.075.85t-.275.8L22 20v1zm-4-10l-2-2l6-6h3v1zM7.413 7.413Q8 6.825 8 6t-.587-1.412T6 4t-1.412.588T4 6t.588 1.413T6 8t1.413-.587m4.937 4.937q.15-.15.15-.35t-.15-.35t-.35-.15t-.35.15t-.15.35t.15.35t.35.15t.35-.15m-4.937 7.063Q8 18.825 8 18t-.587-1.412T6 16t-1.412.588T4 18t.588 1.413T6 20t1.413-.587"},null,-1)])])}}),Mz={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Lz=Lt({name:"material-symbols-lock-open",render:function(e,t){return Ro(),jo("svg",Mz,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M6 8h9V6q0-1.25-.875-2.125T12 3t-2.125.875T9 6H7q0-2.075 1.463-3.537T12 1t3.538 1.463T17 6v2h1q.825 0 1.413.588T20 10v10q0 .825-.587 1.413T18 22H6q-.825 0-1.412-.587T4 20V10q0-.825.588-1.412T6 8m7.413 8.413Q14 15.825 14 15t-.587-1.412T12 13t-1.412.588T10 15t.588 1.413T12 17t1.413-.587"},null,-1)])])}}),Dz={class:"bg-white border border-gray-200 shadow-xl rounded-md min-w-[160px] py-1"},Nz=["disabled"],Oz={class:"flex-1"},Fz={class:"text-xs text-gray-400"},Uz=["disabled"],zz={class:"flex-1"},Rz={class:"text-xs text-gray-400"},Qz=["disabled"],Hz={class:"flex-1"},Vz={class:"text-xs text-gray-400"},jz=["disabled"],Gz={class:"flex-1"},Wz={class:"text-xs text-gray-400"},Kz=["disabled"],qz={class:"flex-1"},Yz={class:"text-xs text-gray-400"},Xz={class:"flex-1"},Zz={class:"text-xs text-gray-400"},Jz={class:"flex-1"},$z={class:"text-xs text-gray-400"},eR=Nn({__name:"Shortcuts",setup(e){const{t:t}=dh(),r=Wb(),n=nn("designer-root"),i=Ft(!1),o=Ft(0),a=Ft(0),s=Ft(0),l=Ft(0),u=Ft(null),c=Ft(!1),A=Ft(0),d=Ft(0),h=e=>{A.value=e.clientX,d.value=e.clientY},p=()=>{var e;return(null==(e=null==n?void 0:n.value)?void 0:e.getRootNode())||document},f=(e,t)=>{const n=p().querySelectorAll(".print-page");if(0===n.length)return;let i=null,o=1/0,a=0;for(let s=0;s<n.length;s++){const l=n[s],u=l.getBoundingClientRect();if(e>=u.left&&e<=u.right&&t>=u.top&&t<=u.bottom)return{pageIndex:s,x:(e-u.left)/r.zoom,y:(t-u.top)/r.zoom};const c=Math.max(u.left-e,0,e-u.right),A=Math.max(u.top-t,0,t-u.bottom),d=Math.sqrt(c*c+A*A);d<o&&(o=d,i=l,a=s)}if(i){const n=i.getBoundingClientRect();let o=(e-n.left)/r.zoom,s=(t-n.top)/r.zoom;return o=Math.max(0,Math.min(r.canvasSize.width,o)),s=Math.max(0,Math.min(r.canvasSize.height,s)),{pageIndex:a,x:o,y:s}}},g=e=>{if(r.disableGlobalShortcuts)return;if((e.ctrlKey||e.metaKey)&&e.altKey&&"n"===e.key.toLowerCase())return e.preventDefault(),e.stopPropagation(),void window.dispatchEvent(new CustomEvent("designer:new-template"));if((e.ctrlKey||e.metaKey)&&","===e.key)return e.preventDefault(),e.stopPropagation(),void r.setShowSettings(!0);const t=e.target;if(t&&t.closest('input, textarea, select, [contenteditable="true"]'))return;if(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(e.key)){const t=e.shiftKey?10:1;if(r.selectedGuideId){const n=r.guides.find(e=>e.id===r.selectedGuideId);if(n){e.preventDefault();const i=n.position;let o=i;if("vertical"===n.type)if("ArrowLeft"===e.key)o-=t;else{if("ArrowRight"!==e.key)return;o+=t}else if("ArrowUp"===e.key)o-=t;else{if("ArrowDown"!==e.key)return;o+=t}(i>0&&o<0||i<0&&o>0||0===o)&&(o=0),r.updateGuide(n.id,o),r.setHighlightedGuide(n.id)}}else if(r.selectedElementIds.length>0){e.preventDefault();const n="ArrowLeft"===e.key?-t:"ArrowRight"===e.key?t:0,i="ArrowUp"===e.key?-t:"ArrowDown"===e.key?t:0;r.nudgeSelectedElements(n,i)}return}if((e.ctrlKey||e.metaKey)&&"a"===e.key.toLowerCase()){if(e.preventDefault(),r.pages[r.currentPageIndex]){const e=r.pages[r.currentPageIndex].elements.map(e=>e.id);r.setSelection(e)}return}if("Delete"===e.key)return void(r.selectedElementIds.length>1?(e.preventDefault(),r.removeSelectedElements()):r.selectedElementId?(e.preventDefault(),r.removeElement(r.selectedElementId)):r.selectedGuideId&&(e.preventDefault(),r.removeGuide(r.selectedGuideId)));if((e.ctrlKey||e.metaKey)&&"c"===e.key.toLowerCase())return void(r.selectedElementId&&(e.preventDefault(),r.copy()));if((e.ctrlKey||e.metaKey)&&"x"===e.key.toLowerCase())return void(r.selectedElementId&&(e.preventDefault(),r.cut()));if((e.ctrlKey||e.metaKey)&&"v"===e.key.toLowerCase())return void(r.clipboard.length>0&&(e.preventDefault(),r.paste(f(A.value,d.value))));if((e.ctrlKey||e.metaKey)&&"h"===e.key.toLowerCase())return e.preventDefault(),void r.setShowHelp(!0);if(r.showHelp&&"Escape"===e.key)return e.preventDefault(),void r.setShowHelp(!1);if((e.ctrlKey||e.metaKey)&&"p"===e.key.toLowerCase())return e.preventDefault(),void r.setCanvasPreview(!r.canvasPreview);if((e.ctrlKey||e.metaKey)&&"z"===e.key.toLowerCase()&&!e.shiftKey)return e.preventDefault(),void r.undo();if((e.ctrlKey||e.metaKey)&&("y"===e.key.toLowerCase()||"z"===e.key.toLowerCase()&&e.shiftKey))return e.preventDefault(),void r.redo();if((e.ctrlKey||e.metaKey)&&"l"===e.key.toLowerCase())return e.preventDefault(),void r.toggleLock();if((e.ctrlKey||e.metaKey)&&e.shiftKey&&"p"===e.key.toLowerCase())return e.preventDefault(),void window.dispatchEvent(new CustomEvent("designer:preview"));const n=e.ctrlKey||e.metaKey,i=e.key.toLowerCase();return!r.editingCustomElementId||!n||"s"!==i&&"q"!==i?n&&"s"===i?(e.preventDefault(),void window.dispatchEvent(new CustomEvent("designer:save"))):!e.ctrlKey&&!e.metaKey||"p"!==e.key.toLowerCase()||e.shiftKey?(e.ctrlKey||e.metaKey)&&e.shiftKey&&"e"===e.key.toLowerCase()?(e.preventDefault(),void window.dispatchEvent(new CustomEvent("designer:export-pdf"))):(e.ctrlKey||e.metaKey)&&e.shiftKey&&"j"===e.key.toLowerCase()?(e.preventDefault(),void window.dispatchEvent(new CustomEvent("designer:view-json"))):void 0:(e.preventDefault(),void window.dispatchEvent(new CustomEvent("designer:print"))):void 0},v=e=>{["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(e.key)&&(r.setHighlightedGuide(null),r.setHighlightedEdge(null))},m=async e=>{const t=p().querySelector(".overflow-auto"),r=e.composedPath();if(!(!!t&&r.some(e=>e===t||e instanceof Element&&t.contains(e))))return;if(e.preventDefault(),i.value=!0,o.value=e.clientX,a.value=e.clientY,s.value=e.clientX,l.value=e.clientY,await br(),u.value){const t=u.value.getBoundingClientRect(),r=window.innerWidth,n=window.innerHeight;e.clientX+t.width>r&&(o.value=r-t.width-5),e.clientY+t.height>n&&(a.value=n-t.height-5)}const n=p().querySelectorAll(".print-page");let A=!1;n.forEach(t=>{const r=t.getBoundingClientRect();e.clientX>=r.left&&e.clientX<=r.right&&e.clientY>=r.top&&e.clientY<=r.bottom&&(A=!0)}),c.value=A,window.addEventListener("click",y)},y=()=>{i.value=!1,window.removeEventListener("click",y)};return ei(()=>{window.addEventListener("keydown",g,{capture:!0}),window.addEventListener("contextmenu",m),window.addEventListener("keyup",v),window.addEventListener("mousemove",h)}),ii(()=>{window.removeEventListener("keydown",g,{capture:!0}),window.removeEventListener("contextmenu",m),window.removeEventListener("click",y),window.removeEventListener("keyup",v),window.removeEventListener("mousemove",h)}),(e,n)=>(Ro(),Go(Wa,{"enter-active-class":"transition duration-100 ease-out","enter-from-class":"transform scale-95 opacity-0","enter-to-class":"transform scale-100 opacity-100","leave-active-class":"transition duration-75 ease-in","leave-from-class":"transform scale-100 opacity-100","leave-to-class":"transform scale-95 opacity-0"},{default:Jr(()=>{var e,c,A,d,h;return[i.value?(Ro(),jo("div",{key:0,ref_key:"menuRef",ref:u,class:"fixed z-[9999]",style:G({left:`${o.value}px`,top:`${a.value}px`})},[Xo("div",Dz,[Xo("button",{class:"w-full text-left px-3 py-2 text-sm hover:bg-gray-100 disabled:opacity-50 flex items-center gap-2",disabled:0===Qt(r).selectedElementIds.length&&!Qt(r).selectedGuideId||(null==(e=Qt(r).selectedElement)?void 0:e.locked),onClick:n[0]||(n[0]=()=>{Qt(r).selectedElementIds.length>1?Qt(r).removeSelectedElements():Qt(r).selectedElementId?Qt(r).removeElement(Qt(r).selectedElementId):Qt(r).selectedGuideId&&Qt(r).removeGuide(Qt(r).selectedGuideId),i.value=!1})},[Zo(Qt(Ax),{class:"w-4 h-4"}),Xo("span",Oz,oe(Qt(t)("common.delete"))+oe(Qt(r).selectedElementIds.length>1?` (${Qt(r).selectedElementIds.length})`:""),1),Xo("span",Fz,oe(Qt(sB)(["Del"])),1)],8,Nz),Xo("button",{class:"w-full text-left px-3 py-2 text-sm hover:bg-gray-100 disabled:opacity-50 flex items-center gap-2",disabled:!Qt(r).selectedElementId||(null==(c=Qt(r).selectedElement)?void 0:c.locked),onClick:n[1]||(n[1]=()=>{Qt(r).cut(),i.value=!1})},[Zo(Qt(Pz),{class:"w-4 h-4"}),Xo("span",zz,oe(Qt(t)("common.cut")),1),Xo("span",Rz,oe(Qt(sB)(["Ctrl","X"])),1)],8,Uz),Xo("button",{class:"w-full text-left px-3 py-2 text-sm hover:bg-gray-100 disabled:opacity-50 flex items-center gap-2",disabled:!Qt(r).selectedElementId||(null==(A=Qt(r).selectedElement)?void 0:A.locked),onClick:n[2]||(n[2]=()=>{Qt(r).copy(),i.value=!1})},[Zo(Qt(ox),{class:"w-4 h-4"}),Xo("span",Hz,oe(Qt(t)("common.copy")),1),Xo("span",Vz,oe(Qt(sB)(["Ctrl","C"])),1)],8,Qz),Xo("button",{class:"w-full text-left px-3 py-2 text-sm hover:bg-gray-100 disabled:opacity-50 flex items-center gap-2",disabled:0===Qt(r).clipboard.length,onClick:n[3]||(n[3]=()=>{Qt(r).paste(f(s.value,l.value)),i.value=!1})},[Zo(Qt(sx),{class:"w-4 h-4"}),Xo("span",Gz,oe(Qt(t)("common.paste")),1),Xo("span",Wz,oe(Qt(sB)(["Ctrl","V"])),1)],8,jz),Xo("button",{class:"w-full text-left px-3 py-2 text-sm hover:bg-gray-100 disabled:opacity-50 flex items-center gap-2",disabled:0===Qt(r).selectedElementIds.length,onClick:n[4]||(n[4]=()=>{Qt(r).toggleLock(),i.value=!1})},[(Ro(),Go(Ai((null==(d=Qt(r).selectedElement)?void 0:d.locked)?Qt(Lz):Qt(ux)),{class:"w-4 h-4"})),Xo("span",qz,oe((null==(h=Qt(r).selectedElement)?void 0:h.locked)?Qt(t)("common.unlock"):Qt(t)("common.lock")),1),Xo("span",Yz,oe(Qt(sB)(["Ctrl","L"])),1)],8,Kz),n[7]||(n[7]=Xo("div",{class:"border-t border-gray-200 my-1"},null,-1)),Xo("button",{class:"w-full text-left px-3 py-2 text-sm hover:bg-gray-100 flex items-center gap-2",onClick:n[5]||(n[5]=e=>{Qt(r).undo(),i.value=!1})},[Zo(Qt(tx),{class:"w-4 h-4"}),Xo("span",Xz,oe(Qt(t)("common.undo")),1),Xo("span",Zz,oe(Qt(sB)(["Ctrl","Z"])),1)]),Xo("button",{class:"w-full text-left px-3 py-2 text-sm hover:bg-gray-100 flex items-center gap-2",onClick:n[6]||(n[6]=e=>{Qt(r).redo(),i.value=!1})},[Zo(Qt(nx),{class:"w-4 h-4"}),Xo("span",Jz,oe(Qt(t)("common.redo")),1),Xo("span",$z,oe(Qt(sB)(["Ctrl","Y"])),1)])])],4)):na("",!0)]}),_:1}))}}),tR={class:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm leading-none text-gray-300 z-10"},rR={key:2,class:"w-full h-full bg-gray-200 flex items-center justify-center overflow-hidden"},nR=["src"],iR={key:3,class:"w-full h-full bg-gray-100 flex items-center justify-center overflow-hidden"},oR=["src"],aR={key:4,class:"w-full h-full bg-gray-100 flex items-center justify-center overflow-hidden"},sR=["src"],lR={key:2,class:"w-full h-full bg-gray-200 flex items-center justify-center overflow-hidden"},uR=["src"],cR={key:3,class:"w-full h-full bg-gray-100 flex items-center justify-center overflow-hidden"},AR=["src"],dR={key:4,class:"w-full h-full bg-gray-100 flex items-center justify-center overflow-hidden"},hR=["src"],pR=Nn({__name:"Minimap",props:{scrollWidth:{},scrollHeight:{},viewportWidth:{},viewportHeight:{},scrollLeft:{},scrollTop:{},pages:{},pageWidth:{},pageHeight:{},zoom:{},contentOffsetX:{},contentOffsetY:{},canvasBackground:{},showHeaderLine:{type:Boolean},showFooterLine:{type:Boolean},headerHeight:{},footerHeight:{},watermark:{}},emits:["update:scroll"],setup(e,{emit:t}){const r=e,n=t,i=Ta(()=>{if(r.scrollWidth<=0||r.scrollHeight<=0)return.1;let e=180/r.scrollWidth;return r.scrollHeight*e>300&&(e=300/r.scrollHeight),r.scrollWidth*e<120&&(e=120/r.scrollWidth),e}),o=Ta(()=>r.scrollHeight*i.value),a=Ta(()=>({left:r.scrollLeft*i.value+"px",top:r.scrollTop*i.value+"px",width:r.viewportWidth*i.value+"px",height:r.viewportHeight*i.value+"px"})),s=Ta(()=>{const e=r.watermark;if(!e||!e.enabled||!e.text)return null;const t=e.text.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");const n=Number.isFinite(e.angle)?e.angle:-30,i=Math.max(6,e.size||24),o=Math.max(40,e.density||160),a=e.color||"#000000",s=Math.min(1,Math.max(0,e.opacity??.1));return{backgroundImage:`url("data:image/svg+xml,${encodeURIComponent(`<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}"><text x="50%" y="50%" dominant-baseline="middle" text-anchor="middle" fill="${a}" fill-opacity="${s}" font-size="${i}" transform="rotate(${n} ${o/2} ${o/2})">${t}</text></svg>`)}")`,backgroundRepeat:"repeat",backgroundSize:`${o}px ${o}px`}}),l=e=>{const t={left:r.contentOffsetX*i.value+"px",top:(r.contentOffsetY+e*(r.pageHeight+32)*r.zoom)*i.value+"px",width:r.pageWidth*r.zoom*i.value+"px",height:r.pageHeight*r.zoom*i.value+"px",backgroundColor:r.canvasBackground||"#ffffff"};return s.value?{...t,...s.value}:t},u=()=>{if(!r.pages||0===r.pages.length)return[];const e=r.pages[0];if(!(null==e?void 0:e.elements))return[];return e.elements.filter(e=>{if("TABLE"===e.type)return!1;const t=(e=>{var t;const r=(Number((null==(t=null==e?void 0:e.style)?void 0:t.rotate)||0)%360+360)%360;if(0===r)return{minY:e.y,maxY:e.y+e.height};const n=e.x+e.width/2,i=e.y+e.height/2,o=r*Math.PI/180,a=Math.cos(o),s=Math.sin(o),l=[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x,y:e.y+e.height},{x:e.x+e.width,y:e.y+e.height}];let u=1/0,c=-1/0;for(const A of l){const e=i+(A.x-n)*s+(A.y-i)*a;e<u&&(u=e),e>c&&(c=e)}return{minY:u,maxY:c}})(e),n=!0===e.repeatPerPage,i=r.showHeaderLine&&t.maxY<=r.headerHeight,o=r.showFooterLine&&t.minY>=r.pageHeight-r.footerHeight;return n||i||o})},c=e=>{var t,n,o,a,s,l,u,c,A,d,h,p;const{width:f,height:g}=(e=>({width:Math.max(1,e.width*r.zoom*i.value),height:Math.max(1,e.height*r.zoom*i.value)}))(e),v={left:e.x*r.zoom*i.value+"px",top:e.y*r.zoom*i.value+"px",width:`${f}px`,height:`${g}px`,fontSize:((null==(t=e.style)?void 0:t.fontSize)||12)*r.zoom*i.value+"px",zIndex:(null==(n=e.style)?void 0:n.zIndex)||1,transform:`rotate(${(null==(o=e.style)?void 0:o.rotate)||0}deg)`};if("LINE"===e.type){const t=(null==(a=e.style)?void 0:a.borderColor)||"#111827",n=Math.max(1,((null==(s=e.style)?void 0:s.borderWidth)||1)*r.zoom*i.value);return{...v,height:`${n}px`,backgroundColor:t,top:e.y*r.zoom*i.value+(g-n)/2+"px"}}if("RECT"===e.type||"CIRCLE"===e.type){const t=(null==(l=e.style)?void 0:l.borderColor)||"#111827",n=Math.max(1,((null==(u=e.style)?void 0:u.borderWidth)||1)*r.zoom*i.value);return{...v,backgroundColor:(null==(c=e.style)?void 0:c.backgroundColor)||"transparent",borderColor:t,borderWidth:`${n}px`,borderStyle:(null==(A=e.style)?void 0:A.borderStyle)||"solid",borderRadius:"CIRCLE"===e.type?"9999px":`${(null==(d=e.style)?void 0:d.borderRadius)||0}px`}}return"BARCODE"===e.type||"QRCODE"===e.type?{...v,backgroundColor:"rgba(17, 24, 39, 0.15)",border:"1px solid rgba(17, 24, 39, 0.3)"}:"PAGE_NUMBER"===e.type?{...v,color:(null==(h=e.style)?void 0:h.color)||"#111827",backgroundColor:(null==(p=e.style)?void 0:p.backgroundColor)||"transparent"}:{...v,backgroundColor:"IMAGE"===e.type?"#e5e7eb":void 0}},A=(e,t)=>{var n;const i=t+1,o=(null==(n=r.pages)?void 0:n.length)||1,a=e.format||"1/Total";return"1"===a?`${i}`:"Page 1"===a?`Page ${i}`:`${i}/${o}`},d=e=>{const t=e.style?JSON.stringify(e.style):"";return`${e.id}:${e.type}:${e.variable||""}:${e.content||""}:${t}`},h=Ft({}),p=Ft({});let f=0;const g=e=>"BARCODE"===e.type?e.variable||e.content||"12345678":"QRCODE"===e.type?e.variable||e.content||"https://example.com":e.variable||e.content||"",v=async e=>{try{const t=await Promise.resolve().then(()=>VG),r=(null==t?void 0:t.default)||t,n=document.createElement("canvas"),i=e.style||{};return r(n,g(e),{format:i.barcodeFormat||"CODE128",lineColor:i.color||"#000000",width:Number(i.barcodeWidth)||2,height:Number(i.barcodeHeight)||40,displayValue:!1!==i.showText&&"false"!==i.showText,fontOptions:i.fontOptions||"",font:i.font||"monospace",textAlign:i.textAlign||"center",textPosition:i.textPosition||"bottom",textMargin:Number(i.textMargin)||2,fontSize:Number(i.fontSize)||20,background:"transparent",margin:Number(i.margin)||0}),n.toDataURL("image/png")}catch{return""}},m=async e=>{var t,r;try{const n=await Promise.resolve().then(()=>aK),i=(null==n?void 0:n.default)||n;return await i.toDataURL(g(e),{margin:0,color:{dark:(null==(t=e.style)?void 0:t.color)||"#000000",light:"#00000000"},errorCorrectionLevel:(null==(r=e.style)?void 0:r.qrErrorCorrection)||"M"})}catch{return""}},y=e=>h.value[d(e)]||"",b=e=>p.value[d(e)]||"";an(()=>r.pages,()=>{(async()=>{const e=++f,t={},n={},i=r.pages||[];for(const r of i){const e=(null==r?void 0:r.elements)||[];for(const r of e){const e=d(r);if("BARCODE"===r.type){const n=await v(r);n&&(t[e]=n)}else if("QRCODE"===r.type){const t=await m(r);t&&(n[e]=t)}}}e===f&&(h.value=t,p.value=n)})()},{deep:!0,immediate:!0});const w=Ft(!1),x=Ft(null);an(()=>r.scrollTop,()=>{if(!x.value)return;const e=r.scrollTop*i.value,t=r.viewportHeight*i.value,n=x.value.clientHeight,o=x.value.scrollTop;e<o?x.value.scrollTop=e:e+t>o+n&&(x.value.scrollTop=e+t-n)});const _=e=>{e.preventDefault();const t=e.currentTarget,o=t.getBoundingClientRect(),a=e.clientX-o.left,s=e.clientY-o.top,l=r.scrollLeft*i.value,u=r.scrollTop*i.value,c=r.viewportWidth*i.value,A=r.viewportHeight*i.value;let d=0,h=0;if(a>=l&&a<=l+c&&s>=u&&s<=u+A)d=a-l,h=s-u;else{const e=a/i.value-r.viewportWidth/2,t=s/i.value-r.viewportHeight/2;n("update:scroll",{left:e,top:t}),d=c/2,h=A/2}w.value=!0;const p=e=>{const r=t.getBoundingClientRect(),o=e.clientX-r.left,a=e.clientY-r.top-h;n("update:scroll",{left:(o-d)/i.value,top:a/i.value})},f=()=>{w.value=!1,window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",f)};window.addEventListener("mousemove",p),window.addEventListener("mouseup",f)};return(t,n)=>(Ro(),jo("div",{ref_key:"scrollContainer",ref:x,class:"bg-white border border-gray-200 shadow-lg rounded max-h-[300px] overflow-y-auto overflow-x-hidden box-content no-scrollbar",style:G({width:r.scrollWidth*i.value+"px",maxWidth:"180px"})},[Xo("div",{class:"relative select-none box-content overflow-hidden",style:G({width:r.scrollWidth*i.value+"px",height:`${o.value}px`}),onMousedown:_},[n[0]||(n[0]=Xo("div",{class:"absolute inset-0 bg-gray-100"},null,-1)),(Ro(!0),jo(Do,null,pi(e.pages,(e,t)=>(Ro(),jo("div",{key:t,class:"absolute shadow-sm border border-gray-300 overflow-hidden",style:G(l(t))},[Xo("div",tR,oe(t+1),1),(Ro(!0),jo(Do,null,pi(e.elements,e=>{var r,n;return Ro(),jo("div",{key:e.id,class:"absolute",style:G(c(e))},["TEXT"===e.type?(Ro(),jo("div",{key:0,class:"w-full h-full overflow-hidden whitespace-nowrap",style:G({color:e.style.color||"#000000",fontFamily:e.style.fontFamily,fontWeight:e.style.fontWeight,fontStyle:e.style.fontStyle,textAlign:e.style.textAlign,lineHeight:1})},oe(e.variable||e.content),5)):"PAGE_NUMBER"===e.type?(Ro(),jo("div",{key:1,class:"w-full h-full overflow-hidden whitespace-nowrap",style:G({color:e.style.color||"#000000",fontFamily:e.style.fontFamily,fontWeight:e.style.fontWeight,fontStyle:e.style.fontStyle,textAlign:e.style.textAlign,lineHeight:1})},oe(A(e,t)),5)):"IMAGE"===e.type?(Ro(),jo("div",rR,[e.content?(Ro(),jo("img",{key:0,src:e.content,class:"w-full h-full object-cover"},null,8,nR)):na("",!0)])):"BARCODE"===e.type?(Ro(),jo("div",iR,[y(e)?(Ro(),jo("img",{key:0,src:y(e),class:"w-full h-full object-contain"},null,8,oR)):na("",!0)])):"QRCODE"===e.type?(Ro(),jo("div",aR,[b(e)?(Ro(),jo("img",{key:0,src:b(e),class:"w-full h-full object-contain"},null,8,sR)):na("",!0)])):"TABLE"===e.type?(Ro(),jo("div",{key:5,class:"w-full h-full border border-gray-300 bg-white grid",style:G({gridTemplateColumns:`repeat(${(null==(r=e.columns)?void 0:r.length)||2}, 1fr)`})},[(Ro(!0),jo(Do,null,pi(Math.min(6,2*((null==(n=e.columns)?void 0:n.length)||2)),e=>(Ro(),jo("div",{key:e,class:"border-[0.5px] border-gray-100"}))),128))],4)):"CUSTOM_TABLE"===e.type?(Ro(),jo("div",{key:6,class:"w-full h-full border border-gray-300 bg-white grid",style:G({gridTemplateColumns:`repeat(${e.customTableCols||3}, 1fr)`})},[(Ro(!0),jo(Do,null,pi(Math.min(6,2*(e.customTableCols||3)),e=>(Ro(),jo("div",{key:e,class:"border-[0.5px] border-gray-100"}))),128))],4)):na("",!0)],4)}),128)),t>0?(Ro(!0),jo(Do,{key:0},pi(u(),e=>{var r,n;return Ro(),jo("div",{key:`global-${t}-${e.id}`,class:"absolute",style:G(c(e))},["TEXT"===e.type?(Ro(),jo("div",{key:0,class:"w-full h-full overflow-hidden whitespace-nowrap",style:G({color:e.style.color||"#000000",fontFamily:e.style.fontFamily,fontWeight:e.style.fontWeight,fontStyle:e.style.fontStyle,textAlign:e.style.textAlign,lineHeight:1})},oe(e.variable||e.content),5)):"PAGE_NUMBER"===e.type?(Ro(),jo("div",{key:1,class:"w-full h-full overflow-hidden whitespace-nowrap",style:G({color:e.style.color||"#000000",fontFamily:e.style.fontFamily,fontWeight:e.style.fontWeight,fontStyle:e.style.fontStyle,textAlign:e.style.textAlign,lineHeight:1})},oe(A(e,t)),5)):"IMAGE"===e.type?(Ro(),jo("div",lR,[e.content?(Ro(),jo("img",{key:0,src:e.content,class:"w-full h-full object-cover"},null,8,uR)):na("",!0)])):"BARCODE"===e.type?(Ro(),jo("div",cR,[y(e)?(Ro(),jo("img",{key:0,src:y(e),class:"w-full h-full object-contain"},null,8,AR)):na("",!0)])):"QRCODE"===e.type?(Ro(),jo("div",dR,[b(e)?(Ro(),jo("img",{key:0,src:b(e),class:"w-full h-full object-contain"},null,8,hR)):na("",!0)])):"TABLE"===e.type?(Ro(),jo("div",{key:5,class:"w-full h-full border border-gray-300 bg-white grid",style:G({gridTemplateColumns:`repeat(${(null==(r=e.columns)?void 0:r.length)||2}, 1fr)`})},[(Ro(!0),jo(Do,null,pi(Math.min(6,2*((null==(n=e.columns)?void 0:n.length)||2)),e=>(Ro(),jo("div",{key:e,class:"border-[0.5px] border-gray-100"}))),128))],4)):"CUSTOM_TABLE"===e.type?(Ro(),jo("div",{key:6,class:"w-full h-full border border-gray-300 bg-white grid",style:G({gridTemplateColumns:`repeat(${e.customTableCols||3}, 1fr)`})},[(Ro(!0),jo(Do,null,pi(Math.min(6,2*(e.customTableCols||3)),e=>(Ro(),jo("div",{key:e,class:"border-[0.5px] border-gray-100"}))),128))],4)):na("",!0)],4)}),128)):na("",!0)],4))),128)),Xo("div",{class:"absolute border-2 border-blue-500 bg-blue-500/10 cursor-move z-[1000]",style:G(a.value)},null,4)],36)],4))}}),fR=zC(pR,[["__scopeId","data-v-9e6ec8c1"]]),gR={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const vR=Lt({name:"material-symbols-keyboard-arrow-right",render:function(e,t){return Ro(),jo("svg",gR,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M12.6 12L8 7.4L9.4 6l6 6l-6 6L8 16.6z"},null,-1)])])}}),mR={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const yR=Lt({name:"material-symbols-keyboard-arrow-down",render:function(e,t){return Ro(),jo("svg",mR,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m12 15.4l-6-6L7.4 8l4.6 4.6L16.6 8L18 9.4z"},null,-1)])])}}),bR={class:"text-sm font-semibold text-gray-700 dark:text-gray-200 m-0"},wR={class:"flex-1 overflow-y-auto p-2 custom-scrollbar"},xR={key:0,class:"text-xs text-gray-500 dark:text-gray-400 text-center py-4"},_R={key:1,class:"space-y-1"},CR=["onDragstart"],SR=["onClick"],BR={key:1,class:"w-4 h-4 mr-1"},kR=["title"],ER=["title"],IR={key:0,class:"ml-6 border-l border-gray-200 dark:border-gray-600 pl-1 mt-1 space-y-1"},TR=["onDragstart"],PR=["title"],MR=["title"],LR=Nn({__name:"VariablesPanel",setup(e){const{t:t}=dh(),r=Wb(),n=Ft(null),i=Ft(!1),o=Ft({x:0,y:0}),a=Ft({x:-9999,y:-9999}),s=Ft("70vh"),l=Ta(()=>r.availableVariables||[]),u=Ft(new Set),c=e=>{e.target.closest(".panel-close-btn")||(i.value=!0,o.value={x:e.clientX-a.value.x,y:e.clientY-a.value.y},document.addEventListener("mousemove",A),document.addEventListener("mouseup",d))},A=e=>{var t;if(!i.value||!n.value)return;let r=e.clientX-o.value.x,s=e.clientY-o.value.y;const l=n.value.getBoundingClientRect(),u=((null==(t=n.value)?void 0:t.getRootNode())||document).querySelector(".canvas-scroll");if(u){const e=u.getBoundingClientRect(),t=e.left,n=e.top,i=e.right-l.width,o=e.bottom-l.height;r=Math.max(t,Math.min(r,i)),s=Math.max(n,Math.min(s,o));const a=12;Math.abs(r-t)<a&&(r=t),Math.abs(s-n)<a&&(s=n),Math.abs(i-r)<a&&(r=i),Math.abs(o-s)<a&&(s=o)}else r=Math.max(0,Math.min(r,window.innerWidth-l.width)),s=Math.max(0,Math.min(s,window.innerHeight-l.height));a.value={x:r,y:s}},d=()=>{i.value=!1,document.removeEventListener("mousemove",A),document.removeEventListener("mouseup",d)},h=(e,t)=>{e.dataTransfer&&(t.isArray?e.dataTransfer.setData("application/json",JSON.stringify({type:Nm.TABLE,dataVariable:t.id})):e.dataTransfer.setData("application/json",JSON.stringify({type:Nm.TEXT,variable:t.id})),e.dataTransfer.effectAllowed="copy")};let p=0;const f=async()=>{var e;await br();const t=((null==(e=n.value)?void 0:e.getRootNode())||document).querySelector(".canvas-scroll");if(t){const e=t.getBoundingClientRect();if(0===e.width&&p<10)return p++,void setTimeout(f,50);p=0,e.left,e.top;const r=e.left,i=e.top,o=e.bottom-e.top;s.value=`${Math.max(200,o)}px`,await br();const l=n.value?n.value.getBoundingClientRect().width:280,u=n.value?n.value.getBoundingClientRect().height:400,c=Math.max(r,e.right-l),A=Math.max(i,e.bottom-u);(a.value.x<r||a.value.x>c||a.value.y<i||a.value.y>A)&&(a.value={x:Math.max(r,Math.min(a.value.x,c)),y:Math.max(i,Math.min(a.value.y,A))})}else p<10?(p++,setTimeout(f,50)):(a.value.x<0||a.value.y<0)&&(a.value={x:250,y:100})};an(()=>r.showVariablesPanel,e=>{e?(f(),br(()=>{var e;if(!g){const t=((null==(e=n.value)?void 0:e.getRootNode())||document).querySelector(".canvas-scroll");t&&(g=new ResizeObserver(()=>{r.showVariablesPanel&&f()}),g.observe(t))}})):g&&(g.disconnect(),g=null)});let g=null;return ei(()=>{r.showVariablesPanel&&(f(),br(()=>{var e;const t=((null==(e=n.value)?void 0:e.getRootNode())||document).querySelector(".canvas-scroll");t&&(g=new ResizeObserver(()=>{r.showVariablesPanel&&f()}),g.observe(t))}))}),ii(()=>{document.removeEventListener("mousemove",A),document.removeEventListener("mouseup",d),g&&g.disconnect()}),(e,i)=>Qt(r).showVariablesPanel?(Ro(),jo("div",{key:0,ref_key:"panelRef",ref:n,class:"fixed bg-white dark:bg-gray-800 shadow-xl rounded-lg border border-gray-200 dark:border-gray-700 flex flex-col z-[2000] overflow-hidden",style:G({left:`${a.value.x}px`,top:`${a.value.y}px`,width:"280px",maxHeight:s.value})},[Xo("div",{class:"flex items-center justify-between px-3 py-2 bg-gray-50 dark:bg-gray-700 border-b border-gray-200 dark:border-gray-600 cursor-move select-none",onMousedown:c},[Xo("h3",bR,oe(Qt(t)("common.variables")),1),Xo("button",{class:"panel-close-btn p-1 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-full transition-colors text-gray-500 dark:text-gray-400",onClick:i[0]||(i[0]=e=>Qt(r).setShowVariablesPanel(!1))},[Zo(Qt(Lw),{class:"w-4 h-4"})])],32),Xo("div",wR,[0===l.value.length?(Ro(),jo("div",xR,oe(Qt(t)("common.noData")),1)):(Ro(),jo("div",_R,[(Ro(!0),jo(Do,null,pi(l.value,e=>(Ro(),jo("div",{key:e.id,class:"flex flex-col"},[Xo("div",{class:"flex items-center py-1.5 px-2 rounded hover:bg-gray-100 dark:hover:bg-gray-700 group cursor-grab active:cursor-grabbing",draggable:!0,onDragstart:t=>h(t,e)},[e.children&&e.children.length>0?(Ro(),jo("button",{key:0,class:"w-4 h-4 flex items-center justify-center mr-1 text-gray-400 hover:text-gray-600 cursor-pointer",onClick:zs(t=>(e=>{const t=new Set(u.value);t.has(e)?t.delete(e):t.add(e),u.value=t,br(()=>{f()})})(e.id),["stop"])},[u.value.has(e.id)?(Ro(),Go(Qt(yR),{key:0,class:"w-4 h-4"})):(Ro(),Go(Qt(vR),{key:1,class:"w-4 h-4"}))],8,SR)):(Ro(),jo("div",BR)),Xo("span",{class:"text-sm text-gray-700 dark:text-gray-200 truncate flex-1",title:e.label},oe(e.label),9,kR),Xo("span",{class:"text-xs text-gray-400 bg-gray-100 dark:bg-gray-700 px-1 rounded truncate max-w-[100px]",title:`@${e.id}`},"@"+oe(e.id),9,ER)],40,CR),e.children&&e.children.length>0&&u.value.has(e.id)?(Ro(),jo("div",IR,[(Ro(!0),jo(Do,null,pi(e.children,e=>(Ro(),jo("div",{key:e.id,class:"flex items-center py-1.5 px-2 rounded hover:bg-gray-100 dark:hover:bg-gray-700 cursor-grab active:cursor-grabbing",draggable:!0,onDragstart:t=>h(t,e)},[Xo("span",{class:"text-sm text-gray-700 dark:text-gray-200 truncate flex-1",title:e.label},oe(e.label),9,PR),Xo("span",{class:"text-xs text-gray-400 bg-gray-100 dark:bg-gray-700 px-1 rounded truncate max-w-[100px]",title:`@${e.id}`},"@"+oe(e.id),9,MR)],40,TR))),128))])):na("",!0)]))),128))]))])],4)):na("",!0)}}),DR=zC(LR,[["__scopeId","data-v-f18f44fe"]]),NR=["张","李","王","刘","陈","杨","赵","黄","周","吴","徐","孙","胡","朱","高","林","何","郭","马","罗"],OR=["伟","芳","娜","秀英","敏","静","丽","强","磊","洋","勇","艳","杰","娟","涛","明","超","秀兰","霞","平"],FR=["James","Mary","Robert","Patricia","John","Jennifer","Michael","Linda","David","Elizabeth"],UR=["Smith","Johnson","Williams","Brown","Jones","Garcia","Miller","Davis","Rodriguez","Martinez"],zR={name:"name",title:"name",fullname:"name",username:"name",first_name:"name",last_name:"name",surname:"name",given_name:"name",age:"age",years:"age",old:"age",email:"email",mail:"email",e_mail:"email",phone:"phone",mobile:"phone",tel:"phone",telephone:"phone",cell:"phone",date:"date",time:"date",birthday:"date",birth:"date",created:"date",updated:"date",address:"address",addr:"address",location:"address",city:"city",province:"province",amount:"money",price:"money",total:"money",cost:"money",fee:"money",salary:"money",money:"money",id:"id",code:"code",number:"number",no:"number",count:"number",qty:"quantity",quantity:"quantity",status:"status",state:"state",type:"type",category:"category",gender:"gender",sex:"gender",description:"text",remark:"text",note:"text",comment:"text",content:"text",text:"text",url:"url",link:"url",website:"url",image:"image",photo:"image",avatar:"image",pic:"image",percent:"percent",rate:"percent",ratio:"percent",score:"score",grade:"score"};function RR(e,t){return Math.floor(Math.random()*(t-e+1))+e}function QR(e,t,r=2){return parseFloat((Math.random()*(t-e)+e).toFixed(r))}function HR(e){return e[Math.floor(Math.random()*e.length)]}function VR(e,t,r){switch(e){case"name":return"zh"===r?HR(NR)+HR(OR):HR(FR)+" "+HR(UR);case"age":return RR(18,65);case"email":return`user${t+1}@example.com`;case"phone":return`1${RR(30,99)}${String(RR(1e7,99999999))}`;case"date":return`${RR(2020,2025)}-${String(RR(1,12)).padStart(2,"0")}-${String(RR(1,28)).padStart(2,"0")}`;case"address":return"zh"===r?`北京市${["朝阳区","海淀区","西城区","东城区"][RR(0,3)]}${HR(["中关村","望京","三里屯","国贸"])}路${RR(1,999)}号`:`${RR(100,9999)} ${HR(["Main St","Oak Ave","Elm Rd","Park Blvd"])}, ${HR(["New York","Los Angeles","Chicago","Houston"])}`;case"city":return HR("zh"===r?["北京市","上海市","广州市","深圳市","杭州市","成都市"]:["New York","Los Angeles","Chicago","Houston","Phoenix"]);case"province":return HR("zh"===r?["北京","上海","广东","浙江","四川","江苏"]:["California","Texas","New York","Florida","Illinois"]);case"money":return QR(10,99999,2);case"id":return RR(10001,99999);case"code":return`${HR(["A","B","C","D","E"])}${String(RR(1,999)).padStart(3,"0")}`;case"number":return RR(1,1e3);case"quantity":return RR(1,50);case"status":return HR(["active","inactive","pending","completed","cancelled"]);case"gender":return HR(["male","female"]);case"text":return"zh"===r?`这是一段示例文本内容,序号${t+1}`:`This is a sample text content for item ${t+1}`;case"url":return`https://example.com/item/${t+1}`;case"image":return`https://picsum.photos/200/200?random=${t}`;case"percent":case"score":return QR(0,100,1);default:return`Value ${t+1}`}}function jR(e,t=10,r="zh"){if(!e||0===e.length)return[];const n=e.map(e=>function(e){const t=e.toLowerCase().replace(/[_\-\s]/g,"");for(const[r,n]of Object.entries(zR))if(t.includes(r))return n;return"text"}(e)),i=[];for(let o=0;o<t;o++){const t={};e.forEach((e,i)=>{t[e]=VR(n[i],o,r)}),i.push(t)}return i}const GR={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const WR=Lt({name:"material-symbols-download",render:function(e,t){return Ro(),jo("svg",GR,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m12 16l-5-5l1.4-1.45l2.6 2.6V4h2v8.15l2.6-2.6L17 11zm-6 4q-.825 0-1.412-.587T4 18v-3h2v3h12v-3h2v3q0 .825-.587 1.413T18 20z"},null,-1)])])}}),KR={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const qR=Lt({name:"material-symbols-upload",render:function(e,t){return Ro(),jo("svg",KR,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M11 16V7.85l-2.6 2.6L7 9l5-5l5 5l-1.4 1.45l-2.6-2.6V16zm-5 4q-.825 0-1.412-.587T4 18v-3h2v3h12v-3h2v3q0 .825-.587 1.413T18 20z"},null,-1)])])}}),YR={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const XR=Lt({name:"material-symbols-refresh",render:function(e,t){return Ro(),jo("svg",YR,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M12 20q-3.35 0-5.675-2.325T4 12t2.325-5.675T12 4q1.725 0 3.3.712T18 6.75V4h2v7h-7V9h4.2q-.8-1.4-2.187-2.2T12 6Q9.5 6 7.75 7.75T6 12t1.75 4.25T12 18q1.925 0 3.475-1.1T17.65 14h2.1q-.7 2.65-2.85 4.325T12 20"},null,-1)])])}}),ZR={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const JR=Lt({name:"material-symbols-code",render:function(e,t){return Ro(),jo("svg",ZR,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m8 18l-6-6l6-6l1.425 1.425l-4.6 4.6L9.4 16.6zm8 0l-1.425-1.425l4.6-4.6L14.6 7.4L16 6l6 6z"},null,-1)])])}}),$R={class:"tree-node"},eQ={key:0,class:"text-xs select-none"},tQ={key:1,class:"text-xs select-none"},rQ={key:1,class:"w-4 flex-shrink-0"},nQ={key:2,class:"text-gray-400 flex-shrink-0"},iQ={key:3,class:"text-gray-400 flex-shrink-0"},oQ={key:0,class:"text-xs text-gray-400 truncate max-w-[300px]"},aQ={key:0,class:"border-l-2 border-gray-200 dark:border-gray-700 ml-4"},sQ=Nn({__name:"DataTreeNode",props:{nodeKey:{},nodeValue:{},depth:{},path:{},expandedKeys:{}},emits:["toggle"],setup(e,{emit:t}){const r=e,n=t,i=Ta(()=>r.expandedKeys.has(r.path.join("."))),o=Ta(()=>{if(null===r.nodeValue||void 0===r.nodeValue)return!1;if("object"!=typeof r.nodeValue)return!1;return Object.keys(r.nodeValue).length>0}),a=Ta(()=>Array.isArray(r.nodeValue)),s=e=>null===e?{type:"null",label:"null"}:void 0===e?{type:"undefined",label:"undefined"}:"string"==typeof e?{type:"string",label:"string"}:"number"==typeof e?{type:"number",label:"number"}:"boolean"==typeof e?{type:"boolean",label:"boolean"}:Array.isArray(e)?{type:"array",label:"array"}:"object"==typeof e?{type:"object",label:"object"}:{type:"unknown",label:"unknown"},l=(e,t)=>{if("string"===t.type){const t=e;return t.length>80?`"${t.slice(0,80)}..."`:`"${t}"`}return"null"===t.type?"null":"undefined"===t.type?"undefined":"number"===t.type||"boolean"===t.type?e.toString():""},u=e=>{if(null==e)return"";if(!Array.isArray(e)){const t=Object.keys(e);return t.length>0?`${t.length}`:"0"}return e.length>0?`${e.length}`:"0"},c=Ta(()=>{if(!o.value)return"";if(a.value){const e=r.nodeValue;if(0===e.length)return"";return e.slice(0,2).map(e=>{const t=s(e);return"object"===t.type||"array"===t.type?"array"===t.type?"[]":"{}":l(e,t)}).join(", ")+(e.length>2?", ...":"")}{const e=r.nodeValue,t=Object.keys(e);return 0===t.length?"":t.slice(0,3).join(", ")+(t.length>3?", ...":"")}}),A=Ta(()=>o.value?a.value?r.nodeValue.map((e,t)=>({key:t.toString(),value:e,isIndex:!0})):Object.entries(r.nodeValue).map(([e,t])=>({key:e,value:t,isIndex:!1})):[]),d=()=>{o.value&&n("toggle",r.path)},h=Ta(()=>0===r.depth);return(t,r)=>{const p=di(ui,f="DataTreeNode",!0,!0)||f;var f;return Ro(),jo("div",$R,[Xo("div",{class:X(["flex items-center gap-2 py-1.5 px-3 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-800/50 transition-colors cursor-pointer",{"font-semibold":h.value,"font-normal":!h.value}]),style:G({paddingLeft:20*e.depth+12+"px"}),onClick:d},[o.value?(Ro(),jo("button",{key:0,onClick:zs(d,["stop"]),class:"w-4 h-4 flex items-center justify-center text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors flex-shrink-0"},[i.value?(Ro(),jo("span",eQ,"▼")):(Ro(),jo("span",tQ,"▶"))])):(Ro(),jo("div",rQ)),Xo("span",{class:X(["text-sm select-all flex-shrink-0",h.value?"text-black dark:text-white":"text-black dark:text-black"])},oe(a.value?`[${e.nodeKey}]`:e.nodeKey),3),o.value?(Ro(),jo("span",nQ,":")):(Ro(),jo("span",iQ,"=")),o.value?(Ro(),jo(Do,{key:5},[Xo("span",{class:X(["px-2 py-0.5 rounded text-xs font-medium flex-shrink-0",{"bg-indigo-100 dark:bg-indigo-900/30 text-indigo-600 dark:text-indigo-400":"array"===s(e.nodeValue).type,"bg-violet-100 dark:bg-violet-900/30 text-violet-600 dark:text-violet-400":"object"===s(e.nodeValue).type}])},oe("array"===s(e.nodeValue).type?"Array":"Object")+" ("+oe(u(e.nodeValue))+") ",3),!i.value&&c.value?(Ro(),jo("span",oQ,oe(c.value),1)):na("",!0)],64)):(Ro(),jo("span",{key:4,class:X(["px-2 py-0.5 rounded text-xs font-medium flex-shrink-0",{"bg-orange-100 dark:bg-orange-900/30 text-orange-600 dark:text-orange-400":"string"===s(e.nodeValue).type,"bg-blue-100 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400":"number"===s(e.nodeValue).type,"bg-purple-100 dark:bg-purple-900/30 text-purple-600 dark:text-purple-400":"boolean"===s(e.nodeValue).type,"bg-gray-100 dark:bg-gray-700 text-gray-500 dark:text-gray-400":"null"===s(e.nodeValue).type||"undefined"===s(e.nodeValue).type}])},oe(l(e.nodeValue,s(e.nodeValue))),3))],6),o.value&&i.value?(Ro(),jo("div",aQ,[(Ro(!0),jo(Do,null,pi(A.value,t=>(Ro(),Go(p,{key:t.key,"node-key":t.key,"node-value":t.value,depth:e.depth+1,path:[...e.path,t.key],"expanded-keys":e.expandedKeys,onToggle:r[0]||(r[0]=e=>n("toggle",e))},null,8,["node-key","node-value","depth","path","expanded-keys"]))),128))])):na("",!0)])}}}),lQ=zC(sQ,[["__scopeId","data-v-ab4421ba"]]),uQ=["title"],cQ=["title"],AQ=["title"],dQ=["title"],hQ=Nn({__name:"TestDataPanel",setup(e){const{t:t}=dh(),r=Wb(),n=Ta({get:()=>r.showSampleDataModal,set:e=>r.setShowSampleDataModal(!!e)}),i=Ft(!1),o=Ft("");an(()=>r.testData,e=>{i.value&&(o.value=JSON.stringify(e||{},null,2))},{immediate:!0,deep:!0});const a=()=>{n.value=!1,i.value=!1},s=()=>{if(i.value)try{const e=JSON.parse(o.value);r.setSampleData(e),i.value=!1}catch(gH){alert("JSON 格式错误,请检查")}else o.value=JSON.stringify(r.testData||{},null,2),i.value=!0},l=()=>{const e=JSON.stringify(r.testData||{},null,2),t=new Blob([e],{type:"application/json"}),n=URL.createObjectURL(t),i=document.createElement("a");i.href=n,i.download=`test-data-${Date.now()}.json`,i.click(),URL.revokeObjectURL(n)},u=()=>{const e=document.createElement("input");e.type="file",e.accept=".json",e.onchange=e=>{var t;const n=null==(t=e.target.files)?void 0:t[0];if(n){const e=new FileReader;e.onload=e=>{var t;try{const n=JSON.parse(null==(t=e.target)?void 0:t.result);r.setSampleData(n)}catch(n){alert("文件格式错误")}},e.readAsText(n)}},e.click()},c=()=>{confirm("确定要清空所有数据吗?")&&(r.setSampleData({}),i.value&&(o.value="{}"))},A=()=>{const e=JSON.stringify(r.testData||{},null,2);navigator.clipboard.writeText(e)},d=()=>{const e=function(e){const t=new Set,r=(null==e?void 0:e.pages)||[];for(const n of r){const e=(null==n?void 0:n.elements)||[];for(const r of e){if(null==r?void 0:r.variable){const e=r.variable.replace(/^{#/,"").replace(/}$/,"").replace(/^@/,"");t.add(e)}if(null==r?void 0:r.columns)for(const e of r.columns)(null==e?void 0:e.field)&&t.add(e.field);if((null==r?void 0:r.chartXField)&&t.add(r.chartXField),(null==r?void 0:r.chartYField)&&t.add(r.chartYField),null==r?void 0:r.customTableCells)for(const e of r.customTableCells)(null==e?void 0:e.field)&&t.add(e.field)}}return Array.from(t)}(r);if(0===e.length)return void alert("未检测到模板中的变量字段,请先在元素中绑定变量");const t=r.testData||{};if(Object.keys(t).length>0&&!confirm("已有测试数据,生成 Mock 数据会覆盖现有数据。确定继续?"))return;const n=function(e,t="zh"){return e&&0!==e.length&&jR(e,1,t)[0]||{}}(e,"zh");Object.keys(n).length>0?(r.setSampleData(n),i.value&&(o.value=JSON.stringify(n,null,2))):alert("未检测到模板中的变量字段,请先在元素中绑定变量")},h=Ft(new Set),p=e=>e.join("."),f=e=>{const t=p(e),r=new Set(h.value);r.has(t)?r.delete(t):r.add(t),h.value=r},g=()=>{const e=new Set,t=(r,n)=>{r&&"object"==typeof r&&(e.add(p(n)),Object.keys(r).forEach(e=>{t(r[e],[...n,e])}))};t(r.testData,[]),h.value=e},v=()=>{h.value=new Set},m=Ta(()=>r.testData&&"object"==typeof r.testData?Object.entries(r.testData):[]);return(e,r)=>(Ro(),Go(yn,{to:"body"},[n.value?(Ro(),jo("div",{key:0,style:G("position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,0.5);backdrop-filter:blur(4px);pointer-events:auto;"),onClick:zs(a,["self"])},[Xo("div",{style:G("width:900px;height:85vh;display:flex;flex-direction:column;overflow:hidden;border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.25);background-color:#ffffff;border:1px solid #e5e7eb;color-scheme:light;")},[Xo("div",{style:G("display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:linear-gradient(to right,#f9fafb,#ffffff);")},[Xo("div",{style:G("display:flex;align-items:center;gap:12px;")},[Xo("div",{style:G("width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;background-color:#dbeafe;")},[Zo(Qt(JR),{style:G("width:20px;height:20px;color:#2563eb;")},null,8,["style"])],4),Xo("div",{style:G("display:flex;flex-direction:column;")},[Xo("h2",{style:G("font-size:18px;font-weight:700;color:#111827;margin:0;")},oe(Qt(t)("testData.title")),5),Xo("p",{style:G("font-size:12px;color:#6b7280;margin:0;")},"数据预览 · 变量绑定测试",4)],4)],4),Xo("div",{style:G("display:flex;align-items:center;gap:4px;")},[Xo("button",{style:G("width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background-color:transparent;color:#6b7280;cursor:pointer;"),onClick:A,title:Qt(t)("testData.copy")},[Zo(Qt(ox),{style:G("width:20px;height:20px;")},null,8,["style"])],12,uQ),Xo("button",{style:G("width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background-color:transparent;color:#6b7280;cursor:pointer;"),onClick:l,title:Qt(t)("testData.export")},[Zo(Qt(WR),{style:G("width:20px;height:20px;")},null,8,["style"])],12,cQ),Xo("button",{style:G("width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background-color:transparent;color:#6b7280;cursor:pointer;"),onClick:u,title:Qt(t)("testData.import")},[Zo(Qt(qR),{style:G("width:20px;height:20px;")},null,8,["style"])],12,AQ),Xo("div",{style:G("width:1px;height:24px;background-color:#d1d5db;margin:0 8px;")},null,4),Xo("button",{style:G("padding:6px 12px;font-size:14px;font-weight:500;border-radius:8px;border:none;background-color:transparent;color:#4b5563;cursor:pointer;"),onClick:d,title:"生成 Mock 数据"}," 🎲 Mock ",4),Xo("button",{style:G("padding:6px 12px;font-size:14px;font-weight:500;border-radius:8px;border:none;background-color:transparent;color:#4b5563;cursor:pointer;"),onClick:g},"展开全部",4),Xo("button",{style:G("padding:6px 12px;font-size:14px;font-weight:500;border-radius:8px;border:none;background-color:transparent;color:#4b5563;cursor:pointer;"),onClick:v},"收起全部",4),Xo("button",{style:G("width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background-color:transparent;color:#ef4444;cursor:pointer;"),onClick:c,title:Qt(t)("testData.reset")},[Zo(Qt(XR),{style:G("width:20px;height:20px;")},null,8,["style"])],12,dQ),Xo("button",{style:G("width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background-color:transparent;color:#6b7280;cursor:pointer;"),onClick:a},[Zo(Qt(Lw),{style:G("width:20px;height:20px;")},null,8,["style"])],4)],4)],4),Xo("div",{style:G("flex:1;overflow:hidden;display:flex;flex-direction:column;")},[i.value?en((Ro(),jo("textarea",{key:0,"onUpdate:modelValue":r[0]||(r[0]=e=>o.value=e),style:G("width:100%;height:500px;padding:16px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;border:none;background-color:#f9fafb;color:#374151;resize:none;outline:none;"),placeholder:"输入 JSON 数据..."},null,4)),[[Ms,o.value]]):(Ro(),jo("div",{key:1,style:G("height:70vh;overflow:auto;padding:16px;")},[0===m.value.length?(Ro(),jo("div",{key:0,style:G("height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;")},[Xo("div",{style:G("width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6;margin-bottom:16px;")},[Zo(Qt(JR),{style:G("width:40px;height:40px;opacity:0.5;")},null,8,["style"])],4),Xo("p",{style:G("font-size:18px;font-weight:500;color:#6b7280;margin:0 0 8px 0;")},"暂无测试数据",4),Xo("p",{style:G("font-size:14px;color:#9ca3af;margin:0;")},"点击右上角「编辑 JSON」添加数据,或导入 JSON 文件",4)],4)):(Ro(),jo("div",{key:1,style:G("display:flex;flex-direction:column;gap:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;")},[(Ro(!0),jo(Do,null,pi(m.value,([e,t])=>(Ro(),Go(lQ,{key:e,"node-key":e,"node-value":t,depth:0,path:[e],"expanded-keys":h.value,onToggle:f},null,8,["node-key","node-value","path","expanded-keys"]))),128))],4))],4))],4),Xo("div",{style:G("display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid #e5e7eb;background-color:#f9fafb;")},[Xo("div",{style:G("display:flex;align-items:center;gap:16px;")},[Xo("button",{style:G(i.value?"padding:8px 16px;font-size:14px;font-weight:500;border-radius:8px;border:none;background-color:#16a34a;color:#ffffff;cursor:pointer;":"padding:8px 16px;font-size:14px;font-weight:500;border-radius:8px;border:none;background-color:#2563eb;color:#ffffff;cursor:pointer;"),onClick:s},oe(i.value?"✓ 保存 JSON":"📝 编辑 JSON"),5),i.value?(Ro(),jo("span",{key:0,style:G("font-size:12px;color:#6b7280;")},"按 Ctrl+S 保存 · Esc 取消编辑",4)):na("",!0)],4),Xo("div",{style:G("display:flex;align-items:center;gap:16px;font-size:12px;color:#9ca3af;")},[Xo("span",{style:G("display:flex;align-items:center;gap:4px;")},[...r[1]||(r[1]=[Xo("span",{style:"width:8px;height:8px;border-radius:50%;background-color:#f97316;"},null,-1),ta(" 字符串",-1)])],4),Xo("span",{style:G("display:flex;align-items:center;gap:4px;")},[...r[2]||(r[2]=[Xo("span",{style:"width:8px;height:8px;border-radius:50%;background-color:#3b82f6;"},null,-1),ta(" 数字",-1)])],4),Xo("span",{style:G("display:flex;align-items:center;gap:4px;")},[...r[3]||(r[3]=[Xo("span",{style:"width:8px;height:8px;border-radius:50%;background-color:#a855f7;"},null,-1),ta(" 布尔值",-1)])],4),Xo("span",{style:G("display:flex;align-items:center;gap:4px;")},[...r[4]||(r[4]=[Xo("span",{style:"width:8px;height:8px;border-radius:50%;background-color:#6366f1;"},null,-1),ta(" 数组",-1)])],4),Xo("span",{style:G("display:flex;align-items:center;gap:4px;")},[...r[5]||(r[5]=[Xo("span",{style:"width:8px;height:8px;border-radius:50%;background-color:#8b5cf6;"},null,-1),ta(" 对象",-1)])],4)],4)],4)],4)],4)):na("",!0)]))}}),pQ={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const fQ=Lt({name:"material-symbols-save-as",render:function(e,t){return Ro(),jo("svg",pQ,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M13 23v-3.075l5.525-5.5q.225-.225.5-.325t.55-.1q.3 0 .575.113t.5.337l.925.925q.2.225.313.5t.112.55t-.1.563t-.325.512l-5.5 5.5zM6 10h9V6H6zm13.575 7.4l.925-.975l-.925-.925l-.95.95zM11 21H5q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h12l4 4v5.3q-.475-.2-.987-.262T19 12.05t-.975.313t-.875.612L15 15.125V15q0-1.25-.875-2.125T12 12t-2.125.875T9 15t.875 2.125T12 18h.1L11 19.1z"},null,-1)])])}}),gQ={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const vQ=Lt({name:"material-symbols-logout",render:function(e,t){return Ro(),jo("svg",gQ,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h7v2H5v14h7v2zm11-4l-1.375-1.45l2.55-2.55H9v-2h8.175l-2.55-2.55L16 7l5 5z"},null,-1)])])}}),mQ={key:0,class:"print-designer-headless",style:{display:"none"}},yQ={class:"flex-1 flex overflow-hidden"},bQ={class:"flex-1 overflow-hidden relative flex flex-col"},wQ={key:0,class:"flex items-center justify-between px-4 py-2 bg-blue-50 border-b border-blue-200 text-blue-900 dark:bg-blue-950 dark:border-blue-800 dark:text-blue-100"},xQ={class:"text-sm font-medium"},_Q={class:"flex items-center gap-2"},CQ={class:"relative w-full h-full flex flex-col overflow-hidden"},SQ={class:"flex-none h-5 bg-gray-50 border-b border-gray-300 flex z-20"},BQ={class:"flex-1 relative overflow-hidden"},kQ={class:"flex-1 flex overflow-hidden relative"},EQ={class:"w-5 flex-none bg-gray-50 border-r border-gray-300 h-full relative z-20 overflow-hidden"},IQ=["onMousedown"],TQ={class:"absolute left-2 -top-4 theme-bg text-white text-[10px] px-1 rounded opacity-0 group-hover:opacity-100 pointer-events-none whitespace-nowrap"},PQ=["onMousedown"],MQ={class:"absolute top-2 -left-4 theme-bg text-white text-[10px] px-1 rounded opacity-0 group-hover:opacity-100 pointer-events-none whitespace-nowrap"},LQ={key:2,class:"absolute pointer-events-none"},DQ={class:"font-medium text-gray-700 dark:text-gray-300"},NQ={key:2,class:"absolute bottom-4 right-4 z-50"},OQ={key:0,class:"fixed inset-0 bg-black/20 dark:bg-black/40 flex items-center justify-center z-[10000] pointer-events-auto transition-opacity duration-300"},FQ="print-designer-crash-recovery",UQ=Nn({__name:"PrintDesigner",props:{headless:{type:Boolean},sampleData:{},mode:{},viewMode:{},onSave:{type:Function},autoSaveEnabled:{type:Boolean},autoSaveIntervalMs:{}},setup(e){const t=Wb(),r=Mb(),{autoSave:n}=qb(),{isDark:i}=ew(),{t:o}=dh(),a=e,s=Ft(null),l=Ft(null),u=Ft(null);let c=null;const A=Ft(null),d=Ft(null),h=Ta(()=>{const e=a.onSave;return e?t=>{const r=e(t);r instanceof Promise?r.then(()=>{d.value=Date.now()}).catch(()=>{}):d.value=Date.now()}:null});rn("designer-root",l),rn("modal-container",u);rn("save-handler",Ta(()=>h.value||null));const p=Ft(null),f=Ft(!1),g=Ft(0),v=Ta(()=>{const e=d.value;if(!e)return null;const t=new Date(e),r=e=>String(e).padStart(2,"0");return`${r(t.getHours())}:${r(t.getMinutes())}:${r(t.getSeconds())}`}),m=()=>{g.value+=1},y=(e,t)=>{const r=Ew(getComputedStyle(document.documentElement).getPropertyValue(e).trim());return r?function(e,t,r,n=1){const{r:i,g:o,b:a}=Bw(e,t,r);return`rgba(${i}, ${o}, ${a}, ${parseFloat(n.toFixed(2))})`}(r.h,r.s,r.v,t):`rgba(59, 130, 246, ${t})`},b=Ta(()=>t.editingCustomElement),w=Ta(()=>b.value?`${b.value.name} Copy`:"");Ta(()=>{const e=t.testData||{};return JSON.stringify(e,null,2)}),an(()=>a.sampleData,e=>{e&&"object"==typeof e&&t.setSampleData({...e})},{immediate:!0,deep:!0}),an(()=>a.mode,e=>{e&&t.setMode(e)},{immediate:!0}),an(()=>a.viewMode,e=>{e&&t.setViewMode(e)},{immediate:!0}),an(()=>r.currentTemplateId,e=>{e&&a.sampleData&&"object"==typeof a.sampleData&&t.setSampleData({...a.sampleData})}),ei(()=>{t.setIsExporting(!1),br(()=>{Y()}),c=new ResizeObserver(()=>{Y()}),s.value&&c.observe(s.value),window.addEventListener("resize",Y),window.addEventListener("keydown",se),window.addEventListener("keydown",N),window.addEventListener("keyup",se),window.addEventListener("blur",le),window.addEventListener("brand-theme-updated",m),an([()=>t.pages.length,()=>t.canvasSize.width,()=>t.canvasSize.height,()=>t.zoom,()=>t.showMinimap],()=>{br(Y)}),an(i,e=>{l.value&&l.value.classList.toggle("dark",e)},{immediate:!0}),an([()=>t.pages,()=>t.canvasSize,()=>t.guides,()=>t.headerHeight,()=>t.footerHeight,()=>t.showHeaderLine,()=>t.showFooterLine,()=>t.canvasBackground,()=>t.pageSpacingX,()=>t.pageSpacingY,()=>t.watermark,()=>t.showMinimap],()=>{r.isLoading||P()},{deep:!0}),an(()=>a.autoSaveEnabled,e=>{e?E():I()},{immediate:!0})});let x=null;const _=()=>{try{const e={pages:Dm(t.pages),canvasSize:Dm(t.canvasSize),canvasBackground:t.canvasBackground,headerHeight:t.headerHeight,footerHeight:t.footerHeight,pageSpacingX:t.pageSpacingX,pageSpacingY:t.pageSpacingY,testData:Dm(t.testData||{}),variables:Dm(t.variables||{}),timestamp:Date.now()};sessionStorage.setItem(FQ,JSON.stringify(e))}catch{}};x=setInterval(_,3e4);const C=()=>{_()};window.addEventListener("beforeunload",C);const S=sessionStorage.getItem(FQ);if(S)try{const e=JSON.parse(S);e.pages&&e.pages.length>0&&e.pages.some(e=>{var t;return(null==(t=e.elements)?void 0:t.length)>0})&&br(()=>{1===t.pages.length&&0===t.pages[0].elements.length&&t.loadTemplateData(e)})}catch{}const B=Ta(()=>a.autoSaveIntervalMs||12e4);let k=null;const E=()=>{I(),k=setInterval(()=>{T()},B.value)},I=()=>{k&&(clearInterval(k),k=null)},T=()=>{var e;if(!h.value)return;if(r.isLoading)return;if(t.editingCustomElementId)return;const n=(null==(e=r.templates.find(e=>e.id===r.currentTemplateId))?void 0:e.name)||"未命名模板",i=r.buildSavePayload(n);h.value(i)},P=gw(()=>{if(a.onSave)a.autoSaveEnabled&&k&&(I(),E());else if(!r.isLoading&&!t.editingCustomElementId&&n.value&&r.currentTemplateId){const e=r.templates.find(e=>e.id===r.currentTemplateId);if(e&&jy(e)){if(r.isSaving)return void setTimeout(()=>P(),500);r.saveCurrentTemplate(e.name,!0)}}},1e3),M=()=>{t.commitCustomElementEdit()?t.cancelCustomElementEdit():Qm.error(o("sidebar.editSaveFailed"))},L=e=>{const r=e.trim();if(!r)return;t.saveCustomElementEditAs(r)?t.cancelCustomElementEdit():Qm.error(o("sidebar.editSaveFailed"))},D=async()=>{await xh.show(o("sidebar.confirmExitEdit"))&&(t.cancelCustomElementEdit(),requestAnimationFrame(()=>{var e,t;null==(t=null==(e=s.value)?void 0:e.focus)||t.call(e)}))},N=e=>{if(t.disableGlobalShortcuts)return;if(!t.editingCustomElementId)return;if(f.value)return;if((e=>{var t;const r=e;if(!r)return!1;if(r.isContentEditable)return!0;const n=null==(t=r.tagName)?void 0:t.toLowerCase();return"input"===n||"textarea"===n||"select"===n})(e.target))return;if(!(e.ctrlKey||e.metaKey))return;const r=e.key.toLowerCase();return"s"===r&&e.shiftKey?(e.preventDefault(),e.stopPropagation(),void(f.value=!0)):"s"===r?(e.preventDefault(),e.stopPropagation(),void M()):void("q"===r&&(e.preventDefault(),e.stopPropagation(),D()))},O=Ft(0),F=Ft(0),U=Ft(0),z=Ft(0),R=e=>{const t=e.target;O.value=t.scrollLeft,F.value=t.scrollTop},Q=Ft(0),H=Ft(0),V=Ft(0),j=Ft(0),W=Ta(()=>t.unit||"mm"),K=e=>{const r=Cw(e,t.unit||"mm");return"px"===t.unit?Math.round(r):Number(r.toFixed(1))},q=Ta(()=>{const e=t.pages.length,r=t.canvasSize.height,n=e>0?e*r+20*(e-1):0;return{width:t.canvasSize.width*t.zoom+"px",height:n*t.zoom+"px"}}),Y=()=>{if(s.value&&p.value){const e=s.value.clientWidth,t=s.value.clientHeight;V.value=e,j.value=t;const r=parseFloat(q.value.width),n=parseFloat(q.value.height),i=64,o=64;Q.value=Math.max(e,r+i),H.value=Math.max(t,n+o),r+i<=e&&(Q.value=e),n+o<=t&&(H.value=t);const a=s.value.getBoundingClientRect(),l=p.value.getBoundingClientRect(),u=s.value.clientLeft||0,c=s.value.clientTop||0;O.value=s.value.scrollLeft,F.value=s.value.scrollTop,U.value=l.left-a.left+s.value.scrollLeft-u,z.value=l.top-a.top+s.value.scrollTop-c}};ii(()=>{var e;I(),P.cancel(),c&&(c.disconnect(),c=null),window.removeEventListener("resize",Y),window.removeEventListener("mousemove",ne),window.removeEventListener("mouseup",ie),window.removeEventListener("keydown",se),window.removeEventListener("keydown",N),window.removeEventListener("keyup",se),window.removeEventListener("blur",le),window.removeEventListener("brand-theme-updated",m),null==(e=s.value)||e.removeEventListener("wheel",ae),x&&clearInterval(x),window.removeEventListener("beforeunload",C)});const Z=Ft(!1),J=Ft(null),$=Ft("horizontal"),ee=Ft(0),te=(e,t,r=null)=>{Z.value=!0,J.value=r,$.value=t,re(e),window.addEventListener("mousemove",ne),window.addEventListener("mouseup",ie)},re=e=>{if(!s.value)return;const r=s.value.getBoundingClientRect(),n=t.zoom;if("horizontal"===$.value){const t=e.clientY-r.top+s.value.scrollTop;ee.value=(t-z.value)/n}else{const t=e.clientX-r.left+s.value.scrollLeft;ee.value=(t-U.value)/n}},ne=e=>{Z.value&&(e.preventDefault(),re(e),J.value&&t.updateGuide(J.value,ee.value))},ie=e=>{if(!Z.value)return;const r=s.value.getBoundingClientRect();let n=!1;"horizontal"===$.value?e.clientY<r.top&&(n=!0):e.clientX<r.left&&(n=!0),n?J.value&&t.removeGuide(J.value):J.value?t.updateGuide(J.value,ee.value):t.addGuide({type:$.value,position:ee.value}),Z.value=!1,J.value=null,window.removeEventListener("mousemove",ne),window.removeEventListener("mouseup",ie)},ae=e=>{e.ctrlKey&&(e.preventDefault(),e.deltaY<0?t.setZoom(Math.min(5,t.zoom+.1)):t.setZoom(Math.max(.2,t.zoom-.1)))},se=e=>{var r,n;t.disableGlobalShortcuts||"Control"!==e.key&&"Meta"!==e.key||("keydown"!==e.type||e.repeat?"keyup"===e.type&&(null==(n=s.value)||n.removeEventListener("wheel",ae)):null==(r=s.value)||r.addEventListener("wheel",ae,{passive:!1}))},le=()=>{var e;null==(e=s.value)||e.removeEventListener("wheel",ae)},ue=e=>{s.value&&s.value.scrollTo({left:e.left,top:e.top,behavior:"auto"})},ce=e=>{var t;const r=(null==(t=e.style)?void 0:t.rotate)||0;if(0===r)return{minX:e.x,maxX:e.x+e.width,minY:e.y,maxY:e.y+e.height};const n=e.x+e.width/2,i=e.y+e.height/2,o=r*Math.PI/180,a=Math.cos(o),s=Math.sin(o),l=[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x,y:e.y+e.height},{x:e.x+e.width,y:e.y+e.height}];let u=1/0,c=-1/0,A=1/0,d=-1/0;for(const h of l){const e=n+(h.x-n)*a-(h.y-i)*s,t=i+(h.x-n)*s+(h.y-i)*a;e<u&&(u=e),e>c&&(c=e),t<A&&(A=t),t>d&&(d=t)}return{minX:u,maxX:c,minY:A,maxY:d}},Ae=Ta(()=>{if(!t.isDragging||0===t.selectedElementIds.length)return null;const e=[];for(const a of t.selectedElementIds)for(let r=0;r<t.pages.length;r++){const n=t.pages[r].elements.find(e=>e.id===a);n&&e.push({el:n,pageIndex:r})}if(0===e.length)return null;let r=1/0,n=-1/0,i=1/0,o=-1/0;for(const{el:a,pageIndex:s}of e){const e=ce(a),l=s*(t.canvasSize.height+20);e.minY+=l,e.maxY+=l,e.minX<r&&(r=e.minX),e.maxX>n&&(n=e.maxX),e.minY<i&&(i=e.minY),e.maxY>o&&(o=e.maxY)}return{minX:r,maxX:n,minY:i,maxY:o,centerX:(r+n)/2,centerY:(i+o)/2}}),de=Ta(()=>{if(!Ae.value)return{h:[],v:[]};g.value;const e=y("--brand-500",.5),{minX:t,maxX:r,minY:n,maxY:i}=Ae.value;return{h:[{position:t,color:e},{position:r,color:e}],v:[{position:n,color:e},{position:i,color:e}]}}),he=Ta(()=>{if(!Ae.value)return{h:null,v:null};g.value;const e=y("--brand-300",.6),{minX:t,maxX:r,minY:n,maxY:i}=Ae.value;return{h:{start:t,end:r,color:e},v:{start:n,end:i,color:e}}});return(e,n)=>{var i;return a.headless?(Ro(),jo("div",mQ,[Xo("div",{ref_key:"rootContainer",ref:l},null,512)])):(Ro(),jo("div",{key:1,ref_key:"rootContainer",ref:l,class:"h-full w-full flex flex-col bg-gray-100 overflow-hidden"},[Zo(PD),Xo("div",yQ,[Zo(wN),Xo("main",bQ,[Qt(t).editingCustomElementId?(Ro(),jo("div",wQ,[Xo("div",xQ,oe(Qt(o)("sidebar.editingElement",{name:(null==(i=b.value)?void 0:i.name)||""})),1),Xo("div",_Q,[Xo("button",{onClick:M,class:"px-3 py-1.5 text-xs font-medium bg-blue-600 text-white rounded hover:bg-blue-700 dark:bg-blue-500 dark:hover:bg-blue-400 inline-flex items-center gap-1.5"},[Zo(Qt(Vw),{class:"w-4 h-4"}),ta(" "+oe(Qt(o)("sidebar.saveEdit")),1)]),Xo("button",{onClick:n[0]||(n[0]=e=>f.value=!0),class:"px-3 py-1.5 text-xs font-medium bg-blue-200 text-blue-900 rounded hover:bg-blue-300 dark:bg-blue-700 dark:hover:bg-blue-600 dark:text-white inline-flex items-center gap-1.5"},[Zo(Qt(fQ),{class:"w-4 h-4"}),ta(" "+oe(Qt(o)("sidebar.saveAs")),1)]),Xo("button",{onClick:D,class:"px-3 py-1.5 text-xs font-medium bg-slate-200 text-slate-900 rounded hover:bg-slate-300 dark:bg-slate-700 dark:hover:bg-slate-600 dark:text-slate-100 inline-flex items-center gap-1.5"},[Zo(Qt(vQ),{class:"w-4 h-4"}),ta(" "+oe(Qt(o)("sidebar.exitEdit")),1)])])])):na("",!0),Zo(eR),Xo("div",CQ,[Xo("div",SQ,[n[5]||(n[5]=Xo("div",{class:"w-5 flex-none bg-gray-100 border-r border-gray-300"},null,-1)),Xo("div",BQ,[Zo(Iz,{type:"horizontal",zoom:Qt(t).zoom,scroll:O.value,offset:U.value,thick:20,unit:Qt(t).unit||"mm",indicators:de.value.h,range:he.value.h,onGuideDragStart:n[1]||(n[1]=e=>te(e,"horizontal"))},null,8,["zoom","scroll","offset","unit","indicators","range"])])]),Xo("div",kQ,[Xo("div",EQ,[Zo(Iz,{type:"vertical",zoom:Qt(t).zoom,scroll:F.value,offset:z.value,thick:20,unit:Qt(t).unit||"mm",indicators:de.value.v,range:he.value.v,onGuideDragStart:n[2]||(n[2]=e=>te(e,"vertical"))},null,8,["zoom","scroll","offset","unit","indicators","range"])]),Xo("div",{ref_key:"scrollContainer",ref:s,tabindex:"-1",class:"flex-1 overflow-auto p-8 flex relative canvas-scroll bg-gray-100 focus:outline-none",onScroll:R,onClick:n[3]||(n[3]=e=>{e.target!==s.value&&e.target!==e.currentTarget||Qt(t).selectGuide(null)})},[Xo("div",{ref_key:"canvasWrapper",ref:p,style:G(q.value),class:"mx-auto relative"},[Zo(nB,{ref_key:"canvasContainer",ref:A,class:"absolute top-0 left-0"},null,512)],4),Xo("div",{class:"absolute top-0 left-0 pointer-events-none z-50",style:G({width:`${Q.value}px`,height:`${H.value}px`})},[Ae.value?(Ro(),jo(Do,{key:0},[Xo("div",{class:"absolute w-full border-t border-blue-500 border-dashed",style:G({top:`${z.value+Math.round(Ae.value.minY*Qt(t).zoom)}px`,left:0})},[Xo("div",{class:"absolute -top-6 bg-blue-500 text-white text-xs px-1.5 py-0.5 rounded shadow-sm",style:G({left:`${O.value+10}px`})},oe(K(Ae.value.minY))+" "+oe(W.value),5)],4),Xo("div",{class:"absolute w-full border-t border-dashed theme-border",style:G({top:`${z.value+Math.round(Ae.value.maxY*Qt(t).zoom)}px`,left:0})},[Xo("div",{class:"absolute -top-6 theme-bg text-white text-xs px-1.5 py-0.5 rounded shadow-sm",style:G({left:`${O.value+10}px`})},oe(K(Ae.value.maxY))+" "+oe(W.value),5)],4),Xo("div",{class:"absolute h-full border-l border-dashed theme-border",style:G({left:`${U.value+Math.round(Ae.value.minX*Qt(t).zoom)}px`,top:0})},[Xo("div",{class:"absolute -left-2 transform -translate-x-full theme-bg text-white text-xs px-1.5 py-0.5 rounded shadow-sm whitespace-nowrap",style:G({top:`${F.value+10}px`})},oe(K(Ae.value.minX))+" "+oe(W.value),5)],4),Xo("div",{class:"absolute h-full border-l border-dashed theme-border",style:G({left:`${U.value+Math.round(Ae.value.maxX*Qt(t).zoom)}px`,top:0})},[Xo("div",{class:"absolute -left-2 transform -translate-x-full theme-bg text-white text-xs px-1.5 py-0.5 rounded shadow-sm whitespace-nowrap",style:G({top:`${F.value+10}px`})},oe(K(Ae.value.maxX))+" "+oe(W.value),5)],4)],64)):na("",!0),(Ro(!0),jo(Do,null,pi(Qt(t).guides,e=>(Ro(),jo(Do,{key:e.id},["horizontal"===e.type?(Ro(),jo("div",{key:0,class:"absolute left-0 w-full h-3 -mt-1.5 cursor-row-resize pointer-events-auto group flex flex-col justify-center",style:G({top:`${z.value+e.position*Qt(t).zoom}px`}),onMousedown:zs(r=>{Qt(t).selectGuide(e.id),te(r,"horizontal",e.id)},["stop"])},[Xo("div",{class:X(["w-full",Qt(t).highlightedGuideId===e.id?"border-t-2 theme-border-strong":"border-t theme-border","theme-border-hover"])},null,2),Xo("div",TQ,oe(K(e.position))+oe(W.value),1)],44,IQ)):(Ro(),jo("div",{key:1,class:"absolute top-0 h-full w-3 -ml-1.5 cursor-col-resize pointer-events-auto group flex flex-row justify-center",style:G({left:`${U.value+e.position*Qt(t).zoom}px`}),onMousedown:zs(r=>{Qt(t).selectGuide(e.id),te(r,"vertical",e.id)},["stop"])},[Xo("div",{class:X(["h-full",Qt(t).highlightedGuideId===e.id?"border-l-2 theme-border-strong":"border-l theme-border","theme-border-hover"])},null,2),Xo("div",MQ,oe(K(e.position))+oe(W.value),1)],44,PQ))],64))),128)),Z.value&&!J.value?(Ro(),jo("div",{key:1,class:X(["absolute border-dashed pointer-events-none theme-border","horizontal"===$.value?"left-0 w-full border-t":"top-0 h-full border-l"]),style:G({top:"horizontal"===$.value?`${z.value+ee.value*Qt(t).zoom}px`:void 0,left:"vertical"===$.value?`${U.value+ee.value*Qt(t).zoom}px`:void 0})},[Xo("div",{class:X(["absolute theme-bg text-white text-[10px] px-1 rounded","horizontal"===$.value?"left-2 -top-4":"top-2 -left-4"])},oe(K(ee.value))+oe(W.value),3)],6)):na("",!0),Qt(t).highlightedEdge?(Ro(),jo("div",LQ,["top"===Qt(t).highlightedEdge?(Ro(),jo("div",{key:0,class:"absolute left-0 w-full border-t theme-border",style:G({top:`${z.value}px`})},null,4)):"bottom"===Qt(t).highlightedEdge?(Ro(),jo("div",{key:1,class:"absolute left-0 w-full border-t theme-border",style:G({top:`${z.value+Qt(t).canvasSize.height*Qt(t).zoom}px`})},null,4)):"left"===Qt(t).highlightedEdge?(Ro(),jo("div",{key:2,class:"absolute top-0 h-full border-l theme-border",style:G({left:`${U.value}px`})},null,4)):"right"===Qt(t).highlightedEdge?(Ro(),jo("div",{key:3,class:"absolute top-0 h-full border-l theme-border",style:G({left:`${U.value+Qt(t).canvasSize.width*Qt(t).zoom}px`})},null,4)):na("",!0)])):na("",!0)],4)],544)])]),a.onSave?(Ro(),jo("div",{key:1,class:X(["absolute z-50 flex items-center gap-1.5 text-xs text-gray-500 bg-white/80 dark:bg-gray-800/80 backdrop-blur-sm rounded px-2 py-1 shadow-sm pointer-events-none transition-all",Qt(t).showMinimap?"bottom-4 right-[280px]":"bottom-4 right-4"])},[Xo("span",null,oe(Qt(o)("common.lastSaved"))+":",1),Xo("span",DQ,oe(v.value||Qt(o)("common.notSavedYet")),1)],2)):na("",!0),Qt(t).showMinimap?(Ro(),jo("div",NQ,[Zo(fR,{"scroll-width":Q.value,"scroll-height":H.value,"viewport-width":V.value,"viewport-height":j.value,"scroll-left":O.value,"scroll-top":F.value,pages:Qt(t).pages,"page-width":Qt(t).canvasSize.width,"page-height":Qt(t).canvasSize.height,zoom:Qt(t).zoom,"content-offset-x":U.value,"content-offset-y":z.value,"canvas-background":Qt(t).canvasBackground,"show-header-line":Qt(t).showHeaderLine,"show-footer-line":Qt(t).showFooterLine,"header-height":Qt(t).headerHeight,"footer-height":Qt(t).footerHeight,watermark:Qt(t).watermark||null,"onUpdate:scroll":ue},null,8,["scroll-width","scroll-height","viewport-width","viewport-height","scroll-left","scroll-top","pages","page-width","page-height","zoom","content-offset-x","content-offset-y","canvas-background","show-header-line","show-footer-line","header-height","footer-height","watermark"])])):na("",!0)]),Zo(Ez)]),Zo(Kk,{show:f.value,"initial-value":w.value,title:Qt(o)("sidebar.saveAsCustomElement"),placeholder:Qt(o)("sidebar.enterNamePlaceholder"),onClose:n[4]||(n[4]=e=>f.value=!1),onSave:L},null,8,["show","initial-value","title","placeholder"]),Qt(r).isLoading?(Ro(),jo("div",OQ,[...n[6]||(n[6]=[ra('<svg class="animate-spin h-8 w-8 text-gray-500 dark:text-gray-300" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="12" y1="3" x2="12" y2="7" opacity="1"></line><line x1="16.5" y1="4.2" x2="14.5" y2="7.7" opacity="0.9"></line><line x1="19.8" y1="7.5" x2="16.3" y2="9.5" opacity="0.8"></line><line x1="21" y1="12" x2="17" y2="12" opacity="0.7"></line><line x1="19.8" y1="16.5" x2="16.3" y2="14.5" opacity="0.6"></line><line x1="16.5" y1="19.8" x2="14.5" y2="16.3" opacity="0.5"></line><line x1="12" y1="21" x2="12" y2="17" opacity="0.4"></line><line x1="7.5" y1="19.8" x2="9.5" y2="16.3" opacity="0.3"></line><line x1="4.2" y1="16.5" x2="7.7" y2="14.5" opacity="0.2"></line><line x1="3" y1="12" x2="7" y2="12" opacity="0.1"></line><line x1="4.2" y1="7.5" x2="7.7" y2="9.5" opacity="0.1"></line><line x1="7.5" y1="4.2" x2="9.5" y2="7.7" opacity="0.1"></line></svg>',1)])])):na("",!0),Xo("div",{ref_key:"modalContainer",ref:u,class:"print-designer-modals fixed inset-0 pointer-events-none z-[9999]"},null,512),Zo(DR),Zo(hQ)],512))}}}),zQ={class:"preview-page"},RQ=Nn({__name:"PreviewPage",props:{autoRender:{type:Boolean},pages:{},canvasSize:{},canvasBackground:{},testData:{},variables:{},watermark:{},autoRenderTrigger:{}},setup(e,{expose:t}){const r=e,n=Wb(),i=Ft(!1),o=Ft([]);rn("registerRenderTask",e=>{o.value.push(e)});const a=Ta(()=>r.pages?r.pages:n.pages),s=Ta(()=>r.canvasSize?r.canvasSize:n.canvasSize),l=Ta(()=>void 0!==r.canvasBackground?r.canvasBackground:n.canvasBackground);Ta(()=>r.testData?r.testData:n.testData),Ta(()=>r.variables?r.variables:n.variables);const u=Ta(()=>void 0!==r.watermark?r.watermark:n.watermark),c=e=>{switch(e){case Nm.TEXT:return Kx;case Nm.IMAGE:return Zx;case Nm.TABLE:return L_;case Nm.CUSTOM_TABLE:return RC;case Nm.PAGE_NUMBER:return VC;case Nm.BARCODE:return WC;case Nm.QRCODE:return XC;case Nm.LINE:return $C;case Nm.RECT:return tS;case Nm.CIRCLE:return nS;case Nm.CHART:return aS;case Nm.LONG_TEXT:return AS;case Nm.RICH_TEXT:return pS;case Nm.DATE:return mS;case Nm.DATA_CARD:return CS;case Nm.PROGRESS:return kS;case Nm.LIST:return IS;case Nm.SIGNATURE:return DS;case Nm.NESTED_TABLE:return HS;default:return Kx}},A=e=>!!e&&"string"==typeof e.id&&"string"==typeof e.type,d=e=>e.filter(A),h=Ta(()=>({width:`${s.value.width}px`,height:`${s.value.height}px`,backgroundColor:l.value})),p=Ta(()=>{const e=u.value;if(!e||!e.enabled||!e.text)return null;const t=e.text.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");const r=Number.isFinite(e.angle)?e.angle:-30,n=Math.max(6,e.size||24),i=Math.max(40,e.density||160),o=e.color||"#000000",a=Math.min(1,Math.max(0,e.opacity??.1));return{backgroundImage:`url("data:image/svg+xml,${encodeURIComponent(`<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="${i}" height="${i}"><text x="50%" y="50%" dominant-baseline="middle" text-anchor="middle" fill="${o}" fill-opacity="${a}" font-size="${n}" transform="rotate(${r} ${i/2} ${i/2})">${t}</text></svg>`)}")`,backgroundRepeat:"repeat",backgroundSize:`${i}px ${i}px`}}),f=()=>{if(0===a.value.length)return[];const e=a.value[0],t=n.pageSpacingY||0,r=n.pageSpacingY||0,i=n.headerHeight+t,o=s.value.height-(n.footerHeight+r);return d(e.elements).filter(e=>{if(e.type===Nm.TABLE)return!1;const t=n.getElementBoundsAtPosition(e,e.x,e.y),r=!0===e.repeatPerPage,a=n.showHeaderLine&&t.maxY<=i,s=n.showFooterLine&&t.minY>=o;return r||a||s})},g=Ta(()=>a.value.length),v=async()=>{r.autoRender&&(n.setIsExporting(!0),o.value=[],await br(),await Promise.all(o.value),o.value=[],await br(),n.setIsExporting(!1))};return an(()=>r.autoRenderTrigger,()=>{v()},{immediate:!0}),an(()=>r.testData,()=>{r.autoRender&&v()},{deep:!0}),ei(async()=>{i.value=!0,r.autoRender&&await v()}),t({triggerRender:v,isReady:i}),(e,t)=>(Ro(),jo("div",zQ,[(Ro(!0),jo(Do,null,pi(a.value,(e,t)=>(Ro(),jo("div",{key:e.id,class:"print-page relative shadow-lg overflow-hidden",style:G([h.value,p.value?p.value:{}])},[t>0&&a.value.length>0?(Ro(!0),jo(Do,{key:0},pi(f(),e=>{var r;return Ro(),jo("div",{key:`global-${e.id}`,class:"absolute",style:G({left:`${e.x}px`,top:`${e.y}px`,width:`${e.width}px`,height:`${e.height}px`,zIndex:(null==(r=e.style)?void 0:r.zIndex)||1})},[(Ro(),Go(Ai(c(e.type)),{element:e,"page-index":t,"total-pages":g.value},null,8,["element","page-index","total-pages"]))],4)}),128)):na("",!0),(Ro(!0),jo(Do,null,pi(d(e.elements),e=>{var r,n;return Ro(),jo("div",{key:e.id,class:"absolute",style:G({left:`${e.x}px`,top:`${e.y}px`,width:`${e.width}px`,height:`${e.height}px`,zIndex:(null==(r=e.style)?void 0:r.zIndex)||1,transform:(null==(n=e.style)?void 0:n.rotate)?`rotate(${e.style.rotate}deg)`:void 0})},[(Ro(),Go(Ai(c(e.type)),{element:e,"page-index":t,"total-pages":g.value},null,8,["element","page-index","total-pages"]))],4)}),128))],4))),128))]))}}),QQ=zC(RQ,[["__scopeId","data-v-71b3491a"]]);var HQ,VQ={exports:{}};
|
|
49
|
+
*/function wc(e){return Bu(e)&&0===kc(e)&&(wu(e,"b")||wu(e,"body"))}const xc=["b","body"];const _c=["c","cases"];const Cc=["s","static"];const Sc=["i","items"];const Bc=["t","type"];function kc(e){return Mc(e,Bc)}const Ec=["v","value"];function Ic(e,t){const r=Mc(e,Ec);if(null!=r)return r;throw Dc(t)}const Tc=["m","modifier"];const Pc=["k","key"];function Mc(e,t,r){for(let n=0;n<t.length;n++){const r=t[n];if(wu(e,r)&&null!=e[r])return e[r]}return r}const Lc=[...xc,..._c,...Cc,...Sc,...Pc,...Tc,...Ec,...Bc];function Dc(e){return new Error(`unhandled node type: ${e}`)}function Nc(e){return t=>function(e,t){const r=(n=t,Mc(n,xc));var n;if(null==r)throw Dc(0);if(1===kc(r)){const t=function(e){return Mc(e,_c,[])}(r);return e.plural(t.reduce((t,r)=>[...t,Oc(e,r)],[]))}return Oc(e,r)}(t,e)}function Oc(e,t){const r=function(e){return Mc(e,Cc)}(t);if(null!=r)return"text"===e.type?r:e.normalize([r]);{const r=function(e){return Mc(e,Sc,[])}(t).reduce((t,r)=>[...t,Fc(e,r)],[]);return e.normalize(r)}}function Fc(e,t){const r=kc(t);switch(r){case 3:case 9:case 7:case 8:return Ic(t,r);case 4:{const n=t;if(wu(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(wu(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Dc(r)}case 5:{const n=t;if(wu(n,"i")&&uu(n.i))return e.interpolate(e.list(n.i));if(wu(n,"index")&&uu(n.index))return e.interpolate(e.list(n.index));throw Dc(r)}case 6:{const r=t,n=function(e){return Mc(e,Tc)}(r),i=function(e){const t=Mc(e,Pc);if(t)return t;throw Dc(6)}(r);return e.linked(Fc(e,i),n?Fc(e,n):void 0,e.type)}default:throw new Error(`unhandled node on format message part: ${r}`)}}function Uc(e,t){t&&(e=>ec.test(e))(e)&&au("Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.",{source:e})}const zc=e=>e;let Rc=fu();let Qc=null;const Hc=Vc("function:translate");function Vc(e){return t=>Qc&&Qc.emit(e,t)}const jc=17,Gc=18,Wc=19,Kc=20,qc=21,Yc=22,Xc=23;function Zc(e){return Ju(e,null,"production"!==process.env.NODE_ENV?{messages:Jc}:void 0)}const Jc={[jc]:"Invalid arguments",[Gc]:"The date provided is an invalid Date object.Make sure your Date represents a valid date.",[Wc]:"The argument provided is not a valid ISO date string",[Kc]:"Not support non-string message",[qc]:"cannot support promise value",[Yc]:"cannot support async function",[Xc]:"cannot support locale type"};function $c(e,t){return null!=t.locale?tA(t.locale):tA(e.locale)}let eA;function tA(e){if(Cu(e))return e;if(_u(e)){if(e.resolvedOnce&&null!=eA)return eA;if("Function"===e.constructor.name){const r=e();if(Bu(t=r)&&_u(t.then)&&_u(t.catch))throw Zc(qc);return eA=r}throw Zc(Yc)}throw Zc(Xc);var t}function rA(e,t,r){return[...new Set([r,...xu(t)?t:Bu(t)?Object.keys(t):Cu(t)?[t]:[r]])]}function nA(e,t,r){const n=Cu(r)?r:SA,i=e;i.__localeChainCache||(i.__localeChainCache=new Map);let o=i.__localeChainCache.get(n);if(!o){o=[];let e=[r];for(;xu(e);)e=iA(o,e,t);const a=xu(t)||!Iu(t)?t:t.default?t.default:null;e=Cu(a)?[a]:a,xu(e)&&iA(o,e,!1),i.__localeChainCache.set(n,o)}return o}function iA(e,t,r){let n=!0;for(let i=0;i<t.length&&Su(n);i++){const o=t[i];Cu(o)&&(n=oA(e,t[i],r))}return n}function oA(e,t,r){let n;const i=t.split("-");do{n=aA(e,i.join("-"),r),i.splice(-1,1)}while(i.length&&!0===n);return n}function aA(e,t,r){let n=!1;if(!e.includes(t)&&(n=!0,t)){n="!"!==t[t.length-1];const i=t.replace(/!/g,"");e.push(i),(xu(r)||Iu(r))&&r[i]&&(n=r[i])}return n}const sA=[];sA[0]={w:[0],i:[3,0],"[":[4],o:[7]},sA[1]={w:[1],".":[2],"[":[4],o:[7]},sA[2]={w:[2],i:[3,0],0:[3,0]},sA[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},sA[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},sA[5]={"'":[4,0],o:8,l:[5,0]},sA[6]={'"':[4,0],o:8,l:[6,0]};const lA=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function uA(e){if(null==e)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function cA(e){const t=e.trim();return("0"!==e.charAt(0)||!isNaN(parseInt(e)))&&(r=t,lA.test(r)?function(e){const t=e.charCodeAt(0);return t!==e.charCodeAt(e.length-1)||34!==t&&39!==t?e:e.slice(1,-1)}(t):"*"+t);var r}const AA=new Map;function dA(e,t){return Bu(e)?e[t]:null}const hA=1,pA=2,fA=3,gA=4,vA=5,mA=6,yA=7,bA=8,wA=9,xA=10,_A={[hA]:"Not found '{key}' key in '{locale}' locale messages.",[pA]:"Fall back to translate '{key}' key with '{target}' locale.",[fA]:"Cannot format a number value due to not supported Intl.NumberFormat.",[gA]:"Fall back to number format '{key}' key with '{target}' locale.",[vA]:"Cannot format a date value due to not supported Intl.DateTimeFormat.",[mA]:"Fall back to datetime format '{key}' key with '{target}' locale.",[yA]:"This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.",[bA]:"Invalid argument for number formatting: expected a number but received '{value}'.",[wA]:"Invalid argument for datetime formatting: expected a Date, number, or ISO string but received '{value}'."};function CA(e,...t){return au(_A[e],...t)}const SA="en-US",BA="",kA=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;let EA,IA,TA;let PA=null;const MA=()=>PA;let LA=null;const DA=e=>{LA=e};let NA=0;function OA(e={}){const t=_u(e.onWarn)?e.onWarn:eu,r=Cu(e.version)?e.version:"11.3.2",n=Cu(e.locale)||_u(e.locale)?e.locale:SA,i=_u(n)?SA:n,o=xu(e.fallbackLocale)||Iu(e.fallbackLocale)||Cu(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:i,a=Iu(e.messages)?e.messages:FA(i),s=Iu(e.datetimeFormats)?e.datetimeFormats:FA(i),l=Iu(e.numberFormats)?e.numberFormats:FA(i),u=hu(fu(),e.modifiers,{upper:(e,t)=>"text"===t&&Cu(e)?e.toUpperCase():"vnode"===t&&Bu(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>"text"===t&&Cu(e)?e.toLowerCase():"vnode"===t&&Bu(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>"text"===t&&Cu(e)?kA(e):"vnode"===t&&Bu(e)&&"__v_isVNode"in e?kA(e.children):e}),c=e.pluralRules||fu(),A=_u(e.missing)?e.missing:null,d=!Su(e.missingWarn)&&!Au(e.missingWarn)||e.missingWarn,h=!Su(e.fallbackWarn)&&!Au(e.fallbackWarn)||e.fallbackWarn,p=!!e.fallbackFormat,f=!!e.unresolving,g=_u(e.postTranslation)?e.postTranslation:null,v=Iu(e.processor)?e.processor:null,m=!Su(e.warnHtmlMessage)||e.warnHtmlMessage,y=!!e.escapeParameter,b=_u(e.messageCompiler)?e.messageCompiler:EA;var w;"production"!==process.env.NODE_ENV&&_u(e.messageCompiler)&&(w=CA(yA),tu[w]||(tu[w]=!0));const x=_u(e.messageResolver)?e.messageResolver:IA||dA,_=_u(e.localeFallbacker)?e.localeFallbacker:TA||rA,C=Bu(e.fallbackContext)?e.fallbackContext:void 0,S=e,B=Bu(S.__datetimeFormatters)?S.__datetimeFormatters:new Map,k=Bu(S.__numberFormatters)?S.__numberFormatters:new Map,E=Bu(S.__meta)?S.__meta:{};NA++;const I={version:r,cid:NA,locale:n,fallbackLocale:o,messages:a,modifiers:u,pluralRules:c,missing:A,missingWarn:d,fallbackWarn:h,fallbackFormat:p,unresolving:f,postTranslation:g,processor:v,warnHtmlMessage:m,escapeParameter:y,messageCompiler:b,messageResolver:x,localeFallbacker:_,fallbackContext:C,onWarn:t,__meta:E};return I.datetimeFormats=s,I.numberFormats=l,I.__datetimeFormatters=B,I.__numberFormatters=k,"production"!==process.env.NODE_ENV&&(I.__v_emitter=null!=S.__v_emitter?S.__v_emitter:void 0),"production"!==process.env.NODE_ENV&&function(e,t,r){Qc&&Qc.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:r})}(I,r,E),I}const FA=e=>({[e]:fu()});function UA(e,t){return e instanceof RegExp?e.test(t):e}function zA(e,t){return e instanceof RegExp?e.test(t):e}function RA(e,t,r,n,i){const{missing:o,onWarn:a}=e;if("production"!==process.env.NODE_ENV){const n=e.__v_emitter;n&&n.emit("missing",{locale:r,key:t,type:i,groupId:`${i}:${t}`})}if(null!==o){const n=o(e,r,t,i);return Cu(n)?n:t}return"production"!==process.env.NODE_ENV&&zA(n,t)&&a(CA(hA,{key:t,locale:r})),t}function QA(e,t,r){e.__localeChainCache=new Map,e.localeFallbacker(e,r,t)}function HA(e,t){return e!==t&&e.split("-")[0]===t.split("-")[0]}function VA(e,t){const r=t.indexOf(e);if(-1===r)return!1;for(let n=r+1;n<t.length;n++)if(HA(e,t[n]))return!0;return!1}const jA="undefined"!=typeof Intl,GA=jA&&void 0!==Intl.DateTimeFormat,WA=jA&&void 0!==Intl.NumberFormat;function KA(e,...t){const{datetimeFormats:r,unresolving:n,fallbackLocale:i,onWarn:o,localeFallbacker:a}=e,{__datetimeFormatters:s}=e;if("production"!==process.env.NODE_ENV&&!GA)return o(CA(vA)),BA;if(!Cu(t[0])&&!cu(t[0])&&!uu(t[0]))return"production"!==process.env.NODE_ENV&&o(CA(wA,{value:String(t[0])})),BA;const[l,u,c,A]=YA(...t),d=Su(c.missingWarn)?c.missingWarn:e.missingWarn,h=Su(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,p=!!c.part,f=$c(e,c),g=a(e,i,f);if(!Cu(l)||""===l)return new Intl.DateTimeFormat(f.replace(/!/g,""),A).format(u);let v,m={},y=null,b=f,w=null;const x="datetime format";for(let S=0;S<g.length;S++){if(v=w=g[S],"production"!==process.env.NODE_ENV&&f!==v&&UA(h,l)&&o(CA(mA,{key:l,target:v})),"production"!==process.env.NODE_ENV&&f!==v){const t=e.__v_emitter;t&&t.emit("fallback",{type:x,key:l,from:b,to:w,groupId:`${x}:${l}`})}if(m=r[v]||{},y=m[l],Iu(y))break;RA(e,l,v,d,x),b=w}if(!Iu(y)||!Cu(v))return n?-1:l;let _=`${v}__${l}`;du(A)||(_=`${_}__${JSON.stringify(A)}`);let C=s.get(_);return C||(C=new Intl.DateTimeFormat(v,hu({},y,A)),s.set(_,C)),p?C.formatToParts(u):C.format(u)}const qA=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function YA(...e){const[t,r,n,i]=e,o=fu();let a,s=fu();if(Cu(t)){const e=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!e)throw Zc(Wc);const r=e[3]?e[3].trim().startsWith("T")?`${e[1].trim()}${e[3].trim()}`:`${e[1].trim()}T${e[3].trim()}`:e[1].trim();a=new Date(r);try{a.toISOString()}catch{throw Zc(Wc)}}else if(cu(t)){if(isNaN(t.getTime()))throw Zc(Gc);a=t}else{if(!uu(t))throw Zc(jc);a=t}return Cu(r)?o.key=r:Iu(r)&&Object.keys(r).forEach(e=>{qA.includes(e)?s[e]=r[e]:o[e]=r[e]}),Cu(n)?o.locale=n:Iu(n)&&(s=n),Iu(i)&&(s=i),[o.key||"",a,o,s]}function XA(e,t,r){const n=e;for(const i in r){const e=`${t}__${i}`;n.__datetimeFormatters.has(e)&&n.__datetimeFormatters.delete(e)}}function ZA(e,...t){const{numberFormats:r,unresolving:n,fallbackLocale:i,onWarn:o,localeFallbacker:a}=e,{__numberFormatters:s}=e;if("production"!==process.env.NODE_ENV&&!WA)return o(CA(fA)),BA;if(!uu(t[0]))return"production"!==process.env.NODE_ENV&&o(CA(bA,{value:String(t[0])})),BA;const[l,u,c,A]=$A(...t),d=Su(c.missingWarn)?c.missingWarn:e.missingWarn,h=Su(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,p=!!c.part,f=$c(e,c),g=a(e,i,f);if(!Cu(l)||""===l)return new Intl.NumberFormat(f.replace(/!/g,""),A).format(u);let v,m={},y=null,b=f,w=null;const x="number format";for(let S=0;S<g.length;S++){if(v=w=g[S],"production"!==process.env.NODE_ENV&&f!==v&&UA(h,l)&&o(CA(gA,{key:l,target:v})),"production"!==process.env.NODE_ENV&&f!==v){const t=e.__v_emitter;t&&t.emit("fallback",{type:x,key:l,from:b,to:w,groupId:`${x}:${l}`})}if(m=r[v]||{},y=m[l],Iu(y))break;RA(e,l,v,d,x),b=w}if(!Iu(y)||!Cu(v))return n?-1:l;let _=`${v}__${l}`;du(A)||(_=`${_}__${JSON.stringify(A)}`);let C=s.get(_);return C||(C=new Intl.NumberFormat(v,hu({},y,A)),s.set(_,C)),p?C.formatToParts(u):C.format(u)}const JA=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function $A(...e){const[t,r,n,i]=e,o=fu();let a=fu();if(!uu(t))throw Zc(jc);const s=t;return Cu(r)?o.key=r:Iu(r)&&Object.keys(r).forEach(e=>{JA.includes(e)?a[e]=r[e]:o[e]=r[e]}),Cu(n)?o.locale=n:Iu(n)&&(a=n),Iu(i)&&(a=i),[o.key||"",s,o,a]}function ed(e,t,r){const n=e;for(const i in r){const e=`${t}__${i}`;n.__numberFormatters.has(e)&&n.__numberFormatters.delete(e)}}const td=e=>e,rd=e=>"",nd=e=>0===e.length?"":Tu(e),id=e=>null==e?"":xu(e)||Iu(e)&&e.toString===ku?JSON.stringify(e,null,2):String(e);function od(e,t){return e=Math.abs(e),2===t?1===e?0:1:Math.min(e,2)}function ad(e={}){var t,r,n,i;const o=e.locale,a=function(e){var t,r;const n=uu(e.pluralIndex)?e.pluralIndex:-1;return uu(null==(t=e.named)?void 0:t.count)?e.named.count:uu(null==(r=e.named)?void 0:r.n)?e.named.n:n}(e),s=Cu(o)&&_u(null==(t=e.pluralRules)?void 0:t[o])?e.pluralRules[o]:od,l=s===od?void 0:od,u=e.list||[],c=e.named||fu();uu(e.pluralIndex)&&(c.count||(c.count=e.pluralIndex),c.n||(c.n=e.pluralIndex));function A(t,r){const n=_u(e.messages)?e.messages(t,!!r):!!Bu(e.messages)&&e.messages[t];return n||(e.parent?e.parent.message(t):rd)}const d=_u(null==(r=e.processor)?void 0:r.normalize)?e.processor.normalize:nd,h=_u(null==(n=e.processor)?void 0:n.interpolate)?e.processor.interpolate:id,p={list:e=>u[e],named:e=>c[e],plural:e=>e[s(a,e.length,l)],linked:(t,...r)=>{const[n,i]=r;let o="text",a="";1===r.length?Bu(n)?(a=n.modifier||a,o=n.type||o):Cu(n)&&(a=n||a):2===r.length&&(Cu(n)&&(a=n||a),Cu(i)&&(o=i||o));const s=A(t,!0)(p),l=""===s||void 0===s?t:s,u="vnode"===o&&xu(l)&&a?l[0]:l;return a?(c=a,e.modifiers?e.modifiers[c]:td)(u,o):u;var c},message:A,type:Cu(null==(i=e.processor)?void 0:i.type)?e.processor.type:"text",interpolate:h,normalize:d,values:hu(fu(),u,c)};return p}const sd=()=>"",ld=e=>_u(e);function ud(e,...t){const{fallbackFormat:r,postTranslation:n,unresolving:i,messageCompiler:o,fallbackLocale:a,messages:s}=e,[l,u]=dd(...t),c=Su(u.missingWarn)?u.missingWarn:e.missingWarn,A=Su(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,d=Su(u.escapeParameter)?u.escapeParameter:e.escapeParameter,h=!!u.resolvedMessage,p=Cu(u.default)||Su(u.default)?Su(u.default)?o?l:()=>l:u.default:r?o?l:()=>l:null,f=r||null!=p&&(Cu(p)||_u(p)),g=$c(e,u);d&&function(e){xu(e.list)?e.list=e.list.map(e=>Cu(e)?mu(e):e):Bu(e.named)&&Object.keys(e.named).forEach(t=>{Cu(e.named[t])&&(e.named[t]=mu(e.named[t]))})}(u);let[v,m,y]=h?[l,g,s[g]||fu()]:cd(e,l,g,a,A,c),b=v,w=l;if(h||Cu(b)||wc(b)||ld(b)||f&&(b=p,w=b),!(h||(Cu(b)||wc(b)||ld(b))&&Cu(m)))return i?-1:l;if("production"!==process.env.NODE_ENV&&Cu(b)&&null==e.messageCompiler)return l;let x=!1;const _=ld(b)?b:Ad(e,l,m,b,w,()=>{x=!0});if(x)return b;const C=function(e,t,r,n){const{modifiers:i,pluralRules:o,messageResolver:a,fallbackLocale:s,fallbackWarn:l,missingWarn:u,fallbackContext:c}=e,A=(n,i)=>{let o=a(r,n);if(null==o&&(c||i)){const[r,,i]=cd(c||e,n,t,s,l,u);o=r??a(i,n)}if(Cu(o)||wc(o)){let r=!1;const i=Ad(e,n,t,o,n,()=>{r=!0});return r?sd:i}return ld(o)?o:sd},d={locale:t,modifiers:i,pluralRules:o,messages:A};e.processor&&(d.processor=e.processor);n.list&&(d.list=n.list);n.named&&(d.named=n.named);uu(n.plural)&&(d.pluralIndex=n.plural);return d}(e,m,y,u),S=function(e,t,r){const n="production"!==process.env.NODE_ENV?e.__v_emitter:void 0;let i,o,a=null;"production"!==process.env.NODE_ENV&&ru&&n&&(a=window.performance.now(),i="intlify-message-evaluation-start",o="intlify-message-evaluation-end",nu&&nu(i));const s=t(r);if("production"!==process.env.NODE_ENV&&ru&&n){const e=window.performance.now();n&&a&&n.emit("message-evaluation",{type:"message-evaluation",value:s,time:e-a,groupId:`translate:${t.key}`}),i&&o&&nu&&iu&&(nu(o),iu("intlify message evaluation",i,o))}return s}(e,_,ad(C));let B=n?n(S,l):S;var k;if(d&&Cu(B)&&(k=(k=(k=B).replace(/(\w+)\s*=\s*"([^"]*)"/g,(e,t,r)=>`${t}="${yu(r)}"`)).replace(/(\w+)\s*=\s*'([^']*)'/g,(e,t,r)=>`${t}='${yu(r)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(k)&&(process.env.NODE_ENV,k=k.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(e=>{k=k.replace(e,"$1javascript:")}),B=k),"production"!==process.env.NODE_ENV){const t={timestamp:Date.now(),key:Cu(l)?l:ld(b)?b.key:"",locale:m||(ld(b)?b.locale:""),format:Cu(b)?b:ld(b)?b.source:"",message:B};t.meta=hu({},e.__meta,MA()||{}),Hc(t)}return B}function cd(e,t,r,n,i,o){const{messages:a,onWarn:s,messageResolver:l,localeFallbacker:u}=e,c=u(e,n,r);let A,d=fu(),h=null,p=r,f=null;const g="translate";for(let v=0;v<c.length;v++){A=f=c[v],"production"!==process.env.NODE_ENV&&r!==A&&!HA(r,A)&&UA(i,t)&&s(CA(pA,{key:t,target:A}));const n="production"!==process.env.NODE_ENV?e.__v_emitter:void 0;"production"!==process.env.NODE_ENV&&r!==A&&n&&n.emit("fallback",{type:g,key:t,from:p,to:f,groupId:`${g}:${t}`}),d=a[A]||fu();let u,m,y=null;if("production"!==process.env.NODE_ENV&&ru&&n&&(y=window.performance.now(),u="intlify-message-resolve-start",m="intlify-message-resolve-end",nu&&nu(u)),null===(h=l(d,t))&&(h=d[t]),"production"!==process.env.NODE_ENV&&ru&&n){const e=window.performance.now();n&&y&&h&&n.emit("message-resolve",{type:"message-resolve",key:t,message:h,time:e-y,groupId:`${g}:${t}`}),u&&m&&nu&&iu&&(nu(m),iu("intlify message resolve",u,m))}if(Cu(h)||wc(h)||ld(h))break;if(!VA(A,c)){const r=RA(e,t,A,o,g);r!==t&&(h=r)}p=f}return[h,A,d]}function Ad(e,t,r,n,i,o){const{messageCompiler:a,warnHtmlMessage:s}=e;if(ld(n)){const e=n;return e.locale=e.locale||r,e.key=e.key||t,e}if(null==a){const e=()=>n;return e.locale=r,e.key=t,e}const l="production"!==process.env.NODE_ENV?e.__v_emitter:void 0;let u,c,A=null;"production"!==process.env.NODE_ENV&&ru&&l&&(A=window.performance.now(),u="intlify-message-compilation-start",c="intlify-message-compilation-end",nu&&nu(u));const d=a(n,function(e,t,r,n,i,o){return{locale:t,key:r,warnHtmlMessage:i,onError:t=>{if(o&&o(t),"production"!==process.env.NODE_ENV){const i=function(e){if(Cu(e))return e;if(e.loc&&e.loc.source)return e.loc.source}(n),o=t.location&&i&&function(e,t=0,r=e.length){const n=e.split(/\r?\n/);let i=0;const o=[];for(let a=0;a<n.length;a++)if(i+=n[a].length+1,i>=t){for(let e=a-2;e<=a+2||r>i;e++){if(e<0||e>=n.length)continue;const s=e+1;o.push(`${s}${" ".repeat(3-String(s).length)}| ${n[e]}`);const l=n[e].length;if(e===a){const e=t-(i-l)+1,n=Math.max(1,r>i?l-e:r-t);o.push(" | "+" ".repeat(e)+"^".repeat(n))}else if(e>a){if(r>i){const e=Math.max(Math.min(r-i,l),1);o.push(" | "+"^".repeat(e))}i+=l+1}}break}return o.join("\n")}(i,t.location.start.offset,t.location.end.offset),a=e.__v_emitter;a&&i&&a.emit("compile-error",{message:i,error:t.message,start:t.location&&t.location.start.offset,end:t.location&&t.location.end.offset,groupId:`translate:${r}`});const s=`Message compilation error: ${t.message}`;throw new SyntaxError(o?`${s}\n${o}`:s)}throw t},onCacheKey:e=>((e,t,r)=>lu({l:e,k:t,s:r}))(t,r,e)}}(e,r,i,n,s,o));if("production"!==process.env.NODE_ENV&&ru&&l){const e=window.performance.now();l&&A&&l.emit("message-compilation",{type:"message-compilation",message:n,time:e-A,groupId:`translate:${t}`}),u&&c&&nu&&iu&&(nu(c),iu("intlify message compilation",u,c))}return d.locale=r,d.key=t,d.source=n,d}function dd(...e){const[t,r,n]=e,i=fu();if(!(Cu(t)||uu(t)||ld(t)||wc(t)))throw Zc(jc);const o=uu(t)?String(t):(ld(t),t);return uu(r)?i.plural=r:Cu(r)?i.default=r:Iu(r)&&!du(r)?i.named=r:xu(r)&&(i.list=r),uu(n)?i.plural=n:Cu(n)?i.default=n:Iu(n)&&hu(i,n),[o,i]}"boolean"!=typeof __INTLIFY_DROP_MESSAGE_COMPILER__&&(vu().__INTLIFY_DROP_MESSAGE_COMPILER__=!1);const hd=24,pd=25,fd=26,gd=27,vd=28,md=29,yd=30,bd=31,wd=32,xd=33,_d=34;function Cd(e,...t){return Ju(e,null,"production"!==process.env.NODE_ENV?{messages:Sd,args:t}:void 0)}const Sd={[hd]:"Unexpected return type in composer",[pd]:"Invalid argument",[fd]:"Must be called at the top of a `setup` function",[gd]:"Need to install with `app.use` function",[wd]:"Unexpected error",[vd]:"Required in value: {0}",[md]:"Invalid value",[yd]:"Cannot setup vue-devtools plugin",[bd]:"Need to install with `provide` function",[xd]:"Not compatible legacy VueI18n.",[_d]:"Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly"},Bd=su("__translateVNode"),kd=su("__datetimeParts"),Ed=su("__numberParts"),Id=su("__enableEmitter"),Td=su("__disableEmitter"),Pd=su("__setPluralRules"),Md=su("__injectWithOption"),Ld=su("__dispose"),Dd={FALLBACK_TO_ROOT:xA,NOT_FOUND_PARENT_SCOPE:11,IGNORE_OBJ_FLATTEN:12,DEPRECATE_LEGACY_MODE:13,DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE:14,DUPLICATE_USE_I18N_CALLING:15},Nd={[Dd.FALLBACK_TO_ROOT]:"Fall back to {type} '{key}' with root locale.",[Dd.NOT_FOUND_PARENT_SCOPE]:"Not found parent scope. use the global scope.",[Dd.IGNORE_OBJ_FLATTEN]:"Ignore object flatten: '{key}' key has an string value",[Dd.DEPRECATE_LEGACY_MODE]:"Legacy API mode has been deprecated in v11. Use Composition API mode instead.\nAbout how to use the Composition API mode, see https://vue-i18n.intlify.dev/guide/advanced/composition.html",[Dd.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE]:"'v-t' has been deprecated in v11. Use translate APIs ('t' or '$t') instead.",[Dd.DUPLICATE_USE_I18N_CALLING]:"Duplicate `useI18n` calling by local scope. Please don't call it on local scope, due to it does not work properly in component."};function Od(e,...t){return au(Nd[e],...t)}function Fd(e){if(!Bu(e))return e;if(wc(e))return e;for(const t in e)if(wu(e,t))if(t.includes(".")){const r=t.split("."),n=r.length-1;let i=e,o=!1;for(let e=0;e<n;e++){if("__proto__"===r[e])throw new Error(`unsafe key: ${r[e]}`);if(r[e]in i||(i[r[e]]=fu()),!Bu(i[r[e]])){"production"!==process.env.NODE_ENV&&eu(Od(Dd.IGNORE_OBJ_FLATTEN,{key:r[e]})),o=!0;break}i=i[r[e]]}if(o||(wc(i)?Lc.includes(r[n])||delete e[t]:(i[r[n]]=e[t],delete e[t])),!wc(i)){const e=i[r[n]];Bu(e)&&Fd(e)}}else Bu(e[t])&&Fd(e[t]);return e}function Ud(e,t){const{messages:r,__i18n:n,messageResolver:i,flatJson:o}=t,a=Iu(r)?r:xu(n)?fu():{[e]:fu()};if(xu(n)&&n.forEach(e=>{if("locale"in e&&"resource"in e){const{locale:t,resource:r}=e;t?(a[t]=a[t]||fu(),Lu(r,a[t])):Lu(r,a)}else Cu(e)&&Lu(JSON.parse(e),a)}),null==i&&o)for(const s in a)wu(a,s)&&Fd(a[s]);return a}function zd(e){return e.type}function Rd(e){return Zo(No,null,e,0)}function Qd(){return Aa()}const Hd=()=>[],Vd=()=>!1;let jd=0;function Gd(e){return(t,r,n,i)=>e(r,n,Qd()||void 0,i)}function Wd(e={}){const{__root:t,__injectWithOption:r}=e,n=void 0===t,i=e.flatJson,o=ru?Ft:Ut;let a=!Su(e.inheritLocale)||e.inheritLocale;const s=o(t&&a?t.locale.value:Cu(e.locale)?e.locale:SA),l=o(t&&a?t.fallbackLocale.value:Cu(e.fallbackLocale)||xu(e.fallbackLocale)||Iu(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:s.value),u=o(Ud(s.value,e)),c=o(Iu(e.datetimeFormats)?e.datetimeFormats:{[s.value]:{}}),A=o(Iu(e.numberFormats)?e.numberFormats:{[s.value]:{}});let d=t?t.missingWarn:!Su(e.missingWarn)&&!Au(e.missingWarn)||e.missingWarn,h=t?t.fallbackWarn:!Su(e.fallbackWarn)&&!Au(e.fallbackWarn)||e.fallbackWarn,p=t?t.fallbackRoot:!Su(e.fallbackRoot)||e.fallbackRoot,f=!!e.fallbackFormat,g=_u(e.missing)?e.missing:null,v=_u(e.missing)?Gd(e.missing):null,m=_u(e.postTranslation)?e.postTranslation:null,y=t?t.warnHtmlMessage:!Su(e.warnHtmlMessage)||e.warnHtmlMessage,b=!!e.escapeParameter;const w=t?t.modifiers:Iu(e.modifiers)?e.modifiers:{};let x,_=e.pluralRules||t&&t.pluralRules;x=(()=>{n&&DA(null);const t={version:"11.3.2",locale:s.value,fallbackLocale:l.value,messages:u.value,modifiers:w,pluralRules:_,missing:null===v?void 0:v,missingWarn:d,fallbackWarn:h,fallbackFormat:f,unresolving:!0,postTranslation:null===m?void 0:m,warnHtmlMessage:y,escapeParameter:b,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};t.datetimeFormats=c.value,t.numberFormats=A.value,t.__datetimeFormatters=Iu(x)?x.__datetimeFormatters:void 0,t.__numberFormatters=Iu(x)?x.__numberFormatters:void 0,"production"!==process.env.NODE_ENV&&(t.__v_emitter=Iu(x)?x.__v_emitter:void 0);const r=OA(t);return n&&DA(r),r})(),QA(x,s.value,l.value);const C=Ta({get:()=>s.value,set:e=>{x.locale=e,s.value=e}}),S=Ta({get:()=>l.value,set:e=>{x.fallbackLocale=e,l.value=e,QA(x,s.value,e)}}),B=Ta(()=>u.value),k=Ta(()=>c.value),E=Ta(()=>A.value);const I=(e,r,i,o,a,f)=>{let g;s.value,l.value,u.value,c.value,A.value;try{process.env.NODE_ENV,n||(x.fallbackContext=t?LA:void 0),g=e(x)}finally{process.env.NODE_ENV,n||(x.fallbackContext=void 0)}if("translate exists"!==i&&uu(g)&&-1===g||"translate exists"===i&&!g){const[e,n]=r();if("production"!==process.env.NODE_ENV&&t&&Cu(e)&&(v=n,"translate"!==i||!v.resolvedMessage)&&(p&&(UA(h,e)||zA(d,e))&&Od(Dd.FALLBACK_TO_ROOT,{key:e,type:i}),"production"!==process.env.NODE_ENV)){const{__v_emitter:t}=x;t&&p&&t.emit("fallback",{type:i,key:e,to:"global",groupId:`${i}:${e}`})}return t&&p?o(t):a(e)}if(f(g))return g;throw Cd(hd);var v};function T(...e){return I(t=>Reflect.apply(ud,null,[t,...e]),()=>dd(...e),"translate",t=>Reflect.apply(t.t,t,[...e]),e=>e,e=>Cu(e))}const P={normalize:function(e){return e.map(e=>Cu(e)||uu(e)||Su(e)?Rd(String(e)):e)},interpolate:e=>e,type:"vnode"};function M(e){return u.value[e]||{}}jd++,t&&ru&&(an(t.locale,e=>{a&&(s.value=e,x.locale=e,QA(x,s.value,l.value))}),an(t.fallbackLocale,e=>{a&&(l.value=e,x.fallbackLocale=e,QA(x,s.value,l.value))}));const L={id:jd,locale:C,fallbackLocale:S,get inheritLocale(){return a},set inheritLocale(e){a=e,e&&t&&(s.value=t.locale.value,l.value=t.fallbackLocale.value,QA(x,s.value,l.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:B,get modifiers(){return w},get pluralRules(){return _||{}},get isGlobal(){return n},get missingWarn(){return d},set missingWarn(e){d=e,x.missingWarn=d},get fallbackWarn(){return h},set fallbackWarn(e){h=e,x.fallbackWarn=h},get fallbackRoot(){return p},set fallbackRoot(e){p=e},get fallbackFormat(){return f},set fallbackFormat(e){f=e,x.fallbackFormat=f},get warnHtmlMessage(){return y},set warnHtmlMessage(e){y=e,x.warnHtmlMessage=e},get escapeParameter(){return b},set escapeParameter(e){b=e,x.escapeParameter=e},t:T,getLocaleMessage:M,setLocaleMessage:function(e,t){if(i){const r={[e]:t};for(const e in r)wu(r,e)&&Fd(r[e]);t=r[e]}u.value[e]=t,x.messages=u.value},mergeLocaleMessage:function(e,t){u.value[e]=u.value[e]||{};const r={[e]:t};if(i)for(const n in r)wu(r,n)&&Fd(r[n]);Lu(t=r[e],u.value[e]),x.messages=u.value},getPostTranslationHandler:function(){return _u(m)?m:null},setPostTranslationHandler:function(e){m=e,x.postTranslation=e},getMissingHandler:function(){return g},setMissingHandler:function(e){null!==e&&(v=Gd(e)),g=e,x.missing=v},[Pd]:function(e){_=e,x.pluralRules=_}};return L.datetimeFormats=k,L.numberFormats=E,L.rt=function(...e){const[t,r,n]=e;if(n&&!Bu(n))throw Cd(pd);return T(t,r,hu({resolvedMessage:!0},n||{}))},L.te=function(e,t){return I(()=>{if(!e)return!1;const r=Cu(t)?t:s.value,n=Cu(t)?[r]:nA(x,l.value,r);for(let t=0;t<n.length;t++){const r=M(n[t]);let i=x.messageResolver(r,e);if(null===i&&(i=r[e]),wc(i)||ld(i)||Cu(i))return!0}return!1},()=>[e],"translate exists",r=>Reflect.apply(r.te,r,[e,t]),Vd,e=>Su(e))},L.tm=function(e){const r=function(e){let t=null;const r=nA(x,l.value,s.value);for(let n=0;n<r.length;n++){const i=u.value[r[n]]||{},o=x.messageResolver(i,e);if(null!=o){t=o;break}}return t}(e);return null!=r?r:t&&t.tm(e)||{}},L.d=function(...e){return I(t=>Reflect.apply(KA,null,[t,...e]),()=>YA(...e),"datetime format",t=>Reflect.apply(t.d,t,[...e]),()=>BA,e=>Cu(e)||xu(e))},L.n=function(...e){return I(t=>Reflect.apply(ZA,null,[t,...e]),()=>$A(...e),"number format",t=>Reflect.apply(t.n,t,[...e]),()=>BA,e=>Cu(e)||xu(e))},L.getDateTimeFormat=function(e){return c.value[e]||{}},L.setDateTimeFormat=function(e,t){c.value[e]=t,x.datetimeFormats=c.value,XA(x,e,t)},L.mergeDateTimeFormat=function(e,t){c.value[e]=hu(c.value[e]||{},t),x.datetimeFormats=c.value,XA(x,e,t)},L.getNumberFormat=function(e){return A.value[e]||{}},L.setNumberFormat=function(e,t){A.value[e]=t,x.numberFormats=A.value,ed(x,e,t)},L.mergeNumberFormat=function(e,t){A.value[e]=hu(A.value[e]||{},t),x.numberFormats=A.value,ed(x,e,t)},L[Md]=r,L[Bd]=function(...e){return I(t=>{let r;const n=t;try{n.processor=P,r=Reflect.apply(ud,null,[n,...e])}finally{n.processor=null}return r},()=>dd(...e),"translate",t=>t[Bd](...e),e=>[Rd(e)],e=>xu(e))},L[kd]=function(...e){return I(t=>Reflect.apply(KA,null,[t,...e]),()=>YA(...e),"datetime format",t=>t[kd](...e),Hd,e=>Cu(e)||xu(e))},L[Ed]=function(...e){return I(t=>Reflect.apply(ZA,null,[t,...e]),()=>$A(...e),"number format",t=>t[Ed](...e),Hd,e=>Cu(e)||xu(e))},"production"!==process.env.NODE_ENV&&(L[Id]=e=>{x.__v_emitter=e},L[Td]=()=>{x.__v_emitter=void 0}),L}const Kd="vue-i18n: composer properties",qd="Vue I18n DevTools",Yd="Vue I18n DevTools",Xd="Vue I18n",Zd="Search for scopes ...",Jd=16764185;let $d;async function eh(e,t){return new Promise((r,n)=>{try{el({id:"vue-devtools-plugin-vue-i18n",label:qd,packageName:"vue-i18n",homepage:"https://vue-i18n.intlify.dev",logo:"https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png",componentStateTypes:[Kd],app:e},n=>{$d=n,n.on.visitComponentTree(({componentInstance:e,treeNode:r})=>{!function(e,t,r){const n="composition"===r.mode?r.global:r.global.__composer;if(e&&e.__VUE_I18N__&&e.__VUE_I18N__!==n){const r={label:`i18n (${th(e)} Scope)`,textColor:0,backgroundColor:16764185};t.tags.push(r)}}(e,r,t)}),n.on.inspectComponent(({componentInstance:e,instanceData:r})=>{e.__VUE_I18N__&&r&&("legacy"===t.mode?e.__VUE_I18N__!==t.global.__composer&&rh(r,e.__VUE_I18N__):rh(r,e.__VUE_I18N__))}),n.addInspector({id:"vue-i18n-resource-inspector",label:Yd,icon:"language",treeFilterPlaceholder:Zd}),n.on.getInspectorTree(r=>{r.app===e&&"vue-i18n-resource-inspector"===r.inspectorId&&function(e,t){e.rootNodes.push({id:"global",label:"Global Scope"});const r="composition"===t.mode?t.global:t.global.__composer;for(const[n,i]of t.__instances){const o="composition"===t.mode?i:i.__composer;r!==o&&e.rootNodes.push({id:o.id.toString(),label:`${th(n)} Scope`})}}(r,t)});const i=new Map;n.on.getInspectorState(async r=>{if(r.app===e&&"vue-i18n-resource-inspector"===r.inspectorId)if(n.unhighlightElement(),function(e,t){const r=sh(e.nodeId,t);r&&(e.state=function(e){const t={},r="Locale related info",n=[{type:r,key:"locale",editable:!0,value:e.locale.value},{type:r,key:"fallbackLocale",editable:!0,value:e.fallbackLocale.value},{type:r,key:"availableLocales",editable:!1,value:e.availableLocales},{type:r,key:"inheritLocale",editable:!0,value:e.inheritLocale}];t[r]=n;const i="Locale messages info",o=[{type:i,key:"messages",editable:!1,value:nh(e.messages.value)}];t[i]=o;{const r="Datetime formats info",n=[{type:r,key:"datetimeFormats",editable:!1,value:e.datetimeFormats.value}];t[r]=n;const i="Datetime formats info",o=[{type:i,key:"numberFormats",editable:!1,value:e.numberFormats.value}];t[i]=o}return t}(r))}(r,t),"global"===r.nodeId){if(!i.has(r.app)){const[e]=await n.getComponentInstances(r.app);i.set(r.app,e)}n.highlightElement(i.get(r.app))}else{const e=function(e,t){let r=null;if("global"!==e)for(const[n,i]of t.__instances.entries())if(i.id.toString()===e){r=n;break}return r}(r.nodeId,t);e&&n.highlightElement(e)}}),n.on.editInspectorState(r=>{r.app===e&&"vue-i18n-resource-inspector"===r.inspectorId&&function(e,t){const r=sh(e.nodeId,t);if(r){const[t]=e.path;"locale"===t&&Cu(e.state.value)?r.locale.value=e.state.value:"fallbackLocale"===t&&(Cu(e.state.value)||xu(e.state.value)||Bu(e.state.value))?r.fallbackLocale.value=e.state.value:"inheritLocale"===t&&Su(e.state.value)&&(r.inheritLocale=e.state.value)}}(r,t)}),n.addTimelineLayer({id:"vue-i18n-timeline",label:Xd,color:Jd}),r(!0)})}catch(gH){n(!1)}})}function th(e){return e.type.name||e.type.displayName||e.type.__file||"Anonymous"}function rh(e,t){const r=Kd;e.state.push({type:r,key:"locale",editable:!0,value:t.locale.value}),e.state.push({type:r,key:"availableLocales",editable:!1,value:t.availableLocales}),e.state.push({type:r,key:"fallbackLocale",editable:!0,value:t.fallbackLocale.value}),e.state.push({type:r,key:"inheritLocale",editable:!0,value:t.inheritLocale}),e.state.push({type:r,key:"messages",editable:!1,value:nh(t.messages.value)}),e.state.push({type:r,key:"datetimeFormats",editable:!1,value:t.datetimeFormats.value}),e.state.push({type:r,key:"numberFormats",editable:!1,value:t.numberFormats.value})}function nh(e){const t={};return Object.keys(e).forEach(r=>{const n=e[r];var i;_u(n)&&"source"in n?t[r]={_custom:{type:"function",display:"<span>ƒ</span> "+((i=n).source?`("${oh(i.source)}")`:"(?)")}}:wc(n)&&n.loc&&n.loc.source?t[r]=n.loc.source:Bu(n)?t[r]=nh(n):t[r]=n}),t}const ih={"<":"<",">":">",'"':""","&":"&"};function oh(e){return e.replace(/[<>"&]/g,ah)}function ah(e){return ih[e]||e}function sh(e,t){if("global"===e)return"composition"===t.mode?t.global:t.global.__composer;{const r=Array.from(t.__instances.values()).find(t=>t.id.toString()===e);return r?"composition"===t.mode?r:r.__composer:null}}function lh(e,t){if($d){let r;t&&"groupId"in t&&(r=t.groupId,delete t.groupId),$d.addTimelineEvent({layerId:"vue-i18n-timeline",event:{title:e,groupId:r,time:Date.now(),meta:{},data:t||{},logType:"compile-error"===e?"error":"fallback"===e||"missing"===e?"warning":"default"}})}}const uh={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>"parent"===e||"global"===e,default:"parent"},i18n:{type:Object}};hu({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>uu(e)||!isNaN(e)}},uh),hu({value:{type:Number,required:!0},format:{type:[String,Object]}},uh);const ch=su("global-vue-i18n");function Ah(e={}){process.env.NODE_ENV;const t=!Su(e.globalInjection)||e.globalInjection,r=new Map,[n,i]=function(e){const t=de(),r=t.run(()=>Wd(e));if(null==r)throw Cd(wd);return[t,r]}(e),o=su("production"!==process.env.NODE_ENV?"vue-i18n":"");const a={get mode(){return"composition"},async install(e,...r){if("production"!==process.env.NODE_ENV&&(e.__VUE_I18N__=a),e.__VUE_I18N_SYMBOL__=o,e.provide(e.__VUE_I18N_SYMBOL__,a),Iu(r[0])){const e=r[0];a.__composerExtend=e.__composerExtend,a.__vueI18nExtend=e.__vueI18nExtend}let n=null;t&&(n=function(e,t){const r=Object.create(null);hh.forEach(e=>{const n=Object.getOwnPropertyDescriptor(t,e);if(!n)throw Cd(wd);const i=Ot(n.value)?{get:()=>n.value.value,set(e){n.value.value=e}}:{get:()=>n.get&&n.get()};Object.defineProperty(r,e,i)}),e.config.globalProperties.$i18n=r,ph.forEach(r=>{const n=Object.getOwnPropertyDescriptor(t,r);if(!n||!n.value)throw Cd(wd);Object.defineProperty(e.config.globalProperties,`$${r}`,n)});const n=()=>{delete e.config.globalProperties.$i18n,ph.forEach(t=>{delete e.config.globalProperties[`$${t}`]})};return n}(e,a.global));const s=e.unmount;if(e.unmount=()=>{n&&n(),a.dispose(),s()},"production"!==process.env.NODE_ENV){if(!(await eh(e,a)))throw Cd(yd);const t=Pu();{const e=i;e[Id]&&e[Id](t)}t.on("*",lh)}},get global(){return i},dispose(){n.stop()},__instances:r,__getInstance:function(e){return r.get(e)||null},__setInstance:function(e,t){r.set(e,t)},__deleteInstance:function(e){r.delete(e)}};return a}function dh(e={}){const t=Qd();if(null==t)throw Cd(fd);if(!t.isCE&&null!=t.appContext.app&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Cd(gd);const r=function(e){const t=nn(e.isCE?ch:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Cd(e.isCE?bd:wd);return t}(t),n=function(e){return"composition"===e.mode?e.global:e.global.__composer}(r),i=zd(t),o=function(e,t){return du(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}(e,i);if("global"===o)return function(e,t,r){let n=Bu(t.messages)?t.messages:fu();"__i18nGlobal"in r&&(n=Ud(e.locale.value,{messages:n,__i18n:r.__i18nGlobal}));const i=Object.keys(n);if(i.length&&i.forEach(t=>{e.mergeLocaleMessage(t,n[t])}),Bu(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(Bu(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}(n,e,i),n;if("parent"===o){let i=function(e,t,r=!1){let n=null;const i=t.root;let o=function(e,t=!1){if(null==e)return null;return t&&e.vnode.ctx||e.parent}(t,r);for(;null!=o;){const t=e;if("composition"===e.mode&&(n=t.__getInstance(o)),null!=n)break;if(i===o)break;o=o.parent}return n}(r,t,e.__useComponent);return null==i&&("production"!==process.env.NODE_ENV&&Od(Dd.NOT_FOUND_PARENT_SCOPE),i=n),i}const a=r;let s=a.__getInstance(t);if(null==s){const r=hu({},e);"__i18n"in i&&(r.__i18n=i.__i18n),n&&(r.__root=n),s=Wd(r),a.__composerExtend&&(s[Ld]=a.__composerExtend(s)),function(e,t,r){let n=null;ei(()=>{if("production"!==process.env.NODE_ENV){t.__VUE_I18N__=r,n=Pu();const e=r;e[Id]&&e[Id](n),n.on("*",lh)}},t),ii(()=>{const i=r;"production"!==process.env.NODE_ENV&&(n&&n.off("*",lh),i[Td]&&i[Td](),delete t.__VUE_I18N__),e.__deleteInstance(t);const o=i[Ld];o&&(o(),delete i[Ld])},t)}(a,t,s),a.__setInstance(t,s)}else"production"!==process.env.NODE_ENV&&"local"===o&&Od(Dd.DUPLICATE_USE_I18N_CALLING);return s}const hh=["locale","fallbackLocale","availableLocales"],ph=["t","rt","d","n","tm","te"];var fh,gh;if(hu({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},uh),"boolean"!=typeof __INTLIFY_DROP_MESSAGE_COMPILER__&&(vu().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),EA=function(e,t){if(!__INTLIFY_DROP_MESSAGE_COMPILER__&&Cu(e)){const r=!Su(t.warnHtmlMessage)||t.warnHtmlMessage;"production"!==process.env.NODE_ENV&&Uc(e,r);const n=(t.onCacheKey||zc)(e),i=Rc[n];if(i)return i;const{ast:o,detectError:a}=function(e,t={}){let r=!1;const n=t.onError||$u;return t.onError=e=>{r=!0,n(e)},{...bc(e,t),detectError:r}}(e,{...t,location:"production"!==process.env.NODE_ENV,jit:!0}),s=Nc(o);return a?s:Rc[n]=s}{if("production"!==process.env.NODE_ENV&&!wc(e))return t.key,()=>e;const r=e.cacheKey;if(r){const t=Rc[r];return t||(Rc[r]=Nc(e))}return Nc(e)}},fh=function(e,t){if(!Bu(e))return null;let r=AA.get(t);if(r||(r=function(e){const t=[];let r,n,i,o,a,s,l,u=-1,c=0,A=0;const d=[];function h(){const t=e[u+1];if(5===c&&"'"===t||6===c&&'"'===t)return u++,i="\\"+t,d[0](),!0}for(d[0]=()=>{void 0===n?n=i:n+=i},d[1]=()=>{void 0!==n&&(t.push(n),n=void 0)},d[2]=()=>{d[0](),A++},d[3]=()=>{if(A>0)A--,c=4,d[0]();else{if(A=0,void 0===n)return!1;if(n=cA(n),!1===n)return!1;d[1]()}};null!==c;)if(u++,r=e[u],"\\"!==r||!h()){if(o=uA(r),l=sA[c],a=l[o]||l.l||8,8===a)return;if(c=a[0],void 0!==a[1]&&(s=d[a[1]],s&&(i=r,!1===s())))return;if(7===c)return t}}(t),r&&AA.set(t,r)),!r)return null;const n=r.length;let i=e,o=0;for(;o<n;){const e=r[o];if(Lc.includes(e)&&wc(i))return null;if(!Bu(i))return null;if(!wu(i,e))return null;const t=i[e];if(void 0===t)return null;if(_u(i))return null;i=t,o++}return i},IA=fh,TA=nA,"production"!==process.env.NODE_ENV){const e=vu();e.__INTLIFY__=!0,gh=e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__,Qc=gh}process.env.NODE_ENV;const vh={en:{common:{save:"Save",cancel:"Cancel",confirm:"Confirm",close:"Close",clear:"Clear",delete:"Delete",copy:"Copy",cut:"Cut",paste:"Paste",undo:"Undo",redo:"Redo",edit:"Edit",loading:"Loading...",success:"Success",input:"Input",actions:"Actions",width:"Width",height:"Height",mm:"mm",px:"px",pt:"pt",in:"in",cm:"cm",rotate:"Rotate",lock:"Lock",unlock:"Unlock",appTitle:"Print Designer",testData:"Test Data",invalidJson:"Invalid JSON. Changes were not saved.",testDataKeyChanged:"Test data keys cannot be changed. Please only edit values.",variables:"Available Variables",fields:"Field Selection",sampleData:"View Sample Data",fieldType:"Field Type",textField:"Text",arrayField:"Array",noData:"No Data",lastSaved:"Last saved",notSavedYet:"Not saved yet"},template:{select:"Select Template",noTemplates:"No templates yet",new:"New Template",edit:"Edit Template",confirmDelete:'Are you sure you want to delete "{name}"?'},editor:{preview:"Print Preview",exportPdf:"Export PDF",exportHtml:"Export HTML",exportImage:"Export Image",print:"Print",viewJson:"View JSON",viewBlob:"View Blob",viewImageBlob:"View Image Blob",viewPdfBlob:"View PDF Blob",zoomIn:"Zoom In",zoomOut:"Zoom Out",zoomLevel:"Zoom Level",zoomSettings:"Zoom Settings",unit:"Unit",advancedSettings:"Advanced Settings",watermark:"Watermark",watermarkEnable:"Enable",watermarkText:"Text",watermarkTextPlaceholder:"Enter watermark text",watermarkAngle:"Angle",watermarkColor:"Color",watermarkOpacity:"Opacity (%)",watermarkSize:"Size",watermarkDensity:"Density",template:"Template",newTemplate:"New Template",saveTemplate:"Save Template",saveAsTemplate:"Save As Template",saveReport:"Save Report",templateMode:"Template Mode",reportMode:"Report Mode",editView:"Edit",previewView:"Preview",switchToEdit:"Switch to Edit",switchToPreview:"Switch to Preview",templates:"Templates",shortcuts:"Shortcuts",help:"Help",about:"About",paperSettings:"Paper Settings",sizePreset:"Size Preset",custom:"Custom",spacingX:"Horizontal Margin",spacingY:"Vertical Margin",showMarginLines:"Show Margin Lines",showCornerMarkers:"Show Corner Markers",showGrid:"Show Grid",showMinimap:"Show Minimap",headerFooter:"Header & Footer",headerLine:"Header Line",footerLine:"Footer Line",addNewPage:"Add New Page",fonts:{default:"Default",arial:"Arial",timesNewRoman:"Times New Roman",courierNew:"Courier New",simSun:"SimSun (宋体)",simHei:"SimHei (黑体)"},bold:"Bold",italic:"Italic",underline:"Underline",verticalText:"Vertical Text",textColor:"Text Color",backgroundColor:"Background Color",resetRotation:"Reset Rotation",alignLeft:"Align Left",alignCenter:"Align Center",alignRight:"Align Right",alignTop:"Align Top",alignMiddle:"Align Middle",alignBottom:"Align Bottom",group:"Group",lock:"Lock",unlock:"Unlock",fontFamily:"Font Family",settings:"Settings"},canvas:{addPage:"Add Page",copyPage:"Copy Page",pastePage:"Paste Page",deletePage:"Delete Page",newText:"New Field",newRichText:"Rich Text Content",newDataCard:"Data Card",signature:"Signature Area",headerLabel:"Header",footerLabel:"Footer",defaultTableHeaders:{id:"ID",name:"Name",qty:"Qty",price:"Price",total:"Total"},defaultTableData:{item:"Item",pageSum:"Page Sum",total:"Total",inWords:"In Words"},defaultChartData:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun"}},sidebar:{elements:"Elements",dragToCanvas:"Drag elements to the canvas",standard:"Standard",custom:"Custom",general:"General",dataCodes:"Data & Codes",shapes:"Shapes",text:"Field",image:"Image",pagination:"Pagination",table:"Data Table",customTable:"Custom Table",barcode:"Barcode",qrcode:"QR Code",line:"Line",rect:"Rect",circle:"Circle",chart:"Chart",longText:"Long Text",noCustomElements:"No custom elements saved yet.",moreOptions:"More options",editElement:"Design Element",edit:"Edit",copy:"Copy",delete:"Delete",editModalTitle:"Edit Custom Element",enterNamePlaceholder:"Enter element name...",confirmDelete:'Are you sure you want to delete "{name}"?',confirmSwitchEdit:'Exit current edit for "{name}"?',confirmExitEdit:"You have unsaved changes. Exit anyway?",editingElement:"Editing custom element: {name}",saveEdit:"Save",saveAs:"Save As",exitEdit:"Exit",saveAsCustomElement:"Save as Custom Element",editSaveFailed:"Nothing to save. Please select an element."},elements:{text:"Field",image:"Image",table:"Data Table",customTable:"Custom Table",line:"Line",rect:"Rect",circle:"Circle",barcode:"Barcode",qrcode:"QR Code",pageNumber:"Page Number",chart:"Chart",longText:"Long Text",custom:"Custom",layers:"Layers"},properties:{title:"Properties",subtitle:"Edit element properties",locked:"Locked",multiSelectMode:"Multi-select mode",selectedElements:"{n} elements selected",deleteSelected:"Delete Selected Elements",tab:{properties:"Properties",style:"Style",advanced:"Advanced"},section:{positionSize:"Position & Size",layer:"Layer",dataBehavior:"Data & Behavior",layoutDimensions:"Layout & Dimensions",headerStyle:"Header Style",footerStyle:"Footer Style",cellOperations:"Cell Operations",appearance:"Appearance",elementInfo:"Element Info",content:"Content",typography:"Typography",border:"Border",barcodeSettings:"Barcode Settings",qrSettings:"QR Settings",labelContent:"Label Content",paginationTypography:"Pagination Typography",labelStyle:"Label Style",frameBorder:"Frame Border",lineStyle:"Line Style",dataSource:"Data Source",tableColumns:"Table Columns",tableLayout:"Table Layout",cellStyle:"Cell Style",imageSource:"Image Source",chartAppearance:"Chart Appearance",chartTitleStyle:"Title Style",chartLegend:"Legend Settings",chartAxis:"Axis Settings",chartBarStyle:"Bar Chart Style",chartLineStyle:"Line Chart Style",chartPieStyle:"Pie Chart Style",chartDataLabel:"Data Label",advanced:"Advanced",customTableSettings:"Custom Table Settings",cellEdit:"Cell Editing",fieldSelection:"Field Selection",nestedColumns:"Child Table Columns"},action:{mergeCells:"Merge Cells",splitCells:"Split Cells",bringToFront:"Bring to Front",sendToBack:"Send to Back",moveUp:"Move Up",moveDown:"Move Down",copyId:"Copy ID",copied:"Copied!",addColumn:"Add Column",saveCustom:"Save as Custom Element",deleteElement:"Delete Current Element",saveCustomModal:"Save Custom Element"},empty:{noSelection:"No Selection",selectInstruction:"Select an element to edit properties"},label:{type:"Type",textAlign:"Text Align",x:"X",y:"Y",width:"Width",height:"Height",zIndex:"Layer",content:"Content",variable:"Variable",dataVariable:"Data Variable",selectField:"Select Field",searchField:"Search fields",selectDataField:"Please select a data field in the properties panel",columnsVariable:"Columns Variable",footerDataVariable:"Footer Data Variable",writingMode:"Writing Mode",fontSize:"Font Size",color:"Color",verticalAlign:"Vertical Align",fontFamily:"Font Family",fontWeight:"Font Weight",borderStyle:"Border Style",borderWidth:"Border Width",borderColor:"Border Color",backgroundColor:"Background Color",imageSource:"Image Source",format:"Format",showText:"Show Text",lineWidth:"Line Width",barcodeHeight:"Height",margin:"Margin",textPosition:"Text Position",errorCorrection:"Error Correction",thickness:"Thickness",cornerRadius:"Corner Radius",background:"Background",autoPaginate:"Auto Paginate",autoHeight:"Auto Height",repeatPerPage:"Repeat Per Page",repeatFooter:"Repeat Footer",showFooter:"Show Footer",columns:"Columns",columnPicker:"Select Columns",columnAlias:"Header Alias",headerAliasPlaceholder:"Enter alias",data:"Data",footerData:"Footer Data",customScript:"Custom Script",customScriptVariable:"Custom Script Variable",headerPosition:"Header Position",headerHeight:"Header Height",rowHeight:"Row Height",footerHeight:"Footer Height",textColor:"Text Color",editCell:"Edit Cell",editColumn:"Edit Column",headerText:"Header Text",fieldKey:"Field Key",variableField:"Variable Field",headerNamePlaceholder:"Header Name",displayTextPlaceholder:"Display Text (e.g. Total:)",dataFieldPlaceholder:"Data Field (e.g. {#amount})",id:"ID",labelBorderColor:"Label Border Color",barcodeContentPlaceholder:"Barcode Value",qrContentPlaceholder:"QR Code Value",textContentPlaceholder:"Enter text content",longTextPlaceholder:'Enter long text content, click "Insert Field" below to insert fields at cursor position',variablePlaceholder:"Variable Name (e.g. @name)",labelText:"Label Text",labelPosition:"Label Position",labelFontSize:"Label Font Size",labelColor:"Label Color",labelFontFamily:"Label Font Family",labelFontWeight:"Label Font Weight",labelBackgroundColor:"Label Background Color",labelBorderStyle:"Label Border Style",labelBorderWidth:"Label Border Width",pageFormat:"Page Format",labelTextPlaceholder:"e.g. Page",columnsPlaceholder:'[{ "field": "name", "header": "Name", "width": 100 }]',dataPlaceholder:"[{...}]",footerDataPlaceholder:'[{ "id": { "value": "Total" }, "amount": { "value": "Total:", "field": "{#sum}" } }]',customScriptPlaceholder:"return { data: ... };",fontStyle:"Font Style",padding:"Padding (px)",chartTitle:"Chart Title",chartType:"Chart Type",chartData:"Chart Data",chartDataSource:"Data Source",chartDataSourcePlaceholder:"Select array data source",chartXField:"X Field",chartXFieldPlaceholder:"Select X axis field",chartYField:"Y Field",chartYFieldPlaceholder:"Select Y axis field",chartNameField:"Name Field",chartNameFieldPlaceholder:"Select name field (Pie)",chartValueField:"Value Field",chartValueFieldPlaceholder:"Select value field (Pie)",chartShowLegend:"Show Legend",chartShowTooltip:"Show Tooltip",chartShowDataLabel:"Show Data Label",chartColors:"Color List",chartTitleFontSize:"Title Font Size",chartTitleColor:"Title Color",chartTitleFontWeight:"Title Weight",chartTitlePlaceholder:"Enter chart title",chartLegendPosition:"Legend Position",chartLegendFontSize:"Legend Font Size",chartLegendColor:"Legend Color",chartXAxisTitle:"X Axis Title",chartXAxisTitlePlaceholder:"Enter X axis title",chartYAxisTitle:"Y Axis Title",chartYAxisTitlePlaceholder:"Enter Y axis title",chartXAxisFontSize:"X Axis Font Size",chartYAxisFontSize:"Y Axis Font Size",chartXAxisColor:"X Axis Color",chartYAxisColor:"Y Axis Color",chartShowGrid:"Show Grid",chartGridColor:"Grid Color",chartBarWidth:"Bar Width",chartBarColor:"Bar Color",chartLineSmooth:"Smooth Curve",chartLineWidth:"Line Width",chartLineColor:"Line Color",chartPieRadius:"Pie Radius",chartDoughnutInnerRadius:"Doughnut Inner Radius",chartDoughnutOuterRadius:"Doughnut Outer Radius",chartDataPlaceholder:'[{ "name": "Jan", "value": 820 }, ...]',chartColorsPlaceholder:'["#5470c6", "#91cc75", ...]',customOptions:"Custom Options (JSON)",customOptionsPlaceholder:'{ "title": { "text": "..." }, ... }',headerBackgroundColor:"Header Background",headerColor:"Header Color",headerFontSize:"Header Font Size",headerTextAlign:"Header Align",selectDataSource:"Select Data Source",selectDataSourceFirst:"Please select data source first",insertField:"Insert Field",customTableRows:"Rows",customTableCols:"Cols",customTableCellCount:"Rows & Cols",cellContentType:"Content Type",cellText:"Text Content",cellField:"Field Variable",cellImage:"Image",cellImageUrl:"Image URL",cellImageWidth:"Image Width",cellImageHeight:"Image Height",cellBackgroundColor:"Cell Background Color",clear:"Clear",mergeCell:"Merge Cells",splitCell:"Split Cell",customTableCells:"Cell Data",lineThickness:"Line Thickness",lineColor:"Line Color",spacing:"Spacing",richTextContent:"Rich Text Content",richTextPlaceholder:"Enter rich text content, support bold, italic, underline, lists, etc.",lineHeight:"Line Height",dateVariable:"Date Field",selectDateField:"Select Date Field",dateFormat:"Date Format",cardTitle:"Card Title",cardTitlePlaceholder:"Enter card title",staticValue:"Static Value",unit:"Unit",unitPlaceholder:"Enter unit",valueKey:"Value Key",valueKeyPlaceholder:"e.g. value",labelKey:"Label Key",labelKeyPlaceholder:"e.g. label",trend:"Trend",trendValue:"Trend Value",trendValuePlaceholder:"e.g. +5%",cardStyle:"Card Style",borderRadius:"Border Radius (px)",valueFontSize:"Value Font Size",cardPadding:"Padding",progressVariable:"Progress Variable",staticPercent:"Static Percent",percentKey:"Percent Key",percentKeyPlaceholder:"e.g. percent",colorKey:"Color Key",colorKeyPlaceholder:"e.g. color",progressStyle:"Progress Style",barColor:"Bar Color",barHeight:"Bar Height",showLabel:"Show Label",progressLabelPosition:"Label Position",listItems:"List Items",listLayout:"List Layout",iconSize:"Icon Size",signature:"Signature",signatureImage:"Signature Image",signatureLabel:"Label Text",signatureLabelPlaceholder:"e.g. Approval Signature",signatureType:"Type",seal:"Seal",sealText:"Seal Text",sealTextPlaceholder:"e.g. Official Stamp",appearance:"Appearance",opacity:"Opacity (%)",qrcodeWithText:"QR with Text",qrcodeContent:"QR Content",qrcodeContentPlaceholder:"Enter content or select field",qrcodeTitle:"Title",qrcodeTitlePlaceholder:"Enter title",qrcodeDescription:"Description",qrcodeDescriptionPlaceholder:"Enter description",qrcodeStyle:"QR Style",qrcodeColor:"Foreground",qrcodeBgColor:"Background",correctionLevel:"Correction Level",nestedTable:"Nested Table",nestedDataVariable:"Nested Data",nestedDataSource:"Data Source",parentField:"Parent Field",parentFieldPlaceholder:"e.g. categories",childField:"Child Field",childFieldPlaceholder:"e.g. items",parentLabelKey:"Parent Label Key",parentLabelKeyPlaceholder:"e.g. name",selectParentField:"Select parent label field",selectChildField:"Select child array field",noChildArray:"No child array field found",nestedTableStyle:"Nested Table Style",nestedColumns:"Child Table Columns",customTitle:"Custom Title",customTitlePlaceholder:"Enter custom title (priority display)",progressTitle:"Progress Title",progressTitlePlaceholder:"Enter progress title",progressTitlePosition:"Title Position",progressTitleField:"Title Field",progressTitleFieldPlaceholder:"Select title field",listItem1:"List Item 1",listItem2:"List Item 2",listItem3:"List Item 3",listItem4:"List Item 4",listItem5:"List Item 5",listItemPlaceholder:"Enter list item content"},option:{horizontal:"Horizontal",vertical:"Vertical",default:"Default",left:"Left",center:"Center",right:"Right",normal:"Normal",medium:"Medium",bold:"Bold",none:"None",up:"Up",down:"Down",inside:"Inside",outside:"Outside",hide:"Hide",solid:"Solid",dashed:"Dashed",dotted:"Dotted",yes:"Yes",no:"No",top:"Top",headerTop:"Top",headerLeft:"Left",middle:"Middle",bottom:"Bottom",before:"Before",after:"After",eccLow:"Low (7%)",eccMedium:"Medium (15%)",eccQuartile:"Quartile (25%)",eccHigh:"High (30%)",arial:"Arial",timesNewRoman:"Times New Roman",courierNew:"Courier New",simSun:"SimSun (宋体)",simHei:"SimHei (黑体)",page1:"Page 1",oneTotal:"1/Total",code128:"CODE128",ean13:"EAN-13",upc:"UPC",code39:"CODE39",itf14:"ITF-14",msi:"MSI",pharmacode:"Pharmacode",numberOnly:"Number (1)",chartBar:"Bar",chartLine:"Line",chartArea:"Area",chartPie:"Pie",chartDoughnut:"Doughnut",cellTypeText:"Text",cellTypeField:"Field",cellTypeImage:"Image"},image:{urlPlaceholder:"https://... or data:image/...",uploadBtn:"Upload Image",uploadTip:"Max 2MB, converts to Base64",sizeError:"Image size must be less than 2MB",readError:"Failed to read file"},align:{left:"Align Left",center:"Align Center",right:"Align Right"}},shortcuts:{title:"Shortcuts",keyboardShortcuts:"Keyboard Shortcuts",general:"General",editing:"Editing",manipulation:"Manipulation",newTemplate:"New Template",openSettings:"Open Settings",openHelp:"Open Help",zoom:"Zoom In/Out",closeModal:"Close Modal",selectAll:"Select All",multiSelect:"Multi-select",move:"Move",fastMove:"Fast Move",snapRotate:"Snap Rotate",resize:"Proportional Resize",saveAsTemplate:"Save As Template",customEditSave:"Save Custom Edit",customEditSaveAs:"Save Custom Edit As",customEditExit:"Exit Custom Edit",ctrl:"Ctrl",shift:"Shift",alt:"Alt",esc:"Esc",del:"Delete",enter:"Enter",arrow:"Arrow Keys",drag:"Drag",click:"Click",wheel:"Wheel"},help:{title:"Help Center",about:"About",aboutProject:"About {name}",links:"Links",github:"Project URL",website:"Website",dependencies:"Open Source Dependencies",package:"Package",version:"Version"},colorPicker:{clear:"Clear",transparent:"Transparent"},settings:{title:"Settings",basic:"Basic",language:"Language",connection:"Connections",themeColor:"Theme Color",themeColorDesc:"Pick a preset theme color and apply instantly.",themePresetDefault:"Blue",themePresetEmerald:"Emerald",themePresetAmber:"Amber",themePresetRose:"Rose",themePresetCustom:"Custom",theme:"Theme",themeSystem:"Follow System",themeLight:"Light",themeDark:"Dark",themeDesc:"Defaults to following system; you can force Light or Dark.",autoSave:"Auto Save",autoSaveDesc:"Automatically save changes (saved templates only).",printQuality:"Print Quality",printQualityFast:"Fast",printQualityNormal:"Normal",printQualityHigh:"High",printQualityUltra:"Ultra",printQualityDesc:"Set the rendering quality for exporting images and printing",exportImageMerged:"Export Image As Single",exportImageMergedDesc:"When off, export each page as a separate image inside a ZIP file.",languageDesc:"Choose the interface language.",connectionDesc:"Connection settings placeholder.",printMode:"Print Mode",printModeLocal:"Local Client",printModeRemote:"Remote Cloud",printModeBrowser:"Browser",printModeDesc:"Local and remote options require a successful connection test.",silentPrint:"Silent Print",silentPrintDesc:"When enabled, skip the custom print dialog; browser print still uses the browser dialog.",localConnection:"Client Print",remoteConnection:"Remote Print",host:"Host",port:"Port",wsPath:"WS Path",protocol:"Protocol",wsAddress:"WS Address",wsAddressPlaceholder:"ws://host:port/ws/request",localWsAddressPlaceholder:"ws://host:port/ws",secretKey:"Secret Key",connectionUrl:"Connection URL",connect:"Connect",disconnect:"Disconnect",connecting:"Connecting...",connectionTesting:"Testing connection...",connectionOk:"Connection OK",connectionOkWithUser:"Connection OK (User: {userId})",connectionFailed:"Connection failed",connectionTimeout:"Connection timeout",connectionMissingFields:"Please fill in API URL, username, and password.",connectionMissingToken:"Login succeeded but token is missing.",apiBaseUrl:"Login URL",apiBasePlaceholder:"http://host:port/api/login",username:"Username",password:"Password",remoteLoginTitle:"Login (HTTP)",remoteLoginDesc:"Used to obtain the JWT token. Enter the full login URL.",remoteWsTitle:"WebSocket (Print Relay)",remoteWsDesc:"Used for printing and client/printer queries. Token is appended to the WS URL.",localClientTitle:"Local Client",downloadClient:"Download Client",cloudPrint:"Cloud Print",localClientDesc:"Configure the local client WebSocket and secret key for on-device printing.",remoteClient:"Default Client",remoteClientPlaceholder:"Select a client",remoteAuthHint:"Remote WS URL appends ?token=JWT for browser WebSocket authentication.",status:{connected:"Connected",connecting:"Connecting",disconnected:"Disconnected",error:"Error"},retrying:"Retrying ({count}/{max})",cancelRetry:"Cancel Retry",selectLanguage:"Select Language",zhLabel:"Chinese",enLabel:"English"},printDialog:{title:"Print Options",titleLocal:"Client Print Options",titleRemote:"Remote Print Options",sectionBasic:"Basic",sectionAdvanced:"Advanced",printer:"Printer",printerSelect:"Select printer",printerEmpty:"No printers found.",remoteClient:"Client",remoteClientPlaceholder:"Select client",remoteClientEmpty:"No clients found.",remotePrinterInfo:"Type: {type} | Paper: {paper} | Formats: {format}",printerPlaceholder:"Printer name",jobName:"Job Name",jobNamePlaceholder:"Optional job name",copies:"Copies",intervalMs:"Interval (ms)",pageRange:"Page Range",pageRangePlaceholder:"e.g. 1-3,5",pageSet:"Page Set",pageSetAll:"All",pageSetOdd:"Odd",pageSetEven:"Even",scale:"Scale",scaleNo:"No Scale",scaleShrink:"Shrink",scaleFit:"Fit",orientation:"Orientation",portrait:"Portrait",landscape:"Landscape",colorMode:"Color Mode",color:"Color",monochrome:"Monochrome",sidesMode:"Duplex",simplex:"Simplex",duplex:"Duplex",duplexShort:"Duplex (Short Edge)",duplexLong:"Duplex (Long Edge)",paperSize:"Paper Size",paperSizePlaceholder:"e.g. A4",trayBin:"Tray",trayBinPlaceholder:"e.g. 2 or Manual",confirm:"Print"},confirm:{reportSaveTitle:"Save Report",reportSaveWarning:"This report contains a data snapshot. Saving will update both layout and data. Continue?",saveReport:"Save Report",cancel:"Cancel"},preview:{title:"Print Preview",templateJson:"Template JSON",zoomIn:"Zoom In",zoomOut:"Zoom Out",emptyDataWarning:"Data not bound or data is empty"},testData:{title:"Test Data Manager",copy:"Copy Data",export:"Export JSON",import:"Import JSON",reset:"Reset Data",editJson:"Edit JSON",saveJson:"Save JSON",noData:"No test data",hint:"Tip: After modifying test data, preview will update in real-time"},input:{title:"Input",placeholder:"Enter value..."},toast:{templateReadOnly:"System template is read-only and cannot be edited.",templateCopyNotAllowed:"System template cannot be copied.",templateDeleteNotAllowed:"System template cannot be deleted.",templateSaveFailed:"Failed to save template.",templateDeleteFailed:"Failed to delete template.",templateEditFailed:"Failed to edit template.",templateCopyFailed:"Failed to copy template.",templateUpsertFailed:"Failed to save template.",customElementReadOnly:"System custom element is read-only and cannot be edited.",customElementCopyNotAllowed:"System custom element cannot be copied.",customElementDeleteNotAllowed:"System custom element cannot be deleted.",customElementCopyFailed:"Failed to copy custom element.",customElementAddFailed:"Failed to add custom element.",customElementRemoveFailed:"Failed to delete custom element",customElementEditFailed:"Failed to edit custom element",customElementUpsertFailed:"Failed to save custom element",printerRequired:"Printer is required",clientRequired:"Client is required",printFailed:"Print failed",exportPdfFailed:"Export PDF failed",exportImageFailed:"Export Image failed"}},zh:{common:{save:"保存",cancel:"取消",confirm:"确认",close:"关闭",clear:"清除",delete:"删除",copy:"复制",cut:"剪切",paste:"粘贴",undo:"撤销",redo:"重做",edit:"编辑",loading:"加载中...",success:"成功",input:"输入",actions:"操作",width:"宽度",height:"高度",mm:"毫米",px:"像素",pt:"磅",in:"英寸",cm:"厘米",rotate:"旋转",lock:"锁定",unlock:"解锁",appTitle:"打印设计器",testData:"测试数据",invalidJson:"JSON 无效,未保存更改。",testDataKeyChanged:"测试数据的键不允许修改,请仅编辑值。",variables:"可用变量",fields:"字段选择",sampleData:"数据",fieldType:"字段类型",textField:"文本",arrayField:"数组",noData:"暂无数据",lastSaved:"最近保存",notSavedYet:"尚未保存"},template:{select:"选择模版",noTemplates:"暂无模版",new:"新建模版",edit:"编辑模版",confirmDelete:'确定要删除 "{name}" 吗?'},editor:{preview:"打印预览",exportPdf:"导出 PDF",exportHtml:"导出 HTML",exportImage:"导出图片",print:"打印",viewJson:"查看 JSON",viewBlob:"查看 Blob",viewImageBlob:"查看图片 Blob",viewPdfBlob:"查看 PDF Blob",zoomIn:"放大",zoomOut:"缩小",zoomLevel:"缩放级别",zoomSettings:"缩放设置",unit:"单位",advancedSettings:"高级设置",watermark:"水印",watermarkEnable:"启用",watermarkText:"文字",watermarkTextPlaceholder:"请输入水印文字",watermarkAngle:"方向",watermarkColor:"颜色",watermarkOpacity:"透明度(%)",watermarkSize:"大小",watermarkDensity:"密度",template:"模版",newTemplate:"新建模版",saveTemplate:"保存模版",saveAsTemplate:"另存为模版",saveReport:"保存报告",templateMode:"模板模式",reportMode:"报告模式",editView:"编辑",previewView:"预览",switchToEdit:"切换到编辑",switchToPreview:"切换到预览",templates:"模版列表",shortcuts:"快捷键",help:"帮助",about:"关于",paperSettings:"页面设置",sizePreset:"纸张尺寸",custom:"自定义",spacingX:"水平边距",spacingY:"垂直边距",showMarginLines:"显示边距线",showCornerMarkers:"显示角标",showGrid:"显示网格",showMinimap:"显示缩略图",headerFooter:"页眉页脚",headerLine:"页眉线",footerLine:"页脚线",addNewPage:"添加新页",fonts:{default:"默认",arial:"Arial",timesNewRoman:"Times New Roman",courierNew:"Courier New",simSun:"宋体",simHei:"黑体"},bold:"加粗",italic:"斜体",underline:"下划线",verticalText:"竖排文本",textColor:"文本颜色",backgroundColor:"背景颜色",resetRotation:"重置旋转",alignLeft:"左对齐",alignCenter:"水平居中",alignRight:"右对齐",alignTop:"顶部对齐",alignMiddle:"垂直居中",alignBottom:"底部对齐",group:"组合",lock:"锁定",unlock:"解锁",fontFamily:"字体",settings:"设置"},canvas:{addPage:"添加页",copyPage:"复制页",pastePage:"粘贴页",deletePage:"删除页",newText:"新字段",newRichText:"富文本内容",newDataCard:"数据卡片",signature:"印章/签名区域",headerLabel:"页眉",footerLabel:"页脚",defaultTableHeaders:{id:"ID",name:"名称",qty:"数量",price:"单价",total:"合计"},defaultTableData:{item:"商品",pageSum:"本页合计",total:"总计",inWords:"大写金额"},defaultChartData:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月"}},sidebar:{custom:"自定义",elements:"元素库",dragToCanvas:"拖拽元素到画布",standard:"标准元素",general:"通用",dataCodes:"数据 & 条码",shapes:"图形",text:"字段",image:"图片",pagination:"页码",table:"数据表格",customTable:"自定义表格",barcode:"条形码",qrcode:"二维码",line:"直线",rect:"矩形",circle:"圆形",chart:"图表",longText:"长文本",richText:"富文本",date:"日期",dataCard:"数据卡片",progress:"进度条",list:"列表",signature:"印章/签名",nestedTable:"嵌套表格",noCustomElements:"暂无自定义元素",moreOptions:"更多选项",editElement:"设计元素",edit:"编辑",copy:"复制",delete:"删除",editModalTitle:"编辑自定义元素",enterNamePlaceholder:"输入元素名称...",confirmDelete:'确定要删除 "{name}" 吗?',confirmSwitchEdit:'退出当前对 "{name}" 的编辑?',confirmExitEdit:"存在未保存的更改,确定退出吗?",editingElement:"正在编辑自定义元素:{name}",saveEdit:"保存",saveAs:"另存为",exitEdit:"退出",saveAsCustomElement:"另存为自定义元素",editSaveFailed:"没有可保存的元素,请先选中一个元素。"},elements:{text:"字段",image:"图片",table:"数据表格",customTable:"自定义表格",line:"直线",rect:"矩形",circle:"圆形",barcode:"条形码",qrcode:"二维码",pageNumber:"页码",chart:"图表",longText:"长文本",custom:"自定义",layers:"图层"},properties:{title:"属性面板",subtitle:"编辑元素属性",locked:"已锁定",multiSelectMode:"多选模式",selectedElements:"已选择 {n} 个元素",deleteSelected:"删除选中元素",tab:{properties:"属性",style:"样式",advanced:"高级"},section:{positionSize:"位置 & 尺寸",layer:"层级",dataBehavior:"数据 & 行为",layoutDimensions:"布局 & 尺寸",headerStyle:"表头样式",footerStyle:"表脚样式",cellOperations:"单元格操作",appearance:"外观",elementInfo:"元素信息",content:"内容",typography:"排版",border:"边框",barcodeSettings:"条形码设置",qrSettings:"二维码设置",labelContent:"标签内容",paginationTypography:"页码排版",labelStyle:"标签样式",frameBorder:"框架边框",lineStyle:"线条样式",dataSource:"数据源",tableColumns:"表格列",tableLayout:"表格布局",cellStyle:"单元格样式",imageSource:"图片来源",chartAppearance:"图表外观",chartTitleStyle:"标题样式",chartLegend:"图例设置",chartAxis:"坐标轴设置",chartBarStyle:"柱状图样式",chartLineStyle:"折线图样式",chartPieStyle:"饼图样式",chartDataLabel:"数据标签",advanced:"高级设置",customTableSettings:"自定义表格设置",cellEdit:"单元格编辑",fieldSelection:"字段选择",nestedColumns:"子表格列配置"},action:{mergeCells:"合并单元格",splitCells:"拆分单元格",bringToFront:"置于顶层",sendToBack:"置于底层",moveUp:"上移一层",moveDown:"下移一层",copyId:"复制 ID",copied:"已复制!",addColumn:"添加列",saveCustom:"保存为自定义元素",deleteElement:"删除当前元素",saveCustomModal:"保存自定义元素"},empty:{noSelection:"未选择",selectInstruction:"选择一个元素以编辑属性"},label:{textAlign:"对齐方式",type:"类型",x:"X",y:"Y",width:"宽度",height:"高度",zIndex:"层级",content:"内容",variable:"变量",dataVariable:"数据变量",selectField:"选择字段",searchField:"搜索字段",selectDataField:"请在属性面板中选择数据字段",columnsVariable:"列定义变量",footerDataVariable:"表脚数据变量",writingMode:"书写模式",fontSize:"字号",color:"颜色",verticalAlign:"垂直对齐",fontFamily:"字体",fontWeight:"字重",borderStyle:"边框样式",borderWidth:"边框宽度",borderColor:"边框颜色",backgroundColor:"背景颜色",imageSource:"图片来源",format:"格式",showText:"显示文本",lineWidth:"线宽",barcodeHeight:"高度",margin:"边距",textPosition:"文本位置",errorCorrection:"纠错等级",thickness:"粗细",cornerRadius:"圆角半径",background:"背景",autoPaginate:"自动分页",autoHeight:"自适应高度",repeatPerPage:"每页重复",repeatFooter:"重复表脚",showFooter:"显示表脚",columns:"列定义",columnPicker:"选择表头字段",columnAlias:"表头别名",headerAliasPlaceholder:"输入别名",data:"数据",footerData:"表脚数据",customScript:"自定义脚本",customScriptVariable:"自定义脚本变量",headerPosition:"表头位置",headerHeight:"表头高度",rowHeight:"行高",footerHeight:"表脚高度",textColor:"文本颜色",editCell:"编辑单元格",editColumn:"编辑列",headerText:"表头文本",fieldKey:"字段键",variableField:"变量字段",headerNamePlaceholder:"表头名称",displayTextPlaceholder:"显示文本 (如: 合计:)",dataFieldPlaceholder:"数据字段 (如: {#amount})",id:"ID",labelBorderColor:"标签边框颜色",barcodeContentPlaceholder:"条码内容",qrContentPlaceholder:"二维码内容",textContentPlaceholder:"请输入文本内容",longTextPlaceholder:'请输入长文本内容,点击下方"插入字段"按钮在光标处插入字段',variablePlaceholder:"变量名 (例如 @name)",labelText:"标签文本",labelPosition:"标签位置",labelFontSize:"标签字号",labelColor:"标签颜色",labelFontFamily:"标签字体",labelFontWeight:"标签字重",labelBackgroundColor:"标签背景颜色",labelBorderStyle:"标签边框样式",labelBorderWidth:"标签边框宽度",pageFormat:"页码格式",labelTextPlaceholder:"例如:第",columnsPlaceholder:'[{ "field": "name", "header": "姓名", "width": 100 }]',dataPlaceholder:"[{...}]",footerDataPlaceholder:'[{ "id": { "value": "合计" }, "amount": { "value": "合计:", "field": "{#sum}" } }]',customScriptPlaceholder:"return { data: ... };",fontStyle:"字体样式",padding:"内边距 (px)",chartTitle:"图表标题",chartType:"图表类型",chartData:"图表数据",chartDataSource:"数据源",chartDataSourcePlaceholder:"选择数组数据源",chartXField:"X 轴字段",chartXFieldPlaceholder:"选择 X 轴字段",chartYField:"Y 轴字段",chartYFieldPlaceholder:"选择 Y 轴字段",chartNameField:"名称字段",chartNameFieldPlaceholder:"选择名称字段(饼图)",chartValueField:"值字段",chartValueFieldPlaceholder:"选择值字段(饼图)",chartShowLegend:"显示图例",chartShowTooltip:"显示提示",chartShowDataLabel:"显示数据标签",chartColors:"颜色列表",chartTitleFontSize:"标题字号",chartTitleColor:"标题颜色",chartTitleFontWeight:"标题加粗",chartTitlePlaceholder:"输入图表标题",chartLegendPosition:"图例位置",chartLegendFontSize:"图例字号",chartLegendColor:"图例颜色",chartXAxisTitle:"X 轴标题",chartXAxisTitlePlaceholder:"输入 X 轴标题",chartYAxisTitle:"Y 轴标题",chartYAxisTitlePlaceholder:"输入 Y 轴标题",chartXAxisFontSize:"X 轴字号",chartYAxisFontSize:"Y 轴字号",chartXAxisColor:"X 轴颜色",chartYAxisColor:"Y 轴颜色",chartShowGrid:"显示网格线",chartGridColor:"网格线颜色",chartBarWidth:"柱宽",chartBarColor:"柱子颜色",chartLineSmooth:"平滑曲线",chartLineWidth:"线宽",chartLineColor:"线条颜色",chartPieRadius:"饼图半径",chartDoughnutInnerRadius:"环形内半径",chartDoughnutOuterRadius:"环形外半径",chartDataPlaceholder:'[{ "name": "一月", "value": 820 }, ...]',chartColorsPlaceholder:'["#5470c6", "#91cc75", ...]',customOptions:"自定义选项 (JSON)",customOptionsPlaceholder:'{ "title": { "text": "..." }, ... }',headerBackgroundColor:"表头背景色",headerColor:"表头文字色",headerFontSize:"表头字号",headerTextAlign:"表头对齐",selectDataSource:"请选择数据源",selectDataSourceFirst:"请先选择数据源",insertField:"插入字段",customTableRows:"行数",customTableCols:"列数",customTableCellCount:"行列设置",cellContentType:"内容类型",cellText:"文本内容",cellField:"字段变量",cellImage:"图片",cellImageUrl:"图片链接",cellImageWidth:"图片宽度",cellImageHeight:"图片高度",cellBackgroundColor:"单元格背景颜色",clear:"清除",mergeCell:"合并单元格",splitCell:"拆分单元格",customTableCells:"单元格数据",lineThickness:"线条粗细",lineColor:"线条颜色",spacing:"间距",richTextContent:"富文本内容",richTextPlaceholder:"请输入富文本内容,支持加粗、斜体、下划线、列表等格式",lineHeight:"行高",dateVariable:"日期字段",selectDateField:"选择日期字段",dateFormat:"日期格式",cardTitle:"卡片标题",cardTitlePlaceholder:"输入卡片标题",staticValue:"静态数值",unit:"单位",unitPlaceholder:"输入单位",valueKey:"数值字段名",valueKeyPlaceholder:"如: value",labelKey:"标签字段名",labelKeyPlaceholder:"如: label",trend:"趋势",trendValue:"趋势值",trendValuePlaceholder:"如: +5%",cardStyle:"卡片样式",borderRadius:"圆角 (px)",valueFontSize:"数值字号",cardPadding:"内边距",progressVariable:"进度变量",staticPercent:"静态百分比",percentKey:"百分比字段名",percentKeyPlaceholder:"如: percent",colorKey:"颜色字段名",colorKeyPlaceholder:"如: color",progressStyle:"进度条样式",barColor:"条形颜色",barHeight:"条形高度",showLabel:"显示标签",progressLabelPosition:"标签位置",listItems:"列表项",listLayout:"列表布局",iconSize:"图标大小",signature:"印章/签名",signatureImage:"印章图片",signatureLabel:"标签文字",signatureLabelPlaceholder:"如: 审批签字",signatureType:"类型",seal:"印章",sealText:"印章文字",sealTextPlaceholder:"如: 公章",appearance:"外观",opacity:"透明度 (%)",qrcodeWithText:"二维码+说明",qrcodeContent:"二维码内容",qrcodeContentPlaceholder:"输入二维码内容或选择字段",qrcodeTitle:"标题",qrcodeTitlePlaceholder:"输入标题",qrcodeDescription:"描述",qrcodeDescriptionPlaceholder:"输入描述文字",qrcodeStyle:"二维码样式",qrcodeColor:"前景色",qrcodeBgColor:"背景色",correctionLevel:"纠错级别",nestedTable:"嵌套表格",nestedDataVariable:"嵌套数据",nestedDataSource:"数据源",parentField:"父级字段",parentFieldPlaceholder:"如: categories",childField:"子级字段",childFieldPlaceholder:"如: items",parentLabelKey:"父级标签字段",parentLabelKeyPlaceholder:"如: name",selectParentField:"选择父级标签字段",selectChildField:"选择子级数组字段",noChildArray:"未找到子级数组字段",nestedTableStyle:"嵌套表格样式",nestedColumns:"子表格列",customTitle:"自定义标题",customTitlePlaceholder:"输入自定义标题(优先显示)",progressTitle:"进度条标题",progressTitlePlaceholder:"输入进度条标题",progressTitlePosition:"标题位置",progressTitleField:"标题字段",progressTitleFieldPlaceholder:"选择标题字段",listItem1:"列表项 1",listItem2:"列表项 2",listItem3:"列表项 3",listItem4:"列表项 4",listItem5:"列表项 5",listItemPlaceholder:"输入列表项内容"},option:{horizontal:"水平",vertical:"垂直",default:"默认",left:"左对齐",center:"居中",right:"右对齐",normal:"常规",medium:"中等",bold:"加粗",none:"无",up:"上升",down:"下降",inside:"内部",outside:"外部",hide:"隐藏",solid:"实线",dashed:"虚线",dotted:"点线",yes:"是",no:"否",top:"顶部",headerTop:"上方",headerLeft:"左侧",middle:"居中",bottom:"底部",before:"之前",after:"之后",eccLow:"低 (7%)",eccMedium:"中 (15%)",eccQuartile:"四分 (25%)",eccHigh:"高 (30%)",arial:"Arial",timesNewRoman:"Times New Roman",courierNew:"Courier New",simSun:"宋体",simHei:"黑体",page1:"第 1 页",oneTotal:"1/共几页",code128:"CODE128",ean13:"EAN-13",upc:"UPC",code39:"CODE39",itf14:"ITF-14",msi:"MSI",pharmacode:"Pharmacode",numberOnly:"数字 (1)",chartBar:"柱状图",chartLine:"折线图",chartArea:"面积图",chartPie:"饼图",chartDoughnut:"环形图",cellTypeText:"文本",cellTypeField:"字段",cellTypeImage:"图片"},image:{urlPlaceholder:"请输入图片地址或 Base64...",uploadBtn:"上传图片",uploadTip:"最大 2MB,自动转换为 Base64",sizeError:"图片大小不能超过 2MB",readError:"读取文件失败"},align:{left:"左对齐",center:"居中对齐",right:"右对齐"}},shortcuts:{title:"快捷键",keyboardShortcuts:"键盘快捷键",general:"通用",editing:"编辑",manipulation:"操作",newTemplate:"新建模版",openSettings:"打开设置",openHelp:"打开帮助",zoom:"缩放",closeModal:"关闭弹窗",selectAll:"全选",multiSelect:"多选",move:"移动",fastMove:"快速移动",snapRotate:"吸附旋转",resize:"等比缩放",saveAsTemplate:"另存为模版",customEditSave:"保存自定义编辑",customEditSaveAs:"另存自定义编辑",customEditExit:"退出自定义编辑",ctrl:"Ctrl",shift:"Shift",alt:"Alt",esc:"Esc",del:"Delete",enter:"Enter",arrow:"方向键",drag:"拖拽",click:"点击",wheel:"滚轮"},help:{title:"帮助中心",about:"关于",aboutProject:"关于 {name}",links:"相关链接",github:"项目地址",website:"官网地址",dependencies:"开源依赖",package:"依赖包",version:"版本"},colorPicker:{clear:"清除",transparent:"透明"},settings:{title:"设置",basic:"基础",language:"语言",connection:"连接",themeColor:"主题色",themeColorDesc:"选择一个预设主题色,立即生效。",themePresetDefault:"蓝色",themePresetEmerald:"绿色",themePresetAmber:"橙色",themePresetRose:"玫红",themePresetCustom:"自定义",theme:"主题",themeSystem:"跟随系统",themeLight:"亮色",themeDark:"暗色",themeDesc:"默认跟随系统;可手动切换为亮色或暗色。",autoSave:"自动保存",autoSaveDesc:"当模版发生变更时自动保存(仅对已保存过的模版生效)。",printQuality:"打印质量",printQualityFast:"极速",printQualityNormal:"普通",printQualityHigh:"高清",printQualityUltra:"极清",printQualityDesc:"设置导出图片和打印时的渲染质量",exportImageMerged:"导出为整张图片",exportImageMergedDesc:"关闭后将每一页导出为单张图片,并打包为 ZIP。",languageDesc:"选择界面的显示语言。",connectionDesc:"连接设置占位内容。",printMode:"打印方式",printModeLocal:"本地客户端打印",printModeRemote:"远程云打印",printModeBrowser:"浏览器打印",printModeDesc:"本地/远程需连接测试成功后才能启用。",silentPrint:"静默打印",silentPrintDesc:"开启后跳过自定义打印对话框;浏览器打印仍会弹出浏览器打印设置。",localConnection:"本地客户端打印",remoteConnection:"远程云打印",host:"主机",port:"端口",wsPath:"WS 路径",protocol:"协议",wsAddress:"WS 地址",wsAddressPlaceholder:"ws://host:port/ws/request",localWsAddressPlaceholder:"ws://host:port/ws",secretKey:"密钥",connectionUrl:"连接地址",connect:"连接",disconnect:"断开",connecting:"连接中...",connectionTesting:"正在测试连接...",connectionOk:"连接成功",connectionOkWithUser:"连接成功(用户:{userId})",connectionFailed:"连接失败",connectionTimeout:"连接超时",connectionMissingFields:"请填写 API 地址、用户名和密码。",connectionMissingToken:"登录成功但未返回 Token。",apiBaseUrl:"登录地址",apiBasePlaceholder:"http://host:port/api/login",username:"用户名",password:"密码",remoteLoginTitle:"登录(HTTP)",remoteLoginDesc:"用于获取 JWT,请填写完整的登录地址。",remoteWsTitle:"WebSocket(打印中转)",remoteWsDesc:"用于打印与查询客户端/打印机,Token 会拼到 WS 地址。",localClientTitle:"本地客户端",downloadClient:"下载客户端",cloudPrint:"云打印",localClientDesc:"配置本地客户端的 WebSocket 与密钥,用于本机打印。",remoteClient:"默认客户端",remoteClientPlaceholder:"请选择客户端",remoteAuthHint:"远程 WS 地址会附加 ?token=JWT 以便浏览器鉴权。",status:{connected:"已连接",connecting:"连接中",disconnected:"未连接",error:"错误"},retrying:"重试中({count}/{max})",cancelRetry:"停止重试",selectLanguage:"选择语言",zhLabel:"中文",enLabel:"English"},printDialog:{title:"打印参数",titleLocal:"本地客户端打印参数",titleRemote:"远程云打印参数",sectionBasic:"基础",sectionAdvanced:"高级",printer:"打印机",printerSelect:"请选择打印机",printerEmpty:"未获取到打印机。",remoteClient:"客户端",remoteClientPlaceholder:"请选择客户端",remoteClientEmpty:"未获取到客户端。",remotePrinterInfo:"类型:{type} | 纸张:{paper} | 格式:{format}",printerPlaceholder:"打印机名称",jobName:"任务名称",jobNamePlaceholder:"可选任务名称",copies:"打印份数",intervalMs:"份数间隔(ms)",pageRange:"页码范围",pageRangePlaceholder:"如 1-3,5",pageSet:"奇偶页",pageSetAll:"全部",pageSetOdd:"奇数页",pageSetEven:"偶数页",scale:"缩放",scaleNo:"不缩放",scaleShrink:"缩小",scaleFit:"适应",orientation:"方向",portrait:"纵向",landscape:"横向",colorMode:"颜色模式",color:"彩色",monochrome:"黑白",sidesMode:"单双面",simplex:"单面",duplex:"双面",duplexShort:"双面(短边翻转)",duplexLong:"双面(长边翻转)",paperSize:"纸张",paperSizePlaceholder:"如 A4",trayBin:"纸盒",trayBinPlaceholder:"如 2 或 Manual",confirm:"打印"},confirm:{reportSaveTitle:"保存报告",reportSaveWarning:"当前报告包含数据快照,保存将同时更新布局和数据。是否继续?",saveReport:"保存报告",cancel:"取消"},preview:{title:"打印预览",templateJson:"模版 JSON",zoomIn:"放大",zoomOut:"缩小",emptyDataWarning:"数据未绑定或数据为空"},testData:{title:"测试数据管理",copy:"复制数据",export:"导出 JSON",import:"导入 JSON",reset:"重置数据",editJson:"编辑 JSON",saveJson:"保存 JSON",noData:"暂无测试数据",hint:"提示:修改测试数据后,预览模式下会实时更新显示效果"},input:{title:"输入",placeholder:"请输入..."},toast:{templateReadOnly:"系统模板为只读,无法编辑",templateCopyNotAllowed:"系统模板不允许复制",templateDeleteNotAllowed:"系统模板无法删除",templateSaveFailed:"保存模板失败",templateDeleteFailed:"删除模板失败",templateEditFailed:"编辑模板失败",templateCopyFailed:"复制模板失败",templateUpsertFailed:"保存模板失败",customElementReadOnly:"系统自定义元素为只读,无法编辑",customElementCopyNotAllowed:"系统自定义元素不允许复制",customElementDeleteNotAllowed:"系统自定义元素无法删除",customElementCopyFailed:"复制自定义元素失败",customElementAddFailed:"新增自定义元素失败",customElementRemoveFailed:"删除自定义元素失败",customElementEditFailed:"编辑自定义元素失败",customElementUpsertFailed:"保存自定义元素失败",printerRequired:"请指定打印机",clientRequired:"请指定客户端",printFailed:"打印失败",exportPdfFailed:"导出 PDF 失败",exportImageFailed:"导出图片失败"}}},mh=()=>{const e=localStorage.getItem("print-designer-language");if(e&&("zh"===e||"en"===e))return e;return navigator.language.toLowerCase().startsWith("zh")?"zh":"en"},yh=e=>Ah({locale:e||mh(),fallbackLocale:"en",messages:vh}),bh=yh(),wh='*,: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(147 197 253 / .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(147 197 253 / .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}:root{--brand-50: #eff6ff;--brand-100: #dbeafe;--brand-200: #bfdbfe;--brand-300: #93c5fd;--brand-400: #60a5fa;--brand-500: #3b82f6;--brand-600: #2563eb;--brand-700: #1d4ed8;--brand-800: #1e40af;--brand-900: #1e3a8a;--brand-950: #172554;--brand-500-alpha-10: rgb(59 130 246 / .1)}input[type=radio]{accent-color:var(--brand-600)}.theme-outline-hover:hover{outline:1px solid var(--brand-300)}.theme-hover-bg:hover{background-color:var(--brand-50)}.theme-hover-border:hover{border-color:var(--brand-500)}.theme-text{color:var(--brand-500)}.theme-text-hover:hover{color:var(--brand-700)}.theme-border{border-color:var(--brand-500)}.theme-border-strong{border-color:var(--brand-600)}.theme-border-hover{border-color:var(--brand-500)}.group:hover .theme-border-hover{border-color:var(--brand-400)}.theme-bg{background-color:var(--brand-500)}.theme-bg-strong{background-color:var(--brand-600)}.theme-bg-soft{background-color:#000000b3}.exporting .marker{display:none!important}.exporting,.previewing{overflow:hidden!important}html{color-scheme:light}.dark{color-scheme:dark}.dark body{background-color:#0f172a;color:#e5e7eb}.dark .bg-white{background-color:#1f2937!important}.dark .bg-gray-50{background-color:#111827!important}.dark :not(.canvas-scroll).bg-gray-100{background-color:#1f2937!important}.dark .canvas-scroll.bg-gray-100{background-color:#334155!important}.dark .hover\\\\:bg-gray-50:hover{background-color:#1f2937!important}.dark .hover\\\\:bg-gray-100:hover{background-color:#374151!important}.dark .bg-gray-200{background-color:#374151!important}.dark .hover\\:bg-gray-200:hover{background-color:#4b5563!important}.dark .hover\\:bg-blue-50:hover,.dark .theme-hover-bg:hover{background-color:color-mix(in srgb,var(--brand-500) 16%,transparent)!important}.dark .hover\\:border-blue-500:hover{border-color:#3b82f680!important}.dark .text-gray-800{color:#f3f4f6!important}.dark .text-gray-700{color:#e5e7eb!important}.dark .text-gray-600{color:#d1d5db!important}.dark .text-gray-500{color:#cbd5e1!important}.dark .text-gray-400{color:#9ca3af!important}.dark .text-gray-900{color:#f9fafb!important}.dark .border-gray-100{border-color:#1f2937!important}.dark .border-gray-200{border-color:#374151!important}.dark .border-gray-300{border-color:#4b5563!important}.dark select,.dark option{background-color:#1f2937;color:#e5e7eb}.dark .shadow-sm,.dark .shadow,.dark .shadow-xl,.dark .\\!shadow{box-shadow:0 1px 2px #0009,0 1px 1px #0006!important}.dark .print-page{color-scheme:light}.dark .print-page .bg-white{background-color:#fff!important}.dark .print-page .border-gray-100{border-color:#f3f4f6!important}.dark .print-page .border-gray-200{border-color:#e5e7eb!important}.dark .print-page .border-gray-300{border-color:#d1d5db!important}.dark .print-page .text-gray-500{color:#6b7280!important}.dark .print-page .text-gray-600{color:#4b5563!important}.dark .print-page .text-gray-700{color:#374151!important}.dark .print-page .text-gray-800{color:#1f2937!important}.dark .print-page .text-gray-900{color:#111827!important}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#f3f4f6;border-radius:0}::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:0;border:2px solid #f3f4f6}::-webkit-scrollbar-corner{background:#f3f4f6}*{scrollbar-width:thin;scrollbar-color:#d1d5db #f3f4f6}.dark ::-webkit-scrollbar-track{background:#1f2937}.dark ::-webkit-scrollbar-thumb{background-color:#4b5563;border:2px solid #1f2937}.dark ::-webkit-scrollbar-thumb:hover{background-color:#6b7280}.dark *{scrollbar-color:#4b5563 #1f2937}.\\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-bottom-4{bottom:-1rem}.-left-2{left:-.5rem}.-left-3{left:-.75rem}.-left-4{left:-1rem}.-right-0\\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-12{right:-3rem}.-right-3{right:-.75rem}.-right-5{right:-1.25rem}.-top-3{top:-.75rem}.-top-4{top:-1rem}.-top-6{top:-1.5rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\\/2{left:50%}.left-2{left:.5rem}.right-0{right:0}.right-1{right:.25rem}.right-4{right:1rem}.right-\\[280px\\]{right:280px}.top-0{top:0}.top-1\\/2{top:50%}.top-2{top:.5rem}.top-6{top:1.5rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\\[-1\\]{z-index:-1}.z-\\[100000\\]{z-index:100000}.z-\\[10000\\]{z-index:10000}.z-\\[1000\\]{z-index:1000}.z-\\[100\\]{z-index:100}.z-\\[1900\\]{z-index:1900}.z-\\[2000\\]{z-index:2000}.z-\\[2001\\]{z-index:2001}.z-\\[3000\\]{z-index:3000}.z-\\[99999\\]{z-index:99999}.z-\\[9999\\]{z-index:9999}.col-span-2{grid-column:span 2 / span 2}.m-0{margin:0}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-0\\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-ml-1\\.5{margin-left:-.375rem}.-mt-1\\.5{margin-top:-.375rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-0\\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.box-content{box-sizing:content-box}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0\\.5{height:.125rem}.h-1\\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\\[1px\\]{height:1px}.h-\\[500px\\]{height:500px}.h-\\[56px\\]{height:56px}.h-\\[60px\\]{height:60px}.h-\\[80vh\\]{height:80vh}.h-\\[90vh\\]{height:90vh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-\\[200px\\]{max-height:200px}.max-h-\\[300px\\]{max-height:300px}.max-h-\\[500px\\]{max-height:500px}.max-h-\\[90vh\\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-\\[120px\\]{min-height:120px}.min-h-\\[30px\\]{min-height:30px}.w-1{width:.25rem}.w-1\\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\\[240px\\]{width:240px}.w-\\[260px\\]{width:260px}.w-\\[300px\\]{width:300px}.w-\\[380px\\]{width:380px}.w-\\[60vw\\]{width:60vw}.w-\\[640px\\]{width:640px}.w-\\[700px\\]{width:700px}.w-\\[90vw\\]{width:90vw}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\\[140px\\]{min-width:140px}.min-w-\\[160px\\]{min-width:160px}.min-w-\\[200px\\]{min-width:200px}.min-w-\\[320px\\]{min-width:320px}.max-w-\\[100px\\]{max-width:100px}.max-w-\\[140px\\]{max-width:140px}.max-w-\\[300px\\]{max-width:300px}.max-w-\\[85vw\\]{max-width:85vw}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;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))}.-translate-y-1\\/2{--tw-translate-y: -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))}.translate-x-0{--tw-translate-x: 0px;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))}.translate-x-4{--tw-translate-x: 1rem;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))}.translate-x-5{--tw-translate-x: 1.25rem;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-45{--tw-rotate: 45deg;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))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;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))}.scale-150{--tw-scale-x: 1.5;--tw-scale-y: 1.5;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))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;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))}.transform{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))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-col-resize{cursor:col-resize}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-se-resize{cursor:se-resize}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity, 1))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-\\[0\\.5px\\]{border-width:.5px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-blue-200{border-color:var(--brand-200)}.border-blue-300{border-color:var(--brand-300)}.border-blue-500{border-color:var(--brand-500)}.border-blue-600{border-color:var(--brand-600)}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.border-red-100{--tw-border-opacity: 1;border-color:rgb(254 226 226 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-yellow-400{--tw-border-opacity: 1;border-color:rgb(250 204 21 / var(--tw-border-opacity, 1))}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(234 179 8 / var(--tw-border-opacity, 1))}.\\!bg-blue-100{background-color:var(--brand-100)!important}.bg-black\\/20{background-color:#0003}.bg-black\\/40{background-color:#0006}.bg-black\\/50{background-color:#00000080}.bg-blue-100{background-color:var(--brand-100)}.bg-blue-200{background-color:var(--brand-200)}.bg-blue-400{background-color:var(--brand-400)}.bg-blue-50{background-color:var(--brand-50)}.bg-blue-500{background-color:var(--brand-500)}.bg-blue-600{background-color:var(--brand-600)}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-900\\/20{background-color:#14532d33}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-orange-900\\/20{background-color:#7c2d1233}.bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-violet-100{--tw-bg-opacity: 1;background-color:rgb(237 233 254 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\\/80{background-color:#fffc}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-\\[url\\(\\\'data\\:image\\/png\\;base64\\,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ\\+5wNisxL\\/\\/8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII\\=\\\'\\)\\]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ+5wNisxL//8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII=)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.bg-gradient-to-tl{background-image:linear-gradient(to top left,var(--tw-gradient-stops))}.from-black{--tw-gradient-from: #000 var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-300{--tw-gradient-from: #d1d5db var(--tw-gradient-from-position);--tw-gradient-to: rgb(209 213 219 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white{--tw-gradient-from: #fff var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-current{--tw-gradient-to: currentColor var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.bg-\\[length\\:6px_6px\\]{background-size:6px 6px}.bg-repeat{background-repeat:repeat}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pl-1{padding-left:.25rem}.pl-8{padding-left:2rem}.pr-3{padding-right:.75rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.italic{font-style:italic}.not-italic{font-style:normal}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.tracking-normal{letter-spacing:0em}.tracking-wider{letter-spacing:.05em}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-400{color:var(--brand-400)}.text-blue-500{color:var(--brand-500)}.text-blue-600{color:var(--brand-600)}.text-blue-700{color:var(--brand-700)}.text-blue-900{color:var(--brand-900)}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-indigo-200{--tw-text-opacity: 1;color:rgb(199 210 254 / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-indigo-600{--tw-text-opacity: 1;color:rgb(79 70 229 / var(--tw-text-opacity, 1))}.text-indigo-800{--tw-text-opacity: 1;color:rgb(55 48 163 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity, 1))}.text-violet-400{--tw-text-opacity: 1;color:rgb(167 139 250 / var(--tw-text-opacity, 1))}.text-violet-600{--tw-text-opacity: 1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.\\!shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1) !important;--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color) !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-blue-400{--tw-ring-color: var(--brand-400)}.ring-blue-500{--tw-ring-color: var(--brand-500)}.ring-red-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.ring-red-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.ring-offset-1{--tw-ring-offset-width: 1px}.ring-offset-gray-900{--tw-ring-offset-color: #111827}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,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-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;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}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\\[-moz-appearance\\:textfield\\]{-moz-appearance:textfield}.\\[appearance\\:textfield\\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.dark .hover\\:bg-gray-50:hover{background-color:#111827!important}.dark .hover\\:bg-gray-100:hover:not(.canvas-scroll){background-color:#1f2937!important}.dark .hover\\:bg-gray-100:hover.canvas-scroll{background-color:#334155!important}.dark .hover\\:bg-gray-200:hover{background-color:#374151!important}.dark .hover\\:text-gray-800:hover{color:#f3f4f6!important}.dark .hover\\:text-gray-700:hover{color:#e5e7eb!important}.dark .hover\\:text-gray-600:hover{color:#d1d5db!important}.dark .print-page .hover\\:text-gray-600:hover{color:#4b5563!important}.dark .print-page .hover\\:text-gray-700:hover{color:#374151!important}.dark .print-page .hover\\:text-gray-800:hover{color:#1f2937!important}.dark .disabled\\:bg-gray-50:disabled{background-color:#111827!important}.dark .disabled\\:bg-gray-100:disabled:not(.canvas-scroll){background-color:#1f2937!important}.dark .disabled\\:bg-gray-100:disabled.canvas-scroll{background-color:#334155!important}.dark .disabled\\:text-gray-500:disabled{color:#cbd5e1!important}.dark .disabled\\:text-gray-400:disabled{color:#9ca3af!important}.dark .disabled\\:border-gray-200:disabled{border-color:#374151!important}.dark .print-page .disabled\\:border-gray-200:disabled{border-color:#e5e7eb!important}.dark .print-page .disabled\\:text-gray-500:disabled{color:#6b7280!important}.dark .disabled\\:hover\\:bg-gray-100:hover:disabled:not(.canvas-scroll){background-color:#1f2937!important}.dark .disabled\\:hover\\:bg-gray-100:hover:disabled.canvas-scroll{background-color:#334155!important}.dark .dark\\:bg-gray-100:is(.dark *):not(.canvas-scroll){background-color:#1f2937!important}.dark .dark\\:bg-gray-100:is(.dark *).canvas-scroll{background-color:#334155!important}.dark .dark\\:text-gray-600:is(.dark *){color:#d1d5db!important}.dark .dark\\:text-gray-500:is(.dark *){color:#cbd5e1!important}.dark .dark\\:text-gray-400:is(.dark *){color:#9ca3af!important}.dark .print-page .dark\\:text-gray-500:is(.dark *){color:#6b7280!important}.dark .print-page .dark\\:text-gray-600:is(.dark *){color:#4b5563!important}.dark .dark\\:disabled\\:text-gray-600:disabled:is(.dark *){color:#d1d5db!important}.dark .dark\\:disabled\\:text-gray-400:disabled:is(.dark *){color:#9ca3af!important}.dark .print-page .dark\\:disabled\\:text-gray-600:disabled:is(.dark *){color:#4b5563!important}.first\\:border-0:first-child{border-width:0px}.first\\:pt-0:first-child{padding-top:0}.last\\:border-0:last-child{border-width:0px}.last\\:border-b-0:last-child{border-bottom-width:0px}.focus-within\\:border-blue-500:focus-within{border-color:var(--brand-500)}.focus-within\\:ring-1:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\\:ring-blue-500:focus-within{--tw-ring-color: var(--brand-500)}.hover\\:z-10:hover{z-index:10}.hover\\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;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))}.hover\\:border-blue-400:hover{border-color:var(--brand-400)}.hover\\:border-blue-500:hover{border-color:var(--brand-500)}.hover\\:border-gray-400:hover{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.hover\\:border-pink-400:hover{--tw-border-opacity: 1;border-color:rgb(244 114 182 / var(--tw-border-opacity, 1))}.hover\\:bg-blue-100:hover{background-color:var(--brand-100)}.hover\\:bg-blue-300:hover{background-color:var(--brand-300)}.hover\\:bg-blue-400:hover{background-color:var(--brand-400)}.hover\\:bg-blue-50:hover{background-color:var(--brand-50)}.hover\\:bg-blue-600:hover{background-color:var(--brand-600)}.hover\\:bg-blue-700:hover{background-color:var(--brand-700)}.hover\\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-500:hover{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.hover\\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\\:bg-orange-600:hover{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity, 1))}.hover\\:bg-pink-50:hover{--tw-bg-opacity: 1;background-color:rgb(253 242 248 / var(--tw-bg-opacity, 1))}.hover\\:bg-pink-600:hover{--tw-bg-opacity: 1;background-color:rgb(219 39 119 / var(--tw-bg-opacity, 1))}.hover\\:bg-red-100:hover{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.hover\\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\\:bg-slate-300:hover{--tw-bg-opacity: 1;background-color:rgb(203 213 225 / var(--tw-bg-opacity, 1))}.hover\\:text-blue-500:hover{color:var(--brand-500)}.hover\\:text-blue-600:hover{color:var(--brand-600)}.hover\\:text-blue-700:hover{color:var(--brand-700)}.hover\\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\\:text-gray-800:hover{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.hover\\:text-pink-600:hover{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.hover\\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\\:text-red-800:hover{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:decoration-blue-600:hover{text-decoration-color:var(--brand-600)}.hover\\:opacity-100:hover{opacity:1}.hover\\:outline:hover{outline-style:solid}.hover\\:outline-1:hover{outline-width:1px}.hover\\:outline-blue-300:hover{outline-color:var(--brand-300)}.focus\\:border-blue-400:focus{border-color:var(--brand-400)}.focus\\:border-blue-500:focus{border-color:var(--brand-500)}.focus\\:border-blue-600:focus{border-color:var(--brand-600)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-blue-500:focus{--tw-ring-color: var(--brand-500)}.focus\\:ring-blue-600:focus{--tw-ring-color: var(--brand-600)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.active\\:cursor-grabbing:active{cursor:grabbing}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:border-gray-200:disabled{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.disabled\\:bg-gray-100:disabled{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.disabled\\:bg-gray-400:disabled{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.disabled\\:bg-gray-50:disabled{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.disabled\\:text-gray-400:disabled{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.disabled\\:text-gray-500:disabled{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.disabled\\:opacity-30:disabled{opacity:.3}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}.disabled\\:hover\\:bg-blue-600:hover:disabled{background-color:var(--brand-600)}.disabled\\:hover\\:bg-gray-100:hover:disabled{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\\:opacity-100{opacity:1}.dark\\:border-blue-800:is(.dark *){border-color:var(--brand-800)}.dark\\:border-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\\:border-gray-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.dark\\:border-red-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.dark\\:border-yellow-500:is(.dark *){--tw-border-opacity: 1;border-color:rgb(234 179 8 / var(--tw-border-opacity, 1))}.dark\\:bg-black\\/40:is(.dark *){background-color:#0006}.dark\\:bg-blue-400:is(.dark *){background-color:var(--brand-400)}.dark\\:bg-blue-500:is(.dark *){background-color:var(--brand-500)}.dark\\:bg-blue-700:is(.dark *){background-color:var(--brand-700)}.dark\\:bg-blue-900:is(.dark *){background-color:var(--brand-900)}.dark\\:bg-blue-950:is(.dark *){background-color:var(--brand-950)}.dark\\:bg-gray-100:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.dark\\:bg-gray-600:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\\:bg-gray-700\\/50:is(.dark *){background-color:#37415180}.dark\\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\\:bg-gray-800\\/50:is(.dark *){background-color:#1f293780}.dark\\:bg-gray-800\\/80:is(.dark *){background-color:#1f2937cc}.dark\\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\\:bg-green-900\\/20:is(.dark *){background-color:#14532d33}.dark\\:bg-indigo-900\\/30:is(.dark *){background-color:#312e814d}.dark\\:bg-orange-900\\/20:is(.dark *){background-color:#7c2d1233}.dark\\:bg-orange-900\\/30:is(.dark *){background-color:#7c2d124d}.dark\\:bg-purple-900\\/20:is(.dark *){background-color:#581c8733}.dark\\:bg-purple-900\\/30:is(.dark *){background-color:#581c874d}.dark\\:bg-red-900\\/30:is(.dark *){background-color:#7f1d1d4d}.dark\\:bg-slate-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.dark\\:bg-violet-900\\/30:is(.dark *){background-color:#4c1d954d}.dark\\:text-black:is(.dark *){--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.dark\\:text-blue-100:is(.dark *){color:var(--brand-100)}.dark\\:text-blue-400:is(.dark *){color:var(--brand-400)}.dark\\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\\:text-gray-500:is(.dark *){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.dark\\:text-gray-600:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.dark\\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\\:text-indigo-400:is(.dark *){--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.dark\\:text-orange-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.dark\\:text-purple-400:is(.dark *){--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.dark\\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\\:text-slate-100:is(.dark *){--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.dark\\:text-violet-400:is(.dark *){--tw-text-opacity: 1;color:rgb(167 139 250 / var(--tw-text-opacity, 1))}.dark\\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\\:placeholder-gray-500:is(.dark *)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.dark\\:placeholder-gray-500:is(.dark *)::placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.dark\\:ring-blue-400:is(.dark *){--tw-ring-color: var(--brand-400)}.dark\\:ring-offset-gray-900:is(.dark *){--tw-ring-offset-color: #111827}.dark\\:hover\\:border-blue-400:hover:is(.dark *){border-color:var(--brand-400)}.dark\\:hover\\:border-gray-500:hover:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.dark\\:hover\\:bg-blue-400:hover:is(.dark *){background-color:var(--brand-400)}.dark\\:hover\\:bg-blue-600:hover:is(.dark *){background-color:var(--brand-600)}.dark\\:hover\\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.dark\\:hover\\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\\:hover\\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\\:hover\\:bg-gray-800\\/50:hover:is(.dark *){background-color:#1f293780}.dark\\:hover\\:bg-pink-900\\/20:hover:is(.dark *){background-color:#83184333}.dark\\:hover\\:bg-red-900\\/30:hover:is(.dark *){background-color:#7f1d1d4d}.dark\\:hover\\:bg-red-900\\/50:hover:is(.dark *){background-color:#7f1d1d80}.dark\\:hover\\:bg-slate-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.dark\\:hover\\:text-blue-400:hover:is(.dark *){color:var(--brand-400)}.dark\\:hover\\:text-gray-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\\:hover\\:text-gray-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\\:hover\\:text-pink-400:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(244 114 182 / var(--tw-text-opacity, 1))}.dark\\:hover\\:text-red-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.dark\\:focus\\:border-blue-400:focus:is(.dark *){border-color:var(--brand-400)}.dark\\:disabled\\:border-gray-700:disabled:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\\:disabled\\:bg-gray-700:disabled:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\\:disabled\\:bg-gray-800:disabled:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\\:disabled\\:text-gray-400:disabled:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\\:disabled\\:text-gray-600:disabled:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}@media(min-width:640px){.sm\\:block{display:block}.sm\\:inline{display:inline}.sm\\:flex{display:flex}}@media(min-width:1024px){.lg\\:block{display:block}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:h-14{height:3.5rem}.lg\\:h-4{height:1rem}.lg\\:w-32{width:8rem}.lg\\:w-4{width:1rem}.lg\\:max-w-\\[200px\\]{max-width:200px}.lg\\:gap-1\\.5{gap:.375rem}.lg\\:gap-2{gap:.5rem}.lg\\:px-2{padding-left:.5rem;padding-right:.5rem}.lg\\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\\:px-4{padding-left:1rem;padding-right:1rem}.lg\\:py-1{padding-top:.25rem;padding-bottom:.25rem}.lg\\:text-sm{font-size:.875rem;line-height:1.25rem}}@media(min-width:1280px){.xl\\:inline{display:inline}.xl\\:flex{display:flex}.xl\\:hidden{display:none}}.\\[\\&\\:\\:-moz-range-thumb\\]\\:h-4::-moz-range-thumb{height:1rem}.\\[\\&\\:\\:-moz-range-thumb\\]\\:w-4::-moz-range-thumb{width:1rem}.\\[\\&\\:\\:-moz-range-thumb\\]\\:cursor-pointer::-moz-range-thumb{cursor:pointer}.\\[\\&\\:\\:-moz-range-thumb\\]\\:rounded-full::-moz-range-thumb{border-radius:9999px}.\\[\\&\\:\\:-moz-range-thumb\\]\\:border-none::-moz-range-thumb{border-style:none}.\\[\\&\\:\\:-moz-range-thumb\\]\\:bg-blue-600::-moz-range-thumb{background-color:var(--brand-600)}.\\[\\&\\:\\:-moz-range-thumb\\]\\:transition-all::-moz-range-thumb{-moz-transition-property:all;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\\[\\&\\:\\:-moz-range-thumb\\]\\:hover\\:scale-110:hover::-moz-range-thumb{--tw-scale-x: 1.1;--tw-scale-y: 1.1;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))}.\\[\\&\\:\\:-webkit-inner-spin-button\\]\\:appearance-none::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\\[\\&\\:\\:-webkit-outer-spin-button\\]\\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:h-4::-webkit-slider-thumb{height:1rem}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:w-4::-webkit-slider-thumb{width:1rem}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:cursor-pointer::-webkit-slider-thumb{cursor:pointer}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:appearance-none::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:rounded-full::-webkit-slider-thumb{border-radius:9999px}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:bg-blue-600::-webkit-slider-thumb{background-color:var(--brand-600)}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:transition-all::-webkit-slider-thumb{-webkit-transition-property:all;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\\[\\&\\:\\:-webkit-slider-thumb\\]\\:hover\\:scale-110:hover::-webkit-slider-thumb{--tw-scale-x: 1.1;--tw-scale-y: 1.1;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))}';const xh=new class{show(e,t={}){return new Promise(r=>{const n=document.createElement("div");n.style.position="fixed",n.style.inset="0",n.style.backgroundColor="rgba(0, 0, 0, 0.5)",n.style.zIndex="2000",n.style.display="flex",n.style.alignItems="center",n.style.justifyContent="center",n.style.pointerEvents="auto";const i=document.documentElement.classList.contains("dark")||document.body.classList.contains("dark"),o=document.createElement("div");o.style.backgroundColor=i?"#111827":"#ffffff",o.style.borderRadius="0.5rem",o.style.width="24rem",o.style.boxShadow="0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)",o.style.display="flex",o.style.flexDirection="column",o.style.overflow="hidden",o.style.fontFamily="inherit";const a=document.createElement("div");a.style.height="60px",a.style.display="flex",a.style.alignItems="center",a.style.padding="0 16px",a.style.borderBottom="1px solid "+(i?"#1f2937":"#e5e7eb"),a.style.flexShrink="0";const s=document.createElement("h3");s.textContent=t.title||"提示",s.style.margin="0",s.style.fontSize="1.125rem",s.style.fontWeight="600",s.style.color=i?"#f3f4f6":"#1f2937",a.appendChild(s),o.appendChild(a);const l=document.createElement("div");l.style.padding="16px";const u=document.createElement("div");u.textContent=e,u.style.marginBottom="16px",u.style.fontSize="0.875rem",u.style.color=i?"#d1d5db":"#374151",u.style.lineHeight="1.5",l.appendChild(u);const c=document.createElement("div");c.style.display="flex",c.style.justifyContent="flex-end",c.style.gap="8px";const A=document.createElement("button");A.type="button",A.textContent=t.cancelText||"取消",A.style.padding="8px 16px",A.style.fontSize="0.875rem",A.style.fontWeight="500",A.style.border="none",A.style.borderRadius="0.375rem",A.style.cursor="pointer",A.style.transition="background-color 0.15s ease",A.style.backgroundColor=i?"#1f2937":"#f3f4f6",A.style.color=i?"#d1d5db":"#374151",A.onmouseover=()=>{A.style.backgroundColor=i?"#374151":"#e5e7eb"},A.onmouseout=()=>{A.style.backgroundColor=i?"#1f2937":"#f3f4f6"};const d=document.createElement("button");d.type="button",d.textContent=t.confirmText||"确定",d.style.padding="8px 16px",d.style.fontSize="0.875rem",d.style.fontWeight="500",d.style.border="none",d.style.borderRadius="0.375rem",d.style.cursor="pointer",d.style.transition="background-color 0.15s ease",d.style.backgroundColor=i?"#3b82f6":"#2563eb",d.style.color="#ffffff",d.onmouseover=()=>{d.style.backgroundColor=i?"#2563eb":"#1d4ed8"},d.onmouseout=()=>{d.style.backgroundColor=i?"#3b82f6":"#2563eb"};const h=()=>{document.body.contains(n)&&document.body.removeChild(n)};A.onclick=e=>{e.stopPropagation(),h(),r(!1)},d.onclick=e=>{e.stopPropagation(),h(),r(!0)},c.appendChild(A),c.appendChild(d),l.appendChild(u),l.appendChild(c),o.appendChild(l),n.appendChild(o),document.body.appendChild(n),setTimeout(()=>d.focus(),10)})}},_h=[];for(let wx=0;wx<256;++wx)_h.push((wx+256).toString(16).slice(1));let Ch;const Sh=new Uint8Array(16);const Bh={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function kh(e,t,r){var n;if(Bh.randomUUID&&!e)return Bh.randomUUID();const i=(e=e||{}).random??(null==(n=e.rng)?void 0:n.call(e))??function(){if(!Ch){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Ch=crypto.getRandomValues.bind(crypto)}return Ch(Sh)}();if(i.length<16)throw new Error("Random bytes length must be >= 16");return i[6]=15&i[6]|64,i[8]=63&i[8]|128,function(e,t=0){return(_h[e[t+0]]+_h[e[t+1]]+_h[e[t+2]]+_h[e[t+3]]+"-"+_h[e[t+4]]+_h[e[t+5]]+"-"+_h[e[t+6]]+_h[e[t+7]]+"-"+_h[e[t+8]]+_h[e[t+9]]+"-"+_h[e[t+10]]+_h[e[t+11]]+_h[e[t+12]]+_h[e[t+13]]+_h[e[t+14]]+_h[e[t+15]]).toLowerCase()}(i)}var Eh,Ih,Th,Ph,Mh,Lh,Dh,Nh,Oh,Fh,Uh,zh,Rh,Qh,Hh,Vh,jh,Gh,Wh,Kh,qh,Yh,Xh,Zh,Jh,$h,ep,tp,rp,np,ip,op,ap,sp,lp,up,cp,Ap,dp,hp,pp,fp,gp,vp,mp,yp,bp,wp,xp,_p,Cp,Sp,Bp,kp,Ep,Ip,Tp,Pp,Mp,Lp,Dp,Np,Op,Fp,Up,zp,Rp,Qp,Hp,Vp,jp,Gp,Wp,Kp,qp,Yp,Xp,Zp,Jp,$p,ef,tf,rf,nf,of,af,sf,lf,uf,cf,Af,df,hf,pf,ff,gf,vf,mf,yf,bf,wf,xf,_f,Cf,Sf,Bf,kf,Ef,If="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Tf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Pf(){if(Ph)return Th;return Ph=1,Th=function(e,t){return e===t||e!=e&&t!=t}}function Mf(){if(Lh)return Mh;Lh=1;var e=Pf();return Mh=function(t,r){for(var n=t.length;n--;)if(e(t[n][0],r))return n;return-1}}function Lf(){if(Vh)return Hh;Vh=1;var e=Ih?Eh:(Ih=1,Eh=function(){this.__data__=[],this.size=0}),t=function(){if(Nh)return Dh;Nh=1;var e=Mf(),t=Array.prototype.splice;return Dh=function(r){var n=this.__data__,i=e(n,r);return!(i<0||(i==n.length-1?n.pop():t.call(n,i,1),--this.size,0))}}(),r=function(){if(Fh)return Oh;Fh=1;var e=Mf();return Oh=function(t){var r=this.__data__,n=e(r,t);return n<0?void 0:r[n][1]}}(),n=function(){if(zh)return Uh;zh=1;var e=Mf();return Uh=function(t){return e(this.__data__,t)>-1}}(),i=function(){if(Qh)return Rh;Qh=1;var e=Mf();return Rh=function(t,r){var n=this.__data__,i=e(n,t);return i<0?(++this.size,n.push([t,r])):n[i][1]=r,this}}();function o(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}return o.prototype.clear=e,o.prototype.delete=t,o.prototype.get=r,o.prototype.has=n,o.prototype.set=i,Hh=o}function Df(){if($h)return Jh;$h=1;var e="object"==typeof If&&If&&If.Object===Object&&If;return Jh=e}function Nf(){if(tp)return ep;tp=1;var e=Df(),t="object"==typeof self&&self&&self.Object===Object&&self,r=e||t||Function("return this")();return ep=r}function Of(){if(np)return rp;np=1;var e=Nf().Symbol;return rp=e}function Ff(){if(up)return lp;up=1;var e=Of(),t=function(){if(op)return ip;op=1;var e=Of(),t=Object.prototype,r=t.hasOwnProperty,n=t.toString,i=e?e.toStringTag:void 0;return ip=function(e){var t=r.call(e,i),o=e[i];try{e[i]=void 0;var a=!0}catch(gH){}var s=n.call(e);return a&&(t?e[i]=o:delete e[i]),s}}(),r=function(){if(sp)return ap;sp=1;var e=Object.prototype.toString;return ap=function(t){return e.call(t)}}(),n=e?e.toStringTag:void 0;return lp=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":n&&n in Object(e)?t(e):r(e)}}function Uf(){if(Ap)return cp;return Ap=1,cp=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}}function zf(){if(hp)return dp;hp=1;var e=Ff(),t=Uf();return dp=function(r){if(!t(r))return!1;var n=e(r);return"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n}}function Rf(){if(vp)return gp;vp=1;var e,t=function(){if(fp)return pp;fp=1;var e=Nf()["__core-js_shared__"];return pp=e}(),r=(e=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||""))?"Symbol(src)_1."+e:"";return gp=function(e){return!!r&&r in e}}function Qf(){if(yp)return mp;yp=1;var e=Function.prototype.toString;return mp=function(t){if(null!=t){try{return e.call(t)}catch(gH){}try{return t+""}catch(gH){}}return""}}function Hf(){if(Sp)return Cp;Sp=1;var e=function(){if(wp)return bp;wp=1;var e=zf(),t=Rf(),r=Uf(),n=Qf(),i=/^\[object .+?Constructor\]$/,o=Function.prototype,a=Object.prototype,s=o.toString,l=a.hasOwnProperty,u=RegExp("^"+s.call(l).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");return bp=function(o){return!(!r(o)||t(o))&&(e(o)?u:i).test(n(o))}}(),t=_p?xp:(_p=1,xp=function(e,t){return null==e?void 0:e[t]});return Cp=function(r,n){var i=t(r,n);return e(i)?i:void 0}}function Vf(){if(kp)return Bp;kp=1;var e=Hf()(Nf(),"Map");return Bp=e}function jf(){if(Ip)return Ep;Ip=1;var e=Hf()(Object,"create");return Ep=e}function Gf(){if(Qp)return Rp;Qp=1;var e=function(){if(Pp)return Tp;Pp=1;var e=jf();return Tp=function(){this.__data__=e?e(null):{},this.size=0}}(),t=Lp?Mp:(Lp=1,Mp=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}),r=function(){if(Np)return Dp;Np=1;var e=jf(),t=Object.prototype.hasOwnProperty;return Dp=function(r){var n=this.__data__;if(e){var i=n[r];return"__lodash_hash_undefined__"===i?void 0:i}return t.call(n,r)?n[r]:void 0}}(),n=function(){if(Fp)return Op;Fp=1;var e=jf(),t=Object.prototype.hasOwnProperty;return Op=function(r){var n=this.__data__;return e?void 0!==n[r]:t.call(n,r)}}(),i=function(){if(zp)return Up;zp=1;var e=jf();return Up=function(t,r){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=e&&void 0===r?"__lodash_hash_undefined__":r,this}}();function o(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}return o.prototype.clear=e,o.prototype.delete=t,o.prototype.get=r,o.prototype.has=n,o.prototype.set=i,Rp=o}function Wf(){if(Kp)return Wp;Kp=1;var e=Gp?jp:(Gp=1,jp=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e});return Wp=function(t,r){var n=t.__data__;return e(r)?n["string"==typeof r?"string":"hash"]:n.map}}function Kf(){if(nf)return rf;nf=1;var e=function(){if(Vp)return Hp;Vp=1;var e=Gf(),t=Lf(),r=Vf();return Hp=function(){this.size=0,this.__data__={hash:new e,map:new(r||t),string:new e}}}(),t=function(){if(Yp)return qp;Yp=1;var e=Wf();return qp=function(t){var r=e(this,t).delete(t);return this.size-=r?1:0,r}}(),r=function(){if(Zp)return Xp;Zp=1;var e=Wf();return Xp=function(t){return e(this,t).get(t)}}(),n=function(){if($p)return Jp;$p=1;var e=Wf();return Jp=function(t){return e(this,t).has(t)}}(),i=function(){if(tf)return ef;tf=1;var e=Wf();return ef=function(t,r){var n=e(this,t),i=n.size;return n.set(t,r),this.size+=n.size==i?0:1,this}}();function o(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}return o.prototype.clear=e,o.prototype.delete=t,o.prototype.get=r,o.prototype.has=n,o.prototype.set=i,rf=o}function qf(){if(lf)return sf;lf=1;var e=Lf(),t=function(){if(Gh)return jh;Gh=1;var e=Lf();return jh=function(){this.__data__=new e,this.size=0}}(),r=Kh?Wh:(Kh=1,Wh=function(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}),n=Yh?qh:(Yh=1,qh=function(e){return this.__data__.get(e)}),i=Zh?Xh:(Zh=1,Xh=function(e){return this.__data__.has(e)}),o=function(){if(af)return of;af=1;var e=Lf(),t=Vf(),r=Kf();return of=function(n,i){var o=this.__data__;if(o instanceof e){var a=o.__data__;if(!t||a.length<199)return a.push([n,i]),this.size=++o.size,this;o=this.__data__=new r(a)}return o.set(n,i),this.size=o.size,this}}();function a(t){var r=this.__data__=new e(t);this.size=r.size}return a.prototype.clear=t,a.prototype.delete=r,a.prototype.get=n,a.prototype.has=i,a.prototype.set=o,sf=a}function Yf(){if(df)return Af;df=1;var e=Hf(),t=function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch(gH){}}();return Af=t}function Xf(){if(pf)return hf;pf=1;var e=Yf();return hf=function(t,r,n){"__proto__"==r&&e?e(t,r,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[r]=n}}function Zf(){if(gf)return ff;gf=1;var e=Xf(),t=Pf(),r=Object.prototype.hasOwnProperty;return ff=function(n,i,o){var a=n[i];r.call(n,i)&&t(a,o)&&(void 0!==o||i in n)||e(n,i,o)}}function Jf(){if(mf)return vf;mf=1;var e=Zf(),t=Xf();return vf=function(r,n,i,o){var a=!i;i||(i={});for(var s=-1,l=n.length;++s<l;){var u=n[s],c=o?o(i[u],r[u],u,i,r):void 0;void 0===c&&(c=r[u]),a?t(i,u,c):e(i,u,c)}return i}}function $f(){if(xf)return wf;return xf=1,wf=function(e){return null!=e&&"object"==typeof e}}function eg(){if(Bf)return Sf;Bf=1;var e=function(){if(Cf)return _f;Cf=1;var e=Ff(),t=$f();return _f=function(r){return t(r)&&"[object Arguments]"==e(r)}}(),t=$f(),r=Object.prototype,n=r.hasOwnProperty,i=r.propertyIsEnumerable,o=e(function(){return arguments}())?e:function(e){return t(e)&&n.call(e,"callee")&&!i.call(e,"callee")};return Sf=o}function tg(){if(Ef)return kf;Ef=1;var e=Array.isArray;return kf=e}var rg,ng,ig,og,ag,sg,lg,ug,cg,Ag,dg,hg={exports:{}};function pg(){return ig||(ig=1,e=hg,t=hg.exports,r=Nf(),n=ng?rg:(ng=1,rg=function(){return!1}),i=t&&!t.nodeType&&t,o=i&&e&&!e.nodeType&&e,a=o&&o.exports===i?r.Buffer:void 0,s=(a?a.isBuffer:void 0)||n,e.exports=s),hg.exports;var e,t,r,n,i,o,a,s}function fg(){if(ag)return og;ag=1;var e=/^(?:0|[1-9]\d*)$/;return og=function(t,r){var n=typeof t;return!!(r=null==r?9007199254740991:r)&&("number"==n||"symbol"!=n&&e.test(t))&&t>-1&&t%1==0&&t<r}}function gg(){if(lg)return sg;lg=1;return sg=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}}function vg(){if(dg)return Ag;return dg=1,Ag=function(e){return function(t){return e(t)}}}var mg,yg,bg,wg,xg,_g,Cg,Sg,Bg,kg,Eg,Ig,Tg,Pg,Mg,Lg,Dg,Ng,Og,Fg,Ug,zg,Rg,Qg,Hg,Vg,jg,Gg={exports:{}};function Wg(){return mg||(mg=1,e=Gg,t=Gg.exports,r=Df(),n=t&&!t.nodeType&&t,i=n&&e&&!e.nodeType&&e,o=i&&i.exports===n&&r.process,a=function(){try{var e=i&&i.require&&i.require("util").types;return e||o&&o.binding&&o.binding("util")}catch(gH){}}(),e.exports=a),Gg.exports;var e,t,r,n,i,o,a}function Kg(){if(bg)return yg;bg=1;var e=function(){if(cg)return ug;cg=1;var e=Ff(),t=gg(),r=$f(),n={};return n["[object Float32Array]"]=n["[object Float64Array]"]=n["[object Int8Array]"]=n["[object Int16Array]"]=n["[object Int32Array]"]=n["[object Uint8Array]"]=n["[object Uint8ClampedArray]"]=n["[object Uint16Array]"]=n["[object Uint32Array]"]=!0,n["[object Arguments]"]=n["[object Array]"]=n["[object ArrayBuffer]"]=n["[object Boolean]"]=n["[object DataView]"]=n["[object Date]"]=n["[object Error]"]=n["[object Function]"]=n["[object Map]"]=n["[object Number]"]=n["[object Object]"]=n["[object RegExp]"]=n["[object Set]"]=n["[object String]"]=n["[object WeakMap]"]=!1,ug=function(i){return r(i)&&t(i.length)&&!!n[e(i)]}}(),t=vg(),r=Wg(),n=r&&r.isTypedArray,i=n?t(n):e;return yg=i}function qg(){if(xg)return wg;xg=1;var e=bf?yf:(bf=1,yf=function(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}),t=eg(),r=tg(),n=pg(),i=fg(),o=Kg(),a=Object.prototype.hasOwnProperty;return wg=function(s,l){var u=r(s),c=!u&&t(s),A=!u&&!c&&n(s),d=!u&&!c&&!A&&o(s),h=u||c||A||d,p=h?e(s.length,String):[],f=p.length;for(var g in s)!l&&!a.call(s,g)||h&&("length"==g||A&&("offset"==g||"parent"==g)||d&&("buffer"==g||"byteLength"==g||"byteOffset"==g)||i(g,f))||p.push(g);return p}}function Yg(){if(Cg)return _g;Cg=1;var e=Object.prototype;return _g=function(t){var r=t&&t.constructor;return t===("function"==typeof r&&r.prototype||e)}}function Xg(){if(Bg)return Sg;return Bg=1,Sg=function(e,t){return function(r){return e(t(r))}}}function Zg(){if(Tg)return Ig;Tg=1;var e=Yg(),t=function(){if(Eg)return kg;Eg=1;var e=Xg()(Object.keys,Object);return kg=e}(),r=Object.prototype.hasOwnProperty;return Ig=function(n){if(!e(n))return t(n);var i=[];for(var o in Object(n))r.call(n,o)&&"constructor"!=o&&i.push(o);return i}}function Jg(){if(Mg)return Pg;Mg=1;var e=zf(),t=gg();return Pg=function(r){return null!=r&&t(r.length)&&!e(r)}}function $g(){if(Dg)return Lg;Dg=1;var e=qg(),t=Zg(),r=Jg();return Lg=function(n){return r(n)?e(n):t(n)}}function ev(){if(Rg)return zg;Rg=1;var e=Uf(),t=Yg(),r=Ug?Fg:(Ug=1,Fg=function(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}),n=Object.prototype.hasOwnProperty;return zg=function(i){if(!e(i))return r(i);var o=t(i),a=[];for(var s in i)("constructor"!=s||!o&&n.call(i,s))&&a.push(s);return a}}function tv(){if(Hg)return Qg;Hg=1;var e=qg(),t=ev(),r=Jg();return Qg=function(n){return r(n)?e(n,!0):t(n)}}var rv,nv,iv,ov,av,sv,lv,uv,cv,Av,dv,hv,pv,fv,gv,vv,mv,yv,bv,wv,xv,_v,Cv,Sv,Bv,kv,Ev,Iv,Tv,Pv,Mv,Lv,Dv,Nv,Ov,Fv,Uv,zv,Rv,Qv,Hv,Vv,jv,Gv,Wv,Kv,qv,Yv,Xv,Zv,Jv,$v,em,tm,rm,nm,im,om,am,sm,lm,um,cm,Am,dm,hm,pm,fm={exports:{}};function gm(){return rv||(rv=1,e=fm,t=fm.exports,r=Nf(),n=t&&!t.nodeType&&t,i=n&&e&&!e.nodeType&&e,o=i&&i.exports===n?r.Buffer:void 0,a=o?o.allocUnsafe:void 0,e.exports=function(e,t){if(t)return e.slice();var r=e.length,n=a?a(r):new e.constructor(r);return e.copy(n),n}),fm.exports;var e,t,r,n,i,o,a}function vm(){if(iv)return nv;return iv=1,nv=function(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}}function mm(){if(lv)return sv;return lv=1,sv=function(){return[]}}function ym(){if(cv)return uv;cv=1;var e=av?ov:(av=1,ov=function(e,t){for(var r=-1,n=null==e?0:e.length,i=0,o=[];++r<n;){var a=e[r];t(a,r,e)&&(o[i++]=a)}return o}),t=mm(),r=Object.prototype.propertyIsEnumerable,n=Object.getOwnPropertySymbols;return uv=n?function(t){return null==t?[]:(t=Object(t),e(n(t),function(e){return r.call(t,e)}))}:t}function bm(){if(pv)return hv;return pv=1,hv=function(e,t){for(var r=-1,n=t.length,i=e.length;++r<n;)e[i+r]=t[r];return e}}function wm(){if(gv)return fv;gv=1;var e=Xg()(Object.getPrototypeOf,Object);return fv=e}function xm(){if(mv)return vv;mv=1;var e=bm(),t=wm(),r=ym(),n=mm(),i=Object.getOwnPropertySymbols;return vv=i?function(n){for(var i=[];n;)e(i,r(n)),n=t(n);return i}:n}function _m(){if(xv)return wv;xv=1;var e=bm(),t=tg();return wv=function(r,n,i){var o=n(r);return t(r)?o:e(o,i(r))}}function Cm(){if(Cv)return _v;Cv=1;var e=_m(),t=ym(),r=$g();return _v=function(n){return e(n,r,t)}}function Sm(){if(Ov)return Nv;Ov=1;var e=function(){if(Ev)return kv;Ev=1;var e=Hf()(Nf(),"DataView");return kv=e}(),t=Vf(),r=function(){if(Tv)return Iv;Tv=1;var e=Hf()(Nf(),"Promise");return Iv=e}(),n=function(){if(Mv)return Pv;Mv=1;var e=Hf()(Nf(),"Set");return Pv=e}(),i=function(){if(Dv)return Lv;Dv=1;var e=Hf()(Nf(),"WeakMap");return Lv=e}(),o=Ff(),a=Qf(),s="[object Map]",l="[object Promise]",u="[object Set]",c="[object WeakMap]",A="[object DataView]",d=a(e),h=a(t),p=a(r),f=a(n),g=a(i),v=o;return(e&&v(new e(new ArrayBuffer(1)))!=A||t&&v(new t)!=s||r&&v(r.resolve())!=l||n&&v(new n)!=u||i&&v(new i)!=c)&&(v=function(e){var t=o(e),r="[object Object]"==t?e.constructor:void 0,n=r?a(r):"";if(n)switch(n){case d:return A;case h:return s;case p:return l;case f:return u;case g:return c}return t}),Nv=v}function Bm(){if(Rv)return zv;Rv=1;var e=Nf().Uint8Array;return zv=e}function km(){if(Hv)return Qv;Hv=1;var e=Bm();return Qv=function(t){var r=new t.constructor(t.byteLength);return new e(r).set(new e(t)),r}}function Em(){if(Xv)return Yv;Xv=1;var e=km();return Yv=function(t,r){var n=r?e(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}}function Im(){if(Jv)return Zv;Jv=1;var e=km(),t=function(){if(jv)return Vv;jv=1;var e=km();return Vv=function(t,r){var n=r?e(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}}(),r=function(){if(Wv)return Gv;Wv=1;var e=/\w*$/;return Gv=function(t){var r=new t.constructor(t.source,e.exec(t));return r.lastIndex=t.lastIndex,r}}(),n=function(){if(qv)return Kv;qv=1;var e=Of(),t=e?e.prototype:void 0,r=t?t.valueOf:void 0;return Kv=function(e){return r?Object(r.call(e)):{}}}(),i=Em();return Zv=function(o,a,s){var l=o.constructor;switch(a){case"[object ArrayBuffer]":return e(o);case"[object Boolean]":case"[object Date]":return new l(+o);case"[object DataView]":return t(o,s);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return i(o,s);case"[object Map]":case"[object Set]":return new l;case"[object Number]":case"[object String]":return new l(o);case"[object RegExp]":return r(o);case"[object Symbol]":return n(o)}}}function Tm(){if(rm)return tm;rm=1;var e=function(){if(em)return $v;em=1;var e=Uf(),t=Object.create;return $v=function(){function r(){}return function(n){if(!e(n))return{};if(t)return t(n);r.prototype=n;var i=new r;return r.prototype=void 0,i}}()}(),t=wm(),r=Yg();return tm=function(n){return"function"!=typeof n.constructor||r(n)?{}:e(t(n))}}function Pm(){if(am)return om;am=1;var e=function(){if(im)return nm;im=1;var e=Sm(),t=$f();return nm=function(r){return t(r)&&"[object Map]"==e(r)}}(),t=vg(),r=Wg(),n=r&&r.isMap,i=n?t(n):e;return om=i}function Mm(){if(cm)return um;cm=1;var e=function(){if(lm)return sm;lm=1;var e=Sm(),t=$f();return sm=function(r){return t(r)&&"[object Set]"==e(r)}}(),t=vg(),r=Wg(),n=r&&r.isSet,i=n?t(n):e;return um=i}function Lm(){if(dm)return Am;dm=1;var e=qf(),t=cf?uf:(cf=1,uf=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n&&!1!==t(e[r],r,e););return e}),r=Zf(),n=function(){if(Og)return Ng;Og=1;var e=Jf(),t=$g();return Ng=function(r,n){return r&&e(n,t(n),r)}}(),i=function(){if(jg)return Vg;jg=1;var e=Jf(),t=tv();return Vg=function(r,n){return r&&e(n,t(n),r)}}(),o=gm(),a=vm(),s=function(){if(dv)return Av;dv=1;var e=Jf(),t=ym();return Av=function(r,n){return e(r,t(r),n)}}(),l=function(){if(bv)return yv;bv=1;var e=Jf(),t=xm();return yv=function(r,n){return e(r,t(r),n)}}(),u=Cm(),c=function(){if(Bv)return Sv;Bv=1;var e=_m(),t=xm(),r=tv();return Sv=function(n){return e(n,r,t)}}(),A=Sm(),d=function(){if(Uv)return Fv;Uv=1;var e=Object.prototype.hasOwnProperty;return Fv=function(t){var r=t.length,n=new t.constructor(r);return r&&"string"==typeof t[0]&&e.call(t,"index")&&(n.index=t.index,n.input=t.input),n}}(),h=Im(),p=Tm(),f=tg(),g=pg(),v=Pm(),m=Uf(),y=Mm(),b=$g(),w=tv(),x="[object Arguments]",_="[object Function]",C="[object Object]",S={};return S[x]=S["[object Array]"]=S["[object ArrayBuffer]"]=S["[object DataView]"]=S["[object Boolean]"]=S["[object Date]"]=S["[object Float32Array]"]=S["[object Float64Array]"]=S["[object Int8Array]"]=S["[object Int16Array]"]=S["[object Int32Array]"]=S["[object Map]"]=S["[object Number]"]=S[C]=S["[object RegExp]"]=S["[object Set]"]=S["[object String]"]=S["[object Symbol]"]=S["[object Uint8Array]"]=S["[object Uint8ClampedArray]"]=S["[object Uint16Array]"]=S["[object Uint32Array]"]=!0,S["[object Error]"]=S[_]=S["[object WeakMap]"]=!1,Am=function B(k,E,I,T,P,M){var L,D=1&E,N=2&E,O=4&E;if(I&&(L=P?I(k,T,P,M):I(k)),void 0!==L)return L;if(!m(k))return k;var F=f(k);if(F){if(L=d(k),!D)return a(k,L)}else{var U=A(k),z=U==_||"[object GeneratorFunction]"==U;if(g(k))return o(k,D);if(U==C||U==x||z&&!P){if(L=N||z?{}:p(k),!D)return N?l(k,i(L,k)):s(k,n(L,k))}else{if(!S[U])return P?k:{};L=h(k,U,D)}}M||(M=new e);var R=M.get(k);if(R)return R;M.set(k,L),y(k)?k.forEach(function(e){L.add(B(e,E,I,e,k,M))}):v(k)&&k.forEach(function(e,t){L.set(t,B(e,E,I,t,k,M))});var Q=F?void 0:(O?N?c:u:N?w:b)(k);return t(Q||k,function(e,t){Q&&(e=k[t=e]),r(L,t,B(e,E,I,t,k,M))}),L},Am}const Dm=Tf(function(){if(pm)return hm;pm=1;var e=Lm();return hm=function(t){return e(t,5)}}());var Nm=(e=>(e.TEXT="text",e.IMAGE="image",e.TABLE="table",e.CUSTOM_TABLE="customTable",e.PAGE_NUMBER="pageNumber",e.BARCODE="barcode",e.QRCODE="qrcode",e.LINE="line",e.RECT="rect",e.CIRCLE="circle",e.CHART="chart",e.LONG_TEXT="longtext",e.RICH_TEXT="richtext",e.DATE="date",e.DATA_CARD="datacard",e.PROGRESS="progress",e.LIST="list",e.SIGNATURE="signature",e.NESTED_TABLE="nestedtable",e))(Nm||{});let Om={mode:"local",endpoints:{baseUrl:"",templates:{list:"/api/print/templates",get:"/api/print/templates/{id}",upsert:"/api/print/templates",delete:"/api/print/templates/{id}"},customElements:{list:"/api/print/custom-elements",get:"/api/print/custom-elements/{id}",upsert:"/api/print/custom-elements",delete:"/api/print/custom-elements/{id}"}},headers:{"Content-Type":"application/json"}};const Fm=(e,t)=>t?{baseUrl:t.baseUrl??e.baseUrl,templates:{...e.templates,...t.templates},customElements:{...e.customElements,...t.customElements}}:{...e},Um=()=>({mode:Om.mode,endpoints:Fm(Om.endpoints),headers:{...Om.headers||{}},fetcher:Om.fetcher}),zm=(e,t)=>{const r="string"==typeof e?e:(null==e?void 0:e.url)||"";return(e=>{const t=Om.endpoints.baseUrl||"";return e?/^https?:\/\//i.test(e)?e:t?e.startsWith("/")?`${t.replace(/\/+$/,"")}${e}`:`${t.replace(/\/+$/,"")}/${e}`:e:t||""})(t?r.replace("{id}",t):r)},Rm=(e,t,r,n)=>{const i="object"==typeof e&&e.method?e.method.toUpperCase():t.toUpperCase(),o={method:i,headers:r,cache:"no-store"};return("POST"===i||"PUT"===i||"PATCH"===i)&&void 0!==n&&(o.body=JSON.stringify(n)),o};const Qm=new class{constructor(){n(this,"container",null)}initContainer(){this.container||(this.container=document.createElement("div"),this.container.style.position="fixed",this.container.style.top="20px",this.container.style.left="50%",this.container.style.transform="translateX(-50%)",this.container.style.zIndex="9999",this.container.style.display="flex",this.container.style.flexDirection="column",this.container.style.gap="10px",this.container.style.pointerEvents="none",document.body.appendChild(this.container))}show(e,t="info",r=3e3){this.initContainer();const n=document.createElement("div");switch(n.style.padding="12px 24px",n.style.borderRadius="0.5rem",n.style.color="#fff",n.style.fontSize="0.875rem",n.style.boxShadow="0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",n.style.transition="opacity 0.2s, transform 0.2s",n.style.opacity="0",n.style.transform="translateY(-20px)",t){case"success":n.style.backgroundColor="#10b981";break;case"error":n.style.backgroundColor="#ef4444";break;case"warning":n.style.backgroundColor="#f59e0b";break;case"info":n.style.backgroundColor="#3b82f6"}n.textContent=e,this.container.appendChild(n),requestAnimationFrame(()=>{n.style.opacity="1",n.style.transform="translateY(0)"}),setTimeout(()=>{n.style.opacity="0",n.style.transform="translateY(-20px)",setTimeout(()=>{n.parentNode===this.container&&this.container&&this.container.removeChild(n)},200)},r)}success(e,t){this.show(e,"success",t)}error(e,t){this.show(e,"error",t)}info(e,t){this.show(e,"info",t)}warning(e,t){this.show(e,"warning",t)}};var Hm,Vm,jm,Gm,Wm,Km,qm,Ym,Xm,Zm,Jm,$m,ey,ty,ry,ny,iy,oy,ay,sy,ly,uy,cy,Ay,dy,hy,py,fy,gy,vy,my,yy,by,wy,xy,_y,Cy,Sy,By,ky;function Ey(){if(Vm)return Hm;Vm=1;var e=Xf(),t=Pf();return Hm=function(r,n,i){(void 0!==i&&!t(r[n],i)||void 0===i&&!(n in r))&&e(r,n,i)}}function Iy(){if(Km)return Wm;Km=1;var e=(Gm?jm:(Gm=1,jm=function(e){return function(t,r,n){for(var i=-1,o=Object(t),a=n(t),s=a.length;s--;){var l=a[e?s:++i];if(!1===r(o[l],l,o))break}return t}}))();return Wm=e}function Ty(){if($m)return Jm;return $m=1,Jm=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}}function Py(){if(ny)return ry;ny=1;var e=Ey(),t=gm(),r=Em(),n=vm(),i=Tm(),o=eg(),a=tg(),s=function(){if(Ym)return qm;Ym=1;var e=Jg(),t=$f();return qm=function(r){return t(r)&&e(r)}}(),l=pg(),u=zf(),c=Uf(),A=function(){if(Zm)return Xm;Zm=1;var e=Ff(),t=wm(),r=$f(),n=Function.prototype,i=Object.prototype,o=n.toString,a=i.hasOwnProperty,s=o.call(Object);return Xm=function(n){if(!r(n)||"[object Object]"!=e(n))return!1;var i=t(n);if(null===i)return!0;var l=a.call(i,"constructor")&&i.constructor;return"function"==typeof l&&l instanceof l&&o.call(l)==s}}(),d=Kg(),h=Ty(),p=function(){if(ty)return ey;ty=1;var e=Jf(),t=tv();return ey=function(r){return e(r,t(r))}}();return ry=function(f,g,v,m,y,b,w){var x=h(f,v),_=h(g,v),C=w.get(_);if(C)e(f,v,C);else{var S=b?b(x,_,v+"",f,g,w):void 0,B=void 0===S;if(B){var k=a(_),E=!k&&l(_),I=!k&&!E&&d(_);S=_,k||E||I?a(x)?S=x:s(x)?S=n(x):E?(B=!1,S=t(_,!0)):I?(B=!1,S=r(_,!0)):S=[]:A(_)||o(_)?(S=x,o(x)?S=p(x):c(x)&&!u(x)||(S=i(_))):B=!1}B&&(w.set(_,S),y(S,_,m,b,w),w.delete(_)),e(f,v,S)}}}function My(){if(sy)return ay;return sy=1,ay=function(e){return e}}function Ly(){if(Ay)return cy;Ay=1;var e=uy?ly:(uy=1,ly=function(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}),t=Math.max;return cy=function(r,n,i){return n=t(void 0===n?r.length-1:n,0),function(){for(var o=arguments,a=-1,s=t(o.length-n,0),l=Array(s);++a<s;)l[a]=o[n+a];a=-1;for(var u=Array(n+1);++a<n;)u[a]=o[a];return u[n]=i(l),e(r,this,u)}},cy}function Dy(){if(fy)return py;fy=1;var e=hy?dy:(hy=1,dy=function(e){return function(){return e}}),t=Yf(),r=My();return py=t?function(r,n){return t(r,"toString",{configurable:!0,enumerable:!1,value:e(n),writable:!0})}:r}function Ny(){if(yy)return my;yy=1;var e=Dy(),t=function(){if(vy)return gy;vy=1;var e=Date.now;return gy=function(t){var r=0,n=0;return function(){var i=e(),o=16-(i-n);if(n=i,o>0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}},gy}(),r=t(e);return my=r}function Oy(){if(Sy)return Cy;Sy=1;var e=function(){if(wy)return by;wy=1;var e=My(),t=Ly(),r=Ny();return by=function(n,i){return r(t(n,i,e),n+"")}}(),t=function(){if(_y)return xy;_y=1;var e=Pf(),t=Jg(),r=fg(),n=Uf();return xy=function(i,o,a){if(!n(a))return!1;var s=typeof o;return!!("number"==s?t(a)&&r(o,a.length):"string"==s&&o in a)&&e(a[o],i)}}();return Cy=function(r){return e(function(e,n){var i=-1,o=n.length,a=o>1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(a=r.length>3&&"function"==typeof a?(o--,a):void 0,s&&t(n[0],n[1],s)&&(a=o<3?void 0:a,o=1),e=Object(e);++i<o;){var l=n[i];l&&r(e,l,i,a)}return e})}}const Fy=Tf(function(){if(ky)return By;ky=1;var e=function(){if(oy)return iy;oy=1;var e=qf(),t=Ey(),r=Iy(),n=Py(),i=Uf(),o=tv(),a=Ty();return iy=function s(l,u,c,A,d){l!==u&&r(u,function(r,o){if(d||(d=new e),i(r))n(l,u,o,c,s,A,d);else{var h=A?A(a(l,o),r,o+"",l,u,d):void 0;void 0===h&&(h=r),t(l,o,h)}},o)},iy}(),t=Oy()(function(t,r,n,i){e(t,r,n,i)});return By=t}()),Uy=e=>{if(null===e||"object"!=typeof e)return e;if(Array.isArray(e))return e.map(Uy);const t={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=Uy(e[r]));return t},zy=e=>Boolean(e)&&"object"==typeof e&&!Array.isArray(e),Ry=(...e)=>Fy({},...e.filter(zy),(e,t)=>{if(Array.isArray(t))return t}),Qy=e=>"boolean"==typeof e?e:void 0,Hy=e=>{const t=zy(e)?e:{},r=zy(t.permissions)?t.permissions:{},n=Qy(t.system)??Qy(t.isSystem)??Qy(r.system)??Qy(r.isSystem)??!1,i=Qy(t.editable)??Qy(r.editable)??!n,o=Qy(t.deletable)??Qy(r.deletable)??!n;return{system:n,editable:!n&&i,deletable:!n&&o,copyable:Qy(t.copyable)??Qy(r.copyable)??!0}},Vy=e=>{const t=Hy(e),r=zy(e.ext)?e.ext:{},n={id:e.id,name:e.name,ext:r,permissions:{...zy(e.permissions)?e.permissions:{},...t}};return"data"in e&&(n.data=e.data),"updatedAt"in e&&(n.updatedAt=e.updatedAt),"element"in e&&(n.element=e.element),"testData"in e&&(n.testData=e.testData),n},jy=e=>Hy(e).editable,Gy=e=>Hy(e).deletable,Wy=e=>Hy(e).copyable,Ky=(e,t,r)=>{const n=(e=>{if(!e||!zy(e))return;const t={};for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=Uy(e[r]));return Object.keys(t).length>0?t:void 0})(r),i=e.ext&&zy(e.ext)?e.ext:{},o=i.templateModalForm&&zy(i.templateModalForm)?i.templateModalForm:{},a=o.lastMode;let s=n;return s||(o[t]?s=o[t]:a&&o[a]&&(s=o[a])),{...e,ext:{...i,templateModalForm:{...o,...s?{[t]:s}:{},lastMode:t,updatedAt:Date.now()}}}};var qy,Yy,Xy,Zy,Jy,$y,eb,tb,rb,nb,ib,ob,ab,sb,lb,ub,cb,Ab,db,hb,pb,fb,gb,vb,mb,yb;function bb(){if($y)return Jy;$y=1;var e=Kf(),t=Yy?qy:(Yy=1,qy=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}),r=Zy?Xy:(Zy=1,Xy=function(e){return this.__data__.has(e)});function n(t){var r=-1,n=null==t?0:t.length;for(this.__data__=new e;++r<n;)this.add(t[r])}return n.prototype.add=n.prototype.push=t,n.prototype.has=r,Jy=n}function wb(){if(ob)return ib;ob=1;var e=bb(),t=tb?eb:(tb=1,eb=function(e,t){for(var r=-1,n=null==e?0:e.length;++r<n;)if(t(e[r],r,e))return!0;return!1}),r=nb?rb:(nb=1,rb=function(e,t){return e.has(t)});return ib=function(n,i,o,a,s,l){var u=1&o,c=n.length,A=i.length;if(c!=A&&!(u&&A>c))return!1;var d=l.get(n),h=l.get(i);if(d&&h)return d==i&&h==n;var p=-1,f=!0,g=2&o?new e:void 0;for(l.set(n,i),l.set(i,n);++p<c;){var v=n[p],m=i[p];if(a)var y=u?a(m,v,p,i,n,l):a(v,m,p,n,i,l);if(void 0!==y){if(y)continue;f=!1;break}if(g){if(!t(i,function(e,t){if(!r(g,t)&&(v===e||s(v,e,o,a,l)))return g.push(t)})){f=!1;break}}else if(v!==m&&!s(v,m,o,a,l)){f=!1;break}}return l.delete(n),l.delete(i),f}}function xb(){if(Ab)return cb;Ab=1;var e=Of(),t=Bm(),r=Pf(),n=wb(),i=sb?ab:(sb=1,ab=function(e){var t=-1,r=Array(e.size);return e.forEach(function(e,n){r[++t]=[n,e]}),r}),o=ub?lb:(ub=1,lb=function(e){var t=-1,r=Array(e.size);return e.forEach(function(e){r[++t]=e}),r}),a=e?e.prototype:void 0,s=a?a.valueOf:void 0;return cb=function(e,a,l,u,c,A,d){switch(l){case"[object DataView]":if(e.byteLength!=a.byteLength||e.byteOffset!=a.byteOffset)return!1;e=e.buffer,a=a.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=a.byteLength||!A(new t(e),new t(a)));case"[object Boolean]":case"[object Date]":case"[object Number]":return r(+e,+a);case"[object Error]":return e.name==a.name&&e.message==a.message;case"[object RegExp]":case"[object String]":return e==a+"";case"[object Map]":var h=i;case"[object Set]":var p=1&u;if(h||(h=o),e.size!=a.size&&!p)return!1;var f=d.get(e);if(f)return f==a;u|=2,d.set(e,a);var g=n(h(e),h(a),u,c,A,d);return d.delete(e),g;case"[object Symbol]":if(s)return s.call(e)==s.call(a)}return!1}}function _b(){if(fb)return pb;fb=1;var e=qf(),t=wb(),r=xb(),n=function(){if(hb)return db;hb=1;var e=Cm(),t=Object.prototype.hasOwnProperty;return db=function(r,n,i,o,a,s){var l=1&i,u=e(r),c=u.length;if(c!=e(n).length&&!l)return!1;for(var A=c;A--;){var d=u[A];if(!(l?d in n:t.call(n,d)))return!1}var h=s.get(r),p=s.get(n);if(h&&p)return h==n&&p==r;var f=!0;s.set(r,n),s.set(n,r);for(var g=l;++A<c;){var v=r[d=u[A]],m=n[d];if(o)var y=l?o(m,v,d,n,r,s):o(v,m,d,r,n,s);if(!(void 0===y?v===m||a(v,m,i,o,s):y)){f=!1;break}g||(g="constructor"==d)}if(f&&!g){var b=r.constructor,w=n.constructor;b==w||!("constructor"in r)||!("constructor"in n)||"function"==typeof b&&b instanceof b&&"function"==typeof w&&w instanceof w||(f=!1)}return s.delete(r),s.delete(n),f}}(),i=Sm(),o=tg(),a=pg(),s=Kg(),l="[object Arguments]",u="[object Array]",c="[object Object]",A=Object.prototype.hasOwnProperty;return pb=function(d,h,p,f,g,v){var m=o(d),y=o(h),b=m?u:i(d),w=y?u:i(h),x=(b=b==l?c:b)==c,_=(w=w==l?c:w)==c,C=b==w;if(C&&a(d)){if(!a(h))return!1;m=!0,x=!1}if(C&&!x)return v||(v=new e),m||s(d)?t(d,h,p,f,g,v):r(d,h,b,p,f,g,v);if(!(1&p)){var S=x&&A.call(d,"__wrapped__"),B=_&&A.call(h,"__wrapped__");if(S||B){var k=S?d.value():d,E=B?h.value():h;return v||(v=new e),g(k,E,p,f,v)}}return!!C&&(v||(v=new e),n(d,h,p,f,g,v))}}const Cb=Tf(function(){if(yb)return mb;yb=1;var e=function(){if(vb)return gb;vb=1;var e=_b(),t=$f();return gb=function r(n,i,o,a,s){return n===i||(null==n||null==i||!t(n)&&!t(i)?n!=n&&i!=i:e(n,i,o,a,r,s))},gb}();return mb=function(t,r){return e(t,r)}}()),Sb=e=>e&&"object"==typeof e&&"string"==typeof e.id&&e.id&&"string"==typeof e.type&&e.type?{...e,style:e.style&&"object"==typeof e.style?e.style:{}}:null,Bb=e=>Array.isArray(e)?e.filter(e=>e&&"object"==typeof e).map((e,t)=>({...e,id:"string"==typeof e.id&&e.id?e.id:`page-${t+1}`,elements:Array.isArray(e.elements)?e.elements.map(Sb).filter(Boolean):[]})):[],kb=e=>{const t=e&&"object"==typeof e?e:{};return{...t,pages:Bb(t.pages)}},Eb=e=>!(!e||"object"!=typeof e)&&(!!(Array.isArray(e.pages)&&e.pages.length>0)||!(!e.canvasSize||"object"!=typeof e.canvasSize)),Ib=e=>Array.isArray(e)?Dm(e):[],Tb=(...e)=>{var t;for(const r of e)if(r&&"object"==typeof r&&Array.isArray(null==(t=r.ext)?void 0:t.availableVariables))return Ib(r.ext.availableVariables);return[]},Pb=(e,t)=>Ry(e,{availableVariables:Ib(t)}),Mb=$l("templates",{state:()=>({templates:[],templateDetailCache:{},currentTemplateId:null,isSaving:!1,isLoading:!1}),actions:{async fetchTemplateDetail(e){var t,r;const{mode:n,endpoints:i,headers:o,fetcher:a}=Um();if("remote"!==n){const t=this.templates.find(t=>t.id===e);return t?(this.templateDetailCache[e]=t,t):null}this.isLoading=!0;try{const n=zm(null==(t=i.templates)?void 0:t.get,e),s=Rm(null==(r=i.templates)?void 0:r.get,"GET",o),l=await(a||fetch)(n,s),u=await l.json(),c=(null==u?void 0:u.template)||u;if(!c)return null;const A=kb(c.data),d=c.id||e,h=this.templates.find(e=>e.id===d),p=this.templateDetailCache[d],f={id:d,name:c.name||(null==h?void 0:h.name)||(null==p?void 0:p.name)||"",data:A,updatedAt:c.updatedAt||(null==p?void 0:p.updatedAt)||(null==h?void 0:h.updatedAt)||Date.now(),permissions:c.permissions??(null==p?void 0:p.permissions)??(null==h?void 0:h.permissions),ext:Pb(Ry(null==h?void 0:h.ext,null==p?void 0:p.ext,c.ext),Tb(c,p,h))},g=Vy(f);return this.templateDetailCache[d]=g,g}catch(gH){return null}finally{this.isLoading=!1}},async loadTemplates(){var e,t;const{mode:r,endpoints:n,headers:i,fetcher:o}=Um();if("remote"===r){this.isLoading=!0;try{const r=zm(null==(e=n.templates)?void 0:e.list,""),a=Rm(null==(t=n.templates)?void 0:t.list,"GET",i),s=await(o||fetch)(r,a),l=await s.json(),u=(Array.isArray(l)?l:(null==l?void 0:l.templates)||[]).filter(e=>e&&"string"==typeof e.id&&"string"==typeof e.name).map(e=>{const t=this.templates.find(t=>t.id===e.id),r=this.templateDetailCache[e.id],n={id:e.id,name:e.name,data:Eb(e.data)?kb(e.data):(null==r?void 0:r.data)||(null==t?void 0:t.data)||kb(void 0),updatedAt:e.updatedAt||(null==r?void 0:r.updatedAt)||(null==t?void 0:t.updatedAt)||Date.now(),permissions:e.permissions??(null==r?void 0:r.permissions)??(null==t?void 0:t.permissions),ext:Pb(Ry(null==t?void 0:t.ext,null==r?void 0:r.ext,e.ext),Tb(e,r,t))},i=Vy(n);return this.templateDetailCache[e.id]=i,i}),c=Dm(Mt(this.templates));return void(Cb(c,u)||(this.templates=u))}catch(gH){return void(this.templates=[])}finally{this.isLoading=!1}}const a=localStorage.getItem("print-designer-templates");if(a)try{const e=JSON.parse(a),t=(Array.isArray(e)?e:[]).filter(e=>e&&"string"==typeof e.id&&"string"==typeof e.name).map(e=>{const t=this.templates.find(t=>t.id===e.id);return Vy({id:e.id,name:e.name,data:e.data?kb(e.data):(null==t?void 0:t.data)||kb(void 0),updatedAt:e.updatedAt||(null==t?void 0:t.updatedAt)||Date.now(),permissions:e.permissions??(null==t?void 0:t.permissions),ext:Pb(Ry(null==t?void 0:t.ext,e.ext),Tb(e,t))})}),r=Dm(Mt(this.templates));Cb(r,t)||(this.templates=t)}catch(gH){this.templates=[]}},saveToLocalStorage(){const{mode:e}=Um();"remote"!==e&&localStorage.setItem("print-designer-templates",JSON.stringify(this.templates))},buildSavePayload(e){const t=Wb(),r=this.currentTemplateId,n=r?this.templates.find(e=>e.id===r):void 0,i="report"===t.mode,o={...(null==n?void 0:n.data)||{},pages:Bb(Dm(t.pages)),canvasSize:Dm(t.canvasSize),guides:Dm(t.guides),zoom:t.zoom,showGrid:t.showGrid,headerHeight:t.headerHeight,footerHeight:t.footerHeight,showHeaderLine:t.showHeaderLine,showFooterLine:t.showFooterLine,showMinimap:t.showMinimap,canvasBackground:t.canvasBackground,pageSpacingX:t.pageSpacingX,pageSpacingY:t.pageSpacingY,unit:t.unit,watermark:Dm(t.watermark),...i?{testData:Dm(t.testData||{})}:{}};return{id:r,name:e,data:o,isNew:!r}},async saveCurrentTemplate(e,t=!1){var r,n,i;const{mode:o,endpoints:a,headers:s,fetcher:l}=Um(),u=Wb(),c=this.currentTemplateId,A=c?this.templates.find(e=>e.id===c):void 0;if(c&&A&&!jy(A))return void(t||Qm.warning(bh.global.t("toast.templateReadOnly")));const d="report"===u.mode,h={...(null==A?void 0:A.data)||{},pages:Bb(Dm(u.pages)),canvasSize:Dm(u.canvasSize),guides:Dm(u.guides),zoom:u.zoom,showGrid:u.showGrid,headerHeight:u.headerHeight,footerHeight:u.footerHeight,showHeaderLine:u.showHeaderLine,showFooterLine:u.showFooterLine,showMinimap:u.showMinimap,canvasBackground:u.canvasBackground,pageSpacingX:u.pageSpacingX,pageSpacingY:u.pageSpacingY,unit:u.unit,watermark:Dm(u.watermark),...d?{testData:Dm(u.testData||{})}:{}};if(c&&A){const t=kb(A.data||{}),r=kb(h);if(A.name===e&&Cb(t,r))return}this.isSaving=!0,"remote"!==o||t||(this.isLoading=!0);try{if("remote"===o)try{const i=c&&(this.templateDetailCache[c]||A)||{},o={id:c||kh(),name:e,data:{...(null==i?void 0:i.data)||{},...h},updatedAt:Date.now(),permissions:null==i?void 0:i.permissions,ext:Pb(Ry(null==A?void 0:A.ext,null==i?void 0:i.ext),u.availableVariables)},d=Vy(Ky(o,c?"edit":"create")),p=zm(null==(r=a.templates)?void 0:r.upsert,""),f=Rm(null==(n=a.templates)?void 0:n.upsert,"POST",s,d),g=await(l||fetch)(p,f),v=await g.json(),m=(null==v?void 0:v.id)||d.id,y=this.templates.findIndex(e=>e.id===m),b=v&&"object"==typeof v&&v.ext?v.ext:{},w=Vy({...d,ext:Ry(d.ext,b),id:m});return y>=0?this.templates[y]=w:this.templates.push(w),this.templateDetailCache[m]={...this.templateDetailCache[m]||{},...w},c&&this.currentTemplateId!==c||(this.currentTemplateId=m),void(t||await this.loadTemplates())}catch(gH){throw t||Qm.error(bh.global.t("toast.templateSaveFailed")),gH}if(c){const t=this.templates.findIndex(e=>e.id===c);t>=0&&(this.templates[t]=Vy({...this.templates[t],name:e,data:h,updatedAt:Date.now(),ext:Pb(null==(i=this.templates[t])?void 0:i.ext,u.availableVariables)}))}else this.createTemplate(e,h);this.saveToLocalStorage()}finally{this.isSaving=!1,"remote"!==o||t||(this.isLoading=!1)}},async updateTemplate(e,t){var r,n;const{mode:i,endpoints:o,headers:a,fetcher:s}=Um(),l=this.templates.find(t=>t.id===e);let u=this.templateDetailCache[e];if("remote"===i){const t=await this.fetchTemplateDetail(e);t&&(u=t)}if(!l&&!u)return;const c=Vy({...u||l,...t,updatedAt:Date.now()});if("remote"===i)try{const e=zm(null==(r=o.templates)?void 0:r.upsert,""),t=Rm(null==(n=o.templates)?void 0:n.upsert,"POST",a,c),i=await(s||fetch)(e,t),l=await i.json(),u=l&&"object"==typeof l&&l.ext?l.ext:{},A=Vy({...c,ext:Ry(c.ext,u),id:(null==l?void 0:l.id)||c.id}),d=this.templates.findIndex(e=>e.id===A.id);d>=0&&(this.templates[d]=A),this.templateDetailCache[A.id]=A}catch(gH){Qm.error(bh.global.t("toast.templateSaveFailed"))}else{const t=this.templates.findIndex(t=>t.id===e);t>=0&&(this.templates[t]=c),this.templateDetailCache[e]=c,this.saveToLocalStorage()}},async createTemplate(e,t,r,n="create"){var i,o;const{mode:a,endpoints:s,headers:l,fetcher:u}=Um(),c=Wb(),A="report"===c.mode,d=t||{pages:Dm(c.pages),canvasSize:Dm(c.canvasSize),pageSpacingX:c.pageSpacingX,pageSpacingY:c.pageSpacingY,unit:c.unit,watermark:Dm(c.watermark),...A?{testData:Dm(c.testData||{})}:{},guides:Dm(c.guides),zoom:c.zoom,showGrid:c.showGrid,headerHeight:c.headerHeight,footerHeight:c.footerHeight,showHeaderLine:c.showHeaderLine,showFooterLine:c.showFooterLine,showMinimap:c.showMinimap,canvasBackground:c.canvasBackground},h=kb(d),p=Ky({id:kh(),name:e,data:h,updatedAt:Date.now(),ext:Pb(void 0,c.availableVariables)},n,r),f=Vy(p);if("remote"===a){this.isLoading=!0;try{const e=zm(null==(i=s.templates)?void 0:i.upsert,""),t=Rm(null==(o=s.templates)?void 0:o.upsert,"POST",l,f),r=await(u||fetch)(e,t),n=await r.json();n&&"object"==typeof n&&n.ext&&(f.ext={...f.ext||{},...n.ext});const a=(null==n?void 0:n.id)||f.id;f.id=a;const c=this.templateDetailCache[a];this.templateDetailCache[a]=Vy({id:f.id,name:f.name,data:f.data||(null==c?void 0:c.data),updatedAt:f.updatedAt||(null==c?void 0:c.updatedAt),permissions:f.permissions??(null==c?void 0:c.permissions),ext:Pb(Ry(null==c?void 0:c.ext,f.ext),Tb(f,c))}),await this.loadTemplates()}catch(gH){}finally{this.isLoading=!1}}else this.templates.push(f),this.saveToLocalStorage();this.currentTemplateId=f.id},async deleteTemplate(e){var t,r;const{mode:n,endpoints:i,headers:o,fetcher:a}=Um(),s=this.templates.find(t=>t.id===e);if(!s||Gy(s))if(this.templates=this.templates.filter(t=>t.id!==e),delete this.templateDetailCache[e],this.currentTemplateId===e&&(this.currentTemplateId=null),"remote"!==n)this.saveToLocalStorage();else{this.isLoading=!0;try{const n=zm(null==(t=i.templates)?void 0:t.delete,e),s=Rm(null==(r=i.templates)?void 0:r.delete,"DELETE",o);await(a||fetch)(n,s),await this.loadTemplates()}catch(gH){Qm.error(bh.global.t("toast.templateDeleteFailed"))}finally{this.isLoading=!1}}else Qm.warning(bh.global.t("toast.templateDeleteNotAllowed"))},async editTemplate(e,t,r){var n,i;const{mode:o,endpoints:a,headers:s,fetcher:l}=Um(),u=this.templates.find(t=>t.id===e);if(u){if(!jy(u))return void Qm.warning(bh.global.t("toast.templateReadOnly"));u.name=t,u.updatedAt=Date.now();const c=Ky(u,"edit",r);if(c!==u&&Object.assign(u,c),"remote"===o){this.isLoading=!0;try{let o=this.templateDetailCache[e];const c=await this.fetchTemplateDetail(e);c&&(o=c);const A=Ky({id:u.id,name:t,data:(null==o?void 0:o.data)||u.data||{},updatedAt:u.updatedAt,permissions:u.permissions??(null==o?void 0:o.permissions),ext:Pb(Ry(null==o?void 0:o.ext,u.ext),Tb(u,o))},"edit",r),d=Vy(A),h=zm(null==(n=a.templates)?void 0:n.upsert,""),p=Rm(null==(i=a.templates)?void 0:i.upsert,"POST",s,d);await(l||fetch)(h,p),this.templateDetailCache[e]={...this.templateDetailCache[e]||{},...d},await this.loadTemplates()}catch(gH){Qm.error(bh.global.t("toast.templateEditFailed"))}finally{this.isLoading=!1}return}this.saveToLocalStorage()}},async copyTemplate(e,t,r){var n,i;const{mode:o,endpoints:a,headers:s,fetcher:l}=Um(),u=this.templates.find(t=>t.id===e);if(u){if(!Wy(u))return void Qm.warning(bh.global.t("toast.templateCopyNotAllowed"));let c=this.templateDetailCache[e];if("remote"===o){const t=await this.fetchTemplateDetail(e);t&&(c=t)}const A=(null==c?void 0:c.data)||u.data,d="remote"===o?{id:u.id,name:u.name,data:A,ext:Pb(Ry(null==c?void 0:c.ext,u.ext),Tb(u,c))}:u,h=Ky({id:kh(),name:"string"==typeof t&&t.trim()?t.trim():`${d.name} Copy`,data:kb(JSON.parse(JSON.stringify(d.data))),updatedAt:Date.now(),ext:Pb(d.ext,Tb(d)),permissions:{...d.permissions&&"object"==typeof d.permissions?d.permissions:{}}},"copy",r),p=Vy(h);if("remote"===o){this.isLoading=!0;try{const e=zm(null==(n=a.templates)?void 0:n.upsert,""),t=Rm(null==(i=a.templates)?void 0:i.upsert,"POST",s,p),r=await(l||fetch)(e,t),o=await r.json();o&&"object"==typeof o&&o.ext&&(p.ext={...p.ext||{},...o.ext}),p.id=(null==o?void 0:o.id)||p.id;const u=this.templateDetailCache[p.id];this.templateDetailCache[p.id]=Vy({id:p.id,name:p.name,data:p.data||(null==u?void 0:u.data),updatedAt:p.updatedAt||(null==u?void 0:u.updatedAt),permissions:p.permissions??(null==u?void 0:u.permissions),ext:Pb(Ry(null==u?void 0:u.ext,p.ext),Tb(p,u))}),await this.loadTemplates(),this.currentTemplateId=p.id,await this.loadTemplate(p.id)}catch(gH){Qm.error(bh.global.t("toast.templateCopyFailed"))}finally{this.isLoading=!1}}else this.templates.unshift(p),this.saveToLocalStorage(),this.currentTemplateId=p.id,await this.loadTemplate(p.id)}},async loadTemplate(e){this.isLoading=!0;try{const{mode:t,endpoints:r,headers:n,fetcher:i}=Um();if("remote"===t)try{const t=await this.fetchTemplateDetail(e);if(!t)return;const r=t,n=Wb();n.resetCanvas();const i=r.data;i.pages&&i.pages.length>0&&(n.pages=Dm(i.pages)),i.canvasSize&&(n.canvasSize=Dm(i.canvasSize)),i.guides&&(n.guides=Dm(i.guides)),void 0!==i.zoom&&(n.zoom=i.zoom),void 0!==i.showGrid&&(n.showGrid=i.showGrid),void 0!==i.headerHeight&&(n.headerHeight=i.headerHeight),void 0!==i.footerHeight&&(n.footerHeight=i.footerHeight),void 0!==i.showHeaderLine&&(n.showHeaderLine=i.showHeaderLine),void 0!==i.showFooterLine&&(n.showFooterLine=i.showFooterLine),void 0!==i.showMinimap&&(n.showMinimap=i.showMinimap),void 0!==i.canvasBackground&&(n.canvasBackground=i.canvasBackground),void 0!==i.pageSpacingX&&(n.pageSpacingX=i.pageSpacingX),void 0!==i.pageSpacingY&&(n.pageSpacingY=i.pageSpacingY),void 0!==i.unit&&(n.unit=i.unit),void 0!==i.watermark&&(n.watermark=Dm(i.watermark)),n.testData=Dm(i.testData||{}),n.setAvailableVariables(Tb(r)),n.selectedElementId=null,n.selectedGuideId=null,n.historyPast=[],n.historyFuture=[];const o=r.id||e;this.currentTemplateId=o;const a=this.templates.findIndex(e=>e.id===o);return void(a>=0?this.templates[a]=Vy({id:o,name:r.name||this.templates[a].name,data:i,updatedAt:r.updatedAt||this.templates[a].updatedAt,permissions:r.permissions??this.templates[a].permissions,ext:Pb(Ry(this.templates[a].ext,r.ext),Tb(r,this.templates[a]))}):this.templates.push(Vy({id:o,name:r.name||"",data:i,updatedAt:r.updatedAt||Date.now(),permissions:r.permissions,ext:Pb(r.ext||{},Tb(r))})))}catch(gH){return}const o=this.templates.find(t=>t.id===e);if(o){const t=Wb();t.resetCanvas();const r=kb(o.data);r.pages&&r.pages.length>0&&(t.pages=Dm(r.pages)),r.canvasSize&&(t.canvasSize=Dm(r.canvasSize)),r.guides&&(t.guides=Dm(r.guides)),void 0!==r.zoom&&(t.zoom=r.zoom),void 0!==r.showGrid&&(t.showGrid=r.showGrid),void 0!==r.headerHeight&&(t.headerHeight=r.headerHeight),void 0!==r.footerHeight&&(t.footerHeight=r.footerHeight),void 0!==r.showHeaderLine&&(t.showHeaderLine=r.showHeaderLine),void 0!==r.showFooterLine&&(t.showFooterLine=r.showFooterLine),void 0!==r.showMinimap&&(t.showMinimap=r.showMinimap),void 0!==r.canvasBackground&&(t.canvasBackground=r.canvasBackground),void 0!==r.pageSpacingX&&(t.pageSpacingX=r.pageSpacingX),void 0!==r.pageSpacingY&&(t.pageSpacingY=r.pageSpacingY),void 0!==r.unit&&(t.unit=r.unit),void 0!==r.watermark&&(t.watermark=Dm(r.watermark)),t.testData=Dm(r.testData||{}),t.setAvailableVariables(Tb(o)),t.selectedElementId=null,t.selectedGuideId=null,t.historyPast=[],t.historyFuture=[],this.currentTemplateId=o.id||e}}finally{setTimeout(()=>{this.isLoading=!1},100)}}}}),Lb=e=>{const t=e.trim();return t?t.startsWith("@")?t.slice(1).trim():t.startsWith("{#")&&t.endsWith("}")?t.slice(2,-1).trim():t:""},Db=e=>[Nm.TEXT,Nm.BARCODE,Nm.QRCODE,Nm.TABLE].includes(e.type),Nb=(e,t={})=>{const r={...t};if(!Db(e))return r;const n=(t,n)=>{const i=Lb(t);i&&(Object.prototype.hasOwnProperty.call(r,i)||(r[i]="tableData"===n?(e=>{if(Array.isArray(e.data)&&e.data.length>0)return Dm(e.data);const t=e.columns||[];if(0===t.length)return[];const r={};return t.forEach(e=>{r[e.field]=""}),[r]})(e):"tableColumns"===n?Array.isArray(e.columns)&&e.columns.length>0?Dm(e.columns):[]:"tableFooterData"===n?Array.isArray(e.footerData)&&e.footerData.length>0?Dm(e.footerData):[]:e.content??""))};return n(e.variable||"",e.type===Nm.TABLE?"tableData":"text"),e.type===Nm.TABLE&&(e.columnsVariable&&n(e.columnsVariable,"tableColumns"),e.footerDataVariable&&n(e.footerDataVariable,"tableFooterData")),r},Ob=(e=[],t={})=>{let r={...t};return e.forEach(e=>{e.elements.forEach(e=>{r=Nb(e,r)})}),r};function Fb(e){if(null==e)return"null";if(Array.isArray(e))return"array";const t=typeof e;return"string"===t||"number"===t||"boolean"===t?t:"object"===t?"object":"string"}function Ub(e,t){if(!e||!t)return;if(!t.includes("."))return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;const r=t.split(".");let n=e;for(const i of r){if(null==n)return;if("object"!=typeof n)return;if(!Object.prototype.hasOwnProperty.call(n,i))return;n=n[i]}return n}const zb={enabled:!1,text:"",angle:-30,color:"#000000",opacity:.1,size:24,density:160},Rb={title:"",logoUrl:"",showTitle:!0,showLogo:!0},Qb=()=>{const e=localStorage.getItem("print-designer-watermark");if(!e)return{...zb};try{return{...zb,...JSON.parse(e)}}catch{return{...zb}}},Hb=e=>{var t;return(null==(t=e.style)?void 0:t.zIndex)||1},Vb=(e,t,r)=>{const n=(e=>e.elements.map((e,t)=>({element:e,index:t})).sort((e,t)=>{const r=Hb(e.element),n=Hb(t.element);return r===n?e.index-t.index:r-n}))(e);if(0===n.filter(e=>t.has(e.element.id)).length)return null;let i=[...n];if("front"===r){const e=n.filter(e=>t.has(e.element.id));i=[...n.filter(e=>!t.has(e.element.id)),...e]}else if("back"===r){i=[...n.filter(e=>t.has(e.element.id)),...n.filter(e=>!t.has(e.element.id))]}else if("forward"===r)for(let a=i.length-2;a>=0;a-=1){const e=i[a],r=i[a+1];t.has(e.element.id)&&!t.has(r.element.id)&&(i[a]=r,i[a+1]=e)}else for(let a=1;a<i.length;a+=1){const e=i[a],r=i[a-1];t.has(e.element.id)&&!t.has(r.element.id)&&(i[a]=r,i[a-1]=e)}const o=new Map;return i.forEach((e,t)=>{const r=t+1;Hb(e.element)!==r&&o.set(e.element.id,r)}),0===o.size?null:o},jb=e=>{if(!e||!Array.isArray(e.items))return null;const t=e.items.filter(e=>Boolean(e&&"string"==typeof e.key&&e.key&&"string"==typeof e.label)).map(e=>({...e}));return 0===t.length?null:{mode:"replace"===e.mode?"replace":"append",items:t}},Gb=e=>{if(!e||"object"!=typeof e)return null;const t={};return["create","edit","copy"].forEach(r=>{const n=e[r];if(!n||"object"!=typeof n)return;const i=(e=>{if(!Array.isArray(e))return;const t=e.filter(e=>e&&"string"==typeof e.key&&e.key&&"string"==typeof e.type).map(e=>({...e,options:Array.isArray(e.options)?e.options.filter(e=>e&&"string"==typeof e.label):void 0}));return t.length>0?t:void 0})(n.fields),o=n.initialValues&&"object"==typeof n.initialValues?{...n.initialValues}:void 0;(i||o)&&(t[r]={...i?{fields:i}:{},...o?{initialValues:o}:{}})}),Object.keys(t).length>0?t:null},Wb=$l("designer",{state:()=>({mode:"template",viewMode:"edit",unit:localStorage.getItem("print-designer-unit")||"mm",watermark:Qb(),branding:{...Rb},pages:[{id:kh(),elements:[]}],currentPageIndex:0,customElements:JSON.parse(localStorage.getItem("print-designer-custom-elements")||"[]"),customElementDetailCache:{},templateContextMenuConfig:null,customElementContextMenuConfig:null,templateModalFormConfig:null,customElementModalFormConfig:null,contextMenuEventEmitter:null,testData:{},variables:{},availableVariables:[],showVariablesPanel:!1,showFieldsPanel:!1,showSampleDataModal:!1,tableAvailableFields:[],editingCustomElementId:null,customElementEditSnapshot:null,selectedElementId:null,selectedElementIds:[],selectedGuideId:null,highlightedGuideId:null,highlightedEdge:null,canvasSize:{width:794,height:1123},zoom:1,isDragging:!1,showGrid:!0,showMarginLines:!0,showCornerMarkers:!0,headerHeight:100,footerHeight:100,showHeaderLine:!1,showFooterLine:!1,showMinimap:!1,showHelp:!1,showSettings:!1,canvasBackground:"#ffffff",pageSpacingX:0,pageSpacingY:0,guides:[],historyPast:[],historyFuture:[],historyDescriptions:[],canvasPreview:!1,clipboard:[],copiedPage:null,isExporting:!1,disableGlobalShortcuts:!1,disableShortcutsCount:0,tableSelection:null,customTableSelection:null}),actions:{setContextMenuEventEmitter(e){this.contextMenuEventEmitter=e},setMode(e){this.mode=e},setViewMode(e){this.viewMode=e},setAvailableVariables(e){this.availableVariables=e},setShowVariablesPanel(e){this.showVariablesPanel=e},setShowFieldsPanel(e){this.showFieldsPanel=e,e&&this.regenerateFieldTree()},setShowSampleDataModal(e){this.showSampleDataModal=e},regenerateFieldTree(){this.availableVariables=function(e,t=""){if(!e||"object"!=typeof e)return[];const r=[],n=(e,t)=>{for(const[i,o]of Object.entries(e)){const e=t?`${t}.${i}`:i,a=Fb(o);"array"===a?r.push({id:e,label:i,isArray:!0}):"object"===a?n(o,e):r.push({id:e,label:i,isArray:!1})}};return n(e,t),r}(this.testData||{})},setSampleData(e){this.testData=e,this.regenerateFieldTree()},setTableAvailableFields(e){this.tableAvailableFields=e||[]},emitContextMenuEvent(e,t){var r;e&&"string"==typeof e&&(null==(r=this.contextMenuEventEmitter)||r.call(this,e,t||{}))},setTemplateContextMenuConfig(e){this.templateContextMenuConfig=jb(e)},setCustomElementContextMenuConfig(e){this.customElementContextMenuConfig=jb(e)},setTemplateModalFormConfig(e){this.templateModalFormConfig=Gb(e)},setCustomElementModalFormConfig(e){this.customElementModalFormConfig=Gb(e)},setBranding(e){if(!e||"object"!=typeof e)return;const t={...this.branding,...e};void 0!==e.showTitle&&(t.showTitle=Boolean(e.showTitle)),void 0!==e.showLogo&&(t.showLogo=Boolean(e.showLogo)),this.branding=t},setWatermark(e){this.watermark={...this.watermark||zb,...e},localStorage.setItem("print-designer-watermark",JSON.stringify(this.watermark))},setUnit(e){this.unit=e,localStorage.setItem("print-designer-unit",e)},setDragging(e){this.isDragging=e},setDisableGlobalShortcuts(e){const t=this.disableShortcutsCount||0;this.disableShortcutsCount=e?t+1:Math.max(0,t-1),this.disableGlobalShortcuts=this.disableShortcutsCount>0},setIsExporting(e){this.isExporting=e},setPageSpacingX(e){this.pageSpacingX=Math.max(0,Math.round(e))},setPageSpacingY(e){this.pageSpacingY=Math.max(0,Math.round(e))},resetCanvas(){this.watermark={...zb},localStorage.setItem("print-designer-watermark",JSON.stringify(this.watermark)),this.pages=[{id:kh(),elements:[]}],this.currentPageIndex=0,this.testData={},this.variables={},this.selectedElementId=null,this.selectedElementIds=[],this.selectedGuideId=null,this.guides=[],this.historyPast=[],this.historyFuture=[],this.headerHeight=100,this.footerHeight=100,this.showHeaderLine=!1,this.showFooterLine=!1,this.canvasBackground="#ffffff",this.pageSpacingX=0,this.pageSpacingY=0,this.canvasSize={width:794,height:1123},this.zoom=1,this.showGrid=!0,this.showCornerMarkers=!0,this.showMinimap=!1,this.showHelp=!1,this.showSettings=!1,this.copiedPage=null},startCustomElementEdit(e){const t=this.customElements.find(t=>t.id===e);if(!t)return;this.customElementEditSnapshot||(this.customElementEditSnapshot={pages:Dm(this.pages),historyPast:Dm(this.historyPast),historyFuture:Dm(this.historyFuture),canvasSize:Dm(this.canvasSize),guides:Dm(this.guides),zoom:this.zoom,showGrid:this.showGrid,showMarginLines:this.showMarginLines,showCornerMarkers:this.showCornerMarkers,headerHeight:this.headerHeight,footerHeight:this.footerHeight,showHeaderLine:this.showHeaderLine,showFooterLine:this.showFooterLine,showMinimap:this.showMinimap,canvasBackground:this.canvasBackground,pageSpacingX:this.pageSpacingX,pageSpacingY:this.pageSpacingY,unit:this.unit,watermark:Dm(this.watermark),testData:Dm(this.testData),currentPageIndex:this.currentPageIndex,selectedElementId:this.selectedElementId,selectedElementIds:Dm(this.selectedElementIds),selectedGuideId:this.selectedGuideId,highlightedGuideId:this.highlightedGuideId,highlightedEdge:this.highlightedEdge}),this.editingCustomElementId=e,this.resetCanvas();const r=Dm(t.element);r.id=kh(),this.pages=[{id:kh(),elements:[r]}],this.currentPageIndex=0,this.selectedElementId=r.id,this.selectedElementIds=[r.id],this.historyPast=[],this.historyFuture=[],this.guides=[],this.tableSelection=null},cancelCustomElementEdit(){const e=this.customElementEditSnapshot;this.editingCustomElementId=null,this.customElementEditSnapshot=null,e&&(this.pages=e.pages,this.historyPast=e.historyPast||[],this.historyFuture=e.historyFuture||[],this.canvasSize=e.canvasSize,this.guides=e.guides,this.zoom=e.zoom,this.showGrid=e.showGrid,this.showMarginLines=e.showMarginLines,this.showCornerMarkers=e.showCornerMarkers,this.headerHeight=e.headerHeight,this.footerHeight=e.footerHeight,this.showHeaderLine=e.showHeaderLine,this.showFooterLine=e.showFooterLine,this.showMinimap=e.showMinimap,this.canvasBackground=e.canvasBackground,this.pageSpacingX=e.pageSpacingX??this.pageSpacingX,this.pageSpacingY=e.pageSpacingY??this.pageSpacingY,this.unit=e.unit||this.unit,e.unit&&localStorage.setItem("print-designer-unit",e.unit),e.watermark&&(this.watermark=Dm(e.watermark),localStorage.setItem("print-designer-watermark",JSON.stringify(this.watermark))),this.testData=e.testData||{},this.currentPageIndex=e.currentPageIndex,this.selectedElementId=e.selectedElementId,this.selectedElementIds=e.selectedElementIds,this.selectedGuideId=e.selectedGuideId,this.highlightedGuideId=e.highlightedGuideId,this.highlightedEdge=e.highlightedEdge,this.tableSelection=null,this.customTableSelection=null)},async commitCustomElementEdit(){var e,t,r;if(!this.editingCustomElementId)return!1;const n=this.customElements.find(e=>e.id===this.editingCustomElementId);if(!n)return!1;const i=this.selectedElement||(null==(e=this.pages[0])?void 0:e.elements[0]);if(!i)return!1;if(!jy(n))return Qm.warning(bh.global.t("toast.customElementReadOnly")),!1;n.element=Dm(i);const{mode:o,endpoints:a,headers:s,fetcher:l}=Um();if("remote"===o)try{const e=this.customElementDetailCache[n.id],i={id:n.id,name:n.name,element:Dm(n.element),testData:n.testData,permissions:n.permissions??(null==e?void 0:e.permissions),ext:Ry(null==e?void 0:e.ext,n.ext)},o=Vy(Ky(i,"edit")),u=zm(null==(t=a.customElements)?void 0:t.upsert,""),c=Rm(null==(r=a.customElements)?void 0:r.upsert,"POST",s,o);await(l||fetch)(u,c);const A=this.customElementDetailCache[n.id];this.customElementDetailCache[n.id]=Vy({id:o.id,name:o.name,element:Dm(o.element||(null==A?void 0:A.element)||{}),testData:o.testData||(null==A?void 0:A.testData),permissions:o.permissions??(null==A?void 0:A.permissions),ext:Ry(null==A?void 0:A.ext,o.ext)})}catch(gH){}else this.saveCustomElements();return!0},saveCustomElementEditAs(e){var t;const r=this.selectedElement||(null==(t=this.pages[0])?void 0:t.elements[0]);return!!r&&(this.addCustomElement(e,r),!0)},copyPage(e){if(!this.isTemplateEditable)return;const t=this.pages[e];t&&(this.copiedPage=Dm(t))},pastePage(e){if(!this.isTemplateEditable)return;if(!this.copiedPage)return;this.snapshot("添加元素");const t=Dm(this.copiedPage);t.id=kh(),t.elements.forEach(e=>{e.id=kh()}),this.pages.splice(e+1,0,t),this.currentPageIndex=e+1},addPage(){this.isTemplateEditable&&(this.snapshot(),this.pages.push({id:kh(),elements:[]}),this.currentPageIndex=this.pages.length-1)},removePage(e){this.isTemplateEditable&&(this.pages.length<=1||(this.snapshot(),this.pages.splice(e,1),this.currentPageIndex>=this.pages.length&&(this.currentPageIndex=this.pages.length-1)))},setTableSelection(e,t,r){if(this.tableSelection&&this.tableSelection.elementId!==e)this.tableSelection={elementId:e,cells:[t]};else if(this.tableSelection)if(r){const r=this.tableSelection.cells.findIndex(e=>e.rowIndex===t.rowIndex&&e.colField===t.colField&&e.section===t.section);r>=0?(this.tableSelection.cells.splice(r,1),0===this.tableSelection.cells.length&&(this.tableSelection=null)):this.tableSelection.cells.length>0&&this.tableSelection.cells[0].section!==t.section?this.tableSelection={elementId:e,cells:[t]}:this.tableSelection.cells.push(t)}else this.tableSelection={elementId:e,cells:[t]};else this.tableSelection={elementId:e,cells:[t]}},setTableSelectionCells(e,t){this.tableSelection={elementId:e,cells:t}},clearTableSelection(){this.tableSelection=null},mergeSelectedCells(){if(!this.isTemplateEditable)return;if(!this.tableSelection||this.tableSelection.cells.length<2)return;const{elementId:e,cells:t}=this.tableSelection,r=t[0].section||"body";let n=null,i=-1,o=-1;for(let m=0;m<this.pages.length;m++){const t=this.pages[m].elements.findIndex(t=>t.id===e);if(-1!==t){n=this.pages[m].elements[t],i=m,o=t;break}}if(!n)return;const a="footer"===r?"footerData":"data",s=t.map(e=>e.rowIndex),l=Math.min(...s),u=Math.max(...s);let c=n.columns||[];if(n.columnsVariable&&this.testData){const e=Lb(n.columnsVariable),t=e?Ub(this.testData,e):void 0;Array.isArray(t)&&(c=t)}if(0===c.length)return;const A=c.map(e=>e.field),d=t.map(e=>A.indexOf(e.colField)).filter(e=>-1!==e);if(d.length!==t.length)return;const h=Math.min(...d),p=Math.max(...d),f=u-l+1,g=p-h+1;this.snapshot();const v=Dm(n[a]||[]);for(let m=0;m<=u;m++)v[m]||(v[m]={});for(let m=l;m<=u;m++)for(let e=h;e<=p;e++){const t=A[e],r=v[m];"object"==typeof r[t]&&null!==r[t]||(r[t]={value:void 0!==r[t]?r[t]:""}),m===l&&e===h?(r[t].rowSpan=f,r[t].colSpan=g):(r[t].rowSpan=0,r[t].colSpan=0,r[t].value="")}this.pages[i].elements[o]={...n,[a]:v},this.tableSelection=null},splitSelectedCells(){var e;if(!this.isTemplateEditable)return;if(!this.tableSelection||1!==this.tableSelection.cells.length)return;const{elementId:t,cells:r}=this.tableSelection,n=r[0],i=n.section||"body";let o=null,a=-1,s=-1;for(let v=0;v<this.pages.length;v++){const e=this.pages[v].elements.findIndex(e=>e.id===t);if(-1!==e){o=this.pages[v].elements[e],a=v,s=e;break}}if(!o)return;const l="footer"===i?"footerData":"data",u=null==(e=o[l])?void 0:e[n.rowIndex];if(!u)return;const c=u[n.colField];if(!c||"object"!=typeof c||!c.rowSpan&&!c.colSpan)return;const A=c.rowSpan||1,d=c.colSpan||1;if(A<=1&&d<=1)return;let h=o.columns||[];if(o.columnsVariable&&this.testData){const e=Lb(o.columnsVariable),t=e?Ub(this.testData,e):void 0;Array.isArray(t)&&(h=t)}if(0===h.length)return;this.snapshot();const p=Dm(o[l]||[]),f=h.map(e=>e.field),g=f.indexOf(n.colField);if(-1!==g){for(let e=n.rowIndex;e<n.rowIndex+A;e++)for(let t=g;t<g+d;t++){const r=f[t],n=p[e];n&&n[r]&&"object"==typeof n[r]&&(n[r].rowSpan=1,n[r].colSpan=1)}this.pages[a].elements[s]={...o,[l]:p},this.tableSelection=null}},setCustomTableSelection(e,t){this.customTableSelection={elementId:e,cells:t}},clearCustomTableSelection(){this.customTableSelection=null},mergeCustomTableCells(){if(!this.isTemplateEditable)return;if(!this.customTableSelection||this.customTableSelection.cells.length<2)return;const{elementId:e,cells:t}=this.customTableSelection,r=t.map(e=>e.row),n=t.map(e=>e.col),i=Math.min(...r),o=Math.max(...r),a=Math.min(...n),s=Math.max(...n),l=(o-i+1)*(s-a+1);if(t.length!==l)return;let u=null,c=-1,A=-1;for(let h=0;h<this.pages.length;h++){const t=this.pages[h].elements.findIndex(t=>t.id===e);if(-1!==t){u=this.pages[h].elements[t],c=h,A=t;break}}if(!u)return;this.snapshot();const d=Dm(u.customTableCells||[]);for(let h=i;h<=o;h++)for(let e=a;e<=s;e++)if(h===i&&e===a){const t=d.find(t=>t.row===h&&t.col===e);t?(t.rowSpan=o-i+1,t.colSpan=s-a+1):d.push({row:h,col:e,rowSpan:o-i+1,colSpan:s-a+1,contentType:"text",text:""})}else{const t=d.findIndex(t=>t.row===h&&t.col===e);t>=0&&d.splice(t,1)}this.pages[c].elements[A]={...u,customTableCells:d},this.customTableSelection={elementId:e,cells:[{row:i,col:a}]}},splitCustomTableCell(){if(!this.isTemplateEditable)return;if(!this.customTableSelection||1!==this.customTableSelection.cells.length)return;const{elementId:e,cells:t}=this.customTableSelection,{row:r,col:n}=t[0];let i=null,o=-1,a=-1;for(let d=0;d<this.pages.length;d++){const t=this.pages[d].elements.findIndex(t=>t.id===e);if(-1!==t){i=this.pages[d].elements[t],o=d,a=t;break}}if(!i)return;const s=(i.customTableCells||[]).find(e=>e.row===r&&e.col===n);if(!s)return;const l=s.rowSpan||1,u=s.colSpan||1;if(l<=1&&u<=1)return;this.snapshot();const c=Dm(i.customTableCells||[]),A=c.findIndex(e=>e.row===r&&e.col===n);A>=0&&(c[A]={...c[A],rowSpan:1,colSpan:1}),this.pages[o].elements[a]={...i,customTableCells:c},this.customTableSelection=null},setHeaderHeight(e){this.isTemplateEditable&&(this.headerHeight=e)},setFooterHeight(e){this.isTemplateEditable&&(this.footerHeight=e)},setShowHeaderLine(e){this.showHeaderLine=e},setShowFooterLine(e){this.showFooterLine=e},setShowMinimap(e){this.showMinimap=e},setShowHelp(e){this.showHelp=e},setShowSettings(e){this.showSettings=e},setCanvasBackground(e){this.canvasBackground=e},snapshot(e){this.historyPast.length>=50&&(this.historyPast.shift(),this.historyDescriptions.shift()),this.historyPast.push(Dm(this.pages)),this.historyDescriptions.push(e||""),this.historyFuture=[]},setCanvasPreview(e){this.canvasPreview=e},loadTemplateData(e){this.editingCustomElementId||e&&(this.resetCanvas(),Array.isArray(e.pages)&&e.pages.length>0&&(this.pages=Dm(e.pages)),e.canvasSize&&(this.canvasSize=Dm(e.canvasSize)),void 0!==e.canvasBackground&&(this.canvasBackground=e.canvasBackground),void 0!==e.headerHeight&&(this.headerHeight=e.headerHeight),void 0!==e.footerHeight&&(this.footerHeight=e.footerHeight),void 0!==e.showHeaderLine&&(this.showHeaderLine=e.showHeaderLine),void 0!==e.showFooterLine&&(this.showFooterLine=e.showFooterLine),void 0!==e.pageSpacingX&&(this.pageSpacingX=e.pageSpacingX),void 0!==e.pageSpacingY&&(this.pageSpacingY=e.pageSpacingY),void 0!==e.unit&&(this.unit=e.unit),void 0!==e.watermark&&(this.watermark=Dm(e.watermark)),void 0!==e.testData&&(this.testData=Dm(e.testData)),void 0!==e.variables&&(this.variables=Dm(e.variables)),this.selectedElementId=null,this.selectedElementIds=[],this.historyPast=[],this.historyFuture=[],this.historyDescriptions=[],this.regenerateFieldTree())},undo(){if(0===this.historyPast.length)return;const e=this.historyPast.pop();if(this.historyFuture.push(Dm(this.pages)),this.pages=Dm(e),this.selectedElementId){this.pages.some(e=>e.elements.some(e=>e.id===this.selectedElementId))||(this.selectedElementId=null,this.selectedElementIds=[])}this.selectedElementIds=this.selectedElementIds.filter(e=>this.pages.some(t=>t.elements.some(t=>t.id===e))),this.currentPageIndex>=this.pages.length&&(this.currentPageIndex=Math.max(0,this.pages.length-1))},redo(){if(0===this.historyFuture.length)return;const e=this.historyFuture.pop();this.historyPast.push(Dm(this.pages)),this.pages=Dm(e),this.currentPageIndex>=this.pages.length&&(this.currentPageIndex=Math.max(0,this.pages.length-1))},addGuide(e){this.guides.push({...e,id:kh()})},updateGuide(e,t){const r=this.guides.find(t=>t.id===e);r&&(r.position=t)},removeGuide(e){const t=this.guides.findIndex(t=>t.id===e);-1!==t&&(this.guides.splice(t,1),this.selectedGuideId===e&&(this.selectedGuideId=null))},clearGuides(){this.guides=[]},selectGuide(e){this.selectedGuideId=e,e&&(this.selectedElementId=null,this.selectedElementIds=[],this.tableSelection=null,this.customTableSelection=null)},setHighlightedGuide(e){this.highlightedGuideId=e},setHighlightedEdge(e){this.highlightedEdge=e},setShowMarginLines(e){this.showMarginLines=e},setShowCornerMarkers(e){this.showCornerMarkers=e},getElementBoundsAtPosition(e,t,r){var n;const i=(((null==(n=e.style)?void 0:n.rotate)||0)%360+360)%360;if(0===i)return{minX:t,maxX:t+e.width,minY:r,maxY:r+e.height};const o=t+e.width/2,a=r+e.height/2,s=i*Math.PI/180,l=Math.cos(s),u=Math.sin(s),c=[{x:t,y:r},{x:t+e.width,y:r},{x:t,y:r+e.height},{x:t+e.width,y:r+e.height}];let A=1/0,d=-1/0,h=1/0,p=-1/0;for(const f of c){const e=o+(f.x-o)*l-(f.y-a)*u,t=a+(f.x-o)*u+(f.y-a)*l;e<A&&(A=e),e>d&&(d=e),t<h&&(h=t),t>p&&(p=t)}return{minX:A,maxX:d,minY:h,maxY:p}},getElementMovementBounds(e){const t=this.pageSpacingX||0,r=this.pageSpacingY||0,n=this.canvasSize.width-t,i=this.canvasSize.height-r,o=this.getElementBoundsAtPosition(e,0,0),a=t-o.minX,s=Math.max(a,n-o.maxX),l=r-o.minY;return{minX:a,maxX:s,minY:l,maxY:Math.max(l,i-o.maxY),maxXBoundary:n,maxYBoundary:i,originBounds:o}},getSnapPosition(e,t,r,n=!1,i=!0,o=-1){let a=t,s=r,l=null,u=null;const c=(e,t,r)=>{const i=Math.abs(e-r);if(i>5)return!1;if(n){return i<Math.abs(t-r)}return!0},A=this.getElementBoundsAtPosition(e,e.x,e.y),d=this.getElementMovementBounds(e),{minX:h,maxX:p,minY:f,maxY:g,maxXBoundary:v,maxYBoundary:m,originBounds:y}=d,b=this.pageSpacingX||0,w=this.pageSpacingY||0,x=this.getElementBoundsAtPosition(e,a,s);c(x.minX,A.minX,b)?(a=h,u="left"):c(x.maxX,A.maxX,v)&&(a=p,u="right");const _=this.getElementBoundsAtPosition(e,a,s);c(_.minY,A.minY,w)?(s=f,u=u||"top"):c(_.maxY,A.maxY,m)&&(s=g,u=u||"bottom");for(const E of this.guides)if("vertical"===E.type){const t=this.getElementBoundsAtPosition(e,a,s);c(t.minX,A.minX,E.position)?(a=E.position-y.minX,l=E.id):c(t.maxX,A.maxX,E.position)&&(a=E.position-y.maxX,l=E.id)}else{const t=this.getElementBoundsAtPosition(e,a,s);c(t.minY,A.minY,E.position)?(s=E.position-y.minY,l=E.id):c(t.maxY,A.maxY,E.position)&&(s=E.position-y.maxY,l=E.id)}let C=i,S=i,B=!1,k=!1;return i||(this.pages.length<=1?(C=!0,S=!0):(C=!0,0===o&&(B=!0),o===this.pages.length-1&&(k=!0))),C&&(a=Math.min(Math.max(h,a),p)),S?s=Math.min(Math.max(f,s),g):(B&&(s=Math.max(f,s)),k&&(s=Math.min(s,g))),{x:a,y:s,highlightedGuideId:l,highlightedEdge:u}},moveElementWithSnap(e,t,r,n=!0,i=!0){if(this.isTemplateEditable)for(let o=0;o<this.pages.length;o++){const a=this.pages[o],s=a.elements.findIndex(t=>t.id===e);if(-1!==s){const l=a.elements[s];if(l.locked)return;const u=this.getSnapPosition(l,t,r,!1,i,o);return this.setHighlightedGuide(u.highlightedGuideId||null),this.setHighlightedEdge(u.highlightedEdge||null),void this.updateElement(e,{x:u.x,y:u.y},n)}}},moveSelectedElements(e,t,r,n=!0,i=!0){if(!this.isTemplateEditable)return;n&&this.snapshot();let o=null,a=-1;const s=[],l=new Set(this.selectedElementIds);for(let p=0;p<this.pages.length;p++){const t=this.pages[p];for(let r=0;r<t.elements.length;r++){const n=t.elements[r];n.id===e&&(o=n,a=p),l.has(n.id)&&!n.locked&&s.push({pageIndex:p,elementIndex:r,element:n})}}if(!o||o.locked)return;const u=this.getSnapPosition(o,t,r,!1,i,a);this.setHighlightedGuide(u.highlightedGuideId||null),this.setHighlightedEdge(u.highlightedEdge||null);let c=u.x-o.x,A=u.y-o.y;if(0===c&&0===A)return;let d=i,h=i;if(i||(this.pages.length<=1?(d=!0,h=!0):(d=!0,h=!1)),d||h||!h&&this.pages.length>1)for(const p of s){const e=p.element,t=p.pageIndex,r=this.getElementMovementBounds(e);d&&(c>0?e.x+c>r.maxX&&(c=r.maxX-e.x):c<0&&e.x+c<r.minX&&(c=r.minX-e.x)),h?A>0?e.y+A>r.maxY&&(A=r.maxY-e.y):A<0&&e.y+A<r.minY&&(A=r.minY-e.y):(0===t&&A<0&&e.y+A<r.minY&&(A=r.minY-e.y),t===this.pages.length-1&&A>0&&e.y+A>r.maxY&&(A=r.maxY-e.y))}if(0!==c||0!==A)for(const p of s){const{pageIndex:e,elementIndex:t,element:r}=p;this.pages[e].elements[t]={...r,x:r.x+c,y:r.y+A}}},nudgeSelectedElements(e,t){if(!this.isTemplateEditable)return;if(0===this.selectedElementIds.length)return;const r=this.selectedElementIds.filter(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&!r.locked)return!0}return!1});if(0===r.length)return;this.snapshot("移动元素");let n=this.selectedElementId;n&&r.includes(n)||(n=r[0]);let i=null;for(const c of this.pages){const e=c.elements.find(e=>e.id===n);if(e){i=e;break}}if(!i)return;const o=i.x+e,a=i.y+t,s=this.getSnapPosition(i,o,a,!0);this.setHighlightedGuide(s.highlightedGuideId||null),this.setHighlightedEdge(s.highlightedEdge||null);let l=s.x-i.x,u=s.y-i.y;for(const c of r)for(const e of this.pages){const t=e.elements.find(e=>e.id===c);if(t){const e=this.getElementMovementBounds(t);l>0?t.x+l>e.maxX&&(l=e.maxX-t.x):l<0&&t.x+l<e.minX&&(l=e.minX-t.x),u>0?t.y+u>e.maxY&&(u=e.maxY-t.y):u<0&&t.y+u<e.minY&&(u=e.minY-t.y)}}if(0!==l||0!==u)for(const c of r)for(const e of this.pages){const t=e.elements.findIndex(e=>e.id===c);if(-1!==t){const r=e.elements[t];e.elements[t]={...r,x:r.x+l,y:r.y+u};break}}},addElement(e,t){if(!this.isTemplateEditable)return;this.snapshot("添加元素");const r={...e,id:kh()},n=void 0!==t&&t>=0&&t<this.pages.length?t:this.currentPageIndex;this.pages[n].elements.push(r),this.selectedElementId=r.id,this.currentPageIndex=n},moveElementToPage(e,t,r,n){if(!this.isTemplateEditable)return;this.snapshot();let i,o=-1,a=-1;for(let s=0;s<this.pages.length;s++){const t=this.pages[s].elements.findIndex(t=>t.id===e);if(-1!==t){o=s,a=t,i=this.pages[s].elements[t];break}}i&&-1!==o&&(this.pages[o].elements.splice(a,1),i.x=r,i.y=n,t>=0&&t<this.pages.length?(this.pages[t].elements.push(i),this.currentPageIndex=t):this.pages[o].elements.push(i))},bringElementsToFront(e){if(!e||0===e.length)return;const t=new Set(e);for(const r of this.pages){const n=r.elements.filter(e=>t.has(e.id));if(0===n.length)continue;let i=0;for(const e of r.elements)t.has(e.id)||(i=Math.max(i,e.style.zIndex||1));if(!n.some(e=>(e.style.zIndex||1)<=i))continue;let o=i+1;const a=e.filter(e=>n.some(t=>t.id===e));for(const e of a){const t=r.elements.findIndex(t=>t.id===e);if(-1===t)continue;const n=r.elements[t];r.elements[t]={...n,style:{...n.style,zIndex:o}},o+=1}}},moveElementsLayer(e,t){if(!this.isTemplateEditable)return;if(!e||0===e.length)return;const r=new Set(e),n=new Set;for(const o of this.pages)for(const e of o.elements)r.has(e.id)&&!e.locked&&n.add(e.id);if(0===n.size)return;const i=[];for(let o=0;o<this.pages.length;o+=1){const e=Vb(this.pages[o],n,t);e&&e.size>0&&i.push({pageIndex:o,assignments:e})}if(0!==i.length){this.snapshot();for(const{pageIndex:e,assignments:t}of i){const r=this.pages[e];for(let e=0;e<r.elements.length;e+=1){const n=r.elements[e],i=t.get(n.id);i&&Hb(n)!==i&&(r.elements[e]={...n,style:{...n.style,zIndex:i}})}}}},sendElementsToBack(e){this.moveElementsLayer(e,"back")},moveElementsForward(e){this.moveElementsLayer(e,"forward")},moveElementsBackward(e){this.moveElementsLayer(e,"backward")},updateElement(e,t,r=!0){if(this.isTemplateEditable){r&&this.snapshot();for(const r of this.pages){const n=r.elements.findIndex(t=>t.id===e);if(-1!==n){if(r.elements[n].locked&&void 0===t.locked)return;return void(r.elements[n]={...r.elements[n],...t})}}}},removeElement(e){if(this.isTemplateEditable){for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&r.locked)return}this.snapshot("删除元素");for(const t of this.pages){const r=t.elements.findIndex(t=>t.id===e);if(-1!==r){t.elements.splice(r,1),this.selectedElementId===e&&(this.selectedElementId=null),this.tableSelection&&this.tableSelection.elementId===e&&(this.tableSelection=null);const n=this.selectedElementIds.indexOf(e);return void(-1!==n&&this.selectedElementIds.splice(n,1))}}}},selectElement(e,t=!1){if(e&&(this.selectedGuideId=null),this.tableSelection&&(this.tableSelection=null),t&&e){if(this.selectedElementIds.includes(e)){const t=this.selectedElementIds.indexOf(e);this.selectedElementIds.splice(t,1)}else this.selectedElementIds.push(e);this.selectedElementId=this.selectedElementIds.length>0?this.selectedElementIds[this.selectedElementIds.length-1]:null}else this.selectedElementId=e,this.selectedElementIds=e?[e]:[];if(this.selectedElementIds.length>0&&this.bringElementsToFront(this.selectedElementIds),e){const t=this.pages.findIndex(t=>t.elements.some(t=>t.id===e));-1!==t&&(this.currentPageIndex=t)}},clearSelection(){this.selectedElementId=null,this.selectedElementIds=[],this.tableSelection=null,this.customTableSelection=null},setSelection(e){if(this.tableSelection=null,this.customTableSelection=null,e.length>0&&(this.selectedGuideId=null),this.selectedElementIds=e,this.selectedElementId=e.length>0?e[e.length-1]:null,e.length>0&&this.bringElementsToFront(e),e.length>0){const e=this.pages.findIndex(e=>e.elements.some(e=>e.id===this.selectedElementId));-1!==e&&(this.currentPageIndex=e)}},removeSelectedElements(){if(!this.isTemplateEditable)return;if(0===this.selectedElementIds.length)return;const e=this.selectedElementIds.filter(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&!r.locked)return!0}return!1});if(0!==e.length){this.snapshot();for(const t of e)for(const e of this.pages){const r=e.elements.findIndex(e=>e.id===t);if(-1!==r){e.elements.splice(r,1);break}}this.selectedElementId=null,this.selectedElementIds=[],this.tableSelection=null}},alignSelectedElements(e){if(!this.isTemplateEditable)return;if(0===this.selectedElementIds.length)return;const t=[];for(const r of this.selectedElementIds)for(const e of this.pages){const n=e.elements.find(e=>e.id===r);if(n&&!n.locked){t.push(n);break}}if(0!==t.length)if(this.snapshot(),1===t.length){const r=t[0],n=this.canvasSize.width,i=this.canvasSize.height,o=this.pageSpacingX||0,a=this.pageSpacingY||0,s=o,l=a,u=Math.max(0,n-2*o),c=Math.max(0,i-2*a);switch(e){case"left":r.x=s;break;case"center":r.x=s+(u-r.width)/2;break;case"right":r.x=s+u-r.width;break;case"top":r.y=l;break;case"middle":r.y=l+(c-r.height)/2;break;case"bottom":r.y=l+c-r.height}}else{const r=Math.min(...t.map(e=>e.x)),n=Math.max(...t.map(e=>e.x+e.width)),i=Math.min(...t.map(e=>e.y)),o=Math.max(...t.map(e=>e.y+e.height)),a=(r+n)/2,s=(i+o)/2;t.forEach(t=>{switch(e){case"left":t.x=r;break;case"center":t.x=a-t.width/2;break;case"right":t.x=n-t.width;break;case"top":t.y=i;break;case"middle":t.y=s-t.height/2;break;case"bottom":t.y=o-t.height}})}},resizeSelectedElements(e,t){if(!this.isTemplateEditable)return;if(0===this.selectedElementIds.length)return;const r=this.selectedElementIds.filter(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&!r.locked)return!0}return!1});if(0!==r.length){this.snapshot();for(const n of r)for(const r of this.pages){const i=r.elements.findIndex(e=>e.id===n);if(-1!==i){const n=r.elements[i],o=Math.max(10,n.width+e),a=Math.max(10,n.height+t);r.elements[i]={...n,width:o,height:a};break}}}},updateSelectedElementsStyle(e){if(!this.isTemplateEditable)return;if(0===this.selectedElementIds.length)return;this.selectedElementIds.some(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&r.locked)return!0}return!1});const t=this.selectedElementIds.filter(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&!r.locked)return!0}return!1});if(0!==t.length){this.snapshot();for(const r of t)for(const t of this.pages){const n=t.elements.findIndex(e=>e.id===r);if(-1!==n){const r=t.elements[n];t.elements[n]={...r,style:{...r.style,...e}};break}}}},toggleLock(){if(!this.isTemplateEditable)return;if(0===this.selectedElementIds.length)return;this.snapshot();let e=!0;const t=this.selectedElement;t&&(e=!t.locked);for(const r of this.selectedElementIds)for(const t of this.pages){const n=t.elements.findIndex(e=>e.id===r);if(-1!==n){t.elements[n].locked=e;break}}},setZoom(e){this.zoom=e},setCanvasSize(e,t){this.isTemplateEditable&&(this.snapshot(),this.canvasSize={width:e,height:t})},setShowGrid(e){this.showGrid=e},deletePage(e){this.isTemplateEditable&&this.pages.length>1&&(this.snapshot(),this.pages.splice(e,1),this.currentPageIndex>=this.pages.length&&(this.currentPageIndex=this.pages.length-1))},copy(){if(0===this.selectedElementIds.length)return;const e=[];for(const t of this.selectedElementIds)for(const r of this.pages){const n=r.elements.find(e=>e.id===t);if(n&&!n.locked){e.push(Dm(n));break}}this.clipboard=e},cut(){this.isTemplateEditable&&0!==this.selectedElementIds.length&&(this.copy(),this.removeSelectedElements())},paste(e){if(!this.isTemplateEditable)return;if(0===this.clipboard.length)return;this.snapshot();const t=[],r=(null==e?void 0:e.pageIndex)??this.currentPageIndex;let n=1/0,i=1/0;if(e)for(const o of this.clipboard)n=Math.min(n,o.x),i=Math.min(i,o.y);for(const o of this.clipboard){const a=Dm(o);if(a.id=kh(),e){const t=o.x-n,r=o.y-i;a.x=e.x+t,a.y=e.y+r}else a.x+=20,a.y+=20;a.x+a.width>this.canvasSize.width&&(a.x=Math.max(0,this.canvasSize.width-a.width)),a.y+a.height>this.canvasSize.height&&(a.y=Math.max(0,this.canvasSize.height-a.height)),a.x=Math.max(0,a.x),a.y=Math.max(0,a.y),this.pages[r]?this.pages[r].elements.push(a):this.pages[this.currentPageIndex].elements.push(a),t.push(a.id)}r!==this.currentPageIndex&&this.pages[r]&&(this.currentPageIndex=r),this.setSelection(t)},paginateTable(e){if(!this.isTemplateEditable)return;this.snapshot();let t,r=-1;for(let d=0;d<this.pages.length;d++){const n=this.pages[d].elements.findIndex(t=>t.id===e);if(-1!==n){r=d,t=this.pages[d].elements[n];break}}if(!t||t.type!==Nm.TABLE||!t.data)return;const n=this.canvasSize.height,i=t.style.headerHeight||40,o=t.style.rowHeight||30,a=n-t.y-50-i,s=Math.floor(Math.max(0,a)/o);if(s>=t.data.length)return;const l=t.data.slice(0,s),u=t.data.slice(s);this.updateElement(t.id,{data:l,height:i+l.length*o});const c=r+1;c>=this.pages.length&&this.addPage();const A={...Dm(t),id:kh(),y:50,data:u,height:i+u.length*o};this.pages[c].elements.push(A),this.paginateTable(A.id)},alignElements(e){if(!this.isTemplateEditable)return;if(this.selectedElementIds.length<2)return;const t=this.selectedElementIds.filter(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&!r.locked)return!0}return!1});if(t.length<2)return;this.snapshot();let r=1/0,n=-1/0,i=1/0,o=-1/0;const a=[];for(const u of t)for(let e=0;e<this.pages.length;e++){const t=this.pages[e].elements.find(e=>e.id===u);if(t){r=Math.min(r,t.x),n=Math.max(n,t.x+t.width),i=Math.min(i,t.y),o=Math.max(o,t.y+t.height),a.push({id:u,pageIdx:e,el:t});break}}const s=(r+n)/2,l=(i+o)/2;for(const{pageIdx:u,el:c}of a){const t=this.pages[u],a=t.elements.findIndex(e=>e.id===c.id);if(-1===a)continue;let A=c.x,d=c.y;switch(e){case"left":A=r;break;case"center":A=s-c.width/2;break;case"right":A=n-c.width;break;case"top":d=i;break;case"middle":d=l-c.height/2;break;case"bottom":d=o-c.height}t.elements[a]={...c,x:Math.max(0,A),y:Math.max(0,d)}}},distributeElements(e){if(!this.isTemplateEditable)return;if(this.selectedElementIds.length<3)return;const t=this.selectedElementIds.filter(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&!r.locked)return!0}return!1});if(t.length<3)return;this.snapshot();const r=[];for(const n of t)for(let e=0;e<this.pages.length;e++){const t=this.pages[e].elements.find(e=>e.id===n);if(t){r.push({id:n,pageIdx:e,el:t});break}}if("horizontal"===e){r.sort((e,t)=>e.el.x-t.el.x);const e=r.reduce((e,{el:t})=>e+t.width,0),t=r[0].el.x,n=(r[r.length-1].el.x+r[r.length-1].el.width-t-e)/(r.length-1);let i=t;for(const{pageIdx:o,el:a}of r){const e=this.pages[o],t=e.elements.findIndex(e=>e.id===a.id);-1!==t&&(e.elements[t]={...a,x:Math.max(0,i)},i+=a.width+n)}}else{r.sort((e,t)=>e.el.y-t.el.y);const e=r.reduce((e,{el:t})=>e+t.height,0),t=r[0].el.y,n=(r[r.length-1].el.y+r[r.length-1].el.height-t-e)/(r.length-1);let i=t;for(const{pageIdx:o,el:a}of r){const e=this.pages[o],t=e.elements.findIndex(e=>e.id===a.id);-1!==t&&(e.elements[t]={...a,y:Math.max(0,i)},i+=a.height+n)}}},matchElementSize(e){var t;if(!this.isTemplateEditable)return;if(this.selectedElementIds.length<2)return;const r=this.selectedElementIds.filter(e=>{for(const t of this.pages){const r=t.elements.find(t=>t.id===e);if(r&&!r.locked)return!0}return!1});if(r.length<2)return;this.snapshot();const n=null==(t=this.pages[this.currentPageIndex])?void 0:t.elements.find(e=>e.id===(this.selectedElementId||r[0]));if(n)for(const i of r)if(i!==n.id)for(const t of this.pages){const r=t.elements.findIndex(e=>e.id===i);if(-1===r)continue;const o=t.elements[r],a={};"width"!==e&&"both"!==e||(a.width=n.width),"height"!==e&&"both"!==e||(a.height=n.height),t.elements[r]={...o,...a};break}},shutdownAutoSaveTimer(){window.dispatchEvent(new CustomEvent("designer:stop-auto-save"))},groupSelectedElements(){this.isTemplateEditable&&(this.selectedElementIds.length<2||Qm.warning("Grouping feature is under development"))},async loadCustomElements(){var e,t;const{mode:r,endpoints:n,headers:i,fetcher:o}=Um();if("remote"===r)try{const r=zm(null==(e=n.customElements)?void 0:e.list,""),a=Rm(null==(t=n.customElements)?void 0:t.list,"GET",i),s=await(o||fetch)(r,a),l=await s.json(),u=Array.isArray(l)?l:(null==l?void 0:l.customElements)||[];this.customElements=u.filter(e=>e&&"string"==typeof e.id&&"string"==typeof e.name&&(e.element||this.customElements.some(t=>t.id===e.id)||this.customElementDetailCache[e.id])).map(e=>{const t=this.customElements.find(t=>t.id===e.id),r=this.customElementDetailCache[e.id],n={id:e.id,name:e.name,element:e.element?Dm(e.element):Dm((null==r?void 0:r.element)||(null==t?void 0:t.element)||{}),testData:e.testData||(null==r?void 0:r.testData)||(null==t?void 0:t.testData),permissions:e.permissions??(null==r?void 0:r.permissions)??(null==t?void 0:t.permissions),ext:Ry(null==t?void 0:t.ext,null==r?void 0:r.ext,e.ext)},i=Vy(n);return this.customElementDetailCache[e.id]=i,i})}catch(gH){}},async copyCustomElement(e,t){var r,n;const{mode:i,endpoints:o,headers:a,fetcher:s}=Um(),l=this.customElements.find(t=>t.id===e);if(!l)return;if(!Wy(l))return void Qm.warning(bh.global.t("toast.customElementCopyNotAllowed"));const u=this.customElementDetailCache[e],c="remote"===i?{id:l.id,name:l.name,element:l.element||(null==u?void 0:u.element),testData:l.testData||(null==u?void 0:u.testData),ext:Ry(null==u?void 0:u.ext,l.ext)}:l;let A=`${c.name} Copy`;t&&t.name&&(A=t.name,delete t.name);const d=Ky({id:kh(),name:A,element:Dm(c.element),testData:Dm(c.testData),ext:c.ext,permissions:{...c.permissions&&"object"==typeof c.permissions?c.permissions:{}}},"copy",t),h=Vy(d);if("remote"===i)try{const e=zm(null==(r=o.customElements)?void 0:r.upsert,""),t=Rm(null==(n=o.customElements)?void 0:n.upsert,"POST",a,h),i=await(s||fetch)(e,t),l=await i.json();l&&"object"==typeof l&&l.ext&&(h.ext={...h.ext||{},...l.ext}),h.id=(null==l?void 0:l.id)||h.id;const u=this.customElementDetailCache[h.id];this.customElementDetailCache[h.id]=Vy({id:h.id,name:h.name,element:Dm(h.element||(null==u?void 0:u.element)||{}),testData:h.testData||(null==u?void 0:u.testData),permissions:h.permissions??(null==u?void 0:u.permissions),ext:Ry(null==u?void 0:u.ext,h.ext)}),await this.loadCustomElements()}catch(gH){Qm.error(bh.global.t("toast.customElementCopyFailed"))}else this.customElements.push(h),this.saveCustomElements()},async addCustomElement(e,t,r){var n,i;const{mode:o,endpoints:a,headers:s,fetcher:l}=Um(),u=Ky({id:kh(),name:e,element:Dm(t),ext:{}},"create",r),c=Vy(u);if("remote"===o)try{const e=zm(null==(n=a.customElements)?void 0:n.upsert,""),t=Rm(null==(i=a.customElements)?void 0:i.upsert,"POST",s,c),r=await(l||fetch)(e,t),o=await r.json();o&&"object"==typeof o&&o.ext&&(c.ext={...c.ext||{},...o.ext}),c.id=(null==o?void 0:o.id)||c.id;const u=this.customElementDetailCache[c.id];this.customElementDetailCache[c.id]=Vy({id:c.id,name:c.name,element:Dm(c.element||(null==u?void 0:u.element)||{}),testData:c.testData||(null==u?void 0:u.testData),permissions:c.permissions??(null==u?void 0:u.permissions),ext:Ry(null==u?void 0:u.ext,c.ext)}),await this.loadCustomElements()}catch(gH){Qm.error(bh.global.t("toast.customElementAddFailed"))}else this.customElements.push(c),this.saveCustomElements()},async removeCustomElement(e){var t,r;const{mode:n,endpoints:i,headers:o,fetcher:a}=Um(),s=this.customElements.find(t=>t.id===e);if(s&&!Gy(s))return void Qm.warning(bh.global.t("toast.customElementDeleteNotAllowed"));const l=this.customElements.findIndex(t=>t.id===e);if(-1!==l){if(this.customElements.splice(l,1),delete this.customElementDetailCache[e],"remote"===n){try{const n=zm(null==(t=i.customElements)?void 0:t.delete,e),s=Rm(null==(r=i.customElements)?void 0:r.delete,"DELETE",o);await(a||fetch)(n,s),await this.loadCustomElements()}catch(gH){Qm.error(bh.global.t("toast.customElementRemoveFailed"))}return}this.saveCustomElements()}},async editCustomElement(e,t,r){var n,i;const{mode:o,endpoints:a,headers:s,fetcher:l}=Um(),u=this.customElements.find(t=>t.id===e);if(u){if(!jy(u))return void Qm.warning(bh.global.t("toast.customElementReadOnly"));u.name=t;const c=this.customElementDetailCache[e],A=Ky({...u,ext:Ry(null==c?void 0:c.ext,u.ext)},"edit",r);if(u.ext=A.ext,"remote"===o){try{const r=Vy({id:u.id,name:t,element:Dm(u.element),testData:u.testData,permissions:u.permissions??(null==c?void 0:c.permissions),ext:A.ext}),o=zm(null==(n=a.customElements)?void 0:n.upsert,""),d=Rm(null==(i=a.customElements)?void 0:i.upsert,"POST",s,r);await(l||fetch)(o,d);const h=this.customElementDetailCache[e];this.customElementDetailCache[e]=Vy({id:r.id,name:r.name,element:Dm(r.element||(null==h?void 0:h.element)||{}),testData:r.testData||(null==h?void 0:h.testData),permissions:r.permissions??(null==h?void 0:h.permissions),ext:Ry(null==h?void 0:h.ext,r.ext)}),await this.loadCustomElements()}catch(gH){Qm.error(bh.global.t("toast.customElementEditFailed"))}return}this.saveCustomElements()}},saveCustomElements(){const{mode:e}=Um();"remote"!==e&&localStorage.setItem("print-designer-custom-elements",JSON.stringify(this.customElements))}},getters:{showVariableNames:e=>"preview"===e.viewMode,canvasPreviewEnabled:e=>e.canvasPreview,isTemplateEditable:e=>{if(e.editingCustomElementId)return!0;const t=Mb();if(!t.currentTemplateId)return!0;const r=t.templates.find(e=>e.id===t.currentTemplateId);return!r||jy(r)},selectedElement:e=>{if(!e.selectedElementId)return null;for(const t of e.pages){const r=t.elements.find(t=>t.id===e.selectedElementId);if(r)return r}return null},currentPage:e=>e.pages[e.currentPageIndex],editingCustomElement:e=>e.editingCustomElementId&&e.customElements.find(t=>t.id===e.editingCustomElementId)||null}}),Kb=Ft("false"!==localStorage.getItem("print-designer-autosave"));function qb(){return{autoSave:Kb}}an(Kb,e=>{localStorage.setItem("print-designer-autosave",String(e))});const Yb=Ft(localStorage.getItem("print-designer-theme")||"system"),Xb=Ft(window.matchMedia("(prefers-color-scheme: dark)").matches),Zb=window.matchMedia("(prefers-color-scheme: dark)");null==(t=Zb.addEventListener)||t.call(Zb,"change",e=>{Xb.value=e.matches});const Jb=Ta(()=>"dark"===Yb.value||"light"!==Yb.value&&Xb.value),$b=e=>{Yb.value=e,localStorage.setItem("print-designer-theme",e)};function ew(){return{theme:Yb,isDark:Jb,setTheme:$b}}var tw,rw,nw,iw,ow,aw,sw,lw,uw,cw,Aw,dw;function hw(){if(aw)return ow;aw=1;var e=function(){if(iw)return nw;iw=1;var e=/\s/;return nw=function(t){for(var r=t.length;r--&&e.test(t.charAt(r)););return r}}(),t=/^\s+/;return ow=function(r){return r?r.slice(0,e(r)+1).replace(t,""):r}}function pw(){if(lw)return sw;lw=1;var e=Ff(),t=$f();return sw=function(r){return"symbol"==typeof r||t(r)&&"[object Symbol]"==e(r)}}var fw=function(){if(dw)return Aw;dw=1;var e=Uf(),t=function(){if(rw)return tw;rw=1;var e=Nf();return tw=function(){return e.Date.now()}}(),r=function(){if(cw)return uw;cw=1;var e=hw(),t=Uf(),r=pw(),n=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,o=/^0o[0-7]+$/i,a=parseInt;return uw=function(s){if("number"==typeof s)return s;if(r(s))return NaN;if(t(s)){var l="function"==typeof s.valueOf?s.valueOf():s;s=t(l)?l+"":l}if("string"!=typeof s)return 0===s?s:+s;s=e(s);var u=i.test(s);return u||o.test(s)?a(s.slice(2),u?2:8):n.test(s)?NaN:+s}}(),n=Math.max,i=Math.min;return Aw=function(o,a,s){var l,u,c,A,d,h,p=0,f=!1,g=!1,v=!0;if("function"!=typeof o)throw new TypeError("Expected a function");function m(e){var t=l,r=u;return l=u=void 0,p=e,A=o.apply(r,t)}function y(e){var t=e-h;return void 0===h||t>=a||t<0||g&&e-p>=c}function b(){var e=t();if(y(e))return w(e);d=setTimeout(b,function(e){var t=a-(e-h);return g?i(t,c-(e-p)):t}(e))}function w(e){return d=void 0,v&&l?m(e):(l=u=void 0,A)}function x(){var e=t(),r=y(e);if(l=arguments,u=this,h=e,r){if(void 0===d)return function(e){return p=e,d=setTimeout(b,a),f?m(e):A}(h);if(g)return clearTimeout(d),d=setTimeout(b,a),m(h)}return void 0===d&&(d=setTimeout(b,a)),A}return a=r(a)||0,e(s)&&(f=!!s.leading,c=(g="maxWait"in s)?n(r(s.maxWait)||0,a):c,v="trailing"in s?!!s.trailing:v),x.cancel=function(){void 0!==d&&clearTimeout(d),p=0,l=h=u=d=void 0},x.flush=function(){return void 0===d?A:w(t())},x},Aw}();const gw=Tf(fw),vw=96/25.4,mw=25.4/96,yw=96/72,bw=1/96,ww=96/2.54,xw=2.54/96;function _w(e){return Number((e*mw).toFixed(2))}function Cw(e,t){return"mm"===t?_w(e):"pt"===t?function(e){return Number((.75*e).toFixed(2))}(e):"in"===t?function(e){return Number((e*bw).toFixed(2))}(e):"cm"===t?function(e){return Number((e*xw).toFixed(2))}(e):Math.round(e)}function Sw(e,t){return"mm"===t?e*vw:"pt"===t?e*yw:"in"===t?96*e:"cm"===t?e*ww:Math.round(e)}function Bw(e,t,r){(e%=360)<0&&(e+=360),t=Math.max(0,Math.min(1,t));const n=(r=Math.max(0,Math.min(1,r)))*t,i=n*(1-Math.abs(e/60%2-1)),o=r-n;let a=0,s=0,l=0;return e>=0&&e<60?(a=n,s=i,l=0):e>=60&&e<120?(a=i,s=n,l=0):e>=120&&e<180?(a=0,s=n,l=i):e>=180&&e<240?(a=0,s=i,l=n):e>=240&&e<300?(a=i,s=0,l=n):(a=n,s=0,l=i),{r:Math.round(255*(a+o)),g:Math.round(255*(s+o)),b:Math.round(255*(l+o))}}function kw(e,t,r){e/=255,t/=255,r/=255;const n=Math.max(e,t,r),i=Math.min(e,t,r),o=n-i;let a=0;const s=0===n?0:o/n,l=n;if(n!==i){switch(n){case e:a=(t-r)/o+(t<r?6:0);break;case t:a=(r-e)/o+2;break;case r:a=(e-t)/o+4}a/=6}return{h:360*a,s:s,v:l}}function Ew(e){if(!e)return null;if("transparent"===e)return{h:0,s:0,v:0,a:0};if(e.startsWith("#")){const t=e.slice(1);let r=0,n=0,i=0,o=1;if(3===t.length)r=parseInt(t[0]+t[0],16),n=parseInt(t[1]+t[1],16),i=parseInt(t[2]+t[2],16);else if(6===t.length)r=parseInt(t.substring(0,2),16),n=parseInt(t.substring(2,4),16),i=parseInt(t.substring(4,6),16);else{if(8!==t.length)return null;r=parseInt(t.substring(0,2),16),n=parseInt(t.substring(2,4),16),i=parseInt(t.substring(4,6),16),o=parseInt(t.substring(6,8),16)/255}return{...kw(r,n,i),a:o}}if(e.startsWith("rgb")){const t=e.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)/);if(t){const e=parseInt(t[1]),r=parseInt(t[2]),n=parseInt(t[3]),i=void 0!==t[4]?parseFloat(t[4]):1;return{...kw(e,r,n),a:i}}}return null}function Iw(e,t,r,n=1){const{r:i,g:o,b:a}=Bw(e,t,r),s=e=>{const t=Math.round(e).toString(16);return 1===t.length?"0"+t:t};if(n>=1)return`#${s(i)}${s(o)}${s(a)}`;{const e=Math.round(255*n);return`#${s(i)}${s(o)}${s(a)}${s(e)}`}}const Tw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Pw=Lt({name:"material-symbols-menu",render:function(e,t){return Ro(),jo("svg",Tw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M3 18v-2h18v2zm0-5v-2h18v2zm0-5V6h18v2z"},null,-1)])])}}),Mw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Lw=Lt({name:"material-symbols-close",render:function(e,t){return Ro(),jo("svg",Mw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M6.4 19L5 17.6l5.6-5.6L5 6.4L6.4 5l5.6 5.6L17.6 5L19 6.4L13.4 12l5.6 5.6l-1.4 1.4l-5.6-5.6z"},null,-1)])])}}),Dw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Nw=Lt({name:"material-symbols-preview",render:function(e,t){return Ro(),jo("svg",Dw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V7H5zm3.338-3.113Q6.725 14.776 6 13q.725-1.775 2.338-2.887T12 9t3.663 1.113T18 13q-.725 1.775-2.337 2.888T12 17t-3.662-1.112m2.6-1.826Q10.5 13.626 10.5 13t.438-1.062T12 11.5t1.063.438T13.5 13t-.437 1.063T12 14.5t-1.062-.437m2.837.712Q14.5 14.05 14.5 13t-.725-1.775T12 10.5t-1.775.725T9.5 13t.725 1.775T12 15.5t1.775-.725"},null,-1)])])}}),Ow={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Fw=Lt({name:"material-symbols-file-download",render:function(e,t){return Ro(),jo("svg",Ow,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m12 16l-5-5l1.4-1.45l2.6 2.6V4h2v8.15l2.6-2.6L17 11zm-6 4q-.825 0-1.412-.587T4 18v-3h2v3h12v-3h2v3q0 .825-.587 1.413T18 20z"},null,-1)])])}}),Uw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const zw=Lt({name:"material-symbols-image",render:function(e,t){return Ro(),jo("svg",Uw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm1-4h12l-3.75-5l-3 4L9 13z"},null,-1)])])}}),Rw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Qw=Lt({name:"material-symbols-data-object",render:function(e,t){return Ro(),jo("svg",Rw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M14 20v-2h3q.425 0 .713-.288T18 17v-2q0-.95.55-1.725t1.45-1.1v-.35q-.9-.325-1.45-1.1T18 9V7q0-.425-.288-.712T17 6h-3V4h3q1.25 0 2.125.875T20 7v2q0 .425.288.713T21 10h1v4h-1q-.425 0-.712.288T20 15v2q0 1.25-.875 2.125T17 20zm-7 0q-1.25 0-2.125-.875T4 17v-2q0-.425-.288-.712T3 14H2v-4h1q.425 0 .713-.288T4 9V7q0-1.25.875-2.125T7 4h3v2H7q-.425 0-.712.288T6 7v2q0 .95-.55 1.725T4 11.825v.35q.9.325 1.45 1.1T6 15v2q0 .425.288.713T7 18h3v2z"},null,-1)])])}}),Hw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Vw=Lt({name:"material-symbols-save",render:function(e,t){return Ro(),jo("svg",Hw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M21 7v12q0 .825-.587 1.413T19 21H5q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h12zm-6.875 10.125Q15 16.25 15 15t-.875-2.125T12 12t-2.125.875T9 15t.875 2.125T12 18t2.125-.875M6 10h9V6H6z"},null,-1)])])}}),jw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Gw=Lt({name:"material-symbols-progress-activity",render:function(e,t){return Ro(),jo("svg",jw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M8.125 21.213q-1.825-.788-3.187-2.15t-2.15-3.188T2 11.988t.788-3.875t2.15-3.175t3.187-2.15T12 2q.425 0 .713.288T13 3t-.288.713T12 4Q8.675 4 6.337 6.338T4 12t2.338 5.663T12 20t5.663-2.337T20 12q0-.425.288-.712T21 11t.713.288T22 12q0 2.05-.788 3.875t-2.15 3.188t-3.175 2.15t-3.875.787t-3.887-.787"},null,-1)])])}}),Ww={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Kw=Lt({name:"material-symbols-expand-more",render:function(e,t){return Ro(),jo("svg",Ww,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m12 15.375l-6-6l1.4-1.4l4.6 4.6l4.6-4.6l1.4 1.4z"},null,-1)])])}}),qw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Yw=Lt({name:"material-symbols-print",render:function(e,t){return Ro(),jo("svg",qw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M18 7H6V3h12zm0 5.5q.425 0 .713-.288T19 11.5t-.288-.712T18 10.5t-.712.288T17 11.5t.288.713t.712.287M16 19v-4H8v4zm2 2H6v-4H2v-6q0-1.275.875-2.137T5 8h14q1.275 0 2.138.863T22 11v6h-4z"},null,-1)])])}}),Xw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Zw=Lt({name:"material-symbols-help",render:function(e,t){return Ro(),jo("svg",Xw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M12.838 17.638q.362-.363.362-.888t-.362-.888t-.888-.362t-.887.363t-.363.887t.363.888t.887.362t.888-.363M11.05 14.15h1.85q0-.825.188-1.3t1.062-1.3q.65-.65 1.025-1.238T15.55 8.9q0-1.4-1.025-2.15T12.1 6q-1.425 0-2.312.75T8.55 8.55l1.65.65q.125-.45.563-.975T12.1 7.7q.8 0 1.2.438t.4.962q0 .5-.3.938t-.75.812q-1.1.975-1.35 1.475t-.25 1.825M12 22q-2.075 0-3.9-.787t-3.175-2.138T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22"},null,-1)])])}}),Jw={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const $w=Lt({name:"material-symbols-settings",render:function(e,t){return Ro(),jo("svg",Jw,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m9.25 22l-.4-3.2q-.325-.125-.612-.3t-.563-.375L4.7 19.375l-2.75-4.75l2.575-1.95Q4.5 12.5 4.5 12.338v-.675q0-.163.025-.338L1.95 9.375l2.75-4.75l2.975 1.25q.275-.2.575-.375t.6-.3l.4-3.2h5.5l.4 3.2q.325.125.613.3t.562.375l2.975-1.25l2.75 4.75l-2.575 1.95q.025.175.025.338v.674q0 .163-.05.338l2.575 1.95l-2.75 4.75l-2.95-1.25q-.275.2-.575.375t-.6.3l-.4 3.2zm2.8-6.5q1.45 0 2.475-1.025T15.55 12t-1.025-2.475T12.05 8.5q-1.475 0-2.488 1.025T8.55 12t1.013 2.475T12.05 15.5"},null,-1)])])}}),ex={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const tx=Lt({name:"material-symbols-undo",render:function(e,t){return Ro(),jo("svg",ex,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M7 19v-2h7.1q1.575 0 2.738-1T18 13.5T16.838 11T14.1 10H7.8l2.6 2.6L9 14L4 9l5-5l1.4 1.4L7.8 8h6.3q2.425 0 4.163 1.575T20 13.5t-1.737 3.925T14.1 19z"},null,-1)])])}}),rx={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const nx=Lt({name:"material-symbols-redo",render:function(e,t){return Ro(),jo("svg",rx,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M9.9 19q-2.425 0-4.163-1.575T4 13.5t1.738-3.925T9.9 8h6.3l-2.6-2.6L15 4l5 5l-5 5l-1.4-1.4l2.6-2.6H9.9q-1.575 0-2.738 1T6 13.5T7.163 16T9.9 17H17v2z"},null,-1)])])}}),ix={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const ox=Lt({name:"material-symbols-content-copy",render:function(e,t){return Ro(),jo("svg",ix,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M9 18q-.825 0-1.412-.587T7 16V4q0-.825.588-1.412T9 2h9q.825 0 1.413.588T20 4v12q0 .825-.587 1.413T18 18zm-4 4q-.825 0-1.412-.587T3 20V6h2v14h11v2z"},null,-1)])])}}),ax={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const sx=Lt({name:"material-symbols-content-paste",render:function(e,t){return Ro(),jo("svg",ax,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h4.175q.275-.875 1.075-1.437T12 1q1 0 1.788.563T14.85 3H19q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V5h-2v3H7V5H5zm7.713-14.288Q13 4.425 13 4t-.288-.712T12 3t-.712.288T11 4t.288.713T12 5t.713-.288"},null,-1)])])}}),lx={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const ux=Lt({name:"material-symbols-lock",render:function(e,t){return Ro(),jo("svg",lx,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M6 22q-.825 0-1.412-.587T4 20V10q0-.825.588-1.412T6 8h1V6q0-2.075 1.463-3.537T12 1t3.538 1.463T17 6v2h1q.825 0 1.413.588T20 10v10q0 .825-.587 1.413T18 22zm7.413-5.587Q14 15.825 14 15t-.587-1.412T12 13t-1.412.588T10 15t.588 1.413T12 17t1.413-.587M9 8h6V6q0-1.25-.875-2.125T12 3t-2.125.875T9 6z"},null,-1)])])}}),cx={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Ax=Lt({name:"material-symbols-delete",render:function(e,t){return Ro(),jo("svg",cx,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M7 21q-.825 0-1.412-.587T5 19V6H4V4h5V3h6v1h5v2h-1v13q0 .825-.587 1.413T17 21zm2-4h2V8H9zm4 0h2V8h-2z"},null,-1)])])}}),dx={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const hx=Lt({name:"material-symbols-zoom-in",render:function(e,t){return Ro(),jo("svg",dx,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m19.6 21l-6.3-6.3q-.75.6-1.725.95T9.5 16q-2.725 0-4.612-1.888T3 9.5t1.888-4.612T9.5 3t4.613 1.888T16 9.5q0 1.1-.35 2.075T14.7 13.3l6.3 6.3zM9.5 14q1.875 0 3.188-1.312T14 9.5t-1.312-3.187T9.5 5T6.313 6.313T5 9.5t1.313 3.188T9.5 14m-1-1.5v-2h-2v-2h2v-2h2v2h2v2h-2v2z"},null,-1)])])}}),px={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const fx=Lt({name:"material-symbols-zoom-out",render:function(e,t){return Ro(),jo("svg",px,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m19.6 21l-6.3-6.3q-.75.6-1.725.95T9.5 16q-2.725 0-4.612-1.888T3 9.5t1.888-4.612T9.5 3t4.613 1.888T16 9.5q0 1.1-.35 2.075T14.7 13.3l6.3 6.3zM9.5 14q1.875 0 3.188-1.312T14 9.5t-1.312-3.187T9.5 5T6.313 6.313T5 9.5t1.313 3.188T9.5 14M7 10.5v-2h5v2z"},null,-1)])])}}),gx="print-designer-print-mode",vx="print-designer-preferred-print-mode",mx="print-designer-silent-print",yx="print-designer-export-image-merged",bx="print-designer-print-quality",xx="print-designer-local-settings",_x="print-designer-remote-settings",Cx="print-designer-local-print-options",Sx="print-designer-remote-print-options",Bx="print-designer-remote-auth-token",kx="print-designer-remote-selected-client-id",Ex={wsAddress:"ws://localhost:1122/ws",secretKey:""},Ix={wsAddress:"ws://localhost:8080/ws/request",apiBaseUrl:"http://localhost:8080/api/login",username:"",password:""},Tx={printer:"",jobName:"",copies:1,intervalMs:0,pageRange:"",pageSet:"",scale:"fit",orientation:"portrait",colorMode:"color",sidesMode:"simplex",paperSize:"",trayBin:""},Px=(e,t)=>{const r=localStorage.getItem(e);if(!r)return t;try{return{...t,...JSON.parse(r)}}catch{return t}},Mx=(e,t)=>{localStorage.setItem(e,JSON.stringify(t))},Lx=e=>{const t=(e=>e.trim())(e);return t?/^wss?:\/\//i.test(t)?t:`ws://${t.replace(/^\/+/,"")}`:"ws://"},Dx=(e,t,r)=>{if(!r)return e;try{const n=new URL(e);return n.searchParams.set(t,r),n.toString()}catch{const n=e.includes("?")?"&":"?";return`${e}${n}${encodeURIComponent(t)}=${encodeURIComponent(r)}`}};let Nx=null;const Ox=()=>{const e=Ft(localStorage.getItem(vx)||localStorage.getItem(gx)||"browser"),t=Ft("true"===localStorage.getItem(mx)),r=Ft("false"!==localStorage.getItem(yx)),n=localStorage.getItem(bx),i=Ft(n&&["fast","normal","high","ultra"].includes(n)?n:"normal"),o=_t(Px(xx,Ex));if(!o.wsAddress){const e=o;if(e.host||e.port||e.path){const t=e.host||"localhost",r=e.port?`:${e.port}`:"",n=e.path||"/ws",i=e.protocol||"ws";o.wsAddress=`${i}://${t}${r}${n}`}}const a=_t(Px(_x,Ix));if(!a.wsAddress){const e=a;if(e.host||e.wsPort||e.wsPath){const t=e.host||"localhost",r=e.wsPort?`:${e.wsPort}`:"",n=e.wsPath||"/ws/request";a.wsAddress=`${t}${r}${n}`}}const s=Ft("disconnected"),l=Ft("disconnected"),u=Ft(""),c=Ft(""),A=_t(Px(Cx,Tx)),d=_t(Px(Sx,Tx)),h=Ft(localStorage.getItem(Bx)||""),p=Ft(localStorage.getItem(kx)||""),f=Ft([]),g=Ft([]),v=Ft([]),m=_t({}),y=Ft(null),b=Ft(null),w=[],x=[];let _=null,C=null;const S=Ft(0),B=Ft(0),k=Ft(null),E=Ft(null),I=Ft(!1),T=Ft(!1),P=Ft(null),M=Ft(null),L=Ta(()=>{const e=Lx(o.wsAddress);return Dx(e,"key",o.secretKey.trim())}),D=Ta(()=>{const e=Lx(a.wsAddress);return Dx(e,"token",h.value.trim())});an(e,e=>{localStorage.setItem(gx,e),"browser"===e?localStorage.removeItem(vx):localStorage.setItem(vx,e)}),an(t,e=>{localStorage.setItem(mx,String(e))}),an(r,e=>{localStorage.setItem(yx,String(e))}),an(i,e=>{localStorage.setItem(bx,e.toString())}),an(o,e=>{Mx(xx,e),s.value="disconnected",u.value=""},{deep:!0}),an(a,e=>{Mx(_x,e),l.value="disconnected",c.value=""},{deep:!0}),an(A,e=>{Mx(Cx,e)},{deep:!0}),an(d,e=>{Mx(Sx,e)},{deep:!0}),an(h,e=>{localStorage.setItem(Bx,e)}),an(p,e=>{localStorage.setItem(kx,e)});an([s,l],()=>{(()=>{const t="connected"===s.value,r="connected"===l.value;("local"!==e.value||t)&&("remote"!==e.value||r)&&(t||r)||(e.value="browser")})(),(()=>{const t=localStorage.getItem(vx);t&&"browser"!==t&&"browser"===e.value&&("local"===t&&"connected"===s.value&&(e.value="local"),"remote"===t&&"connected"===l.value&&(e.value="remote"))})()},{immediate:!0});const N=(e,t)=>{e.slice().forEach(r=>{r.match(t)&&(window.clearTimeout(r.timeoutId),e.splice(e.indexOf(r),1),r.resolve(t))})},O=(e,t)=>{e.slice().forEach(r=>{window.clearTimeout(r.timeoutId),e.splice(e.indexOf(r),1),r.reject(t)})},F=()=>{k.value&&(window.clearTimeout(k.value),k.value=null),S.value=0},U=()=>{E.value&&(window.clearTimeout(E.value),E.value=null),B.value=0},z=()=>{if(!I.value&&!k.value){if(S.value>=10)return s.value="error",u.value="Local connection failed",void(S.value=0);S.value+=1,s.value="connecting",k.value=window.setTimeout(()=>{k.value=null,H()},3e3)}},R=()=>{if(!T.value&&!E.value){if(B.value>=10)return l.value="error",c.value="Remote connection failed",void(B.value=0);B.value+=1,l.value="connecting",E.value=window.setTimeout(()=>{E.value=null,V()},3e3)}},Q=(e,t,r,n,i=5e3)=>new Promise((o,a)=>{const s=e.value;if(!s||s.readyState!==WebSocket.OPEN)return void a(new Error("WebSocket not connected"));const l=window.setTimeout(()=>{const e=t.findIndex(e=>e.resolve===o);e>=0&&t.splice(e,1),a(new Error("WebSocket timeout"))},i);t.push({match:n,resolve:o,reject:a,timeoutId:l}),s.send(JSON.stringify(r))}),H=async()=>{if(_)return _;if(y.value&&y.value.readyState===WebSocket.OPEN)return s.value="connected",Promise.resolve();I.value=!1,s.value="connecting",u.value="";const e=new WebSocket(L.value);return y.value=e,(e=>{e.onmessage=e=>{try{const t=JSON.parse(e.data);"printer_list"===(null==t?void 0:t.type)&&(f.value=Array.isArray(t.data)?t.data:[]),"printer_caps"===(null==t?void 0:t.type)&&t.printer&&(m[t.printer]=(null==t?void 0:t.data)||{}),N(w,t)}catch(t){O(w,t)}},e.onclose=()=>{y.value=null,"error"!==s.value&&(s.value="disconnected"),O(w,new Error("WebSocket closed")),z()},e.onerror=()=>{s.value="error",u.value="Local connection failed",O(w,new Error("WebSocket error")),z()}})(e),_=new Promise((t,r)=>{e.addEventListener("open",()=>{s.value="connected",F(),_=null,e.send(JSON.stringify({type:"get_printers"})),t()}),e.addEventListener("error",()=>{s.value="error",u.value="Local connection failed",_=null,z(),r(new Error("WebSocket error"))})}),_},V=async()=>C||(b.value&&b.value.readyState===WebSocket.OPEN?(l.value="connected",Promise.resolve()):(T.value=!1,l.value="connecting",c.value="",C=(async()=>{try{if(!a.apiBaseUrl||!a.username||!a.password)return l.value="error",void(c.value="Missing remote connection fields");const e=await fetch(a.apiBaseUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:a.username,password:a.password})});if(!e.ok){const t=await e.text();throw new Error(t||`HTTP ${e.status}`)}const t=await e.json();if(!(null==t?void 0:t.token))throw new Error("Missing auth token");h.value=t.token;const r=new WebSocket(D.value);b.value=r,(e=>{e.onmessage=e=>{try{const t=JSON.parse(e.data);if("clients_list"===(null==t?void 0:t.cmd))if(v.value=Array.isArray(t.clients)?t.clients:[],v.value.length>0){if(!v.value.some(e=>e.client_id===p.value)){const e=v.value.find(e=>e.online)||v.value[0];p.value=(null==e?void 0:e.client_id)||""}}else p.value="";if("printers_list"===(null==t?void 0:t.cmd)){const e=Array.isArray(t.printers)?t.printers:[];g.value=e.map(e=>{var t,r;return!e.paper_spec&&(null==(r=null==(t=e.capabilities)?void 0:t.config)?void 0:r.paperSize)?{...e,paper_spec:e.capabilities.config.paperSize}:e})}N(x,t)}catch(t){O(x,t)}},e.onclose=()=>{b.value=null,"error"!==l.value&&(l.value="disconnected"),O(x,new Error("WebSocket closed")),R()},e.onerror=()=>{l.value="error",c.value="Remote connection failed",O(x,new Error("WebSocket error")),R()}})(r),await new Promise((e,t)=>{r.addEventListener("open",()=>{l.value="connected",U(),r.send(JSON.stringify({cmd:"get_clients"})),e()}),r.addEventListener("error",()=>{l.value="error",c.value="Remote connection failed",R(),t(new Error("WebSocket error"))})})}catch(e){l.value="error",c.value=e.message||"Remote connection failed",R()}finally{C=null}})(),C)),j=async()=>{await H();const e=await Q(y,w,{type:"get_printers"},e=>"printer_list"===(null==e?void 0:e.type));return f.value=Array.isArray(e.data)?e.data:[],f.value},G=async()=>{await V();const e=await Q(b,x,{cmd:"get_clients"},e=>"clients_list"===(null==e?void 0:e.cmd));if(v.value=Array.isArray(e.clients)?e.clients:[],v.value.length>0){if(!v.value.some(e=>e.client_id===p.value)){const e=v.value.find(e=>e.online)||v.value[0];p.value=(null==e?void 0:e.client_id)||""}}else p.value="";return v.value};return an(l,e=>{if("connected"===e)return G().catch(()=>{}),void(M.value||(M.value=window.setInterval(()=>{"connected"===l.value&&G().catch(()=>{})},3e4)));M.value&&(window.clearInterval(M.value),M.value=null)},{immediate:!0}),an(s,e=>{if("connected"===e)return j().catch(()=>{}),void(P.value||(P.value=window.setInterval(()=>{"connected"===s.value&&j().catch(()=>{})},3e4)));P.value&&(window.clearInterval(P.value),P.value=null)},{immediate:!0}),{printMode:e,silentPrint:t,exportImageMerged:r,printQuality:i,localSettings:o,remoteSettings:a,localStatus:s,remoteStatus:l,localStatusMessage:u,remoteStatusMessage:c,localRetryCount:S,remoteRetryCount:B,localPrintOptions:A,remotePrintOptions:d,localWsUrl:L,remoteWsUrl:D,remoteAuthToken:h,localPrinters:f,remotePrinters:g,remoteClients:v,remoteSelectedClientId:p,localPrinterCaps:m,fetchLocalPrinters:j,fetchRemoteClients:G,fetchRemotePrinters:async e=>{const t=e||p.value;if(!t)return g.value=[],g.value;await V();const r=await Q(b,x,{cmd:"get_printers",client_id:t},e=>"printers_list"===(null==e?void 0:e.cmd)),n=Array.isArray(r.printers)?r.printers:[];return g.value=n.map(e=>{var t,r;return!e.paper_spec&&(null==(r=null==(t=e.capabilities)?void 0:t.config)?void 0:r.paperSize)?{...e,paper_spec:e.capabilities.config.paperSize}:e}),g.value},fetchLocalPrinterCaps:async e=>{if(!e)return;if(m[e])return m[e];await H();const t=await Q(y,w,{type:"get_printer_caps",printer:e},e=>"printer_caps"===(null==e?void 0:e.type));return m[e]=(null==t?void 0:t.data)||{},m[e]},submitRemoteTask:async(e,t=3e4)=>(await V(),await Q(b,x,e,e=>"task_result"===(null==e?void 0:e.cmd),t)),cancelLocalRetry:()=>{I.value=!0,F(),y.value&&y.value.close(),y.value=null,s.value="disconnected",u.value=""},cancelRemoteRetry:()=>{T.value=!0,U(),b.value&&b.value.close(),b.value=null,l.value="disconnected",c.value=""},connectLocal:H,disconnectLocal:()=>{I.value=!0,F(),y.value&&y.value.close(),y.value=null,s.value="disconnected",u.value="",e.value="browser"},connectRemote:V,disconnectRemote:()=>{T.value=!0,U(),b.value&&b.value.close(),b.value=null,l.value="disconnected",c.value="",e.value="browser"}}},Fx=()=>(Nx||(Nx=Ox()),Nx),Ux={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const zx=Lt({name:"material-symbols-rotate-right",render:function(e,t){return Ro(),jo("svg",Ux,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M13.05 22v-2.05q.85-.125 1.663-.45t1.537-.85l1.4 1.45q-1.05.8-2.2 1.287t-2.4.613m-2 0q-3.45-.45-5.725-2.988T3.05 13.05q0-1.875.713-3.512t1.925-2.85t2.85-1.925t3.512-.713h.15L10.65 2.5l1.4-1.45l4 4l-4 4l-1.4-1.4l1.6-1.6h-.2q-2.925 0-4.962 2.038T5.05 13.05q0 2.6 1.7 4.563t4.3 2.337zm8.05-3.35l-1.45-1.4q.525-.725.85-1.537t.45-1.663H21q-.125 1.25-.612 2.4t-1.288 2.2m1.9-6.6h-2.05q-.125-.85-.45-1.662t-.85-1.538l1.45-1.4q.8.975 1.275 2.15T21 12.05"},null,-1)])])}}),Rx=["data-element-id","data-read-only","data-repeat-per-page"],Qx=["title"],Hx={key:1,"data-print-exclude":"true",class:"absolute -top-3 -right-3 bg-red-500 rounded-full p-1 shadow-md z-50"},Vx=["title"],jx=Nn({__name:"ElementWrapper",props:{element:{},isSelected:{type:Boolean},zoom:{},pageIndex:{},readOnly:{type:Boolean}},setup(e){const t=e,{t:r}=dh(),n=Wb(),i=Ft(null),o=nn("designer-root",Ft(null)),a=Ta(()=>{const e=!t.isSelected&&n.selectedElementIds.includes(t.element.id),r=!t.readOnly&&(t.isSelected||e),i={left:`${t.element.x}px`,top:`${t.element.y}px`,width:`${t.element.width}px`,height:`${t.element.height}px`,zIndex:t.element.style.zIndex||1,transform:`rotate(${t.element.style.rotate||0}deg)`,...t.element.style},o=[Nm.TABLE,Nm.CUSTOM_TABLE,Nm.LINE,Nm.RECT,Nm.CIRCLE];return o.includes(t.element.type)&&(delete i.backgroundColor,delete i.border,delete i.borderWidth,delete i.borderStyle,delete i.borderColor,delete i.borderRadius),r?i.border=t.element.locked?"2px solid #ef4444":"2px solid var(--brand-500)":!o.includes(t.element.type)&&t.element.style.borderStyle&&"none"!==t.element.style.borderStyle?(i.borderStyle=t.element.style.borderStyle,i.borderWidth=`${t.element.style.borderWidth||1}px`,i.borderColor=t.element.style.borderColor||"#000",delete i.border):!o.includes(t.element.type)&&t.element.style.border?i.border=t.element.style.border:i.border="1px dashed transparent",i}),s=Ta(()=>{if(!n.showVariableNames)return!1;const e=t.element;return e.type===Nm.TEXT||e.type===Nm.LONG_TEXT?!e.variable&&!e.content:e.type===Nm.TABLE?!(e.variable||e.data&&0!==e.data.length):e.type===Nm.CHART?!(e.chartDataVariable||e.chartData&&0!==e.chartData.length):e.type===Nm.BARCODE||e.type===Nm.QRCODE?!e.variable&&!e.content:e.type===Nm.IMAGE&&(!e.variable&&!e.src)});let l=0,u=0,c=0,A=0,d=!1,h=!1;const p=e=>{if(t.readOnly)return;if(0!==e.button)return;if(e.target.closest(".resize-handle")||e.target.closest(".rotate-handle"))return;e.ctrlKey||e.metaKey?n.selectElement(t.element.id,!0):n.selectedElementIds.includes(t.element.id)||n.selectElement(t.element.id,!1),n.selectedElementIds.includes(t.element.id)&&n.bringElementsToFront(n.selectedElementIds),t.element.locked||(d=!0,n.setDragging(!0),h=!1,l=e.clientX,u=e.clientY,c=t.element.x,A=t.element.y,window.addEventListener("mousemove",f),window.addEventListener("mouseup",g))},f=e=>{if(!d)return;const r=(e.clientX-l)/t.zoom,i=(e.clientY-u)/t.zoom;(Math.abs(r)>2||Math.abs(i)>2)&&(h||(n.snapshot(),h=!0),n.selectedElementIds.length>1&&n.selectedElementIds.includes(t.element.id)?n.moveSelectedElements(t.element.id,c+r,A+i,!1,!1):n.moveElementWithSnap(t.element.id,c+r,A+i,!1,!1))},g=e=>{if(d&&h){const i=(null==(r=null==o?void 0:o.value)?void 0:r.getRootNode())||document,a=i.elementsFromPoint(e.clientX,e.clientY).find(e=>e.classList.contains("print-page"));if(a){const e=a.id,r=parseInt(e.replace("page-",""),10);if(isNaN(r)||r===t.pageIndex)n.selectedElementIds.length>1&&n.selectedElementIds.includes(t.element.id)?n.moveSelectedElements(t.element.id,t.element.x,t.element.y,!1,!0):n.moveElementWithSnap(t.element.id,t.element.x,t.element.y,!1,!0);else{const e=i.getElementById(`page-${t.pageIndex}`);if(e){const i=e.getBoundingClientRect(),o=a.getBoundingClientRect(),s=(i.left-o.left)/t.zoom,l=(i.top-o.top)/t.zoom;(n.selectedElementIds.length>1&&n.selectedElementIds.includes(t.element.id)?[...n.selectedElementIds]:[t.element.id]).forEach(e=>{const i=n.pages[t.pageIndex].elements.find(t=>t.id===e);i&&n.moveElementToPage(e,r,i.x+s,i.y+l)})}}}}var r;if(d&&!h){e.ctrlKey||e.metaKey||n.selectElement(t.element.id,!1)}d=!1,n.setDragging(!1),window.removeEventListener("mousemove",f),window.removeEventListener("mouseup",g),n.setHighlightedGuide(null),n.setHighlightedEdge(null)},v=Ft(!1),m=Ft(!1),y=Ft(0),b=e=>{if(e.stopPropagation(),e.preventDefault(),!i.value)return;v.value=!0,m.value=!1,h=!1,y.value=t.element.style.rotate||0;const r=i.value.getBoundingClientRect(),o=r.left+r.width/2,a=r.top+r.height/2,s=Math.atan2(e.clientY-a,e.clientX-o),l=t.element.style.rotate||0,u=e=>{const r=(Math.atan2(e.clientY-a,e.clientX-o)-s)*(180/Math.PI);let i=l+r;if(i%=360,i<0&&(i+=360),m.value=!1,e.shiftKey)i=45*Math.round(i/45),m.value=!0;else if(!e.ctrlKey){const e=5,t=[0,90,180,270,360];for(const r of t)if(Math.abs(i-r)<=e){i=360===r?0:r,m.value=!0;break}}i=Math.round(i),360===i&&(i=0),y.value=i,h||(n.snapshot(),h=!0),n.updateElement(t.element.id,{style:{...t.element.style,rotate:i}},!1)},c=()=>{v.value=!1,window.removeEventListener("mousemove",u),window.removeEventListener("mouseup",c)};window.addEventListener("mousemove",u),window.addEventListener("mouseup",c)},w=e=>{e.stopPropagation(),e.preventDefault();const r=e.clientX,i=e.clientY,o=t.element.width,a=t.element.height;h=!1;const s=e=>{const s=(e.clientX-r)/t.zoom,l=(e.clientY-i)/t.zoom;h||(n.snapshot(),h=!0);let u=o+s,c=a+l;if(e.shiftKey){const e=o/a;Math.abs(u/o-1)>Math.abs(c/a-1)?c=u/e:u=c*e}n.updateElement(t.element.id,{width:Math.max(10,u),height:Math.max(10,c)},!1)},l=()=>{window.removeEventListener("mousemove",s),window.removeEventListener("mouseup",l)};window.addEventListener("mousemove",s),window.addEventListener("mouseup",l)};return(t,o)=>(Ro(),jo("div",{ref_key:"elementRef",ref:i,class:X(["element-wrapper absolute select-none",[e.readOnly?"cursor-not-allowed":"group theme-outline-hover",!e.readOnly&&e.element.locked?"cursor-not-allowed":"",e.readOnly||e.element.locked?"":"cursor-move"]]),"data-element-id":e.element.id,"data-read-only":e.readOnly?"true":"false","data-repeat-per-page":!0===e.element.repeatPerPage?"true":null,style:G(a.value),onMousedown:p},[fi(t.$slots,"default"),s.value?(Ro(),jo("div",{key:0,"data-print-exclude":"true",class:"absolute -top-3 -left-3 bg-yellow-500 rounded-full p-1 shadow-md z-50 flex items-center justify-center",title:Qt(r)("preview.emptyDataWarning")},[...o[0]||(o[0]=[Xo("svg",{class:"w-3 h-3 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})],-1)])],8,Qx)):na("",!0),!e.readOnly&&e.element.locked&&e.isSelected?(Ro(),jo("div",Hx,[Zo(Qt(ux),{class:"w-3 h-3 text-white"})])):na("",!0),!e.readOnly&&e.isSelected&&Qt(n).selectedElementIds.length<=1&&!e.element.locked?(Ro(),jo(Do,{key:2},[Xo("div",{"data-print-exclude":"true",class:"resize-handle absolute bottom-0 right-0 w-3 h-3 bg-blue-600 cursor-se-resize z-50",onMousedown:w},null,32),Xo("div",{"data-print-exclude":"true",class:"rotate-handle absolute -top-4 -right-5 w-5 h-5 flex items-center justify-center cursor-grab z-50 theme-text theme-text-hover",title:Qt(r)("common.rotate"),onMousedown:b},[Zo(Qt(zx),{class:"w-3 h-3"}),v.value?(Ro(),jo("div",{key:0,class:X(["absolute top-6 left-1/2 transform -translate-x-1/2 text-xs px-2 py-1 rounded whitespace-nowrap z-50 pointer-events-none font-sans font-normal not-italic leading-none tracking-normal normal-case",m.value?"theme-bg-strong text-white":"theme-bg-soft text-white"])},oe(y.value)+"° ",3)):na("",!0)],40,Vx)],64)):na("",!0)],46,Rx))}}),Gx=["data-auto-height"],Wx={sections:[{title:"properties.section.content",tab:"properties",fields:[{label:"properties.label.content",type:"textarea",target:"element",key:"content",placeholder:"properties.label.textContentPlaceholder"}]},{title:"properties.section.dataBehavior",tab:"properties",fields:[{label:"properties.label.autoHeight",type:"switch",target:"style",key:"autoHeight"}]},{title:"properties.section.typography",tab:"style",fields:[{label:"properties.label.writingMode",type:"select",target:"style",key:"writingMode",options:[{label:"properties.option.horizontal",value:"horizontal-tb"},{label:"properties.option.vertical",value:"vertical-rl"}]},{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:8,max:96,step:1},{label:"properties.label.color",type:"color",target:"style",key:"color"},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.option.default",value:""},{label:"properties.option.left",value:"left"},{label:"properties.option.center",value:"center"},{label:"properties.option.right",value:"right"}]},{label:"properties.label.verticalAlign",type:"select",target:"style",key:"verticalAlign",options:[{label:"properties.option.default",value:""},{label:"properties.option.top",value:"top"},{label:"properties.option.middle",value:"middle"},{label:"properties.option.bottom",value:"bottom"}]},{label:"properties.label.fontFamily",type:"select",target:"style",key:"fontFamily",options:[{label:"properties.option.default",value:""},{label:"properties.option.arial",value:"Arial, sans-serif"},{label:"properties.option.timesNewRoman",value:'"Times New Roman", serif'},{label:"properties.option.courierNew",value:'"Courier New", monospace'},{label:"properties.option.simSun",value:"SimSun, serif"},{label:"properties.option.simHei",value:"SimHei, sans-serif"}]},{label:"properties.label.fontWeight",type:"select",target:"style",key:"fontWeight",options:[{label:"properties.option.default",value:""},{label:"properties.option.normal",value:"400"},{label:"properties.option.medium",value:"500"},{label:"properties.option.bold",value:"700"}]}]},{title:"properties.section.border",tab:"style",fields:[{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:20,step:1},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"}]}]},Kx=Nn({__name:"TextElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=Ft(!1),i=Ft(""),o=Ft(null),a=Ta(()=>{const e=t.element.variable||"",n=r.variables||{};if(r.isExporting&&e){const t=Lb(e);if(t){const e=Ub(n,t);if(null!=e)return String(e);const i=Ub(r.testData,t);if(null!=i)return String(i)}}if(!r.isExporting&&t.element.variable){if(r.showVariableNames){const e=Lb(t.element.variable);return e?`{#${e}}`:t.element.variable||t.element.content}const e=Lb(t.element.variable);if(e){const t=Ub(r.testData,e);if(null!=t)return String(t)}}if(t.element.variable){const e=Lb(t.element.variable);return e?`@${e}`:t.element.content}return t.element.content}),s=Ta(()=>r.isTemplateEditable&&!t.element.locked),l=Ta(()=>{const e=t.element.style.verticalAlign;return"middle"===e?"center":"bottom"===e?"flex-end":"flex-start"}),u=async e=>{var a,l,u;if(!s.value)return;const c=null==(a=e.currentTarget)?void 0:a.closest(".element-wrapper");"true"!==(null==c?void 0:c.getAttribute("data-read-only"))&&(r.selectedElementId===t.element.id||r.selectedElementIds.includes(t.element.id))&&(e.stopPropagation(),i.value=t.element.content||"",n.value=!0,await br(),null==(l=o.value)||l.focus(),null==(u=o.value)||u.select())},c=()=>{n.value&&(n.value=!1,i.value!==(t.element.content||"")&&r.updateElement(t.element.id,{content:i.value}))},A=e=>{if("Escape"===e.key)return e.preventDefault(),void(n.value&&(n.value=!1,i.value=t.element.content||""));"Enter"!==e.key||e.shiftKey||(e.preventDefault(),c())};return an(()=>r.selectedElementId,e=>{e!==t.element.id&&c()}),(t,r)=>(Ro(),jo("div",{class:"w-full h-full overflow-hidden",onDblclick:u,"data-auto-height":e.element.style.autoHeight?"true":void 0,style:G({display:"flex",flexDirection:"column",justifyContent:l.value,fontSize:`${e.element.style.fontSize}px`,fontFamily:e.element.style.fontFamily,fontWeight:e.element.style.fontWeight,fontStyle:e.element.style.fontStyle,textAlign:e.element.style.textAlign,textDecoration:e.element.style.textDecoration,color:e.element.style.color,padding:`${e.element.style.padding||0}px`,writingMode:e.element.style.writingMode||"horizontal-tb",whiteSpace:"pre-wrap"})},[n.value?en((Ro(),jo("textarea",{key:0,ref_key:"editorRef",ref:o,"onUpdate:modelValue":r[0]||(r[0]=e=>i.value=e),class:"w-full h-full resize-none bg-transparent outline-none",style:G({fontSize:`${e.element.style.fontSize}px`,fontFamily:e.element.style.fontFamily,fontWeight:e.element.style.fontWeight,fontStyle:e.element.style.fontStyle,textAlign:e.element.style.textAlign,color:e.element.style.color,padding:`${e.element.style.padding||0}px`}),onMousedown:r[1]||(r[1]=zs(()=>{},["stop"])),onClick:r[2]||(r[2]=zs(()=>{},["stop"])),onBlur:c,onKeydown:A},null,36)),[[Ms,i.value]]):(Ro(),jo(Do,{key:1},[ta(oe(a.value),1)],64))],44,Gx))}}),qx=["src"],Yx={key:1,class:"text-gray-400 text-xs"},Xx={sections:[{title:"properties.section.imageSource",tab:"properties",fields:[{label:"properties.label.imageSource",type:"image",target:"element",key:"content"}]},{title:"properties.section.border",tab:"style",fields:[{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:20,step:1},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"}]}]},Zx=Nn({__name:"ImageElement",props:{element:{}},setup(e){const t=e,{t:r}=dh(),n=Wb(),i=Ft(null),o=Ta(()=>{if(t.element.variable){const e=Lb(t.element.variable);if(!n.isExporting&&n.showVariableNames)return t.element.variable;if(n.isExporting){const t=n.variables||{};if(e){const r=Ub(t,e);if(null!=r)return String(r)}}if(e){const t=Ub(n.testData,e);if(null!=t)return String(t)}}return t.element.content}),a=e=>{var r,o;if(!n.isTemplateEditable||t.element.locked||n.selectedElementId!==t.element.id&&!n.selectedElementIds.includes(t.element.id))return;const a=null==(r=e.currentTarget)?void 0:r.closest(".element-wrapper");"true"!==(null==a?void 0:a.getAttribute("data-read-only"))&&(e.stopPropagation(),null==(o=i.value)||o.click())},s=e=>{var i;const o=e.target,a=null==(i=o.files)?void 0:i[0];if(!a)return;if(a.size>2097152)return Qm.error(r("properties.image.sizeError")),void(o.value="");const s=new FileReader;s.onload=e=>{var r;const i=null==(r=e.target)?void 0:r.result;i&&n.updateElement(t.element.id,{content:i})},s.onerror=()=>{Qm.error(r("properties.image.readError"))},s.readAsDataURL(a),o.value=""};return(e,t)=>(Ro(),jo("div",{class:"w-full h-full overflow-hidden flex items-center justify-center",onDblclick:a},[o.value?(Ro(),jo("img",{key:0,src:o.value,class:"w-full h-full object-contain pointer-events-none",alt:"Element"},null,8,qx)):(Ro(),jo("span",Yx,"No Image")),Xo("input",{ref_key:"fileInputRef",ref:i,type:"file",accept:"image/*",class:"hidden",onChange:s},null,544)],32))}}),Jx=["data-tfoot-repeat","data-auto-paginate","data-custom-script"],$x=["onDblclick"],e_=["onMousedown"],t_={key:0},r_={class:"p-4 text-center text-sm text-gray-400 dark:text-gray-500 select-none"},n_=["rowspan","colspan","data-field","onMousedown","onMouseover"],i_={key:0},o_=["colspan"],a_={key:2,class:"h-full border-none bg-transparent"},s_=["colspan"],l_={key:0},u_=["rowspan","colspan","data-field","data-value","onMousedown","onMouseover","onDblclick"],c_=["data-tfoot-repeat","data-auto-paginate","data-custom-script"],A_={key:0},d_={class:"p-4 text-center text-sm text-gray-400 dark:text-gray-500 select-none"},h_=["onDblclick"],p_=["rowspan","colspan","data-field","onMousedown","onMouseover"],f_={key:0},g_=["rowspan","colspan","data-field","data-value","onMousedown","onMouseover","onDblclick"],v_={class:"text-sm font-semibold text-gray-700"},m_={class:"flex flex-col gap-1"},y_={class:"text-xs text-gray-500"},b_=["placeholder"],w_={class:"flex flex-col gap-1"},x_={class:"text-xs text-gray-500"},__={value:"",disabled:"",class:"text-gray-400"},C_=["value"],S_={class:"flex flex-col gap-1"},B_={class:"text-xs text-gray-500"},k_=["placeholder"],E_={class:"flex flex-col gap-1"},I_={class:"text-xs text-gray-500"},T_=["placeholder"],P_={class:"flex justify-end gap-2 mt-1"},M_={sections:[{title:"properties.section.fieldSelection",tab:"fieldSelection",fields:[{label:"properties.label.dataVariable",type:"field",target:"element",key:"variable",placeholder:"properties.label.selectField",filter:"array"},{label:"properties.label.footerDataVariable",type:"field",target:"element",key:"footerDataVariable",placeholder:"properties.label.selectField",filter:"array"},{label:"properties.label.customScriptVariable",type:"field",target:"element",key:"customScriptVariable",placeholder:"properties.label.selectField",filter:"text"},{label:"properties.label.columnPicker",type:"columnPicker",target:"element"},{label:"properties.label.columnAlias",type:"columnAlias",target:"element"}]},{title:"properties.section.dataBehavior",tab:"properties",fields:[{label:"properties.label.headerPosition",type:"select",target:"element",key:"headerPosition",options:[{label:"properties.option.headerTop",value:"top"},{label:"properties.option.headerLeft",value:"left"}]},{label:"properties.label.autoPaginate",type:"switch",target:"element",key:"autoPaginate"},{label:"properties.label.repeatFooter",type:"switch",target:"element",key:"tfootRepeat"},{label:"properties.label.showFooter",type:"switch",target:"element",key:"showFooter"},{label:"properties.label.footerData",type:"code",language:"json",target:"element",key:"footerData",placeholder:"properties.label.footerDataPlaceholder"},{label:"properties.label.customScript",type:"code",language:"javascript",target:"element",key:"customScript",placeholder:"properties.label.customScriptPlaceholder"}]},{title:"properties.section.layoutDimensions",tab:"style",fields:[{label:"properties.label.headerHeight",type:"number",target:"style",key:"headerHeight",min:20,max:200,step:1},{label:"properties.label.rowHeight",type:"number",target:"style",key:"rowHeight",min:20,max:200,step:1},{label:"properties.label.footerHeight",type:"number",target:"style",key:"footerHeight",min:20,max:200,step:1}]},{title:"properties.section.appearance",tab:"style",fields:[{label:"properties.label.backgroundColor",type:"color",target:"style",key:"backgroundColor"},{label:"properties.label.textColor",type:"color",target:"style",key:"color"},{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:8,max:72,step:1},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.align.left",value:"left"},{label:"properties.align.center",value:"center"},{label:"properties.align.right",value:"right"}]}]},{title:"properties.section.headerStyle",tab:"style",fields:[{label:"properties.label.background",type:"color",target:"style",key:"headerBackgroundColor"},{label:"properties.label.textColor",type:"color",target:"style",key:"headerColor"},{label:"properties.label.fontSize",type:"number",target:"style",key:"headerFontSize",min:8,max:72,step:1},{label:"properties.label.textAlign",type:"select",target:"style",key:"headerTextAlign",options:[{label:"properties.align.left",value:"left"},{label:"properties.align.center",value:"center"},{label:"properties.align.right",value:"right"}]}]},{title:"properties.section.footerStyle",tab:"style",fields:[{label:"properties.label.background",type:"color",target:"style",key:"footerBackgroundColor"},{label:"properties.label.textColor",type:"color",target:"style",key:"footerColor"},{label:"properties.label.fontSize",type:"number",target:"style",key:"footerFontSize",min:8,max:72,step:1},{label:"properties.label.textAlign",type:"select",target:"style",key:"footerTextAlign",options:[{label:"properties.align.left",value:"left"},{label:"properties.align.center",value:"center"},{label:"properties.align.right",value:"right"}]}]},{title:"properties.section.border",tab:"style",fields:[{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:20,step:1},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"}]}]},L_=Nn({__name:"TableElement",props:{element:{}},setup(e){const t=e,{t:r}=dh(),n=Wb(),i=nn("modal-container",Ft(null));function o(e,r,i="body"){var o;return(!n.tableSelection||n.tableSelection.elementId===t.element.id)&&((null==(o=n.tableSelection)?void 0:o.cells.some(t=>t.rowIndex===e&&t.colField===r&&(t.section||"body")===i))??!1)}const a=Ft(null),s=Ft(null),l=Ft({header:"",field:"",value:"",variable:""}),u=Ft({top:0,left:0}),c=Ft(null),A=async(e,r)=>{if(n.selectedElementId!==t.element.id||t.element.locked)return;const i=m.value.columns[r];if(i){if(a.value=r,s.value=null,l.value={header:i.header,field:i.field,value:"",variable:""},u.value={top:e.clientY+10,left:e.clientX+10},await br(),c.value){const e=c.value.getBoundingClientRect(),t=window.innerWidth,r=window.innerHeight;u.value.left+e.width>t&&(u.value.left=t-e.width-20),u.value.top+e.height>r&&(u.value.top=r-e.height-20)}setTimeout(()=>{window.addEventListener("click",h)},100)}},d=async(e,r,i)=>{if(n.selectedElementId!==t.element.id||t.element.locked)return;const o=m.value.footerData[r];if(!o)return;const A=o[i];let d="",p="";if(A&&"object"==typeof A&&(d=A.value||"",p=A.field||""),s.value={rowIndex:r,colField:i},a.value=null,l.value={header:"",field:i,value:d,variable:p},u.value={top:e.clientY+10,left:e.clientX+10},await br(),c.value){const e=c.value.getBoundingClientRect(),t=window.innerWidth,r=window.innerHeight;u.value.left+e.width>t&&(u.value.left=t-e.width-20),u.value.top+e.height>r&&(u.value.top=r-e.height-20)}setTimeout(()=>{window.addEventListener("click",h)},100)},h=e=>{c.value&&!c.value.contains(e.target)&&p()},p=()=>{a.value=null,s.value=null,window.removeEventListener("click",h)},f=()=>{if(null!==a.value){const e=t.element.columns?[...t.element.columns]:[];if(0===e.length&&m.value.columns.length>0){const e=JSON.parse(JSON.stringify(m.value.columns));return e[a.value]&&(e[a.value].header=l.value.header,e[a.value].field=l.value.field,n.updateElement(t.element.id,{columns:e})),void p()}a.value<e.length&&(e[a.value]={...e[a.value],header:l.value.header,field:l.value.field},n.updateElement(t.element.id,{columns:e}))}else if(s.value){const{rowIndex:e,colField:r}=s.value,i=t.element.footerData?JSON.parse(JSON.stringify(t.element.footerData)):[];if(!i[e])return;const o=i[e],a=o[r];a&&"object"==typeof a?(a.value=l.value.value,a.field=l.value.variable):o[r]={value:l.value.value,field:l.value.variable},n.updateElement(t.element.id,{footerData:i})}p()},g=Ft(!1),v=Ft(null);const m=Ta(()=>{let e=[],r=[],i=Array.isArray(t.element.footerData)?t.element.footerData:[];const o=n.testData||{},a=n.variables||{},s=(()=>{const e=Lb(t.element.variable||"");if(!e)return;let r=Ub(o,e);if(Array.isArray(r))return Dm(r);if(r&&"object"==typeof r)for(const t of Object.keys(r)){const e=r[t];if(Array.isArray(e)&&e.length>0)return Dm(e)}if(n.isExporting){if(r=Ub(a,e),Array.isArray(r))return Dm(r);if(r&&"object"==typeof r)for(const e of Object.keys(r)){const t=r[e];if(Array.isArray(t)&&t.length>0)return Dm(t)}}if(!r){const t=e.startsWith("variables.")?e.slice(10):e;if(t!==e){if(r=Ub(o,t),Array.isArray(r))return Dm(r);if(r&&"object"==typeof r)for(const e of Object.keys(r)){const t=r[e];if(Array.isArray(t)&&t.length>0)return Dm(t)}}}})();if(s?(r=s,e=Array.isArray(t.element.columns)&&t.element.columns.length>0?Dm(t.element.columns):function(e){if(!Array.isArray(e)||0===e.length)return[];const t=e[0];return t&&"object"==typeof t?Object.keys(t).map(e=>({field:e,header:e,width:100})):[]}(s)):(e=Array.isArray(t.element.columns)?Dm(t.element.columns):[],r=Array.isArray(t.element.data)?Dm(t.element.data):[]),n.isExporting&&t.element.footerDataVariable){const e=Lb(t.element.footerDataVariable),r=e?Ub(a,e)??Ub(o,e):void 0;Array.isArray(r)&&(i=r.map((e,r)=>{const n=Array.isArray(t.element.footerData)?t.element.footerData[r]:void 0;if(!n)return Dm(e);const i=Dm(e);return Object.keys(n).forEach(e=>{n[e]&&"object"==typeof n[e]&&("rowSpan"in n[e]||"colSpan"in n[e])&&(void 0===i[e]?i[e]={value:"",rowSpan:n[e].rowSpan,colSpan:n[e].colSpan}:"object"!=typeof i[e]?i[e]={value:i[e],rowSpan:n[e].rowSpan,colSpan:n[e].colSpan}:(i[e].rowSpan=n[e].rowSpan,i[e].colSpan=n[e].colSpan))}),i}))}else if(!n.isExporting&&t.element.footerDataVariable){const e=Lb(t.element.footerDataVariable),r=e?Ub(o,e):void 0;Array.isArray(r)&&(i=r.map((e,r)=>{const n=Array.isArray(t.element.footerData)?t.element.footerData[r]:void 0;if(!n)return Dm(e);const i=Dm(e);return Object.keys(n).forEach(e=>{n[e]&&"object"==typeof n[e]&&("rowSpan"in n[e]||"colSpan"in n[e])&&(void 0===i[e]?i[e]={value:"",rowSpan:n[e].rowSpan,colSpan:n[e].colSpan}:"object"!=typeof i[e]?i[e]={value:i[e],rowSpan:n[e].rowSpan,colSpan:n[e].colSpan}:(i[e].rowSpan=n[e].rowSpan,i[e].colSpan=n[e].colSpan))}),i}))}let l=t.element.customScript;if(n.isExporting&&t.element.customScriptVariable){const e=Lb(t.element.customScriptVariable),r=e?Ub(a,e)??Ub(o,e):void 0;"string"==typeof r&&(l=r)}else if(!n.isExporting&&t.element.customScriptVariable){const e=Lb(t.element.customScriptVariable),r=e?Ub(o,e):void 0;"string"==typeof r&&(l=r)}if(l)try{const t=new Function("data","footerData","columns","type",l)(Dm(r),Dm(i),Dm(e),"global");if(t&&(t.data&&(r=t.data),t.footerData&&(i=t.footerData),t.columns))return{...t,columns:t.columns}}catch(gH){}const u=Dm(i),c=e.map(e=>e.field);return u.forEach(e=>{Object.keys(e).forEach(t=>{const n=e[t];if(n&&"object"==typeof n&&n.field&&c.includes(n.field)){const e=n.field,t=r.reduce((t,r)=>{const n=parseFloat(r[e]);return t+(isNaN(n)?0:n)},0);n.result=t}})}),{columns:e,data:r,footerData:u,scriptContent:l}}),y=Ta(()=>{const e=m.value.data[0];return e&&"object"==typeof e?Object.keys(e).map(e=>({value:e,label:e})):[]}),b=Ta(()=>({color:t.element.style.color||"#000000",fontFamily:t.element.style.fontFamily,borderColor:t.element.style.borderColor||"#000",borderWidth:(t.element.style.borderWidth||1)+"px",borderStyle:t.element.style.borderStyle||"solid"})),w=Ta(()=>"left"===t.element.headerPosition),x=(e,t)=>{if(!e)return"";const r=e[t];if(r&&"object"==typeof r){return(r.value||"")+(void 0!==r.printValue?r.printValue:void 0!==r.result?r.result:"")}return r},_=(e,t)=>{if(!e)return"";if(!n.isExporting&&n.showVariableNames)return`{#${t}}`;const r=e[t];if(r&&"object"==typeof r){return(r.value||"")+(void 0!==r.result?r.result:void 0!==r.printValue?r.printValue:"")}return r},C=(e,t)=>{const r=e[t];return r&&"object"==typeof r&&"rowSpan"in r?r.rowSpan:1},S=(e,t)=>{const r=e[t];return r&&"object"==typeof r&&"colSpan"in r?r.colSpan:1},B=(e,t)=>{const r=e[t];return!r||"object"!=typeof r||0!==r.rowSpan&&0!==r.colSpan},k=(e,t)=>{const r=e[t];return r&&"object"==typeof r&&r.style?r.style:{}},E=Ft({}),I=Ft(null),T=Ft(0),P=Ft(0),M=e=>{if(null===I.value)return;const t=e.clientX-T.value,r=Math.max(20,P.value+t),n=m.value.columns[I.value];E.value[n.field]=r},L=()=>{if(null!==I.value){const e=m.value.columns[I.value],r=E.value[e.field];if(r){const e=[...t.element.columns||[]];e[I.value]&&(e[I.value]={...e[I.value],width:r},n.updateElement(t.element.id,{columns:e}))}}I.value=null,E.value={},window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",L)},D=(e,r,i,o="body")=>{n.selectedElementId===t.element.id&&(e.stopPropagation(),g.value=!0,v.value={rowIndex:r,colField:i,section:o},n.setTableSelection(t.element.id,{rowIndex:r,colField:i,section:o},!1))},N=(e,r,i="body")=>{if(!g.value||!v.value)return;if(v.value.section!==i)return;const o=v.value.rowIndex,a=e,s=m.value.columns.findIndex(e=>e.field===v.value.colField),l=m.value.columns.findIndex(e=>e.field===r);if(-1===s||-1===l)return;const u=Math.min(o,a),c=Math.max(o,a),A=Math.min(s,l),d=Math.max(s,l),h=[];for(let t=u;t<=c;t++)for(let e=A;e<=d;e++)h.push({rowIndex:t,colField:m.value.columns[e].field,section:i});n.setTableSelectionCells(t.element.id,h)},O=()=>{g.value=!1,v.value=null};return ei(()=>{window.addEventListener("mouseup",O)}),ii(()=>{window.removeEventListener("mouseup",O)}),(h,g)=>(Ro(),jo("div",{class:"w-full h-full overflow-hidden",style:G({backgroundColor:e.element.style.backgroundColor||"transparent"})},[w.value?(Ro(),jo("table",{key:1,class:X(["w-full border-collapse",{"h-full":!Qt(n).isExporting}]),"data-tfoot-repeat":e.element.tfootRepeat,"data-auto-paginate":e.element.autoPaginate,"data-custom-script":m.value.scriptContent||e.element.customScript},[Xo("tbody",null,[0===m.value.columns.length?(Ro(),jo("tr",A_,[Xo("td",d_,oe(Qt(r)("properties.label.selectDataField")),1)])):(Ro(!0),jo(Do,{key:1},pi(m.value.columns,(t,r)=>(Ro(),jo("tr",{key:t.field},[Xo("th",{class:"p-1 font-bold text-sm relative group select-none",style:G({...b.value,width:`${E.value[t.field]||t.width}px`,backgroundColor:e.element.style.headerBackgroundColor||"#f3f4f6",color:e.element.style.headerColor||"#000000",fontSize:e.element.style.headerFontSize?`${e.element.style.headerFontSize}px`:void 0,textAlign:e.element.style.headerTextAlign||"left",cursor:Qt(n).selectedElementId===e.element.id?"pointer":"default"}),onDblclick:e=>A(e,r)},oe(t.header),45,h_),(Ro(!0),jo(Do,null,pi(Qt(n).isExporting?m.value.data:m.value.data.slice(0,5),(r,n)=>(Ro(),jo("td",{key:n,class:X(["p-1 select-none",{"bg-blue-100 ring-1 ring-blue-400":o(n,t.field)}]),style:G({...b.value,...k(r,t.field),height:e.element.style.rowHeight?`${e.element.style.rowHeight}px`:void 0,textAlign:e.element.style.textAlign||"left",fontSize:e.element.style.fontSize?`${e.element.style.fontSize}px`:void 0}),rowspan:C(r,t.field),colspan:S(r,t.field),"data-field":t.field,onMousedown:e=>D(e,n,t.field),onMouseover:e=>N(n,t.field)},oe(_(r,t.field)),47,p_))),128)),!Qt(n).isExporting&&m.value.data.length>5?(Ro(),jo("td",{key:0,class:"p-1 text-center text-gray-500 select-none",style:G({...b.value,height:e.element.style.rowHeight?`${e.element.style.rowHeight}px`:void 0})}," ... ",4)):na("",!0)]))),128))]),e.element.showFooter&&m.value.columns.length>0?(Ro(),jo("tfoot",f_,[(Ro(!0),jo(Do,null,pi(m.value.footerData,(t,r)=>(Ro(),jo("tr",{key:"frl"+r},[(Ro(!0),jo(Do,null,pi(m.value.columns,(i,a)=>(Ro(),jo(Do,{key:i.field},[B(t,i.field)?(Ro(),jo("td",{key:0,class:X(["p-1 text-sm font-bold select-none",{"!bg-blue-100 ring-1 ring-blue-400":o(r,i.field,"footer")}]),style:G({...b.value,...k(t,i.field),height:e.element.style.footerHeight?`${e.element.style.footerHeight}px`:void 0,backgroundColor:e.element.style.footerBackgroundColor||"#f9fafb",color:e.element.style.footerColor||"#000000",fontSize:e.element.style.footerFontSize?`${e.element.style.footerFontSize}px`:void 0,textAlign:e.element.style.footerTextAlign||"left",cursor:Qt(n).selectedElementId===e.element.id?"pointer":"default"}),rowspan:C(t,i.field),colspan:S(t,i.field),"data-field":i.field,"data-value":x(t,i.field),onMousedown:e=>D(e,r,i.field,"footer"),onMouseover:e=>N(r,i.field,"footer"),onDblclick:e=>d(e,r,i.field)},oe(_(t,i.field)),47,g_)):na("",!0)],64))),128))]))),128))])):na("",!0)],10,c_)):(Ro(),jo("table",{key:0,class:X(["w-full border-collapse",{"h-full":!Qt(n).isExporting}]),"data-tfoot-repeat":e.element.tfootRepeat,"data-auto-paginate":e.element.autoPaginate,"data-custom-script":m.value.scriptContent||e.element.customScript},[Xo("thead",null,[Xo("tr",null,[(Ro(!0),jo(Do,null,pi(m.value.columns,(r,i)=>(Ro(),jo("th",{key:r.field,class:"p-1 font-bold text-sm relative group select-none",style:G({...b.value,width:`${E.value[r.field]||r.width}px`,height:e.element.style.headerHeight?`${e.element.style.headerHeight}px`:void 0,backgroundColor:e.element.style.headerBackgroundColor||"#f3f4f6",color:e.element.style.headerColor||"#000000",fontSize:e.element.style.headerFontSize?`${e.element.style.headerFontSize}px`:void 0,textAlign:e.element.style.headerTextAlign||"left",cursor:Qt(n).selectedElementId===e.element.id?"pointer":"default"}),onDblclick:e=>A(e,i)},[ta(oe(r.header)+" ",1),Qt(n).selectedElementId===e.element.id&&i<m.value.columns.length-1&&!e.element.locked?(Ro(),jo("div",{key:0,class:X(["absolute -right-1 top-0 bottom-0 w-2 cursor-col-resize hover:bg-blue-400 opacity-0 hover:opacity-100 z-10 transition-opacity",{"bg-blue-400 opacity-100":I.value===i}]),onMousedown:e=>((e,r)=>{if(t.element.locked)return;e.preventDefault(),e.stopPropagation(),I.value=r,T.value=e.clientX;const n=m.value.columns[r];P.value=n.width||100,window.addEventListener("mousemove",M),window.addEventListener("mouseup",L)})(e,i),onClick:g[0]||(g[0]=zs(()=>{},["stop"]))},null,42,e_)):na("",!0)],44,$x))),128))])]),Xo("tbody",null,[0===m.value.columns.length?(Ro(),jo("tr",t_,[Xo("td",r_,oe(Qt(r)("properties.label.selectDataField")),1)])):(Ro(),jo(Do,{key:1},[(Ro(!0),jo(Do,null,pi(Qt(n).isExporting?m.value.data:m.value.data.slice(0,5),(t,r)=>(Ro(),jo("tr",{key:r},[(Ro(!0),jo(Do,null,pi(m.value.columns,n=>(Ro(),jo(Do,{key:n.field},[B(t,n.field)?(Ro(),jo("td",{key:0,class:X(["p-1 select-none",{"bg-blue-100 ring-1 ring-blue-400":o(r,n.field)}]),style:G({...b.value,...k(t,n.field),height:e.element.style.rowHeight?`${e.element.style.rowHeight}px`:void 0,textAlign:e.element.style.textAlign||"left",fontSize:e.element.style.fontSize?`${e.element.style.fontSize}px`:void 0}),rowspan:C(t,n.field),colspan:S(t,n.field),"data-field":n.field,onMousedown:e=>D(e,r,n.field),onMouseover:e=>N(r,n.field)},oe(_(t,n.field)),47,n_)):na("",!0)],64))),128))]))),128)),!Qt(n).isExporting&&m.value.data.length>5?(Ro(),jo("tr",i_,[Xo("td",{colspan:m.value.columns.length,class:"p-1 text-center text-gray-500 select-none",style:G({...b.value,height:e.element.style.rowHeight?`${e.element.style.rowHeight}px`:void 0})}," ... ",12,o_)])):na("",!0)],64)),Qt(n).isExporting?na("",!0):(Ro(),jo("tr",a_,[Xo("td",{colspan:m.value.columns.length||1,class:"border-none p-0"},null,8,s_)]))]),e.element.showFooter?(Ro(),jo("tfoot",l_,[(Ro(!0),jo(Do,null,pi(m.value.footerData,(t,r)=>(Ro(),jo("tr",{key:r},[(Ro(!0),jo(Do,null,pi(m.value.columns,i=>(Ro(),jo(Do,{key:i.field},[B(t,i.field)?(Ro(),jo("td",{key:0,class:X(["p-1 text-sm font-bold select-none",{"!bg-blue-100 ring-1 ring-blue-400":o(r,i.field,"footer")}]),style:G({...b.value,...k(t,i.field),height:e.element.style.footerHeight?`${e.element.style.footerHeight}px`:void 0,backgroundColor:e.element.style.footerBackgroundColor||"#f9fafb",color:e.element.style.footerColor||"#000000",fontSize:e.element.style.footerFontSize?`${e.element.style.footerFontSize}px`:void 0,textAlign:e.element.style.footerTextAlign||"left",cursor:Qt(n).selectedElementId===e.element.id?"pointer":"default"}),rowspan:C(t,i.field),colspan:S(t,i.field),"data-field":i.field,"data-value":x(t,i.field),onMousedown:e=>D(e,r,i.field,"footer"),onMouseover:e=>N(r,i.field,"footer"),onDblclick:e=>d(e,r,i.field)},oe(_(t,i.field)),47,u_)):na("",!0)],64))),128))]))),128))])):na("",!0)],10,Jx)),(Ro(),Go(yn,{to:Qt(i)||"body"},[null!==a.value||s.value?(Ro(),jo("div",{key:0,ref_key:"editFormRef",ref:c,class:"fixed z-[9999] bg-white shadow-xl border border-gray-200 rounded-lg p-4 w-64 flex flex-col gap-3 pointer-events-auto",style:G({top:`${u.value.top}px`,left:`${u.value.left}px`}),onClick:g[5]||(g[5]=zs(()=>{},["stop"]))},[Xo("h4",v_,oe(s.value?Qt(r)("properties.label.editCell"):Qt(r)("properties.label.editColumn")),1),null!==a.value?(Ro(),jo(Do,{key:0},[Xo("div",m_,[Xo("label",y_,oe(Qt(r)("properties.label.headerText")),1),en(Xo("input",{"onUpdate:modelValue":g[1]||(g[1]=e=>l.value.header=e),class:"border border-gray-300 rounded px-2 py-1 text-sm focus:border-blue-500 focus:outline-none",placeholder:Qt(r)("properties.label.headerNamePlaceholder"),onKeydown:Qs(f,["enter"]),autofocus:""},null,40,b_),[[Ms,l.value.header]])]),Xo("div",w_,[Xo("label",x_,oe(Qt(r)("properties.label.fieldKey")),1),en(Xo("select",{"onUpdate:modelValue":g[2]||(g[2]=e=>l.value.field=e),class:"border border-gray-300 rounded px-2 py-1 text-sm focus:border-blue-500 focus:outline-none bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},[Xo("option",__,oe(Qt(r)("properties.label.selectField")),1),(Ro(!0),jo(Do,null,pi(y.value,e=>(Ro(),jo("option",{key:e.value,value:e.value,class:"dark:bg-gray-800 dark:text-gray-200"},oe(e.label),9,C_))),128))],512),[[Ds,l.value.field]])])],64)):na("",!0),s.value?(Ro(),jo(Do,{key:1},[Xo("div",S_,[Xo("label",B_,oe(Qt(r)("properties.label.content")),1),en(Xo("input",{"onUpdate:modelValue":g[3]||(g[3]=e=>l.value.value=e),class:"border border-gray-300 rounded px-2 py-1 text-sm focus:border-blue-500 focus:outline-none",placeholder:Qt(r)("properties.label.displayTextPlaceholder"),onKeydown:Qs(f,["enter"]),autofocus:""},null,40,k_),[[Ms,l.value.value]])]),Xo("div",E_,[Xo("label",I_,oe(Qt(r)("properties.label.variableField")),1),en(Xo("input",{"onUpdate:modelValue":g[4]||(g[4]=e=>l.value.variable=e),class:"border border-gray-300 rounded px-2 py-1 text-sm focus:border-blue-500 focus:outline-none",placeholder:Qt(r)("properties.label.dataFieldPlaceholder"),onKeydown:Qs(f,["enter"])},null,40,T_),[[Ms,l.value.variable]])])],64)):na("",!0),Xo("div",P_,[Xo("button",{onClick:p,class:"px-3 py-1 text-xs text-gray-600 hover:bg-gray-100 rounded"},oe(Qt(r)("common.cancel")),1),Xo("button",{onClick:f,class:"px-3 py-1 text-xs bg-blue-600 text-white hover:bg-blue-700 rounded"},oe(Qt(r)("common.save")),1)])],4)):na("",!0)],8,["to"]))],4))}}),D_={class:"w-full h-full border-collapse table-fixed"},N_={key:0},O_={class:"h-3"},F_=["onMousedown"],U_=["rowspan","colspan","onMousedown","onMouseenter","onDblclick"],z_=["src"],R_={key:0},Q_={class:"flex items-center justify-between mb-3"},H_={class:"text-sm font-medium text-gray-700 dark:text-gray-200"},V_={class:"mb-3"},j_={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},G_={value:"text"},W_={value:"image"},K_={class:"mb-3"},q_={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},Y_={class:"relative"},X_={class:"flex items-center gap-2"},Z_=["value"],J_={class:"space-y-1"},$_={class:"flex items-center justify-between"},eC={class:"text-[10px] text-gray-400"},tC={class:"text-[10px] text-gray-500"},rC={class:"flex gap-2"},nC={key:0,class:"space-y-2 mb-3"},iC={class:"block text-xs text-gray-500 dark:text-gray-400 font-medium"},oC={class:"relative"},aC=["placeholder"],sC={class:"absolute bottom-1 right-1 text-[10px] text-gray-400 dark:text-gray-500 bg-white/80 dark:bg-gray-800/80 px-1 rounded"},lC={class:"flex gap-2"},uC={class:"relative flex-1"},cC={class:"p-2 border-b border-gray-100 dark:border-gray-700 sticky top-0 bg-white dark:bg-gray-800 z-10"},AC={class:"relative"},dC=["value","placeholder"],hC={key:0,class:"px-3 py-4 text-xs text-gray-400 dark:text-gray-500 text-center"},pC=["onMousedown"],fC={class:"relative"},gC={class:"text-[10px] text-gray-400"},vC=["value"],mC={class:"space-y-1"},yC={class:"flex items-center justify-between"},bC={class:"text-[10px] text-gray-400"},wC={class:"text-[10px] text-gray-500"},xC={class:"grid grid-cols-2 gap-2"},_C={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},CC={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},SC={value:"left"},BC={value:"center"},kC={value:"right"},EC={class:"mb-3"},IC={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},TC={class:"space-y-2"},PC={class:"flex flex-col gap-1"},MC={class:"text-[10px] text-gray-400 dark:text-gray-500 text-center"},LC={key:0,class:"text-xs text-red-500 mt-1"},DC={class:"grid grid-cols-2 gap-2 mb-3"},NC={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},OC={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},FC={sections:[{title:"properties.section.customTableSettings",tab:"properties",fields:[{label:"properties.label.customTableRows",type:"number",target:"element",key:"customTableRows",min:1,max:50,step:1},{label:"properties.label.customTableCols",type:"number",target:"element",key:"customTableCols",min:1,max:50,step:1}]},{title:"properties.section.cellOperations",tab:"properties",fields:[]},{title:"properties.section.cellStyle",tab:"style",fields:[{label:"properties.label.backgroundColor",type:"color",target:"style",key:"backgroundColor"},{label:"properties.label.textColor",type:"color",target:"style",key:"color"},{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:8,max:72,step:1},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.align.left",value:"left"},{label:"properties.align.center",value:"center"},{label:"properties.align.right",value:"right"}]}]},{title:"properties.section.border",tab:"style",fields:[{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:20,step:1},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"}]}]},UC=Nn({__name:"CustomTableElement",props:{element:{}},setup(e){const t=e,{t:r}=dh(),n=Wb(),i=Ta(()=>Number(t.element.customTableRows)||3),o=Ta(()=>Number(t.element.customTableCols)||3),a=Ta(()=>Math.max(1,i.value)),s=Ta(()=>Math.max(1,o.value)),l=Ta(()=>t.element.customTableCells||[]);an([a,s],([e,r],[i,o])=>{if(n.isTemplateEditable&&(e<(i||e)||r<(o||r))){const i=Dm(t.element.customTableCells||[]);let o=!1;const a=i.filter(t=>{if(t.row>=e||t.col>=r)return o=!0,!1;const n=t.row+(t.rowSpan||1)-1,i=t.col+(t.colSpan||1)-1;return n>=e&&(t.rowSpan=e-t.row,t.rowSpan<1&&(t.rowSpan=1),o=!0),i>=r&&(t.colSpan=r-t.col,t.colSpan<1&&(t.colSpan=1),o=!0),!0});o&&(n.updateElement(t.element.id,{customTableCells:a}),d.value=[])}});const u=Ta(()=>({border:`${t.element.style.borderWidth||1}px ${t.element.style.borderStyle||"solid"} ${t.element.style.borderColor||"#cccccc"}`,color:t.element.style.color||"#000000",fontSize:`${t.element.style.fontSize||14}px`})),c=Ta(()=>{const e=t.element.customTableColWidths;return Array.isArray(e)&&e.length>0?e:null}),A=Ft([]);an([a,s],()=>{(()=>{if(c.value&&c.value.length===s.value)return void(A.value=[...c.value]);const e=Math.floor((t.element.width||600)/s.value),r=[];for(let t=0;t<s.value;t++)r.push(e);A.value=r})()},{immediate:!0}),an(A,e=>{n.isTemplateEditable&&!t.element.locked&&e.length>0&&n.updateElement(t.element.id,{customTableColWidths:[...e]})},{deep:!0});const d=Ft([]),h=Ft(!1),p=Ft(null),f=(e,t)=>l.value.find(r=>r.row===e&&r.col===t),g=(e,t)=>{for(const r of l.value)if(r.rowSpan>1||r.colSpan>1){const n=r.row+(r.rowSpan||1)-1,i=r.col+(r.colSpan||1)-1;if((r.row!==e||r.col!==t)&&e>=r.row&&e<=n&&t>=r.col&&t<=i)return!1}return!0},v=(e,t)=>d.value.some(r=>r.row===e&&r.col===t),m=(e,t)=>{const r=f(e,t);return(null==r?void 0:r.rowSpan)||1},y=(e,t)=>{const r=f(e,t);return(null==r?void 0:r.colSpan)||1},b=(e,t)=>{const r=f(e,t);return r&&"image"===r.contentType&&r.imageUrl||""},w=(e,t)=>{const r=f(e,t);if(!(null==r?void 0:r.style))return{};const n={};if(r.style.fontSize&&(n.fontSize=`${r.style.fontSize}px`),r.style.color&&(n.color=r.style.color),r.style.fontWeight&&(n.fontWeight=r.style.fontWeight),r.style.fontStyle&&(n.fontStyle=r.style.fontStyle),r.style.textAlign&&(n.textAlign=r.style.textAlign),r.style.backgroundColor){const e=r.style.backgroundColor;if(e.includes(",")){const t=e.split(","),r=t[0],i=parseFloat(t[1])||1;n.backgroundColor=ee(r,i)}else n.backgroundColor=e}return n},x=()=>{h.value=!1,p.value=null};an(d,e=>{n.selectedElementId===t.element.id&&n.setCustomTableSelection(t.element.id,e)},{deep:!0}),an(()=>n.selectedElementId,e=>{e!==t.element.id&&(d.value=[])});const _=Ta(()=>{const e=[],t=n.availableVariables||[],r=t=>{for(const n of t)n.isArray||e.push({id:n.id,label:n.label||n.id}),n.children&&n.children.length>0&&r(n.children)};return r(t),e}),C=Ta(()=>{if(!F.value.trim())return _.value;const e=F.value.toLowerCase();return _.value.filter(t=>t.id.toLowerCase().includes(e)||t.label.toLowerCase().includes(e))}),S=()=>{N.value=!N.value,O.value=!1,N.value&&(F.value="",setTimeout(()=>{var e;null==(e=L.value)||e.focus()},50))},B=()=>{O.value=!O.value,N.value=!1},k=e=>{F.value=e.target.value},E=e=>{e.target.classList.contains("field-list-container")&&(e.stopPropagation(),j.value=!0)},I=Ft(null),T=Ft({contentType:"text",text:"",field:"",imageUrl:"",imageWidth:50,imageHeight:50,textAlign:"left",backgroundColor:"",fontSize:14}),P=Ft(null),M=Ft(null),L=Ft(null),D=Ft(null),N=Ft(!1),O=Ft(!1),F=Ft(""),U=Ft("#ff0000"),z=Ft(1),R=Ft(null),Q=Ft("#ffffff"),H=Ft(1),V=Ft(!1),j=Ft(!1),W=/\{#([^}]+)\}/g,K=(e,t)=>{const r=f(e,t);if(!r||"image"===r.contentType)return[];let i=r.text||"";i=i.replace(W,(e,t)=>{if(n.showVariableNames)return`{#${t}}`;const r=Ub(n.testData,t.trim());return null!=r?String(r):`{#${t}}`});const o=[],a=new RegExp(/\[color=([^\]]+)\]([\s\S]*?)\[\/color\]/g);let s,l=0;for(;null!==(s=a.exec(i));){s.index>l&&o.push({text:i.substring(l,s.index)});const e=s[1];let t=e,r=1;if(e.includes(",alpha=")){const n=e.split(",alpha=");t=n[0],r=parseFloat(n[1])||1}o.push({text:s[2],color:t,alpha:r}),l=s.index+s[0].length}return l<i.length&&o.push({text:i.substring(l)}),o},q=Ft({top:0,left:0}),Y=Ft(null),Z=Ft(null),J=Ft(""),$=()=>{var e;null==(e=Z.value)||e.click()},ee=(e,t)=>`rgba(${parseInt(e.slice(1,3),16)}, ${parseInt(e.slice(3,5),16)}, ${parseInt(e.slice(5,7),16)}, ${t})`,te=()=>{V.value=!V.value,V.value&&(Q.value=T.value.backgroundColor||"#ffffff",H.value=1)},re=()=>{let e=Q.value;e=H.value<1?e+","+H.value:Q.value,T.value.backgroundColor=e,V.value=!1},ne=e=>{Q.value=e.target.value},ie=e=>{H.value=parseFloat(e.target.value)},ae=e=>{var t;const n=e.target,i=null==(t=n.files)?void 0:t[0];if(!i)return;if(J.value="",i.size>2097152)return J.value=r("properties.image.sizeError"),void(n.value="");const o=new FileReader;o.onload=e=>{var t;const r=null==(t=e.target)?void 0:t.result;T.value.imageUrl=r,ue()},o.onerror=()=>{J.value=r("properties.image.readError")},o.readAsDataURL(i),n.value=""},se=e=>{Y.value&&!Y.value.contains(e.target)&&le(),j.value?j.value=!1:(N.value&&M.value&&!M.value.contains(e.target)&&(N.value=!1,F.value=""),O.value&&D.value&&!D.value.contains(e.target)&&(O.value=!1),V.value&&R.value&&!R.value.contains(e.target)&&(V.value=!1))},le=()=>{I.value=null,N.value=!1,O.value=!1,V.value=!1,F.value="",window.removeEventListener("click",se)},ue=()=>{if(!I.value)return;const{row:e,col:r}=I.value,i=Dm(l.value),o=i.findIndex(t=>t.row===e&&t.col===r),a=o>=0?i[o]:null,s={row:e,col:r,rowSpan:(null==a?void 0:a.rowSpan)||1,colSpan:(null==a?void 0:a.colSpan)||1,contentType:T.value.contentType};"image"===T.value.contentType?(s.imageUrl=T.value.imageUrl,s.imageWidth=T.value.imageWidth,s.imageHeight=T.value.imageHeight):s.text=T.value.text,s.style={...(null==a?void 0:a.style)||{},..."text"===T.value.contentType||"field"===T.value.contentType?{textAlign:T.value.textAlign,fontSize:T.value.fontSize}:{},...T.value.backgroundColor?{backgroundColor:T.value.backgroundColor}:{}},o>=0?i[o]={...i[o],...s}:i.push(s),n.updateElement(t.element.id,{customTableCells:i})};let ce=!1;an(T,()=>{I.value&&(ce?ce=!1:ue())},{deep:!0});const Ae=()=>{n.selectedElementId===t.element.id&&(d.value=[])};return ei(()=>{window.addEventListener("mouseup",x)}),ii(()=>{window.removeEventListener("mouseup",x)}),(i,o)=>(Ro(),jo("div",{class:"w-full h-full overflow-hidden",style:G({backgroundColor:e.element.style.backgroundColor||"transparent"}),onClick:zs(Ae,["self"])},[Xo("table",D_,[Xo("colgroup",null,[(Ro(!0),jo(Do,null,pi(A.value,(e,t)=>(Ro(),jo("col",{key:t,style:G({width:e+"px"})},null,4))),128))]),Qt(n).isTemplateEditable&&Qt(n).selectedElementId===e.element.id&&!e.element.locked?(Ro(),jo("thead",N_,[Xo("tr",O_,[(Ro(!0),jo(Do,null,pi(A.value,(e,r)=>(Ro(),jo("th",{key:r,class:"relative p-0"},[r<A.value.length-1?(Ro(),jo("div",{key:0,class:"absolute -right-0.5 top-0 bottom-0 w-1 cursor-col-resize hover:bg-blue-400 z-10",onMousedown:e=>((e,r)=>{if(!n.isTemplateEditable||t.element.locked)return;e.preventDefault(),e.stopPropagation();const i=e.clientX,o=A.value[r],a=e=>{const t=e.clientX-i,n=Math.max(20,o+t),a=[...A.value];a[r]=n,A.value=a},s=()=>{window.removeEventListener("mousemove",a),window.removeEventListener("mouseup",s)};window.addEventListener("mousemove",a),window.addEventListener("mouseup",s)})(e,r)},null,40,F_)):na("",!0)]))),128))])])):na("",!0),Xo("tbody",null,[(Ro(!0),jo(Do,null,pi(a.value,r=>(Ro(),jo("tr",{key:r},[(Ro(!0),jo(Do,null,pi(s.value,i=>{var o,a,s,l,c;return en((Ro(),jo("td",{key:i,class:X(["p-1 text-sm select-none relative",{"!bg-blue-100 ring-1 ring-blue-400":v(r-1,i-1),"cursor-pointer":Qt(n).selectedElementId===e.element.id&&!e.element.locked}]),style:G({...u.value,...w(r-1,i-1)}),rowspan:m(r-1,i-1),colspan:y(r-1,i-1),onMousedown:e=>((e,r,i)=>{if(n.selectedElementId===t.element.id&&!t.element.locked&&0===e.button)if(e.stopPropagation(),h.value=!0,p.value={row:r,col:i},e.ctrlKey||e.metaKey){const e=d.value.findIndex(e=>e.row===r&&e.col===i);e>=0?d.value.splice(e,1):d.value.push({row:r,col:i})}else d.value=[{row:r,col:i}]})(e,r-1,i-1),onMouseenter:()=>((e,t)=>{if(!h.value||!p.value)return;const r=Math.min(p.value.row,e),n=Math.max(p.value.row,e),i=Math.min(p.value.col,t),o=Math.max(p.value.col,t),a=[];for(let s=r;s<=n;s++)for(let e=i;e<=o;e++)a.push({row:s,col:e});d.value=a})(r-1,i-1),onDblclick:e=>((e,r,i)=>{var o,a,s;if(n.selectedElementId!==t.element.id||t.element.locked)return;const l=f(r,i);I.value={row:r,col:i},ce=!0;let u="";"text"===(null==l?void 0:l.contentType)&&(null==l?void 0:l.text)?u=l.text:"field"===(null==l?void 0:l.contentType)&&(null==l?void 0:l.field)?u="{#"+l.field+"}":"image"===(null==l?void 0:l.contentType)&&(u="");let c=(null==(o=null==l?void 0:l.style)?void 0:o.backgroundColor)||"",A="#ffffff",d=1;if(c){if(c.includes(",")){const e=c.split(",");A=e[0],d=parseFloat(e[1])||1}else A=c;Q.value=A,H.value=d}T.value={contentType:(null==l?void 0:l.contentType)||"text",text:u,field:(null==l?void 0:l.field)||"",imageUrl:(null==l?void 0:l.imageUrl)||"",imageWidth:(null==l?void 0:l.imageWidth)||50,imageHeight:(null==l?void 0:l.imageHeight)||50,textAlign:(null==(a=null==l?void 0:l.style)?void 0:a.textAlign)||"left",backgroundColor:c,fontSize:(null==(s=null==l?void 0:l.style)?void 0:s.fontSize)||14},q.value={top:e.clientY+10,left:e.clientX+10},br(()=>{if(Y.value){const e=Y.value.getBoundingClientRect();q.value.left+e.width>window.innerWidth&&(q.value.left=window.innerWidth-e.width-20),q.value.top+e.height>window.innerHeight&&(q.value.top=window.innerHeight-e.height-20)}}),setTimeout(()=>{window.addEventListener("click",se)},100)})(e,r-1,i-1)},["image"===(null==(o=f(r-1,i-1))?void 0:o.contentType)&&b(r-1,i-1)?(Ro(),jo("img",{key:0,src:b(r-1,i-1),style:G({width:(null==(a=f(r-1,i-1))?void 0:a.imageWidth)?`${null==(s=f(r-1,i-1))?void 0:s.imageWidth}px`:"auto",height:(null==(l=f(r-1,i-1))?void 0:l.imageHeight)?`${null==(c=f(r-1,i-1))?void 0:c.imageHeight}px`:"auto",maxWidth:"100%",objectFit:"contain"}),alt:""},null,12,z_)):(Ro(),jo(Do,{key:1},[(Ro(!0),jo(Do,null,pi(K(r-1,i-1),(e,t)=>{var n,o,a,s,l,u,c,A;return Ro(),jo("span",{key:t,style:G(e.color?{color:void 0!==e.alpha&&e.alpha<1?ee(e.color,e.alpha):e.color,fontSize:(null==(o=null==(n=f(r-1,i-1))?void 0:n.style)?void 0:o.fontSize)?`${null==(s=null==(a=f(r-1,i-1))?void 0:a.style)?void 0:s.fontSize}px`:"inherit"}:{fontSize:(null==(u=null==(l=f(r-1,i-1))?void 0:l.style)?void 0:u.fontSize)?`${null==(A=null==(c=f(r-1,i-1))?void 0:c.style)?void 0:A.fontSize}px`:"inherit"})},oe(e.text),5)}),128)),0===K(r-1,i-1).length?(Ro(),jo("span",R_," ")):na("",!0)],64))],46,U_)),[[as,g(r-1,i-1)]])}),128))]))),128))])]),(Ro(),Go(yn,{to:"body"},[I.value?(Ro(),jo("div",{key:0,ref_key:"editFormRef",ref:Y,class:"fixed z-[3000] bg-white dark:bg-gray-800 rounded-lg shadow-xl border border-gray-200 dark:border-gray-700 p-4 min-w-[320px]",style:G({top:q.value.top+"px",left:q.value.left+"px"}),onClick:o[15]||(o[15]=zs(()=>{},["stop"]))},[Xo("div",Q_,[Xo("span",H_,oe(Qt(r)("properties.label.editCell"))+" ("+oe(I.value.row+1)+", "+oe(I.value.col+1)+") ",1),Xo("button",{onClick:le,class:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 text-lg leading-none"}," × ")]),Xo("div",V_,[Xo("label",j_,oe(Qt(r)("properties.label.cellContentType")),1),en(Xo("select",{"onUpdate:modelValue":o[0]||(o[0]=e=>T.value.contentType=e),class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md text-sm bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200"},[Xo("option",G_,oe(Qt(r)("properties.option.cellTypeText")),1),Xo("option",W_,oe(Qt(r)("properties.option.cellTypeImage")),1)],512),[[Ds,T.value.contentType]])]),Xo("div",K_,[Xo("label",q_,oe(Qt(r)("properties.label.cellBackgroundColor")),1),Xo("div",Y_,[Xo("div",X_,[Xo("button",{type:"button",onClick:te,class:"w-10 h-10 border border-gray-300 dark:border-gray-600 rounded cursor-pointer overflow-hidden relative"},[o[16]||(o[16]=Xo("div",{class:"absolute inset-0 checkerboard"},null,-1)),Xo("div",{class:"absolute inset-0",style:G({backgroundColor:Q.value,opacity:H.value})},null,4)]),en(Xo("input",{"onUpdate:modelValue":o[1]||(o[1]=e=>T.value.backgroundColor=e),type:"text",class:"flex-1 px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md text-sm bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200",placeholder:"#ffffff"},null,512),[[Ms,T.value.backgroundColor]]),T.value.backgroundColor?(Ro(),jo("button",{key:0,onClick:o[2]||(o[2]=e=>{T.value.backgroundColor="",Q.value="#ffffff",H.value=1}),class:"px-2 py-1 text-xs text-gray-500 hover:text-gray-700 dark:hover:text-gray-300"},oe(Qt(r)("properties.label.clear")),1)):na("",!0)]),V.value?(Ro(),jo("div",{key:0,ref_key:"bgColorPickerRef",ref:R,class:"absolute left-0 top-full mt-1 z-50 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg p-3 flex flex-col gap-2 min-w-[200px]"},[Xo("input",{type:"color",value:Q.value,onInput:ne,class:"w-full h-12 cursor-pointer border-0 p-0 rounded"},null,40,Z_),Xo("div",J_,[Xo("div",$_,[Xo("span",eC,oe(Qt(r)("properties.label.opacity")),1),Xo("span",tC,oe(Math.round(100*H.value))+"%",1)]),en(Xo("input",{type:"range",min:"0",max:"1",step:"0.05","onUpdate:modelValue":o[3]||(o[3]=e=>H.value=e),onInput:ie,class:"w-full h-2 bg-gradient-to-r from-transparent to-current rounded cursor-pointer",style:G({background:`linear-gradient(to right, transparent, ${Q.value})`})},null,36),[[Ms,H.value,void 0,{number:!0}]])]),Xo("div",rC,[Xo("button",{onClick:o[4]||(o[4]=e=>V.value=!1),class:"flex-1 text-xs px-3 py-1.5 border border-gray-300 dark:border-gray-600 rounded hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors"},oe(Qt(r)("common.cancel")),1),Xo("button",{onClick:re,class:"flex-1 text-xs bg-blue-500 text-white px-3 py-1.5 rounded hover:bg-blue-600 transition-colors"},oe(Qt(r)("common.confirm")),1)])],512)):na("",!0)])]),"image"!==T.value.contentType?(Ro(),jo("div",nC,[Xo("label",iC,oe(Qt(r)("properties.label.cellText")),1),Xo("div",oC,[en(Xo("textarea",{ref_key:"textareaRef",ref:P,"onUpdate:modelValue":o[5]||(o[5]=e=>T.value.text=e),placeholder:Qt(r)("properties.label.displayTextPlaceholder"),class:"w-full px-3 py-2 text-sm border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none h-32 resize-y bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},null,8,aC),[[Ms,T.value.text]]),Xo("div",sC,oe((T.value.text||"").length),1)]),Xo("div",lC,[Xo("div",uC,[Xo("button",{type:"button",onMousedown:zs(S,["prevent"]),class:"w-full flex items-center justify-center gap-1.5 py-1.5 text-xs border border-dashed border-gray-300 dark:border-gray-600 rounded hover:border-blue-400 hover:text-blue-600 dark:hover:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20 transition-colors text-gray-500 dark:text-gray-400"},[o[17]||(o[17]=Xo("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),ta(" "+oe(Qt(r)("properties.label.insertField")),1)],32),N.value?(Ro(),jo("div",{key:0,ref_key:"fieldDropdownRef",ref:M,class:"absolute left-0 right-0 top-full mt-1 z-50 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg"},[Xo("div",cC,[Xo("div",AC,[o[18]||(o[18]=Xo("svg",{class:"absolute left-2 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),Xo("input",{ref_key:"fieldSearchRef",ref:L,type:"text",value:F.value,onInput:k,onMousedown:o[6]||(o[6]=zs(()=>{},["stop"])),placeholder:Qt(r)("properties.label.searchField"),class:"w-full pl-8 pr-3 py-1.5 text-xs border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 placeholder-gray-400 dark:placeholder-gray-500"},null,40,dC)])]),Xo("div",{class:"field-list-container max-h-48 overflow-auto",onMousedown:E},[0===C.value.length?(Ro(),jo("div",hC,oe(Qt(r)("common.noData")),1)):na("",!0),(Ro(!0),jo(Do,null,pi(C.value,e=>(Ro(),jo("button",{key:e.id,onMousedown:zs(t=>(e=>{const t="{#"+e+"}",r=P.value;if(!r)return;const n=r.selectionStart,i=r.selectionEnd,o=T.value.text||"",a=o.substring(0,n)+t+o.substring(i);T.value.text=a,N.value=!1,F.value="",br(()=>{r.focus();const e=n+t.length;r.setSelectionRange(e,e)})})(e.id),["prevent"]),class:"w-full text-left px-3 py-1.5 text-xs text-gray-700 dark:text-gray-300 hover:bg-blue-50 dark:hover:bg-blue-900/30 hover:text-blue-700 dark:hover:text-blue-400 transition-colors whitespace-nowrap overflow-hidden text-overflow-ellipsis"},oe(e.label),41,pC))),128))],32)],512)):na("",!0)]),Xo("div",fC,[Xo("button",{type:"button",onMousedown:zs(B,["prevent"]),class:"flex items-center justify-center gap-1.5 py-1.5 px-3 text-xs border border-dashed border-gray-300 dark:border-gray-600 rounded hover:border-pink-400 hover:text-pink-600 dark:hover:text-pink-400 hover:bg-pink-50 dark:hover:bg-pink-900/20 transition-colors text-gray-500 dark:text-gray-400 whitespace-nowrap"},[o[19]||(o[19]=Xo("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})],-1)),ta(" "+oe(Qt(r)("properties.label.textColor")),1)],32),O.value?(Ro(),jo("div",{key:0,ref_key:"colorPickerRef",ref:D,class:"absolute right-0 top-full mt-1 z-50 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg p-2 flex flex-col gap-2 min-w-[160px]"},[Xo("span",gC,oe(Qt(r)("properties.label.textColor")),1),Xo("input",{type:"color",value:U.value,onInput:o[7]||(o[7]=e=>U.value=e.target.value),class:"w-full h-8 cursor-pointer border-0 p-0 rounded"},null,40,vC),Xo("div",mC,[Xo("div",yC,[Xo("span",bC,oe(Qt(r)("properties.label.opacity")),1),Xo("span",wC,oe(Math.round(100*z.value))+"%",1)]),en(Xo("input",{type:"range",min:"0",max:"1",step:"0.05","onUpdate:modelValue":o[8]||(o[8]=e=>z.value=e),class:"w-full h-2 bg-gradient-to-r from-transparent to-current rounded cursor-pointer",style:G({background:`linear-gradient(to right, transparent, ${U.value})`})},null,4),[[Ms,z.value,void 0,{number:!0}]])]),Xo("button",{onMousedown:o[9]||(o[9]=zs(e=>((e,t=1)=>{const r=P.value;if(!r)return;const n=r.selectionStart,i=r.selectionEnd;if(n===i)return void(O.value=!1);const o=T.value.text||"",a=o.substring(n,i);let s;s=t<1?"[color="+e+",alpha="+t+"]"+a+"[/color]":"[color="+e+"]"+a+"[/color]";const l=o.substring(0,n)+s+o.substring(i);U.value=e,z.value=t,T.value.text=l,O.value=!1,br(()=>{r.focus();const e=n+s.length;r.setSelectionRange(e,e)})})(U.value,z.value),["prevent"])),class:"w-full text-xs bg-pink-500 text-white px-3 py-1 rounded hover:bg-pink-600 transition-colors"},oe(Qt(r)("common.confirm")),33)],512)):na("",!0)])]),Xo("div",xC,[Xo("div",null,[Xo("label",_C,oe(Qt(r)("properties.label.fontSize")),1),en(Xo("input",{"onUpdate:modelValue":o[10]||(o[10]=e=>T.value.fontSize=e),type:"number",min:"8",max:"72",class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md text-sm bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200"},null,512),[[Ms,T.value.fontSize,void 0,{number:!0}]])]),Xo("div",null,[Xo("label",CC,oe(Qt(r)("properties.label.textAlign")),1),en(Xo("select",{"onUpdate:modelValue":o[11]||(o[11]=e=>T.value.textAlign=e),class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md text-sm bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200"},[Xo("option",SC,oe(Qt(r)("properties.align.left")),1),Xo("option",BC,oe(Qt(r)("properties.align.center")),1),Xo("option",kC,oe(Qt(r)("properties.align.right")),1)],512),[[Ds,T.value.textAlign]])])])])):na("",!0),"image"===T.value.contentType?(Ro(),jo(Do,{key:1},[Xo("div",EC,[Xo("label",IC,oe(Qt(r)("properties.label.cellImageUrl")),1),Xo("div",TC,[en(Xo("input",{"onUpdate:modelValue":o[12]||(o[12]=e=>T.value.imageUrl=e),type:"text",class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200",placeholder:"https://..."},null,512),[[Ms,T.value.imageUrl]]),Xo("div",PC,[Xo("button",{type:"button",onClick:$,class:"w-full py-1.5 px-3 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 border border-gray-300 dark:border-gray-700 rounded hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 flex items-center justify-center gap-2 transition-colors"},[o[20]||(o[20]=Xo("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12"})],-1)),ta(" "+oe(Qt(r)("properties.image.uploadBtn")),1)]),Xo("span",MC,oe(Qt(r)("properties.image.uploadTip")),1)]),J.value?(Ro(),jo("p",LC,oe(J.value),1)):na("",!0),Xo("input",{ref_key:"imageFileInput",ref:Z,type:"file",accept:"image/*",class:"hidden",onChange:ae},null,544)])]),Xo("div",DC,[Xo("div",null,[Xo("label",NC,oe(Qt(r)("properties.label.cellImageWidth")),1),en(Xo("input",{"onUpdate:modelValue":o[13]||(o[13]=e=>T.value.imageWidth=e),type:"number",min:"10",max:"500",class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md text-sm bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200"},null,512),[[Ms,T.value.imageWidth,void 0,{number:!0}]])]),Xo("div",null,[Xo("label",OC,oe(Qt(r)("properties.label.cellImageHeight")),1),en(Xo("input",{"onUpdate:modelValue":o[14]||(o[14]=e=>T.value.imageHeight=e),type:"number",min:"10",max:"500",class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md text-sm bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200"},null,512),[[Ms,T.value.imageHeight,void 0,{number:!0}]])])])],64)):na("",!0)],4)):na("",!0)]))],4))}}),zC=(e,t)=>{const r=e.__vccOpts||e;for(const[n,i]of t)r[n]=i;return r},RC=zC(UC,[["__scopeId","data-v-3195d91b"]]),QC={class:"page-number-text"},HC={sections:[{title:"properties.section.labelContent",tab:"properties",fields:[{label:"properties.label.labelText",type:"text",target:"element",key:"labelText",placeholder:"properties.label.labelTextPlaceholder"},{label:"properties.label.labelPosition",type:"select",target:"element",key:"labelPosition",options:[{label:"properties.option.before",value:"before"},{label:"properties.option.after",value:"after"}]},{label:"properties.label.pageFormat",type:"select",target:"element",key:"format",options:[{label:"properties.option.numberOnly",value:"1"},{label:"properties.option.page1",value:"Page 1"},{label:"properties.option.oneTotal",value:"1/Total"}]}]},{title:"properties.section.paginationTypography",tab:"style",fields:[{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:8,max:96,step:1},{label:"properties.label.color",type:"color",target:"style",key:"color"},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.option.default",value:""},{label:"properties.option.left",value:"left"},{label:"properties.option.center",value:"center"},{label:"properties.option.right",value:"right"}]},{label:"properties.label.fontFamily",type:"select",target:"style",key:"fontFamily",options:[{label:"properties.option.default",value:""},{label:"properties.option.arial",value:"Arial, sans-serif"},{label:"properties.option.timesNewRoman",value:'"Times New Roman", serif'},{label:"properties.option.courierNew",value:'"Courier New", monospace'},{label:"properties.option.simSun",value:"SimSun, serif"},{label:"properties.option.simHei",value:"SimHei, sans-serif"}]},{label:"properties.label.fontWeight",type:"select",target:"style",key:"fontWeight",options:[{label:"properties.option.default",value:""},{label:"properties.option.normal",value:"400"},{label:"properties.option.medium",value:"500"},{label:"properties.option.bold",value:"700"}]}]},{title:"properties.section.labelStyle",tab:"style",fields:[{label:"properties.label.labelFontSize",type:"number",target:"element",key:"labelFontSize",min:8,max:96,step:1},{label:"properties.label.labelColor",type:"color",target:"element",key:"labelColor"},{label:"properties.label.labelFontFamily",type:"select",target:"element",key:"labelFontFamily",options:[{label:"properties.option.default",value:""},{label:"properties.option.arial",value:"Arial, sans-serif"},{label:"properties.option.timesNewRoman",value:'"Times New Roman", serif'},{label:"properties.option.courierNew",value:'"Courier New", monospace'},{label:"properties.option.simSun",value:"SimSun, serif"},{label:"properties.option.simHei",value:"SimHei, sans-serif"}]},{label:"properties.label.labelFontWeight",type:"select",target:"element",key:"labelFontWeight",options:[{label:"properties.option.default",value:""},{label:"properties.option.normal",value:"400"},{label:"properties.option.medium",value:"500"},{label:"properties.option.bold",value:"700"}]},{label:"properties.label.labelBackgroundColor",type:"color",target:"element",key:"labelBackgroundColor"},{label:"properties.label.labelBorderStyle",type:"select",target:"element",key:"labelBorderStyle",options:[{label:"properties.option.none",value:""},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.labelBorderWidth",type:"number",target:"element",key:"labelBorderWidth",min:0,max:20,step:1},{label:"properties.label.labelBorderColor",type:"color",target:"element",key:"labelBorderColor"}]},{title:"properties.section.frameBorder",tab:"style",fields:[{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:20,step:1},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"}]}]},VC=Nn({__name:"PageNumberElement",props:{element:{},pageIndex:{},totalPages:{}},setup(e){const t=e,{t:r}=dh(),n=Ta(()=>{const e=t.pageIndex+1,n=t.totalPages||1;switch(t.element.format||"1/Total"){case"1":return`${e}`;case"Page 1":return r("properties.option.page1").replace("1",e.toString());default:return`${e}/${n}`}});return(t,r)=>(Ro(),jo("div",{class:"w-full h-full overflow-hidden","data-print-type":"page-number",style:G({fontSize:`${e.element.style.fontSize}px`,fontFamily:e.element.style.fontFamily,fontWeight:e.element.style.fontWeight,fontStyle:e.element.style.fontStyle,textAlign:e.element.style.textAlign,color:e.element.style.color,padding:`${e.element.style.padding||0}px`})},[e.element.labelText&&"after"!==e.element.labelPosition?(Ro(),jo("span",{key:0,style:G({fontSize:e.element.labelFontSize?`${e.element.labelFontSize}px`:void 0,fontFamily:e.element.labelFontFamily||void 0,fontWeight:e.element.labelFontWeight||void 0,color:e.element.labelColor||void 0,backgroundColor:e.element.labelBackgroundColor||"transparent",borderStyle:e.element.labelBorderStyle||"none",borderWidth:`${e.element.labelBorderWidth||0}px`,borderColor:e.element.labelBorderColor||"transparent",marginRight:"4px",padding:"0 4px"})},oe(e.element.labelText),5)):na("",!0),Xo("span",QC,oe(n.value),1),e.element.labelText&&"after"===e.element.labelPosition?(Ro(),jo("span",{key:1,style:G({fontSize:e.element.labelFontSize?`${e.element.labelFontSize}px`:void 0,fontFamily:e.element.labelFontFamily||void 0,fontWeight:e.element.labelFontWeight||void 0,color:e.element.labelColor||void 0,backgroundColor:e.element.labelBackgroundColor||"transparent",borderStyle:e.element.labelBorderStyle||"none",borderWidth:`${e.element.labelBorderWidth||0}px`,borderColor:e.element.labelBorderColor||"transparent",marginLeft:"4px",padding:"0 4px"})},oe(e.element.labelText),5)):na("",!0)],4))}}),jC={class:"w-full h-full flex items-center justify-center overflow-hidden"},GC={sections:[{title:"properties.section.content",tab:"properties",fields:[{label:"properties.label.content",type:"text",target:"element",key:"content",placeholder:"properties.label.barcodeContentPlaceholder"}]},{title:"properties.section.barcodeSettings",tab:"style",fields:[{label:"properties.label.format",type:"select",target:"style",key:"barcodeFormat",options:[{label:"properties.option.code128",value:"CODE128"},{label:"properties.option.ean13",value:"EAN13"},{label:"properties.option.upc",value:"UPC"},{label:"properties.option.code39",value:"CODE39"},{label:"properties.option.itf14",value:"ITF14"},{label:"properties.option.msi",value:"MSI"},{label:"properties.option.pharmacode",value:"pharmacode"}]},{label:"properties.label.showText",type:"select",target:"style",key:"showText",options:[{label:"properties.option.yes",value:!0},{label:"properties.option.no",value:!1}]},{label:"properties.label.color",type:"color",target:"style",key:"color"},{label:"properties.label.lineWidth",type:"number",target:"style",key:"barcodeWidth",placeholder:"2"},{label:"properties.label.barcodeHeight",type:"number",target:"style",key:"barcodeHeight",placeholder:"40"},{label:"properties.label.margin",type:"number",target:"style",key:"margin",placeholder:"0"},{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",placeholder:"20"},{label:"properties.label.textPosition",type:"select",target:"style",key:"textPosition",options:[{label:"properties.option.bottom",value:"bottom"},{label:"properties.option.top",value:"top"}]},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.option.left",value:"left"},{label:"properties.option.center",value:"center"},{label:"properties.option.right",value:"right"}]}]}]},WC=Nn({__name:"BarcodeElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=nn("registerRenderTask",null),i=Ft(null),o=Ta(()=>{const e=t.element.variable||"",n=r.variables||{};if(r.isExporting&&e){const t=Lb(e);if(t){const e=Ub(n,t);if(null!=e)return String(e);const i=Ub(r.testData,t);if(null!=i)return String(i)}}if(!r.isExporting&&t.element.variable){if(r.showVariableNames){const e=Lb(t.element.variable);return e?`{#${e}}`:t.element.variable||t.element.content||"12345678"}const e=Lb(t.element.variable);if(e){const t=Ub(r.testData,e);if(null!=t)return String(t)}}return t.element.variable||t.element.content||"12345678"}),a=async()=>{if(i.value)try{const e=await Promise.resolve().then(()=>VG),r=(null==e?void 0:e.default)||e,n=o.value,a=t.element.style;r(i.value,n,{format:a.barcodeFormat||"CODE128",lineColor:a.color||"#000000",width:Number(a.barcodeWidth)||2,height:Number(a.barcodeHeight)||40,displayValue:!1!==a.showText&&"false"!==a.showText,fontOptions:a.fontOptions||"",font:a.font||"monospace",textAlign:a.textAlign||"center",textPosition:a.textPosition||"bottom",textMargin:Number(a.textMargin)||2,fontSize:Number(a.fontSize)||20,background:"transparent",margin:Number(a.margin)||0})}catch(gH){}};return ei(()=>{const e=br().then(a);n&&n(e)}),an(()=>[t.element.content,t.element.variable,t.element.style,r.isExporting,r.testData,r.variables],()=>{const e=br().then(a);n&&n(e)},{deep:!0}),(e,t)=>(Ro(),jo("div",jC,[Xo("img",{ref_key:"barcodeRef",ref:i,class:"w-full h-full object-contain pointer-events-none"},null,512)]))}}),KC={class:"w-full h-full flex items-center justify-center overflow-hidden"},qC=["src"],YC={sections:[{title:"properties.section.content",tab:"properties",fields:[{label:"properties.label.content",type:"text",target:"element",key:"content",placeholder:"properties.label.qrContentPlaceholder"}]},{title:"properties.section.qrSettings",tab:"style",fields:[{label:"properties.label.errorCorrection",type:"select",target:"style",key:"qrErrorCorrection",options:[{label:"properties.option.eccLow",value:"L"},{label:"properties.option.eccMedium",value:"M"},{label:"properties.option.eccQuartile",value:"Q"},{label:"properties.option.eccHigh",value:"H"}]},{label:"properties.label.color",type:"color",target:"style",key:"color"}]}]},XC=Nn({__name:"QRCodeElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=nn("registerRenderTask",null),i=Ft(""),o=Ta(()=>{const e=t.element.variable||"",n=r.variables||{};if(r.isExporting&&e){const t=Lb(e);if(t){const e=Ub(n,t);if(null!=e)return String(e);const i=Ub(r.testData,t);if(null!=i)return String(i)}}if(!r.isExporting&&t.element.variable){if(r.showVariableNames){const e=Lb(t.element.variable);return e?`{#${e}}`:t.element.variable||t.element.content||"https://example.com"}const e=Lb(t.element.variable);if(e){const t=Ub(r.testData,e);if(null!=t)return String(t)}}return t.element.variable||t.element.content||"https://example.com"}),a=async()=>{try{const e=await Promise.resolve().then(()=>aK),r=(null==e?void 0:e.default)||e,n=o.value;i.value=await r.toDataURL(n,{margin:0,color:{dark:t.element.style.color||"#000000",light:"#00000000"},errorCorrectionLevel:t.element.style.qrErrorCorrection||"M"})}catch(gH){}};return ei(()=>{const e=br().then(a);n&&n(e)}),an(()=>[t.element.content,t.element.variable,t.element.style,r.isExporting,r.testData,r.variables],()=>{const e=br().then(a);n&&n(e)},{deep:!0}),(e,t)=>(Ro(),jo("div",KC,[i.value?(Ro(),jo("img",{key:0,src:i.value,class:"w-full h-full object-contain pointer-events-none",draggable:"false"},null,8,qC)):na("",!0)]))}}),ZC={class:"w-full h-full flex items-center justify-center"},JC={sections:[{title:"properties.section.lineStyle",tab:"style",fields:[{label:"properties.label.color",type:"color",target:"style",key:"borderColor",defaultValue:"#000000"},{label:"properties.label.thickness",type:"number",target:"style",key:"borderWidth",min:1,max:100,step:1,defaultValue:1},{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",defaultValue:"solid",options:[{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]}]}]},$C=Nn({__name:"LineElement",props:{element:{}},setup:e=>(t,r)=>(Ro(),jo("div",ZC,[Xo("div",{class:"w-full",style:G({borderTopWidth:`${e.element.style.borderWidth||1}px`,borderTopStyle:e.element.style.borderStyle||"solid",borderTopColor:e.element.style.borderColor||"#000000"})},null,4)]))}),eS={sections:[{title:"properties.section.appearance",tab:"style",fields:[{label:"properties.label.background",type:"color",target:"style",key:"backgroundColor",defaultValue:"transparent"},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor",defaultValue:"#000000"},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:100,defaultValue:1},{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",defaultValue:"solid",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.cornerRadius",type:"number",target:"style",key:"borderRadius",min:0,max:1e3}]}]},tS=Nn({__name:"RectElement",props:{element:{}},setup:e=>(t,r)=>(Ro(),jo("div",{class:"w-full h-full",style:G({backgroundColor:e.element.style.backgroundColor||"transparent",borderWidth:`${e.element.style.borderWidth||1}px`,borderStyle:e.element.style.borderStyle||"solid",borderColor:e.element.style.borderColor||"#000000",borderRadius:`${e.element.style.borderRadius||0}px`})},null,4))}),rS={sections:[{title:"properties.section.appearance",tab:"style",fields:[{label:"properties.label.background",type:"color",target:"style",key:"backgroundColor",defaultValue:"transparent"},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor",defaultValue:"#000000"},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:100,defaultValue:1},{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",defaultValue:"solid",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]}]}]},nS=Nn({__name:"CircleElement",props:{element:{}},setup:e=>(t,r)=>(Ro(),jo("div",{class:"w-full h-full rounded-full",style:G({backgroundColor:e.element.style.backgroundColor||"transparent",borderWidth:`${e.element.style.borderWidth||1}px`,borderStyle:e.element.style.borderStyle||"solid",borderColor:e.element.style.borderColor||"#000000"})},null,4))}),iS={class:"w-full h-full relative"},oS={sections:[{title:"properties.section.fieldSelection",tab:"fieldSelection",fields:[{label:"properties.label.chartDataSource",type:"chartDataSelect",target:"element",key:"chartDataVariable",placeholder:"properties.label.chartDataSourcePlaceholder"},{label:"properties.label.chartType",type:"select",target:"element",key:"chartType",defaultValue:"bar",options:[{label:"properties.option.chartBar",value:"bar"},{label:"properties.option.chartLine",value:"line"},{label:"properties.option.chartArea",value:"area"},{label:"properties.option.chartPie",value:"pie"},{label:"properties.option.chartDoughnut",value:"doughnut"}]},{label:"properties.label.chartXField",type:"chartFieldSelect",target:"element",key:"chartXField",placeholder:"properties.label.chartXFieldPlaceholder",condition:{field:"chartType",values:["bar","line","area"]}},{label:"properties.label.chartYField",type:"chartFieldSelect",target:"element",key:"chartYField",placeholder:"properties.label.chartYFieldPlaceholder",condition:{field:"chartType",values:["bar","line","area"]}},{label:"properties.label.chartNameField",type:"chartFieldSelect",target:"element",key:"chartNameField",placeholder:"properties.label.chartNameFieldPlaceholder",condition:{field:"chartType",values:["pie","doughnut"]}},{label:"properties.label.chartValueField",type:"chartFieldSelect",target:"element",key:"chartValueField",placeholder:"properties.label.chartValueFieldPlaceholder",condition:{field:"chartType",values:["pie","doughnut"]}}]},{title:"properties.section.chartTitleStyle",tab:"style",fields:[{label:"properties.label.chartTitle",type:"text",target:"element",key:"chartTitle",placeholder:"properties.label.chartTitlePlaceholder"},{label:"properties.label.chartTitleFontSize",type:"number",target:"element",key:"chartTitleFontSize",min:10,max:32,step:1,defaultValue:14},{label:"properties.label.chartTitleColor",type:"color",target:"element",key:"chartTitleColor"},{label:"properties.label.chartTitleFontWeight",type:"select",target:"element",key:"chartTitleFontWeight",options:[{label:"properties.option.normal",value:"normal"},{label:"properties.option.bold",value:"bold"}]}]},{title:"properties.section.chartLegend",tab:"style",fields:[{label:"properties.label.chartShowLegend",type:"switch",target:"element",key:"chartShowLegend",defaultValue:!0},{label:"properties.label.chartLegendPosition",type:"select",target:"element",key:"chartLegendPosition",options:[{label:"properties.option.top",value:"top"},{label:"properties.option.bottom",value:"bottom"},{label:"properties.option.left",value:"left"},{label:"properties.option.right",value:"right"}]},{label:"properties.label.chartLegendFontSize",type:"number",target:"element",key:"chartLegendFontSize",min:8,max:20,step:1,defaultValue:11},{label:"properties.label.chartLegendColor",type:"color",target:"element",key:"chartLegendColor"}]},{title:"properties.section.chartAxis",tab:"style",fields:[{label:"properties.label.chartXAxisTitle",type:"text",target:"element",key:"chartXAxisTitle",placeholder:"properties.label.chartXAxisTitlePlaceholder"},{label:"properties.label.chartYAxisTitle",type:"text",target:"element",key:"chartYAxisTitle",placeholder:"properties.label.chartYAxisTitlePlaceholder"},{label:"properties.label.chartXAxisFontSize",type:"number",target:"element",key:"chartXAxisFontSize",min:8,max:20,step:1,defaultValue:10},{label:"properties.label.chartYAxisFontSize",type:"number",target:"element",key:"chartYAxisFontSize",min:8,max:20,step:1,defaultValue:10},{label:"properties.label.chartXAxisColor",type:"color",target:"element",key:"chartXAxisColor"},{label:"properties.label.chartYAxisColor",type:"color",target:"element",key:"chartYAxisColor"},{label:"properties.label.chartShowGrid",type:"switch",target:"element",key:"chartShowGrid",defaultValue:!0},{label:"properties.label.chartGridColor",type:"color",target:"element",key:"chartGridColor"}]},{title:"properties.section.chartBarStyle",tab:"style",condition:{field:"chartType",values:["bar"]},fields:[{label:"properties.label.chartBarWidth",type:"number",target:"element",key:"chartBarWidth",min:10,max:100,step:5,defaultValue:40},{label:"properties.label.chartBarColor",type:"color",target:"element",key:"chartBarColor"}]},{title:"properties.section.chartLineStyle",tab:"style",condition:{field:"chartType",values:["line","area"]},fields:[{label:"properties.label.chartLineSmooth",type:"switch",target:"element",key:"chartLineSmooth",defaultValue:!0},{label:"properties.label.chartLineWidth",type:"number",target:"element",key:"chartLineWidth",min:1,max:10,step:1,defaultValue:2},{label:"properties.label.chartLineColor",type:"color",target:"element",key:"chartLineColor"}]},{title:"properties.section.chartDataLabel",tab:"style",condition:{field:"chartType",values:["bar","line","area"]},fields:[{label:"properties.label.chartShowDataLabel",type:"switch",target:"element",key:"chartShowDataLabel",defaultValue:!1}]},{title:"properties.section.chartPieStyle",tab:"style",condition:{field:"chartType",values:["pie","doughnut"]},fields:[{label:"properties.label.chartPieRadius",type:"number",target:"element",key:"chartPieRadius",min:30,max:100,step:5,defaultValue:70,condition:{field:"chartType",values:["pie"]}},{label:"properties.label.chartDoughnutInnerRadius",type:"number",target:"element",key:"chartDoughnutInnerRadius",min:10,max:60,step:5,defaultValue:40,condition:{field:"chartType",values:["doughnut"]}},{label:"properties.label.chartDoughnutOuterRadius",type:"number",target:"element",key:"chartDoughnutOuterRadius",min:40,max:100,step:5,defaultValue:70,condition:{field:"chartType",values:["doughnut"]}}]},{title:"properties.section.advanced",tab:"style",fields:[{label:"properties.label.chartShowTooltip",type:"switch",target:"element",key:"chartShowTooltip",defaultValue:!0}]}]},aS=Nn({__name:"ChartElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=nn("registerRenderTask",null),i=Ft(null),o=Ft(!1);let a=null,s=null;const l=Ta(()=>t.element.chartType||"bar"),u=Ta(()=>{const e=t.element.chartColors;return e&&e.length>0?e:["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"]}),c=Ta(()=>{const e=t.element.chartDataVariable;if(e){const t=Lb(e),n=r.testData;let i=Ub(n||{},t);if(!Array.isArray(i)){const e=t.split(".");let r=n;for(const t of e){if(!r||"object"!=typeof r||!(t in r))break;r=r[t]}Array.isArray(r)&&(i=r)}if(Array.isArray(i))return i}return t.element.chartData||[]}),A=Ta(()=>t.element.chartTitle||""),d=Ta(()=>!1!==t.element.chartShowLegend),h=Ta(()=>!1!==t.element.chartShowTooltip),p=Ta(()=>{try{const e=t.element.chartCustomOptions;if(e&&"string"==typeof e&&e.trim())return JSON.parse(e)}catch{}return null});let f=null;function g(){const e=l.value,r=c.value,n=u.value,i=t.element.chartXField||"name",o=t.element.chartYField||"value",a=t.element.chartNameField||"name",s=t.element.chartValueField||"value",f=p.value;if(f)return f;const g=t.element.chartTitleFontSize||14,v=t.element.chartTitleColor||"#333333",m=t.element.chartTitleFontWeight||"normal",y=t.element.chartLegendPosition||"bottom",b=t.element.chartLegendFontSize||11,w=t.element.chartLegendColor||"#666666",x=t.element.chartXAxisTitle,_=t.element.chartYAxisTitle,C=t.element.chartXAxisFontSize||10,S=t.element.chartYAxisFontSize||10,B=t.element.chartXAxisColor||"#666666",k=t.element.chartYAxisColor||"#666666",E=!1!==t.element.chartShowGrid,I=t.element.chartGridColor||"#e5e7eb",T=t.element.chartBarWidth||40,P=t.element.chartBarColor,M=!1!==t.element.chartLineSmooth,L=t.element.chartLineWidth||2,D=t.element.chartLineColor,N=t.element.chartShowDataLabel||!1,O=t.element.chartPieRadius||70,F=t.element.chartDoughnutInnerRadius||40,U=t.element.chartDoughnutOuterRadius||70,z={color:n,title:A.value?{text:A.value,left:"center",textStyle:{fontSize:g,color:v,fontWeight:m}}:void 0,tooltip:h.value?{trigger:"pie"===e||"doughnut"===e?"item":"axis"}:void 0,legend:d.value?{[y]:"top"===y||"bottom"===y?0:10,left:"left"===y||"right"===y?"left"===y?10:"auto":"center",orient:"left"===y||"right"===y?"vertical":"horizontal",textStyle:{fontSize:b,color:w}}:void 0};if("pie"===e||"doughnut"===e){const t={type:"pie",radius:"doughnut"===e?[`${F}%`,`${U}%`]:`${O}%`,center:["50%","55%"],data:r.map(e=>({name:e[a]||"",value:e[s]||0})),label:{show:N,fontSize:11,formatter:"{b}: {c} ({d}%)"},emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}}};return{...z,series:[t]}}const R=r.map(e=>e[i]||""),Q=r.map(e=>e[o]||0),H=E?{left:"3%",right:"4%",bottom:d.value&&"bottom"===y?"15%":"8%",top:A.value&&"top"===y?"15%":"8%",containLabel:!0}:void 0,V={type:"category",data:R,name:x,nameTextStyle:{fontSize:C,color:B},axisLabel:{fontSize:C,color:B},axisLine:{lineStyle:{color:B}},splitLine:E?{lineStyle:{color:I}}:void 0,boundaryGap:"bar"!==e},j={type:"value",name:_,nameTextStyle:{fontSize:S,color:k},axisLabel:{fontSize:S,color:k},axisLine:{lineStyle:{color:k}},splitLine:E?{lineStyle:{color:I}}:void 0};return"bar"===e?{...z,grid:H,xAxis:V,yAxis:j,series:[{type:"bar",data:Q,barMaxWidth:T,itemStyle:{color:P||void 0},label:N?{show:!0,position:"top",fontSize:10}:void 0}]}:"line"===e?{...z,grid:H,xAxis:V,yAxis:j,series:[{type:"line",data:Q,smooth:M,lineStyle:{width:L,color:D||void 0},symbol:"circle",symbolSize:6,label:N?{show:!0,position:"top",fontSize:10}:void 0}]}:"area"===e?{...z,grid:H,xAxis:V,yAxis:j,series:[{type:"line",data:Q,smooth:M,lineStyle:{width:L,color:D||void 0},symbol:"circle",symbolSize:6,areaStyle:{},label:N?{show:!0,position:"top",fontSize:10}:void 0}]}:{}}async function v(){if(!i.value||o.value)return;m();const e=await async function(){if(f)return f;try{const[e,t,r,n]=await Promise.all([Promise.resolve().then(()=>wse),Promise.resolve().then(()=>abe),Promise.resolve().then(()=>Vke),Promise.resolve().then(()=>uIe)]);return e.use([t.BarChart,t.LineChart,t.PieChart,r.TitleComponent,r.TooltipComponent,r.LegendComponent,r.GridComponent,n.CanvasRenderer]),f=e,e}catch(gH){return o.value=!0,null}}();if(e&&i.value){try{a=e.init(i.value),a.setOption(g())}catch(gH){return void(o.value=!0)}s=new ResizeObserver(()=>{null==a||a.resize()}),s.observe(i.value)}}function m(){if(s&&(s.disconnect(),s=null),a){try{a.dispose()}catch{}a=null}}return ei(()=>{const e=br().then(()=>v());n&&n(e)}),ii(()=>{m()}),an(()=>[t.element.chartType,t.element.chartData,t.element.chartDataVariable,t.element.chartColors,t.element.chartXField,t.element.chartYField,t.element.chartNameField,t.element.chartValueField,t.element.chartShowLegend,t.element.chartShowTooltip,t.element.chartTitle,t.element.chartBarWidth,t.element.chartBarColor,t.element.chartLineSmooth,t.element.chartLineWidth,t.element.chartLineColor,t.element.chartShowDataLabel,t.element.chartCustomOptions,r.testData],()=>{if(a)try{a.setOption(g(),!0)}catch{}else if(!o.value){const e=br().then(()=>v());n&&n(e)}},{deep:!0}),(e,n)=>(Ro(),jo("div",iS,[Xo("div",{ref_key:"chartRef",ref:i,class:X(["w-full h-full",{"opacity-30":!Qt(r).isExporting&&Qt(r).showVariableNames&&!!t.element.chartDataVariable}])},null,2),!Qt(r).isExporting&&Qt(r).showVariableNames&&t.element.chartDataVariable?(Ro(),jo("div",{key:0,class:"absolute inset-0 flex items-center justify-center pointer-events-none",style:G({fontSize:`${t.element.style.fontSize||14}px`,color:t.element.style.color||"#666"})},oe("{#"+Qt(Lb)(t.element.chartDataVariable)+"}"),5)):na("",!0)]))}}),sS=["data-auto-height"],lS={key:0,class:"whitespace-pre-wrap"},uS={key:1,class:"whitespace-pre-wrap text-gray-400 italic text-center"},cS={sections:[{title:"properties.section.fieldSelection",tab:"fieldSelection",fields:[{label:"properties.label.content",type:"longText",target:"element",key:"content",placeholder:"properties.label.longTextPlaceholder"},{label:"properties.label.autoHeight",type:"switch",target:"style",key:"autoHeight"}]},{title:"properties.section.typography",tab:"style",fields:[{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:8,max:96,step:1},{label:"properties.label.color",type:"color",target:"style",key:"color"},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.option.default",value:""},{label:"properties.option.left",value:"left"},{label:"properties.option.center",value:"center"},{label:"properties.option.right",value:"right"}]},{label:"properties.label.verticalAlign",type:"select",target:"style",key:"verticalAlign",options:[{label:"properties.option.default",value:""},{label:"properties.option.top",value:"top"},{label:"properties.option.middle",value:"middle"},{label:"properties.option.bottom",value:"bottom"}]},{label:"properties.label.fontFamily",type:"select",target:"style",key:"fontFamily",options:[{label:"properties.option.default",value:""},{label:"properties.option.arial",value:"Arial, sans-serif"},{label:"properties.option.timesNewRoman",value:'"Times New Roman", serif'},{label:"properties.option.courierNew",value:'"Courier New", monospace'},{label:"properties.option.simSun",value:"SimSun, serif"},{label:"properties.option.simHei",value:"SimHei, sans-serif"}]},{label:"properties.label.fontWeight",type:"select",target:"style",key:"fontWeight",options:[{label:"properties.option.default",value:""},{label:"properties.option.normal",value:"400"},{label:"properties.option.medium",value:"500"},{label:"properties.option.bold",value:"700"}]}]},{title:"properties.section.border",tab:"style",fields:[{label:"properties.label.borderStyle",type:"select",target:"style",key:"borderStyle",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.solid",value:"solid"},{label:"properties.option.dashed",value:"dashed"},{label:"properties.option.dotted",value:"dotted"}]},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:20,step:1},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"}]}]},AS=Nn({__name:"LongTextElement",props:{element:{}},setup(e){const t=e,{t:r}=dh(),n=Wb(),i=/\{#([^}]+)\}/g,o=e=>{const t=[];let r,n=0;const i=new RegExp(/\[color=([^\]]+)\]([\s\S]*?)\[\/color\]/,"g");for(;null!==(r=i.exec(e));){r.index>n&&t.push({text:e.substring(n,r.index)});const i=r[1],a=r[2];let s=i,l=1;if(i.includes(",alpha=")){const e=i.split(",alpha=");s=e[0],l=parseFloat(e[1])||1}if(a){const e=o(a);if(1!==e.length||e[0].color)for(const r of e)t.push({text:r.text,color:r.color||s,alpha:r.alpha??l});else t.push({text:e[0].text,color:s,alpha:l})}n=r.index+r[0].length}return n<e.length&&t.push({text:e.substring(n)}),t},a=e=>{let t=e;return t=t.replace(i,(e,t)=>(e=>{const t=e.trim();if(!n.isExporting&&n.showVariableNames)return`{#${e}}`;if(n.isExporting){const e=Ub(n.variables||{},t);if(null!=e)return String(e)}const r=Ub(n.testData,t);return null!=r?String(r):`{#${e}}`})(t)),t},s=Ta(()=>{const e=t.element.content||"",r=a(e),n=o(r),i=[];for(const t of n){if(""===t.text)continue;const e=i[i.length-1];e&&e.color===t.color?e.text+=t.text:i.push({...t})}return i}),l=Ta(()=>!t.element.content),u=Ta(()=>{const e=t.element.style.verticalAlign;return"middle"===e?"center":"bottom"===e?"flex-end":"flex-start"});return(t,n)=>(Ro(),jo("div",{class:"w-full h-full overflow-hidden","data-auto-height":e.element.style.autoHeight?"true":void 0,style:G({display:"flex",flexDirection:"column",justifyContent:u.value,fontSize:`${e.element.style.fontSize}px`,fontFamily:e.element.style.fontFamily,fontWeight:e.element.style.fontWeight,fontStyle:e.element.style.fontStyle,textAlign:e.element.style.textAlign,textDecoration:e.element.style.textDecoration,color:e.element.style.color,padding:`${e.element.style.padding||0}px`,whiteSpace:"pre-wrap",wordBreak:"break-word",backgroundColor:e.element.style.backgroundColor||"transparent"})},[l.value?(Ro(),jo("div",uS,oe(Qt(r)("properties.label.longTextPlaceholder").split("\n")[0]),1)):(Ro(),jo("div",lS,[(Ro(!0),jo(Do,null,pi(s.value,(e,t)=>{return Ro(),jo("span",{key:t,style:G(e.color?{color:void 0!==e.alpha&&e.alpha<1?(r=e.color,n=e.alpha,`rgba(${parseInt(r.slice(1,3),16)}, ${parseInt(r.slice(3,5),16)}, ${parseInt(r.slice(5,7),16)}, ${n})`):e.color}:{})},oe(e.text),5);var r,n}),128))]))],12,sS))}}),dS=["innerHTML"],hS={sections:[{title:"properties.section.content",tab:"properties",fields:[{label:"properties.label.richTextContent",type:"richText",target:"element",key:"content",placeholder:"properties.label.richTextPlaceholder"}]},{title:"properties.section.typography",tab:"style",fields:[{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:8,max:96,step:1},{label:"properties.label.color",type:"color",target:"style",key:"color"},{label:"properties.label.lineHeight",type:"number",target:"style",key:"lineHeight",min:1,max:3,step:.1},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.option.left",value:"left"},{label:"properties.option.center",value:"center"},{label:"properties.option.right",value:"right"}]}]}]},pS=zC(Nn({__name:"RichTextElement",props:{element:{}},setup(e){const t=e;Wb();const r=Ta(()=>{if(!t.element.content)return"";try{return(new DOMParser).parseFromString(t.element.content,"text/html").body.innerHTML}catch{return t.element.content}});return(t,n)=>{var i,o,a,s,l;return Ro(),jo("div",{class:"w-full h-full overflow-auto rich-text-content",contenteditable:"false",style:G({fontSize:`${(null==(i=e.element.style)?void 0:i.fontSize)||14}px`,color:(null==(o=e.element.style)?void 0:o.color)||"#000000",lineHeight:(null==(a=e.element.style)?void 0:a.lineHeight)||1.5,textAlign:(null==(s=e.element.style)?void 0:s.textAlign)||"left",padding:`${(null==(l=e.element.style)?void 0:l.padding)||4}px`}),innerHTML:r.value},null,12,dS)}}}),[["__scopeId","data-v-fa75f7dc"]]),fS={key:0},gS={key:1},vS={sections:[{title:"properties.section.dataBehavior",tab:"properties",fields:[{label:"properties.label.dateVariable",type:"field",target:"element",key:"variable",placeholder:"properties.label.selectDateField",filter:"text"},{label:"properties.label.dateFormat",type:"select",target:"element",key:"format",options:[{label:"2024-01-01",value:"YYYY-MM-DD"},{label:"2024/01/01",value:"YYYY/MM/DD"},{label:"2024年01月01日",value:"YYYY年MM月DD日"},{label:"2024-01-01 12:30",value:"YYYY-MM-DD HH:mm"},{label:"2024/01/01 12:30:00",value:"YYYY/MM/DD HH:mm:ss"},{label:"01月01日 12:30",value:"MM月DD日 HH:mm"}]}]},{title:"properties.section.typography",tab:"style",fields:[{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:8,max:96,step:1},{label:"properties.label.color",type:"color",target:"style",key:"color"},{label:"properties.label.fontWeight",type:"select",target:"style",key:"fontWeight",options:[{label:"properties.option.normal",value:"400"},{label:"properties.option.medium",value:"500"},{label:"properties.option.bold",value:"700"}]},{label:"properties.label.textAlign",type:"select",target:"style",key:"textAlign",options:[{label:"properties.option.left",value:"left"},{label:"properties.option.center",value:"center"},{label:"properties.option.right",value:"right"}]}]}]},mS=Nn({__name:"DateElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=(e,t)=>{const r=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),i=String(e.getDate()).padStart(2,"0"),o=String(e.getHours()).padStart(2,"0"),a=String(e.getMinutes()).padStart(2,"0"),s=String(e.getSeconds()).padStart(2,"0");return t.replace("YYYY",String(r)).replace("MM",n).replace("DD",i).replace("HH",o).replace("mm",a).replace("ss",s)},i=Ta(()=>{const e=t.element.format||"YYYY-MM-DD",i=t.element.variable;if(i){const t=Lb(i),o=Ub(r.testData||{},t);if(o){const t=new Date(o);if(!isNaN(t.getTime()))return n(t,e)}}return n(new Date,e)});return(t,n)=>{var o,a,s,l,u;return Ro(),jo("div",{class:"w-full h-full flex items-center",style:G({fontSize:`${(null==(o=e.element.style)?void 0:o.fontSize)||14}px`,color:(null==(a=e.element.style)?void 0:a.color)||"#000000",fontWeight:(null==(s=e.element.style)?void 0:s.fontWeight)||"400",textAlign:(null==(l=e.element.style)?void 0:l.textAlign)||"left",padding:`${(null==(u=e.element.style)?void 0:u.padding)||4}px`})},[Qt(r).showVariableNames&&e.element.variable?(Ro(),jo("span",fS,"{#"+oe(e.element.variable)+"}",1)):(Ro(),jo("span",gS,oe(i.value),1))],4)}}}),yS={class:"flex items-baseline gap-1"},bS={key:0,class:"text-gray-400 text-sm"},wS={key:0,class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},xS={key:1,class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_S={sections:[{title:"properties.section.dataSource",tab:"properties",fields:[{label:"properties.label.dataVariable",type:"field",target:"element",key:"variable",placeholder:"properties.label.selectField"},{label:"properties.label.customTitle",type:"input",target:"element",key:"customTitle",placeholder:"properties.label.customTitlePlaceholder"},{label:"properties.label.cardTitle",type:"input",target:"element",key:"label",placeholder:"properties.label.cardTitlePlaceholder"},{label:"properties.label.staticValue",type:"number",target:"element",key:"staticValue",min:0},{label:"properties.label.unit",type:"input",target:"element",key:"unit",placeholder:"properties.label.unitPlaceholder"},{label:"properties.label.valueKey",type:"input",target:"element",key:"valueKey",placeholder:"properties.label.valueKeyPlaceholder"},{label:"properties.label.labelKey",type:"input",target:"element",key:"labelKey",placeholder:"properties.label.labelKeyPlaceholder"},{label:"properties.label.trend",type:"select",target:"element",key:"trend",options:[{label:"properties.option.none",value:"none"},{label:"properties.option.up",value:"up"},{label:"properties.option.down",value:"down"}]},{label:"properties.label.trendValue",type:"input",target:"element",key:"trendValue",placeholder:"properties.label.trendValuePlaceholder"}]},{title:"properties.section.cardStyle",tab:"style",fields:[{label:"properties.label.backgroundColor",type:"color",target:"style",key:"backgroundColor"},{label:"properties.label.cardPadding",type:"number",target:"style",key:"padding",min:0,max:40},{label:"properties.label.borderRadius",type:"number",target:"style",key:"borderRadius",min:0,max:20},{label:"properties.label.valueFontSize",type:"number",target:"style",key:"valueFontSize",min:16,max:120},{label:"properties.label.labelFontSize",type:"number",target:"style",key:"labelFontSize",min:10,max:48}]}]},CS=Nn({__name:"DataCardElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=Ta(()=>{const e=t.element.variable,n=t.element.valueKey||"value",i=t.element.labelKey||"label";if(!e)return{label:t.element.customTitle||t.element.label||"未设置",value:t.element.staticValue||0,unit:t.element.unit||"",trend:t.element.trend||"none",trendValue:t.element.trendValue||""};const o=Lb(e),a=Ub(r.testData||{},o);let s=a,l=t.element.customTitle||t.element.label||"";const u=t.element.unit||"",c=t.element.trend||"none",A=t.element.trendValue||"";return"object"==typeof a&&null!==a&&(s=a[n]??a,t.element.customTitle||(l=a[i]||t.element.label||o)),l||(l=t.element.customTitle||o),{label:String(l),value:Number(s)||0,unit:String(u),trend:c,trendValue:String(A)}}),i=Ta(()=>{const e=n.value.value;return e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toLocaleString()});return(t,o)=>{var a,s,l;return Ro(),jo("div",{class:"w-full h-full flex flex-col justify-center items-center p-4 rounded-lg",style:G({backgroundColor:(null==(a=e.element.style)?void 0:a.backgroundColor)||"#f5f5f5",padding:`${(null==(s=e.element.style)?void 0:s.padding)||16}px`,borderRadius:`${(null==(l=e.element.style)?void 0:l.borderRadius)||8}px`})},[Xo("div",{class:"text-gray-500 mb-2",style:G({fontSize:`${e.element.labelFontSize||12}px`})},oe(n.value.label),5),Xo("div",yS,[Xo("span",{class:"font-bold text-gray-900",style:G({fontSize:`${e.element.valueFontSize||32}px`})},[Qt(r).showVariableNames&&e.element.variable?(Ro(),jo(Do,{key:0},[ta("{#"+oe(e.element.variable)+"}",1)],64)):(Ro(),jo(Do,{key:1},[ta(oe(i.value),1)],64))],4),n.value.unit&&!Qt(r).showVariableNames?(Ro(),jo("span",bS,oe(n.value.unit),1)):na("",!0)]),"none"===n.value.trend||Qt(r).showVariableNames?na("",!0):(Ro(),jo("div",{key:0,class:X(["mt-2 flex items-center gap-1 text-sm","up"===n.value.trend?"text-green-600":"text-red-600"])},["up"===n.value.trend?(Ro(),jo("svg",wS,[...o[0]||(o[0]=[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M7 17l5-5 5 5M7 7l5 5 5-5"},null,-1)])])):(Ro(),jo("svg",xS,[...o[1]||(o[1]=[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M17 7l-5 5-5-5m10 10l-5-5-5 5"},null,-1)])])),Xo("span",null,oe(n.value.trendValue),1)],2))],4)}}}),SS={key:4,class:"text-xs text-gray-400"},BS={sections:[{title:"properties.section.dataBehavior",tab:"properties",fields:[{label:"properties.label.progressTitle",type:"input",target:"element",key:"progressTitle",placeholder:"properties.label.progressTitlePlaceholder"},{label:"properties.label.progressTitlePosition",type:"select",target:"element",key:"titlePosition",options:[{label:"properties.option.left",value:"left"},{label:"properties.option.center",value:"center"},{label:"properties.option.right",value:"right"}]},{label:"properties.label.progressVariable",type:"field",target:"element",key:"variable",placeholder:"properties.label.selectField"},{label:"properties.label.staticPercent",type:"number",target:"element",key:"staticPercent",min:0,max:100},{label:"properties.label.percentKey",type:"input",target:"element",key:"percentKey",placeholder:"properties.label.percentKeyPlaceholder"},{label:"properties.label.colorKey",type:"input",target:"element",key:"colorKey",placeholder:"properties.label.colorKeyPlaceholder"}]},{title:"properties.section.progressStyle",tab:"style",fields:[{label:"properties.label.barColor",type:"color",target:"element",key:"barColor"},{label:"properties.label.barHeight",type:"number",target:"style",key:"height",min:4,max:40},{label:"properties.label.borderRadius",type:"number",target:"style",key:"borderRadius",min:0,max:20},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:5},{label:"properties.label.showLabel",type:"switch",target:"element",key:"showLabel"},{label:"properties.label.progressLabelPosition",type:"select",target:"element",key:"progressLabelPosition",options:[{label:"properties.option.inside",value:"inside"},{label:"properties.option.outside",value:"outside"},{label:"properties.option.hide",value:"none"}]}]}]},kS=Nn({__name:"ProgressElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=Ta(()=>{const e=t.element.variable,n=t.element.percentKey||"percent",i=t.element.colorKey||"color";let o=t.element.staticPercent??50,a=t.element.barColor||"#3b82f6";if(e){const s=Lb(e),l=Ub(r.testData||{},s);"object"==typeof l&&null!==l?(o=l[n]??l.percent??l.value??50,a=l[i]||t.element.barColor||"#3b82f6"):o=Number(l)||50}return{percent:Math.min(100,Math.max(0,Number(o))),color:a}}),i=Ta(()=>`${n.value.percent}%`);return(t,o)=>{var a,s,l,u,c,A,d,h,p,f,g;return Ro(),jo("div",{class:"w-full h-full flex items-center gap-3",style:G({padding:`${(null==(a=e.element.style)?void 0:a.padding)||8}px`})},[!e.element.progressTitle||e.element.titlePosition&&"left"!==e.element.titlePosition?na("",!0):(Ro(),jo("span",{key:0,class:"text-sm text-gray-600 dark:text-gray-400 flex-shrink-0 whitespace-nowrap",style:G({fontSize:`${(null==(s=e.element.style)?void 0:s.fontSize)||14}px`})},oe(e.element.progressTitle),5)),e.element.progressTitle&&"center"===e.element.titlePosition?(Ro(),jo("div",{key:1,class:"absolute left-1/2 -translate-x-1/2 text-sm text-gray-600 dark:text-gray-400 whitespace-nowrap",style:G({fontSize:`${(null==(l=e.element.style)?void 0:l.fontSize)||14}px`})},oe(e.element.progressTitle),5)):na("",!0),Xo("div",{class:"relative flex-1 overflow-hidden",style:G({height:`${(null==(u=e.element.style)?void 0:u.height)||20}px`,backgroundColor:(null==(c=e.element.style)?void 0:c.backgroundColor)||"#e5e7eb",borderRadius:`${(null==(A=e.element.style)?void 0:A.borderRadius)||10}px`,borderColor:(null==(d=e.element.style)?void 0:d.borderColor)||"transparent",borderWidth:(null==(h=e.element.style)?void 0:h.borderWidth)?`${e.element.style.borderWidth}px`:"0px",borderStyle:"solid"})},[Xo("div",{class:X(["absolute left-0 top-0 h-full transition-all duration-300",(null==(p=e.element.style)?void 0:p.borderRadius)?"":"rounded-full"]),style:G({width:Qt(r).showVariableNames&&e.element.variable?"50%":i.value,backgroundColor:n.value.color})},null,6),e.element.progressTitle&&"inside"===e.element.titlePosition?(Ro(),jo("span",{key:0,class:"absolute inset-0 flex items-center justify-center text-xs font-medium text-white",style:G({fontSize:`${(null==(f=e.element.style)?void 0:f.fontSize)||12}px`})},oe(e.element.progressTitle),5)):na("",!0)],4),e.element.progressTitle&&"right"===e.element.titlePosition?(Ro(),jo("span",{key:2,class:"text-sm text-gray-600 dark:text-gray-400 flex-shrink-0 whitespace-nowrap",style:G({fontSize:`${(null==(g=e.element.style)?void 0:g.fontSize)||14}px`})},oe(e.element.progressTitle),5)):na("",!0),e.element.showLabel&&"none"!==e.element.progressLabelPosition&&!Qt(r).showVariableNames?(Ro(),jo("div",{key:3,class:"text-sm font-medium text-gray-700",style:G({minWidth:"40px",textAlign:"outside"===e.element.progressLabelPosition?"left":"right"})},oe(n.value.percent)+"% ",5)):na("",!0),Qt(r).showVariableNames&&e.element.variable?(Ro(),jo("div",SS," {#"+oe(e.element.variable)+"} ",1)):na("",!0)],4)}}}),ES={sections:[{title:"properties.section.listItems",tab:"properties",fields:[{label:"properties.label.listLayout",type:"select",target:"element",key:"layout",options:[{label:"properties.option.horizontal",value:"horizontal"},{label:"properties.option.vertical",value:"vertical"}]},{label:"properties.label.iconSize",type:"number",target:"element",key:"iconSize",min:16,max:48},{label:"properties.label.listItem1",type:"input",target:"element",key:"item1",placeholder:"properties.label.listItemPlaceholder"},{label:"properties.label.listItem2",type:"input",target:"element",key:"item2",placeholder:"properties.label.listItemPlaceholder"},{label:"properties.label.listItem3",type:"input",target:"element",key:"item3",placeholder:"properties.label.listItemPlaceholder"},{label:"properties.label.listItem4",type:"input",target:"element",key:"item4",placeholder:"properties.label.listItemPlaceholder"},{label:"properties.label.listItem5",type:"input",target:"element",key:"item5",placeholder:"properties.label.listItemPlaceholder"}]},{title:"properties.section.typography",tab:"style",fields:[{label:"properties.label.fontSize",type:"number",target:"style",key:"fontSize",min:10,max:32},{label:"properties.label.color",type:"color",target:"style",key:"color"},{label:"properties.label.padding",type:"number",target:"style",key:"padding",min:0,max:20}]}]},IS=Nn({__name:"ListElement",props:{element:{}},setup(e){const t=e;Wb();const r=Ta(()=>{const e=t.element.item1||"列表项 1",r=t.element.item2||"",n=t.element.item3||"",i=t.element.item4||"",o=t.element.item5||"",a=["#3b82f6","#10b981","#f59e0b","#8b5cf6","#ec4899"],s=[];return[e,r,n,i,o].forEach((e,t)=>{e&&s.push({id:t+1,title:e,iconBgColor:a[t]||a[0]})}),s.length>0?s:[{id:1,title:"列表项 1",iconBgColor:"#3b82f6"},{id:2,title:"列表项 2",iconBgColor:"#10b981"},{id:3,title:"列表项 3",iconBgColor:"#f59e0b"}]}),n=Ta(()=>t.element.layout||"horizontal"),i=Ta(()=>t.element.iconSize||24);return(t,o)=>{var a;return Ro(),jo("div",{class:X(["w-full h-full flex items-center gap-3 p-2 overflow-hidden","vertical"===n.value?"flex-col":"flex-row"]),style:G({padding:`${(null==(a=e.element.style)?void 0:a.padding)||8}px`})},[(Ro(!0),jo(Do,null,pi(r.value.slice(0,5),(t,r)=>{var o,a;return Ro(),jo("div",{key:t.id||r,class:X(["flex items-center gap-2 flex-shrink-0","vertical"===n.value?"w-full":""])},[Xo("div",{class:"flex items-center justify-center rounded-full text-white font-bold flex-shrink-0",style:G({width:`${i.value}px`,height:`${i.value}px`,backgroundColor:t.iconBgColor||"#3b82f6",fontSize:`${Math.max(10,.5*i.value)}px`})},oe(r+1),5),Xo("span",{class:"text-gray-700 text-sm truncate",style:G({fontSize:`${(null==(o=e.element.style)?void 0:o.fontSize)||14}px`,color:(null==(a=e.element.style)?void 0:a.color)||"#374151"})},oe(t.title),5)],2)}),128))],6)}}}),TS=["src","alt"],PS={key:0,class:"text-center text-xs text-gray-500 mt-1"},MS={class:"text-xs text-gray-400"},LS={sections:[{title:"properties.section.signature",tab:"properties",fields:[{label:"properties.label.signatureImage",type:"image",target:"element",key:"src"},{label:"properties.label.signatureLabel",type:"input",target:"element",key:"label",placeholder:"properties.label.signatureLabelPlaceholder"},{label:"properties.label.signatureType",type:"select",target:"element",key:"signatureType",options:[{label:"properties.option.seal",value:"seal"},{label:"properties.option.signature",value:"signature"},{label:"properties.option.qrcode",value:"qrcode"}]},{label:"properties.label.sealText",type:"input",target:"element",key:"sealText",placeholder:"properties.label.sealTextPlaceholder"}]},{title:"properties.section.appearance",tab:"style",fields:[{label:"properties.label.opacity",type:"number",target:"style",key:"opacity",min:0,max:100},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:10},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"}]}]},DS=Nn({__name:"SignatureElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=Ta(()=>t.element.src?t.element.src:null),i=Ta(()=>!t.element.src&&!r.isExporting);return(t,r)=>{var o,a,s;return Ro(),jo("div",{class:"w-full h-full flex flex-col items-center justify-center border-2 border-dashed border-gray-300 rounded-lg",style:G({opacity:(null==(o=e.element.style)?void 0:o.opacity)??100,borderColor:(null==(a=e.element.style)?void 0:a.borderColor)||"#d1d5db",borderWidth:(null==(s=e.element.style)?void 0:s.borderWidth)?`${e.element.style.borderWidth}px`:"2px"})},[n.value?(Ro(),jo(Do,{key:0},[Xo("img",{src:n.value,alt:e.element.label||"印章/签名",class:"max-w-full max-h-full object-contain"},null,8,TS),e.element.label?(Ro(),jo("div",PS,oe(e.element.label),1)):na("",!0)],64)):i.value?(Ro(),jo(Do,{key:1},[r[0]||(r[0]=Xo("svg",{class:"w-8 h-8 text-gray-400 mb-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})],-1)),Xo("span",MS,oe(e.element.label||"印章/签名区域"),1)],64)):na("",!0)],4)}}}),NS={class:"w-full h-full overflow-auto p-2"},OS={key:0,class:"p-2 text-sm text-gray-400"},FS={key:1,class:"flex items-center justify-center h-full text-gray-400 text-sm"},US={key:2,class:"space-y-2"},zS={class:"text-xs opacity-70"},RS={class:"w-full text-sm"},QS={sections:[{title:"properties.section.nestedTable",tab:"properties",fields:[{label:"properties.label.nestedDataSource",type:"nestedTableData",target:"element",key:"variable"},{label:"properties.label.parentLabelKey",type:"input",target:"element",key:"parentLabelKey",placeholder:"properties.label.parentLabelKeyPlaceholder"}]},{title:"properties.section.nestedColumns",tab:"properties",fields:[{label:"properties.label.nestedColumns",type:"nestedColumns",target:"element",key:"nestedColumns"}]},{title:"properties.section.nestedTableStyle",tab:"style",fields:[{label:"properties.label.headerBgColor",type:"color",target:"style",key:"headerBackgroundColor"},{label:"properties.label.headerTextColor",type:"color",target:"style",key:"headerColor"},{label:"properties.label.rowHeight",type:"number",target:"style",key:"rowHeight",min:20,max:60},{label:"properties.label.borderColor",type:"color",target:"style",key:"borderColor"},{label:"properties.label.borderWidth",type:"number",target:"style",key:"borderWidth",min:0,max:5}]}]},HS=Nn({__name:"NestedTableElement",props:{element:{}},setup(e){const t=e,r=Wb(),n=Ta(()=>t.element.nestedColumns&&Array.isArray(t.element.nestedColumns)?t.element.nestedColumns:[{field:"name",header:"名称",width:100},{field:"value",header:"数值",width:80}]),i=Ta(()=>{const e=t.element.variable,n=t.element.parentLabelKey||"name",i=t.element.childField||"children",o=r.testData||{};let a=[];if(e){const t=Ub(o,Lb(e));if(Array.isArray(t))a=t;else if(t&&"object"==typeof t){const e=Object.values(t);e.some(e=>Array.isArray(e))&&(a=e.filter(e=>Array.isArray(e)).flat())}}return a.map(e=>({parentLabel:e[n]||e.name||e.title||"未命名",childData:Array.isArray(e[i])?e[i]:[]})).filter(e=>e.childData.length>0)});return(t,o)=>(Ro(),jo("div",NS,[Qt(r).showVariableNames&&e.element.variable?(Ro(),jo("div",OS," {#"+oe(e.element.variable)+"} ",1)):0===i.value.length?(Ro(),jo("div",FS," 暂无数据 ")):(Ro(),jo("div",US,[(Ro(!0),jo(Do,null,pi(i.value,(t,r)=>{var i,o,a,s;return Ro(),jo("div",{key:r,class:"border rounded overflow-hidden",style:G({borderColor:(null==(i=e.element.style)?void 0:i.borderColor)||"#e5e7eb",borderWidth:(null==(o=e.element.style)?void 0:o.borderWidth)?`${e.element.style.borderWidth}px`:"1px"})},[Xo("div",{class:"px-3 py-2 font-medium text-sm flex items-center justify-between",style:G({backgroundColor:(null==(a=e.element.style)?void 0:a.headerBackgroundColor)||"#f3f4f6",color:(null==(s=e.element.style)?void 0:s.headerColor)||"#374151"})},[Xo("span",null,oe(t.parentLabel),1),Xo("span",zS,oe(t.childData.length)+" 项",1)],4),Xo("table",RS,[Xo("thead",null,[Xo("tr",null,[(Ro(!0),jo(Do,null,pi(n.value,t=>{var r,n,i,o;return Ro(),jo("th",{key:t.field,class:"px-3 py-2 text-left text-xs font-medium border-b",style:G({width:`${t.width}px`,backgroundColor:(null==(r=e.element.style)?void 0:r.headerBackgroundColor)||"#f9fafb",color:(null==(n=e.element.style)?void 0:n.headerColor)||"#6b7280",height:`${(null==(i=e.element.style)?void 0:i.rowHeight)||32}px`,borderColor:(null==(o=e.element.style)?void 0:o.borderColor)||"#e5e7eb"})},oe(t.header),5)}),128))])]),Xo("tbody",null,[(Ro(!0),jo(Do,null,pi(t.childData,(t,r)=>{var i;return Ro(),jo("tr",{key:r,class:"hover:bg-gray-50 border-b last:border-b-0",style:G({borderColor:(null==(i=e.element.style)?void 0:i.borderColor)||"#e5e7eb"})},[(Ro(!0),jo(Do,null,pi(n.value,r=>{var n;return Ro(),jo("td",{key:r.field,class:"px-3 py-2 text-gray-700",style:G({height:`${(null==(n=e.element.style)?void 0:n.rowHeight)||32}px`})},oe(t[r.field]??"-"),5)}),128))],4)}),128))])])],4)}),128))]))]))}}),VS={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const jS=Lt({name:"material-symbols-add",render:function(e,t){return Ro(),jo("svg",VS,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M11 13H5v-2h6V5h2v6h6v2h-6v6h-2z"},null,-1)])])}}),GS={[Nm.TEXT]:e=>({content:e("canvas.newText"),style:{backgroundColor:"transparent",borderColor:"transparent"}}),[Nm.LONG_TEXT]:e=>({width:400,height:200,content:"",style:{backgroundColor:"transparent",borderColor:"transparent",fontSize:14,color:"#000000"}}),[Nm.IMAGE]:()=>({style:{backgroundColor:"transparent",borderColor:"transparent"}}),[Nm.BARCODE]:()=>({height:80,content:"12345678",style:{backgroundColor:"transparent",borderColor:"transparent"}}),[Nm.QRCODE]:()=>({width:100,content:"https://example.com",style:{backgroundColor:"transparent",borderColor:"transparent"}}),[Nm.LINE]:()=>({height:20,style:{borderColor:"#000000"}}),[Nm.RECT]:()=>({width:100,style:{backgroundColor:"transparent",borderColor:"#000000"}}),[Nm.CIRCLE]:()=>({width:100,style:{backgroundColor:"transparent",borderColor:"#000000"}}),[Nm.CHART]:e=>({width:300,height:200,chartType:"bar",chartTitle:e("sidebar.chart"),chartXField:"name",chartYField:"value",chartShowLegend:!0,chartShowTooltip:!0,chartData:[{name:e("canvas.defaultChartData.jan"),value:820},{name:e("canvas.defaultChartData.feb"),value:932},{name:e("canvas.defaultChartData.mar"),value:901},{name:e("canvas.defaultChartData.apr"),value:934},{name:e("canvas.defaultChartData.may"),value:1290},{name:e("canvas.defaultChartData.jun"),value:1330}],style:{backgroundColor:"#ffffff",borderColor:"#cccccc"}}),[Nm.PAGE_NUMBER]:()=>({width:52,height:20,format:"1/Total",labelColor:"#000000",labelBackgroundColor:"transparent",labelBorderColor:"transparent",style:{backgroundColor:"transparent",borderColor:"#000000"}}),[Nm.TABLE]:e=>({height:150,columnsVariable:"",footerDataVariable:"",columns:[],data:[],showFooter:!0,tfootRepeat:!0,autoPaginate:!0,repeatPerPage:!1,headerPosition:"top",footerData:[],customScript:"// RMB Uppercase Conversion\ntry {\n function digitUppercase(n) {\n var fraction = ['角', '分'];\n var digit = [\n '零', '壹', '贰', '叁', '肆',\n '伍', '陆', '柒', '捌', '玖'\n ];\n var unit = [\n ['元', '万', '亿'],\n ['', '拾', '佰', '仟']\n ];\n var head = n < 0 ? '欠' : '';\n n = Math.abs(n);\n var s = '';\n for (var i = 0; i < fraction.length; i++) {\n s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');\n }\n s = s || '整';\n n = Math.floor(n);\n for (var i = 0; i < unit[0].length && n > 0; i++) {\n var p = '';\n for (var j = 0; j < unit[1].length && n > 0; j++) {\n p = digit[n % 10] + unit[1][j] + p;\n n = Math.floor(n / 10);\n }\n s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;\n }\n return head + s.replace(/(零.)*零元/, '元')\n .replace(/(零.)+/g, '零')\n .replace(/^整$/, '零元整');\n }\n\n // 1. Calculate Total (works for both Global and Page data)\n let totalAmount = 0;\n let totalQty = 0;\n if (data && Array.isArray(data)) {\n data.forEach(row => {\n // Ensure numeric values\n const val = Number(row.total) || 0;\n const qty = Number(row.qty) || 0;\n totalAmount += val;\n totalQty += qty;\n });\n }\n\n // 2. Update Footer Data\n if (footerData && Array.isArray(footerData)) {\n footerData.forEach(row => {\n Object.keys(row).forEach(key => {\n const val = row[key];\n const processValue = (v) => {\n if (typeof v !== 'string') return v;\n \n // Global replacements (Grand Total)\n if (typeof type === 'undefined' || type !== 'page') {\n if (v.includes('{#totalSum}')) return v.replace('{#totalSum}', totalAmount.toFixed(2));\n if (v.includes('{#totalQty}')) return v.replace('{#totalQty}', String(totalQty));\n if (v.includes('{#totalCap}')) return v.replace('{#totalCap}', digitUppercase(totalAmount));\n \n // For {#pageSum}, we want to show the Grand Total in the Designer (visual feedback),\n // but pass the original {#pageSum} token to the Print logic (via data-value).\n if (v.includes('{#pageSum}')) {\n const displayVal = v.replace('{#pageSum}', totalAmount.toFixed(2));\n // printValue keeps {#pageSum} but resolves other globals\n const printVal = v.replace('{#totalSum}', totalAmount.toFixed(2))\n .replace('{#totalQty}', String(totalQty))\n .replace('{#totalCap}', digitUppercase(totalAmount)); \n \n return { value: displayVal, printValue: printVal };\n }\n\n // For {#pageQty}\n if (v.includes('{#pageQty}')) {\n const displayVal = v.replace('{#pageQty}', String(totalQty));\n // printValue keeps {#pageQty} but resolves other globals\n const printVal = v.replace('{#totalSum}', totalAmount.toFixed(2))\n .replace('{#totalQty}', String(totalQty))\n .replace('{#totalCap}', digitUppercase(totalAmount)); \n \n return { value: displayVal, printValue: printVal };\n }\n }\n \n // Page replacements (Page Sum)\n if (typeof type !== 'undefined' && type === 'page') {\n if (v.includes('{#pageSum}')) return v.replace('{#pageSum}', totalAmount.toFixed(2));\n if (v.includes('{#pageQty}')) return v.replace('{#pageQty}', String(totalQty));\n }\n return v;\n };\n\n // Handle object values\n if (val && typeof val === 'object') {\n // If it has a 'field' property, check if it contains a variable\n if (val.field && typeof val.field === 'string') {\n const processed = processValue(val.field);\n // If processed is different from field (meaning a replacement happened)\n // OR if processValue returned an object (for {#pageSum})\n if (processed !== val.field || typeof processed === 'object') {\n if (typeof processed === 'object') {\n val.result = processed.value; // Store in result, keep val.value as text\n val.printValue = processed.printValue;\n } else {\n val.result = processed;\n }\n }\n }\n // Also check 'value' if it was set manually and looks like a variable\n else if (val.value && typeof val.value === 'string') {\n // Only process if value looks like a variable, otherwise it's just text\n if (val.value.includes('{#')) {\n const processed = processValue(val.value);\n if (typeof processed === 'object') {\n val.result = processed.value;\n val.printValue = processed.printValue;\n } else {\n val.result = processed;\n }\n }\n }\n }\n });\n });\n }\n\n return { data, footerData };\n} catch (e) {\n console.error('Script Execution Error:', e);\n return { data, footerData };\n}",style:{backgroundColor:"transparent",borderColor:"#000000",headerBackgroundColor:"#f3f4f6",headerColor:"#000000",footerBackgroundColor:"#f9fafb",footerColor:"#000000",textAlign:"left",headerTextAlign:"left",footerTextAlign:"left"}}),[Nm.CUSTOM_TABLE]:()=>({width:400,height:200,customTableRows:3,customTableCols:3,customTableCells:[],style:{backgroundColor:"transparent",borderColor:"#000000",fontSize:14,color:"#000000",textAlign:"left"}}),[Nm.RICH_TEXT]:e=>({width:300,height:150,content:"<p>"+e("canvas.newRichText")+"</p>",style:{fontSize:14,color:"#000000",lineHeight:1.5}}),[Nm.DATE]:e=>({width:150,height:30,format:"YYYY-MM-DD",variable:"",style:{fontSize:14,color:"#000000"}}),[Nm.DATA_CARD]:e=>({width:200,height:120,customTitle:"",label:e("canvas.newDataCard")||"数据卡片",staticValue:100,unit:"",trend:"none",style:{backgroundColor:"#f5f5f5",borderRadius:8,valueFontSize:32,labelFontSize:12}}),[Nm.PROGRESS]:()=>({width:200,height:30,progressTitle:"",staticPercent:50,barColor:"#3b82f6",showLabel:!0,progressLabelPosition:"inside",style:{height:20,borderRadius:10,backgroundColor:"#e5e7eb"}}),[Nm.LIST]:()=>({width:300,height:80,layout:"horizontal",iconSize:24,item1:"列表项 1",item2:"列表项 2",item3:"列表项 3",item4:"",item5:"",style:{fontSize:14,padding:8}}),[Nm.SIGNATURE]:e=>({width:120,height:120,label:e("canvas.signature")||"印章/签名",signatureType:"seal",style:{borderColor:"#d1d5db",borderWidth:2,opacity:100}}),[Nm.NESTED_TABLE]:e=>({width:400,height:200,parentField:"categories",childField:"items",parentLabelKey:"name",variable:"",style:{headerBackgroundColor:"#f9fafb",headerColor:"#374151",rowHeight:32}})};const WS={key:0,class:"absolute top-0 -right-12 flex flex-col gap-2 z-10"},KS=["title","disabled"],qS=["title","disabled","onClick"],YS=["title","disabled","onClick"],XS=["title","disabled","onClick"],ZS=["id","onDrop","onMousedown","onContextmenu"],JS={key:0,"data-print-exclude":"true",class:"absolute inset-0 pointer-events-none opacity-50",style:{"background-image":"linear-gradient(#e5e7eb 1px, transparent 1px), linear-gradient(90deg, #e5e7eb 1px, transparent 1px)","background-size":"20px 20px"}},$S=["onMousedown"],eB=["onMousedown"],tB={key:5,"data-print-exclude":"true",class:"marker absolute inset-0 pointer-events-none z-50 opacity-50"},rB={key:6,"data-print-exclude":"true",class:"margin-guides absolute inset-0 pointer-events-none z-40"},nB=Nn({__name:"Canvas",setup(e){const t=Wb(),r=nn("designer-root",Ft(null)),{t:n}=dh(),i=Ta(()=>t.pages),o=Ta(()=>t.zoom);Ta(()=>t.pageSpacingX||0),Ta(()=>t.pageSpacingY||0);const a=Ta(()=>t.pageSpacingX||0),s=Ta(()=>t.pageSpacingX||0),l=Ta(()=>t.pageSpacingY||0),u=Ta(()=>t.pageSpacingY||0),c=Ta(()=>t.canvasSize),A=Ta(()=>t.isTemplateEditable),d=Ta(()=>t.canvasPreviewEnabled),h=Ta(()=>A.value&&!d.value),p=Ta(()=>{const e=[];for(const t of i.value)for(const r of t.elements)r.x<0&&e.push({id:r.id,reason:"左边界"}),r.y<0&&e.push({id:r.id,reason:"上边界"}),r.x+r.width>c.value.width&&e.push({id:r.id,reason:"右边界"}),r.y+r.height>c.value.height&&e.push({id:r.id,reason:"下边界"});return e});Ta(()=>new Set(p.value.map(e=>e.id)));const f=Ft(!1),g=Ft(null),v=Ft(null),m=(e,r)=>{if(!t.isTemplateEditable)return;e.preventDefault(),e.stopPropagation(),f.value=!0,g.value=r;const n=e.target;v.value=n.closest(".print-page"),window.addEventListener("mousemove",y),window.addEventListener("mouseup",b)},y=e=>{if(!f.value||!v.value)return;const r=v.value.getBoundingClientRect(),n=(e.clientY-r.top)/t.zoom,i=Math.max(0,Math.min(t.canvasSize.height,n));if("header"===g.value){const e=t.pageSpacingY||0,r=Math.max(0,i-e);t.setHeaderHeight(Math.round(r))}else if("footer"===g.value){const e=t.pageSpacingY||0,r=Math.max(0,t.canvasSize.height-i-e);t.setFooterHeight(Math.round(r))}},b=()=>{f.value=!1,g.value=null,v.value=null,window.removeEventListener("mousemove",y),window.removeEventListener("mouseup",b)};ii(()=>{window.removeEventListener("mousemove",y),window.removeEventListener("mouseup",b)});const w=Ta(()=>{const e={width:`${t.canvasSize.width}px`,height:`${t.canvasSize.height}px`,backgroundColor:t.canvasBackground};return x.value?{...e,...x.value}:e}),x=Ta(()=>{const e=t.watermark;if(!e||!e.enabled||!e.text)return null;const r=e.text.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");const n=Number.isFinite(e.angle)?e.angle:-30,i=Math.max(6,e.size||24),o=Math.max(40,e.density||160),a=e.color||"#000000",s=Math.min(1,Math.max(0,e.opacity??.1));return{backgroundImage:`url("data:image/svg+xml,${encodeURIComponent(`<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}"><text x="50%" y="50%" dominant-baseline="middle" text-anchor="middle" fill="${a}" fill-opacity="${s}" font-size="${i}" transform="rotate(${n} ${o/2} ${o/2})">${r}</text></svg>`)}")`,backgroundRepeat:"repeat",backgroundSize:`${o}px ${o}px`}}),_=Ta(()=>t.isDragging&&t.selectedElementId?t.pages.findIndex(e=>e.elements.some(e=>(null==e?void 0:e.id)===t.selectedElementId)):-1),C=Ft(!1),S=Ft({x:0,y:0}),B=Ft({x:0,y:0}),k=Ft(null),E=Ft(!1),I=Ta(()=>{if(!C.value)return{display:"none"};return{position:"absolute",left:`${Math.min(S.value.x,B.value.x)}px`,top:`${Math.min(S.value.y,B.value.y)}px`,width:`${Math.abs(B.value.x-S.value.x)}px`,height:`${Math.abs(B.value.y-S.value.y)}px`,border:"1px solid var(--brand-500)",backgroundColor:"var(--brand-500-alpha-10)",pointerEvents:"none",zIndex:1e3}}),T=e=>{switch(e){case Nm.TEXT:return Kx;case Nm.IMAGE:return Zx;case Nm.TABLE:return L_;case Nm.CUSTOM_TABLE:return RC;case Nm.PAGE_NUMBER:return VC;case Nm.BARCODE:return WC;case Nm.QRCODE:return XC;case Nm.LINE:return $C;case Nm.RECT:return tS;case Nm.CIRCLE:return nS;case Nm.CHART:return aS;case Nm.LONG_TEXT:return AS;case Nm.RICH_TEXT:return pS;case Nm.DATE:return mS;case Nm.DATA_CARD:return CS;case Nm.PROGRESS:return kS;case Nm.LIST:return IS;case Nm.SIGNATURE:return DS;case Nm.NESTED_TABLE:return HS;default:return Kx}},P=e=>!!e&&"string"==typeof e.id&&"string"==typeof e.type,M=e=>e.filter(P),L=e=>{const t=String(e||"").trim();return t?t.startsWith("@")?t:`@${t}`:""},D=(e,r)=>{var i;if(e.preventDefault(),!t.isTemplateEditable)return;const o=null==(i=e.dataTransfer)?void 0:i.getData("application/json");if(!o)return;const{type:a,payload:s,variable:l,dataVariable:u}=JSON.parse(o),c=e.currentTarget.getBoundingClientRect(),A=(e.clientX-c.left)/t.zoom,d=(e.clientY-c.top)/t.zoom;if(s)t.addElement({...s,x:A,y:d,locked:!1},r);else{if(l||u){const e=t.pages[r];if(e)for(let r=e.elements.length-1;r>=0;r--){const n=e.elements[r];if(!n)continue;if(A>=n.x&&A<=n.x+n.width&&d>=n.y&&d<=n.y+n.height){if(l&&n.type===Nm.TEXT){const e=L(l);return void t.updateElement(n.id,{variable:e,content:e})}if(u&&n.type===Nm.TABLE)return void t.updateElement(n.id,{variable:L(u)})}}return}if(a){const e=function(e,t,r,n){const i={type:e,x:t,y:r,width:200,height:100,variable:"",style:{fontSize:14,color:"#000000"}},o=GS[e],a=o?o(n):{};return{...i,...a,style:{...i.style,...a.style||{}}}}(a,A,d,n);t.addElement(e,r)}}},N=e=>{e.preventDefault()},O=e=>{e.ctrlKey||e.metaKey||E.value||t.selectElement(null)},F=e=>{if(!C.value||null===k.value)return;var t;const n=((null==(t=null==r?void 0:r.value)?void 0:t.getRootNode())||document).getElementById(`page-${k.value}`);if(!n)return;const i=n.getBoundingClientRect();B.value={x:(e.clientX-i.left)/o.value,y:(e.clientY-i.top)/o.value}},U=()=>{if(!C.value)return;const e=Math.min(S.value.x,B.value.x),r=Math.min(S.value.y,B.value.y),n=Math.abs(B.value.x-S.value.x),o=Math.abs(B.value.y-S.value.y),a=[];if(null!==k.value){const t=i.value[k.value];if(t)for(const i of M(t.elements)){const t=i.x+i.width,s=i.y+i.height,l=e+n,u=r+o;i.x<l&&t>e&&i.y<u&&s>r&&a.push(i.id)}}t.setSelection(a),C.value=!1,k.value=null,E.value=!0,setTimeout(()=>{E.value=!1},50),window.removeEventListener("mousemove",F),window.removeEventListener("mouseup",U)},z=()=>{if(0===i.value.length)return[];const e=i.value[0],r=t.pageSpacingY||0,n=t.pageSpacingY||0,o=t.headerHeight+r,a=t.canvasSize.height-(t.footerHeight+n);return M(e.elements).filter(e=>{if(e.type===Nm.TABLE)return!1;const r=t.getElementBoundsAtPosition(e,e.x,e.y),n=!0===e.repeatPerPage,i=t.showHeaderLine&&r.maxY<=o,s=t.showFooterLine&&r.minY>=a;return n||i||s})};return(e,r)=>(Ro(),jo("div",{class:"flex flex-col",style:G({transform:`scale(${o.value})`,transformOrigin:"top left",width:"fit-content",rowGap:"20px"})},[(Ro(!0),jo(Do,null,pi(i.value,(e,c)=>(Ro(),jo("div",{key:e.id,class:"relative group"},[h.value?(Ro(),jo("div",WS,[Xo("button",{class:"w-8 h-8 flex items-center justify-center bg-white border border-gray-200 rounded shadow hover:bg-blue-50 hover:text-blue-600 text-gray-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:Qt(n)("canvas.addPage"),disabled:!A.value,onClick:r[0]||(r[0]=e=>Qt(t).addPage())},[Zo(Qt(jS))],8,KS),Xo("button",{class:"w-8 h-8 flex items-center justify-center bg-white border border-gray-200 rounded shadow hover:bg-blue-50 hover:text-blue-600 text-gray-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:Qt(n)("canvas.copyPage"),disabled:!A.value,onClick:e=>Qt(t).copyPage(c)},[Zo(Qt(ox))],8,qS),Qt(t).copiedPage?(Ro(),jo("button",{key:0,class:"w-8 h-8 flex items-center justify-center bg-white border border-gray-200 rounded shadow hover:bg-blue-50 hover:text-blue-600 text-gray-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:Qt(n)("canvas.pastePage"),disabled:!A.value,onClick:e=>Qt(t).pastePage(c)},[Zo(Qt(sx))],8,YS)):na("",!0),c>0?(Ro(),jo("button",{key:1,class:"w-8 h-8 flex items-center justify-center bg-white border border-gray-200 rounded shadow hover:bg-red-50 hover:text-red-600 text-gray-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",title:Qt(n)("canvas.deletePage"),disabled:!A.value,onClick:e=>Qt(t).removePage(c)},[Zo(Qt(Ax))],8,XS)):na("",!0)])):na("",!0),Xo("div",{id:`page-${c}`,class:X(["print-page shadow-lg relative overflow-hidden transition-all",{"ring-2 ring-red-400":h.value&&p.value.length>0&&c===Qt(t).currentPageIndex}]),style:G([w.value,{overflow:_.value===c?"visible":"hidden",zIndex:_.value===c?50:1}]),onDrop:e=>D(e,c),onDragover:N,onMousedown:e=>((e,r)=>{if(!t.isTemplateEditable)return;if(0!==e.button||e.ctrlKey||e.metaKey)return;if(e.target.closest(".element-wrapper"))return;e.preventDefault(),C.value=!0,k.value=r;const n=e.currentTarget.getBoundingClientRect();S.value={x:(e.clientX-n.left)/o.value,y:(e.clientY-n.top)/o.value},B.value={...S.value},window.addEventListener("mousemove",F),window.addEventListener("mouseup",U)})(e,c),onContextmenu:e=>((e,r)=>{var n;const a=e.currentTarget.getBoundingClientRect(),s=(e.clientX-a.left)/o.value,l=(e.clientY-a.top)/o.value,u=i.value[r];if(!u)return;let c=null,A=-1/0;const d=M(u.elements);for(let t=0;t<d.length;t++){const e=d[t];if(s>=e.x&&s<=e.x+e.width&&l>=e.y&&l<=e.y+e.height){const t=(null==(n=e.style)?void 0:n.zIndex)??1;t>=A&&(A=t,c=e.id)}}c&&t.selectElement(c,!1)})(e,c),onClick:zs(O,["self"])},[Qt(t).showGrid?(Ro(),jo("div",JS)):na("",!0),C.value&&k.value===c?(Ro(),jo("div",{key:1,"data-print-exclude":"true",style:G(I.value)},null,4)):na("",!0),h.value&&Qt(t).showHeaderLine?(Ro(),jo("div",{key:2,"data-print-exclude":"true",class:X(["absolute left-0 w-full z-20 group flex flex-col justify-center items-center",0===c&&A.value?"cursor-row-resize":"cursor-default"]),style:G({top:`${Qt(t).headerHeight+l.value}px`,left:`${a.value}px`,width:Qt(t).canvasSize.width-a.value-s.value+"px",height:"12px",marginTop:"-6px"}),onMousedown:e=>0===c&&m(e,"header")},[Xo("div",{class:"w-full h-px",style:G({backgroundImage:0===c?"linear-gradient(to right, #f87171 60%, transparent 40%)":"linear-gradient(to right, #d1d5db 60%, transparent 40%)",backgroundSize:"20px 1px",backgroundRepeat:"repeat-x"})},null,4),Xo("div",{class:X(["absolute right-0 -top-4 text-xs bg-white/80 px-1 pointer-events-none",0===c?"text-red-400":"text-gray-400"])},oe(Qt(n)("canvas.headerLabel")),3)],46,$S)):na("",!0),h.value&&Qt(t).showFooterLine?(Ro(),jo("div",{key:3,"data-print-exclude":"true",class:X(["absolute left-0 w-full z-20 group flex flex-col justify-center items-center",0===c&&A.value?"cursor-row-resize":"cursor-default"]),style:G({bottom:`${Qt(t).footerHeight+u.value}px`,left:`${a.value}px`,width:Qt(t).canvasSize.width-a.value-s.value+"px",height:"12px",marginBottom:"-6px"}),onMousedown:e=>0===c&&m(e,"footer")},[Xo("div",{class:"w-full h-px",style:G({backgroundImage:0===c?"linear-gradient(to right, #f87171 60%, transparent 40%)":"linear-gradient(to right, #d1d5db 60%, transparent 40%)",backgroundSize:"20px 1px",backgroundRepeat:"repeat-x"})},null,4),Xo("div",{class:X(["absolute right-0 -bottom-4 text-xs bg-white/80 px-1 pointer-events-none",0===c?"text-red-400":"text-gray-400"])},oe(Qt(n)("canvas.footerLabel")),3)],46,eB)):na("",!0),c>0&&i.value.length>0?(Ro(!0),jo(Do,{key:4},pi(z(),e=>(Ro(),Go(jx,{key:`global-${e.id}`,element:e,"is-selected":Qt(t).selectedElementId===e.id||Qt(t).selectedElementIds.includes(e.id),zoom:o.value,"page-index":0,"read-only":!0},{default:Jr(()=>[(Ro(),Go(Ai(T(e.type)),{element:e,"page-index":c,"total-pages":i.value.length},null,8,["element","page-index","total-pages"]))]),_:2},1032,["element","is-selected","zoom"]))),128)):na("",!0),(Ro(!0),jo(Do,null,pi(M(e.elements),e=>(Ro(),Go(jx,{key:e.id,element:e,"is-selected":Qt(t).selectedElementId===e.id||Qt(t).selectedElementIds.includes(e.id),zoom:o.value,"page-index":c,"read-only":!h.value},{default:Jr(()=>[(Ro(),Go(Ai(T(e.type)),{element:e,"page-index":c,"total-pages":i.value.length},null,8,["element","page-index","total-pages"]))]),_:2},1032,["element","is-selected","zoom","page-index","read-only"]))),128)),h.value&&Qt(t).showCornerMarkers?(Ro(),jo("div",tB,[Xo("div",{class:"absolute w-3 h-3 border-t-2 border-l-2 border-gray-300",style:G({top:`${l.value}px`,left:`${a.value}px`})},null,4),Xo("div",{class:"absolute w-3 h-3 border-t-2 border-r-2 border-gray-300",style:G({top:`${l.value}px`,right:`${s.value}px`})},null,4),Xo("div",{class:"absolute w-3 h-3 border-b-2 border-l-2 border-gray-300",style:G({bottom:`${u.value}px`,left:`${a.value}px`})},null,4),Xo("div",{class:"absolute w-3 h-3 border-b-2 border-r-2 border-gray-300",style:G({bottom:`${u.value}px`,right:`${s.value}px`})},null,4)])):na("",!0),h.value&&Qt(t).showMarginLines&&(a.value>0||l.value>0)?(Ro(),jo("div",rB,[l.value>0?(Ro(),jo("div",{key:0,class:"absolute border-t border-dashed border-gray-400 w-full",style:G({top:`${l.value}px`})},null,4)):na("",!0),u.value>0?(Ro(),jo("div",{key:1,class:"absolute border-b border-dashed border-gray-400 w-full",style:G({bottom:`${u.value}px`})},null,4)):na("",!0),a.value>0?(Ro(),jo("div",{key:2,class:"absolute border-l border-dashed border-gray-400 h-full",style:G({left:`${a.value}px`})},null,4)):na("",!0),s.value>0?(Ro(),jo("div",{key:3,class:"absolute border-r border-dashed border-gray-400 h-full",style:G({right:`${s.value}px`})},null,4)):na("",!0)])):na("",!0)],46,ZS)]))),128))],4))}}),iB=Nn({__name:"PrintRenderer",props:{payload:{},token:{}},setup(e){const t=e,r=Ft(null),n=Wb(),i=t.token||new URLSearchParams(window.location.search).get("printToken")||"",o=window.location.origin,a=Ft([]);rn("registerRenderTask",e=>{a.value.push(e)});const s=()=>{var e;return(null==(e=r.value)?void 0:e.ownerDocument)||document},l=()=>s().defaultView||window,u=e=>{const t=l();t.parent&&t.parent!==t&&t.parent.postMessage({type:e,token:i},o),window.dispatchEvent(new CustomEvent(`print-renderer:${e}`,{detail:{token:i}}))},c=async e=>{n.$patch({pages:Dm(e.pages||[]),canvasSize:e.canvasSize||n.canvasSize,canvasBackground:e.canvasBackground||n.canvasBackground,headerHeight:e.headerHeight??n.headerHeight,footerHeight:e.footerHeight??n.footerHeight,pageSpacingX:e.pageSpacingX??n.pageSpacingX,pageSpacingY:e.pageSpacingY??n.pageSpacingY,showHeaderLine:e.showHeaderLine??!1,showFooterLine:e.showFooterLine??!1,showGrid:!1,showCornerMarkers:!1,zoom:1,currentPageIndex:0,selectedElementId:null,selectedElementIds:[],guides:[],testData:e.testData||{},variables:e.variables||{}}),e.watermark&&(n.watermark=Dm(e.watermark)),e.unit&&(n.unit=e.unit),n.setIsExporting(!0);s().body.classList.add("exporting"),a.value=[],await br(),await Promise.all(a.value),await(async(e=2e3)=>{const t=s().fonts;t&&t.ready&&await Promise.race([t.ready,new Promise(t=>setTimeout(t,e))])})(),await(async(e=2e3)=>{const t=s(),r=Array.from(t.images||[]).filter(e=>!e.complete);0!==r.length&&await Promise.race([Promise.all(r.map(e=>new Promise(t=>{const r=()=>{e.removeEventListener("load",r),e.removeEventListener("error",r),t()};e.addEventListener("load",r,{once:!0}),e.addEventListener("error",r,{once:!0})}))),new Promise(t=>setTimeout(t,e))])})(),requestAnimationFrame(()=>{u("print-renderer-rendered")})},A=e=>{if(e.origin!==o)return;const t=e.data;t&&"print-renderer-payload"===t.type&&t.token===i&&c(t.payload||{})};return ei(()=>{const e=s(),r=l();e.body.style.margin="0",e.body.style.background="#ffffff",r.addEventListener("message",A),t.payload?c(t.payload):u("print-renderer-ready")}),ii(()=>{l().removeEventListener("message",A)}),(e,t)=>(Ro(),jo("div",{class:"print-renderer",ref_key:"root",ref:r},[Zo(nB)],512))}}),oB=zC(iB,[["__scopeId","data-v-d181d33d"]]),aB=()=>{const e=Wb(),{printMode:t,silentPrint:r,localSettings:n,remoteSettings:i,localStatus:o,remoteStatus:a,localPrintOptions:s,remotePrintOptions:l,localWsUrl:u,remoteSelectedClientId:c,fetchRemoteClients:A,fetchRemotePrinters:d,submitRemoteTask:h,exportImageMerged:p}=Fx(),f=t=>{const r=Dm(t);if(0===r.length)return r;const n=e.headerHeight>0&&e.showHeaderLine,i=e.footerHeight>0&&e.showFooterLine,o=r[0],a=e.canvasSize.height,s=e.pageSpacingY||0,l=e.pageSpacingY||0,u=e.headerHeight+s,c=a-(e.footerHeight+l),A=n?o.elements.filter(t=>e.getElementBoundsAtPosition(t,t.x,t.y).maxY<=u):[],d=i?o.elements.filter(t=>e.getElementBoundsAtPosition(t,t.x,t.y).minY>=c):[],h=o.elements.filter(e=>e.type!==Nm.TABLE&&!0===e.repeatPerPage),p=new Map;[...A,...d,...h].forEach(e=>{p.set(e.id,e)});const f=Array.from(p.values());if(0===f.length)return r;const g=Dm(r);for(let e=0;e<g.length;e++){if(0===e)continue;const t=g[e];for(const e of f)t.elements.push({...Dm(e),id:kh()})}return g},g=async(t={})=>{const r=!0===t.mutateStore,n=!0===t.setExporting,i=e.selectedElementId,o=e.showGrid,a=e.zoom,s=Dm(e.pages),l=e.showHeaderLine,u=e.showFooterLine,c=e.showCornerMarkers,A=Boolean(e.isExporting),d=document.body.classList.contains("exporting"),h=document.documentElement.style.overflowX,p=document.documentElement.style.overflowY,g=document.body.style.overflowX,v=document.body.style.overflowY;return r&&(e.selectElement(null),e.setShowGrid(!1),e.setZoom(1),e.pages=f(e.pages),e.setShowHeaderLine(!1),e.setShowFooterLine(!1),e.showCornerMarkers=!1),n&&(e.setIsExporting(!0),document.body.classList.add("exporting")),(r||n)&&(document.documentElement.style.overflowX="hidden",document.documentElement.style.overflowY="hidden",document.body.style.overflowX="hidden",document.body.style.overflowY="hidden",await br(),await new Promise(e=>setTimeout(e,500))),()=>{document.body.classList.contains("exporting")&&!d&&document.body.classList.remove("exporting"),e.isExporting!==A&&e.setIsExporting(A),e.showCornerMarkers!==c&&(e.showCornerMarkers=c),(r||n)&&(document.documentElement.style.overflowX=h,document.documentElement.style.overflowY=p,document.body.style.overflowX=g,document.body.style.overflowY=v),r&&(e.setShowGrid(o),e.selectElement(i),e.setZoom(a),e.pages=s,e.setShowHeaderLine(l),e.setShowFooterLine(u))}},v=e=>{if(!e||"string"==typeof e)return!1;const t=Array.isArray(e)?e[0]:e;return t instanceof HTMLElement&&t.getRootNode()instanceof ShadowRoot},m=(e=!0)=>{const t=document.documentElement.style.overflowX,r=document.documentElement.style.overflowY,n=document.documentElement.style.scrollbarGutter,i=document.body.style.overflowX,o=document.body.style.overflowY,a=document.body.style.scrollbarGutter;return document.documentElement.style.overflowX="hidden",document.documentElement.style.overflowY="hidden",document.documentElement.style.scrollbarGutter=e?"stable":"",document.body.style.overflowX="hidden",document.body.style.overflowY="hidden",document.body.style.scrollbarGutter=e?"stable":"",()=>{document.documentElement.style.overflowX=t,document.documentElement.style.overflowY=r,document.documentElement.style.scrollbarGutter=n,document.body.style.overflowX=i,document.body.style.overflowY=o,document.body.style.scrollbarGutter=a}},y=e=>{e.classList.remove("group","cursor-move","select-none","ring-2","ring-blue-500","ring-red-500","hover:outline","hover:outline-1","hover:outline-blue-300");const t=[];e.classList.forEach(e=>{(e.startsWith("hover:")||e.startsWith("focus:")||e.startsWith("active:"))&&t.push(e)}),t.forEach(t=>e.classList.remove(t));("transparent"===e.style.borderColor||e.style.border.includes("transparent")||"dashed"===e.style.borderStyle&&("transparent"===e.style.borderColor||!e.style.borderColor&&e.style.border.includes("transparent")))&&(e.style.border="none",e.style.outline="none",e.style.boxShadow="none"),Array.from(e.children).forEach(e=>y(e))},b={enabled:!1,text:"",angle:-30,color:"#000000",opacity:.1,size:24,density:160},w=async()=>{const t=kh(),r=document.createElement("iframe");r.setAttribute("data-print-renderer","true"),r.style.cssText="position:fixed;left:0;top:0;width:0;height:0;border:0;visibility:hidden;",document.body.appendChild(r);const n=r.contentDocument,i=r.contentWindow;if(!n||!i)throw new Error("Print renderer not available");const o=n.createElement("style");o.textContent=wh,n.head.appendChild(o);const a=n.createElement("div");a.id="app",n.body.appendChild(a);const s={pages:f(e.pages),canvasSize:{...e.canvasSize},canvasBackground:e.canvasBackground,headerHeight:e.headerHeight,footerHeight:e.footerHeight,pageSpacingX:e.pageSpacingX||0,pageSpacingY:e.pageSpacingY||0,showHeaderLine:e.showHeaderLine,showFooterLine:e.showFooterLine,watermark:Dm(e.watermark||b),unit:e.unit||"mm",testData:Dm(e.testData||{}),variables:Dm(e.variables||{})},l=js({render:()=>Pa(oB,{payload:s,token:t})});l.use(Ul()),l.use(bh),l.mount(a);const u=()=>{l.unmount(),r.parentNode&&r.parentNode.removeChild(r)};try{await((e,t,r=15e3)=>new Promise((n,i)=>{const o=window.location.origin,a=window.setTimeout(()=>{window.removeEventListener("message",s),window.removeEventListener(`print-renderer:${t}`,l),i(new Error(`Print renderer timeout: ${t}`))},r),s=r=>{if(r.origin!==o)return;const i=r.data;i&&i.type===t&&i.token===e&&(window.clearTimeout(a),window.removeEventListener("message",s),window.removeEventListener(`print-renderer:${t}`,l),n(i))},l=r=>{r.detail&&r.detail.token===e&&(window.clearTimeout(a),window.removeEventListener("message",s),window.removeEventListener(`print-renderer:${t}`,l),n({type:t,token:e}))};window.addEventListener("message",s),window.addEventListener(`print-renderer:${t}`,l)}))(t,"print-renderer-rendered");return{pages:Array.from(n.querySelectorAll(".print-page")),cleanup:u,getComputedStyleFn:i.getComputedStyle.bind(i)}}catch(c){throw u(),c}},x=async e=>{if("string"==typeof e)return{content:e,cleanup:null,getComputedStyleFn:window.getComputedStyle};const t=await w();return{content:t.pages,cleanup:t.cleanup,getComputedStyleFn:t.getComputedStyleFn}},_=async t=>{const r=t||Array.from(document.querySelectorAll(".print-page")),n=await g({mutateStore:!1,setExporting:!1}),i=e.canvasSize.width,o=e.canvasSize.height;let a=null,s=null,l=null;try{const t=await x(r);l=t.cleanup;const n=await B(t.content,i,o,!0,t.getComputedStyleFn);a=n.container,s=n.tempWrapper;const u=document.createElement("div");u.style.width="100%",u.style.display="flex",u.style.flexDirection="column",u.style.alignItems="center";const c=Array.from(a.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName));return c.forEach((t,r)=>{const n=t.cloneNode(!0),a=r===c.length-1;n.style.position="relative",n.style.left="auto",n.style.top="auto",n.style.width=`${i}px`,n.style.height=`${o}px`,n.style.margin=a?"0":"0 0 20px 0",n.style.backgroundColor=e.canvasBackground,n.style.transform="none",n.querySelectorAll('[style*="overflow: hidden"]').forEach(e=>{const t=e,r=t.querySelector("table");r&&"fixed"===r.style.tableLayout&&(t.style.overflow="visible",t.style.height="auto",r.style.height="auto")}),u.appendChild(n)}),u.outerHTML}finally{s&&s.parentNode&&s.parentNode.removeChild(s),l&&l(),n()}},C=(t,r,n,i,o,a,s)=>{const l=t.querySelectorAll("[data-print-wrapper]"),u=e.pageSpacingY||0,c=e.pageSpacingY||0;l.forEach(e=>{const t=e;if(t.hasAttribute("data-flow-id"))return;const l="true"===t.getAttribute("data-repeat-per-page"),A=parseFloat(t.style.top)||0;parseFloat(t.style.height)||t.offsetHeight;if(a&&A<n+u||s&&A>=o-i-c||l){const e=t.cloneNode(!0);r.appendChild(e)}})},S=e=>{const t=e.querySelector("tfoot");if(!t)return;const r=e.getAttribute("data-custom-script");if(r)try{const n=e.querySelector("tbody"),i=[];if(n){Array.from(n.querySelectorAll("tr")).forEach(e=>{const t={};Array.from(e.querySelectorAll("td")).forEach(e=>{const r=e.getAttribute("data-field");r&&(t[r]=e.textContent||"")}),Object.keys(t).length>0&&i.push(t)})}const o=[];Array.from(t.querySelectorAll("tr")).forEach(e=>{const t={};Array.from(e.querySelectorAll("td")).forEach(e=>{const r=e.getAttribute("data-field");r&&(t[r]={value:e.getAttribute("data-value")||e.textContent||""})}),o.push(t)});if(new Function("data","footerData","columns","type",r)(i,o,[],"page"),o.length>0){Array.from(t.querySelectorAll("tr")).forEach((e,t)=>{if(o[t]){Array.from(e.querySelectorAll("td")).forEach(e=>{const r=e.getAttribute("data-field");if(r&&void 0!==o[t][r]){let n=o[t][r];n&&"object"==typeof n&&(void 0!==n.result?n=n.result:void 0!==n.value&&(n=n.value)),e.textContent=String(n)}})}})}return}catch(gH){}},B=async(t,r,n,i=!0,o=window.getComputedStyle)=>{const a=document.createElement("div");a.style.position="fixed",a.style.left="0",a.style.top="0",a.style.width="0",a.style.height="0",a.style.overflow="hidden",a.style.zIndex="-9999",a.style.visibility="hidden",a.style.pointerEvents="none",a.className="print_temp_container",document.body.appendChild(a);const s=document.createElement("div");s.style.position="absolute",s.style.left="0",s.style.top="0",s.style.width=`${r}px`,s.style.height=`${n}px`,a.appendChild(s);let l=[];"string"==typeof t?(s.innerHTML=t,l=Array.from(s.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName))):l=Array.isArray(t)?t:t.classList.contains("design-workspace")?Array.from(t.children):[t],l.forEach((t,i)=>{const a=((e,t=window.getComputedStyle)=>{const r=e.cloneNode(!0),n=[[e,r]];for(;n.length>0;){const[e,r]=n.shift();if(1===e.nodeType){const n=t(e),i=r.style,o="COL"===e.tagName,a=o?i.getPropertyValue("width"):null;for(let e=0;e<n.length;e++){const t=n[e];i.setProperty(t,n.getPropertyValue(t),n.getPropertyPriority(t))}o&&a&&i.getPropertyValue("width")!==a&&i.setProperty("width",a)}for(let t=0;t<e.children.length;t++)r.children[t]&&n.push([e.children[t],r.children[t]])}return r})(t,o);a.style.position="absolute",a.style.left="0",a.style.top=i*n+"px",a.style.width=`${r}px`,a.style.height=`${n}px`,a.style.transform="none",a.style.backgroundColor=e.canvasBackground,a.querySelectorAll('[data-print-exclude="true"]').forEach(e=>e.remove());a.querySelectorAll(".element-wrapper").forEach((e,t)=>{const r=e;r.setAttribute("data-print-wrapper","true");const n=parseFloat(r.style.top||""),o=parseFloat(r.style.height||""),a=Number.isFinite(n)?n:0,s=Number.isFinite(o)?o:r.getBoundingClientRect().height;r.setAttribute("data-original-top",`${a}`),r.setAttribute("data-original-height",`${s}`),r.setAttribute("data-origin-page-index",`${i}`);const l=`${i}-${t}`;r.setAttribute("data-wrapper-seq",l);const u=r.querySelector("table"),c=r.querySelector('[data-auto-height="true"]');u||c?r.setAttribute("data-flow-id",l):r.removeAttribute("data-flow-id")}),y(a);a.querySelectorAll("svg").forEach(e=>{const t=e.getBoundingClientRect();if(0===t.width||0===t.height){const t=e.getAttribute("width"),r=e.getAttribute("height");t&&(e.style.width=t.includes("px")?t:`${t}px`),r&&(e.style.height=r.includes("px")?r:`${r}px`)}}),s.appendChild(a)}),await new Promise(e=>setTimeout(e,200)),i&&await(async e=>{const t=e.querySelectorAll("svg");if(0===t.length)return;const{Canvg:r}=await Promise.resolve().then(()=>$ze);t.forEach(e=>{const t=e.parentElement;if(!t)return;const n=getComputedStyle(t),i=parseFloat(n.width),o=parseFloat(n.height),a=document.createElement("canvas");a.width=Number.isFinite(i)?Math.max(1,Math.round(i)):10,a.height=Number.isFinite(o)?Math.max(1,Math.round(o)):10;const s=a.getContext("2d");if(!s)return;const l=new XMLSerializer;e.setAttribute("width",`${i}px`),e.setAttribute("height",`${o}px`);const u=l.serializeToString(e);r.fromString(s,u).render();const c=document.createElement("img");c.src=a.toDataURL("image/png"),c.style.width=`${i}px`,c.style.height=`${o}px`,c.style.display="block",e.before(c),t.removeChild(e)})})(s);const u=((t,r,n,i,o,a)=>{const s=(e,t,r=0)=>{const n=parseFloat(e.getAttribute(t)||"");return Number.isFinite(n)?n:r},l=()=>{let l=Array.from(t.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName));if(0===l.length)return;const u=e.pageSpacingY||0,c=e.pageSpacingY||0,A=new Map;l.forEach((e,t)=>{const n=e.getBoundingClientRect();Array.from(e.querySelectorAll("[data-print-wrapper][data-flow-id]")).forEach(e=>{const i=e.querySelector("table"),o=e.querySelector('[data-auto-height="true"]');if(!i&&!o)return;if(i&&"true"!==i.getAttribute("data-auto-paginate"))return;const a=s(e,"data-origin-page-index",t),l=s(e,"data-original-top",parseFloat(e.style.top||"")||0)+s(e,"data-original-height",e.getBoundingClientRect().height),u=(i||o).getBoundingClientRect().bottom-n.top,c=t*r+u,d=A.get(a)||[],h=d.find(e=>Math.abs(e.originalBottom-l)<.5);h?c>h.finalGlobalBottom&&(h.finalGlobalBottom=c):d.push({originalBottom:l,finalGlobalBottom:c}),A.set(a,d)})}),A.forEach(e=>{e.sort((e,t)=>e.originalBottom-t.originalBottom)});for(let e=0;e<l.length;e++){const d=l[e];Array.from(d.querySelectorAll("[data-print-wrapper]")).forEach(d=>{if(d.hasAttribute("data-flow-id")&&(d.hasAttribute("data-flow-paginated")||d.hasAttribute("data-is-split-chunk")))return;if("true"===d.getAttribute("data-repeat-per-page"))return;const h=s(d,"data-origin-page-index",e),p=A.get(h);if(!p||0===p.length)return;const f=s(d,"data-original-top",parseFloat(d.style.top||"")||0);if(o&&f<n+u||a&&f>=r-i-c)return;let g=null;for(let e=0;e<p.length;e++){const t=p[e];if(!(t.originalBottom<=f+.01))break;g=t}if(!g)return;const v=f-g.originalBottom,m=g.finalGlobalBottom+v;let y=Math.floor(m/r);for(y<0&&(y=0);y>=l.length;){const e=l[l.length-1],s=document.createElement("div");s.className=e.className,s.style.cssText=e.style.cssText,s.innerHTML="",C(e,s,n,i,r,o,a),t.appendChild(s),l=Array.from(t.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName))}const b=l[y],w=m-y*r;d.parentElement!==b&&b.appendChild(d),d.style.removeProperty("top"),d.style.setProperty("top",`${w}px`,"important")})}};let u=Array.from(t.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName));for(let d=0;d<u.length;d++){const c=u[d];c.querySelectorAll('table, [data-auto-height="true"]').forEach(A=>{var h;const p="TABLE"===A.tagName?A:null,f="true"===A.getAttribute("data-auto-height"),g=A.closest("[data-print-wrapper]");if(!g)return;if(g.parentElement!==c)return;if(g.hasAttribute("data-flow-paginated"))return;if(p&&"true"!==p.getAttribute("data-auto-paginate"))return;const v=window.getComputedStyle(g).transform;if(v&&"none"!==v&&v.startsWith("matrix")){const e=v.substring(7,v.length-1).split(",");if(e.length>=4){const t=parseFloat(e[1]),r=parseFloat(e[2]);if(Math.abs(t)>.001||Math.abs(r)>.001)return}}if(g.style.height="auto",p){p.style.height="auto";const e=p.querySelector("tbody");e&&(e.style.height="auto");const t=p.parentElement;t&&(t.classList.remove("h-full","overflow-hidden"),t.style.height="auto",t.style.overflow="visible")}else if(f){const e=A;e.classList.remove("h-full","overflow-hidden"),e.style.height="auto",e.style.overflow="visible";const t=e.parentElement;t&&(t.style.height="auto",t.style.overflow="visible")}const m=c.getBoundingClientRect(),y=e.pageSpacingY||0,b=a?i:0,w=m.top+r-b-y,x=g.getBoundingClientRect().top;if((p||A).getBoundingClientRect().bottom<=w+1||!p)return p&&S(p),g.setAttribute("data-flow-paginated","true"),void l();let _=-1;const B=p.querySelector("tbody");if(!B)return;const k=Array.from(B.querySelectorAll("tr")),E=p.querySelector("tfoot"),I="true"===p.getAttribute("data-tfoot-repeat");let T=0;E&&I&&(T=E.getBoundingClientRect().height);for(let t=0;t<k.length;t++)if(k[t].getBoundingClientRect().bottom+T>w+1){if(_=t,0===_){const t=e.pageSpacingY||0,r=o&&n>0?n+t:t;let i=r;const a=s(g,"data-original-top",parseFloat(g.style.top||"")||0);a>=r&&a<=r+100&&(i=a),x<=i+5&&(_=1)}break}if(-1!==_){const A=document.createElement("div");A.className=c.className,A.style.cssText=c.style.cssText,A.innerHTML="",C(c,A,n,i,r,o,a),d===u.length-1?t.appendChild(A):t.insertBefore(A,u[d+1]),u=Array.from(t.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName));const f=g.cloneNode(!0),v=e.pageSpacingY||0,m=o&&n>0?n+v:v;let y=m;const b=s(g,"data-original-top",parseFloat(g.style.top||"")||0);b>=m&&b<=m+100&&(y=b),f.style.removeProperty("top"),f.style.setProperty("top",`${y}px`,"important");const w=k;for(let e=_;e<w.length;e++)w[e].remove();0===_&&g.remove();const x=p.querySelector("tfoot"),B="true"===p.getAttribute("data-tfoot-repeat");x&&(B?S(p):x.remove());const E=f.querySelector("table");E.style.height="auto";const I=E.querySelector("tbody");if(I){I.style.height="auto";const e=Array.from(I.querySelectorAll("tr"));for(let t=0;t<_;t++)null==(h=e[t])||h.remove()}A.appendChild(f),g.setAttribute("data-flow-paginated","true"),f.setAttribute("data-is-split-chunk","true"),l()}else p&&S(p),g.setAttribute("data-flow-paginated","true"),l()})}l(),u=Array.from(t.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName));const c=e.pageSpacingY||0,A=e.pageSpacingY||0;for(let e=u.length-1;e>0;e--){const t=u[e];Array.from(t.querySelectorAll("[data-print-wrapper]")).some(e=>{if(e.hasAttribute("data-flow-id"))return!0;if("true"===e.getAttribute("data-repeat-per-page"))return!1;const t=parseFloat(e.style.top)||0;return!(o&&t<n+c||a&&t>=r-i-A)})||t.remove()}return u=Array.from(t.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName)),u.forEach((e,t)=>{e.style.top=t*r+"px"}),u.length})(s,n,e.headerHeight,e.footerHeight,e.showHeaderLine,e.showFooterLine);return((e,t)=>{Array.from(e.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName)).forEach((e,r)=>{e.querySelectorAll('[data-print-type="page-number"]').forEach(e=>{const n=e.querySelector(".page-number-text");n&&(n.textContent=`${r+1}/${t}`)})})})(s,u),s.style.height=n*u+"px",{container:s,tempWrapper:a,pagesCount:u}},k=async(t,r,n)=>{var i;const o=Array.from(t.children).filter(e=>!["STYLE","LINK","SCRIPT"].includes(e.tagName));o.forEach(e=>{e.style.top="0px"});const a=Array.from(document.querySelectorAll('link[href*="monaco-editor"]')),s=a.map(e=>e.parentNode);a.forEach(e=>{var t;return null==(t=e.parentNode)?void 0:t.removeChild(e)});const l=Fx(),u=(null==(i=null==l?void 0:l.printQuality)?void 0:i.value)??"normal";let c=1,A=.8;"fast"===u?(c=.5,A=.6):"normal"===u?(c=1,A=.8):"high"===u?(c=1.5,A=.9):"ultra"===u&&(c=2,A=1);try{const t=async t=>{const i=await Promise.resolve().then(()=>iRe),o=(null==i?void 0:i.default)||i,a=await o.toCanvas(t,{filter:e=>{if(1===e.nodeType&&"LINK"===e.tagName){const t=e.href;if(t&&t.includes("monaco-editor"))return!1}return!0},scale:c,width:r,height:n,useCORS:!0,bgcolor:e.canvasBackground}),s=a.getContext("2d");return s&&(s.mozImageSmoothingEnabled=!0,s.webkitImageSmoothingEnabled=!0,s.msImageSmoothingEnabled=!0,s.imageSmoothingEnabled=!0),a.toDataURL("image/jpeg",A)},i=3,a=[];for(let e=0;e<o.length;e+=i){const r=o.slice(e,e+i),n=await Promise.all(r.map(e=>t(e)));a.push(...n)}return a}finally{a.forEach((e,t)=>{var r;s[t]&&(null==(r=s[t])||r.appendChild(e))})}},E=async t=>{const r=await g({mutateStore:!1,setExporting:!1}),n=m(!v(t)),i=e.canvasSize.width,o=e.canvasSize.height,a=_w(i),s=_w(o);let l=null,u=null;try{const e=await x(t);u=e.cleanup;const{container:r,tempWrapper:n}=await B(e.content,i,o,!0,e.getComputedStyleFn);l=n;const c=await Promise.resolve().then(()=>MGe),A=new((null==c?void 0:c.default)||(null==c?void 0:c.jsPDF)||c)({orientation:i>o?"l":"p",unit:"mm",format:[a,s],hotfixes:["px_scaling"]});return(await k(r,i,o)).forEach((e,t)=>{t>0&&A.addPage([a,s]),A.addImage(e,"JPEG",0,0,a,s)}),A}finally{l&&l.parentNode&&l.parentNode.removeChild(l),u&&u(),n(),r()}},I=async e=>{const t=m(!v(e));try{const t=(await E(e)).output("blob"),r=URL.createObjectURL(t);if(/Edg\//.test(navigator.userAgent)){const e=window.open(r,"_blank","noopener,noreferrer");return e?(e.addEventListener("beforeunload",()=>{URL.revokeObjectURL(r)}),e.onload=()=>{try{e.focus(),e.print()}finally{setTimeout(()=>{URL.revokeObjectURL(r)},1e3)}},{status:"success",mode:"browser"}):void URL.revokeObjectURL(r)}return await new Promise(e=>{const t=document.createElement("iframe");t.style.position="fixed",t.style.left="0",t.style.top="0",t.style.width="0px",t.style.height="0px",t.style.border="0",t.style.visibility="hidden",t.src=r,document.body.appendChild(t),t.onload=()=>{const n=t.contentWindow;n&&(n.focus(),setTimeout(()=>{n.print()},100)),setTimeout(()=>{t.parentNode&&t.parentNode.removeChild(t),URL.revokeObjectURL(r),e()},1e3)}}),{status:"success",mode:"browser"}}catch(r){throw Qm.error("Print failed"),r}finally{t()}},T=(e,t,r)=>{const n={printer:e.printer,content:t};return r&&(n.key=r),(e.jobName||e.copies||e.intervalMs)&&(n.job={...e.jobName?{name:e.jobName}:{},...e.copies?{copies:e.copies}:{},...e.intervalMs?{intervalMs:e.intervalMs}:{}}),(e.pageRange||e.pageSet)&&(n.pages={...e.pageRange?{range:e.pageRange}:{},...e.pageSet?{set:e.pageSet}:{}}),(e.scale||e.orientation)&&(n.layout={...e.scale?{scale:e.scale}:{},...e.orientation?{orientation:e.orientation}:{}}),e.colorMode&&(n.color={mode:e.colorMode}),e.sidesMode&&(n.sides={mode:e.sidesMode}),e.paperSize&&(n.paper={size:e.paperSize}),e.trayBin&&(n.tray={bin:e.trayBin}),n};let P=null,M="",L=null,D=Promise.resolve();const N=()=>{P&&P.readyState===WebSocket.OPEN&&P.close(),P=null,M="",L=null},O=(e,t,r,n=3e4)=>(D=D.catch(()=>{}).then(()=>new Promise(async(r,i)=>{let o=!1,a=null;const s=window.setTimeout(()=>{o||(o=!0,N(),i(new Error("Print request timeout")))},n),l=()=>{a&&(a.removeEventListener("message",u),a.removeEventListener("error",c),a.removeEventListener("close",A))},u=e=>{if(!o)try{const t=JSON.parse(e.data);"success"!==t.status&&"error"!==t.status&&"ok"!==t.status&&"print_result"!==t.type||(o=!0,window.clearTimeout(s),l(),"success"===t.status||"ok"===t.status||"print_result"===t.type&&"error"!==t.status?r(t):i(new Error(t.message||"Print failed")))}catch(t){"success"===e.data||"ok"===e.data?(o=!0,window.clearTimeout(s),l(),r({status:"success",message:e.data})):(o=!0,window.clearTimeout(s),l(),i(t instanceof Error?t:new Error("Print failed")))}},c=()=>{o||(o=!0,window.clearTimeout(s),l(),N(),i(new Error("Print connection failed")))},A=()=>{o||(o=!0,window.clearTimeout(s),l(),N(),i(new Error("Print connection closed")))};try{a=await(e=>P&&P.readyState===WebSocket.OPEN&&M===e?Promise.resolve(P):L||(M=e,L=new Promise((t,r)=>{const n=new WebSocket(e),i=()=>{n.removeEventListener("open",i),n.removeEventListener("error",o),P=n,L=null,t(n)},o=()=>{n.removeEventListener("open",i),n.removeEventListener("error",o),N(),r(new Error("Print connection failed"))};n.addEventListener("open",i),n.addEventListener("error",o)}),L))(e),a.addEventListener("message",u),a.addEventListener("error",c),a.addEventListener("close",A),a.send(JSON.stringify(t))}catch(d){o=!0,window.clearTimeout(s),l(),i(d instanceof Error?d:new Error("Print connection failed"))}})),D),F=async e=>{if(0===e.length)return"";const t=await new Promise((t,r)=>{const n=new Image;n.onload=()=>t(n),n.onerror=r,n.src=e[0]}),r=t.width,n=t.height,i=n*e.length,o=document.createElement("canvas");o.width=r,o.height=i;const a=o.getContext("2d");if(!a)throw new Error("Could not get canvas context");a.drawImage(t,0,0);for(let s=1;s<e.length;s++)await new Promise((t,r)=>{const i=new Image;i.onload=()=>{a.drawImage(i,0,s*n),t()},i.onerror=r,i.src=e[s]});return o.toDataURL("image/jpeg",.8)},U=async e=>{try{return(await E(e)).output("blob")}catch(t){throw t}};return{getPrintHtml:_,print:async(e,i)=>{var p,f,g;const v=(null==i?void 0:i.mode)||t.value;if("browser"===v)return await I(e);if(!("local"===v?"connected"===o.value:"connected"===a.value))return await I(e);const m={...(null==i?void 0:i.options)||("local"===v?s:l)};if("remote"===v&&r.value&&(c.value||await A(),!m.printer&&c.value)){const e=(null==(p=(await d(c.value))[0])?void 0:p.printer_name)||"";e&&(m.printer=e,l.printer=e)}if("local"===v&&r.value&&!m.printer){const{fetchLocalPrinters:e}=Fx(),t=await e(),r=(null==(f=t.find(e=>e.isDefault))?void 0:f.name)||(null==(g=t[0])?void 0:g.name)||"";r&&(m.printer=r,s.printer=r)}if(!m.printer)throw Qm.error(bh.global.t("toast.printerRequired")),new Error("Printer is required");try{const t=await U(e),r=await(y=t,new Promise((e,t)=>{const r=new FileReader;r.onloadend=()=>e(r.result),r.onerror=()=>t(new Error("Failed to read PDF blob")),r.readAsDataURL(y)}));if("local"===v){const e=T(m,r,n.secretKey.trim());return await O(u.value,e,0,m.timeout||3e4)}if(!c.value)throw Qm.error(bh.global.t("toast.clientRequired")),new Error("Client is required");const i=T(m,r);i.cmd="submit_task",i.client_id=c.value;return await h(i,m.timeout||3e4)}catch(b){throw Qm.error(bh.global.t("toast.printFailed")),b}var y},exportPdf:async(e,t="print-design.pdf")=>{try{const r=e||Array.from(document.querySelectorAll(".print-page"));(await E(r)).save(t)}catch(r){Qm.error(bh.global.t("toast.exportPdfFailed"))}},exportHtml:async(e,t="print-design.html")=>{try{const r=e||Array.from(document.querySelectorAll(".print-page")),n=await _(r),i=`<!DOCTYPE html>\n<html lang="en">\n<head>\n <meta charset="UTF-8">\n <meta name="viewport" content="width=device-width, initial-scale=1.0">\n <title>${t}</title>\n <style>\n ${wh}\n body {\n background-color: #f3f4f6;\n padding: 20px;\n margin: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n </style>\n</head>\n<body>\n ${n}\n</body>\n</html>`,o=new Blob([i],{type:"text/html;charset=utf-8"}),a=URL.createObjectURL(o),s=document.createElement("a");s.href=a,s.download=t.endsWith(".html")?t:`${t}.html`,document.body.appendChild(s),s.click(),document.body.removeChild(s),URL.revokeObjectURL(a)}catch(r){Qm.error("Export HTML failed")}},exportImages:async(t,r="print-design")=>{try{const n=t||Array.from(document.querySelectorAll(".print-page")),i=await g({mutateStore:!1,setExporting:!1}),o=m(!v(n)),a=e.canvasSize.width,s=e.canvasSize.height;let l=null;const u=await x(n);l=u.cleanup;const{container:c,tempWrapper:A}=await B(u.content,a,s,!0,u.getComputedStyleFn);try{const e=await k(c,a,s);if(0===e.length)return;if(p.value){const t=await F(e),n=document.createElement("a");n.href=t,n.download=`${r}.jpg`,document.body.appendChild(n),n.click(),document.body.removeChild(n)}else{const t=await Promise.resolve().then(()=>FGe),n=new((null==t?void 0:t.default)||t);await Promise.all(e.map(async(e,t)=>{const i=await fetch(e),o=await i.blob();n.file(`${r}-${t+1}.jpg`,o)}));const i=await n.generateAsync({type:"blob"}),o=URL.createObjectURL(i),a=document.createElement("a");a.href=o,a.download=`${r}.zip`,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(o)}}finally{A&&A.parentNode&&A.parentNode.removeChild(A),l&&l(),o(),i()}}catch(n){Qm.error("Export Images failed")}},getPdfBlob:U,getImageBlob:async t=>{try{const r=t||Array.from(document.querySelectorAll(".print-page")),n=await g({mutateStore:!1,setExporting:!1}),i=m(!v(r)),o=e.canvasSize.width,a=e.canvasSize.height;let s=null;const l=await x(r);s=l.cleanup;const{container:u,tempWrapper:c}=await B(l.content,o,a,!0,l.getComputedStyleFn);try{const e=await k(u,o,a);if(0===e.length)throw new Error("No images generated");const t=await F(e),r=await fetch(t);return await r.blob()}finally{c&&c.parentNode&&c.parentNode.removeChild(c),s&&s(),i(),n()}}catch(r){throw r}}}},sB=e=>{const t="undefined"!=typeof navigator&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);return e.map(e=>{switch(e.toLowerCase()){case"ctrl":case"control":return t?"⌘":"Ctrl";case"alt":return t?"⌥":"Alt";case"shift":return t?"⇧":"Shift";case"enter":return t?"⏎":"Enter";case"backspace":return t?"⌫":"Backspace";case"delete":return t?"⌦":"Del";case"esc":case"escape":return"Esc";default:return e.toUpperCase()}}).join(" + ")},lB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const uB=Lt({name:"material-symbols-format-bold",render:function(e,t){return Ro(),jo("svg",lB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M6.8 19V5h5.525q1.625 0 3 1T16.7 8.775q0 1.275-.575 1.963t-1.075.987q.625.275 1.388 1.025T17.2 15q0 2.225-1.625 3.113t-3.05.887zm3.025-2.8h2.6q1.2 0 1.463-.612t.262-.888t-.262-.887t-1.538-.613H9.825zm0-5.7h2.325q.825 0 1.2-.425t.375-.95q0-.6-.425-.975t-1.1-.375H9.825z"},null,-1)])])}}),cB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const AB=Lt({name:"material-symbols-format-italic",render:function(e,t){return Ro(),jo("svg",cB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 19v-2.5h4l3-9H8V5h10v2.5h-3.5l-3 9H15V19z"},null,-1)])])}}),dB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const hB=Lt({name:"material-symbols-format-underlined",render:function(e,t){return Ro(),jo("svg",dB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 21v-2h14v2zm3.075-5.575q-1.4-1.575-1.4-4.175V3H9.25v8.4q0 1.4.7 2.275t2.05.875t2.05-.875t.7-2.275V3h2.575v8.25q0 2.6-1.4 4.175T12 17t-3.925-1.575"},null,-1)])])}}),pB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const fB=Lt({name:"material-symbols-text-rotate-vertical",render:function(e,t){return Ro(),jo("svg",pB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M10.9 16L15 5h2l4.1 11h-1.9l-1-2.8h-4.4l-1 2.8zm3.45-4.4h3.3l-1.6-4.55h-.1zM6 20l-3.5-3.5l1.4-1.4L5 16.15V3h2v13.15l1.1-1.05l1.4 1.4z"},null,-1)])])}}),gB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const vB=Lt({name:"material-symbols-rotate-left",render:function(e,t){return Ro(),jo("svg",gB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M11 22q-1.25-.125-2.4-.612T6.4 20.1l1.4-1.45q.725.525 1.538.85t1.662.45zm2 0v-2.05q2.6-.375 4.3-2.337T19 13.05q0-2.925-2.037-4.962T12 6.05h-.2l1.6 1.6l-1.4 1.4l-4-4l4-4l1.4 1.45l-1.55 1.55H12q1.875 0 3.513.713t2.85 1.925t1.925 2.85T21 13.05q0 3.425-2.275 5.963T13 22m-8.05-3.35q-.8-1.05-1.288-2.2t-.612-2.4H5.1q.125.85.45 1.663t.85 1.537zm-1.9-6.6q.15-1.275.625-2.45T4.95 7.45l1.45 1.4q-.525.725-.85 1.538T5.1 12.05z"},null,-1)])])}}),mB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const yB=Lt({name:"material-symbols-font-download",render:function(e,t){return Ro(),jo("svg",mB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M6.4 18h2.1l1.1-3.05h4.8L15.5 18h2.1L13.05 6h-2.1zm3.8-4.8l1.75-4.95h.1l1.75 4.95zM4 22q-.825 0-1.412-.587T2 20V4q0-.825.588-1.412T4 2h16q.825 0 1.413.588T22 4v16q0 .825-.587 1.413T20 22z"},null,-1)])])}}),bB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const wB=Lt({name:"material-symbols-format-color-fill",render:function(e,t){return Ro(),jo("svg",bB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M6.175 1.4L7.6 0l8.575 8.575q.575.575.575 1.425t-.575 1.425l-4.75 4.75q-.575.575-1.425.575t-1.425-.575l-4.75-4.75Q3.25 10.85 3.25 10t.575-1.425L8.575 3.8zM10 5.225L5.225 10h9.55zm7.588 11.188Q17 15.825 17 15q0-.525.313-1.125T18 12.75q.225-.3.475-.625T19 11.5q.275.3.525.625t.475.625q.375.525.688 1.125T21 15q0 .825-.587 1.413T19 17t-1.412-.587M2 24v-4h20v4z"},null,-1)])])}}),xB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};Lt({name:"material-symbols-check",render:function(e,t){return Ro(),jo("svg",xB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m9.55 18l-5.7-5.7l1.425-1.425L9.55 15.15l9.175-9.175L20.15 7.4z"},null,-1)])])}});const _B={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};Lt({name:"material-symbols-format-color-reset",render:function(e,t){return Ro(),jo("svg",_B,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M19.25 16.4L8.4 5.55L12 2l5.65 5.55q1.1 1.05 1.725 2.488T20 13.1q0 .9-.2 1.725t-.55 1.575m.55 6.2l-3.1-3.1q-1.025.725-2.2 1.113T12 21q-3.325 0-5.663-2.312T4 13.1q0-1.275.4-2.45T5.6 8.4L1.4 4.2l1.4-1.4l18.4 18.4z"},null,-1)])])}});const CB={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};Lt({name:"material-symbols-grid-off",render:function(e,t){return Ro(),jo("svg",CB,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m20.475 23.3l-2.3-2.3h-1.85v-1.85l-2-2V21h-4.65v-4.675H13.5l-2-2H9.675v-1.85l-2-2v3.85H3v-4.65h3.875l-2-2H3V5.8L.7 3.5l1.4-1.4l19.8 19.8zM5 21q-.825 0-1.412-.587T3 19v-2.675h4.675V21zm16-2.9l-1.775-1.775H21zm-3.775-3.775l-.9-.9v-3.75H21v4.65zm-2.9-2.9l-1.75-1.75h1.75zm-3.75-3.75l-.9-.9V3h4.65v4.675zm5.75 0V3H19q.825 0 1.413.588T21 5v2.675zm-8.65-2.9L5.9 3h1.775z"},null,-1)])])}});const SB={key:0,class:"w-full h-[1px] bg-red-500 rotate-45 absolute"},BB={key:1,class:"w-full h-full bg-[url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ+5wNisxL//8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII=')] opacity-50"},kB={class:"flex gap-2 mb-3"},EB={class:"flex-1 flex flex-col gap-2"},IB={class:"relative h-3 rounded bg-[url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ+5wNisxL//8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII=')] border border-gray-200 dark:border-gray-700"},TB={class:"w-8 h-8 rounded border border-gray-200 dark:border-gray-700 overflow-hidden relative"},PB={key:0,class:"absolute inset-0 flex items-center justify-center pointer-events-none"},MB={class:"flex gap-2 mb-3"},LB={class:"flex-1"},DB={class:"w-16 text-right text-xs text-gray-500 dark:text-gray-400 flex items-center justify-end"},NB={class:"grid grid-cols-9 gap-1.5 mb-3"},OB=["onClick","title"],FB={class:"flex justify-between border-t border-gray-100 dark:border-gray-700 pt-2"},UB={key:0},zB=Nn({__name:"ColorPicker",props:{modelValue:{},disabled:{type:Boolean},defaultColor:{},allowTransparent:{type:Boolean},teleportToBody:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),{isDark:o}=ew(),a=nn("modal-container",Ft(null)),s=Ft(!1),l=Ft(null),u=Ft(null),c=Ft({h:0,s:0,v:0,a:1}),A=Ft(null),d=Ft(null),h=Ft(null),p=Ta(()=>r.modelValue?"transparent"===r.modelValue?"transparent":r.modelValue:r.defaultColor||"#000000"),f=Ta(()=>"transparent"===r.modelValue),g=Ta({get:()=>Iw(c.value.h,c.value.s,c.value.v,c.value.a),set:e=>{const t=Ew(e);t&&(c.value=t,C())}}),v=Ta(()=>{const{r:e,g:t,b:r}=Bw(c.value.h,c.value.s,c.value.v);return`rgba(${e}, ${t}, ${r}, ${parseFloat(c.value.a.toFixed(2))})`}),m=Ta(()=>({backgroundColor:`hsl(${c.value.h}, 100%, 50%)`})),y=Ta(()=>({top:100*(1-c.value.v)+"%",left:100*c.value.s+"%"})),b=Ta(()=>({left:c.value.h/360*100+"%"})),w=Ta(()=>({left:100*c.value.a+"%"})),x=Ta(()=>{const{r:e,g:t,b:r}=Bw(c.value.h,c.value.s,c.value.v);return{background:`linear-gradient(to right, rgba(${e},${t},${r},0) 0%, rgba(${e},${t},${r},1) 100%)`}});an(()=>r.modelValue,e=>{if(e){const t=Ew(e);t&&(c.value=t)}},{immediate:!0});const _=(e,t)=>{e.preventDefault();const r="sv"===t?A.value:"hue"===t?d.value:h.value;if(!r)return;const n=(e,n)=>{const i=r.getBoundingClientRect();let o=(e-i.left)/i.width,a=(n-i.top)/i.height;o=Math.max(0,Math.min(1,o)),a=Math.max(0,Math.min(1,a)),"sv"===t?(c.value.s=o,c.value.v=1-a,0===c.value.a&&(c.value.a=1)):"hue"===t?(c.value.h=360*o,0===c.value.a&&(c.value.a=1)):"alpha"===t&&(c.value.a=o),C()};n(e.clientX,e.clientY);const i=e=>{n(e.clientX,e.clientY)},o=()=>{window.removeEventListener("mousemove",i),window.removeEventListener("mouseup",o)};window.addEventListener("mousemove",i),window.addEventListener("mouseup",o)},C=()=>{0===c.value.a&&r.allowTransparent?n("update:modelValue","transparent"):n("update:modelValue",Iw(c.value.h,c.value.s,c.value.v,c.value.a))},S=Ft({top:"100%",left:"0",marginTop:"8px"}),B=()=>{if(!l.value)return;const e=l.value.getBoundingClientRect(),t=window.innerWidth,n=window.innerHeight,i={};if(r.teleportToBody){const r=e.left+240<=t-20,o=e.bottom+350<=n-10;return i.position="fixed",i.left=`${r?e.left:Math.max(8,e.right-240)}px`,i.top=`${o?e.bottom+8:Math.max(8,e.top-350-8)}px`,void(S.value=i)}e.left+240>t-20?(i.left="auto",i.right="0"):(i.left="0",i.right="auto"),e.bottom+350>n-10?(i.top="auto",i.bottom="100%",i.marginTop="0",i.marginBottom="8px"):(i.top="100%",i.bottom="auto",i.marginTop="8px",i.marginBottom="0"),S.value=i},k=e=>{if(!s.value)return;const t=e.target;if(!t)return;const r=l.value,n=u.value;if(!r)return;const i=r.contains(t)||t.closest(".color-picker-trigger"),o=n&&n.contains(t)||t.closest(".color-picker-dropdown");i||o||(s.value=!1)},E=async e=>{r.disabled||(e&&e.stopPropagation(),s.value=!s.value,s.value&&(await br(),B()))},I=()=>{s.value=!1};an(s,e=>{r.teleportToBody&&(e?(B(),window.addEventListener("scroll",B,!0),window.addEventListener("resize",B)):(window.removeEventListener("scroll",B,!0),window.removeEventListener("resize",B)))});const T=["#000000","#ffffff","#ff0000","#00ff00","#0000ff","#ffff00","#00ffff","#ff00ff","#f44336","#e91e63","#9c27b0","#673ab7","#3f51b5","#2196f3","#03a9f4","#00bcd4","#009688","#4caf50","#8bc34a","#cddc39","#ffeb3b","#ffc107","#ff9800","#ff5722","#795548","#9e9e9e","#607d8b"];return ei(()=>{document.addEventListener("mousedown",k)}),ii(()=>{document.removeEventListener("mousedown",k)}),(t,r)=>(Ro(),jo("div",{class:"relative flex",ref_key:"containerRef",ref:l},[Xo("div",{class:"flex color-picker-trigger",onClick:E,onMousedown:r[0]||(r[0]=zs(()=>{},["stop"]))},[fi(t.$slots,"trigger",{open:s.value,color:p.value,disabled:e.disabled},()=>[Xo("div",{class:X(["w-6 h-6 rounded border border-gray-300 dark:border-gray-600 cursor-pointer flex items-center justify-center overflow-hidden transition-all hover:border-blue-500",{"opacity-50 cursor-not-allowed":e.disabled,"ring-2 ring-blue-500 ring-offset-1":s.value}]),style:G({backgroundColor:f.value?"transparent":p.value})},[e.modelValue?na("",!0):(Ro(),jo("div",SB)),f.value?(Ro(),jo("div",BB)):na("",!0)],6)])],32),(Ro(),Go(yn,{to:Qt(a)||"body",disabled:!e.teleportToBody},[s.value?(Ro(),jo("div",{key:0,ref_key:"dropdownRef",ref:u,class:X(["color-picker-dropdown bg-white dark:bg-gray-800 rounded-lg shadow-xl border border-gray-200 dark:border-gray-700 p-3 w-[240px] pointer-events-auto",[e.teleportToBody?"fixed z-[100000]":"absolute z-[100]",{dark:Qt(o)}]]),style:G(S.value),onClick:r[7]||(r[7]=zs(()=>{},["stop"])),onMousedown:r[8]||(r[8]=zs(()=>{},["stop"]))},[Xo("div",{ref_key:"svPanelRef",ref:A,class:"w-full h-32 rounded relative cursor-crosshair mb-3",style:G(m.value),onMousedown:r[1]||(r[1]=zs(e=>_(e,"sv"),["stop"]))},[r[9]||(r[9]=Xo("div",{class:"absolute inset-0 bg-gradient-to-r from-white to-transparent rounded"},null,-1)),r[10]||(r[10]=Xo("div",{class:"absolute inset-0 bg-gradient-to-t from-black to-transparent rounded"},null,-1)),Xo("div",{class:"absolute w-3 h-3 border-2 border-white rounded-full shadow-sm -ml-1.5 -mt-1.5 pointer-events-none",style:G(y.value)},null,4)],36),Xo("div",kB,[Xo("div",EB,[Xo("div",{ref_key:"hueSliderRef",ref:d,class:"h-3 rounded relative cursor-pointer border border-gray-200 dark:border-gray-700",style:{background:"linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%)"},onMousedown:r[2]||(r[2]=zs(e=>_(e,"hue"),["stop"]))},[Xo("div",{class:"absolute top-1/2 -translate-y-1/2 w-3 h-3 bg-white dark:bg-gray-100 border border-gray-300 dark:border-gray-600 rounded-full shadow-sm -ml-1.5 pointer-events-none",style:G(b.value)},null,4)],544),Xo("div",IB,[Xo("div",{ref_key:"alphaSliderRef",ref:h,class:"absolute inset-0 cursor-pointer rounded",style:G(x.value),onMousedown:r[3]||(r[3]=zs(e=>_(e,"alpha"),["stop"]))},[Xo("div",{class:"absolute top-1/2 -translate-y-1/2 w-3 h-3 bg-white dark:bg-gray-100 border border-gray-300 dark:border-gray-600 rounded-full shadow-sm -ml-1.5 pointer-events-none",style:G(w.value)},null,4)],36)])]),Xo("div",TB,[r[12]||(r[12]=Xo("div",{class:"absolute inset-0 bg-[url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ+5wNisxL//8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII=')] opacity-50"},null,-1)),Xo("div",{class:"absolute inset-0",style:G({backgroundColor:v.value})},null,4),0===c.value.a?(Ro(),jo("div",PB,[...r[11]||(r[11]=[Xo("div",{class:"w-full h-[1px] bg-red-500 rotate-45"},null,-1)])])):na("",!0)])]),Xo("div",MB,[Xo("div",LB,[en(Xo("input",{type:"text","onUpdate:modelValue":r[4]||(r[4]=e=>g.value=e),class:"w-full text-xs px-2 py-1 border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded focus:border-blue-500 outline-none font-mono uppercase",placeholder:"#000000"},null,512),[[Ms,g.value]])]),Xo("div",DB,oe(Math.round(100*c.value.a))+"% ",1)]),Xo("div",NB,[(Ro(),jo(Do,null,pi(T,e=>Xo("div",{key:e,class:X(["w-4 h-4 rounded-sm cursor-pointer border border-transparent hover:scale-110 hover:border-gray-400 dark:hover:border-gray-500 hover:z-10 transition-all relative",{"ring-2 ring-blue-500 ring-offset-1 z-10":g.value===e}]),style:G({backgroundColor:e}),onClick:t=>(e=>{const t=Ew(e);t&&(c.value=t,C())})(e),title:e},null,14,OB)),64))]),Xo("div",FB,[Xo("button",{onClick:r[5]||(r[5]=e=>{t.$emit("update:modelValue",void 0),I()}),class:"text-xs text-red-600 dark:text-red-400 hover:text-red-800 dark:hover:text-red-300 hover:bg-red-50 dark:hover:bg-red-900/30 px-2 py-1 rounded transition-colors"},oe(Qt(i)("colorPicker.clear")),1),e.allowTransparent?(Ro(),jo("div",UB,[Xo("button",{onClick:r[6]||(r[6]=e=>{t.$emit("update:modelValue","transparent"),I()}),class:"text-xs text-gray-600 dark:text-gray-400 hover:text-gray-800 dark:hover:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700 px-2 py-1 rounded transition-colors"},oe(Qt(i)("colorPicker.transparent")),1)])):na("",!0)])],38)):na("",!0)],8,["to","disabled"]))],512))}}),RB={class:"flex items-center gap-1 lg:gap-1.5 bg-gray-100 dark:bg-gray-800 rounded-lg px-1.5 lg:px-2 py-0.5 lg:py-1 flex-shrink-0"},QB=["disabled","title"],HB=["value"],VB={class:"flex items-center gap-0.5"},jB=["disabled","title"],GB=["disabled"],WB=["disabled","title"],KB=["disabled","title"],qB=["disabled","title"],YB=["disabled","title"],XB=["disabled","title"],ZB={class:"hidden sm:flex items-center gap-0.5"},JB=["disabled","title"],$B=["disabled","title"],ek={class:"w-1 h-3 rounded-[1px] border border-gray-300 dark:border-gray-600 relative overflow-hidden bg-white"},tk={key:0,class:"absolute inset-0 bg-[url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ+5wNisxL//8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII=')] opacity-50 bg-repeat bg-[length:6px_6px]"},rk={key:1,class:"absolute inset-0 flex items-center justify-center"},nk=["disabled","title"],ik=Nn({__name:"HeaderToolbar",setup(e){const{t:t}=dh(),r=Wb(),n=Ta(()=>r.selectedElementId),i=Ta(()=>{if(!n.value)return null;for(const e of r.pages){const t=e.elements.find(e=>e.id===n.value);if(t)return t}return null}),o=Ta(()=>{var e;return(null==(e=i.value)?void 0:e.locked)||!1}),a=Ta(()=>!i.value||o.value||!r.isTemplateEditable),s=[{label:"默认",value:""},{label:"宋体",value:"SimSun, serif"},{label:"黑体",value:"SimHei, sans-serif"},{label:"楷体",value:"KaiTi, serif"},{label:"仿宋",value:"FangSong, serif"},{label:"微软雅黑",value:'"Microsoft YaHei", sans-serif'},{label:"Arial",value:"Arial, sans-serif"},{label:"Times New Roman",value:'"Times New Roman", serif'},{label:"Consolas",value:"Consolas, monospace"}],l=Ft(""),u=Ft(14),c=Ft("#000000"),A=Ft("transparent"),d=Ft(!1),h=Ft(!1),p=Ft(!1),f=Ft(!1);an(i,e=>{var t,r,n,i,o,a,s,g;if(!e)return l.value="",u.value=14,c.value="#000000",A.value="transparent",d.value=!1,h.value=!1,p.value=!1,void(f.value=!1);l.value=(null==(t=e.style)?void 0:t.fontFamily)||"",u.value=(null==(r=e.style)?void 0:r.fontSize)||14,c.value=(null==(n=e.style)?void 0:n.color)||"#000000";const v=(null==(i=e.style)?void 0:i.backgroundColor)||"transparent";A.value="transparent"===v?"transparent":v,d.value="bold"===(null==(o=e.style)?void 0:o.fontWeight),h.value="italic"===(null==(a=e.style)?void 0:a.fontStyle),p.value="underline"===(null==(s=e.style)?void 0:s.textDecoration),f.value="vertical-rl"===(null==(g=e.style)?void 0:g.writingMode)},{immediate:!0});const g=e=>{n.value&&!o.value&&r.isTemplateEditable&&r.updateSelectedElementsStyle(e)},v=()=>{d.value=!d.value,g({fontWeight:d.value?"bold":"normal"})},m=()=>{h.value=!h.value,g({fontStyle:h.value?"italic":"normal"})},y=()=>{p.value=!p.value,g({textDecoration:p.value?"underline":"none"})},b=()=>{f.value=!f.value,g({writingMode:f.value?"vertical-rl":"horizontal-tb"})},w=()=>{g({rotate:0})};return an(l,e=>g({fontFamily:e||void 0})),an(u,e=>{e>=1&&e<=200&&g({fontSize:e})}),an(c,e=>g({color:e})),an(A,e=>g({backgroundColor:"transparent"===e?void 0:e})),(e,n)=>(Ro(),jo("div",RB,[en(Xo("select",{"onUpdate:modelValue":n[0]||(n[0]=e=>l.value=e),disabled:a.value,class:"w-24 lg:w-32 text-xs bg-transparent border-none outline-none focus:ring-0 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50 dark:text-gray-200 truncate",title:Qt(t)("editor.fontFamily")},[(Ro(),jo(Do,null,pi(s,e=>Xo("option",{key:e.value,value:e.value,class:"dark:bg-gray-800 dark:text-gray-200"},oe(e.label),9,HB)),64))],8,QB),[[Ds,l.value]]),n[7]||(n[7]=Xo("div",{class:"w-px h-3.5 bg-gray-300 dark:bg-gray-600"},null,-1)),Xo("div",VB,[Xo("button",{onClick:n[1]||(n[1]=e=>u.value>1&&u.value--),disabled:a.value||u.value<=1,class:"w-5 h-5 flex items-center justify-center hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-xs font-medium disabled:opacity-40 disabled:cursor-not-allowed",title:Qt(t)("editor.fontSize")+" (-)"},"-",8,jB),en(Xo("input",{type:"number","onUpdate:modelValue":n[2]||(n[2]=e=>u.value=e),disabled:a.value,class:"w-10 text-center text-xs bg-transparent dark:bg-gray-800 border-none outline-none focus:ring-0 p-0 disabled:opacity-50 disabled:cursor-not-allowed [appearance:textfield] [-moz-appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none dark:text-gray-200",min:"1",max:"200"},null,8,GB),[[Ms,u.value]]),Xo("button",{onClick:n[3]||(n[3]=e=>u.value<200&&u.value++),disabled:a.value||u.value>=200,class:"w-5 h-5 flex items-center justify-center hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-xs font-medium disabled:opacity-40 disabled:cursor-not-allowed",title:Qt(t)("editor.fontSize")+" (+)"},"+",8,WB)]),n[8]||(n[8]=Xo("div",{class:"w-px h-3.5 bg-gray-300 dark:bg-gray-600"},null,-1)),Xo("button",{onClick:v,disabled:a.value,class:X(["p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed",{"bg-gray-200 dark:bg-gray-700 text-blue-700 dark:text-blue-400":d.value}]),title:Qt(t)("editor.bold")},[Zo(Qt(uB),{class:"w-3.5 h-3.5 lg:w-4 lg:h-4"})],10,KB),Xo("button",{onClick:m,disabled:a.value,class:X(["p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed",{"bg-gray-200 dark:bg-gray-700 text-blue-700 dark:text-blue-400":h.value}]),title:Qt(t)("editor.italic")},[Zo(Qt(AB),{class:"w-3.5 h-3.5 lg:w-4 lg:h-4"})],10,qB),Xo("button",{onClick:y,disabled:a.value,class:X(["p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed",{"bg-gray-200 dark:bg-gray-700 text-blue-700 dark:text-blue-400":p.value}]),title:Qt(t)("editor.underline")},[Zo(Qt(hB),{class:"w-3.5 h-3.5 lg:w-4 lg:h-4"})],10,YB),Xo("button",{onClick:b,disabled:a.value,class:X(["p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed",{"bg-gray-200 dark:bg-gray-700 text-blue-700 dark:text-blue-400":f.value}]),title:Qt(t)("editor.verticalText")},[Zo(Qt(fB),{class:"w-3.5 h-3.5 lg:w-4 lg:h-4"})],10,XB),n[9]||(n[9]=Xo("div",{class:"w-px h-3.5 bg-gray-300 dark:bg-gray-600 hidden sm:block"},null,-1)),Xo("div",ZB,[Zo(zB,{modelValue:c.value,"onUpdate:modelValue":n[4]||(n[4]=e=>c.value=e),disabled:a.value,"default-color":"#000000"},{trigger:Jr(({color:e})=>[Xo("button",{type:"button",class:"flex items-center gap-0.5 p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed",disabled:a.value,title:Qt(t)("editor.textColor")},[Zo(Qt(yB),{class:"w-3.5 h-3.5"}),Xo("div",{class:"w-1 h-3 rounded-[1px] border border-gray-300 dark:border-gray-600",style:G({backgroundColor:e})},null,4)],8,JB)]),_:1},8,["modelValue","disabled"]),Zo(zB,{modelValue:A.value,"onUpdate:modelValue":n[5]||(n[5]=e=>A.value=e),disabled:a.value,"allow-transparent":!0,"default-color":"transparent"},{trigger:Jr(({color:e})=>[Xo("button",{type:"button",class:"flex items-center gap-0.5 p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed",disabled:a.value,title:Qt(t)("editor.backgroundColor")},[Zo(Qt(wB),{class:"w-3.5 h-3.5"}),Xo("div",ek,["transparent"===e?(Ro(),jo("div",tk)):na("",!0),Xo("div",{class:"absolute inset-0",style:G({backgroundColor:"transparent"===e?"transparent":e})},null,4),"transparent"===e?(Ro(),jo("div",rk,[...n[6]||(n[6]=[Xo("div",{class:"w-full h-[1px] bg-red-500 rotate-90 transform scale-150"},null,-1)])])):na("",!0)])],8,$B)]),_:1},8,["modelValue","disabled"])]),Xo("button",{onClick:w,disabled:o.value||!Qt(r).selectedElementId||!Qt(r).isTemplateEditable,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-40 disabled:cursor-not-allowed",title:Qt(t)("editor.resetRotation")},[Zo(Qt(vB),{class:"w-3.5 h-3.5 lg:w-4 lg:h-4"})],8,nk)]))}}),ok={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const ak=Lt({name:"material-symbols-align-horizontal-left",render:function(e,t){return Ro(),jo("svg",ok,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M2 22V2h2v20zm4-5v-3h10v3zm0-7V7h16v3z"},null,-1)])])}}),sk={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const lk=Lt({name:"material-symbols-align-horizontal-center",render:function(e,t){return Ro(),jo("svg",sk,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M11 22v-5H6v-3h5v-4H3V7h8V2h2v5h8v3h-8v4h5v3h-5v5z"},null,-1)])])}}),uk={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const ck=Lt({name:"material-symbols-align-horizontal-right",render:function(e,t){return Ro(),jo("svg",uk,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M20 22V2h2v20zM8 17v-3h10v3zm-6-7V7h16v3z"},null,-1)])])}}),Ak={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const dk=Lt({name:"material-symbols-align-vertical-top",render:function(e,t){return Ro(),jo("svg",Ak,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M7 22V6h3v16zm7-6V6h3v10zM2 4V2h20v2z"},null,-1)])])}}),hk={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const pk=Lt({name:"material-symbols-align-vertical-center",render:function(e,t){return Ro(),jo("svg",hk,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M7 21v-8H2v-2h5V3h3v8h4V6h3v5h5v2h-5v5h-3v-5h-4v8z"},null,-1)])])}}),fk={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const gk=Lt({name:"material-symbols-align-vertical-bottom",render:function(e,t){return Ro(),jo("svg",fk,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M2 22v-2h20v2zm5-4V2h3v16zm7 0V8h3v10z"},null,-1)])])}}),vk={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const mk=Lt({name:"material-symbols-space-bar",render:function(e,t){return Ro(),jo("svg",vk,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M4 15V9h2v4h12V9h2v6z"},null,-1)])])}}),yk={key:0,class:"flex items-center gap-0.5 border border-gray-200 rounded-lg px-1 py-0.5 bg-white"},bk={key:1,class:"flex items-center gap-0.5 border border-gray-200 rounded-lg px-1 py-0.5 bg-white"},wk=Nn({__name:"AlignToolbar",setup(e){const t=Wb(),r=Ta(()=>t.selectedElementIds.length>=2&&t.isTemplateEditable),n=Ta(()=>t.selectedElementIds.length>=3&&t.isTemplateEditable);return(e,i)=>(Ro(),jo(Do,null,[r.value?(Ro(),jo("div",yk,[Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"左对齐",onClick:i[0]||(i[0]=e=>Qt(t).alignElements("left"))},[Zo(Qt(ak),{class:"w-4 h-4"})]),Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"水平居中",onClick:i[1]||(i[1]=e=>Qt(t).alignElements("center"))},[Zo(Qt(lk),{class:"w-4 h-4"})]),Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"右对齐",onClick:i[2]||(i[2]=e=>Qt(t).alignElements("right"))},[Zo(Qt(ck),{class:"w-4 h-4"})]),i[8]||(i[8]=Xo("div",{class:"w-px h-4 bg-gray-200 mx-0.5"},null,-1)),Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"顶对齐",onClick:i[3]||(i[3]=e=>Qt(t).alignElements("top"))},[Zo(Qt(dk),{class:"w-4 h-4"})]),Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"垂直居中",onClick:i[4]||(i[4]=e=>Qt(t).alignElements("middle"))},[Zo(Qt(pk),{class:"w-4 h-4"})]),Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"底对齐",onClick:i[5]||(i[5]=e=>Qt(t).alignElements("bottom"))},[Zo(Qt(gk),{class:"w-4 h-4"})])])):na("",!0),n.value?(Ro(),jo("div",bk,[Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"水平等距分布",onClick:i[6]||(i[6]=e=>Qt(t).distributeElements("horizontal"))},[Zo(Qt(mk),{class:"w-4 h-4 rotate-90"})]),Xo("button",{class:"p-1 hover:bg-blue-50 hover:text-blue-600 rounded transition-colors text-gray-500",title:"垂直等距分布",onClick:i[7]||(i[7]=e=>Qt(t).distributeElements("vertical"))},[Zo(Qt(mk),{class:"w-4 h-4"})])])):na("",!0)],64))}}),xk={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const _k=Lt({name:"material-symbols-more-vert",render:function(e,t){return Ro(),jo("svg",xk,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M12 20q-.825 0-1.412-.587T10 18t.588-1.412T12 16t1.413.588T14 18t-.587 1.413T12 20m0-6q-.825 0-1.412-.587T10 12t.588-1.412T12 10t1.413.588T14 12t-.587 1.413T12 14m0-6q-.825 0-1.412-.587T10 6t.588-1.412T12 4t1.413.588T14 6t-.587 1.413T12 8"},null,-1)])])}}),Ck={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Sk=Lt({name:"material-symbols-edit",render:function(e,t){return Ro(),jo("svg",Ck,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M3 21v-4.25L16.2 3.575q.3-.275.663-.425t.762-.15t.775.15t.65.45L20.425 5q.3.275.438.65T21 6.4q0 .4-.137.763t-.438.662L7.25 21zM17.6 7.8L19 6.4L17.6 5l-1.4 1.4z"},null,-1)])])}}),Bk={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const kk=Lt({name:"material-symbols-view-list",render:function(e,t){return Ro(),jo("svg",Bk,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M9 20h11q.825 0 1.413-.587T22 18v-2H9zM2 8h5V4H4q-.825 0-1.412.588T2 6zm0 6h5v-4H2zm2 6h3v-4H2v2q0 .825.588 1.413T4 20m5-6h13v-4H9zm0-6h13V6q0-.825-.587-1.412T20 4H9z"},null,-1)])])}}),Ek={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Ik=Lt({name:"material-symbols-description",render:function(e,t){return Ro(),jo("svg",Ek,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M8 18h8v-2H8zm0-4h8v-2H8zm-2 8q-.825 0-1.412-.587T4 20V4q0-.825.588-1.412T6 2h8l6 6v12q0 .825-.587 1.413T18 22zm7-13h5l-5-5z"},null,-1)])])}}),Tk={class:"h-[60px] flex items-center justify-between px-4 border-b border-gray-200 dark:border-gray-800 shrink-0"},Pk={class:"text-lg font-semibold text-gray-800 dark:text-gray-100"},Mk={class:"p-4"},Lk={class:"mb-4 space-y-3"},Dk={key:0,class:"block text-sm font-medium text-gray-700 dark:text-gray-200"},Nk=["onUpdate:modelValue","placeholder"],Ok=["value","placeholder","min","max","step","onInput"],Fk=["onUpdate:modelValue","rows","placeholder"],Uk=["onUpdate:modelValue"],zk={key:0,value:""},Rk=["value"],Qk={key:5,class:"space-y-2"},Hk=["onUpdate:modelValue","value"],Vk=["onUpdate:modelValue"],jk=["onUpdate:modelValue"],Gk={class:"flex justify-end gap-2"},Wk=["disabled"],Kk=Nn({__name:"InputModal",props:{show:{type:Boolean},initialValue:{},initialValues:{},title:{},placeholder:{},fields:{}},emits:["close","save"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),{isDark:o}=ew(),a=Wb(),s=nn("modal-container",Ft(null)),l=Ft(null),u=Ft({}),c=Ta(()=>r.fields&&r.fields.length>0?r.fields:[{key:"value",type:"input",required:!0,placeholder:r.placeholder||i("input.placeholder")}]),A=Ta(()=>Boolean(r.fields&&r.fields.length>0));an(()=>r.show,e=>{if(e)return(()=>{const e={};c.value.forEach(t=>{r.initialValues&&Object.prototype.hasOwnProperty.call(r.initialValues,t.key)?e[t.key]=r.initialValues[t.key]:A.value||"value"!==t.key?e[t.key]=(e=>(e.type,""))(t):e[t.key]=r.initialValue||""}),u.value=e})(),setTimeout(()=>{var e;const t=null==(e=l.value)?void 0:e.querySelector("input, textarea, select");null==t||t.focus()},100),void a.setDisableGlobalShortcuts(!0);a.setDisableGlobalShortcuts(!1)});const d=Ta(()=>{for(const e of c.value){const t=u.value[e.key],r=""===t||null==t;if(e.required&&r)return!1;if("number"===e.type&&!r&&!Number.isFinite(Number(t)))return!1}return!0}),h=()=>{if(!(()=>{for(const e of c.value){const t=u.value[e.key],r=""===t||null==t;if(e.required&&r)return!1;if("number"===e.type&&!r){const r=Number(t);if(!Number.isFinite(r))return!1;if("number"==typeof e.min&&r<e.min)return!1;if("number"==typeof e.max&&r>e.max)return!1}}return!0})())return;if(!A.value){const e=String(u.value.value??"").trim();if(!e)return;return n("save",e),void n("close")}const e={};c.value.forEach(t=>{const r=u.value[t.key];"number"!==t.type?e[t.key]=r:e[t.key]=""===r||null==r?null:Number(r)}),n("save",e),n("close")};return ii(()=>{r.show&&a.setDisableGlobalShortcuts(!1)}),(t,r)=>(Ro(),Go(yn,{to:Qt(s)||"body"},[e.show?(Ro(),jo("div",{key:0,class:X([{dark:Qt(o)},"fixed inset-0 z-[2000] flex items-center justify-center bg-black/50 pointer-events-auto"])},[Xo("div",{ref_key:"modalRef",ref:l,class:"bg-white dark:bg-gray-900 rounded-lg shadow-xl w-96 animate-in fade-in zoom-in duration-200 flex flex-col overflow-hidden"},[Xo("div",Tk,[Xo("h3",Pk,oe(e.title||Qt(i)("input.title")),1),Xo("button",{onClick:r[0]||(r[0]=e=>n("close")),class:"p-1 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-full transition-colors text-gray-500 dark:text-gray-400"},[Zo(Qt(Lw),{class:"w-4 h-4"})])]),Xo("div",Mk,[Xo("div",Lk,[(Ro(!0),jo(Do,null,pi(c.value,t=>(Ro(),jo("div",{key:t.key,class:"space-y-1"},[t.label?(Ro(),jo("label",Dk,oe(t.label),1)):na("",!0),"input"===t.type?en((Ro(),jo("input",{key:1,"onUpdate:modelValue":e=>u.value[t.key]=e,type:"text",class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",placeholder:t.placeholder||e.placeholder||Qt(i)("input.placeholder"),onKeydown:[Qs(h,["enter"]),r[1]||(r[1]=Qs(e=>n("close"),["esc"]))]},null,40,Nk)),[[Ms,u.value[t.key]]]):"number"===t.type?(Ro(),jo("input",{key:2,value:u.value[t.key],type:"number",class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",placeholder:t.placeholder||e.placeholder||Qt(i)("input.placeholder"),min:t.min,max:t.max,step:t.step??1,onInput:e=>u.value[t.key]=(e=>{if(""===e||null==e)return"";const t=Number(e);return Number.isFinite(t)?t:""})(e.target.value),onKeydown:[Qs(h,["enter"]),r[2]||(r[2]=Qs(e=>n("close"),["esc"]))]},null,40,Ok)):"textarea"===t.type?en((Ro(),jo("textarea",{key:3,"onUpdate:modelValue":e=>u.value[t.key]=e,class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",rows:t.rows??4,placeholder:t.placeholder||e.placeholder||Qt(i)("input.placeholder"),onKeydown:r[3]||(r[3]=Qs(e=>n("close"),["esc"]))},null,40,Fk)),[[Ms,u.value[t.key]]]):"select"===t.type?en((Ro(),jo("select",{key:4,"onUpdate:modelValue":e=>u.value[t.key]=e,class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",onKeydown:r[4]||(r[4]=Qs(e=>n("close"),["esc"]))},[t.required?na("",!0):(Ro(),jo("option",zk,oe(t.placeholder||Qt(i)("input.placeholder")),1)),(Ro(!0),jo(Do,null,pi(t.options||[],e=>(Ro(),jo("option",{key:String(e.value),value:e.value},oe(e.label),9,Rk))),128))],40,Uk)),[[Ds,u.value[t.key]]]):"radio"===t.type?(Ro(),jo("div",Qk,[(Ro(!0),jo(Do,null,pi(t.options||[],e=>(Ro(),jo("label",{key:String(e.value),class:"flex items-center gap-2 text-sm text-gray-700 dark:text-gray-200"},[en(Xo("input",{"onUpdate:modelValue":e=>u.value[t.key]=e,type:"radio",value:e.value},null,8,Hk),[[Ls,u.value[t.key]]]),Xo("span",null,oe(e.label),1)]))),128))])):"date"===t.type?en((Ro(),jo("input",{key:6,"onUpdate:modelValue":e=>u.value[t.key]=e,type:"date",class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",onKeydown:r[5]||(r[5]=Qs(e=>n("close"),["esc"]))},null,40,Vk)),[[Ms,u.value[t.key]]]):"datetime"===t.type?en((Ro(),jo("input",{key:7,"onUpdate:modelValue":e=>u.value[t.key]=e,type:"datetime-local",class:"w-full px-3 py-2 border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500",onKeydown:r[6]||(r[6]=Qs(e=>n("close"),["esc"]))},null,40,jk)),[[Ms,u.value[t.key]]]):na("",!0)]))),128))]),Xo("div",Gk,[Xo("button",{onClick:r[7]||(r[7]=e=>n("close")),class:"px-4 py-2 text-sm font-medium text-gray-700 dark:text-gray-300 bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700 rounded-md transition-colors"},oe(Qt(i)("common.cancel")),1),Xo("button",{onClick:h,disabled:!d.value,class:"px-4 py-2 text-sm font-medium text-white bg-blue-600 dark:bg-blue-500 hover:bg-blue-700 dark:hover:bg-blue-600 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(i)("common.confirm")),9,Wk)])])],512)],2)):na("",!0)],8,["to"]))}}),qk={class:"bg-white dark:bg-gray-900 rounded-lg shadow-xl w-[60vw] h-[80vh] flex flex-col overflow-hidden animate-fade-in"},Yk={class:"h-[60px] flex items-center justify-between px-4 border-b border-gray-200 dark:border-gray-800 shrink-0"},Xk={class:"flex items-center gap-2"},Zk={class:"text-lg font-semibold text-gray-800 dark:text-gray-100"},Jk={class:"px-2 py-0.5 rounded bg-gray-200 dark:bg-gray-800 text-gray-600 dark:text-gray-400 text-xs font-mono uppercase"},$k={class:"flex-1 overflow-hidden relative"},eE={class:"p-4 border-t border-gray-200 dark:border-gray-800 bg-gray-50 dark:bg-gray-800 flex justify-end rounded-b-lg"},tE=Nn({__name:"CodeEditorModal",props:{visible:{type:Boolean},title:{},value:{},language:{},readOnly:{type:Boolean}},emits:["update:visible","update:value","close"],setup(e,{emit:t}){const r=jn(()=>Promise.resolve().then(()=>XH).then(e=>e.Editor)),{t:n}=dh(),{isDark:i}=ew(),o=nn("modal-container",Ft(null)),a=e,s=t,l=Wb(),u=Ta(()=>({minimap:{enabled:!0},lineNumbers:"on",glyphMargin:!1,folding:!0,wordWrap:"on",automaticLayout:!0,scrollBeyondLastLine:!1,theme:i.value?"vs-dark":"vs",fontSize:14,fontFamily:'Consolas, "Courier New", monospace',renderLineHighlight:"none",overviewRulerLanes:0,hideCursorInOverviewRuler:!0,contextmenu:!0})),c=e=>{s("update:value",e||"")},A=()=>{s("update:visible",!1),s("close")},d=e=>{a.visible&&"Escape"===e.key&&A()};return an(()=>a.visible,e=>{l.setDisableGlobalShortcuts(e)}),ei(()=>{window.addEventListener("keydown",d)}),ii(()=>{window.removeEventListener("keydown",d),a.visible&&l.setDisableGlobalShortcuts(!1)}),(t,a)=>(Ro(),Go(yn,{to:Qt(o)||"body"},[e.visible?(Ro(),jo("div",{key:0,class:X([{dark:Qt(i)},"fixed inset-0 z-[99999] flex items-center justify-center bg-black/50 pointer-events-auto"]),onClick:zs(A,["self"])},[Xo("div",qk,[Xo("div",Yk,[Xo("div",Xk,[Xo("h3",Zk,oe(e.title),1),Xo("span",Jk,oe(e.language),1)]),Xo("button",{onClick:A,class:"p-1 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-full transition-colors text-gray-500 dark:text-gray-400"},[Zo(Qt(Lw),{class:"w-4 h-4"})])]),Xo("div",$k,[Zo(Qt(r),{value:e.value,language:e.language,options:{...u.value,readOnly:e.readOnly},"onUpdate:value":c,class:"w-full h-full"},null,8,["value","language","options"])]),Xo("div",eE,[Xo("button",{onClick:A,class:"px-4 py-2 bg-blue-600 dark:bg-blue-500 text-white rounded hover:bg-blue-700 dark:hover:bg-blue-600 transition-colors text-sm"},oe(Qt(n)("common.close")),1)])])],2)):na("",!0)],8,["to"]))}}),rE=zC(tE,[["__scopeId","data-v-4c59b77a"]]),nE=["title"],iE={class:"flex-1 overflow-hidden flex items-center gap-1.5 text-left"},oE={key:0,class:"inline-flex items-center px-1.5 py-0.5 rounded border text-[10px] leading-none flex-shrink-0 bg-gray-100 text-gray-600 border-gray-200 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-600"},aE={class:"truncate"},sE={key:0,class:"absolute top-full left-0 mt-2 w-[260px] bg-white dark:bg-gray-800 rounded-lg shadow-xl border border-gray-200 dark:border-gray-700 z-[100] flex flex-col max-h-[500px]"},lE={class:"p-2 border-b border-gray-100 dark:border-gray-700"},uE={class:"flex-1 overflow-y-auto py-1"},cE={key:0,class:"px-4 py-3 text-sm text-gray-500 dark:text-gray-400 text-center"},AE=["onClick","onContextmenu","title"],dE={class:"flex items-center gap-2 overflow-hidden flex-1"},hE={class:"w-2 h-2 flex items-center justify-center flex-shrink-0"},pE={key:0,class:"w-1.5 h-1.5 rounded-full bg-blue-500"},fE={key:0,class:"inline-flex items-center px-1.5 py-0.5 rounded border text-[10px] leading-none flex-shrink-0 bg-gray-100 text-gray-600 border-gray-200 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-600"},gE=["onClick"],vE={class:"border-t border-gray-100 dark:border-gray-700 p-1"},mE=["onClick","disabled"],yE=["src"],bE=["src"],wE={key:4,class:"w-3.5 h-3.5 inline-flex items-center justify-center"},xE=Nn({__name:"TemplateDropdown",setup(e){const{t:t}=dh(),r=Mb(),n=Wb(),i=nn("modal-container",Ft(null)),o=Ft(!1),a=Ft(null),s=Ft(""),l=Ta(()=>{const e=s.value.toLowerCase().trim();return e?r.templates.filter(t=>t.name.toLowerCase().includes(e)):r.templates}),u=Ft(null),c=Ft({}),A=Ft(!1),d=Ft("create"),h=Ft(""),p=Ft({}),f=Ft(null),g=Ft(!1),v=Ft(""),m=Ft(null),y=Ft([]),b=e=>{const t=n.templateModalFormConfig;if(!t)return null;const r=e;return t[r]?t[r]||null:"copy"===e?t.copy||t.edit||t.create||null:"edit"===e?t.edit||t.create||null:t.create||null},w=(e,t,n=null)=>{const i=b(t),o=(null==i?void 0:i.initialValues)&&"object"==typeof i.initialValues?{...i.initialValues}:{},a=((e,t)=>{var n,i;if(!e)return{};const o=r.templates.find(t=>t.id===e),a=(null==o?void 0:o.ext)||{},s=(null==(i=null==(n=r.templateDetailCache)?void 0:n[e])?void 0:i.ext)||{},l={...a,...s},u=a.templateModalForm||{},c=s.templateModalForm||{};let A={};const d=t;if(u[d]&&"object"==typeof u[d])A={...u[d]};else if(c[d]&&"object"==typeof c[d])A={...c[d]};else{const e=u.lastMode||c.lastMode;e&&u[e]&&"object"==typeof u[e]?A={...u[e]}:e&&c[e]&&"object"==typeof c[e]&&(A={...c[e]})}const h={...l,...A};return delete h.templateModalForm,h})(n,t),s={...o,...a};return Object.prototype.hasOwnProperty.call(s,"name")||(s.name=e),s},x=Ta(()=>{var e;return null==(e=b(d.value))?void 0:e.fields}),_=e=>{if(!e)return null;return/^[a-z0-9]+(?:-[a-z0-9]+)*:[a-z0-9-]+$/i.test(e)?`https://api.iconify.design/${encodeURIComponent(e)}.svg`:null},C=e=>{const t=(e||"").trim().toLowerCase();return"red"===t||"#ff4d4f"===t||"红色"===t||"红"===t?{backgroundColor:"#fef2f2",color:"#dc2626",borderColor:"#fecaca"}:"white"===t||"#ffffff"===t||"白色"===t||"白"===t?{backgroundColor:"#ffffff",color:"#374151",borderColor:"#d1d5db"}:"blue"===t||"#3b82f6"===t||"蓝色"===t||"蓝"===t?{backgroundColor:"#eff6ff",color:"#1d4ed8",borderColor:"#bfdbfe"}:"green"===t||"#22c55e"===t||"绿色"===t||"绿"===t?{backgroundColor:"#f0fdf4",color:"#15803d",borderColor:"#bbf7d0"}:"orange"===t||"#f97316"===t||"橙色"===t||"橙"===t?{backgroundColor:"#fff7ed",color:"#c2410c",borderColor:"#fed7aa"}:t?{backgroundColor:t,color:"#ffffff",borderColor:t}:{backgroundColor:"#f3f4f6",color:"#4b5563",borderColor:"#e5e7eb"}},S=Ta(()=>{const e={};return r.templates.forEach(t=>{const r=(e=>{var t;const r=null==(t=e.ext)?void 0:t.templateTags;return Array.isArray(r)?r.map(e=>{if(!e||"object"!=typeof e)return null;const t=String(e.label??"").trim();return t?{key:e.key?String(e.key):void 0,label:t,color:e.color?String(e.color):void 0}:null}).filter(e=>null!==e):[]})(t);e[t.id]={visible:r.slice(0,2),overflow:r.length>2?r.length-2:0}}),e}),B=e=>{var t;return(null==(t=S.value[e.id])?void 0:t.visible)||[]},k=e=>{var t;return(null==(t=S.value[e.id])?void 0:t.overflow)||0};ei(async()=>{await r.loadTemplates(),!r.currentTemplateId&&r.templates.length>0&&r.loadTemplate(r.templates[0].id),document.addEventListener("click",E),window.addEventListener("designer:new-template",D),window.addEventListener("designer:save-as",N)}),ii(()=>{document.removeEventListener("click",E),window.removeEventListener("designer:new-template",D),window.removeEventListener("designer:save-as",N)});const E=e=>{var t;const r=e.composedPath(),n=a.value&&r.includes(a.value),i=((null==(t=a.value)?void 0:t.getRootNode())||document).querySelector(".row-menu-content"),s=i&&r.includes(i);n||s||(o.value=!1,u.value=null)},I=Ta(()=>r.templates.find(e=>e.id===r.currentTemplateId)||null),T=Ta(()=>I.value?I.value.name:t("template.select")),P=()=>{o.value=!o.value,o.value||(u.value=null)},M=(e,t,n)=>{const i=r.templates.find(e=>e.id===n);if(!i)return;const o=30*Math.max(1,U(i).length)+10;let a=Math.max(5,Math.min(e,window.innerWidth-160-5)),s=t;s+o>window.innerHeight-5&&(s=Math.max(5,t-o)),c.value={top:`${s}px`,left:`${a}px`},u.value=n},L=()=>r.templates.find(e=>e.id===u.value),D=()=>{u.value=null,d.value="create",h.value="",p.value=w("","create"),A.value=!0,o.value=!1},N=async e=>{var t;const n=(null==(t=e.detail)?void 0:t.id)||r.currentTemplateId;if(!n)return;await r.fetchTemplateDetail(n);const i=r.templates.find(e=>e.id===n),a=i?`${i.name} Copy`:"";d.value="create",f.value=n,h.value=a,p.value=w(a,"create",n),A.value=!0,o.value=!1,u.value=null},O=async e=>{u.value=null;const t=await r.fetchTemplateDetail(e.id);m.value=t||e;const i=(e=>{var t,i;const o=r.currentTemplateId===e.id,a=o?n.testData||{}:(null==(t=e.data)?void 0:t.testData)||{},s=o?n.pages:(null==(i=e.data)?void 0:i.pages)||[];return Ob(s,a)})(m.value);y.value=Object.keys(i),v.value=JSON.stringify(i,null,2),g.value=!0,o.value=!1},F=Ta(()=>[{key:"testData",actionKey:"testData",label:t("common.testData"),iconComponent:Qw},{key:"variablesPanel",actionKey:"variablesPanel",label:t("common.variables"),iconComponent:kk},{key:"edit",actionKey:"edit",label:t("common.edit"),iconComponent:Sk,disabled:({item:e})=>!jy(e)},{key:"copy",actionKey:"copy",label:t("common.copy"),iconComponent:ox,hidden:!0,disabled:({item:e})=>!Wy(e)},{key:"delete",actionKey:"delete",label:t("common.delete"),iconComponent:Ax,danger:!0,hidden:!0,disabled:({item:e})=>!Gy(e)}]);function U(e){const t=n.templateContextMenuConfig,r=((null==t?void 0:t.items)||[]).map(e=>({...e}));return((e,t,r)=>{if("replace"===r)return t;const n=[...e];return t.forEach(e=>{const t=n.findIndex(t=>t.key===e.key);t>=0?n[t]={...n[t],...e}:n.push(e)}),n})(F.value,r,"replace"===(null==t?void 0:t.mode)?"replace":"append").filter(t=>"function"==typeof t.hidden?!t.hidden({source:"template",item:e}):!t.hidden)}const z=(e,t)=>"function"==typeof e.disabled?e.disabled({source:"template",item:t}):Boolean(e.disabled),R=(e,i)=>{const a=e||"";"testData"!==a?"variablesPanel"!==a?"fieldsPanel"!==a?"sampleData"!==a?"edit"!==a?"copy"!==a?"delete"===a&&(async e=>{if(!Gy(e))return void Qm.warning(t("toast.templateDeleteNotAllowed"));await xh.show(t("template.confirmDelete",{name:e.name}))&&(await r.deleteTemplate(e.id),!r.currentTemplateId&&r.templates.length>0&&r.loadTemplate(r.templates[0].id)),u.value=null})(i):(async e=>{Wy(e)?(await r.fetchTemplateDetail(e.id),d.value="copy",f.value=e.id,h.value=`${e.name} Copy`,p.value=w(`${e.name} Copy`,"copy",e.id),A.value=!0,o.value=!1,u.value=null):Qm.warning(t("toast.templateCopyNotAllowed"))})(i):(async e=>{jy(e)?(await r.fetchTemplateDetail(e.id),u.value=null,d.value="edit",f.value=e.id,h.value=e.name,p.value=w(e.name,"edit",e.id),A.value=!0,o.value=!1):Qm.warning(t("toast.templateReadOnly"))})(i):n.setShowSampleDataModal(!0):n.setShowFieldsPanel(!0):n.setShowVariablesPanel(!0):O(i)},Q=()=>{var e;const i=m.value,o=new Set(y.value||[]);if(m.value=null,y.value=[],!i)return;let a=null;try{const t=(null==(e=v.value)?void 0:e.trim())||"{}",r=JSON.parse(t);r&&"object"==typeof r&&!Array.isArray(r)&&(a=r)}catch{a=null}if(a){if(o.size>0){const e=Object.keys(a);if(e.length!==o.size||e.some(e=>!o.has(e)))return void Qm.error(t("common.testDataKeyChanged"))}i.data={...i.data||{},testData:a},i.updatedAt=Date.now(),r.currentTemplateId===i.id?(n.testData=a,r.saveCurrentTemplate(i.name)):r.updateTemplate(i.id,{data:i.data})}else Qm.error(t("common.invalidJson"))},H=e=>{const t=(e=>"string"==typeof e?e.trim():String((null==e?void 0:e.name)??"").trim())(e),n=(e=>{if(!e||"string"==typeof e)return;const t={...e};return delete t.name,Object.keys(t).length>0?t:void 0})(e);if(t)if("create"===d.value){if(r.currentTemplateId){const e=r.templates.find(e=>e.id===r.currentTemplateId);e&&jy(e)&&r.saveCurrentTemplate(e.name)}const e=Wb();f.value||e.resetCanvas(),r.createTemplate(t,void 0,n)}else"edit"===d.value&&f.value?r.editTemplate(f.value,t,n):"copy"===d.value&&f.value&&r.copyTemplate(f.value,t,n)},V=Ta(()=>"edit"===d.value?t("template.edit"):"copy"===d.value?t("common.copy"):"create"===d.value&&f.value?t("editor.saveAsTemplate"):t("template.new"));return(e,d)=>(Ro(),jo("div",{class:"relative",ref_key:"containerRef",ref:a},[Xo("button",{onClick:zs(P,["stop"]),class:"flex items-center gap-2 px-3 py-1.5 bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700 rounded-lg text-sm font-medium text-gray-700 dark:text-gray-200 transition-colors w-52",title:T.value},[Zo(Qt(Ik),{class:"w-4 h-4 flex-shrink-0"}),Xo("div",iE,[(Ro(!0),jo(Do,null,pi(I.value?B(I.value):[],e=>{var t;return Ro(),jo("span",{key:`${null==(t=I.value)?void 0:t.id}-${e.label}-${e.color||""}`,class:"inline-flex items-center px-1.5 py-0.5 rounded border text-[10px] leading-none flex-shrink-0",style:G(C(e.color))},oe(e.label),5)}),128)),I.value&&k(I.value)>0?(Ro(),jo("span",oE," +"+oe(k(I.value)),1)):na("",!0),Xo("span",aE,oe(T.value),1)]),Zo(Qt(Kw),{class:"w-4 h-4 flex-shrink-0"})],8,nE),o.value?(Ro(),jo("div",sE,[Xo("div",lE,[en(Xo("input",{"onUpdate:modelValue":d[0]||(d[0]=e=>s.value=e),type:"text",placeholder:"搜索模板...",class:"w-full px-2 py-1.5 text-sm border border-gray-200 dark:border-gray-600 rounded bg-gray-50 dark:bg-gray-700 text-gray-700 dark:text-gray-200 focus:outline-none focus:border-blue-400",onKeydown:d[1]||(d[1]=Qs(e=>o.value=!1,["escape"]))},null,544),[[Ms,s.value]])]),Xo("div",uE,[0===l.value.length?(Ro(),jo("div",cE,oe(s.value?"无匹配模板":Qt(t)("template.noTemplates")),1)):na("",!0),(Ro(!0),jo(Do,null,pi(l.value,e=>(Ro(),jo("div",{key:e.id,class:"relative group border-b border-gray-100 dark:border-gray-700 last:border-b-0 flex items-center justify-between px-3 py-2 hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer",onClick:t=>(e=>{if(r.currentTemplateId){const e=r.templates.find(e=>e.id===r.currentTemplateId);e&&jy(e)&&r.saveCurrentTemplate(e.name)}r.loadTemplate(e.id),o.value=!1})(e),onContextmenu:zs(t=>{return r=t,n=e.id,r.stopPropagation(),r.preventDefault(),void M(r.clientX,r.clientY,n);var r,n},["prevent"]),title:e.name},[Xo("div",dE,[Xo("div",hE,[Qt(r).currentTemplateId===e.id?(Ro(),jo("div",pE)):na("",!0)]),(Ro(!0),jo(Do,null,pi(B(e),t=>(Ro(),jo("span",{key:`${e.id}-${t.label}-${t.color||""}`,class:"inline-flex items-center px-1.5 py-0.5 rounded border text-[10px] leading-none flex-shrink-0",style:G(C(t.color))},oe(t.label),5))),128)),k(e)>0?(Ro(),jo("span",fE," +"+oe(k(e)),1)):na("",!0),Xo("span",{class:X(["text-sm text-gray-700 dark:text-gray-200 truncate",{"font-medium text-blue-600 dark:text-blue-400":Qt(r).currentTemplateId===e.id}])},oe(e.name),3)]),Xo("button",{onClick:zs(t=>((e,t)=>{if(e.stopPropagation(),u.value===t)return void(u.value=null);const r=e.currentTarget.getBoundingClientRect();M(r.right-160,r.bottom+5,t)})(t,e.id),["stop"]),class:X(["row-menu-trigger p-1 hover:bg-gray-200 dark:hover:bg-gray-600 rounded-full text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 opacity-0 group-hover:opacity-100 transition-opacity",{"opacity-100 bg-gray-200 dark:bg-gray-600":u.value===e.id}])},[Zo(Qt(_k),{class:"w-4 h-4"})],10,gE)],40,AE))),128))]),Xo("div",vE,[na("",!0)])])):na("",!0),(Ro(),Go(yn,{to:Qt(i)||"body"},[u.value?(Ro(),jo("div",{key:0,class:"fixed inset-0 z-[2000] pointer-events-auto",onClick:d[3]||(d[3]=e=>u.value=null)},[Xo("div",{class:"row-menu-content absolute w-40 bg-white dark:bg-gray-800 rounded shadow-lg border border-gray-100 dark:border-gray-700 z-[2001] py-1 pointer-events-auto",style:G(c.value),onClick:d[2]||(d[2]=zs(()=>{},["stop"]))},[L()?(Ro(!0),jo(Do,{key:0},pi(U(L()),e=>(Ro(),jo("button",{key:e.key,onClick:t=>(async(e,t)=>{if(!z(e,t)){u.value=null,o.value=!1,R(e.actionKey,t);try{"function"==typeof e.onClick&&await e.onClick({source:"template",item:t}),e.eventName&&n.emitContextMenuEvent(e.eventName,{source:"template",actionKey:e.actionKey||null,key:e.key,item:t})}catch(r){}}})(e,L()),disabled:z(e,L()),class:X(["w-full text-left px-3 py-1.5 text-xs flex items-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",e.danger?"text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/30":"text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700"])},[e.iconComponent?(Ro(),Go(Ai(e.iconComponent),{key:0,class:"w-3.5 h-3.5"})):e.iconImage?(Ro(),jo("img",{key:1,src:e.iconImage,class:"w-3.5 h-3.5 object-contain"},null,8,yE)):e.iconClass?(Ro(),jo("i",{key:2,class:X(e.iconClass)},null,2)):_(e.icon)?(Ro(),jo("img",{key:3,src:_(e.icon),class:"w-3.5 h-3.5 object-contain"},null,8,bE)):e.icon?(Ro(),jo("span",wE,oe(e.icon),1)):na("",!0),Xo("span",null,oe(e.label),1)],10,mE))),128)):na("",!0)],4)])):na("",!0)],8,["to"])),Zo(Kk,{show:A.value,"initial-value":h.value,"initial-values":p.value,fields:x.value,title:V.value,onClose:d[4]||(d[4]=e=>A.value=!1),onSave:H},null,8,["show","initial-value","initial-values","fields","title"]),Zo(rE,{visible:g.value,"onUpdate:visible":d[5]||(d[5]=e=>g.value=e),title:Qt(t)("common.testData"),value:v.value,language:"json","onUpdate:value":d[6]||(d[6]=e=>v.value=e),onClose:Q},null,8,["visible","title","value"])],512))}}),_E={A3:{width:1123,height:1587},A4:{width:794,height:1123},A5:{width:559,height:794},LETTER:{width:816,height:1056},LEGAL:{width:816,height:1344},"Receipt 58mm":{width:219,height:794},"Receipt 80mm":{width:302,height:794},"241-1 (Full)":{width:911,height:1058},"241-2 (Half)":{width:911,height:529},"241-3 (Third)":{width:911,height:352}},CE={class:"relative"},SE={class:"flex items-center bg-gray-100 dark:bg-gray-800 rounded-lg p-1"},BE=["disabled","title"],kE=["disabled","title"],EE={class:"truncate"},IE=["disabled","title"],TE={key:0,class:"absolute top-full left-0 mt-2 w-64 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 shadow-xl rounded-lg p-4 z-[1000]"},PE={class:"text-sm font-semibold text-gray-700 dark:text-gray-200 mb-3"},ME={class:"space-y-3"},LE={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},DE=["value"],NE={value:"CUSTOM",class:"dark:bg-gray-800 dark:text-gray-200"},OE={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},FE=["value"],UE={value:"mm",class:"dark:bg-gray-800 dark:text-gray-200"},zE={value:"cm",class:"dark:bg-gray-800 dark:text-gray-200"},RE={value:"in",class:"dark:bg-gray-800 dark:text-gray-200"},QE={value:"pt",class:"dark:bg-gray-800 dark:text-gray-200"},HE={value:"px",class:"dark:bg-gray-800 dark:text-gray-200"},VE={class:"grid grid-cols-2 gap-2"},jE={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},GE=["value"],WE={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},KE=["value"],qE={class:"grid grid-cols-2 gap-2"},YE={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},XE=["value"],ZE={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},JE=["value"],$E={class:"mt-4 flex items-center justify-between"},eI={class:"text-sm text-gray-700 dark:text-gray-200 font-medium"},tI={class:"mt-3 flex items-center justify-between"},rI={class:"text-sm text-gray-700 dark:text-gray-200 font-medium"},nI={class:"mt-3 flex items-center justify-between"},iI={class:"text-sm text-gray-700 dark:text-gray-200 font-medium"},oI={class:"mt-3 flex items-center justify-between"},aI={class:"text-sm text-gray-700 dark:text-gray-200 font-medium"},sI={class:"mt-3 flex items-center justify-between"},lI={class:"text-sm text-gray-700 dark:text-gray-200 font-medium"},uI={key:0,class:"absolute inset-0 flex items-center justify-center"},cI={class:"border-t border-gray-200 dark:border-gray-700 my-4 pt-3"},AI={class:"text-sm font-semibold text-gray-700 dark:text-gray-200 mb-3"},dI={class:"space-y-3"},hI={class:"flex items-center justify-between"},pI={class:"flex items-center gap-2"},fI={class:"text-xs text-gray-600 dark:text-gray-400"},gI={class:"flex items-center gap-1"},vI=["value"],mI={class:"text-xs text-gray-500 dark:text-gray-400"},yI={class:"flex items-center justify-between"},bI={class:"flex items-center gap-2"},wI={class:"text-xs text-gray-600 dark:text-gray-400"},xI={class:"flex items-center gap-1"},_I=["value"],CI={class:"text-xs text-gray-500 dark:text-gray-400"},SI={class:"border-t border-gray-200 dark:border-gray-700 pt-3 mt-3"},BI=["disabled"],kI=["disabled"],EI={class:"bg-white dark:bg-gray-800 rounded-lg shadow-xl w-[640px] max-w-full max-h-[90vh] flex flex-col overflow-hidden border border-gray-200 dark:border-gray-700"},II={class:"h-[60px] flex items-center justify-between px-4 border-b border-gray-200 dark:border-gray-700 shrink-0"},TI={class:"text-lg font-semibold text-gray-800 dark:text-gray-200"},PI={class:"p-4 overflow-y-auto space-y-4"},MI={class:"text-sm font-semibold text-gray-700 dark:text-gray-200 mb-3"},LI={class:"space-y-3"},DI={class:"flex items-center justify-between"},NI={class:"text-sm text-gray-700 dark:text-gray-200 font-medium"},OI={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},FI=["placeholder"],UI={class:"grid grid-cols-2 gap-2"},zI={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},RI={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},QI={class:"grid grid-cols-2 gap-2"},HI={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},VI={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},jI={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},GI={class:"p-4 border-t border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800 flex justify-end"},WI=Nn({__name:"PaperSettings",setup(e){const{t:t}=dh(),r=Wb(),n=nn("modal-container",Ft(null)),i=Ft("A4"),o=Ft(_E.A4.width),a=Ft(_E.A4.height),s=Ft(!1),l=Ft(!1),u=Ta(()=>!r.isTemplateEditable),c=Ta({get:()=>r.canvasBackground,set:e=>r.setCanvasBackground(e)}),A=Ta({get:()=>{var e;return(null==(e=r.watermark)?void 0:e.text)||""},set:e=>r.setWatermark({text:e})}),d=Ta({get:()=>{var e;return(null==(e=r.watermark)?void 0:e.enabled)??!1},set:e=>r.setWatermark({enabled:Boolean(e)})}),h=Ta({get:()=>{var e;return(null==(e=r.watermark)?void 0:e.angle)??-30},set:e=>r.setWatermark({angle:Number(e)})}),p=Ta({get:()=>{var e;return(null==(e=r.watermark)?void 0:e.color)||"#000000"},set:e=>r.setWatermark({color:e})}),f=Ta({get:()=>{var e;return Math.round(100*((null==(e=r.watermark)?void 0:e.opacity)??.1))},set:e=>{const t=Math.max(0,Math.min(100,Number(e)));r.setWatermark({opacity:t/100})}}),g=Ta({get:()=>{var e;return w((null==(e=r.watermark)?void 0:e.size)??24)},set:e=>r.setWatermark({size:Sw(Number(e),r.unit)})}),v=Ta({get:()=>{var e;return w((null==(e=r.watermark)?void 0:e.density)??160)},set:e=>r.setWatermark({density:Sw(Number(e),r.unit)})}),m=Ta({get:()=>w(r.pageSpacingX||0),set:e=>r.setPageSpacingX(Sw(Number(e),r.unit))}),y=Ta({get:()=>w(r.pageSpacingY||0),set:e=>r.setPageSpacingY(Sw(Number(e),r.unit))}),b=Ta(()=>"px"===r.unit?t("common.px"):"pt"===r.unit?t("common.pt"):"in"===r.unit?t("common.in"):"cm"===r.unit?t("common.cm"):t("common.mm")),w=e=>{const t=Cw(e,r.unit);return"px"===r.unit?Math.round(t):Number(t.toFixed(1))},x=()=>{if(!u.value&&"CUSTOM"!==i.value){const e=_E[i.value];o.value=e.width,a.value=e.height,r.setCanvasSize(e.width,e.height)}},_=()=>{u.value||(r.setCanvasSize(o.value,a.value),Object.values(_E).some(e=>e.width===o.value&&e.height===a.value)||(i.value="CUSTOM"))},C=()=>{u.value||(s.value=!s.value)},S=()=>{u.value||(l.value=!0)};return an(()=>r.canvasSize,e=>{o.value=e.width,a.value=e.height;const t=Object.entries(_E).find(([t,r])=>r.width===e.width&&r.height===e.height);i.value=t?t[0]:"CUSTOM"},{immediate:!0}),an(l,e=>{r.setDisableGlobalShortcuts(e)}),an(u,e=>{e&&(s.value=!1,l.value=!1)}),(e,B)=>(Ro(),jo("div",CE,[Xo("div",SE,[Xo("button",{onClick:C,disabled:u.value,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors dark:text-gray-200 disabled:opacity-50 disabled:cursor-not-allowed",title:Qt(t)("editor.paperSettings")},[Zo(Qt($w),{class:"w-4 h-4"})],8,BE),Xo("button",{onClick:C,disabled:u.value,class:"flex items-center justify-center text-xs text-gray-700 dark:text-gray-200 hover:bg-gray-200 dark:hover:bg-gray-700 rounded px-1 py-0.5 transition-colors w-16 text-center disabled:opacity-50 disabled:cursor-not-allowed",title:Qt(t)("editor.paperSettings")},[Xo("span",EE,oe("CUSTOM"===i.value?Qt(t)("editor.custom"):i.value),1)],8,kE),Xo("button",{onClick:C,disabled:u.value,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded transition-colors dark:text-gray-200 disabled:opacity-50 disabled:cursor-not-allowed",title:Qt(t)("editor.paperSettings")},[Zo(Qt(Kw),{class:"w-4 h-4"})],8,IE)]),s.value?(Ro(),jo("div",TE,[Xo("h3",PE,oe(Qt(t)("editor.paperSettings")),1),Xo("div",ME,[Xo("div",null,[Xo("label",LE,oe(Qt(t)("editor.sizePreset")),1),en(Xo("select",{"onUpdate:modelValue":B[0]||(B[0]=e=>i.value=e),onChange:x,class:"w-full px-2 py-1.5 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},[(Ro(!0),jo(Do,null,pi(Qt(_E),(e,t)=>(Ro(),jo("option",{key:t,value:t,class:"dark:bg-gray-800 dark:text-gray-200"},oe(t)+" ("+oe(w(e.width))+oe(b.value)+" x "+oe(w(e.height))+oe(b.value)+") ",9,DE))),128)),Xo("option",NE,oe(Qt(t)("editor.custom")),1)],544),[[Ds,i.value]])]),Xo("div",null,[Xo("label",OE,oe(Qt(t)("editor.unit")),1),Xo("select",{value:Qt(r).unit,onChange:B[1]||(B[1]=e=>Qt(r).setUnit(e.target.value)),class:"w-full px-2 py-1.5 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},[Xo("option",UE,oe(Qt(t)("common.mm")),1),Xo("option",zE,oe(Qt(t)("common.cm")),1),Xo("option",RE,oe(Qt(t)("common.in")),1),Xo("option",QE,oe(Qt(t)("common.pt")),1),Xo("option",HE,oe(Qt(t)("common.px")),1)],40,FE)]),Xo("div",VE,[Xo("div",null,[Xo("label",jE,oe(Qt(t)("common.width"))+" ("+oe(b.value)+")",1),Xo("input",{type:"number",value:w(o.value),onChange:B[2]||(B[2]=e=>{o.value=Qt(Sw)(Number(e.target.value),Qt(r).unit),_()}),class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,40,GE)]),Xo("div",null,[Xo("label",WE,oe(Qt(t)("common.height"))+" ("+oe(b.value)+")",1),Xo("input",{type:"number",value:w(a.value),onChange:B[3]||(B[3]=e=>{a.value=Qt(Sw)(Number(e.target.value),Qt(r).unit),_()}),class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,40,KE)])]),Xo("div",qE,[Xo("div",null,[Xo("label",YE,oe(Qt(t)("editor.spacingX"))+" ("+oe(b.value)+")",1),Xo("input",{type:"number",value:m.value,onChange:B[4]||(B[4]=e=>{m.value=Number(e.target.value)}),class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,40,XE)]),Xo("div",null,[Xo("label",ZE,oe(Qt(t)("editor.spacingY"))+" ("+oe(b.value)+")",1),Xo("input",{type:"number",value:y.value,onChange:B[5]||(B[5]=e=>{y.value=Number(e.target.value)}),class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,40,JE)])])]),Xo("div",$E,[Xo("span",eI,oe(Qt(t)("editor.showMarginLines")),1),Xo("button",{onClick:B[6]||(B[6]=e=>Qt(r).setShowMarginLines(!Qt(r).showMarginLines)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(r).showMarginLines?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[B[27]||(B[27]=Xo("span",{class:"sr-only"},"Toggle margin lines",-1)),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",Qt(r).showMarginLines?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("div",tI,[Xo("span",rI,oe(Qt(t)("editor.showCornerMarkers")),1),Xo("button",{onClick:B[7]||(B[7]=e=>Qt(r).setShowCornerMarkers(!Qt(r).showCornerMarkers)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(r).showCornerMarkers?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[B[28]||(B[28]=Xo("span",{class:"sr-only"},"Toggle corner markers",-1)),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",Qt(r).showCornerMarkers?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("div",nI,[Xo("span",iI,oe(Qt(t)("editor.showGrid")),1),Xo("button",{onClick:B[8]||(B[8]=e=>Qt(r).setShowGrid(!Qt(r).showGrid)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(r).showGrid?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[B[29]||(B[29]=Xo("span",{class:"sr-only"},"Toggle grid",-1)),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",Qt(r).showGrid?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("div",oI,[Xo("span",aI,oe(Qt(t)("editor.showMinimap")),1),Xo("button",{onClick:B[9]||(B[9]=e=>Qt(r).setShowMinimap(!Qt(r).showMinimap)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(r).showMinimap?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[B[30]||(B[30]=Xo("span",{class:"sr-only"},"Toggle minimap",-1)),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",Qt(r).showMinimap?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("div",sI,[Xo("span",lI,oe(Qt(t)("editor.backgroundColor")),1),Zo(zB,{modelValue:c.value,"onUpdate:modelValue":B[10]||(B[10]=e=>c.value=e),"allow-transparent":!0,"default-color":"#ffffff",placement:"bottom-end","teleport-to-body":!0},{trigger:Jr(({color:e,open:t})=>[Xo("div",{class:X(["w-8 h-6 rounded border border-gray-300 dark:border-gray-600 cursor-pointer relative overflow-hidden hover:border-blue-500 dark:hover:border-blue-400 transition-colors",{"ring-2 ring-blue-500 dark:ring-blue-400 ring-offset-1 dark:ring-offset-gray-900":t}])},[B[32]||(B[32]=Xo("div",{class:"absolute inset-0 bg-[url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ+5wNisxL//8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII=')] opacity-50"},null,-1)),Xo("div",{class:"absolute inset-0",style:G({backgroundColor:"transparent"===e?"transparent":e})},null,4),"transparent"===e?(Ro(),jo("div",uI,[...B[31]||(B[31]=[Xo("div",{class:"w-full h-[1px] bg-red-500 rotate-45"},null,-1)])])):na("",!0)],2)]),_:1},8,["modelValue"])]),Xo("div",cI,[Xo("h3",AI,oe(Qt(t)("editor.headerFooter")),1),Xo("div",dI,[Xo("div",hI,[Xo("div",pI,[Xo("button",{onClick:B[11]||(B[11]=e=>Qt(r).setShowHeaderLine(!Qt(r).showHeaderLine)),class:X(["relative inline-flex h-5 w-9 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(r).showHeaderLine?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[B[33]||(B[33]=Xo("span",{class:"sr-only"},"Toggle header line",-1)),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-4 w-4 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",Qt(r).showHeaderLine?"translate-x-4":"translate-x-0"])},null,2)],2),Xo("label",fI,oe(Qt(t)("editor.headerLine")),1)]),Xo("div",gI,[Xo("input",{type:"number",value:w(Qt(r).headerHeight),onChange:B[12]||(B[12]=e=>Qt(r).setHeaderHeight(Qt(Sw)(Number(e.target.value),Qt(r).unit))),class:"w-16 px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none text-right",min:"0"},null,40,vI),Xo("span",mI,oe(b.value),1)])]),Xo("div",yI,[Xo("div",bI,[Xo("button",{onClick:B[13]||(B[13]=e=>Qt(r).setShowFooterLine(!Qt(r).showFooterLine)),class:X(["relative inline-flex h-5 w-9 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(r).showFooterLine?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[B[34]||(B[34]=Xo("span",{class:"sr-only"},"Toggle footer line",-1)),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-4 w-4 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",Qt(r).showFooterLine?"translate-x-4":"translate-x-0"])},null,2)],2),Xo("label",wI,oe(Qt(t)("editor.footerLine")),1)]),Xo("div",xI,[Xo("input",{type:"number",value:w(Qt(r).footerHeight),onChange:B[14]||(B[14]=e=>Qt(r).setFooterHeight(Qt(Sw)(Number(e.target.value),Qt(r).unit))),class:"w-16 px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none text-right",min:"0"},null,40,_I),Xo("span",CI,oe(b.value),1)])])])]),Xo("div",SI,[Xo("button",{onClick:B[15]||(B[15]=e=>{Qt(r).addPage(),s.value=!1}),disabled:u.value,class:"w-full flex items-center justify-center gap-2 px-3 py-2 bg-blue-50 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400 hover:bg-blue-100 dark:hover:bg-blue-900/50 rounded-md transition-colors text-sm font-medium disabled:opacity-50 disabled:cursor-not-allowed"},[Zo(Qt(jS),{class:"w-4 h-4"}),Xo("span",null,oe(Qt(t)("editor.addNewPage")),1)],8,BI),Xo("button",{onClick:S,disabled:u.value,class:"w-full flex items-center justify-center gap-2 px-3 py-2 mt-2 bg-gray-50 dark:bg-gray-700/50 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-md transition-colors text-sm font-medium disabled:opacity-50 disabled:cursor-not-allowed"},[Zo(Qt($w),{class:"w-4 h-4"}),Xo("span",null,oe(Qt(t)("editor.advancedSettings")),1)],8,kI)]),Xo("div",{class:"fixed inset-0 z-[-1]",onClick:B[16]||(B[16]=e=>s.value=!1)})])):na("",!0),(Ro(),Go(yn,{to:Qt(n)||"body"},[l.value?(Ro(),jo("div",{key:0,class:"fixed inset-0 z-[2000] flex items-center justify-center bg-black/50 pointer-events-auto",onClick:B[26]||(B[26]=zs(e=>l.value=!1,["self"]))},[Xo("div",EI,[Xo("div",II,[Xo("h3",TI,oe(Qt(t)("editor.advancedSettings")),1),Xo("button",{onClick:B[17]||(B[17]=e=>l.value=!1),class:"p-1 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-full transition-colors text-gray-500 dark:text-gray-400"},[Zo(Qt(Lw),{class:"w-4 h-4"})])]),Xo("div",PI,[Xo("div",null,[Xo("h3",MI,oe(Qt(t)("editor.watermark")),1),Xo("div",LI,[Xo("div",DI,[Xo("span",NI,oe(Qt(t)("editor.watermarkEnable")),1),Xo("button",{onClick:B[18]||(B[18]=e=>d.value=!d.value),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",d.value?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[B[35]||(B[35]=Xo("span",{class:"sr-only"},"Toggle watermark",-1)),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",d.value?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("div",null,[Xo("label",OI,oe(Qt(t)("editor.watermarkText")),1),en(Xo("input",{"onUpdate:modelValue":B[19]||(B[19]=e=>A.value=e),type:"text",class:"w-full px-2 py-1.5 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none",placeholder:Qt(t)("editor.watermarkTextPlaceholder")},null,8,FI),[[Ms,A.value]])]),Xo("div",UI,[Xo("div",null,[Xo("label",zI,oe(Qt(t)("editor.watermarkAngle")),1),en(Xo("input",{"onUpdate:modelValue":B[20]||(B[20]=e=>h.value=e),type:"number",class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,512),[[Ms,h.value,void 0,{number:!0}]])]),Xo("div",null,[Xo("label",RI,oe(Qt(t)("editor.watermarkOpacity")),1),en(Xo("input",{"onUpdate:modelValue":B[21]||(B[21]=e=>f.value=e),type:"number",min:"0",max:"100",class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,512),[[Ms,f.value,void 0,{number:!0}]])])]),Xo("div",QI,[Xo("div",null,[Xo("label",HI,oe(Qt(t)("editor.watermarkSize"))+" ("+oe(b.value)+")",1),en(Xo("input",{"onUpdate:modelValue":B[22]||(B[22]=e=>g.value=e),type:"number",min:"1",class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,512),[[Ms,g.value,void 0,{number:!0}]])]),Xo("div",null,[Xo("label",VI,oe(Qt(t)("editor.watermarkDensity"))+" ("+oe(b.value)+")",1),en(Xo("input",{"onUpdate:modelValue":B[23]||(B[23]=e=>v.value=e),type:"number",min:"20",class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 rounded focus:border-blue-500 outline-none"},null,512),[[Ms,v.value,void 0,{number:!0}]])])]),Xo("div",null,[Xo("label",jI,oe(Qt(t)("editor.watermarkColor")),1),Zo(zB,{modelValue:p.value,"onUpdate:modelValue":B[24]||(B[24]=e=>p.value=e),"default-color":"#000000",placement:"bottom-end","teleport-to-body":!0},{trigger:Jr(({color:e,open:t})=>[Xo("div",{class:X(["w-8 h-6 rounded border border-gray-300 dark:border-gray-600 cursor-pointer relative overflow-hidden hover:border-blue-500 dark:hover:border-blue-400 transition-colors",{"ring-2 ring-blue-500 dark:ring-blue-400 ring-offset-1 dark:ring-offset-gray-900":t}])},[Xo("div",{class:"absolute inset-0",style:G({backgroundColor:e})},null,4)],2)]),_:1},8,["modelValue"])])])])]),Xo("div",GI,[Xo("button",{onClick:B[25]||(B[25]=e=>l.value=!1),class:"px-4 py-2 bg-blue-600 dark:bg-blue-500 text-white rounded hover:bg-blue-700 dark:hover:bg-blue-600 transition-colors text-sm font-medium"},oe(Qt(t)("common.close")),1)])])])):na("",!0)],8,["to"]))]))}}),KI={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};Lt({name:"material-symbols-picture-as-pdf",render:function(e,t){return Ro(),jo("svg",KI,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M9 12.5h1v-2h1q.425 0 .713-.288T12 9.5v-1q0-.425-.288-.712T11 7.5H9zm1-3v-1h1v1zm3 3h2q.425 0 .713-.288T16 11.5v-3q0-.425-.288-.712T15 7.5h-2zm1-1v-3h1v3zm3 1h1v-2h1v-1h-1v-1h1v-1h-2zM8 18q-.825 0-1.412-.587T6 16V4q0-.825.588-1.412T8 2h12q.825 0 1.413.588T22 4v12q0 .825-.587 1.413T20 18zm-4 4q-.825 0-1.412-.587T2 20V6h2v14h14v2z"},null,-1)])])}});const qI={class:"bg-white rounded-lg shadow-xl w-[90vw] h-[90vh] flex flex-col overflow-hidden"},YI={class:"relative flex items-center justify-between p-4 border-b border-gray-200"},XI={class:"text-lg font-semibold text-gray-800"},ZI={class:"absolute left-1/2 -translate-x-1/2 flex items-center gap-2"},JI=["title"],$I=["title"],eT={class:"text-xs text-gray-600 w-9 text-right select-none"},tT=["innerHTML"],rT={class:"p-4 border-t border-gray-200 bg-gray-50 flex justify-end gap-3 rounded-b-lg"},nT=Nn({__name:"PreviewModal",props:{visible:{type:Boolean},htmlContent:{},width:{}},emits:["update:visible"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Wb(),a=nn("modal-container",Ft(null)),{exportPdf:s,exportHtml:l,getPdfBlob:u,exportImages:c,getImageBlob:A}=aB(),d=Mb(),h=Ft(null),p=Ft(null),f=Ft(100),g=Ft(!1),v=Ft(""),m=Ft(""),y=Ft("json"),b=e=>{document.documentElement.classList.toggle("previewing",e),document.body.classList.toggle("previewing",e)};an(()=>r.visible,e=>{e||(f.value=100),o.setDisableGlobalShortcuts(e),b(e)});const w=()=>{n("update:visible",!1)},x=()=>{const e={pages:Dm(o.pages),canvasSize:Dm(o.canvasSize),guides:Dm(o.guides),zoom:o.zoom,showGrid:o.showGrid,headerHeight:o.headerHeight,footerHeight:o.footerHeight,showHeaderLine:o.showHeaderLine,showFooterLine:o.showFooterLine,showMinimap:o.showMinimap,canvasBackground:o.canvasBackground};v.value=JSON.stringify(e,null,2),m.value=i("preview.templateJson"),y.value="json",g.value=!0},_=async()=>{try{if(!h.value)return;const e=Array.from(h.value.querySelectorAll(".print-page")),t=await A(e),r=new FileReader;r.readAsDataURL(t),r.onloadend=()=>{v.value=r.result,m.value=i("editor.viewImageBlob"),y.value="text",g.value=!0}}catch(gH){Qm.error("Failed to generate blob")}},C=async()=>{try{if(!h.value)return;const e=Array.from(h.value.querySelectorAll(".print-page")),t=await u(e),r=new FileReader;r.readAsDataURL(t),r.onloadend=()=>{v.value=r.result,m.value=i("editor.viewPdfBlob"),y.value="text",g.value=!0}}catch(gH){Qm.error("Failed to generate PDF blob")}},S=()=>{window.dispatchEvent(new CustomEvent("designer:print"))},B=()=>{if(h.value){const e=Array.from(h.value.querySelectorAll(".print-page"));s(e,`${I()}.pdf`)}},k=async()=>{if(h.value){const e=Array.from(h.value.querySelectorAll(".print-page"));await l(e,`${I()}.html`)}},E=async()=>{if(h.value){const e=Array.from(h.value.querySelectorAll(".print-page"));await c(e,I())}},I=()=>{const e=d.templates.find(e=>e.id===d.currentTemplateId),t=((null==e?void 0:e.name)||"print-design").trim().replace(/[\\/:*?"<>|]/g,"-").replace(/\s+/g," ").trim()||"print-design",r=new Date;return`${t}-${r.getFullYear()}${String(r.getMonth()+1).padStart(2,"0")}${String(r.getDate()).padStart(2,"0")}`},T=()=>{f.value=Math.min(500,f.value+10)},P=()=>{f.value=Math.max(20,f.value-10)},M=e=>{e.ctrlKey&&(e.preventDefault(),e.deltaY<0?T():P())},L=e=>{var t,r;"Control"!==e.key&&"Meta"!==e.key||("keydown"!==e.type||e.repeat?"keyup"===e.type&&(null==(r=p.value)||r.removeEventListener("wheel",M)):null==(t=p.value)||t.addEventListener("wheel",M,{passive:!1}))},D=()=>{var e;null==(e=p.value)||e.removeEventListener("wheel",M)},N=e=>{r.visible&&"Escape"===e.key&&w(),L(e)};return ei(()=>{window.addEventListener("keydown",N),window.addEventListener("keyup",L),window.addEventListener("blur",D)}),ii(()=>{var e;window.removeEventListener("keydown",N),window.removeEventListener("keyup",L),window.removeEventListener("blur",D),null==(e=p.value)||e.removeEventListener("wheel",M),r.visible&&o.setDisableGlobalShortcuts(!1),b(!1)}),(t,r)=>(Ro(),jo(Do,null,[(Ro(),Go(yn,{to:Qt(a)||"body"},[e.visible?(Ro(),jo("div",{key:0,class:"fixed inset-0 z-[99999] flex items-center justify-center bg-black/50 pointer-events-auto",onClick:zs(w,["self"])},[Xo("div",qI,[Xo("div",YI,[Xo("h3",XI,oe(Qt(i)("preview.title")),1),Xo("div",ZI,[Xo("button",{onClick:P,class:"p-1 hover:bg-gray-100 rounded text-gray-600 transition-colors",title:Qt(i)("preview.zoomOut")},[Zo(Qt(fx),{class:"w-4 h-4"})],8,JI),en(Xo("input",{type:"range",min:"20",max:"500",step:"10","onUpdate:modelValue":r[0]||(r[0]=e=>f.value=e),class:"w-32 h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4 [&::-webkit-slider-thumb]:bg-blue-600 [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:cursor-pointer [&::-webkit-slider-thumb]:transition-all [&::-webkit-slider-thumb]:hover:scale-110 [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:bg-blue-600 [&::-moz-range-thumb]:border-none [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:cursor-pointer [&::-moz-range-thumb]:transition-all [&::-moz-range-thumb]:hover:scale-110"},null,512),[[Ms,f.value,void 0,{number:!0}]]),Xo("button",{onClick:T,class:"p-1 hover:bg-gray-100 rounded text-gray-600 transition-colors",title:Qt(i)("preview.zoomIn")},[Zo(Qt(hx),{class:"w-4 h-4"})],8,$I),Xo("span",eT,oe(f.value)+"%",1)]),Xo("button",{onClick:w,class:"p-1 hover:bg-gray-100 rounded-full transition-colors text-gray-500"},[Zo(Qt(Lw),{class:"w-4 h-4"})])]),Xo("div",{class:"flex-1 overflow-auto bg-gray-100 p-8 flex justify-center",ref_key:"wrapperRef",ref:p},[Xo("div",{ref_key:"previewContainer",ref:h,class:"preview-content",style:G(`width: ${e.width}px; zoom: ${f.value/100}`),innerHTML:e.htmlContent},null,12,tT)],512),Xo("div",rT,[Xo("button",{onClick:S,class:"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 flex items-center gap-2 text-sm transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-blue-600"},[Zo(Qt(Yw),{class:"text-lg"}),ta(" "+oe(Qt(i)("editor.print")),1)]),Xo("button",{onClick:B,class:"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 flex items-center gap-2 text-sm transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-blue-600"},[Zo(Qt(Fw),{class:"text-lg"}),ta(" "+oe(Qt(i)("editor.exportPdf")),1)]),Xo("button",{onClick:E,class:"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 flex items-center gap-2 text-sm transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-blue-600"},[Zo(Qt(Fw),{class:"text-lg"}),ta(" "+oe(Qt(i)("editor.exportImage")),1)]),Xo("button",{onClick:k,class:"px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700 flex items-center gap-2 text-sm transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-blue-600"},[Zo(Qt(Fw),{class:"text-lg"}),ta(" "+oe(Qt(i)("editor.exportHtml")),1)]),Xo("button",{onClick:_,class:"px-4 py-2 border border-gray-300 rounded hover:bg-gray-100 text-sm text-gray-700 flex items-center gap-2 transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-gray-100"},[Zo(Qt(Qw),{class:"text-lg"}),ta(" "+oe(Qt(i)("editor.viewImageBlob")),1)]),Xo("button",{onClick:C,class:"px-4 py-2 border border-gray-300 rounded hover:bg-gray-100 text-sm text-gray-700 flex items-center gap-2 transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-gray-100"},[Zo(Qt(Qw),{class:"text-lg"}),ta(" "+oe(Qt(i)("editor.viewPdfBlob")),1)]),Xo("button",{onClick:x,class:"px-4 py-2 border border-gray-300 rounded hover:bg-gray-100 text-sm text-gray-700 flex items-center gap-2 transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-gray-100"},[Zo(Qt(Qw),{class:"text-lg"}),ta(" "+oe(Qt(i)("editor.viewJson")),1)]),Xo("button",{onClick:w,class:"px-4 py-2 border border-gray-300 rounded hover:bg-gray-100 text-sm text-gray-700 flex items-center gap-2 transition-colors disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:bg-gray-100"},oe(Qt(i)("common.close")),1)])])])):na("",!0)],8,["to"])),Zo(rE,{visible:g.value,"onUpdate:visible":r[1]||(r[1]=e=>g.value=e),title:m.value,value:v.value,language:y.value,"read-only":""},null,8,["visible","title","value","language"])],64))}}),iT=zC(nT,[["__scopeId","data-v-97a5fbbf"]]);var oT,aT,sT,lT,uT,cT,AT,dT,hT,pT,fT,gT,vT,mT,yT,bT,wT,xT,_T,CT,ST,BT,kT,ET,IT,TT,PT,MT,LT,DT,NT,OT,FT,UT,zT,RT,QT,HT,VT,jT,GT,WT;function KT(){if(cT)return uT;cT=1;var e=(lT?sT:(lT=1,sT=function(e){return function(t){return null==e?void 0:e[t]}}))({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"});return uT=e}function qT(){if(pT)return hT;pT=1;var e=Of(),t=dT?AT:(dT=1,AT=function(e,t){for(var r=-1,n=null==e?0:e.length,i=Array(n);++r<n;)i[r]=t(e[r],r,e);return i}),r=tg(),n=pw(),i=e?e.prototype:void 0,o=i?i.toString:void 0;return hT=function e(i){if("string"==typeof i)return i;if(r(i))return t(i,e)+"";if(n(i))return o?o.call(i):"";var a=i+"";return"0"==a&&1/i==-1/0?"-0":a},hT}function YT(){if(gT)return fT;gT=1;var e=qT();return fT=function(t){return null==t?"":e(t)}}function XT(){if(BT)return ST;BT=1;var e=function(){if(bT)return yT;bT=1;var e=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;return yT=function(t){return t.match(e)||[]}}(),t=function(){if(xT)return wT;xT=1;var e=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;return wT=function(t){return e.test(t)}}(),r=YT(),n=function(){if(CT)return _T;CT=1;var e="\\ud800-\\udfff",t="\\u2700-\\u27bf",r="a-z\\xdf-\\xf6\\xf8-\\xff",n="A-Z\\xc0-\\xd6\\xd8-\\xde",i="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",o="["+i+"]",a="\\d+",s="["+t+"]",l="["+r+"]",u="[^"+e+i+a+t+r+n+"]",c="(?:\\ud83c[\\udde6-\\uddff]){2}",A="[\\ud800-\\udbff][\\udc00-\\udfff]",d="["+n+"]",h="(?:"+l+"|"+u+")",p="(?:"+d+"|"+u+")",f="(?:['’](?:d|ll|m|re|s|t|ve))?",g="(?:['’](?:D|LL|M|RE|S|T|VE))?",v="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",m="[\\ufe0e\\ufe0f]?",y=m+v+"(?:\\u200d(?:"+["[^"+e+"]",c,A].join("|")+")"+m+v+")*",b="(?:"+[s,c,A].join("|")+")"+y,w=RegExp([d+"?"+l+"+"+f+"(?="+[o,d,"$"].join("|")+")",p+"+"+g+"(?="+[o,d+h,"$"].join("|")+")",d+"?"+h+"+"+f,d+"+"+g,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",a,b].join("|"),"g");return _T=function(e){return e.match(w)||[]}}();return ST=function(i,o,a){return i=r(i),void 0===(o=a?void 0:o)?t(i)?n(i):e(i):i.match(o)||[]}}function ZT(){if(ET)return kT;ET=1;var e=aT?oT:(aT=1,oT=function(e,t,r,n){var i=-1,o=null==e?0:e.length;for(n&&o&&(r=e[++i]);++i<o;)r=t(r,e[i],i,e);return r}),t=function(){if(mT)return vT;mT=1;var e=KT(),t=YT(),r=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,n=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");return vT=function(i){return(i=t(i))&&i.replace(r,e).replace(n,"")}}(),r=XT(),n=RegExp("['’]","g");return kT=function(i){return function(o){return e(r(t(o).replace(n,"")),i,"")}}}function JT(){if(MT)return PT;MT=1;var e=TT?IT:(TT=1,IT=function(e,t,r){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(r=r>i?i:r)<0&&(r+=i),i=t>r?0:r-t>>>0,t>>>=0;for(var o=Array(i);++n<i;)o[n]=e[n+t];return o});return PT=function(t,r,n){var i=t.length;return n=void 0===n?i:n,!r&&n>=i?t:e(t,r,n)}}function $T(){if(DT)return LT;DT=1;var e=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");return LT=function(t){return e.test(t)}}function eP(){if(RT)return zT;RT=1;var e=OT?NT:(OT=1,NT=function(e){return e.split("")}),t=$T(),r=function(){if(UT)return FT;UT=1;var e="\\ud800-\\udfff",t="["+e+"]",r="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",n="\\ud83c[\\udffb-\\udfff]",i="[^"+e+"]",o="(?:\\ud83c[\\udde6-\\uddff]){2}",a="[\\ud800-\\udbff][\\udc00-\\udfff]",s="(?:"+r+"|"+n+")?",l="[\\ufe0e\\ufe0f]?",u=l+s+"(?:\\u200d(?:"+[i,o,a].join("|")+")"+l+s+")*",c="(?:"+[i+r+"?",r,o,a,t].join("|")+")",A=RegExp(n+"(?="+n+")|"+c+u,"g");return FT=function(e){return e.match(A)||[]}}();return zT=function(n){return t(n)?r(n):e(n)}}function tP(){if(jT)return VT;jT=1;var e=function(){if(HT)return QT;HT=1;var e=JT(),t=$T(),r=eP(),n=YT();return QT=function(i){return function(o){o=n(o);var a=t(o)?r(o):void 0,s=a?a[0]:o.charAt(0),l=a?e(a,1).join(""):o.slice(1);return s[i]()+l}}}()("toUpperCase");return VT=e}var rP=function(){if(WT)return GT;WT=1;var e=ZT(),t=tP(),r=e(function(e,r,n){return e+(n?" ":"")+t(r)});return GT=r}();const nP=Tf(rP),iP={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const oP=Lt({name:"material-symbols-keyboard",render:function(e,t){return Ro(),jo("svg",iP,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M4 19q-.825 0-1.412-.587T2 17V7q0-.825.588-1.412T4 5h16q.825 0 1.413.588T22 7v10q0 .825-.587 1.413T20 19zm4-3h8v-2H8zm-3-3h2v-2H5zm3 0h2v-2H8zm3 0h2v-2h-2zm3 0h2v-2h-2zm3 0h2v-2h-2zM5 10h2V8H5zm3 0h2V8H8zm3 0h2V8h-2zm3 0h2V8h-2zm3 0h2V8h-2z"},null,-1)])])}}),aP={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const sP=Lt({name:"material-symbols-info",render:function(e,t){return Ro(),jo("svg",aP,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M11 17h2v-6h-2zm1.713-8.287Q13 8.425 13 8t-.288-.712T12 7t-.712.288T11 8t.288.713T12 9t.713-.288M12 22q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22"},null,-1)])])}}),lP={name:"x-print-designer",version:"0.3.2",dependencies:{"@guolao/vue-monaco-editor":"^1.6.0",canvg:"^3.0.11","dom-to-image-more":"^3.7.2",echarts:"^6.0.0",jsbarcode:"^3.12.3",jspdf:"4.2",jszip:"^3.10.1",lodash:"^4.17.21",pinia:"^2.3.0",qrcode:"^1.5.4",uuid:"^11.0.3",vue:"^3.5.13","vue-i18n":"^11.2.8"},devDependencies:{"@iconify-json/material-symbols":"^1.2.53","@types/jsbarcode":"^3.11.4","@types/lodash":"^4.17.13","@types/node":"^22.10.2","@types/qrcode":"^1.5.6","@types/uuid":"^10.0.0","@vitejs/plugin-vue":"^5.2.1","@vue/tsconfig":"^0.7.0",autoprefixer:"^10.4.20",postcss:"^8.4.49","rollup-plugin-visualizer":"^7.0.1",sharp:"^0.34.5",tailwindcss:"^3.4.17",terser:"^5.46.1",typescript:"~5.6.2","unplugin-icons":"^23.0.1",vite:"^6.0.1","vue-tsc":"^2.1.10"}},uP={class:"bg-white rounded-lg shadow-xl w-[700px] max-w-full h-[500px] flex overflow-hidden"},cP={class:"w-48 bg-gray-50 border-r border-gray-200 flex flex-col"},AP={class:"h-[60px] flex items-center px-4 border-b border-gray-200"},dP={class:"text-lg font-semibold text-gray-800"},hP={class:"flex-1 py-2"},pP={class:"flex-1 flex flex-col min-w-0"},fP={class:"h-[60px] flex items-center justify-between px-4 border-b border-gray-200"},gP={class:"text-lg font-semibold text-gray-800"},vP={class:"flex-1 overflow-y-auto p-6"},mP={key:0,class:"space-y-6"},yP={class:"grid grid-cols-1 gap-6 text-sm"},bP={class:"font-medium text-gray-900 mb-3 border-b pb-1"},wP={class:"space-y-2 text-gray-600"},xP={class:"flex justify-between items-center"},_P={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},CP={class:"flex justify-between items-center"},SP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},BP={class:"flex justify-between items-center"},kP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},EP={class:"flex justify-between items-center"},IP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},TP={class:"flex justify-between items-center"},PP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},MP={class:"flex justify-between items-center"},LP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},DP={class:"flex justify-between items-center"},NP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},OP={class:"flex justify-between items-center"},FP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},UP={class:"flex justify-between items-center"},zP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},RP={class:"flex justify-between items-center"},QP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},HP={class:"flex justify-between items-center"},VP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},jP={class:"flex justify-between items-center"},GP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},WP={class:"flex justify-between items-center"},KP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},qP={class:"font-medium text-gray-900 mb-3 border-b pb-1"},YP={class:"space-y-2 text-gray-600"},XP={class:"flex justify-between items-center"},ZP={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},JP={class:"flex justify-between items-center"},$P={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},eM={class:"flex justify-between items-center"},tM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},rM={class:"flex justify-between items-center"},nM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},iM={class:"flex justify-between items-center"},oM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},aM={class:"flex justify-between items-center"},sM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},lM={class:"flex justify-between items-center"},uM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},cM={class:"flex justify-between items-center"},AM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},dM={class:"flex justify-between items-center"},hM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},pM={class:"flex justify-between items-center"},fM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},gM={class:"font-medium text-gray-900 mb-3 border-b pb-1"},vM={class:"space-y-2 text-gray-600"},mM={class:"flex justify-between items-center"},yM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},bM={class:"flex justify-between items-center"},wM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},xM={class:"flex justify-between items-center"},_M={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},CM={class:"flex justify-between items-center"},SM={class:"bg-gray-100 px-2 py-0.5 rounded border text-xs"},BM={key:1,class:"space-y-6"},kM={class:"text-center mb-8"},EM={class:"text-xl font-bold text-gray-800"},IM={class:"mt-1 text-xs text-gray-500"},TM={class:"mt-4 mx-auto max-w-md text-left"},PM={class:"font-medium text-gray-900 mb-2 border-b pb-1"},MM={class:"space-y-2"},LM={class:"flex items-center justify-between rounded-md border border-gray-200 bg-gray-50 px-3 py-2 text-xs"},DM={class:"inline-flex items-center gap-1.5 text-gray-500"},NM={class:"flex items-center justify-between rounded-md border border-gray-200 bg-gray-50 px-3 py-2 text-xs"},OM={class:"inline-flex items-center gap-1.5 text-gray-500"},FM={class:"font-medium text-gray-900 mb-3 border-b pb-1"},UM={class:"bg-gray-50 rounded-lg border border-gray-200 overflow-hidden"},zM={class:"w-full text-xs text-left"},RM={class:"bg-gray-100 text-gray-700 font-medium"},QM={class:"px-4 py-2 border-b"},HM={class:"px-4 py-2 border-b"},VM={class:"divide-y divide-gray-200"},jM={class:"px-4 py-1 text-gray-700 font-mono text-[11px]"},GM=["href","title"],WM={class:"px-4 py-1 text-gray-500 text-[11px]"},KM=Nn({__name:"HelpModal",props:{show:{type:Boolean}},emits:["update:show"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Wb(),a=nn("modal-container",Ft(null)),s=Ft("shortcuts"),l=()=>{n("update:show",!1)},u=e=>{r.show&&"Escape"===e.key&&(e.preventDefault(),l())};ei(()=>{window.addEventListener("keydown",u)}),an(()=>r.show,e=>{o.setDisableGlobalShortcuts(e)}),ii(()=>{window.removeEventListener("keydown",u),r.show&&o.setDisableGlobalShortcuts(!1)});const c=[...Object.entries(lP.dependencies||{}),...Object.entries(lP.devDependencies||{})].map(([e,t])=>({name:e,version:t,url:`https://www.npmjs.com/package/${encodeURIComponent(e)}`})),A=lP.version,d=nP(lP.name);return(t,r)=>(Ro(),Go(yn,{to:Qt(a)||"body"},[e.show?(Ro(),jo("div",{key:0,class:"fixed inset-0 z-[99999] flex items-center justify-center bg-black/50 pointer-events-auto",onClick:zs(l,["self"])},[Xo("div",uP,[Xo("div",cP,[Xo("div",AP,[Xo("h3",dP,oe(Qt(i)("help.title")),1)]),Xo("div",hP,[Xo("button",{onClick:r[0]||(r[0]=e=>s.value="shortcuts"),class:X(["w-full text-left px-4 py-3 flex items-center gap-3 transition-colors text-sm","shortcuts"===s.value?"bg-white text-blue-600 border-l-4 border-blue-600 font-medium":"text-gray-600 hover:bg-gray-100 border-l-4 border-transparent"])},[Zo(Qt(oP),{class:"w-5 h-5"}),ta(" "+oe(Qt(i)("shortcuts.title")),1)],2),Xo("button",{onClick:r[1]||(r[1]=e=>s.value="about"),class:X(["w-full text-left px-4 py-3 flex items-center gap-3 transition-colors text-sm","about"===s.value?"bg-white text-blue-600 border-l-4 border-blue-600 font-medium":"text-gray-600 hover:bg-gray-100 border-l-4 border-transparent"])},[Zo(Qt(sP),{class:"w-5 h-5"}),ta(" "+oe(Qt(i)("help.about")),1)],2)])]),Xo("div",pP,[Xo("div",fP,[Xo("h3",gP,oe("shortcuts"===s.value?Qt(i)("shortcuts.keyboardShortcuts"):Qt(i)("help.aboutProject",{name:Qt(d)})),1),Xo("button",{onClick:l,class:"p-1 hover:bg-gray-100 rounded-full transition-colors text-gray-500"},[Zo(Qt(Lw),{class:"w-4 h-4"})])]),Xo("div",vP,["shortcuts"===s.value?(Ro(),jo("div",mP,[Xo("div",yP,[Xo("div",null,[Xo("h4",bP,oe(Qt(i)("shortcuts.general")),1),Xo("ul",wP,[Xo("li",xP,[Xo("span",null,oe(Qt(i)("common.save")),1),r[2]||(r[2]=ta()),Xo("kbd",_P,oe(Qt(sB)(["Ctrl","S"])),1)]),Xo("li",CP,[Xo("span",null,oe(Qt(i)("shortcuts.saveAsTemplate")),1),r[3]||(r[3]=ta()),Xo("kbd",SP,oe(Qt(sB)(["Ctrl","Shift","S"])),1)]),Xo("li",BP,[Xo("span",null,oe(Qt(i)("editor.print")),1),r[4]||(r[4]=ta()),Xo("kbd",kP,oe(Qt(sB)(["Ctrl","P"])),1)]),Xo("li",EP,[Xo("span",null,oe(Qt(i)("editor.exportPdf")),1),r[5]||(r[5]=ta()),Xo("kbd",IP,oe(Qt(sB)(["Ctrl","Shift","E"])),1)]),Xo("li",TP,[Xo("span",null,oe(Qt(i)("editor.preview")),1),r[6]||(r[6]=ta()),Xo("kbd",PP,oe(Qt(sB)(["Ctrl","Shift","P"])),1)]),Xo("li",MP,[Xo("span",null,oe(Qt(i)("editor.viewJson")),1),r[7]||(r[7]=ta()),Xo("kbd",LP,oe(Qt(sB)(["Ctrl","Shift","J"])),1)]),Xo("li",DP,[Xo("span",null,oe(Qt(i)("shortcuts.newTemplate")),1),r[8]||(r[8]=ta()),Xo("kbd",NP,oe(Qt(sB)(["Ctrl","Alt","N"])),1)]),Xo("li",OP,[Xo("span",null,oe(Qt(i)("shortcuts.openSettings")),1),r[9]||(r[9]=ta()),Xo("kbd",FP,oe(Qt(sB)(["Ctrl",","])),1)]),Xo("li",UP,[Xo("span",null,oe(Qt(i)("common.undo")),1),r[10]||(r[10]=ta()),Xo("kbd",zP,oe(Qt(sB)(["Ctrl","Z"])),1)]),Xo("li",RP,[Xo("span",null,oe(Qt(i)("common.redo")),1),r[11]||(r[11]=ta()),Xo("kbd",QP,oe(Qt(sB)(["Ctrl","Y"])),1)]),Xo("li",HP,[Xo("span",null,oe(Qt(i)("shortcuts.openHelp")),1),r[12]||(r[12]=ta()),Xo("kbd",VP,oe(Qt(sB)(["Ctrl","H"])),1)]),Xo("li",jP,[Xo("span",null,oe(Qt(i)("shortcuts.zoom")),1),r[13]||(r[13]=ta()),Xo("kbd",GP,oe(Qt(sB)(["Ctrl","Wheel"])),1)]),Xo("li",WP,[Xo("span",null,oe(Qt(i)("shortcuts.closeModal")),1),r[14]||(r[14]=ta()),Xo("kbd",KP,oe(Qt(sB)(["Esc"])),1)])])]),Xo("div",null,[Xo("h4",qP,oe(Qt(i)("shortcuts.editing")),1),Xo("ul",YP,[Xo("li",XP,[Xo("span",null,oe(Qt(i)("common.copy")),1),r[15]||(r[15]=ta()),Xo("kbd",ZP,oe(Qt(sB)(["Ctrl","C"])),1)]),Xo("li",JP,[Xo("span",null,oe(Qt(i)("common.cut")),1),r[16]||(r[16]=ta()),Xo("kbd",$P,oe(Qt(sB)(["Ctrl","X"])),1)]),Xo("li",eM,[Xo("span",null,oe(Qt(i)("common.paste")),1),r[17]||(r[17]=ta()),Xo("kbd",tM,oe(Qt(sB)(["Ctrl","V"])),1)]),Xo("li",rM,[Xo("span",null,oe(Qt(i)("common.delete")),1),r[18]||(r[18]=ta()),Xo("kbd",nM,oe(Qt(sB)(["Delete"])),1)]),Xo("li",iM,[Xo("span",null,oe(Qt(i)("shortcuts.selectAll")),1),r[19]||(r[19]=ta()),Xo("kbd",oM,oe(Qt(sB)(["Ctrl","A"])),1)]),Xo("li",aM,[Xo("span",null,oe(Qt(i)("shortcuts.multiSelect")),1),r[20]||(r[20]=ta()),Xo("kbd",sM,oe(Qt(sB)(["Ctrl","Click"])),1)]),Xo("li",lM,[Xo("span",null,oe(Qt(i)("common.lock"))+"/"+oe(Qt(i)("common.unlock")),1),r[21]||(r[21]=ta()),Xo("kbd",uM,oe(Qt(sB)(["Ctrl","L"])),1)]),Xo("li",cM,[Xo("span",null,oe(Qt(i)("shortcuts.customEditSave")),1),r[22]||(r[22]=ta()),Xo("kbd",AM,oe(Qt(sB)(["Ctrl","S"])),1)]),Xo("li",dM,[Xo("span",null,oe(Qt(i)("shortcuts.customEditSaveAs")),1),r[23]||(r[23]=ta()),Xo("kbd",hM,oe(Qt(sB)(["Ctrl","Shift","S"])),1)]),Xo("li",pM,[Xo("span",null,oe(Qt(i)("shortcuts.customEditExit")),1),r[24]||(r[24]=ta()),Xo("kbd",fM,oe(Qt(sB)(["Ctrl","Q"])),1)])])]),Xo("div",null,[Xo("h4",gM,oe(Qt(i)("shortcuts.manipulation")),1),Xo("ul",vM,[Xo("li",mM,[Xo("span",null,oe(Qt(i)("shortcuts.move")),1),r[25]||(r[25]=ta()),Xo("kbd",yM,oe(Qt(i)("shortcuts.arrow")),1)]),Xo("li",bM,[Xo("span",null,oe(Qt(i)("shortcuts.fastMove")),1),r[26]||(r[26]=ta()),Xo("kbd",wM,oe(Qt(sB)(["Shift",Qt(i)("shortcuts.arrow")])),1)]),Xo("li",xM,[Xo("span",null,oe(Qt(i)("shortcuts.snapRotate")),1),r[27]||(r[27]=ta()),Xo("kbd",_M,oe(Qt(sB)(["Shift",Qt(i)("shortcuts.drag")])),1)]),Xo("li",CM,[Xo("span",null,oe(Qt(i)("shortcuts.resize")),1),r[28]||(r[28]=ta()),Xo("kbd",SM,oe(Qt(sB)(["Shift",Qt(i)("shortcuts.resize")])),1)])])])])])):na("",!0),"about"===s.value?(Ro(),jo("div",BM,[Xo("div",kM,[r[33]||(r[33]=Xo("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgAElEQVR4nOV9B7RcxZH26CmggCSMDZhgCQmMyUgEr43TrvfYP97Fa2OvvbZBgA0YEIhg1kSBAkFkMOBAzkkZkECEtRcQEslLEkgChHJ8OczcOFP/qaquruo780DrXe/5w32nz503c2N3dYWvQpdKf+EGAE0A0Ef+3xStHt0VdZzak/TMLSfljVFaqdWgBrJVoQpZNedWyyCHDGqQQbWWQF5L3f9Vfzx+zvB7+j32LcN91bVaQudXqxnk1QyyagqZ/EafsSWQ5eZzNfG/5zU+B/e5/NF32BK6V1qNIM2xxXRtOr+W8jv454v4OSCBGqSm4XXlGXGP75tzg5x6BSCHGuD/3B/8nW61WhWirAyVpNxSjjte6KlsuKSn/d2x8Kdv9HPj0Gc6QN+/dBz/koHvg4OPn99//8ltOuMN/9CT9jyaZEmXf+ZaFfI8rmV5mmdZlmd5Wk2zpJZmWS3L0lqaJrU0jWtpGtWyLKbvsrxKDY/xv+f4fVrLcZ8ltSyLalka0Xl8Ln6f1vjaaS3NM97T/zHvc2z4G37nzsPz5ZwUn4OPletpw+/0WanRdV1z3yX4Oa/U0jziPd7H3QuP89cxz5vRNfHa+Jkbfc7SapbG1TSN8zSJctqnCRGCbEmepN1R24vd3Wt+sn7944PNhGz6aw++n/XdUfPf9kRdi3DG4KBXgTosz/Msq+Z5Nc/zWl6t1qq1GlSrOeQ4C7MEsiyGLIsgS3EfQ55n9BvO4Gq1yrMZZ1seQUZ7N6PzhL6nRudFfL084xlOzV0rdzOOOAP/L9ei69E+gTzD5n7Hz+5cex3ey2dzXm4a/e+eETkE7fVefBy/X059kftn1nP4WbkPcAJl8ly1jCYOEVGeZWmWVzNkrcRhy0nHss6e1cdNn14iLvBXIwJwbKatsn5ET9p1f5onVWTUaR5V8cGQqrGjsNOrNWT4Ndrn+JleKocsEyLAJh2LHcIdjsfoy8ugCnEwEXFzv2eZuw4PFA2Oa1UceDyHml6f7yf3Tcwg876au0GiZ5Hnwf/x+6ojDvc8wfX43flYfSclAPxcNdepmvvyvfi+7n6esPl+9Bv2J+6JGOI8yxOUIzjFoKvStmDjxvf2l7ECKPX57xp4L2PaKl3fiLNkLU75rBrnaY4Pkdb4xbUTiADczKf/nYzWwZbPMrgZVIUA6DwmGBxEPp8HUT7ToGSZzt7CIPpBkA4158nzyD1yT1Smud91QOT93EAETZ5Vr8sDVYWqJw7WQ5AA+J7SB3pP7sPwe+ZY8k76zHIsTag8ztOsjIQA5aTc3dq94RwolVBM95n0X+UGTt73mTSp1NRWabsoQcFVzSHNogxlN1O3skh84So9qOtwz/YcAdDLC1vk/zNkh34gZJDs7LBsGF/YnWPYKH4WgmCO4IiDWDPep1ogKscd8izoYO5QbHh/ZdfKdZQTWKLWwed3sqzeEo8Mvogt7T/HVUicWJHjRJMXOcqVPKfEZ2adCceEFIW27ra71iy6bpCM4X9p8KdPn963My7fjhfO8yhPkko1lG3ugf2DF6jas1LDTg2R8P84gDLD3Ms54rBsU2ZcRtcR1izf4fHSuTiYwjpl4C0HkGdJlQDoWeU+Nd9UBLjBJ+5WeCYhDCfu7DvxOxQIJ9ArcO/u55+dCVn1EiZMfQ/XL5ZbZAkkaVRN0jIpZe3l9gVL1iza3o3lf44TCNVMmjSpqTuN78QLpmk5SxLSliFFRc6xXqZkqzQZhchRfdjpSOlGTtJMxXMj5Qyu4UCjSBCWKp1MRCXsGK9F32EHSse4a8s5fiY6AijoHrkXP+7aXuw44nIDSByOnkmeo2aIoga1mg50+G5KyModRL7bc1BPUk4UcB7fTP+QLuV0Badb4dikaYWIoCfufnH16hc/9Z/lBDTzcV/OKneQ2ZFWMjSFSIPPE7aJ3Q1ZccIBYaVKFbHIK1U84Nq5AacQxZC0fjxHiMqKBGWdIkpUlhqFrSBXmUU7NklYAB6L36OS6Aa1VgUUa3gfHMDg+Twh6GDzAMpguuOJqDIy1Yhg/YBavUHEULEftG+Ye+WGg6GFIITuxJT0gxl0sk4yflblhHGKY9cddc1b+ae7B241EYi2X846ryBlL4tTtrmdCWcf0neyUieaX4GCYzras053vMhBNg2Za6hcx3NVH8D7pUTtiZGzDVixJ0A+lq/jZjPdX7R4fSbPVoVDBVyDOYfM8hxnuVdy7SBLC59JdRztByUIIWBh/8L6uY+R23pdSWa66/9UCEEsIRF57j50XLXiiKDjnq0iABn8jqjjW1k1y/NqXCVljwZVtVmRU2q+qNxUJcu9KCFfRg6Lhhxo11bZk87Cc4WtG3PIDqjrcOE+VhfhjjQiRY6lwZCZVdVnMwRq7XA/API8MvuRAKjZPjC6Bok6fWZPiCQ+9HjPAazpl+EAyyAjERUJ0hCVU4h1wol4Ii6AfUDioDvu/JUd417l/qaO5aOTPFmNkCRqlTSgRmlR21Q7Uc0tMblUyWO2iJ0qAIl2VL0JZmQ6YQlFa6BgFQih0fOg+DDgUaNzLMASEEBVB9ThF0hU+J5JgjIVZSt+TiBN41A8eL0hb2D2ip6EYpMJIDATi7Z/Zi0EKxJwLCzXlf6zWIRgHSJq+P7IvfG3JEu6mzs2HNqrUigEEKU9s4j155XM2/WEpiniprNKH140fnlJq7HKLBN2GiqOFolz7JYUppqbcTyT9d6WEMWccyyPOJNVJuW5rTUhoirUSzx2QQRQ86ZmcUOCZiVYfAaKCShRixhhTonEgzM6nCjSRw4YEnGB7+KAIkU5WfwpRxBOyOLQchAeK2s2p5BkMb1IlJWffx1e718nDhTl23QMy/1KLhAlOzIEqLAXN0Qgmr1XyEI0T5Q51e7VvuaXRAJAaNdxF+oUUM0+6Gi5ju1MZs18XWWTSpROPIn8dffIrCInoopkPANSaZrCo49Oh6OPORr+4R+/AxdccD4sXfoeEQINrBM1auPrrMXr04A51NNr/N58UwtJrQ1stfCd6Dt+ZiUAEXWCEBYthHr8JE0jIoLuuO2MQBQIJWzceN+QOC+/zbM/qsqAM6ZuYdTCzJUBtTJdOsMoLmq3s3mnLI87kc1LxQJ0lih0yh0rst/Y1sQpRE7rTGfWrsAJEYDvfJHhfC7LTv6MaEqSpvCzo48G7KI+ffpQw8+DBw+GefMeZ6dMIv4IY0qKCDC6khAAs3Gr5Rc4pGAcwXuIL4X7CjmJVxYF53CEreJDEVR5JnQ0oecxzcqrNmz4jx382AslREnLLxjsifMQybMwqpnZYoLQ7FH7XBUuJgJ+YDtLjSWQqSmHs4nkZGAyKkYus4DubWa1Z700gE5DF6DIATkqktQU8yy/Jg21nhokOelMcPU119CA9x/QH/oN6Ad9+/Wlz/jdbrvuCps2bmAicOIpxDys+FHRyX1h30cBJIsn+L4kLsjvJfCvXMP7JAjbCCFm/C18Xz4/SVkUVOLOXwdcAKHeJO9ZSIBPFlXrsWo1jfhlHA5QNMmEhZrZyfKs6OgofDZUHYIwFjo12rAXEUiwKCb0JT0YkzsRUkARebAVzKn6/7nj0c2G9zv0sMNosHHgcS+tb/9+tH/g/vuIAKK4AqnHLkJdyD87aeQiGgwX8LqJ40SiMBMnsgCYQTkdF1Fxo2Y4c2scE5kk4kNhLpNm6MBDd3J56dKldwz1OkBXZfVX07xcy7JKjQfXsni1pcWm9WybXswCMpYSLUVas8fKQkvNogQ6Vm6UNA7SEE5i5b4d5NDMbHhcMOAGQTQmIG5btmyCnXba0bP/gAD6MkHc9JsbmAAiSwDGmvGiK4SovagKHEv6XJ6bOkIW5VB9FTroFhQSBVAVdgWFdMKhyx79BTm0l9cf5QmgJ265hWd/mZQ/j0F7GJMfQth5ii3LIfE2qDpoZDA8u/NuUGHZIRfQDmJnR9Axws79DHbKm3fZmg4TUUAzydnn9FtNxY5B5ETmZ4bQqLOgBpVKGQ7Yf38a6KamJiWAPkoAf/zjvxEBxAmKACFssU5C9JD1F3nuAhf04so9VyAG2BpRE1ng5RAUqrPMDGdBpdK/P1oSXgx03E2D/+T7E7aJs663lP2zo4dtf3WLqgeONdU0q0KSKU5ehDv5wa1G61i2m40ip+V8b5cbp42/vwFOWKQYSNjMamL/nrVbtDA34WiGCHJUilBDFk6X0YDidumUS2mg+/XrD3379YN+/frCgAED6LtvfevbrFj5wVaWX23oVJI+DBVb5QB6jD6/0QXq4GIx8ax4NBYUWQViRofgFuICqO3Eaefqdetmf7rU0fH2IXHWk1K8W46ggQuoMCiY70DhABlzANzbDvCsu+gskY7ws1Plm5ftVtH0uDt+J+abJQDTwWK7F8SAVyALjiTp/ARnUVXtfDwXNX82tapQqVTg57843osB4QRjDx4DK1asoHOwD/wz+Hsa29y8CxOs6kxecaPvuT/E+VUtiAAbm6C6g52QbCLS84gIpclgCAKbD8iJatVaBB0d73y7FEWrT6GXyaNcvXgWPeOOZBFQNQQgRCAPYU21IjpocHcr54Q9WnQwkN/hTODjhKWpJ85eT1A9/lyPzXNkEg98mqWw/P0PYOnSpRDFkf8OZToCL7UawJMLFsD408bDCSedCHfceQd0drY7MAgxEpll+owMg9v7ygwWMadcwutLdqKYd1ERouJVcQH9zGIZuTKbl9ZcZs4nGEkBE+hef1apnGy6kl+8kivmb4IUPPvAl3YyBW+W10gExI4YGK7Uh9XmvGVe0XJmY0E2suli3KXuOIvPq+LG8jv0MSDsrFp4nZPHNdRNcJv/5FPw5cMPh0FDBsPAgQPhoIMOgrlzZ3uQR9C34oYdTE4aQ9AK7xZdycIRHYckjlFt8HzAnC4wUR0B0IzWdxJumnn3t52ARdOywJ2dYp9mTAA9cfvNpUraQqhGmlcwxixwyrCN6W7sZL8ngAwJQMSAcAaLVnFn4/9spoWuVBUpNXcsmi4G8Stg56GpaW1462EzIWYWZXOKlAzo3McfJ7le8iCPavkPP/Qgc4KU74/4f5xisEUKMRKGiBVBPb1nUAdQHTROS/cczIq5oqUiBF3gngZdpT9rJroBp36mcQjjB31ArrWoGMNhaDjvmVWK084/KgGwCUgDkwnGryiVZTtifysbEtw7qbdZi44Pq5gJARDxiIaswZI6+0Nb3usT4rzxHdbIwcSKEx4bJxGMGTvWgzx9mhjl6+fs+1GjRkFXV4fTC6yslk4tgl74u3kG85s1/QQT8cTgJ4bqEUWi8NaFEXUevTSu9TBEDglOEE4DvHlAifqXLYGk6+lSFLe+wYiWhHqxPzpNDUV5/7qyHGvSsRLinB7CPgtmoYeHvSy3HIB1CXKYeDDFRgIrrBnCttIZBtYlwpOAFVF6UprBuL275B0YgIgezvomnfnEDZyit2jRS17J44HVQVD42A54QcG1fo4i4Yur1od7sQ4QRh9zv/iYhoIOJX8WLOJ+FautoDdZPYmfjQCPStS8vFSOm1djeHeSlX2QJ4clWRNDgIeC/eqVFRMk4j9bAnCesTyEcC06Zl/ea/MBGhmGZ9tBt813vg+scJzJmXdvvPG6G+wQ4LF4/+LFi5gAkPCsu1f+LGJXfIbAlK0nWDtppD8D8VE0Db2ZrHqQhN3TExkLSbEQqxgXOAaH51PKVpy2bkAfwBa0C9Os4kxAjZDlGW1YUsHWD0w5C06QLJf/DY7vNVJj97rvi8GXwtLFCVWnQxDXEPMnbGjioW2fpAnEzoePMw47r6e7A/bfbz9n4/ejCGr9XII99tgDurvbKTkNz0ddQLRrvr6CXBS44d6b0724TygGwoouGnzBQKS/8H0tTqDv21hHCBXasC+UA7CoajAxjL8hzymxBJKsfUOpkmzpQFoKCUCUCxeNWudPDzmBEIANaGBXqQv3Cma3mkjWhayy38la55cvmoUyK2poo23lhsfitTG4A7eZM2fWzfw+bvbfeSfFwEKSYq7e1m80QJTxJ/kQVn/AATKwtcE+AgUtIIRGvxcJwGADwe+oGxVMbzPBMJcDCTzO2jaWKklLFzkKJO7PYPWe5fv4Mwl1lsyeEAb2UStZTLMwIRcvyjAxRVQrVy3ZBodkjbFxb/PzHrd16zfACy+8AIsWLYLFixbBopdegoULF1J7YeGLsHDhS/DSS4vg3//9eVj63jJnwlGEDH2ePWcu7Pn5z3tCQOXvnnvvdbIfEztr8M4779A1Fr/8MixahG0xvIT3ws+LX4FFi1+GF15cCO8seddFP1nLQBC5gou7qLTJhAhEnBCKhrZ7Jc6IJNHFmKuaoNmilVQgMhYByOHaN5cqUashAHFthiiUujcl9JgDOLzTIfBOISEwkEKmCTY3+EIAGj9QjDAybNDH24kcY0rH7e133oadPruz0+T7woBt+tG+X/++5L3r27cJ+vXtC9sM2IaOOX7c8c6040ghUQi7usvw/MJF8PyLL0F7Zyd9RyLDAUV/+/Wv0vmDBg6AAf37Q/9+/VzrT4okuYr7s2/g5pvJnYKx+WrLB1xP3rngHBKOZ1i/WjzC9q2n0Mp8ES2hze9BsSAe02RnZ4kTAR1bSpUYCQCjXypKAC6pkgfNpiOJfuCyVownTzV/Nv/YLnWhVdV6Z5J3cjjnRoDaGXyfQRSOxkWZjNtDD97v5HZf1uaNMtfIczfuaAp0Qn+4Y5k1iJKEuJSweRz0SoyDz4AXbl887FB3nabe7+EI4Ic//KG7hzqDxF7X2IqirmNnvOYcKJhkZrI3f0XJU98K61RFcSlZUDaoRnQ79gekeQdygOZOfF0OHpQM2DCk2+LpxOYpmkUUPFGQDCJIyo3R+B1QIb4DjXI1US1W/lEnhG5b5lI8c2fMeNQPwPe+/3248qqr4JLJk2HKpZfClKmXwuTJU+GSSZNg0uTJcO5558PMWRTm6G1kHOyiDpFmGQE+8vzY2bfccjOce955cMmkyXS9iy+5GC6aOBEuvOgimHjxxXDOOefA0KFD6TmO+gETADuWrKzWqBxrz4cEYN3Vrn6AYd1eFwq0ec1eEv0icDJJMI8D4Vj757FKyCEEqAOsL5UrzYR6YOKHpndZ/34BuQr0Atmrh1Bdv/YhJRtWZFvIlry27x9cRIBq0cSlHJI3Y8Z0TwB33HEXK2ENAjhlEzxBilTgtnnzZpg+cwbcesft8PQzT1NgBxIFKn+CdvamZ+Jz47Zp0yYYPnw4Pcf3j/qB4QDWgjG6TR1MK6IvTEXTWS9coagQhwojO8gYUKuzFGxoumQPCQGkbWtK5WhLB6V5u/TuMB0pTEuSODar/AWxAEHAhj6UPKRVboTNaRComo6eXXp7NiSA6Y8+7AngD3/4HX1XrvQQbEvQbRKTxo+oXxxH7LhxShJuTz/zDOy8C+sQ4uX7+je+CitWfMCDSNYME4NvpNQioJRA5KyJVas/giHbDmEOcJRwAEsA4rrWgI7QmnG5A34iOEhZZrq3kgTSdWI24MosYskcbpBHqXqWYiOeAJL29aVKvNlxgMRwAKOYGTNN8wHVL622vuUQ1imkHCJEEuXlJGAkbxhWLi+LxCDK26OPKAHc+offu5mXBFi8xDPKfbCDcPvgww/hM5/ZwYV7NZEMl7Cvww47FMo9XVCrsu0fRAt5scRaN1ki61bDtttu6wjgKG9BBDGQ4u30oq9AAMbdS78HUHLRC2gCcAv6A0cpqx5lAblA3GJfpLHjAJ3rS5EjAE73luQNReiYTcsDOxPQ5qdJgobMdDEHnVvSR8LI4HvzxeUTGtTLBm2KxuqVQvThiw4w/RHlAL//baDgiYs1gI4p0IMVyCuumMbWwzYIB/fhhgrlAAaC5s9/wlkDUaCTWNNK8gXWr1sLQ4cyAXzfEADb4RLHoLLZBsTaIE7V3IvKXGju6feMO7C/XwhEwuzCeAkfZezFAOEzjAMkXUgAm5gAcicCpPhAQ6ROw5DEGqB4fszIsQ4PqQbisH4rNhgs0uAR6RSfoSOzJQj95nNlEGfOfLROBCDbty/KmrcTLVlKogC3k076BQ94/37Qp9QHY+KpiXfw9ttv87F+3ka3lU4IVGIOsHYtcgAnAn4gOgAq0YXYh8Kspeei55Q6CcZkM+FgfnZ7E9oqgPa6ZuZ72LygWLtMIc4WYg4QIQFUos2dCHogOGA1UyWAMCZNZj8FQpqkB/Y3F9ApZxLq4CNrZTlk/dQe5/bsnrkDdxSbf4Lz4/bYY7M8Adx2262GAGzcvzNbnckax2U6bsqUS+i8AcgBSooGijfw2Wef4evFStQWnrbPsWbNKhgyhAngn//5R05BRP+BC85wE0lnvlV2MUbPiVrPYQpRyuZcndWC5uk1NWtKYxPJjA98MRoRxASApnDn+lI52txFJdmIAEINU4Mdi6HOTvaTf9wqMSrbGAxystRRPHnlCCY2ipElNorZM0UYCPxx0TtpQvKZCWB2HQdgma1ZQ6Rc+coalDNP+P7S95bAdttt5234fv0x3o8H/0tf+jJUyt0cO5fVu6/F0SI6wJo1K2HIkMF07o9/xARQqXRTwohYC/QsDbkBNsFcrOlXdPkKay8ShOhWNlHEgkyicJriE4EVgEpu51q0ArrwdRAdUjDGplrV+9UltKmYxaOUblKinLMkzNFXYmIi0JkmDhVfdAFqcN1118Fee30eRoz8HOz1hb1gxIiR0OTAmd/efLNjvYYAvC4QVvliIgB49rlnYcTuIwIr4NDDDoX3XNoXavvirg5BGyEA4QAfwqBBjDZuO3QI7LnnHjBq1O4watRoOPron8GqVR/RcUUsxQauSrye4vZiAmt4WOgcshy20I8ebCt4YkV8i2s8qbASGHesLvVUNjkCQCWwEEPnOYBjVSa1yVfLoBdStM8WQgqCRUysur6QTfcOO0e09sunXVkfnm0QuJtu5Pj8mCJ4TMUOic8rxDgiV8Ktta0NHnjoQbjm2mvhqaefhkocs6VhTTUHa4tOYc1fIoDVKzwB2PwBT1SHHgzd3cy1Qh2pkJ2Ejl0fXibFJNX3H2YTh/qB2vuiOzV2LoUEwGZglLQjAWzsog5HIMgnORrMmtAjcfQopCspYAHO7JE9YTsmIdQELAor1aDIog+bWezmLZthx5128kobdiw27Gwx3W668UZHAFjZ03SuCS0PMpxwkJ3ctRs+A4mmIE9PYW4vEt1xogMMHjQwiByWNmAgh5Df6xxM+HyNJpdPpfc5jJLgYS0gQQQLzqIgBjF0L2sNJpOTSSHwQgA1iNP2taWeygZ2BiEQ5M0RsRudLzyw6Z2PwJkg2tGCE8hMFPtU6gNKOhnPMPGZ29kgnSOQ7wsLn6d4PYrZ69MY57/l5pu4gxNJLClezyqyrKAxh6lCnKB5yNFCYSy+ZbchkQsh4LZu7WoYPHhQwwwi0SvOPvtMOrYSOSXVF7mSawsXlFCu0BwuBoowEWgyrM9H9JaDwMIOC/EuYA5m5egoRwBJx7pSubKpCyFQKstKBCByxYUQu0AINkW0cKOaF9YTaNO29ca+iJG4P03xSLmGBk4gAbC599y/PeOdMXZ29W1qgv79WYtHvB43dO6wD4I7IQiGkNwCgyr6aJ5qeCwfL777orklA+hwgA3rYZjzBSBBBhzAJZGc9IsT+fliywEs6KXQOgNNzskjEc4+lEtBOYV+TSxFoCe4PpXvSZRZKJh1gCjpWEVWAOkAeUYcQM0UiaR1LQgJU5YtyZ+pSRwRWWmjeRT3rk/KtN4u3Avk+/TT8xrOrjBHj0VAlCDB4nvUE0DvrepDpuobX0ODNbWCiFgBGzas8VZAbxxg3LhxIQEUQ7iC/+3zmJlfDPEuIKuhXoDPLRPTihsp06u+gErctpI4AAgB2MgRJ7958E1soJdHgnU7vL8Ys+ciflQWqQxWf7VCrYxRc5qWgDZ//ONz8IV99oYxY8fA2IPHkqZ+2BcPhUMOPYQahm/ddecdnsXGKXr0Uo/fk7xL60PGxDxNTQgZKn/4fVL8zfgDZDIgLoE9uHHTevjKVw6nnIIxY8ZQO+SQQ+hZx44dA58bMQLOO+88er5ypeIDZNhjaHUfm01Vr/yFekNjAigmxapoESVRxXAiQFDcuqpUrmymSIi8SsWdPbjgb0hKTyGJIwh4UE9WSIn6ILYMqnfxWtSvQQLG/+tbjlwzYcsjjN0zOQKeSzH8K6gqh9HLxJPciQaxhQW3dK4R0uIMWlsql5kAqtW8FsaOOS1TqntQVo0GIAaRPYViDUFygzfJLD6vuoNo/Cs/+gjmzZ9H8Xpz5syCOXPnwGOPz4XHHp8Dc+bOgtlzZ8Ps2bNgzpzZ8Nhjc+Cxx+ZSmzN3NsyaPRNmuzZr9iz6H68zY8YMmOH2M2dOh1mz8JhZMHsOXm8WnzNnJl0DG/4/cyYeO4OPneO+n4PXnQmzZuG18Tz3fI/Nhblz59D3M2dim033nT59Ojz6yKPw6COP0OfpeP8ZM+j/Bx54EBa+tJC8lrhxkQ0tS1MUi2FcBSK2EhArPpYQsqf+9qnimhcoXJhFAEcExWn7OtQBlAPYVCurQRtkUN23hcxXS3kiyzwlh75p0f5xa2lthRNPOhG2HcZOlf8fWlPfJhIRAjujP6VYZEt9D6ojhA42q0QW6hI4L6taLq45a0x0gCRFJbCywesA6oa1rmCBbaVUGTbUUk3Gr8ny1YxcVEZUGVO7lRtu5XIZvvn33+ROQdfsgCYK88JGbtq+LsbPNf9boWFcHrUB2jBGsH9/s0fI1+yD4/vz/eg7d29/jD1Wjgvuz1Ayfde3QSt8j7GKAhRhfOEzTy+gvkjSiqlLWLT1DfxrcjC8yzywvgpiPEBeufA0h4RhZlDHylI52sDeQBQBNmM1iNZlAvAwo1FUVOM0Doo6U8zY/A5tw23qpZyDP3BQf2jqi65ZM1P6bGUjDfwTjuYqZ6cAACAASURBVGlyTT4Xf+sTNsEeAgzC/+ZCyM3/Hzfbbch5IythzEEHQVTporRyHzDiRbGphWiyhMPKIGpGSoBpmFQrMReKigoBEBIYxZubnVJS86FTweALwGIyhAqmnODjVjRYQANBn5pVUMiUyuDgQw5mk65fU+PgzsKANBrc3gZqa1qfBgCTDlzhmsUBtYTTG6s38LUgmEVRgPvnnnVcAGMQaGIJF7YrjejsDyH60GWucYWMLirkrqum+JjApO2jUhxv2SIiIBx0u6SKFmQM4gV9YQYb8mWKOTsKpLRtk8NGsr9lC4wa9Tnu1GLU7ScMdN3ANPgt+NxUf75vpQb3/DgOZAjk4whABhsjhrZ1YFFv9YZ+91vn0EqiQkCLooSafWVL75hyd8Y8x/6u1TBbSbEVjfAiYM7lBrYtRw7QygSAizNxdg9zAKn8bYogO7jXFjUQR4T3Ppn6wV6kNMD5W1o2w8iRuykBfNJMxkGU1gtBNPrc55MIoE94Tzm+4fN8Anfwv7u8wwkTToePVq6CNevWUzRx8TghgOuvv5b6xJehNVnZLONNsWwXkW2h7WKqvPcnmIhqBeWIeJgAkrblpUq0iawA9gbquje+Dl0AQBgwqBDbpm7dsB6fAD6qDDIHaG3dAiN3dxwAWWWjAbFs1gxib1yhVwJoRBAuM7hP8RxLZAWiK4qORkQgg/q9732f3hNhdoki/pcf/zg4RvY3XH+NigDB9U1MJs9+BMliX0xT8hS9C95GLZmJF5qWPlBUCGBZKYocEugIQNCjMJIlDaN5fHSwe1AJvDBLptgqGeLjtgEerW0tsPuokQ0JoKEIaKCsfZx46HX2m0Et2QEuHFf8bWvFkSh3N910i49Wrjhk83e/+31wjHKAq50lgGshOr3KBOayLyWGLK1wnWJXe5gxAQsXN/AHFAppsV8hMQQQIwGIO1iUCvUJ6AobEmKlYVZeYXT/+1U8xDYN9AHBsZkA2traKHjCK0v/BWWukbZfN4N7aaVeBrkRR2j0fVEZlEE97rhjHeLHkwW3U04d3wsHuNYTgHDJ0I0t/e7S921sZqGiqkVeaWxMqR0fauY4QJy0f1CKMwwJy7FARM0WMQqbARgKD6bl3DSW3zt/HPtn16+WUScCaG2FUY4DCAHUsdWPUcI+SVmsm929sfameg5Qx+ob6RBFwikof9iuumqazxS64YYb/YDLMRLTcN11LALwWJ79xo8fiIIwOkstBAv5ysTTcva2ugpxAJcbGCUdq0tJyjGBqSMA71s22HItwPYLARfm+8DF6bVSgwg6ymYdoAV2d2FZUpmjNzOwIQF8gnnXGzcJBrWpMRH0qkP0QkgNFUE3yJh1vMeemIVcjwcUCQCdTBoR7GIKTYQPLXPrlfIwVlPjAcLCEHXQMifZOii4Y2UpTrd0IweQkDDV2q0vvCDXZZab5U2EQm1d/7pFI4wSiBDw7rsbDtCL27ehiWa/+6Rji2ZdEV9oqhcBdZzA/d70MVyi0bMEOADFNLj3c8cLAVx/w3XMAVzpOY4JkPoJUibXVgd10T1mxbOwBpOZ7d6N7ZREFwHOIqB1VSnJWrsx8BLX3fUnG4VCqNBjzjY4wiODpgqICcJEdKtWK6wk6gigvb0N9thjdF1H9dp6G+xPIohPumYf1R16szC8BdKAAHolTjvwgnIWiMuHtbmoJuYAMlvtoha28pgJ8igU6vCp5AGUbIJNJemGEkPwfq1rS2nW2s04QFKTPLWgBXF2Fu0TzmBLkWkAiCwyUZN4N1oPXDlAR2c77Lnn6E/mAL0NaoPBp47dmnN74Rh9PsG66FW0bA2BNSA0SUa5xQFBGDfIfVScxRZiL7jgA+7aqBVK1pAJyUhgmrauLyXZFrICMCzc5gAEHiniCsVMnSIOHWb8BIsy0eBLZSu2ids72mCP0WwFoHJUxNiDjjMAS6OGrFXKvf1FranQKMDTXNd93tr7BARgRUsvBHDzLY4DJI4AGg262PBePLug26B2UH0Ye4DJ+PQwxwEwPTxKNnWxCEhqWrbEhG7XJTSGIIUfeFM8yVKwlT/S2AxshVFOB/BK4NZq//+3tD4FxdNyEKME3nTzbzwB2LR8z2kLfWoDdzWSW93CXix7ZdGsVM6lYqVK2NpSlG7iAhGGA2gAhyh4NrDShh1nYekRCRkPCh6YZAf3UA1xgE9ix00lSsMatt0wGP6p4bAdtu24DRs+DIYPH0b7bYduS/g7Hks4vPvM/w+lgg783bYweMgQGDxkMMX1YXTvIGyDBsHAQbzH5WHkXGrb8jXxGsOGDYOhQ7EN9f9jw6wjMfeK71EkAKpwQhzgxgAJVAIIYzJCvUDd9haGl8LRguRqtTb067gwN58X0LymVEk2dqLWmWJqmF9vl0vEeKXOlx+zrkrhAsUIISlTZqpdeEVEkcD29nYYPXp0IAIaEYGV6xjd09LaDKvXrIZ169e7tg7WUltP+9Vr18HqNWth9drVsHrtGlizdi01+rxurfmfj6HPa9bCqtVrYOXqNbBq1WpYtdo1vA5daw2sWrOG9nje2vXS+L5r8N7r1sH6DRvovJG7O8J2Po7euJkQwG9uUgKwq4zL4g9+lhuiCLOFTD1BCxRJoK5ZjtZWCClH7atKUbKxEwcsyTISAXUZJQQsiEkX3rS4tFkQBub0B8HCffCjwwHQChg1epTnAJipa1lnCOvyb/Pnz/fxdP+nbTVXTgSDR0eP3iMgAM8FCiJCCOBGt/oIpaQH6/2kUA2qttjgWxsqVizQ7RadDJancZyBfAoRyeFype3DUiXeSNnBqRCA+PsD4Mc4f6RAkal86VmRx56lvImd/ZrsKDrA7iNDHKBIAIHyVCrBvvvuC2PGHAw3uGwgWq/H1f2nRR2ldD0RJwdR2iolnAfArJMri+cNKm+Z5BKTseyVL0qiUYVXUtafeOIx2H//A+DwL3+FxIe3aj5Gf/FQ8I3XBynuNnYyULB93YWwjI9ORlt+14FHXh9wOhoV0CwTtfaUWz4sxQnqAJSLV8uLoWDOfZhhtIoPNtBgkKK9KSFianfqqtxFIKi9oxVGGw7Qm2lmicFn25x1FndYjDOGXw5nILE3LBOTYtADloqJIMIWRxAnFSrhhmwWo3HJs5ZK46qifJ5+h8AMhnL768V4fsxczRWyTFPmaPfdd1cwqL3Bw40J4IYCATjY3AE5wez2dRrtgh6NcAHuay4po+sHpYYAypXWlU4JpM6rcUUpWXjIeKOk2qfIGQ8YGTZkzBUbB6jQshUP+HsGhx56SGMC6IUY+m/D2TbnnPMrZrcJcgAOL3ti3jwYO/ZgOJjaGBg75iA4aMyBcOBB+7t2AO0POGB/OPBA/HwAHHTQgXQMNfp8EIwZexCtCjIG21j+f8xBB9I5++6/L+zx+T3ggQd5xTDJL8DtgQfuoWfjjKCPDxMrEgAWvfIEYMLxhPuGCz/ZfEcHshWURaur+RIzfiFLDAvnzKBy0ramVHEEgPVjg+REEwLGqd3GxiwgULIODxOFWYaVHEGGQ7jvpN7fxRddRB0gaV6fRADCAf71V2d7AsAZituUyZPDGfhXaH3dtY8//udO3msV8vvuvfM/dX85DlPdt2zeSCLJL5wZLAhlVwARTqu1j7ScnMYFahCpqTEkBat44SiXHt62lqwAWiuP8gI0EcHmrPly8fSAmi6tIeBWhhYKFhfACKLoDKtsVaGldTOMHXuQ7xCOrnWtr4u0dVG5mB8odvOvhQOkWMWDZ+DGTRvhookXwWmnnw5nnn02nHnW2XDGWWfBGWeexfuzzoIzcX/GmTDBtbPcdxPOOANOnzDBfz9hwhlwxpln0m/0+wT+ffxpp8Npp0+AJe8uoXviLEOlD7d7PQEw5i+RwsE7mSZi4d5773azP6kryiG4DBGErLjqvbIaqid1Fe046OAbZ5JTDiUzKE7aViMQ1C55AaoQmSjTAugjrt+iOaJ+bINN29InASLF0S2YobphwwY44ogjPlZWFrVmJQDOrLEA0//EVjVJphLhfN+9d28VB5B3RMzhFlfcAuWyrRMYRmCpWSeTyxMGTUgbfWWLR+o6xN4H4CqsJ4kQQPuqUhxvblMC0GLEdezeNL+8ObF/Q3Xm4YPgUa/YhMmR+DBUdStL4dlnn4WrrrkGLrtiGky97HKYPGUqTMWqn1OmwBVXXA4//clPfSee9+tfOwJIAnHzP7XVzGIVQgD338cEgO3ww78KN/7mJnqPy664Ei67fBpcfvkVcMW0aTDtqivh9jvvhGXLl5m6Aabmr5HvYsNz+JeryeQTcBWrqVuVRNYUMrmGNshEfAHEAeJki+MAVZcaFsobMTl8UgKZWq6EitzIl5NRWeRlmNEP1C+g5U+EVfW2ic0/97HHfQeffy4nXEpeP24dHR1w/Q03wgUXXAgXX3wxlXWdNPkSmDL1Epg89RKYMmUSTJ06CS67fAq1Sy/jPbXLJlO7YtpUapfS75Ph0ksn0/7yK6bC5VdcSudcedUVsOKjD+me+I6eA9zDVgC200+fwL878dBoQ5aNbF9LwAkHlQU7pKSbWfnE12jUoBu20MRLqxnCdlXVUEfQvIAk7cAFI7a41LCqJobI4NtkBL/ylGXzrlixrE7p5Y4sV2br3NjYtDBYgWSpVK8gpIozcOO4Aj095KyERx55qAEH4ONxm3b5tP8xJfBHP+aCUGw6MgHcew/rANhOOfVU+q6np9Mdw6YkznZMYy9jNVOy54vi09Rg9oU1dIl67ftC6p4lAFvfQNZD9rmBUryLrYA069qEBEBBoWwFmJW2fNkXs0qGKHSFDCDFAAqAio9Zt1aARLCEJdB1OXeTep6lfj2/Rx/V4pDnn3uuJwBZBu65p5+G/b7weUoZH73HaPIz7D56dxi1xyhCHHFP3+NnbFjMafQo2H3U7jBy9xGujaRAVdxz4+9HjOQ9HrvTzp9V6NYQwD333Oaf74zTz2D2HpdD76kr7JwW1z4MFLswKltK64RpYy5YxERgqXhVN3FQfs5zF+UAadq5sZRkLV2ojOHCwoH97/F9F34cuBnloQvJoXWRRDb3XVb5tpHDQhi2WpYhGFMc8tFHtUD0Beef7wfAm5tQg55KGdo6OqCjoxNa29uhrb0d2js66Lu2Trfv6PDftXd0QGt7GzS3tsKW1lZobmuFljb+v6W1jaKWmltaoLllCzS3NMPGzVvoN7ZkeCEMTwB3KwGcfaYAVRUDgeMAFgM1tBpYqP1zNZbAAsOiklSWr6CkBwNdmERWB/DXUndwlnVtLMVJqyeAAHN2VKO5ACzvM7d4ZKO6AD5lzJmDWuo1PDaAWL0sM6zNlI5TAtDqoBdecIHrYAWoSB9A3wPZFtxIYSu0QJmDxq3Rkay5MO6OgA0hhcjSY36+O+74g3++Myecabx7otypv0Rmvy0FZ719Cr9rqV1baS3M2XSVWI0OUEcA/nou4celh6dZ54ZSFDd3MgE4d3BdFUqTE0iyyWDrDZoWjQrDx8JyJwYpFMw64AxulWxUshwBPPKIioCLLprIStb/AYUlMvcMd9x+W50SyPWGtUI6DZ7xI1jRGLBym3GFBCQLb/ixkNVbkDubWkEyweoqjbIJqVXDE6sENpMVwBFBhYACy5ICVKpYwaromnSAkcDFwk2MS9kWo2DUUYsia/whcgBmsY8YDnDySSfBxg1r4d13l8Cy5UupLV36Lrz33hJ4b+k7sHTpEmrLlmF7L2jLly+ltmz5e7B02Xt0Hje8xlJYuoyvt/z95bB8+fvwPu2X8flL+frc3qb2zpI3YdOmDXD55VNVBxAO4EWArZsk6zG66ubO3+J1q0DJFvhXCMhVWfWpe64Wo1mnwdcUMAp2MCm5VpAQACmBjgAwHsBV9HQaqq8TGBCADQ2zDiA1Obg8iTxAofa9L2RsYt+dFw8pXTiFEJos545VOwQM2mbgNhyQMWwoDB2ObVvYdvgQGDJsMLVthw2h//H7oG23LQWNDNtuKAzDc4YNoTYUjx2mxw0bjr8P8w3vgwUs5Pht6R7a8HoYVCK+ignCAeJKwZFjNHlZINP3p6uiGkRgiRktprWxCHyksCxwoZaZVkazKXmKL2DwD5eK7diMyaGMA2SYHewyggsrhQZ5gSZZ1HOBQs0/K/dDLuG4hy3nbq4fFjlkqke8H7e333wDBg3Uoox/LVOv9N9gJl53LWf6oAUT5vRbZJUXi5A6PpzQYZJCG1UaDyBiSwC277XCmeZkKMbgIH1ZNWwLFoni7OAsrfnK30YUqKvR1qTRAk9BBWzPfszMr6t1a2oQWfHiq4ia0HK2WdF9SYrY7//wB9hn331g/wMOgAMOPAAOOOAA2H///WHf/feDffbdF/bee2/Y6wtfoP0+++wD++63L+y33360x/OkYVwBfrev+z1s+N2+dAz9v7+0/ele3Pbzezxu7332gb2/sDeZoMcccwzFOuDzMmhmiN8vsi3vq4MXlHLxJrSZDMGag8U8gWIcoSsV59caskCQIYCkbQvWCNrkVwwpwJA8oPLgEoVqFnMSs8YEH2gxxmKNmwIsSQ/Fa+Na+5fNRClFL6uTISGgH56V0tj76vFzBpU4hUolhq5yGTq6u6Gzpwd6KhGUo4RWAsN9TyX2Df8vRzH9hmXlYr9COGv1WDcYf4uSjIAb+g73SerL0FFJuiyDKI6pBFxPuQyVyFUJ9wReLNViFnSoc/pwIIfGUmoeBQ+usaSKPhrjl2HrigN2rJkdcFuvBLbjsnGbt9hVw4L8M2+WhXam2Lae5YiXz8my4IUDqpYH1O/0fjbC1S2a7JIh5Xl4MQaTgOpRNKmuWQSoBA41xRY9h1Jomv8keQX9lPpZryPXl6BXNhbxGD6b2S6vN6Qoqeb42VlqQZ9waZgQEAvZuL6rEQl+8E3cYFDv0ZqVPtNYlMDmUiXe1BGsHOoXcyjOXFd2JHAv2nWAXRlY74+WAdYZUC2slav1iORlbDi6qS+cuZJnQStEIvk1ehokR7i1ChMX5YzooZS8y/37hM+m0TgF3MNYK3XnBNdxXrlCHB9n5xp3boEAvG5lo6gMamq9q5awNYjUTUBjvisBeM7qCKCnpVSONnYha0UREC4CZVf4NL4A79xhuUUlYv2yJiHhKNxpkxaFghVrCBBGKXdiAA/RfBlokupjjcrBWrlnYVGGYOvRympQ26jxNUWm6j3t0vUfV4JWZ6rF8MM4C1+H0SvDOqAByicgm4+2DqFefl8O5rHcNojDCAgAuVVXC5WJQ3aHYeFaHt5qrFpxUpcrsxCwIQ47sC5cTDpM6uwKawwyj0SnCKjZrgDiljujVTwKRaAl6dEHRpigFDOrglyFYFGqXK2W4sA3gFglwTLA2W3x6YBw3PuYEi1WzBXxfR+9I1q7JwLxnWiip+fI9P76XliMKwwhV27rJ5IjgDTrbC71ROupWDTlBZilxUK5HIaE2yharu/r6uvmheZ82RIhxC/gCEA6FHojAJ0xlGPvEDcmAhNlbFzY3oQqVisNyqg7grLysiYl78KSrbTQpI+rD8Ewi494sMsThyGguqjoAjQbLI6lnCUQwxbU8QGpJuHGFtuuNRCzhvM4UeA4QEdzqRxvpLWD2QwUzVsoxZhknoLtA219EAYHUIrLMhxAW0Ba2aYu98IreibQ1t7mYwyDkidu9gRE2lAUGe1ZPJ25glt25tPeqYdbCwlTdm+dX96KCyFQrZesg6wKX0jYUq4nDA5tJPoU+bP6R1AdTFZRIVU3TrtaSpVkM60XgGyBCQAVL45OFeTKAkJevvBCU/DKK6/ACy+8CAtfwuXaX6Il1he9tBhefHEhvLhwIbzxxhvQ1cUrc+OLIyHYmjXCzgLFzsh+3FasWAFf/erX4NOf3h4mnHE6vQgRgguKFB84cRfLGYpEZYpUc9IK+I0TWLTCiZSEX7HiI1i0cBG8/PIrsHjxy/Dy4pfhlZdfgVdffRVeeeVVWPLuO9DV3ekJBZ/JE7pRDCU+0r+nr7RqCzkVB1aJx26os+nkKayNEOhoohdI9JCL5CIrAAmgo4XjASjZAQtE4MBj00Wh7Bo0qgiy161c7oRdd92V0C/OnHX7PpgRw5myWJp11912hZNP+SV88OFyP1vCxaGKyRlZ4Go9fcLpQfTwAw/eH+TTF2ebjYYJ1twTEeMKW7a1tVCqWXPLZspUIvnpnkXCvU/65cl87379KXupqY9ZuKJvXxg4aCDsvMsu8N3vHgmzZs0gccUcS4A0BcjqBlf0F5HrDcQQNsQo8Pna2pqhuXkzIYzkmZRzA71ICNhwMi8CBAhK6I5x2tlaKsdbuikkObUcwFgChYIEQgQS8bLrbruEeXBFiJSqazB0i4mcTz45j0UCdVBW79v29iqDPLiNH38qnY+djftrTUkV6jQfmmZZZpUsFF7K1UHXrj4BEm+l0gNf/vKXYIcdd4Th2w2HcUdzUSchFsk3OOGEExjmdSHpnxTs+fVvfA0+/PB9OpdDvqwtrqLTZl/5hFvBR9xgylrHr766GEaM2I1WTdv+05+G+fO4DxGQ0gBVxwGDVcQlLU+CTa0zCIm0p7lUSbZ0440xVlx0AEsAaq6Foca4lcvd8LkRWuwRnTS4yNOOn92JImeGuHV1cbb0H8Czd7fddoUNG9cQVIqOHkTS0GlCwRMOG0cXcBRhRg87gpDd4ovj+Qi9rl+/jgfLLSrJWUAcoJG5tYAQvYsRwYtwIemkwAEAurs74fN77ukH8Mh/+EefbsZpZtz5P//58brSKC5WRUWfMbS7PzQ1afgZhqzbd3zrrTeUS5lYSRYRvJSt3Icim3BC+HJ7rI/I4lTPP/+c70fcz5jJiSTlCvsaLF5AlUIt13H5mSpaUTGXqOCOzaVyvKmbtXklAJ/1K/AvzXzjHHKzKI57YORILvaI7YuHHUYrfW3YvBk2bt4M6zduhEenz6DkB/x9gPOW+aJIztMnmyh9Xta55VnwXt3d3fDOkiVQqfACkDKbgvOdxttoY2uEsQQinjQjPF+e/ajv89Kv1GGcK0n/H3fccTzASABNTTBr9mzKSv5gxQpY9v778MS8+fDLk0+hVHESFY4IMAOpg5RW5wVE4iQIW9+vuNF9aQ1krqgiBLB48SJo6oe5BkwA8+c/6fqLU+Is/G4dcFKci0rH2iATBwTFSfsmUgJRScCccYk8LSp8PnrXa6IpDUoUdQUEcNghh9LN6FXMEqsLnnrKuXKZjX7vn75H36MCOWXKpXDjjb+Bq6++GjZuxAyZGjz+xOMw/rTT4M677qLjMBFj2rQr4dZbb4NpV14D73/Ay7yvW7cGLr30Cpg27Sq4eNJkeGfJu8RVbrv9Nvj5Cb+AH//kJ5Qo8uKLz9Mzof8At5dfXgxXX30V7ObEFzZc9gULOV4x7Wq45577Pfs99thjPAGgXoNKoHS+EAxzqddgl513CXSVqVOneC4gmANur//5zzD1sqlw9DE/gyOP/Ec4+phjaHHMjyTa2FUNx/2CBQvgggvO4zWOnSg9dfwpcPc9d8K1114Db731lidwBaB44CmCy6xj7JN4lQA2OwIQHcCs7lmI6/eeOydTiQAqnTByhBLAIWMPhtzVvVdYGTOAWmCHHXYwhHIYPfTDLspH3Kjzn3ySOkSOO+YYXnBpxoxHg46dP59l4H/8xyssfhxrnDR5Enzr298uuIx5/6tfneGtiokTz2OC7It1CTDtjLN4hcUecsihfoHoY48dFxDASy89r4tL0yKMCVUDxQ1XM7Hvs99++0MUlV0oPIeun3DCL6CpELkszzpk28EweeokRwDI/VI4+OCDGi+cKYWmf8cVSUnM+VxN8QaKScwTkr7jXE8XEtaBziAsEYNYOSKBNilUihbLIs4uqcCBRcwBugMOcOjBB0OalDkHndbj4xn30cqVFFQhx33z7/6Ovp89e7YXDZgpc+CBBwYDfeKJJ7mOnRUogU8tYBb49tt/hm226U/l5vsP6BfcgzrNLQotnXXH7bfTeRdeeK6X2yV7vOtkdDcLsRx3vBMByL36NMHLLy/iGeeqelIVlQx1kAqqmHD44V/ySjHqCG+99SYdjwGqX//G150+gQtJFAbULUDB7/0LEgcYU3jQgQeokt2AAP5wq6yejhFGFtbWWE0mAGNpOQ6Q5kwArj6ABIU69M/Ofh8h7DRqMuNqpEkHIuDQw9BIZXnm9qjIjTvuWB7ogbzM6sSJF9NvDz34MHfIgL6BBbH9p7en8i2nT+Dw6rluZol8fWoBF4p4++3XqTPt4GFhxssuuwyuvuYa2HvvfVyH83lf+9rX6Tw8/5RTToFPb7+9vyfGFpx/wQUwfvx4Ol8CUY49tkAAryx2BCAzLlye/pxzzg6eVYpanHv++UzEbkXRz3zmMzBx4kXw4EMPwYQzzqLyNdgHsqq56EnX33gD/OCHPww4xVFH/QAumngxnDr+dFgsBOnwlTDmUoJyBB6XUrFcKDLJ0B0cbWphuWMKRZq4fVs0mkWA884RB+iBEUYE7LLzzjDxogtogCdOnEi2/157fcHNapb/n/3sZ+HDFSuYAB4SAuhH5iLO1ilTplAplk1btkBzM61lAXPnhgTw5FMsAt5++zVaDkbKyOy4046wfBkvAI3b2jVr4XO7sZVCv++4E7S30+tCHEWw115qBfz0p0d7mY6zBQM6mQCOLRCAdri4tZFzRpTrCHDNtdcFCu/jT8yjGbjrru45mvqQwviKIySBuBcseJrfz8l5rDLS2UmLudDaQpZjzZo12+shnMldQCALcZdhoQvUC7hQZJK2bypFccs7/CBR1Wf9Bs4Pgy07H4GIADTdRowIV+EuNqRaHFjulG1g9pw5foAeeOAB+h7NR9yPH39aoGBJ58ydOzMggMefeIy+f+ftPxNhCTuUaNxyTxeUI57BPz/+5/wsfRCH+BRs3IAmKEBnVwfs6QpVkmL63X8iRbEnk2uGRgAAEZFJREFUKlNRCYlFPPa4Y5QAmpr8wKHf3+IWGCiC2wUXXsjP6gjgT3/6Eyx++eWAE/3yl6fwc1Y6SHRE7l5H/+xnXt/APhNx88wz8wMx8PDDD9D33ZUeshQ08CNMBAkRRXXY+QUj4va3S5W0mwRqlldyrgUUFngIcHWPo7NphrNIOMDHEQDucZWs559nBQojaHC79x5XVMERwL333KuVP0xE8Jw5IQEgR8BtyZI3YZsB2/iOucSFi3PKGJ978smnKAEM345W+xQQaw9Xp5DYqqvvzwtHcnUR3I4Zd7QnAHzH1157xR/HHNLlJThi/da3vuW4Gj/ru+++SwtIywTA/YMPPGAyh3L/rLgMrn1PVCpxe3rBvIADPPLIw17ueyebgbxtiRnBCOyq5RlG4eI75JXHSj3JulnM0pAAtFg0Y+MWTrRRKIIDRLD7yBHKYnfYAcYdeyz89Gc/hZ/89Cfw8xNOgKmXXQrzn5oPlahC6gEmc2BoFW733HVnwC4feuhBP4DIdRBTx2327OnBrMJ1A3F77923YeDAQZ4ALnBJo7ywAiugvzzpREcAfYgDCAGUuztg9GjGJ7D94Ac/dKydwRmEX3Ebd4yblf36kvb+59df5c5H4MbV5hHA6ulnn/WFJ/GcnXbamQCeu+66wxE6P/8j7j0jIoAUYvest9xyS9AfDz/yEH0/7wlOjMVaCbjHNDnpJ+sm9p5D43G0qXYeZncE0JN0zyjF8QbSyLIsyjlWXcq+G+eIuBv94kOsA+AskYrf2A49FHGAUAmUDWUmonO44GEUMwHcfdftwQs/8KCbGa5qtkDBs2dND2bGvHlzmQDeexsGDRzsizBf6JZpRe1ZZvBJJ57gOcDw4dvBuvWrHAfogM/vuYfqAD9hHUDqAAkBHFMggNdee42+xzhEAV1we/e99zzg1d8tHI0KJG7PPTs/eP4zzmDltlIp0yBWnAg4zokr0olKJViw4Cn6/vHHHitwACaMciRIoJX9/EziMPLjZqy5LI+IALrjzb8vdXW9dgL+k1cTRwAqAsR08Dak8dSRGRiXYaThAKhJx1E3DzYGUFJAJc74OChbhlAtbnfdeWtAAPfdf59yAAzhcnK1SABYkQu3pUvfgcGDh/gZd6HLGcTBF5QRTSolgE95AiiXu2Dfvff2z45FKoRwpeAUcYBxDgfo15fug4CP6ik16O7pgXvvux8+u/POAdiFxSPffOs/6NhNG1bDjjswlI1t+PDh8Mabf6bf5D7PPPscDBiwjbeGdtl1N9i0eQP99uyzTzsdwtUWvuW3/lzh1IGjScrzOTNVVhH1CaJVJoCO8tqTS53NT30hzTEHmwGC+jRurfVnF5Rkh0o3fO5zagUceMCBuDS5i95lFMr6EwRgwqXemQBuCwjgQe/l4wfujQDmPcEcYNmyd8lcFAKYeMGFnoPIuSeecLzRAT4F69evpvI0qMh+5SuHs57ShF7L/oTcPfvcArjlt7dAe0d7AAVLdZIvfelv4MjvHglHfOcIWvQSM4dJB0LP54D+/lmk9AsCRridczabh7Ks/C677AzXX38dzH9yPlx40UVU6dTqCYiMyrbk3Tdh4DYDvKj74hcPgxdf/He4+5574IknnHPNF4yS0Hq7XK9bXIomYFSr1jC6OUp6epaPKZVKpaYk6SDVNk0rVZ8CbqJubHqx1J0lfL6nE0Z8TjnAmDFjSf4Khq/4gQkeJY2ZCeBuJxsHDRkUyDzWAVQ5evxxBwQN5uPmzWcOgClew4YP98DRJRMv8edL7Z5fOGdOU7++sP32n4b169dSKBVuF0+8yA+KrVa64447Eo7P5zMHGThwYFDbp2jliBKM5WXvu4+VWYpidtXSkd1/5ztcCseCU9KQwMRU/uEP/lkwe1Y0swocfPAY/6x0T8dprrj8ck/0XJoPubiu1WAjjlx9JpJZSdbz7uuPHzkYCaAUlddexg8c5ew+tYWdTIiVTy7kQUZNemfH+ogDHHgAZKnzVZsctWKAglT28sqRmxUPOh2gyAHmzAqhYDQLiQMsXQKDBw3yg2JLx8i5x45jMw4bppOtWbvSOZNyaG9vha9/42+dFaOVvj+7007Q1dUV4gB9P94dPGjwYFop7PU/v+71EHlveZ/u7i4Y53wLjbKbEDk8+eSToau7y5VyQS8h99XTzz5NaWqW6IjoL77YlJrXwFCNENZyc6jkp1lM7L+ctF1Zkq2546XDsrySUvkQig42gZlBGpdzWdLKFqjMVeCCiy4kb9ip48fDdddfRwElWkPHDr6kRWNINg8ORgwdffQ4qrw17tjjaFVt4kTOhyAeuddefQWOPe54quCF93rjTe7kDRvXUfWvU8efRgoUrtLN5yf+HnfccTv86Mc/hmPGjYMTTjgRNpNcrbnAjZwSOlD5/Jef/Av8zZe+BF/92tfg1+eeS9YKbvfd/wCcdPLJVG3stAkT4LQJp8P400+HU087DSaceSZZOQ8+/BCs+IjBLSJcqvlr6vk5boZsGvvmhYUvwL/++tfwzb//exh7yMHwv444gpDCV19jC0MKWIrjjauqASxbvpwQwCO/+0/w7f91BPzzj36kC1DjmFFshCk0WeWV3HxIeLVSw++SLMqaO5YdRoMPgI6mEq4g+pRYA+IStqzEigCxMYvp2aQr4O8+QMEEK9qYd6cL4N5uPu8wKErN0LTdWKbxwojB9z6wQrlP0RrxBayJtSbUMfWbJIvwp63dcMai8qkp3LbuH9cUFP9IbxuerwtISowAnycWR9gXLFY1YlnMdlk9zMcBeu0/ituf97MfAPoSF2h+4/tAawdFVVqbrpitI/LE1AiUwgyImonm7VcZNfH3mkdoa+Dyy+E53CLGs4uBnQ5+xt/pOKcfCHchNimraroEUyI+h4FTSrUr5sDwrQm3qnLNQkQ06f7uGHKtUsg5R+XggPD9K5TynThTEWc1vXscOSvHVuKQZfWsH4VRVDwX0UYUhfLsUu9Is4aKjc9DzoT3pfQ0CijhKilaoteEyZvqbK6gFVFQd/eao+3Yey5QSVoYFcziXKpPFYtBhlomhy95jZ9Bhrq4dBUfhoMEpWiKWT8aheRrDUiyal38vVgsWr9P4evCcxTj7aosM3W2WfSst+M1MUPqBQdQrEl3663AkyjDmuaGXE9jAG1grO5lgSjOE8Bwt8SFwqn5JxHHNVrpzYrx1A1+FLcvvvXWUn877vihCfetrW98JcsqaV5Na2keOfewKBG2yIBp9J2tJmKbHUiTFm3q4PtZYiJb2BcuwSdMiBKHoGHkJoy6jng0E9eboQ2TPnKTr68dLEvc1GU4+89OvBkCsLkMvrBj3XubhJegL21MpMmUCkRJsRSc1ALUmgq87GxoDkqcJ3p78be2zveOxLGePn06z34jCogIyuVN5IfMq1GmsfnF0GI1B8P8NpvsKGlfpq6tSY7UKFUhACu7nfkpzieCZznAhHQMHwenJWc0b4FXPOdz5BmtXmFj9KuFQRLxgr9repbPu5MiDoWaB6GvRAbf+udFnzLVQBpMKE4Tc3oXZWSJa97k/JlEEU+EztHDmI1N5PFZVaREleO2u+1YFwmA2MHChb8eGsWtpGbnOcLDqpAIqmRLlPiOI2UFdQcpXWILP5i1cIOO08pVQT6b1PKXUqlSLy8okKQh617LdUujcCaPEI1NPTeZOoGZm7n7qc4jPhELgSvha50fiTiWEC5NotFjQw5g0teCSVS4NxGATSOTa4TZRtbVK4QqK7S6LGtS/OK0e+Xy5U/sGrD+BkRAlLF69bxD0rTMJWTzmCBifUj72S1i7AnADUChugjXv9GMHF1vKA3zEII0JtfRjoV5giuEq2nEsglZowWuTViae26ZGdZblvt0NNPZvhOlOKa8d1irV3IpQ1bNFdVo79dZNuf7cyUVX6qtWA5RWIM5SNULU83D6iv2OFQwk2qe57Uki7MNrW99J1D8etvkgI6elUdkeVxGiDjPoyoFHfjBsgMu8tMMDg1sI7lsc/7UTAk7UKOQpEil5TAkAmRtXJOKrrl69QWtNL9ROIuItNwkqDrLQiqkUB1ARPKYq+V5FLLhYOZqBfWQuwnnkGsU39WtuG5yIi1wpnJcqqYZTN8s2hUqzWyBYOi3zP7WzpW/2qrBLxJBV3nN97Mc3WpYyKlSzfLIz8YiJ7Az0uMEPt1LCxsU8QA1C9XE1Hw/uxSKW/kKicC5rSV+gWcT299BQosvZ1OY+UaBrRrN2Uc9BRq4EHWhwKX7PtR38F3wurZvHDG5CSPiyk8mWd1biNMEcIQmtCrkXPrVKudynJv5qQ5+R8+mi3uV+1tDBG2dK47M8phw0SyPMsSl0wxtdpH3WlSqGJSQN6gPEOS1F5UiLyacbHQpzTqw4cAxl3AVshwr1WVsNYoJuRcrlNJCvaDqrQRNyNQFmmSm2kwem5SKYlKLQfrJ4d5NRaGIGMv+hSjCa1v/fVBgwpaUCwps+HBvbDnyfRyvzmjj5L9o8ItE0Nz+5jfjpJsC9LK8kpHTKBNugC1iKrfVKHz4kSMCb45ZLmA9VqyECcbACpUqd6qth3UHwho89ZiCpmDJb6IPSOyjqVFApp+yccuuVdGSDNxiQisTGosKza0M4iy9pSLv4TiATBpTAMKG31ki8tc0n10Yfi3N4qxardIq8M0dy86TMQT0hf6lmxDBihWz9+pKWhYw/JhV07SSc1kZzCWsQJ6xjFS5LAWNG2EBVlZi1orp9FqjgRP2a5dJV8BERYnxfAXp4mbFc+lAX8CyGhCATVINoHAamKy+nnFgzglrZ8tJ07lthLUB0wqeOjshQsUvbXB9Z52xkpxXXZRPJe3ZvL7llaNwzKZP30qZvxVEQCwE4Bv92npWnh9nFa4tiEFkCRJCpYrl3DyG3Yj9F9AtjVQRpU7hY0ri9JmzoUdR1h/2i1Z7FhpqxrwQthaO8JU2LFpWK1YAKRZnUrd4fR6+Se8O9BqTgmWKaduoXA3VDgtc+Pf04sUSllMmifOSCK6lKfptGOHLqnneEW2cvnr1w3vYifvftiERyEVXrnxp765o031JxtGd1WpWS5AjZHGGvgQMO7ZL0KlGbMwhg1Z5uFlKoeAgWwIwosOWQRVxYZFI6ydQcEgjYnlF8zBituqigATZQ8LgaKgG9X9E/LhnFK4RRuDKM1viN2LIgF4yESyhSYEMVmzJiUM1/tO0UssyFMFRjn1Ok7CWQ3fU8kZz5zvfdePU5y+W+f8JQiCZsrH13/br7F53e5R0cwA7pYXgC6TVPE/yPEM7lBJOuAqpmks1XKImc3uZAbh2YYbrF+byPWnk7jvJVHKcxREC+yB4MSSMN6QKYEHBa1MryLFVhWOrgRggPyEunVOVtRNshq2pv2OXwAtBGS56z++G71TLqtVamkMtzaq1LMtryKmZIC2BKkaCC3ewdYGDX6mlaH2Rhzau4TN4r2Eel7srm+c3t/35u08+ecQ2xbH5q26TJk1qslT20Ud3jGxuXnZqR/fG+eW4s9W5aRv4UfEFCtUuXK09mYU0D6XDqRAFK0UIcTYq7e7z4k29QK7d5xp+lgpfrrZO0UX8yYXlw+3jC8fkrvG70v2pKJbWG5RnKlQoNDfgbF77nCgqe+L27s7ylueauz84Z92WF/aaNKnU9D8y63vbAEJCwG3NG5ftun79Mz9tbX77+s6ulQs6u9evj7Oe5jiPWuO80sr7qCXOK1uoVSvNUVZpreSVlnJW2VJOy5ujrLwlzqPmiI6LmuO80hzlldZKFrdV8qitkkVtUR61Rfh/Frf2ZHFrJYtaoqzSEmd0/dYoq7TFeaUtxn0Vf6+0lrNKa5TFrXhuUo1ak2rcEmPL49a4WmnBZ4mzqDmt4j3jliin31roOH7u1qQa0f9Rjtfh5r/Pys1xXm5Oq3FzkldaErwePX/cXMkqzZUsao4yPDcKGvdHTM+WVOPmOO9pqaSdrV3ldZs7Oz54vqNr2aSWlte/veLNSXuVSqrRu4H/L8n6/w0q+22/IzbofgAAAABJRU5ErkJggg==",alt:"Vue Print Designer",class:"w-12 h-12 mx-auto mb-2"},null,-1)),Xo("h2",EM,oe(Qt(d)),1),Xo("div",IM,oe(Qt(i)("help.version"))+" "+oe(Qt(A)),1),Xo("div",TM,[Xo("h4",PM,oe(Qt(i)("help.links")),1),Xo("div",MM,[Xo("div",LM,[Xo("span",DM,[r[29]||(r[29]=Xo("img",{src:"data:image/x-icon;base64,AAABAAEAUFAAAAEAIADoZwAAFgAAACgAAABQAAAAoAAAAAEAIAAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVL/UANDu7AD///gArePmCtzw8Drn9fOB7/j3w/X7+eX5/Pr3/P78+fz+/fn8/vz5/P78+fz++/n8/fr5+/z6+fr9+/n7/fv5+v37+fr++/n8/vv6/P77+v3++/r8/fr6/Pz6+fz8+/n8/fv6/f78+v3+/Pr8/vv5+/76+fz+/Pr9/vz5/f/9+fz//Pn7/vz5/P78+f3+/Pn9//35/f/9+fz+/fn8/v35/f78+f3+/Pn9//35+/79+fr+/Pn7/vz5/P37+fz8+vn9/Pr5/f37+fz9+/n7/vv5/P77+fz+/Pn6/fz59vv6+PT6+OXw+fe95vbzh+D18D/F6ukO///+ANbx7QCBztQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK/i4AD2/PYAyOvoC+f3807w+fet9vr56fn8+/77/f3//P79//z9/f/8/f3/+/39//3+/f/+/v3//f79//3+/f/9/vz//f79//3+/f/9/vz//P79//7+/f/+/v3//v79//79/P/9/fz//f38//7+/P/+/f3//f39//39/f/8/f3//f79//7//f/+//7//v7+//7//f/9/v7//v7+/////v///////v7+//7//v/+//3//v/+/////v/+/v7//f79//7+/f///v3//vz8//79/P/+/v3//v79//39/f/9/f3//v79//z9/f/5/fz/+f38//n9/P/4/Pr+9/v56/P6+Lnp9/Niz+7rFv//+wC86ecAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADP7+8A////AOT28jfy+ves+Pz69Pj7+//4+/v/+fz8//z9/f/9/f3//f39//z9/f/7/f3//P39//39/f/8/f3//f79//7+/f/+//3//v/9//7+/f/+/v3//v/9//7//f/9/v3//f39//39/f/9/v3//f39//z9/f/9/f3//f79//3+/f/9/v7//v79//7+/f/+//7//v/9//7+/v/+/v7//v79//7+/v/+/v7//v79//7+/f/+/v3//f79//3+/f/9/f3//v38//3+/f/9/f3//v79//7+/f/9/v3//f79//3+/f/+/v3//f79//v9/P/6/Pz/+fz8//j8/P/4/Pz/+vz8//n8+/v0+vjC5PbxT5ne2wXX8u8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3/TzALro6Abp9/Ro9vz64fj8/P/5/Pz/+Pz8//j8/P/8/f3//f39//39/f/+/fz//f39//z9/f/9/f3//f79//z+/v/9/v3//P79//3+/P/9/fz//P39//z9/f/9/v3//v79//7+/f/9/f3//f39//39/f/9/f3//f39//39/P/9/v3//P39//z9/f/9/v3//v79//7+/f/+//3//v79//z9/f/8/f3//f79//7+/f/+/v3//v79//39/f/8/f3/+fz9//n8/f/8/fz//P39//39/f/9/v3//f39//z9/f/9/v3//f79//3+/f/9/v3//P38//v9/P/7/Pz/+vz9//n8/f/6/Pz/+/z8//v9/P/4/Prw6/f0hcjs6g/l9fEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANfx8QDT7+4J8fv5ffn9/PX4/fz/+Pz7//n8/P/6/Pz/+/38//3+/f/9/f3//f39//79/P/+/fz//v79//7+/f/9/v3//f7+//39/f/8/f3//P38//z9/P/7/fz//P38//v9/P/8/f3//f39//39/P/8/fz//f38//39/P/+/fz//f39//z9/f/8/f3/+/39//z9/f/9/v3//v79//3+/f/9/fz//f38//v9/f/8/f3//v79//7+/f/9/f3//v38//39/f/6/fz/+v38//z9/f/8/fz//P38//z9/f/6/fz/+v38//z9/f/+/v3//v79//3+/f/9/f3//f38//z8/P/9/f3//f39//z9/f/8/f3/+/39//v8/P/5/Pv88fr3mdry7RHa8+4AAAAAAAAAAAAAAAAAAAAAAAAAAACx4eUAx+rsB/H7+n75/v33+f39//n8/P/6/Pz/+vz8//v8/P/8/fz//f39//z9/f/9/f3//v79//79/P/9/f3//f79//z9/f/8/f3/+/z9//z9/f/9/v3//f38//z8+//6/Pz/+vz8//v9/f/8/f3//P39//v9/P/8/fz//Pz8//39/P/9/f3//P39//z9/f/8/f3//P39//3+/f/9/v7//f39//v8/P/6/Pz/+/38//v9/P/8/f3//f39//v8/P/8/Pz//P38//z9/f/8/f3/+/38//r8/P/6/Pz/+/39//v9/P/6/Pz//f79//3+/f/9/v3//v79//39/f/8/f3/+/z8//z9/f/9/v7//P39//39/f/9/f3/+/39//r8/P/5/fv88vr2l8vu6g3E6egAAAAAAAAAAAAAAAAALKC8AH/K1ALn9vZs+P799fn9/f/7/f3/+/39//r8/P/7/Pz/+/z8//r8/P/7/Pz/+/z8//z8/P/9/f3//P39//z9/P/8/f3/+/39//r8/P/7/Pz//f39//39/f/8/fz/+vz8//r8/P/8/fz//P38//3+/P/9/v3//Pz8//v8/P/7/Pz/+vz8//v8/P/7/f3//f39//3+/f/9/v3//f79//z+/v/8/f3/+/39//z9/f/8/fz/+v38//z9/f/8/fz//Pz7//z8/P/8/f3//P38//39/f/7/P3/+vz8//r8/P/8/f3/+/38//r9/P/8/fz//P79//3+/f/9/f3//f39//z9/f/7/Pz//Pz9//39/f/9/v3//f79//3+/f/8/f3/+/38//v9/P/6/fv67fj1e6fd3gNKv8AAAAAAAAAAAADg9/QA4vX1Ovb9/OX6/f3/+vz8//v9/f/7/f3/+/z8//v8/P/7/Pz/+/z8//v8/P/8/Pz//fz8//z9/P/8/f3//f39//3+/f/8/f3/+/z8//39/f/9/v3//v79//39/f/6/Pz/+vz8//z8/P/8/f3//f79//7+/f/8/f3/+/38//v8/P/7+/v/+/z8//39/f/+/v3//v/9//7+/f/8/f3//P39//z9/f/9/v3//f7+//3+/f/7/f3//P38//39/P/9/fz//f39//39/f/8/fz/+/38//v9/f/8/f3/+/39//39/f/9/v3//P39//v9/f/7/f3//P39//z9/f/8/f3/+/39//v8/f/9/f3//v79//7//f/+/v3//f79//z+/f/8/f3//P39//z9/P/5/Prr6Pf0RP///wAAAAAARsnWAMPr7A3x+vmw+f38//v9/P/9/f3//f39//z9/f/7/f3//P39//39/f/9/fz//P38//39/P/9/f3//f39//z9/f/7/f3//P39//z9/f/8/f3//v79//7+/f/9/v3//P38//r8/P/7/Pz//f39//7+/f///v3//v79//7+/f/+/v3//f79//79/P/9/f3//v79//7+/f/+//3//v79//z9/f/7/f3//f39//7//f/+/v3//v/9//7+/f/+/v3//v79//7//f/+/v3//f79//39/f/7/fz/+/z8//z8/P/8/Pz//P39//3+/f/8/f3//P39//3+/f/+/v3//f78//z9/f/7/f3/+/z9//3+/f/+/vz//v78//7+/f/9/v3//f79//7+/f/9/f3/+/39//z9/P/0+/i6yu3sEUDAzwD///wA4fb1Vff8/Pb6/Pz/+/38//z9/f/8/f3//P39//z9/f/9/v3////////////9//7//f79//7+/f/+/v3//f39//z9/f/8/f3//P7+/////////////f79//7+/f/9/v3/+/39//////////////////7//v///////////////v///v3//v79//////////////////7+/f/9/v3//P7+//7//////////////////v////////////////////////////////////7//f39//r8/P/7/Pz//P39//v9/P/8/fz//v///////////////////////v/7/fz/+vz8//r8/P/7/fz//v///////////////v/+//7//f/+//3//v/9//z9/f/8/f3//P38//n8+/jo9/Vb////ALbq7Qvw+vqx+f38//v8/P/8/f3//P39//z9/f/6/Pz//P39//T19P+2trX/q6yr/9vd3f/+/v7//v79//7+/f/9/v3//f39//7+/v/l5uX/q6up/6+urf/s7u3//v7+//7+/f/z9PT/tra1/6ysq//g4+P/8PPy/7Ozsv+trav/6Ojn//7//v/7/Pr/vb69/6Oko//Mzcz//f7+//z+/v/h4+L/pqen/5GSkv/AwcD/+/v7/8PEw/+srav/q6yr/6qrqf+trav/vb68/9/g3v/7+/v//P7+//v8/P/8/f3//P78//r7+v/Q0tH/np+e/5GSkP+xsrD/5ujn//v+/v/6/Pz/+/z8//n6+v/Kysn/np2c/6Ghn//h4+P//v/+//3//f/8/f3/+/39//v9/f/6/fz/+f78//P7+bPG7esM3PX1Off8/On6/Pz//f38//7+/v/9/v3//f39//v8/f/9/v7/4uTj/ycoKP8DAwP/lJaW///////+/v3//v79//7+/P/9/v3//////7i5uf8JCgn/GBgX/9LT0v/////////+/+Xm5v8pKir/BQUE/6yvrv/b3t7/Gxwc/wsMC/+/v7////////b29v9GRkf/AQEB/3l6ev/+////1NbW/zg5OP8DAwP/AAAA/09PTv/z8/T/SUpJ/wMDA/8CAwP/AAEB/wACAf8HCQj/IyQj/3Jycv/g4uP//v////3+/f/29/b/iYqJ/xoaGv8AAAD/AAAA/wUGBf87PDv/wcPD//3+/v/9/v7/oKKi/xcYF/8AAAD/AgIB/6qrq////////P79//v9/f/7/f3//P39//39/f/6/f3/+f376uX49T7o+vl5+P39/Pv9/f/+/v3//v7+//7+/v/9/v7//P39//7//v/j5eT/JSYm/wAAAP+Sk5P///////7+/P/9/fz//v38//z9/P//////tbe3/wYHB/8VFRT/0NLS//////////7/5Obl/yYnJ/8CAgH/q66u/9rd3f8YGRn/CQkJ/76+v///////9fb2/0VGR/8AAAD/ent7//////+HiIn/AAAA/xcXF/9wcnL/nJ2d//P08/9GRkf/AAAA/xwcHP9GR0f/QkNC/yQlJP8AAAD/AAAA/0hJSP/f4uH//v///5iZmv8JCQn/BgYG/1RWVf92dnX/KSop/wAAAP8yMjL/3N7e//T39v9BQ0P/AAAA/z4/P/+AgID/y8vL/////v/9/v3/+/39//39/f/8/f3//f79//v9/f/5/fz+7/n2gu37+rL5/f3/+/39//7+/f/+/v7//v7+//7+/v/8/f3//v/+/+Xm5f8mKCj/AAAA/5SVlv/////////9/////v////3//f37//////+2t7f/BgcH/xUVFP/Q0dH//////////v/j5eX/Jicn/wICAf+rrq7/19zc/xgYGP8JCQj/vL2+///////19/b/R0hI/wAAAP95e3r//////3Fycv8AAAD/VFRU//v9/f/+////9fb1/0RFRf8AAAD/ZWVl//j4+P/29vX/39/f/3R0dP8ICAj/AAAA/3Bycf/t8fH/PT9A/wAAAP9aW1v/8/T0///////GxsX/Gxsb/wEBAf+QkZH/7O/v/y0uLv8AAAD/np+f///////+/v3//v79//7+/f/+/v3//v79//z+/f/8/f3//P39//n9/P/y+ve88vz51Pj9/P/7/f3//f79//7+/v/+/v3//f79//z9/f////7/5ubl/yYoKP8AAAD/P0BA/2lpaP9sbWv/iIiH/8jIx//6+vn//////7i4uP8GBwf/FRUU/9HT0//////////+/+Tm5v8mJyf/AgIA/6utrf/X29v/FxgX/wkJCf+9vsD///////b4+P9JSUn/AAAA/3p8e///////bXBw/wAAAP9YWFj/+vz8//z9/P/09fT/Q0VE/wAAAP9paWn//v////7+/f//////9vb1/2BgX/8AAAD/JiYl/8PExP8jJSX/AAEA/52goP/+/////f/9//j59/9GRkb/AAAA/3Jzcv/r7e3/LC0t/wABAP+lp6b///////7+/f/+/v3//v79//7+/v/9/v7//v79//7+/f/9/v3/+/38//b7+Nj2/Prm+f39//z9/f/+/v7//v/9//7+/f/9/f3//Pz8//7//v/l5uX/Jicn/wAAAP8AAAD/AAAA/wAAAP8AAAD/GBgY/4+QkP/7+/v/urq6/wgJCP8NDQz/vL2+////////////5ufm/yYnJ/8CAQD/rK6t/9Xa2v8WFxb/CAgI/7i6u///////+Pr4/0ZHR/8AAAD/enx8//////9vcnL/AAAA/1dXV//7/fz//P79//P19P9DRkX/AAAA/2doZ//9//7//v79//39/f//////tLW0/wcHBv8PDw7/r66u/ywsLP8AAAD/ioyM//3/////////8PHw/zg4Of8AAAD/f4CA/+/x8f8uMDD/AAAA/6Wop////////v79//7+/f/9/v3//f7+//7+/v/+/v7//f78//3+/f/8/fz/9/z65/P8+vf7/fz//P39//3+/f/+/v3//v78//39/P/7/Pz//f7+/+Tl5P8mJyf/AAAA/11eXv+fn5//lJSU/09PT/8DBAP/EBAQ/76+vv/AwMD/CQsK/wABAP84OTj/l5iX/8DAv//k5eX/Jygo/wICAf+tsLD/1NnZ/xUXFv8BAQD/W1xc/9fY2P+ys7P/Gxsb/wAAAP+Jior/6uvr/15gYP8AAAD/TU1N/9HU0//g4+L/9Pb1/0VGRv8AAAD/Zmdm//3//v/9/v3//P38///////DxMP/DAwL/wsLCv/Av7//Y2Nj/wAAAP8vMC//vsLC/+Hi4f+IiIj/CQkJ/wkJCf+wsbH/0dPS/ycoKP8AAAD/jY+O/9ra2v/w8vL//f79//7+/f/+/v3//v79//7+/f/9/v3//v79//z9/f/3/Pv38/v5+fv9/P/7/Pz/+/z8//z9/f/9/f3//P38//v9+//+//7/4+Xl/yYnJ/8AAAD/l5ma////////////6uvq/zc3N/8AAAD/dnZ2/8DAwP8GCAf/CQoJ/xQVFP8AAAD/SkpJ/+Dh4f8lJib/AAAA/62vr//T2Nj/ERMT/wABAf8NDg3/FxgY/w0NDf8AAAD/FhYW/8fIyP99f3//CQkJ/wABAP8ICgj/FBQU/2lqaf/19vb/RUZG/wAAAP9mZ2b//P/+//3+/f/8/fz//////5udnf8DAwP/FBQT/9PU1P/MzMv/Jign/wAAAP8REhH/ISEg/wMDAv8EBQT/bnBv/+Hj4v89Pj7/BAQE/wAAAP8ODg7/HBwb/7u9vP///////v79//7+/f/+/v3//v79//3+/v/+/v3/+/39//f9/Pjz+/n6+vz7//r8/P/8/f3//f39//3+/f/9/fz//P38//7//v/j5uX/JSco/wAAAP+XmJr////////////09PT/Pj8//wAAAP9sa2z/y8vL/0JDQv9YWFj/q6ur/1FSUv9qa2n/5ubm/15eXv9CQkH/w8PD/9zf3/9KSkr/SElI/5aXlv9ISUj/KCko/z9AP/+lqKf/+/z8/5KUlP8dHR3/AQEA/xYWFf89PDz/hoWF//b39/9ERkb/AAAA/2ZoZ//////////////////b3Nv/OTk6/wAAAP8+Pz//7vDw/////v/MzMz/YmNi/y0uLf8iIyP/P0A//5OVlP/x8/L/8fLx/2JkY/8ODg7/AQEA/yssLP9FRUX/x8jH/////v/+/v3///79//7+/f/+/v3//v7+//z9/f/7/f3/9/z8+PP7+fr6+/v/+vv7//z8/P/9/fz//f38//z9/P/9/fz////+/+Tm5f8lKCf/AAAA/3Fycv+9vb3/tra2/3Jycf8KCgr/AgMC/5mbm//7+/v/8fLy//P19f/9////9/j3//Hx8f/6+vn/vb28/6qqqf/x8fH//Pz8//Pz8//z8/P//v79//X19P/o5+b/8fDv///////+/v3/+vr6/25vb/8AAAD/UVFS//Hy8v/4+Pf/9vf2/0VGRv8AAAD/R0dG/6+wr/+traz/iYmI/zQ0M/8AAAD/DxAP/6mrq//+//7//P38//7////7+/v/6erq/+Pk5P/y8/L//v////7//v/+/v7/6erq/y8xMf8AAAD/paal//b39//7+/r//v79//7+/f/+/v3//v7+//7+/v/9/v7//P39//v9/f/3/Pv38/z6+vr8/P/5+/v/+/z8//z9/P/9/fz//f38//39+/////7/4+Tj/yEkI/8AAAD/AgMC/wUHBf8DBQP/AAAA/wECAf9MTU3/5efn//3+/v/9/f3//f7+//3+/f/9/f3//////9ra2v8jIyP/CQoJ/6qsrP///////v/+///+/f/+/v3///79//7+/f/9/fz//f78//7+/f//////gYKC/x0dHf9paGn/+/z8//7//v/39/b/REVF/wAAAP8AAAD/AQEA/wAAAP8AAAD/AAAA/x8gH/+am5r/+fr5//39/P/9/f3//f79//7+/f////7//////////v/8/v3//f79/////v/w8fD/S01N/x8gH/+ztLP///////7+/f///v3///79//7+/v/+/v3//v79//3+/f/7/P3/+vz8//j8+/j0+/r6+vz8//n8/P/6/Pz//Pz8//z9/P/9/fz//f38/////v/q6+v/YWFh/0dGR/9HSEf/R0dH/0ZHRv9WV1b/k5WU/+fo5/////7//v/9//3+/f/+/v3//f78//z9/P/+//7/29va/ykpKf8UFRX/tri4///////+/v3///78///+/f/+/v3//f78//z+/P/9/vz//f79//3+/f/r7Ov/3N7e/+bo6P/9/v3//v/9//n6+f99fXz/SEdI/0lISP9JSUn/SkpK/1dYWP+Gh4b/0tPS//3+/f/+/fz//f39//7+/f/+/v3//v/9//7//f/+/v3//v/9//7//f/+/v3//v79//z8+//l5ub/3d/f//Lz8//+/v3///79//7+/f/+/v3//v79//7+/f/9/v3//P39//z9/f/6/Pz/9/z6+fP7+fn7/Pz/+vz8//v8/P/8/Pz//Pz8//39/f/9/fz//v79//39/f/4+Pj/9/j3//j49//4+Pj/+Pj3//v8+//////////+//7+/f/+/v3//v79//7+/f/+/vz//P39//v9/f/7/Pz/0dLR/8nKyf/6+vr//v7+//7+/f/+/vz//v79//7+/f/+/v3//f78//7+/P/9/vz//P39/////v///////v////7+/f/+//3//v/9//r6+v/4+Pj/+fn5//n5+f/5+fn//Pz8/////////////v79///+/f///v3//v79//3+/v/+/v3//f79//7+/f/+/v3//v79//7//f/+/v3//v79/////////////v/+//7+/f///v3//v79//7+/v/+/v3//v38//39/f/8/f3//P39//v9/f/3/Pv58vv5+fz9/P/7/Pz//Pz8//z8/P/8/f3//f39//3+/P/+/v3//f39//3+/f/+/v3//v/9//7//f/+//3//v79//7+/f///v3///79//7+/f/+//3//f79//3+/f/9/f3//f39//z9/f/////////////+/f/+/v3//v79//3+/f/9/v3//f39//39/f/9/f3///38//7+/f/9/v3//f78//7+/f/+//3///79//7+/f/+//3////9/////v////7////+/////v/+//3//v79//7//f/+/v3//v79//7+/f/+/v3//f39//39/f/7/f3//P39//7+/f/+/v3//v79//3+/f/+/v3//v/9//7+/f/+//3//f79//7//f/+/v3//v7+//7+/f/9/f3//f39//z9/f/8/f3/+/39//f9+/jy+/r5+/z8//v8/P/9/fz//f38//39/f/9/f3//f79//7+/f/9/fz//f37//z9/P/9/vz//f78//79/P///vz//v79//7+/f/+/vz//f79//3+/f/9/vz//v79//3+/f/8/f3/+/z8//z9/P/+/v3///79///+/f///v3///79//7+/f/+/v3//v79///+/f///vz//v78//7+/f/+/vz//v78//7+/f///v3//v79///+/f///v3///79///+/f/+/v3///79///+/f///v3///79//7+/f///v3//v39//39/f/9/v3//P39//v8/f/8/f3//f39//79/f/9/v3//f79//7//f/+/v3//v79//7//f/+/v3//v/9//3//f/8/v3//f39//39/f/+/v3//f39//r8/P/7/Pz/+P38+fL7+ff6/Pz/+/z8//z9/P/9/v3//f79//7+/f/+/v3//f79//3+/f/+/f3//f39//z9/P/9/f3//f39//79/f/9/f3//v79//3+/f/9/f3/+/38//z8/P/9/f3//P39//n8/P/6/Pz//P39///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+///9/f/+/fz//f39//3+/f/9/f3/+/z8//z9/P/9/fz//v79//7+/f/+/v3//v79//7+/f/+/v3//v79//3+/f/9/f3//f39//39/f/9/v3//f39//39/f/9/f3/+/z8//r8/P/4/Pv48/v59vz8/P/7/Pz/+/38//39/f/9/f3//v38//79/P/9/v3//f39//79/f/9/f3//v79//7+/f/+/v3//v79//79/f/9/v3//f79//z+/f/7/Pz//Pz8//z9/f/7/fz/+vz8//n8/P/2+fj/xMXE/6usq/+srKv/rKyq/6qpqP+np6b/qKem/6qqqP+rqqn/qqmo/6mpp/+qqqj/qqup/6urqv+rq6r/q6uq/6qqqf+rq6r/q6up/6urqf+rq6r/rKyq/6ysq/+qqqn/qKin/7i4t//y8vL//v79//79/P/9/fz//f38//39/P/8/Pz//f38//39/P/+/fz//v79//7+/f/9/v3//v79//79/f/9/fz//Pz8//z9/P/9/f3//v79///+/f/+/v3//f79//39/f/8/fz/+/39//f8+/j0+/r4/P39//r8/P/7/Pz//Pz8//39/P/8/Pz//P38//39/f/9/f3//f39//7+/f/+/v3//v79//7+/f/+/v3//f79//39/P/9/f3//f39//z8/P/9/fz//f39//z9/f/8/fz//P7+/8TGxv8ZGxv/AQIB/wACAP8AAgD/AAIA/wABAP8AAQD/AAIA/wACAP8AAgD/AAIA/wACAf8AAgH/AAIB/wACAf8AAgH/AAEA/wABAP8AAQD/AAEA/wABAP8AAgH/AAIB/wABAP8AAQD/CwsK/6Gio////////f38//z9/P/8/fz//P38//z9/f/9/f3//P39//39/f/9/f3//v79//3+/f/9/f3//P38//z9/P/8/fv//Pz7//39/P/+/v3///79//7+/f/+/v3//f79//z8/P/7/fz/9vz7+PX8+/j7/f3/+vz8//z9/P/8/fz//Pz8//z8+//8/fz//v38//79/f/+/v3//v79//3+/f/8/f3//f79//7//f/9/v3//f38//7+/f/9/v3//f39//39/P/+/f3//f39//39/P//////pqem/wACAv8+P0D/dnZ2/3R2df9zdnX/cnV0/3J2dP9zdnX/dHd1/3R2df91d3b/dXd2/3R2df9zdnT/dHZ1/3R2df91dnb/dnd2/3Z3dv90dnX/cnV0/3F1dP9xdXT/dHZ1/0hKSv8AAAD/g4OD///////9/vz//P38//z9/f/8/f3//P39//39/f/9/v3//f39//39/f/9/v3//f79//z9/P/7/Pz/+/38//z9/P/9/Pv//v38//7+/f/+/v3//v79//7+/f/8/f3/+/z8//r8/P/3/Pv39f37+fv9/f/8/f3//v38//39/P/8/fz//f38//78/P/+/fz//v78//79/P/+/vz//v79//z9/f/8/f3//v79//7+/f/+/v3//v/9//7+/f/9/f3//P38//39/f/8/f3//P38//////+mpqX/AAEB/4qLjP////////////////////////////////////////////////////////////////////////////////////////////////////////////7/////////nZ+f/wAAAP+Dg4T///////7+/f/8/fz//P38//39/P/9/v3//v79//3+/f/9/f3//f39//79/f/+/fz//f38//z8/P/7/Pz/+/z8//38+//9/fz//v79//7+/f/+/v3//f79//z9/f/7/Pz/+/z8//f8+/b1/fz5+/39//v9/f/9/f3//f39//z9+//9/fz//v38//79/f/+/fz//v38//7+/P/+/v3//f79//3+/P/+/v3//v79//79/f/9/f3//v79//3+/f/9/v3//f79//3+/f/9/fz//////6enpv8BAAD/iYqL//////////7/+Pj3/+Pk4v/h4eD/4eHg/+Hh4P/h4eD/4eHg/+Hh4P/h4eD/4ODf/9/g3v/g4N7/3+De/+Dg3//f4N7/3t/e/97e3f/x8/P//P38//////+doKD/AAAA/4SEhf///////f79//z9/f/9/fz//v78//7+/f/+//3//f79//z8/P/8/fz//P38//z8/P/7/Pz//P38//z9/P/8/f3//v39//7+/f/+/v3//v79//7+/f/+/v3//P39//r8/P/6/Pz/+P389/X9/Pn9/v7//f39//39/f/9/fz//P37//39+//9/fz//f39//79/P///fz//v38//3+/P/8/f3//v79//7+/f/9/v3//v79//7+/f/+/v3//v/9//7//f////7//v/+//z9/f//////pqem/wAAAP+IiIn///////////+tra7/JCQl/x0eHf8cHhz/HR8d/x0fHf8cHh3/HB4c/xweHP8bHRz/Gxwb/xsdG/8bHRv/Gx0b/xsdG/8bHBv/HBwc/5GUk//+/////////56hof8AAAD/goOE//7////+//7//f79//7+/P///vv//v38//7+/f/9/f3/+/z8//z8/P/7/Pz/+/z8//v8/P/9/fz//f39//39/f/9/f3//f79//7+/f///v3//v79//3+/f/8/f3/+vz8//n9/P/4/fz39f38+P7+/v/9/v3//f39//39/P/8/fz//Pz8//z9/P/8/fz//v38//79/P/9/vz//f38//z9/P/9/fz//f78//39/f/+//3//v/9//7+/f//////+vz7//Pz8f/w8e//7u/u//Ly8v+en5//AQEA/4iIif/////////+/9XV1P98e3r/c3Rz/3R2df90d3b/dHd2/3V4dv91eXf/dXh3/3Z5d/92eHj/dnp4/3Z5d/91eHf/dnl4/3Z5eP95e3r/xsfG//7//v//////n6Gh/wAAAP97e3v/8vPz//Hx8P/x8fD/8fLv//f39f///v3//v78//7+/f/8/f3/+/z7//v8+//6+/v/+vz8//z8+//9/fz//P39//v9/P/8/fz///79///+/f///v3//f79//39/f/7/Pz/+f38//f8+/b0/Pv4/v/9//3+/f/9/f3//f39//z8/P/8/Pz//P39//v9/f/9/f3//f79//3+/f/9/vz//f39//3+/f/9/v3//f39//3+/f/8/f3//f7+/8/Qz/9jY2P/PDw7/zk6OP85OTj/OTo5/yUlJf8AAAD/hoiJ///////+//3//////////////////////////////////////////////////////////////////////////////////////////////////v79//////+goqL/AQEB/x8fHv88PDv/Ozs5/zs7Ov87PDv/TU1M/6anp//5+vn///78//39/f/8/Pz//Pz8//z8+//7/Pv//P38//z9+//7/Pz//P38//3+/f/+/fz///38//7+/P/+/v3//f39//z8/P/6/Pz/9vz78/P8+vn+/v3//v79//39/f/9/f3/+/z8//v8/P/7/f3//P39//39/f/9/v3//f79//z9/f/9/v3//v79//7+/f/9/f3//f79//3+/v/U1tb/Li8v/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP+Fh4j//v////7//v/Iycj/YmJh/11dXP9eXlz/Xl5c/15eXf9eXl3/XV1c/15eXf9dXl3/XF1c/11dXP9dXVz/Xl9d/11eXf9cXFv/XV1d/7u7uv////7//////5+iof8BAQH/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/EBAR/6iqqv/+/v7//f38//z9/P/8/Pz//Pz8//z9/P/9/fz//P39//v8/P/9/vz//v79//39/P/9/fz//f38//39/P/9/f3//Pz7//r8+//2+/r08/36+f39/f/8/f3/+/39//z8/P/8/fz//Pz8//39/f/9/v3//v79//7+/f/+/vz//v79//7+/f/+/v3//f79//3+/f/+//3//////4WHh/8AAAD/AAAA/wAAAP8AAAD/AAEA/wABAP8AAQD/AAAA/4SGhv/+/////////66urv8yMjL/Ly8v/y4vL/8tLy7/LS8u/y0uLv8tLy7/LS8u/y4wLv8uLy7/LjAv/y8xMP8vMS//Li8v/y0vLf8tLS3/oKKh////////////n6Ki/wABAP8AAAD/AAAA/wAAAP8BAQH/AAAA/wAAAP8AAAD/R0hH//L09P/8/fz/+/z8//39/f/9/fz//f38//39/P/7/Pz//P39//3+/f/9/v3//f39//3+/f/+/v3//f38//39/P/7/Pv/+fz7//b7+fTz/Pr5/P38//z9/f/9/f3//f39//z9/f/9/fz//v79//7+/f/+/vz//v78//39/f/+/v3//v79//3+/f/9/v7//v79//7//f//////a2xs/wAAAP8AAAD/AAAA/wABAf8AAQH/AAEB/wIEA/8TExP/kJGR//7////9/v3/+vv6/+/v7v/t7u3/7e7t/+zt7P/s7ez/7O7t/+zu7v/s7u7/7e7u/+3u7f/t7u3/7e7u/+3v7v/t7+7/7e7t/+3u7f/6+/r//v/9//////+oqqr/FhYW/wYGBv8AAAD/AQEB/wABAP8AAAD/AAAA/wAAAP8vLy//6Ovq//3+/f/8/f3//f79//39/f/8/fz//Pz8//r8/P/8/Pz//f39//39/P/9/fz//v38//7+/P/9/fz//f38//v8+//4/Pv/9vv58vP7+vn8/Pv//f38//39/f/9/vz/+/39//z9/f/+/v3//v79//39/P/8/fv//P38//39/f/+/v3//f7+//7+/v/+/v3//v79//////9sbGz/AAAA/wEBAf8AAQD/AAEB/wABAf8AAAD/FhcW/7e5uP/u7u7//////////////////////////////////////////////////////////////////////////v////////////////////////////////////////////Hx8P/Ozs3/NDQz/wAAAP8AAQH/AAEA/wABAP8AAAD/AAAA/y8wL//n6+r//f79//39/f/8/f3/+/39//z8/P/9/fz//f39//79/f/+/v3//f38//38/P/8/Pz//f38//39/P/8/Pv/+/z7//n8+//2+/ny8/z6+fv8/P/7/Pz//P39//z9/f/8/f3//v38//7+/f/9/v3//P39//39/P/9/fz//f38//7+/P/9/v3//f79//7+/f/+/v3//////2xsbP8AAAD/AQEB/wABAP8AAQD/AAEB/wABAP8ODw7/YmNi/3BxcP9vcG//bm9u/25vbv9ubm3/bGxs/2xsbP9sbGz/bGxr/21tbP9sbWz/a2xr/2tsa/9ra2r/ampp/2pqaf9ra2r/a2xr/2tsa/9sbGv/bW5t/25ubf9tbm3/b29v/21tbf8cHBz/AAEA/wABAf8AAQH/AAEB/wABAf8AAAD/MDEw/+fr6//8/v3//f39//39/f/8/f3//f39//39/f/9/v3//f39//39/P/9/fz//P38//v8+//8/fz/+/38//r8/P/7/Pz/+vz7//b7+fTz/Pr5+/38//v8/P/8/f3//f79//79/f/9/vz//v79//z9/f/8/f3//P38//z8/P/9/fv//f78//7+/f/+//3//v/9//7//f//////a2xs/wAAAP8BAQH/AAEB/wABAf8AAQD/AAEB/wABAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAQH/AAEB/wABAf8AAQH/AAEB/wAAAP8xMTD/6Ozr//7+/v/9/f3//v39//3+/f/9/vz//f78//3+/P/8/f3//P39//39/f/7/fz//P38//z9/P/8/fz/+/38//v8/P/6/Pz/9fz69fX9/Pr8/f3//P39//39/f/+/v3//v79//39/f/9/f3//f78//39/f/9/f3//f38//39/P/8/f3//P79//3+/v/+//3//v/9//////9sbm7/AAAA/wEBAf8BAQH/AAAA/wABAP8AAQH/AAAA/wABAP8AAQD/AAEA/wABAf8AAQH/AAEA/wAAAP8AAQD/AAAA/wAAAP8AAAD/AAAA/wABAP8AAQD/AAEB/wABAf8AAQH/AAEB/wABAf8AAQH/AAEB/wABAf8AAQH/AAEA/wAAAP8AAQH/AAEA/wABAP8AAgD/AAIA/wACAf8AAQH/AAAA/zEyMf/p7Ov//v/+//7+/f/+/f3//v79//3+/P/+/vz//v38//79/P/9/v3//v79//7+/f/+/fz//v38//7+/f/9/v3//P39//r8/P/2/Pv29P38+vv9/P/9/f3//v79//7+/f/9/v3//f39//39/f/9/v3//P39//z9/P/8/fz/+/z8//r8/P/6/f3//P7+//7//v/+//3////+/2tsbP8AAAD/AAAA/wABAP8AAAD/AAAA/wABAP8AAQD/AAEA/wABAP8AAQD/AAEA/wABAf8AAQH/AAEA/wABAP8AAQD/AAEA/wABAP8BAQH/AAEB/wACAf8AAgH/AAEB/wABAf8AAQH/AAEB/wACAf8AAgH/AAEB/wABAf8AAQH/AAEA/wABAP8AAQD/AAAA/wAAAP8AAAD/AAEB/wABAf8AAAD/MDEw/+jr6/////7//v79//3+/f/9/v3//P38//z9+//9/fz//P38//z9/P/9/v3//v39//79/P/+/vz//v79//3+/f/+/v3/+/39//b8+/Tz/fv6+f38//v9/f/9/v3//v79//7+/f/+/v3//f39//39/f/8/f3//P38//39/f/9/f3//P39//3+/f/+/v7//f7+//3+/f////7/amtr/wAAAP8AAQD/AAEA/wABAP8AAQD/AAEA/wABAP8AAQD/AAEA/wABAP8AAQD/AAEA/wABAP8AAQH/AAEB/wACAP8AAQD/AAEB/wACAf8AAgH/AAIB/wACAf8AAgH/AAEB/wABAf8AAgH/AAIB/wACAf8AAgL/AAIB/wACAf8AAQD/AAAA/wAAAP8SExL/R0dH/yMjI/8AAQH/AAEA/wAAAP8uLy//5urq//7//v/+/v3//v39//z9/f/8/fz/+/38//z9/P/7/f3//P39//7+/f/+/v3//f79//7+/f/+/v3//v79//7//f/8/f3/9/z68/P9+/r6/fz/+/38//z9/f/8/v3//P79//z9/f/7/P3/+vz9//v9/f/7/f3/+/39//39/f/9/f3//P39//3+/f/9/v3//f79//////9rbGz/AAAA/wABAP8AAQH/AAEA/wABAP8AAQH/AAEB/wABAP8AAQD/AAEA/wABAf8AAQH/AAIB/wABAf8AAgH/AAIB/wACAv8AAgH/AAIC/wACAv8AAgH/AAIB/wABAf8AAQD/AAEB/wACAf8AAgH/AAEB/wACAf8AAgL/AAIB/wABAP8AAAD/CgsK/52fn//39/f/ysrK/yMjI/8AAAD/AAAA/y4vL//m6+v//v/+//3+/f/8/f3/+/z8//r8/P/6/Pz/+/z8//z9/P/9/f3//f79//3+/f/8/f3//P39//3+/f/+/v3//v79//z9/f/4/Pvy9Pz7+fv9/f/8/f3//f38//39/P/8/f3//Pz8//v8/P/8/Pz//f38//z9/P/7/f3//f39//39/f/9/f3//f79//7+/f/+/v3//////2pra/8AAAD/AAEA/wABAf8AAQH/AAEB/wABAf8AAgH/AAIB/wABAP8AAQD/AAEB/wABAf8AAQH/AAEA/wACAf8AAgL/AAEB/wACAf8AAgL/AAIB/wACAf8AAgH/AAEB/wABAf8AAgH/AAIB/wACAf8AAgD/AAEB/wABAf8AAQH/AAEA/wAAAP8YGBf/1dfX///////3+Pf/P0BA/wAAAP8AAAD/Li8u/+br6//+//7//f79//z8/P/8/Pz/+vz8//n7/P/7/Pv//fz7//79/P/+/v3//v79//3+/f/9/v3//f79//7//f/9/v3//P39//j8+/D1/Pv4/P39//z9/f/7/f3/+vz8//z9/f/9/f3//Pz8//z9/P/+/vz//f39//39/P/9/f3//f39//3+/f/+/v3//v79//7+/f/+////Z2pq/wAAAP8AAQD/AAEB/wABAP8AAgH/AAIB/wACAf8AAgH/AAIB/wABAf8AAQH/AAEB/wABAf8AAQH/AAEB/wACAf8AAQH/AAEB/wABAf8AAQH/AAEB/wABAf8AAgH/AAIB/wACAf8AAgH/AAIB/wABAP8AAQH/AAIB/wABAP8AAQD/AAAA/wMEA/9kZWT/x8jH/5GRkP8PDw//AAAA/wAAAP8uLy7/5uvr//z+/v/9/f3//f39//z9/P/7/Pv/+/z7//v8/P/8/Pz//v79//7+/f/+/v3//P39//3+/f/+//3//f79//39/f/8/f3/+Pz78PX8+/f9/v3//P39//r8/f/6/Pz/+/z8//z9/P/9/fz//f38//7//f/9/v3//f78//39/P/+/fz//f79//3+/v/+/v3//v79//////9wcnH/AAAA/wABAf8AAQD/AAEA/wABAP8AAQH/AAEB/wABAf8AAQH/AAEB/wABAf8AAQH/AAEB/wABAP8AAQH/AAEB/wACAf8AAQH/AAEB/wABAf8AAQH/AAEB/wABAP8AAQH/AAEB/wABAP8AAQD/AAEA/wABAf8AAgD/AAEA/wEBAf8AAAD/AAAA/wEBAf8PDw//BQUF/wAAAP8AAAD/AAAA/zk6Of/s8PH//P7+//3+/f/7/f3//P39//z9/P/8/Pz//Pz8//v8/P/9/v3//f79//3+/f/8/v7//P7+//3+/f/7/Pz/+vz8//r9/P/3/Prx8/z6+P3+/f/9/v3//P39//v8/P/8/fz//f38//38/P/+/fz//v/9//7+/f/9/fz//v38//7+/f///v3//v79//7+/v/+/v3//////7CxsP8LDgz/AAEA/wABAP8AAAD/AAEA/wAAAP8AAQD/AAEA/wABAP8AAQD/AAEA/wABAP8AAQD/AAIA/wACAP8AAgH/AAEA/wACAP8AAQD/AAEA/wACAP8AAQD/AAEA/wABAP8AAQH/AAEA/wABAP8AAQD/AAEA/wABAP8AAQD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/fX9///n9/f/8/fz//v79//z+/f/8/f3//f39//z9+//8/Pv//Pz8//z9/f/8/fz//f78//7+/f/+/v3//f39//v9/f/5/Pz/+fz8//b8+fP0+/r5/v7+//3+/f/8/f3//f39//z9/f/9/fz//f37//79/P/+/fz//v78//79/P/9/f3//v79///+/f/+/v3//f79//39/f/+/v7/+Pj4/4uMi/8gIiD/CgsK/wkKCf8JCgn/CAoJ/wgKCf8JCQn/CAoJ/wkKCv8ICwn/CAsK/wkMCv8JDAr/CAsK/wgLCv8JCwv/CQsK/wkLCv8JDAr/CQsK/wkLCv8JCgr/CQoJ/wkLCv8JDAr/CQsJ/wkKCf8JCgn/CQoJ/wkJCf8JCAj/CQgI/wgICP8IBwf/CAgI/wgICP8ICAj/FBUV/2JjY//m6Oj//P7+//z9/f/+/v3//v79//3+/f/9/f3//Pz7//z8+//8/fz//P39//z8/P/9/fz//f38//39/P/9/v3//P39//r8/P/5/Pz/9/z68/X7+vn+/v7//v79//39/f/9/f3//f39//79/P/+/fv//f38//3+/f/+/fz///38//7+/f/+/v3//f79//3+/f/8/f3//f39//3+/f/+/v7//f38/9rb2/+9vr7/u7y8/7y+vf+8vb3/vL28/7y9vf+9vr7/vb69/7u8vP+7vLz/u7y8/7u8u/+7u7r/u7u6/7q8u/+7vLz/u728/7u9vP+7vbz/vL28/7u8vP+7u7v/vLy8/7u9vP+7vLv/u7y7/7y8vP+8vr3/vL29/7y7u/+8u7v/urq6/7m5uf+5urr/urq6/7m5uP/Nzs3/9vb2//7//v/+//3//v/9//7+/f/+/v3//v79///9/P/+/Pz//fz7//78+//9/f3//f79//3+/f/8/f3//P39//3+/f/8/f3/+vz8//v8+//3/Pr19Pv6+f3+/f/9/v3//f39//39/P/8/Pv//fz7//39/P/9/v3//v79//79/P/+/fz//v38//7+/P/9/f3//P39//v9/f/9/v3//v79//7+/f/+//3/////////////////3d/e/21ubf9naGf/aWtq/2hpaP9paWn/0NHR/////////////////////////////////////////////////////////////////////////////////////////////////+3t7f94eXn/ZmZm/2doaP9naGf/ZGVk/8DBwf/////////////////9/v3//v79//7//f/+/v3//v/9//7+/f/+/v3//v38//39/P/+/Pv//fz7//39/f/+//3//v79//3+/f/8/f3//f39//v9/f/6+/v/+/z7//f7+vT0+/n6/f38//3+/f/9/f3/+/z8//v8+//8/Pv//P38//39/f/+/v3//f38//z9+//9/fz//f39//39/f/9/fz/+/38//z9/P/+/v3//v79//7+/f/+/v3//v79///////FyMf/CgsL/wAAAP8AAAD/AAAA/wICAf+wsbH////////9/P///v3//v79//7+/f/+/v3//v79//7+/f/+/v3///79//7+/f/+/v3///79///+/P/+/v3//v79//7+/f//////29vb/xcZGf8AAAD/AAAA/wAAAP8AAAD/lZaW///////+/vz//f39//3+/f/9/v3//f79//7+/f/+/v3//f79//7+/f/9/f3//f79//79/P/9/fz//f39//7+/f///v3//f79//39/f/9/f3/+vz8//n7+//5/Pv/9/v68/P6+fn7/fz//f79//39/f/7/Pz//Pz7//z8/P/8/fz//P38//3+/f/9/f3//P38//v9/P/+/fz//f38//z8/P/6/Pz/+/z8//3+/f/+/v7//f79//3+/f/+/v3//////8/Qz/8SExP/AAAA/wAAAP8AAAD/BgYG/7Cysv///////v39//7+/f/9/v3//f79//z9/f/9/v3////9///////////////+//7//f/+/v3//f38//z9/f/9/f3//f78///////a29r/Ghwc/wAAAP8AAAD/AAAA/wICAf+jpaX///////7+/P/9/f3//f39//v9/f/9/v3//v79//3+/f/9/v7//f79//3+/f/9/v3//v78//3+/P/9/f3//v79///+/f/+/f3//P39//39/f/7/Pz/+vv7//n7+//2+/r18/v5+fv8/P/8/f3//f39//39/P/7/Pz//Pz8//z8+//8/fz//P39//39/f/9/fz//P38//39/f/9/Pz//Pz8//v8/P/8/fv//f39//3+/f/8/f3//f79//7+/f////7/8fHw/09PTv8AAAD/AAAA/wAAAP8GBgX/sLGy///////+/v3//f79//z9/f/6/Pz/+vz8//3+/f/4+ff/yMnH/7e4tv/k5eP//v/9//39/f/8/fz/+/z8//z9/f/9/fz//////9ja2f8aGxv/AAAA/wAAAP8AAAD/KCko/9fY2P////7//v79//7+/f/9/f3//f79//3+/f/9/v3//P79//7+/f/+//3//f79//3+/f/+/vz//f78//39/f/9/f3//v38//39/P/9/f3//f39//v9/P/7+/v/+vv7//b7+vT0+/n5/P38//39/f/+/fz//f38//v8/P/8/f3//P38//v8/P/7/fz//f38//3+/P/9/vz/+/z8//v8+//8/Pv/+/z8//z9+//9/fz//f39//39/P/9/vz//f78//7//f////7/3d3c/4GCgv9xcnH/QkND/wYGBf+ytLT///////39/f/9/f3/+/z9//r8/P/6/fz/8vb1/3p8fP8TFBP/CAkI/zY2Nv/Kysr//v7+//39/P/9/f3//f79//3+/f//////19ra/xcZGf8nJyf/b3Fw/3l6ev/Fx8b//f79//7+/f/+/v3//v79//3+/f/9/v3//f/9//3+/f/+/v3//v/9//3+/f/+/fz//f38//39/P/9/fz//Pz8//z8/P/8/fv//P38//39/P/+/fz//Pz8//r7+//5+/v/9vv69PP8+vn8/f3//f39//79/f/9/f3//P39//z9/f/8/fz/+/z7//r8/P/7/fz//f78//39/f/9/fz//Pz7//38/P/8/f3/+/z8//z9/P/9/f3//f38//3+/f/+/v3//f79//39/f////////////////+PkZH/BgUF/7S2tv///////f39//z9/f/7/f3/+vz8//3////EyMj/DxER/wAAAP8AAQH/AAAA/2VmZv/5+/v//P38//7+/f/9/v3//v79///////Z2tr/FRcW/1dYV//8//7////////////+/v3//v79//3+/f/9/v3//P39//39/f/+/v3//v79//7+/f/+/v3//f78//79/P/9/fz//f38//39/P/8/fz//P38//z9/P/7/fz//f38//79/f/8/f3/+vz8//r7+//3+/n29Pz7+fv9/f/7/Pz//P38//39/P/9/f3//f39//v8/P/8/Pv/+/z8//r9/P/8/fz//f39//39/P/8/Pv//fz7//38/P/8/Pz//f38//39/f/9/vz//v79//7+/v/9/f3//f38//3+/f/+/v3//////4qMjP8FBQT/srW2///////9/f3//P39//39/f/8/fz//////7y+vf8ICgr/AAEA/wEBAf8AAAD/UlNS//b5+P/8/fz//v79//7//f/+//3//////9rb2/8WFxf/VFVU//n8+//+/v3//v/9//7+/f/9/v3//f78//39/f/7/f3//P39//7+/f/+/v3//v79//7+/f/9/fz//f38//7+/P/+/fz//f79//3+/P/9/fz//f38//39/P/9/f3//f39//z9/f/6/Pz/+vz8//j7+vb0/Pr5+/z8//r8/P/7/f3//P38//39/f/8/Pz/+/z8//z8/P/7/fz//P38//38/P/+/fz//v38//39+//+/fv//v38//39/P/9/fz//P39//z9/P/9/fz//f39//39/f/9/v3//v79//7//f//////iYqK/wUEBP+ztrb///////7+/v/9/f3//f39//39/f/+//7/6uvq/0ZGRv8AAAD/AAAA/w8REP+ho6L//f7+//7+/P/+//3////9//7//f//////2tvb/xYXF/9VVVX/+vz7//79/P/+/v3//f38//z9/f/9/fz//f79//z9/f/9/f3//v79//7+/f/+/v3//f39//39/P/9/fz//f38//3+/P/+/v3//f79//z9/P/9/fz//f38//39/P/8/fz/+/z8//v8/P/6/Pz/9/v69vX7+vn6/Pz/+vz8//v8/P/9/fz//f39//39/f/8/Pz//Pz8//z8/P/8/Pz//fz7//79+//+/fz//v38//79/P/+/fz//v38//39/P/8/f3//f38//39/f/8/fz//f39//7+/v/+/v3//v79//////+Ki4v/BQQE/7K0tP/8/Pz/+fr4//j5+P/4+fj/+Pn5//v9/P////7/3d3d/4WGhf9zc3L/sbSy//j5+P/+/fz//Pv5//r6+P/6+vn/+fr5//v7+//Y2Nj/FxgX/1VUVP/6+/r//f38//39/f/8/f3//P39//3+/P/+/v3//P39//39/f///v3//v79//7+/f/9/v3//v79//7+/f/9/fz//f38//7+/f/9/fz//f38//39/f/9/fz//f39//z9/P/7/Pz/+vv7//r8+//2/Pr19fv6+fn8/P/5/Pz/+/38//z9/P/+/v3//f79//z8/P/7/Pz/+/z8//z8/P/8/Pv//fz7//79/P/+/fz//v38//38+//9/Pv//f38//z9/P/8/fz//f39//39/f/+/v3//v79//7+/f/+/v3//////4eIiP8AAAD/OTo5/1FSUf9RUlD/UFBP/05OTf9iYmH/5Obm//7//v///////////////////////v38///+/v+jo6P/TU1M/09PTv9OTk3/TU5N/0NEQ/8FBgX/VFVU//n7+v/9/fz//v79//39/f/8/f3//f79//3+/f/9/f3//v39//7+/f/9/v3//f7+//3+/f/+/v3//v79//7+/f/+/v3///78///9/P///vz//v79//39/f/8/f3//f39//39/f/7/Pv/+fz7//b9+/b1/Pr5+fz8//r8/P/9/f3//f38//39/f/7/f3/+/z8//n8/P/7/Pz//Pz8//z9/P/8/Pz/+/z8//38+//9/Pv//P37//z9/P/9/fz//P38//v8/P/8/f3//f79//7+/f/9/v7//v79//7+/f//////sbGx/ywtLP8iJCP/ISMi/yAiIf8hISH/ISAg/zo4Of/f4OH//f////3+/f/d3Nv/srCv/8vKyf/4+Pf//////5CRkv8iISL/IiMj/yIiIv8iIiL/IyMj/ygnJ/+MjIz//f79//3+/f/+/v3//f39//39/f/9/f3//Pz8//z8/P/9/f3//v79//3+/f/9/v3//f79//7+/f/+/v3//v79//7+/f/+/v3///38//3+/P/9/f3//v79//3+/f/9/v3//f39//z9/P/7/fz/9/z7+PT8+vn5/fz/+vz8//39/f/8/fz//P38//39/P/8/f3/+/z8//z9/P/9/fz//Pz8//v8/P/6/Pv/+vz7//v8/P/9/fz//P39//39/f/9/f3//P38//z9/f/8/f3//v79//7+/f/+/v3//v79//7+/f/7+/v/6Ono/+Tl5f/l5eX/5OTk/+Tk4//k4+P/5uXm//j5+f/9/v7/t7i4/yorKv8FBgX/FhcW/4eIiP/4+vn/8vLx/+Xl5f/m5eT/5eXk/+bl5f/m5eT/5ubl//f4+P/+//7//f7+//7+/f/9/f3//v79//3+/f/9/Pz//f38//39/f/9/v3//v78//3+/f/9/f3//f39//39/f/9/v3//f79//79/f/+/vz//f38//39/P/+/v3//v/9//7+/f/9/f3//f39//z9/f/2/Pv39Pz69fj9/P/6/Pz/+/z8//z8+//9/Pz//f38//39/P/9/f3//f79//39/P/8/fz//P37//z9+//8/fv//P38//z9/P/9/fz//v38//39/f/8/f3//f39//z9/f/9/v3//f79//z9/f/9/f3//f79//7+/f////7////////////////////+//7+/v/9/v3//P39/+3v7/8+Pz//AAAA/wAAAP8AAAD/FhYW/83Pz////////////////////////////////////////v/+//7//f/9/v7//f7+//7+/f///v3//v78//39/P/9/Pz//v79//7+/f/9/v3//f39//7+/f/9/f3//f39//3+/f/9/v3//v79//3+/f/9/fz//f79//7+/f///v3///79//7+/f/9/v3//P39//b8+vf0+/rr+P37//r8/P/8/Pv//Pz7//z9/P/8/fz//f38//39/P/+/v3//f38//z9+//7/Pv//Pz7//39/P/9/fz//P38//39/P/9/fz//f38//38+//9/fv//f38//z9/f/8/f3/+/z9//39/f/9/f3//v79///+/f///v3//v79//3+/f/6/Pz/+vz8//v8/P/9/v3/5OXl/yUnJ/8AAAD/AQEA/wAAAP8HBwb/t7e3///////+/v3//f79//7//f/+/v3//v79//7+/f/+/v3//v79//39/f/8/f3//f38//7+/f/+/vz//P38//v8/P/9/f3//v79//39/f/+/vz//f38//z9/P/+/v3//v79//3//f/+/v3//f78//39/P/9/f3//v79//7+/f/+/v3//v79//3+/f/7/f3/9fv68fT8+t/4/fz/+vz8//z8/P/9/P3//f7+//39/f/+/fz//v37//79+//+/Pv//Pz7//v8+//8/Pv//fz7//39/P/9/f3//f39//3+/f/9/fz//vz7//z8+//9/fz/+/38//z9/f/9/v3//f79//7+/f/+/v3//v79//7+/f/9/v3//P39//v9/P/7/f3//P38//z9/f/4+fj/ZGRj/wAAAP8AAAD/AAAA/y8wMP/g4eH//v7+//7+/f/+//7//v/9//7+/f/8/f3//f79//7+/f/+/v3//P38//z8/P/8/fz//f38//3+/P/9/v3//f39//79/f/+/v3//v79//7+/f/9/fz//f39//7+/f/+//3//v/9//7+/f/9/fz//fz7//z9/P/9/v3//v/9//7+/f/9/v3//f39//v9/f/2/Prf8vz6xfj9/P/6/fz/+/z8//z9/f/9/v3//f38//78+//+/Pv//vz6//38+v/9/Pv//fz7//39/P/9/fv//f38//3+/f/9/v3//v79//79/P/+/Pv//P38//3+/f/9/v3//f79//7//f/+/v3//v79//7+/f/+/v3//f79//3+/v/9/v7//f79//3+/f/9/f3//f78//7//v/h4eD/bm5t/zU1NP9RUlL/w8TE//3+/v////7/8vPy/+np5//5+fj//v/+//3+/f/+/v3//v79//39/f/8/f3//f39//39/P/9/fz//P38//3+/f/9/v3//v39//7+/f/+/v3//v79//7+/f/9/fz//f39//7+/f/+/fz//f38//38+//+/Pv//Pz8//39/P/9/v3//f38//39/P/7/Pz/+f38//T7+Mvv+/mZ9/37//n9/P/6/Pz/+/z8//39/f/9/fz//fz7//38+//9+/r//fz7//39/P/9/fz//f78//7+/P/+/v3//v79//7+/f/+/v3//v39//38/P/9/f3//f39//7+/f/9/v3//v/9//7+/P/+/fz//v38//79/f/+/v3//v7+//3+/f/+/v7//f39//3+/f/9/vz//f78/////v/9/Pv/7u7u//b39////////P38/7u7u/9ISEj/LCws/2RlZf/d3t7//v/+//7+/f/+/v3//P39//z9/P/+/v3//f78//z9/f/7/f3//f39//39/f/9/f3//v79//7+/f/+//3//v79//39/P/9/f3//f38//z8+//9/Pz//fz7//38+//8/Pz//P38//z+/P/9/vz//f38//r8/P/4/Pz/7fj3pen59ln2/Pr2+P38//n8/f/7/P3//f39//z9/P/9/Pv//vz7//37+v/9/fz//f38//39/f/9/f3//f38//39/P///f3///38//79/f/9/f3//f38//z9/P/9/f3//f39//39/f/9/v3//f79//3+/P/9/fz//f39//7+/f/9/v7//f7+//7+/f/9/v7//v78//39/P/9/vz//f79//7+/f/+/v7//P79//7+/v/d3t3/Kior/wAAAP8AAAD/AAAA/2FhYf/29/b//f78//z9/f/7/f3//f38//79/f/+/fz//f38//79/P/+/v3//f39//39/f/+/v3//v79//7+/f/+/v3//P38//39/f/8/fz/+/z8//v8+//8/fv/+/z8//z9/P/9/fz//v39//7+/P/9/v3/+vz8//b7+/nn9/Zk2vXyHfT8+tD4/Pz/+vz8//r8/f/7/Pz//P38//39/P/8/Pz//Pz7//39/P/9/f3//f79//39/f/9/fz//f38//79/P/9/fz//f38//39/f/8/fz/+/z8//z8/P/9/fz//f79//3+/f/9/vz//v38//79/P///vz//v79//39/f/9/v3//v79//7+/f/+/vz//v78//7+/f/+/v7//v79//7+/f/+/v3//////7m6uv8HCAj/AAAA/wAAAP8AAAD/ISIh/97g4P/8/v3/+/z8//v8/P/9/fz//f39//39/P/9/fv//f38//39/f/9/f3//v79//7+/f/+/v3//v/9//7+/f/9/fz//Pz8//z8/P/8/fz//Pz8//v8/P/8/f3//P39//z9/f/9/fz//f38//3+/f/7/fz/9fv52OD08yON4eEB8fv4g/n9/P77/f3/+/39//z9/f/9/f3//P39//r8/P/6/Pz//P38//3+/f/9/v3//f79//3+/f/9/fz//f38//39/P/9/fz//f38//z8/P/7/Pv/+/z8//39/f/9/fz//P39//39/P/9/Pz//f38///9/P/9/f3//f39//3+/f/+/v3//v39//7+/f/9/f3//v79//3+/v/+/v3//v79//7//f//////1tfW/xscHP8AAAD/AAAA/wAAAP81NTX/6evq//v9/P/7/Pz//P39//z9/f/8/fz//P37//z9+//9/fz//P38//z8/P/9/v3//v79//7+/f/+/v3//v79//7+/f/8/fz//Pz8//z9+//8/Pz//P39//39/f/7/f3//P39//39/f/8/f3//P39//n8+//y+vePtOjmA63q6ADo+fUr9vz74Pr9/f/7/f3/+/79//z9/f/8/f3/+/38//r8/P/8/fz//f39//z9/f/8/f3//P38//z8/P/9/f3//f39//39/P/8/f3/+/z8//r8+//7/Pz//f38//79/f/9/f3//f38//z9/P/9/fz//f79//7+/f/9/v3//f78//3+/f/9/v3//f79//7+/f/9/v3//f39//7+/f/9/v3//v79//7+/f/7/Pv/lJST/xwdHP8ICgn/Jicm/6yurv/8/v3/+vz7//z9/P/8/f3//P39//z8/P/7/Pz/+/z8//z9/P/8/fz//f38//3+/f/+/v3//v78//7+/f/+/v3//v79//z9/f/8/Pz//Pz8//z8/P/9/v3//f39//z8/P/7/f3//P39//z9/f/7/fz/9vv55ur39TLD7esAAAAAALHu5ALy+/d4+P37/Pr9/f/7/v3/+/39//v8/P/7/Pz//P39//39/P/9/f3//f39//39/f/8/f3//f39//39/f/8/f3//P38//v8/P/7/Pz/+vz8//z8/P/+/fz//v79//v9/f/7/fz//P38//v9/P/8/fz//f38//39/P/7/fz/+v38//v9/f/8/f3//v38//3+/f/8/f3//f79//3+/f/9/v3//v/9//7//v/8/Pv/1NXU/7q7u//b3d3//P79//z9/P/8/fz//f39//z9/f/8/f3//P39//v8/P/8/Pz//f78//3+/f/9/f3//f79//3+/P/9/fz//v38//39/P/8/fv//Pz8//z8+//7/Pz/+/39//3+/f/9/f3//P39//v8/P/6/Pz/+/38//n8+v3z+vaFxe3pAwAAAAAAAAAAyfPsAOb38RP2/Pmw+f38//r9/f/6/f3/+vz8//v8/P/8/f3//f38//79/P/9/f3//P79//3+/v/+/v7//P39//z9/f/9/f3//P39//r8/P/6/Pz//Pz8//3+/f/+/v3/+/39//r8/P/7/Pz/+/39//v9/f/8/f3/+v39//n8/P/5/Pz/+vz8//r8/P/8/fz//f39//v9/P/9/v3//f79//7+/f/+//3//f79//z9/f/////////////////8/f3//f39//3+/f/9/f3//P39//z9/f/7/P3/+vz8//v8+//9/v3//f79//39/f/9/f3//f39//z8/P/8/fv//Pz8//38+//9/Pv//Pz8//z9/P/9/fz//f38//z8/P/8/f3//f79//r9/f/5/Pv/9vr3wun18RnU8e0AAAAAAAAAAAAAAAAA9/z2APD69i34/PrW+fz8//n8/P/6/Pz/+/38//v8/P/8/fz//f38//v9/f/7/f3//P39//3+/f/9/v3//v79//39/f/7/Pz/+vz8//n8/P/6/Pz/+/z8//3+/f/9/f3/+/z8//v8/P/9/f3//f39//39/f/8/f3/+/39//r8/P/7/Pz/+/z8//z9/f/9/f3//P39//3+/f/9/v7//f7+//3+/f/8/f3/+/z8//z9/f/+/v3//v79//7+/f/+/v3//P39//z9/f/9/f3//v79//z9/f/8/fz//P39//3+/f/9/v3//f39//39/f/9/f3/+/z8//z8+//7/Pz//Pz8//z9/P/8/fz//P38//z8/P/7/Pz/+/z8//z9/f/9/vz/+f38//X7+N7t9/Q8/f3zAAAAAAAAAAAAAAAAAAAAAABf1dIA////APT79kL4+/jb+Pv7//n8+//5/Pv/+vz8//v9/P/8/f3/+vz8//n8/P/6/f3//P39//39/f/9/f3/+/39//v8/f/6/Pz/+Pz8//n8/P/7/fz//f39//7+/f/8/fz//P38//39/f/8/f3//f39//3+/f/8/f3/+/z8//z9/P/8/fz//P38//z9/f/7/f3//f39//z9/f/9/v3//f79//z9/f/8/f3//f39//79/f/9/v3//v79//7+/f/9/v3//f79//3+/f/9/fz//Pz8//z9/P/9/f3//f39//39/f/8/f3//f39//3+/f/8/Pz//Pz7//v8/P/8/f3//P38//z9/P/7/Pz/+vz8//r8/P/6/Pz/+/z8//r8+//2+/jn7fbzUAAAAADD5+0AAAAAAAAAAAAAAAAAAAAAAAAAAADU9uwA////APT59EL1+vjV+Pv7//n8+//6/Pz/+vz8//r8/f/7/P3/+/39//v9/f/8/f3//f39//z9/f/7/f3//P39//z9/f/7/Pz//P39//39/f/8/f3//f38//39/P/9/vz//f38//z9/P/9/fz//f38//z9/P/8/Pz//Pz8//39/f/9/f3//f39//z9/f/7/f3/+vz8//z9/f/9/f3//v39//79/f/9/f3//f38//3+/f/+/v3//f79//3+/f/9/v3//f79//39/f/8/Pz//Pz8//39/f/9/f3//Pz8//r8/P/8/fz//f39//z8/P/7/Pz/+vz8//r8/P/7/Pz//f39//39/f/8/P3/+/z8//r8+//3+/r/9fr33+z28VOW29kB1O3rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADk9/AA////APH48i74+/iy+Pz6/fn9/P/6/f3/+/39//v9/f/9/v3//f79//z+/f/8/f3/+/38//v8/P/8/f3//P38//z9/f/9/v3//f39//v9/f/7/f3//P39//z9/f/9/f3/+/z8//v8/P/7/Pz/+/z8//z9/f/8/f3//f39//39/f/9/f3//P39//z9/f/6/Pz/+/z8//v9/f/8/f3//f39//z9/f/7/fz//f38//39/f/9/f3//f39//z9/f/9/v3//f79//39/f/7/Pz/+/z8//39/f/8/fz/+vz8//v8/f/8/f3/+/z9//v8/P/6/Pz/+vz8//v8/f/9/v3//P39//v9/f/5/Pz/9/r5/vL49cbr9fI/////ANDu6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADR7ukA9Pn0AO/48RT0+/Z49vv53fj8+//6/fz/+/39//3+/f/+/v3//f79//z9/f/6/Pz/+vv7//r8/P/8/Pz/+/39//3+/f/7/f3/+v38//r9/P/7/f3/+/39//r8/P/6/Pz/+/z8//r8/P/6/Pz/+/39//z9/f/8/f3/+/z8//v9/P/7/fz/+/z8//r8/P/6/Pz/+/39//z9/P/8/fz//P39//z9/f/8/fz/+/38//z9/f/7/f3/+v39//v9/f/7/f3/+v39//n9/P/7/f3//f39//39/P/7/Pz/+/z9//z9/f/9/f3//P39//v8/P/7/Pz//P39//z9/f/7/f3/+vz8//b7+eXv+PWE4fLvG//99gDG7OsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQ8uQA8/nyAP///wDt9/Mr8/v3gfj8+s35/Pv0+fz7//v9/P/8/fz/+/38//v8/P/6/Pv/+fz7//r8/P/9/fz//f38//r8/P/6/fz/+v38//n9/P/5/Pz/+Pz7//r8/P/7/fz/+/z7//v8+//6/Pv/+vz8//v9+//6/Pv/+fz7//n8/P/6/Pv/+vz8//r8/P/7/Pz/+/z8//r8/P/5/Pv/+fz7//n8+//5/Pz/+fz7//n8+//4/fv/+P38//n9/P/5/Pz/+fz8//v9/P/8/Pz/+/z8//r8/P/6/Pz/+/z8//v8/P/7/Pz/+fz7//n7+//6/Pv/+fz69/f8+dby+fiL6Pb1M43Z5gLo8/AAouXtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2/TvAPP59QD///8A7PjzGvH49VLz+faU9vr3wvX799/1+/fx9fr4+PP6+fby+vnz8vr59fT7+ff2/Pry9vv58PT7+vb0+/r58/v6+PH6+vfx+vn38vv6+PT7+/j0+vn38fr49/D6+Pfz+vj49Pr5+fP6+fjx+vn38vv6+PT7+vjz+vn38/r59vX7+ff0+/n48/r5+fL6+Pnx+vj48fr4+PL6+fby+vn28fr59/L7+vjy+/r18vv69fP7+vXz+/r38vv69/P7+vb0+vn18/r48fP7+fLz+/n18/r48fT79+T0+vfc8vr3xPH59prr9/Ze4PT0IQCiywHx+PYAyuzxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8AAAAAAAAAD/wAA/wAAAAAAAAAA/wAA/gAAAAAAAAAAPwAA+AAAAAAAAAAAHwAA8AAAAAAAAAAADwAA4AAAAAAAAAAABwAAwAAAAAAAAAAAAwAAwAAAAAAAAAAAAwAAgAAAAAAAAAAAAQAAgAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAQAAgAAAAAAAAAAAAQAAwAAAAAAAAAAAAwAA4AAAAAAAAAAABwAA8AAAAAAAAAAADwAA+AAAAAAAAAAADwAA/AAAAAAAAAAAPwAA/gAAAAAAAAAAfwAA/4AAAAAAAAAA/wAA/+AAAAAAAAAD/wAA",alt:"Website",class:"w-3.5 h-3.5 rounded-sm"},null,-1)),ta(" "+oe(Qt(i)("help.website")),1)]),r[30]||(r[30]=Xo("a",{href:"https://printdot.cc",target:"_blank",rel:"noopener noreferrer",class:"text-gray-600 hover:text-blue-600 hover:underline",title:"https://printdot.cc"},"https://printdot.cc",-1))]),Xo("div",NM,[Xo("span",OM,[r[31]||(r[31]=Xo("svg",{viewBox:"0 0 16 16","aria-hidden":"true",class:"w-3.5 h-3.5"},[Xo("path",{fill:"currentColor",d:"M8 0C3.58 0 0 3.73 0 8.35c0 3.7 2.29 6.83 5.47 7.94.4.08.55-.18.55-.4 0-.2-.01-.86-.01-1.56-2.01.38-2.53-.5-2.69-.96-.09-.24-.48-.96-.82-1.16-.28-.16-.68-.56-.01-.57.63-.01 1.08.6 1.23.85.72 1.25 1.87.9 2.33.69.07-.54.28-.9.51-1.11-1.78-.21-3.64-.92-3.64-4.08 0-.9.31-1.64.82-2.22-.08-.21-.36-1.06.08-2.2 0 0 .67-.22 2.2.85.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.07 2.2-.85 2.2-.85.44 1.14.16 1.99.08 2.2.51.58.82 1.32.82 2.22 0 3.17-1.87 3.87-3.65 4.08.29.26.54.77.54 1.56 0 1.12-.01 2.03-.01 2.32 0 .22.15.48.55.4C13.71 15.18 16 12.04 16 8.35 16 3.73 12.42 0 8 0z"})],-1)),ta(" "+oe(Qt(i)("help.github")),1)]),r[32]||(r[32]=Xo("a",{href:"https://github.com/0ldFive/Vue-Print-Designer",target:"_blank",rel:"noopener noreferrer",class:"text-gray-600 hover:text-blue-600 hover:underline",title:"https://github.com/0ldFive/Vue-Print-Designer"},"https://github.com/0ldFive/Vue-Print-Designer",-1))])])])]),Xo("div",null,[Xo("h4",FM,oe(Qt(i)("help.dependencies")),1),Xo("div",UM,[Xo("table",zM,[Xo("thead",RM,[Xo("tr",null,[Xo("th",QM,oe(Qt(i)("help.package")),1),Xo("th",HM,oe(Qt(i)("help.version")),1)])]),Xo("tbody",VM,[(Ro(!0),jo(Do,null,pi(Qt(c),e=>(Ro(),jo("tr",{key:e.name,class:"hover:bg-gray-50"},[Xo("td",jM,[Xo("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",title:e.url,class:"hover:underline hover:decoration-blue-600 hover:text-blue-600 transition-colors"},oe(e.name),9,GM)]),Xo("td",WM,oe(e.version),1)]))),128))])])])])])):na("",!0)])])])])):na("",!0)],8,["to"]))}}),qM={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const YM=Lt({name:"material-symbols-translate",render:function(e,t){return Ro(),jo("svg",qM,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m11.9 22l4.55-12h2.1l4.55 12H21l-1.075-3.05h-4.85L14 22zM4 19l-1.4-1.4l5.05-5.05q-.875-.875-1.588-2T4.75 8h2.1q.5.975 1 1.7t1.2 1.45q.825-.825 1.713-2.313T12.1 6H1V4h7V2h2v2h7v2h-2.9q-.525 1.8-1.575 3.7t-2.075 2.9l2.4 2.45l-.75 2.05l-3.05-3.125zm11.7-1.8h3.6l-1.8-5.1z"},null,-1)])])}}),XM={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};Lt({name:"material-symbols-cloud",render:function(e,t){return Ro(),jo("svg",XM,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M6.5 20q-2.275 0-3.887-1.575T1 14.575q0-1.95 1.175-3.475T5.25 9.15q.625-2.3 2.5-3.725T12 4q2.925 0 4.963 2.038T19 11q1.725.2 2.863 1.488T23 15.5q0 1.875-1.312 3.188T18.5 20z"},null,-1)])])}});const ZM={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};Lt({name:"material-symbols-link",render:function(e,t){return Ro(),jo("svg",ZM,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M11 17H7q-2.075 0-3.537-1.463T2 12t1.463-3.537T7 7h4v2H7q-1.25 0-2.125.875T4 12t.875 2.125T7 15h4zm-3-4v-2h8v2zm5 4v-2h4q1.25 0 2.125-.875T20 12t-.875-2.125T17 9h-4V7h4q2.075 0 3.538 1.463T22 12t-1.463 3.538T17 17z"},null,-1)])])}});const JM={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};Lt({name:"material-symbols-link-off",render:function(e,t){return Ro(),jo("svg",JM,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m19.25 16.45l-1.5-1.55q1-.275 1.625-1.063T20 12q0-1.25-.875-2.125T17 9h-4V7h4q2.075 0 3.538 1.463T22 12q0 1.425-.737 2.625T19.25 16.45M15.85 13l-2-2H16v2zm3.95 9.6L1.4 4.2l1.4-1.4l18.4 18.4zM11 17H7q-2.075 0-3.537-1.463T2 12q0-1.725 1.05-3.075t2.7-1.775L7.6 9H7q-1.25 0-2.125.875T4 12t.875 2.125T7 15h4zm-3-4v-2h1.625l1.975 2z"},null,-1)])])}});const $M={class:"bg-white rounded-lg shadow-xl w-[700px] max-w-full h-[500px] flex overflow-hidden"},eL={class:"w-48 bg-gray-50 border-r border-gray-200 flex flex-col"},tL={class:"h-[60px] flex items-center px-4 border-b border-gray-200"},rL={class:"text-lg font-semibold text-gray-800"},nL={class:"flex-1 py-2"},iL={class:"flex-1 flex flex-col min-w-0 relative"},oL={class:"h-[60px] flex items-center justify-between px-4 border-b border-gray-200"},aL={class:"flex items-center gap-3"},sL={class:"text-lg font-semibold text-gray-800"},lL={class:"flex-1 overflow-y-auto p-6"},uL={key:0,class:"space-y-4 text-sm text-gray-700"},cL={class:"mb-2 font-medium text-gray-900"},AL={class:"flex items-center gap-3"},dL={class:"text-xs text-gray-500 mt-2"},hL={class:"border-t border-gray-200 pt-4"},pL={class:"mb-2 font-medium text-gray-900"},fL={class:"flex flex-wrap gap-2"},gL=["onClick"],vL={class:"text-xs text-gray-500 mt-2"},mL={class:"border-t border-gray-200 pt-4"},yL={class:"flex items-center justify-between"},bL={class:"font-medium text-gray-900"},wL={class:"sr-only"},xL={class:"text-xs text-gray-500 mt-2"},_L={class:"border-t border-gray-200 pt-4"},CL={class:"mb-2 font-medium text-gray-900"},SL={class:"flex items-center gap-3"},BL={class:"text-xs text-gray-500 mt-2"},kL={class:"border-t border-gray-200 pt-4"},EL={class:"flex items-center justify-between"},IL={class:"font-medium text-gray-900"},TL={class:"sr-only"},PL={class:"text-xs text-gray-500 mt-2"},ML={class:"border-t border-gray-200 pt-4 space-y-3"},LL={class:"mb-2 font-medium text-gray-900"},DL={class:"flex items-center gap-3"},NL={class:"flex items-center gap-2 px-3 py-2 border rounded cursor-pointer border-blue-600 text-blue-700"},OL={class:"flex items-center justify-between"},FL={class:"font-medium text-gray-900"},UL={class:"sr-only"},zL={class:"text-xs text-gray-500"},RL={key:1,class:"space-y-4 text-sm text-gray-700"},QL={class:"mb-2 font-medium text-gray-900"},HL={class:"flex items-center gap-3"},VL={class:"text-xs text-gray-500 mt-2"},jL=Nn({__name:"SettingsModal",props:{show:{type:Boolean}},emits:["update:show"],setup(e,{emit:t}){const r=e,n=t,{t:i,locale:o}=dh(),{theme:a,setTheme:s}=ew(),{autoSave:l}=qb(),u=Wb(),c=nn("modal-container",Ft(null)),{printMode:A,silentPrint:d,exportImageMerged:h,printQuality:p,localSettings:f,remoteSettings:g,localStatus:v,remoteStatus:m,localRetryCount:y,remoteRetryCount:b,remoteClients:w,remoteSelectedClientId:x,localWsUrl:_,remoteWsUrl:C,cancelLocalRetry:S,cancelRemoteRetry:B,connectLocal:k,disconnectLocal:E,connectRemote:I,disconnectRemote:T,fetchRemoteClients:P}=Fx(),M=Ft("basic"),L=Ft(o.value),D=Ft(localStorage.getItem("print-designer-brand-key")||"default"),N=Ft(localStorage.getItem("print-designer-brand-custom-hex")||"#3b82f6"),O=Ta(()=>v.value||"disconnected"),F=Ta(()=>m.value||"disconnected");Ta(()=>y.value||0),Ta(()=>b.value||0),Ta(()=>w.value||[]);const U=Ta(()=>"connected"===O.value),z=Ta(()=>"connected"===F.value);Ta(()=>"connecting"===O.value),Ta(()=>"connecting"===F.value),Ta(()=>Boolean(f.wsAddress)),Ta(()=>Boolean(g.apiBaseUrl&&g.username&&g.password)),Ta(()=>U.value?i("settings.status.connected"):i("settings.status.disconnected")),Ta(()=>z.value?i("settings.status.connected"):i("settings.status.disconnected"));const R=(e,t,r)=>{const n=e=>((e,t=0,r=255)=>Math.min(Math.max(e,t),r))(Math.round(e)).toString(16).padStart(2,"0");return`#${n(e)}${n(t)}${n(r)}`},Q=(e,t,r)=>({r:e.r+(t.r-e.r)*r,g:e.g+(t.g-e.g)*r,b:e.b+(t.b-e.b)*r}),H=Ta(()=>(e=>{const t=Ew(e);if(!t)return null;const r=Bw(t.h,t.s,t.v),n={r:255,g:255,b:255},i={r:0,g:0,b:0},o=Q(r,n,.92),a=Q(r,n,.84),s=Q(r,n,.68),l=Q(r,n,.5),u=Q(r,n,.32),c=Q(r,n,.16),A=Q(r,i,.12),d=Q(r,i,.24),h=Q(r,i,.36),p=Q(r,i,.5);return{"--brand-50":R(o.r,o.g,o.b),"--brand-100":R(a.r,a.g,a.b),"--brand-200":R(s.r,s.g,s.b),"--brand-300":R(l.r,l.g,l.b),"--brand-400":R(u.r,u.g,u.b),"--brand-500":R(c.r,c.g,c.b),"--brand-600":R(r.r,r.g,r.b),"--brand-700":R(A.r,A.g,A.b),"--brand-800":R(d.r,d.g,d.b),"--brand-900":R(h.r,h.g,h.b),"--brand-950":R(p.r,p.g,p.b)}})(N.value)||{}),V=Ta(()=>[{key:"default",labelKey:"settings.themePresetDefault",colors:{"--brand-50":"#eff6ff","--brand-100":"#dbeafe","--brand-200":"#bfdbfe","--brand-300":"#93c5fd","--brand-400":"#60a5fa","--brand-500":"#3b82f6","--brand-600":"#2563eb","--brand-700":"#1d4ed8","--brand-800":"#1e40af","--brand-900":"#1e3a8a","--brand-950":"#172554"}},{key:"emerald",labelKey:"settings.themePresetEmerald",colors:{"--brand-50":"#ecfdf5","--brand-100":"#d1fae5","--brand-200":"#a7f3d0","--brand-300":"#6ee7b7","--brand-400":"#34d399","--brand-500":"#10b981","--brand-600":"#059669","--brand-700":"#047857","--brand-800":"#065f46","--brand-900":"#064e3b","--brand-950":"#022c22"}},{key:"amber",labelKey:"settings.themePresetAmber",colors:{"--brand-50":"#fffbeb","--brand-100":"#fef3c7","--brand-200":"#fde68a","--brand-300":"#fcd34d","--brand-400":"#fbbf24","--brand-500":"#f59e0b","--brand-600":"#d97706","--brand-700":"#b45309","--brand-800":"#92400e","--brand-900":"#78350f","--brand-950":"#451a03"}},{key:"rose",labelKey:"settings.themePresetRose",colors:{"--brand-50":"#fff1f2","--brand-100":"#ffe4e6","--brand-200":"#fecdd3","--brand-300":"#fda4af","--brand-400":"#fb7185","--brand-500":"#f43f5e","--brand-600":"#e11d48","--brand-700":"#be123c","--brand-800":"#9f1239","--brand-900":"#881337","--brand-950":"#4c0519"}},{key:"custom",labelKey:"settings.themePresetCustom",colors:H.value}]),j=e=>{const t=document.documentElement;Object.entries(e).forEach(([e,r])=>{t.style.setProperty(e,r)}),window.dispatchEvent(new CustomEvent("brand-theme-updated"))},W=e=>{const t=V.value.find(t=>t.key===e)||V.value[0];var r;t.colors&&(j(t.colors),r=t.colors,localStorage.setItem("print-designer-brand-vars",JSON.stringify(r)),localStorage.setItem("print-designer-brand-key",t.key))};(()=>{const e=localStorage.getItem("print-designer-brand-vars");if(e)try{const t=JSON.parse(e);t&&"object"==typeof t&&j(t)}catch{}})(),an(L,e=>{o.value=e,localStorage.setItem("print-designer-language",e)}),an(o,e=>{L.value!==e&&(L.value=e)}),an(a,e=>{s(e)}),an(()=>r.show,e=>{u.setDisableGlobalShortcuts(e)}),an(N,e=>{e&&(localStorage.setItem("print-designer-brand-custom-hex",e),"custom"===D.value&&W("custom"))}),an(D,e=>{W(e)},{immediate:!0}),an([M,m],([e,t])=>{"remote"===e&&"connected"===t&&P()});const K=()=>{try{n("update:show",!1)}catch(e){}},q=e=>{try{if(!r.show)return;"Escape"===e.key&&(e.preventDefault(),K())}catch(t){}};return ei(()=>{window.addEventListener("keydown",q)}),ii(()=>{window.removeEventListener("keydown",q),r.show&&u.setDisableGlobalShortcuts(!1)}),(t,r)=>(Ro(),Go(yn,{to:Qt(c)||"body"},[e.show?(Ro(),jo("div",{key:0,class:"fixed inset-0 z-[99999] flex items-center justify-center bg-black/50 pointer-events-auto",onClick:zs(K,["self"])},[Xo("div",$M,[Xo("div",eL,[Xo("div",tL,[Xo("h3",rL,oe(Qt(i)("settings.title")),1)]),Xo("div",nL,[Xo("button",{onClick:r[0]||(r[0]=e=>M.value="basic"),class:X(["w-full text-left px-4 py-3 flex items-center gap-3 transition-colors text-sm","basic"===M.value?"bg-white text-blue-600 border-l-4 border-blue-600 font-medium":"text-gray-600 hover:bg-gray-100 border-l-4 border-transparent"])},[Zo(Qt($w),{class:"w-5 h-5"}),ta(" "+oe(Qt(i)("settings.basic")),1)],2),Xo("button",{onClick:r[1]||(r[1]=e=>M.value="language"),class:X(["w-full text-left px-4 py-3 flex items-center gap-3 transition-colors text-sm","language"===M.value?"bg-white text-blue-600 border-l-4 border-blue-600 font-medium":"text-gray-600 hover:bg-gray-100 border-l-4 border-transparent"])},[Zo(Qt(YM),{class:"w-5 h-5"}),ta(" "+oe(Qt(i)("settings.language")),1)],2)])]),Xo("div",iL,[Xo("div",oL,[Xo("div",aL,[Xo("h3",sL,oe("basic"===M.value?Qt(i)("settings.basic"):Qt(i)("settings.language")),1)]),Xo("button",{onClick:K,class:"p-1 hover:bg-gray-100 rounded-full transition-colors text-gray-500"},[Zo(Qt(Lw),{class:"w-4 h-4"})])]),Xo("div",lL,["basic"===M.value?(Ro(),jo("div",uL,[Xo("div",null,[Xo("div",cL,oe(Qt(i)("settings.theme")),1),Xo("div",AL,[Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","system"===Qt(a)?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"system","onUpdate:modelValue":r[2]||(r[2]=e=>Ot(a)?a.value=e:null)},null,512),[[Ls,Qt(a)]]),Xo("span",null,oe(Qt(i)("settings.themeSystem")),1)],2),Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","light"===Qt(a)?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"light","onUpdate:modelValue":r[3]||(r[3]=e=>Ot(a)?a.value=e:null)},null,512),[[Ls,Qt(a)]]),Xo("span",null,oe(Qt(i)("settings.themeLight")),1)],2),Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","dark"===Qt(a)?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"dark","onUpdate:modelValue":r[4]||(r[4]=e=>Ot(a)?a.value=e:null)},null,512),[[Ls,Qt(a)]]),Xo("span",null,oe(Qt(i)("settings.themeDark")),1)],2)]),Xo("p",dL,oe(Qt(i)("settings.themeDesc")),1)]),Xo("div",hL,[Xo("div",pL,oe(Qt(i)("settings.themeColor")),1),Xo("div",fL,[(Ro(!0),jo(Do,null,pi(V.value.filter(e=>"custom"!==e.key),e=>(Ro(),jo("button",{key:e.key,type:"button",class:X(["flex items-center gap-2 px-3 py-2 border rounded text-xs transition-colors",D.value===e.key?"border-blue-600 text-blue-700":"border-gray-300 text-gray-700 hover:bg-gray-50"]),onClick:t=>D.value=e.key},[Xo("span",{class:"inline-block w-3.5 h-3.5 rounded-full",style:G({backgroundColor:e.colors["--brand-600"]})},null,4),Xo("span",null,oe(Qt(i)(e.labelKey)),1)],10,gL))),128)),Zo(zB,{"model-value":N.value,"onUpdate:modelValue":r[6]||(r[6]=e=>{e&&(N.value=e,D.value="custom")}),"default-color":N.value,"teleport-to-body":!0},{trigger:Jr(({color:e,open:t})=>[Xo("button",{type:"button",class:X(["flex items-center gap-2 px-3 py-2 border rounded text-xs transition-colors","custom"===D.value?"border-blue-600 text-blue-700":"border-gray-300 text-gray-700 hover:bg-gray-50"]),onClick:r[5]||(r[5]=e=>D.value="custom")},[Xo("span",{class:X(["inline-block w-3.5 h-3.5 rounded-full border border-gray-200",{"ring-2 ring-blue-500 ring-offset-1":t}]),style:G({backgroundColor:e||N.value})},null,6),Xo("span",null,oe(Qt(i)("settings.themePresetCustom")),1)],2)]),_:1},8,["model-value","default-color"])]),Xo("p",vL,oe(Qt(i)("settings.themeColorDesc")),1)]),Xo("div",mL,[Xo("div",yL,[Xo("div",bL,oe(Qt(i)("settings.autoSave")),1),Xo("button",{onClick:r[7]||(r[7]=e=>l.value=!Qt(l)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(l)?"bg-blue-600":"bg-gray-200"])},[Xo("span",wL,oe(Qt(i)("settings.autoSave")),1),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Qt(l)?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("p",xL,oe(Qt(i)("settings.autoSaveDesc")),1)]),Xo("div",_L,[Xo("div",CL,oe(Qt(i)("settings.printQuality")),1),Xo("div",SL,[Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","fast"===Qt(p)?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"fast","onUpdate:modelValue":r[8]||(r[8]=e=>Ot(p)?p.value=e:null)},null,512),[[Ls,Qt(p)]]),Xo("span",null,oe(Qt(i)("settings.printQualityFast")),1)],2),Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","normal"===Qt(p)?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"normal","onUpdate:modelValue":r[9]||(r[9]=e=>Ot(p)?p.value=e:null)},null,512),[[Ls,Qt(p)]]),Xo("span",null,oe(Qt(i)("settings.printQualityNormal")),1)],2),Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","high"===Qt(p)?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"high","onUpdate:modelValue":r[10]||(r[10]=e=>Ot(p)?p.value=e:null)},null,512),[[Ls,Qt(p)]]),Xo("span",null,oe(Qt(i)("settings.printQualityHigh")),1)],2),Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","ultra"===Qt(p)?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"ultra","onUpdate:modelValue":r[11]||(r[11]=e=>Ot(p)?p.value=e:null)},null,512),[[Ls,Qt(p)]]),Xo("span",null,oe(Qt(i)("settings.printQualityUltra")),1)],2)]),Xo("p",BL,oe(Qt(i)("settings.printQualityDesc")),1)]),Xo("div",kL,[Xo("div",EL,[Xo("div",IL,oe(Qt(i)("settings.exportImageMerged")),1),Xo("button",{onClick:r[12]||(r[12]=e=>h.value=!Qt(h)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(h)?"bg-blue-600":"bg-gray-200"])},[Xo("span",TL,oe(Qt(i)("settings.exportImageMerged")),1),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Qt(h)?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("p",PL,oe(Qt(i)("settings.exportImageMergedDesc")),1)]),Xo("div",ML,[Xo("div",null,[Xo("div",LL,oe(Qt(i)("settings.printMode")),1),Xo("div",DL,[Xo("label",NL,[en(Xo("input",{type:"radio",value:"browser","onUpdate:modelValue":r[13]||(r[13]=e=>Ot(A)?A.value=e:null)},null,512),[[Ls,Qt(A)]]),Xo("span",null,oe(Qt(i)("settings.printModeBrowser")),1)])])]),Xo("div",OL,[Xo("div",FL,oe(Qt(i)("settings.silentPrint")),1),Xo("button",{onClick:r[14]||(r[14]=e=>d.value=!Qt(d)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2",Qt(d)?"bg-blue-600":"bg-gray-200"])},[Xo("span",UL,oe(Qt(i)("settings.silentPrint")),1),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out",Qt(d)?"translate-x-5":"translate-x-0"])},null,2)],2)]),Xo("p",zL,oe(Qt(i)("settings.silentPrintDesc")),1)])])):na("",!0),"language"===M.value?(Ro(),jo("div",RL,[Xo("div",QL,oe(Qt(i)("settings.selectLanguage")),1),Xo("div",HL,[Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","zh"===L.value?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"zh","onUpdate:modelValue":r[15]||(r[15]=e=>L.value=e)},null,512),[[Ls,L.value]]),Xo("span",null,oe(Qt(i)("settings.zhLabel")),1)],2),Xo("label",{class:X(["flex items-center gap-2 px-3 py-2 border rounded cursor-pointer","en"===L.value?"border-blue-600 text-blue-700":"border-gray-300"])},[en(Xo("input",{type:"radio",value:"en","onUpdate:modelValue":r[16]||(r[16]=e=>L.value=e)},null,512),[[Ls,L.value]]),Xo("span",null,oe(Qt(i)("settings.enLabel")),1)],2)]),Xo("p",VL,oe(Qt(i)("settings.languageDesc")),1)])):na("",!0)])])])])):na("",!0)],8,["to"]))}}),GL={class:"h-12 lg:h-14 bg-white dark:bg-gray-900 border-b border-gray-200 dark:border-gray-700 flex items-center px-2 lg:px-4 z-[2000] relative shadow-sm flex-shrink-0"},WL={class:"flex items-center gap-1 lg:gap-2 flex-1 min-w-0"},KL={class:"hidden xl:flex items-center gap-1 lg:gap-2 ml-1"},qL={class:"hidden lg:flex xl:hidden items-center gap-0.5 ml-1 flex-wrap"},YL={class:"flex items-center gap-0.5 bg-gray-100 dark:bg-gray-800 rounded-md px-1 py-0.5"},XL=["disabled","title"],ZL=["disabled","title"],JL=["disabled"],$L=["disabled"],eD=["disabled"],tD={class:"flex items-center gap-0.5 lg:gap-1.5 flex-shrink-0"},rD={class:"hidden lg:flex items-center bg-gray-100 dark:bg-gray-800 rounded-lg p-0.5"},nD=["title"],iD={class:"text-xs w-10 text-center select-none cursor-default tabular-nums"},oD=["title"],aD={class:"hidden lg:block"},sD=["title"],lD={class:"hidden xl:inline text-xs"},uD={class:"hidden xl:inline"},cD={class:"relative"},AD={class:"flex items-center shadow-sm"},dD=["disabled"],hD={class:"hidden sm:inline"},pD={key:0,class:"absolute top-full right-0 mt-1 w-max min-w-[140px] bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 shadow-xl rounded-lg p-1 z-[1000] flex flex-col gap-0.5"},fD={class:"hidden lg:flex items-center gap-0.5 ml-0.5"},gD=["title"],vD=["title"],mD=["title"],yD={key:0,class:"fixed inset-0 z-[1900] lg:hidden"},bD={class:"absolute top-0 right-0 h-full w-[300px] max-w-[85vw] bg-white dark:bg-gray-900 shadow-2xl overflow-y-auto"},wD={class:"flex items-center justify-between p-3 border-b border-gray-200 dark:border-gray-700"},xD={class:"p-3 space-y-4"},_D={class:"bg-gray-50 dark:bg-gray-800 rounded-lg p-2"},CD={class:"flex items-center gap-2 flex-wrap"},SD={class:"flex items-center gap-0.5 bg-gray-50 dark:bg-gray-800 rounded-lg p-1"},BD={class:"grid grid-cols-2 gap-2"},kD={class:"flex items-center bg-gray-50 dark:bg-gray-800 rounded-lg p-1 justify-center"},ED={class:"text-xs w-10 text-center"},ID={class:"grid grid-cols-2 gap-2"},TD={class:"flex gap-2"},PD=Nn({__name:"Header",setup(e){const{t:t}=dh(),r=Wb(),n=Mb(),{getPrintHtml:i,exportPdf:o,exportHtml:a,exportImages:s}=aB(),l=Ft(!1),u=Ft(!1),c=Ft(!1),A=Ft(""),d=()=>{l.value?document.body.style.overflow="":document.body.style.overflow="hidden",l.value=!l.value},h=()=>{document.body.style.overflow="",l.value=!1};ii(()=>{document.body.style.overflow=""});const p=Ta(()=>{if(!r.selectedElementId)return!1;for(const e of r.pages){const t=e.elements.find(e=>e.id===r.selectedElementId);if(t)return t.locked||!1}return!1}),f=async()=>{var e;try{const t=(null==(e=document.querySelector("print-designer"))?void 0:e.shadowRoot)||document,r=Array.from(t.querySelectorAll(".print-page"));A.value=await i(r),c.value=!0}catch{Qm.error("Preview generation failed")}},g=()=>{o(Array.from(document.querySelectorAll(".print-page")),`${m()}.pdf`)},v=()=>{a(Array.from(document.querySelectorAll(".print-page")),`${m()}.html`)},m=()=>{const e=n.templates.find(e=>e.id===n.currentTemplateId),t=((null==e?void 0:e.name)||"print-design").trim().replace(/[\\/:*?"<>|]/g,"-").replace(/\s+/g," ").trim()||"print-design",r=new Date,i=e=>String(e).padStart(2,"0");return`${t}-${r.getFullYear()}${i(r.getMonth()+1)}${i(r.getDate())}`},y=()=>{r.setZoom(Math.min(5,r.zoom+.1))},b=()=>{r.setZoom(Math.max(.2,r.zoom-.1))},w=()=>{n.currentTemplateId?(()=>{if(n.isLoading)return;if(r.editingCustomElementId)return void window.dispatchEvent(new CustomEvent("designer:save-custom-edit"));const e=n.templates.find(e=>e.id===n.currentTemplateId);if(e){if(n.isSaving)return;n.saveCurrentTemplate(e.name)}else window.dispatchEvent(new CustomEvent("designer:new-template"))})():_("designer:new-template")},x=()=>{_("designer:print")},_=e=>{window.dispatchEvent(new CustomEvent(e))};return(e,i)=>(Ro(),jo(Do,null,[Xo("header",GL,[Xo("div",WL,[Zo(xE,{class:"max-w-[140px] lg:max-w-[200px]"}),Xo("div",KL,[Zo(ik,{onToggleHelp:i[0]||(i[0]=e=>Qt(r).setShowHelp(!0)),onToggleSettings:i[1]||(i[1]=e=>Qt(r).setShowSettings(!0))})]),Xo("div",qL,[Xo("div",YL,[Xo("button",{onClick:i[2]||(i[2]=e=>Qt(r).undo()),disabled:0===Qt(r).historyPast.length,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-30",title:"撤销 "+Qt(sB)(["Ctrl","Z"])},[Zo(Qt(tx),{class:"w-3.5 h-3.5"})],8,XL),Xo("button",{onClick:i[3]||(i[3]=e=>Qt(r).redo()),disabled:0===Qt(r).historyFuture.length,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-30",title:"重做 "+Qt(sB)(["Ctrl","Y"])},[Zo(Qt(nx),{class:"w-3.5 h-3.5"})],8,ZL),i[36]||(i[36]=Xo("div",{class:"w-px h-3 bg-gray-300 dark:bg-gray-600"},null,-1)),Xo("button",{onClick:i[4]||(i[4]=e=>Qt(r).copy()),disabled:!Qt(r).selectedElementId||p.value||!Qt(r).isTemplateEditable,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-30",title:"复制"},[Zo(Qt(ox),{class:"w-3.5 h-3.5"})],8,JL),Xo("button",{onClick:i[5]||(i[5]=e=>Qt(r).paste()),disabled:0===Qt(r).clipboard.length||!Qt(r).isTemplateEditable,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-30",title:"粘贴"},[Zo(Qt(sx),{class:"w-3.5 h-3.5"})],8,$L),Xo("button",{onClick:i[6]||(i[6]=e=>Qt(r).removeSelectedElements()),disabled:!Qt(r).selectedElementId||p.value||!Qt(r).isTemplateEditable,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-30",title:"删除"},[Zo(Qt(Ax),{class:"w-3.5 h-3.5"})],8,eD)]),Zo(wk)])]),Xo("div",tD,[Xo("div",rD,[Xo("button",{onClick:b,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded",title:Qt(t)("editor.zoomOut")},[Zo(Qt(fx),{class:"w-3.5 h-3.5"})],8,nD),Xo("span",iD,oe(Math.round(100*Qt(r).zoom))+"%",1),Xo("button",{onClick:y,class:"p-1 hover:bg-gray-200 dark:hover:bg-gray-700 rounded",title:Qt(t)("editor.zoomIn")},[Zo(Qt(hx),{class:"w-3.5 h-3.5"})],8,oD)]),Xo("div",aD,[Zo(WI)]),Xo("button",{onClick:i[7]||(i[7]=e=>Qt(r).setShowSampleDataModal(!0)),class:"hidden lg:flex items-center gap-1 px-1.5 py-1 hover:bg-gray-100 dark:hover:bg-gray-800 rounded text-sm transition-colors whitespace-nowrap",title:Qt(t)("common.sampleData")},[Zo(Qt(Qw),{class:"w-3.5 h-3.5"}),Xo("span",lD,oe(Qt(t)("common.sampleData")),1)],8,sD),Xo("button",{onClick:i[8]||(i[8]=e=>Qt(r).setCanvasPreview(!Qt(r).canvasPreview)),class:X([Qt(r).canvasPreview?"bg-blue-100 text-blue-700 border-blue-300 dark:bg-blue-900/30 dark:text-blue-400":"","hidden lg:flex items-center gap-1 px-2 py-1 border border-gray-200 dark:border-gray-600 rounded-md text-xs hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors whitespace-nowrap"]),title:"Ctrl+P"},[Zo(Qt(Nw),{class:"w-3.5 h-3.5"}),Xo("span",uD,oe(Qt(r).canvasPreview?"编辑":"预览"),1)],2),Xo("div",cD,[Xo("div",AD,[Xo("button",{onClick:w,disabled:Qt(n).isSaving,class:"flex items-center gap-1 lg:gap-1.5 px-2 lg:px-3 py-1.5 bg-blue-600 text-white rounded-l-md hover:bg-blue-700 transition-colors text-xs lg:text-sm border-r border-blue-500 disabled:opacity-50 disabled:cursor-not-allowed whitespace-nowrap"},[Qt(n).isSaving?(Ro(),Go(Qt(Gw),{key:0,class:"w-3.5 h-3.5 animate-spin"})):(Ro(),Go(Qt(Vw),{key:1,class:"w-3.5 h-3.5"})),Xo("span",hD,oe(Qt(n).currentTemplateId?Qt(t)("common.save"):"新建"),1)],8,dD),Xo("button",{onClick:i[9]||(i[9]=e=>u.value=!u.value),class:"px-1.5 py-1.5 bg-blue-600 text-white rounded-r-md hover:bg-blue-700 transition-colors flex items-center"},[Zo(Qt(Kw),{class:"w-3.5 h-3.5 lg:w-4 lg:h-4"})])]),u.value?(Ro(),jo("div",pD,[Xo("button",{onClick:i[10]||(i[10]=e=>{f(),u.value=!1}),class:"w-full flex items-center gap-2 px-3 py-1.5 text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700 rounded text-xs text-left transition-colors whitespace-nowrap"},[Zo(Qt(Nw),{class:"w-3.5 h-3.5"}),Xo("span",null,oe(Qt(t)("editor.preview")),1)]),Xo("button",{onClick:i[11]||(i[11]=e=>{g(),u.value=!1}),class:"w-full flex items-center gap-2 px-3 py-1.5 text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700 rounded text-xs text-left transition-colors whitespace-nowrap"},[Zo(Qt(Fw),{class:"w-3.5 h-3.5"}),Xo("span",null,oe(Qt(t)("editor.exportPdf")),1)]),Xo("button",{onClick:i[12]||(i[12]=e=>{v(),u.value=!1}),class:"w-full flex items-center gap-2 px-3 py-1.5 text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700 rounded text-xs text-left transition-colors whitespace-nowrap"},[Zo(Qt(Fw),{class:"w-3.5 h-3.5"}),Xo("span",null,oe(Qt(t)("editor.exportHtml")),1)]),Xo("button",{onClick:i[13]||(i[13]=e=>{s(Array.from(document.querySelectorAll(".print-page")),m()),u.value=!1}),class:"w-full flex items-center gap-2 px-3 py-1.5 text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700 rounded text-xs text-left transition-colors whitespace-nowrap"},[Zo(Qt(zw),{class:"w-3.5 h-3.5"}),Xo("span",null,oe(Qt(t)("editor.exportImage")),1)]),i[37]||(i[37]=Xo("div",{class:"border-t border-gray-100 dark:border-gray-700 my-0.5"},null,-1)),Xo("button",{onClick:i[14]||(i[14]=e=>{x(),u.value=!1}),class:"w-full flex items-center gap-2 px-3 py-1.5 text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700 rounded text-xs text-left transition-colors whitespace-nowrap"},[Zo(Qt(Yw),{class:"w-3.5 h-3.5"}),Xo("span",null,oe(Qt(t)("editor.print")),1)])])):na("",!0)]),Xo("div",fD,[Xo("button",{onClick:i[15]||(i[15]=e=>Qt(r).setShowHelp(!0)),class:"p-1.5 hover:bg-gray-100 dark:hover:bg-gray-800 rounded text-gray-500",title:Qt(t)("common.help")},[Zo(Qt(Zw),{class:"w-3.5 h-3.5"})],8,gD),Xo("button",{onClick:i[16]||(i[16]=e=>Qt(r).setShowSettings(!0)),class:"p-1.5 hover:bg-gray-100 dark:hover:bg-gray-800 rounded text-gray-500",title:Qt(t)("common.settings")},[Zo(Qt($w),{class:"w-3.5 h-3.5"})],8,vD)]),Xo("button",{onClick:d,class:"lg:hidden p-1.5 hover:bg-gray-100 dark:hover:bg-gray-800 rounded text-gray-600 dark:text-gray-300 ml-0.5",title:l.value?"关闭菜单":"打开菜单"},[l.value?(Ro(),Go(Qt(Lw),{key:0,class:"w-5 h-5"})):(Ro(),Go(Qt(Pw),{key:1,class:"w-5 h-5"}))],8,mD)])]),(Ro(),Go(yn,{to:"body"},[l.value?(Ro(),jo("div",yD,[Xo("div",{class:"absolute inset-0 bg-black/40",onClick:h}),Xo("div",bD,[Xo("div",wD,[i[38]||(i[38]=Xo("span",{class:"text-sm font-semibold text-gray-700 dark:text-gray-200"},"菜单",-1)),Xo("button",{onClick:h,class:"p-1 hover:bg-gray-100 dark:hover:bg-gray-800 rounded text-gray-500"},[Zo(Qt(Lw),{class:"w-5 h-5"})])]),Xo("div",xD,[Xo("div",null,[i[39]||(i[39]=Xo("div",{class:"text-xs text-gray-500 dark:text-gray-400 mb-2 font-medium uppercase tracking-wider"},"文字样式",-1)),Xo("div",_D,[Zo(ik,{onToggleHelp:i[17]||(i[17]=e=>{Qt(r).setShowHelp(!0),h()}),onToggleSettings:i[18]||(i[18]=e=>{Qt(r).setShowSettings(!0),h()})})])]),Xo("div",null,[i[42]||(i[42]=Xo("div",{class:"text-xs text-gray-500 dark:text-gray-400 mb-2 font-medium uppercase tracking-wider"},"编辑工具",-1)),Xo("div",CD,[Xo("div",SD,[Xo("button",{onClick:i[19]||(i[19]=e=>Qt(r).undo()),class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-gray-600 dark:text-gray-300",title:"撤销"},[Zo(Qt(tx),{class:"w-4 h-4"})]),Xo("button",{onClick:i[20]||(i[20]=e=>Qt(r).redo()),class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-gray-600 dark:text-gray-300",title:"重做"},[Zo(Qt(nx),{class:"w-4 h-4"})]),i[40]||(i[40]=Xo("div",{class:"w-px h-4 bg-gray-300 dark:bg-gray-600 mx-0.5"},null,-1)),Xo("button",{onClick:i[21]||(i[21]=e=>Qt(r).copy()),class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-gray-600 dark:text-gray-300",title:"复制"},[Zo(Qt(ox),{class:"w-4 h-4"})]),Xo("button",{onClick:i[22]||(i[22]=e=>Qt(r).paste()),class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-gray-600 dark:text-gray-300",title:"粘贴"},[Zo(Qt(sx),{class:"w-4 h-4"})]),i[41]||(i[41]=Xo("div",{class:"w-px h-4 bg-gray-300 dark:bg-gray-600 mx-0.5"},null,-1)),Xo("button",{onClick:i[23]||(i[23]=e=>{Qt(r).selectElement(Qt(r).selectedElementId,!1),Qt(r).selectedElementId&&Qt(r).pages.some(e=>e.elements.some(e=>e.id===Qt(r).selectedElementId&&!e.locked))}),class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-gray-600 dark:text-gray-300",title:"锁定/解锁"},[Zo(Qt(ux),{class:"w-4 h-4"})]),Xo("button",{onClick:i[24]||(i[24]=e=>Qt(r).removeSelectedElements()),class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded text-red-500",title:"删除"},[Zo(Qt(Ax),{class:"w-4 h-4"})])]),Zo(wk)])]),Xo("div",null,[i[43]||(i[43]=Xo("div",{class:"text-xs text-gray-500 dark:text-gray-400 mb-2 font-medium uppercase tracking-wider"},"快捷操作",-1)),Xo("div",BD,[Xo("div",kD,[Xo("button",{onClick:b,class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded"},[Zo(Qt(fx),{class:"w-4 h-4"})]),Xo("span",ED,oe(Math.round(100*Qt(r).zoom))+"%",1),Xo("button",{onClick:y,class:"p-1.5 hover:bg-gray-200 dark:hover:bg-gray-700 rounded"},[Zo(Qt(hx),{class:"w-4 h-4"})])]),Zo(WI),Xo("button",{onClick:i[25]||(i[25]=e=>{Qt(r).setShowSampleDataModal(!0),h()}),class:"flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors"},[Zo(Qt(Qw),{class:"w-3.5 h-3.5"}),ta(oe(Qt(t)("common.sampleData")),1)]),Xo("button",{onClick:i[26]||(i[26]=e=>Qt(r).setCanvasPreview(!Qt(r).canvasPreview)),class:"flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors"},[Zo(Qt(Nw),{class:"w-3.5 h-3.5"}),ta(oe(Qt(r).canvasPreview?"编辑":"预览"),1)])])]),Xo("div",null,[i[44]||(i[44]=Xo("div",{class:"text-xs text-gray-500 dark:text-gray-400 mb-2 font-medium uppercase tracking-wider"},"导出与打印",-1)),Xo("div",ID,[Xo("button",{onClick:i[27]||(i[27]=e=>{f(),h()}),class:"flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700"},[Zo(Qt(Nw),{class:"w-3.5 h-3.5"}),ta(oe(Qt(t)("editor.preview")),1)]),Xo("button",{onClick:i[28]||(i[28]=e=>{x(),h()}),class:"flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700"},[Zo(Qt(Yw),{class:"w-3.5 h-3.5"}),ta(oe(Qt(t)("editor.print")),1)]),Xo("button",{onClick:i[29]||(i[29]=e=>{g(),h()}),class:"flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700"},[Zo(Qt(Fw),{class:"w-3.5 h-3.5"}),ta(oe(Qt(t)("editor.exportPdf")),1)]),Xo("button",{onClick:i[30]||(i[30]=e=>{v(),h()}),class:"flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700"},[Zo(Qt(Fw),{class:"w-3.5 h-3.5"}),ta(oe(Qt(t)("editor.exportHtml")),1)])])]),Xo("div",TD,[Xo("button",{onClick:i[31]||(i[31]=e=>{Qt(r).setShowHelp(!0),h()}),class:"flex-1 flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700"},[Zo(Qt(Zw),{class:"w-3.5 h-3.5"}),ta(oe(Qt(t)("common.help")),1)]),Xo("button",{onClick:i[32]||(i[32]=e=>{Qt(r).setShowSettings(!0),h()}),class:"flex-1 flex items-center justify-center gap-1.5 px-3 py-2 bg-gray-50 dark:bg-gray-800 rounded-lg text-xs hover:bg-gray-100 dark:hover:bg-gray-700"},[Zo(Qt($w),{class:"w-3.5 h-3.5"}),ta(oe(Qt(t)("common.settings")),1)])])])])])):na("",!0)])),Zo(iT,{visible:c.value,"onUpdate:visible":i[33]||(i[33]=e=>c.value=e),"html-content":A.value,width:Qt(r).canvasSize.width},null,8,["visible","html-content","width"]),Zo(KM,{show:Qt(r).showHelp,"onUpdate:show":i[34]||(i[34]=e=>Qt(r).setShowHelp(e))},null,8,["show"]),Zo(jL,{show:Qt(r).showSettings,"onUpdate:show":i[35]||(i[35]=e=>Qt(r).setShowSettings(e))},null,8,["show"])],64))}}),MD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const LD=Lt({name:"material-symbols-text-fields",render:function(e,t){return Ro(),jo("svg",MD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M7 20V7H2V4h13v3h-5v13zm9 0v-8h-3V9h9v3h-3v8z"},null,-1)])])}}),DD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const ND=Lt({name:"material-symbols-numbers",render:function(e,t){return Ro(),jo("svg",DD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m6 20l1-4H3l.5-2h4l1-4h-4L5 8h4l1-4h2l-1 4h4l1-4h2l-1 4h4l-.5 2h-4l-1 4h4l-.5 2h-4l-1 4h-2l1-4H9l-1 4zm3.5-6h4l1-4h-4z"},null,-1)])])}}),OD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const FD=Lt({name:"material-symbols-table-chart",render:function(e,t){return Ro(),jo("svg",OD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M3 8V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v3zm2 13q-.825 0-1.412-.587T3 19v-9h4.5v11zm11.5 0V10H21v9q0 .825-.587 1.413T19 21zm-7 0V10h5v11z"},null,-1)])])}}),UD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const zD=Lt({name:"material-symbols-table-edit",render:function(e,t){return Ro(),jo("svg",UD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M3 14V9h8v5zm0-7V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v2zm2 14q-.825 0-1.412-.587T3 19v-3h8v5zm8-7V9h8v2.3q-.95-.425-2.025-.25t-1.875.975L15.125 14zm0 8v-3.075l5.525-5.5q.225-.225.5-.325t.55-.1q.3 0 .575.113t.5.337l.925.925q.2.225.313.5t.112.55t-.1.563t-.325.512l-5.5 5.5zm6.575-5.6l.925-.975l-.925-.925l-.95.95z"},null,-1)])])}}),RD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const QD=Lt({name:"material-symbols-barcode",render:function(e,t){return Ro(),jo("svg",RD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M1 19V5h2v14zm3 0V5h2v14zm3 0V5h1v14zm3 0V5h2v14zm3 0V5h3v14zm4 0V5h1v14zm3 0V5h3v14z"},null,-1)])])}}),HD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const VD=Lt({name:"material-symbols-qr-code",render:function(e,t){return Ro(),jo("svg",HD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M3 11V3h8v8zm2-2h4V5H5zM3 21v-8h8v8zm2-2h4v-4H5zm8-8V3h8v8zm2-2h4V5h-4zm4 12v-2h2v2zm-6-6v-2h2v2zm2 2v-2h2v2zm-2 2v-2h2v2zm2 2v-2h2v2zm2-2v-2h2v2zm0-4v-2h2v2zm2 2v-2h2v2z"},null,-1)])])}}),jD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const GD=Lt({name:"material-symbols-bar-chart",render:function(e,t){return Ro(),jo("svg",jD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M16 20v-7h4v7zm-6 0V4h4v16zm-6 0V9h4v11z"},null,-1)])])}}),WD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const KD=Lt({name:"material-symbols-article",render:function(e,t){return Ro(),jo("svg",WD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm2-4h7v-2H7zm0-4h10v-2H7zm0-4h10V7H7z"},null,-1)])])}}),qD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const YD=Lt({name:"material-symbols-horizontal-rule",render:function(e,t){return Ro(),jo("svg",qD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M4 13v-2h16v2z"},null,-1)])])}}),XD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const ZD=Lt({name:"material-symbols-check-box-outline-blank",render:function(e,t){return Ro(),jo("svg",XD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V5H5z"},null,-1)])])}}),JD={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const $D=Lt({name:"material-symbols-radio-button-unchecked",render:function(e,t){return Ro(),jo("svg",JD,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M12 22q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4T6.325 6.325T4 12t2.325 5.675T12 20"},null,-1)])])}}),eN={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const tN=Lt({name:"material-symbols-star",render:function(e,t){return Ro(),jo("svg",eN,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m5.825 21l1.625-7.025L2 9.25l7.2-.625L12 2l2.8 6.625l7.2.625l-5.45 4.725L18.175 21L12 17.275z"},null,-1)])])}}),rN={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const nN=Lt({name:"material-symbols-speed",render:function(e,t){return Ro(),jo("svg",rN,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M10.45 15.5q.625.625 1.575.588T13.4 15.4L19 7l-8.4 5.6q-.65.45-.712 1.362t.562 1.538M5.1 20q-.55 0-1.012-.238t-.738-.712q-.65-1.175-1-2.437T2 14q0-2.075.788-3.9t2.137-3.175T8.1 4.788T12 4q2.05 0 3.85.775T19 6.888t2.15 3.125t.825 3.837q.025 1.375-.312 2.688t-1.038 2.512q-.275.475-.737.713T18.874 20z"},null,-1)])])}}),iN={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const oN=Lt({name:"material-symbols-palette",render:function(e,t){return Ro(),jo("svg",iN,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M12 22q-2.05 0-3.875-.788t-3.187-2.15t-2.15-3.187T2 12q0-2.075.813-3.9t2.2-3.175T8.25 2.788T12.2 2q2 0 3.775.688t3.113 1.9t2.125 2.875T22 11.05q0 2.875-1.75 4.413T16 17h-1.85q-.225 0-.312.125t-.088.275q0 .3.375.863t.375 1.287q0 1.25-.687 1.85T12 22m-4.425-9.425Q8 12.15 8 11.5t-.425-1.075T6.5 10t-1.075.425T5 11.5t.425 1.075T6.5 13t1.075-.425m3-4Q11 8.15 11 7.5t-.425-1.075T9.5 6t-1.075.425T8 7.5t.425 1.075T9.5 9t1.075-.425m5 0Q16 8.15 16 7.5t-.425-1.075T14.5 6t-1.075.425T13 7.5t.425 1.075T14.5 9t1.075-.425m3 4Q19 12.15 19 11.5t-.425-1.075T17.5 10t-1.075.425T16 11.5t.425 1.075T17.5 13t1.075-.425"},null,-1)])])}}),aN={class:"w-64 bg-white dark:bg-gray-900 border-r border-gray-200 dark:border-gray-700 flex flex-col h-full z-40"},sN={class:"p-4 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800"},lN={class:"font-semibold text-gray-700 dark:text-gray-200"},uN={class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},cN={class:"flex border-b border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900"},AN={key:0,class:"absolute bottom-0 left-0 w-full h-0.5 bg-blue-600 dark:bg-blue-400"},dN={class:"flex-1 overflow-y-auto"},hN={class:"text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider mb-3 px-1"},pN={class:"grid grid-cols-2 gap-3"},fN=["onDragstart"],gN={class:"text-sm font-medium text-gray-700 dark:text-gray-200 whitespace-nowrap"},vN=["onClick","disabled"],mN=["src"],yN=["src"],bN={key:4,class:"w-3.5 h-3.5 inline-flex items-center justify-center"},wN=Nn({__name:"Sidebar",setup(e){const{t:t}=dh(),r=Wb(),n=nn("modal-container",Ft(null)),i=Ft("standard"),o=Ta(()=>r.customElements),a=Ft(null),s=Ft({}),l=Ft(!1),u=Ft("edit"),c=Ft(null),A=Ft(""),d=Ft({}),h=Ta(()=>{var e,t;return null==(t=null==(e=r.customElementModalFormConfig)?void 0:e[u.value])?void 0:t.fields}),p=Ft(!1),f=Ft(""),g=Ft(null),v=Ft([]),m=e=>{if(!e)return null;return/^[a-z0-9]+(?:-[a-z0-9]+)*:[a-z0-9-]+$/i.test(e)?`https://api.iconify.design/${encodeURIComponent(e)}.svg`:null},y=[{title:"sidebar.general",items:[{type:Nm.TEXT,label:"sidebar.text",icon:LD},{type:Nm.LONG_TEXT,label:"sidebar.longText",icon:KD},{type:Nm.RICH_TEXT,label:"sidebar.richText",icon:KD},{type:Nm.DATE,label:"sidebar.date",icon:KD},{type:Nm.IMAGE,label:"sidebar.image",icon:zw},{type:Nm.PAGE_NUMBER,label:"sidebar.pagination",icon:ND}]},{title:"sidebar.dataCodes",items:[{type:Nm.TABLE,label:"sidebar.table",icon:FD},{type:Nm.CUSTOM_TABLE,label:"sidebar.customTable",icon:zD},{type:Nm.NESTED_TABLE,label:"sidebar.nestedTable",icon:FD},{type:Nm.DATA_CARD,label:"sidebar.dataCard",icon:kk},{type:Nm.PROGRESS,label:"sidebar.progress",icon:nN},{type:Nm.LIST,label:"sidebar.list",icon:kk},{type:Nm.BARCODE,label:"sidebar.barcode",icon:QD},{type:Nm.QRCODE,label:"sidebar.qrcode",icon:VD},{type:Nm.CHART,label:"sidebar.chart",icon:GD}]},{title:"sidebar.shapes",items:[{type:Nm.LINE,label:"sidebar.line",icon:YD},{type:Nm.RECT,label:"sidebar.rect",icon:ZD},{type:Nm.CIRCLE,label:"sidebar.circle",icon:$D},{type:Nm.SIGNATURE,label:"sidebar.signature",icon:tN}]}],b=Ta(()=>a.value&&o.value.find(e=>e.id===a.value)||null),w=e=>{if(!a.value)return;e.composedPath().some(e=>e instanceof Element&&e.classList.contains("sidebar-context-menu"))||(a.value=null)},x=(e,t)=>{var n;const i=null==(n=r.customElementModalFormConfig)?void 0:n[t];if(!i)return{};const o=i.initialValues||{},a=((e,t)=>{var n,i;if(!e)return{};const o=(null==(n=r.customElementDetailCache[e])?void 0:n.ext)||{},a={...(null==(i=r.customElements.find(t=>t.id===e))?void 0:i.ext)||{},...o}.templateModalForm||{},s=o.templateModalForm||{},l={...a[t],...s[t]};if(0===Object.keys(l).length){const e=s.lastMode||a.lastMode;if(e&&(a[e]||s[e]))return{...a[e],...s[e]}}return l})(e.id,t),s={...o,...a,...e.ext};return delete s.templateModalForm,s},_=e=>{if(c.value){let t,n="";if("string"==typeof e)n=e;else{n=e.name;const{name:r,...i}=e;Object.keys(i).length>0&&(t=i)}n&&("edit"===u.value?r.editCustomElement(c.value,n,t):"copy"===u.value&&r.copyCustomElement(c.value,{...t,name:n}))}},C=Ta(()=>[{key:"editElement",actionKey:"editElement",label:t("sidebar.editElement"),iconComponent:oN,disabled:({item:e})=>!jy(e)},{key:"testData",actionKey:"testData",label:t("common.testData"),iconComponent:Qw,hidden:({item:e})=>!(e=>Db(e.element))(e)},{key:"edit",actionKey:"edit",label:t("sidebar.edit"),iconComponent:Sk,disabled:({item:e})=>!jy(e)},{key:"copy",actionKey:"copy",label:t("sidebar.copy"),iconComponent:ox,disabled:({item:e})=>!Wy(e)},{key:"delete",actionKey:"delete",label:t("sidebar.delete"),iconComponent:Ax,danger:!0,disabled:({item:e})=>!Gy(e)}]);function S(e){const t=r.customElementContextMenuConfig,n=((null==t?void 0:t.items)||[]).map(e=>({...e})),i=((e,t,r)=>{if("replace"===r)return t;const n=[...e];return t.forEach(e=>{const t=n.findIndex(t=>t.key===e.key);t>=0?n[t]={...n[t],...e}:n.push(e)}),n})(C.value,n,"replace"===(null==t?void 0:t.mode)?"replace":"append");return i.filter(t=>"function"==typeof t.hidden?!t.hidden({source:"customElement",item:e}):!t.hidden)}const B=(e,t)=>"function"==typeof e.disabled?e.disabled({source:"customElement",item:t}):Boolean(e.disabled),k=(e,n)=>{const i=e||"";"editElement"!==i?"testData"!==i?"edit"!==i?"copy"!==i?"delete"===i&&(async e=>{if(!Gy(e))return void Qm.warning(t("toast.customElementDeleteNotAllowed"));a.value=null,await xh.show(t("sidebar.confirmDelete",{name:e.name}))&&await r.removeCustomElement(e.id)})(n):(e=>{Wy(e)?(a.value=null,u.value="copy",c.value=e.id,A.value=`${e.name} Copy`,d.value=x(e,"copy"),l.value=!0):Qm.warning(t("toast.customElementCopyNotAllowed"))})(n):(e=>{jy(e)?(a.value=null,u.value="edit",c.value=e.id,A.value=e.name,d.value=x(e,"edit"),l.value=!0):Qm.warning(t("toast.customElementReadOnly"))})(n):(async e=>{a.value=null,g.value=e;const t=e.testData||{},r=Nb(e.element,t);v.value=Object.keys(r),f.value=JSON.stringify(r,null,2),p.value=!0})(n):(async e=>{if(jy(e)){if(a.value=null,r.editingCustomElementId!==e.id){if(r.editingCustomElementId&&r.editingCustomElementId!==e.id){const e=r.customElements.find(e=>e.id===r.editingCustomElementId),n=e?e.name:"";if(!(await xh.show(t("sidebar.confirmSwitchEdit",{name:n}))))return;r.cancelCustomElementEdit()}r.startCustomElementEdit(e.id)}}else Qm.warning(t("toast.customElementReadOnly"))})(n)},E=()=>{var e;const n=g.value,i=new Set(v.value||[]);if(g.value=null,v.value=[],!n)return;let o=null;try{const t=(null==(e=f.value)?void 0:e.trim())||"{}",r=JSON.parse(t);r&&"object"==typeof r&&!Array.isArray(r)&&(o=r)}catch{o=null}if(!o)return void Qm.error(t("common.invalidJson"));if(i.size>0){const e=Object.keys(o);if(e.length!==i.size||e.some(e=>!i.has(e)))return void Qm.error(t("common.testDataKeyChanged"))}const a=Nb(n.element,n.testData||{}),s={};Object.keys(a).forEach(e=>{(0===i.size||i.has(e))&&(s[e]=Object.prototype.hasOwnProperty.call(o,e)?o[e]:a[e])}),n.testData=s,r.saveCustomElements()};return ei(()=>{window.addEventListener("mousedown",w)}),ii(()=>{window.removeEventListener("mousedown",w)}),(e,o)=>(Ro(),jo("aside",aN,[Xo("div",sN,[Xo("h2",lN,oe(Qt(t)("sidebar.elements")),1),Xo("p",uN,oe(Qt(t)("sidebar.dragToCanvas")),1)]),Xo("div",cN,[Xo("button",{onClick:o[0]||(o[0]=e=>i.value="standard"),class:X(["flex-1 py-3 text-sm font-medium transition-colors relative","standard"===i.value?"text-blue-600 dark:text-blue-400":"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-800"])},[ta(oe(Qt(t)("sidebar.standard"))+" ",1),"standard"===i.value?(Ro(),jo("div",AN)):na("",!0)],2)]),Xo("div",dN,["standard"===i.value?(Ro(),jo(Do,{key:0},pi(y,e=>Xo("div",{key:e.title,class:"p-4 border-b border-gray-100 dark:border-gray-800 last:border-0"},[Xo("h3",hN,oe(Qt(t)(e.title)),1),Xo("div",pN,[(Ro(!0),jo(Do,null,pi(e.items,e=>(Ro(),jo("div",{key:e.type,class:"flex flex-col items-center justify-center p-4 border border-gray-200 dark:border-gray-700 rounded-lg theme-hover-border theme-hover-bg cursor-move transition-all dark:bg-gray-800 dark:hover:bg-gray-700",draggable:"true",onDragstart:t=>{return r=t,n=e.type,void(r.dataTransfer&&(r.dataTransfer.setData("application/json",JSON.stringify({type:n})),r.dataTransfer.effectAllowed="copy"));var r,n}},[(Ro(),Go(Ai(e.icon),{class:"w-8 h-8 text-gray-600 dark:text-gray-300 mb-2"})),Xo("span",gN,oe(Qt(t)(e.label)),1)],40,fN))),128))])])),64)):na("",!0)]),(Ro(),Go(yn,{to:Qt(n)||"body"},[a.value?(Ro(),jo("div",{key:0,class:"fixed inset-0 z-[2000] pointer-events-auto",onClick:o[2]||(o[2]=e=>a.value=null)},[Xo("div",{class:"sidebar-context-menu absolute w-40 bg-white dark:bg-gray-800 rounded shadow-lg border border-gray-100 dark:border-gray-700 z-[2001] py-1 pointer-events-auto",style:G(s.value),onClick:o[1]||(o[1]=zs(()=>{},["stop"]))},[b.value?(Ro(!0),jo(Do,{key:0},pi(S(b.value),e=>(Ro(),jo("button",{key:e.key,onClick:t=>(async(e,t)=>{if(!B(e,t)){a.value=null,k(e.actionKey,t);try{"function"==typeof e.onClick&&await e.onClick({source:"customElement",item:t}),e.eventName&&r.emitContextMenuEvent(e.eventName,{source:"customElement",actionKey:e.actionKey||null,key:e.key,item:t})}catch(n){}}})(e,b.value),disabled:B(e,b.value),class:X(["w-full text-left px-3 py-1.5 text-xs flex items-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed",e.danger?"text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/30":"text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-700"])},[e.iconComponent?(Ro(),Go(Ai(e.iconComponent),{key:0,class:"w-3.5 h-3.5"})):e.iconImage?(Ro(),jo("img",{key:1,src:e.iconImage,class:"w-3.5 h-3.5 object-contain"},null,8,mN)):e.iconClass?(Ro(),jo("i",{key:2,class:X(e.iconClass)},null,2)):m(e.icon)?(Ro(),jo("img",{key:3,src:m(e.icon),class:"w-3.5 h-3.5 object-contain"},null,8,yN)):e.icon?(Ro(),jo("span",bN,oe(e.icon),1)):na("",!0),Xo("span",null,oe(e.label),1)],10,vN))),128)):na("",!0)],4)])):na("",!0)],8,["to"])),Zo(Kk,{show:l.value,"initial-value":A.value,"initial-values":d.value,fields:h.value,title:"edit"===u.value?Qt(t)("sidebar.editModalTitle"):Qt(t)("common.copy"),placeholder:Qt(t)("sidebar.enterNamePlaceholder"),onClose:o[3]||(o[3]=e=>l.value=!1),onSave:_},null,8,["show","initial-value","initial-values","fields","title","placeholder"]),Zo(rE,{visible:p.value,"onUpdate:visible":o[4]||(o[4]=e=>p.value=e),title:Qt(t)("common.testData"),value:f.value,language:"json","onUpdate:value":o[5]||(o[5]=e=>f.value=e),onClose:E},null,8,["visible","title","value"])]))}}),xN={key:0,class:"flex items-center justify-between"},_N={class:"text-sm text-gray-700 dark:text-gray-200 font-medium"},CN=["disabled"],SN={class:"sr-only"},BN={key:1},kN={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},EN=["value","disabled","placeholder"],IN=["type","value","disabled","placeholder","min","max","step"],TN=Nn({__name:"PropertyInput",props:{label:{},value:{type:[String,Number,Boolean]},type:{},placeholder:{},min:{},max:{},step:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=t,n=e=>{const t=e.target;r("update:value",t.value)};return(t,r)=>"switch"===e.type?(Ro(),jo("div",xN,[Xo("label",_N,oe(e.label),1),Xo("button",{type:"button",disabled:e.disabled,onClick:r[0]||(r[0]=r=>t.$emit("update:value",!e.value)),class:X(["relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed",e.value?"bg-blue-600 dark:bg-blue-500":"bg-gray-200 dark:bg-gray-700"])},[Xo("span",SN,"Toggle "+oe(e.label),1),Xo("span",{"aria-hidden":"true",class:X(["pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white dark:bg-gray-100 shadow ring-0 transition duration-200 ease-in-out",e.value?"translate-x-5":"translate-x-0"])},null,2)],10,CN)])):(Ro(),jo("div",BN,[Xo("label",kN,oe(e.label),1),"textarea"===e.type?(Ro(),jo("textarea",{key:0,value:void 0===e.value||null===e.value?"":String(e.value),disabled:e.disabled,placeholder:e.placeholder,onInput:n,class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none h-24 resize-y disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},null,40,EN)):(Ro(),jo("input",{key:1,type:e.type||"text",value:void 0===e.value||null===e.value?"":String(e.value),disabled:e.disabled,placeholder:e.placeholder,min:e.min,max:e.max,step:e.step,onChange:n,class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},null,40,IN))]))}}),PN={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},MN=["value","disabled"],LN=["value"],DN=Nn({__name:"PropertySelect",props:{label:{},value:{type:[String,Number,Boolean]},options:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,i=e=>{const t=e.target.value,i=r.options.find(e=>String(e.value)===t);n("update:value",i?i.value:t)};return(t,r)=>(Ro(),jo("div",null,[Xo("label",PN,oe(e.label),1),Xo("select",{value:e.value,disabled:e.disabled,onChange:i,class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},[(Ro(!0),jo(Do,null,pi(e.options,e=>(Ro(),jo("option",{key:String(e.value),value:e.value,class:"dark:bg-gray-800 dark:text-gray-200"},oe(e.label),9,LN))),128))],40,MN)]))}}),NN={class:"flex items-center justify-between"},ON={class:"text-xs text-gray-500 dark:text-gray-400"},FN={class:"flex items-center gap-2"},UN={key:0,class:"absolute inset-0 flex items-center justify-center"},zN=Nn({__name:"PropertyColor",props:{label:{},value:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=t;return(t,n)=>(Ro(),jo("div",NN,[Xo("label",ON,oe(e.label),1),Xo("div",FN,[Zo(zB,{"model-value":e.value,"onUpdate:modelValue":n[0]||(n[0]=e=>r("update:value",e)),disabled:e.disabled,"allow-transparent":!0},{trigger:Jr(({color:t,open:r})=>[Xo("div",{class:X(["w-8 h-6 rounded border border-gray-300 dark:border-gray-600 cursor-pointer relative overflow-hidden hover:border-blue-500 dark:hover:border-blue-400 transition-colors",{"ring-2 ring-blue-500 dark:ring-blue-400 ring-offset-1 dark:ring-offset-gray-900":r,"opacity-50 cursor-not-allowed":e.disabled}])},[n[2]||(n[2]=Xo("div",{class:"absolute inset-0 bg-[url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwZ+5wNisxL//8n04mEeRAAAhNwX869V4DYAAAAASUVORK5CYII=')] opacity-50"},null,-1)),Xo("div",{class:"absolute inset-0",style:G({backgroundColor:"transparent"===t?"transparent":t})},null,4),"transparent"===t?(Ro(),jo("div",UN,[...n[1]||(n[1]=[Xo("div",{class:"w-full h-[1px] bg-red-500 rotate-45"},null,-1)])])):na("",!0)],2)]),_:1},8,["model-value","disabled"])])]))}}),RN={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const QN=Lt({name:"material-symbols-open-in-full",render:function(e,t){return Ro(),jo("svg",RN,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M3 21v-8h2v4.6L17.6 5H13V3h8v8h-2V6.4L6.4 19H11v2z"},null,-1)])])}}),HN={class:"flex flex-col gap-1"},VN={class:"flex justify-between items-center"},jN={class:"text-xs text-gray-500 font-medium"},GN={class:"flex items-center gap-2"},WN={class:"text-[10px] text-gray-400 uppercase"},KN=Nn({__name:"PropertyCode",props:{label:{},value:{},language:{},disabled:{type:Boolean},height:{}},emits:["update:value"],setup(e,{emit:t}){const r=jn(()=>Promise.resolve().then(()=>XH).then(e=>e.Editor)),n=t;Wb();const{isDark:i}=ew(),o=Ft(!1),a=Ta(()=>({minimap:{enabled:!1},lineNumbers:"on",glyphMargin:!1,folding:!0,wordWrap:"on",automaticLayout:!0,scrollBeyondLastLine:!1,theme:i.value?"vs-dark":"vs",fontSize:12,fontFamily:'Consolas, "Courier New", monospace',renderLineHighlight:"none",overviewRulerLanes:0,hideCursorInOverviewRuler:!0,contextmenu:!1})),s=e=>{n("update:value",e||"")},l=()=>{o.value=!o.value},u=()=>{o.value=!1},c=e=>{n("update:value",e)};return(t,n)=>(Ro(),jo("div",HN,[Xo("div",VN,[Xo("label",jN,oe(e.label),1),Xo("div",GN,[Xo("span",WN,oe(e.language),1),Xo("button",{onClick:l,class:"text-gray-400 hover:text-blue-600 transition-colors p-0.5 rounded hover:bg-gray-100",title:"Expand Editor"},[Zo(Qt(QN),{class:"w-3.5 h-3.5"})])])]),Xo("div",{class:"border border-gray-300 rounded overflow-hidden focus-within:border-blue-500 focus-within:ring-1 focus-within:ring-blue-500 resize-y relative group",style:G({height:`${e.height||200}px`,minHeight:"100px",maxHeight:"600px"})},[Zo(Qt(r),{value:e.value,language:e.language,options:{...a.value,readOnly:e.disabled},"onUpdate:value":s,class:"w-full h-full"},null,8,["value","language","options"]),n[1]||(n[1]=Xo("div",{class:"absolute bottom-0 right-0 w-3 h-3 cursor-ns-resize pointer-events-none bg-gradient-to-tl from-gray-300 to-transparent opacity-50 group-hover:opacity-100"},null,-1))],4),Zo(rE,{visible:o.value,"onUpdate:visible":n[0]||(n[0]=e=>o.value=e),title:e.label,value:e.value,language:e.language,"read-only":e.disabled,"onUpdate:value":c,onClose:u},null,8,["visible","title","value","language","read-only"])]))}}),qN=zC(KN,[["__scopeId","data-v-e19d1803"]]),YN={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},XN={class:"space-y-2"},ZN=["value","disabled","placeholder"],JN={class:"flex flex-col gap-1"},$N=["disabled"],eO={class:"text-[10px] text-gray-400 dark:text-gray-500 text-center"},tO={key:0,class:"text-xs text-red-500 mt-1"},rO=Nn({__name:"PropertyImage",props:{label:{},value:{},disabled:{type:Boolean},placeholder:{}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Ft(null),a=Ft(""),s=()=>{var e;r.disabled||null==(e=o.value)||e.click()},l=e=>{var t;const r=e.target,o=null==(t=r.files)?void 0:t[0];if(!o)return;if(a.value="",o.size>2097152)return a.value=i("properties.image.sizeError"),void(r.value="");const s=new FileReader;s.onload=e=>{var t;const r=null==(t=e.target)?void 0:t.result;n("update:value",r)},s.onerror=()=>{a.value=i("properties.image.readError")},s.readAsDataURL(o),r.value=""},u=e=>{const t=e.target;n("update:value",t.value)};return(t,r)=>(Ro(),jo("div",null,[Xo("label",YN,oe(e.label),1),Xo("div",XN,[Xo("input",{type:"text",value:e.value||"",disabled:e.disabled,placeholder:e.placeholder||Qt(i)("properties.image.urlPlaceholder"),onInput:u,class:"w-full px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},null,40,ZN),Xo("div",JN,[Xo("button",{type:"button",onClick:s,disabled:e.disabled,class:"w-full py-1.5 px-3 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 border border-gray-300 dark:border-gray-700 rounded hover:bg-gray-50 dark:hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-blue-500 disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2 transition-colors"},[r[0]||(r[0]=Xo("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12"})],-1)),ta(" "+oe(Qt(i)("properties.image.uploadBtn")),1)],8,$N),Xo("span",eO,oe(Qt(i)("properties.image.uploadTip")),1)]),a.value?(Ro(),jo("p",tO,oe(a.value),1)):na("",!0),Xo("input",{ref_key:"fileInput",ref:o,type:"file",accept:"image/*",class:"hidden",onChange:l},null,544)])]))}}),nO={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},iO={class:"relative"},oO=["disabled"],aO={key:0,class:"truncate flex-1"},sO={key:1,class:"text-gray-400 dark:text-gray-500 truncate flex-1"},lO={key:0,class:"absolute top-full left-0 right-0 mt-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-[3000]"},uO={class:"p-2 border-b border-gray-100 dark:border-gray-700 sticky top-0 bg-white dark:bg-gray-800"},cO={class:"relative"},AO=["value","placeholder"],dO={class:"max-h-40 overflow-y-auto custom-scrollbar"},hO={key:0,class:"px-3 py-4 text-xs text-gray-400 dark:text-gray-500 text-center"},pO=["onMousedown"],fO={class:"truncate text-gray-700 dark:text-gray-200"},gO={key:0,class:"truncate text-gray-400 dark:text-gray-500 text-xs ml-auto"},vO=Nn({__name:"PropertyFieldSelect",props:{label:{},value:{},placeholder:{},disabled:{type:Boolean},filter:{}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Wb(),a=Ft(""),s=Ft(null),l=Ta(()=>{const e=[],t=e=>{if(null==e)return!1;if("number"==typeof e)return!isNaN(e);if("string"==typeof e){if(""===e.trim())return!1;const t=Number(e);return!isNaN(t)&&isFinite(t)}return!1},n=e=>{const r=o.testData||{},n=Lb(e);let i=Ub(r,n);if(null==i){const e=n.split(".");let t=r;for(const r of e){if(!t||"object"!=typeof t||!(r in t))break;t=t[r]}i=t}return null!=i?Array.isArray(i)?{type:"array",isNumeric:!1}:{type:typeof i,isNumeric:t(i)}:{type:"unknown",isNumeric:!1}},i=(t,a)=>{if((e=>"array"===r.filter?!!e.isArray:"text"===r.filter||"number"===r.filter?!e.isArray:"numeric"!==r.filter||!e.isArray)(t)){const s=n(t.id);if(("numeric"===r.filter||"number"===r.filter)&&!s.isNumeric){if(t.children&&t.children.length>0)for(const e of t.children)i(e,a);return}const l="array"===r.filter?(e=>{const t=o.testData||{},r=Lb(e);let n=Ub(t,r);if(!n||!Array.isArray(n)||0===n.length){const e=r.split(".");let i=t;for(const t of e){if(!i||"object"!=typeof i||!(t in i))break;i=i[t]}Array.isArray(i)&&i.length>0&&(n=i)}if(Array.isArray(n)&&n.length>0){const e=n[0];if(e&&"object"==typeof e){const t=Object.keys(e);if(t.length>0){const r=e[t[0]];if(null!=r)return"object"==typeof r?JSON.stringify(r).slice(0,20)+"...":String(r).slice(0,15)}}}return""})(t.id):"",u="number"===r.filter||"numeric"===r.filter?n(t.id).type:void 0;e.push({path:t.id,label:t.label,depth:a,isArray:!!t.isArray,key:t.id,...l?{sampleValue:l}:{},...u?{valueType:u}:{}})}if(t.children&&t.children.length>0)for(const e of t.children)i(e,a+1)},a=o.availableVariables||[];for(const r of a)i(r,0);return e}),u=Ta(()=>{if(!a.value.trim())return l.value;const e=a.value.toLowerCase();return l.value.filter(t=>t.label.toLowerCase().includes(e)||t.path.toLowerCase().includes(e))}),c=Ta(()=>r.value?Lb(r.value):"");Ta(()=>{if(!c.value)return"";const e=l.value.find(e=>e.path===c.value);return e?e.label:c.value});const A=Ft(!1),d=()=>{n("update:value",""),a.value=""},h=()=>{r.disabled||(A.value=!A.value,A.value&&(a.value="",setTimeout(()=>{var e;null==(e=s.value)||e.focus()},50)))},p=e=>{const t=e.relatedTarget;t&&e.currentTarget.contains(t)||(A.value=!1,a.value="")},f=e=>{a.value=e.target.value};return(t,r)=>(Ro(),jo("div",{class:"relative",onFocusout:p},[Xo("label",nO,oe(e.label),1),Xo("div",iO,[Xo("button",{type:"button",disabled:e.disabled,onClick:h,class:"w-full flex items-center justify-between px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 disabled:cursor-not-allowed bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 text-left min-h-[30px]"},[c.value?(Ro(),jo("span",aO,oe(c.value),1)):(Ro(),jo("span",sO,oe(e.placeholder||Qt(i)("properties.label.selectField")),1)),c.value?(Ro(),jo("span",{key:2,onClick:zs(d,["stop"]),class:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 ml-1 flex-shrink-0 cursor-pointer"},"×")):na("",!0),r[0]||(r[0]=Xo("svg",{class:"w-3.5 h-3.5 text-gray-400 ml-1 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))],8,oO),A.value?(Ro(),jo("div",lO,[Xo("div",uO,[Xo("div",cO,[r[1]||(r[1]=Xo("svg",{class:"absolute left-2 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),Xo("input",{ref_key:"searchInputRef",ref:s,type:"text",value:a.value,onInput:f,placeholder:Qt(i)("properties.label.searchField"),class:"w-full pl-8 pr-3 py-1.5 text-xs border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 placeholder-gray-400 dark:placeholder-gray-500"},null,40,AO)])]),Xo("div",dO,[0===u.value.length?(Ro(),jo("div",hO,oe((a.value,Qt(i)("common.noData"))),1)):na("",!0),(Ro(!0),jo(Do,null,pi(u.value,e=>(Ro(),jo("div",{key:e.key,onMousedown:zs(t=>{return r=e.path,n("update:value",r),A.value=!1,void(a.value="");var r},["prevent"]),class:X(["flex items-center gap-1.5 px-3 py-1.5 text-sm cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",{"bg-blue-50 dark:bg-blue-900/20 text-blue-600 dark:text-blue-400":c.value===e.path}])},[Xo("span",{style:G({width:16*e.depth+"px"}),class:"flex-shrink-0"},null,4),Xo("span",{class:X(["flex-shrink-0 text-[10px] px-1 py-0.5 rounded",e.isArray?"text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20":"text-gray-500 dark:text-gray-400 bg-gray-100 dark:bg-gray-700"])},oe(e.isArray?"[]":"T"),3),Xo("span",fO,oe(e.label),1),e.sampleValue?(Ro(),jo("span",gO," ["+oe(e.sampleValue)+"] ",1)):na("",!0)],42,pO))),128))])])):na("",!0)])],32))}}),mO=zC(vO,[["__scopeId","data-v-3565feb2"]]),yO={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},bO={key:0,class:"text-xs text-gray-400 dark:text-gray-500 py-2"},wO={key:1,class:"max-h-40 overflow-y-auto space-y-0.5 custom-scrollbar border border-gray-200 dark:border-gray-700 rounded p-1.5 bg-white dark:bg-gray-800"},xO=["checked","disabled","onChange"],_O={class:"text-gray-700 dark:text-gray-200 truncate"},CO=zC(Nn({__name:"PropertyColumnPicker",props:{label:{},fields:{},value:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t;return(t,i)=>(Ro(),jo("div",null,[Xo("label",yO,oe(e.label),1),e.fields&&0!==e.fields.length?(Ro(),jo("div",wO,[(Ro(!0),jo(Do,null,pi(e.fields,t=>(Ro(),jo("label",{key:t,class:X(["flex items-center gap-2 px-2 py-1 rounded hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer select-none text-sm",{"opacity-50":e.disabled}])},[Xo("input",{type:"checkbox",checked:new Set(r.value||[]).has(t),disabled:e.disabled,onChange:e=>(e=>{const t=[...r.value||[]],i=t.indexOf(e);i>=0?t.splice(i,1):t.push(e),n("update:value",t)})(t),class:"w-3.5 h-3.5 rounded border-gray-300 dark:border-gray-600 text-blue-600 focus:ring-blue-500 cursor-pointer"},null,40,xO),Xo("span",_O,oe(t),1)],2))),128))])):(Ro(),jo("div",bO,oe(t.$t("common.noData")),1))]))}}),[["__scopeId","data-v-1e890fd6"]]),SO={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},BO={class:"relative"},kO=["disabled"],EO={key:0,class:"truncate flex-1"},IO={key:1,class:"text-gray-400 dark:text-gray-500 truncate flex-1"},TO={key:0,class:"absolute top-full left-0 right-0 mt-1 max-h-48 overflow-y-auto bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-[3000] custom-scrollbar"},PO={key:0,class:"px-3 py-2 text-xs text-gray-400 dark:text-gray-500 text-center"},MO=["onMousedown"],LO={class:"truncate text-gray-700 dark:text-gray-200"},DO=Nn({__name:"PropertyChartDataSelect",props:{label:{},value:{},placeholder:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Wb(),a=Ta(()=>{const e=[],t=o.testData;if(!t||"object"!=typeof t)return e;const r=e=>Array.isArray(e)?"array":typeof e;return((t,n,i)=>{for(const[o,a]of Object.entries(t)){const t=o,n=r(a);(Array.isArray(a)&&a.length>0||null!=a)&&e.push({path:t,label:o,depth:i,key:t,type:n})}})(t,0,0),e}),s=Ta(()=>r.value?Lb(r.value):""),l=Ft(!1),u=()=>{n("update:value","")},c=()=>{r.disabled||(l.value=!l.value)},A=e=>{const t=e.relatedTarget;t&&e.currentTarget.contains(t)||(l.value=!1)};return(t,r)=>(Ro(),jo("div",{class:"relative",onFocusout:A},[Xo("label",SO,oe(e.label),1),Xo("div",BO,[Xo("button",{type:"button",disabled:e.disabled,onClick:c,class:"w-full flex items-center justify-between px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 disabled:cursor-not-allowed bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 text-left min-h-[30px]"},[s.value?(Ro(),jo("span",EO,oe(s.value),1)):(Ro(),jo("span",IO,oe(e.placeholder||Qt(i)("properties.label.selectDataSource")),1)),s.value?(Ro(),jo("span",{key:2,onClick:zs(u,["stop"]),class:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 ml-1 flex-shrink-0 cursor-pointer"},"×")):na("",!0),r[0]||(r[0]=Xo("svg",{class:"w-3.5 h-3.5 text-gray-400 ml-1 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))],8,kO),l.value?(Ro(),jo("div",TO,[0===a.value.length?(Ro(),jo("div",PO,oe(Qt(i)("common.noData")),1)):na("",!0),(Ro(!0),jo(Do,null,pi(a.value,e=>{var t;return Ro(),jo("div",{key:e.key,onMousedown:zs(t=>{return r=e.path,n("update:value",r),void(l.value=!1);var r},["prevent"]),class:X(["flex items-center gap-1.5 px-3 py-1.5 text-sm cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",{"bg-blue-50 dark:bg-blue-900/20 text-blue-600 dark:text-blue-400":s.value===e.path}])},[Xo("span",{style:G({width:16*e.depth+"px"}),class:"flex-shrink-0"},null,4),Xo("span",{class:X(["flex-shrink-0 text-[10px] px-1 py-0.5 rounded","array"===e.type?"text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20":"text-gray-500 dark:text-gray-400 bg-gray-100 dark:bg-gray-700"])},oe("array"===e.type?"[]":(null==(t=e.type)?void 0:t.slice(0,3))||"val"),3),Xo("span",LO,oe(e.label),1)],42,MO)}),128))])):na("",!0)])],32))}}),NO=zC(DO,[["__scopeId","data-v-14b424bd"]]),OO={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},FO={class:"relative"},UO=["disabled"],zO={key:0,class:"truncate flex-1"},RO={key:1,class:"text-gray-400 dark:text-gray-500 truncate flex-1"},QO={key:3,class:"w-3.5 h-3.5 text-gray-400 ml-1 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},HO={key:0,class:"absolute top-full left-0 right-0 mt-1 max-h-48 overflow-y-auto bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-[3000] custom-scrollbar"},VO={key:0,class:"px-3 py-2 text-xs text-gray-400 dark:text-gray-500 text-center"},jO={key:1,class:"px-3 py-2 text-xs text-gray-400 dark:text-gray-500 text-center"},GO=["onMousedown"],WO={class:"truncate text-gray-700 dark:text-gray-200"},KO=Nn({__name:"PropertyChartFieldSelect",props:{label:{},value:{},placeholder:{},disabled:{type:Boolean},dataVariable:{}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Wb(),a=Ta(()=>{const e=[];if(!r.dataVariable)return e;const t=Lb(r.dataVariable),n=o.testData;if(!n||"object"!=typeof n)return e;let i=Ub(n,t);if(!Array.isArray(i)){const e=t.split(".");let r=n;for(const t of e){if(!r||"object"!=typeof r||!(t in r))break;r=r[t]}Array.isArray(r)&&(i=r)}if(!Array.isArray(i)||0===i.length)return e;const a=i[0];if(!a||"object"!=typeof a)return e;return((t,r,n)=>{for(const[i,o]of Object.entries(t)){const t=i,r=Fb(o);"object"!==r&&"array"!==r&&e.push({path:t,label:i,depth:n,type:r,key:t})}})(a,0,0),e}),s=Ta(()=>r.value?r.value:""),l=Ft(!1),u=()=>{n("update:value","")},c=()=>{r.disabled||r.dataVariable&&(l.value=!l.value)},A=e=>{const t=e.relatedTarget;t&&e.currentTarget.contains(t)||(l.value=!1)};return an(()=>r.dataVariable,async(e,t)=>{if(r.value){a.value.some(e=>e.path===r.value)||n("update:value","")}},{immediate:!0}),an(()=>o.testData,()=>{if(r.value){a.value.some(e=>e.path===r.value)||n("update:value","")}},{deep:!0}),(t,r)=>(Ro(),jo("div",{class:"relative",onFocusout:A},[Xo("label",OO,oe(e.label),1),Xo("div",FO,[Xo("button",{type:"button",disabled:e.disabled||!e.dataVariable,onClick:c,class:X(["w-full flex items-center justify-between px-2 py-1 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 disabled:cursor-not-allowed bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 text-left min-h-[30px]",{"border-yellow-400 dark:border-yellow-500":e.dataVariable&&!s.value}])},[s.value?(Ro(),jo("span",zO,oe(s.value),1)):(Ro(),jo("span",RO,oe(e.dataVariable?e.placeholder||Qt(i)("properties.label.selectField"):Qt(i)("properties.label.selectDataSourceFirst")),1)),s.value&&!e.disabled?(Ro(),jo("span",{key:2,onClick:zs(u,["stop"]),class:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 ml-1 flex-shrink-0 cursor-pointer"},"×")):na("",!0),e.dataVariable?(Ro(),jo("svg",QO,[...r[0]||(r[0]=[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])])):na("",!0)],10,UO)]),l.value?(Ro(),jo("div",HO,[e.dataVariable?0===a.value.length?(Ro(),jo("div",jO,oe(Qt(i)("common.noData")),1)):(Ro(!0),jo(Do,{key:2},pi(a.value,e=>(Ro(),jo("div",{key:e.key,onMousedown:zs(t=>{return r=e.path,n("update:value",r),void(l.value=!1);var r},["prevent"]),class:X(["flex items-center gap-1.5 px-3 py-1.5 text-sm cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",{"bg-blue-50 dark:bg-blue-900/20 text-blue-600 dark:text-blue-400":s.value===e.path}])},[Xo("span",{style:G({width:16*e.depth+"px"}),class:"flex-shrink-0"},null,4),Xo("span",{class:X(["flex-shrink-0 text-[10px] px-1 py-0.5 rounded",{"text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20":"string"===e.type,"text-green-600 dark:text-green-400 bg-green-50 dark:bg-green-900/20":"number"===e.type,"text-orange-600 dark:text-orange-400 bg-orange-50 dark:bg-orange-900/20":"boolean"===e.type}])},oe("string"===e.type?"T":"number"===e.type?"#":"?"),3),Xo("span",WO,oe(e.label),1)],42,GO))),128)):(Ro(),jo("div",VO,oe(Qt(i)("properties.label.selectDataSourceFirst")),1))])):na("",!0)],32))}}),qO=zC(KO,[["__scopeId","data-v-9d2cf375"]]),YO={class:"space-y-2"},XO={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1 font-medium"},ZO={class:"flex items-center gap-1 p-2 border border-gray-300 dark:border-gray-600 rounded-t bg-gray-50 dark:bg-gray-800"},JO=["disabled"],$O=["disabled"],eF=["disabled"],tF=["disabled"],rF=["disabled"],nF=["disabled"],iF=["disabled"],oF={key:0,class:"min-h-[120px] max-h-[200px] overflow-auto p-3 border border-gray-300 dark:border-gray-600 rounded-b bg-white dark:bg-gray-800"},aF=["innerHTML"],sF={key:1,class:"text-gray-400 text-sm"},lF=["placeholder","disabled"],uF=Nn({__name:"PropertyRichText",props:{label:{},value:{},placeholder:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh();Wb();const o=Ft(r.value||""),a=Ft(!1);an(()=>r.value,e=>{o.value=e||""});const s=Ta(()=>{if(!o.value)return"";try{return(new DOMParser).parseFromString(o.value,"text/html").body.innerHTML}catch{return o.value}}),l=e=>{o.value=e,n("update:value",e)},u=()=>{const e=window.getSelection();if(e&&e.rangeCount>0){const t=e.getRangeAt(0),r=t.toString();if(r){const e=`<strong>${r}</strong>`;t.deleteContents(),t.insertNode(document.createTextNode(e)),l(o.value+e)}else l(o.value+"<strong>选中文本</strong>")}else l(o.value+"<strong>加粗文本</strong>")},c=()=>{l(o.value+"<em>斜体文本</em>")},A=()=>{l(o.value+"<u>下划线文本</u>")},d=()=>{l(o.value+"<ul><li>列表项 1</li><li>列表项 2</li></ul>")},h=()=>{l(o.value+"<ol><li>列表项 1</li><li>列表项 2</li></ol>")},p=()=>{l(o.value+"<p>段落文本</p>")};return(t,r)=>(Ro(),jo("div",YO,[Xo("label",XO,oe(e.label),1),Xo("div",ZO,[Xo("button",{onClick:u,disabled:e.disabled,class:"px-2 py-1 text-sm font-bold hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-50",title:"加粗"}," B ",8,JO),Xo("button",{onClick:c,disabled:e.disabled,class:"px-2 py-1 text-sm italic hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-50",title:"斜体"}," I ",8,$O),Xo("button",{onClick:A,disabled:e.disabled,class:"px-2 py-1 text-sm underline hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-50",title:"下划线"}," U ",8,eF),r[3]||(r[3]=Xo("div",{class:"w-px h-5 bg-gray-300 dark:bg-gray-600 mx-1"},null,-1)),Xo("button",{onClick:d,disabled:e.disabled,class:"px-2 py-1 text-sm hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-50",title:"无序列表"}," • ",8,tF),Xo("button",{onClick:h,disabled:e.disabled,class:"px-2 py-1 text-sm hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-50",title:"有序列表"}," 1. ",8,rF),Xo("button",{onClick:p,disabled:e.disabled,class:"px-2 py-1 text-sm hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-50",title:"段落"}," P ",8,nF),r[4]||(r[4]=Xo("div",{class:"flex-1"},null,-1)),Xo("button",{onClick:r[0]||(r[0]=e=>a.value=!a.value),disabled:e.disabled,class:X(["px-2 py-1 text-xs hover:bg-gray-200 dark:hover:bg-gray-700 rounded disabled:opacity-50",a.value?"bg-blue-100 dark:bg-blue-900 text-blue-600":""])},oe(a.value?"编辑":"预览"),11,iF)]),a.value?(Ro(),jo("div",oF,[s.value?(Ro(),jo("div",{key:0,class:"prose prose-sm dark:prose-invert max-w-none",innerHTML:s.value},null,8,aF)):(Ro(),jo("div",sF,oe(Qt(i)("properties.label.richTextPlaceholder")),1))])):en((Ro(),jo("textarea",{key:1,"onUpdate:modelValue":r[1]||(r[1]=e=>o.value=e),onInput:r[2]||(r[2]=e=>l(o.value)),placeholder:e.placeholder,disabled:e.disabled,class:"w-full px-3 py-2 text-sm border border-gray-300 dark:border-gray-600 rounded-b focus:border-blue-500 outline-none h-32 resize-y font-mono disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},null,40,lF)),[[Ms,o.value]])]))}}),cF=zC(uF,[["__scopeId","data-v-89540a2c"]]),AF={class:"space-y-3"},dF={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1 font-medium"},hF={class:"space-y-2"},pF={class:"flex-1 min-w-0"},fF={class:"block text-[10px] text-gray-400 mb-1"},gF=["value","onInput","disabled"],vF={class:"flex-1 min-w-0"},mF={class:"block text-[10px] text-gray-400 mb-1"},yF=["value","onInput","disabled"],bF={class:"w-16"},wF={class:"block text-[10px] text-gray-400 mb-1"},xF=["value","onInput","disabled"],_F={class:"flex flex-col gap-1"},CF=["onClick","disabled"],SF=["onClick","disabled"],BF=["onClick","disabled"],kF=["disabled"],EF=Nn({__name:"PropertyNestedColumns",props:{label:{},value:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh();Wb();const o=Ft([]);an(()=>r.value,e=>{o.value=e&&Array.isArray(e)?[...e]:[]},{immediate:!0,deep:!0});const a=()=>{o.value.push({field:`field${o.value.length+1}`,header:`表头${o.value.length+1}`,width:100}),l()},s=(e,t,r)=>{o.value[e]&&(o.value[e][t]=r,l())},l=()=>{n("update:value",[...o.value])},u=(e,t)=>{const r="up"===t?e-1:e+1;if(r<0||r>=o.value.length)return;const n=o.value[e];o.value[e]=o.value[r],o.value[r]=n,l()};return(t,r)=>(Ro(),jo("div",AF,[Xo("label",dF,oe(e.label),1),Xo("div",hF,[(Ro(!0),jo(Do,null,pi(o.value,(t,n)=>(Ro(),jo("div",{key:n,class:"flex items-center gap-2 p-2 bg-gray-50 dark:bg-gray-800 rounded-lg"},[Xo("div",pF,[Xo("label",fF,oe(Qt(i)("properties.label.fieldKey")),1),Xo("input",{type:"text",value:t.field,onInput:e=>s(n,"field",e.target.value),disabled:e.disabled,class:"w-full px-2 py-1 text-xs border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 disabled:opacity-50",placeholder:"field"},null,40,gF)]),Xo("div",vF,[Xo("label",mF,oe(Qt(i)("properties.label.headerText")),1),Xo("input",{type:"text",value:t.header,onInput:e=>s(n,"header",e.target.value),disabled:e.disabled,class:"w-full px-2 py-1 text-xs border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 disabled:opacity-50",placeholder:"表头"},null,40,yF)]),Xo("div",bF,[Xo("label",wF,oe(Qt(i)("properties.label.width")),1),Xo("input",{type:"number",value:t.width,onInput:e=>s(n,"width",Number(e.target.value)),disabled:e.disabled,min:"30",max:"300",class:"w-full px-2 py-1 text-xs border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 disabled:opacity-50 [appearance:textfield] [-moz-appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none",placeholder:"100"},null,40,xF)]),Xo("div",_F,[Xo("button",{onClick:e=>u(n,"up"),disabled:e.disabled||0===n,class:"p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 disabled:opacity-30 disabled:cursor-not-allowed",title:"上移"},[...r[0]||(r[0]=[Xo("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 15l7-7 7 7"})],-1)])],8,CF),Xo("button",{onClick:e=>u(n,"down"),disabled:e.disabled||n===o.value.length-1,class:"p-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 disabled:opacity-30 disabled:cursor-not-allowed",title:"下移"},[...r[1]||(r[1]=[Xo("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1)])],8,SF),Xo("button",{onClick:e=>(e=>{o.value.splice(e,1),l()})(n),disabled:e.disabled||o.value.length<=1,class:"p-1 text-red-400 hover:text-red-600 disabled:opacity-30 disabled:cursor-not-allowed",title:"删除"},[...r[2]||(r[2]=[Xo("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])],8,BF)])]))),128))]),Xo("button",{onClick:a,disabled:e.disabled,class:"w-full px-3 py-2 text-xs border border-dashed border-gray-300 dark:border-gray-600 rounded-lg text-gray-500 dark:text-gray-400 hover:border-blue-500 hover:text-blue-500 disabled:opacity-50 disabled:cursor-not-allowed transition-colors"}," + "+oe(Qt(i)("properties.action.addColumn")),9,kF)]))}}),IF={class:"space-y-2"},TF={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1 font-medium"},PF={class:"relative"},MF=["disabled"],LF={class:"flex flex-col items-start min-w-0 flex-1"},DF={key:0,class:"truncate text-sm font-medium"},NF={key:1,class:"text-gray-400 dark:text-gray-500 truncate text-sm"},OF={key:0,class:"absolute top-full left-0 right-0 mt-1 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-[3000]"},FF={class:"flex border-b border-gray-100 dark:border-gray-700"},UF=["disabled"],zF=["disabled"],RF={class:"max-h-60 overflow-y-auto p-2"},QF={key:0,class:"px-3 py-4 text-xs text-gray-400 text-center"},HF=["onMousedown"],VF={class:"truncate text-gray-700 dark:text-gray-200 flex-1"},jF={class:"text-[10px] text-gray-400 truncate"},GF={class:"flex items-center justify-between px-2 py-1 text-xs text-gray-500 mb-1"},WF={key:0,class:"px-3 py-4 text-xs text-gray-400 text-center"},KF=["onMousedown"],qF={class:"truncate text-gray-700 dark:text-gray-200"},YF={class:"flex items-center justify-between px-2 py-1 text-xs text-gray-500 mb-1"},XF={key:0,class:"px-3 py-4 text-xs text-gray-400 text-center"},ZF=["onMousedown"],JF={class:"truncate text-gray-700 dark:text-gray-200"},$F=Nn({__name:"PropertyNestedTableData",props:{label:{},value:{},placeholder:{},disabled:{type:Boolean},childField:{},parentField:{}},emits:["update:value","update:childField","update:parentField"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Wb(),a=e=>Array.isArray(e)?"array":null===e?"null":void 0===e?"undefined":typeof e,s=(e,t="")=>{if(!e||"object"!=typeof e)return[];const r=[];for(const[n,i]of Object.entries(e)){const e=t?`${t}.${n}`:n,o=a(i);if("array"===o)r.push({path:e,label:n,type:o});else if("object"===o){const t=s(i,e);r.push(...t)}else r.push({path:e,label:n,type:o})}return r},l=Ta(()=>o.testData||{}),u=Ta(()=>s(l.value)),c=Ta(()=>u.value.filter(e=>"array"===e.type)),A=Ta(()=>{if(!r.value)return null;const e=Lb(r.value);return Ub(l.value,e)}),d=Ta(()=>{if(!A.value||!Array.isArray(A.value))return[];if(0===A.value.length)return[];const e=A.value[0],t=[];for(const[r,n]of Object.entries(e)){const e=a(n);"object"!==e&&"array"!==e&&t.push({path:r,label:r,type:e})}return t}),h=Ta(()=>{if(!A.value||!Array.isArray(A.value))return[];if(0===A.value.length)return[];const e=A.value[0],t=[];for(const[r,n]of Object.entries(e))Array.isArray(n)&&t.push({path:r,label:r,type:"array"});return t}),p=Ta(()=>r.value?Lb(r.value):""),f=Ft(!1),g=Ft("data"),v=()=>{r.disabled||(f.value=!f.value,f.value&&(g.value="data"))},m=()=>{f.value=!1},y=()=>{"child"===g.value?g.value="parent":"parent"===g.value&&(g.value="data")},b=e=>{switch(e){case"array":return"text-blue-600 dark:text-blue-400 bg-blue-50 dark:bg-blue-900/20";case"object":return"text-purple-600 dark:text-purple-400 bg-purple-50 dark:bg-purple-900/20";default:return"text-gray-500 dark:text-gray-400 bg-gray-100 dark:bg-gray-700"}},w=e=>{switch(e){case"array":return"[]";case"object":return"obj";case"string":return"str";case"number":return"num";case"boolean":return"boo";default:return"?"}};return(t,r)=>(Ro(),jo("div",IF,[Xo("label",TF,oe(e.label),1),Xo("div",PF,[Xo("button",{type:"button",disabled:e.disabled,onClick:v,onBlur:m,class:"w-full flex items-center justify-between px-2 py-1.5 text-sm border border-gray-300 dark:border-gray-700 rounded focus:border-blue-500 dark:focus:border-blue-400 outline-none disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 disabled:cursor-not-allowed bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200 text-left"},[Xo("div",LF,[p.value?(Ro(),jo("span",DF,oe(p.value),1)):(Ro(),jo("span",NF,oe(e.placeholder||"选择数据源"),1))]),r[3]||(r[3]=Xo("svg",{class:"w-4 h-4 text-gray-400 ml-2 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))],40,MF),f.value?(Ro(),jo("div",OF,[Xo("div",FF,[Xo("button",{onMousedown:r[0]||(r[0]=zs(e=>g.value="data",["prevent"])),class:X(["flex-1 px-3 py-2 text-xs font-medium transition-colors","data"===g.value?"text-blue-600 dark:text-blue-400 border-b-2 border-blue-600":"text-gray-500 dark:text-gray-400 hover:text-gray-700"])}," 数据源 ",34),Xo("button",{onMousedown:r[1]||(r[1]=zs(e=>p.value&&(g.value="parent"),["prevent"])),class:X(["flex-1 px-3 py-2 text-xs font-medium transition-colors","parent"===g.value?"text-blue-600 dark:text-blue-400 border-b-2 border-blue-600":p.value?"text-gray-500 dark:text-gray-400 hover:text-gray-700":"text-gray-300 dark:text-gray-600 cursor-not-allowed"]),disabled:!p.value}," 父级字段 ",42,UF),Xo("button",{onMousedown:r[2]||(r[2]=zs(e=>p.value&&d.value.length>0&&(g.value="child"),["prevent"])),class:X(["flex-1 px-3 py-2 text-xs font-medium transition-colors","child"===g.value?"text-blue-600 dark:text-blue-400 border-b-2 border-blue-600":p.value&&d.value.length>0?"text-gray-500 dark:text-gray-400 hover:text-gray-700":"text-gray-300 dark:text-gray-600 cursor-not-allowed"]),disabled:!p.value||0===d.value.length}," 子级字段 ",42,zF)]),Xo("div",RF,["data"===g.value?(Ro(),jo(Do,{key:0},[0===c.value.length?(Ro(),jo("div",QF," 暂无数据 ")):na("",!0),(Ro(!0),jo(Do,null,pi(c.value,e=>(Ro(),jo("div",{key:e.path,onMousedown:zs(t=>{return r=e.path,n("update:value",r),void(g.value="parent");var r},["prevent"]),class:X(["flex items-center gap-2 px-2 py-1.5 text-sm cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-700 rounded transition-colors",{"bg-blue-50 dark:bg-blue-900/20":p.value===e.path}])},[Xo("span",{class:X(["text-[10px] px-1.5 py-0.5 rounded font-mono",b(e.type)])},oe(w(e.type)),3),Xo("span",VF,oe(e.label),1),Xo("span",jF,oe(e.path),1)],42,HF))),128))],64)):"parent"===g.value?(Ro(),jo(Do,{key:1},[Xo("div",GF,[r[4]||(r[4]=Xo("span",null,"选择父级标签字段",-1)),Xo("button",{onMousedown:zs(y,["prevent"]),class:"text-blue-500 hover:text-blue-600"},"← 返回",32)]),0===d.value.length?(Ro(),jo("div",WF," 无可用字段 ")):na("",!0),(Ro(!0),jo(Do,null,pi(d.value,e=>(Ro(),jo("div",{key:e.path,onMousedown:zs(t=>(e=>{n("update:parentField",e),g.value="child"})(e.path),["prevent"]),class:"flex items-center gap-2 px-2 py-1.5 text-sm cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-700 rounded transition-colors"},[Xo("span",{class:X(["text-[10px] px-1.5 py-0.5 rounded font-mono",b(e.type)])},oe(w(e.type)),3),Xo("span",qF,oe(e.label),1)],40,KF))),128))],64)):"child"===g.value?(Ro(),jo(Do,{key:2},[Xo("div",YF,[r[5]||(r[5]=Xo("span",null,"选择子级数组字段",-1)),Xo("button",{onMousedown:zs(y,["prevent"]),class:"text-blue-500 hover:text-blue-600"},"← 返回",32)]),0===h.value.length?(Ro(),jo("div",XF," 未找到子级数组 ")):na("",!0),(Ro(!0),jo(Do,null,pi(h.value,e=>(Ro(),jo("div",{key:e.path,onMousedown:zs(t=>(e=>{n("update:childField",e),f.value=!1,g.value="data"})(e.path),["prevent"]),class:"flex items-center gap-2 px-2 py-1.5 text-sm cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-700 rounded transition-colors"},[Xo("span",{class:X(["text-[10px] px-1.5 py-0.5 rounded font-mono",b(e.type)])},oe(w(e.type)),3),Xo("span",JF,oe(e.label),1)],40,ZF))),128))],64)):na("",!0)])])):na("",!0)])]))}}),eU={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1"},tU={key:0,class:"text-xs text-gray-400 dark:text-gray-500 py-2"},rU={key:1,class:"max-h-48 overflow-y-auto space-y-1 custom-scrollbar border border-gray-200 dark:border-gray-700 rounded p-2 bg-white dark:bg-gray-800"},nU=["title"],iU=["value","disabled","onInput","placeholder"],oU=Nn({__name:"ColumnAliasEditor",props:{label:{},columns:{},disabled:{type:Boolean},testData:{},variable:{},variables:{}},emits:["update:columns"],setup(e,{emit:t}){const r=e,n=t,i=e=>{const t=Lb(e||"");if(!t)return[];const n=(e,t)=>{const r=Ub(e,t);if(Array.isArray(r))return r;if(r&&"object"==typeof r)for(const n of Object.keys(r)){const e=r[n];if(Array.isArray(e)&&e.length>0)return e}return null};let i=n(r.testData||{},t);if(!i||0===i.length){const e=t.startsWith("variables.")?t.slice(10):t;e!==t&&(i=n(r.testData||{},e))}if(i&&0!==i.length||(i=n(r.variables||{},t)),!i||0===i.length)return[];const o=i[0];return o&&"object"==typeof o?Object.keys(o).map(e=>({field:e,header:e})):[]},o=Ta(()=>i(r.variable||""));an(()=>r.variable,e=>{const t=i(e||"");t.length>0&&(!r.columns||0===r.columns.length)&&n("update:columns",t)});const a=Ta(()=>r.columns&&r.columns.length>0?r.columns:r.variable?o.value:[]);return(t,r)=>(Ro(),jo("div",null,[Xo("label",eU,oe(e.label),1),0===a.value.length?(Ro(),jo("div",tU,oe(t.$t("common.noData")),1)):(Ro(),jo("div",rU,[(Ro(!0),jo(Do,null,pi(a.value,r=>(Ro(),jo("div",{key:r.field,class:X(["flex items-center gap-2",{"opacity-50":e.disabled}])},[Xo("span",{class:"text-xs text-gray-500 dark:text-gray-400 w-20 truncate flex-shrink-0",title:r.field},oe(r.field),9,nU),Xo("input",{type:"text",value:r.header,disabled:e.disabled,onInput:e=>((e,t)=>{const r=a.value.map(r=>r.field===e?{...r,header:t}:r);n("update:columns",r)})(r.field,e.target.value),class:"flex-1 text-xs px-2 py-1 border border-gray-200 dark:border-gray-600 rounded bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 focus:outline-none focus:ring-1 focus:ring-blue-500 disabled:opacity-50",placeholder:t.$t("properties.label.headerAliasPlaceholder")},null,40,iU)],2))),128))]))]))}}),aU=zC(oU,[["__scopeId","data-v-89c1feca"]]),sU={class:"space-y-2"},lU={class:"block text-xs text-gray-500 dark:text-gray-400 font-medium"},uU={class:"relative"},cU=["value","placeholder","disabled","readonly"],AU={class:"absolute bottom-1 right-1 text-[10px] text-gray-400 dark:text-gray-500 bg-white/80 dark:bg-gray-800/80 px-1 rounded"},dU={class:"flex gap-2"},hU={class:"relative flex-1"},pU=["disabled"],fU={class:"p-2 border-b border-gray-100 dark:border-gray-700 sticky top-0 bg-white dark:bg-gray-800 z-10"},gU={class:"relative"},vU=["value","placeholder"],mU={key:0,class:"px-3 py-4 text-xs text-gray-400 dark:text-gray-500 text-center"},yU=["onMousedown"],bU={class:"relative"},wU=["disabled"],xU={class:"text-[10px] text-gray-400"},_U=["value"],CU={key:0,class:"border-t border-gray-100 dark:border-gray-700 pt-2"},SU={class:"text-[10px] text-gray-400 dark:text-gray-500 uppercase tracking-wider mb-1"},BU={class:"text-xs text-gray-600 dark:text-gray-400 bg-gray-50 dark:bg-gray-800/50 rounded p-2 max-h-32 overflow-y-auto whitespace-pre-wrap border border-gray-100 dark:border-gray-700"},kU=Nn({__name:"PropertyLongText",props:{label:{},value:{},placeholder:{},disabled:{type:Boolean}},emits:["update:value"],setup(e,{emit:t}){const r=e,n=t,{t:i}=dh(),o=Wb(),a=Ft(null),s=Ft(null),l=Ft(null),u=Ft(null),c=Ft(!1),A=Ft(!1),d=Ft(""),h=Ft("#ff0000"),p=Ft(!1),f=/\{#([^}]+)\}/g,g=/\[color=([^\]]+)\]([\s\S]*?)\[\/color\]/g,v=Ta(()=>{const e=[],t=o.availableVariables||[],r=t=>{for(const n of t)n.isArray||e.push(n.id),n.children&&n.children.length>0&&r(n.children)};return r(t),e}),m=Ta(()=>{if(!d.value.trim())return v.value;const e=d.value.toLowerCase();return v.value.filter(t=>t.toLowerCase().includes(e))}),y=Ta(()=>{let e=r.value||"";return e=e.replace(f,(e,t)=>{const r=Ub(o.testData,t.trim());return null!=r?String(r):"{#"+t+"}"}),e=e.replace(g,"$2"),e}),b=e=>{n("update:value",e.target.value)},w=()=>{c.value=!c.value,A.value=!1,c.value&&(d.value="",setTimeout(()=>{var e;null==(e=l.value)||e.focus()},50))},x=()=>{A.value=!A.value,c.value=!1},_=e=>{p.value?p.value=!1:(c.value&&s.value&&!s.value.contains(e.target)&&(c.value=!1,d.value=""),A.value&&u.value&&!u.value.contains(e.target)&&(A.value=!1))},C=e=>{d.value=e.target.value},S=e=>{e.target.classList.contains("field-list-container")&&(e.stopPropagation(),p.value=!0)};return ei(()=>{document.addEventListener("mousedown",_,!0)}),ii(()=>{document.removeEventListener("mousedown",_,!0)}),(t,o)=>(Ro(),jo("div",sU,[Xo("label",lU,oe(e.label),1),Xo("div",uU,[Xo("textarea",{ref_key:"textareaRef",ref:a,value:e.value,placeholder:e.placeholder,disabled:e.disabled,readonly:e.disabled,onInput:b,class:"w-full px-3 py-2 text-sm border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none h-48 resize-y disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},null,40,cU),Xo("div",AU,oe((e.value||"").length),1)]),Xo("div",dU,[Xo("div",hU,[Xo("button",{type:"button",disabled:e.disabled,onMousedown:zs(w,["prevent"]),class:"w-full flex items-center justify-center gap-1.5 py-1.5 text-xs border border-dashed border-gray-300 dark:border-gray-600 rounded hover:border-blue-400 hover:text-blue-600 dark:hover:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-900/20 transition-colors disabled:opacity-50 disabled:cursor-not-allowed text-gray-500 dark:text-gray-400"},[o[4]||(o[4]=Xo("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),ta(" "+oe(Qt(i)("properties.label.insertField")),1)],40,pU),c.value?(Ro(),jo("div",{key:0,ref_key:"fieldDropdownRef",ref:s,class:"absolute left-0 right-0 top-full mt-1 z-50 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg"},[Xo("div",fU,[Xo("div",gU,[o[5]||(o[5]=Xo("svg",{class:"absolute left-2 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),Xo("input",{ref_key:"fieldSearchRef",ref:l,type:"text",value:d.value,onInput:C,onMousedown:o[0]||(o[0]=zs(()=>{},["stop"])),placeholder:Qt(i)("properties.label.searchField"),class:"w-full pl-8 pr-3 py-1.5 text-xs border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-200 placeholder-gray-400 dark:placeholder-gray-500"},null,40,vU)])]),Xo("div",{class:"field-list-container max-h-48 overflow-auto",onMousedown:S},[0===m.value.length?(Ro(),jo("div",mU,oe(Qt(i)("common.noData")),1)):na("",!0),(Ro(!0),jo(Do,null,pi(m.value,e=>(Ro(),jo("button",{key:e,onMousedown:zs(t=>(e=>{const t="{#"+e+"}",i=a.value;if(!i)return;const o=i.selectionStart,s=i.selectionEnd,l=r.value||"",u=l.substring(0,o)+t+l.substring(s);n("update:value",u),c.value=!1,d.value="",br(()=>{i.focus();const e=o+t.length;i.setSelectionRange(e,e)})})(e),["prevent"]),class:"w-full text-left px-3 py-1.5 text-xs text-gray-700 dark:text-gray-300 hover:bg-blue-50 dark:hover:bg-blue-900/30 hover:text-blue-700 dark:hover:text-blue-400 transition-colors whitespace-nowrap overflow-hidden text-overflow-ellipsis"},oe(e),41,yU))),128))],32)],512)):na("",!0)]),Xo("div",bU,[Xo("button",{type:"button",disabled:e.disabled,onMousedown:zs(x,["prevent"]),class:"flex items-center justify-center gap-1.5 py-1.5 px-3 text-xs border border-dashed border-gray-300 dark:border-gray-600 rounded hover:border-pink-400 hover:text-pink-600 dark:hover:text-pink-400 hover:bg-pink-50 dark:hover:bg-pink-900/20 transition-colors disabled:opacity-50 disabled:cursor-not-allowed text-gray-500 dark:text-gray-400 whitespace-nowrap"},[o[6]||(o[6]=Xo("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[Xo("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"})],-1)),ta(" "+oe(Qt(i)("properties.label.textColor")),1)],40,wU),A.value?(Ro(),jo("div",{key:0,ref_key:"colorPickerRef",ref:u,class:"absolute right-0 top-full mt-1 z-50 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg p-2 flex flex-col gap-2",onMousedown:o[3]||(o[3]=e=>p.value=!0)},[Xo("span",xU,oe(Qt(i)("properties.label.textColor")),1),Xo("input",{type:"color",value:h.value,onInput:o[1]||(o[1]=e=>h.value=e.target.value),class:"w-20 h-8 cursor-pointer border-0 p-0 rounded"},null,40,_U),Xo("button",{onMousedown:o[2]||(o[2]=zs(e=>(e=>{const t=a.value;if(!t)return;const i=t.selectionStart,o=t.selectionEnd;if(i===o)return void(A.value=!1);const s=r.value||"",l="[color="+e+"]"+s.substring(i,o)+"[/color]",u=s.substring(0,i)+l+s.substring(o);h.value=e,n("update:value",u),A.value=!1,br(()=>{t.focus();const e=i+l.length;t.setSelectionRange(e,e)})})(h.value),["prevent"])),class:"w-full text-xs bg-pink-500 text-white px-3 py-1 rounded hover:bg-pink-600 transition-colors"},oe(Qt(i)("common.confirm")),33)],544)):na("",!0)])]),y.value&&y.value!==e.value?(Ro(),jo("div",CU,[Xo("div",SU,oe(Qt(i)("editor.preview")),1),Xo("div",BU,oe(y.value),1)])):na("",!0)]))}}),EU={class:"p-4 border-b border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-800 flex items-center justify-between"},IU={class:"font-semibold text-gray-700 dark:text-gray-200"},TU={class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},PU={key:0,class:"flex items-center text-red-500 dark:text-red-400 gap-1 text-xs font-medium bg-red-50 dark:bg-red-900/30 px-2 py-1 rounded border border-red-100 dark:border-red-800"},MU={key:0,class:"p-6 text-center"},LU={class:"mb-4"},DU={class:"text-lg font-semibold text-gray-900 dark:text-gray-100"},NU={class:"text-sm text-gray-500 dark:text-gray-400 mt-2"},OU={class:"font-medium text-gray-700 dark:text-gray-200"},FU=["disabled"],UU={key:1,class:"flex flex-col h-full overflow-hidden"},zU={class:"flex border-b border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-900"},RU=["onClick"],QU={key:0,class:"absolute bottom-0 left-0 w-full h-0.5 bg-blue-600 dark:bg-blue-400"},HU={class:"p-4 space-y-6 overflow-y-auto flex-1 custom-scrollbar dark:bg-gray-900"},VU={key:0,class:"space-y-3 pb-2 border-b border-gray-200 dark:border-gray-700 -mx-4 px-4 mb-2"},jU={key:1,class:"space-y-3"},GU={class:"text-xs font-bold text-gray-500 dark:text-gray-400 uppercase tracking-wider"},WU={class:"grid grid-cols-2 gap-3"},KU={key:2,class:"space-y-3 pt-2 border-t border-gray-100 dark:border-gray-800"},qU={class:"text-xs font-bold text-gray-500 dark:text-gray-400 uppercase tracking-wider"},YU={class:"grid grid-cols-2 gap-3"},XU=["disabled"],ZU=["disabled"],JU=["disabled"],$U=["disabled"],ez={key:3,class:"space-y-3 pt-2 border-t border-gray-100 dark:border-gray-800"},tz={class:"text-xs font-bold text-gray-500 dark:text-gray-400 uppercase tracking-wider"},rz={class:"grid grid-cols-2 gap-3"},nz=["disabled"],iz=["disabled"],oz={key:4,class:"space-y-3 pt-2 border-t border-gray-100 dark:border-gray-800"},az={class:"text-xs font-bold text-gray-500 dark:text-gray-400 uppercase tracking-wider"},sz={class:"grid grid-cols-2 gap-3"},lz=["disabled"],uz=["disabled"],cz={key:0,class:"space-y-3 pt-2 first:pt-0 border-t first:border-0 border-gray-100 dark:border-gray-800"},Az={class:"text-xs font-bold text-gray-500 dark:text-gray-400 uppercase tracking-wider"},dz={class:"space-y-3"},hz={key:0},pz=["onClick","disabled"],fz={key:12},gz={class:"block text-xs text-gray-500 dark:text-gray-400 mb-1 font-medium"},vz=["placeholder","disabled","value","onChange"],mz={key:13},yz={key:14},bz={key:15},wz={key:5,class:"space-y-3 pt-2 border-t border-gray-100 dark:border-gray-800"},xz={class:"text-xs font-bold text-gray-500 dark:text-gray-400 uppercase tracking-wider"},_z={key:2,class:"p-6 text-center"},Cz={class:"mb-4"},Sz={class:"text-lg font-semibold text-gray-900"},Bz={class:"text-sm text-gray-500 mt-2"},kz=Nn({__name:"PropertiesPanel",setup(e){const{t:t}=dh(),r=Wb(),n=Ta(()=>r.selectedElement),i=Ta(()=>r.selectedElementIds.length>1),o=Ta(()=>{var e;return(null==(e=n.value)?void 0:e.locked)||!1}),a=Ta(()=>o.value||!r.isTemplateEditable),s=Ft(!1),l=Ft(""),u=Ta(()=>!!n.value&&[Nm.LINE,Nm.RECT,Nm.CIRCLE].includes(n.value.type)),c=Ta(()=>!!n.value&&n.value.type!==Nm.TABLE),A=Ta(()=>!!r.tableSelection&&r.tableSelection.cells.length>1),d=Ta(()=>{if(!r.tableSelection)return!1;if(1!==r.tableSelection.cells.length)return!1;const e=r.tableSelection.cells[0],t=r.selectedElement;if(!t||t.type!==Nm.TABLE)return!1;const n="footer"===(e.section||"body")?t.footerData:t.data;if(!n)return!1;const i=n[e.rowIndex];if(!i)return!1;const o=i[e.colField];return!(!o||"object"!=typeof o)&&((o.rowSpan||1)>1||(o.colSpan||1)>1)}),h=Ta(()=>{if(!r.customTableSelection)return!1;if(r.customTableSelection.cells.length<2)return!1;const e=r.customTableSelection.cells,t=e.map(e=>e.row),n=e.map(e=>e.col),i=Math.min(...t),o=Math.max(...t),a=Math.min(...n),s=Math.max(...n);return e.length===(o-i+1)*(s-a+1)}),p=Ta(()=>{if(!r.customTableSelection)return!1;if(1!==r.customTableSelection.cells.length)return!1;const{row:e,col:t}=r.customTableSelection.cells[0],n=r.selectedElement;if(!n||n.type!==Nm.CUSTOM_TABLE)return!1;const i=(n.customTableCells||[]).find(r=>r.row===e&&r.col===t);return!(!i||!(i.rowSpan&&i.rowSpan>1||i.colSpan&&i.colSpan>1))}),f=Ft("properties"),g=Ta(()=>r.unit||"mm"),v=Ta(()=>r.unit||"mm"),m=new Set(["fontSize","borderWidth","barcodeWidth","barcodeHeight","margin","borderRadius","headerHeight","rowHeight","footerHeight","labelFontSize","labelBorderWidth"]),y=Ta(()=>!!n.value&&[Nm.TEXT,Nm.IMAGE,Nm.BARCODE,Nm.QRCODE,Nm.TABLE].includes(n.value.type)),b=Ta(()=>{if(n.value)switch(n.value.type){case Nm.TABLE:return"array";case Nm.TEXT:case Nm.BARCODE:case Nm.QRCODE:return"text";default:return}}),w=Ta(()=>{if(!n.value)return"";switch(n.value.type){case Nm.TABLE:return t("properties.label.dataVariable");case Nm.LONG_TEXT:default:return t("properties.label.variable")}}),x=Ta(()=>n.value?(n.value.type,Nm.TABLE,"variable"):"variable"),_=e=>!("number"!==e.type||!e.key)&&m.has(e.key),C=e=>{const r=t(e.label);return _(e)?`${r} (${v.value})`:r},S=e=>{var t;if(!e.condition||!e.condition.field||!e.condition.values)return!0;const r=null==(t=n.value)?void 0:t[e.condition.field];return e.condition.values.includes(r)},B=e=>{var t;if(!e.condition||!e.condition.field||!e.condition.values)return!0;const r=null==(t=n.value)?void 0:t[e.condition.field];return e.condition.values.includes(r)},k=e=>{const t=G(e);return _(e)&&"number"==typeof t?Cw(t,g.value):t},E=e=>{if(void 0!==e.min&&null!==e.min)return _(e)?Cw(e.min,g.value):e.min},I=e=>{if(void 0!==e.max&&null!==e.max)return _(e)?Cw(e.max,g.value):e.max},T=e=>{if(void 0!==e.step&&null!==e.step)return _(e)?Cw(e.step,g.value):e.step},P=Ft({}),M=Ta(()=>{var e,t;return null==(t=null==(e=r.customElementModalFormConfig)?void 0:e.create)?void 0:t.fields}),L=e=>{if(n.value){let t,i="";if("string"==typeof e)i=e;else{i=e.name;const{name:r,...n}=e;Object.keys(n).length>0&&(t=n)}i&&r.addCustomElement(i,n.value,t)}},D=(e,t)=>{n.value&&r.updateElement(n.value.id,{[e]:t})},N=(e,t)=>{n.value&&r.updateElement(n.value.id,{style:{...n.value.style,[e]:t}})},O=()=>n.value&&Array.isArray(n.value.columns)?n.value.columns.map(e=>e.field):[],F=e=>{if(!n.value)return;const t=Array.isArray(n.value.columns)?n.value.columns:[],r=new Map(t.map(e=>[e.field,e])),i=e.map(e=>{const t=r.get(e);return t||{field:e,header:e,width:100}});D("columns",i)},U=Ft(0);function z(e,t,r){if(e&&"object"==typeof e)for(const n of Object.keys(e)){const i=e[n],o=t?`${t}.${n}`:n;if(Array.isArray(i)&&i.length>0){const e=i[0];e&&"object"==typeof e&&!Array.isArray(e)&&z(e,o,r)}else i&&"object"==typeof i&&!Array.isArray(i)?z(i,o,r):r.push(o)}}const R=Ta(()=>{U.value;const e=n.value;if(!e||e.type!==Nm.TABLE)return[];const t=[];if(!e.variable)return t;const i=Lb(e.variable);if(!i)return t;const o=(e,t)=>{const r=[],n=Ub(e,t);let i=null;if(Array.isArray(n))i=n;else if(n&&"object"==typeof n)for(const o of Object.keys(n)){const e=n[o];if(Array.isArray(e)&&e.length>0){i=e;break}}if(i&&i.length>0){const e=i[0];e&&"object"==typeof e&&z(e,"",r)}return r};if(t.push(...o(r.testData||{},i)),0===t.length){const e=i.startsWith("variables.")?i.slice(10):i;e!==i&&t.push(...o(r.testData||{},e))}return 0===t.length&&t.push(...o(r.variables||{},i)),t});an(()=>r.testData,()=>{U.value++},{deep:!0}),an(()=>{var e;return null==(e=n.value)?void 0:e.variable},()=>{U.value++});const Q=e=>{const t=G(e);return"json"===e.language&&"object"==typeof t?JSON.stringify(t,null,2):t||""},H=Ta(()=>n.value?(e=>{switch(e){case Nm.TEXT:return Wx;case Nm.IMAGE:return Xx;case Nm.TABLE:return M_;case Nm.CUSTOM_TABLE:return FC;case Nm.PAGE_NUMBER:return HC;case Nm.BARCODE:return GC;case Nm.QRCODE:return YC;case Nm.LINE:return JC;case Nm.RECT:return eS;case Nm.CIRCLE:return rS;case Nm.CHART:return oS;case Nm.LONG_TEXT:return cS;case Nm.RICH_TEXT:return hS;case Nm.DATE:return vS;case Nm.DATA_CARD:return _S;case Nm.PROGRESS:return BS;case Nm.LIST:return ES;case Nm.SIGNATURE:return LS;case Nm.NESTED_TABLE:return QS;default:return null}})(n.value.type):null),V=Ta(()=>H.value?H.value.sections.filter(e=>"fieldSelection"===e.tab):[]),j=Ta(()=>{if(!H.value)return[];const e=H.value.sections.filter(e=>e.tab===f.value||!e.tab&&"properties"===f.value);if("properties"===f.value&&c.value){const t=JSON.parse(JSON.stringify(e));let r=t.find(e=>"properties.section.dataBehavior"===e.title);return r||(r={title:"properties.section.dataBehavior",tab:"properties",fields:[]},t.push(r)),r.fields.some(e=>"repeatPerPage"===e.key)||r.fields.unshift({label:"properties.label.repeatPerPage",type:"switch",target:"element",key:"repeatPerPage"}),t}return e}),G=e=>{if(!n.value)return e.defaultValue;return("style"===e.target?n.value.style:n.value)[e.key]??e.defaultValue},W=(e,t)=>{n.value&&("style"===e.target&&e.key?N(e.key,t):"element"===e.target&&e.key&&D(e.key,t))},K=()=>{i.value?r.removeSelectedElements():n.value&&r.removeElement(n.value.id)},q=Ta(()=>{var e,t;return(null==(t=null==(e=n.value)?void 0:e.style)?void 0:t.zIndex)||1}),Y=Ta(()=>{if(!n.value)return[];const e=r.pages.find(e=>e.elements.some(e=>e.id===n.value.id));return e?e.elements.map((e,t)=>{var r;return{id:e.id,zIndex:(null==(r=e.style)?void 0:r.zIndex)||1,originalIndex:t}}).sort((e,t)=>e.zIndex===t.zIndex?e.originalIndex-t.originalIndex:e.zIndex-t.zIndex):[]}),Z=Ta(()=>n.value?Y.value.findIndex(e=>e.id===n.value.id):-1),J=Ta(()=>!!n.value&&(Z.value>=0&&Z.value<Y.value.length-1)),$=Ta(()=>!!n.value&&Z.value>0),ee=e=>{if(!n.value)return;const t=Math.max(1,Math.round(Number(e)||1));r.updateElement(n.value.id,{style:{...n.value.style,zIndex:t}})},te=e=>{if(!n.value)return;const t=[n.value.id];"front"!==e?"back"!==e?"forward"!==e?r.moveElementsBackward(t):r.moveElementsForward(t):r.sendElementsToBack(t):r.moveElementsLayer(t,"front")},re=e=>{e.relatedTarget&&e.currentTarget.contains(e.relatedTarget)||r.setDisableGlobalShortcuts(!0)},ne=e=>{e.relatedTarget&&e.currentTarget.contains(e.relatedTarget)||r.setDisableGlobalShortcuts(!1)};return(e,c)=>(Ro(),jo(Do,null,[Xo("aside",{class:"w-[380px] bg-white dark:bg-gray-900 border-l border-gray-200 dark:border-gray-700 flex flex-col h-full z-40 overflow-hidden",onFocusin:re,onFocusout:ne},[Xo("div",EU,[Xo("div",null,[Xo("h2",IU,oe(Qt(t)("properties.title")),1),Xo("p",TU,oe(Qt(t)("properties.subtitle")),1)]),o.value?(Ro(),jo("div",PU,[Zo(Qt(ux),{class:"w-3 h-3"}),Xo("span",null,oe(Qt(t)("properties.locked")),1)])):na("",!0)]),i.value?(Ro(),jo("div",MU,[Xo("div",LU,[Xo("h3",DU,oe(Qt(t)("properties.multiSelectMode")),1),Xo("p",NU,[Xo("span",OU,oe(Qt(r).selectedElementIds.length),1),ta(" "+oe(Qt(t)("properties.selectedElements",{n:""}).replace("{n}","")),1)])]),Xo("button",{onClick:K,disabled:!Qt(r).isTemplateEditable,class:"w-full py-2 bg-red-50 dark:bg-red-900/30 text-red-600 dark:text-red-400 rounded border border-red-200 dark:border-red-800 hover:bg-red-100 dark:hover:bg-red-900/50 transition-colors text-sm font-medium disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(t)("properties.deleteSelected")),9,FU)])):n.value?(Ro(),jo("div",UU,[Xo("div",zU,[(Ro(),jo(Do,null,pi(["properties","style"],e=>Xo("button",{key:e,onClick:t=>f.value=e,class:X(["flex-1 py-3 text-sm font-medium transition-colors relative",f.value===e?"text-blue-600 dark:text-blue-400":"text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-800"])},[ta(oe(Qt(t)(`properties.tab.${e}`))+" ",1),f.value===e?(Ro(),jo("div",QU)):na("",!0)],10,RU)),64))]),Xo("div",HU,["properties"===f.value&&(V.value.length>0||y.value)?(Ro(),jo("div",VU,[(Ro(!0),jo(Do,null,pi(V.value,(e,i)=>(Ro(),jo(Do,{key:i},[(Ro(!0),jo(Do,null,pi(e.fields,(e,i)=>(Ro(),jo(Do,{key:i},[S(e)?(Ro(),jo(Do,{key:0},["field"===e.type?(Ro(),Go(mO,{key:0,label:Qt(t)(e.label),disabled:a.value,filter:e.filter,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:Qt(t)("properties.label.selectField"),value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","filter","placeholder","value","onUpdate:value"])):"columnPicker"===e.type?(Ro(),Go(CO,{key:1,label:Qt(t)(e.label),disabled:a.value,fields:R.value,value:O(),"onUpdate:value":c[0]||(c[0]=e=>F(e))},null,8,["label","disabled","fields","value"])):"columnAlias"===e.type?(Ro(),Go(aU,{key:2,label:Qt(t)(e.label),disabled:a.value,columns:n.value.columns,"test-data":Qt(r).testData,variable:n.value.variable,variables:Qt(r).variables,"onUpdate:columns":c[1]||(c[1]=e=>D("columns",e))},null,8,["label","disabled","columns","test-data","variable","variables"])):"longText"===e.type?(Ro(),Go(kU,{key:3,label:Qt(t)(e.label),disabled:a.value,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"",value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","placeholder","value","onUpdate:value"])):"chartDataSelect"===e.type?(Ro(),Go(NO,{key:4,label:Qt(t)(e.label),disabled:a.value,value:G(e),placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"","onUpdate:value":t=>W(e,t)},null,8,["label","disabled","value","placeholder","onUpdate:value"])):"chartFieldSelect"===e.type?(Ro(),Go(qO,{key:5,label:Qt(t)(e.label),disabled:a.value,value:G(e),"data-variable":n.value.chartDataVariable,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"","onUpdate:value":t=>W(e,t)},null,8,["label","disabled","value","data-variable","placeholder","onUpdate:value"])):na("",!0)],64)):na("",!0)],64))),128))],64))),128)),0===V.value.length&&y.value&&"table"!==n.value.type?(Ro(),Go(mO,{key:0,label:w.value,disabled:a.value,filter:b.value,placeholder:Qt(t)("properties.label.selectField"),value:n.value[x.value],"onUpdate:value":c[2]||(c[2]=e=>D(x.value,e))},null,8,["label","disabled","filter","placeholder","value"])):na("",!0)])):na("",!0),"properties"===f.value?(Ro(),jo("div",jU,[Xo("h3",GU,oe(Qt(t)("properties.section.positionSize")),1),Xo("div",WU,[Zo(TN,{label:`${Qt(t)("properties.label.x")} (${v.value})`,type:"number",disabled:a.value,value:Qt(Cw)(n.value.x,g.value),"onUpdate:value":c[3]||(c[3]=e=>D("x",Qt(Sw)(Number(e),g.value)))},null,8,["label","disabled","value"]),Zo(TN,{label:`${Qt(t)("properties.label.y")} (${v.value})`,type:"number",disabled:a.value,value:Qt(Cw)(n.value.y,g.value),"onUpdate:value":c[4]||(c[4]=e=>D("y",Qt(Sw)(Number(e),g.value)))},null,8,["label","disabled","value"]),Zo(TN,{label:`${Qt(t)("properties.label.width")} (${v.value})`,type:"number",disabled:a.value,value:Qt(Cw)(n.value.width,g.value),"onUpdate:value":c[5]||(c[5]=e=>D("width",Qt(Sw)(Number(e),g.value)))},null,8,["label","disabled","value"]),Zo(TN,{label:`${Qt(t)("properties.label.height")} (${v.value})`,type:"number",disabled:a.value,value:Qt(Cw)(n.value.height,g.value),"onUpdate:value":c[6]||(c[6]=e=>D("height",Qt(Sw)(Number(e),g.value)))},null,8,["label","disabled","value"])])])):na("",!0),"properties"===f.value?(Ro(),jo("div",KU,[Xo("h3",qU,oe(Qt(t)("properties.section.layer")),1),Zo(TN,{label:Qt(t)("properties.label.zIndex"),type:"number",disabled:a.value,min:1,step:1,value:q.value,"onUpdate:value":ee},null,8,["label","disabled","value"]),Xo("div",YU,[Xo("button",{onClick:c[7]||(c[7]=e=>te("forward")),disabled:a.value||!J.value,class:"w-full py-2 bg-white dark:bg-gray-800 text-gray-600 dark:text-gray-300 rounded border border-gray-200 dark:border-gray-700 hover:border-blue-500 dark:hover:border-blue-400 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(t)("properties.action.moveUp")),9,XU),Xo("button",{onClick:c[8]||(c[8]=e=>te("backward")),disabled:a.value||!$.value,class:"w-full py-2 bg-white dark:bg-gray-800 text-gray-600 dark:text-gray-300 rounded border border-gray-200 dark:border-gray-700 hover:border-blue-500 dark:hover:border-blue-400 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(t)("properties.action.moveDown")),9,ZU),Xo("button",{onClick:c[9]||(c[9]=e=>te("front")),disabled:a.value||!J.value,class:"w-full py-2 bg-white dark:bg-gray-800 text-gray-600 dark:text-gray-300 rounded border border-gray-200 dark:border-gray-700 hover:border-blue-500 dark:hover:border-blue-400 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(t)("properties.action.bringToFront")),9,JU),Xo("button",{onClick:c[10]||(c[10]=e=>te("back")),disabled:a.value||!$.value,class:"w-full py-2 bg-white dark:bg-gray-800 text-gray-600 dark:text-gray-300 rounded border border-gray-200 dark:border-gray-700 hover:border-blue-500 dark:hover:border-blue-400 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(t)("properties.action.sendToBack")),9,$U)])])):na("",!0),"properties"===f.value&&"table"===n.value.type&&Qt(r).tableSelection?(Ro(),jo("div",ez,[Xo("h3",tz,oe(Qt(t)("properties.section.cellOperations")),1),Xo("div",rz,[Xo("button",{onClick:c[11]||(c[11]=e=>Qt(r).mergeSelectedCells()),disabled:!A.value||a.value,class:"w-full py-2 bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 rounded border border-blue-200 dark:border-blue-800 hover:bg-blue-100 dark:hover:bg-blue-900/50 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-gray-50 dark:disabled:bg-gray-800 disabled:text-gray-400 dark:disabled:text-gray-600 disabled:border-gray-200 dark:disabled:border-gray-700"},oe(Qt(t)("properties.action.mergeCells")),9,nz),Xo("button",{onClick:c[12]||(c[12]=e=>Qt(r).splitSelectedCells()),disabled:!d.value||a.value,class:"w-full py-2 bg-white dark:bg-gray-800 text-gray-600 dark:text-gray-300 rounded border border-gray-200 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(t)("properties.action.splitCells")),9,iz)])])):na("",!0),"properties"===f.value&&"customTable"===n.value.type&&Qt(r).customTableSelection?(Ro(),jo("div",oz,[Xo("h3",az,oe(Qt(t)("properties.section.cellOperations")),1),Xo("div",sz,[Xo("button",{onClick:c[13]||(c[13]=e=>Qt(r).mergeCustomTableCells()),disabled:!h.value||a.value,class:"w-full py-2 bg-blue-50 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400 rounded border border-blue-200 dark:border-blue-800 hover:bg-blue-100 dark:hover:bg-blue-900/50 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-gray-50 dark:disabled:bg-gray-800 disabled:text-gray-400 dark:disabled:text-gray-600 disabled:border-gray-200 dark:disabled:border-gray-700"},oe(Qt(t)("properties.action.mergeCells")),9,lz),Xo("button",{onClick:c[14]||(c[14]=e=>Qt(r).splitCustomTableCell()),disabled:!p.value||a.value,class:"w-full py-2 bg-white dark:bg-gray-800 text-gray-600 dark:text-gray-300 rounded border border-gray-200 dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors text-xs font-medium disabled:opacity-50 disabled:cursor-not-allowed"},oe(Qt(t)("properties.action.splitCells")),9,uz)])])):na("",!0),(Ro(!0),jo(Do,null,pi(j.value,(e,i)=>(Ro(),jo(Do,{key:i},[B(e)?(Ro(),jo("div",cz,[Xo("h3",Az,oe(Qt(t)(e.title)),1),Xo("div",dz,[(Ro(!0),jo(Do,null,pi(e.fields,(e,i)=>(Ro(),jo(Do,{key:i},[S(e)?(Ro(),jo(Do,{key:0},["action"===e.type?(Ro(),jo("div",hz,[Xo("button",{onClick:t=>(e=>{n.value&&e.actionName&&("paginateTable"===e.actionName?r.paginateTable(n.value.id):"removeBorder"===e.actionName?r.updateElement(n.value.id,{style:{...n.value.style,borderStyle:void 0,borderWidth:void 0,borderColor:void 0,border:"none"}}):"mergeCustomCells"===e.actionName?r.mergeCustomTableCells():"splitCustomCell"===e.actionName&&r.splitCustomTableCell())})(e),disabled:a.value,class:"w-full py-2 bg-blue-600 dark:bg-blue-500 text-white rounded hover:bg-blue-700 dark:hover:bg-blue-600 transition-colors text-sm font-medium shadow-sm disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-gray-400 dark:disabled:bg-gray-700"},oe(Qt(t)(e.label)),9,pz)])):"text"===e.type||"number"===e.type||"switch"===e.type||"input"===e.type?(Ro(),Go(TN,{key:1,label:C(e),type:e.type,min:E(e),max:I(e),step:T(e),disabled:a.value,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"",value:k(e),"onUpdate:value":t=>W(e,((e,t)=>_(e)?Sw(Number(t),g.value):"number"===e.type?Number(t):t)(e,t))},null,8,["label","type","min","max","step","disabled","placeholder","value","onUpdate:value"])):"select"===e.type?(Ro(),Go(DN,{key:2,label:Qt(t)(e.label),options:(e.options||[]).map(e=>({...e,label:Qt(t)(e.label)})),disabled:a.value,value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","options","disabled","value","onUpdate:value"])):"color"===e.type?(Ro(),Go(zN,{key:3,label:Qt(t)(e.label),disabled:a.value,value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","value","onUpdate:value"])):"image"===e.type?(Ro(),Go(rO,{key:4,label:Qt(t)(e.label),disabled:a.value,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:void 0,value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","placeholder","value","onUpdate:value"])):"code"===e.type?(Ro(),Go(qN,{key:5,label:Qt(t)(e.label),language:e.language||"javascript",disabled:a.value,value:Q(e),"onUpdate:value":t=>((e,t)=>{if("json"===e.language)try{const r=JSON.parse(t);D(e.key,r)}catch(gH){}else D(e.key,t)})(e,t)},null,8,["label","language","disabled","value","onUpdate:value"])):"field"===e.type?(Ro(),Go(mO,{key:6,label:Qt(t)(e.label),disabled:a.value,filter:e.filter,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:Qt(t)("properties.label.selectField"),value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","filter","placeholder","value","onUpdate:value"])):"columnPicker"===e.type?(Ro(),Go(CO,{key:7,label:Qt(t)(e.label),disabled:a.value,fields:R.value,value:O(),"onUpdate:value":c[15]||(c[15]=e=>F(e)),"data-trigger":U.value},null,8,["label","disabled","fields","value","data-trigger"])):"chartDataSelect"===e.type?(Ro(),Go(NO,{key:8,label:Qt(t)(e.label),disabled:a.value,value:n.value.chartDataVariable,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"","onUpdate:value":c[16]||(c[16]=e=>D("chartDataVariable",e))},null,8,["label","disabled","value","placeholder"])):"chartFieldSelect"===e.type?(Ro(),Go(qO,{key:9,label:Qt(t)(e.label),disabled:a.value,value:n.value[e.key],"data-variable":n.value.chartDataVariable,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"","onUpdate:value":t=>D(e.key,t)},null,8,["label","disabled","value","data-variable","placeholder","onUpdate:value"])):"columnAlias"===e.type?(Ro(),Go(aU,{key:10,label:Qt(t)(e.label),disabled:a.value,columns:n.value.columns,"test-data":Qt(r).testData,variable:n.value.variable,variables:Qt(r).variables,"onUpdate:columns":c[17]||(c[17]=e=>D("columns",e))},null,8,["label","disabled","columns","test-data","variable","variables"])):"longText"===e.type?(Ro(),Go(kU,{key:11,label:Qt(t)(e.label),disabled:a.value,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"",value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","placeholder","value","onUpdate:value"])):"textarea"===e.type?(Ro(),jo("div",fz,[Xo("label",gz,oe(Qt(t)(e.label)),1),Xo("textarea",{placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"",disabled:a.value,value:["data","columns","footerData"].includes(e.key)?JSON.stringify(n.value[e.key],null,2):G(e),onChange:t=>["data","columns","footerData"].includes(e.key)?((e,t)=>{try{const r=t.target.value;D(e,JSON.parse(r))}catch(r){Qm.error("Invalid JSON")}})(e.key,t):W(e,t.target.value),class:"w-full px-3 py-2 text-sm border border-gray-300 dark:border-gray-600 rounded focus:border-blue-500 outline-none h-24 resize-y font-mono disabled:bg-gray-100 dark:disabled:bg-gray-800 disabled:text-gray-500 dark:disabled:text-gray-400 bg-white dark:bg-gray-800 text-gray-700 dark:text-gray-200"},null,40,vz)])):"richText"===e.type?(Ro(),jo("div",mz,[Zo(cF,{label:Qt(t)(e.label),disabled:a.value,placeholder:e.placeholder?e.placeholder.startsWith("properties.")?Qt(t)(e.placeholder):e.placeholder:"",value:G(e),"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","placeholder","value","onUpdate:value"])])):"nestedColumns"===e.type?(Ro(),jo("div",yz,[Zo(EF,{label:Qt(t)(e.label),disabled:a.value,value:n.value[e.key],"onUpdate:value":t=>W(e,t)},null,8,["label","disabled","value","onUpdate:value"])])):"nestedTableData"===e.type?(Ro(),jo("div",bz,[Zo($F,{label:Qt(t)(e.label),disabled:a.value,value:n.value[e.key],"child-field":n.value.childField,"onUpdate:value":t=>W(e,t),"onUpdate:parentField":t=>W({...e,key:"parentLabelKey"},t),"onUpdate:childField":t=>W({...e,key:"childField"},t)},null,8,["label","disabled","value","child-field","onUpdate:value","onUpdate:parentField","onUpdate:childField"])])):na("",!0)],64)):na("",!0)],64))),128))])])):na("",!0)],64))),128)),"style"!==f.value||u.value?na("",!0):(Ro(),jo("div",wz,[Xo("h3",xz,oe(Qt(t)("properties.section.appearance")),1),Zo(zN,{label:Qt(t)("properties.label.backgroundColor"),disabled:a.value,value:n.value.style.backgroundColor||"#ffffff","onUpdate:value":c[18]||(c[18]=e=>N("backgroundColor",e))},null,8,["label","disabled","value"])]))])])):(Ro(),jo("div",_z,[Xo("div",Cz,[Xo("h3",Sz,oe(Qt(t)("properties.empty.noSelection")),1),Xo("p",Bz,oe(Qt(t)("properties.empty.selectInstruction")),1)])]))],32),Zo(Kk,{show:s.value,"initial-value":l.value,"initial-values":P.value,fields:M.value,title:Qt(t)("properties.action.saveCustomModal"),placeholder:Qt(t)("sidebar.enterNamePlaceholder"),onClose:c[19]||(c[19]=e=>s.value=!1),onSave:L},null,8,["show","initial-value","initial-values","fields","title","placeholder"])],64))}}),Ez=zC(kz,[["__scopeId","data-v-64c28b3f"]]),Iz=Nn({__name:"Ruler",props:{type:{},zoom:{},scroll:{},offset:{},thick:{},indicators:{},range:{},unit:{}},emits:["guide-drag-start"],setup(e,{emit:t}){const r=e,{isDark:n}=ew(),i=Ft(null),o=r.thick||20,a=()=>{const e=i.value;if(!e)return;const t=e.getContext("2d");if(!t)return;const a=e.width,s=e.height,{zoom:l,scroll:u,offset:c,type:A,indicators:d,range:h}=r,p=n.value;if(t.clearRect(0,0,a,s),t.fillStyle=p?"#1f2937":"#F9FAFB",t.fillRect(0,0,a,s),h){const e=c+h.start*l-u,r=c+h.end*l-u,n=Math.min(e,r),i=Math.max(e,r),a=Math.max(0,i-n);t.fillStyle=h.color,"horizontal"===A?t.fillRect(n,0,a,o):t.fillRect(0,n,o,a)}if(d&&d.length>0)for(const r of d){const e=c+r.position*l-u;t.fillStyle=r.color,"horizontal"===A?t.fillRect(e-2,0,4,o):t.fillRect(0,e-2,o,4)}t.strokeStyle=p?"#6b7280":"#9CA3AF",t.fillStyle=p?"#9ca3af":"#6B7280",t.lineWidth=1,t.font="10px sans-serif",t.beginPath();const f="mm"===r.unit?vw:"pt"===r.unit?yw:"in"===r.unit?96:"cm"===r.unit?ww:1,g=50/(f*l),v=[.1,.2,.5,1,2,5,10,20,50,100,200,500,1e3];let m=v[v.length-1];for(const r of v)if(r>=g-.001){m=r;break}const y=(-c+u)/(l*f),b=(("horizontal"===A?a:s)-c+u)/(l*f);for(let r=Math.floor(y/m)*m;r<=b;r+=m){const e=c+r*f*l-u,n=Number(r.toFixed(1)).toString();"horizontal"===A?(t.moveTo(e,0),t.lineTo(e,o),t.fillText(n,e+2,10)):(t.moveTo(0,e),t.lineTo(o,e),t.save(),t.translate(10,e+2),t.rotate(-Math.PI/2),t.fillText(n,4,0),t.restore());const i=m/5;for(let a=1;a<5;a++){const e=c+(r+i*a)*f*l-u;"horizontal"===A?(t.moveTo(e,o-5),t.lineTo(e,o)):(t.moveTo(o-5,e),t.lineTo(o,e))}}t.stroke()},s=new ResizeObserver(e=>{for(const t of e){const e=i.value;if(e){const{width:r,height:n}=t.contentRect;e.width=r,e.height=n,a()}}});ei(()=>{i.value&&(s.observe(i.value.parentElement),a())}),ii(()=>{s.disconnect()}),an(()=>[r.zoom,r.scroll,r.offset,r.indicators,r.unit,n.value],a,{deep:!0});const l=t,u=e=>{l("guide-drag-start",e)};return(e,t)=>(Ro(),jo("div",{class:"w-full h-full overflow-hidden bg-gray-50 dark:bg-gray-800 relative",onMousedown:u},[Xo("canvas",{ref_key:"canvasRef",ref:i,class:"block"},null,512)],32))}}),Tz={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Pz=Lt({name:"material-symbols-content-cut",render:function(e,t){return Ro(),jo("svg",Tz,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m19 21l-7-7l-2.35 2.35q.2.375.275.8T10 18q0 1.65-1.175 2.825T6 22t-2.825-1.175T2 18t1.175-2.825T6 14q.425 0 .85.075t.8.275L10 12L7.65 9.65q-.375.2-.8.275T6 10q-1.65 0-2.825-1.175T2 6t1.175-2.825T6 2t2.825 1.175T10 6q0 .425-.075.85t-.275.8L22 20v1zm-4-10l-2-2l6-6h3v1zM7.413 7.413Q8 6.825 8 6t-.587-1.412T6 4t-1.412.588T4 6t.588 1.413T6 8t1.413-.587m4.937 4.937q.15-.15.15-.35t-.15-.35t-.35-.15t-.35.15t-.15.35t.15.35t.35.15t.35-.15m-4.937 7.063Q8 18.825 8 18t-.587-1.412T6 16t-1.412.588T4 18t.588 1.413T6 20t1.413-.587"},null,-1)])])}}),Mz={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const Lz=Lt({name:"material-symbols-lock-open",render:function(e,t){return Ro(),jo("svg",Mz,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M6 8h9V6q0-1.25-.875-2.125T12 3t-2.125.875T9 6H7q0-2.075 1.463-3.537T12 1t3.538 1.463T17 6v2h1q.825 0 1.413.588T20 10v10q0 .825-.587 1.413T18 22H6q-.825 0-1.412-.587T4 20V10q0-.825.588-1.412T6 8m7.413 8.413Q14 15.825 14 15t-.587-1.412T12 13t-1.412.588T10 15t.588 1.413T12 17t1.413-.587"},null,-1)])])}}),Dz={class:"bg-white border border-gray-200 shadow-xl rounded-md min-w-[160px] py-1"},Nz=["disabled"],Oz={class:"flex-1"},Fz={class:"text-xs text-gray-400"},Uz=["disabled"],zz={class:"flex-1"},Rz={class:"text-xs text-gray-400"},Qz=["disabled"],Hz={class:"flex-1"},Vz={class:"text-xs text-gray-400"},jz=["disabled"],Gz={class:"flex-1"},Wz={class:"text-xs text-gray-400"},Kz=["disabled"],qz={class:"flex-1"},Yz={class:"text-xs text-gray-400"},Xz={class:"flex-1"},Zz={class:"text-xs text-gray-400"},Jz={class:"flex-1"},$z={class:"text-xs text-gray-400"},eR=Nn({__name:"Shortcuts",setup(e){const{t:t}=dh(),r=Wb(),n=nn("designer-root"),i=Ft(!1),o=Ft(0),a=Ft(0),s=Ft(0),l=Ft(0),u=Ft(null),c=Ft(!1),A=Ft(0),d=Ft(0),h=e=>{A.value=e.clientX,d.value=e.clientY},p=()=>{var e;return(null==(e=null==n?void 0:n.value)?void 0:e.getRootNode())||document},f=(e,t)=>{const n=p().querySelectorAll(".print-page");if(0===n.length)return;let i=null,o=1/0,a=0;for(let s=0;s<n.length;s++){const l=n[s],u=l.getBoundingClientRect();if(e>=u.left&&e<=u.right&&t>=u.top&&t<=u.bottom)return{pageIndex:s,x:(e-u.left)/r.zoom,y:(t-u.top)/r.zoom};const c=Math.max(u.left-e,0,e-u.right),A=Math.max(u.top-t,0,t-u.bottom),d=Math.sqrt(c*c+A*A);d<o&&(o=d,i=l,a=s)}if(i){const n=i.getBoundingClientRect();let o=(e-n.left)/r.zoom,s=(t-n.top)/r.zoom;return o=Math.max(0,Math.min(r.canvasSize.width,o)),s=Math.max(0,Math.min(r.canvasSize.height,s)),{pageIndex:a,x:o,y:s}}},g=e=>{if(r.disableGlobalShortcuts)return;if((e.ctrlKey||e.metaKey)&&e.altKey&&"n"===e.key.toLowerCase())return e.preventDefault(),e.stopPropagation(),void window.dispatchEvent(new CustomEvent("designer:new-template"));if((e.ctrlKey||e.metaKey)&&","===e.key)return e.preventDefault(),e.stopPropagation(),void r.setShowSettings(!0);const t=e.target;if(t&&t.closest('input, textarea, select, [contenteditable="true"]'))return;if(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(e.key)){const t=e.shiftKey?10:1;if(r.selectedGuideId){const n=r.guides.find(e=>e.id===r.selectedGuideId);if(n){e.preventDefault();const i=n.position;let o=i;if("vertical"===n.type)if("ArrowLeft"===e.key)o-=t;else{if("ArrowRight"!==e.key)return;o+=t}else if("ArrowUp"===e.key)o-=t;else{if("ArrowDown"!==e.key)return;o+=t}(i>0&&o<0||i<0&&o>0||0===o)&&(o=0),r.updateGuide(n.id,o),r.setHighlightedGuide(n.id)}}else if(r.selectedElementIds.length>0){e.preventDefault();const n="ArrowLeft"===e.key?-t:"ArrowRight"===e.key?t:0,i="ArrowUp"===e.key?-t:"ArrowDown"===e.key?t:0;r.nudgeSelectedElements(n,i)}return}if((e.ctrlKey||e.metaKey)&&"a"===e.key.toLowerCase()){if(e.preventDefault(),r.pages[r.currentPageIndex]){const e=r.pages[r.currentPageIndex].elements.map(e=>e.id);r.setSelection(e)}return}if("Delete"===e.key)return void(r.selectedElementIds.length>1?(e.preventDefault(),r.removeSelectedElements()):r.selectedElementId?(e.preventDefault(),r.removeElement(r.selectedElementId)):r.selectedGuideId&&(e.preventDefault(),r.removeGuide(r.selectedGuideId)));if((e.ctrlKey||e.metaKey)&&"c"===e.key.toLowerCase())return void(r.selectedElementId&&(e.preventDefault(),r.copy()));if((e.ctrlKey||e.metaKey)&&"x"===e.key.toLowerCase())return void(r.selectedElementId&&(e.preventDefault(),r.cut()));if((e.ctrlKey||e.metaKey)&&"v"===e.key.toLowerCase())return void(r.clipboard.length>0&&(e.preventDefault(),r.paste(f(A.value,d.value))));if((e.ctrlKey||e.metaKey)&&"h"===e.key.toLowerCase())return e.preventDefault(),void r.setShowHelp(!0);if(r.showHelp&&"Escape"===e.key)return e.preventDefault(),void r.setShowHelp(!1);if((e.ctrlKey||e.metaKey)&&"p"===e.key.toLowerCase())return e.preventDefault(),void r.setCanvasPreview(!r.canvasPreview);if((e.ctrlKey||e.metaKey)&&"z"===e.key.toLowerCase()&&!e.shiftKey)return e.preventDefault(),void r.undo();if((e.ctrlKey||e.metaKey)&&("y"===e.key.toLowerCase()||"z"===e.key.toLowerCase()&&e.shiftKey))return e.preventDefault(),void r.redo();if((e.ctrlKey||e.metaKey)&&"l"===e.key.toLowerCase())return e.preventDefault(),void r.toggleLock();if((e.ctrlKey||e.metaKey)&&e.shiftKey&&"p"===e.key.toLowerCase())return e.preventDefault(),void window.dispatchEvent(new CustomEvent("designer:preview"));const n=e.ctrlKey||e.metaKey,i=e.key.toLowerCase();return!r.editingCustomElementId||!n||"s"!==i&&"q"!==i?n&&"s"===i?(e.preventDefault(),void window.dispatchEvent(new CustomEvent("designer:save"))):!e.ctrlKey&&!e.metaKey||"p"!==e.key.toLowerCase()||e.shiftKey?(e.ctrlKey||e.metaKey)&&e.shiftKey&&"e"===e.key.toLowerCase()?(e.preventDefault(),void window.dispatchEvent(new CustomEvent("designer:export-pdf"))):(e.ctrlKey||e.metaKey)&&e.shiftKey&&"j"===e.key.toLowerCase()?(e.preventDefault(),void window.dispatchEvent(new CustomEvent("designer:view-json"))):void 0:(e.preventDefault(),void window.dispatchEvent(new CustomEvent("designer:print"))):void 0},v=e=>{["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(e.key)&&(r.setHighlightedGuide(null),r.setHighlightedEdge(null))},m=async e=>{const t=p().querySelector(".overflow-auto"),r=e.composedPath();if(!(!!t&&r.some(e=>e===t||e instanceof Element&&t.contains(e))))return;if(e.preventDefault(),i.value=!0,o.value=e.clientX,a.value=e.clientY,s.value=e.clientX,l.value=e.clientY,await br(),u.value){const t=u.value.getBoundingClientRect(),r=window.innerWidth,n=window.innerHeight;e.clientX+t.width>r&&(o.value=r-t.width-5),e.clientY+t.height>n&&(a.value=n-t.height-5)}const n=p().querySelectorAll(".print-page");let A=!1;n.forEach(t=>{const r=t.getBoundingClientRect();e.clientX>=r.left&&e.clientX<=r.right&&e.clientY>=r.top&&e.clientY<=r.bottom&&(A=!0)}),c.value=A,window.addEventListener("click",y)},y=()=>{i.value=!1,window.removeEventListener("click",y)};return ei(()=>{window.addEventListener("keydown",g,{capture:!0}),window.addEventListener("contextmenu",m),window.addEventListener("keyup",v),window.addEventListener("mousemove",h)}),ii(()=>{window.removeEventListener("keydown",g,{capture:!0}),window.removeEventListener("contextmenu",m),window.removeEventListener("click",y),window.removeEventListener("keyup",v),window.removeEventListener("mousemove",h)}),(e,n)=>(Ro(),Go(Wa,{"enter-active-class":"transition duration-100 ease-out","enter-from-class":"transform scale-95 opacity-0","enter-to-class":"transform scale-100 opacity-100","leave-active-class":"transition duration-75 ease-in","leave-from-class":"transform scale-100 opacity-100","leave-to-class":"transform scale-95 opacity-0"},{default:Jr(()=>{var e,c,A,d,h;return[i.value?(Ro(),jo("div",{key:0,ref_key:"menuRef",ref:u,class:"fixed z-[9999]",style:G({left:`${o.value}px`,top:`${a.value}px`})},[Xo("div",Dz,[Xo("button",{class:"w-full text-left px-3 py-2 text-sm hover:bg-gray-100 disabled:opacity-50 flex items-center gap-2",disabled:0===Qt(r).selectedElementIds.length&&!Qt(r).selectedGuideId||(null==(e=Qt(r).selectedElement)?void 0:e.locked),onClick:n[0]||(n[0]=()=>{Qt(r).selectedElementIds.length>1?Qt(r).removeSelectedElements():Qt(r).selectedElementId?Qt(r).removeElement(Qt(r).selectedElementId):Qt(r).selectedGuideId&&Qt(r).removeGuide(Qt(r).selectedGuideId),i.value=!1})},[Zo(Qt(Ax),{class:"w-4 h-4"}),Xo("span",Oz,oe(Qt(t)("common.delete"))+oe(Qt(r).selectedElementIds.length>1?` (${Qt(r).selectedElementIds.length})`:""),1),Xo("span",Fz,oe(Qt(sB)(["Del"])),1)],8,Nz),Xo("button",{class:"w-full text-left px-3 py-2 text-sm hover:bg-gray-100 disabled:opacity-50 flex items-center gap-2",disabled:!Qt(r).selectedElementId||(null==(c=Qt(r).selectedElement)?void 0:c.locked),onClick:n[1]||(n[1]=()=>{Qt(r).cut(),i.value=!1})},[Zo(Qt(Pz),{class:"w-4 h-4"}),Xo("span",zz,oe(Qt(t)("common.cut")),1),Xo("span",Rz,oe(Qt(sB)(["Ctrl","X"])),1)],8,Uz),Xo("button",{class:"w-full text-left px-3 py-2 text-sm hover:bg-gray-100 disabled:opacity-50 flex items-center gap-2",disabled:!Qt(r).selectedElementId||(null==(A=Qt(r).selectedElement)?void 0:A.locked),onClick:n[2]||(n[2]=()=>{Qt(r).copy(),i.value=!1})},[Zo(Qt(ox),{class:"w-4 h-4"}),Xo("span",Hz,oe(Qt(t)("common.copy")),1),Xo("span",Vz,oe(Qt(sB)(["Ctrl","C"])),1)],8,Qz),Xo("button",{class:"w-full text-left px-3 py-2 text-sm hover:bg-gray-100 disabled:opacity-50 flex items-center gap-2",disabled:0===Qt(r).clipboard.length,onClick:n[3]||(n[3]=()=>{Qt(r).paste(f(s.value,l.value)),i.value=!1})},[Zo(Qt(sx),{class:"w-4 h-4"}),Xo("span",Gz,oe(Qt(t)("common.paste")),1),Xo("span",Wz,oe(Qt(sB)(["Ctrl","V"])),1)],8,jz),Xo("button",{class:"w-full text-left px-3 py-2 text-sm hover:bg-gray-100 disabled:opacity-50 flex items-center gap-2",disabled:0===Qt(r).selectedElementIds.length,onClick:n[4]||(n[4]=()=>{Qt(r).toggleLock(),i.value=!1})},[(Ro(),Go(Ai((null==(d=Qt(r).selectedElement)?void 0:d.locked)?Qt(Lz):Qt(ux)),{class:"w-4 h-4"})),Xo("span",qz,oe((null==(h=Qt(r).selectedElement)?void 0:h.locked)?Qt(t)("common.unlock"):Qt(t)("common.lock")),1),Xo("span",Yz,oe(Qt(sB)(["Ctrl","L"])),1)],8,Kz),n[7]||(n[7]=Xo("div",{class:"border-t border-gray-200 my-1"},null,-1)),Xo("button",{class:"w-full text-left px-3 py-2 text-sm hover:bg-gray-100 flex items-center gap-2",onClick:n[5]||(n[5]=e=>{Qt(r).undo(),i.value=!1})},[Zo(Qt(tx),{class:"w-4 h-4"}),Xo("span",Xz,oe(Qt(t)("common.undo")),1),Xo("span",Zz,oe(Qt(sB)(["Ctrl","Z"])),1)]),Xo("button",{class:"w-full text-left px-3 py-2 text-sm hover:bg-gray-100 flex items-center gap-2",onClick:n[6]||(n[6]=e=>{Qt(r).redo(),i.value=!1})},[Zo(Qt(nx),{class:"w-4 h-4"}),Xo("span",Jz,oe(Qt(t)("common.redo")),1),Xo("span",$z,oe(Qt(sB)(["Ctrl","Y"])),1)])])],4)):na("",!0)]}),_:1}))}}),tR={class:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-sm leading-none text-gray-300 z-10"},rR={key:2,class:"w-full h-full bg-gray-200 flex items-center justify-center overflow-hidden"},nR=["src"],iR={key:3,class:"w-full h-full bg-gray-100 flex items-center justify-center overflow-hidden"},oR=["src"],aR={key:4,class:"w-full h-full bg-gray-100 flex items-center justify-center overflow-hidden"},sR=["src"],lR={key:2,class:"w-full h-full bg-gray-200 flex items-center justify-center overflow-hidden"},uR=["src"],cR={key:3,class:"w-full h-full bg-gray-100 flex items-center justify-center overflow-hidden"},AR=["src"],dR={key:4,class:"w-full h-full bg-gray-100 flex items-center justify-center overflow-hidden"},hR=["src"],pR=Nn({__name:"Minimap",props:{scrollWidth:{},scrollHeight:{},viewportWidth:{},viewportHeight:{},scrollLeft:{},scrollTop:{},pages:{},pageWidth:{},pageHeight:{},zoom:{},contentOffsetX:{},contentOffsetY:{},canvasBackground:{},showHeaderLine:{type:Boolean},showFooterLine:{type:Boolean},headerHeight:{},footerHeight:{},watermark:{}},emits:["update:scroll"],setup(e,{emit:t}){const r=e,n=t,i=Ta(()=>{if(r.scrollWidth<=0||r.scrollHeight<=0)return.1;let e=180/r.scrollWidth;return r.scrollHeight*e>300&&(e=300/r.scrollHeight),r.scrollWidth*e<120&&(e=120/r.scrollWidth),e}),o=Ta(()=>r.scrollHeight*i.value),a=Ta(()=>({left:r.scrollLeft*i.value+"px",top:r.scrollTop*i.value+"px",width:r.viewportWidth*i.value+"px",height:r.viewportHeight*i.value+"px"})),s=Ta(()=>{const e=r.watermark;if(!e||!e.enabled||!e.text)return null;const t=e.text.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");const n=Number.isFinite(e.angle)?e.angle:-30,i=Math.max(6,e.size||24),o=Math.max(40,e.density||160),a=e.color||"#000000",s=Math.min(1,Math.max(0,e.opacity??.1));return{backgroundImage:`url("data:image/svg+xml,${encodeURIComponent(`<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}"><text x="50%" y="50%" dominant-baseline="middle" text-anchor="middle" fill="${a}" fill-opacity="${s}" font-size="${i}" transform="rotate(${n} ${o/2} ${o/2})">${t}</text></svg>`)}")`,backgroundRepeat:"repeat",backgroundSize:`${o}px ${o}px`}}),l=e=>{const t={left:r.contentOffsetX*i.value+"px",top:(r.contentOffsetY+e*(r.pageHeight+32)*r.zoom)*i.value+"px",width:r.pageWidth*r.zoom*i.value+"px",height:r.pageHeight*r.zoom*i.value+"px",backgroundColor:r.canvasBackground||"#ffffff"};return s.value?{...t,...s.value}:t},u=()=>{if(!r.pages||0===r.pages.length)return[];const e=r.pages[0];if(!(null==e?void 0:e.elements))return[];return e.elements.filter(e=>{if("TABLE"===e.type)return!1;const t=(e=>{var t;const r=(Number((null==(t=null==e?void 0:e.style)?void 0:t.rotate)||0)%360+360)%360;if(0===r)return{minY:e.y,maxY:e.y+e.height};const n=e.x+e.width/2,i=e.y+e.height/2,o=r*Math.PI/180,a=Math.cos(o),s=Math.sin(o),l=[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x,y:e.y+e.height},{x:e.x+e.width,y:e.y+e.height}];let u=1/0,c=-1/0;for(const A of l){const e=i+(A.x-n)*s+(A.y-i)*a;e<u&&(u=e),e>c&&(c=e)}return{minY:u,maxY:c}})(e),n=!0===e.repeatPerPage,i=r.showHeaderLine&&t.maxY<=r.headerHeight,o=r.showFooterLine&&t.minY>=r.pageHeight-r.footerHeight;return n||i||o})},c=e=>{var t,n,o,a,s,l,u,c,A,d,h,p;const{width:f,height:g}=(e=>({width:Math.max(1,e.width*r.zoom*i.value),height:Math.max(1,e.height*r.zoom*i.value)}))(e),v={left:e.x*r.zoom*i.value+"px",top:e.y*r.zoom*i.value+"px",width:`${f}px`,height:`${g}px`,fontSize:((null==(t=e.style)?void 0:t.fontSize)||12)*r.zoom*i.value+"px",zIndex:(null==(n=e.style)?void 0:n.zIndex)||1,transform:`rotate(${(null==(o=e.style)?void 0:o.rotate)||0}deg)`};if("LINE"===e.type){const t=(null==(a=e.style)?void 0:a.borderColor)||"#111827",n=Math.max(1,((null==(s=e.style)?void 0:s.borderWidth)||1)*r.zoom*i.value);return{...v,height:`${n}px`,backgroundColor:t,top:e.y*r.zoom*i.value+(g-n)/2+"px"}}if("RECT"===e.type||"CIRCLE"===e.type){const t=(null==(l=e.style)?void 0:l.borderColor)||"#111827",n=Math.max(1,((null==(u=e.style)?void 0:u.borderWidth)||1)*r.zoom*i.value);return{...v,backgroundColor:(null==(c=e.style)?void 0:c.backgroundColor)||"transparent",borderColor:t,borderWidth:`${n}px`,borderStyle:(null==(A=e.style)?void 0:A.borderStyle)||"solid",borderRadius:"CIRCLE"===e.type?"9999px":`${(null==(d=e.style)?void 0:d.borderRadius)||0}px`}}return"BARCODE"===e.type||"QRCODE"===e.type?{...v,backgroundColor:"rgba(17, 24, 39, 0.15)",border:"1px solid rgba(17, 24, 39, 0.3)"}:"PAGE_NUMBER"===e.type?{...v,color:(null==(h=e.style)?void 0:h.color)||"#111827",backgroundColor:(null==(p=e.style)?void 0:p.backgroundColor)||"transparent"}:{...v,backgroundColor:"IMAGE"===e.type?"#e5e7eb":void 0}},A=(e,t)=>{var n;const i=t+1,o=(null==(n=r.pages)?void 0:n.length)||1,a=e.format||"1/Total";return"1"===a?`${i}`:"Page 1"===a?`Page ${i}`:`${i}/${o}`},d=e=>{const t=e.style?JSON.stringify(e.style):"";return`${e.id}:${e.type}:${e.variable||""}:${e.content||""}:${t}`},h=Ft({}),p=Ft({});let f=0;const g=e=>"BARCODE"===e.type?e.variable||e.content||"12345678":"QRCODE"===e.type?e.variable||e.content||"https://example.com":e.variable||e.content||"",v=async e=>{try{const t=await Promise.resolve().then(()=>VG),r=(null==t?void 0:t.default)||t,n=document.createElement("canvas"),i=e.style||{};return r(n,g(e),{format:i.barcodeFormat||"CODE128",lineColor:i.color||"#000000",width:Number(i.barcodeWidth)||2,height:Number(i.barcodeHeight)||40,displayValue:!1!==i.showText&&"false"!==i.showText,fontOptions:i.fontOptions||"",font:i.font||"monospace",textAlign:i.textAlign||"center",textPosition:i.textPosition||"bottom",textMargin:Number(i.textMargin)||2,fontSize:Number(i.fontSize)||20,background:"transparent",margin:Number(i.margin)||0}),n.toDataURL("image/png")}catch{return""}},m=async e=>{var t,r;try{const n=await Promise.resolve().then(()=>aK),i=(null==n?void 0:n.default)||n;return await i.toDataURL(g(e),{margin:0,color:{dark:(null==(t=e.style)?void 0:t.color)||"#000000",light:"#00000000"},errorCorrectionLevel:(null==(r=e.style)?void 0:r.qrErrorCorrection)||"M"})}catch{return""}},y=e=>h.value[d(e)]||"",b=e=>p.value[d(e)]||"";an(()=>r.pages,()=>{(async()=>{const e=++f,t={},n={},i=r.pages||[];for(const r of i){const e=(null==r?void 0:r.elements)||[];for(const r of e){const e=d(r);if("BARCODE"===r.type){const n=await v(r);n&&(t[e]=n)}else if("QRCODE"===r.type){const t=await m(r);t&&(n[e]=t)}}}e===f&&(h.value=t,p.value=n)})()},{deep:!0,immediate:!0});const w=Ft(!1),x=Ft(null);an(()=>r.scrollTop,()=>{if(!x.value)return;const e=r.scrollTop*i.value,t=r.viewportHeight*i.value,n=x.value.clientHeight,o=x.value.scrollTop;e<o?x.value.scrollTop=e:e+t>o+n&&(x.value.scrollTop=e+t-n)});const _=e=>{e.preventDefault();const t=e.currentTarget,o=t.getBoundingClientRect(),a=e.clientX-o.left,s=e.clientY-o.top,l=r.scrollLeft*i.value,u=r.scrollTop*i.value,c=r.viewportWidth*i.value,A=r.viewportHeight*i.value;let d=0,h=0;if(a>=l&&a<=l+c&&s>=u&&s<=u+A)d=a-l,h=s-u;else{const e=a/i.value-r.viewportWidth/2,t=s/i.value-r.viewportHeight/2;n("update:scroll",{left:e,top:t}),d=c/2,h=A/2}w.value=!0;const p=e=>{const r=t.getBoundingClientRect(),o=e.clientX-r.left,a=e.clientY-r.top-h;n("update:scroll",{left:(o-d)/i.value,top:a/i.value})},f=()=>{w.value=!1,window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",f)};window.addEventListener("mousemove",p),window.addEventListener("mouseup",f)};return(t,n)=>(Ro(),jo("div",{ref_key:"scrollContainer",ref:x,class:"bg-white border border-gray-200 shadow-lg rounded max-h-[300px] overflow-y-auto overflow-x-hidden box-content no-scrollbar",style:G({width:r.scrollWidth*i.value+"px",maxWidth:"180px"})},[Xo("div",{class:"relative select-none box-content overflow-hidden",style:G({width:r.scrollWidth*i.value+"px",height:`${o.value}px`}),onMousedown:_},[n[0]||(n[0]=Xo("div",{class:"absolute inset-0 bg-gray-100"},null,-1)),(Ro(!0),jo(Do,null,pi(e.pages,(e,t)=>(Ro(),jo("div",{key:t,class:"absolute shadow-sm border border-gray-300 overflow-hidden",style:G(l(t))},[Xo("div",tR,oe(t+1),1),(Ro(!0),jo(Do,null,pi(e.elements,e=>{var r,n;return Ro(),jo("div",{key:e.id,class:"absolute",style:G(c(e))},["TEXT"===e.type?(Ro(),jo("div",{key:0,class:"w-full h-full overflow-hidden whitespace-nowrap",style:G({color:e.style.color||"#000000",fontFamily:e.style.fontFamily,fontWeight:e.style.fontWeight,fontStyle:e.style.fontStyle,textAlign:e.style.textAlign,lineHeight:1})},oe(e.variable||e.content),5)):"PAGE_NUMBER"===e.type?(Ro(),jo("div",{key:1,class:"w-full h-full overflow-hidden whitespace-nowrap",style:G({color:e.style.color||"#000000",fontFamily:e.style.fontFamily,fontWeight:e.style.fontWeight,fontStyle:e.style.fontStyle,textAlign:e.style.textAlign,lineHeight:1})},oe(A(e,t)),5)):"IMAGE"===e.type?(Ro(),jo("div",rR,[e.content?(Ro(),jo("img",{key:0,src:e.content,class:"w-full h-full object-cover"},null,8,nR)):na("",!0)])):"BARCODE"===e.type?(Ro(),jo("div",iR,[y(e)?(Ro(),jo("img",{key:0,src:y(e),class:"w-full h-full object-contain"},null,8,oR)):na("",!0)])):"QRCODE"===e.type?(Ro(),jo("div",aR,[b(e)?(Ro(),jo("img",{key:0,src:b(e),class:"w-full h-full object-contain"},null,8,sR)):na("",!0)])):"TABLE"===e.type?(Ro(),jo("div",{key:5,class:"w-full h-full border border-gray-300 bg-white grid",style:G({gridTemplateColumns:`repeat(${(null==(r=e.columns)?void 0:r.length)||2}, 1fr)`})},[(Ro(!0),jo(Do,null,pi(Math.min(6,2*((null==(n=e.columns)?void 0:n.length)||2)),e=>(Ro(),jo("div",{key:e,class:"border-[0.5px] border-gray-100"}))),128))],4)):"CUSTOM_TABLE"===e.type?(Ro(),jo("div",{key:6,class:"w-full h-full border border-gray-300 bg-white grid",style:G({gridTemplateColumns:`repeat(${e.customTableCols||3}, 1fr)`})},[(Ro(!0),jo(Do,null,pi(Math.min(6,2*(e.customTableCols||3)),e=>(Ro(),jo("div",{key:e,class:"border-[0.5px] border-gray-100"}))),128))],4)):na("",!0)],4)}),128)),t>0?(Ro(!0),jo(Do,{key:0},pi(u(),e=>{var r,n;return Ro(),jo("div",{key:`global-${t}-${e.id}`,class:"absolute",style:G(c(e))},["TEXT"===e.type?(Ro(),jo("div",{key:0,class:"w-full h-full overflow-hidden whitespace-nowrap",style:G({color:e.style.color||"#000000",fontFamily:e.style.fontFamily,fontWeight:e.style.fontWeight,fontStyle:e.style.fontStyle,textAlign:e.style.textAlign,lineHeight:1})},oe(e.variable||e.content),5)):"PAGE_NUMBER"===e.type?(Ro(),jo("div",{key:1,class:"w-full h-full overflow-hidden whitespace-nowrap",style:G({color:e.style.color||"#000000",fontFamily:e.style.fontFamily,fontWeight:e.style.fontWeight,fontStyle:e.style.fontStyle,textAlign:e.style.textAlign,lineHeight:1})},oe(A(e,t)),5)):"IMAGE"===e.type?(Ro(),jo("div",lR,[e.content?(Ro(),jo("img",{key:0,src:e.content,class:"w-full h-full object-cover"},null,8,uR)):na("",!0)])):"BARCODE"===e.type?(Ro(),jo("div",cR,[y(e)?(Ro(),jo("img",{key:0,src:y(e),class:"w-full h-full object-contain"},null,8,AR)):na("",!0)])):"QRCODE"===e.type?(Ro(),jo("div",dR,[b(e)?(Ro(),jo("img",{key:0,src:b(e),class:"w-full h-full object-contain"},null,8,hR)):na("",!0)])):"TABLE"===e.type?(Ro(),jo("div",{key:5,class:"w-full h-full border border-gray-300 bg-white grid",style:G({gridTemplateColumns:`repeat(${(null==(r=e.columns)?void 0:r.length)||2}, 1fr)`})},[(Ro(!0),jo(Do,null,pi(Math.min(6,2*((null==(n=e.columns)?void 0:n.length)||2)),e=>(Ro(),jo("div",{key:e,class:"border-[0.5px] border-gray-100"}))),128))],4)):"CUSTOM_TABLE"===e.type?(Ro(),jo("div",{key:6,class:"w-full h-full border border-gray-300 bg-white grid",style:G({gridTemplateColumns:`repeat(${e.customTableCols||3}, 1fr)`})},[(Ro(!0),jo(Do,null,pi(Math.min(6,2*(e.customTableCols||3)),e=>(Ro(),jo("div",{key:e,class:"border-[0.5px] border-gray-100"}))),128))],4)):na("",!0)],4)}),128)):na("",!0)],4))),128)),Xo("div",{class:"absolute border-2 border-blue-500 bg-blue-500/10 cursor-move z-[1000]",style:G(a.value)},null,4)],36)],4))}}),fR=zC(pR,[["__scopeId","data-v-9e6ec8c1"]]),gR={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const vR=Lt({name:"material-symbols-keyboard-arrow-right",render:function(e,t){return Ro(),jo("svg",gR,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M12.6 12L8 7.4L9.4 6l6 6l-6 6L8 16.6z"},null,-1)])])}}),mR={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const yR=Lt({name:"material-symbols-keyboard-arrow-down",render:function(e,t){return Ro(),jo("svg",mR,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m12 15.4l-6-6L7.4 8l4.6 4.6L16.6 8L18 9.4z"},null,-1)])])}}),bR={class:"text-sm font-semibold text-gray-700 dark:text-gray-200 m-0"},wR={class:"flex-1 overflow-y-auto p-2 custom-scrollbar"},xR={key:0,class:"text-xs text-gray-500 dark:text-gray-400 text-center py-4"},_R={key:1,class:"space-y-1"},CR=["onDragstart"],SR=["onClick"],BR={key:1,class:"w-4 h-4 mr-1"},kR=["title"],ER=["title"],IR={key:0,class:"ml-6 border-l border-gray-200 dark:border-gray-600 pl-1 mt-1 space-y-1"},TR=["onDragstart"],PR=["title"],MR=["title"],LR=Nn({__name:"VariablesPanel",setup(e){const{t:t}=dh(),r=Wb(),n=Ft(null),i=Ft(!1),o=Ft({x:0,y:0}),a=Ft({x:-9999,y:-9999}),s=Ft("70vh"),l=Ta(()=>r.availableVariables||[]),u=Ft(new Set),c=e=>{e.target.closest(".panel-close-btn")||(i.value=!0,o.value={x:e.clientX-a.value.x,y:e.clientY-a.value.y},document.addEventListener("mousemove",A),document.addEventListener("mouseup",d))},A=e=>{var t;if(!i.value||!n.value)return;let r=e.clientX-o.value.x,s=e.clientY-o.value.y;const l=n.value.getBoundingClientRect(),u=((null==(t=n.value)?void 0:t.getRootNode())||document).querySelector(".canvas-scroll");if(u){const e=u.getBoundingClientRect(),t=e.left,n=e.top,i=e.right-l.width,o=e.bottom-l.height;r=Math.max(t,Math.min(r,i)),s=Math.max(n,Math.min(s,o));const a=12;Math.abs(r-t)<a&&(r=t),Math.abs(s-n)<a&&(s=n),Math.abs(i-r)<a&&(r=i),Math.abs(o-s)<a&&(s=o)}else r=Math.max(0,Math.min(r,window.innerWidth-l.width)),s=Math.max(0,Math.min(s,window.innerHeight-l.height));a.value={x:r,y:s}},d=()=>{i.value=!1,document.removeEventListener("mousemove",A),document.removeEventListener("mouseup",d)},h=(e,t)=>{e.dataTransfer&&(t.isArray?e.dataTransfer.setData("application/json",JSON.stringify({type:Nm.TABLE,dataVariable:t.id})):e.dataTransfer.setData("application/json",JSON.stringify({type:Nm.TEXT,variable:t.id})),e.dataTransfer.effectAllowed="copy")};let p=0;const f=async()=>{var e;await br();const t=((null==(e=n.value)?void 0:e.getRootNode())||document).querySelector(".canvas-scroll");if(t){const e=t.getBoundingClientRect();if(0===e.width&&p<10)return p++,void setTimeout(f,50);p=0,e.left,e.top;const r=e.left,i=e.top,o=e.bottom-e.top;s.value=`${Math.max(200,o)}px`,await br();const l=n.value?n.value.getBoundingClientRect().width:280,u=n.value?n.value.getBoundingClientRect().height:400,c=Math.max(r,e.right-l),A=Math.max(i,e.bottom-u);(a.value.x<r||a.value.x>c||a.value.y<i||a.value.y>A)&&(a.value={x:Math.max(r,Math.min(a.value.x,c)),y:Math.max(i,Math.min(a.value.y,A))})}else p<10?(p++,setTimeout(f,50)):(a.value.x<0||a.value.y<0)&&(a.value={x:250,y:100})};an(()=>r.showVariablesPanel,e=>{e?(f(),br(()=>{var e;if(!g){const t=((null==(e=n.value)?void 0:e.getRootNode())||document).querySelector(".canvas-scroll");t&&(g=new ResizeObserver(()=>{r.showVariablesPanel&&f()}),g.observe(t))}})):g&&(g.disconnect(),g=null)});let g=null;return ei(()=>{r.showVariablesPanel&&(f(),br(()=>{var e;const t=((null==(e=n.value)?void 0:e.getRootNode())||document).querySelector(".canvas-scroll");t&&(g=new ResizeObserver(()=>{r.showVariablesPanel&&f()}),g.observe(t))}))}),ii(()=>{document.removeEventListener("mousemove",A),document.removeEventListener("mouseup",d),g&&g.disconnect()}),(e,i)=>Qt(r).showVariablesPanel?(Ro(),jo("div",{key:0,ref_key:"panelRef",ref:n,class:"fixed bg-white dark:bg-gray-800 shadow-xl rounded-lg border border-gray-200 dark:border-gray-700 flex flex-col z-[2000] overflow-hidden",style:G({left:`${a.value.x}px`,top:`${a.value.y}px`,width:"280px",maxHeight:s.value})},[Xo("div",{class:"flex items-center justify-between px-3 py-2 bg-gray-50 dark:bg-gray-700 border-b border-gray-200 dark:border-gray-600 cursor-move select-none",onMousedown:c},[Xo("h3",bR,oe(Qt(t)("common.variables")),1),Xo("button",{class:"panel-close-btn p-1 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-full transition-colors text-gray-500 dark:text-gray-400",onClick:i[0]||(i[0]=e=>Qt(r).setShowVariablesPanel(!1))},[Zo(Qt(Lw),{class:"w-4 h-4"})])],32),Xo("div",wR,[0===l.value.length?(Ro(),jo("div",xR,oe(Qt(t)("common.noData")),1)):(Ro(),jo("div",_R,[(Ro(!0),jo(Do,null,pi(l.value,e=>(Ro(),jo("div",{key:e.id,class:"flex flex-col"},[Xo("div",{class:"flex items-center py-1.5 px-2 rounded hover:bg-gray-100 dark:hover:bg-gray-700 group cursor-grab active:cursor-grabbing",draggable:!0,onDragstart:t=>h(t,e)},[e.children&&e.children.length>0?(Ro(),jo("button",{key:0,class:"w-4 h-4 flex items-center justify-center mr-1 text-gray-400 hover:text-gray-600 cursor-pointer",onClick:zs(t=>(e=>{const t=new Set(u.value);t.has(e)?t.delete(e):t.add(e),u.value=t,br(()=>{f()})})(e.id),["stop"])},[u.value.has(e.id)?(Ro(),Go(Qt(yR),{key:0,class:"w-4 h-4"})):(Ro(),Go(Qt(vR),{key:1,class:"w-4 h-4"}))],8,SR)):(Ro(),jo("div",BR)),Xo("span",{class:"text-sm text-gray-700 dark:text-gray-200 truncate flex-1",title:e.label},oe(e.label),9,kR),Xo("span",{class:"text-xs text-gray-400 bg-gray-100 dark:bg-gray-700 px-1 rounded truncate max-w-[100px]",title:`@${e.id}`},"@"+oe(e.id),9,ER)],40,CR),e.children&&e.children.length>0&&u.value.has(e.id)?(Ro(),jo("div",IR,[(Ro(!0),jo(Do,null,pi(e.children,e=>(Ro(),jo("div",{key:e.id,class:"flex items-center py-1.5 px-2 rounded hover:bg-gray-100 dark:hover:bg-gray-700 cursor-grab active:cursor-grabbing",draggable:!0,onDragstart:t=>h(t,e)},[Xo("span",{class:"text-sm text-gray-700 dark:text-gray-200 truncate flex-1",title:e.label},oe(e.label),9,PR),Xo("span",{class:"text-xs text-gray-400 bg-gray-100 dark:bg-gray-700 px-1 rounded truncate max-w-[100px]",title:`@${e.id}`},"@"+oe(e.id),9,MR)],40,TR))),128))])):na("",!0)]))),128))]))])],4)):na("",!0)}}),DR=zC(LR,[["__scopeId","data-v-f18f44fe"]]),NR=["张","李","王","刘","陈","杨","赵","黄","周","吴","徐","孙","胡","朱","高","林","何","郭","马","罗"],OR=["伟","芳","娜","秀英","敏","静","丽","强","磊","洋","勇","艳","杰","娟","涛","明","超","秀兰","霞","平"],FR=["James","Mary","Robert","Patricia","John","Jennifer","Michael","Linda","David","Elizabeth"],UR=["Smith","Johnson","Williams","Brown","Jones","Garcia","Miller","Davis","Rodriguez","Martinez"],zR={name:"name",title:"name",fullname:"name",username:"name",first_name:"name",last_name:"name",surname:"name",given_name:"name",age:"age",years:"age",old:"age",email:"email",mail:"email",e_mail:"email",phone:"phone",mobile:"phone",tel:"phone",telephone:"phone",cell:"phone",date:"date",time:"date",birthday:"date",birth:"date",created:"date",updated:"date",address:"address",addr:"address",location:"address",city:"city",province:"province",amount:"money",price:"money",total:"money",cost:"money",fee:"money",salary:"money",money:"money",id:"id",code:"code",number:"number",no:"number",count:"number",qty:"quantity",quantity:"quantity",status:"status",state:"state",type:"type",category:"category",gender:"gender",sex:"gender",description:"text",remark:"text",note:"text",comment:"text",content:"text",text:"text",url:"url",link:"url",website:"url",image:"image",photo:"image",avatar:"image",pic:"image",percent:"percent",rate:"percent",ratio:"percent",score:"score",grade:"score"};function RR(e,t){return Math.floor(Math.random()*(t-e+1))+e}function QR(e,t,r=2){return parseFloat((Math.random()*(t-e)+e).toFixed(r))}function HR(e){return e[Math.floor(Math.random()*e.length)]}function VR(e,t,r){switch(e){case"name":return"zh"===r?HR(NR)+HR(OR):HR(FR)+" "+HR(UR);case"age":return RR(18,65);case"email":return`user${t+1}@example.com`;case"phone":return`1${RR(30,99)}${String(RR(1e7,99999999))}`;case"date":return`${RR(2020,2025)}-${String(RR(1,12)).padStart(2,"0")}-${String(RR(1,28)).padStart(2,"0")}`;case"address":return"zh"===r?`北京市${["朝阳区","海淀区","西城区","东城区"][RR(0,3)]}${HR(["中关村","望京","三里屯","国贸"])}路${RR(1,999)}号`:`${RR(100,9999)} ${HR(["Main St","Oak Ave","Elm Rd","Park Blvd"])}, ${HR(["New York","Los Angeles","Chicago","Houston"])}`;case"city":return HR("zh"===r?["北京市","上海市","广州市","深圳市","杭州市","成都市"]:["New York","Los Angeles","Chicago","Houston","Phoenix"]);case"province":return HR("zh"===r?["北京","上海","广东","浙江","四川","江苏"]:["California","Texas","New York","Florida","Illinois"]);case"money":return QR(10,99999,2);case"id":return RR(10001,99999);case"code":return`${HR(["A","B","C","D","E"])}${String(RR(1,999)).padStart(3,"0")}`;case"number":return RR(1,1e3);case"quantity":return RR(1,50);case"status":return HR(["active","inactive","pending","completed","cancelled"]);case"gender":return HR(["male","female"]);case"text":return"zh"===r?`这是一段示例文本内容,序号${t+1}`:`This is a sample text content for item ${t+1}`;case"url":return`https://example.com/item/${t+1}`;case"image":return`https://picsum.photos/200/200?random=${t}`;case"percent":case"score":return QR(0,100,1);default:return`Value ${t+1}`}}function jR(e,t=10,r="zh"){if(!e||0===e.length)return[];const n=e.map(e=>function(e){const t=e.toLowerCase().replace(/[_\-\s]/g,"");for(const[r,n]of Object.entries(zR))if(t.includes(r))return n;return"text"}(e)),i=[];for(let o=0;o<t;o++){const t={};e.forEach((e,i)=>{t[e]=VR(n[i],o,r)}),i.push(t)}return i}const GR={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const WR=Lt({name:"material-symbols-download",render:function(e,t){return Ro(),jo("svg",GR,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m12 16l-5-5l1.4-1.45l2.6 2.6V4h2v8.15l2.6-2.6L17 11zm-6 4q-.825 0-1.412-.587T4 18v-3h2v3h12v-3h2v3q0 .825-.587 1.413T18 20z"},null,-1)])])}}),KR={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const qR=Lt({name:"material-symbols-upload",render:function(e,t){return Ro(),jo("svg",KR,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M11 16V7.85l-2.6 2.6L7 9l5-5l5 5l-1.4 1.45l-2.6-2.6V16zm-5 4q-.825 0-1.412-.587T4 18v-3h2v3h12v-3h2v3q0 .825-.587 1.413T18 20z"},null,-1)])])}}),YR={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const XR=Lt({name:"material-symbols-refresh",render:function(e,t){return Ro(),jo("svg",YR,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M12 20q-3.35 0-5.675-2.325T4 12t2.325-5.675T12 4q1.725 0 3.3.712T18 6.75V4h2v7h-7V9h4.2q-.8-1.4-2.187-2.2T12 6Q9.5 6 7.75 7.75T6 12t1.75 4.25T12 18q1.925 0 3.475-1.1T17.65 14h2.1q-.7 2.65-2.85 4.325T12 20"},null,-1)])])}}),ZR={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const JR=Lt({name:"material-symbols-code",render:function(e,t){return Ro(),jo("svg",ZR,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"m8 18l-6-6l6-6l1.425 1.425l-4.6 4.6L9.4 16.6zm8 0l-1.425-1.425l4.6-4.6L14.6 7.4L16 6l6 6z"},null,-1)])])}}),$R={class:"tree-node"},eQ={key:0,class:"text-xs select-none"},tQ={key:1,class:"text-xs select-none"},rQ={key:1,class:"w-4 flex-shrink-0"},nQ={key:2,class:"text-gray-400 flex-shrink-0"},iQ={key:3,class:"text-gray-400 flex-shrink-0"},oQ={key:0,class:"text-xs text-gray-400 truncate max-w-[300px]"},aQ={key:0,class:"border-l-2 border-gray-200 dark:border-gray-700 ml-4"},sQ=Nn({__name:"DataTreeNode",props:{nodeKey:{},nodeValue:{},depth:{},path:{},expandedKeys:{}},emits:["toggle"],setup(e,{emit:t}){const r=e,n=t,i=Ta(()=>r.expandedKeys.has(r.path.join("."))),o=Ta(()=>{if(null===r.nodeValue||void 0===r.nodeValue)return!1;if("object"!=typeof r.nodeValue)return!1;return Object.keys(r.nodeValue).length>0}),a=Ta(()=>Array.isArray(r.nodeValue)),s=e=>null===e?{type:"null",label:"null"}:void 0===e?{type:"undefined",label:"undefined"}:"string"==typeof e?{type:"string",label:"string"}:"number"==typeof e?{type:"number",label:"number"}:"boolean"==typeof e?{type:"boolean",label:"boolean"}:Array.isArray(e)?{type:"array",label:"array"}:"object"==typeof e?{type:"object",label:"object"}:{type:"unknown",label:"unknown"},l=(e,t)=>{if("string"===t.type){const t=e;return t.length>80?`"${t.slice(0,80)}..."`:`"${t}"`}return"null"===t.type?"null":"undefined"===t.type?"undefined":"number"===t.type||"boolean"===t.type?e.toString():""},u=e=>{if(null==e)return"";if(!Array.isArray(e)){const t=Object.keys(e);return t.length>0?`${t.length}`:"0"}return e.length>0?`${e.length}`:"0"},c=Ta(()=>{if(!o.value)return"";if(a.value){const e=r.nodeValue;if(0===e.length)return"";return e.slice(0,2).map(e=>{const t=s(e);return"object"===t.type||"array"===t.type?"array"===t.type?"[]":"{}":l(e,t)}).join(", ")+(e.length>2?", ...":"")}{const e=r.nodeValue,t=Object.keys(e);return 0===t.length?"":t.slice(0,3).join(", ")+(t.length>3?", ...":"")}}),A=Ta(()=>o.value?a.value?r.nodeValue.map((e,t)=>({key:t.toString(),value:e,isIndex:!0})):Object.entries(r.nodeValue).map(([e,t])=>({key:e,value:t,isIndex:!1})):[]),d=()=>{o.value&&n("toggle",r.path)},h=Ta(()=>0===r.depth);return(t,r)=>{const p=di(ui,f="DataTreeNode",!0,!0)||f;var f;return Ro(),jo("div",$R,[Xo("div",{class:X(["flex items-center gap-2 py-1.5 px-3 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-800/50 transition-colors cursor-pointer",{"font-semibold":h.value,"font-normal":!h.value}]),style:G({paddingLeft:20*e.depth+12+"px"}),onClick:d},[o.value?(Ro(),jo("button",{key:0,onClick:zs(d,["stop"]),class:"w-4 h-4 flex items-center justify-center text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors flex-shrink-0"},[i.value?(Ro(),jo("span",eQ,"▼")):(Ro(),jo("span",tQ,"▶"))])):(Ro(),jo("div",rQ)),Xo("span",{class:X(["text-sm select-all flex-shrink-0",h.value?"text-black dark:text-white":"text-black dark:text-black"])},oe(a.value?`[${e.nodeKey}]`:e.nodeKey),3),o.value?(Ro(),jo("span",nQ,":")):(Ro(),jo("span",iQ,"=")),o.value?(Ro(),jo(Do,{key:5},[Xo("span",{class:X(["px-2 py-0.5 rounded text-xs font-medium flex-shrink-0",{"bg-indigo-100 dark:bg-indigo-900/30 text-indigo-600 dark:text-indigo-400":"array"===s(e.nodeValue).type,"bg-violet-100 dark:bg-violet-900/30 text-violet-600 dark:text-violet-400":"object"===s(e.nodeValue).type}])},oe("array"===s(e.nodeValue).type?"Array":"Object")+" ("+oe(u(e.nodeValue))+") ",3),!i.value&&c.value?(Ro(),jo("span",oQ,oe(c.value),1)):na("",!0)],64)):(Ro(),jo("span",{key:4,class:X(["px-2 py-0.5 rounded text-xs font-medium flex-shrink-0",{"bg-orange-100 dark:bg-orange-900/30 text-orange-600 dark:text-orange-400":"string"===s(e.nodeValue).type,"bg-blue-100 dark:bg-blue-900/30 text-blue-600 dark:text-blue-400":"number"===s(e.nodeValue).type,"bg-purple-100 dark:bg-purple-900/30 text-purple-600 dark:text-purple-400":"boolean"===s(e.nodeValue).type,"bg-gray-100 dark:bg-gray-700 text-gray-500 dark:text-gray-400":"null"===s(e.nodeValue).type||"undefined"===s(e.nodeValue).type}])},oe(l(e.nodeValue,s(e.nodeValue))),3))],6),o.value&&i.value?(Ro(),jo("div",aQ,[(Ro(!0),jo(Do,null,pi(A.value,t=>(Ro(),Go(p,{key:t.key,"node-key":t.key,"node-value":t.value,depth:e.depth+1,path:[...e.path,t.key],"expanded-keys":e.expandedKeys,onToggle:r[0]||(r[0]=e=>n("toggle",e))},null,8,["node-key","node-value","depth","path","expanded-keys"]))),128))])):na("",!0)])}}}),lQ=zC(sQ,[["__scopeId","data-v-ab4421ba"]]),uQ=["title"],cQ=["title"],AQ=["title"],dQ=["title"],hQ=Nn({__name:"TestDataPanel",setup(e){const{t:t}=dh(),r=Wb(),n=Ta({get:()=>r.showSampleDataModal,set:e=>r.setShowSampleDataModal(!!e)}),i=Ft(!1),o=Ft("");an(()=>r.testData,e=>{i.value&&(o.value=JSON.stringify(e||{},null,2))},{immediate:!0,deep:!0});const a=()=>{n.value=!1,i.value=!1},s=()=>{if(i.value)try{const e=JSON.parse(o.value);r.setSampleData(e),i.value=!1}catch(gH){alert("JSON 格式错误,请检查")}else o.value=JSON.stringify(r.testData||{},null,2),i.value=!0},l=()=>{const e=JSON.stringify(r.testData||{},null,2),t=new Blob([e],{type:"application/json"}),n=URL.createObjectURL(t),i=document.createElement("a");i.href=n,i.download=`test-data-${Date.now()}.json`,i.click(),URL.revokeObjectURL(n)},u=()=>{const e=document.createElement("input");e.type="file",e.accept=".json",e.onchange=e=>{var t;const n=null==(t=e.target.files)?void 0:t[0];if(n){const e=new FileReader;e.onload=e=>{var t;try{const n=JSON.parse(null==(t=e.target)?void 0:t.result);r.setSampleData(n)}catch(n){alert("文件格式错误")}},e.readAsText(n)}},e.click()},c=()=>{confirm("确定要清空所有数据吗?")&&(r.setSampleData({}),i.value&&(o.value="{}"))},A=()=>{const e=JSON.stringify(r.testData||{},null,2);navigator.clipboard.writeText(e)},d=()=>{const e=function(e){const t=new Set,r=(null==e?void 0:e.pages)||[];for(const n of r){const e=(null==n?void 0:n.elements)||[];for(const r of e){if(null==r?void 0:r.variable){const e=r.variable.replace(/^{#/,"").replace(/}$/,"").replace(/^@/,"");t.add(e)}if(null==r?void 0:r.columns)for(const e of r.columns)(null==e?void 0:e.field)&&t.add(e.field);if((null==r?void 0:r.chartXField)&&t.add(r.chartXField),(null==r?void 0:r.chartYField)&&t.add(r.chartYField),null==r?void 0:r.customTableCells)for(const e of r.customTableCells)(null==e?void 0:e.field)&&t.add(e.field)}}return Array.from(t)}(r);if(0===e.length)return void alert("未检测到模板中的变量字段,请先在元素中绑定变量");const t=r.testData||{};if(Object.keys(t).length>0&&!confirm("已有测试数据,生成 Mock 数据会覆盖现有数据。确定继续?"))return;const n=function(e,t="zh"){return e&&0!==e.length&&jR(e,1,t)[0]||{}}(e,"zh");Object.keys(n).length>0?(r.setSampleData(n),i.value&&(o.value=JSON.stringify(n,null,2))):alert("未检测到模板中的变量字段,请先在元素中绑定变量")},h=Ft(new Set),p=e=>e.join("."),f=e=>{const t=p(e),r=new Set(h.value);r.has(t)?r.delete(t):r.add(t),h.value=r},g=()=>{const e=new Set,t=(r,n)=>{r&&"object"==typeof r&&(e.add(p(n)),Object.keys(r).forEach(e=>{t(r[e],[...n,e])}))};t(r.testData,[]),h.value=e},v=()=>{h.value=new Set},m=Ta(()=>r.testData&&"object"==typeof r.testData?Object.entries(r.testData):[]);return(e,r)=>(Ro(),Go(yn,{to:"body"},[n.value?(Ro(),jo("div",{key:0,style:G("position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:rgba(0,0,0,0.5);backdrop-filter:blur(4px);pointer-events:auto;"),onClick:zs(a,["self"])},[Xo("div",{style:G("width:900px;height:85vh;display:flex;flex-direction:column;overflow:hidden;border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,0.25);background-color:#ffffff;border:1px solid #e5e7eb;color-scheme:light;")},[Xo("div",{style:G("display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:linear-gradient(to right,#f9fafb,#ffffff);")},[Xo("div",{style:G("display:flex;align-items:center;gap:12px;")},[Xo("div",{style:G("width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;background-color:#dbeafe;")},[Zo(Qt(JR),{style:G("width:20px;height:20px;color:#2563eb;")},null,8,["style"])],4),Xo("div",{style:G("display:flex;flex-direction:column;")},[Xo("h2",{style:G("font-size:18px;font-weight:700;color:#111827;margin:0;")},oe(Qt(t)("testData.title")),5),Xo("p",{style:G("font-size:12px;color:#6b7280;margin:0;")},"数据预览 · 变量绑定测试",4)],4)],4),Xo("div",{style:G("display:flex;align-items:center;gap:4px;")},[Xo("button",{style:G("width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background-color:transparent;color:#6b7280;cursor:pointer;"),onClick:A,title:Qt(t)("testData.copy")},[Zo(Qt(ox),{style:G("width:20px;height:20px;")},null,8,["style"])],12,uQ),Xo("button",{style:G("width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background-color:transparent;color:#6b7280;cursor:pointer;"),onClick:l,title:Qt(t)("testData.export")},[Zo(Qt(WR),{style:G("width:20px;height:20px;")},null,8,["style"])],12,cQ),Xo("button",{style:G("width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background-color:transparent;color:#6b7280;cursor:pointer;"),onClick:u,title:Qt(t)("testData.import")},[Zo(Qt(qR),{style:G("width:20px;height:20px;")},null,8,["style"])],12,AQ),Xo("div",{style:G("width:1px;height:24px;background-color:#d1d5db;margin:0 8px;")},null,4),Xo("button",{style:G("padding:6px 12px;font-size:14px;font-weight:500;border-radius:8px;border:none;background-color:transparent;color:#4b5563;cursor:pointer;"),onClick:d,title:"生成 Mock 数据"}," 🎲 Mock ",4),Xo("button",{style:G("padding:6px 12px;font-size:14px;font-weight:500;border-radius:8px;border:none;background-color:transparent;color:#4b5563;cursor:pointer;"),onClick:g},"展开全部",4),Xo("button",{style:G("padding:6px 12px;font-size:14px;font-weight:500;border-radius:8px;border:none;background-color:transparent;color:#4b5563;cursor:pointer;"),onClick:v},"收起全部",4),Xo("button",{style:G("width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background-color:transparent;color:#ef4444;cursor:pointer;"),onClick:c,title:Qt(t)("testData.reset")},[Zo(Qt(XR),{style:G("width:20px;height:20px;")},null,8,["style"])],12,dQ),Xo("button",{style:G("width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background-color:transparent;color:#6b7280;cursor:pointer;"),onClick:a},[Zo(Qt(Lw),{style:G("width:20px;height:20px;")},null,8,["style"])],4)],4)],4),Xo("div",{style:G("flex:1;overflow:hidden;display:flex;flex-direction:column;")},[i.value?en((Ro(),jo("textarea",{key:0,"onUpdate:modelValue":r[0]||(r[0]=e=>o.value=e),style:G("width:100%;height:500px;padding:16px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;border:none;background-color:#f9fafb;color:#374151;resize:none;outline:none;"),placeholder:"输入 JSON 数据..."},null,4)),[[Ms,o.value]]):(Ro(),jo("div",{key:1,style:G("height:70vh;overflow:auto;padding:16px;")},[0===m.value.length?(Ro(),jo("div",{key:0,style:G("height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;")},[Xo("div",{style:G("width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6;margin-bottom:16px;")},[Zo(Qt(JR),{style:G("width:40px;height:40px;opacity:0.5;")},null,8,["style"])],4),Xo("p",{style:G("font-size:18px;font-weight:500;color:#6b7280;margin:0 0 8px 0;")},"暂无测试数据",4),Xo("p",{style:G("font-size:14px;color:#9ca3af;margin:0;")},"点击右上角「编辑 JSON」添加数据,或导入 JSON 文件",4)],4)):(Ro(),jo("div",{key:1,style:G("display:flex;flex-direction:column;gap:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;")},[(Ro(!0),jo(Do,null,pi(m.value,([e,t])=>(Ro(),Go(lQ,{key:e,"node-key":e,"node-value":t,depth:0,path:[e],"expanded-keys":h.value,onToggle:f},null,8,["node-key","node-value","path","expanded-keys"]))),128))],4))],4))],4),Xo("div",{style:G("display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid #e5e7eb;background-color:#f9fafb;")},[Xo("div",{style:G("display:flex;align-items:center;gap:16px;")},[Xo("button",{style:G(i.value?"padding:8px 16px;font-size:14px;font-weight:500;border-radius:8px;border:none;background-color:#16a34a;color:#ffffff;cursor:pointer;":"padding:8px 16px;font-size:14px;font-weight:500;border-radius:8px;border:none;background-color:#2563eb;color:#ffffff;cursor:pointer;"),onClick:s},oe(i.value?"✓ 保存 JSON":"📝 编辑 JSON"),5),i.value?(Ro(),jo("span",{key:0,style:G("font-size:12px;color:#6b7280;")},"按 Ctrl+S 保存 · Esc 取消编辑",4)):na("",!0)],4),Xo("div",{style:G("display:flex;align-items:center;gap:16px;font-size:12px;color:#9ca3af;")},[Xo("span",{style:G("display:flex;align-items:center;gap:4px;")},[...r[1]||(r[1]=[Xo("span",{style:"width:8px;height:8px;border-radius:50%;background-color:#f97316;"},null,-1),ta(" 字符串",-1)])],4),Xo("span",{style:G("display:flex;align-items:center;gap:4px;")},[...r[2]||(r[2]=[Xo("span",{style:"width:8px;height:8px;border-radius:50%;background-color:#3b82f6;"},null,-1),ta(" 数字",-1)])],4),Xo("span",{style:G("display:flex;align-items:center;gap:4px;")},[...r[3]||(r[3]=[Xo("span",{style:"width:8px;height:8px;border-radius:50%;background-color:#a855f7;"},null,-1),ta(" 布尔值",-1)])],4),Xo("span",{style:G("display:flex;align-items:center;gap:4px;")},[...r[4]||(r[4]=[Xo("span",{style:"width:8px;height:8px;border-radius:50%;background-color:#6366f1;"},null,-1),ta(" 数组",-1)])],4),Xo("span",{style:G("display:flex;align-items:center;gap:4px;")},[...r[5]||(r[5]=[Xo("span",{style:"width:8px;height:8px;border-radius:50%;background-color:#8b5cf6;"},null,-1),ta(" 对象",-1)])],4)],4)],4)],4)],4)):na("",!0)]))}}),pQ={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const fQ=Lt({name:"material-symbols-save-as",render:function(e,t){return Ro(),jo("svg",pQ,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M13 23v-3.075l5.525-5.5q.225-.225.5-.325t.55-.1q.3 0 .575.113t.5.337l.925.925q.2.225.313.5t.112.55t-.1.563t-.325.512l-5.5 5.5zM6 10h9V6H6zm13.575 7.4l.925-.975l-.925-.925l-.95.95zM11 21H5q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h12l4 4v5.3q-.475-.2-.987-.262T19 12.05t-.975.313t-.875.612L15 15.125V15q0-1.25-.875-2.125T12 12t-2.125.875T9 15t.875 2.125T12 18h.1L11 19.1z"},null,-1)])])}}),gQ={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};const vQ=Lt({name:"material-symbols-logout",render:function(e,t){return Ro(),jo("svg",gQ,[...t[0]||(t[0]=[Xo("path",{fill:"currentColor",d:"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h7v2H5v14h7v2zm11-4l-1.375-1.45l2.55-2.55H9v-2h8.175l-2.55-2.55L16 7l5 5z"},null,-1)])])}}),mQ={key:0,class:"print-designer-headless",style:{display:"none"}},yQ={class:"flex-1 flex overflow-hidden"},bQ={class:"flex-1 overflow-hidden relative flex flex-col"},wQ={key:0,class:"flex items-center justify-between px-4 py-2 bg-blue-50 border-b border-blue-200 text-blue-900 dark:bg-blue-950 dark:border-blue-800 dark:text-blue-100"},xQ={class:"text-sm font-medium"},_Q={class:"flex items-center gap-2"},CQ={class:"relative w-full h-full flex flex-col overflow-hidden"},SQ={class:"flex-none h-5 bg-gray-50 border-b border-gray-300 flex z-20"},BQ={class:"flex-1 relative overflow-hidden"},kQ={class:"flex-1 flex overflow-hidden relative"},EQ={class:"w-5 flex-none bg-gray-50 border-r border-gray-300 h-full relative z-20 overflow-hidden"},IQ=["onMousedown"],TQ={class:"absolute left-2 -top-4 theme-bg text-white text-[10px] px-1 rounded opacity-0 group-hover:opacity-100 pointer-events-none whitespace-nowrap"},PQ=["onMousedown"],MQ={class:"absolute top-2 -left-4 theme-bg text-white text-[10px] px-1 rounded opacity-0 group-hover:opacity-100 pointer-events-none whitespace-nowrap"},LQ={key:2,class:"absolute pointer-events-none"},DQ={class:"font-medium text-gray-700 dark:text-gray-300"},NQ={key:2,class:"absolute bottom-4 right-4 z-50"},OQ={key:0,class:"fixed inset-0 bg-black/20 dark:bg-black/40 flex items-center justify-center z-[10000] pointer-events-auto transition-opacity duration-300"},FQ="print-designer-crash-recovery",UQ=Nn({__name:"PrintDesigner",props:{headless:{type:Boolean},sampleData:{},mode:{},viewMode:{},onSave:{type:Function},autoSaveEnabled:{type:Boolean},autoSaveIntervalMs:{}},setup(e){const t=Wb(),r=Mb(),{autoSave:n}=qb(),{isDark:i}=ew(),{t:o}=dh(),a=e,s=Ft(null),l=Ft(null),u=Ft(null);let c=null;const A=Ft(null),d=Ft(null),h=Ta(()=>{const e=a.onSave;return e?t=>{const r=e(t);r instanceof Promise?r.then(()=>{d.value=Date.now()}).catch(()=>{}):d.value=Date.now()}:null});rn("designer-root",l),rn("modal-container",u);rn("save-handler",Ta(()=>h.value||null));const p=Ft(null),f=Ft(!1),g=Ft(0),v=Ta(()=>{const e=d.value;if(!e)return null;const t=new Date(e),r=e=>String(e).padStart(2,"0");return`${r(t.getHours())}:${r(t.getMinutes())}:${r(t.getSeconds())}`}),m=()=>{g.value+=1},y=(e,t)=>{const r=Ew(getComputedStyle(document.documentElement).getPropertyValue(e).trim());return r?function(e,t,r,n=1){const{r:i,g:o,b:a}=Bw(e,t,r);return`rgba(${i}, ${o}, ${a}, ${parseFloat(n.toFixed(2))})`}(r.h,r.s,r.v,t):`rgba(59, 130, 246, ${t})`},b=Ta(()=>t.editingCustomElement),w=Ta(()=>b.value?`${b.value.name} Copy`:"");Ta(()=>{const e=t.testData||{};return JSON.stringify(e,null,2)}),an(()=>a.sampleData,e=>{e&&"object"==typeof e&&t.setSampleData({...e})},{immediate:!0,deep:!0}),an(()=>a.mode,e=>{e&&t.setMode(e)},{immediate:!0}),an(()=>a.viewMode,e=>{e&&t.setViewMode(e)},{immediate:!0}),an(()=>r.currentTemplateId,e=>{e&&a.sampleData&&"object"==typeof a.sampleData&&t.setSampleData({...a.sampleData})}),ei(()=>{t.setIsExporting(!1),br(()=>{Y()}),c=new ResizeObserver(()=>{Y()}),s.value&&c.observe(s.value),window.addEventListener("resize",Y),window.addEventListener("keydown",se),window.addEventListener("keydown",N),window.addEventListener("keyup",se),window.addEventListener("blur",le),window.addEventListener("brand-theme-updated",m),an([()=>t.pages.length,()=>t.canvasSize.width,()=>t.canvasSize.height,()=>t.zoom,()=>t.showMinimap],()=>{br(Y)}),an(i,e=>{l.value&&l.value.classList.toggle("dark",e)},{immediate:!0}),an([()=>t.pages,()=>t.canvasSize,()=>t.guides,()=>t.headerHeight,()=>t.footerHeight,()=>t.showHeaderLine,()=>t.showFooterLine,()=>t.canvasBackground,()=>t.pageSpacingX,()=>t.pageSpacingY,()=>t.watermark,()=>t.showMinimap],()=>{r.isLoading||P()},{deep:!0}),an(()=>a.autoSaveEnabled,e=>{e?E():I()},{immediate:!0})});let x=null;const _=()=>{try{const e={pages:Dm(t.pages),canvasSize:Dm(t.canvasSize),canvasBackground:t.canvasBackground,headerHeight:t.headerHeight,footerHeight:t.footerHeight,pageSpacingX:t.pageSpacingX,pageSpacingY:t.pageSpacingY,testData:Dm(t.testData||{}),variables:Dm(t.variables||{}),timestamp:Date.now()};sessionStorage.setItem(FQ,JSON.stringify(e))}catch{}};x=setInterval(_,3e4);const C=()=>{_()};window.addEventListener("beforeunload",C);const S=sessionStorage.getItem(FQ);if(S)try{const e=JSON.parse(S);e.pages&&e.pages.length>0&&e.pages.some(e=>{var t;return(null==(t=e.elements)?void 0:t.length)>0})&&br(()=>{1===t.pages.length&&0===t.pages[0].elements.length&&t.loadTemplateData(e)})}catch{}const B=Ta(()=>a.autoSaveIntervalMs||12e4);let k=null;const E=()=>{I(),k=setInterval(()=>{T()},B.value)},I=()=>{k&&(clearInterval(k),k=null)},T=()=>{var e;if(!h.value)return;if(r.isLoading)return;if(t.editingCustomElementId)return;const n=(null==(e=r.templates.find(e=>e.id===r.currentTemplateId))?void 0:e.name)||"未命名模板",i=r.buildSavePayload(n);h.value(i)},P=gw(()=>{if(a.onSave)a.autoSaveEnabled&&k&&(I(),E());else if(!r.isLoading&&!t.editingCustomElementId&&n.value&&r.currentTemplateId){const e=r.templates.find(e=>e.id===r.currentTemplateId);if(e&&jy(e)){if(r.isSaving)return void setTimeout(()=>P(),500);r.saveCurrentTemplate(e.name,!0)}}},1e3),M=()=>{t.commitCustomElementEdit()?t.cancelCustomElementEdit():Qm.error(o("sidebar.editSaveFailed"))},L=e=>{const r=e.trim();if(!r)return;t.saveCustomElementEditAs(r)?t.cancelCustomElementEdit():Qm.error(o("sidebar.editSaveFailed"))},D=async()=>{await xh.show(o("sidebar.confirmExitEdit"))&&(t.cancelCustomElementEdit(),requestAnimationFrame(()=>{var e,t;null==(t=null==(e=s.value)?void 0:e.focus)||t.call(e)}))},N=e=>{if(t.disableGlobalShortcuts)return;if(!t.editingCustomElementId)return;if(f.value)return;if((e=>{var t;const r=e;if(!r)return!1;if(r.isContentEditable)return!0;const n=null==(t=r.tagName)?void 0:t.toLowerCase();return"input"===n||"textarea"===n||"select"===n})(e.target))return;if(!(e.ctrlKey||e.metaKey))return;const r=e.key.toLowerCase();return"s"===r&&e.shiftKey?(e.preventDefault(),e.stopPropagation(),void(f.value=!0)):"s"===r?(e.preventDefault(),e.stopPropagation(),void M()):void("q"===r&&(e.preventDefault(),e.stopPropagation(),D()))},O=Ft(0),F=Ft(0),U=Ft(0),z=Ft(0),R=e=>{const t=e.target;O.value=t.scrollLeft,F.value=t.scrollTop},Q=Ft(0),H=Ft(0),V=Ft(0),j=Ft(0),W=Ta(()=>t.unit||"mm"),K=e=>{const r=Cw(e,t.unit||"mm");return"px"===t.unit?Math.round(r):Number(r.toFixed(1))},q=Ta(()=>{const e=t.pages.length,r=t.canvasSize.height,n=e>0?e*r+20*(e-1):0;return{width:t.canvasSize.width*t.zoom+"px",height:n*t.zoom+"px"}}),Y=()=>{if(s.value&&p.value){const e=s.value.clientWidth,t=s.value.clientHeight;V.value=e,j.value=t;const r=parseFloat(q.value.width),n=parseFloat(q.value.height),i=64,o=64;Q.value=Math.max(e,r+i),H.value=Math.max(t,n+o),r+i<=e&&(Q.value=e),n+o<=t&&(H.value=t);const a=s.value.getBoundingClientRect(),l=p.value.getBoundingClientRect(),u=s.value.clientLeft||0,c=s.value.clientTop||0;O.value=s.value.scrollLeft,F.value=s.value.scrollTop,U.value=l.left-a.left+s.value.scrollLeft-u,z.value=l.top-a.top+s.value.scrollTop-c}};ii(()=>{var e;I(),P.cancel(),c&&(c.disconnect(),c=null),window.removeEventListener("resize",Y),window.removeEventListener("mousemove",ne),window.removeEventListener("mouseup",ie),window.removeEventListener("keydown",se),window.removeEventListener("keydown",N),window.removeEventListener("keyup",se),window.removeEventListener("blur",le),window.removeEventListener("brand-theme-updated",m),null==(e=s.value)||e.removeEventListener("wheel",ae),x&&clearInterval(x),window.removeEventListener("beforeunload",C)});const Z=Ft(!1),J=Ft(null),$=Ft("horizontal"),ee=Ft(0),te=(e,t,r=null)=>{Z.value=!0,J.value=r,$.value=t,re(e),window.addEventListener("mousemove",ne),window.addEventListener("mouseup",ie)},re=e=>{if(!s.value)return;const r=s.value.getBoundingClientRect(),n=t.zoom;if("horizontal"===$.value){const t=e.clientY-r.top+s.value.scrollTop;ee.value=(t-z.value)/n}else{const t=e.clientX-r.left+s.value.scrollLeft;ee.value=(t-U.value)/n}},ne=e=>{Z.value&&(e.preventDefault(),re(e),J.value&&t.updateGuide(J.value,ee.value))},ie=e=>{if(!Z.value)return;const r=s.value.getBoundingClientRect();let n=!1;"horizontal"===$.value?e.clientY<r.top&&(n=!0):e.clientX<r.left&&(n=!0),n?J.value&&t.removeGuide(J.value):J.value?t.updateGuide(J.value,ee.value):t.addGuide({type:$.value,position:ee.value}),Z.value=!1,J.value=null,window.removeEventListener("mousemove",ne),window.removeEventListener("mouseup",ie)},ae=e=>{e.ctrlKey&&(e.preventDefault(),e.deltaY<0?t.setZoom(Math.min(5,t.zoom+.1)):t.setZoom(Math.max(.2,t.zoom-.1)))},se=e=>{var r,n;t.disableGlobalShortcuts||"Control"!==e.key&&"Meta"!==e.key||("keydown"!==e.type||e.repeat?"keyup"===e.type&&(null==(n=s.value)||n.removeEventListener("wheel",ae)):null==(r=s.value)||r.addEventListener("wheel",ae,{passive:!1}))},le=()=>{var e;null==(e=s.value)||e.removeEventListener("wheel",ae)},ue=e=>{s.value&&s.value.scrollTo({left:e.left,top:e.top,behavior:"auto"})},ce=e=>{var t;const r=(null==(t=e.style)?void 0:t.rotate)||0;if(0===r)return{minX:e.x,maxX:e.x+e.width,minY:e.y,maxY:e.y+e.height};const n=e.x+e.width/2,i=e.y+e.height/2,o=r*Math.PI/180,a=Math.cos(o),s=Math.sin(o),l=[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x,y:e.y+e.height},{x:e.x+e.width,y:e.y+e.height}];let u=1/0,c=-1/0,A=1/0,d=-1/0;for(const h of l){const e=n+(h.x-n)*a-(h.y-i)*s,t=i+(h.x-n)*s+(h.y-i)*a;e<u&&(u=e),e>c&&(c=e),t<A&&(A=t),t>d&&(d=t)}return{minX:u,maxX:c,minY:A,maxY:d}},Ae=Ta(()=>{if(!t.isDragging||0===t.selectedElementIds.length)return null;const e=[];for(const a of t.selectedElementIds)for(let r=0;r<t.pages.length;r++){const n=t.pages[r].elements.find(e=>e.id===a);n&&e.push({el:n,pageIndex:r})}if(0===e.length)return null;let r=1/0,n=-1/0,i=1/0,o=-1/0;for(const{el:a,pageIndex:s}of e){const e=ce(a),l=s*(t.canvasSize.height+20);e.minY+=l,e.maxY+=l,e.minX<r&&(r=e.minX),e.maxX>n&&(n=e.maxX),e.minY<i&&(i=e.minY),e.maxY>o&&(o=e.maxY)}return{minX:r,maxX:n,minY:i,maxY:o,centerX:(r+n)/2,centerY:(i+o)/2}}),de=Ta(()=>{if(!Ae.value)return{h:[],v:[]};g.value;const e=y("--brand-500",.5),{minX:t,maxX:r,minY:n,maxY:i}=Ae.value;return{h:[{position:t,color:e},{position:r,color:e}],v:[{position:n,color:e},{position:i,color:e}]}}),he=Ta(()=>{if(!Ae.value)return{h:null,v:null};g.value;const e=y("--brand-300",.6),{minX:t,maxX:r,minY:n,maxY:i}=Ae.value;return{h:{start:t,end:r,color:e},v:{start:n,end:i,color:e}}});return(e,n)=>{var i;return a.headless?(Ro(),jo("div",mQ,[Xo("div",{ref_key:"rootContainer",ref:l},null,512)])):(Ro(),jo("div",{key:1,ref_key:"rootContainer",ref:l,class:"h-full w-full flex flex-col bg-gray-100 overflow-hidden"},[Zo(PD),Xo("div",yQ,[Zo(wN),Xo("main",bQ,[Qt(t).editingCustomElementId?(Ro(),jo("div",wQ,[Xo("div",xQ,oe(Qt(o)("sidebar.editingElement",{name:(null==(i=b.value)?void 0:i.name)||""})),1),Xo("div",_Q,[Xo("button",{onClick:M,class:"px-3 py-1.5 text-xs font-medium bg-blue-600 text-white rounded hover:bg-blue-700 dark:bg-blue-500 dark:hover:bg-blue-400 inline-flex items-center gap-1.5"},[Zo(Qt(Vw),{class:"w-4 h-4"}),ta(" "+oe(Qt(o)("sidebar.saveEdit")),1)]),Xo("button",{onClick:n[0]||(n[0]=e=>f.value=!0),class:"px-3 py-1.5 text-xs font-medium bg-blue-200 text-blue-900 rounded hover:bg-blue-300 dark:bg-blue-700 dark:hover:bg-blue-600 dark:text-white inline-flex items-center gap-1.5"},[Zo(Qt(fQ),{class:"w-4 h-4"}),ta(" "+oe(Qt(o)("sidebar.saveAs")),1)]),Xo("button",{onClick:D,class:"px-3 py-1.5 text-xs font-medium bg-slate-200 text-slate-900 rounded hover:bg-slate-300 dark:bg-slate-700 dark:hover:bg-slate-600 dark:text-slate-100 inline-flex items-center gap-1.5"},[Zo(Qt(vQ),{class:"w-4 h-4"}),ta(" "+oe(Qt(o)("sidebar.exitEdit")),1)])])])):na("",!0),Zo(eR),Xo("div",CQ,[Xo("div",SQ,[n[5]||(n[5]=Xo("div",{class:"w-5 flex-none bg-gray-100 border-r border-gray-300"},null,-1)),Xo("div",BQ,[Zo(Iz,{type:"horizontal",zoom:Qt(t).zoom,scroll:O.value,offset:U.value,thick:20,unit:Qt(t).unit||"mm",indicators:de.value.h,range:he.value.h,onGuideDragStart:n[1]||(n[1]=e=>te(e,"horizontal"))},null,8,["zoom","scroll","offset","unit","indicators","range"])])]),Xo("div",kQ,[Xo("div",EQ,[Zo(Iz,{type:"vertical",zoom:Qt(t).zoom,scroll:F.value,offset:z.value,thick:20,unit:Qt(t).unit||"mm",indicators:de.value.v,range:he.value.v,onGuideDragStart:n[2]||(n[2]=e=>te(e,"vertical"))},null,8,["zoom","scroll","offset","unit","indicators","range"])]),Xo("div",{ref_key:"scrollContainer",ref:s,tabindex:"-1",class:"flex-1 overflow-auto p-8 flex relative canvas-scroll bg-gray-100 focus:outline-none",onScroll:R,onClick:n[3]||(n[3]=e=>{e.target!==s.value&&e.target!==e.currentTarget||Qt(t).selectGuide(null)})},[Xo("div",{ref_key:"canvasWrapper",ref:p,style:G(q.value),class:"mx-auto relative"},[Zo(nB,{ref_key:"canvasContainer",ref:A,class:"absolute top-0 left-0"},null,512)],4),Xo("div",{class:"absolute top-0 left-0 pointer-events-none z-50",style:G({width:`${Q.value}px`,height:`${H.value}px`})},[Ae.value?(Ro(),jo(Do,{key:0},[Xo("div",{class:"absolute w-full border-t border-blue-500 border-dashed",style:G({top:`${z.value+Math.round(Ae.value.minY*Qt(t).zoom)}px`,left:0})},[Xo("div",{class:"absolute -top-6 bg-blue-500 text-white text-xs px-1.5 py-0.5 rounded shadow-sm",style:G({left:`${O.value+10}px`})},oe(K(Ae.value.minY))+" "+oe(W.value),5)],4),Xo("div",{class:"absolute w-full border-t border-dashed theme-border",style:G({top:`${z.value+Math.round(Ae.value.maxY*Qt(t).zoom)}px`,left:0})},[Xo("div",{class:"absolute -top-6 theme-bg text-white text-xs px-1.5 py-0.5 rounded shadow-sm",style:G({left:`${O.value+10}px`})},oe(K(Ae.value.maxY))+" "+oe(W.value),5)],4),Xo("div",{class:"absolute h-full border-l border-dashed theme-border",style:G({left:`${U.value+Math.round(Ae.value.minX*Qt(t).zoom)}px`,top:0})},[Xo("div",{class:"absolute -left-2 transform -translate-x-full theme-bg text-white text-xs px-1.5 py-0.5 rounded shadow-sm whitespace-nowrap",style:G({top:`${F.value+10}px`})},oe(K(Ae.value.minX))+" "+oe(W.value),5)],4),Xo("div",{class:"absolute h-full border-l border-dashed theme-border",style:G({left:`${U.value+Math.round(Ae.value.maxX*Qt(t).zoom)}px`,top:0})},[Xo("div",{class:"absolute -left-2 transform -translate-x-full theme-bg text-white text-xs px-1.5 py-0.5 rounded shadow-sm whitespace-nowrap",style:G({top:`${F.value+10}px`})},oe(K(Ae.value.maxX))+" "+oe(W.value),5)],4)],64)):na("",!0),(Ro(!0),jo(Do,null,pi(Qt(t).guides,e=>(Ro(),jo(Do,{key:e.id},["horizontal"===e.type?(Ro(),jo("div",{key:0,class:"absolute left-0 w-full h-3 -mt-1.5 cursor-row-resize pointer-events-auto group flex flex-col justify-center",style:G({top:`${z.value+e.position*Qt(t).zoom}px`}),onMousedown:zs(r=>{Qt(t).selectGuide(e.id),te(r,"horizontal",e.id)},["stop"])},[Xo("div",{class:X(["w-full",Qt(t).highlightedGuideId===e.id?"border-t-2 theme-border-strong":"border-t theme-border","theme-border-hover"])},null,2),Xo("div",TQ,oe(K(e.position))+oe(W.value),1)],44,IQ)):(Ro(),jo("div",{key:1,class:"absolute top-0 h-full w-3 -ml-1.5 cursor-col-resize pointer-events-auto group flex flex-row justify-center",style:G({left:`${U.value+e.position*Qt(t).zoom}px`}),onMousedown:zs(r=>{Qt(t).selectGuide(e.id),te(r,"vertical",e.id)},["stop"])},[Xo("div",{class:X(["h-full",Qt(t).highlightedGuideId===e.id?"border-l-2 theme-border-strong":"border-l theme-border","theme-border-hover"])},null,2),Xo("div",MQ,oe(K(e.position))+oe(W.value),1)],44,PQ))],64))),128)),Z.value&&!J.value?(Ro(),jo("div",{key:1,class:X(["absolute border-dashed pointer-events-none theme-border","horizontal"===$.value?"left-0 w-full border-t":"top-0 h-full border-l"]),style:G({top:"horizontal"===$.value?`${z.value+ee.value*Qt(t).zoom}px`:void 0,left:"vertical"===$.value?`${U.value+ee.value*Qt(t).zoom}px`:void 0})},[Xo("div",{class:X(["absolute theme-bg text-white text-[10px] px-1 rounded","horizontal"===$.value?"left-2 -top-4":"top-2 -left-4"])},oe(K(ee.value))+oe(W.value),3)],6)):na("",!0),Qt(t).highlightedEdge?(Ro(),jo("div",LQ,["top"===Qt(t).highlightedEdge?(Ro(),jo("div",{key:0,class:"absolute left-0 w-full border-t theme-border",style:G({top:`${z.value}px`})},null,4)):"bottom"===Qt(t).highlightedEdge?(Ro(),jo("div",{key:1,class:"absolute left-0 w-full border-t theme-border",style:G({top:`${z.value+Qt(t).canvasSize.height*Qt(t).zoom}px`})},null,4)):"left"===Qt(t).highlightedEdge?(Ro(),jo("div",{key:2,class:"absolute top-0 h-full border-l theme-border",style:G({left:`${U.value}px`})},null,4)):"right"===Qt(t).highlightedEdge?(Ro(),jo("div",{key:3,class:"absolute top-0 h-full border-l theme-border",style:G({left:`${U.value+Qt(t).canvasSize.width*Qt(t).zoom}px`})},null,4)):na("",!0)])):na("",!0)],4)],544)])]),a.onSave?(Ro(),jo("div",{key:1,class:X(["absolute z-50 flex items-center gap-1.5 text-xs text-gray-500 bg-white/80 dark:bg-gray-800/80 backdrop-blur-sm rounded px-2 py-1 shadow-sm pointer-events-none transition-all",Qt(t).showMinimap?"bottom-4 right-[280px]":"bottom-4 right-4"])},[Xo("span",null,oe(Qt(o)("common.lastSaved"))+":",1),Xo("span",DQ,oe(v.value||Qt(o)("common.notSavedYet")),1)],2)):na("",!0),Qt(t).showMinimap?(Ro(),jo("div",NQ,[Zo(fR,{"scroll-width":Q.value,"scroll-height":H.value,"viewport-width":V.value,"viewport-height":j.value,"scroll-left":O.value,"scroll-top":F.value,pages:Qt(t).pages,"page-width":Qt(t).canvasSize.width,"page-height":Qt(t).canvasSize.height,zoom:Qt(t).zoom,"content-offset-x":U.value,"content-offset-y":z.value,"canvas-background":Qt(t).canvasBackground,"show-header-line":Qt(t).showHeaderLine,"show-footer-line":Qt(t).showFooterLine,"header-height":Qt(t).headerHeight,"footer-height":Qt(t).footerHeight,watermark:Qt(t).watermark||null,"onUpdate:scroll":ue},null,8,["scroll-width","scroll-height","viewport-width","viewport-height","scroll-left","scroll-top","pages","page-width","page-height","zoom","content-offset-x","content-offset-y","canvas-background","show-header-line","show-footer-line","header-height","footer-height","watermark"])])):na("",!0)]),Zo(Ez)]),Zo(Kk,{show:f.value,"initial-value":w.value,title:Qt(o)("sidebar.saveAsCustomElement"),placeholder:Qt(o)("sidebar.enterNamePlaceholder"),onClose:n[4]||(n[4]=e=>f.value=!1),onSave:L},null,8,["show","initial-value","title","placeholder"]),Qt(r).isLoading?(Ro(),jo("div",OQ,[...n[6]||(n[6]=[ra('<svg class="animate-spin h-8 w-8 text-gray-500 dark:text-gray-300" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="12" y1="3" x2="12" y2="7" opacity="1"></line><line x1="16.5" y1="4.2" x2="14.5" y2="7.7" opacity="0.9"></line><line x1="19.8" y1="7.5" x2="16.3" y2="9.5" opacity="0.8"></line><line x1="21" y1="12" x2="17" y2="12" opacity="0.7"></line><line x1="19.8" y1="16.5" x2="16.3" y2="14.5" opacity="0.6"></line><line x1="16.5" y1="19.8" x2="14.5" y2="16.3" opacity="0.5"></line><line x1="12" y1="21" x2="12" y2="17" opacity="0.4"></line><line x1="7.5" y1="19.8" x2="9.5" y2="16.3" opacity="0.3"></line><line x1="4.2" y1="16.5" x2="7.7" y2="14.5" opacity="0.2"></line><line x1="3" y1="12" x2="7" y2="12" opacity="0.1"></line><line x1="4.2" y1="7.5" x2="7.7" y2="9.5" opacity="0.1"></line><line x1="7.5" y1="4.2" x2="9.5" y2="7.7" opacity="0.1"></line></svg>',1)])])):na("",!0),Xo("div",{ref_key:"modalContainer",ref:u,class:"print-designer-modals fixed inset-0 pointer-events-none z-[9999]"},null,512),Zo(DR),Zo(hQ)],512))}}}),zQ={class:"preview-page"},RQ=Nn({__name:"PreviewPage",props:{autoRender:{type:Boolean},pages:{},canvasSize:{},canvasBackground:{},testData:{},variables:{},watermark:{},autoRenderTrigger:{}},setup(e,{expose:t}){const r=e,n=Wb(),i=Ft(!1),o=Ft([]);rn("registerRenderTask",e=>{o.value.push(e)});const a=Ta(()=>r.pages?r.pages:n.pages),s=Ta(()=>r.canvasSize?r.canvasSize:n.canvasSize),l=Ta(()=>void 0!==r.canvasBackground?r.canvasBackground:n.canvasBackground);Ta(()=>r.testData?r.testData:n.testData),Ta(()=>r.variables?r.variables:n.variables);const u=Ta(()=>void 0!==r.watermark?r.watermark:n.watermark),c=e=>{switch(e){case Nm.TEXT:return Kx;case Nm.IMAGE:return Zx;case Nm.TABLE:return L_;case Nm.CUSTOM_TABLE:return RC;case Nm.PAGE_NUMBER:return VC;case Nm.BARCODE:return WC;case Nm.QRCODE:return XC;case Nm.LINE:return $C;case Nm.RECT:return tS;case Nm.CIRCLE:return nS;case Nm.CHART:return aS;case Nm.LONG_TEXT:return AS;case Nm.RICH_TEXT:return pS;case Nm.DATE:return mS;case Nm.DATA_CARD:return CS;case Nm.PROGRESS:return kS;case Nm.LIST:return IS;case Nm.SIGNATURE:return DS;case Nm.NESTED_TABLE:return HS;default:return Kx}},A=e=>!!e&&"string"==typeof e.id&&"string"==typeof e.type,d=e=>e.filter(A),h=[Nm.TABLE,Nm.CUSTOM_TABLE,Nm.LINE,Nm.RECT,Nm.CIRCLE],p=e=>{var t,r,n,i;const o={left:`${e.x}px`,top:`${e.y}px`,width:`${e.width}px`,height:`${e.height}px`,zIndex:(null==(t=e.style)?void 0:t.zIndex)||1,transform:(null==(r=e.style)?void 0:r.rotate)?`rotate(${e.style.rotate}deg)`:void 0,boxSizing:"border-box",overflow:"hidden"};return e.style&&"object"==typeof e.style&&Object.assign(o,e.style),h.includes(e.type)?(delete o.backgroundColor,delete o.border,delete o.borderWidth,delete o.borderStyle,delete o.borderColor,delete o.borderRadius):(null==(n=e.style)?void 0:n.borderStyle)&&"none"!==e.style.borderStyle?(o.borderStyle=e.style.borderStyle,o.borderWidth=`${e.style.borderWidth||1}px`,o.borderColor=e.style.borderColor||"#000",delete o.border):(null==(i=e.style)?void 0:i.border)&&(o.border=e.style.border),delete o.zIndex,o},f=Ta(()=>({width:`${s.value.width}px`,height:`${s.value.height}px`,backgroundColor:l.value})),g=Ta(()=>{const e=u.value;if(!e||!e.enabled||!e.text)return null;const t=e.text.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'");const r=Number.isFinite(e.angle)?e.angle:-30,n=Math.max(6,e.size||24),i=Math.max(40,e.density||160),o=e.color||"#000000",a=Math.min(1,Math.max(0,e.opacity??.1));return{backgroundImage:`url("data:image/svg+xml,${encodeURIComponent(`<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" width="${i}" height="${i}"><text x="50%" y="50%" dominant-baseline="middle" text-anchor="middle" fill="${o}" fill-opacity="${a}" font-size="${n}" transform="rotate(${r} ${i/2} ${i/2})">${t}</text></svg>`)}")`,backgroundRepeat:"repeat",backgroundSize:`${i}px ${i}px`}}),v=()=>{if(0===a.value.length)return[];const e=a.value[0],t=n.pageSpacingY||0,r=n.pageSpacingY||0,i=n.headerHeight+t,o=s.value.height-(n.footerHeight+r);return d(e.elements).filter(e=>{if(e.type===Nm.TABLE)return!1;const t=n.getElementBoundsAtPosition(e,e.x,e.y),r=!0===e.repeatPerPage,a=n.showHeaderLine&&t.maxY<=i,s=n.showFooterLine&&t.minY>=o;return r||a||s})},m=Ta(()=>a.value.length),y=async()=>{r.autoRender&&(n.setIsExporting(!0),o.value=[],await br(),await Promise.all(o.value),o.value=[],await br(),n.setIsExporting(!1))};return an(()=>r.autoRenderTrigger,()=>{y()},{immediate:!0}),an(()=>r.testData,()=>{r.autoRender&&y()},{deep:!0}),ei(async()=>{i.value=!0,r.autoRender&&await y()}),t({triggerRender:y,isReady:i}),(e,t)=>(Ro(),jo("div",zQ,[(Ro(!0),jo(Do,null,pi(a.value,(e,t)=>(Ro(),jo("div",{key:e.id,class:"print-page relative shadow-lg overflow-hidden",style:G([f.value,g.value?g.value:{}])},[t>0&&a.value.length>0?(Ro(!0),jo(Do,{key:0},pi(v(),e=>(Ro(),jo("div",{key:`global-${e.id}`,class:"absolute",style:G(p(e))},[(Ro(),Go(Ai(c(e.type)),{element:e,"page-index":t,"total-pages":m.value},null,8,["element","page-index","total-pages"]))],4))),128)):na("",!0),(Ro(!0),jo(Do,null,pi(d(e.elements),e=>(Ro(),jo("div",{key:e.id,class:"absolute",style:G(p(e))},[(Ro(),Go(Ai(c(e.type)),{element:e,"page-index":t,"total-pages":m.value},null,8,["element","page-index","total-pages"]))],4))),128))],4))),128))]))}}),QQ=zC(RQ,[["__scopeId","data-v-96cab8ea"]]);var HQ,VQ={exports:{}};
|
|
50
50
|
/**
|
|
51
51
|
* @license
|
|
52
52
|
* Lodash <https://lodash.com/>
|