UNPKG

@mcastiello/figmatic

Version:

1 lines 51.3 kB
var e,t,r,o,n,i,a,s,l,u,c,p,f,d,h,g,y,v,x,m,S,T,A,E,k,b,D,N,F,I,w,L,P,C,O,R,M,B,G,V,_,H=require("@mcastiello/event-bus");function W(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,K(o.key),o)}}function j(e,t,r){return t&&W(e.prototype,t),r&&W(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function z(){return z=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)({}).hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e},z.apply(null,arguments)}function U(e){return U=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},U(e)}function J(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,Y(e,t)}function X(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(X=function(){return!!e})()}function Z(e,t){if(null==e)return{};var r={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(-1!==t.indexOf(o))continue;r[o]=e[o]}return r}function Y(e,t){return Y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Y(e,t)}function K(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}function q(e){var t="function"==typeof Map?new Map:void 0;return q=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return function(e,t,r){if(X())return Reflect.construct.apply(null,arguments);var o=[null];o.push.apply(o,t);var n=new(e.bind.apply(e,o));return r&&Y(n,r.prototype),n}(e,arguments,U(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),Y(r,e)},q(e)}exports.NodeType=void 0,(e=exports.NodeType||(exports.NodeType={})).BooleanOperation="BOOLEAN_OPERATION",e.Canvas="CANVAS",e.Component="COMPONENT",e.ComponentSet="COMPONENT_SET",e.Document="DOCUMENT",e.Ellipse="ELLIPSE",e.Frame="FRAME",e.Generic="NODE",e.Group="GROUP",e.Instance="INSTANCE",e.Line="LINE",e.Rectangle="RECTANGLE",e.RegularPolygon="REGULAR_POLYGON",e.Section="SECTION",e.Slice="SLICE",e.Star="STAR",e.Text="TEXT",e.Vector="VECTOR",e.WashiTape="WASHI_TAPE",exports.PropertyTypes=void 0,(exports.PropertyTypes||(exports.PropertyTypes={})).VariableAlias="VARIABLE_ALIAS",exports.ConstraintType=void 0,(t=exports.ConstraintType||(exports.ConstraintType={})).Scale="SCALE",t.Width="WIDTH",t.Height="HEIGHT",exports.PaintType=void 0,(r=exports.PaintType||(exports.PaintType={})).Solid="SOLID",r.GradientLinear="GRADIENT_LINEAR",r.GradientRadial="GRADIENT_RADIAL",r.GradientAngular="GRADIENT_ANGULAR",r.GradientDiamond="GRADIENT_DIAMOND",r.Image="IMAGE",r.Emoji="EMOJI",r.Video="VIDEO",exports.BlendMode=void 0,(o=exports.BlendMode||(exports.BlendMode={})).PassThrough="PASS_THROUGH",o.Normal="NORMAL",o.Darken="DARKEN",o.Multiply="MULTIPLY",o.LinearBurn="LINEAR_BURN",o.ColorBurn="COLOR_BURN",o.Lighten="LIGHTEN",o.Screen="SCREEN",o.LinearDodge="LINEAR_DODGE",o.ColorDodge="COLOR_DODGE",o.Overlay="OVERLAY",o.SoftLight="SOFT_LIGHT",o.HardLight="HARD_LIGHT",o.Difference="DIFFERENCE",o.Exclusion="EXCLUSION",o.Hue="HUE",o.Saturation="SATURATION",o.Color="COLOR",o.Luminosity="LUMINOSITY",exports.ScaleMode=void 0,(n=exports.ScaleMode||(exports.ScaleMode={})).Fill="FILL",n.Fit="FIT",n.Tile="TILE",n.Stretch="STRETCH",exports.StrokeAlign=void 0,(i=exports.StrokeAlign||(exports.StrokeAlign={})).Inside="INSIDE",i.Outside="OUTSIDE",i.Center="CENTER",exports.VerticalLayoutConstraint=void 0,(a=exports.VerticalLayoutConstraint||(exports.VerticalLayoutConstraint={})).Top="TOP",a.Bottom="BOTTOM",a.Center="CENTER",a.TopBottom="TOP_BOTTOM",a.Scale="SCALE",exports.HorizontalLayoutConstrain=void 0,(s=exports.HorizontalLayoutConstrain||(exports.HorizontalLayoutConstrain={})).Left="LEFT",s.Right="RIGHT",s.Center="CENTER",s.LeftRight="LEFT_RIGHT",s.Scale="SCALE",exports.LayoutAlign=void 0,(l=exports.LayoutAlign||(exports.LayoutAlign={})).Inherit="INHERIT",l.Stretch="STRETCH",l.Min="MIN",l.Center="CENTER",l.Max="MAX",exports.LayoutMode=void 0,(u=exports.LayoutMode||(exports.LayoutMode={})).None="NONE",u.Horizontal="HORIZONTAL",u.Vertical="VERTICAL",exports.LayoutSizing=void 0,(c=exports.LayoutSizing||(exports.LayoutSizing={})).Fixed="FIXED",c.Hug="HUG",c.Fill="FILL",exports.LayoutWrap=void 0,(p=exports.LayoutWrap||(exports.LayoutWrap={})).NoWrap="NO_WRAP",p.Wrap="WRAP",exports.LayoutPositioning=void 0,(f=exports.LayoutPositioning||(exports.LayoutPositioning={})).Auto="AUTO",f.Absolute="ABSOLUTE",exports.LayoutGridPattern=void 0,(d=exports.LayoutGridPattern||(exports.LayoutGridPattern={})).Columns="COLUMNS",d.Rows="ROWS",d.Grid="GRID",exports.AxisSizing=void 0,(h=exports.AxisSizing||(exports.AxisSizing={})).Fixed="FIXED",h.Auto="AUTO",exports.AxisAlign=void 0,(g=exports.AxisAlign||(exports.AxisAlign={})).Auto="AUTO",g.Min="MIN",g.Center="CENTER",g.Max="MAX",g.SpaceBetween="SPACE_BETWEEN",g.Baseline="BASELINE",exports.OverflowDirection=void 0,(y=exports.OverflowDirection||(exports.OverflowDirection={})).None="NONE",y.Horizontal="HORIZONTAL_SCROLLING",y.Vertical="VERTICAL_SCROLLING",y.Both="HORIZONTAL_AND_VERTICAL_SCROLLING",exports.EffectType=void 0,(v=exports.EffectType||(exports.EffectType={})).InnerShadow="INNER_SHADOW",v.DropShadow="DROP_SHADOW",v.LayerBlur="LAYER_BLUR",v.BackgroundBlur="BACKGROUND_BLUR",exports.MaskType=void 0,(x=exports.MaskType||(exports.MaskType={})).Alpha="ALPHA",x.Vector="VECTOR",x.Luminance="LUMINANCE",exports.StyleType=void 0,(m=exports.StyleType||(exports.StyleType={})).Fill="FILL",m.Text="TEXT",m.Effect="EFFECT",m.Grid="GRID",exports.DevStatusType=void 0,(S=exports.DevStatusType||(exports.DevStatusType={})).ReadyForDev="READY_FOR_DEV",S.Completed="COMPLETED",exports.AnnotationProperty=void 0,(T=exports.AnnotationProperty||(exports.AnnotationProperty={})).Width="width",T.Height="height",T.MaxWidth="maxWidth",T.MinWidth="minWidth",T.MaxHeight="maxHeight",T.MinHeight="minHeight",T.Fills="fills",T.Strokes="strokes",T.Effects="effects",T.StrokeWeight="strokeWeight",T.CornerRadius="cornerRadius",T.TextStyleId="textStyleId",T.TextAlignHorizontal="textAlignHorizontal",T.FontFamily="fontFamily",T.FontStyle="fontStyle",T.FontSize="fontSize",T.FontWeight="fontWeight",T.LineHeight="lineHeight",T.LetterSpacing="letterSpacing",T.ItemSpacing="itemSpacing",T.Padding="padding",T.LayoutMode="layoutMode",T.AlignItems="alignItems",T.Opacity="opacity",T.MainComponent="mainComponent",exports.StrokeCap=void 0,(A=exports.StrokeCap||(exports.StrokeCap={})).None="NONE",A.Round="ROUND",A.Square="SQUARE",A.LineArrow="LINE_ARROW",A.TriangleArrow="TRIANGLE_ARROW",A.DiamondFilled="DIAMOND_FILLED",A.CircleFilled="CIRCLE_FILLED",A.TriangleFilled="TRIANGLE_FILLED",A.WashiTape1="WASHI_TAPE_1",A.WashiTape2="WASHI_TAPE_2",A.WashiTape3="WASHI_TAPE_3",A.WashiTape4="WASHI_TAPE_4",A.WashiTape5="WASHI_TAPE_5",A.WashiTape6="WASHI_TAPE_6",exports.StrokeJoin=void 0,(E=exports.StrokeJoin||(exports.StrokeJoin={})).Bevel="BEVEL",E.Miter="MITER",E.Round="ROUND",exports.BooleanOperation=void 0,(k=exports.BooleanOperation||(exports.BooleanOperation={})).Exclude="EXCLUDE",k.Intersect="INTERSECT",k.Subtract="SUBTRACT",k.Union="UNION",exports.TextCase=void 0,(b=exports.TextCase||(exports.TextCase={})).Lower="LOWER",b.Original="ORIGINAL",b.SmallCaps="SMALL_CAPS",b.SmallCapsForced="SMALL_CAPS_FORCED",b.Title="TITLE",b.Upper="UPPER",exports.TextDecoration=void 0,(D=exports.TextDecoration||(exports.TextDecoration={})).None="NONE",D.Strikethrough="STRIKETHROUGH",D.Underline="UNDERLINE",exports.TextAutoResize=void 0,(N=exports.TextAutoResize||(exports.TextAutoResize={})).Height="HEIGHT",N.None="NONE",N.WidthHeight="WIDTH_AND_HEIGHT",exports.TextTruncation=void 0,(F=exports.TextTruncation||(exports.TextTruncation={})).Disabled="DISABLED",F.Enabled="ENABLED",exports.TextAlignHorizontal=void 0,(I=exports.TextAlignHorizontal||(exports.TextAlignHorizontal={})).Left="LEFT",I.Right="RIGHT",I.Center="CENTER",I.Justified="JUSTIFIED",exports.TextAlignVertical=void 0,(w=exports.TextAlignVertical||(exports.TextAlignVertical={})).Top="TOP",w.Center="CENTER",w.Bottom="BOTTOM",exports.HyperlinkType=void 0,(L=exports.HyperlinkType||(exports.HyperlinkType={})).Url="URL",L.Node="NODE",exports.LineHeightUnit=void 0,(P=exports.LineHeightUnit||(exports.LineHeightUnit={})).Pixels="PIXELS",P.FontSize="FONT_SIZE_%",P.Intrinsic="INTRINSIC_%",exports.FontWeight=void 0,(C=exports.FontWeight||(exports.FontWeight={})).Bold="BOLD",C.Normal="NORMAL",exports.FontStyle=void 0,(O=exports.FontStyle||(exports.FontStyle={})).Italic="ITALIC",O.Normal="NORMAL",exports.LineType=void 0,(R=exports.LineType||(exports.LineType={})).Ordered="ORDERED",R.Unordered="UNORDERED",R.None="NONE",exports.ComponentPropertyType=void 0,(M=exports.ComponentPropertyType||(exports.ComponentPropertyType={})).Boolean="BOOLEAN",M.InstanceSwap="INSTANCE_SWAP",M.Text="TEXT",M.Variant="VARIANT",exports.VariableType=void 0,(B=exports.VariableType||(exports.VariableType={})).Boolean="BOOLEAN",B.Float="FLOAT",B.String="STRING",B.Color="COLOR",exports.VariableScope=void 0,(G=exports.VariableScope||(exports.VariableScope={})).AllFills="ALL_FILLS",G.AllScopes="ALL_SCOPES",G.CornerRadius="CORNER_RADIUS",G.EffectColor="EFFECT_COLOR",G.EffectFloat="EFFECT_FLOAT",G.FontFamily="FONT_FAMILY",G.FontSize="FONT_SIZE",G.FontStyle="FONT_STYLE",G.FontWeight="FONT_WEIGHT",G.FrameFill="FRAME_FILL",G.Gap="GAP",G.LetterSpacing="LETTER_SPACING",G.LineHeight="LINE_HEIGHT",G.Opacity="OPACITY",G.ParagraphIndent="PARAGRAPH_INDENT",G.ParagraphSpacing="PARAGRAPH_SPACING",G.ShapeFill="SHAPE_FILL",G.StrokeColor="STROKE_COLOR",G.StrokeFloat="STROKE_FLOAT",G.TextContent="TEXT_CONTENT",G.TextFill="TEXT_FILL",G.WidthHeight="WIDTH_HEIGHT",exports.ExportFormat=void 0,(V=exports.ExportFormat||(exports.ExportFormat={})).JPG="jpg",V.PDF="pdf",V.PNG="png",V.SVG="svg",exports.TokenStyleTypes=void 0,(_=exports.TokenStyleTypes||(exports.TokenStyleTypes={})).Fill="fill",_.Fills="fills",_.Stroke="stroke",_.Strokes="strokes",_.Effect="effect",_.Text="text";var Q,$,ee,te=function(e){return Object.values(exports.NodeType).includes(e)},re=function(e){return"object"==typeof e&&Object.hasOwn(e,"type")},oe=function(e){return"string"==typeof(null==e?void 0:e.type)&&te(e.type)},ne=function(e,t){return"string"==typeof(null==e?void 0:e.type)&&e.type===t&&te(e.type)},ie=function(e,t){return!!e&&e.type===t},ae=function(e){return!!e&&Object.hasOwn(e,"styles")},se=function(e){return!!e&&Object.hasOwn(e,"exportSettings")};!function(e){e.Figmatic="figmatic"}(Q||(Q={})),exports.FigmaticEvents=void 0,($=exports.FigmaticEvents||(exports.FigmaticEvents={})).Message="message",$.LoadStarted="loadStarted",$.LoadCompleted="loadCompleted",$.SwitchBranchStarted="switchBranchStarted",$.SwitchBranchCompleted="switchBranchCompleted",$.BranchDownloadStarted="branchDownloadStarted",$.BranchDownloadCompleted="branchDownloadCompleted",$.BranchDownloadFailed="branchDownloadFailed",$.TokensDownloadStarted="tokensDownloadStarted",$.TokensDownloadCompleted="tokensDownloadCompleted",$.TokensDownloadFailed="tokensDownloadFailed",$.GraphicDownloadStarted="graphicDownloadStarted",$.GraphicDownloadCompleted="graphicDownloadCompleted",$.GraphicDownloadFailed="graphicDownloadFailed",$.ParseNodesStarted="parseNodesStarted",$.ParseNodesCompleted="parseNodesCompleted",$.ParseNodesFailed="parseNodesFailed",$.ParseComponentsStarted="parseComponentsStarted",$.ParseComponentsCompleted="parseComponentsCompleted",$.ParseComponentsFailed="parseComponentsFailed",$.ParseTokensStarted="parseTokensStarted",$.ParseTokensCompleted="parseTokensCompleted",$.ParseTokensFailed="parseTokensFailed",exports.FigmaticSeverity=void 0,(ee=exports.FigmaticSeverity||(exports.FigmaticSeverity={})).Debug="debug",ee.Info="info",ee.Warning="warning",ee.Error="error";var le={cacheEvents:!0,publishAsynchronously:!0},ue=new Map,ce=new Map,pe=new Map,fe=new Map,de=new Map,he=new(/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}J(t,e);var r=t.prototype;return r.getByType=function(e){return Array.from(this.values()).filter(function(t){return ie(t,e)})},r.getByName=function(e){var t=this,r=[];if(e instanceof RegExp){var o=Array.from(new Set(Array.from(ue.keys()).filter(function(t){return e.test(t)}).map(function(e){return ue.get(e)||[]}).reduce(function(e,t){return[].concat(e,t)},[])));r.push.apply(r,o)}else{var n=ue.get(e)||[];r.push.apply(r,n)}return(null==r?void 0:r.map(function(e){return t.get(e)}).filter(function(e){return!!e}))||[]},r.clear=function(){e.prototype.clear.call(this),ue.clear()},r.get=function(t){return e.prototype.get.call(this,t)},t}(/*#__PURE__*/q(Map))),ge=/*#__PURE__*/function(){return j(function(e){this.data=void 0,this.data=e},[{key:"definition",get:function(){return this.data}},{key:"variantNodes",get:function(){if(0===this.data.variants.length){var e=he.get(this.data.nodeId);return e?[e]:[]}return this.data.variants.map(function(e){return he.get(e.nodeId)}).filter(function(e){return void 0!==e})}}])}(),ye=new(/*#__PURE__*/function(){function e(){this.bus=new H.EventBus(le)}return e.prototype.log=function(e,t,r,o){void 0===t&&(t=exports.FigmaticSeverity.Info),void 0===r&&(r=Date.now()),this.channel.publish(exports.FigmaticEvents.Message,{message:e,severity:t,timestamp:r,data:o})},j(e,[{key:"channel",get:function(){return this.bus.getChannel(Q.Figmatic)}}])}());function ve(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var xe=/*#__PURE__*/function(e){function t(){for(var t,r=arguments.length,o=new Array(r),n=0;n<r;n++)o[n]=arguments[n];return(t=e.call.apply(e,[this].concat(o))||this).plugins=new Map,t}J(t,e);var r=t.prototype;return r.registerExportPlugin=function(e,t){void 0===t&&(t="default"),this.plugins.set(t,e)},r.getPlugin=function(e){return this.plugins.get(e)},r.generateExport=function(e){void 0===e&&(e="default");try{var t=this,r={},o=t.plugins.get(e),n=function(){if(o){var e=function(){return function(e,t){if("function"==typeof e[me]){var r,o,n,i=function(e){try{for(;!(r=a.next()).done;)if((e=t(r.value))&&e.then){if(!Ae(e))return void e.then(i,n||(n=Se.bind(null,o=new Te,2)));e=e.v}o?Se(o,1,e):o=e}catch(e){Se(o||(o=new Te),2,e)}},a=e[me]();if(i(),a.return){var s=function(e){try{r.done||a.return()}catch(e){}return e};if(o&&o.then)return o.then(s,function(e){throw s(e)});s()}return o}if(!("length"in e))throw new TypeError("Object is not iterable");for(var l=[],u=0;u<e.length;u++)l.push(e[u]);return function(e,t){var r,o,n=-1;return function i(a){try{for(;++n<e.length;)if((a=t(n))&&a.then){if(!Ae(a))return void a.then(i,o||(o=Se.bind(null,r=new Te,2)));a=a.v}r?Se(r,1,a):r=a}catch(e){Se(r||(r=new Te),2,e)}}(),r}(l,function(e){return t(l[e])})}(t.values(),function(e){var t=ve(function(){return ye.log('Export component "'+e.definition.name+'"',exports.FigmaticSeverity.Debug),Promise.resolve(o.processor.generateComponent(e)).then(function(e){r[e.name]=e.content})},function(t){ye.log('Error while exporting component "'+e.definition.name+'"',exports.FigmaticSeverity.Error,Date.now(),{error:t})});if(t&&t.then)return t.then(function(){})})},n=ve(function(){return ye.log("Export tokens",exports.FigmaticSeverity.Debug),Promise.resolve(o.processor.generateTokens()).then(function(e){r[e.name]=e.content})},function(e){ye.log("Error while generating tokens",exports.FigmaticSeverity.Error,Date.now(),{error:e})});return n&&n.then?n.then(e):e()}}();return Promise.resolve(n&&n.then?n.then(function(){return r}):r)}catch(e){return Promise.reject(e)}},t}(/*#__PURE__*/q(Map));const me="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function Se(e,t,r){if(!e.s){if(r instanceof Te){if(!r.s)return void(r.o=Se.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(Se.bind(null,e,t),Se.bind(null,e,2));e.s=t,e.v=r;var o=e.o;o&&o(e)}}var Te=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,r){var o=new e,n=this.s;if(n){var i=1&n?t:r;if(i){try{Se(o,1,i(this.v))}catch(e){Se(o,2,e)}return o}return this}return this.o=function(e){try{var n=e.v;1&e.s?Se(o,1,t?t(n):n):r?Se(o,1,r(n)):Se(o,2,n)}catch(e){Se(o,2,e)}},o},e}();function Ae(e){return e instanceof Te&&1&e.s}var Ee,ke,be=new xe,De=/*#__PURE__*/function(){function e(e){this.color=void 0,this.h=void 0,this.s=void 0,this.l=void 0,this.color=z({a:1},e);var t=Math.max(this.color.r,this.color.g,this.color.b),r=Math.min(this.color.r,this.color.g,this.color.b),o=0,n=0,i=(t+r)/2;if(t==r)o=n=0;else{var a=t-r;switch(n=i>.5?a/(2-t-r):a/(t+r),t){case this.color.r:o=(this.color.g-this.color.b)/a+(this.color.g<this.color.b?6:0);break;case this.color.g:o=(this.color.b-this.color.r)/a+2;break;case this.color.b:o=(this.color.r-this.color.g)/a+4}o/=6}this.h=o,this.s=n,this.l=i}return e.prototype.toString=function(e){return void 0===e&&(e=!1),e?1!==this.alpha?this.hsla:this.hsl:1!==this.alpha?this.rgba:this.hex},j(e,[{key:"red",get:function(){return Math.round(255*this.color.r)}},{key:"green",get:function(){return Math.round(255*this.color.g)}},{key:"blue",get:function(){return Math.round(255*this.color.b)}},{key:"alpha",get:function(){return this.color.a}},{key:"hue",get:function(){return this.h}},{key:"saturation",get:function(){return this.s}},{key:"lightness",get:function(){return this.s}},{key:"hsl",get:function(){return"hsl("+this.hue+", "+this.saturation+", "+this.lightness+")"}},{key:"hsla",get:function(){return"hsla("+this.hue+", "+this.saturation+", "+this.lightness+", "+this.alpha+")"}},{key:"rgb",get:function(){return"rgb("+this.red+", "+this.green+", "+this.blue+")"}},{key:"rgba",get:function(){return"rgba("+this.red+", "+this.green+", "+this.blue+", "+this.alpha+")"}},{key:"hex",get:function(){return"#"+this.red.toString(16).padStart(2,"0")+this.green.toString(16).padStart(2,"0")+this.blue.toString(16).padStart(2,"0")}}])}(),Ne=[exports.NodeType.BooleanOperation,exports.NodeType.Ellipse,exports.NodeType.Line,exports.NodeType.Rectangle,exports.NodeType.RegularPolygon,exports.NodeType.Slice,exports.NodeType.Star,exports.NodeType.Vector,exports.NodeType.WashiTape],Fe=((Ee={})[exports.ExportFormat.JPG]="image/jpeg",Ee[exports.ExportFormat.PNG]="image/png",Ee[exports.ExportFormat.SVG]="image/svg+xml",Ee[exports.ExportFormat.PDF]="application/pdf",Ee),Ie=((ke={})[exports.TokenStyleTypes.Fill]="fills",ke[exports.TokenStyleTypes.Fills]="fills",ke[exports.TokenStyleTypes.Stroke]="strokes",ke[exports.TokenStyleTypes.Strokes]="strokes",ke[exports.TokenStyleTypes.Text]="style",ke[exports.TokenStyleTypes.Effect]="effects",ke),we="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function Le(e,t,r){if(!e.s){if(r instanceof Pe){if(!r.s)return void(r.o=Le.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(Le.bind(null,e,t),Le.bind(null,e,2));e.s=t,e.v=r;var o=e.o;o&&o(e)}}var Pe=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,r){var o=new e,n=this.s;if(n){var i=1&n?t:r;if(i){try{Le(o,1,i(this.v))}catch(e){Le(o,2,e)}return o}return this}return this.o=function(e){try{var n=e.v;1&e.s?Le(o,1,t?t(n):n):r?Le(o,1,r(n)):Le(o,2,n)}catch(e){Le(o,2,e)}},o},e}();function Ce(e){return e instanceof Pe&&1&e.s}function Oe(e,t,r){var o,n,i=-1;return function a(s){try{for(;++i<e.length&&(!r||!r());)if((s=t(i))&&s.then){if(!Ce(s))return void s.then(a,n||(n=Le.bind(null,o=new Pe,2)));s=s.v}o?Le(o,1,s):o=s}catch(e){Le(o||(o=new Pe),2,e)}}(),o}var Re="https://api.figma.com/v1",Me=new(/*#__PURE__*/function(){function e(){this.token=void 0,this.fileName=void 0,this.batchSize=25}var t=e.prototype;return t.setToken=function(e){this.token=e},t.setBatchSize=function(e){this.batchSize=e},t.getBatchSize=function(){return this.batchSize},t.getFigmaFile=function(e){try{var t=this;return Promise.resolve(function(){if(t.token)return t.fileName=e,Promise.resolve(fetch(Re+"/files/"+t.fileName,{method:"GET",headers:{"Content-Type":"application/json","Accept-Charset":"UTF-8","X-Figma-Token":t.token}})).then(function(e){return Promise.resolve(e.json())})}())}catch(e){return Promise.reject(e)}},t.getLocalVariables=function(){try{var e=this;return Promise.resolve(function(){if(e.token)return Promise.resolve(fetch(Re+"/files/"+e.fileName+"/variables/local",{method:"GET",headers:{"Content-Type":"application/json","Accept-Charset":"UTF-8","X-Figma-Token":e.token}})).then(function(e){return Promise.resolve(e.json())})}())}catch(e){return Promise.reject(e)}},t.getPublishedVariables=function(){try{var e=this;return Promise.resolve(function(){if(e.token)return Promise.resolve(fetch(Re+"/files/"+e.fileName+"/variables/published",{method:"GET",headers:{"Content-Type":"application/json","Accept-Charset":"UTF-8","X-Figma-Token":e.token}})).then(function(e){return Promise.resolve(e.json())})}())}catch(e){return Promise.reject(e)}},t.calculateSize=function(e){return(e instanceof ArrayBuffer?e.byteLength:e.length)/1024},t.calculateTotalSize=function(e){var t=this;return e.reduce(function(e,r){return e+t.calculateSize(r)},0).toFixed(2)+"Kb"},t.downloadBatchOfGraphicNodes=function(e,t,r){void 0===r&&(r=1);try{var o=this;void 0===t&&(t=exports.ExportFormat.SVG);var n={},i=function(){if(o.token)return ye.log("Creating export for "+e.length+" graphic nodes",exports.FigmaticSeverity.Debug),Promise.resolve(fetch(Re+"/images/"+o.fileName+"?ids="+e+"&scale="+r+"&format="+t,{method:"GET",headers:{"Content-Type":"application/json","Accept-Charset":"UTF-8","X-Figma-Token":o.token}})).then(function(e){return ye.log("Export created",exports.FigmaticSeverity.Debug),Promise.resolve(e.json()).then(function(e){return ye.log("Preparing download of "+Object.keys(e).length+" image files",exports.FigmaticSeverity.Debug),function(e,t){if("function"==typeof e[we]){var r,o,n,i=function(e){try{for(;!(r=a.next()).done;)if((e=t(r.value))&&e.then){if(!Ce(e))return void e.then(i,n||(n=Le.bind(null,o=new Pe,2)));e=e.v}o?Le(o,1,e):o=e}catch(e){Le(o||(o=new Pe),2,e)}},a=e[we]();if(i(),a.return){var s=function(e){try{r.done||a.return()}catch(e){}return e};if(o&&o.then)return o.then(s,function(e){throw s(e)});s()}return o}if(!("length"in e))throw new TypeError("Object is not iterable");for(var l=[],u=0;u<e.length;u++)l.push(e[u]);return Oe(l,function(e){return t(l[e])},void 0)}(Object.entries(e.images),function(e){var r=e[0],i=e[1];ye.log("Download of file "+i,exports.FigmaticSeverity.Debug);var a=function(){if(i)return Promise.resolve(fetch(i,{method:"GET",headers:{"Content-Type":Fe[t],"Accept-Charset":"UTF-8"}})).then(function(e){return Promise.resolve(t===exports.ExportFormat.SVG?e.text():e.arrayBuffer()).then(function(e){n[r]=e,ye.log("Download completed: "+o.calculateTotalSize([n[r]]),exports.FigmaticSeverity.Debug)})})}();if(a&&a.then)return a.then(function(){})})})})}();return Promise.resolve(i&&i.then?i.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},t.downloadGraphicNodes=function(e,t,r){void 0===r&&(r=1);try{var o=this;void 0===t&&(t=exports.ExportFormat.SVG);var n={},i=function(){if(o.token){for(var i=[];e.length>0;)i.push(e.splice(0,o.batchSize));ye.log("Graphic nodes will be downloaded in "+i.length+" batches",exports.FigmaticSeverity.Debug);var a=Oe(i,function(e){return ye.log("Start exporting batch "+(e+1)+"...",exports.FigmaticSeverity.Debug),Promise.resolve(o.downloadBatchOfGraphicNodes(i[e],t,r)).then(function(e){n=z({},n,e)})});if(a&&a.then)return a.then(function(){})}}();return Promise.resolve(i&&i.then?i.then(function(){return n}):n)}catch(e){return Promise.reject(e)}},e}());function Be(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var Ge=/*#__PURE__*/function(){function e(){}return e.prototype.log=function(e,t,r){void 0===t&&(t=exports.FigmaticSeverity.Info),ye.log(e,t,Date.now(),r)},e}(),Ve=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}J(t,e);var r=t.prototype;return r.getSvgData=function(e,t){void 0===t&&(t=1);try{var r=this;return Promise.resolve(Be(function(){return Promise.resolve(Me.downloadGraphicNodes([e],exports.ExportFormat.SVG,t)).then(function(e){var t=Object.values(e).shift();if("string"==typeof t)return t})},function(t){r.log('Download of graphic node "'+e+'" failed',exports.FigmaticSeverity.Error,{error:t})}))}catch(e){return Promise.reject(e)}},r.getImageData=function(e,t,r){void 0===r&&(r=1);try{var o=this;return Promise.resolve(Be(function(){return Promise.resolve(Me.downloadGraphicNodes([e],t,r)).then(function(e){var t=Object.values(e).shift();if(t instanceof ArrayBuffer)return t})},function(t){o.log('Download of graphic node "'+e+'" failed',exports.FigmaticSeverity.Error,{error:t})}))}catch(e){return Promise.reject(e)}},t}(Ge),_e=/*#__PURE__*/function(){return j(function(e,t){this.data=void 0,this.childrenIds=void 0,this.data=e,this.childrenIds=t},[{key:"children",get:function(){return this.childrenIds.map(function(e){return de.get(e)}).filter(function(e){return!!e})}},{key:"name",get:function(){return this.data.styles.name}},{key:"definition",get:function(){return this.data}}])}(),He=/*#__PURE__*/function(){function e(){}var t=e.prototype;return t.log=function(e,t,r){void 0===t&&(t=exports.FigmaticSeverity.Info),ye.log(e,t,Date.now(),r)},t.getParsedNode=function(e){return de.get(e)},e}(),We=new(/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}J(t,e);var r=t.prototype;return r.getByCollection=function(e){var t,r=this,o=ce.get(e);return(null==o||null==(t=o.variableIds)?void 0:t.map(function(e){return r.get(e)}).filter(function(e){return!!e}))||[]},r.getCollection=function(e){return ce.get(e)},r.getCollections=function(){return Array.from(ce.values())},r.setStyle=function(e,t){pe.set(e,t)},r.getStyle=function(e){var t=fe.get(e),r=pe.get(e);if(t&&r)return z({id:e},t,{data:r})},r.getStyles=function(){var e=this;return Array.from(fe.keys()).map(function(t){return e.getStyle(t)}).filter(function(e){return!!e})},r.getByKey=function(e){var t;if(e=(null==(t=e.split("/").shift())?void 0:t.replace("VariableID:",""))||"")return Array.from(this.values()).find(function(t){return t.key===e})},r.getModeName=function(e){var t;return null==(t=this.getCollections().reduce(function(e,t){return[].concat(e,t.modes)},[]).find(function(t){return t.modeId===e}))?void 0:t.name},r.resolveTokenVariable=function(e){var t=this,r=this.get(e)||this.getByKey(e);return r?Object.keys(r.valuesByMode).reduce(function(e,o){var n,i=r.valuesByMode[o];if(re(i)){var a=t.resolveTokenVariable(i.id);return z({},e,Object.keys(a).reduce(function(e,t){var r;return z({},e,((r={})[t!==o?o+"+"+t:t]=null==a?void 0:a[t],r))},{}))}return z({},e,((n={})[o]="object"==typeof i?new De(i):i,n))},{}):{}},r.clear=function(){e.prototype.clear.call(this),ce.clear(),fe.clear(),pe.clear()},t}(/*#__PURE__*/q(Map))),je=["id","type","children"],ze=/*#__PURE__*/function(){function e(e,t){if(this.nodeId=void 0,this.nodeType=void 0,this.data=void 0,this.childrenIds=void 0,this.parentId=void 0,oe(e)){var r=e.id,o=e.type,n=e.children,i=Z(e,je);this.nodeId=r,this.nodeType=o,this.parentId=t,this.data=z({},this.DefaultValues,i),this.childrenIds=null==n?void 0:n.map(function(e){return e.id})}}var t=e.prototype;return t.getTokens=function(e){var t;if(null!=(t=this.data)&&t.boundVariables){var r=this.data.boundVariables[e];return(Array.isArray(r)?r:r?[r]:[]).map(function(e){return We.get(e.id)}).filter(function(e){return!!e})}return[]},t.isDescendant=function(e){return!!e&&!!this.parent&&(this.parent.id===e||this.parent.isDescendant(e))},t.getNodesByType=function(e){var t=this;return he.getByType(e).filter(function(e){return e.isDescendant(t.id)})},j(e,[{key:"DefaultValues",get:function(){return{componentPropertyReferences:{},explicitVariableModes:{},rotation:0,visible:!0}}},{key:"id",get:function(){return this.nodeId}},{key:"type",get:function(){return this.nodeType}},{key:"name",get:function(){var e;return null==(e=this.data)?void 0:e.name}},{key:"definition",get:function(){return this.data}},{key:"valid",get:function(){return!!this.nodeId}},{key:"children",get:function(){var e;return(null==(e=this.childrenIds)?void 0:e.map(function(e){return he.get(e)}).filter(function(e){return!!e&&e.valid}))||[]}},{key:"parent",get:function(){return this.parentId?he.get(this.parentId):void 0}},{key:"isGraphicNode",get:function(){var e;return Ne.includes(this.nodeType)||se(this.data)&&(null==(e=this.data.exportSettings)?void 0:e.length)>0}},{key:"styles",get:function(){var e=z({},this.data);return ae(e)?Object.keys(e.styles).reduce(function(t,r){var o,n,i=null==(o=e.styles)?void 0:o[r],a=e[Ie[r]],s=Array.isArray(a)?a[0]:a;return i&&s?z({},t,((n={})[i]=s,n)):t},{}):{}}}])}(),Ue=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{effects:[],exportSettings:[],fills:[],isMask:!1,layoutGrow:0,locked:!1,opacity:1,preserveRatio:!1,strokeCap:exports.StrokeCap.None,strokeJoin:exports.StrokeJoin.Miter,strokeMiterAngle:28.96,strokes:[]})}}])}(ze),Je=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{exportSettings:[]})}}])}(ze),Xe=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{annotations:[],componentPropertyDefinitions:{},counterAxisAlignContent:exports.AxisAlign.Auto,counterAxisAlignItems:exports.AxisAlign.Min,counterAxisSpacing:0,effects:[],exportSettings:[],fills:[],isMask:!1,isMaskOutline:!1,itemReverseZIndex:!1,itemSpacing:0,layoutMode:exports.LayoutMode.None,layoutPositioning:exports.LayoutPositioning.Auto,layoutWrap:exports.LayoutWrap.NoWrap,locked:!1,opacity:1,overflowDirection:exports.OverflowDirection.None,paddingBottom:0,paddingLeft:0,paddingRight:0,paddingTop:0,preserveRatio:!1,primaryAxisAlignItems:exports.AxisAlign.Min,primaryAxisSizingMode:exports.AxisSizing.Auto,strokes:[],strokesIncludedInLayout:!1,styles:{}})}}])}(ze),Ze=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{annotations:[],componentPropertyDefinitions:{},counterAxisAlignContent:exports.AxisAlign.Auto,counterAxisAlignItems:exports.AxisAlign.Min,counterAxisSpacing:0,effects:[],exportSettings:[],fills:[],isMask:!1,isMaskOutline:!1,itemReverseZIndex:!1,itemSpacing:0,layoutMode:exports.LayoutMode.None,layoutPositioning:exports.LayoutPositioning.Auto,layoutWrap:exports.LayoutWrap.NoWrap,locked:!1,opacity:1,overflowDirection:exports.OverflowDirection.None,paddingBottom:0,paddingLeft:0,paddingRight:0,paddingTop:0,preserveRatio:!1,primaryAxisAlignItems:exports.AxisAlign.Min,primaryAxisSizingMode:exports.AxisSizing.Auto,strokes:[],strokesIncludedInLayout:!1,styles:{}})}}])}(ze),Ye=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),t}(ze),Ke=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{effects:[],exportSettings:[],fills:[],isMask:!1,layoutGrow:0,locked:!1,opacity:1,preserveRatio:!1,strokeCap:exports.StrokeCap.None,strokeJoin:exports.StrokeJoin.Miter,strokeMiterAngle:28.96,strokes:[]})}}])}(ze),qe=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{annotations:[],counterAxisAlignContent:exports.AxisAlign.Auto,counterAxisAlignItems:exports.AxisAlign.Min,counterAxisSpacing:0,effects:[],exportSettings:[],fills:[],isMask:!1,isMaskOutline:!1,itemReverseZIndex:!1,itemSpacing:0,layoutMode:exports.LayoutMode.None,layoutPositioning:exports.LayoutPositioning.Auto,layoutWrap:exports.LayoutWrap.NoWrap,locked:!1,opacity:1,overflowDirection:exports.OverflowDirection.None,paddingBottom:0,paddingLeft:0,paddingRight:0,paddingTop:0,preserveRatio:!1,primaryAxisAlignItems:exports.AxisAlign.Min,primaryAxisSizingMode:exports.AxisSizing.Auto,strokes:[],strokesIncludedInLayout:!1,styles:{}})}}])}(ze),Qe=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{annotations:[],counterAxisAlignContent:exports.AxisAlign.Auto,counterAxisAlignItems:exports.AxisAlign.Min,counterAxisSpacing:0,effects:[],exportSettings:[],fills:[],isMask:!1,isMaskOutline:!1,itemReverseZIndex:!1,itemSpacing:0,layoutMode:exports.LayoutMode.None,layoutPositioning:exports.LayoutPositioning.Auto,layoutWrap:exports.LayoutWrap.NoWrap,locked:!1,opacity:1,overflowDirection:exports.OverflowDirection.None,paddingBottom:0,paddingLeft:0,paddingRight:0,paddingTop:0,preserveRatio:!1,primaryAxisAlignItems:exports.AxisAlign.Min,primaryAxisSizingMode:exports.AxisSizing.Auto,strokes:[],strokesIncludedInLayout:!1,styles:{}})}}])}(ze),$e=["children"],et=/*#__PURE__*/function(e){function t(t,r){var o,n=[];if(oe(t)){var i=t.children;t=Z(t,$e),n=(null==i?void 0:i.map(function(e){return e.id}))||[]}return(o=e.call(this,t,r)||this).overrideIds=void 0,o.overrideIds=n,o}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{annotations:[],componentProperties:{},counterAxisAlignContent:exports.AxisAlign.Auto,counterAxisAlignItems:exports.AxisAlign.Min,counterAxisSpacing:0,effects:[],exportSettings:[],exposedInstances:[],fills:[],isExposedInstance:!1,isMask:!1,isMaskOutline:!1,itemReverseZIndex:!1,itemSpacing:0,layoutMode:exports.LayoutMode.None,layoutPositioning:exports.LayoutPositioning.Auto,layoutWrap:exports.LayoutWrap.NoWrap,locked:!1,opacity:1,overflowDirection:exports.OverflowDirection.None,overrides:[],paddingBottom:0,paddingLeft:0,paddingRight:0,paddingTop:0,preserveRatio:!1,primaryAxisAlignItems:exports.AxisAlign.Min,primaryAxisSizingMode:exports.AxisSizing.Auto,strokes:[],strokesIncludedInLayout:!1,styles:{}})}},{key:"overrides",get:function(){var e;return null==(e=this.overrideIds)?void 0:e.map(function(e){return he.get(e)}).filter(function(e){return!!e&&e.valid})}},{key:"component",get:function(){var e;return null!=(e=this.data)&&e.componentId?he.get(this.data.componentId):void 0}}])}(ze),tt=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{effects:[],exportSettings:[],fills:[],isMask:!1,layoutGrow:0,locked:!1,opacity:1,preserveRatio:!1,strokeCap:exports.StrokeCap.None,strokeJoin:exports.StrokeJoin.Miter,strokeMiterAngle:28.96,strokes:[]})}}])}(ze),rt=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{effects:[],exportSettings:[],fills:[],isMask:!1,layoutGrow:0,locked:!1,opacity:1,preserveRatio:!1,strokeCap:exports.StrokeCap.None,strokeJoin:exports.StrokeJoin.Miter,strokeMiterAngle:28.96,strokes:[]})}}])}(ze),ot=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{effects:[],exportSettings:[],fills:[],isMask:!1,layoutGrow:0,locked:!1,opacity:1,preserveRatio:!1,strokeCap:exports.StrokeCap.None,strokeJoin:exports.StrokeJoin.Miter,strokeMiterAngle:28.96,strokes:[]})}}])}(ze),nt=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{fills:[],strokes:[]})}}])}(ze),it=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{effects:[],exportSettings:[],fills:[],isMask:!1,layoutGrow:0,locked:!1,opacity:1,preserveRatio:!1,strokeCap:exports.StrokeCap.None,strokeJoin:exports.StrokeJoin.Miter,strokeMiterAngle:28.96,strokes:[]})}}])}(ze),at=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{locked:!1,exportSettings:[],preserveRatio:!1,layoutGrow:0,opacity:1,fills:[],strokes:[],effects:[],isMask:!1,strokeCap:exports.StrokeCap.None,strokeJoin:exports.StrokeJoin.Miter,strokeMiterAngle:28.96})}},{key:"content",get:function(){var e;return(null==(e=this.data)?void 0:e.characters)||""}}])}(ze),st=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{locked:!1,exportSettings:[],preserveRatio:!1,layoutGrow:0,opacity:1,fills:[],strokes:[],effects:[],isMask:!1,strokeCap:exports.StrokeCap.None,strokeJoin:exports.StrokeJoin.Miter,strokeMiterAngle:28.96})}}])}(ze),lt=/*#__PURE__*/function(e){function t(){return e.apply(this,arguments)||this}return J(t,e),j(t,[{key:"DefaultValues",get:function(){return z({},e.prototype.DefaultValues,{effects:[],exportSettings:[],fills:[],isMask:!1,layoutGrow:0,locked:!1,opacity:1,preserveRatio:!1,strokeCap:exports.StrokeCap.None,strokeJoin:exports.StrokeJoin.Miter,strokeMiterAngle:28.96,strokes:[]})}}])}(ze),ut="undefined"!=typeof Symbol?Symbol.iterator||(Symbol.iterator=Symbol("Symbol.iterator")):"@@iterator";function ct(e,t,r){if(!e.s){if(r instanceof pt){if(!r.s)return void(r.o=ct.bind(null,e,t));1&t&&(t=r.s),r=r.v}if(r&&r.then)return void r.then(ct.bind(null,e,t),ct.bind(null,e,2));e.s=t,e.v=r;var o=e.o;o&&o(e)}}var pt=/*#__PURE__*/function(){function e(){}return e.prototype.then=function(t,r){var o=new e,n=this.s;if(n){var i=1&n?t:r;if(i){try{ct(o,1,i(this.v))}catch(e){ct(o,2,e)}return o}return this}return this.o=function(e){try{var n=e.v;1&e.s?ct(o,1,t?t(n):n):r?ct(o,1,r(n)):ct(o,2,n)}catch(e){ct(o,2,e)}},o},e}();function ft(e){return e instanceof pt&&1&e.s}var dt=new(/*#__PURE__*/function(){function e(){}var t=e.prototype;return t.parseComponents=function(e,t,r){void 0===t&&(t={}),void 0===r&&(r={});var o=Object.keys(r).filter(function(e){return!r[e].componentSetId}).map(function(t){return{nodeId:t,name:r[t].name,description:r[t].description,variants:[],fileName:e}}),n=Object.keys(t).map(function(o){var n=Object.keys(r).filter(function(e){return r[e].componentSetId===o}).map(function(e){return{nodeId:e,name:r[e].name,description:r[e].description}});return{nodeId:o,name:t[o].name,description:t[o].description,variants:n,fileName:e}});[].concat(o,n).forEach(function(e){var t=new ge(e);be.set(e.nodeId,t),e.variants.forEach(function(e){return be.set(e.nodeId,t)})})},t.parseNodes=function(e,t,r){var o,n=this;if(ne(e,exports.NodeType.BooleanOperation)&&(o=new Ue(e,r)),ne(e,exports.NodeType.Canvas)&&(!oe(e)||t&&0!==t.length&&!t.some(function(t){return t instanceof RegExp?t.test(e.name):t.toLowerCase()===e.name.toLowerCase()})||(o=new Je(e,r))),ne(e,exports.NodeType.ComponentSet)&&(o=new Ze(e,r)),ne(e,exports.NodeType.Component)&&(o=new Xe(e,r)),ne(e,exports.NodeType.Document)&&(o=new Ye(e,r)),ne(e,exports.NodeType.Ellipse)&&(o=new Ke(e,r)),ne(e,exports.NodeType.Frame)&&(o=new qe(e,r)),ne(e,exports.NodeType.Group)&&(o=new Qe(e,r)),ne(e,exports.NodeType.Instance)&&(o=new et(e,r)),ne(e,exports.NodeType.Line)&&(o=new tt(e,r)),ne(e,exports.NodeType.Rectangle)&&(o=new rt(e,r)),ne(e,exports.NodeType.RegularPolygon)&&(o=new ot(e,r)),ne(e,exports.NodeType.Section)&&(o=new nt(e,r)),ne(e,exports.NodeType.Star)&&(o=new it(e,r)),ne(e,exports.NodeType.Text)&&(o=new at(e,r)),ne(e,exports.NodeType.Vector)&&(o=new st(e,r)),ne(e,exports.NodeType.WashiTape)&&(o=new lt(e,r)),o&&o.id){var i,a=o.id;if(he.set(a,o),o.name){var s=ue.get(o.name)||[];ue.set(o.name,[].concat(s,[a]))}Object.entries(o.styles).map(function(e){We.setStyle(e[0],e[1])}),oe(e)&&(null==(i=e.children)||i.forEach(function(e){return n.parseNodes(e,t,a)}))}},t.parseTokens=function(e,t){void 0===t&&(t={}),null!=e&&e.meta&&(Object.values(e.meta.variables).forEach(function(e){We.set(e.id,e)}),Object.values(e.meta.variableCollections).forEach(function(e){ce.set(e.id,e)}),Object.entries(t).forEach(function(e){fe.set(e[0],e[1])}))},t.generateParsedNodes=function(e){try{return Promise.resolve(function(e,t){if("function"==typeof e[ut]){var r,o,n,i=e[ut]();if(function e(a){try{for(;!(r=i.next()).done;)if((a=t(r.value))&&a.then){if(!ft(a))return void a.then(e,n||(n=ct.bind(null,o=new pt,2)));a=a.v}o?ct(o,1,a):o=a}catch(e){ct(o||(o=new pt),2,e)}}(),i.return){var a=function(e){try{r.done||i.return()}catch(e){}return e};if(o&&o.then)return o.then(a,function(e){throw a(e)});a()}return o}if(!("length"in e))throw new TypeError("Object is not iterable");for(var s=[],l=0;l<e.length;l++)s.push(e[l]);return function(e,t){var r,o,n=-1;return function i(a){try{for(;++n<e.length;)if((a=t(n))&&a.then){if(!ft(a))return void a.then(i,o||(o=ct.bind(null,r=new pt,2)));a=a.v}r?ct(r,1,a):r=a}catch(e){ct(r||(r=new pt),2,e)}}(),r}(s,function(e){return t(s[e])})}(he.values(),function(t){var r=t.type,o=t.id,n=function(){if(r&&o&&ie(t,r)){var n=function(){if(t.isGraphicNode&&e.graphicParser){var n=function(r){if(null==(r=t.parent)||!r.isGraphicNode)return Promise.resolve(e.graphicParser.parse(t)).then(function(e){de.set(o,new _e(e,[]))})}();if(n&&n.then)return n.then(function(){})}else{var i=e.parsers[r],a=function(){if(i)return Promise.resolve(i.parse(t)).then(function(e){var r=t.children.map(function(e){return e.id}).filter(function(e){return!!e})||[],n=new _e(e,r);de.set(o,n)})}();if(a&&a.then)return a.then(function(){})}}();if(n&&n.then)return n.then(function(){})}}();if(n&&n.then)return n.then(function(){})}))}catch(e){return Promise.reject(e)}},e}());function ht(e,t){try{var r=e()}catch(e){return t(e)}return r&&r.then?r.then(void 0,t):r}var gt=new(/*#__PURE__*/function(){function e(){this.file=void 0,this.branch=void 0,this.pageFilters=void 0,this.data=new Map,this.variables=new Map}var t=e.prototype;return t.getDuration=function(e,t){var r=t-e;return Math.floor(r/1e3/60).toString().padStart(2,"0")+":"+Math.floor(r/1e3%60).toString().padStart(2,"0")+"."+Math.floor(r%1e3).toString().padStart(3,"0")},t.subscribe=function(e,t,r){return ye.channel.subscribe(e,t,r)},t.load=function(e,t,r){try{var o=function(){n.parseFigmaFile();var e=Date.now();ye.channel.publish(exports.FigmaticEvents.LoadCompleted),ye.log("Loading completed:\n\t- Duration: "+n.getDuration(i,e),exports.FigmaticSeverity.Info,e)},n=this;n.file=e,n.branch=void 0,n.pageFilters=r,Me.setToken(t);var i=Date.now();ye.channel.publish(exports.FigmaticEvents.LoadStarted),ye.log('Load Figma file "'+e+'" started',exports.FigmaticSeverity.Info,i);var a=function(){if(!n.data.get(e))return Promise.resolve(n.downloadSelectedBranch()).then(function(){})}();return Promise.resolve(a&&a.then?a.then(o):o())}catch(e){return Promise.reject(e)}},t.downloadBranch=function(e){try{var t=function(t){var o=ht(function(){return ye.channel.publish(exports.FigmaticEvents.TokensDownloadStarted,{branch:e}),ye.log('Download of tokens for "'+e+'" started',exports.FigmaticSeverity.Debug),Promise.resolve(Me.getLocalVariables()).then(function(t){return Promise.resolve(Me.getPublishedVariables()).then(function(o){var n,i,a,s;r.variables.set(e,{meta:{variables:z({},null==o||null==(n=o.meta)?void 0:n.variables,null==t||null==(i=t.meta)?void 0:i.variables),variableCollections:z({},null==o||null==(a=o.meta)?void 0:a.variableCollections,null==t||null==(s=t.meta)?void 0:s.variableCollections)}}),ye.channel.publish(exports.FigmaticEvents.TokensDownloadCompleted,{branch:e}),ye.log('Download of tokens for branch "'+e+'" completed',exports.FigmaticSeverity.Debug)})})},function(t){ye.channel.publish(exports.FigmaticEvents.TokensDownloadFailed,t),ye.log('Download of tokens for branch "'+e+'" failed',exports.FigmaticSeverity.Error,Date.now(),{error:t})});if(o&&o.then)return o.then(function(){})},r=this,o=ht(function(){return ye.channel.publish(exports.FigmaticEvents.BranchDownloadStarted,{branch:e}),ye.log('Download of branch "'+e+'" started',exports.FigmaticSeverity.Debug),Promise.resolve(Me.getFigmaFile(e)).then(function(t){if(!t)throw new Error("File not downloaded");r.data.set(e,t),ye.channel.publish(exports.FigmaticEvents.BranchDownloadCompleted,{branch:e}),ye.log('Download of branch "'+e+'" completed',exports.FigmaticSeverity.Debug)})},function(t){ye.channel.publish(exports.FigmaticEvents.BranchDownloadFailed,t),ye.log('Download of branch "'+e+'" failed',exports.FigmaticSeverity.Error,Date.now(),{error:t})});return Promise.resolve(o&&o.then?o.then(t):t())}catch(e){return Promise.reject(e)}},t.downloadSelectedBranch=function(){try{var e=this;return e.selectedBranch?Promise.resolve(e.downloadBranch(e.selectedBranch)):Promise.resolve()}catch(e){return Promise.reject(e)}},t.parseFigmaFile=function(){if(this.selectedBranch){var e=this.data.get(this.selectedBranch),t=this.variables.get(this.selectedBranch);if(e){try{var r=Date.now();ye.channel.publish(exports.FigmaticEvents.ParseNodesStarted),ye.log('Parsing of nodes for "'+this.selectedBranch+'" started',exports.FigmaticSeverity.Debug,r,{filters:this.pageFilters}),dt.parseNodes(e.document,this.pageFilters);var o=Date.now();ye.channel.publish(exports.FigmaticEvents.ParseNodesCompleted),ye.log('Parsing of nodes for "'+this.selectedBranch+'" completed:\n\t- Total nodes: '+he.size+"\n\t- Pages: "+he.getByType(exports.NodeType.Canvas).length+"\n\t- Duration: "+this.getDuration(r,o),exports.FigmaticSeverity.Info,o,{filters:this.pageFilters})}catch(e){ye.channel.publish(exports.FigmaticEvents.ParseNodesFailed,e),ye.log('Parsing of nodes for branch "'+this.selectedBranch+'" failed',exports.FigmaticSeverity.Error,Date.now(),{error:e})}try{ye.channel.publish(exports.FigmaticEvents.ParseComponentsStarted),ye.log('Parsing of components for "'+this.selectedBranch+'" started',exports.FigmaticSeverity.Debug),dt.parseComponents(this.selectedBranch,e.componentSets,e.components),ye.channel.publish(exports.FigmaticEvents.ParseComponentsCompleted),ye.log('Parsing of components for "'+this.selectedBranch+'" completed:\n\t- Total components: '+be.size)}catch(e){ye.channel.publish(exports.FigmaticEvents.ParseComponentsFailed,e),ye.log('Parsing of components for branch "'+this.selectedBranch+'" failed',exports.FigmaticSeverity.Error,Date.now(),{error:e})}try{ye.channel.publish(exports.FigmaticEvents.ParseTokensStarted),ye.log('Parsing of tokens for "'+this.selectedBranch+'" started',exports.FigmaticSeverity.Debug),t&&dt.parseTokens(t,e.styles),ye.channel.publish(exports.FigmaticEvents.ParseTokensCompleted),ye.log('Parsing of tokens for "'+this.selectedBranch+'" completed:\n\t- Total tokens: '+We.size+"\n\t- Collections: "+We.getCollections().length+"\n\t- Styles: "+We.getStyles().length,exports.FigmaticSeverity.Info)}catch(e){ye.channel.publish(exports.FigmaticEvents.ParseTokensFailed,e),ye.log('Parsing of tokens for branch "'+this.selectedBranch+'" failed',exports.FigmaticSeverity.Error,Date.now(),{error:e})}}}},t.clear=function(){he.clear(),be.clear(),We.clear()},t.downloadGraphics=function(e,t,r){void 0===r&&(r=1);try{var o,n=function(e){return o?e:{}},i=this;void 0===t&&(t=exports.ExportFormat.SVG);var a=function(){if(i.selectedBranch)return ht(function(){var n=Date.now(),a=e.map(function(e){return e.name||e.id}).filter(function(e){return!!e});ye.channel.publish(exports.FigmaticEvents.GraphicDownloadStarted,{nodes:a,format:t,scale:r}),ye.log("Download of graphic elements started",exports.FigmaticSeverity.Info,n);var s=e.map(function(e){return e.id}).filter(function(e){return!!e});return Promise.resolve(Me.downloadGraphicNodes(s,t,r)).then(function(e){var s=Date.now();return ye.channel.publish(exports.FigmaticEvents.GraphicDownloadCompleted,{nodes:a,format:t,scale:r}),ye.log("Download of graphic elements completed:\n\t- Total downloads: "+Object.keys(e).length+"\n\t- Duration: "+i.getDuration(n,s)+"\n\t- Total Size: "+Me.calculateTotalSize(Object.values(e)),exports.FigmaticSeverity.Info,n),o=1,e})},function(e){ye.channel.publish(exports.FigmaticEvents.GraphicDownloadFailed,e),ye.log("Download of graphic elements failed",exports.FigmaticSeverity.Error,Date.now(),{error:e})})}();return Promise.resolve(a&&a.then?a.then(n):n(a))}catch(e){return Promise.reject(e)}},t.selectBranch=function(e){try{var t=this,r=function(){if(e!==t.branch&&t.file){if(e){var r=t.data.get(t.file);null!=r&&r.branches.map(function(e){return e.name}).includes(e)&&(t.branch=e)}else t.branch=void 0;var o=function(){if(t.selectedBranch&&!t.data.get(t.selectedBranch)){var e=Date.now();return ye.channel.publish(exports.FigmaticEvents.SwitchBranchStarted,{branch:t.selectedBranch}),ye.log('Switch to branch "'+t.selectedBranch+'" started',exports.FigmaticSeverity.Info,e),Promise.resolve(t.downloadSelectedBranch()).then(function(){t.parseFigmaFile();var r=Date.now();ye.channel.publish(exports.FigmaticEvents.SwitchBranchCompleted,{branch:t.selectedBranch}),ye.log('Switch to branch "'+t.selectedBranch+'" completed: '+t.getDuration(e,r),exports.FigmaticSeverity.Info,r)})}}();if(o&&o.then)return o.then(function(){})}}();return Promise.resolve(r&&r.then?r.then(function(){}):void 0)}catch(e){return Promise.reject(e)}},t.registerExportPlugin=function(e,t){void 0===t&&(t="default"),be.registerExportPlugin(e,t)},t.generateExport=function(e){void 0===e&&(e="default");try{va