Skip to content

Commit 621c11e

Browse files
authored
[Win32] TextProps from rn-win32 should export win32 specific properties (#12835)
* TextProps from rn-win32 should export win32 specific properties * Change files * fix * Remove TextWin32 * Replace TextWin32 usage in tests * fix
1 parent 1972032 commit 621c11e

File tree

11 files changed

+365
-164
lines changed

11 files changed

+365
-164
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "prerelease",
3+
"comment": "TextProps from rn-win32 should export win32 specific properties",
4+
"packageName": "@office-iss/react-native-win32",
5+
"email": "[email protected]",
6+
"dependentChangeType": "patch"
7+
}

packages/@office-iss/react-native-win32-tester/src/js/components/TextWin32Test.tsx

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,57 @@
11
'use strict';
22
import React from 'react'
3-
import { Button, TextWin32, View, ViewWin32 } from 'react-native';
3+
import { Button, Text, View, ViewWin32 } from 'react-native';
44

55
// Disabling no-jsx-lambda so functional components are more convenient to use
66

77
const TextRunsTest: React.FC<{}> = () => {
88
return (
99
<View focusable>
10-
<TextWin32>
11-
<TextWin32>Text With </TextWin32>
12-
<TextWin32>Multiple Text </TextWin32>
13-
<TextWin32>Children [Runs]</TextWin32>
14-
</TextWin32>
10+
<Text>
11+
<Text>Text With </Text>
12+
<Text>Multiple Text </Text>
13+
<Text>Children [Runs]</Text>
14+
</Text>
1515
</View>
1616
);
1717
};
1818

1919
const FocusableTextTest: React.FC<{}> = () => {
2020
return (
2121
<ViewWin32>
22-
<TextWin32 focusable>This TextWin32 demonstrates focusable</TextWin32>
22+
<Text focusable>This Text demonstrates focusable</Text>
2323
</ViewWin32>
2424
);
2525
};
2626

2727
const SelectableTextTest: React.FC<{}> = () => {
2828
return (
2929
<ViewWin32>
30-
<TextWin32 selectable>This TextWin32 demonstrates selectable</TextWin32>
30+
<Text selectable>This Text demonstrates selectable</Text>
3131
</ViewWin32>
3232
);
3333
};
3434

3535
const TextStyleTest: React.FC<{}> = () => {
3636
return (
3737
<ViewWin32>
38-
<TextWin32 textStyle={'MediumBold'}>MediumBold TextStyle</TextWin32>
38+
<Text textStyle={'MediumBold'}>MediumBold TextStyle</Text>
3939
</ViewWin32>
4040
);
4141
};
4242

4343
const TextAcessibilityTest: React.FC<{}> = () => {
4444
return (
4545
<ViewWin32>
46-
<TextWin32 accessibilityDescription="A11y description" >This TextWin32 text with accessibilityDescription</TextWin32>
46+
<Text accessibilityDescription="A11y description" >This Text text with accessibilityDescription</Text>
4747
</ViewWin32>
4848
);
4949
};
5050

5151
const TooltipTextTest: React.FC<{}> = () => {
5252
return (
5353
<ViewWin32>
54-
<TextWin32 tooltip="Example Tooltip">This TextWin32 demonstrates a tooltip</TextWin32>
54+
<Text tooltip="Example Tooltip">This Text demonstrates a tooltip</Text>
5555
</ViewWin32>
5656
);
5757
};
@@ -78,17 +78,17 @@ const TextPromotionTest: React.FC<{}> = () => {
7878
setFocusabilityState(FocusabilityState.Selectable);
7979
}
8080
}} />
81-
<TextWin32
81+
<Text
8282
focusable={focusabilityState === FocusabilityState.Focusable}
8383
selectable={focusabilityState === FocusabilityState.Selectable}
8484
>
8585
This text is currently...
86-
</TextWin32>
87-
<TextWin32>
86+
</Text>
87+
<Text>
8888
{(focusabilityState === FocusabilityState.NoFocus) ? 'No Focusability' :
8989
(focusabilityState === FocusabilityState.Focusable) ? 'Focusable' :
9090
'Selectable'}
91-
</TextWin32>
91+
</Text>
9292
</ViewWin32>
9393
);
9494
};
@@ -98,18 +98,18 @@ const BlurringAndFocusingTextTest: React.FC<{}> = () => {
9898
const [isSelectableFocused, setIsSelectableFocused] = React.useState(false);
9999
return (
100100
<View>
101-
<TextWin32
101+
<Text
102102
focusable
103103
onBlur={() => setIsFocusableFocused(false)}
104-
onFocus={() => setIsFocusableFocused(true)}>Focusable text is focused:</TextWin32>
105-
<TextWin32
106-
textStyle={isFocusableFocused ? 'MediumBold' : 'MediumStandard'}>{isFocusableFocused ? 'true' : 'false'}</TextWin32>
107-
<TextWin32
104+
onFocus={() => setIsFocusableFocused(true)}>Focusable text is focused:</Text>
105+
<Text
106+
textStyle={isFocusableFocused ? 'MediumBold' : 'MediumStandard'}>{isFocusableFocused ? 'true' : 'false'}</Text>
107+
<Text
108108
selectable
109109
onBlur={() => setIsSelectableFocused(false)}
110-
onFocus={() => setIsSelectableFocused(true)}>Selectable text is focused:</TextWin32>
111-
<TextWin32
112-
textStyle={isSelectableFocused ? 'MediumBold' : 'MediumStandard'}>{isSelectableFocused ? 'true' : 'false'}</TextWin32>
110+
onFocus={() => setIsSelectableFocused(true)}>Selectable text is focused:</Text>
111+
<Text
112+
textStyle={isSelectableFocused ? 'MediumBold' : 'MediumStandard'}>{isSelectableFocused ? 'true' : 'false'}</Text>
113113
</View>
114114
);
115115
};

packages/@office-iss/react-native-win32-tester/src/js/examples-win32/Accessibility/AccessibilityExampleWin32.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
ListRenderItemInfo,
1111
} from 'react-native';
1212
import { ViewWin32 } from '@office-iss/react-native-win32';
13-
import { IHandledKeyboardEvent, Pressable, TextWin32 } from '@office-iss/react-native-win32';
13+
import { IHandledKeyboardEvent, Pressable } from '@office-iss/react-native-win32';
1414

1515
const styles = StyleSheet.create({
1616
border: {
@@ -135,14 +135,14 @@ class ButtonExample extends React.Component<{}, IFocusableComponentState & IExpa
135135
const HeadingLevelExample: React.FunctionComponent = () => {
136136
return (
137137
<ViewWin32>
138-
<TextWin32 accessible accessibilityRole="header" accessibilityLevel={1} style={styles.heading}>Paragraph Title</TextWin32>
139-
<TextWin32>The above heading level should be heading level 1.</TextWin32>
140-
<TextWin32 accessible accessibilityRole="header" style={styles.heading}>Second Paragraph Title</TextWin32>
141-
<TextWin32>The above heading has no level set. It should default to heading level 2.</TextWin32>
142-
<TextWin32 accessible accessibilityLevel={1} style={styles.heading}>Third Paragraph Title</TextWin32>
143-
<TextWin32>The above heading does not use the "header" role but has a level set. Since the "header" role
138+
<Text accessible accessibilityRole="header" accessibilityLevel={1} style={styles.heading}>Paragraph Title</Text>
139+
<Text>The above heading level should be heading level 1.</Text>
140+
<Text accessible accessibilityRole="header" style={styles.heading}>Second Paragraph Title</Text>
141+
<Text>The above heading has no level set. It should default to heading level 2.</Text>
142+
<Text accessible accessibilityLevel={1} style={styles.heading}>Third Paragraph Title</Text>
143+
<Text>The above heading does not use the "header" role but has a level set. Since the "header" role
144144
is not set, the heading level should be set to none and it will not be read as a header.
145-
</TextWin32>
145+
</Text>
146146
</ViewWin32>
147147
);
148148
};
@@ -244,7 +244,7 @@ const SelectionItemComponent: React.FunctionComponent<ISelectionItemComponentPro
244244
onAccessibilityAction={_onAccessibilityAction}
245245
onAccessibilityTap={_onPress}
246246
>
247-
<TextWin32>{props.value.toString()}</TextWin32>
247+
<Text>{props.value.toString()}</Text>
248248
</ViewWin32>
249249
</Pressable>
250250
);
@@ -372,7 +372,7 @@ const SingleSelectionItemComponent: React.FunctionComponent<ISelectionItemCompon
372372
(props.isSelected) ? {backgroundColor: props.color} : {},
373373
(hasFocus) ? styles.border : {}]}
374374
>
375-
<TextWin32>{props.value.toString()}</TextWin32>
375+
<Text>{props.value.toString()}</Text>
376376
</ViewWin32>
377377
);
378378

packages/@office-iss/react-native-win32/overrides.json

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -114,14 +114,6 @@
114114
"baseFile": "packages/react-native/Libraries/Components/ScrollView/ScrollView.js",
115115
"baseHash": "a842009ee0d0d9ee5ee16e88ff25b9a45f38b667"
116116
},
117-
{
118-
"type": "platform",
119-
"file": "src-win/Libraries/Components/Text/TextWin32.Props.ts"
120-
},
121-
{
122-
"type": "platform",
123-
"file": "src-win/Libraries/Components/Text/TextWin32.tsx"
124-
},
125117
{
126118
"type": "platform",
127119
"file": "src-win/Libraries/Components/TextInput/Tests/TextInputTest.tsx"
@@ -436,6 +428,12 @@
436428
"baseFile": "packages/react-native/Libraries/StyleSheet/StyleSheet.js",
437429
"baseHash": "7c42da708bc5cf4e3135ae81a45dddae48e0bfec"
438430
},
431+
{
432+
"type": "derived",
433+
"file": "src-win/Libraries/Text/Text.d.ts",
434+
"baseFile": "packages/react-native/Libraries/Text/Text.d.ts",
435+
"baseHash": "4b523469a5c8dcfe53749d1739ccf77c0106375e"
436+
},
439437
{
440438
"type": "derived",
441439
"file": "src-win/Libraries/Text/Text.win32.js",

packages/@office-iss/react-native-win32/src-win/Libraries/Components/Button/ButtonWin32.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React from 'react'
22
import RN = require('react-native');
33
import type { IViewWin32Props } from '../View/ViewPropTypes';
4-
import type { ITextWin32Props } from '../Text/TextWin32.Props';
4+
import type { TextProps } from '../../Text/Text';
55
import type { IButtonWin32Props } from './ButtonWin32.Props';
66

77
const enum SelectState {
@@ -39,7 +39,7 @@ export class ButtonWin32 extends React.Component<IButtonWin32Props, IButtonWin32
3939
style: this.props.style as RN.StyleProp<RN.ViewStyle>,
4040
};
4141

42-
const textProps: ITextWin32Props = {
42+
const textProps: TextProps = {
4343
textStyle: 'None',
4444
};
4545
if (this.props.color) {
@@ -48,7 +48,7 @@ export class ButtonWin32 extends React.Component<IButtonWin32Props, IButtonWin32
4848

4949
return (
5050
<RN.ViewWin32 {...viewProps}>
51-
<RN.TextWin32 {...textProps}>{this.props.title}</RN.TextWin32>
51+
<RN.Text {...textProps}>{this.props.title}</RN.Text>
5252
</RN.ViewWin32>
5353
);
5454
}

packages/@office-iss/react-native-win32/src-win/Libraries/Components/Text/TextWin32.Props.ts

Lines changed: 0 additions & 82 deletions
This file was deleted.

packages/@office-iss/react-native-win32/src-win/Libraries/Components/Text/TextWin32.tsx

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)