happy-dom 13.3.4 → 13.3.6

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 (67) hide show
  1. package/cjs/event/ITouchInit.cjs +3 -0
  2. package/cjs/event/ITouchInit.cjs.map +1 -0
  3. package/cjs/event/ITouchInit.d.ts +16 -0
  4. package/cjs/event/ITouchInit.d.ts.map +1 -0
  5. package/cjs/event/Touch.cjs +28 -0
  6. package/cjs/event/Touch.cjs.map +1 -0
  7. package/cjs/event/Touch.d.ts +26 -0
  8. package/cjs/event/Touch.d.ts.map +1 -0
  9. package/cjs/event/events/ITouchEventInit.cjs +3 -0
  10. package/cjs/event/events/ITouchEventInit.cjs.map +1 -0
  11. package/cjs/event/events/ITouchEventInit.d.ts +12 -0
  12. package/cjs/event/events/ITouchEventInit.d.ts.map +1 -0
  13. package/cjs/event/events/TouchEvent.cjs +29 -0
  14. package/cjs/event/events/TouchEvent.cjs.map +1 -0
  15. package/cjs/event/events/TouchEvent.d.ts +23 -0
  16. package/cjs/event/events/TouchEvent.d.ts.map +1 -0
  17. package/cjs/index.cjs +41 -37
  18. package/cjs/index.cjs.map +1 -1
  19. package/cjs/index.d.ts +26 -22
  20. package/cjs/index.d.ts.map +1 -1
  21. package/cjs/query-selector/SelectorParser.cjs +1 -1
  22. package/cjs/query-selector/SelectorParser.cjs.map +1 -1
  23. package/cjs/version.cjs +1 -1
  24. package/cjs/window/BrowserWindow.cjs +5 -2
  25. package/cjs/window/BrowserWindow.cjs.map +1 -1
  26. package/cjs/window/BrowserWindow.d.ts +4 -1
  27. package/cjs/window/BrowserWindow.d.ts.map +1 -1
  28. package/cjs/window/IBrowserWindow.d.ts +4 -1
  29. package/cjs/window/IBrowserWindow.d.ts.map +1 -1
  30. package/lib/event/ITouchInit.d.ts +16 -0
  31. package/lib/event/ITouchInit.d.ts.map +1 -0
  32. package/lib/event/ITouchInit.js +2 -0
  33. package/lib/event/ITouchInit.js.map +1 -0
  34. package/lib/event/Touch.d.ts +26 -0
  35. package/lib/event/Touch.d.ts.map +1 -0
  36. package/lib/event/Touch.js +25 -0
  37. package/lib/event/Touch.js.map +1 -0
  38. package/lib/event/events/ITouchEventInit.d.ts +12 -0
  39. package/lib/event/events/ITouchEventInit.d.ts.map +1 -0
  40. package/lib/event/events/ITouchEventInit.js +2 -0
  41. package/lib/event/events/ITouchEventInit.js.map +1 -0
  42. package/lib/event/events/TouchEvent.d.ts +23 -0
  43. package/lib/event/events/TouchEvent.d.ts.map +1 -0
  44. package/lib/event/events/TouchEvent.js +23 -0
  45. package/lib/event/events/TouchEvent.js.map +1 -0
  46. package/lib/index.d.ts +26 -22
  47. package/lib/index.d.ts.map +1 -1
  48. package/lib/index.js +10 -8
  49. package/lib/index.js.map +1 -1
  50. package/lib/query-selector/SelectorParser.js +1 -1
  51. package/lib/query-selector/SelectorParser.js.map +1 -1
  52. package/lib/version.js +1 -1
  53. package/lib/window/BrowserWindow.d.ts +4 -1
  54. package/lib/window/BrowserWindow.d.ts.map +1 -1
  55. package/lib/window/BrowserWindow.js +5 -2
  56. package/lib/window/BrowserWindow.js.map +1 -1
  57. package/lib/window/IBrowserWindow.d.ts +4 -1
  58. package/lib/window/IBrowserWindow.d.ts.map +1 -1
  59. package/package.json +1 -1
  60. package/src/event/ITouchInit.ts +16 -0
  61. package/src/event/Touch.ts +40 -0
  62. package/src/event/events/ITouchEventInit.ts +12 -0
  63. package/src/event/events/TouchEvent.ts +34 -0
  64. package/src/index.ts +80 -72
  65. package/src/query-selector/SelectorParser.ts +1 -1
  66. package/src/window/BrowserWindow.ts +5 -2
  67. package/src/window/IBrowserWindow.ts +4 -1
package/src/index.ts CHANGED
@@ -33,6 +33,7 @@ import DataTransferItemList from './event/DataTransferItemList.js';
33
33
  import Event from './event/Event.js';
34
34
  import EventPhaseEnum from './event/EventPhaseEnum.js';
35
35
  import EventTarget from './event/EventTarget.js';
36
+ import Touch from './event/Touch.js';
36
37
  import UIEvent from './event/UIEvent.js';
37
38
  import AnimationEvent from './event/events/AnimationEvent.js';
38
39
  import ClipboardEvent from './event/events/ClipboardEvent.js';
@@ -44,6 +45,7 @@ import KeyboardEvent from './event/events/KeyboardEvent.js';
44
45
  import MouseEvent from './event/events/MouseEvent.js';
45
46
  import ProgressEvent from './event/events/ProgressEvent.js';
46
47
  import SubmitEvent from './event/events/SubmitEvent.js';
48
+ import TouchEvent from './event/events/TouchEvent.js';
47
49
  import WheelEvent from './event/events/WheelEvent.js';
48
50
  import DOMException from './exception/DOMException.js';
49
51
  import AbortController from './fetch/AbortController.js';
@@ -56,7 +58,6 @@ import File from './file/File.js';
56
58
  import FileReader from './file/FileReader.js';
57
59
  import FormData from './form-data/FormData.js';
58
60
  import History from './history/History.js';
59
- import Location from './url/Location.js';
60
61
  import MutationObserver from './mutation-observer/MutationObserver.js';
61
62
  import MutationRecord from './mutation-observer/MutationRecord.js';
62
63
  import Attr from './nodes/attr/Attr.js';
@@ -67,8 +68,10 @@ import Document from './nodes/document/Document.js';
67
68
  import DOMRect from './nodes/element/DOMRect.js';
68
69
  import Element from './nodes/element/Element.js';
69
70
  import HTMLCollection from './nodes/element/HTMLCollection.js';
71
+ import HTMLAnchorElement from './nodes/html-anchor-element/HTMLAnchorElement.js';
70
72
  import HTMLAudioElement from './nodes/html-audio-element/HTMLAudioElement.js';
71
73
  import HTMLBaseElement from './nodes/html-base-element/HTMLBaseElement.js';
74
+ import HTMLButtonElement from './nodes/html-button-element/HTMLButtonElement.js';
72
75
  import HTMLDialogElement from './nodes/html-dialog-element/HTMLDialogElement.js';
73
76
  import HTMLDocument from './nodes/html-document/HTMLDocument.js';
74
77
  import HTMLElement from './nodes/html-element/HTMLElement.js';
@@ -83,18 +86,16 @@ import HTMLLabelElement from './nodes/html-label-element/HTMLLabelElement.js';
83
86
  import HTMLLinkElement from './nodes/html-link-element/HTMLLinkElement.js';
84
87
  import HTMLMediaElement from './nodes/html-media-element/HTMLMediaElement.js';
85
88
  import HTMLMetaElement from './nodes/html-meta-element/HTMLMetaElement.js';
89
+ import HTMLOptGroupElement from './nodes/html-opt-group-element/HTMLOptGroupElement.js';
90
+ import HTMLOptionElement from './nodes/html-option-element/HTMLOptionElement.js';
86
91
  import HTMLScriptElement from './nodes/html-script-element/HTMLScriptElement.js';
92
+ import HTMLSelectElement from './nodes/html-select-element/HTMLSelectElement.js';
87
93
  import HTMLSlotElement from './nodes/html-slot-element/HTMLSlotElement.js';
88
94
  import HTMLStyleElement from './nodes/html-style-element/HTMLStyleElement.js';
89
95
  import HTMLTemplateElement from './nodes/html-template-element/HTMLTemplateElement.js';
90
96
  import HTMLTextAreaElement from './nodes/html-text-area-element/HTMLTextAreaElement.js';
91
- import HTMLVideoElement from './nodes/html-video-element/HTMLVideoElement.js';
92
- import HTMLAnchorElement from './nodes/html-anchor-element/HTMLAnchorElement.js';
93
- import HTMLButtonElement from './nodes/html-button-element/HTMLButtonElement.js';
94
- import HTMLOptGroupElement from './nodes/html-opt-group-element/HTMLOptGroupElement.js';
95
- import HTMLOptionElement from './nodes/html-option-element/HTMLOptionElement.js';
96
- import HTMLSelectElement from './nodes/html-select-element/HTMLSelectElement.js';
97
97
  import HTMLUnknownElement from './nodes/html-unknown-element/HTMLUnknownElement.js';
98
+ import HTMLVideoElement from './nodes/html-video-element/HTMLVideoElement.js';
98
99
  import Node from './nodes/node/Node.js';
99
100
  import ProcessingInstruction from './nodes/processing-instruction/ProcessingInstruction.js';
100
101
  import ShadowRoot from './nodes/shadow-root/ShadowRoot.js';
@@ -114,6 +115,7 @@ import Storage from './storage/Storage.js';
114
115
  import NodeFilter from './tree-walker/NodeFilter.js';
115
116
  import NodeIterator from './tree-walker/NodeIterator.js';
116
117
  import TreeWalker from './tree-walker/TreeWalker.js';
118
+ import Location from './url/Location.js';
117
119
  import URL from './url/URL.js';
118
120
  import BrowserWindow from './window/BrowserWindow.js';
119
121
  import GlobalWindow from './window/GlobalWindow.js';
@@ -121,8 +123,15 @@ import Window from './window/Window.js';
121
123
  import XMLParser from './xml-parser/XMLParser.js';
122
124
  import XMLSerializer from './xml-serializer/XMLSerializer.js';
123
125
 
126
+ import type IBrowser from './browser/types/IBrowser.js';
127
+ import type IBrowserContext from './browser/types/IBrowserContext.js';
128
+ import type IBrowserFrame from './browser/types/IBrowserFrame.js';
129
+ import type IBrowserPage from './browser/types/IBrowserPage.js';
130
+ import type IBrowserSettings from './browser/types/IBrowserSettings.js';
131
+ import type IOptionalBrowserSettings from './browser/types/IOptionalBrowserSettings.js';
124
132
  import type IEventInit from './event/IEventInit.js';
125
133
  import type IEventListener from './event/IEventListener.js';
134
+ import type ITouchInit from './event/ITouchInit.js';
126
135
  import type IUIEventInit from './event/IUIEventInit.js';
127
136
  import type IAnimationEventInit from './event/events/IAnimationEventInit.js';
128
137
  import type IClipboardEventInit from './event/events/IClipboardEventInit.js';
@@ -134,6 +143,7 @@ import type IKeyboardEventInit from './event/events/IKeyboardEventInit.js';
134
143
  import type IMouseEventInit from './event/events/IMouseEventInit.js';
135
144
  import type IProgressEventInit from './event/events/IProgressEventInit.js';
136
145
  import type ISubmitEventInit from './event/events/ISubmitEventInit.js';
146
+ import type ITouchEventInit from './event/events/ITouchEventInit.js';
137
147
  import type IWheelEventInit from './event/events/IWheelEventInit.js';
138
148
  import type IHeaders from './fetch/types/IHeaders.js';
139
149
  import type IRequest from './fetch/types/IRequest.js';
@@ -145,8 +155,10 @@ import type IDocumentType from './nodes/document-type/IDocumentType.js';
145
155
  import type IDocument from './nodes/document/IDocument.js';
146
156
  import type IElement from './nodes/element/IElement.js';
147
157
  import type IHTMLCollection from './nodes/element/IHTMLCollection.js';
158
+ import type IHTMLAnchorElement from './nodes/html-anchor-element/IHTMLAnchorElement.js';
148
159
  import type IHTMLAudioElement from './nodes/html-audio-element/IHTMLAudioElement.js';
149
160
  import type IHTMLBaseElement from './nodes/html-base-element/IHTMLBaseElement.js';
161
+ import type IHTMLButtonElement from './nodes/html-button-element/IHTMLButtonElement.js';
150
162
  import type IHTMLDialogElement from './nodes/html-dialog-element/IHTMLDialogElement.js';
151
163
  import type IHTMLElement from './nodes/html-element/IHTMLElement.js';
152
164
  import type IHTMLFormControlsCollection from './nodes/html-form-element/IHTMLFormControlsCollection.js';
@@ -157,18 +169,16 @@ import type IFileList from './nodes/html-input-element/IFileList.js';
157
169
  import type IHTMLInputElement from './nodes/html-input-element/IHTMLInputElement.js';
158
170
  import type IHTMLLabelElement from './nodes/html-label-element/IHTMLLabelElement.js';
159
171
  import type IHTMLLinkElement from './nodes/html-link-element/IHTMLLinkElement.js';
172
+ import type IHTMLMediaElement from './nodes/html-media-element/IHTMLMediaElement.js';
160
173
  import type IHTMLMetaElement from './nodes/html-meta-element/IHTMLMetaElement.js';
174
+ import type IHTMLOptGroupElement from './nodes/html-opt-group-element/IHTMLOptGroupElement.js';
175
+ import type IHTMLOptionElement from './nodes/html-option-element/IHTMLOptionElement.js';
176
+ import type IHTMLSelectElement from './nodes/html-select-element/IHTMLSelectElement.js';
161
177
  import type IHTMLSlotElement from './nodes/html-slot-element/IHTMLSlotElement.js';
162
178
  import type IHTMLStyleElement from './nodes/html-style-element/IHTMLStyleElement.js';
163
179
  import type IHTMLTemplateElement from './nodes/html-template-element/IHTMLTemplateElement.js';
164
180
  import type IHTMLTextAreaElement from './nodes/html-text-area-element/IHTMLTextAreaElement.js';
165
181
  import type IHTMLVideoElement from './nodes/html-video-element/IHTMLVideoElement.js';
166
- import type IHTMLAnchorElement from './nodes/html-anchor-element/IHTMLAnchorElement.js';
167
- import type IHTMLButtonElement from './nodes/html-button-element/IHTMLButtonElement.js';
168
- import type IHTMLOptGroupElement from './nodes/html-opt-group-element/IHTMLOptGroupElement.js';
169
- import type IHTMLOptionElement from './nodes/html-option-element/IHTMLOptionElement.js';
170
- import type IHTMLSelectElement from './nodes/html-select-element/IHTMLSelectElement.js';
171
- import type IHTMLMediaElement from './nodes/html-media-element/IHTMLMediaElement.js';
172
182
  import type INode from './nodes/node/INode.js';
173
183
  import type INodeList from './nodes/node/INodeList.js';
174
184
  import type IProcessingInstruction from './nodes/processing-instruction/IProcessingInstruction.js';
@@ -178,26 +188,21 @@ import type ISVGGraphicsElement from './nodes/svg-element/ISVGGraphicsElement.js
178
188
  import type ISVGSVGElement from './nodes/svg-element/ISVGSVGElement.js';
179
189
  import type IText from './nodes/text/IText.js';
180
190
  import type IBrowserWindow from './window/IBrowserWindow.js';
181
- import type IWindow from './window/IWindow.js';
182
- import type IBrowser from './browser/types/IBrowser.js';
183
- import type IBrowserContext from './browser/types/IBrowserContext.js';
184
- import type IBrowserFrame from './browser/types/IBrowserFrame.js';
185
- import type IBrowserPage from './browser/types/IBrowserPage.js';
186
191
  import type ICrossOriginBrowserWindow from './window/ICrossOriginBrowserWindow.js';
187
- import type IOptionalBrowserSettings from './browser/types/IOptionalBrowserSettings.js';
188
- import type IBrowserSettings from './browser/types/IBrowserSettings.js';
192
+ import type IWindow from './window/IWindow.js';
189
193
 
190
194
  export type {
191
195
  IAnimationEventInit,
192
196
  IAttr,
193
- IBrowserWindow,
194
197
  IBrowser,
195
198
  IBrowserContext,
196
199
  IBrowserFrame,
197
200
  IBrowserPage,
198
- ICrossOriginBrowserWindow,
201
+ IBrowserSettings,
202
+ IBrowserWindow,
199
203
  IClipboardEventInit,
200
204
  IComment,
205
+ ICrossOriginBrowserWindow,
201
206
  ICustomEventInit,
202
207
  IDocument,
203
208
  IDocumentFragment,
@@ -209,12 +214,9 @@ export type {
209
214
  IFileList,
210
215
  IFocusEventInit,
211
216
  IHTMLAnchorElement,
212
- IHTMLButtonElement,
213
- IHTMLOptGroupElement,
214
- IHTMLOptionElement,
215
- IHTMLSelectElement,
216
217
  IHTMLAudioElement,
217
218
  IHTMLBaseElement,
219
+ IHTMLButtonElement,
218
220
  IHTMLCollection,
219
221
  IHTMLDialogElement,
220
222
  IHTMLElement,
@@ -227,6 +229,9 @@ export type {
227
229
  IHTMLLinkElement,
228
230
  IHTMLMediaElement,
229
231
  IHTMLMetaElement,
232
+ IHTMLOptGroupElement,
233
+ IHTMLOptionElement,
234
+ IHTMLSelectElement,
230
235
  IHTMLSlotElement,
231
236
  IHTMLStyleElement,
232
237
  IHTMLTemplateElement,
@@ -238,6 +243,7 @@ export type {
238
243
  IMouseEventInit,
239
244
  INode,
240
245
  INodeList,
246
+ IOptionalBrowserSettings,
241
247
  IProcessingInstruction,
242
248
  IProgressEventInit,
243
249
  IRequest,
@@ -248,11 +254,11 @@ export type {
248
254
  IShadowRoot,
249
255
  ISubmitEventInit,
250
256
  IText,
257
+ ITouchEventInit,
258
+ ITouchInit,
251
259
  IUIEventInit,
252
260
  IWheelEventInit,
253
- IWindow,
254
- IBrowserSettings,
255
- IOptionalBrowserSettings
261
+ IWindow
256
262
  };
257
263
 
258
264
  export {
@@ -309,79 +315,79 @@ export {
309
315
  FormData,
310
316
  GlobalWindow,
311
317
  HTMLAnchorElement,
312
- HTMLButtonElement,
318
+ HTMLElement as HTMLAreaElement,
313
319
  HTMLAudioElement,
314
- HTMLOptGroupElement,
315
- HTMLOptionElement,
316
- HTMLUnknownElement,
317
- HTMLSelectElement,
320
+ HTMLElement as HTMLBRElement,
318
321
  HTMLBaseElement,
322
+ HTMLElement as HTMLBodyElement,
323
+ HTMLButtonElement,
324
+ HTMLElement as HTMLCanvasElement,
319
325
  HTMLCollection,
326
+ HTMLElement as HTMLDListElement,
327
+ HTMLElement as HTMLDataElement,
328
+ HTMLElement as HTMLDataListElement,
329
+ HTMLElement as HTMLDetailsElement,
320
330
  HTMLDialogElement,
331
+ HTMLElement as HTMLDirectoryElement,
332
+ HTMLElement as HTMLDivElement,
321
333
  HTMLDocument,
322
334
  HTMLElement,
335
+ HTMLElement as HTMLEmbedElement,
336
+ HTMLElement as HTMLFieldSetElement,
337
+ HTMLElement as HTMLFontElement,
323
338
  HTMLFormControlsCollection,
324
339
  HTMLFormElement,
340
+ HTMLElement as HTMLFrameElement,
341
+ HTMLElement as HTMLFrameSetElement,
342
+ HTMLElement as HTMLHRElement,
343
+ HTMLElement as HTMLHeadElement,
344
+ HTMLElement as HTMLHeadingElement,
345
+ HTMLElement as HTMLHtmlElement,
325
346
  HTMLIFrameElement,
326
347
  HTMLImageElement,
327
348
  HTMLInputElement,
328
- HTMLLabelElement,
329
- HTMLLinkElement,
330
- HTMLMediaElement,
331
- HTMLMetaElement,
332
- HTMLScriptElement,
333
- HTMLSlotElement,
334
- HTMLStyleElement,
335
- HTMLTemplateElement,
336
- HTMLTextAreaElement,
337
- HTMLVideoElement,
338
- HTMLElement as HTMLTitleElement,
339
- HTMLElement as HTMLHeadElement,
340
- HTMLElement as HTMLBodyElement,
341
- HTMLElement as HTMLHeadingElement,
342
- HTMLElement as HTMLParagraphElement,
343
- HTMLElement as HTMLHRElement,
344
- HTMLElement as HTMLPreElement,
345
- HTMLElement as HTMLUListElement,
346
- HTMLElement as HTMLOListElement,
347
349
  HTMLElement as HTMLLIElement,
348
- HTMLElement as HTMLMenuElement,
349
- HTMLElement as HTMLDListElement,
350
- HTMLElement as HTMLDivElement,
351
- HTMLElement as HTMLAreaElement,
352
- HTMLElement as HTMLBRElement,
353
- HTMLElement as HTMLCanvasElement,
354
- HTMLElement as HTMLDataElement,
355
- HTMLElement as HTMLDataListElement,
356
- HTMLElement as HTMLDetailsElement,
357
- HTMLElement as HTMLDirectoryElement,
358
- HTMLElement as HTMLFieldSetElement,
359
- HTMLElement as HTMLFontElement,
360
- HTMLElement as HTMLHtmlElement,
350
+ HTMLLabelElement,
361
351
  HTMLElement as HTMLLegendElement,
352
+ HTMLLinkElement,
362
353
  HTMLElement as HTMLMapElement,
363
354
  HTMLElement as HTMLMarqueeElement,
355
+ HTMLMediaElement,
356
+ HTMLElement as HTMLMenuElement,
357
+ HTMLMetaElement,
364
358
  HTMLElement as HTMLMeterElement,
365
359
  HTMLElement as HTMLModElement,
360
+ HTMLElement as HTMLOListElement,
361
+ HTMLElement as HTMLObjectElement,
362
+ HTMLOptGroupElement,
363
+ HTMLOptionElement,
366
364
  HTMLElement as HTMLOutputElement,
365
+ HTMLElement as HTMLParagraphElement,
366
+ HTMLElement as HTMLParamElement,
367
367
  HTMLElement as HTMLPictureElement,
368
+ HTMLElement as HTMLPreElement,
368
369
  HTMLElement as HTMLProgressElement,
369
370
  HTMLElement as HTMLQuoteElement,
371
+ HTMLScriptElement,
372
+ HTMLSelectElement,
373
+ HTMLSlotElement,
370
374
  HTMLElement as HTMLSourceElement,
371
375
  HTMLElement as HTMLSpanElement,
376
+ HTMLStyleElement,
372
377
  HTMLElement as HTMLTableCaptionElement,
373
378
  HTMLElement as HTMLTableCellElement,
374
379
  HTMLElement as HTMLTableColElement,
375
380
  HTMLElement as HTMLTableElement,
376
- HTMLElement as HTMLTimeElement,
377
381
  HTMLElement as HTMLTableRowElement,
378
382
  HTMLElement as HTMLTableSectionElement,
379
- HTMLElement as HTMLFrameElement,
380
- HTMLElement as HTMLFrameSetElement,
381
- HTMLElement as HTMLEmbedElement,
382
- HTMLElement as HTMLObjectElement,
383
- HTMLElement as HTMLParamElement,
383
+ HTMLTemplateElement,
384
+ HTMLTextAreaElement,
385
+ HTMLElement as HTMLTimeElement,
386
+ HTMLElement as HTMLTitleElement,
384
387
  HTMLElement as HTMLTrackElement,
388
+ HTMLElement as HTMLUListElement,
389
+ HTMLUnknownElement,
390
+ HTMLVideoElement,
385
391
  Headers,
386
392
  History,
387
393
  Image,
@@ -412,6 +418,8 @@ export {
412
418
  Storage,
413
419
  SubmitEvent,
414
420
  Text,
421
+ Touch,
422
+ TouchEvent,
415
423
  TreeWalker,
416
424
  UIEvent,
417
425
  URL,
@@ -25,7 +25,7 @@ import ISelectorPseudo from './ISelectorPseudo.js';
25
25
  * Group 17: Combinator.
26
26
  */
27
27
  const SELECTOR_REGEXP =
28
- /(\*)|([a-zA-Z0-9-]+)|#((?:[a-zA-Z0-9-_]|\\.)+)|\.((?:[a-zA-Z0-9-_]|\\.)+)|\[([a-zA-Z0-9-_]+)\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *["']{1}([^"']*)["']{1} *(s|i){0,1}\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *([^\]]*)\]|:([a-zA-Z-]+) *\(([^)]+)\)|:([a-zA-Z-]+)|::([a-zA-Z-]+)|([ ,+>]*)/g;
28
+ /(\*)|([a-zA-Z0-9-]+)|#((?:[a-zA-Z0-9-_]|\\.)+)|\.((?:[a-zA-Z0-9-_]|\\.)+)|\[([a-zA-Z0-9-_]+)\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *["']{1}([^"']*)["']{1} *(s|i){0,1}\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *([^\]]*)\]|:([a-zA-Z-]+) *\(([^)]+\)?)\)|:([a-zA-Z-]+)|::([a-zA-Z-]+)|([ ,+>]*)/g;
29
29
 
30
30
  /**
31
31
  * Escaped Character RegExp.
@@ -44,6 +44,8 @@ import KeyboardEvent from '../event/events/KeyboardEvent.js';
44
44
  import MessageEvent from '../event/events/MessageEvent.js';
45
45
  import ProgressEvent from '../event/events/ProgressEvent.js';
46
46
  import MediaQueryListEvent from '../event/events/MediaQueryListEvent.js';
47
+ import TouchEvent from '../event/events/TouchEvent.js';
48
+ import Touch from '../event/Touch.js';
47
49
  import EventTarget from '../event/EventTarget.js';
48
50
  import MessagePort from '../event/MessagePort.js';
49
51
  import { URLSearchParams } from 'url';
@@ -260,7 +262,7 @@ export default class BrowserWindow extends EventTarget implements IBrowserWindow
260
262
  public readonly HTMLParamElement: typeof HTMLElement = HTMLElement;
261
263
  public readonly HTMLTrackElement: typeof HTMLElement = HTMLElement;
262
264
 
263
- // Events classes
265
+ // Event classes
264
266
  public readonly Event = Event;
265
267
  public readonly UIEvent = UIEvent;
266
268
  public readonly CustomEvent = CustomEvent;
@@ -278,6 +280,8 @@ export default class BrowserWindow extends EventTarget implements IBrowserWindow
278
280
  public readonly ProgressEvent = ProgressEvent;
279
281
  public readonly MediaQueryListEvent = MediaQueryListEvent;
280
282
  public readonly ClipboardEvent = ClipboardEvent;
283
+ public readonly TouchEvent = TouchEvent;
284
+ public readonly Touch = Touch;
281
285
 
282
286
  // Non-implemented event classes
283
287
  public readonly AudioProcessingEvent = Event;
@@ -314,7 +318,6 @@ export default class BrowserWindow extends EventTarget implements IBrowserWindow
314
318
  public readonly SVGEvent = Event;
315
319
  public readonly SVGZoomEvent = Event;
316
320
  public readonly TimeEvent = Event;
317
- public readonly TouchEvent = Event;
318
321
  public readonly TrackEvent = Event;
319
322
  public readonly TransitionEvent = Event;
320
323
  public readonly UserProximityEvent = Event;
@@ -45,6 +45,8 @@ import AnimationEvent from '../event/events/AnimationEvent.js';
45
45
  import KeyboardEvent from '../event/events/KeyboardEvent.js';
46
46
  import ProgressEvent from '../event/events/ProgressEvent.js';
47
47
  import MediaQueryListEvent from '../event/events/MediaQueryListEvent.js';
48
+ import TouchEvent from '../event/events/TouchEvent.js';
49
+ import Touch from '../event/Touch.js';
48
50
  import EventTarget from '../event/EventTarget.js';
49
51
  import { URLSearchParams } from 'url';
50
52
  import URL from '../url/URL.js';
@@ -257,6 +259,8 @@ export default interface IBrowserWindow extends IEventTarget, INodeJSGlobal {
257
259
  readonly ProgressEvent: typeof ProgressEvent;
258
260
  readonly MediaQueryListEvent: typeof MediaQueryListEvent;
259
261
  readonly ClipboardEvent: typeof ClipboardEvent;
262
+ readonly TouchEvent: typeof TouchEvent;
263
+ readonly Touch: typeof Touch;
260
264
 
261
265
  /**
262
266
  * Non-implemented event classes
@@ -295,7 +299,6 @@ export default interface IBrowserWindow extends IEventTarget, INodeJSGlobal {
295
299
  readonly SVGEvent: typeof Event;
296
300
  readonly SVGZoomEvent: typeof Event;
297
301
  readonly TimeEvent: typeof Event;
298
- readonly TouchEvent: typeof Event;
299
302
  readonly TrackEvent: typeof Event;
300
303
  readonly TransitionEvent: typeof Event;
301
304
  readonly UserProximityEvent: typeof Event;