@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,24 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/StorageManager/persisted)
3
+ */
4
+ @send
5
+ external persisted: StorageTypes.storageManager => promise<bool> = "persisted"
6
+
7
+ /**
8
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/StorageManager/persist)
9
+ */
10
+ @send
11
+ external persist: StorageTypes.storageManager => promise<bool> = "persist"
12
+
13
+ /**
14
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/StorageManager/estimate)
15
+ */
16
+ @send
17
+ external estimate: StorageTypes.storageManager => promise<StorageTypes.storageEstimate> = "estimate"
18
+
19
+ /**
20
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/StorageManager/getDirectory)
21
+ */
22
+ @send
23
+ external getDirectory: StorageTypes.storageManager => promise<FileTypes.fileSystemDirectoryHandle> =
24
+ "getDirectory"
@@ -0,0 +1,11 @@
1
+ @@warning("-30")
2
+ /**
3
+ [See StorageManager on MDN](https://developer.mozilla.org/docs/Web/API/StorageManager)
4
+ */
5
+ @editor.completeFrom(StorageManager)
6
+ type storageManager = private {}
7
+
8
+ type storageEstimate = {
9
+ mutable usage?: int,
10
+ mutable quota?: int,
11
+ }
@@ -0,0 +1,57 @@
1
+ @@warning("-30")
2
+
3
+ /**
4
+ This Web WebApiStorage API interface provides access to a particular domain's session or local storage. It allows, for example, the addition, modification, or deletion of stored data items.
5
+ [See WebApiStorage on MDN](https://developer.mozilla.org/docs/Web/API/Storage)
6
+ */
7
+ @editor.completeFrom(WebApiStorage)
8
+ type storage = private {
9
+ /**
10
+ Returns the number of key/value pairs.
11
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Storage/length)
12
+ */
13
+ length: int,
14
+ }
15
+
16
+ /**
17
+ A StorageEvent is sent to a window when a storage area it has access to is changed within the context of another document.
18
+ [See StorageEvent on MDN](https://developer.mozilla.org/docs/Web/API/StorageEvent)
19
+ */
20
+ @editor.completeFrom(StorageEvent)
21
+ type storageEvent = private {
22
+ ...DOM.event,
23
+ /**
24
+ Returns the key of the storage item being changed.
25
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/StorageEvent/key)
26
+ */
27
+ key: Null.t<string>,
28
+ /**
29
+ Returns the old value of the key of the storage item whose value is being changed.
30
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/StorageEvent/oldValue)
31
+ */
32
+ oldValue: Null.t<string>,
33
+ /**
34
+ Returns the new value of the key of the storage item whose value is being changed.
35
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/StorageEvent/newValue)
36
+ */
37
+ newValue: Null.t<string>,
38
+ /**
39
+ Returns the WebApiURL of the document whose storage item changed.
40
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/StorageEvent/url)
41
+ */
42
+ url: string,
43
+ /**
44
+ Returns the WebApiStorage object that was affected.
45
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/StorageEvent/storageArea)
46
+ */
47
+ storageArea: Null.t<storage>,
48
+ }
49
+
50
+ type storageEventInit = {
51
+ ...Event.eventInit,
52
+ mutable key?: Nullable.t<string>,
53
+ mutable oldValue?: Nullable.t<string>,
54
+ mutable newValue?: Nullable.t<string>,
55
+ mutable url?: string,
56
+ mutable storageArea?: Nullable.t<storage>,
57
+ }
@@ -0,0 +1,115 @@
1
+ /**
2
+ Used for attributes of type SVGPreserveAspectRatio which can be animated.
3
+ [See SVGAnimatedPreserveAspectRatio on MDN](https://developer.mozilla.org/docs/Web/API/SVGAnimatedPreserveAspectRatio)
4
+ */
5
+ type svgAnimatedPreserveAspectRatio = {}
6
+
7
+ /**
8
+ Correspond to the <length> basic data type.
9
+ [See SVGLength on MDN](https://developer.mozilla.org/docs/Web/API/SVGLength)
10
+ */
11
+ @editor.completeFrom(SVGLength)
12
+ type svgLength = private {}
13
+
14
+ /**
15
+ Used for attributes of basic type <length> which can be animated.
16
+ [See SVGAnimatedLength on MDN](https://developer.mozilla.org/docs/Web/API/SVGAnimatedLength)
17
+ */
18
+ type svgAnimatedLength = {
19
+ /**
20
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/SVGAnimatedLength/baseVal)
21
+ */
22
+ baseVal: svgLength,
23
+ /**
24
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/SVGAnimatedLength/animVal)
25
+ */
26
+ animVal: svgLength,
27
+ }
28
+
29
+ /**
30
+ All of the SVG WebApiDOM interfaces that correspond directly to elements in the SVG language derive from the SVGElement interface.
31
+ [See SVGElement on MDN](https://developer.mozilla.org/docs/Web/API/SVGElement)
32
+ */
33
+ type t = {
34
+ ...DOMTree.element,
35
+ /**
36
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/dataset)
37
+ */
38
+ dataset: DOMStringMap.t,
39
+ /**
40
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/nonce)
41
+ */
42
+ mutable nonce?: string,
43
+ /**
44
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/autofocus)
45
+ */
46
+ mutable autofocus: bool,
47
+ /**
48
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/tabIndex)
49
+ */
50
+ mutable tabIndex: int,
51
+ /**
52
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/style)
53
+ */
54
+ style: CSSStyleDeclaration.t,
55
+ /**
56
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLElement/attributeStyleMap)
57
+ */
58
+ attributeStyleMap: StylePropertyMap.t,
59
+ }
60
+
61
+ module Impl = (
62
+ T: {
63
+ type t
64
+ },
65
+ ) => {
66
+ include Element.Impl({type t = T.t})
67
+
68
+ external asSVGElement: T.t => t = "%identity"
69
+ }
70
+
71
+ include Impl({type t = t})
72
+
73
+ /**
74
+ SVG elements whose primary purpose is to directly render graphics into a group.
75
+ [See SVGGraphicsElement on MDN](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement)
76
+ */
77
+ @editor.completeFrom(SVGGraphicsElement)
78
+ type svgGraphicsElement = private {
79
+ ...t,
80
+ }
81
+
82
+ /**
83
+ Corresponds to the <image> element.
84
+ [See SVGImageElement on MDN](https://developer.mozilla.org/docs/Web/API/SVGImageElement)
85
+ */
86
+ type svgImageElement = {
87
+ ...svgGraphicsElement,
88
+ /**
89
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/SVGImageElement/x)
90
+ */
91
+ x: svgAnimatedLength,
92
+ /**
93
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/SVGImageElement/y)
94
+ */
95
+ y: svgAnimatedLength,
96
+ /**
97
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/SVGImageElement/width)
98
+ */
99
+ width: svgAnimatedLength,
100
+ /**
101
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/SVGImageElement/height)
102
+ */
103
+ height: svgAnimatedLength,
104
+ /**
105
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/SVGImageElement/preserveAspectRatio)
106
+ */
107
+ preserveAspectRatio: svgAnimatedPreserveAspectRatio,
108
+ }
109
+
110
+ type svgBoundingBoxOptions = {
111
+ mutable fill?: bool,
112
+ mutable stroke?: bool,
113
+ mutable markers?: bool,
114
+ mutable clipped?: bool,
115
+ }
@@ -0,0 +1,16 @@
1
+ include SVGElement.Impl({type t = SVGElement.svgGraphicsElement})
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/SVGGraphicsElement/getBBox)
5
+ */
6
+ @send
7
+ external getBBox: (
8
+ SVGElement.svgGraphicsElement,
9
+ ~options: SVGElement.svgBoundingBoxOptions=?,
10
+ ) => DOM.domRect = "getBBox"
11
+
12
+ @send
13
+ external getCTM: SVGElement.svgGraphicsElement => Null.t<DOM.domMatrix> = "getCTM"
14
+
15
+ @send
16
+ external getScreenCTM: SVGElement.svgGraphicsElement => Null.t<DOM.domMatrix> = "getScreenCTM"
@@ -0,0 +1,9 @@
1
+ @throws(JsExn) @send
2
+ external newValueSpecifiedUnits: (
3
+ SVGElement.svgLength,
4
+ ~unitType: int,
5
+ ~valueInSpecifiedUnits: float,
6
+ ) => unit = "newValueSpecifiedUnits"
7
+
8
+ @throws(JsExn) @send
9
+ external convertToSpecifiedUnits: (SVGElement.svgLength, int) => unit = "convertToSpecifiedUnits"
@@ -0,0 +1,10 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CompositionEvent)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.compositionEventInit=?,
8
+ ) => UiEventsTypes.compositionEvent = "CompositionEvent"
9
+
10
+ include UIEvent.Impl({type t = UiEventsTypes.compositionEvent})
@@ -0,0 +1,38 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransfer)
3
+ */
4
+ @new
5
+ external make: unit => UiEventsTypes.dataTransfer = "DataTransfer"
6
+
7
+ /**
8
+ Uses the given element to update the drag feedback, replacing any previously specified feedback.
9
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransfer/setDragImage)
10
+ */
11
+ @send
12
+ external setDragImage: (
13
+ UiEventsTypes.dataTransfer,
14
+ ~image: DOMTree.element,
15
+ ~x: int,
16
+ ~y: int,
17
+ ) => unit = "setDragImage"
18
+
19
+ /**
20
+ Returns the specified data. If there is no such data, returns the empty string.
21
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransfer/getData)
22
+ */
23
+ @send
24
+ external getData: (UiEventsTypes.dataTransfer, string) => string = "getData"
25
+
26
+ /**
27
+ Adds the specified data.
28
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransfer/setData)
29
+ */
30
+ @send
31
+ external setData: (UiEventsTypes.dataTransfer, ~format: string, ~data: string) => unit = "setData"
32
+
33
+ /**
34
+ Removes the data of the specified formats. Removes all data if the argument is omitted.
35
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransfer/clearData)
36
+ */
37
+ @send
38
+ external clearData: (UiEventsTypes.dataTransfer, ~format: string=?) => unit = "clearData"
@@ -0,0 +1,21 @@
1
+ /**
2
+ Invokes the callback with the string data as the argument, if the drag data item kind is text.
3
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItem/getAsString)
4
+ */
5
+ @send
6
+ external getAsString: (UiEventsTypes.dataTransferItem, string => unit) => unit = "getAsString"
7
+
8
+ /**
9
+ Returns a WebApiFile object, if the drag data item kind is File.
10
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItem/getAsFile)
11
+ */
12
+ @send
13
+ external getAsFile: UiEventsTypes.dataTransferItem => Null.t<FileTypes.file> = "getAsFile"
14
+
15
+ /**
16
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItem/webkitGetAsEntry)
17
+ */
18
+ @send
19
+ external webkitGetAsEntry: UiEventsTypes.dataTransferItem => Null.t<
20
+ FileAndDirectoryEntriesTypes.fileSystemEntry,
21
+ > = "webkitGetAsEntry"
@@ -0,0 +1,34 @@
1
+ /**
2
+ Adds a new entry for the given data to the drag data store. If the data is plain text then a type string has to be provided also.
3
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItemList/add)
4
+ */
5
+ @throws(JsExn) @send
6
+ external add: (
7
+ UiEventsTypes.dataTransferItemList,
8
+ ~data: string,
9
+ ~type_: string,
10
+ ) => Null.t<UiEventsTypes.dataTransferItem> = "add"
11
+
12
+ /**
13
+ Adds a new entry for the given data to the drag data store. If the data is plain text then a type string has to be provided also.
14
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItemList/add)
15
+ */
16
+ @throws(JsExn) @send
17
+ external addFile: (
18
+ UiEventsTypes.dataTransferItemList,
19
+ FileTypes.file,
20
+ ) => Null.t<UiEventsTypes.dataTransferItem> = "add"
21
+
22
+ /**
23
+ Removes the indexth entry in the drag data store.
24
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItemList/remove)
25
+ */
26
+ @throws(JsExn) @send
27
+ external remove: (UiEventsTypes.dataTransferItemList, int) => unit = "remove"
28
+
29
+ /**
30
+ Removes all the entries in the drag data store.
31
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/DataTransferItemList/clear)
32
+ */
33
+ @send
34
+ external clear: UiEventsTypes.dataTransferItemList => unit = "clear"
@@ -0,0 +1,10 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/FocusEvent)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.focusEventInit=?,
8
+ ) => UiEventsTypes.focusEvent = "FocusEvent"
9
+
10
+ include UIEvent.Impl({type t = UiEventsTypes.focusEvent})
@@ -0,0 +1,16 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/InputEvent)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.inputEventInit=?,
8
+ ) => UiEventsTypes.inputEvent = "InputEvent"
9
+
10
+ /**
11
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/InputEvent/getTargetRanges)
12
+ */
13
+ @send
14
+ external getTargetRanges: UiEventsTypes.inputEvent => array<StaticRange.t> = "getTargetRanges"
15
+
16
+ include UIEvent.Impl({type t = UiEventsTypes.inputEvent})
@@ -0,0 +1,16 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/KeyboardEvent)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.keyboardEventInit=?,
8
+ ) => UiEventsTypes.keyboardEvent = "KeyboardEvent"
9
+
10
+ /**
11
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/KeyboardEvent/getModifierState)
12
+ */
13
+ @send
14
+ external getModifierState: (UiEventsTypes.keyboardEvent, string) => bool = "getModifierState"
15
+
16
+ include UIEvent.Impl({type t = UiEventsTypes.keyboardEvent})
@@ -0,0 +1,26 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MouseEvent)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.mouseEventInit=?,
8
+ ) => UiEventsTypes.mouseEvent = "MouseEvent"
9
+
10
+ module Impl = (
11
+ T: {
12
+ type t
13
+ },
14
+ ) => {
15
+ external asMouseEvent: T.t => UiEventsTypes.mouseEvent = "%identity"
16
+
17
+ include UIEvent.Impl({type t = T.t})
18
+
19
+ /**
20
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MouseEvent/getModifierState)
21
+ */
22
+ @send
23
+ external getModifierState: (T.t, string) => bool = "getModifierState"
24
+ }
25
+
26
+ include Impl({type t = UiEventsTypes.mouseEvent})
@@ -0,0 +1,24 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PointerEvent)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.pointerEventInit=?,
8
+ ) => UiEventsTypes.pointerEvent = "PointerEvent"
9
+
10
+ /**
11
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PointerEvent/getCoalescedEvents)
12
+ */
13
+ @send
14
+ external getCoalescedEvents: UiEventsTypes.pointerEvent => array<UiEventsTypes.pointerEvent> =
15
+ "getCoalescedEvents"
16
+
17
+ /**
18
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/PointerEvent/getPredictedEvents)
19
+ */
20
+ @send
21
+ external getPredictedEvents: UiEventsTypes.pointerEvent => array<UiEventsTypes.pointerEvent> =
22
+ "getPredictedEvents"
23
+
24
+ include MouseEvent.Impl({type t = UiEventsTypes.pointerEvent})
@@ -0,0 +1,5 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Touch)
3
+ */
4
+ @new
5
+ external make: UiEventsTypes.touchInit => UiEventsTypes.touch = "Touch"
@@ -0,0 +1,10 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TouchEvent)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.touchEventInit=?,
8
+ ) => UiEventsTypes.touchEvent = "TouchEvent"
9
+
10
+ include UIEvent.Impl({type t = UiEventsTypes.touchEvent})
@@ -0,0 +1,5 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/TouchList/item)
3
+ */
4
+ @send
5
+ external item: (UiEventsTypes.touchList, int) => Null.t<UiEventsTypes.touch> = "item"
@@ -0,0 +1,20 @@
1
+ /**
2
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/UIEvent)
3
+ */
4
+ @new
5
+ external make: (
6
+ ~type_: string,
7
+ ~eventInitDict: UiEventsTypes.uiEventInit=?,
8
+ ) => UiEventsTypes.uiEvent = "UIEvent"
9
+
10
+ module Impl = (
11
+ T: {
12
+ type t
13
+ },
14
+ ) => {
15
+ external asUIEvent: T.t => UiEventsTypes.uiEvent = "%identity"
16
+
17
+ include Event.Impl({type t = T.t})
18
+ }
19
+
20
+ include Impl({type t = UiEventsTypes.uiEvent})