@symbo.ls/mermaid 3.14.714 → 3.14.715

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @symbo.ls/mermaid
2
2
 
3
+ ## 3.14.715
4
+
5
+ ### Patch Changes
6
+
7
+ - Performance pass on the 3.14.827–3.14.832 batch, and opt-in View Transitions.
8
+
9
+ - Element create is faster than 3.14.826 again (kekela-like 4,068-element tree: create CPU min 1,265–1,355 ms vs 1,361–1,532 ms on 3.14.826). Per-definition caching of the extends merge layers (46,330 → 13,600 entries), no per-element source-text reads, one attribute writer.
10
+ - `css()` 3x faster (21 → 7 µs per call), byte-identical CSS output.
11
+ - Helmet renders a head layer only when its values change (20 `root.update({})` → 0 head renders, was 40). One runtime head writer: `applyElementMetadata`.
12
+ - brender/mermaid: registry script is escaped on the ISR and non-adopt paths; head/SSR output byte-identical otherwise.
13
+ - View Transitions for page switches (opt-in), `viewTransitionName` / `viewTransitionClass` flat props, `designSystem.viewTransition` animations.
14
+ - utils exports shared helpers used by helmet, frank, fetch and polyglot (escapeHtml, jsonForScript, alternateLinkKey, faviconLinkKey, bareLibraryKey, librarySpecsFor, polyglotLangStorageKey, ...).
15
+
16
+ - Updated dependencies
17
+ - @symbo.ls/utils@3.14.786
18
+
3
19
  ## 3.14.714
4
20
 
5
21
  ### Patch Changes
@@ -1,4 +1,6 @@
1
- import I from"./utils/logger.js";import Et from"./utils/vartranformer.js";import{getBundleScript as Tt,getSmblsIife as vt,getSmblsRuntimeVersion as _t}from"./bundle.js";import{deepDestringifyFunctions as It,isStringTag as W,markRevived as Ot}from"./utils/deepDestringify.js";import{transpile as K}from"./utils/funcql-transpile.js";import{normalizeRoute as Rt,resolvePageRoute as Nt}from"./route.js";import{generateMetaTags as Dt,getPageMetadata as xt,getImportMapScript as wt}from"@symbo.ls/utils";import{getTapStyles as Lt,getTapRuntimeSnippet as Pt}from"@symbo.ls/tap";import{resolveDeployIdentity as Bt,deployIdentityScript as At}from"./deployIdentity.js";const Mt=(t,o)=>{const e=parseInt(t,16);if(Number.isNaN(e))return t;const s=d=>d>255?255:d<0?0:d,n=s((e>>16)+o),i=s((e>>8&255)+o);return((s((e&255)+o)|i<<8|n<<16)+16777216).toString(16).slice(1)},q=(t,o)=>{if(typeof t!="string")return;if(o&&typeof o[t]=="string")return o[t];if(/^(#|rgb|hsl|var\(|[a-z]+$)/i.test(t))return t;const e=t.match(/^([a-z][a-z0-9]*)(?:\.(\d+))?([+-]\d+)?$/i);if(e&&(e[2]||e[3])){const s=o&&o[e[1]],n=typeof s=="string"&&s.match(/^#?([0-9a-f]{6})$/i);if(n){let i=n[1];if(e[3]&&(i=Mt(i,parseInt(e[3],10))),e[2]){const f=parseFloat("0."+e[2]),d=parseInt(i,16);return`rgba(${d>>16&255},${d>>8&255},${d&255},${f})`}return"#"+i}}},jt=process.env.BRENDER!=="false";let D=null,G=null,Q=null,M=null;if(jt)try{const t=await import("@symbo.ls/brender");D=t.renderRoute,G=t.generateSitemap,Q=t.prefetchPageData,M=t.adoptionScripts||null}catch(t){I.debug(`[MERMAID] Brender not available: ${t.message}`)}const kt=()=>{try{return(0,eval)("1"),!0}catch{return!1}},Ct=`<!doctype html>
1
+ import v from"./utils/logger.js";import $t from"./utils/vartranformer.js";import{getBundleScript as Et,getSmblsIife as Tt,getSmblsRuntimeVersion as vt}from"./bundle.js";import{deepDestringifyFunctions as _t,isStringTag as U,markRevived as It}from"./utils/deepDestringify.js";import{transpile as V}from"./utils/funcql-transpile.js";import{normalizeRoute as Ot,resolvePageRoute as Rt}from"./route.js";import{generateMetaTags as Dt,getPageMetadata as Nt,getImportMapScript as xt,jsonForScript as wt}from"@symbo.ls/utils";import{getTapStyles as Lt,getTapRuntimeSnippet as Pt}from"@symbo.ls/tap";import{resolveDeployIdentity as Bt,deployIdentityScript as At}from"./deployIdentity.js";const Mt=(t,r)=>{const s=parseInt(t,16);if(Number.isNaN(s))return t;const e=d=>d>255?255:d<0?0:d,n=e((s>>16)+r),i=e((s>>8&255)+r);return((e((s&255)+r)|i<<8|n<<16)+16777216).toString(16).slice(1)},W=(t,r)=>{if(typeof t!="string")return;if(r&&typeof r[t]=="string")return r[t];if(/^(#|rgb|hsl|var\(|[a-z]+$)/i.test(t))return t;const s=t.match(/^([a-z][a-z0-9]*)(?:\.(\d+))?([+-]\d+)?$/i);if(s&&(s[2]||s[3])){const e=r&&r[s[1]],n=typeof e=="string"&&e.match(/^#?([0-9a-f]{6})$/i);if(n){let i=n[1];if(s[3]&&(i=Mt(i,parseInt(s[3],10))),s[2]){const f=parseFloat("0."+s[2]),d=parseInt(i,16);return`rgba(${d>>16&255},${d>>8&255},${d&255},${f})`}return"#"+i}}},jt=process.env.BRENDER!=="false";let R=null,K=null,q=null,B=null;if(jt)try{const t=await import("@symbo.ls/brender");R=t.renderRoute,K=t.generateSitemap,q=t.prefetchPageData,B=t.adoptionScripts||null}catch(t){v.debug(`[MERMAID] Brender not available: ${t.message}`)}const G=({fontLinks:t,globalCSS:r=[],css:s})=>{const e=[];t&&e.push(t);const n=r.filter(Boolean).join(`
2
+ `);return n&&e.push(`<style data-brender>${n}</style>`),s&&e.push(`<style data-emotion="smbls">${s}</style>`),e.join(`
3
+ `)},kt=()=>{try{return(0,eval)("1"),!0}catch{return!1}},Ct=`<!doctype html>
2
4
  <html'\${{{ ROOT_ATTRS }}}'>
3
5
  <head>
4
6
  <meta charset="UTF-8" />
@@ -23,20 +25,16 @@ import I from"./utils/logger.js";import Et from"./utils/vartranformer.js";import
23
25
  <\/script>
24
26
  '\${{{ EDITOR }}}'
25
27
  </body>
26
- </html>`;function j(t,o=Array.isArray(t)?[]:{}){for(const e in t){if(!Object.prototype.hasOwnProperty.call(t,e))continue;const s=t[e];if(typeof s=="string"){const n=s.trim();if(n.startsWith("(")&&n.includes("=>")||n.startsWith("function")||n.startsWith("async ")){const f=K(s);o[e]=f?f.schema:null}else o[e]=s}else W(s)?o[e]=s.value:Array.isArray(s)?o[e]=s.map(n=>{if(typeof n=="string"){const i=n.trim();if(i.startsWith("(")&&i.includes("=>")||i.startsWith("function")||i.startsWith("async ")){const d=K(n);return d?d.schema:null}}return W(n)?n.value:n&&typeof n=="object"?j(n):n}):s&&typeof s=="object"&&!Array.isArray(s)?o[e]=j(s):o[e]=s}return Ot(o)}async function te(t,o={}){const{appkey:e,pathname:s="/",channel:n="production",userEnv:i=n,isProd:f=!1,req:d,query:Ft,userId:k,smblsIife:X,editorBundle:C,analyzedScript:Z="",indexHtml:tt,ssrCache:a,deployChannel:et,apiBaseUrl:st,evalAvailable:F,ssrWithoutEval:nt=process.env.BRENDER_WITHOUT_EVAL==="true",adoptDom:rt=!1}=o;if(!t)return{html:"",status:404,contentType:"text/html"};const J=typeof F=="boolean"?F:kt();if(typeof e=="string"&&e.includes("/")){const[p,y]=e.split("/");t.key||(t.key=y),t.owner||(t.owner=p)}const x=Rt(s),T=Nt(t.pages,s),O=i==="production"||i==="staging";let R="",w="",r=null,N=null,L="";if((a&&typeof a=="object"&&typeof a.html=="string"&&a.html?a:null)&&O){const p=t.__ssr&&typeof t.__ssr=="object"&&t.__ssr.__styles||{};R=(typeof p.sprite=="string"&&!/id="svgSprite"/.test(a.html)?p.sprite:"")+(a.html||"");const m=c=>a[c]!=null?a[c]:p[c],h=[];m("fontLinks")&&h.push(m("fontLinks"));const g=[m("globalCSS")||"",m("resetCss")||""].filter(Boolean).join(`
27
- `);g&&h.push(`<style data-brender>${g}</style>`),m("css")&&h.push(`<style data-emotion="smbls">${m("css")}</style>`),w=h.join(`
28
- `);const l=[];if(a.ssrTranslations){const u=(t.config||t.settings||{}).polyglot||t.polyglot,_=u?.storagePrefix||"",$=u?.storageLangKey||"",b=[];for(const S in a.ssrTranslations){const E=a.ssrTranslations[S];E&&typeof E=="object"&&b.push(`localStorage.setItem(${JSON.stringify(_+S)},${JSON.stringify(JSON.stringify(E))})`)}if($){const S=u?.defaultLang||"en";b.push(`if(!localStorage.getItem(${JSON.stringify($)}))localStorage.setItem(${JSON.stringify($)},${JSON.stringify(S)})`)}b.length&&l.push(`<script>try{${b.join(";")}}catch(e){}<\/script>`)}l.push("<script>window.__BRENDER__=true<\/script>"),L=l.join(`
29
- `),r={metadata:a.metadata,prefetchedState:a.prefetchedState,activeLang:a.activeLang}}else if(D&&O&&!J&&!nt)I.debug("[MERMAID] Brender skipped: eval is unavailable in this runtime (client render)");else if(D&&O)try{const p=T?T.route:x;I.debug(`[MERMAID] Running brender for route: ${p}`);const y=J;if(N=y?It(t):j(t),r=await D(N,{route:p,pathname:x}),r){R=r.html||"";const m=[];r.fontLinks&&m.push(r.fontLinks);const h=r.globalCSS||{},g=[h.rootRule||"",r.resetCss||"",h.keyframeRules||""].filter(Boolean).join(`
30
- `);g&&m.push(`<style data-brender>${g}</style>`),r.css&&m.push(`<style data-emotion="smbls">${r.css}</style>`),w=m.join(`
31
- `);const l=[];if(r.ssrTranslations){const u=(N?.config||{}).polyglot||N?.polyglot,_=u?.storagePrefix||"",$=u?.storageLangKey||"",b=[];for(const S in r.ssrTranslations){const E=r.ssrTranslations[S];E&&typeof E=="object"&&b.push(`localStorage.setItem(${JSON.stringify(_+S)},${JSON.stringify(JSON.stringify(E))})`)}if($){const S=u?.defaultLang||"en";b.push(`if(!localStorage.getItem(${JSON.stringify($)}))localStorage.setItem(${JSON.stringify($)},${JSON.stringify(S)})`)}b.length&&l.push(`<script>try{${b.join(";")}}catch(e){}<\/script>`)}if(rt&&y&&M){const c=M(r);c&&l.push(c)}else y&&r.brRegistry&&Object.keys(r.brRegistry).length&&l.push(`<script>window.__BR_REGISTRY__=${JSON.stringify(r.brRegistry)}<\/script>`);l.push("<script>window.__BRENDER__=true<\/script>"),L=l.join(`
32
- `),I.debug(`[MERMAID] Brender completed: body=${R.length}b, registry=${Object.keys(r.brRegistry||{}).length}`)}}catch(p){I.warn(`[MERMAID] Brender failed, falling back to client render: ${p.message}`)}const ot=Tt(e,t,d),H=_t(),it=wt(t,t?.settings?.cdnProvider||"symbols",{pin:H?{smbls:H}:void 0}),lt=t?.files&&t.files["index.html"],Y=tt||lt?.code||Ct,ct=Bt({deployChannel:et,channel:n,userEnv:i,apiBaseUrl:st}),z=At(ct),at=/\$\{\{\{\s*DEPLOY_IDENTITY\s*\}\}\}/.test(Y),pt=k?`<script>window.__SYMBOLS_AUTH__=${JSON.stringify({userId:k})}<\/script>`:"",P=r?.prefetchedState,ft=(t.config||t.settings||{}).polyglot||t.polyglot,dt=r?.activeLang||ft?.defaultLang||"en",mt=P&&Object.keys(P).length?{state:P,lang:dt,actualPathname:s}:{actualPathname:s},gt=r?.metadata&&Object.keys(r.metadata).length?r.metadata:xt(t,T?T.route:x,mt,{isProduction:f,channel:n}),ht=Dt(gt,f),B=X||vt();if(!B)return I.error("[MERMAID] smbls IIFE bundle not available"),{html:"Internal Server Error: smbls bundle not found",status:500,contentType:"text/plain"};const ut=C&&!f?`<script defer type="text/javascript">${C}<\/script>`:"",yt=f?`<!-- built with symbols.app -->
33
- `:`<!-- symbols | ${e} | ${i} | ${O?"ssr":"csr"} | noindex -->
34
- `,A=t.useDocumentTheme!==!1,v=t.globalTheme&&t.globalTheme!=="auto"?String(t.globalTheme):null,U=t.themeStorageKey?String(t.themeStorageKey):"",bt=A&&v?' data-theme="'+v+'"':"",St=A?"<script>(function(){try{var t=null;try{t=new URLSearchParams(location.search).get('globalTheme')}catch(e){}"+(U?"if(!t){try{t=localStorage.getItem("+JSON.stringify(U)+")}catch(e){}}":"")+"if(!t||t==='auto'){"+(v?"t="+JSON.stringify(v)+";":"try{t=window.matchMedia&&window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light'}catch(e){}")+`}if(t&&t!=='auto')document.documentElement.setAttribute('data-theme',t);}catch(e){}})();<\/script>
35
- <meta name="color-scheme" content="light dark">`:"";let V="";if(A){const p=t.designSystem||t.config&&t.config.designSystem||{},y=p.color||{},m=p.theme&&p.theme.document||{},h=l=>{const c=m["@"+l];if(!c)return null;const u=q(c.background,y),_=q(c.color,y);return[u&&`background:${u}`,_&&`color:${_}`].filter(Boolean).join(";")||null},g=[];if(v){const l=h(v);l&&g.push(`html{${l}}`)}else{const l=h("dark"),c=h("light");l&&(g.push(`@media (prefers-color-scheme:dark){:root:not([data-theme]) html{${l}}}`),g.push(`[data-theme="dark"] html{${l}}`)),c&&(g.push(`@media (prefers-color-scheme:light){:root:not([data-theme]) html{${c}}}`),g.push(`[data-theme="light"] html{${c}}`))}g.length&&(V=`<style>${g.join("")}</style>`)}const $t=typeof t.__criticalCss=="string"&&t.__criticalCss.trim()?`<style>${t.__criticalCss}</style>`:"";return{html:Et(yt+Y,{ROOT_ATTRS:bt,HEAD_BOOT:St+($t||V),META:ht+`
36
- `+w+`
37
- `+L+`
38
- `+pt,BUNDLE:ot,BODY:R,SMBLS_IIFE:at?B:z+`
39
- `+B,DEPLOY_IDENTITY:z,NODE_ENV:"'production'",IMPORTMAP:it,EDITOR:ut+Z},{allowScript:!0}),status:T&&T.notFound?404:200,contentType:"text/html"}}function ee(t,o="production",e=null){const s=o!=="production"?` (${o})`:"",n=e==="not_public",i=n?"Site Not Yet Public":"Not Published",f=n?`This site isn't public yet${s}`:`This project hasn't been published yet${s}`;return`<!doctype html>
28
+ </html>`;function A(t,r=Array.isArray(t)?[]:{}){for(const s in t){if(!Object.prototype.hasOwnProperty.call(t,s))continue;const e=t[s];if(typeof e=="string"){const n=e.trim();if(n.startsWith("(")&&n.includes("=>")||n.startsWith("function")||n.startsWith("async ")){const f=V(e);r[s]=f?f.schema:null}else r[s]=e}else U(e)?r[s]=e.value:Array.isArray(e)?r[s]=e.map(n=>{if(typeof n=="string"){const i=n.trim();if(i.startsWith("(")&&i.includes("=>")||i.startsWith("function")||i.startsWith("async ")){const d=V(n);return d?d.schema:null}}return U(n)?n.value:n&&typeof n=="object"?A(n):n}):e&&typeof e=="object"&&!Array.isArray(e)?r[s]=A(e):r[s]=e}return It(r)}async function te(t,r={}){const{appkey:s,pathname:e="/",channel:n="production",userEnv:i=n,isProd:f=!1,req:d,query:Ft,userId:M,smblsIife:Q,editorBundle:j,analyzedScript:X="",indexHtml:Z,ssrCache:a,deployChannel:tt,apiBaseUrl:et,evalAvailable:k,ssrWithoutEval:st=process.env.BRENDER_WITHOUT_EVAL==="true",adoptDom:nt=!1}=r;if(!t)return{html:"",status:404,contentType:"text/html"};const C=typeof k=="boolean"?k:kt();if(typeof s=="string"&&s.includes("/")){const[p,b]=s.split("/");t.key||(t.key=b),t.owner||(t.owner=p)}const D=Ot(e),E=Rt(t.pages,e),_=i==="production"||i==="staging";let I="",N="",o=null,O=null,x="";if((a&&typeof a=="object"&&typeof a.html=="string"&&a.html?a:null)&&_){const p=t.__ssr&&typeof t.__ssr=="object"&&t.__ssr.__styles||{};I=(typeof p.sprite=="string"&&!/id="svgSprite"/.test(a.html)?p.sprite:"")+(a.html||"");const S=l=>a[l]!=null?a[l]:p[l];N=G({fontLinks:S("fontLinks"),globalCSS:[S("globalCSS"),S("resetCss")],css:S("css")});const g=[];if(a.ssrTranslations){const c=(t.config||t.settings||{}).polyglot||t.polyglot,h=c?.storagePrefix||"",u=c?.storageLangKey||"",m=[];for(const y in a.ssrTranslations){const $=a.ssrTranslations[y];$&&typeof $=="object"&&m.push(`localStorage.setItem(${JSON.stringify(h+y)},${JSON.stringify(JSON.stringify($))})`)}if(u){const y=c?.defaultLang||"en";m.push(`if(!localStorage.getItem(${JSON.stringify(u)}))localStorage.setItem(${JSON.stringify(u)},${JSON.stringify(y)})`)}m.length&&g.push(`<script>try{${m.join(";")}}catch(e){}<\/script>`)}g.push("<script>window.__BRENDER__=true<\/script>"),x=g.join(`
29
+ `),o={metadata:a.metadata,prefetchedState:a.prefetchedState,activeLang:a.activeLang}}else if(R&&_&&!C&&!st)v.debug("[MERMAID] Brender skipped: eval is unavailable in this runtime (client render)");else if(R&&_)try{const p=E?E.route:D;v.debug(`[MERMAID] Running brender for route: ${p}`);const b=C;if(O=b?_t(t):A(t),o=await R(O,{route:p,pathname:D}),o){I=o.html||"";const S=o.globalCSS||{};N=G({fontLinks:o.fontLinks,globalCSS:[S.rootRule,o.resetCss,S.keyframeRules],css:o.css});const g=[];if(o.ssrTranslations){const c=(O?.config||{}).polyglot||O?.polyglot,h=c?.storagePrefix||"",u=c?.storageLangKey||"",m=[];for(const y in o.ssrTranslations){const $=o.ssrTranslations[y];$&&typeof $=="object"&&m.push(`localStorage.setItem(${JSON.stringify(h+y)},${JSON.stringify(JSON.stringify($))})`)}if(u){const y=c?.defaultLang||"en";m.push(`if(!localStorage.getItem(${JSON.stringify(u)}))localStorage.setItem(${JSON.stringify(u)},${JSON.stringify(y)})`)}m.length&&g.push(`<script>try{${m.join(";")}}catch(e){}<\/script>`)}if(nt&&b&&B){const l=B(o);l&&g.push(l)}else b&&o.brRegistry&&Object.keys(o.brRegistry).length&&g.push(`<script>window.__BR_REGISTRY__=${wt(o.brRegistry)}<\/script>`);g.push("<script>window.__BRENDER__=true<\/script>"),x=g.join(`
30
+ `),v.debug(`[MERMAID] Brender completed: body=${I.length}b, registry=${Object.keys(o.brRegistry||{}).length}`)}}catch(p){v.warn(`[MERMAID] Brender failed, falling back to client render: ${p.message}`)}const rt=Et(s,t,d),F=vt(),ot=xt(t,t?.settings?.cdnProvider||"symbols",{pin:F?{smbls:F}:void 0}),it=t?.files&&t.files["index.html"],J=Z||it?.code||Ct,lt=Bt({deployChannel:tt,channel:n,userEnv:i,apiBaseUrl:et}),H=At(lt),ct=/\$\{\{\{\s*DEPLOY_IDENTITY\s*\}\}\}/.test(J),at=M?`<script>window.__SYMBOLS_AUTH__=${JSON.stringify({userId:M})}<\/script>`:"",w=o?.prefetchedState,pt=(t.config||t.settings||{}).polyglot||t.polyglot,ft=o?.activeLang||pt?.defaultLang||"en",dt=w&&Object.keys(w).length?{state:w,lang:ft,actualPathname:e}:{actualPathname:e},gt=o?.metadata&&Object.keys(o.metadata).length?o.metadata:Nt(t,E?E.route:D,dt,{isProduction:f,channel:n}),mt=Dt(gt,f),L=Q||Tt();if(!L)return v.error("[MERMAID] smbls IIFE bundle not available"),{html:"Internal Server Error: smbls bundle not found",status:500,contentType:"text/plain"};const ht=j&&!f?`<script defer type="text/javascript">${j}<\/script>`:"",ut=f?`<!-- built with symbols.app -->
31
+ `:`<!-- symbols | ${s} | ${i} | ${_?"ssr":"csr"} | noindex -->
32
+ `,P=t.useDocumentTheme!==!1,T=t.globalTheme&&t.globalTheme!=="auto"?String(t.globalTheme):null,Y=t.themeStorageKey?String(t.themeStorageKey):"",yt=P&&T?' data-theme="'+T+'"':"",bt=P?"<script>(function(){try{var t=null;try{t=new URLSearchParams(location.search).get('globalTheme')}catch(e){}"+(Y?"if(!t){try{t=localStorage.getItem("+JSON.stringify(Y)+")}catch(e){}}":"")+"if(!t||t==='auto'){"+(T?"t="+JSON.stringify(T)+";":"try{t=window.matchMedia&&window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light'}catch(e){}")+`}if(t&&t!=='auto')document.documentElement.setAttribute('data-theme',t);}catch(e){}})();<\/script>
33
+ <meta name="color-scheme" content="light dark">`:"";let z="";if(P){const p=t.designSystem||t.config&&t.config.designSystem||{},b=p.color||{},S=p.theme&&p.theme.document||{},g=c=>{const h=S["@"+c];if(!h)return null;const u=W(h.background,b),m=W(h.color,b);return[u&&`background:${u}`,m&&`color:${m}`].filter(Boolean).join(";")||null},l=[];if(T){const c=g(T);c&&l.push(`html{${c}}`)}else{const c=g("dark"),h=g("light");c&&(l.push(`@media (prefers-color-scheme:dark){:root:not([data-theme]) html{${c}}}`),l.push(`[data-theme="dark"] html{${c}}`)),h&&(l.push(`@media (prefers-color-scheme:light){:root:not([data-theme]) html{${h}}}`),l.push(`[data-theme="light"] html{${h}}`))}l.length&&(z=`<style>${l.join("")}</style>`)}const St=typeof t.__criticalCss=="string"&&t.__criticalCss.trim()?`<style>${t.__criticalCss}</style>`:"";return{html:$t(ut+J,{ROOT_ATTRS:yt,HEAD_BOOT:bt+(St||z),META:mt+`
34
+ `+N+`
35
+ `+x+`
36
+ `+at,BUNDLE:rt,BODY:I,SMBLS_IIFE:ct?L:H+`
37
+ `+L,DEPLOY_IDENTITY:H,NODE_ENV:"'production'",IMPORTMAP:ot,EDITOR:ht+X},{allowScript:!0}),status:E&&E.notFound?404:200,contentType:"text/html"}}function ee(t,r="production",s=null){const e=r!=="production"?` (${r})`:"",n=s==="not_public",i=n?"Site Not Yet Public":"Not Published",f=n?`This site isn't public yet${e}`:`This project hasn't been published yet${e}`;return`<!doctype html>
40
38
  <html>
41
39
  <head>
42
40
  <meta charset="UTF-8">
@@ -59,7 +57,7 @@ import I from"./utils/logger.js";import Et from"./utils/vartranformer.js";import
59
57
  <div class="container">
60
58
  <h1>${f}</h1>
61
59
  <p>${n?"The owner has connected this domain but the project's visibility is set to private. Once they switch it to public in the workspace settings, the site will appear here automatically.":'Run <code>smbls publish</code> to deploy your project, or visit <a href="https://symbols.app">symbols.app</a> to get started.'}</p>
62
- <span class="env">${t}${s}</span>
60
+ <span class="env">${t}${e}</span>
63
61
  </div>
64
62
  </body>
65
- </html>`}export{Ct as DEFAULT_TEMPLATE_HTML,G as generateSitemap,Q as prefetchPageData,ee as renderNotPublishedHtml,te as renderProjectHtml,j as transpileFunctionStrings};
63
+ </html>`}export{Ct as DEFAULT_TEMPLATE_HTML,K as generateSitemap,q as prefetchPageData,ee as renderNotPublishedHtml,te as renderProjectHtml,A as transpileFunctionStrings};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symbo.ls/mermaid",
3
- "version": "3.14.714",
3
+ "version": "3.14.715",
4
4
  "type": "module",
5
5
  "license": "CC-BY-NC-4.0",
6
6
  "description": "Self-sustaining server runner for Symbols projects from JSON. Renders DOMQL projects to HTML with optional brender SSR.",
@@ -63,12 +63,12 @@
63
63
  "dependencies": {
64
64
  "@symbo.ls/channels": "^3.14.676",
65
65
  "@symbo.ls/tap": "^3.14.612",
66
- "@symbo.ls/utils": "^3.14.783",
66
+ "@symbo.ls/utils": "^3.14.786",
67
67
  "cors": "^2.8.6",
68
68
  "express": "^4.22.2"
69
69
  },
70
70
  "optionalDependencies": {
71
- "@symbo.ls/brender": "^3.14.663"
71
+ "@symbo.ls/brender": "^3.14.664"
72
72
  },
73
73
  "publishConfig": {
74
74
  "access": "public"