react-native-windows 0.72.9 → 0.72.10

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.
@@ -86,6 +86,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
86
86
  process: require('../../StyleSheet/processColor').default,
87
87
  },
88
88
  pointerEvents: true,
89
+ isInvertedVirtualizedList: true,
89
90
  },
90
91
  }
91
92
  : {
@@ -86,6 +86,7 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig =
86
86
  process: require('../../StyleSheet/processColor').default,
87
87
  },
88
88
  pointerEvents: true,
89
+ isInvertedVirtualizedList: true,
89
90
  },
90
91
  }
91
92
  : {
@@ -41,6 +41,7 @@ export type ScrollViewNativeProps = $ReadOnly<{
41
41
  endFillColor?: ?ColorValue,
42
42
  fadingEdgeLength?: ?number,
43
43
  indicatorStyle?: ?('default' | 'black' | 'white'),
44
+ isInvertedVirtualizedList?: ?boolean,
44
45
  keyboardDismissMode?: ?('none' | 'on-drag' | 'interactive'),
45
46
  maintainVisibleContentPosition?: ?$ReadOnly<{
46
47
  minIndexForVisible: number,
@@ -46,6 +46,7 @@ const ScrollViewViewConfig = {
46
46
  fadingEdgeLength: true,
47
47
  indicatorStyle: true,
48
48
  inverted: true,
49
+ isInvertedVirtualizedList: true,
49
50
  keyboardDismissMode: true,
50
51
  maintainVisibleContentPosition: true,
51
52
  maximumZoomScale: true,
@@ -70,6 +70,15 @@ export type ReturnKeyTypeOptions =
70
70
  | ReturnKeyTypeAndroid
71
71
  | ReturnKeyTypeIOS;
72
72
 
73
+ export type EnterKeyHintTypeAndroid = 'previous';
74
+ export type EnterKeyHintTypeIOS = 'enter';
75
+ export type EnterKeyHintType = 'done' | 'go' | 'next' | 'search' | 'send';
76
+
77
+ export type EnterKeyHintTypeOptions =
78
+ | EnterKeyHintType
79
+ | EnterKeyHintTypeAndroid
80
+ | EnterKeyHintTypeIOS;
81
+
73
82
  type DataDetectorTypes =
74
83
  | 'phoneNumber'
75
84
  | 'link'
@@ -779,6 +788,12 @@ export interface TextInputProps
779
788
  */
780
789
  returnKeyType?: ReturnKeyTypeOptions | undefined;
781
790
 
791
+ /**
792
+ * Determines what text should be shown to the return key on virtual keyboards.
793
+ * Has precedence over the returnKeyType prop.
794
+ */
795
+ enterKeyHint?: EnterKeyHintTypeOptions | undefined;
796
+
782
797
  /**
783
798
  * If true, the text input obscures the text entered so that sensitive text like passwords stay secure.
784
799
  * The default value is false.
@@ -223,13 +223,16 @@ export type TextContentType =
223
223
  | 'oneTimeCode';
224
224
 
225
225
  export type enterKeyHintType =
226
- | 'enter'
226
+ // Cross Platform
227
227
  | 'done'
228
228
  | 'go'
229
229
  | 'next'
230
- | 'previous'
231
230
  | 'search'
232
- | 'send';
231
+ | 'send'
232
+ // Android-only
233
+ | 'previous'
234
+ // iOS-only
235
+ | 'enter';
233
236
 
234
237
  type PasswordRules = string;
235
238
 
@@ -1344,6 +1347,7 @@ function InternalTextInput(props: Props): React.Node {
1344
1347
 
1345
1348
  const config = React.useMemo(
1346
1349
  () => ({
1350
+ hitSlop: props.hitSlop,
1347
1351
  onPress: (event: PressEvent) => {
1348
1352
  if (props.editable !== false) {
1349
1353
  if (inputRef.current != null) {
@@ -1358,6 +1362,7 @@ function InternalTextInput(props: Props): React.Node {
1358
1362
  }),
1359
1363
  [
1360
1364
  props.editable,
1365
+ props.hitSlop,
1361
1366
  props.onPressIn,
1362
1367
  props.onPressOut,
1363
1368
  props.rejectResponderTermination,
@@ -234,13 +234,16 @@ export type TextContentType =
234
234
  | 'oneTimeCode';
235
235
 
236
236
  export type enterKeyHintType =
237
- | 'enter'
237
+ // Cross Platform
238
238
  | 'done'
239
239
  | 'go'
240
240
  | 'next'
241
- | 'previous'
242
241
  | 'search'
243
- | 'send';
242
+ | 'send'
243
+ // Android-only
244
+ | 'previous'
245
+ // iOS-only
246
+ | 'enter';
244
247
 
245
248
  type PasswordRules = string;
246
249
 
@@ -1399,6 +1402,7 @@ function InternalTextInput(props: Props): React.Node {
1399
1402
 
1400
1403
  const config = React.useMemo(
1401
1404
  () => ({
1405
+ hitSlop: props.hitSlop,
1402
1406
  onPress: (event: PressEvent) => {
1403
1407
  if (props.editable !== false) {
1404
1408
  if (inputRef.current != null) {
@@ -1413,6 +1417,7 @@ function InternalTextInput(props: Props): React.Node {
1413
1417
  }),
1414
1418
  [
1415
1419
  props.editable,
1420
+ props.hitSlop,
1416
1421
  props.onPressIn,
1417
1422
  props.onPressOut,
1418
1423
  props.rejectResponderTermination,
@@ -12,6 +12,6 @@
12
12
  exports.version = {
13
13
  major: 0,
14
14
  minor: 72,
15
- patch: 3,
15
+ patch: 5,
16
16
  prerelease: null,
17
17
  };
@@ -17,6 +17,8 @@ import {type EventSubscription} from '../vendor/emitter/EventEmitter';
17
17
  import {RootTagContext, createRootTag} from './RootTag';
18
18
  import * as React from 'react';
19
19
 
20
+ const reactDevToolsHook = window.__REACT_DEVTOOLS_GLOBAL_HOOK__;
21
+
20
22
  type Props = $ReadOnly<{|
21
23
  children?: React.Node,
22
24
  fabric?: boolean,
@@ -47,9 +49,21 @@ class AppContainer extends React.Component<Props, State> {
47
49
  };
48
50
  _mainRef: ?React.ElementRef<typeof View>;
49
51
  _subscription: ?EventSubscription = null;
52
+ _reactDevToolsAgentListener: ?() => void = null;
50
53
 
51
54
  static getDerivedStateFromError: any = undefined;
52
55
 
56
+ mountReactDevToolsOverlays(): void {
57
+ const DevtoolsOverlay = require('../Inspector/DevtoolsOverlay').default;
58
+ const devtoolsOverlay = <DevtoolsOverlay inspectedView={this._mainRef} />;
59
+
60
+ const TraceUpdateOverlay =
61
+ require('../Components/TraceUpdateOverlay/TraceUpdateOverlay').default;
62
+ const traceUpdateOverlay = <TraceUpdateOverlay />;
63
+
64
+ this.setState({devtoolsOverlay, traceUpdateOverlay});
65
+ }
66
+
53
67
  componentDidMount(): void {
54
68
  if (__DEV__) {
55
69
  if (!this.props.internal_excludeInspector) {
@@ -71,16 +85,21 @@ class AppContainer extends React.Component<Props, State> {
71
85
  this.setState({inspector});
72
86
  },
73
87
  );
74
- if (window.__REACT_DEVTOOLS_GLOBAL_HOOK__ != null) {
75
- const DevtoolsOverlay =
76
- require('../Inspector/DevtoolsOverlay').default;
77
- const devtoolsOverlay = (
78
- <DevtoolsOverlay inspectedView={this._mainRef} />
88
+
89
+ if (reactDevToolsHook != null) {
90
+ if (reactDevToolsHook.reactDevtoolsAgent) {
91
+ // In case if this is not the first AppContainer rendered and React DevTools are already attached
92
+ this.mountReactDevToolsOverlays();
93
+ return;
94
+ }
95
+
96
+ this._reactDevToolsAgentListener = () =>
97
+ this.mountReactDevToolsOverlays();
98
+
99
+ reactDevToolsHook.on(
100
+ 'react-devtools',
101
+ this._reactDevToolsAgentListener,
79
102
  );
80
- const TraceUpdateOverlay =
81
- require('../Components/TraceUpdateOverlay/TraceUpdateOverlay').default;
82
- const traceUpdateOverlay = <TraceUpdateOverlay />;
83
- this.setState({devtoolsOverlay, traceUpdateOverlay});
84
103
  }
85
104
  }
86
105
  }
@@ -90,6 +109,10 @@ class AppContainer extends React.Component<Props, State> {
90
109
  if (this._subscription != null) {
91
110
  this._subscription.remove();
92
111
  }
112
+
113
+ if (reactDevToolsHook != null && this._reactDevToolsAgentListener != null) {
114
+ reactDevToolsHook.off('react-devtools', this._reactDevToolsAgentListener);
115
+ }
93
116
  }
94
117
 
95
118
  render(): React.Node {
@@ -190,6 +190,7 @@ export interface TransformsStyle {
190
190
  | SkewYTransform
191
191
  | MatrixTransform
192
192
  )[]
193
+ | string
193
194
  | undefined;
194
195
  /**
195
196
  * @deprecated Use matrix in transform prop instead.
@@ -10,11 +10,11 @@
10
10
  -->
11
11
  <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
12
12
  <PropertyGroup>
13
- <ReactNativeWindowsVersion>0.72.9</ReactNativeWindowsVersion>
13
+ <ReactNativeWindowsVersion>0.72.10</ReactNativeWindowsVersion>
14
14
  <ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
15
15
  <ReactNativeWindowsMinor>72</ReactNativeWindowsMinor>
16
- <ReactNativeWindowsPatch>9</ReactNativeWindowsPatch>
16
+ <ReactNativeWindowsPatch>10</ReactNativeWindowsPatch>
17
17
  <ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
18
- <ReactNativeWindowsCommitId>7564111bec1b57cfc4aecc22dea06c895804be99</ReactNativeWindowsCommitId>
18
+ <ReactNativeWindowsCommitId>117602962a0c8314c21805380f8cd097827deed1</ReactNativeWindowsCommitId>
19
19
  </PropertyGroup>
20
20
  </Project>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-windows",
3
- "version": "0.72.9",
3
+ "version": "0.72.10",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,17 +23,17 @@
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": "11.3.5",
27
- "@react-native-community/cli-platform-android": "11.3.5",
28
- "@react-native-community/cli-platform-ios": "11.3.5",
26
+ "@react-native-community/cli": "11.3.7",
27
+ "@react-native-community/cli-platform-android": "11.3.7",
28
+ "@react-native-community/cli-platform-ios": "11.3.7",
29
29
  "@react-native-windows/cli": "0.72.3",
30
30
  "@react-native/assets": "1.0.0",
31
31
  "@react-native/assets-registry": "^0.72.0",
32
- "@react-native/codegen": "^0.72.6",
32
+ "@react-native/codegen": "^0.72.7",
33
33
  "@react-native/gradle-plugin": "^0.72.11",
34
34
  "@react-native/js-polyfills": "^0.72.1",
35
35
  "@react-native/normalize-colors": "^0.72.0",
36
- "@react-native/virtualized-lists": "^0.72.6",
36
+ "@react-native/virtualized-lists": "^0.72.8",
37
37
  "abort-controller": "^3.0.0",
38
38
  "anser": "^1.4.9",
39
39
  "base64-js": "^1.1.2",
@@ -44,8 +44,8 @@
44
44
  "jest-environment-node": "^29.2.1",
45
45
  "jsc-android": "^250231.0.0",
46
46
  "memoize-one": "^5.0.0",
47
- "metro-runtime": "0.76.7",
48
- "metro-source-map": "0.76.7",
47
+ "metro-runtime": "0.76.8",
48
+ "metro-source-map": "0.76.8",
49
49
  "mkdirp": "^0.5.1",
50
50
  "nullthrows": "^1.1.1",
51
51
  "pretty-format": "^26.5.2",
@@ -80,7 +80,7 @@
80
80
  "metro-config": "0.76.4",
81
81
  "prettier": "^2.4.1",
82
82
  "react": "18.2.0",
83
- "react-native": "0.72.3",
83
+ "react-native": "0.72.5",
84
84
  "react-native-platform-override": "^1.9.4",
85
85
  "react-refresh": "^0.4.0",
86
86
  "typescript": "^4.9.5"