3 lines
7.5 KiB
JavaScript
3 lines
7.5 KiB
JavaScript
|
|
// DOMMatrix v1.0.3 | thednp © 2022 | MIT-License
|
||
|
|
!function(t,m){"object"==typeof exports&&"undefined"!=typeof module?module.exports=m():"function"==typeof define&&define.amd?define(m):(t="undefined"!=typeof globalThis?globalThis:t||self).CSSMatrix=m()}(this,(function(){"use strict";function t(t){var m=new l,r=Array.from(t);if(!r.every((function(t){return!Number.isNaN(t)})))throw TypeError('CSSMatrix: "'+t+'" must only have numbers.');if(16===r.length){var e=r[0],n=r[1],i=r[2],o=r[3],a=r[4],s=r[5],u=r[6],f=r[7],c=r[8],p=r[9],y=r[10],v=r[11],h=r[12],d=r[13],M=r[14],w=r[15];m.m11=e,m.a=e,m.m21=a,m.c=a,m.m31=c,m.m41=h,m.e=h,m.m12=n,m.b=n,m.m22=s,m.d=s,m.m32=p,m.m42=d,m.f=d,m.m13=i,m.m23=u,m.m33=y,m.m43=M,m.m14=o,m.m24=f,m.m34=v,m.m44=w}else{if(6!==r.length)throw new TypeError("CSSMatrix: expecting an Array of 6/16 values.");var b=r[0],g=r[1],N=r[2],x=r[3],S=r[4],A=r[5];m.m11=b,m.a=b,m.m12=g,m.b=g,m.m21=N,m.c=N,m.m22=x,m.d=x,m.m41=S,m.e=S,m.m42=A,m.f=A}return m}function m(m){var r=Object.keys(new l);if("object"==typeof m&&r.every((function(t){return t in m})))return t([m.m11,m.m12,m.m13,m.m14,m.m21,m.m22,m.m23,m.m24,m.m31,m.m32,m.m33,m.m34,m.m41,m.m42,m.m43,m.m44]);throw TypeError('CSSMatrix: "'+JSON.stringify(m)+'" is not a DOMMatrix / CSSMatrix / JSON compatible object.')}function r(m){if("string"!=typeof m)throw TypeError('CSSMatrix: "'+m+'" is not a string.');var r=String(m).replace(/\s/g,""),e=new l,n='CSSMatrix: invalid transform string "'+m+'"';return r.split(")").filter((function(t){return t})).forEach((function(m){var r=m.split("("),i=r[0],o=r[1];if(!o)throw TypeError(n);var a=o.split(",").map((function(t){return t.includes("rad")?parseFloat(t)*(180/Math.PI):parseFloat(t)})),s=a[0],u=a[1],f=a[2],c=a[3],l=[s,u,f],p=[s,u,f,c];if("perspective"===i&&s&&[u,f].every((function(t){return void 0===t})))e.m34=-1/s;else if(i.includes("matrix")&&[6,16].includes(a.length)&&a.every((function(t){return!Number.isNaN(+t)}))){var y=a.map((function(t){return Math.abs(t)<1e-6?0:t}));e=e.multiply(t(y))}else if("translate3d"===i&&l.every((function(t){return!Number.isNaN(+t)})))e=e.translate(s,u,f);else if("translate"===i&&s&&void 0===f)e=e.translate(s,u||0,0);else if("rotate3d"===i&&p.every((function(t){return!Number.isNaN(+t)}))&&c)e=e.rotateAxisAngle(s,u,f,c);else if("rotate"===i&&s&&[u,f].every((function(t){return void 0===t})))e=e.rotate(0,0,s);else if("scale3d"===i&&l.every((function(t){return!Number.isNaN(+t)}))&&l.some((function(t){return 1!==t})))e=e.scale(s,u,f);else if("scale"!==i||Number.isNaN(s)||1===s||void 0!==f)if("skew"===i&&(s||!Number.isNaN(s)&&u)&&void 0===f)e=e.skew(s,u||0);else{if(!(/[XYZ]/.test(i)&&s&&[u,f].every((function(t){return void 0===t}))&&["translate","rotate","scale","skew"].some((function(t){return i.includes(t)}))))throw TypeError(n);if(["skewX","skewY"].includes(i))e=e[i](s);else{var v=i.replace(/[XYZ]/,""),h=i.replace(v,""),d=["X","Y","Z"].indexOf(h),M="scale"===v?1:0,w=[0===d?s:M,1===d?s:M,2===d?s:M];e=e[v].apply(e,w)}}else{var b=Number.isNaN(+u)?s:u;e=e.scale(s,b,1)}})),e}function e(t,m){return m?[t.a,t.b,t.c,t.d,t.e,t.f]:[t.m11,t.m12,t.m13,t.m14,t.m21,t.m22,t.m23,t.m24,t.m31,t.m32,t.m33,t.m34,t.m41,t.m42,t.m43,t.m44]}function n(t,m,r){var e=new l;return e.m41=t,e.e=t,e.m42=m,e.f=m,e.m43=r,e}function i(t,m,r){var e=new l,n=Math.PI/180,i=t*n,o=m*n,a=r*n,s=Math.cos(i),u=-Math.sin(i),f=Math.cos(o),c=-Math.sin(o),p=Math.cos(a),y=-Math.sin(a),v=f*p,h=-f*y;e.m11=v,e.a=v,e.m12=h,e.b=h,e.m13=c;var d=u*c*p+s*y;e.m21=d,e.c=d;var M=s*p-u*c*y;return e.m22=M,e.d=M,e.m23=-u*f,e.m31=u*y-s*c*p,e.m32=u*p+s*c*y,e.m33=s*f,e}function o(t,m,r,e){var n=new l,i=Math.sqrt(t*t+m*m+r*r);if(0===i)return n;var o=t/i,a=m/i,s=r/i,u=e*(Math.PI/360),f=Math.sin(u),c=Math.cos(u),p=f*f,y=o*o,v=a*a,h=s*s,d=1-2*(v+h)*p;n.m11=d,n.a=d;var M=2*(o*a*p+s*f*c);n.m12=M,n.b=M,n.m13=2*(o*s*p-a*f*c);var w=2*(a*o*p-s*f*c);n.m21=w,n.c=w;var b=1-2*(h+y)*p;return n.m22=b,n.d=b,n.m23=2*(a*s*p+o*f*c),n.m31=2*(s*o*p+a*f*c),n.m32=2*(s*a*p-o*f*c),n.m33=1-2*(y+v)*p,n}function a(t,m,r){var e=new l;return e.m11=t,e.a=t,e.m22=m,e.d=m,e.m33=r,e}function s(t,m){var r=new l;if(t){var e=t*Math.PI/180,n=Math.tan
|