@rescript/webapi 0.1.0-alpha-b1d58f9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +35 -0
  3. package/package.json +61 -0
  4. package/rescript.json +557 -0
  5. package/src/animation/Animation.res +149 -0
  6. package/src/animation/AnimationEffect.res +71 -0
  7. package/src/animation/DocumentTimeline.res +8 -0
  8. package/src/canvas/Canvas.res +179 -0
  9. package/src/canvas/CanvasGradient.res +11 -0
  10. package/src/canvas/CanvasPattern.res +11 -0
  11. package/src/canvas/CanvasRenderingContext2D.res +868 -0
  12. package/src/canvas/CanvasTypes.res +452 -0
  13. package/src/canvas/FillStyle.res +25 -0
  14. package/src/canvas/HTMLCanvasElement.res +101 -0
  15. package/src/canvas/ImageBitmap.res +6 -0
  16. package/src/canvas/ImageBitmapRenderingContext.res +9 -0
  17. package/src/canvas/ImageData.res +17 -0
  18. package/src/canvas/OffscreenCanvas.res +87 -0
  19. package/src/canvas/Path2D.res +186 -0
  20. package/src/canvas/VideoColorSpace.res +11 -0
  21. package/src/canvas/VideoFrame.res +217 -0
  22. package/src/core/ArrayBufferTypedArrayOrDataView.res +4 -0
  23. package/src/core/DOM.res +1026 -0
  24. package/src/core/EventType.res +108 -0
  25. package/src/crypto/Crypto.res +11 -0
  26. package/src/crypto/SubtleCrypto.res +173 -0
  27. package/src/crypto/WebCryptoTypes.res +71 -0
  28. package/src/css-font-loading/BaseCSSFontLoading.res +24 -0
  29. package/src/css-font-loading/CssFontLoadingTypes.res +92 -0
  30. package/src/css-font-loading/FontFace.res +62 -0
  31. package/src/css-font-loading/FontFaceSet.res +38 -0
  32. package/src/cssom/CSSRuleList.res +5 -0
  33. package/src/cssom/CSSStyleDeclaration.res +1734 -0
  34. package/src/cssom/CSSStyleValue.res +17 -0
  35. package/src/cssom/MediaList.res +29 -0
  36. package/src/cssom/MediaQueryList.res +18 -0
  37. package/src/cssom/StylePropertyMap.res +56 -0
  38. package/src/cssom/StylePropertyMapReadOnly.res +22 -0
  39. package/src/cssom/StyleSheet.res +152 -0
  40. package/src/cssom/StyleSheetList.res +17 -0
  41. package/src/device/GamepadHapticActuator.res +16 -0
  42. package/src/device/GamepadTypes.res +86 -0
  43. package/src/device/Geolocation.res +31 -0
  44. package/src/device/GeolocationCoordinates.res +5 -0
  45. package/src/device/GeolocationPosition.res +5 -0
  46. package/src/device/GeolocationTypes.res +81 -0
  47. package/src/device/LockManager.res +26 -0
  48. package/src/device/ScreenOrientation.res +7 -0
  49. package/src/device/ScreenWakeLockTypes.res +26 -0
  50. package/src/device/WakeLock.res +8 -0
  51. package/src/device/WakeLockSentinel.res +7 -0
  52. package/src/device/WebLocksTypes.res +45 -0
  53. package/src/device/WebMIDI.res +7 -0
  54. package/src/device/WebMidiTypes.res +36 -0
  55. package/src/dom-nodes/AbstractRange.res +30 -0
  56. package/src/dom-nodes/Attr.res +101 -0
  57. package/src/dom-nodes/CDATASection.res +7 -0
  58. package/src/dom-nodes/CaretPosition.res +2 -0
  59. package/src/dom-nodes/CharacterData.res +199 -0
  60. package/src/dom-nodes/Comment.res +15 -0
  61. package/src/dom-nodes/DOMImplementation.res +131 -0
  62. package/src/dom-nodes/DOMTree.res +1653 -0
  63. package/src/dom-nodes/DocumentFragment.res +96 -0
  64. package/src/dom-nodes/Element.res +509 -0
  65. package/src/dom-nodes/ElementInternals.res +39 -0
  66. package/src/dom-nodes/HTML.res +11 -0
  67. package/src/dom-nodes/HTMLCollection.res +25 -0
  68. package/src/dom-nodes/NamedNodeMap.res +46 -0
  69. package/src/dom-nodes/Node.res +114 -0
  70. package/src/dom-nodes/NodeFilter.res +4 -0
  71. package/src/dom-nodes/NodeIterator.res +38 -0
  72. package/src/dom-nodes/NodeList.res +6 -0
  73. package/src/dom-nodes/ProcessingInstruction.res +15 -0
  74. package/src/dom-nodes/Range.res +156 -0
  75. package/src/dom-nodes/Selection.res +137 -0
  76. package/src/dom-nodes/ShadowRoot.res +23 -0
  77. package/src/dom-nodes/StaticRange.res +6 -0
  78. package/src/dom-nodes/Text.res +31 -0
  79. package/src/dom-nodes/TreeWalker.res +65 -0
  80. package/src/dom-platform/DOMException.res +7 -0
  81. package/src/dom-platform/DOMStringList.res +15 -0
  82. package/src/dom-platform/DOMStringMap.res +5 -0
  83. package/src/dom-platform/DOMTokenList.res +70 -0
  84. package/src/event/AbortController.res +9 -0
  85. package/src/event/AbortSignal.res +25 -0
  86. package/src/event/Event.res +76 -0
  87. package/src/event/EventTarget.res +91 -0
  88. package/src/event/ExtendableEvent.res +14 -0
  89. package/src/fetch/BodyInit.res +46 -0
  90. package/src/fetch/Fetch.res +12 -0
  91. package/src/fetch/FetchTypes.res +282 -0
  92. package/src/fetch/FormData.res +71 -0
  93. package/src/fetch/FormDataEntryValue.res +2 -0
  94. package/src/fetch/Headers.res +59 -0
  95. package/src/fetch/HeadersInit.res +16 -0
  96. package/src/fetch/Request.res +61 -0
  97. package/src/fetch/Response.res +127 -0
  98. package/src/file/BaseFileAndDirectoryEntries.res +72 -0
  99. package/src/file/Blob.res +48 -0
  100. package/src/file/File.res +15 -0
  101. package/src/file/FileAndDirectoryEntriesTypes.res +35 -0
  102. package/src/file/FileList.res +16 -0
  103. package/src/file/FileSystemDirectoryEntry.res +42 -0
  104. package/src/file/FileSystemDirectoryHandle.res +49 -0
  105. package/src/file/FileSystemDirectoryReader.res +9 -0
  106. package/src/file/FileSystemEntry.res +9 -0
  107. package/src/file/FileSystemFileHandle.res +25 -0
  108. package/src/file/FileSystemHandle.res +6 -0
  109. package/src/file/FileSystemWritableFileStream.res +65 -0
  110. package/src/file/FileTypes.res +225 -0
  111. package/src/file/ReadableStream.res +79 -0
  112. package/src/file/WritableStream.res +27 -0
  113. package/src/file/WritableStreamDefaultController.res +5 -0
  114. package/src/geometry/DOMMatrix.res +206 -0
  115. package/src/geometry/DOMMatrixReadOnly.res +140 -0
  116. package/src/geometry/DOMPoint.res +28 -0
  117. package/src/geometry/DOMPointReadOnly.res +22 -0
  118. package/src/geometry/DOMRect.res +22 -0
  119. package/src/geometry/DOMRectList.res +2 -0
  120. package/src/geometry/DOMRectReadOnly.res +19 -0
  121. package/src/html/HTMLAnchorElement.res +373 -0
  122. package/src/html/HTMLAreaElement.res +353 -0
  123. package/src/html/HTMLBRElement.res +9 -0
  124. package/src/html/HTMLBaseElement.res +20 -0
  125. package/src/html/HTMLBodyElement.res +9 -0
  126. package/src/html/HTMLButtonElement.res +98 -0
  127. package/src/html/HTMLDListElement.res +9 -0
  128. package/src/html/HTMLDataElement.res +14 -0
  129. package/src/html/HTMLDataListElement.res +14 -0
  130. package/src/html/HTMLDialogElement.res +40 -0
  131. package/src/html/HTMLDivElement.res +9 -0
  132. package/src/html/HTMLElement.res +108 -0
  133. package/src/html/HTMLEmbedElement.res +275 -0
  134. package/src/html/HTMLFieldSetElement.res +70 -0
  135. package/src/html/HTMLFormControlsCollection.res +21 -0
  136. package/src/html/HTMLFormElement.res +39 -0
  137. package/src/html/HTMLFrameSetElement.res +9 -0
  138. package/src/html/HTMLHRElement.res +9 -0
  139. package/src/html/HTMLHeadElement.res +256 -0
  140. package/src/html/HTMLHeadingElement.res +9 -0
  141. package/src/html/HTMLHtmlElement.res +9 -0
  142. package/src/html/HTMLIFrameElement.res +69 -0
  143. package/src/html/HTMLImageElement.res +349 -0
  144. package/src/html/HTMLInputElement.res +310 -0
  145. package/src/html/HTMLLIElement.res +9 -0
  146. package/src/html/HTMLLabelElement.res +25 -0
  147. package/src/html/HTMLLegendElement.res +14 -0
  148. package/src/html/HTMLLinkElement.res +69 -0
  149. package/src/html/HTMLMapElement.res +20 -0
  150. package/src/html/HTMLMenuElement.res +8 -0
  151. package/src/html/HTMLMetaElement.res +29 -0
  152. package/src/html/HTMLMeterElement.res +38 -0
  153. package/src/html/HTMLModElement.res +9 -0
  154. package/src/html/HTMLOListElement.res +24 -0
  155. package/src/html/HTMLObjectElement.res +89 -0
  156. package/src/html/HTMLOptGroupElement.res +19 -0
  157. package/src/html/HTMLOptionElement.res +49 -0
  158. package/src/html/HTMLOptionsCollection.res +35 -0
  159. package/src/html/HTMLOutputElement.res +73 -0
  160. package/src/html/HTMLParagraphElement.res +9 -0
  161. package/src/html/HTMLPictureElement.res +9 -0
  162. package/src/html/HTMLPreElement.res +9 -0
  163. package/src/html/HTMLProgressElement.res +29 -0
  164. package/src/html/HTMLQuoteElement.res +9 -0
  165. package/src/html/HTMLScriptElement.res +310 -0
  166. package/src/html/HTMLSelectElement.res +157 -0
  167. package/src/html/HTMLSlotElement.res +34 -0
  168. package/src/html/HTMLSourceElement.res +18 -0
  169. package/src/html/HTMLSpanElement.res +9 -0
  170. package/src/html/HTMLStyleElement.res +24 -0
  171. package/src/html/HTMLTableCaptionElement.res +9 -0
  172. package/src/html/HTMLTableCellElement.res +40 -0
  173. package/src/html/HTMLTableElement.res +100 -0
  174. package/src/html/HTMLTableRowElement.res +40 -0
  175. package/src/html/HTMLTableSectionElement.res +30 -0
  176. package/src/html/HTMLTemplateElement.res +31 -0
  177. package/src/html/HTMLTextAreaElement.res +177 -0
  178. package/src/html/HTMLTimeElement.res +14 -0
  179. package/src/html/HTMLTitleElement.res +15 -0
  180. package/src/html/HTMLUListElement.res +9 -0
  181. package/src/html/HTMLUnknownElement.res +9 -0
  182. package/src/media/BaseEncryptedMediaExtensions.res +97 -0
  183. package/src/media/DomHTMLMediaElement.res +206 -0
  184. package/src/media/EncryptedMediaExtensionsHTMLMediaElement.res +15 -0
  185. package/src/media/EncryptedMediaExtensionsTypes.res +43 -0
  186. package/src/media/HTMLAudioElement.res +9 -0
  187. package/src/media/HTMLTrackElement.res +14 -0
  188. package/src/media/HTMLVideoElement.res +78 -0
  189. package/src/media/MediaCapabilities.res +19 -0
  190. package/src/media/MediaCapabilitiesTypes.res +83 -0
  191. package/src/media/MediaCaptureAndStreamsTypes.res +197 -0
  192. package/src/media/MediaDeviceInfo.res +9 -0
  193. package/src/media/MediaDevices.res +40 -0
  194. package/src/media/MediaError.res +14 -0
  195. package/src/media/MediaKeySession.res +53 -0
  196. package/src/media/MediaKeyStatusMap.res +11 -0
  197. package/src/media/MediaKeySystemAccess.res +14 -0
  198. package/src/media/MediaKeys.res +35 -0
  199. package/src/media/MediaMetadata.res +10 -0
  200. package/src/media/MediaSession.res +25 -0
  201. package/src/media/MediaSessionTypes.res +85 -0
  202. package/src/media/MediaStream.res +89 -0
  203. package/src/media/MediaStreamTrack.res +51 -0
  204. package/src/media/PictureInPicture.res +7 -0
  205. package/src/media/PictureInPictureTypes.res +17 -0
  206. package/src/media/RemotePlayback.res +25 -0
  207. package/src/media/RemotePlaybackTypes.res +20 -0
  208. package/src/media/SpeechSynthesis.res +33 -0
  209. package/src/media/SpeechSynthesisUtterance.res +8 -0
  210. package/src/media/TextTrack.res +15 -0
  211. package/src/media/TextTrackCueList.res +9 -0
  212. package/src/media/TextTrackList.res +17 -0
  213. package/src/media/TimeRanges.res +29 -0
  214. package/src/media/VideoPlaybackQuality.res +18 -0
  215. package/src/media/WebSpeechTypes.res +83 -0
  216. package/src/media/WebVttTypes.res +123 -0
  217. package/src/messaging/ApplicationServerKey.res +2 -0
  218. package/src/messaging/ChannelMessagingTypes.res +12 -0
  219. package/src/messaging/CloseEvent.res +10 -0
  220. package/src/messaging/MessageEvent.res +43 -0
  221. package/src/messaging/MessagePort.res +38 -0
  222. package/src/messaging/Notification.res +46 -0
  223. package/src/messaging/NotificationTypes.res +107 -0
  224. package/src/messaging/PushEvent.res +3 -0
  225. package/src/messaging/PushManager.res +24 -0
  226. package/src/messaging/PushMessageData.res +15 -0
  227. package/src/messaging/PushSubscription.res +20 -0
  228. package/src/messaging/PushTypes.res +88 -0
  229. package/src/messaging/WebSocket.res +74 -0
  230. package/src/messaging/WebSocketsTypes.res +124 -0
  231. package/src/navigator/Clipboard.res +29 -0
  232. package/src/navigator/ClipboardItem.res +20 -0
  233. package/src/navigator/ClipboardTypes.res +31 -0
  234. package/src/navigator/CredentialManagementTypes.res +138 -0
  235. package/src/navigator/CredentialsContainer.res +33 -0
  236. package/src/navigator/Navigator.res +166 -0
  237. package/src/navigator/Permissions.res +10 -0
  238. package/src/navigator/PermissionsTypes.res +38 -0
  239. package/src/observers/IntersectionObserver.res +36 -0
  240. package/src/observers/IntersectionObserverRoot.res +23 -0
  241. package/src/observers/IntersectionObserverTypes.res +67 -0
  242. package/src/observers/MutationObserver.res +94 -0
  243. package/src/observers/ResizeObserver.res +30 -0
  244. package/src/observers/ResizeObserverTypes.res +56 -0
  245. package/src/performance/Performance.res +101 -0
  246. package/src/performance/PerformanceEntry.res +5 -0
  247. package/src/performance/PerformanceMark.res +16 -0
  248. package/src/performance/PerformanceTypes.res +86 -0
  249. package/src/storage/Cache.res +117 -0
  250. package/src/storage/CacheStorage.res +43 -0
  251. package/src/storage/CacheTypes.res +24 -0
  252. package/src/storage/IDBDatabase.res +54 -0
  253. package/src/storage/IDBFactory.res +34 -0
  254. package/src/storage/IDBIndex.res +83 -0
  255. package/src/storage/IDBObjectStore.res +183 -0
  256. package/src/storage/IDBTransaction.res +22 -0
  257. package/src/storage/IndexedDbTypes.res +213 -0
  258. package/src/storage/Storage.res +42 -0
  259. package/src/storage/StorageEvent.res +10 -0
  260. package/src/storage/StorageManager.res +24 -0
  261. package/src/storage/StorageTypes.res +11 -0
  262. package/src/storage/WebStorageTypes.res +57 -0
  263. package/src/svg/SVGElement.res +115 -0
  264. package/src/svg/SVGGraphicsElement.res +16 -0
  265. package/src/svg/SVGLength.res +9 -0
  266. package/src/ui-events/CompositionEvent.res +10 -0
  267. package/src/ui-events/DataTransfer.res +38 -0
  268. package/src/ui-events/DataTransferItem.res +21 -0
  269. package/src/ui-events/DataTransferItemList.res +34 -0
  270. package/src/ui-events/FocusEvent.res +10 -0
  271. package/src/ui-events/InputEvent.res +16 -0
  272. package/src/ui-events/KeyboardEvent.res +16 -0
  273. package/src/ui-events/MouseEvent.res +26 -0
  274. package/src/ui-events/PointerEvent.res +24 -0
  275. package/src/ui-events/Touch.res +5 -0
  276. package/src/ui-events/TouchEvent.res +10 -0
  277. package/src/ui-events/TouchList.res +5 -0
  278. package/src/ui-events/UIEvent.res +20 -0
  279. package/src/ui-events/UiEventsTypes.res +590 -0
  280. package/src/ui-events/WheelEvent.res +10 -0
  281. package/src/url/URL.res +38 -0
  282. package/src/url/URLSearchParams.res +104 -0
  283. package/src/url/UrlTypes.res +69 -0
  284. package/src/view-transitions/ViewTransition.res +5 -0
  285. package/src/view-transitions/ViewTransitionsTypes.res +22 -0
  286. package/src/web-audio/AnalyserNode.res +38 -0
  287. package/src/web-audio/AudioBuffer.res +33 -0
  288. package/src/web-audio/AudioBufferSourceNode.res +21 -0
  289. package/src/web-audio/AudioContext.res +59 -0
  290. package/src/web-audio/AudioDestinationNode.res +1 -0
  291. package/src/web-audio/AudioNode.res +76 -0
  292. package/src/web-audio/AudioParam.res +65 -0
  293. package/src/web-audio/AudioProcessingEvent.res +10 -0
  294. package/src/web-audio/AudioScheduledSourceNode.res +23 -0
  295. package/src/web-audio/AudioWorkletNode.res +11 -0
  296. package/src/web-audio/BaseAudioContext.res +141 -0
  297. package/src/web-audio/BiquadFilterNode.res +21 -0
  298. package/src/web-audio/ChannelMergerNode.res +10 -0
  299. package/src/web-audio/ChannelSplitterNode.res +10 -0
  300. package/src/web-audio/ConstantSourceNode.res +10 -0
  301. package/src/web-audio/ConvolverNode.res +10 -0
  302. package/src/web-audio/DelayNode.res +10 -0
  303. package/src/web-audio/DynamicsCompressorNode.res +10 -0
  304. package/src/web-audio/GainNode.res +10 -0
  305. package/src/web-audio/IIRFilterNode.res +21 -0
  306. package/src/web-audio/MediaElementAudioSourceNode.res +10 -0
  307. package/src/web-audio/MediaStreamAudioDestinationNode.res +10 -0
  308. package/src/web-audio/MediaStreamAudioSourceNode.res +10 -0
  309. package/src/web-audio/OfflineAudioCompletionEvent.res +10 -0
  310. package/src/web-audio/OfflineAudioContext.res +58 -0
  311. package/src/web-audio/OscillatorNode.res +17 -0
  312. package/src/web-audio/PannerNode.res +10 -0
  313. package/src/web-audio/PeriodicWave.res +8 -0
  314. package/src/web-audio/StereoPannerNode.res +10 -0
  315. package/src/web-audio/WaveShaperNode.res +10 -0
  316. package/src/web-audio/WebAudioTypes.res +1309 -0
  317. package/src/web-audio/Worklet.res +14 -0
  318. package/src/window/CustomElementRegistry.res +30 -0
  319. package/src/window/Document.res +470 -0
  320. package/src/window/DomGlobal.res +459 -0
  321. package/src/window/History.res +37 -0
  322. package/src/window/HistoryTypes.res +26 -0
  323. package/src/window/IdleDeadline.res +5 -0
  324. package/src/window/Location.res +108 -0
  325. package/src/window/VisualViewport.res +5 -0
  326. package/src/window/VisualViewportTypes.res +37 -0
  327. package/src/window/Window.res +556 -0
  328. package/src/window/XPathExpression.res +16 -0
  329. package/src/window/XPathResult.res +46 -0
  330. package/src/workers/Clients.res +39 -0
  331. package/src/workers/NavigationPreloadManager.res +26 -0
  332. package/src/workers/ServiceWorker.res +38 -0
  333. package/src/workers/ServiceWorkerContainer.res +34 -0
  334. package/src/workers/ServiceWorkerRegistration.res +32 -0
  335. package/src/workers/ServiceWorkerScope.res +12 -0
  336. package/src/workers/ServiceWorkerTypes.res +153 -0
  337. package/src/workers/SharedWorker.res +68 -0
  338. package/src/workers/SharedWorkerScope.res +29 -0
  339. package/src/workers/WebWorkersTypes.res +46 -0
  340. package/src/workers/Worker.res +48 -0
  341. package/src/workers/WorkerLocation.res +18 -0
@@ -0,0 +1,1653 @@
1
+ @@warning("-30")
2
+
3
+ type shadowRootMode =
4
+ | @as("closed") Closed
5
+ | @as("open") Open
6
+
7
+ type slotAssignmentMode =
8
+ | @as("manual") Manual
9
+ | @as("named") Named
10
+
11
+ type customStateSet = {}
12
+
13
+ /**
14
+ Node is an interface from which a number of WebApiDOM API object types inherit. It allows those types to be treated similarly; for example, inheriting the same set of methods, or being tested in the same way.
15
+ [See Node on MDN](https://developer.mozilla.org/docs/Web/API/Node)
16
+ TODO: mark as private once mutating fields of private records is allowed
17
+ */
18
+ @editor.completeFrom(Node)
19
+ type rec node = {
20
+ ...DOM.eventTarget,
21
+ /**
22
+ Returns the type of node.
23
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeType)
24
+ */
25
+ nodeType: int,
26
+ /**
27
+ Returns a string appropriate for the type of node.
28
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeName)
29
+ */
30
+ nodeName: string,
31
+ /**
32
+ Returns node's node document's document base URL.
33
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/baseURI)
34
+ */
35
+ baseURI: string,
36
+ /**
37
+ Returns true if node is connected and false otherwise.
38
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/isConnected)
39
+ */
40
+ isConnected: bool,
41
+ /**
42
+ Returns the node document. Returns null for documents.
43
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/ownerDocument)
44
+ */
45
+ ownerDocument: Null.t<DOM.document>,
46
+ /**
47
+ Returns the parent.
48
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentNode)
49
+ */
50
+ parentNode: Null.t<node>,
51
+ /**
52
+ Returns the parent element.
53
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentElement)
54
+ */
55
+ parentElement: Null.t<element>,
56
+ /**
57
+ Returns the children.
58
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/childNodes)
59
+ */
60
+ childNodes: DOM.nodeList<node>,
61
+ /**
62
+ Returns the first child.
63
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/firstChild)
64
+ */
65
+ firstChild: Null.t<node>,
66
+ /**
67
+ Returns the last child.
68
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/lastChild)
69
+ */
70
+ lastChild: Null.t<node>,
71
+ /**
72
+ Returns the previous sibling.
73
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/previousSibling)
74
+ */
75
+ previousSibling: Null.t<node>,
76
+ /**
77
+ Returns the next sibling.
78
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nextSibling)
79
+ */
80
+ nextSibling: Null.t<node>,
81
+ /**
82
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeValue)
83
+ */
84
+ mutable nodeValue: Null.t<string>,
85
+ /**
86
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/textContent)
87
+ */
88
+ mutable textContent: Null.t<string>,
89
+ }
90
+
91
+ /**
92
+ Element is the most general base class from which all objects in a Document inherit. It only has methods and properties common to all kinds of elements. More specific classes inherit from Element.
93
+ [See Element on MDN](https://developer.mozilla.org/docs/Web/API/Element)
94
+ TODO: mark as private once mutating fields of private records is allowed
95
+ */
96
+ @editor.completeFrom(Element) and element = {
97
+ // Base properties from Node
98
+ /**
99
+ Returns the type of node.
100
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeType)
101
+ */
102
+ nodeType: int,
103
+ /**
104
+ Returns a string appropriate for the type of node.
105
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeName)
106
+ */
107
+ nodeName: string,
108
+ /**
109
+ Returns node's node document's document base URL.
110
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/baseURI)
111
+ */
112
+ baseURI: string,
113
+ /**
114
+ Returns true if node is connected and false otherwise.
115
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/isConnected)
116
+ */
117
+ isConnected: bool,
118
+ /**
119
+ Returns the node document. Returns null for documents.
120
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/ownerDocument)
121
+ */
122
+ ownerDocument: Null.t<DOM.document>,
123
+ /**
124
+ Returns the parent.
125
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentNode)
126
+ */
127
+ parentNode: Null.t<node>,
128
+ /**
129
+ Returns the parent element.
130
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentElement)
131
+ */
132
+ parentElement: Null.t<element>,
133
+ /**
134
+ Returns the children.
135
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/childNodes)
136
+ */
137
+ childNodes: DOM.nodeList<node>,
138
+ /**
139
+ Returns the first child.
140
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/firstChild)
141
+ */
142
+ firstChild: Null.t<node>,
143
+ /**
144
+ Returns the last child.
145
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/lastChild)
146
+ */
147
+ lastChild: Null.t<node>,
148
+ /**
149
+ Returns the previous sibling.
150
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/previousSibling)
151
+ */
152
+ previousSibling: Null.t<node>,
153
+ /**
154
+ Returns the next sibling.
155
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nextSibling)
156
+ */
157
+ nextSibling: Null.t<node>,
158
+ /**
159
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeValue)
160
+ */
161
+ mutable nodeValue: Null.t<string>,
162
+ /**
163
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/textContent)
164
+ */
165
+ mutable textContent: Null.t<string>,
166
+ // End base properties from Node
167
+
168
+ /**
169
+ Returns the namespace.
170
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/namespaceURI)
171
+ */
172
+ namespaceURI: Null.t<string>,
173
+ /**
174
+ Returns the namespace prefix.
175
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/prefix)
176
+ */
177
+ prefix: Null.t<string>,
178
+ /**
179
+ Returns the local name.
180
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/localName)
181
+ */
182
+ localName: string,
183
+ /**
184
+ Returns the HTML-uppercased qualified name.
185
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/tagName)
186
+ */
187
+ tagName: string,
188
+ /**
189
+ Returns the value of element's id content attribute. Can be set to change it.
190
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/id)
191
+ */
192
+ mutable id: string,
193
+ /**
194
+ Returns the value of element's class content attribute. Can be set to change it.
195
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/className)
196
+ */
197
+ mutable className: string,
198
+ /**
199
+ Allows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object.
200
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/classList)
201
+ */
202
+ classList: DOM.domTokenList,
203
+ /**
204
+ Returns the value of element's slot content attribute. Can be set to change it.
205
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/slot)
206
+ */
207
+ mutable slot: string,
208
+ /**
209
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/attributes)
210
+ */
211
+ attributes: DOM.namedNodeMap,
212
+ /**
213
+ Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.
214
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/shadowRoot)
215
+ */
216
+ shadowRoot: Null.t<shadowRoot>,
217
+ /**
218
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/part)
219
+ */
220
+ part: DOM.domTokenList,
221
+ /**
222
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollTop)
223
+ */
224
+ mutable scrollTop: float,
225
+ /**
226
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollLeft)
227
+ */
228
+ mutable scrollLeft: float,
229
+ /**
230
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollWidth)
231
+ */
232
+ scrollWidth: int,
233
+ /**
234
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollHeight)
235
+ */
236
+ scrollHeight: int,
237
+ /**
238
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientTop)
239
+ */
240
+ clientTop: int,
241
+ /**
242
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientLeft)
243
+ */
244
+ clientLeft: int,
245
+ /**
246
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientWidth)
247
+ */
248
+ clientWidth: int,
249
+ /**
250
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientHeight)
251
+ */
252
+ clientHeight: int,
253
+ /**
254
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/currentCSSZoom)
255
+ */
256
+ currentCSSZoom: float,
257
+ /**
258
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/innerHTML)
259
+ */
260
+ @throws(JsExn)
261
+ mutable innerHTML: string,
262
+ /**
263
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/outerHTML)
264
+ */
265
+ @throws(JsExn)
266
+ mutable outerHTML: string,
267
+ /**
268
+ Returns the child elements.
269
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/children)
270
+ */
271
+ children: HTMLCollection.t<element>,
272
+ /**
273
+ Returns the first child that is an element, and null otherwise.
274
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/firstElementChild)
275
+ */
276
+ firstElementChild: Null.t<element>,
277
+ /**
278
+ Returns the last child that is an element, and null otherwise.
279
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/lastElementChild)
280
+ */
281
+ lastElementChild: Null.t<element>,
282
+ /**
283
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/childElementCount)
284
+ */
285
+ childElementCount: int,
286
+ /**
287
+ Returns the first preceding sibling that is an element, and null otherwise.
288
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CharacterData/previousElementSibling)
289
+ */
290
+ previousElementSibling: Null.t<element>,
291
+ /**
292
+ Returns the first following sibling that is an element, and null otherwise.
293
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CharacterData/nextElementSibling)
294
+ */
295
+ nextElementSibling: Null.t<element>,
296
+ /**
297
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/assignedSlot)
298
+ */
299
+ assignedSlot: Null.t<htmlSlotElement>,
300
+ /**
301
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaAtomic)
302
+ */
303
+ mutable ariaAtomic: Null.t<string>,
304
+ /**
305
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaAutoComplete)
306
+ */
307
+ mutable ariaAutoComplete: Null.t<string>,
308
+ /**
309
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaBrailleLabel)
310
+ */
311
+ mutable ariaBrailleLabel: Null.t<string>,
312
+ /**
313
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaBrailleRoleDescription)
314
+ */
315
+ mutable ariaBrailleRoleDescription: Null.t<string>,
316
+ /**
317
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaBusy)
318
+ */
319
+ mutable ariaBusy: Null.t<string>,
320
+ /**
321
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaChecked)
322
+ */
323
+ mutable ariaChecked: Null.t<string>,
324
+ /**
325
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaColCount)
326
+ */
327
+ mutable ariaColCount: Null.t<string>,
328
+ /**
329
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaColIndex)
330
+ */
331
+ mutable ariaColIndex: Null.t<string>,
332
+ /**
333
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaColIndexText)
334
+ */
335
+ mutable ariaColIndexText: Null.t<string>,
336
+ /**
337
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaColSpan)
338
+ */
339
+ mutable ariaColSpan: Null.t<string>,
340
+ /**
341
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaCurrent)
342
+ */
343
+ mutable ariaCurrent: Null.t<string>,
344
+ /**
345
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaDescription)
346
+ */
347
+ mutable ariaDescription: Null.t<string>,
348
+ /**
349
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaDisabled)
350
+ */
351
+ mutable ariaDisabled: Null.t<string>,
352
+ /**
353
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaExpanded)
354
+ */
355
+ mutable ariaExpanded: Null.t<string>,
356
+ /**
357
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaHasPopup)
358
+ */
359
+ mutable ariaHasPopup: Null.t<string>,
360
+ /**
361
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaHidden)
362
+ */
363
+ mutable ariaHidden: Null.t<string>,
364
+ /**
365
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaKeyShortcuts)
366
+ */
367
+ mutable ariaKeyShortcuts: Null.t<string>,
368
+ /**
369
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaLabel)
370
+ */
371
+ mutable ariaLabel: Null.t<string>,
372
+ /**
373
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaLevel)
374
+ */
375
+ mutable ariaLevel: Null.t<string>,
376
+ /**
377
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaLive)
378
+ */
379
+ mutable ariaLive: Null.t<string>,
380
+ /**
381
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaModal)
382
+ */
383
+ mutable ariaModal: Null.t<string>,
384
+ /**
385
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaMultiLine)
386
+ */
387
+ mutable ariaMultiLine: Null.t<string>,
388
+ /**
389
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaMultiSelectable)
390
+ */
391
+ mutable ariaMultiSelectable: Null.t<string>,
392
+ /**
393
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaOrientation)
394
+ */
395
+ mutable ariaOrientation: Null.t<string>,
396
+ /**
397
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaPlaceholder)
398
+ */
399
+ mutable ariaPlaceholder: Null.t<string>,
400
+ /**
401
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaPosInSet)
402
+ */
403
+ mutable ariaPosInSet: Null.t<string>,
404
+ /**
405
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaPressed)
406
+ */
407
+ mutable ariaPressed: Null.t<string>,
408
+ /**
409
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaReadOnly)
410
+ */
411
+ mutable ariaReadOnly: Null.t<string>,
412
+ /**
413
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaRequired)
414
+ */
415
+ mutable ariaRequired: Null.t<string>,
416
+ /**
417
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaRoleDescription)
418
+ */
419
+ mutable ariaRoleDescription: Null.t<string>,
420
+ /**
421
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaRowCount)
422
+ */
423
+ mutable ariaRowCount: Null.t<string>,
424
+ /**
425
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaRowIndex)
426
+ */
427
+ mutable ariaRowIndex: Null.t<string>,
428
+ /**
429
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaRowIndexText)
430
+ */
431
+ mutable ariaRowIndexText: Null.t<string>,
432
+ /**
433
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaRowSpan)
434
+ */
435
+ mutable ariaRowSpan: Null.t<string>,
436
+ /**
437
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaSelected)
438
+ */
439
+ mutable ariaSelected: Null.t<string>,
440
+ /**
441
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaSetSize)
442
+ */
443
+ mutable ariaSetSize: Null.t<string>,
444
+ /**
445
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaSort)
446
+ */
447
+ mutable ariaSort: Null.t<string>,
448
+ /**
449
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaValueMax)
450
+ */
451
+ mutable ariaValueMax: Null.t<string>,
452
+ /**
453
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaValueMin)
454
+ */
455
+ mutable ariaValueMin: Null.t<string>,
456
+ /**
457
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaValueNow)
458
+ */
459
+ mutable ariaValueNow: Null.t<string>,
460
+ /**
461
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/ariaValueText)
462
+ */
463
+ mutable ariaValueText: Null.t<string>,
464
+ }
465
+
466
+ /**
467
+ A minimal document object that has no parent. It is used as a lightweight version of Document that stores a segment of a document structure comprised of nodes just like a standard document. The key difference is that because the document fragment isn't part of the active document tree structure, changes made to the fragment don't affect the document, cause reflow, or incur any performance impact that can occur when changes are made.
468
+ [See DocumentFragment on MDN](https://developer.mozilla.org/docs/Web/API/DocumentFragment)
469
+ TODO: mark as private once mutating fields of private records is allowed
470
+ */
471
+ @editor.completeFrom(DocumentFragment) and documentFragment = {
472
+ // Base properties from Node
473
+ /**
474
+ Returns the type of node.
475
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeType)
476
+ */
477
+ nodeType: int,
478
+ /**
479
+ Returns a string appropriate for the type of node.
480
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeName)
481
+ */
482
+ nodeName: string,
483
+ /**
484
+ Returns node's node document's document base URL.
485
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/baseURI)
486
+ */
487
+ baseURI: string,
488
+ /**
489
+ Returns true if node is connected and false otherwise.
490
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/isConnected)
491
+ */
492
+ isConnected: bool,
493
+ /**
494
+ Returns the node document. Returns null for documents.
495
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/ownerDocument)
496
+ */
497
+ ownerDocument: Null.t<DOM.document>,
498
+ /**
499
+ Returns the parent.
500
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentNode)
501
+ */
502
+ parentNode: Null.t<node>,
503
+ /**
504
+ Returns the parent element.
505
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentElement)
506
+ */
507
+ parentElement: Null.t<htmlElement>,
508
+ /**
509
+ Returns the children.
510
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/childNodes)
511
+ */
512
+ childNodes: DOM.nodeList<node>,
513
+ /**
514
+ Returns the first child.
515
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/firstChild)
516
+ */
517
+ firstChild: Null.t<node>,
518
+ /**
519
+ Returns the last child.
520
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/lastChild)
521
+ */
522
+ lastChild: Null.t<node>,
523
+ /**
524
+ Returns the previous sibling.
525
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/previousSibling)
526
+ */
527
+ previousSibling: Null.t<node>,
528
+ /**
529
+ Returns the next sibling.
530
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nextSibling)
531
+ */
532
+ nextSibling: Null.t<node>,
533
+ /**
534
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeValue)
535
+ */
536
+ mutable nodeValue: Null.t<string>,
537
+ /**
538
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/textContent)
539
+ */
540
+ mutable textContent: Null.t<string>,
541
+ // End base properties from Node
542
+
543
+ /**
544
+ Returns the child elements.
545
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/children)
546
+ */
547
+ children: HTMLCollection.t<element>,
548
+ /**
549
+ Returns the first child that is an element, and null otherwise.
550
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/firstElementChild)
551
+ */
552
+ firstElementChild: Null.t<element>,
553
+ /**
554
+ Returns the last child that is an element, and null otherwise.
555
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/lastElementChild)
556
+ */
557
+ lastElementChild: Null.t<element>,
558
+ /**
559
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/childElementCount)
560
+ */
561
+ childElementCount: int,
562
+ }
563
+
564
+ /**
565
+ [See ShadowRoot on MDN](https://developer.mozilla.org/docs/Web/API/ShadowRoot)
566
+ TODO: mark as private once mutating fields of private records is allowed
567
+ */
568
+ @editor.completeFrom(ShadowRoot) and shadowRoot = {
569
+ // Base properties from DocumentFragment
570
+ // End base properties from DocumentFragment
571
+
572
+ // Base properties from Node
573
+ /**
574
+ Returns the type of node.
575
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeType)
576
+ */
577
+ nodeType: int,
578
+ /**
579
+ Returns a string appropriate for the type of node.
580
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeName)
581
+ */
582
+ nodeName: string,
583
+ /**
584
+ Returns node's node document's document base URL.
585
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/baseURI)
586
+ */
587
+ baseURI: string,
588
+ /**
589
+ Returns true if node is connected and false otherwise.
590
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/isConnected)
591
+ */
592
+ isConnected: bool,
593
+ /**
594
+ Returns the node document. Returns null for documents.
595
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/ownerDocument)
596
+ */
597
+ ownerDocument: Null.t<DOM.document>,
598
+ /**
599
+ Returns the parent.
600
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentNode)
601
+ */
602
+ parentNode: Null.t<node>,
603
+ /**
604
+ Returns the parent element.
605
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentElement)
606
+ */
607
+ parentElement: Null.t<htmlElement>,
608
+ /**
609
+ Returns the children.
610
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/childNodes)
611
+ */
612
+ childNodes: DOM.nodeList<node>,
613
+ /**
614
+ Returns the first child.
615
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/firstChild)
616
+ */
617
+ firstChild: Null.t<node>,
618
+ /**
619
+ Returns the last child.
620
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/lastChild)
621
+ */
622
+ lastChild: Null.t<node>,
623
+ /**
624
+ Returns the previous sibling.
625
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/previousSibling)
626
+ */
627
+ previousSibling: Null.t<node>,
628
+ /**
629
+ Returns the next sibling.
630
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nextSibling)
631
+ */
632
+ nextSibling: Null.t<node>,
633
+ /**
634
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeValue)
635
+ */
636
+ mutable nodeValue: Null.t<string>,
637
+ /**
638
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/textContent)
639
+ */
640
+ mutable textContent: Null.t<string>,
641
+ // End base properties from Node
642
+
643
+ /**
644
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ShadowRoot/mode)
645
+ */
646
+ mode: shadowRootMode,
647
+ /**
648
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ShadowRoot/delegatesFocus)
649
+ */
650
+ delegatesFocus: bool,
651
+ /**
652
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ShadowRoot/slotAssignment)
653
+ */
654
+ slotAssignment: slotAssignmentMode,
655
+ /**
656
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ShadowRoot/clonable)
657
+ */
658
+ clonable: bool,
659
+ /**
660
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ShadowRoot/serializable)
661
+ */
662
+ serializable: bool,
663
+ /**
664
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ShadowRoot/host)
665
+ */
666
+ host: element,
667
+ /**
668
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ShadowRoot/innerHTML)
669
+ */
670
+ @throws(JsExn)
671
+ mutable innerHTML: string,
672
+ /**
673
+ Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document.
674
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/styleSheets)
675
+ */
676
+ styleSheets: StyleSheetList.t,
677
+ /**
678
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/adoptedStyleSheets)
679
+ */
680
+ @throws(JsExn)
681
+ mutable adoptedStyleSheets: array<StyleSheet.cssStyleSheet>,
682
+ /**
683
+ Returns document's fullscreen element.
684
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/fullscreenElement)
685
+ */
686
+ fullscreenElement: Null.t<element>,
687
+ /**
688
+ Returns the deepest element in the document through which or to which key events are being routed. This is, roughly speaking, the focused element in the document.
689
+
690
+ For the purposes of this API, when a child browsing context is focused, its container is focused in the parent browsing context. For example, if the user moves the focus to a text control in an iframe, the iframe is the element returned by the activeElement API in the iframe's node document.
691
+
692
+ Similarly, when the focused element is in a different node tree than documentOrShadowRoot, the element returned will be the host that's located in the same node tree as documentOrShadowRoot if documentOrShadowRoot is a shadow-including inclusive ancestor of the focused element, and null if not.
693
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/activeElement)
694
+ */
695
+ activeElement: Null.t<element>,
696
+ /**
697
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/pictureInPictureElement)
698
+ */
699
+ pictureInPictureElement: Null.t<element>,
700
+ /**
701
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Document/pointerLockElement)
702
+ */
703
+ pointerLockElement: Null.t<element>,
704
+ }
705
+
706
+ /**
707
+ Any HTML element. Some elements directly implement this interface, while others implement it via an interface that inherits it.
708
+ [See HTMLElement on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement)
709
+ TODO: mark as private once mutating fields of private records is allowed
710
+ */
711
+ @editor.completeFrom(HTMLElement) and htmlElement = {
712
+ // Base properties from Element
713
+ /**
714
+ Returns the namespace.
715
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/namespaceURI)
716
+ */
717
+ namespaceURI: Null.t<string>,
718
+ /**
719
+ Returns the namespace prefix.
720
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/prefix)
721
+ */
722
+ prefix: Null.t<string>,
723
+ /**
724
+ Returns the local name.
725
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/localName)
726
+ */
727
+ localName: string,
728
+ /**
729
+ Returns the HTML-uppercased qualified name.
730
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/tagName)
731
+ */
732
+ tagName: string,
733
+ /**
734
+ Returns the value of element's id content attribute. Can be set to change it.
735
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/id)
736
+ */
737
+ mutable id: string,
738
+ /**
739
+ Returns the value of element's class content attribute. Can be set to change it.
740
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/className)
741
+ */
742
+ mutable className: string,
743
+ /**
744
+ Allows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object.
745
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/classList)
746
+ */
747
+ classList: DOM.domTokenList,
748
+ /**
749
+ Returns the value of element's slot content attribute. Can be set to change it.
750
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/slot)
751
+ */
752
+ mutable slot: string,
753
+ /**
754
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/attributes)
755
+ */
756
+ attributes: DOM.namedNodeMap,
757
+ /**
758
+ Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.
759
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/shadowRoot)
760
+ */
761
+ shadowRoot: Null.t<shadowRoot>,
762
+ /**
763
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/part)
764
+ */
765
+ part: DOM.domTokenList,
766
+ /**
767
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollTop)
768
+ */
769
+ mutable scrollTop: float,
770
+ /**
771
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollLeft)
772
+ */
773
+ mutable scrollLeft: float,
774
+ /**
775
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollWidth)
776
+ */
777
+ scrollWidth: int,
778
+ /**
779
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollHeight)
780
+ */
781
+ scrollHeight: int,
782
+ /**
783
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientTop)
784
+ */
785
+ clientTop: int,
786
+ /**
787
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientLeft)
788
+ */
789
+ clientLeft: int,
790
+ /**
791
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientWidth)
792
+ */
793
+ clientWidth: int,
794
+ /**
795
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientHeight)
796
+ */
797
+ clientHeight: int,
798
+ /**
799
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/currentCSSZoom)
800
+ */
801
+ currentCSSZoom: float,
802
+ /**
803
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/innerHTML)
804
+ */
805
+ @throws(JsExn)
806
+ mutable innerHTML: string,
807
+ /**
808
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/outerHTML)
809
+ */
810
+ @throws(JsExn)
811
+ mutable outerHTML: string,
812
+ // End base properties from Element
813
+
814
+ // Base properties from Node
815
+ /**
816
+ Returns the type of node.
817
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeType)
818
+ */
819
+ nodeType: int,
820
+ /**
821
+ Returns a string appropriate for the type of node.
822
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeName)
823
+ */
824
+ nodeName: string,
825
+ /**
826
+ Returns node's node document's document base URL.
827
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/baseURI)
828
+ */
829
+ baseURI: string,
830
+ /**
831
+ Returns true if node is connected and false otherwise.
832
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/isConnected)
833
+ */
834
+ isConnected: bool,
835
+ /**
836
+ Returns the node document. Returns null for documents.
837
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/ownerDocument)
838
+ */
839
+ ownerDocument: Null.t<DOM.document>,
840
+ /**
841
+ Returns the parent.
842
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentNode)
843
+ */
844
+ parentNode: Null.t<node>,
845
+ /**
846
+ Returns the parent element.
847
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentElement)
848
+ */
849
+ parentElement: Null.t<htmlElement>,
850
+ /**
851
+ Returns the children.
852
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/childNodes)
853
+ */
854
+ childNodes: DOM.nodeList<node>,
855
+ /**
856
+ Returns the first child.
857
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/firstChild)
858
+ */
859
+ firstChild: Null.t<node>,
860
+ /**
861
+ Returns the last child.
862
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/lastChild)
863
+ */
864
+ lastChild: Null.t<node>,
865
+ /**
866
+ Returns the previous sibling.
867
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/previousSibling)
868
+ */
869
+ previousSibling: Null.t<node>,
870
+ /**
871
+ Returns the next sibling.
872
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nextSibling)
873
+ */
874
+ nextSibling: Null.t<node>,
875
+ /**
876
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeValue)
877
+ */
878
+ mutable nodeValue: Null.t<string>,
879
+ /**
880
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/textContent)
881
+ */
882
+ mutable textContent: Null.t<string>,
883
+ // End base properties from Node
884
+
885
+ /**
886
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/title)
887
+ */
888
+ mutable title: string,
889
+ /**
890
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/lang)
891
+ */
892
+ mutable lang: string,
893
+ /**
894
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/translate)
895
+ */
896
+ mutable translate: bool,
897
+ /**
898
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/dir)
899
+ */
900
+ mutable dir: string,
901
+ /**
902
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/inert)
903
+ */
904
+ mutable inert: bool,
905
+ /**
906
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/accessKey)
907
+ */
908
+ mutable accessKey: string,
909
+ /**
910
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/accessKeyLabel)
911
+ */
912
+ accessKeyLabel: string,
913
+ /**
914
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/draggable)
915
+ */
916
+ mutable draggable: bool,
917
+ /**
918
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/spellcheck)
919
+ */
920
+ mutable spellcheck: bool,
921
+ /**
922
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/autocapitalize)
923
+ */
924
+ mutable autocapitalize: string,
925
+ /**
926
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/innerText)
927
+ */
928
+ mutable innerText: string,
929
+ /**
930
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/outerText)
931
+ */
932
+ mutable outerText: string,
933
+ /**
934
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/popover)
935
+ */
936
+ mutable popover: Null.t<string>,
937
+ /**
938
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetParent)
939
+ */
940
+ offsetParent: Null.t<element>,
941
+ /**
942
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetTop)
943
+ */
944
+ offsetTop: int,
945
+ /**
946
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetLeft)
947
+ */
948
+ offsetLeft: int,
949
+ /**
950
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetWidth)
951
+ */
952
+ offsetWidth: int,
953
+ /**
954
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetHeight)
955
+ */
956
+ offsetHeight: int,
957
+ /**
958
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/style)
959
+ */
960
+ style: CSSStyleDeclaration.t,
961
+ /**
962
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/attributeStyleMap)
963
+ */
964
+ attributeStyleMap: StylePropertyMap.t,
965
+ /**
966
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/contentEditable)
967
+ */
968
+ mutable contentEditable: string,
969
+ /**
970
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/enterKeyHint)
971
+ */
972
+ mutable enterKeyHint: string,
973
+ /**
974
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/isContentEditable)
975
+ */
976
+ isContentEditable: bool,
977
+ /**
978
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/inputMode)
979
+ */
980
+ mutable inputMode: string,
981
+ /**
982
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/dataset)
983
+ */
984
+ dataset: DOMStringMap.t,
985
+ /**
986
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/nonce)
987
+ */
988
+ mutable nonce?: string,
989
+ /**
990
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/autofocus)
991
+ */
992
+ mutable autofocus: bool,
993
+ /**
994
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/tabIndex)
995
+ */
996
+ mutable tabIndex: int,
997
+ }
998
+
999
+ /**
1000
+ A <form> element in the WebApiDOM; it allows access to and in some cases modification of aspects of the form, as well as access to its component elements.
1001
+ [See HTMLFormElement on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement)
1002
+ TODO: mark as private once mutating fields of private records is allowed
1003
+ */
1004
+ @editor.completeFrom(HTMLFormElement) and htmlFormElement = {
1005
+ // Base properties from HTMLElement
1006
+ /**
1007
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/title)
1008
+ */
1009
+ mutable title: string,
1010
+ /**
1011
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/lang)
1012
+ */
1013
+ mutable lang: string,
1014
+ /**
1015
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/translate)
1016
+ */
1017
+ mutable translate: bool,
1018
+ /**
1019
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/dir)
1020
+ */
1021
+ mutable dir: string,
1022
+ /**
1023
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/inert)
1024
+ */
1025
+ mutable inert: bool,
1026
+ /**
1027
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/accessKey)
1028
+ */
1029
+ mutable accessKey: string,
1030
+ /**
1031
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/accessKeyLabel)
1032
+ */
1033
+ accessKeyLabel: string,
1034
+ /**
1035
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/draggable)
1036
+ */
1037
+ mutable draggable: bool,
1038
+ /**
1039
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/spellcheck)
1040
+ */
1041
+ mutable spellcheck: bool,
1042
+ /**
1043
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/autocapitalize)
1044
+ */
1045
+ mutable autocapitalize: string,
1046
+ /**
1047
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/innerText)
1048
+ */
1049
+ mutable innerText: string,
1050
+ /**
1051
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/outerText)
1052
+ */
1053
+ mutable outerText: string,
1054
+ /**
1055
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/popover)
1056
+ */
1057
+ mutable popover: Null.t<string>,
1058
+ /**
1059
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetParent)
1060
+ */
1061
+ offsetParent: Null.t<element>,
1062
+ /**
1063
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetTop)
1064
+ */
1065
+ offsetTop: int,
1066
+ /**
1067
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetLeft)
1068
+ */
1069
+ offsetLeft: int,
1070
+ /**
1071
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetWidth)
1072
+ */
1073
+ offsetWidth: int,
1074
+ /**
1075
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetHeight)
1076
+ */
1077
+ offsetHeight: int,
1078
+ // End base properties from HTMLElement
1079
+
1080
+ // Base properties from Element
1081
+ /**
1082
+ Returns the namespace.
1083
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/namespaceURI)
1084
+ */
1085
+ namespaceURI: Null.t<string>,
1086
+ /**
1087
+ Returns the namespace prefix.
1088
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/prefix)
1089
+ */
1090
+ prefix: Null.t<string>,
1091
+ /**
1092
+ Returns the local name.
1093
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/localName)
1094
+ */
1095
+ localName: string,
1096
+ /**
1097
+ Returns the HTML-uppercased qualified name.
1098
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/tagName)
1099
+ */
1100
+ tagName: string,
1101
+ /**
1102
+ Returns the value of element's id content attribute. Can be set to change it.
1103
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/id)
1104
+ */
1105
+ mutable id: string,
1106
+ /**
1107
+ Returns the value of element's class content attribute. Can be set to change it.
1108
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/className)
1109
+ */
1110
+ mutable className: string,
1111
+ /**
1112
+ Allows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object.
1113
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/classList)
1114
+ */
1115
+ classList: DOM.domTokenList,
1116
+ /**
1117
+ Returns the value of element's slot content attribute. Can be set to change it.
1118
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/slot)
1119
+ */
1120
+ mutable slot: string,
1121
+ /**
1122
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/attributes)
1123
+ */
1124
+ attributes: DOM.namedNodeMap,
1125
+ /**
1126
+ Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.
1127
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/shadowRoot)
1128
+ */
1129
+ shadowRoot: Null.t<shadowRoot>,
1130
+ /**
1131
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/part)
1132
+ */
1133
+ part: DOM.domTokenList,
1134
+ /**
1135
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollTop)
1136
+ */
1137
+ mutable scrollTop: float,
1138
+ /**
1139
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollLeft)
1140
+ */
1141
+ mutable scrollLeft: float,
1142
+ /**
1143
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollWidth)
1144
+ */
1145
+ scrollWidth: int,
1146
+ /**
1147
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollHeight)
1148
+ */
1149
+ scrollHeight: int,
1150
+ /**
1151
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientTop)
1152
+ */
1153
+ clientTop: int,
1154
+ /**
1155
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientLeft)
1156
+ */
1157
+ clientLeft: int,
1158
+ /**
1159
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientWidth)
1160
+ */
1161
+ clientWidth: int,
1162
+ /**
1163
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientHeight)
1164
+ */
1165
+ clientHeight: int,
1166
+ /**
1167
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/currentCSSZoom)
1168
+ */
1169
+ currentCSSZoom: float,
1170
+ /**
1171
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/innerHTML)
1172
+ */
1173
+ @throws(JsExn)
1174
+ mutable innerHTML: string,
1175
+ /**
1176
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/outerHTML)
1177
+ */
1178
+ @throws(JsExn)
1179
+ mutable outerHTML: string,
1180
+ // End base properties from Element
1181
+
1182
+ // Base properties from Node
1183
+ /**
1184
+ Returns the type of node.
1185
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeType)
1186
+ */
1187
+ nodeType: int,
1188
+ /**
1189
+ Returns a string appropriate for the type of node.
1190
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeName)
1191
+ */
1192
+ nodeName: string,
1193
+ /**
1194
+ Returns node's node document's document base URL.
1195
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/baseURI)
1196
+ */
1197
+ baseURI: string,
1198
+ /**
1199
+ Returns true if node is connected and false otherwise.
1200
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/isConnected)
1201
+ */
1202
+ isConnected: bool,
1203
+ /**
1204
+ Returns the node document. Returns null for documents.
1205
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/ownerDocument)
1206
+ */
1207
+ ownerDocument: Null.t<DOM.document>,
1208
+ /**
1209
+ Returns the parent.
1210
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentNode)
1211
+ */
1212
+ parentNode: Null.t<node>,
1213
+ /**
1214
+ Returns the parent element.
1215
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentElement)
1216
+ */
1217
+ parentElement: Null.t<htmlElement>,
1218
+ /**
1219
+ Returns the children.
1220
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/childNodes)
1221
+ */
1222
+ childNodes: DOM.nodeList<node>,
1223
+ /**
1224
+ Returns the first child.
1225
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/firstChild)
1226
+ */
1227
+ firstChild: Null.t<node>,
1228
+ /**
1229
+ Returns the last child.
1230
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/lastChild)
1231
+ */
1232
+ lastChild: Null.t<node>,
1233
+ /**
1234
+ Returns the previous sibling.
1235
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/previousSibling)
1236
+ */
1237
+ previousSibling: Null.t<node>,
1238
+ /**
1239
+ Returns the next sibling.
1240
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nextSibling)
1241
+ */
1242
+ nextSibling: Null.t<node>,
1243
+ /**
1244
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeValue)
1245
+ */
1246
+ mutable nodeValue: Null.t<string>,
1247
+ /**
1248
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/textContent)
1249
+ */
1250
+ mutable textContent: Null.t<string>,
1251
+ // End base properties from Node
1252
+
1253
+ /**
1254
+ Sets or retrieves a list of character encodings for input data that must be accepted by the server processing the form.
1255
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/acceptCharset)
1256
+ */
1257
+ mutable acceptCharset: string,
1258
+ /**
1259
+ Sets or retrieves the WebApiURL to which the form content is sent for processing.
1260
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/action)
1261
+ */
1262
+ mutable action: string,
1263
+ /**
1264
+ Specifies whether autocomplete is applied to an editable text field.
1265
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/autocomplete)
1266
+ */
1267
+ mutable autocomplete: DOM.autoFillBase,
1268
+ /**
1269
+ Sets or retrieves the encoding type for the form.
1270
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/enctype)
1271
+ */
1272
+ mutable enctype: string,
1273
+ /**
1274
+ Sets or retrieves the MIME encoding for the form.
1275
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/encoding)
1276
+ */
1277
+ mutable encoding: string,
1278
+ /**
1279
+ Sets or retrieves how to send the form data to the server.
1280
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/method)
1281
+ */
1282
+ mutable method: string,
1283
+ /**
1284
+ Sets or retrieves the name of the object.
1285
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/name)
1286
+ */
1287
+ mutable name: string,
1288
+ /**
1289
+ Sets or retrieves the window or frame at which to target content.
1290
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/target)
1291
+ */
1292
+ mutable target: string,
1293
+ /**
1294
+ Retrieves a collection, in source order, of all controls in a given form.
1295
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/elements)
1296
+ */
1297
+ elements: htmlFormControlsCollection,
1298
+ /**
1299
+ Sets or retrieves the number of objects in a collection.
1300
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/length)
1301
+ */
1302
+ length: int,
1303
+ }
1304
+
1305
+ @editor.completeFrom(HTMLFormControlsCollection)
1306
+ and htmlFormControlsCollection = {
1307
+ length: int,
1308
+ }
1309
+
1310
+ @editor.completeFrom(HTMLSlotElement)
1311
+ and htmlSlotElement = {
1312
+ // Base properties from Element
1313
+ /**
1314
+ Returns the namespace.
1315
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/namespaceURI)
1316
+ */
1317
+ namespaceURI: Null.t<string>,
1318
+ /**
1319
+ Returns the namespace prefix.
1320
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/prefix)
1321
+ */
1322
+ prefix: Null.t<string>,
1323
+ /**
1324
+ Returns the local name.
1325
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/localName)
1326
+ */
1327
+ localName: string,
1328
+ /**
1329
+ Returns the HTML-uppercased qualified name.
1330
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/tagName)
1331
+ */
1332
+ tagName: string,
1333
+ /**
1334
+ Returns the value of element's id content attribute. Can be set to change it.
1335
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/id)
1336
+ */
1337
+ mutable id: string,
1338
+ /**
1339
+ Returns the value of element's class content attribute. Can be set to change it.
1340
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/className)
1341
+ */
1342
+ mutable className: string,
1343
+ /**
1344
+ Allows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object.
1345
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/classList)
1346
+ */
1347
+ classList: DOM.domTokenList,
1348
+ /**
1349
+ Returns the value of element's slot content attribute. Can be set to change it.
1350
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/slot)
1351
+ */
1352
+ mutable slot: string,
1353
+ /**
1354
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/attributes)
1355
+ */
1356
+ attributes: DOM.namedNodeMap,
1357
+ /**
1358
+ Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.
1359
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/shadowRoot)
1360
+ */
1361
+ shadowRoot: Null.t<shadowRoot>,
1362
+ /**
1363
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/part)
1364
+ */
1365
+ part: DOM.domTokenList,
1366
+ /**
1367
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollTop)
1368
+ */
1369
+ mutable scrollTop: float,
1370
+ /**
1371
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollLeft)
1372
+ */
1373
+ mutable scrollLeft: float,
1374
+ /**
1375
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollWidth)
1376
+ */
1377
+ scrollWidth: int,
1378
+ /**
1379
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollHeight)
1380
+ */
1381
+ scrollHeight: int,
1382
+ /**
1383
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientTop)
1384
+ */
1385
+ clientTop: int,
1386
+ /**
1387
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientLeft)
1388
+ */
1389
+ clientLeft: int,
1390
+ /**
1391
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientWidth)
1392
+ */
1393
+ clientWidth: int,
1394
+ /**
1395
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientHeight)
1396
+ */
1397
+ clientHeight: int,
1398
+ /**
1399
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/currentCSSZoom)
1400
+ */
1401
+ currentCSSZoom: float,
1402
+ /**
1403
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/innerHTML)
1404
+ */
1405
+ @throws(JsExn)
1406
+ mutable innerHTML: string,
1407
+ /**
1408
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/outerHTML)
1409
+ */
1410
+ @throws(JsExn)
1411
+ mutable outerHTML: string,
1412
+ // End base properties from Element
1413
+
1414
+ // Base properties from Node
1415
+ /**
1416
+ Returns the type of node.
1417
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeType)
1418
+ */
1419
+ nodeType: int,
1420
+ /**
1421
+ Returns a string appropriate for the type of node.
1422
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeName)
1423
+ */
1424
+ nodeName: string,
1425
+ /**
1426
+ Returns node's node document's document base URL.
1427
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/baseURI)
1428
+ */
1429
+ baseURI: string,
1430
+ /**
1431
+ Returns true if node is connected and false otherwise.
1432
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/isConnected)
1433
+ */
1434
+ isConnected: bool,
1435
+ /**
1436
+ Returns the node document. Returns null for documents.
1437
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/ownerDocument)
1438
+ */
1439
+ ownerDocument: Null.t<DOM.document>,
1440
+ /**
1441
+ Returns the parent.
1442
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentNode)
1443
+ */
1444
+ parentNode: Null.t<node>,
1445
+ /**
1446
+ Returns the parent element.
1447
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentElement)
1448
+ */
1449
+ parentElement: Null.t<htmlElement>,
1450
+ /**
1451
+ Returns the children.
1452
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/childNodes)
1453
+ */
1454
+ childNodes: DOM.nodeList<node>,
1455
+ /**
1456
+ Returns the first child.
1457
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/firstChild)
1458
+ */
1459
+ firstChild: Null.t<node>,
1460
+ /**
1461
+ Returns the last child.
1462
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/lastChild)
1463
+ */
1464
+ lastChild: Null.t<node>,
1465
+ /**
1466
+ Returns the previous sibling.
1467
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/previousSibling)
1468
+ */
1469
+ previousSibling: Null.t<node>,
1470
+ /**
1471
+ Returns the next sibling.
1472
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nextSibling)
1473
+ */
1474
+ nextSibling: Null.t<node>,
1475
+ /**
1476
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeValue)
1477
+ */
1478
+ mutable nodeValue: Null.t<string>,
1479
+ /**
1480
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/textContent)
1481
+ */
1482
+ mutable textContent: Null.t<string>,
1483
+ // End base properties from Node
1484
+
1485
+ /**
1486
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/title)
1487
+ */
1488
+ mutable title: string,
1489
+ /**
1490
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/lang)
1491
+ */
1492
+ mutable lang: string,
1493
+ /**
1494
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/translate)
1495
+ */
1496
+ mutable translate: bool,
1497
+ /**
1498
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/dir)
1499
+ */
1500
+ mutable dir: string,
1501
+ /**
1502
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/inert)
1503
+ */
1504
+ mutable inert: bool,
1505
+ /**
1506
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/accessKey)
1507
+ */
1508
+ mutable accessKey: string,
1509
+ /**
1510
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/accessKeyLabel)
1511
+ */
1512
+ accessKeyLabel: string,
1513
+ /**
1514
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/draggable)
1515
+ */
1516
+ mutable draggable: bool,
1517
+ /**
1518
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/spellcheck)
1519
+ */
1520
+ mutable spellcheck: bool,
1521
+ /**
1522
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/autocapitalize)
1523
+ */
1524
+ mutable autocapitalize: string,
1525
+ /**
1526
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/innerText)
1527
+ */
1528
+ mutable innerText: string,
1529
+ /**
1530
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/outerText)
1531
+ */
1532
+ mutable outerText: string,
1533
+ /**
1534
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/popover)
1535
+ */
1536
+ mutable popover: Null.t<string>,
1537
+ /**
1538
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetParent)
1539
+ */
1540
+ offsetParent: Null.t<element>,
1541
+ /**
1542
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetTop)
1543
+ */
1544
+ offsetTop: int,
1545
+ /**
1546
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetLeft)
1547
+ */
1548
+ offsetLeft: int,
1549
+ /**
1550
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetWidth)
1551
+ */
1552
+ offsetWidth: int,
1553
+ /**
1554
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetHeight)
1555
+ */
1556
+ offsetHeight: int,
1557
+ /**
1558
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/style)
1559
+ */
1560
+ style: CSSStyleDeclaration.t,
1561
+ /**
1562
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/attributeStyleMap)
1563
+ */
1564
+ attributeStyleMap: StylePropertyMap.t,
1565
+ /**
1566
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/contentEditable)
1567
+ */
1568
+ mutable contentEditable: string,
1569
+ /**
1570
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/enterKeyHint)
1571
+ */
1572
+ mutable enterKeyHint: string,
1573
+ /**
1574
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/isContentEditable)
1575
+ */
1576
+ isContentEditable: bool,
1577
+ /**
1578
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/inputMode)
1579
+ */
1580
+ mutable inputMode: string,
1581
+ /**
1582
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/dataset)
1583
+ */
1584
+ dataset: DOMStringMap.t,
1585
+ /**
1586
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/nonce)
1587
+ */
1588
+ mutable nonce?: string,
1589
+ /**
1590
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/autofocus)
1591
+ */
1592
+ mutable autofocus: bool,
1593
+ /**
1594
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/tabIndex)
1595
+ */
1596
+ mutable tabIndex: int,
1597
+ /**
1598
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLSlotElement/name)
1599
+ */
1600
+ mutable name: string,
1601
+ }
1602
+
1603
+ @editor.completeFrom(ElementInternals)
1604
+ and elementInternals = {
1605
+ shadowRoot: Null.t<shadowRoot>,
1606
+ form: Null.t<htmlFormElement>,
1607
+ willValidate: bool,
1608
+ validity: DOM.validityState,
1609
+ validationMessage: string,
1610
+ labels: DOM.nodeList<unknown>,
1611
+ states: customStateSet,
1612
+ mutable ariaAtomic: Null.t<string>,
1613
+ mutable ariaAutoComplete: Null.t<string>,
1614
+ mutable ariaBrailleLabel: Null.t<string>,
1615
+ mutable ariaBrailleRoleDescription: Null.t<string>,
1616
+ mutable ariaBusy: Null.t<string>,
1617
+ mutable ariaChecked: Null.t<string>,
1618
+ mutable ariaColCount: Null.t<string>,
1619
+ mutable ariaColIndex: Null.t<string>,
1620
+ mutable ariaColIndexText: Null.t<string>,
1621
+ mutable ariaColSpan: Null.t<string>,
1622
+ mutable ariaCurrent: Null.t<string>,
1623
+ mutable ariaDescription: Null.t<string>,
1624
+ mutable ariaDisabled: Null.t<string>,
1625
+ mutable ariaExpanded: Null.t<string>,
1626
+ mutable ariaHasPopup: Null.t<string>,
1627
+ mutable ariaHidden: Null.t<string>,
1628
+ mutable ariaKeyShortcuts: Null.t<string>,
1629
+ mutable ariaLabel: Null.t<string>,
1630
+ mutable ariaLevel: Null.t<string>,
1631
+ mutable ariaLive: Null.t<string>,
1632
+ mutable ariaModal: Null.t<string>,
1633
+ mutable ariaMultiLine: Null.t<string>,
1634
+ mutable ariaMultiSelectable: Null.t<string>,
1635
+ mutable ariaOrientation: Null.t<string>,
1636
+ mutable ariaPlaceholder: Null.t<string>,
1637
+ mutable ariaPosInSet: Null.t<string>,
1638
+ mutable ariaPressed: Null.t<string>,
1639
+ mutable ariaReadOnly: Null.t<string>,
1640
+ mutable ariaRequired: Null.t<string>,
1641
+ mutable ariaRoleDescription: Null.t<string>,
1642
+ mutable ariaRowCount: Null.t<string>,
1643
+ mutable ariaRowIndex: Null.t<string>,
1644
+ mutable ariaRowIndexText: Null.t<string>,
1645
+ mutable ariaRowSpan: Null.t<string>,
1646
+ mutable ariaSelected: Null.t<string>,
1647
+ mutable ariaSetSize: Null.t<string>,
1648
+ mutable ariaSort: Null.t<string>,
1649
+ mutable ariaValueMax: Null.t<string>,
1650
+ mutable ariaValueMin: Null.t<string>,
1651
+ mutable ariaValueNow: Null.t<string>,
1652
+ mutable ariaValueText: Null.t<string>,
1653
+ }