Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

satori

Package Overview
Dependencies
Maintainers
1
Versions
115
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.14-beta.0 to 0.0.14

4

dist/esm/index.js

@@ -1,3 +0,3 @@

var at=Object.defineProperty,zt=Object.defineProperties,Ut=Object.getOwnPropertyDescriptor,Xt=Object.getOwnPropertyDescriptors,Ht=Object.getOwnPropertyNames,Tt=Object.getOwnPropertySymbols;var Lt=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable;var It=(t,r,e)=>r in t?at(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,Z=(t,r)=>{for(var e in r||(r={}))Lt.call(r,e)&&It(t,e,r[e]);if(Tt)for(var e of Tt(r))Vt.call(r,e)&&It(t,e,r[e]);return t},wt=(t,r)=>zt(t,Xt(r)),Jt=t=>at(t,"__esModule",{value:!0});var At=(t,r)=>()=>(t&&(r=t(t=0)),r);var jt=(t,r)=>{for(var e in r)at(t,e,{get:r[e],enumerable:!0})},Kt=(t,r,e,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of Ht(r))!Lt.call(t,s)&&(e||s!=="default")&&at(t,s,{get:()=>r[s],enumerable:!(i=Ut(r,s))||i.enumerable});return t};var qt=(t=>(r,e)=>t&&t.get(r)||(e=Kt(Jt({}),r,1),t&&t.set(r,e),e))(typeof WeakMap!="undefined"?new WeakMap:0);var d=At(()=>{});var Ct={};jt(Ct,{default:()=>Qt});import*as Zt from"yoga-layout-prebuilt";var Qt,Ft=At(()=>{d();Qt=Zt});d();d();d();var st;{let t=(Ft(),qt(Ct));t.default?st=t.default:st=t}function te(t){st=t}function B(){return st}d();d();function ct(t){let r=typeof t;return!(r==="number"||r==="bigint"||r==="string"||r==="boolean")}function Ot(t){return/^class\s/.test(Function.prototype.toString.call(t))}function Q(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 F(t,r,e){let i=r[t];return typeof i=="undefined"?e:i}d();d();var Nt={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"}};d();var ee=new Set(["color","font","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textTransform","whiteSpace","letterSpacing","transform","wordBreak","textShadowOffset","textShadowColor","textShadowRadius","opacity"]);function mt(t){let r={};for(let e in t)ee.has(e)&&(r[e]=t[e]);return r}d();import{getPropertyName as vt,getStylesForProperty as re}from"css-to-react-native";import Gt from"parse-css-dimension";import{parseElementStyle as ne}from"css-background-parser";var oe=new Set(["flex","flexGrow","flexShrink","flexBasis","fontWeight","lineHeight","opacity","scale","scaleX","scaleY"]),kt=[1,0,0,1,0,0];function ie(t,r){return typeof r=="number"?oe.has(t)?String(r):r+"px":r}function Wt(t,r){if(typeof t=="number")return t;try{let e=new Gt(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 ft(t,r){let e=[];for(let o in t){let n=vt(o);e.push([n,ie(n,t[o])])}let i=e.reduce((o,n)=>{let a=vt(n[0]),c=n[1];return Object.assign(o,re(a,c,!0))},{});if(i.backgroundImage){let{backgrounds:o}=ne(i);i.backgroundImage=o}let s=i.fontSize||r.fontSize;if(typeof s=="string")try{let o=new Gt(s);switch(o.unit){case"em":s=o.value*r.fontSize;break;case"rem":s=o.value*16;break}}catch{s=16}typeof i.fontSize!="undefined"&&(i.fontSize=s);for(let o in i){let n=i[o];if(typeof n=="string"){let a=Wt(n,s);typeof a!="undefined"&&(i[o]=a),n=i[o]}if(o==="opacity"&&(n=i[o]=n*r.opacity),o==="transform"){let a=[...kt],c=n;for(let l of c){let p=Object.keys(l)[0],h=l[p],g=typeof h=="string"?Wt(h,s):h,f=[...kt];switch(p){case"translateX":f[4]=g;break;case"translateY":f[5]=g;break;case"scaleX":f[0]=g;break;case"scaleY":f[3]=g;break;case"rotate":let y=g*Math.PI/180,x=Math.cos(y),I=Math.sin(y);f[0]=x,f[1]=I,f[2]=-I,f[3]=x;break;case"skewX":f[2]=Math.tan(g*Math.PI/180);break;case"skewY":f[1]=Math.tan(g*Math.PI/180);break}a=Q(f,a)}i.transform=a}}return i}function dt(t,r,e,i,s){let o=B(),n=Z(Z(Z({},e),ft(Nt[r],e)),ft(i,e));if(r==="img"){let a=parseInt(s.width),l=parseInt(s.height)/a;n.width||(n.width=a),n.height||(n.height=l*n.width)}return t.setDisplay(F(n.display,{flex:o.DISPLAY_FLEX,none:o.DISPLAY_NONE},o.DISPLAY_FLEX)),t.setAlignContent(F(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(F(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(F(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(F(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(F(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(F(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(F(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(F(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,mt(n)]}d();import{LineBreaker as ae}from"css-line-break";import{splitGraphemes as se}from"text-segmentation";d();d();function et({left:t,top:r,width:e,height:i},s,o){let n;if(o)n=s;else{let a=t+e/2,c=r+i/2;n=Q([1,0,0,1,a,c],Q(s,[1,0,0,1,-a,-c])),s.__parent&&(n=Q(s.__parent,n)),s.splice(0,6,...n)}return`matrix(${n.map(a=>a.toFixed(2)).join(",")})`}function Pt({left:t,top:r,width:e,height:i,isInheritingTransform:s},o){let n="",a=1,c="";return o.transform&&(n=et({left:t,top:r,width:e,height:i},o.transform,s)),o.opacity&&(a=+o.opacity),{matrix:n,opacity:a}}function gt({id:t,content:r,filter:e,left:i,top:s,width:o,height:n,matrix:a,opacity:c,path:l,image:p,debug:h},g){let f="";return h&&(f=`<rect x="${i}" y="${s}" width="${o}" height="${l===null?.5:n}" fill="transparent" stroke="#575eff" stroke-width="1" ${a?`transform="${a}"`:""}></rect>`),p?`${e?`${e}<g filter="url(#satori_s-${t})">`:""}<image href="${p}" x="${i}" y="${s}" width="${o}" height="${n}" ${a?`transform="${a}"`:""} ${c!==1?`opacity="${c}"`:""}></image>${e?"</g>":""}${f}`:l===null?`${e?`${e}<g filter="url(#satori_s-${t})">`:""}<text x="${i}" y="${s}" width="${o}" height="${n}" fill="${g.color}" font-weight="${g.fontWeight}" font-style="${g.fontStyle}" font-size="${g.fontSize}" font-family="${g.fontFamily}" ${g.letterSpacing?`letter-spacing="${g.letterSpacing}"`:""} ${a?`transform="${a}"`:""} ${c!==1?`opacity="${c}"`:""}>${r}</text>${e?"</g>":""}${f}`:`${e?`${e}<g filter="url(#satori_s-${t})">`:""}<path fill="${g.color}" ${a?`transform="${a}"`:""} ${c!==1?`opacity="${c}"`:""} d="${l}"></path>${e?"</g>":""}${f}`}d();function j({id:t,width:r,height:e},i){if(!i.shadowColor||!i.shadowOffset||typeof i.shadowRadius=="undefined")return"";let s=i.shadowRadius*i.shadowRadius/4,o=Math.min(i.shadowOffset.width-s,0),n=Math.max(i.shadowOffset.width+s+r,r),a=Math.min(i.shadowOffset.height-s,0),c=Math.max(i.shadowOffset.height+s+e,e);return`<defs><filter id="satori_s-${t}" x="${o/r*100}%" y="${a/e*100}%" width="${(n-o)/r*100}%" height="${(c-a)/e*100}%"><feDropShadow dx="${i.shadowOffset.width}" dy="${i.shadowOffset.height}" stdDeviation="${i.shadowRadius/2}" flood-color="${i.shadowColor}" flood-opacity="1"/></filter></defs>`}var rt="en",ht=typeof Intl!="undefined"&&"Segmenter"in Intl,fe=ht?new Intl.Segmenter(rt,{granularity:"word"}):null,le=ht?new Intl.Segmenter(rt,{granularity:"grapheme"}):null,ue=[32,160,4961,65792,65793,4153,4241],ce=t=>{let r=ae(t,{lineBreak:"strict",wordBreak:"normal"}),e=[],i;for(;!(i=r.next()).done;)if(i.value){let s=i.value.slice(),o=[].map.call(s,a=>a.codePointAt(0)),n="";o.forEach(a=>{ue.includes(a)?(n.length&&e.push(n),e.push(String.fromCodePoint(a)),n=""):n+=String.fromCodePoint(a)}),n.length&&e.push(n)}return e};function pt(t,r){return ht?r==="word"?[...fe.segment(t)].map(e=>e.segment):[...le.segment(t)].map(e=>e.segment):r==="word"?ce(t):se(t)}function*bt(t,r){let e=B(),{parentStyle:i,parent:s,font:o,id:n,isInheritingTransform:a,debug:c,embedFont:l,graphemeImages:p}=r;i.textTransform==="uppercase"?t=t.toLocaleUpperCase(rt):i.textTransform==="lowercase"?t=t.toLocaleLowerCase(rt):i.textTransform==="capitalize"&&(t=pt(t,"word").map(m=>pt(m,"grapheme").map((b,R)=>R===0?b.toLocaleUpperCase(rt):b).join("")).join(""));let h=F(i.wordBreak,{normal:"word","break-all":"grapheme","break-word":"grapheme","keep-all":"word"},"word"),g=pt(t,h),f=e.Node.create();f.setAlignItems(e.ALIGN_BASELINE),i.textAlign==="left"?f.setJustifyContent(e.JUSTIFY_FLEX_START):i.textAlign==="center"?f.setJustifyContent(e.JUSTIFY_CENTER):i.textAlign==="right"?f.setJustifyContent(e.JUSTIFY_FLEX_END):i.textAlign==="justify"&&f.setJustifyContent(e.JUSTIFY_SPACE_BETWEEN),s.insertChild(f,s.getChildCount());let y=o.getFont(i),x=y.ascender/y.unitsPerEm*i.fontSize,I=-(y.descender/y.unitsPerEm)*i.fontSize,L=(x+I)*1.2,{textAlign:$}=i,N=[],P=[],w=[];f.setMeasureFunc((m,b,R,K)=>{let W=[],k="",G=0,V="",T=0,J=0,q=-1;N=[],P=[0];for(let U=0;U<g.length;U++){let X=g[U];if([" ",`
`," ","\u3000"].includes(X))k+=X,G=o.measure(y,k,i),w[U]=null;else{let tt=p&&p[X]?i.fontSize:o.measure(y,X,i);T||(k="",G=0);let Yt=G||",.!?:-@)>]}%#".indexOf(X[0])<0,Rt=!T||!!G;Yt&&T+G+tt>m?(N.push(T),W.push(V),V=X,T=tt,P.push(1),q=-1):(V+=k+X,T+=G+tt,Rt&&P[P.length-1]++),k="",G=0,Rt&&q++,J=Math.max(J,T),w[U]={y:W.length*L,x:T-tt,width:tt,line:W.length,lineIndex:q}}}return T&&(W.push(V),N.push(T)),W.length>1&&(J=m),{width:J,height:W.length*L}});let[D,Y]=yield,H="";i.position==="absolute"&&f.calculateLayout();let{left:z,top:C,width:A,height:M}=f.getComputedLayout(),_=D+z,v=Y+C,{matrix:it,opacity:u}=Pt({left:z,top:C,width:A,height:M,isInheritingTransform:a},i);for(let m=0;m<g.length;m++){if(!w[m])continue;let b=g[m],R=null,K=null,W=w[m].y,k=w[m].x,G=w[m].width,V=L,T=A-N[w[m].line];if($==="right"||$==="end")k+=T;else if($==="center")k+=T/2;else if($==="justify"){let q=w[m].line;if(q<N.length-1){let U=P[q];k+=(U>1?T/(U-1):0)*w[m].lineIndex}}p&&p[b]?K=p[b]:l?R=o.getSVG(y,b,wt(Z({},i),{left:_+k,top:v+W,letterSpacing:i.letterSpacing})):W+=x;let J="";i.textShadowOffset&&(J=j({width:G,height:V,id:n},{shadowColor:i.textShadowColor,shadowOffset:i.textShadowOffset,shadowRadius:i.textShadowRadius})),H+=gt({content:b,filter:J,id:n,left:_+k,top:v+W,width:G,height:V,matrix:it,opacity:u,path:R,image:K,debug:c},i)}return H}d();d();d();var yt=yt||{};yt.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(u){var m=new Error(r+": "+u);throw m.source=r,m}function i(){var u=s();return r.length>0&&e("Invalid input not EOF"),u}function s(){return $(o)}function o(){return n("linear-gradient",t.linearGradient,c)||n("repeating-linear-gradient",t.repeatingLinearGradient,c)||n("radial-gradient",t.radialGradient,h)||n("repeating-radial-gradient",t.repeatingRadialGradient,h)}function n(u,m,b){return a(m,function(R){var K=b();return K&&(v(t.comma)||e("Missing comma before color stops")),{type:u,orientation:K,colorStops:$(N)}})}function a(u,m){var b=v(u);if(b){v(t.startCall)||e("Missing (");var R=m(b);return v(t.endCall)||e("Missing )"),R}}function c(){return l()||p()}function l(){return _("directional",t.sideOrCorner,1)}function p(){return _("angular",t.angleValue,1)}function h(){var u,m=g(),b;return m&&(u=[],u.push(m),b=r,v(t.comma)&&(m=g(),m?u.push(m):r=b)),u}function g(){var u=f()||y();if(u)u.at=I();else{var m=x();if(m){u=m;var b=I();b&&(u.at=b)}else{var R=O();R&&(u={type:"default-radial",at:R})}}return u}function f(){var u=_("shape",/^(circle)/i,0);return u&&(u.style=M()||x()),u}function y(){var u=_("shape",/^(ellipse)/i,0);return u&&(u.style=C()||x()),u}function x(){return _("extent-keyword",t.extentKeywords,1)}function I(){if(_("position",/^at/,0)){var u=O();return u||e("Missing positioning value"),u}}function O(){var u=L();if(u.x||u.y)return{type:"position",value:u}}function L(){return{x:C(),y:C()}}function $(u){var m=u(),b=[];if(m)for(b.push(m);v(t.comma);)m=u(),m?b.push(m):e("One extra comma");return b}function N(){var u=P();return u||e("Expected color definition"),u.length=C(),u}function P(){return D()||H()||Y()||w()}function w(){return _("literal",t.literalColor,0)}function D(){return _("hex",t.hexColor,1)}function Y(){return a(t.rgbColor,function(){return{type:"rgb",value:$(z)}})}function H(){return a(t.rgbaColor,function(){return{type:"rgba",value:$(z)}})}function z(){return v(t.number)[1]}function C(){return _("%",t.percentageValue,1)||A()||M()}function A(){return _("position-keyword",t.positionKeywords,1)}function M(){return _("px",t.pixelValue,1)||_("em",t.emValue,1)}function _(u,m,b){var R=v(m);if(R)return{type:u,value:R[b]}}function v(u){var m,b;return b=/^[\n\r\t\s]+/.exec(r),b&&it(b[0].length),m=u.exec(r),m&&it(m[0].length),m}function it(u){r=r.substr(u)}return function(u){return r=u.toString(),i()}}();var Mt=yt;function me(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 xt({id:t,width:r},{image:e}){if(e.startsWith("linear-gradient(")){let i=Mt.parse(e)[0],s,o,n,a;if(i.orientation.type==="directional")[s,o,n,a]={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 f=+i.orientation.value/180*Math.PI-Math.PI/2,y=Math.cos(f),x=Math.sin(f);s=0,o=0,n=y,a=x,n<0&&(s-=n,n=0),a<0&&(o-=a,a=0)}let c=r,l=[];for(let f of i.colorStops){let y=me(f);if(!l.length&&(l.push({offset:0,color:y}),typeof f.length=="undefined"||f.length.value==="0"))continue;let x=typeof f.length=="undefined"?void 0:f.length.type==="%"?f.length.value/100:f.length.value/c;l.push({offset:x,color:y})}l.length||l.push({offset:0,color:"transparent"});let p=l[l.length-1];p.offset!==1&&(typeof p.offset=="undefined"?p.offset=1:l.push({offset:1,color:p.color}));let h=0,g=1;for(let f=0;f<l.length;f++)if(typeof l[f].offset=="undefined"){for(g<f&&(g=f);typeof l[g].offset=="undefined";)g++;l[f].offset=(l[g].offset-l[h].offset)/(g-h)*(f-h)+l[h].offset}else h=f;return[`satori_bi${t}`,`<linearGradient id="satori_bi${t}" x1="${s}" y1="${o}" x2="${n}" y2="${a}">${l.map(f=>`<stop offset="${f.offset*100}%" stop-color="${f.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>`]}}d();function lt(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 nt({left:t,top:r,width:e,height:i},s){let{borderTopLeftRadius:o,borderTopRightRadius:n,borderBottomLeftRadius:a,borderBottomRightRadius:c}=s;return o=Math.min(o||0,e,i),n=Math.min(n||0,e,i),a=Math.min(a||0,e,i),c=Math.min(c||0,e,i),!o&&!n&&!a&&!c?"":([o,n]=lt(o,n,e),[o,a]=lt(o,a,i),[n,c]=lt(n,c,i),[a,c]=lt(a,c,e),`M${t+o},${r} h${e-o-n} a${n},${n} 0 0 1 ${n},${n} v${i-n-c} a${c},${c} 0 0 1 ${-c},${c} h${c+a-e} a${a},${a} 0 0 1 ${-a},${-a} v${a+o-i} a${o},${o} 0 0 1 ${o},${-o}`)}function $t({id:t,left:r,top:e,width:i,height:s,isInheritingTransform:o,debug:n},a){if(a.display==="none")return"";let c="rect",l="transparent",p=0,h="",g="",f=[],y=1,x="";if(a.backgroundColor&&f.push(a.backgroundColor),a.borderWidth&&(p=a.borderWidth,l=a.borderColor),a.opacity&&(y=+a.opacity),a.transform&&(h=et({left:r,top:e,width:i,height:s},a.transform,o)),a.backgroundImage){let L=a.backgroundImage.map(($,N)=>xt({id:t+"_"+N,width:i,height:s},$)).filter(Boolean);for(let $ of L)g+=$[1],f.push(`url(#${$[0]})`)}let I=nt({left:r,top:e,width:i,height:s},a);I&&(c="path");let O=j({width:i,height:s,id:t},a);return f.length||f.push("transparent"),n&&(x=`<rect x="${r}" y="${e}" width="${i}" height="${s}" fill="transparent" stroke="#ff5757" stroke-width="1" ${h?`transform="${h}"`:""}></rect>`),`${g?`<defs>${g}</defs>`:""}${O?`${O}<g filter="url(#satori_s-${t})">`:""}${y!==1?`<g opacity="${y}">`:""}${f.map((L,$)=>L==="transparent"&&!($===f.length-1&&p)?"":`<${c} x="${r}" y="${e}" width="${i}" height="${s}" fill="${L}" ${$===f.length-1&&p?`stroke="${l}" stroke-width="${p}"`:""} ${I?`d="${I}"`:""} ${h?`transform="${h}"`:""}></${c}>`).join("")}${y!==1?"</g>":""}${O?"</g>":""}${x}`}d();function Et({id:t,left:r,top:e,width:i,height:s,src:o,debug:n},a){if(a.display==="none")return"";let c="",l=1,p=a.objectFit==="contain"?"xMidYMid":a.objectFit==="cover"?"xMidYMid slice":"none",h=nt({left:r,top:e,width:i,height:s},a);h&&(c=`<clipPath id="satori_c-${t}"><path x="${r}" y="${e}" width="${i}" height="${s}" d="${h}"></path></clipPath>`),a.opacity&&(l=+a.opacity);let g=j({width:i,height:s,id:t},a);return`${g}${g?`<g filter="url(#satori_s-${t})">`:""}${c}<image href="${o}" x="${r}" y="${e}" width="${i}" height="${s}" preserveAspectRatio="${p}" ${c?`clip-path="url(#satori_c-${t})"`:""} ${l!==1?`opacity="${l}"`:""}></image>${g?"</g>":""}`}function*ot(t,r){let e=B(),{id:i,inheritedStyle:s,parent:o,font:n,debug:a,embedFont:c=!0,graphemeImages:l}=r;if(t===null||typeof t=="undefined")return yield,"";if(!ct(t)||typeof t.type=="function"){let A;if(!ct(t))A=bt(String(t),r);else{if(Ot(t.type))throw new Error("Class component is not supported.");A=ot(t.type(t.props),r)}A.next();let M=yield;return A.next(M).value}let{type:p,props:h}=t,{style:g,children:f}=h,y=e.Node.create();o.insertChild(y,o.getChildCount());let[x,I]=dt(y,p,s,g,h),O=x.transform===s.transform;O||(x.transform.__parent=s.transform);let L=typeof f=="undefined"?[]:[].concat(f),$=[],N=0;for(let A of L){let M=ot(A,{id:i*L.length+ ++N,parentStyle:x,inheritedStyle:I,isInheritingTransform:!0,parent:y,font:n,embedFont:c,debug:a,graphemeImages:l});M.next(),$.push(M)}let[P,w]=yield;x.position==="absolute"&&y.calculateLayout();let{left:D,top:Y,width:H,height:z}=y.getComputedLayout();D+=P,Y+=w;let C="";p==="img"?C=Et({id:i,left:D,top:Y,width:H,height:z,src:h.src,isInheritingTransform:O,debug:a},x):C=$t({id:i,left:D,top:Y,width:H,height:z,isInheritingTransform:O,debug:a},x);for(let A of $)C+=A.next([D,Y]).value;return C}d();import Bt from"opentype.js";var ut=class{constructor(r){this.fonts=new Map;for(let e of r){let i=e.data,s="buffer"in i?Bt.parse(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)):Bt.parse(i);this.defaultFont||(this.defaultFont=s),this.fonts.has(e.name)||this.fonts.set(e.name,[]),this.fonts.get(e.name).push([s,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 s=[...this.fonts.get(r)];return s.sort(([o,n,a],[c,l,p])=>{if(n!==l)return n?!l||n===e?-1:l===e?1:e===400&&n===500||e===500&&n===400?-1:e===400&&l===500||e===500&&l===400?1:e<400?n<e&&l<e?l-n:n<e?-1:l<e?1:n-l:e<n&&e<l?n-l:e<n?-1:e<l?1:l-n:1;if(a!==p){if(a===i)return-1;if(p===i)return 1}return-1}),s[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:s=0}){return r.getAdvanceWidth(e,i,{letterSpacing:s/i})}getSVG(r,e,{fontSize:i,top:s,left:o,letterSpacing:n=0}){return s+=r.ascender/r.unitsPerEm*i,r.getPath(e,o,s,i,{letterSpacing:n/i}).toPathData(2)}};d();function St({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>`}var _t=new WeakMap;function Dt(t,r){let e=B();if(!e)throw new Error("Satori is not initialized.");let i;_t.has(r.fonts)?i=_t.get(r.fonts):_t.set(r.fonts,i=new ut(r.fonts));let s=e.Node.create();s.setWidth(r.width),s.setHeight(r.height),s.setFlexDirection(e.FLEX_DIRECTION_ROW),s.setFlexWrap(e.WRAP_WRAP),s.setAlignContent(e.ALIGN_AUTO),s.setAlignItems(e.ALIGN_FLEX_START),s.setJustifyContent(e.JUSTIFY_FLEX_START);let o=ot(t,{id:1,parentStyle:{},inheritedStyle:{fontSize:16,fontWeight:"normal",fontFamily:"serif",fontStyle:"normal",lineHeight:1.2,color:"black",opacity:1},parent:s,font:i,embedFont:r.embedFont,debug:r.debug,graphemeImages:r.graphemeImages});o.next(),s.calculateLayout(r.width,r.height,e.DIRECTION_LTR);let n=o.next([0,0]).value;return St({width:r.width,height:r.height,content:n})}export{Dt as default,te as init};
var it=Object.defineProperty,Ut=Object.defineProperties,zt=Object.getOwnPropertyDescriptor,Xt=Object.getOwnPropertyDescriptors,Ht=Object.getOwnPropertyNames,Tt=Object.getOwnPropertySymbols;var Lt=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable;var It=(t,r,e)=>r in t?it(t,r,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[r]=e,Z=(t,r)=>{for(var e in r||(r={}))Lt.call(r,e)&&It(t,e,r[e]);if(Tt)for(var e of Tt(r))Vt.call(r,e)&&It(t,e,r[e]);return t},wt=(t,r)=>Ut(t,Xt(r)),Jt=t=>it(t,"__esModule",{value:!0});var At=(t,r)=>()=>(t&&(r=t(t=0)),r);var jt=(t,r)=>{for(var e in r)it(t,e,{get:r[e],enumerable:!0})},Kt=(t,r,e,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of Ht(r))!Lt.call(t,s)&&(e||s!=="default")&&it(t,s,{get:()=>r[s],enumerable:!(i=zt(r,s))||i.enumerable});return t};var qt=(t=>(r,e)=>t&&t.get(r)||(e=Kt(Jt({}),r,1),t&&t.set(r,e),e))(typeof WeakMap!="undefined"?new WeakMap:0);var u=At(()=>{});var Ct={};jt(Ct,{default:()=>Qt});import*as Zt from"yoga-layout-prebuilt";var Qt,Ft=At(()=>{u();Qt=Zt});u();u();u();var at;{let t=(Ft(),qt(Ct));t.default?at=t.default:at=t}function te(t){at=t}function Y(){return at}u();u();function ut(t){let r=typeof t;return!(r==="number"||r==="bigint"||r==="string"||r==="boolean")}function Ot(t){return/^class\s/.test(Function.prototype.toString.call(t))}function Q(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 v(t,r,e){let i=r[t];return typeof i=="undefined"?e:i}u();u();var Nt={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"}};u();var ee=new Set(["color","font","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textTransform","whiteSpace","letterSpacing","transform","wordBreak","textShadowOffset","textShadowColor","textShadowRadius","opacity"]);function ct(t){let r={};for(let e in t)ee.has(e)&&(r[e]=t[e]);return r}u();import{getPropertyName as kt,getStylesForProperty as re}from"css-to-react-native";import Gt from"parse-css-dimension";import{parseElementStyle as ne}from"css-background-parser";var oe=new Set(["flex","flexGrow","flexShrink","flexBasis","fontWeight","lineHeight","opacity","scale","scaleX","scaleY"]),vt=[1,0,0,1,0,0];function ie(t,r){return typeof r=="number"?oe.has(t)?String(r):r+"px":r}function Wt(t,r){if(typeof t=="number")return t;try{let e=new Gt(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 st(t,r){let e=[];for(let o in t){let n=kt(o);e.push([n,ie(n,t[o])])}let i=e.reduce((o,n)=>{let a=kt(n[0]),f=n[1];return Object.assign(o,re(a,f,!0))},{});if(i.backgroundImage){let{backgrounds:o}=ne(i);i.backgroundImage=o}let s=i.fontSize||r.fontSize;if(typeof s=="string")try{let o=new Gt(s);switch(o.unit){case"em":s=o.value*r.fontSize;break;case"rem":s=o.value*16;break}}catch{s=16}typeof i.fontSize!="undefined"&&(i.fontSize=s);for(let o in i){let n=i[o];if(typeof n=="string"){let a=Wt(n,s);typeof a!="undefined"&&(i[o]=a),n=i[o]}if(o==="opacity"&&(n=i[o]=n*r.opacity),o==="transform"){let a=[...vt],f=n;for(let m of f){let y=Object.keys(m)[0],p=m[y],d=typeof p=="string"?Wt(p,s):p,g=[...vt];switch(y){case"translateX":g[4]=d;break;case"translateY":g[5]=d;break;case"scaleX":g[0]=d;break;case"scaleY":g[3]=d;break;case"rotate":let c=d*Math.PI/180,E=Math.cos(c),T=Math.sin(c);g[0]=E,g[1]=T,g[2]=-T,g[3]=E;break;case"skewX":g[2]=Math.tan(d*Math.PI/180);break;case"skewY":g[1]=Math.tan(d*Math.PI/180);break}a=Q(g,a)}i.transform=a}}return i}function mt(t,r,e,i,s){let o=Y(),n=Z(Z(Z({},e),st(Nt[r],e)),st(i,e));if(r==="img"){let a=parseInt(s.width),m=parseInt(s.height)/a;n.width||(n.width=a),n.height||(n.height=m*n.width)}return t.setDisplay(v(n.display,{flex:o.DISPLAY_FLEX,none:o.DISPLAY_NONE},o.DISPLAY_FLEX)),t.setAlignContent(v(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(v(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(v(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(v(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(v(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(v(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(v(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(v(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,ct(n)]}u();import{LineBreaker as ae}from"css-line-break";import{splitGraphemes as se}from"text-segmentation";u();u();function et({left:t,top:r,width:e,height:i},s,o){let n;if(o)n=s;else{let a=t+e/2,f=r+i/2;n=Q([1,0,0,1,a,f],Q(s,[1,0,0,1,-a,-f])),s.__parent&&(n=Q(s.__parent,n)),s.splice(0,6,...n)}return`matrix(${n.map(a=>a.toFixed(2)).join(",")})`}function Pt({left:t,top:r,width:e,height:i,isInheritingTransform:s},o){let n="",a=1;return o.transform&&(n=et({left:t,top:r,width:e,height:i},o.transform,s)),o.opacity&&(a=+o.opacity),{matrix:n,opacity:a}}function pt({id:t,content:r,filter:e,left:i,top:s,width:o,height:n,matrix:a,opacity:f,image:m,debug:y},p){let d="";return y&&(d=`<rect x="${i}" y="${s}" width="${o}" height="0.5" fill="transparent" stroke="#575eff" stroke-width="1" ${a?`transform="${a}"`:""}></rect>`),m?`${e?`${e}<g filter="url(#satori_s-${t})">`:""}<image href="${m}" x="${i}" y="${s}" width="${o}" height="${n}" ${a?`transform="${a}"`:""} ${f!==1?`opacity="${f}"`:""}></image>${e?"</g>":""}${d}`:`${e?`${e}<g filter="url(#satori_s-${t})">`:""}<text x="${i}" y="${s}" width="${o}" height="${n}" fill="${p.color}" font-weight="${p.fontWeight}" font-style="${p.fontStyle}" font-size="${p.fontSize}" font-family="${p.fontFamily}" ${p.letterSpacing?`letter-spacing="${p.letterSpacing}"`:""} ${a?`transform="${a}"`:""} ${f!==1?`opacity="${f}"`:""}>${r}</text>${e?"</g>":""}${d}`}u();function K({id:t,width:r,height:e},i){if(!i.shadowColor||!i.shadowOffset||typeof i.shadowRadius=="undefined")return"";let s=i.shadowRadius*i.shadowRadius/4,o=Math.min(i.shadowOffset.width-s,0),n=Math.max(i.shadowOffset.width+s+r,r),a=Math.min(i.shadowOffset.height-s,0),f=Math.max(i.shadowOffset.height+s+e,e);return`<defs><filter id="satori_s-${t}" x="${o/r*100}%" y="${a/e*100}%" width="${(n-o)/r*100}%" height="${(f-a)/e*100}%"><feDropShadow dx="${i.shadowOffset.width}" dy="${i.shadowOffset.height}" stdDeviation="${i.shadowRadius/2}" flood-color="${i.shadowColor}" flood-opacity="1"/></filter></defs>`}var rt=void 0,gt=typeof Intl!="undefined"&&"Segmenter"in Intl,fe=gt?new Intl.Segmenter(rt,{granularity:"word"}):null,le=gt?new Intl.Segmenter(rt,{granularity:"grapheme"}):null,ue=[32,160,4961,65792,65793,4153,4241],ce=t=>{let r=ae(t,{lineBreak:"strict",wordBreak:"normal"}),e=[],i;for(;!(i=r.next()).done;)if(i.value){let s=i.value.slice(),o=[].map.call(s,a=>a.codePointAt(0)),n="";o.forEach(a=>{ue.includes(a)?(n.length&&e.push(n),e.push(String.fromCodePoint(a)),n=""):n+=String.fromCodePoint(a)}),n.length&&e.push(n)}return e};function dt(t,r){return gt?r==="word"?[...fe.segment(t)].map(e=>e.segment):[...le.segment(t)].map(e=>e.segment):r==="word"?ce(t):se(t)}function*ht(t,r){let e=Y(),{parentStyle:i,parent:s,font:o,id:n,isInheritingTransform:a,debug:f,embedFont:m,graphemeImages:y}=r;i.textTransform==="uppercase"?t=t.toLocaleUpperCase(rt):i.textTransform==="lowercase"?t=t.toLocaleLowerCase(rt):i.textTransform==="capitalize"&&(t=dt(t,"word").map(x=>dt(x,"grapheme").map((L,G)=>G===0?L.toLocaleUpperCase(rt):L).join("")).join(""));let p=v(i.wordBreak,{normal:"word","break-all":"grapheme","break-word":"grapheme","keep-all":"word"},"word"),d=dt(t,p),g=e.Node.create();g.setAlignItems(e.ALIGN_BASELINE),i.textAlign==="left"?g.setJustifyContent(e.JUSTIFY_FLEX_START):i.textAlign==="center"?g.setJustifyContent(e.JUSTIFY_CENTER):i.textAlign==="right"?g.setJustifyContent(e.JUSTIFY_FLEX_END):i.textAlign==="justify"&&g.setJustifyContent(e.JUSTIFY_SPACE_BETWEEN),s.insertChild(g,s.getChildCount());let c=o.getFont(i),E=c.ascender/c.unitsPerEm*i.fontSize,T=-(c.descender/c.unitsPerEm)*i.fontSize,h=(E+T)*1.2,{textAlign:$}=i,C=[],M=[],O=[];g.setMeasureFunc(x=>{let L=[],G="",P=0,J="",A=0,q=0,tt=-1;C=[],M=[0];for(let B=0;B<d.length;B++){let D=d[B];if([" ",`
`," ","\u3000"].includes(D))G+=D,P=o.measure(c,G,i),O[B]=null;else{let j=y&&y[D]?i.fontSize:o.measure(c,D,i);A||(G="",P=0);let _t=P||",.!?:-@)>]}%#".indexOf(D[0])<0,Rt=!A||!!P;_t&&A+P+j>x?(C.push(A),L.push(J),J=D,A=j,M.push(1),tt=-1):(J+=G+D,A+=P+j,Rt&&M[M.length-1]++),G="",P=0,Rt&&tt++,q=Math.max(q,A),O[B]={y:L.length*h,x:A-j,width:j,line:L.length,lineIndex:tt}}}return A&&(L.push(J),C.push(A)),L.length>1&&(q=x),{width:q,height:L.length*h}});let[U,z]=yield,X="";i.position==="absolute"&&g.calculateLayout();let{left:H,top:N,width:F,height:W}=g.getComputedLayout(),w=U+H,k=z+N,{matrix:V,opacity:l}=Pt({left:H,top:N,width:F,height:W,isInheritingTransform:a},i),b="";i.textShadowOffset&&(b=K({width:F,height:W,id:n},{shadowColor:i.textShadowColor,shadowOffset:i.textShadowOffset,shadowRadius:i.textShadowRadius}));let S="";for(let x=0;x<d.length;x++){if(!O[x])continue;let L=d[x],G=null,P=null,J=O[x].y,A=O[x].x,q=O[x].width,tt=h,B=F-C[O[x].line];if($==="right"||$==="end")A+=B;else if($==="center")A+=B/2;else if($==="justify"){let D=O[x].line;if(D<C.length-1){let j=M[D];A+=(j>1?B/(j-1):0)*O[x].lineIndex}}y&&y[L]?P=y[L]:m?G=o.getSVG(c,L,wt(Z({},i),{left:w+A,top:k+J,letterSpacing:i.letterSpacing})):J+=E,G?S+=G+" ":X+=pt({content:L,filter:b,id:n,left:w+A,top:k+J,width:q,height:tt,matrix:V,opacity:l,image:P,debug:f},i)}if(S){let x="";f&&(x=`<rect x="${w}" y="${k}" width="${F}" height="${W}" fill="transparent" stroke="#575eff" stroke-width="1" ${V?`transform="${V}"`:""}></rect>`),X+=`${b?`${b}<g filter="url(#satori_s-${n})">`:""}<path fill="${i.color}" ${V?`transform="${V}"`:""} ${l!==1?`opacity="${l}"`:""} d="${S}"></path>${b?"</g>":""}${x}`}return X}u();u();import me from"parse-css-dimension";u();var bt=bt||{};bt.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(l){var b=new Error(r+": "+l);throw b.source=r,b}function i(){var l=s();return r.length>0&&e("Invalid input not EOF"),l}function s(){return $(o)}function o(){return n("linear-gradient",t.linearGradient,f)||n("repeating-linear-gradient",t.repeatingLinearGradient,f)||n("radial-gradient",t.radialGradient,p)||n("repeating-radial-gradient",t.repeatingRadialGradient,p)}function n(l,b,S){return a(b,function(x){var L=S();return L&&(k(t.comma)||e("Missing comma before color stops")),{type:l,orientation:L,colorStops:$(C)}})}function a(l,b){var S=k(l);if(S){k(t.startCall)||e("Missing (");var x=b(S);return k(t.endCall)||e("Missing )"),x}}function f(){return m()||y()}function m(){return w("directional",t.sideOrCorner,1)}function y(){return w("angular",t.angleValue,1)}function p(){var l,b=d(),S;return b&&(l=[],l.push(b),S=r,k(t.comma)&&(b=d(),b?l.push(b):r=S)),l}function d(){var l=g()||c();if(l)l.at=T();else{var b=E();if(b){l=b;var S=T();S&&(l.at=S)}else{var x=I();x&&(l={type:"default-radial",at:x})}}return l}function g(){var l=w("shape",/^(circle)/i,0);return l&&(l.style=W()||E()),l}function c(){var l=w("shape",/^(ellipse)/i,0);return l&&(l.style=N()||E()),l}function E(){return w("extent-keyword",t.extentKeywords,1)}function T(){if(w("position",/^at/,0)){var l=I();return l||e("Missing positioning value"),l}}function I(){var l=h();if(l.x||l.y)return{type:"position",value:l}}function h(){return{x:N(),y:N()}}function $(l){var b=l(),S=[];if(b)for(S.push(b);k(t.comma);)b=l(),b?S.push(b):e("One extra comma");return S}function C(){var l=M();return l||e("Expected color definition"),l.length=N(),l}function M(){return U()||X()||z()||O()}function O(){return w("literal",t.literalColor,0)}function U(){return w("hex",t.hexColor,1)}function z(){return a(t.rgbColor,function(){return{type:"rgb",value:$(H)}})}function X(){return a(t.rgbaColor,function(){return{type:"rgba",value:$(H)}})}function H(){return k(t.number)[1]}function N(){return w("%",t.percentageValue,1)||F()||W()}function F(){return w("position-keyword",t.positionKeywords,1)}function W(){return w("px",t.pixelValue,1)||w("em",t.emValue,1)}function w(l,b,S){var x=k(b);if(x)return{type:l,value:x[S]}}function k(l){var b,S;return S=/^[\n\r\t\s]+/.exec(r),S&&V(S[0].length),b=l.exec(r),b&&V(b[0].length),b}function V(l){r=r.substr(l)}return function(l){return r=l.toString(),i()}}();var Dt=bt;function pe(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 de(t,r){return typeof t=="string"&&t.endsWith("%")?r*parseFloat(t)/100:+t}function Mt(t,{x:r,y:e,defaultX:i,defaultY:s}){return(t?t.split(" ").map(o=>{try{let n=new me(o);return n.type==="length"?n.value:n.value+n.unit}catch{return null}}).filter(o=>o!==null):[i,s]).map((o,n)=>de(o,[r,e][n]))}function yt({id:t,width:r,height:e},{image:i,size:s,position:o}){let n=Mt(s,{x:r,y:e,defaultX:r,defaultY:e}),a=Mt(o,{x:r,y:e,defaultX:0,defaultY:0});if(i.startsWith("linear-gradient(")){let f=Dt.parse(i)[0],m,y,p,d;if(f.orientation.type==="directional")[m,y,p,d]={top:[0,1,0,0],bottom:[0,0,0,1],left:[1,0,0,0],right:[0,0,1,0]}[f.orientation.value];else if(f.orientation.type==="angular"){let h=+f.orientation.value/180*Math.PI-Math.PI/2,$=Math.cos(h),C=Math.sin(h);m=0,y=0,p=$,d=C,p<0&&(m-=p,p=0),d<0&&(y-=d,d=0)}let g=r,c=[];for(let h of f.colorStops){let $=pe(h);if(!c.length&&(c.push({offset:0,color:$}),typeof h.length=="undefined"||h.length.value==="0"))continue;let C=typeof h.length=="undefined"?void 0:h.length.type==="%"?h.length.value/100:h.length.value/g;c.push({offset:C,color:$})}c.length||c.push({offset:0,color:"transparent"});let E=c[c.length-1];E.offset!==1&&(typeof E.offset=="undefined"?E.offset=1:c.push({offset:1,color:E.color}));let T=0,I=1;for(let h=0;h<c.length;h++)if(typeof c[h].offset=="undefined"){for(I<h&&(I=h);typeof c[I].offset=="undefined";)I++;c[h].offset=(c[I].offset-c[T].offset)/(I-T)*(h-T)+c[T].offset}else T=h;return[`satori_bi${t}`,`<linearGradient id="satori_bi${t}" x1="${m}" y1="${y}" x2="${p}" y2="${d}">${c.map(h=>`<stop offset="${h.offset*100}%" stop-color="${h.color}"/>`).join("")}</linearGradient>`]}if(i.startsWith("url(")){let f=i.slice(4,-1);return[`satori_bi${t}`,`<pattern id="satori_bi${t}" patternContentUnits="userSpaceOnUse" patternUnits="userSpaceOnUse" x="${a[0]}" y="${a[1]}" width="${n[0]}" height="${n[1]}"><image href="${f}" x="0" y="0" width="${n[0]}" height="${n[1]}"/></pattern>`]}}u();function ft(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 nt({left:t,top:r,width:e,height:i},s){let{borderTopLeftRadius:o,borderTopRightRadius:n,borderBottomLeftRadius:a,borderBottomRightRadius:f}=s;return o=Math.min(o||0,e,i),n=Math.min(n||0,e,i),a=Math.min(a||0,e,i),f=Math.min(f||0,e,i),!o&&!n&&!a&&!f?"":([o,n]=ft(o,n,e),[o,a]=ft(o,a,i),[n,f]=ft(n,f,i),[a,f]=ft(a,f,e),`M${t+o},${r} h${e-o-n} a${n},${n} 0 0 1 ${n},${n} v${i-n-f} a${f},${f} 0 0 1 ${-f},${f} h${f+a-e} a${a},${a} 0 0 1 ${-a},${-a} v${a+o-i} a${o},${o} 0 0 1 ${o},${-o}`)}function xt({id:t,left:r,top:e,width:i,height:s,isInheritingTransform:o,debug:n},a){if(a.display==="none")return"";let f="rect",m="transparent",y=0,p="",d="",g=[],c=1,E="";if(a.backgroundColor&&g.push(a.backgroundColor),a.borderWidth&&(y=a.borderWidth,m=a.borderColor),a.opacity&&(c=+a.opacity),a.transform&&(p=et({left:r,top:e,width:i,height:s},a.transform,o)),a.backgroundImage){let h=a.backgroundImage.map(($,C)=>yt({id:t+"_"+C,width:i,height:s},$)).filter(Boolean);for(let $ of h)d+=$[1],g.push(`url(#${$[0]})`)}let T=nt({left:r,top:e,width:i,height:s},a);T&&(f="path");let I=K({width:i,height:s,id:t},a);return g.length||g.push("transparent"),n&&(E=`<rect x="${r}" y="${e}" width="${i}" height="${s}" fill="transparent" stroke="#ff5757" stroke-width="1" ${p?`transform="${p}"`:""}></rect>`),`${d?`<defs>${d}</defs>`:""}${I?`${I}<g filter="url(#satori_s-${t})">`:""}${c!==1?`<g opacity="${c}">`:""}${g.map((h,$)=>h==="transparent"&&!($===g.length-1&&y)?"":`<${f} x="${r}" y="${e}" width="${i}" height="${s}" fill="${h}" ${$===g.length-1&&y?`stroke="${m}" stroke-width="${y}"`:""} ${T?`d="${T}"`:""} ${p?`transform="${p}"`:""}></${f}>`).join("")}${c!==1?"</g>":""}${I?"</g>":""}${E}`}u();function $t({id:t,left:r,top:e,width:i,height:s,src:o,debug:n},a){if(a.display==="none")return"";let f="",m=1,y=a.objectFit==="contain"?"xMidYMid":a.objectFit==="cover"?"xMidYMid slice":"none",p=nt({left:r,top:e,width:i,height:s},a);p&&(f=`<clipPath id="satori_c-${t}"><path x="${r}" y="${e}" width="${i}" height="${s}" d="${p}"></path></clipPath>`),a.opacity&&(m=+a.opacity);let d=K({width:i,height:s,id:t},a);return`${d}${d?`<g filter="url(#satori_s-${t})">`:""}${f}<image href="${o}" x="${r}" y="${e}" width="${i}" height="${s}" preserveAspectRatio="${y}" ${f?`clip-path="url(#satori_c-${t})"`:""} ${m!==1?`opacity="${m}"`:""}></image>${d?"</g>":""}`}function*ot(t,r){let e=Y(),{id:i,inheritedStyle:s,parent:o,font:n,debug:a,embedFont:f=!0,graphemeImages:m}=r;if(t===null||typeof t=="undefined")return yield,"";if(!ut(t)||typeof t.type=="function"){let F;if(!ut(t))F=ht(String(t),r);else{if(Ot(t.type))throw new Error("Class component is not supported.");F=ot(t.type(t.props),r)}F.next();let W=yield;return F.next(W).value}let{type:y,props:p}=t,{style:d,children:g}=p,c=e.Node.create();o.insertChild(c,o.getChildCount());let[E,T]=mt(c,y,s,d,p),I=E.transform===s.transform;I||(E.transform.__parent=s.transform);let h=typeof g=="undefined"?[]:[].concat(g),$=[],C=0;for(let F of h){let W=ot(F,{id:i*h.length+ ++C,parentStyle:E,inheritedStyle:T,isInheritingTransform:!0,parent:c,font:n,embedFont:f,debug:a,graphemeImages:m});W.next(),$.push(W)}let[M,O]=yield;E.position==="absolute"&&c.calculateLayout();let{left:U,top:z,width:X,height:H}=c.getComputedLayout();U+=M,z+=O;let N="";y==="img"?N=$t({id:i,left:U,top:z,width:X,height:H,src:p.src,isInheritingTransform:I,debug:a},E):N=xt({id:i,left:U,top:z,width:X,height:H,isInheritingTransform:I,debug:a},E);for(let F of $)N+=F.next([U,z]).value;return N}u();import Bt from"@shuding/opentype.js";var lt=class{constructor(r){this.fonts=new Map;for(let e of r){let i=e.data,s="buffer"in i?Bt.parse(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)):Bt.parse(i);this.defaultFont||(this.defaultFont=s),this.fonts.has(e.name)||this.fonts.set(e.name,[]),this.fonts.get(e.name).push([s,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 s=[...this.fonts.get(r)];return s.sort(([o,n,a],[f,m,y])=>{if(n!==m)return n?!m||n===e?-1:m===e?1:e===400&&n===500||e===500&&n===400?-1:e===400&&m===500||e===500&&m===400?1:e<400?n<e&&m<e?m-n:n<e?-1:m<e?1:n-m:e<n&&e<m?n-m:e<n?-1:e<m?1:m-n:1;if(a!==y){if(a===i)return-1;if(y===i)return 1}return-1}),s[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:s=0}){return r.getAdvanceWidth(e,i,{letterSpacing:s/i})}getSVG(r,e,{fontSize:i,top:s,left:o,letterSpacing:n=0}){return s+=r.ascender/r.unitsPerEm*i,r.getPath(e,o,s,i,{letterSpacing:n/i}).toPathData(1)}};u();function Et({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>`}var St=new WeakMap;function Yt(t,r){let e=Y();if(!e)throw new Error("Satori is not initialized.");let i;St.has(r.fonts)?i=St.get(r.fonts):St.set(r.fonts,i=new lt(r.fonts));let s=e.Node.create();s.setWidth(r.width),s.setHeight(r.height),s.setFlexDirection(e.FLEX_DIRECTION_ROW),s.setFlexWrap(e.WRAP_WRAP),s.setAlignContent(e.ALIGN_AUTO),s.setAlignItems(e.ALIGN_FLEX_START),s.setJustifyContent(e.JUSTIFY_FLEX_START);let o=ot(t,{id:1,parentStyle:{},inheritedStyle:{fontSize:16,fontWeight:"normal",fontFamily:"serif",fontStyle:"normal",lineHeight:1.2,color:"black",opacity:1},parent:s,font:i,embedFont:r.embedFont,debug:r.debug,graphemeImages:r.graphemeImages});o.next(),s.calculateLayout(r.width,r.height,e.DIRECTION_LTR);let n=o.next([0,0]).value;return Et({width:r.width,height:r.height,content:n})}export{Yt as default,te as init};
//# sourceMappingURL=index.js.map

@@ -1,3 +0,3 @@

var Gt=Object.defineProperty,Pt=Object.defineProperties;var Mt=Object.getOwnPropertyDescriptors;var St=Object.getOwnPropertySymbols;var Bt=Object.prototype.hasOwnProperty,Dt=Object.prototype.propertyIsEnumerable;var _t=(t,o,e)=>o in t?Gt(t,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[o]=e,q=(t,o)=>{for(var e in o||(o={}))Bt.call(o,e)&&_t(t,e,o[e]);if(St)for(var e of St(o))Dt.call(o,e)&&_t(t,e,o[e]);return t},Rt=(t,o)=>Pt(t,Mt(o));var Tt;function Yt(t){Tt=t}function M(){return Tt}function ft(t){let o=typeof t;return!(o==="number"||o==="bigint"||o==="string"||o==="boolean")}function It(t){return/^class\s/.test(Function.prototype.toString.call(t))}function Z(t,o){return[t[0]*o[0]+t[2]*o[1],t[1]*o[0]+t[3]*o[1],t[0]*o[2]+t[2]*o[3],t[1]*o[2]+t[3]*o[3],t[0]*o[4]+t[2]*o[5]+t[4],t[1]*o[4]+t[3]*o[5]+t[5]]}function C(t,o,e){let i=o[t];return typeof i=="undefined"?e:i}var Lt={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 zt=new Set(["color","font","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textTransform","whiteSpace","letterSpacing","transform","wordBreak","textShadowOffset","textShadowColor","textShadowRadius","opacity"]);function lt(t){let o={};for(let e in t)zt.has(e)&&(o[e]=t[e]);return o}import{getPropertyName as wt,getStylesForProperty as Ut}from"css-to-react-native";import Ft from"parse-css-dimension";import{parseElementStyle as Xt}from"css-background-parser";var Ht=new Set(["flex","flexGrow","flexShrink","flexBasis","fontWeight","lineHeight","opacity","scale","scaleX","scaleY"]),At=[1,0,0,1,0,0];function Vt(t,o){return typeof o=="number"?Ht.has(t)?String(o):o+"px":o}function Ct(t,o){if(typeof t=="number")return t;try{let e=new Ft(t);if(e.type==="length")switch(e.unit){case"em":return e.value*o;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 it(t,o){let e=[];for(let n in t){let r=wt(n);e.push([r,Vt(r,t[n])])}let i=e.reduce((n,r)=>{let a=wt(r[0]),c=r[1];return Object.assign(n,Ut(a,c,!0))},{});if(i.backgroundImage){let{backgrounds:n}=Xt(i);i.backgroundImage=n}let s=i.fontSize||o.fontSize;if(typeof s=="string")try{let n=new Ft(s);switch(n.unit){case"em":s=n.value*o.fontSize;break;case"rem":s=n.value*16;break}}catch{s=16}typeof i.fontSize!="undefined"&&(i.fontSize=s);for(let n in i){let r=i[n];if(typeof r=="string"){let a=Ct(r,s);typeof a!="undefined"&&(i[n]=a),r=i[n]}if(n==="opacity"&&(r=i[n]=r*o.opacity),n==="transform"){let a=[...At],c=r;for(let l of c){let g=Object.keys(l)[0],p=l[g],d=typeof p=="string"?Ct(p,s):p,f=[...At];switch(g){case"translateX":f[4]=d;break;case"translateY":f[5]=d;break;case"scaleX":f[0]=d;break;case"scaleY":f[3]=d;break;case"rotate":let b=d*Math.PI/180,y=Math.cos(b),T=Math.sin(b);f[0]=y,f[1]=T,f[2]=-T,f[3]=y;break;case"skewX":f[2]=Math.tan(d*Math.PI/180);break;case"skewY":f[1]=Math.tan(d*Math.PI/180);break}a=Z(f,a)}i.transform=a}}return i}function ut(t,o,e,i,s){let n=M(),r=q(q(q({},e),it(Lt[o],e)),it(i,e));if(o==="img"){let a=parseInt(s.width),l=parseInt(s.height)/a;r.width||(r.width=a),r.height||(r.height=l*r.width)}return t.setDisplay(C(r.display,{flex:n.DISPLAY_FLEX,none:n.DISPLAY_NONE},n.DISPLAY_FLEX)),t.setAlignContent(C(r.alignContent,{stretch:n.ALIGN_STRETCH,center:n.ALIGN_CENTER,"flex-start":n.ALIGN_FLEX_START,"flex-end":n.ALIGN_FLEX_END,"space-between":n.ALIGN_SPACE_BETWEEN,"space-around":n.ALIGN_SPACE_AROUND,baseline:n.ALIGN_BASELINE,normal:n.ALIGN_AUTO},n.ALIGN_AUTO)),t.setAlignItems(C(r.alignItems,{stretch:n.ALIGN_STRETCH,center:n.ALIGN_CENTER,"flex-start":n.ALIGN_FLEX_START,"flex-end":n.ALIGN_FLEX_END,baseline:n.ALIGN_BASELINE,normal:n.ALIGN_AUTO},n.ALIGN_FLEX_START)),t.setAlignSelf(C(r.alignSelf,{stretch:n.ALIGN_STRETCH,center:n.ALIGN_CENTER,"flex-start":n.ALIGN_FLEX_START,"flex-end":n.ALIGN_FLEX_END,baseline:n.ALIGN_BASELINE,normal:n.ALIGN_AUTO},n.ALIGN_AUTO)),t.setJustifyContent(C(r.justifyContent,{center:n.JUSTIFY_CENTER,"flex-start":n.JUSTIFY_FLEX_START,"flex-end":n.JUSTIFY_FLEX_END,"space-between":n.JUSTIFY_SPACE_BETWEEN,"space-around":n.JUSTIFY_SPACE_AROUND},n.JUSTIFY_FLEX_START)),t.setFlexDirection(C(r.flexDirection,{row:n.FLEX_DIRECTION_ROW,column:n.FLEX_DIRECTION_COLUMN,"row-reverse":n.FLEX_DIRECTION_ROW_REVERSE,"column-reverse":n.FLEX_DIRECTION_COLUMN_REVERSE},n.FLEX_DIRECTION_ROW)),t.setFlexWrap(C(r.flexWrap,{wrap:n.WRAP_WRAP,nowrap:n.WRAP_NO_WRAP,"wrap-reverse":n.WRAP_WRAP_REVERSE},n.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(C(r.overflow,{visible:n.OVERFLOW_VISIBLE,hidden:n.OVERFLOW_HIDDEN},n.OVERFLOW_VISIBLE)),t.setMargin(n.EDGE_TOP,r.marginTop||0),t.setMargin(n.EDGE_BOTTOM,r.marginBottom||0),t.setMargin(n.EDGE_LEFT,r.marginLeft||0),t.setMargin(n.EDGE_RIGHT,r.marginRight||0),t.setBorder(n.EDGE_TOP,r.borderWidth||0),t.setBorder(n.EDGE_BOTTOM,r.borderWidth||0),t.setBorder(n.EDGE_LEFT,r.borderWidth||0),t.setBorder(n.EDGE_RIGHT,r.borderWidth||0),t.setPadding(n.EDGE_TOP,r.paddingTop||0),t.setPadding(n.EDGE_BOTTOM,r.paddingBottom||0),t.setPadding(n.EDGE_LEFT,r.paddingLeft||0),t.setPadding(n.EDGE_RIGHT,r.paddingRight||0),t.setPositionType(C(r.position,{absolute:n.POSITION_TYPE_ABSOLUTE,relative:n.POSITION_TYPE_RELATIVE},n.POSITION_TYPE_RELATIVE)),typeof r.top!="undefined"&&t.setPosition(n.EDGE_TOP,r.top),typeof r.bottom!="undefined"&&t.setPosition(n.EDGE_BOTTOM,r.bottom),typeof r.left!="undefined"&&t.setPosition(n.EDGE_LEFT,r.left),typeof r.right!="undefined"&&t.setPosition(n.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,lt(r)]}import{LineBreaker as Jt}from"css-line-break";import{splitGraphemes as jt}from"text-segmentation";function tt({left:t,top:o,width:e,height:i},s,n){let r;if(n)r=s;else{let a=t+e/2,c=o+i/2;r=Z([1,0,0,1,a,c],Z(s,[1,0,0,1,-a,-c])),s.__parent&&(r=Z(s.__parent,r)),s.splice(0,6,...r)}return`matrix(${r.map(a=>a.toFixed(2)).join(",")})`}function Ot({left:t,top:o,width:e,height:i,isInheritingTransform:s},n){let r="",a=1,c="";return n.transform&&(r=tt({left:t,top:o,width:e,height:i},n.transform,s)),n.opacity&&(a=+n.opacity),{matrix:r,opacity:a}}function ct({id:t,content:o,filter:e,left:i,top:s,width:n,height:r,matrix:a,opacity:c,path:l,image:g,debug:p},d){let f="";return p&&(f=`<rect x="${i}" y="${s}" width="${n}" height="${l===null?.5:r}" fill="transparent" stroke="#575eff" stroke-width="1" ${a?`transform="${a}"`:""}></rect>`),g?`${e?`${e}<g filter="url(#satori_s-${t})">`:""}<image href="${g}" x="${i}" y="${s}" width="${n}" height="${r}" ${a?`transform="${a}"`:""} ${c!==1?`opacity="${c}"`:""}></image>${e?"</g>":""}${f}`:l===null?`${e?`${e}<g filter="url(#satori_s-${t})">`:""}<text x="${i}" y="${s}" width="${n}" height="${r}" fill="${d.color}" font-weight="${d.fontWeight}" font-style="${d.fontStyle}" font-size="${d.fontSize}" font-family="${d.fontFamily}" ${d.letterSpacing?`letter-spacing="${d.letterSpacing}"`:""} ${a?`transform="${a}"`:""} ${c!==1?`opacity="${c}"`:""}>${o}</text>${e?"</g>":""}${f}`:`${e?`${e}<g filter="url(#satori_s-${t})">`:""}<path fill="${d.color}" ${a?`transform="${a}"`:""} ${c!==1?`opacity="${c}"`:""} d="${l}"></path>${e?"</g>":""}${f}`}function J({id:t,width:o,height:e},i){if(!i.shadowColor||!i.shadowOffset||typeof i.shadowRadius=="undefined")return"";let s=i.shadowRadius*i.shadowRadius/4,n=Math.min(i.shadowOffset.width-s,0),r=Math.max(i.shadowOffset.width+s+o,o),a=Math.min(i.shadowOffset.height-s,0),c=Math.max(i.shadowOffset.height+s+e,e);return`<defs><filter id="satori_s-${t}" x="${n/o*100}%" y="${a/e*100}%" width="${(r-n)/o*100}%" height="${(c-a)/e*100}%"><feDropShadow dx="${i.shadowOffset.width}" dy="${i.shadowOffset.height}" stdDeviation="${i.shadowRadius/2}" flood-color="${i.shadowColor}" flood-opacity="1"/></filter></defs>`}var et="en",dt=typeof Intl!="undefined"&&"Segmenter"in Intl,Kt=dt?new Intl.Segmenter(et,{granularity:"word"}):null,qt=dt?new Intl.Segmenter(et,{granularity:"grapheme"}):null,Zt=[32,160,4961,65792,65793,4153,4241],Qt=t=>{let o=Jt(t,{lineBreak:"strict",wordBreak:"normal"}),e=[],i;for(;!(i=o.next()).done;)if(i.value){let s=i.value.slice(),n=[].map.call(s,a=>a.codePointAt(0)),r="";n.forEach(a=>{Zt.includes(a)?(r.length&&e.push(r),e.push(String.fromCodePoint(a)),r=""):r+=String.fromCodePoint(a)}),r.length&&e.push(r)}return e};function mt(t,o){return dt?o==="word"?[...Kt.segment(t)].map(e=>e.segment):[...qt.segment(t)].map(e=>e.segment):o==="word"?Qt(t):jt(t)}function*gt(t,o){let e=M(),{parentStyle:i,parent:s,font:n,id:r,isInheritingTransform:a,debug:c,embedFont:l,graphemeImages:g}=o;i.textTransform==="uppercase"?t=t.toLocaleUpperCase(et):i.textTransform==="lowercase"?t=t.toLocaleLowerCase(et):i.textTransform==="capitalize"&&(t=mt(t,"word").map(m=>mt(m,"grapheme").map((h,_)=>_===0?h.toLocaleUpperCase(et):h).join("")).join(""));let p=C(i.wordBreak,{normal:"word","break-all":"grapheme","break-word":"grapheme","keep-all":"word"},"word"),d=mt(t,p),f=e.Node.create();f.setAlignItems(e.ALIGN_BASELINE),i.textAlign==="left"?f.setJustifyContent(e.JUSTIFY_FLEX_START):i.textAlign==="center"?f.setJustifyContent(e.JUSTIFY_CENTER):i.textAlign==="right"?f.setJustifyContent(e.JUSTIFY_FLEX_END):i.textAlign==="justify"&&f.setJustifyContent(e.JUSTIFY_SPACE_BETWEEN),s.insertChild(f,s.getChildCount());let b=n.getFont(i),y=b.ascender/b.unitsPerEm*i.fontSize,T=-(b.descender/b.unitsPerEm)*i.fontSize,I=(y+T)*1.2,{textAlign:x}=i,O=[],G=[],L=[];f.setMeasureFunc((m,h,_,j)=>{let k=[],v="",W=0,H="",R=0,V=0,K=-1;O=[],G=[0];for(let z=0;z<d.length;z++){let U=d[z];if([" ",`
`," ","\u3000"].includes(U))v+=U,W=n.measure(b,v,i),L[z]=null;else{let Q=g&&g[U]?i.fontSize:n.measure(b,U,i);R||(v="",W=0);let Wt=W||",.!?:-@)>]}%#".indexOf(U[0])<0,Et=!R||!!W;Wt&&R+W+Q>m?(O.push(R),k.push(H),H=U,R=Q,G.push(1),K=-1):(H+=v+U,R+=W+Q,Et&&G[G.length-1]++),v="",W=0,Et&&K++,V=Math.max(V,R),L[z]={y:k.length*I,x:R-Q,width:Q,line:k.length,lineIndex:K}}}return R&&(k.push(H),O.push(R)),k.length>1&&(V=m),{width:V,height:k.length*I}});let[B,D]=yield,X="";i.position==="absolute"&&f.calculateLayout();let{left:Y,top:A,width:w,height:P}=f.getComputedLayout(),S=B+Y,N=D+A,{matrix:ot,opacity:u}=Ot({left:Y,top:A,width:w,height:P,isInheritingTransform:a},i);for(let m=0;m<d.length;m++){if(!L[m])continue;let h=d[m],_=null,j=null,k=L[m].y,v=L[m].x,W=L[m].width,H=I,R=w-O[L[m].line];if(x==="right"||x==="end")v+=R;else if(x==="center")v+=R/2;else if(x==="justify"){let K=L[m].line;if(K<O.length-1){let z=G[K];v+=(z>1?R/(z-1):0)*L[m].lineIndex}}g&&g[h]?j=g[h]:l?_=n.getSVG(b,h,Rt(q({},i),{left:S+v,top:N+k,letterSpacing:i.letterSpacing})):k+=y;let V="";i.textShadowOffset&&(V=J({width:W,height:H,id:r},{shadowColor:i.textShadowColor,shadowOffset:i.textShadowOffset,shadowRadius:i.textShadowRadius})),X+=ct({content:h,filter:V,id:r,left:S+v,top:N+k,width:W,height:H,matrix:ot,opacity:u,path:_,image:j,debug:c},i)}return X}var pt=pt||{};pt.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]+\.?))/},o="";function e(u){var m=new Error(o+": "+u);throw m.source=o,m}function i(){var u=s();return o.length>0&&e("Invalid input not EOF"),u}function s(){return x(n)}function n(){return r("linear-gradient",t.linearGradient,c)||r("repeating-linear-gradient",t.repeatingLinearGradient,c)||r("radial-gradient",t.radialGradient,p)||r("repeating-radial-gradient",t.repeatingRadialGradient,p)}function r(u,m,h){return a(m,function(_){var j=h();return j&&(N(t.comma)||e("Missing comma before color stops")),{type:u,orientation:j,colorStops:x(O)}})}function a(u,m){var h=N(u);if(h){N(t.startCall)||e("Missing (");var _=m(h);return N(t.endCall)||e("Missing )"),_}}function c(){return l()||g()}function l(){return S("directional",t.sideOrCorner,1)}function g(){return S("angular",t.angleValue,1)}function p(){var u,m=d(),h;return m&&(u=[],u.push(m),h=o,N(t.comma)&&(m=d(),m?u.push(m):o=h)),u}function d(){var u=f()||b();if(u)u.at=T();else{var m=y();if(m){u=m;var h=T();h&&(u.at=h)}else{var _=F();_&&(u={type:"default-radial",at:_})}}return u}function f(){var u=S("shape",/^(circle)/i,0);return u&&(u.style=P()||y()),u}function b(){var u=S("shape",/^(ellipse)/i,0);return u&&(u.style=A()||y()),u}function y(){return S("extent-keyword",t.extentKeywords,1)}function T(){if(S("position",/^at/,0)){var u=F();return u||e("Missing positioning value"),u}}function F(){var u=I();if(u.x||u.y)return{type:"position",value:u}}function I(){return{x:A(),y:A()}}function x(u){var m=u(),h=[];if(m)for(h.push(m);N(t.comma);)m=u(),m?h.push(m):e("One extra comma");return h}function O(){var u=G();return u||e("Expected color definition"),u.length=A(),u}function G(){return B()||X()||D()||L()}function L(){return S("literal",t.literalColor,0)}function B(){return S("hex",t.hexColor,1)}function D(){return a(t.rgbColor,function(){return{type:"rgb",value:x(Y)}})}function X(){return a(t.rgbaColor,function(){return{type:"rgba",value:x(Y)}})}function Y(){return N(t.number)[1]}function A(){return S("%",t.percentageValue,1)||w()||P()}function w(){return S("position-keyword",t.positionKeywords,1)}function P(){return S("px",t.pixelValue,1)||S("em",t.emValue,1)}function S(u,m,h){var _=N(m);if(_)return{type:u,value:_[h]}}function N(u){var m,h;return h=/^[\n\r\t\s]+/.exec(o),h&&ot(h[0].length),m=u.exec(o),m&&ot(m[0].length),m}function ot(u){o=o.substr(u)}return function(u){return o=u.toString(),i()}}();var Nt=pt;function te(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 ht({id:t,width:o},{image:e}){if(e.startsWith("linear-gradient(")){let i=Nt.parse(e)[0],s,n,r,a;if(i.orientation.type==="directional")[s,n,r,a]={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 f=+i.orientation.value/180*Math.PI-Math.PI/2,b=Math.cos(f),y=Math.sin(f);s=0,n=0,r=b,a=y,r<0&&(s-=r,r=0),a<0&&(n-=a,a=0)}let c=o,l=[];for(let f of i.colorStops){let b=te(f);if(!l.length&&(l.push({offset:0,color:b}),typeof f.length=="undefined"||f.length.value==="0"))continue;let y=typeof f.length=="undefined"?void 0:f.length.type==="%"?f.length.value/100:f.length.value/c;l.push({offset:y,color:b})}l.length||l.push({offset:0,color:"transparent"});let g=l[l.length-1];g.offset!==1&&(typeof g.offset=="undefined"?g.offset=1:l.push({offset:1,color:g.color}));let p=0,d=1;for(let f=0;f<l.length;f++)if(typeof l[f].offset=="undefined"){for(d<f&&(d=f);typeof l[d].offset=="undefined";)d++;l[f].offset=(l[d].offset-l[p].offset)/(d-p)*(f-p)+l[p].offset}else p=f;return[`satori_bi${t}`,`<linearGradient id="satori_bi${t}" x1="${s}" y1="${n}" x2="${r}" y2="${a}">${l.map(f=>`<stop offset="${f.offset*100}%" stop-color="${f.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 at(t,o,e){return e<t+o&&(e/2<t&&e/2<o?t=o=e/2:e/2<t?t=e-o:e/2<o&&(o=e-t)),[t,o]}function rt({left:t,top:o,width:e,height:i},s){let{borderTopLeftRadius:n,borderTopRightRadius:r,borderBottomLeftRadius:a,borderBottomRightRadius:c}=s;return n=Math.min(n||0,e,i),r=Math.min(r||0,e,i),a=Math.min(a||0,e,i),c=Math.min(c||0,e,i),!n&&!r&&!a&&!c?"":([n,r]=at(n,r,e),[n,a]=at(n,a,i),[r,c]=at(r,c,i),[a,c]=at(a,c,e),`M${t+n},${o} h${e-n-r} a${r},${r} 0 0 1 ${r},${r} v${i-r-c} a${c},${c} 0 0 1 ${-c},${c} h${c+a-e} a${a},${a} 0 0 1 ${-a},${-a} v${a+n-i} a${n},${n} 0 0 1 ${n},${-n}`)}function bt({id:t,left:o,top:e,width:i,height:s,isInheritingTransform:n,debug:r},a){if(a.display==="none")return"";let c="rect",l="transparent",g=0,p="",d="",f=[],b=1,y="";if(a.backgroundColor&&f.push(a.backgroundColor),a.borderWidth&&(g=a.borderWidth,l=a.borderColor),a.opacity&&(b=+a.opacity),a.transform&&(p=tt({left:o,top:e,width:i,height:s},a.transform,n)),a.backgroundImage){let I=a.backgroundImage.map((x,O)=>ht({id:t+"_"+O,width:i,height:s},x)).filter(Boolean);for(let x of I)d+=x[1],f.push(`url(#${x[0]})`)}let T=rt({left:o,top:e,width:i,height:s},a);T&&(c="path");let F=J({width:i,height:s,id:t},a);return f.length||f.push("transparent"),r&&(y=`<rect x="${o}" y="${e}" width="${i}" height="${s}" fill="transparent" stroke="#ff5757" stroke-width="1" ${p?`transform="${p}"`:""}></rect>`),`${d?`<defs>${d}</defs>`:""}${F?`${F}<g filter="url(#satori_s-${t})">`:""}${b!==1?`<g opacity="${b}">`:""}${f.map((I,x)=>I==="transparent"&&!(x===f.length-1&&g)?"":`<${c} x="${o}" y="${e}" width="${i}" height="${s}" fill="${I}" ${x===f.length-1&&g?`stroke="${l}" stroke-width="${g}"`:""} ${T?`d="${T}"`:""} ${p?`transform="${p}"`:""}></${c}>`).join("")}${b!==1?"</g>":""}${F?"</g>":""}${y}`}function yt({id:t,left:o,top:e,width:i,height:s,src:n,debug:r},a){if(a.display==="none")return"";let c="",l=1,g=a.objectFit==="contain"?"xMidYMid":a.objectFit==="cover"?"xMidYMid slice":"none",p=rt({left:o,top:e,width:i,height:s},a);p&&(c=`<clipPath id="satori_c-${t}"><path x="${o}" y="${e}" width="${i}" height="${s}" d="${p}"></path></clipPath>`),a.opacity&&(l=+a.opacity);let d=J({width:i,height:s,id:t},a);return`${d}${d?`<g filter="url(#satori_s-${t})">`:""}${c}<image href="${n}" x="${o}" y="${e}" width="${i}" height="${s}" preserveAspectRatio="${g}" ${c?`clip-path="url(#satori_c-${t})"`:""} ${l!==1?`opacity="${l}"`:""}></image>${d?"</g>":""}`}function*nt(t,o){let e=M(),{id:i,inheritedStyle:s,parent:n,font:r,debug:a,embedFont:c=!0,graphemeImages:l}=o;if(t===null||typeof t=="undefined")return yield,"";if(!ft(t)||typeof t.type=="function"){let w;if(!ft(t))w=gt(String(t),o);else{if(It(t.type))throw new Error("Class component is not supported.");w=nt(t.type(t.props),o)}w.next();let P=yield;return w.next(P).value}let{type:g,props:p}=t,{style:d,children:f}=p,b=e.Node.create();n.insertChild(b,n.getChildCount());let[y,T]=ut(b,g,s,d,p),F=y.transform===s.transform;F||(y.transform.__parent=s.transform);let I=typeof f=="undefined"?[]:[].concat(f),x=[],O=0;for(let w of I){let P=nt(w,{id:i*I.length+ ++O,parentStyle:y,inheritedStyle:T,isInheritingTransform:!0,parent:b,font:r,embedFont:c,debug:a,graphemeImages:l});P.next(),x.push(P)}let[G,L]=yield;y.position==="absolute"&&b.calculateLayout();let{left:B,top:D,width:X,height:Y}=b.getComputedLayout();B+=G,D+=L;let A="";g==="img"?A=yt({id:i,left:B,top:D,width:X,height:Y,src:p.src,isInheritingTransform:F,debug:a},y):A=bt({id:i,left:B,top:D,width:X,height:Y,isInheritingTransform:F,debug:a},y);for(let w of x)A+=w.next([B,D]).value;return A}import vt from"opentype.js";var st=class{constructor(o){this.fonts=new Map;for(let e of o){let i=e.data,s="buffer"in i?vt.parse(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)):vt.parse(i);this.defaultFont||(this.defaultFont=s),this.fonts.has(e.name)||this.fonts.set(e.name,[]),this.fonts.get(e.name).push([s,e.weight,e.style])}}get({name:o,weight:e,style:i}){if(!this.fonts.has(o))return this.defaultFont;e==="normal"&&(e=400),e==="bold"&&(e=700);let s=[...this.fonts.get(o)];return s.sort(([n,r,a],[c,l,g])=>{if(r!==l)return r?!l||r===e?-1:l===e?1:e===400&&r===500||e===500&&r===400?-1:e===400&&l===500||e===500&&l===400?1:e<400?r<e&&l<e?l-r:r<e?-1:l<e?1:r-l:e<r&&e<l?r-l:e<r?-1:e<l?1:l-r:1;if(a!==g){if(a===i)return-1;if(g===i)return 1}return-1}),s[0][0]}getFont({fontFamily:o,fontWeight:e=400,fontStyle:i="normal"}){return this.get({name:o,weight:e,style:i})}measure(o,e,{fontSize:i,letterSpacing:s=0}){return o.getAdvanceWidth(e,i,{letterSpacing:s/i})}getSVG(o,e,{fontSize:i,top:s,left:n,letterSpacing:r=0}){return s+=o.ascender/o.unitsPerEm*i,o.getPath(e,n,s,i,{letterSpacing:r/i}).toPathData(2)}};function xt({width:t,height:o,content:e},i){return`<svg width="${t}" height="${o}" viewBox="0 0 ${t} ${o}" xmlns="http://www.w3.org/2000/svg">${e}</svg>`}var $t=new WeakMap;function kt(t,o){let e=M();if(!e)throw new Error("Satori is not initialized.");let i;$t.has(o.fonts)?i=$t.get(o.fonts):$t.set(o.fonts,i=new st(o.fonts));let s=e.Node.create();s.setWidth(o.width),s.setHeight(o.height),s.setFlexDirection(e.FLEX_DIRECTION_ROW),s.setFlexWrap(e.WRAP_WRAP),s.setAlignContent(e.ALIGN_AUTO),s.setAlignItems(e.ALIGN_FLEX_START),s.setJustifyContent(e.JUSTIFY_FLEX_START);let n=nt(t,{id:1,parentStyle:{},inheritedStyle:{fontSize:16,fontWeight:"normal",fontFamily:"serif",fontStyle:"normal",lineHeight:1.2,color:"black",opacity:1},parent:s,font:i,embedFont:o.embedFont,debug:o.debug,graphemeImages:o.graphemeImages});n.next(),s.calculateLayout(o.width,o.height,e.DIRECTION_LTR);let r=n.next([0,0]).value;return xt({width:o.width,height:o.height,content:r})}export{kt as default,Yt as init};
var Gt=Object.defineProperty,Pt=Object.defineProperties;var Mt=Object.getOwnPropertyDescriptors;var St=Object.getOwnPropertySymbols;var Bt=Object.prototype.hasOwnProperty,Dt=Object.prototype.propertyIsEnumerable;var _t=(t,o,e)=>o in t?Gt(t,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[o]=e,q=(t,o)=>{for(var e in o||(o={}))Bt.call(o,e)&&_t(t,e,o[e]);if(St)for(var e of St(o))Dt.call(o,e)&&_t(t,e,o[e]);return t},Rt=(t,o)=>Pt(t,Mt(o));var Tt;function Yt(t){Tt=t}function D(){return Tt}function st(t){let o=typeof t;return!(o==="number"||o==="bigint"||o==="string"||o==="boolean")}function It(t){return/^class\s/.test(Function.prototype.toString.call(t))}function Z(t,o){return[t[0]*o[0]+t[2]*o[1],t[1]*o[0]+t[3]*o[1],t[0]*o[2]+t[2]*o[3],t[1]*o[2]+t[3]*o[3],t[0]*o[4]+t[2]*o[5]+t[4],t[1]*o[4]+t[3]*o[5]+t[5]]}function k(t,o,e){let i=o[t];return typeof i=="undefined"?e:i}var Lt={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 zt=new Set(["color","font","fontFamily","fontSize","fontStyle","fontWeight","lineHeight","textAlign","textTransform","whiteSpace","letterSpacing","transform","wordBreak","textShadowOffset","textShadowColor","textShadowRadius","opacity"]);function ft(t){let o={};for(let e in t)zt.has(e)&&(o[e]=t[e]);return o}import{getPropertyName as wt,getStylesForProperty as Ut}from"css-to-react-native";import Ft from"parse-css-dimension";import{parseElementStyle as Xt}from"css-background-parser";var Ht=new Set(["flex","flexGrow","flexShrink","flexBasis","fontWeight","lineHeight","opacity","scale","scaleX","scaleY"]),At=[1,0,0,1,0,0];function Vt(t,o){return typeof o=="number"?Ht.has(t)?String(o):o+"px":o}function Ct(t,o){if(typeof t=="number")return t;try{let e=new Ft(t);if(e.type==="length")switch(e.unit){case"em":return e.value*o;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 ot(t,o){let e=[];for(let n in t){let r=wt(n);e.push([r,Vt(r,t[n])])}let i=e.reduce((n,r)=>{let a=wt(r[0]),f=r[1];return Object.assign(n,Ut(a,f,!0))},{});if(i.backgroundImage){let{backgrounds:n}=Xt(i);i.backgroundImage=n}let s=i.fontSize||o.fontSize;if(typeof s=="string")try{let n=new Ft(s);switch(n.unit){case"em":s=n.value*o.fontSize;break;case"rem":s=n.value*16;break}}catch{s=16}typeof i.fontSize!="undefined"&&(i.fontSize=s);for(let n in i){let r=i[n];if(typeof r=="string"){let a=Ct(r,s);typeof a!="undefined"&&(i[n]=a),r=i[n]}if(n==="opacity"&&(r=i[n]=r*o.opacity),n==="transform"){let a=[...At],f=r;for(let c of f){let b=Object.keys(c)[0],m=c[b],d=typeof m=="string"?Ct(m,s):m,p=[...At];switch(b){case"translateX":p[4]=d;break;case"translateY":p[5]=d;break;case"scaleX":p[0]=d;break;case"scaleY":p[3]=d;break;case"rotate":let u=d*Math.PI/180,$=Math.cos(u),S=Math.sin(u);p[0]=$,p[1]=S,p[2]=-S,p[3]=$;break;case"skewX":p[2]=Math.tan(d*Math.PI/180);break;case"skewY":p[1]=Math.tan(d*Math.PI/180);break}a=Z(p,a)}i.transform=a}}return i}function lt(t,o,e,i,s){let n=D(),r=q(q(q({},e),ot(Lt[o],e)),ot(i,e));if(o==="img"){let a=parseInt(s.width),c=parseInt(s.height)/a;r.width||(r.width=a),r.height||(r.height=c*r.width)}return t.setDisplay(k(r.display,{flex:n.DISPLAY_FLEX,none:n.DISPLAY_NONE},n.DISPLAY_FLEX)),t.setAlignContent(k(r.alignContent,{stretch:n.ALIGN_STRETCH,center:n.ALIGN_CENTER,"flex-start":n.ALIGN_FLEX_START,"flex-end":n.ALIGN_FLEX_END,"space-between":n.ALIGN_SPACE_BETWEEN,"space-around":n.ALIGN_SPACE_AROUND,baseline:n.ALIGN_BASELINE,normal:n.ALIGN_AUTO},n.ALIGN_AUTO)),t.setAlignItems(k(r.alignItems,{stretch:n.ALIGN_STRETCH,center:n.ALIGN_CENTER,"flex-start":n.ALIGN_FLEX_START,"flex-end":n.ALIGN_FLEX_END,baseline:n.ALIGN_BASELINE,normal:n.ALIGN_AUTO},n.ALIGN_FLEX_START)),t.setAlignSelf(k(r.alignSelf,{stretch:n.ALIGN_STRETCH,center:n.ALIGN_CENTER,"flex-start":n.ALIGN_FLEX_START,"flex-end":n.ALIGN_FLEX_END,baseline:n.ALIGN_BASELINE,normal:n.ALIGN_AUTO},n.ALIGN_AUTO)),t.setJustifyContent(k(r.justifyContent,{center:n.JUSTIFY_CENTER,"flex-start":n.JUSTIFY_FLEX_START,"flex-end":n.JUSTIFY_FLEX_END,"space-between":n.JUSTIFY_SPACE_BETWEEN,"space-around":n.JUSTIFY_SPACE_AROUND},n.JUSTIFY_FLEX_START)),t.setFlexDirection(k(r.flexDirection,{row:n.FLEX_DIRECTION_ROW,column:n.FLEX_DIRECTION_COLUMN,"row-reverse":n.FLEX_DIRECTION_ROW_REVERSE,"column-reverse":n.FLEX_DIRECTION_COLUMN_REVERSE},n.FLEX_DIRECTION_ROW)),t.setFlexWrap(k(r.flexWrap,{wrap:n.WRAP_WRAP,nowrap:n.WRAP_NO_WRAP,"wrap-reverse":n.WRAP_WRAP_REVERSE},n.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(k(r.overflow,{visible:n.OVERFLOW_VISIBLE,hidden:n.OVERFLOW_HIDDEN},n.OVERFLOW_VISIBLE)),t.setMargin(n.EDGE_TOP,r.marginTop||0),t.setMargin(n.EDGE_BOTTOM,r.marginBottom||0),t.setMargin(n.EDGE_LEFT,r.marginLeft||0),t.setMargin(n.EDGE_RIGHT,r.marginRight||0),t.setBorder(n.EDGE_TOP,r.borderWidth||0),t.setBorder(n.EDGE_BOTTOM,r.borderWidth||0),t.setBorder(n.EDGE_LEFT,r.borderWidth||0),t.setBorder(n.EDGE_RIGHT,r.borderWidth||0),t.setPadding(n.EDGE_TOP,r.paddingTop||0),t.setPadding(n.EDGE_BOTTOM,r.paddingBottom||0),t.setPadding(n.EDGE_LEFT,r.paddingLeft||0),t.setPadding(n.EDGE_RIGHT,r.paddingRight||0),t.setPositionType(k(r.position,{absolute:n.POSITION_TYPE_ABSOLUTE,relative:n.POSITION_TYPE_RELATIVE},n.POSITION_TYPE_RELATIVE)),typeof r.top!="undefined"&&t.setPosition(n.EDGE_TOP,r.top),typeof r.bottom!="undefined"&&t.setPosition(n.EDGE_BOTTOM,r.bottom),typeof r.left!="undefined"&&t.setPosition(n.EDGE_LEFT,r.left),typeof r.right!="undefined"&&t.setPosition(n.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,ft(r)]}import{LineBreaker as Jt}from"css-line-break";import{splitGraphemes as jt}from"text-segmentation";function tt({left:t,top:o,width:e,height:i},s,n){let r;if(n)r=s;else{let a=t+e/2,f=o+i/2;r=Z([1,0,0,1,a,f],Z(s,[1,0,0,1,-a,-f])),s.__parent&&(r=Z(s.__parent,r)),s.splice(0,6,...r)}return`matrix(${r.map(a=>a.toFixed(2)).join(",")})`}function Ot({left:t,top:o,width:e,height:i,isInheritingTransform:s},n){let r="",a=1;return n.transform&&(r=tt({left:t,top:o,width:e,height:i},n.transform,s)),n.opacity&&(a=+n.opacity),{matrix:r,opacity:a}}function ut({id:t,content:o,filter:e,left:i,top:s,width:n,height:r,matrix:a,opacity:f,image:c,debug:b},m){let d="";return b&&(d=`<rect x="${i}" y="${s}" width="${n}" height="0.5" fill="transparent" stroke="#575eff" stroke-width="1" ${a?`transform="${a}"`:""}></rect>`),c?`${e?`${e}<g filter="url(#satori_s-${t})">`:""}<image href="${c}" x="${i}" y="${s}" width="${n}" height="${r}" ${a?`transform="${a}"`:""} ${f!==1?`opacity="${f}"`:""}></image>${e?"</g>":""}${d}`:`${e?`${e}<g filter="url(#satori_s-${t})">`:""}<text x="${i}" y="${s}" width="${n}" height="${r}" fill="${m.color}" font-weight="${m.fontWeight}" font-style="${m.fontStyle}" font-size="${m.fontSize}" font-family="${m.fontFamily}" ${m.letterSpacing?`letter-spacing="${m.letterSpacing}"`:""} ${a?`transform="${a}"`:""} ${f!==1?`opacity="${f}"`:""}>${o}</text>${e?"</g>":""}${d}`}function j({id:t,width:o,height:e},i){if(!i.shadowColor||!i.shadowOffset||typeof i.shadowRadius=="undefined")return"";let s=i.shadowRadius*i.shadowRadius/4,n=Math.min(i.shadowOffset.width-s,0),r=Math.max(i.shadowOffset.width+s+o,o),a=Math.min(i.shadowOffset.height-s,0),f=Math.max(i.shadowOffset.height+s+e,e);return`<defs><filter id="satori_s-${t}" x="${n/o*100}%" y="${a/e*100}%" width="${(r-n)/o*100}%" height="${(f-a)/e*100}%"><feDropShadow dx="${i.shadowOffset.width}" dy="${i.shadowOffset.height}" stdDeviation="${i.shadowRadius/2}" flood-color="${i.shadowColor}" flood-opacity="1"/></filter></defs>`}var et=void 0,mt=typeof Intl!="undefined"&&"Segmenter"in Intl,Kt=mt?new Intl.Segmenter(et,{granularity:"word"}):null,qt=mt?new Intl.Segmenter(et,{granularity:"grapheme"}):null,Zt=[32,160,4961,65792,65793,4153,4241],Qt=t=>{let o=Jt(t,{lineBreak:"strict",wordBreak:"normal"}),e=[],i;for(;!(i=o.next()).done;)if(i.value){let s=i.value.slice(),n=[].map.call(s,a=>a.codePointAt(0)),r="";n.forEach(a=>{Zt.includes(a)?(r.length&&e.push(r),e.push(String.fromCodePoint(a)),r=""):r+=String.fromCodePoint(a)}),r.length&&e.push(r)}return e};function ct(t,o){return mt?o==="word"?[...Kt.segment(t)].map(e=>e.segment):[...qt.segment(t)].map(e=>e.segment):o==="word"?Qt(t):jt(t)}function*dt(t,o){let e=D(),{parentStyle:i,parent:s,font:n,id:r,isInheritingTransform:a,debug:f,embedFont:c,graphemeImages:b}=o;i.textTransform==="uppercase"?t=t.toLocaleUpperCase(et):i.textTransform==="lowercase"?t=t.toLocaleLowerCase(et):i.textTransform==="capitalize"&&(t=ct(t,"word").map(y=>ct(y,"grapheme").map((I,W)=>W===0?I.toLocaleUpperCase(et):I).join("")).join(""));let m=k(i.wordBreak,{normal:"word","break-all":"grapheme","break-word":"grapheme","keep-all":"word"},"word"),d=ct(t,m),p=e.Node.create();p.setAlignItems(e.ALIGN_BASELINE),i.textAlign==="left"?p.setJustifyContent(e.JUSTIFY_FLEX_START):i.textAlign==="center"?p.setJustifyContent(e.JUSTIFY_CENTER):i.textAlign==="right"?p.setJustifyContent(e.JUSTIFY_FLEX_END):i.textAlign==="justify"&&p.setJustifyContent(e.JUSTIFY_SPACE_BETWEEN),s.insertChild(p,s.getChildCount());let u=n.getFont(i),$=u.ascender/u.unitsPerEm*i.fontSize,S=-(u.descender/u.unitsPerEm)*i.fontSize,g=($+S)*1.2,{textAlign:x}=i,A=[],M=[],F=[];p.setMeasureFunc(y=>{let I=[],W="",G=0,V="",w=0,K=0,Q=-1;A=[],M=[0];for(let B=0;B<d.length;B++){let P=d[B];if([" ",`
`," ","\u3000"].includes(P))W+=P,G=n.measure(u,W,i),F[B]=null;else{let J=b&&b[P]?i.fontSize:n.measure(u,P,i);w||(W="",G=0);let $t=G||",.!?:-@)>]}%#".indexOf(P[0])<0,Et=!w||!!G;$t&&w+G+J>y?(A.push(w),I.push(V),V=P,w=J,M.push(1),Q=-1):(V+=W+P,w+=G+J,Et&&M[M.length-1]++),W="",G=0,Et&&Q++,K=Math.max(K,w),F[B]={y:I.length*g,x:w-J,width:J,line:I.length,lineIndex:Q}}}return w&&(I.push(V),A.push(w)),I.length>1&&(K=y),{width:K,height:I.length*g}});let[Y,z]=yield,U="";i.position==="absolute"&&p.calculateLayout();let{left:X,top:O,width:C,height:v}=p.getComputedLayout(),L=Y+X,N=z+O,{matrix:H,opacity:l}=Ot({left:X,top:O,width:C,height:v,isInheritingTransform:a},i),h="";i.textShadowOffset&&(h=j({width:C,height:v,id:r},{shadowColor:i.textShadowColor,shadowOffset:i.textShadowOffset,shadowRadius:i.textShadowRadius}));let E="";for(let y=0;y<d.length;y++){if(!F[y])continue;let I=d[y],W=null,G=null,V=F[y].y,w=F[y].x,K=F[y].width,Q=g,B=C-A[F[y].line];if(x==="right"||x==="end")w+=B;else if(x==="center")w+=B/2;else if(x==="justify"){let P=F[y].line;if(P<A.length-1){let J=M[P];w+=(J>1?B/(J-1):0)*F[y].lineIndex}}b&&b[I]?G=b[I]:c?W=n.getSVG(u,I,Rt(q({},i),{left:L+w,top:N+V,letterSpacing:i.letterSpacing})):V+=$,W?E+=W+" ":U+=ut({content:I,filter:h,id:r,left:L+w,top:N+V,width:K,height:Q,matrix:H,opacity:l,image:G,debug:f},i)}if(E){let y="";f&&(y=`<rect x="${L}" y="${N}" width="${C}" height="${v}" fill="transparent" stroke="#575eff" stroke-width="1" ${H?`transform="${H}"`:""}></rect>`),U+=`${h?`${h}<g filter="url(#satori_s-${r})">`:""}<path fill="${i.color}" ${H?`transform="${H}"`:""} ${l!==1?`opacity="${l}"`:""} d="${E}"></path>${h?"</g>":""}${y}`}return U}import te from"parse-css-dimension";var pt=pt||{};pt.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]+\.?))/},o="";function e(l){var h=new Error(o+": "+l);throw h.source=o,h}function i(){var l=s();return o.length>0&&e("Invalid input not EOF"),l}function s(){return x(n)}function n(){return r("linear-gradient",t.linearGradient,f)||r("repeating-linear-gradient",t.repeatingLinearGradient,f)||r("radial-gradient",t.radialGradient,m)||r("repeating-radial-gradient",t.repeatingRadialGradient,m)}function r(l,h,E){return a(h,function(y){var I=E();return I&&(N(t.comma)||e("Missing comma before color stops")),{type:l,orientation:I,colorStops:x(A)}})}function a(l,h){var E=N(l);if(E){N(t.startCall)||e("Missing (");var y=h(E);return N(t.endCall)||e("Missing )"),y}}function f(){return c()||b()}function c(){return L("directional",t.sideOrCorner,1)}function b(){return L("angular",t.angleValue,1)}function m(){var l,h=d(),E;return h&&(l=[],l.push(h),E=o,N(t.comma)&&(h=d(),h?l.push(h):o=E)),l}function d(){var l=p()||u();if(l)l.at=S();else{var h=$();if(h){l=h;var E=S();E&&(l.at=E)}else{var y=T();y&&(l={type:"default-radial",at:y})}}return l}function p(){var l=L("shape",/^(circle)/i,0);return l&&(l.style=v()||$()),l}function u(){var l=L("shape",/^(ellipse)/i,0);return l&&(l.style=O()||$()),l}function $(){return L("extent-keyword",t.extentKeywords,1)}function S(){if(L("position",/^at/,0)){var l=T();return l||e("Missing positioning value"),l}}function T(){var l=g();if(l.x||l.y)return{type:"position",value:l}}function g(){return{x:O(),y:O()}}function x(l){var h=l(),E=[];if(h)for(E.push(h);N(t.comma);)h=l(),h?E.push(h):e("One extra comma");return E}function A(){var l=M();return l||e("Expected color definition"),l.length=O(),l}function M(){return Y()||U()||z()||F()}function F(){return L("literal",t.literalColor,0)}function Y(){return L("hex",t.hexColor,1)}function z(){return a(t.rgbColor,function(){return{type:"rgb",value:x(X)}})}function U(){return a(t.rgbaColor,function(){return{type:"rgba",value:x(X)}})}function X(){return N(t.number)[1]}function O(){return L("%",t.percentageValue,1)||C()||v()}function C(){return L("position-keyword",t.positionKeywords,1)}function v(){return L("px",t.pixelValue,1)||L("em",t.emValue,1)}function L(l,h,E){var y=N(h);if(y)return{type:l,value:y[E]}}function N(l){var h,E;return E=/^[\n\r\t\s]+/.exec(o),E&&H(E[0].length),h=l.exec(o),h&&H(h[0].length),h}function H(l){o=o.substr(l)}return function(l){return o=l.toString(),i()}}();var Nt=pt;function ee(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 re(t,o){return typeof t=="string"&&t.endsWith("%")?o*parseFloat(t)/100:+t}function kt(t,{x:o,y:e,defaultX:i,defaultY:s}){return(t?t.split(" ").map(n=>{try{let r=new te(n);return r.type==="length"?r.value:r.value+r.unit}catch{return null}}).filter(n=>n!==null):[i,s]).map((n,r)=>re(n,[o,e][r]))}function gt({id:t,width:o,height:e},{image:i,size:s,position:n}){let r=kt(s,{x:o,y:e,defaultX:o,defaultY:e}),a=kt(n,{x:o,y:e,defaultX:0,defaultY:0});if(i.startsWith("linear-gradient(")){let f=Nt.parse(i)[0],c,b,m,d;if(f.orientation.type==="directional")[c,b,m,d]={top:[0,1,0,0],bottom:[0,0,0,1],left:[1,0,0,0],right:[0,0,1,0]}[f.orientation.value];else if(f.orientation.type==="angular"){let g=+f.orientation.value/180*Math.PI-Math.PI/2,x=Math.cos(g),A=Math.sin(g);c=0,b=0,m=x,d=A,m<0&&(c-=m,m=0),d<0&&(b-=d,d=0)}let p=o,u=[];for(let g of f.colorStops){let x=ee(g);if(!u.length&&(u.push({offset:0,color:x}),typeof g.length=="undefined"||g.length.value==="0"))continue;let A=typeof g.length=="undefined"?void 0:g.length.type==="%"?g.length.value/100:g.length.value/p;u.push({offset:A,color:x})}u.length||u.push({offset:0,color:"transparent"});let $=u[u.length-1];$.offset!==1&&(typeof $.offset=="undefined"?$.offset=1:u.push({offset:1,color:$.color}));let S=0,T=1;for(let g=0;g<u.length;g++)if(typeof u[g].offset=="undefined"){for(T<g&&(T=g);typeof u[T].offset=="undefined";)T++;u[g].offset=(u[T].offset-u[S].offset)/(T-S)*(g-S)+u[S].offset}else S=g;return[`satori_bi${t}`,`<linearGradient id="satori_bi${t}" x1="${c}" y1="${b}" x2="${m}" y2="${d}">${u.map(g=>`<stop offset="${g.offset*100}%" stop-color="${g.color}"/>`).join("")}</linearGradient>`]}if(i.startsWith("url(")){let f=i.slice(4,-1);return[`satori_bi${t}`,`<pattern id="satori_bi${t}" patternContentUnits="userSpaceOnUse" patternUnits="userSpaceOnUse" x="${a[0]}" y="${a[1]}" width="${r[0]}" height="${r[1]}"><image href="${f}" x="0" y="0" width="${r[0]}" height="${r[1]}"/></pattern>`]}}function it(t,o,e){return e<t+o&&(e/2<t&&e/2<o?t=o=e/2:e/2<t?t=e-o:e/2<o&&(o=e-t)),[t,o]}function rt({left:t,top:o,width:e,height:i},s){let{borderTopLeftRadius:n,borderTopRightRadius:r,borderBottomLeftRadius:a,borderBottomRightRadius:f}=s;return n=Math.min(n||0,e,i),r=Math.min(r||0,e,i),a=Math.min(a||0,e,i),f=Math.min(f||0,e,i),!n&&!r&&!a&&!f?"":([n,r]=it(n,r,e),[n,a]=it(n,a,i),[r,f]=it(r,f,i),[a,f]=it(a,f,e),`M${t+n},${o} h${e-n-r} a${r},${r} 0 0 1 ${r},${r} v${i-r-f} a${f},${f} 0 0 1 ${-f},${f} h${f+a-e} a${a},${a} 0 0 1 ${-a},${-a} v${a+n-i} a${n},${n} 0 0 1 ${n},${-n}`)}function ht({id:t,left:o,top:e,width:i,height:s,isInheritingTransform:n,debug:r},a){if(a.display==="none")return"";let f="rect",c="transparent",b=0,m="",d="",p=[],u=1,$="";if(a.backgroundColor&&p.push(a.backgroundColor),a.borderWidth&&(b=a.borderWidth,c=a.borderColor),a.opacity&&(u=+a.opacity),a.transform&&(m=tt({left:o,top:e,width:i,height:s},a.transform,n)),a.backgroundImage){let g=a.backgroundImage.map((x,A)=>gt({id:t+"_"+A,width:i,height:s},x)).filter(Boolean);for(let x of g)d+=x[1],p.push(`url(#${x[0]})`)}let S=rt({left:o,top:e,width:i,height:s},a);S&&(f="path");let T=j({width:i,height:s,id:t},a);return p.length||p.push("transparent"),r&&($=`<rect x="${o}" y="${e}" width="${i}" height="${s}" fill="transparent" stroke="#ff5757" stroke-width="1" ${m?`transform="${m}"`:""}></rect>`),`${d?`<defs>${d}</defs>`:""}${T?`${T}<g filter="url(#satori_s-${t})">`:""}${u!==1?`<g opacity="${u}">`:""}${p.map((g,x)=>g==="transparent"&&!(x===p.length-1&&b)?"":`<${f} x="${o}" y="${e}" width="${i}" height="${s}" fill="${g}" ${x===p.length-1&&b?`stroke="${c}" stroke-width="${b}"`:""} ${S?`d="${S}"`:""} ${m?`transform="${m}"`:""}></${f}>`).join("")}${u!==1?"</g>":""}${T?"</g>":""}${$}`}function bt({id:t,left:o,top:e,width:i,height:s,src:n,debug:r},a){if(a.display==="none")return"";let f="",c=1,b=a.objectFit==="contain"?"xMidYMid":a.objectFit==="cover"?"xMidYMid slice":"none",m=rt({left:o,top:e,width:i,height:s},a);m&&(f=`<clipPath id="satori_c-${t}"><path x="${o}" y="${e}" width="${i}" height="${s}" d="${m}"></path></clipPath>`),a.opacity&&(c=+a.opacity);let d=j({width:i,height:s,id:t},a);return`${d}${d?`<g filter="url(#satori_s-${t})">`:""}${f}<image href="${n}" x="${o}" y="${e}" width="${i}" height="${s}" preserveAspectRatio="${b}" ${f?`clip-path="url(#satori_c-${t})"`:""} ${c!==1?`opacity="${c}"`:""}></image>${d?"</g>":""}`}function*nt(t,o){let e=D(),{id:i,inheritedStyle:s,parent:n,font:r,debug:a,embedFont:f=!0,graphemeImages:c}=o;if(t===null||typeof t=="undefined")return yield,"";if(!st(t)||typeof t.type=="function"){let C;if(!st(t))C=dt(String(t),o);else{if(It(t.type))throw new Error("Class component is not supported.");C=nt(t.type(t.props),o)}C.next();let v=yield;return C.next(v).value}let{type:b,props:m}=t,{style:d,children:p}=m,u=e.Node.create();n.insertChild(u,n.getChildCount());let[$,S]=lt(u,b,s,d,m),T=$.transform===s.transform;T||($.transform.__parent=s.transform);let g=typeof p=="undefined"?[]:[].concat(p),x=[],A=0;for(let C of g){let v=nt(C,{id:i*g.length+ ++A,parentStyle:$,inheritedStyle:S,isInheritingTransform:!0,parent:u,font:r,embedFont:f,debug:a,graphemeImages:c});v.next(),x.push(v)}let[M,F]=yield;$.position==="absolute"&&u.calculateLayout();let{left:Y,top:z,width:U,height:X}=u.getComputedLayout();Y+=M,z+=F;let O="";b==="img"?O=bt({id:i,left:Y,top:z,width:U,height:X,src:m.src,isInheritingTransform:T,debug:a},$):O=ht({id:i,left:Y,top:z,width:U,height:X,isInheritingTransform:T,debug:a},$);for(let C of x)O+=C.next([Y,z]).value;return O}import vt from"@shuding/opentype.js";var at=class{constructor(o){this.fonts=new Map;for(let e of o){let i=e.data,s="buffer"in i?vt.parse(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)):vt.parse(i);this.defaultFont||(this.defaultFont=s),this.fonts.has(e.name)||this.fonts.set(e.name,[]),this.fonts.get(e.name).push([s,e.weight,e.style])}}get({name:o,weight:e,style:i}){if(!this.fonts.has(o))return this.defaultFont;e==="normal"&&(e=400),e==="bold"&&(e=700);let s=[...this.fonts.get(o)];return s.sort(([n,r,a],[f,c,b])=>{if(r!==c)return r?!c||r===e?-1:c===e?1:e===400&&r===500||e===500&&r===400?-1:e===400&&c===500||e===500&&c===400?1:e<400?r<e&&c<e?c-r:r<e?-1:c<e?1:r-c:e<r&&e<c?r-c:e<r?-1:e<c?1:c-r:1;if(a!==b){if(a===i)return-1;if(b===i)return 1}return-1}),s[0][0]}getFont({fontFamily:o,fontWeight:e=400,fontStyle:i="normal"}){return this.get({name:o,weight:e,style:i})}measure(o,e,{fontSize:i,letterSpacing:s=0}){return o.getAdvanceWidth(e,i,{letterSpacing:s/i})}getSVG(o,e,{fontSize:i,top:s,left:n,letterSpacing:r=0}){return s+=o.ascender/o.unitsPerEm*i,o.getPath(e,n,s,i,{letterSpacing:r/i}).toPathData(1)}};function yt({width:t,height:o,content:e},i){return`<svg width="${t}" height="${o}" viewBox="0 0 ${t} ${o}" xmlns="http://www.w3.org/2000/svg">${e}</svg>`}var xt=new WeakMap;function Wt(t,o){let e=D();if(!e)throw new Error("Satori is not initialized.");let i;xt.has(o.fonts)?i=xt.get(o.fonts):xt.set(o.fonts,i=new at(o.fonts));let s=e.Node.create();s.setWidth(o.width),s.setHeight(o.height),s.setFlexDirection(e.FLEX_DIRECTION_ROW),s.setFlexWrap(e.WRAP_WRAP),s.setAlignContent(e.ALIGN_AUTO),s.setAlignItems(e.ALIGN_FLEX_START),s.setJustifyContent(e.JUSTIFY_FLEX_START);let n=nt(t,{id:1,parentStyle:{},inheritedStyle:{fontSize:16,fontWeight:"normal",fontFamily:"serif",fontStyle:"normal",lineHeight:1.2,color:"black",opacity:1},parent:s,font:i,embedFont:o.embedFont,debug:o.debug,graphemeImages:o.graphemeImages});n.next(),s.calculateLayout(o.width,o.height,e.DIRECTION_LTR);let r=n.next([0,0]).value;return yt({width:o.width,height:o.height,content:r})}export{Wt as default,Yt as init};
//# sourceMappingURL=index.wasm.js.map
{
"name": "satori",
"version": "0.0.14-beta.0",
"version": "0.0.14",
"description": "Satori converts HTML JSX to SVG string.",

@@ -18,8 +18,10 @@ "module": "./dist/esm/index.js",

"scripts": {
"dev": "tsup src/index.ts --watch --format esm --legacy-output --ignore-watch playground",
"build": "pnpm run build:asmjs && pnpm run build:wasm",
"types": "tsc --noEmit",
"dev": "NODE_ENV=development tsup src/index.ts --watch --ignore-watch playground",
"build": "NODE_ENV=production pnpm run types && pnpm run build:asmjs && pnpm run build:wasm",
"build:asmjs": "tsup",
"build:wasm": "WASM=1 tsup",
"test": "vitest run",
"dev:test": "vitest"
"dev:test": "vitest",
"postinstall": "pnpm run build"
},

@@ -54,6 +56,6 @@ "repository": {

"dependencies": {
"@shuding/opentype.js": "^1.3.4",
"css-background-parser": "^0.1.0",
"css-line-break": "^2.1.0",
"css-to-react-native": "^3.0.0",
"opentype.js": "^1.3.4",
"parse-css-dimension": "^1.1.0",

@@ -60,0 +62,0 @@ "text-segmentation": "^1.0.3",

@@ -91,2 +91,4 @@ <h1 align="center">

When using `background-image`, the image will be stretched to fit the element by default if you don't specify the size.
If you want to render the generated SVG to another image format such as PNG, it would be better to use base64 encoded image data directly as `props.src` so no extra I/O is needed.

@@ -151,5 +153,5 @@

| `text-transform` | Support `lowercase`, `uppercase`, `capitalize` |
| `background-position` | Supported |
| `background-size` | Support two-value size string such as `10px 20%` |
| `background-clip` | TBD |
| `background-size` | TBD |
| `background-position` | TBD |
| `background-repeat` | TBD |

@@ -156,0 +158,0 @@ | `background-origin` | TBD |

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