react-native-windows 0.71.0-preview.4 → 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 (49) hide show
  1. package/.flowconfig +1 -0
  2. package/Directory.Build.props +1 -1
  3. package/Libraries/Animated/Animated.d.ts +28 -0
  4. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +29 -0
  5. package/Libraries/Components/Flyout/FlyoutProps.d.ts +2 -2
  6. package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +1 -1
  7. package/Libraries/Components/ScrollView/ScrollView.d.ts +3 -3
  8. package/Libraries/Components/View/ViewWindows.d.ts +2 -2
  9. package/Libraries/Components/View/ViewWindowsProps.d.ts +2 -2
  10. package/Libraries/Core/ReactNativeVersion.js +1 -1
  11. package/Libraries/Image/ImageSource.js +0 -2
  12. package/Libraries/Lists/FlatList.d.ts +1 -42
  13. package/Libraries/Lists/FlatList.js +1 -0
  14. package/Libraries/Lists/SectionList.d.ts +0 -42
  15. package/Libraries/Lists/VirtualizedList.d.ts +31 -1
  16. package/Libraries/Lists/VirtualizedList.js +1 -0
  17. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -2
  18. package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +20 -0
  19. package/Libraries/ReactNative/AppRegistry.d.ts +51 -0
  20. package/Libraries/ReactNative/AppRegistry.js +3 -1
  21. package/Libraries/ReactNative/RootTag.d.ts +13 -0
  22. package/Libraries/StyleSheet/StyleSheet.d.ts +7 -3
  23. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +0 -1
  24. package/Libraries/Utilities/createPerformanceLogger.d.ts +48 -0
  25. package/Libraries/Vibration/Vibration.d.ts +1 -1
  26. package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +9 -0
  27. package/Microsoft.ReactNative/Views/ControlViewManager.cpp +8 -24
  28. package/Microsoft.ReactNative/Views/ControlViewManager.h +0 -9
  29. package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +1 -4
  30. package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +37 -21
  31. package/Microsoft.ReactNative/Views/Image/ReactImage.h +2 -0
  32. package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +13 -0
  33. package/Microsoft.ReactNative/Views/ShadowNodeBase.h +7 -0
  34. package/Microsoft.ReactNative/Views/ViewViewManager.cpp +2 -17
  35. package/PropertySheets/Generated/PackageVersion.g.props +2 -2
  36. package/PropertySheets/NuGet.Cpp.props +2 -2
  37. package/package.json +18 -17
  38. package/types/index.d.ts +216 -0
  39. package/types/modules/BatchedBridge.d.ts +32 -0
  40. package/types/modules/Codegen.d.ts +74 -0
  41. package/types/modules/Devtools.d.ts +31 -0
  42. package/types/modules/LaunchScreen.d.ts +18 -0
  43. package/types/modules/globals.d.ts +577 -0
  44. package/types/private/TimerMixin.d.ts +19 -0
  45. package/types/private/Utilities.d.ts +10 -0
  46. package/types/public/DeprecatedPropertiesAlias.d.ts +205 -0
  47. package/types/public/Insets.d.ts +15 -0
  48. package/types/public/ReactNativeRenderer.d.ts +149 -0
  49. package/types/public/ReactNativeTypes.d.ts +143 -0
@@ -626,6 +626,15 @@ static void StyleYogaNode(
626
626
  YGValue result = YGValueOrDefault(value, YGValue{YGUndefined, YGUnitPoint} /*default*/, shadowNode, key);
627
627
 
628
628
  SetYogaUnitValueHelper(yogaNode, result, YGNodeStyleSetMaxHeight, YGNodeStyleSetMaxHeightPercent);
629
+ } else if (key == "rowGap") {
630
+ float result = NumberOrDefault(value, 0.0f /*default*/);
631
+ YGNodeStyleSetGap(yogaNode, YGGutterRow, result);
632
+ } else if (key == "columnGap") {
633
+ float result = NumberOrDefault(value, 0.0f /*default*/);
634
+ YGNodeStyleSetGap(yogaNode, YGGutterColumn, result);
635
+ } else if (key == "gap") {
636
+ float result = NumberOrDefault(value, 0.0f /*default*/);
637
+ YGNodeStyleSetGap(yogaNode, YGGutterAll, result);
629
638
  } else if (key == "margin") {
630
639
  YGValue result = YGValueOrDefault(value, YGValue{YGUndefined, YGUnitPoint} /*default*/, shadowNode, key);
631
640
 
@@ -82,16 +82,14 @@ bool ControlViewManager::UpdateProperty(
82
82
  }
83
83
  } else if (propertyName == "focusable") {
84
84
  if (propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::Boolean) {
85
- IsFocusable(propertyValue.AsBoolean());
86
- control.IsTabStop(propertyValue.AsBoolean());
85
+ nodeToUpdate->IsFocusable(propertyValue.AsBoolean());
87
86
  } else if (propertyValue.IsNull()) {
88
- control.ClearValue(TAB_STOP_PROPERTY());
89
- IsFocusable(false);
87
+ nodeToUpdate->IsFocusable(false);
90
88
  }
91
89
  } else {
92
90
  if (propertyName == "accessible") {
93
91
  if (propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::Boolean) {
94
- IsAccessible(propertyValue.AsBoolean());
92
+ nodeToUpdate->IsAccessible(propertyValue.AsBoolean());
95
93
  }
96
94
  }
97
95
  ret = Super::UpdateProperty(nodeToUpdate, propertyName, propertyValue);
@@ -126,12 +124,11 @@ void ControlViewManager::OnPropertiesUpdated(ShadowNodeBase *node) {
126
124
 
127
125
  // If developer specifies either the accessible and focusable prop to be false
128
126
  // remove accessibility and keyboard focus for component.
129
- if (IsAccessible() != IsFocusable()) {
130
- control.IsTabStop(false);
131
- xaml::Automation::AutomationProperties::SetAccessibilityView(
132
- control, xaml::Automation::Peers::AccessibilityView::Raw);
133
- control.IsEnabled(false);
134
- }
127
+ const auto isTabStop = (node->IsAccessible() && node->IsFocusable());
128
+ const auto accessibilityView =
129
+ isTabStop ? xaml::Automation::Peers::AccessibilityView::Content : xaml::Automation::Peers::AccessibilityView::Raw;
130
+ control.IsTabStop(isTabStop);
131
+ xaml::Automation::AutomationProperties::SetAccessibilityView(control, accessibilityView);
135
132
  }
136
133
 
137
134
  void ControlViewManager::OnViewCreated(XamlView view) {
@@ -142,17 +139,4 @@ void ControlViewManager::OnViewCreated(XamlView view) {
142
139
  }
143
140
  }
144
141
 
145
- void ControlViewManager::IsAccessible(bool accessible) {
146
- m_isAccessible = accessible;
147
- }
148
- bool ControlViewManager::IsAccessible() {
149
- return m_isAccessible;
150
- }
151
- void ControlViewManager::IsFocusable(bool focusable) {
152
- m_isFocusable = focusable;
153
- }
154
- bool ControlViewManager::IsFocusable() {
155
- return m_isFocusable;
156
- }
157
-
158
142
  } // namespace Microsoft::ReactNative
@@ -33,15 +33,6 @@ class REACTWINDOWS_EXPORT ControlViewManager : public FrameworkElementViewManage
33
33
  void OnViewCreated(XamlView view) override;
34
34
 
35
35
  void OnPropertiesUpdated(ShadowNodeBase *node) override;
36
-
37
- private:
38
- void IsAccessible(bool accessible);
39
- bool IsAccessible();
40
- void IsFocusable(bool focusable);
41
- bool IsFocusable();
42
-
43
- bool m_isAccessible = true;
44
- bool m_isFocusable = true;
45
36
  };
46
37
 
47
38
  } // namespace Microsoft::ReactNative
@@ -408,10 +408,7 @@ void FlyoutShadowNode::OnShowFlyout() {
408
408
  LogErrorAndClose("The target view window was closed before flyout could be shown.");
409
409
  } else if (!m_targetElement && m_targetTag > 0) {
410
410
  LogErrorAndClose("The target view unmounted before flyout could be shown.");
411
- } else if (
412
- m_targetElement &&
413
- (m_flyout.XamlRoot() != m_targetElement.XamlRoot() ||
414
- m_flyout.XamlRoot() != React::XamlUIService::GetXamlRoot(GetViewManager()->GetReactContext().Properties()))) {
411
+ } else if (m_targetElement && m_flyout.XamlRoot() != m_targetElement.XamlRoot()) {
415
412
  LogErrorAndClose("The target view window lost focus before flyout could be shown.");
416
413
  } else {
417
414
  m_flyout.ShowAt(m_targetElement, m_showOptions);
@@ -50,6 +50,17 @@ winrt::Size ReactImage::ArrangeOverride(winrt::Size finalSize) {
50
50
  brush.Stretch(ResizeModeToStretch(finalSize));
51
51
  }
52
52
 
53
+ if (m_imageSource.sourceFormat == ImageSourceFormat::Svg) {
54
+ if (auto const imageBrush{Background().try_as<winrt::ImageBrush>()}) {
55
+ if (auto const svgImageSource{imageBrush.ImageSource().try_as<winrt::SvgImageSource>()}) {
56
+ if (svgImageSource.RasterizePixelWidth() != GetWidth() ||
57
+ svgImageSource.RasterizePixelHeight() != GetHeight()) {
58
+ SetBackground(false);
59
+ }
60
+ }
61
+ }
62
+ }
63
+
53
64
  return finalSize;
54
65
  }
55
66
 
@@ -312,30 +323,29 @@ winrt::fire_and_forget ReactImage::SetBackground(bool fireLoadEndEvent) {
312
323
  }
313
324
 
314
325
  if (source.sourceFormat == ImageSourceFormat::Svg) {
315
- winrt::SvgImageSource svgImageSource{imageBrush.ImageSource().try_as<winrt::SvgImageSource>()};
326
+ winrt::SvgImageSource svgImageSource{};
316
327
 
317
- if (!svgImageSource) {
318
- svgImageSource = winrt::SvgImageSource{};
328
+ strong_this->m_svgImageSourceOpenedRevoker =
329
+ svgImageSource.Opened(winrt::auto_revoke, [weak_this, fireLoadEndEvent](const auto &, const auto &) {
330
+ auto strong_this{weak_this.get()};
331
+ if (strong_this && fireLoadEndEvent) {
332
+ strong_this->m_onLoadEndEvent(*strong_this, true);
333
+ }
334
+ });
319
335
 
320
- strong_this->m_svgImageSourceOpenedRevoker =
321
- svgImageSource.Opened(winrt::auto_revoke, [weak_this, fireLoadEndEvent](const auto &, const auto &) {
322
- auto strong_this{weak_this.get()};
323
- if (strong_this && fireLoadEndEvent) {
324
- strong_this->m_onLoadEndEvent(*strong_this, true);
325
- }
326
- });
336
+ strong_this->m_svgImageSourceOpenFailedRevoker = svgImageSource.OpenFailed(
337
+ winrt::auto_revoke, [weak_this, fireLoadEndEvent, svgImageSource](const auto &, const auto &args) {
338
+ auto strong_this{weak_this.get()};
339
+ if (strong_this && fireLoadEndEvent) {
340
+ strong_this->m_onLoadEndEvent(*strong_this, false);
341
+ }
342
+ ImageFailed(svgImageSource, args);
343
+ });
327
344
 
328
- strong_this->m_svgImageSourceOpenFailedRevoker = svgImageSource.OpenFailed(
329
- winrt::auto_revoke, [weak_this, fireLoadEndEvent, svgImageSource](const auto &, const auto &args) {
330
- auto strong_this{weak_this.get()};
331
- if (strong_this && fireLoadEndEvent) {
332
- strong_this->m_onLoadEndEvent(*strong_this, false);
333
- }
334
- ImageFailed(svgImageSource, args);
335
- });
345
+ svgImageSource.RasterizePixelWidth(GetWidth());
346
+ svgImageSource.RasterizePixelHeight(GetHeight());
336
347
 
337
- imageBrush.ImageSource(svgImageSource);
338
- }
348
+ imageBrush.ImageSource(svgImageSource);
339
349
 
340
350
  if (fromStream) {
341
351
  try {
@@ -357,7 +367,6 @@ winrt::fire_and_forget ReactImage::SetBackground(bool fireLoadEndEvent) {
357
367
  } else {
358
368
  svgImageSource.UriSource(uri);
359
369
  }
360
-
361
370
  } else {
362
371
  winrt::BitmapImage bitmapImage{imageBrush.ImageSource().try_as<winrt::BitmapImage>()};
363
372
 
@@ -434,4 +443,11 @@ winrt::fire_and_forget ReactImage::SetBackground(bool fireLoadEndEvent) {
434
443
  }
435
444
  }
436
445
 
446
+ double ReactImage::GetWidth() {
447
+ return std::isnan(Width()) ? m_imageSource.width : Width();
448
+ }
449
+
450
+ double ReactImage::GetHeight() {
451
+ return std::isnan(Height()) ? m_imageSource.height : Height();
452
+ }
437
453
  } // namespace Microsoft::ReactNative
@@ -55,6 +55,8 @@ struct ReactImage : xaml::Controls::GridT<ReactImage> {
55
55
  xaml::Media::Stretch ResizeModeToStretch();
56
56
  xaml::Media::Stretch ResizeModeToStretch(winrt::Windows::Foundation::Size size);
57
57
  winrt::fire_and_forget SetBackground(bool fireLoadEndEvent);
58
+ double GetWidth();
59
+ double GetHeight();
58
60
 
59
61
  bool m_useCompositionBrush{false};
60
62
  float m_blurRadius{0};
@@ -166,4 +166,17 @@ void ShadowNodeBase::RedBox(const std::string &message) const noexcept {
166
166
  GetViewManager()->GetReactContext().CallJSFunction("RCTLog", "logToConsole", folly::dynamic::array("error", message));
167
167
  }
168
168
 
169
+ void ShadowNodeBase::IsAccessible(bool accessible) {
170
+ m_isAccessible = accessible;
171
+ }
172
+ bool ShadowNodeBase::IsAccessible() {
173
+ return m_isAccessible;
174
+ }
175
+ void ShadowNodeBase::IsFocusable(bool focusable) {
176
+ m_isFocusable = focusable;
177
+ }
178
+ bool ShadowNodeBase::IsFocusable() {
179
+ return m_isFocusable;
180
+ }
181
+
169
182
  } // namespace Microsoft::ReactNative
@@ -121,9 +121,16 @@ struct REACTWINDOWS_EXPORT ShadowNodeBase : public ShadowNode {
121
121
  return m_onMouseEnterRegistered || m_onMouseLeaveRegistered;
122
122
  }
123
123
 
124
+ void IsAccessible(bool accessible);
125
+ bool IsAccessible();
126
+ void IsFocusable(bool focusable);
127
+ bool IsFocusable();
128
+
124
129
  protected:
125
130
  XamlView m_view;
126
131
  bool m_updating = false;
132
+ bool m_isFocusable = true;
133
+ bool m_isAccessible = true;
127
134
  comp::CompositionPropertySet m_transformPS{nullptr};
128
135
 
129
136
  public:
@@ -47,6 +47,8 @@ class ViewShadowNode : public ShadowNodeBase {
47
47
  Super::createView(props);
48
48
 
49
49
  auto panel = GetPanel();
50
+ IsAccessible(false);
51
+ IsFocusable(false);
50
52
 
51
53
  DynamicAutomationProperties::SetAccessibilityInvokeEventHandler(panel, [=]() {
52
54
  if (OnClick())
@@ -121,21 +123,6 @@ class ViewShadowNode : public ShadowNodeBase {
121
123
  m_onClick = isSet;
122
124
  }
123
125
 
124
- bool IsFocusable() const {
125
- return m_isFocusable;
126
- }
127
- void IsFocusable(bool isFocusable) {
128
- m_isFocusable = isFocusable;
129
- }
130
-
131
- bool IsAccessible() const {
132
- return m_isAccessible;
133
- }
134
-
135
- void IsAccessible(bool isAccessible) {
136
- m_isAccessible = isAccessible;
137
- }
138
-
139
126
  bool IsHitTestBrushRequired() const {
140
127
  return IsRegisteredForMouseEvents();
141
128
  }
@@ -259,8 +246,6 @@ class ViewShadowNode : public ShadowNodeBase {
259
246
 
260
247
  bool m_enableFocusRing = true;
261
248
  bool m_onClick = false;
262
- bool m_isFocusable = false;
263
- bool m_isAccessible = false;
264
249
  int32_t m_tabIndex = std::numeric_limits<std::int32_t>::max();
265
250
 
266
251
  xaml::Controls::ContentControl::GotFocus_revoker m_contentControlGotFocusRevoker{};
@@ -10,10 +10,10 @@
10
10
  -->
11
11
  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12
12
  <PropertyGroup>
13
- <ReactNativeWindowsVersion>0.71.0-preview.4</ReactNativeWindowsVersion>
13
+ <ReactNativeWindowsVersion>0.71.1</ReactNativeWindowsVersion>
14
14
  <ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
15
15
  <ReactNativeWindowsMinor>71</ReactNativeWindowsMinor>
16
- <ReactNativeWindowsPatch>0</ReactNativeWindowsPatch>
16
+ <ReactNativeWindowsPatch>1</ReactNativeWindowsPatch>
17
17
  <ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
18
18
  </PropertyGroup>
19
19
  </Project>
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <!--
2
+ <!--
3
3
  Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  Licensed under the MIT License.
5
5
 
@@ -10,7 +10,7 @@
10
10
  <PropertyGroup Label="NuGet">
11
11
  <!-- Should match entry in $(ReactNativeWindowsDir)vnext\Directory.Build.props -->
12
12
  <!--See https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#restore-target-->
13
- <RestoreUseStaticGraphEvaluation Condition="'$(BuildingInsideVisualStudio)' == 'true'">true</RestoreUseStaticGraphEvaluation>
13
+ <RestoreUseStaticGraphEvaluation Condition="'$(BuildingInsideVisualStudio)' == 'true' AND '$(DisableRestoreUseStaticGraphEvaluation)' != 'true'">true</RestoreUseStaticGraphEvaluation>
14
14
 
15
15
  <!-- Ensure PackageReference compatibility for any consuming projects/apps -->
16
16
  <ResolveNuGetPackages>false</ResolveNuGetPackages>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-windows",
3
- "version": "0.71.0-preview.4",
3
+ "version": "0.71.1",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,32 +23,32 @@
23
23
  "dependencies": {
24
24
  "@babel/runtime": "^7.0.0",
25
25
  "@jest/create-cache-key-function": "^29.2.1",
26
- "@react-native-community/cli": "10.0.0-alpha.5",
27
- "@react-native-community/cli-platform-android": "10.0.0-alpha.4",
28
- "@react-native-community/cli-platform-ios": "10.0.0-alpha.3",
29
- "@react-native-windows/cli": "0.71.0-preview.2",
26
+ "@react-native-community/cli": "10.0.0",
27
+ "@react-native-community/cli-platform-android": "10.0.0",
28
+ "@react-native-community/cli-platform-ios": "10.0.0",
29
+ "@react-native-windows/cli": "0.71.1",
30
30
  "@react-native/assets": "1.0.0",
31
31
  "@react-native/normalize-color": "2.1.0",
32
32
  "@react-native/polyfills": "2.0.0",
33
33
  "abort-controller": "^3.0.0",
34
34
  "anser": "^1.4.9",
35
35
  "base64-js": "^1.1.2",
36
- "deprecated-react-native-prop-types": "^2.3.0",
36
+ "deprecated-react-native-prop-types": "^3.0.1",
37
37
  "event-target-shim": "^5.0.1",
38
38
  "invariant": "^2.2.4",
39
39
  "jest-environment-node": "^29.2.1",
40
40
  "jsc-android": "^250230.2.1",
41
41
  "memoize-one": "^5.0.0",
42
- "metro-react-native-babel-transformer": "0.73.3",
43
- "metro-runtime": "0.73.3",
44
- "metro-source-map": "0.73.3",
42
+ "metro-react-native-babel-transformer": "0.73.5",
43
+ "metro-runtime": "0.73.5",
44
+ "metro-source-map": "0.73.5",
45
45
  "mkdirp": "^0.5.1",
46
46
  "nullthrows": "^1.1.1",
47
47
  "pretty-format": "^26.5.2",
48
48
  "promise": "^8.3.0",
49
49
  "react-devtools-core": "^4.26.1",
50
50
  "react-native-codegen": "^0.71.3",
51
- "react-native-gradle-plugin": "^0.71.10",
51
+ "react-native-gradle-plugin": "^0.71.12",
52
52
  "react-refresh": "^0.4.0",
53
53
  "react-shallow-renderer": "^16.15.0",
54
54
  "regenerator-runtime": "^0.13.2",
@@ -60,7 +60,7 @@
60
60
  "ws": "^6.2.2"
61
61
  },
62
62
  "devDependencies": {
63
- "@react-native-windows/codegen": "0.71.0-preview.1",
63
+ "@react-native-windows/codegen": "0.71.1",
64
64
  "@rnw-scripts/babel-react-native-config": "0.0.0",
65
65
  "@rnw-scripts/eslint-config": "1.1.14",
66
66
  "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.0",
@@ -74,24 +74,24 @@
74
74
  "flow-bin": "^0.191.0",
75
75
  "jscodeshift": "^0.13.1",
76
76
  "just-scripts": "^1.3.3",
77
- "metro-config": "0.72.3",
77
+ "metro-config": "0.73.5",
78
78
  "prettier": "^2.4.1",
79
79
  "react": "18.2.0",
80
- "react-native": "0.71.0-rc.3",
80
+ "react-native": "0.71.0",
81
81
  "react-native-platform-override": "^1.8.3",
82
82
  "react-refresh": "^0.4.0",
83
- "typescript": "^4.4.4"
83
+ "typescript": "^4.9.5"
84
84
  },
85
85
  "peerDependencies": {
86
86
  "react": "18.2.0",
87
- "react-native": "0.71.0-rc.3"
87
+ "react-native": "0.71.0"
88
88
  },
89
89
  "beachball": {
90
- "defaultNpmTag": "preview",
90
+ "defaultNpmTag": "latest",
91
91
  "disallowedChangeTypes": [
92
92
  "major",
93
93
  "minor",
94
- "patch"
94
+ "prerelease"
95
95
  ],
96
96
  "gitTags": true
97
97
  },
@@ -119,6 +119,7 @@
119
119
  "/Shared",
120
120
  "/stubs",
121
121
  "/template",
122
+ "types",
122
123
  "/rntypes",
123
124
  "/.flowconfig",
124
125
  "/Directory.Build.props",
@@ -0,0 +1,216 @@
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
+ // Definitions by: Eloy Durán <https://github.com/alloy>
11
+ // HuHuanming <https://github.com/huhuanming>
12
+ // Kyle Roach <https://github.com/iRoachie>
13
+ // Tim Wang <https://github.com/timwangdev>
14
+ // Kamal Mahyuddin <https://github.com/kamal>
15
+ // Alex Dunne <https://github.com/alexdunne>
16
+ // Manuel Alabor <https://github.com/swissmanu>
17
+ // Michele Bombardi <https://github.com/bm-software>
18
+ // Martin van Dam <https://github.com/mvdam>
19
+ // Kacper Wiszczuk <https://github.com/esemesek>
20
+ // Ryan Nickel <https://github.com/mrnickel>
21
+ // Souvik Ghosh <https://github.com/souvik-ghosh>
22
+ // Cheng Gibson <https://github.com/nossbigg>
23
+ // Saransh Kataria <https://github.com/saranshkataria>
24
+ // Wojciech Tyczynski <https://github.com/tykus160>
25
+ // Jake Bloom <https://github.com/jakebloom>
26
+ // Ceyhun Ozugur <https://github.com/ceyhun>
27
+ // Mike Martin <https://github.com/mcmar>
28
+ // Theo Henry de Villeneuve <https://github.com/theohdv>
29
+ // Romain Faust <https://github.com/romain-faust>
30
+ // Be Birchall <https://github.com/bebebebebe>
31
+ // Jesse Katsumata <https://github.com/Naturalclar>
32
+ // Xianming Zhong <https://github.com/chinesedfan>
33
+ // Valentyn Tolochko <https://github.com/vtolochk>
34
+ // Sergey Sychev <https://github.com/SychevSP>
35
+ // Kelvin Chu <https://github.com/RageBill>
36
+ // Daiki Ihara <https://github.com/sasurau4>
37
+ // Abe Dolinger <https://github.com/256hz>
38
+ // Dominique Richard <https://github.com/doumart>
39
+ // Mohamed Shaban <https://github.com/drmas>
40
+ // Jérémy Barbet <https://github.com/jeremybarbet>
41
+ // David Sheldrick <https://github.com/ds300>
42
+ // Natsathorn Yuthakovit <https://github.com/natsathorn>
43
+ // ConnectDotz <https://github.com/connectdotz>
44
+ // Alexey Molchan <https://github.com/alexeymolchan>
45
+ // Alex Brazier <https://github.com/alexbrazier>
46
+ // Arafat Zahan <https://github.com/kuasha420>
47
+ // Pedro Hernández <https://github.com/phvillegas>
48
+ // Sebastian Silbermann <https://github.com/eps1lon>
49
+ // Zihan Chen <https://github.com/ZihanChen-MSFT>
50
+ // Lorenzo Sciandra <https://github.com/kelset>
51
+ // Mateusz Wit <https://github.com/MateWW>
52
+ // Saad Najmi <https://github.com/saadnajmi>
53
+ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
54
+ // TypeScript Version: 3.0
55
+
56
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
57
+ //
58
+ // USING: these definitions are meant to be used with the TSC compiler target set to at least ES2015.
59
+ //
60
+ // USAGE EXAMPLES: check the RNTSExplorer project at https://github.com/bgrieder/RNTSExplorer
61
+ //
62
+ // CONTRIBUTING: please open pull requests
63
+ //
64
+ // CREDITS: This work is based on an original work made by Bernd Paradies: https://github.com/bparadie
65
+ //
66
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
67
+
68
+ /// <reference path="modules/BatchedBridge.d.ts" />
69
+ /// <reference path="modules/Codegen.d.ts" />
70
+ /// <reference path="modules/Devtools.d.ts" />
71
+ /// <reference path="modules/globals.d.ts" />
72
+ /// <reference path="modules/LaunchScreen.d.ts" />
73
+
74
+ export * from '../Libraries/ActionSheetIOS/ActionSheetIOS';
75
+ export * from '../Libraries/Alert/Alert';
76
+ export * from '../Libraries/Animated/Animated';
77
+ export * from '../Libraries/Animated/Easing';
78
+ export * from '../Libraries/Animated/useAnimatedValue';
79
+ export * from '../Libraries/AppState/AppState';
80
+ export * from '../Libraries/BatchedBridge/NativeModules';
81
+ export * from '../Libraries/Components/AccessibilityInfo/AccessibilityInfo';
82
+ export * from '../Libraries/Components/ActivityIndicator/ActivityIndicator';
83
+ export * from '../Libraries/Components/Clipboard/Clipboard';
84
+ export * from '../Libraries/Components/DatePicker/DatePickerIOS';
85
+ export * from '../Libraries/Components/DrawerAndroid/DrawerLayoutAndroid';
86
+ export * from '../Libraries/Components/Keyboard/Keyboard';
87
+ export * from '../Libraries/Components/Keyboard/KeyboardAvoidingView';
88
+ export * from '../Libraries/Components/Pressable/Pressable';
89
+ export * from '../Libraries/Components/ProgressBarAndroid/ProgressBarAndroid';
90
+ export * from '../Libraries/Components/ProgressViewIOS/ProgressViewIOS';
91
+ export * from '../Libraries/Components/RefreshControl/RefreshControl';
92
+ export * from '../Libraries/Components/SafeAreaView/SafeAreaView';
93
+ export * from '../Libraries/Components/ScrollView/ScrollView';
94
+ export * from '../Libraries/Components/Slider/Slider';
95
+ export * from '../Libraries/Components/StatusBar/StatusBar';
96
+ export * from '../Libraries/Components/Switch/Switch';
97
+ export * from '../Libraries/Components/TextInput/InputAccessoryView';
98
+ export * from '../Libraries/Components/TextInput/TextInput';
99
+ export * from '../Libraries/Components/ToastAndroid/ToastAndroid';
100
+ export * from '../Libraries/Components/Touchable/Touchable';
101
+ export * from '../Libraries/Components/Touchable/TouchableHighlight';
102
+ export * from '../Libraries/Components/Touchable/TouchableNativeFeedback';
103
+ export * from '../Libraries/Components/Touchable/TouchableOpacity';
104
+ export * from '../Libraries/Components/Touchable/TouchableWithoutFeedback';
105
+ export * from '../Libraries/Components/View/View';
106
+ export * from '../Libraries/Components/View/ViewAccessibility';
107
+ export * from '../Libraries/Components/View/ViewPropTypes';
108
+ export * from '../Libraries/Components/Button';
109
+ export * from '../Libraries/EventEmitter/NativeEventEmitter';
110
+ export * from '../Libraries/EventEmitter/RCTDeviceEventEmitter';
111
+ export * from '../Libraries/EventEmitter/RCTNativeAppEventEmitter';
112
+ export * from '../Libraries/Image/Image';
113
+ export * from '../Libraries/Image/ImageResizeMode';
114
+ export * from '../Libraries/Image/ImageSource';
115
+ export * from '../Libraries/Interaction/InteractionManager';
116
+ export * from '../Libraries/Interaction/PanResponder';
117
+ export * from '../Libraries/LayoutAnimation/LayoutAnimation';
118
+ export * from '../Libraries/Linking/Linking';
119
+ export * from '../Libraries/Lists/FlatList';
120
+ export * from '../Libraries/Lists/SectionList';
121
+ export * from '../Libraries/Lists/VirtualizedList';
122
+ export * from '../Libraries/LogBox/LogBox';
123
+ export * from '../Libraries/Modal/Modal';
124
+ export * as Systrace from '../Libraries/Performance/Systrace';
125
+ export * from '../Libraries/PermissionsAndroid/PermissionsAndroid';
126
+ export * from '../Libraries/PushNotificationIOS/PushNotificationIOS';
127
+ export * from '../Libraries/ReactNative/AppRegistry';
128
+ export * from '../Libraries/ReactNative/I18nManager';
129
+ export * from '../Libraries/ReactNative/RendererProxy';
130
+ export * from '../Libraries/ReactNative/RootTag';
131
+ export * from '../Libraries/ReactNative/UIManager';
132
+ export * from '../Libraries/ReactNative/requireNativeComponent';
133
+ export * from '../Libraries/Settings/Settings';
134
+ export * from '../Libraries/Share/Share';
135
+ export * from '../Libraries/StyleSheet/PlatformColorValueTypesIOS';
136
+ export * from '../Libraries/StyleSheet/PlatformColorValueTypes';
137
+ export * from '../Libraries/StyleSheet/StyleSheet';
138
+ export * from '../Libraries/StyleSheet/StyleSheetTypes';
139
+ export * from '../Libraries/StyleSheet/processColor';
140
+ export * from '../Libraries/Text/Text';
141
+ export * from '../Libraries/TurboModule/RCTExport';
142
+ export * from '../Libraries/TurboModule/TurboModuleRegistry';
143
+ export * from '../Libraries/Types/CoreEventTypes';
144
+ export * from '../Libraries/Utilities/Appearance';
145
+ export * from '../Libraries/Utilities/BackHandler';
146
+ export * from '../Libraries/Utilities/DevSettings';
147
+ export * from '../Libraries/Utilities/Dimensions';
148
+ export * from '../Libraries/Utilities/PixelRatio';
149
+ export * from '../Libraries/Utilities/Platform';
150
+ export * from '../Libraries/Vibration/Vibration';
151
+ export * from '../Libraries/YellowBox/YellowBoxDeprecated';
152
+ export * from '../Libraries/vendor/core/ErrorUtils';
153
+ export * from '../Libraries/vendor/emitter/EventEmitter';
154
+
155
+ export * from './public/DeprecatedPropertiesAlias';
156
+ export * from './public/Insets';
157
+ export * from './public/ReactNativeRenderer';
158
+ export * from './public/ReactNativeTypes';
159
+
160
+ import type {ErrorUtils} from '../Libraries/vendor/core/ErrorUtils';
161
+
162
+ declare global {
163
+ interface NodeRequire {
164
+ (id: string): any;
165
+ }
166
+
167
+ var require: NodeRequire;
168
+
169
+ /**
170
+ * Console polyfill
171
+ * @see https://reactnative.dev/docs/javascript-environment#polyfills
172
+ */
173
+ interface Console {
174
+ error(message?: any, ...optionalParams: any[]): void;
175
+ info(message?: any, ...optionalParams: any[]): void;
176
+ log(message?: any, ...optionalParams: any[]): void;
177
+ warn(message?: any, ...optionalParams: any[]): void;
178
+ trace(message?: any, ...optionalParams: any[]): void;
179
+ debug(message?: any, ...optionalParams: any[]): void;
180
+ table(...data: any[]): void;
181
+ groupCollapsed(label?: string): void;
182
+ groupEnd(): void;
183
+ group(label?: string): void;
184
+ /**
185
+ * @deprecated Use LogBox.ignoreLogs(patterns) instead
186
+ */
187
+ ignoredYellowBox: string[];
188
+ }
189
+
190
+ var console: Console;
191
+
192
+ /**
193
+ * This contains the non-native `XMLHttpRequest` object, which you can use if you want to route network requests
194
+ * through DevTools (to trace them):
195
+ *
196
+ * global.XMLHttpRequest = global.originalXMLHttpRequest;
197
+ *
198
+ * @see https://github.com/facebook/react-native/issues/934
199
+ */
200
+ const originalXMLHttpRequest: any;
201
+
202
+ const __BUNDLE_START_TIME__: number;
203
+ const ErrorUtils: ErrorUtils;
204
+
205
+ /**
206
+ * This variable is set to true when react-native is running in Dev mode
207
+ * @example
208
+ * if (__DEV__) console.log('Running in dev mode')
209
+ */
210
+ const __DEV__: boolean;
211
+
212
+ const HermesInternal: null | {};
213
+ }
214
+
215
+ // Export platform specific types
216
+ export * from '../Libraries/platform-types';
@@ -0,0 +1,32 @@
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
+ interface SpyData {
11
+ type: number;
12
+ module?: string | undefined;
13
+ method: string | number;
14
+ args: any[];
15
+ }
16
+
17
+ declare class MessageQueue {
18
+ static spy(spyOrToggle: boolean | ((data: SpyData) => void)): void;
19
+
20
+ getCallableModule(name: string): Object;
21
+ registerCallableModule(name: string, module: Object): void;
22
+ registerLazyCallableModule(name: string, factory: () => Object): void;
23
+ }
24
+
25
+ declare module 'react-native/Libraries/BatchedBridge/BatchedBridge' {
26
+ const BatchedBridge: MessageQueue;
27
+ export default BatchedBridge;
28
+ }
29
+
30
+ declare module 'react-native/Libraries/BatchedBridge/MessageQueue' {
31
+ export default MessageQueue;
32
+ }