@office-iss/react-native-win32 0.71.0 → 0.71.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/.flowconfig +1 -0
  2. package/CHANGELOG.json +16 -1
  3. package/CHANGELOG.md +12 -4
  4. package/Libraries/Components/Button/ButtonWin32.Props.d.ts +2 -2
  5. package/Libraries/Components/Button/ButtonWin32.d.ts +1 -1
  6. package/Libraries/Components/Button/ButtonWin32.js +6 -4
  7. package/Libraries/Components/Button/ButtonWin32.js.map +1 -1
  8. package/Libraries/Components/Pressable/Pressable.win32.js +0 -1
  9. package/Libraries/Components/Text/TextWin32.Props.d.ts +3 -9
  10. package/Libraries/Components/Text/TextWin32.Props.js.map +1 -1
  11. package/Libraries/Components/Text/TextWin32.d.ts +1 -1
  12. package/Libraries/Components/Text/TextWin32.js.map +1 -1
  13. package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +9 -9
  14. package/Libraries/Components/TextInput/TextInput.win32.js +1150 -154
  15. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js +4 -4
  16. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
  17. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.d.ts +119 -16
  18. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +99 -24
  19. package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +2 -2
  20. package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -1
  21. package/Libraries/Components/Touchable/TouchableWin32.Types.d.ts +9 -9
  22. package/Libraries/Components/Touchable/TouchableWin32.js +5 -6
  23. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
  24. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +29 -10
  25. package/Libraries/Components/View/Tests/ViewWin32Test.js +31 -51
  26. package/Libraries/Components/View/Tests/ViewWin32Test.js.map +1 -1
  27. package/Libraries/Components/View/ViewAccessibility.win32.d.ts +527 -0
  28. package/Libraries/Components/View/ViewAccessibility.win32.js +178 -0
  29. package/Libraries/Components/View/ViewPropTypes.win32.d.ts +372 -0
  30. package/Libraries/Components/View/ViewPropTypes.win32.js +23 -0
  31. package/Libraries/Components/View/ViewWin32.d.ts +30 -12
  32. package/Libraries/Components/View/ViewWin32.js +161 -71
  33. package/Libraries/Image/Image.win32.js +0 -1
  34. package/Libraries/Pressability/Pressability.win32.js +2 -2
  35. package/Libraries/Utilities/AcessibilityMapping.win32.js +156 -0
  36. package/Libraries/__tests__/ButtonWin32-test.js +1 -1
  37. package/Libraries/platform-types.d.ts +7 -13
  38. package/index.win32.js +1 -1
  39. package/jest.config.js +2 -4
  40. package/overrides.json +38 -8
  41. package/package.json +5 -5
  42. package/src/Libraries/Components/Button/ButtonWin32.tsx +8 -8
  43. package/src/Libraries/Components/Text/TextWin32.Props.ts +2 -15
  44. package/src/Libraries/Components/Text/TextWin32.tsx +6 -2
  45. package/src/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +5 -5
  46. package/src/Libraries/Components/Touchable/TouchableNativeFeedback.win32.d.ts +119 -0
  47. package/src/Libraries/Components/Touchable/TouchableWin32.Props.tsx +1 -1
  48. package/src/Libraries/Components/Touchable/TouchableWin32.tsx +6 -7
  49. package/src/Libraries/Components/View/Tests/ViewWin32Test.tsx +28 -52
  50. package/src/Libraries/Components/View/ViewAccessibility.win32.d.ts +527 -0
  51. package/src/Libraries/Components/View/ViewPropTypes.win32.d.ts +372 -0
  52. package/src/Libraries/Components/View/ViewWin32.d.ts +30 -0
  53. package/src/Libraries/platform-types.d.ts +7 -13
  54. package/types/modules/BatchedBridge.d.ts +32 -0
  55. package/types/modules/Codegen.d.ts +74 -0
  56. package/types/modules/Devtools.d.ts +31 -0
  57. package/types/modules/LaunchScreen.d.ts +18 -0
  58. package/types/modules/globals.d.ts +577 -0
  59. package/types/private/TimerMixin.d.ts +19 -0
  60. package/types/private/Utilities.d.ts +10 -0
  61. package/types/public/DeprecatedPropertiesAlias.d.ts +205 -0
  62. package/types/public/Insets.d.ts +15 -0
  63. package/types/public/ReactNativeRenderer.d.ts +149 -0
  64. package/types/public/ReactNativeTypes.d.ts +143 -0
  65. package/Libraries/Components/TextInput/TextInput.win32.d.ts +0 -68
  66. package/Libraries/Components/TextInput/TextInput.win32.js.map +0 -1
  67. package/Libraries/Components/Touchable/TouchableNativeFeedback.Props.d.ts +0 -7
  68. package/Libraries/Components/Touchable/TouchableNativeFeedback.Props.js +0 -3
  69. package/Libraries/Components/Touchable/TouchableNativeFeedback.Props.js.map +0 -1
  70. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js.map +0 -1
  71. package/Libraries/Components/View/ViewWin32.Props.d.ts +0 -174
  72. package/Libraries/Components/View/ViewWin32.Props.js +0 -11
  73. package/Libraries/Components/View/ViewWin32.Props.js.map +0 -1
  74. package/Libraries/Components/View/ViewWin32.js.map +0 -1
  75. package/src/Libraries/Components/TextInput/TextInput.win32.tsx +0 -217
  76. package/src/Libraries/Components/Touchable/TouchableNativeFeedback.Props.ts +0 -9
  77. package/src/Libraries/Components/Touchable/TouchableNativeFeedback.win32.tsx +0 -27
  78. package/src/Libraries/Components/View/ViewWin32.Props.ts +0 -281
  79. package/src/Libraries/Components/View/ViewWin32.tsx +0 -119
@@ -0,0 +1,577 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ /*
11
+ * This file is necessary to declare global functions that might also be included by `--lib dom`.
12
+ * Due to a TypeScript bug, these cannot be placed inside a `declare global` block in index.d.ts.
13
+ * https://github.com/Microsoft/TypeScript/issues/16430
14
+ */
15
+
16
+ //
17
+ // Timer Functions
18
+ //
19
+ declare function clearInterval(handle: number): void;
20
+ declare function clearTimeout(handle: number): void;
21
+ declare function setInterval(handler: () => void, timeout: number): number;
22
+ declare function setInterval<Args extends any[]>(
23
+ handler: (...args: Args) => void,
24
+ timeout?: number,
25
+ ...args: Args
26
+ ): number;
27
+ declare function setTimeout(handler: () => void, timeout: number): number;
28
+ declare function setTimeout<Args extends any[]>(
29
+ handler: (...args: Args) => void,
30
+ timeout?: number,
31
+ ...args: Args
32
+ ): number;
33
+ declare function clearImmediate(handle: number): void;
34
+ declare function setImmediate(handler: () => void): number;
35
+ declare function setImmediate<Args extends any[]>(
36
+ handler: (...args: Args) => void,
37
+ ...args: Args
38
+ ): number;
39
+
40
+ declare function cancelAnimationFrame(handle: number): void;
41
+ declare function requestAnimationFrame(
42
+ callback: (time: number) => void,
43
+ ): number;
44
+
45
+ declare function fetchBundle(
46
+ bundleId: number,
47
+ callback: (error?: Error | null) => void,
48
+ ): void;
49
+
50
+ //
51
+ // Fetch API
52
+ //
53
+
54
+ declare interface GlobalFetch {
55
+ fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
56
+ }
57
+
58
+ declare function fetch(
59
+ input: RequestInfo,
60
+ init?: RequestInit,
61
+ ): Promise<Response>;
62
+
63
+ declare interface WindowOrWorkerGlobalScope {
64
+ fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
65
+ }
66
+
67
+ interface Blob {
68
+ readonly size: number;
69
+ readonly type: string;
70
+ slice(start?: number, end?: number): Blob;
71
+ }
72
+
73
+ interface BlobOptions {
74
+ type: string;
75
+ lastModified: number;
76
+ }
77
+
78
+ declare var Blob: {
79
+ prototype: Blob;
80
+ new (blobParts?: Array<Blob | string>, options?: BlobOptions): Blob;
81
+ };
82
+
83
+ type FormDataValue = string | {name?: string; type?: string; uri: string};
84
+
85
+ type FormDataPart =
86
+ | {
87
+ string: string;
88
+ headers: {[name: string]: string};
89
+ }
90
+ | {
91
+ uri: string;
92
+ headers: {[name: string]: string};
93
+ name?: string;
94
+ type?: string;
95
+ };
96
+
97
+ declare class FormData {
98
+ append(name: string, value: any): void;
99
+ getAll(): Array<FormDataValue>;
100
+ getParts(): Array<FormDataPart>;
101
+ }
102
+
103
+ declare interface Body {
104
+ readonly bodyUsed: boolean;
105
+ arrayBuffer(): Promise<ArrayBuffer>;
106
+ blob(): Promise<Blob>;
107
+ json(): Promise<any>;
108
+ text(): Promise<string>;
109
+ formData(): Promise<FormData>;
110
+ }
111
+
112
+ declare interface Headers {
113
+ append(name: string, value: string): void;
114
+ delete(name: string): void;
115
+ forEach(callback: Function, thisArg?: any): void;
116
+ get(name: string): string | null;
117
+ has(name: string): boolean;
118
+ set(name: string, value: string): void;
119
+ }
120
+
121
+ declare var Headers: {
122
+ prototype: Headers;
123
+ new (init?: HeadersInit_): Headers;
124
+ };
125
+
126
+ /**
127
+ * React Native's implementation of fetch allows this syntax for uploading files from
128
+ * local filesystem.
129
+ * See https://github.com/facebook/react-native/blob/master/Libraries/Network/convertRequestBody.js#L22
130
+ */
131
+ interface _SourceUri {
132
+ uri: string;
133
+ [key: string]: any;
134
+ }
135
+
136
+ type BodyInit_ =
137
+ | _SourceUri
138
+ | Blob
139
+ | Int8Array
140
+ | Int16Array
141
+ | Int32Array
142
+ | Uint8Array
143
+ | Uint16Array
144
+ | Uint32Array
145
+ | Uint8ClampedArray
146
+ | Float32Array
147
+ | Float64Array
148
+ | DataView
149
+ | ArrayBuffer
150
+ | FormData
151
+ | string
152
+ | null;
153
+
154
+ declare interface RequestInit {
155
+ body?: BodyInit_ | undefined;
156
+ credentials?: RequestCredentials_ | undefined;
157
+ headers?: HeadersInit_ | undefined;
158
+ integrity?: string | undefined;
159
+ keepalive?: boolean | undefined;
160
+ method?: string | undefined;
161
+ mode?: RequestMode_ | undefined;
162
+ referrer?: string | undefined;
163
+ window?: any;
164
+ signal?: AbortSignal | undefined;
165
+ }
166
+
167
+ declare interface Request extends Object, Body {
168
+ readonly credentials: RequestCredentials_;
169
+ readonly headers: Headers;
170
+ readonly method: string;
171
+ readonly mode: RequestMode_;
172
+ readonly referrer: string;
173
+ readonly url: string;
174
+ clone(): Request;
175
+ }
176
+
177
+ declare var Request: {
178
+ prototype: Request;
179
+ new (input: Request | string, init?: RequestInit): Request;
180
+ };
181
+
182
+ declare type RequestInfo = Request | string;
183
+
184
+ declare interface ResponseInit {
185
+ headers?: HeadersInit_ | undefined;
186
+ status?: number | undefined;
187
+ statusText?: string | undefined;
188
+ }
189
+
190
+ declare interface Response extends Object, Body {
191
+ readonly headers: Headers;
192
+ readonly ok: boolean;
193
+ readonly status: number;
194
+ readonly statusText: string;
195
+ readonly type: ResponseType_;
196
+ readonly url: string;
197
+ readonly redirected: boolean;
198
+ clone(): Response;
199
+ }
200
+
201
+ declare var Response: {
202
+ prototype: Response;
203
+ new (body?: BodyInit_, init?: ResponseInit): Response;
204
+ error: () => Response;
205
+ redirect: (url: string, status?: number) => Response;
206
+ };
207
+
208
+ type HeadersInit_ = Headers | string[][] | {[key: string]: string};
209
+ type RequestCredentials_ = 'omit' | 'same-origin' | 'include';
210
+ type RequestMode_ = 'navigate' | 'same-origin' | 'no-cors' | 'cors';
211
+ type ResponseType_ =
212
+ | 'basic'
213
+ | 'cors'
214
+ | 'default'
215
+ | 'error'
216
+ | 'opaque'
217
+ | 'opaqueredirect';
218
+
219
+ //
220
+ // XMLHttpRequest
221
+ //
222
+
223
+ declare interface ProgressEvent<T extends EventTarget = EventTarget>
224
+ extends Event {
225
+ readonly lengthComputable: boolean;
226
+ readonly loaded: number;
227
+ readonly total: number;
228
+ readonly target: T | null;
229
+ }
230
+
231
+ interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap {
232
+ readystatechange: Event;
233
+ }
234
+
235
+ interface XMLHttpRequest extends EventTarget, XMLHttpRequestEventTarget {
236
+ // msCaching: string;
237
+ onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null;
238
+ readonly readyState: number;
239
+ readonly response: any;
240
+ readonly responseText: string;
241
+ responseType: XMLHttpRequestResponseType;
242
+ readonly responseURL: string;
243
+ readonly responseXML: Document | null;
244
+ readonly status: number;
245
+ readonly statusText: string;
246
+ timeout: number;
247
+ readonly upload: XMLHttpRequestUpload;
248
+ withCredentials: boolean;
249
+ abort(): void;
250
+ getAllResponseHeaders(): string;
251
+ getResponseHeader(header: string): string | null;
252
+ // msCachingEnabled(): boolean;
253
+ open(
254
+ method: string,
255
+ url: string,
256
+ async?: boolean,
257
+ user?: string | null,
258
+ password?: string | null,
259
+ ): void;
260
+ overrideMimeType(mime: string): void;
261
+ send(data?: any): void;
262
+ setRequestHeader(header: string, value: string): void;
263
+ readonly DONE: number;
264
+ readonly HEADERS_RECEIVED: number;
265
+ readonly LOADING: number;
266
+ readonly OPENED: number;
267
+ readonly UNSENT: number;
268
+ addEventListener<K extends keyof XMLHttpRequestEventMap>(
269
+ type: K,
270
+ listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any,
271
+ ): void;
272
+ // addEventListener(type: string, listener: EventListenerOrEventListenerObject): void;
273
+ removeEventListener<K extends keyof XMLHttpRequestEventMap>(
274
+ type: K,
275
+ listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any,
276
+ ): void;
277
+ // removeEventListener(type: string, listener: EventListenerOrEventListenerObject): void;
278
+ }
279
+
280
+ declare var XMLHttpRequest: {
281
+ prototype: XMLHttpRequest;
282
+ new (): XMLHttpRequest;
283
+ readonly DONE: number;
284
+ readonly HEADERS_RECEIVED: number;
285
+ readonly LOADING: number;
286
+ readonly OPENED: number;
287
+ readonly UNSENT: number;
288
+ };
289
+
290
+ interface XMLHttpRequestEventTargetEventMap {
291
+ abort: ProgressEvent;
292
+ error: ProgressEvent;
293
+ load: ProgressEvent;
294
+ loadend: ProgressEvent;
295
+ loadstart: ProgressEvent;
296
+ progress: ProgressEvent;
297
+ timeout: ProgressEvent;
298
+ }
299
+
300
+ interface XMLHttpRequestEventTarget {
301
+ onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
302
+ onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
303
+ onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
304
+ onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
305
+ onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
306
+ onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
307
+ ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
308
+ addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(
309
+ type: K,
310
+ listener: (
311
+ this: XMLHttpRequestEventTarget,
312
+ ev: XMLHttpRequestEventTargetEventMap[K],
313
+ ) => any,
314
+ ): void;
315
+ // addEventListener(type: string, listener: EventListenerOrEventListenerObject): void;
316
+ removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(
317
+ type: K,
318
+ listener: (
319
+ this: XMLHttpRequestEventTarget,
320
+ ev: XMLHttpRequestEventTargetEventMap[K],
321
+ ) => any,
322
+ ): void;
323
+ // removeEventListener(type: string, listener: EventListenerOrEventListenerObject): void;
324
+ }
325
+
326
+ interface XMLHttpRequestUpload extends EventTarget, XMLHttpRequestEventTarget {
327
+ addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(
328
+ type: K,
329
+ listener: (
330
+ this: XMLHttpRequestUpload,
331
+ ev: XMLHttpRequestEventTargetEventMap[K],
332
+ ) => any,
333
+ ): void;
334
+ // addEventListener(type: string, listener: EventListenerOrEventListenerObject): void;
335
+ removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(
336
+ type: K,
337
+ listener: (
338
+ this: XMLHttpRequestUpload,
339
+ ev: XMLHttpRequestEventTargetEventMap[K],
340
+ ) => any,
341
+ ): void;
342
+ // removeEventListener(type: string, listener: EventListenerOrEventListenerObject): void;
343
+ }
344
+
345
+ declare var XMLHttpRequestUpload: {
346
+ prototype: XMLHttpRequestUpload;
347
+ new (): XMLHttpRequestUpload;
348
+ };
349
+
350
+ declare type XMLHttpRequestResponseType =
351
+ | ''
352
+ | 'arraybuffer'
353
+ | 'blob'
354
+ | 'document'
355
+ | 'json'
356
+ | 'text';
357
+
358
+ /**
359
+ * Based on definition from lib.dom but using class syntax.
360
+ * The properties are mutable to support users that use a `URL` polyfill, but the implementation
361
+ * built into React Native (as of 0.63) does not implement all the properties.
362
+ */
363
+ declare class URL {
364
+ static createObjectURL(blob: Blob): string;
365
+ static revokeObjectURL(url: string): void;
366
+
367
+ constructor(url: string, base?: string);
368
+
369
+ href: string;
370
+ readonly origin: string;
371
+ protocol: string;
372
+ username: string;
373
+ password: string;
374
+ host: string;
375
+ hostname: string;
376
+ port: string;
377
+ pathname: string;
378
+ search: string;
379
+ readonly searchParams: URLSearchParams;
380
+ hash: string;
381
+
382
+ toJSON(): string;
383
+ }
384
+
385
+ /**
386
+ * Based on definitions of lib.dom and lib.dom.iterable
387
+ */
388
+ declare class URLSearchParams {
389
+ constructor(
390
+ init?: string[][] | Record<string, string> | string | URLSearchParams,
391
+ );
392
+
393
+ append(name: string, value: string): void;
394
+ delete(name: string): void;
395
+ get(name: string): string | null;
396
+ getAll(name: string): string[];
397
+ has(name: string): boolean;
398
+ set(name: string, value: string): void;
399
+ sort(): void;
400
+ forEach(
401
+ callbackfn: (value: string, key: string, parent: URLSearchParams) => void,
402
+ thisArg?: any,
403
+ ): void;
404
+ [Symbol.iterator](): IterableIterator<[string, string]>;
405
+
406
+ entries(): IterableIterator<[string, string]>;
407
+ keys(): IterableIterator<string>;
408
+ values(): IterableIterator<string>;
409
+ }
410
+
411
+ interface WebSocketMessageEvent extends Event {
412
+ data?: any;
413
+ }
414
+ interface WebSocketErrorEvent extends Event {
415
+ message: string;
416
+ }
417
+ interface WebSocketCloseEvent extends Event {
418
+ code?: number | undefined;
419
+ reason?: string | undefined;
420
+ message?: string | undefined;
421
+ }
422
+
423
+ type WebsocketMessageEventListener = (
424
+ event: 'message',
425
+ handler: (e: WebSocketMessageEvent) => void,
426
+ ) => void;
427
+ type WebsocketErrorEventListener = (
428
+ event: 'error',
429
+ handler: (e: WebSocketErrorEvent) => void,
430
+ ) => void;
431
+ type WebsocketOpenEventListener = (event: 'open', handler: () => void) => void;
432
+ type WebsocketCloseEventListener = (
433
+ event: 'close',
434
+ handler: (e: WebSocketCloseEvent) => void,
435
+ ) => void;
436
+
437
+ type WebsocketEventListener = WebsocketMessageEventListener &
438
+ WebsocketErrorEventListener &
439
+ WebsocketOpenEventListener &
440
+ WebsocketCloseEventListener;
441
+
442
+ interface WebSocket extends EventTarget {
443
+ readonly readyState: number;
444
+ send(data: string | ArrayBuffer | ArrayBufferView | Blob): void;
445
+ close(code?: number, reason?: string): void;
446
+ onopen: (() => void) | null;
447
+ onmessage: ((event: WebSocketMessageEvent) => void) | null;
448
+ onerror: ((event: WebSocketErrorEvent) => void) | null;
449
+ onclose: ((event: WebSocketCloseEvent) => void) | null;
450
+ addEventListener: WebsocketEventListener;
451
+ removeEventListener: WebsocketEventListener;
452
+ }
453
+
454
+ declare var WebSocket: {
455
+ prototype: WebSocket;
456
+ new (
457
+ uri: string,
458
+ protocols?: string | string[] | null,
459
+ options?: {
460
+ headers: {[headerName: string]: string};
461
+ [optionName: string]: any;
462
+ } | null,
463
+ ): WebSocket;
464
+ readonly CLOSED: number;
465
+ readonly CLOSING: number;
466
+ readonly CONNECTING: number;
467
+ readonly OPEN: number;
468
+ };
469
+
470
+ //
471
+ // Abort Controller
472
+ //
473
+
474
+ interface AbortEvent extends Event {
475
+ type: 'abort';
476
+ }
477
+
478
+ declare class AbortSignal implements EventTarget {
479
+ /**
480
+ * AbortSignal cannot be constructed directly.
481
+ */
482
+ constructor();
483
+ /**
484
+ * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
485
+ */
486
+ readonly aborted: boolean;
487
+
488
+ onabort: (event: AbortEvent) => void;
489
+
490
+ addEventListener: (
491
+ type: 'abort',
492
+ listener: (this: AbortSignal, event: any) => any,
493
+ options?:
494
+ | boolean
495
+ | {
496
+ capture?: boolean;
497
+ once?: boolean;
498
+ passive?: boolean;
499
+ },
500
+ ) => void;
501
+
502
+ removeEventListener: (
503
+ type: 'abort',
504
+ listener: (this: AbortSignal, event: any) => any,
505
+ options?:
506
+ | boolean
507
+ | {
508
+ capture?: boolean;
509
+ },
510
+ ) => void;
511
+ }
512
+
513
+ declare class AbortController {
514
+ /**
515
+ * Initialize this controller.
516
+ */
517
+ constructor();
518
+ /**
519
+ * Returns the `AbortSignal` object associated with this object.
520
+ */
521
+ readonly signal: AbortSignal;
522
+ /**
523
+ * Abort and signal to any observers that the associated activity is to be aborted.
524
+ */
525
+ abort(): void;
526
+ }
527
+
528
+ interface FileReaderEventMap {
529
+ abort: ProgressEvent<FileReader>;
530
+ error: ProgressEvent<FileReader>;
531
+ load: ProgressEvent<FileReader>;
532
+ loadend: ProgressEvent<FileReader>;
533
+ loadstart: ProgressEvent<FileReader>;
534
+ progress: ProgressEvent<FileReader>;
535
+ }
536
+
537
+ interface FileReader extends EventTarget {
538
+ readonly error: Error | null;
539
+ onabort: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
540
+ onerror: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
541
+ onload: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
542
+ onloadend: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
543
+ onloadstart:
544
+ | ((this: FileReader, ev: ProgressEvent<FileReader>) => any)
545
+ | null;
546
+ onprogress: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
547
+ readonly readyState: number;
548
+ readonly result: string | ArrayBuffer;
549
+ abort(): void;
550
+ readAsArrayBuffer(blob: Blob): void;
551
+ // readAsBinaryString(blob: Blob): void;
552
+ readAsDataURL(blob: Blob): void;
553
+ readAsText(blob: Blob, encoding?: string): void;
554
+ readonly DONE: number;
555
+ readonly EMPTY: number;
556
+ readonly LOADING: number;
557
+ addEventListener<K extends keyof FileReaderEventMap>(
558
+ type: K,
559
+ listener: (this: FileReader, ev: FileReaderEventMap[K]) => any,
560
+ options?: boolean,
561
+ ): void;
562
+ // addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
563
+ removeEventListener<K extends keyof FileReaderEventMap>(
564
+ type: K,
565
+ listener: (this: FileReader, ev: FileReaderEventMap[K]) => any,
566
+ options?: boolean,
567
+ ): void;
568
+ // removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
569
+ }
570
+
571
+ declare var FileReader: {
572
+ prototype: FileReader;
573
+ new (): FileReader;
574
+ readonly DONE: number;
575
+ readonly EMPTY: number;
576
+ readonly LOADING: number;
577
+ };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ export interface TimerMixin {
11
+ setTimeout: typeof setTimeout;
12
+ clearTimeout: typeof clearTimeout;
13
+ setInterval: typeof setInterval;
14
+ clearInterval: typeof clearInterval;
15
+ setImmediate: typeof setImmediate;
16
+ clearImmediate: typeof clearImmediate;
17
+ requestAnimationFrame: typeof requestAnimationFrame;
18
+ cancelAnimationFrame: typeof cancelAnimationFrame;
19
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @format
8
+ */
9
+
10
+ export type Constructor<T> = new (...args: any[]) => T;