@pixodesk/svg-animator-web 1.0.6 → 1.0.10
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.
- package/README.md +4 -0
- package/dist/index.cjs +953 -611
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +50 -3
- package/dist/index.d.ts +50 -3
- package/dist/index.js +953 -611
- package/dist/index.js.map +1 -1
- package/dist/index.min.cjs +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.umd.js +953 -611
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/package.json +1 -1
package/dist/index.min.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e,t=Object.defineProperty,n=Object.defineProperties,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertyNames,s=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,u=(e,n,r)=>n in e?t(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,c={};function f(e,t,n){return e+(t-e)*n}function d(e,t,n){const r=[],o=Math.max(e.length,t.length);for(let i=0;i<o;i++)r[i]=f(e[i]||0,t[i]||0,n);return r}function p(e,t,n){var r,o,i,s,a,l,u,c,f;if(!e||!t)return e||t||{v:[]};const p=Math.min(Math.max(n,0),1),m=Math.min(e.v.length,t.v.length),h=[],v=[],y=[];for(let n=0;n<m;n++){const f=e.v[n],m=t.v[n];h.push(d(f,m,p));const g=null!=(o=null==(r=e.i)?void 0:r[n])?o:f,b=null!=(s=null==(i=t.i)?void 0:i[n])?s:m;v.push(d(g,b,p));const A=null!=(l=null==(a=e.o)?void 0:a[n])?l:f,w=null!=(c=null==(u=t.o)?void 0:u[n])?c:m;y.push(d(A,w,p))}return{v:h,i:v.length?v:void 0,o:y.length?y:void 0,c:null!=(f=e.c)?f:t.c}}function m(e){const[t,n,r,o]=e,i=3*t,s=3*(r-t)-i,a=1-i-s,l=3*n,u=3*(o-n)-l,c=1-l-u;function f(e){return((a*e+s)*e+i)*e}function d(e){return(3*a*e+2*s)*e+i}return function(e){return t=function(e){if(e<=0)return 0;if(e>=1)return 1;let t=e,n=0,r=1;for(let n=0;n<8;n++){const n=f(t)-e;if(Math.abs(n)<1e-6)return t;const r=d(t);if(Math.abs(r)<1e-6)break;t-=n/r}for(t=e;n<r;){const o=f(t);if(Math.abs(o-e)<1e-6)return t;e>o?n=t:r=t,t=(r+n)/2}return t}(e),((c*t+u)*t+l)*t;var t}}function h(e){const t=Math.round(255*e[0]),n=Math.round(255*e[1]),r=Math.round(255*e[2]);return 4===e.length?"rgba("+t+","+n+","+r+","+e[3]+")":"rgb("+t+","+n+","+r+")"}function v(e){if(e){if(Array.isArray(e))return e;if("string"==typeof e)return e.startsWith("#")?function(e){const t=e.slice(1),n=t.length<=4,r=n?t[0]+t[0]:t.slice(0,2),o=n?t[1]+t[1]:t.slice(2,4),i=n?t[2]+t[2]:t.slice(4,6),s=4===t.length?t[3]+t[3]:8===t.length?t.slice(6,8):null,a=[parseInt(r,16)/255,parseInt(o,16)/255,parseInt(i,16)/255];return null!==s&&a.push(parseInt(s,16)/255),a}(e):e.startsWith("rgb")?function(e){var t;const n=null==(t=e.match(/rgba?\((.*)\)/))?void 0:t[1];if(!n)throw new Error("Invalid rgb/rgba format");const r=n.split(",").map(e=>+e.trim());return[r[0]/255,r[1]/255,r[2]/255,...void 0!==r[3]?[r[3]]:[]]}(e):void console.warn("Unsupported color format: "+e)}}((e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})})(c,{COLOUR_ATTR_NAMES:()=>y,PX_ANIM_ATTR_NAME:()=>R,PX_ANIM_SRC_ATTR_NAME:()=>N,STYLE_ATTR_NAMES:()=>A,TRANSFORM_FN_NAMES:()=>g,calcAnimationValues:()=>oe,camelCaseToKebabWordIfNeeded:()=>j,createAnimator:()=>he,createAnimatorImpl:()=>me,createBasicFrameLoopAnimator:()=>se,createFrameLoopAnimator:()=>ae,createWebApiAnimator:()=>ue,generateNewIds:()=>de,getAnimatorConfig:()=>B,getBindings:()=>Z,getChildren:()=>X,getDefs:()=>K,getNormalizedProps:()=>M,isPxElementFileFormat:()=>P,isPxElementFileFormatDeep:()=>V,loadTagAnimators:()=>ve,normalizeDocument:()=>ne,renderNode:()=>C,setupAnimationTriggers:()=>T,toRGBA:()=>h}),module.exports=(e=c,((e,n,o,s)=>{if(n&&"object"==typeof n||"function"==typeof n)for(let l of i(n))a.call(e,l)||l===o||t(e,l,{get:()=>n[l],enumerable:!(s=r(n,l))||s.enumerable});return e})(t({},"__esModule",{value:!0}),e));var y=new Set(["color","fill","flood-color","lighting-color","stop-color","stroke"]),g=new Set(["translate","rotate","scale","skew"]),b=new Set(["offset-distance","offsetDistance"]),A=new Set(["offset-distance","offsetDistance"]),w=1e3;function x(e){return e.includes("-")?e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase()):e}var k=new Set(["viewBox","preserveAspectRatio","gradientUnits","gradientTransform","spreadMethod","patternUnits","patternContentUnits","patternTransform","clipPathUnits","maskUnits","maskContentUnits","textLength","lengthAdjust","startOffset","filterUnits","primitiveUnits","stdDeviation","baseFrequency","numOctaves","surfaceScale","diffuseConstant","specularConstant","specularExponent","kernelMatrix","kernelUnitLength","edgeMode","preserveAlpha","targetX","targetY"]);function j(e){return k.has(e)?e:e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function O(e,t,n){return Math.max(t,Math.min(e,n))}var S="http://www.w3.org/2000/svg",E=new Set(["type","children","animate","style","animator","defs","bindings"]);function M(e){const t={};for(const n of Object.keys(e)){if(E.has(n))continue;let r=e[n];y.has(n)&&Array.isArray(r)?t[n]=h(r):g.has(n)?(Array.isArray(r)&&("translate"===n&&(r=r.map(e=>e+"px")),r=r.join(",")),"rotate"===n&&(r+="deg"),t.transform=n+"("+r+")"):null!=r&&(t[n]=String(r))}return t}function C(e,t){if(!e)return null;const n=e,{type:r,children:o,animate:i,style:u}=n,c=((e,t)=>{var n={};for(var r in e)a.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&s)for(var r of s(e))t.indexOf(r)<0&&l.call(e,r)&&(n[r]=e[r]);return n})(n,["type","children","animate","style"]),f=e.defs||t,d=function(e,t){var n;if(e)return"string"==typeof e?null==(n=null==t?void 0:t.styles)?void 0:n[e]:e}(u,f);let p;if(o)for(const e of o){const t=C(e,f);t&&(p||(p=[]),p.push(t))}return function(e,t,n,r){const o=document.createElementNS(S,e);for(const e in t)o.setAttribute(j(e),t[e]);if(n)for(const e in n)o.style[e]=String(n[e]);if(r)for(const e of r)o.appendChild(e);return o}(r||"g",M(c),d,p)}function T(e,t){const{startOn:n,outAction:r="continue",scrollIntoViewThreshold:o=.5}=t,i=e.getRootElement();if(!i)return console.warn("setupAnimationTriggers: No root element found for animation."),e;const s=()=>{e.play()},a=()=>{switch(r){case"pause":e.pause();break;case"reset":e.cancel();break;case"reverse":e.play()}};switch(n){case"load":{const e=()=>s();"complete"===document.readyState?e():window.addEventListener("load",e,{once:!0});break}case"mouseOver":{const e=()=>s(),t=()=>a();i.addEventListener("mouseenter",e),i.addEventListener("mouseleave",t);break}case"click":{const t=()=>{e.isPlaying()?a():s()};i.addEventListener("click",t);break}case"scrollIntoView":new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&e.intersectionRatio>=o?s():a()})},{threshold:o}).observe(i);break}return e}var N="data-px-animation-src",R="_px_animator";function P(e){return!(!e||"object"!=typeof e||Array.isArray(e))&&("svg"===e.type||"svg"===e.tagName)}function F(e){return e&&"object"==typeof e&&!Array.isArray(e)}function I(e,t,n){return"string"==typeof e||(!(!Array.isArray(e)||4!==e.length||!e.every(e=>"number"==typeof e))||(n.push(t+": invalid easing, expected string or [number, number, number, number]"),!1))}function _(e,t,n){if(!F(e))return n.push(t+": expected object"),!1;let r=!0;return void 0!==e.time&&"number"!=typeof e.time&&(n.push(t+".time: expected number, got "+typeof e.time),r=!1),void 0!==e.t&&"number"!=typeof e.t&&(n.push(t+".t: expected number, got "+typeof e.t),r=!1),void 0===e.easing||I(e.easing,t+".easing",n)||(r=!1),void 0===e.e||I(e.e,t+".e",n)||(r=!1),r}function L(e,t,n){if(!F(e))return n.push(t+": expected object"),!1;let r=!0;return void 0!==e.keyframes&&(Array.isArray(e.keyframes)?e.keyframes.forEach((e,o)=>{_(e,t+".keyframes["+o+"]",n)||(r=!1)}):(n.push(t+".keyframes: expected array"),r=!1)),void 0!==e.kfs&&(Array.isArray(e.kfs)?e.kfs.forEach((e,o)=>{_(e,t+".kfs["+o+"]",n)||(r=!1)}):(n.push(t+".kfs: expected array"),r=!1)),r}function D(e,t,n){if(!F(e))return n.push(t+": expected object"),!1;let r=!0;for(const o of Object.keys(e))L(e[o],t+"."+o,n)||(r=!1);return r}function U(e,t,n){if("string"==typeof e)return!0;if(Array.isArray(e)){let r=!0;return e.forEach((e,o)=>{"string"==typeof e||D(e,t+"["+o+"]",n)||(r=!1)}),r}return F(e)?D(e,t,n):(n.push(t+": expected string, array, or PxAnimationDefinition object"),!1)}function z(e,t,n){if(!F(e))return n.push(t+": expected object"),!1;let r=!0;return void 0===e.mode||["auto","webapi","frames"].includes(e.mode)||(n.push(t+'.mode: invalid value "'+e.mode+"\", expected 'auto'|'webapi'|'frames'"),r=!1),void 0!==e.duration&&"number"!=typeof e.duration&&(n.push(t+".duration: expected number, got "+typeof e.duration),r=!1),void 0!==e.delay&&"number"!=typeof e.delay&&(n.push(t+".delay: expected number, got "+typeof e.delay),r=!1),void 0!==e.iterations&&"number"!=typeof e.iterations&&"infinite"!==e.iterations&&(n.push(t+".iterations: expected number or 'infinite', got "+typeof e.iterations),r=!1),void 0===e.fill||function(e,t,n){return"forwards"===e||"backwards"===e||"both"===e||"none"===e||(n.push(t+': invalid FillMode "'+e+"\", expected 'forwards'|'backwards'|'both'|'none'"),!1)}(e.fill,t+".fill",n)||(r=!1),void 0===e.direction||function(e,t,n){return"normal"===e||"reverse"===e||"alternate"===e||"alternate-reverse"===e||(n.push(t+': invalid PlaybackDirection "'+e+"\", expected 'normal'|'reverse'|'alternate'|'alternate-reverse'"),!1)}(e.direction,t+".direction",n)||(r=!1),void 0!==e.frameRate&&"number"!=typeof e.frameRate&&(n.push(t+".frameRate: expected number, got "+typeof e.frameRate),r=!1),void 0===e.trigger||function(e,t,n){if(!F(e))return n.push(t+": expected object"),!1;let r=!0;const o=["load","mouseOver","click","scrollIntoView","programmatic"];if(o.includes(e.startOn)||(n.push(t+'.startOn: invalid value "'+e.startOn+'", expected '+o.join("|")),r=!1),void 0!==e.outAction){const o=["continue","pause","reset","reverse"];o.includes(e.outAction)||(n.push(t+'.outAction: invalid value "'+e.outAction+'", expected '+o.join("|")),r=!1)}return void 0!==e.scrollIntoViewThreshold&&"number"!=typeof e.scrollIntoViewThreshold&&(n.push(t+".scrollIntoViewThreshold: expected number, got "+typeof e.scrollIntoViewThreshold),r=!1),r}(e.trigger,t+".trigger",n)||(r=!1),r}function q(e,t,n){if(!F(e))return n.push(t+": expected object"),!1;let r=!0;return"string"!=typeof e.type&&(n.push(t+".type: expected string, got "+typeof e.type),r=!1),void 0!==e.children&&(Array.isArray(e.children)?e.children.forEach((e,o)=>{q(e,t+".children["+o+"]",n)||(r=!1)}):(n.push(t+".children: expected array"),r=!1)),void 0===e.animate||U(e.animate,t+".animate",n)||(r=!1),r}function W(e,t,n){if(!q(e,t,n))return!1;let r=!0;return"svg"!==e.type&&(n.push(t+".type: expected 'svg', got '"+e.type+"'"),r=!1),void 0!==e.width&&"number"!=typeof e.width&&(n.push(t+".width: expected number, got "+typeof e.width),r=!1),void 0!==e.height&&"number"!=typeof e.height&&(n.push(t+".height: expected number, got "+typeof e.height),r=!1),void 0!==e.viewBox&&"string"!=typeof e.viewBox&&(n.push(t+".viewBox: expected string, got "+typeof e.viewBox),r=!1),void 0===e.animator||z(e.animator,t+".animator",n)||(r=!1),void 0===e.defs||function(e,t,n){if(!F(e))return n.push(t+": expected object"),!1;let r=!0;if(void 0!==e.easings)if(F(e.easings))for(const o of Object.keys(e.easings))I(e.easings[o],t+".easings."+o,n)||(r=!1);else n.push(t+".easings: expected object"),r=!1;if(void 0!==e.animations)if(F(e.animations))for(const o of Object.keys(e.animations))D(e.animations[o],t+".animations."+o,n)||(r=!1);else n.push(t+".animations: expected object"),r=!1;return void 0===e.styles||F(e.styles)||(n.push(t+".styles: expected object"),r=!1),r}(e.defs,t+".defs",n)||(r=!1),void 0!==e.bindings&&(Array.isArray(e.bindings)?e.bindings.forEach((e,o)=>{(function(e,t,n){if(!F(e))return n.push(t+": expected object"),!1;let r=!0;return"string"!=typeof e.id&&(n.push(t+".id: expected string, got "+typeof e.id),r=!1),U(e.animate,t+".animate",n)||(r=!1),r})(e,t+".bindings["+o+"]",n)||(r=!1)}):(n.push(t+".bindings: expected array"),r=!1)),void 0===e.design||q(e.design,t+".design",n)||(r=!1),r}function V(e){const t=[];return{valid:W(e,"root",t),errors:t}}function B(e){var t,n;return(null==e?void 0:e.animator)||(null==(t=null==e?void 0:e.meta)?void 0:t.animator)||(null==e?void 0:e.animation)||(null==(n=null==e?void 0:e.meta)?void 0:n.animation)}function K(e){var t;if(e)return e.defs||(null==(t=e.meta)?void 0:t.defs)}function Z(e){var t;if(e)return e.bindings||(null==(t=e.meta)?void 0:t.bindings)}function X(e){return null==e?void 0:e.children}function Y(e){const t=[];let n;const r=function(e){const t=e.split(/([MLCZmlcz]|[\s,]+)/).map(e=>e.trim()).filter(e=>e&&","!==e),n=[];let r=null;for(const e of t)if(/[MLCZmlcz]/.test(e))r={type:e,values:[]},n.push(r);else if(r){const t=+e;r.values.push(Number.isNaN(t)?0:t)}return n}(e);for(const e of r){const r=e.type,o=e.values;if("M"===r||"m"===r){const e=o[0]||0,r=o[1]||0;n={v:[[e,r]],i:[[e,r]],o:[[e,r]],c:!1},t.push(n);continue}if(n||(n={v:[[0,0]],i:[[0,0]],o:[[0,0]],c:!1},t.push(n)),"L"===r){const e=o[0]||0,t=o[1]||0;n.v.push([e,t]),n.i.push([e,t]),n.o.push([e,t])}else if("C"===r){const e=o[0]||0,t=o[1]||0,r=o[2]||0,i=o[3]||0,s=o[4]||0,a=o[5]||0;n.o[n.o.length-1]=[e,t],n.v.push([s,a]),n.i.push([r,i]),n.o.push([s,a])}else"Z"!==r&&"z"!==r||(n.c=!0)}return t}function $(e){return e.startsWith("path(")&&e.endsWith(")")?e.slice(5,-1):/^[MmZzLlHhVvCcSsQqTtAa]/.test(e)?e:void 0}function G(e){return"string"==typeof e&&void 0!==$(e)}function H(e){if(e&&"object"==typeof e&&"paths"in e){const t=e.paths;if(Array.isArray(t)&&t.length>0&&G(t[0])){const e=[];for(const n of t){const t=$(n);t&&e.push(...Y(t))}return{paths:e}}return e}if(Array.isArray(e)){if(e.length>0&&G(e[0])){const t=[];for(const n of e){const e=$(n);e&&t.push(...Y(e))}return{paths:t}}return{paths:e}}if(G(e)){return{paths:Y($(e))}}return e}function Q(e,t){var n;if(e)return Array.isArray(e)?e:(null==(n=null==t?void 0:t.easings)?void 0:n[e])?t.easings[e]:void console.warn("Unknown easing name: "+e)}function J(e,t){var n;if("string"==typeof e){const r=null==(n=null==t?void 0:t.animations)?void 0:n[e];return r||console.warn("Unknown animation name: "+e),r}return e}function ee(e,t,n,r){var o,i,s,a,l;const u=t.keyframes||t.kfs||[],c=[];for(const t of u){const n=null!=(i=null!=(o=t.time)?o:t.t)?i:0;let u=null!=(s=t.value)?s:t.v;const f=null!=(a=t.easing)?a:t.e;"d"===e&&(u=H(u)),y.has(e)&&(u=null!=(l=v(u))?l:u),c.push({t:n,v:u,e:Q(f,r)})}return c.sort((e,t)=>{var n,r;return(null!=(n=e.t)?n:0)-(null!=(r=t.t)?r:0)}),c}var te=0;function ne(e){const t=B(e)||{},n=K(e),r=(t.duration,[]),o=(e,t)=>{if(!t)return null;const r=function(e,t){if(!e)return[];const n=[];if("string"==typeof e){const r=J(e,t);r&&n.push(r)}else if(Array.isArray(e))for(const r of e){const e=J(r,t);e&&n.push(e)}else n.push(e);return n}(t,n);if(0===r.length)return null;const o=function(e,t,n){const r={};for(const[t,o]of Object.entries(e)){const e=ee(t,o,0,n);e.length>0&&(r[t]={kfs:e})}return r}(function(e){const t={};for(const n of e)for(const[e,r]of Object.entries(n))t[e]=r;return t}(r),0,n);return 0===Object.keys(o).length?null:{id:e,animate:o}},i=Z(e);if(i)for(const e of i){const t=o(e.id,e.animate);t&&r.push(t)}const s=e=>{if(e.animate){const t=e.id||"_px_el_"+ ++te;e.id=t;const n=o(t,e.animate);n&&r.push(n)}if(e.children)for(let t=0;t<e.children.length;t++)s(e.children[t])};if(e.children)for(let t=0;t<e.children.length;t++)s(e.children[t]);return r}function re(e,t,n){var r,o,i,s,a,l,u;const c=t.kfs||t.keyframes||[];if(0===c.length)return null;const{prevKf:v,nextKf:g}=function(e,t){var n,r;let o=e[0],i=e[e.length-1];for(let s=0;s<e.length-1;s++){const a=null!=(n=e[s].t)?n:0,l=null!=(r=e[s+1].t)?r:0;if(a<=t&&t<=l){o=e[s],i=e[s+1];break}}return{prevKf:o,nextKf:i}}(c,n);let A=v===g?0:(w=n,x=null!=(r=v.t)?r:0,k=null!=(o=g.t)?o:0,S=0,E=1,k===x?S:S+(w-x)/(k-x)*(E-S));var w,x,k,S,E;A=O(A,0,1);const M=null!=(i=v.e)?i:v.easing;if(M&&Array.isArray(M))try{A=m(M)(A)}catch(e){}let C=!(T=e).includes("-")&&/[a-z][A-Z]/.test(T)?j(e):e;var T;let N=null;const R=null!=(s=null==v?void 0:v.v)?s:null==v?void 0:v.value,P=null!=(a=null==g?void 0:g.v)?a:null==g?void 0:g.value;if("d"===C){N=function(e,t,n){const r=Math.max(e.length,t.length),o=[];for(let i=0;i<r;i++)o.push(p(e[i],t[i],n));return o}(null!=(l=null==R?void 0:R.paths)?l:Array.isArray(R)?R:[],null!=(u=null==P?void 0:P.paths)?u:Array.isArray(P)?P:[],A).map(e=>function(e){var t,n,r,o;const i=e.v,s=e.i,a=e.o,l=e.c;if(!i.length)return"";const u=[],c=i.length;u.push("M"+i[0][0]+","+i[0][1]);for(let e=1;e<c;e++){const r=i[e-1],o=null!=(t=null==a?void 0:a[e-1])?t:r,l=null!=(n=null==s?void 0:s[e])?n:i[e],c=i[e];o[0]===r[0]&&o[1]===r[1]&&l[0]===c[0]&&l[1]===c[1]?u.push("L"+c[0]+","+c[1]):u.push("C"+o[0]+","+o[1]+","+l[0]+","+l[1]+","+c[0]+","+c[1])}if(l&&c>0){const e=i[c-1],t=null!=(r=null==a?void 0:a[c-1])?r:e,n=null!=(o=null==s?void 0:s[0])?o:i[0],l=i[0];t[0]===e[0]&&t[1]===e[1]&&n[0]===l[0]&&n[1]===l[1]||u.push("C"+t[0]+","+t[1]+","+n[0]+","+n[1]+","+l[0]+","+l[1]),u.push("z")}return u.join("")}(e)).join("")}else if(y.has(C))N=h((I=P||[0,0,0,1],_=A,[f((F=R||[0,0,0,1])[0]||0,I[0]||0,_),f(F[1]||0,I[1]||0,_),f(F[2]||0,I[2]||0,_),f(void 0===F[3]?1:F[3],void 0===I[3]?1:I[3],_)])),C=e;else if("stroke-dasharray"===C)N=d(R||[],P||[],A).join(" "),C=e;else if("translate"===C){N="translate("+d(R||[0,0],P||[0,0],A).join(",")+")",C="transform"}else if("rotate"===C){N="rotate("+f(+(R||0),+(P||0),A)+")",C="transform"}else if("scale"===C){N="scale("+d(R||[1,1],P||[1,1],A).join(",")+")",C="transform"}else{N=f(+(R||0),+(P||0),A)}var F,I,_;return b.has(C)&&"number"==typeof N&&(N=100*N+"%"),{k:C,v:null===N?"":""+N}}function oe(e,t){const n={};for(const[r,o]of Object.entries(e)){const e=re(r,o,t);e&&(n[e.k]=e.v)}return n}function ie(e){return"#"+e}function se(e,t,n){const r=B(e)||{},o=ne(e),i=r.iterations;let s=1;"number"==typeof i&&(s=i||1),"infinite"===i&&(s=1/0),s<1&&(s=1);const a=+(r.duration||w),l=a&&s?a*(s===1/0?1/0:s):a?(null!=s?s:1)*a:0,u=r.direction||"normal";let c=null,f=!1,d=r.delay||0,p=0,m=1,h=!1;const v=r.frameRate,y=v&&v>0?1e3/v:0;let g=0;const b=()=>{const e=p?(Date.now()-p)*m:0;let t=d+e;return Number.isFinite(l)&&t>l&&(t=l),t<0&&(t=0),t};function A(e){let n=function(){const t=a>0?a:1;let n=0,r=0;if(a>0){e=O(e,0,s*t),r=Math.max(0,Math.ceil(e/t)-1),r=Math.min(r,s-1);n=O((e-r*t)/t,0,1)}else n=e;const o=u||"normal";let i=n;return"reverse"===o?i=1-n:"alternate"===o?r%2==1&&(i=1-n):"alternate-reverse"===o&&r%2==0&&(i=1-n),i}();for(const e of o||[]){const r=e.animate;if(!r||"object"!=typeof r||Array.isArray(r)){console.warn("Empty or unresolved binding",e);continue}const o=oe(r,n*a);for(const[n,r]of Object.entries(o))t.setAttribute(e.id,n,r)}}r.delay&&A(b());const x=()=>!!f&&(!!t.isConnected()&&!(Number.isFinite(l)&&b()>=l)),k=e=>{null!==c&&(cancelAnimationFrame(c),c=null),(e||x())&&(c=requestAnimationFrame(()=>{c=null,(()=>{var e;if(!t.isConnected())return void j();const r=b();if(y>0){const e=Date.now();if(g&&e-g<y)return;g=e}if(l&&Number.isFinite(l)&&r>=l)return A(l),h||(h=!0,null==(e=null==n?void 0:n.onFinish)||e.call(n)),void j();A(r)})(),k()}))},j=()=>{f&&(d=b(),p=0,f=!1,null!==c&&(cancelAnimationFrame(c),c=null),A(d))},S={isReady:()=>!0,getRootElement:()=>null,isPlaying:()=>x(),play:()=>{var e;f||(f=!0,p=Date.now(),k(!0)),null==(e=null==n?void 0:n.onPlay)||e.call(n)},pause:()=>{var e;j(),null==(e=null==n?void 0:n.onPause)||e.call(n)},cancel:()=>{var e;j(),d=0,p=0,f=!1,h=!1,A(d),null==(e=null==n?void 0:n.onCancel)||e.call(n)},finish:()=>{((e=!0)=>{var t;d=Number.isFinite(l)?l:b(),p=0,f=!1,A(d),e&&!h&&(h=!0,null==(t=null==n?void 0:n.onFinish)||t.call(n))})(!0)},setPlaybackRate:e=>{if(!isFinite(e)||0===e)return void console.warn("setPlaybackRate: rate must be finite and non-zero");const t=b();m=e,d=t,f&&(p=Date.now())},getCurrentTime:()=>b(),setCurrentTime:e=>{e<0&&(e=0),Number.isFinite(l)&&e>l&&(e=l),d=e,f&&(p=Date.now()),A(b())},destroy:()=>{S.cancel()}};return S}function ae(e,t,r,i){const c=B(e)||{};if(!i)if(e.id){const t=ie(e.id);(i=document.querySelector(t))||console.warn("createFrameLoopAnimator: No root element found for selector: ",t)}else console.warn("createFrameLoopAnimator: No root element provided");let f=se(e,t||function(e){const t=new Set,n={isConnected:()=>!e||e.isConnected,setAttribute:(n,r,o)=>{r=j(r);const i=ie(n),s=(null==e?void 0:e.querySelectorAll(i))||document.querySelectorAll(i);0!==s.length||t.has(i)||(t.add(i),console.warn('setAttribute: No elements found for selector "'+i+'"'));for(let e=0;e<s.length;e++){const t=s[e];t.setAttribute(r,o),A.has(r)&&(t.style[r]=o)}}};return n}(i),r);var d;return d=((e,t)=>{for(var n in t||(t={}))a.call(t,n)&&u(e,n,t[n]);if(s)for(var n of s(t))l.call(t,n)&&u(e,n,t[n]);return e})({},f),f=n(d,o({getRootElement:()=>i||null})),c.trigger&&T(f,c.trigger),f}function le(e,t,n){var r,o,i,s;const a=new Map;for(const[l,u]of Object.entries(e)){const e=u.kfs||u.keyframes||[],c=[];for(const a of e){let e=null!=(o=null!=(r=a.t)?r:a.time)?o:0;e=O(e/(n.duration||1),0,1);let u=null!=(i=a.v)?i:a.value;const f=null!=(s=a.e)?s:a.easing,d={offset:e,easing:f&&Array.isArray(f)?"cubic-bezier("+f.join(",")+")":void 0};let p,m=l;y.has(l)&&Array.isArray(u)?p=h(u):g.has(l)?(Array.isArray(u)&&("translate"===l&&(u=u.map(e=>e+"px")),u=u.join(",")),"rotate"===l&&(u+="deg"),p=l+"("+u+")",m="transform"):p=""+u,CSS.supports(m,p)||t.add(m),m=x(m),d[m]=p,c.push(d)}c.length>0&&a.set(l,c)}return a}function ue(e,t,n,r){const o=B(e)||{},i=ne(e);if(!n)if(e.id){const t=ie(e.id);(n=document.querySelector(t))||console.warn("createFrameLoopAnimator: No root element found for selector: ",t)}else console.warn("createFrameLoopAnimator: No root element provided");const s=[],a=o.iterations;let l;"number"==typeof a&&(l=a),"infinite"===a&&(l=1/0);const u=new Set;(null==i?void 0:i.length)||console.warn("createWebApiAnimator: No animation bindings defined");for(const e of i||[]){const r=e.animate;if(!r||"object"!=typeof r||Array.isArray(r)){console.warn("createWebApiAnimator: Empty or unresolved binding",e);continue}const i=ie(e.id),a=(null==n?void 0:n.querySelectorAll(i))||document.querySelectorAll(i);0===a.length&&console.warn('createWebApiAnimator: No elements found for selector "'+i+'"');const c=le(r,u,o);for(let e=0;e<a.length;e++){const n=a[e],r=o.delay&&o.delay>0?o.delay:void 0,i=o.delay&&o.delay<0&&o.duration?-o.delay%o.duration:void 0,u={duration:o.duration,delay:r,fill:o.fill,direction:o.direction,iterations:l};for(const[,e]of c)if(e.length>0)try{const r=new KeyframeEffect(n,e,u),o=new Animation(r,document.timeline);(null==t?void 0:t.onFinish)&&(o.onfinish=()=>{var e;return null==(e=t.onFinish)?void 0:e.call(t)}),(null==t?void 0:t.onRemove)&&(o.onremove=()=>{var e;return null==(e=t.onRemove)?void 0:e.call(t)}),i&&(o.currentTime=i),s.push(o)}catch(e){console.warn(e)}}}if(!r&&u.size)return console.warn("Unsupported CSS attrs: "+[...u].join(", ")),null;const c={isReady:()=>!0,getRootElement:()=>n||null,isPlaying:()=>{var e;return"running"===(null==(e=s[0])?void 0:e.playState)},play:()=>{var e;s.forEach(e=>e.play()),null==(e=null==t?void 0:t.onPlay)||e.call(t)},pause:()=>{var e;s.forEach(e=>e.pause()),null==(e=null==t?void 0:t.onPause)||e.call(t)},cancel:()=>{var e;s.forEach(e=>e.cancel()),null==(e=null==t?void 0:t.onCancel)||e.call(t)},finish:()=>{s.forEach(e=>e.finish())},setPlaybackRate:e=>(s.forEach(t=>t.playbackRate=e),c),getCurrentTime:()=>{var e,t;const n=null!=(t=null==(e=s[0])?void 0:e.currentTime)?t:null;return null!==n?+n:null},setCurrentTime:e=>{s.forEach(t=>{t.currentTime=e})},destroy:()=>{c.cancel(),s.splice(0,s.length)}};return o.trigger&&T(c,o.trigger),c}var ce=0;function fe(e){if(null===e||"object"!=typeof e)return e;if(Array.isArray(e))return e.map(e=>fe(e));const t=e,n={};for(const e of Object.keys(t))n[e]=fe(t[e]);return n}function de(e){const t=fe(e),n=new Map,r=new Set(["href","xlink:href"]),o=new Set(["fill","stroke","clip-path","clipPath","mask","marker","marker-start","marker-mid","marker-end","filter","flood-color","lighting-color"]),i=new Set(["baseId","targetId","boundElementId"]);!function e(t){if(t&&"object"==typeof t){if(t.id&&"string"==typeof t.id){const e=t.id,r="_px_"+Date.now().toString(36)+(++ce).toString(36)+Math.random().toString(36).substring(2,6);n.set(e,r),t.id=r}if(Array.isArray(t.children))for(const n of t.children)e(n)}}(t),function e(t){if(t&&"object"==typeof t)for(const[s,a]of Object.entries(t))if("children"!==s)if("string"==typeof a)if(r.has(s)&&a.startsWith("#")){const e=a.slice(1),r=n.get(e);r&&(t[s]="#"+r)}else if(o.has(s))t[s]=pe(a,n);else if(i.has(s)){const e=n.get(a);e&&(t[s]=e)}else a.includes("url(#")&&(t[s]=pe(a,n));else if("style"===s&&"object"==typeof a&&null!==a)for(const[e,t]of Object.entries(a))"string"==typeof t&&(a[e]=pe(t,n));else"object"==typeof a&&null!==a&&"animate"!==s&&e(a);else if(Array.isArray(a))for(const t of a)e(t)}(t);const s=t.bindings;if(Array.isArray(s))for(const e of s)if(e.id){const t=n.get(e.id);t&&(e.id=t)}return t}function pe(e,t){return e.replace(/url\(#([^)]+)\)/g,(e,n)=>{const r=t.get(n);return r?"url(#"+r+")":e})}function me(e,t,n,r){(B(e)||{}).debug=!0;let o=null;if(r&&e.children){e=de(e);const t="string"==typeof r?document.querySelector(r):r;t&&(o=C(e),o&&t.replaceChildren(o))}return function(e,t,n,r){const o=B(e)||{};let i;return i="frames"===o.mode?ae(e,t,n,r):ue(e,n,r,"webapi"===o.mode)||ae(e,t,n,r),o.debugInstName&&(window[o.debugInstName]=i),i}(e,t,n,o)}function he(e,t,n,r){if("object"==typeof e)return me(e,t,n,r);let o=null;return fetch(e).then(e=>e.json()).then(e=>{P(e)?o=me(e,t,n,r):console.error("Invalid animation document format")}),{isReady:()=>!!o,getRootElement:()=>o?o.getRootElement():null,isPlaying:()=>(null==o?void 0:o.isPlaying())||!1,play:()=>{null==o||o.play()},pause:()=>{null==o||o.pause()},cancel:()=>{null==o||o.cancel()},finish:()=>{null==o||o.finish()},setPlaybackRate:e=>{null==o||o.setPlaybackRate(e)},getCurrentTime:()=>(null==o?void 0:o.getCurrentTime())||0,setCurrentTime:e=>{null==o||o.setCurrentTime(e)},destroy:()=>{null==o||o.destroy()}}}function ve(){const e=document.querySelectorAll("["+N+"]");for(let t=0;t<e.length;t++){const n=e[t];if(!n[R]){const e=n.getAttribute(N);e&&(n[R]=he(e,void 0,void 0,n))}}}"undefined"!=typeof window&&(window.loadTagAnimators=ve,window.createAnimator=he,window.setupAnimationTriggers=T);
|
|
1
|
+
"use strict";var e,t=Object.defineProperty,n=Object.defineProperties,r=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyDescriptors,i=Object.getOwnPropertyNames,s=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,u=(e,n,r)=>n in e?t(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,c=(e,t)=>{for(var n in t||(t={}))l.call(t,n)&&u(e,n,t[n]);if(s)for(var n of s(t))a.call(t,n)&&u(e,n,t[n]);return e},f=(e,t)=>n(e,o(t)),d={};((e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})})(d,{COLOUR_ATTR_NAMES:()=>Z,PX_ANIM_ATTR_NAME:()=>h,PX_ANIM_SRC_ATTR_NAME:()=>p,STYLE_ATTR_NAMES:()=>X,TRANSFORM_FN_NAMES:()=>G,calcAnimationValues:()=>Ae,camelCaseToKebabWordIfNeeded:()=>Q,createAnimator:()=>Re,createAnimatorImpl:()=>Ne,createBasicFrameLoopAnimator:()=>xe,createFrameLoopAnimator:()=>ke,createWebApiAnimator:()=>Se,generateNewIds:()=>Oe,getAnimatorConfig:()=>E,getBindings:()=>R,getChildren:()=>P,getDefs:()=>N,getNormalizedProps:()=>se,isPxElementFileFormat:()=>b,isPxElementFileFormatDeep:()=>O,loadTagAnimators:()=>Pe,normalizeDocument:()=>ye,renderNode:()=>le,setupAnimationTriggers:()=>ae,toRGBA:()=>V}),module.exports=(e=d,((e,n,o,s)=>{if(n&&"object"==typeof n||"function"==typeof n)for(let a of i(n))l.call(e,a)||a===o||t(e,a,{get:()=>n[a],enumerable:!(s=r(n,a))||s.enumerable});return e})(t({},"__esModule",{value:!0}),e));var p="data-px-animation-src",h="_px_animator",m="animate",v="text",g="textContent",y=new Set(["type","children",m,"animator","meta","defs","bindings",v,g]);function b(e){return!(!e||"object"!=typeof e||Array.isArray(e))&&("svg"===e.type||"svg"===e.tagName)}function A(e){return e&&"object"==typeof e&&!Array.isArray(e)}function w(e,t,n){return"string"==typeof e||(!(!Array.isArray(e)||4!==e.length||!e.every(e=>"number"==typeof e))||(n.push(t+": invalid easing, expected string or [number, number, number, number]"),!1))}function x(e,t,n){if(!A(e))return n.push(t+": expected object"),!1;let r=!0;return void 0!==e.time&&"number"!=typeof e.time&&(n.push(t+".time: expected number, got "+typeof e.time),r=!1),void 0!==e.t&&"number"!=typeof e.t&&(n.push(t+".t: expected number, got "+typeof e.t),r=!1),void 0===e.easing||w(e.easing,t+".easing",n)||(r=!1),void 0===e.e||w(e.e,t+".e",n)||(r=!1),r}function k(e,t,n){if(!A(e))return n.push(t+": expected object"),!1;let r=!0;return void 0!==e.keyframes&&(Array.isArray(e.keyframes)?e.keyframes.forEach((e,o)=>{x(e,t+".keyframes["+o+"]",n)||(r=!1)}):(n.push(t+".keyframes: expected array"),r=!1)),void 0!==e.kfs&&(Array.isArray(e.kfs)?e.kfs.forEach((e,o)=>{x(e,t+".kfs["+o+"]",n)||(r=!1)}):(n.push(t+".kfs: expected array"),r=!1)),r}function j(e,t,n){if(!A(e))return n.push(t+": expected object"),!1;let r=!0;for(const o of Object.keys(e))k(e[o],t+"."+o,n)||(r=!1);return r}function T(e,t,n){if("string"==typeof e)return!0;if(Array.isArray(e)){let r=!0;return e.forEach((e,o)=>{"string"==typeof e||j(e,t+"["+o+"]",n)||(r=!1)}),r}return A(e)?j(e,t,n):(n.push(t+": expected string, array, or PxAnimationDefinition object"),!1)}function S(e,t,n){if(!A(e))return n.push(t+": expected object"),!1;let r=!0;return void 0===e.mode||["auto","webapi","frames"].includes(e.mode)||(n.push(t+'.mode: invalid value "'+e.mode+"\", expected 'auto'|'webapi'|'frames'"),r=!1),void 0!==e.duration&&"number"!=typeof e.duration&&(n.push(t+".duration: expected number, got "+typeof e.duration),r=!1),void 0!==e.delay&&"number"!=typeof e.delay&&(n.push(t+".delay: expected number, got "+typeof e.delay),r=!1),void 0!==e.iterations&&"number"!=typeof e.iterations&&"infinite"!==e.iterations&&(n.push(t+".iterations: expected number or 'infinite', got "+typeof e.iterations),r=!1),void 0===e.fill||function(e,t,n){return"forwards"===e||"backwards"===e||"both"===e||"none"===e||(n.push(t+': invalid FillMode "'+e+"\", expected 'forwards'|'backwards'|'both'|'none'"),!1)}(e.fill,t+".fill",n)||(r=!1),void 0===e.direction||function(e,t,n){return"normal"===e||"reverse"===e||"alternate"===e||"alternate-reverse"===e||(n.push(t+': invalid PlaybackDirection "'+e+"\", expected 'normal'|'reverse'|'alternate'|'alternate-reverse'"),!1)}(e.direction,t+".direction",n)||(r=!1),void 0!==e.frameRate&&"number"!=typeof e.frameRate&&(n.push(t+".frameRate: expected number, got "+typeof e.frameRate),r=!1),void 0===e.trigger||function(e,t,n){if(!A(e))return n.push(t+": expected object"),!1;let r=!0;const o=["load","mouseOver","click","scrollIntoView","programmatic"];if(o.includes(e.startOn)||(n.push(t+'.startOn: invalid value "'+e.startOn+'", expected '+o.join("|")),r=!1),void 0!==e.outAction){const o=["continue","pause","reset","reverse"];o.includes(e.outAction)||(n.push(t+'.outAction: invalid value "'+e.outAction+'", expected '+o.join("|")),r=!1)}return void 0!==e.scrollIntoViewThreshold&&"number"!=typeof e.scrollIntoViewThreshold&&(n.push(t+".scrollIntoViewThreshold: expected number, got "+typeof e.scrollIntoViewThreshold),r=!1),r}(e.trigger,t+".trigger",n)||(r=!1),r}function C(e,t,n){if(!A(e))return n.push(t+": expected object"),!1;let r=!0;return"string"!=typeof e.type&&(n.push(t+".type: expected string, got "+typeof e.type),r=!1),void 0!==e.children&&(Array.isArray(e.children)?e.children.forEach((e,o)=>{C(e,t+".children["+o+"]",n)||(r=!1)}):(n.push(t+".children: expected array"),r=!1)),void 0===e.animate||T(e.animate,t+".animate",n)||(r=!1),r}function M(e,t,n){if(!C(e,t,n))return!1;let r=!0;return"svg"!==e.type&&(n.push(t+".type: expected 'svg', got '"+e.type+"'"),r=!1),void 0!==e.width&&"number"!=typeof e.width&&(n.push(t+".width: expected number, got "+typeof e.width),r=!1),void 0!==e.height&&"number"!=typeof e.height&&(n.push(t+".height: expected number, got "+typeof e.height),r=!1),void 0!==e.viewBox&&"string"!=typeof e.viewBox&&(n.push(t+".viewBox: expected string, got "+typeof e.viewBox),r=!1),void 0===e.animator||S(e.animator,t+".animator",n)||(r=!1),void 0===e.defs||function(e,t,n){if(!A(e))return n.push(t+": expected object"),!1;let r=!0;if(void 0!==e.easings)if(A(e.easings))for(const o of Object.keys(e.easings))w(e.easings[o],t+".easings."+o,n)||(r=!1);else n.push(t+".easings: expected object"),r=!1;if(void 0!==e.animations)if(A(e.animations))for(const o of Object.keys(e.animations))j(e.animations[o],t+".animations."+o,n)||(r=!1);else n.push(t+".animations: expected object"),r=!1;return void 0===e.styles||A(e.styles)||(n.push(t+".styles: expected object"),r=!1),r}(e.defs,t+".defs",n)||(r=!1),void 0!==e.bindings&&(Array.isArray(e.bindings)?e.bindings.forEach((e,o)=>{(function(e,t,n){if(!A(e))return n.push(t+": expected object"),!1;let r=!0;return"string"!=typeof e.id&&(n.push(t+".id: expected string, got "+typeof e.id),r=!1),T(e.animate,t+".animate",n)||(r=!1),r})(e,t+".bindings["+o+"]",n)||(r=!1)}):(n.push(t+".bindings: expected array"),r=!1)),void 0===e.design||C(e.design,t+".design",n)||(r=!1),r}function O(e){const t=[];return{valid:M(e,"root",t),errors:t}}function E(e){var t,n;return(null==e?void 0:e.animator)||(null==(t=null==e?void 0:e.meta)?void 0:t.animator)||(null==e?void 0:e.animation)||(null==(n=null==e?void 0:e.meta)?void 0:n.animation)}function N(e){var t;if(e)return e.defs||(null==(t=e.meta)?void 0:t.defs)}function R(e){var t;if(e)return e.bindings||(null==(t=e.meta)?void 0:t.bindings)}function P(e){return null==e?void 0:e.children}function F(e,t,n){return e+(t-e)*n}function I(e,t,n){const r=[],o=Math.max(e.length,t.length);for(let i=0;i<o;i++)r[i]=F(e[i]||0,t[i]||0,n);return r}function L(e,t,n){return[F(e[0]||0,t[0]||0,n),F(e[1]||0,t[1]||0,n),F(e[2]||0,t[2]||0,n),F(void 0===e[3]?1:e[3],void 0===t[3]?1:t[3],n)]}function _(e,t,n){const r=Math.max(e.length,t.length),o=[];for(let i=0;i<r;i++)o.push(D(e[i],t[i],n));return o}function D(e,t,n){var r,o,i,s,l,a,u,c,f;if(!e||!t)return e||t||{v:[]};const d=Math.min(Math.max(n,0),1),p=Math.min(e.v.length,t.v.length),h=[],m=[],v=[];for(let n=0;n<p;n++){const f=e.v[n],p=t.v[n];h.push(I(f,p,d));const g=null!=(o=null==(r=e.i)?void 0:r[n])?o:f,y=null!=(s=null==(i=t.i)?void 0:i[n])?s:p;m.push(I(g,y,d));const b=null!=(a=null==(l=e.o)?void 0:l[n])?a:f,A=null!=(c=null==(u=t.o)?void 0:u[n])?c:p;v.push(I(b,A,d))}return{v:h,i:m.length?m:void 0,o:v.length?v:void 0,c:null!=(f=e.c)?f:t.c}}function U(e,t,n){if(n<=0)return 0;if(n>=1)return 1;const r=3*e,o=3*(t-e)-r,i=1-r-o;function s(e){return((i*e+o)*e+r)*e}function l(e){return(3*i*e+2*o)*e+r}let a=n,u=0,c=1;for(let e=0;e<8;e++){const e=s(a)-n;if(Math.abs(e)<1e-6)return a;const t=l(a);if(Math.abs(t)<1e-6)break;a-=e/t}for(a=n;u<c;){const e=s(a);if(Math.abs(e-n)<1e-6)return a;n>e?u=a:c=a,a=(c+u)/2}return a}function z(e){const[t,n,r,o]=e,i=3*n,s=3*(o-n)-i,l=1-i-s;return function(e){return n=U(t,r,e),((l*n+s)*n+i)*n;var n}}function W(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function q(e,t){if(!e)return{left:void 0,right:void 0};if(t<=0)return{left:void 0,right:e};if(t>=1)return{left:e,right:void 0};const[n,r,o,i]=e,s=U(n,o,t),l=[n,r],a=[o,i],{left:u,right:c}=function(e,t,n,r,o){const i=W(e,t,o),s=W(t,n,o),l=W(n,r,o),a=W(i,s,o),u=W(s,l,o),c=W(a,u,o);return{left:[e,i,a,c],right:[c,u,l,r]}}([0,0],l,a,[1,1],s),f=u[3][0],d=u[3][1];let p,h;f>1e-9&&Math.abs(d)>1e-9&&(p=[u[1][0]/f,u[1][1]/d,u[2][0]/f,u[2][1]/d]);const m=1-f,v=1-d;return m>1e-9&&Math.abs(v)>1e-9&&(h=[(c[1][0]-f)/m,(c[1][1]-d)/v,(c[2][0]-f)/m,(c[2][1]-d)/v]),{left:p,right:h}}function B(e){if(e)return[1-e[2],1-e[3],1-e[0],1-e[1]]}function V(e){const t=Math.round(255*e[0]),n=Math.round(255*e[1]),r=Math.round(255*e[2]);return 4===e.length?"rgba("+t+","+n+","+r+","+e[3]+")":"rgb("+t+","+n+","+r+")"}function K(e){if(e){if(Array.isArray(e))return e;if("string"==typeof e)return e.startsWith("#")?function(e){const t=e.slice(1),n=t.length<=4,r=n?t[0]+t[0]:t.slice(0,2),o=n?t[1]+t[1]:t.slice(2,4),i=n?t[2]+t[2]:t.slice(4,6),s=4===t.length?t[3]+t[3]:8===t.length?t.slice(6,8):null,l=[parseInt(r,16)/255,parseInt(o,16)/255,parseInt(i,16)/255];return null!==s&&l.push(parseInt(s,16)/255),l}(e):e.startsWith("rgb")?function(e){var t;const n=null==(t=e.match(/rgba?\((.*)\)/))?void 0:t[1];if(!n)throw new Error("Invalid rgb/rgba format");const r=n.split(",").map(e=>+e.trim());return[r[0]/255,r[1]/255,r[2]/255,...void 0!==r[3]?[r[3]]:[]]}(e):void console.warn("Unsupported color format: "+e)}}var Z=new Set(["color","fill","flood-color","lighting-color","stop-color","stroke"]),G=new Set(["translate","rotate","scale","skew"]),$=new Set(["offset-distance","offsetDistance"]),X=new Set(["offset-distance","offsetDistance"]),Y=1e3;var H=new Set(["viewBox","preserveAspectRatio","gradientUnits","gradientTransform","spreadMethod","patternUnits","patternContentUnits","patternTransform","clipPathUnits","maskUnits","maskContentUnits","textLength","lengthAdjust","startOffset","filterUnits","primitiveUnits","stdDeviation","baseFrequency","numOctaves","surfaceScale","diffuseConstant","specularConstant","specularExponent","kernelMatrix","kernelUnitLength","edgeMode","preserveAlpha","targetX","targetY"]);function Q(e){return H.has(e)?e:e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function J(e,t,n){return Math.max(t,Math.min(e,n))}var ee="http://www.w3.org/2000/svg",te=new Set(["svg","g","path","circle","ellipse","rect","line","polyline","polygon","text","tspan","defs","clipPath","mask","pattern","linearGradient","radialGradient","stop","use","symbol","marker","filter","feGaussianBlur","feOffset","feBlend","feColorMatrix","feMerge","feMergeNode"].map(e=>e.toLowerCase())),ne=["href","src","filter","clipPath","mask","markerStart","markerMid","markerEnd"],re=new Set(ne),oe=new Set(["href","src","fill","stroke","strokeWidth","opacity","transform","x","y","cx","cy","r","rx","ry","width","height","d","x1","y1","x2","y2","points","fontSize","fontFamily","textAnchor","id","class","viewBox","preserveAspectRatio","offset","stopColor","stopOpacity","gradientTransform","clipPath","mask","filter","stdDeviation","in","in2","result","mode",...ne]);function ie(e,t){const n=e.toLowerCase();if(oe.has(n)){if("fill"===n||"stroke"===n||"stopColor"===n){const e=String(t);return e.includes("url(")&&!/^url\(#[^)]+\)$/.test(e)?void console.warn('Attribute "'+n+'" blocked: url() references must be internal url(#id), got:',t):t}if(re.has(n)){const e=String(t);return e.startsWith("#")||/^url\(#[^)]+\)$/.test(e)?t:void 0}return t}console.warn("Attribute not in whitelist: ",n)}function se(e){const t={};for(const n of Object.keys(e)){if(y.has(n))continue;if("style"===n)continue;let r=e[n];Z.has(n)&&Array.isArray(r)?t[n]=V(r):G.has(n)?(Array.isArray(r)&&("translate"===n&&(r=r.map(e=>e+"px")),r=r.join(",")),"rotate"===n&&(r+="deg"),t.transform=n+"("+r+")"):null!=r&&(t[n]=String(r))}return t}function le(e,t){if(!e)return null;const n=e,{type:r,children:o,animate:i,style:u}=n,c=((e,t)=>{var n={};for(var r in e)l.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&s)for(var r of s(e))t.indexOf(r)<0&&a.call(e,r)&&(n[r]=e[r]);return n})(n,["type","children","animate","style"]),f=e.defs||t,d=function(e,t){var n;if(e)return"string"==typeof e?null==(n=null==t?void 0:t.styles)?void 0:n[e]:e}(u,f);let p;if(o)for(const e of o){const t=le(e,f);t&&(p||(p=[]),p.push(t))}return function(e,t,n,r,o){if(!te.has(e.toLowerCase()))return null;const i=document.createElementNS(ee,e);for(const e in t)i.setAttribute(Q(e),ie(e,t[e]));if(n)for(const e in n)i.style[e]=String(n[e]);if(r)for(const e of r)i.appendChild(e);return o&&(i.textContent=o),i}(r||"g",se(c),d,p,c[v]||c[g])}function ae(e,t){const{startOn:n,outAction:r="continue",scrollIntoViewThreshold:o=.5}=t,i=e.getRootElement();if(!i)return console.warn("setupAnimationTriggers: No root element found for animation."),e;const s=()=>{e.play()},l=()=>{switch(r){case"pause":e.pause();break;case"reset":e.cancel();break;case"reverse":e.play()}};switch(n){case"load":{const e=()=>s();"complete"===document.readyState?e():window.addEventListener("load",e,{once:!0});break}case"mouseOver":{const e=()=>s(),t=()=>l();i.addEventListener("mouseenter",e),i.addEventListener("mouseleave",t);break}case"click":{const t=()=>{e.isPlaying()?l():s()};i.addEventListener("click",t);break}case"scrollIntoView":new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&e.intersectionRatio>=o?s():l()})},{threshold:o}).observe(i);break}return e}function ue(e){const t=[];let n;const r=function(e){const t=e.split(/([MLCZmlcz]|[\s,]+)/).map(e=>e.trim()).filter(e=>e&&","!==e),n=[];let r=null;for(const e of t)if(/[MLCZmlcz]/.test(e))r={type:e,values:[]},n.push(r);else if(r){const t=+e;r.values.push(Number.isNaN(t)?0:t)}return n}(e);for(const e of r){const r=e.type,o=e.values;if("M"===r||"m"===r){const e=o[0]||0,r=o[1]||0;n={v:[[e,r]],i:[[e,r]],o:[[e,r]],c:!1},t.push(n);continue}if(n||(n={v:[[0,0]],i:[[0,0]],o:[[0,0]],c:!1},t.push(n)),"L"===r){const e=o[0]||0,t=o[1]||0;n.v.push([e,t]),n.i.push([e,t]),n.o.push([e,t])}else if("C"===r){const e=o[0]||0,t=o[1]||0,r=o[2]||0,i=o[3]||0,s=o[4]||0,l=o[5]||0;n.o[n.o.length-1]=[e,t],n.v.push([s,l]),n.i.push([r,i]),n.o.push([s,l])}else"Z"!==r&&"z"!==r||(n.c=!0)}return t}function ce(e){return e.startsWith("path(")&&e.endsWith(")")?e.slice(5,-1):/^[MmZzLlHhVvCcSsQqTtAa]/.test(e)?e:void 0}function fe(e){return"string"==typeof e&&void 0!==ce(e)}function de(e){if(e&&"object"==typeof e&&"paths"in e){const t=e.paths;if(Array.isArray(t)&&t.length>0&&fe(t[0])){const e=[];for(const n of t){const t=ce(n);t&&e.push(...ue(t))}return{paths:e}}return e}if(Array.isArray(e)){if(e.length>0&&fe(e[0])){const t=[];for(const n of e){const e=ce(n);e&&t.push(...ue(e))}return{paths:t}}return{paths:e}}if(fe(e)){return{paths:ue(ce(e))}}return e}function pe(e,t){var n;if(e)return Array.isArray(e)?e:(null==(n=null==t?void 0:t.easings)?void 0:n[e])?t.easings[e]:void console.warn("Unknown easing name: "+e)}function he(e,t){var n;if("string"==typeof e){const r=null==(n=null==t?void 0:t.animations)?void 0:n[e];return r||console.warn("Unknown animation name: "+e),r}return e}function me(e,t,n,r){var o,i;if("d"===e){return{paths:_(null!=(o=null==t?void 0:t.paths)?o:Array.isArray(t)?t:[],null!=(i=null==n?void 0:n.paths)?i:Array.isArray(n)?n:[],r)}}return Z.has(e)?L(t||[0,0,0,1],n||[0,0,0,1],r):G.has(e)||"stroke-dasharray"===e||"strokeDasharray"===e?I(t||[],n||[],r):F(+(t||0),+(n||0),r)}function ve(e,t,n,r){var o,i,s,l,a;const u=t.keyframes||t.kfs||[],c=[];for(const t of u){const n=null!=(i=null!=(o=t.time)?o:t.t)?i:0;let u=null!=(s=t.value)?s:t.v;const f=null!=(l=t.easing)?l:t.e;"d"===e&&(u=de(u)),Z.has(e)&&(u=null!=(a=K(u))?a:u),c.push({t:n,v:u,e:pe(f,r)})}c.sort((e,t)=>{var n,r;return(null!=(n=e.t)?n:0)-(null!=(r=t.t)?r:0)});const f=t.loop,d=!0===f?{}:f||void 0;return d&&c.length>=2?function(e,t,n,r){var o,i,s,l,a;const u=t.length-1,c=J(null!=(o=n.segmentCount)?o:u,1,u);let f;f=n.before?t.slice(0,c+1):t.slice(u-c);const d=null!=(i=t[0].t)?i:0,p=null!=(s=t[t.length-1].t)?s:0;let h,m;n.before?(h=0,m=d):(h=p,m=r);const v=m-h;if(v<=0)return t;const g=null!=(l=f[0].t)?l:0,y=(null!=(a=f[f.length-1].t)?a:0)-g;if(y<=0)return t;const b=f.map(e=>({relT:(e.t-g)/y,v:e.v,e:e.e})),A=Math.floor(v/y),w=(v-A*y)/y,x=[];function k(t,n,r){let o;if(n){o=[];for(let e=b.length-1;e>=0;e--)o.push({relT:1-b[e].relT,v:b[e].v,e:e>0?B(b[e-1].e):void 0})}else o=b;const i=void 0!==r?r:1;for(let n=0;n<o.length;n++){const r=o[n];if(r.relT>i+1e-9){const s=o[n-1],l=r.relT-s.relT,a=(i-s.relT)/l,u=s.e?z(s.e)(a):a,c=me(e,s.v,r.v,u),{left:f}=q(s.e,a);return x.length>0&&s.relT<=i&&(x[x.length-1].e=f),void x.push({t:t+i*y,v:c,e:void 0})}x.push({t:t+r.relT*y,v:r.v,e:n<o.length-1?r.e:void 0})}}for(let e=0;e<A;e++){const t=n.before?A-1-e:e,r=!!n.alternate&&t%2==0;k(h+e*y,r)}if(w>1e-9){const e=!!n.alternate&&A%2==0;k(h+A*y,e,w)}return n.before?[...x,...t]:[...t,...x]}(e,c,d,n):c}var ge=0;function ye(e){const t=E(e)||{},n=N(e),r=t.duration||1e3,o=[],i=(e,t)=>{if(!t)return null;const o=function(e,t){if(!e)return[];const n=[];if("string"==typeof e){const r=he(e,t);r&&n.push(r)}else if(Array.isArray(e))for(const r of e){const e=he(r,t);e&&n.push(e)}else n.push(e);return n}(t,n);if(0===o.length)return null;const i=function(e,t,n){const r={};for(const[o,i]of Object.entries(e)){const e=ve(o,i,t,n);e.length>0&&(r[o]={kfs:e})}return r}(function(e){const t={};for(const n of e)for(const[e,r]of Object.entries(n))t[e]=r;return t}(o),r,n);return 0===Object.keys(i).length?null:{id:e,animate:i}},s=R(e);if(s)for(const e of s){const t=i(e.id,e.animate);t&&o.push(t)}const l=e=>{if(e.animate){const t=e.id||"_px_el_"+ ++ge;e.id=t;const n=i(t,e.animate);n&&o.push(n)}if(e.children)for(let t=0;t<e.children.length;t++)l(e.children[t])};if(e.children)for(let t=0;t<e.children.length;t++)l(e.children[t]);return o}function be(e,t,n){var r,o,i,s,l,a,u;const c=t.kfs||t.keyframes||[];if(0===c.length)return null;const{prevKf:f,nextKf:d}=function(e,t){var n,r;let o=e[0],i=e[e.length-1];for(let s=0;s<e.length-1;s++){const l=null!=(n=e[s].t)?n:0,a=null!=(r=e[s+1].t)?r:0;if(l<=t&&t<=a){o=e[s],i=e[s+1];break}}return{prevKf:o,nextKf:i}}(c,n);let p=f===d?0:(h=n,m=null!=(r=f.t)?r:0,v=null!=(o=d.t)?o:0,g=0,y=1,v===m?g:g+(h-m)/(v-m)*(y-g));var h,m,v,g,y;p=J(p,0,1);const b=null!=(i=f.e)?i:f.easing;if(b&&Array.isArray(b))try{p=z(b)(p)}catch(e){}let A=!(w=e).includes("-")&&/[a-z][A-Z]/.test(w)?Q(e):e;var w;let x=null;const k=null!=(s=null==f?void 0:f.v)?s:null==f?void 0:f.value,j=null!=(l=null==d?void 0:d.v)?l:null==d?void 0:d.value;if("d"===A){x=_(null!=(a=null==k?void 0:k.paths)?a:Array.isArray(k)?k:[],null!=(u=null==j?void 0:j.paths)?u:Array.isArray(j)?j:[],p).map(e=>function(e){var t,n,r,o;const i=e.v,s=e.i,l=e.o,a=e.c;if(!i.length)return"";const u=[],c=i.length;u.push("M"+i[0][0]+","+i[0][1]);for(let e=1;e<c;e++){const r=i[e-1],o=null!=(t=null==l?void 0:l[e-1])?t:r,a=null!=(n=null==s?void 0:s[e])?n:i[e],c=i[e];o[0]===r[0]&&o[1]===r[1]&&a[0]===c[0]&&a[1]===c[1]?u.push("L"+c[0]+","+c[1]):u.push("C"+o[0]+","+o[1]+","+a[0]+","+a[1]+","+c[0]+","+c[1])}if(a&&c>0){const e=i[c-1],t=null!=(r=null==l?void 0:l[c-1])?r:e,n=null!=(o=null==s?void 0:s[0])?o:i[0],a=i[0];t[0]===e[0]&&t[1]===e[1]&&n[0]===a[0]&&n[1]===a[1]||u.push("C"+t[0]+","+t[1]+","+n[0]+","+n[1]+","+a[0]+","+a[1]),u.push("z")}return u.join("")}(e)).join("")}else if(Z.has(A))x=V(L(k||[0,0,0,1],j||[0,0,0,1],p)),A=e;else if("stroke-dasharray"===A)x=I(k||[],j||[],p).join(" "),A=e;else if("translate"===A){x="translate("+I(k||[0,0],j||[0,0],p).join(",")+")",A="transform"}else if("rotate"===A){x="rotate("+F(+(k||0),+(j||0),p)+")",A="transform"}else if("scale"===A){x="scale("+I(k||[1,1],j||[1,1],p).join(",")+")",A="transform"}else{x=F(+(k||0),+(j||0),p)}return $.has(A)&&"number"==typeof x&&(x=100*x+"%"),{k:A,v:null===x?"":""+x}}function Ae(e,t){const n={};for(const[r,o]of Object.entries(e)){const e=be(r,o,t);e&&(n[e.k]=e.v)}return n}function we(e){return"#"+e}function xe(e,t,n){const r=E(e)||{},o=ye(e),i=r.iterations;let s=1;"number"==typeof i&&(s=i||1),"infinite"===i&&(s=1/0),s<1&&(s=1);const l=+(r.duration||Y),a=l&&s?l*(s===1/0?1/0:s):l?(null!=s?s:1)*l:0,u=r.direction||"normal";let c=null,f=!1,d=r.delay||0,p=0,h=1,m=!1;const v=r.frameRate,g=v&&v>0?1e3/v:0;let y=0;const b=()=>{const e=p?(Date.now()-p)*h:0;let t=d+e;return Number.isFinite(a)&&t>a&&(t=a),t<0&&(t=0),t};function A(e){let n=function(){const t=l>0?l:1;let n=0,r=0;if(l>0){e=J(e,0,s*t),r=Math.max(0,Math.ceil(e/t)-1),r=Math.min(r,s-1);n=J((e-r*t)/t,0,1)}else n=e;const o=u||"normal";let i=n;return"reverse"===o?i=1-n:"alternate"===o?r%2==1&&(i=1-n):"alternate-reverse"===o&&r%2==0&&(i=1-n),i}();for(const e of o||[]){const r=e.animate;if(!r||"object"!=typeof r||Array.isArray(r)){console.warn("Empty or unresolved binding",e);continue}const o=Ae(r,n*l);for(const[n,r]of Object.entries(o))t.setAttribute(e.id,n,r)}}r.delay&&A(b());const w=()=>!!f&&(!!t.isConnected()&&!(Number.isFinite(a)&&b()>=a)),x=e=>{null!==c&&(cancelAnimationFrame(c),c=null),(e||w())&&(c=requestAnimationFrame(()=>{c=null,(()=>{var e;if(!t.isConnected())return void k();const r=b();if(g>0){const e=Date.now();if(y&&e-y<g)return;y=e}if(a&&Number.isFinite(a)&&r>=a)return A(a),m||(m=!0,null==(e=null==n?void 0:n.onFinish)||e.call(n)),void k();A(r)})(),x()}))},k=()=>{f&&(d=b(),p=0,f=!1,null!==c&&(cancelAnimationFrame(c),c=null),A(d))},j={isReady:()=>!0,getRootElement:()=>null,isPlaying:()=>w(),play:()=>{var e;f||(f=!0,p=Date.now(),x(!0)),null==(e=null==n?void 0:n.onPlay)||e.call(n)},pause:()=>{var e;k(),null==(e=null==n?void 0:n.onPause)||e.call(n)},cancel:()=>{var e;k(),d=0,p=0,f=!1,m=!1,A(d),null==(e=null==n?void 0:n.onCancel)||e.call(n)},finish:()=>{((e=!0)=>{var t;d=Number.isFinite(a)?a:b(),p=0,f=!1,A(d),e&&!m&&(m=!0,null==(t=null==n?void 0:n.onFinish)||t.call(n))})(!0)},setPlaybackRate:e=>{if(!isFinite(e)||0===e)return void console.warn("setPlaybackRate: rate must be finite and non-zero");const t=b();h=e,d=t,f&&(p=Date.now())},getCurrentTime:()=>b(),setCurrentTime:e=>{e<0&&(e=0),Number.isFinite(a)&&e>a&&(e=a),d=e,f&&(p=Date.now()),A(b())},destroy:()=>{j.cancel()}};return j}function ke(e,t,n,r){const o=E(e)||{};if(!r)if(e.id){const t=we(e.id);(r=document.querySelector(t))||console.warn("createFrameLoopAnimator: No root element found for selector: ",t)}else console.warn("createFrameLoopAnimator: No root element provided");let i=xe(e,t||function(e){const t=new Set,n={isConnected:()=>!e||e.isConnected,setAttribute:(n,r,o)=>{r=Q(r);const i=we(n),s=(null==e?void 0:e.querySelectorAll(i))||document.querySelectorAll(i);0!==s.length||t.has(i)||(t.add(i),console.warn('setAttribute: No elements found for selector "'+i+'"'));for(let e=0;e<s.length;e++){const t=s[e];t.setAttribute(r,o),X.has(r)&&(t.style[r]=o)}}};return n}(r),n);return i=f(c({},i),{getRootElement:()=>r||null}),o.trigger&&ae(i,o.trigger),i}function je(e,t,n,r){var o,i;let s=null!=(o=e.v)?o:e.value;const l=null!=(i=e.e)?i:e.easing,a={offset:t,easing:l&&Array.isArray(l)?"cubic-bezier("+l.join(",")+")":void 0};let u,c=n;var f;return Z.has(n)&&Array.isArray(s)?u=V(s):G.has(n)?(Array.isArray(s)&&("translate"===n&&(s=s.map(e=>e+"px")),s=s.join(",")),"rotate"===n&&(s+="deg"),u=n+"("+s+")",c="transform"):u=""+s,CSS.supports(c,u)||r.add(c),c=(f=c).includes("-")?f.replace(/-([a-z])/g,(e,t)=>t.toUpperCase()):f,a[c]=u,a}function Te(e,t,n){var r,o;const i=new Map;for(const[s,l]of Object.entries(e)){const e=l.kfs||l.keyframes||[],a=[];for(let i=0;i<e.length;i++){const l=e[i];let u=null!=(o=null!=(r=l.t)?r:l.time)?o:0;u=J(u/(n.duration||1),0,1);const d=je(l,u,s,t);0===i&&(d.offset||0)>0&&a.push(f(c({},d),{offset:0})),a.push(d),i===e.length-1&&(d.offset||0)<1&&a.push(f(c({},d),{offset:1}))}a.length>0&&i.set(s,a)}return i}function Se(e,t,n,r){const o=E(e)||{},i=ye(e);if(!n)if(e.id){const t=we(e.id);(n=document.querySelector(t))||console.warn("createFrameLoopAnimator: No root element found for selector: ",t)}else console.warn("createFrameLoopAnimator: No root element provided");const s=[],l=o.iterations;let a;"number"==typeof l&&(a=l),"infinite"===l&&(a=1/0);const u=new Set;(null==i?void 0:i.length)||console.warn("createWebApiAnimator: No animation bindings defined");for(const e of i||[]){const r=e.animate;if(!r||"object"!=typeof r||Array.isArray(r)){console.warn("createWebApiAnimator: Empty or unresolved binding",e);continue}const i=we(e.id),l=(null==n?void 0:n.querySelectorAll(i))||document.querySelectorAll(i);0===l.length&&console.warn('createWebApiAnimator: No elements found for selector "'+i+'"');const c=Te(r,u,o),f=o.delay&&o.delay>0?o.delay:void 0,d=o.delay&&o.delay<0&&o.duration?-o.delay%o.duration:void 0,p={duration:o.duration,delay:f,fill:o.fill,direction:o.direction,iterations:a};for(let e=0;e<l.length;e++){const n=l[e];for(const[,e]of c)if(e.length>0)try{const r=new KeyframeEffect(n,e,p),o=new Animation(r,document.timeline);(null==t?void 0:t.onFinish)&&(o.onfinish=()=>{var e;return null==(e=t.onFinish)?void 0:e.call(t)}),(null==t?void 0:t.onRemove)&&(o.onremove=()=>{var e;return null==(e=t.onRemove)?void 0:e.call(t)}),d&&(o.currentTime=d),s.push(o)}catch(e){console.warn(e)}}}if(!r&&u.size)return console.warn("Unsupported CSS attrs: "+[...u].join(", ")),null;const c={isReady:()=>!0,getRootElement:()=>n||null,isPlaying:()=>{var e;return"running"===(null==(e=s[0])?void 0:e.playState)},play:()=>{var e;s.forEach(e=>e.play()),null==(e=null==t?void 0:t.onPlay)||e.call(t)},pause:()=>{var e;s.forEach(e=>e.pause()),null==(e=null==t?void 0:t.onPause)||e.call(t)},cancel:()=>{var e;s.forEach(e=>e.cancel()),null==(e=null==t?void 0:t.onCancel)||e.call(t)},finish:()=>{var e;for(const t of s)try{(null==(e=t.effect)?void 0:e.getTiming().iterations)===1/0?(t.effect.updateTiming({iterations:1}),t.finish(),t.effect.updateTiming({iterations:1/0})):t.finish()}catch(e){t.cancel()}},setPlaybackRate:e=>(s.forEach(t=>t.playbackRate=e),c),getCurrentTime:()=>{var e,t;const n=null!=(t=null==(e=s[0])?void 0:e.currentTime)?t:null;return null!==n?+n:null},setCurrentTime:e=>{s.forEach(t=>{t.currentTime=e})},destroy:()=>{c.cancel(),s.splice(0,s.length)}};return o.trigger&&ae(c,o.trigger),c}var Ce=0;function Me(e){if(null===e||"object"!=typeof e)return e;if(Array.isArray(e))return e.map(e=>Me(e));const t=e,n={};for(const e of Object.keys(t))n[e]=Me(t[e]);return n}function Oe(e){const t=Me(e),n=new Map,r=new Set(["href","xlink:href"]),o=new Set(["fill","stroke","clip-path","clipPath","mask","marker","marker-start","marker-mid","marker-end","filter","flood-color","lighting-color"]),i=new Set(["baseId","targetId","boundElementId"]);!function e(t){if(t&&"object"==typeof t){if(t.id&&"string"==typeof t.id){const e=t.id,r="_px_"+Date.now().toString(36)+(++Ce).toString(36)+Math.random().toString(36).substring(2,6);n.set(e,r),t.id=r}if(Array.isArray(t.children))for(const n of t.children)e(n)}}(t),function e(t){if(t&&"object"==typeof t)for(const[s,l]of Object.entries(t))if("children"!==s)if("string"==typeof l)if(r.has(s)&&l.startsWith("#")){const e=l.slice(1),r=n.get(e);r&&(t[s]="#"+r)}else if(o.has(s))t[s]=Ee(l,n);else if(i.has(s)){const e=n.get(l);e&&(t[s]=e)}else l.includes("url(#")&&(t[s]=Ee(l,n));else if("style"===s&&"object"==typeof l&&null!==l)for(const[e,t]of Object.entries(l))"string"==typeof t&&(l[e]=Ee(t,n));else"object"==typeof l&&null!==l&&s!==m&&e(l);else if(Array.isArray(l))for(const t of l)e(t)}(t);const s=t.bindings;if(Array.isArray(s))for(const e of s)if(e.id){const t=n.get(e.id);t&&(e.id=t)}return t}function Ee(e,t){return e.replace(/url\(#([^)]+)\)/g,(e,n)=>{const r=t.get(n);return r?"url(#"+r+")":e})}function Ne(e,t,n,r){(E(e)||{}).debug=!0;let o=null;if(r&&e.children){e=Oe(e);const t="string"==typeof r?document.querySelector(r):r;t&&(o=le(e),o&&t.replaceChildren(o))}return function(e,t,n,r){const o=E(e)||{};let i;return i="frames"===o.mode?ke(e,t,n,r):Se(e,n,r,"webapi"===o.mode)||ke(e,t,n,r),o.debugInstName&&(window[o.debugInstName]=i),i}(e,t,n,o)}function Re(e,t,n,r){if("object"==typeof e)return Ne(e,t,n,r);let o=null;return fetch(e).then(e=>e.json()).then(e=>{b(e)?o=Ne(e,t,n,r):console.error("Invalid animation document format")}),{isReady:()=>!!o,getRootElement:()=>o?o.getRootElement():null,isPlaying:()=>(null==o?void 0:o.isPlaying())||!1,play:()=>{null==o||o.play()},pause:()=>{null==o||o.pause()},cancel:()=>{null==o||o.cancel()},finish:()=>{null==o||o.finish()},setPlaybackRate:e=>{null==o||o.setPlaybackRate(e)},getCurrentTime:()=>(null==o?void 0:o.getCurrentTime())||0,setCurrentTime:e=>{null==o||o.setCurrentTime(e)},destroy:()=>{null==o||o.destroy()}}}function Pe(){const e=document.querySelectorAll("["+p+"]");for(let t=0;t<e.length;t++){const n=e[t];if(!n[h]){const e=n.getAttribute(p);e&&(n[h]=Re(e,void 0,void 0,n))}}}"undefined"!=typeof window&&(window.loadTagAnimators=Pe,window.createAnimator=Re,window.setupAnimationTriggers=ae);
|
package/dist/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,s=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r;function l(e,t,n){return e+(t-e)*n}function a(e,t,n){const r=[],o=Math.max(e.length,t.length);for(let i=0;i<o;i++)r[i]=l(e[i]||0,t[i]||0,n);return r}function u(e,t,n){var r,o,i,s,l,u,c,f,d;if(!e||!t)return e||t||{v:[]};const p=Math.min(Math.max(n,0),1),h=Math.min(e.v.length,t.v.length),m=[],v=[],y=[];for(let n=0;n<h;n++){const d=e.v[n],h=t.v[n];m.push(a(d,h,p));const g=null!=(o=null==(r=e.i)?void 0:r[n])?o:d,b=null!=(s=null==(i=t.i)?void 0:i[n])?s:h;v.push(a(g,b,p));const A=null!=(u=null==(l=e.o)?void 0:l[n])?u:d,w=null!=(f=null==(c=t.o)?void 0:c[n])?f:h;y.push(a(A,w,p))}return{v:m,i:v.length?v:void 0,o:y.length?y:void 0,c:null!=(d=e.c)?d:t.c}}function c(e){const[t,n,r,o]=e,i=3*t,s=3*(r-t)-i,l=1-i-s,a=3*n,u=3*(o-n)-a,c=1-a-u;function f(e){return((l*e+s)*e+i)*e}function d(e){return(3*l*e+2*s)*e+i}return function(e){return t=function(e){if(e<=0)return 0;if(e>=1)return 1;let t=e,n=0,r=1;for(let n=0;n<8;n++){const n=f(t)-e;if(Math.abs(n)<1e-6)return t;const r=d(t);if(Math.abs(r)<1e-6)break;t-=n/r}for(t=e;n<r;){const o=f(t);if(Math.abs(o-e)<1e-6)return t;e>o?n=t:r=t,t=(r+n)/2}return t}(e),((c*t+u)*t+a)*t;var t}}function f(e){const t=Math.round(255*e[0]),n=Math.round(255*e[1]),r=Math.round(255*e[2]);return 4===e.length?"rgba("+t+","+n+","+r+","+e[3]+")":"rgb("+t+","+n+","+r+")"}function d(e){if(e){if(Array.isArray(e))return e;if("string"==typeof e)return e.startsWith("#")?function(e){const t=e.slice(1),n=t.length<=4,r=n?t[0]+t[0]:t.slice(0,2),o=n?t[1]+t[1]:t.slice(2,4),i=n?t[2]+t[2]:t.slice(4,6),s=4===t.length?t[3]+t[3]:8===t.length?t.slice(6,8):null,l=[parseInt(r,16)/255,parseInt(o,16)/255,parseInt(i,16)/255];return null!==s&&l.push(parseInt(s,16)/255),l}(e):e.startsWith("rgb")?function(e){var t;const n=null==(t=e.match(/rgba?\((.*)\)/))?void 0:t[1];if(!n)throw new Error("Invalid rgb/rgba format");const r=n.split(",").map(e=>+e.trim());return[r[0]/255,r[1]/255,r[2]/255,...void 0!==r[3]?[r[3]]:[]]}(e):void console.warn("Unsupported color format: "+e)}}var p=new Set(["color","fill","flood-color","lighting-color","stop-color","stroke"]),h=new Set(["translate","rotate","scale","skew"]),m=new Set(["offset-distance","offsetDistance"]),v=new Set(["offset-distance","offsetDistance"]);function y(e){return e.includes("-")?e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase()):e}var g=new Set(["viewBox","preserveAspectRatio","gradientUnits","gradientTransform","spreadMethod","patternUnits","patternContentUnits","patternTransform","clipPathUnits","maskUnits","maskContentUnits","textLength","lengthAdjust","startOffset","filterUnits","primitiveUnits","stdDeviation","baseFrequency","numOctaves","surfaceScale","diffuseConstant","specularConstant","specularExponent","kernelMatrix","kernelUnitLength","edgeMode","preserveAlpha","targetX","targetY"]);function b(e){return g.has(e)?e:e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function A(e,t,n){return Math.max(t,Math.min(e,n))}var w=new Set(["type","children","animate","style","animator","defs","bindings"]);function k(e){const t={};for(const n of Object.keys(e)){if(w.has(n))continue;let r=e[n];p.has(n)&&Array.isArray(r)?t[n]=f(r):h.has(n)?(Array.isArray(r)&&("translate"===n&&(r=r.map(e=>e+"px")),r=r.join(",")),"rotate"===n&&(r+="deg"),t.transform=n+"("+r+")"):null!=r&&(t[n]=String(r))}return t}function x(e,t){if(!e)return null;const n=e,{type:s,children:l,animate:a,style:u}=n,c=((e,t)=>{var n={};for(var s in e)o.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&r)for(var s of r(e))t.indexOf(s)<0&&i.call(e,s)&&(n[s]=e[s]);return n})(n,["type","children","animate","style"]),f=e.defs||t,d=function(e,t){var n;if(e)return"string"==typeof e?null==(n=null==t?void 0:t.styles)?void 0:n[e]:e}(u,f);let p;if(l)for(const e of l){const t=x(e,f);t&&(p||(p=[]),p.push(t))}return function(e,t,n,r){const o=document.createElementNS("http://www.w3.org/2000/svg",e);for(const e in t)o.setAttribute(b(e),t[e]);if(n)for(const e in n)o.style[e]=String(n[e]);if(r)for(const e of r)o.appendChild(e);return o}(s||"g",k(c),d,p)}function j(e,t){const{startOn:n,outAction:r="continue",scrollIntoViewThreshold:o=.5}=t,i=e.getRootElement();if(!i)return console.warn("setupAnimationTriggers: No root element found for animation."),e;const s=()=>{e.play()},l=()=>{switch(r){case"pause":e.pause();break;case"reset":e.cancel();break;case"reverse":e.play()}};switch(n){case"load":{const e=()=>s();"complete"===document.readyState?e():window.addEventListener("load",e,{once:!0});break}case"mouseOver":{const e=()=>s(),t=()=>l();i.addEventListener("mouseenter",e),i.addEventListener("mouseleave",t);break}case"click":{const t=()=>{e.isPlaying()?l():s()};i.addEventListener("click",t);break}case"scrollIntoView":new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&e.intersectionRatio>=o?s():l()})},{threshold:o}).observe(i);break}return e}var S="data-px-animation-src",O="_px_animator";function C(e){return!(!e||"object"!=typeof e||Array.isArray(e))&&("svg"===e.type||"svg"===e.tagName)}function E(e){return e&&"object"==typeof e&&!Array.isArray(e)}function M(e,t,n){return"string"==typeof e||(!(!Array.isArray(e)||4!==e.length||!e.every(e=>"number"==typeof e))||(n.push(t+": invalid easing, expected string or [number, number, number, number]"),!1))}function R(e,t,n){if(!E(e))return n.push(t+": expected object"),!1;let r=!0;return void 0!==e.time&&"number"!=typeof e.time&&(n.push(t+".time: expected number, got "+typeof e.time),r=!1),void 0!==e.t&&"number"!=typeof e.t&&(n.push(t+".t: expected number, got "+typeof e.t),r=!1),void 0===e.easing||M(e.easing,t+".easing",n)||(r=!1),void 0===e.e||M(e.e,t+".e",n)||(r=!1),r}function P(e,t,n){if(!E(e))return n.push(t+": expected object"),!1;let r=!0;return void 0!==e.keyframes&&(Array.isArray(e.keyframes)?e.keyframes.forEach((e,o)=>{R(e,t+".keyframes["+o+"]",n)||(r=!1)}):(n.push(t+".keyframes: expected array"),r=!1)),void 0!==e.kfs&&(Array.isArray(e.kfs)?e.kfs.forEach((e,o)=>{R(e,t+".kfs["+o+"]",n)||(r=!1)}):(n.push(t+".kfs: expected array"),r=!1)),r}function T(e,t,n){if(!E(e))return n.push(t+": expected object"),!1;let r=!0;for(const o of Object.keys(e))P(e[o],t+"."+o,n)||(r=!1);return r}function I(e,t,n){if("string"==typeof e)return!0;if(Array.isArray(e)){let r=!0;return e.forEach((e,o)=>{"string"==typeof e||T(e,t+"["+o+"]",n)||(r=!1)}),r}return E(e)?T(e,t,n):(n.push(t+": expected string, array, or PxAnimationDefinition object"),!1)}function N(e,t,n){if(!E(e))return n.push(t+": expected object"),!1;let r=!0;return void 0===e.mode||["auto","webapi","frames"].includes(e.mode)||(n.push(t+'.mode: invalid value "'+e.mode+"\", expected 'auto'|'webapi'|'frames'"),r=!1),void 0!==e.duration&&"number"!=typeof e.duration&&(n.push(t+".duration: expected number, got "+typeof e.duration),r=!1),void 0!==e.delay&&"number"!=typeof e.delay&&(n.push(t+".delay: expected number, got "+typeof e.delay),r=!1),void 0!==e.iterations&&"number"!=typeof e.iterations&&"infinite"!==e.iterations&&(n.push(t+".iterations: expected number or 'infinite', got "+typeof e.iterations),r=!1),void 0===e.fill||function(e,t,n){return"forwards"===e||"backwards"===e||"both"===e||"none"===e||(n.push(t+': invalid FillMode "'+e+"\", expected 'forwards'|'backwards'|'both'|'none'"),!1)}(e.fill,t+".fill",n)||(r=!1),void 0===e.direction||function(e,t,n){return"normal"===e||"reverse"===e||"alternate"===e||"alternate-reverse"===e||(n.push(t+': invalid PlaybackDirection "'+e+"\", expected 'normal'|'reverse'|'alternate'|'alternate-reverse'"),!1)}(e.direction,t+".direction",n)||(r=!1),void 0!==e.frameRate&&"number"!=typeof e.frameRate&&(n.push(t+".frameRate: expected number, got "+typeof e.frameRate),r=!1),void 0===e.trigger||function(e,t,n){if(!E(e))return n.push(t+": expected object"),!1;let r=!0;const o=["load","mouseOver","click","scrollIntoView","programmatic"];if(o.includes(e.startOn)||(n.push(t+'.startOn: invalid value "'+e.startOn+'", expected '+o.join("|")),r=!1),void 0!==e.outAction){const o=["continue","pause","reset","reverse"];o.includes(e.outAction)||(n.push(t+'.outAction: invalid value "'+e.outAction+'", expected '+o.join("|")),r=!1)}return void 0!==e.scrollIntoViewThreshold&&"number"!=typeof e.scrollIntoViewThreshold&&(n.push(t+".scrollIntoViewThreshold: expected number, got "+typeof e.scrollIntoViewThreshold),r=!1),r}(e.trigger,t+".trigger",n)||(r=!1),r}function F(e,t,n){if(!E(e))return n.push(t+": expected object"),!1;let r=!0;return"string"!=typeof e.type&&(n.push(t+".type: expected string, got "+typeof e.type),r=!1),void 0!==e.children&&(Array.isArray(e.children)?e.children.forEach((e,o)=>{F(e,t+".children["+o+"]",n)||(r=!1)}):(n.push(t+".children: expected array"),r=!1)),void 0===e.animate||I(e.animate,t+".animate",n)||(r=!1),r}function L(e,t,n){if(!F(e,t,n))return!1;let r=!0;return"svg"!==e.type&&(n.push(t+".type: expected 'svg', got '"+e.type+"'"),r=!1),void 0!==e.width&&"number"!=typeof e.width&&(n.push(t+".width: expected number, got "+typeof e.width),r=!1),void 0!==e.height&&"number"!=typeof e.height&&(n.push(t+".height: expected number, got "+typeof e.height),r=!1),void 0!==e.viewBox&&"string"!=typeof e.viewBox&&(n.push(t+".viewBox: expected string, got "+typeof e.viewBox),r=!1),void 0===e.animator||N(e.animator,t+".animator",n)||(r=!1),void 0===e.defs||function(e,t,n){if(!E(e))return n.push(t+": expected object"),!1;let r=!0;if(void 0!==e.easings)if(E(e.easings))for(const o of Object.keys(e.easings))M(e.easings[o],t+".easings."+o,n)||(r=!1);else n.push(t+".easings: expected object"),r=!1;if(void 0!==e.animations)if(E(e.animations))for(const o of Object.keys(e.animations))T(e.animations[o],t+".animations."+o,n)||(r=!1);else n.push(t+".animations: expected object"),r=!1;return void 0===e.styles||E(e.styles)||(n.push(t+".styles: expected object"),r=!1),r}(e.defs,t+".defs",n)||(r=!1),void 0!==e.bindings&&(Array.isArray(e.bindings)?e.bindings.forEach((e,o)=>{(function(e,t,n){if(!E(e))return n.push(t+": expected object"),!1;let r=!0;return"string"!=typeof e.id&&(n.push(t+".id: expected string, got "+typeof e.id),r=!1),I(e.animate,t+".animate",n)||(r=!1),r})(e,t+".bindings["+o+"]",n)||(r=!1)}):(n.push(t+".bindings: expected array"),r=!1)),void 0===e.design||F(e.design,t+".design",n)||(r=!1),r}function U(e){const t=[];return{valid:L(e,"root",t),errors:t}}function D(e){var t,n;return(null==e?void 0:e.animator)||(null==(t=null==e?void 0:e.meta)?void 0:t.animator)||(null==e?void 0:e.animation)||(null==(n=null==e?void 0:e.meta)?void 0:n.animation)}function z(e){var t;if(e)return e.defs||(null==(t=e.meta)?void 0:t.defs)}function q(e){var t;if(e)return e.bindings||(null==(t=e.meta)?void 0:t.bindings)}function V(e){return null==e?void 0:e.children}function W(e){const t=[];let n;const r=function(e){const t=e.split(/([MLCZmlcz]|[\s,]+)/).map(e=>e.trim()).filter(e=>e&&","!==e),n=[];let r=null;for(const e of t)if(/[MLCZmlcz]/.test(e))r={type:e,values:[]},n.push(r);else if(r){const t=+e;r.values.push(Number.isNaN(t)?0:t)}return n}(e);for(const e of r){const r=e.type,o=e.values;if("M"===r||"m"===r){const e=o[0]||0,r=o[1]||0;n={v:[[e,r]],i:[[e,r]],o:[[e,r]],c:!1},t.push(n);continue}if(n||(n={v:[[0,0]],i:[[0,0]],o:[[0,0]],c:!1},t.push(n)),"L"===r){const e=o[0]||0,t=o[1]||0;n.v.push([e,t]),n.i.push([e,t]),n.o.push([e,t])}else if("C"===r){const e=o[0]||0,t=o[1]||0,r=o[2]||0,i=o[3]||0,s=o[4]||0,l=o[5]||0;n.o[n.o.length-1]=[e,t],n.v.push([s,l]),n.i.push([r,i]),n.o.push([s,l])}else"Z"!==r&&"z"!==r||(n.c=!0)}return t}function _(e){return e.startsWith("path(")&&e.endsWith(")")?e.slice(5,-1):/^[MmZzLlHhVvCcSsQqTtAa]/.test(e)?e:void 0}function Z(e){return"string"==typeof e&&void 0!==_(e)}function B(e){if(e&&"object"==typeof e&&"paths"in e){const t=e.paths;if(Array.isArray(t)&&t.length>0&&Z(t[0])){const e=[];for(const n of t){const t=_(n);t&&e.push(...W(t))}return{paths:e}}return e}if(Array.isArray(e)){if(e.length>0&&Z(e[0])){const t=[];for(const n of e){const e=_(n);e&&t.push(...W(e))}return{paths:t}}return{paths:e}}if(Z(e)){return{paths:W(_(e))}}return e}function K(e,t){var n;if(e)return Array.isArray(e)?e:(null==(n=null==t?void 0:t.easings)?void 0:n[e])?t.easings[e]:void console.warn("Unknown easing name: "+e)}function $(e,t){var n;if("string"==typeof e){const r=null==(n=null==t?void 0:t.animations)?void 0:n[e];return r||console.warn("Unknown animation name: "+e),r}return e}function H(e,t,n,r){var o,i,s,l,a;const u=t.keyframes||t.kfs||[],c=[];for(const t of u){const n=null!=(i=null!=(o=t.time)?o:t.t)?i:0;let u=null!=(s=t.value)?s:t.v;const f=null!=(l=t.easing)?l:t.e;"d"===e&&(u=B(u)),p.has(e)&&(u=null!=(a=d(u))?a:u),c.push({t:n,v:u,e:K(f,r)})}return c.sort((e,t)=>{var n,r;return(null!=(n=e.t)?n:0)-(null!=(r=t.t)?r:0)}),c}var Q=0;function X(e){const t=D(e)||{},n=z(e),r=(t.duration,[]),o=(e,t)=>{if(!t)return null;const r=function(e,t){if(!e)return[];const n=[];if("string"==typeof e){const r=$(e,t);r&&n.push(r)}else if(Array.isArray(e))for(const r of e){const e=$(r,t);e&&n.push(e)}else n.push(e);return n}(t,n);if(0===r.length)return null;const o=function(e,t,n){const r={};for(const[t,o]of Object.entries(e)){const e=H(t,o,0,n);e.length>0&&(r[t]={kfs:e})}return r}(function(e){const t={};for(const n of e)for(const[e,r]of Object.entries(n))t[e]=r;return t}(r),0,n);return 0===Object.keys(o).length?null:{id:e,animate:o}},i=q(e);if(i)for(const e of i){const t=o(e.id,e.animate);t&&r.push(t)}const s=e=>{if(e.animate){const t=e.id||"_px_el_"+ ++Q;e.id=t;const n=o(t,e.animate);n&&r.push(n)}if(e.children)for(let t=0;t<e.children.length;t++)s(e.children[t])};if(e.children)for(let t=0;t<e.children.length;t++)s(e.children[t]);return r}function Y(e,t,n){var r,o,i,s,d,h,v;const y=t.kfs||t.keyframes||[];if(0===y.length)return null;const{prevKf:g,nextKf:w}=function(e,t){var n,r;let o=e[0],i=e[e.length-1];for(let s=0;s<e.length-1;s++){const l=null!=(n=e[s].t)?n:0,a=null!=(r=e[s+1].t)?r:0;if(l<=t&&t<=a){o=e[s],i=e[s+1];break}}return{prevKf:o,nextKf:i}}(y,n);let k=g===w?0:(x=n,j=null!=(r=g.t)?r:0,S=null!=(o=w.t)?o:0,O=0,C=1,S===j?O:O+(x-j)/(S-j)*(C-O));var x,j,S,O,C;k=A(k,0,1);const E=null!=(i=g.e)?i:g.easing;if(E&&Array.isArray(E))try{k=c(E)(k)}catch(e){}let M=!(R=e).includes("-")&&/[a-z][A-Z]/.test(R)?b(e):e;var R;let P=null;const T=null!=(s=null==g?void 0:g.v)?s:null==g?void 0:g.value,I=null!=(d=null==w?void 0:w.v)?d:null==w?void 0:w.value;if("d"===M){P=function(e,t,n){const r=Math.max(e.length,t.length),o=[];for(let i=0;i<r;i++)o.push(u(e[i],t[i],n));return o}(null!=(h=null==T?void 0:T.paths)?h:Array.isArray(T)?T:[],null!=(v=null==I?void 0:I.paths)?v:Array.isArray(I)?I:[],k).map(e=>function(e){var t,n,r,o;const i=e.v,s=e.i,l=e.o,a=e.c;if(!i.length)return"";const u=[],c=i.length;u.push("M"+i[0][0]+","+i[0][1]);for(let e=1;e<c;e++){const r=i[e-1],o=null!=(t=null==l?void 0:l[e-1])?t:r,a=null!=(n=null==s?void 0:s[e])?n:i[e],c=i[e];o[0]===r[0]&&o[1]===r[1]&&a[0]===c[0]&&a[1]===c[1]?u.push("L"+c[0]+","+c[1]):u.push("C"+o[0]+","+o[1]+","+a[0]+","+a[1]+","+c[0]+","+c[1])}if(a&&c>0){const e=i[c-1],t=null!=(r=null==l?void 0:l[c-1])?r:e,n=null!=(o=null==s?void 0:s[0])?o:i[0],a=i[0];t[0]===e[0]&&t[1]===e[1]&&n[0]===a[0]&&n[1]===a[1]||u.push("C"+t[0]+","+t[1]+","+n[0]+","+n[1]+","+a[0]+","+a[1]),u.push("z")}return u.join("")}(e)).join("")}else if(p.has(M))P=f((F=I||[0,0,0,1],L=k,[l((N=T||[0,0,0,1])[0]||0,F[0]||0,L),l(N[1]||0,F[1]||0,L),l(N[2]||0,F[2]||0,L),l(void 0===N[3]?1:N[3],void 0===F[3]?1:F[3],L)])),M=e;else if("stroke-dasharray"===M)P=a(T||[],I||[],k).join(" "),M=e;else if("translate"===M){P="translate("+a(T||[0,0],I||[0,0],k).join(",")+")",M="transform"}else if("rotate"===M){P="rotate("+l(+(T||0),+(I||0),k)+")",M="transform"}else if("scale"===M){P="scale("+a(T||[1,1],I||[1,1],k).join(",")+")",M="transform"}else{P=l(+(T||0),+(I||0),k)}var N,F,L;return m.has(M)&&"number"==typeof P&&(P=100*P+"%"),{k:M,v:null===P?"":""+P}}function G(e,t){const n={};for(const[r,o]of Object.entries(e)){const e=Y(r,o,t);e&&(n[e.k]=e.v)}return n}function J(e){return"#"+e}function ee(e,t,n){const r=D(e)||{},o=X(e),i=r.iterations;let s=1;"number"==typeof i&&(s=i||1),"infinite"===i&&(s=1/0),s<1&&(s=1);const l=+(r.duration||1e3),a=l&&s?l*(s===1/0?1/0:s):l?(null!=s?s:1)*l:0,u=r.direction||"normal";let c=null,f=!1,d=r.delay||0,p=0,h=1,m=!1;const v=r.frameRate,y=v&&v>0?1e3/v:0;let g=0;const b=()=>{const e=p?(Date.now()-p)*h:0;let t=d+e;return Number.isFinite(a)&&t>a&&(t=a),t<0&&(t=0),t};function w(e){let n=function(){const t=l>0?l:1;let n=0,r=0;if(l>0){e=A(e,0,s*t),r=Math.max(0,Math.ceil(e/t)-1),r=Math.min(r,s-1);n=A((e-r*t)/t,0,1)}else n=e;const o=u||"normal";let i=n;return"reverse"===o?i=1-n:"alternate"===o?r%2==1&&(i=1-n):"alternate-reverse"===o&&r%2==0&&(i=1-n),i}();for(const e of o||[]){const r=e.animate;if(!r||"object"!=typeof r||Array.isArray(r)){console.warn("Empty or unresolved binding",e);continue}const o=G(r,n*l);for(const[n,r]of Object.entries(o))t.setAttribute(e.id,n,r)}}r.delay&&w(b());const k=()=>!!f&&(!!t.isConnected()&&!(Number.isFinite(a)&&b()>=a)),x=e=>{null!==c&&(cancelAnimationFrame(c),c=null),(e||k())&&(c=requestAnimationFrame(()=>{c=null,(()=>{var e;if(!t.isConnected())return void j();const r=b();if(y>0){const e=Date.now();if(g&&e-g<y)return;g=e}if(a&&Number.isFinite(a)&&r>=a)return w(a),m||(m=!0,null==(e=null==n?void 0:n.onFinish)||e.call(n)),void j();w(r)})(),x()}))},j=()=>{f&&(d=b(),p=0,f=!1,null!==c&&(cancelAnimationFrame(c),c=null),w(d))},S={isReady:()=>!0,getRootElement:()=>null,isPlaying:()=>k(),play:()=>{var e;f||(f=!0,p=Date.now(),x(!0)),null==(e=null==n?void 0:n.onPlay)||e.call(n)},pause:()=>{var e;j(),null==(e=null==n?void 0:n.onPause)||e.call(n)},cancel:()=>{var e;j(),d=0,p=0,f=!1,m=!1,w(d),null==(e=null==n?void 0:n.onCancel)||e.call(n)},finish:()=>{((e=!0)=>{var t;d=Number.isFinite(a)?a:b(),p=0,f=!1,w(d),e&&!m&&(m=!0,null==(t=null==n?void 0:n.onFinish)||t.call(n))})(!0)},setPlaybackRate:e=>{if(!isFinite(e)||0===e)return void console.warn("setPlaybackRate: rate must be finite and non-zero");const t=b();h=e,d=t,f&&(p=Date.now())},getCurrentTime:()=>b(),setCurrentTime:e=>{e<0&&(e=0),Number.isFinite(a)&&e>a&&(e=a),d=e,f&&(p=Date.now()),w(b())},destroy:()=>{S.cancel()}};return S}function te(e,l,a,u){const c=D(e)||{};if(!u)if(e.id){const t=J(e.id);(u=document.querySelector(t))||console.warn("createFrameLoopAnimator: No root element found for selector: ",t)}else console.warn("createFrameLoopAnimator: No root element provided");let f=ee(e,l||function(e){const t=new Set,n={isConnected:()=>!e||e.isConnected,setAttribute:(n,r,o)=>{r=b(r);const i=J(n),s=(null==e?void 0:e.querySelectorAll(i))||document.querySelectorAll(i);0!==s.length||t.has(i)||(t.add(i),console.warn('setAttribute: No elements found for selector "'+i+'"'));for(let e=0;e<s.length;e++){const t=s[e];t.setAttribute(r,o),v.has(r)&&(t.style[r]=o)}}};return n}(u),a);var d;return d=((e,t)=>{for(var n in t||(t={}))o.call(t,n)&&s(e,n,t[n]);if(r)for(var n of r(t))i.call(t,n)&&s(e,n,t[n]);return e})({},f),f=t(d,n({getRootElement:()=>u||null})),c.trigger&&j(f,c.trigger),f}function ne(e,t,n){var r,o,i,s;const l=new Map;for(const[a,u]of Object.entries(e)){const e=u.kfs||u.keyframes||[],c=[];for(const l of e){let e=null!=(o=null!=(r=l.t)?r:l.time)?o:0;e=A(e/(n.duration||1),0,1);let u=null!=(i=l.v)?i:l.value;const d=null!=(s=l.e)?s:l.easing,m={offset:e,easing:d&&Array.isArray(d)?"cubic-bezier("+d.join(",")+")":void 0};let v,g=a;p.has(a)&&Array.isArray(u)?v=f(u):h.has(a)?(Array.isArray(u)&&("translate"===a&&(u=u.map(e=>e+"px")),u=u.join(",")),"rotate"===a&&(u+="deg"),v=a+"("+u+")",g="transform"):v=""+u,CSS.supports(g,v)||t.add(g),g=y(g),m[g]=v,c.push(m)}c.length>0&&l.set(a,c)}return l}function re(e,t,n,r){const o=D(e)||{},i=X(e);if(!n)if(e.id){const t=J(e.id);(n=document.querySelector(t))||console.warn("createFrameLoopAnimator: No root element found for selector: ",t)}else console.warn("createFrameLoopAnimator: No root element provided");const s=[],l=o.iterations;let a;"number"==typeof l&&(a=l),"infinite"===l&&(a=1/0);const u=new Set;(null==i?void 0:i.length)||console.warn("createWebApiAnimator: No animation bindings defined");for(const e of i||[]){const r=e.animate;if(!r||"object"!=typeof r||Array.isArray(r)){console.warn("createWebApiAnimator: Empty or unresolved binding",e);continue}const i=J(e.id),l=(null==n?void 0:n.querySelectorAll(i))||document.querySelectorAll(i);0===l.length&&console.warn('createWebApiAnimator: No elements found for selector "'+i+'"');const c=ne(r,u,o);for(let e=0;e<l.length;e++){const n=l[e],r=o.delay&&o.delay>0?o.delay:void 0,i=o.delay&&o.delay<0&&o.duration?-o.delay%o.duration:void 0,u={duration:o.duration,delay:r,fill:o.fill,direction:o.direction,iterations:a};for(const[,e]of c)if(e.length>0)try{const r=new KeyframeEffect(n,e,u),o=new Animation(r,document.timeline);(null==t?void 0:t.onFinish)&&(o.onfinish=()=>{var e;return null==(e=t.onFinish)?void 0:e.call(t)}),(null==t?void 0:t.onRemove)&&(o.onremove=()=>{var e;return null==(e=t.onRemove)?void 0:e.call(t)}),i&&(o.currentTime=i),s.push(o)}catch(e){console.warn(e)}}}if(!r&&u.size)return console.warn("Unsupported CSS attrs: "+[...u].join(", ")),null;const c={isReady:()=>!0,getRootElement:()=>n||null,isPlaying:()=>{var e;return"running"===(null==(e=s[0])?void 0:e.playState)},play:()=>{var e;s.forEach(e=>e.play()),null==(e=null==t?void 0:t.onPlay)||e.call(t)},pause:()=>{var e;s.forEach(e=>e.pause()),null==(e=null==t?void 0:t.onPause)||e.call(t)},cancel:()=>{var e;s.forEach(e=>e.cancel()),null==(e=null==t?void 0:t.onCancel)||e.call(t)},finish:()=>{s.forEach(e=>e.finish())},setPlaybackRate:e=>(s.forEach(t=>t.playbackRate=e),c),getCurrentTime:()=>{var e,t;const n=null!=(t=null==(e=s[0])?void 0:e.currentTime)?t:null;return null!==n?+n:null},setCurrentTime:e=>{s.forEach(t=>{t.currentTime=e})},destroy:()=>{c.cancel(),s.splice(0,s.length)}};return o.trigger&&j(c,o.trigger),c}var oe=0;function ie(e){if(null===e||"object"!=typeof e)return e;if(Array.isArray(e))return e.map(e=>ie(e));const t=e,n={};for(const e of Object.keys(t))n[e]=ie(t[e]);return n}function se(e){const t=ie(e),n=new Map,r=new Set(["href","xlink:href"]),o=new Set(["fill","stroke","clip-path","clipPath","mask","marker","marker-start","marker-mid","marker-end","filter","flood-color","lighting-color"]),i=new Set(["baseId","targetId","boundElementId"]);!function e(t){if(t&&"object"==typeof t){if(t.id&&"string"==typeof t.id){const e=t.id,r="_px_"+Date.now().toString(36)+(++oe).toString(36)+Math.random().toString(36).substring(2,6);n.set(e,r),t.id=r}if(Array.isArray(t.children))for(const n of t.children)e(n)}}(t),function e(t){if(t&&"object"==typeof t)for(const[s,l]of Object.entries(t))if("children"!==s)if("string"==typeof l)if(r.has(s)&&l.startsWith("#")){const e=l.slice(1),r=n.get(e);r&&(t[s]="#"+r)}else if(o.has(s))t[s]=le(l,n);else if(i.has(s)){const e=n.get(l);e&&(t[s]=e)}else l.includes("url(#")&&(t[s]=le(l,n));else if("style"===s&&"object"==typeof l&&null!==l)for(const[e,t]of Object.entries(l))"string"==typeof t&&(l[e]=le(t,n));else"object"==typeof l&&null!==l&&"animate"!==s&&e(l);else if(Array.isArray(l))for(const t of l)e(t)}(t);const s=t.bindings;if(Array.isArray(s))for(const e of s)if(e.id){const t=n.get(e.id);t&&(e.id=t)}return t}function le(e,t){return e.replace(/url\(#([^)]+)\)/g,(e,n)=>{const r=t.get(n);return r?"url(#"+r+")":e})}function ae(e,t,n,r){(D(e)||{}).debug=!0;let o=null;if(r&&e.children){e=se(e);const t="string"==typeof r?document.querySelector(r):r;t&&(o=x(e),o&&t.replaceChildren(o))}return function(e,t,n,r){const o=D(e)||{};let i;return i="frames"===o.mode?te(e,t,n,r):re(e,n,r,"webapi"===o.mode)||te(e,t,n,r),o.debugInstName&&(window[o.debugInstName]=i),i}(e,t,n,o)}function ue(e,t,n,r){if("object"==typeof e)return ae(e,t,n,r);let o=null;return fetch(e).then(e=>e.json()).then(e=>{C(e)?o=ae(e,t,n,r):console.error("Invalid animation document format")}),{isReady:()=>!!o,getRootElement:()=>o?o.getRootElement():null,isPlaying:()=>(null==o?void 0:o.isPlaying())||!1,play:()=>{null==o||o.play()},pause:()=>{null==o||o.pause()},cancel:()=>{null==o||o.cancel()},finish:()=>{null==o||o.finish()},setPlaybackRate:e=>{null==o||o.setPlaybackRate(e)},getCurrentTime:()=>(null==o?void 0:o.getCurrentTime())||0,setCurrentTime:e=>{null==o||o.setCurrentTime(e)},destroy:()=>{null==o||o.destroy()}}}function ce(){const e=document.querySelectorAll("["+S+"]");for(let t=0;t<e.length;t++){const n=e[t];if(!n[O]){const e=n.getAttribute(S);e&&(n[O]=ue(e,void 0,void 0,n))}}}"undefined"!=typeof window&&(window.loadTagAnimators=ce,window.createAnimator=ue,window.setupAnimationTriggers=j);export{p as COLOUR_ATTR_NAMES,O as PX_ANIM_ATTR_NAME,S as PX_ANIM_SRC_ATTR_NAME,v as STYLE_ATTR_NAMES,h as TRANSFORM_FN_NAMES,G as calcAnimationValues,b as camelCaseToKebabWordIfNeeded,ue as createAnimator,ae as createAnimatorImpl,ee as createBasicFrameLoopAnimator,te as createFrameLoopAnimator,re as createWebApiAnimator,se as generateNewIds,D as getAnimatorConfig,q as getBindings,V as getChildren,z as getDefs,k as getNormalizedProps,C as isPxElementFileFormat,U as isPxElementFileFormatDeep,ce as loadTagAnimators,X as normalizeDocument,x as renderNode,j as setupAnimationTriggers,f as toRGBA};
|
|
1
|
+
var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,s=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,l=(e,t)=>{for(var n in t||(t={}))o.call(t,n)&&s(e,n,t[n]);if(r)for(var n of r(t))i.call(t,n)&&s(e,n,t[n]);return e},a=(e,r)=>t(e,n(r)),u="data-px-animation-src",c="_px_animator",f="animate",d="text",p="textContent",h=new Set(["type","children",f,"animator","meta","defs","bindings",d,p]);function m(e){return!(!e||"object"!=typeof e||Array.isArray(e))&&("svg"===e.type||"svg"===e.tagName)}function v(e){return e&&"object"==typeof e&&!Array.isArray(e)}function y(e,t,n){return"string"==typeof e||(!(!Array.isArray(e)||4!==e.length||!e.every(e=>"number"==typeof e))||(n.push(t+": invalid easing, expected string or [number, number, number, number]"),!1))}function g(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;return void 0!==e.time&&"number"!=typeof e.time&&(n.push(t+".time: expected number, got "+typeof e.time),r=!1),void 0!==e.t&&"number"!=typeof e.t&&(n.push(t+".t: expected number, got "+typeof e.t),r=!1),void 0===e.easing||y(e.easing,t+".easing",n)||(r=!1),void 0===e.e||y(e.e,t+".e",n)||(r=!1),r}function b(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;return void 0!==e.keyframes&&(Array.isArray(e.keyframes)?e.keyframes.forEach((e,o)=>{g(e,t+".keyframes["+o+"]",n)||(r=!1)}):(n.push(t+".keyframes: expected array"),r=!1)),void 0!==e.kfs&&(Array.isArray(e.kfs)?e.kfs.forEach((e,o)=>{g(e,t+".kfs["+o+"]",n)||(r=!1)}):(n.push(t+".kfs: expected array"),r=!1)),r}function A(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;for(const o of Object.keys(e))b(e[o],t+"."+o,n)||(r=!1);return r}function w(e,t,n){if("string"==typeof e)return!0;if(Array.isArray(e)){let r=!0;return e.forEach((e,o)=>{"string"==typeof e||A(e,t+"["+o+"]",n)||(r=!1)}),r}return v(e)?A(e,t,n):(n.push(t+": expected string, array, or PxAnimationDefinition object"),!1)}function k(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;return void 0===e.mode||["auto","webapi","frames"].includes(e.mode)||(n.push(t+'.mode: invalid value "'+e.mode+"\", expected 'auto'|'webapi'|'frames'"),r=!1),void 0!==e.duration&&"number"!=typeof e.duration&&(n.push(t+".duration: expected number, got "+typeof e.duration),r=!1),void 0!==e.delay&&"number"!=typeof e.delay&&(n.push(t+".delay: expected number, got "+typeof e.delay),r=!1),void 0!==e.iterations&&"number"!=typeof e.iterations&&"infinite"!==e.iterations&&(n.push(t+".iterations: expected number or 'infinite', got "+typeof e.iterations),r=!1),void 0===e.fill||function(e,t,n){return"forwards"===e||"backwards"===e||"both"===e||"none"===e||(n.push(t+': invalid FillMode "'+e+"\", expected 'forwards'|'backwards'|'both'|'none'"),!1)}(e.fill,t+".fill",n)||(r=!1),void 0===e.direction||function(e,t,n){return"normal"===e||"reverse"===e||"alternate"===e||"alternate-reverse"===e||(n.push(t+': invalid PlaybackDirection "'+e+"\", expected 'normal'|'reverse'|'alternate'|'alternate-reverse'"),!1)}(e.direction,t+".direction",n)||(r=!1),void 0!==e.frameRate&&"number"!=typeof e.frameRate&&(n.push(t+".frameRate: expected number, got "+typeof e.frameRate),r=!1),void 0===e.trigger||function(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;const o=["load","mouseOver","click","scrollIntoView","programmatic"];if(o.includes(e.startOn)||(n.push(t+'.startOn: invalid value "'+e.startOn+'", expected '+o.join("|")),r=!1),void 0!==e.outAction){const o=["continue","pause","reset","reverse"];o.includes(e.outAction)||(n.push(t+'.outAction: invalid value "'+e.outAction+'", expected '+o.join("|")),r=!1)}return void 0!==e.scrollIntoViewThreshold&&"number"!=typeof e.scrollIntoViewThreshold&&(n.push(t+".scrollIntoViewThreshold: expected number, got "+typeof e.scrollIntoViewThreshold),r=!1),r}(e.trigger,t+".trigger",n)||(r=!1),r}function x(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;return"string"!=typeof e.type&&(n.push(t+".type: expected string, got "+typeof e.type),r=!1),void 0!==e.children&&(Array.isArray(e.children)?e.children.forEach((e,o)=>{x(e,t+".children["+o+"]",n)||(r=!1)}):(n.push(t+".children: expected array"),r=!1)),void 0===e.animate||w(e.animate,t+".animate",n)||(r=!1),r}function j(e,t,n){if(!x(e,t,n))return!1;let r=!0;return"svg"!==e.type&&(n.push(t+".type: expected 'svg', got '"+e.type+"'"),r=!1),void 0!==e.width&&"number"!=typeof e.width&&(n.push(t+".width: expected number, got "+typeof e.width),r=!1),void 0!==e.height&&"number"!=typeof e.height&&(n.push(t+".height: expected number, got "+typeof e.height),r=!1),void 0!==e.viewBox&&"string"!=typeof e.viewBox&&(n.push(t+".viewBox: expected string, got "+typeof e.viewBox),r=!1),void 0===e.animator||k(e.animator,t+".animator",n)||(r=!1),void 0===e.defs||function(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;if(void 0!==e.easings)if(v(e.easings))for(const o of Object.keys(e.easings))y(e.easings[o],t+".easings."+o,n)||(r=!1);else n.push(t+".easings: expected object"),r=!1;if(void 0!==e.animations)if(v(e.animations))for(const o of Object.keys(e.animations))A(e.animations[o],t+".animations."+o,n)||(r=!1);else n.push(t+".animations: expected object"),r=!1;return void 0===e.styles||v(e.styles)||(n.push(t+".styles: expected object"),r=!1),r}(e.defs,t+".defs",n)||(r=!1),void 0!==e.bindings&&(Array.isArray(e.bindings)?e.bindings.forEach((e,o)=>{(function(e,t,n){if(!v(e))return n.push(t+": expected object"),!1;let r=!0;return"string"!=typeof e.id&&(n.push(t+".id: expected string, got "+typeof e.id),r=!1),w(e.animate,t+".animate",n)||(r=!1),r})(e,t+".bindings["+o+"]",n)||(r=!1)}):(n.push(t+".bindings: expected array"),r=!1)),void 0===e.design||x(e.design,t+".design",n)||(r=!1),r}function S(e){const t=[];return{valid:j(e,"root",t),errors:t}}function C(e){var t,n;return(null==e?void 0:e.animator)||(null==(t=null==e?void 0:e.meta)?void 0:t.animator)||(null==e?void 0:e.animation)||(null==(n=null==e?void 0:e.meta)?void 0:n.animation)}function M(e){var t;if(e)return e.defs||(null==(t=e.meta)?void 0:t.defs)}function O(e){var t;if(e)return e.bindings||(null==(t=e.meta)?void 0:t.bindings)}function T(e){return null==e?void 0:e.children}function E(e,t,n){return e+(t-e)*n}function P(e,t,n){const r=[],o=Math.max(e.length,t.length);for(let i=0;i<o;i++)r[i]=E(e[i]||0,t[i]||0,n);return r}function R(e,t,n){return[E(e[0]||0,t[0]||0,n),E(e[1]||0,t[1]||0,n),E(e[2]||0,t[2]||0,n),E(void 0===e[3]?1:e[3],void 0===t[3]?1:t[3],n)]}function I(e,t,n){const r=Math.max(e.length,t.length),o=[];for(let i=0;i<r;i++)o.push(N(e[i],t[i],n));return o}function N(e,t,n){var r,o,i,s,l,a,u,c,f;if(!e||!t)return e||t||{v:[]};const d=Math.min(Math.max(n,0),1),p=Math.min(e.v.length,t.v.length),h=[],m=[],v=[];for(let n=0;n<p;n++){const f=e.v[n],p=t.v[n];h.push(P(f,p,d));const y=null!=(o=null==(r=e.i)?void 0:r[n])?o:f,g=null!=(s=null==(i=t.i)?void 0:i[n])?s:p;m.push(P(y,g,d));const b=null!=(a=null==(l=e.o)?void 0:l[n])?a:f,A=null!=(c=null==(u=t.o)?void 0:u[n])?c:p;v.push(P(b,A,d))}return{v:h,i:m.length?m:void 0,o:v.length?v:void 0,c:null!=(f=e.c)?f:t.c}}function F(e,t,n){if(n<=0)return 0;if(n>=1)return 1;const r=3*e,o=3*(t-e)-r,i=1-r-o;function s(e){return((i*e+o)*e+r)*e}function l(e){return(3*i*e+2*o)*e+r}let a=n,u=0,c=1;for(let e=0;e<8;e++){const e=s(a)-n;if(Math.abs(e)<1e-6)return a;const t=l(a);if(Math.abs(t)<1e-6)break;a-=e/t}for(a=n;u<c;){const e=s(a);if(Math.abs(e-n)<1e-6)return a;n>e?u=a:c=a,a=(c+u)/2}return a}function L(e){const[t,n,r,o]=e,i=3*n,s=3*(o-n)-i,l=1-i-s;return function(e){return n=F(t,r,e),((l*n+s)*n+i)*n;var n}}function D(e,t,n){return[e[0]+(t[0]-e[0])*n,e[1]+(t[1]-e[1])*n]}function U(e,t){if(!e)return{left:void 0,right:void 0};if(t<=0)return{left:void 0,right:e};if(t>=1)return{left:e,right:void 0};const[n,r,o,i]=e,s=F(n,o,t),l=[n,r],a=[o,i],{left:u,right:c}=function(e,t,n,r,o){const i=D(e,t,o),s=D(t,n,o),l=D(n,r,o),a=D(i,s,o),u=D(s,l,o),c=D(a,u,o);return{left:[e,i,a,c],right:[c,u,l,r]}}([0,0],l,a,[1,1],s),f=u[3][0],d=u[3][1];let p,h;f>1e-9&&Math.abs(d)>1e-9&&(p=[u[1][0]/f,u[1][1]/d,u[2][0]/f,u[2][1]/d]);const m=1-f,v=1-d;return m>1e-9&&Math.abs(v)>1e-9&&(h=[(c[1][0]-f)/m,(c[1][1]-d)/v,(c[2][0]-f)/m,(c[2][1]-d)/v]),{left:p,right:h}}function z(e){if(e)return[1-e[2],1-e[3],1-e[0],1-e[1]]}function q(e){const t=Math.round(255*e[0]),n=Math.round(255*e[1]),r=Math.round(255*e[2]);return 4===e.length?"rgba("+t+","+n+","+r+","+e[3]+")":"rgb("+t+","+n+","+r+")"}function W(e){if(e){if(Array.isArray(e))return e;if("string"==typeof e)return e.startsWith("#")?function(e){const t=e.slice(1),n=t.length<=4,r=n?t[0]+t[0]:t.slice(0,2),o=n?t[1]+t[1]:t.slice(2,4),i=n?t[2]+t[2]:t.slice(4,6),s=4===t.length?t[3]+t[3]:8===t.length?t.slice(6,8):null,l=[parseInt(r,16)/255,parseInt(o,16)/255,parseInt(i,16)/255];return null!==s&&l.push(parseInt(s,16)/255),l}(e):e.startsWith("rgb")?function(e){var t;const n=null==(t=e.match(/rgba?\((.*)\)/))?void 0:t[1];if(!n)throw new Error("Invalid rgb/rgba format");const r=n.split(",").map(e=>+e.trim());return[r[0]/255,r[1]/255,r[2]/255,...void 0!==r[3]?[r[3]]:[]]}(e):void console.warn("Unsupported color format: "+e)}}var B=new Set(["color","fill","flood-color","lighting-color","stop-color","stroke"]),V=new Set(["translate","rotate","scale","skew"]),_=new Set(["offset-distance","offsetDistance"]),Z=new Set(["offset-distance","offsetDistance"]);var K=new Set(["viewBox","preserveAspectRatio","gradientUnits","gradientTransform","spreadMethod","patternUnits","patternContentUnits","patternTransform","clipPathUnits","maskUnits","maskContentUnits","textLength","lengthAdjust","startOffset","filterUnits","primitiveUnits","stdDeviation","baseFrequency","numOctaves","surfaceScale","diffuseConstant","specularConstant","specularExponent","kernelMatrix","kernelUnitLength","edgeMode","preserveAlpha","targetX","targetY"]);function $(e){return K.has(e)?e:e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function G(e,t,n){return Math.max(t,Math.min(e,n))}var H=new Set(["svg","g","path","circle","ellipse","rect","line","polyline","polygon","text","tspan","defs","clipPath","mask","pattern","linearGradient","radialGradient","stop","use","symbol","marker","filter","feGaussianBlur","feOffset","feBlend","feColorMatrix","feMerge","feMergeNode"].map(e=>e.toLowerCase())),Q=["href","src","filter","clipPath","mask","markerStart","markerMid","markerEnd"],X=new Set(Q),Y=new Set(["href","src","fill","stroke","strokeWidth","opacity","transform","x","y","cx","cy","r","rx","ry","width","height","d","x1","y1","x2","y2","points","fontSize","fontFamily","textAnchor","id","class","viewBox","preserveAspectRatio","offset","stopColor","stopOpacity","gradientTransform","clipPath","mask","filter","stdDeviation","in","in2","result","mode",...Q]);function J(e,t){const n=e.toLowerCase();if(Y.has(n)){if("fill"===n||"stroke"===n||"stopColor"===n){const e=String(t);return e.includes("url(")&&!/^url\(#[^)]+\)$/.test(e)?void console.warn('Attribute "'+n+'" blocked: url() references must be internal url(#id), got:',t):t}if(X.has(n)){const e=String(t);return e.startsWith("#")||/^url\(#[^)]+\)$/.test(e)?t:void 0}return t}console.warn("Attribute not in whitelist: ",n)}function ee(e){const t={};for(const n of Object.keys(e)){if(h.has(n))continue;if("style"===n)continue;let r=e[n];B.has(n)&&Array.isArray(r)?t[n]=q(r):V.has(n)?(Array.isArray(r)&&("translate"===n&&(r=r.map(e=>e+"px")),r=r.join(",")),"rotate"===n&&(r+="deg"),t.transform=n+"("+r+")"):null!=r&&(t[n]=String(r))}return t}function te(e,t){if(!e)return null;const n=e,{type:s,children:l,animate:a,style:u}=n,c=((e,t)=>{var n={};for(var s in e)o.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&r)for(var s of r(e))t.indexOf(s)<0&&i.call(e,s)&&(n[s]=e[s]);return n})(n,["type","children","animate","style"]),f=e.defs||t,h=function(e,t){var n;if(e)return"string"==typeof e?null==(n=null==t?void 0:t.styles)?void 0:n[e]:e}(u,f);let m;if(l)for(const e of l){const t=te(e,f);t&&(m||(m=[]),m.push(t))}return function(e,t,n,r,o){if(!H.has(e.toLowerCase()))return null;const i=document.createElementNS("http://www.w3.org/2000/svg",e);for(const e in t)i.setAttribute($(e),J(e,t[e]));if(n)for(const e in n)i.style[e]=String(n[e]);if(r)for(const e of r)i.appendChild(e);return o&&(i.textContent=o),i}(s||"g",ee(c),h,m,c[d]||c[p])}function ne(e,t){const{startOn:n,outAction:r="continue",scrollIntoViewThreshold:o=.5}=t,i=e.getRootElement();if(!i)return console.warn("setupAnimationTriggers: No root element found for animation."),e;const s=()=>{e.play()},l=()=>{switch(r){case"pause":e.pause();break;case"reset":e.cancel();break;case"reverse":e.play()}};switch(n){case"load":{const e=()=>s();"complete"===document.readyState?e():window.addEventListener("load",e,{once:!0});break}case"mouseOver":{const e=()=>s(),t=()=>l();i.addEventListener("mouseenter",e),i.addEventListener("mouseleave",t);break}case"click":{const t=()=>{e.isPlaying()?l():s()};i.addEventListener("click",t);break}case"scrollIntoView":new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&e.intersectionRatio>=o?s():l()})},{threshold:o}).observe(i);break}return e}function re(e){const t=[];let n;const r=function(e){const t=e.split(/([MLCZmlcz]|[\s,]+)/).map(e=>e.trim()).filter(e=>e&&","!==e),n=[];let r=null;for(const e of t)if(/[MLCZmlcz]/.test(e))r={type:e,values:[]},n.push(r);else if(r){const t=+e;r.values.push(Number.isNaN(t)?0:t)}return n}(e);for(const e of r){const r=e.type,o=e.values;if("M"===r||"m"===r){const e=o[0]||0,r=o[1]||0;n={v:[[e,r]],i:[[e,r]],o:[[e,r]],c:!1},t.push(n);continue}if(n||(n={v:[[0,0]],i:[[0,0]],o:[[0,0]],c:!1},t.push(n)),"L"===r){const e=o[0]||0,t=o[1]||0;n.v.push([e,t]),n.i.push([e,t]),n.o.push([e,t])}else if("C"===r){const e=o[0]||0,t=o[1]||0,r=o[2]||0,i=o[3]||0,s=o[4]||0,l=o[5]||0;n.o[n.o.length-1]=[e,t],n.v.push([s,l]),n.i.push([r,i]),n.o.push([s,l])}else"Z"!==r&&"z"!==r||(n.c=!0)}return t}function oe(e){return e.startsWith("path(")&&e.endsWith(")")?e.slice(5,-1):/^[MmZzLlHhVvCcSsQqTtAa]/.test(e)?e:void 0}function ie(e){return"string"==typeof e&&void 0!==oe(e)}function se(e){if(e&&"object"==typeof e&&"paths"in e){const t=e.paths;if(Array.isArray(t)&&t.length>0&&ie(t[0])){const e=[];for(const n of t){const t=oe(n);t&&e.push(...re(t))}return{paths:e}}return e}if(Array.isArray(e)){if(e.length>0&&ie(e[0])){const t=[];for(const n of e){const e=oe(n);e&&t.push(...re(e))}return{paths:t}}return{paths:e}}if(ie(e)){return{paths:re(oe(e))}}return e}function le(e,t){var n;if(e)return Array.isArray(e)?e:(null==(n=null==t?void 0:t.easings)?void 0:n[e])?t.easings[e]:void console.warn("Unknown easing name: "+e)}function ae(e,t){var n;if("string"==typeof e){const r=null==(n=null==t?void 0:t.animations)?void 0:n[e];return r||console.warn("Unknown animation name: "+e),r}return e}function ue(e,t,n,r){var o,i;if("d"===e){return{paths:I(null!=(o=null==t?void 0:t.paths)?o:Array.isArray(t)?t:[],null!=(i=null==n?void 0:n.paths)?i:Array.isArray(n)?n:[],r)}}return B.has(e)?R(t||[0,0,0,1],n||[0,0,0,1],r):V.has(e)||"stroke-dasharray"===e||"strokeDasharray"===e?P(t||[],n||[],r):E(+(t||0),+(n||0),r)}function ce(e,t,n,r){var o,i,s,l,a;const u=t.keyframes||t.kfs||[],c=[];for(const t of u){const n=null!=(i=null!=(o=t.time)?o:t.t)?i:0;let u=null!=(s=t.value)?s:t.v;const f=null!=(l=t.easing)?l:t.e;"d"===e&&(u=se(u)),B.has(e)&&(u=null!=(a=W(u))?a:u),c.push({t:n,v:u,e:le(f,r)})}c.sort((e,t)=>{var n,r;return(null!=(n=e.t)?n:0)-(null!=(r=t.t)?r:0)});const f=t.loop,d=!0===f?{}:f||void 0;return d&&c.length>=2?function(e,t,n,r){var o,i,s,l,a;const u=t.length-1,c=G(null!=(o=n.segmentCount)?o:u,1,u);let f;f=n.before?t.slice(0,c+1):t.slice(u-c);const d=null!=(i=t[0].t)?i:0,p=null!=(s=t[t.length-1].t)?s:0;let h,m;n.before?(h=0,m=d):(h=p,m=r);const v=m-h;if(v<=0)return t;const y=null!=(l=f[0].t)?l:0,g=(null!=(a=f[f.length-1].t)?a:0)-y;if(g<=0)return t;const b=f.map(e=>({relT:(e.t-y)/g,v:e.v,e:e.e})),A=Math.floor(v/g),w=(v-A*g)/g,k=[];function x(t,n,r){let o;if(n){o=[];for(let e=b.length-1;e>=0;e--)o.push({relT:1-b[e].relT,v:b[e].v,e:e>0?z(b[e-1].e):void 0})}else o=b;const i=void 0!==r?r:1;for(let n=0;n<o.length;n++){const r=o[n];if(r.relT>i+1e-9){const s=o[n-1],l=r.relT-s.relT,a=(i-s.relT)/l,u=s.e?L(s.e)(a):a,c=ue(e,s.v,r.v,u),{left:f}=U(s.e,a);return k.length>0&&s.relT<=i&&(k[k.length-1].e=f),void k.push({t:t+i*g,v:c,e:void 0})}k.push({t:t+r.relT*g,v:r.v,e:n<o.length-1?r.e:void 0})}}for(let e=0;e<A;e++){const t=n.before?A-1-e:e,r=!!n.alternate&&t%2==0;x(h+e*g,r)}if(w>1e-9){const e=!!n.alternate&&A%2==0;x(h+A*g,e,w)}return n.before?[...k,...t]:[...t,...k]}(e,c,d,n):c}var fe=0;function de(e){const t=C(e)||{},n=M(e),r=t.duration||1e3,o=[],i=(e,t)=>{if(!t)return null;const o=function(e,t){if(!e)return[];const n=[];if("string"==typeof e){const r=ae(e,t);r&&n.push(r)}else if(Array.isArray(e))for(const r of e){const e=ae(r,t);e&&n.push(e)}else n.push(e);return n}(t,n);if(0===o.length)return null;const i=function(e,t,n){const r={};for(const[o,i]of Object.entries(e)){const e=ce(o,i,t,n);e.length>0&&(r[o]={kfs:e})}return r}(function(e){const t={};for(const n of e)for(const[e,r]of Object.entries(n))t[e]=r;return t}(o),r,n);return 0===Object.keys(i).length?null:{id:e,animate:i}},s=O(e);if(s)for(const e of s){const t=i(e.id,e.animate);t&&o.push(t)}const l=e=>{if(e.animate){const t=e.id||"_px_el_"+ ++fe;e.id=t;const n=i(t,e.animate);n&&o.push(n)}if(e.children)for(let t=0;t<e.children.length;t++)l(e.children[t])};if(e.children)for(let t=0;t<e.children.length;t++)l(e.children[t]);return o}function pe(e,t,n){var r,o,i,s,l,a,u;const c=t.kfs||t.keyframes||[];if(0===c.length)return null;const{prevKf:f,nextKf:d}=function(e,t){var n,r;let o=e[0],i=e[e.length-1];for(let s=0;s<e.length-1;s++){const l=null!=(n=e[s].t)?n:0,a=null!=(r=e[s+1].t)?r:0;if(l<=t&&t<=a){o=e[s],i=e[s+1];break}}return{prevKf:o,nextKf:i}}(c,n);let p=f===d?0:(h=n,m=null!=(r=f.t)?r:0,v=null!=(o=d.t)?o:0,y=0,g=1,v===m?y:y+(h-m)/(v-m)*(g-y));var h,m,v,y,g;p=G(p,0,1);const b=null!=(i=f.e)?i:f.easing;if(b&&Array.isArray(b))try{p=L(b)(p)}catch(e){}let A=!(w=e).includes("-")&&/[a-z][A-Z]/.test(w)?$(e):e;var w;let k=null;const x=null!=(s=null==f?void 0:f.v)?s:null==f?void 0:f.value,j=null!=(l=null==d?void 0:d.v)?l:null==d?void 0:d.value;if("d"===A){k=I(null!=(a=null==x?void 0:x.paths)?a:Array.isArray(x)?x:[],null!=(u=null==j?void 0:j.paths)?u:Array.isArray(j)?j:[],p).map(e=>function(e){var t,n,r,o;const i=e.v,s=e.i,l=e.o,a=e.c;if(!i.length)return"";const u=[],c=i.length;u.push("M"+i[0][0]+","+i[0][1]);for(let e=1;e<c;e++){const r=i[e-1],o=null!=(t=null==l?void 0:l[e-1])?t:r,a=null!=(n=null==s?void 0:s[e])?n:i[e],c=i[e];o[0]===r[0]&&o[1]===r[1]&&a[0]===c[0]&&a[1]===c[1]?u.push("L"+c[0]+","+c[1]):u.push("C"+o[0]+","+o[1]+","+a[0]+","+a[1]+","+c[0]+","+c[1])}if(a&&c>0){const e=i[c-1],t=null!=(r=null==l?void 0:l[c-1])?r:e,n=null!=(o=null==s?void 0:s[0])?o:i[0],a=i[0];t[0]===e[0]&&t[1]===e[1]&&n[0]===a[0]&&n[1]===a[1]||u.push("C"+t[0]+","+t[1]+","+n[0]+","+n[1]+","+a[0]+","+a[1]),u.push("z")}return u.join("")}(e)).join("")}else if(B.has(A))k=q(R(x||[0,0,0,1],j||[0,0,0,1],p)),A=e;else if("stroke-dasharray"===A)k=P(x||[],j||[],p).join(" "),A=e;else if("translate"===A){k="translate("+P(x||[0,0],j||[0,0],p).join(",")+")",A="transform"}else if("rotate"===A){k="rotate("+E(+(x||0),+(j||0),p)+")",A="transform"}else if("scale"===A){k="scale("+P(x||[1,1],j||[1,1],p).join(",")+")",A="transform"}else{k=E(+(x||0),+(j||0),p)}return _.has(A)&&"number"==typeof k&&(k=100*k+"%"),{k:A,v:null===k?"":""+k}}function he(e,t){const n={};for(const[r,o]of Object.entries(e)){const e=pe(r,o,t);e&&(n[e.k]=e.v)}return n}function me(e){return"#"+e}function ve(e,t,n){const r=C(e)||{},o=de(e),i=r.iterations;let s=1;"number"==typeof i&&(s=i||1),"infinite"===i&&(s=1/0),s<1&&(s=1);const l=+(r.duration||1e3),a=l&&s?l*(s===1/0?1/0:s):l?(null!=s?s:1)*l:0,u=r.direction||"normal";let c=null,f=!1,d=r.delay||0,p=0,h=1,m=!1;const v=r.frameRate,y=v&&v>0?1e3/v:0;let g=0;const b=()=>{const e=p?(Date.now()-p)*h:0;let t=d+e;return Number.isFinite(a)&&t>a&&(t=a),t<0&&(t=0),t};function A(e){let n=function(){const t=l>0?l:1;let n=0,r=0;if(l>0){e=G(e,0,s*t),r=Math.max(0,Math.ceil(e/t)-1),r=Math.min(r,s-1);n=G((e-r*t)/t,0,1)}else n=e;const o=u||"normal";let i=n;return"reverse"===o?i=1-n:"alternate"===o?r%2==1&&(i=1-n):"alternate-reverse"===o&&r%2==0&&(i=1-n),i}();for(const e of o||[]){const r=e.animate;if(!r||"object"!=typeof r||Array.isArray(r)){console.warn("Empty or unresolved binding",e);continue}const o=he(r,n*l);for(const[n,r]of Object.entries(o))t.setAttribute(e.id,n,r)}}r.delay&&A(b());const w=()=>!!f&&(!!t.isConnected()&&!(Number.isFinite(a)&&b()>=a)),k=e=>{null!==c&&(cancelAnimationFrame(c),c=null),(e||w())&&(c=requestAnimationFrame(()=>{c=null,(()=>{var e;if(!t.isConnected())return void x();const r=b();if(y>0){const e=Date.now();if(g&&e-g<y)return;g=e}if(a&&Number.isFinite(a)&&r>=a)return A(a),m||(m=!0,null==(e=null==n?void 0:n.onFinish)||e.call(n)),void x();A(r)})(),k()}))},x=()=>{f&&(d=b(),p=0,f=!1,null!==c&&(cancelAnimationFrame(c),c=null),A(d))},j={isReady:()=>!0,getRootElement:()=>null,isPlaying:()=>w(),play:()=>{var e;f||(f=!0,p=Date.now(),k(!0)),null==(e=null==n?void 0:n.onPlay)||e.call(n)},pause:()=>{var e;x(),null==(e=null==n?void 0:n.onPause)||e.call(n)},cancel:()=>{var e;x(),d=0,p=0,f=!1,m=!1,A(d),null==(e=null==n?void 0:n.onCancel)||e.call(n)},finish:()=>{((e=!0)=>{var t;d=Number.isFinite(a)?a:b(),p=0,f=!1,A(d),e&&!m&&(m=!0,null==(t=null==n?void 0:n.onFinish)||t.call(n))})(!0)},setPlaybackRate:e=>{if(!isFinite(e)||0===e)return void console.warn("setPlaybackRate: rate must be finite and non-zero");const t=b();h=e,d=t,f&&(p=Date.now())},getCurrentTime:()=>b(),setCurrentTime:e=>{e<0&&(e=0),Number.isFinite(a)&&e>a&&(e=a),d=e,f&&(p=Date.now()),A(b())},destroy:()=>{j.cancel()}};return j}function ye(e,t,n,r){const o=C(e)||{};if(!r)if(e.id){const t=me(e.id);(r=document.querySelector(t))||console.warn("createFrameLoopAnimator: No root element found for selector: ",t)}else console.warn("createFrameLoopAnimator: No root element provided");let i=ve(e,t||function(e){const t=new Set,n={isConnected:()=>!e||e.isConnected,setAttribute:(n,r,o)=>{r=$(r);const i=me(n),s=(null==e?void 0:e.querySelectorAll(i))||document.querySelectorAll(i);0!==s.length||t.has(i)||(t.add(i),console.warn('setAttribute: No elements found for selector "'+i+'"'));for(let e=0;e<s.length;e++){const t=s[e];t.setAttribute(r,o),Z.has(r)&&(t.style[r]=o)}}};return n}(r),n);return i=a(l({},i),{getRootElement:()=>r||null}),o.trigger&&ne(i,o.trigger),i}function ge(e,t,n,r){var o,i;let s=null!=(o=e.v)?o:e.value;const l=null!=(i=e.e)?i:e.easing,a={offset:t,easing:l&&Array.isArray(l)?"cubic-bezier("+l.join(",")+")":void 0};let u,c=n;var f;return B.has(n)&&Array.isArray(s)?u=q(s):V.has(n)?(Array.isArray(s)&&("translate"===n&&(s=s.map(e=>e+"px")),s=s.join(",")),"rotate"===n&&(s+="deg"),u=n+"("+s+")",c="transform"):u=""+s,CSS.supports(c,u)||r.add(c),c=(f=c).includes("-")?f.replace(/-([a-z])/g,(e,t)=>t.toUpperCase()):f,a[c]=u,a}function be(e,t,n){var r,o;const i=new Map;for(const[s,u]of Object.entries(e)){const e=u.kfs||u.keyframes||[],c=[];for(let i=0;i<e.length;i++){const u=e[i];let f=null!=(o=null!=(r=u.t)?r:u.time)?o:0;f=G(f/(n.duration||1),0,1);const d=ge(u,f,s,t);0===i&&(d.offset||0)>0&&c.push(a(l({},d),{offset:0})),c.push(d),i===e.length-1&&(d.offset||0)<1&&c.push(a(l({},d),{offset:1}))}c.length>0&&i.set(s,c)}return i}function Ae(e,t,n,r){const o=C(e)||{},i=de(e);if(!n)if(e.id){const t=me(e.id);(n=document.querySelector(t))||console.warn("createFrameLoopAnimator: No root element found for selector: ",t)}else console.warn("createFrameLoopAnimator: No root element provided");const s=[],l=o.iterations;let a;"number"==typeof l&&(a=l),"infinite"===l&&(a=1/0);const u=new Set;(null==i?void 0:i.length)||console.warn("createWebApiAnimator: No animation bindings defined");for(const e of i||[]){const r=e.animate;if(!r||"object"!=typeof r||Array.isArray(r)){console.warn("createWebApiAnimator: Empty or unresolved binding",e);continue}const i=me(e.id),l=(null==n?void 0:n.querySelectorAll(i))||document.querySelectorAll(i);0===l.length&&console.warn('createWebApiAnimator: No elements found for selector "'+i+'"');const c=be(r,u,o),f=o.delay&&o.delay>0?o.delay:void 0,d=o.delay&&o.delay<0&&o.duration?-o.delay%o.duration:void 0,p={duration:o.duration,delay:f,fill:o.fill,direction:o.direction,iterations:a};for(let e=0;e<l.length;e++){const n=l[e];for(const[,e]of c)if(e.length>0)try{const r=new KeyframeEffect(n,e,p),o=new Animation(r,document.timeline);(null==t?void 0:t.onFinish)&&(o.onfinish=()=>{var e;return null==(e=t.onFinish)?void 0:e.call(t)}),(null==t?void 0:t.onRemove)&&(o.onremove=()=>{var e;return null==(e=t.onRemove)?void 0:e.call(t)}),d&&(o.currentTime=d),s.push(o)}catch(e){console.warn(e)}}}if(!r&&u.size)return console.warn("Unsupported CSS attrs: "+[...u].join(", ")),null;const c={isReady:()=>!0,getRootElement:()=>n||null,isPlaying:()=>{var e;return"running"===(null==(e=s[0])?void 0:e.playState)},play:()=>{var e;s.forEach(e=>e.play()),null==(e=null==t?void 0:t.onPlay)||e.call(t)},pause:()=>{var e;s.forEach(e=>e.pause()),null==(e=null==t?void 0:t.onPause)||e.call(t)},cancel:()=>{var e;s.forEach(e=>e.cancel()),null==(e=null==t?void 0:t.onCancel)||e.call(t)},finish:()=>{var e;for(const t of s)try{(null==(e=t.effect)?void 0:e.getTiming().iterations)===1/0?(t.effect.updateTiming({iterations:1}),t.finish(),t.effect.updateTiming({iterations:1/0})):t.finish()}catch(e){t.cancel()}},setPlaybackRate:e=>(s.forEach(t=>t.playbackRate=e),c),getCurrentTime:()=>{var e,t;const n=null!=(t=null==(e=s[0])?void 0:e.currentTime)?t:null;return null!==n?+n:null},setCurrentTime:e=>{s.forEach(t=>{t.currentTime=e})},destroy:()=>{c.cancel(),s.splice(0,s.length)}};return o.trigger&&ne(c,o.trigger),c}var we=0;function ke(e){if(null===e||"object"!=typeof e)return e;if(Array.isArray(e))return e.map(e=>ke(e));const t=e,n={};for(const e of Object.keys(t))n[e]=ke(t[e]);return n}function xe(e){const t=ke(e),n=new Map,r=new Set(["href","xlink:href"]),o=new Set(["fill","stroke","clip-path","clipPath","mask","marker","marker-start","marker-mid","marker-end","filter","flood-color","lighting-color"]),i=new Set(["baseId","targetId","boundElementId"]);!function e(t){if(t&&"object"==typeof t){if(t.id&&"string"==typeof t.id){const e=t.id,r="_px_"+Date.now().toString(36)+(++we).toString(36)+Math.random().toString(36).substring(2,6);n.set(e,r),t.id=r}if(Array.isArray(t.children))for(const n of t.children)e(n)}}(t),function e(t){if(t&&"object"==typeof t)for(const[s,l]of Object.entries(t))if("children"!==s)if("string"==typeof l)if(r.has(s)&&l.startsWith("#")){const e=l.slice(1),r=n.get(e);r&&(t[s]="#"+r)}else if(o.has(s))t[s]=je(l,n);else if(i.has(s)){const e=n.get(l);e&&(t[s]=e)}else l.includes("url(#")&&(t[s]=je(l,n));else if("style"===s&&"object"==typeof l&&null!==l)for(const[e,t]of Object.entries(l))"string"==typeof t&&(l[e]=je(t,n));else"object"==typeof l&&null!==l&&s!==f&&e(l);else if(Array.isArray(l))for(const t of l)e(t)}(t);const s=t.bindings;if(Array.isArray(s))for(const e of s)if(e.id){const t=n.get(e.id);t&&(e.id=t)}return t}function je(e,t){return e.replace(/url\(#([^)]+)\)/g,(e,n)=>{const r=t.get(n);return r?"url(#"+r+")":e})}function Se(e,t,n,r){(C(e)||{}).debug=!0;let o=null;if(r&&e.children){e=xe(e);const t="string"==typeof r?document.querySelector(r):r;t&&(o=te(e),o&&t.replaceChildren(o))}return function(e,t,n,r){const o=C(e)||{};let i;return i="frames"===o.mode?ye(e,t,n,r):Ae(e,n,r,"webapi"===o.mode)||ye(e,t,n,r),o.debugInstName&&(window[o.debugInstName]=i),i}(e,t,n,o)}function Ce(e,t,n,r){if("object"==typeof e)return Se(e,t,n,r);let o=null;return fetch(e).then(e=>e.json()).then(e=>{m(e)?o=Se(e,t,n,r):console.error("Invalid animation document format")}),{isReady:()=>!!o,getRootElement:()=>o?o.getRootElement():null,isPlaying:()=>(null==o?void 0:o.isPlaying())||!1,play:()=>{null==o||o.play()},pause:()=>{null==o||o.pause()},cancel:()=>{null==o||o.cancel()},finish:()=>{null==o||o.finish()},setPlaybackRate:e=>{null==o||o.setPlaybackRate(e)},getCurrentTime:()=>(null==o?void 0:o.getCurrentTime())||0,setCurrentTime:e=>{null==o||o.setCurrentTime(e)},destroy:()=>{null==o||o.destroy()}}}function Me(){const e=document.querySelectorAll("["+u+"]");for(let t=0;t<e.length;t++){const n=e[t];if(!n[c]){const e=n.getAttribute(u);e&&(n[c]=Ce(e,void 0,void 0,n))}}}"undefined"!=typeof window&&(window.loadTagAnimators=Me,window.createAnimator=Ce,window.setupAnimationTriggers=ne);export{B as COLOUR_ATTR_NAMES,c as PX_ANIM_ATTR_NAME,u as PX_ANIM_SRC_ATTR_NAME,Z as STYLE_ATTR_NAMES,V as TRANSFORM_FN_NAMES,he as calcAnimationValues,$ as camelCaseToKebabWordIfNeeded,Ce as createAnimator,Se as createAnimatorImpl,ve as createBasicFrameLoopAnimator,ye as createFrameLoopAnimator,Ae as createWebApiAnimator,xe as generateNewIds,C as getAnimatorConfig,O as getBindings,T as getChildren,M as getDefs,ee as getNormalizedProps,m as isPxElementFileFormat,S as isPxElementFileFormatDeep,Me as loadTagAnimators,de as normalizeDocument,te as renderNode,ne as setupAnimationTriggers,q as toRGBA};
|