UNPKG

@lordicon/element

Version:

This package offers developers a convenient method for embedding, controlling, and customizing animated icons from Lordicon within web projects.

1 lines 334 kB
(function(){"use strict";function e(t){return JSON.parse(JSON.stringify(t))}function f(t){return null==t}function r(t){return null!==t&&"object"==typeof t}function t(t,e,i){const s=Array.isArray(e)?e:e.split(".");let a=t;for(const t of s){if(!r(a))return i;if(!(t in a))return i;a=a[t]}return void 0===a?i:a}function a(t,e,i){let r=t;const s=Array.isArray(e)?e:e.split(".");for(let t=0;t<s.length;++t)t===s.length-1?r[s[t]]=i:r=r[s[t]]}const o={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4","indianred ":"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function i(t){return t.startsWith("#")?4===t.length?`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`:t:o[t.toLowerCase()]||"#000000"}function l(t){if(t&&"string"==typeof t)return t.split(",").filter((t=>t)).map((t=>t.split(":"))).filter((t=>2==t.length)).reduce(((t,e)=>(t[e[0].toLowerCase()]=i(e[1]),t)),{})}function d(t){return"light"===t||1===t||"1"===t?1:"regular"===t||2===t||"2"===t?2:"bold"===t||3===t||"3"===t?3:"number"==typeof t||"string"==typeof t?+t:void 0}function c(t){if("string"==typeof t)return t}function u(t){const e=t.toString(16);return 1==e.length?"0"+e:e}function s(t){return Math.round(t/255*1e3)/1e3}function b(t){return Math.round(255*t)}function g(t){const{r:e,g:i,b:r}=function(t){let e=parseInt("#"!=t[0]?t:t.substring(1),16);return{r:e>>16&255,g:e>>8&255,b:255&e}}(t);return[s(e),s(i),s(r)]}function h(t){return function(t){return"#"+u(t.r)+u(t.g)+u(t.b)}({r:b(t[0]),g:b(t[1]),b:b(t[2])})}function p(t,{lottieInstance:e}={}){const i=[];return t&&t.layers?(t.layers.forEach(((t,r)=>{t.nm&&t.ef&&t.ef.forEach(((t,s)=>{const a=t?.ef?.[0]?.v?.k;if(void 0===a)return;let n,o;if(n=e?`renderer.elements.${r}.effectsManager.effectElements.${s}.effectElements.0.p.v`:`layers.${r}.ef.${s}.ef.0.v.k`,"ADBE Color Control"===t.mn?o="color":"ADBE Slider Control"===t.mn?o="slider":"ADBE Point Control"===t.mn?o="point":"ADBE Checkbox Control"===t.mn?o="checkbox":t.mn.startsWith("Pseudo/")&&(o="feature"),!o)return;const h=t.nm.toLowerCase();i.push({name:h,path:n,value:a,type:o})}))})),i):i}function y(t,e){for(const i of e)a(t,i.path,i.value)}function m(t,e,r){for(const n of e)"color"===n.type?"object"==typeof r&&"r"in r&&"g"in r&&"b"in r?a(t,n.path,[s(r.r),s(r.g),s(r.b)]):Array.isArray(r)?a(t,n.path,r):"string"==typeof r&&a(t,n.path,g(i(r))):"point"===n.type?"object"==typeof r&&"x"in r&&"y"in r?(a(t,n.path+".0",r.x),a(t,n.path+".1",r.y)):Array.isArray(r)&&(a(t,n.path+".0",r[0]),a(t,n.path+".1",r[1])):a(t,n.path,r)}const INTERSECTION_LOADING_EVENTS=["click","mouseenter","mouseleave"],SUPPORTS_ADOPTING_STYLE_SHEETS="adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,ELEMENT_STYLE="\n :host {\n position: relative;\n display: inline-block;\n width: 32px;\n height: 32px;\n transform: translate3d(0px, 0px, 0px);\n }\n\n :host(.current-color) svg path[fill] {\n fill: currentColor;\n }\n\n :host(.current-color) svg path[stroke] {\n stroke: currentColor;\n }\n\n svg {\n position: absolute;\n pointer-events: none;\n display: block;\n transform: unset!important;\n }\n\n ::slotted(*) {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n }\n\n .body.ready ::slotted(*) {\n display: none;\n }\n";let styleSheet=null;const OBSERVED_ATTRIBUTES=["colors","src","icon","state","trigger","loading","target","stroke"];class Element extends HTMLElement{static _iconLoader;static _playerFactory;static _definedTriggers=new Map;static get version(){return"1.10.1"}static get observedAttributes(){return OBSERVED_ATTRIBUTES}static setIconLoader(t){Element._iconLoader=t}static setPlayerFactory(t){Element._playerFactory=t}static defineTrigger(t,e){Element._definedTriggers.set(t,e)}_root;_isConnected=!1;_isReady=!1;_assignedIconData;_loadedIconData;_triggerInstance;_playerInstance;delayedLoading=null;attributeChangedCallback(t,e,i){this[`${t}Changed`].call(this)}connectedCallback(){if(this._root||this.createElements(),"lazy"===this.loading){let t;this.delayedLoading=e=>{t.unobserve(this),t=void 0,this.delayedLoading=null,e||this.createPlayer()};t=new IntersectionObserver(((e,i)=>{e.forEach((e=>{e.isIntersecting&&t&&this.delayedLoading&&this.delayedLoading()}))})),t.observe(this)}else if("interaction"===this.loading){let t;this.delayedLoading=r=>{for(const t of INTERSECTION_LOADING_EVENTS)(e||this).removeEventListener(t,i);this.delayedLoading=null,r||this.createPlayer().then((()=>{t&&(e||this).dispatchEvent(new Event(t))}))};const e=this.target?this.closest(this.target):null;let i=e=>{const i=e?.type;t?t=i:(t=i,this.delayedLoading&&this.delayedLoading())};i=i.bind(this);for(const t of INTERSECTION_LOADING_EVENTS)(e||this).addEventListener(t,i)}else if("delay"===this.loading){this.delayedLoading=t=>{this.delayedLoading=null,t||this.createPlayer()};const t=this.hasAttribute("delay")?+this.getAttribute("delay"):0;setTimeout((()=>{this.delayedLoading&&this.delayedLoading()}),t)}else this.createPlayer();this._isConnected=!0}disconnectedCallback(){this.delayedLoading&&this.delayedLoading(!0),this.destroyPlayer(),this._isConnected=!1}createElements(){if(this._root=this.attachShadow({mode:"open"}),SUPPORTS_ADOPTING_STYLE_SHEETS)styleSheet||(styleSheet=new CSSStyleSheet,styleSheet.replaceSync(ELEMENT_STYLE)),this._root.adoptedStyleSheets=[styleSheet];else{const t=document.createElement("style");t.innerHTML=ELEMENT_STYLE,this._root.appendChild(t)}const t=document.createElement("div");t.classList.add("body"),this._root.appendChild(t);const e=document.createElement("slot");t.appendChild(e)}async createPlayer(){if(!Element._playerFactory)throw new Error("Missing player loader!");if(this.delayedLoading)return;const t=await this.loadIconData();if(!t)return;this._playerInstance=Element._playerFactory(this.animationContainer,t,{state:c(this.state),stroke:d(this.stroke),colors:l(this.colors),scale:parseFloat(""+this.getAttribute("scale")||""),axisX:parseFloat(""+this.getAttribute("axis-x")||""),axisY:parseFloat(""+this.getAttribute("axis-y")||"")});const e=Object.entries(this._playerInstance.colors||{});if(e.length){let t="";for(const[i,r]of e)t+=`\n :host(:not(.current-color)) svg path[fill].${i} {\n fill: var(--lord-icon-${i}, var(--lord-icon-${i}-base, #000));\n }\n \n :host(:not(.current-color)) svg path[stroke].${i} {\n stroke: var(--lord-icon-${i}, var(--lord-icon-${i}-base, #000));\n }\n `;const i=document.createElement("style");i.innerHTML=t,this.animationContainer.appendChild(i)}this._playerInstance.connect(),this._playerInstance.addEventListener("ready",(()=>{this._triggerInstance&&this._triggerInstance.onReady&&this._triggerInstance.onReady()})),this._playerInstance.addEventListener("refresh",(()=>{this.refresh(),this._triggerInstance&&this._triggerInstance.onRefresh&&this._triggerInstance.onRefresh()})),this._playerInstance.addEventListener("complete",(()=>{this._triggerInstance&&this._triggerInstance.onComplete&&this._triggerInstance.onComplete()})),this._playerInstance.addEventListener("frame",(()=>{this._triggerInstance&&this._triggerInstance.onFrame&&this._triggerInstance.onFrame()})),this.refresh(),this.triggerChanged(),await new Promise(((t,e)=>{this._playerInstance.isReady?t():this._playerInstance.addEventListener("ready",t)})),this.animationContainer.classList.add("ready"),this._isReady=!0,this.dispatchEvent(new CustomEvent("ready"))}destroyPlayer(){this._isReady=!1,this._loadedIconData=void 0,this._triggerInstance&&(this._triggerInstance.onDisconnected&&this._triggerInstance.onDisconnected(),this._triggerInstance=void 0),this._playerInstance&&(this._playerInstance.disconnect(),this._playerInstance=void 0,this.animationContainer.classList.remove("ready"))}async loadIconData(){let t=this.iconData;if(!t)if(this.icon&&Element._iconLoader)this._loadedIconData=t=await Element._iconLoader(this.icon);else if(this.src){const e=await fetch(this.src);this._loadedIconData=t=await e.json()}return t}refresh(){this.movePaletteToCssVariables()}movePaletteToCssVariables(){for(const[t,e]of Object.entries(this._playerInstance.colors||{}))e?this.animationContainer.style.setProperty(`--lord-icon-${t}-base`,e):this.animationContainer.style.removeProperty(`--lord-icon-${t}-base`)}targetChanged(){this.triggerChanged()}loadingChanged(){}triggerChanged(){if(this._triggerInstance&&(this._triggerInstance.onDisconnected&&this._triggerInstance.onDisconnected(),this._triggerInstance=void 0,this._playerInstance?.pause()),!this.trigger||!this._playerInstance)return;const t=Element._definedTriggers.get(this.trigger);if(!t)throw new Error("Can't use unregistered trigger!");const e=this.target?this.closest(this.target):null;this._triggerInstance=new t(this._playerInstance,this,e||this),this._triggerInstance.onConnected&&this._triggerInstance.onConnected(),this._playerInstance.isReady&&this._triggerInstance.onReady&&this._triggerInstance.onReady()}colorsChanged(){this._playerInstance&&(this._playerInstance.colors=l(this.colors)||null)}strokeChanged(){this._playerInstance&&(this._playerInstance.stroke=d(this.stroke)||null)}stateChanged(){this._playerInstance&&(this._playerInstance.state=this.state)}iconChanged(){this._isConnected&&(this.destroyPlayer(),this.createPlayer())}srcChanged(){this._isConnected&&(this.destroyPlayer(),this.createPlayer())}set icon(t){const e=this._assignedIconData;t&&r(t)?(this._assignedIconData=t,e!==t&&(this.hasAttribute("icon")?this.removeAttribute("icon"):this.iconChanged())):(this._assignedIconData=void 0,t&&"string"==typeof t?this.setAttribute("icon",t):this.hasAttribute("icon")?this.removeAttribute("icon"):e&&this.iconChanged())}get icon(){return this._assignedIconData||this.getAttribute("icon")}set src(t){t?this.setAttribute("src",t):this.removeAttribute("src")}get src(){return this.getAttribute("src")}set state(t){t?this.setAttribute("state",t):this.removeAttribute("state")}get state(){return this.getAttribute("state")}set colors(t){t?this.setAttribute("colors",t):this.removeAttribute("colors")}get colors(){return this.getAttribute("colors")}set trigger(t){t?this.setAttribute("trigger",t):this.removeAttribute("trigger")}get trigger(){return this.getAttribute("trigger")}set loading(t){t?this.setAttribute("loading",t):this.removeAttribute("loading")}get loading(){if(this.getAttribute("loading")){const t=this.getAttribute("loading").toLowerCase();if("lazy"===t)return"lazy";if("interaction"===t)return"interaction";if("delay"===t)return"delay"}return null}set target(t){t?this.setAttribute("target",t):this.removeAttribute("target")}get target(){return this.getAttribute("target")}set stroke(t){t?this.setAttribute("stroke",t):this.removeAttribute("stroke")}get stroke(){return this.hasAttribute("stroke")?this.getAttribute("stroke"):null}set iconData(t){t!==this._assignedIconData&&(this._assignedIconData=t,this.iconChanged())}get iconData(){return this._assignedIconData||this._loadedIconData}get isReady(){return this._isReady}get playerInstance(){return this._playerInstance}get triggerInstance(){return this._triggerInstance}get animationContainer(){return this._root.lastElementChild}}const DEFAULT_LOTTIE_WEB_OPTIONS={renderer:"svg",loop:!1,autoplay:!1,rendererSettings:{preserveAspectRatio:"xMidYMid meet",progressiveLoad:!0,hideOnTransparent:!0}};function createColorsProxy(){return new Proxy(this,{set:(t,e,i,r)=>("string"==typeof e&&(i?m(this.lottie,this.rawProperties.filter((t=>"color"===t.type&&t.name===e)),i):y(this.lottie,this.rawProperties.filter((t=>"color"===t.type&&t.name===e))),t.refresh()),!0),get:(e,i,r)=>{for(const r of e.rawProperties)if("color"==r.type&&"string"==typeof i&&i==r.name){const e=t(this.lottie,r.path);if(e)return h(e)}},deleteProperty:(t,e)=>("string"==typeof e&&(y(this.lottie,this.rawProperties.filter((t=>"color"===t.type&&t.name===e))),t.refresh()),!0),ownKeys:t=>t.rawProperties.filter((t=>"color"==t.type)).map((t=>t.name)),has:(t,e)=>{for(const i of t.rawProperties)if("color"==i.type&&"string"==typeof e&&e==i.name)return!0;return!1},getOwnPropertyDescriptor:t=>({enumerable:!0,configurable:!0})})}class Player{_animationLoader;_container;_iconData;_initial;_options;_lottie;_isReady=!1;_colorsProxy;_direction=1;_speed=1;_rawProperties;_eventCallbacks={};_state;_states;constructor(t,i,r,s,n){if(this._animationLoader=t,this._container=i,this._iconData=r,this._initial=s||{},this._options=n||DEFAULT_LOTTIE_WEB_OPTIONS,this._states=(r.markers||[]).map((t=>{const[e,i]=t.cm.split(":"),r={time:t.tm,duration:t.dr,name:i||e,default:!(!i||!e.includes("default"))};return(r.name===this._initial.state||r.default&&f(this._initial.state))&&(this._state=r),r})).filter((t=>t.duration>0)),this._states.length&&(this._initial.stroke&&![1,2,3,"light","regular","bold"].includes(this._initial.stroke)&&delete this._initial.stroke,this._initial.state&&!this._state&&(this._state=this._states.filter((t=>t.default))[0])),!this._states.length){this._iconData=e(this._iconData);const t=p(this._iconData,{lottieInstance:!1});if(t&&this._initial.state){const e=`state-${this._initial.state.toLowerCase()}`;m(this._iconData,t.filter((t=>t.name.startsWith("state-"))),0),m(this._iconData,t.filter((t=>t.name===e)),1)}if(t&&this._initial.stroke){const e=t.filter((t=>"stroke"===t.name))[0];if(e){const t=e.value/50,i=this._initial.stroke*t;a(this._iconData,e.path,i)}}if(t&&this._initial.scale){const e=t.filter((t=>"scale"===t.name))[0];if(e){const t=e.value/50,i=this._initial.scale*t;a(this._iconData,e.path,i)}}if(t&&this._initial.axisX&&this._initial.axisY){const e=t.filter((t=>"axis"===t.name))[0];if(e){const t=(e.value[0]+e.value[1])/2/50;a(this._iconData,e.path+".0",this._initial.axisX*t),a(this._iconData,e.path+".1",this._initial.axisY*t)}}}}connect(){if(this._lottie)throw new Error("Already connected player!");const t={},i={};if(this._state&&(i.initialSegment=[this._state.time,this._state.time+this._state.duration+1]),this._states.length){const e=this._states[0],i=this._states[this._states.length-1];t.ip=e.time,t.op=i.time+i.duration+1}this._lottie=this._animationLoader({...this._options,...i,container:this._container,animationData:Object.assign(e(this._iconData),t)}),this._initial.colors&&(this.colors=this._initial.colors),this._initial.stroke&&(this.stroke=this._initial.stroke),this._lottie.addEventListener("complete",(t=>{this.triggerEvent("complete")})),this._lottie.addEventListener("loopComplete",(()=>{this.triggerEvent("complete")})),this._lottie.addEventListener("enterFrame",(t=>{this.triggerEvent("frame")})),this._lottie.isLoaded?(this._isReady=!0,this.triggerEvent("ready")):this._lottie.addEventListener("config_ready",(()=>{this._isReady=!0,this.triggerEvent("ready")}))}disconnect(){if(!this._lottie)throw new Error("Not connected player!");this._isReady=!1,this._lottie.destroy(),this._lottie=void 0,this._colorsProxy=void 0,this._rawProperties=void 0}addEventListener(t,e){return this._eventCallbacks[t]||(this._eventCallbacks[t]=[]),this._eventCallbacks[t].push(e),()=>{this.removeEventListener(t,e)}}removeEventListener(t,e){if(e){if(this._eventCallbacks[t]){let i=0,r=this._eventCallbacks[t].length;for(;i<r;)this._eventCallbacks[t][i]===e&&(this._eventCallbacks[t].splice(i,1),i-=1,r-=1),i+=1;this._eventCallbacks[t].length||(this._eventCallbacks[t]=null)}}else this._eventCallbacks[t]=null}triggerEvent(t,e){if(this._eventCallbacks[t]){const i=this._eventCallbacks[t];for(let t=0;t<i.length;t+=1)i[t](e)}}refresh(){this._lottie?.renderer.renderFrame(null),this.triggerEvent("refresh")}play(){this._lottie.setDirection(this._direction),this._lottie.play()}playFromBeginning(){this._lottie.setDirection(1),this._state?this._lottie.playSegments([this._state.time,this._state.time+this._state.duration+1],!0):this._lottie.goToAndPlay(0)}pause(){this._lottie.pause()}stop(){this._lottie.stop()}goToFrame(t){this._lottie.goToAndStop(t,!0)}goToFirstFrame(){this.goToFrame(0)}goToLastFrame(){this.goToFrame(Math.max(0,this.frames))}set properties(t){this.colors=t.colors||null,this.stroke=t.stroke||null,this.state=t.state||null}get properties(){const t={};return this.rawProperties.filter((t=>"color"===t.type)).length&&(t.colors={...this.colors}),this.rawProperties.filter((t=>"stroke"===t.name||"stroke-layers"===t.name)).length&&(t.stroke=this.stroke),this._states.length&&(t.state=this.state),t}set colors(t){if(y(this._lottie,this.rawProperties.filter((t=>"color"===t.type))),t)for(const[e,i]of Object.entries(t))m(this._lottie,this.rawProperties.filter((t=>"color"===t.type&&t.name===e)),i);this.refresh()}get colors(){return this._colorsProxy||(this._colorsProxy=createColorsProxy.call(this)),this._colorsProxy}set stroke(t){y(this._lottie,this.rawProperties.filter((t=>"stroke"===t.name||"stroke-layers"===t.name)));const e=d(t);e&&m(this._lottie,this.rawProperties.filter((t=>"stroke"===t.name||"stroke-layers"===t.name)),e),this.refresh()}get stroke(){const e=this.rawProperties.filter((t=>"stroke"===t.name||"stroke-layers"===t.name))[0];if(e){return d(+t(this._lottie,e.path))||null}return null}set state(t){if(t===this.state)return;const e=this.isPlaying;this._state=void 0,f(t)?this._state=this._states.filter((t=>t.default))[0]:t&&(this._state=this._states.filter((e=>e.name===t))[0],this._state||(this._state=this._states.filter((t=>t.default))[0])),this._state?this._lottie?.setSegment(this._state.time,this._state.time+this._state.duration+1):this._lottie.resetSegments(!0),this.goToFirstFrame(),e&&(this.pause(),this.play())}get state(){return this._state?this._state.name:""}set speed(t){this._speed=t,this._lottie?.setSpeed(t)}get speed(){return this._speed}set direction(t){this._direction=t,this._lottie.setDirection(t)}get direction(){return this._direction}set loop(t){this._lottie.loop=t}get loop(){return!!this._lottie.loop}set frame(t){this.goToFrame(Math.max(0,Math.min(this.frames,t)))}get frame(){return this._lottie.currentFrame}get states(){return this._states}get isPlaying(){return!this._lottie.isPaused}get isReady(){return this._isReady}get frames(){return this._lottie.getDuration(!0)-1}get duration(){return this._lottie.getDuration(!1)}get lottie(){return this._lottie}get rawProperties(){return this._rawProperties||(this._rawProperties=p(this._iconData,{lottieInstance:!0}),!this._states.length&&this._rawProperties&&(this._rawProperties=this._rawProperties.filter((t=>"scale"!==t.name&&"axis"!==t.name&&"stroke"!==t.name&&!t.name.startsWith("state-"))))),this._rawProperties||[]}}class Boomerang{player;element;targetElement;constructor(t,e,i){this.player=t,this.element=e,this.targetElement=i,this.onHover=this.onHover.bind(this)}onConnected(){this.targetElement.addEventListener("mouseenter",this.onHover)}onDisconnected(){this.targetElement.removeEventListener("mouseenter",this.onHover),this.player.direction=1}onComplete(){this.player.direction=-1,this.player.play()}onHover(){this.player.direction=1,this.player.play()}}const CLICK_EVENTS=[{name:"mousedown"},{name:"touchstart",options:{passive:!0}}];class Click{player;element;targetElement;constructor(t,e,i){this.player=t,this.element=e,this.targetElement=i,this.onClick=this.onClick.bind(this)}onConnected(){for(const t of CLICK_EVENTS)this.targetElement.addEventListener(t.name,this.onClick,t.options)}onDisconnected(){for(const t of CLICK_EVENTS)this.targetElement.removeEventListener(t.name,this.onClick)}onClick(){this.player.isPlaying||this.player.playFromBeginning()}}class Hover{player;element;targetElement;constructor(t,e,i){this.player=t,this.element=e,this.targetElement=i,this.onHover=this.onHover.bind(this)}onConnected(){this.targetElement.addEventListener("mouseenter",this.onHover)}onDisconnected(){this.targetElement.removeEventListener("mouseenter",this.onHover)}onHover(){this.player.isPlaying||this.player.playFromBeginning()}}class In{player;element;targetElement;playTimeout=null;played=!1;intersectionObserver;constructor(t,e,i){this.player=t,this.element=e,this.targetElement=i}onConnected(){if(this.loading)this.play();else{const t=(t,e)=>{t.forEach((t=>{t.isIntersecting&&(this.play(),this.resetIntersectionObserver())}))};this.intersectionObserver=new IntersectionObserver(t),this.intersectionObserver.observe(this.element)}}onDisconnected(){this.played=!1,this.resetIntersectionObserver(),this.resetPlayDelayTimer()}play(){this.played||(this.played=!0,this.resetPlayDelayTimer(),this.delay>0?this.playTimeout=setTimeout((()=>{this.player.playFromBeginning(),this.playTimeout=null}),this.delay):this.player.playFromBeginning())}resetIntersectionObserver(){this.intersectionObserver&&(this.intersectionObserver.unobserve(this.element),this.intersectionObserver=void 0)}resetPlayDelayTimer(){this.playTimeout&&(clearTimeout(this.playTimeout),this.playTimeout=null)}get delay(){const t=this.element.hasAttribute("delay")?+(this.element.getAttribute("delay")||0):0;return Math.max(t,0)}get loading(){return this.element.hasAttribute("loading")}}class Loop{player;element;targetElement;playTimeout=null;constructor(t,e,i){this.player=t,this.element=e,this.targetElement=i}onReady(){this.play()}onComplete(){this.play()}onDisconnected(){this.resetPlayDelayTimer()}play(){this.resetPlayDelayTimer(),this.delay>0?this.playTimeout=setTimeout((()=>{this.player.playFromBeginning()}),this.delay):this.player.playFromBeginning()}resetPlayDelayTimer(){this.playTimeout&&(clearTimeout(this.playTimeout),this.playTimeout=null)}get delay(){const t=this.element.hasAttribute("delay")?+(this.element.getAttribute("delay")||0):0;return Math.max(t,0)}}class LoopOnHover{player;element;targetElement;playTimeout=null;mouseIn=!1;constructor(t,e,i){this.player=t,this.element=e,this.targetElement=i,this.onMouseEnter=this.onMouseEnter.bind(this),this.onMouseLeave=this.onMouseLeave.bind(this)}onConnected(){this.targetElement.addEventListener("mouseenter",this.onMouseEnter),this.targetElement.addEventListener("mouseleave",this.onMouseLeave)}onDisconnected(){this.targetElement.removeEventListener("mouseenter",this.onMouseEnter),this.targetElement.removeEventListener("mouseleave",this.onMouseLeave),this.resetPlayDelayTimer()}onMouseEnter(){this.mouseIn=!0,this.player.isPlaying||this.play()}onMouseLeave(){this.mouseIn=!1,this.resetPlayDelayTimer()}onComplete(){this.play()}play(){this.resetPlayDelayTimer(),this.mouseIn&&(this.delay>0?this.playTimeout=setTimeout((()=>{this.player.playFromBeginning()}),this.delay):this.player.playFromBeginning())}resetPlayDelayTimer(){this.playTimeout&&(clearTimeout(this.playTimeout),this.playTimeout=null)}get delay(){const t=this.element.hasAttribute("delay")?+(this.element.getAttribute("delay")||0):0;return Math.max(t,0)}}class Morph{player;element;targetElement;constructor(t,e,i){this.player=t,this.element=e,this.targetElement=i,this.onMouseEnter=this.onMouseEnter.bind(this),this.onMouseLeave=this.onMouseLeave.bind(this)}onConnected(){this.targetElement.addEventListener("mouseenter",this.onMouseEnter),this.targetElement.addEventListener("mouseleave",this.onMouseLeave)}onDisconnected(){this.targetElement.removeEventListener("mouseenter",this.onMouseEnter),this.targetElement.removeEventListener("mouseleave",this.onMouseLeave),this.player.direction=1}onMouseEnter(){this.player.direction=1,this.player.play()}onMouseLeave(){this.player.direction=-1,this.player.play()}}const NUMBER_REGEX=/^\d*(\.\d+)?$/,MUTATION_OBSERVER_CONFIG={attributes:!0,childList:!1,subtree:!1};class Sequence{player;element;targetElement;sequenceIndex=0;frameState=null;frameDelayFirst=null;frameDelayLast=null;timer;observer;constructor(t,e,i){this.player=t,this.element=e,this.targetElement=i,this.observer=new MutationObserver(((t,e)=>{for(const e of t)"attributes"===e.type&&["sequence","speed"].includes(e.attributeName)&&(this.reset(),this.step())}))}onReady(){this.step()}onComplete(){this.timer=setTimeout((()=>{this.timer=null,this.frameDelayLast=null,this.step()}),this.frameDelayLast||0)}onConnected(){this.observer.observe(this.element,MUTATION_OBSERVER_CONFIG),this.player.speed=this.speed}onDisconnected(){this.observer.disconnect(),this.timer&&(clearTimeout(this.timer),this.timer=null),this.player.speed=1}reset(){this.player.pause(),this.player.speed=this.speed,this.sequenceIndex=0,this.frameState=this.frameDelayFirst=this.frameDelayLast=null,this.timer&&(clearTimeout(this.timer),this.timer=null)}takeStep(){const t=this.sequence.split(","),e=t[this.sequenceIndex];this.sequenceIndex++,this.sequenceIndex>=t.length&&(this.sequenceIndex=0);const[i,...r]=e.split(":");return{action:i,params:r}}handleStep(t,e){if("play"===t){this.frameState&&(this.player.state=this.frameState,this.frameState=null);e.includes("reverse")?(this.player.goToLastFrame(),this.player.direction=-1):(this.player.goToFirstFrame(),this.player.direction=1),this.timer=setTimeout((()=>{this.timer=null,this.frameDelayFirst=null,this.player.play()}),this.frameDelayFirst||0)}else if("frame"===t){let t=0;e.length&&e[0].match(NUMBER_REGEX)&&(t=Math.max(0,Math.min(this.player.frames,+e[0]))),this.player.frame=t,this.timer=setTimeout((()=>{this.timer=null,this.frameDelayFirst=null,this.step()}),this.frameDelayFirst||0)}else if("state"===t)this.frameState=e[0],this.step();else if("delay"===t){let t=null;for(const i of e)i&&i.match(NUMBER_REGEX)&&(t=+i);t&&t>0&&(e.includes("first")&&e.includes("last")?(this.frameDelayFirst=t,this.frameDelayLast=t):e.includes("first")?this.frameDelayFirst=t:e.includes("last")?this.frameDelayLast=t:this.frameDelayFirst=t),this.step()}else if("idle"!==t)throw new Error(`Invalid sequence action: ${t}`)}step(){const{action:t,params:e}=this.takeStep();t&&this.handleStep(t,e)}get sequence(){return this.element.getAttribute("sequence")||""}get speed(){return this.element.hasAttribute("speed")?+(this.element.getAttribute("speed")||1):1}}function defineElement(t){Element.setPlayerFactory(((e,i,r)=>new Player(t,e,i,r))),Element.defineTrigger("in",In),Element.defineTrigger("click",Click),Element.defineTrigger("hover",Hover),Element.defineTrigger("loop",Loop),Element.defineTrigger("loop-on-hover",LoopOnHover),Element.defineTrigger("morph",Morph),Element.defineTrigger("boomerang",Boomerang),Element.defineTrigger("sequence",Sequence),Element.defineTrigger("morph-two-way",Boomerang),customElements.get&&customElements.get("lord-icon")||customElements.define("lord-icon",Element)}var commonjsGlobal="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function getDefaultExportFromCjs(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var lottie$1={exports:{}};(function(module,exports){var factory;"undefined"!=typeof navigator&&(factory=function(){var svgNS="http://www.w3.org/2000/svg",locationHref="",_useWebWorker=!1,initialDefaultFrame=-999999,setWebWorker=function(t){_useWebWorker=!!t},getWebWorker=function(){return _useWebWorker},setLocationHref=function(t){locationHref=t},getLocationHref=function(){return locationHref};function createTag(t){return document.createElement(t)}function extendPrototype(t,e){var i,r,s=t.length;for(i=0;i<s;i+=1)for(var a in r=t[i].prototype)Object.prototype.hasOwnProperty.call(r,a)&&(e.prototype[a]=r[a])}function getDescriptor(t,e){return Object.getOwnPropertyDescriptor(t,e)}function createProxyFunction(t){function e(){}return e.prototype=t,e}var audioControllerFactory=function(){function t(t){this.audios=[],this.audioFactory=t,this._volume=1,this._isMuted=!1}return t.prototype={addAudio:function(t){this.audios.push(t)},pause:function(){var t,e=this.audios.length;for(t=0;t<e;t+=1)this.audios[t].pause()},resume:function(){var t,e=this.audios.length;for(t=0;t<e;t+=1)this.audios[t].resume()},setRate:function(t){var e,i=this.audios.length;for(e=0;e<i;e+=1)this.audios[e].setRate(t)},createAudio:function(t){return this.audioFactory?this.audioFactory(t):window.Howl?new window.Howl({src:[t]}):{isPlaying:!1,play:function(){this.isPlaying=!0},seek:function(){this.isPlaying=!1},playing:function(){},rate:function(){},setVolume:function(){}}},setAudioFactory:function(t){this.audioFactory=t},setVolume:function(t){this._volume=t,this._updateVolume()},mute:function(){this._isMuted=!0,this._updateVolume()},unmute:function(){this._isMuted=!1,this._updateVolume()},getVolume:function(){return this._volume},_updateVolume:function(){var t,e=this.audios.length;for(t=0;t<e;t+=1)this.audios[t].volume(this._volume*(this._isMuted?0:1))}},function(){return new t}}(),createTypedArray=function(){function t(t,e){var i,r=0,s=[];switch(t){case"int16":case"uint8c":i=1;break;default:i=1.1}for(r=0;r<e;r+=1)s.push(i);return s}return"function"==typeof Uint8ClampedArray&&"function"==typeof Float32Array?function(e,i){return"float32"===e?new Float32Array(i):"int16"===e?new Int16Array(i):"uint8c"===e?new Uint8ClampedArray(i):t(e,i)}:t}();function createSizedArray(t){return Array.apply(null,{length:t})}function _typeof$6(t){return _typeof$6="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof$6(t)}var subframeEnabled=!0,expressionsPlugin=null,expressionsInterfaces=null,idPrefix$1="",isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),bmPow=Math.pow,bmSqrt=Math.sqrt,bmFloor=Math.floor,bmMax=Math.max,bmMin=Math.min,BMMath={};!function(){var t,e=["abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","cbrt","expm1","clz32","cos","cosh","exp","floor","fround","hypot","imul","log","log1p","log2","log10","max","min","pow","random","round","sign","sin","sinh","sqrt","tan","tanh","trunc","E","LN10","LN2","LOG10E","LOG2E","PI","SQRT1_2","SQRT2"],i=e.length;for(t=0;t<i;t+=1)BMMath[e[t]]=Math[e[t]]}(),BMMath.random=Math.random,BMMath.abs=function(t){if("object"===_typeof$6(t)&&t.length){var e,i=createSizedArray(t.length),r=t.length;for(e=0;e<r;e+=1)i[e]=Math.abs(t[e]);return i}return Math.abs(t)};var defaultCurveSegments=150,degToRads=Math.PI/180,roundCorner=.5519;function styleDiv(t){t.style.position="absolute",t.style.top=0,t.style.left=0,t.style.display="block",t.style.transformOrigin="0 0",t.style.webkitTransformOrigin="0 0",t.style.backfaceVisibility="visible",t.style.webkitBackfaceVisibility="visible",t.style.transformStyle="preserve-3d",t.style.webkitTransformStyle="preserve-3d",t.style.mozTransformStyle="preserve-3d"}function BMEnterFrameEvent(t,e,i,r){this.type=t,this.currentTime=e,this.totalTime=i,this.direction=r<0?-1:1}function BMCompleteEvent(t,e){this.type=t,this.direction=e<0?-1:1}function BMCompleteLoopEvent(t,e,i,r){this.type=t,this.currentLoop=i,this.totalLoops=e,this.direction=r<0?-1:1}function BMSegmentStartEvent(t,e,i){this.type=t,this.firstFrame=e,this.totalFrames=i}function BMDestroyEvent(t,e){this.type=t,this.target=e}function BMRenderFrameErrorEvent(t,e){this.type="renderFrameError",this.nativeError=t,this.currentTime=e}function BMConfigErrorEvent(t){this.type="configError",this.nativeError=t}var createElementID=(_count=0,function(){return idPrefix$1+"__lottie_element_"+(_count+=1)}),_count;function HSVtoRGB(t,e,i){var r,s,a,n,o,h,l,p;switch(h=i*(1-e),l=i*(1-(o=6*t-(n=Math.floor(6*t)))*e),p=i*(1-(1-o)*e),n%6){case 0:r=i,s=p,a=h;break;case 1:r=l,s=i,a=h;break;case 2:r=h,s=i,a=p;break;case 3:r=h,s=l,a=i;break;case 4:r=p,s=h,a=i;break;case 5:r=i,s=h,a=l}return[r,s,a]}function RGBtoHSV(t,e,i){var r,s=Math.max(t,e,i),a=Math.min(t,e,i),n=s-a,o=0===s?0:n/s,h=s/255;switch(s){case a:r=0;break;case t:r=e-i+n*(e<i?6:0),r/=6*n;break;case e:r=i-t+2*n,r/=6*n;break;case i:r=t-e+4*n,r/=6*n}return[r,o,h]}function addSaturationToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return i[1]+=e,i[1]>1?i[1]=1:i[1]<=0&&(i[1]=0),HSVtoRGB(i[0],i[1],i[2])}function addBrightnessToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return i[2]+=e,i[2]>1?i[2]=1:i[2]<0&&(i[2]=0),HSVtoRGB(i[0],i[1],i[2])}function addHueToRGB(t,e){var i=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return i[0]+=e/360,i[0]>1?i[0]-=1:i[0]<0&&(i[0]+=1),HSVtoRGB(i[0],i[1],i[2])}var rgbToHex=function(){var t,e,i=[];for(t=0;t<256;t+=1)e=t.toString(16),i[t]=1===e.length?"0"+e:e;return function(t,e,r){return t<0&&(t=0),e<0&&(e=0),r<0&&(r=0),"#"+i[t]+i[e]+i[r]}}(),setSubframeEnabled=function(t){subframeEnabled=!!t},getSubframeEnabled=function(){return subframeEnabled},setExpressionsPlugin=function(t){expressionsPlugin=t},getExpressionsPlugin=function(){return expressionsPlugin},setExpressionInterfaces=function(t){expressionsInterfaces=t},getExpressionInterfaces=function(){return expressionsInterfaces},setDefaultCurveSegments=function(t){defaultCurveSegments=t},getDefaultCurveSegments=function(){return defaultCurveSegments},setIdPrefix=function(t){idPrefix$1=t};function createNS(t){return document.createElementNS(svgNS,t)}function _typeof$5(t){return _typeof$5="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof$5(t)}var dataManager=function(){var t,e,i=1,r=[],s={onmessage:function(){},postMessage:function(e){t({data:e})}},a={postMessage:function(t){s.onmessage({data:t})}};function n(){e||(e=function(e){if(window.Worker&&window.Blob&&getWebWorker()){var i=new Blob(["var _workerSelf = self; self.onmessage = ",e.toString()],{type:"text/javascript"}),r=URL.createObjectURL(i);return new Worker(r)}return t=e,s}((function(t){if(a.dataManager||(a.dataManager=function(){function t(s,a){var n,o,h,l,p,c,m=s.length;for(o=0;o<m;o+=1)if("ks"in(n=s[o])&&!n.completed){if(n.completed=!0,n.hasMask){var d=n.masksProperties;for(l=d.length,h=0;h<l;h+=1)if(d[h].pt.k.i)r(d[h].pt.k);else for(c=d[h].pt.k.length,p=0;p<c;p+=1)d[h].pt.k[p].s&&r(d[h].pt.k[p].s[0]),d[h].pt.k[p].e&&r(d[h].pt.k[p].e[0])}0===n.ty?(n.layers=e(n.refId,a),t(n.layers,a)):4===n.ty?i(n.shapes):5===n.ty&&f(n)}}function e(t,e){var i=function(t,e){for(var i=0,r=e.length;i<r;){if(e[i].id===t)return e[i];i+=1}return null}(t,e);return i?i.layers.__used?JSON.parse(JSON.stringify(i.layers)):(i.layers.__used=!0,i.layers):null}function i(t){var e,s,a;for(e=t.length-1;e>=0;e-=1)if("sh"===t[e].ty)if(t[e].ks.k.i)r(t[e].ks.k);else for(a=t[e].ks.k.length,s=0;s<a;s+=1)t[e].ks.k[s].s&&r(t[e].ks.k[s].s[0]),t[e].ks.k[s].e&&r(t[e].ks.k[s].e[0]);else"gr"===t[e].ty&&i(t[e].it)}function r(t){var e,i=t.i.length;for(e=0;e<i;e+=1)t.i[e][0]+=t.v[e][0],t.i[e][1]+=t.v[e][1],t.o[e][0]+=t.v[e][0],t.o[e][1]+=t.v[e][1]}function s(t,e){var i=e?e.split("."):[100,100,100];return t[0]>i[0]||!(i[0]>t[0])&&(t[1]>i[1]||!(i[1]>t[1])&&(t[2]>i[2]||!(i[2]>t[2])&&null))}var a,n=function(){var t=[4,4,14];function e(t){var e,i,r,s=t.length;for(e=0;e<s;e+=1)5===t[e].ty&&(r=void 0,r=(i=t[e]).t.d,i.t.d={k:[{s:r,t:0}]})}return function(i){if(s(t,i.v)&&(e(i.layers),i.assets)){var r,a=i.assets.length;for(r=0;r<a;r+=1)i.assets[r].layers&&e(i.assets[r].layers)}}}(),o=(a=[4,7,99],function(t){if(t.chars&&!s(a,t.v)){var e,r=t.chars.length;for(e=0;e<r;e+=1){var n=t.chars[e];n.data&&n.data.shapes&&(i(n.data.shapes),n.data.ip=0,n.data.op=99999,n.data.st=0,n.data.sr=1,n.data.ks={p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0}},t.chars[e].t||(n.data.shapes.push({ty:"no"}),n.data.shapes[0].it.push({p:{k:[0,0],a:0},s:{k:[100,100],a:0},a:{k:[0,0],a:0},r:{k:0,a:0},o:{k:100,a:0},sk:{k:0,a:0},sa:{k:0,a:0},ty:"tr"})))}}}),h=function(){var t=[5,7,15];function e(t){var e,i,r=t.length;for(e=0;e<r;e+=1)5===t[e].ty&&(i=void 0,"number"==typeof(i=t[e].t.p).a&&(i.a={a:0,k:i.a}),"number"==typeof i.p&&(i.p={a:0,k:i.p}),"number"==typeof i.r&&(i.r={a:0,k:i.r}))}return function(i){if(s(t,i.v)&&(e(i.layers),i.assets)){var r,a=i.assets.length;for(r=0;r<a;r+=1)i.assets[r].layers&&e(i.assets[r].layers)}}}(),l=function(){var t=[4,1,9];function e(t){var i,r,s,a=t.length;for(i=0;i<a;i+=1)if("gr"===t[i].ty)e(t[i].it);else if("fl"===t[i].ty||"st"===t[i].ty)if(t[i].c.k&&t[i].c.k[0].i)for(s=t[i].c.k.length,r=0;r<s;r+=1)t[i].c.k[r].s&&(t[i].c.k[r].s[0]/=255,t[i].c.k[r].s[1]/=255,t[i].c.k[r].s[2]/=255,t[i].c.k[r].s[3]/=255),t[i].c.k[r].e&&(t[i].c.k[r].e[0]/=255,t[i].c.k[r].e[1]/=255,t[i].c.k[r].e[2]/=255,t[i].c.k[r].e[3]/=255);else t[i].c.k[0]/=255,t[i].c.k[1]/=255,t[i].c.k[2]/=255,t[i].c.k[3]/=255}function i(t){var i,r=t.length;for(i=0;i<r;i+=1)4===t[i].ty&&e(t[i].shapes)}return function(e){if(s(t,e.v)&&(i(e.layers),e.assets)){var r,a=e.assets.length;for(r=0;r<a;r+=1)e.assets[r].layers&&i(e.assets[r].layers)}}}(),p=function(){var t=[4,4,18];function e(t){var i,r,s;for(i=t.length-1;i>=0;i-=1)if("sh"===t[i].ty)if(t[i].ks.k.i)t[i].ks.k.c=t[i].closed;else for(s=t[i].ks.k.length,r=0;r<s;r+=1)t[i].ks.k[r].s&&(t[i].ks.k[r].s[0].c=t[i].closed),t[i].ks.k[r].e&&(t[i].ks.k[r].e[0].c=t[i].closed);else"gr"===t[i].ty&&e(t[i].it)}function i(t){var i,r,s,a,n,o,h=t.length;for(r=0;r<h;r+=1){if((i=t[r]).hasMask){var l=i.masksProperties;for(a=l.length,s=0;s<a;s+=1)if(l[s].pt.k.i)l[s].pt.k.c=l[s].cl;else for(o=l[s].pt.k.length,n=0;n<o;n+=1)l[s].pt.k[n].s&&(l[s].pt.k[n].s[0].c=l[s].cl),l[s].pt.k[n].e&&(l[s].pt.k[n].e[0].c=l[s].cl)}4===i.ty&&e(i.shapes)}}return function(e){if(s(t,e.v)&&(i(e.layers),e.assets)){var r,a=e.assets.length;for(r=0;r<a;r+=1)e.assets[r].layers&&i(e.assets[r].layers)}}}();function f(t){0===t.t.a.length&&t.t.p}var c={completeData:function(i){i.__complete||(l(i),n(i),o(i),h(i),p(i),t(i.layers,i.assets),function(i,r){if(i){var s=0,a=i.length;for(s=0;s<a;s+=1)1===i[s].t&&(i[s].data.layers=e(i[s].data.refId,r),t(i[s].data.layers,r))}}(i.chars,i.assets),i.__complete=!0)}};return c.checkColors=l,c.checkChars=o,c.checkPathProperties=h,c.checkShapes=p,c.completeLayers=t,c}()),a.assetLoader||(a.assetLoader=function(){function t(t){var e=t.getResponseHeader("content-type");return e&&"json"===t.responseType&&-1!==e.indexOf("json")||t.response&&"object"===_typeof$5(t.response)?t.response:t.response&&"string"==typeof t.response?JSON.parse(t.response):t.responseText?JSON.parse(t.responseText):null}return{load:function(e,i,r,s){var a,n=new XMLHttpRequest;try{n.responseType="json"}catch(t){}n.onreadystatechange=function(){if(4===n.readyState)if(200===n.status)a=t(n),r(a);else try{a=t(n),r(a)}catch(t){s&&s(t)}};try{n.open(["G","E","T"].join(""),e,!0)}catch(t){n.open(["G","E","T"].join(""),i+"/"+e,!0)}n.send()}}}()),"loadAnimation"===t.data.type)a.assetLoader.load(t.data.path,t.data.fullPath,(function(e){a.dataManager.completeData(e),a.postMessage({id:t.data.id,payload:e,status:"success"})}),(function(){a.postMessage({id:t.data.id,status:"error"})}));else if("complete"===t.data.type){var e=t.data.animation;a.dataManager.completeData(e),a.postMessage({id:t.data.id,payload:e,status:"success"})}else"loadData"===t.data.type&&a.assetLoader.load(t.data.path,t.data.fullPath,(function(e){a.postMessage({id:t.data.id,payload:e,status:"success"})}),(function(){a.postMessage({id:t.data.id,status:"error"})}))})),e.onmessage=function(t){var e=t.data,i=e.id,s=r[i];r[i]=null,"success"===e.status?s.onComplete(e.payload):s.onError&&s.onError()})}function o(t,e){var s="processId_"+(i+=1);return r[s]={onComplete:t,onError:e},s}return{loadAnimation:function(t,i,r){n();var s=o(i,r);e.postMessage({type:"loadAnimation",path:t,fullPath:window.location.origin+window.location.pathname,id:s})},loadData:function(t,i,r){n();var s=o(i,r);e.postMessage({type:"loadData",path:t,fullPath:window.location.origin+window.location.pathname,id:s})},completeAnimation:function(t,i,r){n();var s=o(i,r);e.postMessage({type:"complete",animation:t,id:s})}}}(),ImagePreloader=function(){var t=function(){var t=createTag("canvas");t.width=1,t.height=1;var e=t.getContext("2d");return e.fillStyle="rgba(0,0,0,0)",e.fillRect(0,0,1,1),t}();function e(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function i(){this.loadedFootagesCount+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function r(t,e,i){var r="";if(t.e)r=t.p;else if(e){var s=t.p;-1!==s.indexOf("images/")&&(s=s.split("/")[1]),r=e+s}else r=i,r+=t.u?t.u:"",r+=t.p;return r}function s(t){var e=0,i=setInterval(function(){(t.getBBox().width||e>500)&&(this._imageLoaded(),clearInterval(i)),e+=1}.bind(this),50)}function a(t){var e={assetData:t},i=r(t,this.assetsPath,this.path);return dataManager.loadData(i,function(t){e.img=t,this._footageLoaded()}.bind(this),function(){e.img={},this._footageLoaded()}.bind(this)),e}function n(){this._imageLoaded=e.bind(this),this._footageLoaded=i.bind(this),this.testImageLoaded=s.bind(this),this.createFootageData=a.bind(this),this.assetsPath="",this.path="",this.totalImages=0,this.totalFootages=0,this.loadedAssets=0,this.loadedFootagesCount=0,this.imagesLoadedCb=null,this.images=[]}return n.prototype={loadAssets:function(t,e){var i;this.imagesLoadedCb=e;var r=t.length;for(i=0;i<r;i+=1)t[i].layers||(t[i].t&&"seq"!==t[i].t?3===t[i].t&&(this.totalFootages+=1,this.images.push(this.createFootageData(t[i]))):(this.totalImages+=1,this.images.push(this._createImageData(t[i]))))},setAssetsPath:function(t){this.assetsPath=t||""},setPath:function(t){this.path=t||""},loadedImages:function(){return this.totalImages===this.loadedAssets},loadedFootages:function(){return this.totalFootages===this.loadedFootagesCount},destroy:function(){this.imagesLoadedCb=null,this.images.length=0},getAsset:function(t){for(var e=0,i=this.images.length;e<i;){if(this.images[e].assetData===t)return this.images[e].img;e+=1}return null},createImgData:function(e){var i=r(e,this.assetsPath,this.path),s=createTag("img");s.crossOrigin="anonymous",s.addEventListener("load",this._imageLoaded,!1),s.addEventListener("error",function(){a.img=t,this._imageLoaded()}.bind(this),!1),s.src=i;var a={img:s,assetData:e};return a},createImageData:function(e){var i=r(e,this.assetsPath,this.path),s=createNS("image");isSafari?this.testImageLoaded(s):s.addEventListener("load",this._imageLoaded,!1),s.addEventListener("error",function(){a.img=t,this._imageLoaded()}.bind(this),!1),s.setAttributeNS("http://www.w3.org/1999/xlink","href",i),this._elementHelper.append?this._elementHelper.append(s):this._elementHelper.appendChild(s);var a={img:s,assetData:e};return a},imageLoaded:e,footageLoaded:i,setCacheType:function(t,e){"svg"===t?(this._elementHelper=e,this._createImageData=this.createImageData.bind(this)):this._createImageData=this.createImgData.bind(this)}},n}();function BaseEvent(){}BaseEvent.prototype={triggerEvent:function(t,e){if(this._cbs[t])for(var i=this._cbs[t],r=0;r<i.length;r+=1)i[r](e)},addEventListener:function(t,e){return this._cbs[t]||(this._cbs[t]=[]),this._cbs[t].push(e),function(){this.removeEventListener(t,e)}.bind(this)},removeEventListener:function(t,e){if(e){if(this._cbs[t]){for(var i=0,r=this._cbs[t].length;i<r;)this._cbs[t][i]===e&&(this._cbs[t].splice(i,1),i-=1,r-=1),i+=1;this._cbs[t].length||(this._cbs[t]=null)}}else this._cbs[t]=null}};var markerParser=function(){function t(t){for(var e,i=t.split("\r\n"),r={},s=0,a=0;a<i.length;a+=1)2===(e=i[a].split(":")).length&&(r[e[0]]=e[1].trim(),s+=1);if(0===s)throw new Error;return r}return function(e){for(var i=[],r=0;r<e.length;r+=1){var s=e[r],a={time:s.tm,duration:s.dr};try{a.payload=JSON.parse(e[r].cm)}catch(i){try{a.payload=t(e[r].cm)}catch(t){a.payload={name:e[r].cm}}}i.push(a)}return i}}(),ProjectInterface=function(){function t(t){this.compositions.push(t)}return function(){function e(t){for(var e=0,i=this.compositions.length;e<i;){if(this.compositions[e].data&&this.compositions[e].data.nm===t)return this.compositions[e].prepareFrame&&this.compositions[e].data.xt&&this.compositions[e].prepareFrame(this.currentFrame),this.compositions[e].compInterface;e+=1}return null}return e.compositions=[],e.currentFrame=0,e.registerComposition=t,e}}(),renderers={},registerRenderer=function(t,e){renderers[t]=e};function getRenderer(t){return renderers[t]}function getRegisteredRenderer(){if(renderers.canvas)return"canvas";for(var t in renderers)if(renderers[t])return t;return""}function _typeof$4(t){return _typeof$4="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof$4(t)}var AnimationItem=function(){this._cbs=[],this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.firstFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.playCount=0,this.animationData={},this.assets=[],this.isPaused=!0,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=createElementID(),this.assetsPath="",this.timeCompleted=0,this.segmentPos=0,this.isSubframeEnabled=getSubframeEnabled(),this.segments=[],this._idle=!0,this._completedLoop=!1,this.projectInterface=ProjectInterface(),this.imagePreloader=new ImagePreloader,this.audioController=audioControllerFactory(),this.markers=[],this.configAnimation=this.configAnimation.bind(this),this.onSetupError=this.onSetupError.bind(this),this.onSegmentComplete=this.onSegmentComplete.bind(this),this.drawnFrameEvent=new BMEnterFrameEvent("drawnFrame",0,0,0),this.expressionsPlugin=getExpressionsPlugin()};extendPrototype([BaseEvent],AnimationItem),AnimationItem.prototype.setParams=function(t){(t.wrapper||t.container)&&(this.wrapper=t.wrapper||t.container);var e="svg";t.animType?e=t.animType:t.renderer&&(e=t.renderer);var i=getRenderer(e);this.renderer=new i(this,t.rendererSettings),this.imagePreloader.setCacheType(e,this.renderer.globalData.defs),this.renderer.setProjectInterface(this.projectInterface),this.animType=e,""===t.loop||null===t.loop||void 0===t.loop||!0===t.loop?this.loop=!0:!1===t.loop?this.loop=!1:this.loop=parseInt(t.loop,10),this.autoplay=!("autoplay"in t)||t.autoplay,this.name=t.name?t.name:"",this.autoloadSegments=!Object.prototype.hasOwnProperty.call(t,"autoloadSegments")||t.autoloadSegments,this.assetsPath=t.assetsPath,this.initialSegment=t.initialSegment,t.audioFactory&&this.audioController.setAudioFactory(t.audioFactory),t.animationData?this.setupAnimation(t.animationData):t.path&&(-1!==t.path.lastIndexOf("\\")?this.path=t.path.substr(0,t.path.lastIndexOf("\\")+1):this.path=t.path.substr(0,t.path.lastIndexOf("/")+1),this.fileName=t.path.substr(t.path.lastIndexOf("/")+1),this.fileName=this.fileName.substr(0,this.fileName.lastIndexOf(".json")),dataManager.loadAnimation(t.path,this.configAnimation,this.onSetupError))},AnimationItem.prototype.onSetupError=function(){this.trigger("data_failed")},AnimationItem.prototype.setupAnimation=function(t){dataManager.completeAnimation(t,this.configAnimation)},AnimationItem.prototype.setData=function(t,e){e&&"object"!==_typeof$4(e)&&(e=JSON.parse(e));var i={wrapper:t,animationData:e},r=t.attributes;i.path=r.getNamedItem("data-animation-path")?r.getNamedItem("data-animation-path").value:r.getNamedItem("data-bm-path")?r.getNamedItem("data-bm-path").value:r.getNamedItem("bm-path")?r.getNamedItem("bm-path").value:"",i.a