@office-iss/react-native-win32 0.66.4 → 0.67.0

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 (118) hide show
  1. package/.eslintignore +2 -0
  2. package/.flowconfig +1 -1
  3. package/CHANGELOG.json +228 -46
  4. package/CHANGELOG.md +102 -25
  5. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +14 -1
  6. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +2 -0
  7. package/Libraries/Animated/AnimatedEvent.js +23 -4
  8. package/Libraries/Animated/NativeAnimatedHelper.js +2 -2
  9. package/Libraries/Animated/components/AnimatedImage.js +3 -3
  10. package/Libraries/Animated/components/AnimatedScrollView.js +3 -3
  11. package/Libraries/Animated/components/AnimatedText.js +3 -3
  12. package/Libraries/Animated/components/AnimatedView.js +1 -3
  13. package/Libraries/Animated/createAnimatedComponent.js +3 -34
  14. package/Libraries/Components/Button/ButtonWin32.js +2 -2
  15. package/Libraries/Components/Button/ButtonWin32.js.map +1 -1
  16. package/Libraries/Components/Button.js +3 -0
  17. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +3 -6
  18. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -7
  19. package/Libraries/Components/EnterString.win32.js +3 -3
  20. package/Libraries/Components/EnterString.win32.js.map +1 -1
  21. package/Libraries/Components/Keyboard/Keyboard.js +2 -2
  22. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +1 -0
  23. package/Libraries/Components/ScrollView/ScrollView.js +17 -16
  24. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +268 -252
  25. package/Libraries/Components/Text/Tests/TextWin32Test.d.ts +0 -1
  26. package/Libraries/Components/Text/TextWin32.Props.d.ts +2 -2
  27. package/Libraries/Components/Text/TextWin32.Props.js.map +1 -1
  28. package/Libraries/Components/Text/TextWin32.js +1 -1
  29. package/Libraries/Components/Text/TextWin32.js.map +1 -1
  30. package/Libraries/Components/TextInput/Tests/TextInputTest.d.ts +0 -1
  31. package/Libraries/Components/TextInput/TextInput.win32.js +6 -6
  32. package/Libraries/Components/TextInput/TextInput.win32.js.map +1 -1
  33. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.d.ts +0 -1
  34. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js +1 -1
  35. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
  36. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +2 -2
  37. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js.map +1 -1
  38. package/Libraries/Components/Touchable/TouchableWin32.js +2 -2
  39. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
  40. package/Libraries/Components/View/Tests/ViewWin32Test.d.ts +0 -1
  41. package/Libraries/Components/View/View.js +1 -1
  42. package/Libraries/Components/View/View.win32.js +1 -1
  43. package/Libraries/Components/View/ViewAccessibility.js +1 -1
  44. package/Libraries/Components/View/ViewWin32.Props.d.ts +3 -6
  45. package/Libraries/Components/View/ViewWin32.Props.js.map +1 -1
  46. package/Libraries/Components/View/ViewWin32.js +5 -5
  47. package/Libraries/Components/View/ViewWin32.js.map +1 -1
  48. package/Libraries/Core/ExceptionsManager.js +45 -80
  49. package/Libraries/Core/ExtendedError.js +0 -1
  50. package/Libraries/Core/ReactNativeVersion.js +3 -3
  51. package/Libraries/Core/setUpBatchedBridge.js +1 -1
  52. package/Libraries/Core/setUpGlobals.js +2 -4
  53. package/Libraries/Core/setUpTimers.js +2 -2
  54. package/Libraries/Image/Image.ios.js +6 -0
  55. package/Libraries/Image/Image.win32.js +6 -0
  56. package/Libraries/Image/ImageBackground.js +10 -8
  57. package/Libraries/Image/ImageProps.js +28 -0
  58. package/Libraries/Image/Tests/ImageWin32Test.d.ts +0 -1
  59. package/Libraries/LogBox/Data/LogBoxData.js +18 -19
  60. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  61. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  62. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  63. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  64. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  65. package/Libraries/NewAppScreen/components/logo.png +0 -0
  66. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +2 -1
  67. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +2 -0
  68. package/Libraries/PersonaCoin/PersonaCoin.js +3 -2
  69. package/Libraries/PersonaCoin/PersonaCoin.js.map +1 -1
  70. package/Libraries/Pressability/Pressability.js +13 -13
  71. package/Libraries/Pressability/Pressability.win32.js +13 -13
  72. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  73. package/Libraries/ReactNative/AppRegistry.js +4 -2
  74. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +1569 -875
  75. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +529 -319
  76. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +570 -362
  77. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +1592 -891
  78. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +521 -311
  79. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +562 -354
  80. package/Libraries/Share/Share.js +1 -1
  81. package/Libraries/StyleSheet/normalizeColor.js +2 -2
  82. package/Libraries/Text/TextProps.js +1 -7
  83. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  84. package/Libraries/Utilities/HMRClient.js +1 -1
  85. package/flow/global.js +45 -0
  86. package/index.js +15 -10
  87. package/index.win32.js +15 -10
  88. package/jest/mockModal.js +31 -0
  89. package/jest/preprocessor.js +7 -75
  90. package/jest/setup.js +5 -3
  91. package/overrides.json +8 -14
  92. package/package.json +19 -17
  93. package/rntypes/BatchedBridge.d.ts +23 -0
  94. package/rntypes/Devtools.d.ts +20 -0
  95. package/rntypes/LaunchScreen.d.ts +9 -0
  96. package/rntypes/globals.d.ts +496 -0
  97. package/rntypes/index.d.ts +9966 -0
  98. package/rntypes/legacy-properties.d.ts +266 -0
  99. package/src/Libraries/Components/Text/TextWin32.Props.ts +2 -2
  100. package/src/Libraries/Components/View/ViewWin32.Props.ts +6 -12
  101. package/src/rntypes/BatchedBridge.d.ts +23 -0
  102. package/src/rntypes/Devtools.d.ts +20 -0
  103. package/src/rntypes/LaunchScreen.d.ts +9 -0
  104. package/src/rntypes/globals.d.ts +496 -0
  105. package/src/rntypes/index.d.ts +9966 -0
  106. package/src/rntypes/legacy-properties.d.ts +266 -0
  107. package/src/typings-index.ts +11 -4
  108. package/typings-index.d.ts +3 -1
  109. package/typings-index.js +7 -5
  110. package/typings-index.js.map +1 -1
  111. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -87
  112. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  113. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.win32.js +0 -30
  114. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  115. package/Libraries/Components/StaticContainer.react.js +0 -51
  116. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -25
  117. package/Libraries/Interaction/InteractionMixin.js +0 -54
  118. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
@@ -51,7 +51,7 @@ class Share {
51
51
  *
52
52
  * #### iOS
53
53
  *
54
- * - `url` - an URL to share
54
+ * - `url` - a URL to share
55
55
  *
56
56
  * At least one of URL and message is required.
57
57
  *
@@ -10,7 +10,7 @@
10
10
 
11
11
  /* eslint no-bitwise: 0 */
12
12
 
13
- import normalizeColorBase from '@react-native/normalize-color/base';
13
+ import _normalizeColor from '@react-native/normalize-color';
14
14
 
15
15
  import type {ColorValue} from './StyleSheet';
16
16
  import type {ProcessedColorValue} from './processColor';
@@ -27,7 +27,7 @@ function normalizeColor(
27
27
  }
28
28
 
29
29
  if (typeof color === 'string' || typeof color === 'number') {
30
- return normalizeColorBase(color);
30
+ return _normalizeColor(color);
31
31
  }
32
32
  }
33
33
 
@@ -66,13 +66,7 @@ export type TextProps = $ReadOnly<{|
66
66
  * Set hyphenation strategy on Android.
67
67
  *
68
68
  */
69
- android_hyphenationFrequency?: ?(
70
- | 'normal'
71
- | 'none'
72
- | 'full'
73
- | 'high'
74
- | 'balanced'
75
- ),
69
+ android_hyphenationFrequency?: ?('normal' | 'none' | 'full'),
76
70
  children?: ?Node,
77
71
 
78
72
  /**
@@ -16,7 +16,7 @@ const turboModuleProxy = global.__turboModuleProxy;
16
16
 
17
17
  function requireModule<T: TurboModule>(name: string): ?T {
18
18
  // Bridgeless mode requires TurboModules
19
- if (!global.RN$Bridgeless) {
19
+ if (global.RN$Bridgeless !== true) {
20
20
  // Backward compatibility layer during migration.
21
21
  const legacyModule = NativeModules[name];
22
22
  if (legacyModule != null) {
@@ -119,7 +119,7 @@ const HMRClient: HMRClientNativeInterface = {
119
119
  JSON.stringify({
120
120
  type: 'log',
121
121
  level,
122
- mode: global.RN$Bridgeless ? 'NOBRIDGE' : 'BRIDGE',
122
+ mode: global.RN$Bridgeless === true ? 'NOBRIDGE' : 'BRIDGE',
123
123
  data: data.map(item =>
124
124
  typeof item === 'string'
125
125
  ? item
package/flow/global.js CHANGED
@@ -16,8 +16,53 @@
16
16
  * writeability (`+`) when defining types.
17
17
  */
18
18
  declare var global: {
19
+ // setUpGlobals
20
+ +window: typeof global,
21
+ +self: typeof global,
22
+
23
+ // setXHR
24
+ +XMLHttpRequest: typeof XMLHttpRequest,
25
+ +FormData: typeof FormData,
26
+ +fetch: typeof fetch,
27
+ +Headers: typeof Headers,
28
+ +Request: typeof Request,
29
+ +Response: typeof Response,
30
+ +WebSocket: typeof WebSocket,
31
+ +Blob: typeof Blob,
32
+ +File: typeof File,
33
+ +FileReader: typeof FileReader,
34
+ +URL: typeof URL,
35
+ +URLSearchParams: typeof URLSearchParams,
36
+ +AbortController: typeof AbortController,
37
+ +AbortSignal: typeof AbortSignal,
38
+
39
+ // setUpAlert
40
+ +alert: typeof alert,
41
+
42
+ // setUpTimers
43
+ +clearInterval: typeof clearInterval,
44
+ +clearTimeout: typeof clearTimeout,
45
+ +setInterval: typeof setInterval,
46
+ +setTimeout: typeof setTimeout,
47
+ +requestAnimationFrame: typeof requestAnimationFrame,
48
+ +cancelAnimationFrame: typeof cancelAnimationFrame,
49
+ +requestIdleCallback: typeof requestIdleCallback,
50
+ +cancelIdleCallback: typeof cancelIdleCallback,
51
+ +setTimeout: typeof setTimeout,
52
+ // TODO(T97509743): use `typeof` when the next Flow release is available.
53
+ +queueMicrotask: <TArguments: Array<mixed>>(
54
+ jobCallback: (...args: TArguments) => mixed,
55
+ ) => void,
56
+
57
+ +console: typeof console,
58
+
59
+ // JavaScript environments specific
19
60
  +HermesInternal: ?$HermesInternalType,
20
61
 
62
+ // Internal-specific
63
+ +__DEV__?: boolean,
64
+ +RN$Bridgeless?: boolean,
65
+
21
66
  // Undeclared properties are implicitly `any`.
22
67
  [string | symbol]: any,
23
68
  };
package/index.js CHANGED
@@ -55,7 +55,6 @@ import typeof AppState from './Libraries/AppState/AppState';
55
55
  import typeof AsyncStorage from './Libraries/Storage/AsyncStorage';
56
56
  import typeof BackHandler from './Libraries/Utilities/BackHandler';
57
57
  import typeof Clipboard from './Libraries/Components/Clipboard/Clipboard';
58
- import typeof DatePickerAndroid from './Libraries/Components/DatePickerAndroid/DatePickerAndroid';
59
58
  import typeof DeviceInfo from './Libraries/Utilities/DeviceInfo';
60
59
  import typeof DevSettings from './Libraries/Utilities/DevSettings';
61
60
  import typeof Dimensions from './Libraries/Utilities/Dimensions';
@@ -297,15 +296,6 @@ module.exports = {
297
296
  );
298
297
  return require('./Libraries/Components/Clipboard/Clipboard');
299
298
  },
300
- get DatePickerAndroid(): DatePickerAndroid {
301
- warnOnce(
302
- 'DatePickerAndroid-merged',
303
- 'DatePickerAndroid has been merged with DatePickerIOS and will be removed in a future release. ' +
304
- "It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. " +
305
- 'See https://github.com/react-native-datetimepicker/datetimepicker',
306
- );
307
- return require('./Libraries/Components/DatePickerAndroid/DatePickerAndroid');
308
- },
309
299
  get DeviceInfo(): DeviceInfo {
310
300
  return require('./Libraries/Utilities/DeviceInfo');
311
301
  },
@@ -717,4 +707,19 @@ if (__DEV__) {
717
707
  );
718
708
  },
719
709
  });
710
+ /* $FlowFixMe[prop-missing] This is intentional: Flow will error when
711
+ * attempting to access DatePickerAndroid. */
712
+ /* $FlowFixMe[invalid-export] This is intentional: Flow will error when
713
+ * attempting to access DatePickerAndroid. */
714
+ Object.defineProperty(module.exports, 'DatePickerAndroid', {
715
+ configurable: true,
716
+ get() {
717
+ invariant(
718
+ false,
719
+ 'DatePickerAndroid has been removed from React Native. ' +
720
+ "It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. " +
721
+ 'See https://github.com/react-native-datetimepicker/datetimepicker',
722
+ );
723
+ },
724
+ });
720
725
  }
package/index.win32.js CHANGED
@@ -55,7 +55,6 @@ import typeof AppState from './Libraries/AppState/AppState';
55
55
  import typeof AsyncStorage from './Libraries/Storage/AsyncStorage';
56
56
  import typeof BackHandler from './Libraries/Utilities/BackHandler';
57
57
  import typeof Clipboard from './Libraries/Components/Clipboard/Clipboard';
58
- import typeof DatePickerAndroid from './Libraries/Components/DatePickerAndroid/DatePickerAndroid';
59
58
  import typeof DeviceInfo from './Libraries/Utilities/DeviceInfo';
60
59
  import typeof DevSettings from './Libraries/Utilities/DevSettings';
61
60
  import typeof Dimensions from './Libraries/Utilities/Dimensions';
@@ -303,15 +302,6 @@ module.exports = {
303
302
  );
304
303
  return require('./Libraries/Components/Clipboard/Clipboard');
305
304
  },
306
- get DatePickerAndroid(): DatePickerAndroid {
307
- warnOnce(
308
- 'DatePickerAndroid-merged',
309
- 'DatePickerAndroid has been merged with DatePickerIOS and will be removed in a future release. ' +
310
- "It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. " +
311
- 'See https://github.com/react-native-datetimepicker/datetimepicker',
312
- );
313
- return require('./Libraries/Components/DatePickerAndroid/DatePickerAndroid');
314
- },
315
305
  get DeviceInfo(): DeviceInfo {
316
306
  return require('./Libraries/Utilities/DeviceInfo');
317
307
  },
@@ -758,4 +748,19 @@ if (__DEV__) {
758
748
  );
759
749
  },
760
750
  });
751
+ /* $FlowFixMe[prop-missing] This is intentional: Flow will error when
752
+ * attempting to access DatePickerAndroid. */
753
+ /* $FlowFixMe[invalid-export] This is intentional: Flow will error when
754
+ * attempting to access DatePickerAndroid. */
755
+ Object.defineProperty(module.exports, 'DatePickerAndroid', {
756
+ configurable: true,
757
+ get() {
758
+ invariant(
759
+ false,
760
+ 'DatePickerAndroid has been removed from React Native. ' +
761
+ "It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. " +
762
+ 'See https://github.com/react-native-datetimepicker/datetimepicker',
763
+ );
764
+ },
765
+ });
761
766
  }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its 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
+ * @flow strict-local
9
+ */
10
+
11
+ /* eslint-env jest */
12
+
13
+ 'use strict';
14
+
15
+ const React = require('react');
16
+ const Modal = require('../Libraries/Modal/Modal');
17
+
18
+ function mockModal(BaseComponent: $FlowFixMe) {
19
+ class ModalMock extends BaseComponent {
20
+ render(): React.Element<typeof Modal> {
21
+ return (
22
+ <BaseComponent {...this.props}>
23
+ {this.props.visible !== true ? null : this.props.children}
24
+ </BaseComponent>
25
+ );
26
+ }
27
+ }
28
+ return ModalMock;
29
+ }
30
+
31
+ module.exports = (mockModal: $FlowFixMe);
@@ -13,42 +13,10 @@
13
13
  'use strict';
14
14
 
15
15
  const babelRegisterOnly = require('metro-babel-register');
16
- const nullthrows = require('nullthrows');
17
16
  const createCacheKeyFunction = require('@jest/create-cache-key-function')
18
17
  .default;
19
- const t = require('@babel/types');
20
- const {statements} = require('@babel/template').default;
21
18
 
22
- const importDefault = '__importDefault__';
23
- const importAll = '__importAll__';
24
-
25
- // prelude
26
- const importPrelude = statements(`
27
- function ${importDefault}(moduleId) {
28
- const exports = require(moduleId);
29
-
30
- if (exports && exports.__esModule) {
31
- return exports.default;
32
- }
33
-
34
- return exports;
35
- };
36
-
37
- function ${importAll}(moduleId) {
38
- const exports = require(moduleId);
39
-
40
- if (exports && exports.__esModule) {
41
- return exports;
42
- }
43
-
44
- return Object.assign({}, exports, {default: exports});
45
- };
46
- `);
47
-
48
- const {
49
- transformSync: babelTransformSync,
50
- transformFromAstSync: babelTransformFromAstSync,
51
- } = require('@babel/core');
19
+ const {transformSync: babelTransformSync} = require('@babel/core');
52
20
  const generate = require('@babel/generator').default;
53
21
 
54
22
  const nodeFiles = new RegExp(
@@ -73,13 +41,13 @@ module.exports = {
73
41
  }).code;
74
42
  }
75
43
 
76
- let {ast} = transformer.transform({
44
+ const {ast} = transformer.transform({
77
45
  filename: file,
78
46
  options: {
79
47
  ast: true, // needed for open source (?) https://github.com/facebook/react-native/commit/f8d6b97140cffe8d18b2558f94570c8d1b410d5c#r28647044
80
48
  dev: true,
81
49
  enableBabelRuntime: false,
82
- experimentalImportSupport: true,
50
+ experimentalImportSupport: false,
83
51
  globalPrefix: '',
84
52
  hot: false,
85
53
  inlineRequires: true,
@@ -111,6 +79,10 @@ module.exports = {
111
79
  [require('@babel/plugin-transform-regenerator')],
112
80
  [require('@babel/plugin-transform-sticky-regex')],
113
81
  [require('@babel/plugin-transform-unicode-regex')],
82
+ [
83
+ require('@babel/plugin-transform-modules-commonjs'),
84
+ {strict: false, allowTopLevelThis: true},
85
+ ],
114
86
  [require('@babel/plugin-transform-classes')],
115
87
  [require('@babel/plugin-transform-arrow-functions')],
116
88
  [require('@babel/plugin-transform-spread')],
@@ -127,46 +99,6 @@ module.exports = {
127
99
  ],
128
100
  });
129
101
 
130
- // We're not using @babel/plugin-transform-modules-commonjs so
131
- // we need to add 'use strict' manually
132
- const directives = ast.program.directives;
133
-
134
- if (
135
- ast.program.sourceType === 'module' &&
136
- (directives == null ||
137
- directives.findIndex(d => d.value.value === 'use strict') === -1)
138
- ) {
139
- ast.program.directives = [
140
- ...(directives || []),
141
- t.directive(t.directiveLiteral('use strict')),
142
- ];
143
- }
144
-
145
- // Postprocess the transformed module to handle ESM and inline requires.
146
- // We need to do this in a separate pass to avoid issues tracking references.
147
- const babelTransformResult = babelTransformFromAstSync(ast, src, {
148
- ast: true,
149
- retainLines: true,
150
- plugins: [
151
- [
152
- require('metro-transform-plugins').importExportPlugin,
153
- {importDefault, importAll},
154
- ],
155
- [
156
- require('babel-preset-fbjs/plugins/inline-requires.js'),
157
- {inlineableCalls: [importDefault, importAll]},
158
- ],
159
- ],
160
- sourceType: 'module',
161
- });
162
-
163
- ast = nullthrows(babelTransformResult.ast);
164
-
165
- // Inject import helpers *after* running the inline-requires transform,
166
- // because otherwise it will assume they are user code and bail out of
167
- // inlining calls to them.
168
- ast.program.body.unshift(...importPrelude());
169
-
170
102
  return generate(
171
103
  ast,
172
104
  // $FlowFixMe[prop-missing] Error found when improving flow typing for libs
package/jest/setup.js CHANGED
@@ -110,9 +110,11 @@ jest
110
110
  getNativeRef: jest.fn(),
111
111
  }),
112
112
  )
113
- .mock('../Libraries/Modal/Modal', () =>
114
- mockComponent('../Libraries/Modal/Modal'),
115
- )
113
+ .mock('../Libraries/Modal/Modal', () => {
114
+ const baseComponent = mockComponent('../Libraries/Modal/Modal');
115
+ const mockModal = jest.requireActual('./mockModal');
116
+ return mockModal(baseComponent);
117
+ })
116
118
  .mock('../Libraries/Components/View/View', () =>
117
119
  mockComponent('../Libraries/Components/View/View', MockNativeMethods),
118
120
  )
package/overrides.json CHANGED
@@ -4,21 +4,22 @@
4
4
  "src/**"
5
5
  ],
6
6
  "excludePatterns": [
7
- "**/__snapshots__/**"
7
+ "**/__snapshots__/**",
8
+ "src/rntypes/**"
8
9
  ],
9
- "baseVersion": "0.66.0",
10
+ "baseVersion": "0.67.1",
10
11
  "overrides": [
11
12
  {
12
13
  "type": "derived",
13
14
  "file": ".flowconfig",
14
15
  "baseFile": ".flowconfig",
15
- "baseHash": "a715deecb01066f69db3959e0d270f5a2a88e598"
16
+ "baseHash": "1920d4cf4c839eb21889eb28e4596fbbfcc4a0cd"
16
17
  },
17
18
  {
18
19
  "type": "derived",
19
20
  "file": "src/index.win32.js",
20
21
  "baseFile": "index.js",
21
- "baseHash": "96a5214433005766d7d57ceea5a1dd0a30d4e88f"
22
+ "baseHash": "3f55b3104a728f68008ba473bb64bbe8fc7ad8c9"
22
23
  },
23
24
  {
24
25
  "type": "patch",
@@ -55,13 +56,6 @@
55
56
  "baseHash": "a9a4a6c92de922a11f8b81642b1bf1270d0b7b96",
56
57
  "issue": 4378
57
58
  },
58
- {
59
- "type": "copy",
60
- "file": "src/Libraries/Components/DatePickerAndroid/DatePickerAndroid.win32.js",
61
- "baseFile": "Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js",
62
- "baseHash": "09d82215c57ca5873a53523a63006daebf07ffbc",
63
- "issue": 4378
64
- },
65
59
  {
66
60
  "type": "copy",
67
61
  "file": "src/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js",
@@ -196,7 +190,7 @@
196
190
  "type": "patch",
197
191
  "file": "src/Libraries/Components/View/View.win32.js",
198
192
  "baseFile": "Libraries/Components/View/View.js",
199
- "baseHash": "77bfbef8e835e4fee49311779bb039a99ae44372"
193
+ "baseHash": "689895e8755aed42e913460d1fa964907a74f06c"
200
194
  },
201
195
  {
202
196
  "type": "patch",
@@ -230,7 +224,7 @@
230
224
  "type": "derived",
231
225
  "file": "src/Libraries/Image/Image.win32.js",
232
226
  "baseFile": "Libraries/Image/Image.ios.js",
233
- "baseHash": "e259481373eaf9acad79087e1fdd3c0e27e25ee5",
227
+ "baseHash": "c8d495e707fc61bbfb929b9a343f5460c3b60c28",
234
228
  "issue": 4320
235
229
  },
236
230
  {
@@ -395,7 +389,7 @@
395
389
  "type": "patch",
396
390
  "file": "src/Libraries/Pressability/Pressability.win32.js",
397
391
  "baseFile": "Libraries/Pressability/Pressability.js",
398
- "baseHash": "f0ff8ce99b09be692f6beb9231c7dec3140da02d",
392
+ "baseHash": "05c53428a4b7b142fabb6833ecf54ba88c0aa05d",
399
393
  "issue": 6240
400
394
  },
401
395
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@office-iss/react-native-win32",
3
- "version": "0.66.4",
3
+ "version": "0.67.0",
4
4
  "description": "Implementation of react native on top of Office's Win32 platform.",
5
5
  "license": "MIT",
6
6
  "main": "./index.win32.js",
@@ -25,9 +25,9 @@
25
25
  "@react-native-community/cli": "^6.0.0",
26
26
  "@react-native-community/cli-platform-android": "^6.0.0",
27
27
  "@react-native-community/cli-platform-ios": "^6.0.0",
28
- "@react-native-windows/virtualized-list": "0.66.1",
28
+ "@react-native-windows/virtualized-list": "0.67.0",
29
29
  "@react-native/assets": "1.0.0",
30
- "@react-native/normalize-color": "1.0.0",
30
+ "@react-native/normalize-color": "2.0.0",
31
31
  "@react-native/polyfills": "2.0.0",
32
32
  "abort-controller": "^3.0.0",
33
33
  "anser": "^1.4.9",
@@ -37,7 +37,6 @@
37
37
  "hermes-engine": "~0.9.0",
38
38
  "invariant": "^2.2.4",
39
39
  "jsc-android": "^250230.2.1",
40
- "metro-babel-register": "0.66.2",
41
40
  "metro-react-native-babel-transformer": "0.66.2",
42
41
  "metro-runtime": "0.66.2",
43
42
  "metro-source-map": "0.66.2",
@@ -46,8 +45,8 @@
46
45
  "promise": "^8.0.3",
47
46
  "prop-types": "^15.7.2",
48
47
  "react-clone-referenced-element": "^1.0.1",
49
- "react-devtools-core": "^4.13.0",
50
- "react-native-codegen": "^0.0.7",
48
+ "react-devtools-core": "4.19.1",
49
+ "react-native-codegen": "^0.0.8",
51
50
  "react-refresh": "^0.4.0",
52
51
  "regenerator-runtime": "^0.13.2",
53
52
  "scheduler": "^0.20.2",
@@ -57,36 +56,39 @@
57
56
  "ws": "^6.1.4"
58
57
  },
59
58
  "devDependencies": {
60
- "@rnw-scripts/eslint-config": "1.1.7",
61
- "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.0.1",
59
+ "@rnw-scripts/eslint-config": "1.1.8",
60
+ "@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.0.2",
62
61
  "@rnx-kit/jest-preset": "^0.1.0",
63
62
  "@types/node": "^14.14.22",
64
63
  "@types/prop-types": "15.7.1",
65
- "@types/react": "16.9.11",
66
- "@types/react-native": "^0.64.4",
64
+ "@types/react": "^17.0.21",
65
+ "@types/react-native": "^0.65.0",
67
66
  "babel-eslint": "^10.1.0",
68
67
  "eslint": "7.12.0",
69
- "flow-bin": "^0.158.0",
68
+ "flow-bin": "^0.162.0",
70
69
  "jscodeshift": "^0.11.0",
71
70
  "just-scripts": "^1.3.3",
72
71
  "prettier": "1.19.1",
73
72
  "react": "17.0.2",
74
- "react-native": "0.66.0",
75
- "react-native-platform-override": "^1.4.17",
73
+ "react-native": "0.67.1",
74
+ "react-native-platform-override": "^1.5.1",
76
75
  "react-shallow-renderer": "16.14.1",
77
- "typescript": "^3.8.3"
76
+ "typescript": "^4.4.4"
78
77
  },
79
78
  "peerDependencies": {
80
79
  "react": "17.0.2",
81
- "react-native": "^0.66.0"
80
+ "react-native": "^0.67.0"
82
81
  },
83
82
  "beachball": {
84
- "defaultNpmTag": "v0.66-stable",
83
+ "defaultNpmTag": "latest",
85
84
  "disallowedChangeTypes": [
86
85
  "major",
87
86
  "minor",
88
87
  "prerelease"
89
88
  ]
90
89
  },
91
- "promoteRelease": true
90
+ "promoteRelease": true,
91
+ "engines": {
92
+ "node": ">= 12.0.0"
93
+ }
92
94
  }
@@ -0,0 +1,23 @@
1
+ interface SpyData {
2
+ type: number;
3
+ module?: string | undefined;
4
+ method: string | number;
5
+ args: any[];
6
+ }
7
+
8
+ declare class MessageQueue {
9
+ static spy(spyOrToggle: boolean | ((data: SpyData) => void)): void;
10
+
11
+ getCallableModule(name: string): Object;
12
+ registerCallableModule(name: string, module: Object): void;
13
+ registerLazyCallableModule(name: string, factory: () => Object): void;
14
+ }
15
+
16
+ declare module 'react-native/Libraries/BatchedBridge/BatchedBridge' {
17
+ const BatchedBridge: MessageQueue;
18
+ export default BatchedBridge;
19
+ }
20
+
21
+ declare module 'react-native/Libraries/BatchedBridge/MessageQueue' {
22
+ export default MessageQueue;
23
+ }
@@ -0,0 +1,20 @@
1
+ declare module 'react-native/Libraries/Core/Devtools/parseErrorStack' {
2
+ export type StackFrame = {
3
+ file: string;
4
+ methodName: string;
5
+ lineNumber: number;
6
+ column: number | null;
7
+ };
8
+
9
+ export interface ExtendedError extends Error {
10
+ framesToPop?: number | undefined;
11
+ }
12
+
13
+ export default function parseErrorStack(error: ExtendedError): StackFrame[];
14
+ }
15
+
16
+ declare module 'react-native/Libraries/Core/Devtools/symbolicateStackTrace' {
17
+ import { StackFrame } from 'react-native/Libraries/Core/Devtools/parseErrorStack';
18
+
19
+ export default function symbolicateStackTrace(stack: ReadonlyArray<StackFrame>): Promise<StackFrame[]>;
20
+ }
@@ -0,0 +1,9 @@
1
+ // Adds the JSX elements used in the launch screen.
2
+
3
+ declare module 'react-native/Libraries/NewAppScreen' {
4
+ export const Header: any;
5
+ export const LearnMoreLinks: any;
6
+ export const Colors: any;
7
+ export const DebugInstructions: any;
8
+ export const ReloadInstructions: any;
9
+ }