lwa 0.2.3-alpha → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- /* lwa 0.2.3-alpha | MIT license | https://github.com/sutras/lwa */
2
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).lwa=t()}(this,(function(){"use strict";var e=Object.defineProperty,t=Math.pow,n=(t,n,r)=>((t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r)(t,"symbol"!=typeof n?n+"":n,r);const{request:r,cancel:o}=function(){if("function"==typeof requestAnimationFrame)return{request:requestAnimationFrame,cancel:cancelAnimationFrame};const e=[];let t,n=1,r=0;function o(){t=void 0;const n=e.slice();r+=e.length,e.length=0,n.forEach((e=>{0!==e&&e(Date.now())}))}return{request:r=>(e.push(r),t||(t=setTimeout(o,1e3/60)),n++),cancel(t){e[t-r]=0}}}(),a=new Set;let i=0,f=!0;function s(){0===a.size?f||(f=!0,o(i)):(new Set(a).forEach((e=>e())),i=r(s))}const c={add:function(e){a.add(e),f&&(f=!1,i=r(s))},remove:function(e){a.delete(e)}},u={linear:()=>e=>e},l={Sine:()=>e=>1-Math.cos(e*Math.PI/2),Expo:()=>e=>e?Math.pow(1024,e-1):0,Circ:()=>e=>1-Math.sqrt(1-e*e),Elastic:()=>e=>0===e||1===e?e:-Math.pow(2,10*e-10)*Math.sin(2*(10*e-10.75)*Math.PI/3),Back:()=>e=>{const t=1.70158;return e*e*((t+1)*e-t)},Bounce:()=>e=>{const t=7.5625,n=2.75;return 1-((e=1-e)<1/n?t*e*e:e<2/n?t*(e-=1.5/n)*e+.75:e<2.5/n?t*(e-=2.25/n)*e+.9375:t*(e-=2.625/n)*e+.984375)}};["Quad","Cubic","Quart","Quint"].forEach(((e,t)=>{l[e]=()=>e=>Math.pow(e,t+2)})),Object.keys(l).forEach((e=>{const t=l[e];u["easeIn"+e]=t,u["easeOut"+e]=(e,n)=>r=>1-t(e,n)(1-r),u["easeInOut"+e]=(e,n)=>r=>r<.5?t(e,n)(2*r)/2:1-t(e,n)(2-2*r)/2}));const d=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/,g=new RegExp("^([+\\-*/%]=|)("+d.source+")("+/%|px|rpx|em|rem|vw|vh|deg|rad|turn|ex|ch|vmin|vmax|pc|pt|in|cm|mm/.source+"|)$","i"),p=new RegExp(d.source,"g"),m=new RegExp("^([<>]|)([+-]=|)("+d.source+"|)(%|)$");function h(e){return"number"==typeof e}function b(e){return"string"==typeof e}function y(e){return null!==e&&"object"==typeof e}function w(e){return"function"==typeof e}function k(e){return Array.isArray(e)}function v(e){return Array.isArray(e)?e:[e]}function x(e){return w(e)?e:()=>(u[e]||u.linear)(0,0)}const M=Symbol();class E{}class S extends E{constructor(e,t){super(),n(this,"from"),n(this,"to"),this.from=e,this.to=t}}class q extends E{constructor(e,t,r){super(),n(this,"el"),n(this,"prop"),n(this,"totalLength"),this.el=e,this.prop=t,this.totalLength=r}}const A=[];function O(e){const n=[];return k(e)||(e=[e]),e.flat().forEach((e=>{e&&(b(e)?n.push(...Array.from(document.querySelectorAll(e))):!function(e){let n;return y(e)&&Number.isInteger(n=e.length)&&n<t(2,32)}(e)?(y(e)||w(e))&&n.push(e):n.push(...Array.from(e)))})),Array.from(new Set(n))}function T(e,t){return w(e)?e(t.target,t.index,t.total):e}function C(e,t){const{duration:n,delay:r,begin:o,easing:a,between:i}=t;return i.map((t=>function(t){const{from:i,to:f,round:s}=t;let c=e<=o+r?i:e>=o+r+n?f:i+a((e-o-r)/n)*(f-i);return s&&(c=Math.round(c*s)/s),c}(t)))}function D(e,t){return k(e=T(e,t))?e.map((e=>D(e,t)[0])):((h(e)||b(e)||e instanceof E)&&(e={value:e}),[e])}function j(e,t,n,r,o,a,i){const f=t.length;let s,c=o||0;i=(null!=i?i:r.duration)/f;const u=t.map(((t,o)=>s=function(t,o,s){var u,l,d,p,m,h,y;const w=T(null!=(u=t.duration)?u:i,e),k=T(null!=(l=t.delay)?l:0===o?r.delay:0,e),v=T(null!=(d=t.endDelay)?d:o===f-1?r.endDelay:0,e),E=T(x(null!=(p=t.easing)?p:r.easing),e),q=T(null!=(m=t.round)?m:r.round,e),O=k+w+v,C=c,D=C+O;if(c+=O,!s){let e;s=(e=a[n])?e[e.length-1]:void 0}const j=t.value;let $,L;const P=j instanceof S;P?(L=T(j.from,e),$=T(j.to,e)):$=j,!P&&s&&(L=s.to);let I=!1;void 0===L&&(L=e.target[n],I=!0);let F="",N="";if(b($)){const e=g.exec($);e&&(F=e[1],$=parseFloat(e[2])||0,N=e[3])}const z={animatedTarget:e,prop:n,duration:w,delay:k,endDelay:v,begin:C,end:D,easing:E,data:{},from:L,to:$,withoutFrom:I,round:q,unit:N,operator:F,between:[]};for(let e=0,n=A.length;e<n&&(null==(y=(h=A[e]).init)?void 0:y.call(h,z,M))!==M;e++);return z}(t,o,s))).sort(((e,t)=>e.begin-t.begin));return{endTime:c,tweens:u}}function $(e,t,n){const r={},o=T(n.duration,e)/t.length;let a=0;return t.forEach((t=>{const i=function(e,t,n,r,o,a){let i={};for(let f in t){const s=t[f];null!=s&&(i[f]=j(e,D(s,e),f,n,r,o,a))}return i}(e,t,n,a,r,o);for(let e in i)a=Math.max(a,i[e].endTime),r[e]=(r[e]||[]).concat(i[e].tweens)})),r}function L(e,t,n){return e.map((e=>{const r=$(e,t,n);return Object.keys(r).map((e=>{return{seek:function(e){var n,r;let o;for(let a,i=0;a=t[i++];){if(a.begin<=e&&a.end>=e){o=a;break}e>a.end&&(!t[i+1]||t[i+1].begin>e)&&(o=a)}if(o){let t,a=C(e,o);for(let e=A.length-1;e>=0;e--){if(t=null==(r=(n=A[e]).update)?void 0:r.call(n,o,a,M),t===M)return;void 0!==t&&(a=t)}}},getDuration:function(){return Math.max(...t.map((e=>e.end)))},tweens:t=r[e]};var t}))})).flat()}const P={duration:500,delay:0,endDelay:0,easing:"easeInOutQuad",round:0};function I(e){v(e).forEach((e=>{A.includes(e)||(A.push(e),A.sort(((e,t)=>t.order-e.order)))}))}const F="alternate-reverse",N="reverse",z="alternate";function R(e){return e===N||e===F}function X(e){return e===z||e===F}const Y={externalTicker:!1,autoplay:!0,direction:"normal",loop:1},B=["begin","loopBegin","complete","loopComplete","pause","play","update"];function G(e){const t=Object.assign({},Y,e),{externalTicker:n,autoplay:r,direction:o,loop:a}=t;let i=!1,f=!0,s=0,u=0,l=a,d=R(o),g=0,p=[];const w=function(){const e={};function t(t,n){let r=e[t];r||(r=e[t]=new Set),r.add(n)}function n(t,n){if(n){const r=e[t];r&&(r.delete(n),0===r.size&&delete e[t])}else delete e[t]}return{on:t,off:n,once:function(e,r){t(e,(function t(...o){r(...o),n(e,t)}))},emit:function(t,...n){const r=e[t];r&&r.forEach((e=>{e(...n)}))}}}();function v(){return 0===l&&u===g}function x(e){let t=!1;e>=g?(e=g,t=!0):e<0&&(e=0),u=e;const n=d?g-u:u;p.forEach((({target:e,begin:t})=>{e.seek(n-t)})),w.emit("update",n,0===g?0:u/g),t&&(w.emit("loopComplete"),--l<0&&(l=0),0===l?(q(),w.emit("complete")):f||(X(o)&&(d=!d),E()))}function M(){if(!f){let e=Date.now();x(e-s+u),s=e}}function E(){i?u=0:(i=!0,w.emit("begin")),w.emit("loopBegin"),S()}function S(){i?f&&(f=!1,v()?(X(o)&&(d=!d),A()):(s=Date.now(),n||c.add(M),w.emit("play"))):E()}function q(){f||(f=!0,n||c.remove(M),w.emit("pause"))}function A(){q(),u=0,i=!1,l=a,d=R(o),S()}function T(e,t,n,r){if(function(e){return y(e)&&"getDuration"in e&&"seek"in e}(e)){let n=g;if(h(r=null!=t?t:">"))n=r;else{const{begin:e,end:t}=p[p.length-1]||{begin:0,end:0},o=t-e,[,a,i,f,s]=m.exec(r)||[,">","","",""];n="<"===a?e:">"===a?t:n;let c=+f;"%"===s&&(c=(a?o:g)/100*+f),n+="-="===i?-c:c}n=Math.max(0,n);const o=n+e.getDuration();p.push({target:e,position:r,begin:n,end:o}),g=Math.max(g,o)}else{(h(n)||b(n))&&(r=n,n=void 0);const o=function(e,t,n){const r=Object.assign({},P,n);return L((o=O(e)).map(((e,t)=>({target:e,index:t,total:o.length}))),k(t)?t:[t],r);var o}(e,t,n);o.forEach(((e,t)=>{T(e,0===t?r:"<")}))}return C}B.forEach((e=>{t[e]&&w.on(e,t[e])})),r&&0!==a&&E();const C={play:S,pause:q,finish:function(){v()||x(g)},restart:A,seek:x,progress:function(e){var t,n,r;x((r=1,((t=e)<(n=0)?n:t>r?r:t)*g))},tick:()=>{n&&M()},getPosition:()=>u,getDuration:()=>g,getProgress:()=>0===g?0:u/g,isReverse:()=>d,add:T,remove:function(e){const t=p.findIndex((t=>t.target===e));-1!==t&&(p.splice(t,1),function(){const e=[...p];p=[],g=0,e.forEach((e=>{T(e.target,e.position)}))}())},clear:function(){q(),g=0,p=[]},events:p,on:w.on,off:w.off,once:w.once};return C}const Q={start:0,from:0,direction:"normal",easing:"linear",grid:null,axis:null};const Z={order:100,update(e,t,n){const{animatedTarget:r,prop:o,unit:a}=e;let i=k(t)?t[0]:t;return a&&(i+=a),r.target[o]=i,n}},U={order:0,init(e,t){if(0===e.between.length){const n=v(e.to),r=v(e.from);return e.between=n.map(((t,n)=>({from:+r[n]||0,to:+t||0,round:e.round}))),t}}},V={},_=["","webkit","Moz"],H=document.documentElement,W=["translateX","translateY","translateZ","scale","scaleX","scaleY","scaleZ","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY","perspective"],J=te(W),K=te(["columnCount","fillOpacity","fontSizeAdjust","fontWeight","lineHeight","opacity","orphans","widows","zIndex","zoom","scale","scaleX","scaleY","scaleZ","order","flexGrow","flexShrink","scrollLeft","scrollTop","strokeDashoffset","strokeDasharray"]),ee=te(["value"]);function te(e){const t={};for(let n=0,r=e.length;n<r;n++)t[e[n]]=!0;return t}function ne(e){return e.replace(/[-]([^-])/g,((e,t)=>t.toUpperCase())).replace(/^./,(e=>e.toLowerCase()))}function re(e,t){if(V[e])return V[e];t=t||H.style;for(let n=0,r=_.length;n<r;n++){const t=_[n];let r=t?t+String(e).replace(/[-]([^-])/g,((e,t)=>t.toUpperCase())).replace(/^./,(e=>e.toUpperCase())):ne(String(e));if(r in H.style)return V[e]=r}return""}function oe(e,t){return t+(Number.isNaN(+t)||K[e]?"":"px")}function ae(e,t){return window.getComputedStyle(e)[re(t)]}function ie(e,t,n){e.style[re(t)]=n}function fe(e,t){let n="";t.forEach(((e,t)=>n+=t+"("+e+") ")),ie(e,"transform",n)}const se={_default:{get:(e,t)=>ae(e,t),set(e,t,n){!function(e,t,n){e.style[re(t)]=oe(String(t),n)}(e,t,n)}}};function ce(e){return/rotate|skew/.test(e)?"deg":K[e]?"":"px"}function ue(e){const t=e.style.getPropertyValue(re("transform")),n=/(\w+)\(([^)]+)\)/g;let r;const o=[];for(;r=n.exec(t);)o.push([r[1],r[2]]);return o.sort(((e,t)=>W.indexOf(e[0])-W.indexOf(t[0]))),new Map(o)}function le(e){const t=[...e].sort(((e,t)=>W.indexOf(e[0])-W.indexOf(t[0])));e.clear(),t.forEach((([t,n])=>{e.set(t,n)}))}function de(e){var t;return(null==(t=g.exec(e))?void 0:t[3])||""}function ge(e,t,n){if(-1!==[de(String(t)),"deg","rad","turn"].indexOf(n))return t;const r=document.createElement(e.tagName);r.style.position="absolute",r.style.width=100+n;const o=e.parentNode&&e.parentNode!==document?e.parentNode:document.body;o.appendChild(r);const a=100/r.offsetWidth;return o.removeChild(r),a*parseFloat(String(t))}function pe(e,t,n,r){switch(r){case"trans":return function(e,t,n){let r=ue(e).get(t)||(/scale/.test(t)?1:0+ce(t));return n?ge(e,r,n):r}(e,t,n);case"css":return function(e,t,n){let r=ae(e,t);return n&&b(r)?ge(e,r,n):r}(e,t,n);case"attr":return function(e,t){return e.getAttribute(t)}(e,t)}}function me(e,t){return function(e){return!!J[e]}(t)?"trans":re(t)?"css":!ee[t]&&e.hasAttribute(t)?"attr":""}["scrollTop","scrollLeft"].forEach((e=>{se[e]={get:(e,t)=>e[t],set(e,t,n){e[t]=n}}})),W.forEach((e=>{se[e]={get:(e,t)=>ue(e).get(t)||"",set(e,t,n){const r=ue(e);r.set(t,oe(t,n)),le(r),fe(e,r)}}}));const he={order:90,init(e){const{animatedTarget:t,prop:n,data:r}=e,o=t.target;if(function(e){return e instanceof HTMLElement||e instanceof SVGElement}(o)){const a=me(o,n);if(a){if(r.css=a,"trans"===a&&(t.transforms||(t.transforms={map:ue(o)})),e.withoutFrom){e.from=pe(o,n,e.unit,a);const t=g.exec(e.from);t&&(e.from=parseFloat(t[2]))}e.unit||(e.unit=ce(n))}}},update(e,t,n){const r=e.data.css;if(r){const{animatedTarget:o,prop:a,unit:i}=e,f=o.target;let s=k(t)?t[0]:t;switch("attr"!==r&&(s+=i),r){case"trans":let e=o.transforms.map;const t=e.has(a);e.set(a,s),t||le(e),fe(f,e);break;case"css":ie(f,a,s);break;case"attr":f.setAttribute(a,s)}return n}}},be={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"778899",lightslategrey:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};function ye(e){let t,n=/[0-9a-f]{2}/gi,r=[];for(;t=n.exec(e);)r.push(parseInt(t[0],16));return r}function we(e){let t,n=/[.\d]+/g,r=[];for(;t=n.exec(e);)r.push(+t[0]);return r}function ke(e){let t;if(e=String(e),/^#?[0-9a-f]{3}$/i.test(e))t=ye(e.replace(/(.)(.)(.)$/,"$1$1$2$2$3$3"));else if(/^#?([0-9a-f]{6})$/i.test(e))t=ye(RegExp.$1);else if(/^rgb/i.test(e))t=we(e);else if(/^hsl/i.test(e)){const n=we(e);n[0]/=360,n[1]/=100,n[2]/=100,t=function(e,t,n){let r,o,a;function i(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}if(0==t)r=o=a=n;else{let f=n<.5?n*(1+t):n+t-n*t,s=2*n-f;r=i(s,f,e+1/3),o=i(s,f,e),a=i(s,f,e-1/3)}return[Math.round(255*r),Math.round(255*o),Math.round(255*a)]}(...n).concat(n[3])}else t=be.hasOwnProperty(e=e.toLowerCase())?ye(be[e]):[0,0,0,1];return h(t[3])||(t[3]=1),t}const ve={order:80,init(e,t){if(b(e.to)&&(n=e.to,be.hasOwnProperty(String(n).toLowerCase())||/^(?:rgb|hsl|#(?:[0-9a-f]{6}|[0-9a-f]{3})$)/i.test(n))){const n=e.data,r=ke(String(e.from)),o=ke(e.to);return e.between=o.map(((e,t)=>({from:r[t],to:e,round:3===t?0:1}))),e.unit="",n.color={},t}var n},update(e,t){if(e.data.color)return"rgba("+t.join(",")+")"}};const xe={order:70,init(e){if(e.operator){let t=e.from;h(t)||(t=Number(t)||0),e.to=function(e,t,n){switch(n[0]){case"+":return e+t;case"-":return e-t;case"*":return e*t;case"/":return e/t;case"%":return e%t}return 0}(t,e.to,e.operator),e.from=t}}};function Me(e,t){return function(e,t){return Math.atan2(t.y-e.y,t.x-e.x)}(e,t)/Math.PI*180}const Ee={order:60,init(e){const{data:t,to:n}=e;n instanceof q&&(t.svg=n,e.from=0,e.to=n.totalLength,e.unit="")},update(e,t){const n=e.data.svg;if(n){let e=function(e){return n.el.getPointAtLength(r+e)};const r=k(t)?t[0]:t,o=e(-1),a=e(0);switch(n.prop){case"x":return a.x+"px";case"y":return a.y+"px";case"angle":return Me(o,a)+"deg"}}}},Se={order:50,init(e){let t,n=e.to;if(b(n)&&(t=n.match(p))){e.data.interp=n.split(p);let r,o=e.from;b(o)&&(r=o.match(p))?o=r:k(o)||(o=[e.from]),e.from=o,e.to=t}},update(e,t){const n=e.data.interp;if(n)return t.map(((e,t)=>n[t]+e)).join("")}};function qe(e,t,n){return G(n).add(e,t,n)}I(Z),I(U),I([he,ve,xe,Ee,Se]);const Ae=Object.assign(((...e)=>qe(...e)),{createAnimation:qe,createTimeline:G,ticker:c,stagger:function(e,t){let{direction:n,grid:r,axis:o,from:a,start:i,easing:f}=Object.assign({},Q,t);f=x(f);let s=k(e);const[c,u]=s?e:[0,e];let l=[],d=0;return i=i||c,(e,t,g)=>{const p="center"===a,m="first"===a?0:p?(g-1)/2:"last"===a?g-1:a;if(!l.length){for(let e=0;e<g;e++){if(r){const[t,n]=r,a=(p?(n-1)/2:m%n)-e%n,i=(p?(t-1)/2:~~(m/n))-~~(e/n);let f=Math.sqrt(a*a+i*i);f="x"===o?-a:"y"===o?-i:f,l.push(f)}else l.push(Math.abs(m-e));d=Math.max(...l)}l=l.map((n=>f(e,t,g)(n/d)*d)),"reverse"===n&&(l=l.map((e=>o?-e:Math.abs(d-e))))}let h=s?(u-c)/d:u;return h===1/0&&(h=0),i+h*(Math.round(100*l[t])/100)}},easings:u,withFrom:function(e,t){return new S(e,t)},random:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},use:I,css:function e(t,n,r){if(y(n))for(let o in n)e(t,o,n[o]);else{if(void 0===r)return(se[n]&&se[n].get||se._default.get)(t,n);(se[n]&&se[n].set||se._default.set)(t,n,r)}},getPrefixedCssProp:re,geometry:function(e,t=100){return e=b(e)?document.querySelector(e):e,n=>new q(e,n,e.getTotalLength()*(t/100))},setDashoffset:e=>{if(e instanceof SVGGeometryElement){let t=e.getTotalLength();return e.setAttribute("stroke-dasharray",String(t)),t}return 0},timeline:G});return Ae}));
1
+ /* lwa 0.2.3 | MIT license | https://github.com/sutras/lwa */
2
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).lwa=t()}(this,(function(){"use strict";var e=Object.defineProperty,t=Math.pow,n=(t,n,r)=>((t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r)(t,"symbol"!=typeof n?n+"":n,r);const r=new Set;let o=0,a=!0;function i(){0===r.size?a||(a=!0,cancelAnimationFrame(o)):(new Set(r).forEach((e=>e())),o=requestAnimationFrame(i))}const f={add:function(e){r.add(e),a&&(a=!1,o=requestAnimationFrame(i))},remove:function(e){r.delete(e)}},s={linear:()=>e=>e},c={Sine:()=>e=>1-Math.cos(e*Math.PI/2),Expo:()=>e=>e?Math.pow(1024,e-1):0,Circ:()=>e=>1-Math.sqrt(1-e*e),Elastic:()=>e=>0===e||1===e?e:-Math.pow(2,10*e-10)*Math.sin(2*(10*e-10.75)*Math.PI/3),Back:()=>e=>{const t=1.70158;return e*e*((t+1)*e-t)},Bounce:()=>e=>{const t=7.5625,n=2.75;return 1-((e=1-e)<1/n?t*e*e:e<2/n?t*(e-=1.5/n)*e+.75:e<2.5/n?t*(e-=2.25/n)*e+.9375:t*(e-=2.625/n)*e+.984375)}};["Quad","Cubic","Quart","Quint"].forEach(((e,t)=>{c[e]=()=>e=>Math.pow(e,t+2)})),Object.keys(c).forEach((e=>{const t=c[e];s["easeIn"+e]=t,s["easeOut"+e]=(e,n)=>r=>1-t(e,n)(1-r),s["easeInOut"+e]=(e,n)=>r=>r<.5?t(e,n)(2*r)/2:1-t(e,n)(2-2*r)/2}));const l=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/,u=new RegExp("^([+\\-*/%]=|)("+l.source+")("+/%|px|rpx|em|rem|vw|vh|deg|rad|turn|ex|ch|vmin|vmax|pc|pt|in|cm|mm/.source+"|)$","i"),d=new RegExp(l.source,"g"),g=new RegExp("^([<>]|)([+-]=|)("+l.source+"|)(%|)$");function p(e){return"number"==typeof e}function m(e){return"string"==typeof e}function h(e){return null!==e&&"object"==typeof e}function b(e){return"function"==typeof e}function y(e){return Array.isArray(e)}function w(e){return Array.isArray(e)?e:[e]}function k(e){return b(e)?e:()=>(s[e]||s.linear)(0,0)}const v=Symbol();class x{}class M extends x{constructor(e,t){super(),n(this,"from"),n(this,"to"),this.from=e,this.to=t}}class E extends x{constructor(e,t,r){super(),n(this,"el"),n(this,"prop"),n(this,"totalLength"),this.el=e,this.prop=t,this.totalLength=r}}const S=[];function A(e){const n=[];return y(e)||(e=[e]),e.flat().forEach((e=>{e&&(m(e)?n.push(...Array.from(document.querySelectorAll(e))):!function(e){let n;return h(e)&&Number.isInteger(n=e.length)&&n<t(2,32)}(e)?(h(e)||b(e))&&n.push(e):n.push(...Array.from(e)))})),Array.from(new Set(n))}function O(e,t){return b(e)?e(t.target,t.index,t.total):e}function T(e,t){const{duration:n,delay:r,begin:o,easing:a,between:i}=t;return i.map((t=>function(t){const{from:i,to:f,round:s}=t;let c=e<=o+r?i:e>=o+r+n?f:i+a((e-o-r)/n)*(f-i);return s&&(c=Math.round(c*s)/s),c}(t)))}function q(e,t){return y(e=O(e,t))?e.map((e=>q(e,t)[0])):((p(e)||m(e)||e instanceof x)&&(e={value:e}),[e])}function C(e,t,n,r,o,a,i){const f=t.length;let s,c=o||0;i=(null!=i?i:r.duration)/f;const l=t.map(((t,o)=>s=function(t,o,s){var l,d,g,p,h,b,y;const w=O(null!=(l=t.duration)?l:i,e),x=O(null!=(d=t.delay)?d:0===o?r.delay:0,e),E=O(null!=(g=t.endDelay)?g:o===f-1?r.endDelay:0,e),A=O(k(null!=(p=t.easing)?p:r.easing),e),T=O(null!=(h=t.round)?h:r.round,e),q=x+w+E,C=c,j=C+q;if(c+=q,!s){let e;s=(e=a[n])?e[e.length-1]:void 0}const D=t.value;let $,L;const P=D instanceof M;P?(L=O(D.from,e),$=O(D.to,e)):$=D,!P&&s&&(L=s.to);let I=!1;void 0===L&&(L=e.target[n],I=!0);let F="",N="";if(m($)){const e=u.exec($);e&&(F=e[1],$=parseFloat(e[2])||0,N=e[3])}const z={animatedTarget:e,prop:n,duration:w,delay:x,endDelay:E,begin:C,end:j,easing:A,data:{},from:L,to:$,withoutFrom:I,round:T,unit:N,operator:F,between:[]};for(let e=0,n=S.length;e<n&&(null==(y=(b=S[e]).init)?void 0:y.call(b,z,v))!==v;e++);return z}(t,o,s))).sort(((e,t)=>e.begin-t.begin));return{endTime:c,tweens:l}}function j(e,t,n){const r={},o=O(n.duration,e)/t.length;let a=0;return t.forEach((t=>{const i=function(e,t,n,r,o,a){let i={};for(let f in t){const s=t[f];null!=s&&(i[f]=C(e,q(s,e),f,n,r,o,a))}return i}(e,t,n,a,r,o);for(let e in i)a=Math.max(a,i[e].endTime),r[e]=(r[e]||[]).concat(i[e].tweens)})),r}function D(e,t,n){return e.map((e=>{const r=j(e,t,n);return Object.keys(r).map((e=>{return{seek:function(e){var n,r;let o;for(let a,i=0;a=t[i++];){if(a.begin<=e&&a.end>=e){o=a;break}e>a.end&&(!t[i+1]||t[i+1].begin>e)&&(o=a)}if(o){let t,a=T(e,o);for(let e=S.length-1;e>=0;e--){if(t=null==(r=(n=S[e]).update)?void 0:r.call(n,o,a,v),t===v)return;void 0!==t&&(a=t)}}},getDuration:function(){return Math.max(...t.map((e=>e.end)))},tweens:t=r[e]};var t}))})).flat()}const $={duration:500,delay:0,endDelay:0,easing:"easeInOutQuad",round:0};function L(e){w(e).forEach((e=>{S.includes(e)||(S.push(e),S.sort(((e,t)=>t.order-e.order)))}))}const P="alternate-reverse",I="reverse",F="alternate";function N(e){return e===I||e===P}function z(e){return e===F||e===P}const R={externalTicker:!1,autoplay:!0,direction:"normal",loop:1},X=["begin","loopBegin","complete","loopComplete","pause","play","update"];function Y(e){const t=Object.assign({},R,e),{externalTicker:n,autoplay:r,direction:o,loop:a}=t;let i=!1,s=!0,c=0,l=0,u=a,d=N(o),b=0,w=[];const k=function(){const e={};function t(t,n){let r=e[t];r||(r=e[t]=new Set),r.add(n)}function n(t,n){if(n){const r=e[t];r&&(r.delete(n),0===r.size&&delete e[t])}else delete e[t]}return{on:t,off:n,once:function(e,r){t(e,(function t(...o){r(...o),n(e,t)}))},emit:function(t,...n){const r=e[t];r&&r.forEach((e=>{e(...n)}))}}}();function v(){return 0===u&&l===b}function x(e){let t=!1;e>=b?(e=b,t=!0):e<0&&(e=0),l=e;const n=d?b-l:l;w.forEach((({target:e,begin:t})=>{e.seek(n-t)})),k.emit("update",n,0===b?0:l/b),t&&(k.emit("loopComplete"),--u<0&&(u=0),0===u?(O(),k.emit("complete")):s||(z(o)&&(d=!d),E()))}function M(){if(!s){let e=Date.now();x(e-c+l),c=e}}function E(){i?l=0:(i=!0,k.emit("begin")),k.emit("loopBegin"),S()}function S(){i?s&&(s=!1,v()?(z(o)&&(d=!d),T()):(c=Date.now(),n||f.add(M),k.emit("play"))):E()}function O(){s||(s=!0,n||f.remove(M),k.emit("pause"))}function T(){O(),l=0,i=!1,u=a,d=N(o),S()}function q(e,t,n,r){if(function(e){return h(e)&&"getDuration"in e&&"seek"in e}(e)){let n=b;if(p(r=null!=t?t:">"))n=r;else{const{begin:e,end:t}=w[w.length-1]||{begin:0,end:0},o=t-e,[,a,i,f,s]=g.exec(r)||[,">","","",""];n="<"===a?e:">"===a?t:n;let c=+f;"%"===s&&(c=(a?o:b)/100*+f),n+="-="===i?-c:c}n=Math.max(0,n);const o=n+e.getDuration();w.push({target:e,position:r,begin:n,end:o}),b=Math.max(b,o)}else{(p(n)||m(n))&&(r=n,n=void 0);const o=function(e,t,n){const r=Object.assign({},$,n);return D((o=A(e)).map(((e,t)=>({target:e,index:t,total:o.length}))),y(t)?t:[t],r);var o}(e,t,n);o.forEach(((e,t)=>{q(e,0===t?r:"<")}))}return C}X.forEach((e=>{t[e]&&k.on(e,t[e])})),r&&0!==a&&E();const C={play:S,pause:O,finish:function(){v()||x(b)},restart:T,seek:x,progress:function(e){var t,n,r;x((r=1,((t=e)<(n=0)?n:t>r?r:t)*b))},tick:()=>{n&&M()},getPosition:()=>l,getDuration:()=>b,getProgress:()=>0===b?0:l/b,isReverse:()=>d,add:q,remove:function(e){const t=w.findIndex((t=>t.target===e));-1!==t&&(w.splice(t,1),function(){const e=[...w];w=[],b=0,e.forEach((e=>{q(e.target,e.position)}))}())},clear:function(){O(),b=0,w=[]},events:w,on:k.on,off:k.off,once:k.once};return C}const B={start:0,from:0,direction:"normal",easing:"linear",grid:null,axis:null};const G={order:100,update(e,t,n){const{animatedTarget:r,prop:o,unit:a}=e;let i=y(t)?t[0]:t;return a&&(i+=a),r.target[o]=i,n}},Q={order:0,init(e,t){if(0===e.between.length){const n=w(e.to),r=w(e.from);return e.between=n.map(((t,n)=>({from:+r[n]||0,to:+t||0,round:e.round}))),t}}},Z={},U=["","webkit","Moz"],V=document.documentElement,H=["translateX","translateY","translateZ","scale","scaleX","scaleY","scaleZ","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY","perspective"];let W=null;let _=null;function J(e){return _||(_=ee(["columnCount","fillOpacity","fontSizeAdjust","fontWeight","lineHeight","opacity","orphans","widows","zIndex","zoom","scale","scaleX","scaleY","scaleZ","order","flexGrow","flexShrink","scrollLeft","scrollTop","strokeDashoffset","strokeDasharray"])),_[e]}let K=null;function ee(e){const t={};for(let n=0,r=e.length;n<r;n++)t[e[n]]=!0;return t}function te(e){return e.replace(/[-]([^-])/g,((e,t)=>t.toUpperCase())).replace(/^./,(e=>e.toLowerCase()))}function ne(e,t){if(Z[e])return Z[e];t=t||V.style;for(let n=0,r=U.length;n<r;n++){const r=U[n];let o=r?r+String(e).replace(/[-]([^-])/g,((e,t)=>t.toUpperCase())).replace(/^./,(e=>e.toUpperCase())):te(String(e));if(o in t)return Z[e]=o}return""}function re(e,t){return t+(Number.isNaN(+t)||J(e)?"":"px")}function oe(e,t){return window.getComputedStyle(e)[ne(t)]}function ae(e,t,n){e.style[ne(t)]=n}function ie(e,t){let n="";t.forEach(((e,t)=>n+=t+"("+e+") ")),ae(e,"transform",n)}let fe=null;function se(e){return fe||(fe={_default:{get:(e,t)=>oe(e,t),set(e,t,n){!function(e,t,n){e.style[ne(t)]=re(String(t),n)}(e,t,n)}}},["scrollTop","scrollLeft"].forEach((e=>{fe[e]={get:(e,t)=>e[t],set(e,t,n){e[t]=n}}})),H.forEach((e=>{fe[e]={get:(e,t)=>le(e).get(t)||"",set(e,t,n){const r=le(e);r.set(t,re(t,n)),ue(r),ie(e,r)}}}))),fe[e]||fe._default}function ce(e){return/rotate|skew/.test(e)?"deg":J(e)?"":"px"}function le(e){const t=e.style.getPropertyValue(ne("transform")),n=/(\w+)\(([^)]+)\)/g;let r;const o=[];for(;r=n.exec(t);)o.push([r[1],r[2]]);return o.sort(((e,t)=>H.indexOf(e[0])-H.indexOf(t[0]))),new Map(o)}function ue(e){const t=[...e].sort(((e,t)=>H.indexOf(e[0])-H.indexOf(t[0])));e.clear(),t.forEach((([t,n])=>{e.set(t,n)}))}function de(e){var t;return(null==(t=u.exec(e))?void 0:t[3])||""}function ge(e,t,n){if(-1!==[de(String(t)),"deg","rad","turn"].indexOf(n))return t;const r=document.createElement(e.tagName);r.style.position="absolute",r.style.width=100+n;const o=e.parentNode&&e.parentNode!==document?e.parentNode:document.body;o.appendChild(r);const a=100/r.offsetWidth;return o.removeChild(r),a*parseFloat(String(t))}function pe(e,t,n,r){switch(r){case"trans":return function(e,t,n){let r=le(e).get(t)||(/scale/.test(t)?1:0+ce(t));return n?ge(e,r,n):r}(e,t,n);case"css":return function(e,t,n){let r=oe(e,t);return n&&m(r)?ge(e,r,n):r}(e,t,n);case"attr":return function(e,t){return e.getAttribute(t)}(e,t)}}function me(e,t){return function(e){return W||(W=ee(H)),!!W[e]}(t)?"trans":ne(t)?"css":(n=t,K||(K=ee(["value"])),!K[n]&&e.hasAttribute(t)?"attr":"");var n}const he={order:90,init(e){const{animatedTarget:t,prop:n,data:r}=e,o=t.target;if(function(e){return e instanceof HTMLElement||e instanceof SVGElement}(o)){const a=me(o,n);if(a){if(r.css=a,"trans"===a&&(t.transforms||(t.transforms={map:le(o)})),e.withoutFrom){e.from=pe(o,n,e.unit,a);const t=u.exec(e.from);t&&(e.from=parseFloat(t[2]))}e.unit||(e.unit=ce(n))}}},update(e,t,n){const r=e.data.css;if(r){const{animatedTarget:o,prop:a,unit:i}=e,f=o.target;let s=y(t)?t[0]:t;switch("attr"!==r&&(s+=i),r){case"trans":let e=o.transforms.map;const t=e.has(a);e.set(a,s),t||ue(e),ie(f,e);break;case"css":ae(f,a,s);break;case"attr":f.setAttribute(a,s)}return n}}},be={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"778899",lightslategrey:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};function ye(e){let t,n=/[0-9a-f]{2}/gi,r=[];for(;t=n.exec(e);)r.push(parseInt(t[0],16));return r}function we(e){let t,n=/[.\d]+/g,r=[];for(;t=n.exec(e);)r.push(+t[0]);return r}function ke(e){let t;if(e=String(e),/^#?[0-9a-f]{3}$/i.test(e))t=ye(e.replace(/(.)(.)(.)$/,"$1$1$2$2$3$3"));else if(/^#?([0-9a-f]{6})$/i.test(e))t=ye(RegExp.$1);else if(/^rgb/i.test(e))t=we(e);else if(/^hsl/i.test(e)){const n=we(e);n[0]/=360,n[1]/=100,n[2]/=100,t=function(e,t,n){let r,o,a;function i(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(t-e)*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}if(0==t)r=o=a=n;else{let f=n<.5?n*(1+t):n+t-n*t,s=2*n-f;r=i(s,f,e+1/3),o=i(s,f,e),a=i(s,f,e-1/3)}return[Math.round(255*r),Math.round(255*o),Math.round(255*a)]}(...n).concat(n[3])}else t=be.hasOwnProperty(e=e.toLowerCase())?ye(be[e]):[0,0,0,1];return p(t[3])||(t[3]=1),t}const ve={order:80,init(e,t){if(m(e.to)&&(n=e.to,be.hasOwnProperty(String(n).toLowerCase())||/^(?:rgb|hsl|#(?:[0-9a-f]{6}|[0-9a-f]{3})$)/i.test(n))){const n=e.data,r=ke(String(e.from)),o=ke(e.to);return e.between=o.map(((e,t)=>({from:r[t],to:e,round:3===t?0:1}))),e.unit="",n.color={},t}var n},update(e,t){if(e.data.color)return"rgba("+t.join(",")+")"}};const xe={order:70,init(e){if(e.operator){let t=e.from;p(t)||(t=Number(t)||0),e.to=function(e,t,n){switch(n[0]){case"+":return e+t;case"-":return e-t;case"*":return e*t;case"/":return e/t;case"%":return e%t}return 0}(t,e.to,e.operator),e.from=t}}};function Me(e,t){return function(e,t){return Math.atan2(t.y-e.y,t.x-e.x)}(e,t)/Math.PI*180}const Ee={order:60,init(e){const{data:t,to:n}=e;n instanceof E&&(t.svg=n,e.from=0,e.to=n.totalLength,e.unit="")},update(e,t){const n=e.data.svg;if(n){let e=function(e){return n.el.getPointAtLength(r+e)};const r=y(t)?t[0]:t,o=e(-1),a=e(0);switch(n.prop){case"x":return a.x+"px";case"y":return a.y+"px";case"angle":return Me(o,a)+"deg"}}}},Se={order:50,init(e){let t,n=e.to;if(m(n)&&(t=n.match(d))){e.data.interp=n.split(d);let r,o=e.from;m(o)&&(r=o.match(d))?o=r:y(o)||(o=[e.from]),e.from=o,e.to=t}},update(e,t){const n=e.data.interp;if(n)return t.map(((e,t)=>n[t]+e)).join("")}};function Ae(e,t,n){return Y(n).add(e,t,n)}L(G),L(Q),L([he,ve,xe,Ee,Se]);const Oe=Object.assign(((...e)=>Ae(...e)),{createAnimation:Ae,createTimeline:Y,ticker:f,stagger:function(e,t){let{direction:n,grid:r,axis:o,from:a,start:i,easing:f}=Object.assign({},B,t);f=k(f);let s=y(e);const[c,l]=s?e:[0,e];let u=[],d=0;return i=i||c,(e,t,g)=>{const p="center"===a,m="first"===a?0:p?(g-1)/2:"last"===a?g-1:a;if(!u.length){for(let e=0;e<g;e++){if(r){const[t,n]=r,a=(p?(n-1)/2:m%n)-e%n,i=(p?(t-1)/2:~~(m/n))-~~(e/n);let f=Math.sqrt(a*a+i*i);f="x"===o?-a:"y"===o?-i:f,u.push(f)}else u.push(Math.abs(m-e));d=Math.max(...u)}u=u.map((n=>f(e,t,g)(n/d)*d)),"reverse"===n&&(u=u.map((e=>o?-e:Math.abs(d-e))))}let h=s?(l-c)/d:l;return h===1/0&&(h=0),i+h*(Math.round(100*u[t])/100)}},easings:s,withFrom:function(e,t){return new M(e,t)},random:function(e,t){return Math.floor(Math.random()*(t-e+1)+e)},use:L,css:function e(t,n,r){if(h(n))for(let o in n)e(t,o,n[o]);else{if(void 0===r)return se(n).get(t,n);se(n).set(t,n,r)}},getPrefixedCssProp:ne,geometry:function(e,t=100){return e=m(e)?document.querySelector(e):e,n=>new E(e,n,e.getTotalLength()*(t/100))},setDashoffset:e=>{if(e instanceof SVGGeometryElement){let t=e.getTotalLength();return e.setAttribute("stroke-dasharray",String(t)),t}return 0},timeline:Y});return Oe}));
package/dist/lwa.mjs CHANGED
@@ -1,45 +1,8 @@
1
- /* lwa 0.2.3-alpha | MIT license | https://github.com/sutras/lwa */
1
+ /* lwa 0.2.3 | MIT license | https://github.com/sutras/lwa */
2
2
  var __defProp = Object.defineProperty;
3
3
  var __pow = Math.pow;
4
4
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
5
5
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
6
- function getAnimationFrameController() {
7
- if (typeof requestAnimationFrame === "function") {
8
- return {
9
- request: requestAnimationFrame,
10
- cancel: cancelAnimationFrame
11
- };
12
- }
13
- const fps = 60;
14
- const callbacks = [];
15
- let id2 = 1;
16
- let cursor = 0;
17
- let timer;
18
- function playAll() {
19
- timer = void 0;
20
- const cloned = callbacks.slice();
21
- cursor += callbacks.length;
22
- callbacks.length = 0;
23
- cloned.forEach((callback) => {
24
- if (callback !== 0) {
25
- callback(Date.now());
26
- }
27
- });
28
- }
29
- return {
30
- request(handler) {
31
- callbacks.push(handler);
32
- if (!timer) {
33
- timer = setTimeout(playAll, 1e3 / fps);
34
- }
35
- return id2++;
36
- },
37
- cancel(id22) {
38
- callbacks[id22 - cursor] = 0;
39
- }
40
- };
41
- }
42
- const { request, cancel } = getAnimationFrameController();
43
6
  const ticks = /* @__PURE__ */ new Set();
44
7
  let id = 0;
45
8
  let paused = true;
@@ -55,19 +18,19 @@ function step() {
55
18
  stop();
56
19
  } else {
57
20
  new Set(ticks).forEach((tick) => tick());
58
- id = request(step);
21
+ id = requestAnimationFrame(step);
59
22
  }
60
23
  }
61
24
  function run() {
62
25
  if (paused) {
63
26
  paused = false;
64
- id = request(step);
27
+ id = requestAnimationFrame(step);
65
28
  }
66
29
  }
67
30
  function stop() {
68
31
  if (!paused) {
69
32
  paused = true;
70
- cancel(id);
33
+ cancelAnimationFrame(id);
71
34
  }
72
35
  }
73
36
  const ticker = {
@@ -825,31 +788,49 @@ const transformValues = [
825
788
  "skewY",
826
789
  "perspective"
827
790
  ];
828
- const transformValuesMap = arrayToObject(transformValues);
829
- const optionalUnitProperties = arrayToObject([
830
- "columnCount",
831
- "fillOpacity",
832
- "fontSizeAdjust",
833
- "fontWeight",
834
- "lineHeight",
835
- "opacity",
836
- "orphans",
837
- "widows",
838
- "zIndex",
839
- "zoom",
840
- "scale",
841
- "scaleX",
842
- "scaleY",
843
- "scaleZ",
844
- "order",
845
- "flexGrow",
846
- "flexShrink",
847
- "scrollLeft",
848
- "scrollTop",
849
- "strokeDashoffset",
850
- "strokeDasharray"
851
- ]);
852
- const domDotAttributes = arrayToObject(["value"]);
791
+ let transformValuesMap = null;
792
+ function isTransform(prop) {
793
+ if (!transformValuesMap) {
794
+ transformValuesMap = arrayToObject(transformValues);
795
+ }
796
+ return !!transformValuesMap[prop];
797
+ }
798
+ let optionalUnitProperties = null;
799
+ function isOptionalUnitProperty(prop) {
800
+ if (!optionalUnitProperties) {
801
+ optionalUnitProperties = arrayToObject([
802
+ "columnCount",
803
+ "fillOpacity",
804
+ "fontSizeAdjust",
805
+ "fontWeight",
806
+ "lineHeight",
807
+ "opacity",
808
+ "orphans",
809
+ "widows",
810
+ "zIndex",
811
+ "zoom",
812
+ "scale",
813
+ "scaleX",
814
+ "scaleY",
815
+ "scaleZ",
816
+ "order",
817
+ "flexGrow",
818
+ "flexShrink",
819
+ "scrollLeft",
820
+ "scrollTop",
821
+ "strokeDashoffset",
822
+ "strokeDasharray"
823
+ ]);
824
+ }
825
+ return optionalUnitProperties[prop];
826
+ }
827
+ let domDotAttributes = null;
828
+ function isDomDotAttribute(attr) {
829
+ if (!domDotAttributes) {
830
+ domDotAttributes = arrayToObject(["value"]);
831
+ }
832
+ return domDotAttributes[attr];
833
+ }
853
834
  function arrayToObject(array) {
854
835
  const map = {};
855
836
  for (let i = 0, l = array.length; i < l; i++) {
@@ -874,14 +855,14 @@ function getPrefixedCssProp(name, host) {
874
855
  for (let i = 0, l = prefixes.length; i < l; i++) {
875
856
  const prefix = prefixes[i];
876
857
  let fitName = prefix ? prefix + pascalCase(String(name)) : camalCase(String(name));
877
- if (fitName in html.style) {
858
+ if (fitName in host) {
878
859
  return cssProps[name] = fitName;
879
860
  }
880
861
  }
881
862
  return "";
882
863
  }
883
864
  function combinedWithUnit(prop, value) {
884
- return value + (!Number.isNaN(+value) && !optionalUnitProperties[prop] ? "px" : "");
865
+ return value + (!Number.isNaN(+value) && !isOptionalUnitProperty(prop) ? "px" : "");
885
866
  }
886
867
  function getStyle(elem, prop) {
887
868
  return window.getComputedStyle(elem)[getPrefixedCssProp(prop)];
@@ -900,39 +881,45 @@ function setStyleFromTransformMap(elem, map) {
900
881
  map.forEach((val, key) => value += key + "(" + val + ") ");
901
882
  setStyleIgnoreUnit(elem, "transform", value);
902
883
  }
903
- const cssHooks = {
904
- _default: {
905
- get(elem, prop) {
906
- return getStyle(elem, prop);
907
- },
908
- set(elem, prop, value) {
909
- setStyle(elem, prop, value);
910
- }
884
+ let cssHooks = null;
885
+ function getCssHook(prop) {
886
+ if (!cssHooks) {
887
+ cssHooks = {
888
+ _default: {
889
+ get(elem, prop2) {
890
+ return getStyle(elem, prop2);
891
+ },
892
+ set(elem, prop2, value) {
893
+ setStyle(elem, prop2, value);
894
+ }
895
+ }
896
+ };
897
+ ["scrollTop", "scrollLeft"].forEach((item) => {
898
+ cssHooks[item] = {
899
+ get(elem, prop2) {
900
+ return elem[prop2];
901
+ },
902
+ set(elem, prop2, value) {
903
+ elem[prop2] = value;
904
+ }
905
+ };
906
+ });
907
+ transformValues.forEach((item) => {
908
+ cssHooks[item] = {
909
+ get(elem, prop2) {
910
+ return getTransformValuesMap(elem).get(prop2) || "";
911
+ },
912
+ set(elem, prop2, value) {
913
+ const transformValuesMap2 = getTransformValuesMap(elem);
914
+ transformValuesMap2.set(prop2, combinedWithUnit(prop2, value));
915
+ sortTransformValues(transformValuesMap2);
916
+ setStyleFromTransformMap(elem, transformValuesMap2);
917
+ }
918
+ };
919
+ });
911
920
  }
912
- };
913
- ["scrollTop", "scrollLeft"].forEach((item) => {
914
- cssHooks[item] = {
915
- get(elem, prop) {
916
- return elem[prop];
917
- },
918
- set(elem, prop, value) {
919
- elem[prop] = value;
920
- }
921
- };
922
- });
923
- transformValues.forEach((item) => {
924
- cssHooks[item] = {
925
- get(elem, prop) {
926
- return getTransformValuesMap(elem).get(prop) || "";
927
- },
928
- set(elem, prop, value) {
929
- const transformValuesMap2 = getTransformValuesMap(elem);
930
- transformValuesMap2.set(prop, combinedWithUnit(prop, value));
931
- sortTransformValues(transformValuesMap2);
932
- setStyleFromTransformMap(elem, transformValuesMap2);
933
- }
934
- };
935
- });
921
+ return cssHooks[prop] || cssHooks._default;
922
+ }
936
923
  function css(elem, prop, value) {
937
924
  if (isObject(prop)) {
938
925
  for (let i in prop) {
@@ -943,20 +930,13 @@ function css(elem, prop, value) {
943
930
  );
944
931
  }
945
932
  } else if (value === void 0) {
946
- return (cssHooks[prop] && cssHooks[prop].get || cssHooks._default.get)(
947
- elem,
948
- prop
949
- );
933
+ return getCssHook(prop).get(elem, prop);
950
934
  } else {
951
- (cssHooks[prop] && cssHooks[prop].set || cssHooks._default.set)(
952
- elem,
953
- prop,
954
- value
955
- );
935
+ getCssHook(prop).set(elem, prop, value);
956
936
  }
957
937
  }
958
938
  function getDefaultUnit(prop) {
959
- return /rotate|skew/.test(prop) ? "deg" : optionalUnitProperties[prop] ? "" : "px";
939
+ return /rotate|skew/.test(prop) ? "deg" : isOptionalUnitProperty(prop) ? "" : "px";
960
940
  }
961
941
  function getTransformValuesMap(target) {
962
942
  const value = target.style.getPropertyValue(getPrefixedCssProp("transform"));
@@ -1020,10 +1000,7 @@ function getOriginalValue(target, prop, unit, propType) {
1020
1000
  }
1021
1001
  }
1022
1002
  function getPropType(target, prop) {
1023
- return isTransform(prop) ? "trans" : getPrefixedCssProp(prop) ? "css" : !domDotAttributes[prop] && target.hasAttribute(prop) ? "attr" : "";
1024
- }
1025
- function isTransform(prop) {
1026
- return !!transformValuesMap[prop];
1003
+ return isTransform(prop) ? "trans" : getPrefixedCssProp(prop) ? "css" : !isDomDotAttribute(prop) && target.hasAttribute(prop) ? "attr" : "";
1027
1004
  }
1028
1005
  const cssPlugin = definePlugin({
1029
1006
  order: 90,
@@ -0,0 +1,223 @@
1
+ declare function add(tick: () => void): void;
2
+
3
+ declare interface AnimatedTarget {
4
+ target: object;
5
+ index: number;
6
+ total: number;
7
+ }
8
+
9
+ declare type BaseValue = number | string;
10
+
11
+ declare interface Between {
12
+ from: number;
13
+ to: number;
14
+ round: number;
15
+ }
16
+
17
+ export declare function createAnimation(target: string | unknown[] | object, keyframes: Properties | Properties[], options?: TweenOptions & TimelineOptions): {
18
+ play: () => void;
19
+ pause: () => void;
20
+ finish: () => void;
21
+ restart: () => void;
22
+ seek: (nextPosition: number) => void;
23
+ progress: (p: number) => void;
24
+ tick: () => void;
25
+ getPosition(): number;
26
+ getDuration(): number;
27
+ getProgress(): number;
28
+ isReverse(): boolean;
29
+ add: {
30
+ (target: string | unknown[] | object, keyframes: Properties | Properties[], options?: TweenOptions, position?: number | string): any;
31
+ (target: string | unknown[] | object, keyframes: Properties | Properties[], position?: number | string): any;
32
+ (target: TimelineEventTarget, position?: number | string): any;
33
+ };
34
+ remove: (target: TimelineEventTarget) => void;
35
+ clear: () => void;
36
+ events: TimelineEvent[];
37
+ on: <U extends "pause" | "play" | "complete" | "update" | "begin" | "loopBegin" | "loopComplete">(type: U, callback: {
38
+ begin: () => void;
39
+ loopBegin: () => void;
40
+ complete: () => void;
41
+ loopComplete: () => void;
42
+ pause: () => void;
43
+ play: () => void;
44
+ update: (position: number, progress: number) => void;
45
+ }[U]) => void;
46
+ off: <U extends "pause" | "play" | "complete" | "update" | "begin" | "loopBegin" | "loopComplete">(type: U, callback?: {
47
+ begin: () => void;
48
+ loopBegin: () => void;
49
+ complete: () => void;
50
+ loopComplete: () => void;
51
+ pause: () => void;
52
+ play: () => void;
53
+ update: (position: number, progress: number) => void;
54
+ }[U] | undefined) => void;
55
+ once: <U extends "pause" | "play" | "complete" | "update" | "begin" | "loopBegin" | "loopComplete">(type: U, callback: {
56
+ begin: () => void;
57
+ loopBegin: () => void;
58
+ complete: () => void;
59
+ loopComplete: () => void;
60
+ pause: () => void;
61
+ play: () => void;
62
+ update: (position: number, progress: number) => void;
63
+ }[U]) => void;
64
+ };
65
+
66
+ export declare function createTimeline(options?: TimelineOptions): {
67
+ play: () => void;
68
+ pause: () => void;
69
+ finish: () => void;
70
+ restart: () => void;
71
+ seek: (nextPosition: number) => void;
72
+ progress: (p: number) => void;
73
+ tick: () => void;
74
+ getPosition(): number;
75
+ getDuration(): number;
76
+ getProgress(): number;
77
+ isReverse(): boolean;
78
+ add: {
79
+ (target: string | unknown[] | object, keyframes: Properties | Properties[], options?: TweenOptions, position?: number | string): any;
80
+ (target: string | unknown[] | object, keyframes: Properties | Properties[], position?: number | string): any;
81
+ (target: TimelineEventTarget, position?: number | string): any;
82
+ };
83
+ remove: (target: TimelineEventTarget) => void;
84
+ clear: () => void;
85
+ events: TimelineEvent[];
86
+ on: <U extends "pause" | "play" | "complete" | "update" | "begin" | "loopBegin" | "loopComplete">(type: U, callback: {
87
+ begin: () => void;
88
+ loopBegin: () => void;
89
+ complete: () => void;
90
+ loopComplete: () => void;
91
+ pause: () => void;
92
+ play: () => void;
93
+ update: (position: number, progress: number) => void;
94
+ }[U]) => void;
95
+ off: <U extends "pause" | "play" | "complete" | "update" | "begin" | "loopBegin" | "loopComplete">(type: U, callback?: {
96
+ begin: () => void;
97
+ loopBegin: () => void;
98
+ complete: () => void;
99
+ loopComplete: () => void;
100
+ pause: () => void;
101
+ play: () => void;
102
+ update: (position: number, progress: number) => void;
103
+ }[U] | undefined) => void;
104
+ once: <U extends "pause" | "play" | "complete" | "update" | "begin" | "loopBegin" | "loopComplete">(type: U, callback: {
105
+ begin: () => void;
106
+ loopBegin: () => void;
107
+ complete: () => void;
108
+ loopComplete: () => void;
109
+ pause: () => void;
110
+ play: () => void;
111
+ update: (position: number, progress: number) => void;
112
+ }[U]) => void;
113
+ };
114
+
115
+ declare type Direction = "normal" | "reverse" | "alternate" | "alternate-reverse";
116
+
117
+ export declare type Easing = keyof typeof easings | FunctionalValue<(k: number) => number>;
118
+
119
+ export declare type Easings = {
120
+ linear: (...args: any[]) => (p: number) => number;
121
+ } & {
122
+ [p in EasingStuffNames as `${"easeIn" | "easeOut" | "easeInOut"}${p}`]: (...args: any[]) => (p: number) => number;
123
+ };
124
+
125
+ export declare const easings: Easings;
126
+
127
+ declare type EasingStuffNames = "Quad" | "Cubic" | "Quart" | "Quint" | "Sine" | "Expo" | "Circ" | "Elastic" | "Back" | "Bounce";
128
+
129
+ declare type FunctionalValue<T> = (target: object, index: number, total: number) => T;
130
+
131
+ declare type MayFunctionValue<T> = T | FunctionalValue<T>;
132
+
133
+ declare interface ObjectValue extends TweenOptions {
134
+ value: BaseValue | SpecialValue;
135
+ }
136
+
137
+ export declare interface Properties {
138
+ [p: string]: Value;
139
+ }
140
+
141
+ declare function remove(tick: () => void): void;
142
+
143
+ declare type SingleValue = BaseValue | SpecialValue | ObjectValue;
144
+
145
+ declare class SpecialValue {
146
+ }
147
+
148
+ export declare const ticker: {
149
+ add: typeof add;
150
+ remove: typeof remove;
151
+ };
152
+
153
+ export declare type Timeline = ReturnType<typeof createTimeline>;
154
+
155
+ declare interface TimelineCallbackOptions {
156
+ begin?: () => void;
157
+ loopBegin?: () => void;
158
+ complete?: () => void;
159
+ loopComplete?: () => void;
160
+ pause?: () => void;
161
+ play?: () => void;
162
+ update?: (position: number, progress: number) => void;
163
+ }
164
+
165
+ declare interface TimelineEvent {
166
+ target: TimelineEventTarget;
167
+ position: number | string;
168
+ begin: number;
169
+ end: number;
170
+ }
171
+
172
+ declare interface TimelineEventTarget {
173
+ getDuration: () => number;
174
+ seek: (position: number) => void;
175
+ tweens?: Tween[];
176
+ events?: TimelineEvent[];
177
+ }
178
+
179
+ export declare interface TimelineOptions extends TimelineCallbackOptions {
180
+ externalTicker?: boolean;
181
+ autoplay?: boolean;
182
+ direction?: Direction;
183
+ loop?: number;
184
+ }
185
+
186
+ declare interface Tween<T extends {} = {}, U = {}> {
187
+ animatedTarget: AnimatedTarget & U;
188
+ prop: string;
189
+ duration: number;
190
+ delay: number;
191
+ endDelay: number;
192
+ begin: number;
193
+ end: number;
194
+ easing: (k: number) => number;
195
+ data: T;
196
+ from: unknown;
197
+ to: unknown;
198
+ withoutFrom: boolean;
199
+ round: number;
200
+ unit: string;
201
+ operator: string;
202
+ between: Between[];
203
+ }
204
+
205
+ export declare interface TweenOptions {
206
+ duration?: number | FunctionalValue<number>;
207
+ delay?: number | FunctionalValue<number>;
208
+ endDelay?: number | FunctionalValue<number>;
209
+ easing?: Easing;
210
+ round?: number | FunctionalValue<number>;
211
+ }
212
+
213
+ declare type Value = MayFunctionValue<SingleValue | SingleValue[]>;
214
+
215
+ export declare function withFrom(from: MayFunctionValue<BaseValue>, to: MayFunctionValue<BaseValue>): WithFromValue;
216
+
217
+ declare class WithFromValue extends SpecialValue {
218
+ from: MayFunctionValue<BaseValue>;
219
+ to: MayFunctionValue<BaseValue>;
220
+ constructor(from: MayFunctionValue<BaseValue>, to: MayFunctionValue<BaseValue>);
221
+ }
222
+
223
+ export { }