Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

dommatrix

Package Overview
Dependencies
Maintainers
1
Versions
43
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dommatrix - npm Package Compare versions

Comparing version 0.0.22 to 0.0.23

src/index.js

14

dist/dommatrix.esm.js
/*!
* DOMMatrix v0.0.22 (https://thednp.github.io/DOMMatrix/)
* DOMMatrix v0.0.23 (https://thednp.github.io/DOMMatrix/)
* Copyright 2021 © thednp

@@ -797,2 +797,14 @@ * Licensed under MIT (https://github.com/thednp/DOMMatrix/blob/master/LICENSE)

var version = "0.0.23";
// @ts-ignore
/**
* A global namespace for library version.
* @type {string}
*/
const Version = version;
Object.assign(CSSMatrix, { Version });
export { CSSMatrix as default };

4

dist/dommatrix.esm.min.js

@@ -1,2 +0,2 @@

// DOMMatrix v0.0.22 | thednp © 2021 | MIT-License
function m(m){const t=new l,e=Array.from(m);if(!e.every(m=>!Number.isNaN(m)))throw TypeError(`CSSMatrix: "${m}" must only have numbers.`);if(16===e.length){const[m,r,s,n,i,a,o,c,l,u,h,f,y,d,w,p]=e;t.m11=m,t.a=m,t.m21=i,t.c=i,t.m31=l,t.m41=y,t.e=y,t.m12=r,t.b=r,t.m22=a,t.d=a,t.m32=u,t.m42=d,t.f=d,t.m13=s,t.m23=o,t.m33=h,t.m43=w,t.m14=n,t.m24=c,t.m34=f,t.m44=p}else{if(6!==e.length)throw new TypeError("CSSMatrix: expecting an Array of 6/16 values.");{const[m,r,s,n,i,a]=e;t.m11=m,t.a=m,t.m12=r,t.b=r,t.m21=s,t.c=s,t.m22=n,t.d=n,t.m41=i,t.e=i,t.m42=a,t.f=a}}return t}function t(t){const e=Object.keys(new l);if("object"==typeof t&&e.every(m=>m in t))return m([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]);throw TypeError(`CSSMatrix: "${t}" is not a DOMMatrix / CSSMatrix / JSON compatible object.`)}function e(t){if("string"!=typeof t)throw TypeError(`CSSMatrix: "${t}" is not a string.`);const e=String(t).replace(/\s/g,"");let r=new l;const s=`CSSMatrix: invalid transform string "${t}"`;return e.split(")").filter(m=>m).forEach(t=>{const[e,n]=t.split("(");if(!n)throw TypeError(s);const i=n.split(",").map(m=>m.includes("rad")?parseFloat(m)*(180/Math.PI):parseFloat(m)),[a,o,c,l]=i,u=[a,o,c],h=[a,o,c,l];if("perspective"===e&&a&&[o,c].every(m=>void 0===m))r.m34=-1/a;else if(e.includes("matrix")&&[6,16].includes(i.length)&&i.every(m=>!Number.isNaN(+m))){const t=i.map(m=>Math.abs(m)<1e-6?0:m);r=r.multiply(m(t))}else if("translate3d"===e&&u.every(m=>!Number.isNaN(+m)))r=r.translate(a,o,c);else if("translate"===e&&a&&void 0===c)r=r.translate(a,o||0,0);else if("rotate3d"===e&&h.every(m=>!Number.isNaN(+m))&&l)r=r.rotateAxisAngle(a,o,c,l);else if("rotate"===e&&a&&[o,c].every(m=>void 0===m))r=r.rotate(0,0,a);else if("scale3d"===e&&u.every(m=>!Number.isNaN(+m))&&u.some(m=>1!==m))r=r.scale(a,o,c);else if("scale"!==e||Number.isNaN(a)||1===a||void 0!==c)if("skew"===e&&a&&void 0===c)r=r.skewX(a),r=o?r.skewY(o):r;else{if(!(/[XYZ]/.test(e)&&a&&[o,c].every(m=>void 0===m)&&["translate","rotate","scale","skew"].some(m=>e.includes(m))))throw TypeError(s);if(["skewX","skewY"].includes(e))r=r[e](a);else{const m=e.replace(/[XYZ]/,""),t=e.replace(m,""),s=["X","Y","Z"].indexOf(t),n=[0===s?a:0,1===s?a:0,2===s?a:0];r=r[m](...n)}}else{const m=Number.isNaN(+o)?a:o;r=r.scale(a,m,1)}}),r}function r(m,t,e){const r=new l;return r.m41=m,r.e=m,r.m42=t,r.f=t,r.m43=e,r}function s(m,t,e){const r=new l,s=Math.PI/180,n=m*s,i=t*s,a=e*s,o=Math.cos(n),c=-Math.sin(n),u=Math.cos(i),h=-Math.sin(i),f=Math.cos(a),y=-Math.sin(a),d=u*f,w=-u*y;r.m11=d,r.a=d,r.m12=w,r.b=w,r.m13=h;const p=c*h*f+o*y;r.m21=p,r.c=p;const M=o*f-c*h*y;return r.m22=M,r.d=M,r.m23=-c*u,r.m31=c*y-o*h*f,r.m32=c*f+o*h*y,r.m33=o*u,r}function n(m,t,e,r){const s=new l,n=r*(Math.PI/360),i=Math.sin(n),a=Math.cos(n),o=i*i,c=Math.sqrt(m*m+t*t+e*e);let u=m,h=t,f=e;0===c?(u=0,h=0,f=1):(u/=c,h/=c,f/=c);const y=u*u,d=h*h,w=f*f,p=1-2*(d+w)*o;s.m11=p,s.a=p;const M=2*(u*h*o+f*i*a);s.m12=M,s.b=M,s.m13=2*(u*f*o-h*i*a);const x=2*(h*u*o-f*i*a);s.m21=x,s.c=x;const v=1-2*(w+y)*o;return s.m22=v,s.d=v,s.m23=2*(h*f*o+u*i*a),s.m31=2*(f*u*o+h*i*a),s.m32=2*(f*h*o-u*i*a),s.m33=1-2*(y+d)*o,s}function i(m,t,e){const r=new l;return r.m11=m,r.a=m,r.m22=t,r.d=t,r.m33=e,r}function a(m){const t=new l,e=m*Math.PI/180,r=Math.tan(e);return t.m21=r,t.c=r,t}function o(m){const t=new l,e=m*Math.PI/180,r=Math.tan(e);return t.m12=r,t.b=r,t}function c(t,e){return m([e.m11*t.m11+e.m12*t.m21+e.m13*t.m31+e.m14*t.m41,e.m11*t.m12+e.m12*t.m22+e.m13*t.m32+e.m14*t.m42,e.m11*t.m13+e.m12*t.m23+e.m13*t.m33+e.m14*t.m43,e.m11*t.m14+e.m12*t.m24+e.m13*t.m34+e.m14*t.m44,e.m21*t.m11+e.m22*t.m21+e.m23*t.m31+e.m24*t.m41,e.m21*t.m12+e.m22*t.m22+e.m23*t.m32+e.m24*t.m42,e.m21*t.m13+e.m22*t.m23+e.m23*t.m33+e.m24*t.m43,e.m21*t.m14+e.m22*t.m24+e.m23*t.m34+e.m24*t.m44,e.m31*t.m11+e.m32*t.m21+e.m33*t.m31+e.m34*t.m41,e.m31*t.m12+e.m32*t.m22+e.m33*t.m32+e.m34*t.m42,e.m31*t.m13+e.m32*t.m23+e.m33*t.m33+e.m34*t.m43,e.m31*t.m14+e.m32*t.m24+e.m33*t.m34+e.m34*t.m44,e.m41*t.m11+e.m42*t.m21+e.m43*t.m31+e.m44*t.m41,e.m41*t.m12+e.m42*t.m22+e.m43*t.m32+e.m44*t.m42,e.m41*t.m13+e.m42*t.m23+e.m43*t.m33+e.m44*t.m43,e.m41*t.m14+e.m42*t.m24+e.m43*t.m34+e.m44*t.m44])}class l{constructor(...m){const t=this;if(t.a=1,t.b=0,t.c=0,t.d=1,t.e=0,t.f=0,t.m11=1,t.m12=0,t.m13=0,t.m14=0,t.m21=0,t.m22=1,t.m23=0,t.m24=0,t.m31=0,t.m32=0,t.m33=1,t.m34=0,t.m41=0,t.m42=0,t.m43=0,t.m44=1,m&&m.length){const e=[16,6].some(t=>t===m.length)?m:m[0];return t.setMatrixValue(e)}return t}set isIdentity(m){this.isIdentity=m}get isIdentity(){const m=this;return 1===m.m11&&0===m.m12&&0===m.m13&&0===m.m14&&0===m.m21&&1===m.m22&&0===m.m23&&0===m.m24&&0===m.m31&&0===m.m32&&1===m.m33&&0===m.m34&&0===m.m41&&0===m.m42&&0===m.m43&&1===m.m44}get is2D(){const m=this;return 0===m.m31&&0===m.m32&&1===m.m33&&0===m.m34&&0===m.m43&&1===m.m44}set is2D(m){this.is2D=m}setMatrixValue(r){return[Array,Float64Array,Float32Array].some(m=>r instanceof m)?m(r):"string"==typeof r&&r.length&&"none"!==r?e(r):"object"==typeof r?t(r):this}toArray(){const m=this;let t;return t=m.is2D?[m.a,m.b,m.c,m.d,m.e,m.f]:[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],t.map(m=>Math.abs(m)<1e-6?0:(m*10**6>>0)/10**6)}toString(){const m=this.toArray();return`${this.is2D?"matrix":"matrix3d"}(${m})`}toJSON(){const{is2D:m,isIdentity:t}=this;return{...this,is2D:m,isIdentity:t}}multiply(m){return c(this,m)}translate(m,t,e){let s=t,n=e;return void 0===n&&(n=0),void 0===s&&(s=0),c(this,r(m,s,n))}scale(m,t,e){let r=t,s=e;return void 0===r&&(r=m),void 0===s&&(s=1),c(this,i(m,r,s))}rotate(m,t,e){let r=m,n=t,i=e;return void 0===n&&(n=0),void 0===i&&(i=r,r=0),c(this,s(r,n,i))}rotateAxisAngle(m,t,e,r){if([m,t,e,r].some(m=>Number.isNaN(m)))throw new TypeError("CSSMatrix: expecting 4 values");return c(this,n(m,t,e,r))}skewX(m){return c(this,a(m))}skewY(m){return c(this,o(m))}transformPoint(m){let t=r(m.x,m.y,m.z);return t.m44=m.w||1,t=this.multiply(t),{x:t.m41,y:t.m42,z:t.m43,w:t.m44}}transform(m){const t=this,e=t.m11*m.x+t.m12*m.y+t.m13*m.z+t.m14*m.w,r=t.m21*m.x+t.m22*m.y+t.m23*m.z+t.m24*m.w,s=t.m31*m.x+t.m32*m.y+t.m33*m.z+t.m34*m.w,n=t.m41*m.x+t.m42*m.y+t.m43*m.z+t.m44*m.w;return{x:e/n,y:r/n,z:s/n,w:n}}}Object.assign(l,{Translate:r,Rotate:s,RotateAxisAngle:n,Scale:i,SkewX:a,SkewY:o,Multiply:c,fromArray:m,fromMatrix:t,fromString:e});export{l as default};
// DOMMatrix v0.0.23 | thednp © 2021 | MIT-License
function m(m){const t=new l,e=Array.from(m);if(!e.every(m=>!Number.isNaN(m)))throw TypeError(`CSSMatrix: "${m}" must only have numbers.`);if(16===e.length){const[m,r,s,n,i,a,o,c,l,u,h,f,y,d,w,p]=e;t.m11=m,t.a=m,t.m21=i,t.c=i,t.m31=l,t.m41=y,t.e=y,t.m12=r,t.b=r,t.m22=a,t.d=a,t.m32=u,t.m42=d,t.f=d,t.m13=s,t.m23=o,t.m33=h,t.m43=w,t.m14=n,t.m24=c,t.m34=f,t.m44=p}else{if(6!==e.length)throw new TypeError("CSSMatrix: expecting an Array of 6/16 values.");{const[m,r,s,n,i,a]=e;t.m11=m,t.a=m,t.m12=r,t.b=r,t.m21=s,t.c=s,t.m22=n,t.d=n,t.m41=i,t.e=i,t.m42=a,t.f=a}}return t}function t(t){const e=Object.keys(new l);if("object"==typeof t&&e.every(m=>m in t))return m([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]);throw TypeError(`CSSMatrix: "${t}" is not a DOMMatrix / CSSMatrix / JSON compatible object.`)}function e(t){if("string"!=typeof t)throw TypeError(`CSSMatrix: "${t}" is not a string.`);const e=String(t).replace(/\s/g,"");let r=new l;const s=`CSSMatrix: invalid transform string "${t}"`;return e.split(")").filter(m=>m).forEach(t=>{const[e,n]=t.split("(");if(!n)throw TypeError(s);const i=n.split(",").map(m=>m.includes("rad")?parseFloat(m)*(180/Math.PI):parseFloat(m)),[a,o,c,l]=i,u=[a,o,c],h=[a,o,c,l];if("perspective"===e&&a&&[o,c].every(m=>void 0===m))r.m34=-1/a;else if(e.includes("matrix")&&[6,16].includes(i.length)&&i.every(m=>!Number.isNaN(+m))){const t=i.map(m=>Math.abs(m)<1e-6?0:m);r=r.multiply(m(t))}else if("translate3d"===e&&u.every(m=>!Number.isNaN(+m)))r=r.translate(a,o,c);else if("translate"===e&&a&&void 0===c)r=r.translate(a,o||0,0);else if("rotate3d"===e&&h.every(m=>!Number.isNaN(+m))&&l)r=r.rotateAxisAngle(a,o,c,l);else if("rotate"===e&&a&&[o,c].every(m=>void 0===m))r=r.rotate(0,0,a);else if("scale3d"===e&&u.every(m=>!Number.isNaN(+m))&&u.some(m=>1!==m))r=r.scale(a,o,c);else if("scale"!==e||Number.isNaN(a)||1===a||void 0!==c)if("skew"===e&&a&&void 0===c)r=r.skewX(a),r=o?r.skewY(o):r;else{if(!(/[XYZ]/.test(e)&&a&&[o,c].every(m=>void 0===m)&&["translate","rotate","scale","skew"].some(m=>e.includes(m))))throw TypeError(s);if(["skewX","skewY"].includes(e))r=r[e](a);else{const m=e.replace(/[XYZ]/,""),t=e.replace(m,""),s=["X","Y","Z"].indexOf(t),n=[0===s?a:0,1===s?a:0,2===s?a:0];r=r[m](...n)}}else{const m=Number.isNaN(+o)?a:o;r=r.scale(a,m,1)}}),r}function r(m,t,e){const r=new l;return r.m41=m,r.e=m,r.m42=t,r.f=t,r.m43=e,r}function s(m,t,e){const r=new l,s=Math.PI/180,n=m*s,i=t*s,a=e*s,o=Math.cos(n),c=-Math.sin(n),u=Math.cos(i),h=-Math.sin(i),f=Math.cos(a),y=-Math.sin(a),d=u*f,w=-u*y;r.m11=d,r.a=d,r.m12=w,r.b=w,r.m13=h;const p=c*h*f+o*y;r.m21=p,r.c=p;const M=o*f-c*h*y;return r.m22=M,r.d=M,r.m23=-c*u,r.m31=c*y-o*h*f,r.m32=c*f+o*h*y,r.m33=o*u,r}function n(m,t,e,r){const s=new l,n=r*(Math.PI/360),i=Math.sin(n),a=Math.cos(n),o=i*i,c=Math.sqrt(m*m+t*t+e*e);let u=m,h=t,f=e;0===c?(u=0,h=0,f=1):(u/=c,h/=c,f/=c);const y=u*u,d=h*h,w=f*f,p=1-2*(d+w)*o;s.m11=p,s.a=p;const M=2*(u*h*o+f*i*a);s.m12=M,s.b=M,s.m13=2*(u*f*o-h*i*a);const x=2*(h*u*o-f*i*a);s.m21=x,s.c=x;const v=1-2*(w+y)*o;return s.m22=v,s.d=v,s.m23=2*(h*f*o+u*i*a),s.m31=2*(f*u*o+h*i*a),s.m32=2*(f*h*o-u*i*a),s.m33=1-2*(y+d)*o,s}function i(m,t,e){const r=new l;return r.m11=m,r.a=m,r.m22=t,r.d=t,r.m33=e,r}function a(m){const t=new l,e=m*Math.PI/180,r=Math.tan(e);return t.m21=r,t.c=r,t}function o(m){const t=new l,e=m*Math.PI/180,r=Math.tan(e);return t.m12=r,t.b=r,t}function c(t,e){return m([e.m11*t.m11+e.m12*t.m21+e.m13*t.m31+e.m14*t.m41,e.m11*t.m12+e.m12*t.m22+e.m13*t.m32+e.m14*t.m42,e.m11*t.m13+e.m12*t.m23+e.m13*t.m33+e.m14*t.m43,e.m11*t.m14+e.m12*t.m24+e.m13*t.m34+e.m14*t.m44,e.m21*t.m11+e.m22*t.m21+e.m23*t.m31+e.m24*t.m41,e.m21*t.m12+e.m22*t.m22+e.m23*t.m32+e.m24*t.m42,e.m21*t.m13+e.m22*t.m23+e.m23*t.m33+e.m24*t.m43,e.m21*t.m14+e.m22*t.m24+e.m23*t.m34+e.m24*t.m44,e.m31*t.m11+e.m32*t.m21+e.m33*t.m31+e.m34*t.m41,e.m31*t.m12+e.m32*t.m22+e.m33*t.m32+e.m34*t.m42,e.m31*t.m13+e.m32*t.m23+e.m33*t.m33+e.m34*t.m43,e.m31*t.m14+e.m32*t.m24+e.m33*t.m34+e.m34*t.m44,e.m41*t.m11+e.m42*t.m21+e.m43*t.m31+e.m44*t.m41,e.m41*t.m12+e.m42*t.m22+e.m43*t.m32+e.m44*t.m42,e.m41*t.m13+e.m42*t.m23+e.m43*t.m33+e.m44*t.m43,e.m41*t.m14+e.m42*t.m24+e.m43*t.m34+e.m44*t.m44])}class l{constructor(...m){const t=this;if(t.a=1,t.b=0,t.c=0,t.d=1,t.e=0,t.f=0,t.m11=1,t.m12=0,t.m13=0,t.m14=0,t.m21=0,t.m22=1,t.m23=0,t.m24=0,t.m31=0,t.m32=0,t.m33=1,t.m34=0,t.m41=0,t.m42=0,t.m43=0,t.m44=1,m&&m.length){const e=[16,6].some(t=>t===m.length)?m:m[0];return t.setMatrixValue(e)}return t}set isIdentity(m){this.isIdentity=m}get isIdentity(){const m=this;return 1===m.m11&&0===m.m12&&0===m.m13&&0===m.m14&&0===m.m21&&1===m.m22&&0===m.m23&&0===m.m24&&0===m.m31&&0===m.m32&&1===m.m33&&0===m.m34&&0===m.m41&&0===m.m42&&0===m.m43&&1===m.m44}get is2D(){const m=this;return 0===m.m31&&0===m.m32&&1===m.m33&&0===m.m34&&0===m.m43&&1===m.m44}set is2D(m){this.is2D=m}setMatrixValue(r){return[Array,Float64Array,Float32Array].some(m=>r instanceof m)?m(r):"string"==typeof r&&r.length&&"none"!==r?e(r):"object"==typeof r?t(r):this}toArray(){const m=this;let t;return t=m.is2D?[m.a,m.b,m.c,m.d,m.e,m.f]:[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],t.map(m=>Math.abs(m)<1e-6?0:(m*10**6>>0)/10**6)}toString(){const m=this.toArray();return`${this.is2D?"matrix":"matrix3d"}(${m})`}toJSON(){const{is2D:m,isIdentity:t}=this;return{...this,is2D:m,isIdentity:t}}multiply(m){return c(this,m)}translate(m,t,e){let s=t,n=e;return void 0===n&&(n=0),void 0===s&&(s=0),c(this,r(m,s,n))}scale(m,t,e){let r=t,s=e;return void 0===r&&(r=m),void 0===s&&(s=1),c(this,i(m,r,s))}rotate(m,t,e){let r=m,n=t,i=e;return void 0===n&&(n=0),void 0===i&&(i=r,r=0),c(this,s(r,n,i))}rotateAxisAngle(m,t,e,r){if([m,t,e,r].some(m=>Number.isNaN(m)))throw new TypeError("CSSMatrix: expecting 4 values");return c(this,n(m,t,e,r))}skewX(m){return c(this,a(m))}skewY(m){return c(this,o(m))}transformPoint(m){let t=r(m.x,m.y,m.z);return t.m44=m.w||1,t=this.multiply(t),{x:t.m41,y:t.m42,z:t.m43,w:t.m44}}transform(m){const t=this,e=t.m11*m.x+t.m12*m.y+t.m13*m.z+t.m14*m.w,r=t.m21*m.x+t.m22*m.y+t.m23*m.z+t.m24*m.w,s=t.m31*m.x+t.m32*m.y+t.m33*m.z+t.m34*m.w,n=t.m41*m.x+t.m42*m.y+t.m43*m.z+t.m44*m.w;return{x:e/n,y:r/n,z:s/n,w:n}}}Object.assign(l,{Translate:r,Rotate:s,RotateAxisAngle:n,Scale:i,SkewX:a,SkewY:o,Multiply:c,fromArray:m,fromMatrix:t,fromString:e});Object.assign(l,{Version:"0.0.23"});export{l as default};
/*!
* DOMMatrix v0.0.22 (https://thednp.github.io/DOMMatrix/)
* DOMMatrix v0.0.23 (https://thednp.github.io/DOMMatrix/)
* Copyright 2021 © thednp

@@ -824,4 +824,16 @@ * Licensed under MIT (https://github.com/thednp/DOMMatrix/blob/master/LICENSE)

var version = "0.0.23";
// @ts-ignore
/**
* A global namespace for library version.
* @type {string}
*/
var Version = version;
Object.assign(CSSMatrix, { Version: Version });
return CSSMatrix;
}));

@@ -1,2 +0,2 @@

// DOMMatrix v0.0.22 | thednp © 2021 | MIT-License
!function(m,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(m="undefined"!=typeof globalThis?globalThis:m||self).CSSMatrix=t()}(this,(function(){"use strict";function m(m){var t=new f,r=Array.from(m);if(!r.every((function(m){return!Number.isNaN(m)})))throw TypeError('CSSMatrix: "'+m+'" 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],c=r[7],l=r[8],p=r[9],y=r[10],v=r[11],h=r[12],d=r[13],w=r[14],M=r[15];t.m11=e,t.a=e,t.m21=a,t.c=a,t.m31=l,t.m41=h,t.e=h,t.m12=n,t.b=n,t.m22=s,t.d=s,t.m32=p,t.m42=d,t.f=d,t.m13=i,t.m23=u,t.m33=y,t.m43=w,t.m14=o,t.m24=c,t.m34=v,t.m44=M}else{if(6!==r.length)throw new TypeError("CSSMatrix: expecting an Array of 6/16 values.");var b=r[0],x=r[1],g=r[2],N=r[3],S=r[4],A=r[5];t.m11=b,t.a=b,t.m12=x,t.b=x,t.m21=g,t.c=g,t.m22=N,t.d=N,t.m41=S,t.e=S,t.m42=A,t.f=A}return t}function t(t){var r=Object.keys(new f);if("object"==typeof t&&r.every((function(m){return m in t})))return m([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]);throw TypeError('CSSMatrix: "'+t+'" is not a DOMMatrix / CSSMatrix / JSON compatible object.')}function r(t){if("string"!=typeof t)throw TypeError('CSSMatrix: "'+t+'" is not a string.');var r=String(t).replace(/\s/g,""),e=new f,n='CSSMatrix: invalid transform string "'+t+'"';return r.split(")").filter((function(m){return m})).forEach((function(t){var r=t.split("("),i=r[0],o=r[1];if(!o)throw TypeError(n);var a=o.split(",").map((function(m){return m.includes("rad")?parseFloat(m)*(180/Math.PI):parseFloat(m)})),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(m){return void 0===m})))e.m34=-1/s;else if(i.includes("matrix")&&[6,16].includes(a.length)&&a.every((function(m){return!Number.isNaN(+m)}))){var y=a.map((function(m){return Math.abs(m)<1e-6?0:m}));e=e.multiply(m(y))}else if("translate3d"===i&&l.every((function(m){return!Number.isNaN(+m)})))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(m){return!Number.isNaN(+m)}))&&c)e=e.rotateAxisAngle(s,u,f,c);else if("rotate"===i&&s&&[u,f].every((function(m){return void 0===m})))e=e.rotate(0,0,s);else if("scale3d"===i&&l.every((function(m){return!Number.isNaN(+m)}))&&l.some((function(m){return 1!==m})))e=e.scale(s,u,f);else if("scale"!==i||Number.isNaN(s)||1===s||void 0!==f)if("skew"===i&&s&&void 0===f)e=e.skewX(s),e=u?e.skewY(u):e;else{if(!(/[XYZ]/.test(i)&&s&&[u,f].every((function(m){return void 0===m}))&&["translate","rotate","scale","skew"].some((function(m){return i.includes(m)}))))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),w=[0===d?s:0,1===d?s:0,2===d?s:0];e=e[v].apply(e,w)}}else{var M=Number.isNaN(+u)?s:u;e=e.scale(s,M,1)}})),e}function e(m,t,r){var e=new f;return e.m41=m,e.e=m,e.m42=t,e.f=t,e.m43=r,e}function n(m,t,r){var e=new f,n=Math.PI/180,i=m*n,o=t*n,a=r*n,s=Math.cos(i),u=-Math.sin(i),c=Math.cos(o),l=-Math.sin(o),p=Math.cos(a),y=-Math.sin(a),v=c*p,h=-c*y;e.m11=v,e.a=v,e.m12=h,e.b=h,e.m13=l;var d=u*l*p+s*y;e.m21=d,e.c=d;var w=s*p-u*l*y;return e.m22=w,e.d=w,e.m23=-u*c,e.m31=u*y-s*l*p,e.m32=u*p+s*l*y,e.m33=s*c,e}function i(m,t,r,e){var n=new f,i=e*(Math.PI/360),o=Math.sin(i),a=Math.cos(i),s=o*o,u=Math.sqrt(m*m+t*t+r*r),c=m,l=t,p=r;0===u?(c=0,l=0,p=1):(c/=u,l/=u,p/=u);var y=c*c,v=l*l,h=p*p,d=1-2*(v+h)*s;n.m11=d,n.a=d;var w=2*(c*l*s+p*o*a);n.m12=w,n.b=w,n.m13=2*(c*p*s-l*o*a);var M=2*(l*c*s-p*o*a);n.m21=M,n.c=M;var b=1-2*(h+y)*s;return n.m22=b,n.d=b,n.m23=2*(l*p*s+c*o*a),n.m31=2*(p*c*s+l*o*a),n.m32=2*(p*l*s-c*o*a),n.m33=1-2*(y+v)*s,n}function o(m,t,r){var e=new f;return e.m11=m,e.a=m,e.m22=t,e.d=t,e.m33=r,e}function a(m){var t=new f,r=m*Math.PI/180,e=Math.tan(r);return t.m21=e,t.c=e,t}function s(m){var t=new f,r=m*Math.PI/180,e=Math.tan(r);return t.m12=e,t.b=e,t}function u(t,r){return m([r.m11*t.m11+r.m12*t.m21+r.m13*t.m31+r.m14*t.m41,r.m11*t.m12+r.m12*t.m22+r.m13*t.m32+r.m14*t.m42,r.m11*t.m13+r.m12*t.m23+r.m13*t.m33+r.m14*t.m43,r.m11*t.m14+r.m12*t.m24+r.m13*t.m34+r.m14*t.m44,r.m21*t.m11+r.m22*t.m21+r.m23*t.m31+r.m24*t.m41,r.m21*t.m12+r.m22*t.m22+r.m23*t.m32+r.m24*t.m42,r.m21*t.m13+r.m22*t.m23+r.m23*t.m33+r.m24*t.m43,r.m21*t.m14+r.m22*t.m24+r.m23*t.m34+r.m24*t.m44,r.m31*t.m11+r.m32*t.m21+r.m33*t.m31+r.m34*t.m41,r.m31*t.m12+r.m32*t.m22+r.m33*t.m32+r.m34*t.m42,r.m31*t.m13+r.m32*t.m23+r.m33*t.m33+r.m34*t.m43,r.m31*t.m14+r.m32*t.m24+r.m33*t.m34+r.m34*t.m44,r.m41*t.m11+r.m42*t.m21+r.m43*t.m31+r.m44*t.m41,r.m41*t.m12+r.m42*t.m22+r.m43*t.m32+r.m44*t.m42,r.m41*t.m13+r.m42*t.m23+r.m43*t.m33+r.m44*t.m43,r.m41*t.m14+r.m42*t.m24+r.m43*t.m34+r.m44*t.m44])}var f=function(){for(var m=[],t=arguments.length;t--;)m[t]=arguments[t];var r=this;if(r.a=1,r.b=0,r.c=0,r.d=1,r.e=0,r.f=0,r.m11=1,r.m12=0,r.m13=0,r.m14=0,r.m21=0,r.m22=1,r.m23=0,r.m24=0,r.m31=0,r.m32=0,r.m33=1,r.m34=0,r.m41=0,r.m42=0,r.m43=0,r.m44=1,m&&m.length){var e=[16,6].some((function(t){return t===m.length}))?m:m[0];return r.setMatrixValue(e)}return r},c={isIdentity:{configurable:!0},is2D:{configurable:!0}};return c.isIdentity.set=function(m){this.isIdentity=m},c.isIdentity.get=function(){var m=this;return 1===m.m11&&0===m.m12&&0===m.m13&&0===m.m14&&0===m.m21&&1===m.m22&&0===m.m23&&0===m.m24&&0===m.m31&&0===m.m32&&1===m.m33&&0===m.m34&&0===m.m41&&0===m.m42&&0===m.m43&&1===m.m44},c.is2D.get=function(){var m=this;return 0===m.m31&&0===m.m32&&1===m.m33&&0===m.m34&&0===m.m43&&1===m.m44},c.is2D.set=function(m){this.is2D=m},f.prototype.setMatrixValue=function(e){return[Array,Float64Array,Float32Array].some((function(m){return e instanceof m}))?m(e):"string"==typeof e&&e.length&&"none"!==e?r(e):"object"==typeof e?t(e):this},f.prototype.toArray=function(){var m=this,t=Math.pow(10,6);return(m.is2D?[m.a,m.b,m.c,m.d,m.e,m.f]:[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]).map((function(m){return Math.abs(m)<1e-6?0:(m*t>>0)/t}))},f.prototype.toString=function(){var m=this.toArray();return(this.is2D?"matrix":"matrix3d")+"("+m+")"},f.prototype.toJSON=function(){var m=this,t=m.is2D,r=m.isIdentity;return Object.assign({},m,{is2D:t,isIdentity:r})},f.prototype.multiply=function(m){return u(this,m)},f.prototype.translate=function(m,t,r){var n=t,i=r;return void 0===i&&(i=0),void 0===n&&(n=0),u(this,e(m,n,i))},f.prototype.scale=function(m,t,r){var e=t,n=r;return void 0===e&&(e=m),void 0===n&&(n=1),u(this,o(m,e,n))},f.prototype.rotate=function(m,t,r){var e=m,i=t,o=r;return void 0===i&&(i=0),void 0===o&&(o=e,e=0),u(this,n(e,i,o))},f.prototype.rotateAxisAngle=function(m,t,r,e){if([m,t,r,e].some((function(m){return Number.isNaN(m)})))throw new TypeError("CSSMatrix: expecting 4 values");return u(this,i(m,t,r,e))},f.prototype.skewX=function(m){return u(this,a(m))},f.prototype.skewY=function(m){return u(this,s(m))},f.prototype.transformPoint=function(m){var t=e(m.x,m.y,m.z);return t.m44=m.w||1,{x:(t=this.multiply(t)).m41,y:t.m42,z:t.m43,w:t.m44}},f.prototype.transform=function(m){var t=this,r=t.m11*m.x+t.m12*m.y+t.m13*m.z+t.m14*m.w,e=t.m21*m.x+t.m22*m.y+t.m23*m.z+t.m24*m.w,n=t.m31*m.x+t.m32*m.y+t.m33*m.z+t.m34*m.w,i=t.m41*m.x+t.m42*m.y+t.m43*m.z+t.m44*m.w;return{x:r/i,y:e/i,z:n/i,w:i}},Object.defineProperties(f.prototype,c),Object.assign(f,{Translate:e,Rotate:n,RotateAxisAngle:i,Scale:o,SkewX:a,SkewY:s,Multiply:u,fromArray:m,fromMatrix:t,fromString:r}),f}));
// DOMMatrix v0.0.23 | thednp © 2021 | MIT-License
!function(m,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(m="undefined"!=typeof globalThis?globalThis:m||self).CSSMatrix=t()}(this,(function(){"use strict";function m(m){var t=new f,r=Array.from(m);if(!r.every((function(m){return!Number.isNaN(m)})))throw TypeError('CSSMatrix: "'+m+'" 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],c=r[7],l=r[8],p=r[9],y=r[10],v=r[11],h=r[12],d=r[13],w=r[14],M=r[15];t.m11=e,t.a=e,t.m21=a,t.c=a,t.m31=l,t.m41=h,t.e=h,t.m12=n,t.b=n,t.m22=s,t.d=s,t.m32=p,t.m42=d,t.f=d,t.m13=i,t.m23=u,t.m33=y,t.m43=w,t.m14=o,t.m24=c,t.m34=v,t.m44=M}else{if(6!==r.length)throw new TypeError("CSSMatrix: expecting an Array of 6/16 values.");var b=r[0],x=r[1],g=r[2],N=r[3],S=r[4],A=r[5];t.m11=b,t.a=b,t.m12=x,t.b=x,t.m21=g,t.c=g,t.m22=N,t.d=N,t.m41=S,t.e=S,t.m42=A,t.f=A}return t}function t(t){var r=Object.keys(new f);if("object"==typeof t&&r.every((function(m){return m in t})))return m([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]);throw TypeError('CSSMatrix: "'+t+'" is not a DOMMatrix / CSSMatrix / JSON compatible object.')}function r(t){if("string"!=typeof t)throw TypeError('CSSMatrix: "'+t+'" is not a string.');var r=String(t).replace(/\s/g,""),e=new f,n='CSSMatrix: invalid transform string "'+t+'"';return r.split(")").filter((function(m){return m})).forEach((function(t){var r=t.split("("),i=r[0],o=r[1];if(!o)throw TypeError(n);var a=o.split(",").map((function(m){return m.includes("rad")?parseFloat(m)*(180/Math.PI):parseFloat(m)})),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(m){return void 0===m})))e.m34=-1/s;else if(i.includes("matrix")&&[6,16].includes(a.length)&&a.every((function(m){return!Number.isNaN(+m)}))){var y=a.map((function(m){return Math.abs(m)<1e-6?0:m}));e=e.multiply(m(y))}else if("translate3d"===i&&l.every((function(m){return!Number.isNaN(+m)})))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(m){return!Number.isNaN(+m)}))&&c)e=e.rotateAxisAngle(s,u,f,c);else if("rotate"===i&&s&&[u,f].every((function(m){return void 0===m})))e=e.rotate(0,0,s);else if("scale3d"===i&&l.every((function(m){return!Number.isNaN(+m)}))&&l.some((function(m){return 1!==m})))e=e.scale(s,u,f);else if("scale"!==i||Number.isNaN(s)||1===s||void 0!==f)if("skew"===i&&s&&void 0===f)e=e.skewX(s),e=u?e.skewY(u):e;else{if(!(/[XYZ]/.test(i)&&s&&[u,f].every((function(m){return void 0===m}))&&["translate","rotate","scale","skew"].some((function(m){return i.includes(m)}))))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),w=[0===d?s:0,1===d?s:0,2===d?s:0];e=e[v].apply(e,w)}}else{var M=Number.isNaN(+u)?s:u;e=e.scale(s,M,1)}})),e}function e(m,t,r){var e=new f;return e.m41=m,e.e=m,e.m42=t,e.f=t,e.m43=r,e}function n(m,t,r){var e=new f,n=Math.PI/180,i=m*n,o=t*n,a=r*n,s=Math.cos(i),u=-Math.sin(i),c=Math.cos(o),l=-Math.sin(o),p=Math.cos(a),y=-Math.sin(a),v=c*p,h=-c*y;e.m11=v,e.a=v,e.m12=h,e.b=h,e.m13=l;var d=u*l*p+s*y;e.m21=d,e.c=d;var w=s*p-u*l*y;return e.m22=w,e.d=w,e.m23=-u*c,e.m31=u*y-s*l*p,e.m32=u*p+s*l*y,e.m33=s*c,e}function i(m,t,r,e){var n=new f,i=e*(Math.PI/360),o=Math.sin(i),a=Math.cos(i),s=o*o,u=Math.sqrt(m*m+t*t+r*r),c=m,l=t,p=r;0===u?(c=0,l=0,p=1):(c/=u,l/=u,p/=u);var y=c*c,v=l*l,h=p*p,d=1-2*(v+h)*s;n.m11=d,n.a=d;var w=2*(c*l*s+p*o*a);n.m12=w,n.b=w,n.m13=2*(c*p*s-l*o*a);var M=2*(l*c*s-p*o*a);n.m21=M,n.c=M;var b=1-2*(h+y)*s;return n.m22=b,n.d=b,n.m23=2*(l*p*s+c*o*a),n.m31=2*(p*c*s+l*o*a),n.m32=2*(p*l*s-c*o*a),n.m33=1-2*(y+v)*s,n}function o(m,t,r){var e=new f;return e.m11=m,e.a=m,e.m22=t,e.d=t,e.m33=r,e}function a(m){var t=new f,r=m*Math.PI/180,e=Math.tan(r);return t.m21=e,t.c=e,t}function s(m){var t=new f,r=m*Math.PI/180,e=Math.tan(r);return t.m12=e,t.b=e,t}function u(t,r){return m([r.m11*t.m11+r.m12*t.m21+r.m13*t.m31+r.m14*t.m41,r.m11*t.m12+r.m12*t.m22+r.m13*t.m32+r.m14*t.m42,r.m11*t.m13+r.m12*t.m23+r.m13*t.m33+r.m14*t.m43,r.m11*t.m14+r.m12*t.m24+r.m13*t.m34+r.m14*t.m44,r.m21*t.m11+r.m22*t.m21+r.m23*t.m31+r.m24*t.m41,r.m21*t.m12+r.m22*t.m22+r.m23*t.m32+r.m24*t.m42,r.m21*t.m13+r.m22*t.m23+r.m23*t.m33+r.m24*t.m43,r.m21*t.m14+r.m22*t.m24+r.m23*t.m34+r.m24*t.m44,r.m31*t.m11+r.m32*t.m21+r.m33*t.m31+r.m34*t.m41,r.m31*t.m12+r.m32*t.m22+r.m33*t.m32+r.m34*t.m42,r.m31*t.m13+r.m32*t.m23+r.m33*t.m33+r.m34*t.m43,r.m31*t.m14+r.m32*t.m24+r.m33*t.m34+r.m34*t.m44,r.m41*t.m11+r.m42*t.m21+r.m43*t.m31+r.m44*t.m41,r.m41*t.m12+r.m42*t.m22+r.m43*t.m32+r.m44*t.m42,r.m41*t.m13+r.m42*t.m23+r.m43*t.m33+r.m44*t.m43,r.m41*t.m14+r.m42*t.m24+r.m43*t.m34+r.m44*t.m44])}var f=function(){for(var m=[],t=arguments.length;t--;)m[t]=arguments[t];var r=this;if(r.a=1,r.b=0,r.c=0,r.d=1,r.e=0,r.f=0,r.m11=1,r.m12=0,r.m13=0,r.m14=0,r.m21=0,r.m22=1,r.m23=0,r.m24=0,r.m31=0,r.m32=0,r.m33=1,r.m34=0,r.m41=0,r.m42=0,r.m43=0,r.m44=1,m&&m.length){var e=[16,6].some((function(t){return t===m.length}))?m:m[0];return r.setMatrixValue(e)}return r},c={isIdentity:{configurable:!0},is2D:{configurable:!0}};c.isIdentity.set=function(m){this.isIdentity=m},c.isIdentity.get=function(){var m=this;return 1===m.m11&&0===m.m12&&0===m.m13&&0===m.m14&&0===m.m21&&1===m.m22&&0===m.m23&&0===m.m24&&0===m.m31&&0===m.m32&&1===m.m33&&0===m.m34&&0===m.m41&&0===m.m42&&0===m.m43&&1===m.m44},c.is2D.get=function(){var m=this;return 0===m.m31&&0===m.m32&&1===m.m33&&0===m.m34&&0===m.m43&&1===m.m44},c.is2D.set=function(m){this.is2D=m},f.prototype.setMatrixValue=function(e){return[Array,Float64Array,Float32Array].some((function(m){return e instanceof m}))?m(e):"string"==typeof e&&e.length&&"none"!==e?r(e):"object"==typeof e?t(e):this},f.prototype.toArray=function(){var m=this,t=Math.pow(10,6);return(m.is2D?[m.a,m.b,m.c,m.d,m.e,m.f]:[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]).map((function(m){return Math.abs(m)<1e-6?0:(m*t>>0)/t}))},f.prototype.toString=function(){var m=this.toArray();return(this.is2D?"matrix":"matrix3d")+"("+m+")"},f.prototype.toJSON=function(){var m=this,t=m.is2D,r=m.isIdentity;return Object.assign({},m,{is2D:t,isIdentity:r})},f.prototype.multiply=function(m){return u(this,m)},f.prototype.translate=function(m,t,r){var n=t,i=r;return void 0===i&&(i=0),void 0===n&&(n=0),u(this,e(m,n,i))},f.prototype.scale=function(m,t,r){var e=t,n=r;return void 0===e&&(e=m),void 0===n&&(n=1),u(this,o(m,e,n))},f.prototype.rotate=function(m,t,r){var e=m,i=t,o=r;return void 0===i&&(i=0),void 0===o&&(o=e,e=0),u(this,n(e,i,o))},f.prototype.rotateAxisAngle=function(m,t,r,e){if([m,t,r,e].some((function(m){return Number.isNaN(m)})))throw new TypeError("CSSMatrix: expecting 4 values");return u(this,i(m,t,r,e))},f.prototype.skewX=function(m){return u(this,a(m))},f.prototype.skewY=function(m){return u(this,s(m))},f.prototype.transformPoint=function(m){var t=e(m.x,m.y,m.z);return t.m44=m.w||1,{x:(t=this.multiply(t)).m41,y:t.m42,z:t.m43,w:t.m44}},f.prototype.transform=function(m){var t=this,r=t.m11*m.x+t.m12*m.y+t.m13*m.z+t.m14*m.w,e=t.m21*m.x+t.m22*m.y+t.m23*m.z+t.m24*m.w,n=t.m31*m.x+t.m32*m.y+t.m33*m.z+t.m34*m.w,i=t.m41*m.x+t.m42*m.y+t.m43*m.z+t.m44*m.w;return{x:r/i,y:e/i,z:n/i,w:i}},Object.defineProperties(f.prototype,c),Object.assign(f,{Translate:e,Rotate:n,RotateAxisAngle:i,Scale:o,SkewX:a,SkewY:s,Multiply:u,fromArray:m,fromMatrix:t,fromString:r});return Object.assign(f,{Version:"0.0.23"}),f}));
{
"name": "dommatrix",
"version": "0.0.22",
"version": "0.0.23",
"description": "ES6+ shim for DOMMatrix",

@@ -8,8 +8,7 @@ "main": "dist/dommatrix.js",

"types": "types/index.d.ts",
"jsnext": "index.js",
"jsnext": "src/index.js",
"files": [
"dist/*.{js,map}",
"types/*.{ts,map}",
"src/*.{js,map}",
"*.{js,map}"
"dist",
"types",
"src"
],

@@ -34,3 +33,8 @@ "scripts": {

"keywords": [
"dommatrix",
"dommatrix shim",
"dommatrix polyfill",
"dommatrix nodejs",
"dom matrix",
"cssmatrix",
"css matrix",

@@ -43,3 +47,3 @@ "css transform",

"bugs": {
"url": "https://github.com/thednp/dommatrix/issues"
"url": "https://github.com/thednp/DOMMatrix/issues"
},

@@ -46,0 +50,0 @@ "homepage": "https://thednp.github.io/DOMMatrix/",

@@ -1,53 +0,335 @@

export function fromArray(array: number[]): CSSMatrix;
export function fromMatrix(m: CSSMatrix | DOMMatrix | CSSMatrix.JSONMatrix): CSSMatrix;
export function fromString(source: string): CSSMatrix;
export function Translate(x: number, y: number, z: number): CSSMatrix;
export function Rotate(rx: number, ry: number, rz: number): CSSMatrix;
export function RotateAxisAngle(x: number, y: number, z: number, alpha: number): CSSMatrix;
export function Scale(x: number, y: number, z: number): CSSMatrix;
export function SkewX(angle: number): CSSMatrix;
export function SkewY(angle: number): CSSMatrix;
export function Multiply(m1: CSSMatrix, m2: CSSMatrix): CSSMatrix;
export default CSSMatrix;
declare class CSSMatrix {
constructor(...args: any);
a: number;
b: number;
c: number;
d: number;
e: number;
f: number;
m11: number;
m12: number;
m13: number;
m14: number;
m21: number;
m22: number;
m23: number;
m24: number;
m31: number;
m32: number;
m33: number;
m34: number;
m41: number;
m42: number;
m43: number;
m44: number;
set isIdentity(arg: boolean);
get isIdentity(): boolean;
set is2D(arg: boolean);
get is2D(): boolean;
setMatrixValue(source: string | number[] | CSSMatrix | DOMMatrix): CSSMatrix;
toArray(): number[];
toString(): string;
toJSON(): CSSMatrix.JSONMatrix;
multiply(m2: CSSMatrix | DOMMatrix | CSSMatrix.JSONMatrix): CSSMatrix;
translate(x: number, y?: number | undefined, z?: number | undefined): CSSMatrix;
scale(x: number, y?: number | undefined, z?: number | undefined): CSSMatrix;
rotate(rx: number, ry?: number | undefined, rz?: number | undefined): CSSMatrix;
rotateAxisAngle(x: number, y: number, z: number, angle: number): CSSMatrix;
skewX(angle: number): CSSMatrix;
skewY(angle: number): CSSMatrix;
transformPoint(v: CSSMatrix.PointTuple | DOMPoint): CSSMatrix.PointTuple;
transform(t: CSSMatrix.PointTuple): CSSMatrix.PointTuple;
declare module "dommatrix/src/dommatrix" {
/**
* Creates a new mutable `CSSMatrix` instance given an array of 16/6 floating point values.
* This static method invalidates arrays that contain non-number elements.
*
* If the array has six values, the result is a 2D matrix; if the array has 16 values,
* the result is a 3D matrix. Otherwise, a TypeError exception is thrown.
*
* @param {number[]} array an `Array` to feed values from.
* @return {CSSMatrix} the resulted matrix.
*/
export function fromArray(array: number[]): CSSMatrix;
/**
* Creates a new mutable `CSSMatrix` instance given an existing matrix or a
* `DOMMatrix` instance which provides the values for its properties.
*
* @param {CSSMatrix | DOMMatrix | CSSMatrix.JSONMatrix} m the source matrix to feed values from.
* @return {CSSMatrix} the resulted matrix.
*/
export function fromMatrix(m: CSSMatrix | DOMMatrix | CSSMatrix.JSONMatrix): CSSMatrix;
/**
* Creates a new mutable `CSSMatrix` given any valid CSS transform string,
* or what we call `TransformList`:
*
* * `matrix(a, b, c, d, e, f)` - valid matrix() transform function
* * `matrix3d(m11, m12, m13, ...m44)` - valid matrix3d() transform function
* * `translate(tx, ty) rotateX(alpha)` - any valid transform function(s)
*
* @copyright thednp © 2021
*
* @param {string} source valid CSS transform string syntax.
* @return {CSSMatrix} the resulted matrix.
*/
export function fromString(source: string): CSSMatrix;
/**
* Creates a new `CSSMatrix` for the translation matrix and returns it.
* This method is equivalent to the CSS `translate3d()` function.
*
* https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/translate3d
*
* @param {number} x the `x-axis` position.
* @param {number} y the `y-axis` position.
* @param {number} z the `z-axis` position.
* @return {CSSMatrix} the resulted matrix.
*/
export function Translate(x: number, y: number, z: number): CSSMatrix;
/**
* Creates a new `CSSMatrix` for the rotation matrix and returns it.
*
* http://en.wikipedia.org/wiki/Rotation_matrix
*
* @param {number} rx the `x-axis` rotation.
* @param {number} ry the `y-axis` rotation.
* @param {number} rz the `z-axis` rotation.
* @return {CSSMatrix} the resulted matrix.
*/
export function Rotate(rx: number, ry: number, rz: number): CSSMatrix;
/**
* Creates a new `CSSMatrix` for the rotation matrix and returns it.
* This method is equivalent to the CSS `rotate3d()` function.
*
* https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/rotate3d
*
* @param {number} x the `x-axis` vector length.
* @param {number} y the `y-axis` vector length.
* @param {number} z the `z-axis` vector length.
* @param {number} alpha the value in degrees of the rotation.
* @return {CSSMatrix} the resulted matrix.
*/
export function RotateAxisAngle(x: number, y: number, z: number, alpha: number): CSSMatrix;
/**
* Creates a new `CSSMatrix` for the scale matrix and returns it.
* This method is equivalent to the CSS `scale3d()` function, except it doesn't
* accept {x, y, z} transform origin parameters.
*
* https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/scale3d
*
* @param {number} x the `x-axis` scale.
* @param {number} y the `y-axis` scale.
* @param {number} z the `z-axis` scale.
* @return {CSSMatrix} the resulted matrix.
*/
export function Scale(x: number, y: number, z: number): CSSMatrix;
/**
* Creates a new `CSSMatrix` for the shear of the `x-axis` rotation matrix and
* returns it. This method is equivalent to the CSS `skewX()` function.
*
* https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skewX
*
* @param {number} angle the angle in degrees.
* @return {CSSMatrix} the resulted matrix.
*/
export function SkewX(angle: number): CSSMatrix;
/**
* Creates a new `CSSMatrix` for the shear of the `y-axis` rotation matrix and
* returns it. This method is equivalent to the CSS `skewY()` function.
*
* https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skewY
*
* @param {number} angle the angle in degrees.
* @return {CSSMatrix} the resulted matrix.
*/
export function SkewY(angle: number): CSSMatrix;
/**
* Creates a new `CSSMatrix` resulted from the multiplication of two matrixes
* and returns it. Both matrixes are not changed.
*
* @param {CSSMatrix} m1 the first matrix.
* @param {CSSMatrix} m2 the second matrix.
* @return {CSSMatrix} the resulted matrix.
*/
export function Multiply(m1: CSSMatrix, m2: CSSMatrix): CSSMatrix;
export default CSSMatrix;
/**
* Creates and returns a new `DOMMatrix` compatible instance
* with equivalent instance.
* @class CSSMatrix
*
* @author thednp <https://github.com/thednp/DOMMatrix/>
* @see https://developer.mozilla.org/en-US/docs/Web/API/DOMMatrix
*/
class CSSMatrix {
/**
* @constructor
* @param {any} args accepts all parameter configurations:
* * valid CSS transform string,
* * CSSMatrix/DOMMatrix instance,
* * a 6/16 elements *Array*.
*/
constructor(...args: any);
a: number;
b: number;
c: number;
d: number;
e: number;
f: number;
m11: number;
m12: number;
m13: number;
m14: number;
m21: number;
m22: number;
m23: number;
m24: number;
m31: number;
m32: number;
m33: number;
m34: number;
m41: number;
m42: number;
m43: number;
m44: number;
/**
* Sets a new `Boolean` flag value for `this.isIdentity` matrix property.
*
* @param {boolean} value sets a new flag for this property
*/
set isIdentity(arg: boolean);
/**
* A `Boolean` whose value is `true` if the matrix is the identity matrix. The identity
* matrix is one in which every value is 0 except those on the main diagonal from top-left
* to bottom-right corner (in other words, where the offsets in each direction are equal).
*
* @return {boolean} the current property value
*/
get isIdentity(): boolean;
/**
* Sets a new `Boolean` flag value for `this.is2D` matrix property.
*
* @param {boolean} value sets a new flag for this property
*/
set is2D(arg: boolean);
/**
* A `Boolean` flag whose value is `true` if the matrix was initialized as a 2D matrix
* and `false` if the matrix is 3D.
*
* @return {boolean} the current property value
*/
get is2D(): boolean;
/**
* The `setMatrixValue` method replaces the existing matrix with one computed
* in the browser. EG: `matrix(1,0.25,-0.25,1,0,0)`
*
* The method accepts any *Array* values, the result of
* `DOMMatrix` instance method `toFloat64Array()` / `toFloat32Array()` calls
* or `CSSMatrix` instance method `toArray()`.
*
* This method expects valid *matrix()* / *matrix3d()* string values, as well
* as other transform functions like *translateX(10px)*.
*
* @param {string | number[] | CSSMatrix | DOMMatrix} source
* @return {CSSMatrix} the matrix instance
*/
setMatrixValue(source: string | number[] | CSSMatrix | DOMMatrix): CSSMatrix;
/**
* Returns an *Array* containing elements which comprise the matrix.
* The method can return either the 16 elements or the 6 elements
* depending on the value of the `is2D` property.
*
* @return {number[]} an *Array* representation of the matrix
*/
toArray(): number[];
/**
* Creates and returns a string representation of the matrix in `CSS` matrix syntax,
* using the appropriate `CSS` matrix notation.
*
* matrix3d *matrix3d(m11, m12, m13, m14, m21, ...)*
* matrix *matrix(a, b, c, d, e, f)*
*
* @return {string} a string representation of the matrix
*/
toString(): string;
/**
* Returns a JSON representation of the `CSSMatrix` instance, a standard *Object*
* that includes `{a,b,c,d,e,f}` and `{m11,m12,m13,..m44}` properties as well
* as the `is2D` & `isIdentity` properties.
*
* The result can also be used as a second parameter for the `fromMatrix` static method
* to load values into another matrix instance.
*
* @return {CSSMatrix.JSONMatrix} an *Object* with all matrix values.
*/
toJSON(): CSSMatrix.JSONMatrix;
/**
* The Multiply method returns a new CSSMatrix which is the result of this
* matrix multiplied by the passed matrix, with the passed matrix to the right.
* This matrix is not modified.
*
* @param {CSSMatrix | DOMMatrix | CSSMatrix.JSONMatrix} m2 CSSMatrix
* @return {CSSMatrix} The resulted matrix.
*/
multiply(m2: CSSMatrix | DOMMatrix | CSSMatrix.JSONMatrix): CSSMatrix;
/**
* The translate method returns a new matrix which is this matrix post
* multiplied by a translation matrix containing the passed values. If the z
* component is undefined, a 0 value is used in its place. This matrix is not
* modified.
*
* @param {number} x X component of the translation value.
* @param {number=} y Y component of the translation value.
* @param {number=} z Z component of the translation value.
* @return {CSSMatrix} The resulted matrix
*/
translate(x: number, y?: number | undefined, z?: number | undefined): CSSMatrix;
/**
* The scale method returns a new matrix which is this matrix post multiplied by
* a scale matrix containing the passed values. If the z component is undefined,
* a 1 value is used in its place. If the y component is undefined, the x
* component value is used in its place. This matrix is not modified.
*
* @param {number} x The X component of the scale value.
* @param {number=} y The Y component of the scale value.
* @param {number=} z The Z component of the scale value.
* @return {CSSMatrix} The resulted matrix
*/
scale(x: number, y?: number | undefined, z?: number | undefined): CSSMatrix;
/**
* The rotate method returns a new matrix which is this matrix post multiplied
* by each of 3 rotation matrices about the major axes, first X, then Y, then Z.
* If the y and z components are undefined, the x value is used to rotate the
* object about the z axis, as though the vector (0,0,x) were passed. All
* rotation values are in degrees. This matrix is not modified.
*
* @param {number} rx The X component of the rotation, or Z if Y and Z are null.
* @param {number=} ry The (optional) Y component of the rotation value.
* @param {number=} rz The (optional) Z component of the rotation value.
* @return {CSSMatrix} The resulted matrix
*/
rotate(rx: number, ry?: number | undefined, rz?: number | undefined): CSSMatrix;
/**
* The rotateAxisAngle method returns a new matrix which is this matrix post
* multiplied by a rotation matrix with the given axis and `angle`. The right-hand
* rule is used to determine the direction of rotation. All rotation values are
* in degrees. This matrix is not modified.
*
* @param {number} x The X component of the axis vector.
* @param {number} y The Y component of the axis vector.
* @param {number} z The Z component of the axis vector.
* @param {number} angle The angle of rotation about the axis vector, in degrees.
* @return {CSSMatrix} The resulted matrix
*/
rotateAxisAngle(x: number, y: number, z: number, angle: number): CSSMatrix;
/**
* Specifies a skew transformation along the `x-axis` by the given angle.
* This matrix is not modified.
*
* @param {number} angle The angle amount in degrees to skew.
* @return {CSSMatrix} The resulted matrix
*/
skewX(angle: number): CSSMatrix;
/**
* Specifies a skew transformation along the `y-axis` by the given angle.
* This matrix is not modified.
*
* @param {number} angle The angle amount in degrees to skew.
* @return {CSSMatrix} The resulted matrix
*/
skewY(angle: number): CSSMatrix;
/**
* Transforms a specified point using the matrix, returning a new
* Tuple *Object* comprising of the transformed point.
* Neither the matrix nor the original point are altered.
*
* The method is equivalent with `transformPoint()` method
* of the `DOMMatrix` constructor.
*
* @copyright thednp © 2021
*
* @param {CSSMatrix.PointTuple | DOMPoint} v Tuple or DOMPoint
* @return {CSSMatrix.PointTuple} the resulting Tuple
*/
transformPoint(v: CSSMatrix.PointTuple | DOMPoint): CSSMatrix.PointTuple;
/**
* Transforms a specified vector using the matrix, returning a new
* {x,y,z,w} Tuple *Object* comprising the transformed vector.
* Neither the matrix nor the original vector are altered.
*
* @param {CSSMatrix.PointTuple} t Tuple with `{x,y,z,w}` components
* @return {CSSMatrix.PointTuple} the resulting Tuple
*/
transform(t: CSSMatrix.PointTuple): CSSMatrix.PointTuple;
}
}
declare module "dommatrix/src/version" {
export default Version;
/**
* A global namespace for library version.
* @type {string}
*/
const Version: string;
}
declare module "dommatrix/types/more/dommatrix" {
export { default as CSSMatrix } from "dommatrix/src/dommatrix";
export { default as Version } from "dommatrix/src/version";
}
export as namespace CSSMatrix;
export default CSSMatrix;
export type PointTuple = {
x: number;
y: number;
z: number;
w: number;
};
export type JSONMatrix = {
m11: number;
m12: number;
m13: number;
m14: number;
m21: number;
m22: number;
m23: number;
m24: number;
m31: number;
m32: number;
m33: number;
m34: number;
m41: number;
m42: number;
m43: number;
m44: number;
a: number;
b: number;
c: number;
d: number;
e: number;
f: number;
is2D: boolean;
isIdentity: boolean;
};
export { PointTuple, JSONMatrix } from './more/types';
import {default as CSSMatrix} from './dommatrix';
import { default as CSSMatrix } from 'dommatrix/src/dommatrix';
// create an alias for ESM module
declare module "dommatrix/dist/dommatrix.esm" {
export {default as CSSMatrix} from 'dommatrix/src/dommatrix';
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc