@zombie-mermaid/core 3.0.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +8 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +23 -1
- package/dist/index.d.ts +23 -1
- package/dist/index.js +98 -76
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/diagram-type.test.ts +38 -0
- package/src/__tests__/render-utils.test.ts +59 -0
- package/src/diagram-type.ts +24 -1
- package/src/index.ts +1 -0
- package/src/multiline-utils.ts +6 -5
- package/src/render-utils.ts +54 -0
- package/src/style-directives.ts +6 -1
- package/src/theme.ts +3 -2
package/dist/index.cjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e,t){let n=e.match(/^click\s+([\w\p{L}-]+)\s+(.*)$/iu);if(!n)return;let r=n[1],i=n[2].trim(),a={...t.get(r)},o=i.match(/^(?:call|callback)\s+(.+?)\s*$/i);if(o){let e=o[1].match(/^(.*?\))\s+"([^"]*)"\s*$/);e?(a.callback=e[1].trim(),a.tooltip=e[2]):a.callback=o[1].trim(),t.set(r,a);return}i=i.replace(/^href\s+/i,``);let s=[...i.matchAll(/"([^"]*)"/g)].map(e=>e[1]);s.length>0&&(a.href=s[0]),s.length>1&&(a.tooltip=s[1]);let c=i.match(/(_blank|_self|_parent|_top)\s*$/i);c&&(a.target=c[1].toLowerCase()),(a.href!==void 0||a.tooltip!==void 0)&&t.set(r,a)}function t(e){if(!e||/[\x00-\x1F\x7F]/.test(e))return;let t=e.trim();if(/^[./#?]/.test(t))return t;let n=t.match(/^([a-zA-Z][a-zA-Z0-9+.-]*):/)?.[1];return n===void 0||/^(https?|mailto)$/i.test(n)?t:void 0}var n=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,r=/^rgba?\(\s*([\d.]+%?)\s*[, ]\s*([\d.]+%?)\s*[, ]\s*([\d.]+%?)\s*(?:[,/]\s*([\d.]+%?)\s*)?\)$/i;function i(e){let t=a(e);return t?[t.r,t.g,t.b]:null}function a(e){let t=n.exec(e.trim());if(!t)return null;let r=t[1];if(r===void 0)return null;let i=r;return(i.length===3||i.length===4)&&(i=i.split(``).map(e=>e+e).join(``)),{r:parseInt(i.slice(0,2),16),g:parseInt(i.slice(2,4),16),b:parseInt(i.slice(4,6),16),a:i.length===8?parseInt(i.slice(6,8),16)/255:1}}function o(e){return e.endsWith(`%`)?Number(e.slice(0,-1))/100*255:Number(e)}function s(e){return e===void 0?1:e.endsWith(`%`)?Number(e.slice(0,-1))/100:Number(e)}function c(e){let t=e.trim();if(t.toLowerCase()===`transparent`)return{r:0,g:0,b:0,a:0};let n=a(t);if(n)return n;let i=r.exec(t);if(i){let[,e,t,n,r]=i;if(e===void 0||t===void 0||n===void 0)return null;let a={r:o(e),g:o(t),b:o(n),a:s(r)};return[a.r,a.g,a.b,a.a].some(e=>Number.isNaN(e))?null:a}return null}function l(e,t,n,r){let i,a;n===void 0&&r===void 0?(i=50,a=50):n===void 0?(a=r??50,i=100-a):r===void 0?(i=n,a=100-i):(i=n,a=r);let o=i+a;if(o===0)return null;let s=o<100?o/100:1;i/=o,a/=o;let c=e.a*i+t.a*a,l=(n,r)=>c===0?0:(n*e.a*i+r*t.a*a)/c;return{r:l(e.r,t.r),g:l(e.g,t.g),b:l(e.b,t.b),a:c*s}}function u(e,t,n){let r=c(e),i=c(t);if(!r||!i)return e;let a=l(r,i,n,100-n);return a?f(a):e}var d=e=>Math.min(255,Math.max(0,Math.round(e)));function f(e){let t=d(e.r),n=d(e.g),r=d(e.b),i=Math.min(1,Math.max(0,e.a));return i>=1?`#`+[t,n,r].map(e=>e.toString(16).padStart(2,`0`)).join(``):`rgba(${t}, ${n}, ${r}, ${Number(i.toFixed(3))})`}var p=/^[&#](?:#?[0-9]+|#?[xX][0-9a-fA-F]+|[a-zA-Z][a-zA-Z0-9]*);/,m=new Set([`&`,`#`]);function
|
|
2
|
-
`);for(let e=0;e<n.length;e++){let r=n[e].trim(),i=e+1,a=
|
|
3
|
-
`),i=t*z,a=0;for(let e of r){let r=R(e.replace(/<\/?(?:b|strong|i|em|u|s|del)\s*>/gi,``),t,n);r>a&&(a=r)}return{width:a,height:r.length*i,lines:r,lineHeight:i}}function V(e){let t=e.startsWith(`"`)&&e.endsWith(`"`)?e.slice(1,-1):e;return(t.length>=2&&t.startsWith("`")&&t.endsWith("`")?t.slice(1,-1):t).replace(/<br\s*\/?>/gi,`
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e,t){let n=e.match(/^click\s+([\w\p{L}-]+)\s+(.*)$/iu);if(!n)return;let r=n[1],i=n[2].trim(),a={...t.get(r)},o=i.match(/^(?:call|callback)\s+(.+?)\s*$/i);if(o){let e=o[1].match(/^(.*?\))\s+"([^"]*)"\s*$/);e?(a.callback=e[1].trim(),a.tooltip=e[2]):a.callback=o[1].trim(),t.set(r,a);return}i=i.replace(/^href\s+/i,``);let s=[...i.matchAll(/"([^"]*)"/g)].map(e=>e[1]);s.length>0&&(a.href=s[0]),s.length>1&&(a.tooltip=s[1]);let c=i.match(/(_blank|_self|_parent|_top)\s*$/i);c&&(a.target=c[1].toLowerCase()),(a.href!==void 0||a.tooltip!==void 0)&&t.set(r,a)}function t(e){if(!e||/[\x00-\x1F\x7F]/.test(e))return;let t=e.trim();if(/^[./#?]/.test(t))return t;let n=t.match(/^([a-zA-Z][a-zA-Z0-9+.-]*):/)?.[1];return n===void 0||/^(https?|mailto)$/i.test(n)?t:void 0}var n=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,r=/^rgba?\(\s*([\d.]+%?)\s*[, ]\s*([\d.]+%?)\s*[, ]\s*([\d.]+%?)\s*(?:[,/]\s*([\d.]+%?)\s*)?\)$/i;function i(e){let t=a(e);return t?[t.r,t.g,t.b]:null}function a(e){let t=n.exec(e.trim());if(!t)return null;let r=t[1];if(r===void 0)return null;let i=r;return(i.length===3||i.length===4)&&(i=i.split(``).map(e=>e+e).join(``)),{r:parseInt(i.slice(0,2),16),g:parseInt(i.slice(2,4),16),b:parseInt(i.slice(4,6),16),a:i.length===8?parseInt(i.slice(6,8),16)/255:1}}function o(e){return e.endsWith(`%`)?Number(e.slice(0,-1))/100*255:Number(e)}function s(e){return e===void 0?1:e.endsWith(`%`)?Number(e.slice(0,-1))/100:Number(e)}function c(e){let t=e.trim();if(t.toLowerCase()===`transparent`)return{r:0,g:0,b:0,a:0};let n=a(t);if(n)return n;let i=r.exec(t);if(i){let[,e,t,n,r]=i;if(e===void 0||t===void 0||n===void 0)return null;let a={r:o(e),g:o(t),b:o(n),a:s(r)};return[a.r,a.g,a.b,a.a].some(e=>Number.isNaN(e))?null:a}return null}function l(e,t,n,r){let i,a;n===void 0&&r===void 0?(i=50,a=50):n===void 0?(a=r??50,i=100-a):r===void 0?(i=n,a=100-i):(i=n,a=r);let o=i+a;if(o===0)return null;let s=o<100?o/100:1;i/=o,a/=o;let c=e.a*i+t.a*a,l=(n,r)=>c===0?0:(n*e.a*i+r*t.a*a)/c;return{r:l(e.r,t.r),g:l(e.g,t.g),b:l(e.b,t.b),a:c*s}}function u(e,t,n){let r=c(e),i=c(t);if(!r||!i)return e;let a=l(r,i,n,100-n);return a?f(a):e}var d=e=>Math.min(255,Math.max(0,Math.round(e)));function f(e){let t=d(e.r),n=d(e.g),r=d(e.b),i=Math.min(1,Math.max(0,e.a));return i>=1?`#`+[t,n,r].map(e=>e.toString(16).padStart(2,`0`)).join(``):`rgba(${t}, ${n}, ${r}, ${Number(i.toFixed(3))})`}var p=/^[&#](?:#?[0-9]+|#?[xX][0-9a-fA-F]+|[a-zA-Z][a-zA-Z0-9]*);/,m=new Set([`&`,`#`]);function ee(e){let t=null;for(let n=0;n<e.length;n++){let r=e[n];if(t!==null){r===t&&(t=null);continue}if(r===`"`||r===`'`){t=r;continue}if(m.has(r)){let t=p.exec(e.slice(n));if(t){n+=t[0].length-1;continue}}if(r===`%`&&e[n+1]===`%`)return n}return-1}function h(e){let t=[],n=``,r=null;for(let i=0;i<e.length;i++){let a=e[i];if(r!==null){n+=a,a===r&&(r=null);continue}if(a===`"`||a===`'`){r=a,n+=a;continue}if(m.has(a)){let t=p.exec(e.slice(i));if(t){n+=t[0],i+=t[0].length-1;continue}}if(a===`;`){t.push(n),n=``;continue}n+=a}return t.push(n),t}function g(e){let t=[],n=e.split(`
|
|
2
|
+
`);for(let e=0;e<n.length;e++){let r=n[e].trim(),i=e+1,a=ee(r);if(a!==-1&&(r=r.slice(0,a).trim()),r.length===0)continue;let o=[];for(let e of h(r)){let t=e.trim();t.length!==0&&o.push({text:t,line:i})}o.length>0&&t.push(o)}return t}function _(e){return g(e).flat()}var v=[`flowchart`,`sequence`,`class`,`er`,`xychart`,`architecture`,`c4`];function te(e){let t=_(e)[0]?.text.toLowerCase()??``;return/^xychart(?:-beta)?(?:\s|$)/.test(t)?`xychart`:/^architecture(?:-beta)?\s*$/.test(t)?`architecture`:/^c4(?:context|container|component|dynamic|deployment)\s*$/.test(t)?`c4`:/^sequencediagram\s*$/.test(t)?`sequence`:/^classdiagram\s*$/.test(t)?`class`:/^erdiagram\s*$/.test(t)?`er`:`flowchart`}function y(e){return e===`TD`||e===`TB`||e===`LR`||e===`BT`||e===`RL`}function ne(e){let t=e?.toUpperCase();if(t===void 0||!y(t))throw Error(`Invalid direction: "${e}"`);return t}function b(e,t){return t===void 0||!y(t)?e:{...e,direction:t}}var x=new Set([`linear`,`basis`,`natural`,`step`,`stepBefore`,`stepAfter`]),S={theme:"colors come from the caller's bg/fg render options, which are usually CSS variables so a diagram inherits the host page's light/dark. A diagram-supplied theme would hard-code colors that fight it. Mermaid's theme names (default/dark/forest/neutral) also have no equivalent in this renderer's palettes — pass `bg`/`fg`, or a THEMES entry, instead",securitylevel:`this renderer emits static SVG and never executes diagram-supplied script, so there is no sandbox to configure`,defaultrenderer:`ELK is the only layout engine; dagre/elk selection has no effect`,fontfamily:"use the `font` render option instead",htmllabels:`labels are always rendered as SVG text; there is no HTML label mode`,maxtextsize:`no text-size limit is enforced`,startonload:`not a browser auto-render integration`},C=/^\s*%%\{\s*(?:init|initialize)\s*:\s*([\s\S]*?)\}%%/i;function w(e){return C.test(e)}function re(e){let t=``,n=null;for(let r=0;r<e.length;r++){let i=e[r];if(n!==null){if(i===`\\`&&r+1<e.length){let n=e[r+1];t+=n===`'`?`'`:`\\${n}`,r++}else i===n?(n=null,t+=`"`):t+=i===`"`?`\\"`:i;continue}if(i===`"`||i===`'`){n=i,t+=`"`;continue}if(/[A-Za-z_$]/.test(i)){let n=r;for(;n<e.length&&/[\w$-]/.test(e[n]);)n++;let i=e.slice(r,n),a=n;for(;a<e.length&&/\s/.test(e[a]);)a++;if(e[a]===`:`){t+=`"${i}"`,r=n-1;continue}t+=/^(true|false|null)$/i.test(i)?i.toLowerCase():`"${i}"`,r=n-1;continue}t+=i}return t}function T(e){let t=e.match(C);if(!t)return;let n;try{n=JSON.parse(re(t[1]))}catch{return}if(typeof n!=`object`||!n)return;let r={ignored:[]},i={...n};for(let[e,t]of Object.entries(i)){let n=e.toLowerCase();if(n===`theme`&&typeof t==`string`){r.theme=t,r.ignored.push(e);continue}if(n===`flowchart`&&typeof t==`object`&&t){let e={...t};for(let[t,n]of Object.entries(e)){if(t.toLowerCase()===`curve`&&typeof n==`string`){x.has(n)&&(r.curve=n);continue}t.toLowerCase()in S&&r.ignored.push(t)}continue}n in S&&r.ignored.push(e)}return r}function ie(e){let t={ignored:[]};for(let n of e){let e=T(n);e&&(e.theme!==void 0&&(t.theme=e.theme),e.curve!==void 0&&(t.curve=e.curve),t.ignored.push(...e.ignored))}return t}function ae(e,t){return t.curve===void 0||e.curve!==void 0?e:{...e,curve:t.curve}}function oe(e){return[...new Set(e.ignored)].map(e=>`${e}: ${S[e.toLowerCase()]??`not supported`}`)}var E={" ":.521,"!":.533,'"':.863,"#":1.173,$:1.188,"%":1.818,"&":1.193,"'":.555,"(":.675,")":.675,"*":.928,"+":1.225,",":.534,"-":.852,".":.534,"/":.667,0:1.168,1:.753,2:1.129,3:1.144,4:1.196,5:1.099,6:1.148,7:1.048,8:1.146,9:1.148,":":.534,";":.559,"<":1.225,"=":1.225,">":1.225,"?":.947,"@":1.789,A:1.278,B:1.212,C:1.353,D:1.336,E:1.113,F:1.093,G:1.382,H:1.376,I:.497,J:1.057,K:1.244,L:1.047,M:1.673,N:1.395,O:1.416,P:1.183,Q:1.416,R:1.192,S:1.188,T:1.195,U:1.378,V:1.278,W:1.825,X:1.263,Y:1.257,Z:1.165,"[":.675,"\\":.667,"]":.675,"^":.873,_:.845,"`":.598,a:1.04,b:1.134,c:1.058,d:1.134,e:1.08,f:.685,g:1.136,h:1.095,i:.448,j:.448,k:1.016,l:.448,m:1.622,n:1.094,o:1.11,p:1.134,q:1.134,r:.697,s:.977,t:.606,u:1.095,v:1.041,w:1.515,x:1.011,y:1.041,z:1.023,"{":.789,"|":.616,"}":.789,"~":1.225};function se(e){return Object.hasOwn(E,e)}var ce=new Set([`i`,`l`,`t`,`f`,`j`,`I`,`1`,`!`,`|`,`.`,`,`,`:`,`;`,`'`]),le=new Set([`W`,`M`,`w`,`m`,`@`,`%`]),ue=new Set([`W`,`M`]),de=new Set([`(`,`)`,`[`,`]`,`{`,`}`,`/`,`\\`,`-`,`"`,"`"]);function fe(e){return e>=768&&e<=879||e>=6832&&e<=6911||e>=7616&&e<=7679||e>=8400&&e<=8447||e>=65056&&e<=65071}function D(e){return e>=4352&&e<=4447||e>=11904&&e<=12031||e>=12032&&e<=12255||e>=12288&&e<=12351||e>=12352&&e<=12447||e>=12448&&e<=12543||e>=12544&&e<=12591||e>=12592&&e<=12687||e>=12688&&e<=12799||e>=12800&&e<=13311||e>=13312&&e<=19903||e>=19968&&e<=40959||e>=44032&&e<=55215||e>=63744&&e<=64255||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072}var pe=/\p{Emoji_Presentation}/u,O=/\p{Extended_Pictographic}/u;function k(e){return e>=9632&&e<=9727}function A(e){return e>=8596&&e<=8601||e===8617||e===8618}function j(e){if(pe.test(e))return!0;let t=e.codePointAt(0);return t!==void 0&&k(t)||t!==void 0&&A(t)?!1:O.test(e)}function M(e){let t=e.codePointAt(0);return t===void 0?!1:D(t)||j(e)}function N(e){let t=e.codePointAt(0);if(t===void 0)return 0;if(Object.hasOwn(E,e)){let t=E[e];if(t!==void 0)return t}if(fe(t))return 0;if(D(t)||j(e))return 2;let n=e.normalize(`NFD`)[0];if(n!==void 0&&n!==e){let e=E[n];if(e!==void 0)return e}return e===` `?.3:ue.has(e)?1.5:le.has(e)?1.2:ce.has(e)?.4:de.has(e)?.5:e===`r`?.8:t>=65&&t<=90?1.2:1}var P=.6,F=!1;function I(e){return/mono|consol|menlo|courier|\bcode\b/i.test(e)}function L(e){F=e}function R(e,t,n){let r=t*.15;if(F){let n=0;for(let t of e)n+=1;return n*t*P+r}let i=n>=600?.6:n>=500?.57:.54,a=0;for(let t of e)a+=N(t);return a*t*i+r}var z=1.3;function B(e,t,n){let r=e.split(`
|
|
3
|
+
`),i=t*z,a=0;for(let e of r){let r=R(e.replace(/<\/?(?:b|strong|i|em|u|s|del)\s*>/gi,``),t,n);r>a&&(a=r)}return{width:a,height:r.length*i,lines:r,lineHeight:i}}function me(e){return Number.isFinite(e)?Number(e.toFixed(2)):0}function V(e,...t){let n=e[0]??``;for(let r=0;r<t.length;r++){let i=t[r];n+=String(typeof i==`number`?me(i):i),n+=e[r+1]??``}return n}function he(e){let t=e.startsWith(`"`)&&e.endsWith(`"`)?e.slice(1,-1):e;return(t.length>=2&&t.startsWith("`")&&t.endsWith("`")?t.slice(1,-1):t).replace(/<br\s*\/?>/gi,`
|
|
4
4
|
`).replace(/\\n/g,`
|
|
5
|
-
`).replace(/<\/?(?:sub|sup|small|mark)\s*>/gi,``).replace(/\*\*(.+?)\*\*/g,`<b>$1</b>`).replace(/(?<!\*)\*([^\s*](?:[^*]*[^\s*])?)\*(?!\*)/g,`<i>$1</i>`).replace(/~~(.+?)~~/g,`<s>$1</s>`)}function
|
|
6
|
-
`);if(o.length===1)return`<text x="${t}" y="${n}" ${i} dy="${r*a}">${G(e)}</text>`;let s=r*z,c=-((o.length-1)/2)*s+r*a;return`<text x="${t}" y="${n}" ${i}>${o.map((e,n)
|
|
5
|
+
`).replace(/<\/?(?:sub|sup|small|mark)\s*>/gi,``).replace(/\*\*(.+?)\*\*/g,`<b>$1</b>`).replace(/(?<!\*)\*([^\s*](?:[^*]*[^\s*])?)\*(?!\*)/g,`<i>$1</i>`).replace(/~~(.+?)~~/g,`<s>$1</s>`)}function ge(e){return e.replace(/<\/?(?:b|strong|i|em|u|s|del)\s*>/gi,``)}function H(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function U(e){return e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`).replace(/>/g,`>`)}var W=/<(\/)?(?:(b|strong)|(i|em)|(u)|(s|del))\s*>/gi;function _e(e){let t=[],n=!1,r=!1,i=!1,a=!1,o=0;W.lastIndex=0;let s;for(;(s=W.exec(e))!==null;){s.index>o&&t.push({text:e.slice(o,s.index),bold:n,italic:r,underline:i,strikethrough:a}),o=s.index+s[0].length;let c=!!s[1];s[2]?n=!c:s[3]?r=!c:s[4]?i=!c:s[5]&&(a=!c)}return o<e.length&&t.push({text:e.slice(o),bold:n,italic:r,underline:i,strikethrough:a}),t}var ve=/<\/?(?:b|strong|i|em|u|s|del)\s*>/i;function G(e){if(!ve.test(e))return H(e);let t=_e(e);return t.length===0?``:t.every(e=>!e.bold&&!e.italic&&!e.underline&&!e.strikethrough)?t.map(e=>H(e.text)).join(``):t.map(e=>{let t=H(e.text);if(!e.bold&&!e.italic&&!e.underline&&!e.strikethrough)return t;let n=[];e.bold&&n.push(`font-weight="bold"`),e.italic&&n.push(`font-style="italic"`);let r=[];return e.underline&&r.push(`underline`),e.strikethrough&&r.push(`line-through`),r.length&&n.push(`text-decoration="${r.join(` `)}"`),`<tspan ${n.join(` `)}>${t}</tspan>`}).join(``)}function K(e,t,n,r,i,a=.35){let o=e.split(`
|
|
6
|
+
`);if(o.length===1)return V`<text x="${t}" y="${n}" ${i} dy="${r*a}">${G(e)}</text>`;let s=r*z,c=-((o.length-1)/2)*s+r*a;return V`<text x="${t}" y="${n}" ${i}>${o.map((e,n)=>V`<tspan x="${t}" dy="${n===0?c:s}">${G(e)}</tspan>`).join(``)}</text>`}function ye(e,t,n,r,i,a,o,s,c){let l=r+o*2,u=i+o*2;return`${V`<rect x="${t-l/2}" y="${n-u/2}" `+V`width="${l}" height="${u}" ${c} />`}\n${K(e,t,n,a,s)}`}function q(e){let t=e.replace(/;\s*$/,``),n={};for(let e of t.split(`,`)){let t=e.indexOf(`:`);if(t>0){let r=e.slice(0,t).trim(),i=e.slice(t+1).trim();r&&i&&(n[r]=i)}}return n}function be(e,t){let n=e.match(/^classDef\s+([\w,-]+)\s+(.+)$/);if(!n)return!1;let r=q(n[2]);for(let e of n[1].split(`,`)){let n=e.trim();n&&t.classDefs.set(n,r)}return!0}function xe(e,t){let n=e.match(/^class\s+([\w-]+(?:\s*,\s*[\w-]+)*)\s+([\w-]+)\s*;?\s*$/);if(!n)return!1;let r=n[2];for(let e of n[1].split(`,`))t.classAssignments.set(e.trim(),r);return!0}function Se(e,t){let n=e.match(/^cssClass\s+"([^"]*)"\s+([\w-]+)\s*;?\s*$/);if(!n)return!1;let r=n[2];for(let e of n[1].split(`,`)){let n=e.trim();n&&t.classAssignments.set(n,r)}return!0}function Ce(e,t){let n=e.match(/^style\s+([\w,-]+)\s+(.+)$/);if(!n)return!1;let r=q(n[2]);for(let e of n[1].split(`,`).map(e=>e.trim()))t.nodeStyles.set(e,{...t.nodeStyles.get(e),...r});return!0}function we(e){let t=e.match(/^(.+?):::([\w][\w-]*)$/);return t?{id:t[1],className:t[2]}:{id:e}}function Te(e,t){let n,r=t.classDefs.get(`default`);r&&(n={...r});let i=t.classAssignments.get(e);if(i){let e=t.classDefs.get(i);e&&(n=n?{...n,...e}:{...e})}let a=t.nodeStyles.get(e);return a&&(n=n?{...n,...a}:{...a}),n}function Ee(e){if(e)return/^-?[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e)?e:void 0}var De=`JetBrains Mono NL`,Oe=`@font-face {
|
|
7
7
|
font-family: 'JetBrains Mono NL';
|
|
8
8
|
font-style: normal;
|
|
9
9
|
font-weight: 400;
|
|
10
10
|
font-display: swap;
|
|
11
11
|
src: url(data:font/woff2;base64,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) format('woff2');
|
|
12
12
|
unicode-range: U+0020-007E, U+00A0-00FF;
|
|
13
|
-
}`,
|
|
13
|
+
}`,ke={bg:`#FFFFFF`,fg:`#27272A`},J={text:100,textSec:60,textMuted:40,textFaint:25,line:50,arrow:85,nodeFill:3,nodeStroke:20,groupHeader:5,innerStroke:12,keyBadge:10},Ae={"zinc-light":{bg:`#FFFFFF`,fg:`#27272A`},"zinc-dark":{bg:`#18181B`,fg:`#FAFAFA`},"tokyo-night":{bg:`#1a1b26`,fg:`#a9b1d6`,line:`#3d59a1`,accent:`#7aa2f7`,muted:`#565f89`},"tokyo-night-storm":{bg:`#24283b`,fg:`#a9b1d6`,line:`#3d59a1`,accent:`#7aa2f7`,muted:`#565f89`},"tokyo-night-light":{bg:`#d5d6db`,fg:`#343b58`,line:`#34548a`,accent:`#34548a`,muted:`#9699a3`},"catppuccin-mocha":{bg:`#1e1e2e`,fg:`#cdd6f4`,line:`#585b70`,accent:`#cba6f7`,muted:`#6c7086`},"catppuccin-latte":{bg:`#eff1f5`,fg:`#4c4f69`,line:`#9ca0b0`,accent:`#8839ef`,muted:`#9ca0b0`},nord:{bg:`#2e3440`,fg:`#d8dee9`,line:`#4c566a`,accent:`#88c0d0`,muted:`#616e88`},"nord-light":{bg:`#eceff4`,fg:`#2e3440`,line:`#aab1c0`,accent:`#5e81ac`,muted:`#7b88a1`},dracula:{bg:`#282a36`,fg:`#f8f8f2`,line:`#6272a4`,accent:`#bd93f9`,muted:`#6272a4`},"github-light":{bg:`#ffffff`,fg:`#1f2328`,line:`#d1d9e0`,accent:`#0969da`,muted:`#59636e`},"github-dark":{bg:`#0d1117`,fg:`#e6edf3`,line:`#3d444d`,accent:`#4493f8`,muted:`#9198a1`},"solarized-light":{bg:`#fdf6e3`,fg:`#657b83`,line:`#93a1a1`,accent:`#268bd2`,muted:`#93a1a1`},"solarized-dark":{bg:`#002b36`,fg:`#839496`,line:`#586e75`,accent:`#268bd2`,muted:`#586e75`},"one-dark":{bg:`#282c34`,fg:`#abb2bf`,line:`#4b5263`,accent:`#c678dd`,muted:`#5c6370`}};function je(e){let t=e.colors??{},n=e.type===`dark`,r=t=>e.tokenColors?.find(e=>Array.isArray(e.scope)?e.scope.includes(t):e.scope===t)?.settings?.foreground;return{bg:t[`editor.background`]??(n?`#1e1e1e`:`#ffffff`),fg:t[`editor.foreground`]??(n?`#d4d4d4`:`#333333`),line:t[`editorLineNumber.foreground`]??void 0,accent:t.focusBorder??r(`keyword`)??void 0,muted:r(`comment`)??t[`editorLineNumber.foreground`]??void 0,surface:t[`editor.selectionBackground`]??void 0,border:t[`editorWidget.border`]??void 0}}var Y=/[<>{};]/;function Me(e){let t=e.trim();if(!t.startsWith(`var(`)||!t.endsWith(`)`)||Y.test(t))return!1;let n=0;for(let e of t)if(e===`(`)n++;else if(e===`)`&&(n--,n<0))return!1;return n===0}var Ne=new Set([`sans-serif`,`serif`,`monospace`,`system-ui`,`ui-sans-serif`,`ui-serif`,`ui-monospace`,`ui-rounded`,`cursive`,`fantasy`,`math`,`emoji`,`fangsong`]);function Pe(e){let t=e.trim();return t.includes(`,`)?!0:Ne.has(t.toLowerCase())}function X(e){return e===void 0||e.trim()===``?`<style>`:`<style nonce="${U(e)}">`}function Fe(e,t,n){let r=Me(e),i=r?e.trim():e.replace(/[<>{};'"]/g,``),a=r||Pe(e)?[]:[`@import url('https://fonts.googleapis.com/css2?family=${encodeURIComponent(i)}:wght@400;500;600;700&display=swap');`],o=`
|
|
14
14
|
/* Derived from --bg and --fg (overridable via --line, --accent, etc.) */
|
|
15
15
|
--_text: var(--fg);
|
|
16
16
|
--_text-sec: var(--muted, color-mix(in srgb, var(--fg) ${J.textSec}%, var(--bg)));
|
|
@@ -24,6 +24,6 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e,
|
|
|
24
24
|
--_group-hdr: color-mix(in srgb, var(--fg) ${J.groupHeader}%, var(--bg));
|
|
25
25
|
--_inner-stroke: color-mix(in srgb, var(--fg) ${J.innerStroke}%, var(--bg));
|
|
26
26
|
--_key-badge: color-mix(in srgb, var(--fg) ${J.keyBadge}%, var(--bg));`;return[X(n),...a.length>0?[` ${a.join(`
|
|
27
|
-
`)}`]:[],...t?[` ${
|
|
28
|
-
`)}function
|
|
27
|
+
`)}`]:[],...t?[` ${Oe}`]:[],` text { font-family: ${r?i:`'${i}'`}, system-ui, sans-serif; }`,...t?[` .mono { font-family: '${De}', 'SF Mono', 'Fira Code', ui-monospace, monospace; }`]:[],` svg {${o}`,` }`,`</style>`].join(`
|
|
28
|
+
`)}function Ie(e,t,n){return(.299*e+.587*t+.114*n)/255}function Le(e,t){if(!e)return t;let n=i(e);return n?Ie(...n)>.5?`#000000`:`#FFFFFF`:t}var Z=0;function Q(){return Z+=1,`zm-title-${Z}`}function Re(){Z=0}function $(e,t){return`${[`--bg:${e.bg}`,`--fg:${e.fg}`,e.line?`--line:${e.line}`:``,e.accent?`--accent:${e.accent}`:``,e.muted?`--muted:${e.muted}`:``,e.surface?`--surface:${e.surface}`:``,e.border?`--border:${e.border}`:``].filter(Boolean).join(`;`)}${t?``:`;background:var(--bg)`}`}function ze(e,t,n,r,i,a,o,s=!0){let c=s?` style="${$(n,r)}"`:``,l=``,u=``;if(o){if(i){let e=Q();l=` aria-labelledby="${e}"`,u=`\n <title id="${e}">${H(i)}</title>`}}else if(a)l=` aria-hidden="true"`;else if(l=` role="img"`,i){let e=Q();l+=` aria-labelledby="${e}"`,u=`\n <title id="${e}">${H(i)}</title>`}return V`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${e} ${t}" `+V`width="${e}" height="${t}"${l}${c}>`+u}exports.DEFAULTS=ke,exports.DIAGRAM_TYPES=v,exports.LINE_HEIGHT_RATIO=z,exports.MIX=J,exports.THEMES=Ae,exports.__resetSvgTitleIdCounterForTests=Re,exports.applyClickStatement=e,exports.applyInitConfig=ae,exports.buildStyleBlock=Fe,exports.describeIgnored=oe,exports.detectDiagramType=te,exports.escapeAttr=U,exports.escapeXml=H,exports.extractInitConfig=ie,exports.f=V,exports.formatCssColor=f,exports.fromShikiTheme=je,exports.getCharWidth=N,exports.getReadableTextColor=Le,exports.hasMeasuredAdvance=se,exports.isDirection=y,exports.isInitDirective=w,exports.isMonospaceFont=I,exports.isWideChar=M,exports.measureMultilineText=B,exports.measureTextWidth=R,exports.mixHexColors=u,exports.mixSrgb=l,exports.normalizeBrTags=he,exports.parseCssColor=c,exports.parseHexColor=i,exports.parseHexRgba=a,exports.parseInitDirective=T,exports.parseStyleProps=q,exports.renderMultilineText=K,exports.renderMultilineTextWithBackground=ye,exports.resolveNodeStyle=Te,exports.safeHref=t,exports.sanitizeClassName=Ee,exports.setMonospaceMetrics=L,exports.splitClassShorthand=we,exports.splitStatements=_,exports.splitStatementsByLine=g,exports.stripFormattingTags=ge,exports.styleOpenTag=X,exports.svgOpenTag=ze,exports.themeStyleDeclarations=$,exports.toDirection=ne,exports.tryApplyClassAssignment=xe,exports.tryApplyClassDef=be,exports.tryApplyCssClass=Se,exports.tryApplyStyleStatement=Ce,exports.withDirectionOverride=b;
|
|
29
29
|
//# sourceMappingURL=index.cjs.map
|