@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,108 @@
1
+ /**
2
+ Represents the observable states of `HTMLElement.hidden`.
3
+
4
+ - `Visible` means the element is not hidden.
5
+ - `Hidden` means the element is hidden.
6
+ - `HiddenUntilFound` means the element can be revealed by find-in-page or fragment navigation.
7
+
8
+ [Read more in the HTML Standard](https://html.spec.whatwg.org/multipage/interaction.html#dom-hidden)
9
+ */
10
+ type hiddenState =
11
+ | @as(false) Visible
12
+ | @as(true) Hidden
13
+ | @as("until-found") HiddenUntilFound
14
+
15
+ type t = DOMTree.htmlElement = private {
16
+ ...DOMTree.htmlElement,
17
+ }
18
+
19
+ module Impl = (
20
+ T: {
21
+ type t
22
+ },
23
+ ) => {
24
+ include Element.Impl({type t = T.t})
25
+
26
+ external asHTMLElement: T.t => DOMTree.htmlElement = "%identity"
27
+
28
+ /**
29
+ Returns the element's current hidden state.
30
+
31
+ ```rescript
32
+ let description = switch element->HTMLElement.hidden {
33
+ | HTMLElement.Visible => "visible"
34
+ | HTMLElement.Hidden => "hidden"
35
+ | HTMLElement.HiddenUntilFound => "hidden until found"
36
+ }
37
+ ```
38
+
39
+ This getter never returns `null`.
40
+
41
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/hidden)
42
+ */
43
+ @get
44
+ external hidden: T.t => hiddenState = "hidden"
45
+
46
+ /**
47
+ Sets the element's semantic hidden state.
48
+
49
+ ```rescript
50
+ element->HTMLElement.setHidden(HTMLElement.Hidden)
51
+ element->HTMLElement.setHidden(HTMLElement.HiddenUntilFound)
52
+ element->HTMLElement.setHidden(HTMLElement.Visible)
53
+ ```
54
+
55
+ The browser also accepts values such as numbers, arbitrary strings, `null`, and
56
+ `undefined`, but coerces each of them to one of these three states. This binding
57
+ intentionally accepts only `hiddenState` so callers express the resulting state
58
+ rather than relying on coercion.
59
+
60
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/hidden)
61
+ */
62
+ @set
63
+ external setHidden: (T.t, hiddenState) => unit = "hidden"
64
+
65
+ /**
66
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/attachInternals)
67
+ */
68
+ @throws(JsExn) @send
69
+ external attachInternals: T.t => DOMTree.elementInternals = "attachInternals"
70
+
71
+ /**
72
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/blur)
73
+ */
74
+ @send
75
+ external blur: T.t => unit = "blur"
76
+
77
+ /**
78
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/click)
79
+ */
80
+ @send
81
+ external click: T.t => unit = "click"
82
+
83
+ /**
84
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)
85
+ */
86
+ @send
87
+ external focus: (T.t, ~options: DOM.focusOptions=?) => unit = "focus"
88
+
89
+ /**
90
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/hidePopover)
91
+ */
92
+ @throws(JsExn) @send
93
+ external hidePopover: T.t => unit = "hidePopover"
94
+
95
+ /**
96
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/showPopover)
97
+ */
98
+ @throws(JsExn) @send
99
+ external showPopover: T.t => unit = "showPopover"
100
+
101
+ /**
102
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/togglePopover)
103
+ */
104
+ @throws(JsExn) @send
105
+ external togglePopover: (T.t, ~force: bool=?) => bool = "togglePopover"
106
+ }
107
+
108
+ include Impl({type t = t})
@@ -0,0 +1,275 @@
1
+ /**
2
+ Provides special properties (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating <embed> elements.
3
+ [See HTMLEmbedElement on MDN](https://developer.mozilla.org/docs/Web/API/HTMLEmbedElement)
4
+ TODO: mark as private once mutating fields of private records is allowed
5
+ */
6
+ type t = {
7
+ // Base properties from HTMLElement
8
+ /**
9
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/title)
10
+ */
11
+ mutable title: string,
12
+ /**
13
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/lang)
14
+ */
15
+ mutable lang: string,
16
+ /**
17
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/translate)
18
+ */
19
+ mutable translate: bool,
20
+ /**
21
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/dir)
22
+ */
23
+ mutable dir: string,
24
+ /**
25
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/inert)
26
+ */
27
+ mutable inert: bool,
28
+ /**
29
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/accessKey)
30
+ */
31
+ mutable accessKey: string,
32
+ /**
33
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/accessKeyLabel)
34
+ */
35
+ accessKeyLabel: string,
36
+ /**
37
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/draggable)
38
+ */
39
+ mutable draggable: bool,
40
+ /**
41
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/spellcheck)
42
+ */
43
+ mutable spellcheck: bool,
44
+ /**
45
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/autocapitalize)
46
+ */
47
+ mutable autocapitalize: string,
48
+ /**
49
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/innerText)
50
+ */
51
+ mutable innerText: string,
52
+ /**
53
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/outerText)
54
+ */
55
+ mutable outerText: string,
56
+ /**
57
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/popover)
58
+ */
59
+ mutable popover: Null.t<string>,
60
+ /**
61
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetParent)
62
+ */
63
+ offsetParent: Null.t<DOMTree.element>,
64
+ /**
65
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetTop)
66
+ */
67
+ offsetTop: int,
68
+ /**
69
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetLeft)
70
+ */
71
+ offsetLeft: int,
72
+ /**
73
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetWidth)
74
+ */
75
+ offsetWidth: int,
76
+ /**
77
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/offsetHeight)
78
+ */
79
+ offsetHeight: int,
80
+ // End base properties from HTMLElement
81
+
82
+ // Base properties from Element
83
+ /**
84
+ Returns the namespace.
85
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/namespaceURI)
86
+ */
87
+ namespaceURI: Null.t<string>,
88
+ /**
89
+ Returns the namespace prefix.
90
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/prefix)
91
+ */
92
+ prefix: Null.t<string>,
93
+ /**
94
+ Returns the local name.
95
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/localName)
96
+ */
97
+ localName: string,
98
+ /**
99
+ Returns the HTML-uppercased qualified name.
100
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/tagName)
101
+ */
102
+ tagName: string,
103
+ /**
104
+ Returns the value of element's id content attribute. Can be set to change it.
105
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/id)
106
+ */
107
+ mutable id: string,
108
+ /**
109
+ Returns the value of element's class content attribute. Can be set to change it.
110
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/className)
111
+ */
112
+ mutable className: string,
113
+ /**
114
+ Allows for manipulation of element's class content attribute as a set of whitespace-separated tokens through a DOMTokenList object.
115
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/classList)
116
+ */
117
+ classList: DOM.domTokenList,
118
+ /**
119
+ Returns the value of element's slot content attribute. Can be set to change it.
120
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/slot)
121
+ */
122
+ mutable slot: string,
123
+ /**
124
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/attributes)
125
+ */
126
+ attributes: DOM.namedNodeMap,
127
+ /**
128
+ Returns element's shadow root, if any, and if shadow root's mode is "open", and null otherwise.
129
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/shadowRoot)
130
+ */
131
+ shadowRoot: Null.t<DOMTree.shadowRoot>,
132
+ /**
133
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/part)
134
+ */
135
+ part: DOM.domTokenList,
136
+ /**
137
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollTop)
138
+ */
139
+ mutable scrollTop: float,
140
+ /**
141
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollLeft)
142
+ */
143
+ mutable scrollLeft: float,
144
+ /**
145
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollWidth)
146
+ */
147
+ scrollWidth: int,
148
+ /**
149
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/scrollHeight)
150
+ */
151
+ scrollHeight: int,
152
+ /**
153
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientTop)
154
+ */
155
+ clientTop: int,
156
+ /**
157
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientLeft)
158
+ */
159
+ clientLeft: int,
160
+ /**
161
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientWidth)
162
+ */
163
+ clientWidth: int,
164
+ /**
165
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/clientHeight)
166
+ */
167
+ clientHeight: int,
168
+ /**
169
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/currentCSSZoom)
170
+ */
171
+ currentCSSZoom: float,
172
+ /**
173
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/innerHTML)
174
+ */
175
+ @throws(JsExn)
176
+ mutable innerHTML: string,
177
+ /**
178
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Element/outerHTML)
179
+ */
180
+ @throws(JsExn)
181
+ mutable outerHTML: string,
182
+ // End base properties from Element
183
+
184
+ // Base properties from Node
185
+ /**
186
+ Returns the type of node.
187
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeType)
188
+ */
189
+ nodeType: int,
190
+ /**
191
+ Returns a string appropriate for the type of node.
192
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeName)
193
+ */
194
+ nodeName: string,
195
+ /**
196
+ Returns node's node document's document base URL.
197
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/baseURI)
198
+ */
199
+ baseURI: string,
200
+ /**
201
+ Returns true if node is connected and false otherwise.
202
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/isConnected)
203
+ */
204
+ isConnected: bool,
205
+ /**
206
+ Returns the node document. Returns null for documents.
207
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/ownerDocument)
208
+ */
209
+ ownerDocument: Null.t<DOM.document>,
210
+ /**
211
+ Returns the parent.
212
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentNode)
213
+ */
214
+ parentNode: Null.t<DOMTree.node>,
215
+ /**
216
+ Returns the parent element.
217
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/parentElement)
218
+ */
219
+ parentElement: Null.t<DOMTree.htmlElement>,
220
+ /**
221
+ Returns the children.
222
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/childNodes)
223
+ */
224
+ childNodes: DOM.nodeList<DOMTree.node>,
225
+ /**
226
+ Returns the first child.
227
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/firstChild)
228
+ */
229
+ firstChild: Null.t<DOMTree.node>,
230
+ /**
231
+ Returns the last child.
232
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/lastChild)
233
+ */
234
+ lastChild: Null.t<DOMTree.node>,
235
+ /**
236
+ Returns the previous sibling.
237
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/previousSibling)
238
+ */
239
+ previousSibling: Null.t<DOMTree.node>,
240
+ /**
241
+ Returns the next sibling.
242
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nextSibling)
243
+ */
244
+ nextSibling: Null.t<DOMTree.node>,
245
+ /**
246
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/nodeValue)
247
+ */
248
+ mutable nodeValue: Null.t<string>,
249
+ /**
250
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Node/textContent)
251
+ */
252
+ mutable textContent: Null.t<string>,
253
+ // End base properties from Node
254
+
255
+ /**
256
+ Sets or retrieves a WebApiURL to be loaded by the object.
257
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLEmbedElement/src)
258
+ */
259
+ mutable src: string,
260
+ /**
261
+ Sets or retrieves the width of the object.
262
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLEmbedElement/width)
263
+ */
264
+ mutable width: string,
265
+ /**
266
+ Sets or retrieves the height of the object.
267
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLEmbedElement/height)
268
+ */
269
+ mutable height: string,
270
+ }
271
+
272
+ include HTMLElement.Impl({type t = t})
273
+
274
+ @send
275
+ external getSVGDocument: t => Null.t<DOM.document> = "getSVGDocument"
@@ -0,0 +1,70 @@
1
+ /**
2
+ Provides special properties and methods (beyond the regular HTMLElement interface it also has available to it by inheritance) for manipulating the layout and presentation of <fieldset> elements.
3
+ [See HTMLFieldSetElement on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement)
4
+ TODO: mark as private once mutating fields of private records is allowed
5
+ */
6
+ type t = {
7
+ ...DOMTree.htmlElement,
8
+ /**
9
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/disabled)
10
+ */
11
+ mutable disabled: bool,
12
+ /**
13
+ Retrieves a reference to the form that the object is embedded in.
14
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/form)
15
+ */
16
+ form: Null.t<DOMTree.htmlFormElement>,
17
+ /**
18
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/name)
19
+ */
20
+ mutable name: string,
21
+ /**
22
+ Returns the string "fieldset".
23
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/type)
24
+ */
25
+ @as("type")
26
+ type_: string,
27
+ /**
28
+ Returns an HTMLCollection of the form controls in the element.
29
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/elements)
30
+ */
31
+ elements: HTMLCollection.t<DOMTree.element>,
32
+ /**
33
+ Returns whether an element will successfully validate based on forms validation rules and constraints.
34
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/willValidate)
35
+ */
36
+ willValidate: bool,
37
+ /**
38
+ Returns a ValidityState object that represents the validity states of an element.
39
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/validity)
40
+ */
41
+ validity: DOM.validityState,
42
+ /**
43
+ Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting.
44
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/validationMessage)
45
+ */
46
+ validationMessage: string,
47
+ }
48
+
49
+ include HTMLElement.Impl({type t = t})
50
+
51
+ /**
52
+ Returns whether a form will validate when it is submitted, without having to submit it.
53
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/checkValidity)
54
+ */
55
+ @send
56
+ external checkValidity: t => bool = "checkValidity"
57
+
58
+ /**
59
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/reportValidity)
60
+ */
61
+ @send
62
+ external reportValidity: t => bool = "reportValidity"
63
+
64
+ /**
65
+ Sets a custom error message that is displayed when a form is submitted.
66
+ @param error Sets a custom error message that is displayed when a form is submitted.
67
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/setCustomValidity)
68
+ */
69
+ @send
70
+ external setCustomValidity: (t, string) => unit = "setCustomValidity"
@@ -0,0 +1,21 @@
1
+ type t = DOMTree.htmlFormControlsCollection = private {
2
+ ...DOMTree.htmlFormControlsCollection,
3
+ }
4
+
5
+ external asHTMLCollection: DOMTree.htmlFormControlsCollection => HTMLCollection.t<DOMTree.element> =
6
+ "%identity"
7
+
8
+ /**
9
+ Retrieves an object from various collections.
10
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLCollection/item)
11
+ */
12
+ @send
13
+ external item: (DOMTree.htmlFormControlsCollection, int) => Null.t<DOMTree.element> = "item"
14
+
15
+ /**
16
+ Retrieves a select object or an object from an options collection.
17
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLCollection/namedItem)
18
+ */
19
+ @send
20
+ external namedItem: (DOMTree.htmlFormControlsCollection, string) => Null.t<DOMTree.element> =
21
+ "namedItem"
@@ -0,0 +1,39 @@
1
+ type t = DOMTree.htmlFormElement = private {
2
+ ...DOMTree.htmlFormElement,
3
+ }
4
+
5
+ include HTMLElement.Impl({type t = t})
6
+
7
+ /**
8
+ Fires when a FORM is about to be submitted.
9
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/submit)
10
+ */
11
+ @throws(JsExn) @send
12
+ external submit: DOMTree.htmlFormElement => unit = "submit"
13
+
14
+ /**
15
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/requestSubmit)
16
+ */
17
+ @throws(JsExn) @send
18
+ external requestSubmit: (DOMTree.htmlFormElement, ~submitter: DOMTree.htmlElement=?) => unit =
19
+ "requestSubmit"
20
+
21
+ /**
22
+ Fires when the user resets a form.
23
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/reset)
24
+ */
25
+ @send
26
+ external reset: DOMTree.htmlFormElement => unit = "reset"
27
+
28
+ /**
29
+ Returns whether a form will validate when it is submitted, without having to submit it.
30
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/checkValidity)
31
+ */
32
+ @send
33
+ external checkValidity: DOMTree.htmlFormElement => bool = "checkValidity"
34
+
35
+ /**
36
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/reportValidity)
37
+ */
38
+ @send
39
+ external reportValidity: DOMTree.htmlFormElement => bool = "reportValidity"
@@ -0,0 +1,9 @@
1
+ /**
2
+ Provides special properties (beyond those of the regular HTMLElement interface they also inherit) for manipulating <frameset> elements.
3
+ [See HTMLFrameSetElement on MDN](https://developer.mozilla.org/docs/Web/API/HTMLFrameSetElement)
4
+ */
5
+ type t = private {
6
+ ...DOMTree.htmlElement,
7
+ }
8
+
9
+ include HTMLElement.Impl({type t = t})
@@ -0,0 +1,9 @@
1
+ /**
2
+ Provides special properties (beyond those of the HTMLElement interface it also has available to it by inheritance) for manipulating <hr> elements.
3
+ [See HTMLHRElement on MDN](https://developer.mozilla.org/docs/Web/API/HTMLHRElement)
4
+ */
5
+ type t = private {
6
+ ...DOMTree.htmlElement,
7
+ }
8
+
9
+ include HTMLElement.Impl({type t = t})