react-native 0.71.11 → 0.71.12
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.
- package/Libraries/Components/TextInput/TextInput.js +44 -19
- package/Libraries/Components/View/View.js +34 -16
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Image/Image.android.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +50 -20
- package/Libraries/Text/Text.js +49 -41
- package/React/Base/RCTVersion.m +1 -1
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/flow-typed/npm/ansi-regex_v5.x.x.js +14 -0
- package/package.json +2 -1
- package/scripts/cocoapods/codegen_utils.rb +1 -1
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/template/package.json +1 -1
|
@@ -1061,6 +1061,18 @@ const emptyFunctionThatReturnsTrue = () => true;
|
|
|
1061
1061
|
*
|
|
1062
1062
|
*/
|
|
1063
1063
|
function InternalTextInput(props: Props): React.Node {
|
|
1064
|
+
const {
|
|
1065
|
+
'aria-busy': ariaBusy,
|
|
1066
|
+
'aria-checked': ariaChecked,
|
|
1067
|
+
'aria-disabled': ariaDisabled,
|
|
1068
|
+
'aria-expanded': ariaExpanded,
|
|
1069
|
+
'aria-selected': ariaSelected,
|
|
1070
|
+
accessibilityState,
|
|
1071
|
+
id,
|
|
1072
|
+
tabIndex,
|
|
1073
|
+
...otherProps
|
|
1074
|
+
} = props;
|
|
1075
|
+
|
|
1064
1076
|
const inputRef = useRef<null | React.ElementRef<HostComponent<mixed>>>(null);
|
|
1065
1077
|
|
|
1066
1078
|
// Android sends a "onTextChanged" event followed by a "onSelectionChanged" event, for
|
|
@@ -1381,13 +1393,25 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1381
1393
|
// so omitting onBlur and onFocus pressability handlers here.
|
|
1382
1394
|
const {onBlur, onFocus, ...eventHandlers} = usePressability(config) || {};
|
|
1383
1395
|
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1396
|
+
let _accessibilityState;
|
|
1397
|
+
if (
|
|
1398
|
+
accessibilityState != null ||
|
|
1399
|
+
ariaBusy != null ||
|
|
1400
|
+
ariaChecked != null ||
|
|
1401
|
+
ariaDisabled != null ||
|
|
1402
|
+
ariaExpanded != null ||
|
|
1403
|
+
ariaSelected != null
|
|
1404
|
+
) {
|
|
1405
|
+
_accessibilityState = {
|
|
1406
|
+
busy: ariaBusy ?? accessibilityState?.busy,
|
|
1407
|
+
checked: ariaChecked ?? accessibilityState?.checked,
|
|
1408
|
+
disabled: ariaDisabled ?? accessibilityState?.disabled,
|
|
1409
|
+
expanded: ariaExpanded ?? accessibilityState?.expanded,
|
|
1410
|
+
selected: ariaSelected ?? accessibilityState?.selected,
|
|
1411
|
+
};
|
|
1412
|
+
}
|
|
1413
|
+
|
|
1414
|
+
let style = flattenStyle(props.style);
|
|
1391
1415
|
|
|
1392
1416
|
if (Platform.OS === 'ios') {
|
|
1393
1417
|
const RCTTextInputView =
|
|
@@ -1395,10 +1419,7 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1395
1419
|
? RCTMultilineTextInputView
|
|
1396
1420
|
: RCTSinglelineTextInputView;
|
|
1397
1421
|
|
|
1398
|
-
|
|
1399
|
-
props.multiline === true
|
|
1400
|
-
? StyleSheet.flatten([styles.multilineInput, props.style])
|
|
1401
|
-
: props.style;
|
|
1422
|
+
style = props.multiline === true ? [styles.multilineInput, style] : style;
|
|
1402
1423
|
|
|
1403
1424
|
const useOnChangeSync =
|
|
1404
1425
|
(props.unstable_onChangeSync || props.unstable_onChangeTextSync) &&
|
|
@@ -1407,15 +1428,16 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1407
1428
|
textInput = (
|
|
1408
1429
|
<RCTTextInputView
|
|
1409
1430
|
ref={_setNativeRef}
|
|
1410
|
-
{...
|
|
1431
|
+
{...otherProps}
|
|
1411
1432
|
{...eventHandlers}
|
|
1412
|
-
accessible={accessible}
|
|
1413
1433
|
accessibilityState={_accessibilityState}
|
|
1434
|
+
accessible={accessible}
|
|
1414
1435
|
submitBehavior={submitBehavior}
|
|
1415
1436
|
caretHidden={caretHidden}
|
|
1416
1437
|
dataDetectorTypes={props.dataDetectorTypes}
|
|
1417
|
-
focusable={focusable}
|
|
1438
|
+
focusable={tabIndex !== undefined ? !tabIndex : focusable}
|
|
1418
1439
|
mostRecentEventCount={mostRecentEventCount}
|
|
1440
|
+
nativeID={id ?? props.nativeID}
|
|
1419
1441
|
onBlur={_onBlur}
|
|
1420
1442
|
onKeyPressSync={props.unstable_onKeyPressSync}
|
|
1421
1443
|
onChange={_onChange}
|
|
@@ -1431,7 +1453,6 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1431
1453
|
/>
|
|
1432
1454
|
);
|
|
1433
1455
|
} else if (Platform.OS === 'android') {
|
|
1434
|
-
const style = [props.style];
|
|
1435
1456
|
const autoCapitalize = props.autoCapitalize || 'sentences';
|
|
1436
1457
|
const _accessibilityLabelledBy =
|
|
1437
1458
|
props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy;
|
|
@@ -1457,18 +1478,19 @@ function InternalTextInput(props: Props): React.Node {
|
|
|
1457
1478
|
* fixed */
|
|
1458
1479
|
<AndroidTextInput
|
|
1459
1480
|
ref={_setNativeRef}
|
|
1460
|
-
{...
|
|
1481
|
+
{...otherProps}
|
|
1461
1482
|
{...eventHandlers}
|
|
1462
|
-
accessible={accessible}
|
|
1463
1483
|
accessibilityState={_accessibilityState}
|
|
1464
1484
|
accessibilityLabelledBy={_accessibilityLabelledBy}
|
|
1485
|
+
accessible={accessible}
|
|
1465
1486
|
autoCapitalize={autoCapitalize}
|
|
1466
1487
|
submitBehavior={submitBehavior}
|
|
1467
1488
|
caretHidden={caretHidden}
|
|
1468
1489
|
children={children}
|
|
1469
1490
|
disableFullscreenUI={props.disableFullscreenUI}
|
|
1470
|
-
focusable={focusable}
|
|
1491
|
+
focusable={tabIndex !== undefined ? !tabIndex : focusable}
|
|
1471
1492
|
mostRecentEventCount={mostRecentEventCount}
|
|
1493
|
+
nativeID={id ?? props.nativeID}
|
|
1472
1494
|
numberOfLines={props.rows ?? props.numberOfLines}
|
|
1473
1495
|
onBlur={_onBlur}
|
|
1474
1496
|
onChange={_onChange}
|
|
@@ -1598,11 +1620,12 @@ const ExportedForwardRef: React.AbstractComponent<
|
|
|
1598
1620
|
React.ElementRef<HostComponent<mixed>> & ImperativeMethods,
|
|
1599
1621
|
>,
|
|
1600
1622
|
) {
|
|
1601
|
-
|
|
1623
|
+
let style = flattenStyle(restProps.style);
|
|
1602
1624
|
|
|
1603
1625
|
if (style?.verticalAlign != null) {
|
|
1604
1626
|
style.textAlignVertical =
|
|
1605
1627
|
verticalAlignToTextAlignVerticalMap[style.verticalAlign];
|
|
1628
|
+
delete style.verticalAlign;
|
|
1606
1629
|
}
|
|
1607
1630
|
|
|
1608
1631
|
return (
|
|
@@ -1643,6 +1666,8 @@ const ExportedForwardRef: React.AbstractComponent<
|
|
|
1643
1666
|
);
|
|
1644
1667
|
});
|
|
1645
1668
|
|
|
1669
|
+
ExportedForwardRef.displayName = 'TextInput';
|
|
1670
|
+
|
|
1646
1671
|
/**
|
|
1647
1672
|
* Switch to `deprecated-react-native-prop-types` for compatibility with future
|
|
1648
1673
|
* releases. This is deprecated and will be removed in the future.
|
|
@@ -57,7 +57,6 @@ const View: React.AbstractComponent<
|
|
|
57
57
|
nativeID,
|
|
58
58
|
pointerEvents,
|
|
59
59
|
role,
|
|
60
|
-
style,
|
|
61
60
|
tabIndex,
|
|
62
61
|
...otherProps
|
|
63
62
|
}: ViewProps,
|
|
@@ -66,23 +65,42 @@ const View: React.AbstractComponent<
|
|
|
66
65
|
const _accessibilityLabelledBy =
|
|
67
66
|
ariaLabelledBy?.split(/\s*,\s*/g) ?? accessibilityLabelledBy;
|
|
68
67
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
68
|
+
let _accessibilityState;
|
|
69
|
+
if (
|
|
70
|
+
accessibilityState != null ||
|
|
71
|
+
ariaBusy != null ||
|
|
72
|
+
ariaChecked != null ||
|
|
73
|
+
ariaDisabled != null ||
|
|
74
|
+
ariaExpanded != null ||
|
|
75
|
+
ariaSelected != null
|
|
76
|
+
) {
|
|
77
|
+
_accessibilityState = {
|
|
78
|
+
busy: ariaBusy ?? accessibilityState?.busy,
|
|
79
|
+
checked: ariaChecked ?? accessibilityState?.checked,
|
|
80
|
+
disabled: ariaDisabled ?? accessibilityState?.disabled,
|
|
81
|
+
expanded: ariaExpanded ?? accessibilityState?.expanded,
|
|
82
|
+
selected: ariaSelected ?? accessibilityState?.selected,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
let _accessibilityValue;
|
|
86
|
+
if (
|
|
87
|
+
accessibilityValue != null ||
|
|
88
|
+
ariaValueMax != null ||
|
|
89
|
+
ariaValueMin != null ||
|
|
90
|
+
ariaValueNow != null ||
|
|
91
|
+
ariaValueText != null
|
|
92
|
+
) {
|
|
93
|
+
_accessibilityValue = {
|
|
94
|
+
max: ariaValueMax ?? accessibilityValue?.max,
|
|
95
|
+
min: ariaValueMin ?? accessibilityValue?.min,
|
|
96
|
+
now: ariaValueNow ?? accessibilityValue?.now,
|
|
97
|
+
text: ariaValueText ?? accessibilityValue?.text,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
76
100
|
|
|
77
|
-
|
|
78
|
-
max: ariaValueMax ?? accessibilityValue?.max,
|
|
79
|
-
min: ariaValueMin ?? accessibilityValue?.min,
|
|
80
|
-
now: ariaValueNow ?? accessibilityValue?.now,
|
|
81
|
-
text: ariaValueText ?? accessibilityValue?.text,
|
|
82
|
-
};
|
|
101
|
+
let style = flattenStyle(otherProps.style);
|
|
83
102
|
|
|
84
|
-
const
|
|
85
|
-
const newPointerEvents = flattenedStyle?.pointerEvents || pointerEvents;
|
|
103
|
+
const newPointerEvents = style?.pointerEvents || pointerEvents;
|
|
86
104
|
|
|
87
105
|
return (
|
|
88
106
|
<TextAncestor.Provider value={false}>
|
|
@@ -158,13 +158,13 @@ const BaseImage = (props: ImagePropsType, forwardedRef) => {
|
|
|
158
158
|
const {width = props.width, height = props.height, uri} = source;
|
|
159
159
|
style = flattenStyle([{width, height}, styles.base, props.style]);
|
|
160
160
|
sources = [source];
|
|
161
|
-
|
|
162
161
|
if (uri === '') {
|
|
163
162
|
console.warn('source.uri should not be an empty string');
|
|
164
163
|
}
|
|
165
164
|
}
|
|
166
165
|
|
|
167
166
|
const {height, width, ...restProps} = props;
|
|
167
|
+
|
|
168
168
|
const {onLoadStart, onLoad, onLoadEnd, onError} = props;
|
|
169
169
|
const nativeProps = {
|
|
170
170
|
...restProps,
|
|
@@ -14,12 +14,38 @@ import type {LogBoxLogData} from './LogBoxLog';
|
|
|
14
14
|
import parseErrorStack from '../../Core/Devtools/parseErrorStack';
|
|
15
15
|
import UTFSequence from '../../UTFSequence';
|
|
16
16
|
import stringifySafe from '../../Utilities/stringifySafe';
|
|
17
|
+
import ansiRegex from 'ansi-regex';
|
|
18
|
+
|
|
19
|
+
const ANSI_REGEX = ansiRegex().source;
|
|
17
20
|
|
|
18
21
|
const BABEL_TRANSFORM_ERROR_FORMAT =
|
|
19
22
|
/^(?:TransformError )?(?:SyntaxError: |ReferenceError: )(.*): (.*) \((\d+):(\d+)\)\n\n([\s\S]+)/;
|
|
23
|
+
|
|
24
|
+
// https://github.com/babel/babel/blob/33dbb85e9e9fe36915273080ecc42aee62ed0ade/packages/babel-code-frame/src/index.ts#L183-L184
|
|
25
|
+
const BABEL_CODE_FRAME_MARKER_PATTERN = new RegExp(
|
|
26
|
+
[
|
|
27
|
+
// Beginning of a line (per 'm' flag)
|
|
28
|
+
'^',
|
|
29
|
+
// Optional ANSI escapes for colors
|
|
30
|
+
`(?:${ANSI_REGEX})*`,
|
|
31
|
+
// Marker
|
|
32
|
+
'>',
|
|
33
|
+
// Optional ANSI escapes for colors
|
|
34
|
+
`(?:${ANSI_REGEX})*`,
|
|
35
|
+
// Left padding for line number
|
|
36
|
+
' +',
|
|
37
|
+
// Line number
|
|
38
|
+
'[0-9]+',
|
|
39
|
+
// Gutter
|
|
40
|
+
' \\|',
|
|
41
|
+
].join(''),
|
|
42
|
+
'm',
|
|
43
|
+
);
|
|
44
|
+
|
|
20
45
|
const BABEL_CODE_FRAME_ERROR_FORMAT =
|
|
21
46
|
// eslint-disable-next-line no-control-regex
|
|
22
47
|
/^(?:TransformError )?(?:.*):? (?:.*?)(\/.*): ([\s\S]+?)\n([ >]{2}[\d\s]+ \|[\s\S]+|\u{001b}[\s\S]+)/u;
|
|
48
|
+
|
|
23
49
|
const METRO_ERROR_FORMAT =
|
|
24
50
|
/^(?:InternalError Metro has encountered an error:) (.*): (.*) \((\d+):(\d+)\)\n\n([\s\S]+)/u;
|
|
25
51
|
|
|
@@ -241,27 +267,31 @@ export function parseLogBoxException(
|
|
|
241
267
|
};
|
|
242
268
|
}
|
|
243
269
|
|
|
244
|
-
|
|
270
|
+
// Perform a cheap match first before trying to parse the full message, which
|
|
271
|
+
// can get expensive for arbitrary input.
|
|
272
|
+
if (BABEL_CODE_FRAME_MARKER_PATTERN.test(message)) {
|
|
273
|
+
const babelCodeFrameError = message.match(BABEL_CODE_FRAME_ERROR_FORMAT);
|
|
245
274
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
275
|
+
if (babelCodeFrameError) {
|
|
276
|
+
// Codeframe errors are thrown from any use of buildCodeFrameError.
|
|
277
|
+
const [fileName, content, codeFrame] = babelCodeFrameError.slice(1);
|
|
278
|
+
return {
|
|
279
|
+
level: 'syntax',
|
|
280
|
+
stack: [],
|
|
281
|
+
isComponentError: false,
|
|
282
|
+
componentStack: [],
|
|
283
|
+
codeFrame: {
|
|
284
|
+
fileName,
|
|
285
|
+
location: null, // We are not given the location.
|
|
286
|
+
content: codeFrame,
|
|
287
|
+
},
|
|
288
|
+
message: {
|
|
289
|
+
content,
|
|
290
|
+
substitutions: [],
|
|
291
|
+
},
|
|
292
|
+
category: `${fileName}-${1}-${1}`,
|
|
293
|
+
};
|
|
294
|
+
}
|
|
265
295
|
}
|
|
266
296
|
|
|
267
297
|
if (message.match(/^TransformError /)) {
|
package/Libraries/Text/Text.js
CHANGED
|
@@ -9,17 +9,16 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {PressEvent} from '../Types/CoreEventTypes';
|
|
12
|
+
import type {TextProps} from './TextProps';
|
|
12
13
|
|
|
13
14
|
import * as PressabilityDebug from '../Pressability/PressabilityDebug';
|
|
14
15
|
import usePressability from '../Pressability/usePressability';
|
|
15
16
|
import flattenStyle from '../StyleSheet/flattenStyle';
|
|
16
17
|
import processColor from '../StyleSheet/processColor';
|
|
17
|
-
import StyleSheet from '../StyleSheet/StyleSheet';
|
|
18
18
|
import {getAccessibilityRoleFromRole} from '../Utilities/AcessibilityMapping';
|
|
19
19
|
import Platform from '../Utilities/Platform';
|
|
20
20
|
import TextAncestor from './TextAncestor';
|
|
21
21
|
import {NativeText, NativeVirtualText} from './TextNativeComponent';
|
|
22
|
-
import {type TextProps} from './TextProps';
|
|
23
22
|
import * as React from 'react';
|
|
24
23
|
import {useContext, useMemo, useState} from 'react';
|
|
25
24
|
|
|
@@ -36,6 +35,7 @@ const Text: React.AbstractComponent<
|
|
|
36
35
|
accessible,
|
|
37
36
|
accessibilityLabel,
|
|
38
37
|
accessibilityRole,
|
|
38
|
+
accessibilityState,
|
|
39
39
|
allowFontScaling,
|
|
40
40
|
'aria-busy': ariaBusy,
|
|
41
41
|
'aria-checked': ariaChecked,
|
|
@@ -64,13 +64,23 @@ const Text: React.AbstractComponent<
|
|
|
64
64
|
|
|
65
65
|
const [isHighlighted, setHighlighted] = useState(false);
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
67
|
+
let _accessibilityState;
|
|
68
|
+
if (
|
|
69
|
+
accessibilityState != null ||
|
|
70
|
+
ariaBusy != null ||
|
|
71
|
+
ariaChecked != null ||
|
|
72
|
+
ariaDisabled != null ||
|
|
73
|
+
ariaExpanded != null ||
|
|
74
|
+
ariaSelected != null
|
|
75
|
+
) {
|
|
76
|
+
_accessibilityState = {
|
|
77
|
+
busy: ariaBusy ?? accessibilityState?.busy,
|
|
78
|
+
checked: ariaChecked ?? accessibilityState?.checked,
|
|
79
|
+
disabled: ariaDisabled ?? accessibilityState?.disabled,
|
|
80
|
+
expanded: ariaExpanded ?? accessibilityState?.expanded,
|
|
81
|
+
selected: ariaSelected ?? accessibilityState?.selected,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
74
84
|
|
|
75
85
|
const _disabled =
|
|
76
86
|
restProps.disabled != null
|
|
@@ -174,25 +184,11 @@ const Text: React.AbstractComponent<
|
|
|
174
184
|
? null
|
|
175
185
|
: processColor(restProps.selectionColor);
|
|
176
186
|
|
|
177
|
-
let style =
|
|
178
|
-
|
|
179
|
-
let _selectable = restProps.selectable;
|
|
180
|
-
if (style?.userSelect != null) {
|
|
181
|
-
_selectable = userSelectToSelectableMap[style.userSelect];
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
if (style?.verticalAlign != null) {
|
|
185
|
-
style = StyleSheet.compose(style, {
|
|
186
|
-
textAlignVertical:
|
|
187
|
-
verticalAlignToTextAlignVerticalMap[style.verticalAlign],
|
|
188
|
-
});
|
|
189
|
-
}
|
|
187
|
+
let style = restProps.style;
|
|
190
188
|
|
|
191
189
|
if (__DEV__) {
|
|
192
190
|
if (PressabilityDebug.isEnabled() && onPress != null) {
|
|
193
|
-
style =
|
|
194
|
-
color: 'magenta',
|
|
195
|
-
});
|
|
191
|
+
style = [restProps.style, {color: 'magenta'}];
|
|
196
192
|
}
|
|
197
193
|
}
|
|
198
194
|
|
|
@@ -211,10 +207,22 @@ const Text: React.AbstractComponent<
|
|
|
211
207
|
default: accessible,
|
|
212
208
|
});
|
|
213
209
|
|
|
214
|
-
|
|
210
|
+
style = flattenStyle(style);
|
|
211
|
+
|
|
212
|
+
if (typeof style?.fontWeight === 'number') {
|
|
213
|
+
style.fontWeight = style?.fontWeight.toString();
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
let _selectable = restProps.selectable;
|
|
217
|
+
if (style?.userSelect != null) {
|
|
218
|
+
_selectable = userSelectToSelectableMap[style.userSelect];
|
|
219
|
+
delete style.userSelect;
|
|
220
|
+
}
|
|
215
221
|
|
|
216
|
-
if (
|
|
217
|
-
|
|
222
|
+
if (style?.verticalAlign != null) {
|
|
223
|
+
style.textAlignVertical =
|
|
224
|
+
verticalAlignToTextAlignVerticalMap[style.verticalAlign];
|
|
225
|
+
delete style.verticalAlign;
|
|
218
226
|
}
|
|
219
227
|
|
|
220
228
|
const _hasOnPressOrOnLongPress =
|
|
@@ -223,46 +231,46 @@ const Text: React.AbstractComponent<
|
|
|
223
231
|
return hasTextAncestor ? (
|
|
224
232
|
<NativeVirtualText
|
|
225
233
|
{...restProps}
|
|
226
|
-
accessibilityState={_accessibilityState}
|
|
227
234
|
{...eventHandlersForText}
|
|
228
235
|
accessibilityLabel={ariaLabel ?? accessibilityLabel}
|
|
229
236
|
accessibilityRole={
|
|
230
237
|
role ? getAccessibilityRoleFromRole(role) : accessibilityRole
|
|
231
238
|
}
|
|
239
|
+
accessibilityState={_accessibilityState}
|
|
232
240
|
isHighlighted={isHighlighted}
|
|
233
241
|
isPressable={isPressable}
|
|
234
|
-
selectable={_selectable}
|
|
235
242
|
nativeID={id ?? nativeID}
|
|
236
243
|
numberOfLines={numberOfLines}
|
|
237
|
-
selectionColor={selectionColor}
|
|
238
|
-
style={flattenedStyle}
|
|
239
244
|
ref={forwardedRef}
|
|
245
|
+
selectable={_selectable}
|
|
246
|
+
selectionColor={selectionColor}
|
|
247
|
+
style={style}
|
|
240
248
|
/>
|
|
241
249
|
) : (
|
|
242
250
|
<TextAncestor.Provider value={true}>
|
|
243
251
|
<NativeText
|
|
244
252
|
{...restProps}
|
|
245
253
|
{...eventHandlersForText}
|
|
246
|
-
|
|
247
|
-
|
|
254
|
+
accessibilityLabel={ariaLabel ?? accessibilityLabel}
|
|
255
|
+
accessibilityRole={
|
|
256
|
+
role ? getAccessibilityRoleFromRole(role) : accessibilityRole
|
|
257
|
+
}
|
|
258
|
+
accessibilityState={nativeTextAccessibilityState}
|
|
248
259
|
accessible={
|
|
249
260
|
accessible == null && Platform.OS === 'android'
|
|
250
261
|
? _hasOnPressOrOnLongPress
|
|
251
262
|
: _accessible
|
|
252
263
|
}
|
|
253
|
-
accessibilityLabel={ariaLabel ?? accessibilityLabel}
|
|
254
|
-
accessibilityState={nativeTextAccessibilityState}
|
|
255
|
-
accessibilityRole={
|
|
256
|
-
role ? getAccessibilityRoleFromRole(role) : accessibilityRole
|
|
257
|
-
}
|
|
258
264
|
allowFontScaling={allowFontScaling !== false}
|
|
265
|
+
disabled={_disabled}
|
|
259
266
|
ellipsizeMode={ellipsizeMode ?? 'tail'}
|
|
260
267
|
isHighlighted={isHighlighted}
|
|
261
268
|
nativeID={id ?? nativeID}
|
|
262
269
|
numberOfLines={numberOfLines}
|
|
263
|
-
selectionColor={selectionColor}
|
|
264
|
-
style={flattenedStyle}
|
|
265
270
|
ref={forwardedRef}
|
|
271
|
+
selectable={_selectable}
|
|
272
|
+
selectionColor={selectionColor}
|
|
273
|
+
style={style}
|
|
266
274
|
/>
|
|
267
275
|
</TextAncestor.Provider>
|
|
268
276
|
);
|
package/React/Base/RCTVersion.m
CHANGED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @flow strict
|
|
3
|
+
* @format
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
declare module 'ansi-regex' {
|
|
7
|
+
declare export type Options = {
|
|
8
|
+
/**
|
|
9
|
+
* Match only the first ANSI escape.
|
|
10
|
+
*/
|
|
11
|
+
+onlyFirst?: boolean,
|
|
12
|
+
};
|
|
13
|
+
declare export default function ansiRegex(options?: Options): RegExp;
|
|
14
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native",
|
|
3
|
-
"version": "0.71.
|
|
3
|
+
"version": "0.71.12",
|
|
4
4
|
"bin": "./cli.js",
|
|
5
5
|
"description": "A framework for building native apps using React",
|
|
6
6
|
"license": "MIT",
|
|
@@ -118,6 +118,7 @@
|
|
|
118
118
|
"@react-native/polyfills": "2.0.0",
|
|
119
119
|
"abort-controller": "^3.0.0",
|
|
120
120
|
"anser": "^1.4.9",
|
|
121
|
+
"ansi-regex": "^5.0.0",
|
|
121
122
|
"base64-js": "^1.1.2",
|
|
122
123
|
"deprecated-react-native-prop-types": "^3.0.1",
|
|
123
124
|
"event-target-shim": "^5.0.1",
|
|
@@ -274,7 +274,7 @@ class CodegenUtils
|
|
|
274
274
|
:config_key => config_key
|
|
275
275
|
)
|
|
276
276
|
react_codegen_spec = codegen_utils.get_react_codegen_spec(
|
|
277
|
-
File.join(react_native_path, "package.json"),
|
|
277
|
+
File.join(relative_installation_root, react_native_path, "package.json"),
|
|
278
278
|
:folly_version => folly_version,
|
|
279
279
|
:fabric_enabled => fabric_enabled,
|
|
280
280
|
:hermes_enabled => hermes_enabled,
|
|
Binary file
|
|
Binary file
|