@nativescript/canvas-polyfill 2.0.0-beta.9 → 2.0.0-webgpu.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 (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,4 +1,7 @@
1
- import { Node } from "./Node";
1
+ import { Node } from './Node';
2
2
  export declare class CharacterData extends Node {
3
- constructor(data: any);
3
+ private _data;
4
+ constructor(data: string);
5
+ get data(): string;
6
+ get length(): number;
4
7
  }
@@ -1,7 +1,14 @@
1
- import { Node } from "./Node";
1
+ import { Node } from './Node';
2
2
  export class CharacterData extends Node {
3
3
  constructor(data) {
4
- super(data);
4
+ super('');
5
+ this._data = data;
6
+ }
7
+ get data() {
8
+ return this._data;
9
+ }
10
+ get length() {
11
+ return this._data.length;
5
12
  }
6
13
  }
7
14
  //# sourceMappingURL=CharacterData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CharacterData.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/CharacterData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,OAAO,aAAc,SAAQ,IAAI;IACtC,YAAY,IAAI;QACf,KAAK,CAAC,IAAI,CAAC,CAAC;IACb,CAAC;CACD"}
1
+ {"version":3,"file":"CharacterData.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/CharacterData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,MAAM,OAAO,aAAc,SAAQ,IAAI;IAEtC,YAAY,IAAY;QACvB,KAAK,CAAC,EAAE,CAAC,CAAC;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC1B,CAAC;CACD"}
@@ -0,0 +1,27 @@
1
+ export declare class DOMPointReadOnly {
2
+ x: number;
3
+ y: number;
4
+ z: number;
5
+ w: number;
6
+ constructor(x?: number, y?: number, z?: number, w?: number);
7
+ static fromPoint(value: DOMPointReadOnly | {
8
+ x?: number;
9
+ y?: number;
10
+ z?: number;
11
+ w?: number;
12
+ }): DOMPointReadOnly;
13
+ toJSON(): {
14
+ x: number;
15
+ y: number;
16
+ z: number;
17
+ w: number;
18
+ };
19
+ }
20
+ export declare class DOMPoint extends DOMPointReadOnly {
21
+ static fromPoint(value: DOMPointReadOnly | DOMPoint | {
22
+ x?: number;
23
+ y?: number;
24
+ z?: number;
25
+ w?: number;
26
+ }): DOMPoint;
27
+ }
@@ -0,0 +1,43 @@
1
+ export class DOMPointReadOnly {
2
+ constructor(x = 0, y = 0, z = 0, w = 1) {
3
+ this.x = 0;
4
+ this.y = 0;
5
+ this.z = 0;
6
+ this.w = 1;
7
+ if (typeof x === 'number') {
8
+ this.x = x;
9
+ }
10
+ if (typeof y === 'number') {
11
+ this.y = y;
12
+ }
13
+ if (typeof z === 'number') {
14
+ this.z = z;
15
+ }
16
+ if (typeof w === 'number') {
17
+ this.w = w;
18
+ }
19
+ }
20
+ static fromPoint(value) {
21
+ if (value instanceof DOMPointReadOnly) {
22
+ return new DOMPointReadOnly(value.x, value.y, value.z, value.y);
23
+ }
24
+ return new DOMPointReadOnly(value?.x ?? 0, value?.y ?? 0, value?.z ?? 0, value?.w ?? 1);
25
+ }
26
+ toJSON() {
27
+ return {
28
+ x: this.x,
29
+ y: this.y,
30
+ z: this.z,
31
+ w: this.w,
32
+ };
33
+ }
34
+ }
35
+ export class DOMPoint extends DOMPointReadOnly {
36
+ static fromPoint(value) {
37
+ if (value instanceof DOMPointReadOnly) {
38
+ return new DOMPoint(value.x, value.y, value.z, value.y);
39
+ }
40
+ return new DOMPoint(value?.x ?? 0, value?.y ?? 0, value?.z ?? 0, value?.w ?? 1);
41
+ }
42
+ }
43
+ //# sourceMappingURL=DOMPointReadOnly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DOMPointReadOnly.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/DOMPointReadOnly.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,gBAAgB;IAK5B,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAJtC,MAAC,GAAW,CAAC,CAAC;QACd,MAAC,GAAW,CAAC,CAAC;QACd,MAAC,GAAW,CAAC,CAAC;QACd,MAAC,GAAW,CAAC,CAAC;QAEb,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YAC1B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SACX;QACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YAC1B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SACX;QACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YAC1B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SACX;QACD,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YAC1B,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SACX;IACF,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAA4E;QAC5F,IAAI,KAAK,YAAY,gBAAgB,EAAE;YACtC,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;SAChE;QACD,OAAO,IAAI,gBAAgB,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,MAAM;QACL,OAAO;YACN,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,CAAC,EAAE,IAAI,CAAC,CAAC;SACT,CAAC;IACH,CAAC;CACD;AAED,MAAM,OAAO,QAAS,SAAQ,gBAAgB;IAC7C,MAAM,CAAC,SAAS,CAAC,KAAuF;QACvG,IAAI,KAAK,YAAY,gBAAgB,EAAE;YACtC,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;SACxD;QACD,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,CAAC;CACD"}
package/DOM/Document.d.ts CHANGED
@@ -1,17 +1,31 @@
1
- import { Element } from './Element';
2
1
  import { HTMLVideoElement } from './HTMLVideoElement';
2
+ import { HTMLImageElement } from './HTMLImageElement';
3
3
  import { HTMLCanvasElement } from './HTMLCanvasElement';
4
- import { SVGElement } from './svg';
4
+ import { HTMLDivElement } from './HTMLDivElement';
5
5
  import { Text } from './Text';
6
- export declare class Document extends Element {
7
- private body;
8
- documentElement: any;
9
- private readyState;
10
- private head;
11
- private defaultView;
6
+ import { Node } from './Node';
7
+ import { Element } from './Element';
8
+ import { SVGElement } from './svg/SVGElement';
9
+ import { HTMLUnknownElement } from './HTMLUnknownElement';
10
+ import { HTMLCollection } from './HTMLCollection';
11
+ export declare class Document extends Node {
12
+ readonly body: Element;
13
+ _documentElement: Element;
14
+ readonly readyState: string;
15
+ readonly head: Element;
16
+ __instance: Document;
17
+ get defaultView(): Window & typeof globalThis;
12
18
  constructor();
13
- createElement(tagName: any): Element | HTMLVideoElement | HTMLCanvasElement | SVGElement;
14
- createElementNS(...args: any[]): any;
19
+ get children(): HTMLCollection;
20
+ _createElement(namespaceURI: string | null, tagName: string, options?: {}): SVGGElement | SVGStopElement | SVGLinearGradientElement | HTMLVideoElement | HTMLImageElement | HTMLCanvasElement | HTMLDivElement | SVGElement | HTMLUnknownElement | SVGRadialGradientElement;
21
+ createElement(tagName: string, options?: {}): Element;
22
+ createElementNS(namespaceURI: string | null, qualifiedName?: string, options?: {}): Element;
15
23
  createTextNode(data: any): Text;
16
- getElementById(id: any): Element | HTMLCanvasElement;
24
+ getElementById(id: string): any;
25
+ getElementsByTagName(tagname: string): any;
26
+ getElementsByClassName(className: string): any;
27
+ get documentElement(): Element;
28
+ set documentElement(value: Element);
29
+ querySelectorAll(selector: any): any;
30
+ querySelector(selector: any): any;
17
31
  }
package/DOM/Document.js CHANGED
@@ -1,22 +1,153 @@
1
- import { Element } from './Element';
1
+ import { HTMLElement } from './HTMLElement';
2
2
  import { HTMLVideoElement } from './HTMLVideoElement';
3
3
  import { HTMLImageElement } from './HTMLImageElement';
4
4
  import { HTMLCanvasElement } from './HTMLCanvasElement';
5
- import { SVGElement, SVGCircleElement, SVGRectElement, SVGGElement, SVGPathElement } from './svg';
5
+ import { HTMLDivElement } from './HTMLDivElement';
6
6
  import { Text } from './Text';
7
7
  import { Canvas } from '@nativescript/canvas';
8
- import { Frame } from '@nativescript/core';
9
- export class Document extends Element {
8
+ import { ContentView, Frame, StackLayout, eachDescendant } from '@nativescript/core';
9
+ import { Node } from './Node';
10
+ import { Element, parseChildren } from './Element';
11
+ import { SVGSVGElement } from './svg/SVGSVGElement';
12
+ import { SVGElement } from './svg/SVGElement';
13
+ import { HTMLUnknownElement } from './HTMLUnknownElement';
14
+ import { HTMLCollection } from './HTMLCollection';
15
+ function getElementsByClassName(v, clsName) {
16
+ var retVal = [];
17
+ if (!v) {
18
+ return retVal;
19
+ }
20
+ if (v.classList.contains(clsName)) {
21
+ retVal.push(v);
22
+ }
23
+ const classNameCallback = function (child) {
24
+ if (child.classList.contains(clsName)) {
25
+ retVal.push(child);
26
+ }
27
+ // Android patch for ListView
28
+ if (child._realizedItems && child._realizedItems.size !== child._childrenCount) {
29
+ for (var key in child._realizedItems) {
30
+ if (child._realizedItems.hasOwnProperty(key)) {
31
+ classNameCallback(child._realizedItems[key]);
32
+ }
33
+ }
34
+ }
35
+ return true;
36
+ };
37
+ eachDescendant(v, classNameCallback);
38
+ // Android patch for ListView
39
+ if (v._realizedItems && v._realizedItems.size !== v._childrenCount) {
40
+ for (var key in v._realizedItems) {
41
+ if (v._realizedItems.hasOwnProperty(key)) {
42
+ classNameCallback(v._realizedItems[key]);
43
+ }
44
+ }
45
+ }
46
+ return retVal;
47
+ }
48
+ function getElementsByTagName(v, tagName) {
49
+ // TagName is case-Insensitive
50
+ var tagNameLC = tagName.toLowerCase();
51
+ var retVal = [], allTags = false;
52
+ if (!v) {
53
+ return retVal;
54
+ }
55
+ if (tagName === '*') {
56
+ allTags = true;
57
+ }
58
+ if ((v.typeName && v.typeName.toLowerCase() === tagNameLC) || allTags) {
59
+ retVal.push(v);
60
+ }
61
+ const tagNameCallback = function (child) {
62
+ if ((child.typeName && child.typeName.toLowerCase() === tagNameLC) || allTags) {
63
+ retVal.push(child);
64
+ }
65
+ // Android patch for ListView
66
+ if (child._realizedItems && child._realizedItems.size !== child._childrenCount) {
67
+ for (var key in child._realizedItems) {
68
+ if (child._realizedItems.hasOwnProperty(key)) {
69
+ tagNameCallback(child._realizedItems[key]);
70
+ }
71
+ }
72
+ }
73
+ return true;
74
+ };
75
+ eachDescendant(v, tagNameCallback);
76
+ // Android patch for ListView
77
+ if (v._realizedItems && v._realizedItems.size !== v._childrenCount) {
78
+ for (var key in v._realizedItems) {
79
+ if (v._realizedItems.hasOwnProperty(key)) {
80
+ tagNameCallback(v._realizedItems[key]);
81
+ }
82
+ }
83
+ }
84
+ return retVal;
85
+ }
86
+ export class Document extends Node {
10
87
  constructor() {
11
88
  super('#document');
89
+ this.body = null;
90
+ this.head = null;
12
91
  this.body = new Element('BODY');
13
- this.documentElement = new Element('HTML');
92
+ this._documentElement = new Element('HTML');
14
93
  this.readyState = 'complete';
15
94
  this.head = new Element('HEAD');
16
- this.defaultView = global.window;
17
95
  }
18
- createElement(tagName) {
96
+ get defaultView() {
97
+ return global.window;
98
+ }
99
+ get children() {
100
+ const children = new HTMLCollection();
101
+ children.push(this._documentElement);
102
+ if (this.body) {
103
+ children.push(this.head);
104
+ children.push(this.body);
105
+ }
106
+ if (this.__instance) {
107
+ parseChildren(this.__instance, children);
108
+ }
109
+ return children;
110
+ }
111
+ _createElement(namespaceURI, tagName, options) {
112
+ if (namespaceURI === 'http://www.w3.org/2000/svg') {
113
+ switch ((tagName || '').toLowerCase()) {
114
+ case 'svg':
115
+ return new SVGSVGElement();
116
+ case 'rect':
117
+ return new SVGRectElement();
118
+ case 'circle':
119
+ return new SVGCircleElement();
120
+ case 'g':
121
+ return new SVGGElement();
122
+ case 'path':
123
+ return new SVGPathElement();
124
+ case 'image':
125
+ return new SVGImageElement();
126
+ case 'polyline':
127
+ return new SVGPolylineElement();
128
+ case 'polygon':
129
+ return new SVGPolygonElement();
130
+ case 'ellipse':
131
+ return new SVGEllipseElement();
132
+ case 'line':
133
+ return new SVGLineElement();
134
+ case 'text':
135
+ return new SVGTextElement();
136
+ case 'radialGradient':
137
+ return new SVGRadialGradientElement();
138
+ case 'linearGradient':
139
+ return new SVGLinearGradientElement();
140
+ case 'use':
141
+ return new SVGUseElement();
142
+ case 'stop':
143
+ return new SVGStopElement();
144
+ default:
145
+ return new SVGElement(tagName ?? `${tagName}`);
146
+ }
147
+ }
19
148
  switch ((tagName || '').toLowerCase()) {
149
+ case 'div':
150
+ return new HTMLDivElement();
20
151
  case 'video':
21
152
  return new HTMLVideoElement();
22
153
  case 'img':
@@ -26,57 +157,135 @@ export class Document extends Element {
26
157
  case 'iframe':
27
158
  // Return nothing to keep firebase working.
28
159
  return null;
29
- case 'svg':
30
- return new SVGElement();
31
- case 'rect':
32
- return new SVGRectElement();
33
- case 'circle':
34
- return new SVGCircleElement();
35
- case 'g':
36
- return new SVGGElement();
37
- case 'path':
38
- return new SVGPathElement();
39
160
  default:
40
- return new Element(tagName);
161
+ return new HTMLUnknownElement(tagName ?? 'null');
41
162
  }
42
163
  }
43
- createElementNS(...args) {
44
- let name;
45
- let namespaceURI;
46
- if (Array.isArray(args) && args.length === 1) {
47
- name = args[0];
48
- }
49
- else if (Array.isArray(args) && args.length > 1) {
50
- name = args[1];
51
- namespaceURI = args[0];
164
+ createElement(tagName, options) {
165
+ const element = this._createElement(null, tagName, options);
166
+ if (element) {
167
+ if (!element.nativeElement) {
168
+ // set dummy nativeElement
169
+ element.nativeElement = new ContentView();
170
+ element.nativeElement.__domElement = new DOMParser().parseFromString(`<${element.nodeName}/>`, 'text/html').documentElement;
171
+ }
172
+ element._ownerDocument = this;
52
173
  }
53
- else {
54
- name = args;
174
+ return element;
175
+ }
176
+ createElementNS(namespaceURI, qualifiedName, options) {
177
+ const element = this._createElement(namespaceURI, qualifiedName, options);
178
+ element._namespaceURI = namespaceURI;
179
+ if (element) {
180
+ if (!element.nativeElement) {
181
+ // set dummy nativeElement
182
+ element.nativeElement = new ContentView();
183
+ element.nativeElement.__domElement = new DOMParser().parseFromString(`<${element.nodeName}/>`, 'image/svg+xml').documentElement;
184
+ }
185
+ element._ownerDocument = this;
55
186
  }
56
- const element = this.createElement(name);
57
- element.namespaceURI = namespaceURI;
58
- element.toDataURL = () => ({});
59
187
  return element;
60
188
  }
61
189
  createTextNode(data) {
62
- return new Text(data);
190
+ const text = new Text(data);
191
+ text._ownerDocument = this;
192
+ return text;
63
193
  }
64
194
  getElementById(id) {
65
- const topmost = Frame.topmost();
66
- if (id instanceof Canvas) {
67
- const canvas = new HTMLCanvasElement();
68
- canvas._canvas = id;
69
- return canvas;
195
+ if (this.__instance) {
196
+ return this.__instance.getElementById(id);
70
197
  }
198
+ console.log('getElementsByTagName', id);
199
+ const topmost = Frame.topmost();
71
200
  if (topmost) {
72
- const nativeElement = topmost.getViewById(id);
201
+ let nativeElement;
202
+ if (topmost.currentPage && topmost.currentPage.modal) {
203
+ nativeElement = topmost.getViewById(id);
204
+ }
205
+ else {
206
+ nativeElement = topmost.currentPage.modal.getViewById(id);
207
+ }
73
208
  if (nativeElement) {
74
- const element = new Element('div');
209
+ if (nativeElement instanceof Canvas) {
210
+ const canvas = new HTMLCanvasElement();
211
+ canvas.nativeElement = nativeElement;
212
+ return canvas;
213
+ }
214
+ else if (nativeElement instanceof StackLayout) {
215
+ const div = new HTMLDivElement();
216
+ div.nativeElement = nativeElement;
217
+ return div;
218
+ }
219
+ const element = new HTMLElement();
75
220
  element.nativeElement = nativeElement;
76
221
  return element;
77
222
  }
78
223
  }
79
- return new Element('div');
224
+ return null;
225
+ }
226
+ getElementsByTagName(tagname) {
227
+ if (this.__instance) {
228
+ return this.__instance.getElementsByTagName(tagname);
229
+ }
230
+ console.log('getElementsByTagName', tagname);
231
+ const topmost = Frame.topmost();
232
+ if (topmost) {
233
+ let view;
234
+ if (topmost.currentPage && topmost.currentPage.modal) {
235
+ view = topmost;
236
+ }
237
+ else {
238
+ view = topmost.currentPage.modal;
239
+ }
240
+ const elements = getElementsByTagName(view, tagname);
241
+ return elements;
242
+ }
243
+ return [];
244
+ }
245
+ getElementsByClassName(className) {
246
+ if (this.__instance) {
247
+ return this.__instance.getElementsByClassName(className);
248
+ }
249
+ console.log('getElementsByClassName', className);
250
+ const topmost = Frame.topmost();
251
+ if (topmost) {
252
+ let view;
253
+ if (topmost.currentPage && topmost.currentPage.modal) {
254
+ view = topmost;
255
+ }
256
+ else {
257
+ view = topmost.currentPage.modal;
258
+ }
259
+ const elements = getElementsByClassName(view, className);
260
+ return elements;
261
+ }
262
+ return [];
263
+ }
264
+ get documentElement() {
265
+ return this._documentElement;
266
+ }
267
+ //@ts-ignore
268
+ set documentElement(value) { }
269
+ querySelectorAll(selector) {
270
+ console.log('querySelectorAll', selector);
271
+ if (this.__instance) {
272
+ return this.__instance.querySelectorAll?.(selector) ?? [];
273
+ }
274
+ return [];
275
+ }
276
+ querySelector(selector) {
277
+ console.log('querySelector', selector);
278
+ const ret = this.__instance?.querySelectorAll?.(selector);
279
+ // let element = ret?.[0] ?? null;
280
+ // if (ret === undefined) {
281
+ // const items = (this as any)._instance.getElementsByTagName(selector);
282
+ // element = items[0];
283
+ // }
284
+ //
285
+ // if (element) {
286
+ // return new (Element as any)(element);
287
+ // }
288
+ return null;
80
289
  }
81
290
  }
82
291
  //# sourceMappingURL=Document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/Document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAG,WAAW,EAAE,cAAc,EAAC,MAAM,OAAO,CAAC;AAClG,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,OAAO,QAAS,SAAQ,OAAO;IAOpC;QACC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,GAAI,MAAc,CAAC,MAAM,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,OAAO;QACpB,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE;YACtC,KAAK,OAAO;gBACX,OAAO,IAAI,gBAAgB,EAAE,CAAC;YAC/B,KAAK,KAAK;gBACT,OAAO,IAAI,gBAAgB,EAAE,CAAC;YAC/B,KAAK,QAAQ;gBACZ,OAAO,IAAI,iBAAiB,EAAE,CAAC;YAChC,KAAK,QAAQ;gBACZ,2CAA2C;gBAC3C,OAAO,IAAI,CAAC;YACb,KAAK,KAAK;gBACT,OAAO,IAAI,UAAU,EAAE,CAAC;YACzB,KAAK,MAAM;gBACV,OAAO,IAAI,cAAc,EAAE,CAAC;YAC7B,KAAK,QAAQ;gBACZ,OAAO,IAAI,gBAAgB,EAAE,CAAC;YAC/B,KAAK,GAAG;gBACP,OAAO,IAAI,WAAW,EAAE,CAAC;YAC1B,KAAK,MAAM;gBACV,OAAO,IAAI,cAAc,EAAE,CAAC;YAC7B;gBACC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;SAC7B;IACF,CAAC;IAED,eAAe,CAAC,GAAG,IAAI;QACtB,IAAI,IAAI,CAAC;QACT,IAAI,YAAY,CAAC;QACjB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YAC7C,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;SACf;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YAClD,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;SACvB;aAAM;YACN,IAAI,GAAG,IAAI,CAAC;SACZ;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAQ,CAAC;QAChD,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;QACpC,OAAO,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,IAAI;QAClB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,cAAc,CAAC,EAAE;QAChB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,EAAE,YAAY,MAAM,EAAE;YACzB,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;YACvC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC;SACd;QACD,IAAI,OAAO,EAAE;YACZ,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC9C,IAAI,aAAa,EAAE;gBAClB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnC,OAAO,CAAC,aAAa,GAAG,aAAa,CAAC;gBACtC,OAAO,OAAO,CAAC;aACf;SACD;QACD,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CACD"}
1
+ {"version":3,"file":"Document.js","sourceRoot":"","sources":["../../../../packages/canvas-polyfill/DOM/Document.ts"],"names":[],"mappings":"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"}
package/DOM/Element.d.ts CHANGED
@@ -1,30 +1,60 @@
1
1
  import { Node } from './Node';
2
+ import { View } from '@nativescript/core';
3
+ import { HTMLCollection } from './HTMLCollection';
4
+ export declare class DOMRectReadOnly {
5
+ readonly bottom: number;
6
+ readonly height: number;
7
+ readonly left: number;
8
+ readonly right: number;
9
+ readonly top: number;
10
+ readonly width: number;
11
+ readonly x: number;
12
+ readonly y: number;
13
+ constructor(x: number, y: number, width: number, height: number, top?: number, right?: number, bottom?: number, left?: number);
14
+ }
15
+ export declare class DOMRect extends DOMRectReadOnly {
16
+ constructor(x: number, y: number, width: number, height: number, top?: number, right?: number, bottom?: number, left?: number);
17
+ }
18
+ export declare function parseChildren(element: any, children: any): void;
19
+ declare type NativeElement = View & {
20
+ __domElement?: Element;
21
+ };
2
22
  export declare class Element extends Node {
3
- private doc;
4
23
  private _classList;
5
- namespaceURI: any;
6
- nativeElement: any;
7
- private _width;
8
- private _height;
9
- _instance: any;
10
- constructor(tagName: any);
11
- get classList(): any;
24
+ _nativeElement: NativeElement;
25
+ private _attrs;
26
+ private _attributeOriginalValue;
27
+ private _jsBuffer;
28
+ private _id;
29
+ _children: HTMLCollection;
30
+ _namespaceURI: string | null;
31
+ get namespaceURI(): string;
32
+ set id(value: string);
33
+ get id(): string;
34
+ set nativeElement(value: NativeElement);
35
+ get nativeElement(): NativeElement;
36
+ private get _boundingClientRect();
37
+ constructor(tagName: string);
38
+ get classList(): Set<unknown>;
12
39
  get tagName(): string;
13
- getAttribute(key: any): any;
14
- setAttribute(key: any, value: any): void;
15
- removeAttribute(key: any, value: any): void;
40
+ get children(): any[] | HTMLCollection;
41
+ getAttribute(key: string): string;
42
+ setAttribute(key: string, value: unknown): void;
43
+ removeAttribute(key: string): void;
16
44
  setAttributeNS(): void;
17
45
  removeAttributeNS(): void;
46
+ querySelector(selector: string): any;
47
+ querySelectorAll(selector: string): any;
48
+ getBoundingClientRect(): any;
18
49
  get attributes(): any;
19
- get clientWidth(): number;
20
- get clientHeight(): number;
21
- get offsetWidth(): number;
22
- get offsetHeight(): number;
23
- get innerWidth(): number;
24
- get innerHeight(): number;
25
- get width(): number;
26
- set width(value: number);
27
- get height(): number;
28
- set height(value: number);
50
+ get clientWidth(): any;
51
+ get clientHeight(): any;
52
+ get offsetWidth(): any;
53
+ get offsetHeight(): any;
54
+ get innerWidth(): any;
55
+ get innerHeight(): any;
29
56
  get ontouchstart(): {};
57
+ setPointerCapture(id: string): void;
58
+ releasePointerCapture(id: string): void;
30
59
  }
60
+ export {};