@pixodesk/svg-animator-web 1.0.45 → 1.0.47
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/dist/chunk-2AFALI5O.min.js +1 -0
- package/dist/{chunk-QE7KJWAN.js → chunk-ZBGGXE5W.js} +143 -83
- package/dist/chunk-ZBGGXE5W.js.map +1 -0
- package/dist/index.cjs +144 -85
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/dist/index.min.cjs +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.prerendered-waapi.umd.js +107 -72
- package/dist/index.prerendered-waapi.umd.js.map +1 -1
- package/dist/index.prerendered-waapi.umd.min.js +1 -1
- package/dist/index.prerendered.umd.js +111 -77
- package/dist/index.prerendered.umd.js.map +1 -1
- package/dist/index.prerendered.umd.min.js +1 -1
- package/dist/internal.cjs +104 -69
- package/dist/internal.cjs.map +1 -1
- package/dist/internal.js +1 -1
- package/dist/internal.min.cjs +1 -1
- package/dist/internal.min.js +1 -1
- package/dist/pixodesk-svg-animator.umd.js +143 -84
- package/dist/pixodesk-svg-animator.umd.js.map +1 -1
- package/dist/pixodesk-svg-animator.umd.min.js +1 -1
- package/mangle-reserved.json +2 -0
- package/package.json +2 -2
- package/dist/chunk-QE7KJWAN.js.map +0 -1
- package/dist/chunk-RQ5KZXDT.min.js +0 -1
package/dist/internal.js
CHANGED
package/dist/internal.min.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var t,e=Object.defineProperty,i=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={};((t,i)=>{for(var n in i)e(t,n,{get:i[n],enumerable:!0})})(s,{PLAY_WHEN_VISIBLE_DEFAULTS:()=>Ft,PX_ANIMATOR_DOC_KEY:()=>r,createVisibilityGate:()=>Wt}),module.exports=(t=s,((t,s,r,a)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let r of n(s))o.call(t,r)||void 0===r||e(t,r,{get:()=>s[r],enumerable:!(a=i(s,r))||a.enumerable});return t})(e({},"__esModule",{value:!0}),t));var r="doc",a=Object.defineProperty,l=Object.defineProperties,p=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,d=(t,e,i)=>e in t?a(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,f=(t,e)=>{for(var i in e||(e={}))c.call(e,i)&&d(t,i,e[i]);if(u)for(var i of u(e))h.call(e,i)&&d(t,i,e[i]);return t},y=(t,e)=>l(t,p(e));function m(t){if(!t.length)return".";let e="";for(const i of t)i.startsWith("[")?e+=i:e+=(e?".":"")+i;return e}var g=class{_canSanitize(t){return this.isValid(t)}optional(){return new _(this)}},_=class extends g{constructor(t){super(),this.inner=t,this._default=void 0}sanitize(t){if(null!=t)return this.inner._canSanitize(t)?this.inner.sanitize(t):void 0}isValid(t,e,i){return null==t||this.inner.isValid(t,e,i)}_canSanitize(t){return null==t||this.inner._canSanitize(t)}},v=class extends g{constructor(t=""){super(),this._default=t}sanitize(t){return"string"==typeof t?t:this._default}isValid(t,e,i){return"string"==typeof t||(null==e||e.errors.push(m(null!=i?i:[])+": expected string, got "+typeof t),!1)}},b=class extends g{constructor(t=0){super(),this._default=t}sanitize(t){return"number"==typeof t&&isFinite(t)?t:this._default}isValid(t,e,i){return!("number"!=typeof t||!isFinite(t))||(null==e||e.errors.push(m(null!=i?i:[])+": expected finite number, got "+JSON.stringify(t)),!1)}},A=class extends g{constructor(t=!1){super(),this._default=t}sanitize(t){return"boolean"==typeof t?t:this._default}isValid(t,e,i){return"boolean"==typeof t||(null==e||e.errors.push(m(null!=i?i:[])+": expected boolean, got "+typeof t),!1)}},x=class extends g{constructor(t){super(),this.value=t,this._default=t}sanitize(t){return t===this.value?this.value:this._default}isValid(t,e,i){return t===this.value||(null==e||e.errors.push(m(null!=i?i:[])+": expected "+JSON.stringify(this.value)+", got "+JSON.stringify(t)),!1)}},S=class extends g{constructor(t,e){super(),this.values=t,this._default=null!=e?e:t[0]}sanitize(t){return this.values.includes(t)?t:this._default}isValid(t,e,i){return!!this.values.includes(t)||(null==e||e.errors.push(m(null!=i?i:[])+": expected one of "+this.values.map(t=>JSON.stringify(t)).join(" | ")+", got "+JSON.stringify(t)),!1)}},O=class extends g{constructor(t,e){super(),this.schemas=t,this._kind="union",this._default=null!=e?e:t[0]._default}sanitize(t){for(const e of this.schemas)if(e.isValid(t))return e.sanitize(t);return this._default}isValid(t,e,i){var n;const o=e&&{errors:[],warnings:[],strict:e.strict};if(this.schemas.some(e=>e.isValid(t,o,i?[...i]:void 0)))return!0;if(!e)return!1;const s=m(null!=i?i:[]);let r;e.errors.push(s+": no union member matched for value "+(null!=(n=JSON.stringify(t))?n:"").slice(0,240));let a=-1;const l=[];for(const n of this.schemas){const o={errors:[],warnings:[],strict:e.strict};if(n.isValid(t,o,i?[...i]:void 0),!o.errors.length)continue;const p=Math.max(...o.errors.map(t=>t.slice(0,t.indexOf(":")).length));if((p>a||p===a&&r&&o.errors.length<r.length)&&(a=p,r=o.errors),p<=s.length)for(const t of o.errors){const e=/: expected (.+?), got /.exec(t);e&&!l.includes(e[1])&&l.push(e[1])}}if(r&&a>s.length)for(const t of r.slice(0,4))e.errors.includes(t)||e.errors.push(t);else l.length&&e.errors.push(s+": expected "+l.join(" | "));return!1}_canSanitize(t){return this.schemas.some(e=>e._canSanitize(t))}},j=class extends g{constructor(t){super(),this._shape=t;const e={};for(const i of Object.keys(t))e[i]=t[i]._default;this._default=e}sanitize(t){const e=t&&"object"==typeof t&&!Array.isArray(t)?t:{},i={};for(const t of Object.keys(this._shape)){const n=this._shape[t].sanitize(e[t]);void 0!==n&&(i[t]=n)}return i}isValid(t,e,i){if(!t||"object"!=typeof t||Array.isArray(t))return null==e||e.errors.push(m(null!=i?i:[])+": expected object, got "+(Array.isArray(t)?"array":typeof t)),!1;const n=t,o=null!=i?i:[];let s=!0;for(const t of Object.keys(this._shape))o.push(t),this._shape[t].isValid(n[t],e,o)||(s=!1),o.pop();if(null==e?void 0:e.strict)for(const t of Object.keys(n))t in this._shape||void 0!==n[t]&&(o.push(t),e.errors.push(m(o)+": unexpected extra key"),o.pop(),s=!1);return s}_canSanitize(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}},w=class extends g{constructor(t,e){super(),this._shape=t,this._openSchema=e;const i={};for(const e of Object.keys(t))i[e]=t[e]._default;this._default=i}sanitize(t){const e=t&&"object"==typeof t&&!Array.isArray(t)?t:{},i=f({},e);for(const t of Object.keys(this._shape)){const n=this._shape[t].sanitize(e[t]);void 0!==n&&(i[t]=n)}if(this._openSchema)for(const t of Object.keys(e))t in this._shape||(i[t]=this._openSchema.sanitize(e[t]));return i}isValid(t,e,i){if(!t||"object"!=typeof t||Array.isArray(t))return null==e||e.errors.push(m(null!=i?i:[])+": expected object, got "+(Array.isArray(t)?"array":typeof t)),!1;const n=t,o=null!=i?i:[];let s=!0;for(const t of Object.keys(this._shape))o.push(t),this._shape[t].isValid(n[t],e,o)||(s=!1),o.pop();if(this._openSchema)for(const t of Object.keys(n))t in this._shape||(o.push(t),this._openSchema.isValid(n[t],e,o)||(s=!1),o.pop());return s}_canSanitize(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}},z=class extends g{constructor(t){super(),this.item=t,this._default=[]}sanitize(t){if(!Array.isArray(t))return[];const e=[];for(const i of t)this.item._canSanitize(i)&&e.push(this.item.sanitize(i));return e}isValid(t,e,i){if(!Array.isArray(t))return null==e||e.errors.push(m(null!=i?i:[])+": expected array, got "+typeof t),!1;const n=null!=i?i:[];let o=!0;for(let i=0;i<t.length;i++)n.push("["+i+"]"),this.item.isValid(t[i],e,n)||(o=!1),n.pop();return o}_canSanitize(t){return Array.isArray(t)}},k=class extends g{constructor(t){super(),this.value=t,this._kind="record",this._default={}}sanitize(t){if(!t||"object"!=typeof t||Array.isArray(t))return{};const e={};for(const[i,n]of Object.entries(t))this.value._canSanitize(n)&&(e[i]=this.value.sanitize(n));return e}isValid(t,e,i){if(!t||"object"!=typeof t||Array.isArray(t))return null==e||e.errors.push(m(null!=i?i:[])+": expected object/record, got "+(Array.isArray(t)?"array":typeof t)),!1;const n=null!=i?i:[];let o=!0;for(const[i,s]of Object.entries(t))n.push(i),this.value.isValid(s,e,n)||(o=!1),n.pop();return o}_canSanitize(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}},V=class extends g{constructor(t,e){super(),this.fn=t,this._default=e,this.resolved=null}get schema(){var t;return null!=(t=this.resolved)?t:this.resolved=this.fn()}sanitize(t){return this.schema.sanitize(t)}isValid(t,e,i){return this.schema.isValid(t,e,i)}_canSanitize(t){return this.schema._canSanitize(t)}},P=class extends g{constructor(t){super(),this.schemas=t,this._kind="tuple",this._default=t.map(t=>t._default)}sanitize(t){return Array.isArray(t)&&t.length===this.schemas.length?this.schemas.map((e,i)=>e.sanitize(t[i])):this._default}isValid(t,e,i){if(!Array.isArray(t)||t.length!==this.schemas.length)return null==e||e.errors.push(m(null!=i?i:[])+": expected tuple of length "+this.schemas.length+", got "+(Array.isArray(t)?"array["+t.length+"]":typeof t)),!1;const n=null!=i?i:[];let o=!0;for(let i=0;i<this.schemas.length;i++)n.push("["+i+"]"),this.schemas[i].isValid(t[i],e,n)||(o=!1),n.pop();return o}_canSanitize(t){return Array.isArray(t)&&t.length===this.schemas.length}},N=(t="")=>new v(t),D=(t=0)=>new b(t),M=(t=!1)=>new A(t),T=t=>new x(t),E=(t,e)=>new S(t,e),I=(t,e)=>new O(t,e),B=t=>new j(t),J=(t,e)=>new w(t,e),R=t=>new z(t),C=t=>new k(t),G=t=>new P(t),L=(t,e)=>new V(t,e),U=/^(\d+)\.(\d+)(?:\.(\d+))?$/;!function(){const t=U.exec("1.2".trim());t&&(Number(t[1]),Number(t[2]),void 0===t[3]||Number(t[3]))}();var F,q={pause:"pause",continue:"continue",reset:"reset"},H="block",W="inline",Y="nearest",K="root",X="center",$="bottom",Q=y(f({},{native:"native",js:"js"}),{auto:"auto"}),Z="pause",tt="userSpaceOnUse",et="objectBoundingBox",it=I([N(),G([D(),D(),D(),D()])]),nt=I([N(),D(),R(D()),B({pathData:N()}),L(()=>R(Tt),[]),L(()=>at,{})]),ot=B({time:D().optional(),value:nt.optional(),easing:it.optional(),tangentOut:G([D(),D()]).optional(),tangentIn:G([D(),D()]).optional()}),st=B({segmentCount:D().optional(),repeatAt:E(["start","end"]).optional(),direction:E(["normal","alternate"]).optional()}),rt=B({value:nt.optional(),keyframes:R(ot).optional(),loop:I([st,M()]).optional(),autoOrient:M().optional(),alongPathMode:E(["sampled","offsetPath"]).optional()}),at=B({translate:G([D(),D()]).optional(),rotate:D().optional(),skew:D().optional(),scale:G([D(),D()]).optional(),origin:G([D(),D()]).optional()}),lt=(I([N(),at,B({value:at}),rt]),C(rt)),pt=I([N(),R(I([N(),lt])),lt]),ut=B({start:E(["load","mouseOver","click","none"],"load").optional(),offScreen:E([q.pause,q.continue,q.reset],Z).optional(),mouseOut:E(["continue","pause","reset","reverse"],"continue").optional(),finish:E(["hold","reset"]).optional(),visibilityThreshold:D().optional(),visibilityDebounce:D().optional()}),ct=B({width:D(),pathData:N()}),ht=B({fontFamily:N(),fontStyle:N(),ascent:D(),unitsPerEm:D(),glyphs:C(ct)}),dt=B({easings:C(G([D(),D(),D(),D()])).optional(),animations:C(lt).optional(),fonts:C(ht).optional()}),ft=B({phase:E(["cover","contain","entry","exit","entry-crossing","exit-crossing"]).optional(),fraction:D().optional()}),yt=B({start:ft.optional(),end:ft.optional()}),mt=(B({kind:E(["view","scroll"]).optional(),axis:E([H,W,"x","y"]).optional(),source:E([Y,K]).optional(),subject:N().optional(),smoothing:D().optional(),pin:M().optional(),pinAlign:E(["top",X,$]).optional(),pinOffset:D().optional(),pinDistance:D().optional(),range:yt.optional()}),B({align:E(["top",X,$]).optional(),offset:D().optional(),distance:D().optional()})),gt=E([Q.auto,Q.native,Q.js]).optional(),_t=B({type:T("time").optional(),engine:gt,frameRate:D().optional(),duration:D().optional(),trigger:ut.optional(),delay:D().optional(),iterations:I([D(),T("infinite")]).optional(),fillMode:E(["forwards","backwards","both","none"]).optional(),direction:E(["normal","reverse","alternate","alternate-reverse"]).optional()}),vt={duration:D().optional(),iterations:D().optional(),engine:gt,frameRate:D().optional(),axis:E([H,W,"x","y"]).optional(),source:E([Y,K]).optional(),subject:N().optional(),smoothing:D().optional(),pin:I([M(),mt]).optional(),range:yt.optional()},bt=(F=[_t,B(f({type:T("scroll")},vt)),B(f({type:T("view")},vt))],new class extends g{constructor(t,e,i){var n;super(),this._key=t,this._schemas=e,this._kind="discriminatedUnion",this._default=null!=i?i:e[0]._default,this._map=new Map;for(const i of e){const e=i._shape[t];if(!e)continue;const o=null!=(n=e.inner)?n:e;this._map.set(o._default,i),e.inner&&(this._absentMember=i)}}_findSchema(t){if(null===t||"object"!=typeof t||Array.isArray(t))return;const e=t[this._key];return null==e?this._absentMember:this._map.get(e)}sanitize(t){var e;return(null!=(e=this._findSchema(t))?e:this._schemas[0]).sanitize(t)}isValid(t,e,i){const n=this._findSchema(t);if(!n){const n=null===t||"object"!=typeof t||Array.isArray(t)?void 0:t[this._key];return null==e||e.errors.push(m(null!=i?i:[])+": no discriminated union member matched "+this._key+"="+JSON.stringify(n)),!1}return n.isValid(t,e,i)}_canSanitize(t){if(null===t||"object"!=typeof t||Array.isArray(t))return!1;const e=this._findSchema(t);return e?e._canSanitize(t):this._schemas[0]._canSanitize(t)}}("type",F)),At=B({target:N(),animateWith:R(N())}),xt=B({timeline:bt.optional(),definitions:dt.optional(),bindings:R(At).optional(),debugGlobalName:N().optional(),version:N().optional()}),St=I([N(),D(),R(D()),B({value:new class extends g{constructor(){super(...arguments),this._default=void 0}sanitize(t){return t}isValid(t,e,i){return void 0!==t||(null==e||e.errors.push(m(null!=i?i:[])+": required value is missing"),!1)}_canSanitize(t){return void 0!==t}}}),at]),Ot=I([D(),rt,B({value:D()})]),jt=I([G([D(),D()]),rt,B({value:G([D(),D()])})]),wt=I([N(),rt,B({value:N()})]),zt=B({translate:jt.optional(),rotate:Ot.optional(),scale:jt.optional(),skew:Ot.optional(),origin:jt.optional()}),kt=B({copies:D().optional(),translate:jt.optional(),rotate:Ot.optional(),skew:Ot.optional(),scale:jt.optional(),origin:jt.optional()}),Vt=B({source:N().optional(),maskType:E(["luminance","alpha"]).optional(),maskUnits:E([tt,et]).optional(),maskContentUnits:E([tt,et]).optional(),x:D().optional(),y:D().optional(),width:D().optional(),height:D().optional()}),Pt=B({pathData:wt.optional()}),Nt=B({offset:Ot.optional(),range:jt.optional(),subPaths:E(["separate","combined"]).optional()}),Dt=B({start:D().optional(),stretch:D().optional(),timeCrop:G([D(),D()]).optional()}),Mt=B({without:E(["translate"]).optional(),source:N().optional(),retime:Dt.optional()}),Tt=B({offset:D(),color:N()}),Et=I([R(Tt),B({value:R(Tt)}),rt]),It=B({type:E(["linear","radial"]),start:jt.optional(),end:jt.optional(),center:jt.optional(),radius:Ot.optional(),focal:jt.optional(),stops:Et.optional(),gradientUnits:E([tt,et]).optional(),spreadMethod:E(["pad","reflect","repeat"]).optional(),gradientTransform:N().optional()}),Bt=It,Jt=B({pathData:N(),pathOverflow:E(["clip","extend"]).optional(),lengthAdjust:E(["spacing","spacingAndGlyphs"]).optional(),method:E(["align","stretch"]).optional(),spacing:E(["auto","exact"]).optional(),startOffset:Ot.optional(),textLength:Ot.optional()}),Rt=B({useGlyphs:M().optional()}),Ct=B({transformBy:zt.optional(),repeater:kt.optional(),maskedBy:Vt.optional(),clipPath:Pt.optional(),strokeTrim:Nt.optional(),clone:Mt.optional(),fillGradient:It.optional(),strokeGradient:Bt.optional(),textPath:Jt.optional(),text:Rt.optional()}),Gt=J({type:N(),domType:N().optional(),textContent:N().optional(),id:N().optional(),meta:(new class extends g{constructor(){super(...arguments),this._default=void 0}sanitize(t){return t}isValid(t,e,i){return!0}_canSanitize(t){return!0}}).optional(),effects:Ct.optional(),animate:pt.optional(),style:C(I([N(),D()])).optional()},St),Lt=J(y(f({},Gt._shape),{children:L(()=>R(Lt),[]).optional()}),St),Ut=B({width:I([D(),N()]).optional(),height:I([D(),N()]).optional(),viewBox:N().optional(),animator:xt.optional()}),Ft=(J(y(f(f({},Gt._shape),Ut._shape),{type:T("svg"),children:R(Lt).optional()}),St),B({v:R(R(D())),i:R(R(D())).optional(),o:R(R(D())).optional(),c:M().optional()}),{offScreen:Z,visibilityThreshold:.5,visibilityDebounce:150}),qt=Array.from({length:21},(t,e)=>e/20);function Ht(t){return{requestStart:()=>t.play(),dispose:()=>{}}}function Wt(t,e,i){if(e.offScreen===q.continue)return Ht(i);if("undefined"==typeof IntersectionObserver)return Ht(i);const n=e.visibilityThreshold,o=e.visibilityDebounce;let s,r,a=!1,l=!1,p=0;const u=()=>{void 0!==r&&(clearTimeout(r),r=void 0)},c=()=>{r=void 0,!0!==s&&(s=!0,(a||l)&&(a=!1,l=!1,i.play()))},h=()=>{u(),!1!==s&&(s=!1,i.isPlaying()&&(e.offScreen===q.reset?i.cancel():i.pause(),l=!0))},d=t=>{if(p=t,"undefined"==typeof document||"hidden"!==document.visibilityState)if(t>=n){if(!0===s||void 0!==r)return;o>0?r=setTimeout(c,o):c()}else t<=0?h():!0!==s&&u();else h()},f=new IntersectionObserver(t=>{const e=t[t.length-1];e&&d(e.isIntersecting?function(t){var e,i;const n=t.boundingClientRect,o=t.intersectionRect;if(!(null==n?void 0:n.height)||!o)return t.intersectionRatio;const s="undefined"!=typeof window&&window.innerHeight?window.innerHeight:1/0,r=null!=(i=null==(e=t.rootBounds)?void 0:e.height)?i:1/0,a=Math.min(s,r),l=Math.min(n.height,Number.isFinite(a)?a:n.height);return l>0?o.height/l:t.intersectionRatio}(e):0)},{threshold:qt});f.observe(t);const y=()=>{d(p)},m="undefined"!=typeof document;return m&&document.addEventListener("visibilitychange",y),{requestStart:t=>{if(t||!0===s)return u(),s=!0,a=!1,l=!1,void i.play();a=!0},dispose:()=>{u(),f.disconnect(),m&&document.removeEventListener("visibilitychange",y)}}}
|
|
1
|
+
"use strict";var t,e=Object.defineProperty,i=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s={};((t,i)=>{for(var n in i)e(t,n,{get:i[n],enumerable:!0})})(s,{PLAY_WHEN_VISIBLE_DEFAULTS:()=>le,PX_ANIMATOR_DOC_KEY:()=>r,createVisibilityGate:()=>ce}),module.exports=(t=s,((t,s,r,a)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let r of n(s))o.call(t,r)||void 0===r||e(t,r,{get:()=>s[r],enumerable:!(a=i(s,r))||a.enumerable});return t})(e({},"__esModule",{value:!0}),t));var r="doc",a=Object.defineProperty,l=Object.defineProperties,u=Object.getOwnPropertyDescriptors,p=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,d=(t,e,i)=>e in t?a(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,f=(t,e)=>{for(var i in e||(e={}))c.call(e,i)&&d(t,i,e[i]);if(p)for(var i of p(e))h.call(e,i)&&d(t,i,e[i]);return t},y=(t,e)=>l(t,u(e));function m(t){if(!t.length)return".";let e="";for(const i of t)i.startsWith("[")?e+=i:e+=(e?".":"")+i;return e}var _=class{constructor(t){this._statesDefault=t}_canSanitize(t){return this.isValid(t)}absentDefault(){return this._default}optional(){return new g(this)}},g=class extends _{constructor(t){super(t._statesDefault),this.inner=t,this._default=void 0}absentDefault(){return this.inner._statesDefault?this.inner._default:void 0}sanitize(t){if(null!=t)return this.inner._canSanitize(t)?this.inner.sanitize(t):void 0}isValid(t,e,i){return null==t||this.inner.isValid(t,e,i)}_canSanitize(t){return null==t||this.inner._canSanitize(t)}},v=class extends _{constructor(t,e){super(e),this._default=t}sanitize(t){return"string"==typeof t?t:this._default}isValid(t,e,i){return"string"==typeof t||(null==e||e.errors.push(m(null!=i?i:[])+": expected string, got "+typeof t),!1)}},b=class extends _{constructor(t,e){super(e),this._default=t}sanitize(t){return"number"==typeof t&&isFinite(t)?t:this._default}isValid(t,e,i){return!("number"!=typeof t||!isFinite(t))||(null==e||e.errors.push(m(null!=i?i:[])+": expected finite number, got "+JSON.stringify(t)),!1)}},A=class extends _{constructor(t,e){super(e),this._default=t}sanitize(t){return"boolean"==typeof t?t:this._default}isValid(t,e,i){return"boolean"==typeof t||(null==e||e.errors.push(m(null!=i?i:[])+": expected boolean, got "+typeof t),!1)}},w=class extends _{constructor(t){super(!0),this.value=t,this._default=t}sanitize(t){return t===this.value?this.value:this._default}isValid(t,e,i){return t===this.value||(null==e||e.errors.push(m(null!=i?i:[])+": expected "+JSON.stringify(this.value)+", got "+JSON.stringify(t)),!1)}},x=class extends _{constructor(t,e,i){super(i),this.values=t,this._default=null!=e?e:t[0]}sanitize(t){return this.values.includes(t)?t:this._default}isValid(t,e,i){return!!this.values.includes(t)||(null==e||e.errors.push(m(null!=i?i:[])+": expected one of "+this.values.map(t=>JSON.stringify(t)).join(" | ")+", got "+JSON.stringify(t)),!1)}},O=class extends _{constructor(t,e,i){super(i),this.schemas=t,this._kind="union",this._default=null!=e?e:t[0]._default}sanitize(t){for(const e of this.schemas)if(e.isValid(t))return e.sanitize(t);return this._default}isValid(t,e,i){var n;const o=e&&{errors:[],warnings:[],strict:e.strict};if(this.schemas.some(e=>e.isValid(t,o,i?[...i]:void 0)))return!0;if(!e)return!1;const s=m(null!=i?i:[]);let r;e.errors.push(s+": no union member matched for value "+(null!=(n=JSON.stringify(t))?n:"").slice(0,240));let a=-1;const l=[];for(const n of this.schemas){const o={errors:[],warnings:[],strict:e.strict};if(n.isValid(t,o,i?[...i]:void 0),!o.errors.length)continue;const u=Math.max(...o.errors.map(t=>t.slice(0,t.indexOf(":")).length));if((u>a||u===a&&r&&o.errors.length<r.length)&&(a=u,r=o.errors),u<=s.length)for(const t of o.errors){const e=/: expected (.+?), got /.exec(t);e&&!l.includes(e[1])&&l.push(e[1])}}if(r&&a>s.length)for(const t of r.slice(0,4))e.errors.includes(t)||e.errors.push(t);else l.length&&e.errors.push(s+": expected "+l.join(" | "));return!1}_canSanitize(t){return this.schemas.some(e=>e._canSanitize(t))}},j=class extends _{constructor(t,e,i){var n;super(!1),this._key=t,this._schemas=e,this._kind="discriminatedUnion",this._default=null!=i?i:e[0]._default,this._map=new Map;for(const i of e){const e=i._shape[t];if(!e)continue;const o=null!=(n=e.inner)?n:e;this._map.set(o._default,i),e.inner&&(this._absentMember=i)}}_findSchema(t){if(null===t||"object"!=typeof t||Array.isArray(t))return;const e=t[this._key];return null==e?this._absentMember:this._map.get(e)}sanitize(t){var e;return(null!=(e=this._findSchema(t))?e:this._schemas[0]).sanitize(t)}isValid(t,e,i){const n=this._findSchema(t);if(!n){const n=null===t||"object"!=typeof t||Array.isArray(t)?void 0:t[this._key];return null==e||e.errors.push(m(null!=i?i:[])+": no discriminated union member matched "+this._key+"="+JSON.stringify(n)),!1}return n.isValid(t,e,i)}_canSanitize(t){if(null===t||"object"!=typeof t||Array.isArray(t))return!1;const e=this._findSchema(t);return e?e._canSanitize(t):this._schemas[0]._canSanitize(t)}};function S(t){const e={};for(const i of Object.keys(t))t[i]._statesDefault&&(e[i]=t[i].absentDefault());return Object.freeze(e)}var z=class extends _{constructor(t){super(!1),this._shape=t;const e={};for(const i of Object.keys(t))e[i]=t[i]._default;this._default=e,this.defaults=S(t)}sanitize(t){const e=t&&"object"==typeof t&&!Array.isArray(t)?t:{},i={};for(const t of Object.keys(this._shape)){const n=this._shape[t].sanitize(e[t]);void 0!==n&&(i[t]=n)}return i}isValid(t,e,i){if(!t||"object"!=typeof t||Array.isArray(t))return null==e||e.errors.push(m(null!=i?i:[])+": expected object, got "+(Array.isArray(t)?"array":typeof t)),!1;const n=t,o=null!=i?i:[];let s=!0;for(const t of Object.keys(this._shape))o.push(t),this._shape[t].isValid(n[t],e,o)||(s=!1),o.pop();if(null==e?void 0:e.strict)for(const t of Object.keys(n))t in this._shape||void 0!==n[t]&&(o.push(t),e.errors.push(m(o)+": unexpected extra key"),o.pop(),s=!1);return s}_canSanitize(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}},k=class extends _{constructor(t,e){super(!1),this._shape=t,this._openSchema=e;const i={};for(const e of Object.keys(t))i[e]=t[e]._default;this._default=i,this.defaults=S(t)}sanitize(t){const e=t&&"object"==typeof t&&!Array.isArray(t)?t:{},i=f({},e);for(const t of Object.keys(this._shape)){const n=this._shape[t].sanitize(e[t]);void 0!==n&&(i[t]=n)}if(this._openSchema)for(const t of Object.keys(e))t in this._shape||(i[t]=this._openSchema.sanitize(e[t]));return i}isValid(t,e,i){if(!t||"object"!=typeof t||Array.isArray(t))return null==e||e.errors.push(m(null!=i?i:[])+": expected object, got "+(Array.isArray(t)?"array":typeof t)),!1;const n=t,o=null!=i?i:[];let s=!0;for(const t of Object.keys(this._shape))o.push(t),this._shape[t].isValid(n[t],e,o)||(s=!1),o.pop();if(this._openSchema)for(const t of Object.keys(n))t in this._shape||(o.push(t),this._openSchema.isValid(n[t],e,o)||(s=!1),o.pop());return s}_canSanitize(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}},V=class extends _{constructor(t){super(!1),this.item=t,this._default=[]}sanitize(t){if(!Array.isArray(t))return[];const e=[];for(const i of t)this.item._canSanitize(i)&&e.push(this.item.sanitize(i));return e}isValid(t,e,i){if(!Array.isArray(t))return null==e||e.errors.push(m(null!=i?i:[])+": expected array, got "+typeof t),!1;const n=null!=i?i:[];let o=!0;for(let i=0;i<t.length;i++)n.push("["+i+"]"),this.item.isValid(t[i],e,n)||(o=!1),n.pop();return o}_canSanitize(t){return Array.isArray(t)}},D=class extends _{constructor(t){super(!1),this.value=t,this._kind="record",this._default={}}sanitize(t){if(!t||"object"!=typeof t||Array.isArray(t))return{};const e={};for(const[i,n]of Object.entries(t))this.value._canSanitize(n)&&(e[i]=this.value.sanitize(n));return e}isValid(t,e,i){if(!t||"object"!=typeof t||Array.isArray(t))return null==e||e.errors.push(m(null!=i?i:[])+": expected object/record, got "+(Array.isArray(t)?"array":typeof t)),!1;const n=null!=i?i:[];let o=!0;for(const[i,s]of Object.entries(t))n.push(i),this.value.isValid(s,e,n)||(o=!1),n.pop();return o}_canSanitize(t){return!!t&&"object"==typeof t&&!Array.isArray(t)}},P=class extends _{constructor(){super(!1),this._default=void 0}sanitize(t){return t}isValid(t,e,i){return!0}_canSanitize(t){return!0}},N=class extends _{constructor(){super(!1),this._default=void 0}sanitize(t){return t}isValid(t,e,i){return void 0!==t||(null==e||e.errors.push(m(null!=i?i:[])+": required value is missing"),!1)}_canSanitize(t){return void 0!==t}},M=class extends _{constructor(t,e){super(!1),this.fn=t,this._default=e,this.resolved=null}get schema(){var t;return null!=(t=this.resolved)?t:this.resolved=this.fn()}sanitize(t){return this.schema.sanitize(t)}isValid(t,e,i){return this.schema.isValid(t,e,i)}_canSanitize(t){return this.schema._canSanitize(t)}},T=class extends _{constructor(t){super(!1),this.schemas=t,this._kind="tuple",this._default=t.map(t=>t._default)}sanitize(t){return Array.isArray(t)&&t.length===this.schemas.length?this.schemas.map((e,i)=>e.sanitize(t[i])):this._default}isValid(t,e,i){if(!Array.isArray(t)||t.length!==this.schemas.length)return null==e||e.errors.push(m(null!=i?i:[])+": expected tuple of length "+this.schemas.length+", got "+(Array.isArray(t)?"array["+t.length+"]":typeof t)),!1;const n=null!=i?i:[];let o=!0;for(let i=0;i<this.schemas.length;i++)n.push("["+i+"]"),this.schemas[i].isValid(t[i],e,n)||(o=!1),n.pop();return o}_canSanitize(t){return Array.isArray(t)&&t.length===this.schemas.length}},E=function(t){return void 0===t?new v("",!1):new v(t,!0)},I=function(t){return void 0===t?new b(0,!1):new b(t,!0)},B=function(t){return void 0===t?new A(!1,!1):new A(t,!0)},J=t=>new w(t),R=function(t,e){return void 0===e?new x(t,void 0,!1):new x(t,e,!0)},C=function(t,e){return void 0===e?new O(t,void 0,!1):new O(t,e,!0)},G=t=>new z(t),L=(t,e)=>new k(t,e),U=t=>new V(t),F=t=>new D(t),q=t=>new T(t),H=(t,e)=>new M(t,e),W=/^(\d+)\.(\d+)(?:\.(\d+))?$/;!function(){const t=W.exec("1.2".trim());t&&(Number(t[1]),Number(t[2]),void 0===t[3]||Number(t[3]))}();var Y,K,X="forwards",$="normal",Q={pause:"pause",continue:"continue",reset:"reset"},Z="view",tt="block",et="inline",it="nearest",nt="root",ot="top",st="center",rt="bottom",at="cover",lt="sampled",ut=y(f({},{native:"native",js:"js"}),{auto:"auto"}),pt="pause",ct="normal",ht="luminance",dt="userSpaceOnUse",ft="objectBoundingBox",yt="extend",mt="spacing",_t="align",gt="exact",vt="separate",bt=C([E(),q([I(),I(),I(),I()])]),At=C([E(),I(),U(I()),G({pathData:E()}),H(()=>U(Qt),[]),H(()=>jt,{})]),wt=G({time:I().optional(),value:At.optional(),easing:bt.optional(),tangentOut:q([I(),I()]).optional(),tangentIn:q([I(),I()]).optional()}),xt=G({segmentCount:I().optional(),repeatAt:R(["start","end"],"end").optional(),direction:R([ct,"alternate"],ct).optional()}),Ot=G({value:At.optional(),keyframes:U(wt).optional(),loop:C([xt,B()]).optional(),autoOrient:B().optional(),alongPathMode:R([lt,"offsetPath"],lt).optional()}),jt=G({translate:q([I(),I()]).optional(),rotate:I().optional(),skew:I().optional(),scale:q([I(),I()]).optional(),origin:q([I(),I()]).optional()}),St=(C([E(),jt,G({value:jt}),Ot]),F(Ot)),zt=C([E(),U(C([E(),St])),St]),kt=G({start:R(["load","mouseOver","click","none"],"load").optional(),offScreen:R([Q.pause,Q.continue,Q.reset],pt).optional(),mouseOut:R(["continue","pause","reset","reverse"],"continue").optional(),finish:R(["hold","reset"],"hold").optional(),visibilityThreshold:I(.5).optional(),visibilityDebounce:I(150).optional()}),Vt=G({width:I(),pathData:E()}),Dt=G({fontFamily:E(),fontStyle:E(),ascent:I(),unitsPerEm:I(),glyphs:F(Vt)}),Pt=G({easings:F(q([I(),I(),I(),I()])).optional(),animations:F(St).optional(),fonts:F(Dt).optional()}),Nt=G({phase:R([at,"contain","entry","exit","entry-crossing","exit-crossing"],at).optional(),fraction:I().optional()}),Mt=G({start:Nt.optional(),end:Nt.optional()}),Tt=(G({kind:R([Z,"scroll"],Z).optional(),axis:R([tt,et,"x","y"],tt).optional(),source:R([it,nt],it).optional(),subject:E().optional(),smoothing:I().optional(),pin:B(!1).optional(),pinAlign:R([ot,st,rt],ot).optional(),pinOffset:I().optional(),pinDistance:I().optional(),range:Mt.optional()}),G({align:R([ot,st,rt],ot).optional(),offset:I().optional(),distance:I().optional()})),Et=R([ut.auto,ut.native,ut.js],ut.auto).optional(),It=G({type:J("time").optional(),engine:Et,frameRate:I().optional(),duration:I(1e3).optional(),trigger:kt.optional(),delay:I(0).optional(),iterations:C([I(1),J("infinite")],1).optional(),fillMode:R([X,"backwards","both","none"],X).optional(),direction:R([$,"reverse","alternate","alternate-reverse"],$).optional()}),Bt={duration:I().optional(),iterations:I().optional(),engine:Et,frameRate:I().optional(),axis:R([tt,et,"x","y"],tt).optional(),source:R([it,nt],it).optional(),subject:E().optional(),smoothing:I().optional(),pin:C([B(),Tt]).optional(),range:Mt.optional()},Jt=(Y="type",K=[It,G(f({type:J("scroll")},Bt)),G(f({type:J("view")},Bt))],new j(Y,K)),Rt=G({target:E(),animateWith:U(E())}),Ct=G({timeline:Jt.optional(),definitions:Pt.optional(),bindings:U(Rt).optional(),debugGlobalName:E().optional(),version:E().optional()}),Gt=C([E(),I(),U(I()),G({value:new N}),jt]),Lt=C([I(),Ot,G({value:I()})]),Ut=C([q([I(),I()]),Ot,G({value:q([I(),I()])})]),Ft=C([E(),Ot,G({value:E()})]),qt=G({translate:Ut.optional(),rotate:Lt.optional(),scale:Ut.optional(),skew:Lt.optional(),origin:Ut.optional()}),Ht=G({copies:I().optional(),translate:Ut.optional(),rotate:Lt.optional(),skew:Lt.optional(),scale:Ut.optional(),origin:Ut.optional()}),Wt=G({source:E().optional(),maskType:R([ht,"alpha"],ht).optional(),maskUnits:R([dt,ft],ft).optional(),maskContentUnits:R([dt,ft],dt).optional(),x:I().optional(),y:I().optional(),width:I().optional(),height:I().optional()}),Yt=G({pathData:Ft.optional()}),Kt=G({offset:Lt.optional(),range:Ut.optional(),subPaths:R([vt,"combined"],vt).optional()}),Xt=G({start:I().optional(),stretch:I().optional(),timeCrop:q([I(),I()]).optional()}),$t=G({without:R(["translate"]).optional(),source:E().optional(),retime:Xt.optional()}),Qt=G({offset:I(),color:E()}),Zt=C([U(Qt),G({value:U(Qt)}),Ot]),te=G({type:R(["linear","radial"]),start:Ut.optional(),end:Ut.optional(),center:Ut.optional(),radius:Lt.optional(),focal:Ut.optional(),stops:Zt.optional(),gradientUnits:R([dt,ft],ft).optional(),spreadMethod:R(["pad","reflect","repeat"],"pad").optional(),gradientTransform:E().optional()}),ee=te,ie=G({pathData:E(),pathOverflow:R(["clip",yt],yt).optional(),lengthAdjust:R([mt,"spacingAndGlyphs"],mt).optional(),method:R([_t,"stretch"],_t).optional(),spacing:R(["auto",gt],gt).optional(),startOffset:Lt.optional(),textLength:Lt.optional()}),ne=G({useGlyphs:B().optional()}),oe=G({transformBy:qt.optional(),repeater:Ht.optional(),maskedBy:Wt.optional(),clipPath:Yt.optional(),strokeTrim:Kt.optional(),clone:$t.optional(),fillGradient:te.optional(),strokeGradient:ee.optional(),textPath:ie.optional(),text:ne.optional()}),se=L({type:E(),domType:E().optional(),textContent:E().optional(),id:E().optional(),meta:(new P).optional(),effects:oe.optional(),animate:zt.optional(),style:F(C([E(),I()])).optional()},Gt),re=L(y(f({},se._shape),{children:H(()=>U(re),[]).optional()}),Gt),ae=G({width:C([I(),E()]).optional(),height:C([I(),E()]).optional(),viewBox:E().optional(),animator:Ct.optional()}),le=(L(y(f(f({},se._shape),ae._shape),{type:J("svg"),children:U(re).optional()}),Gt),G({v:U(U(I())),i:U(U(I())).optional(),o:U(U(I())).optional(),c:B().optional()}),{offScreen:pt,visibilityThreshold:.5,visibilityDebounce:150}),ue=Array.from({length:21},(t,e)=>e/20);function pe(t){return{requestStart:()=>t.play(),dispose:()=>{}}}function ce(t,e,i){if(e.offScreen===Q.continue)return pe(i);if("undefined"==typeof IntersectionObserver)return pe(i);const n=e.visibilityThreshold,o=e.visibilityDebounce;let s,r,a=!1,l=!1,u=0;const p=()=>{void 0!==r&&(clearTimeout(r),r=void 0)},c=()=>{r=void 0,!0!==s&&(s=!0,(a||l)&&(a=!1,l=!1,i.play()))},h=()=>{p(),!1!==s&&(s=!1,i.isPlaying()&&(e.offScreen===Q.reset?i.cancel():i.pause(),l=!0))},d=t=>{if(u=t,"undefined"==typeof document||"hidden"!==document.visibilityState)if(t>=n){if(!0===s||void 0!==r)return;o>0?r=setTimeout(c,o):c()}else t<=0?h():!0!==s&&p();else h()},f=new IntersectionObserver(t=>{const e=t[t.length-1];e&&d(e.isIntersecting?function(t){var e,i;const n=t.boundingClientRect,o=t.intersectionRect;if(!(null==n?void 0:n.height)||!o)return t.intersectionRatio;const s="undefined"!=typeof window&&window.innerHeight?window.innerHeight:1/0,r=null!=(i=null==(e=t.rootBounds)?void 0:e.height)?i:1/0,a=Math.min(s,r),l=Math.min(n.height,Number.isFinite(a)?a:n.height);return l>0?o.height/l:t.intersectionRatio}(e):0)},{threshold:ue});f.observe(t);const y=()=>{d(u)},m="undefined"!=typeof document;return m&&document.addEventListener("visibilitychange",y),{requestStart:t=>{if(t||!0===s)return p(),s=!0,a=!1,l=!1,void i.play();a=!0},dispose:()=>{p(),f.disconnect(),m&&document.removeEventListener("visibilitychange",y)}}}
|
package/dist/internal.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PLAY_WHEN_VISIBLE_DEFAULTS as m,PX_ANIMATOR_DOC_KEY as o,createVisibilityGate as r}from"./chunk-
|
|
1
|
+
import{PLAY_WHEN_VISIBLE_DEFAULTS as m,PX_ANIMATOR_DOC_KEY as o,createVisibilityGate as r}from"./chunk-2AFALI5O.min.js";export{m as PLAY_WHEN_VISIBLE_DEFAULTS,o as PX_ANIMATOR_DOC_KEY,r as createVisibilityGate};
|
|
@@ -77,19 +77,31 @@ var PixodeskAnimator = (() => {
|
|
|
77
77
|
return result;
|
|
78
78
|
}
|
|
79
79
|
var Base = class {
|
|
80
|
+
/** Structural schemas (objects, arrays, unions of objects…) pass `false`: they state no scalar default. */
|
|
81
|
+
constructor(_statesDefault) {
|
|
82
|
+
this._statesDefault = _statesDefault;
|
|
83
|
+
}
|
|
80
84
|
_canSanitize(raw) {
|
|
81
85
|
return this.isValid(raw);
|
|
82
86
|
}
|
|
87
|
+
/** A REQUIRED field is never absent; its default is the repair value. */
|
|
88
|
+
absentDefault() {
|
|
89
|
+
return this._default;
|
|
90
|
+
}
|
|
83
91
|
optional() {
|
|
84
92
|
return new Optional(this);
|
|
85
93
|
}
|
|
86
94
|
};
|
|
87
95
|
var Optional = class extends Base {
|
|
88
96
|
constructor(inner) {
|
|
89
|
-
super();
|
|
97
|
+
super(inner._statesDefault);
|
|
90
98
|
this.inner = inner;
|
|
91
99
|
this._default = void 0;
|
|
92
100
|
}
|
|
101
|
+
/** Absent means the inner schema's STATED default — or nothing at all when it states none. */
|
|
102
|
+
absentDefault() {
|
|
103
|
+
return this.inner._statesDefault ? this.inner._default : void 0;
|
|
104
|
+
}
|
|
93
105
|
sanitize(raw) {
|
|
94
106
|
if (raw === void 0 || raw === null) return void 0;
|
|
95
107
|
return this.inner._canSanitize(raw) ? this.inner.sanitize(raw) : void 0;
|
|
@@ -103,8 +115,8 @@ var PixodeskAnimator = (() => {
|
|
|
103
115
|
}
|
|
104
116
|
};
|
|
105
117
|
var Str = class extends Base {
|
|
106
|
-
constructor(_default
|
|
107
|
-
super();
|
|
118
|
+
constructor(_default, statesDefault) {
|
|
119
|
+
super(statesDefault);
|
|
108
120
|
this._default = _default;
|
|
109
121
|
}
|
|
110
122
|
sanitize(raw) {
|
|
@@ -117,8 +129,8 @@ var PixodeskAnimator = (() => {
|
|
|
117
129
|
}
|
|
118
130
|
};
|
|
119
131
|
var Num = class extends Base {
|
|
120
|
-
constructor(_default
|
|
121
|
-
super();
|
|
132
|
+
constructor(_default, statesDefault) {
|
|
133
|
+
super(statesDefault);
|
|
122
134
|
this._default = _default;
|
|
123
135
|
}
|
|
124
136
|
sanitize(raw) {
|
|
@@ -131,8 +143,8 @@ var PixodeskAnimator = (() => {
|
|
|
131
143
|
}
|
|
132
144
|
};
|
|
133
145
|
var Bool = class extends Base {
|
|
134
|
-
constructor(_default
|
|
135
|
-
super();
|
|
146
|
+
constructor(_default, statesDefault) {
|
|
147
|
+
super(statesDefault);
|
|
136
148
|
this._default = _default;
|
|
137
149
|
}
|
|
138
150
|
sanitize(raw) {
|
|
@@ -145,8 +157,9 @@ var PixodeskAnimator = (() => {
|
|
|
145
157
|
}
|
|
146
158
|
};
|
|
147
159
|
var Literal = class extends Base {
|
|
160
|
+
/** A literal IS its own value: absent means it. */
|
|
148
161
|
constructor(value) {
|
|
149
|
-
super();
|
|
162
|
+
super(true);
|
|
150
163
|
this.value = value;
|
|
151
164
|
this._default = value;
|
|
152
165
|
}
|
|
@@ -160,8 +173,8 @@ var PixodeskAnimator = (() => {
|
|
|
160
173
|
}
|
|
161
174
|
};
|
|
162
175
|
var Enum = class extends Base {
|
|
163
|
-
constructor(values, defaultVal) {
|
|
164
|
-
super();
|
|
176
|
+
constructor(values, defaultVal, statesDefault) {
|
|
177
|
+
super(statesDefault);
|
|
165
178
|
this.values = values;
|
|
166
179
|
this._default = defaultVal != null ? defaultVal : values[0];
|
|
167
180
|
}
|
|
@@ -176,8 +189,8 @@ var PixodeskAnimator = (() => {
|
|
|
176
189
|
};
|
|
177
190
|
var UNION_MEMBER_ERROR_LIMIT = 4;
|
|
178
191
|
var Union = class extends Base {
|
|
179
|
-
constructor(schemas, defaultVal) {
|
|
180
|
-
super();
|
|
192
|
+
constructor(schemas, defaultVal, statesDefault) {
|
|
193
|
+
super(statesDefault);
|
|
181
194
|
this.schemas = schemas;
|
|
182
195
|
/** Structural tag read by {@link describeSchema} — `schemas` alone cannot tell Union from Tuple. */
|
|
183
196
|
this._kind = "union";
|
|
@@ -231,7 +244,7 @@ var PixodeskAnimator = (() => {
|
|
|
231
244
|
var DiscriminatedUnion = class extends Base {
|
|
232
245
|
constructor(_key, _schemas, defaultVal) {
|
|
233
246
|
var _a2;
|
|
234
|
-
super();
|
|
247
|
+
super(false);
|
|
235
248
|
this._key = _key;
|
|
236
249
|
this._schemas = _schemas;
|
|
237
250
|
/** Structural tag read by {@link describeSchema}. */
|
|
@@ -271,13 +284,19 @@ var PixodeskAnimator = (() => {
|
|
|
271
284
|
return schema ? schema._canSanitize(raw) : this._schemas[0]._canSanitize(raw);
|
|
272
285
|
}
|
|
273
286
|
};
|
|
287
|
+
function statedDefaults(shape) {
|
|
288
|
+
const out = {};
|
|
289
|
+
for (const key of Object.keys(shape)) if (shape[key]._statesDefault) out[key] = shape[key].absentDefault();
|
|
290
|
+
return Object.freeze(out);
|
|
291
|
+
}
|
|
274
292
|
var Obj = class extends Base {
|
|
275
293
|
constructor(_shape) {
|
|
276
|
-
super();
|
|
294
|
+
super(false);
|
|
277
295
|
this._shape = _shape;
|
|
278
296
|
const d = {};
|
|
279
297
|
for (const key of Object.keys(_shape)) d[key] = _shape[key]._default;
|
|
280
298
|
this._default = d;
|
|
299
|
+
this.defaults = statedDefaults(_shape);
|
|
281
300
|
}
|
|
282
301
|
sanitize(raw) {
|
|
283
302
|
const src = raw && typeof raw === "object" && !Array.isArray(raw) ? raw : {};
|
|
@@ -319,12 +338,13 @@ var PixodeskAnimator = (() => {
|
|
|
319
338
|
};
|
|
320
339
|
var OpenObj = class extends Base {
|
|
321
340
|
constructor(_shape, _openSchema) {
|
|
322
|
-
super();
|
|
341
|
+
super(false);
|
|
323
342
|
this._shape = _shape;
|
|
324
343
|
this._openSchema = _openSchema;
|
|
325
344
|
const d = {};
|
|
326
345
|
for (const key of Object.keys(_shape)) d[key] = _shape[key]._default;
|
|
327
346
|
this._default = d;
|
|
347
|
+
this.defaults = statedDefaults(_shape);
|
|
328
348
|
}
|
|
329
349
|
sanitize(raw) {
|
|
330
350
|
const src = raw && typeof raw === "object" && !Array.isArray(raw) ? raw : {};
|
|
@@ -369,7 +389,7 @@ var PixodeskAnimator = (() => {
|
|
|
369
389
|
};
|
|
370
390
|
var Arr = class extends Base {
|
|
371
391
|
constructor(item) {
|
|
372
|
-
super();
|
|
392
|
+
super(false);
|
|
373
393
|
this.item = item;
|
|
374
394
|
this._default = [];
|
|
375
395
|
}
|
|
@@ -401,7 +421,7 @@ var PixodeskAnimator = (() => {
|
|
|
401
421
|
};
|
|
402
422
|
var Rec = class extends Base {
|
|
403
423
|
constructor(value) {
|
|
404
|
-
super();
|
|
424
|
+
super(false);
|
|
405
425
|
this.value = value;
|
|
406
426
|
/** Structural tag read by {@link describeSchema}. */
|
|
407
427
|
this._kind = "record";
|
|
@@ -435,7 +455,7 @@ var PixodeskAnimator = (() => {
|
|
|
435
455
|
};
|
|
436
456
|
var Any = class extends Base {
|
|
437
457
|
constructor() {
|
|
438
|
-
super(
|
|
458
|
+
super(false);
|
|
439
459
|
this._default = void 0;
|
|
440
460
|
}
|
|
441
461
|
sanitize(raw) {
|
|
@@ -450,7 +470,7 @@ var PixodeskAnimator = (() => {
|
|
|
450
470
|
};
|
|
451
471
|
var Defined = class extends Base {
|
|
452
472
|
constructor() {
|
|
453
|
-
super(
|
|
473
|
+
super(false);
|
|
454
474
|
this._default = void 0;
|
|
455
475
|
}
|
|
456
476
|
sanitize(raw) {
|
|
@@ -467,7 +487,7 @@ var PixodeskAnimator = (() => {
|
|
|
467
487
|
};
|
|
468
488
|
var Lazy = class extends Base {
|
|
469
489
|
constructor(fn, _default) {
|
|
470
|
-
super();
|
|
490
|
+
super(false);
|
|
471
491
|
this.fn = fn;
|
|
472
492
|
this._default = _default;
|
|
473
493
|
this.resolved = null;
|
|
@@ -488,7 +508,7 @@ var PixodeskAnimator = (() => {
|
|
|
488
508
|
};
|
|
489
509
|
var Tuple = class extends Base {
|
|
490
510
|
constructor(schemas) {
|
|
491
|
-
super();
|
|
511
|
+
super(false);
|
|
492
512
|
this.schemas = schemas;
|
|
493
513
|
/** Structural tag read by {@link describeSchema} — `schemas` alone cannot tell Tuple from Union. */
|
|
494
514
|
this._kind = "tuple";
|
|
@@ -520,22 +540,29 @@ var PixodeskAnimator = (() => {
|
|
|
520
540
|
function implementsInterface() {
|
|
521
541
|
return (schema) => schema;
|
|
522
542
|
}
|
|
543
|
+
function string(defaultVal) {
|
|
544
|
+
return defaultVal === void 0 ? new Str("", false) : new Str(defaultVal, true);
|
|
545
|
+
}
|
|
546
|
+
function number(defaultVal) {
|
|
547
|
+
return defaultVal === void 0 ? new Num(0, false) : new Num(defaultVal, true);
|
|
548
|
+
}
|
|
549
|
+
function boolean(defaultVal) {
|
|
550
|
+
return defaultVal === void 0 ? new Bool(false, false) : new Bool(defaultVal, true);
|
|
551
|
+
}
|
|
552
|
+
function oneOf(values, defaultVal) {
|
|
553
|
+
return defaultVal === void 0 ? new Enum(values, void 0, false) : new Enum(values, defaultVal, true);
|
|
554
|
+
}
|
|
555
|
+
function unionOf(schemas, defaultVal) {
|
|
556
|
+
return defaultVal === void 0 ? new Union(schemas, void 0, false) : new Union(schemas, defaultVal, true);
|
|
557
|
+
}
|
|
523
558
|
var px = {
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
/** Matches a boolean. Default: false or provided value. */
|
|
529
|
-
boolean: (defaultVal = false) => new Bool(defaultVal),
|
|
530
|
-
/** Matches one exact primitive value; its default is the value itself. */
|
|
559
|
+
string,
|
|
560
|
+
number,
|
|
561
|
+
boolean,
|
|
562
|
+
/** Matches one exact primitive value; absent means the value itself. */
|
|
531
563
|
literal: (value) => new Literal(value),
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
/**
|
|
535
|
-
* Returns the first schema whose isValid passes.
|
|
536
|
-
* TypeScript infers the union of all member types automatically.
|
|
537
|
-
*/
|
|
538
|
-
union: (schemas, defaultVal) => new Union(schemas, defaultVal),
|
|
564
|
+
enum: oneOf,
|
|
565
|
+
union: unionOf,
|
|
539
566
|
/**
|
|
540
567
|
* Discriminated union — reads `raw[key]`, finds the member schema whose
|
|
541
568
|
* literal at `key` matches, then delegates sanitize/isValid to that member.
|
|
@@ -543,7 +570,8 @@ var PixodeskAnimator = (() => {
|
|
|
543
570
|
* TypeScript infers the union of all member types automatically.
|
|
544
571
|
*/
|
|
545
572
|
discriminatedUnion: (key, schemas) => new DiscriminatedUnion(key, schemas),
|
|
546
|
-
/** Typed object — unknown keys are stripped. Required fields fall back to their default.
|
|
573
|
+
/** Typed object — unknown keys are stripped. Required fields fall back to their default.
|
|
574
|
+
* Its `defaults` say what each stated field means when a document leaves it out. */
|
|
547
575
|
object: (shape) => new Obj(shape),
|
|
548
576
|
/**
|
|
549
577
|
* Open object — validates known keys; passes unknown keys through as-is,
|
|
@@ -684,8 +712,11 @@ var PixodeskAnimator = (() => {
|
|
|
684
712
|
offScreen: "pause",
|
|
685
713
|
mouseOut: "continue",
|
|
686
714
|
visibilityThreshold: 0.5,
|
|
687
|
-
visibilityDebounce: 150
|
|
715
|
+
visibilityDebounce: 150,
|
|
716
|
+
finish: "hold"
|
|
688
717
|
};
|
|
718
|
+
var PX_DEFAULT_DURATION_MS = 1e3;
|
|
719
|
+
var PX_DEFAULT_ITERATIONS = 1;
|
|
689
720
|
function resolveTrigger(trigger) {
|
|
690
721
|
var _a2, _b, _c, _d, _e;
|
|
691
722
|
return {
|
|
@@ -900,15 +931,15 @@ var PixodeskAnimator = (() => {
|
|
|
900
931
|
var keyframeTangentOut = (kf) => anyKf(kf).tangentOut;
|
|
901
932
|
var PxLoopSchema = implementsInterface()(px.object({
|
|
902
933
|
segmentCount: px.number().optional(),
|
|
903
|
-
repeatAt: px.enum([PxLoopRepeatAt.start, PxLoopRepeatAt.end]).optional(),
|
|
904
|
-
direction: px.enum([PxLoopDirection.normal, PxLoopDirection.alternate]).optional()
|
|
934
|
+
repeatAt: px.enum([PxLoopRepeatAt.start, PxLoopRepeatAt.end], PxLoopRepeatAt.end).optional(),
|
|
935
|
+
direction: px.enum([PxLoopDirection.normal, PxLoopDirection.alternate], PxLoopDirection.normal).optional()
|
|
905
936
|
}));
|
|
906
937
|
var PxPropertyAnimationSchema = implementsInterface()(px.object({
|
|
907
938
|
value: PxKeyframeValueSchema.optional(),
|
|
908
939
|
keyframes: px.array(PxKeyframeSchema).optional(),
|
|
909
940
|
loop: px.union([PxLoopSchema, px.boolean()]).optional(),
|
|
910
941
|
autoOrient: px.boolean().optional(),
|
|
911
|
-
alongPathMode: px.enum([PxAlongPathMode.sampled, PxAlongPathMode.offsetPath]).optional()
|
|
942
|
+
alongPathMode: px.enum([PxAlongPathMode.sampled, PxAlongPathMode.offsetPath], PxAlongPathMode.sampled).optional()
|
|
912
943
|
}));
|
|
913
944
|
var PxTransformPartsSchema = implementsInterface()(px.object({
|
|
914
945
|
translate: px.tuple([px.number(), px.number()]).optional(),
|
|
@@ -938,9 +969,9 @@ var PixodeskAnimator = (() => {
|
|
|
938
969
|
// What happens after a NATURAL finish — `'hold'` (default: keep the end state per
|
|
939
970
|
// `fill`) or `'reset'` (snap back to the start state). One of four occasion keys
|
|
940
971
|
// (`start`, `offScreen`, `mouseOut`, `finish`), all named the same way.
|
|
941
|
-
finish: px.enum([PxFinishAction.hold, PxFinishAction.reset]).optional(),
|
|
942
|
-
visibilityThreshold: px.number().optional(),
|
|
943
|
-
visibilityDebounce: px.number().optional()
|
|
972
|
+
finish: px.enum([PxFinishAction.hold, PxFinishAction.reset], PX_TRIGGER_DEFAULTS.finish).optional(),
|
|
973
|
+
visibilityThreshold: px.number(PX_TRIGGER_DEFAULTS.visibilityThreshold).optional(),
|
|
974
|
+
visibilityDebounce: px.number(PX_TRIGGER_DEFAULTS.visibilityDebounce).optional()
|
|
944
975
|
}));
|
|
945
976
|
var PxGlyphSchema = implementsInterface()(px.object({
|
|
946
977
|
width: px.number(),
|
|
@@ -966,7 +997,7 @@ var PixodeskAnimator = (() => {
|
|
|
966
997
|
PxScrollPhase.exit,
|
|
967
998
|
PxScrollPhase.entryCrossing,
|
|
968
999
|
PxScrollPhase.exitCrossing
|
|
969
|
-
]).optional(),
|
|
1000
|
+
], PxScrollPhase.cover).optional(),
|
|
970
1001
|
fraction: px.number().optional()
|
|
971
1002
|
}));
|
|
972
1003
|
var PxScrollRangeSchema = px.object({
|
|
@@ -974,37 +1005,37 @@ var PixodeskAnimator = (() => {
|
|
|
974
1005
|
end: PxScrollRangePointSchema.optional()
|
|
975
1006
|
});
|
|
976
1007
|
var PxScrollSchema = implementsInterface()(px.object({
|
|
977
|
-
kind: px.enum([PxScrollKind.view, PxScrollKind.scroll]).optional(),
|
|
978
|
-
axis: px.enum([PxScrollAxis.block, PxScrollAxis.inline, PxScrollAxis.x, PxScrollAxis.y]).optional(),
|
|
979
|
-
source: px.enum([PxScrollSource.nearest, PxScrollSource.root]).optional(),
|
|
1008
|
+
kind: px.enum([PxScrollKind.view, PxScrollKind.scroll], PxScrollKind.view).optional(),
|
|
1009
|
+
axis: px.enum([PxScrollAxis.block, PxScrollAxis.inline, PxScrollAxis.x, PxScrollAxis.y], PxScrollAxis.block).optional(),
|
|
1010
|
+
source: px.enum([PxScrollSource.nearest, PxScrollSource.root], PxScrollSource.nearest).optional(),
|
|
980
1011
|
// Free-form: the two keywords `parent`/`scroller` plus any CSS selector.
|
|
981
1012
|
subject: px.string().optional(),
|
|
982
1013
|
smoothing: px.number().optional(),
|
|
983
|
-
pin: px.boolean().optional(),
|
|
984
|
-
pinAlign: px.enum([PxPinAlign.top, PxPinAlign.center, PxPinAlign.bottom]).optional(),
|
|
1014
|
+
pin: px.boolean(false).optional(),
|
|
1015
|
+
pinAlign: px.enum([PxPinAlign.top, PxPinAlign.center, PxPinAlign.bottom], PxPinAlign.top).optional(),
|
|
985
1016
|
pinOffset: px.number().optional(),
|
|
986
1017
|
pinDistance: px.number().optional(),
|
|
987
1018
|
range: PxScrollRangeSchema.optional()
|
|
988
1019
|
}));
|
|
989
1020
|
var PxTimelinePinSchema = implementsInterface()(px.object({
|
|
990
|
-
align: px.enum([PxPinAlign.top, PxPinAlign.center, PxPinAlign.bottom]).optional(),
|
|
1021
|
+
align: px.enum([PxPinAlign.top, PxPinAlign.center, PxPinAlign.bottom], PxPinAlign.top).optional(),
|
|
991
1022
|
offset: px.number().optional(),
|
|
992
1023
|
distance: px.number().optional()
|
|
993
1024
|
}));
|
|
994
|
-
var PxTimelineEngineSchema = px.enum([PxTimelineEngineSetting.auto, PxTimelineEngineSetting.native, PxTimelineEngineSetting.js]).optional();
|
|
1025
|
+
var PxTimelineEngineSchema = px.enum([PxTimelineEngineSetting.auto, PxTimelineEngineSetting.native, PxTimelineEngineSetting.js], PxTimelineEngineSetting.auto).optional();
|
|
995
1026
|
var PxTimeTimelineSchema = implementsInterface()(px.object({
|
|
996
1027
|
type: px.literal("time").optional(),
|
|
997
1028
|
engine: PxTimelineEngineSchema,
|
|
998
1029
|
frameRate: px.number().optional(),
|
|
999
1030
|
// §2.8: duration is a property of the TIMELINE — how long one pass takes.
|
|
1000
|
-
duration: px.number().optional(),
|
|
1031
|
+
duration: px.number(PX_DEFAULT_DURATION_MS).optional(),
|
|
1001
1032
|
trigger: PxTriggerSchema.optional(),
|
|
1002
|
-
delay: px.number().optional(),
|
|
1003
|
-
iterations: px.union([px.number(), px.literal("infinite")]).optional(),
|
|
1033
|
+
delay: px.number(0).optional(),
|
|
1034
|
+
iterations: px.union([px.number(PX_DEFAULT_ITERATIONS), px.literal("infinite")], PX_DEFAULT_ITERATIONS).optional(),
|
|
1004
1035
|
// `fillMode` on the wire (CSS `animation-fill-mode`; the runtime view calls it `fill`)
|
|
1005
1036
|
// — never `fill`, which is paint everywhere else in the format.
|
|
1006
|
-
fillMode: px.enum([PxFillMode.forwards, PxFillMode.backwards, PxFillMode.both, PxFillMode.none]).optional(),
|
|
1007
|
-
direction: px.enum([PxPlaybackDirection.normal, PxPlaybackDirection.reverse, PxPlaybackDirection.alternate, PxPlaybackDirection.alternateReverse]).optional()
|
|
1037
|
+
fillMode: px.enum([PxFillMode.forwards, PxFillMode.backwards, PxFillMode.both, PxFillMode.none], PxFillMode.forwards).optional(),
|
|
1038
|
+
direction: px.enum([PxPlaybackDirection.normal, PxPlaybackDirection.reverse, PxPlaybackDirection.alternate, PxPlaybackDirection.alternateReverse], PxPlaybackDirection.normal).optional()
|
|
1008
1039
|
}));
|
|
1009
1040
|
var scrollishTimelineShape = {
|
|
1010
1041
|
// §2.8: duration is a property of the TIMELINE — under scrubbing it is the keyframe
|
|
@@ -1015,8 +1046,8 @@ var PixodeskAnimator = (() => {
|
|
|
1015
1046
|
iterations: px.number().optional(),
|
|
1016
1047
|
engine: PxTimelineEngineSchema,
|
|
1017
1048
|
frameRate: px.number().optional(),
|
|
1018
|
-
axis: px.enum([PxScrollAxis.block, PxScrollAxis.inline, PxScrollAxis.x, PxScrollAxis.y]).optional(),
|
|
1019
|
-
source: px.enum([PxScrollSource.nearest, PxScrollSource.root]).optional(),
|
|
1049
|
+
axis: px.enum([PxScrollAxis.block, PxScrollAxis.inline, PxScrollAxis.x, PxScrollAxis.y], PxScrollAxis.block).optional(),
|
|
1050
|
+
source: px.enum([PxScrollSource.nearest, PxScrollSource.root], PxScrollSource.nearest).optional(),
|
|
1020
1051
|
subject: px.string().optional(),
|
|
1021
1052
|
// 'parent' | 'scroller' | any CSS selector
|
|
1022
1053
|
smoothing: px.number().optional(),
|
|
@@ -1096,9 +1127,10 @@ var PixodeskAnimator = (() => {
|
|
|
1096
1127
|
}));
|
|
1097
1128
|
var PxMaskedByEffectSchema = implementsInterface()(px.object({
|
|
1098
1129
|
source: px.string().optional(),
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1130
|
+
// SVG's own initial values — what a <mask> does when the attribute is not there.
|
|
1131
|
+
maskType: px.enum([PxMaskType.luminance, PxMaskType.alpha], PxMaskType.luminance).optional(),
|
|
1132
|
+
maskUnits: px.enum([PxUnits.userSpaceOnUse, PxUnits.objectBoundingBox], PxUnits.objectBoundingBox).optional(),
|
|
1133
|
+
maskContentUnits: px.enum([PxUnits.userSpaceOnUse, PxUnits.objectBoundingBox], PxUnits.userSpaceOnUse).optional(),
|
|
1102
1134
|
x: px.number().optional(),
|
|
1103
1135
|
y: px.number().optional(),
|
|
1104
1136
|
width: px.number().optional(),
|
|
@@ -1110,7 +1142,7 @@ var PixodeskAnimator = (() => {
|
|
|
1110
1142
|
var PxStrokeTrimEffectSchema = implementsInterface()(px.object({
|
|
1111
1143
|
offset: PxAnimatableNumberSchema.optional(),
|
|
1112
1144
|
range: PxAnimatableVec2Schema.optional(),
|
|
1113
|
-
subPaths: px.enum([PxStrokeTrimSubPaths.separate, PxStrokeTrimSubPaths.combined]).optional()
|
|
1145
|
+
subPaths: px.enum([PxStrokeTrimSubPaths.separate, PxStrokeTrimSubPaths.combined], PxStrokeTrimSubPaths.separate).optional()
|
|
1114
1146
|
}));
|
|
1115
1147
|
var PxRetimeEffectSchema = implementsInterface()(px.object({
|
|
1116
1148
|
start: px.number().optional(),
|
|
@@ -1142,17 +1174,20 @@ var PixodeskAnimator = (() => {
|
|
|
1142
1174
|
radius: PxAnimatableNumberSchema.optional(),
|
|
1143
1175
|
focal: PxAnimatableVec2Schema.optional(),
|
|
1144
1176
|
stops: PxAnimatableGradientStopsSchema.optional(),
|
|
1145
|
-
|
|
1146
|
-
|
|
1177
|
+
// SVG's own initial values — what a gradient does when the attribute is not there.
|
|
1178
|
+
gradientUnits: px.enum([PxUnits.userSpaceOnUse, PxUnits.objectBoundingBox], PxUnits.objectBoundingBox).optional(),
|
|
1179
|
+
spreadMethod: px.enum([PxGradientSpreadMethod.pad, PxGradientSpreadMethod.reflect, PxGradientSpreadMethod.repeat], PxGradientSpreadMethod.pad).optional(),
|
|
1147
1180
|
gradientTransform: px.string().optional()
|
|
1148
1181
|
}));
|
|
1149
1182
|
var PxStrokeGradientEffectSchema = PxFillGradientEffectSchema;
|
|
1150
1183
|
var PxTextPathEffectSchema = implementsInterface()(px.object({
|
|
1151
1184
|
pathData: px.string(),
|
|
1152
|
-
pathOverflow
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1185
|
+
// `extend` is what an omitted pathOverflow means (glyphs continue along the tangent); the
|
|
1186
|
+
// other three are SVG's own initial values for the native <textPath> attributes.
|
|
1187
|
+
pathOverflow: px.enum([PxPathOverflow.clip, PxPathOverflow.extend], PxPathOverflow.extend).optional(),
|
|
1188
|
+
lengthAdjust: px.enum([PxLengthAdjust.spacing, PxLengthAdjust.spacingAndGlyphs], PxLengthAdjust.spacing).optional(),
|
|
1189
|
+
method: px.enum([PxTextPathMethod.align, PxTextPathMethod.stretch], PxTextPathMethod.align).optional(),
|
|
1190
|
+
spacing: px.enum([PxTextPathSpacing.auto, PxTextPathSpacing.exact], PxTextPathSpacing.exact).optional(),
|
|
1156
1191
|
startOffset: PxAnimatableNumberSchema.optional(),
|
|
1157
1192
|
textLength: PxAnimatableNumberSchema.optional()
|
|
1158
1193
|
}));
|
|
@@ -1716,7 +1751,6 @@ var PixodeskAnimator = (() => {
|
|
|
1716
1751
|
return Object.keys(out).length ? out : void 0;
|
|
1717
1752
|
}
|
|
1718
1753
|
var PX_STYLE_ATTR_NAMES = /* @__PURE__ */ new Set(["offset-distance", "offsetDistance"]);
|
|
1719
|
-
var PX_DEFAULT_DURATION_MS = 1e3;
|
|
1720
1754
|
function kebabToCamelCaseWord(kebab) {
|
|
1721
1755
|
return kebab.includes("-") ? kebab.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase()) : kebab;
|
|
1722
1756
|
}
|
|
@@ -5754,9 +5788,10 @@ var PixodeskAnimator = (() => {
|
|
|
5754
5788
|
// ../svg-animator-core/src/materialize/PxRestPose.ts
|
|
5755
5789
|
var TRANSFORM_CHANNEL = "transform";
|
|
5756
5790
|
var REVERSED_DIRECTIONS = /* @__PURE__ */ new Set(["reverse", "alternate-reverse"]);
|
|
5791
|
+
var VERIFY_SAMPLE_FRACTIONS = [0, 0.25, 0.5, 0.75, 1];
|
|
5757
5792
|
var SCRATCH_ID_PREFIX = "__px_rest_";
|
|
5758
5793
|
function materializeRestPosesInTree(root, engine) {
|
|
5759
|
-
var _a2;
|
|
5794
|
+
var _a2, _b;
|
|
5760
5795
|
const out = deepClone(root);
|
|
5761
5796
|
const config = getAnimatorConfig(out) || {};
|
|
5762
5797
|
const duration = +(config.duration || PX_DEFAULT_DURATION_MS);
|
|
@@ -5768,18 +5803,27 @@ var PixodeskAnimator = (() => {
|
|
|
5768
5803
|
for (const [key, animate] of before) {
|
|
5769
5804
|
const node = nodes.get(key);
|
|
5770
5805
|
if (!node) continue;
|
|
5771
|
-
|
|
5806
|
+
const channels = Object.keys(animate);
|
|
5807
|
+
for (const channel of channels) {
|
|
5808
|
+
if (PX_TRANSFORM_FN_NAMES.has(channel)) continue;
|
|
5772
5809
|
if (!mayCarryRestPose(node, channel)) continue;
|
|
5773
5810
|
const value = firstFrameValue(animate, channel, firstFrameTime);
|
|
5774
5811
|
if (value === void 0) continue;
|
|
5775
5812
|
node[channel] = value;
|
|
5776
5813
|
added.set(key, [...(_a2 = added.get(key)) != null ? _a2 : [], channel]);
|
|
5777
5814
|
}
|
|
5815
|
+
if (channels.some((channel) => PX_TRANSFORM_FN_NAMES.has(channel)) && mayCarryTransformRestPose(node)) {
|
|
5816
|
+
const parts = firstFrameTransformParts(animate, firstFrameTime);
|
|
5817
|
+
if (parts) {
|
|
5818
|
+
node[TRANSFORM_CHANNEL] = parts;
|
|
5819
|
+
added.set(key, [...(_b = added.get(key)) != null ? _b : [], TRANSFORM_CHANNEL]);
|
|
5820
|
+
}
|
|
5821
|
+
}
|
|
5778
5822
|
}
|
|
5779
5823
|
if (added.size) {
|
|
5780
5824
|
const after = bindingsOf(out, engine);
|
|
5781
5825
|
for (const [key, channels] of added) {
|
|
5782
|
-
if (
|
|
5826
|
+
if (writesTheSameFrames(before.get(key), after.get(key), duration)) continue;
|
|
5783
5827
|
const node = nodes.get(key);
|
|
5784
5828
|
if (node) for (const channel of channels) delete node[channel];
|
|
5785
5829
|
}
|
|
@@ -5788,16 +5832,31 @@ var PixodeskAnimator = (() => {
|
|
|
5788
5832
|
}
|
|
5789
5833
|
function mayCarryRestPose(node, channel) {
|
|
5790
5834
|
if (node[channel] !== void 0) return false;
|
|
5791
|
-
if (
|
|
5792
|
-
|
|
5793
|
-
|
|
5794
|
-
|
|
5835
|
+
if (channel === TRANSFORM_CHANNEL) return mayCarryTransformRestPose(node);
|
|
5836
|
+
return true;
|
|
5837
|
+
}
|
|
5838
|
+
function mayCarryTransformRestPose(node) {
|
|
5839
|
+
if (node[TRANSFORM_CHANNEL] !== void 0) return false;
|
|
5840
|
+
for (const part of PX_TRANSFORM_FN_NAMES) if (node[part] !== void 0) return false;
|
|
5795
5841
|
return true;
|
|
5796
5842
|
}
|
|
5797
5843
|
function firstFrameValue(animate, channel, timeMs) {
|
|
5798
5844
|
const values = Object.values(calcAnimationValues({ [channel]: animate[channel] }, timeMs));
|
|
5799
5845
|
return values.length === 1 && values[0] !== "" ? values[0] : void 0;
|
|
5800
5846
|
}
|
|
5847
|
+
function firstFrameTransformParts(animate, timeMs) {
|
|
5848
|
+
const family = {};
|
|
5849
|
+
for (const channel of Object.keys(animate)) if (PX_TRANSFORM_FN_NAMES.has(channel)) family[channel] = animate[channel];
|
|
5850
|
+
const written = calcAnimationValues(family, timeMs)[TRANSFORM_CHANNEL];
|
|
5851
|
+
if (!written) return void 0;
|
|
5852
|
+
const parts = parseTransformParts(written.replace(/(px|deg)\b/g, ""));
|
|
5853
|
+
return parts && Object.keys(parts).length ? parts : void 0;
|
|
5854
|
+
}
|
|
5855
|
+
function writesTheSameFrames(a, b, durationMs) {
|
|
5856
|
+
if (!a || !b) return a === b;
|
|
5857
|
+
const frame = (animate, t) => JSON.stringify(calcAnimationValues(animate, t)).replace(/\s+/g, "");
|
|
5858
|
+
return VERIFY_SAMPLE_FRACTIONS.every((fraction) => frame(a, fraction * durationMs) === frame(b, fraction * durationMs));
|
|
5859
|
+
}
|
|
5801
5860
|
function bindingsOf(tree, engine) {
|
|
5802
5861
|
const scratch = deepClone(tree);
|
|
5803
5862
|
const keyById = /* @__PURE__ */ new Map();
|
|
@@ -5922,13 +5981,13 @@ var PixodeskAnimator = (() => {
|
|
|
5922
5981
|
const bindings = normalizeBindings(doc, PxTimelineEngine.js);
|
|
5923
5982
|
const _iterations = config.iterations;
|
|
5924
5983
|
let iterations = 1;
|
|
5925
|
-
if (typeof _iterations === "number") iterations = _iterations ||
|
|
5984
|
+
if (typeof _iterations === "number") iterations = _iterations || PX_DEFAULT_ITERATIONS;
|
|
5926
5985
|
if (_iterations === "infinite") iterations = Infinity;
|
|
5927
5986
|
if (iterations < 1) iterations = 1;
|
|
5928
5987
|
const duration = +(config.duration || PX_DEFAULT_DURATION_MS);
|
|
5929
|
-
const totalDuration = duration && iterations ? duration * (iterations === Infinity ? Infinity : iterations) : duration ? (iterations != null ? iterations :
|
|
5930
|
-
const direction = config.direction ||
|
|
5931
|
-
const fill = (_a2 = config.fill) != null ? _a2 :
|
|
5988
|
+
const totalDuration = duration && iterations ? duration * (iterations === Infinity ? Infinity : iterations) : duration ? (iterations != null ? iterations : PX_DEFAULT_ITERATIONS) * duration : 0;
|
|
5989
|
+
const direction = config.direction || PxTimeTimelineSchema.defaults.direction;
|
|
5990
|
+
const fill = (_a2 = config.fill) != null ? _a2 : PxTimeTimelineSchema.defaults.fillMode;
|
|
5932
5991
|
const fillsForwards = fill === "forwards" || fill === "both";
|
|
5933
5992
|
const fillsBackwards = fill === "backwards" || fill === "both";
|
|
5934
5993
|
let timerId = null;
|
|
@@ -7017,7 +7076,7 @@ var PixodeskAnimator = (() => {
|
|
|
7017
7076
|
let seekPosition;
|
|
7018
7077
|
if (config.delay && config.delay < 0 && config.duration) {
|
|
7019
7078
|
const rawSeek = -config.delay;
|
|
7020
|
-
seekPosition = iterations === Infinity ? rawSeek % config.duration : Math.min(rawSeek, config.duration * (iterations != null ? iterations :
|
|
7079
|
+
seekPosition = iterations === Infinity ? rawSeek % config.duration : Math.min(rawSeek, config.duration * (iterations != null ? iterations : PX_DEFAULT_ITERATIONS));
|
|
7021
7080
|
}
|
|
7022
7081
|
const effectOptions = {
|
|
7023
7082
|
duration: config.duration,
|
|
@@ -7124,7 +7183,7 @@ var PixodeskAnimator = (() => {
|
|
|
7124
7183
|
},
|
|
7125
7184
|
"setCurrentTime": (time) => {
|
|
7126
7185
|
var _a3;
|
|
7127
|
-
const ceiling = seekCeilingMs((_a3 = config.duration) != null ? _a3 : 0, iterations != null ? iterations :
|
|
7186
|
+
const ceiling = seekCeilingMs((_a3 = config.duration) != null ? _a3 : 0, iterations != null ? iterations : PX_DEFAULT_ITERATIONS);
|
|
7128
7187
|
const seek = ceiling > 0 ? clampSeekMs(time, ceiling) : Math.max(0, time);
|
|
7129
7188
|
finishNotified = false;
|
|
7130
7189
|
animations.forEach((a) => {
|
|
@@ -7134,11 +7193,11 @@ var PixodeskAnimator = (() => {
|
|
|
7134
7193
|
"getCurrentProgress": () => {
|
|
7135
7194
|
var _a3;
|
|
7136
7195
|
const t = api.getCurrentTime();
|
|
7137
|
-
return t === null ? null : timeToProgress(t, (_a3 = config.duration) != null ? _a3 : 0, iterations != null ? iterations :
|
|
7196
|
+
return t === null ? null : timeToProgress(t, (_a3 = config.duration) != null ? _a3 : 0, iterations != null ? iterations : PX_DEFAULT_ITERATIONS);
|
|
7138
7197
|
},
|
|
7139
7198
|
"setCurrentProgress": (progress) => {
|
|
7140
7199
|
var _a3;
|
|
7141
|
-
api.setCurrentTime(progressToTimeMs(progress, (_a3 = config.duration) != null ? _a3 : 0, iterations != null ? iterations :
|
|
7200
|
+
api.setCurrentTime(progressToTimeMs(progress, (_a3 = config.duration) != null ? _a3 : 0, iterations != null ? iterations : PX_DEFAULT_ITERATIONS));
|
|
7142
7201
|
},
|
|
7143
7202
|
"destroy": () => {
|
|
7144
7203
|
var _a3;
|