@nativescript/canvas-polyfill 2.0.0-beta.9 → 2.0.0-webgpu.0

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.
Files changed (180) hide show
  1. package/DOM/CharacterData.d.ts +5 -2
  2. package/DOM/CharacterData.js +9 -2
  3. package/DOM/CharacterData.js.map +1 -1
  4. package/DOM/DOMPointReadOnly.d.ts +27 -0
  5. package/DOM/DOMPointReadOnly.js +43 -0
  6. package/DOM/DOMPointReadOnly.js.map +1 -0
  7. package/DOM/Document.d.ts +25 -11
  8. package/DOM/Document.js +250 -41
  9. package/DOM/Document.js.map +1 -1
  10. package/DOM/Element.d.ts +51 -21
  11. package/DOM/Element.js +252 -19
  12. package/DOM/Element.js.map +1 -1
  13. package/DOM/EventTarget.d.ts +7 -0
  14. package/DOM/EventTarget.js +51 -0
  15. package/DOM/EventTarget.js.map +1 -0
  16. package/DOM/HTMLCanvasElement.d.ts +13 -11
  17. package/DOM/HTMLCanvasElement.js +29 -26
  18. package/DOM/HTMLCanvasElement.js.map +1 -1
  19. package/DOM/HTMLCollection.d.ts +4 -0
  20. package/DOM/HTMLCollection.js +10 -0
  21. package/DOM/HTMLCollection.js.map +1 -0
  22. package/DOM/HTMLDivElement.d.ts +4 -0
  23. package/DOM/HTMLDivElement.js +19 -0
  24. package/DOM/HTMLDivElement.js.map +1 -0
  25. package/DOM/HTMLElement.d.ts +21 -0
  26. package/DOM/HTMLElement.js +62 -0
  27. package/DOM/HTMLElement.js.map +1 -0
  28. package/DOM/HTMLImageElement.d.ts +11 -4
  29. package/DOM/HTMLImageElement.js +75 -33
  30. package/DOM/HTMLImageElement.js.map +1 -1
  31. package/DOM/HTMLUnknownElement.d.ts +4 -0
  32. package/DOM/HTMLUnknownElement.js +7 -0
  33. package/DOM/HTMLUnknownElement.js.map +1 -0
  34. package/DOM/HTMLVideoElement.d.ts +3 -4
  35. package/DOM/HTMLVideoElement.js +15 -7
  36. package/DOM/HTMLVideoElement.js.map +1 -1
  37. package/DOM/Node.d.ts +7 -28
  38. package/DOM/Node.js +17 -121
  39. package/DOM/Node.js.map +1 -1
  40. package/DOM/Text.d.ts +1 -0
  41. package/DOM/Text.js.map +1 -1
  42. package/DOM/XMLDocument.d.ts +6 -10
  43. package/DOM/XMLDocument.js +23 -23
  44. package/DOM/XMLDocument.js.map +1 -1
  45. package/DOM/svg/SVGAnimatedEnumeration.d.ts +4 -0
  46. package/DOM/svg/SVGAnimatedEnumeration.js +7 -0
  47. package/DOM/svg/SVGAnimatedEnumeration.js.map +1 -0
  48. package/DOM/svg/SVGAnimatedLength.d.ts +42 -0
  49. package/DOM/svg/SVGAnimatedLength.js +360 -0
  50. package/DOM/svg/SVGAnimatedLength.js.map +1 -0
  51. package/DOM/svg/SVGAnimatedNumber.d.ts +9 -0
  52. package/DOM/svg/SVGAnimatedNumber.js +49 -0
  53. package/DOM/svg/SVGAnimatedNumber.js.map +1 -0
  54. package/DOM/svg/SVGAnimatedPreserveAspectRatio.d.ts +34 -0
  55. package/DOM/svg/SVGAnimatedPreserveAspectRatio.js +69 -0
  56. package/DOM/svg/SVGAnimatedPreserveAspectRatio.js.map +1 -0
  57. package/DOM/svg/SVGAnimatedRect.d.ts +10 -0
  58. package/DOM/svg/SVGAnimatedRect.js +39 -0
  59. package/DOM/svg/SVGAnimatedRect.js.map +1 -0
  60. package/DOM/svg/SVGAnimatedString.d.ts +9 -0
  61. package/DOM/svg/SVGAnimatedString.js +21 -0
  62. package/DOM/svg/SVGAnimatedString.js.map +1 -0
  63. package/DOM/svg/SVGAnimatedTransformList.d.ts +10 -0
  64. package/DOM/svg/SVGAnimatedTransformList.js +16 -0
  65. package/DOM/svg/SVGAnimatedTransformList.js.map +1 -0
  66. package/DOM/svg/SVGCircleElement.d.ts +9 -11
  67. package/DOM/svg/SVGCircleElement.js +14 -31
  68. package/DOM/svg/SVGCircleElement.js.map +1 -1
  69. package/DOM/svg/SVGElement.d.ts +12 -12
  70. package/DOM/svg/SVGElement.js +58 -43
  71. package/DOM/svg/SVGElement.js.map +1 -1
  72. package/DOM/svg/SVGEllipseElement.d.ts +13 -0
  73. package/DOM/svg/SVGEllipseElement.js +26 -0
  74. package/DOM/svg/SVGEllipseElement.js.map +1 -0
  75. package/DOM/svg/SVGGGElement.d.ts +2 -11
  76. package/DOM/svg/SVGGGElement.js +4 -34
  77. package/DOM/svg/SVGGGElement.js.map +1 -1
  78. package/DOM/svg/SVGGeometryElement.d.ts +3 -0
  79. package/DOM/svg/SVGGeometryElement.js +4 -0
  80. package/DOM/svg/SVGGeometryElement.js.map +1 -0
  81. package/DOM/svg/SVGGradientElement.d.ts +7 -0
  82. package/DOM/svg/SVGGradientElement.js +12 -0
  83. package/DOM/svg/SVGGradientElement.js.map +1 -0
  84. package/DOM/svg/SVGGraphicsElement.d.ts +6 -0
  85. package/DOM/svg/SVGGraphicsElement.js +12 -0
  86. package/DOM/svg/SVGGraphicsElement.js.map +1 -0
  87. package/DOM/svg/SVGImageElement.d.ts +17 -0
  88. package/DOM/svg/SVGImageElement.js +42 -0
  89. package/DOM/svg/SVGImageElement.js.map +1 -0
  90. package/DOM/svg/SVGLineElement.d.ts +13 -0
  91. package/DOM/svg/SVGLineElement.js +26 -0
  92. package/DOM/svg/SVGLineElement.js.map +1 -0
  93. package/DOM/svg/SVGLinearGradientElement.d.ts +13 -0
  94. package/DOM/svg/SVGLinearGradientElement.js +26 -0
  95. package/DOM/svg/SVGLinearGradientElement.js.map +1 -0
  96. package/DOM/svg/SVGMarkerElement.d.ts +17 -0
  97. package/DOM/svg/SVGMarkerElement.js +31 -0
  98. package/DOM/svg/SVGMarkerElement.js.map +1 -0
  99. package/DOM/svg/SVGMaskElement.d.ts +4 -0
  100. package/DOM/svg/SVGMaskElement.js +8 -0
  101. package/DOM/svg/SVGMaskElement.js.map +1 -0
  102. package/DOM/svg/SVGMatrix.d.ts +23 -0
  103. package/DOM/svg/SVGMatrix.js +76 -0
  104. package/DOM/svg/SVGMatrix.js.map +1 -0
  105. package/DOM/svg/SVGPathElement.d.ts +2 -11
  106. package/DOM/svg/SVGPathElement.js +4 -34
  107. package/DOM/svg/SVGPathElement.js.map +1 -1
  108. package/DOM/svg/SVGPolygonElement.d.ts +9 -0
  109. package/DOM/svg/SVGPolygonElement.js +23 -0
  110. package/DOM/svg/SVGPolygonElement.js.map +1 -0
  111. package/DOM/svg/SVGPolylineElement.d.ts +9 -0
  112. package/DOM/svg/SVGPolylineElement.js +23 -0
  113. package/DOM/svg/SVGPolylineElement.js.map +1 -0
  114. package/DOM/svg/SVGRadialGradientElement.d.ts +17 -0
  115. package/DOM/svg/SVGRadialGradientElement.js +34 -0
  116. package/DOM/svg/SVGRadialGradientElement.js.map +1 -0
  117. package/DOM/svg/SVGRectElement.d.ts +15 -11
  118. package/DOM/svg/SVGRectElement.js +22 -27
  119. package/DOM/svg/SVGRectElement.js.map +1 -1
  120. package/DOM/svg/SVGSVGElement.d.ts +29 -0
  121. package/DOM/svg/SVGSVGElement.js +76 -0
  122. package/DOM/svg/SVGSVGElement.js.map +1 -0
  123. package/DOM/svg/SVGStopElement.d.ts +7 -0
  124. package/DOM/svg/SVGStopElement.js +14 -0
  125. package/DOM/svg/SVGStopElement.js.map +1 -0
  126. package/DOM/svg/SVGTextContentElement.d.ts +3 -0
  127. package/DOM/svg/SVGTextContentElement.js +4 -0
  128. package/DOM/svg/SVGTextContentElement.js.map +1 -0
  129. package/DOM/svg/SVGTextElement.d.ts +4 -0
  130. package/DOM/svg/SVGTextElement.js +9 -0
  131. package/DOM/svg/SVGTextElement.js.map +1 -0
  132. package/DOM/svg/SVGTextPositioningElement.d.ts +3 -0
  133. package/DOM/svg/SVGTextPositioningElement.js +4 -0
  134. package/DOM/svg/SVGTextPositioningElement.js.map +1 -0
  135. package/DOM/svg/SVGTransform.d.ts +33 -0
  136. package/DOM/svg/SVGTransform.js +97 -0
  137. package/DOM/svg/SVGTransform.js.map +1 -0
  138. package/DOM/svg/SVGUnits.d.ts +52 -0
  139. package/DOM/svg/SVGUnits.js +154 -0
  140. package/DOM/svg/SVGUnits.js.map +1 -0
  141. package/DOM/svg/SVGUseElement.d.ts +16 -0
  142. package/DOM/svg/SVGUseElement.js +35 -0
  143. package/DOM/svg/SVGUseElement.js.map +1 -0
  144. package/DOM/svg/index.d.ts +25 -2
  145. package/DOM/svg/index.js +25 -2
  146. package/DOM/svg/index.js.map +1 -1
  147. package/URL.android.js +12 -0
  148. package/URL.android.js.map +1 -1
  149. package/URL.ios.js +12 -0
  150. package/URL.ios.js.map +1 -1
  151. package/async/file/file.android.d.ts +1 -1
  152. package/async/file/file.android.js +3 -3
  153. package/async/file/file.android.js.map +1 -1
  154. package/async/file/file.ios.d.ts +1 -1
  155. package/async/file/file.ios.js +4 -7
  156. package/async/file/file.ios.js.map +1 -1
  157. package/async/http/http.android.js +44 -40
  158. package/async/http/http.android.js.map +1 -1
  159. package/async/http/http.ios.js +30 -47
  160. package/async/http/http.ios.js.map +1 -1
  161. package/async/xhr/TNSXMLHttpRequest.js +19 -5
  162. package/async/xhr/TNSXMLHttpRequest.js.map +1 -1
  163. package/index.js +18 -7
  164. package/index.js.map +1 -1
  165. package/localStorage.js +0 -2
  166. package/localStorage.js.map +1 -1
  167. package/navigator.d.ts +12 -0
  168. package/navigator.js +19 -0
  169. package/navigator.js.map +1 -0
  170. package/package.json +6 -4
  171. package/platforms/android/async-release.aar +0 -0
  172. package/platforms/android/canvas_polyfill.aar +0 -0
  173. package/url-search.js +0 -1
  174. package/url-search.js.map +1 -1
  175. package/utils.d.ts +1 -0
  176. package/utils.js +339 -0
  177. package/utils.js.map +1 -0
  178. package/window.d.ts +4 -4
  179. package/window.js +67 -14
  180. package/window.js.map +1 -1
@@ -1,11 +1,7 @@
1
- import { Document } from './Document';
2
- export declare class XMLDocument extends Document {
3
- _instance: any;
4
- static fromParser(instance: any): XMLDocument;
5
- getElementsByTagName(tagname: any): any;
6
- getElementById(id: any): any;
7
- get documentElement(): any;
8
- set documentElement(value: any);
9
- getAttribute(key: any): any;
10
- setAttribute(key: any, value: any): void;
1
+ import { Document as Doc } from './Document';
2
+ export declare class XMLDocument extends Doc {
3
+ constructor();
4
+ get documentElement(): never;
5
+ private __instance;
6
+ static fromParser(instance: any): any;
11
7
  }
@@ -1,36 +1,36 @@
1
- import { Document } from './Document';
1
+ import { Document as Doc } from './Document';
2
2
  import querySelector from 'query-selector';
3
- export class XMLDocument extends Document {
3
+ import { SVGSVGElement } from './svg/SVGSVGElement';
4
+ export class XMLDocument extends Doc {
5
+ constructor() {
6
+ super();
7
+ }
8
+ get documentElement() {
9
+ if (this._documentElement) {
10
+ return this._documentElement;
11
+ }
12
+ return this.__instance?.documentElement;
13
+ }
4
14
  static fromParser(instance) {
5
15
  if (instance) {
6
16
  const documentPrototype = Object.getPrototypeOf(instance);
7
- documentPrototype.querySelectorAll = function querySelectorAll(selector) {
17
+ documentPrototype.querySelectorAll = function (selector) {
8
18
  return querySelector(selector, this);
9
19
  };
10
20
  const doc = new XMLDocument();
11
- doc._instance = instance;
21
+ doc.body = null;
22
+ doc._documentElement = null;
23
+ doc.head = null;
24
+ doc.__instance = instance;
25
+ const documentElement = instance?.documentElement;
26
+ if (documentElement?.nodeName === 'svg' && documentElement?.namespaceURI === 'http://www.w3.org/2000/svg') {
27
+ const svg = new SVGSVGElement();
28
+ svg.nativeElement.__domElement = instance.documentElement;
29
+ doc._documentElement = svg;
30
+ }
12
31
  return doc;
13
32
  }
14
33
  return null;
15
34
  }
16
- getElementsByTagName(tagname) {
17
- return this._instance.getElementsByTagName(tagname);
18
- }
19
- getElementById(id) {
20
- return this._instance.getElementById(id);
21
- }
22
- //@ts-ignore
23
- get documentElement() {
24
- return this._instance.documentElement;
25
- }
26
- //@ts-ignore
27
- set documentElement(value) { }
28
- getAttribute(key) {
29
- return this._instance?.getAttribute?.(key) ?? null;
30
- }
31
- setAttribute(key, value) {
32
- this._instance?.setAttribute?.(key, value);
33
- console.log(this.className, 'setAttribute', key, value);
34
- }
35
35
  }
36
36
  //# sourceMappingURL=XMLDocument.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"XMLDocument.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/XMLDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAE3C,MAAM,OAAO,WAAY,SAAQ,QAAQ;IAExC,MAAM,CAAC,UAAU,CAAC,QAAQ;QACzB,IAAI,QAAQ,EAAE;YACb,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAE1D,iBAAiB,CAAC,gBAAgB,GAAG,SAAS,gBAAgB,CAAC,QAAQ;gBACtE,OAAO,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC;YAEF,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC;YACzB,OAAO,GAAG,CAAC;SACX;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,oBAAoB,CAAC,OAAO;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,cAAc,CAAC,EAAE;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,YAAY;IACZ,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;IACvC,CAAC;IAED,YAAY;IACZ,IAAI,eAAe,CAAC,KAAK,IAAG,CAAC;IAG7B,YAAY,CAAC,GAAG;QACf,OAAO,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACpD,CAAC;IAED,YAAY,CAAC,GAAG,EAAE,KAAK;QACtB,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACzD,CAAC;CACD"}
1
+ {"version":3,"file":"XMLDocument.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/XMLDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,OAAO,WAAY,SAAQ,GAAG;IACnC;QACC,KAAK,EAAE,CAAC;IACT,CAAC;IAED,IAAI,eAAe;QAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAC1B,OAAO,IAAI,CAAC,gBAAyB,CAAC;SACtC;QACD,OAAO,IAAI,CAAC,UAAU,EAAE,eAAwB,CAAC;IAClD,CAAC;IAID,MAAM,CAAC,UAAU,CAAC,QAAQ;QACzB,IAAI,QAAQ,EAAE;YACb,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC1D,iBAAiB,CAAC,gBAAgB,GAAG,UAAU,QAAgB;gBAC9D,OAAO,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC;YAEF,MAAM,GAAG,GAAG,IAAI,WAAW,EAAS,CAAC;YAErC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAChB,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC5B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;YAEhB,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC1B,MAAM,eAAe,GAAG,QAAQ,EAAE,eAAe,CAAC;YAElD,IAAI,eAAe,EAAE,QAAQ,KAAK,KAAK,IAAI,eAAe,EAAE,YAAY,KAAK,4BAA4B,EAAE;gBAC1G,MAAM,GAAG,GAAG,IAAI,aAAa,EAAE,CAAC;gBAChC,GAAG,CAAC,aAAa,CAAC,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC;gBACpD,GAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;aAClC;YACD,OAAO,GAAG,CAAC;SACX;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
@@ -0,0 +1,4 @@
1
+ export declare class SVGAnimatedEnumeration {
2
+ baseVal: number;
3
+ animVal: number;
4
+ }
@@ -0,0 +1,7 @@
1
+ export class SVGAnimatedEnumeration {
2
+ constructor() {
3
+ this.baseVal = 2;
4
+ this.animVal = 2;
5
+ }
6
+ }
7
+ //# sourceMappingURL=SVGAnimatedEnumeration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SVGAnimatedEnumeration.js","sourceRoot":"","sources":["../../../../../packages/canvas-polyfill/DOM/svg/SVGAnimatedEnumeration.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,sBAAsB;IAAnC;QACC,YAAO,GAAG,CAAC,CAAC;QACZ,YAAO,GAAG,CAAC,CAAC;IACb,CAAC;CAAA"}
@@ -0,0 +1,42 @@
1
+ export declare class SVGLength {
2
+ _element: any;
3
+ _unitType: number;
4
+ _value: number;
5
+ _valueInSpecifiedUnits: number;
6
+ _key: string;
7
+ constructor(element?: any, key?: string, defaultValue?: string);
8
+ static emptyPercentage(): SVGLength;
9
+ newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void;
10
+ convertToSpecifiedUnits(unitType: number): void;
11
+ set unitType(value: number);
12
+ get unitType(): number;
13
+ set value(value: number);
14
+ get value(): number;
15
+ set valueInSpecifiedUnits(value: number);
16
+ get valueInSpecifiedUnits(): number;
17
+ set valueAsString(value: string);
18
+ get valueAsString(): string;
19
+ static SVG_LENGTHTYPE_UNKNOWN: number;
20
+ static SVG_LENGTHTYPE_NUMBER: number;
21
+ static SVG_LENGTHTYPE_PERCENTAGE: number;
22
+ static SVG_LENGTHTYPE_EMS: number;
23
+ static SVG_LENGTHTYPE_EXS: number;
24
+ static SVG_LENGTHTYPE_PX: number;
25
+ static SVG_LENGTHTYPE_CM: number;
26
+ static SVG_LENGTHTYPE_MM: number;
27
+ static SVG_LENGTHTYPE_IN: number;
28
+ static SVG_LENGTHTYPE_PT: number;
29
+ static SVG_LENGTHTYPE_PC: number;
30
+ }
31
+ export declare class SVGAnimatedLength {
32
+ _baseVal: SVGLength;
33
+ _animVal: SVGLength;
34
+ _element: any;
35
+ _key: string;
36
+ _defaultValue: string;
37
+ constructor(element?: any, key?: string, defaultValue?: string);
38
+ get baseVal(): SVGLength;
39
+ get animVal(): SVGLength;
40
+ static emptyPercentage(element?: any, key?: string): SVGAnimatedLength;
41
+ }
42
+ export declare const SVGAnimatedLengthEmpty: SVGAnimatedLength;
@@ -0,0 +1,360 @@
1
+ import { getPixelsPerInchForCurrentDevice } from '../../utils';
2
+ import { getValueAndUnit } from './SVGUnits';
3
+ const SVG_LENGTHTYPE_UNKNOWN = 0;
4
+ const SVG_LENGTHTYPE_NUMBER = 1;
5
+ const SVG_LENGTHTYPE_PERCENTAGE = 2;
6
+ const SVG_LENGTHTYPE_EMS = 3;
7
+ const SVG_LENGTHTYPE_EXS = 4;
8
+ const SVG_LENGTHTYPE_PX = 5;
9
+ const SVG_LENGTHTYPE_CM = 6;
10
+ const SVG_LENGTHTYPE_MM = 7;
11
+ const SVG_LENGTHTYPE_IN = 8;
12
+ const SVG_LENGTHTYPE_PT = 9;
13
+ const SVG_LENGTHTYPE_PC = 10;
14
+ const INCHES_PER_CENTIMETRE = 0.393700787;
15
+ const INCHES_PER_MILLIMETER = 0.0393701;
16
+ function enumToUnit(value) {
17
+ switch (value) {
18
+ case SVG_LENGTHTYPE_NUMBER:
19
+ return '';
20
+ case SVG_LENGTHTYPE_PERCENTAGE:
21
+ return '%';
22
+ case SVG_LENGTHTYPE_EMS:
23
+ return 'em';
24
+ case SVG_LENGTHTYPE_EXS:
25
+ return 'ex';
26
+ case SVG_LENGTHTYPE_PX:
27
+ return 'px';
28
+ case SVG_LENGTHTYPE_CM:
29
+ return 'cm';
30
+ case SVG_LENGTHTYPE_MM:
31
+ return 'mm';
32
+ case SVG_LENGTHTYPE_IN:
33
+ return 'in';
34
+ case SVG_LENGTHTYPE_PT:
35
+ return 'pt';
36
+ case SVG_LENGTHTYPE_PC:
37
+ return 'pc';
38
+ default:
39
+ return '';
40
+ }
41
+ }
42
+ function unitToEnum(value) {
43
+ switch (value) {
44
+ case '':
45
+ return SVG_LENGTHTYPE_NUMBER;
46
+ case '%':
47
+ return SVG_LENGTHTYPE_PERCENTAGE;
48
+ case 'em':
49
+ return SVG_LENGTHTYPE_EMS;
50
+ case 'ex':
51
+ return SVG_LENGTHTYPE_EXS;
52
+ case 'px':
53
+ return SVG_LENGTHTYPE_PX;
54
+ case 'cm':
55
+ return SVG_LENGTHTYPE_CM;
56
+ case 'mm':
57
+ return SVG_LENGTHTYPE_MM;
58
+ case 'in':
59
+ return SVG_LENGTHTYPE_IN;
60
+ case 'pt':
61
+ return SVG_LENGTHTYPE_PT;
62
+ case 'pc':
63
+ return SVG_LENGTHTYPE_PC;
64
+ default:
65
+ return SVG_LENGTHTYPE_UNKNOWN;
66
+ }
67
+ }
68
+ // @ts-ignore
69
+ export class SVGLength {
70
+ constructor(element, key, defaultValue) {
71
+ this._unitType = SVG_LENGTHTYPE_NUMBER;
72
+ this._value = 0;
73
+ this._valueInSpecifiedUnits = 0;
74
+ this._element = element;
75
+ this._key = key;
76
+ if (defaultValue) {
77
+ this.valueAsString = defaultValue;
78
+ }
79
+ }
80
+ static emptyPercentage() {
81
+ const length = new SVGLength();
82
+ length._unitType = SVG_LENGTHTYPE_PERCENTAGE;
83
+ return length;
84
+ }
85
+ newValueSpecifiedUnits(unitType, valueInSpecifiedUnits) {
86
+ let unit = '';
87
+ let valid = false;
88
+ switch (unitType) {
89
+ case SVG_LENGTHTYPE_NUMBER:
90
+ valid = true;
91
+ break;
92
+ case SVG_LENGTHTYPE_PERCENTAGE:
93
+ valid = true;
94
+ unit = '%';
95
+ break;
96
+ case SVG_LENGTHTYPE_PERCENTAGE:
97
+ valid = true;
98
+ unit = '%';
99
+ break;
100
+ case SVG_LENGTHTYPE_EMS:
101
+ valid = true;
102
+ unit = 'em';
103
+ break;
104
+ case SVG_LENGTHTYPE_EXS:
105
+ valid = true;
106
+ unit = 'ex';
107
+ break;
108
+ case SVG_LENGTHTYPE_PX:
109
+ valid = true;
110
+ unit = 'px';
111
+ break;
112
+ case SVG_LENGTHTYPE_CM:
113
+ valid = true;
114
+ unit = 'cm';
115
+ break;
116
+ case SVG_LENGTHTYPE_MM:
117
+ valid = true;
118
+ unit = 'mm';
119
+ break;
120
+ case SVG_LENGTHTYPE_IN:
121
+ valid = true;
122
+ unit = 'in';
123
+ break;
124
+ case SVG_LENGTHTYPE_PT:
125
+ valid = true;
126
+ unit = 'pt';
127
+ break;
128
+ case SVG_LENGTHTYPE_PC:
129
+ valid = true;
130
+ unit = 'pc';
131
+ break;
132
+ }
133
+ if (valid) {
134
+ this._unitType = unitType;
135
+ this._valueInSpecifiedUnits = valueInSpecifiedUnits;
136
+ this._element?.setAttribute?.(this._key, this.valueAsString);
137
+ }
138
+ }
139
+ convertToSpecifiedUnits(unitType) {
140
+ /*
141
+ VM762:1 Uncaught DOMException: Failed to execute 'convertToSpecifiedUnits' on 'SVGLength': Could not resolve relative length.
142
+ at <anonymous>:1:3 when converting ftom %
143
+ */
144
+ if (unitType === this._unitType) {
145
+ return;
146
+ }
147
+ const value = this._element?.getAttribute?.(this._key);
148
+ const converted = getValueAndUnit(value);
149
+ let valueAsInches;
150
+ switch (this._unitType) {
151
+ case SVG_LENGTHTYPE_NUMBER:
152
+ this._unitType = unitType;
153
+ this._element?.setAttribute?.(this._key, this.valueAsString);
154
+ break;
155
+ case SVG_LENGTHTYPE_PERCENTAGE:
156
+ {
157
+ if (unitType === SVG_LENGTHTYPE_NUMBER) {
158
+ this._unitType = unitType;
159
+ this._value = this._value / 100;
160
+ this._valueInSpecifiedUnits = this._value;
161
+ }
162
+ }
163
+ break;
164
+ case SVG_LENGTHTYPE_EMS:
165
+ case SVG_LENGTHTYPE_EXS:
166
+ break;
167
+ case SVG_LENGTHTYPE_CM:
168
+ case SVG_LENGTHTYPE_MM:
169
+ case SVG_LENGTHTYPE_IN:
170
+ case SVG_LENGTHTYPE_PT:
171
+ case SVG_LENGTHTYPE_PC:
172
+ switch (this._unitType) {
173
+ case SVG_LENGTHTYPE_CM:
174
+ {
175
+ valueAsInches = this._value * INCHES_PER_CENTIMETRE;
176
+ }
177
+ break;
178
+ case SVG_LENGTHTYPE_MM:
179
+ {
180
+ valueAsInches = this._value * INCHES_PER_MILLIMETER;
181
+ }
182
+ break;
183
+ case SVG_LENGTHTYPE_PT:
184
+ {
185
+ valueAsInches = this._value / 72.0;
186
+ }
187
+ break;
188
+ case SVG_LENGTHTYPE_PC:
189
+ {
190
+ valueAsInches = (this._value * 12.0) / 72.0;
191
+ }
192
+ break;
193
+ case SVG_LENGTHTYPE_IN:
194
+ {
195
+ valueAsInches = this._value;
196
+ }
197
+ break;
198
+ }
199
+ switch (unitType) {
200
+ case SVG_LENGTHTYPE_CM:
201
+ {
202
+ this._value = valueAsInches / INCHES_PER_CENTIMETRE;
203
+ this._unitType = unitType;
204
+ this._element?.setAttribute?.(this._key, this.valueAsString);
205
+ }
206
+ break;
207
+ case SVG_LENGTHTYPE_MM:
208
+ {
209
+ this._value = valueAsInches / INCHES_PER_MILLIMETER;
210
+ this._unitType = unitType;
211
+ this._element?.setAttribute?.(this._key, this.valueAsString);
212
+ }
213
+ break;
214
+ case SVG_LENGTHTYPE_PT:
215
+ {
216
+ this._value = valueAsInches * 72.0;
217
+ this._unitType = unitType;
218
+ this._element?.setAttribute?.(this._key, this.valueAsString);
219
+ }
220
+ break;
221
+ case SVG_LENGTHTYPE_PC:
222
+ {
223
+ this._value = (valueAsInches / 12.0) * 72.0;
224
+ this._unitType = unitType;
225
+ this._element?.setAttribute?.(this._key, this.valueAsString);
226
+ }
227
+ break;
228
+ case SVG_LENGTHTYPE_PX:
229
+ {
230
+ this._value = valueAsInches * getPixelsPerInchForCurrentDevice();
231
+ this._unitType = unitType;
232
+ this._element?.setAttribute?.(this._key, this.valueAsString);
233
+ }
234
+ break;
235
+ default:
236
+ break;
237
+ }
238
+ break;
239
+ case SVG_LENGTHTYPE_PX:
240
+ switch (unitType) {
241
+ case SVG_LENGTHTYPE_NUMBER:
242
+ this._unitType = unitType;
243
+ this._element?.setAttribute?.(this._key, this.valueAsString);
244
+ break;
245
+ }
246
+ if (converted.unit === '') {
247
+ // this._valueAsString = `${converted.value}${enumToUnit(unitType)}`;
248
+ //this._element.setAttribute?.(this._key, this._valueAsString);
249
+ }
250
+ else {
251
+ //this._valueAsString = `${this._value}${enumToUnit(unitType)}`;
252
+ }
253
+ //this._unitType = unitType;
254
+ break;
255
+ }
256
+ // console.log('convertToSpecifiedUnits', this._element.nodeName, this.valueAsString, this._key);
257
+ }
258
+ set unitType(value) { }
259
+ get unitType() {
260
+ const value = this._element.getAttribute(this._key);
261
+ if (value) {
262
+ const ret = getValueAndUnit(value)?.unit;
263
+ return unitToEnum(ret);
264
+ }
265
+ return this._unitType;
266
+ }
267
+ set value(value) {
268
+ //this._value =
269
+ }
270
+ get value() {
271
+ // throw if unit is relative w/o a parent
272
+ const value = this._element.getAttribute(this._key);
273
+ if (value) {
274
+ const ret = Number(getValueAndUnit(value)?.value);
275
+ if (!isNaN(ret)) {
276
+ return ret;
277
+ }
278
+ }
279
+ return this._value;
280
+ }
281
+ set valueInSpecifiedUnits(value) {
282
+ if (typeof value === 'number') {
283
+ this._valueInSpecifiedUnits = value;
284
+ }
285
+ }
286
+ get valueInSpecifiedUnits() {
287
+ const value = this._element.getAttribute(this._key);
288
+ if (value) {
289
+ const ret = Number(getValueAndUnit(value)?.value);
290
+ if (!isNaN(ret)) {
291
+ return ret;
292
+ }
293
+ }
294
+ return this._valueInSpecifiedUnits;
295
+ }
296
+ set valueAsString(value) {
297
+ const valueAndUnit = getValueAndUnit(value);
298
+ const unit = unitToEnum(valueAndUnit.unit);
299
+ if (unit !== SVG_LENGTHTYPE_UNKNOWN) {
300
+ this._unitType = unit;
301
+ this._value = parseFloat(valueAndUnit.value);
302
+ this._valueInSpecifiedUnits = this._value;
303
+ this._element.setAttribute(this._key, value);
304
+ }
305
+ else {
306
+ throw Error('An invalid or illegal string was specified');
307
+ }
308
+ }
309
+ get valueAsString() {
310
+ const value = this._element.getAttribute(this._key);
311
+ if (value) {
312
+ return value;
313
+ }
314
+ return `${this._valueInSpecifiedUnits}${enumToUnit(this._unitType)}`;
315
+ }
316
+ }
317
+ SVGLength.SVG_LENGTHTYPE_UNKNOWN = SVG_LENGTHTYPE_UNKNOWN;
318
+ SVGLength.SVG_LENGTHTYPE_NUMBER = SVG_LENGTHTYPE_NUMBER;
319
+ SVGLength.SVG_LENGTHTYPE_PERCENTAGE = SVG_LENGTHTYPE_PERCENTAGE;
320
+ SVGLength.SVG_LENGTHTYPE_EMS = SVG_LENGTHTYPE_EMS;
321
+ SVGLength.SVG_LENGTHTYPE_EXS = SVG_LENGTHTYPE_EXS;
322
+ SVGLength.SVG_LENGTHTYPE_PX = SVG_LENGTHTYPE_PX;
323
+ SVGLength.SVG_LENGTHTYPE_CM = SVG_LENGTHTYPE_CM;
324
+ SVGLength.SVG_LENGTHTYPE_MM = SVG_LENGTHTYPE_MM;
325
+ SVGLength.SVG_LENGTHTYPE_IN = SVG_LENGTHTYPE_IN;
326
+ SVGLength.SVG_LENGTHTYPE_PT = SVG_LENGTHTYPE_PT;
327
+ SVGLength.SVG_LENGTHTYPE_PC = SVG_LENGTHTYPE_PC;
328
+ // @ts-ignore
329
+ export class SVGAnimatedLength {
330
+ constructor(element, key, defaultValue = '0') {
331
+ this._element = element;
332
+ this._key = key;
333
+ this._defaultValue = defaultValue ?? '0';
334
+ }
335
+ get baseVal() {
336
+ if (this._baseVal === undefined) {
337
+ this._baseVal = new SVGLength(this._element, this._key);
338
+ const value = this._element?.getAttribute?.(this._key);
339
+ this._baseVal.valueAsString = typeof value === 'string' && value.length ? value : this._defaultValue;
340
+ }
341
+ return this._baseVal;
342
+ }
343
+ get animVal() {
344
+ if (this._animVal === undefined) {
345
+ this._animVal = new SVGLength(this._element, this._key);
346
+ const value = this._element?.getAttribute?.(this._key);
347
+ this._baseVal.valueAsString = typeof value === 'string' && value.length ? value : this._defaultValue;
348
+ }
349
+ return this._animVal;
350
+ }
351
+ static emptyPercentage(element, key) {
352
+ const length = new SVGAnimatedLength(element, key);
353
+ length._baseVal._unitType = SVG_LENGTHTYPE_PERCENTAGE;
354
+ length._animVal._unitType = SVG_LENGTHTYPE_PERCENTAGE;
355
+ return length;
356
+ }
357
+ }
358
+ export const SVGAnimatedLengthEmpty = new SVGAnimatedLength();
359
+ Object.freeze(SVGAnimatedLengthEmpty);
360
+ //# sourceMappingURL=SVGAnimatedLength.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SVGAnimatedLength.js","sourceRoot":"","sources":["../../../../../packages/canvas-polyfill/DOM/svg/SVGAnimatedLength.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export declare class SVGAnimatedNumber {
2
+ _baseVal: number;
3
+ _animVal: number;
4
+ _element: any;
5
+ _key: string;
6
+ constructor(element?: any, key?: any);
7
+ get baseVal(): number;
8
+ get animVal(): number;
9
+ }
@@ -0,0 +1,49 @@
1
+ import { getValueAndUnit } from './SVGUnits';
2
+ export class SVGAnimatedNumber {
3
+ constructor(element, key) {
4
+ this._baseVal = 0;
5
+ this._animVal = 0;
6
+ this._element = element;
7
+ this._key = key;
8
+ }
9
+ get baseVal() {
10
+ const value = this._element?.getAttribute?.(this._key);
11
+ if (typeof value === 'string') {
12
+ const ret = getValueAndUnit(value);
13
+ if (ret.unit === '%') {
14
+ const retValue = Number(ret.value);
15
+ if (!isNaN(retValue)) {
16
+ return retValue / 100;
17
+ }
18
+ }
19
+ else {
20
+ const retValue = Number(ret.value);
21
+ if (!isNaN(retValue)) {
22
+ return retValue;
23
+ }
24
+ }
25
+ }
26
+ return this._baseVal;
27
+ }
28
+ get animVal() {
29
+ // todo
30
+ const value = this._element?.getAttribute?.(this._key);
31
+ if (typeof value === 'string') {
32
+ const ret = getValueAndUnit(value);
33
+ if (ret.unit === '%') {
34
+ const retValue = Number(ret.value);
35
+ if (!isNaN(retValue)) {
36
+ return retValue / 100;
37
+ }
38
+ }
39
+ else {
40
+ const retValue = Number(ret.value);
41
+ if (!isNaN(retValue)) {
42
+ return retValue;
43
+ }
44
+ }
45
+ }
46
+ return this._animVal;
47
+ }
48
+ }
49
+ //# sourceMappingURL=SVGAnimatedNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SVGAnimatedNumber.js","sourceRoot":"","sources":["../../../../../packages/canvas-polyfill/DOM/svg/SVGAnimatedNumber.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,OAAO,iBAAiB;IAK7B,YAAY,OAAQ,EAAE,GAAI;QACzB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,IAAI,OAAO;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC9B,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;oBACrB,OAAO,QAAQ,GAAG,GAAG,CAAC;iBACtB;aACD;iBAAM;gBACN,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;oBACrB,OAAO,QAAQ,CAAC;iBAChB;aACD;SACD;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,IAAI,OAAO;QACV,OAAO;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC9B,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;gBACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;oBACrB,OAAO,QAAQ,GAAG,GAAG,CAAC;iBACtB;aACD;iBAAM;gBACN,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;oBACrB,OAAO,QAAQ,CAAC;iBAChB;aACD;SACD;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;CACD"}
@@ -0,0 +1,34 @@
1
+ export declare class SVGPreserveAspectRatio {
2
+ _element: any;
3
+ _key: string;
4
+ _align: number;
5
+ _meetOrSlice: number;
6
+ constructor(element?: any, key?: string);
7
+ get align(): number;
8
+ set align(value: number);
9
+ get meetOrSlice(): number;
10
+ set meetOrSlice(value: number);
11
+ static SVG_MEETORSLICE_UNKNOWN: number;
12
+ static SVG_MEETORSLICE_MEET: number;
13
+ static SVG_MEETORSLICE_SLICE: number;
14
+ static SVG_PRESERVEASPECTRATIO_UNKNOWN: number;
15
+ static SVG_PRESERVEASPECTRATIO_NONE: number;
16
+ static SVG_PRESERVEASPECTRATIO_XMINYMIN: number;
17
+ static SVG_PRESERVEASPECTRATIO_XMIDYMIN: number;
18
+ static SVG_PRESERVEASPECTRATIO_XMAXYMIN: number;
19
+ static SVG_PRESERVEASPECTRATIO_XMINYMID: number;
20
+ static SVG_PRESERVEASPECTRATIO_XMIDYMID: number;
21
+ static SVG_PRESERVEASPECTRATIO_XMAXYMID: number;
22
+ static SVG_PRESERVEASPECTRATIO_XMINYMAX: number;
23
+ static SVG_PRESERVEASPECTRATIO_XMIDYMAX: number;
24
+ static SVG_PRESERVEASPECTRATIO_XMAXYMAX: number;
25
+ }
26
+ export declare class SVGAnimatedPreserveAspectRatio {
27
+ _element: any;
28
+ _key: string;
29
+ _baseVal: SVGPreserveAspectRatio;
30
+ _animVal: SVGPreserveAspectRatio;
31
+ constructor(element?: any, key?: string, defaultValue?: string);
32
+ get baseVal(): SVGPreserveAspectRatio;
33
+ get animVal(): SVGPreserveAspectRatio;
34
+ }