@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
@@ -0,0 +1,62 @@
1
+ import { Element } from './Element';
2
+ import setValue from 'set-value';
3
+ export class Style {
4
+ constructor() {
5
+ const values = new Map();
6
+ this._values = values;
7
+ this._proxy = new Proxy(this, {
8
+ set(target, prop, value) {
9
+ target.setProperty(prop, value);
10
+ return true;
11
+ },
12
+ get(target, prop, receiver) {
13
+ return target.getPropertyValue(prop);
14
+ },
15
+ });
16
+ }
17
+ setProperty(key, val) {
18
+ const nativeElement = this.nativeElement?.deref?.();
19
+ let value = val;
20
+ if (typeof value === 'string' && value.includes('px')) {
21
+ value = value.replace('px', '');
22
+ }
23
+ if (nativeElement !== null) {
24
+ setValue(nativeElement, key, val);
25
+ }
26
+ this._values.set(key, val);
27
+ }
28
+ getPropertyValue(key) {
29
+ const nativeElement = this.nativeElement?.deref?.();
30
+ if (nativeElement !== null) {
31
+ return nativeElement[key];
32
+ }
33
+ return this._values.get(key);
34
+ }
35
+ }
36
+ export class HTMLElement extends Element {
37
+ constructor(tagName = '') {
38
+ super(tagName ?? '');
39
+ this._style = new Style();
40
+ }
41
+ get style() {
42
+ if (this.nativeElement) {
43
+ return this.nativeElement.style;
44
+ }
45
+ return this._style;
46
+ }
47
+ set nativeElement(value) {
48
+ this._nativeElement = value;
49
+ if (value) {
50
+ this._emitter = new WeakRef(value);
51
+ this._style.nativeElement = new WeakRef(value);
52
+ }
53
+ else {
54
+ this._emitter = value;
55
+ this._style.nativeElement = value;
56
+ }
57
+ }
58
+ get nativeElement() {
59
+ return this._nativeElement;
60
+ }
61
+ }
62
+ //# sourceMappingURL=HTMLElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLElement.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/HTMLElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,QAAQ,MAAM,WAAW,CAAC;AAEjC,MAAM,OAAO,KAAK;IAEjB;QACC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;YAC7B,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK;gBACtB,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAChC,OAAO,IAAI,CAAC;YACb,CAAC;YACD,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;gBACzB,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAKD,WAAW,CAAC,GAAoB,EAAE,GAAY;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,IAAI,KAAK,GAAG,GAAG,CAAC;QAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACtD,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SAChC;QACD,IAAI,aAAa,KAAK,IAAI,EAAE;YAC3B,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;SAClC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,GAAoB;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC;QACpD,IAAI,aAAa,KAAK,IAAI,EAAE;YAC3B,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;SAC1B;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACD;AAED,MAAM,OAAO,WAAY,SAAQ,OAAO;IAGvC,YAAY,UAAkB,EAAE;QAC/B,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK;QACR,IAAI,IAAI,CAAC,aAAa,EAAE;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,IAAI,aAAa,CAAC,KAAK;QACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,KAAK,EAAE;YACV,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;SAC/C;aAAM;YACN,IAAI,CAAC,QAAQ,GAAG,KAAc,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,KAAc,CAAC;SAC3C;IACF,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;CACD"}
@@ -1,19 +1,26 @@
1
- import { Element } from './Element';
2
- export declare class HTMLImageElement extends Element {
1
+ import { ImageAsset } from '@nativescript/canvas';
2
+ import { HTMLElement } from './HTMLElement';
3
+ export declare class HTMLImageElement extends HTMLElement {
3
4
  private localUri;
4
5
  private _onload;
6
+ private _onerror;
5
7
  private _complete;
6
8
  private _base64;
7
- _asset: any;
8
- _imageSource: any;
9
+ width: number;
10
+ height: number;
11
+ _asset: ImageAsset;
12
+ _svg: any;
9
13
  __id: any;
10
14
  decoding: string;
11
15
  get src(): any;
12
16
  set src(value: any);
13
17
  get onload(): any;
14
18
  set onload(value: any);
19
+ get onerror(): any;
20
+ set onerror(value: any);
15
21
  get complete(): any;
16
22
  set complete(value: any);
23
+ static _fromSvg(svg: any): HTMLImageElement;
17
24
  constructor(props?: any);
18
25
  _load(): void;
19
26
  }
@@ -1,11 +1,12 @@
1
- import { Element } from './Element';
2
- import { knownFolders } from '@nativescript/core';
1
+ import { knownFolders, Image } from '@nativescript/core';
2
+ // @ts-ignore
3
3
  import { ImageAsset } from '@nativescript/canvas';
4
+ import { HTMLElement } from './HTMLElement';
4
5
  const b64Extensions = {
5
6
  '/': 'jpg',
6
7
  i: 'png',
7
8
  R: 'gif',
8
- U: 'webp',
9
+ // U: 'webp',
9
10
  };
10
11
  function b64WithoutPrefix(b64) {
11
12
  return b64.split(',')[1];
@@ -28,10 +29,16 @@ function getUUID() {
28
29
  }
29
30
  return java.util.UUID.randomUUID().toString();
30
31
  }
31
- export class HTMLImageElement extends Element {
32
+ export class HTMLImageElement extends HTMLElement {
32
33
  constructor(props) {
33
34
  super('img');
35
+ this.width = 0;
36
+ this.height = 0;
34
37
  this.decoding = 'auto';
38
+ this.nativeElement = new Image();
39
+ if (!this.nativeElement.__domElement) {
40
+ this.nativeElement.__domElement = new DOMParser().parseFromString('<img></img>', 'text/html').documentElement;
41
+ }
35
42
  this._asset = new ImageAsset();
36
43
  this.__id = getUUID();
37
44
  this._onload = () => { };
@@ -55,16 +62,37 @@ export class HTMLImageElement extends Element {
55
62
  set onload(value) {
56
63
  this._onload = value;
57
64
  }
65
+ get onerror() {
66
+ return this._onerror;
67
+ }
68
+ set onerror(value) {
69
+ this._onerror = value;
70
+ }
58
71
  get complete() {
59
72
  return this._complete;
60
73
  }
61
74
  set complete(value) {
62
75
  this._complete = value;
63
76
  if (value) {
64
- this.emitter.emit('load', this);
77
+ this.dispatchEvent({ type: 'load', target: this });
65
78
  this.onload();
66
79
  }
67
80
  }
81
+ // we're {N} :D
82
+ static _fromSvg(svg) {
83
+ const img = new HTMLImageElement();
84
+ if (svg) {
85
+ const nativeSvg = svg?._svg;
86
+ if (nativeSvg) {
87
+ img._svg = svg;
88
+ img.width = svg.width;
89
+ img.height = svg.height;
90
+ img.complete = true;
91
+ return img;
92
+ }
93
+ }
94
+ return null;
95
+ }
68
96
  _load() {
69
97
  if (this.src) {
70
98
  if (typeof this.src === 'string' && this.src.startsWith && this.src.startsWith('data:')) {
@@ -84,7 +112,8 @@ export class HTMLImageElement extends Element {
84
112
  if (global.__debug_browser_polyfill_image) {
85
113
  console.log(`nativescript-browser-polyfill: Error:`, error.message);
86
114
  }
87
- this.emitter.emit('error', { target: this, error });
115
+ this.dispatchEvent({ type: 'error', target: this, error });
116
+ this._onerror?.();
88
117
  }
89
118
  else {
90
119
  this.localUri = localUri;
@@ -108,23 +137,26 @@ export class HTMLImageElement extends Element {
108
137
  }
109
138
  const owner = ref.get();
110
139
  if (owner) {
111
- owner.emitter.emit('error', { target: ref.get(), message });
140
+ owner.dispatchEvent({ type: 'error', target: ref.get(), message });
141
+ owner._onerror?.();
112
142
  }
113
143
  },
114
144
  }));
115
145
  }
116
146
  }
117
147
  catch (error) {
148
+ // this.dispatchEvent({type: 'loading', target: this });
118
149
  if (global.__debug_browser_polyfill_image) {
119
150
  console.log(`nativescript-browser-polyfill: Error:`, error.message);
120
151
  }
121
- this.emitter.emit('error', { target: this, error });
152
+ this.dispatchEvent({ type: 'error', target: this, error });
153
+ this._onerror?.();
122
154
  }
123
155
  })();
124
156
  return;
125
157
  }
126
158
  if (typeof this.src === 'string') {
127
- this.emitter.emit('loading', { target: this });
159
+ this.dispatchEvent({ type: 'loading', target: this });
128
160
  let async = this.decoding !== 'sync';
129
161
  if (this.src.startsWith('http')) {
130
162
  if (!async) {
@@ -133,9 +165,11 @@ export class HTMLImageElement extends Element {
133
165
  this.width = this._asset.width;
134
166
  this.height = this._asset.height;
135
167
  this.complete = true;
168
+ this._onload?.();
136
169
  }
137
170
  else {
138
- this.emitter.emit('error', { target: this });
171
+ this.dispatchEvent({ type: 'error', target: this });
172
+ this._onerror?.();
139
173
  }
140
174
  }
141
175
  else {
@@ -145,39 +179,47 @@ export class HTMLImageElement extends Element {
145
179
  this.width = this._asset.width;
146
180
  this.height = this._asset.height;
147
181
  this.complete = true;
182
+ this._onload?.();
148
183
  })
149
184
  .catch((e) => {
150
- this.emitter.emit('error', { target: this });
185
+ this.dispatchEvent({ type: 'error', target: this, e });
186
+ this._onerror?.();
151
187
  });
152
188
  }
153
189
  }
154
190
  else {
155
- if (!this.width || !this.height) {
156
- this.complete = false;
157
- if (!async) {
158
- const loaded = this._asset.fromFileSync(this.src);
159
- if (loaded) {
160
- this.width = this._asset.width;
161
- this.height = this._asset.height;
162
- this.complete = true;
163
- }
164
- else {
165
- this.emitter.emit('error', { target: this });
166
- }
191
+ this.complete = false;
192
+ let src = this.src;
193
+ if (src.startsWith('~')) {
194
+ src = knownFolders.currentApp().path + src.replace('~', '');
195
+ }
196
+ if (!async) {
197
+ const loaded = this._asset.fromFileSync(src);
198
+ if (loaded) {
199
+ this.width = this._asset.width;
200
+ this.height = this._asset.height;
201
+ this.complete = true;
202
+ this._onload?.();
167
203
  }
168
204
  else {
169
- this._asset
170
- .fromFile(this.src)
171
- .then((done) => {
172
- this.width = this._asset.width;
173
- this.height = this._asset.height;
174
- this.complete = true;
175
- })
176
- .catch((e) => {
177
- this.emitter.emit('error', { target: this });
178
- });
205
+ this.dispatchEvent({ type: 'error', target: this });
206
+ this._onerror?.();
179
207
  }
180
208
  }
209
+ else {
210
+ this._asset
211
+ .fromFile(src)
212
+ .then((done) => {
213
+ this.width = this._asset.width;
214
+ this.height = this._asset.height;
215
+ this.complete = true;
216
+ this._onload?.();
217
+ })
218
+ .catch((e) => {
219
+ this.dispatchEvent({ type: 'error', target: this, e });
220
+ this._onerror?.();
221
+ });
222
+ }
181
223
  }
182
224
  }
183
225
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLImageElement.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/HTMLImageElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTMLImageElement.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/HTMLImageElement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { HTMLElement } from './HTMLElement';
2
+ export declare class HTMLUnknownElement extends HTMLElement {
3
+ constructor(tagName: string);
4
+ }
@@ -0,0 +1,7 @@
1
+ import { HTMLElement } from './HTMLElement';
2
+ export class HTMLUnknownElement extends HTMLElement {
3
+ constructor(tagName) {
4
+ super(tagName);
5
+ }
6
+ }
7
+ //# sourceMappingURL=HTMLUnknownElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLUnknownElement.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/HTMLUnknownElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IAClD,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;IAChB,CAAC;CACD"}
@@ -1,9 +1,8 @@
1
- import { Element } from './Element';
2
- export declare class HTMLVideoElement extends Element {
1
+ import { HTMLElement } from './HTMLElement';
2
+ export declare class HTMLVideoElement extends HTMLElement {
3
3
  _video: any;
4
4
  constructor();
5
- addEventListener(type: string, listener: Function, useCapture: boolean | any): void;
6
- removeEventListener(type: string, listener: Function, useCapture: boolean | any): void;
5
+ canPlayType(type: any): '' | 'probably' | 'maybe';
7
6
  requestVideoFrameCallback(callback: Function): void;
8
7
  get autoplay(): boolean;
9
8
  set autoplay(value: boolean);
@@ -1,6 +1,6 @@
1
- import { Element } from './Element';
1
+ import { HTMLElement } from './HTMLElement';
2
2
  let Video;
3
- export class HTMLVideoElement extends Element {
3
+ export class HTMLVideoElement extends HTMLElement {
4
4
  constructor() {
5
5
  super('video');
6
6
  if (!Video) {
@@ -13,13 +13,21 @@ export class HTMLVideoElement extends Element {
13
13
  }
14
14
  if (Video) {
15
15
  this._video = Video.createCustomView();
16
+ this.nativeElement = this._video;
17
+ if (!this.nativeElement.__domElement) {
18
+ this.nativeElement.__domElement = new DOMParser().parseFromString('<video></video>', 'text/html').documentElement;
19
+ }
16
20
  }
17
21
  }
18
- addEventListener(type, listener, useCapture) {
19
- this._video?.addEventListener(type, listener, useCapture);
20
- }
21
- removeEventListener(type, listener, useCapture) {
22
- this._video?.removeEventListener(type, listener, useCapture);
22
+ canPlayType(type) {
23
+ // "video/webm"
24
+ switch (type) {
25
+ case 'video/mp4':
26
+ case 'video/ogg':
27
+ return 'probably';
28
+ default:
29
+ return '';
30
+ }
23
31
  }
24
32
  requestVideoFrameCallback(callback) {
25
33
  this._video?.requestVideoFrameCallback(callback);
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLVideoElement.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/HTMLVideoElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTMLVideoElement.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/HTMLVideoElement.ts"],"names":[],"mappings":"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"}
package/DOM/Node.d.ts CHANGED
@@ -1,34 +1,13 @@
1
- export declare class Node {
2
- emitter: any;
3
- style: any;
1
+ import { EventTarget } from './EventTarget';
2
+ export declare class Node extends EventTarget {
4
3
  className: any;
5
- nodeName: string;
6
- _canvas: any;
7
- __internalElement: any;
8
- _styleMap: Map<any, any>;
9
- _id: any;
10
- set id(value: any);
11
- get id(): any;
12
- constructor(nodeName: any);
4
+ readonly nodeName: string;
5
+ _ownerDocument: Document;
13
6
  get ownerDocument(): Document;
14
- _styleToString(): string;
15
- _checkEmitter(): void;
16
- addEventListener(eventName: any, listener: any, thisArg: any): void;
17
- removeEventListener(eventName: any, listener: any, thisArg: any): void;
7
+ constructor(nodeName: string);
8
+ append(view: any): void;
18
9
  appendChild(view: any): void;
19
10
  insertBefore(view: any): void;
20
11
  removeChild(view: any): void;
21
- setAttributeNS(): void;
22
- querySelectorAll(selector: any): any;
23
- querySelector(selector: any): any;
24
- getBoundingClientRect(): {
25
- left: number;
26
- top: number;
27
- right: any;
28
- bottom: any;
29
- x: number;
30
- y: number;
31
- width: any;
32
- height: any;
33
- };
12
+ compareDocumentPosition(otherNode: any): 1 | 8;
34
13
  }
package/DOM/Node.js CHANGED
@@ -1,138 +1,34 @@
1
- import { fromObject, Observable } from '@nativescript/core';
2
- Observable.prototype.addListener = function (eventNames, callback, thisArg) {
3
- this.on(eventNames, callback, thisArg);
4
- };
5
- Observable.prototype.removeListener = function (eventNames, callback, thisArg) {
6
- this.off(eventNames, callback, thisArg);
7
- };
8
- Observable.prototype.emit = function (eventNames, thisArg) {
9
- this.notify({
10
- eventName: eventNames,
11
- object: null,
12
- });
13
- };
14
- export class Node {
1
+ import { EventTarget } from './EventTarget';
2
+ const DOCUMENT_POSITION_DISCONNECTED = 1;
3
+ const DOCUMENT_POSITION_CONTAINS = 8;
4
+ export class Node extends EventTarget {
15
5
  constructor(nodeName) {
16
- this._styleMap = new Map();
17
- this.emitter = fromObject({});
18
- this.addEventListener = this.addEventListener.bind(this);
19
- this.removeEventListener = this.removeEventListener.bind(this);
20
- this._checkEmitter = this._checkEmitter.bind(this);
21
- this.style = {
22
- setProperty: (key, val) => {
23
- // todo check key + val
24
- this._styleMap.set(key, val);
25
- if (this.__internalElement) {
26
- this.__internalElement._dom.documentElement.setAttribute('style', this._styleToString());
27
- }
28
- },
29
- getPropertyValue: (key) => {
30
- return this._styleMap.get(key);
31
- },
32
- };
6
+ super();
33
7
  this.className = {
34
8
  baseVal: '',
35
9
  };
36
10
  this.nodeName = nodeName;
37
11
  }
38
- set id(value) {
39
- this._id = value;
40
- if (this.__internalElement) {
41
- this.__internalElement._dom.documentElement.setAttribute('id', value);
42
- }
43
- }
44
- get id() {
45
- return this._id;
46
- }
47
12
  get ownerDocument() {
48
- return window.document;
49
- }
50
- _styleToString() {
51
- let style = '';
52
- this._styleMap.forEach((val, key) => {
53
- style = `${style}${key}:${val};`;
54
- });
55
- return style;
13
+ return this._ownerDocument;
56
14
  }
57
- _checkEmitter() {
58
- if (!this.emitter || !(this.emitter.on || this.emitter.addEventListener || this.emitter.addListener)) {
59
- this.emitter = fromObject({});
60
- }
61
- }
62
- addEventListener(eventName, listener, thisArg) {
63
- this._checkEmitter();
64
- thisArg = thisArg || this;
65
- if (this.emitter.on) {
66
- this.emitter.on(eventName, listener, thisArg);
67
- }
68
- else if (this.emitter.addEventListener) {
69
- this.emitter.addEventListener(eventName, listener, thisArg);
70
- }
71
- else if (this.emitter.addListener) {
72
- this.emitter.addListener(eventName, listener, thisArg);
73
- }
74
- }
75
- removeEventListener(eventName, listener, thisArg) {
76
- this._checkEmitter();
77
- thisArg = thisArg || this;
78
- if (this.emitter.off) {
79
- this.emitter.off(eventName, listener, thisArg);
80
- }
81
- else if (this.emitter.removeEventListener) {
82
- this.emitter.removeEventListener(eventName, listener, thisArg);
83
- }
84
- else if (this.emitter.removeListener) {
85
- this.emitter.removeListener(eventName, listener, thisArg);
86
- }
15
+ append(view) {
87
16
  }
88
17
  appendChild(view) {
89
- // console.log('appendChild', view);
90
- }
91
- insertBefore(view) {
92
- // console.log('insertBefore', view);
93
- }
94
- removeChild(view) {
95
- // console.log('removeChild', view);
96
- }
97
- setAttributeNS() { }
98
- querySelectorAll(selector) {
99
- return this._instance?.querySelectorAll?.(selector) ?? [];
100
- }
101
- querySelector(selector) {
102
- const ret = this._instance?.querySelectorAll?.(selector);
103
- let element = ret?.[0] ?? null;
104
- if (ret === undefined) {
105
- const items = this._instance.getElementsByTagName(selector);
106
- element = items[0];
18
+ if (view instanceof Document) {
19
+ return;
107
20
  }
108
- if (element) {
109
- return new Element(element);
21
+ if (view instanceof Element) {
110
22
  }
111
- return null;
112
23
  }
113
- getBoundingClientRect() {
114
- if (this._canvas) {
115
- return {
116
- left: 0,
117
- top: 0,
118
- right: this._canvas.innerWidth,
119
- bottom: this._canvas.innerHeight,
120
- x: 0,
121
- y: 0,
122
- width: this._canvas.innerWidth,
123
- height: this._canvas.innerHeight,
124
- };
24
+ insertBefore(view) { }
25
+ removeChild(view) { }
26
+ compareDocumentPosition(otherNode) {
27
+ // const element = (<any>this)._xmlDom?.documentElement ?? (<any>this)._xmlDom;
28
+ if (this.nodeName === '#document') {
29
+ return DOCUMENT_POSITION_CONTAINS;
125
30
  }
126
- return {
127
- left: 0,
128
- top: 0,
129
- right: window.innerWidth,
130
- bottom: window.innerHeight,
131
- x: 0,
132
- y: 0,
133
- width: window.innerWidth,
134
- height: window.innerHeight,
135
- };
31
+ return DOCUMENT_POSITION_DISCONNECTED;
136
32
  }
137
33
  }
138
34
  //# sourceMappingURL=Node.js.map
package/DOM/Node.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/Node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/Node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,8BAA8B,GAAG,CAAC,CAAC;AACzC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAErC,MAAM,OAAO,IAAK,SAAQ,WAAW;IAUpC,YAAY,QAAgB;QAC3B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG;YAChB,OAAO,EAAE,EAAE;SACX,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAXD,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAWD,MAAM,CAAC,IAAI;IAEX,CAAC;IAED,WAAW,CAAC,IAAI;QACf,IAAI,IAAI,YAAY,QAAQ,EAAE;YAC7B,OAAO;SACP;QACD,IAAG,IAAI,YAAY,OAAO,EAAC;SAE1B;IACF,CAAC;IAED,YAAY,CAAC,IAAI,IAAG,CAAC;IAErB,WAAW,CAAC,IAAI,IAAG,CAAC;IAEpB,uBAAuB,CAAC,SAAS;QAChC,+EAA+E;QAC/E,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;YAClC,OAAO,0BAA0B,CAAC;SAClC;QAED,OAAO,8BAA8B,CAAC;IACvC,CAAC;CACD"}
package/DOM/Text.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { CharacterData } from './CharacterData';
2
2
  export declare class Text extends CharacterData {
3
+ __domNode: any;
3
4
  constructor(data: any);
4
5
  }
package/DOM/Text.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/Text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,MAAM,OAAO,IAAK,SAAQ,aAAa;IACrC,YAAY,IAAI;QACd,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/Text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,MAAM,OAAO,IAAK,SAAQ,aAAa;IAEtC,YAAY,IAAI;QACf,KAAK,CAAC,IAAI,CAAC,CAAC;IACb,CAAC;CACD"}