@office-iss/react-native-win32 0.0.0-canary.286 → 0.0.0-canary.288

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 (148) hide show
  1. package/.flowconfig +4 -1
  2. package/CHANGELOG.json +57 -1
  3. package/CHANGELOG.md +23 -4
  4. package/Libraries/Alert/RCTAlertManager.js.flow +18 -0
  5. package/Libraries/Animated/Animated.js +8 -37
  6. package/Libraries/Animated/Animated.js.flow +15 -0
  7. package/Libraries/Animated/AnimatedExports.js +47 -0
  8. package/Libraries/Animated/AnimatedExports.js.flow +48 -0
  9. package/Libraries/Animated/useAnimatedValue.js +1 -3
  10. package/Libraries/Blob/URLSearchParams.js.flow +23 -0
  11. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +1 -1
  12. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +1 -1
  13. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +20 -0
  14. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +8 -8
  15. package/Libraries/Components/Button.js +2 -2
  16. package/Libraries/Components/Button.win32.js +2 -2
  17. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +14 -100
  18. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +64 -4
  19. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +138 -0
  20. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +7 -4
  21. package/Libraries/Components/LayoutConformance/LayoutConformance.js +6 -4
  22. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
  23. package/Libraries/Components/Pressable/Pressable.js +18 -63
  24. package/Libraries/Components/Pressable/Pressable.win32.js +19 -65
  25. package/Libraries/Components/Pressable/useAndroidRippleForView.js +2 -2
  26. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +4 -46
  27. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +10 -4
  28. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +54 -0
  29. package/Libraries/Components/RefreshControl/RefreshControl.js +10 -7
  30. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +2 -1
  31. package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -1
  32. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +1 -1
  33. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +2 -4
  34. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +2 -4
  35. package/Libraries/Components/ScrollView/ScrollView.js +43 -59
  36. package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
  37. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +2 -4
  38. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +6 -7
  39. package/Libraries/Components/StatusBar/StatusBar.js +33 -22
  40. package/Libraries/Components/Switch/Switch.js +70 -41
  41. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +2 -4
  42. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +2 -4
  43. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +2 -4
  44. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
  45. package/Libraries/Components/TextInput/TextInput.flow.js +10 -12
  46. package/Libraries/Components/TextInput/TextInput.js +22 -28
  47. package/Libraries/Components/TextInput/TextInput.win32.js +22 -28
  48. package/Libraries/Components/TextInput/TextInputState.js +2 -18
  49. package/Libraries/Components/TextInput/TextInputState.win32.js +2 -18
  50. package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +1 -1
  51. package/Libraries/Components/Touchable/Touchable.js +7 -7
  52. package/Libraries/Components/Touchable/Touchable.win32.js +7 -7
  53. package/Libraries/Components/Touchable/TouchableBounce.js +1 -1
  54. package/Libraries/Components/Touchable/TouchableHighlight.js +35 -14
  55. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +95 -47
  56. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +248 -43
  57. package/Libraries/Components/Touchable/TouchableOpacity.js +52 -10
  58. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +112 -59
  59. package/Libraries/Components/View/View.js +1 -1
  60. package/Libraries/Components/View/View.win32.js +1 -1
  61. package/Libraries/Components/View/ViewNativeComponent.js +2 -4
  62. package/Libraries/Components/View/ViewPropTypes.js +15 -12
  63. package/Libraries/Components/View/ViewPropTypes.win32.js +74 -71
  64. package/Libraries/Core/ReactNativeVersion.js +1 -1
  65. package/Libraries/Core/setUpReactDevTools.js +2 -0
  66. package/Libraries/Debugging/DebuggingOverlayRegistry.js +10 -7
  67. package/Libraries/Image/Image.android.js +1 -1
  68. package/Libraries/Image/Image.js.flow +27 -0
  69. package/Libraries/Image/ImageBackground.js +1 -1
  70. package/Libraries/Image/ImageProps.js +97 -30
  71. package/Libraries/Image/ImageTypes.flow.js +16 -6
  72. package/Libraries/Image/ImageViewNativeComponent.js +3 -5
  73. package/Libraries/Image/TextInlineImageNativeComponent.js +2 -4
  74. package/Libraries/Interaction/InteractionManager.js +9 -1
  75. package/Libraries/Interaction/PanResponder.js +11 -11
  76. package/Libraries/Interaction/TaskQueue.js +2 -2
  77. package/Libraries/Lists/FlatList.js +8 -7
  78. package/Libraries/LogBox/LogBox.js +1 -1
  79. package/Libraries/NativeComponent/BaseViewConfig.js.flow +14 -0
  80. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  81. package/Libraries/Network/RCTNetworking.js.flow +44 -0
  82. package/Libraries/Network/XMLHttpRequest_new.js +3 -0
  83. package/Libraries/Network/XMLHttpRequest_old.js +3 -0
  84. package/Libraries/Pressability/HoverState.js +1 -0
  85. package/Libraries/Pressability/HoverState.win32.js +1 -0
  86. package/Libraries/Pressability/Pressability.js +2 -2
  87. package/Libraries/Pressability/Pressability.win32.js +3 -3
  88. package/Libraries/ReactNative/FabricUIManager.js +5 -3
  89. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +7 -5
  90. package/Libraries/ReactNative/RendererImplementation.js +3 -5
  91. package/Libraries/ReactNative/requireNativeComponent.js +1 -1
  92. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +12 -0
  93. package/Libraries/Renderer/shims/ReactNativeTypes.js +39 -91
  94. package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +22 -0
  95. package/Libraries/Text/Text.d.ts +1 -1
  96. package/Libraries/Text/Text.js +3 -1
  97. package/Libraries/Text/Text.win32.js +3 -1
  98. package/Libraries/Text/TextNativeComponent.js +1 -1
  99. package/Libraries/Text/TextNativeComponent.win32.js +1 -1
  100. package/Libraries/Text/TextProps.js +124 -84
  101. package/Libraries/Text/TextProps.win32.js +124 -84
  102. package/Libraries/Types/CoreEventTypes.js +1 -1
  103. package/Libraries/Types/CoreEventTypes.win32.js +1 -1
  104. package/Libraries/Types/ReactDevToolsTypes.js +4 -8
  105. package/Libraries/Utilities/BackHandler.js.flow +25 -0
  106. package/Libraries/Utilities/DevSettings.js +14 -0
  107. package/Libraries/Utilities/Dimensions.js +5 -0
  108. package/Libraries/Utilities/Dimensions.win32.js +5 -0
  109. package/{flow/Position.js → Libraries/Utilities/Platform.js.flow} +3 -6
  110. package/Libraries/Utilities/PlatformTypes.js +97 -7
  111. package/Libraries/Utilities/codegenNativeComponent.js +1 -1
  112. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -4
  113. package/index.win32.js +3 -4
  114. package/overrides.json +24 -24
  115. package/package.json +15 -16
  116. package/src/private/components/HScrollViewNativeComponents.js +1 -1
  117. package/src/private/components/VScrollViewNativeComponents.js +1 -1
  118. package/src/private/featureflags/ReactNativeFeatureFlags.js +11 -6
  119. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -2
  120. package/src/private/inspector/getInspectorDataForViewAtPoint.js +2 -4
  121. package/src/private/setup/setUpDOM.js +36 -1
  122. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
  123. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +1 -1
  124. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  125. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +1 -1
  126. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +1 -1
  127. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +1 -1
  128. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
  129. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
  130. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
  131. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +1 -1
  132. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
  133. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +1 -1
  134. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
  135. package/src/private/types/HostComponent.js +16 -0
  136. package/src/private/types/HostInstance.js +50 -0
  137. package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -0
  138. package/src/private/webapis/dom/nodes/ReactNativeElement.js +40 -32
  139. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
  140. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  141. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +1 -1
  142. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +4 -4
  143. package/src/private/webapis/mutationobserver/MutationObserver.js +9 -9
  144. package/src/private/webapis/performance/PerformanceObserver.js +6 -6
  145. package/src/types/globals.d.ts +628 -0
  146. package/src-win/Libraries/Text/Text.d.ts +1 -1
  147. package/types/index.d.ts +2 -53
  148. package/types/modules/globals.d.ts +0 -599
@@ -0,0 +1,628 @@
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
+ import type {ErrorUtils} from '../../Libraries/vendor/core/ErrorUtils';
11
+
12
+ declare global {
13
+ interface NodeRequire {
14
+ (id: string): any;
15
+ }
16
+
17
+ var require: NodeRequire;
18
+
19
+ /**
20
+ * Console polyfill
21
+ * @see https://reactnative.dev/docs/javascript-environment#polyfills
22
+ */
23
+ interface Console {
24
+ error(message?: any, ...optionalParams: any[]): void;
25
+ info(message?: any, ...optionalParams: any[]): void;
26
+ log(message?: any, ...optionalParams: any[]): void;
27
+ warn(message?: any, ...optionalParams: any[]): void;
28
+ trace(message?: any, ...optionalParams: any[]): void;
29
+ debug(message?: any, ...optionalParams: any[]): void;
30
+ table(...data: any[]): void;
31
+ groupCollapsed(label?: string): void;
32
+ groupEnd(): void;
33
+ group(label?: string): void;
34
+ }
35
+
36
+ var console: Console;
37
+
38
+ /**
39
+ * This contains the non-native `XMLHttpRequest` object, which you can use if you want to route network requests
40
+ * through DevTools (to trace them):
41
+ *
42
+ * global.XMLHttpRequest = global.originalXMLHttpRequest;
43
+ *
44
+ * @see https://github.com/facebook/react-native/issues/934
45
+ */
46
+ const originalXMLHttpRequest: any;
47
+
48
+ const __BUNDLE_START_TIME__: number;
49
+ const ErrorUtils: ErrorUtils;
50
+
51
+ /**
52
+ * This variable is set to true when react-native is running in Dev mode
53
+ * @example
54
+ * if (__DEV__) console.log('Running in dev mode')
55
+ */
56
+ const __DEV__: boolean;
57
+
58
+ const HermesInternal: null | {};
59
+
60
+ // #region Timer Functions
61
+
62
+ function clearInterval(handle: number): void;
63
+ function clearTimeout(handle: number): void;
64
+ function setInterval(handler: () => void, timeout: number): number;
65
+ function setInterval<Args extends any[]>(
66
+ handler: (...args: Args) => void,
67
+ timeout?: number,
68
+ ...args: Args
69
+ ): number;
70
+ function setTimeout(handler: () => void, timeout: number): number;
71
+ function setTimeout<Args extends any[]>(
72
+ handler: (...args: Args) => void,
73
+ timeout?: number,
74
+ ...args: Args
75
+ ): number;
76
+ function clearImmediate(handle: number): void;
77
+ function setImmediate(handler: () => void): number;
78
+ function setImmediate<Args extends any[]>(
79
+ handler: (...args: Args) => void,
80
+ ...args: Args
81
+ ): number;
82
+
83
+ function cancelAnimationFrame(handle: number): void;
84
+ function requestAnimationFrame(callback: (time: number) => void): number;
85
+
86
+ function fetchBundle(
87
+ bundleId: number,
88
+ callback: (error?: Error | null) => void,
89
+ ): void;
90
+
91
+ // #endregion
92
+ // #region Fetch API
93
+
94
+ interface GlobalFetch {
95
+ fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
96
+ }
97
+
98
+ function fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
99
+
100
+ interface WindowOrWorkerGlobalScope {
101
+ fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
102
+ }
103
+
104
+ type EndingType = 'native' | 'transparent';
105
+ type BlobPart = BufferSource | Blob | string;
106
+ type BufferSource = ArrayBufferView | ArrayBuffer;
107
+
108
+ interface BlobPropertyBag {
109
+ endings?: EndingType | undefined;
110
+ type?: string | undefined;
111
+ }
112
+
113
+ interface Blob {
114
+ readonly size: number;
115
+ readonly type: string;
116
+ slice(start?: number, end?: number, contentType?: string): Blob;
117
+ }
118
+
119
+ interface BlobOptions {
120
+ type: string;
121
+ lastModified: number;
122
+ }
123
+
124
+ var Blob: {
125
+ prototype: Blob;
126
+ new (blobParts?: Array<Blob | string>, options?: BlobOptions): Blob;
127
+ };
128
+
129
+ interface FilePropertyBag extends BlobPropertyBag {
130
+ lastModified?: number | undefined;
131
+ }
132
+
133
+ interface File extends Blob {
134
+ readonly name: string;
135
+ readonly lastModified: number;
136
+ }
137
+
138
+ var File: {
139
+ prototype: File;
140
+ new (fileParts: BlobPart[], name: string, options?: FilePropertyBag): File;
141
+ };
142
+
143
+ type FormDataValue =
144
+ | string
145
+ | {name?: string | undefined; type?: string | undefined; uri: string};
146
+
147
+ type FormDataPart =
148
+ | {
149
+ string: string;
150
+ headers: {[name: string]: string};
151
+ }
152
+ | {
153
+ uri: string;
154
+ headers: {[name: string]: string};
155
+ name?: string | undefined;
156
+ type?: string | undefined;
157
+ };
158
+
159
+ class FormData {
160
+ append(key: string, value: any): void;
161
+ getAll(key: string): Array<FormDataValue>;
162
+ getParts(): Array<FormDataPart>;
163
+ }
164
+
165
+ interface Body {
166
+ readonly bodyUsed: boolean;
167
+ arrayBuffer(): Promise<ArrayBuffer>;
168
+ blob(): Promise<Blob>;
169
+ json(): Promise<any>;
170
+ text(): Promise<string>;
171
+ formData(): Promise<FormData>;
172
+ }
173
+
174
+ interface Headers {
175
+ append(name: string, value: string): void;
176
+ delete(name: string): void;
177
+ forEach(
178
+ callbackfn: (value: string, key: string, parent: Headers) => void,
179
+ thisArg?: any,
180
+ ): void;
181
+ get(name: string): string | null;
182
+ has(name: string): boolean;
183
+ set(name: string, value: string): void;
184
+ entries(): IterableIterator<[string, string]>;
185
+ keys(): IterableIterator<string>;
186
+ values(): IterableIterator<string>;
187
+ [Symbol.iterator](): IterableIterator<[string, string]>;
188
+ }
189
+
190
+ var Headers: {
191
+ prototype: Headers;
192
+ new (init?: HeadersInit_): Headers;
193
+ };
194
+
195
+ /**
196
+ * React Native's implementation of fetch allows this syntax for uploading files from
197
+ * local filesystem.
198
+ * See https://github.com/facebook/react-native/blob/master/Libraries/Network/convertRequestBody.js#L22
199
+ */
200
+ interface _SourceUri {
201
+ uri: string;
202
+ [key: string]: any;
203
+ }
204
+
205
+ type BodyInit_ =
206
+ | _SourceUri
207
+ | Blob
208
+ | Int8Array
209
+ | Int16Array
210
+ | Int32Array
211
+ | Uint8Array
212
+ | Uint16Array
213
+ | Uint32Array
214
+ | Uint8ClampedArray
215
+ | Float32Array
216
+ | Float64Array
217
+ | DataView
218
+ | ArrayBuffer
219
+ | FormData
220
+ | string
221
+ | null;
222
+
223
+ interface RequestInit {
224
+ body?: BodyInit_ | null | undefined;
225
+ credentials?: RequestCredentials_ | undefined;
226
+ headers?: HeadersInit_ | undefined;
227
+ integrity?: string | undefined;
228
+ keepalive?: boolean | undefined;
229
+ method?: string | undefined;
230
+ mode?: RequestMode_ | undefined;
231
+ referrer?: string | undefined;
232
+ window?: null | undefined;
233
+ signal?: AbortSignal | undefined;
234
+ }
235
+
236
+ interface Request extends Object, Body {
237
+ readonly credentials: RequestCredentials_;
238
+ readonly headers: Headers;
239
+ readonly method: string;
240
+ readonly mode: RequestMode_;
241
+ readonly referrer: string;
242
+ readonly url: string;
243
+ readonly signal: AbortSignal;
244
+ clone(): Request;
245
+ }
246
+
247
+ var Request: {
248
+ prototype: Request;
249
+ new (input: Request | string, init?: RequestInit): Request;
250
+ };
251
+
252
+ type RequestInfo = Request | string;
253
+
254
+ interface ResponseInit {
255
+ headers?: HeadersInit_ | undefined;
256
+ status?: number | undefined;
257
+ statusText?: string | undefined;
258
+ }
259
+
260
+ interface Response extends Object, Body {
261
+ readonly headers: Headers;
262
+ readonly ok: boolean;
263
+ readonly status: number;
264
+ readonly statusText: string;
265
+ readonly type: ResponseType_;
266
+ readonly url: string;
267
+ readonly redirected: boolean;
268
+ clone(): Response;
269
+ }
270
+
271
+ var Response: {
272
+ prototype: Response;
273
+ new (body?: BodyInit_ | null, init?: ResponseInit): Response;
274
+ error(): Response;
275
+ json(data: any, init?: ResponseInit): Response;
276
+ redirect: (url: string | URL, status?: number) => Response;
277
+ };
278
+
279
+ type HeadersInit_ = [string, string][] | Record<string, string> | Headers;
280
+ type RequestCredentials_ = 'omit' | 'same-origin' | 'include';
281
+ type RequestMode_ = 'navigate' | 'same-origin' | 'no-cors' | 'cors';
282
+ type ResponseType_ =
283
+ | 'basic'
284
+ | 'cors'
285
+ | 'default'
286
+ | 'error'
287
+ | 'opaque'
288
+ | 'opaqueredirect';
289
+
290
+ // #endregion
291
+ // #region XMLHttpRequest
292
+
293
+ interface ProgressEvent<T extends EventTarget = EventTarget> extends Event {
294
+ readonly lengthComputable: boolean;
295
+ readonly loaded: number;
296
+ readonly total: number;
297
+ readonly target: T | null;
298
+ }
299
+
300
+ interface XMLHttpRequestEventMap extends XMLHttpRequestEventTargetEventMap {
301
+ readystatechange: Event;
302
+ }
303
+
304
+ interface XMLHttpRequest extends EventTarget, XMLHttpRequestEventTarget {
305
+ onreadystatechange: ((this: XMLHttpRequest, ev: Event) => any) | null;
306
+ readonly readyState: number;
307
+ readonly response: any;
308
+ readonly responseText: string;
309
+ responseType: XMLHttpRequestResponseType;
310
+ readonly responseURL: string;
311
+ readonly responseXML: Document | null;
312
+ readonly status: number;
313
+ readonly statusText: string;
314
+ timeout: number;
315
+ readonly upload: XMLHttpRequestUpload;
316
+ withCredentials: boolean;
317
+ abort(): void;
318
+ getAllResponseHeaders(): string;
319
+ getResponseHeader(header: string): string | null;
320
+ open(
321
+ method: string,
322
+ url: string,
323
+ async?: boolean,
324
+ user?: string | null,
325
+ password?: string | null,
326
+ ): void;
327
+ overrideMimeType(mime: string): void;
328
+ send(data?: any): void;
329
+ setRequestHeader(header: string, value: string): void;
330
+ readonly DONE: 4;
331
+ readonly HEADERS_RECEIVED: 2;
332
+ readonly LOADING: 3;
333
+ readonly OPENED: 1;
334
+ readonly UNSENT: 0;
335
+ addEventListener<K extends keyof XMLHttpRequestEventMap>(
336
+ type: K,
337
+ listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any,
338
+ ): void;
339
+ removeEventListener<K extends keyof XMLHttpRequestEventMap>(
340
+ type: K,
341
+ listener: (this: XMLHttpRequest, ev: XMLHttpRequestEventMap[K]) => any,
342
+ ): void;
343
+ }
344
+
345
+ var XMLHttpRequest: {
346
+ prototype: XMLHttpRequest;
347
+ new (): XMLHttpRequest;
348
+ readonly DONE: 4;
349
+ readonly HEADERS_RECEIVED: 2;
350
+ readonly LOADING: 3;
351
+ readonly OPENED: 1;
352
+ readonly UNSENT: 0;
353
+ };
354
+
355
+ interface XMLHttpRequestEventTargetEventMap {
356
+ abort: ProgressEvent;
357
+ error: ProgressEvent;
358
+ load: ProgressEvent;
359
+ loadend: ProgressEvent;
360
+ loadstart: ProgressEvent;
361
+ progress: ProgressEvent;
362
+ timeout: ProgressEvent;
363
+ }
364
+
365
+ interface XMLHttpRequestEventTarget {
366
+ onabort: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
367
+ onerror: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
368
+ onload: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
369
+ onloadend: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
370
+ onloadstart: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
371
+ onprogress: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
372
+ ontimeout: ((this: XMLHttpRequest, ev: ProgressEvent) => any) | null;
373
+ addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(
374
+ type: K,
375
+ listener: (
376
+ this: XMLHttpRequestEventTarget,
377
+ ev: XMLHttpRequestEventTargetEventMap[K],
378
+ ) => any,
379
+ ): void;
380
+ removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(
381
+ type: K,
382
+ listener: (
383
+ this: XMLHttpRequestEventTarget,
384
+ ev: XMLHttpRequestEventTargetEventMap[K],
385
+ ) => any,
386
+ ): void;
387
+ }
388
+
389
+ interface XMLHttpRequestUpload
390
+ extends EventTarget,
391
+ XMLHttpRequestEventTarget {
392
+ addEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(
393
+ type: K,
394
+ listener: (
395
+ this: XMLHttpRequestUpload,
396
+ ev: XMLHttpRequestEventTargetEventMap[K],
397
+ ) => any,
398
+ ): void;
399
+ removeEventListener<K extends keyof XMLHttpRequestEventTargetEventMap>(
400
+ type: K,
401
+ listener: (
402
+ this: XMLHttpRequestUpload,
403
+ ev: XMLHttpRequestEventTargetEventMap[K],
404
+ ) => any,
405
+ ): void;
406
+ }
407
+
408
+ var XMLHttpRequestUpload: {
409
+ prototype: XMLHttpRequestUpload;
410
+ new (): XMLHttpRequestUpload;
411
+ };
412
+
413
+ type XMLHttpRequestResponseType =
414
+ | ''
415
+ | 'arraybuffer'
416
+ | 'blob'
417
+ | 'document'
418
+ | 'json'
419
+ | 'text';
420
+
421
+ interface URL {
422
+ href: string;
423
+ readonly searchParams: URLSearchParams;
424
+
425
+ toJSON(): string;
426
+ toString(): string;
427
+ }
428
+
429
+ var URL: {
430
+ prototype: URL;
431
+ new (url: string | URL, base?: string | URL): URL;
432
+ createObjectURL(obj: Blob): string;
433
+ revokeObjectURL(url: string): void;
434
+ };
435
+
436
+ /**
437
+ * Based on definitions of lib.dom and lib.dom.iterable
438
+ */
439
+ interface URLSearchParams {
440
+ append(key: string, value: string): void;
441
+ toString(): string;
442
+
443
+ [Symbol.iterator](): IterableIterator<[string, string]>;
444
+ }
445
+
446
+ var URLSearchParams: {
447
+ prototype: URLSearchParams;
448
+ new (
449
+ init?: string[][] | Record<string, string> | string | URLSearchParams,
450
+ ): URLSearchParams;
451
+ };
452
+
453
+ interface WebSocketMessageEvent extends Event {
454
+ data?: any | undefined;
455
+ }
456
+ interface WebSocketErrorEvent extends Event {
457
+ message: string;
458
+ }
459
+ interface WebSocketCloseEvent extends Event {
460
+ code?: number | undefined;
461
+ reason?: string | undefined;
462
+ message?: string | undefined;
463
+ }
464
+
465
+ type WebsocketMessageEventListener = (
466
+ event: 'message',
467
+ handler: (e: WebSocketMessageEvent) => void,
468
+ ) => void;
469
+ type WebsocketErrorEventListener = (
470
+ event: 'error',
471
+ handler: (e: WebSocketErrorEvent) => void,
472
+ ) => void;
473
+ type WebsocketOpenEventListener = (
474
+ event: 'open',
475
+ handler: () => void,
476
+ ) => void;
477
+ type WebsocketCloseEventListener = (
478
+ event: 'close',
479
+ handler: (e: WebSocketCloseEvent) => void,
480
+ ) => void;
481
+
482
+ type WebsocketEventListener = WebsocketMessageEventListener &
483
+ WebsocketErrorEventListener &
484
+ WebsocketOpenEventListener &
485
+ WebsocketCloseEventListener;
486
+
487
+ interface WebSocket extends EventTarget {
488
+ readonly readyState: number;
489
+ send(data: string | ArrayBuffer | ArrayBufferView | Blob): void;
490
+ close(code?: number, reason?: string): void;
491
+ ping(): void;
492
+ onopen: (() => void) | null;
493
+ onmessage: ((event: WebSocketMessageEvent) => void) | null;
494
+ onerror: ((event: WebSocketErrorEvent) => void) | null;
495
+ onclose: ((event: WebSocketCloseEvent) => void) | null;
496
+ addEventListener: WebsocketEventListener;
497
+ removeEventListener: WebsocketEventListener;
498
+ }
499
+
500
+ var WebSocket: {
501
+ prototype: WebSocket;
502
+ new (
503
+ uri: string,
504
+ protocols?: string | string[] | null,
505
+ options?: {
506
+ headers: {[headerName: string]: string};
507
+ [optionName: string]: any;
508
+ } | null,
509
+ ): WebSocket;
510
+ readonly CLOSED: number;
511
+ readonly CLOSING: number;
512
+ readonly CONNECTING: number;
513
+ readonly OPEN: number;
514
+ };
515
+
516
+ // #endregion
517
+ // #region Abort Controller
518
+
519
+ interface AbortEvent extends Event {
520
+ type: 'abort';
521
+ }
522
+
523
+ class AbortSignal implements EventTarget {
524
+ /**
525
+ * AbortSignal cannot be constructed directly.
526
+ */
527
+ constructor();
528
+ /**
529
+ * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.
530
+ */
531
+ readonly aborted: boolean;
532
+
533
+ onabort: (event: AbortEvent) => void;
534
+
535
+ addEventListener: (
536
+ type: 'abort',
537
+ listener: (this: AbortSignal, event: any) => any,
538
+ options?:
539
+ | boolean
540
+ | {
541
+ capture?: boolean | undefined;
542
+ once?: boolean | undefined;
543
+ passive?: boolean | undefined;
544
+ },
545
+ ) => void;
546
+
547
+ dispatchEvent(event: Event): boolean;
548
+
549
+ removeEventListener: (
550
+ type: 'abort',
551
+ listener: (this: AbortSignal, event: any) => any,
552
+ options?:
553
+ | boolean
554
+ | {
555
+ capture?: boolean | undefined;
556
+ },
557
+ ) => void;
558
+ }
559
+
560
+ class AbortController {
561
+ /**
562
+ * Initialize this controller.
563
+ */
564
+ constructor();
565
+ /**
566
+ * Returns the `AbortSignal` object associated with this object.
567
+ */
568
+ readonly signal: AbortSignal;
569
+ /**
570
+ * Abort and signal to any observers that the associated activity is to be aborted.
571
+ */
572
+ abort(): void;
573
+ }
574
+
575
+ interface FileReaderEventMap {
576
+ abort: ProgressEvent<FileReader>;
577
+ error: ProgressEvent<FileReader>;
578
+ load: ProgressEvent<FileReader>;
579
+ loadend: ProgressEvent<FileReader>;
580
+ loadstart: ProgressEvent<FileReader>;
581
+ progress: ProgressEvent<FileReader>;
582
+ }
583
+
584
+ interface FileReader extends EventTarget {
585
+ readonly error: Error | null;
586
+ onabort: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
587
+ onerror: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
588
+ onload: ((this: FileReader, ev: ProgressEvent<FileReader>) => any) | null;
589
+ onloadend:
590
+ | ((this: FileReader, ev: ProgressEvent<FileReader>) => any)
591
+ | null;
592
+ onloadstart:
593
+ | ((this: FileReader, ev: ProgressEvent<FileReader>) => any)
594
+ | null;
595
+ onprogress:
596
+ | ((this: FileReader, ev: ProgressEvent<FileReader>) => any)
597
+ | null;
598
+ readonly readyState: number;
599
+ readonly result: string | ArrayBuffer;
600
+ abort(): void;
601
+ readAsArrayBuffer(blob: Blob): void;
602
+ readAsDataURL(blob: Blob): void;
603
+ readAsText(blob: Blob, encoding?: string): void;
604
+ readonly DONE: 2;
605
+ readonly EMPTY: 0;
606
+ readonly LOADING: 1;
607
+ addEventListener<K extends keyof FileReaderEventMap>(
608
+ type: K,
609
+ listener: (this: FileReader, ev: FileReaderEventMap[K]) => any,
610
+ options?: boolean,
611
+ ): void;
612
+ removeEventListener<K extends keyof FileReaderEventMap>(
613
+ type: K,
614
+ listener: (this: FileReader, ev: FileReaderEventMap[K]) => any,
615
+ options?: boolean,
616
+ ): void;
617
+ }
618
+
619
+ var FileReader: {
620
+ prototype: FileReader;
621
+ new (): FileReader;
622
+ readonly DONE: 2;
623
+ readonly EMPTY: 0;
624
+ readonly LOADING: 1;
625
+ };
626
+
627
+ // #endregion
628
+ }
@@ -263,7 +263,7 @@ export interface TextProps
263
263
 
264
264
  /**
265
265
  * This function is called on long press.
266
- * e.g., `onLongPress={this.increaseSize}>``
266
+ * e.g., `onLongPress={this.increaseSize}>`
267
267
  */
268
268
  onLongPress?: ((event: GestureResponderEvent) => void) | undefined;
269
269
 
package/types/index.d.ts CHANGED
@@ -51,7 +51,7 @@
51
51
  // Mateusz Wit <https://github.com/MateWW>
52
52
  // Saad Najmi <https://github.com/saadnajmi>
53
53
  // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
54
- // Minimum TypeScript Version: 4.8
54
+ // Minimum TypeScript Version: 4.9
55
55
 
56
56
  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
57
57
  //
@@ -68,7 +68,7 @@
68
68
  /// <reference path="modules/BatchedBridge.d.ts" />
69
69
  /// <reference path="modules/Codegen.d.ts" />
70
70
  /// <reference path="modules/Devtools.d.ts" />
71
- /// <reference path="modules/globals.d.ts" />
71
+ /// <reference types="../src/types/globals.d.ts" />
72
72
  /// <reference path="modules/LaunchScreen.d.ts" />
73
73
 
74
74
  export * from '../Libraries/ActionSheetIOS/ActionSheetIOS';
@@ -159,56 +159,5 @@ export * from './public/Insets';
159
159
  export * from './public/ReactNativeRenderer';
160
160
  export * from './public/ReactNativeTypes';
161
161
 
162
- import type {ErrorUtils} from '../Libraries/vendor/core/ErrorUtils';
163
-
164
- declare global {
165
- interface NodeRequire {
166
- (id: string): any;
167
- }
168
-
169
- var require: NodeRequire;
170
-
171
- /**
172
- * Console polyfill
173
- * @see https://reactnative.dev/docs/javascript-environment#polyfills
174
- */
175
- interface Console {
176
- error(message?: any, ...optionalParams: any[]): void;
177
- info(message?: any, ...optionalParams: any[]): void;
178
- log(message?: any, ...optionalParams: any[]): void;
179
- warn(message?: any, ...optionalParams: any[]): void;
180
- trace(message?: any, ...optionalParams: any[]): void;
181
- debug(message?: any, ...optionalParams: any[]): void;
182
- table(...data: any[]): void;
183
- groupCollapsed(label?: string): void;
184
- groupEnd(): void;
185
- group(label?: string): void;
186
- }
187
-
188
- var console: Console;
189
-
190
- /**
191
- * This contains the non-native `XMLHttpRequest` object, which you can use if you want to route network requests
192
- * through DevTools (to trace them):
193
- *
194
- * global.XMLHttpRequest = global.originalXMLHttpRequest;
195
- *
196
- * @see https://github.com/facebook/react-native/issues/934
197
- */
198
- const originalXMLHttpRequest: any;
199
-
200
- const __BUNDLE_START_TIME__: number;
201
- const ErrorUtils: ErrorUtils;
202
-
203
- /**
204
- * This variable is set to true when react-native is running in Dev mode
205
- * @example
206
- * if (__DEV__) console.log('Running in dev mode')
207
- */
208
- const __DEV__: boolean;
209
-
210
- const HermesInternal: null | {};
211
- }
212
-
213
162
  // Export platform specific types
214
163
  export * from '../Libraries/platform-types';