parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"V5ZL":[function(require,module,exports) {
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.initializeComponents=exports.getConfigFromDataset=void 0;var getConfigFromDataset=function(element,attrId){var attrName=attrId.split("-").slice(1).join("-").replace(/([-_]\w)/g,function(g){return g[1].toUpperCase()});return element.dataset[attrName]?JSON.parse(element.dataset[attrName]):{}};exports.getConfigFromDataset=getConfigFromDataset;var initializeComponents=function(componentAttr,Compontent){for(var componentElements=Array.prototype.slice.call(document.querySelectorAll("[".concat(componentAttr,"]"))),componentMap=[],i=0;i<componentElements.length;i++){var el=componentElements[i],config=getConfigFromDataset(el,componentAttr);componentMap.push(new Compontent(el,config))}return componentMap};exports.initializeComponents=initializeComponents;
},{}],"pTzQ":[function(require,module,exports) {
"use strict";function t(){this._events={}}var e=t.prototype;e.on=function(t,e){this._events[t]=this._events[t]||[],this._events[t].unshift(e)},e.once=function(t,e){var n=this;this.on(t,function s(i){n.off(t,s),void 0!==i?e(i):e()})},e.off=function(t,e){if(this.has(t)){if(1===arguments.length)return this._events[t]=null,void delete this._events[t];var n=this._events[t].indexOf(e);-1!==n&&this._events[t].splice(n,1)}},e.trigger=function(t,e){if(this.has(t))for(var n=this._events[t].length-1;n>=0;n--)void 0!==e?this._events[t][n](e):this._events[t][n]()},e.has=function(t){return t in this._events!=!1&&0!==this._events[t].length},e.destroy=function(){for(var t in this._events)this._events[t]=null;this._events=null},module.exports=t;
},{}],"Y3Ia":[function(require,module,exports) {
"use strict";module.exports={EventEmitterMicro:require("./ac-event-emitter-micro/EventEmitterMicro")};
},{"./ac-event-emitter-micro/EventEmitterMicro":"pTzQ"}],"H7PE":[function(require,module,exports) {
class s{}module.exports=s;
},{}],"ovmE":[function(require,module,exports) {
class t{constructor(t,i,s,e,r=!1,h){this.epsilon=parseFloat(i),this.snapAtCreation=s,this.initialValue=t,this.target=t,this.current=t,this.previousValue=t,this.isActive=!1,this.key=e,this.round=r,this.suffix=h}update(t,i,s){this.target=t[0]+i*(t[1]-t[0]),this.previousValue=this.current,this.current+=(this.target-this.current)*s;let e=this.delta(this.current,this.target);return e<this.epsilon&&(this.current=this.target,e=0),e>this.epsilon||0===e&&this.previousValue!==this.current}reconcile(t,i){return this.initialValue=t[0],this.update(t,i,1)}needsUpdate(){return this.delta(this.current,this.target)>this.epsilon}delta(t,i){return Math.abs(t-i)}calculateEpsilon(t,i){if(t.epsilon)return void(this.epsilon=t.epsilon);let s=this.delta(i[0],i[1]),e=Math.min(.001*s,this.epsilon,.05);this.epsilon=Math.max(e,.001)}set(t){let i=this.current;this.round&&(i=Math.round(i)),this.suffix&&(i+=this.suffix),t[this.key]=i}}module.exports=t;
},{}],"Z5g4":[function(require,module,exports) {
const t=function(t){return t.startsWith("--")?t:t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())};module.exports=t;
},{}],"EtDw":[function(require,module,exports) {
const e=require("./TargetValue"),t=require("../utils/toKebabCase");class s extends e{constructor(e,s,r,u,i=!1,o){super(e,s,r,u=t(u),i,o)}set(e){let t=this.current;this.round&&(t=Math.round(t)),this.suffix&&(t+=this.suffix),e.setProperty(this.key,t)}}module.exports=s;
},{"./TargetValue":"ovmE","../utils/toKebabCase":"Z5g4"}],"Wkev":[function(require,module,exports) {
"use strict";const e={GUI_INSTANCE:null,ANIM_INSTANCE:null,VIEWPORT_EMITTER_ELEMENT:void 0,LOCAL_STORAGE_KEYS:{GuiPosition:"anim-ui.position",GroupCollapsedStates:"anim-ui.group-collapsed-states",scrollY:"anim-ui.scrollY-position",path:"anim-ui.path"},RESIZE_TIMEOUT:-1,BREAKPOINTS:[{name:"S",mediaQuery:"only screen and (max-width: 734px)"},{name:"M",mediaQuery:"only screen and (max-width: 1068px)"},{name:"L",mediaQuery:"only screen and (min-width: 1069px)"}],getBreakpoint:function(){for(let E=0;E<e.BREAKPOINTS.length;E++){let t=e.BREAKPOINTS[E];if(window.matchMedia(t.mediaQuery).matches)return t.name}},KeyframeDefaults:{ease:1,epsilon:.05,preserveState:!1,easeFunctionString:"linear",easeFunction:"linear",hold:!1,snapAtCreation:!1,toggle:!1,breakpointMask:"SMLX",event:"",disabledWhen:[],cssClass:""},KeyframeTypes:{Interpolation:0,InterpolationForward:1,CSSClass:2,Event:3},EVENTS:{ON_DOM_KEYFRAMES_CREATED:"ON_DOM_KEYFRAMES_CREATED",ON_DOM_GROUPS_CREATED:"ON_DOM_GROUPS_CREATED",ON_GROUP_CREATED:"ON_GROUP_CREATED",ON_KEYFRAME_UPDATED:"ON_KEYFRAME_UPDATED",ON_TIMELINE_START:"ON_TIMELINE_START",ON_TIMELINE_UPDATE:"ON_TIMELINE_UPDATE",ON_TIMELINE_COMPLETE:"ON_TIMELINE_COMPLETE",ON_CHAPTER_INITIATED:"ON_CHAPTER_INITIATED",ON_CHAPTER_OCCURRED:"ON_CHAPTER_OCCURRED",ON_CHAPTER_COMPLETED:"ON_CHAPTER_COMPLETED"},PageEvents:{ON_SCROLL:"ON_SCROLL",ON_RESIZE_IMMEDIATE:"ON_RESIZE_IMMEDIATE",ON_RESIZE_DEBOUNCED:"ON_RESIZE_DEBOUNCED",ON_BREAKPOINT_CHANGE:"ON_BREAKPOINT_CHANGE"},KeyframeJSONReservedWords:["event","cssClass","style","anchors","start","end","epsilon","easeFunction","ease","breakpointMask","disabledWhen"],TweenProps:require("./TweenProps"),TargetValue:require("./TargetValue"),CSSTargetValue:require("./CSSTargetValue"),pageMetrics:new function(){this.scrollX=0,this.scrollY=0,this.windowWidth=0,this.windowHeight=0,this.documentOffsetX=0,this.documentOffsetY=0,this.previousBreakpoint="",this.breakpoint=""},KeyframeComparison:function(e,E){return e.start<E.start?-1:e.start>E.start?1:0}};module.exports=e;
},{"./TweenProps":"H7PE","./TargetValue":"ovmE","./CSSTargetValue":"EtDw"}],"GWfh":[function(require,module,exports) {
"use strict";module.exports={lerp:function(n,t,r){return t+(r-t)*n},map:function(n,t,r,a,u){return a+(u-a)*(n-t)/(r-t)},mapClamp:function(n,t,r,a,u){var o=a+(u-a)*(n-t)/(r-t);return Math.max(a,Math.min(u,o))},norm:function(n,t,r){return(n-t)/(r-t)},clamp:function(n,t,r){return Math.max(t,Math.min(r,n))},randFloat:function(n,t){return Math.random()*(t-n)+n},randInt:function(n,t){return Math.floor(Math.random()*(t-n)+n)}};
},{}],"hw9N":[function(require,module,exports) {
"use strict";class t{constructor(){this.linear=function(t){return t},this.easeInQuad=function(t){return t*t},this.easeOutQuad=function(t){return t*(2-t)},this.easeInOutQuad=function(t){return t<.5?2*t*t:(4-2*t)*t-1},this.easeInSin=function(t){return 1+Math.sin(Math.PI/2*t-Math.PI/2)},this.easeOutSin=function(t){return Math.sin(Math.PI/2*t)},this.easeInOutSin=function(t){return(1+Math.sin(Math.PI*t-Math.PI/2))/2},this.easeInElastic=function(t){return 0===t?t:(.04-.04/t)*Math.sin(25*t)+1},this.easeOutElastic=function(t){return.04*t/--t*Math.sin(25*t)},this.easeInOutElastic=function(t){return(t-=.5)<0?(.02+.01/t)*Math.sin(50*t):(.02-.01/t)*Math.sin(50*t)+1},this.easeOutBack=function(t){return(t-=1)*t*(2.70158*t+1.70158)+1},this.easeInCubic=function(t){return t*t*t},this.easeOutCubic=function(t){return--t*t*t+1},this.easeInOutCubic=function(t){return t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},this.easeInQuart=function(t){return t*t*t*t},this.easeOutQuart=function(t){return 1- --t*t*t*t},this.easeInOutQuart=function(t){return t<.5?8*t*t*t*t:1-8*--t*t*t*t},this.easeInQuint=function(t){return t*t*t*t*t},this.easeOutQuint=function(t){return 1+--t*t*t*t*t},this.easeInOutQuint=function(t){return t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}}}module.exports=new t;
},{}],"eFkR":[function(require,module,exports) {
"use strict";const t=1e-5,e=Math.abs,r=5;class s{constructor(t,e,r,s){this.cp=new Float32Array(6),this.cp[0]=3*t,this.cp[1]=3*(r-t)-this.cp[0],this.cp[2]=1-this.cp[0]-this.cp[1],this.cp[3]=3*e,this.cp[4]=3*(s-e)-this.cp[3],this.cp[5]=1-this.cp[3]-this.cp[4]}sampleCurveX(t){return((this.cp[2]*t+this.cp[1])*t+this.cp[0])*t}sampleCurveY(t){return((this.cp[5]*t+this.cp[4])*t+this.cp[3])*t}sampleCurveDerivativeX(t){return(3*this.cp[2]*t+2*this.cp[1])*t+this.cp[0]}solveCurveX(s){var i,c,h,p,u,n;for(h=s,n=0;n<r;n++){if(p=this.sampleCurveX(h)-s,e(p)<t)return h;if(u=this.sampleCurveDerivativeX(h),e(u)<t)break;h-=p/u}if((h=s)<(i=0))return i;if(h>(c=1))return c;for(;i<c;){if(p=this.sampleCurveX(h),e(p-s)<t)return h;s>p?i=h:c=h,h=.5*(c-i)+i}return h}solve(t){return this.sampleCurveY(this.solveCurveX(t))}}const i=/\d*\.?\d+/g;s.fromCSSString=function(t){let e=t.match(i);if(4!==e.length)throw`UnitBezier could not convert ${t} to cubic-bezier`;let r=e.map(Number),c=new s(r[0],r[1],r[2],r[3]);return c.solve.bind(c)},module.exports=s;
},{}],"uvoY":[function(require,module,exports) {
"use strict";const{map:t}=require("@marcom/sm-math-utils"),s={};class i{constructor(t,s,i,h){this.mass=t,this.stiffness=s,this.damping=i,this.initialVelocity=h,this.m_w0=Math.sqrt(this.stiffness/this.mass),this.m_zeta=this.damping/(2*Math.sqrt(this.stiffness*this.mass)),this.m_zeta<1?(this.m_wd=this.m_w0*Math.sqrt(1-this.m_zeta*this.m_zeta),this.m_A=1,this.m_B=(this.m_zeta*this.m_w0-this.initialVelocity)/this.m_wd):(this.m_wd=0,this.m_A=1,this.m_B=-this.initialVelocity+this.m_w0)}solve(t){return 1-(t=this.m_zeta<1?Math.exp(-t*this.m_zeta*this.m_w0)*(this.m_A*Math.cos(this.m_wd*t)+this.m_B*Math.sin(this.m_wd*t)):(this.m_A+this.m_B*t)*Math.exp(-t*this.m_w0))}}const h=/\d*\.?\d+/g;i.fromCSSString=function(m){let e=m.match(h);if(4!==e.length)throw`SpringEasing could not convert ${cssString} to spring params`;let n=e.map(Number),a=new i(...n);const r=a.solve.bind(a);let _=0;let o=function(){if(s[m])return s[m];let t,i=0;for(;;)if(1===r(_+=1/6)){if(++i>=16){t=_*(1/6);break}}else i=0;return s[m]=t,s[m]}();return function(s){return 0===s||1===s?s:r(t(s,0,1,0,o))}},module.exports=i;
},{"@marcom/sm-math-utils":"GWfh"}],"YVny":[function(require,module,exports) {
const e=function(e){return e.reduce((e,n)=>(e[n]=n,e),{})};module.exports=e;
},{}],"taMI":[function(require,module,exports) {
module.exports=function(e,r){if("string"!=typeof e)return e;try{return(r||document).querySelector(e)||document.querySelector(e)}catch(t){return!1}};
},{}],"P3m3":[function(require,module,exports) {
const o=()=>Math.random().toString(16).slice(-4);module.exports=o;
},{}],"uQTI":[function(require,module,exports) {
const t=["scrollLeft","scrollTop","scrollBy","scrollTo","currentTime"];let o=["borderRadius","bottom","fontSize","fontWeight","height","left","lineHeight","marginBottom","marginLeft","marginRight","marginTop","maxHeight","maxWidth","opacity","paddingBottom","paddingLeft","paddingRight","paddingTop","right","top","width","zIndex","strokeDashoffset"];o.push(...o.map(t=>t.replace(/[A-Z]/g,t=>"-"+t.toLowerCase())));const e=["x","y","z","scale","scaleX","scaleY","rotation","rotationX","rotationY","rotationZ"],i=["opacity","z-index","font-weight","zIndex","fontWeight","scrollLeft","scrollTop","scrollBy","scrollTo","currentTime"];module.exports={transformAttributes:e,cssAttributes:o,domAttributes:t,suffixFreeAttributes:i};
},{}],"GAJ8":[function(require,module,exports) {
"use strict";const e=require("../Model/AnimSystemModel"),t=require("../Model/TargetValue"),s=require("../Model/CSSTargetValue"),r=require("@marcom/sm-math-utils"),i=require("../Model/EasingFunctions"),n=require("../Model/UnitBezier"),a=require("../Model/SpringEasing"),o=require("../utils/arrayToObject"),l=require("../utils/toValidAnchor"),h=require("../utils/toKebabCase"),u=require("../Model/UUID"),{cssAttributes:d,suffixFreeAttributes:c,domAttributes:p}=require("../Model/animated-attributes");class m{constructor(t,s){this.controller=t,this.anchors=[],this.jsonProps=s,this.ease=t.group.defaultEase,this.easeFunction=i.linear,this.start=0,this.end=0,this.localT=0,this.curvedT=0,this.id=0,this.event="",this.needsEventDispatch=!1,this.snapAtCreation=!1,this.isEnabled=!1,this.animValues={},this.breakpointMask=e.KeyframeDefaults.breakpointMask,this.disabledWhen=[],this.keyframeType=e.KeyframeTypes.Interpolation,this.hold=!1,this.preserveState=!1,this.markedForRemoval=!1;let r=!1;Object.defineProperty(this,"hidden",{get:()=>r,set(e){r=e,t.group.keyframesDirty=!0}}),this.uuid=u(),this.destroyed=!1}destroy(){this.destroyed=!0,this.controller=null,this.disabledWhen=null,this.anchors=null,this.jsonProps=null,this.easeFunction=null,this.animValues=null}remove(){return this.controller.removeKeyframe(this)}parseOptions(r){this.jsonProps=r,r.relativeTo&&console.error(`KeyframeError: relativeTo has been removed. Use 'anchors' property instead. Found 'relativeTo':"${r.relativeTo}"`),void 0===r.end&&void 0===r.duration&&(r.end=r.start),""!==r.anchors&&r.anchors?(this.anchors=[],r.anchors=Array.isArray(r.anchors)?r.anchors:[r.anchors],r.anchors.forEach((e,t)=>{let s=l(e,this.controller.group.element);if(!s){let s="";return"string"==typeof e&&(s=" Provided value was a string, so a failed attempt was made to find anchor with the provided querystring in group.element, or in the document."),void console.warn("Keyframe on",this.controller.element,` failed to find anchor at index ${t} in array`,r.anchors,`. Anchors must be JS Object references, Elements references, or valid query selector strings. ${s}`)}this.anchors.push(s),this.controller.group.metrics.add(s)})):(this.anchors=[],r.anchors=[]),r.ease?this.ease=parseFloat(r.ease):r.ease=this.ease,r.hasOwnProperty("snapAtCreation")?this.snapAtCreation=r.snapAtCreation:r.snapAtCreation=this.snapAtCreation,r.easeFunction||(r.easeFunction=e.KeyframeDefaults.easeFunctionString),r.breakpointMask?this.breakpointMask=r.breakpointMask:r.breakpointMask=this.breakpointMask,r.disabledWhen?this.disabledWhen=Array.isArray(r.disabledWhen)?r.disabledWhen:[r.disabledWhen]:r.disabledWhen=this.disabledWhen,r.hasOwnProperty("hold")?this.hold=r.hold:r.hold=this.hold,r.hasOwnProperty("preserveState")?this.preserveState=r.preserveState:r.preserveState=e.KeyframeDefaults.preserveState,this.easeFunction=i[r.easeFunction],i.hasOwnProperty(r.easeFunction)||(r.easeFunction.includes("bezier")?this.easeFunction=n.fromCSSString(r.easeFunction):r.easeFunction.includes("spring")?this.easeFunction=a.fromCSSString(r.easeFunction):console.error("Keyframe parseOptions cannot find 'easeFunction' named '"+r.easeFunction+"'"));for(let i in r){if(-1!==e.KeyframeJSONReservedWords.indexOf(i))continue;let n=r[i];if(Array.isArray(n)){if(1===n.length&&(n[1]=n[0],n[0]=null),void 0===this.controller.tweenProps[i]||!this.controller._ownerIsElement){let a=0;this.controller._ownerIsElement||(a=this.controller.element[i]||0);const o=i.startsWith("--");let l=n[2]||(o||c.includes(i)?void 0:"px"),u=this.controller.group.anim.plugins.keyframe.reduce((e,t)=>e||t.parseProp.call(this,r,i),null);if(!u&&this.controller._ownerIsElement)if(o||d.includes(i)){let t=h(i),n=r.round||["zIndex"].includes(t);a=parseFloat(this.controller.getTargetComputedStyle().getPropertyValue(t)),isNaN(a)&&(a=0),u=new s(a,e.KeyframeDefaults.epsilon,this.snapAtCreation,i,n,l),this.controller.cssAttributes.push(u)}else p.includes(i)&&(u=new t(a,e.KeyframeDefaults.epsilon,this.snapAtCreation,i,r.round,l),this.controller.domAttributes.push(u));u||(u=new t(a,e.KeyframeDefaults.epsilon,this.snapAtCreation,i,r.round,l)),this.controller.tweenProps[i]=u}this.animValues[i]=this.controller.group.expressionParser.parseArray(this,n),this.controller.tweenProps[i].calculateEpsilon(r,this.animValues[i])}}this.keyframeType=this.hold?e.KeyframeTypes.InterpolationForward:e.KeyframeTypes.Interpolation,r.event&&(this.event=r.event)}overwriteProps(e){this.animValues={};let t=Object.assign({},this.jsonProps,e);this.controller.updateKeyframe(this,t)}updateLocalProgress(e){if(this.start===this.end||e<this.start||e>this.end)return this.localT=e<this.start?this.hold?this.localT:0:e>this.end?1:0,void(this.curvedT=this.easeFunction(this.localT));const t=(e-this.start)/(this.end-this.start),s=this.hold?this.localT:0;this.localT=r.clamp(t,s,1),this.curvedT=this.easeFunction(this.localT)}reconcile(e){this.controller.tweenProps[e].reconcile(this.animValues[e],this.curvedT)&&(this.needsEventDispatch||(this.needsEventDispatch=!0,this.controller.keyframesRequiringDispatch.push(this)))}reset(e){this.localT=e||0;let t=this.ease;this.ease=1;for(let s in this.animValues)this.reconcile(s);this.ease=t}onDOMRead(e){let t=this.controller.tweenProps[e].update(this.animValues[e],this.curvedT,this.ease);return""===this.event||this.needsEventDispatch?t:(t&&(this.needsEventDispatch=!0,this.controller.keyframesRequiringDispatch.push(this)),t)}isInRange(e){return e>=this.start&&e<=this.end}setEnabled(t){t=t||o(Array.from(document.documentElement.classList));let s=-1!==this.breakpointMask.indexOf(e.pageMetrics.breakpoint),r=!1;return this.disabledWhen.length>0&&(r=this.disabledWhen.some(e=>void 0!==t[e])),this.isEnabled=s&&!r,this.isEnabled}evaluateConstraints(){this.start=this.controller.group.expressionParser.parseTimeValue(this,this.jsonProps.start),this.end=this.controller.group.expressionParser.parseTimeValue(this,this.jsonProps.end),this.evaluateInterpolationConstraints()}evaluateInterpolationConstraints(){for(let e in this.animValues){let t=this.jsonProps[e];this.animValues[e]=this.controller.group.expressionParser.parseArray(this,t)}}}m.DATA_ATTRIBUTE="data-anim-tween",module.exports=m;
},{"../Model/AnimSystemModel":"Wkev","../Model/TargetValue":"ovmE","../Model/CSSTargetValue":"EtDw","@marcom/sm-math-utils":"GWfh","../Model/EasingFunctions":"hw9N","../Model/UnitBezier":"eFkR","../Model/SpringEasing":"uvoY","../utils/arrayToObject":"YVny","../utils/toValidAnchor":"taMI","../utils/toKebabCase":"Z5g4","../Model/UUID":"P3m3","../Model/animated-attributes":"uQTI"}],"i67f":[function(require,module,exports) {
"use strict";const e=require("./Keyframe"),t=require("../Model/AnimSystemModel.js"),s=require("../Model/TargetValue.js");class i extends e{constructor(e,s){super(e,s),this.keyframeType=t.KeyframeTypes.CSSClass,this._triggerType=i.TRIGGER_TYPE_CSS_CLASS,this.cssClass="",this.friendlyName="",this.style={on:null,off:null},this.toggle=t.KeyframeDefaults.toggle,this.isApplied=!1}parseOptions(o){if(!this.controller._ownerIsElement)throw new TypeError("CSS Keyframes cannot be applied to JS Objects");if(o.x=void 0,o.y=void 0,o.z=void 0,o.scale=void 0,o.scaleX=void 0,o.scaleY=void 0,o.rotationX=void 0,o.rotationY=void 0,o.rotationZ=void 0,o.rotation=void 0,o.opacity=void 0,o.hold=void 0,void 0!==o.toggle&&(this.toggle=o.toggle),void 0!==o.cssClass)this._triggerType=i.TRIGGER_TYPE_CSS_CLASS,this.cssClass=o.cssClass,this.friendlyName="."+this.cssClass,void 0===this.controller.tweenProps.targetClasses&&(this.controller.tweenProps.targetClasses={add:[],remove:[]});else{if(void 0===o.style||!this.isValidStyleProperty(o.style))throw new TypeError("KeyframeCSSClass no 'cssClass` property found. If using `style` property its also missing or invalid");if(this._triggerType=i.TRIGGER_TYPE_STYLE_PROPERTY,this.style=o.style,this.friendlyName="style",this.toggle=void 0!==this.style.off||this.toggle,this.toggle&&void 0===this.style.off){this.style.off={};for(let e in this.style.on)this.style.off[e]=""}void 0===this.controller.tweenProps.targetStyles&&(this.controller.tweenProps.targetStyles={})}if(void 0===o.end&&(o.end=o.start),o.toggle=this.toggle,this._triggerType===i.TRIGGER_TYPE_CSS_CLASS)this.isApplied=this.controller.element.classList.contains(this.cssClass);else{let e=getComputedStyle(this.controller.element);this.isApplied=!0;for(let t in this.style.on)if(e[t]!==this.style.on[t]){this.isApplied=!1;break}}e.prototype.parseOptions.call(this,o),this.animValues[this.friendlyName]=[0,0],void 0===this.controller.tweenProps[this.friendlyName]&&(this.controller.tweenProps[this.friendlyName]=new s(0,1,!1,this.friendlyName)),this.keyframeType=t.KeyframeTypes.CSSClass}updateLocalProgress(e){this.isApplied&&!this.toggle||(this.start!==this.end?!this.isApplied&&e>=this.start&&e<=this.end?this._apply():this.isApplied&&this.toggle&&(e<this.start||e>this.end)&&this._unapply():!this.isApplied&&e>=this.start?this._apply():this.isApplied&&this.toggle&&e<this.start&&this._unapply())}_apply(){if(this._triggerType===i.TRIGGER_TYPE_CSS_CLASS)this.controller.tweenProps.targetClasses.add.push(this.cssClass),this.controller.needsClassUpdate=!0;else{for(let e in this.style.on)this.controller.tweenProps.targetStyles[e]=this.style.on[e];this.controller.needsStyleUpdate=!0}this.isApplied=!0}_unapply(){if(this._triggerType===i.TRIGGER_TYPE_CSS_CLASS)this.controller.tweenProps.targetClasses.remove.push(this.cssClass),this.controller.needsClassUpdate=!0;else{for(let e in this.style.off)this.controller.tweenProps.targetStyles[e]=this.style.off[e];this.controller.needsStyleUpdate=!0}this.isApplied=!1}isValidStyleProperty(e){if(!e.hasOwnProperty("on"))return!1;if("object"!=typeof e.on)throw new TypeError("KeyframeCSSClass `style` property should be in the form of: {on:{visibility:'hidden', otherProperty: 'value'}}");if(this.toggle&&e.hasOwnProperty("off")&&"object"!=typeof e.off)throw new TypeError("KeyframeCSSClass `style` property should be in the form of: {on:{visibility:'hidden', otherProperty: 'value'}}");return!0}reconcile(e){}onDOMRead(e){}evaluateInterpolationConstraints(){}}i.TRIGGER_TYPE_CSS_CLASS=0,i.TRIGGER_TYPE_STYLE_PROPERTY=1,i.DATA_ATTRIBUTE="data-anim-classname",module.exports=i;
},{"./Keyframe":"GAJ8","../Model/AnimSystemModel.js":"Wkev","../Model/TargetValue.js":"ovmE"}],"JR67":[function(require,module,exports) {
"use strict";const e=require("./Keyframe"),t=require("../Model/AnimSystemModel.js"),s=require("../Model/TargetValue.js");class i extends e{constructor(e,s){super(e,s),this.keyframeType=t.KeyframeTypes.Event,this.isApplied=!1,this.hasDuration=!1,this.isCurrentlyInRange=!1}parseOptions(e){e.x=void 0,e.y=void 0,e.scale=void 0,e.scaleX=void 0,e.scaleY=void 0,e.rotation=void 0,e.style=void 0,e.cssClass=void 0,e.rotation=void 0,e.opacity=void 0,e.hold=void 0,this.event=e.event,this.animValues[this.event]=[0,0],void 0===this.controller.tweenProps[this.event]&&(this.controller.tweenProps[this.event]=new s(0,1,!1,this.event)),super.parseOptions(e),this.keyframeType=t.KeyframeTypes.Event}updateLocalProgress(e){if(this.hasDuration){let t=this.isCurrentlyInRange,s=e>=this.start&&e<=this.end;if(t===s)return;return this.isCurrentlyInRange=s,void(s&&!t?this._trigger(this.event+":enter"):t&&!s&&this._trigger(this.event+":exit"))}!this.isApplied&&e>=this.start?(this.isApplied=!0,this._trigger(this.event)):this.isApplied&&e<this.start&&(this.isApplied=!1,this._trigger(this.event+":reverse"))}_trigger(e){this.controller.eventObject.event=e,this.controller.eventObject.keyframe=this,this.controller.trigger(e,this.controller.eventObject)}evaluateConstraints(){super.evaluateConstraints(),this.hasDuration=this.start!==this.end}reset(e){this.isApplied=!1,this.isCurrentlyInRange=!1,super.reset(e)}onDOMRead(e){}reconcile(e){}evaluateInterpolationConstraints(){}}i.DATA_ATTRIBUTE="data-anim-event",module.exports=i;
},{"./Keyframe":"GAJ8","../Model/AnimSystemModel.js":"Wkev","../Model/TargetValue.js":"ovmE"}],"ec4E":[function(require,module,exports) {
const s=require("./TweenProps");class o{constructor(o,r,t=!1){this.isGroup=t,this.group=o,this.controller=r,this.controllers=[],this.tweenProps=new s}}module.exports=o;
},{"./TweenProps":"H7PE"}],"Z5ZY":[function(require,module,exports) {
class s{constructor(){this.local=0,this.localUnclamped=0,this.lastPosition=0}}module.exports=s;
},{}],"zETY":[function(require,module,exports) {
class t{constructor(t,s){this.a=t.top-s,this.a<0&&(this.a=t.top),this.b=t.top,this.d=t.bottom,this.c=Math.max(this.d-s,this.b)}}module.exports=t;
},{}],"CTvq":[function(require,module,exports) {
"use strict";const t=require("./AnimSystemModel"),e=(t,e)=>null==t?e:t;class i{constructor(){this.clear()}clear(){this._metrics=new WeakMap}destroy(){this._metrics=null}add(t){let e=this._metrics.get(t);if(e)return e;let i=new h(t);return this._metrics.set(t,i),this._refreshMetrics(t,i)}get(t){return this._metrics.get(t)}refreshCollection(t){t.forEach(t=>this._refreshMetrics(t,null))}refreshMetrics(t){return this._refreshMetrics(t)}_refreshMetrics(i,h){if(h=h||this._metrics.get(i),!(i instanceof Element))return h.width=e(i.width,0),h.height=e(i.height,0),h.top=e(i.top,e(i.y,0)),h.left=e(i.left,e(i.x,0)),h.right=h.left+h.width,h.bottom=h.top+h.height,h;if(void 0===i.offsetWidth){let e=i.getBoundingClientRect();return h.width=e.width,h.height=e.height,h.top=t.pageMetrics.scrollY+e.top,h.left=t.pageMetrics.scrollX+e.left,h.right=h.left+h.width,h.bottom=h.top+h.height,h}h.width=i.offsetWidth,h.height=i.offsetHeight,h.top=t.pageMetrics.documentOffsetY,h.left=t.pageMetrics.documentOffsetX;let s=i;for(;s;)h.top+=s.offsetTop,h.left+=s.offsetLeft,s=s.offsetParent;return h.right=h.left+h.width,h.bottom=h.top+h.height,h}}class h{constructor(t){this.top=0,this.bottom=0,this.left=0,this.right=0,this.height=0,this.width=0}toString(){return`top:${this.top}, bottom:${this.bottom}, left:${this.left}, right:${this.right}, height:${this.height}, width:${this.width}`}toObject(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right,height:this.height,width:this.width}}}module.exports=i;
},{"./AnimSystemModel":"Wkev"}],"ABYp":[function(require,module,exports) {
const e=require("../Model/AnimSystemModel"),t=require("@marcom/sm-math-utils"),r={},s={smoothstep:(e,t,r)=>(r=s.clamp((r-e)/(t-e),0,1))*r*(3-2*r),deg:e=>180*e/Math.PI,rad:e=>e*Math.PI/180,random:(e,t)=>Math.random()*(t-e)+e,atan:Math.atan2};Object.getOwnPropertyNames(Math).forEach(e=>s[e]?null:s[e.toLowerCase()]=Math[e]),Object.getOwnPropertyNames(t).forEach(e=>s[e]?null:s[e.toLowerCase()]=t[e]);let n=null;const i={ANCHOR_CONST:"a",ALPHA:"ALPHA",LPAREN:"(",RPAREN:")",PLUS:"PLUS",MINUS:"MINUS",MUL:"MUL",DIV:"DIV",INTEGER_CONST:"INTEGER_CONST",FLOAT_CONST:"FLOAT_CONST",COMMA:",",EOF:"EOF"},h={NUMBERS:/\d|\d\.\d/,DIGIT:/\d/,OPERATOR:/[-+*/]/,PAREN:/[()]/,WHITE_SPACE:/\s/,ALPHA:/[a-zA-Z]|%/,ALPHANUMERIC:/[a-zA-Z0-9]/,OBJECT_UNIT:/^(t|l|b|r|%w|%h|%|h|w)$/,GLOBAL_METRICS_UNIT:/^(px|vh|vw)$/,ANY_UNIT:/^(t|l|b|r|%w|%h|%|h|w|px|vh|vw)$/,MATH_FUNCTION:new RegExp(`\\b(${Object.keys(s).join("|")})\\b`,"i")},o=function(e,t,r,s=""){let i=t.slice(Math.max(r,0),Math.min(t.length,r+3)),h=new Error(`Expression Error. ${e} in expression "${t}", near "${i}"`);throw console.error(h.message,n?n.keyframe||n.target:""),h},c={round:1,clamp:3,lerp:3,random:2,atan:2,floor:1,ceil:1,abs:1,cos:1,sin:1,smoothstep:3,rad:1,deg:1,pow:2,calc:1};class a{constructor(e,t){this.type=e,this.value=t}}a.ONE=new a("100",100),a.EOF=new a(i.EOF,null);class u{constructor(e){this.type=e}}class l extends u{constructor(e,t){super("UnaryOp"),this.token=this.op=e,this.expr=t}}class p extends u{constructor(e,t,r){super("BinOp"),this.left=e,this.op=t,this.right=r}}class T extends u{constructor(e,t){if(super("MathOp"),this.op=e,this.list=t,c[e.value]&&t.length!==c[e.value])throw new Error(`Incorrect number of arguments for '${e.value}'. Received ${t.length}, expected ${c[e.value]}`)}}class A extends u{constructor(e){super("Num"),this.token=e,this.value=e.value}}class N extends u{constructor(e){super("Unit"),this.token=e,this.value=e.value}}class m extends u{constructor(e,t,r){super("RefValue"),this.num=e,this.ref=t,this.unit=r}}class v extends u{constructor(e,t){super("CSSValue"),this.ref=e,this.propertyName=t}}class k extends u{constructor(e,t){super("PropValue"),this.ref=e,this.propertyName=t}}class f{constructor(e){let t;for(this.text=e,this.pos=0,this.char=this.text[this.pos],this.tokens=[];(t=this.getNextToken())&&t!==a.EOF;)this.tokens.push(t);this.tokens.push(t)}advance(){this.char=this.text[++this.pos]}skipWhiteSpace(){for(;null!=this.char&&h.WHITE_SPACE.test(this.char);)this.advance()}name(){let e="";for(;null!=this.char&&h.ALPHA.test(this.char);)e+=this.char,this.advance();return new a(i.ALPHA,e)}number(){let e="";for("."===this.char&&(e+=this.char,this.advance());null!=this.char&&h.DIGIT.test(this.char);)e+=this.char,this.advance();if(null!=this.char&&"."===this.char)for(e.includes(".")&&o("Number appears to contain 2 decimal points",this.text,this.pos),e+=this.char,this.advance();null!=this.char&&h.DIGIT.test(this.char);)e+=this.char,this.advance();return"."===e&&o("Attempted to parse a number, but found only a decimal point",this.text,this.pos),e.includes(".")?new a(i.FLOAT_CONST,parseFloat(e)):new a(i.INTEGER_CONST,parseInt(e))}getNextToken(){for(;null!=this.char;)if(h.WHITE_SPACE.test(this.char))this.skipWhiteSpace();else{if("."===this.char||h.DIGIT.test(this.char))return this.number();if(","===this.char)return this.advance(),new a(i.COMMA,",");if(h.OPERATOR.test(this.char)){let e="",t=this.char;switch(t){case"+":e=i.PLUS;break;case"-":e=i.MINUS;break;case"*":e=i.MUL;break;case"/":e=i.DIV}return this.advance(),new a(e,t)}if(h.PAREN.test(this.char)){let e="",t=this.char;switch(t){case"(":e=i.LPAREN;break;case")":e=i.RPAREN}return this.advance(),new a(e,t)}if(h.ALPHA.test(this.char))return this.name();o(`Unexpected character "${this.char}"`,this.text,this.pos)}return a.EOF}}class d{constructor(e){this.lexer=e,this.pos=0}get currentToken(){return this.lexer.tokens[this.pos]}error(e,t=""){o(e,t,this.lexer.text,this.pos)}consume(e){let t=this.currentToken;return t.type===e?this.pos+=1:this.error(`Invalid token ${this.currentToken.value}, expected ${e}`),t}consumeList(e){e.includes(this.currentToken)?this.pos+=1:this.error(`Invalid token ${this.currentToken.value}, expected ${tokenType}`)}expr(){let e=this.term();for(;this.currentToken.type===i.PLUS||this.currentToken.type===i.MINUS;){const t=this.currentToken;switch(t.value){case"+":this.consume(i.PLUS);break;case"-":this.consume(i.MINUS)}e=new p(e,t,this.term())}return e}term(){let e=this.factor();for(;this.currentToken.type===i.MUL||this.currentToken.type===i.DIV;){const t=this.currentToken;switch(t.value){case"*":this.consume(i.MUL);break;case"/":this.consume(i.DIV)}e=new p(e,t,this.factor())}return e}factor(){if(this.currentToken.type===i.PLUS)return new l(this.consume(i.PLUS),this.factor());if(this.currentToken.type===i.MINUS)return new l(this.consume(i.MINUS),this.factor());if(this.currentToken.type===i.INTEGER_CONST||this.currentToken.type===i.FLOAT_CONST){let e=new A(this.currentToken);if(this.pos+=1,h.OPERATOR.test(this.currentToken.value)||this.currentToken.type===i.RPAREN||this.currentToken.type===i.COMMA||this.currentToken.type===i.EOF)return e;if(this.currentToken.type===i.ALPHA&&this.currentToken.value===i.ANCHOR_CONST)return this.consume(i.ALPHA),new m(e,this.anchorIndex(),this.unit(h.ANY_UNIT));if(this.currentToken.type===i.ALPHA)return"%a"===this.currentToken.value&&this.error("%a is invalid, try removing the %"),new m(e,null,this.unit());this.error("Expected a scaling unit type","Such as 'h' / 'w'")}else{if(h.OBJECT_UNIT.test(this.currentToken.value))return new m(new A(a.ONE),null,this.unit());if(this.currentToken.value===i.ANCHOR_CONST){this.consume(i.ALPHA);const e=this.anchorIndex();if(h.OBJECT_UNIT.test(this.currentToken.value))return new m(new A(a.ONE),e,this.unit())}else if(this.currentToken.type===i.ALPHA){if("calc"===this.currentToken.value)return this.consume(i.ALPHA),this.expr();if("css"===this.currentToken.value||"var"===this.currentToken.value||"prop"===this.currentToken.value){const e="prop"!==this.currentToken.value?v:k;this.consume(i.ALPHA),this.consume(i.LPAREN);const t=this.propertyName();let r=null;return this.currentToken.type===i.COMMA&&(this.consume(i.COMMA),this.consume(i.ALPHA),r=this.anchorIndex()),this.consume(i.RPAREN),new e(r,t)}if(h.MATH_FUNCTION.test(this.currentToken.value)){const e=this.currentToken.value.toLowerCase();if("number"==typeof s[e])return this.consume(i.ALPHA),new A(new a(i.ALPHA,s[e]));const t=a[e]||new a(e,e),r=[];this.consume(i.ALPHA),this.consume(i.LPAREN);let n=null;do{this.currentToken.value===i.COMMA&&this.consume(i.COMMA),n=this.expr(),r.push(n)}while(this.currentToken.value===i.COMMA);return this.consume(i.RPAREN),new T(t,r)}}else if(this.currentToken.type===i.LPAREN){this.consume(i.LPAREN);let e=this.expr();return this.consume(i.RPAREN),e}}this.error(`Unexpected token ${this.currentToken.value}`)}propertyName(){let e="";for(;this.currentToken.type===i.ALPHA||this.currentToken.type===i.MINUS;)e+=this.currentToken.value,this.pos+=1;return e}unit(e=h.ANY_UNIT){const t=this.currentToken;if(t.type===i.ALPHA&&e.test(t.value))return this.consume(i.ALPHA),new a(i.ALPHA,t.value=t.value.replace(/%(h|w)/,"$1").replace("%","h"));this.error("Expected unit type")}anchorIndex(){const e=this.currentToken;if(e.type===i.INTEGER_CONST)return this.consume(i.INTEGER_CONST),new A(e);this.error("Invalid anchor reference",". Should be something like a0, a1, a2")}parse(){const e=this.expr();return this.currentToken!==a.EOF&&this.error(`Unexpected token ${this.currentToken.value}`),e}}class w{constructor(e){this.parser=e,this.root=e.parse()}visit(e){let t=this[e.type];if(!t)throw new Error(`No visit method named, ${t}`);return t.call(this,e)}BinOp(e){switch(e.op.type){case i.PLUS:return this.visit(e.left)+this.visit(e.right);case i.MINUS:return this.visit(e.left)-this.visit(e.right);case i.MUL:return this.visit(e.left)*this.visit(e.right);case i.DIV:return this.visit(e.left)/this.visit(e.right)}}RefValue(t){let r=this.unwrapReference(t),s=t.unit.value,i=t.num.value;const h=n.metrics.get(r);switch(s){case"h":return.01*i*h.height;case"t":return.01*i*h.top;case"vh":return.01*i*e.pageMetrics.windowHeight;case"vw":return.01*i*e.pageMetrics.windowWidth;case"px":return i;case"w":return.01*i*h.width;case"b":return.01*i*h.bottom;case"l":return.01*i*h.left;case"r":return.01*i*h.right}}PropValue(e){return(null===e.ref?n.target:n.anchors[e.ref.value])[e.propertyName]}CSSValue(e){let t=this.unwrapReference(e);const r=getComputedStyle(t).getPropertyValue(e.propertyName);return""===r?0:w.Parse(r).execute(n)}Num(e){return e.value}UnaryOp(e){return e.op.type===i.PLUS?+this.visit(e.expr):e.op.type===i.MINUS?-this.visit(e.expr):void 0}MathOp(e){let t=e.list.map(e=>this.visit(e));return s[e.op.value].apply(null,t)}unwrapReference(e){return null===e.ref?n.target:(e.ref.value>=n.anchors.length&&console.error(`Not enough anchors supplied for expression ${this.parser.lexer.text}`,n.target),n.anchors[e.ref.value])}execute(e){return n=e,this.visit(this.root)}static Parse(e){return r[e]||(r[e]=new w(new d(new f(e))))}}w.programs=r,module.exports=w;
},{"../Model/AnimSystemModel":"Wkev","@marcom/sm-math-utils":"GWfh"}],"QYw0":[function(require,module,exports) {
"use strict";const r=require("./Interpreter"),e=new(require("../Model/ElementMetricsLookup"));class s{constructor(r){this.group=r,this.data={target:null,anchors:null,metrics:this.group.metrics}}parseArray(r,e){return[this.parseExpression(r,e[0]),this.parseExpression(r,e[1])]}parseExpression(r,e){if(!e)return null;if("number"==typeof e)return e;if("string"!=typeof e)throw`Expression must be a string, received ${typeof e}: ${e}`;return this.data.target=r.controller.element,this.data.anchors=r.anchors,this.data.keyframe=r.keyframe,this.group.anim.plugins.parser.reduce((s,t)=>s||t.parseExpression.call(this,r,e),null)||s._parse(e,this.data)}parseTimeValue(r,e){if("number"==typeof e)return e;let s=this.group.expressionParser.parseExpression(r,e);return this.group.convertScrollPositionToTValue(s)}destroy(){this.group=null}static parse(r,t){return(t=t||{})&&(e.clear(),t.target&&e.add(t.target),t.anchors&&t.anchors.forEach(r=>e.add(r))),t.metrics=e,s._parse(r,t)}static _parse(e,s){return r.Parse(e).execute(s)}}s.programs=r.programs,"undefined"!=typeof window&&(window.ExpressionParser=s),module.exports=s;
},{"./Interpreter":"ABYp","../Model/ElementMetricsLookup":"CTvq"}],"t73W":[function(require,module,exports) {
class e{constructor(e){this.controller=e,this.element=this.controller.element,this.keyframe=null,this.event="",this.tweenProps=this.controller.tweenProps}}module.exports=e;
},{}],"raJn":[function(require,module,exports) {
"use strict";const e=require("./AnimSystemModel"),r=require("../Keyframes/Keyframe"),t=require("../Keyframes/KeyframeDiscreteEvent"),s=require("../Keyframes/KeyframeCSSClass"),n=function(r){for(let t in r){let s=r[t];if(-1===e.KeyframeJSONReservedWords.indexOf(t)&&Array.isArray(s))return!0}return!1},i=function(e){if(void 0!==e.cssClass||void 0!==e.style){if(n(e))throw"CSS Keyframes cannot tween values, please use multiple keyframes instead";return s}if(n(e))return r;if(e.event)return t;throw delete e.anchors,`Could not determine tween type based on ${JSON.stringify(e)}`};module.exports=i;
},{"./AnimSystemModel":"Wkev","../Keyframes/Keyframe":"GAJ8","../Keyframes/KeyframeDiscreteEvent":"JR67","../Keyframes/KeyframeCSSClass":"i67f"}],"r0x6":[function(require,module,exports) {
"use strict";"undefined"!=typeof window&&(window.DOMMatrix=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix);const t=180/Math.PI,n=t=>Math.round(1e6*t)/1e6;function a(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2])}function r(t,n){return 0===n?Array.from(t):[t[0]/n,t[1]/n,t[2]/n]}function o(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function e(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function i(t,n,a,r){return[t[0]*a+n[0]*r,t[1]*a+n[1]*r,t[2]*a+n[2]*r]}let M=function(a){const[r,o,e,i]=a,M=r*r,s=o*o,u=e*e,c=r*o+e*i,w=i*i+M+s+u;return c>.49999*w?[0,2*Math.atan2(r,i)*t,90]:c<-.49999*w?[0,-2*Math.atan2(r,i)*t,-90]:[n(Math.atan2(2*r*i-2*o*e,1-2*M-2*u)*t),n(Math.atan2(2*o*i-2*r*e,1-2*s-2*u)*t),n(Math.asin(2*r*o+2*e*i)*t)]};function s(t){const s=new Float32Array(4),u=new Float32Array(3),c=new Float32Array(3),w=new Float32Array(3);w[0]=t[3][0],w[1]=t[3][1],w[2]=t[3][2];const l=new Array(3);for(let n=0;n<3;n++)l[n]=t[n].slice(0,3);u[0]=a(l[0]),l[0]=r(l[0],u[0]),c[0]=o(l[0],l[1]),l[1]=i(l[1],l[0],1,-c[0]),u[1]=a(l[1]),l[1]=r(l[1],u[1]),c[0]/=u[1],c[1]=o(l[0],l[2]),l[2]=i(l[2],l[0],1,-c[1]),c[2]=o(l[1],l[2]),l[2]=i(l[2],l[1],1,-c[2]),u[2]=a(l[2]),l[2]=r(l[2],u[2]),c[1]/=u[2],c[2]/=u[2];const f=e(l[1],l[2]);if(o(l[0],f)<0)for(let n=0;n<3;n++)u[n]*=-1,l[n][0]*=-1,l[n][1]*=-1,l[n][2]*=-1;let h;return s[0]=.5*Math.sqrt(Math.max(1+l[0][0]-l[1][1]-l[2][2],0)),s[1]=.5*Math.sqrt(Math.max(1-l[0][0]+l[1][1]-l[2][2],0)),s[2]=.5*Math.sqrt(Math.max(1-l[0][0]-l[1][1]+l[2][2],0)),s[3]=.5*Math.sqrt(Math.max(1+l[0][0]+l[1][1]+l[2][2],0)),l[2][1]>l[1][2]&&(s[0]=-s[0]),l[0][2]>l[2][0]&&(s[1]=-s[1]),l[1][0]>l[0][1]&&(s[2]=-s[2]),{translation:w,rotation:h=s[0]<.001&&s[0]>=0&&s[1]<.001&&s[1]>=0?[0,0,n(180*Math.atan2(l[0][1],l[0][0])/Math.PI)]:M(s),eulerRotation:h,scale:[n(u[0]),n(u[1]),n(u[2])]}}const u=function(t){t instanceof Element&&(t=String(getComputedStyle(t).transform).trim());let n=new DOMMatrix(t);const a=new Array(4);for(let r=1;r<5;r++){const t=a[r-1]=new Float32Array(4);for(let a=1;a<5;a++)t[a-1]=n[`m${r}${a}`]}return s(a)};module.exports=u;
},{}],"YXYL":[function(require,module,exports) {
"use strict";var n="undefined"!=typeof window?window:{},e="AC",t="SharedInstance",r=n[e],u=function(){var n={};return{get:function(e,t){var r=null;return n[e]&&n[e][t]&&(r=n[e][t]),r},set:function(e,t,r){return n[e]||(n[e]={}),n[e][t]="function"==typeof r?new r:r,n[e][t]},share:function(n,e,t){var r=this.get(n,e);return r||(r=this.set(n,e,t)),r},remove:function(e,t){var r=typeof t;if("string"!==r&&"number"!==r)n[e]&&(n[e]=null);else{if(!n[e]||!n[e][t])return;n[e][t]=null}}}}();r||(r=n[e]={}),r[t]||(r[t]=u),module.exports=r[t];
},{}],"DxEI":[function(require,module,exports) {
"use strict";module.exports={SharedInstance:require("./ac-shared-instance/SharedInstance")};
},{"./ac-shared-instance/SharedInstance":"YXYL"}],"dIaQ":[function(require,module,exports) {
module.exports={majorVersionNumber:"3.x"};
},{}],"jdHz":[function(require,module,exports) {
"use strict";var s,t=require("@marcom/ac-event-emitter-micro/EventEmitterMicro");function e(s){s=s||{},this._reset(),this.updatePhases(),this.eventEmitter=new t,this._willRun=!1,this._totalSubscribeCount=-1,this._requestAnimationFrame=window.requestAnimationFrame,this._cancelAnimationFrame=window.cancelAnimationFrame,this._boundOnAnimationFrame=this._onAnimationFrame.bind(this),this._boundOnExternalAnimationFrame=this._onExternalAnimationFrame.bind(this)}(s=e.prototype).frameRequestedPhase="requested",s.startPhase="start",s.runPhases=["update","external","draw"],s.endPhase="end",s.disabledPhase="disabled",s.beforePhaseEventPrefix="before:",s.afterPhaseEventPrefix="after:",s.subscribe=function(s,t){return this._totalSubscribeCount++,this._nextFrameSubscribers[s.id]||(t?this._nextFrameSubscribersOrder.unshift(s.id):this._nextFrameSubscribersOrder.push(s.id),this._nextFrameSubscribers[s.id]=s,this._nextFrameSubscriberArrayLength++,this._nextFrameSubscriberCount++,this._run()),this._totalSubscribeCount},s.subscribeImmediate=function(s,t){return this._totalSubscribeCount++,this._subscribers[s.id]||(t?this._subscribersOrder.splice(this._currentSubscriberIndex+1,0,s.id):this._subscribersOrder.unshift(s.id),this._subscribers[s.id]=s,this._subscriberArrayLength++,this._subscriberCount++),this._totalSubscribeCount},s.unsubscribe=function(s){return!!this._nextFrameSubscribers[s.id]&&(this._nextFrameSubscribers[s.id]=null,this._nextFrameSubscriberCount--,0===this._nextFrameSubscriberCount&&this._cancel(),!0)},s.getSubscribeID=function(){return this._totalSubscribeCount+=1},s.destroy=function(){var s=this._cancel();return this.eventEmitter.destroy(),this.eventEmitter=null,this.phases=null,this._subscribers=null,this._subscribersOrder=null,this._nextFrameSubscribers=null,this._nextFrameSubscribersOrder=null,this._rafData=null,this._boundOnAnimationFrame=null,this._onExternalAnimationFrame=null,s},s.useExternalAnimationFrame=function(s){if("boolean"==typeof s){var t=this._isUsingExternalAnimationFrame;return s&&this._animationFrame&&(this._cancelAnimationFrame.call(window,this._animationFrame),this._animationFrame=null),!this._willRun||s||this._animationFrame||(this._animationFrame=this._requestAnimationFrame.call(window,this._boundOnAnimationFrame)),this._isUsingExternalAnimationFrame=s,s?this._boundOnExternalAnimationFrame:t||!1}},s.updatePhases=function(){this.phases||(this.phases=[]),this.phases.length=0,this.phases.push(this.frameRequestedPhase),this.phases.push(this.startPhase),Array.prototype.push.apply(this.phases,this.runPhases),this.phases.push(this.endPhase),this._runPhasesLength=this.runPhases.length,this._phasesLength=this.phases.length},s._run=function(){if(!this._willRun)return this._willRun=!0,0===this.lastFrameTime&&(this.lastFrameTime=performance.now()),this._animationFrameActive=!0,this._isUsingExternalAnimationFrame||(this._animationFrame=this._requestAnimationFrame.call(window,this._boundOnAnimationFrame)),this.phase===this.disabledPhase&&(this.phaseIndex=0,this.phase=this.phases[this.phaseIndex]),!0},s._cancel=function(){var s=!1;return this._animationFrameActive&&(this._animationFrame&&(this._cancelAnimationFrame.call(window,this._animationFrame),this._animationFrame=null),this._animationFrameActive=!1,this._willRun=!1,s=!0),this._isRunning||this._reset(),s},s._onAnimationFrame=function(s){for(this._subscribers=this._nextFrameSubscribers,this._subscribersOrder=this._nextFrameSubscribersOrder,this._subscriberArrayLength=this._nextFrameSubscriberArrayLength,this._subscriberCount=this._nextFrameSubscriberCount,this._nextFrameSubscribers={},this._nextFrameSubscribersOrder=[],this._nextFrameSubscriberArrayLength=0,this._nextFrameSubscriberCount=0,this.phaseIndex=0,this.phase=this.phases[this.phaseIndex],this._isRunning=!0,this._willRun=!1,this._didRequestNextRAF=!1,this._rafData.delta=s-this.lastFrameTime,this.lastFrameTime=s,this._rafData.fps=0,this._rafData.delta>=1e3&&(this._rafData.delta=0),0!==this._rafData.delta&&(this._rafData.fps=1e3/this._rafData.delta),this._rafData.time=s,this._rafData.naturalFps=this._rafData.fps,this._rafData.timeNow=Date.now(),this.phaseIndex++,this.phase=this.phases[this.phaseIndex],this.eventEmitter.trigger(this.beforePhaseEventPrefix+this.phase),this._currentSubscriberIndex=0;this._currentSubscriberIndex<this._subscriberArrayLength;this._currentSubscriberIndex++)null!==this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]&&!1===this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]._didDestroy&&this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]._onAnimationFrameStart(this._rafData);for(this.eventEmitter.trigger(this.afterPhaseEventPrefix+this.phase),this._runPhaseIndex=0;this._runPhaseIndex<this._runPhasesLength;this._runPhaseIndex++){for(this.phaseIndex++,this.phase=this.phases[this.phaseIndex],this.eventEmitter.trigger(this.beforePhaseEventPrefix+this.phase),this._currentSubscriberIndex=0;this._currentSubscriberIndex<this._subscriberArrayLength;this._currentSubscriberIndex++)null!==this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]&&!1===this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]._didDestroy&&this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]].trigger(this.phase,this._rafData);this.eventEmitter.trigger(this.afterPhaseEventPrefix+this.phase)}for(this.phaseIndex++,this.phase=this.phases[this.phaseIndex],this.eventEmitter.trigger(this.beforePhaseEventPrefix+this.phase),this._currentSubscriberIndex=0;this._currentSubscriberIndex<this._subscriberArrayLength;this._currentSubscriberIndex++)null!==this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]&&!1===this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]._didDestroy&&this._subscribers[this._subscribersOrder[this._currentSubscriberIndex]]._onAnimationFrameEnd(this._rafData);this.eventEmitter.trigger(this.afterPhaseEventPrefix+this.phase),this._willRun?(this.phaseIndex=0,this.phaseIndex=this.phases[this.phaseIndex]):this._reset()},s._onExternalAnimationFrame=function(s){this._isUsingExternalAnimationFrame&&this._onAnimationFrame(s)},s._reset=function(){this._rafData||(this._rafData={}),this._rafData.time=0,this._rafData.delta=0,this._rafData.fps=0,this._rafData.naturalFps=0,this._rafData.timeNow=0,this._subscribers={},this._subscribersOrder=[],this._currentSubscriberIndex=-1,this._subscriberArrayLength=0,this._subscriberCount=0,this._nextFrameSubscribers={},this._nextFrameSubscribersOrder=[],this._nextFrameSubscriberArrayLength=0,this._nextFrameSubscriberCount=0,this._didEmitFrameData=!1,this._animationFrame=null,this._animationFrameActive=!1,this._isRunning=!1,this._shouldReset=!1,this.lastFrameTime=0,this._runPhaseIndex=-1,this.phaseIndex=-1,this.phase=this.disabledPhase},module.exports=e;
},{"@marcom/ac-event-emitter-micro/EventEmitterMicro":"pTzQ"}],"GDVM":[function(require,module,exports) {
"use strict";var e=require("@marcom/ac-shared-instance").SharedInstance,r=require("../.release-info.js").majorVersionNumber,a=require("./RAFExecutor");module.exports=e.share("@marcom/ac-raf-emitter/sharedRAFExecutorInstance",r,a);
},{"@marcom/ac-shared-instance":"DxEI","../.release-info.js":"dIaQ","./RAFExecutor":"jdHz"}],"ex0z":[function(require,module,exports) {
"use strict";var r=require("@marcom/ac-shared-instance").SharedInstance,e=require("../.release-info.js").majorVersionNumber,t=function(){this._currentID=0};t.prototype.getNewID=function(){return this._currentID++,"raf:"+this._currentID},module.exports=r.share("@marcom/ac-raf-emitter/sharedRAFEmitterIDGeneratorInstance",e,t);
},{"@marcom/ac-shared-instance":"DxEI","../.release-info.js":"dIaQ"}],"FSYF":[function(require,module,exports) {
"use strict";var t,i=require("@marcom/ac-event-emitter-micro").EventEmitterMicro,e=require("./sharedRAFExecutorInstance"),n=require("./sharedRAFEmitterIDGeneratorInstance");function r(t){t=t||{},i.call(this),this.id=n.getNewID(),this.executor=t.executor||e,this._reset(),this._willRun=!1,this._didDestroy=!1}(t=r.prototype=Object.create(i.prototype)).run=function(){return this._willRun||(this._willRun=!0),this._subscribe()},t.cancel=function(){this._unsubscribe(),this._willRun&&(this._willRun=!1),this._reset()},t.destroy=function(){var t=this.willRun();return this.cancel(),this.executor=null,i.prototype.destroy.call(this),this._didDestroy=!0,t},t.willRun=function(){return this._willRun},t.isRunning=function(){return this._isRunning},t._subscribe=function(){return this.executor.subscribe(this)},t._unsubscribe=function(){return this.executor.unsubscribe(this)},t._onAnimationFrameStart=function(t){this._isRunning=!0,this._willRun=!1,this._didEmitFrameData||(this._didEmitFrameData=!0,this.trigger("start",t))},t._onAnimationFrameEnd=function(t){this._willRun||(this.trigger("stop",t),this._reset())},t._reset=function(){this._didEmitFrameData=!1,this._isRunning=!1},module.exports=r;
},{"@marcom/ac-event-emitter-micro":"Y3Ia","./sharedRAFExecutorInstance":"GDVM","./sharedRAFEmitterIDGeneratorInstance":"ex0z"}],"FXmk":[function(require,module,exports) {
"use strict";var t=require("./RAFEmitter"),e=function(e){t.call(this,e)},r=e.prototype=Object.create(t.prototype);r._subscribe=function(){return this.executor.subscribe(this,!0)},module.exports=e;
},{"./RAFEmitter":"FSYF"}],"TYPX":[function(require,module,exports) {
"use strict";var e=require("./SingleCallRAFEmitter"),t=function(t){this.phase=t,this.rafEmitter=new e,this._cachePhaseIndex(),this.requestAnimationFrame=this.requestAnimationFrame.bind(this),this.cancelAnimationFrame=this.cancelAnimationFrame.bind(this),this._onBeforeRAFExecutorStart=this._onBeforeRAFExecutorStart.bind(this),this._onBeforeRAFExecutorPhase=this._onBeforeRAFExecutorPhase.bind(this),this._onAfterRAFExecutorPhase=this._onAfterRAFExecutorPhase.bind(this),this.rafEmitter.on(this.phase,this._onRAFExecuted.bind(this)),this.rafEmitter.executor.eventEmitter.on("before:start",this._onBeforeRAFExecutorStart),this.rafEmitter.executor.eventEmitter.on("before:"+this.phase,this._onBeforeRAFExecutorPhase),this.rafEmitter.executor.eventEmitter.on("after:"+this.phase,this._onAfterRAFExecutorPhase),this._frameCallbacks=[],this._currentFrameCallbacks=[],this._nextFrameCallbacks=[],this._phaseActive=!1,this._currentFrameID=-1,this._cancelFrameIdx=-1,this._frameCallbackLength=0,this._currentFrameCallbacksLength=0,this._nextFrameCallbacksLength=0,this._frameCallbackIteration=0},a=t.prototype;a.requestAnimationFrame=function(e,t){return!0===t&&this.rafEmitter.executor.phaseIndex>0&&this.rafEmitter.executor.phaseIndex<=this.phaseIndex?this._phaseActive?(this._currentFrameID=this.rafEmitter.executor.subscribeImmediate(this.rafEmitter,!0),this._frameCallbacks.push(this._currentFrameID,e),this._frameCallbackLength+=2):(this._currentFrameID=this.rafEmitter.executor.subscribeImmediate(this.rafEmitter,!1),this._currentFrameCallbacks.push(this._currentFrameID,e),this._currentFrameCallbacksLength+=2):(this._currentFrameID=this.rafEmitter.run(),this._nextFrameCallbacks.push(this._currentFrameID,e),this._nextFrameCallbacksLength+=2),this._currentFrameID},a.cancelAnimationFrame=function(e){this._cancelFrameIdx=this._nextFrameCallbacks.indexOf(e),this._cancelFrameIdx>-1?this._cancelNextAnimationFrame():(this._cancelFrameIdx=this._currentFrameCallbacks.indexOf(e),this._cancelFrameIdx>-1?this._cancelCurrentAnimationFrame():(this._cancelFrameIdx=this._frameCallbacks.indexOf(e),this._cancelFrameIdx>-1&&this._cancelRunningAnimationFrame()))},a._onRAFExecuted=function(e){for(this._frameCallbackIteration=0;this._frameCallbackIteration<this._frameCallbackLength;this._frameCallbackIteration+=2)this._frameCallbacks[this._frameCallbackIteration+1](e.time,e);this._frameCallbacks.length=0,this._frameCallbackLength=0},a._onBeforeRAFExecutorStart=function(){Array.prototype.push.apply(this._currentFrameCallbacks,this._nextFrameCallbacks.splice(0,this._nextFrameCallbacksLength)),this._currentFrameCallbacksLength=this._nextFrameCallbacksLength,this._nextFrameCallbacks.length=0,this._nextFrameCallbacksLength=0},a._onBeforeRAFExecutorPhase=function(){this._phaseActive=!0,Array.prototype.push.apply(this._frameCallbacks,this._currentFrameCallbacks.splice(0,this._currentFrameCallbacksLength)),this._frameCallbackLength=this._currentFrameCallbacksLength,this._currentFrameCallbacks.length=0,this._currentFrameCallbacksLength=0},a._onAfterRAFExecutorPhase=function(){this._phaseActive=!1},a._cachePhaseIndex=function(){this.phaseIndex=this.rafEmitter.executor.phases.indexOf(this.phase)},a._cancelRunningAnimationFrame=function(){this._frameCallbacks.splice(this._cancelFrameIdx,2),this._frameCallbackLength-=2},a._cancelCurrentAnimationFrame=function(){this._currentFrameCallbacks.splice(this._cancelFrameIdx,2),this._currentFrameCallbacksLength-=2},a._cancelNextAnimationFrame=function(){this._nextFrameCallbacks.splice(this._cancelFrameIdx,2),this._nextFrameCallbacksLength-=2,0===this._nextFrameCallbacksLength&&this.rafEmitter.cancel()},module.exports=t;
},{"./SingleCallRAFEmitter":"FXmk"}],"JWAo":[function(require,module,exports) {
"use strict";var e=require("./RAFInterface"),t=function(){this.events={}},n=t.prototype;n.requestAnimationFrame=function(t){return this.events[t]||(this.events[t]=new e(t)),this.events[t].requestAnimationFrame},n.cancelAnimationFrame=function(t){return this.events[t]||(this.events[t]=new e(t)),this.events[t].cancelAnimationFrame},module.exports=new t;
},{"./RAFInterface":"TYPX"}],"Iu2k":[function(require,module,exports) {
"use strict";var e=require("./RAFInterfaceController");module.exports=e.requestAnimationFrame("update");
},{"./RAFInterfaceController":"JWAo"}],"nuNW":[function(require,module,exports) {
"use strict";var e=require("./RAFInterfaceController");module.exports=e.requestAnimationFrame("external");
},{"./RAFInterfaceController":"JWAo"}],"Bn5L":[function(require,module,exports) {
"use strict";var e=require("./RAFInterfaceController");module.exports=e.requestAnimationFrame("draw");
},{"./RAFInterfaceController":"JWAo"}],"CJSY":[function(require,module,exports) {
function r(){var r=new Float32Array(16);return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r}module.exports=r;
},{}],"XZCP":[function(require,module,exports) {
function t(t,n,o){var r=Math.sin(o),a=Math.cos(o),e=n[4],s=n[5],u=n[6],c=n[7],h=n[8],i=n[9],M=n[10],d=n[11];return n!==t&&(t[0]=n[0],t[1]=n[1],t[2]=n[2],t[3]=n[3],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[4]=e*a+h*r,t[5]=s*a+i*r,t[6]=u*a+M*r,t[7]=c*a+d*r,t[8]=h*a-e*r,t[9]=i*a-s*r,t[10]=M*a-u*r,t[11]=d*a-c*r,t}module.exports=t;
},{}],"oVHP":[function(require,module,exports) {
function t(t,n,o){var r=Math.sin(o),a=Math.cos(o),e=n[0],s=n[1],u=n[2],c=n[3],h=n[8],i=n[9],M=n[10],d=n[11];return n!==t&&(t[4]=n[4],t[5]=n[5],t[6]=n[6],t[7]=n[7],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=e*a-h*r,t[1]=s*a-i*r,t[2]=u*a-M*r,t[3]=c*a-d*r,t[8]=e*r+h*a,t[9]=s*r+i*a,t[10]=u*r+M*a,t[11]=c*r+d*a,t}module.exports=t;
},{}],"sYuD":[function(require,module,exports) {
function t(t,n,o){var r=Math.sin(o),a=Math.cos(o),e=n[0],s=n[1],u=n[2],c=n[3],h=n[4],i=n[5],M=n[6],d=n[7];return n!==t&&(t[8]=n[8],t[9]=n[9],t[10]=n[10],t[11]=n[11],t[12]=n[12],t[13]=n[13],t[14]=n[14],t[15]=n[15]),t[0]=e*a+h*r,t[1]=s*a+i*r,t[2]=u*a+M*r,t[3]=c*a+d*r,t[4]=h*a-e*r,t[5]=i*a-s*r,t[6]=M*a-u*r,t[7]=d*a-c*r,t}module.exports=t;
},{}],"HTs9":[function(require,module,exports) {
function r(r,e,n){var o=n[0],t=n[1],u=n[2];return r[0]=e[0]*o,r[1]=e[1]*o,r[2]=e[2]*o,r[3]=e[3]*o,r[4]=e[4]*t,r[5]=e[5]*t,r[6]=e[6]*t,r[7]=e[7]*t,r[8]=e[8]*u,r[9]=e[9]*u,r[10]=e[10]*u,r[11]=e[11]*u,r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15],r}module.exports=r;
},{}],"i9Hw":[function(require,module,exports) {
"use strict";const e=require("../Model/AnimSystemModel"),t=require("../Model/TargetValue"),s=require("../Model/EventObject"),r=require("../Model/AnimInfo"),i=require("./KeyframeCSSClass"),n=require("../Model/InferKeyframeFromProps"),a=require("../utils/arrayToObject"),l=require("../Model/UUID"),o=require("@marcom/ac-event-emitter-micro").EventEmitterMicro,h=require("@marcom/decompose-css-transform"),u={};"undefined"!=typeof window&&(u.update=require("@marcom/ac-raf-emitter/update"),u.external=require("@marcom/ac-raf-emitter/external"),u.draw=require("@marcom/ac-raf-emitter/draw"));const{transformAttributes:m,cssAttributes:c,domAttributes:f}=require("../Model/animated-attributes"),d=Math.PI/180,p={create:require("gl-mat4/create"),rotateX:require("gl-mat4/rotateX"),rotateY:require("gl-mat4/rotateY"),rotateZ:require("gl-mat4/rotateZ"),scale:require("gl-mat4/scale")};class y extends o{constructor(e,t){super(),this._events.draw=[],this.uuid=l(),this.group=e,this.element=t,this._ownerIsElement=this.element instanceof Element,this._ownerIsElement?this.friendlyName=this.element.tagName+"."+Array.from(this.element.classList).join("."):this.friendlyName=this.element.friendlyName||this.uuid,this.element._animInfo=this.element._animInfo||new r(e,this),this.element._animInfo.controller=this,this.element._animInfo.group=this.group,this.element._animInfo.controllers.push(this),this.tweenProps=this.element._animInfo.tweenProps,this.eventObject=new s(this),this.needsStyleUpdate=!1,this.needsClassUpdate=!1,this.elementMetrics=this.group.metrics.add(this.element),this.attributes=[],this.cssAttributes=[],this.domAttributes=[],this.keyframes={},this._allKeyframes=[],this._activeKeyframes=[],this.keyframesRequiringDispatch=[],this.updateCachedValuesFromElement(),this.boundsMin=0,this.boundsMax=0,this.mat2d=new Float32Array(6),this.mat4=p.create(),this.needsWrite=!0,this.onDOMWriteImp=this._ownerIsElement?this.onDOMWriteForElement:this.onDOMWriteForObject}destroy(){if(this.element._animInfo){this.element._animInfo.controller===this&&(this.element._animInfo.controller=null);let e=this.element._animInfo.controllers.indexOf(this);if(-1!==e&&this.element._animInfo.controllers.splice(e,1),0===this.element._animInfo.controllers.length)this.element._animInfo=null;else{let e=this.element._animInfo.controllers.find(e=>e.group!==e.group.anim.tweenGroup);e&&(this.element._animInfo.controller=e,this.element._animInfo.group=e.group)}}this.eventObject.controller=null,this.eventObject.element=null,this.eventObject.keyframe=null,this.eventObject.tweenProps=null,this.eventObject=null,this.elementMetrics=null,this.group=null,this.keyframesRequiringDispatch=null;for(let e=0;e<this._allKeyframes.length;e++)this._allKeyframes[e].destroy();this._allKeyframes=null,this._activeKeyframes=null,this.attributes=null,this.keyframes=null,this.element=null,this.tweenProps=null,this.destroyed=!0,super.destroy()}remove(){return this.group.removeKeyframeController(this)}updateCachedValuesFromElement(){if(!this._ownerIsElement)return;const s=this.getTargetComputedStyle(!0);let r=new DOMMatrix(s.getPropertyValue("transform")),i=h(r),n=e.KeyframeDefaults.epsilon;["x","y","z"].forEach((e,s)=>{this.tweenProps[e]=new t(i.translation[s],n,!1,e)}),this.tweenProps.rotation=new t(i.rotation[2],n,!1,"rotation"),["rotationX","rotationY","rotationZ"].forEach((e,s)=>{this.tweenProps[e]=new t(i.rotation[s],n,!1,e)}),this.tweenProps.scale=new t(i.scale[0],n,!1,"scale"),["scaleX","scaleY","scaleZ"].forEach((e,s)=>{this.tweenProps[e]=new t(i.scale[s],n,!1,e)})}addKeyframe(e){let t=n(e);if(!t)throw new Error("AnimSystem Cannot create keyframe for from options `"+e+"`");let s=new t(this,e);return s.parseOptions(e),s.id=this._allKeyframes.length,this._allKeyframes.push(s),s}needsUpdate(){for(let e=0,t=this.attributes.length;e<t;e++){let t=this.attributes[e];if(this.tweenProps[t].needsUpdate())return!0}return!1}updateLocalProgress(e){for(let t=0,s=this.attributes.length;t<s;t++){let s=this.attributes[t],r=this.keyframes[this.attributes[t]];if(1===r.length){r[0].updateLocalProgress(e);continue}let i=this.getNearestKeyframeForAttribute(s,e);i&&i.updateLocalProgress(e)}}reconcile(){for(let e=0,t=this.attributes.length;e<t;e++){let t=this.attributes[e],s=this.getNearestKeyframeForAttribute(t,this.group.position.local);s.updateLocalProgress(this.group.position.local),s.snapAtCreation&&s.reconcile(t)}}determineActiveKeyframes(e){e=e||a(Array.from(document.documentElement.classList));let t=this._activeKeyframes,s=this.attributes,r={};this._activeKeyframes=[],this.attributes=[],this.keyframes={};for(let i=0;i<this._allKeyframes.length;i++){let t=this._allKeyframes[i];if(t.markedForRemoval||t.hidden||!t.setEnabled(e))for(let e in t.animValues)this.tweenProps[e].isActive=t.preserveState,t.preserveState&&(r[e]=!0);else{this._activeKeyframes.push(t);for(let e in t.animValues)this.keyframes[e]=this.keyframes[e]||[],this.keyframes[e].push(t),-1===this.attributes.indexOf(e)&&(r[e]=!0,this.attributes.push(e),this.tweenProps[e].isActive=!0)}}this.attributes.forEach(e=>this.tweenProps[e].isActive=!0),this.cssAttributes=this.attributes.filter(e=>c.includes(e)||e.startsWith("--")).map(e=>this.tweenProps[e]),this.domAttributes=this.attributes.filter(e=>f.includes(e)).map(e=>this.tweenProps[e]);let n=t.filter(e=>-1===this._activeKeyframes.indexOf(e));if(0===n.length)return;let l=s.filter(e=>-1===this.attributes.indexOf(e)&&!r.hasOwnProperty(e));if(0!==l.length)if(this.needsWrite=!0,this._ownerIsElement)u.external(()=>{let e=l.some(e=>m.includes(e)),t=e&&Object.keys(r).some(e=>m.includes(e));e&&!t&&this.element.style.removeProperty("transform");for(let s=0,r=l.length;s<r;++s){let e=l[s],t=this.tweenProps[e],r=t.isActive?t.target:t.initialValue;t.current=t.target=r,!t.isActive&&c.includes(e)&&(this.element.style[e]=null)}for(let s=0,r=n.length;s<r;++s){let e=n[s];e instanceof i&&!e.preserveState&&e._unapply()}},!0);else for(let i=0,a=l.length;i<a;++i){let e=this.tweenProps[l[i]];e.current=e.target,e.isActive=!1}}onDOMRead(e){for(let t=0,s=this.attributes.length;t<s;t++){let s=this.attributes[t],r=this.getNearestKeyframeForAttribute(s,e);r&&r.onDOMRead(s)&&(this.needsWrite=!0)}}onDOMWrite(){(this.needsWrite||this.needsClassUpdate||this.needsStyleUpdate)&&(this.needsWrite=!1,this.onDOMWriteImp(),this.handleEventDispatch())}onDOMWriteForObject(){for(let e=0,t=this.attributes.length;e<t;e++){let t=this.attributes[e];this.element[t]=this.tweenProps[t].current}}onDOMWriteForElement(e=this.element.style){this.handleStyleTransform(e);for(let t=0,s=this.cssAttributes.length;t<s;t++)this.cssAttributes[t].set(e);for(let t=0,s=this.domAttributes.length;t<s;t++)this.domAttributes[t].set(this.element);if(this.needsStyleUpdate){for(let e in this.tweenProps.targetStyles)null!==this.tweenProps.targetStyles[e]&&(this.element.style[e]=this.tweenProps.targetStyles[e]),this.tweenProps.targetStyles[e]=null;this.needsStyleUpdate=!1}this.needsClassUpdate&&(this.tweenProps.targetClasses.add.length>0&&this.element.classList.add.apply(this.element.classList,this.tweenProps.targetClasses.add),this.tweenProps.targetClasses.remove.length>0&&this.element.classList.remove.apply(this.element.classList,this.tweenProps.targetClasses.remove),this.tweenProps.targetClasses.add.length=0,this.tweenProps.targetClasses.remove.length=0,this.needsClassUpdate=!1)}handleStyleTransform(e=this.element.style){let t=this.tweenProps;if(t.z.isActive||t.rotationX.isActive||t.rotationY.isActive){const s=this.mat4;s[0]=1,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=1,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=1,s[11]=0,s[12]=0,s[13]=0,s[14]=0,s[15]=1;const r=t.x.current,i=t.y.current,n=t.z.current;if(s[12]=s[0]*r+s[4]*i+s[8]*n+s[12],s[13]=s[1]*r+s[5]*i+s[9]*n+s[13],s[14]=s[2]*r+s[6]*i+s[10]*n+s[14],s[15]=s[3]*r+s[7]*i+s[11]*n+s[15],0!==t.rotation.current||0!==t.rotationZ.current){const e=(t.rotation.current||t.rotationZ.current)*d;p.rotateZ(s,s,e)}if(0!==t.rotationX.current){const e=t.rotationX.current*d;p.rotateX(s,s,e)}if(0!==t.rotationY.current){const e=t.rotationY.current*d;p.rotateY(s,s,e)}1===t.scale.current&&1===t.scaleX.current&&1===t.scaleY.current||p.scale(s,s,[t.scale.current,t.scale.current,1]),e.transform="matrix3d("+s[0]+","+s[1]+","+s[2]+","+s[3]+","+s[4]+","+s[5]+","+s[6]+","+s[7]+","+s[8]+","+s[9]+","+s[10]+","+s[11]+","+s[12]+","+s[13]+","+s[14]+","+s[15]+")"}else if(t.x.isActive||t.y.isActive||t.rotation.isActive||t.rotationZ.isActive||t.scale.isActive||t.scaleX.isActive||t.scaleY.isActive){const s=this.mat2d;s[0]=1,s[1]=0,s[2]=0,s[3]=1,s[4]=0,s[5]=0;const r=t.x.current,i=t.y.current,n=s[0],a=s[1],l=s[2],o=s[3],h=s[4],u=s[5];if(s[0]=n,s[1]=a,s[2]=l,s[3]=o,s[4]=n*r+l*i+h,s[5]=a*r+o*i+u,0!==t.rotation.current||0!==t.rotationZ.current){const e=(t.rotation.current||t.rotationZ.current)*d,r=s[0],i=s[1],n=s[2],a=s[3],l=s[4],o=s[5],h=Math.sin(e),u=Math.cos(e);s[0]=r*u+n*h,s[1]=i*u+a*h,s[2]=r*-h+n*u,s[3]=i*-h+a*u,s[4]=l,s[5]=o}t.scaleX.isActive||t.scaleY.isActive?(s[0]=s[0]*t.scaleX.current,s[1]=s[1]*t.scaleX.current,s[2]=s[2]*t.scaleY.current,s[3]=s[3]*t.scaleY.current):(s[0]=s[0]*t.scale.current,s[1]=s[1]*t.scale.current,s[2]=s[2]*t.scale.current,s[3]=s[3]*t.scale.current),e.transform="matrix("+s[0]+", "+s[1]+", "+s[2]+", "+s[3]+", "+s[4]+", "+s[5]+")"}}handleEventDispatch(){if(0!==this.keyframesRequiringDispatch.length){for(let t=0,s=this.keyframesRequiringDispatch.length;t<s;t++){let s=this.keyframesRequiringDispatch[t];s.needsEventDispatch=!1,this.eventObject.keyframe=s,this.eventObject.pageMetrics=e.pageMetrics,this.eventObject.event=s.event,this.trigger(s.event,this.eventObject)}this.keyframesRequiringDispatch.length=0}if(0!==this._events.draw.length){this.eventObject.keyframe=null,this.eventObject.event="draw";for(let e=this._events.draw.length-1;e>=0;e--)this._events.draw[e](this.eventObject)}}updateAnimationConstraints(){for(let e=0,t=this._activeKeyframes.length;e<t;e++)this._activeKeyframes[e].evaluateConstraints();this.attributes.forEach(t=>{1!==this.keyframes[t].length&&this.keyframes[t].sort(e.KeyframeComparison)}),this.updateDeferredPropertyValues()}refreshMetrics(){let e=new Set([this.element]);this._allKeyframes.forEach(t=>t.anchors.forEach(t=>e.add(t))),this.group.metrics.refreshCollection(e),this.group.keyframesDirty=!0}getTargetComputedStyle(e=!1){return this._ownerIsElement?((e||void 0===this.group.computedStyleCache[this.uuid])&&(this.group.computedStyleCache[this.uuid]=getComputedStyle(this.element)),this.group.computedStyleCache[this.uuid]):null}updateDeferredPropertyValues(){for(let t=0,s=this.attributes.length;t<s;t++){let s=this.attributes[t],r=this.keyframes[s];if(!(r[0].keyframeType>e.KeyframeTypes.InterpolationForward))for(let e=0,t=r.length;e<t;e++){let i=r[e];null===i.jsonProps[s][0]&&(0===e?i.jsonProps[s][0]=i.animValues[s][0]=this.tweenProps[s].current:i.animValues[s][0]=r[e-1].animValues[s][1]),null===i.jsonProps[s][1]&&(i.animValues[s][1]=e===t-1?this.tweenProps[s].current:r[e+1].animValues[s][0]),i.snapAtCreation&&(i.jsonProps[s][0]=i.animValues[s][0],i.jsonProps[s][1]=i.animValues[s][1])}}}getBounds(e){this.boundsMin=Number.MAX_VALUE,this.boundsMax=-Number.MAX_VALUE;for(let t=0,s=this.attributes.length;t<s;t++){let s=this.keyframes[this.attributes[t]];for(let t=0;t<s.length;t++){let r=s[t];this.boundsMin=Math.min(r.start,this.boundsMin),this.boundsMax=Math.max(r.end,this.boundsMax),e.min=Math.min(r.start,e.min),e.max=Math.max(r.end,e.max)}}}getNearestKeyframeForAttribute(e,t){t=void 0!==t?t:this.group.position.local;let s=null,r=Number.POSITIVE_INFINITY,i=this.keyframes[e];if(void 0===i)return null;let n=i.length;if(0===n)return null;if(1===n)return i[0];for(let a=0;a<n;a++){let e=i[a];if(e.isInRange(t)){s=e;break}let n=Math.min(Math.abs(t-e.start),Math.abs(t-e.end));n<r&&(r=n,s=e)}return s}getAllKeyframesForAttribute(e){return this.keyframes[e]}updateKeyframe(t,s){t.parseOptions(s),t.evaluateConstraints(),this.group.keyframesDirty=!0,u.update(()=>{this.trigger(e.EVENTS.ON_KEYFRAME_UPDATED,t),this.group.trigger(e.EVENTS.ON_KEYFRAME_UPDATED,t)},!0)}removeKeyframe(e){return e.controller!==this?Promise.resolve(null):(e.markedForRemoval=!0,this.group.keyframesDirty=!0,new Promise(t=>{this.group.rafEmitter.executor.eventEmitter.once("before:draw",()=>{t(e),e.destroy();let s=this._allKeyframes.indexOf(e);-1!==s&&this._allKeyframes.splice(s,1)})}))}updateAnimation(e,t){return this.group.gui&&console.warn("KeyframeController.updateAnimation(keyframe,props) has been deprecated. Please use updateKeyframe(keyframe,props)"),this.updateKeyframe(e,t)}}module.exports=y;
},{"../Model/AnimSystemModel":"Wkev","../Model/TargetValue":"ovmE","../Model/EventObject":"t73W","../Model/AnimInfo":"ec4E","./KeyframeCSSClass":"i67f","../Model/InferKeyframeFromProps":"raJn","../utils/arrayToObject":"YVny","../Model/UUID":"P3m3","@marcom/ac-event-emitter-micro":"Y3Ia","@marcom/decompose-css-transform":"r0x6","@marcom/ac-raf-emitter/update":"Iu2k","@marcom/ac-raf-emitter/external":"nuNW","@marcom/ac-raf-emitter/draw":"Bn5L","../Model/animated-attributes":"uQTI","gl-mat4/create":"CJSY","gl-mat4/rotateX":"XZCP","gl-mat4/rotateY":"oVHP","gl-mat4/rotateZ":"sYuD","gl-mat4/scale":"HTs9"}],"Ys1t":[function(require,module,exports) {
"use strict";const e=require("@marcom/ac-event-emitter-micro").EventEmitterMicro,t=require("@marcom/sm-math-utils"),i=require("./utils/arrayToObject"),s=require("./Model/AnimSystemModel"),r=require("./Model/AnimInfo"),o=require("./Model/Progress"),n=require("./Model/ViewableRange"),l=require("./Model/ElementMetricsLookup"),a=require("./Parsing/ExpressionParser"),h=require("./Keyframes/KeyframeController"),m={};"undefined"!=typeof window&&(m.create=require("@marcom/ac-raf-emitter/RAFEmitter"),m.update=require("@marcom/ac-raf-emitter/update"),m.draw=require("@marcom/ac-raf-emitter/draw"));let d=0;class c extends e{constructor(e,t){super(),this.anim=t,this.element=e,this.name=this.name||e.getAttribute("data-anim-scroll-group"),this.isEnabled=!0,this.position=new o,this.metrics=new l,this.metrics.add(this.element),this.expressionParser=new a(this),this.boundsMin=0,this.boundsMax=0,this.timelineUpdateRequired=!1,this._keyframesDirty=!1,this.viewableRange=this.createViewableRange(),this.defaultEase=s.KeyframeDefaults.ease,this.keyframeControllers=[],this.updateProgress(this.getPosition()),this.onDOMRead=this.onDOMRead.bind(this),this.onDOMWrite=this.onDOMWrite.bind(this),this.gui=null,this.computedStyleCache={},this.finalizeInit()}finalizeInit(){this.element._animInfo=new r(this,null,!0),this.setupRAFEmitter()}destroy(){this.destroyed=!0,this.expressionParser.destroy(),this.expressionParser=null;for(let e=0,t=this.keyframeControllers.length;e<t;e++)this.keyframeControllers[e].destroy();this.keyframeControllers=null,this.position=null,this.viewableRange=null,this.gui&&(this.gui.destroy(),this.gui=null),this.metrics.destroy(),this.metrics=null,this.rafEmitter.destroy(),this.rafEmitter=null,this.anim=null,this.element._animInfo&&this.element._animInfo.group===this&&(this.element._animInfo.group=null,this.element._animInfo=null),this.element=null,this.isEnabled=!1,super.destroy()}removeKeyframeController(e){return this.keyframeControllers.includes(e)?(e._allKeyframes.forEach(e=>e.markedForRemoval=!0),this.keyframesDirty=!0,new Promise(t=>{m.draw(()=>{const i=this.keyframeControllers.indexOf(e);-1!==i?(this.keyframeControllers.splice(i,1),e.onDOMWrite(),e.destroy(),this.gui&&this.gui.create(),t()):t()})})):Promise.resolve()}remove(){return this.anim.removeGroup(this)}clear(){return Promise.all(this.keyframeControllers.map(e=>this.removeKeyframeController(e)))}setupRAFEmitter(e){this.rafEmitter&&this.rafEmitter.destroy(),this.rafEmitter=e||new m.create,this.rafEmitter.on("update",this.onDOMRead),this.rafEmitter.on("draw",this.onDOMWrite),this.rafEmitter.once("external",()=>this.reconcile())}requestDOMChange(){return!!this.isEnabled&&this.rafEmitter.run()}onDOMRead(){this.keyframesDirty&&this.onKeyframesDirty();for(let e=0,t=this.keyframeControllers.length;e<t;e++)this.keyframeControllers[e].onDOMRead(this.position.local)}onDOMWrite(){for(let e=0,t=this.keyframeControllers.length;e<t;e++)this.keyframeControllers[e].onDOMWrite();this.needsUpdate()&&this.requestDOMChange(),this.computedStyleCache={}}needsUpdate(){if(this._keyframesDirty)return!0;for(let e=0,t=this.keyframeControllers.length;e<t;e++)if(this.keyframeControllers[e].needsUpdate())return!0;return!1}addKeyframe(e,t){let i=this.getControllerForTarget(e);return null===i&&(i=new h(this,e),this.keyframeControllers.push(i)),this.keyframesDirty=!0,i.addKeyframe(t)}addEvent(e,t){t.event=t.event||"Generic-Event-Name-"+d++;let i=void 0!==t.end&&t.end!==t.start;const s=this.addKeyframe(e,t);return i?(t.onEnterOnce&&s.controller.once(t.event+":enter",t.onEnterOnce),t.onExitOnce&&s.controller.once(t.event+":exit",t.onExitOnce),t.onEnter&&s.controller.on(t.event+":enter",t.onEnter),t.onExit&&s.controller.on(t.event+":exit",t.onExit)):(t.onEventOnce&&s.controller.once(t.event,t.onEventOnce),t.onEventReverseOnce&&s.controller.once(t.event+":reverse",t.onEventReverseOnce),t.onEvent&&s.controller.on(t.event,t.onEvent),t.onEventReverse&&s.controller.on(t.event+":reverse",t.onEventReverse)),s}forceUpdate({waitForNextUpdate:e=!0,silent:t=!1}={}){this.isEnabled&&(this.refreshMetrics(),this.timelineUpdateRequired=!0,e?this.keyframesDirty=!0:this.onKeyframesDirty({silent:t}))}onKeyframesDirty({silent:e=!1}={}){this.determineActiveKeyframes(),this.keyframesDirty=!1,this.metrics.refreshMetrics(this.element),this.viewableRange=this.createViewableRange();for(let t=0,i=this.keyframeControllers.length;t<i;t++)this.keyframeControllers[t].updateAnimationConstraints();this.updateBounds(),this.updateProgress(this.getPosition()),e||this.updateTimeline(),this.gui&&this.gui.create()}refreshMetrics(){let e=new Set([this.element]);this.keyframeControllers.forEach(t=>{e.add(t.element),t._allKeyframes.forEach(t=>t.anchors.forEach(t=>e.add(t)))}),this.metrics.refreshCollection(e),this.viewableRange=this.createViewableRange()}reconcile(){for(let e=0,t=this.keyframeControllers.length;e<t;e++)this.keyframeControllers[e].reconcile()}determineActiveKeyframes(e){e=e||i(Array.from(document.documentElement.classList));for(let t=0,i=this.keyframeControllers.length;t<i;t++)this.keyframeControllers[t].determineActiveKeyframes(e)}updateBounds(){if(0===this.keyframeControllers.length)return this.boundsMin=0,void(this.boundsMax=0);let e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};for(let s=0,r=this.keyframeControllers.length;s<r;s++)this.keyframeControllers[s].getBounds(e);let t=this.convertTValueToScrollPosition(e.min),i=this.convertTValueToScrollPosition(e.max);i-t<s.pageMetrics.windowHeight?(e.min=this.convertScrollPositionToTValue(t-.5*s.pageMetrics.windowHeight),e.max=this.convertScrollPositionToTValue(i+.5*s.pageMetrics.windowHeight)):(e.min-=.001,e.max+=.001),this.boundsMin=e.min,this.boundsMax=e.max,this.timelineUpdateRequired=!0}createViewableRange(){return new n(this.metrics.get(this.element),s.pageMetrics.windowHeight)}_onBreakpointChange(e,t){this.keyframesDirty=!0,this.determineActiveKeyframes()}updateProgress(e){this.hasDuration()?(this.position.localUnclamped=(e-this.viewableRange.a)/(this.viewableRange.d-this.viewableRange.a),this.position.local=t.clamp(this.position.localUnclamped,this.boundsMin,this.boundsMax)):this.position.local=this.position.localUnclamped=0}performTimelineDispatch(){for(let e=0,t=this.keyframeControllers.length;e<t;e++)this.keyframeControllers[e].updateLocalProgress(this.position.local);this.trigger(s.EVENTS.ON_TIMELINE_UPDATE,this.position.local),this.trigger("update",this.position.local),this.timelineUpdateRequired=!1,this.position.lastPosition!==this.position.local&&(this.position.lastPosition<=this.boundsMin&&this.position.localUnclamped>this.boundsMin?(this.trigger(s.EVENTS.ON_TIMELINE_START,this),this.trigger("start",this)):this.position.lastPosition>=this.boundsMin&&this.position.localUnclamped<this.boundsMin?(this.trigger(s.EVENTS.ON_TIMELINE_START+":reverse",this),this.trigger("start:reverse",this)):this.position.lastPosition<=this.boundsMax&&this.position.localUnclamped>=this.boundsMax?(this.trigger(s.EVENTS.ON_TIMELINE_COMPLETE,this),this.trigger("complete",this)):this.position.lastPosition>=this.boundsMax&&this.position.localUnclamped<this.boundsMax&&(this.trigger(s.EVENTS.ON_TIMELINE_COMPLETE+":reverse",this),this.trigger("complete:reverse",this))),null!==this.gui&&this.gui.onScrollUpdate(this.position)}updateTimeline(e){if(!this.isEnabled)return!1;void 0===e&&(e=this.getPosition()),this.updateProgress(e);let t=this.position.lastPosition===this.boundsMin||this.position.lastPosition===this.boundsMax,i=this.position.localUnclamped===this.boundsMin||this.position.localUnclamped===this.boundsMax;if(!this.timelineUpdateRequired&&t&&i&&this.position.lastPosition===e)return void(this.position.local=this.position.localUnclamped);if(this.timelineUpdateRequired||this.position.localUnclamped>this.boundsMin&&this.position.localUnclamped<this.boundsMax)return this.performTimelineDispatch(),this.requestDOMChange(),void(this.position.lastPosition=this.position.localUnclamped);let s=this.position.lastPosition>this.boundsMin&&this.position.lastPosition<this.boundsMax,r=this.position.localUnclamped<=this.boundsMin||this.position.localUnclamped>=this.boundsMax;if(s&&r)return this.performTimelineDispatch(),this.requestDOMChange(),void(this.position.lastPosition=this.position.localUnclamped);const o=this.position.lastPosition<this.boundsMin&&this.position.localUnclamped>this.boundsMax,n=this.position.lastPosition>this.boundsMax&&this.position.localUnclamped<this.boundsMax;(o||n)&&(this.performTimelineDispatch(),this.requestDOMChange(),this.position.lastPosition=this.position.localUnclamped),null!==this.gui&&this.gui.onScrollUpdate(this.position)}_onScroll(e){this.updateTimeline(e)}convertScrollPositionToTValue(e){return this.hasDuration()?t.map(e,this.viewableRange.a,this.viewableRange.d,0,1):0}convertTValueToScrollPosition(e){return this.hasDuration()?t.map(e,0,1,this.viewableRange.a,this.viewableRange.d):0}hasDuration(){return this.viewableRange.a!==this.viewableRange.d}getPosition(){return s.pageMetrics.scrollY}getControllerForTarget(e){if(!e._animInfo||!e._animInfo.controllers)return null;if(e._animInfo.controller&&e._animInfo.controller.group===this)return e._animInfo.controller;const t=e._animInfo.controllers;for(let i=0,s=t.length;i<s;i++)if(t[i].group===this)return t[i];return null}trigger(e,t){if(void 0!==this._events[e])for(let i=this._events[e].length-1;i>=0;i--)void 0!==t?this._events[e][i](t):this._events[e][i]()}set keyframesDirty(e){this._keyframesDirty=e,this._keyframesDirty&&this.requestDOMChange()}get keyframesDirty(){return this._keyframesDirty}}module.exports=c;
},{"@marcom/ac-event-emitter-micro":"Y3Ia","@marcom/sm-math-utils":"GWfh","./utils/arrayToObject":"YVny","./Model/AnimSystemModel":"Wkev","./Model/AnimInfo":"ec4E","./Model/Progress":"Z5ZY","./Model/ViewableRange":"zETY","./Model/ElementMetricsLookup":"CTvq","./Parsing/ExpressionParser":"QYw0","./Keyframes/KeyframeController":"i9Hw","@marcom/ac-raf-emitter/RAFEmitter":"FSYF","@marcom/ac-raf-emitter/update":"Iu2k","@marcom/ac-raf-emitter/draw":"Bn5L"}],"qnIU":[function(require,module,exports) {
const t=require("./Model/AnimSystemModel");class e{constructor(t,e){this._index=0,this.keyframe=t,e&&(this.name=e)}get start(){return this.keyframe.jsonProps.start}set index(t){this._index=t}get index(){return this._index}}class r{constructor(t){this.timeGroup=t,this.chapters=[],this.chapterNames={},this.currentChapter=null,this.tween=null}addChapter(t){const{position:r,name:i}=t;if(void 0===r)throw ReferenceError("Cannot add chapter without target position.");t._impIsFirst||0!==this.chapters.length||this.addChapter({position:0,_impIsFirst:!0});let s=this.timeGroup.addKeyframe(this,{start:r,end:r,event:"Chapter"});this.timeGroup.forceUpdate({waitForNextFrame:!1,silent:!0});const a=new e(s,i);if(this.chapters.push(a),i){if(this.chapterNames.hasOwnProperty(i))throw ReferenceError(`Duplicate chapter name assigned - "${i}" is already in use`);this.chapterNames[i]=a}return this.chapters.sort((t,e)=>t.start-e.start).forEach((t,e)=>t.index=e),this.currentChapter=this.currentChapter||this.chapters[0],a}playToChapter(e){let r;if(e.hasOwnProperty("index"))r=this.chapters[e.index];else{if(!e.hasOwnProperty("name"))throw ReferenceError("Cannot play to chapter without target index or name");r=this.chapterNames[e.name]}if(!r||this.currentChapter===r&&!0!==e.force)return;let i=e.ease||"easeInOutCubic";this.tween&&this.tween.controller&&(this.tween.remove(),i="easeOutQuint"),this.timeGroup.timeScale(e.timeScale||1);const s=void 0!==e.duration?e.duration:this.getDurationToChapter(r),a=this.timeGroup.time(),n=r.start;let h=!1;this.tween=this.timeGroup.anim.addTween({time:a},{easeFunction:i,duration:s,time:[a,n],onStart:()=>this.timeGroup.trigger(t.EVENTS.ON_CHAPTER_INITIATED,{player:this,next:r}),onDraw:e=>{let i=e.tweenProps.time.current;this.timeGroup.time(i),e.keyframe.curvedT>.5&&!h&&(h=!0,this.currentIndex=r.index,this.currentChapter=r,this.timeGroup.trigger(t.EVENTS.ON_CHAPTER_OCCURRED,{player:this,current:r}))},onComplete:()=>{this.timeGroup.trigger(t.EVENTS.ON_CHAPTER_COMPLETED,{player:this,current:r}),this.timeGroup.paused(!0),this.tween=null}})}getDurationToChapter(t){const e=this.chapters[t.index-1]||this.chapters[t.index+1];return Math.abs(e.start-t.start)}}module.exports=r;
},{"./Model/AnimSystemModel":"Wkev"}],"kHTY":[function(require,module,exports) {
"use strict";const e=require("./ScrollGroup"),t=require("./ChapterPlayer"),i=require("@marcom/sm-math-utils");let s=0;const r={};"undefined"!=typeof window&&(r.create=require("@marcom/ac-raf-emitter/RAFEmitter"));class a extends e{constructor(e,i){e||((e=document.createElement("div")).className="TimeGroup-"+s++),super(e,i),this.name=this.name||e.getAttribute("data-anim-time-group"),this._isPaused=!0,this._repeats=0,this._isReversed=!1,this._timeScale=1,this._chapterPlayer=new t(this),this.now=performance.now()}finalizeInit(){if(!this.anim)throw"TimeGroup not instantiated correctly. Please use `AnimSystem.createTimeGroup(el)`";this.onPlayTimeUpdate=this.onPlayTimeUpdate.bind(this),super.finalizeInit()}progress(e){if(void 0===e)return 0===this.boundsMax?0:this.position.local/this.boundsMax;let t=e*this.boundsMax;this.timelineUpdateRequired=!0,this.updateTimeline(t)}time(e){if(void 0===e)return this.position.local;e=i.clamp(e,this.boundsMin,this.duration),this.timelineUpdateRequired=!0,this.updateTimeline(e)}play(e){this.reversed(!1),this.isEnabled=!0,this._isPaused=!1,this.time(e),this.now=performance.now(),this._playheadEmitter.run()}reverse(e){this.reversed(!0),this.isEnabled=!0,this._isPaused=!1,this.time(e),this.now=performance.now(),this._playheadEmitter.run()}reversed(e){if(void 0===e)return this._isReversed;this._isReversed=e}restart(){this._isReversed?(this.progress(1),this.reverse(this.time())):(this.progress(0),this.play(this.time()))}pause(e){this.time(e),this._isPaused=!0}paused(e){return void 0===e?this._isPaused:(this._isPaused=e,this._isPaused||this.play(),this)}onPlayTimeUpdate(){if(this._isPaused)return;let e=performance.now(),t=(e-this.now)/1e3;this.now=e,this._isReversed&&(t=-t);let i=this.time()+t*this._timeScale;if(this._repeats===a.REPEAT_FOREVER||this._repeats>0){let e=!1;!this._isReversed&&i>this.boundsMax?(i-=this.boundsMax,e=!0):this._isReversed&&i<0&&(i=this.boundsMax+i,e=!0),e&&(this._repeats=this._repeats===a.REPEAT_FOREVER?a.REPEAT_FOREVER:this._repeats-1)}this.time(i);let s=!this._isReversed&&this.position.local!==this.duration,r=this._isReversed&&0!==this.position.local;s||r?this._playheadEmitter.run():this.paused(!0)}updateProgress(e){this.hasDuration()?(this.position.localUnclamped=e,this.position.local=i.clamp(this.position.localUnclamped,this.boundsMin,this.boundsMax)):this.position.local=this.position.localUnclamped=0}updateBounds(){if(0===this.keyframeControllers.length)return this.boundsMin=0,void(this.boundsMax=0);let e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};for(let t=0,i=this.keyframeControllers.length;t<i;t++)this.keyframeControllers[t].getBounds(e);this.boundsMin=0,this.boundsMax=e.max,this.viewableRange.a=this.viewableRange.b=0,this.viewableRange.c=this.viewableRange.d=this.boundsMax,this.timelineUpdateRequired=!0}setupRAFEmitter(e){this._playheadEmitter=new r.create,this._playheadEmitter.on("update",this.onPlayTimeUpdate),super.setupRAFEmitter(e)}get duration(){return this.keyframesDirty&&this.onKeyframesDirty({silent:!0}),this.boundsMax}timeScale(e){return void 0===e?this._timeScale:(this._timeScale=e,this)}repeats(e){if(void 0===e)return this._repeats;this._repeats=e}getPosition(){return this.position.local}addChapter(e){return this._chapterPlayer.addChapter(e)}playToChapter(e){this._chapterPlayer.playToChapter(e)}convertScrollPositionToTValue(e){return e}convertTValueToScrollPosition(e){return e}hasDuration(){return this.duration>0}destroy(){this._playheadEmitter.destroy(),this._playheadEmitter=null,super.destroy()}get timelineProgress(){return this.progress()}set timelineProgress(e){this.progress(e)}get progressValue(){return this.progress()}set progressValue(e){this.progress(e)}get timeValue(){return this.time()}set timeValue(e){this.time(e)}}a.REPEAT_FOREVER=-1,module.exports=a;
},{"./ScrollGroup":"Ys1t","./ChapterPlayer":"qnIU","@marcom/sm-math-utils":"GWfh","@marcom/ac-raf-emitter/RAFEmitter":"FSYF"}],"lS3P":[function(require,module,exports) {
const e=require("./ScrollGroup"),t=require("./ChapterPlayer"),r=require("@marcom/sm-math-utils");let i=0;const s={};"undefined"!=typeof window&&(s.create=require("@marcom/ac-raf-emitter/RAFEmitter"));class o extends e{constructor(e,t){e||((e=document.createElement("div")).className="TweenGroup-"+i++),super(e,t),this.name="Tweens",this.keyframes=[],this._isPaused=!1,this.now=performance.now()}finalizeInit(){this.onTimeEmitterUpdate=this.onTimeEmitterUpdate.bind(this),this.removeExpiredKeyframeControllers=this.removeExpiredKeyframeControllers.bind(this),super.finalizeInit()}destroy(){this._timeEmitter.destroy(),this._timeEmitter=null,this._keyframes=[],super.destroy()}setupRAFEmitter(e){this.now=performance.now(),this._timeEmitter=new s.create,this._timeEmitter.on("update",this.onTimeEmitterUpdate),this._timeEmitter.run(),super.setupRAFEmitter(e)}addKeyframe(e,t){if(void 0!==t.start||void 0!==t.end)throw Error("Tweens do not have a start or end, they can only have a duration. Consider using a TimeGroup instead");if("number"!=typeof t.duration)throw Error("Tween options.duration is undefined, or is not a number");let r,i;t.start=(t.delay||0)+this.position.localUnclamped,t.end=t.start+t.duration,t.preserveState=!0,t.snapAtCreation=!0,e._animInfo&&(r=e._animInfo.group,i=e._animInfo.controller);let s=super.addKeyframe(e,t);return e._animInfo.group=r,e._animInfo.controller=i,t.onStart&&s.controller.once("draw",e=>{e.keyframe=s,t.onStart(e),e.keyframe=null}),t.onDraw&&s.controller.on("draw",e=>{e.keyframe=s,t.onDraw(e),e.keyframe=null}),this.removeOverlappingProps(s),this.keyframes.push(s),this._timeEmitter.willRun()||(this.now=performance.now(),this._timeEmitter.run()),s}removeOverlappingProps(e){if(e.controller._allKeyframes.length<=1)return;let t=Object.keys(e.animValues),r=e.controller;for(let i=0,s=r._allKeyframes.length;i<s;i++){const s=r._allKeyframes[i];if(s===e)continue;if(s.markedForRemoval)continue;let o=Object.keys(s.animValues),n=o.filter(e=>t.includes(e));n.length!==o.length?n.forEach(e=>delete s.animValues[e]):s.markedForRemoval=!0}}onTimeEmitterUpdate(e){if(this._isPaused||0===this.keyframeControllers.length)return;let t=performance.now(),r=(t-this.now)/1e3;this.now=t;let i=this.position.local+r;this.position.local=this.position.localUnclamped=i,this.onTimeUpdate()}onTimeUpdate(){for(let e=0,t=this.keyframes.length;e<t;e++)this.keyframes[e].updateLocalProgress(this.position.localUnclamped);this.requestDOMChange(),this._timeEmitter.run(),null!==this.gui&&this.gui.onScrollUpdate(this.position)}onDOMRead(){if(this.keyframesDirty&&this.onKeyframesDirty(),0!==this.keyframes.length)for(let e=0,t=this.keyframes.length;e<t;e++){this.keyframes[e].controller.needsWrite=!0;for(let t in this.keyframes[e].animValues)this.keyframes[e].onDOMRead(t)}}onDOMWrite(){super.onDOMWrite(),this.removeExpiredKeyframes()}removeExpiredKeyframes(){let e=this.keyframes.length,t=e;for(;e--;){let t=this.keyframes[e];t.destroyed?this.keyframes.splice(e,1):(t.markedForRemoval&&(t.jsonProps.onComplete&&1===t.localT&&(t.controller.eventObject.keyframe=t,t.jsonProps.onComplete(t.controller.eventObject),t.jsonProps.onComplete=null),null!==this.gui&&this.gui.isDraggingPlayhead||(t.remove(),this.keyframes.splice(e,1))),1===t.localT&&(t.markedForRemoval=!0))}this.keyframes.length===t&&0!==this.keyframes.length||this._timeEmitter.executor.eventEmitter.once("after:draw",this.removeExpiredKeyframeControllers)}removeExpiredKeyframeControllers(){for(let e=0,t=this.keyframeControllers.length;e<t;e++){let t=!0,r=this.keyframeControllers[e];for(let e=0,i=r._allKeyframes.length;e<i;e++)if(!r._allKeyframes[e].destroyed){t=!1;break}t&&r.remove()}}updateBounds(){this.boundsMin=Math.min(...this.keyframes.map(e=>e.start)),this.boundsMax=Math.max(...this.keyframes.map(e=>e.end))}play(){this.isEnabled=!0,this._isPaused=!1,this.now=performance.now(),this._timeEmitter.run()}pause(){this._isPaused=!0}paused(){return this._isPaused}time(e){if(void 0===e)return this.position.local;this.position.local=this.position.localUnclamped=r.clamp(e,this.boundsMin,this.boundsMax),this.onTimeUpdate()}performTimelineDispatch(){}hasDuration(){return!0}getPosition(){return this.position.local}updateProgress(e){}get duration(){return this.boundsMax}}module.exports=o;
},{"./ScrollGroup":"Ys1t","./ChapterPlayer":"qnIU","@marcom/sm-math-utils":"GWfh","@marcom/ac-raf-emitter/RAFEmitter":"FSYF"}],"NWlg":[function(require,module,exports) {
module.exports={version:"3.6.1",major:"3.x",majorMinor:"3.6"};
},{}],"Nwqc":[function(require,module,exports) {
"use strict";var e=require("./RAFInterfaceController");module.exports=e.cancelAnimationFrame("update");
},{"./RAFInterfaceController":"JWAo"}],"ImbA":[function(require,module,exports) {
"use strict";const e=require("@marcom/ac-event-emitter-micro").EventEmitterMicro,t=require("./Model/AnimSystemModel"),i=require("./Keyframes/Keyframe"),r=require("./Keyframes/KeyframeCSSClass"),s=require("./Keyframes/KeyframeDiscreteEvent"),o=require("./ScrollGroup"),n=require("./TimeGroup"),a=require("./TweenGroup"),l=require("./.release-info"),c={};"undefined"!=typeof window&&(c.update=require("@marcom/ac-raf-emitter/update"),c.cancelUpdate=require("@marcom/ac-raf-emitter/cancelUpdate"),c.external=require("@marcom/ac-raf-emitter/external"),c.draw=require("@marcom/ac-raf-emitter/draw"));let d=null;class u extends e{constructor(){if(super(),d)throw"You cannot create multiple AnimSystems. You probably want to create multiple groups instead. You can have unlimited groups on a page";d=this,this.groups=[],this.scrollSystems=[],this.timeSystems=[],this.tweenGroup=null,this._forceUpdateRAFId=-1,this.initialized=!1,this.model=t,this.plugins={keyframe:[],parser:[]},this.version=l.version,this._resolveReady=(()=>{}),this.ready=new Promise(e=>this._resolveReady=e),this.onScroll=this.onScroll.bind(this),this.onResizedDebounced=this.onResizedDebounced.bind(this),this.onResizeImmediate=this.onResizeImmediate.bind(this)}initialize(){return this.initialized||"undefined"==typeof window?this.ready:(this.initialized=!0,this.timeSystems=[],this.scrollSystems=[],this.groups=[],this.setupEvents(),this.initializeResizeFilter(),this.initializeModel(),this.createDOMGroups(),this.createDOMKeyframes(),this.tweenGroup=new a(null,this),this.groups.unshift(this.tweenGroup),this._resolveReady(),this.ready)}use(e,t){e.install(this,t)}remove(){return this.initialized?Promise.all(this.groups.map(e=>e.remove())).then(()=>{this.groups=null,this.scrollSystems=null,this.timeSystems=null,window.clearTimeout(t.RESIZE_TIMEOUT),window.removeEventListener("scroll",this.onScroll),window.removeEventListener("resize",this.onResizeImmediate),this._events={},this.initialized=!1,this.ready=new Promise(e=>this._resolveReady=e)}):(this.ready=new Promise(e=>this._resolveReady=e),Promise.resolve())}destroy(){return this.remove()}createTimeGroup(e,i){e instanceof HTMLElement||(e=(i=e||{}).el);let r=new n(e,this);return i&&i.name&&(r.name=i.name),this.groups.push(r),this.timeSystems.push(r),this.trigger(t.EVENTS.ON_GROUP_CREATED,r),r}createScrollGroup(e,i){if(!e)throw"AnimSystem scroll based groups must supply an HTMLElement";let r=new o(e,this);return(i=i||{}).name&&(r.name=i.name),i.getPosition&&i.getMaxPosition&&(r.getPosition=i.getPosition,r.createViewableRange=(()=>({a:0,d:i.getMaxPosition()}))),r.getPosition=i.getPosition||r.getPosition,r.getPosition=i.getPosition||r.getPosition,this.groups.push(r),this.scrollSystems.push(r),this.trigger(t.EVENTS.ON_GROUP_CREATED,r),r}removeGroup(e){return Promise.all(e.keyframeControllers.map(t=>e.removeKeyframeController(t))).then(()=>{let t=this.groups.indexOf(e);-1!==t&&this.groups.splice(t,1),-1!==(t=this.scrollSystems.indexOf(e))&&this.scrollSystems.splice(t,1),-1!==(t=this.timeSystems.indexOf(e))&&this.timeSystems.splice(t,1),e.destroy()})}createDOMGroups(){document.body.setAttribute("data-anim-scroll-group","body"),document.querySelectorAll("[data-anim-scroll-group]").forEach(e=>this.createScrollGroup(e)),document.querySelectorAll("[data-anim-time-group]").forEach(e=>this.createTimeGroup(e)),this.trigger(t.EVENTS.ON_DOM_GROUPS_CREATED,this.groups)}createDOMKeyframes(){let e=[];["data-anim-keyframe",i.DATA_ATTRIBUTE,r.DATA_ATTRIBUTE,s.DATA_ATTRIBUTE].forEach(function(t){for(let i=0;i<12;i++)e.push(t+(0===i?"":"-"+(i-1)))});for(let t=0;t<e.length;t++){let i=e[t],r=document.querySelectorAll("["+i+"]");for(let e=0;e<r.length;e++){const t=r[e],s=JSON.parse(t.getAttribute(i));this.addKeyframe(t,s)}}c.update(()=>{null!==this.groups&&(this.groups.forEach(e=>e.onKeyframesDirty({silent:!0})),this.groups.forEach(e=>e.trigger(t.EVENTS.ON_DOM_KEYFRAMES_CREATED,e)),this.trigger(t.EVENTS.ON_DOM_KEYFRAMES_CREATED,this),this.groups.forEach(e=>{e.forceUpdate({waitForNextUpdate:!1,silent:!0}),e.reconcile()}),this.onScroll())},!0)}initializeResizeFilter(){if(t.cssDimensionsTracker)return;const e=document.querySelector(".cssDimensionsTracker")||document.createElement("div");e.setAttribute("cssDimensionsTracker","true"),e.style.position="fixed",e.style.top="0",e.style.width="100%",e.style.height="100vh",e.style.pointerEvents="none",e.style.visibility="hidden",e.style.zIndex="-1",document.documentElement.appendChild(e),t.cssDimensionsTracker=e}initializeModel(){t.pageMetrics.windowHeight=t.cssDimensionsTracker.clientHeight,t.pageMetrics.windowWidth=t.cssDimensionsTracker.clientWidth,t.pageMetrics.scrollY=window.scrollY||window.pageYOffset,t.pageMetrics.scrollX=window.scrollX||window.pageXOffset,t.pageMetrics.breakpoint=t.getBreakpoint();let e=document.documentElement.getBoundingClientRect();t.pageMetrics.documentOffsetX=e.left+t.pageMetrics.scrollX,t.pageMetrics.documentOffsetY=e.top+t.pageMetrics.scrollY}setupEvents(){window.removeEventListener("scroll",this.onScroll),window.addEventListener("scroll",this.onScroll),window.removeEventListener("resize",this.onResizeImmediate),window.addEventListener("resize",this.onResizeImmediate)}onScroll(){t.pageMetrics.scrollY=window.scrollY||window.pageYOffset,t.pageMetrics.scrollX=window.scrollX||window.pageXOffset;for(let e=0,t=this.scrollSystems.length;e<t;e++)this.scrollSystems[e].updateTimeline();this.trigger(t.PageEvents.ON_SCROLL,t.pageMetrics)}onResizeImmediate(){let e=t.cssDimensionsTracker.clientWidth,i=t.cssDimensionsTracker.clientHeight;if(e===t.pageMetrics.windowWidth&&i===t.pageMetrics.windowHeight)return;t.pageMetrics.windowWidth=e,t.pageMetrics.windowHeight=i,t.pageMetrics.scrollY=window.scrollY||window.pageYOffset,t.pageMetrics.scrollX=window.scrollX||window.pageXOffset;let r=document.documentElement.getBoundingClientRect();t.pageMetrics.documentOffsetX=r.left+t.pageMetrics.scrollX,t.pageMetrics.documentOffsetY=r.top+t.pageMetrics.scrollY,window.clearTimeout(t.RESIZE_TIMEOUT),t.RESIZE_TIMEOUT=window.setTimeout(this.onResizedDebounced,250),this.trigger(t.PageEvents.ON_RESIZE_IMMEDIATE,t.pageMetrics)}onResizedDebounced(){c.update(()=>{let e=t.pageMetrics.breakpoint,i=t.getBreakpoint();if(i!==e){t.pageMetrics.previousBreakpoint=e,t.pageMetrics.breakpoint=i;for(let e=0,t=this.groups.length;e<t;e++)this.groups[e]._onBreakpointChange();this.trigger(t.PageEvents.ON_BREAKPOINT_CHANGE,t.pageMetrics)}for(let t=0,r=this.groups.length;t<r;t++)this.groups[t].forceUpdate({waitForNextUpdate:!1});this.trigger(t.PageEvents.ON_RESIZE_DEBOUNCED,t.pageMetrics)},!0)}forceUpdate({waitForNextUpdate:e=!0,silent:t=!1}={}){-1!==this._forceUpdateRAFId&&c.cancelUpdate(this._forceUpdateRAFId);let i=()=>{for(let e=0,i=this.groups.length;e<i;e++){this.groups[e].forceUpdate({waitForNextUpdate:!1,silent:t})}return-1};this._forceUpdateRAFId=e?c.update(i,!0):i()}addKeyframe(e,t){let i=this.getGroupForTarget(e);return(i=i||this.getGroupForTarget(document.body)).addKeyframe(e,t)}addEvent(e,t){let i=this.getGroupForTarget(e);return(i=i||this.getGroupForTarget(document.body)).addEvent(e,t)}getTimeGroupForTarget(e){return this._getGroupForTarget(e,e=>e instanceof n)}getScrollGroupForTarget(e){return this._getGroupForTarget(e,e=>!(e instanceof n))}getGroupForTarget(e){return this._getGroupForTarget(e,()=>!0)}getGroupByName(e){return this.groups.find(t=>t.name===e)}_getGroupForTarget(e,t){if(e._animInfo&&e._animInfo.group&&t(e._animInfo.group))return e._animInfo.group;let i=e;for(;i;){if(i._animInfo&&i._animInfo.isGroup&&t(i._animInfo.group))return i._animInfo.group;i=i.parentElement}}getControllerForTarget(e){return e._animInfo&&e._animInfo.controller?e._animInfo.controller:null}addTween(e,t){return this.tweenGroup.addKeyframe(e,t)}}module.exports="undefined"==typeof window?new u:window.AC.SharedInstance.share("AnimSystem",l.major,u),module.exports.default=module.exports;
},{"@marcom/ac-event-emitter-micro":"Y3Ia","./Model/AnimSystemModel":"Wkev","./Keyframes/Keyframe":"GAJ8","./Keyframes/KeyframeCSSClass":"i67f","./Keyframes/KeyframeDiscreteEvent":"JR67","./ScrollGroup":"Ys1t","./TimeGroup":"kHTY","./TweenGroup":"lS3P","./.release-info":"NWlg","@marcom/ac-raf-emitter/update":"Iu2k","@marcom/ac-raf-emitter/cancelUpdate":"Nwqc","@marcom/ac-raf-emitter/external":"nuNW","@marcom/ac-raf-emitter/draw":"Bn5L"}],"DTw3":[function(require,module,exports) {
"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){return protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Object.defineProperty(Constructor,"prototype",{writable:!1}),Constructor}Object.defineProperty(exports,"__esModule",{value:!0}),exports.VoFocus=void 0;var AnimSystem=require("@marcom/anim-system"),VoFocus=function(){function VoFocus(el,kfData){var center=arguments.length>2&&void 0!==arguments[2]&&arguments[2],clearFocus=arguments.length>3&&void 0!==arguments[3]&&arguments[3],scrollGroup=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return _classCallCheck(this,VoFocus),this.el=el,this.scrollGroup=scrollGroup,this.kf=scrollGroup?scrollGroup.addKeyframe(el,kfData):AnimSystem.addKeyframe(el,kfData),this.center=center,this.clearFocus=clearFocus,this.onVoFocus=this.onVoFocus.bind(this),this.attach(),this}return _createClass(VoFocus,[{key:"attach",value:function(){this.el.addEventListener("focus",this.onVoFocus)}},{key:"onVoFocus",value:function(e){if("key"===e.target.dataset.focusMethod){var startPos=this.kf.controller.group.convertTValueToScrollPosition(this.kf.start),endPos=this.kf.controller.group.convertTValueToScrollPosition(this.kf.end),scrollToPos=this.center?startPos+(endPos-startPos)/2:startPos;window.scrollTo(0,scrollToPos),this.clearFocus||e.target.blur()}}},{key:"remove",value:function(){this.kf.remove(),this.el.removeEventListener("focus",this.boundOnVoFocus)}}]),VoFocus}();exports.VoFocus=VoFocus;
},{"@marcom/anim-system":"ImbA"}],"LTbr":[function(require,module,exports) {
!function(){"use strict";function o(){var o=window,t=document;if(!("scrollBehavior"in t.documentElement.style&&!0!==o.__forceSmoothScrollPolyfill__)){var l,e=o.HTMLElement||o.Element,r=468,i={scroll:o.scroll||o.scrollTo,scrollBy:o.scrollBy,elementScroll:e.prototype.scroll||n,scrollIntoView:e.prototype.scrollIntoView},s=o.performance&&o.performance.now?o.performance.now.bind(o.performance):Date.now,c=(l=o.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(l)?1:0);o.scroll=o.scrollTo=function(){void 0!==arguments[0]&&(!0!==f(arguments[0])?v.call(o,t.body,void 0!==arguments[0].left?~~arguments[0].left:o.scrollX||o.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:o.scrollY||o.pageYOffset):i.scroll.call(o,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:o.scrollX||o.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:o.scrollY||o.pageYOffset))},o.scrollBy=function(){void 0!==arguments[0]&&(f(arguments[0])?i.scrollBy.call(o,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):v.call(o,t.body,~~arguments[0].left+(o.scrollX||o.pageXOffset),~~arguments[0].top+(o.scrollY||o.pageYOffset)))},e.prototype.scroll=e.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==f(arguments[0])){var o=arguments[0].left,t=arguments[0].top;v.call(this,this,void 0===o?this.scrollLeft:~~o,void 0===t?this.scrollTop:~~t)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");i.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!=typeof arguments[0]?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},e.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==f(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):i.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},e.prototype.scrollIntoView=function(){if(!0!==f(arguments[0])){var l=function(o){for(;o!==t.body&&!1===d(o);)o=o.parentNode||o.host;return o}(this),e=l.getBoundingClientRect(),r=this.getBoundingClientRect();l!==t.body?(v.call(this,l,l.scrollLeft+r.left-e.left,l.scrollTop+r.top-e.top),"fixed"!==o.getComputedStyle(l).position&&o.scrollBy({left:e.left,top:e.top,behavior:"smooth"})):o.scrollBy({left:r.left,top:r.top,behavior:"smooth"})}else i.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}function n(o,t){this.scrollLeft=o,this.scrollTop=t}function f(o){if(null===o||"object"!=typeof o||void 0===o.behavior||"auto"===o.behavior||"instant"===o.behavior)return!0;if("object"==typeof o&&"smooth"===o.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+o.behavior+" is not a valid value for enumeration ScrollBehavior.")}function p(o,t){return"Y"===t?o.clientHeight+c<o.scrollHeight:"X"===t?o.clientWidth+c<o.scrollWidth:void 0}function a(t,l){var e=o.getComputedStyle(t,null)["overflow"+l];return"auto"===e||"scroll"===e}function d(o){var t=p(o,"Y")&&a(o,"Y"),l=p(o,"X")&&a(o,"X");return t||l}function h(t){var l,e,i,c,n=(s()-t.startTime)/r;c=n=n>1?1:n,l=.5*(1-Math.cos(Math.PI*c)),e=t.startX+(t.x-t.startX)*l,i=t.startY+(t.y-t.startY)*l,t.method.call(t.scrollable,e,i),e===t.x&&i===t.y||o.requestAnimationFrame(h.bind(o,t))}function v(l,e,r){var c,f,p,a,d=s();l===t.body?(c=o,f=o.scrollX||o.pageXOffset,p=o.scrollY||o.pageYOffset,a=i.scroll):(c=l,f=l.scrollLeft,p=l.scrollTop,a=n),h({scrollable:c,method:a,startTime:d,startX:f,startY:p,x:e,y:r})}}"object"==typeof exports&&"undefined"!=typeof module?module.exports={polyfill:o}:o()}();
},{}],"VvWN":[function(require,module,exports) {
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.scrollTo=void 0;var _smoothscrollPolyfill=_interopRequireDefault(require("smoothscroll-polyfill"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}_smoothscrollPolyfill.default.polyfill();var scrollTo=function(offset,callback){var timeout=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,fixedOffset=offset.toFixed(),isFinished=!1,finishScroll=function(){isFinished||(window.removeEventListener("scroll",onScroll),callback(),isFinished=!0)},onScroll=function(){window.pageYOffset.toFixed()===fixedOffset&&finishScroll(),timeout&&setTimeout(finishScroll,timeout)};window.addEventListener("scroll",onScroll),onScroll(),window.scrollTo({top:offset,behavior:"smooth"})};exports.scrollTo=scrollTo;
},{"smoothscroll-polyfill":"LTbr"}],"JGjQ":[function(require,module,exports) {
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _components=require("./components");Object.keys(_components).forEach(function(key){"default"!==key&&"__esModule"!==key&&(key in exports&&exports[key]===_components[key]||Object.defineProperty(exports,key,{enumerable:!0,get:function(){return _components[key]}}))});var _voFocus=require("./voFocus");Object.keys(_voFocus).forEach(function(key){"default"!==key&&"__esModule"!==key&&(key in exports&&exports[key]===_voFocus[key]||Object.defineProperty(exports,key,{enumerable:!0,get:function(){return _voFocus[key]}}))});var _scrollTo=require("./scrollTo");Object.keys(_scrollTo).forEach(function(key){"default"!==key&&"__esModule"!==key&&(key in exports&&exports[key]===_scrollTo[key]||Object.defineProperty(exports,key,{enumerable:!0,get:function(){return _scrollTo[key]}}))});
},{"./components":"V5ZL","./voFocus":"DTw3","./scrollTo":"VvWN"}],"JdPy":[function(require,module,exports) {
"use strict";module.exports={getWindow:function(){return window},getDocument:function(){return document},getNavigator:function(){return navigator}};
},{}],"iXQO":[function(require,module,exports) {
"use strict";var e=require("./helpers/globals");function r(){var r=e.getWindow().matchMedia("(prefers-reduced-motion)");return!(!r||!r.matches)}module.exports=r;
},{"./helpers/globals":"JdPy"}],"NxoD":[function(require,module,exports) {
"use strict";var e=require("@marcom/ac-shared-instance").SharedInstance,r=require("../.release-info.js").majorVersionNumber,a=require("./RAFExecutor");module.exports=e.share("@marcom/ac-raf-emitter/sharedRAFExecutorInstance",r,a);
},{"@marcom/ac-shared-instance":"DxEI","../.release-info.js":"dIaQ","./RAFExecutor":"jdHz"}],"YRa8":[function(require,module,exports) {
"use strict";var r=require("@marcom/ac-shared-instance").SharedInstance,e=require("../.release-info.js").majorVersionNumber,t=function(){this._currentID=0};t.prototype.getNewID=function(){return this._currentID++,"raf:"+this._currentID},module.exports=r.share("@marcom/ac-raf-emitter/sharedRAFEmitterIDGeneratorInstance",e,t);
},{"@marcom/ac-shared-instance":"DxEI","../.release-info.js":"dIaQ"}],"nEUQ":[function(require,module,exports) {
"use strict";var t,i=require("@marcom/ac-event-emitter-micro").EventEmitterMicro,e=require("./sharedRAFExecutorInstance"),n=require("./sharedRAFEmitterIDGeneratorInstance");function r(t){t=t||{},i.call(this),this.id=n.getNewID(),this.executor=t.executor||e,this._reset(),this._willRun=!1,this._didDestroy=!1}(t=r.prototype=Object.create(i.prototype)).run=function(){return this._willRun||(this._willRun=!0),this._subscribe()},t.cancel=function(){this._unsubscribe(),this._willRun&&(this._willRun=!1),this._reset()},t.destroy=function(){var t=this.willRun();return this.cancel(),this.executor=null,i.prototype.destroy.call(this),this._didDestroy=!0,t},t.willRun=function(){return this._willRun},t.isRunning=function(){return this._isRunning},t._subscribe=function(){return this.executor.subscribe(this)},t._unsubscribe=function(){return this.executor.unsubscribe(this)},t._onAnimationFrameStart=function(t){this._isRunning=!0,this._willRun=!1,this._didEmitFrameData||(this._didEmitFrameData=!0,this.trigger("start",t))},t._onAnimationFrameEnd=function(t){this._willRun||(this.trigger("stop",t),this._reset())},t._reset=function(){this._didEmitFrameData=!1,this._isRunning=!1},module.exports=r;
},{"@marcom/ac-event-emitter-micro":"Y3Ia","./sharedRAFExecutorInstance":"NxoD","./sharedRAFEmitterIDGeneratorInstance":"YRa8"}],"HbRV":[function(require,module,exports) {
"use strict";var t=require("./RAFEmitter"),e=function(e){t.call(this,e)},r=e.prototype=Object.create(t.prototype);r._subscribe=function(){return this.executor.subscribe(this,!0)},module.exports=e;
},{"./RAFEmitter":"nEUQ"}],"fNtd":[function(require,module,exports) {
"use strict";var e=require("./SingleCallRAFEmitter"),t=function(t){this.phase=t,this.rafEmitter=new e,this._cachePhaseIndex(),this.requestAnimationFrame=this.requestAnimationFrame.bind(this),this.cancelAnimationFrame=this.cancelAnimationFrame.bind(this),this._onBeforeRAFExecutorStart=this._onBeforeRAFExecutorStart.bind(this),this._onBeforeRAFExecutorPhase=this._onBeforeRAFExecutorPhase.bind(this),this._onAfterRAFExecutorPhase=this._onAfterRAFExecutorPhase.bind(this),this.rafEmitter.on(this.phase,this._onRAFExecuted.bind(this)),this.rafEmitter.executor.eventEmitter.on("before:start",this._onBeforeRAFExecutorStart),this.rafEmitter.executor.eventEmitter.on("before:"+this.phase,this._onBeforeRAFExecutorPhase),this.rafEmitter.executor.eventEmitter.on("after:"+this.phase,this._onAfterRAFExecutorPhase),this._frameCallbacks=[],this._currentFrameCallbacks=[],this._nextFrameCallbacks=[],this._phaseActive=!1,this._currentFrameID=-1,this._cancelFrameIdx=-1,this._frameCallbackLength=0,this._currentFrameCallbacksLength=0,this._nextFrameCallbacksLength=0,this._frameCallbackIteration=0},a=t.prototype;a.requestAnimationFrame=function(e,t){return!0===t&&this.rafEmitter.executor.phaseIndex>0&&this.rafEmitter.executor.phaseIndex<=this.phaseIndex?this._phaseActive?(this._currentFrameID=this.rafEmitter.executor.subscribeImmediate(this.rafEmitter,!0),this._frameCallbacks.push(this._currentFrameID,e),this._frameCallbackLength+=2):(this._currentFrameID=this.rafEmitter.executor.subscribeImmediate(this.rafEmitter,!1),this._currentFrameCallbacks.push(this._currentFrameID,e),this._currentFrameCallbacksLength+=2):(this._currentFrameID=this.rafEmitter.run(),this._nextFrameCallbacks.push(this._currentFrameID,e),this._nextFrameCallbacksLength+=2),this._currentFrameID},a.cancelAnimationFrame=function(e){this._cancelFrameIdx=this._nextFrameCallbacks.indexOf(e),this._cancelFrameIdx>-1?this._cancelNextAnimationFrame():(this._cancelFrameIdx=this._currentFrameCallbacks.indexOf(e),this._cancelFrameIdx>-1?this._cancelCurrentAnimationFrame():(this._cancelFrameIdx=this._frameCallbacks.indexOf(e),this._cancelFrameIdx>-1&&this._cancelRunningAnimationFrame()))},a._onRAFExecuted=function(e){for(this._frameCallbackIteration=0;this._frameCallbackIteration<this._frameCallbackLength;this._frameCallbackIteration+=2)this._frameCallbacks[this._frameCallbackIteration+1](e.time,e);this._frameCallbacks.length=0,this._frameCallbackLength=0},a._onBeforeRAFExecutorStart=function(){Array.prototype.push.apply(this._currentFrameCallbacks,this._nextFrameCallbacks.splice(0,this._nextFrameCallbacksLength)),this._currentFrameCallbacksLength=this._nextFrameCallbacksLength,this._nextFrameCallbacks.length=0,this._nextFrameCallbacksLength=0},a._onBeforeRAFExecutorPhase=function(){this._phaseActive=!0,Array.prototype.push.apply(this._frameCallbacks,this._currentFrameCallbacks.splice(0,this._currentFrameCallbacksLength)),this._frameCallbackLength=this._currentFrameCallbacksLength,this._currentFrameCallbacks.length=0,this._currentFrameCallbacksLength=0},a._onAfterRAFExecutorPhase=function(){this._phaseActive=!1},a._cachePhaseIndex=function(){this.phaseIndex=this.rafEmitter.executor.phases.indexOf(this.phase)},a._cancelRunningAnimationFrame=function(){this._frameCallbacks.splice(this._cancelFrameIdx,2),this._frameCallbackLength-=2},a._cancelCurrentAnimationFrame=function(){this._currentFrameCallbacks.splice(this._cancelFrameIdx,2),this._currentFrameCallbacksLength-=2},a._cancelNextAnimationFrame=function(){this._nextFrameCallbacks.splice(this._cancelFrameIdx,2),this._nextFrameCallbacksLength-=2,0===this._nextFrameCallbacksLength&&this.rafEmitter.cancel()},module.exports=t;
},{"./SingleCallRAFEmitter":"HbRV"}],"l0I6":[function(require,module,exports) {
"use strict";var e=require("./RAFInterface"),t=function(){this.events={}},n=t.prototype;n.requestAnimationFrame=function(t){return this.events[t]||(this.events[t]=new e(t)),this.events[t].requestAnimationFrame},n.cancelAnimationFrame=function(t){return this.events[t]||(this.events[t]=new e(t)),this.events[t].cancelAnimationFrame},module.exports=new t;
},{"./RAFInterface":"fNtd"}],"SVlv":[function(require,module,exports) {
"use strict";var e=require("./RAFInterfaceController");module.exports=e.requestAnimationFrame("update");
},{"./RAFInterfaceController":"l0I6"}],"to1g":[function(require,module,exports) {
"use strict";var t=require("@marcom/ac-event-emitter-micro").EventEmitterMicro,e=require("@marcom/ac-raf-emitter/update"),i={ID:"viewport-emitter",OPTIONS:{removeNamespace:!0}},n={DOM_DISPATCH:"data-viewport-emitter-dispatch",STATE:"data-viewport-emitter-state"},r="::before",a={RETINA:"only screen and (-webkit-min-device-pixel-ratio: 1.5), screen and (min-resolution: 1.5dppx), screen and (min-resolution: 144dpi)",PORTRAIT:"only screen and (orientation: portrait)",LANDSCAPE:"only screen and (orientation: landscape)"},o={any:"change:any",orientation:"change:orientation",retina:"change:retina",viewport:"change:viewport"};function s(e,n){t.call(this),this._id=e||i.ID,this._options=Object.assign({},i.OPTIONS,n),this._allowDOMEventDispatch=!1,this._allowElementStateData=!1,this._options.removeNamespace="boolean"!=typeof this._options.removeNamespace||this._options.removeNamespace,this._el=this._initViewportEl(this._id),this._resizing=!1,this._mediaQueryLists={resolution:{retina:window.matchMedia(a.RETINA)},orientation:{portrait:window.matchMedia(a.PORTRAIT),landscape:window.matchMedia(a.LANDSCAPE)}},this._viewport=this._getViewport(this._options.removeNamespace),this._retina=this._getRetina(this._mediaQueryLists.resolution.retina),this._orientation=this._initOrientation(),this._addListeners(),this._updateElementStateData()}Object.defineProperty(s,"DOM_DISPATCH_ATTRIBUTE",{get:function(){return n.DOM_DISPATCH}}),Object.defineProperty(s,"DOM_STATE_ATTRIBUTE",{get:function(){return n.STATE}});var h=s.prototype=Object.create(t.prototype);Object.defineProperty(h,"id",{get:function(){return this._id}}),Object.defineProperty(h,"element",{get:function(){return this._el}}),Object.defineProperty(h,"mediaQueryLists",{get:function(){return this._mediaQueryLists}}),Object.defineProperty(h,"viewport",{get:function(){return this._viewport}}),Object.defineProperty(h,"retina",{get:function(){return this._retina}}),Object.defineProperty(h,"orientation",{get:function(){return this._orientation}}),Object.defineProperty(h,"hasDomDispatch",{get:function(){return this._allowDOMEventDispatch}}),h.destroy=function(){for(var e in this._removeListeners(),this._options)this._options[e]=null;for(var i in this._mediaQueryLists){var n=this._mediaQueryLists[i];for(var r in n)n[r]=null}this._id=null,this._el=null,this._viewport=null,this._retina=null,this._orientation=null,t.prototype.destroy.call(this)},h._initViewportEl=function(t){var e=document.getElementById(t);return e||((e=document.createElement("div")).id=t,e=document.body.appendChild(e)),e.hasAttribute(n.DOM_DISPATCH)||(e.setAttribute(n.DOM_DISPATCH,""),this._allowDOMEventDispatch=!0),e.hasAttribute(n.STATE)||(this._allowElementStateData=!0),e},h._dispatch=function(t,e){var i={viewport:this._viewport,orientation:this._orientation,retina:this._retina};if(this._allowDOMEventDispatch){var n=new CustomEvent(t,{detail:e}),r=new CustomEvent(o.any,{detail:i});this._el.dispatchEvent(n),this._el.dispatchEvent(r)}this.trigger(t,e),this.trigger(o.any,i)},h._addListeners=function(){this._onOrientationChange=this._onOrientationChange.bind(this),this._onRetinaChange=this._onRetinaChange.bind(this),this._onViewportChange=this._onViewportChange.bind(this),this._onViewportChangeUpdate=this._onViewportChangeUpdate.bind(this),this._mediaQueryLists.orientation.portrait.addListener(this._onOrientationChange),this._mediaQueryLists.orientation.landscape.addListener(this._onOrientationChange),this._mediaQueryLists.resolution.retina.addListener(this._onRetinaChange),window.addEventListener("resize",this._onViewportChange)},h._removeListeners=function(){this._mediaQueryLists.orientation.portrait.removeListener(this._onOrientationChange),this._mediaQueryLists.orientation.landscape.removeListener(this._onOrientationChange),this._mediaQueryLists.resolution.retina.removeListener(this._onRetinaChange),window.removeEventListener("resize",this._onViewportChange)},h._updateElementStateData=function(){if(this._allowElementStateData){var t=JSON.stringify({viewport:this._viewport,orientation:this._orientation,retina:this._retina});this._el.setAttribute(n.STATE,t)}},h._getViewport=function(t){var e=window.getComputedStyle(this._el,r).content;return e?(e=e.replace(/["']/g,""),t?e.split(":").pop():e):null},h._getRetina=function(t){return t.matches},h._getOrientation=function(t){var e=this._orientation;if(t.matches){return t.media.match(/portrait|landscape/)[0]}return e},h._initOrientation=function(){var t=this._getOrientation(this._mediaQueryLists.orientation.portrait);return t||this._getOrientation(this._mediaQueryLists.orientation.landscape)},h._onViewportChange=function(){this._resizing||(this._resizing=!0,e(this._onViewportChangeUpdate))},h._onViewportChangeUpdate=function(){var t=this._viewport;if(this._viewport=this._getViewport(this._options.removeNamespace),t!==this._viewport){var e={from:t,to:this._viewport};this._updateElementStateData(),this._dispatch(o.viewport,e)}this._resizing=!1},h._onRetinaChange=function(t){var e=this._retina;if(this._retina=this._getRetina(t),e!==this._retina){var i={from:e,to:this._retina};this._updateElementStateData(),this._dispatch(o.retina,i)}},h._onOrientationChange=function(t){var e=this._orientation;if(this._orientation=this._getOrientation(t),e!==this._orientation){var i={from:e,to:this._orientation};this._updateElementStateData(),this._dispatch(o.orientation,i)}},module.exports=s;
},{"@marcom/ac-event-emitter-micro":"Y3Ia","@marcom/ac-raf-emitter/update":"SVlv"}],"bVNM":[function(require,module,exports) {
"use strict";var e=require("./ViewportEmitter");module.exports=new e;
},{"./ViewportEmitter":"to1g"}],"ubjp":[function(require,module,exports) {
"use strict";function e(){this._createElements(),this._bindEvents()}var t=e.prototype;t._bindEvents=function(){this._onResize=this._resize.bind(this)},t._createElements=function(){this.span=document.createElement("span");var e=this.span.style;if(e.visibility="hidden",e.position="absolute",e.top="0",e.zIndex="-1",this.span.innerHTML="&nbsp;",!window.ResizeObserver){this.iframe=document.createElement("iframe");var t=this.iframe.style;t.position="absolute",t.top="0",t.left="0",t.width="100%",t.height="100%",this.span.appendChild(this.iframe)}document.body.appendChild(this.span)},t.detect=function(e){this.originalSize=e||17,this.currentSize=parseFloat(window.getComputedStyle(this.span)["font-size"]),this.currentSize>this.originalSize&&this._onResize(),this.isDetecting||(window.ResizeObserver?(this.resizeObserver=new ResizeObserver(this._onResize),this.resizeObserver.observe(this.span)):this.iframe.contentWindow.addEventListener("resize",this._onResize),this.isDetecting=!0)},t._resize=function(){this.currentSize=parseFloat(window.getComputedStyle(this.span)["font-size"]),this.originalSize<this.currentSize?document.documentElement.classList.add("text-zoom"):document.documentElement.classList.remove("text-zoom"),window.dispatchEvent(new Event("resize")),window.dispatchEvent(new CustomEvent("resize:text-zoom",{detail:this}))},t.getScale=function(){return this.currentSize/this.originalSize},t.remove=function(){this.isDetecting&&(this.resizeObserver&&this.resizeObserver.unobserve(this.span),this.iframe&&this.iframe.contentWindow.removeEventListener("resize",this._onResize),this.isDetecting=!1)},t.destroy=function(){this.remove(),this.span&&this.span.parentElement&&this.span.parentElement.removeChild(this.span),this.span=null,this.iframe=null,this.resizeObserver=null},module.exports=new e;
},{}],"zATL":[function(require,module,exports) {
"use strict";function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){return protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Object.defineProperty(Constructor,"prototype",{writable:!1}),Constructor}Object.defineProperty(exports,"__esModule",{value:!0}),exports.BaseComponent=void 0;var AnimSystem=require("@marcom/anim-system"),prefersReducedMotion=require("@marcom/feature-detect/prefersReducedMotion"),viewportEmitter=require("@marcom/viewport-emitter"),TextZoom=require("@marcom/ac-accessibility/TextZoom"),defaultConfig={},BaseComponent=function(){function BaseComponent(element,config){_classCallCheck(this,BaseComponent),this.wrapperElement=element,this.config=_objectSpread(_objectSpread({},defaultConfig),config),this.anim=AnimSystem,this.reducedMotion=prefersReducedMotion(),this.shortViewport=window.innerHeight<=730&&"small"!==viewportEmitter._viewport,this.scrollConfig={},this.allowFallback=this.allowFallback.bind(this),this.isStaticEligible=this.isStaticEligible.bind(this),this.initializeAnimation=this.initializeAnimation.bind(this),this.onResize=this.onResize.bind(this),this.onViewportChange=this.onViewportChange.bind(this),this.analytics=document.sv3.analytics,this.allowFallback(),TextZoom.detect()}return _createClass(BaseComponent,[{key:"attach",value:function(){this.anim.ready.then(this.initializeAnimation),viewportEmitter.on("change:viewport",this.onViewportChange),window.addEventListener("resize",this.onResize,!1),this.analytics.addElement(this.wrapperElement,this.anim)}},{key:"isStaticEligible",value:function(){var shortViewport=window.innerHeight<=730&&"small"!==viewportEmitter._viewport,landscapeMobileViewport=window.innerHeight>=367&&window.innerHeight<=414&&"landscape"===viewportEmitter._orientation;return this.reducedMotion||shortViewport||landscapeMobileViewport||TextZoom.getScale()>1}},{key:"allowFallback",value:function(){this.isStaticEligible()?(document.documentElement.classList.remove("enhanced-layout"),document.documentElement.classList.remove("no-static-layout"),document.documentElement.classList.add("static-layout")):(document.documentElement.classList.add("enhanced-layout"),document.documentElement.classList.add("no-static-layout"),document.documentElement.classList.remove("static-layout"))}},{key:"initializeAnimation",value:function(){}},{key:"onResize",value:function(e){this.allowFallback()}},{key:"onViewportChange",value:function(e){this.allowFallback()}}]),BaseComponent}();exports.BaseComponent=BaseComponent;
},{"@marcom/anim-system":"ImbA","@marcom/feature-detect/prefersReducedMotion":"iXQO","@marcom/viewport-emitter":"bVNM","@marcom/ac-accessibility/TextZoom":"ubjp"}],"Twy9":[function(require,module,exports) {
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.componentAttr=exports.WhyAppleLandingBlocks=void 0;var _BaseComponent2=require("../BaseComponent");function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(o){if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return"Object"===n&&o.constructor&&(n=o.constructor.name),"Map"===n||"Set"===n?Array.from(o):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(o,minLen):void 0}}function _iterableToArray(iter){if("undefined"!=typeof Symbol&&null!=iter[Symbol.iterator]||null!=iter["@@iterator"])return Array.from(iter)}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){return protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Object.defineProperty(Constructor,"prototype",{writable:!1}),Constructor}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),Object.defineProperty(subClass,"prototype",{writable:!1}),superClass&&_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(o,p){return o.__proto__=p,o})(o,p)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function(){var result,Super=_getPrototypeOf(Derived);if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){if(call&&("object"===_typeof(call)||"function"==typeof call))return call;if(void 0!==call)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(self)}function _assertThisInitialized(self){if(void 0===self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return self}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}var componentAttr="data-blocks-component";exports.componentAttr=componentAttr;var defaultConfig={keyframes:{}},WhyAppleLandingBlocks=function(_BaseComponent){_inherits(WhyAppleLandingBlocks,_BaseComponent2.BaseComponent);var _super=_createSuper(WhyAppleLandingBlocks);function WhyAppleLandingBlocks(element,config){var _this;return _classCallCheck(this,WhyAppleLandingBlocks),(_this=_super.call(this,element,_objectSpread(_objectSpread({},defaultConfig),config))).columns=3,window.innerWidth<=1068&&(_this.columns=2),window.innerWidth<=734&&(_this.columns=1),_this.wrapperElement=element,_this.container=_this.wrapperElement.querySelector(".panel-content"),_this.blocks=_this.wrapperElement.querySelectorAll(".block"),_this.blockContents=_this.wrapperElement.querySelectorAll(".block__content"),_this.blockImages=_this.wrapperElement.querySelectorAll(".block__image img"),_this.attach(),_this.anim.initialize(),_this.setContentHeightsOnLoad(),_this}return _createClass(WhyAppleLandingBlocks,[{key:"setContentHeightsOnLoad",value:function(){if(_toConsumableArray(this.blockImages).reduce(function(prevImgsComplete,currImg){return prevImgsComplete&&currImg.complete},!0))this.setContentHeights();else{var imgPromises=_toConsumableArray(this.blockImages).map(function(img){return new Promise(function(resolve){img.complete?resolve():img.addEventListener("load",resolve)})});Promise.all(imgPromises).then(this.setContentHeights.bind(this))}}},{key:"setContentHeights",value:function(){if(this.config.wrapper){this.blockContents.forEach(function(content){return content.style.height="auto"});var tallestEl=_toConsumableArray(this.blockContents).reduce(function(tallest,el){return tallest.clientHeight>=el.clientHeight?tallest:el},this.blockContents[0]),tallestValue=window.getComputedStyle(tallestEl).getPropertyValue("height");this.blockContents.forEach(function(content){return content.style.height=tallestValue})}}},{key:"initializeAnimation",value:function(){var _this2=this,scrollGroup=this.anim.createScrollGroup(this.wrapperElement),translateY=1===this.columns?50:200,opacityStart=1===this.columns?1:0;this.blocks.forEach(function(block,index){var offset=index%_this2.columns*20;scrollGroup.addKeyframe(block,{start:"t - ".concat(150-offset,"vh"),end:"t - ".concat(75-offset,"vh"),opacity:[opacityStart,1],y:[translateY,0],easeFunction:"easeInOutQuad"})})}},{key:"onResize",value:function(){this.setContentHeights()}}]),WhyAppleLandingBlocks}();exports.WhyAppleLandingBlocks=WhyAppleLandingBlocks;
},{"../BaseComponent":"zATL"}],"cvhz":[function(require,module,exports) {
"use strict";var _utils=require("../../utils"),_WhyAppleLandingBlocks=require("./WhyAppleLandingBlocks"),components=(0,_utils.initializeComponents)(_WhyAppleLandingBlocks.componentAttr,_WhyAppleLandingBlocks.WhyAppleLandingBlocks);
},{"../../utils":"JGjQ","./WhyAppleLandingBlocks":"Twy9"}]},{},["cvhz"], null)

