svgfusion 1.17.0 → 1.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.mjs +26 -23
- package/dist/cli.js +43 -11
- package/dist/index.js +11 -8
- package/dist/index.mjs +11 -8
- package/package.json +1 -1
package/dist/browser.mjs
CHANGED
|
@@ -8,10 +8,10 @@ var Mr=Object.defineProperty;var Lr=(e,t,r)=>t in e?Mr(e,t,{enumerable:true,conf
|
|
|
8
8
|
`)}generateColorDefaults(t){return t.length===0?"":t.map(r=>{let n=r.variableName,s=r.originalColor;return `${n} = "${s}"`}).join(", ")}generateStrokeWidthProps(t,r=true){return t.length===0?"":t.map(n=>{let s=n.variableName,i=`${s}Class`;if(this.options.typescript){let o=` ${s}?: string | number;`;return r&&(o+=`
|
|
9
9
|
${i}?: string;`),o}else {let o=` ${s}: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),`;return r&&(o+=`
|
|
10
10
|
${i}: PropTypes.string,`),o}}).join(`
|
|
11
|
-
`)}generateStrokeWidthDefaults(t){return t.length===0?"":t.map(r=>{let n=r.variableName,s=r.originalStrokeWidth;return `${n} = "${s}"`}).join(", ")}getComponentName(){return ze(this.options.componentName,this.options.prefix,this.options.suffix)}generateFilename(t,r){return `${t}.${r}`}sanitizeComponentName(t){return t.replace(/[^a-zA-Z0-9_$]/g,"").replace(/^[0-9]/,"_$&")}};var qr=Object.create,it=Object.defineProperty,Ur=Object.getOwnPropertyDescriptor,
|
|
12
|
-
`,a.gutter(F.replace(/\d/g," "))," ",
|
|
11
|
+
`)}generateStrokeWidthDefaults(t){return t.length===0?"":t.map(r=>{let n=r.variableName,s=r.originalStrokeWidth;return `${n} = "${s}"`}).join(", ")}getComponentName(){return ze(this.options.componentName,this.options.prefix,this.options.suffix)}generateFilename(t,r){return `${t}.${r}`}sanitizeComponentName(t){return t.replace(/[^a-zA-Z0-9_$]/g,"").replace(/^[0-9]/,"_$&")}};var qr=Object.create,it=Object.defineProperty,Ur=Object.getOwnPropertyDescriptor,Hr=Object.getOwnPropertyNames,Zr=Object.getPrototypeOf,Kr=Object.prototype.hasOwnProperty,tr=e=>{throw TypeError(e)},Xr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ot=(e,t)=>{for(var r in t)it(e,r,{get:t[r],enumerable:true});},Yr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Hr(t))!Kr.call(e,s)&&s!==r&&it(e,s,{get:()=>t[s],enumerable:!(n=Ur(t,s))||n.enumerable});return e},Qr=(e,t,r)=>(r=e!=null?qr(Zr(e)):{},Yr(it(r,"default",{value:e,enumerable:true}),e)),en=(e,t,r)=>t.has(e)||tr("Cannot "+r),tn=(e,t,r)=>t.has(e)?tr("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),fe=(e,t,r)=>(en(e,t,"access private method"),r),rn=Xr(e=>{Object.defineProperty(e,"__esModule",{value:true});function t(){return new Proxy({},{get:()=>i=>i})}var r=/\r\n|[\n\r\u2028\u2029]/;function n(i,o,u){let a=Object.assign({column:0,line:-1},i.start),l=Object.assign({},a,i.end),{linesAbove:c=2,linesBelow:f=3}=u||{},p=a.line,d=a.column,D=l.line,h=l.column,m=Math.max(p-(c+1),0),g=Math.min(o.length,D+f);p===-1&&(m=0),D===-1&&(g=o.length);let E=D-p,F={};if(E)for(let y=0;y<=E;y++){let C=y+p;if(!d)F[C]=true;else if(y===0){let b=o[C-1].length;F[C]=[d,b-d+1];}else if(y===E)F[C]=[0,h];else {let b=o[C-y].length;F[C]=[0,b];}}else d===h?d?F[p]=[d,0]:F[p]=true:F[p]=[d,h-d];return {start:m,end:g,markerLines:F}}function s(i,o,u={}){let a=t(),l=i.split(r),{start:c,end:f,markerLines:p}=n(o,l,u),d=o.start&&typeof o.start.column=="number",D=String(f).length,h=i.split(r,f).slice(c,f).map((m,g)=>{let E=c+1+g,F=` ${` ${E}`.slice(-D)} |`,y=p[E],C=!p[E+1];if(y){let b="";if(Array.isArray(y)){let N=m.slice(0,Math.max(y[0]-1,0)).replace(/[^\t]/g," "),S=y[1]||1;b=[`
|
|
12
|
+
`,a.gutter(F.replace(/\d/g," "))," ",N,a.marker("^").repeat(S)].join(""),C&&u.message&&(b+=" "+a.message(u.message));}return [a.marker(">"),a.gutter(F),m.length>0?` ${m}`:"",b].join("")}else return ` ${a.gutter(F)}${m.length>0?` ${m}`:""}`}).join(`
|
|
13
13
|
`);return u.message&&!d&&(h=`${" ".repeat(D+1)}${u.message}
|
|
14
|
-
${h}`),h}e.codeFrameColumns=s;}),nn={};ot(nn,{__debug:()=>Co,check:()=>go,doc:()=>jr,format:()=>pe,formatWithCursor:()=>_r,getSupportInfo:()=>Fo,util:()=>Gr,version:()=>zi});var sn=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},Pe=sn,on=class{diff(e,t,r={}){let n;typeof r=="function"?(n=r,r={}):"callback"in r&&(n=r.callback);let s=this.castInput(e,r),i=this.castInput(t,r),o=this.removeEmpty(this.tokenize(s,r)),u=this.removeEmpty(this.tokenize(i,r));return this.diffWithOptionsObj(o,u,r,n)}diffWithOptionsObj(e,t,r,n){var s;let i=g=>{if(g=this.postProcess(g,r),n){setTimeout(function(){n(g);},0);return}else return g},o=t.length,u=e.length,a=1,l=o+u;r.maxEditLength!=null&&(l=Math.min(l,r.maxEditLength));let c=(s=r.timeout)!==null&&s!==void 0?s:1/0,f=Date.now()+c,p=[{oldPos:-1,lastComponent:void 0}],d=this.extractCommon(p[0],t,e,0,r);if(p[0].oldPos+1>=u&&d+1>=o)return i(this.buildValues(p[0].lastComponent,t,e));let D=-1/0,h=1/0,m=()=>{for(let g=Math.max(D,-a);g<=Math.min(h,a);g+=2){let E,F=p[g-1],y=p[g+1];F&&(p[g-1]=void 0);let C=false;if(y){let
|
|
14
|
+
${h}`),h}e.codeFrameColumns=s;}),nn={};ot(nn,{__debug:()=>Co,check:()=>go,doc:()=>jr,format:()=>pe,formatWithCursor:()=>_r,getSupportInfo:()=>Fo,util:()=>Gr,version:()=>zi});var sn=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},Pe=sn,on=class{diff(e,t,r={}){let n;typeof r=="function"?(n=r,r={}):"callback"in r&&(n=r.callback);let s=this.castInput(e,r),i=this.castInput(t,r),o=this.removeEmpty(this.tokenize(s,r)),u=this.removeEmpty(this.tokenize(i,r));return this.diffWithOptionsObj(o,u,r,n)}diffWithOptionsObj(e,t,r,n){var s;let i=g=>{if(g=this.postProcess(g,r),n){setTimeout(function(){n(g);},0);return}else return g},o=t.length,u=e.length,a=1,l=o+u;r.maxEditLength!=null&&(l=Math.min(l,r.maxEditLength));let c=(s=r.timeout)!==null&&s!==void 0?s:1/0,f=Date.now()+c,p=[{oldPos:-1,lastComponent:void 0}],d=this.extractCommon(p[0],t,e,0,r);if(p[0].oldPos+1>=u&&d+1>=o)return i(this.buildValues(p[0].lastComponent,t,e));let D=-1/0,h=1/0,m=()=>{for(let g=Math.max(D,-a);g<=Math.min(h,a);g+=2){let E,F=p[g-1],y=p[g+1];F&&(p[g-1]=void 0);let C=false;if(y){let N=y.oldPos-g;C=y&&0<=N&&N<o;}let b=F&&F.oldPos+1<u;if(!C&&!b){p[g]=void 0;continue}if(!b||C&&F.oldPos<y.oldPos?E=this.addToPath(y,true,false,0,r):E=this.addToPath(F,false,true,1,r),d=this.extractCommon(E,t,e,g,r),E.oldPos+1>=u&&d+1>=o)return i(this.buildValues(E.lastComponent,t,e))||true;p[g]=E,E.oldPos+1>=u&&(h=Math.min(h,g-1)),d+1>=o&&(D=Math.max(D,g+1));}a++;};if(n)(function g(){setTimeout(function(){if(a>l||Date.now()>f)return n(void 0);m()||g();},0);})();else for(;a<=l&&Date.now()<=f;){let g=m();if(g)return g}}addToPath(e,t,r,n,s){let i=e.lastComponent;return i&&!s.oneChangePerToken&&i.added===t&&i.removed===r?{oldPos:e.oldPos+n,lastComponent:{count:i.count+1,added:t,removed:r,previousComponent:i.previousComponent}}:{oldPos:e.oldPos+n,lastComponent:{count:1,added:t,removed:r,previousComponent:i}}}extractCommon(e,t,r,n,s){let i=t.length,o=r.length,u=e.oldPos,a=u-n,l=0;for(;a+1<i&&u+1<o&&this.equals(r[u+1],t[a+1],s);)a++,u++,l++,s.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:false,removed:false});return l&&!s.oneChangePerToken&&(e.lastComponent={count:l,previousComponent:e.lastComponent,added:false,removed:false}),e.oldPos=u,a}equals(e,t,r){return r.comparator?r.comparator(e,t):e===t||!!r.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let r=0;r<e.length;r++)e[r]&&t.push(e[r]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join("")}postProcess(e,t){return e}get useLongestToken(){return false}buildValues(e,t,r){let n=[],s;for(;e;)n.push(e),s=e.previousComponent,delete e.previousComponent,e=s;n.reverse();let i=n.length,o=0,u=0,a=0;for(;o<i;o++){let l=n[o];if(l.removed)l.value=this.join(r.slice(a,a+l.count)),a+=l.count;else {if(!l.added&&this.useLongestToken){let c=t.slice(u,u+l.count);c=c.map(function(f,p){let d=r[a+p];return d.length>f.length?d:f}),l.value=this.join(c);}else l.value=this.join(t.slice(u,u+l.count));u+=l.count,l.added||(a+=l.count);}}return n}},un=class extends on{tokenize(e){return e.slice()}join(e){return e}removeEmpty(e){return e}},an=new un;function ln(e,t,r){return an.diff(e,t,r)}function cn(e){let t=e.indexOf("\r");return t!==-1?e.charAt(t+1)===`
|
|
15
15
|
`?"crlf":"cr":"lf"}function ut(e){switch(e){case "cr":return "\r";case "crlf":return `\r
|
|
16
16
|
`;default:return `
|
|
17
17
|
`}}function rr(e,t){let r;switch(t){case `
|
|
@@ -21,43 +21,46 @@ ${h}`),h}e.codeFrameColumns=s;}),nn={};ot(nn,{__debug:()=>Co,check:()=>go,doc:()
|
|
|
21
21
|
`);)t--;return t<e.length?e.slice(0,t):e}function dn(e){if(typeof e=="string")return re;if(Array.isArray(e))return I;if(!e)return;let{type:t}=e;if(nr.has(t))return t}var ne=dn,hn=e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e);function mn(e){let t=e===null?"null":typeof e;if(t!=="string"&&t!=="object")return `Unexpected doc '${t}',
|
|
22
22
|
Expected it to be 'string' or 'object'.`;if(ne(e))throw new Error("doc is valid.");let r=Object.prototype.toString.call(e);if(r!=="[object Object]")return `Unexpected doc '${r}'.`;let n=hn([...nr].map(s=>`'${s}'`));return `Unexpected doc.type '${e.type}'.
|
|
23
23
|
Expected it to be ${n}.`}var gn=class extends Error{constructor(t){super(mn(t));v(this,"name","InvalidDocError");this.doc=t;}},ae=gn,xt={};function Fn(e,t,r,n){let s=[e];for(;s.length>0;){let i=s.pop();if(i===xt){r(s.pop());continue}r&&s.push(i,xt);let o=ne(i);if(!o)throw new ae(i);if(t?.(i)!==false)switch(o){case I:case V:{let u=o===I?i:i.parts;for(let a=u.length,l=a-1;l>=0;--l)s.push(u[l]);break}case B:s.push(i.flatContents,i.breakContents);break;case A:if(n&&i.expandedStates)for(let u=i.expandedStates.length,a=u-1;a>=0;--a)s.push(i.expandedStates[a]);else s.push(i.contents);break;case G:case j:case M:case W:case L:s.push(i.contents);break;case re:case U:case _:case z:case k:case $:break;default:throw new ae(i)}}}var at=Fn;function Te(e,t){if(typeof e=="string")return t(e);let r=new Map;return n(e);function n(i){if(r.has(i))return r.get(i);let o=s(i);return r.set(i,o),o}function s(i){switch(ne(i)){case I:return t(i.map(n));case V:return t({...i,parts:i.parts.map(n)});case B:return t({...i,breakContents:n(i.breakContents),flatContents:n(i.flatContents)});case A:{let{expandedStates:o,contents:u}=i;return o?(o=o.map(n),u=o[0]):u=n(u),t({...i,contents:u,expandedStates:o})}case G:case j:case M:case W:case L:return t({...i,contents:n(i.contents)});case re:case U:case _:case z:case k:case $:return t(i);default:throw new ae(i)}}}function lt(e,t,r){let n=r,s=false;function i(o){if(s)return false;let u=t(o);u!==void 0&&(s=true,n=u);}return at(e,i),n}function Cn(e){if(e.type===A&&e.break||e.type===k&&e.hard||e.type===$)return true}function En(e){return lt(e,Cn,false)}function kt(e){if(e.length>0){let t=x(false,e,-1);!t.expandedStates&&!t.break&&(t.break="propagated");}return null}function yn(e){let t=new Set,r=[];function n(i){if(i.type===$&&kt(r),i.type===A){if(r.push(i),t.has(i))return false;t.add(i);}}function s(i){i.type===A&&r.pop().break&&kt(r);}at(e,n,s,true);}function vn(e){return e.type===k&&!e.hard?e.soft?"":" ":e.type===B?e.flatContents:e}function bn(e){return Te(e,vn)}function wt(e){for(e=[...e];e.length>=2&&x(false,e,-2).type===k&&x(false,e,-1).type===$;)e.length-=2;if(e.length>0){let t=de(x(false,e,-1));e[e.length-1]=t;}return e}function de(e){switch(ne(e)){case j:case M:case A:case L:case W:{let t=de(e.contents);return {...e,contents:t}}case B:return {...e,breakContents:de(e.breakContents),flatContents:de(e.flatContents)};case V:return {...e,parts:wt(e.parts)};case I:return wt(e);case re:return fn(e);case G:case U:case _:case z:case k:case $:break;default:throw new ae(e)}return e}function sr(e){return de(xn(e))}function Sn(e){switch(ne(e)){case V:if(e.parts.every(t=>t===""))return "";break;case A:if(!e.contents&&!e.id&&!e.break&&!e.expandedStates)return "";if(e.contents.type===A&&e.contents.id===e.id&&e.contents.break===e.break&&e.contents.expandedStates===e.expandedStates)return e.contents;break;case G:case j:case M:case L:if(!e.contents)return "";break;case B:if(!e.flatContents&&!e.breakContents)return "";break;case I:{let t=[];for(let r of e){if(!r)continue;let[n,...s]=Array.isArray(r)?r:[r];typeof n=="string"&&typeof x(false,t,-1)=="string"?t[t.length-1]+=n:t.push(n),t.push(...s);}return t.length===0?"":t.length===1?t[0]:t}case re:case U:case _:case z:case k:case W:case $:break;default:throw new ae(e)}return e}function xn(e){return Te(e,t=>Sn(t))}function kn(e,t=lr){return Te(e,r=>typeof r=="string"?cr(t,r.split(`
|
|
24
|
-
`)):r)}function wn(e){if(e.type===k)return true}function An(e){return lt(e,wn,false)}function Be(e,t){return e.type===W?{...e,contents:t(e.contents)}:t(e)}var ct=()=>{},ir=ct;function Ne(e){return {type:j,contents:e}}function le(e,t){return {type:G,contents:t,n:e}}function or(e,t={}){return ir(t.expandedStates),{type:A,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function $n(e){return le(Number.NEGATIVE_INFINITY,e)}function On(e){return le({type:"root"},e)}function Nn(e){return le(-1,e)}function Pn(e,t){return or(e[0],{...t,expandedStates:e})}function Tn(e){return {type:V,parts:e}}function Vn(e,t="",r={}){return {type:B,breakContents:e,flatContents:t,groupId:r.groupId}}function Wn(e,t){return {type:M,contents:e,groupId:t.groupId,negate:t.negate}}function Xe(e){return {type:L,contents:e}}var Rn={type:z},Ve={type:$},In={type:_},pt={type:k,hard:true},ur={type:k,hard:true,literal:true},ar={type:k},jn={type:k,soft:true},ee=[pt,Ve],lr=[ur,Ve],Q={type:U};function cr(e,t){let r=[];for(let n=0;n<t.length;n++)n!==0&&r.push(e),r.push(t[n]);return r}function pr(e,t,r){let n=e;if(t>0){for(let s=0;s<Math.floor(t/r);++s)n=Ne(n);n=le(t%r,n),n=le(Number.NEGATIVE_INFINITY,n);}return n}function Gn(e,t){return e?{type:W,label:e,contents:t}:t}function R(e){var t;if(!e)return "";if(Array.isArray(e)){let r=[];for(let n of e)if(Array.isArray(n))r.push(...R(n));else {let s=R(n);s!==""&&r.push(s);}return r}return e.type===B?{...e,breakContents:R(e.breakContents),flatContents:R(e.flatContents)}:e.type===A?{...e,contents:R(e.contents),expandedStates:(t=e.expandedStates)==null?void 0:t.map(R)}:e.type===V?{type:"fill",parts:e.parts.map(R)}:e.contents?{...e,contents:R(e.contents)}:e}function _n(e){let t=Object.create(null),r=new Set;return n(R(e));function n(i,o,u){var a,l;if(typeof i=="string")return JSON.stringify(i);if(Array.isArray(i)){let c=i.map(n).filter(Boolean);return c.length===1?c[0]:`[${c.join(", ")}]`}if(i.type===k){let c=((a=u?.[o+1])==null?void 0:a.type)===$;return i.literal?c?"literalline":"literallineWithoutBreakParent":i.hard?c?"hardline":"hardlineWithoutBreakParent":i.soft?"softline":"line"}if(i.type===$)return ((l=u?.[o-1])==null?void 0:l.type)===k&&u[o-1].hard?void 0:"breakParent";if(i.type===_)return "trim";if(i.type===j)return "indent("+n(i.contents)+")";if(i.type===G)return i.n===Number.NEGATIVE_INFINITY?"dedentToRoot("+n(i.contents)+")":i.n<0?"dedent("+n(i.contents)+")":i.n.type==="root"?"markAsRoot("+n(i.contents)+")":"align("+JSON.stringify(i.n)+", "+n(i.contents)+")";if(i.type===B)return "ifBreak("+n(i.breakContents)+(i.flatContents?", "+n(i.flatContents):"")+(i.groupId?(i.flatContents?"":', ""')+`, { groupId: ${s(i.groupId)} }`:"")+")";if(i.type===M){let c=[];i.negate&&c.push("negate: true"),i.groupId&&c.push(`groupId: ${s(i.groupId)}`);let f=c.length>0?`, { ${c.join(", ")} }`:"";return `indentIfBreak(${n(i.contents)}${f})`}if(i.type===A){let c=[];i.break&&i.break!=="propagated"&&c.push("shouldBreak: true"),i.id&&c.push(`id: ${s(i.id)}`);let f=c.length>0?`, { ${c.join(", ")} }`:"";return i.expandedStates?`conditionalGroup([${i.expandedStates.map(p=>n(p)).join(",")}]${f})`:`group(${n(i.contents)}${f})`}if(i.type===V)return `fill([${i.parts.map(c=>n(c)).join(", ")}])`;if(i.type===L)return "lineSuffix("+n(i.contents)+")";if(i.type===z)return "lineSuffixBoundary";if(i.type===W)return `label(${JSON.stringify(i.label)}, ${n(i.contents)})`;if(i.type===U)return "cursor";throw new Error("Unknown doc type "+i.type)}function s(i){if(typeof i!="symbol")return JSON.stringify(String(i));if(i in t)return t[i];let o=i.description||"symbol";for(let u=0;;u++){let a=o+(u>0?` #${u}`:"");if(!r.has(a))return r.add(a),t[i]=`Symbol.for(${JSON.stringify(a)})`}}}var Mn=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;function Ln(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function zn(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101631&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129673||e>=129679&&e<=129734||e>=129742&&e<=129756||e>=129759&&e<=129769||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}var Jn=e=>!(Ln(e)||zn(e)),qn=/[^\x20-\x7F]/u;function Un(e){if(!e)return 0;if(!qn.test(e))return e.length;e=e.replace(Mn()," ");let t=0;for(let r of e){let n=r.codePointAt(0);n<=31||n>=127&&n<=159||n>=768&&n<=879||(t+=Jn(n)?1:2);}return t}var Dt=Un,w=Symbol("MODE_BREAK"),N=Symbol("MODE_FLAT"),oe=Symbol("cursor"),Ye=Symbol("DOC_FILL_PRINTED_LENGTH");function Dr(){return {value:"",length:0,queue:[]}}function Zn(e,t){return Qe(e,{type:"indent"},t)}function Hn(e,t,r){return t===Number.NEGATIVE_INFINITY?e.root||Dr():t<0?Qe(e,{type:"dedent"},r):t?t.type==="root"?{...e,root:e}:Qe(e,{type:typeof t=="string"?"stringAlign":"numberAlign",n:t},r):e}function Qe(e,t,r){let n=t.type==="dedent"?e.queue.slice(0,-1):[...e.queue,t],s="",i=0,o=0,u=0;for(let D of n)switch(D.type){case "indent":c(),r.useTabs?a(1):l(r.tabWidth);break;case "stringAlign":c(),s+=D.n,i+=D.n.length;break;case "numberAlign":o+=1,u+=D.n;break;default:throw new Error(`Unexpected type '${D.type}'`)}return p(),{...e,value:s,length:i,queue:n};function a(D){s+=" ".repeat(D),i+=r.tabWidth*D;}function l(D){s+=" ".repeat(D),i+=D;}function c(){r.useTabs?f():p();}function f(){o>0&&a(o),d();}function p(){u>0&&l(u),d();}function d(){o=0,u=0;}}function et(e){let t=0,r=0,n=e.length;e:for(;n--;){let s=e[n];if(s===oe){r++;continue}for(let i=s.length-1;i>=0;i--){let o=s[i];if(o===" "||o===" ")t++;else {e[n]=s.slice(0,i+1);break e}}}if(t>0||r>0)for(e.length=n+1;r-- >0;)e.push(oe);return t}function we(e,t,r,n,s,i){if(r===Number.POSITIVE_INFINITY)return true;let o=t.length,u=[e],a=[];for(;r>=0;){if(u.length===0){if(o===0)return true;u.push(t[--o]);continue}let{mode:l,doc:c}=u.pop(),f=ne(c);switch(f){case re:a.push(c),r-=Dt(c);break;case I:case V:{let p=f===I?c:c.parts,d=c[Ye]??0;for(let D=p.length-1;D>=d;D--)u.push({mode:l,doc:p[D]});break}case j:case G:case M:case W:u.push({mode:l,doc:c.contents});break;case _:r+=et(a);break;case A:{if(i&&c.break)return false;let p=c.break?w:l,d=c.expandedStates&&p===w?x(false,c.expandedStates,-1):c.contents;u.push({mode:p,doc:d});break}case B:{let p=(c.groupId?s[c.groupId]||N:l)===w?c.breakContents:c.flatContents;p&&u.push({mode:l,doc:p});break}case k:if(l===w||c.hard)return true;c.soft||(a.push(" "),r--);break;case L:n=true;break;case z:if(n)return false;break}}return false}function We(e,t){let r={},n=t.printWidth,s=ut(t.endOfLine),i=0,o=[{ind:Dr(),mode:w,doc:e}],u=[],a=false,l=[],c=0;for(yn(e);o.length>0;){let{ind:p,mode:d,doc:D}=o.pop();switch(ne(D)){case re:{let h=s!==`
|
|
24
|
+
`)):r)}function wn(e){if(e.type===k)return true}function An(e){return lt(e,wn,false)}function Be(e,t){return e.type===W?{...e,contents:t(e.contents)}:t(e)}var ct=()=>{},ir=ct;function Oe(e){return {type:j,contents:e}}function le(e,t){return {type:G,contents:t,n:e}}function or(e,t={}){return ir(t.expandedStates),{type:A,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function $n(e){return le(Number.NEGATIVE_INFINITY,e)}function Nn(e){return le({type:"root"},e)}function On(e){return le(-1,e)}function Pn(e,t){return or(e[0],{...t,expandedStates:e})}function Tn(e){return {type:V,parts:e}}function Vn(e,t="",r={}){return {type:B,breakContents:e,flatContents:t,groupId:r.groupId}}function Wn(e,t){return {type:M,contents:e,groupId:t.groupId,negate:t.negate}}function Xe(e){return {type:L,contents:e}}var Rn={type:z},Ve={type:$},In={type:_},pt={type:k,hard:true},ur={type:k,hard:true,literal:true},ar={type:k},jn={type:k,soft:true},ee=[pt,Ve],lr=[ur,Ve],Q={type:U};function cr(e,t){let r=[];for(let n=0;n<t.length;n++)n!==0&&r.push(e),r.push(t[n]);return r}function pr(e,t,r){let n=e;if(t>0){for(let s=0;s<Math.floor(t/r);++s)n=Oe(n);n=le(t%r,n),n=le(Number.NEGATIVE_INFINITY,n);}return n}function Gn(e,t){return e?{type:W,label:e,contents:t}:t}function R(e){var t;if(!e)return "";if(Array.isArray(e)){let r=[];for(let n of e)if(Array.isArray(n))r.push(...R(n));else {let s=R(n);s!==""&&r.push(s);}return r}return e.type===B?{...e,breakContents:R(e.breakContents),flatContents:R(e.flatContents)}:e.type===A?{...e,contents:R(e.contents),expandedStates:(t=e.expandedStates)==null?void 0:t.map(R)}:e.type===V?{type:"fill",parts:e.parts.map(R)}:e.contents?{...e,contents:R(e.contents)}:e}function _n(e){let t=Object.create(null),r=new Set;return n(R(e));function n(i,o,u){var a,l;if(typeof i=="string")return JSON.stringify(i);if(Array.isArray(i)){let c=i.map(n).filter(Boolean);return c.length===1?c[0]:`[${c.join(", ")}]`}if(i.type===k){let c=((a=u?.[o+1])==null?void 0:a.type)===$;return i.literal?c?"literalline":"literallineWithoutBreakParent":i.hard?c?"hardline":"hardlineWithoutBreakParent":i.soft?"softline":"line"}if(i.type===$)return ((l=u?.[o-1])==null?void 0:l.type)===k&&u[o-1].hard?void 0:"breakParent";if(i.type===_)return "trim";if(i.type===j)return "indent("+n(i.contents)+")";if(i.type===G)return i.n===Number.NEGATIVE_INFINITY?"dedentToRoot("+n(i.contents)+")":i.n<0?"dedent("+n(i.contents)+")":i.n.type==="root"?"markAsRoot("+n(i.contents)+")":"align("+JSON.stringify(i.n)+", "+n(i.contents)+")";if(i.type===B)return "ifBreak("+n(i.breakContents)+(i.flatContents?", "+n(i.flatContents):"")+(i.groupId?(i.flatContents?"":', ""')+`, { groupId: ${s(i.groupId)} }`:"")+")";if(i.type===M){let c=[];i.negate&&c.push("negate: true"),i.groupId&&c.push(`groupId: ${s(i.groupId)}`);let f=c.length>0?`, { ${c.join(", ")} }`:"";return `indentIfBreak(${n(i.contents)}${f})`}if(i.type===A){let c=[];i.break&&i.break!=="propagated"&&c.push("shouldBreak: true"),i.id&&c.push(`id: ${s(i.id)}`);let f=c.length>0?`, { ${c.join(", ")} }`:"";return i.expandedStates?`conditionalGroup([${i.expandedStates.map(p=>n(p)).join(",")}]${f})`:`group(${n(i.contents)}${f})`}if(i.type===V)return `fill([${i.parts.map(c=>n(c)).join(", ")}])`;if(i.type===L)return "lineSuffix("+n(i.contents)+")";if(i.type===z)return "lineSuffixBoundary";if(i.type===W)return `label(${JSON.stringify(i.label)}, ${n(i.contents)})`;if(i.type===U)return "cursor";throw new Error("Unknown doc type "+i.type)}function s(i){if(typeof i!="symbol")return JSON.stringify(String(i));if(i in t)return t[i];let o=i.description||"symbol";for(let u=0;;u++){let a=o+(u>0?` #${u}`:"");if(!r.has(a))return r.add(a),t[i]=`Symbol.for(${JSON.stringify(a)})`}}}var Mn=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;function Ln(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function zn(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101631&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129673||e>=129679&&e<=129734||e>=129742&&e<=129756||e>=129759&&e<=129769||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}var Jn=e=>!(Ln(e)||zn(e)),qn=/[^\x20-\x7F]/u;function Un(e){if(!e)return 0;if(!qn.test(e))return e.length;e=e.replace(Mn()," ");let t=0;for(let r of e){let n=r.codePointAt(0);n<=31||n>=127&&n<=159||n>=768&&n<=879||(t+=Jn(n)?1:2);}return t}var Dt=Un,w=Symbol("MODE_BREAK"),O=Symbol("MODE_FLAT"),oe=Symbol("cursor"),Ye=Symbol("DOC_FILL_PRINTED_LENGTH");function Dr(){return {value:"",length:0,queue:[]}}function Hn(e,t){return Qe(e,{type:"indent"},t)}function Zn(e,t,r){return t===Number.NEGATIVE_INFINITY?e.root||Dr():t<0?Qe(e,{type:"dedent"},r):t?t.type==="root"?{...e,root:e}:Qe(e,{type:typeof t=="string"?"stringAlign":"numberAlign",n:t},r):e}function Qe(e,t,r){let n=t.type==="dedent"?e.queue.slice(0,-1):[...e.queue,t],s="",i=0,o=0,u=0;for(let D of n)switch(D.type){case "indent":c(),r.useTabs?a(1):l(r.tabWidth);break;case "stringAlign":c(),s+=D.n,i+=D.n.length;break;case "numberAlign":o+=1,u+=D.n;break;default:throw new Error(`Unexpected type '${D.type}'`)}return p(),{...e,value:s,length:i,queue:n};function a(D){s+=" ".repeat(D),i+=r.tabWidth*D;}function l(D){s+=" ".repeat(D),i+=D;}function c(){r.useTabs?f():p();}function f(){o>0&&a(o),d();}function p(){u>0&&l(u),d();}function d(){o=0,u=0;}}function et(e){let t=0,r=0,n=e.length;e:for(;n--;){let s=e[n];if(s===oe){r++;continue}for(let i=s.length-1;i>=0;i--){let o=s[i];if(o===" "||o===" ")t++;else {e[n]=s.slice(0,i+1);break e}}}if(t>0||r>0)for(e.length=n+1;r-- >0;)e.push(oe);return t}function we(e,t,r,n,s,i){if(r===Number.POSITIVE_INFINITY)return true;let o=t.length,u=[e],a=[];for(;r>=0;){if(u.length===0){if(o===0)return true;u.push(t[--o]);continue}let{mode:l,doc:c}=u.pop(),f=ne(c);switch(f){case re:a.push(c),r-=Dt(c);break;case I:case V:{let p=f===I?c:c.parts,d=c[Ye]??0;for(let D=p.length-1;D>=d;D--)u.push({mode:l,doc:p[D]});break}case j:case G:case M:case W:u.push({mode:l,doc:c.contents});break;case _:r+=et(a);break;case A:{if(i&&c.break)return false;let p=c.break?w:l,d=c.expandedStates&&p===w?x(false,c.expandedStates,-1):c.contents;u.push({mode:p,doc:d});break}case B:{let p=(c.groupId?s[c.groupId]||O:l)===w?c.breakContents:c.flatContents;p&&u.push({mode:l,doc:p});break}case k:if(l===w||c.hard)return true;c.soft||(a.push(" "),r--);break;case L:n=true;break;case z:if(n)return false;break}}return false}function We(e,t){let r={},n=t.printWidth,s=ut(t.endOfLine),i=0,o=[{ind:Dr(),mode:w,doc:e}],u=[],a=false,l=[],c=0;for(yn(e);o.length>0;){let{ind:p,mode:d,doc:D}=o.pop();switch(ne(D)){case re:{let h=s!==`
|
|
25
25
|
`?Pe(false,D,`
|
|
26
|
-
`,s):D;u.push(h),o.length>0&&(i+=Dt(h));break}case I:for(let h=D.length-1;h>=0;h--)o.push({ind:p,mode:d,doc:D[h]});break;case U:if(c>=2)throw new Error("There are too many 'cursor' in doc.");u.push(oe),c++;break;case j:o.push({ind:
|
|
26
|
+
`,s):D;u.push(h),o.length>0&&(i+=Dt(h));break}case I:for(let h=D.length-1;h>=0;h--)o.push({ind:p,mode:d,doc:D[h]});break;case U:if(c>=2)throw new Error("There are too many 'cursor' in doc.");u.push(oe),c++;break;case j:o.push({ind:Hn(p,t),mode:d,doc:D.contents});break;case G:o.push({ind:Zn(p,D.n,t),mode:d,doc:D.contents});break;case _:i-=et(u);break;case A:switch(d){case O:if(!a){o.push({ind:p,mode:D.break?w:O,doc:D.contents});break}case w:{a=false;let h={ind:p,mode:O,doc:D.contents},m=n-i,g=l.length>0;if(!D.break&&we(h,o,m,g,r))o.push(h);else if(D.expandedStates){let E=x(false,D.expandedStates,-1);if(D.break){o.push({ind:p,mode:w,doc:E});break}else for(let F=1;F<D.expandedStates.length+1;F++)if(F>=D.expandedStates.length){o.push({ind:p,mode:w,doc:E});break}else {let y=D.expandedStates[F],C={ind:p,mode:O,doc:y};if(we(C,o,m,g,r)){o.push(C);break}}}else o.push({ind:p,mode:w,doc:D.contents});break}}D.id&&(r[D.id]=x(false,o,-1).mode);break;case V:{let h=n-i,m=D[Ye]??0,{parts:g}=D,E=g.length-m;if(E===0)break;let F=g[m+0],y=g[m+1],C={ind:p,mode:O,doc:F},b={ind:p,mode:w,doc:F},N=we(C,[],h,l.length>0,r,true);if(E===1){N?o.push(C):o.push(b);break}let S={ind:p,mode:O,doc:y},Z={ind:p,mode:w,doc:y};if(E===2){N?o.push(S,C):o.push(Z,b);break}let Me=g[m+2],De={ind:p,mode:d,doc:{...D,[Ye]:m+2}};we({ind:p,mode:O,doc:[F,y,Me]},[],h,l.length>0,r,true)?o.push(De,S,C):N?o.push(De,Z,C):o.push(De,Z,b);break}case B:case M:{let h=D.groupId?r[D.groupId]:d;if(h===w){let m=D.type===B?D.breakContents:D.negate?D.contents:Oe(D.contents);m&&o.push({ind:p,mode:d,doc:m});}if(h===O){let m=D.type===B?D.flatContents:D.negate?Oe(D.contents):D.contents;m&&o.push({ind:p,mode:d,doc:m});}break}case L:l.push({ind:p,mode:d,doc:D.contents});break;case z:l.length>0&&o.push({ind:p,mode:d,doc:pt});break;case k:switch(d){case O:if(D.hard)a=true;else {D.soft||(u.push(" "),i+=1);break}case w:if(l.length>0){o.push({ind:p,mode:d,doc:D},...l.reverse()),l.length=0;break}D.literal?p.root?(u.push(s,p.root.value),i=p.root.length):(u.push(s),i=0):(i-=et(u),u.push(s+p.value),i=p.length);break}break;case W:o.push({ind:p,mode:d,doc:D.contents});break;case $:break;default:throw new ae(D)}o.length===0&&l.length>0&&(o.push(...l.reverse()),l.length=0);}let f=u.indexOf(oe);if(f!==-1){let p=u.indexOf(oe,f+1);if(p===-1)return {formatted:u.filter(m=>m!==oe).join("")};let d=u.slice(0,f).join(""),D=u.slice(f+1,p).join(""),h=u.slice(p+1).join("");return {formatted:d+D+h,cursorNodeStart:d.length,cursorNodeText:D}}return {formatted:u.join("")}}function Kn(e,t,r=0){let n=0;for(let s=r;s<e.length;++s)e[s]===" "?n=n+t-n%t:n++;return n}var ft=Kn,K,tt,$e,Xn=class{constructor(e){tn(this,K),this.stack=[e];}get key(){let{stack:e,siblings:t}=this;return x(false,e,t===null?-2:-4)??null}get index(){return this.siblings===null?null:x(false,this.stack,-2)}get node(){return x(false,this.stack,-1)}get parent(){return this.getNode(1)}get grandparent(){return this.getNode(2)}get isInArray(){return this.siblings!==null}get siblings(){let{stack:e}=this,t=x(false,e,-3);return Array.isArray(t)?t:null}get next(){let{siblings:e}=this;return e===null?null:e[this.index+1]}get previous(){let{siblings:e}=this;return e===null?null:e[this.index-1]}get isFirst(){return this.index===0}get isLast(){let{siblings:e,index:t}=this;return e!==null&&t===e.length-1}get isRoot(){return this.stack.length===1}get root(){return this.stack[0]}get ancestors(){return [...fe(this,K,$e).call(this)]}getName(){let{stack:e}=this,{length:t}=e;return t>1?x(false,e,-2):null}getValue(){return x(false,this.stack,-1)}getNode(e=0){let t=fe(this,K,tt).call(this,e);return t===-1?null:this.stack[t]}getParentNode(e=0){return this.getNode(e+1)}call(e,...t){let{stack:r}=this,{length:n}=r,s=x(false,r,-1);for(let i of t)s=s[i],r.push(i,s);try{return e(this)}finally{r.length=n;}}callParent(e,t=0){let r=fe(this,K,tt).call(this,t+1),n=this.stack.splice(r+1);try{return e(this)}finally{this.stack.push(...n);}}each(e,...t){let{stack:r}=this,{length:n}=r,s=x(false,r,-1);for(let i of t)s=s[i],r.push(i,s);try{for(let i=0;i<s.length;++i)r.push(i,s[i]),e(this,i,s),r.length-=2;}finally{r.length=n;}}map(e,...t){let r=[];return this.each((n,s,i)=>{r[s]=e(n,s,i);},...t),r}match(...e){let t=this.stack.length-1,r=null,n=this.stack[t--];for(let s of e){if(n===void 0)return false;let i=null;if(typeof r=="number"&&(i=r,r=this.stack[t--],n=this.stack[t--]),s&&!s(n,r,i))return false;r=this.stack[t--],n=this.stack[t--];}return true}findAncestor(e){for(let t of fe(this,K,$e).call(this))if(e(t))return t}hasAncestor(e){for(let t of fe(this,K,$e).call(this))if(e(t))return true;return false}};K=new WeakSet,tt=function(e){let{stack:t}=this;for(let r=t.length-1;r>=0;r-=2)if(!Array.isArray(t[r])&&--e<0)return r;return -1},$e=function*(){let{stack:e}=this;for(let t=e.length-3;t>=0;t-=2){let r=e[t];Array.isArray(r)||(yield r);}};var Yn=Xn,fr=new Proxy(()=>{},{get:()=>fr}),rt=fr;function Qn(e){return e!==null&&typeof e=="object"}var es=Qn;function*Re(e,t){let{getVisitorKeys:r,filter:n=()=>true}=t,s=i=>es(i)&&n(i);for(let i of r(e)){let o=e[i];if(Array.isArray(o))for(let u of o)s(u)&&(yield u);else s(o)&&(yield o);}}function*ts(e,t){let r=[e];for(let n=0;n<r.length;n++){let s=r[n];for(let i of Re(s,t))yield i,r.push(i);}}function rs(e,t){return Re(e,t).next().done}function ge(e){return (t,r,n)=>{let s=!!(n!=null&&n.backwards);if(r===false)return false;let{length:i}=t,o=r;for(;o>=0&&o<i;){let u=t.charAt(o);if(e instanceof RegExp){if(!e.test(u))return o}else if(!e.includes(u))return o;s?o--:o++;}return o===-1||o===i?o:false}}var ns=ge(/\s/u),q=ge(" "),dr=ge(",; "),hr=ge(/[^\n\r]/u);function ss(e,t,r){let n=!!(r!=null&&r.backwards);if(t===false)return false;let s=e.charAt(t);if(n){if(e.charAt(t-1)==="\r"&&s===`
|
|
27
27
|
`)return t-2;if(s===`
|
|
28
28
|
`||s==="\r"||s==="\u2028"||s==="\u2029")return t-1}else {if(s==="\r"&&e.charAt(t+1)===`
|
|
29
29
|
`)return t+2;if(s===`
|
|
30
30
|
`||s==="\r"||s==="\u2028"||s==="\u2029")return t+1}return t}var te=ss;function is(e,t,r={}){let n=q(e,r.backwards?t-1:t,r),s=te(e,n,r);return n!==s}var J=is;function os(e){return Array.isArray(e)&&e.length>0}var us=os,mr=new Set(["tokens","comments","parent","enclosingNode","precedingNode","followingNode"]),as=e=>Object.keys(e).filter(t=>!mr.has(t));function ls(e){return e?t=>e(t,mr):as}var Ie=ls;function cs(e){let t=e.type||e.kind||"(unknown type)",r=String(e.name||e.id&&(typeof e.id=="object"?e.id.name:e.id)||e.key&&(typeof e.key=="object"?e.key.name:e.key)||e.value&&(typeof e.value=="object"?"":String(e.value))||e.operator||"");return r.length>20&&(r=r.slice(0,19)+"\u2026"),t+(r?" "+r:"")}function dt(e,t){(e.comments??(e.comments=[])).push(t),t.printed=false,t.nodeDescription=cs(e);}function he(e,t){t.leading=true,t.trailing=false,dt(e,t);}function X(e,t,r){t.leading=false,t.trailing=false,r&&(t.marker=r),dt(e,t);}function me(e,t){t.leading=false,t.trailing=true,dt(e,t);}var Je=new WeakMap;function ht(e,t){if(Je.has(e))return Je.get(e);let{printer:{getCommentChildNodes:r,canAttachComment:n,getVisitorKeys:s},locStart:i,locEnd:o}=t;if(!n)return [];let u=(r?.(e,t)??[...Re(e,{getVisitorKeys:Ie(s)})]).flatMap(a=>n(a)?[a]:ht(a,t));return u.sort((a,l)=>i(a)-i(l)||o(a)-o(l)),Je.set(e,u),u}function gr(e,t,r,n){let{locStart:s,locEnd:i}=r,o=s(t),u=i(t),a=ht(e,r),l,c,f=0,p=a.length;for(;f<p;){let d=f+p>>1,D=a[d],h=s(D),m=i(D);if(h<=o&&u<=m)return gr(D,t,r,D);if(m<=o){l=D,f=d+1;continue}if(u<=h){c=D,p=d;continue}throw new Error("Comment location overlaps with node location")}if(n?.type==="TemplateLiteral"){let{quasis:d}=n,D=Ue(d,t,r);l&&Ue(d,l,r)!==D&&(l=null),c&&Ue(d,c,r)!==D&&(c=null);}return {enclosingNode:n,precedingNode:l,followingNode:c}}var qe=()=>false;function ps(e,t){let{comments:r}=e;if(delete e.comments,!us(r)||!t.printer.canAttachComment)return;let n=[],{printer:{experimentalFeatures:{avoidAstMutation:s=false}={},handleComments:i={}},originalText:o}=t,{ownLine:u=qe,endOfLine:a=qe,remaining:l=qe}=i,c=r.map((f,p)=>({...gr(e,f,t),comment:f,text:o,options:t,ast:e,isLastComment:r.length-1===p}));for(let[f,p]of c.entries()){let{comment:d,precedingNode:D,enclosingNode:h,followingNode:m,text:g,options:E,ast:F,isLastComment:y}=p,C;if(s?C=[p]:(d.enclosingNode=h,d.precedingNode=D,d.followingNode=m,C=[d,g,E,F,y]),Ds(g,E,c,f))d.placement="ownLine",u(...C)||(m?he(m,d):D?me(D,d):X(h||F,d));else if(fs(g,E,c,f))d.placement="endOfLine",a(...C)||(D?me(D,d):m?he(m,d):X(h||F,d));else if(d.placement="remaining",!l(...C))if(D&&m){let b=n.length;b>0&&n[b-1].followingNode!==m&&At(n,E),n.push(p);}else D?me(D,d):m?he(m,d):X(h||F,d);}if(At(n,t),!s)for(let f of r)delete f.precedingNode,delete f.enclosingNode,delete f.followingNode;}var Fr=e=>!/[\S\n\u2028\u2029]/u.test(e);function Ds(e,t,r,n){let{comment:s,precedingNode:i}=r[n],{locStart:o,locEnd:u}=t,a=o(s);if(i)for(let l=n-1;l>=0;l--){let{comment:c,precedingNode:f}=r[l];if(f!==i||!Fr(e.slice(u(c),a)))break;a=o(c);}return J(e,a,{backwards:true})}function fs(e,t,r,n){let{comment:s,followingNode:i}=r[n],{locStart:o,locEnd:u}=t,a=u(s);if(i)for(let l=n+1;l<r.length;l++){let{comment:c,followingNode:f}=r[l];if(f!==i||!Fr(e.slice(a,o(c))))break;a=u(c);}return J(e,a)}function At(e,t){var r,n;let s=e.length;if(s===0)return;let{precedingNode:i,followingNode:o}=e[0],u=t.locStart(o),a;for(a=s;a>0;--a){let{comment:l,precedingNode:c,followingNode:f}=e[a-1];rt.strictEqual(c,i),rt.strictEqual(f,o);let p=t.originalText.slice(t.locEnd(l),u);if(((n=(r=t.printer).isGap)==null?void 0:n.call(r,p,t))??/^[\s(]*$/u.test(p))u=t.locStart(l);else break}for(let[l,{comment:c}]of e.entries())l<a?me(i,c):he(o,c);for(let l of [i,o])l.comments&&l.comments.length>1&&l.comments.sort((c,f)=>t.locStart(c)-t.locStart(f));e.length=0;}function Ue(e,t,r){let n=r.locStart(t)-1;for(let s=1;s<e.length;++s)if(n<r.locStart(e[s]))return s-1;return 0}function ds(e,t){let r=t-1;r=q(e,r,{backwards:true}),r=te(e,r,{backwards:true}),r=q(e,r,{backwards:true});let n=te(e,r,{backwards:true});return r!==n}var mt=ds;function Cr(e,t){let r=e.node;return r.printed=true,t.printer.printComment(e,t)}function hs(e,t){var r;let n=e.node,s=[Cr(e,t)],{printer:i,originalText:o,locStart:u,locEnd:a}=t;if((r=i.isBlockComment)!=null&&r.call(i,n)){let c=J(o,a(n))?J(o,u(n),{backwards:true})?ee:ar:" ";s.push(c);}else s.push(ee);let l=te(o,q(o,a(n)));return l!==false&&J(o,l)&&s.push(ee),s}function ms(e,t,r){var n;let s=e.node,i=Cr(e,t),{printer:o,originalText:u,locStart:a}=t,l=(n=o.isBlockComment)==null?void 0:n.call(o,s);if(r!=null&&r.hasLineSuffix&&!(r!=null&&r.isBlock)||J(u,a(s),{backwards:true})){let c=mt(u,a(s));return {doc:Xe([ee,c?ee:"",i]),isBlock:l,hasLineSuffix:true}}return !l||r!=null&&r.hasLineSuffix?{doc:[Xe([" ",i]),Ve],isBlock:l,hasLineSuffix:true}:{doc:[" ",i],isBlock:l,hasLineSuffix:false}}function gs(e,t){let r=e.node;if(!r)return {};let n=t[Symbol.for("printedComments")];if((r.comments||[]).filter(u=>!n.has(u)).length===0)return {leading:"",trailing:""};let s=[],i=[],o;return e.each(()=>{let u=e.node;if(n!=null&&n.has(u))return;let{leading:a,trailing:l}=u;a?s.push(hs(e,t)):l&&(o=ms(e,t,o),i.push(o.doc));},"comments"),{leading:s,trailing:i}}function Fs(e,t,r){let{leading:n,trailing:s}=gs(e,r);return !n&&!s?t:Be(t,i=>[n,i,s])}function Cs(e){let{[Symbol.for("comments")]:t,[Symbol.for("printedComments")]:r}=e;for(let n of t){if(!n.printed&&!r.has(n))throw new Error('Comment "'+n.value.trim()+'" was not printed. Please report this error!');delete n.printed;}}var Er=class extends Error{constructor(){super(...arguments);v(this,"name","ConfigError");}},Bt=class extends Error{constructor(){super(...arguments);v(this,"name","UndefinedParserError");}},vs={checkIgnorePragma:{category:"Special",type:"boolean",default:false,description:"Check whether the file's first docblock comment contains '@noprettier' or '@noformat' to determine if it should be formatted.",cliCategory:"Other"},cursorOffset:{category:"Special",type:"int",default:-1,range:{start:-1,end:1/0,step:1},description:"Print (to stderr) where a cursor at the given position would move to after formatting.",cliCategory:"Editor"},endOfLine:{category:"Global",type:"choice",default:"lf",description:"Which end of line characters to apply.",choices:[{value:"lf",description:"Line Feed only (\\n), common on Linux and macOS as well as inside git repos"},{value:"crlf",description:"Carriage Return + Line Feed characters (\\r\\n), common on Windows"},{value:"cr",description:"Carriage Return character only (\\r), used very rarely"},{value:"auto",description:`Maintain existing
|
|
31
31
|
(mixed values within one file are normalised by looking at what's used after the first line)`}]},filepath:{category:"Special",type:"path",description:"Specify the input filepath. This will be used to do parser inference.",cliName:"stdin-filepath",cliCategory:"Other",cliDescription:"Path to the file to pretend that stdin comes from."},insertPragma:{category:"Special",type:"boolean",default:false,description:"Insert @format pragma into file's first docblock comment.",cliCategory:"Other"},parser:{category:"Global",type:"choice",default:void 0,description:"Which parser to use.",exception:e=>typeof e=="string"||typeof e=="function",choices:[{value:"flow",description:"Flow"},{value:"babel",description:"JavaScript"},{value:"babel-flow",description:"Flow"},{value:"babel-ts",description:"TypeScript"},{value:"typescript",description:"TypeScript"},{value:"acorn",description:"JavaScript"},{value:"espree",description:"JavaScript"},{value:"meriyah",description:"JavaScript"},{value:"css",description:"CSS"},{value:"less",description:"Less"},{value:"scss",description:"SCSS"},{value:"json",description:"JSON"},{value:"json5",description:"JSON5"},{value:"jsonc",description:"JSON with Comments"},{value:"json-stringify",description:"JSON.stringify"},{value:"graphql",description:"GraphQL"},{value:"markdown",description:"Markdown"},{value:"mdx",description:"MDX"},{value:"vue",description:"Vue"},{value:"yaml",description:"YAML"},{value:"glimmer",description:"Ember / Handlebars"},{value:"html",description:"HTML"},{value:"angular",description:"Angular"},{value:"lwc",description:"Lightning Web Components"},{value:"mjml",description:"MJML"}]},plugins:{type:"path",array:true,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>typeof e=="string"||typeof e=="object",cliName:"plugin",cliCategory:"Config"},printWidth:{category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:`Format code ending at a given character offset (exclusive).
|
|
32
32
|
The range will extend forwards to the end of the selected statement.`,cliCategory:"Editor"},rangeStart:{category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:`Format code starting at a given character offset.
|
|
33
|
-
The range will extend backwards to the start of the first line containing the selected statement.`,cliCategory:"Editor"},requirePragma:{category:"Special",type:"boolean",default:false,description:"Require either '@prettier' or '@format' to be present in the file's first docblock comment in order for it to be formatted.",cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{category:"Global",type:"boolean",default:false,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{category:"Global",type:"choice",default:"auto",description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};function yr({plugins:e=[],showDeprecated:t=false}={}){let r=e.flatMap(s=>s.languages??[]),n=[];for(let s of Ss(Object.assign({},...e.map(({options:i})=>i),vs)))!t&&s.deprecated||(Array.isArray(s.choices)&&(t||(s.choices=s.choices.filter(i=>!i.deprecated)),s.name==="parser"&&(s.choices=[...s.choices,...bs(s.choices,r,e)])),s.pluginDefaults=Object.fromEntries(e.filter(i=>{var o;return ((o=i.defaultOptions)==null?void 0:o[s.name])!==void 0}).map(i=>[i.name,i.defaultOptions[s.name]])),n.push(s));return {languages:r,options:n}}function*bs(e,t,r){let n=new Set(e.map(s=>s.value));for(let s of t)if(s.parsers){for(let i of s.parsers)if(!n.has(i)){n.add(i);let o=r.find(a=>a.parsers&&Object.prototype.hasOwnProperty.call(a.parsers,i)),u=s.name;o!=null&&o.name&&(u+=` (plugin: ${o.name})`),yield {value:i,description:u};}}}function Ss(e){let t=[];for(let[r,n]of Object.entries(e)){let s={name:r,...n};Array.isArray(s.default)&&(s.default=x(false,s.default,-1).value),t.push(s);}return t}var xs=(e,t)=>{if(!(e&&t==null))return t.toReversed||!Array.isArray(t)?t.toReversed():[...t].reverse()},ks=xs,$t,Ot,
|
|
33
|
+
The range will extend backwards to the start of the first line containing the selected statement.`,cliCategory:"Editor"},requirePragma:{category:"Special",type:"boolean",default:false,description:"Require either '@prettier' or '@format' to be present in the file's first docblock comment in order for it to be formatted.",cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{category:"Global",type:"boolean",default:false,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{category:"Global",type:"choice",default:"auto",description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};function yr({plugins:e=[],showDeprecated:t=false}={}){let r=e.flatMap(s=>s.languages??[]),n=[];for(let s of Ss(Object.assign({},...e.map(({options:i})=>i),vs)))!t&&s.deprecated||(Array.isArray(s.choices)&&(t||(s.choices=s.choices.filter(i=>!i.deprecated)),s.name==="parser"&&(s.choices=[...s.choices,...bs(s.choices,r,e)])),s.pluginDefaults=Object.fromEntries(e.filter(i=>{var o;return ((o=i.defaultOptions)==null?void 0:o[s.name])!==void 0}).map(i=>[i.name,i.defaultOptions[s.name]])),n.push(s));return {languages:r,options:n}}function*bs(e,t,r){let n=new Set(e.map(s=>s.value));for(let s of t)if(s.parsers){for(let i of s.parsers)if(!n.has(i)){n.add(i);let o=r.find(a=>a.parsers&&Object.prototype.hasOwnProperty.call(a.parsers,i)),u=s.name;o!=null&&o.name&&(u+=` (plugin: ${o.name})`),yield {value:i,description:u};}}}function Ss(e){let t=[];for(let[r,n]of Object.entries(e)){let s={name:r,...n};Array.isArray(s.default)&&(s.default=x(false,s.default,-1).value),t.push(s);}return t}var xs=(e,t)=>{if(!(e&&t==null))return t.toReversed||!Array.isArray(t)?t.toReversed():[...t].reverse()},ks=xs,$t,Nt,Ot,Pt,Tt,ws=(($t=globalThis.Deno)==null?void 0:$t.build.os)==="windows"||((Ot=(Nt=globalThis.navigator)==null?void 0:Nt.platform)==null?void 0:Ot.startsWith("Win"))||((Tt=(Pt=globalThis.process)==null?void 0:Pt.platform)==null?void 0:Tt.startsWith("win"))||false;function vr(e){if(e=e instanceof URL?e:new URL(e),e.protocol!=="file:")throw new TypeError(`URL must be a file URL: received "${e.protocol}"`);return e}function As(e){return e=vr(e),decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g,"%25"))}function Bs(e){e=vr(e);let t=decodeURIComponent(e.pathname.replace(/\//g,"\\").replace(/%(?![0-9A-Fa-f]{2})/g,"%25")).replace(/^\\*([A-Za-z]:)(\\|$)/,"$1\\");return e.hostname!==""&&(t=`\\\\${e.hostname}${t}`),t}function $s(e){return ws?Bs(e):As(e)}var Ns=$s,Os=e=>String(e).split(/[/\\]/u).pop();function Vt(e,t){if(!t)return;let r=Os(t).toLowerCase();return e.find(({filenames:n})=>n?.some(s=>s.toLowerCase()===r))??e.find(({extensions:n})=>n?.some(s=>r.endsWith(s)))}function Ps(e,t){if(t)return e.find(({name:r})=>r.toLowerCase()===t)??e.find(({aliases:r})=>r?.includes(t))??e.find(({extensions:r})=>r?.includes(`.${t}`))}function Wt(e,t){if(t){if(String(t).startsWith("file:"))try{t=Ns(t);}catch{return}if(typeof t=="string")return e.find(({isSupported:r})=>r?.({filepath:t}))}}function Ts(e,t){let r=ks(false,e.plugins).flatMap(s=>s.languages??[]),n=Ps(r,t.language)??Vt(r,t.physicalFile)??Vt(r,t.file)??Wt(r,t.physicalFile)??Wt(r,t.file)??(t.physicalFile,void 0);return n?.parsers[0]}var Vs=Ts,ue={key:e=>/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e)?e:JSON.stringify(e),value(e){if(e===null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return `[${e.map(r=>ue.value(r)).join(", ")}]`;let t=Object.keys(e);return t.length===0?"{}":`{ ${t.map(r=>`${ue.key(r)}: ${ue.value(e[r])}`).join(", ")} }`},pair:({key:e,value:t})=>ue.value({[e]:t})},br=new Proxy(String,{get:()=>br}),P=br,Ws=(e,t,{descriptor:r})=>{let n=[`${P.yellow(typeof e=="string"?r.key(e):r.pair(e))} is deprecated`];return t&&n.push(`we now treat it as ${P.blue(typeof t=="string"?r.key(t):r.pair(t))}`),n.join("; ")+"."},Sr=Symbol.for("vnopts.VALUE_NOT_EXIST"),Ne=Symbol.for("vnopts.VALUE_UNCHANGED"),Rt=" ".repeat(2),Rs=(e,t,r)=>{let{text:n,list:s}=r.normalizeExpectedResult(r.schemas[e].expected(r)),i=[];return n&&i.push(It(e,t,n,r.descriptor)),s&&i.push([It(e,t,s.title,r.descriptor)].concat(s.values.map(o=>xr(o,r.loggerPrintWidth))).join(`
|
|
34
34
|
`)),kr(i,r.loggerPrintWidth)};function It(e,t,r,n){return [`Invalid ${P.red(n.key(e))} value.`,`Expected ${P.blue(r)},`,`but received ${t===Sr?P.gray("nothing"):P.red(n.value(t))}.`].join(" ")}function xr({text:e,list:t},r){let n=[];return e&&n.push(`- ${P.blue(e)}`),t&&n.push([`- ${P.blue(t.title)}:`].concat(t.values.map(s=>xr(s,r-Rt.length).replace(/^|\n/g,`$&${Rt}`))).join(`
|
|
35
35
|
`)),kr(n,r)}function kr(e,t){if(e.length===1)return e[0];let[r,n]=e,[s,i]=e.map(o=>o.split(`
|
|
36
|
-
`,1)[0].length);return s>t&&s>i?n:r}var Ze=[],jt=[];function Is(e,t){if(e===t)return 0;let r=e;e.length>t.length&&(e=t,t=r);let n=e.length,s=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-s);)n--,s--;let i=0;for(;i<n&&e.charCodeAt(i)===t.charCodeAt(i);)i++;if(n-=i,s-=i,n===0)return s;let o,u,a,l,c=0,f=0;for(;c<n;)jt[c]=e.charCodeAt(i+c),Ze[c]=++c;for(;f<s;)for(o=t.charCodeAt(i+f),a=f++,u=f,c=0;c<n;c++)l=o===jt[c]?a:a+1,a=Ze[c],u=Ze[c]=a>u?l>u?u+1:l:l>a?a+1:l;return u}var wr=(e,t,{descriptor:r,logger:n,schemas:s})=>{let i=[`Ignored unknown option ${P.yellow(r.pair({key:e,value:t}))}.`],o=Object.keys(s).sort().find(u=>Is(e,u)<3);o&&i.push(`Did you mean ${P.blue(r.key(o))}?`),n.warn(i.join(" "));},js=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];function Gs(e,t){let r=new e(t),n=Object.create(r);for(let s of js)s in t&&(n[s]=_s(t[s],r,Z.prototype[s].length));return n}var Z=class{static create(e){return Gs(this,e)}constructor(e){this.name=e.name;}default(e){}expected(e){return "nothing"}validate(e,t){return false}deprecated(e,t){return false}forward(e,t){}redirect(e,t){}overlap(e,t,r){return e}preprocess(e,t){return e}postprocess(e,t){return Oe}};function _s(e,t,r){return typeof e=="function"?(...n)=>e(...n.slice(0,r-1),t,...n.slice(r-1)):()=>e}var Ms=class extends Z{constructor(e){super(e),this._sourceName=e.sourceName;}expected(e){return e.schemas[this._sourceName].expected(e)}validate(e,t){return t.schemas[this._sourceName].validate(e,t)}redirect(e,t){return this._sourceName}},Ls=class extends Z{expected(){return "anything"}validate(){return true}},zs=class extends Z{constructor({valueSchema:e,name:t=e.name,...r}){super({...r,name:t}),this._valueSchema=e;}expected(e){let{text:t,list:r}=e.normalizeExpectedResult(this._valueSchema.expected(e));return {text:t&&`an array of ${t}`,list:r&&{title:"an array of the following values",values:[{list:r}]}}}validate(e,t){if(!Array.isArray(e))return false;let r=[];for(let n of e){let s=t.normalizeValidateResult(this._valueSchema.validate(n,t),n);s!==true&&r.push(s.value);}return r.length===0?true:{value:r}}deprecated(e,t){let r=[];for(let n of e){let s=t.normalizeDeprecatedResult(this._valueSchema.deprecated(n,t),n);s!==false&&r.push(...s.map(({value:i})=>({value:[i]})));}return r}forward(e,t){let r=[];for(let n of e){let s=t.normalizeForwardResult(this._valueSchema.forward(n,t),n);r.push(...s.map(Gt));}return r}redirect(e,t){let r=[],n=[];for(let s of e){let i=t.normalizeRedirectResult(this._valueSchema.redirect(s,t),s);"remain"in i&&r.push(i.remain),n.push(...i.redirect.map(Gt));}return r.length===0?{redirect:n}:{redirect:n,remain:r}}overlap(e,t){return e.concat(t)}};function Gt({from:e,to:t}){return {from:[e],to:t}}var Js=class extends Z{expected(){return "true or false"}validate(e){return typeof e=="boolean"}};function qs(e,t){let r=Object.create(null);for(let n of e){let s=n[t];if(r[s])throw new Error(`Duplicate ${t} ${JSON.stringify(s)}`);r[s]=n;}return r}function Us(e,t){let r=new Map;for(let n of e){let s=n[t];if(r.has(s))throw new Error(`Duplicate ${t} ${JSON.stringify(s)}`);r.set(s,n);}return r}function Zs(){let e=Object.create(null);return t=>{let r=JSON.stringify(t);return e[r]?true:(e[r]=true,false)}}function Hs(e,t){let r=[],n=[];for(let s of e)t(s)?r.push(s):n.push(s);return [r,n]}function Ks(e){return e===Math.floor(e)}function Xs(e,t){if(e===t)return 0;let r=typeof e,n=typeof t,s=["undefined","object","boolean","number","string"];return r!==n?s.indexOf(r)-s.indexOf(n):r!=="string"?Number(e)-Number(t):e.localeCompare(t)}function Ys(e){return (...t)=>{let r=e(...t);return typeof r=="string"?new Error(r):r}}function _t(e){return e===void 0?{}:e}function Ar(e){if(typeof e=="string")return {text:e};let{text:t,list:r}=e;return Qs((t||r)!==void 0,"Unexpected `expected` result, there should be at least one field."),r?{text:t,list:{title:r.title,values:r.values.map(Ar)}}:{text:t}}function Mt(e,t){return e===true?true:e===false?{value:t}:e}function Lt(e,t,r=false){return e===false?false:e===true?r?true:[{value:t}]:"value"in e?[e]:e.length===0?false:e}function zt(e,t){return typeof e=="string"||"key"in e?{from:t,to:e}:"from"in e?{from:e.from,to:e.to}:{from:t,to:e.to}}function nt(e,t){return e===void 0?[]:Array.isArray(e)?e.map(r=>zt(r,t)):[zt(e,t)]}function Jt(e,t){let r=nt(typeof e=="object"&&"redirect"in e?e.redirect:e,t);return r.length===0?{remain:t,redirect:r}:typeof e=="object"&&"remain"in e?{remain:e.remain,redirect:r}:{redirect:r}}function Qs(e,t){if(!e)throw new Error(t)}var ei=class extends Z{constructor(e){super(e),this._choices=Us(e.choices.map(t=>t&&typeof t=="object"?t:{value:t}),"value");}expected({descriptor:e}){let t=Array.from(this._choices.keys()).map(s=>this._choices.get(s)).filter(({hidden:s})=>!s).map(s=>s.value).sort(Xs).map(e.value),r=t.slice(0,-2),n=t.slice(-2);return {text:r.concat(n.join(" or ")).join(", "),list:{title:"one of the following values",values:t}}}validate(e){return this._choices.has(e)}deprecated(e){let t=this._choices.get(e);return t&&t.deprecated?{value:e}:false}forward(e){let t=this._choices.get(e);return t?t.forward:void 0}redirect(e){let t=this._choices.get(e);return t?t.redirect:void 0}},ti=class extends Z{expected(){return "a number"}validate(e,t){return typeof e=="number"}},ri=class extends ti{expected(){return "an integer"}validate(e,t){return t.normalizeValidateResult(super.validate(e,t),e)===true&&Ks(e)}},qt=class extends Z{expected(){return "a string"}validate(e){return typeof e=="string"}},ni=ue,si=wr,ii=Rs,oi=Ws,ui=class{constructor(e,t){let{logger:r=console,loggerPrintWidth:n=80,descriptor:s=ni,unknown:i=si,invalid:o=ii,deprecated:u=oi,missing:a=()=>false,required:l=()=>false,preprocess:c=p=>p,postprocess:f=()=>Oe}=t||{};this._utils={descriptor:s,logger:r||{warn:()=>{}},loggerPrintWidth:n,schemas:qs(e,"name"),normalizeDefaultResult:_t,normalizeExpectedResult:Ar,normalizeDeprecatedResult:Lt,normalizeForwardResult:nt,normalizeRedirectResult:Jt,normalizeValidateResult:Mt},this._unknownHandler=i,this._invalidHandler=Ys(o),this._deprecatedHandler=u,this._identifyMissing=(p,d)=>!(p in d)||a(p,d),this._identifyRequired=l,this._preprocess=c,this._postprocess=f,this.cleanHistory();}cleanHistory(){this._hasDeprecationWarned=Zs();}normalize(e){let t={},r=[this._preprocess(e,this._utils)],n=()=>{for(;r.length!==0;){let s=r.shift(),i=this._applyNormalization(s,t);r.push(...i);}};n();for(let s of Object.keys(this._utils.schemas)){let i=this._utils.schemas[s];if(!(s in t)){let o=_t(i.default(this._utils));"value"in o&&r.push({[s]:o.value});}}n();for(let s of Object.keys(this._utils.schemas)){if(!(s in t))continue;let i=this._utils.schemas[s],o=t[s],u=i.postprocess(o,this._utils);u!==Oe&&(this._applyValidation(u,s,i),t[s]=u);}return this._applyPostprocess(t),this._applyRequiredCheck(t),t}_applyNormalization(e,t){let r=[],{knownKeys:n,unknownKeys:s}=this._partitionOptionKeys(e);for(let i of n){let o=this._utils.schemas[i],u=o.preprocess(e[i],this._utils);this._applyValidation(u,i,o);let a=({from:f,to:p})=>{r.push(typeof p=="string"?{[p]:f}:{[p.key]:p.value});},l=({value:f,redirectTo:p})=>{let d=Lt(o.deprecated(f,this._utils),u,true);if(d!==false)if(d===true)this._hasDeprecationWarned(i)||this._utils.logger.warn(this._deprecatedHandler(i,p,this._utils));else for(let{value:D}of d){let h={key:i,value:D};if(!this._hasDeprecationWarned(h)){let m=typeof p=="string"?{key:p,value:D}:p;this._utils.logger.warn(this._deprecatedHandler(h,m,this._utils));}}};nt(o.forward(u,this._utils),u).forEach(a);let c=Jt(o.redirect(u,this._utils),u);if(c.redirect.forEach(a),"remain"in c){let f=c.remain;t[i]=i in t?o.overlap(t[i],f,this._utils):f,l({value:f});}for(let{from:f,to:p}of c.redirect)l({value:f,redirectTo:p});}for(let i of s){let o=e[i];this._applyUnknownHandler(i,o,t,(u,a)=>{r.push({[u]:a});});}return r}_applyRequiredCheck(e){for(let t of Object.keys(this._utils.schemas))if(this._identifyMissing(t,e)&&this._identifyRequired(t))throw this._invalidHandler(t,Sr,this._utils)}_partitionOptionKeys(e){let[t,r]=Hs(Object.keys(e).filter(n=>!this._identifyMissing(n,e)),n=>n in this._utils.schemas);return {knownKeys:t,unknownKeys:r}}_applyValidation(e,t,r){let n=Mt(r.validate(e,this._utils),e);if(n!==true)throw this._invalidHandler(t,n.value,this._utils)}_applyUnknownHandler(e,t,r,n){let s=this._unknownHandler(e,t,this._utils);if(s)for(let i of Object.keys(s)){if(this._identifyMissing(i,s))continue;let o=s[i];i in this._utils.schemas?n(i,o):r[i]=o;}}_applyPostprocess(e){let t=this._postprocess(e,this._utils);if(t!==Oe){if(t.delete)for(let r of t.delete)delete e[r];if(t.override){let{knownKeys:r,unknownKeys:n}=this._partitionOptionKeys(t.override);for(let s of r){let i=t.override[s];this._applyValidation(i,s,this._utils.schemas[s]),e[s]=i;}for(let s of n){let i=t.override[s];this._applyUnknownHandler(s,i,e,(o,u)=>{let a=this._utils.schemas[o];this._applyValidation(u,o,a),e[o]=u;});}}}}},He;function ai(e,t,{logger:r=false,isCLI:n=false,passThrough:s=false,FlagSchema:i,descriptor:o}={}){if(n){if(!i)throw new Error("'FlagSchema' option is required.");if(!o)throw new Error("'descriptor' option is required.")}else o=ue;let u=s?Array.isArray(s)?(p,d)=>s.includes(p)?{[p]:d}:void 0:(p,d)=>({[p]:d}):(p,d,D)=>{let{_:h,...m}=D.schemas;return wr(p,d,{...D,schemas:m})},a=li(t,{isCLI:n,FlagSchema:i}),l=new ui(a,{logger:r,unknown:u,descriptor:o}),c=r!==false;c&&He&&(l._hasDeprecationWarned=He);let f=l.normalize(e);return c&&(He=l._hasDeprecationWarned),f}function li(e,{isCLI:t,FlagSchema:r}){let n=[];t&&n.push(Ls.create({name:"_"}));for(let s of e)n.push(ci(s,{isCLI:t,optionInfos:e,FlagSchema:r})),s.alias&&t&&n.push(Ms.create({name:s.alias,sourceName:s.name}));return n}function ci(e,{isCLI:t,optionInfos:r,FlagSchema:n}){let{name:s}=e,i={name:s},o,u={};switch(e.type){case "int":o=ri,t&&(i.preprocess=Number);break;case "string":o=qt;break;case "choice":o=ei,i.choices=e.choices.map(a=>a!=null&&a.redirect?{...a,redirect:{to:{key:e.name,value:a.redirect}}}:a);break;case "boolean":o=Js;break;case "flag":o=n,i.flags=r.flatMap(a=>[a.alias,a.description&&a.name,a.oppositeDescription&&`no-${a.name}`].filter(Boolean));break;case "path":o=qt;break;default:throw new Error(`Unexpected type ${e.type}`)}if(e.exception?i.validate=(a,l,c)=>e.exception(a)||l.validate(a,c):i.validate=(a,l,c)=>a===void 0||l.validate(a,c),e.redirect&&(u.redirect=a=>a?{to:typeof e.redirect=="string"?e.redirect:{key:e.redirect.option,value:e.redirect.value}}:void 0),e.deprecated&&(u.deprecated=true),t&&!e.array){let a=i.preprocess||(l=>l);i.preprocess=(l,c,f)=>c.preprocess(a(Array.isArray(l)?x(false,l,-1):l),f);}return e.array?zs.create({...t?{preprocess:a=>Array.isArray(a)?a:[a]}:{},...u,valueSchema:o.create(i)}):o.create({...i,...u})}var pi=ai,Di=(e,t,r)=>{if(!(e&&t==null)){if(t.findLast)return t.findLast(r);for(let n=t.length-1;n>=0;n--){let s=t[n];if(r(s,n,t))return s}}},Br=Di;function $r(e,t){if(!t)throw new Error("parserName is required.");let r=Br(false,e,s=>s.parsers&&Object.prototype.hasOwnProperty.call(s.parsers,t));if(r)return r;let n=`Couldn't resolve parser "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new Er(n)}function fi(e,t){if(!t)throw new Error("astFormat is required.");let r=Br(false,e,s=>s.printers&&Object.prototype.hasOwnProperty.call(s.printers,t));if(r)return r;let n=`Couldn't find plugin for AST format "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new Er(n)}function gt({plugins:e,parser:t}){let r=$r(e,t);return Or(r,t)}function Or(e,t){let r=e.parsers[t];return typeof r=="function"?r():r}function di(e,t){let r=e.printers[t];return typeof r=="function"?r():r}var Ut={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null};async function hi(e,t={}){var r;let n={...e};if(!n.parser)if(n.filepath){if(n.parser=Vs(n,{physicalFile:n.filepath}),!n.parser)throw new Bt(`No parser could be inferred for file "${n.filepath}".`)}else throw new Bt("No parser and no file path given, couldn't infer a parser.");let s=yr({plugins:e.plugins,showDeprecated:true}).options,i={...Ut,...Object.fromEntries(s.filter(p=>p.default!==void 0).map(p=>[p.name,p.default]))},o=$r(n.plugins,n.parser),u=await Or(o,n.parser);n.astFormat=u.astFormat,n.locEnd=u.locEnd,n.locStart=u.locStart;let a=(r=o.printers)!=null&&r[u.astFormat]?o:fi(n.plugins,u.astFormat),l=await di(a,u.astFormat);n.printer=l;let c=a.defaultOptions?Object.fromEntries(Object.entries(a.defaultOptions).filter(([,p])=>p!==void 0)):{},f={...i,...c};for(let[p,d]of Object.entries(f))(n[p]===null||n[p]===void 0)&&(n[p]=d);return n.parser==="json"&&(n.trailingComma="none"),pi(n,s,{passThrough:Object.keys(Ut),...t})}var ce=hi,mi=Qr(rn());async function gi(e,t){let r=await gt(t),n=r.preprocess?r.preprocess(e,t):e;t.originalText=n;let s;try{s=await r.parse(n,t,t);}catch(i){Fi(i,e);}return {text:n,ast:s}}function Fi(e,t){let{loc:r}=e;if(r){let n=(0, mi.codeFrameColumns)(t,r,{highlightCode:true});throw e.message+=`
|
|
37
|
-
`+n,e.codeFrame=n,e}throw e}var Fe=gi;async function Ci(e,t,r,n,s){let{embeddedLanguageFormatting:i,printer:{embed:o,hasPrettierIgnore:u=()=>false,getVisitorKeys:a}}=r;if(!o||i!=="auto")return;if(o.length>2)throw new Error("printer.embed has too many parameters. The API changed in Prettier v3. Please update your plugin. See https://prettier.io/docs/plugins#optional-embed");let l=Ie(o.getVisitorKeys??a),c=[];d();let f=e.stack;for(let{print:D,node:h,pathStack:m}of c)try{e.stack=m;let g=await D(p,t,e,r);g&&s.set(h,g);}catch(g){if(globalThis.PRETTIER_DEBUG)throw g}e.stack=f;function p(D,h){return Ei(D,h,r,n)}function d(){let{node:D}=e;if(D===null||typeof D!="object"||u(e))return;for(let m of l(D))Array.isArray(D[m])?e.each(d,m):e.call(d,m);let h=o(e,r);if(h){if(typeof h=="function"){c.push({print:h,node:D,pathStack:[...e.stack]});return}s.set(D,h);}}}async function Ei(e,t,r,n){let s=await ce({...r,...t,parentParser:r.parser,originalText:e,cursorOffset:void 0,rangeStart:void 0,rangeEnd:void 0},{passThrough:true}),{ast:i}=await Fe(e,s),o=await n(i,s);return sr(o)}function yi(e,t){let{originalText:r,[Symbol.for("comments")]:n,locStart:s,locEnd:i,[Symbol.for("printedComments")]:o}=t,{node:u}=e,a=s(u),l=i(u);for(let c of n)s(c)>=a&&i(c)<=l&&o.add(c);return r.slice(a,l)}var vi=yi;async function je(e,t){({ast:e}=await
|
|
36
|
+
`,1)[0].length);return s>t&&s>i?n:r}var He=[],jt=[];function Is(e,t){if(e===t)return 0;let r=e;e.length>t.length&&(e=t,t=r);let n=e.length,s=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-s);)n--,s--;let i=0;for(;i<n&&e.charCodeAt(i)===t.charCodeAt(i);)i++;if(n-=i,s-=i,n===0)return s;let o,u,a,l,c=0,f=0;for(;c<n;)jt[c]=e.charCodeAt(i+c),He[c]=++c;for(;f<s;)for(o=t.charCodeAt(i+f),a=f++,u=f,c=0;c<n;c++)l=o===jt[c]?a:a+1,a=He[c],u=He[c]=a>u?l>u?u+1:l:l>a?a+1:l;return u}var wr=(e,t,{descriptor:r,logger:n,schemas:s})=>{let i=[`Ignored unknown option ${P.yellow(r.pair({key:e,value:t}))}.`],o=Object.keys(s).sort().find(u=>Is(e,u)<3);o&&i.push(`Did you mean ${P.blue(r.key(o))}?`),n.warn(i.join(" "));},js=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];function Gs(e,t){let r=new e(t),n=Object.create(r);for(let s of js)s in t&&(n[s]=_s(t[s],r,H.prototype[s].length));return n}var H=class{static create(e){return Gs(this,e)}constructor(e){this.name=e.name;}default(e){}expected(e){return "nothing"}validate(e,t){return false}deprecated(e,t){return false}forward(e,t){}redirect(e,t){}overlap(e,t,r){return e}preprocess(e,t){return e}postprocess(e,t){return Ne}};function _s(e,t,r){return typeof e=="function"?(...n)=>e(...n.slice(0,r-1),t,...n.slice(r-1)):()=>e}var Ms=class extends H{constructor(e){super(e),this._sourceName=e.sourceName;}expected(e){return e.schemas[this._sourceName].expected(e)}validate(e,t){return t.schemas[this._sourceName].validate(e,t)}redirect(e,t){return this._sourceName}},Ls=class extends H{expected(){return "anything"}validate(){return true}},zs=class extends H{constructor({valueSchema:e,name:t=e.name,...r}){super({...r,name:t}),this._valueSchema=e;}expected(e){let{text:t,list:r}=e.normalizeExpectedResult(this._valueSchema.expected(e));return {text:t&&`an array of ${t}`,list:r&&{title:"an array of the following values",values:[{list:r}]}}}validate(e,t){if(!Array.isArray(e))return false;let r=[];for(let n of e){let s=t.normalizeValidateResult(this._valueSchema.validate(n,t),n);s!==true&&r.push(s.value);}return r.length===0?true:{value:r}}deprecated(e,t){let r=[];for(let n of e){let s=t.normalizeDeprecatedResult(this._valueSchema.deprecated(n,t),n);s!==false&&r.push(...s.map(({value:i})=>({value:[i]})));}return r}forward(e,t){let r=[];for(let n of e){let s=t.normalizeForwardResult(this._valueSchema.forward(n,t),n);r.push(...s.map(Gt));}return r}redirect(e,t){let r=[],n=[];for(let s of e){let i=t.normalizeRedirectResult(this._valueSchema.redirect(s,t),s);"remain"in i&&r.push(i.remain),n.push(...i.redirect.map(Gt));}return r.length===0?{redirect:n}:{redirect:n,remain:r}}overlap(e,t){return e.concat(t)}};function Gt({from:e,to:t}){return {from:[e],to:t}}var Js=class extends H{expected(){return "true or false"}validate(e){return typeof e=="boolean"}};function qs(e,t){let r=Object.create(null);for(let n of e){let s=n[t];if(r[s])throw new Error(`Duplicate ${t} ${JSON.stringify(s)}`);r[s]=n;}return r}function Us(e,t){let r=new Map;for(let n of e){let s=n[t];if(r.has(s))throw new Error(`Duplicate ${t} ${JSON.stringify(s)}`);r.set(s,n);}return r}function Hs(){let e=Object.create(null);return t=>{let r=JSON.stringify(t);return e[r]?true:(e[r]=true,false)}}function Zs(e,t){let r=[],n=[];for(let s of e)t(s)?r.push(s):n.push(s);return [r,n]}function Ks(e){return e===Math.floor(e)}function Xs(e,t){if(e===t)return 0;let r=typeof e,n=typeof t,s=["undefined","object","boolean","number","string"];return r!==n?s.indexOf(r)-s.indexOf(n):r!=="string"?Number(e)-Number(t):e.localeCompare(t)}function Ys(e){return (...t)=>{let r=e(...t);return typeof r=="string"?new Error(r):r}}function _t(e){return e===void 0?{}:e}function Ar(e){if(typeof e=="string")return {text:e};let{text:t,list:r}=e;return Qs((t||r)!==void 0,"Unexpected `expected` result, there should be at least one field."),r?{text:t,list:{title:r.title,values:r.values.map(Ar)}}:{text:t}}function Mt(e,t){return e===true?true:e===false?{value:t}:e}function Lt(e,t,r=false){return e===false?false:e===true?r?true:[{value:t}]:"value"in e?[e]:e.length===0?false:e}function zt(e,t){return typeof e=="string"||"key"in e?{from:t,to:e}:"from"in e?{from:e.from,to:e.to}:{from:t,to:e.to}}function nt(e,t){return e===void 0?[]:Array.isArray(e)?e.map(r=>zt(r,t)):[zt(e,t)]}function Jt(e,t){let r=nt(typeof e=="object"&&"redirect"in e?e.redirect:e,t);return r.length===0?{remain:t,redirect:r}:typeof e=="object"&&"remain"in e?{remain:e.remain,redirect:r}:{redirect:r}}function Qs(e,t){if(!e)throw new Error(t)}var ei=class extends H{constructor(e){super(e),this._choices=Us(e.choices.map(t=>t&&typeof t=="object"?t:{value:t}),"value");}expected({descriptor:e}){let t=Array.from(this._choices.keys()).map(s=>this._choices.get(s)).filter(({hidden:s})=>!s).map(s=>s.value).sort(Xs).map(e.value),r=t.slice(0,-2),n=t.slice(-2);return {text:r.concat(n.join(" or ")).join(", "),list:{title:"one of the following values",values:t}}}validate(e){return this._choices.has(e)}deprecated(e){let t=this._choices.get(e);return t&&t.deprecated?{value:e}:false}forward(e){let t=this._choices.get(e);return t?t.forward:void 0}redirect(e){let t=this._choices.get(e);return t?t.redirect:void 0}},ti=class extends H{expected(){return "a number"}validate(e,t){return typeof e=="number"}},ri=class extends ti{expected(){return "an integer"}validate(e,t){return t.normalizeValidateResult(super.validate(e,t),e)===true&&Ks(e)}},qt=class extends H{expected(){return "a string"}validate(e){return typeof e=="string"}},ni=ue,si=wr,ii=Rs,oi=Ws,ui=class{constructor(e,t){let{logger:r=console,loggerPrintWidth:n=80,descriptor:s=ni,unknown:i=si,invalid:o=ii,deprecated:u=oi,missing:a=()=>false,required:l=()=>false,preprocess:c=p=>p,postprocess:f=()=>Ne}=t||{};this._utils={descriptor:s,logger:r||{warn:()=>{}},loggerPrintWidth:n,schemas:qs(e,"name"),normalizeDefaultResult:_t,normalizeExpectedResult:Ar,normalizeDeprecatedResult:Lt,normalizeForwardResult:nt,normalizeRedirectResult:Jt,normalizeValidateResult:Mt},this._unknownHandler=i,this._invalidHandler=Ys(o),this._deprecatedHandler=u,this._identifyMissing=(p,d)=>!(p in d)||a(p,d),this._identifyRequired=l,this._preprocess=c,this._postprocess=f,this.cleanHistory();}cleanHistory(){this._hasDeprecationWarned=Hs();}normalize(e){let t={},r=[this._preprocess(e,this._utils)],n=()=>{for(;r.length!==0;){let s=r.shift(),i=this._applyNormalization(s,t);r.push(...i);}};n();for(let s of Object.keys(this._utils.schemas)){let i=this._utils.schemas[s];if(!(s in t)){let o=_t(i.default(this._utils));"value"in o&&r.push({[s]:o.value});}}n();for(let s of Object.keys(this._utils.schemas)){if(!(s in t))continue;let i=this._utils.schemas[s],o=t[s],u=i.postprocess(o,this._utils);u!==Ne&&(this._applyValidation(u,s,i),t[s]=u);}return this._applyPostprocess(t),this._applyRequiredCheck(t),t}_applyNormalization(e,t){let r=[],{knownKeys:n,unknownKeys:s}=this._partitionOptionKeys(e);for(let i of n){let o=this._utils.schemas[i],u=o.preprocess(e[i],this._utils);this._applyValidation(u,i,o);let a=({from:f,to:p})=>{r.push(typeof p=="string"?{[p]:f}:{[p.key]:p.value});},l=({value:f,redirectTo:p})=>{let d=Lt(o.deprecated(f,this._utils),u,true);if(d!==false)if(d===true)this._hasDeprecationWarned(i)||this._utils.logger.warn(this._deprecatedHandler(i,p,this._utils));else for(let{value:D}of d){let h={key:i,value:D};if(!this._hasDeprecationWarned(h)){let m=typeof p=="string"?{key:p,value:D}:p;this._utils.logger.warn(this._deprecatedHandler(h,m,this._utils));}}};nt(o.forward(u,this._utils),u).forEach(a);let c=Jt(o.redirect(u,this._utils),u);if(c.redirect.forEach(a),"remain"in c){let f=c.remain;t[i]=i in t?o.overlap(t[i],f,this._utils):f,l({value:f});}for(let{from:f,to:p}of c.redirect)l({value:f,redirectTo:p});}for(let i of s){let o=e[i];this._applyUnknownHandler(i,o,t,(u,a)=>{r.push({[u]:a});});}return r}_applyRequiredCheck(e){for(let t of Object.keys(this._utils.schemas))if(this._identifyMissing(t,e)&&this._identifyRequired(t))throw this._invalidHandler(t,Sr,this._utils)}_partitionOptionKeys(e){let[t,r]=Zs(Object.keys(e).filter(n=>!this._identifyMissing(n,e)),n=>n in this._utils.schemas);return {knownKeys:t,unknownKeys:r}}_applyValidation(e,t,r){let n=Mt(r.validate(e,this._utils),e);if(n!==true)throw this._invalidHandler(t,n.value,this._utils)}_applyUnknownHandler(e,t,r,n){let s=this._unknownHandler(e,t,this._utils);if(s)for(let i of Object.keys(s)){if(this._identifyMissing(i,s))continue;let o=s[i];i in this._utils.schemas?n(i,o):r[i]=o;}}_applyPostprocess(e){let t=this._postprocess(e,this._utils);if(t!==Ne){if(t.delete)for(let r of t.delete)delete e[r];if(t.override){let{knownKeys:r,unknownKeys:n}=this._partitionOptionKeys(t.override);for(let s of r){let i=t.override[s];this._applyValidation(i,s,this._utils.schemas[s]),e[s]=i;}for(let s of n){let i=t.override[s];this._applyUnknownHandler(s,i,e,(o,u)=>{let a=this._utils.schemas[o];this._applyValidation(u,o,a),e[o]=u;});}}}}},Ze;function ai(e,t,{logger:r=false,isCLI:n=false,passThrough:s=false,FlagSchema:i,descriptor:o}={}){if(n){if(!i)throw new Error("'FlagSchema' option is required.");if(!o)throw new Error("'descriptor' option is required.")}else o=ue;let u=s?Array.isArray(s)?(p,d)=>s.includes(p)?{[p]:d}:void 0:(p,d)=>({[p]:d}):(p,d,D)=>{let{_:h,...m}=D.schemas;return wr(p,d,{...D,schemas:m})},a=li(t,{isCLI:n,FlagSchema:i}),l=new ui(a,{logger:r,unknown:u,descriptor:o}),c=r!==false;c&&Ze&&(l._hasDeprecationWarned=Ze);let f=l.normalize(e);return c&&(Ze=l._hasDeprecationWarned),f}function li(e,{isCLI:t,FlagSchema:r}){let n=[];t&&n.push(Ls.create({name:"_"}));for(let s of e)n.push(ci(s,{isCLI:t,optionInfos:e,FlagSchema:r})),s.alias&&t&&n.push(Ms.create({name:s.alias,sourceName:s.name}));return n}function ci(e,{isCLI:t,optionInfos:r,FlagSchema:n}){let{name:s}=e,i={name:s},o,u={};switch(e.type){case "int":o=ri,t&&(i.preprocess=Number);break;case "string":o=qt;break;case "choice":o=ei,i.choices=e.choices.map(a=>a!=null&&a.redirect?{...a,redirect:{to:{key:e.name,value:a.redirect}}}:a);break;case "boolean":o=Js;break;case "flag":o=n,i.flags=r.flatMap(a=>[a.alias,a.description&&a.name,a.oppositeDescription&&`no-${a.name}`].filter(Boolean));break;case "path":o=qt;break;default:throw new Error(`Unexpected type ${e.type}`)}if(e.exception?i.validate=(a,l,c)=>e.exception(a)||l.validate(a,c):i.validate=(a,l,c)=>a===void 0||l.validate(a,c),e.redirect&&(u.redirect=a=>a?{to:typeof e.redirect=="string"?e.redirect:{key:e.redirect.option,value:e.redirect.value}}:void 0),e.deprecated&&(u.deprecated=true),t&&!e.array){let a=i.preprocess||(l=>l);i.preprocess=(l,c,f)=>c.preprocess(a(Array.isArray(l)?x(false,l,-1):l),f);}return e.array?zs.create({...t?{preprocess:a=>Array.isArray(a)?a:[a]}:{},...u,valueSchema:o.create(i)}):o.create({...i,...u})}var pi=ai,Di=(e,t,r)=>{if(!(e&&t==null)){if(t.findLast)return t.findLast(r);for(let n=t.length-1;n>=0;n--){let s=t[n];if(r(s,n,t))return s}}},Br=Di;function $r(e,t){if(!t)throw new Error("parserName is required.");let r=Br(false,e,s=>s.parsers&&Object.prototype.hasOwnProperty.call(s.parsers,t));if(r)return r;let n=`Couldn't resolve parser "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new Er(n)}function fi(e,t){if(!t)throw new Error("astFormat is required.");let r=Br(false,e,s=>s.printers&&Object.prototype.hasOwnProperty.call(s.printers,t));if(r)return r;let n=`Couldn't find plugin for AST format "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new Er(n)}function gt({plugins:e,parser:t}){let r=$r(e,t);return Nr(r,t)}function Nr(e,t){let r=e.parsers[t];return typeof r=="function"?r():r}function di(e,t){let r=e.printers[t];return typeof r=="function"?r():r}var Ut={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null};async function hi(e,t={}){var r;let n={...e};if(!n.parser)if(n.filepath){if(n.parser=Vs(n,{physicalFile:n.filepath}),!n.parser)throw new Bt(`No parser could be inferred for file "${n.filepath}".`)}else throw new Bt("No parser and no file path given, couldn't infer a parser.");let s=yr({plugins:e.plugins,showDeprecated:true}).options,i={...Ut,...Object.fromEntries(s.filter(p=>p.default!==void 0).map(p=>[p.name,p.default]))},o=$r(n.plugins,n.parser),u=await Nr(o,n.parser);n.astFormat=u.astFormat,n.locEnd=u.locEnd,n.locStart=u.locStart;let a=(r=o.printers)!=null&&r[u.astFormat]?o:fi(n.plugins,u.astFormat),l=await di(a,u.astFormat);n.printer=l;let c=a.defaultOptions?Object.fromEntries(Object.entries(a.defaultOptions).filter(([,p])=>p!==void 0)):{},f={...i,...c};for(let[p,d]of Object.entries(f))(n[p]===null||n[p]===void 0)&&(n[p]=d);return n.parser==="json"&&(n.trailingComma="none"),pi(n,s,{passThrough:Object.keys(Ut),...t})}var ce=hi,mi=Qr(rn());async function gi(e,t){let r=await gt(t),n=r.preprocess?r.preprocess(e,t):e;t.originalText=n;let s;try{s=await r.parse(n,t,t);}catch(i){Fi(i,e);}return {text:n,ast:s}}function Fi(e,t){let{loc:r}=e;if(r){let n=(0, mi.codeFrameColumns)(t,r,{highlightCode:true});throw e.message+=`
|
|
37
|
+
`+n,e.codeFrame=n,e}throw e}var Fe=gi;async function Ci(e,t,r,n,s){let{embeddedLanguageFormatting:i,printer:{embed:o,hasPrettierIgnore:u=()=>false,getVisitorKeys:a}}=r;if(!o||i!=="auto")return;if(o.length>2)throw new Error("printer.embed has too many parameters. The API changed in Prettier v3. Please update your plugin. See https://prettier.io/docs/plugins#optional-embed");let l=Ie(o.getVisitorKeys??a),c=[];d();let f=e.stack;for(let{print:D,node:h,pathStack:m}of c)try{e.stack=m;let g=await D(p,t,e,r);g&&s.set(h,g);}catch(g){if(globalThis.PRETTIER_DEBUG)throw g}e.stack=f;function p(D,h){return Ei(D,h,r,n)}function d(){let{node:D}=e;if(D===null||typeof D!="object"||u(e))return;for(let m of l(D))Array.isArray(D[m])?e.each(d,m):e.call(d,m);let h=o(e,r);if(h){if(typeof h=="function"){c.push({print:h,node:D,pathStack:[...e.stack]});return}s.set(D,h);}}}async function Ei(e,t,r,n){let s=await ce({...r,...t,parentParser:r.parser,originalText:e,cursorOffset:void 0,rangeStart:void 0,rangeEnd:void 0},{passThrough:true}),{ast:i}=await Fe(e,s),o=await n(i,s);return sr(o)}function yi(e,t){let{originalText:r,[Symbol.for("comments")]:n,locStart:s,locEnd:i,[Symbol.for("printedComments")]:o}=t,{node:u}=e,a=s(u),l=i(u);for(let c of n)s(c)>=a&&i(c)<=l&&o.add(c);return r.slice(a,l)}var vi=yi;async function je(e,t){({ast:e}=await Or(e,t));let r=new Map,n=new Yn(e),i=new Map;await Ci(n,u,t,je,i);let o=await Ht(n,t,u,void 0,i);if(Cs(t),t.cursorOffset>=0){if(t.nodeAfterCursor&&!t.nodeBeforeCursor)return [Q,o];if(t.nodeBeforeCursor&&!t.nodeAfterCursor)return [o,Q]}return o;function u(l,c){return l===void 0||l===n?a(c):Array.isArray(l)?n.call(()=>a(c),...l):n.call(()=>a(c),l)}function a(l){let c=n.node;if(c==null)return "";let f=c&&typeof c=="object"&&l===void 0;if(f&&r.has(c))return r.get(c);let p=Ht(n,t,u,l,i);return f&&r.set(c,p),p}}function Ht(e,t,r,n,s){var i;let{node:o}=e,{printer:u}=t,a;switch((i=u.hasPrettierIgnore)!=null&&i.call(u,e)?a=vi(e,t):s.has(o)?a=s.get(o):a=u.print(e,t,r,n),o){case t.cursorNode:a=Be(a,l=>[Q,l,Q]);break;case t.nodeBeforeCursor:a=Be(a,l=>[l,Q]);break;case t.nodeAfterCursor:a=Be(a,l=>[Q,l]);break}return u.printComment&&(!u.willPrintOwnComments||!u.willPrintOwnComments(e,t))&&(a=Fs(e,a,t)),a}async function Or(e,t){let r=e.comments??[];t[Symbol.for("comments")]=r,t[Symbol.for("printedComments")]=new Set,ps(e,t);let{printer:{preprocess:n}}=t;return e=n?await n(e,t):e,{ast:e,comments:r}}function bi(e,t){let{cursorOffset:r,locStart:n,locEnd:s}=t,i=Ie(t.printer.getVisitorKeys),o=d=>n(d)<=r&&s(d)>=r,u=e,a=[e];for(let d of ts(e,{getVisitorKeys:i,filter:o}))a.push(d),u=d;if(rs(u,{getVisitorKeys:i}))return {cursorNode:u};let l,c,f=-1,p=Number.POSITIVE_INFINITY;for(;a.length>0&&(l===void 0||c===void 0);){u=a.pop();let d=l!==void 0,D=c!==void 0;for(let h of Re(u,{getVisitorKeys:i})){if(!d){let m=s(h);m<=r&&m>f&&(l=h,f=m);}if(!D){let m=n(h);m>=r&&m<p&&(c=h,p=m);}}}return {nodeBeforeCursor:l,nodeAfterCursor:c}}var Pr=bi;function Si(e,t){let{printer:{massageAstNode:r,getVisitorKeys:n}}=t;if(!r)return e;let s=Ie(n),i=r.ignoredProperties??new Set;return o(e);function o(u,a){if(!(u!==null&&typeof u=="object"))return u;if(Array.isArray(u))return u.map(p=>o(p,a)).filter(Boolean);let l={},c=new Set(s(u));for(let p in u)!Object.prototype.hasOwnProperty.call(u,p)||i.has(p)||(c.has(p)?l[p]=o(u[p],u):l[p]=u[p]);let f=r(u,l,a);if(f!==null)return f??l}}var xi=Si,ki=(e,t,r)=>{if(!(e&&t==null)){if(t.findLastIndex)return t.findLastIndex(r);for(let n=t.length-1;n>=0;n--){let s=t[n];if(r(s,n,t))return n}return -1}},wi=ki,Ai=({parser:e})=>e==="json"||e==="json5"||e==="jsonc"||e==="json-stringify";function Bi(e,t){let r=[e.node,...e.parentNodes],n=new Set([t.node,...t.parentNodes]);return r.find(s=>Tr.has(s.type)&&n.has(s))}function Zt(e){let t=wi(false,e,r=>r.type!=="Program"&&r.type!=="File");return t===-1?e:e.slice(0,t+1)}function $i(e,t,{locStart:r,locEnd:n}){let s=e.node,i=t.node;if(s===i)return {startNode:s,endNode:i};let o=r(e.node);for(let a of Zt(t.parentNodes))if(r(a)>=o)i=a;else break;let u=n(t.node);for(let a of Zt(e.parentNodes)){if(n(a)<=u)s=a;else break;if(s===i)break}return {startNode:s,endNode:i}}function st(e,t,r,n,s=[],i){let{locStart:o,locEnd:u}=r,a=o(e),l=u(e);if(!(t>l||t<a||i==="rangeEnd"&&t===a||i==="rangeStart"&&t===l)){for(let c of ht(e,r)){let f=st(c,t,r,n,[e,...s],i);if(f)return f}if(!n||n(e,s[0]))return {node:e,parentNodes:s}}}function Ni(e,t){return t!=="DeclareExportDeclaration"&&e!=="TypeParameterDeclaration"&&(e==="Directive"||e==="TypeAlias"||e==="TSExportAssignment"||e.startsWith("Declare")||e.startsWith("TSDeclare")||e.endsWith("Statement")||e.endsWith("Declaration"))}var Tr=new Set(["JsonRoot","ObjectExpression","ArrayExpression","StringLiteral","NumericLiteral","BooleanLiteral","NullLiteral","UnaryExpression","TemplateLiteral"]),Oi=new Set(["OperationDefinition","FragmentDefinition","VariableDefinition","TypeExtensionDefinition","ObjectTypeDefinition","FieldDefinition","DirectiveDefinition","EnumTypeDefinition","EnumValueDefinition","InputValueDefinition","InputObjectTypeDefinition","SchemaDefinition","OperationTypeDefinition","InterfaceTypeDefinition","UnionTypeDefinition","ScalarTypeDefinition"]);function Kt(e,t,r){if(!t)return false;switch(e.parser){case "flow":case "hermes":case "babel":case "babel-flow":case "babel-ts":case "typescript":case "acorn":case "espree":case "meriyah":case "oxc":case "oxc-ts":case "__babel_estree":return Ni(t.type,r?.type);case "json":case "json5":case "jsonc":case "json-stringify":return Tr.has(t.type);case "graphql":return Oi.has(t.kind);case "vue":return t.tag!=="root"}return false}function Pi(e,t,r){let{rangeStart:n,rangeEnd:s,locStart:i,locEnd:o}=t;rt.ok(s>n);let u=e.slice(n,s).search(/\S/u),a=u===-1;if(!a)for(n+=u;s>n&&!/\S/u.test(e[s-1]);--s);let l=st(r,n,t,(d,D)=>Kt(t,d,D),[],"rangeStart"),c=a?l:st(r,s,t,d=>Kt(t,d),[],"rangeEnd");if(!l||!c)return {rangeStart:0,rangeEnd:0};let f,p;if(Ai(t)){let d=Bi(l,c);f=d,p=d;}else ({startNode:f,endNode:p}=$i(l,c,t));return {rangeStart:Math.min(i(f),i(p)),rangeEnd:Math.max(o(f),o(p))}}var Vr="\uFEFF",Xt=Symbol("cursor");async function Wr(e,t,r=0){if(!e||e.trim().length===0)return {formatted:"",cursorOffset:-1,comments:[]};let{ast:n,text:s}=await Fe(e,t);t.cursorOffset>=0&&(t={...t,...Pr(n,t)});let i=await je(n,t);r>0&&(i=pr([ee,i],r,t.tabWidth));let o=We(i,t);if(r>0){let a=o.formatted.trim();o.cursorNodeStart!==void 0&&(o.cursorNodeStart-=o.formatted.indexOf(a),o.cursorNodeStart<0&&(o.cursorNodeStart=0,o.cursorNodeText=o.cursorNodeText.trimStart()),o.cursorNodeStart+o.cursorNodeText.length>a.length&&(o.cursorNodeText=o.cursorNodeText.trimEnd())),o.formatted=a+ut(t.endOfLine);}let u=t[Symbol.for("comments")];if(t.cursorOffset>=0){let a,l,c,f;if((t.cursorNode||t.nodeBeforeCursor||t.nodeAfterCursor)&&o.cursorNodeText)if(c=o.cursorNodeStart,f=o.cursorNodeText,t.cursorNode)a=t.locStart(t.cursorNode),l=s.slice(a,t.locEnd(t.cursorNode));else {if(!t.nodeBeforeCursor&&!t.nodeAfterCursor)throw new Error("Cursor location must contain at least one of cursorNode, nodeBeforeCursor, nodeAfterCursor");a=t.nodeBeforeCursor?t.locEnd(t.nodeBeforeCursor):0;let g=t.nodeAfterCursor?t.locStart(t.nodeAfterCursor):s.length;l=s.slice(a,g);}else a=0,l=s,c=0,f=o.formatted;let p=t.cursorOffset-a;if(l===f)return {formatted:o.formatted,cursorOffset:c+p,comments:u};let d=l.split("");d.splice(p,0,Xt);let D=f.split(""),h=ln(d,D),m=c;for(let g of h)if(g.removed){if(g.value.includes(Xt))break}else m+=g.count;return {formatted:o.formatted,cursorOffset:m,comments:u}}return {formatted:o.formatted,cursorOffset:-1,comments:u}}async function Ti(e,t){let{ast:r,text:n}=await Fe(e,t),{rangeStart:s,rangeEnd:i}=Pi(n,t,r),o=n.slice(s,i),u=Math.min(s,n.lastIndexOf(`
|
|
38
38
|
`,s)+1),a=n.slice(u,s).match(/^\s*/u)[0],l=ft(a,t.tabWidth),c=await Wr(o,{...t,rangeStart:0,rangeEnd:Number.POSITIVE_INFINITY,cursorOffset:t.cursorOffset>s&&t.cursorOffset<=i?t.cursorOffset-s:-1,endOfLine:"lf"},l),f=c.formatted.trimEnd(),{cursorOffset:p}=t;p>i?p+=f.length-o.length:c.cursorOffset>=0&&(p=c.cursorOffset+s);let d=n.slice(0,s)+f+n.slice(i);if(t.endOfLine!=="lf"){let D=ut(t.endOfLine);p>=0&&D===`\r
|
|
39
39
|
`&&(p+=rr(d.slice(0,p),`
|
|
40
40
|
`)),d=Pe(false,d,`
|
|
41
41
|
`,D);}return {formatted:d,cursorOffset:p,comments:c.comments}}function Ke(e,t,r){return typeof t!="number"||Number.isNaN(t)||t<0||t>e.length?r:t}function Yt(e,t){let{cursorOffset:r,rangeStart:n,rangeEnd:s}=t;return r=Ke(e,r,-1),n=Ke(e,n,0),s=Ke(e,s,e.length),{...t,cursorOffset:r,rangeStart:n,rangeEnd:s}}function Rr(e,t){let{cursorOffset:r,rangeStart:n,rangeEnd:s,endOfLine:i}=Yt(e,t),o=e.charAt(0)===Vr;if(o&&(e=e.slice(1),r--,n--,s--),i==="auto"&&(i=cn(e)),e.includes("\r")){let u=a=>rr(e.slice(0,Math.max(a,0)),`\r
|
|
42
|
-
`);r-=u(r),n-=u(n),s-=u(s),e=pn(e);}return {hasBOM:o,text:e,options:Yt(e,{...t,cursorOffset:r,rangeStart:n,rangeEnd:s,endOfLine:i})}}async function Qt(e,t){let r=await gt(t);return !r.hasPragma||r.hasPragma(e)}async function Vi(e,t){var r;let n=await gt(t);return (r=n.hasIgnorePragma)==null?void 0:r.call(n,e)}async function Ir(e,t){let{hasBOM:r,text:n,options:s}=Rr(e,await ce(t));if(s.rangeStart>=s.rangeEnd&&n!==""||s.requirePragma&&!await Qt(n,s)||s.checkIgnorePragma&&await Vi(n,s))return {formatted:e,cursorOffset:t.cursorOffset,comments:[]};let i;return s.rangeStart>0||s.rangeEnd<n.length?i=await Ti(n,s):(!s.requirePragma&&s.insertPragma&&s.printer.insertPragma&&!await Qt(n,s)&&(n=s.printer.insertPragma(n)),i=await Wr(n,s)),r&&(i.formatted=Vr+i.formatted,i.cursorOffset>=0&&i.cursorOffset++),i}async function Wi(e,t,r){let{text:n,options:s}=Rr(e,await ce(t)),i=await Fe(n,s);return r&&(r.preprocessForPrint&&(i.ast=await
|
|
43
|
-
`);return r===-1?0:ft(e.slice(r+1).match(/^[\t ]*/u)[0],t)}var Ki=
|
|
42
|
+
`);r-=u(r),n-=u(n),s-=u(s),e=pn(e);}return {hasBOM:o,text:e,options:Yt(e,{...t,cursorOffset:r,rangeStart:n,rangeEnd:s,endOfLine:i})}}async function Qt(e,t){let r=await gt(t);return !r.hasPragma||r.hasPragma(e)}async function Vi(e,t){var r;let n=await gt(t);return (r=n.hasIgnorePragma)==null?void 0:r.call(n,e)}async function Ir(e,t){let{hasBOM:r,text:n,options:s}=Rr(e,await ce(t));if(s.rangeStart>=s.rangeEnd&&n!==""||s.requirePragma&&!await Qt(n,s)||s.checkIgnorePragma&&await Vi(n,s))return {formatted:e,cursorOffset:t.cursorOffset,comments:[]};let i;return s.rangeStart>0||s.rangeEnd<n.length?i=await Ti(n,s):(!s.requirePragma&&s.insertPragma&&s.printer.insertPragma&&!await Qt(n,s)&&(n=s.printer.insertPragma(n)),i=await Wr(n,s)),r&&(i.formatted=Vr+i.formatted,i.cursorOffset>=0&&i.cursorOffset++),i}async function Wi(e,t,r){let{text:n,options:s}=Rr(e,await ce(t)),i=await Fe(n,s);return r&&(r.preprocessForPrint&&(i.ast=await Or(i.ast,s)),r.massage&&(i.ast=xi(i.ast,s))),i}async function Ri(e,t){t=await ce(t);let r=await je(e,t);return We(r,t)}async function Ii(e,t){let r=_n(e),{formatted:n}=await Ir(r,{...t,parser:"__js_expression"});return n}async function ji(e,t){t=await ce(t);let{ast:r}=await Fe(e,t);return t.cursorOffset>=0&&(t={...t,...Pr(r,t)}),je(r,t)}async function Gi(e,t){return We(e,await ce(t))}var jr={};ot(jr,{builders:()=>_i,printer:()=>Mi,utils:()=>Li});var _i={join:cr,line:ar,softline:jn,hardline:ee,literalline:lr,group:or,conditionalGroup:Pn,fill:Tn,lineSuffix:Xe,lineSuffixBoundary:Rn,cursor:Q,breakParent:Ve,ifBreak:Vn,trim:In,indent:Oe,indentIfBreak:Wn,align:le,addAlignmentToDoc:pr,markAsRoot:Nn,dedentToRoot:$n,dedent:On,hardlineWithoutBreakParent:pt,literallineWithoutBreakParent:ur,label:Gn,concat:e=>e},Mi={printDocToString:We},Li={willBreak:En,traverseDoc:at,findInDoc:lt,mapDoc:Te,removeLines:bn,stripTrailingHardline:sr,replaceEndOfLine:kn,canBreak:An},zi="3.6.2",Gr={};ot(Gr,{addDanglingComment:()=>X,addLeadingComment:()=>he,addTrailingComment:()=>me,getAlignmentSize:()=>ft,getIndentSize:()=>Ki,getMaxContinuousCount:()=>Qi,getNextNonSpaceNonCommentCharacter:()=>to,getNextNonSpaceNonCommentCharacterIndex:()=>po,getPreferredQuote:()=>no,getStringWidth:()=>Dt,hasNewline:()=>J,hasNewlineInRange:()=>io,hasSpaces:()=>uo,isNextLineEmpty:()=>mo,isNextLineEmptyAfterIndex:()=>yt,isPreviousLineEmpty:()=>fo,makeString:()=>lo,skip:()=>ge,skipEverythingButNewLine:()=>hr,skipInlineComment:()=>Ft,skipNewline:()=>te,skipSpaces:()=>q,skipToLineEnd:()=>dr,skipTrailingComment:()=>Ct,skipWhitespace:()=>ns});function Ji(e,t){if(t===false)return false;if(e.charAt(t)==="/"&&e.charAt(t+1)==="*"){for(let r=t+2;r<e.length;++r)if(e.charAt(r)==="*"&&e.charAt(r+1)==="/")return r+2}return t}var Ft=Ji;function qi(e,t){return t===false?false:e.charAt(t)==="/"&&e.charAt(t+1)==="/"?hr(e,t):t}var Ct=qi;function Ui(e,t){let r=null,n=t;for(;n!==r;)r=n,n=q(e,n),n=Ft(e,n),n=Ct(e,n),n=te(e,n);return n}var Et=Ui;function Hi(e,t){let r=null,n=t;for(;n!==r;)r=n,n=dr(e,n),n=Ft(e,n),n=q(e,n);return n=Ct(e,n),n=te(e,n),n!==false&&J(e,n)}var yt=Hi;function Zi(e,t){let r=e.lastIndexOf(`
|
|
43
|
+
`);return r===-1?0:ft(e.slice(r+1).match(/^[\t ]*/u)[0],t)}var Ki=Zi;function Xi(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function Yi(e,t){let r=e.match(new RegExp(`(${Xi(t)})+`,"gu"));return r===null?0:r.reduce((n,s)=>Math.max(n,s.length/t.length),0)}var Qi=Yi;function eo(e,t){let r=Et(e,t);return r===false?"":e.charAt(r)}var to=eo,Ae="'",er='"';function ro(e,t){let r=t===true||t===Ae?Ae:er,n=r===Ae?er:Ae,s=0,i=0;for(let o of e)o===r?s++:o===n&&i++;return s>i?n:r}var no=ro;function so(e,t,r){for(let n=t;n<r;++n)if(e.charAt(n)===`
|
|
44
44
|
`)return true;return false}var io=so;function oo(e,t,r={}){return q(e,r.backwards?t-1:t,r)!==t}var uo=oo;function ao(e,t,r){let n=t==='"'?"'":'"',s=Pe(false,e,/\\(.)|(["'])/gsu,(i,o,u)=>o===n?o:u===t?"\\"+u:u||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/u.test(o)?o:"\\"+o));return t+s+t}var lo=ao;function co(e,t,r){return Et(e,r(t))}function po(e,t){return arguments.length===2||typeof t=="number"?Et(e,t):co(...arguments)}function Do(e,t,r){return mt(e,r(t))}function fo(e,t){return arguments.length===2||typeof t=="number"?mt(e,t):Do(...arguments)}function ho(e,t,r){return yt(e,r(t))}function mo(e,t){return arguments.length===2||typeof t=="number"?yt(e,t):ho(...arguments)}function Y(e,t=1){return async(...r)=>{let n=r[t]??{},s=n.plugins??[];return r[t]={...n,plugins:Array.isArray(s)?s:Object.values(s)},e(...r)}}var _r=Y(Ir);async function pe(e,t){let{formatted:r}=await _r(e,{...t,cursorOffset:-1});return r}async function go(e,t){return await pe(e,t)===e}var Fo=Y(yr,0),Co={parse:Y(Wi),formatAST:Y(Ri),formatDoc:Y(Ii),printToDoc:Y(ji),printDocToString:Y(Gi)};var Ge=class extends ie{constructor(r={}){super(r);v(this,"reactOptions");this.reactOptions={...this.options,memo:r.memo??true,forwardRef:r.forwardRef??true,propTypes:r.propTypes??false,defaultProps:r.defaultProps??false,namedExport:r.namedExport??false};}async generate(r){let n=this.getComponentName(),{colorMappings:s,strokeWidthMappings:i,metadata:o}=r,u=this.generateImports(),a=this.generateInterfaces(s,i,o.features),l=this.generateComponent(r),c=this.generateExports(n),f=[u,a,l,c].filter(Boolean).join(`
|
|
45
45
|
|
|
46
46
|
`),p=this.reactOptions.typescript?"tsx":"jsx",d=this.generateFilename(n,p),D;try{D=await pe(f,{parser:p==="tsx"?"typescript":"babel",semi:!0,singleQuote:!0,trailingComma:"es5",tabWidth:2,printWidth:80,bracketSpacing:!0,arrowParens:"avoid"});}catch(h){console.warn("Prettier formatting failed, using unformatted code:",h),D=f;}return {code:D,filename:d,componentName:n,dependencies:this.getDependencies()}}generateImports(){let r=[];if(this.reactOptions.typescript){let n=[];this.reactOptions.forwardRef&&(n.push("Ref"),n.push("forwardRef")),this.reactOptions.memo&&n.push("memo"),n.length>0?r.push(`import React, { ${n.join(", ")} } from 'react';`):r.push("import React from 'react';");}else {let n=[];this.reactOptions.forwardRef&&n.push("forwardRef"),this.reactOptions.memo&&n.push("memo"),n.length>0?r.push(`import React, { ${n.join(", ")} } from 'react';`):r.push("import React from 'react';"),this.reactOptions.propTypes&&r.push("import PropTypes from 'prop-types';");}return r.join(`
|
|
47
|
-
`)}generateInterfaces(r,n,s){return !this.reactOptions.typescript&&!this.reactOptions.propTypes?"":this.reactOptions.typescript?this.generateTypeScriptInterface(r,n,s):this.generatePropTypes(r,n,s)}generateTypeScriptInterface(r,n,s){let i=["title?: string;","titleId?: string;","desc?: string;","descId?: string;","size?: string;"],o=this.generateColorProps(r);o&&i.push(o);let u=this.generateStrokeWidthProps(n);return u&&i.push(u),s.includes("fixed-stroke-width")&&i.push("isFixedStrokeWidth?: boolean;"),`interface ${this.getComponentName()}Props extends React.SVGProps<SVGSVGElement> {
|
|
47
|
+
`)}generateInterfaces(r,n,s){return !this.reactOptions.typescript&&!this.reactOptions.propTypes?"":this.reactOptions.typescript?this.generateTypeScriptInterface(r,n,s):this.generatePropTypes(r,n,s)}generateTypeScriptInterface(r,n,s){let i=["title?: string;","titleId?: string;","desc?: string;","descId?: string;","size?: string | number;"],o=this.generateColorProps(r);o&&i.push(o);let u=this.generateStrokeWidthProps(n);return u&&i.push(u),s.includes("fixed-stroke-width")&&i.push("isFixedStrokeWidth?: boolean;"),`interface ${this.getComponentName()}Props extends React.SVGProps<SVGSVGElement> {
|
|
48
48
|
${i.join(`
|
|
49
49
|
`)}
|
|
50
|
-
}`}generatePropTypes(r,n,s){let i=this.getComponentName(),o=["title: PropTypes.string,","titleId: PropTypes.string,","desc: PropTypes.string,","descId: PropTypes.string,","size: PropTypes.string,","className: PropTypes.string,","style: PropTypes.object,","width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),","height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),"],u=this.generateColorProps(r);u&&o.push(u);let a=this.generateStrokeWidthProps(n);return a&&o.push(a),s.includes("fixed-stroke-width")&&o.push("isFixedStrokeWidth: PropTypes.bool,"),`${i}.propTypes = {
|
|
50
|
+
}`}generatePropTypes(r,n,s){let i=this.getComponentName(),o=["title: PropTypes.string,","titleId: PropTypes.string,","desc: PropTypes.string,","descId: PropTypes.string,","size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),","className: PropTypes.string,","style: PropTypes.object,","width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),","height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),"],u=this.generateColorProps(r);u&&o.push(u);let a=this.generateStrokeWidthProps(n);return a&&o.push(a),s.includes("fixed-stroke-width")&&o.push("isFixedStrokeWidth: PropTypes.bool,"),`${i}.propTypes = {
|
|
51
51
|
${o.join(`
|
|
52
52
|
`)}
|
|
53
|
-
};`}generateComponent(r){let n=this.getComponentName(),{colorMappings:s,strokeWidthMappings:i,metadata:o}=r,u=["title","titleId","desc","descId","size"],a=s.map(S=>S.variableName),l=s.map(S=>`${S.variableName}Class`),c=i.map(S=>S.variableName),f=i.map(S=>`${S.variableName}Class`),p=[...u,...a,...l,...c,...f],d=this.generateColorDefaults(s),D=this.generateStrokeWidthDefaults(i),h='size = "
|
|
53
|
+
};`}generateComponent(r){let n=this.getComponentName(),{colorMappings:s,strokeWidthMappings:i,metadata:o}=r,u=["title","titleId","desc","descId","size"],a=s.map(S=>S.variableName),l=s.map(S=>`${S.variableName}Class`),c=i.map(S=>S.variableName),f=i.map(S=>`${S.variableName}Class`),p=[...u,...a,...l,...c,...f],d=this.generateColorDefaults(s),D=this.generateStrokeWidthDefaults(i),h='size = "24"',m=o.features.includes("fixed-stroke-width")?"isFixedStrokeWidth = true":"",g=[h,d,D,m].filter(Boolean).join(", "),E=g.split(", ").map(S=>S.split(" = ")[0]),y=`{
|
|
54
54
|
${p.filter(S=>!E.includes(S)).join(`,
|
|
55
55
|
`)},
|
|
56
56
|
${g},
|
|
57
57
|
...svgProps
|
|
58
|
-
}`,C=this.generateSvgAttributes(r.ast),b="{title ? <title id={titleId}>{title}</title> : null}",
|
|
59
|
-
`);return `const ${n} = (${y}: ${S}${
|
|
60
|
-
const computedSize =
|
|
58
|
+
}`,C=this.generateSvgAttributes(r.ast),b="{title ? <title id={titleId}>{title}</title> : null}",N="{desc ? <desc id={descId}>{desc}</desc> : null}";if(this.reactOptions.typescript){let S=`${n}Props`,Z=this.reactOptions.forwardRef?", ref: Ref<SVGSVGElement>":"",Me=r.ast.root.children.map(De=>this.elementToJsx(De,1)).join(`
|
|
59
|
+
`);return `const ${n} = (${y}: ${S}${Z}) => {
|
|
60
|
+
const computedSize = {
|
|
61
|
+
width: svgProps.width ?? size,
|
|
62
|
+
height: svgProps.height ?? size
|
|
63
|
+
};
|
|
61
64
|
|
|
62
65
|
return (
|
|
63
66
|
<svg
|
|
@@ -67,18 +70,18 @@ The range will extend backwards to the start of the first line containing the se
|
|
|
67
70
|
{...svgProps}
|
|
68
71
|
>
|
|
69
72
|
${b}
|
|
70
|
-
${
|
|
73
|
+
${N}
|
|
71
74
|
${Me}
|
|
72
75
|
</svg>
|
|
73
76
|
);
|
|
74
|
-
};`}else {let S=r.ast.root.children.map(
|
|
77
|
+
};`}else {let S=r.ast.root.children.map(Z=>this.elementToJsx(Z,1)).join(`
|
|
75
78
|
`);return `const ${n} = (${y}) => {
|
|
76
79
|
const computedSize = size ? { width: size, height: size } : {};
|
|
77
80
|
|
|
78
81
|
return (
|
|
79
82
|
<svg ${C}{...computedSize} {...svgProps}>
|
|
80
83
|
${b}
|
|
81
|
-
${
|
|
84
|
+
${N}
|
|
82
85
|
${S}
|
|
83
86
|
</svg>
|
|
84
87
|
);
|
|
@@ -101,16 +104,16 @@ ${this.vueOptions.scriptSetup?`defineOptions({ inheritAttrs: false });
|
|
|
101
104
|
${i?`<style scoped>
|
|
102
105
|
${i}
|
|
103
106
|
</style>`:""}`}generateJSComponent(r){return this.vueOptions.composition?this.generateCompositionAPI(r):this.generateOptionsAPI(r)}generateTemplate(r){let{ast:n}=r,s=this.generateSvgAttributes(n),i=n.root.children.map(o=>this.elementToVueTemplate(o,2)).join(`
|
|
104
|
-
`);return ` <svg${s} v-bind="$attrs" :width="
|
|
107
|
+
`);return ` <svg${s} v-bind="$attrs" :width="computedWidth" :height="computedHeight">
|
|
105
108
|
<title v-if="props.title" :id="props.titleId">{{ props.title }}</title>
|
|
106
109
|
<desc v-if="props.desc" :id="props.descId">{{ props.desc }}</desc>
|
|
107
110
|
${i}
|
|
108
111
|
</svg>`}elementToVueTemplate(r,n=0){let s=" ".repeat(n),{tag:i,attributes:o,children:u,content:a}=r,l=[],c=[],f="class"in o;if(Object.entries(o).forEach(([D,h])=>{if(D==="vector-effect"&&h==="non-scaling-stroke")l.push(`:vector-effect="props.isFixedStrokeWidth ? 'non-scaling-stroke' : 'none'"`);else if(D==="style"){let m=this.parseStyleStringForVue(h);l.push(`:style="${m}"`);let g=this.extractClassVarsFromStyle(h);c.push(...g);}else if(h.startsWith("{")&&h.endsWith("}")){let m=h.slice(1,-1);if(l.push(`:${D}="props.${m}"`),D==="fill"||D==="stroke"||D==="stroke-width"){let g=`${m}Class`;c.push(`props.${g}`);}}else l.push(`${D}="${h}"`);}),c.length>0){let D=o.class;D?l.push(`:class="[${c.join(", ")}, '${D}']"`):l.push(`:class="[${c.join(", ")}]"`);}else if(f){let D=o.class;D&&l.push(`class="${D}"`);}let p=l.length>0?" "+l.join(" "):"";if(u.length===0&&!a)return `${s}<${i}${p} />`;let d=`${s}<${i}${p}>`;return a&&(d+=a),u.length>0&&(d+=`
|
|
109
112
|
`,d+=u.map(D=>this.elementToVueTemplate(D,n+1)).join(`
|
|
110
113
|
`),d+=`
|
|
111
|
-
`+s),d+=`</${i}>`,d}generateScript(r){return this.vueOptions.scriptSetup?this.generateScriptSetup(r):this.vueOptions.composition?this.generateCompositionAPI(r):this.generateOptionsAPI(r)}generateScriptSetup(r){let{colorMappings:n,strokeWidthMappings:s,metadata:i}=r,o=[];if(this.vueOptions.typescript
|
|
112
|
-
`)}generateCompositionAPI(r){let{colorMappings:n,strokeWidthMappings:s,metadata:i}=r,o=this.getComponentName(),u=[];return u.push("import { defineComponent } from 'vue';"),u.push(""),u.push("export default defineComponent({"),u.push(` name: '${o}',`),u.push(" props: {"),u.push(" title: { type: String, default: '' },"),u.push(" titleId: { type: String, default: '' },"),u.push(" desc: { type: String, default: '' },"),u.push(" descId: { type: String, default: '' },"),u.push(" class: { type: String, default: '' },"),u.push(" style: { type: Object, default: '' },"),u.push(" width: { type: [String, Number], default: '' },"),u.push(" height: { type: [String, Number], default: '' },"),n.forEach(a=>{let l=a.variableName,c=a.originalColor,f=`${l}Class`;u.push(` ${l}: { type: String, default: '${c}' },`),u.push(` ${f}: { type: String, default: "" },`);}),s.forEach(a=>{let l=a.variableName,c=a.originalStrokeWidth,f=`${l}Class`;u.push(` ${l}: { type: [String, Number], default: '${c}' },`),u.push(` ${f}: { type: String, default: "" },`);}),i.features.includes("fixed-stroke-width")&&u.push(" isFixedStrokeWidth: { type: Boolean, default: true },"),u.push(" },"),u.push(" setup() {"),u.push(" return {};"),u.push(" },"),u.push("});"),u.join(`
|
|
113
|
-
`)}generateOptionsAPI(r){let{colorMappings:n,strokeWidthMappings:s,metadata:i}=r,o=this.getComponentName(),u=[];return u.push("export default {"),u.push(` name: '${o}',`),u.push(" props: {"),u.push(" title: { type: String, default: '' },"),u.push(" titleId: { type: String, default: '' },"),u.push(" desc: { type: String, default: '' },"),u.push(" descId: { type: String, default: '' },"),u.push(" class: { type: String, default: '' },"),u.push(" style: { type: Object, default: '' },"),u.push(" width: { type: [String, Number], default: '' },"),u.push(" height: { type: [String, Number], default: '' },"),n.forEach(a=>{let l=a.variableName,c=a.originalColor,f=`${l}Class`;u.push(` ${l}: { type: String, default: '${c}' },`),u.push(` ${f}: { type: String, default: "" },`);}),s.forEach(a=>{let l=a.variableName,c=a.originalStrokeWidth,f=`${l}Class`;u.push(` ${l}: { type: [String, Number], default: '${c}' },`),u.push(` ${f}: { type: String, default: "" },`);}),i.features.includes("fixed-stroke-width")&&u.push(" isFixedStrokeWidth: { type: Boolean, default: true },"),u.push(" },"),u.push("};"),u.join(`
|
|
114
|
+
`+s),d+=`</${i}>`,d}generateScript(r){return this.vueOptions.scriptSetup?this.generateScriptSetup(r):this.vueOptions.composition?this.generateCompositionAPI(r):this.generateOptionsAPI(r)}generateScriptSetup(r){let{colorMappings:n,strokeWidthMappings:s,metadata:i}=r,o=[];if(this.vueOptions.typescript?(o.push('import type { SVGAttributes } from "vue";'),o.push('import { computed } from "vue";'),o.push("")):(o.push('import { computed } from "vue";'),o.push("")),this.vueOptions.typescript){o.push("interface Props extends /* @vue-ignore */ SVGAttributes {"),o.push(" title?: string;"),o.push(" titleId?: string;"),o.push(" desc?: string;"),o.push(" descId?: string;"),o.push(" width?: string | number;"),o.push(" height?: string | number;"),o.push(" size?: string | number;");let u=this.generateColorPropsInterface(n);u&&o.push(u);let a=this.generateStrokeWidthPropsInterface(s);a&&o.push(a),i.features.includes("fixed-stroke-width")&&o.push(" isFixedStrokeWidth?: boolean;"),o.push("}"),o.push(""),o.push("const props = withDefaults(defineProps<Props>(), {");}else o.push("const props = defineProps({"),o.push(" title: { type: String, default: '' },"),o.push(" titleId: { type: String, default: '' },"),o.push(" desc: { type: String, default: '' },"),o.push(" descId: { type: String, default: '' },"),o.push(" class: { type: String, default: '' },"),o.push(" style: { type: Object, default: '' },"),o.push(" width: { type: [String, Number], default: '' },"),o.push(" height: { type: [String, Number], default: '' },"),o.push(' size: { type: [String, Number], default: "24" },');return this.vueOptions.typescript&&o.push(' size: "24",'),n.forEach(u=>{let a=u.variableName,l=u.originalColor,c=`${a}Class`;this.vueOptions.typescript?(o.push(` ${a}: '${l}',`),o.push(` ${c}: "",`)):(o.push(` ${a}: { type: String, default: '${l}' },`),o.push(` ${c}: { type: String, default: "" },`));}),s.forEach(u=>{let a=u.variableName,l=u.originalStrokeWidth,c=`${a}Class`;this.vueOptions.typescript?(o.push(` ${a}: '${l}',`),o.push(` ${c}: "",`)):(o.push(` ${a}: { type: [String, Number], default: '${l}' },`),o.push(` ${c}: { type: String, default: "" },`));}),i.features.includes("fixed-stroke-width")&&(this.vueOptions.typescript?o.push(" isFixedStrokeWidth: true,"):o.push(" isFixedStrokeWidth: { type: Boolean, default: true },")),o.push("});"),o.push(""),o.push("const computedWidth = computed(() => props.width || props.size);"),o.push("const computedHeight = computed(() => props.height || props.size);"),o.join(`
|
|
115
|
+
`)}generateCompositionAPI(r){let{colorMappings:n,strokeWidthMappings:s,metadata:i}=r,o=this.getComponentName(),u=[];return u.push("import { defineComponent, computed } from 'vue';"),u.push(""),u.push("export default defineComponent({"),u.push(` name: '${o}',`),u.push(" props: {"),u.push(" title: { type: String, default: '' },"),u.push(" titleId: { type: String, default: '' },"),u.push(" desc: { type: String, default: '' },"),u.push(" descId: { type: String, default: '' },"),u.push(" class: { type: String, default: '' },"),u.push(" style: { type: Object, default: '' },"),u.push(" width: { type: [String, Number], default: '' },"),u.push(" height: { type: [String, Number], default: '' },"),u.push(' size: { type: [String, Number], default: "24" },'),n.forEach(a=>{let l=a.variableName,c=a.originalColor,f=`${l}Class`;u.push(` ${l}: { type: String, default: '${c}' },`),u.push(` ${f}: { type: String, default: "" },`);}),s.forEach(a=>{let l=a.variableName,c=a.originalStrokeWidth,f=`${l}Class`;u.push(` ${l}: { type: [String, Number], default: '${c}' },`),u.push(` ${f}: { type: String, default: "" },`);}),i.features.includes("fixed-stroke-width")&&u.push(" isFixedStrokeWidth: { type: Boolean, default: true },"),u.push(" },"),u.push(" setup(props) {"),u.push(" const computedWidth = computed(() => props.width || props.size);"),u.push(" const computedHeight = computed(() => props.height || props.size);"),u.push(" return { computedWidth, computedHeight };"),u.push(" },"),u.push("});"),u.join(`
|
|
116
|
+
`)}generateOptionsAPI(r){let{colorMappings:n,strokeWidthMappings:s,metadata:i}=r,o=this.getComponentName(),u=[];return u.push("export default {"),u.push(` name: '${o}',`),u.push(" props: {"),u.push(" title: { type: String, default: '' },"),u.push(" titleId: { type: String, default: '' },"),u.push(" desc: { type: String, default: '' },"),u.push(" descId: { type: String, default: '' },"),u.push(" class: { type: String, default: '' },"),u.push(" style: { type: Object, default: '' },"),u.push(" width: { type: [String, Number], default: '' },"),u.push(" height: { type: [String, Number], default: '' },"),u.push(' size: { type: [String, Number], default: "24" },'),n.forEach(a=>{let l=a.variableName,c=a.originalColor,f=`${l}Class`;u.push(` ${l}: { type: String, default: '${c}' },`),u.push(` ${f}: { type: String, default: "" },`);}),s.forEach(a=>{let l=a.variableName,c=a.originalStrokeWidth,f=`${l}Class`;u.push(` ${l}: { type: [String, Number], default: '${c}' },`),u.push(` ${f}: { type: String, default: "" },`);}),i.features.includes("fixed-stroke-width")&&u.push(" isFixedStrokeWidth: { type: Boolean, default: true },"),u.push(" },"),u.push(" computed: {"),u.push(" computedWidth() {"),u.push(" return this.width || this.size;"),u.push(" },"),u.push(" computedHeight() {"),u.push(" return this.height || this.size;"),u.push(" },"),u.push(" },"),u.push("};"),u.join(`
|
|
114
117
|
`)}generateStyle(){return ""}generateColorPropsInterface(r){return r.length===0?"":r.map(n=>{let s=n.variableName,i=`${s}Class`;return ` ${s}?: string;
|
|
115
118
|
${i}?: string;`}).join(`
|
|
116
119
|
`)}generateStrokeWidthPropsInterface(r){return r.length===0?"":r.map(n=>{let s=n.variableName,i=`${s}Class`;return ` ${s}?: string | number;
|
package/dist/cli.js
CHANGED
|
@@ -101704,7 +101704,7 @@ var ReactGenerator = class extends ComponentGenerator {
|
|
|
101704
101704
|
"titleId?: string;",
|
|
101705
101705
|
"desc?: string;",
|
|
101706
101706
|
"descId?: string;",
|
|
101707
|
-
"size?: string;"
|
|
101707
|
+
"size?: string | number;"
|
|
101708
101708
|
];
|
|
101709
101709
|
const colorProps = this.generateColorProps(colorMappings);
|
|
101710
101710
|
if (colorProps) {
|
|
@@ -101734,7 +101734,7 @@ var ReactGenerator = class extends ComponentGenerator {
|
|
|
101734
101734
|
"titleId: PropTypes.string,",
|
|
101735
101735
|
"desc: PropTypes.string,",
|
|
101736
101736
|
"descId: PropTypes.string,",
|
|
101737
|
-
"size: PropTypes.string,",
|
|
101737
|
+
"size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),",
|
|
101738
101738
|
"className: PropTypes.string,",
|
|
101739
101739
|
"style: PropTypes.object,",
|
|
101740
101740
|
"width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),",
|
|
@@ -101777,7 +101777,7 @@ var ReactGenerator = class extends ComponentGenerator {
|
|
|
101777
101777
|
];
|
|
101778
101778
|
const colorDefaults = this.generateColorDefaults(colorMappings);
|
|
101779
101779
|
const strokeWidthDefaults = this.generateStrokeWidthDefaults(strokeWidthMappings);
|
|
101780
|
-
const sizeDefault = 'size = "
|
|
101780
|
+
const sizeDefault = 'size = "24"';
|
|
101781
101781
|
const isFixedStrokeWidthDefault = metadata.features.includes(
|
|
101782
101782
|
"fixed-stroke-width"
|
|
101783
101783
|
) ? "isFixedStrokeWidth = true" : "";
|
|
@@ -101804,7 +101804,10 @@ var ReactGenerator = class extends ComponentGenerator {
|
|
|
101804
101804
|
const refType = this.reactOptions.forwardRef ? `, ref: Ref<SVGSVGElement>` : "";
|
|
101805
101805
|
const childrenJsx = result.ast.root.children.map((child) => this.elementToJsx(child, 1)).join("\n");
|
|
101806
101806
|
return `const ${componentName} = (${customPropsDestructure}: ${propsType}${refType}) => {
|
|
101807
|
-
const computedSize =
|
|
101807
|
+
const computedSize = {
|
|
101808
|
+
width: svgProps.width ?? size,
|
|
101809
|
+
height: svgProps.height ?? size
|
|
101810
|
+
};
|
|
101808
101811
|
|
|
101809
101812
|
return (
|
|
101810
101813
|
<svg
|
|
@@ -102118,7 +102121,7 @@ ${style}
|
|
|
102118
102121
|
const { ast } = result;
|
|
102119
102122
|
const rootAttributes = this.generateSvgAttributes(ast);
|
|
102120
102123
|
const children = ast.root.children.map((child) => this.elementToVueTemplate(child, 2)).join("\n");
|
|
102121
|
-
return ` <svg${rootAttributes} v-bind="$attrs" :width="
|
|
102124
|
+
return ` <svg${rootAttributes} v-bind="$attrs" :width="computedWidth" :height="computedHeight">
|
|
102122
102125
|
<title v-if="props.title" :id="props.titleId">{{ props.title }}</title>
|
|
102123
102126
|
<desc v-if="props.desc" :id="props.descId">{{ props.desc }}</desc>
|
|
102124
102127
|
${children}
|
|
@@ -102205,6 +102208,10 @@ ${children}
|
|
|
102205
102208
|
const lines = [];
|
|
102206
102209
|
if (this.vueOptions.typescript) {
|
|
102207
102210
|
lines.push('import type { SVGAttributes } from "vue";');
|
|
102211
|
+
lines.push('import { computed } from "vue";');
|
|
102212
|
+
lines.push("");
|
|
102213
|
+
} else {
|
|
102214
|
+
lines.push('import { computed } from "vue";');
|
|
102208
102215
|
lines.push("");
|
|
102209
102216
|
}
|
|
102210
102217
|
if (this.vueOptions.typescript) {
|
|
@@ -102213,7 +102220,9 @@ ${children}
|
|
|
102213
102220
|
lines.push(" titleId?: string;");
|
|
102214
102221
|
lines.push(" desc?: string;");
|
|
102215
102222
|
lines.push(" descId?: string;");
|
|
102216
|
-
lines.push("
|
|
102223
|
+
lines.push(" width?: string | number;");
|
|
102224
|
+
lines.push(" height?: string | number;");
|
|
102225
|
+
lines.push(" size?: string | number;");
|
|
102217
102226
|
const colorProps = this.generateColorPropsInterface(colorMappings);
|
|
102218
102227
|
if (colorProps) {
|
|
102219
102228
|
lines.push(colorProps);
|
|
@@ -102238,10 +102247,10 @@ ${children}
|
|
|
102238
102247
|
lines.push(" style: { type: Object, default: '' },");
|
|
102239
102248
|
lines.push(" width: { type: [String, Number], default: '' },");
|
|
102240
102249
|
lines.push(" height: { type: [String, Number], default: '' },");
|
|
102241
|
-
lines.push(' size: { type: String, default: "
|
|
102250
|
+
lines.push(' size: { type: [String, Number], default: "24" },');
|
|
102242
102251
|
}
|
|
102243
102252
|
if (this.vueOptions.typescript) {
|
|
102244
|
-
lines.push(' size: "
|
|
102253
|
+
lines.push(' size: "24",');
|
|
102245
102254
|
}
|
|
102246
102255
|
colorMappings.forEach((mapping) => {
|
|
102247
102256
|
const propName = mapping.variableName;
|
|
@@ -102279,6 +102288,13 @@ ${children}
|
|
|
102279
102288
|
}
|
|
102280
102289
|
}
|
|
102281
102290
|
lines.push("});");
|
|
102291
|
+
lines.push("");
|
|
102292
|
+
lines.push(
|
|
102293
|
+
"const computedWidth = computed(() => props.width || props.size);"
|
|
102294
|
+
);
|
|
102295
|
+
lines.push(
|
|
102296
|
+
"const computedHeight = computed(() => props.height || props.size);"
|
|
102297
|
+
);
|
|
102282
102298
|
return lines.join("\n");
|
|
102283
102299
|
}
|
|
102284
102300
|
/**
|
|
@@ -102288,7 +102304,7 @@ ${children}
|
|
|
102288
102304
|
const { colorMappings, strokeWidthMappings, metadata } = result;
|
|
102289
102305
|
const componentName = this.getComponentName();
|
|
102290
102306
|
const lines = [];
|
|
102291
|
-
lines.push("import { defineComponent } from 'vue';");
|
|
102307
|
+
lines.push("import { defineComponent, computed } from 'vue';");
|
|
102292
102308
|
lines.push("");
|
|
102293
102309
|
lines.push(`export default defineComponent({`);
|
|
102294
102310
|
lines.push(` name: '${componentName}',`);
|
|
@@ -102301,6 +102317,7 @@ ${children}
|
|
|
102301
102317
|
lines.push(" style: { type: Object, default: '' },");
|
|
102302
102318
|
lines.push(" width: { type: [String, Number], default: '' },");
|
|
102303
102319
|
lines.push(" height: { type: [String, Number], default: '' },");
|
|
102320
|
+
lines.push(' size: { type: [String, Number], default: "24" },');
|
|
102304
102321
|
colorMappings.forEach((mapping) => {
|
|
102305
102322
|
const propName = mapping.variableName;
|
|
102306
102323
|
const defaultValue = mapping.originalColor;
|
|
@@ -102323,8 +102340,14 @@ ${children}
|
|
|
102323
102340
|
lines.push(" isFixedStrokeWidth: { type: Boolean, default: true },");
|
|
102324
102341
|
}
|
|
102325
102342
|
lines.push(" },");
|
|
102326
|
-
lines.push(" setup() {");
|
|
102327
|
-
lines.push(
|
|
102343
|
+
lines.push(" setup(props) {");
|
|
102344
|
+
lines.push(
|
|
102345
|
+
" const computedWidth = computed(() => props.width || props.size);"
|
|
102346
|
+
);
|
|
102347
|
+
lines.push(
|
|
102348
|
+
" const computedHeight = computed(() => props.height || props.size);"
|
|
102349
|
+
);
|
|
102350
|
+
lines.push(" return { computedWidth, computedHeight };");
|
|
102328
102351
|
lines.push(" },");
|
|
102329
102352
|
lines.push("});");
|
|
102330
102353
|
return lines.join("\n");
|
|
@@ -102347,6 +102370,7 @@ ${children}
|
|
|
102347
102370
|
lines.push(" style: { type: Object, default: '' },");
|
|
102348
102371
|
lines.push(" width: { type: [String, Number], default: '' },");
|
|
102349
102372
|
lines.push(" height: { type: [String, Number], default: '' },");
|
|
102373
|
+
lines.push(' size: { type: [String, Number], default: "24" },');
|
|
102350
102374
|
colorMappings.forEach((mapping) => {
|
|
102351
102375
|
const propName = mapping.variableName;
|
|
102352
102376
|
const defaultValue = mapping.originalColor;
|
|
@@ -102369,6 +102393,14 @@ ${children}
|
|
|
102369
102393
|
lines.push(" isFixedStrokeWidth: { type: Boolean, default: true },");
|
|
102370
102394
|
}
|
|
102371
102395
|
lines.push(" },");
|
|
102396
|
+
lines.push(" computed: {");
|
|
102397
|
+
lines.push(" computedWidth() {");
|
|
102398
|
+
lines.push(" return this.width || this.size;");
|
|
102399
|
+
lines.push(" },");
|
|
102400
|
+
lines.push(" computedHeight() {");
|
|
102401
|
+
lines.push(" return this.height || this.size;");
|
|
102402
|
+
lines.push(" },");
|
|
102403
|
+
lines.push(" },");
|
|
102372
102404
|
lines.push("};");
|
|
102373
102405
|
return lines.join("\n");
|
|
102374
102406
|
}
|
package/dist/index.js
CHANGED
|
@@ -574,20 +574,23 @@ node_modules`),!r)return;let i=(0, ror.default)({allowRelativePaths:true}).add(r
|
|
|
574
574
|
`)return true;return false}var Sor=Tor;function For(e,t,r={}){return H4(e,r.backwards?t-1:t,r)!==t}var Por=For;function Nor(e,t,r){let i=t==='"'?"'":'"',o=DN(false,e,/\\(.)|(["'])/gsu,(u,c,l)=>c===i?c:l===t?"\\"+l:l||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/u.test(c)?c:"\\"+c));return t+o+t}var Bor=Nor;function Ior(e,t,r){return yue(e,r(t))}function Oor(e,t){return arguments.length===2||typeof t=="number"?yue(e,t):Ior(...arguments)}function Lor(e,t,r){return pue(e,r(t))}function Ror(e,t){return arguments.length===2||typeof t=="number"?pue(e,t):Lor(...arguments)}function Mor(e,t,r){return gue(e,r(t))}function jor(e,t){return arguments.length===2||typeof t=="number"?gue(e,t):Mor(...arguments)}function V4(e,t=1){return async(...r)=>{let i=r[t]??{},{plugins:a=[]}=i;return r[t]={...i,plugins:(await Promise.all([R9e(),M9e(a)])).flat()},e(...r)}}var U9e=V4(I9e);async function dT(e,t){let{formatted:r}=await U9e(e,{...t,cursorOffset:-1});return r}async function qor(e,t){return await dT(e,t)===e}async function Uor(){gir(),eor();}var $or=V4(_ue,0),Vor=V4((e,t)=>due(t,{physicalFile:e})),Jor={errors:PTe,optionCategories:O9e,createIsIgnoredFunction:j9e,formatOptionsHiddenDefaults:Roe,normalizeOptions:C9e,getSupportInfoWithoutPlugins:_ue,normalizeOptionSettings:D9e,inferParser:(e,t)=>Promise.resolve(t?.parser??Vor(e,t)),vnopts:{ChoiceSchema:FTe,apiDescriptor:EA},fastGlob:ftr.default,createTwoFilesPatch:_tr,picocolors:htr.default,leven:CTe,utils:{omit:lor,createMockable:NTe}},Wor={parse:V4(csr),formatAST:V4(psr),formatDoc:V4(_sr),printToDoc:V4(dsr),printDocToString:V4(fsr),mockable:BTe};var wN=class extends cC{reactOptions;constructor(t={}){super(t),this.reactOptions={...this.options,memo:t.memo??true,forwardRef:t.forwardRef??true,propTypes:t.propTypes??false,defaultProps:t.defaultProps??false,namedExport:t.namedExport??false};}async generate(t){let r=this.getComponentName(),{colorMappings:i,strokeWidthMappings:a,metadata:o}=t,u=this.generateImports(),c=this.generateInterfaces(i,a,o.features),l=this.generateComponent(t),h=this.generateExports(r),p=[u,c,l,h].filter(Boolean).join(`
|
|
575
575
|
|
|
576
576
|
`),f=this.reactOptions.typescript?"tsx":"jsx",v=this.generateFilename(r,f),b;try{b=await dT(p,{parser:f==="tsx"?"typescript":"babel",semi:!0,singleQuote:!0,trailingComma:"es5",tabWidth:2,printWidth:80,bracketSpacing:!0,arrowParens:"avoid"});}catch(C){console.warn("Prettier formatting failed, using unformatted code:",C),b=p;}return {code:b,filename:v,componentName:r,dependencies:this.getDependencies()}}generateImports(){let t=[];if(this.reactOptions.typescript){let r=[];this.reactOptions.forwardRef&&(r.push("Ref"),r.push("forwardRef")),this.reactOptions.memo&&r.push("memo"),r.length>0?t.push(`import React, { ${r.join(", ")} } from 'react';`):t.push("import React from 'react';");}else {let r=[];this.reactOptions.forwardRef&&r.push("forwardRef"),this.reactOptions.memo&&r.push("memo"),r.length>0?t.push(`import React, { ${r.join(", ")} } from 'react';`):t.push("import React from 'react';"),this.reactOptions.propTypes&&t.push("import PropTypes from 'prop-types';");}return t.join(`
|
|
577
|
-
`)}generateInterfaces(t,r,i){return !this.reactOptions.typescript&&!this.reactOptions.propTypes?"":this.reactOptions.typescript?this.generateTypeScriptInterface(t,r,i):this.generatePropTypes(t,r,i)}generateTypeScriptInterface(t,r,i){let a=["title?: string;","titleId?: string;","desc?: string;","descId?: string;","size?: string;"],o=this.generateColorProps(t);o&&a.push(o);let u=this.generateStrokeWidthProps(r);return u&&a.push(u),i.includes("fixed-stroke-width")&&a.push("isFixedStrokeWidth?: boolean;"),`interface ${this.getComponentName()}Props extends React.SVGProps<SVGSVGElement> {
|
|
577
|
+
`)}generateInterfaces(t,r,i){return !this.reactOptions.typescript&&!this.reactOptions.propTypes?"":this.reactOptions.typescript?this.generateTypeScriptInterface(t,r,i):this.generatePropTypes(t,r,i)}generateTypeScriptInterface(t,r,i){let a=["title?: string;","titleId?: string;","desc?: string;","descId?: string;","size?: string | number;"],o=this.generateColorProps(t);o&&a.push(o);let u=this.generateStrokeWidthProps(r);return u&&a.push(u),i.includes("fixed-stroke-width")&&a.push("isFixedStrokeWidth?: boolean;"),`interface ${this.getComponentName()}Props extends React.SVGProps<SVGSVGElement> {
|
|
578
578
|
${a.join(`
|
|
579
579
|
`)}
|
|
580
|
-
}`}generatePropTypes(t,r,i){let a=this.getComponentName(),o=["title: PropTypes.string,","titleId: PropTypes.string,","desc: PropTypes.string,","descId: PropTypes.string,","size: PropTypes.string,","className: PropTypes.string,","style: PropTypes.object,","width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),","height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),"],u=this.generateColorProps(t);u&&o.push(u);let c=this.generateStrokeWidthProps(r);return c&&o.push(c),i.includes("fixed-stroke-width")&&o.push("isFixedStrokeWidth: PropTypes.bool,"),`${a}.propTypes = {
|
|
580
|
+
}`}generatePropTypes(t,r,i){let a=this.getComponentName(),o=["title: PropTypes.string,","titleId: PropTypes.string,","desc: PropTypes.string,","descId: PropTypes.string,","size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),","className: PropTypes.string,","style: PropTypes.object,","width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),","height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),"],u=this.generateColorProps(t);u&&o.push(u);let c=this.generateStrokeWidthProps(r);return c&&o.push(c),i.includes("fixed-stroke-width")&&o.push("isFixedStrokeWidth: PropTypes.bool,"),`${a}.propTypes = {
|
|
581
581
|
${o.join(`
|
|
582
582
|
`)}
|
|
583
|
-
};`}generateComponent(t){let r=this.getComponentName(),{colorMappings:i,strokeWidthMappings:a,metadata:o}=t,u=["title","titleId","desc","descId","size"],c=i.map(L=>L.variableName),l=i.map(L=>`${L.variableName}Class`),h=a.map(L=>L.variableName),p=a.map(L=>`${L.variableName}Class`),f=[...u,...c,...l,...h,...p],v=this.generateColorDefaults(i),b=this.generateStrokeWidthDefaults(a),C='size = "
|
|
583
|
+
};`}generateComponent(t){let r=this.getComponentName(),{colorMappings:i,strokeWidthMappings:a,metadata:o}=t,u=["title","titleId","desc","descId","size"],c=i.map(L=>L.variableName),l=i.map(L=>`${L.variableName}Class`),h=a.map(L=>L.variableName),p=a.map(L=>`${L.variableName}Class`),f=[...u,...c,...l,...h,...p],v=this.generateColorDefaults(i),b=this.generateStrokeWidthDefaults(a),C='size = "24"',P=o.features.includes("fixed-stroke-width")?"isFixedStrokeWidth = true":"",U=[C,v,b,P].filter(Boolean).join(", "),$=U.split(", ").map(L=>L.split(" = ")[0]),T=`{
|
|
584
584
|
${f.filter(L=>!$.includes(L)).join(`,
|
|
585
585
|
`)},
|
|
586
586
|
${U},
|
|
587
587
|
...svgProps
|
|
588
588
|
}`,O=this.generateSvgAttributes(t.ast),F="{title ? <title id={titleId}>{title}</title> : null}",B="{desc ? <desc id={descId}>{desc}</desc> : null}";if(this.reactOptions.typescript){let L=`${r}Props`,q=this.reactOptions.forwardRef?", ref: Ref<SVGSVGElement>":"",H=t.ast.root.children.map(te=>this.elementToJsx(te,1)).join(`
|
|
589
589
|
`);return `const ${r} = (${T}: ${L}${q}) => {
|
|
590
|
-
const computedSize =
|
|
590
|
+
const computedSize = {
|
|
591
|
+
width: svgProps.width ?? size,
|
|
592
|
+
height: svgProps.height ?? size
|
|
593
|
+
};
|
|
591
594
|
|
|
592
595
|
return (
|
|
593
596
|
<svg
|
|
@@ -631,16 +634,16 @@ ${this.vueOptions.scriptSetup?`defineOptions({ inheritAttrs: false });
|
|
|
631
634
|
${a?`<style scoped>
|
|
632
635
|
${a}
|
|
633
636
|
</style>`:""}`}generateJSComponent(t){return this.vueOptions.composition?this.generateCompositionAPI(t):this.generateOptionsAPI(t)}generateTemplate(t){let{ast:r}=t,i=this.generateSvgAttributes(r),a=r.root.children.map(o=>this.elementToVueTemplate(o,2)).join(`
|
|
634
|
-
`);return ` <svg${i} v-bind="$attrs" :width="
|
|
637
|
+
`);return ` <svg${i} v-bind="$attrs" :width="computedWidth" :height="computedHeight">
|
|
635
638
|
<title v-if="props.title" :id="props.titleId">{{ props.title }}</title>
|
|
636
639
|
<desc v-if="props.desc" :id="props.descId">{{ props.desc }}</desc>
|
|
637
640
|
${a}
|
|
638
641
|
</svg>`}elementToVueTemplate(t,r=0){let i=" ".repeat(r),{tag:a,attributes:o,children:u,content:c}=t,l=[],h=[],p="class"in o;if(Object.entries(o).forEach(([b,C])=>{if(b==="vector-effect"&&C==="non-scaling-stroke")l.push(`:vector-effect="props.isFixedStrokeWidth ? 'non-scaling-stroke' : 'none'"`);else if(b==="style"){let P=this.parseStyleStringForVue(C);l.push(`:style="${P}"`);let U=this.extractClassVarsFromStyle(C);h.push(...U);}else if(C.startsWith("{")&&C.endsWith("}")){let P=C.slice(1,-1);if(l.push(`:${b}="props.${P}"`),b==="fill"||b==="stroke"||b==="stroke-width"){let U=`${P}Class`;h.push(`props.${U}`);}}else l.push(`${b}="${C}"`);}),h.length>0){let b=o.class;b?l.push(`:class="[${h.join(", ")}, '${b}']"`):l.push(`:class="[${h.join(", ")}]"`);}else if(p){let b=o.class;b&&l.push(`class="${b}"`);}let f=l.length>0?" "+l.join(" "):"";if(u.length===0&&!c)return `${i}<${a}${f} />`;let v=`${i}<${a}${f}>`;return c&&(v+=c),u.length>0&&(v+=`
|
|
639
642
|
`,v+=u.map(b=>this.elementToVueTemplate(b,r+1)).join(`
|
|
640
643
|
`),v+=`
|
|
641
|
-
`+i),v+=`</${a}>`,v}generateScript(t){return this.vueOptions.scriptSetup?this.generateScriptSetup(t):this.vueOptions.composition?this.generateCompositionAPI(t):this.generateOptionsAPI(t)}generateScriptSetup(t){let{colorMappings:r,strokeWidthMappings:i,metadata:a}=t,o=[];if(this.vueOptions.typescript
|
|
642
|
-
`)}generateCompositionAPI(t){let{colorMappings:r,strokeWidthMappings:i,metadata:a}=t,o=this.getComponentName(),u=[];return u.push("import { defineComponent } from 'vue';"),u.push(""),u.push("export default defineComponent({"),u.push(` name: '${o}',`),u.push(" props: {"),u.push(" title: { type: String, default: '' },"),u.push(" titleId: { type: String, default: '' },"),u.push(" desc: { type: String, default: '' },"),u.push(" descId: { type: String, default: '' },"),u.push(" class: { type: String, default: '' },"),u.push(" style: { type: Object, default: '' },"),u.push(" width: { type: [String, Number], default: '' },"),u.push(" height: { type: [String, Number], default: '' },"),r.forEach(c=>{let l=c.variableName,h=c.originalColor,p=`${l}Class`;u.push(` ${l}: { type: String, default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),i.forEach(c=>{let l=c.variableName,h=c.originalStrokeWidth,p=`${l}Class`;u.push(` ${l}: { type: [String, Number], default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),a.features.includes("fixed-stroke-width")&&u.push(" isFixedStrokeWidth: { type: Boolean, default: true },"),u.push(" },"),u.push(" setup() {"),u.push(" return {};"),u.push(" },"),u.push("});"),u.join(`
|
|
643
|
-
`)}generateOptionsAPI(t){let{colorMappings:r,strokeWidthMappings:i,metadata:a}=t,o=this.getComponentName(),u=[];return u.push("export default {"),u.push(` name: '${o}',`),u.push(" props: {"),u.push(" title: { type: String, default: '' },"),u.push(" titleId: { type: String, default: '' },"),u.push(" desc: { type: String, default: '' },"),u.push(" descId: { type: String, default: '' },"),u.push(" class: { type: String, default: '' },"),u.push(" style: { type: Object, default: '' },"),u.push(" width: { type: [String, Number], default: '' },"),u.push(" height: { type: [String, Number], default: '' },"),r.forEach(c=>{let l=c.variableName,h=c.originalColor,p=`${l}Class`;u.push(` ${l}: { type: String, default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),i.forEach(c=>{let l=c.variableName,h=c.originalStrokeWidth,p=`${l}Class`;u.push(` ${l}: { type: [String, Number], default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),a.features.includes("fixed-stroke-width")&&u.push(" isFixedStrokeWidth: { type: Boolean, default: true },"),u.push(" },"),u.push("};"),u.join(`
|
|
644
|
+
`+i),v+=`</${a}>`,v}generateScript(t){return this.vueOptions.scriptSetup?this.generateScriptSetup(t):this.vueOptions.composition?this.generateCompositionAPI(t):this.generateOptionsAPI(t)}generateScriptSetup(t){let{colorMappings:r,strokeWidthMappings:i,metadata:a}=t,o=[];if(this.vueOptions.typescript?(o.push('import type { SVGAttributes } from "vue";'),o.push('import { computed } from "vue";'),o.push("")):(o.push('import { computed } from "vue";'),o.push("")),this.vueOptions.typescript){o.push("interface Props extends /* @vue-ignore */ SVGAttributes {"),o.push(" title?: string;"),o.push(" titleId?: string;"),o.push(" desc?: string;"),o.push(" descId?: string;"),o.push(" width?: string | number;"),o.push(" height?: string | number;"),o.push(" size?: string | number;");let u=this.generateColorPropsInterface(r);u&&o.push(u);let c=this.generateStrokeWidthPropsInterface(i);c&&o.push(c),a.features.includes("fixed-stroke-width")&&o.push(" isFixedStrokeWidth?: boolean;"),o.push("}"),o.push(""),o.push("const props = withDefaults(defineProps<Props>(), {");}else o.push("const props = defineProps({"),o.push(" title: { type: String, default: '' },"),o.push(" titleId: { type: String, default: '' },"),o.push(" desc: { type: String, default: '' },"),o.push(" descId: { type: String, default: '' },"),o.push(" class: { type: String, default: '' },"),o.push(" style: { type: Object, default: '' },"),o.push(" width: { type: [String, Number], default: '' },"),o.push(" height: { type: [String, Number], default: '' },"),o.push(' size: { type: [String, Number], default: "24" },');return this.vueOptions.typescript&&o.push(' size: "24",'),r.forEach(u=>{let c=u.variableName,l=u.originalColor,h=`${c}Class`;this.vueOptions.typescript?(o.push(` ${c}: '${l}',`),o.push(` ${h}: "",`)):(o.push(` ${c}: { type: String, default: '${l}' },`),o.push(` ${h}: { type: String, default: "" },`));}),i.forEach(u=>{let c=u.variableName,l=u.originalStrokeWidth,h=`${c}Class`;this.vueOptions.typescript?(o.push(` ${c}: '${l}',`),o.push(` ${h}: "",`)):(o.push(` ${c}: { type: [String, Number], default: '${l}' },`),o.push(` ${h}: { type: String, default: "" },`));}),a.features.includes("fixed-stroke-width")&&(this.vueOptions.typescript?o.push(" isFixedStrokeWidth: true,"):o.push(" isFixedStrokeWidth: { type: Boolean, default: true },")),o.push("});"),o.push(""),o.push("const computedWidth = computed(() => props.width || props.size);"),o.push("const computedHeight = computed(() => props.height || props.size);"),o.join(`
|
|
645
|
+
`)}generateCompositionAPI(t){let{colorMappings:r,strokeWidthMappings:i,metadata:a}=t,o=this.getComponentName(),u=[];return u.push("import { defineComponent, computed } from 'vue';"),u.push(""),u.push("export default defineComponent({"),u.push(` name: '${o}',`),u.push(" props: {"),u.push(" title: { type: String, default: '' },"),u.push(" titleId: { type: String, default: '' },"),u.push(" desc: { type: String, default: '' },"),u.push(" descId: { type: String, default: '' },"),u.push(" class: { type: String, default: '' },"),u.push(" style: { type: Object, default: '' },"),u.push(" width: { type: [String, Number], default: '' },"),u.push(" height: { type: [String, Number], default: '' },"),u.push(' size: { type: [String, Number], default: "24" },'),r.forEach(c=>{let l=c.variableName,h=c.originalColor,p=`${l}Class`;u.push(` ${l}: { type: String, default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),i.forEach(c=>{let l=c.variableName,h=c.originalStrokeWidth,p=`${l}Class`;u.push(` ${l}: { type: [String, Number], default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),a.features.includes("fixed-stroke-width")&&u.push(" isFixedStrokeWidth: { type: Boolean, default: true },"),u.push(" },"),u.push(" setup(props) {"),u.push(" const computedWidth = computed(() => props.width || props.size);"),u.push(" const computedHeight = computed(() => props.height || props.size);"),u.push(" return { computedWidth, computedHeight };"),u.push(" },"),u.push("});"),u.join(`
|
|
646
|
+
`)}generateOptionsAPI(t){let{colorMappings:r,strokeWidthMappings:i,metadata:a}=t,o=this.getComponentName(),u=[];return u.push("export default {"),u.push(` name: '${o}',`),u.push(" props: {"),u.push(" title: { type: String, default: '' },"),u.push(" titleId: { type: String, default: '' },"),u.push(" desc: { type: String, default: '' },"),u.push(" descId: { type: String, default: '' },"),u.push(" class: { type: String, default: '' },"),u.push(" style: { type: Object, default: '' },"),u.push(" width: { type: [String, Number], default: '' },"),u.push(" height: { type: [String, Number], default: '' },"),u.push(' size: { type: [String, Number], default: "24" },'),r.forEach(c=>{let l=c.variableName,h=c.originalColor,p=`${l}Class`;u.push(` ${l}: { type: String, default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),i.forEach(c=>{let l=c.variableName,h=c.originalStrokeWidth,p=`${l}Class`;u.push(` ${l}: { type: [String, Number], default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),a.features.includes("fixed-stroke-width")&&u.push(" isFixedStrokeWidth: { type: Boolean, default: true },"),u.push(" },"),u.push(" computed: {"),u.push(" computedWidth() {"),u.push(" return this.width || this.size;"),u.push(" },"),u.push(" computedHeight() {"),u.push(" return this.height || this.size;"),u.push(" },"),u.push(" },"),u.push("};"),u.join(`
|
|
644
647
|
`)}generateStyle(){return ""}generateColorPropsInterface(t){return t.length===0?"":t.map(r=>{let i=r.variableName,a=`${i}Class`;return ` ${i}?: string;
|
|
645
648
|
${a}?: string;`}).join(`
|
|
646
649
|
`)}generateStrokeWidthPropsInterface(t){return t.length===0?"":t.map(r=>{let i=r.variableName,a=`${i}Class`;return ` ${i}?: string | number;
|
package/dist/index.mjs
CHANGED
|
@@ -574,20 +574,23 @@ node_modules`),!r)return;let i=(0, ror.default)({allowRelativePaths:true}).add(r
|
|
|
574
574
|
`)return true;return false}var Sor=Tor;function For(e,t,r={}){return G4(e,r.backwards?t-1:t,r)!==t}var Por=For;function Nor(e,t,r){let i=t==='"'?"'":'"',o=EN(false,e,/\\(.)|(["'])/gsu,(u,c,l)=>c===i?c:l===t?"\\"+l:l||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/u.test(c)?c:"\\"+c));return t+o+t}var Bor=Nor;function Ior(e,t,r){return gue(e,r(t))}function Oor(e,t){return arguments.length===2||typeof t=="number"?gue(e,t):Ior(...arguments)}function Lor(e,t,r){return _ue(e,r(t))}function Ror(e,t){return arguments.length===2||typeof t=="number"?_ue(e,t):Lor(...arguments)}function Mor(e,t,r){return vue(e,r(t))}function jor(e,t){return arguments.length===2||typeof t=="number"?vue(e,t):Mor(...arguments)}function J4(e,t=1){return async(...r)=>{let i=r[t]??{},{plugins:a=[]}=i;return r[t]={...i,plugins:(await Promise.all([M9e(),j9e(a)])).flat()},e(...r)}}var $9e=J4(O9e);async function fT(e,t){let{formatted:r}=await $9e(e,{...t,cursorOffset:-1});return r}async function qor(e,t){return await fT(e,t)===e}async function Uor(){gir(),eor();}var $or=J4(due,0),Vor=J4((e,t)=>fue(t,{physicalFile:e})),Jor={errors:NTe,optionCategories:L9e,createIsIgnoredFunction:q9e,formatOptionsHiddenDefaults:Moe,normalizeOptions:A9e,getSupportInfoWithoutPlugins:due,normalizeOptionSettings:E9e,inferParser:(e,t)=>Promise.resolve(t?.parser??Vor(e,t)),vnopts:{ChoiceSchema:PTe,apiDescriptor:CA},fastGlob:ftr.default,createTwoFilesPatch:_tr,picocolors:htr.default,leven:ATe,utils:{omit:lor,createMockable:BTe}},Wor={parse:J4(csr),formatAST:J4(psr),formatDoc:J4(_sr),printToDoc:J4(dsr),printDocToString:J4(fsr),mockable:ITe};var kN=class extends pC{reactOptions;constructor(t={}){super(t),this.reactOptions={...this.options,memo:t.memo??true,forwardRef:t.forwardRef??true,propTypes:t.propTypes??false,defaultProps:t.defaultProps??false,namedExport:t.namedExport??false};}async generate(t){let r=this.getComponentName(),{colorMappings:i,strokeWidthMappings:a,metadata:o}=t,u=this.generateImports(),c=this.generateInterfaces(i,a,o.features),l=this.generateComponent(t),h=this.generateExports(r),p=[u,c,l,h].filter(Boolean).join(`
|
|
575
575
|
|
|
576
576
|
`),f=this.reactOptions.typescript?"tsx":"jsx",v=this.generateFilename(r,f),b;try{b=await fT(p,{parser:f==="tsx"?"typescript":"babel",semi:!0,singleQuote:!0,trailingComma:"es5",tabWidth:2,printWidth:80,bracketSpacing:!0,arrowParens:"avoid"});}catch(C){console.warn("Prettier formatting failed, using unformatted code:",C),b=p;}return {code:b,filename:v,componentName:r,dependencies:this.getDependencies()}}generateImports(){let t=[];if(this.reactOptions.typescript){let r=[];this.reactOptions.forwardRef&&(r.push("Ref"),r.push("forwardRef")),this.reactOptions.memo&&r.push("memo"),r.length>0?t.push(`import React, { ${r.join(", ")} } from 'react';`):t.push("import React from 'react';");}else {let r=[];this.reactOptions.forwardRef&&r.push("forwardRef"),this.reactOptions.memo&&r.push("memo"),r.length>0?t.push(`import React, { ${r.join(", ")} } from 'react';`):t.push("import React from 'react';"),this.reactOptions.propTypes&&t.push("import PropTypes from 'prop-types';");}return t.join(`
|
|
577
|
-
`)}generateInterfaces(t,r,i){return !this.reactOptions.typescript&&!this.reactOptions.propTypes?"":this.reactOptions.typescript?this.generateTypeScriptInterface(t,r,i):this.generatePropTypes(t,r,i)}generateTypeScriptInterface(t,r,i){let a=["title?: string;","titleId?: string;","desc?: string;","descId?: string;","size?: string;"],o=this.generateColorProps(t);o&&a.push(o);let u=this.generateStrokeWidthProps(r);return u&&a.push(u),i.includes("fixed-stroke-width")&&a.push("isFixedStrokeWidth?: boolean;"),`interface ${this.getComponentName()}Props extends React.SVGProps<SVGSVGElement> {
|
|
577
|
+
`)}generateInterfaces(t,r,i){return !this.reactOptions.typescript&&!this.reactOptions.propTypes?"":this.reactOptions.typescript?this.generateTypeScriptInterface(t,r,i):this.generatePropTypes(t,r,i)}generateTypeScriptInterface(t,r,i){let a=["title?: string;","titleId?: string;","desc?: string;","descId?: string;","size?: string | number;"],o=this.generateColorProps(t);o&&a.push(o);let u=this.generateStrokeWidthProps(r);return u&&a.push(u),i.includes("fixed-stroke-width")&&a.push("isFixedStrokeWidth?: boolean;"),`interface ${this.getComponentName()}Props extends React.SVGProps<SVGSVGElement> {
|
|
578
578
|
${a.join(`
|
|
579
579
|
`)}
|
|
580
|
-
}`}generatePropTypes(t,r,i){let a=this.getComponentName(),o=["title: PropTypes.string,","titleId: PropTypes.string,","desc: PropTypes.string,","descId: PropTypes.string,","size: PropTypes.string,","className: PropTypes.string,","style: PropTypes.object,","width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),","height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),"],u=this.generateColorProps(t);u&&o.push(u);let c=this.generateStrokeWidthProps(r);return c&&o.push(c),i.includes("fixed-stroke-width")&&o.push("isFixedStrokeWidth: PropTypes.bool,"),`${a}.propTypes = {
|
|
580
|
+
}`}generatePropTypes(t,r,i){let a=this.getComponentName(),o=["title: PropTypes.string,","titleId: PropTypes.string,","desc: PropTypes.string,","descId: PropTypes.string,","size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),","className: PropTypes.string,","style: PropTypes.object,","width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),","height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),"],u=this.generateColorProps(t);u&&o.push(u);let c=this.generateStrokeWidthProps(r);return c&&o.push(c),i.includes("fixed-stroke-width")&&o.push("isFixedStrokeWidth: PropTypes.bool,"),`${a}.propTypes = {
|
|
581
581
|
${o.join(`
|
|
582
582
|
`)}
|
|
583
|
-
};`}generateComponent(t){let r=this.getComponentName(),{colorMappings:i,strokeWidthMappings:a,metadata:o}=t,u=["title","titleId","desc","descId","size"],c=i.map(L=>L.variableName),l=i.map(L=>`${L.variableName}Class`),h=a.map(L=>L.variableName),p=a.map(L=>`${L.variableName}Class`),f=[...u,...c,...l,...h,...p],v=this.generateColorDefaults(i),b=this.generateStrokeWidthDefaults(a),C='size = "
|
|
583
|
+
};`}generateComponent(t){let r=this.getComponentName(),{colorMappings:i,strokeWidthMappings:a,metadata:o}=t,u=["title","titleId","desc","descId","size"],c=i.map(L=>L.variableName),l=i.map(L=>`${L.variableName}Class`),h=a.map(L=>L.variableName),p=a.map(L=>`${L.variableName}Class`),f=[...u,...c,...l,...h,...p],v=this.generateColorDefaults(i),b=this.generateStrokeWidthDefaults(a),C='size = "24"',P=o.features.includes("fixed-stroke-width")?"isFixedStrokeWidth = true":"",U=[C,v,b,P].filter(Boolean).join(", "),$=U.split(", ").map(L=>L.split(" = ")[0]),T=`{
|
|
584
584
|
${f.filter(L=>!$.includes(L)).join(`,
|
|
585
585
|
`)},
|
|
586
586
|
${U},
|
|
587
587
|
...svgProps
|
|
588
588
|
}`,O=this.generateSvgAttributes(t.ast),F="{title ? <title id={titleId}>{title}</title> : null}",B="{desc ? <desc id={descId}>{desc}</desc> : null}";if(this.reactOptions.typescript){let L=`${r}Props`,q=this.reactOptions.forwardRef?", ref: Ref<SVGSVGElement>":"",H=t.ast.root.children.map(te=>this.elementToJsx(te,1)).join(`
|
|
589
589
|
`);return `const ${r} = (${T}: ${L}${q}) => {
|
|
590
|
-
const computedSize =
|
|
590
|
+
const computedSize = {
|
|
591
|
+
width: svgProps.width ?? size,
|
|
592
|
+
height: svgProps.height ?? size
|
|
593
|
+
};
|
|
591
594
|
|
|
592
595
|
return (
|
|
593
596
|
<svg
|
|
@@ -631,16 +634,16 @@ ${this.vueOptions.scriptSetup?`defineOptions({ inheritAttrs: false });
|
|
|
631
634
|
${a?`<style scoped>
|
|
632
635
|
${a}
|
|
633
636
|
</style>`:""}`}generateJSComponent(t){return this.vueOptions.composition?this.generateCompositionAPI(t):this.generateOptionsAPI(t)}generateTemplate(t){let{ast:r}=t,i=this.generateSvgAttributes(r),a=r.root.children.map(o=>this.elementToVueTemplate(o,2)).join(`
|
|
634
|
-
`);return ` <svg${i} v-bind="$attrs" :width="
|
|
637
|
+
`);return ` <svg${i} v-bind="$attrs" :width="computedWidth" :height="computedHeight">
|
|
635
638
|
<title v-if="props.title" :id="props.titleId">{{ props.title }}</title>
|
|
636
639
|
<desc v-if="props.desc" :id="props.descId">{{ props.desc }}</desc>
|
|
637
640
|
${a}
|
|
638
641
|
</svg>`}elementToVueTemplate(t,r=0){let i=" ".repeat(r),{tag:a,attributes:o,children:u,content:c}=t,l=[],h=[],p="class"in o;if(Object.entries(o).forEach(([b,C])=>{if(b==="vector-effect"&&C==="non-scaling-stroke")l.push(`:vector-effect="props.isFixedStrokeWidth ? 'non-scaling-stroke' : 'none'"`);else if(b==="style"){let P=this.parseStyleStringForVue(C);l.push(`:style="${P}"`);let U=this.extractClassVarsFromStyle(C);h.push(...U);}else if(C.startsWith("{")&&C.endsWith("}")){let P=C.slice(1,-1);if(l.push(`:${b}="props.${P}"`),b==="fill"||b==="stroke"||b==="stroke-width"){let U=`${P}Class`;h.push(`props.${U}`);}}else l.push(`${b}="${C}"`);}),h.length>0){let b=o.class;b?l.push(`:class="[${h.join(", ")}, '${b}']"`):l.push(`:class="[${h.join(", ")}]"`);}else if(p){let b=o.class;b&&l.push(`class="${b}"`);}let f=l.length>0?" "+l.join(" "):"";if(u.length===0&&!c)return `${i}<${a}${f} />`;let v=`${i}<${a}${f}>`;return c&&(v+=c),u.length>0&&(v+=`
|
|
639
642
|
`,v+=u.map(b=>this.elementToVueTemplate(b,r+1)).join(`
|
|
640
643
|
`),v+=`
|
|
641
|
-
`+i),v+=`</${a}>`,v}generateScript(t){return this.vueOptions.scriptSetup?this.generateScriptSetup(t):this.vueOptions.composition?this.generateCompositionAPI(t):this.generateOptionsAPI(t)}generateScriptSetup(t){let{colorMappings:r,strokeWidthMappings:i,metadata:a}=t,o=[];if(this.vueOptions.typescript
|
|
642
|
-
`)}generateCompositionAPI(t){let{colorMappings:r,strokeWidthMappings:i,metadata:a}=t,o=this.getComponentName(),u=[];return u.push("import { defineComponent } from 'vue';"),u.push(""),u.push("export default defineComponent({"),u.push(` name: '${o}',`),u.push(" props: {"),u.push(" title: { type: String, default: '' },"),u.push(" titleId: { type: String, default: '' },"),u.push(" desc: { type: String, default: '' },"),u.push(" descId: { type: String, default: '' },"),u.push(" class: { type: String, default: '' },"),u.push(" style: { type: Object, default: '' },"),u.push(" width: { type: [String, Number], default: '' },"),u.push(" height: { type: [String, Number], default: '' },"),r.forEach(c=>{let l=c.variableName,h=c.originalColor,p=`${l}Class`;u.push(` ${l}: { type: String, default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),i.forEach(c=>{let l=c.variableName,h=c.originalStrokeWidth,p=`${l}Class`;u.push(` ${l}: { type: [String, Number], default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),a.features.includes("fixed-stroke-width")&&u.push(" isFixedStrokeWidth: { type: Boolean, default: true },"),u.push(" },"),u.push(" setup() {"),u.push(" return {};"),u.push(" },"),u.push("});"),u.join(`
|
|
643
|
-
`)}generateOptionsAPI(t){let{colorMappings:r,strokeWidthMappings:i,metadata:a}=t,o=this.getComponentName(),u=[];return u.push("export default {"),u.push(` name: '${o}',`),u.push(" props: {"),u.push(" title: { type: String, default: '' },"),u.push(" titleId: { type: String, default: '' },"),u.push(" desc: { type: String, default: '' },"),u.push(" descId: { type: String, default: '' },"),u.push(" class: { type: String, default: '' },"),u.push(" style: { type: Object, default: '' },"),u.push(" width: { type: [String, Number], default: '' },"),u.push(" height: { type: [String, Number], default: '' },"),r.forEach(c=>{let l=c.variableName,h=c.originalColor,p=`${l}Class`;u.push(` ${l}: { type: String, default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),i.forEach(c=>{let l=c.variableName,h=c.originalStrokeWidth,p=`${l}Class`;u.push(` ${l}: { type: [String, Number], default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),a.features.includes("fixed-stroke-width")&&u.push(" isFixedStrokeWidth: { type: Boolean, default: true },"),u.push(" },"),u.push("};"),u.join(`
|
|
644
|
+
`+i),v+=`</${a}>`,v}generateScript(t){return this.vueOptions.scriptSetup?this.generateScriptSetup(t):this.vueOptions.composition?this.generateCompositionAPI(t):this.generateOptionsAPI(t)}generateScriptSetup(t){let{colorMappings:r,strokeWidthMappings:i,metadata:a}=t,o=[];if(this.vueOptions.typescript?(o.push('import type { SVGAttributes } from "vue";'),o.push('import { computed } from "vue";'),o.push("")):(o.push('import { computed } from "vue";'),o.push("")),this.vueOptions.typescript){o.push("interface Props extends /* @vue-ignore */ SVGAttributes {"),o.push(" title?: string;"),o.push(" titleId?: string;"),o.push(" desc?: string;"),o.push(" descId?: string;"),o.push(" width?: string | number;"),o.push(" height?: string | number;"),o.push(" size?: string | number;");let u=this.generateColorPropsInterface(r);u&&o.push(u);let c=this.generateStrokeWidthPropsInterface(i);c&&o.push(c),a.features.includes("fixed-stroke-width")&&o.push(" isFixedStrokeWidth?: boolean;"),o.push("}"),o.push(""),o.push("const props = withDefaults(defineProps<Props>(), {");}else o.push("const props = defineProps({"),o.push(" title: { type: String, default: '' },"),o.push(" titleId: { type: String, default: '' },"),o.push(" desc: { type: String, default: '' },"),o.push(" descId: { type: String, default: '' },"),o.push(" class: { type: String, default: '' },"),o.push(" style: { type: Object, default: '' },"),o.push(" width: { type: [String, Number], default: '' },"),o.push(" height: { type: [String, Number], default: '' },"),o.push(' size: { type: [String, Number], default: "24" },');return this.vueOptions.typescript&&o.push(' size: "24",'),r.forEach(u=>{let c=u.variableName,l=u.originalColor,h=`${c}Class`;this.vueOptions.typescript?(o.push(` ${c}: '${l}',`),o.push(` ${h}: "",`)):(o.push(` ${c}: { type: String, default: '${l}' },`),o.push(` ${h}: { type: String, default: "" },`));}),i.forEach(u=>{let c=u.variableName,l=u.originalStrokeWidth,h=`${c}Class`;this.vueOptions.typescript?(o.push(` ${c}: '${l}',`),o.push(` ${h}: "",`)):(o.push(` ${c}: { type: [String, Number], default: '${l}' },`),o.push(` ${h}: { type: String, default: "" },`));}),a.features.includes("fixed-stroke-width")&&(this.vueOptions.typescript?o.push(" isFixedStrokeWidth: true,"):o.push(" isFixedStrokeWidth: { type: Boolean, default: true },")),o.push("});"),o.push(""),o.push("const computedWidth = computed(() => props.width || props.size);"),o.push("const computedHeight = computed(() => props.height || props.size);"),o.join(`
|
|
645
|
+
`)}generateCompositionAPI(t){let{colorMappings:r,strokeWidthMappings:i,metadata:a}=t,o=this.getComponentName(),u=[];return u.push("import { defineComponent, computed } from 'vue';"),u.push(""),u.push("export default defineComponent({"),u.push(` name: '${o}',`),u.push(" props: {"),u.push(" title: { type: String, default: '' },"),u.push(" titleId: { type: String, default: '' },"),u.push(" desc: { type: String, default: '' },"),u.push(" descId: { type: String, default: '' },"),u.push(" class: { type: String, default: '' },"),u.push(" style: { type: Object, default: '' },"),u.push(" width: { type: [String, Number], default: '' },"),u.push(" height: { type: [String, Number], default: '' },"),u.push(' size: { type: [String, Number], default: "24" },'),r.forEach(c=>{let l=c.variableName,h=c.originalColor,p=`${l}Class`;u.push(` ${l}: { type: String, default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),i.forEach(c=>{let l=c.variableName,h=c.originalStrokeWidth,p=`${l}Class`;u.push(` ${l}: { type: [String, Number], default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),a.features.includes("fixed-stroke-width")&&u.push(" isFixedStrokeWidth: { type: Boolean, default: true },"),u.push(" },"),u.push(" setup(props) {"),u.push(" const computedWidth = computed(() => props.width || props.size);"),u.push(" const computedHeight = computed(() => props.height || props.size);"),u.push(" return { computedWidth, computedHeight };"),u.push(" },"),u.push("});"),u.join(`
|
|
646
|
+
`)}generateOptionsAPI(t){let{colorMappings:r,strokeWidthMappings:i,metadata:a}=t,o=this.getComponentName(),u=[];return u.push("export default {"),u.push(` name: '${o}',`),u.push(" props: {"),u.push(" title: { type: String, default: '' },"),u.push(" titleId: { type: String, default: '' },"),u.push(" desc: { type: String, default: '' },"),u.push(" descId: { type: String, default: '' },"),u.push(" class: { type: String, default: '' },"),u.push(" style: { type: Object, default: '' },"),u.push(" width: { type: [String, Number], default: '' },"),u.push(" height: { type: [String, Number], default: '' },"),u.push(' size: { type: [String, Number], default: "24" },'),r.forEach(c=>{let l=c.variableName,h=c.originalColor,p=`${l}Class`;u.push(` ${l}: { type: String, default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),i.forEach(c=>{let l=c.variableName,h=c.originalStrokeWidth,p=`${l}Class`;u.push(` ${l}: { type: [String, Number], default: '${h}' },`),u.push(` ${p}: { type: String, default: "" },`);}),a.features.includes("fixed-stroke-width")&&u.push(" isFixedStrokeWidth: { type: Boolean, default: true },"),u.push(" },"),u.push(" computed: {"),u.push(" computedWidth() {"),u.push(" return this.width || this.size;"),u.push(" },"),u.push(" computedHeight() {"),u.push(" return this.height || this.size;"),u.push(" },"),u.push(" },"),u.push("};"),u.join(`
|
|
644
647
|
`)}generateStyle(){return ""}generateColorPropsInterface(t){return t.length===0?"":t.map(r=>{let i=r.variableName,a=`${i}Class`;return ` ${i}?: string;
|
|
645
648
|
${a}?: string;`}).join(`
|
|
646
649
|
`)}generateStrokeWidthPropsInterface(t){return t.length===0?"":t.map(r=>{let i=r.variableName,a=`${i}Class`;return ` ${i}?: string | number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svgfusion",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.0",
|
|
4
4
|
"description": "A powerful CLI tool and library that converts SVG files into production-ready React and Vue 3 components with native SVG props inheritance, TypeScript support, and custom SVGFusion engine.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|