happy-dom 12.7.0 → 12.8.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.

Potentially problematic release.


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

Files changed (183) hide show
  1. package/cjs/clipboard/Clipboard.cjs +103 -0
  2. package/cjs/clipboard/Clipboard.cjs.map +1 -0
  3. package/cjs/clipboard/Clipboard.d.ts +42 -0
  4. package/cjs/clipboard/Clipboard.d.ts.map +1 -0
  5. package/cjs/clipboard/ClipboardItem.cjs +69 -0
  6. package/cjs/clipboard/ClipboardItem.cjs.map +1 -0
  7. package/cjs/clipboard/ClipboardItem.d.ts +37 -0
  8. package/cjs/clipboard/ClipboardItem.d.ts.map +1 -0
  9. package/cjs/event/DataTransfer.cjs +71 -2
  10. package/cjs/event/DataTransfer.cjs.map +1 -1
  11. package/cjs/event/DataTransfer.d.ts +41 -4
  12. package/cjs/event/DataTransfer.d.ts.map +1 -1
  13. package/cjs/event/DataTransferItem.cjs +27 -9
  14. package/cjs/event/DataTransferItem.cjs.map +1 -1
  15. package/cjs/event/DataTransferItem.d.ts +10 -4
  16. package/cjs/event/DataTransferItem.d.ts.map +1 -1
  17. package/cjs/event/DataTransferItemList.cjs +16 -8
  18. package/cjs/event/DataTransferItemList.cjs.map +1 -1
  19. package/cjs/event/DataTransferItemList.d.ts +3 -3
  20. package/cjs/event/DataTransferItemList.d.ts.map +1 -1
  21. package/cjs/event/events/ClipboardEvent.cjs +23 -0
  22. package/cjs/event/events/ClipboardEvent.cjs.map +1 -0
  23. package/cjs/event/events/ClipboardEvent.d.ts +17 -0
  24. package/cjs/event/events/ClipboardEvent.d.ts.map +1 -0
  25. package/cjs/event/events/IClipboardEventInit.cjs +3 -0
  26. package/cjs/event/events/IClipboardEventInit.cjs.map +1 -0
  27. package/cjs/event/events/IClipboardEventInit.d.ts +6 -0
  28. package/cjs/event/events/IClipboardEventInit.d.ts.map +1 -0
  29. package/cjs/index.cjs +15 -2
  30. package/cjs/index.cjs.map +1 -1
  31. package/cjs/index.d.ts +8 -1
  32. package/cjs/index.d.ts.map +1 -1
  33. package/cjs/mutation-observer/MutationListener.cjs +1 -0
  34. package/cjs/mutation-observer/MutationListener.cjs.map +1 -1
  35. package/cjs/mutation-observer/MutationListener.d.ts +3 -1
  36. package/cjs/mutation-observer/MutationListener.d.ts.map +1 -1
  37. package/cjs/mutation-observer/MutationObserver.cjs +1 -0
  38. package/cjs/mutation-observer/MutationObserver.cjs.map +1 -1
  39. package/cjs/mutation-observer/MutationObserver.d.ts +1 -1
  40. package/cjs/mutation-observer/MutationObserver.d.ts.map +1 -1
  41. package/cjs/navigator/Navigator.cjs +38 -5
  42. package/cjs/navigator/Navigator.cjs.map +1 -1
  43. package/cjs/navigator/Navigator.d.ts +17 -4
  44. package/cjs/navigator/Navigator.d.ts.map +1 -1
  45. package/cjs/nodes/character-data/CharacterData.cjs +1 -1
  46. package/cjs/nodes/character-data/CharacterData.cjs.map +1 -1
  47. package/cjs/nodes/element/ElementNamedNodeMap.cjs +2 -2
  48. package/cjs/nodes/element/ElementNamedNodeMap.cjs.map +1 -1
  49. package/cjs/nodes/html-input-element/HTMLInputElement.cjs +48 -25
  50. package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
  51. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  52. package/cjs/nodes/node/NodeUtility.cjs +3 -3
  53. package/cjs/nodes/node/NodeUtility.cjs.map +1 -1
  54. package/cjs/permissions/PermissionNameEnum.cjs +35 -0
  55. package/cjs/permissions/PermissionNameEnum.cjs.map +1 -0
  56. package/cjs/permissions/PermissionNameEnum.d.ts +32 -0
  57. package/cjs/permissions/PermissionNameEnum.d.ts.map +1 -0
  58. package/cjs/permissions/PermissionStatus.cjs +26 -0
  59. package/cjs/permissions/PermissionStatus.cjs.map +1 -0
  60. package/cjs/permissions/PermissionStatus.d.ts +19 -0
  61. package/cjs/permissions/PermissionStatus.d.ts.map +1 -0
  62. package/cjs/permissions/Permissions.cjs +46 -0
  63. package/cjs/permissions/Permissions.cjs.map +1 -0
  64. package/cjs/permissions/Permissions.d.ts +25 -0
  65. package/cjs/permissions/Permissions.d.ts.map +1 -0
  66. package/cjs/version.cjs +1 -1
  67. package/cjs/window/IWindow.d.ts +128 -21
  68. package/cjs/window/IWindow.d.ts.map +1 -1
  69. package/cjs/window/Window.cjs +127 -35
  70. package/cjs/window/Window.cjs.map +1 -1
  71. package/cjs/window/Window.d.ts +131 -30
  72. package/cjs/window/Window.d.ts.map +1 -1
  73. package/lib/clipboard/Clipboard.d.ts +42 -0
  74. package/lib/clipboard/Clipboard.d.ts.map +1 -0
  75. package/lib/clipboard/Clipboard.js +98 -0
  76. package/lib/clipboard/Clipboard.js.map +1 -0
  77. package/lib/clipboard/ClipboardItem.d.ts +37 -0
  78. package/lib/clipboard/ClipboardItem.d.ts.map +1 -0
  79. package/lib/clipboard/ClipboardItem.js +64 -0
  80. package/lib/clipboard/ClipboardItem.js.map +1 -0
  81. package/lib/event/DataTransfer.d.ts +41 -4
  82. package/lib/event/DataTransfer.d.ts.map +1 -1
  83. package/lib/event/DataTransfer.js +71 -2
  84. package/lib/event/DataTransfer.js.map +1 -1
  85. package/lib/event/DataTransferItem.d.ts +10 -4
  86. package/lib/event/DataTransferItem.d.ts.map +1 -1
  87. package/lib/event/DataTransferItem.js +29 -10
  88. package/lib/event/DataTransferItem.js.map +1 -1
  89. package/lib/event/DataTransferItemList.d.ts +3 -3
  90. package/lib/event/DataTransferItemList.d.ts.map +1 -1
  91. package/lib/event/DataTransferItemList.js +16 -8
  92. package/lib/event/DataTransferItemList.js.map +1 -1
  93. package/lib/event/events/ClipboardEvent.d.ts +17 -0
  94. package/lib/event/events/ClipboardEvent.d.ts.map +1 -0
  95. package/lib/event/events/ClipboardEvent.js +17 -0
  96. package/lib/event/events/ClipboardEvent.js.map +1 -0
  97. package/lib/event/events/IClipboardEventInit.d.ts +6 -0
  98. package/lib/event/events/IClipboardEventInit.d.ts.map +1 -0
  99. package/lib/event/events/IClipboardEventInit.js +2 -0
  100. package/lib/event/events/IClipboardEventInit.js.map +1 -0
  101. package/lib/index.d.ts +8 -1
  102. package/lib/index.d.ts.map +1 -1
  103. package/lib/index.js +7 -1
  104. package/lib/index.js.map +1 -1
  105. package/lib/mutation-observer/MutationListener.d.ts +3 -1
  106. package/lib/mutation-observer/MutationListener.d.ts.map +1 -1
  107. package/lib/mutation-observer/MutationListener.js +1 -0
  108. package/lib/mutation-observer/MutationListener.js.map +1 -1
  109. package/lib/mutation-observer/MutationObserver.d.ts +1 -1
  110. package/lib/mutation-observer/MutationObserver.d.ts.map +1 -1
  111. package/lib/mutation-observer/MutationObserver.js +1 -0
  112. package/lib/mutation-observer/MutationObserver.js.map +1 -1
  113. package/lib/navigator/Navigator.d.ts +17 -4
  114. package/lib/navigator/Navigator.d.ts.map +1 -1
  115. package/lib/navigator/Navigator.js +40 -6
  116. package/lib/navigator/Navigator.js.map +1 -1
  117. package/lib/nodes/character-data/CharacterData.js +1 -1
  118. package/lib/nodes/character-data/CharacterData.js.map +1 -1
  119. package/lib/nodes/element/ElementNamedNodeMap.js +2 -2
  120. package/lib/nodes/element/ElementNamedNodeMap.js.map +1 -1
  121. package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  122. package/lib/nodes/html-input-element/HTMLInputElement.js +48 -25
  123. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  124. package/lib/nodes/node/NodeUtility.js +3 -3
  125. package/lib/nodes/node/NodeUtility.js.map +1 -1
  126. package/lib/permissions/PermissionNameEnum.d.ts +32 -0
  127. package/lib/permissions/PermissionNameEnum.d.ts.map +1 -0
  128. package/lib/permissions/PermissionNameEnum.js +33 -0
  129. package/lib/permissions/PermissionNameEnum.js.map +1 -0
  130. package/lib/permissions/PermissionStatus.d.ts +19 -0
  131. package/lib/permissions/PermissionStatus.d.ts.map +1 -0
  132. package/lib/permissions/PermissionStatus.js +20 -0
  133. package/lib/permissions/PermissionStatus.js.map +1 -0
  134. package/lib/permissions/Permissions.d.ts +25 -0
  135. package/lib/permissions/Permissions.d.ts.map +1 -0
  136. package/lib/permissions/Permissions.js +41 -0
  137. package/lib/permissions/Permissions.js.map +1 -0
  138. package/lib/version.js +1 -1
  139. package/lib/window/IWindow.d.ts +128 -21
  140. package/lib/window/IWindow.d.ts.map +1 -1
  141. package/lib/window/Window.d.ts +131 -30
  142. package/lib/window/Window.d.ts.map +1 -1
  143. package/lib/window/Window.js +127 -35
  144. package/lib/window/Window.js.map +1 -1
  145. package/package.json +1 -1
  146. package/src/clipboard/Clipboard.ts +96 -0
  147. package/src/clipboard/ClipboardItem.ts +59 -0
  148. package/src/event/DataTransfer.ts +88 -4
  149. package/src/event/DataTransferItem.ts +16 -9
  150. package/src/event/DataTransferItemList.ts +17 -7
  151. package/src/event/events/ClipboardEvent.ts +22 -0
  152. package/src/event/events/IClipboardEventInit.ts +6 -0
  153. package/src/index.ts +15 -1
  154. package/src/mutation-observer/MutationListener.ts +3 -1
  155. package/src/mutation-observer/MutationObserver.ts +3 -2
  156. package/src/navigator/Navigator.ts +27 -7
  157. package/src/nodes/character-data/CharacterData.ts +1 -1
  158. package/src/nodes/element/ElementNamedNodeMap.ts +2 -2
  159. package/src/nodes/html-input-element/HTMLInputElement.ts +49 -22
  160. package/src/nodes/node/NodeUtility.ts +3 -3
  161. package/src/permissions/PermissionNameEnum.ts +32 -0
  162. package/src/permissions/PermissionStatus.ts +23 -0
  163. package/src/permissions/Permissions.ts +45 -0
  164. package/src/window/IWindow.ts +139 -23
  165. package/src/window/Window.ts +133 -38
  166. package/cjs/config/NonImplemenetedElementClasses.cjs +0 -55
  167. package/cjs/config/NonImplemenetedElementClasses.cjs.map +0 -1
  168. package/cjs/config/NonImplemenetedElementClasses.d.ts +0 -3
  169. package/cjs/config/NonImplemenetedElementClasses.d.ts.map +0 -1
  170. package/cjs/event/NonImplementedEventTypes.cjs +0 -48
  171. package/cjs/event/NonImplementedEventTypes.cjs.map +0 -1
  172. package/cjs/event/NonImplementedEventTypes.d.ts +0 -3
  173. package/cjs/event/NonImplementedEventTypes.d.ts.map +0 -1
  174. package/lib/config/NonImplemenetedElementClasses.d.ts +0 -3
  175. package/lib/config/NonImplemenetedElementClasses.d.ts.map +0 -1
  176. package/lib/config/NonImplemenetedElementClasses.js +0 -53
  177. package/lib/config/NonImplemenetedElementClasses.js.map +0 -1
  178. package/lib/event/NonImplementedEventTypes.d.ts +0 -3
  179. package/lib/event/NonImplementedEventTypes.d.ts.map +0 -1
  180. package/lib/event/NonImplementedEventTypes.js +0 -46
  181. package/lib/event/NonImplementedEventTypes.js.map +0 -1
  182. package/src/config/NonImplemenetedElementClasses.ts +0 -52
  183. package/src/event/NonImplementedEventTypes.ts +0 -45
@@ -1 +1 @@
1
- {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,4CAA4C,CAAC;AAC/E,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AACrD,OAAO,YAAY,MAAM,wCAAwC,CAAC;AAClE,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,IAAI,MAAM,uBAAuB,CAAC;AACzC,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,IAAI,MAAM,uBAAuB,CAAC;AACzC,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAClD,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAC5D,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAClD,OAAO,mBAAmB,MAAM,uDAAuD,CAAC;AACxF,OAAO,eAAe,MAAM,+CAA+C,CAAC;AAC5E,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAC/D,OAAO,kBAAkB,MAAM,qDAAqD,CAAC;AACrF,OAAO,gBAAgB,MAAM,iDAAiD,CAAC;AAC/E,OAAO,iBAAiB,MAAM,mDAAmD,CAAC;AAClF,OAAO,mBAAmB,MAAM,wDAAwD,CAAC;AACzF,OAAO,eAAe,MAAM,+CAA+C,CAAC;AAC5E,OAAO,gBAAgB,MAAM,iDAAiD,CAAC;AAC/E,OAAO,eAAe,MAAM,+CAA+C,CAAC;AAC5E,OAAO,gBAAgB,MAAM,iDAAiD,CAAC;AAC/E,OAAO,eAAe,MAAM,+CAA+C,CAAC;AAC5E,OAAO,gBAAgB,MAAM,iDAAiD,CAAC;AAC/E,OAAO,gBAAgB,MAAM,iDAAiD,CAAC;AAC/E,OAAO,mBAAmB,MAAM,sCAAsC,CAAC;AACvE,OAAO,gBAAgB,MAAM,iDAAiD,CAAC;AAC/E,OAAO,eAAe,MAAM,+CAA+C,CAAC;AAC5E,OAAO,iBAAiB,MAAM,mDAAmD,CAAC;AAClF,OAAO,iBAAiB,MAAM,mDAAmD,CAAC;AAClF,OAAO,aAAa,MAAM,uCAAuC,CAAC;AAClE,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAC5D,OAAO,kBAAkB,MAAM,4CAA4C,CAAC;AAC5E,OAAO,iBAAiB,MAAM,mDAAmD,CAAC;AAClF,OAAO,gBAAgB,MAAM,iDAAiD,CAAC;AAC/E,OAAO,mBAAmB,MAAM,sCAAsC,CAAC;AACvE,OAAO,8BAA8B,MAAM,gDAAgD,CAAC;AAC5F,OAAO,aAAa,MAAM,0CAA0C,CAAC;AACrE,OAAO,YAAY,MAAM,gCAAgC,CAAC;AAC1D,OAAO,UAAU,MAAM,8BAA8B,CAAC;AACtD,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,cAAc,MAAM,mCAAmC,CAAC;AAC/D,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,mBAAmB,MAAM,wCAAwC,CAAC;AACzE,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,GAAG,MAAM,eAAe,CAAC;AAChC,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,wBAAwB,MAAM,sCAAsC,CAAC;AAC5E,OAAO,gBAAgB,MAAM,0CAA0C,CAAC;AACxE,OAAO,6BAA6B,MAAM,4CAA4C,CAAC;AACvF,OAAO,uBAAuB,MAAM,4BAA4B,CAAC;AACjE,OAAO,aAAa,MAAM,oCAAoC,CAAC;AAC/D,OAAO,cAAc,MAAM,sCAAsC,CAAC;AAClE,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,YAAY,MAAM,8BAA8B,CAAC;AACxD,OAAO,wBAAwB,MAAM,uBAAuB,CAAC;AAC7D,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,mBAAmB,MAAM,2CAA2C,CAAC;AAC5E,OAAO,GAAG,MAAM,eAAe,CAAC;AAChC,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,YAAY,MAAM,8BAA8B,CAAC;AACxD,OAAO,YAAY,MAAM,8BAA8B,CAAC;AACxD,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,UAAU,MAAM,+BAA+B,CAAC;AACvD,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,UAAU,MAAM,+BAA+B,CAAC;AACvD,OAAO,UAAU,MAAM,+BAA+B,CAAC;AACvD,OAAO,YAAY,MAAM,0BAA0B,CAAC;AACpD,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAC5D,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AACpE,OAAO,UAAU,MAAM,+BAA+B,CAAC;AACvD,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,UAAU,MAAM,+BAA+B,CAAC;AACvD,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,gBAAgB,MAAM,2CAA2C,CAAC;AAOzE,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,qBAAqB,MAAM,qBAAqB,CAAC;AACxD,OAAO,sBAAsB,MAAM,sBAAsB,CAAC;AAC1D,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAE5C,OAAO,cAAc,MAAM,oCAAoC,CAAC;AAChE,OAAO,0BAA0B,MAAM,0DAA0D,CAAC;AAClG,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,aAAa,MAAM,+BAA+B,CAAC;AAC1D,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,WAAW,MAAM,6BAA6B,CAAC;AACtD,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,mBAAmB,MAAM,mBAAmB,CAAC;AAEpD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,4BAA4B,MAAM,uCAAuC,CAAC;AACjF,OAAO,oBAAoB,MAAM,6CAA6C,CAAC;AAC/E,OAAO,yBAAyB,MAAM,kDAAkD,CAAC;AACzF,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAEzC,OAAO,IAAI,MAAM,uBAAuB,CAAC;AACzC,OAAO,YAAY,MAAM,mCAAmC,CAAC;AAE7D,OAAO,qBAAqB,MAAM,0DAA0D,CAAC;AAE7F,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAC/D,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAChD,OAAO,eAAe,MAAM,6BAA6B,CAAC;AAC1D,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAGlD,OAAO,oBAAoB,MAAM,sCAAsC,CAAC;AAIxE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,qBAAqB,MAAM,qCAAqC,CAAC;AAExE,OAAO,cAAc,MAAM,eAAe,CAAC;AAE3C,MAAM,oBAAoB,GAAG,UAAU,CAAC;AACxC,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAC5C,MAAM,qBAAqB,GAAG,WAAW,CAAC;AAC1C,MAAM,uBAAuB,GAAG,aAAa,CAAC;AAC9C,MAAM,wBAAwB,GAAG,cAAc,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,WAAW;IAsS9C;;;;;;;;;;OAUG;IACH,YAAY,OAA0B;QACrC,KAAK,EAAE,CAAC;QAjTT,yBAAyB;QACT,aAAQ,GAkBpB;YACH,iBAAiB,EAAE,KAAK,IAAmB,EAAE;gBAC5C,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;YAC5D,CAAC;YACD,WAAW,EAAE,GAAS,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;YAC5C,CAAC;YACD,gBAAgB,EAAE,IAAI,gBAAgB,EAAE;YACxC,aAAa,EAAE,CAAC,OAA4C,EAAQ,EAAE;gBACrE,IACC,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC;oBAClE,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,EACpE;oBACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC,KAAK,EAAE;wBAC5D,IAAI,CAAC,UAAW,GAAG,OAAO,CAAC,KAAK,CAAC;wBACjC,IAAI,CAAC,UAAW,GAAG,OAAO,CAAC,KAAK,CAAC;qBAC1C;oBAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,MAAM,EAAE;wBAC/D,IAAI,CAAC,WAAY,GAAG,OAAO,CAAC,MAAM,CAAC;wBACnC,IAAI,CAAC,WAAY,GAAG,OAAO,CAAC,MAAM,CAAC;qBAC5C;oBAED,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACxC;YACF,CAAC;YACD,qBAAqB,EAAE,IAAI;YAC3B,MAAM,EAAE,CAAC,GAAW,EAAE,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;YAC1B,CAAC;YACD,QAAQ,EAAE;gBACT,2BAA2B,EAAE,KAAK;gBAClC,4BAA4B,EAAE,KAAK;gBACnC,qBAAqB,EAAE,KAAK;gBAC5B,wBAAwB,EAAE,KAAK;gBAC/B,6BAA6B,EAAE,KAAK;gBACpC,qBAAqB,EAAE,KAAK;gBAC5B,4BAA4B,EAAE,KAAK;gBACnC,SAAS,EAAE;oBACV,SAAS,EAAE,qBACV,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,IACtF,qDAAqD,cAAc,CAAC,OAAO,EAAE;iBAC7E;gBACD,MAAM,EAAE;oBACP,kBAAkB,EAAE,OAAO;oBAC3B,SAAS,EAAE,QAAQ;iBACnB;aACD;YACD,aAAa,EAAE,CAAC,KAAa,EAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;YAC9E,cAAc,EAAE,CAAC,MAAc,EAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;SACjF,CAAC;QAEF,iBAAiB;QACD,SAAI,GAAG,IAAI,CAAC;QACZ,gBAAW,GAAG,WAAW,CAAC;QAC1B,uBAAkB,GAAG,kBAAkB,CAAC;QACxC,wBAAmB,GAAG,mBAAmB,CAAC;QAC1C,oBAAe,GAAG,eAAe,CAAC;QAClC,qBAAgB,GAAG,gBAAgB,CAAC;QACpC,sBAAiB,GAAG,iBAAiB,CAAC;QACtC,wBAAmB,GAAG,mBAAmB,CAAC;QAC1C,qBAAgB,GAAG,gBAAgB,CAAC;QACpC,sBAAiB,GAAG,iBAAiB,CAAC;QACtC,oBAAe,GAAG,eAAe,CAAC;QAClC,qBAAgB,GAAG,gBAAgB,CAAC;QACpC,qBAAgB,GAAG,gBAAgB,CAAC;QACpC,oBAAe,GAAG,eAAe,CAAC;QAClC,oBAAe,GAAG,eAAe,CAAC;QAClC,qBAAgB,GAAG,gBAAgB,CAAC;QACpC,qBAAgB,GAAG,gBAAgB,CAAC;QACpC,qBAAgB,GAAG,gBAAgB,CAAC;QACpC,oBAAe,GAAG,eAAe,CAAC;QAClC,sBAAiB,GAAG,iBAAiB,CAAC;QACtC,sBAAiB,GAAG,iBAAiB,CAAC;QACtC,SAAI,GAAG,IAAI,CAAC;QACZ,iBAAY,GAAG,YAAY,CAAC;QAC5B,kBAAa,GAAG,aAAa,CAAC;QAC9B,eAAU,GAAG,UAAU,CAAC;QACxB,uBAAkB,GAAG,kBAAkB,CAAC;QACxC,SAAI,GAAG,IAAI,CAAC;QACZ,YAAO,GAAG,OAAO,CAAC;QAClB,eAAU,GAAG,UAAU,CAAC;QACxB,0BAAqB,GAAG,qBAAqB,CAAC;QAC9C,YAAO,GAAG,OAAO,CAAC;QAClB,kBAAa,GAAG,aAAa,CAAC;QAC9B,eAAU,GAAG,UAAU,CAAC;QACxB,iBAAY,GAAG,YAAY,CAAC;QAC5B,eAAU,GAAG,UAAU,CAAC;QACxB,qBAAgB,GAAG,gBAAgB,CAAC;QACpC,aAAQ,GAAG,QAAQ,CAAC;QACpB,iBAAY,GAAG,YAAY,CAAC;QAC5B,gBAAW,GAAG,WAAW,CAAC;QAC1B,gBAAW,GAAG,WAAW,CAAC;QAC1B,UAAK,GAAG,KAAK,CAAC;QACd,YAAO,GAAG,OAAO,CAAC;QAClB,gBAAW,GAAG,WAAW,CAAC;QAC1B,mBAAc,GAAG,cAAc,CAAC;QAChC,kBAAa,GAAG,aAAa,CAAC;QAC9B,iBAAY,GAAG,YAAY,CAAC;QAC5B,eAAU,GAAG,UAAU,CAAC;QACxB,iBAAY,GAAG,YAAY,CAAC;QAC5B,eAAU,GAAG,UAAU,CAAC;QACxB,eAAU,GAAG,UAAU,CAAC;QACxB,eAAU,GAAG,UAAU,CAAC;QACxB,eAAU,GAAG,UAAU,CAAC;QACxB,iBAAY,GAAG,YAAY,CAAC;QAC5B,gBAAW,GAAG,WAAW,CAAC;QAC1B,kBAAa,GAAG,aAAa,CAAC;QAC9B,wBAAmB,GAAG,mBAAmB,CAAC;QAC1C,gBAAW,GAAG,WAAW,CAAC;QAC1B,gBAAW,GAAG,WAAW,CAAC;QAC1B,iBAAY,GAAG,YAAY,CAAC;QAC5B,qBAAgB,GAAG,gBAAgB,CAAC;QACpC,yBAAoB,GAAG,oBAAoB,CAAC;QAC5C,QAAG,GAAG,GAAG,CAAC;QACV,aAAQ,GAAG,QAAQ,CAAC;QACpB,0BAAqB,GAAG,qBAAqB,CAAC;QAC9C,WAAM,GAAkB,IAAI,CAAC,WAAW,CAAC;QACzC,kBAAa,GAAG,aAAa,CAAC;QAC9B,mBAAc,GAAG,cAAc,CAAC;QAChC,kBAAa,GAAG,aAAa,CAAC;QAC9B,SAAI,GAAG,IAAI,CAAC;QACZ,SAAI,GAAG,IAAI,CAAC;QACZ,iBAAY,GAAG,YAAY,CAAC;QAC5B,YAAO,GAAG,OAAO,CAAC;QAClB,WAAM,GAAG,MAAM,CAAC;QAChB,YAAO,GAAG,OAAO,CAAC;QAClB,oBAAe,GAAG,eAAe,CAAC;QAClC,mBAAc,GAAG,cAAc,CAAC;QAChC,+BAA0B,GAAG,0BAA0B,CAAC;QACxD,aAAQ,GAAG,QAAQ,CAAC;QACpB,iBAAY,GAAG,YAAY,CAAC;QAC5B,YAAO,GAAG,OAAO,CAAC;QAClB,qBAAgB,GAAG,gBAAgB,CAAC;QACpC,oBAAe,GAAG,eAAe,CAAC;QAClC,oBAAe,GAAG,eAAe,CAAC;QAClC,qBAAgB,GAAG,gBAAgB,CAAC;QACpC,iBAAY,GAAG,YAAY,CAAC;QAC5B,iBAAY,GAAG,YAAY,CAAC;QAC5B,oBAAe,GAAG,eAAe,CAAC;QAClC,cAAS,GAAG,SAAS,CAAC;QACtB,cAAS,GAAG,SAAS,CAAC;QACtB,aAAQ,GAAG,QAAQ,CAAC;QACpB,kBAAa,GAAG,aAAa,CAAC;QAC9B,WAAM,GAAG,MAAM,CAAC;QAChB,gBAAW,GAAG,WAAW,CAAC;QAC1B,aAAQ,GAAG,QAAQ,CAAC;QACpB,YAAO,GAA4C,OAAO,CAAC;QAU3D,yBAAoB,GAAG,oBAAoB,CAAC;QAC5C,8BAAyB,GAAG,yBAAyB,CAAC;QACtD,mBAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,mBAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,oBAAe,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,oBAAe,GAAG,eAAe,CAAC;QAClC,gBAAW,GAAG,WAAW,CAAC;QAC1B,aAAQ,GAAG,QAAQ,CAAC;QASpC,SAAS;QACF,WAAM,GAA2B,IAAI,CAAC;QACtC,YAAO,GAAgC,IAAI,CAAC;QASnC,SAAI,GAAG,IAAI,CAAC;QACZ,QAAG,GAAG,IAAI,CAAC;QACX,WAAM,GAAG,IAAI,CAAC;QACd,WAAM,GAAG,IAAI,CAAC;QACd,eAAU,GAAG,IAAI,CAAC;QAElB,qBAAgB,GAAG,CAAC,CAAC;QAGrB,gBAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACpC,eAAU,GAAW,IAAI,CAAC;QAC1B,gBAAW,GAAW,GAAG,CAAC;QAC1B,eAAU,GAAW,IAAI,CAAC;QAC1B,gBAAW,GAAW,GAAG,CAAC;QAC1B,WAAM,GAAG,SAAS,CAAC;QAM5B,WAAM,GAAG,MAAM,CAAC;QAyDvB,6BAA6B;QAE7B,2FAA2F;QAC3F,yBAAyB;QAClB,+BAA0B,GAAoC,EAAE,CAAC;QAuBvE,IAAI,CAAC,cAAc,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,EAAE,CAAC;QAElC,IAAI,OAAO,EAAE;YACZ,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;gBAChC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;gBAChC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;aAChC;iBAAM,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE;gBAC5C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;gBACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;aACrC;YAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;gBACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;gBAClC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;aAClC;iBAAM,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE;gBAC7C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;gBACvC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;aACvC;YAED,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;aACjC;YAED,IAAI,OAAO,CAAC,QAAQ,EAAE;gBACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG;oBACxB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ;oBACzB,GAAG,OAAO,CAAC,QAAQ;oBACnB,SAAS,EAAE;wBACV,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS;wBACnC,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS;qBAC7B;oBACD,MAAM,EAAE;wBACP,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM;wBAChC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM;qBAC1B;iBACD,CAAC;aACF;SACD;QAED,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;YAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;SAC/B;aAAM;YACN,IAAI,CAAC,QAAQ,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,EAAE,CAAC;YAClE,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;SACvE;QAED,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,sBAAsB,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,qBAAqB,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,uBAAuB,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,wBAAwB,CAAC;QAEhD,8BAA8B;QAC9B,KAAK,MAAM,SAAS,IAAI,wBAAwB,EAAE;YACjD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACrB,IAAI,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;aACxB;SACD;QAED,kCAAkC;QAClC,KAAK,MAAM,SAAS,IAAI,6BAA6B,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACrB,IAAI,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;aAC9B;SACD;QAED,6FAA6F;QAC7F,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CACpE,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,CACjD,EAAE;YACF,IACC,GAAG,KAAK,aAAa;gBACrB,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;gBACd,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,UAAU,EAC9B;gBACD,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACjC;SACD;QAED,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC;QACjC,YAAY,CAAC,YAAY,GAAG,MAAM,CAAC;QAEnC,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAEpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,2EAA2E;QAC3E,wGAAwG;QAExG,sBAAsB,CAAC,cAAc,GAAG,QAAQ,CAAC;QACjD,qBAAqB,CAAC,cAAc,GAAG,QAAQ,CAAC;QAChD,mBAAmB,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC9C,8BAA8B,CAAC,cAAc,GAAG,QAAQ,CAAC;QACzD,wBAAwB,CAAC,cAAc,GAAG,QAAQ,CAAC;QACnD,uBAAuB,CAAC,cAAc,GAAG,QAAQ,CAAC;QAClD,mBAAmB,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC9C,4BAA4B,CAAC,cAAc,GAAG,QAAQ,CAAC;QAEvD,wCAAwC;QACxC,MAAM,QAAS,SAAQ,sBAAsB;;QAC9B,uBAAc,GAAc,QAAQ,CAAC;QAEpD,MAAM,OAAQ,SAAQ,qBAAqB;;QAC5B,sBAAc,GAAc,QAAQ,CAAC;QAEpD,MAAM,KAAM,SAAQ,mBAAmB;;QACxB,oBAAc,GAAc,QAAQ,CAAC;QAEpD,MAAM,gBAAiB,SAAQ,8BAA8B;;QAC9C,+BAAc,GAAc,QAAQ,CAAC;QAEpD,MAAM,UAAW,SAAQ,wBAAwB;;QAClC,yBAAc,GAAc,QAAQ,CAAC;QAEpD,MAAM,SAAU,SAAQ,uBAAuB;;QAChC,wBAAc,GAAc,QAAQ,CAAC;QAEpD,MAAM,cAAe,SAAQ,4BAA4B;;QAC1C,6BAAc,GAAc,QAAQ,CAAC;QAEpD,MAAM,KAAM,SAAQ,mBAAmB;;QACxB,oBAAc,GAAc,QAAQ,CAAC;QAEpD,MAAM,KAAM,SAAQ,mBAAmB;;QACxB,oBAAc,GAAc,QAAQ,CAAC;QAEpD,uCAAuC;QAEvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACH,IAAW,WAAW;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,IAAW,WAAW;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,IAAW,GAAG;QACb,OAAO,IAAI,GAAG,EAAE,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,OAAiB;QACxC,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,IAAI,IAAI,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChG,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,YAAY;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,CAA8D,EAAE,CAAU;QACvF,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YAC1B,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE;gBAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;oBACpB,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE;wBACf,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAU,GAAG,CAAC,CAAC,GAAG,CAAC;qBAC1D;oBACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;wBAChB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAW,GAAG,CAAC,CAAC,IAAI,CAAC;qBAC5D;gBACF,CAAC,CAAC,CAAC;aACH;iBAAM;gBACN,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE;oBACf,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAU,GAAG,CAAC,CAAC,GAAG,CAAC;iBAC1D;gBACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;oBAChB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAW,GAAG,CAAC,CAAC,IAAI,CAAC;iBAC5D;aACD;SACD;aAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,UAAW,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAU,GAAG,CAAC,CAAC;SACtD;IACF,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CACd,CAA8D,EAC9D,CAAU;QAEV,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAC,gBAAwB;QACzC,OAAO,IAAI,cAAc,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;OAOG;IACI,UAAU,CAAC,QAAkB,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,IAAe;QAClE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;YAChC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE;gBACjD,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;aAClB;iBAAM;gBACN,kBAAkB,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;aAC/D;QACF,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,EAAE,CAAC;IACX,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,EAAkB;QACrC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACI,WAAW,CAAC,QAAkB,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,IAAe;QACnE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;YACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE;gBACjD,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;aAClB;iBAAM;gBACN,kBAAkB,CAAC,YAAY,CAC9B,IAAI,EACJ,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,EACvB,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAC5B,CAAC;aACF;QACF,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO,EAAE,CAAC;IACX,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,EAAkB;QACtC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACI,qBAAqB,CAAC,QAAqC;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACI,oBAAoB,CAAC,EAAkB;QAC7C,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,cAAc,CAAC,QAAkB;QACvC,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC;QAClF,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE;YACzB,IAAI,CAAC,SAAS,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAE/C,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE;oBACjD,QAAQ,EAAE,CAAC;iBACX;qBAAM;oBACN,kBAAkB,CAAC,YAAY,CAAC,IAAI,EAAiB,QAAQ,CAAC,CAAC;iBAC/D;aACD;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,CAAC,GAAgB,EAAE,IAAmB;QACvD,OAAO,MAAM,IAAI,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5E,CAAC;IAED;;;;;;OAMG;IACI,IAAI,CAAC,IAAa;QACxB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACI,IAAI,CAAC,IAAa;QACxB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACI,WAAW,CAAC,OAAgB,EAAE,YAAY,GAAG,GAAG,EAAE,SAAqB;QAC7E,4BAA4B;QAE5B,IAAI,YAAY,IAAI,YAAY,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,YAAY,EAAE;YAClF,MAAM,IAAI,YAAY,CACrB,6EAA6E,YAAY,sDAAsD,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,EACxK,oBAAoB,CAAC,aAAa,CAClC,CAAC;SACF;QAED,IAAI;YACH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;SACxB;QAAC,OAAO,KAAK,EAAE;YACf,MAAM,IAAI,YAAY,CACrB,yFAAyF,EACzF,oBAAoB,CAAC,iBAAiB,CACtC,CAAC;SACF;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAC3B,IAAI,CAAC,aAAa,CACjB,IAAI,YAAY,CAAC,SAAS,EAAE;YAC3B,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,EAAE;SACf,CAAC,CACF,CACD,CAAC;IACH,CAAC;IAED;;OAEG;IACO,eAAe;QACxB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACxB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAEvB,2DAA2D;YAC3D,wDAAwD;YACxD,sBAAsB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SAC1C;IACF,CAAC;CACD"}
1
+ {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "12.7.0",
3
+ "version": "12.8.1",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -0,0 +1,96 @@
1
+ import DOMException from '../exception/DOMException.js';
2
+ import IWindow from '../window/IWindow.js';
3
+ import ClipboardItem from './ClipboardItem.js';
4
+ import Blob from '../file/Blob.js';
5
+
6
+ /**
7
+ * Clipboard API.
8
+ *
9
+ * Reference:
10
+ * https://developer.mozilla.org/en-US/docs/Web/API/Clipboard.
11
+ */
12
+ export default class Clipboard {
13
+ #ownerWindow: IWindow;
14
+ #data: ClipboardItem[] = [];
15
+
16
+ /**
17
+ * Constructor.
18
+ *
19
+ * @param ownerWindow Owner window.
20
+ */
21
+ constructor(ownerWindow: IWindow) {
22
+ this.#ownerWindow = ownerWindow;
23
+ }
24
+
25
+ /**
26
+ * Returns data.
27
+ *
28
+ * @returns Data.
29
+ */
30
+ public async read(): Promise<ClipboardItem[]> {
31
+ const permissionStatus = await this.#ownerWindow.navigator.permissions.query({
32
+ name: 'clipboard-read'
33
+ });
34
+ if (permissionStatus.state === 'denied') {
35
+ throw new DOMException(`Failed to execute 'read' on 'Clipboard': The request is not allowed`);
36
+ }
37
+ return this.#data;
38
+ }
39
+
40
+ /**
41
+ * Returns text.
42
+ *
43
+ * @returns Text.
44
+ */
45
+ public async readText(): Promise<string> {
46
+ const permissionStatus = await this.#ownerWindow.navigator.permissions.query({
47
+ name: 'clipboard-read'
48
+ });
49
+ if (permissionStatus.state === 'denied') {
50
+ throw new DOMException(
51
+ `Failed to execute 'readText' on 'Clipboard': The request is not allowed`
52
+ );
53
+ }
54
+ let text = '';
55
+ for (const item of this.#data) {
56
+ if (item.types.includes('text/plain')) {
57
+ text += await (await item.getType('text/plain')).text();
58
+ }
59
+ }
60
+ return text;
61
+ }
62
+
63
+ /**
64
+ * Writes data.
65
+ *
66
+ * @param data Data.
67
+ */
68
+ public async write(data: ClipboardItem[]): Promise<void> {
69
+ const permissionStatus = await this.#ownerWindow.navigator.permissions.query({
70
+ name: 'clipboard-write'
71
+ });
72
+ if (permissionStatus.state === 'denied') {
73
+ throw new DOMException(
74
+ `Failed to execute 'write' on 'Clipboard': The request is not allowed`
75
+ );
76
+ }
77
+ this.#data = data;
78
+ }
79
+
80
+ /**
81
+ * Writes text.
82
+ *
83
+ * @param text Text.
84
+ */
85
+ public async writeText(text: string): Promise<void> {
86
+ const permissionStatus = await this.#ownerWindow.navigator.permissions.query({
87
+ name: 'clipboard-write'
88
+ });
89
+ if (permissionStatus.state === 'denied') {
90
+ throw new DOMException(
91
+ `Failed to execute 'writeText' on 'Clipboard': The request is not allowed`
92
+ );
93
+ }
94
+ this.#data = [new ClipboardItem({ 'text/plain': new Blob([text], { type: 'text/plain' }) })];
95
+ }
96
+ }
@@ -0,0 +1,59 @@
1
+ import DOMException from '../exception/DOMException.js';
2
+ import Blob from '../file/Blob.js';
3
+
4
+ /**
5
+ * Clipboard Item API.
6
+ *
7
+ * Reference:
8
+ * https://developer.mozilla.org/en-US/docs/Web/API/ClipboardItem.
9
+ */
10
+ export default class ClipboardItem {
11
+ public readonly presentationStyle: 'unspecified' | 'inline' | 'attachment' = 'unspecified';
12
+ #data: { [mimeType: string]: Blob };
13
+
14
+ /**
15
+ * Constructor.
16
+ *
17
+ * @param data Data.
18
+ * @param [options] Options.
19
+ * @param [options.presentationStyle] Presentation style.
20
+ */
21
+ constructor(
22
+ data: { [mimeType: string]: Blob },
23
+ options?: { presentationStyle?: 'unspecified' | 'inline' | 'attachment' }
24
+ ) {
25
+ for (const mimeType of Object.keys(data)) {
26
+ if (mimeType !== data[mimeType].type) {
27
+ throw new DOMException(`Type ${mimeType} does not match the blob's type`);
28
+ }
29
+ }
30
+ this.#data = data;
31
+ if (options?.presentationStyle) {
32
+ this.presentationStyle = options.presentationStyle;
33
+ }
34
+ }
35
+
36
+ /**
37
+ * Returns types.
38
+ *
39
+ * @returns Types.
40
+ */
41
+ public get types(): string[] {
42
+ return Object.keys(this.#data);
43
+ }
44
+
45
+ /**
46
+ * Returns data by type.
47
+ *
48
+ * @param type Type.
49
+ * @returns Data.
50
+ */
51
+ public async getType(type: string): Promise<Blob> {
52
+ if (!this.#data[type]) {
53
+ throw new DOMException(
54
+ `Failed to execute 'getType' on 'ClipboardItem': The type '${type}' was not found`
55
+ );
56
+ }
57
+ return this.#data[type];
58
+ }
59
+ }
@@ -1,13 +1,97 @@
1
1
  import File from '../file/File.js';
2
+ import DataTransferItem from './DataTransferItem.js';
2
3
  import DataTransferItemList from './DataTransferItemList.js';
3
4
 
4
5
  /**
6
+ * DataTransfer.
5
7
  *
8
+ * Reference:
9
+ * https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer
6
10
  */
7
11
  export default class DataTransfer {
8
- public dropEffect = 'none';
9
- public effectAllowed = 'none';
10
- public files: File[] = [];
12
+ public dropEffect: 'none' | 'copy' | 'link' | 'move' = 'none';
13
+ public effectAllowed:
14
+ | 'none'
15
+ | 'copy'
16
+ | 'copyLink'
17
+ | 'copyMove'
18
+ | 'link'
19
+ | 'linkMove'
20
+ | 'move'
21
+ | 'all'
22
+ | 'uninitialized' = 'none';
11
23
  public readonly items: DataTransferItemList = new DataTransferItemList();
12
- public readonly types: string[] = [];
24
+
25
+ /**
26
+ * Returns files.
27
+ *
28
+ * @returns Files.
29
+ */
30
+ public get files(): File[] {
31
+ const files = [];
32
+ for (const item of this.items) {
33
+ if (item.kind === 'file') {
34
+ files.push(item.getAsFile());
35
+ }
36
+ }
37
+ return files;
38
+ }
39
+
40
+ /**
41
+ * Returns types.
42
+ *
43
+ * @returns Types.
44
+ */
45
+ public get types(): string[] {
46
+ return this.items.map((item) => item.type);
47
+ }
48
+
49
+ /**
50
+ * Clears the data.
51
+ */
52
+ public clearData(): void {
53
+ this.items.clear();
54
+ }
55
+
56
+ /**
57
+ * Sets the data.
58
+ *
59
+ * @param format Format.
60
+ * @param data Data.
61
+ */
62
+ public setData(format: string, data: string): void {
63
+ for (let i = 0, max = this.items.length; i < max; i++) {
64
+ if (this.items[i].type === format) {
65
+ this.items[i] = new DataTransferItem(data, format);
66
+ return;
67
+ }
68
+ }
69
+ this.items.add(data, format);
70
+ }
71
+
72
+ /**
73
+ * Gets the data.
74
+ *
75
+ * @param format Format.
76
+ * @returns Data.
77
+ */
78
+ public getData(format: string): string {
79
+ for (let i = 0, max = this.items.length; i < max; i++) {
80
+ if (this.items[i].type === format) {
81
+ let data = '';
82
+ this.items[i].getAsString((s) => (data = s));
83
+ return data;
84
+ }
85
+ }
86
+ return '';
87
+ }
88
+
89
+ /**
90
+ * Sets drag image.
91
+ *
92
+ * TODO: Implement.
93
+ */
94
+ public setDragImage(): void {
95
+ throw new Error('Not implemented.');
96
+ }
13
97
  }
@@ -1,21 +1,26 @@
1
1
  import File from '../file/File.js';
2
2
 
3
3
  /**
4
+ * Data transfer item.
4
5
  *
6
+ * Reference:
7
+ * https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem.
5
8
  */
6
9
  export default class DataTransferItem {
7
- public readonly kind: string = '';
8
- public readonly type: string = '';
9
- private _item: string | File = null;
10
+ public readonly kind: 'string' | 'file';
11
+ public readonly type: string;
12
+ #item: string | File = null;
10
13
 
11
14
  /**
12
15
  * Constructor.
13
16
  *
14
17
  * @param item Item.
18
+ * @param type Type.
15
19
  */
16
- constructor(item: string | File) {
20
+ constructor(item: string | File, type = '') {
17
21
  this.kind = typeof item === 'string' ? 'string' : 'file';
18
- this._item = item;
22
+ this.type = this.kind === 'string' ? type : (<File>item).type;
23
+ this.#item = item;
19
24
  }
20
25
 
21
26
  /**
@@ -25,16 +30,18 @@ export default class DataTransferItem {
25
30
  if (this.kind === 'string') {
26
31
  return null;
27
32
  }
28
- return <File>this._item;
33
+ return <File>this.#item;
29
34
  }
30
35
 
31
36
  /**
32
37
  * Returns string.
38
+ *
39
+ * @param callback Callback.
33
40
  */
34
- public getAsString(): string {
41
+ public getAsString(callback: (text: string) => void): void {
35
42
  if (this.kind === 'file') {
36
- return null;
43
+ callback;
37
44
  }
38
- return <string>this._item;
45
+ callback(<string>this.#item);
39
46
  }
40
47
  }
@@ -4,16 +4,24 @@ import DataTransferItem from './DataTransferItem.js';
4
4
  /**
5
5
  *
6
6
  */
7
- export default class DataTransferItemList {
8
- public readonly DataTransferItem: DataTransferItem[] = [];
9
-
7
+ export default class DataTransferItemList extends Array<DataTransferItem> {
10
8
  /**
11
9
  * Adds an item.
12
10
  *
13
11
  * @param item Item.
12
+ * @param type Type.
14
13
  */
15
- public add(item: File | string): void {
16
- this.DataTransferItem.push(new DataTransferItem(item));
14
+ public add(item: File | string, type?: string): void {
15
+ if (item instanceof File) {
16
+ this.push(new DataTransferItem(item));
17
+ return;
18
+ }
19
+ if (!type) {
20
+ throw new TypeError(
21
+ `Failed to execute 'add' on 'DataTransferItemList': parameter 1 is not of type 'File'.`
22
+ );
23
+ }
24
+ this.push(new DataTransferItem(item, type));
17
25
  }
18
26
 
19
27
  /**
@@ -22,13 +30,15 @@ export default class DataTransferItemList {
22
30
  * @param index Index.
23
31
  */
24
32
  public remove(index: number): void {
25
- this.DataTransferItem.splice(index, 1);
33
+ this.splice(index, 1);
26
34
  }
27
35
 
28
36
  /**
29
37
  * Clears list.
30
38
  */
31
39
  public clear(): void {
32
- (<DataTransferItem[]>this.DataTransferItem) = [];
40
+ while (this.length) {
41
+ this.pop();
42
+ }
33
43
  }
34
44
  }
@@ -0,0 +1,22 @@
1
+ import DataTransfer from '../DataTransfer.js';
2
+ import Event from '../Event.js';
3
+ import IClipboardEventInit from './IClipboardEventInit.js';
4
+
5
+ /**
6
+ *
7
+ */
8
+ export default class ClipboardEvent extends Event {
9
+ public clipboardData: DataTransfer | null;
10
+
11
+ /**
12
+ * Constructor.
13
+ *
14
+ * @param type Event type.
15
+ * @param [eventInit] Event init.
16
+ */
17
+ constructor(type: string, eventInit: IClipboardEventInit | null = null) {
18
+ super(type, eventInit);
19
+
20
+ this.clipboardData = eventInit?.clipboardData ?? null;
21
+ }
22
+ }
@@ -0,0 +1,6 @@
1
+ import DataTransfer from '../DataTransfer.js';
2
+ import IEventInit from '../IEventInit.js';
3
+
4
+ export default interface IClipboardEventInit extends IEventInit {
5
+ clipboardData?: DataTransfer | null;
6
+ }
package/src/index.ts CHANGED
@@ -8,6 +8,7 @@ import { URLSearchParams } from 'url';
8
8
  import URL from './url/URL.js';
9
9
  import Location from './location/Location.js';
10
10
  import MutationObserver from './mutation-observer/MutationObserver.js';
11
+ import MutationRecord from './mutation-observer/MutationRecord.js';
11
12
  import ResizeObserver from './resize-observer/ResizeObserver.js';
12
13
  import Blob from './file/Blob.js';
13
14
  import File from './file/File.js';
@@ -152,6 +153,12 @@ import IVirtualConsoleLogGroup from './console/types/IVirtualConsoleLogGroup.js'
152
153
  import IVirtualConsolePrinter from './console/types/IVirtualConsolePrinter.js';
153
154
  import VirtualConsole from './console/VirtualConsole.js';
154
155
  import VirtualConsolePrinter from './console/VirtualConsolePrinter.js';
156
+ import Permissions from './permissions/Permissions.js';
157
+ import PermissionStatus from './permissions/PermissionStatus.js';
158
+ import Clipboard from './clipboard/Clipboard.js';
159
+ import ClipboardItem from './clipboard/ClipboardItem.js';
160
+ import ClipboardEvent from './event/events/ClipboardEvent.js';
161
+ import IClipboardEventInit from './event/events/IClipboardEventInit.js';
155
162
 
156
163
  export {
157
164
  GlobalWindow,
@@ -163,6 +170,7 @@ export {
163
170
  URL,
164
171
  Location,
165
172
  MutationObserver,
173
+ MutationRecord,
166
174
  ResizeObserver,
167
175
  Blob,
168
176
  File,
@@ -199,6 +207,8 @@ export {
199
207
  ProgressEvent,
200
208
  SubmitEvent,
201
209
  WheelEvent,
210
+ ClipboardEvent,
211
+ IClipboardEventInit,
202
212
  DOMParser,
203
213
  Document,
204
214
  IDocument,
@@ -307,5 +317,9 @@ export {
307
317
  IVirtualConsoleLogGroup,
308
318
  IVirtualConsolePrinter,
309
319
  VirtualConsole,
310
- VirtualConsolePrinter
320
+ VirtualConsolePrinter,
321
+ Permissions,
322
+ PermissionStatus,
323
+ Clipboard,
324
+ ClipboardItem
311
325
  };
@@ -1,4 +1,5 @@
1
1
  import IMutationObserverInit from './IMutationObserverInit.js';
2
+ import MutationObserver from './MutationObserver.js';
2
3
  import MutationRecord from './MutationRecord.js';
3
4
 
4
5
  /**
@@ -6,5 +7,6 @@ import MutationRecord from './MutationRecord.js';
6
7
  */
7
8
  export default class MutationListener {
8
9
  public options: IMutationObserverInit = null;
9
- public callback: (record: MutationRecord[]) => void = null;
10
+ public observer: MutationObserver = null;
11
+ public callback: (record: MutationRecord[], observer: MutationObserver) => void = null;
10
12
  }
@@ -11,7 +11,7 @@ import MutationRecord from './MutationRecord.js';
11
11
  * @see https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
12
12
  */
13
13
  export default class MutationObserver {
14
- private callback: (records: MutationRecord[]) => void;
14
+ private callback: (records: MutationRecord[], observer: MutationObserver) => void;
15
15
  private target: INode = null;
16
16
  private listener: MutationObserverListener = null;
17
17
 
@@ -20,7 +20,7 @@ export default class MutationObserver {
20
20
  *
21
21
  * @param callback Callback.
22
22
  */
23
- constructor(callback: (records: MutationRecord[]) => void) {
23
+ constructor(callback: (records: MutationRecord[], observer: MutationObserver) => void) {
24
24
  this.callback = callback;
25
25
  }
26
26
 
@@ -47,6 +47,7 @@ export default class MutationObserver {
47
47
  this.listener = new MutationObserverListener();
48
48
  this.listener.options = options;
49
49
  this.listener.callback = this.callback.bind(this);
50
+ this.listener.observer = this;
50
51
 
51
52
  (<Node>target)._observe(this.listener);
52
53
  }
@@ -1,6 +1,8 @@
1
1
  import MimeTypeArray from './MimeTypeArray.js';
2
2
  import PluginArray from './PluginArray.js';
3
3
  import IWindow from '../window/IWindow.js';
4
+ import Permissions from '../permissions/Permissions.js';
5
+ import Clipboard from '../clipboard/Clipboard.js';
4
6
 
5
7
  /**
6
8
  * Browser Navigator API.
@@ -11,14 +13,19 @@ import IWindow from '../window/IWindow.js';
11
13
  * https://html.spec.whatwg.org/multipage/system-state.html#dom-navigator.
12
14
  */
13
15
  export default class Navigator {
14
- private _ownerWindow: IWindow;
16
+ #ownerWindow: IWindow;
17
+ #clipboard: Clipboard;
18
+ #permissions: Permissions;
15
19
 
16
20
  /**
21
+ * Constructor.
17
22
  *
18
- * @param ownerWindow
23
+ * @param ownerWindow Owner window.
19
24
  */
20
25
  constructor(ownerWindow: IWindow) {
21
- this._ownerWindow = ownerWindow;
26
+ this.#ownerWindow = ownerWindow;
27
+ this.#clipboard = new Clipboard(ownerWindow);
28
+ this.#permissions = new Permissions();
22
29
  }
23
30
 
24
31
  /**
@@ -144,7 +151,7 @@ export default class Navigator {
144
151
  * "appCodeName/appVersion number (Platform; Security; OS-or-CPU; Localization; rv: revision-version-number) product/productSub Application-Name Application-Name-version".
145
152
  */
146
153
  public get userAgent(): string {
147
- return this._ownerWindow.happyDOM.settings.navigator.userAgent;
154
+ return this.#ownerWindow.happyDOM.settings.navigator.userAgent;
148
155
  }
149
156
 
150
157
  /**
@@ -155,10 +162,23 @@ export default class Navigator {
155
162
  }
156
163
 
157
164
  /**
158
- * TODO: Not implemented.
165
+ * Returns a Permissions object that can be used to query and update permission status of APIs covered by the Permissions API.
166
+ *
167
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Navigator/permissions
168
+ * @returns Permissions.
159
169
  */
160
- public get permissions(): string {
161
- return null;
170
+ public get permissions(): Permissions {
171
+ return this.#permissions;
172
+ }
173
+
174
+ /**
175
+ * Returns a Clipboard object providing access to the contents of the system clipboard.
176
+ *
177
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Navigator/clipboard
178
+ * @returns Clipboard.
179
+ */
180
+ public get clipboard(): Clipboard {
181
+ return this.#clipboard;
162
182
  }
163
183
 
164
184
  /**
@@ -68,7 +68,7 @@ export default abstract class CharacterData extends Node implements ICharacterDa
68
68
  record.target = this;
69
69
  record.type = MutationTypeEnum.characterData;
70
70
  record.oldValue = observer.options.characterDataOldValue ? oldValue : null;
71
- observer.callback([record]);
71
+ observer.callback([record], observer.observer);
72
72
  }
73
73
  }
74
74
  }