Integration 04/20/24 (03a51da72) (#13255)
* RN Integration 04/20 * Change files * add captureStackTrace * add PixelRatio example copy override * add PixelRatioExample.js * snapshots for PixelRatio * return empty StackFrame instead of nullptr * add email to change files
This commit is contained in:
Родитель
809f824367
Коммит
ef55e6fc47
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "prerelease",
|
||||
"comment": "RN Integration 04/20",
|
||||
"packageName": "@office-iss/react-native-win32",
|
||||
"email": "1422161+marlenecota@users.noreply.github.com",
|
||||
"dependentChangeType": "patch"
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "patch",
|
||||
"comment": "RN Integration 04/20",
|
||||
"packageName": "@react-native-windows/automation-channel",
|
||||
"email": "1422161+marlenecota@users.noreply.github.com",
|
||||
"dependentChangeType": "patch"
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "patch",
|
||||
"comment": "RN Integration 04/20",
|
||||
"packageName": "@rnw-scripts/eslint-config",
|
||||
"email": "1422161+marlenecota@users.noreply.github.com",
|
||||
"dependentChangeType": "patch"
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"type": "prerelease",
|
||||
"comment": "RN Integration 04/20",
|
||||
"packageName": "react-native-windows",
|
||||
"email": "1422161+marlenecota@users.noreply.github.com",
|
||||
"dependentChangeType": "patch"
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
"excludePatterns": [
|
||||
"src/js/examples-win32/**"
|
||||
],
|
||||
"baseVersion": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"baseVersion": "0.75.0-nightly-20240420-03a51da72",
|
||||
"overrides": [
|
||||
{
|
||||
"type": "patch",
|
||||
|
@ -42,7 +42,7 @@
|
|||
"type": "derived",
|
||||
"file": "src/js/utils/RNTesterList.win32.js",
|
||||
"baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js",
|
||||
"baseHash": "c40d0a03a89b9017cbb08a0449d5a0c32cadc5f2"
|
||||
"baseHash": "17abcd7c97a27d4d970d27c1449107222ffb6c85"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -19,7 +19,7 @@
|
|||
"peerDependencies": {
|
||||
"@office-iss/react-native-win32": "^0.0.0-canary.246",
|
||||
"react": "18.0.0",
|
||||
"react-native": "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"react-native": "0.75.0-nightly-20240420-03a51da72"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@office-iss/react-native-win32": "^0.0.0-canary.246",
|
||||
|
@ -30,7 +30,7 @@
|
|||
"@types/node": "^18.0.0",
|
||||
"eslint": "^8.19.0",
|
||||
"just-scripts": "^1.3.3",
|
||||
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"react-native": "0.75.0-nightly-20240420-03a51da72",
|
||||
"react-native-platform-override": "^1.9.33",
|
||||
"typescript": "5.0.4"
|
||||
},
|
||||
|
|
|
@ -260,6 +260,18 @@ const APIs: Array<RNTesterModuleInfo> = ([
|
|||
category: 'Basic',
|
||||
module: require('../examples/PanResponder/PanResponderExample'),
|
||||
},
|
||||
{
|
||||
key: 'PixelRatio',
|
||||
category: 'UI',
|
||||
module: require('../examples/PixelRatio/PixelRatioExample'),
|
||||
},
|
||||
/*
|
||||
{
|
||||
key: 'PermissionsExampleAndroid',
|
||||
category: 'Android',
|
||||
module: require('../examples/PermissionsAndroid/PermissionsExample'),
|
||||
},
|
||||
*/
|
||||
{
|
||||
key: 'PlatformColorExample',
|
||||
category: 'UI',
|
||||
|
|
|
@ -153,4 +153,4 @@ untyped-import
|
|||
untyped-type-import
|
||||
|
||||
[version]
|
||||
^0.233.0
|
||||
^0.234.0
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
"**/__snapshots__/**",
|
||||
"src-win/rntypes/**"
|
||||
],
|
||||
"baseVersion": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"baseVersion": "0.75.0-nightly-20240420-03a51da72",
|
||||
"overrides": [
|
||||
{
|
||||
"type": "derived",
|
||||
"file": ".flowconfig",
|
||||
"baseFile": ".flowconfig",
|
||||
"baseHash": "207887dce4d232e4ded4dbeefe4188766b24144a"
|
||||
"baseHash": "4f8e1f39d8ed29d7d0e21455cac407d352a6824d"
|
||||
},
|
||||
{
|
||||
"type": "derived",
|
||||
|
|
|
@ -30,13 +30,13 @@
|
|||
"@react-native-community/cli-platform-android": "14.0.0-alpha.2",
|
||||
"@react-native-community/cli-platform-ios": "14.0.0-alpha.2",
|
||||
"@react-native/assets": "1.0.0",
|
||||
"@react-native/assets-registry": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/codegen": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/community-cli-plugin": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/gradle-plugin": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/js-polyfills": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/normalize-colors": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/virtualized-lists": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/assets-registry": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@react-native/codegen": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@react-native/community-cli-plugin": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@react-native/gradle-plugin": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@react-native/js-polyfills": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@react-native/normalize-colors": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@react-native/virtualized-lists": "0.75.0-nightly-20240420-03a51da72",
|
||||
"abort-controller": "^3.0.0",
|
||||
"anser": "^1.4.9",
|
||||
"ansi-regex": "^5.0.0",
|
||||
|
@ -56,7 +56,7 @@
|
|||
"pretty-format": "^26.5.2",
|
||||
"promise": "^8.3.0",
|
||||
"react-clone-referenced-element": "^1.0.1",
|
||||
"react-devtools-core": "^5.0.2",
|
||||
"react-devtools-core": "5.1.0",
|
||||
"react-refresh": "^0.14.0",
|
||||
"react-shallow-renderer": "^16.15.0",
|
||||
"regenerator-runtime": "^0.13.2",
|
||||
|
@ -70,7 +70,7 @@
|
|||
"devDependencies": {
|
||||
"@babel/core": "^7.20.0",
|
||||
"@babel/eslint-parser": "^7.20.0",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@rnw-scripts/babel-react-native-config": "0.0.0",
|
||||
"@rnw-scripts/eslint-config": "1.2.16",
|
||||
"@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.20",
|
||||
|
@ -86,14 +86,14 @@
|
|||
"just-scripts": "^1.3.3",
|
||||
"prettier": "2.8.8",
|
||||
"react": "18.2.0",
|
||||
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"react-native": "0.75.0-nightly-20240420-03a51da72",
|
||||
"react-native-platform-override": "^1.9.33",
|
||||
"typescript": "5.0.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": "^18.2.6",
|
||||
"react": "18.2.0",
|
||||
"react-native": "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"react-native": "0.75.0-nightly-20240420-03a51da72"
|
||||
},
|
||||
"beachball": {
|
||||
"defaultNpmTag": "canary",
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
"just-scripts": "^1.3.2",
|
||||
"prettier": "2.8.8",
|
||||
"react": "18.2.0",
|
||||
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"react-native": "0.75.0-nightly-20240420-03a51da72",
|
||||
"react-native-windows": "^0.0.0-canary.817",
|
||||
"typescript": "5.0.4"
|
||||
},
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"excludePatterns": [
|
||||
"src/js/examples-win/**"
|
||||
],
|
||||
"baseVersion": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"baseVersion": "0.75.0-nightly-20240420-03a51da72",
|
||||
"overrides": [
|
||||
{
|
||||
"type": "derived",
|
||||
|
@ -78,7 +78,7 @@
|
|||
"type": "derived",
|
||||
"file": "src/js/utils/RNTesterList.windows.js",
|
||||
"baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js",
|
||||
"baseHash": "c40d0a03a89b9017cbb08a0449d5a0c32cadc5f2"
|
||||
"baseHash": "17abcd7c97a27d4d970d27c1449107222ffb6c85"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -18,7 +18,7 @@
|
|||
"peerDependencies": {
|
||||
"@react-native-picker/picker": "2.4.10",
|
||||
"react": "18.0.0",
|
||||
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"react-native": "0.75.0-nightly-20240420-03a51da72",
|
||||
"react-native-windows": "^0.0.0-canary.817",
|
||||
"react-native-xaml": "^0.0.78"
|
||||
},
|
||||
|
@ -31,7 +31,7 @@
|
|||
"@types/node": "^18.0.0",
|
||||
"eslint": "^8.19.0",
|
||||
"just-scripts": "^1.3.3",
|
||||
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"react-native": "0.75.0-nightly-20240420-03a51da72",
|
||||
"react-native-platform-override": "^1.9.33",
|
||||
"react-native-windows": "^0.0.0-canary.817",
|
||||
"typescript": "5.0.4"
|
||||
|
|
|
@ -346,6 +346,18 @@ const APIs: Array<RNTesterModuleInfo> = ([
|
|||
category: 'Basic',
|
||||
module: require('../examples/PanResponder/PanResponderExample'),
|
||||
},
|
||||
{
|
||||
key: 'PixelRatio',
|
||||
category: 'UI',
|
||||
module: require('../examples/PixelRatio/PixelRatioExample'),
|
||||
},
|
||||
/*
|
||||
{
|
||||
key: 'PermissionsExampleAndroid',
|
||||
category: 'Android',
|
||||
module: require('../examples/PermissionsAndroid/PermissionsExample'),
|
||||
},
|
||||
*/
|
||||
{
|
||||
key: 'PlatformColorExample',
|
||||
category: 'UI',
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
"baseVersion": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"baseVersion": "0.75.0-nightly-20240420-03a51da72",
|
||||
"overrides": [
|
||||
{
|
||||
"type": "patch",
|
||||
"file": "package.json",
|
||||
"baseFile": "package.json",
|
||||
"baseHash": "81f7183581b4f3efc83807acf9d13acf11cbbc6e"
|
||||
"baseHash": "d3015ceabe0cf60dff4ad9eb59b102608b40c8ca"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -2,14 +2,7 @@
|
|||
"name": "@react-native/monorepo",
|
||||
"private": true,
|
||||
"version": "1000.0.0",
|
||||
"description": "A framework for building native apps using React",
|
||||
"license": "MIT",
|
||||
"repository": "github:facebook/react-native",
|
||||
"types": "types",
|
||||
"jest-junit": {
|
||||
"outputDirectory": "reports/junit",
|
||||
"outputName": "js-test-results.xml"
|
||||
},
|
||||
"scripts": {
|
||||
"android": "cd packages/rn-tester && npm run android",
|
||||
"build-android": "./gradlew :packages:react-native:ReactAndroid:build",
|
||||
|
@ -42,9 +35,6 @@
|
|||
"packages/*",
|
||||
"tools/*"
|
||||
],
|
||||
"peerDependencies": {
|
||||
"react": "18.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.20.0",
|
||||
"@babel/eslint-parser": "^7.20.0",
|
||||
|
@ -55,8 +45,8 @@
|
|||
"@definitelytyped/dtslint": "^0.0.127",
|
||||
"@jest/create-cache-key-function": "^29.6.3",
|
||||
"@pkgjs/parseargs": "^0.11.0",
|
||||
"@react-native/metro-babel-transformer": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/metro-babel-transformer": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@tsconfig/node18": "1.0.1",
|
||||
"@types/react": "^18.2.6",
|
||||
"@typescript-eslint/parser": "^7.1.1",
|
||||
|
@ -83,7 +73,7 @@
|
|||
"eslint-plugin-redundant-undefined": "^0.4.0",
|
||||
"eslint-plugin-relay": "^1.8.3",
|
||||
"flow-api-translator": "0.20.1",
|
||||
"flow-bin": "^0.233.0",
|
||||
"flow-bin": "^0.234.0",
|
||||
"glob": "^7.1.1",
|
||||
"hermes-eslint": "0.20.0",
|
||||
"hermes-transform": "0.20.0",
|
||||
|
|
|
@ -49,6 +49,7 @@ export default function RNTOption(props: Props): React.Node {
|
|||
testID={props.testID}>
|
||||
<View
|
||||
style={[
|
||||
{borderColor: theme.BorderColor},
|
||||
styles.container,
|
||||
props.selected === true ? styles.selected : null,
|
||||
pressed && props.selected !== true ? styles.pressed : null,
|
||||
|
@ -60,7 +61,7 @@ export default function RNTOption(props: Props): React.Node {
|
|||
: null,
|
||||
props.style,
|
||||
]}>
|
||||
<Text style={styles.label}>{props.label}</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>{props.label}</Text>
|
||||
</View>
|
||||
</Pressable>
|
||||
);
|
||||
|
@ -70,16 +71,12 @@ const styles = StyleSheet.create({
|
|||
pressed: {
|
||||
backgroundColor: 'rgba(100,215,255,.3)',
|
||||
},
|
||||
label: {
|
||||
color: 'black',
|
||||
},
|
||||
selected: {
|
||||
backgroundColor: 'rgba(100,215,255,.3)',
|
||||
borderColor: 'rgba(100,215,255,.3)',
|
||||
},
|
||||
disabled: {borderWidth: 0},
|
||||
container: {
|
||||
borderColor: 'rgba(0,0,0, 0.1)',
|
||||
borderWidth: 1,
|
||||
borderRadius: 16,
|
||||
padding: 6,
|
||||
|
|
|
@ -39,8 +39,12 @@ function RNTTestDetails({
|
|||
)}
|
||||
{expect == null ? null : (
|
||||
<View style={styles.section}>
|
||||
<Text style={styles.heading}>Expectation</Text>
|
||||
<Text style={styles.paragraph}>{expect}</Text>
|
||||
<Text style={[styles.heading, {color: theme.LabelColor}]}>
|
||||
Expectation
|
||||
</Text>
|
||||
<Text style={[styles.paragraph, {color: theme.LabelColor}]}>
|
||||
{expect}
|
||||
</Text>
|
||||
</View>
|
||||
)}
|
||||
</>
|
||||
|
|
|
@ -13,6 +13,8 @@
|
|||
import type {PressEvent} from 'react-native/Libraries/Types/CoreEventTypes';
|
||||
import type {EventSubscription} from 'react-native/Libraries/vendor/emitter/EventEmitter';
|
||||
|
||||
import {RNTesterThemeContext} from '../../components/RNTesterTheme';
|
||||
|
||||
const RNTesterBlock = require('../../components/RNTesterBlock');
|
||||
const checkImageSource = require('./check.png');
|
||||
const mixedCheckboxImageSource = require('./mixed.png');
|
||||
|
@ -104,16 +106,20 @@ const styles = StyleSheet.create({
|
|||
class AccessibilityExample extends React.Component<{}> {
|
||||
render(): React.Node {
|
||||
return (
|
||||
<RNTesterThemeContext.Consumer>
|
||||
{theme => (
|
||||
<View style={styles.sectionContainer}>
|
||||
<RNTesterBlock title="TextView without label">
|
||||
<Text>
|
||||
Text's accessibilityLabel is the raw text itself unless it is set
|
||||
explicitly.
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Text's accessibilityLabel is the raw text itself unless it is
|
||||
set explicitly.
|
||||
</Text>
|
||||
</RNTesterBlock>
|
||||
|
||||
<RNTesterBlock title="TextView with label">
|
||||
<Text accessibilityLabel="I have label, so I read it instead of embedded text.">
|
||||
<Text
|
||||
style={{color: theme.SecondaryLabelColor}}
|
||||
accessibilityLabel="I have label, so I read it instead of embedded text.">
|
||||
This text component's accessibilityLabel is set explicitly.
|
||||
</Text>
|
||||
</RNTesterBlock>
|
||||
|
@ -143,7 +149,7 @@ class AccessibilityExample extends React.Component<{}> {
|
|||
|
||||
<RNTesterBlock title="View with hidden children from accessibility tree.">
|
||||
<View aria-hidden>
|
||||
<Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
This view's children are hidden from the accessibility tree
|
||||
</Text>
|
||||
</View>
|
||||
|
@ -169,11 +175,17 @@ class AccessibilityExample extends React.Component<{}> {
|
|||
</RNTesterBlock>
|
||||
|
||||
<RNTesterBlock title="Text with accessibilityRole = header">
|
||||
<Text accessibilityRole="header">This is a title.</Text>
|
||||
<Text
|
||||
accessibilityRole="header"
|
||||
style={{color: theme.SecondaryLabelColor}}>
|
||||
This is a title.
|
||||
</Text>
|
||||
</RNTesterBlock>
|
||||
|
||||
<RNTesterBlock title="Text with role = heading">
|
||||
<Text role="heading">This is a title.</Text>
|
||||
<Text role="heading" style={{color: theme.SecondaryLabelColor}}>
|
||||
This is a title.
|
||||
</Text>
|
||||
</RNTesterBlock>
|
||||
|
||||
<RNTesterBlock title="Touchable with accessibilityRole = link">
|
||||
|
@ -181,7 +193,9 @@ class AccessibilityExample extends React.Component<{}> {
|
|||
onPress={() => Alert.alert('Link has been clicked!')}
|
||||
accessibilityRole="link">
|
||||
<View>
|
||||
<Text>Click me</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Click me
|
||||
</Text>
|
||||
</View>
|
||||
</TouchableOpacity>
|
||||
</RNTesterBlock>
|
||||
|
@ -190,7 +204,7 @@ class AccessibilityExample extends React.Component<{}> {
|
|||
<TouchableOpacity
|
||||
onPress={() => Alert.alert('Button has been pressed!')}
|
||||
accessibilityRole="button">
|
||||
<Text>Click me</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>Click me</Text>
|
||||
</TouchableOpacity>
|
||||
</RNTesterBlock>
|
||||
|
||||
|
@ -201,7 +215,7 @@ class AccessibilityExample extends React.Component<{}> {
|
|||
accessibilityState={{disabled: true}}
|
||||
disabled={true}>
|
||||
<View>
|
||||
<Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
I am disabled. Clicking me will not trigger any action.
|
||||
</Text>
|
||||
</View>
|
||||
|
@ -211,10 +225,12 @@ class AccessibilityExample extends React.Component<{}> {
|
|||
<RNTesterBlock title="Disabled TouchableOpacity">
|
||||
<TouchableOpacity
|
||||
onPress={() => Alert.alert('Disabled Button has been pressed!')}
|
||||
accessibilityLabel={'You are pressing Disabled TouchableOpacity'}
|
||||
accessibilityLabel={
|
||||
'You are pressing Disabled TouchableOpacity'
|
||||
}
|
||||
accessibilityState={{disabled: true}}>
|
||||
<View>
|
||||
<Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
I am disabled. Clicking me will not trigger any action.
|
||||
</Text>
|
||||
</View>
|
||||
|
@ -224,7 +240,9 @@ class AccessibilityExample extends React.Component<{}> {
|
|||
<View
|
||||
accessible={true}
|
||||
accessibilityState={{selected: true, disabled: true}}>
|
||||
<Text>This view is selected and disabled.</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
This view is selected and disabled.
|
||||
</Text>
|
||||
</View>
|
||||
</RNTesterBlock>
|
||||
|
||||
|
@ -235,7 +253,9 @@ class AccessibilityExample extends React.Component<{}> {
|
|||
accessibilityRole="button"
|
||||
accessibilityState={{selected: true}}
|
||||
accessibilityHint="Accessibility hint.">
|
||||
<Text>Accessible view with label, hint, role, and state</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Accessible view with label, hint, role, and state
|
||||
</Text>
|
||||
</View>
|
||||
</RNTesterBlock>
|
||||
|
||||
|
@ -246,19 +266,29 @@ class AccessibilityExample extends React.Component<{}> {
|
|||
accessibilityRole="button"
|
||||
aria-selected={true}
|
||||
accessibilityHint="Accessibility hint.">
|
||||
<Text>Accessible view with label, hint, role, and state</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Accessible view with label, hint, role, and state
|
||||
</Text>
|
||||
</View>
|
||||
</RNTesterBlock>
|
||||
|
||||
<RNTesterBlock title="TextInput with accessibilityLabelledBy attribute">
|
||||
<View>
|
||||
<Text nativeID="formLabel1">Mail Address</Text>
|
||||
<Text
|
||||
nativeID="formLabel1"
|
||||
style={{color: theme.SecondaryLabelColor}}>
|
||||
Mail Address
|
||||
</Text>
|
||||
<TextInput
|
||||
accessibilityLabel="input test1"
|
||||
accessibilityLabelledBy="formLabel1"
|
||||
style={styles.default}
|
||||
/>
|
||||
<Text nativeID="formLabel2">First Name</Text>
|
||||
<Text
|
||||
nativeID="formLabel2"
|
||||
style={{color: theme.SecondaryLabelColor}}>
|
||||
First Name
|
||||
</Text>
|
||||
<TextInput
|
||||
accessibilityLabel="input test2"
|
||||
accessibilityLabelledBy={['formLabel2', 'formLabel3']}
|
||||
|
@ -269,7 +299,11 @@ class AccessibilityExample extends React.Component<{}> {
|
|||
</RNTesterBlock>
|
||||
<RNTesterBlock title="Switch with accessibilityLabelledBy attribute">
|
||||
<View>
|
||||
<Text nativeID="formLabel4">Enable Notifications</Text>
|
||||
<Text
|
||||
nativeID="formLabel4"
|
||||
style={{color: theme.SecondaryLabelColor}}>
|
||||
Enable Notifications
|
||||
</Text>
|
||||
<Switch
|
||||
value={true}
|
||||
accessibilityLabel="switch test1"
|
||||
|
@ -278,6 +312,8 @@ class AccessibilityExample extends React.Component<{}> {
|
|||
</View>
|
||||
</RNTesterBlock>
|
||||
</View>
|
||||
)}
|
||||
</RNTesterThemeContext.Consumer>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -285,14 +321,25 @@ class AccessibilityExample extends React.Component<{}> {
|
|||
class AutomaticContentGrouping extends React.Component<{}> {
|
||||
render(): React.Node {
|
||||
return (
|
||||
<RNTesterThemeContext.Consumer>
|
||||
{theme => (
|
||||
<View style={styles.sectionContainer}>
|
||||
<RNTesterBlock title="The parent and the children have a different role">
|
||||
<TouchableNativeFeedback accessible={true} accessibilityRole="button">
|
||||
<TouchableNativeFeedback
|
||||
accessible={true}
|
||||
accessibilityRole="button">
|
||||
<View accessible={false}>
|
||||
<Text accessibilityRole="image" accessible={false}>
|
||||
<Text
|
||||
accessibilityRole="image"
|
||||
accessible={false}
|
||||
style={{color: theme.SecondaryLabelColor}}>
|
||||
Text number 1 with a role
|
||||
</Text>
|
||||
<Text accessible={false}>Text number 2</Text>
|
||||
<Text
|
||||
accessible={false}
|
||||
style={{color: theme.SecondaryLabelColor}}>
|
||||
Text number 2
|
||||
</Text>
|
||||
</View>
|
||||
</TouchableNativeFeedback>
|
||||
</RNTesterBlock>
|
||||
|
@ -320,8 +367,14 @@ class AutomaticContentGrouping extends React.Component<{}> {
|
|||
}}
|
||||
accessibilityRole="button">
|
||||
<View>
|
||||
<Text accessible={false}>Text number 1</Text>
|
||||
<Text accessible={false}>
|
||||
<Text
|
||||
accessible={false}
|
||||
style={{color: theme.SecondaryLabelColor}}>
|
||||
Text number 1
|
||||
</Text>
|
||||
<Text
|
||||
accessible={false}
|
||||
style={{color: theme.SecondaryLabelColor}}>
|
||||
Text number 2<Text accessible={false}>Text number 3</Text>
|
||||
</Text>
|
||||
</View>
|
||||
|
@ -335,7 +388,8 @@ class AutomaticContentGrouping extends React.Component<{}> {
|
|||
accessibilityState={{checked: true}}>
|
||||
<Text
|
||||
accessible={false}
|
||||
accessibilityState={{checked: true, disabled: false}}>
|
||||
accessibilityState={{checked: true, disabled: false}}
|
||||
style={{color: theme.SecondaryLabelColor}}>
|
||||
Text number 1
|
||||
</Text>
|
||||
<Text
|
||||
|
@ -351,7 +405,11 @@ class AutomaticContentGrouping extends React.Component<{}> {
|
|||
<RNTesterBlock title="One of the children has accessibilityLabel, role, state, and accessibilityValue.">
|
||||
<View accessible={true} accessibilityRole="button">
|
||||
<View>
|
||||
<Text accessible={false}>Text number 1</Text>
|
||||
<Text
|
||||
accessible={false}
|
||||
style={{color: theme.SecondaryLabelColor}}>
|
||||
Text number 1
|
||||
</Text>
|
||||
<TouchableNativeFeedback
|
||||
focusable={true}
|
||||
onPress={() => console.warn('onPress child')}
|
||||
|
@ -359,15 +417,23 @@ class AutomaticContentGrouping extends React.Component<{}> {
|
|||
accessibilityLabel="this is my label"
|
||||
accessibilityRole="image"
|
||||
accessibilityState={{disabled: true}}
|
||||
accessibilityValue={{text: 'this is the accessibility value'}}>
|
||||
<Text accessible={false}>Text number 3</Text>
|
||||
accessibilityValue={{
|
||||
text: 'this is the accessibility value',
|
||||
}}>
|
||||
<Text
|
||||
accessible={false}
|
||||
style={{color: theme.SecondaryLabelColor}}>
|
||||
Text number 3
|
||||
</Text>
|
||||
</TouchableNativeFeedback>
|
||||
</View>
|
||||
</View>
|
||||
</RNTesterBlock>
|
||||
|
||||
<RNTesterBlock title="The parent has a TextInput child component.">
|
||||
<TouchableNativeFeedback accessible={true} accessibilityRole="button">
|
||||
<TouchableNativeFeedback
|
||||
accessible={true}
|
||||
accessibilityRole="button">
|
||||
<TextInput
|
||||
value="this is the value"
|
||||
accessible={false}
|
||||
|
@ -378,8 +444,12 @@ class AutomaticContentGrouping extends React.Component<{}> {
|
|||
</RNTesterBlock>
|
||||
|
||||
<RNTesterBlock title="The parents include three levels of nested Components.">
|
||||
<TouchableNativeFeedback accessible={true} accessibilityRole="button">
|
||||
<Text accessible={false}>
|
||||
<TouchableNativeFeedback
|
||||
accessible={true}
|
||||
accessibilityRole="button">
|
||||
<Text
|
||||
accessible={false}
|
||||
style={{color: theme.SecondaryLabelColor}}>
|
||||
Text number 2
|
||||
<Text accessible={false}>
|
||||
Text number 3<Text accessible={false}>Text number 4</Text>
|
||||
|
@ -413,6 +483,8 @@ class AutomaticContentGrouping extends React.Component<{}> {
|
|||
</View>
|
||||
</RNTesterBlock>
|
||||
</View>
|
||||
)}
|
||||
</RNTesterThemeContext.Consumer>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -444,14 +516,20 @@ class CheckboxExample extends React.Component<
|
|||
|
||||
render(): React.Node {
|
||||
return (
|
||||
<RNTesterThemeContext.Consumer>
|
||||
{theme => (
|
||||
<TouchableOpacity
|
||||
onPress={this._onCheckboxPress}
|
||||
accessibilityLabel="element 2"
|
||||
accessibilityRole="checkbox"
|
||||
accessibilityState={{checked: this.state.checkboxState}}
|
||||
accessibilityHint="click me to change state">
|
||||
<Text>Checkbox example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Checkbox example
|
||||
</Text>
|
||||
</TouchableOpacity>
|
||||
)}
|
||||
</RNTesterThemeContext.Consumer>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -476,14 +554,20 @@ class SwitchExample extends React.Component<
|
|||
|
||||
render(): React.Node {
|
||||
return (
|
||||
<RNTesterThemeContext.Consumer>
|
||||
{theme => (
|
||||
<TouchableOpacity
|
||||
onPress={this._onSwitchToggle}
|
||||
accessibilityLabel="element 12"
|
||||
accessibilityRole="switch"
|
||||
accessibilityState={{checked: this.state.switchState}}
|
||||
accessible={true}>
|
||||
<Text>Switch example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Switch example
|
||||
</Text>
|
||||
</TouchableOpacity>
|
||||
)}
|
||||
</RNTesterThemeContext.Consumer>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -589,13 +673,19 @@ class ExpandableElementExample extends React.Component<
|
|||
|
||||
render(): React.Node {
|
||||
return (
|
||||
<RNTesterThemeContext.Consumer>
|
||||
{theme => (
|
||||
<TouchableOpacity
|
||||
onPress={this._onElementPress}
|
||||
accessibilityLabel="element 18"
|
||||
accessibilityState={{expanded: this.state.expandState}}
|
||||
accessibilityHint="click me to change state">
|
||||
<Text>Expandable element example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Expandable element example
|
||||
</Text>
|
||||
</TouchableOpacity>
|
||||
)}
|
||||
</RNTesterThemeContext.Consumer>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -666,6 +756,8 @@ class NestedCheckBox extends React.Component<
|
|||
|
||||
render(): React.Node {
|
||||
return (
|
||||
<RNTesterThemeContext.Consumer>
|
||||
{theme => (
|
||||
<View>
|
||||
<TouchableOpacity
|
||||
style={{flex: 1, flexDirection: 'row'}}
|
||||
|
@ -684,7 +776,7 @@ class NestedCheckBox extends React.Component<
|
|||
: uncheckImageSource
|
||||
}
|
||||
/>
|
||||
<Text>Meat</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>Meat</Text>
|
||||
</TouchableOpacity>
|
||||
<TouchableOpacity
|
||||
style={{flex: 1, flexDirection: 'row'}}
|
||||
|
@ -698,7 +790,7 @@ class NestedCheckBox extends React.Component<
|
|||
this.state.checkbox2 ? checkImageSource : uncheckImageSource
|
||||
}
|
||||
/>
|
||||
<Text>Beef</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>Beef</Text>
|
||||
</TouchableOpacity>
|
||||
<TouchableOpacity
|
||||
style={{flex: 1, flexDirection: 'row'}}
|
||||
|
@ -712,9 +804,11 @@ class NestedCheckBox extends React.Component<
|
|||
this.state.checkbox3 ? checkImageSource : uncheckImageSource
|
||||
}
|
||||
/>
|
||||
<Text>Bacon</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>Bacon</Text>
|
||||
</TouchableOpacity>
|
||||
</View>
|
||||
)}
|
||||
</RNTesterThemeContext.Consumer>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -732,15 +826,23 @@ class AccessibilityRoleAndStateExample extends React.Component<{}> {
|
|||
];
|
||||
|
||||
return (
|
||||
<RNTesterThemeContext.Consumer>
|
||||
{theme => (
|
||||
<View style={styles.sectionContainer}>
|
||||
<RNTesterBlock title="ScrollView with grid role">
|
||||
<ScrollView accessibilityRole="grid" style={styles.scrollView}>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
{content}
|
||||
</Text>
|
||||
</ScrollView>
|
||||
</RNTesterBlock>
|
||||
<RNTesterBlock title="ScrollView with scrollview role">
|
||||
<ScrollView accessibilityRole="scrollview" style={styles.scrollView}>
|
||||
<ScrollView
|
||||
accessibilityRole="scrollview"
|
||||
style={styles.scrollView}>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
{content}
|
||||
</Text>
|
||||
</ScrollView>
|
||||
</RNTesterBlock>
|
||||
<RNTesterBlock title="HorizontalScrollView with horizontalscrollview role">
|
||||
|
@ -748,7 +850,9 @@ class AccessibilityRoleAndStateExample extends React.Component<{}> {
|
|||
horizontal
|
||||
accessibilityRole="horizontalscrollview"
|
||||
style={styles.scrollView}>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
{content}
|
||||
</Text>
|
||||
</ScrollView>
|
||||
</RNTesterBlock>
|
||||
<RNTesterBlock title="accessibilityRole with View Component">
|
||||
|
@ -757,131 +861,175 @@ class AccessibilityRoleAndStateExample extends React.Component<{}> {
|
|||
accessibilityLabel="element 1"
|
||||
accessibilityRole="alert"
|
||||
accessible={true}>
|
||||
<Text>Alert example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Alert example
|
||||
</Text>
|
||||
</View>
|
||||
<CheckboxExample />
|
||||
<View
|
||||
accessibilityLabel="element 3"
|
||||
accessibilityRole="combobox"
|
||||
accessible={true}>
|
||||
<Text>Combobox example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Combobox example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 4"
|
||||
accessibilityRole="menu"
|
||||
accessible={true}>
|
||||
<Text>Menu example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Menu example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 5"
|
||||
accessibilityRole="menubar"
|
||||
accessible={true}>
|
||||
<Text>Menu bar example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Menu bar example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 6"
|
||||
accessibilityRole="menuitem"
|
||||
accessible={true}>
|
||||
<Text>Menu item example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Menu item example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 7"
|
||||
accessibilityRole="progressbar"
|
||||
accessible={true}>
|
||||
<Text>Progress bar example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Progress bar example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 8"
|
||||
accessibilityRole="radio"
|
||||
accessible={true}>
|
||||
<Text>Radio button example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Radio button example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 9"
|
||||
accessibilityRole="radiogroup"
|
||||
accessible={true}>
|
||||
<Text>Radio group example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Radio group example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 10"
|
||||
accessibilityRole="scrollbar"
|
||||
accessible={true}>
|
||||
<Text>Scrollbar example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Scrollbar example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 11"
|
||||
accessibilityRole="spinbutton"
|
||||
accessible={true}>
|
||||
<Text>Spin button example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Spin button example
|
||||
</Text>
|
||||
</View>
|
||||
<SwitchExample />
|
||||
<View
|
||||
accessibilityLabel="element 13"
|
||||
accessibilityRole="tab"
|
||||
accessible={true}>
|
||||
<Text>Tab example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Tab example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 14"
|
||||
accessibilityRole="tablist"
|
||||
accessible={true}>
|
||||
<Text>Tab list example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Tab list example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 15"
|
||||
accessibilityRole="timer"
|
||||
accessible={true}>
|
||||
<Text>Timer example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Timer example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 16"
|
||||
accessibilityRole="toolbar"
|
||||
accessible={true}>
|
||||
<Text>Toolbar example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Toolbar example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 17"
|
||||
accessibilityState={{busy: true}}
|
||||
accessible={true}>
|
||||
<Text>State busy example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
State busy example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 18"
|
||||
accessibilityRole="dropdownlist"
|
||||
accessible={true}>
|
||||
<Text>Drop Down List example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Drop Down List example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 19"
|
||||
accessibilityRole="pager"
|
||||
accessible={true}>
|
||||
<Text>Pager example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Pager example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 20"
|
||||
accessibilityRole="togglebutton"
|
||||
accessible={true}>
|
||||
<Text>Toggle Button example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Toggle Button example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 21"
|
||||
accessibilityRole="viewgroup"
|
||||
accessible={true}>
|
||||
<Text>Viewgroup example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Viewgroup example
|
||||
</Text>
|
||||
</View>
|
||||
<View
|
||||
accessibilityLabel="element 22"
|
||||
accessibilityRole="webview"
|
||||
accessible={true}>
|
||||
<Text>Webview example</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Webview example
|
||||
</Text>
|
||||
</View>
|
||||
<ExpandableElementExample />
|
||||
<SelectionExample />
|
||||
<Text>Nested checkbox with delayed state change</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Nested checkbox with delayed state change
|
||||
</Text>
|
||||
<NestedCheckBox />
|
||||
</View>
|
||||
</RNTesterBlock>
|
||||
</View>
|
||||
)}
|
||||
</RNTesterThemeContext.Consumer>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -889,6 +1037,8 @@ class AccessibilityRoleAndStateExample extends React.Component<{}> {
|
|||
class AccessibilityActionsExample extends React.Component<{}> {
|
||||
render(): React.Node {
|
||||
return (
|
||||
<RNTesterThemeContext.Consumer>
|
||||
{theme => (
|
||||
<View style={styles.sectionContainer}>
|
||||
<RNTesterBlock title="Non-touchable with activate action">
|
||||
<View
|
||||
|
@ -901,7 +1051,7 @@ class AccessibilityActionsExample extends React.Component<{}> {
|
|||
break;
|
||||
}
|
||||
}}>
|
||||
<Text>Click me</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>Click me</Text>
|
||||
</View>
|
||||
</RNTesterBlock>
|
||||
|
||||
|
@ -926,7 +1076,9 @@ class AccessibilityActionsExample extends React.Component<{}> {
|
|||
break;
|
||||
}
|
||||
}}>
|
||||
<Text>This view supports many actions.</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
This view supports many actions.
|
||||
</Text>
|
||||
</View>
|
||||
</RNTesterBlock>
|
||||
|
||||
|
@ -934,7 +1086,10 @@ class AccessibilityActionsExample extends React.Component<{}> {
|
|||
<View
|
||||
accessible={true}
|
||||
accessibilityRole="adjustable"
|
||||
accessibilityActions={[{name: 'increment'}, {name: 'decrement'}]}
|
||||
accessibilityActions={[
|
||||
{name: 'increment'},
|
||||
{name: 'decrement'},
|
||||
]}
|
||||
onAccessibilityAction={event => {
|
||||
switch (event.nativeEvent.actionName) {
|
||||
case 'increment':
|
||||
|
@ -945,7 +1100,7 @@ class AccessibilityActionsExample extends React.Component<{}> {
|
|||
break;
|
||||
}
|
||||
}}>
|
||||
<Text>Slider</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>Slider</Text>
|
||||
</View>
|
||||
</RNTesterBlock>
|
||||
|
||||
|
@ -973,7 +1128,9 @@ class AccessibilityActionsExample extends React.Component<{}> {
|
|||
onPress={() => Alert.alert('Button has been pressed!')}
|
||||
accessibilityRole="button">
|
||||
<View>
|
||||
<Text>Click me</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Click me
|
||||
</Text>
|
||||
</View>
|
||||
</TouchableWithoutFeedback>
|
||||
</RNTesterBlock>
|
||||
|
@ -1002,6 +1159,7 @@ class AccessibilityActionsExample extends React.Component<{}> {
|
|||
|
||||
<RNTesterBlock title="Text with custom accessibility actions">
|
||||
<Text
|
||||
style={{color: theme.SecondaryLabelColor}}
|
||||
accessible={true}
|
||||
accessibilityActions={[
|
||||
{name: 'activate', label: 'activate label'},
|
||||
|
@ -1021,6 +1179,8 @@ class AccessibilityActionsExample extends React.Component<{}> {
|
|||
</Text>
|
||||
</RNTesterBlock>
|
||||
</View>
|
||||
)}
|
||||
</RNTesterThemeContext.Consumer>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1057,6 +1217,8 @@ class FakeSliderExample extends React.Component<{}, FakeSliderExampleState> {
|
|||
|
||||
render(): React.Node {
|
||||
return (
|
||||
<RNTesterThemeContext.Consumer>
|
||||
{theme => (
|
||||
<View>
|
||||
<View
|
||||
accessible={true}
|
||||
|
@ -1078,7 +1240,9 @@ class FakeSliderExample extends React.Component<{}, FakeSliderExampleState> {
|
|||
now: this.state.current,
|
||||
max: 100,
|
||||
}}>
|
||||
<Text>Fake Slider</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Fake Slider
|
||||
</Text>
|
||||
</View>
|
||||
<TouchableWithoutFeedback
|
||||
accessible={true}
|
||||
|
@ -1105,10 +1269,14 @@ class FakeSliderExample extends React.Component<{}, FakeSliderExampleState> {
|
|||
}}
|
||||
accessibilityValue={{text: this.state.textualValue}}>
|
||||
<View>
|
||||
<Text>Equalizer</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Equalizer
|
||||
</Text>
|
||||
</View>
|
||||
</TouchableWithoutFeedback>
|
||||
</View>
|
||||
)}
|
||||
</RNTesterThemeContext.Consumer>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1144,6 +1312,8 @@ class FakeSliderExampleForAccessibilityValue extends React.Component<
|
|||
|
||||
render(): React.Node {
|
||||
return (
|
||||
<RNTesterThemeContext.Consumer>
|
||||
{theme => (
|
||||
<View>
|
||||
<View
|
||||
accessible={true}
|
||||
|
@ -1164,7 +1334,9 @@ class FakeSliderExampleForAccessibilityValue extends React.Component<
|
|||
aria-valuemin={0}
|
||||
aria-valuetext={'slider aria value text'}
|
||||
aria-valuenow={this.state.current}>
|
||||
<Text>Fake Slider</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Fake Slider
|
||||
</Text>
|
||||
</View>
|
||||
<TouchableWithoutFeedback
|
||||
accessible={true}
|
||||
|
@ -1191,10 +1363,14 @@ class FakeSliderExampleForAccessibilityValue extends React.Component<
|
|||
}}
|
||||
accessibilityValue={{text: this.state.textualValue}}>
|
||||
<View>
|
||||
<Text>Equalizer</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Equalizer
|
||||
</Text>
|
||||
</View>
|
||||
</TouchableWithoutFeedback>
|
||||
</View>
|
||||
)}
|
||||
</RNTesterThemeContext.Consumer>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1272,6 +1448,7 @@ class AnnounceForAccessibility extends React.Component<{}> {
|
|||
|
||||
function SetAccessibilityFocusExample(props: {}): React.Node {
|
||||
const myRef = React.useRef<?React.ElementRef<typeof Text>>(null);
|
||||
const theme = React.useContext(RNTesterThemeContext);
|
||||
|
||||
const onPress = () => {
|
||||
if (myRef && myRef.current) {
|
||||
|
@ -1281,7 +1458,7 @@ function SetAccessibilityFocusExample(props: {}): React.Node {
|
|||
|
||||
return (
|
||||
<View>
|
||||
<Text ref={myRef}>
|
||||
<Text ref={myRef} style={{color: theme.SecondaryLabelColor}}>
|
||||
SetAccessibilityFocus on native element. This should get focus after
|
||||
clicking the button!
|
||||
</Text>
|
||||
|
@ -1447,8 +1624,10 @@ class EnabledExample extends React.Component<
|
|||
|
||||
render(): React.Node {
|
||||
return (
|
||||
<RNTesterThemeContext.Consumer>
|
||||
{theme => (
|
||||
<View>
|
||||
<Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
The {this.props.test} is{' '}
|
||||
{this.state.isEnabled ? 'enabled' : 'disabled'}
|
||||
</Text>
|
||||
|
@ -1457,6 +1636,8 @@ class EnabledExample extends React.Component<
|
|||
onPress={this._handleToggled}
|
||||
/>
|
||||
</View>
|
||||
)}
|
||||
</RNTesterThemeContext.Consumer>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1520,9 +1701,11 @@ function DisplayOptionStatusExample({
|
|||
optionName: string,
|
||||
}) {
|
||||
const [statusEnabled, setStatusEnabled] = React.useState(false);
|
||||
const theme = React.useContext(RNTesterThemeContext);
|
||||
React.useEffect(() => {
|
||||
const listener = AccessibilityInfo.addEventListener(
|
||||
// $FlowFixMe[prop-missing]
|
||||
// $FlowFixMe[invalid-computed-prop]
|
||||
notification,
|
||||
setStatusEnabled,
|
||||
);
|
||||
|
@ -1536,7 +1719,7 @@ function DisplayOptionStatusExample({
|
|||
}, [optionChecker, notification]);
|
||||
return (
|
||||
<View>
|
||||
<Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
{optionName}
|
||||
{' is '}
|
||||
{statusEnabled ? 'enabled' : 'disabled'}.
|
||||
|
@ -1549,10 +1732,11 @@ function AccessibilityExpandedExample(): React.Node {
|
|||
const [expand, setExpanded] = React.useState(false);
|
||||
const expandAction = {name: 'expand'};
|
||||
const collapseAction = {name: 'collapse'};
|
||||
const theme = React.useContext(RNTesterThemeContext);
|
||||
return (
|
||||
<View style={styles.sectionContainer}>
|
||||
<RNTesterBlock title="Collapse/Expanded state change (Paper)">
|
||||
<Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
The following component announces expanded/collapsed state correctly
|
||||
</Text>
|
||||
<Button
|
||||
|
@ -1574,12 +1758,16 @@ function AccessibilityExpandedExample(): React.Node {
|
|||
</RNTesterBlock>
|
||||
|
||||
<RNTesterBlock title="Screenreader announces the visible text">
|
||||
<Text>Announcing expanded/collapse and the visible text.</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Announcing expanded/collapse and the visible text.
|
||||
</Text>
|
||||
<TouchableOpacity
|
||||
style={styles.button}
|
||||
onPress={() => setExpanded(!expand)}
|
||||
accessibilityState={{expanded: expand}}>
|
||||
<Text>Click me to change state</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Click me to change state
|
||||
</Text>
|
||||
</TouchableOpacity>
|
||||
</RNTesterBlock>
|
||||
|
||||
|
@ -1588,7 +1776,9 @@ function AccessibilityExpandedExample(): React.Node {
|
|||
accessibilityState={{expanded: true}}
|
||||
accessible={true}>
|
||||
<View>
|
||||
<Text>Clicking me does not change state</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Clicking me does not change state
|
||||
</Text>
|
||||
</View>
|
||||
</TouchableWithoutFeedback>
|
||||
</RNTesterBlock>
|
||||
|
@ -1596,6 +1786,23 @@ function AccessibilityExpandedExample(): React.Node {
|
|||
);
|
||||
}
|
||||
|
||||
function AccessibilityTextInputWithArialabelledByAttributeExample(): React.Node {
|
||||
const theme = React.useContext(RNTesterThemeContext);
|
||||
return (
|
||||
<View>
|
||||
<Text
|
||||
nativeID="testAriaLabelledBy"
|
||||
style={{color: theme.SecondaryLabelColor}}>
|
||||
Phone Number
|
||||
</Text>
|
||||
<TextInput
|
||||
aria-labelledby={'testAriaLabelledBy'}
|
||||
style={styles.default}
|
||||
/>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
|
||||
exports.title = 'Accessibility';
|
||||
exports.documentationURL = 'https://reactnative.dev/docs/accessibilityinfo';
|
||||
exports.description = 'Examples of using Accessibility APIs.';
|
||||
|
@ -1688,17 +1895,11 @@ exports.examples = [
|
|||
},
|
||||
},
|
||||
{
|
||||
title: 'TextInput with aria-labelledby attribute"',
|
||||
render(): React.Element<typeof View> {
|
||||
return (
|
||||
<View>
|
||||
<Text nativeID="testAriaLabelledBy">Phone Number</Text>
|
||||
<TextInput
|
||||
aria-labelledby={'testAriaLabelledBy'}
|
||||
style={styles.default}
|
||||
/>
|
||||
</View>
|
||||
);
|
||||
title: 'TextInput with aria-labelledby attribute',
|
||||
render(): React.Element<
|
||||
typeof AccessibilityTextInputWithArialabelledByAttributeExample,
|
||||
> {
|
||||
return <AccessibilityTextInputWithArialabelledByAttributeExample />;
|
||||
},
|
||||
},
|
||||
];
|
||||
|
|
|
@ -12,6 +12,7 @@ import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
|
|||
|
||||
import RNTConfigurationBlock from '../../components/RNTConfigurationBlock';
|
||||
import RNTesterButton from '../../components/RNTesterButton';
|
||||
import {RNTesterThemeContext} from '../../components/RNTesterTheme';
|
||||
import * as React from 'react';
|
||||
import {Animated, Easing, StyleSheet, Text, View} from 'react-native';
|
||||
|
||||
|
@ -29,11 +30,14 @@ const styles = StyleSheet.create({
|
|||
|
||||
function CompositeAnimationsWithEasingExample(): React.Node {
|
||||
const anims = [1, 2, 3].map(() => new Animated.Value(0));
|
||||
const theme = React.useContext(RNTesterThemeContext);
|
||||
|
||||
return (
|
||||
<View>
|
||||
<RNTConfigurationBlock>
|
||||
<Text>Note you cannot `useNativeDriver` for layout properties.</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Note you cannot `useNativeDriver` for layout properties.
|
||||
</Text>
|
||||
</RNTConfigurationBlock>
|
||||
<RNTesterButton
|
||||
onPress={() => {
|
||||
|
|
|
@ -14,6 +14,7 @@ import type AnimatedValue from 'react-native/Libraries/Animated/nodes/AnimatedVa
|
|||
|
||||
import RNTConfigurationBlock from '../../components/RNTConfigurationBlock';
|
||||
import RNTesterButton from '../../components/RNTesterButton';
|
||||
import {RNTesterThemeContext} from '../../components/RNTesterTheme';
|
||||
import ToggleNativeDriver from './utils/ToggleNativeDriver';
|
||||
import * as React from 'react';
|
||||
import {
|
||||
|
@ -152,11 +153,14 @@ function ComposingExampleItem({
|
|||
const animation = React.useRef(
|
||||
compositeAnimation(xTranslations.current, useNativeDriver),
|
||||
);
|
||||
const theme = React.useContext(RNTesterThemeContext);
|
||||
|
||||
return (
|
||||
<View style={styles.itemContainer}>
|
||||
<Text style={styles.itemTitle}>{title}</Text>
|
||||
<Text>{description}</Text>
|
||||
<Text style={[styles.itemTitle, {color: theme.SecondaryLabelColor}]}>
|
||||
{title}
|
||||
</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>{description}</Text>
|
||||
<View style={styles.boxesContainer}>
|
||||
{boxIndexes.map(boxIndex => {
|
||||
const translateX = xTranslations.current[boxIndex].interpolate({
|
||||
|
|
|
@ -10,14 +10,26 @@
|
|||
|
||||
import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
|
||||
|
||||
import {RNTesterThemeContext} from '../../components/RNTesterTheme';
|
||||
import * as React from 'react';
|
||||
import {Text} from 'react-native';
|
||||
|
||||
function AnimatedContinuousInteractionsExample(): React.Node {
|
||||
const theme = React.useContext(RNTesterThemeContext);
|
||||
return (
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
Checkout the Gratuitous Animation App!
|
||||
</Text>
|
||||
);
|
||||
}
|
||||
|
||||
export default ({
|
||||
title: 'Continuous Interactions',
|
||||
name: 'continuousInteractions',
|
||||
description: ('Gesture events, chaining, 2D ' +
|
||||
'values, interrupting and transitioning ' +
|
||||
'animations, etc.': string),
|
||||
render: (): React.Node => <Text>Checkout the Gratuitous Animation App!</Text>,
|
||||
render(): React.Element<typeof AnimatedContinuousInteractionsExample> {
|
||||
return <AnimatedContinuousInteractionsExample />;
|
||||
},
|
||||
}: RNTesterModuleExample);
|
||||
|
|
|
@ -12,6 +12,7 @@ import type {RNTesterModuleExample} from '../../types/RNTesterTypes';
|
|||
|
||||
import RNTConfigurationBlock from '../../components/RNTConfigurationBlock';
|
||||
import RNTesterButton from '../../components/RNTesterButton';
|
||||
import {RNTesterThemeContext} from '../../components/RNTesterTheme';
|
||||
import ToggleNativeDriver from './utils/ToggleNativeDriver';
|
||||
import * as React from 'react';
|
||||
import {
|
||||
|
@ -103,10 +104,14 @@ function EasingItem({
|
|||
},
|
||||
];
|
||||
|
||||
const theme = React.useContext(RNTesterThemeContext);
|
||||
|
||||
return (
|
||||
<View style={styles.itemContainer}>
|
||||
<View style={styles.itemMeta}>
|
||||
<Text style={styles.itemTitle}>{item.title}</Text>
|
||||
<Text style={[styles.itemTitle, {color: theme.SecondaryLabelColor}]}>
|
||||
{item.title}
|
||||
</Text>
|
||||
<RNTesterButton
|
||||
onPress={() => {
|
||||
opacityAndScale.current.setValue(0);
|
||||
|
|
|
@ -98,7 +98,9 @@ function AnimatedTransformStyleExample(): React.Node {
|
|||
borderBottomColor: theme.SeparatorColor,
|
||||
})}
|
||||
/>
|
||||
<Text style={styles.optionsTitle}>Selected Styles</Text>
|
||||
<Text style={[styles.optionsTitle, {color: theme.SecondaryLabelColor}]}>
|
||||
Selected Styles
|
||||
</Text>
|
||||
<View style={styles.options}>
|
||||
{Object.keys(properties).map(property => {
|
||||
return (
|
||||
|
@ -125,7 +127,9 @@ function AnimatedTransformStyleExample(): React.Node {
|
|||
)}
|
||||
/>
|
||||
<View style={styles.section}>
|
||||
<Text>{'Should not crash when transform style key is undefined'}</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>
|
||||
{'Should not crash when transform style key is undefined'}
|
||||
</Text>
|
||||
<Animated.View style={[styles.animatedView, {transform: undefined}]} />
|
||||
</View>
|
||||
</View>
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
* @format
|
||||
*/
|
||||
|
||||
import {RNTesterThemeContext} from '../../../components/RNTesterTheme';
|
||||
import * as React from 'react';
|
||||
import {StyleSheet, Switch, Text, View} from 'react-native';
|
||||
|
||||
|
@ -27,9 +28,10 @@ export default function ToggleNativeDriver({
|
|||
onValueChange,
|
||||
style,
|
||||
}: Props): React.Node {
|
||||
const theme = React.useContext(RNTesterThemeContext);
|
||||
return (
|
||||
<View style={StyleSheet.compose(styles.row, style)}>
|
||||
<Text>Use Native Driver</Text>
|
||||
<Text style={{color: theme.SecondaryLabelColor}}>Use Native Driver</Text>
|
||||
<Switch
|
||||
testID="toggle-use-native-driver"
|
||||
onValueChange={onValueChange}
|
||||
|
|
|
@ -124,6 +124,7 @@ class RNTesterPlatformTestEventRecorder {
|
|||
'on' + eventName[0].toUpperCase() + eventName.slice(1);
|
||||
return {
|
||||
...acc,
|
||||
// $FlowFixMe[missing-local-annot]
|
||||
[eventPropName]: e => {
|
||||
recordedEventHandler(e, eventName);
|
||||
},
|
||||
|
|
|
@ -0,0 +1,201 @@
|
|||
/**
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
* @flow strict-local
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import React, {useState} from 'react';
|
||||
import {
|
||||
Button,
|
||||
PixelRatio,
|
||||
StyleSheet,
|
||||
Text,
|
||||
TextInput,
|
||||
View,
|
||||
} from 'react-native';
|
||||
|
||||
function LayoutSizeToPixel() {
|
||||
const [layoutDPSize, setLayoutDPSize] = useState<number>(0);
|
||||
const pixelSize = PixelRatio.getPixelSizeForLayoutSize(
|
||||
layoutDPSize ? layoutDPSize : 0,
|
||||
);
|
||||
|
||||
const handleDPInputChange = (changedText: string) => {
|
||||
const layoutSize = parseInt(changedText, 10);
|
||||
setLayoutDPSize(layoutSize);
|
||||
};
|
||||
|
||||
return (
|
||||
<View style={styles.cardContainer}>
|
||||
<View style={styles.card}>
|
||||
<View style={styles.row}>
|
||||
<Text style={styles.inputLabel}>Layout Size(dp): </Text>
|
||||
<TextInput
|
||||
style={styles.input}
|
||||
value={layoutDPSize ? layoutDPSize.toString() : ''}
|
||||
keyboardType={'numeric'}
|
||||
onChangeText={handleDPInputChange}
|
||||
/>
|
||||
</View>
|
||||
<View style={[styles.row, styles.outputContainer]}>
|
||||
<Text style={styles.inputLabel}>Pixel Size: </Text>
|
||||
<Text>{pixelSize}px</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
|
||||
function RoundToNearestPixel() {
|
||||
const [layoutDPSizeText, setLayoutDPSizeText] = useState('');
|
||||
const layoutDPSize = parseFloat(layoutDPSizeText);
|
||||
|
||||
const pixelSize = PixelRatio.roundToNearestPixel(
|
||||
layoutDPSize ? layoutDPSize : 0,
|
||||
);
|
||||
|
||||
const handleDPInputChange = (changedText: string) => {
|
||||
setLayoutDPSizeText(changedText);
|
||||
};
|
||||
|
||||
return (
|
||||
<View style={styles.cardContainer}>
|
||||
<View style={styles.card}>
|
||||
<View style={styles.row}>
|
||||
<Text style={styles.inputLabel}>Layout Size(dp): </Text>
|
||||
<TextInput
|
||||
style={styles.input}
|
||||
value={layoutDPSizeText ? layoutDPSizeText.toString() : ''}
|
||||
keyboardType={'numeric'}
|
||||
onChangeText={handleDPInputChange}
|
||||
/>
|
||||
</View>
|
||||
<View style={[styles.row, styles.outputContainer]}>
|
||||
<Text style={styles.inputLabel}>Nearest Layout Size: </Text>
|
||||
<Text>{pixelSize}dp</Text>
|
||||
</View>
|
||||
</View>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
|
||||
function GetPixelRatio() {
|
||||
const [pixelDensity, setPixelDensity] = useState(0);
|
||||
|
||||
const getPixelDensityCallback = () => {
|
||||
setPixelDensity(PixelRatio.get());
|
||||
};
|
||||
|
||||
return (
|
||||
<View style={styles.cardContainer}>
|
||||
<View style={styles.card}>
|
||||
<Button onPress={getPixelDensityCallback} title={'Get Pixel Density'} />
|
||||
{pixelDensity ? (
|
||||
<View style={[styles.row, styles.outputContainer]}>
|
||||
<Text style={styles.inputLabel}>Pixel Density: </Text>
|
||||
<Text>{pixelDensity}</Text>
|
||||
</View>
|
||||
) : null}
|
||||
</View>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
|
||||
function GetFontScale() {
|
||||
const [fontScale, setFontScale] = useState(0);
|
||||
|
||||
const getPixelDensityCallback = () => {
|
||||
setFontScale(PixelRatio.getFontScale());
|
||||
};
|
||||
|
||||
return (
|
||||
<View style={styles.cardContainer}>
|
||||
<View style={styles.card}>
|
||||
<Button onPress={getPixelDensityCallback} title={'Get Font Scale'} />
|
||||
{fontScale ? (
|
||||
<View style={[styles.row, styles.outputContainer]}>
|
||||
<Text style={styles.inputLabel}>Font scale: </Text>
|
||||
<Text>{fontScale}</Text>
|
||||
</View>
|
||||
) : null}
|
||||
</View>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
|
||||
const styles = StyleSheet.create({
|
||||
cardContainer: {
|
||||
marginVertical: 40,
|
||||
flex: 1,
|
||||
alignSelf: 'center',
|
||||
},
|
||||
row: {
|
||||
flexDirection: 'row',
|
||||
alignItems: 'center',
|
||||
},
|
||||
outputContainer: {
|
||||
marginTop: 16,
|
||||
},
|
||||
inputLabel: {
|
||||
fontWeight: 'bold',
|
||||
},
|
||||
input: {
|
||||
borderRadius: 6,
|
||||
borderWidth: 1,
|
||||
paddingVertical: 0,
|
||||
height: 30,
|
||||
width: 200,
|
||||
alignSelf: 'center',
|
||||
marginLeft: 14,
|
||||
paddingHorizontal: 8,
|
||||
},
|
||||
card: {
|
||||
width: 200,
|
||||
height: 200,
|
||||
alignItems: 'center',
|
||||
justifyContent: 'center',
|
||||
backfaceVisibility: 'hidden',
|
||||
},
|
||||
});
|
||||
|
||||
exports.title = 'PixelRatio';
|
||||
exports.category = 'UI';
|
||||
exports.documentationURL = 'https://reactnative.dev/docs/pixelratio';
|
||||
exports.description = "Gives access to device's pixel density and font scale";
|
||||
exports.examples = [
|
||||
{
|
||||
title: 'Get pixel density',
|
||||
description: 'Get pixel density of the device.',
|
||||
render(): React$Node {
|
||||
return <GetPixelRatio />;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'Get font scale',
|
||||
description: 'Get the scaling factor for font sizes.',
|
||||
render(): React$Node {
|
||||
return <GetFontScale />;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'Get pixel size from layout size',
|
||||
description: 'layout size (dp) -> pixel size (px)',
|
||||
render(): React$Node {
|
||||
return <LayoutSizeToPixel />;
|
||||
},
|
||||
},
|
||||
{
|
||||
title: 'Rounds a layout size to the nearest pixel',
|
||||
description:
|
||||
'Rounds a layout size (dp) to the nearest layout size that corresponds to an integer number of pixels',
|
||||
render(): React$Node {
|
||||
return <RoundToNearestPixel />;
|
||||
},
|
||||
},
|
||||
];
|
|
@ -263,6 +263,11 @@ const APIs: Array<RNTesterModuleInfo> = ([
|
|||
category: 'Basic',
|
||||
module: require('../examples/PanResponder/PanResponderExample'),
|
||||
},
|
||||
{
|
||||
key: 'PixelRatio',
|
||||
category: 'UI',
|
||||
module: require('../examples/PixelRatio/PixelRatioExample'),
|
||||
},
|
||||
{
|
||||
key: 'PermissionsExampleAndroid',
|
||||
category: 'Android',
|
||||
|
|
|
@ -264,6 +264,10 @@ const APIs: Array<RNTesterModuleInfo> = ([
|
|||
key: 'PlatformColorExample',
|
||||
module: require('../examples/PlatformColor/PlatformColorExample'),
|
||||
},
|
||||
{
|
||||
key: 'PixelRatio',
|
||||
module: require('../examples/PixelRatio/PixelRatioExample'),
|
||||
},
|
||||
{
|
||||
key: 'PointerEventsExample',
|
||||
module: require('../examples/PointerEvents/PointerEventsExample'),
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"baseVersion": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"baseVersion": "0.75.0-nightly-20240420-03a51da72",
|
||||
"overrides": [
|
||||
{
|
||||
"type": "copy",
|
||||
|
@ -12,14 +12,14 @@
|
|||
"type": "copy",
|
||||
"directory": "js/components",
|
||||
"baseDirectory": "packages/rn-tester/js/components",
|
||||
"baseHash": "e30582c7ce0ba5cc7965a1b5ccd7f443692e24e1",
|
||||
"baseHash": "c451b2c1c49baed92d62937cfa6c9578a946c6f5",
|
||||
"issue": 4054
|
||||
},
|
||||
{
|
||||
"type": "copy",
|
||||
"directory": "js/examples/Accessibility",
|
||||
"baseDirectory": "packages/rn-tester/js/examples/Accessibility",
|
||||
"baseHash": "c3e22748043a47b6947f0fdb6f9374e57112f4de",
|
||||
"baseHash": "a7c60c86d2c129b8956401f9a655643fbbfd0d47",
|
||||
"issue": 4054
|
||||
},
|
||||
{
|
||||
|
@ -47,7 +47,7 @@
|
|||
"type": "copy",
|
||||
"directory": "js/examples/Animated",
|
||||
"baseDirectory": "packages/rn-tester/js/examples/Animated",
|
||||
"baseHash": "c36e4c9d8e937947a40b8ba8c0f267b212feffca",
|
||||
"baseHash": "9c619928fc015d297b782786f44405c1803868e4",
|
||||
"issue": 4054
|
||||
},
|
||||
{
|
||||
|
@ -124,7 +124,7 @@
|
|||
"type": "copy",
|
||||
"directory": "js/examples/Experimental",
|
||||
"baseDirectory": "packages/rn-tester/js/examples/Experimental",
|
||||
"baseHash": "3cf296dfcc8341700a9aa7664521fe1e419723c9",
|
||||
"baseHash": "3534648810ee7fde6157ba4c8ea0a344236f93b7",
|
||||
"issue": 4054
|
||||
},
|
||||
{
|
||||
|
@ -260,6 +260,13 @@
|
|||
"baseHash": "22fe8ca750de2518f0465659fbe84d9ba49705ec",
|
||||
"issue": 4054
|
||||
},
|
||||
{
|
||||
"type": "copy",
|
||||
"directory": "js/examples/PixelRatio",
|
||||
"baseDirectory": "packages/rn-tester/js/examples/PixelRatio",
|
||||
"baseHash": "fce96794101df81b2eeb7a98b21e4a9456c1e437",
|
||||
"issue": 4054
|
||||
},
|
||||
{
|
||||
"type": "copy",
|
||||
"directory": "js/examples/PlatformColor",
|
||||
|
@ -488,14 +495,14 @@
|
|||
"type": "patch",
|
||||
"file": "js/utils/RNTesterList.android.js",
|
||||
"baseFile": "packages/rn-tester/js/utils/RNTesterList.android.js",
|
||||
"baseHash": "c40d0a03a89b9017cbb08a0449d5a0c32cadc5f2",
|
||||
"baseHash": "17abcd7c97a27d4d970d27c1449107222ffb6c85",
|
||||
"issue": 13228
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"file": "js/utils/RNTesterList.ios.js",
|
||||
"baseFile": "packages/rn-tester/js/utils/RNTesterList.ios.js",
|
||||
"baseHash": "39db425962737a74284b382273a83103d1bcaf91",
|
||||
"baseHash": "468e29aa66b33e980efc15bf13d09b164fdec61b",
|
||||
"issue": 13228
|
||||
},
|
||||
{
|
||||
|
|
|
@ -23,10 +23,10 @@
|
|||
"clean-ios": "rm -rf build/generated/ios Pods Podfile.lock"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-native/popup-menu-android": "0.75.0-main",
|
||||
"flow-enums-runtime": "^0.0.6",
|
||||
"invariant": "^2.2.4",
|
||||
"nullthrows": "^1.1.1",
|
||||
"@react-native/popup-menu-android": "0.75.0-main"
|
||||
"nullthrows": "^1.1.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "18.2.0",
|
||||
|
|
|
@ -11,12 +11,12 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.20.0",
|
||||
"@react-native/babel-preset": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/babel-preset": "0.75.0-nightly-20240420-03a51da72",
|
||||
"babel-plugin-transform-flow-enums": "^0.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.20.0",
|
||||
"@react-native/babel-preset": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/babel-preset": "0.75.0-nightly-20240420-03a51da72",
|
||||
"eslint": "^8.19.0",
|
||||
"prettier": "2.8.8"
|
||||
},
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
"@babel/core": "^7.20.0",
|
||||
"@babel/eslint-parser": "^7.20.0",
|
||||
"@microsoft/eslint-plugin-sdl": "^0.2.0",
|
||||
"@react-native/eslint-config": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/eslint-config": "0.75.0-nightly-20240420-03a51da72",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-ft-flow": "^2.0.1"
|
||||
},
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
"lint:fix": "rnw-scripts lint:fix"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@rnx-kit/metro-config": "^1.3.5",
|
||||
"@rnx-kit/metro-plugin-duplicates-checker": "^2.1.0",
|
||||
"@rnx-kit/metro-serializer": "^1.0.11",
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
"@typescript-eslint/eslint-plugin": "^5.21.0",
|
||||
"@typescript-eslint/parser": "^5.21.0",
|
||||
"react": "18.2.0",
|
||||
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"react-native": "0.75.0-nightly-20240420-03a51da72",
|
||||
"react-native-windows": "^0.0.0-canary.817"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -29,9 +29,12 @@
|
|||
"@babel/preset-env": "^7.20.0",
|
||||
"@babel/preset-typescript": "^7.8.3",
|
||||
"@babel/runtime": "^7.20.0",
|
||||
"@react-native-windows/automation": "^0.3.238",
|
||||
"@react-native-windows/automation-commands": "^0.1.258",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@react-native-windows/automation": "^0.3.239",
|
||||
"@react-native-windows/automation-commands": "^0.1.259",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@rnw-scripts/babel-node-config": "2.3.2",
|
||||
"@rnw-scripts/babel-react-native-config": "0.0.0",
|
||||
"@rnw-scripts/eslint-config": "1.2.16",
|
||||
|
|
|
@ -2594,12 +2594,12 @@ exports[`Home UIA Tree Dump Cxx TurboModule 1`] = `
|
|||
},
|
||||
{
|
||||
"Offset": "15, 69, 0",
|
||||
"Size": "65, 19",
|
||||
"Size": "65, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "65, 19",
|
||||
"Size": "65, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -2611,12 +2611,12 @@ exports[`Home UIA Tree Dump Cxx TurboModule 1`] = `
|
|||
},
|
||||
{
|
||||
"Offset": "853, 69, 0",
|
||||
"Size": "22, 19",
|
||||
"Size": "22, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "22, 19",
|
||||
"Size": "22, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -2628,12 +2628,12 @@ exports[`Home UIA Tree Dump Cxx TurboModule 1`] = `
|
|||
},
|
||||
{
|
||||
"Offset": "901, 69, 0",
|
||||
"Size": "52, 19",
|
||||
"Size": "52, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "52, 19",
|
||||
"Size": "52, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -7660,12 +7660,12 @@ exports[`Home UIA Tree Dump Performance API Examples 1`] = `
|
|||
"__Children": [
|
||||
{
|
||||
"Offset": "15, 12, 0",
|
||||
"Size": "234, 28",
|
||||
"Size": "234, 27",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "234, 28",
|
||||
"Size": "234, 27",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -7918,6 +7918,176 @@ exports[`Home UIA Tree Dump Performance Comparison Examples 1`] = `
|
|||
}
|
||||
`;
|
||||
|
||||
exports[`Home UIA Tree Dump PixelRatio 1`] = `
|
||||
{
|
||||
"Automation Tree": {
|
||||
"AutomationId": "PixelRatio",
|
||||
"ControlType": 50026,
|
||||
"IsKeyboardFocusable": true,
|
||||
"LocalizedControlType": "group",
|
||||
"Name": "PixelRatio Gives access to device's pixel density and font scale",
|
||||
"__Children": [
|
||||
{
|
||||
"AutomationId": "",
|
||||
"ControlType": 50020,
|
||||
"LocalizedControlType": "text",
|
||||
"Name": "PixelRatio",
|
||||
},
|
||||
{
|
||||
"AutomationId": "",
|
||||
"ControlType": 50020,
|
||||
"LocalizedControlType": "text",
|
||||
"Name": "Gives access to device's pixel density and font scale",
|
||||
},
|
||||
{
|
||||
"AutomationId": "",
|
||||
"ControlType": 50020,
|
||||
"LocalizedControlType": "text",
|
||||
"Name": "UI",
|
||||
},
|
||||
{
|
||||
"AutomationId": "",
|
||||
"ControlType": 50020,
|
||||
"LocalizedControlType": "text",
|
||||
"Name": "iOS",
|
||||
},
|
||||
{
|
||||
"AutomationId": "",
|
||||
"ControlType": 50020,
|
||||
"LocalizedControlType": "text",
|
||||
"Name": "Android",
|
||||
},
|
||||
],
|
||||
},
|
||||
"Component Tree": {
|
||||
"Type": "Microsoft.ReactNative.Composition.ViewComponentView",
|
||||
"_Props": {
|
||||
"AccessibilityLabel": "PixelRatio Gives access to device's pixel density and font scale",
|
||||
"TestId": "PixelRatio",
|
||||
},
|
||||
"__Children": [
|
||||
{
|
||||
"Type": "Microsoft.ReactNative.Composition.ParagraphComponentView",
|
||||
"_Props": {},
|
||||
},
|
||||
{
|
||||
"Type": "Microsoft.ReactNative.Composition.ParagraphComponentView",
|
||||
"_Props": {},
|
||||
},
|
||||
{
|
||||
"Type": "Microsoft.ReactNative.Composition.ParagraphComponentView",
|
||||
"_Props": {},
|
||||
},
|
||||
{
|
||||
"Type": "Microsoft.ReactNative.Composition.ParagraphComponentView",
|
||||
"_Props": {},
|
||||
},
|
||||
{
|
||||
"Type": "Microsoft.ReactNative.Composition.ParagraphComponentView",
|
||||
"_Props": {},
|
||||
},
|
||||
],
|
||||
},
|
||||
"Visual Tree": {
|
||||
"Brush": {
|
||||
"Brush Type": "ColorBrush",
|
||||
"Color": "rgba(255, 255, 255, 255)",
|
||||
},
|
||||
"Comment": "PixelRatio",
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "968, 99",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "15, 12, 0",
|
||||
"Size": "87, 28",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "87, 28",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "0, 0",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"Offset": "15, 43, 0",
|
||||
"Size": "938, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "938, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "0, 0",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"Offset": "15, 69, 0",
|
||||
"Size": "65, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "65, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "0, 0",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"Offset": "853, 69, 0",
|
||||
"Size": "22, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "22, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "0, 0",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
"Offset": "901, 69, 0",
|
||||
"Size": "52, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "52, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "0, 0",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`Home UIA Tree Dump PlatformColor 1`] = `
|
||||
{
|
||||
"Automation Tree": {
|
||||
|
@ -8034,12 +8204,12 @@ exports[`Home UIA Tree Dump PlatformColor 1`] = `
|
|||
},
|
||||
{
|
||||
"Offset": "15, 69, 0",
|
||||
"Size": "65, 19",
|
||||
"Size": "65, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "65, 19",
|
||||
"Size": "65, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -8051,12 +8221,12 @@ exports[`Home UIA Tree Dump PlatformColor 1`] = `
|
|||
},
|
||||
{
|
||||
"Offset": "853, 69, 0",
|
||||
"Size": "22, 19",
|
||||
"Size": "22, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "22, 19",
|
||||
"Size": "22, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -8068,12 +8238,12 @@ exports[`Home UIA Tree Dump PlatformColor 1`] = `
|
|||
},
|
||||
{
|
||||
"Offset": "901, 69, 0",
|
||||
"Size": "52, 19",
|
||||
"Size": "52, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "52, 19",
|
||||
"Size": "52, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -8170,12 +8340,12 @@ exports[`Home UIA Tree Dump Pointer Events 1`] = `
|
|||
"__Children": [
|
||||
{
|
||||
"Offset": "15, 12, 0",
|
||||
"Size": "125, 28",
|
||||
"Size": "125, 27",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "125, 28",
|
||||
"Size": "125, 27",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -8675,17 +8845,17 @@ exports[`Home UIA Tree Dump RTLExample 1`] = `
|
|||
},
|
||||
"Comment": "RTLExample",
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "968, 99",
|
||||
"Size": "968, 100",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "15, 12, 0",
|
||||
"Size": "105, 27",
|
||||
"Size": "105, 28",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "105, 27",
|
||||
"Size": "105, 28",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -8714,12 +8884,12 @@ exports[`Home UIA Tree Dump RTLExample 1`] = `
|
|||
},
|
||||
{
|
||||
"Offset": "15, 69, 0",
|
||||
"Size": "65, 20",
|
||||
"Size": "65, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "65, 20",
|
||||
"Size": "65, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -8731,12 +8901,12 @@ exports[`Home UIA Tree Dump RTLExample 1`] = `
|
|||
},
|
||||
{
|
||||
"Offset": "853, 69, 0",
|
||||
"Size": "22, 20",
|
||||
"Size": "22, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "22, 20",
|
||||
"Size": "22, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -8748,12 +8918,12 @@ exports[`Home UIA Tree Dump RTLExample 1`] = `
|
|||
},
|
||||
{
|
||||
"Offset": "901, 69, 0",
|
||||
"Size": "52, 20",
|
||||
"Size": "52, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "52, 20",
|
||||
"Size": "52, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -9634,7 +9804,7 @@ exports[`Home UIA Tree Dump Share 1`] = `
|
|||
},
|
||||
"Comment": "Share",
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "968, 100",
|
||||
"Size": "968, 99",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
|
@ -10693,12 +10863,12 @@ exports[`Home UIA Tree Dump Timers 1`] = `
|
|||
},
|
||||
{
|
||||
"Offset": "15, 69, 0",
|
||||
"Size": "65, 19",
|
||||
"Size": "65, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "65, 19",
|
||||
"Size": "65, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -10710,12 +10880,12 @@ exports[`Home UIA Tree Dump Timers 1`] = `
|
|||
},
|
||||
{
|
||||
"Offset": "853, 69, 0",
|
||||
"Size": "22, 19",
|
||||
"Size": "22, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "22, 19",
|
||||
"Size": "22, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -10727,12 +10897,12 @@ exports[`Home UIA Tree Dump Timers 1`] = `
|
|||
},
|
||||
{
|
||||
"Offset": "901, 69, 0",
|
||||
"Size": "52, 19",
|
||||
"Size": "52, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "52, 19",
|
||||
"Size": "52, 20",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -11169,12 +11339,12 @@ exports[`Home UIA Tree Dump Transforms 1`] = `
|
|||
"__Children": [
|
||||
{
|
||||
"Offset": "15, 12, 0",
|
||||
"Size": "97, 28",
|
||||
"Size": "97, 27",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "97, 28",
|
||||
"Size": "97, 27",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -11504,17 +11674,17 @@ exports[`Home UIA Tree Dump TurboModule 1`] = `
|
|||
},
|
||||
"Comment": "TurboModule",
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "968, 100",
|
||||
"Size": "968, 99",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "15, 12, 0",
|
||||
"Size": "121, 27",
|
||||
"Size": "121, 28",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "121, 27",
|
||||
"Size": "121, 28",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -11543,12 +11713,12 @@ exports[`Home UIA Tree Dump TurboModule 1`] = `
|
|||
},
|
||||
{
|
||||
"Offset": "15, 69, 0",
|
||||
"Size": "65, 20",
|
||||
"Size": "65, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "65, 20",
|
||||
"Size": "65, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -11560,12 +11730,12 @@ exports[`Home UIA Tree Dump TurboModule 1`] = `
|
|||
},
|
||||
{
|
||||
"Offset": "853, 69, 0",
|
||||
"Size": "22, 20",
|
||||
"Size": "22, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "22, 20",
|
||||
"Size": "22, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -11577,12 +11747,12 @@ exports[`Home UIA Tree Dump TurboModule 1`] = `
|
|||
},
|
||||
{
|
||||
"Offset": "901, 69, 0",
|
||||
"Size": "52, 20",
|
||||
"Size": "52, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "52, 20",
|
||||
"Size": "52, 19",
|
||||
"Visual Type": "SpriteVisual",
|
||||
},
|
||||
{
|
||||
|
@ -11844,7 +12014,7 @@ exports[`Home UIA Tree Dump WebSocket 1`] = `
|
|||
},
|
||||
"Comment": "WebSocket",
|
||||
"Offset": "0, 0, 0",
|
||||
"Size": "968, 99",
|
||||
"Size": "968, 100",
|
||||
"Visual Type": "SpriteVisual",
|
||||
"__Children": [
|
||||
{
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -20,7 +20,7 @@
|
|||
"@typescript-eslint/eslint-plugin": "^5.21.0",
|
||||
"@typescript-eslint/parser": "^5.21.0",
|
||||
"react": "18.2.0",
|
||||
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"react-native": "0.75.0-nightly-20240420-03a51da72",
|
||||
"react-native-windows": "^0.0.0-canary.817",
|
||||
"react-native-xaml": "^0.0.78"
|
||||
},
|
||||
|
@ -32,7 +32,7 @@
|
|||
"@babel/runtime": "^7.20.0",
|
||||
"@react-native-windows/automation": "^0.3.239",
|
||||
"@react-native-windows/automation-commands": "^0.1.259",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@rnw-scripts/babel-node-config": "2.3.2",
|
||||
"@rnw-scripts/babel-react-native-config": "0.0.0",
|
||||
"@rnw-scripts/eslint-config": "1.2.16",
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
"@typescript-eslint/parser": "^5.21.0",
|
||||
"chai": "^4.2.0",
|
||||
"react": "18.2.0",
|
||||
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"react-native": "0.75.0-nightly-20240420-03a51da72",
|
||||
"react-native-windows": "^0.0.0-canary.817"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -27,7 +27,7 @@
|
|||
"@babel/preset-typescript": "^7.11.5",
|
||||
"@babel/traverse": "^7.11.5",
|
||||
"@babel/types": "^7.11.5",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@rnw-scripts/babel-node-config": "2.3.2",
|
||||
"@rnw-scripts/eslint-config": "^1.2.16",
|
||||
"@rnw-scripts/just-task": "^2.3.32",
|
||||
|
|
|
@ -16,13 +16,13 @@
|
|||
"@typescript-eslint/eslint-plugin": "^5.21.0",
|
||||
"@typescript-eslint/parser": "^5.21.0",
|
||||
"react": "18.2.0",
|
||||
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"react-native": "0.75.0-nightly-20240420-03a51da72",
|
||||
"react-native-windows": "^0.0.0-canary.817"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.20.0",
|
||||
"@babel/runtime": "^7.20.0",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@rnw-scripts/babel-react-native-config": "0.0.0",
|
||||
"@rnw-scripts/eslint-config": "1.2.16",
|
||||
"@rnw-scripts/just-task": "2.3.32",
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
"@typescript-eslint/eslint-plugin": "^5.21.0",
|
||||
"@typescript-eslint/parser": "^5.21.0",
|
||||
"react": "18.2.0",
|
||||
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"react-native": "0.75.0-nightly-20240420-03a51da72",
|
||||
"react-native-windows": "^0.0.0-canary.817"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -25,7 +25,7 @@
|
|||
"@babel/preset-typescript": "^7.8.3",
|
||||
"@babel/runtime": "^7.20.0",
|
||||
"@jest/globals": "^29.7.0",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@rnw-scripts/babel-node-config": "2.3.2",
|
||||
"@rnw-scripts/babel-react-native-config": "0.0.0",
|
||||
"@rnw-scripts/eslint-config": "1.2.16",
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
"@typescript-eslint/eslint-plugin": "^5.30.5",
|
||||
"@typescript-eslint/parser": "^5.57.1",
|
||||
"react": "18.2.0",
|
||||
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"react-native": "0.75.0-nightly-20240420-03a51da72",
|
||||
"react-native-windows": "^0.0.0-canary.817"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -25,7 +25,7 @@
|
|||
"@babel/runtime": "^7.20.0",
|
||||
"@react-native-windows/cli": "0.0.0-canary.213",
|
||||
"@react-native-windows/codegen": "0.0.0-canary.87",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@rnw-scripts/babel-react-native-config": "0.0.0",
|
||||
"@rnw-scripts/eslint-config": "1.2.16",
|
||||
"@rnw-scripts/just-task": "2.3.32",
|
||||
|
|
|
@ -146,4 +146,4 @@ untyped-import
|
|||
untyped-type-import
|
||||
|
||||
[version]
|
||||
^0.233.0
|
||||
^0.234.0
|
||||
|
|
|
@ -44,6 +44,12 @@ bool JSExecutor::supportsConsole() const {
|
|||
return false;
|
||||
}
|
||||
|
||||
std::unique_ptr<facebook::react::jsinspector_modern::StackTrace> JSExecutor::captureStackTrace(
|
||||
facebook::jsi::Runtime &runtime,
|
||||
size_t framesToSkip) {
|
||||
return std::make_unique<facebook::react::jsinspector_modern::StackTrace>();
|
||||
}
|
||||
|
||||
std::unique_ptr<jsinspector_modern::RuntimeAgentDelegate>
|
||||
JSExecutor::createAgentDelegate(
|
||||
jsinspector_modern::FrontendChannel frontendChannel,
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#include <jsinspector-modern/FallbackRuntimeAgentDelegate.h>
|
||||
#include <jsinspector-modern/ReactCdp.h>
|
||||
#include <jsinspector-modern/ConsoleMessage.h>
|
||||
#include <jsinspector-modern/StackTrace.h>
|
||||
|
||||
#ifndef RN_EXPORT
|
||||
#define RN_EXPORT __attribute__((visibility("default")))
|
||||
|
@ -146,6 +147,22 @@ class RN_EXPORT JSExecutor : public jsinspector_modern::RuntimeTargetDelegate {
|
|||
|
||||
virtual bool supportsConsole() const;
|
||||
|
||||
/**
|
||||
* \returns an opaque representation of a stack trace. This may be passed back
|
||||
* to the `RuntimeTargetDelegate` as part of `addConsoleMessage` or other APIs
|
||||
* that report stack traces.
|
||||
* \param framesToSkip The number of call frames to skip. The first call frame
|
||||
* is the topmost (current) frame on the Runtime's call stack, which will
|
||||
* typically be the (native) JSI HostFunction that called this method.
|
||||
* \note The method is called on the JS thread, and receives a valid reference
|
||||
* to the current \c jsi::Runtime. The callee MAY use its own intrinsic
|
||||
* Runtime reference, if it has one, without checking it for equivalence with
|
||||
* the one provided here.
|
||||
*/
|
||||
std::unique_ptr<jsinspector_modern::StackTrace> captureStackTrace(
|
||||
jsi::Runtime& runtime,
|
||||
size_t framesToSkip = 0) override;
|
||||
|
||||
/**
|
||||
* Create a RuntimeAgentDelegate that can be used to debug the JS VM instance.
|
||||
*/
|
||||
|
|
|
@ -419,6 +419,12 @@ bool HermesJSRuntime::supportsConsole() const {
|
|||
return false;
|
||||
}
|
||||
|
||||
std::unique_ptr<facebook::react::jsinspector_modern::StackTrace> HermesJSRuntime::captureStackTrace(
|
||||
facebook::jsi::Runtime &runtime,
|
||||
size_t framesToSkip) {
|
||||
return std::make_unique<facebook::react::jsinspector_modern::StackTrace>();
|
||||
}
|
||||
|
||||
std::unique_ptr<facebook::react::jsinspector_modern::RuntimeAgentDelegate> HermesJSRuntime::createAgentDelegate(
|
||||
facebook::react::jsinspector_modern::FrontendChannel frontendChannel,
|
||||
facebook::react::jsinspector_modern::SessionState &sessionState,
|
||||
|
|
|
@ -61,6 +61,9 @@ class HermesJSRuntime : public facebook::react::JSRuntime {
|
|||
void addConsoleMessage(facebook::jsi::Runtime &runtime, facebook::react::jsinspector_modern::ConsoleMessage message)
|
||||
override;
|
||||
bool supportsConsole() const override;
|
||||
std::unique_ptr<facebook::react::jsinspector_modern::StackTrace> captureStackTrace(
|
||||
facebook::jsi::Runtime &runtime,
|
||||
size_t framesToSkip = 0) override;
|
||||
|
||||
std::unique_ptr<facebook::react::jsinspector_modern::RuntimeAgentDelegate> createAgentDelegate(
|
||||
facebook::react::jsinspector_modern::FrontendChannel frontendChannel,
|
||||
|
|
|
@ -598,9 +598,6 @@
|
|||
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\mounting\ShadowTreeRegistry.cpp" />
|
||||
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\mounting\ShadowView.cpp" />
|
||||
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\mounting\ShadowViewMutation.cpp" DisableSpecificWarnings="4715;%(DisableSpecificWarnings)" />
|
||||
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\mounting\Stubs.cpp" />
|
||||
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\mounting\StubView.cpp" />
|
||||
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\mounting\StubViewTree.cpp" />
|
||||
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\mounting\TelemetryController.cpp" />
|
||||
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\observers\events\EventPerformanceLogger.cpp" />
|
||||
<ClCompile Include="$(ReactNativeDir)\ReactCommon\react\renderer\scheduler\Scheduler.cpp" />
|
||||
|
|
|
@ -29,9 +29,10 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS
|
|||
SyncMethod<bool() noexcept>{10, L"forceBatchingMountItemsOnAndroid"},
|
||||
SyncMethod<bool() noexcept>{11, L"inspectorEnableCxxInspectorPackagerConnection"},
|
||||
SyncMethod<bool() noexcept>{12, L"inspectorEnableModernCDPRegistry"},
|
||||
SyncMethod<bool() noexcept>{13, L"useModernRuntimeScheduler"},
|
||||
SyncMethod<bool() noexcept>{14, L"useNativeViewConfigsInBridgelessMode"},
|
||||
SyncMethod<bool() noexcept>{15, L"useStateAlignmentMechanism"},
|
||||
SyncMethod<bool() noexcept>{13, L"preventDoubleTextMeasure"},
|
||||
SyncMethod<bool() noexcept>{14, L"useModernRuntimeScheduler"},
|
||||
SyncMethod<bool() noexcept>{15, L"useNativeViewConfigsInBridgelessMode"},
|
||||
SyncMethod<bool() noexcept>{16, L"useStateAlignmentMechanism"},
|
||||
};
|
||||
|
||||
template <class TModule>
|
||||
|
@ -105,16 +106,21 @@ struct ReactNativeFeatureFlagsSpec : winrt::Microsoft::ReactNative::TurboModuleS
|
|||
" REACT_SYNC_METHOD(inspectorEnableModernCDPRegistry) static bool inspectorEnableModernCDPRegistry() noexcept { /* implementation */ }\n");
|
||||
REACT_SHOW_METHOD_SPEC_ERRORS(
|
||||
13,
|
||||
"preventDoubleTextMeasure",
|
||||
" REACT_SYNC_METHOD(preventDoubleTextMeasure) bool preventDoubleTextMeasure() noexcept { /* implementation */ }\n"
|
||||
" REACT_SYNC_METHOD(preventDoubleTextMeasure) static bool preventDoubleTextMeasure() noexcept { /* implementation */ }\n");
|
||||
REACT_SHOW_METHOD_SPEC_ERRORS(
|
||||
14,
|
||||
"useModernRuntimeScheduler",
|
||||
" REACT_SYNC_METHOD(useModernRuntimeScheduler) bool useModernRuntimeScheduler() noexcept { /* implementation */ }\n"
|
||||
" REACT_SYNC_METHOD(useModernRuntimeScheduler) static bool useModernRuntimeScheduler() noexcept { /* implementation */ }\n");
|
||||
REACT_SHOW_METHOD_SPEC_ERRORS(
|
||||
14,
|
||||
15,
|
||||
"useNativeViewConfigsInBridgelessMode",
|
||||
" REACT_SYNC_METHOD(useNativeViewConfigsInBridgelessMode) bool useNativeViewConfigsInBridgelessMode() noexcept { /* implementation */ }\n"
|
||||
" REACT_SYNC_METHOD(useNativeViewConfigsInBridgelessMode) static bool useNativeViewConfigsInBridgelessMode() noexcept { /* implementation */ }\n");
|
||||
REACT_SHOW_METHOD_SPEC_ERRORS(
|
||||
15,
|
||||
16,
|
||||
"useStateAlignmentMechanism",
|
||||
" REACT_SYNC_METHOD(useStateAlignmentMechanism) bool useStateAlignmentMechanism() noexcept { /* implementation */ }\n"
|
||||
" REACT_SYNC_METHOD(useStateAlignmentMechanism) static bool useStateAlignmentMechanism() noexcept { /* implementation */ }\n");
|
||||
|
|
|
@ -34,11 +34,9 @@ struct UIManagerSpec : winrt::Microsoft::ReactNative::TurboModuleSpec {
|
|||
SyncMethod<std::vector<std::string>() noexcept>{15, L"getDefaultEventTypes"},
|
||||
Method<void(bool) noexcept>{16, L"setLayoutAnimationEnabledExperimental"},
|
||||
Method<void(double, double) noexcept>{17, L"sendAccessibilityEvent"},
|
||||
Method<void(double, std::vector<std::string>, Callback<::React::JSValue>, Callback<std::string, double>) noexcept>{18, L"showPopupMenu"},
|
||||
Method<void() noexcept>{19, L"dismissPopupMenu"},
|
||||
SyncMethod<::React::JSValue(std::string) noexcept>{20, L"lazilyLoadView"},
|
||||
Method<void(double) noexcept>{21, L"focus"},
|
||||
Method<void(double) noexcept>{22, L"blur"},
|
||||
SyncMethod<::React::JSValue(std::string) noexcept>{18, L"lazilyLoadView"},
|
||||
Method<void(double) noexcept>{19, L"focus"},
|
||||
Method<void(double) noexcept>{20, L"blur"},
|
||||
};
|
||||
|
||||
template <class TModule>
|
||||
|
@ -137,26 +135,16 @@ struct UIManagerSpec : winrt::Microsoft::ReactNative::TurboModuleSpec {
|
|||
" REACT_METHOD(sendAccessibilityEvent) static void sendAccessibilityEvent(double reactTag, double eventType) noexcept { /* implementation */ }\n");
|
||||
REACT_SHOW_METHOD_SPEC_ERRORS(
|
||||
18,
|
||||
"showPopupMenu",
|
||||
" REACT_METHOD(showPopupMenu) void showPopupMenu(double reactTag, std::vector<std::string> const & items, std::function<void(::React::JSValue const &)> const & error, std::function<void(std::string, double)> const & success) noexcept { /* implementation */ }\n"
|
||||
" REACT_METHOD(showPopupMenu) static void showPopupMenu(double reactTag, std::vector<std::string> const & items, std::function<void(::React::JSValue const &)> const & error, std::function<void(std::string, double)> const & success) noexcept { /* implementation */ }\n");
|
||||
REACT_SHOW_METHOD_SPEC_ERRORS(
|
||||
19,
|
||||
"dismissPopupMenu",
|
||||
" REACT_METHOD(dismissPopupMenu) void dismissPopupMenu() noexcept { /* implementation */ }\n"
|
||||
" REACT_METHOD(dismissPopupMenu) static void dismissPopupMenu() noexcept { /* implementation */ }\n");
|
||||
REACT_SHOW_METHOD_SPEC_ERRORS(
|
||||
20,
|
||||
"lazilyLoadView",
|
||||
" REACT_SYNC_METHOD(lazilyLoadView) ::React::JSValue lazilyLoadView(std::string name) noexcept { /* implementation */ }\n"
|
||||
" REACT_SYNC_METHOD(lazilyLoadView) static ::React::JSValue lazilyLoadView(std::string name) noexcept { /* implementation */ }\n");
|
||||
REACT_SHOW_METHOD_SPEC_ERRORS(
|
||||
21,
|
||||
19,
|
||||
"focus",
|
||||
" REACT_METHOD(focus) void focus(double reactTag) noexcept { /* implementation */ }\n"
|
||||
" REACT_METHOD(focus) static void focus(double reactTag) noexcept { /* implementation */ }\n");
|
||||
REACT_SHOW_METHOD_SPEC_ERRORS(
|
||||
22,
|
||||
20,
|
||||
"blur",
|
||||
" REACT_METHOD(blur) void blur(double reactTag) noexcept { /* implementation */ }\n"
|
||||
" REACT_METHOD(blur) static void blur(double reactTag) noexcept { /* implementation */ }\n");
|
||||
|
|
|
@ -76,6 +76,11 @@ static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_inspect
|
|||
rt
|
||||
);
|
||||
}
|
||||
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_preventDoubleTextMeasure(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
||||
return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->preventDoubleTextMeasure(
|
||||
rt
|
||||
);
|
||||
}
|
||||
static jsi::Value __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useModernRuntimeScheduler(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
||||
return static_cast<NativeReactNativeFeatureFlagsCxxSpecJSI *>(&turboModule)->useModernRuntimeScheduler(
|
||||
rt
|
||||
|
@ -107,6 +112,7 @@ NativeReactNativeFeatureFlagsCxxSpecJSI::NativeReactNativeFeatureFlagsCxxSpecJSI
|
|||
methodMap_["forceBatchingMountItemsOnAndroid"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_forceBatchingMountItemsOnAndroid};
|
||||
methodMap_["inspectorEnableCxxInspectorPackagerConnection"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_inspectorEnableCxxInspectorPackagerConnection};
|
||||
methodMap_["inspectorEnableModernCDPRegistry"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_inspectorEnableModernCDPRegistry};
|
||||
methodMap_["preventDoubleTextMeasure"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_preventDoubleTextMeasure};
|
||||
methodMap_["useModernRuntimeScheduler"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useModernRuntimeScheduler};
|
||||
methodMap_["useNativeViewConfigsInBridgelessMode"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useNativeViewConfigsInBridgelessMode};
|
||||
methodMap_["useStateAlignmentMechanism"] = MethodMetadata {0, __hostFunction_NativeReactNativeFeatureFlagsCxxSpecJSI_useStateAlignmentMechanism};
|
||||
|
@ -2666,22 +2672,6 @@ static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_sendAccessibilityEven
|
|||
);
|
||||
return jsi::Value::undefined();
|
||||
}
|
||||
static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_showPopupMenu(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
||||
static_cast<NativeUIManagerCxxSpecJSI *>(&turboModule)->showPopupMenu(
|
||||
rt,
|
||||
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber(),
|
||||
count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asObject(rt).asArray(rt),
|
||||
count <= 2 ? throw jsi::JSError(rt, "Expected argument in position 2 to be passed") : args[2].asObject(rt).asFunction(rt),
|
||||
count <= 3 ? throw jsi::JSError(rt, "Expected argument in position 3 to be passed") : args[3].asObject(rt).asFunction(rt)
|
||||
);
|
||||
return jsi::Value::undefined();
|
||||
}
|
||||
static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_dismissPopupMenu(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
||||
static_cast<NativeUIManagerCxxSpecJSI *>(&turboModule)->dismissPopupMenu(
|
||||
rt
|
||||
);
|
||||
return jsi::Value::undefined();
|
||||
}
|
||||
static jsi::Value __hostFunction_NativeUIManagerCxxSpecJSI_lazilyLoadView(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
||||
return static_cast<NativeUIManagerCxxSpecJSI *>(&turboModule)->lazilyLoadView(
|
||||
rt,
|
||||
|
@ -2724,8 +2714,6 @@ NativeUIManagerCxxSpecJSI::NativeUIManagerCxxSpecJSI(std::shared_ptr<CallInvoker
|
|||
methodMap_["getDefaultEventTypes"] = MethodMetadata {0, __hostFunction_NativeUIManagerCxxSpecJSI_getDefaultEventTypes};
|
||||
methodMap_["setLayoutAnimationEnabledExperimental"] = MethodMetadata {1, __hostFunction_NativeUIManagerCxxSpecJSI_setLayoutAnimationEnabledExperimental};
|
||||
methodMap_["sendAccessibilityEvent"] = MethodMetadata {2, __hostFunction_NativeUIManagerCxxSpecJSI_sendAccessibilityEvent};
|
||||
methodMap_["showPopupMenu"] = MethodMetadata {4, __hostFunction_NativeUIManagerCxxSpecJSI_showPopupMenu};
|
||||
methodMap_["dismissPopupMenu"] = MethodMetadata {0, __hostFunction_NativeUIManagerCxxSpecJSI_dismissPopupMenu};
|
||||
methodMap_["lazilyLoadView"] = MethodMetadata {1, __hostFunction_NativeUIManagerCxxSpecJSI_lazilyLoadView};
|
||||
methodMap_["focus"] = MethodMetadata {1, __hostFunction_NativeUIManagerCxxSpecJSI_focus};
|
||||
methodMap_["blur"] = MethodMetadata {1, __hostFunction_NativeUIManagerCxxSpecJSI_blur};
|
||||
|
|
|
@ -33,6 +33,7 @@ public:
|
|||
virtual bool forceBatchingMountItemsOnAndroid(jsi::Runtime &rt) = 0;
|
||||
virtual bool inspectorEnableCxxInspectorPackagerConnection(jsi::Runtime &rt) = 0;
|
||||
virtual bool inspectorEnableModernCDPRegistry(jsi::Runtime &rt) = 0;
|
||||
virtual bool preventDoubleTextMeasure(jsi::Runtime &rt) = 0;
|
||||
virtual bool useModernRuntimeScheduler(jsi::Runtime &rt) = 0;
|
||||
virtual bool useNativeViewConfigsInBridgelessMode(jsi::Runtime &rt) = 0;
|
||||
virtual bool useStateAlignmentMechanism(jsi::Runtime &rt) = 0;
|
||||
|
@ -163,6 +164,14 @@ private:
|
|||
return bridging::callFromJs<bool>(
|
||||
rt, &T::inspectorEnableModernCDPRegistry, jsInvoker_, instance_);
|
||||
}
|
||||
bool preventDoubleTextMeasure(jsi::Runtime &rt) override {
|
||||
static_assert(
|
||||
bridging::getParameterCount(&T::preventDoubleTextMeasure) == 1,
|
||||
"Expected preventDoubleTextMeasure(...) to have 1 parameters");
|
||||
|
||||
return bridging::callFromJs<bool>(
|
||||
rt, &T::preventDoubleTextMeasure, jsInvoker_, instance_);
|
||||
}
|
||||
bool useModernRuntimeScheduler(jsi::Runtime &rt) override {
|
||||
static_assert(
|
||||
bridging::getParameterCount(&T::useModernRuntimeScheduler) == 1,
|
||||
|
@ -7048,8 +7057,6 @@ public:
|
|||
virtual jsi::Array getDefaultEventTypes(jsi::Runtime &rt) = 0;
|
||||
virtual void setLayoutAnimationEnabledExperimental(jsi::Runtime &rt, bool enabled) = 0;
|
||||
virtual void sendAccessibilityEvent(jsi::Runtime &rt, double reactTag, double eventType) = 0;
|
||||
virtual void showPopupMenu(jsi::Runtime &rt, double reactTag, jsi::Array items, jsi::Function error, jsi::Function success) = 0;
|
||||
virtual void dismissPopupMenu(jsi::Runtime &rt) = 0;
|
||||
virtual jsi::Object lazilyLoadView(jsi::Runtime &rt, jsi::String name) = 0;
|
||||
virtual void focus(jsi::Runtime &rt, double reactTag) = 0;
|
||||
virtual void blur(jsi::Runtime &rt, double reactTag) = 0;
|
||||
|
@ -7228,22 +7235,6 @@ private:
|
|||
return bridging::callFromJs<void>(
|
||||
rt, &T::sendAccessibilityEvent, jsInvoker_, instance_, std::move(reactTag), std::move(eventType));
|
||||
}
|
||||
void showPopupMenu(jsi::Runtime &rt, double reactTag, jsi::Array items, jsi::Function error, jsi::Function success) override {
|
||||
static_assert(
|
||||
bridging::getParameterCount(&T::showPopupMenu) == 5,
|
||||
"Expected showPopupMenu(...) to have 5 parameters");
|
||||
|
||||
return bridging::callFromJs<void>(
|
||||
rt, &T::showPopupMenu, jsInvoker_, instance_, std::move(reactTag), std::move(items), std::move(error), std::move(success));
|
||||
}
|
||||
void dismissPopupMenu(jsi::Runtime &rt) override {
|
||||
static_assert(
|
||||
bridging::getParameterCount(&T::dismissPopupMenu) == 1,
|
||||
"Expected dismissPopupMenu(...) to have 1 parameters");
|
||||
|
||||
return bridging::callFromJs<void>(
|
||||
rt, &T::dismissPopupMenu, jsInvoker_, instance_);
|
||||
}
|
||||
jsi::Object lazilyLoadView(jsi::Runtime &rt, jsi::String name) override {
|
||||
static_assert(
|
||||
bridging::getParameterCount(&T::lazilyLoadView) == 2,
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
"**/__snapshots__/**",
|
||||
"src-win/rntypes/**"
|
||||
],
|
||||
"baseVersion": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"baseVersion": "0.75.0-nightly-20240420-03a51da72",
|
||||
"overrides": [
|
||||
{
|
||||
"type": "derived",
|
||||
"file": ".flowconfig",
|
||||
"baseFile": ".flowconfig",
|
||||
"baseHash": "207887dce4d232e4ded4dbeefe4188766b24144a"
|
||||
"baseHash": "4f8e1f39d8ed29d7d0e21455cac407d352a6824d"
|
||||
},
|
||||
{
|
||||
"type": "derived",
|
||||
|
|
|
@ -28,13 +28,13 @@
|
|||
"@react-native-community/cli-platform-ios": "14.0.0-alpha.2",
|
||||
"@react-native-windows/cli": "0.0.0-canary.213",
|
||||
"@react-native/assets": "1.0.0",
|
||||
"@react-native/assets-registry": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/codegen": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/community-cli-plugin": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/gradle-plugin": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/js-polyfills": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/normalize-colors": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/virtualized-lists": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/assets-registry": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@react-native/codegen": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@react-native/community-cli-plugin": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@react-native/gradle-plugin": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@react-native/js-polyfills": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@react-native/normalize-colors": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@react-native/virtualized-lists": "0.75.0-nightly-20240420-03a51da72",
|
||||
"abort-controller": "^3.0.0",
|
||||
"anser": "^1.4.9",
|
||||
"ansi-regex": "^5.0.0",
|
||||
|
@ -52,7 +52,7 @@
|
|||
"nullthrows": "^1.1.1",
|
||||
"pretty-format": "^26.5.2",
|
||||
"promise": "^8.3.0",
|
||||
"react-devtools-core": "^5.0.2",
|
||||
"react-devtools-core": "5.1.0",
|
||||
"react-refresh": "^0.14.0",
|
||||
"react-shallow-renderer": "^16.15.0",
|
||||
"regenerator-runtime": "^0.13.2",
|
||||
|
@ -66,7 +66,7 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@react-native-windows/codegen": "0.0.0-canary.87",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"@react-native/metro-config": "0.75.0-nightly-20240420-03a51da72",
|
||||
"@rnw-scripts/babel-react-native-config": "0.0.0",
|
||||
"@rnw-scripts/eslint-config": "1.2.16",
|
||||
"@rnw-scripts/jest-out-of-tree-snapshot-resolver": "^1.1.20",
|
||||
|
@ -82,7 +82,7 @@
|
|||
"just-scripts": "^1.3.3",
|
||||
"prettier": "2.8.8",
|
||||
"react": "18.2.0",
|
||||
"react-native": "0.75.0-nightly-20240413-1b152f6ec",
|
||||
"react-native": "0.75.0-nightly-20240420-03a51da72",
|
||||
"react-native-platform-override": "^1.9.33",
|
||||
"react-refresh": "^0.14.0",
|
||||
"typescript": "5.0.4"
|
||||
|
@ -90,7 +90,7 @@
|
|||
"peerDependencies": {
|
||||
"@types/react": "^18.2.6",
|
||||
"react": "18.2.0",
|
||||
"react-native": "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"react-native": "0.75.0-nightly-20240420-03a51da72"
|
||||
},
|
||||
"beachball": {
|
||||
"defaultNpmTag": "canary",
|
||||
|
|
178
yarn.lock
178
yarn.lock
|
@ -2487,27 +2487,27 @@
|
|||
resolved "https://registry.yarnpkg.com/@react-native-picker/picker/-/picker-2.7.5.tgz#e43fcd65f260fa4f23e974ccb9fb7c1f7a9ff94a"
|
||||
integrity sha512-vhMaOLkXSUb+YKVbukMJToU4g+89VMhBG2U9+cLYF8X8HtFRidrHjohGqT8/OyesDuKIXeLIP+UFYI9Q9CRA9Q==
|
||||
|
||||
"@react-native/assets-registry@0.75.0-nightly-20240413-1b152f6ec":
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.75.0-nightly-20240413-1b152f6ec.tgz#1a4f446df7e13aa8d040f10b2c94da9352e2f277"
|
||||
integrity sha512-AQg+BgJ8mCuZHVO+8FJmR+lWH7mVycDcuaYU10VQZgA+HJZr27K/fxR0boAVAfddWyatkLUa+NncK5NzdSFKuQ==
|
||||
"@react-native/assets-registry@0.75.0-nightly-20240420-03a51da72":
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/assets-registry/-/assets-registry-0.75.0-nightly-20240420-03a51da72.tgz#f24727d38c0ad6cba5ce7acfec1707cbcff316fa"
|
||||
integrity sha512-8SKaVWov9+ywuX5rfMZSrH765XBoEen9kNKEyi8W51PdCw8LpJTjD6WCMtsqe/HOnD3LEGKm9xvI3JnXp+Zk+g==
|
||||
|
||||
"@react-native/assets@1.0.0":
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/assets/-/assets-1.0.0.tgz#c6f9bf63d274bafc8e970628de24986b30a55c8e"
|
||||
integrity sha512-KrwSpS1tKI70wuKl68DwJZYEvXktDHdZMG0k2AXD/rJVSlB23/X2CB2cutVR0HwNMJIal9HOUOBB2rVfa6UGtQ==
|
||||
|
||||
"@react-native/babel-plugin-codegen@0.75.0-nightly-20240413-1b152f6ec":
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.75.0-nightly-20240413-1b152f6ec.tgz#184d21ce2bf7327df8fe4941c8699679231f4b70"
|
||||
integrity sha512-cKnXTHICyro1n0f60nrPR9xj1hwWlpmxxNZc1+mREdHvyYGo6ce84goCPTe349XoH1tWj89g/H1FaOrdjVcznw==
|
||||
"@react-native/babel-plugin-codegen@0.75.0-nightly-20240420-03a51da72":
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.75.0-nightly-20240420-03a51da72.tgz#418e3b4b7ff323fe973ec7ccf507ab0979a4d41a"
|
||||
integrity sha512-y44ynwZ0bkmeerEaUoxNxWPQUeypE4r5Z0HF7fEgySkSMMfUKqZcnQVtVmXBm/KDorCzlx/JZC/4Dky5Pyq4SQ==
|
||||
dependencies:
|
||||
"@react-native/codegen" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/codegen" "0.75.0-nightly-20240420-03a51da72"
|
||||
|
||||
"@react-native/babel-preset@0.75.0-nightly-20240413-1b152f6ec":
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.75.0-nightly-20240413-1b152f6ec.tgz#6d97dd2cbede918765ac3ecdf6f39dbd6e0bafeb"
|
||||
integrity sha512-liq/BGo7xgl+UPWt2eEx9xEGXguCnfdfl8Ml0iQ/c82Q/ZmhlW528B54F0lVbbfIvaqbPkT41jNlZGGC2PDwcA==
|
||||
"@react-native/babel-preset@0.75.0-nightly-20240420-03a51da72":
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/babel-preset/-/babel-preset-0.75.0-nightly-20240420-03a51da72.tgz#464c3bed086368abef17a5cf4c9687439f9adaa2"
|
||||
integrity sha512-SrNWKC1De44eUyZCQNxj/Jpt5x7mAObqCw07nmW+rR6BKAwtSbt1R8pSfItuuu3UKYYfEHwY6ANjisAKSD3iwQ==
|
||||
dependencies:
|
||||
"@babel/core" "^7.20.0"
|
||||
"@babel/plugin-proposal-async-generator-functions" "^7.0.0"
|
||||
|
@ -2549,14 +2549,14 @@
|
|||
"@babel/plugin-transform-typescript" "^7.5.0"
|
||||
"@babel/plugin-transform-unicode-regex" "^7.0.0"
|
||||
"@babel/template" "^7.0.0"
|
||||
"@react-native/babel-plugin-codegen" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/babel-plugin-codegen" "0.75.0-nightly-20240420-03a51da72"
|
||||
babel-plugin-transform-flow-enums "^0.0.2"
|
||||
react-refresh "^0.14.0"
|
||||
|
||||
"@react-native/codegen@0.75.0-nightly-20240413-1b152f6ec":
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.75.0-nightly-20240413-1b152f6ec.tgz#79af3a0da2aad8c90f38c49fcbfb971fee6d073b"
|
||||
integrity sha512-YBk5AQxptih20XZf8fDhmJG5ZqpcPNTPlZFPZMLgfrm0ld0NdJlPknbbJz34YrYTCImFrGhmZNlReQCuuTkO7g==
|
||||
"@react-native/codegen@0.75.0-nightly-20240420-03a51da72":
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/codegen/-/codegen-0.75.0-nightly-20240420-03a51da72.tgz#c242d436a0eab928dd645b16e68a58fd494640ef"
|
||||
integrity sha512-wbUglCC63jmtvoIR0HvwsC8ZWm7yyu++A/vZDVlc2UOm4RV0YPAaFIolNFwBWd1eGRuKo6Ws3flhNmkFk0EHZw==
|
||||
dependencies:
|
||||
"@babel/parser" "^7.20.0"
|
||||
glob "^7.1.1"
|
||||
|
@ -2566,15 +2566,15 @@
|
|||
mkdirp "^0.5.1"
|
||||
nullthrows "^1.1.1"
|
||||
|
||||
"@react-native/community-cli-plugin@0.75.0-nightly-20240413-1b152f6ec":
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.75.0-nightly-20240413-1b152f6ec.tgz#faae27a257952459e3dd7170d7ba59430e729070"
|
||||
integrity sha512-RsgWTMNdTYNYR9nMvWvto4MxlLrFvwRv7/fy+e5pT7nLBSlHSqZ3Nh1hVoCSc5dbsQLkrxTyQmSvG8x8vl9AFw==
|
||||
"@react-native/community-cli-plugin@0.75.0-nightly-20240420-03a51da72":
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/community-cli-plugin/-/community-cli-plugin-0.75.0-nightly-20240420-03a51da72.tgz#2ee69c3e5bae97c27a1e0b4b6b301776982e3509"
|
||||
integrity sha512-UBbw3cJmmrc94hsX6a7abDq6qBqaQe9xP5n5FplaJEUIefUyf+FD5mK+5PNmwZKDSWFTMWBj4++tgn9/L/S4Iw==
|
||||
dependencies:
|
||||
"@react-native-community/cli-server-api" "14.0.0-alpha.2"
|
||||
"@react-native-community/cli-tools" "14.0.0-alpha.2"
|
||||
"@react-native/dev-middleware" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/metro-babel-transformer" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/dev-middleware" "0.75.0-nightly-20240420-03a51da72"
|
||||
"@react-native/metro-babel-transformer" "0.75.0-nightly-20240420-03a51da72"
|
||||
chalk "^4.0.0"
|
||||
execa "^5.1.1"
|
||||
metro "^0.80.3"
|
||||
|
@ -2584,18 +2584,18 @@
|
|||
querystring "^0.2.1"
|
||||
readline "^1.3.0"
|
||||
|
||||
"@react-native/debugger-frontend@0.75.0-nightly-20240413-1b152f6ec":
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.75.0-nightly-20240413-1b152f6ec.tgz#f226a73ea89405de99bbe8cb1daa5da0f857ab0a"
|
||||
integrity sha512-Fdg+q2JA9qQhFpaq114NBoGPc+5rSuZMQeyGM8uxf/wXGs/+EI+3e9nU2QtN59M36yxjDrA6iISdXqUsXPA6hw==
|
||||
"@react-native/debugger-frontend@0.75.0-nightly-20240420-03a51da72":
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/debugger-frontend/-/debugger-frontend-0.75.0-nightly-20240420-03a51da72.tgz#cede088794c95d2ccaf382fc208eacb737dbab62"
|
||||
integrity sha512-DeKCbgPYlihIE9AryGGOsYlTaFOuEn7U2tygtm4wJfooIiTFN9PI8dEA8n3kEo/0QPKlLTb0iD9SebHPE8JHzA==
|
||||
|
||||
"@react-native/dev-middleware@0.75.0-nightly-20240413-1b152f6ec":
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.75.0-nightly-20240413-1b152f6ec.tgz#0dbb0df5d81c87b75798249a80d985781fb38b4f"
|
||||
integrity sha512-0fGUrmmbxHe+Uuxp0K/r1GX0acQtbthshedhW0ln0ooZwbymhpukTXROe/cy/JlliUXMEPR561up/TgVcxUoww==
|
||||
"@react-native/dev-middleware@0.75.0-nightly-20240420-03a51da72":
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/dev-middleware/-/dev-middleware-0.75.0-nightly-20240420-03a51da72.tgz#6c4c88dd884ab0ec5afca9412112eccc218acc49"
|
||||
integrity sha512-yvvsMQaRsAS1g1BR9sXAgG1YfPWDfG1Mc3+WVZwHvROzCYXJNKFd4WKrJMWn40Ndsx0bI3+a5ChjTXZizqKH2A==
|
||||
dependencies:
|
||||
"@isaacs/ttlcache" "^1.4.1"
|
||||
"@react-native/debugger-frontend" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/debugger-frontend" "0.75.0-nightly-20240420-03a51da72"
|
||||
chrome-launcher "^0.15.2"
|
||||
chromium-edge-launcher "^0.2.0"
|
||||
connect "^3.6.5"
|
||||
|
@ -2608,14 +2608,14 @@
|
|||
temp-dir "^2.0.0"
|
||||
ws "^6.2.2"
|
||||
|
||||
"@react-native/eslint-config@0.75.0-nightly-20240413-1b152f6ec":
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/eslint-config/-/eslint-config-0.75.0-nightly-20240413-1b152f6ec.tgz#3337f1ad091ea34acb140e4765b07f435d9fa021"
|
||||
integrity sha512-ru0kDHyZr+5XgducnEr4AyDusL8i4TlozT3XeDBiTonp6ru5QyGYZmFPGc1kb5N9PjU++vHtFI/PMXMFl4kIXg==
|
||||
"@react-native/eslint-config@0.75.0-nightly-20240420-03a51da72":
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/eslint-config/-/eslint-config-0.75.0-nightly-20240420-03a51da72.tgz#673b7220b784f0a3e3b2933b610e46d21b79cd80"
|
||||
integrity sha512-U6uWZbisWpS2jFtLegcp4kRup6bOR/6JEk3eD623CVQGTI1cz0+FuHr+Fb9OHu3qM/ylWPktucEHRINglmNlRQ==
|
||||
dependencies:
|
||||
"@babel/core" "^7.20.0"
|
||||
"@babel/eslint-parser" "^7.20.0"
|
||||
"@react-native/eslint-plugin" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/eslint-plugin" "0.75.0-nightly-20240420-03a51da72"
|
||||
"@typescript-eslint/eslint-plugin" "^7.1.1"
|
||||
"@typescript-eslint/parser" "^7.1.1"
|
||||
eslint-config-prettier "^8.5.0"
|
||||
|
@ -2626,45 +2626,45 @@
|
|||
eslint-plugin-react-hooks "^4.6.0"
|
||||
eslint-plugin-react-native "^4.0.0"
|
||||
|
||||
"@react-native/eslint-plugin@0.75.0-nightly-20240413-1b152f6ec":
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.75.0-nightly-20240413-1b152f6ec.tgz#3450b2b0091b385f830349bc68c56908fce3b07f"
|
||||
integrity sha512-NJX5uFQqtmxDjpcdEVHhPyi/Z/yjRH43xHBqs8Um6jNe6fVnhxv0XLDaugUk4EEGdzJhKwPUPhlzjiJbGdJO9g==
|
||||
"@react-native/eslint-plugin@0.75.0-nightly-20240420-03a51da72":
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/eslint-plugin/-/eslint-plugin-0.75.0-nightly-20240420-03a51da72.tgz#dec25e700c47e96066ff186f097fe8599244b3c3"
|
||||
integrity sha512-LxqQnVLumTDc3Vm1sDZSIJmiiA8Pu+Plt0ZPBaoRIkftRJKgvHxE9jUerHBWCeqD71lUMIFqEALA6m8o+O5NZQ==
|
||||
|
||||
"@react-native/gradle-plugin@0.75.0-nightly-20240413-1b152f6ec":
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.75.0-nightly-20240413-1b152f6ec.tgz#c9067d1d9462a2e6a596ed034f539ddb2ab7713e"
|
||||
integrity sha512-x4GzGBg8Mfmv+L8rKG8lcAh25A1TnGLwTSnooGWi6m5/x1pPi96q/1S3x1E3oe4+uMJqlsU5siMLhSqS8Ad5YA==
|
||||
"@react-native/gradle-plugin@0.75.0-nightly-20240420-03a51da72":
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/gradle-plugin/-/gradle-plugin-0.75.0-nightly-20240420-03a51da72.tgz#755a920860fdf0729cefff66759a5b5d2cc7364e"
|
||||
integrity sha512-l3sfaXIHhXj01yvWD7AC5IyfsNfX/cFTJTWSFTbj1hVrDYu8ZCAFNFCW84kxYMGODq4+uh5S5TJ2qA6/AAPONQ==
|
||||
|
||||
"@react-native/js-polyfills@0.75.0-nightly-20240413-1b152f6ec":
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.75.0-nightly-20240413-1b152f6ec.tgz#17a9a3842060e754f90660d101d6d216bcd95e82"
|
||||
integrity sha512-+/RRdJgEw7SFOBRwp0FJwRxnmdfvMbV5LHQxVgtDvgFnB+Da1byxcNg1HPd9vYjt268B8zoMe1vwmn7xdtk7mg==
|
||||
"@react-native/js-polyfills@0.75.0-nightly-20240420-03a51da72":
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/js-polyfills/-/js-polyfills-0.75.0-nightly-20240420-03a51da72.tgz#5731b97f212042204ae5515ab23c2efca868add9"
|
||||
integrity sha512-b+9xL5qUIGHcNNi3kQiAbg15hAvvv3oReczJwaBqzoqZnPvf6ea0vOb3+wgrHNbAoUpGfMova2vfXdTGkt3IaQ==
|
||||
|
||||
"@react-native/metro-babel-transformer@0.75.0-nightly-20240413-1b152f6ec":
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.75.0-nightly-20240413-1b152f6ec.tgz#5210f475e983af30a568f298af582a38befb092d"
|
||||
integrity sha512-d9rD4pv5L1V1IzNka1WzrB7ymLJ9yRE/w6/LPXZkJM74gd/GO9IxIrwLAWIpa9hY97/FKgxktIEcwtuWYcGkZg==
|
||||
"@react-native/metro-babel-transformer@0.75.0-nightly-20240420-03a51da72":
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.75.0-nightly-20240420-03a51da72.tgz#735fbac108725eb3c8b865959338ea29a6177e7e"
|
||||
integrity sha512-qqt+QqUthQ2CjcWriOKBuvtZO/R4SBEynhQXZ3f3aH5KWfIKGZyi+aJn7NY507NP428YG/vrBeuC/CNzbBPA1w==
|
||||
dependencies:
|
||||
"@babel/core" "^7.20.0"
|
||||
"@react-native/babel-preset" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/babel-preset" "0.75.0-nightly-20240420-03a51da72"
|
||||
hermes-parser "0.20.1"
|
||||
nullthrows "^1.1.1"
|
||||
|
||||
"@react-native/metro-config@0.75.0-nightly-20240413-1b152f6ec":
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.75.0-nightly-20240413-1b152f6ec.tgz#51f8750c35df0f7c8c56c9b9bf81d35189d36b5c"
|
||||
integrity sha512-xFMGtmd4RoKgozQQA5BumfhljywbW4ZyH2JDC35WCeAj69FwvuqPk0JB9cI2eTtrvylmQlD6kQiQZEqFBIAuDQ==
|
||||
"@react-native/metro-config@0.75.0-nightly-20240420-03a51da72":
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/metro-config/-/metro-config-0.75.0-nightly-20240420-03a51da72.tgz#c9a34219611a912b5b65e588ee6424a232b936e1"
|
||||
integrity sha512-jk+FvKbjnG9nq4xxkaCoSl2cXQop5zSGIhbyC/o/YjAmarWzzj55S2X8fdAdoOZKPMw5ig3Lf1Hb/D9tLZbkEw==
|
||||
dependencies:
|
||||
"@react-native/js-polyfills" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/metro-babel-transformer" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/js-polyfills" "0.75.0-nightly-20240420-03a51da72"
|
||||
"@react-native/metro-babel-transformer" "0.75.0-nightly-20240420-03a51da72"
|
||||
metro-config "^0.80.3"
|
||||
metro-runtime "^0.80.3"
|
||||
|
||||
"@react-native/normalize-colors@0.75.0-nightly-20240413-1b152f6ec":
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.75.0-nightly-20240413-1b152f6ec.tgz#e6afd2bed3b97a6ee4a840d10d183afee08c7caa"
|
||||
integrity sha512-zZl6louzlA88XpO8oa/1wtHXzq7egk9q/ayoX+uKNa5b7oTA5nAel4g2fmDLAWAtVkGElTB2WSlEs6ORfWUWNQ==
|
||||
"@react-native/normalize-colors@0.75.0-nightly-20240420-03a51da72":
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/normalize-colors/-/normalize-colors-0.75.0-nightly-20240420-03a51da72.tgz#ac2ebe883d59c7768c66ec53f67e5e8a362c2dbb"
|
||||
integrity sha512-OZ48SXu6/gkDkzWSboaNZF8ZA+KfhkYQdJPQl94D8gXYlvxHfZFREaVYUQiCUtn2PsR8lBCkk5koSHxl1fe2hA==
|
||||
|
||||
"@react-native/popup-menu-android@0.75.0-main":
|
||||
version "0.75.0-main"
|
||||
|
@ -2673,10 +2673,10 @@
|
|||
dependencies:
|
||||
nullthrows "^1.1.1"
|
||||
|
||||
"@react-native/virtualized-lists@0.75.0-nightly-20240413-1b152f6ec":
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.75.0-nightly-20240413-1b152f6ec.tgz#333f565bb8979901e5dfe37cbe1d323546dbcba9"
|
||||
integrity sha512-YaPq/9qmrQntKE9UZRy8Z1SiqUyK/qFbvnELiDs1PobjbhMo0XpMqAfLgIPy4FmdCOe3OpUDbz852thEA2ukbA==
|
||||
"@react-native/virtualized-lists@0.75.0-nightly-20240420-03a51da72":
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/@react-native/virtualized-lists/-/virtualized-lists-0.75.0-nightly-20240420-03a51da72.tgz#7c08e74271fe927f7cf0e774d2cc05b8a614fe4a"
|
||||
integrity sha512-PvWIIKX4j6Eded+C+ehpLJu9IB4Jo5w/OII1sIfchF4cW0qc/+IAoUTpHjxen0OUFpFd0cBLWxGHfc5tPOyTOQ==
|
||||
dependencies:
|
||||
invariant "^2.2.4"
|
||||
nullthrows "^1.1.1"
|
||||
|
@ -6792,10 +6792,10 @@ flow-bin@^0.217.2:
|
|||
resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.217.2.tgz#96affa17f3cb303019f740bffeb28cfab7ce1250"
|
||||
integrity sha512-fk4NcfybYjzlww1sEsfk71nqXvonAYpMRFEjmZxibDWWBiaw8DGmqXWZ7XzSunVB15VkJfOstn/sYP1EYPPyWg==
|
||||
|
||||
flow-bin@^0.233.0:
|
||||
version "0.233.0"
|
||||
resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.233.0.tgz#e31951c81d3ec590e1cbfd96e540f6dd2459554c"
|
||||
integrity sha512-BInTgW8v6xdWzVcItgKKUYCacheMw78Xrrn0Ziii5lN+vf/RKmvVX9mFHuOSN1zawZuq7GpqmT6oIS/oQuOAQg==
|
||||
flow-bin@^0.234.0:
|
||||
version "0.234.0"
|
||||
resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.234.0.tgz#17dfc5aac1d928b6d7194f93bd0bf742d735c77d"
|
||||
integrity sha512-uLmvfFRW6yEcz2wSJ2H6192RwknBpzAHBezDcXzmxJASxB6QzjKadhPxZvsJ74uJ+9Th1hDNuRB4mGrVUeneyA==
|
||||
|
||||
flow-enums-runtime@^0.0.5:
|
||||
version "0.0.5"
|
||||
|
@ -10805,10 +10805,10 @@ react-clone-referenced-element@^1.0.1:
|
|||
resolved "https://registry.yarnpkg.com/react-clone-referenced-element/-/react-clone-referenced-element-1.1.1.tgz#8d76727dc0459788e461741e804a512d20757381"
|
||||
integrity sha512-LZBPvQV8W0B5dFzXFu+D3Tpil8YHS8tO00iFsfXcTLdtpuH7XyvaHqHcoz4hd4uNPQCZ30fceh+s7mLznzMXvg==
|
||||
|
||||
react-devtools-core@^5.0.2:
|
||||
version "5.2.0"
|
||||
resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-5.2.0.tgz#072ecd2d84d3653817cc11e4b16f60a3c2b705f9"
|
||||
integrity sha512-vZK+/gvxxsieAoAyYaiRIVFxlajb7KXhgBDV7OsoMzaAE+IqGpoxusBjIgq5ibqA2IloKu0p9n7tE68z1xs18A==
|
||||
react-devtools-core@5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/react-devtools-core/-/react-devtools-core-5.1.0.tgz#3396494ac94b21602cac4fd657d600e0b52f4a0b"
|
||||
integrity sha512-NRtLBqYVLrIY+lOa2oTpFiAhI7Hru0AUXI0tP9neCyaPPAzlZyeH0i+VZ0shIyRTJbpvyqbD/uCsewA2hpfZHw==
|
||||
dependencies:
|
||||
shell-quote "^1.6.1"
|
||||
ws "^7"
|
||||
|
@ -10835,22 +10835,22 @@ react-native-xaml@^0.0.78:
|
|||
dependencies:
|
||||
"@types/react" "*"
|
||||
|
||||
react-native@0.75.0-nightly-20240413-1b152f6ec:
|
||||
version "0.75.0-nightly-20240413-1b152f6ec"
|
||||
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.75.0-nightly-20240413-1b152f6ec.tgz#43ccfa63ba92e2567568342c26faa97ff69be963"
|
||||
integrity sha512-tO08Q81W8Hg9xcyVLqeBaGVsrAdWWlYMdRY32tYXTMhmP6Cx8ekSGVuxzyyQxIYLvQMRgYyZEInf+WHz9LUBAA==
|
||||
react-native@0.75.0-nightly-20240420-03a51da72:
|
||||
version "0.75.0-nightly-20240420-03a51da72"
|
||||
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.75.0-nightly-20240420-03a51da72.tgz#3299823ac316bc88200a882366f29df7a032a2c2"
|
||||
integrity sha512-NXwJn9zOqFZLqtIUdtzK80ELSvj6NxXgGgMCH7CTFU5OQIDDbhQmBSx3VDPxh6HJ8QTt+cmuGSYYBOT6BpdYgw==
|
||||
dependencies:
|
||||
"@jest/create-cache-key-function" "^29.6.3"
|
||||
"@react-native-community/cli" "14.0.0-alpha.2"
|
||||
"@react-native-community/cli-platform-android" "14.0.0-alpha.2"
|
||||
"@react-native-community/cli-platform-ios" "14.0.0-alpha.2"
|
||||
"@react-native/assets-registry" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/codegen" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/community-cli-plugin" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/gradle-plugin" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/js-polyfills" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/normalize-colors" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/virtualized-lists" "0.75.0-nightly-20240413-1b152f6ec"
|
||||
"@react-native/assets-registry" "0.75.0-nightly-20240420-03a51da72"
|
||||
"@react-native/codegen" "0.75.0-nightly-20240420-03a51da72"
|
||||
"@react-native/community-cli-plugin" "0.75.0-nightly-20240420-03a51da72"
|
||||
"@react-native/gradle-plugin" "0.75.0-nightly-20240420-03a51da72"
|
||||
"@react-native/js-polyfills" "0.75.0-nightly-20240420-03a51da72"
|
||||
"@react-native/normalize-colors" "0.75.0-nightly-20240420-03a51da72"
|
||||
"@react-native/virtualized-lists" "0.75.0-nightly-20240420-03a51da72"
|
||||
abort-controller "^3.0.0"
|
||||
anser "^1.4.9"
|
||||
ansi-regex "^5.0.0"
|
||||
|
@ -10868,7 +10868,7 @@ react-native@0.75.0-nightly-20240413-1b152f6ec:
|
|||
nullthrows "^1.1.1"
|
||||
pretty-format "^26.5.2"
|
||||
promise "^8.3.0"
|
||||
react-devtools-core "^5.0.2"
|
||||
react-devtools-core "5.1.0"
|
||||
react-refresh "^0.14.0"
|
||||
react-shallow-renderer "^16.15.0"
|
||||
regenerator-runtime "^0.13.2"
|
||||
|
|
Загрузка…
Ссылка в новой задаче