happy-dom 5.4.0 → 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (141) hide show
  1. package/.eslintrc.js +2 -2
  2. package/lib/base64/Base64.d.ts +23 -0
  3. package/lib/base64/Base64.js +89 -0
  4. package/lib/base64/Base64.js.map +1 -0
  5. package/lib/config/NonImplemenetedElementClasses.js +0 -1
  6. package/lib/config/NonImplemenetedElementClasses.js.map +1 -1
  7. package/lib/dom-implementation/DOMImplementation.d.ts +7 -1
  8. package/lib/dom-implementation/DOMImplementation.js +10 -2
  9. package/lib/dom-implementation/DOMImplementation.js.map +1 -1
  10. package/lib/dom-parser/DOMParser.d.ts +9 -4
  11. package/lib/dom-parser/DOMParser.js +13 -2
  12. package/lib/dom-parser/DOMParser.js.map +1 -1
  13. package/lib/exception/DOMExceptionNameEnum.d.ts +5 -1
  14. package/lib/exception/DOMExceptionNameEnum.js +4 -0
  15. package/lib/exception/DOMExceptionNameEnum.js.map +1 -1
  16. package/lib/fetch/Request.d.ts +8 -0
  17. package/lib/fetch/Request.js +15 -6
  18. package/lib/fetch/Request.js.map +1 -1
  19. package/lib/fetch/Response.d.ts +5 -0
  20. package/lib/fetch/Response.js +12 -6
  21. package/lib/fetch/Response.js.map +1 -1
  22. package/lib/file/FileReader.d.ts +7 -2
  23. package/lib/file/FileReader.js +9 -3
  24. package/lib/file/FileReader.js.map +1 -1
  25. package/lib/index.d.ts +2 -1
  26. package/lib/index.js +3 -1
  27. package/lib/index.js.map +1 -1
  28. package/lib/nodes/comment/Comment.d.ts +1 -1
  29. package/lib/nodes/document/Document.d.ts +18 -15
  30. package/lib/nodes/document/Document.js +36 -33
  31. package/lib/nodes/document/Document.js.map +1 -1
  32. package/lib/nodes/document/IDocument.d.ts +7 -0
  33. package/lib/nodes/document-fragment/DocumentFragment.d.ts +1 -1
  34. package/lib/nodes/document-type/DocumentType.d.ts +1 -1
  35. package/lib/nodes/element/DOMRectListFactory.d.ts +23 -0
  36. package/lib/nodes/element/DOMRectListFactory.js +33 -0
  37. package/lib/nodes/element/DOMRectListFactory.js.map +1 -0
  38. package/lib/nodes/element/Element.d.ts +6 -5
  39. package/lib/nodes/element/Element.js +9 -11
  40. package/lib/nodes/element/Element.js.map +1 -1
  41. package/lib/nodes/element/IDOMRectList.d.ts +11 -0
  42. package/lib/nodes/element/IDOMRectList.js +3 -0
  43. package/lib/nodes/element/IDOMRectList.js.map +1 -0
  44. package/lib/nodes/element/IElement.d.ts +5 -4
  45. package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts +1 -6
  46. package/lib/nodes/html-dialog-element/HTMLDialogElement.js +7 -3
  47. package/lib/nodes/html-dialog-element/HTMLDialogElement.js.map +1 -1
  48. package/lib/nodes/html-dialog-element/IHTMLDialogElement.d.ts +11 -0
  49. package/lib/nodes/html-element/DatasetUtility.js +3 -1
  50. package/lib/nodes/html-element/DatasetUtility.js.map +1 -1
  51. package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts +1 -10
  52. package/lib/nodes/html-template-element/HTMLTemplateElement.js +2 -15
  53. package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
  54. package/lib/nodes/node/INode.d.ts +8 -6
  55. package/lib/nodes/node/Node.d.ts +20 -17
  56. package/lib/nodes/node/Node.js +19 -15
  57. package/lib/nodes/node/Node.js.map +1 -1
  58. package/lib/nodes/node/NodeTypeEnum.d.ts +10 -0
  59. package/lib/nodes/node/NodeTypeEnum.js +14 -0
  60. package/lib/nodes/node/NodeTypeEnum.js.map +1 -0
  61. package/lib/nodes/node/NodeUtility.d.ts +59 -0
  62. package/lib/nodes/node/NodeUtility.js +123 -0
  63. package/lib/nodes/node/NodeUtility.js.map +1 -0
  64. package/lib/nodes/text/IText.d.ts +9 -0
  65. package/lib/nodes/text/Text.d.ts +10 -1
  66. package/lib/nodes/text/Text.js +24 -0
  67. package/lib/nodes/text/Text.js.map +1 -1
  68. package/lib/query-selector/SelectorItem.js +3 -2
  69. package/lib/query-selector/SelectorItem.js.map +1 -1
  70. package/lib/range/IRangeBoundaryPoint.d.ts +8 -0
  71. package/lib/range/IRangeBoundaryPoint.js +3 -0
  72. package/lib/range/IRangeBoundaryPoint.js.map +1 -0
  73. package/lib/range/Range.d.ts +249 -0
  74. package/lib/range/Range.js +820 -0
  75. package/lib/range/Range.js.map +1 -0
  76. package/lib/range/RangeHowEnum.d.ts +7 -0
  77. package/lib/range/RangeHowEnum.js +11 -0
  78. package/lib/range/RangeHowEnum.js.map +1 -0
  79. package/lib/range/RangeUtility.d.ts +46 -0
  80. package/lib/range/RangeUtility.js +92 -0
  81. package/lib/range/RangeUtility.js.map +1 -0
  82. package/lib/selection/Selection.d.ts +167 -44
  83. package/lib/selection/Selection.js +369 -58
  84. package/lib/selection/Selection.js.map +1 -1
  85. package/lib/selection/SelectionDirectionEnum.d.ts +6 -0
  86. package/lib/selection/SelectionDirectionEnum.js +10 -0
  87. package/lib/selection/SelectionDirectionEnum.js.map +1 -0
  88. package/lib/window/IWindow.d.ts +20 -0
  89. package/lib/window/Window.d.ts +23 -9
  90. package/lib/window/Window.js +83 -35
  91. package/lib/window/Window.js.map +1 -1
  92. package/lib/xml-parser/XMLParser.d.ts +2 -2
  93. package/lib/xml-parser/XMLParser.js +5 -3
  94. package/lib/xml-parser/XMLParser.js.map +1 -1
  95. package/lib/xml-serializer/XMLSerializer.js +4 -1
  96. package/lib/xml-serializer/XMLSerializer.js.map +1 -1
  97. package/package.json +2 -2
  98. package/src/base64/Base64.ts +97 -0
  99. package/src/config/NonImplemenetedElementClasses.ts +0 -1
  100. package/src/dom-implementation/DOMImplementation.ts +13 -2
  101. package/src/dom-parser/DOMParser.ts +20 -7
  102. package/src/exception/DOMExceptionNameEnum.ts +5 -1
  103. package/src/fetch/Request.ts +16 -6
  104. package/src/fetch/Response.ts +13 -6
  105. package/src/file/FileReader.ts +14 -4
  106. package/src/index.ts +2 -0
  107. package/src/nodes/document/Document.ts +47 -39
  108. package/src/nodes/document/IDocument.ts +8 -0
  109. package/src/nodes/element/DOMRectListFactory.ts +33 -0
  110. package/src/nodes/element/Element.ts +10 -11
  111. package/src/nodes/element/IDOMRectList.ts +11 -0
  112. package/src/nodes/element/IElement.ts +5 -4
  113. package/src/nodes/html-dialog-element/HTMLDialogElement.ts +4 -9
  114. package/src/nodes/html-dialog-element/IHTMLDialogElement.ts +14 -0
  115. package/src/nodes/html-element/DatasetUtility.ts +3 -1
  116. package/src/nodes/html-template-element/HTMLTemplateElement.ts +3 -21
  117. package/src/nodes/node/INode.ts +8 -6
  118. package/src/nodes/node/Node.ts +24 -19
  119. package/src/nodes/node/NodeTypeEnum.ts +11 -0
  120. package/src/nodes/node/NodeUtility.ts +139 -0
  121. package/src/nodes/text/IText.ts +10 -0
  122. package/src/nodes/text/Text.ts +33 -0
  123. package/src/query-selector/SelectorItem.ts +3 -2
  124. package/src/range/IRangeBoundaryPoint.ts +9 -0
  125. package/src/range/Range.ts +1057 -0
  126. package/src/range/RangeHowEnum.ts +8 -0
  127. package/src/range/RangeUtility.ts +114 -0
  128. package/src/selection/Selection.ts +444 -60
  129. package/src/selection/SelectionDirectionEnum.ts +7 -0
  130. package/src/window/IWindow.ts +22 -0
  131. package/src/window/Window.ts +102 -32
  132. package/src/xml-parser/XMLParser.ts +15 -7
  133. package/src/xml-serializer/XMLSerializer.ts +6 -1
  134. package/lib/nodes/element/Range.d.ts +0 -167
  135. package/lib/nodes/element/Range.js +0 -215
  136. package/lib/nodes/element/Range.js.map +0 -1
  137. package/lib/window/WindowBase64.d.ts +0 -19
  138. package/lib/window/WindowBase64.js +0 -88
  139. package/lib/window/WindowBase64.js.map +0 -1
  140. package/src/nodes/element/Range.ts +0 -237
  141. package/src/window/WindowBase64.ts +0 -95
@@ -0,0 +1,11 @@
1
+ /**
2
+ * HTMLCollection.
3
+ */
4
+ export default interface IDOMRectList<T> extends Array<T> {
5
+ /**
6
+ * Returns item by index.
7
+ *
8
+ * @param index Index.
9
+ */
10
+ item(index: number): T;
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IDOMRectList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDOMRectList.js","sourceRoot":"","sources":["../../../src/nodes/element/IDOMRectList.ts"],"names":[],"mappings":""}
@@ -1,12 +1,12 @@
1
1
  import IShadowRoot from '../shadow-root/IShadowRoot';
2
2
  import Attr from '../../attribute/Attr';
3
3
  import DOMRect from './DOMRect';
4
- import Range from './Range';
5
4
  import IDOMTokenList from '../../dom-token-list/IDOMTokenList';
6
5
  import INode from './../node/INode';
7
6
  import IChildNode from '../child-node/IChildNode';
8
7
  import IParentNode from '../parent-node/IParentNode';
9
8
  import INonDocumentTypeChildNode from '../child-node/INonDocumentTypeChildNode';
9
+ import IDOMRectList from './IDOMRectList';
10
10
  export declare type TInsertAdjacentPositions = 'beforebegin' | 'afterbegin' | 'beforeend' | 'afterend';
11
11
  /**
12
12
  * Element.
@@ -156,11 +156,12 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode,
156
156
  */
157
157
  getBoundingClientRect(): DOMRect;
158
158
  /**
159
- * Returns a range.
159
+ * Returns a collection of DOMRect objects that indicate the bounding rectangles for each CSS border box in a client.
160
160
  *
161
- * @returns Range.
161
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/getClientRects
162
+ * @returns DOM rect list.
162
163
  */
163
- createTextRange(): Range;
164
+ getClientRects(): IDOMRectList<DOMRect>;
164
165
  /**
165
166
  * The matches() method checks to see if the Element would be selected by the provided selectorString.
166
167
  *
@@ -7,11 +7,6 @@ import IHTMLDialogElement from './IHTMLDialogElement';
7
7
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement.
8
8
  */
9
9
  export default class HTMLDialogElement extends HTMLElement implements IHTMLDialogElement {
10
- /**
11
- * Returns returnValue.
12
- *
13
- * @returns ReturnValue.
14
- */
15
10
  returnValue: string;
16
11
  /**
17
12
  * Returns open.
@@ -22,7 +17,7 @@ export default class HTMLDialogElement extends HTMLElement implements IHTMLDialo
22
17
  /**
23
18
  * Closes the dialog.
24
19
  *
25
- * @param returnValue ReturnValue.
20
+ * @param [returnValue] ReturnValue.
26
21
  */
27
22
  close(returnValue?: string): void;
28
23
  /**
@@ -12,6 +12,10 @@ const HTMLElement_1 = __importDefault(require("../html-element/HTMLElement"));
12
12
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement.
13
13
  */
14
14
  class HTMLDialogElement extends HTMLElement_1.default {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.returnValue = '';
18
+ }
15
19
  /**
16
20
  * Returns open.
17
21
  *
@@ -23,12 +27,12 @@ class HTMLDialogElement extends HTMLElement_1.default {
23
27
  /**
24
28
  * Closes the dialog.
25
29
  *
26
- * @param returnValue ReturnValue.
30
+ * @param [returnValue] ReturnValue.
27
31
  */
28
- close(returnValue) {
32
+ close(returnValue = '') {
29
33
  this.removeAttributeNS(null, 'open');
30
34
  this.returnValue = returnValue;
31
- this.dispatchEvent(new Event_1.default('close', { bubbles: false, cancelable: false }));
35
+ this.dispatchEvent(new Event_1.default('close'));
32
36
  }
33
37
  /**
34
38
  * Shows the modal.
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLDialogElement.js","sourceRoot":"","sources":["../../../src/nodes/html-dialog-element/HTMLDialogElement.ts"],"names":[],"mappings":";;;;;AAAA,8DAAsC;AACtC,8EAAsD;AAGtD;;;;;GAKG;AACH,MAAqB,iBAAkB,SAAQ,qBAAW;IAQzD;;;;OAIG;IACH,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAoB;QAChC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,eAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED;;OAEG;IACI,SAAS;QACf,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,IAAI;QACV,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;CACD;AAzCD,oCAyCC"}
1
+ {"version":3,"file":"HTMLDialogElement.js","sourceRoot":"","sources":["../../../src/nodes/html-dialog-element/HTMLDialogElement.ts"],"names":[],"mappings":";;;;;AAAA,8DAAsC;AACtC,8EAAsD;AAGtD;;;;;GAKG;AACH,MAAqB,iBAAkB,SAAQ,qBAAW;IAA1D;;QACQ,gBAAW,GAAG,EAAE,CAAC;IAmCzB,CAAC;IAjCA;;;;OAIG;IACH,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,GAAG,EAAE;QAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,eAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,SAAS;QACf,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,IAAI;QACV,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;CACD;AApCD,oCAoCC"}
@@ -8,7 +8,18 @@ import IHTMLElement from '../html-element/IHTMLElement';
8
8
  export default interface IHTMLDialogElement extends IHTMLElement {
9
9
  open: boolean;
10
10
  returnValue: string;
11
+ /**
12
+ * Closes the dialog.
13
+ *
14
+ * @param [returnValue] ReturnValue.
15
+ */
11
16
  close(returnValue?: string): void;
17
+ /**
18
+ * Shows the modal.
19
+ */
12
20
  showModal(): void;
21
+ /**
22
+ * Shows the dialog.
23
+ */
13
24
  show(): void;
14
25
  }
@@ -24,7 +24,9 @@ class DatasetUtility {
24
24
  * @returns Kebab cased string.
25
25
  */
26
26
  static camelCaseToKebab(text) {
27
- return text.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());
27
+ return text
28
+ .toString()
29
+ .replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());
28
30
  }
29
31
  }
30
32
  exports.default = DatasetUtility;
@@ -1 +1 @@
1
- {"version":3,"file":"DatasetUtility.js","sourceRoot":"","sources":["../../../src/nodes/html-element/DatasetUtility.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,MAAqB,cAAc;IAClC;;;;;OAKG;IACI,MAAM,CAAC,gBAAgB,CAAC,IAAY;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YACjD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACnF;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,gBAAgB,CAAC,IAAY;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/F,CAAC;CACD;AAxBD,iCAwBC"}
1
+ {"version":3,"file":"DatasetUtility.js","sourceRoot":"","sources":["../../../src/nodes/html-element/DatasetUtility.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,MAAqB,cAAc;IAClC;;;;;OAKG;IACI,MAAM,CAAC,gBAAgB,CAAC,IAAY;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YACjD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACnF;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,gBAAgB,CAAC,IAAY;QAC1C,OAAO,IAAI;aACT,QAAQ,EAAE;aACV,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACrF,CAAC;CACD;AA1BD,iCA0BC"}
@@ -1,4 +1,3 @@
1
- import Node from '../node/Node';
2
1
  import HTMLElement from '../html-element/HTMLElement';
3
2
  import IDocumentFragment from '../document-fragment/IDocumentFragment';
4
3
  import INode from '../node/INode';
@@ -19,14 +18,6 @@ export default class HTMLTemplateElement extends HTMLElement implements IHTMLTem
19
18
  * @override
20
19
  */
21
20
  set innerHTML(html: string);
22
- /**
23
- * @override
24
- */
25
- get outerHTML(): string;
26
- /**
27
- * @override
28
- */
29
- set outerHTML(_html: string);
30
21
  /**
31
22
  * @override
32
23
  */
@@ -56,7 +47,7 @@ export default class HTMLTemplateElement extends HTMLElement implements IHTMLTem
56
47
  /**
57
48
  * @override
58
49
  */
59
- removeChild(node: Node): INode;
50
+ removeChild(node: INode): INode;
60
51
  /**
61
52
  * @override
62
53
  */
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const HTMLElement_1 = __importDefault(require("../html-element/HTMLElement"));
7
7
  const XMLParser_1 = __importDefault(require("../../xml-parser/XMLParser"));
8
8
  const XMLSerializer_1 = __importDefault(require("../../xml-serializer/XMLSerializer"));
9
- const DOMException_1 = __importDefault(require("../../exception/DOMException"));
10
9
  /**
11
10
  * HTML Template Element.
12
11
  *
@@ -35,29 +34,17 @@ class HTMLTemplateElement extends HTMLElement_1.default {
35
34
  this.content.appendChild(node);
36
35
  }
37
36
  }
38
- /**
39
- * @override
40
- */
41
- get outerHTML() {
42
- return new XMLSerializer_1.default().serializeToString(this.content);
43
- }
44
- /**
45
- * @override
46
- */
47
- set outerHTML(_html) {
48
- throw new DOMException_1.default(`Failed to set the 'outerHTML' property on 'Element': This element has no parent node.`);
49
- }
50
37
  /**
51
38
  * @override
52
39
  */
53
40
  get previousSibling() {
54
- return this.content.previousSibling;
41
+ return null;
55
42
  }
56
43
  /**
57
44
  * @override
58
45
  */
59
46
  get nextSibling() {
60
- return this.content.nextSibling;
47
+ return null;
61
48
  }
62
49
  /**
63
50
  * @override
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLTemplateElement.js","sourceRoot":"","sources":["../../../src/nodes/html-template-element/HTMLTemplateElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTMLTemplateElement.js","sourceRoot":"","sources":["../../../src/nodes/html-template-element/HTMLTemplateElement.ts"],"names":[],"mappings":";;;;;AAAA,8EAAsD;AAItD,2EAAmD;AACnD,uFAA+D;AAE/D;;;;;GAKG;AACH,MAAqB,mBAAoB,SAAQ,qBAAW;IAA5D;;QACiB,YAAO,GAAsB,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC;IAkG1F,CAAC;IAhGA;;OAEG;IACH,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAW,SAAS,CAAC,IAAY;QAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE;YACpD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAChC;QAED,KAAK,MAAM,IAAI,IAAI,mBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE;YAChF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SAC/B;IACF,CAAC;IAED;;OAEG;IACH,IAAW,eAAe;QACzB,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,IAAW,WAAW;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,OAA0C;QAC7D,MAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;QAC1C,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3C,GAAG,IAAI,aAAa,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACtD;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,IAAW;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,IAAW;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,OAAc,EAAE,aAAoB;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,QAAe,EAAE,QAAe;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACI,SAAS,CAAC,IAAI,GAAG,KAAK;QAC5B,MAAM,KAAK,GAAyB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,CAAC,OAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AAnGD,sCAmGC"}
@@ -2,13 +2,15 @@ import IEventTarget from '../../event/IEventTarget';
2
2
  import IDocument from '../document/IDocument';
3
3
  import IElement from '../element/IElement';
4
4
  import INodeList from './INodeList';
5
+ import NodeTypeEnum from './NodeTypeEnum';
5
6
  export default interface INode extends IEventTarget {
6
- readonly ELEMENT_NODE: number;
7
- readonly TEXT_NODE: number;
8
- readonly COMMENT_NODE: number;
9
- readonly DOCUMENT_NODE: number;
10
- readonly DOCUMENT_TYPE_NODE: number;
11
- readonly DOCUMENT_FRAGMENT_NODE: number;
7
+ readonly ELEMENT_NODE: NodeTypeEnum;
8
+ readonly TEXT_NODE: NodeTypeEnum;
9
+ readonly COMMENT_NODE: NodeTypeEnum;
10
+ readonly DOCUMENT_NODE: NodeTypeEnum;
11
+ readonly DOCUMENT_TYPE_NODE: NodeTypeEnum;
12
+ readonly DOCUMENT_FRAGMENT_NODE: NodeTypeEnum;
13
+ readonly PROCESSING_INSTRUCTION_NODE: NodeTypeEnum;
12
14
  readonly ownerDocument: IDocument;
13
15
  readonly parentNode: INode;
14
16
  readonly parentElement: IElement;
@@ -1,34 +1,37 @@
1
1
  import EventTarget from '../../event/EventTarget';
2
- import MutationObserverListener from '../../mutation-observer/MutationListener';
2
+ import MutationListener from '../../mutation-observer/MutationListener';
3
3
  import Event from '../../event/Event';
4
4
  import INode from './INode';
5
5
  import IDocument from '../document/IDocument';
6
6
  import IElement from '../element/IElement';
7
7
  import INodeList from './INodeList';
8
+ import NodeTypeEnum from './NodeTypeEnum';
8
9
  /**
9
10
  * Node.
10
11
  */
11
12
  export default class Node extends EventTarget implements INode {
12
- static readonly ELEMENT_NODE = 1;
13
- static readonly TEXT_NODE = 3;
14
- static readonly COMMENT_NODE = 8;
15
- static readonly DOCUMENT_NODE = 9;
16
- static readonly DOCUMENT_TYPE_NODE = 10;
17
- static readonly DOCUMENT_FRAGMENT_NODE = 11;
18
- static ownerDocument: IDocument;
19
- readonly ELEMENT_NODE = 1;
20
- readonly TEXT_NODE = 3;
21
- readonly COMMENT_NODE = 8;
22
- readonly DOCUMENT_NODE = 9;
23
- readonly DOCUMENT_TYPE_NODE = 10;
24
- readonly DOCUMENT_FRAGMENT_NODE = 11;
13
+ static _ownerDocument: IDocument;
14
+ static readonly ELEMENT_NODE = NodeTypeEnum.elementNode;
15
+ static readonly TEXT_NODE = NodeTypeEnum.textNode;
16
+ static readonly COMMENT_NODE = NodeTypeEnum.commentNode;
17
+ static readonly DOCUMENT_NODE = NodeTypeEnum.documentNode;
18
+ static readonly DOCUMENT_TYPE_NODE = NodeTypeEnum.documentTypeNode;
19
+ static readonly DOCUMENT_FRAGMENT_NODE = NodeTypeEnum.documentFragmentNode;
20
+ static readonly PROCESSING_INSTRUCTION_NODE = NodeTypeEnum.processingInstructionNode;
21
+ readonly ELEMENT_NODE = NodeTypeEnum.elementNode;
22
+ readonly TEXT_NODE = NodeTypeEnum.textNode;
23
+ readonly COMMENT_NODE = NodeTypeEnum.commentNode;
24
+ readonly DOCUMENT_NODE = NodeTypeEnum.documentNode;
25
+ readonly DOCUMENT_TYPE_NODE = NodeTypeEnum.documentTypeNode;
26
+ readonly DOCUMENT_FRAGMENT_NODE = NodeTypeEnum.documentFragmentNode;
27
+ readonly PROCESSING_INSTRUCTION_NODE = NodeTypeEnum.processingInstructionNode;
25
28
  readonly ownerDocument: IDocument;
26
29
  readonly parentNode: INode;
27
30
  readonly nodeType: number;
28
31
  readonly childNodes: INodeList<INode>;
29
32
  readonly isConnected: boolean;
30
33
  _rootNode: INode;
31
- protected _observers: MutationObserverListener[];
34
+ _observers: MutationListener[];
32
35
  /**
33
36
  * Constructor.
34
37
  */
@@ -181,14 +184,14 @@ export default class Node extends EventTarget implements INode {
181
184
  *
182
185
  * @param listener Listener.
183
186
  */
184
- _observe(listener: MutationObserverListener): void;
187
+ _observe(listener: MutationListener): void;
185
188
  /**
186
189
  * Stops observing the node.
187
190
  * Used by MutationObserver, but it is not part of the HTML standard.
188
191
  *
189
192
  * @param listener Listener.
190
193
  */
191
- _unobserve(listener: MutationObserverListener): void;
194
+ _unobserve(listener: MutationListener): void;
192
195
  /**
193
196
  * Connects this element to another element.
194
197
  *
@@ -8,6 +8,7 @@ const MutationRecord_1 = __importDefault(require("../../mutation-observer/Mutati
8
8
  const MutationTypeEnum_1 = __importDefault(require("../../mutation-observer/MutationTypeEnum"));
9
9
  const DOMException_1 = __importDefault(require("../../exception/DOMException"));
10
10
  const NodeListFactory_1 = __importDefault(require("./NodeListFactory"));
11
+ const NodeTypeEnum_1 = __importDefault(require("./NodeTypeEnum"));
11
12
  /**
12
13
  * Node.
13
14
  */
@@ -17,20 +18,21 @@ class Node extends EventTarget_1.default {
17
18
  */
18
19
  constructor() {
19
20
  super();
20
- this.ELEMENT_NODE = 1;
21
- this.TEXT_NODE = 3;
22
- this.COMMENT_NODE = 8;
23
- this.DOCUMENT_NODE = 9;
24
- this.DOCUMENT_TYPE_NODE = 10;
25
- this.DOCUMENT_FRAGMENT_NODE = 11;
21
+ this.ELEMENT_NODE = NodeTypeEnum_1.default.elementNode;
22
+ this.TEXT_NODE = NodeTypeEnum_1.default.textNode;
23
+ this.COMMENT_NODE = NodeTypeEnum_1.default.commentNode;
24
+ this.DOCUMENT_NODE = NodeTypeEnum_1.default.documentNode;
25
+ this.DOCUMENT_TYPE_NODE = NodeTypeEnum_1.default.documentTypeNode;
26
+ this.DOCUMENT_FRAGMENT_NODE = NodeTypeEnum_1.default.documentFragmentNode;
27
+ this.PROCESSING_INSTRUCTION_NODE = NodeTypeEnum_1.default.processingInstructionNode;
26
28
  this.ownerDocument = null;
27
29
  this.parentNode = null;
28
30
  this.childNodes = NodeListFactory_1.default.create();
29
31
  this.isConnected = false;
30
- this._rootNode = null;
31
32
  // Custom Properties (not part of HTML standard)
33
+ this._rootNode = null;
32
34
  this._observers = [];
33
- this.ownerDocument = this.constructor.ownerDocument;
35
+ this.ownerDocument = this.constructor._ownerDocument;
34
36
  }
35
37
  /**
36
38
  * Get text value of children.
@@ -429,12 +431,14 @@ class Node extends EventTarget_1.default {
429
431
  }
430
432
  }
431
433
  exports.default = Node;
434
+ // Owner document is set when the Node is created by the Document
435
+ Node._ownerDocument = null;
432
436
  // Public properties
433
- Node.ELEMENT_NODE = 1;
434
- Node.TEXT_NODE = 3;
435
- Node.COMMENT_NODE = 8;
436
- Node.DOCUMENT_NODE = 9;
437
- Node.DOCUMENT_TYPE_NODE = 10;
438
- Node.DOCUMENT_FRAGMENT_NODE = 11;
439
- Node.ownerDocument = null;
437
+ Node.ELEMENT_NODE = NodeTypeEnum_1.default.elementNode;
438
+ Node.TEXT_NODE = NodeTypeEnum_1.default.textNode;
439
+ Node.COMMENT_NODE = NodeTypeEnum_1.default.commentNode;
440
+ Node.DOCUMENT_NODE = NodeTypeEnum_1.default.documentNode;
441
+ Node.DOCUMENT_TYPE_NODE = NodeTypeEnum_1.default.documentTypeNode;
442
+ Node.DOCUMENT_FRAGMENT_NODE = NodeTypeEnum_1.default.documentFragmentNode;
443
+ Node.PROCESSING_INSTRUCTION_NODE = NodeTypeEnum_1.default.processingInstructionNode;
440
444
  //# sourceMappingURL=Node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../src/nodes/node/Node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../src/nodes/node/Node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ declare enum NodeTypeEnum {
2
+ elementNode = 1,
3
+ textNode = 3,
4
+ commentNode = 8,
5
+ documentNode = 9,
6
+ documentTypeNode = 10,
7
+ documentFragmentNode = 11,
8
+ processingInstructionNode = 7
9
+ }
10
+ export default NodeTypeEnum;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var NodeTypeEnum;
4
+ (function (NodeTypeEnum) {
5
+ NodeTypeEnum[NodeTypeEnum["elementNode"] = 1] = "elementNode";
6
+ NodeTypeEnum[NodeTypeEnum["textNode"] = 3] = "textNode";
7
+ NodeTypeEnum[NodeTypeEnum["commentNode"] = 8] = "commentNode";
8
+ NodeTypeEnum[NodeTypeEnum["documentNode"] = 9] = "documentNode";
9
+ NodeTypeEnum[NodeTypeEnum["documentTypeNode"] = 10] = "documentTypeNode";
10
+ NodeTypeEnum[NodeTypeEnum["documentFragmentNode"] = 11] = "documentFragmentNode";
11
+ NodeTypeEnum[NodeTypeEnum["processingInstructionNode"] = 7] = "processingInstructionNode";
12
+ })(NodeTypeEnum || (NodeTypeEnum = {}));
13
+ exports.default = NodeTypeEnum;
14
+ //# sourceMappingURL=NodeTypeEnum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeTypeEnum.js","sourceRoot":"","sources":["../../../src/nodes/node/NodeTypeEnum.ts"],"names":[],"mappings":";;AAAA,IAAK,YAQJ;AARD,WAAK,YAAY;IAChB,6DAAe,CAAA;IACf,uDAAY,CAAA;IACZ,6DAAe,CAAA;IACf,+DAAgB,CAAA;IAChB,wEAAqB,CAAA;IACrB,gFAAyB,CAAA;IACzB,yFAA6B,CAAA;AAC9B,CAAC,EARI,YAAY,KAAZ,YAAY,QAQhB;AAED,kBAAe,YAAY,CAAC"}
@@ -0,0 +1,59 @@
1
+ import INode from './INode';
2
+ /**
3
+ * Node utility.
4
+ */
5
+ export default class NodeUtility {
6
+ /**
7
+ * Returns boolean indicating if nodeB is an inclusive ancestor of nodeA.
8
+ *
9
+ * Based on:
10
+ * https://github.com/jsdom/jsdom/blob/master/lib/jsdom/living/helpers/node.js
11
+ *
12
+ * @see https://dom.spec.whatwg.org/#concept-tree-inclusive-ancestor
13
+ * @param ancestorNode Ancestor node.
14
+ * @param referenceNode Reference node.
15
+ * @returns "true" if following.
16
+ */
17
+ static isInclusiveAncestor(ancestorNode: INode, referenceNode: INode): boolean;
18
+ /**
19
+ * Returns boolean indicating if nodeB is following nodeA in the document tree.
20
+ *
21
+ * Based on:
22
+ * https://github.com/jsdom/jsdom/blob/master/lib/jsdom/living/helpers/node.js
23
+ *
24
+ * @see https://dom.spec.whatwg.org/#concept-tree-following
25
+ * @param nodeA Node A.
26
+ * @param nodeB Node B.
27
+ * @returns "true" if following.
28
+ */
29
+ static isFollowing(nodeA: INode, nodeB: INode): boolean;
30
+ /**
31
+ * Node length.
32
+ *
33
+ * Based on:
34
+ * https://github.com/jsdom/jsdom/blob/master/lib/jsdom/living/helpers/node.js
35
+ *
36
+ * @see https://dom.spec.whatwg.org/#concept-node-length
37
+ * @param node Node.
38
+ * @returns Node length.
39
+ */
40
+ static getNodeLength(node: INode): number;
41
+ /**
42
+ * Returns boolean indicating if nodeB is following nodeA in the document tree.
43
+ *
44
+ * Based on:
45
+ * https://github.com/jsdom/js-symbol-tree/blob/master/lib/SymbolTree.js#L220
46
+ *
47
+ * @param node Node.
48
+ * @param [root] Root.
49
+ * @returns Following node.
50
+ */
51
+ static following(node: INode, root?: INode): INode;
52
+ /**
53
+ * Returns the next sibling or parents sibling.
54
+ *
55
+ * @param node Node.
56
+ * @returns Next decentant node.
57
+ */
58
+ static nextDecendantNode(node: INode): INode;
59
+ }
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const NodeTypeEnum_1 = __importDefault(require("./NodeTypeEnum"));
7
+ /**
8
+ * Node utility.
9
+ */
10
+ class NodeUtility {
11
+ /**
12
+ * Returns boolean indicating if nodeB is an inclusive ancestor of nodeA.
13
+ *
14
+ * Based on:
15
+ * https://github.com/jsdom/jsdom/blob/master/lib/jsdom/living/helpers/node.js
16
+ *
17
+ * @see https://dom.spec.whatwg.org/#concept-tree-inclusive-ancestor
18
+ * @param ancestorNode Ancestor node.
19
+ * @param referenceNode Reference node.
20
+ * @returns "true" if following.
21
+ */
22
+ static isInclusiveAncestor(ancestorNode, referenceNode) {
23
+ let parent = referenceNode;
24
+ while (parent) {
25
+ if (ancestorNode === parent) {
26
+ return true;
27
+ }
28
+ parent = parent.parentNode;
29
+ }
30
+ return false;
31
+ }
32
+ /**
33
+ * Returns boolean indicating if nodeB is following nodeA in the document tree.
34
+ *
35
+ * Based on:
36
+ * https://github.com/jsdom/jsdom/blob/master/lib/jsdom/living/helpers/node.js
37
+ *
38
+ * @see https://dom.spec.whatwg.org/#concept-tree-following
39
+ * @param nodeA Node A.
40
+ * @param nodeB Node B.
41
+ * @returns "true" if following.
42
+ */
43
+ static isFollowing(nodeA, nodeB) {
44
+ if (nodeA === nodeB) {
45
+ return false;
46
+ }
47
+ let current = nodeB;
48
+ while (current) {
49
+ current = this.following(current);
50
+ if (current === nodeA) {
51
+ return true;
52
+ }
53
+ }
54
+ return false;
55
+ }
56
+ /**
57
+ * Node length.
58
+ *
59
+ * Based on:
60
+ * https://github.com/jsdom/jsdom/blob/master/lib/jsdom/living/helpers/node.js
61
+ *
62
+ * @see https://dom.spec.whatwg.org/#concept-node-length
63
+ * @param node Node.
64
+ * @returns Node length.
65
+ */
66
+ static getNodeLength(node) {
67
+ switch (node.nodeType) {
68
+ case NodeTypeEnum_1.default.documentTypeNode:
69
+ return 0;
70
+ case NodeTypeEnum_1.default.textNode:
71
+ case NodeTypeEnum_1.default.processingInstructionNode:
72
+ case NodeTypeEnum_1.default.commentNode:
73
+ return node.data.length;
74
+ default:
75
+ return node.childNodes.length;
76
+ }
77
+ }
78
+ /**
79
+ * Returns boolean indicating if nodeB is following nodeA in the document tree.
80
+ *
81
+ * Based on:
82
+ * https://github.com/jsdom/js-symbol-tree/blob/master/lib/SymbolTree.js#L220
83
+ *
84
+ * @param node Node.
85
+ * @param [root] Root.
86
+ * @returns Following node.
87
+ */
88
+ static following(node, root) {
89
+ const firstChild = node.firstChild;
90
+ if (firstChild) {
91
+ return firstChild;
92
+ }
93
+ let current = node;
94
+ while (current) {
95
+ if (current === root) {
96
+ return null;
97
+ }
98
+ const nextSibling = current.nextSibling;
99
+ if (nextSibling) {
100
+ return nextSibling;
101
+ }
102
+ current = current.parentNode;
103
+ }
104
+ return null;
105
+ }
106
+ /**
107
+ * Returns the next sibling or parents sibling.
108
+ *
109
+ * @param node Node.
110
+ * @returns Next decentant node.
111
+ */
112
+ static nextDecendantNode(node) {
113
+ while (node && !node.nextSibling) {
114
+ node = node.parentNode;
115
+ }
116
+ if (!node) {
117
+ return null;
118
+ }
119
+ return node.nextSibling;
120
+ }
121
+ }
122
+ exports.default = NodeUtility;
123
+ //# sourceMappingURL=NodeUtility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeUtility.js","sourceRoot":"","sources":["../../../src/nodes/node/NodeUtility.ts"],"names":[],"mappings":";;;;;AAGA,kEAA0C;AAE1C;;GAEG;AACH,MAAqB,WAAW;IAC/B;;;;;;;;;;OAUG;IACI,MAAM,CAAC,mBAAmB,CAAC,YAAmB,EAAE,aAAoB;QAC1E,IAAI,MAAM,GAAU,aAAa,CAAC;QAClC,OAAO,MAAM,EAAE;YACd,IAAI,YAAY,KAAK,MAAM,EAAE;gBAC5B,OAAO,IAAI,CAAC;aACZ;YACD,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;SAC3B;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAC,WAAW,CAAC,KAAY,EAAE,KAAY;QACnD,IAAI,KAAK,KAAK,KAAK,EAAE;YACpB,OAAO,KAAK,CAAC;SACb;QAED,IAAI,OAAO,GAAU,KAAK,CAAC;QAE3B,OAAO,OAAO,EAAE;YACf,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAElC,IAAI,OAAO,KAAK,KAAK,EAAE;gBACtB,OAAO,IAAI,CAAC;aACZ;SACD;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,aAAa,CAAC,IAAW;QACtC,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACtB,KAAK,sBAAY,CAAC,gBAAgB;gBACjC,OAAO,CAAC,CAAC;YAEV,KAAK,sBAAY,CAAC,QAAQ,CAAC;YAC3B,KAAK,sBAAY,CAAC,yBAAyB,CAAC;YAC5C,KAAK,sBAAY,CAAC,WAAW;gBAC5B,OAA0B,IAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YAE7C;gBACC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;SAC/B;IACF,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CAAC,SAAS,CAAC,IAAW,EAAE,IAAY;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,IAAI,UAAU,EAAE;YACf,OAAO,UAAU,CAAC;SAClB;QAED,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,OAAO,OAAO,EAAE;YACf,IAAI,OAAO,KAAK,IAAI,EAAE;gBACrB,OAAO,IAAI,CAAC;aACZ;YAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;YAExC,IAAI,WAAW,EAAE;gBAChB,OAAO,WAAW,CAAC;aACnB;YAED,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;SAC7B;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAAC,IAAW;QAC1C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACjC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;SACvB;QAED,IAAI,CAAC,IAAI,EAAE;YACV,OAAO,IAAI,CAAC;SACZ;QAED,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;CACD;AAlID,8BAkIC"}