Socket
Socket
Sign inDemoInstall

satori

Package Overview
Dependencies
Maintainers
1
Versions
113
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

satori - npm Package Compare versions

Comparing version 0.0.8 to 0.0.9

2

dist/esm/index.js

@@ -1,2 +0,2 @@

var H=Object.defineProperty,Lt=Object.defineProperties,It=Object.getOwnPropertyDescriptor,At=Object.getOwnPropertyDescriptors,Ft=Object.getOwnPropertyNames,lt=Object.getOwnPropertySymbols;var mt=Object.prototype.hasOwnProperty,Ct=Object.prototype.propertyIsEnumerable;var ct=(t,r,e)=>r in t?H(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,B=(t,r)=>{for(var e in r||(r={}))mt.call(r,e)&&ct(t,e,r[e]);if(lt)for(var e of lt(r))Ct.call(r,e)&&ct(t,e,r[e]);return t},pt=(t,r)=>Lt(t,At(r)),Nt=t=>H(t,"__esModule",{value:!0});var dt=(t,r)=>()=>(t&&(r=t(t=0)),r);var Ot=(t,r)=>{for(var e in r)H(t,e,{get:r[e],enumerable:!0})},kt=(t,r,e,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of Ft(r))!mt.call(t,a)&&(e||a!=="default")&&H(t,a,{get:()=>r[a],enumerable:!(i=It(r,a))||i.enumerable});return t};var vt=(t=>(r,e)=>t&&t.get(r)||(e=kt(Nt({}),r,1),t&&t.set(r,e),e))(typeof WeakMap!="undefined"?new WeakMap:0);var m=dt(()=>{});var gt={};Ot(gt,{default:()=>Gt});import{default as Gt}from"yoga-layout-prebuilt";var ht=dt(()=>{m()});m();m();m();var K;K=(ht(),vt(gt)).default;function Wt(t){K=t}function C(){return K}m();m();function q(t){let r=typeof t;return!(r==="number"||r==="bigint"||r==="string"||r==="boolean")}function bt(t){return/^class\s/.test(Function.prototype.toString.call(t))}function D(t,r){return[t[0]*r[0]+t[2]*r[1],t[1]*r[0]+t[3]*r[1],t[0]*r[2]+t[2]*r[3],t[1]*r[2]+t[3]*r[3],t[0]*r[4]+t[2]*r[5]+t[4],t[1]*r[4]+t[3]*r[5]+t[5]]}function A(t,r,e){let i=r[t];return typeof i=="undefined"?e:i}m();m();var yt={p:{display:"block",marginTop:"1em",marginBottom:"1em"},div:{display:"block"},blockquote:{display:"block",marginTop:"1em",marginBottom:"1em",marginLeft:40,marginRight:40},center:{display:"block",textAlign:"center"},hr:{display:"block",marginTop:"0.5em",marginBottom:"0.5em",marginLeft:"auto",marginRight:"auto",borderWidth:1,borderStyle:"inset"},h1:{display:"block",fontSize:"2em",marginTop:"0.67em",marginBottom:"0.67em",marginLeft:0,marginRight:0,fontWeight:"bold"},h2:{display:"block",fontSize:"1.5em",marginTop:"0.83em",marginBottom:"0.83em",marginLeft:0,marginRight:0,fontWeight:"bold"},h3:{display:"block",fontSize:"1.17em",marginTop:"1em",marginBottom:"1em",marginLeft:0,marginRight:0,fontWeight:"bold"},h4:{display:"block",marginTop:"1.33em",marginBottom:"1.33em",marginLeft:0,marginRight:0,fontWeight:"bold"},h5:{display:"block",fontSize:"0.83em",marginTop:"1.67em",marginBottom:"1.67em",marginLeft:0,marginRight:0,fontWeight:"bold"},h6:{display:"block",fontSize:"0.67em",marginTop:"2.33em",marginBottom:"2.33em",marginLeft:0,marginRight:0,fontWeight:"bold"},u:{textDecoration:"underline"},strong:{fontWeight:"bold"},b:{fontWeight:"bold"},i:{fontStyle:"italic"},em:{fontStyle:"italic"},code:{fontFamily:"monospace"},kbd:{fontFamily:"monospace"},pre:{display:"block",fontFamily:"monospace",whiteSpace:"pre",marginTop:"1em",marginBottom:"1em"},mark:{backgroundColor:"yellow",color:"black"},big:{fontSize:"larger"},small:{fontSize:"smaller"},s:{textDecoration:"line-through"}};m();var wt=new Set(["color","font","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textTransform","whiteSpace","letterSpacing","transform","wordBreak","opacity"]);function Z(t){let r={};for(let e in t)wt.has(e)&&(r[e]=t[e]);return r}m();import{getPropertyName as Et,getStylesForProperty as Pt}from"css-to-react-native";import _t from"parse-css-dimension";import{parseElementStyle as Bt}from"css-background-parser";var Dt=new Set(["flex","flexGrow","flexShrink","flexBasis","fontWeight","lineHeight","opacity","scale","scaleX","scaleY"]),xt=[1,0,0,1,0,0];function Mt(t,r){return typeof r=="number"?Dt.has(t)?String(r):r+"px":r}function $t(t,r){if(typeof t=="number")return t;try{let e=new _t(t);if(e.type==="length")switch(e.unit){case"em":return e.value*r;case"rem":return e.value*16;default:return e.value}else if(e.type==="angle")switch(e.unit){case"deg":return e.value;case"rad":return e.value*180/Math.PI;default:return e.value}}catch{}}function V(t,r){let e=[];for(let o in t){let n=Et(o);e.push([n,Mt(n,t[o])])}let i=e.reduce((o,n)=>{let s=Et(n[0]),l=n[1];return Object.assign(o,Pt(s,l,!0))},{});if(i.backgroundImage){let{backgrounds:o}=Bt(i);i.backgroundImage=o}let a=i.fontSize||r.fontSize;if(typeof a=="string")try{let o=new _t(a);switch(o.unit){case"em":a=o.value*r.fontSize;break;case"rem":a=o.value*16;break}}catch{a=16}i.fontSize=a;for(let o in i){let n=i[o];if(typeof n=="string"){let s=$t(n,a);typeof s!="undefined"&&(i[o]=s),n=i[o]}if(o==="opacity"&&(n=i[o]=n*r.opacity),o==="transform"){let s=[...xt],l=n;for(let f of l){let d=Object.keys(f)[0],g=f[d],p=typeof g=="string"?$t(g,a):g,u=[...xt];switch(d){case"translateX":u[4]=p;break;case"translateY":u[5]=p;break;case"scaleX":u[0]=p;break;case"scaleY":u[3]=p;break;case"rotate":let b=p*Math.PI/180,R=Math.cos(b),T=Math.sin(b);u[0]=R,u[1]=T,u[2]=-T,u[3]=R;break;case"skewX":u[2]=Math.tan(p*Math.PI/180);break;case"skewY":u[1]=Math.tan(p*Math.PI/180);break}s=D(u,s)}i.transform=s}}return i}function Q(t,r,e,i,a){let o=C(),n=B(B(B({},e),V(yt[r],e)),V(i,e));if(r==="img"){let s=parseInt(a.width),f=parseInt(a.height)/s;n.width||(n.width=s),n.height||(n.height=f*n.width)}return t.setDisplay(A(n.display,{flex:o.DISPLAY_FLEX,none:o.DISPLAY_NONE},o.DISPLAY_FLEX)),t.setAlignContent(A(n.alignContent,{stretch:o.ALIGN_STRETCH,center:o.ALIGN_CENTER,"flex-start":o.ALIGN_FLEX_START,"flex-end":o.ALIGN_FLEX_END,"space-between":o.ALIGN_SPACE_BETWEEN,"space-around":o.ALIGN_SPACE_AROUND,baseline:o.ALIGN_BASELINE,normal:o.ALIGN_AUTO},o.ALIGN_AUTO)),t.setAlignItems(A(n.alignItems,{stretch:o.ALIGN_STRETCH,center:o.ALIGN_CENTER,"flex-start":o.ALIGN_FLEX_START,"flex-end":o.ALIGN_FLEX_END,baseline:o.ALIGN_BASELINE,normal:o.ALIGN_AUTO},o.ALIGN_FLEX_START)),t.setAlignSelf(A(n.alignSelf,{stretch:o.ALIGN_STRETCH,center:o.ALIGN_CENTER,"flex-start":o.ALIGN_FLEX_START,"flex-end":o.ALIGN_FLEX_END,baseline:o.ALIGN_BASELINE,normal:o.ALIGN_AUTO},o.ALIGN_AUTO)),t.setJustifyContent(A(n.justifyContent,{center:o.JUSTIFY_CENTER,"flex-start":o.JUSTIFY_FLEX_START,"flex-end":o.JUSTIFY_FLEX_END,"space-between":o.JUSTIFY_SPACE_BETWEEN,"space-around":o.JUSTIFY_SPACE_AROUND},o.JUSTIFY_FLEX_START)),t.setFlexDirection(A(n.flexDirection,{row:o.FLEX_DIRECTION_ROW,column:o.FLEX_DIRECTION_COLUMN,"row-reverse":o.FLEX_DIRECTION_ROW_REVERSE,"column-reverse":o.FLEX_DIRECTION_COLUMN_REVERSE},o.FLEX_DIRECTION_ROW)),t.setFlexWrap(A(n.flexWrap,{wrap:o.WRAP_WRAP,nowrap:o.WRAP_NO_WRAP,"wrap-reverse":o.WRAP_WRAP_REVERSE},o.WRAP_WRAP)),typeof n.flexBasis!="undefined"&&t.setFlexBasis(n.flexBasis),t.setFlexGrow(typeof n.flexGrow=="undefined"?0:n.flexGrow),t.setFlexShrink(typeof n.flexShrink=="undefined"?1:n.flexShrink),typeof n.maxHeight!="undefined"&&t.setMaxHeight(n.maxHeight),typeof n.maxWidth!="undefined"&&t.setMaxWidth(n.maxWidth),typeof n.minHeight!="undefined"&&t.setMinHeight(n.minHeight),typeof n.minWidth!="undefined"&&t.setMinWidth(n.minWidth),t.setOverflow(A(n.overflow,{visible:o.OVERFLOW_VISIBLE,hidden:o.OVERFLOW_HIDDEN},o.OVERFLOW_VISIBLE)),t.setMargin(o.EDGE_TOP,n.marginTop||0),t.setMargin(o.EDGE_BOTTOM,n.marginBottom||0),t.setMargin(o.EDGE_LEFT,n.marginLeft||0),t.setMargin(o.EDGE_RIGHT,n.marginRight||0),t.setBorder(o.EDGE_TOP,n.borderWidth||0),t.setBorder(o.EDGE_BOTTOM,n.borderWidth||0),t.setBorder(o.EDGE_LEFT,n.borderWidth||0),t.setBorder(o.EDGE_RIGHT,n.borderWidth||0),t.setPadding(o.EDGE_TOP,n.paddingTop||0),t.setPadding(o.EDGE_BOTTOM,n.paddingBottom||0),t.setPadding(o.EDGE_LEFT,n.paddingLeft||0),t.setPadding(o.EDGE_RIGHT,n.paddingRight||0),t.setPositionType(A(n.position,{absolute:o.POSITION_TYPE_ABSOLUTE,relative:o.POSITION_TYPE_RELATIVE},o.POSITION_TYPE_RELATIVE)),typeof n.top!="undefined"&&t.setPosition(o.EDGE_TOP,n.top),typeof n.bottom!="undefined"&&t.setPosition(o.EDGE_BOTTOM,n.bottom),typeof n.left!="undefined"&&t.setPosition(o.EDGE_LEFT,n.left),typeof n.right!="undefined"&&t.setPosition(o.EDGE_RIGHT,n.right),typeof n.height!="undefined"?t.setHeight(n.height):t.setHeightAuto(),typeof n.width!="undefined"?t.setWidth(n.width):t.setWidthAuto(),[n,Z(n)]}m();import{LineBreaker as Yt}from"css-line-break";m();m();function M({left:t,top:r,width:e,height:i},a,o){let n;if(o)n=a;else{let s=t+e/2,l=r+i/2;n=D([1,0,0,1,s,l],D(a,[1,0,0,1,-s,-l])),a.__parent&&(n=D(a.__parent,n)),a.splice(0,6,...n)}return`matrix(${n.map(s=>s.toFixed(2)).join(",")})`}function tt({content:t,left:r,top:e,width:i,height:a,isInheritingTransform:o,path:n,debug:s},l){let f="",d=1,g="";return l.transform&&(f=M({left:r,top:e,width:i,height:a},l.transform,o)),l.opacity&&(d=+l.opacity),s&&(g=`<rect x="${r}" y="${e}" width="${i}" height="${n===null?.5:a}" fill="transparent" stroke="#575eff" stroke-width="1" ${f?`transform="${f}"`:""}></rect>`),n===null?`<text x="${r}" y="${e}" width="${i}" height="${a}" fill="${l.color}" font-weight="${l.fontWeight}" font-style="${l.fontStyle}" font-size="${l.fontSize}" font-family="${l.fontFamily}" ${l.letterSpacing?`letter-spacing="${l.letterSpacing}"`:""} ${f?`transform="${f}"`:""} ${d!==1?`opacity="${d}"`:""}>${t}</text>${g}`:`<path fill="${l.color}" ${f?`transform="${f}"`:""} ${d!==1?`opacity="${d}"`:""} d="${n}"></path>${g}`}function*et(t,r){let e=C(),{parentStyle:i,parent:a,font:o,id:n,isInheritingTransform:s,debug:l,embedFont:f}=r,d=Yt(t,{lineBreak:"strict",wordBreak:A(i.wordBreak,{normal:"normal","break-all":"break-all","break-word":"break-word","keep-all":"keep-all"},"normal")}),g=[];for(let _;!(_=d.next()).done;)g.push(_.value.slice());let p=[];a.setAlignItems(e.ALIGN_BASELINE),i.textAlign==="left"?a.setJustifyContent(e.JUSTIFY_FLEX_START):i.textAlign==="center"?a.setJustifyContent(e.JUSTIFY_CENTER):i.textAlign==="right"?a.setJustifyContent(e.JUSTIFY_FLEX_END):i.textAlign==="justify"&&a.setJustifyContent(e.JUSTIFY_SPACE_BETWEEN);let u=o.getFont(i);for(let _ of g){let S=e.Node.create();a.insertChild(S,a.getChildCount());let y=o.measure(u,_,i);S.setWidth(y.width),S.setHeight(y.ascent*1.2),S.setMargin(e.EDGE_BOTTOM,y.descent*1.2),p.push(S)}let[b,R]=yield,T="";for(let _=0;_<p.length;_++){let S=p[_],y=g[_];i.position==="absolute"&&S.calculateLayout();let{left:F,top:N,width:O,height:k}=S.getComputedLayout();F+=b,N+=R;let W=null;f?W=o.getSVG(u,y,pt(B({},i),{top:N,left:F,letterSpacing:i.letterSpacing})):N+=o.getAscent(u,i),T+=tt({content:y,id:n,left:F,top:N,width:O,height:k,isInheritingTransform:s,path:W,debug:l},i)}return T}m();m();m();var rt=rt||{};rt.parse=function(){var t={linearGradient:/^(\-(webkit|o|ms|moz)\-)?(linear\-gradient)/i,repeatingLinearGradient:/^(\-(webkit|o|ms|moz)\-)?(repeating\-linear\-gradient)/i,radialGradient:/^(\-(webkit|o|ms|moz)\-)?(radial\-gradient)/i,repeatingRadialGradient:/^(\-(webkit|o|ms|moz)\-)?(repeating\-radial\-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,percentageValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,emValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,angleValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^\#([0-9a-fA-F]+)/,literalColor:/^([a-zA-Z]+)/,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,number:/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/},r="";function e(c){var h=new Error(r+": "+c);throw h.source=r,h}function i(){var c=a();return r.length>0&&e("Invalid input not EOF"),c}function a(){return y(o)}function o(){return n("linear-gradient",t.linearGradient,l)||n("repeating-linear-gradient",t.repeatingLinearGradient,l)||n("radial-gradient",t.radialGradient,g)||n("repeating-radial-gradient",t.repeatingRadialGradient,g)}function n(c,h,E){return s(h,function(G){var ut=E();return ut&&(v(t.comma)||e("Missing comma before color stops")),{type:c,orientation:ut,colorStops:y(F)}})}function s(c,h){var E=v(c);if(E){v(t.startCall)||e("Missing (");var G=h(E);return v(t.endCall)||e("Missing )"),G}}function l(){return f()||d()}function f(){return I("directional",t.sideOrCorner,1)}function d(){return I("angular",t.angleValue,1)}function g(){var c,h=p(),E;return h&&(c=[],c.push(h),E=r,v(t.comma)&&(h=p(),h?c.push(h):r=E)),c}function p(){var c=u()||b();if(c)c.at=T();else{var h=R();if(h){c=h;var E=T();E&&(c.at=E)}else{var G=_();G&&(c={type:"default-radial",at:G})}}return c}function u(){var c=I("shape",/^(circle)/i,0);return c&&(c.style=st()||R()),c}function b(){var c=I("shape",/^(ellipse)/i,0);return c&&(c.style=L()||R()),c}function R(){return I("extent-keyword",t.extentKeywords,1)}function T(){if(I("position",/^at/,0)){var c=_();return c||e("Missing positioning value"),c}}function _(){var c=S();if(c.x||c.y)return{type:"position",value:c}}function S(){return{x:L(),y:L()}}function y(c){var h=c(),E=[];if(h)for(E.push(h);v(t.comma);)h=c(),h?E.push(h):e("One extra comma");return E}function F(){var c=N();return c||e("Expected color definition"),c.length=L(),c}function N(){return k()||z()||W()||O()}function O(){return I("literal",t.literalColor,0)}function k(){return I("hex",t.hexColor,1)}function W(){return s(t.rgbColor,function(){return{type:"rgb",value:y(w)}})}function z(){return s(t.rgbaColor,function(){return{type:"rgba",value:y(w)}})}function w(){return v(t.number)[1]}function L(){return I("%",t.percentageValue,1)||P()||st()}function P(){return I("position-keyword",t.positionKeywords,1)}function st(){return I("px",t.pixelValue,1)||I("em",t.emValue,1)}function I(c,h,E){var G=v(h);if(G)return{type:c,value:G[E]}}function v(c){var h,E;return E=/^[\n\r\t\s]+/.exec(r),E&&ft(E[0].length),h=c.exec(r),h&&ft(h[0].length),h}function ft(c){r=r.substr(c)}return function(c){return r=c.toString(),i()}}();var St=rt;function Xt(t){return t.type==="literal"?t.value:t.type==="hex"?`#${t.value}`:t.type==="rgb"?`rgb(${t.value.join(",")})`:t.type==="rgba"?`rgba(${t.value.join(",")})`:"transparent"}function nt({id:t,width:r},{image:e}){if(e.startsWith("linear-gradient(")){let i=St.parse(e)[0],a,o,n,s;if(i.orientation.type==="directional")[a,o,n,s]={top:[0,1,0,0],bottom:[0,0,0,1],left:[1,0,0,0],right:[0,0,1,0]}[i.orientation.value];else if(i.orientation.type==="angular"){let u=+i.orientation.value/180*Math.PI-Math.PI/2,b=Math.cos(u),R=Math.sin(u);a=0,o=0,n=b,s=R,n<0&&(a-=n,n=0),s<0&&(o-=s,s=0)}let l=r,f=[];for(let u of i.colorStops){let b=Xt(u);if(!f.length&&(f.push({offset:0,color:b}),typeof u.length=="undefined"||u.length.value==="0"))continue;let R=typeof u.length=="undefined"?void 0:u.length.type==="%"?u.length.value/100:u.length.value/l;f.push({offset:R,color:b})}f.length||f.push({offset:0,color:"transparent"});let d=f[f.length-1];d.offset!==1&&(typeof d.offset=="undefined"?d.offset=1:f.push({offset:1,color:d.color}));let g=0,p=1;for(let u=0;u<f.length;u++)if(typeof f[u].offset=="undefined"){for(p<u&&(p=u);typeof f[p].offset=="undefined";)p++;f[u].offset=(f[p].offset-f[g].offset)/(p-g)*(u-g)+f[g].offset}else g=u;return[`satori_bi${t}`,`<linearGradient id="satori_bi${t}" x1="${a}" y1="${o}" x2="${n}" y2="${s}">${f.map(u=>`<stop offset="${u.offset*100}%" stop-color="${u.color}"/>`).join("")}</linearGradient>`]}if(e.startsWith("url(")){let i=e.slice(4,-1);return[`satori_bi${t}`,`<pattern id="satori_bi${t}" patternContentUnits="objectBoundingBox" width="1" height="1"><image href="${i}" x="0" y="0" width="1" height="1"/></pattern>`]}}m();function J(t,r,e){return e<t+r&&(e/2<t&&e/2<r?t=r=e/2:e/2<t?t=e-r:e/2<r&&(r=e-t)),[t,r]}function Y({left:t,top:r,width:e,height:i},a){let{borderTopLeftRadius:o,borderTopRightRadius:n,borderBottomLeftRadius:s,borderBottomRightRadius:l}=a;return o=Math.min(o||0,e,i),n=Math.min(n||0,e,i),s=Math.min(s||0,e,i),l=Math.min(l||0,e,i),!o&&!n&&!s&&!l?"":([o,n]=J(o,n,e),[o,s]=J(o,s,i),[n,l]=J(n,l,i),[s,l]=J(s,l,e),`M${t+o},${r} h${e-o-n} a${n},${n} 0 0 1 ${n},${n} v${i-n-l} a${l},${l} 0 0 1 ${-l},${l} h${l+s-e} a${s},${s} 0 0 1 ${-s},${-s} v${s+o-i} a${o},${o} 0 0 1 ${o},${-o}`)}m();function X({id:t,width:r,height:e},i){if(!i.shadowColor||!i.shadowOffset||typeof i.shadowRadius=="undefined")return"";let a=Math.min(i.shadowOffset.width-i.shadowRadius*2,0),o=Math.max(i.shadowOffset.width+i.shadowRadius*2+r,r),n=Math.min(i.shadowOffset.height-i.shadowRadius*2,0),s=Math.max(i.shadowOffset.height+i.shadowRadius*2+e,e);return`<defs><filter id="satori_s-${t}" x="${a/r*100}%" y="${n/e*100}%" width="${(o-a)/r*100}%" height="${(s-n)/e*100}%"><feDropShadow dx="${i.shadowOffset.width}" dy="${i.shadowOffset.height}" stdDeviation="${i.shadowRadius}" flood-color="${i.shadowColor}" flood-opacity="1"/></filter></defs>`}function ot({id:t,left:r,top:e,width:i,height:a,isInheritingTransform:o,debug:n},s){if(s.display==="none")return"";let l="rect",f="transparent",d=0,g="",p="",u=[],b=1,R="";if(s.backgroundColor&&u.push(s.backgroundColor),s.borderWidth&&(d=s.borderWidth,f=s.borderColor),s.opacity&&(b=+s.opacity),s.transform&&(g=M({left:r,top:e,width:i,height:a},s.transform,o)),s.backgroundImage){let S=s.backgroundImage.map((y,F)=>nt({id:t+"_"+F,width:i,height:a},y)).filter(Boolean);for(let y of S)p+=y[1],u.push(`url(#${y[0]})`)}let T=Y({left:r,top:e,width:i,height:a},s);T&&(l="path");let _=X({width:i,height:a,id:t},s);return u.length||u.push("transparent"),n&&(R=`<rect x="${r}" y="${e}" width="${i}" height="${a}" fill="transparent" stroke="#ff5757" stroke-width="1" ${g?`transform="${g}"`:""}></rect>`),`${p?`<defs>${p}</defs>`:""}${_?`${_}<g filter="url(#satori_s-${t})">`:""}${b!==1?`<g opacity="${b}">`:""}${u.map((S,y)=>S==="transparent"&&!(y===u.length-1&&d)?"":`<${l} x="${r}" y="${e}" width="${i}" height="${a}" fill="${S}" ${y===u.length-1&&d?`stroke="${f}" stroke-width="${d}"`:""} ${T?`d="${T}"`:""} ${g?`transform="${g}"`:""}></${l}>`).join("")}${b!==1?"</g>":""}${_?"</g>":""}${R}`}m();function it({id:t,left:r,top:e,width:i,height:a,src:o,debug:n},s){if(s.display==="none")return"";let l="",f=1,d=s.objectFit==="contain"?"xMidYMid":s.objectFit==="cover"?"xMidYMid slice":"none",g=Y({left:r,top:e,width:i,height:a},s);g&&(l=`<clipPath id="satori_c-${t}"><path x="${r}" y="${e}" width="${i}" height="${a}" d="${g}"></path></clipPath>`),s.opacity&&(f=+s.opacity);let p=X({width:i,height:a,id:t},s);return`${p}${p?`<g filter="url(#satori_s-${t})">`:""}${l}<image href="${o}" x="${r}" y="${e}" width="${i}" height="${a}" preserveAspectRatio="${d}" ${l?`clip-path="url(#satori_c-${t})"`:""} ${f!==1?`opacity="${f}"`:""}></image>${p?"</g>":""}`}function*U(t,r){let e=C(),{id:i,inheritedStyle:a,parent:o,font:n,debug:s,embedFont:l=!0}=r;if(t===null||typeof t=="undefined")return yield,"";if(!q(t)||typeof t.type=="function"){let L;if(!q(t))L=et(String(t),r);else{if(bt(t.type))throw new Error("Class component is not supported.");L=U(t.type(t.props),r)}L.next();let P=yield;return L.next(P).value}let{type:f,props:d}=t,{style:g,children:p}=d,u=e.Node.create();o.insertChild(u,o.getChildCount());let[b,R]=Q(u,f,a,g,d),T=b.transform===a.transform;T||(b.transform.__parent=a.transform);let _=typeof p=="undefined"?[]:[].concat(p),S=[],y=0;for(let L of _){let P=U(L,{id:i*_.length+ ++y,parentStyle:b,inheritedStyle:R,isInheritingTransform:!0,parent:u,font:n,embedFont:l,debug:s});P.next(),S.push(P)}let[F,N]=yield;b.position==="absolute"&&u.calculateLayout();let{left:O,top:k,width:W,height:z}=u.getComputedLayout();O+=F,k+=N;let w="";f==="img"?w=it({id:i,left:O,top:k,width:W,height:z,src:d.src,isInheritingTransform:T,debug:s},b):w=ot({id:i,left:O,top:k,width:W,height:z,isInheritingTransform:T,debug:s},b);for(let L of S)w+=L.next([O,k]).value;return w}m();import Rt from"opentype.js";var j=class{constructor(r){this.fonts=new Map;for(let e of r){let i=e.data,a="buffer"in i?Rt.parse(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)):Rt.parse(i);this.defaultFont||(this.defaultFont=a),this.fonts.has(e.name)||this.fonts.set(e.name,[]),this.fonts.get(e.name).push([a,e.weight,e.style])}}get({name:r,weight:e,style:i}){if(!this.fonts.has(r))return this.defaultFont;e==="normal"&&(e=400),e==="bold"&&(e=700);let a=[...this.fonts.get(r)];return a.sort(([o,n,s],[l,f,d])=>{if(n!==f)return n?!f||n===e?-1:f===e?1:e===400&&n===500||e===500&&n===400?-1:e===400&&f===500||e===500&&f===400?1:e<400?n<e&&f<e?f-n:n<e?-1:f<e?1:n-f:e<n&&e<f?n-f:e<n?-1:e<f?1:f-n:1;if(s!==d){if(s===i)return-1;if(d===i)return 1}return-1}),a[0][0]}getFont({fontFamily:r,fontWeight:e=400,fontStyle:i="normal"}){return this.get({name:r,weight:e,style:i})}measure(r,e,{fontSize:i,letterSpacing:a=0}){return{width:r.getAdvanceWidth(e,i,{letterSpacing:a/i}),ascent:r.ascender/r.unitsPerEm*i,descent:-(r.descender/r.unitsPerEm)*i}}getSVG(r,e,{fontSize:i,top:a,left:o,letterSpacing:n=0}){return a+=r.ascender/r.unitsPerEm*i,r.getPath(e,o,a,i,{letterSpacing:n/i}).toPathData(2)}getAscent(r,{fontSize:e}){return r.ascender/r.unitsPerEm*e}};m();function at({width:t,height:r,content:e},i){return`<svg width="${t}" height="${r}" viewBox="0 0 ${t} ${r}" xmlns="http://www.w3.org/2000/svg">${e}</svg>`}function Tt(t,r){let e=C();if(!e)throw new Error("Satori is not initialized.");let i=new j(r.fonts),a=e.Node.create();a.setWidth(r.width),a.setHeight(r.height),a.setFlexDirection(e.FLEX_DIRECTION_ROW),a.setFlexWrap(e.WRAP_WRAP),a.setAlignContent(e.ALIGN_AUTO),a.setAlignItems(e.ALIGN_FLEX_START),a.setJustifyContent(e.JUSTIFY_FLEX_START);let o=U(t,{id:1,parentStyle:{},inheritedStyle:{fontSize:16,fontWeight:"normal",fontFamily:"serif",fontStyle:"normal",lineHeight:1.2,color:"black",opacity:1},parent:a,font:i,embedFont:r.embedFont,debug:r.debug});o.next(),a.calculateLayout(r.width,r.height,e.DIRECTION_LTR);let n=o.next([0,0]).value;return at({width:r.width,height:r.height,content:n})}export{Tt as default,Wt as init};
var H=Object.defineProperty,Lt=Object.defineProperties,It=Object.getOwnPropertyDescriptor,At=Object.getOwnPropertyDescriptors,Ft=Object.getOwnPropertyNames,lt=Object.getOwnPropertySymbols;var mt=Object.prototype.hasOwnProperty,Ct=Object.prototype.propertyIsEnumerable;var ct=(t,r,e)=>r in t?H(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,B=(t,r)=>{for(var e in r||(r={}))mt.call(r,e)&&ct(t,e,r[e]);if(lt)for(var e of lt(r))Ct.call(r,e)&&ct(t,e,r[e]);return t},pt=(t,r)=>Lt(t,At(r)),Nt=t=>H(t,"__esModule",{value:!0});var dt=(t,r)=>()=>(t&&(r=t(t=0)),r);var Ot=(t,r)=>{for(var e in r)H(t,e,{get:r[e],enumerable:!0})},kt=(t,r,e,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of Ft(r))!mt.call(t,a)&&(e||a!=="default")&&H(t,a,{get:()=>r[a],enumerable:!(i=It(r,a))||i.enumerable});return t};var vt=(t=>(r,e)=>t&&t.get(r)||(e=kt(Nt({}),r,1),t&&t.set(r,e),e))(typeof WeakMap!="undefined"?new WeakMap:0);var m=dt(()=>{});var gt={};Ot(gt,{default:()=>Gt});import{default as Gt}from"yoga-layout-prebuilt";var ht=dt(()=>{m()});m();m();m();var V;{let t=(ht(),vt(gt));t.default?V=t.default:V=t}function Wt(t){V=t}function C(){return V}m();m();function q(t){let r=typeof t;return!(r==="number"||r==="bigint"||r==="string"||r==="boolean")}function bt(t){return/^class\s/.test(Function.prototype.toString.call(t))}function D(t,r){return[t[0]*r[0]+t[2]*r[1],t[1]*r[0]+t[3]*r[1],t[0]*r[2]+t[2]*r[3],t[1]*r[2]+t[3]*r[3],t[0]*r[4]+t[2]*r[5]+t[4],t[1]*r[4]+t[3]*r[5]+t[5]]}function A(t,r,e){let i=r[t];return typeof i=="undefined"?e:i}m();m();var yt={p:{display:"block",marginTop:"1em",marginBottom:"1em"},div:{display:"block"},blockquote:{display:"block",marginTop:"1em",marginBottom:"1em",marginLeft:40,marginRight:40},center:{display:"block",textAlign:"center"},hr:{display:"block",marginTop:"0.5em",marginBottom:"0.5em",marginLeft:"auto",marginRight:"auto",borderWidth:1,borderStyle:"inset"},h1:{display:"block",fontSize:"2em",marginTop:"0.67em",marginBottom:"0.67em",marginLeft:0,marginRight:0,fontWeight:"bold"},h2:{display:"block",fontSize:"1.5em",marginTop:"0.83em",marginBottom:"0.83em",marginLeft:0,marginRight:0,fontWeight:"bold"},h3:{display:"block",fontSize:"1.17em",marginTop:"1em",marginBottom:"1em",marginLeft:0,marginRight:0,fontWeight:"bold"},h4:{display:"block",marginTop:"1.33em",marginBottom:"1.33em",marginLeft:0,marginRight:0,fontWeight:"bold"},h5:{display:"block",fontSize:"0.83em",marginTop:"1.67em",marginBottom:"1.67em",marginLeft:0,marginRight:0,fontWeight:"bold"},h6:{display:"block",fontSize:"0.67em",marginTop:"2.33em",marginBottom:"2.33em",marginLeft:0,marginRight:0,fontWeight:"bold"},u:{textDecoration:"underline"},strong:{fontWeight:"bold"},b:{fontWeight:"bold"},i:{fontStyle:"italic"},em:{fontStyle:"italic"},code:{fontFamily:"monospace"},kbd:{fontFamily:"monospace"},pre:{display:"block",fontFamily:"monospace",whiteSpace:"pre",marginTop:"1em",marginBottom:"1em"},mark:{backgroundColor:"yellow",color:"black"},big:{fontSize:"larger"},small:{fontSize:"smaller"},s:{textDecoration:"line-through"}};m();var wt=new Set(["color","font","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textTransform","whiteSpace","letterSpacing","transform","wordBreak","opacity"]);function Z(t){let r={};for(let e in t)wt.has(e)&&(r[e]=t[e]);return r}m();import{getPropertyName as Et,getStylesForProperty as Pt}from"css-to-react-native";import _t from"parse-css-dimension";import{parseElementStyle as Bt}from"css-background-parser";var Dt=new Set(["flex","flexGrow","flexShrink","flexBasis","fontWeight","lineHeight","opacity","scale","scaleX","scaleY"]),xt=[1,0,0,1,0,0];function Mt(t,r){return typeof r=="number"?Dt.has(t)?String(r):r+"px":r}function $t(t,r){if(typeof t=="number")return t;try{let e=new _t(t);if(e.type==="length")switch(e.unit){case"em":return e.value*r;case"rem":return e.value*16;default:return e.value}else if(e.type==="angle")switch(e.unit){case"deg":return e.value;case"rad":return e.value*180/Math.PI;default:return e.value}}catch{}}function J(t,r){let e=[];for(let o in t){let n=Et(o);e.push([n,Mt(n,t[o])])}let i=e.reduce((o,n)=>{let s=Et(n[0]),l=n[1];return Object.assign(o,Pt(s,l,!0))},{});if(i.backgroundImage){let{backgrounds:o}=Bt(i);i.backgroundImage=o}let a=i.fontSize||r.fontSize;if(typeof a=="string")try{let o=new _t(a);switch(o.unit){case"em":a=o.value*r.fontSize;break;case"rem":a=o.value*16;break}}catch{a=16}i.fontSize=a;for(let o in i){let n=i[o];if(typeof n=="string"){let s=$t(n,a);typeof s!="undefined"&&(i[o]=s),n=i[o]}if(o==="opacity"&&(n=i[o]=n*r.opacity),o==="transform"){let s=[...xt],l=n;for(let f of l){let d=Object.keys(f)[0],g=f[d],p=typeof g=="string"?$t(g,a):g,u=[...xt];switch(d){case"translateX":u[4]=p;break;case"translateY":u[5]=p;break;case"scaleX":u[0]=p;break;case"scaleY":u[3]=p;break;case"rotate":let b=p*Math.PI/180,R=Math.cos(b),T=Math.sin(b);u[0]=R,u[1]=T,u[2]=-T,u[3]=R;break;case"skewX":u[2]=Math.tan(p*Math.PI/180);break;case"skewY":u[1]=Math.tan(p*Math.PI/180);break}s=D(u,s)}i.transform=s}}return i}function Q(t,r,e,i,a){let o=C(),n=B(B(B({},e),J(yt[r],e)),J(i,e));if(r==="img"){let s=parseInt(a.width),f=parseInt(a.height)/s;n.width||(n.width=s),n.height||(n.height=f*n.width)}return t.setDisplay(A(n.display,{flex:o.DISPLAY_FLEX,none:o.DISPLAY_NONE},o.DISPLAY_FLEX)),t.setAlignContent(A(n.alignContent,{stretch:o.ALIGN_STRETCH,center:o.ALIGN_CENTER,"flex-start":o.ALIGN_FLEX_START,"flex-end":o.ALIGN_FLEX_END,"space-between":o.ALIGN_SPACE_BETWEEN,"space-around":o.ALIGN_SPACE_AROUND,baseline:o.ALIGN_BASELINE,normal:o.ALIGN_AUTO},o.ALIGN_AUTO)),t.setAlignItems(A(n.alignItems,{stretch:o.ALIGN_STRETCH,center:o.ALIGN_CENTER,"flex-start":o.ALIGN_FLEX_START,"flex-end":o.ALIGN_FLEX_END,baseline:o.ALIGN_BASELINE,normal:o.ALIGN_AUTO},o.ALIGN_FLEX_START)),t.setAlignSelf(A(n.alignSelf,{stretch:o.ALIGN_STRETCH,center:o.ALIGN_CENTER,"flex-start":o.ALIGN_FLEX_START,"flex-end":o.ALIGN_FLEX_END,baseline:o.ALIGN_BASELINE,normal:o.ALIGN_AUTO},o.ALIGN_AUTO)),t.setJustifyContent(A(n.justifyContent,{center:o.JUSTIFY_CENTER,"flex-start":o.JUSTIFY_FLEX_START,"flex-end":o.JUSTIFY_FLEX_END,"space-between":o.JUSTIFY_SPACE_BETWEEN,"space-around":o.JUSTIFY_SPACE_AROUND},o.JUSTIFY_FLEX_START)),t.setFlexDirection(A(n.flexDirection,{row:o.FLEX_DIRECTION_ROW,column:o.FLEX_DIRECTION_COLUMN,"row-reverse":o.FLEX_DIRECTION_ROW_REVERSE,"column-reverse":o.FLEX_DIRECTION_COLUMN_REVERSE},o.FLEX_DIRECTION_ROW)),t.setFlexWrap(A(n.flexWrap,{wrap:o.WRAP_WRAP,nowrap:o.WRAP_NO_WRAP,"wrap-reverse":o.WRAP_WRAP_REVERSE},o.WRAP_WRAP)),typeof n.flexBasis!="undefined"&&t.setFlexBasis(n.flexBasis),t.setFlexGrow(typeof n.flexGrow=="undefined"?0:n.flexGrow),t.setFlexShrink(typeof n.flexShrink=="undefined"?1:n.flexShrink),typeof n.maxHeight!="undefined"&&t.setMaxHeight(n.maxHeight),typeof n.maxWidth!="undefined"&&t.setMaxWidth(n.maxWidth),typeof n.minHeight!="undefined"&&t.setMinHeight(n.minHeight),typeof n.minWidth!="undefined"&&t.setMinWidth(n.minWidth),t.setOverflow(A(n.overflow,{visible:o.OVERFLOW_VISIBLE,hidden:o.OVERFLOW_HIDDEN},o.OVERFLOW_VISIBLE)),t.setMargin(o.EDGE_TOP,n.marginTop||0),t.setMargin(o.EDGE_BOTTOM,n.marginBottom||0),t.setMargin(o.EDGE_LEFT,n.marginLeft||0),t.setMargin(o.EDGE_RIGHT,n.marginRight||0),t.setBorder(o.EDGE_TOP,n.borderWidth||0),t.setBorder(o.EDGE_BOTTOM,n.borderWidth||0),t.setBorder(o.EDGE_LEFT,n.borderWidth||0),t.setBorder(o.EDGE_RIGHT,n.borderWidth||0),t.setPadding(o.EDGE_TOP,n.paddingTop||0),t.setPadding(o.EDGE_BOTTOM,n.paddingBottom||0),t.setPadding(o.EDGE_LEFT,n.paddingLeft||0),t.setPadding(o.EDGE_RIGHT,n.paddingRight||0),t.setPositionType(A(n.position,{absolute:o.POSITION_TYPE_ABSOLUTE,relative:o.POSITION_TYPE_RELATIVE},o.POSITION_TYPE_RELATIVE)),typeof n.top!="undefined"&&t.setPosition(o.EDGE_TOP,n.top),typeof n.bottom!="undefined"&&t.setPosition(o.EDGE_BOTTOM,n.bottom),typeof n.left!="undefined"&&t.setPosition(o.EDGE_LEFT,n.left),typeof n.right!="undefined"&&t.setPosition(o.EDGE_RIGHT,n.right),typeof n.height!="undefined"?t.setHeight(n.height):t.setHeightAuto(),typeof n.width!="undefined"?t.setWidth(n.width):t.setWidthAuto(),[n,Z(n)]}m();import{LineBreaker as Yt}from"css-line-break";m();m();function M({left:t,top:r,width:e,height:i},a,o){let n;if(o)n=a;else{let s=t+e/2,l=r+i/2;n=D([1,0,0,1,s,l],D(a,[1,0,0,1,-s,-l])),a.__parent&&(n=D(a.__parent,n)),a.splice(0,6,...n)}return`matrix(${n.map(s=>s.toFixed(2)).join(",")})`}function tt({content:t,left:r,top:e,width:i,height:a,isInheritingTransform:o,path:n,debug:s},l){let f="",d=1,g="";return l.transform&&(f=M({left:r,top:e,width:i,height:a},l.transform,o)),l.opacity&&(d=+l.opacity),s&&(g=`<rect x="${r}" y="${e}" width="${i}" height="${n===null?.5:a}" fill="transparent" stroke="#575eff" stroke-width="1" ${f?`transform="${f}"`:""}></rect>`),n===null?`<text x="${r}" y="${e}" width="${i}" height="${a}" fill="${l.color}" font-weight="${l.fontWeight}" font-style="${l.fontStyle}" font-size="${l.fontSize}" font-family="${l.fontFamily}" ${l.letterSpacing?`letter-spacing="${l.letterSpacing}"`:""} ${f?`transform="${f}"`:""} ${d!==1?`opacity="${d}"`:""}>${t}</text>${g}`:`<path fill="${l.color}" ${f?`transform="${f}"`:""} ${d!==1?`opacity="${d}"`:""} d="${n}"></path>${g}`}function*et(t,r){let e=C(),{parentStyle:i,parent:a,font:o,id:n,isInheritingTransform:s,debug:l,embedFont:f}=r,d=Yt(t,{lineBreak:"strict",wordBreak:A(i.wordBreak,{normal:"normal","break-all":"break-all","break-word":"break-word","keep-all":"keep-all"},"normal")}),g=[];for(let _;!(_=d.next()).done;)g.push(_.value.slice());let p=[];a.setAlignItems(e.ALIGN_BASELINE),i.textAlign==="left"?a.setJustifyContent(e.JUSTIFY_FLEX_START):i.textAlign==="center"?a.setJustifyContent(e.JUSTIFY_CENTER):i.textAlign==="right"?a.setJustifyContent(e.JUSTIFY_FLEX_END):i.textAlign==="justify"&&a.setJustifyContent(e.JUSTIFY_SPACE_BETWEEN);let u=o.getFont(i);for(let _ of g){let S=e.Node.create();a.insertChild(S,a.getChildCount());let y=o.measure(u,_,i);S.setWidth(y.width),S.setHeight(y.ascent*1.2),S.setMargin(e.EDGE_BOTTOM,y.descent*1.2),p.push(S)}let[b,R]=yield,T="";for(let _=0;_<p.length;_++){let S=p[_],y=g[_];i.position==="absolute"&&S.calculateLayout();let{left:F,top:N,width:O,height:k}=S.getComputedLayout();F+=b,N+=R;let W=null;f?W=o.getSVG(u,y,pt(B({},i),{top:N,left:F,letterSpacing:i.letterSpacing})):N+=o.getAscent(u,i),T+=tt({content:y,id:n,left:F,top:N,width:O,height:k,isInheritingTransform:s,path:W,debug:l},i)}return T}m();m();m();var rt=rt||{};rt.parse=function(){var t={linearGradient:/^(\-(webkit|o|ms|moz)\-)?(linear\-gradient)/i,repeatingLinearGradient:/^(\-(webkit|o|ms|moz)\-)?(repeating\-linear\-gradient)/i,radialGradient:/^(\-(webkit|o|ms|moz)\-)?(radial\-gradient)/i,repeatingRadialGradient:/^(\-(webkit|o|ms|moz)\-)?(repeating\-radial\-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,percentageValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,emValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,angleValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^\#([0-9a-fA-F]+)/,literalColor:/^([a-zA-Z]+)/,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,number:/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/},r="";function e(c){var h=new Error(r+": "+c);throw h.source=r,h}function i(){var c=a();return r.length>0&&e("Invalid input not EOF"),c}function a(){return y(o)}function o(){return n("linear-gradient",t.linearGradient,l)||n("repeating-linear-gradient",t.repeatingLinearGradient,l)||n("radial-gradient",t.radialGradient,g)||n("repeating-radial-gradient",t.repeatingRadialGradient,g)}function n(c,h,E){return s(h,function(G){var ut=E();return ut&&(v(t.comma)||e("Missing comma before color stops")),{type:c,orientation:ut,colorStops:y(F)}})}function s(c,h){var E=v(c);if(E){v(t.startCall)||e("Missing (");var G=h(E);return v(t.endCall)||e("Missing )"),G}}function l(){return f()||d()}function f(){return I("directional",t.sideOrCorner,1)}function d(){return I("angular",t.angleValue,1)}function g(){var c,h=p(),E;return h&&(c=[],c.push(h),E=r,v(t.comma)&&(h=p(),h?c.push(h):r=E)),c}function p(){var c=u()||b();if(c)c.at=T();else{var h=R();if(h){c=h;var E=T();E&&(c.at=E)}else{var G=_();G&&(c={type:"default-radial",at:G})}}return c}function u(){var c=I("shape",/^(circle)/i,0);return c&&(c.style=st()||R()),c}function b(){var c=I("shape",/^(ellipse)/i,0);return c&&(c.style=L()||R()),c}function R(){return I("extent-keyword",t.extentKeywords,1)}function T(){if(I("position",/^at/,0)){var c=_();return c||e("Missing positioning value"),c}}function _(){var c=S();if(c.x||c.y)return{type:"position",value:c}}function S(){return{x:L(),y:L()}}function y(c){var h=c(),E=[];if(h)for(E.push(h);v(t.comma);)h=c(),h?E.push(h):e("One extra comma");return E}function F(){var c=N();return c||e("Expected color definition"),c.length=L(),c}function N(){return k()||z()||W()||O()}function O(){return I("literal",t.literalColor,0)}function k(){return I("hex",t.hexColor,1)}function W(){return s(t.rgbColor,function(){return{type:"rgb",value:y(w)}})}function z(){return s(t.rgbaColor,function(){return{type:"rgba",value:y(w)}})}function w(){return v(t.number)[1]}function L(){return I("%",t.percentageValue,1)||P()||st()}function P(){return I("position-keyword",t.positionKeywords,1)}function st(){return I("px",t.pixelValue,1)||I("em",t.emValue,1)}function I(c,h,E){var G=v(h);if(G)return{type:c,value:G[E]}}function v(c){var h,E;return E=/^[\n\r\t\s]+/.exec(r),E&&ft(E[0].length),h=c.exec(r),h&&ft(h[0].length),h}function ft(c){r=r.substr(c)}return function(c){return r=c.toString(),i()}}();var St=rt;function Xt(t){return t.type==="literal"?t.value:t.type==="hex"?`#${t.value}`:t.type==="rgb"?`rgb(${t.value.join(",")})`:t.type==="rgba"?`rgba(${t.value.join(",")})`:"transparent"}function nt({id:t,width:r},{image:e}){if(e.startsWith("linear-gradient(")){let i=St.parse(e)[0],a,o,n,s;if(i.orientation.type==="directional")[a,o,n,s]={top:[0,1,0,0],bottom:[0,0,0,1],left:[1,0,0,0],right:[0,0,1,0]}[i.orientation.value];else if(i.orientation.type==="angular"){let u=+i.orientation.value/180*Math.PI-Math.PI/2,b=Math.cos(u),R=Math.sin(u);a=0,o=0,n=b,s=R,n<0&&(a-=n,n=0),s<0&&(o-=s,s=0)}let l=r,f=[];for(let u of i.colorStops){let b=Xt(u);if(!f.length&&(f.push({offset:0,color:b}),typeof u.length=="undefined"||u.length.value==="0"))continue;let R=typeof u.length=="undefined"?void 0:u.length.type==="%"?u.length.value/100:u.length.value/l;f.push({offset:R,color:b})}f.length||f.push({offset:0,color:"transparent"});let d=f[f.length-1];d.offset!==1&&(typeof d.offset=="undefined"?d.offset=1:f.push({offset:1,color:d.color}));let g=0,p=1;for(let u=0;u<f.length;u++)if(typeof f[u].offset=="undefined"){for(p<u&&(p=u);typeof f[p].offset=="undefined";)p++;f[u].offset=(f[p].offset-f[g].offset)/(p-g)*(u-g)+f[g].offset}else g=u;return[`satori_bi${t}`,`<linearGradient id="satori_bi${t}" x1="${a}" y1="${o}" x2="${n}" y2="${s}">${f.map(u=>`<stop offset="${u.offset*100}%" stop-color="${u.color}"/>`).join("")}</linearGradient>`]}if(e.startsWith("url(")){let i=e.slice(4,-1);return[`satori_bi${t}`,`<pattern id="satori_bi${t}" patternContentUnits="objectBoundingBox" width="1" height="1"><image href="${i}" x="0" y="0" width="1" height="1"/></pattern>`]}}m();function j(t,r,e){return e<t+r&&(e/2<t&&e/2<r?t=r=e/2:e/2<t?t=e-r:e/2<r&&(r=e-t)),[t,r]}function Y({left:t,top:r,width:e,height:i},a){let{borderTopLeftRadius:o,borderTopRightRadius:n,borderBottomLeftRadius:s,borderBottomRightRadius:l}=a;return o=Math.min(o||0,e,i),n=Math.min(n||0,e,i),s=Math.min(s||0,e,i),l=Math.min(l||0,e,i),!o&&!n&&!s&&!l?"":([o,n]=j(o,n,e),[o,s]=j(o,s,i),[n,l]=j(n,l,i),[s,l]=j(s,l,e),`M${t+o},${r} h${e-o-n} a${n},${n} 0 0 1 ${n},${n} v${i-n-l} a${l},${l} 0 0 1 ${-l},${l} h${l+s-e} a${s},${s} 0 0 1 ${-s},${-s} v${s+o-i} a${o},${o} 0 0 1 ${o},${-o}`)}m();function X({id:t,width:r,height:e},i){if(!i.shadowColor||!i.shadowOffset||typeof i.shadowRadius=="undefined")return"";let a=Math.min(i.shadowOffset.width-i.shadowRadius*2,0),o=Math.max(i.shadowOffset.width+i.shadowRadius*2+r,r),n=Math.min(i.shadowOffset.height-i.shadowRadius*2,0),s=Math.max(i.shadowOffset.height+i.shadowRadius*2+e,e);return`<defs><filter id="satori_s-${t}" x="${a/r*100}%" y="${n/e*100}%" width="${(o-a)/r*100}%" height="${(s-n)/e*100}%"><feDropShadow dx="${i.shadowOffset.width}" dy="${i.shadowOffset.height}" stdDeviation="${i.shadowRadius}" flood-color="${i.shadowColor}" flood-opacity="1"/></filter></defs>`}function ot({id:t,left:r,top:e,width:i,height:a,isInheritingTransform:o,debug:n},s){if(s.display==="none")return"";let l="rect",f="transparent",d=0,g="",p="",u=[],b=1,R="";if(s.backgroundColor&&u.push(s.backgroundColor),s.borderWidth&&(d=s.borderWidth,f=s.borderColor),s.opacity&&(b=+s.opacity),s.transform&&(g=M({left:r,top:e,width:i,height:a},s.transform,o)),s.backgroundImage){let S=s.backgroundImage.map((y,F)=>nt({id:t+"_"+F,width:i,height:a},y)).filter(Boolean);for(let y of S)p+=y[1],u.push(`url(#${y[0]})`)}let T=Y({left:r,top:e,width:i,height:a},s);T&&(l="path");let _=X({width:i,height:a,id:t},s);return u.length||u.push("transparent"),n&&(R=`<rect x="${r}" y="${e}" width="${i}" height="${a}" fill="transparent" stroke="#ff5757" stroke-width="1" ${g?`transform="${g}"`:""}></rect>`),`${p?`<defs>${p}</defs>`:""}${_?`${_}<g filter="url(#satori_s-${t})">`:""}${b!==1?`<g opacity="${b}">`:""}${u.map((S,y)=>S==="transparent"&&!(y===u.length-1&&d)?"":`<${l} x="${r}" y="${e}" width="${i}" height="${a}" fill="${S}" ${y===u.length-1&&d?`stroke="${f}" stroke-width="${d}"`:""} ${T?`d="${T}"`:""} ${g?`transform="${g}"`:""}></${l}>`).join("")}${b!==1?"</g>":""}${_?"</g>":""}${R}`}m();function it({id:t,left:r,top:e,width:i,height:a,src:o,debug:n},s){if(s.display==="none")return"";let l="",f=1,d=s.objectFit==="contain"?"xMidYMid":s.objectFit==="cover"?"xMidYMid slice":"none",g=Y({left:r,top:e,width:i,height:a},s);g&&(l=`<clipPath id="satori_c-${t}"><path x="${r}" y="${e}" width="${i}" height="${a}" d="${g}"></path></clipPath>`),s.opacity&&(f=+s.opacity);let p=X({width:i,height:a,id:t},s);return`${p}${p?`<g filter="url(#satori_s-${t})">`:""}${l}<image href="${o}" x="${r}" y="${e}" width="${i}" height="${a}" preserveAspectRatio="${d}" ${l?`clip-path="url(#satori_c-${t})"`:""} ${f!==1?`opacity="${f}"`:""}></image>${p?"</g>":""}`}function*U(t,r){let e=C(),{id:i,inheritedStyle:a,parent:o,font:n,debug:s,embedFont:l=!0}=r;if(t===null||typeof t=="undefined")return yield,"";if(!q(t)||typeof t.type=="function"){let L;if(!q(t))L=et(String(t),r);else{if(bt(t.type))throw new Error("Class component is not supported.");L=U(t.type(t.props),r)}L.next();let P=yield;return L.next(P).value}let{type:f,props:d}=t,{style:g,children:p}=d,u=e.Node.create();o.insertChild(u,o.getChildCount());let[b,R]=Q(u,f,a,g,d),T=b.transform===a.transform;T||(b.transform.__parent=a.transform);let _=typeof p=="undefined"?[]:[].concat(p),S=[],y=0;for(let L of _){let P=U(L,{id:i*_.length+ ++y,parentStyle:b,inheritedStyle:R,isInheritingTransform:!0,parent:u,font:n,embedFont:l,debug:s});P.next(),S.push(P)}let[F,N]=yield;b.position==="absolute"&&u.calculateLayout();let{left:O,top:k,width:W,height:z}=u.getComputedLayout();O+=F,k+=N;let w="";f==="img"?w=it({id:i,left:O,top:k,width:W,height:z,src:d.src,isInheritingTransform:T,debug:s},b):w=ot({id:i,left:O,top:k,width:W,height:z,isInheritingTransform:T,debug:s},b);for(let L of S)w+=L.next([O,k]).value;return w}m();import Rt from"opentype.js";var K=class{constructor(r){this.fonts=new Map;for(let e of r){let i=e.data,a="buffer"in i?Rt.parse(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)):Rt.parse(i);this.defaultFont||(this.defaultFont=a),this.fonts.has(e.name)||this.fonts.set(e.name,[]),this.fonts.get(e.name).push([a,e.weight,e.style])}}get({name:r,weight:e,style:i}){if(!this.fonts.has(r))return this.defaultFont;e==="normal"&&(e=400),e==="bold"&&(e=700);let a=[...this.fonts.get(r)];return a.sort(([o,n,s],[l,f,d])=>{if(n!==f)return n?!f||n===e?-1:f===e?1:e===400&&n===500||e===500&&n===400?-1:e===400&&f===500||e===500&&f===400?1:e<400?n<e&&f<e?f-n:n<e?-1:f<e?1:n-f:e<n&&e<f?n-f:e<n?-1:e<f?1:f-n:1;if(s!==d){if(s===i)return-1;if(d===i)return 1}return-1}),a[0][0]}getFont({fontFamily:r,fontWeight:e=400,fontStyle:i="normal"}){return this.get({name:r,weight:e,style:i})}measure(r,e,{fontSize:i,letterSpacing:a=0}){return{width:r.getAdvanceWidth(e,i,{letterSpacing:a/i}),ascent:r.ascender/r.unitsPerEm*i,descent:-(r.descender/r.unitsPerEm)*i}}getSVG(r,e,{fontSize:i,top:a,left:o,letterSpacing:n=0}){return a+=r.ascender/r.unitsPerEm*i,r.getPath(e,o,a,i,{letterSpacing:n/i}).toPathData(2)}getAscent(r,{fontSize:e}){return r.ascender/r.unitsPerEm*e}};m();function at({width:t,height:r,content:e},i){return`<svg width="${t}" height="${r}" viewBox="0 0 ${t} ${r}" xmlns="http://www.w3.org/2000/svg">${e}</svg>`}function Tt(t,r){let e=C();if(!e)throw new Error("Satori is not initialized.");let i=new K(r.fonts),a=e.Node.create();a.setWidth(r.width),a.setHeight(r.height),a.setFlexDirection(e.FLEX_DIRECTION_ROW),a.setFlexWrap(e.WRAP_WRAP),a.setAlignContent(e.ALIGN_AUTO),a.setAlignItems(e.ALIGN_FLEX_START),a.setJustifyContent(e.JUSTIFY_FLEX_START);let o=U(t,{id:1,parentStyle:{},inheritedStyle:{fontSize:16,fontWeight:"normal",fontFamily:"serif",fontStyle:"normal",lineHeight:1.2,color:"black",opacity:1},parent:a,font:i,embedFont:r.embedFont,debug:r.debug});o.next(),a.calculateLayout(r.width,r.height,e.DIRECTION_LTR);let n=o.next([0,0]).value;return at({width:r.width,height:r.height,content:n})}export{Tt as default,Wt as init};
//# sourceMappingURL=index.js.map

@@ -1,2 +0,2 @@

var xt=Object.defineProperty,$t=Object.defineProperties;var _t=Object.getOwnPropertyDescriptors;var st=Object.getOwnPropertySymbols;var St=Object.prototype.hasOwnProperty,Rt=Object.prototype.propertyIsEnumerable;var ft=(t,n,e)=>n in t?xt(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,P=(t,n)=>{for(var e in n||(n={}))St.call(n,e)&&ft(t,e,n[e]);if(st)for(var e of st(n))Rt.call(n,e)&&ft(t,e,n[e]);return t},ut=(t,n)=>$t(t,_t(n));var lt;function Tt(t){lt=t}function F(){return lt}function J(t){let n=typeof t;return!(n==="number"||n==="bigint"||n==="string"||n==="boolean")}function ct(t){return/^class\s/.test(Function.prototype.toString.call(t))}function B(t,n){return[t[0]*n[0]+t[2]*n[1],t[1]*n[0]+t[3]*n[1],t[0]*n[2]+t[2]*n[3],t[1]*n[2]+t[3]*n[3],t[0]*n[4]+t[2]*n[5]+t[4],t[1]*n[4]+t[3]*n[5]+t[5]]}function I(t,n,e){let i=n[t];return typeof i=="undefined"?e:i}var mt={p:{display:"block",marginTop:"1em",marginBottom:"1em"},div:{display:"block"},blockquote:{display:"block",marginTop:"1em",marginBottom:"1em",marginLeft:40,marginRight:40},center:{display:"block",textAlign:"center"},hr:{display:"block",marginTop:"0.5em",marginBottom:"0.5em",marginLeft:"auto",marginRight:"auto",borderWidth:1,borderStyle:"inset"},h1:{display:"block",fontSize:"2em",marginTop:"0.67em",marginBottom:"0.67em",marginLeft:0,marginRight:0,fontWeight:"bold"},h2:{display:"block",fontSize:"1.5em",marginTop:"0.83em",marginBottom:"0.83em",marginLeft:0,marginRight:0,fontWeight:"bold"},h3:{display:"block",fontSize:"1.17em",marginTop:"1em",marginBottom:"1em",marginLeft:0,marginRight:0,fontWeight:"bold"},h4:{display:"block",marginTop:"1.33em",marginBottom:"1.33em",marginLeft:0,marginRight:0,fontWeight:"bold"},h5:{display:"block",fontSize:"0.83em",marginTop:"1.67em",marginBottom:"1.67em",marginLeft:0,marginRight:0,fontWeight:"bold"},h6:{display:"block",fontSize:"0.67em",marginTop:"2.33em",marginBottom:"2.33em",marginLeft:0,marginRight:0,fontWeight:"bold"},u:{textDecoration:"underline"},strong:{fontWeight:"bold"},b:{fontWeight:"bold"},i:{fontStyle:"italic"},em:{fontStyle:"italic"},code:{fontFamily:"monospace"},kbd:{fontFamily:"monospace"},pre:{display:"block",fontFamily:"monospace",whiteSpace:"pre",marginTop:"1em",marginBottom:"1em"},mark:{backgroundColor:"yellow",color:"black"},big:{fontSize:"larger"},small:{fontSize:"smaller"},s:{textDecoration:"line-through"}};var Lt=new Set(["color","font","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textTransform","whiteSpace","letterSpacing","transform","wordBreak","opacity"]);function j(t){let n={};for(let e in t)Lt.has(e)&&(n[e]=t[e]);return n}import{getPropertyName as pt,getStylesForProperty as It}from"css-to-react-native";import ht from"parse-css-dimension";import{parseElementStyle as At}from"css-background-parser";var Ft=new Set(["flex","flexGrow","flexShrink","flexBasis","fontWeight","lineHeight","opacity","scale","scaleX","scaleY"]),dt=[1,0,0,1,0,0];function Ct(t,n){return typeof n=="number"?Ft.has(t)?String(n):n+"px":n}function gt(t,n){if(typeof t=="number")return t;try{let e=new ht(t);if(e.type==="length")switch(e.unit){case"em":return e.value*n;case"rem":return e.value*16;default:return e.value}else if(e.type==="angle")switch(e.unit){case"deg":return e.value;case"rad":return e.value*180/Math.PI;default:return e.value}}catch{}}function U(t,n){let e=[];for(let o in t){let r=pt(o);e.push([r,Ct(r,t[o])])}let i=e.reduce((o,r)=>{let s=pt(r[0]),l=r[1];return Object.assign(o,It(s,l,!0))},{});if(i.backgroundImage){let{backgrounds:o}=At(i);i.backgroundImage=o}let a=i.fontSize||n.fontSize;if(typeof a=="string")try{let o=new ht(a);switch(o.unit){case"em":a=o.value*n.fontSize;break;case"rem":a=o.value*16;break}}catch{a=16}i.fontSize=a;for(let o in i){let r=i[o];if(typeof r=="string"){let s=gt(r,a);typeof s!="undefined"&&(i[o]=s),r=i[o]}if(o==="opacity"&&(r=i[o]=r*n.opacity),o==="transform"){let s=[...dt],l=r;for(let f of l){let p=Object.keys(f)[0],d=f[p],m=typeof d=="string"?gt(d,a):d,u=[...dt];switch(p){case"translateX":u[4]=m;break;case"translateY":u[5]=m;break;case"scaleX":u[0]=m;break;case"scaleY":u[3]=m;break;case"rotate":let h=m*Math.PI/180,S=Math.cos(h),R=Math.sin(h);u[0]=S,u[1]=R,u[2]=-R,u[3]=S;break;case"skewX":u[2]=Math.tan(m*Math.PI/180);break;case"skewY":u[1]=Math.tan(m*Math.PI/180);break}s=B(u,s)}i.transform=s}}return i}function K(t,n,e,i,a){let o=F(),r=P(P(P({},e),U(mt[n],e)),U(i,e));if(n==="img"){let s=parseInt(a.width),f=parseInt(a.height)/s;r.width||(r.width=s),r.height||(r.height=f*r.width)}return t.setDisplay(I(r.display,{flex:o.DISPLAY_FLEX,none:o.DISPLAY_NONE},o.DISPLAY_FLEX)),t.setAlignContent(I(r.alignContent,{stretch:o.ALIGN_STRETCH,center:o.ALIGN_CENTER,"flex-start":o.ALIGN_FLEX_START,"flex-end":o.ALIGN_FLEX_END,"space-between":o.ALIGN_SPACE_BETWEEN,"space-around":o.ALIGN_SPACE_AROUND,baseline:o.ALIGN_BASELINE,normal:o.ALIGN_AUTO},o.ALIGN_AUTO)),t.setAlignItems(I(r.alignItems,{stretch:o.ALIGN_STRETCH,center:o.ALIGN_CENTER,"flex-start":o.ALIGN_FLEX_START,"flex-end":o.ALIGN_FLEX_END,baseline:o.ALIGN_BASELINE,normal:o.ALIGN_AUTO},o.ALIGN_FLEX_START)),t.setAlignSelf(I(r.alignSelf,{stretch:o.ALIGN_STRETCH,center:o.ALIGN_CENTER,"flex-start":o.ALIGN_FLEX_START,"flex-end":o.ALIGN_FLEX_END,baseline:o.ALIGN_BASELINE,normal:o.ALIGN_AUTO},o.ALIGN_AUTO)),t.setJustifyContent(I(r.justifyContent,{center:o.JUSTIFY_CENTER,"flex-start":o.JUSTIFY_FLEX_START,"flex-end":o.JUSTIFY_FLEX_END,"space-between":o.JUSTIFY_SPACE_BETWEEN,"space-around":o.JUSTIFY_SPACE_AROUND},o.JUSTIFY_FLEX_START)),t.setFlexDirection(I(r.flexDirection,{row:o.FLEX_DIRECTION_ROW,column:o.FLEX_DIRECTION_COLUMN,"row-reverse":o.FLEX_DIRECTION_ROW_REVERSE,"column-reverse":o.FLEX_DIRECTION_COLUMN_REVERSE},o.FLEX_DIRECTION_ROW)),t.setFlexWrap(I(r.flexWrap,{wrap:o.WRAP_WRAP,nowrap:o.WRAP_NO_WRAP,"wrap-reverse":o.WRAP_WRAP_REVERSE},o.WRAP_WRAP)),typeof r.flexBasis!="undefined"&&t.setFlexBasis(r.flexBasis),t.setFlexGrow(typeof r.flexGrow=="undefined"?0:r.flexGrow),t.setFlexShrink(typeof r.flexShrink=="undefined"?1:r.flexShrink),typeof r.maxHeight!="undefined"&&t.setMaxHeight(r.maxHeight),typeof r.maxWidth!="undefined"&&t.setMaxWidth(r.maxWidth),typeof r.minHeight!="undefined"&&t.setMinHeight(r.minHeight),typeof r.minWidth!="undefined"&&t.setMinWidth(r.minWidth),t.setOverflow(I(r.overflow,{visible:o.OVERFLOW_VISIBLE,hidden:o.OVERFLOW_HIDDEN},o.OVERFLOW_VISIBLE)),t.setMargin(o.EDGE_TOP,r.marginTop||0),t.setMargin(o.EDGE_BOTTOM,r.marginBottom||0),t.setMargin(o.EDGE_LEFT,r.marginLeft||0),t.setMargin(o.EDGE_RIGHT,r.marginRight||0),t.setBorder(o.EDGE_TOP,r.borderWidth||0),t.setBorder(o.EDGE_BOTTOM,r.borderWidth||0),t.setBorder(o.EDGE_LEFT,r.borderWidth||0),t.setBorder(o.EDGE_RIGHT,r.borderWidth||0),t.setPadding(o.EDGE_TOP,r.paddingTop||0),t.setPadding(o.EDGE_BOTTOM,r.paddingBottom||0),t.setPadding(o.EDGE_LEFT,r.paddingLeft||0),t.setPadding(o.EDGE_RIGHT,r.paddingRight||0),t.setPositionType(I(r.position,{absolute:o.POSITION_TYPE_ABSOLUTE,relative:o.POSITION_TYPE_RELATIVE},o.POSITION_TYPE_RELATIVE)),typeof r.top!="undefined"&&t.setPosition(o.EDGE_TOP,r.top),typeof r.bottom!="undefined"&&t.setPosition(o.EDGE_BOTTOM,r.bottom),typeof r.left!="undefined"&&t.setPosition(o.EDGE_LEFT,r.left),typeof r.right!="undefined"&&t.setPosition(o.EDGE_RIGHT,r.right),typeof r.height!="undefined"?t.setHeight(r.height):t.setHeightAuto(),typeof r.width!="undefined"?t.setWidth(r.width):t.setWidthAuto(),[r,j(r)]}import{LineBreaker as Nt}from"css-line-break";function D({left:t,top:n,width:e,height:i},a,o){let r;if(o)r=a;else{let s=t+e/2,l=n+i/2;r=B([1,0,0,1,s,l],B(a,[1,0,0,1,-s,-l])),a.__parent&&(r=B(a.__parent,r)),a.splice(0,6,...r)}return`matrix(${r.map(s=>s.toFixed(2)).join(",")})`}function q({content:t,left:n,top:e,width:i,height:a,isInheritingTransform:o,path:r,debug:s},l){let f="",p=1,d="";return l.transform&&(f=D({left:n,top:e,width:i,height:a},l.transform,o)),l.opacity&&(p=+l.opacity),s&&(d=`<rect x="${n}" y="${e}" width="${i}" height="${r===null?.5:a}" fill="transparent" stroke="#575eff" stroke-width="1" ${f?`transform="${f}"`:""}></rect>`),r===null?`<text x="${n}" y="${e}" width="${i}" height="${a}" fill="${l.color}" font-weight="${l.fontWeight}" font-style="${l.fontStyle}" font-size="${l.fontSize}" font-family="${l.fontFamily}" ${l.letterSpacing?`letter-spacing="${l.letterSpacing}"`:""} ${f?`transform="${f}"`:""} ${p!==1?`opacity="${p}"`:""}>${t}</text>${d}`:`<path fill="${l.color}" ${f?`transform="${f}"`:""} ${p!==1?`opacity="${p}"`:""} d="${r}"></path>${d}`}function*Z(t,n){let e=F(),{parentStyle:i,parent:a,font:o,id:r,isInheritingTransform:s,debug:l,embedFont:f}=n,p=Nt(t,{lineBreak:"strict",wordBreak:I(i.wordBreak,{normal:"normal","break-all":"break-all","break-word":"break-word","keep-all":"keep-all"},"normal")}),d=[];for(let E;!(E=p.next()).done;)d.push(E.value.slice());let m=[];a.setAlignItems(e.ALIGN_BASELINE),i.textAlign==="left"?a.setJustifyContent(e.JUSTIFY_FLEX_START):i.textAlign==="center"?a.setJustifyContent(e.JUSTIFY_CENTER):i.textAlign==="right"?a.setJustifyContent(e.JUSTIFY_FLEX_END):i.textAlign==="justify"&&a.setJustifyContent(e.JUSTIFY_SPACE_BETWEEN);let u=o.getFont(i);for(let E of d){let _=e.Node.create();a.insertChild(_,a.getChildCount());let b=o.measure(u,E,i);_.setWidth(b.width),_.setHeight(b.ascent*1.2),_.setMargin(e.EDGE_BOTTOM,b.descent*1.2),m.push(_)}let[h,S]=yield,R="";for(let E=0;E<m.length;E++){let _=m[E],b=d[E];i.position==="absolute"&&_.calculateLayout();let{left:A,top:C,width:N,height:O}=_.getComputedLayout();A+=h,C+=S;let G=null;f?G=o.getSVG(u,b,ut(P({},i),{top:C,left:A,letterSpacing:i.letterSpacing})):C+=o.getAscent(u,i),R+=q({content:b,id:r,left:A,top:C,width:N,height:O,isInheritingTransform:s,path:G,debug:l},i)}return R}var Q=Q||{};Q.parse=function(){var t={linearGradient:/^(\-(webkit|o|ms|moz)\-)?(linear\-gradient)/i,repeatingLinearGradient:/^(\-(webkit|o|ms|moz)\-)?(repeating\-linear\-gradient)/i,radialGradient:/^(\-(webkit|o|ms|moz)\-)?(radial\-gradient)/i,repeatingRadialGradient:/^(\-(webkit|o|ms|moz)\-)?(repeating\-radial\-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,percentageValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,emValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,angleValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^\#([0-9a-fA-F]+)/,literalColor:/^([a-zA-Z]+)/,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,number:/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/},n="";function e(c){var g=new Error(n+": "+c);throw g.source=n,g}function i(){var c=a();return n.length>0&&e("Invalid input not EOF"),c}function a(){return b(o)}function o(){return r("linear-gradient",t.linearGradient,l)||r("repeating-linear-gradient",t.repeatingLinearGradient,l)||r("radial-gradient",t.radialGradient,d)||r("repeating-radial-gradient",t.repeatingRadialGradient,d)}function r(c,g,y){return s(g,function(v){var at=y();return at&&(k(t.comma)||e("Missing comma before color stops")),{type:c,orientation:at,colorStops:b(A)}})}function s(c,g){var y=k(c);if(y){k(t.startCall)||e("Missing (");var v=g(y);return k(t.endCall)||e("Missing )"),v}}function l(){return f()||p()}function f(){return L("directional",t.sideOrCorner,1)}function p(){return L("angular",t.angleValue,1)}function d(){var c,g=m(),y;return g&&(c=[],c.push(g),y=n,k(t.comma)&&(g=m(),g?c.push(g):n=y)),c}function m(){var c=u()||h();if(c)c.at=R();else{var g=S();if(g){c=g;var y=R();y&&(c.at=y)}else{var v=E();v&&(c={type:"default-radial",at:v})}}return c}function u(){var c=L("shape",/^(circle)/i,0);return c&&(c.style=ot()||S()),c}function h(){var c=L("shape",/^(ellipse)/i,0);return c&&(c.style=T()||S()),c}function S(){return L("extent-keyword",t.extentKeywords,1)}function R(){if(L("position",/^at/,0)){var c=E();return c||e("Missing positioning value"),c}}function E(){var c=_();if(c.x||c.y)return{type:"position",value:c}}function _(){return{x:T(),y:T()}}function b(c){var g=c(),y=[];if(g)for(y.push(g);k(t.comma);)g=c(),g?y.push(g):e("One extra comma");return y}function A(){var c=C();return c||e("Expected color definition"),c.length=T(),c}function C(){return O()||z()||G()||N()}function N(){return L("literal",t.literalColor,0)}function O(){return L("hex",t.hexColor,1)}function G(){return s(t.rgbColor,function(){return{type:"rgb",value:b(W)}})}function z(){return s(t.rgbaColor,function(){return{type:"rgba",value:b(W)}})}function W(){return k(t.number)[1]}function T(){return L("%",t.percentageValue,1)||w()||ot()}function w(){return L("position-keyword",t.positionKeywords,1)}function ot(){return L("px",t.pixelValue,1)||L("em",t.emValue,1)}function L(c,g,y){var v=k(g);if(v)return{type:c,value:v[y]}}function k(c){var g,y;return y=/^[\n\r\t\s]+/.exec(n),y&&it(y[0].length),g=c.exec(n),g&&it(g[0].length),g}function it(c){n=n.substr(c)}return function(c){return n=c.toString(),i()}}();var bt=Q;function Ot(t){return t.type==="literal"?t.value:t.type==="hex"?`#${t.value}`:t.type==="rgb"?`rgb(${t.value.join(",")})`:t.type==="rgba"?`rgba(${t.value.join(",")})`:"transparent"}function tt({id:t,width:n},{image:e}){if(e.startsWith("linear-gradient(")){let i=bt.parse(e)[0],a,o,r,s;if(i.orientation.type==="directional")[a,o,r,s]={top:[0,1,0,0],bottom:[0,0,0,1],left:[1,0,0,0],right:[0,0,1,0]}[i.orientation.value];else if(i.orientation.type==="angular"){let u=+i.orientation.value/180*Math.PI-Math.PI/2,h=Math.cos(u),S=Math.sin(u);a=0,o=0,r=h,s=S,r<0&&(a-=r,r=0),s<0&&(o-=s,s=0)}let l=n,f=[];for(let u of i.colorStops){let h=Ot(u);if(!f.length&&(f.push({offset:0,color:h}),typeof u.length=="undefined"||u.length.value==="0"))continue;let S=typeof u.length=="undefined"?void 0:u.length.type==="%"?u.length.value/100:u.length.value/l;f.push({offset:S,color:h})}f.length||f.push({offset:0,color:"transparent"});let p=f[f.length-1];p.offset!==1&&(typeof p.offset=="undefined"?p.offset=1:f.push({offset:1,color:p.color}));let d=0,m=1;for(let u=0;u<f.length;u++)if(typeof f[u].offset=="undefined"){for(m<u&&(m=u);typeof f[m].offset=="undefined";)m++;f[u].offset=(f[m].offset-f[d].offset)/(m-d)*(u-d)+f[d].offset}else d=u;return[`satori_bi${t}`,`<linearGradient id="satori_bi${t}" x1="${a}" y1="${o}" x2="${r}" y2="${s}">${f.map(u=>`<stop offset="${u.offset*100}%" stop-color="${u.color}"/>`).join("")}</linearGradient>`]}if(e.startsWith("url(")){let i=e.slice(4,-1);return[`satori_bi${t}`,`<pattern id="satori_bi${t}" patternContentUnits="objectBoundingBox" width="1" height="1"><image href="${i}" x="0" y="0" width="1" height="1"/></pattern>`]}}function H(t,n,e){return e<t+n&&(e/2<t&&e/2<n?t=n=e/2:e/2<t?t=e-n:e/2<n&&(n=e-t)),[t,n]}function M({left:t,top:n,width:e,height:i},a){let{borderTopLeftRadius:o,borderTopRightRadius:r,borderBottomLeftRadius:s,borderBottomRightRadius:l}=a;return o=Math.min(o||0,e,i),r=Math.min(r||0,e,i),s=Math.min(s||0,e,i),l=Math.min(l||0,e,i),!o&&!r&&!s&&!l?"":([o,r]=H(o,r,e),[o,s]=H(o,s,i),[r,l]=H(r,l,i),[s,l]=H(s,l,e),`M${t+o},${n} h${e-o-r} a${r},${r} 0 0 1 ${r},${r} v${i-r-l} a${l},${l} 0 0 1 ${-l},${l} h${l+s-e} a${s},${s} 0 0 1 ${-s},${-s} v${s+o-i} a${o},${o} 0 0 1 ${o},${-o}`)}function Y({id:t,width:n,height:e},i){if(!i.shadowColor||!i.shadowOffset||typeof i.shadowRadius=="undefined")return"";let a=Math.min(i.shadowOffset.width-i.shadowRadius*2,0),o=Math.max(i.shadowOffset.width+i.shadowRadius*2+n,n),r=Math.min(i.shadowOffset.height-i.shadowRadius*2,0),s=Math.max(i.shadowOffset.height+i.shadowRadius*2+e,e);return`<defs><filter id="satori_s-${t}" x="${a/n*100}%" y="${r/e*100}%" width="${(o-a)/n*100}%" height="${(s-r)/e*100}%"><feDropShadow dx="${i.shadowOffset.width}" dy="${i.shadowOffset.height}" stdDeviation="${i.shadowRadius}" flood-color="${i.shadowColor}" flood-opacity="1"/></filter></defs>`}function et({id:t,left:n,top:e,width:i,height:a,isInheritingTransform:o,debug:r},s){if(s.display==="none")return"";let l="rect",f="transparent",p=0,d="",m="",u=[],h=1,S="";if(s.backgroundColor&&u.push(s.backgroundColor),s.borderWidth&&(p=s.borderWidth,f=s.borderColor),s.opacity&&(h=+s.opacity),s.transform&&(d=D({left:n,top:e,width:i,height:a},s.transform,o)),s.backgroundImage){let _=s.backgroundImage.map((b,A)=>tt({id:t+"_"+A,width:i,height:a},b)).filter(Boolean);for(let b of _)m+=b[1],u.push(`url(#${b[0]})`)}let R=M({left:n,top:e,width:i,height:a},s);R&&(l="path");let E=Y({width:i,height:a,id:t},s);return u.length||u.push("transparent"),r&&(S=`<rect x="${n}" y="${e}" width="${i}" height="${a}" fill="transparent" stroke="#ff5757" stroke-width="1" ${d?`transform="${d}"`:""}></rect>`),`${m?`<defs>${m}</defs>`:""}${E?`${E}<g filter="url(#satori_s-${t})">`:""}${h!==1?`<g opacity="${h}">`:""}${u.map((_,b)=>_==="transparent"&&!(b===u.length-1&&p)?"":`<${l} x="${n}" y="${e}" width="${i}" height="${a}" fill="${_}" ${b===u.length-1&&p?`stroke="${f}" stroke-width="${p}"`:""} ${R?`d="${R}"`:""} ${d?`transform="${d}"`:""}></${l}>`).join("")}${h!==1?"</g>":""}${E?"</g>":""}${S}`}function rt({id:t,left:n,top:e,width:i,height:a,src:o,debug:r},s){if(s.display==="none")return"";let l="",f=1,p=s.objectFit==="contain"?"xMidYMid":s.objectFit==="cover"?"xMidYMid slice":"none",d=M({left:n,top:e,width:i,height:a},s);d&&(l=`<clipPath id="satori_c-${t}"><path x="${n}" y="${e}" width="${i}" height="${a}" d="${d}"></path></clipPath>`),s.opacity&&(f=+s.opacity);let m=Y({width:i,height:a,id:t},s);return`${m}${m?`<g filter="url(#satori_s-${t})">`:""}${l}<image href="${o}" x="${n}" y="${e}" width="${i}" height="${a}" preserveAspectRatio="${p}" ${l?`clip-path="url(#satori_c-${t})"`:""} ${f!==1?`opacity="${f}"`:""}></image>${m?"</g>":""}`}function*X(t,n){let e=F(),{id:i,inheritedStyle:a,parent:o,font:r,debug:s,embedFont:l=!0}=n;if(t===null||typeof t=="undefined")return yield,"";if(!J(t)||typeof t.type=="function"){let T;if(!J(t))T=Z(String(t),n);else{if(ct(t.type))throw new Error("Class component is not supported.");T=X(t.type(t.props),n)}T.next();let w=yield;return T.next(w).value}let{type:f,props:p}=t,{style:d,children:m}=p,u=e.Node.create();o.insertChild(u,o.getChildCount());let[h,S]=K(u,f,a,d,p),R=h.transform===a.transform;R||(h.transform.__parent=a.transform);let E=typeof m=="undefined"?[]:[].concat(m),_=[],b=0;for(let T of E){let w=X(T,{id:i*E.length+ ++b,parentStyle:h,inheritedStyle:S,isInheritingTransform:!0,parent:u,font:r,embedFont:l,debug:s});w.next(),_.push(w)}let[A,C]=yield;h.position==="absolute"&&u.calculateLayout();let{left:N,top:O,width:G,height:z}=u.getComputedLayout();N+=A,O+=C;let W="";f==="img"?W=rt({id:i,left:N,top:O,width:G,height:z,src:p.src,isInheritingTransform:R,debug:s},h):W=et({id:i,left:N,top:O,width:G,height:z,isInheritingTransform:R,debug:s},h);for(let T of _)W+=T.next([N,O]).value;return W}import yt from"opentype.js";var V=class{constructor(n){this.fonts=new Map;for(let e of n){let i=e.data,a="buffer"in i?yt.parse(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)):yt.parse(i);this.defaultFont||(this.defaultFont=a),this.fonts.has(e.name)||this.fonts.set(e.name,[]),this.fonts.get(e.name).push([a,e.weight,e.style])}}get({name:n,weight:e,style:i}){if(!this.fonts.has(n))return this.defaultFont;e==="normal"&&(e=400),e==="bold"&&(e=700);let a=[...this.fonts.get(n)];return a.sort(([o,r,s],[l,f,p])=>{if(r!==f)return r?!f||r===e?-1:f===e?1:e===400&&r===500||e===500&&r===400?-1:e===400&&f===500||e===500&&f===400?1:e<400?r<e&&f<e?f-r:r<e?-1:f<e?1:r-f:e<r&&e<f?r-f:e<r?-1:e<f?1:f-r:1;if(s!==p){if(s===i)return-1;if(p===i)return 1}return-1}),a[0][0]}getFont({fontFamily:n,fontWeight:e=400,fontStyle:i="normal"}){return this.get({name:n,weight:e,style:i})}measure(n,e,{fontSize:i,letterSpacing:a=0}){return{width:n.getAdvanceWidth(e,i,{letterSpacing:a/i}),ascent:n.ascender/n.unitsPerEm*i,descent:-(n.descender/n.unitsPerEm)*i}}getSVG(n,e,{fontSize:i,top:a,left:o,letterSpacing:r=0}){return a+=n.ascender/n.unitsPerEm*i,n.getPath(e,o,a,i,{letterSpacing:r/i}).toPathData(2)}getAscent(n,{fontSize:e}){return n.ascender/n.unitsPerEm*e}};function nt({width:t,height:n,content:e},i){return`<svg width="${t}" height="${n}" viewBox="0 0 ${t} ${n}" xmlns="http://www.w3.org/2000/svg">${e}</svg>`}function Et(t,n){let e=F();if(!e)throw new Error("Satori is not initialized.");let i=new V(n.fonts),a=e.Node.create();a.setWidth(n.width),a.setHeight(n.height),a.setFlexDirection(e.FLEX_DIRECTION_ROW),a.setFlexWrap(e.WRAP_WRAP),a.setAlignContent(e.ALIGN_AUTO),a.setAlignItems(e.ALIGN_FLEX_START),a.setJustifyContent(e.JUSTIFY_FLEX_START);let o=X(t,{id:1,parentStyle:{},inheritedStyle:{fontSize:16,fontWeight:"normal",fontFamily:"serif",fontStyle:"normal",lineHeight:1.2,color:"black",opacity:1},parent:a,font:i,embedFont:n.embedFont,debug:n.debug});o.next(),a.calculateLayout(n.width,n.height,e.DIRECTION_LTR);let r=o.next([0,0]).value;return nt({width:n.width,height:n.height,content:r})}export{Et as default,Tt as init};
var xt=Object.defineProperty,$t=Object.defineProperties;var _t=Object.getOwnPropertyDescriptors;var st=Object.getOwnPropertySymbols;var St=Object.prototype.hasOwnProperty,Rt=Object.prototype.propertyIsEnumerable;var ft=(t,n,e)=>n in t?xt(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,P=(t,n)=>{for(var e in n||(n={}))St.call(n,e)&&ft(t,e,n[e]);if(st)for(var e of st(n))Rt.call(n,e)&&ft(t,e,n[e]);return t},ut=(t,n)=>$t(t,_t(n));var lt;function Tt(t){lt=t}function F(){return lt}function J(t){let n=typeof t;return!(n==="number"||n==="bigint"||n==="string"||n==="boolean")}function ct(t){return/^class\s/.test(Function.prototype.toString.call(t))}function B(t,n){return[t[0]*n[0]+t[2]*n[1],t[1]*n[0]+t[3]*n[1],t[0]*n[2]+t[2]*n[3],t[1]*n[2]+t[3]*n[3],t[0]*n[4]+t[2]*n[5]+t[4],t[1]*n[4]+t[3]*n[5]+t[5]]}function I(t,n,e){let i=n[t];return typeof i=="undefined"?e:i}var mt={p:{display:"block",marginTop:"1em",marginBottom:"1em"},div:{display:"block"},blockquote:{display:"block",marginTop:"1em",marginBottom:"1em",marginLeft:40,marginRight:40},center:{display:"block",textAlign:"center"},hr:{display:"block",marginTop:"0.5em",marginBottom:"0.5em",marginLeft:"auto",marginRight:"auto",borderWidth:1,borderStyle:"inset"},h1:{display:"block",fontSize:"2em",marginTop:"0.67em",marginBottom:"0.67em",marginLeft:0,marginRight:0,fontWeight:"bold"},h2:{display:"block",fontSize:"1.5em",marginTop:"0.83em",marginBottom:"0.83em",marginLeft:0,marginRight:0,fontWeight:"bold"},h3:{display:"block",fontSize:"1.17em",marginTop:"1em",marginBottom:"1em",marginLeft:0,marginRight:0,fontWeight:"bold"},h4:{display:"block",marginTop:"1.33em",marginBottom:"1.33em",marginLeft:0,marginRight:0,fontWeight:"bold"},h5:{display:"block",fontSize:"0.83em",marginTop:"1.67em",marginBottom:"1.67em",marginLeft:0,marginRight:0,fontWeight:"bold"},h6:{display:"block",fontSize:"0.67em",marginTop:"2.33em",marginBottom:"2.33em",marginLeft:0,marginRight:0,fontWeight:"bold"},u:{textDecoration:"underline"},strong:{fontWeight:"bold"},b:{fontWeight:"bold"},i:{fontStyle:"italic"},em:{fontStyle:"italic"},code:{fontFamily:"monospace"},kbd:{fontFamily:"monospace"},pre:{display:"block",fontFamily:"monospace",whiteSpace:"pre",marginTop:"1em",marginBottom:"1em"},mark:{backgroundColor:"yellow",color:"black"},big:{fontSize:"larger"},small:{fontSize:"smaller"},s:{textDecoration:"line-through"}};var Lt=new Set(["color","font","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textTransform","whiteSpace","letterSpacing","transform","wordBreak","opacity"]);function j(t){let n={};for(let e in t)Lt.has(e)&&(n[e]=t[e]);return n}import{getPropertyName as dt,getStylesForProperty as It}from"css-to-react-native";import ht from"parse-css-dimension";import{parseElementStyle as At}from"css-background-parser";var Ft=new Set(["flex","flexGrow","flexShrink","flexBasis","fontWeight","lineHeight","opacity","scale","scaleX","scaleY"]),pt=[1,0,0,1,0,0];function Ct(t,n){return typeof n=="number"?Ft.has(t)?String(n):n+"px":n}function gt(t,n){if(typeof t=="number")return t;try{let e=new ht(t);if(e.type==="length")switch(e.unit){case"em":return e.value*n;case"rem":return e.value*16;default:return e.value}else if(e.type==="angle")switch(e.unit){case"deg":return e.value;case"rad":return e.value*180/Math.PI;default:return e.value}}catch{}}function U(t,n){let e=[];for(let o in t){let r=dt(o);e.push([r,Ct(r,t[o])])}let i=e.reduce((o,r)=>{let s=dt(r[0]),l=r[1];return Object.assign(o,It(s,l,!0))},{});if(i.backgroundImage){let{backgrounds:o}=At(i);i.backgroundImage=o}let a=i.fontSize||n.fontSize;if(typeof a=="string")try{let o=new ht(a);switch(o.unit){case"em":a=o.value*n.fontSize;break;case"rem":a=o.value*16;break}}catch{a=16}i.fontSize=a;for(let o in i){let r=i[o];if(typeof r=="string"){let s=gt(r,a);typeof s!="undefined"&&(i[o]=s),r=i[o]}if(o==="opacity"&&(r=i[o]=r*n.opacity),o==="transform"){let s=[...pt],l=r;for(let f of l){let d=Object.keys(f)[0],p=f[d],m=typeof p=="string"?gt(p,a):p,u=[...pt];switch(d){case"translateX":u[4]=m;break;case"translateY":u[5]=m;break;case"scaleX":u[0]=m;break;case"scaleY":u[3]=m;break;case"rotate":let h=m*Math.PI/180,S=Math.cos(h),R=Math.sin(h);u[0]=S,u[1]=R,u[2]=-R,u[3]=S;break;case"skewX":u[2]=Math.tan(m*Math.PI/180);break;case"skewY":u[1]=Math.tan(m*Math.PI/180);break}s=B(u,s)}i.transform=s}}return i}function K(t,n,e,i,a){let o=F(),r=P(P(P({},e),U(mt[n],e)),U(i,e));if(n==="img"){let s=parseInt(a.width),f=parseInt(a.height)/s;r.width||(r.width=s),r.height||(r.height=f*r.width)}return t.setDisplay(I(r.display,{flex:o.DISPLAY_FLEX,none:o.DISPLAY_NONE},o.DISPLAY_FLEX)),t.setAlignContent(I(r.alignContent,{stretch:o.ALIGN_STRETCH,center:o.ALIGN_CENTER,"flex-start":o.ALIGN_FLEX_START,"flex-end":o.ALIGN_FLEX_END,"space-between":o.ALIGN_SPACE_BETWEEN,"space-around":o.ALIGN_SPACE_AROUND,baseline:o.ALIGN_BASELINE,normal:o.ALIGN_AUTO},o.ALIGN_AUTO)),t.setAlignItems(I(r.alignItems,{stretch:o.ALIGN_STRETCH,center:o.ALIGN_CENTER,"flex-start":o.ALIGN_FLEX_START,"flex-end":o.ALIGN_FLEX_END,baseline:o.ALIGN_BASELINE,normal:o.ALIGN_AUTO},o.ALIGN_FLEX_START)),t.setAlignSelf(I(r.alignSelf,{stretch:o.ALIGN_STRETCH,center:o.ALIGN_CENTER,"flex-start":o.ALIGN_FLEX_START,"flex-end":o.ALIGN_FLEX_END,baseline:o.ALIGN_BASELINE,normal:o.ALIGN_AUTO},o.ALIGN_AUTO)),t.setJustifyContent(I(r.justifyContent,{center:o.JUSTIFY_CENTER,"flex-start":o.JUSTIFY_FLEX_START,"flex-end":o.JUSTIFY_FLEX_END,"space-between":o.JUSTIFY_SPACE_BETWEEN,"space-around":o.JUSTIFY_SPACE_AROUND},o.JUSTIFY_FLEX_START)),t.setFlexDirection(I(r.flexDirection,{row:o.FLEX_DIRECTION_ROW,column:o.FLEX_DIRECTION_COLUMN,"row-reverse":o.FLEX_DIRECTION_ROW_REVERSE,"column-reverse":o.FLEX_DIRECTION_COLUMN_REVERSE},o.FLEX_DIRECTION_ROW)),t.setFlexWrap(I(r.flexWrap,{wrap:o.WRAP_WRAP,nowrap:o.WRAP_NO_WRAP,"wrap-reverse":o.WRAP_WRAP_REVERSE},o.WRAP_WRAP)),typeof r.flexBasis!="undefined"&&t.setFlexBasis(r.flexBasis),t.setFlexGrow(typeof r.flexGrow=="undefined"?0:r.flexGrow),t.setFlexShrink(typeof r.flexShrink=="undefined"?1:r.flexShrink),typeof r.maxHeight!="undefined"&&t.setMaxHeight(r.maxHeight),typeof r.maxWidth!="undefined"&&t.setMaxWidth(r.maxWidth),typeof r.minHeight!="undefined"&&t.setMinHeight(r.minHeight),typeof r.minWidth!="undefined"&&t.setMinWidth(r.minWidth),t.setOverflow(I(r.overflow,{visible:o.OVERFLOW_VISIBLE,hidden:o.OVERFLOW_HIDDEN},o.OVERFLOW_VISIBLE)),t.setMargin(o.EDGE_TOP,r.marginTop||0),t.setMargin(o.EDGE_BOTTOM,r.marginBottom||0),t.setMargin(o.EDGE_LEFT,r.marginLeft||0),t.setMargin(o.EDGE_RIGHT,r.marginRight||0),t.setBorder(o.EDGE_TOP,r.borderWidth||0),t.setBorder(o.EDGE_BOTTOM,r.borderWidth||0),t.setBorder(o.EDGE_LEFT,r.borderWidth||0),t.setBorder(o.EDGE_RIGHT,r.borderWidth||0),t.setPadding(o.EDGE_TOP,r.paddingTop||0),t.setPadding(o.EDGE_BOTTOM,r.paddingBottom||0),t.setPadding(o.EDGE_LEFT,r.paddingLeft||0),t.setPadding(o.EDGE_RIGHT,r.paddingRight||0),t.setPositionType(I(r.position,{absolute:o.POSITION_TYPE_ABSOLUTE,relative:o.POSITION_TYPE_RELATIVE},o.POSITION_TYPE_RELATIVE)),typeof r.top!="undefined"&&t.setPosition(o.EDGE_TOP,r.top),typeof r.bottom!="undefined"&&t.setPosition(o.EDGE_BOTTOM,r.bottom),typeof r.left!="undefined"&&t.setPosition(o.EDGE_LEFT,r.left),typeof r.right!="undefined"&&t.setPosition(o.EDGE_RIGHT,r.right),typeof r.height!="undefined"?t.setHeight(r.height):t.setHeightAuto(),typeof r.width!="undefined"?t.setWidth(r.width):t.setWidthAuto(),[r,j(r)]}import{LineBreaker as Nt}from"css-line-break";function D({left:t,top:n,width:e,height:i},a,o){let r;if(o)r=a;else{let s=t+e/2,l=n+i/2;r=B([1,0,0,1,s,l],B(a,[1,0,0,1,-s,-l])),a.__parent&&(r=B(a.__parent,r)),a.splice(0,6,...r)}return`matrix(${r.map(s=>s.toFixed(2)).join(",")})`}function q({content:t,left:n,top:e,width:i,height:a,isInheritingTransform:o,path:r,debug:s},l){let f="",d=1,p="";return l.transform&&(f=D({left:n,top:e,width:i,height:a},l.transform,o)),l.opacity&&(d=+l.opacity),s&&(p=`<rect x="${n}" y="${e}" width="${i}" height="${r===null?.5:a}" fill="transparent" stroke="#575eff" stroke-width="1" ${f?`transform="${f}"`:""}></rect>`),r===null?`<text x="${n}" y="${e}" width="${i}" height="${a}" fill="${l.color}" font-weight="${l.fontWeight}" font-style="${l.fontStyle}" font-size="${l.fontSize}" font-family="${l.fontFamily}" ${l.letterSpacing?`letter-spacing="${l.letterSpacing}"`:""} ${f?`transform="${f}"`:""} ${d!==1?`opacity="${d}"`:""}>${t}</text>${p}`:`<path fill="${l.color}" ${f?`transform="${f}"`:""} ${d!==1?`opacity="${d}"`:""} d="${r}"></path>${p}`}function*Z(t,n){let e=F(),{parentStyle:i,parent:a,font:o,id:r,isInheritingTransform:s,debug:l,embedFont:f}=n,d=Nt(t,{lineBreak:"strict",wordBreak:I(i.wordBreak,{normal:"normal","break-all":"break-all","break-word":"break-word","keep-all":"keep-all"},"normal")}),p=[];for(let E;!(E=d.next()).done;)p.push(E.value.slice());let m=[];a.setAlignItems(e.ALIGN_BASELINE),i.textAlign==="left"?a.setJustifyContent(e.JUSTIFY_FLEX_START):i.textAlign==="center"?a.setJustifyContent(e.JUSTIFY_CENTER):i.textAlign==="right"?a.setJustifyContent(e.JUSTIFY_FLEX_END):i.textAlign==="justify"&&a.setJustifyContent(e.JUSTIFY_SPACE_BETWEEN);let u=o.getFont(i);for(let E of p){let _=e.Node.create();a.insertChild(_,a.getChildCount());let b=o.measure(u,E,i);_.setWidth(b.width),_.setHeight(b.ascent*1.2),_.setMargin(e.EDGE_BOTTOM,b.descent*1.2),m.push(_)}let[h,S]=yield,R="";for(let E=0;E<m.length;E++){let _=m[E],b=p[E];i.position==="absolute"&&_.calculateLayout();let{left:A,top:C,width:N,height:O}=_.getComputedLayout();A+=h,C+=S;let G=null;f?G=o.getSVG(u,b,ut(P({},i),{top:C,left:A,letterSpacing:i.letterSpacing})):C+=o.getAscent(u,i),R+=q({content:b,id:r,left:A,top:C,width:N,height:O,isInheritingTransform:s,path:G,debug:l},i)}return R}var Q=Q||{};Q.parse=function(){var t={linearGradient:/^(\-(webkit|o|ms|moz)\-)?(linear\-gradient)/i,repeatingLinearGradient:/^(\-(webkit|o|ms|moz)\-)?(repeating\-linear\-gradient)/i,radialGradient:/^(\-(webkit|o|ms|moz)\-)?(radial\-gradient)/i,repeatingRadialGradient:/^(\-(webkit|o|ms|moz)\-)?(repeating\-radial\-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,percentageValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,emValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,angleValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^\#([0-9a-fA-F]+)/,literalColor:/^([a-zA-Z]+)/,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,number:/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/},n="";function e(c){var g=new Error(n+": "+c);throw g.source=n,g}function i(){var c=a();return n.length>0&&e("Invalid input not EOF"),c}function a(){return b(o)}function o(){return r("linear-gradient",t.linearGradient,l)||r("repeating-linear-gradient",t.repeatingLinearGradient,l)||r("radial-gradient",t.radialGradient,p)||r("repeating-radial-gradient",t.repeatingRadialGradient,p)}function r(c,g,y){return s(g,function(v){var at=y();return at&&(k(t.comma)||e("Missing comma before color stops")),{type:c,orientation:at,colorStops:b(A)}})}function s(c,g){var y=k(c);if(y){k(t.startCall)||e("Missing (");var v=g(y);return k(t.endCall)||e("Missing )"),v}}function l(){return f()||d()}function f(){return L("directional",t.sideOrCorner,1)}function d(){return L("angular",t.angleValue,1)}function p(){var c,g=m(),y;return g&&(c=[],c.push(g),y=n,k(t.comma)&&(g=m(),g?c.push(g):n=y)),c}function m(){var c=u()||h();if(c)c.at=R();else{var g=S();if(g){c=g;var y=R();y&&(c.at=y)}else{var v=E();v&&(c={type:"default-radial",at:v})}}return c}function u(){var c=L("shape",/^(circle)/i,0);return c&&(c.style=ot()||S()),c}function h(){var c=L("shape",/^(ellipse)/i,0);return c&&(c.style=T()||S()),c}function S(){return L("extent-keyword",t.extentKeywords,1)}function R(){if(L("position",/^at/,0)){var c=E();return c||e("Missing positioning value"),c}}function E(){var c=_();if(c.x||c.y)return{type:"position",value:c}}function _(){return{x:T(),y:T()}}function b(c){var g=c(),y=[];if(g)for(y.push(g);k(t.comma);)g=c(),g?y.push(g):e("One extra comma");return y}function A(){var c=C();return c||e("Expected color definition"),c.length=T(),c}function C(){return O()||z()||G()||N()}function N(){return L("literal",t.literalColor,0)}function O(){return L("hex",t.hexColor,1)}function G(){return s(t.rgbColor,function(){return{type:"rgb",value:b(W)}})}function z(){return s(t.rgbaColor,function(){return{type:"rgba",value:b(W)}})}function W(){return k(t.number)[1]}function T(){return L("%",t.percentageValue,1)||w()||ot()}function w(){return L("position-keyword",t.positionKeywords,1)}function ot(){return L("px",t.pixelValue,1)||L("em",t.emValue,1)}function L(c,g,y){var v=k(g);if(v)return{type:c,value:v[y]}}function k(c){var g,y;return y=/^[\n\r\t\s]+/.exec(n),y&&it(y[0].length),g=c.exec(n),g&&it(g[0].length),g}function it(c){n=n.substr(c)}return function(c){return n=c.toString(),i()}}();var bt=Q;function Ot(t){return t.type==="literal"?t.value:t.type==="hex"?`#${t.value}`:t.type==="rgb"?`rgb(${t.value.join(",")})`:t.type==="rgba"?`rgba(${t.value.join(",")})`:"transparent"}function tt({id:t,width:n},{image:e}){if(e.startsWith("linear-gradient(")){let i=bt.parse(e)[0],a,o,r,s;if(i.orientation.type==="directional")[a,o,r,s]={top:[0,1,0,0],bottom:[0,0,0,1],left:[1,0,0,0],right:[0,0,1,0]}[i.orientation.value];else if(i.orientation.type==="angular"){let u=+i.orientation.value/180*Math.PI-Math.PI/2,h=Math.cos(u),S=Math.sin(u);a=0,o=0,r=h,s=S,r<0&&(a-=r,r=0),s<0&&(o-=s,s=0)}let l=n,f=[];for(let u of i.colorStops){let h=Ot(u);if(!f.length&&(f.push({offset:0,color:h}),typeof u.length=="undefined"||u.length.value==="0"))continue;let S=typeof u.length=="undefined"?void 0:u.length.type==="%"?u.length.value/100:u.length.value/l;f.push({offset:S,color:h})}f.length||f.push({offset:0,color:"transparent"});let d=f[f.length-1];d.offset!==1&&(typeof d.offset=="undefined"?d.offset=1:f.push({offset:1,color:d.color}));let p=0,m=1;for(let u=0;u<f.length;u++)if(typeof f[u].offset=="undefined"){for(m<u&&(m=u);typeof f[m].offset=="undefined";)m++;f[u].offset=(f[m].offset-f[p].offset)/(m-p)*(u-p)+f[p].offset}else p=u;return[`satori_bi${t}`,`<linearGradient id="satori_bi${t}" x1="${a}" y1="${o}" x2="${r}" y2="${s}">${f.map(u=>`<stop offset="${u.offset*100}%" stop-color="${u.color}"/>`).join("")}</linearGradient>`]}if(e.startsWith("url(")){let i=e.slice(4,-1);return[`satori_bi${t}`,`<pattern id="satori_bi${t}" patternContentUnits="objectBoundingBox" width="1" height="1"><image href="${i}" x="0" y="0" width="1" height="1"/></pattern>`]}}function H(t,n,e){return e<t+n&&(e/2<t&&e/2<n?t=n=e/2:e/2<t?t=e-n:e/2<n&&(n=e-t)),[t,n]}function M({left:t,top:n,width:e,height:i},a){let{borderTopLeftRadius:o,borderTopRightRadius:r,borderBottomLeftRadius:s,borderBottomRightRadius:l}=a;return o=Math.min(o||0,e,i),r=Math.min(r||0,e,i),s=Math.min(s||0,e,i),l=Math.min(l||0,e,i),!o&&!r&&!s&&!l?"":([o,r]=H(o,r,e),[o,s]=H(o,s,i),[r,l]=H(r,l,i),[s,l]=H(s,l,e),`M${t+o},${n} h${e-o-r} a${r},${r} 0 0 1 ${r},${r} v${i-r-l} a${l},${l} 0 0 1 ${-l},${l} h${l+s-e} a${s},${s} 0 0 1 ${-s},${-s} v${s+o-i} a${o},${o} 0 0 1 ${o},${-o}`)}function Y({id:t,width:n,height:e},i){if(!i.shadowColor||!i.shadowOffset||typeof i.shadowRadius=="undefined")return"";let a=Math.min(i.shadowOffset.width-i.shadowRadius*2,0),o=Math.max(i.shadowOffset.width+i.shadowRadius*2+n,n),r=Math.min(i.shadowOffset.height-i.shadowRadius*2,0),s=Math.max(i.shadowOffset.height+i.shadowRadius*2+e,e);return`<defs><filter id="satori_s-${t}" x="${a/n*100}%" y="${r/e*100}%" width="${(o-a)/n*100}%" height="${(s-r)/e*100}%"><feDropShadow dx="${i.shadowOffset.width}" dy="${i.shadowOffset.height}" stdDeviation="${i.shadowRadius}" flood-color="${i.shadowColor}" flood-opacity="1"/></filter></defs>`}function et({id:t,left:n,top:e,width:i,height:a,isInheritingTransform:o,debug:r},s){if(s.display==="none")return"";let l="rect",f="transparent",d=0,p="",m="",u=[],h=1,S="";if(s.backgroundColor&&u.push(s.backgroundColor),s.borderWidth&&(d=s.borderWidth,f=s.borderColor),s.opacity&&(h=+s.opacity),s.transform&&(p=D({left:n,top:e,width:i,height:a},s.transform,o)),s.backgroundImage){let _=s.backgroundImage.map((b,A)=>tt({id:t+"_"+A,width:i,height:a},b)).filter(Boolean);for(let b of _)m+=b[1],u.push(`url(#${b[0]})`)}let R=M({left:n,top:e,width:i,height:a},s);R&&(l="path");let E=Y({width:i,height:a,id:t},s);return u.length||u.push("transparent"),r&&(S=`<rect x="${n}" y="${e}" width="${i}" height="${a}" fill="transparent" stroke="#ff5757" stroke-width="1" ${p?`transform="${p}"`:""}></rect>`),`${m?`<defs>${m}</defs>`:""}${E?`${E}<g filter="url(#satori_s-${t})">`:""}${h!==1?`<g opacity="${h}">`:""}${u.map((_,b)=>_==="transparent"&&!(b===u.length-1&&d)?"":`<${l} x="${n}" y="${e}" width="${i}" height="${a}" fill="${_}" ${b===u.length-1&&d?`stroke="${f}" stroke-width="${d}"`:""} ${R?`d="${R}"`:""} ${p?`transform="${p}"`:""}></${l}>`).join("")}${h!==1?"</g>":""}${E?"</g>":""}${S}`}function rt({id:t,left:n,top:e,width:i,height:a,src:o,debug:r},s){if(s.display==="none")return"";let l="",f=1,d=s.objectFit==="contain"?"xMidYMid":s.objectFit==="cover"?"xMidYMid slice":"none",p=M({left:n,top:e,width:i,height:a},s);p&&(l=`<clipPath id="satori_c-${t}"><path x="${n}" y="${e}" width="${i}" height="${a}" d="${p}"></path></clipPath>`),s.opacity&&(f=+s.opacity);let m=Y({width:i,height:a,id:t},s);return`${m}${m?`<g filter="url(#satori_s-${t})">`:""}${l}<image href="${o}" x="${n}" y="${e}" width="${i}" height="${a}" preserveAspectRatio="${d}" ${l?`clip-path="url(#satori_c-${t})"`:""} ${f!==1?`opacity="${f}"`:""}></image>${m?"</g>":""}`}function*X(t,n){let e=F(),{id:i,inheritedStyle:a,parent:o,font:r,debug:s,embedFont:l=!0}=n;if(t===null||typeof t=="undefined")return yield,"";if(!J(t)||typeof t.type=="function"){let T;if(!J(t))T=Z(String(t),n);else{if(ct(t.type))throw new Error("Class component is not supported.");T=X(t.type(t.props),n)}T.next();let w=yield;return T.next(w).value}let{type:f,props:d}=t,{style:p,children:m}=d,u=e.Node.create();o.insertChild(u,o.getChildCount());let[h,S]=K(u,f,a,p,d),R=h.transform===a.transform;R||(h.transform.__parent=a.transform);let E=typeof m=="undefined"?[]:[].concat(m),_=[],b=0;for(let T of E){let w=X(T,{id:i*E.length+ ++b,parentStyle:h,inheritedStyle:S,isInheritingTransform:!0,parent:u,font:r,embedFont:l,debug:s});w.next(),_.push(w)}let[A,C]=yield;h.position==="absolute"&&u.calculateLayout();let{left:N,top:O,width:G,height:z}=u.getComputedLayout();N+=A,O+=C;let W="";f==="img"?W=rt({id:i,left:N,top:O,width:G,height:z,src:d.src,isInheritingTransform:R,debug:s},h):W=et({id:i,left:N,top:O,width:G,height:z,isInheritingTransform:R,debug:s},h);for(let T of _)W+=T.next([N,O]).value;return W}import yt from"opentype.js";var V=class{constructor(n){this.fonts=new Map;for(let e of n){let i=e.data,a="buffer"in i?yt.parse(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)):yt.parse(i);this.defaultFont||(this.defaultFont=a),this.fonts.has(e.name)||this.fonts.set(e.name,[]),this.fonts.get(e.name).push([a,e.weight,e.style])}}get({name:n,weight:e,style:i}){if(!this.fonts.has(n))return this.defaultFont;e==="normal"&&(e=400),e==="bold"&&(e=700);let a=[...this.fonts.get(n)];return a.sort(([o,r,s],[l,f,d])=>{if(r!==f)return r?!f||r===e?-1:f===e?1:e===400&&r===500||e===500&&r===400?-1:e===400&&f===500||e===500&&f===400?1:e<400?r<e&&f<e?f-r:r<e?-1:f<e?1:r-f:e<r&&e<f?r-f:e<r?-1:e<f?1:f-r:1;if(s!==d){if(s===i)return-1;if(d===i)return 1}return-1}),a[0][0]}getFont({fontFamily:n,fontWeight:e=400,fontStyle:i="normal"}){return this.get({name:n,weight:e,style:i})}measure(n,e,{fontSize:i,letterSpacing:a=0}){return{width:n.getAdvanceWidth(e,i,{letterSpacing:a/i}),ascent:n.ascender/n.unitsPerEm*i,descent:-(n.descender/n.unitsPerEm)*i}}getSVG(n,e,{fontSize:i,top:a,left:o,letterSpacing:r=0}){return a+=n.ascender/n.unitsPerEm*i,n.getPath(e,o,a,i,{letterSpacing:r/i}).toPathData(2)}getAscent(n,{fontSize:e}){return n.ascender/n.unitsPerEm*e}};function nt({width:t,height:n,content:e},i){return`<svg width="${t}" height="${n}" viewBox="0 0 ${t} ${n}" xmlns="http://www.w3.org/2000/svg">${e}</svg>`}function Et(t,n){let e=F();if(!e)throw new Error("Satori is not initialized.");let i=new V(n.fonts),a=e.Node.create();a.setWidth(n.width),a.setHeight(n.height),a.setFlexDirection(e.FLEX_DIRECTION_ROW),a.setFlexWrap(e.WRAP_WRAP),a.setAlignContent(e.ALIGN_AUTO),a.setAlignItems(e.ALIGN_FLEX_START),a.setJustifyContent(e.JUSTIFY_FLEX_START);let o=X(t,{id:1,parentStyle:{},inheritedStyle:{fontSize:16,fontWeight:"normal",fontFamily:"serif",fontStyle:"normal",lineHeight:1.2,color:"black",opacity:1},parent:a,font:i,embedFont:n.embedFont,debug:n.debug});o.next(),a.calculateLayout(n.width,n.height,e.DIRECTION_LTR);let r=o.next([0,0]).value;return nt({width:n.width,height:n.height,content:r})}export{Et as default,Tt as init};
//# sourceMappingURL=index.wasm.js.map
{
"name": "satori",
"version": "0.0.8",
"version": "0.0.9",
"description": "A lightweight library to convert HTML JSX to SVG string.",

@@ -5,0 +5,0 @@ "module": "./dist/esm/index.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc