@nativescript/canvas-polyfill 2.0.0-beta.9 → 2.0.0-rc.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.
Files changed (202) 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 +26 -11
  8. package/DOM/Document.js +249 -41
  9. package/DOM/Document.js.map +1 -1
  10. package/DOM/Element.d.ts +58 -21
  11. package/DOM/Element.js +414 -19
  12. package/DOM/Element.js.map +1 -1
  13. package/DOM/EventTarget.d.ts +7 -0
  14. package/DOM/EventTarget.js +54 -0
  15. package/DOM/EventTarget.js.map +1 -0
  16. package/DOM/HTMLCanvasElement.d.ts +23 -12
  17. package/DOM/HTMLCanvasElement.js +54 -27
  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 +6 -0
  23. package/DOM/HTMLDivElement.js +27 -0
  24. package/DOM/HTMLDivElement.js.map +1 -0
  25. package/DOM/HTMLElement.d.ts +26 -0
  26. package/DOM/HTMLElement.js +57 -0
  27. package/DOM/HTMLElement.js.map +1 -0
  28. package/DOM/HTMLImageElement.d.ts +18 -5
  29. package/DOM/HTMLImageElement.js +248 -73
  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 +20 -28
  38. package/DOM/Node.js +39 -123
  39. package/DOM/Node.js.map +1 -1
  40. package/DOM/Text.d.ts +2 -0
  41. package/DOM/Text.js +2 -0
  42. package/DOM/Text.js.map +1 -1
  43. package/DOM/XMLDocument.d.ts +6 -10
  44. package/DOM/XMLDocument.js +23 -23
  45. package/DOM/XMLDocument.js.map +1 -1
  46. package/DOM/svg/SVGAnimatedEnumeration.d.ts +4 -0
  47. package/DOM/svg/SVGAnimatedEnumeration.js +7 -0
  48. package/DOM/svg/SVGAnimatedEnumeration.js.map +1 -0
  49. package/DOM/svg/SVGAnimatedLength.d.ts +42 -0
  50. package/DOM/svg/SVGAnimatedLength.js +360 -0
  51. package/DOM/svg/SVGAnimatedLength.js.map +1 -0
  52. package/DOM/svg/SVGAnimatedNumber.d.ts +9 -0
  53. package/DOM/svg/SVGAnimatedNumber.js +49 -0
  54. package/DOM/svg/SVGAnimatedNumber.js.map +1 -0
  55. package/DOM/svg/SVGAnimatedPreserveAspectRatio.d.ts +34 -0
  56. package/DOM/svg/SVGAnimatedPreserveAspectRatio.js +69 -0
  57. package/DOM/svg/SVGAnimatedPreserveAspectRatio.js.map +1 -0
  58. package/DOM/svg/SVGAnimatedRect.d.ts +10 -0
  59. package/DOM/svg/SVGAnimatedRect.js +39 -0
  60. package/DOM/svg/SVGAnimatedRect.js.map +1 -0
  61. package/DOM/svg/SVGAnimatedString.d.ts +9 -0
  62. package/DOM/svg/SVGAnimatedString.js +21 -0
  63. package/DOM/svg/SVGAnimatedString.js.map +1 -0
  64. package/DOM/svg/SVGAnimatedTransformList.d.ts +10 -0
  65. package/DOM/svg/SVGAnimatedTransformList.js +16 -0
  66. package/DOM/svg/SVGAnimatedTransformList.js.map +1 -0
  67. package/DOM/svg/SVGCircleElement.d.ts +9 -11
  68. package/DOM/svg/SVGCircleElement.js +14 -31
  69. package/DOM/svg/SVGCircleElement.js.map +1 -1
  70. package/DOM/svg/SVGElement.d.ts +12 -12
  71. package/DOM/svg/SVGElement.js +58 -43
  72. package/DOM/svg/SVGElement.js.map +1 -1
  73. package/DOM/svg/SVGEllipseElement.d.ts +13 -0
  74. package/DOM/svg/SVGEllipseElement.js +26 -0
  75. package/DOM/svg/SVGEllipseElement.js.map +1 -0
  76. package/DOM/svg/SVGGGElement.d.ts +2 -11
  77. package/DOM/svg/SVGGGElement.js +4 -34
  78. package/DOM/svg/SVGGGElement.js.map +1 -1
  79. package/DOM/svg/SVGGeometryElement.d.ts +3 -0
  80. package/DOM/svg/SVGGeometryElement.js +4 -0
  81. package/DOM/svg/SVGGeometryElement.js.map +1 -0
  82. package/DOM/svg/SVGGradientElement.d.ts +7 -0
  83. package/DOM/svg/SVGGradientElement.js +12 -0
  84. package/DOM/svg/SVGGradientElement.js.map +1 -0
  85. package/DOM/svg/SVGGraphicsElement.d.ts +6 -0
  86. package/DOM/svg/SVGGraphicsElement.js +12 -0
  87. package/DOM/svg/SVGGraphicsElement.js.map +1 -0
  88. package/DOM/svg/SVGImageElement.d.ts +17 -0
  89. package/DOM/svg/SVGImageElement.js +42 -0
  90. package/DOM/svg/SVGImageElement.js.map +1 -0
  91. package/DOM/svg/SVGLineElement.d.ts +13 -0
  92. package/DOM/svg/SVGLineElement.js +26 -0
  93. package/DOM/svg/SVGLineElement.js.map +1 -0
  94. package/DOM/svg/SVGLinearGradientElement.d.ts +13 -0
  95. package/DOM/svg/SVGLinearGradientElement.js +26 -0
  96. package/DOM/svg/SVGLinearGradientElement.js.map +1 -0
  97. package/DOM/svg/SVGMarkerElement.d.ts +17 -0
  98. package/DOM/svg/SVGMarkerElement.js +31 -0
  99. package/DOM/svg/SVGMarkerElement.js.map +1 -0
  100. package/DOM/svg/SVGMaskElement.d.ts +4 -0
  101. package/DOM/svg/SVGMaskElement.js +8 -0
  102. package/DOM/svg/SVGMaskElement.js.map +1 -0
  103. package/DOM/svg/SVGMatrix.d.ts +23 -0
  104. package/DOM/svg/SVGMatrix.js +76 -0
  105. package/DOM/svg/SVGMatrix.js.map +1 -0
  106. package/DOM/svg/SVGPathElement.d.ts +2 -11
  107. package/DOM/svg/SVGPathElement.js +4 -34
  108. package/DOM/svg/SVGPathElement.js.map +1 -1
  109. package/DOM/svg/SVGPolygonElement.d.ts +9 -0
  110. package/DOM/svg/SVGPolygonElement.js +23 -0
  111. package/DOM/svg/SVGPolygonElement.js.map +1 -0
  112. package/DOM/svg/SVGPolylineElement.d.ts +9 -0
  113. package/DOM/svg/SVGPolylineElement.js +23 -0
  114. package/DOM/svg/SVGPolylineElement.js.map +1 -0
  115. package/DOM/svg/SVGRadialGradientElement.d.ts +17 -0
  116. package/DOM/svg/SVGRadialGradientElement.js +34 -0
  117. package/DOM/svg/SVGRadialGradientElement.js.map +1 -0
  118. package/DOM/svg/SVGRectElement.d.ts +15 -11
  119. package/DOM/svg/SVGRectElement.js +22 -27
  120. package/DOM/svg/SVGRectElement.js.map +1 -1
  121. package/DOM/svg/SVGSVGElement.d.ts +29 -0
  122. package/DOM/svg/SVGSVGElement.js +76 -0
  123. package/DOM/svg/SVGSVGElement.js.map +1 -0
  124. package/DOM/svg/SVGStopElement.d.ts +7 -0
  125. package/DOM/svg/SVGStopElement.js +14 -0
  126. package/DOM/svg/SVGStopElement.js.map +1 -0
  127. package/DOM/svg/SVGTextContentElement.d.ts +3 -0
  128. package/DOM/svg/SVGTextContentElement.js +4 -0
  129. package/DOM/svg/SVGTextContentElement.js.map +1 -0
  130. package/DOM/svg/SVGTextElement.d.ts +4 -0
  131. package/DOM/svg/SVGTextElement.js +9 -0
  132. package/DOM/svg/SVGTextElement.js.map +1 -0
  133. package/DOM/svg/SVGTextPositioningElement.d.ts +3 -0
  134. package/DOM/svg/SVGTextPositioningElement.js +4 -0
  135. package/DOM/svg/SVGTextPositioningElement.js.map +1 -0
  136. package/DOM/svg/SVGTransform.d.ts +33 -0
  137. package/DOM/svg/SVGTransform.js +97 -0
  138. package/DOM/svg/SVGTransform.js.map +1 -0
  139. package/DOM/svg/SVGUnits.d.ts +52 -0
  140. package/DOM/svg/SVGUnits.js +154 -0
  141. package/DOM/svg/SVGUnits.js.map +1 -0
  142. package/DOM/svg/SVGUseElement.d.ts +16 -0
  143. package/DOM/svg/SVGUseElement.js +35 -0
  144. package/DOM/svg/SVGUseElement.js.map +1 -0
  145. package/DOM/svg/index.d.ts +25 -2
  146. package/DOM/svg/index.js +25 -2
  147. package/DOM/svg/index.js.map +1 -1
  148. package/MutationObserver.d.ts +0 -1
  149. package/MutationObserver.js.map +1 -1
  150. package/async/file/file.android.d.ts +1 -1
  151. package/async/file/file.android.js +9 -7
  152. package/async/file/file.android.js.map +1 -1
  153. package/async/file/file.ios.d.ts +1 -1
  154. package/async/file/file.ios.js +9 -10
  155. package/async/file/file.ios.js.map +1 -1
  156. package/async/http/http-request-common.d.ts +1 -1
  157. package/async/http/http-request-common.js.map +1 -1
  158. package/async/http/http.android.d.ts +1 -1
  159. package/async/http/http.android.js +58 -55
  160. package/async/http/http.android.js.map +1 -1
  161. package/async/http/http.ios.d.ts +1 -1
  162. package/async/http/http.ios.js +41 -60
  163. package/async/http/http.ios.js.map +1 -1
  164. package/async/xhr/TNSXMLHttpRequest.d.ts +2 -2
  165. package/async/xhr/TNSXMLHttpRequest.js +93 -90
  166. package/async/xhr/TNSXMLHttpRequest.js.map +1 -1
  167. package/index.d.ts +2 -0
  168. package/index.js +22 -16
  169. package/index.js.map +1 -1
  170. package/localStorage.js +0 -2
  171. package/localStorage.js.map +1 -1
  172. package/navigator.d.ts +12 -0
  173. package/navigator.js +19 -0
  174. package/navigator.js.map +1 -0
  175. package/package.json +7 -5
  176. package/performance.js.map +1 -1
  177. package/platforms/android/async-release.aar +0 -0
  178. package/platforms/android/canvas_polyfill.aar +0 -0
  179. package/platforms/android/include.gradle +5 -6
  180. package/process.js +1 -0
  181. package/process.js.map +1 -1
  182. package/resize.js.map +1 -1
  183. package/url-search.js +0 -1
  184. package/url-search.js.map +1 -1
  185. package/urlBlobPatch.d.ts +1 -0
  186. package/urlBlobPatch.js +123 -0
  187. package/urlBlobPatch.js.map +1 -0
  188. package/utils.d.ts +1 -0
  189. package/utils.js +339 -0
  190. package/utils.js.map +1 -0
  191. package/window.d.ts +4 -4
  192. package/window.js +101 -18
  193. package/window.js.map +1 -1
  194. package/workerPatch.d.ts +3 -0
  195. package/workerPatch.js +13 -0
  196. package/workerPatch.js.map +1 -0
  197. package/URL.android.d.ts +0 -46
  198. package/URL.android.js +0 -432
  199. package/URL.android.js.map +0 -1
  200. package/URL.ios.d.ts +0 -51
  201. package/URL.ios.js +0 -649
  202. package/URL.ios.js.map +0 -1
package/DOM/Element.js CHANGED
@@ -1,19 +1,219 @@
1
1
  import { Node } from './Node';
2
+ import { eachDescendant, Frame, StackLayout } from '@nativescript/core';
3
+ import setValue from 'set-value';
4
+ import querySelector from 'query-selector';
5
+ import { HTMLCollection } from './HTMLCollection';
6
+ import { Canvas } from '@nativescript/canvas';
7
+ export class DOMRectReadOnly {
8
+ constructor(x, y, width, height, top, right, bottom, left) {
9
+ this.x = x;
10
+ this.y = y;
11
+ this.width = width;
12
+ this.height = height;
13
+ this.left = left ?? x;
14
+ this.top = top ?? y;
15
+ this.right = right ?? x + width;
16
+ this.bottom = bottom ?? y + height;
17
+ }
18
+ }
19
+ export class DOMRect extends DOMRectReadOnly {
20
+ constructor(x, y, width, height, top, right, bottom, left) {
21
+ super(x, y, width, height, top, right, bottom, left);
22
+ }
23
+ }
24
+ export function parseChildren(element, children) {
25
+ if (element) {
26
+ const length = element?.childNodes?.length ?? 0;
27
+ for (let i = 0; i < length; i++) {
28
+ const node = element.childNodes.item(i);
29
+ if (node) {
30
+ switch (node.nodeName) {
31
+ case 'circle':
32
+ {
33
+ const circle = new SVGCircleElement();
34
+ circle.nativeElement.__domElement = node;
35
+ children.push(circle);
36
+ }
37
+ break;
38
+ case 'image': {
39
+ const image = new SVGImageElement();
40
+ image.nativeElement.__domElement = node;
41
+ children.push(image);
42
+ }
43
+ case 'line':
44
+ {
45
+ const line = new SVGLineElement();
46
+ line.nativeElement.__domElement = node;
47
+ children.push(line);
48
+ }
49
+ break;
50
+ case 'polyline':
51
+ {
52
+ const polyline = new SVGPolylineElement();
53
+ polyline.nativeElement.__domElement = node;
54
+ children.push(polyline);
55
+ }
56
+ break;
57
+ case 'polygon':
58
+ {
59
+ const polygon = new SVGPolygonElement();
60
+ polygon.nativeElement.__domElement = node;
61
+ children.push(polygon);
62
+ }
63
+ break;
64
+ case 'g':
65
+ {
66
+ const g = new SVGGElement();
67
+ g.nativeElement.__domElement = node;
68
+ children.push(g);
69
+ }
70
+ break;
71
+ case 'path':
72
+ {
73
+ const path = new SVGPathElement();
74
+ path.nativeElement.__domElement = node;
75
+ children.push(path);
76
+ }
77
+ break;
78
+ case 'rect':
79
+ {
80
+ const rect = new SVGRectElement();
81
+ rect.nativeElement.__domElement = node;
82
+ children.push(rect);
83
+ }
84
+ break;
85
+ case 'stop':
86
+ {
87
+ const stop = new SVGStopElement();
88
+ stop.nativeElement.__domElement = node;
89
+ children.push(stop);
90
+ }
91
+ break;
92
+ case 'use':
93
+ {
94
+ const use = new SVGUseElement();
95
+ use.nativeElement.__domElement = node;
96
+ children.push(use);
97
+ }
98
+ break;
99
+ default:
100
+ // ret.push(node);
101
+ break;
102
+ }
103
+ }
104
+ }
105
+ }
106
+ }
107
+ function getElementsByClassName(v, clsName) {
108
+ var retVal = [];
109
+ if (!v) {
110
+ return retVal;
111
+ }
112
+ if (v.classList.contains(clsName)) {
113
+ retVal.push(v);
114
+ }
115
+ const classNameCallback = function (child) {
116
+ if (child.classList.contains(clsName)) {
117
+ retVal.push(child);
118
+ }
119
+ // Android patch for ListView
120
+ if (child._realizedItems && child._realizedItems.size !== child._childrenCount) {
121
+ for (var key in child._realizedItems) {
122
+ if (child._realizedItems.hasOwnProperty(key)) {
123
+ classNameCallback(child._realizedItems[key]);
124
+ }
125
+ }
126
+ }
127
+ return true;
128
+ };
129
+ eachDescendant(v, classNameCallback);
130
+ // Android patch for ListView
131
+ if (v._realizedItems && v._realizedItems.size !== v._childrenCount) {
132
+ for (var key in v._realizedItems) {
133
+ if (v._realizedItems.hasOwnProperty(key)) {
134
+ classNameCallback(v._realizedItems[key]);
135
+ }
136
+ }
137
+ }
138
+ return retVal;
139
+ }
140
+ function getElementsByTagName(v, tagName) {
141
+ // TagName is case-Insensitive
142
+ var tagNameLC = tagName.toLowerCase();
143
+ var retVal = [], allTags = false;
144
+ if (!v) {
145
+ return retVal;
146
+ }
147
+ if (tagName === '*') {
148
+ allTags = true;
149
+ }
150
+ if ((v.typeName && v.typeName.toLowerCase() === tagNameLC) || allTags) {
151
+ retVal.push(v);
152
+ }
153
+ const tagNameCallback = function (child) {
154
+ if ((child.typeName && child.typeName.toLowerCase() === tagNameLC) || allTags) {
155
+ retVal.push(child);
156
+ }
157
+ // Android patch for ListView
158
+ if (child._realizedItems && child._realizedItems.size !== child._childrenCount) {
159
+ for (var key in child._realizedItems) {
160
+ if (child._realizedItems.hasOwnProperty(key)) {
161
+ tagNameCallback(child._realizedItems[key]);
162
+ }
163
+ }
164
+ }
165
+ return true;
166
+ };
167
+ eachDescendant(v, tagNameCallback);
168
+ // Android patch for ListView
169
+ if (v._realizedItems && v._realizedItems.size !== v._childrenCount) {
170
+ for (var key in v._realizedItems) {
171
+ if (v._realizedItems.hasOwnProperty(key)) {
172
+ tagNameCallback(v._realizedItems[key]);
173
+ }
174
+ }
175
+ }
176
+ return retVal;
177
+ }
2
178
  export class Element extends Node {
3
- constructor(tagName) {
4
- if (typeof tagName === 'object') {
5
- super(tagName.tagName);
6
- this._instance = tagName;
179
+ get namespaceURI() {
180
+ return this._namespaceURI;
181
+ }
182
+ set id(value) {
183
+ this._id = value;
184
+ setValue(this.nativeElement, 'id', value);
185
+ setValue(this.nativeElement?.__domElement, 'id', value);
186
+ }
187
+ get id() {
188
+ return this._id;
189
+ }
190
+ set nativeElement(value) {
191
+ this._nativeElement = value;
192
+ if (value) {
193
+ this._emitter = new WeakRef(value);
7
194
  }
8
195
  else {
9
- super(tagName.toUpperCase());
196
+ this._emitter = value;
10
197
  }
11
- this.doc = {
12
- body: {
13
- innerHTML: '',
14
- },
15
- };
198
+ }
199
+ get nativeElement() {
200
+ return this._nativeElement;
201
+ }
202
+ get _boundingClientRect() {
203
+ if (this._jsBuffer === undefined) {
204
+ this._jsBuffer = new Float32Array(8);
205
+ }
206
+ return this._jsBuffer;
207
+ }
208
+ constructor(tagName) {
209
+ super(tagName.toUpperCase());
16
210
  this._classList = new Set();
211
+ this._attrs = new Map();
212
+ this._attributeOriginalValue = new Map();
213
+ this._id = '';
214
+ this._children = new HTMLCollection();
215
+ this._namespaceURI = null;
216
+ this.nodeType = Node.ELEMENT_NODE;
17
217
  }
18
218
  get classList() {
19
219
  return this._classList;
@@ -21,19 +221,188 @@ export class Element extends Node {
21
221
  get tagName() {
22
222
  return this.nodeName;
23
223
  }
224
+ get children() {
225
+ if (this._children.length) {
226
+ return this._children;
227
+ }
228
+ if (this.ownerDocument?.nodeName === '#document' && this.ownerDocument?.body?.nodeName?.toLowerCase?.() === 'html') {
229
+ this._children.push(document.documentElement);
230
+ this._children.push(document.head);
231
+ this._children.push(document.body);
232
+ }
233
+ const element = this?.__domElement ?? this.nativeElement?.__domElement;
234
+ if (element) {
235
+ parseChildren(element, this._children);
236
+ return this._children;
237
+ }
238
+ return [];
239
+ }
240
+ hasAttribute(key) {
241
+ if (this.nativeElement) {
242
+ return Object.hasOwn(this.nativeElement, key);
243
+ }
244
+ return this._attrs.has(key);
245
+ }
24
246
  getAttribute(key) {
25
- return this._instance?.getAttribute?.(key) ?? null;
247
+ if (this.nativeElement) {
248
+ return this.nativeElement[key] ?? null;
249
+ }
250
+ return this._attrs.get(key) ?? null;
26
251
  }
27
252
  setAttribute(key, value) {
28
- this._instance?.setAttribute?.(key, value);
253
+ if (this.nativeElement) {
254
+ if (!this._attributeOriginalValue.has(key)) {
255
+ this._attributeOriginalValue.set(key, this.nativeElement[key]);
256
+ setValue(this.nativeElement, key, value);
257
+ this.nativeElement?.__domElement?.setAttribute(key, value);
258
+ }
259
+ }
260
+ else {
261
+ if (!this._attributeOriginalValue.has(key)) {
262
+ this._attributeOriginalValue.set(key, this._attrs.get(key));
263
+ setValue(this._attrs, key, value);
264
+ }
265
+ }
29
266
  }
30
- removeAttribute(key, value) {
31
- console.log(this.className, 'removeAttribute', key, value);
267
+ removeAttribute(key) {
268
+ const originalValue = this._attributeOriginalValue.get(key);
269
+ this._attributeOriginalValue.delete(key);
270
+ if (this.nativeElement) {
271
+ setValue(this.nativeElement, key, originalValue);
272
+ this.nativeElement?.__domElement?.removeAttribute(key);
273
+ }
274
+ else {
275
+ setValue(this._attrs, key, originalValue);
276
+ }
32
277
  }
33
278
  setAttributeNS() { }
34
279
  removeAttributeNS() { }
280
+ getElementById(id) {
281
+ if (this.__instance) {
282
+ return this.__instance.getElementById(id);
283
+ }
284
+ const topmost = Frame.topmost();
285
+ if (topmost) {
286
+ let nativeElement;
287
+ if (topmost.currentPage && topmost.currentPage.modal) {
288
+ nativeElement = topmost.getViewById(id);
289
+ }
290
+ else {
291
+ nativeElement = topmost.currentPage.modal.getViewById(id);
292
+ }
293
+ if (nativeElement) {
294
+ if (nativeElement instanceof Canvas) {
295
+ const canvas = new HTMLCanvasElement();
296
+ canvas.nativeElement = nativeElement;
297
+ return canvas;
298
+ }
299
+ else if (nativeElement instanceof StackLayout) {
300
+ const div = new HTMLDivElement();
301
+ div.nativeElement = nativeElement;
302
+ return div;
303
+ }
304
+ const element = new HTMLElement();
305
+ element.nativeElement = nativeElement;
306
+ return element;
307
+ }
308
+ }
309
+ return null;
310
+ }
311
+ getElementsByTagName(tagname) {
312
+ if (this.__instance) {
313
+ return this.__instance.getElementsByTagName(tagname);
314
+ }
315
+ const topmost = Frame.topmost();
316
+ if (topmost) {
317
+ let view;
318
+ if (topmost.currentPage && topmost.currentPage.modal) {
319
+ view = topmost;
320
+ }
321
+ else {
322
+ view = topmost.currentPage.modal;
323
+ }
324
+ const elements = getElementsByTagName(view, tagname);
325
+ return elements;
326
+ }
327
+ return [];
328
+ }
329
+ get __instance() {
330
+ return this.nativeElement?.__domElement?.ownerDocument?.__instance;
331
+ }
332
+ getElementsByClassName(className) {
333
+ if (this.__instance) {
334
+ return this.__instance.getElementsByClassName(className);
335
+ }
336
+ const topmost = Frame.topmost();
337
+ if (topmost) {
338
+ let view;
339
+ if (topmost.currentPage && topmost.currentPage.modal) {
340
+ view = topmost;
341
+ }
342
+ else {
343
+ view = topmost.currentPage.modal;
344
+ }
345
+ const elements = getElementsByClassName(view, className);
346
+ return elements;
347
+ }
348
+ return [];
349
+ }
350
+ querySelector(selector) {
351
+ const context = this._xmlDom?.documentElement ?? this._xmlDom ?? this.__instance ?? this.nativeElement?.__domElement;
352
+ const selection = querySelector(selector, context);
353
+ if (Array.isArray(selection)) {
354
+ const item = selection[0];
355
+ if (item) {
356
+ switch (item.nodeName) {
357
+ case 'linearGradient': {
358
+ const ret = new SVGLinearGradientElement();
359
+ ret.__instance = item;
360
+ return ret;
361
+ }
362
+ case 'svg': {
363
+ const ret = new SVGSVGElement();
364
+ ret.__domElement = item;
365
+ return ret;
366
+ }
367
+ }
368
+ }
369
+ }
370
+ return null;
371
+ }
372
+ querySelectorAll(selector) {
373
+ return querySelector(selector, this);
374
+ }
375
+ getBoundingClientRect() {
376
+ const nativeElement = this['nativeElement'];
377
+ if (this.nodeName === 'CANVAS') {
378
+ return nativeElement.getBoundingClientRect();
379
+ }
380
+ if (nativeElement) {
381
+ if (global.isIOS) {
382
+ NSCanvas.getBoundingClientRect(nativeElement.nativeView, this._boundingClientRect);
383
+ }
384
+ if (globalThis.isAndroid) {
385
+ nativeElement.nativeView.getBoundingClientRect(this._boundingClientRect);
386
+ }
387
+ const rectBuffer = this._boundingClientRect;
388
+ return new DOMRect(rectBuffer[6], rectBuffer[7], rectBuffer[4], rectBuffer[5], rectBuffer[0], rectBuffer[1], rectBuffer[2], rectBuffer[3]);
389
+ }
390
+ return {
391
+ left: 0,
392
+ top: 0,
393
+ right: this.innerWidth,
394
+ bottom: this.innerHeight,
395
+ x: 0,
396
+ y: 0,
397
+ width: this.innerWidth,
398
+ height: this.innerHeight,
399
+ };
400
+ }
35
401
  get attributes() {
36
- return this._instance?.attributes ?? [];
402
+ if (this.nativeElement) {
403
+ return this.nativeElement.__domElement?.attributes;
404
+ }
405
+ return [];
37
406
  }
38
407
  get clientWidth() {
39
408
  return this.innerWidth;
@@ -48,25 +417,51 @@ export class Element extends Node {
48
417
  return this.innerHeight;
49
418
  }
50
419
  get innerWidth() {
51
- return this.width;
420
+ if (this.nativeElement) {
421
+ return this.nativeElement['innerWidth'] ?? this.nativeElement['width'];
422
+ }
423
+ return this['width'];
52
424
  }
53
425
  get innerHeight() {
54
- return this.height;
426
+ if (this.nativeElement) {
427
+ return this.nativeElement['innerHeight'] ?? this.nativeElement['height'];
428
+ }
429
+ return this['height'];
55
430
  }
431
+ /*
432
+
56
433
  get width() {
434
+ if (this.nativeElement) {
435
+ return this.nativeElement['width'] as never;
436
+ }
57
437
  return this._width;
58
438
  }
59
- set width(value) {
439
+
440
+ set width(value: number) {
60
441
  this._width = value;
442
+ if (this.nativeElement) {
443
+ setValue(this.nativeElement, 'width', value);
444
+ }
61
445
  }
446
+
62
447
  get height() {
448
+ if (this.nativeElement) {
449
+ return this.nativeElement['height'] as never;
450
+ }
63
451
  return this._height;
64
452
  }
65
- set height(value) {
453
+
454
+ set height(value: number) {
66
455
  this._height = value;
456
+ if (this.nativeElement) {
457
+ setValue(this.nativeElement, 'height', value);
458
+ }
67
459
  }
460
+ */
68
461
  get ontouchstart() {
69
462
  return {};
70
463
  }
464
+ setPointerCapture(id) { }
465
+ releasePointerCapture(id) { }
71
466
  }
72
467
  //# sourceMappingURL=Element.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Element.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/Element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,OAAO,OAAQ,SAAQ,IAAI;IAQhC,YAAY,OAAO;QAClB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAChC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;SACzB;aAAM;YACN,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;SAC7B;QAED,IAAI,CAAC,GAAG,GAAG;YACV,IAAI,EAAE;gBACL,SAAS,EAAE,EAAE;aACb;SACD,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,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;IAC5C,CAAC;IAED,eAAe,CAAC,GAAG,EAAE,KAAK;QACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,cAAc,KAAI,CAAC;IAEnB,iBAAiB,KAAI,CAAC;IAEtB,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,SAAS,EAAE,UAAU,IAAI,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,YAAY;QACf,OAAO,EAAE,CAAC;IACX,CAAC;CACD"}
1
+ {"version":3,"file":"Element.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/Element.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Observable } from '@nativescript/core';
2
+ export declare class EventTarget {
3
+ _emitter?: WeakRef<Observable>;
4
+ addEventListener(event: string, handler: any, options?: AddEventListenerOptions): void;
5
+ removeEventListener(event: string, handler?: any): void;
6
+ dispatchEvent(event: any): void;
7
+ }
@@ -0,0 +1,54 @@
1
+ export class EventTarget {
2
+ addEventListener(event, handler, options = {}) {
3
+ if (typeof options === 'boolean') {
4
+ options = { capture: options };
5
+ }
6
+ const { capture, once } = options;
7
+ if (capture) {
8
+ // debug("Bubble propagation is not supported");
9
+ }
10
+ if (once) {
11
+ const oldHandler = handler;
12
+ const self = this;
13
+ handler = (...args) => {
14
+ oldHandler.call(null, ...args);
15
+ self.removeEventListener(event, handler);
16
+ };
17
+ }
18
+ let emitter;
19
+ if (global.isAndroid) {
20
+ emitter = this._emitter?.get?.();
21
+ }
22
+ if (global.isIOS) {
23
+ emitter = this._emitter?.deref?.();
24
+ }
25
+ if (emitter !== null && emitter !== undefined) {
26
+ emitter.addEventListener(event, handler, this);
27
+ }
28
+ }
29
+ removeEventListener(event, handler) {
30
+ let emitter;
31
+ if (global.isAndroid) {
32
+ emitter = this._emitter?.get?.();
33
+ }
34
+ if (global.isIOS) {
35
+ emitter = this._emitter?.deref?.();
36
+ }
37
+ if (emitter !== null && emitter !== undefined) {
38
+ emitter.removeEventListener(event, handler);
39
+ }
40
+ }
41
+ dispatchEvent(event) {
42
+ let emitter;
43
+ if (global.isAndroid) {
44
+ emitter = this._emitter?.get?.();
45
+ }
46
+ if (global.isIOS) {
47
+ emitter = this._emitter?.deref?.();
48
+ }
49
+ if (emitter !== null && emitter !== undefined) {
50
+ emitter.notify({ ...event, eventName: event.type, object: emitter });
51
+ }
52
+ }
53
+ }
54
+ //# sourceMappingURL=EventTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventTarget.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/EventTarget.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;IAGvB,gBAAgB,CAAC,KAAa,EAAE,OAAY,EAAE,UAAmC,EAAE;QAClF,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAChC,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAClC,IAAI,OAAO,EAAE,CAAC;YACb,kDAAkD;QACnD,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACV,MAAM,UAAU,GAAG,OAAO,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC;YAClB,OAAO,GAAG,CAAC,GAAG,IAAS,EAAE,EAAE;gBAC1B,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC1C,CAAC,CAAC;QACH,CAAC;QACD,IAAI,OAAmB,CAAC;QAExB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IAED,mBAAmB,CAAC,KAAa,EAAE,OAAa;QAC/C,IAAI,OAAmB,CAAC;QAExB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAED,aAAa,CAAC,KAAK;QAClB,IAAI,OAAmB,CAAC;QAExB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;IACF,CAAC;CACD"}
@@ -1,13 +1,24 @@
1
- import { Element } from './Element';
2
- export declare class HTMLCanvasElement extends Element {
3
- constructor();
4
- set width(value: any);
5
- get width(): any;
6
- set height(value: any);
7
- get height(): any;
8
- toDataURL(type: any, encoderOptions: any): any;
9
- getContext(contextType: any, contextOptions: any): any;
10
- setPointerCapture(id: any): void;
11
- releasePointerCapture(id: any): void;
12
- getBoundingClientRect(): any;
1
+ import { Canvas } from '@nativescript/canvas';
2
+ import { HTMLElement } from './HTMLElement';
3
+ export declare class HTMLCanvasElement extends HTMLElement {
4
+ private _htmlCanvas;
5
+ constructor(canvas?: Canvas);
6
+ static [Symbol.hasInstance](obj: any): any;
7
+ get _canvas(): import("@nativescript/core").View & {
8
+ __domElement?: import("./Element").Element;
9
+ isConnected?: boolean;
10
+ };
11
+ get innerWidth(): never;
12
+ get innerHeight(): never;
13
+ get clientWidth(): never;
14
+ get clientHeight(): never;
15
+ set width(value: never);
16
+ get width(): never;
17
+ set height(value: never);
18
+ get height(): never;
19
+ toDataURL(type: string, encoderOptions?: number): string;
20
+ getContext(contextType: string, contextOptions: any): any;
21
+ setPointerCapture(id: string): void;
22
+ releasePointerCapture(id: string): void;
23
+ getRootNode(): this;
13
24
  }