happy-dom 15.7.4 → 15.8.1

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.

Potentially problematic release.


This version of happy-dom might be problematic. Click here for more details.

Files changed (1722) hide show
  1. package/cjs/ClassMethodBinder.cjs +45 -54
  2. package/cjs/ClassMethodBinder.cjs.map +1 -1
  3. package/cjs/ClassMethodBinder.d.ts +17 -10
  4. package/cjs/ClassMethodBinder.d.ts.map +1 -1
  5. package/cjs/PropertySymbol.cjs +149 -3
  6. package/cjs/PropertySymbol.cjs.map +1 -1
  7. package/cjs/PropertySymbol.d.ts +144 -1
  8. package/cjs/PropertySymbol.d.ts.map +1 -1
  9. package/cjs/StringUtility.cjs +61 -0
  10. package/cjs/StringUtility.cjs.map +1 -0
  11. package/cjs/StringUtility.d.ts +22 -0
  12. package/cjs/StringUtility.d.ts.map +1 -0
  13. package/cjs/clipboard/ClipboardItem.cjs +5 -1
  14. package/cjs/clipboard/ClipboardItem.cjs.map +1 -1
  15. package/cjs/clipboard/ClipboardItem.d.ts +1 -1
  16. package/cjs/clipboard/ClipboardItem.d.ts.map +1 -1
  17. package/cjs/config/HTMLElementConfig.cjs +0 -228
  18. package/cjs/config/HTMLElementConfig.cjs.map +1 -1
  19. package/cjs/config/HTMLElementConfig.d.ts +5 -2
  20. package/cjs/config/HTMLElementConfig.d.ts.map +1 -1
  21. package/cjs/config/ISVGElementTagNameMap.d.ts +123 -63
  22. package/cjs/config/ISVGElementTagNameMap.d.ts.map +1 -1
  23. package/cjs/config/SVGElementConfig.cjs +73 -0
  24. package/cjs/config/SVGElementConfig.cjs.map +1 -0
  25. package/cjs/config/SVGElementConfig.d.ts +8 -0
  26. package/cjs/config/SVGElementConfig.d.ts.map +1 -0
  27. package/cjs/css/CSSRule.cjs +40 -0
  28. package/cjs/css/CSSRule.cjs.map +1 -1
  29. package/cjs/css/CSSRule.d.ts +10 -0
  30. package/cjs/css/CSSRule.d.ts.map +1 -1
  31. package/cjs/css/CSSStyleSheet.cjs +27 -4
  32. package/cjs/css/CSSStyleSheet.cjs.map +1 -1
  33. package/cjs/css/CSSStyleSheet.d.ts +3 -0
  34. package/cjs/css/CSSStyleSheet.d.ts.map +1 -1
  35. package/cjs/css/declaration/CSSStyleDeclaration.cjs +202 -3
  36. package/cjs/css/declaration/CSSStyleDeclaration.cjs.map +1 -1
  37. package/cjs/css/declaration/CSSStyleDeclaration.d.ts +78 -2
  38. package/cjs/css/declaration/CSSStyleDeclaration.d.ts.map +1 -1
  39. package/cjs/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.cjs +354 -0
  40. package/cjs/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.cjs.map +1 -0
  41. package/cjs/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.d.ts +52 -0
  42. package/cjs/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.d.ts.map +1 -0
  43. package/cjs/css/declaration/computed-style/config/CSSStyleDeclarationElementDefaultCSS.cjs.map +1 -0
  44. package/cjs/css/declaration/computed-style/config/CSSStyleDeclarationElementDefaultCSS.d.ts.map +1 -0
  45. package/cjs/css/declaration/computed-style/config/CSSStyleDeclarationElementInheritedProperties.cjs.map +1 -0
  46. package/cjs/css/declaration/computed-style/config/CSSStyleDeclarationElementInheritedProperties.d.ts.map +1 -0
  47. package/cjs/css/declaration/computed-style/config/CSSStyleDeclarationElementMeasurementProperties.cjs.map +1 -0
  48. package/cjs/css/declaration/computed-style/config/CSSStyleDeclarationElementMeasurementProperties.d.ts.map +1 -0
  49. package/cjs/css/rules/CSSFontFaceRule.cjs +1 -1
  50. package/cjs/css/rules/CSSFontFaceRule.cjs.map +1 -1
  51. package/cjs/css/rules/CSSFontFaceRule.d.ts.map +1 -1
  52. package/cjs/css/rules/CSSKeyframeRule.cjs +1 -1
  53. package/cjs/css/rules/CSSKeyframeRule.cjs.map +1 -1
  54. package/cjs/css/rules/CSSKeyframeRule.d.ts.map +1 -1
  55. package/cjs/css/rules/CSSKeyframesRule.cjs +26 -2
  56. package/cjs/css/rules/CSSKeyframesRule.cjs.map +1 -1
  57. package/cjs/css/rules/CSSKeyframesRule.d.ts.map +1 -1
  58. package/cjs/css/rules/CSSStyleRule.cjs +1 -1
  59. package/cjs/css/rules/CSSStyleRule.cjs.map +1 -1
  60. package/cjs/css/rules/CSSStyleRule.d.ts.map +1 -1
  61. package/cjs/css/utilities/CSSParser.cjs +10 -9
  62. package/cjs/css/utilities/CSSParser.cjs.map +1 -1
  63. package/cjs/css/utilities/CSSParser.d.ts.map +1 -1
  64. package/cjs/custom-element/CustomElementRegistry.cjs +5 -5
  65. package/cjs/custom-element/CustomElementRegistry.d.ts +1 -1
  66. package/cjs/dom/DOMPoint.cjs +103 -0
  67. package/cjs/dom/DOMPoint.cjs.map +1 -0
  68. package/cjs/dom/DOMPoint.d.ts +57 -0
  69. package/cjs/dom/DOMPoint.d.ts.map +1 -0
  70. package/cjs/dom/DOMPointReadOnly.cjs +110 -0
  71. package/cjs/dom/DOMPointReadOnly.cjs.map +1 -0
  72. package/cjs/dom/DOMPointReadOnly.d.ts +60 -0
  73. package/cjs/dom/DOMPointReadOnly.d.ts.map +1 -0
  74. package/cjs/dom/DOMRect.cjs +112 -0
  75. package/cjs/dom/DOMRect.cjs.map +1 -0
  76. package/cjs/dom/DOMRect.d.ts +65 -0
  77. package/cjs/dom/DOMRect.d.ts.map +1 -0
  78. package/cjs/dom/DOMRectList.cjs +56 -0
  79. package/cjs/dom/DOMRectList.cjs.map +1 -0
  80. package/cjs/dom/DOMRectList.d.ts +21 -0
  81. package/cjs/dom/DOMRectList.d.ts.map +1 -0
  82. package/cjs/dom/DOMRectReadOnly.cjs +143 -0
  83. package/cjs/dom/DOMRectReadOnly.cjs.map +1 -0
  84. package/cjs/dom/DOMRectReadOnly.d.ts +84 -0
  85. package/cjs/dom/DOMRectReadOnly.d.ts.map +1 -0
  86. package/cjs/dom/DOMStringMap.cjs +103 -0
  87. package/cjs/dom/DOMStringMap.cjs.map +1 -0
  88. package/cjs/dom/DOMStringMap.d.ts +18 -0
  89. package/cjs/dom/DOMStringMap.d.ts.map +1 -0
  90. package/cjs/dom/DOMStringMapUtility.cjs.map +1 -0
  91. package/cjs/dom/DOMStringMapUtility.d.ts.map +1 -0
  92. package/cjs/dom/DOMTokenList.cjs +325 -0
  93. package/cjs/dom/DOMTokenList.cjs.map +1 -0
  94. package/cjs/dom/DOMTokenList.d.ts +119 -0
  95. package/cjs/dom/DOMTokenList.d.ts.map +1 -0
  96. package/cjs/dom/IDOMPointInit.cjs +3 -0
  97. package/cjs/dom/IDOMPointInit.cjs.map +1 -0
  98. package/cjs/dom/IDOMPointInit.d.ts +7 -0
  99. package/cjs/dom/IDOMPointInit.d.ts.map +1 -0
  100. package/cjs/dom/IDOMRectInit.cjs.map +1 -0
  101. package/cjs/dom/IDOMRectInit.d.ts.map +1 -0
  102. package/cjs/dom/dom-matrix/DOMMatrix.cjs +454 -0
  103. package/cjs/dom/dom-matrix/DOMMatrix.cjs.map +1 -0
  104. package/cjs/dom/dom-matrix/DOMMatrix.d.ts +296 -0
  105. package/cjs/dom/dom-matrix/DOMMatrix.d.ts.map +1 -0
  106. package/cjs/dom/dom-matrix/DOMMatrixReadOnly.cjs +1405 -0
  107. package/cjs/dom/dom-matrix/DOMMatrixReadOnly.cjs.map +1 -0
  108. package/cjs/dom/dom-matrix/DOMMatrixReadOnly.d.ts +485 -0
  109. package/cjs/dom/dom-matrix/DOMMatrixReadOnly.d.ts.map +1 -0
  110. package/cjs/dom/dom-matrix/IDOMMatrixCompatibleObject.cjs +3 -0
  111. package/cjs/dom/dom-matrix/IDOMMatrixCompatibleObject.cjs.map +1 -0
  112. package/cjs/dom/dom-matrix/IDOMMatrixCompatibleObject.d.ts +25 -0
  113. package/cjs/dom/dom-matrix/IDOMMatrixCompatibleObject.d.ts.map +1 -0
  114. package/cjs/dom/dom-matrix/IDOMMatrixJSON.cjs +3 -0
  115. package/cjs/dom/dom-matrix/IDOMMatrixJSON.cjs.map +1 -0
  116. package/cjs/dom/dom-matrix/IDOMMatrixJSON.d.ts +27 -0
  117. package/cjs/dom/dom-matrix/IDOMMatrixJSON.d.ts.map +1 -0
  118. package/cjs/dom/dom-matrix/TDOMMatrix2DArray.cjs +3 -0
  119. package/cjs/dom/dom-matrix/TDOMMatrix2DArray.cjs.map +1 -0
  120. package/cjs/dom/dom-matrix/TDOMMatrix2DArray.d.ts +4 -0
  121. package/cjs/dom/dom-matrix/TDOMMatrix2DArray.d.ts.map +1 -0
  122. package/cjs/dom/dom-matrix/TDOMMatrix3DArray.cjs +3 -0
  123. package/cjs/dom/dom-matrix/TDOMMatrix3DArray.cjs.map +1 -0
  124. package/cjs/dom/dom-matrix/TDOMMatrix3DArray.d.ts +21 -0
  125. package/cjs/dom/dom-matrix/TDOMMatrix3DArray.d.ts.map +1 -0
  126. package/cjs/dom/dom-matrix/TDOMMatrixInit.cjs +3 -0
  127. package/cjs/dom/dom-matrix/TDOMMatrixInit.cjs.map +1 -0
  128. package/cjs/dom/dom-matrix/TDOMMatrixInit.d.ts +4 -0
  129. package/cjs/dom/dom-matrix/TDOMMatrixInit.d.ts.map +1 -0
  130. package/cjs/dom-parser/DOMParser.cjs +0 -1
  131. package/cjs/dom-parser/DOMParser.cjs.map +1 -1
  132. package/cjs/dom-parser/DOMParser.d.ts.map +1 -1
  133. package/cjs/index.cjs +5 -7
  134. package/cjs/index.cjs.map +1 -1
  135. package/cjs/index.d.ts +5 -6
  136. package/cjs/index.d.ts.map +1 -1
  137. package/cjs/intersection-observer/IntersectionObserverEntry.d.ts +1 -1
  138. package/cjs/intersection-observer/IntersectionObserverEntry.d.ts.map +1 -1
  139. package/cjs/nodes/document/Document.cjs +16 -15
  140. package/cjs/nodes/document/Document.cjs.map +1 -1
  141. package/cjs/nodes/document/Document.d.ts +1 -1
  142. package/cjs/nodes/document/Document.d.ts.map +1 -1
  143. package/cjs/nodes/element/Element.cjs +5 -13
  144. package/cjs/nodes/element/Element.cjs.map +1 -1
  145. package/cjs/nodes/element/Element.d.ts +3 -3
  146. package/cjs/nodes/element/Element.d.ts.map +1 -1
  147. package/cjs/nodes/element/HTMLCollection.cjs +6 -4
  148. package/cjs/nodes/element/HTMLCollection.cjs.map +1 -1
  149. package/cjs/nodes/element/HTMLCollection.d.ts +2 -2
  150. package/cjs/nodes/element/HTMLCollection.d.ts.map +1 -1
  151. package/cjs/nodes/element/NamedNodeMap.cjs +0 -4
  152. package/cjs/nodes/element/NamedNodeMap.cjs.map +1 -1
  153. package/cjs/nodes/element/NamedNodeMap.d.ts.map +1 -1
  154. package/cjs/nodes/element/NamedNodeMapProxyFactory.cjs +9 -0
  155. package/cjs/nodes/element/NamedNodeMapProxyFactory.cjs.map +1 -1
  156. package/cjs/nodes/element/NamedNodeMapProxyFactory.d.ts.map +1 -1
  157. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs +2 -2
  158. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs.map +1 -1
  159. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
  160. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  161. package/cjs/nodes/html-area-element/HTMLAreaElement.cjs +2 -2
  162. package/cjs/nodes/html-area-element/HTMLAreaElement.cjs.map +1 -1
  163. package/cjs/nodes/html-area-element/HTMLAreaElement.d.ts +1 -1
  164. package/cjs/nodes/html-area-element/HTMLAreaElement.d.ts.map +1 -1
  165. package/cjs/nodes/html-canvas-element/CanvasCaptureMediaStreamTrack.cjs +3 -3
  166. package/cjs/nodes/html-canvas-element/CanvasCaptureMediaStreamTrack.cjs.map +1 -1
  167. package/cjs/nodes/html-canvas-element/CanvasCaptureMediaStreamTrack.d.ts +3 -3
  168. package/cjs/nodes/html-canvas-element/CanvasCaptureMediaStreamTrack.d.ts.map +1 -1
  169. package/cjs/nodes/html-element/HTMLElement.cjs +3 -3
  170. package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
  171. package/cjs/nodes/html-element/HTMLElement.d.ts +1 -1
  172. package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
  173. package/cjs/nodes/html-form-element/HTMLFormControlsCollection.cjs +3 -3
  174. package/cjs/nodes/html-form-element/HTMLFormControlsCollection.cjs.map +1 -1
  175. package/cjs/nodes/html-form-element/HTMLFormControlsCollection.d.ts +3 -3
  176. package/cjs/nodes/html-form-element/HTMLFormControlsCollection.d.ts.map +1 -1
  177. package/cjs/nodes/html-form-element/HTMLFormElement.cjs +13 -7
  178. package/cjs/nodes/html-form-element/HTMLFormElement.cjs.map +1 -1
  179. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  180. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +2 -2
  181. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
  182. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
  183. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  184. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs +2 -2
  185. package/cjs/nodes/html-link-element/HTMLLinkElement.cjs.map +1 -1
  186. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts +1 -1
  187. package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  188. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs +2 -2
  189. package/cjs/nodes/html-media-element/HTMLMediaElement.cjs.map +1 -1
  190. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts +1 -1
  191. package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  192. package/cjs/nodes/html-media-element/MediaStreamTrack.cjs +1 -1
  193. package/cjs/nodes/html-media-element/MediaStreamTrack.cjs.map +1 -1
  194. package/cjs/nodes/html-media-element/MediaStreamTrack.d.ts +2 -2
  195. package/cjs/nodes/html-media-element/MediaStreamTrack.d.ts.map +1 -1
  196. package/cjs/nodes/html-media-element/TextTrack.cjs +1 -1
  197. package/cjs/nodes/html-media-element/TextTrack.cjs.map +1 -1
  198. package/cjs/nodes/html-media-element/TextTrack.d.ts +2 -2
  199. package/cjs/nodes/html-media-element/TextTrack.d.ts.map +1 -1
  200. package/cjs/nodes/html-media-element/TextTrackCue.cjs +1 -1
  201. package/cjs/nodes/html-media-element/TextTrackCue.cjs.map +1 -1
  202. package/cjs/nodes/html-media-element/TextTrackCue.d.ts +2 -2
  203. package/cjs/nodes/html-media-element/TextTrackCue.d.ts.map +1 -1
  204. package/cjs/nodes/html-media-element/TextTrackList.cjs +10 -8
  205. package/cjs/nodes/html-media-element/TextTrackList.cjs.map +1 -1
  206. package/cjs/nodes/html-media-element/TextTrackList.d.ts +3 -3
  207. package/cjs/nodes/html-media-element/TextTrackList.d.ts.map +1 -1
  208. package/cjs/nodes/html-media-element/TimeRanges.cjs +1 -1
  209. package/cjs/nodes/html-media-element/TimeRanges.cjs.map +1 -1
  210. package/cjs/nodes/html-media-element/TimeRanges.d.ts +2 -2
  211. package/cjs/nodes/html-media-element/TimeRanges.d.ts.map +1 -1
  212. package/cjs/nodes/html-select-element/HTMLOptionsCollection.cjs +3 -3
  213. package/cjs/nodes/html-select-element/HTMLOptionsCollection.cjs.map +1 -1
  214. package/cjs/nodes/html-select-element/HTMLOptionsCollection.d.ts +3 -3
  215. package/cjs/nodes/html-select-element/HTMLOptionsCollection.d.ts.map +1 -1
  216. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs +11 -5
  217. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
  218. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  219. package/cjs/nodes/html-style-element/HTMLStyleElement.cjs +17 -20
  220. package/cjs/nodes/html-style-element/HTMLStyleElement.cjs.map +1 -1
  221. package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts +7 -8
  222. package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
  223. package/cjs/nodes/html-table-cell-element/HTMLTableCellElement.cjs +2 -2
  224. package/cjs/nodes/html-table-cell-element/HTMLTableCellElement.cjs.map +1 -1
  225. package/cjs/nodes/html-table-cell-element/HTMLTableCellElement.d.ts +1 -1
  226. package/cjs/nodes/html-table-cell-element/HTMLTableCellElement.d.ts.map +1 -1
  227. package/cjs/nodes/node/Node.cjs +0 -1
  228. package/cjs/nodes/node/Node.cjs.map +1 -1
  229. package/cjs/nodes/node/Node.d.ts +2 -3
  230. package/cjs/nodes/node/Node.d.ts.map +1 -1
  231. package/cjs/nodes/node/NodeList.cjs +10 -5
  232. package/cjs/nodes/node/NodeList.cjs.map +1 -1
  233. package/cjs/nodes/node/NodeList.d.ts +3 -3
  234. package/cjs/nodes/node/NodeList.d.ts.map +1 -1
  235. package/cjs/nodes/parent-node/ParentNodeUtility.cjs +1 -1
  236. package/cjs/nodes/parent-node/ParentNodeUtility.cjs.map +1 -1
  237. package/cjs/nodes/svg-animate-element/SVGAnimateElement.cjs +15 -0
  238. package/cjs/nodes/svg-animate-element/SVGAnimateElement.cjs.map +1 -0
  239. package/cjs/nodes/svg-animate-element/SVGAnimateElement.d.ts +9 -0
  240. package/cjs/nodes/svg-animate-element/SVGAnimateElement.d.ts.map +1 -0
  241. package/cjs/nodes/svg-animate-motion-element/SVGAnimateMotionElement.cjs +15 -0
  242. package/cjs/nodes/svg-animate-motion-element/SVGAnimateMotionElement.cjs.map +1 -0
  243. package/cjs/nodes/svg-animate-motion-element/SVGAnimateMotionElement.d.ts +9 -0
  244. package/cjs/nodes/svg-animate-motion-element/SVGAnimateMotionElement.d.ts.map +1 -0
  245. package/cjs/nodes/svg-animate-motion-element copy/SVGAnimateMotionElement.test.cjs +28 -0
  246. package/cjs/nodes/svg-animate-motion-element copy/SVGAnimateMotionElement.test.cjs.map +1 -0
  247. package/cjs/nodes/svg-animate-motion-element copy/SVGAnimateMotionElement.test.d.ts +2 -0
  248. package/cjs/nodes/svg-animate-motion-element copy/SVGAnimateMotionElement.test.d.ts.map +1 -0
  249. package/cjs/nodes/svg-animate-transform-element/SVGAnimateTransformElement.cjs +15 -0
  250. package/cjs/nodes/svg-animate-transform-element/SVGAnimateTransformElement.cjs.map +1 -0
  251. package/cjs/nodes/svg-animate-transform-element/SVGAnimateTransformElement.d.ts +9 -0
  252. package/cjs/nodes/svg-animate-transform-element/SVGAnimateTransformElement.d.ts.map +1 -0
  253. package/cjs/nodes/svg-animation-element/SVGAnimationElement.cjs +84 -0
  254. package/cjs/nodes/svg-animation-element/SVGAnimationElement.cjs.map +1 -0
  255. package/cjs/nodes/svg-animation-element/SVGAnimationElement.d.ts +35 -0
  256. package/cjs/nodes/svg-animation-element/SVGAnimationElement.d.ts.map +1 -0
  257. package/cjs/nodes/svg-circle-element/SVGCircleElement.cjs +86 -0
  258. package/cjs/nodes/svg-circle-element/SVGCircleElement.cjs.map +1 -0
  259. package/cjs/nodes/svg-circle-element/SVGCircleElement.d.ts +32 -0
  260. package/cjs/nodes/svg-circle-element/SVGCircleElement.d.ts.map +1 -0
  261. package/cjs/nodes/svg-clip-path-element/SVGClipPathElement.cjs +58 -0
  262. package/cjs/nodes/svg-clip-path-element/SVGClipPathElement.cjs.map +1 -0
  263. package/cjs/nodes/svg-clip-path-element/SVGClipPathElement.d.ts +18 -0
  264. package/cjs/nodes/svg-clip-path-element/SVGClipPathElement.d.ts.map +1 -0
  265. package/cjs/nodes/svg-component-transfer-function-element/SVGComponentTransferFunctionElement.cjs +160 -0
  266. package/cjs/nodes/svg-component-transfer-function-element/SVGComponentTransferFunctionElement.cjs.map +1 -0
  267. package/cjs/nodes/svg-component-transfer-function-element/SVGComponentTransferFunctionElement.d.ts +68 -0
  268. package/cjs/nodes/svg-component-transfer-function-element/SVGComponentTransferFunctionElement.d.ts.map +1 -0
  269. package/cjs/nodes/svg-defs-element/SVGDefsElement.cjs +15 -0
  270. package/cjs/nodes/svg-defs-element/SVGDefsElement.cjs.map +1 -0
  271. package/cjs/nodes/svg-defs-element/SVGDefsElement.d.ts +9 -0
  272. package/cjs/nodes/svg-defs-element/SVGDefsElement.d.ts.map +1 -0
  273. package/cjs/nodes/svg-desc-element/SVGDescElement.cjs +15 -0
  274. package/cjs/nodes/svg-desc-element/SVGDescElement.cjs.map +1 -0
  275. package/cjs/nodes/svg-desc-element/SVGDescElement.d.ts +9 -0
  276. package/cjs/nodes/svg-desc-element/SVGDescElement.d.ts.map +1 -0
  277. package/cjs/nodes/svg-element/SVGElement.cjs +11 -11
  278. package/cjs/nodes/svg-element/SVGElement.cjs.map +1 -1
  279. package/cjs/nodes/svg-element/SVGElement.d.ts +8 -8
  280. package/cjs/nodes/svg-element/SVGElement.d.ts.map +1 -1
  281. package/cjs/nodes/svg-ellipse-element/SVGEllipseElement.cjs +101 -0
  282. package/cjs/nodes/svg-ellipse-element/SVGEllipseElement.cjs.map +1 -0
  283. package/cjs/nodes/svg-ellipse-element/SVGEllipseElement.d.ts +39 -0
  284. package/cjs/nodes/svg-ellipse-element/SVGEllipseElement.d.ts.map +1 -0
  285. package/cjs/nodes/svg-fe-blend-element/SVGFEBlendElement.cjs +185 -0
  286. package/cjs/nodes/svg-fe-blend-element/SVGFEBlendElement.cjs.map +1 -0
  287. package/cjs/nodes/svg-fe-blend-element/SVGFEBlendElement.d.ts +79 -0
  288. package/cjs/nodes/svg-fe-blend-element/SVGFEBlendElement.d.ts.map +1 -0
  289. package/cjs/nodes/svg-fe-color-matrix-element/SVGFEColorMatrixElement.cjs +187 -0
  290. package/cjs/nodes/svg-fe-color-matrix-element/SVGFEColorMatrixElement.cjs.map +1 -0
  291. package/cjs/nodes/svg-fe-color-matrix-element/SVGFEColorMatrixElement.d.ts +82 -0
  292. package/cjs/nodes/svg-fe-color-matrix-element/SVGFEColorMatrixElement.d.ts.map +1 -0
  293. package/cjs/nodes/svg-fe-component-transfer-element/SVGFEComponentTransferElement.cjs +132 -0
  294. package/cjs/nodes/svg-fe-component-transfer-element/SVGFEComponentTransferElement.cjs.map +1 -0
  295. package/cjs/nodes/svg-fe-component-transfer-element/SVGFEComponentTransferElement.d.ts +54 -0
  296. package/cjs/nodes/svg-fe-component-transfer-element/SVGFEComponentTransferElement.d.ts.map +1 -0
  297. package/cjs/nodes/svg-fe-composite-element/SVGFECompositeElement.cjs +174 -0
  298. package/cjs/nodes/svg-fe-composite-element/SVGFECompositeElement.cjs.map +1 -0
  299. package/cjs/nodes/svg-fe-composite-element/SVGFECompositeElement.d.ts +77 -0
  300. package/cjs/nodes/svg-fe-composite-element/SVGFECompositeElement.d.ts.map +1 -0
  301. package/cjs/nodes/svg-fe-convolve-matrix-element/SVGFEConvolveMatrixElement.cjs +309 -0
  302. package/cjs/nodes/svg-fe-convolve-matrix-element/SVGFEConvolveMatrixElement.cjs.map +1 -0
  303. package/cjs/nodes/svg-fe-convolve-matrix-element/SVGFEConvolveMatrixElement.d.ts +140 -0
  304. package/cjs/nodes/svg-fe-convolve-matrix-element/SVGFEConvolveMatrixElement.d.ts.map +1 -0
  305. package/cjs/nodes/svg-fe-diffuse-lighting-element/SVGFEDiffuseLightingElement.cjs +193 -0
  306. package/cjs/nodes/svg-fe-diffuse-lighting-element/SVGFEDiffuseLightingElement.cjs.map +1 -0
  307. package/cjs/nodes/svg-fe-diffuse-lighting-element/SVGFEDiffuseLightingElement.d.ts +83 -0
  308. package/cjs/nodes/svg-fe-diffuse-lighting-element/SVGFEDiffuseLightingElement.d.ts.map +1 -0
  309. package/cjs/nodes/svg-fe-displacement-map-element/SVGFEDisplacementMapElement.cjs +204 -0
  310. package/cjs/nodes/svg-fe-displacement-map-element/SVGFEDisplacementMapElement.cjs.map +1 -0
  311. package/cjs/nodes/svg-fe-displacement-map-element/SVGFEDisplacementMapElement.d.ts +89 -0
  312. package/cjs/nodes/svg-fe-displacement-map-element/SVGFEDisplacementMapElement.d.ts.map +1 -0
  313. package/cjs/nodes/svg-fe-distant-light-element/SVGFEDistantLightElement.cjs +71 -0
  314. package/cjs/nodes/svg-fe-distant-light-element/SVGFEDistantLightElement.cjs.map +1 -0
  315. package/cjs/nodes/svg-fe-distant-light-element/SVGFEDistantLightElement.d.ts +25 -0
  316. package/cjs/nodes/svg-fe-distant-light-element/SVGFEDistantLightElement.d.ts.map +1 -0
  317. package/cjs/nodes/svg-fe-drop-shadow-element/SVGFEDropShadowElement.cjs +205 -0
  318. package/cjs/nodes/svg-fe-drop-shadow-element/SVGFEDropShadowElement.cjs.map +1 -0
  319. package/cjs/nodes/svg-fe-drop-shadow-element/SVGFEDropShadowElement.d.ts +90 -0
  320. package/cjs/nodes/svg-fe-drop-shadow-element/SVGFEDropShadowElement.d.ts.map +1 -0
  321. package/cjs/nodes/svg-fe-flood-element/SVGFEFloodElement.cjs +117 -0
  322. package/cjs/nodes/svg-fe-flood-element/SVGFEFloodElement.cjs.map +1 -0
  323. package/cjs/nodes/svg-fe-flood-element/SVGFEFloodElement.d.ts +47 -0
  324. package/cjs/nodes/svg-fe-flood-element/SVGFEFloodElement.d.ts.map +1 -0
  325. package/cjs/nodes/svg-fe-func-a-element/SVGFEFuncAElement.cjs +15 -0
  326. package/cjs/nodes/svg-fe-func-a-element/SVGFEFuncAElement.cjs.map +1 -0
  327. package/cjs/nodes/svg-fe-func-a-element/SVGFEFuncAElement.d.ts +9 -0
  328. package/cjs/nodes/svg-fe-func-a-element/SVGFEFuncAElement.d.ts.map +1 -0
  329. package/cjs/nodes/svg-fe-func-b-element/SVGFEFuncBElement.cjs +15 -0
  330. package/cjs/nodes/svg-fe-func-b-element/SVGFEFuncBElement.cjs.map +1 -0
  331. package/cjs/nodes/svg-fe-func-b-element/SVGFEFuncBElement.d.ts +9 -0
  332. package/cjs/nodes/svg-fe-func-b-element/SVGFEFuncBElement.d.ts.map +1 -0
  333. package/cjs/nodes/svg-fe-func-g-element/SVGFEFuncGElement.cjs +15 -0
  334. package/cjs/nodes/svg-fe-func-g-element/SVGFEFuncGElement.cjs.map +1 -0
  335. package/cjs/nodes/svg-fe-func-g-element/SVGFEFuncGElement.d.ts +9 -0
  336. package/cjs/nodes/svg-fe-func-g-element/SVGFEFuncGElement.d.ts.map +1 -0
  337. package/cjs/nodes/svg-fe-func-r-element/SVGFEFuncRElement.cjs +15 -0
  338. package/cjs/nodes/svg-fe-func-r-element/SVGFEFuncRElement.cjs.map +1 -0
  339. package/cjs/nodes/svg-fe-func-r-element/SVGFEFuncRElement.d.ts +9 -0
  340. package/cjs/nodes/svg-fe-func-r-element/SVGFEFuncRElement.d.ts.map +1 -0
  341. package/cjs/nodes/svg-fe-gaussian-blur-element/SVGFEGaussianBlurElement.cjs +196 -0
  342. package/cjs/nodes/svg-fe-gaussian-blur-element/SVGFEGaussianBlurElement.cjs.map +1 -0
  343. package/cjs/nodes/svg-fe-gaussian-blur-element/SVGFEGaussianBlurElement.d.ts +88 -0
  344. package/cjs/nodes/svg-fe-gaussian-blur-element/SVGFEGaussianBlurElement.d.ts.map +1 -0
  345. package/cjs/nodes/svg-fe-image-element/SVGFEImageElement.cjs +165 -0
  346. package/cjs/nodes/svg-fe-image-element/SVGFEImageElement.cjs.map +1 -0
  347. package/cjs/nodes/svg-fe-image-element/SVGFEImageElement.d.ts +75 -0
  348. package/cjs/nodes/svg-fe-image-element/SVGFEImageElement.d.ts.map +1 -0
  349. package/cjs/nodes/svg-fe-merge-element/SVGFEMergeElement.cjs +117 -0
  350. package/cjs/nodes/svg-fe-merge-element/SVGFEMergeElement.cjs.map +1 -0
  351. package/cjs/nodes/svg-fe-merge-element/SVGFEMergeElement.d.ts +47 -0
  352. package/cjs/nodes/svg-fe-merge-element/SVGFEMergeElement.d.ts.map +1 -0
  353. package/cjs/nodes/svg-fe-merge-node-element/SVGFEMergeNodeElement.cjs +56 -0
  354. package/cjs/nodes/svg-fe-merge-node-element/SVGFEMergeNodeElement.cjs.map +1 -0
  355. package/cjs/nodes/svg-fe-merge-node-element/SVGFEMergeNodeElement.d.ts +18 -0
  356. package/cjs/nodes/svg-fe-merge-node-element/SVGFEMergeNodeElement.d.ts.map +1 -0
  357. package/cjs/nodes/svg-fe-morphology-element/SVGFEMorphologyElement.cjs +185 -0
  358. package/cjs/nodes/svg-fe-morphology-element/SVGFEMorphologyElement.cjs.map +1 -0
  359. package/cjs/nodes/svg-fe-morphology-element/SVGFEMorphologyElement.d.ts +80 -0
  360. package/cjs/nodes/svg-fe-morphology-element/SVGFEMorphologyElement.d.ts.map +1 -0
  361. package/cjs/nodes/svg-fe-offset-element/SVGFEOffsetElement.cjs +163 -0
  362. package/cjs/nodes/svg-fe-offset-element/SVGFEOffsetElement.cjs.map +1 -0
  363. package/cjs/nodes/svg-fe-offset-element/SVGFEOffsetElement.d.ts +69 -0
  364. package/cjs/nodes/svg-fe-offset-element/SVGFEOffsetElement.d.ts.map +1 -0
  365. package/cjs/nodes/svg-fe-point-light-element/SVGFEPointLightElement.cjs +86 -0
  366. package/cjs/nodes/svg-fe-point-light-element/SVGFEPointLightElement.cjs.map +1 -0
  367. package/cjs/nodes/svg-fe-point-light-element/SVGFEPointLightElement.d.ts +32 -0
  368. package/cjs/nodes/svg-fe-point-light-element/SVGFEPointLightElement.d.ts.map +1 -0
  369. package/cjs/nodes/svg-fe-specular-lighting-element/SVGFESpecularLightingElement.cjs +211 -0
  370. package/cjs/nodes/svg-fe-specular-lighting-element/SVGFESpecularLightingElement.cjs.map +1 -0
  371. package/cjs/nodes/svg-fe-specular-lighting-element/SVGFESpecularLightingElement.d.ts +90 -0
  372. package/cjs/nodes/svg-fe-specular-lighting-element/SVGFESpecularLightingElement.d.ts.map +1 -0
  373. package/cjs/nodes/svg-fe-spot-light-element/SVGFESpotLightElement.cjs +162 -0
  374. package/cjs/nodes/svg-fe-spot-light-element/SVGFESpotLightElement.cjs.map +1 -0
  375. package/cjs/nodes/svg-fe-spot-light-element/SVGFESpotLightElement.d.ts +67 -0
  376. package/cjs/nodes/svg-fe-spot-light-element/SVGFESpotLightElement.d.ts.map +1 -0
  377. package/cjs/nodes/svg-fe-tile-element/SVGFETileElement.cjs +132 -0
  378. package/cjs/nodes/svg-fe-tile-element/SVGFETileElement.cjs.map +1 -0
  379. package/cjs/nodes/svg-fe-tile-element/SVGFETileElement.d.ts +54 -0
  380. package/cjs/nodes/svg-fe-tile-element/SVGFETileElement.d.ts.map +1 -0
  381. package/cjs/nodes/svg-fe-turbulence-element/SVGFETurbulenceElement.cjs +221 -0
  382. package/cjs/nodes/svg-fe-turbulence-element/SVGFETurbulenceElement.cjs.map +1 -0
  383. package/cjs/nodes/svg-fe-turbulence-element/SVGFETurbulenceElement.d.ts +98 -0
  384. package/cjs/nodes/svg-fe-turbulence-element/SVGFETurbulenceElement.d.ts.map +1 -0
  385. package/cjs/nodes/svg-filter-element/SVGFilterElement.cjs +152 -0
  386. package/cjs/nodes/svg-filter-element/SVGFilterElement.cjs.map +1 -0
  387. package/cjs/nodes/svg-filter-element/SVGFilterElement.d.ts +62 -0
  388. package/cjs/nodes/svg-filter-element/SVGFilterElement.d.ts.map +1 -0
  389. package/cjs/nodes/svg-foreign-object-element/SVGForeignObjectElement.cjs +101 -0
  390. package/cjs/nodes/svg-foreign-object-element/SVGForeignObjectElement.cjs.map +1 -0
  391. package/cjs/nodes/svg-foreign-object-element/SVGForeignObjectElement.d.ts +39 -0
  392. package/cjs/nodes/svg-foreign-object-element/SVGForeignObjectElement.d.ts.map +1 -0
  393. package/cjs/nodes/svg-g-element/SVGGElement.cjs +15 -0
  394. package/cjs/nodes/svg-g-element/SVGGElement.cjs.map +1 -0
  395. package/cjs/nodes/svg-g-element/SVGGElement.d.ts +9 -0
  396. package/cjs/nodes/svg-g-element/SVGGElement.d.ts.map +1 -0
  397. package/cjs/nodes/svg-geometry-element/SVGGeometryElement.cjs +110 -0
  398. package/cjs/nodes/svg-geometry-element/SVGGeometryElement.cjs.map +1 -0
  399. package/cjs/nodes/svg-geometry-element/SVGGeometryElement.d.ts +54 -0
  400. package/cjs/nodes/svg-geometry-element/SVGGeometryElement.d.ts.map +1 -0
  401. package/cjs/nodes/svg-gradient-element/SVGGradientElement.cjs +112 -0
  402. package/cjs/nodes/svg-gradient-element/SVGGradientElement.cjs.map +1 -0
  403. package/cjs/nodes/svg-gradient-element/SVGGradientElement.d.ts +45 -0
  404. package/cjs/nodes/svg-gradient-element/SVGGradientElement.d.ts.map +1 -0
  405. package/cjs/nodes/svg-graphics-element/SVGGraphicsElement.cjs +117 -0
  406. package/cjs/nodes/svg-graphics-element/SVGGraphicsElement.cjs.map +1 -0
  407. package/cjs/nodes/svg-graphics-element/SVGGraphicsElement.d.ts +57 -0
  408. package/cjs/nodes/svg-graphics-element/SVGGraphicsElement.d.ts.map +1 -0
  409. package/cjs/nodes/svg-image-element/SVGImageElement.cjs +182 -0
  410. package/cjs/nodes/svg-image-element/SVGImageElement.cjs.map +1 -0
  411. package/cjs/nodes/svg-image-element/SVGImageElement.d.ts +85 -0
  412. package/cjs/nodes/svg-image-element/SVGImageElement.d.ts.map +1 -0
  413. package/cjs/nodes/svg-line-element/SVGLineElement.cjs +101 -0
  414. package/cjs/nodes/svg-line-element/SVGLineElement.cjs.map +1 -0
  415. package/cjs/nodes/svg-line-element/SVGLineElement.d.ts +39 -0
  416. package/cjs/nodes/svg-line-element/SVGLineElement.d.ts.map +1 -0
  417. package/cjs/nodes/svg-linear-gradient-element/SVGLinearGradientElement.cjs +101 -0
  418. package/cjs/nodes/svg-linear-gradient-element/SVGLinearGradientElement.cjs.map +1 -0
  419. package/cjs/nodes/svg-linear-gradient-element/SVGLinearGradientElement.d.ts +39 -0
  420. package/cjs/nodes/svg-linear-gradient-element/SVGLinearGradientElement.d.ts.map +1 -0
  421. package/cjs/nodes/svg-m-path-element/SVGMPathElement.cjs +56 -0
  422. package/cjs/nodes/svg-m-path-element/SVGMPathElement.cjs.map +1 -0
  423. package/cjs/nodes/svg-m-path-element/SVGMPathElement.d.ts +18 -0
  424. package/cjs/nodes/svg-m-path-element/SVGMPathElement.d.ts.map +1 -0
  425. package/cjs/nodes/svg-marker-element/SVGMarkerElement.cjs +209 -0
  426. package/cjs/nodes/svg-marker-element/SVGMarkerElement.cjs.map +1 -0
  427. package/cjs/nodes/svg-marker-element/SVGMarkerElement.d.ts +98 -0
  428. package/cjs/nodes/svg-marker-element/SVGMarkerElement.d.ts.map +1 -0
  429. package/cjs/nodes/svg-mask-element/SVGMaskElement.cjs +136 -0
  430. package/cjs/nodes/svg-mask-element/SVGMaskElement.cjs.map +1 -0
  431. package/cjs/nodes/svg-mask-element/SVGMaskElement.d.ts +54 -0
  432. package/cjs/nodes/svg-mask-element/SVGMaskElement.d.ts.map +1 -0
  433. package/cjs/nodes/svg-metadata-element/SVGMetadataElement.cjs +15 -0
  434. package/cjs/nodes/svg-metadata-element/SVGMetadataElement.cjs.map +1 -0
  435. package/cjs/nodes/svg-metadata-element/SVGMetadataElement.d.ts +9 -0
  436. package/cjs/nodes/svg-metadata-element/SVGMetadataElement.d.ts.map +1 -0
  437. package/cjs/nodes/svg-path-element/SVGPathElement.cjs +15 -0
  438. package/cjs/nodes/svg-path-element/SVGPathElement.cjs.map +1 -0
  439. package/cjs/nodes/svg-path-element/SVGPathElement.d.ts +9 -0
  440. package/cjs/nodes/svg-path-element/SVGPathElement.d.ts.map +1 -0
  441. package/cjs/nodes/svg-pattern-element/SVGPatternElement.cjs +168 -0
  442. package/cjs/nodes/svg-pattern-element/SVGPatternElement.cjs.map +1 -0
  443. package/cjs/nodes/svg-pattern-element/SVGPatternElement.d.ts +70 -0
  444. package/cjs/nodes/svg-pattern-element/SVGPatternElement.d.ts.map +1 -0
  445. package/cjs/nodes/svg-polygon-element/SVGPolygonElement.cjs +72 -0
  446. package/cjs/nodes/svg-polygon-element/SVGPolygonElement.cjs.map +1 -0
  447. package/cjs/nodes/svg-polygon-element/SVGPolygonElement.d.ts +25 -0
  448. package/cjs/nodes/svg-polygon-element/SVGPolygonElement.d.ts.map +1 -0
  449. package/cjs/nodes/svg-polyline-element/SVGPolylineElement.cjs +72 -0
  450. package/cjs/nodes/svg-polyline-element/SVGPolylineElement.cjs.map +1 -0
  451. package/cjs/nodes/svg-polyline-element/SVGPolylineElement.d.ts +25 -0
  452. package/cjs/nodes/svg-polyline-element/SVGPolylineElement.d.ts.map +1 -0
  453. package/cjs/nodes/svg-radial-gradient-element/SVGRadialGradientElement.cjs +116 -0
  454. package/cjs/nodes/svg-radial-gradient-element/SVGRadialGradientElement.cjs.map +1 -0
  455. package/cjs/nodes/svg-radial-gradient-element/SVGRadialGradientElement.d.ts +46 -0
  456. package/cjs/nodes/svg-radial-gradient-element/SVGRadialGradientElement.d.ts.map +1 -0
  457. package/cjs/nodes/svg-rect-element/SVGRectElement.cjs +131 -0
  458. package/cjs/nodes/svg-rect-element/SVGRectElement.cjs.map +1 -0
  459. package/cjs/nodes/svg-rect-element/SVGRectElement.d.ts +53 -0
  460. package/cjs/nodes/svg-rect-element/SVGRectElement.d.ts.map +1 -0
  461. package/cjs/nodes/svg-script-element/SVGScriptElement.cjs +72 -0
  462. package/cjs/nodes/svg-script-element/SVGScriptElement.cjs.map +1 -0
  463. package/cjs/nodes/svg-script-element/SVGScriptElement.d.ts +30 -0
  464. package/cjs/nodes/svg-script-element/SVGScriptElement.d.ts.map +1 -0
  465. package/cjs/nodes/svg-set-element/SVGSetElement.cjs +15 -0
  466. package/cjs/nodes/svg-set-element/SVGSetElement.cjs.map +1 -0
  467. package/cjs/nodes/svg-set-element/SVGSetElement.d.ts +9 -0
  468. package/cjs/nodes/svg-set-element/SVGSetElement.d.ts.map +1 -0
  469. package/cjs/nodes/svg-stop-element/SVGStopElement.cjs +56 -0
  470. package/cjs/nodes/svg-stop-element/SVGStopElement.cjs.map +1 -0
  471. package/cjs/nodes/svg-stop-element/SVGStopElement.d.ts +18 -0
  472. package/cjs/nodes/svg-stop-element/SVGStopElement.d.ts.map +1 -0
  473. package/cjs/nodes/svg-style-element/SVGStyleElement.cjs +140 -0
  474. package/cjs/nodes/svg-style-element/SVGStyleElement.cjs.map +1 -0
  475. package/cjs/nodes/svg-style-element/SVGStyleElement.d.ts +78 -0
  476. package/cjs/nodes/svg-style-element/SVGStyleElement.d.ts.map +1 -0
  477. package/cjs/nodes/svg-svg-element/SVGSVGElement.cjs +376 -0
  478. package/cjs/nodes/svg-svg-element/SVGSVGElement.cjs.map +1 -0
  479. package/cjs/nodes/svg-svg-element/SVGSVGElement.d.ts +273 -0
  480. package/cjs/nodes/svg-svg-element/SVGSVGElement.d.ts.map +1 -0
  481. package/cjs/nodes/svg-switch-element/SVGSwitchElement.cjs +15 -0
  482. package/cjs/nodes/svg-switch-element/SVGSwitchElement.cjs.map +1 -0
  483. package/cjs/nodes/svg-switch-element/SVGSwitchElement.d.ts +9 -0
  484. package/cjs/nodes/svg-switch-element/SVGSwitchElement.d.ts.map +1 -0
  485. package/cjs/nodes/svg-symbol-element/SVGSymbolElement.cjs +15 -0
  486. package/cjs/nodes/svg-symbol-element/SVGSymbolElement.cjs.map +1 -0
  487. package/cjs/nodes/svg-symbol-element/SVGSymbolElement.d.ts +9 -0
  488. package/cjs/nodes/svg-symbol-element/SVGSymbolElement.d.ts.map +1 -0
  489. package/cjs/nodes/svg-t-span-element/SVGTSpanElement.cjs +15 -0
  490. package/cjs/nodes/svg-t-span-element/SVGTSpanElement.cjs.map +1 -0
  491. package/cjs/nodes/svg-t-span-element/SVGTSpanElement.d.ts +9 -0
  492. package/cjs/nodes/svg-t-span-element/SVGTSpanElement.d.ts.map +1 -0
  493. package/cjs/nodes/svg-text-content-element/SVGTextContentElement.cjs +153 -0
  494. package/cjs/nodes/svg-text-content-element/SVGTextContentElement.cjs.map +1 -0
  495. package/cjs/nodes/svg-text-content-element/SVGTextContentElement.d.ts +80 -0
  496. package/cjs/nodes/svg-text-content-element/SVGTextContentElement.d.ts.map +1 -0
  497. package/cjs/nodes/svg-text-element/SVGTextElement.cjs +15 -0
  498. package/cjs/nodes/svg-text-element/SVGTextElement.cjs.map +1 -0
  499. package/cjs/nodes/svg-text-element/SVGTextElement.d.ts +9 -0
  500. package/cjs/nodes/svg-text-element/SVGTextElement.d.ts.map +1 -0
  501. package/cjs/nodes/svg-text-path-element/SVGTextPathElement.cjs +114 -0
  502. package/cjs/nodes/svg-text-path-element/SVGTextPathElement.cjs.map +1 -0
  503. package/cjs/nodes/svg-text-path-element/SVGTextPathElement.d.ts +47 -0
  504. package/cjs/nodes/svg-text-path-element/SVGTextPathElement.d.ts.map +1 -0
  505. package/cjs/nodes/svg-text-positioning-element/SVGTextPositioningElement.cjs +117 -0
  506. package/cjs/nodes/svg-text-positioning-element/SVGTextPositioningElement.cjs.map +1 -0
  507. package/cjs/nodes/svg-text-positioning-element/SVGTextPositioningElement.d.ts +47 -0
  508. package/cjs/nodes/svg-text-positioning-element/SVGTextPositioningElement.d.ts.map +1 -0
  509. package/cjs/nodes/svg-title-element/SVGTitleElement.cjs +15 -0
  510. package/cjs/nodes/svg-title-element/SVGTitleElement.cjs.map +1 -0
  511. package/cjs/nodes/svg-title-element/SVGTitleElement.d.ts +9 -0
  512. package/cjs/nodes/svg-title-element/SVGTitleElement.d.ts.map +1 -0
  513. package/cjs/nodes/svg-use-element/SVGUseElement.cjs +117 -0
  514. package/cjs/nodes/svg-use-element/SVGUseElement.cjs.map +1 -0
  515. package/cjs/nodes/svg-use-element/SVGUseElement.d.ts +47 -0
  516. package/cjs/nodes/svg-use-element/SVGUseElement.d.ts.map +1 -0
  517. package/cjs/nodes/svg-view-element/SVGViewElement.cjs +15 -0
  518. package/cjs/nodes/svg-view-element/SVGViewElement.cjs.map +1 -0
  519. package/cjs/nodes/svg-view-element/SVGViewElement.d.ts +9 -0
  520. package/cjs/nodes/svg-view-element/SVGViewElement.d.ts.map +1 -0
  521. package/cjs/range/Range.cjs +3 -3
  522. package/cjs/range/Range.cjs.map +1 -1
  523. package/cjs/range/Range.d.ts +2 -2
  524. package/cjs/range/Range.d.ts.map +1 -1
  525. package/cjs/storage/Storage.cjs +4 -4
  526. package/cjs/storage/Storage.cjs.map +1 -1
  527. package/cjs/storage/Storage.d.ts.map +1 -1
  528. package/cjs/svg/SVGAngle.cjs +280 -0
  529. package/cjs/svg/SVGAngle.cjs.map +1 -0
  530. package/cjs/svg/SVGAngle.d.ts +77 -0
  531. package/cjs/svg/SVGAngle.d.ts.map +1 -0
  532. package/cjs/svg/SVGAngleTypeEnum.cjs +12 -0
  533. package/cjs/svg/SVGAngleTypeEnum.cjs.map +1 -0
  534. package/cjs/svg/SVGAngleTypeEnum.d.ts +9 -0
  535. package/cjs/svg/SVGAngleTypeEnum.d.ts.map +1 -0
  536. package/cjs/svg/SVGAnimatedAngle.cjs +106 -0
  537. package/cjs/svg/SVGAnimatedAngle.cjs.map +1 -0
  538. package/cjs/svg/SVGAnimatedAngle.d.ts +53 -0
  539. package/cjs/svg/SVGAnimatedAngle.d.ts.map +1 -0
  540. package/cjs/svg/SVGAnimatedBoolean.cjs +89 -0
  541. package/cjs/svg/SVGAnimatedBoolean.cjs.map +1 -0
  542. package/cjs/svg/SVGAnimatedBoolean.d.ts +50 -0
  543. package/cjs/svg/SVGAnimatedBoolean.d.ts.map +1 -0
  544. package/cjs/svg/SVGAnimatedEnumeration.cjs +120 -0
  545. package/cjs/svg/SVGAnimatedEnumeration.cjs.map +1 -0
  546. package/cjs/svg/SVGAnimatedEnumeration.d.ts +56 -0
  547. package/cjs/svg/SVGAnimatedEnumeration.d.ts.map +1 -0
  548. package/cjs/svg/SVGAnimatedInteger.cjs +100 -0
  549. package/cjs/svg/SVGAnimatedInteger.cjs.map +1 -0
  550. package/cjs/svg/SVGAnimatedInteger.d.ts +50 -0
  551. package/cjs/svg/SVGAnimatedInteger.d.ts.map +1 -0
  552. package/cjs/svg/SVGAnimatedLength.cjs +106 -0
  553. package/cjs/svg/SVGAnimatedLength.cjs.map +1 -0
  554. package/cjs/svg/SVGAnimatedLength.d.ts +53 -0
  555. package/cjs/svg/SVGAnimatedLength.d.ts.map +1 -0
  556. package/cjs/svg/SVGAnimatedLengthList.cjs +107 -0
  557. package/cjs/svg/SVGAnimatedLengthList.cjs.map +1 -0
  558. package/cjs/svg/SVGAnimatedLengthList.d.ts +53 -0
  559. package/cjs/svg/SVGAnimatedLengthList.d.ts.map +1 -0
  560. package/cjs/svg/SVGAnimatedNumber.cjs +103 -0
  561. package/cjs/svg/SVGAnimatedNumber.cjs.map +1 -0
  562. package/cjs/svg/SVGAnimatedNumber.d.ts +53 -0
  563. package/cjs/svg/SVGAnimatedNumber.d.ts.map +1 -0
  564. package/cjs/svg/SVGAnimatedNumberList.cjs +107 -0
  565. package/cjs/svg/SVGAnimatedNumberList.cjs.map +1 -0
  566. package/cjs/svg/SVGAnimatedNumberList.d.ts +53 -0
  567. package/cjs/svg/SVGAnimatedNumberList.d.ts.map +1 -0
  568. package/cjs/svg/SVGAnimatedPreserveAspectRatio.cjs +106 -0
  569. package/cjs/svg/SVGAnimatedPreserveAspectRatio.cjs.map +1 -0
  570. package/cjs/svg/SVGAnimatedPreserveAspectRatio.d.ts +53 -0
  571. package/cjs/svg/SVGAnimatedPreserveAspectRatio.d.ts.map +1 -0
  572. package/cjs/svg/SVGAnimatedRect.cjs +106 -0
  573. package/cjs/svg/SVGAnimatedRect.cjs.map +1 -0
  574. package/cjs/svg/SVGAnimatedRect.d.ts +53 -0
  575. package/cjs/svg/SVGAnimatedRect.d.ts.map +1 -0
  576. package/cjs/svg/SVGAnimatedString.cjs +92 -0
  577. package/cjs/svg/SVGAnimatedString.cjs.map +1 -0
  578. package/cjs/svg/SVGAnimatedString.d.ts +50 -0
  579. package/cjs/svg/SVGAnimatedString.d.ts.map +1 -0
  580. package/cjs/svg/SVGAnimatedTransformList.cjs +107 -0
  581. package/cjs/svg/SVGAnimatedTransformList.cjs.map +1 -0
  582. package/cjs/svg/SVGAnimatedTransformList.d.ts +53 -0
  583. package/cjs/svg/SVGAnimatedTransformList.d.ts.map +1 -0
  584. package/cjs/svg/SVGLength.cjs +338 -0
  585. package/cjs/svg/SVGLength.cjs.map +1 -0
  586. package/cjs/svg/SVGLength.d.ts +84 -0
  587. package/cjs/svg/SVGLength.d.ts.map +1 -0
  588. package/cjs/svg/SVGLengthList.cjs +410 -0
  589. package/cjs/svg/SVGLengthList.cjs.map +1 -0
  590. package/cjs/svg/SVGLengthList.d.ts +102 -0
  591. package/cjs/svg/SVGLengthList.d.ts.map +1 -0
  592. package/cjs/svg/SVGLengthTypeEnum.cjs +18 -0
  593. package/cjs/svg/SVGLengthTypeEnum.cjs.map +1 -0
  594. package/cjs/svg/SVGLengthTypeEnum.d.ts +15 -0
  595. package/cjs/svg/SVGLengthTypeEnum.d.ts.map +1 -0
  596. package/cjs/svg/SVGMatrix.cjs +391 -0
  597. package/cjs/svg/SVGMatrix.cjs.map +1 -0
  598. package/cjs/svg/SVGMatrix.d.ts +163 -0
  599. package/cjs/svg/SVGMatrix.d.ts.map +1 -0
  600. package/cjs/svg/SVGNumber.cjs +91 -0
  601. package/cjs/svg/SVGNumber.cjs.map +1 -0
  602. package/cjs/svg/SVGNumber.d.ts +42 -0
  603. package/cjs/svg/SVGNumber.d.ts.map +1 -0
  604. package/cjs/svg/SVGNumberList.cjs +429 -0
  605. package/cjs/svg/SVGNumberList.cjs.map +1 -0
  606. package/cjs/svg/SVGNumberList.d.ts +102 -0
  607. package/cjs/svg/SVGNumberList.d.ts.map +1 -0
  608. package/cjs/svg/SVGPoint.cjs +115 -0
  609. package/cjs/svg/SVGPoint.cjs.map +1 -0
  610. package/cjs/svg/SVGPoint.d.ts +54 -0
  611. package/cjs/svg/SVGPoint.d.ts.map +1 -0
  612. package/cjs/svg/SVGPointList.cjs +431 -0
  613. package/cjs/svg/SVGPointList.cjs.map +1 -0
  614. package/cjs/svg/SVGPointList.d.ts +102 -0
  615. package/cjs/svg/SVGPointList.d.ts.map +1 -0
  616. package/cjs/svg/SVGPreserveAspectRatio.cjs +158 -0
  617. package/cjs/svg/SVGPreserveAspectRatio.cjs.map +1 -0
  618. package/cjs/svg/SVGPreserveAspectRatio.d.ts +70 -0
  619. package/cjs/svg/SVGPreserveAspectRatio.d.ts.map +1 -0
  620. package/cjs/svg/SVGPreserveAspectRatioAlignEnum.cjs +18 -0
  621. package/cjs/svg/SVGPreserveAspectRatioAlignEnum.cjs.map +1 -0
  622. package/cjs/svg/SVGPreserveAspectRatioAlignEnum.d.ts +15 -0
  623. package/cjs/svg/SVGPreserveAspectRatioAlignEnum.d.ts.map +1 -0
  624. package/cjs/svg/SVGPreserveAspectRatioMeetOrSliceEnum.cjs +10 -0
  625. package/cjs/svg/SVGPreserveAspectRatioMeetOrSliceEnum.cjs.map +1 -0
  626. package/cjs/svg/SVGPreserveAspectRatioMeetOrSliceEnum.d.ts +7 -0
  627. package/cjs/svg/SVGPreserveAspectRatioMeetOrSliceEnum.d.ts.map +1 -0
  628. package/cjs/svg/SVGRect.cjs +182 -0
  629. package/cjs/svg/SVGRect.cjs.map +1 -0
  630. package/cjs/svg/SVGRect.d.ts +78 -0
  631. package/cjs/svg/SVGRect.d.ts.map +1 -0
  632. package/cjs/svg/SVGStringList.cjs +355 -0
  633. package/cjs/svg/SVGStringList.cjs.map +1 -0
  634. package/cjs/svg/SVGStringList.d.ts +101 -0
  635. package/cjs/svg/SVGStringList.d.ts.map +1 -0
  636. package/cjs/svg/SVGTransform.cjs +307 -0
  637. package/cjs/svg/SVGTransform.cjs.map +1 -0
  638. package/cjs/svg/SVGTransform.d.ts +98 -0
  639. package/cjs/svg/SVGTransform.d.ts.map +1 -0
  640. package/cjs/svg/SVGTransformList.cjs +434 -0
  641. package/cjs/svg/SVGTransformList.cjs.map +1 -0
  642. package/cjs/svg/SVGTransformList.d.ts +102 -0
  643. package/cjs/svg/SVGTransformList.d.ts.map +1 -0
  644. package/cjs/svg/SVGTransformTypeEnum.cjs +14 -0
  645. package/cjs/svg/SVGTransformTypeEnum.cjs.map +1 -0
  646. package/cjs/svg/SVGTransformTypeEnum.d.ts +11 -0
  647. package/cjs/svg/SVGTransformTypeEnum.d.ts.map +1 -0
  648. package/cjs/svg/SVGUnitTypes.cjs +51 -0
  649. package/cjs/svg/SVGUnitTypes.cjs.map +1 -0
  650. package/cjs/svg/SVGUnitTypes.d.ts +20 -0
  651. package/cjs/svg/SVGUnitTypes.d.ts.map +1 -0
  652. package/cjs/window/BrowserWindow.cjs +231 -11
  653. package/cjs/window/BrowserWindow.cjs.map +1 -1
  654. package/cjs/window/BrowserWindow.d.ts +202 -10
  655. package/cjs/window/BrowserWindow.d.ts.map +1 -1
  656. package/cjs/window/WindowBrowserContext.cjs +3 -0
  657. package/cjs/window/WindowBrowserContext.cjs.map +1 -1
  658. package/cjs/window/WindowBrowserContext.d.ts.map +1 -1
  659. package/cjs/window/WindowClassExtender.cjs +0 -12
  660. package/cjs/window/WindowClassExtender.cjs.map +1 -1
  661. package/cjs/window/WindowClassExtender.d.ts.map +1 -1
  662. package/cjs/xml-parser/XMLParser.cjs +45 -37
  663. package/cjs/xml-parser/XMLParser.cjs.map +1 -1
  664. package/cjs/xml-parser/XMLParser.d.ts.map +1 -1
  665. package/cjs/xml-serializer/XMLSerializer.cjs +6 -6
  666. package/cjs/xml-serializer/XMLSerializer.cjs.map +1 -1
  667. package/cjs/xml-serializer/XMLSerializer.d.ts.map +1 -1
  668. package/lib/ClassMethodBinder.d.ts +17 -10
  669. package/lib/ClassMethodBinder.d.ts.map +1 -1
  670. package/lib/ClassMethodBinder.js +45 -54
  671. package/lib/ClassMethodBinder.js.map +1 -1
  672. package/lib/PropertySymbol.d.ts +144 -1
  673. package/lib/PropertySymbol.d.ts.map +1 -1
  674. package/lib/PropertySymbol.js +144 -1
  675. package/lib/PropertySymbol.js.map +1 -1
  676. package/lib/StringUtility.d.ts +22 -0
  677. package/lib/StringUtility.d.ts.map +1 -0
  678. package/lib/StringUtility.js +58 -0
  679. package/lib/StringUtility.js.map +1 -0
  680. package/lib/clipboard/ClipboardItem.d.ts +1 -1
  681. package/lib/clipboard/ClipboardItem.d.ts.map +1 -1
  682. package/lib/clipboard/ClipboardItem.js +5 -1
  683. package/lib/clipboard/ClipboardItem.js.map +1 -1
  684. package/lib/config/HTMLElementConfig.d.ts +5 -2
  685. package/lib/config/HTMLElementConfig.d.ts.map +1 -1
  686. package/lib/config/HTMLElementConfig.js +0 -228
  687. package/lib/config/HTMLElementConfig.js.map +1 -1
  688. package/lib/config/ISVGElementTagNameMap.d.ts +123 -63
  689. package/lib/config/ISVGElementTagNameMap.d.ts.map +1 -1
  690. package/lib/config/SVGElementConfig.d.ts +8 -0
  691. package/lib/config/SVGElementConfig.d.ts.map +1 -0
  692. package/lib/config/SVGElementConfig.js +71 -0
  693. package/lib/config/SVGElementConfig.js.map +1 -0
  694. package/lib/css/CSSRule.d.ts +10 -0
  695. package/lib/css/CSSRule.d.ts.map +1 -1
  696. package/lib/css/CSSRule.js +17 -0
  697. package/lib/css/CSSRule.js.map +1 -1
  698. package/lib/css/CSSStyleSheet.d.ts +3 -0
  699. package/lib/css/CSSStyleSheet.d.ts.map +1 -1
  700. package/lib/css/CSSStyleSheet.js +4 -4
  701. package/lib/css/CSSStyleSheet.js.map +1 -1
  702. package/lib/css/declaration/CSSStyleDeclaration.d.ts +78 -2
  703. package/lib/css/declaration/CSSStyleDeclaration.d.ts.map +1 -1
  704. package/lib/css/declaration/CSSStyleDeclaration.js +179 -3
  705. package/lib/css/declaration/CSSStyleDeclaration.js.map +1 -1
  706. package/lib/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.d.ts +52 -0
  707. package/lib/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.d.ts.map +1 -0
  708. package/lib/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.js +325 -0
  709. package/lib/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.js.map +1 -0
  710. package/lib/css/declaration/computed-style/config/CSSStyleDeclarationElementDefaultCSS.d.ts.map +1 -0
  711. package/lib/css/declaration/computed-style/config/CSSStyleDeclarationElementDefaultCSS.js.map +1 -0
  712. package/lib/css/declaration/computed-style/config/CSSStyleDeclarationElementInheritedProperties.d.ts.map +1 -0
  713. package/lib/css/declaration/computed-style/config/CSSStyleDeclarationElementInheritedProperties.js.map +1 -0
  714. package/lib/css/declaration/computed-style/config/CSSStyleDeclarationElementMeasurementProperties.d.ts.map +1 -0
  715. package/lib/css/declaration/computed-style/config/CSSStyleDeclarationElementMeasurementProperties.js.map +1 -0
  716. package/lib/css/rules/CSSFontFaceRule.d.ts.map +1 -1
  717. package/lib/css/rules/CSSFontFaceRule.js +1 -1
  718. package/lib/css/rules/CSSFontFaceRule.js.map +1 -1
  719. package/lib/css/rules/CSSKeyframeRule.d.ts.map +1 -1
  720. package/lib/css/rules/CSSKeyframeRule.js +1 -1
  721. package/lib/css/rules/CSSKeyframeRule.js.map +1 -1
  722. package/lib/css/rules/CSSKeyframesRule.d.ts.map +1 -1
  723. package/lib/css/rules/CSSKeyframesRule.js +3 -2
  724. package/lib/css/rules/CSSKeyframesRule.js.map +1 -1
  725. package/lib/css/rules/CSSStyleRule.d.ts.map +1 -1
  726. package/lib/css/rules/CSSStyleRule.js +1 -1
  727. package/lib/css/rules/CSSStyleRule.js.map +1 -1
  728. package/lib/css/utilities/CSSParser.d.ts.map +1 -1
  729. package/lib/css/utilities/CSSParser.js +10 -9
  730. package/lib/css/utilities/CSSParser.js.map +1 -1
  731. package/lib/custom-element/CustomElementRegistry.d.ts +1 -1
  732. package/lib/custom-element/CustomElementRegistry.js +5 -5
  733. package/lib/dom/DOMPoint.d.ts +57 -0
  734. package/lib/dom/DOMPoint.d.ts.map +1 -0
  735. package/lib/dom/DOMPoint.js +74 -0
  736. package/lib/dom/DOMPoint.js.map +1 -0
  737. package/lib/dom/DOMPointReadOnly.d.ts +60 -0
  738. package/lib/dom/DOMPointReadOnly.d.ts.map +1 -0
  739. package/lib/dom/DOMPointReadOnly.js +84 -0
  740. package/lib/dom/DOMPointReadOnly.js.map +1 -0
  741. package/lib/dom/DOMRect.d.ts +65 -0
  742. package/lib/dom/DOMRect.d.ts.map +1 -0
  743. package/lib/dom/DOMRect.js +83 -0
  744. package/lib/dom/DOMRect.js.map +1 -0
  745. package/lib/dom/DOMRectList.d.ts +21 -0
  746. package/lib/dom/DOMRectList.d.ts.map +1 -0
  747. package/lib/dom/DOMRectList.js +30 -0
  748. package/lib/dom/DOMRectList.js.map +1 -0
  749. package/lib/dom/DOMRectReadOnly.d.ts +84 -0
  750. package/lib/dom/DOMRectReadOnly.d.ts.map +1 -0
  751. package/lib/dom/DOMRectReadOnly.js +117 -0
  752. package/lib/dom/DOMRectReadOnly.js.map +1 -0
  753. package/lib/dom/DOMStringMap.d.ts +18 -0
  754. package/lib/dom/DOMStringMap.d.ts.map +1 -0
  755. package/lib/dom/DOMStringMap.js +74 -0
  756. package/lib/dom/DOMStringMap.js.map +1 -0
  757. package/lib/dom/DOMStringMapUtility.d.ts.map +1 -0
  758. package/lib/dom/DOMStringMapUtility.js.map +1 -0
  759. package/lib/dom/DOMTokenList.d.ts +119 -0
  760. package/lib/dom/DOMTokenList.d.ts.map +1 -0
  761. package/lib/dom/DOMTokenList.js +296 -0
  762. package/lib/dom/DOMTokenList.js.map +1 -0
  763. package/lib/dom/IDOMPointInit.d.ts +7 -0
  764. package/lib/dom/IDOMPointInit.d.ts.map +1 -0
  765. package/lib/dom/IDOMPointInit.js +2 -0
  766. package/lib/dom/IDOMPointInit.js.map +1 -0
  767. package/lib/dom/IDOMRectInit.d.ts.map +1 -0
  768. package/lib/dom/IDOMRectInit.js.map +1 -0
  769. package/lib/dom/dom-matrix/DOMMatrix.d.ts +296 -0
  770. package/lib/dom/dom-matrix/DOMMatrix.d.ts.map +1 -0
  771. package/lib/dom/dom-matrix/DOMMatrix.js +425 -0
  772. package/lib/dom/dom-matrix/DOMMatrix.js.map +1 -0
  773. package/lib/dom/dom-matrix/DOMMatrixReadOnly.d.ts +485 -0
  774. package/lib/dom/dom-matrix/DOMMatrixReadOnly.d.ts.map +1 -0
  775. package/lib/dom/dom-matrix/DOMMatrixReadOnly.js +1376 -0
  776. package/lib/dom/dom-matrix/DOMMatrixReadOnly.js.map +1 -0
  777. package/lib/dom/dom-matrix/IDOMMatrixCompatibleObject.d.ts +25 -0
  778. package/lib/dom/dom-matrix/IDOMMatrixCompatibleObject.d.ts.map +1 -0
  779. package/lib/dom/dom-matrix/IDOMMatrixCompatibleObject.js +2 -0
  780. package/lib/dom/dom-matrix/IDOMMatrixCompatibleObject.js.map +1 -0
  781. package/lib/dom/dom-matrix/IDOMMatrixJSON.d.ts +27 -0
  782. package/lib/dom/dom-matrix/IDOMMatrixJSON.d.ts.map +1 -0
  783. package/lib/dom/dom-matrix/IDOMMatrixJSON.js +2 -0
  784. package/lib/dom/dom-matrix/IDOMMatrixJSON.js.map +1 -0
  785. package/lib/dom/dom-matrix/TDOMMatrix2DArray.d.ts +4 -0
  786. package/lib/dom/dom-matrix/TDOMMatrix2DArray.d.ts.map +1 -0
  787. package/lib/dom/dom-matrix/TDOMMatrix2DArray.js +2 -0
  788. package/lib/dom/dom-matrix/TDOMMatrix2DArray.js.map +1 -0
  789. package/lib/dom/dom-matrix/TDOMMatrix3DArray.d.ts +21 -0
  790. package/lib/dom/dom-matrix/TDOMMatrix3DArray.d.ts.map +1 -0
  791. package/lib/dom/dom-matrix/TDOMMatrix3DArray.js +2 -0
  792. package/lib/dom/dom-matrix/TDOMMatrix3DArray.js.map +1 -0
  793. package/lib/dom/dom-matrix/TDOMMatrixInit.d.ts +4 -0
  794. package/lib/dom/dom-matrix/TDOMMatrixInit.d.ts.map +1 -0
  795. package/lib/dom/dom-matrix/TDOMMatrixInit.js +2 -0
  796. package/lib/dom/dom-matrix/TDOMMatrixInit.js.map +1 -0
  797. package/lib/dom-parser/DOMParser.d.ts.map +1 -1
  798. package/lib/dom-parser/DOMParser.js +0 -1
  799. package/lib/dom-parser/DOMParser.js.map +1 -1
  800. package/lib/index.d.ts +5 -6
  801. package/lib/index.d.ts.map +1 -1
  802. package/lib/index.js +5 -6
  803. package/lib/index.js.map +1 -1
  804. package/lib/intersection-observer/IntersectionObserverEntry.d.ts +1 -1
  805. package/lib/intersection-observer/IntersectionObserverEntry.d.ts.map +1 -1
  806. package/lib/nodes/document/Document.d.ts +1 -1
  807. package/lib/nodes/document/Document.d.ts.map +1 -1
  808. package/lib/nodes/document/Document.js +16 -15
  809. package/lib/nodes/document/Document.js.map +1 -1
  810. package/lib/nodes/element/Element.d.ts +3 -3
  811. package/lib/nodes/element/Element.d.ts.map +1 -1
  812. package/lib/nodes/element/Element.js +5 -13
  813. package/lib/nodes/element/Element.js.map +1 -1
  814. package/lib/nodes/element/HTMLCollection.d.ts +2 -2
  815. package/lib/nodes/element/HTMLCollection.d.ts.map +1 -1
  816. package/lib/nodes/element/HTMLCollection.js +6 -4
  817. package/lib/nodes/element/HTMLCollection.js.map +1 -1
  818. package/lib/nodes/element/NamedNodeMap.d.ts.map +1 -1
  819. package/lib/nodes/element/NamedNodeMap.js +0 -4
  820. package/lib/nodes/element/NamedNodeMap.js.map +1 -1
  821. package/lib/nodes/element/NamedNodeMapProxyFactory.d.ts.map +1 -1
  822. package/lib/nodes/element/NamedNodeMapProxyFactory.js +6 -0
  823. package/lib/nodes/element/NamedNodeMapProxyFactory.js.map +1 -1
  824. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
  825. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  826. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +2 -2
  827. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
  828. package/lib/nodes/html-area-element/HTMLAreaElement.d.ts +1 -1
  829. package/lib/nodes/html-area-element/HTMLAreaElement.d.ts.map +1 -1
  830. package/lib/nodes/html-area-element/HTMLAreaElement.js +2 -2
  831. package/lib/nodes/html-area-element/HTMLAreaElement.js.map +1 -1
  832. package/lib/nodes/html-canvas-element/CanvasCaptureMediaStreamTrack.d.ts +3 -3
  833. package/lib/nodes/html-canvas-element/CanvasCaptureMediaStreamTrack.d.ts.map +1 -1
  834. package/lib/nodes/html-canvas-element/CanvasCaptureMediaStreamTrack.js +3 -3
  835. package/lib/nodes/html-canvas-element/CanvasCaptureMediaStreamTrack.js.map +1 -1
  836. package/lib/nodes/html-element/HTMLElement.d.ts +1 -1
  837. package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
  838. package/lib/nodes/html-element/HTMLElement.js +3 -3
  839. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  840. package/lib/nodes/html-form-element/HTMLFormControlsCollection.d.ts +3 -3
  841. package/lib/nodes/html-form-element/HTMLFormControlsCollection.d.ts.map +1 -1
  842. package/lib/nodes/html-form-element/HTMLFormControlsCollection.js +3 -3
  843. package/lib/nodes/html-form-element/HTMLFormControlsCollection.js.map +1 -1
  844. package/lib/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  845. package/lib/nodes/html-form-element/HTMLFormElement.js +13 -7
  846. package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
  847. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
  848. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  849. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +2 -2
  850. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  851. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +1 -1
  852. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
  853. package/lib/nodes/html-link-element/HTMLLinkElement.js +2 -2
  854. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  855. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts +1 -1
  856. package/lib/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
  857. package/lib/nodes/html-media-element/HTMLMediaElement.js +2 -2
  858. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
  859. package/lib/nodes/html-media-element/MediaStreamTrack.d.ts +2 -2
  860. package/lib/nodes/html-media-element/MediaStreamTrack.d.ts.map +1 -1
  861. package/lib/nodes/html-media-element/MediaStreamTrack.js +1 -1
  862. package/lib/nodes/html-media-element/MediaStreamTrack.js.map +1 -1
  863. package/lib/nodes/html-media-element/TextTrack.d.ts +2 -2
  864. package/lib/nodes/html-media-element/TextTrack.d.ts.map +1 -1
  865. package/lib/nodes/html-media-element/TextTrack.js +1 -1
  866. package/lib/nodes/html-media-element/TextTrack.js.map +1 -1
  867. package/lib/nodes/html-media-element/TextTrackCue.d.ts +2 -2
  868. package/lib/nodes/html-media-element/TextTrackCue.d.ts.map +1 -1
  869. package/lib/nodes/html-media-element/TextTrackCue.js +1 -1
  870. package/lib/nodes/html-media-element/TextTrackCue.js.map +1 -1
  871. package/lib/nodes/html-media-element/TextTrackList.d.ts +3 -3
  872. package/lib/nodes/html-media-element/TextTrackList.d.ts.map +1 -1
  873. package/lib/nodes/html-media-element/TextTrackList.js +10 -8
  874. package/lib/nodes/html-media-element/TextTrackList.js.map +1 -1
  875. package/lib/nodes/html-media-element/TimeRanges.d.ts +2 -2
  876. package/lib/nodes/html-media-element/TimeRanges.d.ts.map +1 -1
  877. package/lib/nodes/html-media-element/TimeRanges.js +1 -1
  878. package/lib/nodes/html-media-element/TimeRanges.js.map +1 -1
  879. package/lib/nodes/html-select-element/HTMLOptionsCollection.d.ts +3 -3
  880. package/lib/nodes/html-select-element/HTMLOptionsCollection.d.ts.map +1 -1
  881. package/lib/nodes/html-select-element/HTMLOptionsCollection.js +3 -3
  882. package/lib/nodes/html-select-element/HTMLOptionsCollection.js.map +1 -1
  883. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  884. package/lib/nodes/html-select-element/HTMLSelectElement.js +11 -5
  885. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  886. package/lib/nodes/html-style-element/HTMLStyleElement.d.ts +7 -8
  887. package/lib/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
  888. package/lib/nodes/html-style-element/HTMLStyleElement.js +17 -20
  889. package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
  890. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.d.ts +1 -1
  891. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.d.ts.map +1 -1
  892. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.js +2 -2
  893. package/lib/nodes/html-table-cell-element/HTMLTableCellElement.js.map +1 -1
  894. package/lib/nodes/node/Node.d.ts +2 -3
  895. package/lib/nodes/node/Node.d.ts.map +1 -1
  896. package/lib/nodes/node/Node.js +0 -1
  897. package/lib/nodes/node/Node.js.map +1 -1
  898. package/lib/nodes/node/NodeList.d.ts +3 -3
  899. package/lib/nodes/node/NodeList.d.ts.map +1 -1
  900. package/lib/nodes/node/NodeList.js +10 -5
  901. package/lib/nodes/node/NodeList.js.map +1 -1
  902. package/lib/nodes/parent-node/ParentNodeUtility.js +1 -1
  903. package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
  904. package/lib/nodes/svg-animate-element/SVGAnimateElement.d.ts +9 -0
  905. package/lib/nodes/svg-animate-element/SVGAnimateElement.d.ts.map +1 -0
  906. package/lib/nodes/svg-animate-element/SVGAnimateElement.js +9 -0
  907. package/lib/nodes/svg-animate-element/SVGAnimateElement.js.map +1 -0
  908. package/lib/nodes/svg-animate-motion-element/SVGAnimateMotionElement.d.ts +9 -0
  909. package/lib/nodes/svg-animate-motion-element/SVGAnimateMotionElement.d.ts.map +1 -0
  910. package/lib/nodes/svg-animate-motion-element/SVGAnimateMotionElement.js +9 -0
  911. package/lib/nodes/svg-animate-motion-element/SVGAnimateMotionElement.js.map +1 -0
  912. package/lib/nodes/svg-animate-motion-element copy/SVGAnimateMotionElement.test.d.ts +2 -0
  913. package/lib/nodes/svg-animate-motion-element copy/SVGAnimateMotionElement.test.d.ts.map +1 -0
  914. package/lib/nodes/svg-animate-motion-element copy/SVGAnimateMotionElement.test.js +23 -0
  915. package/lib/nodes/svg-animate-motion-element copy/SVGAnimateMotionElement.test.js.map +1 -0
  916. package/lib/nodes/svg-animate-transform-element/SVGAnimateTransformElement.d.ts +9 -0
  917. package/lib/nodes/svg-animate-transform-element/SVGAnimateTransformElement.d.ts.map +1 -0
  918. package/lib/nodes/svg-animate-transform-element/SVGAnimateTransformElement.js +9 -0
  919. package/lib/nodes/svg-animate-transform-element/SVGAnimateTransformElement.js.map +1 -0
  920. package/lib/nodes/svg-animation-element/SVGAnimationElement.d.ts +35 -0
  921. package/lib/nodes/svg-animation-element/SVGAnimationElement.d.ts.map +1 -0
  922. package/lib/nodes/svg-animation-element/SVGAnimationElement.js +55 -0
  923. package/lib/nodes/svg-animation-element/SVGAnimationElement.js.map +1 -0
  924. package/lib/nodes/svg-circle-element/SVGCircleElement.d.ts +32 -0
  925. package/lib/nodes/svg-circle-element/SVGCircleElement.d.ts.map +1 -0
  926. package/lib/nodes/svg-circle-element/SVGCircleElement.js +57 -0
  927. package/lib/nodes/svg-circle-element/SVGCircleElement.js.map +1 -0
  928. package/lib/nodes/svg-clip-path-element/SVGClipPathElement.d.ts +18 -0
  929. package/lib/nodes/svg-clip-path-element/SVGClipPathElement.d.ts.map +1 -0
  930. package/lib/nodes/svg-clip-path-element/SVGClipPathElement.js +29 -0
  931. package/lib/nodes/svg-clip-path-element/SVGClipPathElement.js.map +1 -0
  932. package/lib/nodes/svg-component-transfer-function-element/SVGComponentTransferFunctionElement.d.ts +68 -0
  933. package/lib/nodes/svg-component-transfer-function-element/SVGComponentTransferFunctionElement.d.ts.map +1 -0
  934. package/lib/nodes/svg-component-transfer-function-element/SVGComponentTransferFunctionElement.js +131 -0
  935. package/lib/nodes/svg-component-transfer-function-element/SVGComponentTransferFunctionElement.js.map +1 -0
  936. package/lib/nodes/svg-defs-element/SVGDefsElement.d.ts +9 -0
  937. package/lib/nodes/svg-defs-element/SVGDefsElement.d.ts.map +1 -0
  938. package/lib/nodes/svg-defs-element/SVGDefsElement.js +9 -0
  939. package/lib/nodes/svg-defs-element/SVGDefsElement.js.map +1 -0
  940. package/lib/nodes/svg-desc-element/SVGDescElement.d.ts +9 -0
  941. package/lib/nodes/svg-desc-element/SVGDescElement.d.ts.map +1 -0
  942. package/lib/nodes/svg-desc-element/SVGDescElement.js +9 -0
  943. package/lib/nodes/svg-desc-element/SVGDescElement.js.map +1 -0
  944. package/lib/nodes/svg-element/SVGElement.d.ts +8 -8
  945. package/lib/nodes/svg-element/SVGElement.d.ts.map +1 -1
  946. package/lib/nodes/svg-element/SVGElement.js +11 -11
  947. package/lib/nodes/svg-element/SVGElement.js.map +1 -1
  948. package/lib/nodes/svg-ellipse-element/SVGEllipseElement.d.ts +39 -0
  949. package/lib/nodes/svg-ellipse-element/SVGEllipseElement.d.ts.map +1 -0
  950. package/lib/nodes/svg-ellipse-element/SVGEllipseElement.js +72 -0
  951. package/lib/nodes/svg-ellipse-element/SVGEllipseElement.js.map +1 -0
  952. package/lib/nodes/svg-fe-blend-element/SVGFEBlendElement.d.ts +79 -0
  953. package/lib/nodes/svg-fe-blend-element/SVGFEBlendElement.d.ts.map +1 -0
  954. package/lib/nodes/svg-fe-blend-element/SVGFEBlendElement.js +156 -0
  955. package/lib/nodes/svg-fe-blend-element/SVGFEBlendElement.js.map +1 -0
  956. package/lib/nodes/svg-fe-color-matrix-element/SVGFEColorMatrixElement.d.ts +82 -0
  957. package/lib/nodes/svg-fe-color-matrix-element/SVGFEColorMatrixElement.d.ts.map +1 -0
  958. package/lib/nodes/svg-fe-color-matrix-element/SVGFEColorMatrixElement.js +158 -0
  959. package/lib/nodes/svg-fe-color-matrix-element/SVGFEColorMatrixElement.js.map +1 -0
  960. package/lib/nodes/svg-fe-component-transfer-element/SVGFEComponentTransferElement.d.ts +54 -0
  961. package/lib/nodes/svg-fe-component-transfer-element/SVGFEComponentTransferElement.d.ts.map +1 -0
  962. package/lib/nodes/svg-fe-component-transfer-element/SVGFEComponentTransferElement.js +103 -0
  963. package/lib/nodes/svg-fe-component-transfer-element/SVGFEComponentTransferElement.js.map +1 -0
  964. package/lib/nodes/svg-fe-composite-element/SVGFECompositeElement.d.ts +77 -0
  965. package/lib/nodes/svg-fe-composite-element/SVGFECompositeElement.d.ts.map +1 -0
  966. package/lib/nodes/svg-fe-composite-element/SVGFECompositeElement.js +145 -0
  967. package/lib/nodes/svg-fe-composite-element/SVGFECompositeElement.js.map +1 -0
  968. package/lib/nodes/svg-fe-convolve-matrix-element/SVGFEConvolveMatrixElement.d.ts +140 -0
  969. package/lib/nodes/svg-fe-convolve-matrix-element/SVGFEConvolveMatrixElement.d.ts.map +1 -0
  970. package/lib/nodes/svg-fe-convolve-matrix-element/SVGFEConvolveMatrixElement.js +280 -0
  971. package/lib/nodes/svg-fe-convolve-matrix-element/SVGFEConvolveMatrixElement.js.map +1 -0
  972. package/lib/nodes/svg-fe-diffuse-lighting-element/SVGFEDiffuseLightingElement.d.ts +83 -0
  973. package/lib/nodes/svg-fe-diffuse-lighting-element/SVGFEDiffuseLightingElement.d.ts.map +1 -0
  974. package/lib/nodes/svg-fe-diffuse-lighting-element/SVGFEDiffuseLightingElement.js +164 -0
  975. package/lib/nodes/svg-fe-diffuse-lighting-element/SVGFEDiffuseLightingElement.js.map +1 -0
  976. package/lib/nodes/svg-fe-displacement-map-element/SVGFEDisplacementMapElement.d.ts +89 -0
  977. package/lib/nodes/svg-fe-displacement-map-element/SVGFEDisplacementMapElement.d.ts.map +1 -0
  978. package/lib/nodes/svg-fe-displacement-map-element/SVGFEDisplacementMapElement.js +175 -0
  979. package/lib/nodes/svg-fe-displacement-map-element/SVGFEDisplacementMapElement.js.map +1 -0
  980. package/lib/nodes/svg-fe-distant-light-element/SVGFEDistantLightElement.d.ts +25 -0
  981. package/lib/nodes/svg-fe-distant-light-element/SVGFEDistantLightElement.d.ts.map +1 -0
  982. package/lib/nodes/svg-fe-distant-light-element/SVGFEDistantLightElement.js +42 -0
  983. package/lib/nodes/svg-fe-distant-light-element/SVGFEDistantLightElement.js.map +1 -0
  984. package/lib/nodes/svg-fe-drop-shadow-element/SVGFEDropShadowElement.d.ts +90 -0
  985. package/lib/nodes/svg-fe-drop-shadow-element/SVGFEDropShadowElement.d.ts.map +1 -0
  986. package/lib/nodes/svg-fe-drop-shadow-element/SVGFEDropShadowElement.js +176 -0
  987. package/lib/nodes/svg-fe-drop-shadow-element/SVGFEDropShadowElement.js.map +1 -0
  988. package/lib/nodes/svg-fe-flood-element/SVGFEFloodElement.d.ts +47 -0
  989. package/lib/nodes/svg-fe-flood-element/SVGFEFloodElement.d.ts.map +1 -0
  990. package/lib/nodes/svg-fe-flood-element/SVGFEFloodElement.js +88 -0
  991. package/lib/nodes/svg-fe-flood-element/SVGFEFloodElement.js.map +1 -0
  992. package/lib/nodes/svg-fe-func-a-element/SVGFEFuncAElement.d.ts +9 -0
  993. package/lib/nodes/svg-fe-func-a-element/SVGFEFuncAElement.d.ts.map +1 -0
  994. package/lib/nodes/svg-fe-func-a-element/SVGFEFuncAElement.js +9 -0
  995. package/lib/nodes/svg-fe-func-a-element/SVGFEFuncAElement.js.map +1 -0
  996. package/lib/nodes/svg-fe-func-b-element/SVGFEFuncBElement.d.ts +9 -0
  997. package/lib/nodes/svg-fe-func-b-element/SVGFEFuncBElement.d.ts.map +1 -0
  998. package/lib/nodes/svg-fe-func-b-element/SVGFEFuncBElement.js +9 -0
  999. package/lib/nodes/svg-fe-func-b-element/SVGFEFuncBElement.js.map +1 -0
  1000. package/lib/nodes/svg-fe-func-g-element/SVGFEFuncGElement.d.ts +9 -0
  1001. package/lib/nodes/svg-fe-func-g-element/SVGFEFuncGElement.d.ts.map +1 -0
  1002. package/lib/nodes/svg-fe-func-g-element/SVGFEFuncGElement.js +9 -0
  1003. package/lib/nodes/svg-fe-func-g-element/SVGFEFuncGElement.js.map +1 -0
  1004. package/lib/nodes/svg-fe-func-r-element/SVGFEFuncRElement.d.ts +9 -0
  1005. package/lib/nodes/svg-fe-func-r-element/SVGFEFuncRElement.d.ts.map +1 -0
  1006. package/lib/nodes/svg-fe-func-r-element/SVGFEFuncRElement.js +9 -0
  1007. package/lib/nodes/svg-fe-func-r-element/SVGFEFuncRElement.js.map +1 -0
  1008. package/lib/nodes/svg-fe-gaussian-blur-element/SVGFEGaussianBlurElement.d.ts +88 -0
  1009. package/lib/nodes/svg-fe-gaussian-blur-element/SVGFEGaussianBlurElement.d.ts.map +1 -0
  1010. package/lib/nodes/svg-fe-gaussian-blur-element/SVGFEGaussianBlurElement.js +167 -0
  1011. package/lib/nodes/svg-fe-gaussian-blur-element/SVGFEGaussianBlurElement.js.map +1 -0
  1012. package/lib/nodes/svg-fe-image-element/SVGFEImageElement.d.ts +75 -0
  1013. package/lib/nodes/svg-fe-image-element/SVGFEImageElement.d.ts.map +1 -0
  1014. package/lib/nodes/svg-fe-image-element/SVGFEImageElement.js +136 -0
  1015. package/lib/nodes/svg-fe-image-element/SVGFEImageElement.js.map +1 -0
  1016. package/lib/nodes/svg-fe-merge-element/SVGFEMergeElement.d.ts +47 -0
  1017. package/lib/nodes/svg-fe-merge-element/SVGFEMergeElement.d.ts.map +1 -0
  1018. package/lib/nodes/svg-fe-merge-element/SVGFEMergeElement.js +88 -0
  1019. package/lib/nodes/svg-fe-merge-element/SVGFEMergeElement.js.map +1 -0
  1020. package/lib/nodes/svg-fe-merge-node-element/SVGFEMergeNodeElement.d.ts +18 -0
  1021. package/lib/nodes/svg-fe-merge-node-element/SVGFEMergeNodeElement.d.ts.map +1 -0
  1022. package/lib/nodes/svg-fe-merge-node-element/SVGFEMergeNodeElement.js +27 -0
  1023. package/lib/nodes/svg-fe-merge-node-element/SVGFEMergeNodeElement.js.map +1 -0
  1024. package/lib/nodes/svg-fe-morphology-element/SVGFEMorphologyElement.d.ts +80 -0
  1025. package/lib/nodes/svg-fe-morphology-element/SVGFEMorphologyElement.d.ts.map +1 -0
  1026. package/lib/nodes/svg-fe-morphology-element/SVGFEMorphologyElement.js +156 -0
  1027. package/lib/nodes/svg-fe-morphology-element/SVGFEMorphologyElement.js.map +1 -0
  1028. package/lib/nodes/svg-fe-offset-element/SVGFEOffsetElement.d.ts +69 -0
  1029. package/lib/nodes/svg-fe-offset-element/SVGFEOffsetElement.d.ts.map +1 -0
  1030. package/lib/nodes/svg-fe-offset-element/SVGFEOffsetElement.js +134 -0
  1031. package/lib/nodes/svg-fe-offset-element/SVGFEOffsetElement.js.map +1 -0
  1032. package/lib/nodes/svg-fe-point-light-element/SVGFEPointLightElement.d.ts +32 -0
  1033. package/lib/nodes/svg-fe-point-light-element/SVGFEPointLightElement.d.ts.map +1 -0
  1034. package/lib/nodes/svg-fe-point-light-element/SVGFEPointLightElement.js +57 -0
  1035. package/lib/nodes/svg-fe-point-light-element/SVGFEPointLightElement.js.map +1 -0
  1036. package/lib/nodes/svg-fe-specular-lighting-element/SVGFESpecularLightingElement.d.ts +90 -0
  1037. package/lib/nodes/svg-fe-specular-lighting-element/SVGFESpecularLightingElement.d.ts.map +1 -0
  1038. package/lib/nodes/svg-fe-specular-lighting-element/SVGFESpecularLightingElement.js +182 -0
  1039. package/lib/nodes/svg-fe-specular-lighting-element/SVGFESpecularLightingElement.js.map +1 -0
  1040. package/lib/nodes/svg-fe-spot-light-element/SVGFESpotLightElement.d.ts +67 -0
  1041. package/lib/nodes/svg-fe-spot-light-element/SVGFESpotLightElement.d.ts.map +1 -0
  1042. package/lib/nodes/svg-fe-spot-light-element/SVGFESpotLightElement.js +133 -0
  1043. package/lib/nodes/svg-fe-spot-light-element/SVGFESpotLightElement.js.map +1 -0
  1044. package/lib/nodes/svg-fe-tile-element/SVGFETileElement.d.ts +54 -0
  1045. package/lib/nodes/svg-fe-tile-element/SVGFETileElement.d.ts.map +1 -0
  1046. package/lib/nodes/svg-fe-tile-element/SVGFETileElement.js +103 -0
  1047. package/lib/nodes/svg-fe-tile-element/SVGFETileElement.js.map +1 -0
  1048. package/lib/nodes/svg-fe-turbulence-element/SVGFETurbulenceElement.d.ts +98 -0
  1049. package/lib/nodes/svg-fe-turbulence-element/SVGFETurbulenceElement.d.ts.map +1 -0
  1050. package/lib/nodes/svg-fe-turbulence-element/SVGFETurbulenceElement.js +192 -0
  1051. package/lib/nodes/svg-fe-turbulence-element/SVGFETurbulenceElement.js.map +1 -0
  1052. package/lib/nodes/svg-filter-element/SVGFilterElement.d.ts +62 -0
  1053. package/lib/nodes/svg-filter-element/SVGFilterElement.d.ts.map +1 -0
  1054. package/lib/nodes/svg-filter-element/SVGFilterElement.js +123 -0
  1055. package/lib/nodes/svg-filter-element/SVGFilterElement.js.map +1 -0
  1056. package/lib/nodes/svg-foreign-object-element/SVGForeignObjectElement.d.ts +39 -0
  1057. package/lib/nodes/svg-foreign-object-element/SVGForeignObjectElement.d.ts.map +1 -0
  1058. package/lib/nodes/svg-foreign-object-element/SVGForeignObjectElement.js +72 -0
  1059. package/lib/nodes/svg-foreign-object-element/SVGForeignObjectElement.js.map +1 -0
  1060. package/lib/nodes/svg-g-element/SVGGElement.d.ts +9 -0
  1061. package/lib/nodes/svg-g-element/SVGGElement.d.ts.map +1 -0
  1062. package/lib/nodes/svg-g-element/SVGGElement.js +9 -0
  1063. package/lib/nodes/svg-g-element/SVGGElement.js.map +1 -0
  1064. package/lib/nodes/svg-geometry-element/SVGGeometryElement.d.ts +54 -0
  1065. package/lib/nodes/svg-geometry-element/SVGGeometryElement.d.ts.map +1 -0
  1066. package/lib/nodes/svg-geometry-element/SVGGeometryElement.js +81 -0
  1067. package/lib/nodes/svg-geometry-element/SVGGeometryElement.js.map +1 -0
  1068. package/lib/nodes/svg-gradient-element/SVGGradientElement.d.ts +45 -0
  1069. package/lib/nodes/svg-gradient-element/SVGGradientElement.d.ts.map +1 -0
  1070. package/lib/nodes/svg-gradient-element/SVGGradientElement.js +83 -0
  1071. package/lib/nodes/svg-gradient-element/SVGGradientElement.js.map +1 -0
  1072. package/lib/nodes/svg-graphics-element/SVGGraphicsElement.d.ts +57 -0
  1073. package/lib/nodes/svg-graphics-element/SVGGraphicsElement.d.ts.map +1 -0
  1074. package/lib/nodes/svg-graphics-element/SVGGraphicsElement.js +88 -0
  1075. package/lib/nodes/svg-graphics-element/SVGGraphicsElement.js.map +1 -0
  1076. package/lib/nodes/svg-image-element/SVGImageElement.d.ts +85 -0
  1077. package/lib/nodes/svg-image-element/SVGImageElement.d.ts.map +1 -0
  1078. package/lib/nodes/svg-image-element/SVGImageElement.js +153 -0
  1079. package/lib/nodes/svg-image-element/SVGImageElement.js.map +1 -0
  1080. package/lib/nodes/svg-line-element/SVGLineElement.d.ts +39 -0
  1081. package/lib/nodes/svg-line-element/SVGLineElement.d.ts.map +1 -0
  1082. package/lib/nodes/svg-line-element/SVGLineElement.js +72 -0
  1083. package/lib/nodes/svg-line-element/SVGLineElement.js.map +1 -0
  1084. package/lib/nodes/svg-linear-gradient-element/SVGLinearGradientElement.d.ts +39 -0
  1085. package/lib/nodes/svg-linear-gradient-element/SVGLinearGradientElement.d.ts.map +1 -0
  1086. package/lib/nodes/svg-linear-gradient-element/SVGLinearGradientElement.js +72 -0
  1087. package/lib/nodes/svg-linear-gradient-element/SVGLinearGradientElement.js.map +1 -0
  1088. package/lib/nodes/svg-m-path-element/SVGMPathElement.d.ts +18 -0
  1089. package/lib/nodes/svg-m-path-element/SVGMPathElement.d.ts.map +1 -0
  1090. package/lib/nodes/svg-m-path-element/SVGMPathElement.js +27 -0
  1091. package/lib/nodes/svg-m-path-element/SVGMPathElement.js.map +1 -0
  1092. package/lib/nodes/svg-marker-element/SVGMarkerElement.d.ts +98 -0
  1093. package/lib/nodes/svg-marker-element/SVGMarkerElement.d.ts.map +1 -0
  1094. package/lib/nodes/svg-marker-element/SVGMarkerElement.js +180 -0
  1095. package/lib/nodes/svg-marker-element/SVGMarkerElement.js.map +1 -0
  1096. package/lib/nodes/svg-mask-element/SVGMaskElement.d.ts +54 -0
  1097. package/lib/nodes/svg-mask-element/SVGMaskElement.d.ts.map +1 -0
  1098. package/lib/nodes/svg-mask-element/SVGMaskElement.js +107 -0
  1099. package/lib/nodes/svg-mask-element/SVGMaskElement.js.map +1 -0
  1100. package/lib/nodes/svg-metadata-element/SVGMetadataElement.d.ts +9 -0
  1101. package/lib/nodes/svg-metadata-element/SVGMetadataElement.d.ts.map +1 -0
  1102. package/lib/nodes/svg-metadata-element/SVGMetadataElement.js +9 -0
  1103. package/lib/nodes/svg-metadata-element/SVGMetadataElement.js.map +1 -0
  1104. package/lib/nodes/svg-path-element/SVGPathElement.d.ts +9 -0
  1105. package/lib/nodes/svg-path-element/SVGPathElement.d.ts.map +1 -0
  1106. package/lib/nodes/svg-path-element/SVGPathElement.js +9 -0
  1107. package/lib/nodes/svg-path-element/SVGPathElement.js.map +1 -0
  1108. package/lib/nodes/svg-pattern-element/SVGPatternElement.d.ts +70 -0
  1109. package/lib/nodes/svg-pattern-element/SVGPatternElement.d.ts.map +1 -0
  1110. package/lib/nodes/svg-pattern-element/SVGPatternElement.js +139 -0
  1111. package/lib/nodes/svg-pattern-element/SVGPatternElement.js.map +1 -0
  1112. package/lib/nodes/svg-polygon-element/SVGPolygonElement.d.ts +25 -0
  1113. package/lib/nodes/svg-polygon-element/SVGPolygonElement.d.ts.map +1 -0
  1114. package/lib/nodes/svg-polygon-element/SVGPolygonElement.js +43 -0
  1115. package/lib/nodes/svg-polygon-element/SVGPolygonElement.js.map +1 -0
  1116. package/lib/nodes/svg-polyline-element/SVGPolylineElement.d.ts +25 -0
  1117. package/lib/nodes/svg-polyline-element/SVGPolylineElement.d.ts.map +1 -0
  1118. package/lib/nodes/svg-polyline-element/SVGPolylineElement.js +43 -0
  1119. package/lib/nodes/svg-polyline-element/SVGPolylineElement.js.map +1 -0
  1120. package/lib/nodes/svg-radial-gradient-element/SVGRadialGradientElement.d.ts +46 -0
  1121. package/lib/nodes/svg-radial-gradient-element/SVGRadialGradientElement.d.ts.map +1 -0
  1122. package/lib/nodes/svg-radial-gradient-element/SVGRadialGradientElement.js +87 -0
  1123. package/lib/nodes/svg-radial-gradient-element/SVGRadialGradientElement.js.map +1 -0
  1124. package/lib/nodes/svg-rect-element/SVGRectElement.d.ts +53 -0
  1125. package/lib/nodes/svg-rect-element/SVGRectElement.d.ts.map +1 -0
  1126. package/lib/nodes/svg-rect-element/SVGRectElement.js +102 -0
  1127. package/lib/nodes/svg-rect-element/SVGRectElement.js.map +1 -0
  1128. package/lib/nodes/svg-script-element/SVGScriptElement.d.ts +30 -0
  1129. package/lib/nodes/svg-script-element/SVGScriptElement.d.ts.map +1 -0
  1130. package/lib/nodes/svg-script-element/SVGScriptElement.js +43 -0
  1131. package/lib/nodes/svg-script-element/SVGScriptElement.js.map +1 -0
  1132. package/lib/nodes/svg-set-element/SVGSetElement.d.ts +9 -0
  1133. package/lib/nodes/svg-set-element/SVGSetElement.d.ts.map +1 -0
  1134. package/lib/nodes/svg-set-element/SVGSetElement.js +9 -0
  1135. package/lib/nodes/svg-set-element/SVGSetElement.js.map +1 -0
  1136. package/lib/nodes/svg-stop-element/SVGStopElement.d.ts +18 -0
  1137. package/lib/nodes/svg-stop-element/SVGStopElement.d.ts.map +1 -0
  1138. package/lib/nodes/svg-stop-element/SVGStopElement.js +27 -0
  1139. package/lib/nodes/svg-stop-element/SVGStopElement.js.map +1 -0
  1140. package/lib/nodes/svg-style-element/SVGStyleElement.d.ts +78 -0
  1141. package/lib/nodes/svg-style-element/SVGStyleElement.d.ts.map +1 -0
  1142. package/lib/nodes/svg-style-element/SVGStyleElement.js +111 -0
  1143. package/lib/nodes/svg-style-element/SVGStyleElement.js.map +1 -0
  1144. package/lib/nodes/svg-svg-element/SVGSVGElement.d.ts +273 -0
  1145. package/lib/nodes/svg-svg-element/SVGSVGElement.d.ts.map +1 -0
  1146. package/lib/nodes/svg-svg-element/SVGSVGElement.js +347 -0
  1147. package/lib/nodes/svg-svg-element/SVGSVGElement.js.map +1 -0
  1148. package/lib/nodes/svg-switch-element/SVGSwitchElement.d.ts +9 -0
  1149. package/lib/nodes/svg-switch-element/SVGSwitchElement.d.ts.map +1 -0
  1150. package/lib/nodes/svg-switch-element/SVGSwitchElement.js +9 -0
  1151. package/lib/nodes/svg-switch-element/SVGSwitchElement.js.map +1 -0
  1152. package/lib/nodes/svg-symbol-element/SVGSymbolElement.d.ts +9 -0
  1153. package/lib/nodes/svg-symbol-element/SVGSymbolElement.d.ts.map +1 -0
  1154. package/lib/nodes/svg-symbol-element/SVGSymbolElement.js +9 -0
  1155. package/lib/nodes/svg-symbol-element/SVGSymbolElement.js.map +1 -0
  1156. package/lib/nodes/svg-t-span-element/SVGTSpanElement.d.ts +9 -0
  1157. package/lib/nodes/svg-t-span-element/SVGTSpanElement.d.ts.map +1 -0
  1158. package/lib/nodes/svg-t-span-element/SVGTSpanElement.js +9 -0
  1159. package/lib/nodes/svg-t-span-element/SVGTSpanElement.js.map +1 -0
  1160. package/lib/nodes/svg-text-content-element/SVGTextContentElement.d.ts +80 -0
  1161. package/lib/nodes/svg-text-content-element/SVGTextContentElement.d.ts.map +1 -0
  1162. package/lib/nodes/svg-text-content-element/SVGTextContentElement.js +124 -0
  1163. package/lib/nodes/svg-text-content-element/SVGTextContentElement.js.map +1 -0
  1164. package/lib/nodes/svg-text-element/SVGTextElement.d.ts +9 -0
  1165. package/lib/nodes/svg-text-element/SVGTextElement.d.ts.map +1 -0
  1166. package/lib/nodes/svg-text-element/SVGTextElement.js +9 -0
  1167. package/lib/nodes/svg-text-element/SVGTextElement.js.map +1 -0
  1168. package/lib/nodes/svg-text-path-element/SVGTextPathElement.d.ts +47 -0
  1169. package/lib/nodes/svg-text-path-element/SVGTextPathElement.d.ts.map +1 -0
  1170. package/lib/nodes/svg-text-path-element/SVGTextPathElement.js +85 -0
  1171. package/lib/nodes/svg-text-path-element/SVGTextPathElement.js.map +1 -0
  1172. package/lib/nodes/svg-text-positioning-element/SVGTextPositioningElement.d.ts +47 -0
  1173. package/lib/nodes/svg-text-positioning-element/SVGTextPositioningElement.d.ts.map +1 -0
  1174. package/lib/nodes/svg-text-positioning-element/SVGTextPositioningElement.js +88 -0
  1175. package/lib/nodes/svg-text-positioning-element/SVGTextPositioningElement.js.map +1 -0
  1176. package/lib/nodes/svg-title-element/SVGTitleElement.d.ts +9 -0
  1177. package/lib/nodes/svg-title-element/SVGTitleElement.d.ts.map +1 -0
  1178. package/lib/nodes/svg-title-element/SVGTitleElement.js +9 -0
  1179. package/lib/nodes/svg-title-element/SVGTitleElement.js.map +1 -0
  1180. package/lib/nodes/svg-use-element/SVGUseElement.d.ts +47 -0
  1181. package/lib/nodes/svg-use-element/SVGUseElement.d.ts.map +1 -0
  1182. package/lib/nodes/svg-use-element/SVGUseElement.js +88 -0
  1183. package/lib/nodes/svg-use-element/SVGUseElement.js.map +1 -0
  1184. package/lib/nodes/svg-view-element/SVGViewElement.d.ts +9 -0
  1185. package/lib/nodes/svg-view-element/SVGViewElement.d.ts.map +1 -0
  1186. package/lib/nodes/svg-view-element/SVGViewElement.js +9 -0
  1187. package/lib/nodes/svg-view-element/SVGViewElement.js.map +1 -0
  1188. package/lib/range/Range.d.ts +2 -2
  1189. package/lib/range/Range.d.ts.map +1 -1
  1190. package/lib/range/Range.js +3 -3
  1191. package/lib/range/Range.js.map +1 -1
  1192. package/lib/storage/Storage.d.ts.map +1 -1
  1193. package/lib/storage/Storage.js +4 -4
  1194. package/lib/storage/Storage.js.map +1 -1
  1195. package/lib/svg/SVGAngle.d.ts +77 -0
  1196. package/lib/svg/SVGAngle.d.ts.map +1 -0
  1197. package/lib/svg/SVGAngle.js +251 -0
  1198. package/lib/svg/SVGAngle.js.map +1 -0
  1199. package/lib/svg/SVGAngleTypeEnum.d.ts +9 -0
  1200. package/lib/svg/SVGAngleTypeEnum.d.ts.map +1 -0
  1201. package/lib/svg/SVGAngleTypeEnum.js +10 -0
  1202. package/lib/svg/SVGAngleTypeEnum.js.map +1 -0
  1203. package/lib/svg/SVGAnimatedAngle.d.ts +53 -0
  1204. package/lib/svg/SVGAnimatedAngle.d.ts.map +1 -0
  1205. package/lib/svg/SVGAnimatedAngle.js +77 -0
  1206. package/lib/svg/SVGAnimatedAngle.js.map +1 -0
  1207. package/lib/svg/SVGAnimatedBoolean.d.ts +50 -0
  1208. package/lib/svg/SVGAnimatedBoolean.d.ts.map +1 -0
  1209. package/lib/svg/SVGAnimatedBoolean.js +63 -0
  1210. package/lib/svg/SVGAnimatedBoolean.js.map +1 -0
  1211. package/lib/svg/SVGAnimatedEnumeration.d.ts +56 -0
  1212. package/lib/svg/SVGAnimatedEnumeration.d.ts.map +1 -0
  1213. package/lib/svg/SVGAnimatedEnumeration.js +94 -0
  1214. package/lib/svg/SVGAnimatedEnumeration.js.map +1 -0
  1215. package/lib/svg/SVGAnimatedInteger.d.ts +50 -0
  1216. package/lib/svg/SVGAnimatedInteger.d.ts.map +1 -0
  1217. package/lib/svg/SVGAnimatedInteger.js +74 -0
  1218. package/lib/svg/SVGAnimatedInteger.js.map +1 -0
  1219. package/lib/svg/SVGAnimatedLength.d.ts +53 -0
  1220. package/lib/svg/SVGAnimatedLength.d.ts.map +1 -0
  1221. package/lib/svg/SVGAnimatedLength.js +77 -0
  1222. package/lib/svg/SVGAnimatedLength.js.map +1 -0
  1223. package/lib/svg/SVGAnimatedLengthList.d.ts +53 -0
  1224. package/lib/svg/SVGAnimatedLengthList.d.ts.map +1 -0
  1225. package/lib/svg/SVGAnimatedLengthList.js +78 -0
  1226. package/lib/svg/SVGAnimatedLengthList.js.map +1 -0
  1227. package/lib/svg/SVGAnimatedNumber.d.ts +53 -0
  1228. package/lib/svg/SVGAnimatedNumber.d.ts.map +1 -0
  1229. package/lib/svg/SVGAnimatedNumber.js +77 -0
  1230. package/lib/svg/SVGAnimatedNumber.js.map +1 -0
  1231. package/lib/svg/SVGAnimatedNumberList.d.ts +53 -0
  1232. package/lib/svg/SVGAnimatedNumberList.d.ts.map +1 -0
  1233. package/lib/svg/SVGAnimatedNumberList.js +78 -0
  1234. package/lib/svg/SVGAnimatedNumberList.js.map +1 -0
  1235. package/lib/svg/SVGAnimatedPreserveAspectRatio.d.ts +53 -0
  1236. package/lib/svg/SVGAnimatedPreserveAspectRatio.d.ts.map +1 -0
  1237. package/lib/svg/SVGAnimatedPreserveAspectRatio.js +77 -0
  1238. package/lib/svg/SVGAnimatedPreserveAspectRatio.js.map +1 -0
  1239. package/lib/svg/SVGAnimatedRect.d.ts +53 -0
  1240. package/lib/svg/SVGAnimatedRect.d.ts.map +1 -0
  1241. package/lib/svg/SVGAnimatedRect.js +77 -0
  1242. package/lib/svg/SVGAnimatedRect.js.map +1 -0
  1243. package/lib/svg/SVGAnimatedString.d.ts +50 -0
  1244. package/lib/svg/SVGAnimatedString.d.ts.map +1 -0
  1245. package/lib/svg/SVGAnimatedString.js +66 -0
  1246. package/lib/svg/SVGAnimatedString.js.map +1 -0
  1247. package/lib/svg/SVGAnimatedTransformList.d.ts +53 -0
  1248. package/lib/svg/SVGAnimatedTransformList.d.ts.map +1 -0
  1249. package/lib/svg/SVGAnimatedTransformList.js +78 -0
  1250. package/lib/svg/SVGAnimatedTransformList.js.map +1 -0
  1251. package/lib/svg/SVGLength.d.ts +84 -0
  1252. package/lib/svg/SVGLength.d.ts.map +1 -0
  1253. package/lib/svg/SVGLength.js +309 -0
  1254. package/lib/svg/SVGLength.js.map +1 -0
  1255. package/lib/svg/SVGLengthList.d.ts +102 -0
  1256. package/lib/svg/SVGLengthList.d.ts.map +1 -0
  1257. package/lib/svg/SVGLengthList.js +381 -0
  1258. package/lib/svg/SVGLengthList.js.map +1 -0
  1259. package/lib/svg/SVGLengthTypeEnum.d.ts +15 -0
  1260. package/lib/svg/SVGLengthTypeEnum.d.ts.map +1 -0
  1261. package/lib/svg/SVGLengthTypeEnum.js +16 -0
  1262. package/lib/svg/SVGLengthTypeEnum.js.map +1 -0
  1263. package/lib/svg/SVGMatrix.d.ts +163 -0
  1264. package/lib/svg/SVGMatrix.d.ts.map +1 -0
  1265. package/lib/svg/SVGMatrix.js +362 -0
  1266. package/lib/svg/SVGMatrix.js.map +1 -0
  1267. package/lib/svg/SVGNumber.d.ts +42 -0
  1268. package/lib/svg/SVGNumber.d.ts.map +1 -0
  1269. package/lib/svg/SVGNumber.js +65 -0
  1270. package/lib/svg/SVGNumber.js.map +1 -0
  1271. package/lib/svg/SVGNumberList.d.ts +102 -0
  1272. package/lib/svg/SVGNumberList.d.ts.map +1 -0
  1273. package/lib/svg/SVGNumberList.js +400 -0
  1274. package/lib/svg/SVGNumberList.js.map +1 -0
  1275. package/lib/svg/SVGPoint.d.ts +54 -0
  1276. package/lib/svg/SVGPoint.d.ts.map +1 -0
  1277. package/lib/svg/SVGPoint.js +89 -0
  1278. package/lib/svg/SVGPoint.js.map +1 -0
  1279. package/lib/svg/SVGPointList.d.ts +102 -0
  1280. package/lib/svg/SVGPointList.d.ts.map +1 -0
  1281. package/lib/svg/SVGPointList.js +402 -0
  1282. package/lib/svg/SVGPointList.js.map +1 -0
  1283. package/lib/svg/SVGPreserveAspectRatio.d.ts +70 -0
  1284. package/lib/svg/SVGPreserveAspectRatio.d.ts.map +1 -0
  1285. package/lib/svg/SVGPreserveAspectRatio.js +129 -0
  1286. package/lib/svg/SVGPreserveAspectRatio.js.map +1 -0
  1287. package/lib/svg/SVGPreserveAspectRatioAlignEnum.d.ts +15 -0
  1288. package/lib/svg/SVGPreserveAspectRatioAlignEnum.d.ts.map +1 -0
  1289. package/lib/svg/SVGPreserveAspectRatioAlignEnum.js +16 -0
  1290. package/lib/svg/SVGPreserveAspectRatioAlignEnum.js.map +1 -0
  1291. package/lib/svg/SVGPreserveAspectRatioMeetOrSliceEnum.d.ts +7 -0
  1292. package/lib/svg/SVGPreserveAspectRatioMeetOrSliceEnum.d.ts.map +1 -0
  1293. package/lib/svg/SVGPreserveAspectRatioMeetOrSliceEnum.js +8 -0
  1294. package/lib/svg/SVGPreserveAspectRatioMeetOrSliceEnum.js.map +1 -0
  1295. package/lib/svg/SVGRect.d.ts +78 -0
  1296. package/lib/svg/SVGRect.d.ts.map +1 -0
  1297. package/lib/svg/SVGRect.js +156 -0
  1298. package/lib/svg/SVGRect.js.map +1 -0
  1299. package/lib/svg/SVGStringList.d.ts +101 -0
  1300. package/lib/svg/SVGStringList.d.ts.map +1 -0
  1301. package/lib/svg/SVGStringList.js +326 -0
  1302. package/lib/svg/SVGStringList.js.map +1 -0
  1303. package/lib/svg/SVGTransform.d.ts +98 -0
  1304. package/lib/svg/SVGTransform.d.ts.map +1 -0
  1305. package/lib/svg/SVGTransform.js +278 -0
  1306. package/lib/svg/SVGTransform.js.map +1 -0
  1307. package/lib/svg/SVGTransformList.d.ts +102 -0
  1308. package/lib/svg/SVGTransformList.d.ts.map +1 -0
  1309. package/lib/svg/SVGTransformList.js +405 -0
  1310. package/lib/svg/SVGTransformList.js.map +1 -0
  1311. package/lib/svg/SVGTransformTypeEnum.d.ts +11 -0
  1312. package/lib/svg/SVGTransformTypeEnum.d.ts.map +1 -0
  1313. package/lib/svg/SVGTransformTypeEnum.js +12 -0
  1314. package/lib/svg/SVGTransformTypeEnum.js.map +1 -0
  1315. package/lib/svg/SVGUnitTypes.d.ts +20 -0
  1316. package/lib/svg/SVGUnitTypes.d.ts.map +1 -0
  1317. package/lib/svg/SVGUnitTypes.js +25 -0
  1318. package/lib/svg/SVGUnitTypes.js.map +1 -0
  1319. package/lib/window/BrowserWindow.d.ts +202 -10
  1320. package/lib/window/BrowserWindow.d.ts.map +1 -1
  1321. package/lib/window/BrowserWindow.js +231 -11
  1322. package/lib/window/BrowserWindow.js.map +1 -1
  1323. package/lib/window/WindowBrowserContext.d.ts.map +1 -1
  1324. package/lib/window/WindowBrowserContext.js +3 -0
  1325. package/lib/window/WindowBrowserContext.js.map +1 -1
  1326. package/lib/window/WindowClassExtender.d.ts.map +1 -1
  1327. package/lib/window/WindowClassExtender.js +0 -12
  1328. package/lib/window/WindowClassExtender.js.map +1 -1
  1329. package/lib/xml-parser/XMLParser.d.ts.map +1 -1
  1330. package/lib/xml-parser/XMLParser.js +45 -37
  1331. package/lib/xml-parser/XMLParser.js.map +1 -1
  1332. package/lib/xml-serializer/XMLSerializer.d.ts.map +1 -1
  1333. package/lib/xml-serializer/XMLSerializer.js +6 -6
  1334. package/lib/xml-serializer/XMLSerializer.js.map +1 -1
  1335. package/package.json +2 -2
  1336. package/src/ClassMethodBinder.ts +49 -63
  1337. package/src/PropertySymbol.ts +144 -1
  1338. package/src/StringUtility.ts +57 -0
  1339. package/src/clipboard/ClipboardItem.ts +5 -2
  1340. package/src/config/HTMLElementConfig.ts +3 -230
  1341. package/src/config/ISVGElementTagNameMap.ts +123 -63
  1342. package/src/config/SVGElementConfig.ts +70 -0
  1343. package/src/css/CSSRule.ts +21 -0
  1344. package/src/css/CSSStyleSheet.ts +11 -4
  1345. package/src/css/declaration/CSSStyleDeclaration.ts +230 -4
  1346. package/src/css/declaration/computed-style/CSSStyleDeclarationComputedStyle.ts +419 -0
  1347. package/src/css/rules/CSSFontFaceRule.ts +4 -1
  1348. package/src/css/rules/CSSKeyframeRule.ts +4 -1
  1349. package/src/css/rules/CSSKeyframesRule.ts +9 -2
  1350. package/src/css/rules/CSSStyleRule.ts +4 -1
  1351. package/src/css/utilities/CSSParser.ts +10 -9
  1352. package/src/custom-element/CustomElementRegistry.ts +5 -5
  1353. package/src/dom/DOMPoint.ts +81 -0
  1354. package/src/dom/DOMPointReadOnly.ts +97 -0
  1355. package/src/dom/DOMRect.ts +92 -0
  1356. package/src/dom/DOMRectList.ts +34 -0
  1357. package/src/dom/DOMRectReadOnly.ts +129 -0
  1358. package/src/dom/DOMStringMap.ts +91 -0
  1359. package/src/dom/DOMTokenList.ts +349 -0
  1360. package/src/dom/IDOMPointInit.ts +6 -0
  1361. package/src/dom/dom-matrix/DOMMatrix.ts +491 -0
  1362. package/src/dom/dom-matrix/DOMMatrixReadOnly.ts +1594 -0
  1363. package/src/dom/dom-matrix/IDOMMatrixCompatibleObject.ts +24 -0
  1364. package/src/dom/dom-matrix/IDOMMatrixJSON.ts +26 -0
  1365. package/src/dom/dom-matrix/TDOMMatrix2DArray.ts +3 -0
  1366. package/src/dom/dom-matrix/TDOMMatrix3DArray.ts +20 -0
  1367. package/src/dom/dom-matrix/TDOMMatrixInit.ts +4 -0
  1368. package/src/dom-parser/DOMParser.ts +0 -1
  1369. package/src/index.ts +4 -6
  1370. package/src/intersection-observer/IntersectionObserverEntry.ts +1 -1
  1371. package/src/nodes/document/Document.ts +24 -16
  1372. package/src/nodes/element/Element.ts +9 -15
  1373. package/src/nodes/element/HTMLCollection.ts +8 -7
  1374. package/src/nodes/element/NamedNodeMap.ts +0 -4
  1375. package/src/nodes/element/NamedNodeMapProxyFactory.ts +7 -0
  1376. package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +6 -2
  1377. package/src/nodes/html-area-element/HTMLAreaElement.ts +6 -2
  1378. package/src/nodes/html-canvas-element/CanvasCaptureMediaStreamTrack.ts +4 -4
  1379. package/src/nodes/html-element/HTMLElement.ts +10 -3
  1380. package/src/nodes/html-form-element/HTMLFormControlsCollection.ts +3 -3
  1381. package/src/nodes/html-form-element/HTMLFormElement.ts +14 -11
  1382. package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +6 -2
  1383. package/src/nodes/html-link-element/HTMLLinkElement.ts +6 -2
  1384. package/src/nodes/html-media-element/HTMLMediaElement.ts +6 -2
  1385. package/src/nodes/html-media-element/MediaStreamTrack.ts +2 -2
  1386. package/src/nodes/html-media-element/TextTrack.ts +2 -2
  1387. package/src/nodes/html-media-element/TextTrackCue.ts +2 -2
  1388. package/src/nodes/html-media-element/TextTrackList.ts +12 -8
  1389. package/src/nodes/html-media-element/TimeRanges.ts +2 -2
  1390. package/src/nodes/html-select-element/HTMLOptionsCollection.ts +3 -3
  1391. package/src/nodes/html-select-element/HTMLSelectElement.ts +13 -9
  1392. package/src/nodes/html-style-element/HTMLStyleElement.ts +17 -20
  1393. package/src/nodes/html-table-cell-element/HTMLTableCellElement.ts +6 -2
  1394. package/src/nodes/node/Node.ts +2 -4
  1395. package/src/nodes/node/NodeList.ts +17 -10
  1396. package/src/nodes/parent-node/ParentNodeUtility.ts +1 -1
  1397. package/src/nodes/svg-animate-element/SVGAnimateElement.ts +8 -0
  1398. package/src/nodes/svg-animate-motion-element/SVGAnimateMotionElement.ts +8 -0
  1399. package/src/nodes/svg-animate-motion-element copy/SVGAnimateMotionElement.test.ts +27 -0
  1400. package/src/nodes/svg-animate-transform-element/SVGAnimateTransformElement.ts +8 -0
  1401. package/src/nodes/svg-animation-element/SVGAnimationElement.ts +68 -0
  1402. package/src/nodes/svg-circle-element/SVGCircleElement.ts +72 -0
  1403. package/src/nodes/svg-clip-path-element/SVGClipPathElement.ts +34 -0
  1404. package/src/nodes/svg-component-transfer-function-element/SVGComponentTransferFunctionElement.ts +167 -0
  1405. package/src/nodes/svg-defs-element/SVGDefsElement.ts +8 -0
  1406. package/src/nodes/svg-desc-element/SVGDescElement.ts +8 -0
  1407. package/src/nodes/svg-element/SVGElement.ts +18 -14
  1408. package/src/nodes/svg-ellipse-element/SVGEllipseElement.ts +92 -0
  1409. package/src/nodes/svg-fe-blend-element/SVGFEBlendElement.ts +192 -0
  1410. package/src/nodes/svg-fe-color-matrix-element/SVGFEColorMatrixElement.ts +204 -0
  1411. package/src/nodes/svg-fe-component-transfer-element/SVGFEComponentTransferElement.ts +133 -0
  1412. package/src/nodes/svg-fe-composite-element/SVGFECompositeElement.ts +186 -0
  1413. package/src/nodes/svg-fe-convolve-matrix-element/SVGFEConvolveMatrixElement.ts +366 -0
  1414. package/src/nodes/svg-fe-diffuse-lighting-element/SVGFEDiffuseLightingElement.ts +214 -0
  1415. package/src/nodes/svg-fe-displacement-map-element/SVGFEDisplacementMapElement.ts +226 -0
  1416. package/src/nodes/svg-fe-distant-light-element/SVGFEDistantLightElement.ts +52 -0
  1417. package/src/nodes/svg-fe-drop-shadow-element/SVGFEDropShadowElement.ts +227 -0
  1418. package/src/nodes/svg-fe-flood-element/SVGFEFloodElement.ts +113 -0
  1419. package/src/nodes/svg-fe-func-a-element/SVGFEFuncAElement.ts +8 -0
  1420. package/src/nodes/svg-fe-func-b-element/SVGFEFuncBElement.ts +8 -0
  1421. package/src/nodes/svg-fe-func-g-element/SVGFEFuncGElement.ts +8 -0
  1422. package/src/nodes/svg-fe-func-r-element/SVGFEFuncRElement.ts +8 -0
  1423. package/src/nodes/svg-fe-gaussian-blur-element/SVGFEGaussianBlurElement.ts +214 -0
  1424. package/src/nodes/svg-fe-image-element/SVGFEImageElement.ts +173 -0
  1425. package/src/nodes/svg-fe-merge-element/SVGFEMergeElement.ts +113 -0
  1426. package/src/nodes/svg-fe-merge-node-element/SVGFEMergeNodeElement.ts +32 -0
  1427. package/src/nodes/svg-fe-morphology-element/SVGFEMorphologyElement.ts +202 -0
  1428. package/src/nodes/svg-fe-offset-element/SVGFEOffsetElement.ts +174 -0
  1429. package/src/nodes/svg-fe-point-light-element/SVGFEPointLightElement.ts +72 -0
  1430. package/src/nodes/svg-fe-specular-lighting-element/SVGFESpecularLightingElement.ts +237 -0
  1431. package/src/nodes/svg-fe-spot-light-element/SVGFESpotLightElement.ts +173 -0
  1432. package/src/nodes/svg-fe-tile-element/SVGFETileElement.ts +133 -0
  1433. package/src/nodes/svg-fe-turbulence-element/SVGFETurbulenceElement.ts +249 -0
  1434. package/src/nodes/svg-filter-element/SVGFilterElement.ts +158 -0
  1435. package/src/nodes/svg-foreign-object-element/SVGForeignObjectElement.ts +92 -0
  1436. package/src/nodes/svg-g-element/SVGGElement.ts +8 -0
  1437. package/src/nodes/svg-geometry-element/SVGGeometryElement.ts +94 -0
  1438. package/src/nodes/svg-gradient-element/SVGGradientElement.ts +104 -0
  1439. package/src/nodes/svg-graphics-element/SVGGraphicsElement.ts +108 -0
  1440. package/src/nodes/svg-image-element/SVGImageElement.ts +188 -0
  1441. package/src/nodes/svg-line-element/SVGLineElement.ts +92 -0
  1442. package/src/nodes/svg-linear-gradient-element/SVGLinearGradientElement.ts +92 -0
  1443. package/src/nodes/svg-m-path-element/SVGMPathElement.ts +32 -0
  1444. package/src/nodes/svg-marker-element/SVGMarkerElement.ts +230 -0
  1445. package/src/nodes/svg-mask-element/SVGMaskElement.ts +137 -0
  1446. package/src/nodes/svg-metadata-element/SVGMetadataElement.ts +8 -0
  1447. package/src/nodes/svg-path-element/SVGPathElement.ts +8 -0
  1448. package/src/nodes/svg-pattern-element/SVGPatternElement.ts +179 -0
  1449. package/src/nodes/svg-polygon-element/SVGPolygonElement.ts +53 -0
  1450. package/src/nodes/svg-polyline-element/SVGPolylineElement.ts +53 -0
  1451. package/src/nodes/svg-radial-gradient-element/SVGRadialGradientElement.ts +112 -0
  1452. package/src/nodes/svg-rect-element/SVGRectElement.ts +132 -0
  1453. package/src/nodes/svg-script-element/SVGScriptElement.ts +50 -0
  1454. package/src/nodes/svg-set-element/SVGSetElement.ts +8 -0
  1455. package/src/nodes/svg-stop-element/SVGStopElement.ts +32 -0
  1456. package/src/nodes/svg-style-element/SVGStyleElement.ts +122 -0
  1457. package/src/nodes/svg-svg-element/SVGSVGElement.ts +470 -0
  1458. package/src/nodes/svg-switch-element/SVGSwitchElement.ts +8 -0
  1459. package/src/nodes/svg-symbol-element/SVGSymbolElement.ts +8 -0
  1460. package/src/nodes/svg-t-span-element/SVGTSpanElement.ts +8 -0
  1461. package/src/nodes/svg-text-content-element/SVGTextContentElement.ts +143 -0
  1462. package/src/nodes/svg-text-element/SVGTextElement.ts +8 -0
  1463. package/src/nodes/svg-text-path-element/SVGTextPathElement.ts +106 -0
  1464. package/src/nodes/svg-text-positioning-element/SVGTextPositioningElement.ts +113 -0
  1465. package/src/nodes/svg-title-element/SVGTitleElement.ts +8 -0
  1466. package/src/nodes/svg-use-element/SVGUseElement.ts +113 -0
  1467. package/src/nodes/svg-view-element/SVGViewElement.ts +8 -0
  1468. package/src/range/Range.ts +3 -3
  1469. package/src/storage/Storage.ts +6 -4
  1470. package/src/svg/SVGAngle.ts +310 -0
  1471. package/src/svg/SVGAngleTypeEnum.ts +9 -0
  1472. package/src/svg/SVGAnimatedAngle.ts +100 -0
  1473. package/src/svg/SVGAnimatedBoolean.ts +80 -0
  1474. package/src/svg/SVGAnimatedEnumeration.ts +119 -0
  1475. package/src/svg/SVGAnimatedInteger.ts +97 -0
  1476. package/src/svg/SVGAnimatedLength.ts +100 -0
  1477. package/src/svg/SVGAnimatedLengthList.ts +101 -0
  1478. package/src/svg/SVGAnimatedNumber.ts +101 -0
  1479. package/src/svg/SVGAnimatedNumberList.ts +101 -0
  1480. package/src/svg/SVGAnimatedPreserveAspectRatio.ts +100 -0
  1481. package/src/svg/SVGAnimatedRect.ts +100 -0
  1482. package/src/svg/SVGAnimatedString.ts +83 -0
  1483. package/src/svg/SVGAnimatedTransformList.ts +101 -0
  1484. package/src/svg/SVGLength.ts +375 -0
  1485. package/src/svg/SVGLengthList.ts +489 -0
  1486. package/src/svg/SVGLengthTypeEnum.ts +15 -0
  1487. package/src/svg/SVGMatrix.ts +428 -0
  1488. package/src/svg/SVGNumber.ts +83 -0
  1489. package/src/svg/SVGNumberList.ts +522 -0
  1490. package/src/svg/SVGPoint.ts +114 -0
  1491. package/src/svg/SVGPointList.ts +526 -0
  1492. package/src/svg/SVGPreserveAspectRatio.ts +176 -0
  1493. package/src/svg/SVGPreserveAspectRatioAlignEnum.ts +15 -0
  1494. package/src/svg/SVGPreserveAspectRatioMeetOrSliceEnum.ts +7 -0
  1495. package/src/svg/SVGRect.ts +200 -0
  1496. package/src/svg/SVGStringList.ts +422 -0
  1497. package/src/svg/SVGTransform.ts +369 -0
  1498. package/src/svg/SVGTransformList.ts +531 -0
  1499. package/src/svg/SVGTransformTypeEnum.ts +11 -0
  1500. package/src/svg/SVGUnitTypes.ts +26 -0
  1501. package/src/window/BrowserWindow.ts +238 -14
  1502. package/src/window/WindowBrowserContext.ts +3 -0
  1503. package/src/window/WindowClassExtender.ts +0 -12
  1504. package/src/xml-parser/XMLParser.ts +49 -39
  1505. package/src/xml-serializer/XMLSerializer.ts +9 -8
  1506. package/tsconfig.json +1 -1
  1507. package/cjs/config/IHTMLElementConfigEntity.cjs +0 -3
  1508. package/cjs/config/IHTMLElementConfigEntity.cjs.map +0 -1
  1509. package/cjs/config/IHTMLElementConfigEntity.d.ts +0 -8
  1510. package/cjs/config/IHTMLElementConfigEntity.d.ts.map +0 -1
  1511. package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs +0 -191
  1512. package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs.map +0 -1
  1513. package/cjs/css/declaration/AbstractCSSStyleDeclaration.d.ts +0 -72
  1514. package/cjs/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +0 -1
  1515. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs +0 -382
  1516. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs.map +0 -1
  1517. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts +0 -59
  1518. package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +0 -1
  1519. package/cjs/css/declaration/element-style/config/CSSStyleDeclarationElementDefaultCSS.cjs.map +0 -1
  1520. package/cjs/css/declaration/element-style/config/CSSStyleDeclarationElementDefaultCSS.d.ts.map +0 -1
  1521. package/cjs/css/declaration/element-style/config/CSSStyleDeclarationElementInheritedProperties.cjs.map +0 -1
  1522. package/cjs/css/declaration/element-style/config/CSSStyleDeclarationElementInheritedProperties.d.ts.map +0 -1
  1523. package/cjs/css/declaration/element-style/config/CSSStyleDeclarationElementMeasurementProperties.cjs.map +0 -1
  1524. package/cjs/css/declaration/element-style/config/CSSStyleDeclarationElementMeasurementProperties.d.ts.map +0 -1
  1525. package/cjs/nodes/element/DOMRect.cjs +0 -67
  1526. package/cjs/nodes/element/DOMRect.cjs.map +0 -1
  1527. package/cjs/nodes/element/DOMRect.d.ts +0 -19
  1528. package/cjs/nodes/element/DOMRect.d.ts.map +0 -1
  1529. package/cjs/nodes/element/DOMRectList.cjs +0 -17
  1530. package/cjs/nodes/element/DOMRectList.cjs.map +0 -1
  1531. package/cjs/nodes/element/DOMRectList.d.ts +0 -13
  1532. package/cjs/nodes/element/DOMRectList.d.ts.map +0 -1
  1533. package/cjs/nodes/element/DOMRectReadOnly.cjs +0 -93
  1534. package/cjs/nodes/element/DOMRectReadOnly.cjs.map +0 -1
  1535. package/cjs/nodes/element/DOMRectReadOnly.d.ts +0 -33
  1536. package/cjs/nodes/element/DOMRectReadOnly.d.ts.map +0 -1
  1537. package/cjs/nodes/element/DOMStringMap.cjs +0 -99
  1538. package/cjs/nodes/element/DOMStringMap.cjs.map +0 -1
  1539. package/cjs/nodes/element/DOMStringMap.d.ts +0 -17
  1540. package/cjs/nodes/element/DOMStringMap.d.ts.map +0 -1
  1541. package/cjs/nodes/element/DOMStringMapUtility.cjs.map +0 -1
  1542. package/cjs/nodes/element/DOMStringMapUtility.d.ts.map +0 -1
  1543. package/cjs/nodes/element/DOMTokenList.cjs +0 -314
  1544. package/cjs/nodes/element/DOMTokenList.cjs.map +0 -1
  1545. package/cjs/nodes/element/DOMTokenList.d.ts +0 -118
  1546. package/cjs/nodes/element/DOMTokenList.d.ts.map +0 -1
  1547. package/cjs/nodes/element/IDOMRectInit.cjs.map +0 -1
  1548. package/cjs/nodes/element/IDOMRectInit.d.ts.map +0 -1
  1549. package/cjs/nodes/svg-document/SVGDocument.cjs +0 -13
  1550. package/cjs/nodes/svg-document/SVGDocument.cjs.map +0 -1
  1551. package/cjs/nodes/svg-document/SVGDocument.d.ts +0 -7
  1552. package/cjs/nodes/svg-document/SVGDocument.d.ts.map +0 -1
  1553. package/cjs/nodes/svg-element/DOMMatrix.cjs +0 -15
  1554. package/cjs/nodes/svg-element/DOMMatrix.cjs.map +0 -1
  1555. package/cjs/nodes/svg-element/DOMMatrix.d.ts +0 -12
  1556. package/cjs/nodes/svg-element/DOMMatrix.d.ts.map +0 -1
  1557. package/cjs/nodes/svg-element/SVGAngle.cjs +0 -28
  1558. package/cjs/nodes/svg-element/SVGAngle.cjs.map +0 -1
  1559. package/cjs/nodes/svg-element/SVGAngle.d.ts +0 -25
  1560. package/cjs/nodes/svg-element/SVGAngle.d.ts.map +0 -1
  1561. package/cjs/nodes/svg-element/SVGAnimatedRect.cjs +0 -17
  1562. package/cjs/nodes/svg-element/SVGAnimatedRect.cjs.map +0 -1
  1563. package/cjs/nodes/svg-element/SVGAnimatedRect.d.ts +0 -11
  1564. package/cjs/nodes/svg-element/SVGAnimatedRect.d.ts.map +0 -1
  1565. package/cjs/nodes/svg-element/SVGGraphicsElement.cjs +0 -42
  1566. package/cjs/nodes/svg-element/SVGGraphicsElement.cjs.map +0 -1
  1567. package/cjs/nodes/svg-element/SVGGraphicsElement.d.ts +0 -30
  1568. package/cjs/nodes/svg-element/SVGGraphicsElement.d.ts.map +0 -1
  1569. package/cjs/nodes/svg-element/SVGLength.cjs +0 -34
  1570. package/cjs/nodes/svg-element/SVGLength.cjs.map +0 -1
  1571. package/cjs/nodes/svg-element/SVGLength.d.ts +0 -31
  1572. package/cjs/nodes/svg-element/SVGLength.d.ts.map +0 -1
  1573. package/cjs/nodes/svg-element/SVGNumber.cjs +0 -12
  1574. package/cjs/nodes/svg-element/SVGNumber.cjs.map +0 -1
  1575. package/cjs/nodes/svg-element/SVGNumber.d.ts +0 -9
  1576. package/cjs/nodes/svg-element/SVGNumber.d.ts.map +0 -1
  1577. package/cjs/nodes/svg-element/SVGPoint.cjs +0 -13
  1578. package/cjs/nodes/svg-element/SVGPoint.cjs.map +0 -1
  1579. package/cjs/nodes/svg-element/SVGPoint.d.ts +0 -10
  1580. package/cjs/nodes/svg-element/SVGPoint.d.ts.map +0 -1
  1581. package/cjs/nodes/svg-element/SVGRect.cjs +0 -15
  1582. package/cjs/nodes/svg-element/SVGRect.cjs.map +0 -1
  1583. package/cjs/nodes/svg-element/SVGRect.d.ts +0 -12
  1584. package/cjs/nodes/svg-element/SVGRect.d.ts.map +0 -1
  1585. package/cjs/nodes/svg-element/SVGSVGElement.cjs +0 -328
  1586. package/cjs/nodes/svg-element/SVGSVGElement.cjs.map +0 -1
  1587. package/cjs/nodes/svg-element/SVGSVGElement.d.ts +0 -230
  1588. package/cjs/nodes/svg-element/SVGSVGElement.d.ts.map +0 -1
  1589. package/cjs/nodes/svg-element/SVGTransform.cjs +0 -44
  1590. package/cjs/nodes/svg-element/SVGTransform.cjs.map +0 -1
  1591. package/cjs/nodes/svg-element/SVGTransform.d.ts +0 -41
  1592. package/cjs/nodes/svg-element/SVGTransform.d.ts.map +0 -1
  1593. package/lib/config/IHTMLElementConfigEntity.d.ts +0 -8
  1594. package/lib/config/IHTMLElementConfigEntity.d.ts.map +0 -1
  1595. package/lib/config/IHTMLElementConfigEntity.js +0 -2
  1596. package/lib/config/IHTMLElementConfigEntity.js.map +0 -1
  1597. package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts +0 -72
  1598. package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +0 -1
  1599. package/lib/css/declaration/AbstractCSSStyleDeclaration.js +0 -162
  1600. package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +0 -1
  1601. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts +0 -59
  1602. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +0 -1
  1603. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js +0 -353
  1604. package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js.map +0 -1
  1605. package/lib/css/declaration/element-style/config/CSSStyleDeclarationElementDefaultCSS.d.ts.map +0 -1
  1606. package/lib/css/declaration/element-style/config/CSSStyleDeclarationElementDefaultCSS.js.map +0 -1
  1607. package/lib/css/declaration/element-style/config/CSSStyleDeclarationElementInheritedProperties.d.ts.map +0 -1
  1608. package/lib/css/declaration/element-style/config/CSSStyleDeclarationElementInheritedProperties.js.map +0 -1
  1609. package/lib/css/declaration/element-style/config/CSSStyleDeclarationElementMeasurementProperties.d.ts.map +0 -1
  1610. package/lib/css/declaration/element-style/config/CSSStyleDeclarationElementMeasurementProperties.js.map +0 -1
  1611. package/lib/nodes/element/DOMRect.d.ts +0 -19
  1612. package/lib/nodes/element/DOMRect.d.ts.map +0 -1
  1613. package/lib/nodes/element/DOMRect.js +0 -38
  1614. package/lib/nodes/element/DOMRect.js.map +0 -1
  1615. package/lib/nodes/element/DOMRectList.d.ts +0 -13
  1616. package/lib/nodes/element/DOMRectList.d.ts.map +0 -1
  1617. package/lib/nodes/element/DOMRectList.js +0 -14
  1618. package/lib/nodes/element/DOMRectList.js.map +0 -1
  1619. package/lib/nodes/element/DOMRectReadOnly.d.ts +0 -33
  1620. package/lib/nodes/element/DOMRectReadOnly.d.ts.map +0 -1
  1621. package/lib/nodes/element/DOMRectReadOnly.js +0 -67
  1622. package/lib/nodes/element/DOMRectReadOnly.js.map +0 -1
  1623. package/lib/nodes/element/DOMStringMap.d.ts +0 -17
  1624. package/lib/nodes/element/DOMStringMap.d.ts.map +0 -1
  1625. package/lib/nodes/element/DOMStringMap.js +0 -70
  1626. package/lib/nodes/element/DOMStringMap.js.map +0 -1
  1627. package/lib/nodes/element/DOMStringMapUtility.d.ts.map +0 -1
  1628. package/lib/nodes/element/DOMStringMapUtility.js.map +0 -1
  1629. package/lib/nodes/element/DOMTokenList.d.ts +0 -118
  1630. package/lib/nodes/element/DOMTokenList.d.ts.map +0 -1
  1631. package/lib/nodes/element/DOMTokenList.js +0 -285
  1632. package/lib/nodes/element/DOMTokenList.js.map +0 -1
  1633. package/lib/nodes/element/IDOMRectInit.d.ts.map +0 -1
  1634. package/lib/nodes/element/IDOMRectInit.js.map +0 -1
  1635. package/lib/nodes/svg-document/SVGDocument.d.ts +0 -7
  1636. package/lib/nodes/svg-document/SVGDocument.d.ts.map +0 -1
  1637. package/lib/nodes/svg-document/SVGDocument.js +0 -7
  1638. package/lib/nodes/svg-document/SVGDocument.js.map +0 -1
  1639. package/lib/nodes/svg-element/DOMMatrix.d.ts +0 -12
  1640. package/lib/nodes/svg-element/DOMMatrix.d.ts.map +0 -1
  1641. package/lib/nodes/svg-element/DOMMatrix.js +0 -12
  1642. package/lib/nodes/svg-element/DOMMatrix.js.map +0 -1
  1643. package/lib/nodes/svg-element/SVGAngle.d.ts +0 -25
  1644. package/lib/nodes/svg-element/SVGAngle.d.ts.map +0 -1
  1645. package/lib/nodes/svg-element/SVGAngle.js +0 -25
  1646. package/lib/nodes/svg-element/SVGAngle.js.map +0 -1
  1647. package/lib/nodes/svg-element/SVGAnimatedRect.d.ts +0 -11
  1648. package/lib/nodes/svg-element/SVGAnimatedRect.d.ts.map +0 -1
  1649. package/lib/nodes/svg-element/SVGAnimatedRect.js +0 -11
  1650. package/lib/nodes/svg-element/SVGAnimatedRect.js.map +0 -1
  1651. package/lib/nodes/svg-element/SVGGraphicsElement.d.ts +0 -30
  1652. package/lib/nodes/svg-element/SVGGraphicsElement.d.ts.map +0 -1
  1653. package/lib/nodes/svg-element/SVGGraphicsElement.js +0 -36
  1654. package/lib/nodes/svg-element/SVGGraphicsElement.js.map +0 -1
  1655. package/lib/nodes/svg-element/SVGLength.d.ts +0 -31
  1656. package/lib/nodes/svg-element/SVGLength.d.ts.map +0 -1
  1657. package/lib/nodes/svg-element/SVGLength.js +0 -31
  1658. package/lib/nodes/svg-element/SVGLength.js.map +0 -1
  1659. package/lib/nodes/svg-element/SVGNumber.d.ts +0 -9
  1660. package/lib/nodes/svg-element/SVGNumber.d.ts.map +0 -1
  1661. package/lib/nodes/svg-element/SVGNumber.js +0 -9
  1662. package/lib/nodes/svg-element/SVGNumber.js.map +0 -1
  1663. package/lib/nodes/svg-element/SVGPoint.d.ts +0 -10
  1664. package/lib/nodes/svg-element/SVGPoint.d.ts.map +0 -1
  1665. package/lib/nodes/svg-element/SVGPoint.js +0 -10
  1666. package/lib/nodes/svg-element/SVGPoint.js.map +0 -1
  1667. package/lib/nodes/svg-element/SVGRect.d.ts +0 -12
  1668. package/lib/nodes/svg-element/SVGRect.d.ts.map +0 -1
  1669. package/lib/nodes/svg-element/SVGRect.js +0 -12
  1670. package/lib/nodes/svg-element/SVGRect.js.map +0 -1
  1671. package/lib/nodes/svg-element/SVGSVGElement.d.ts +0 -230
  1672. package/lib/nodes/svg-element/SVGSVGElement.d.ts.map +0 -1
  1673. package/lib/nodes/svg-element/SVGSVGElement.js +0 -299
  1674. package/lib/nodes/svg-element/SVGSVGElement.js.map +0 -1
  1675. package/lib/nodes/svg-element/SVGTransform.d.ts +0 -41
  1676. package/lib/nodes/svg-element/SVGTransform.d.ts.map +0 -1
  1677. package/lib/nodes/svg-element/SVGTransform.js +0 -41
  1678. package/lib/nodes/svg-element/SVGTransform.js.map +0 -1
  1679. package/src/config/IHTMLElementConfigEntity.ts +0 -8
  1680. package/src/css/declaration/AbstractCSSStyleDeclaration.ts +0 -190
  1681. package/src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts +0 -456
  1682. package/src/nodes/element/DOMRect.ts +0 -48
  1683. package/src/nodes/element/DOMRectList.ts +0 -15
  1684. package/src/nodes/element/DOMRectReadOnly.ts +0 -80
  1685. package/src/nodes/element/DOMStringMap.ts +0 -86
  1686. package/src/nodes/element/DOMTokenList.ts +0 -335
  1687. package/src/nodes/svg-document/SVGDocument.ts +0 -6
  1688. package/src/nodes/svg-element/DOMMatrix.ts +0 -11
  1689. package/src/nodes/svg-element/SVGAngle.ts +0 -27
  1690. package/src/nodes/svg-element/SVGAnimatedRect.ts +0 -11
  1691. package/src/nodes/svg-element/SVGGraphicsElement.ts +0 -39
  1692. package/src/nodes/svg-element/SVGLength.ts +0 -32
  1693. package/src/nodes/svg-element/SVGNumber.ts +0 -8
  1694. package/src/nodes/svg-element/SVGPoint.ts +0 -9
  1695. package/src/nodes/svg-element/SVGRect.ts +0 -11
  1696. package/src/nodes/svg-element/SVGSVGElement.ts +0 -338
  1697. package/src/nodes/svg-element/SVGTransform.ts +0 -42
  1698. /package/cjs/css/declaration/{element-style → computed-style}/config/CSSStyleDeclarationElementDefaultCSS.cjs +0 -0
  1699. /package/cjs/css/declaration/{element-style → computed-style}/config/CSSStyleDeclarationElementDefaultCSS.d.ts +0 -0
  1700. /package/cjs/css/declaration/{element-style → computed-style}/config/CSSStyleDeclarationElementInheritedProperties.cjs +0 -0
  1701. /package/cjs/css/declaration/{element-style → computed-style}/config/CSSStyleDeclarationElementInheritedProperties.d.ts +0 -0
  1702. /package/cjs/css/declaration/{element-style → computed-style}/config/CSSStyleDeclarationElementMeasurementProperties.cjs +0 -0
  1703. /package/cjs/css/declaration/{element-style → computed-style}/config/CSSStyleDeclarationElementMeasurementProperties.d.ts +0 -0
  1704. /package/cjs/{nodes/element → dom}/DOMStringMapUtility.cjs +0 -0
  1705. /package/cjs/{nodes/element → dom}/DOMStringMapUtility.d.ts +0 -0
  1706. /package/cjs/{nodes/element → dom}/IDOMRectInit.cjs +0 -0
  1707. /package/cjs/{nodes/element → dom}/IDOMRectInit.d.ts +0 -0
  1708. /package/lib/css/declaration/{element-style → computed-style}/config/CSSStyleDeclarationElementDefaultCSS.d.ts +0 -0
  1709. /package/lib/css/declaration/{element-style → computed-style}/config/CSSStyleDeclarationElementDefaultCSS.js +0 -0
  1710. /package/lib/css/declaration/{element-style → computed-style}/config/CSSStyleDeclarationElementInheritedProperties.d.ts +0 -0
  1711. /package/lib/css/declaration/{element-style → computed-style}/config/CSSStyleDeclarationElementInheritedProperties.js +0 -0
  1712. /package/lib/css/declaration/{element-style → computed-style}/config/CSSStyleDeclarationElementMeasurementProperties.d.ts +0 -0
  1713. /package/lib/css/declaration/{element-style → computed-style}/config/CSSStyleDeclarationElementMeasurementProperties.js +0 -0
  1714. /package/lib/{nodes/element → dom}/DOMStringMapUtility.d.ts +0 -0
  1715. /package/lib/{nodes/element → dom}/DOMStringMapUtility.js +0 -0
  1716. /package/lib/{nodes/element → dom}/IDOMRectInit.d.ts +0 -0
  1717. /package/lib/{nodes/element → dom}/IDOMRectInit.js +0 -0
  1718. /package/src/css/declaration/{element-style → computed-style}/config/CSSStyleDeclarationElementDefaultCSS.ts +0 -0
  1719. /package/src/css/declaration/{element-style → computed-style}/config/CSSStyleDeclarationElementInheritedProperties.ts +0 -0
  1720. /package/src/css/declaration/{element-style → computed-style}/config/CSSStyleDeclarationElementMeasurementProperties.ts +0 -0
  1721. /package/src/{nodes/element → dom}/DOMStringMapUtility.ts +0 -0
  1722. /package/src/{nodes/element → dom}/IDOMRectInit.ts +0 -0
@@ -0,0 +1,1594 @@
1
+ import DOMPoint from '../DOMPoint.js';
2
+ import IDOMPointInit from '../IDOMPointInit.js';
3
+ import * as PropertySymbol from '../../PropertySymbol.js';
4
+ import TDOMMatrixInit from './TDOMMatrixInit.js';
5
+ import TDOMMatrix2DArray from './TDOMMatrix2DArray.js';
6
+ import TDOMMatrix3DArray from './TDOMMatrix3DArray.js';
7
+ import IDOMMatrixJSON from './IDOMMatrixJSON.js';
8
+ import IDOMMatrixCompatibleObject from './IDOMMatrixCompatibleObject.js';
9
+
10
+ const DEFAULT_MATRIX_JSON: IDOMMatrixJSON = {
11
+ a: 1,
12
+ b: 0,
13
+ c: 0,
14
+ d: 1,
15
+ e: 0,
16
+ f: 0,
17
+ m11: 1,
18
+ m12: 0,
19
+ m13: 0,
20
+ m14: 0,
21
+ m21: 0,
22
+ m22: 1,
23
+ m23: 0,
24
+ m24: 0,
25
+ m31: 0,
26
+ m32: 0,
27
+ m33: 1,
28
+ m34: 0,
29
+ m41: 0,
30
+ m42: 0,
31
+ m43: 0,
32
+ m44: 1,
33
+ is2D: true,
34
+ isIdentity: true
35
+ };
36
+
37
+ const TRANSFORM_REGEXP = /([a-zA-Z0-9]+)\(([^)]+)\)/gm;
38
+ const TRANSFORM_PARAMETER_SPLIT_REGEXP = /[\s,]+/;
39
+
40
+ /**
41
+ * DOM Matrix.
42
+ *
43
+ * Based on:
44
+ * - https://github.com/trusktr/geometry-interfaces
45
+ * - https://github.com/thednp/dommatrix/tree/master
46
+ * - https://github.com/jarek-foksa/geometry-polyfill/blob/master/geometry-polyfill.js
47
+ * - https://github.com/Automattic/node-canvas/blob/master/lib/DOMMatrix.js
48
+ *
49
+ *
50
+ * 3D Matrix:
51
+ * _________________________
52
+ * | m11 | m21 | m31 | m41 |
53
+ * | m12 | m22 | m32 | m42 |
54
+ * | m13 | m23 | m33 | m43 |
55
+ * | m14 | m24 | m34 | m44 |
56
+ * -------------------------̣
57
+ *
58
+ * 2D Matrix:
59
+ * _________________________
60
+ * | m11 | m21 | 0 | m41 |
61
+ * | m12 | m22 | 0 | m42 |
62
+ * | 0 | 0 | 1 | 0 |
63
+ * | 0 | 0 | 0 | 1 |
64
+ * -------------------------
65
+ *
66
+ *
67
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMMatrixReadOnly
68
+ */
69
+ export default class DOMMatrixReadOnly {
70
+ public [PropertySymbol.m11]: number = 1;
71
+ public [PropertySymbol.m12]: number = 0;
72
+ public [PropertySymbol.m13]: number = 0;
73
+ public [PropertySymbol.m14]: number = 0;
74
+ public [PropertySymbol.m21]: number = 0;
75
+ public [PropertySymbol.m22]: number = 1;
76
+ public [PropertySymbol.m23]: number = 0;
77
+ public [PropertySymbol.m24]: number = 0;
78
+ public [PropertySymbol.m31]: number = 0;
79
+ public [PropertySymbol.m32]: number = 0;
80
+ public [PropertySymbol.m33]: number = 1;
81
+ public [PropertySymbol.m34]: number = 0;
82
+ public [PropertySymbol.m41]: number = 0;
83
+ public [PropertySymbol.m42]: number = 0;
84
+ public [PropertySymbol.m43]: number = 0;
85
+ public [PropertySymbol.m44]: number = 1;
86
+
87
+ /**
88
+ * Constructor.
89
+ *
90
+ * @param init Init parameter.
91
+ */
92
+ constructor(init?: TDOMMatrixInit) {
93
+ if (init) {
94
+ this[PropertySymbol.setMatrixValue](init);
95
+ }
96
+ }
97
+
98
+ /**
99
+ * Returns the `a` value of the matrix.
100
+ */
101
+ public get a(): number {
102
+ return this[PropertySymbol.m11];
103
+ }
104
+
105
+ /**
106
+ * Returns the `b` value of the matrix.
107
+ */
108
+ public get b(): number {
109
+ return this[PropertySymbol.m12];
110
+ }
111
+
112
+ /**
113
+ * Returns the `c` value of the matrix.
114
+ */
115
+ public get c(): number {
116
+ return this[PropertySymbol.m21];
117
+ }
118
+
119
+ /**
120
+ * Returns the `d` value of the matrix.
121
+ */
122
+ public get d(): number {
123
+ return this[PropertySymbol.m22];
124
+ }
125
+
126
+ /**
127
+ * Returns the `e` value of the matrix.
128
+ */
129
+ public get e(): number {
130
+ return this[PropertySymbol.m41];
131
+ }
132
+
133
+ /**
134
+ * Returns the `f` value of the matrix.
135
+ */
136
+ public get f(): number {
137
+ return this[PropertySymbol.m42];
138
+ }
139
+
140
+ /**
141
+ * Returns the `m11` value of the matrix.
142
+ */
143
+ public get m11(): number {
144
+ return this[PropertySymbol.m11];
145
+ }
146
+
147
+ /**
148
+ * Returns the `m12` value of the matrix.
149
+ */
150
+ public get m12(): number {
151
+ return this[PropertySymbol.m12];
152
+ }
153
+
154
+ /**
155
+ * Returns the `m13` value of the matrix.
156
+ */
157
+ public get m13(): number {
158
+ return this[PropertySymbol.m13];
159
+ }
160
+
161
+ /**
162
+ * Returns the `m14` value of the matrix.
163
+ */
164
+ public get m14(): number {
165
+ return this[PropertySymbol.m14];
166
+ }
167
+
168
+ /**
169
+ * Returns the `m21` value of the matrix.
170
+ */
171
+ public get m21(): number {
172
+ return this[PropertySymbol.m21];
173
+ }
174
+
175
+ /**
176
+ * Returns the `m22` value of the matrix.
177
+ */
178
+ public get m22(): number {
179
+ return this[PropertySymbol.m22];
180
+ }
181
+
182
+ /**
183
+ * Returns the `m23` value of the matrix.
184
+ */
185
+ public get m23(): number {
186
+ return this[PropertySymbol.m23];
187
+ }
188
+
189
+ /**
190
+ * Returns the `m24` value of the matrix.
191
+ */
192
+ public get m24(): number {
193
+ return this[PropertySymbol.m24];
194
+ }
195
+
196
+ /**
197
+ * Returns the `m31` value of the matrix.
198
+ */
199
+ public get m31(): number {
200
+ return this[PropertySymbol.m31];
201
+ }
202
+
203
+ /**
204
+ * Returns the `m32` value of the matrix.
205
+ */
206
+ public get m32(): number {
207
+ return this[PropertySymbol.m32];
208
+ }
209
+
210
+ /**
211
+ * Returns the `m33` value of the matrix.
212
+ */
213
+ public get m33(): number {
214
+ return this[PropertySymbol.m33];
215
+ }
216
+
217
+ /**
218
+ * Returns the `m34` value of the matrix.
219
+ */
220
+ public get m34(): number {
221
+ return this[PropertySymbol.m34];
222
+ }
223
+
224
+ /**
225
+ * Returns the `m41` value of the matrix.
226
+ */
227
+ public get m41(): number {
228
+ return this[PropertySymbol.m41];
229
+ }
230
+
231
+ /**
232
+ * Returns the `m42` value of the matrix.
233
+ */
234
+ public get m42(): number {
235
+ return this[PropertySymbol.m42];
236
+ }
237
+
238
+ /**
239
+ * Returns the `m43` value of the matrix.
240
+ */
241
+ public get m43(): number {
242
+ return this[PropertySymbol.m43];
243
+ }
244
+
245
+ /**
246
+ * Returns the `m44` value of the matrix.
247
+ */
248
+ public get m44(): number {
249
+ return this[PropertySymbol.m44];
250
+ }
251
+
252
+ /**
253
+ * A `Boolean` whose value is `true` if the matrix is the identity matrix.
254
+ *
255
+ * 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).
256
+ *
257
+ * @returns "true" if the matrix is the identity matrix.
258
+ */
259
+ public get isIdentity(): boolean {
260
+ return (
261
+ this[PropertySymbol.m11] === 1 &&
262
+ this[PropertySymbol.m12] === 0 &&
263
+ this[PropertySymbol.m13] === 0 &&
264
+ this[PropertySymbol.m14] === 0 &&
265
+ this[PropertySymbol.m21] === 0 &&
266
+ this[PropertySymbol.m22] === 1 &&
267
+ this[PropertySymbol.m23] === 0 &&
268
+ this[PropertySymbol.m24] === 0 &&
269
+ this[PropertySymbol.m31] === 0 &&
270
+ this[PropertySymbol.m32] === 0 &&
271
+ this[PropertySymbol.m33] === 1 &&
272
+ this[PropertySymbol.m34] === 0 &&
273
+ this[PropertySymbol.m41] === 0 &&
274
+ this[PropertySymbol.m42] === 0 &&
275
+ this[PropertySymbol.m43] === 0 &&
276
+ this[PropertySymbol.m44] === 1
277
+ );
278
+ }
279
+
280
+ /**
281
+ * A `Boolean` flag whose value is `true` if the matrix is a 2D matrix and `false` if the matrix is 3D.
282
+ *
283
+ * @returns "true" if the matrix is a 2D matrix.
284
+ */
285
+ public get is2D(): boolean {
286
+ return (
287
+ this[PropertySymbol.m31] === 0 &&
288
+ this[PropertySymbol.m32] === 0 &&
289
+ this[PropertySymbol.m33] === 1 &&
290
+ this[PropertySymbol.m34] === 0 &&
291
+ this[PropertySymbol.m43] === 0 &&
292
+ this[PropertySymbol.m44] === 1
293
+ );
294
+ }
295
+
296
+ /**
297
+ * Returns a *Float32Array* containing elements which comprise the matrix.
298
+ *
299
+ * The method can return either the 16 elements or the 6 elements depending on the value of the `is2D` parameter.
300
+ *
301
+ * @param [is2D] Set to `true` to return a 2D matrix.
302
+ * @returns An *Array* representation of the matrix.
303
+ */
304
+ public toFloat32Array(is2D?: boolean): Float32Array {
305
+ return Float32Array.from(this[PropertySymbol.toArray](is2D));
306
+ }
307
+
308
+ /**
309
+ * Returns a *Float64Array* containing elements which comprise the matrix.
310
+ *
311
+ * The method can return either the 16 elements or the 6 elements depending on the value of the `is2D` parameter.
312
+ *
313
+ * @param [is2D] Set to `true` to return a 2D matrix.
314
+ * @returns An *Array* representation of the matrix
315
+ */
316
+ public toFloat64Array(is2D?: boolean): Float64Array {
317
+ return Float64Array.from(this[PropertySymbol.toArray](is2D));
318
+ }
319
+
320
+ /**
321
+ * Returns a string representation of the matrix in `CSS` matrix syntax, using the appropriate `CSS` matrix notation.
322
+ *
323
+ * Examples:
324
+ * - `matrix3d(m11, m12, m13, m14, m21, ...)`
325
+ * - `matrix(a, b, c, d, e, f)`
326
+ *
327
+ * @returns A string representation of the matrix.
328
+ */
329
+ public toString(): string {
330
+ const is2D = this.is2D;
331
+ const values = this[PropertySymbol.toArray](is2D).join(', ');
332
+ const type = is2D ? 'matrix' : 'matrix3d';
333
+ return `${type}(${values})`;
334
+ }
335
+
336
+ /**
337
+ * Returns an Object that can be serialized to a JSON string.
338
+ *
339
+ * The result can be used as a second parameter for the `fromMatrix` static method to load values into another matrix instance.
340
+ *
341
+ * @returns An *Object* with matrix values.
342
+ */
343
+ public toJSON(): IDOMMatrixJSON {
344
+ const { is2D, isIdentity } = this;
345
+ return {
346
+ m11: this[PropertySymbol.m11],
347
+ m12: this[PropertySymbol.m12],
348
+ m13: this[PropertySymbol.m13],
349
+ m14: this[PropertySymbol.m14],
350
+ m21: this[PropertySymbol.m21],
351
+ m22: this[PropertySymbol.m22],
352
+ m23: this[PropertySymbol.m23],
353
+ m24: this[PropertySymbol.m24],
354
+ m31: this[PropertySymbol.m31],
355
+ m32: this[PropertySymbol.m32],
356
+ m33: this[PropertySymbol.m33],
357
+ m34: this[PropertySymbol.m34],
358
+ m41: this[PropertySymbol.m41],
359
+ m42: this[PropertySymbol.m42],
360
+ m43: this[PropertySymbol.m43],
361
+ m44: this[PropertySymbol.m44],
362
+ a: this[PropertySymbol.m11],
363
+ b: this[PropertySymbol.m12],
364
+ c: this[PropertySymbol.m21],
365
+ d: this[PropertySymbol.m22],
366
+ e: this[PropertySymbol.m41],
367
+ f: this[PropertySymbol.m42],
368
+ is2D,
369
+ isIdentity
370
+ };
371
+ }
372
+
373
+ /**
374
+ * Returns a new DOMMatrix instance which is the result of this matrix multiplied by the passed matrix.
375
+ *
376
+ * @param secondMatrix DOMMatrix
377
+ * @returns A new DOMMatrix object.
378
+ */
379
+ public multiply(secondMatrix: IDOMMatrixCompatibleObject): DOMMatrixReadOnly {
380
+ const matrix = new (<typeof DOMMatrixReadOnly>this.constructor)(this);
381
+ matrix[PropertySymbol.multiplySelf](secondMatrix);
382
+ return matrix;
383
+ }
384
+
385
+ /**
386
+ * Returns a new DOMMatrix instance which is this matrix post multiplied by a translation matrix containing the passed values.
387
+ *
388
+ * @param [x=0] X component of the translation value.
389
+ * @param [y=0] Y component of the translation value.
390
+ * @param [z=0] Z component of the translation value.
391
+ * @returns The resulted matrix
392
+ */
393
+ public translate(x: number = 0, y: number = 0, z: number = 0): DOMMatrixReadOnly {
394
+ const matrix = new (<typeof DOMMatrixReadOnly>this.constructor)(this);
395
+ matrix[PropertySymbol.translateSelf](x, y, z);
396
+ return matrix;
397
+ }
398
+
399
+ /**
400
+ * Returns a new DOMMatrix instance which is this matrix post multiplied by a scale 2D matrix containing the passed values.
401
+ *
402
+ * @param [scaleX] X-Axis scale.
403
+ * @param [scaleY] Y-Axis scale.
404
+ * @param [scaleZ] Z-Axis scale.
405
+ * @param [originX] X-Axis scale.
406
+ * @param [originY] Y-Axis scale.
407
+ * @param [originZ] Z-Axis scale.
408
+ * @returns The resulted matrix
409
+ */
410
+ public scale(
411
+ scaleX?: number,
412
+ scaleY?: number,
413
+ scaleZ = 1,
414
+ originX = 0,
415
+ originY = 0,
416
+ originZ = 0
417
+ ): DOMMatrixReadOnly {
418
+ const matrix = new (<typeof DOMMatrixReadOnly>this.constructor)(this);
419
+ matrix[PropertySymbol.scaleSelf](scaleX, scaleY, scaleZ, originX, originY, originZ);
420
+ return matrix;
421
+ }
422
+
423
+ /**
424
+ * Returns a new DOMMatrix instance which is this matrix post multiplied by a scale 3D matrix containing the passed values.
425
+ *
426
+ * @param [scale] The scale factor.
427
+ * @param [originX] X-Axis scale.
428
+ * @param [originY] Y-Axis scale.
429
+ * @param [originZ] Z-Axis scale.
430
+ * @returns The resulted matrix
431
+ */
432
+ public scale3d(scale = 1, originX = 0, originY = 0, originZ = 0): DOMMatrixReadOnly {
433
+ const matrix = new (<typeof DOMMatrixReadOnly>this.constructor)(this);
434
+ matrix[PropertySymbol.scale3dSelf](scale, originX, originY, originZ);
435
+ return matrix;
436
+ }
437
+
438
+ /**
439
+ * Returns a new DOMMatrix instance which is this matrix post multiplied by a scale 3D matrix containing the passed values.
440
+ *
441
+ * @param [scaleX] X-Axis scale.
442
+ * @param [scaleY] Y-Axis scale.
443
+ * @returns The resulted matrix
444
+ */
445
+ public scaleNonUniform(scaleX = 1, scaleY = 1): DOMMatrixReadOnly {
446
+ const matrix = new (<typeof DOMMatrixReadOnly>this.constructor)(this);
447
+ matrix[PropertySymbol.scaleNonUniformSelf](scaleX, scaleY);
448
+ return matrix;
449
+ }
450
+
451
+ /**
452
+ * Returns a new DOMMatrix instance which is this matrix post multiplied by a rotation matrix with the given axis and `angle`.
453
+ *
454
+ * @param [x] The X component of the axis vector.
455
+ * @param [y] The Y component of the axis vector.
456
+ * @param [z] The Z component of the axis vector.
457
+ * @param [angle] Angle of rotation about the axis vector, in degrees.
458
+ * @returns The resulted matrix
459
+ */
460
+ public rotateAxisAngle(x = 0, y = 0, z = 0, angle = 0): DOMMatrixReadOnly {
461
+ const matrix = new (<typeof DOMMatrixReadOnly>this.constructor)(this);
462
+ matrix[PropertySymbol.rotateAxisAngleSelf](x, y, z, angle);
463
+ return matrix;
464
+ }
465
+
466
+ /**
467
+ * Returns a new DOMMatrix instance which is this matrix post multiplied by each of 3 rotation matrices about the major axes, first X, then Y, then Z.
468
+ *
469
+ * @param [x] X component of the rotation, or Z if Y and Z are null.
470
+ * @param [y] Y component of the rotation value.
471
+ * @param [z] Z component of the rotation value.
472
+ * @returns The resulted matrix
473
+ */
474
+ public rotate(x = 0, y?: number, z?: number): DOMMatrixReadOnly {
475
+ const matrix = new (<typeof DOMMatrixReadOnly>this.constructor)(this);
476
+ matrix[PropertySymbol.rotateSelf](x, y, z);
477
+ return matrix;
478
+ }
479
+
480
+ /**
481
+ * Returns a new DOMMatrix instance which is this matrix post multiplied by a rotation matrix with the angle between the specified vector and (1, 0).
482
+ *
483
+ * @param [x] X-Axis skew.
484
+ * @param [y] Y-Axis skew.
485
+ */
486
+ public rotateFromVector(x = 0, y = 0): DOMMatrixReadOnly {
487
+ const matrix = new (<typeof DOMMatrixReadOnly>this.constructor)(this);
488
+ matrix[PropertySymbol.rotateFromVectorSelf](x, y);
489
+ return matrix;
490
+ }
491
+
492
+ /**
493
+ * Returns a new DOMMatrix instance that specifies a skew transformation along X-Axis by the given angle.
494
+ *
495
+ * @param angle Angle amount in degrees to skew.
496
+ * @returns The resulted matrix
497
+ */
498
+ public skewX(angle: number): DOMMatrixReadOnly {
499
+ const matrix = new (<typeof DOMMatrixReadOnly>this.constructor)(this);
500
+ matrix[PropertySymbol.skewXSelf](angle);
501
+ return matrix;
502
+ }
503
+
504
+ /**
505
+ * Returns a new DOMMatrix instance that specifies a skew transformation along Y-Axis by the given angle.
506
+ *
507
+ * @param angle Angle amount in degrees to skew.
508
+ * @returns The resulted matrix
509
+ */
510
+ public skewY(angle: number): DOMMatrixReadOnly {
511
+ const matrix = new (<typeof DOMMatrixReadOnly>this.constructor)(this);
512
+ matrix[PropertySymbol.skewYSelf](angle);
513
+ return matrix;
514
+ }
515
+
516
+ /**
517
+ * Returns a new DOMMatrix instance which is this matrix flipped on X-axis.
518
+ */
519
+ public flipX(): DOMMatrixReadOnly {
520
+ const matrix = new (<typeof DOMMatrixReadOnly>this.constructor)(this);
521
+ matrix[PropertySymbol.flipXSelf]();
522
+ return matrix;
523
+ }
524
+
525
+ /**
526
+ * Returns a new DOMMatrix instance which is this matrix flipped on Y-axis.
527
+ */
528
+ public flipY(): DOMMatrixReadOnly {
529
+ const matrix = new (<typeof DOMMatrixReadOnly>this.constructor)(this);
530
+ matrix[PropertySymbol.flipYSelf]();
531
+ return matrix;
532
+ }
533
+
534
+ /**
535
+ * Returns a new DOMMatrix instance which is this matrix inversed.
536
+ */
537
+ public inverse(): DOMMatrixReadOnly {
538
+ const matrix = new (<typeof DOMMatrixReadOnly>this.constructor)(this);
539
+ matrix[PropertySymbol.invertSelf]();
540
+ return matrix;
541
+ }
542
+
543
+ /**
544
+ * Returns a new DOMPoint instance with the vector transformed using the matrix.
545
+ *
546
+ * @param domPoint DOM point compatible object.
547
+ * @returns A new DOMPoint object.
548
+ */
549
+ public transformPoint(domPoint: IDOMPointInit): DOMPoint {
550
+ const xPoint = domPoint.x ?? 0;
551
+ const yPoint = domPoint.y ?? 0;
552
+ const zPoint = domPoint.z ?? 0;
553
+ const wPoint = domPoint.w ?? 1;
554
+
555
+ const x =
556
+ this[PropertySymbol.m11] * xPoint +
557
+ this[PropertySymbol.m21] * yPoint +
558
+ this[PropertySymbol.m31] * zPoint +
559
+ this[PropertySymbol.m41] * wPoint;
560
+ const y =
561
+ this[PropertySymbol.m12] * xPoint +
562
+ this[PropertySymbol.m22] * yPoint +
563
+ this[PropertySymbol.m32] * zPoint +
564
+ this[PropertySymbol.m42] * wPoint;
565
+ const z =
566
+ this[PropertySymbol.m13] * xPoint +
567
+ this[PropertySymbol.m23] * yPoint +
568
+ this[PropertySymbol.m33] * zPoint +
569
+ this[PropertySymbol.m43] * wPoint;
570
+ const w =
571
+ this[PropertySymbol.m14] * xPoint +
572
+ this[PropertySymbol.m24] * yPoint +
573
+ this[PropertySymbol.m34] * zPoint +
574
+ this[PropertySymbol.m44] * wPoint;
575
+
576
+ return new DOMPoint(x, y, z, w);
577
+ }
578
+
579
+ /**
580
+ * The `setMatrixValue` method replaces the existing matrix with one computed in the browser (e.g.`matrix(1,0.25,-0.25,1,0,0)`).
581
+ *
582
+ * @param source A `DOMMatrix`, `Float32Array`, `Float64Array`, `Array`, or DOMMatrix compatible object to set the matrix values from.
583
+ */
584
+ public [PropertySymbol.setMatrixValue](source?: TDOMMatrixInit): void {
585
+ let matrix: DOMMatrixReadOnly;
586
+
587
+ // String
588
+ if (typeof source === 'string' && source.length && source !== 'none') {
589
+ matrix = (<typeof DOMMatrixReadOnly>this.constructor)[PropertySymbol.fromString](source);
590
+ }
591
+ // Array
592
+ else if (
593
+ Array.isArray(source) ||
594
+ source instanceof Float64Array ||
595
+ source instanceof Float32Array
596
+ ) {
597
+ matrix = (<typeof DOMMatrixReadOnly>this.constructor)[PropertySymbol.fromArray](source);
598
+ }
599
+ // DOMMatrixReadOnly or IDOMMatrixCompatibleObject
600
+ else if (typeof source === 'object') {
601
+ matrix = (<typeof DOMMatrixReadOnly>this.constructor).fromMatrix(
602
+ <IDOMMatrixCompatibleObject>source
603
+ );
604
+ }
605
+
606
+ this[PropertySymbol.m11] = matrix[PropertySymbol.m11];
607
+ this[PropertySymbol.m12] = matrix[PropertySymbol.m12];
608
+ this[PropertySymbol.m13] = matrix[PropertySymbol.m13];
609
+ this[PropertySymbol.m14] = matrix[PropertySymbol.m14];
610
+ this[PropertySymbol.m21] = matrix[PropertySymbol.m21];
611
+ this[PropertySymbol.m22] = matrix[PropertySymbol.m22];
612
+ this[PropertySymbol.m23] = matrix[PropertySymbol.m23];
613
+ this[PropertySymbol.m24] = matrix[PropertySymbol.m24];
614
+ this[PropertySymbol.m31] = matrix[PropertySymbol.m31];
615
+ this[PropertySymbol.m32] = matrix[PropertySymbol.m32];
616
+ this[PropertySymbol.m33] = matrix[PropertySymbol.m33];
617
+ this[PropertySymbol.m34] = matrix[PropertySymbol.m34];
618
+ this[PropertySymbol.m41] = matrix[PropertySymbol.m41];
619
+ this[PropertySymbol.m42] = matrix[PropertySymbol.m42];
620
+ this[PropertySymbol.m43] = matrix[PropertySymbol.m43];
621
+ this[PropertySymbol.m44] = matrix[PropertySymbol.m44];
622
+ }
623
+
624
+ /**
625
+ * Applies a multiply operation to the current matrix.
626
+ *
627
+ * @param matrix Second matrix.
628
+ */
629
+ public [PropertySymbol.multiplySelf](matrix: IDOMMatrixCompatibleObject): void {
630
+ if (!(matrix instanceof DOMMatrixReadOnly)) {
631
+ if (matrix?.m11 === undefined && matrix?.a !== undefined) {
632
+ matrix = Object.assign({}, DEFAULT_MATRIX_JSON, matrix);
633
+ matrix.m11 = matrix.a;
634
+ matrix.m12 = matrix.b;
635
+ matrix.m21 = matrix.c;
636
+ matrix.m22 = matrix.d;
637
+ matrix.m41 = matrix.e;
638
+ matrix.m42 = matrix.f;
639
+ } else {
640
+ matrix = Object.assign({}, DEFAULT_MATRIX_JSON, matrix);
641
+ }
642
+ }
643
+
644
+ const m11 =
645
+ this[PropertySymbol.m11] * matrix.m11 +
646
+ this[PropertySymbol.m21] * matrix.m12 +
647
+ this[PropertySymbol.m31] * matrix.m13 +
648
+ this[PropertySymbol.m41] * matrix.m14;
649
+ const m21 =
650
+ this[PropertySymbol.m11] * matrix.m21 +
651
+ this[PropertySymbol.m21] * matrix.m22 +
652
+ this[PropertySymbol.m31] * matrix.m23 +
653
+ this[PropertySymbol.m41] * matrix.m24;
654
+ const m31 =
655
+ this[PropertySymbol.m11] * matrix.m31 +
656
+ this[PropertySymbol.m21] * matrix.m32 +
657
+ this[PropertySymbol.m31] * matrix.m33 +
658
+ this[PropertySymbol.m41] * matrix.m34;
659
+ const m41 =
660
+ this[PropertySymbol.m11] * matrix.m41 +
661
+ this[PropertySymbol.m21] * matrix.m42 +
662
+ this[PropertySymbol.m31] * matrix.m43 +
663
+ this[PropertySymbol.m41] * matrix.m44;
664
+
665
+ const m12 =
666
+ this[PropertySymbol.m12] * matrix.m11 +
667
+ this[PropertySymbol.m22] * matrix.m12 +
668
+ this[PropertySymbol.m32] * matrix.m13 +
669
+ this[PropertySymbol.m42] * matrix.m14;
670
+ const m22 =
671
+ this[PropertySymbol.m12] * matrix.m21 +
672
+ this[PropertySymbol.m22] * matrix.m22 +
673
+ this[PropertySymbol.m32] * matrix.m23 +
674
+ this[PropertySymbol.m42] * matrix.m24;
675
+ const m32 =
676
+ this[PropertySymbol.m12] * matrix.m31 +
677
+ this[PropertySymbol.m22] * matrix.m32 +
678
+ this[PropertySymbol.m32] * matrix.m33 +
679
+ this[PropertySymbol.m42] * matrix.m34;
680
+ const m42 =
681
+ this[PropertySymbol.m12] * matrix.m41 +
682
+ this[PropertySymbol.m22] * matrix.m42 +
683
+ this[PropertySymbol.m32] * matrix.m43 +
684
+ this[PropertySymbol.m42] * matrix.m44;
685
+
686
+ const m13 =
687
+ this[PropertySymbol.m13] * matrix.m11 +
688
+ this[PropertySymbol.m23] * matrix.m12 +
689
+ this[PropertySymbol.m33] * matrix.m13 +
690
+ this[PropertySymbol.m43] * matrix.m14;
691
+ const m23 =
692
+ this[PropertySymbol.m13] * matrix.m21 +
693
+ this[PropertySymbol.m23] * matrix.m22 +
694
+ this[PropertySymbol.m33] * matrix.m23 +
695
+ this[PropertySymbol.m43] * matrix.m24;
696
+ const m33 =
697
+ this[PropertySymbol.m13] * matrix.m31 +
698
+ this[PropertySymbol.m23] * matrix.m32 +
699
+ this[PropertySymbol.m33] * matrix.m33 +
700
+ this[PropertySymbol.m43] * matrix.m34;
701
+ const m43 =
702
+ this[PropertySymbol.m13] * matrix.m41 +
703
+ this[PropertySymbol.m23] * matrix.m42 +
704
+ this[PropertySymbol.m33] * matrix.m43 +
705
+ this[PropertySymbol.m43] * matrix.m44;
706
+
707
+ const m14 =
708
+ this[PropertySymbol.m14] * matrix.m11 +
709
+ this[PropertySymbol.m24] * matrix.m12 +
710
+ this[PropertySymbol.m34] * matrix.m13 +
711
+ this[PropertySymbol.m44] * matrix.m14;
712
+ const m24 =
713
+ this[PropertySymbol.m14] * matrix.m21 +
714
+ this[PropertySymbol.m24] * matrix.m22 +
715
+ this[PropertySymbol.m34] * matrix.m23 +
716
+ this[PropertySymbol.m44] * matrix.m24;
717
+ const m34 =
718
+ this[PropertySymbol.m14] * matrix.m31 +
719
+ this[PropertySymbol.m24] * matrix.m32 +
720
+ this[PropertySymbol.m34] * matrix.m33 +
721
+ this[PropertySymbol.m44] * matrix.m34;
722
+ const m44 =
723
+ this[PropertySymbol.m14] * matrix.m41 +
724
+ this[PropertySymbol.m24] * matrix.m42 +
725
+ this[PropertySymbol.m34] * matrix.m43 +
726
+ this[PropertySymbol.m44] * matrix.m44;
727
+
728
+ this[PropertySymbol.m11] = m11;
729
+ this[PropertySymbol.m12] = m12;
730
+ this[PropertySymbol.m13] = m13;
731
+ this[PropertySymbol.m14] = m14;
732
+ this[PropertySymbol.m21] = m21;
733
+ this[PropertySymbol.m22] = m22;
734
+ this[PropertySymbol.m23] = m23;
735
+ this[PropertySymbol.m24] = m24;
736
+ this[PropertySymbol.m31] = m31;
737
+ this[PropertySymbol.m32] = m32;
738
+ this[PropertySymbol.m33] = m33;
739
+ this[PropertySymbol.m34] = m34;
740
+ this[PropertySymbol.m41] = m41;
741
+ this[PropertySymbol.m42] = m42;
742
+ this[PropertySymbol.m43] = m43;
743
+ this[PropertySymbol.m44] = m44;
744
+ }
745
+
746
+ /**
747
+ * Applies translate to the matrix.
748
+ *
749
+ * This method is equivalent to the CSS `translate3d()` function.
750
+ *
751
+ * @see https://drafts.csswg.org/css-transforms-1/#TranslateDefined
752
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/translate3d
753
+ * @see https://www.w3.org/TR/css-transforms-1/#transform-functions
754
+ * @param [x] X-Axis position.
755
+ * @param [y] Y-Axis position.
756
+ * @param [z] Z-Axis position.
757
+ */
758
+ public [PropertySymbol.translateSelf](x: number = 0, y: number = 0, z: number = 0): void {
759
+ // prettier-ignore
760
+ const translationMatrix = (<typeof DOMMatrixReadOnly>this.constructor)[PropertySymbol.fromArray]([
761
+ 1, 0, 0, 0,
762
+ 0, 1, 0, 0,
763
+ 0, 0, 1, 0,
764
+ x, y, z, 1,
765
+ ]);
766
+
767
+ this[PropertySymbol.multiplySelf](translationMatrix);
768
+ }
769
+
770
+ /**
771
+ * Applies a scale to the matrix.
772
+ *
773
+ * This method is equivalent to the CSS `scale()` function.
774
+ *
775
+ * @see https://drafts.csswg.org/css-transforms-1/#ScaleDefined
776
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/scale
777
+ * @see https://www.w3.org/TR/css-transforms-1/#transform-functions
778
+ * @param [scaleX] X-Axis scale.
779
+ * @param [scaleY] Y-Axis scale.
780
+ * @param [scaleZ] Z-Axis scale.
781
+ * @param [originX] X-Axis scale.
782
+ * @param [originY] Y-Axis scale.
783
+ * @param [originZ] Z-Axis scale.
784
+ */
785
+ public [PropertySymbol.scaleSelf](
786
+ scaleX?: number,
787
+ scaleY?: number,
788
+ scaleZ = 1,
789
+ originX = 0,
790
+ originY = 0,
791
+ originZ = 0
792
+ ): void {
793
+ // If scaleY is missing, set scaleY to the value of scaleX.
794
+ scaleX = scaleX === undefined ? 1 : Number(scaleX);
795
+ scaleY = scaleY === undefined ? scaleX : Number(scaleY);
796
+
797
+ if (originX !== 0 || originY !== 0 || originZ !== 0) {
798
+ this[PropertySymbol.translateSelf](originX, originY, originZ);
799
+ }
800
+
801
+ if (scaleX !== 1 || scaleY !== 1 || scaleZ !== 1) {
802
+ // prettier-ignore
803
+ this[PropertySymbol.multiplySelf]((<typeof DOMMatrixReadOnly>this.constructor)[PropertySymbol.fromArray]([
804
+ scaleX, 0, 0, 0,
805
+ 0, scaleY, 0, 0,
806
+ 0, 0, scaleZ, 0,
807
+ 0, 0, 0, 1,
808
+ ]));
809
+ }
810
+
811
+ if (originX !== 0 || originY !== 0 || originZ !== 0) {
812
+ this[PropertySymbol.translateSelf](-originX, -originY, -originZ);
813
+ }
814
+ }
815
+
816
+ /**
817
+ * Applies a scale to the matrix.
818
+ *
819
+ * This method is equivalent to the CSS `scale()` function.
820
+ *
821
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/scale3d
822
+ * @see https://www.w3.org/TR/css-transforms-1/#transform-functions
823
+ * @param [scale] The scale factor.
824
+ * @param [originX] X-Axis scale.
825
+ * @param [originY] Y-Axis scale.
826
+ * @param [originZ] Z-Axis scale.
827
+ */
828
+ public [PropertySymbol.scale3dSelf](scale = 1, originX = 0, originY = 0, originZ = 0): void {
829
+ if (originX !== 0 || originY !== 0 || originZ !== 0) {
830
+ this[PropertySymbol.translateSelf](originX, originY, originZ);
831
+ }
832
+
833
+ if (scale !== 1) {
834
+ // prettier-ignore
835
+ this[PropertySymbol.multiplySelf]((<typeof DOMMatrixReadOnly>this.constructor)[PropertySymbol.fromArray]([
836
+ scale, 0, 0, 0,
837
+ 0, scale, 0, 0,
838
+ 0, 0, scale, 0,
839
+ 0, 0, 0, 1,
840
+ ]));
841
+ }
842
+
843
+ if (originX !== 0 || originY !== 0 || originZ !== 0) {
844
+ this[PropertySymbol.translateSelf](-originX, -originY, -originZ);
845
+ }
846
+ }
847
+
848
+ /**
849
+ * Applies a scale to the matrix.
850
+ *
851
+ * @see https://www.w3.org/TR/css-transforms-1/#transform-functions
852
+ * @param [scaleX] X-Axis scale.
853
+ * @param [scaleY] Y-Axis scale.
854
+ */
855
+ public [PropertySymbol.scaleNonUniformSelf](scaleX = 1, scaleY = 1): void {
856
+ if (scaleX === 1 && scaleY === 1) {
857
+ return;
858
+ }
859
+
860
+ // prettier-ignore
861
+ this[PropertySymbol.multiplySelf]((<typeof DOMMatrixReadOnly>this.constructor)[PropertySymbol.fromArray]([
862
+ scaleX, 0, 0, 0,
863
+ 0, scaleY, 0, 0,
864
+ 0, 0, 1, 0,
865
+ 0, 0, 0, 1,
866
+ ]));
867
+ }
868
+
869
+ /**
870
+ * Applies a rotation to the matrix.
871
+ *
872
+ * This method is equivalent to the CSS `rotate3d()` function.
873
+ *
874
+ * @see https://drafts.fxtf.org/geometry/#dom-dommatrixreadonly-rotateaxisangleself
875
+ * @see https://www.w3.org/TR/css-transforms-1/#transform-functions
876
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/rotate3d
877
+ * @param [x] X-Axis vector.
878
+ * @param [y] Y-Axis vector.
879
+ * @param [z] Z-Axis vector.
880
+ * @param [angle] Angle in degrees of the rotation.
881
+ */
882
+ public [PropertySymbol.rotateAxisAngleSelf](x = 0, y = 0, z = 0, angle = 0): void {
883
+ x = Number(x);
884
+ y = Number(y);
885
+ z = Number(z);
886
+ angle = Number(angle);
887
+
888
+ if (isNaN(x) || isNaN(y) || isNaN(z) || isNaN(angle)) {
889
+ throw new TypeError(
890
+ `Failed to execute 'rotateAxisAngleSelf' on 'DOMMatrix': The arguments must be numbers.`
891
+ );
892
+ }
893
+
894
+ const length = Math.hypot(x, y, z);
895
+
896
+ if (length === 0) {
897
+ return;
898
+ }
899
+
900
+ if (length !== 1) {
901
+ x /= length;
902
+ y /= length;
903
+ z /= length;
904
+ }
905
+
906
+ // Degree to radian divided by 2
907
+ const alpha = -((angle * Math.PI) / 360);
908
+ const round = this.#round;
909
+ const sc = Math.sin(alpha) * Math.cos(alpha);
910
+ const sq = Math.sin(alpha) * Math.sin(alpha);
911
+
912
+ // We round it as the calculation is off by about 0.000000000000001, which causes the matrix to be different from the browser.
913
+ // The rounding doesn't solve the issue for all cases, it would be better to find a more accurate solution.
914
+
915
+ const m11 = round(1 - 2 * (y * y + z * z) * sq);
916
+ const m12 = round(2 * (x * y * sq + z * sc));
917
+ const m13 = round(2 * (x * z * sq - y * sc));
918
+ const m21 = round(2 * (x * y * sq - z * sc));
919
+ const m22 = round(1 - 2 * (x * x + z * z) * sq);
920
+ const m23 = round(2 * (y * z * sq + x * sc));
921
+ const m31 = round(2 * (x * z * sq + y * sc));
922
+ const m32 = round(2 * (y * z * sq - x * sc));
923
+ const m33 = round(1 - 2 * (x * x + y * y) * sq);
924
+
925
+ // prettier-ignore
926
+ const matrix = (<typeof DOMMatrixReadOnly>this.constructor)[PropertySymbol.fromArray]([
927
+ m11, m21, m31, 0,
928
+ m12, m22, m32, 0,
929
+ m13, m23, m33, 0,
930
+ 0, 0, 0, 1
931
+ ]);
932
+
933
+ this[PropertySymbol.multiplySelf](matrix);
934
+ }
935
+
936
+ /**
937
+ * Applies a rotation to the matrix.
938
+ *
939
+ * @see http://en.wikipedia.org/wiki/Rotation_matrix
940
+ * @see https://www.w3.org/TR/css-transforms-1/#transform-functions
941
+ * @param [x] X-Axis rotation in degrees.
942
+ * @param [y] Y-Axis rotation in degrees.
943
+ * @param [z] Z-Axis rotation in degrees.
944
+ */
945
+ public [PropertySymbol.rotateSelf](x = 0, y?: number, z?: number): void {
946
+ // If Y and Z are both missing, set Z to the value of X and set X and Y to 0.
947
+ if (y === undefined && z === undefined) {
948
+ z = x;
949
+ x = 0;
950
+ y = 0;
951
+ }
952
+
953
+ // If Y is still missing, set Y to 0.
954
+ if (y === undefined) {
955
+ y = 0;
956
+ }
957
+
958
+ // If Z is still missing, set Z to 0
959
+ if (z === undefined) {
960
+ z = 0;
961
+ }
962
+
963
+ x = Number(x);
964
+ y = Number(y);
965
+ z = Number(z);
966
+
967
+ if (isNaN(x) || isNaN(y) || isNaN(z)) {
968
+ throw new TypeError(
969
+ `Failed to execute 'rotateSelf' on 'DOMMatrix': The arguments must be numbers.`
970
+ );
971
+ }
972
+
973
+ if (z !== 0) {
974
+ this[PropertySymbol.rotateAxisAngleSelf](0, 0, 1, z);
975
+ }
976
+ if (y !== 0) {
977
+ this[PropertySymbol.rotateAxisAngleSelf](0, 1, 0, y);
978
+ }
979
+ if (x !== 0) {
980
+ this[PropertySymbol.rotateAxisAngleSelf](1, 0, 0, x);
981
+ }
982
+ }
983
+
984
+ /**
985
+ * Modifies the matrix by rotating it by the angle between the specified vector and (1, 0).
986
+ *
987
+ * @param x The X component of the axis vector.
988
+ * @param y The Y component of the axis vector.
989
+ */
990
+ public [PropertySymbol.rotateFromVectorSelf](x = 0, y = 0): void {
991
+ if (x === 0 && y === 0) {
992
+ return;
993
+ }
994
+ this[PropertySymbol.rotateSelf]((Math.atan2(y, x) * 180) / Math.PI);
995
+ }
996
+
997
+ /**
998
+ * Applies a skew operation to the matrix on the X axis.
999
+ *
1000
+ * This method is equivalent to the CSS `skewX()` function.
1001
+ *
1002
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skewX
1003
+ * @see https://www.w3.org/TR/css-transforms-1/#transform-functions
1004
+ * @param angle Angle in degrees.
1005
+ */
1006
+ public [PropertySymbol.skewXSelf](angle: number): void {
1007
+ const matrix = Object.assign({}, DEFAULT_MATRIX_JSON);
1008
+ const value = Math.tan((angle * Math.PI) / 180);
1009
+
1010
+ matrix.m21 = value;
1011
+ matrix.c = value;
1012
+
1013
+ this[PropertySymbol.multiplySelf](matrix);
1014
+ }
1015
+
1016
+ /**
1017
+ * Applies a skew operation to the matrix on the Y axis.
1018
+ *
1019
+ * This method is equivalent to the CSS `skewY()` function.
1020
+ *
1021
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skewY
1022
+ * @see https://www.w3.org/TR/css-transforms-1/#transform-functions
1023
+ * @param angle Angle in degrees.
1024
+ */
1025
+ public [PropertySymbol.skewYSelf](angle: number): void {
1026
+ const matrix = Object.assign({}, DEFAULT_MATRIX_JSON);
1027
+ const value = Math.tan((angle * Math.PI) / 180);
1028
+
1029
+ matrix.m12 = value;
1030
+ matrix.b = value;
1031
+
1032
+ this[PropertySymbol.multiplySelf](matrix);
1033
+ }
1034
+
1035
+ /**
1036
+ * Applies a flip operation to the matrix on the X axis.
1037
+ */
1038
+ public [PropertySymbol.flipXSelf](): void {
1039
+ // prettier-ignore
1040
+ const matrix = (<typeof DOMMatrixReadOnly>this.constructor)[PropertySymbol.fromArray]([
1041
+ -1, 0, 0, 0,
1042
+ 0, 1, 0, 0,
1043
+ 0, 0, 1, 0,
1044
+ 0, 0, 0, 1
1045
+ ]);
1046
+ this[PropertySymbol.multiplySelf](matrix);
1047
+ }
1048
+
1049
+ /**
1050
+ * Applies a flip operation to the matrix on the Y axis.
1051
+ */
1052
+ public [PropertySymbol.flipYSelf](): void {
1053
+ // prettier-ignore
1054
+ const matrix = (<typeof DOMMatrixReadOnly>this.constructor)[PropertySymbol.fromArray]([
1055
+ 1, 0, 0, 0,
1056
+ 0, -1, 0, 0,
1057
+ 0, 0, 1, 0,
1058
+ 0, 0, 0, 1
1059
+ ]);
1060
+ this[PropertySymbol.multiplySelf](matrix);
1061
+ }
1062
+
1063
+ /**
1064
+ * Applies an inversion operation to the matrix.
1065
+ */
1066
+ public [PropertySymbol.invertSelf](): void {
1067
+ const m11 =
1068
+ this[PropertySymbol.m22] * this[PropertySymbol.m33] * this[PropertySymbol.m44] -
1069
+ this[PropertySymbol.m22] * this[PropertySymbol.m34] * this[PropertySymbol.m43] -
1070
+ this[PropertySymbol.m32] * this[PropertySymbol.m23] * this[PropertySymbol.m44] +
1071
+ this[PropertySymbol.m32] * this[PropertySymbol.m24] * this[PropertySymbol.m43] +
1072
+ this[PropertySymbol.m42] * this[PropertySymbol.m23] * this[PropertySymbol.m34] -
1073
+ this[PropertySymbol.m42] * this[PropertySymbol.m24] * this[PropertySymbol.m33];
1074
+
1075
+ const m12 =
1076
+ -this[PropertySymbol.m12] * this[PropertySymbol.m33] * this[PropertySymbol.m44] +
1077
+ this[PropertySymbol.m12] * this[PropertySymbol.m34] * this[PropertySymbol.m43] +
1078
+ this[PropertySymbol.m32] * this[PropertySymbol.m13] * this[PropertySymbol.m44] -
1079
+ this[PropertySymbol.m32] * this[PropertySymbol.m14] * this[PropertySymbol.m43] -
1080
+ this[PropertySymbol.m42] * this[PropertySymbol.m13] * this[PropertySymbol.m34] +
1081
+ this[PropertySymbol.m42] * this[PropertySymbol.m14] * this[PropertySymbol.m33];
1082
+
1083
+ const m13 =
1084
+ this[PropertySymbol.m12] * this[PropertySymbol.m23] * this[PropertySymbol.m44] -
1085
+ this[PropertySymbol.m12] * this[PropertySymbol.m24] * this[PropertySymbol.m43] -
1086
+ this[PropertySymbol.m22] * this[PropertySymbol.m13] * this[PropertySymbol.m44] +
1087
+ this[PropertySymbol.m22] * this[PropertySymbol.m14] * this[PropertySymbol.m43] +
1088
+ this[PropertySymbol.m42] * this[PropertySymbol.m13] * this[PropertySymbol.m24] -
1089
+ this[PropertySymbol.m42] * this[PropertySymbol.m14] * this[PropertySymbol.m23];
1090
+
1091
+ const m14 =
1092
+ -this[PropertySymbol.m12] * this[PropertySymbol.m23] * this[PropertySymbol.m34] +
1093
+ this[PropertySymbol.m12] * this[PropertySymbol.m24] * this[PropertySymbol.m33] +
1094
+ this[PropertySymbol.m22] * this[PropertySymbol.m13] * this[PropertySymbol.m34] -
1095
+ this[PropertySymbol.m22] * this[PropertySymbol.m14] * this[PropertySymbol.m33] -
1096
+ this[PropertySymbol.m32] * this[PropertySymbol.m13] * this[PropertySymbol.m24] +
1097
+ this[PropertySymbol.m32] * this[PropertySymbol.m14] * this[PropertySymbol.m23];
1098
+
1099
+ const det =
1100
+ this[PropertySymbol.m11] * m11 +
1101
+ this[PropertySymbol.m21] * m12 +
1102
+ this[PropertySymbol.m31] * m13 +
1103
+ this[PropertySymbol.m41] * m14;
1104
+
1105
+ // If the current matrix is not invertible set all attributes to NaN and set is 2D to false.
1106
+ if (det === 0) {
1107
+ this[PropertySymbol.m11] = NaN;
1108
+ this[PropertySymbol.m12] = NaN;
1109
+ this[PropertySymbol.m13] = NaN;
1110
+ this[PropertySymbol.m14] = NaN;
1111
+ this[PropertySymbol.m21] = NaN;
1112
+ this[PropertySymbol.m22] = NaN;
1113
+ this[PropertySymbol.m23] = NaN;
1114
+ this[PropertySymbol.m24] = NaN;
1115
+ this[PropertySymbol.m31] = NaN;
1116
+ this[PropertySymbol.m32] = NaN;
1117
+ this[PropertySymbol.m33] = NaN;
1118
+ this[PropertySymbol.m34] = NaN;
1119
+ this[PropertySymbol.m41] = NaN;
1120
+ this[PropertySymbol.m42] = NaN;
1121
+ this[PropertySymbol.m43] = NaN;
1122
+ this[PropertySymbol.m44] = NaN;
1123
+ return;
1124
+ }
1125
+
1126
+ const m21 =
1127
+ -this[PropertySymbol.m21] * this[PropertySymbol.m33] * this[PropertySymbol.m44] +
1128
+ this[PropertySymbol.m21] * this[PropertySymbol.m34] * this[PropertySymbol.m43] +
1129
+ this[PropertySymbol.m31] * this[PropertySymbol.m23] * this[PropertySymbol.m44] -
1130
+ this[PropertySymbol.m31] * this[PropertySymbol.m24] * this[PropertySymbol.m43] -
1131
+ this[PropertySymbol.m41] * this[PropertySymbol.m23] * this[PropertySymbol.m34] +
1132
+ this[PropertySymbol.m41] * this[PropertySymbol.m24] * this[PropertySymbol.m33];
1133
+
1134
+ const m22 =
1135
+ this[PropertySymbol.m11] * this[PropertySymbol.m33] * this[PropertySymbol.m44] -
1136
+ this[PropertySymbol.m11] * this[PropertySymbol.m34] * this[PropertySymbol.m43] -
1137
+ this[PropertySymbol.m31] * this[PropertySymbol.m13] * this[PropertySymbol.m44] +
1138
+ this[PropertySymbol.m31] * this[PropertySymbol.m14] * this[PropertySymbol.m43] +
1139
+ this[PropertySymbol.m41] * this[PropertySymbol.m13] * this[PropertySymbol.m34] -
1140
+ this[PropertySymbol.m41] * this[PropertySymbol.m14] * this[PropertySymbol.m33];
1141
+
1142
+ const m23 =
1143
+ -this[PropertySymbol.m11] * this[PropertySymbol.m23] * this[PropertySymbol.m44] +
1144
+ this[PropertySymbol.m11] * this[PropertySymbol.m24] * this[PropertySymbol.m43] +
1145
+ this[PropertySymbol.m21] * this[PropertySymbol.m13] * this[PropertySymbol.m44] -
1146
+ this[PropertySymbol.m21] * this[PropertySymbol.m14] * this[PropertySymbol.m43] -
1147
+ this[PropertySymbol.m41] * this[PropertySymbol.m13] * this[PropertySymbol.m24] +
1148
+ this[PropertySymbol.m41] * this[PropertySymbol.m14] * this[PropertySymbol.m23];
1149
+
1150
+ const m24 =
1151
+ this[PropertySymbol.m11] * this[PropertySymbol.m23] * this[PropertySymbol.m34] -
1152
+ this[PropertySymbol.m11] * this[PropertySymbol.m24] * this[PropertySymbol.m33] -
1153
+ this[PropertySymbol.m21] * this[PropertySymbol.m13] * this[PropertySymbol.m34] +
1154
+ this[PropertySymbol.m21] * this[PropertySymbol.m14] * this[PropertySymbol.m33] +
1155
+ this[PropertySymbol.m31] * this[PropertySymbol.m13] * this[PropertySymbol.m24] -
1156
+ this[PropertySymbol.m31] * this[PropertySymbol.m14] * this[PropertySymbol.m23];
1157
+
1158
+ const m31 =
1159
+ this[PropertySymbol.m21] * this[PropertySymbol.m32] * this[PropertySymbol.m44] -
1160
+ this[PropertySymbol.m21] * this[PropertySymbol.m34] * this[PropertySymbol.m42] -
1161
+ this[PropertySymbol.m31] * this[PropertySymbol.m22] * this[PropertySymbol.m44] +
1162
+ this[PropertySymbol.m31] * this[PropertySymbol.m24] * this[PropertySymbol.m42] +
1163
+ this[PropertySymbol.m41] * this[PropertySymbol.m22] * this[PropertySymbol.m34] -
1164
+ this[PropertySymbol.m41] * this[PropertySymbol.m24] * this[PropertySymbol.m32];
1165
+
1166
+ const m32 =
1167
+ -this[PropertySymbol.m11] * this[PropertySymbol.m32] * this[PropertySymbol.m44] +
1168
+ this[PropertySymbol.m11] * this[PropertySymbol.m34] * this[PropertySymbol.m42] +
1169
+ this[PropertySymbol.m31] * this[PropertySymbol.m12] * this[PropertySymbol.m44] -
1170
+ this[PropertySymbol.m31] * this[PropertySymbol.m14] * this[PropertySymbol.m42] -
1171
+ this[PropertySymbol.m41] * this[PropertySymbol.m12] * this[PropertySymbol.m34] +
1172
+ this[PropertySymbol.m41] * this[PropertySymbol.m14] * this[PropertySymbol.m32];
1173
+
1174
+ const m33 =
1175
+ this[PropertySymbol.m11] * this[PropertySymbol.m22] * this[PropertySymbol.m44] -
1176
+ this[PropertySymbol.m11] * this[PropertySymbol.m24] * this[PropertySymbol.m42] -
1177
+ this[PropertySymbol.m21] * this[PropertySymbol.m12] * this[PropertySymbol.m44] +
1178
+ this[PropertySymbol.m21] * this[PropertySymbol.m14] * this[PropertySymbol.m42] +
1179
+ this[PropertySymbol.m41] * this[PropertySymbol.m12] * this[PropertySymbol.m24] -
1180
+ this[PropertySymbol.m41] * this[PropertySymbol.m14] * this[PropertySymbol.m22];
1181
+
1182
+ const m34 =
1183
+ -this[PropertySymbol.m11] * this[PropertySymbol.m22] * this[PropertySymbol.m34] +
1184
+ this[PropertySymbol.m11] * this[PropertySymbol.m24] * this[PropertySymbol.m32] +
1185
+ this[PropertySymbol.m21] * this[PropertySymbol.m12] * this[PropertySymbol.m34] -
1186
+ this[PropertySymbol.m21] * this[PropertySymbol.m14] * this[PropertySymbol.m32] -
1187
+ this[PropertySymbol.m31] * this[PropertySymbol.m12] * this[PropertySymbol.m24] +
1188
+ this[PropertySymbol.m31] * this[PropertySymbol.m14] * this[PropertySymbol.m22];
1189
+
1190
+ const m41 =
1191
+ -this[PropertySymbol.m21] * this[PropertySymbol.m32] * this[PropertySymbol.m43] +
1192
+ this[PropertySymbol.m21] * this[PropertySymbol.m33] * this[PropertySymbol.m42] +
1193
+ this[PropertySymbol.m31] * this[PropertySymbol.m22] * this[PropertySymbol.m43] -
1194
+ this[PropertySymbol.m31] * this[PropertySymbol.m23] * this[PropertySymbol.m42] -
1195
+ this[PropertySymbol.m41] * this[PropertySymbol.m22] * this[PropertySymbol.m33] +
1196
+ this[PropertySymbol.m41] * this[PropertySymbol.m23] * this[PropertySymbol.m32];
1197
+
1198
+ const m42 =
1199
+ this[PropertySymbol.m11] * this[PropertySymbol.m32] * this[PropertySymbol.m43] -
1200
+ this[PropertySymbol.m11] * this[PropertySymbol.m33] * this[PropertySymbol.m42] -
1201
+ this[PropertySymbol.m31] * this[PropertySymbol.m12] * this[PropertySymbol.m43] +
1202
+ this[PropertySymbol.m31] * this[PropertySymbol.m13] * this[PropertySymbol.m42] +
1203
+ this[PropertySymbol.m41] * this[PropertySymbol.m12] * this[PropertySymbol.m33] -
1204
+ this[PropertySymbol.m41] * this[PropertySymbol.m13] * this[PropertySymbol.m32];
1205
+
1206
+ const m43 =
1207
+ -this[PropertySymbol.m11] * this[PropertySymbol.m22] * this[PropertySymbol.m43] +
1208
+ this[PropertySymbol.m11] * this[PropertySymbol.m23] * this[PropertySymbol.m42] +
1209
+ this[PropertySymbol.m21] * this[PropertySymbol.m12] * this[PropertySymbol.m43] -
1210
+ this[PropertySymbol.m21] * this[PropertySymbol.m13] * this[PropertySymbol.m42] -
1211
+ this[PropertySymbol.m41] * this[PropertySymbol.m12] * this[PropertySymbol.m23] +
1212
+ this[PropertySymbol.m41] * this[PropertySymbol.m13] * this[PropertySymbol.m22];
1213
+
1214
+ const m44 =
1215
+ this[PropertySymbol.m11] * this[PropertySymbol.m22] * this[PropertySymbol.m33] -
1216
+ this[PropertySymbol.m11] * this[PropertySymbol.m23] * this[PropertySymbol.m32] -
1217
+ this[PropertySymbol.m21] * this[PropertySymbol.m12] * this[PropertySymbol.m33] +
1218
+ this[PropertySymbol.m21] * this[PropertySymbol.m13] * this[PropertySymbol.m32] +
1219
+ this[PropertySymbol.m31] * this[PropertySymbol.m12] * this[PropertySymbol.m23] -
1220
+ this[PropertySymbol.m31] * this[PropertySymbol.m13] * this[PropertySymbol.m22];
1221
+
1222
+ this[PropertySymbol.m11] = m11 / det || 0;
1223
+ this[PropertySymbol.m12] = m12 / det || 0;
1224
+ this[PropertySymbol.m13] = m13 / det || 0;
1225
+ this[PropertySymbol.m14] = m14 / det || 0;
1226
+ this[PropertySymbol.m21] = m21 / det || 0;
1227
+ this[PropertySymbol.m22] = m22 / det || 0;
1228
+ this[PropertySymbol.m23] = m23 / det || 0;
1229
+ this[PropertySymbol.m24] = m24 / det || 0;
1230
+ this[PropertySymbol.m31] = m31 / det || 0;
1231
+ this[PropertySymbol.m32] = m32 / det || 0;
1232
+ this[PropertySymbol.m33] = m33 / det || 0;
1233
+ this[PropertySymbol.m34] = m34 / det || 0;
1234
+ this[PropertySymbol.m41] = m41 / det || 0;
1235
+ this[PropertySymbol.m42] = m42 / det || 0;
1236
+ this[PropertySymbol.m43] = m43 / det || 0;
1237
+ this[PropertySymbol.m44] = m44 / det || 0;
1238
+ }
1239
+
1240
+ /**
1241
+ * Returns an *Array* containing elements which comprise the matrix.
1242
+ *
1243
+ * @param matrix Matrix to convert.
1244
+ * @param [is2D] If the matrix is 2D.
1245
+ * @returns Array representation of the matrix.
1246
+ */
1247
+ public [PropertySymbol.toArray](is2D: boolean = false): TDOMMatrix2DArray | TDOMMatrix3DArray {
1248
+ if (is2D) {
1249
+ return [
1250
+ this[PropertySymbol.m11],
1251
+ this[PropertySymbol.m12],
1252
+ this[PropertySymbol.m21],
1253
+ this[PropertySymbol.m22],
1254
+ this[PropertySymbol.m41],
1255
+ this[PropertySymbol.m42]
1256
+ ];
1257
+ }
1258
+
1259
+ return [
1260
+ this[PropertySymbol.m11],
1261
+ this[PropertySymbol.m12],
1262
+ this[PropertySymbol.m13],
1263
+ this[PropertySymbol.m14],
1264
+ this[PropertySymbol.m21],
1265
+ this[PropertySymbol.m22],
1266
+ this[PropertySymbol.m23],
1267
+ this[PropertySymbol.m24],
1268
+ this[PropertySymbol.m31],
1269
+ this[PropertySymbol.m32],
1270
+ this[PropertySymbol.m33],
1271
+ this[PropertySymbol.m34],
1272
+ this[PropertySymbol.m41],
1273
+ this[PropertySymbol.m42],
1274
+ this[PropertySymbol.m43],
1275
+ this[PropertySymbol.m44]
1276
+ ];
1277
+ }
1278
+
1279
+ /**
1280
+ * Rounds the value to the given number of decimals.
1281
+ *
1282
+ * @param value The value to round.
1283
+ * @param [decimals] The number of decimals to round to.
1284
+ */
1285
+ #round(value: number, decimals: number = 1e15): number {
1286
+ return Math.round(value * decimals) / decimals;
1287
+ }
1288
+
1289
+ /**
1290
+ * Returns a new `DOMMatrix` instance given an existing matrix.
1291
+ *
1292
+ * @param matrix Matrix.
1293
+ */
1294
+ public static fromMatrix(matrix: IDOMMatrixCompatibleObject): DOMMatrixReadOnly {
1295
+ if (!(matrix instanceof DOMMatrixReadOnly)) {
1296
+ if (matrix?.m11 === undefined && matrix?.a !== undefined) {
1297
+ matrix = Object.assign({}, DEFAULT_MATRIX_JSON, matrix);
1298
+ matrix.m11 = matrix.a;
1299
+ matrix.m12 = matrix.b;
1300
+ matrix.m21 = matrix.c;
1301
+ matrix.m22 = matrix.d;
1302
+ matrix.m41 = matrix.e;
1303
+ matrix.m42 = matrix.f;
1304
+ } else {
1305
+ matrix = Object.assign({}, DEFAULT_MATRIX_JSON, matrix);
1306
+ }
1307
+ }
1308
+
1309
+ return this[PropertySymbol.fromArray]([
1310
+ matrix.m11,
1311
+ matrix.m12,
1312
+ matrix.m13,
1313
+ matrix.m14,
1314
+ matrix.m21,
1315
+ matrix.m22,
1316
+ matrix.m23,
1317
+ matrix.m24,
1318
+ matrix.m31,
1319
+ matrix.m32,
1320
+ matrix.m33,
1321
+ matrix.m34,
1322
+ matrix.m41,
1323
+ matrix.m42,
1324
+ matrix.m43,
1325
+ matrix.m44
1326
+ ]);
1327
+ }
1328
+
1329
+ /**
1330
+ * Returns a new `DOMMatrix` instance given an array of 16/6 floating point values.
1331
+ *
1332
+ * @param array An `Array` to feed values from.
1333
+ * @returns DOMMatrix instance.
1334
+ */
1335
+ public static fromFloat32Array(array: Float32Array): DOMMatrixReadOnly {
1336
+ return this[PropertySymbol.fromArray](array);
1337
+ }
1338
+
1339
+ /**
1340
+ * Returns a new `DOMMatrix` instance given an array of 16/6 floating point values.
1341
+ *
1342
+ * @param array An `Array` to feed values from.
1343
+ * @returns DOMMatrix instance.
1344
+ */
1345
+ public static fromFloat64Array(array: Float64Array): DOMMatrixReadOnly {
1346
+ return this[PropertySymbol.fromArray](array);
1347
+ }
1348
+
1349
+ /**
1350
+ * Returns a new `DOMMatrix` instance given an array of 16/6 floating point values.
1351
+ *
1352
+ * Conditions:
1353
+ * - If the array has six values, the result is a 2D matrix.
1354
+ * - If the array has 16 values, the result is a 3D matrix.
1355
+ * - Otherwise, a TypeError exception is thrown.
1356
+ *
1357
+ * @param array An `Array` to feed values from.
1358
+ * @returns DOMMatrix instance.
1359
+ */
1360
+ public static [PropertySymbol.fromArray](
1361
+ array: any[] | Float32Array | Float64Array
1362
+ ): DOMMatrixReadOnly {
1363
+ if (
1364
+ !(array instanceof Float64Array || array instanceof Float32Array || Array.isArray(array)) ||
1365
+ (array.length !== 6 && array.length !== 16)
1366
+ ) {
1367
+ throw TypeError(
1368
+ `Failed to execute 'fromArray' on '${this.name}': '${String(
1369
+ array
1370
+ )}' is not a compatible array.`
1371
+ );
1372
+ }
1373
+
1374
+ const matrix = new (<typeof DOMMatrixReadOnly>this)();
1375
+
1376
+ if (array.length === 16) {
1377
+ const [m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44] =
1378
+ array;
1379
+
1380
+ matrix[PropertySymbol.m11] = m11;
1381
+ matrix[PropertySymbol.m12] = m12;
1382
+ matrix[PropertySymbol.m13] = m13;
1383
+ matrix[PropertySymbol.m14] = m14;
1384
+ matrix[PropertySymbol.m21] = m21;
1385
+ matrix[PropertySymbol.m22] = m22;
1386
+ matrix[PropertySymbol.m23] = m23;
1387
+ matrix[PropertySymbol.m24] = m24;
1388
+ matrix[PropertySymbol.m31] = m31;
1389
+ matrix[PropertySymbol.m32] = m32;
1390
+ matrix[PropertySymbol.m33] = m33;
1391
+ matrix[PropertySymbol.m34] = m34;
1392
+ matrix[PropertySymbol.m41] = m41;
1393
+ matrix[PropertySymbol.m42] = m42;
1394
+ matrix[PropertySymbol.m43] = m43;
1395
+ matrix[PropertySymbol.m44] = m44;
1396
+ } else if (array.length === 6) {
1397
+ const [m11, m12, m21, m22, m41, m42] = array;
1398
+
1399
+ matrix[PropertySymbol.m11] = m11;
1400
+ matrix[PropertySymbol.m12] = m12;
1401
+ matrix[PropertySymbol.m21] = m21;
1402
+ matrix[PropertySymbol.m22] = m22;
1403
+ matrix[PropertySymbol.m41] = m41;
1404
+ matrix[PropertySymbol.m42] = m42;
1405
+ }
1406
+
1407
+ return matrix;
1408
+ }
1409
+
1410
+ /**
1411
+ * Returns a new `DOMMatrix` instance from a DOM transform string.
1412
+ *
1413
+ * @param source valid CSS transform string syntax.
1414
+ * @returns DOMMatrix instance.
1415
+ */
1416
+ public static [PropertySymbol.fromString](source: string): DOMMatrixReadOnly {
1417
+ if (typeof source !== 'string') {
1418
+ throw TypeError(
1419
+ `Failed to execute 'setMatrixValue' on '${this.name}': Expected '${String(
1420
+ source
1421
+ )}' to be a string.`
1422
+ );
1423
+ }
1424
+
1425
+ const domMatrix = new (<typeof DOMMatrixReadOnly>this)();
1426
+ const regexp = new RegExp(TRANSFORM_REGEXP);
1427
+
1428
+ let match: RegExpMatchArray | null;
1429
+
1430
+ while ((match = regexp.exec(source))) {
1431
+ const name = match[1];
1432
+ const parameters: number[] = <number[]>(
1433
+ (<unknown>match[2].split(TRANSFORM_PARAMETER_SPLIT_REGEXP))
1434
+ );
1435
+
1436
+ for (let i = 0, max = parameters.length; i < max; i++) {
1437
+ parameters[i] = this[PropertySymbol.getLength](<string>(<unknown>parameters[i]));
1438
+ }
1439
+
1440
+ const [x, y, z, a] = parameters;
1441
+
1442
+ switch (name) {
1443
+ case 'perspective':
1444
+ if (!isNaN(x) && x !== 0 && y === undefined && z === undefined) {
1445
+ domMatrix[PropertySymbol.m34] = -1 / x;
1446
+ }
1447
+ break;
1448
+ case 'translate':
1449
+ if (!isNaN(x) && z === undefined) {
1450
+ domMatrix[PropertySymbol.translateSelf](x, y || 0, 0);
1451
+ }
1452
+ break;
1453
+ case 'translate3d':
1454
+ if (!isNaN(x) && !isNaN(y) && !isNaN(z)) {
1455
+ domMatrix[PropertySymbol.translateSelf](x, y, z);
1456
+ }
1457
+ break;
1458
+ case 'translateX':
1459
+ if (!isNaN(x) && y === undefined && z === undefined) {
1460
+ domMatrix[PropertySymbol.translateSelf](x);
1461
+ }
1462
+ break;
1463
+ case 'translateY':
1464
+ if (!isNaN(x) && y === undefined && z === undefined) {
1465
+ domMatrix[PropertySymbol.translateSelf](0, x);
1466
+ }
1467
+ break;
1468
+ case 'translateZ':
1469
+ if (!isNaN(x) && y === undefined && z === undefined) {
1470
+ domMatrix[PropertySymbol.translateSelf](0, 0, x);
1471
+ }
1472
+ break;
1473
+ case 'matrix':
1474
+ case 'matrix3d':
1475
+ if (parameters.length === 6 || parameters.length === 16) {
1476
+ domMatrix[PropertySymbol.setMatrixValue](this[PropertySymbol.fromArray](parameters));
1477
+ }
1478
+ break;
1479
+ case 'rotate':
1480
+ case 'rotateZ':
1481
+ if (!isNaN(x) && y === undefined && z === undefined) {
1482
+ domMatrix[PropertySymbol.rotateSelf](0, 0, x);
1483
+ }
1484
+ break;
1485
+ case 'rotateX':
1486
+ if (!isNaN(x) && y === undefined && z === undefined) {
1487
+ domMatrix[PropertySymbol.rotateSelf](x, 0, 0);
1488
+ }
1489
+ break;
1490
+ case 'rotateY':
1491
+ if (!isNaN(x) && y === undefined && z === undefined) {
1492
+ domMatrix[PropertySymbol.rotateSelf](0, x, 0);
1493
+ }
1494
+ case 'rotate3d':
1495
+ if (!isNaN(x) && !isNaN(y) && !isNaN(z) && !isNaN(a)) {
1496
+ domMatrix[PropertySymbol.rotateAxisAngleSelf](x, y, z, a);
1497
+ }
1498
+ break;
1499
+ case 'scale':
1500
+ if (!isNaN(x) && x !== 1 && z === undefined) {
1501
+ domMatrix[PropertySymbol.scaleSelf](x, isNaN(y) ? x : y);
1502
+ }
1503
+ break;
1504
+ case 'scale3d':
1505
+ if (!isNaN(x) && !isNaN(y) && !isNaN(z)) {
1506
+ domMatrix[PropertySymbol.scaleSelf](x, y, z);
1507
+ }
1508
+ break;
1509
+ case 'scaleX':
1510
+ if (!isNaN(x) && y === undefined && z === undefined) {
1511
+ domMatrix[PropertySymbol.scaleSelf](x, 1, 1);
1512
+ }
1513
+ break;
1514
+ case 'scaleY':
1515
+ if (!isNaN(x) && y === undefined && z === undefined) {
1516
+ domMatrix[PropertySymbol.scaleSelf](1, x, 1);
1517
+ }
1518
+ break;
1519
+ case 'scaleZ':
1520
+ if (!isNaN(x) && y === undefined && z === undefined) {
1521
+ domMatrix[PropertySymbol.scaleSelf](1, 1, x);
1522
+ }
1523
+ break;
1524
+ case 'skew':
1525
+ if (!isNaN(x)) {
1526
+ domMatrix[PropertySymbol.skewXSelf](x);
1527
+ }
1528
+ if (!isNaN(y)) {
1529
+ domMatrix[PropertySymbol.skewYSelf](y);
1530
+ }
1531
+ break;
1532
+ case 'skewX':
1533
+ if (!isNaN(x) && y === undefined) {
1534
+ domMatrix[PropertySymbol.skewXSelf](x);
1535
+ }
1536
+ break;
1537
+ case 'skewY':
1538
+ if (!isNaN(x) && y === undefined) {
1539
+ domMatrix[PropertySymbol.skewYSelf](x);
1540
+ }
1541
+ break;
1542
+ default:
1543
+ throw TypeError(
1544
+ `Failed to execute 'setMatrixValue' on '${this.name}': Unknown transform function '${match[1]}'.`
1545
+ );
1546
+ }
1547
+ }
1548
+
1549
+ return domMatrix;
1550
+ }
1551
+
1552
+ /**
1553
+ * Returns length.
1554
+ *
1555
+ * @param length Length to convert.
1556
+ * @returns Length.
1557
+ */
1558
+ private static [PropertySymbol.getLength](length: string): number {
1559
+ const value = parseFloat(length);
1560
+ const unit = length.replace(value.toString(), '');
1561
+ switch (unit) {
1562
+ case 'rem':
1563
+ case 'em':
1564
+ case 'vw':
1565
+ case 'vh':
1566
+ case '%':
1567
+ case 'vmin':
1568
+ case 'vmax':
1569
+ throw new SyntaxError(
1570
+ `Failed to construct '${this.name}': Lengths must be absolute, not relative`
1571
+ );
1572
+ case 'rad':
1573
+ return value * (180 / Math.PI);
1574
+ case 'turn':
1575
+ return value * 360;
1576
+ case 'px':
1577
+ return value;
1578
+ case 'cm':
1579
+ return value * 37.7812;
1580
+ case 'mm':
1581
+ return value * 3.7781;
1582
+ case 'in':
1583
+ return value * 96;
1584
+ case 'pt':
1585
+ return value * 1.3281;
1586
+ case 'pc':
1587
+ return value * 16;
1588
+ case 'Q':
1589
+ return value * 0.945;
1590
+ default:
1591
+ return value;
1592
+ }
1593
+ }
1594
+ }