diff --git a/change/react-native-windows-8d2055e1-81e4-41ad-8d20-8eec501733b3.json b/change/react-native-windows-8d2055e1-81e4-41ad-8d20-8eec501733b3.json new file mode 100644 index 00000000000..7a14ce8521d --- /dev/null +++ b/change/react-native-windows-8d2055e1-81e4-41ad-8d20-8eec501733b3.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "Allow pointer events on selectable Text", + "packageName": "react-native-windows", + "email": "erozell@outlook.com", + "dependentChangeType": "patch" +} diff --git a/packages/@react-native-windows/tester/src/js/examples-win/LegacyTests/SelectableTextTestPage.tsx b/packages/@react-native-windows/tester/src/js/examples-win/LegacyTests/SelectableTextTestPage.tsx new file mode 100644 index 00000000000..125ad20d1e3 --- /dev/null +++ b/packages/@react-native-windows/tester/src/js/examples-win/LegacyTests/SelectableTextTestPage.tsx @@ -0,0 +1,74 @@ +/** + * Copyright (c) Microsoft Corporation. + * Licensed under the MIT License. + * @format + */ + +import React from 'react'; +import {Button, StyleSheet, Text, View} from 'react-native'; + +interface IPressableTextState { + count: number; + isSelectable: boolean; +} + +const styles = StyleSheet.create({ + container: { + alignItems: 'flex-start', + }, + pressable: { + color: 'blue', + textDecorationLine: 'underline', + }, +}); + +export class SelectableTextTests extends React.Component< + {}, + IPressableTextState +> { + constructor(props: any) { + super(props); + this.state = { + count: 0, + isSelectable: false, + }; + } + public render() { + const increment = () => this.setState({count: this.state.count + 1}); + return ( + + Pressed: {this.state.count} times. + + Text before{' '} + + click here + {' '} + text after + +