react-native-windows
react-native-windows copied to clipboard
TextInput component parity for Fabric
This task captures the work to reach parity between Paper and Fabric for the native code for the <TextInput>
component.
ComponentView
- [x] Create the WindowsTextInputComponentView (WTICV)
- [x] Register the ComponentView in the ComponentViewRegistry
APIs
See latest spec at https://reactnative.dev/docs/textinput.
TextInput Props
API | Platform | RNW Paper | RNW Fabric | Notes |
---|---|---|---|---|
|
TIVM | Pri 1 | Fabric: Code present but commented out? | |
|
TIVM | Pri 1 | Fabric: Code present but commented out? | |
|
Android | No | No? | |
|
No | No? | ||
|
TIVM | Pri 1 | ||
|
No | No? | ||
|
TIVM | WTICV | Fabric: #12430 | |
|
iOS | No | No? | |
|
iOS | TIVM | Pri 1 | |
|
TIVM | Pri 1 | ||
|
iOS | No | No? | |
|
TIVM | WTICV | Passed in as text = value ?? defaultValue | |
|
Android | TIVM | WTICV | Paper: #11502, Fabric: #12158 |
|
Android | No | No? | |
|
TIVM | WTICV | Fabric: #11488 | |
|
iOS | No | No? | |
|
Android | No | No? | |
|
Android | No | No? | |
|
Android | No | No? | |
|
iOS | No | No? | |
|
iOS | No | No? | |
|
TIVM | Pri 1 | ||
|
No | No? | ||
|
TIVM | WTICV | ||
|
TIVM | WTICV | Fabric: #11490 | |
|
Android | No | No? | |
|
TIVM+VMB | Pri 1 | Event is topTextInputBlur | |
|
TIVM+VMB | WTICV | Event is topTextInputChange | |
|
TIVM | Pri 1 | Event is topTextInputChangeText | |
|
TIVM | Pri 1 | Event is topTextInputContentSizeChange | |
|
TIVM+VMB | Pri 1 | Event is topTextInputEndEditing | |
|
TIVM | Pri 1 | Event is topTextTInputPressIn | |
|
TIVM | Pri 1 | Event is topTextTInputPressOut | |
|
TIVM+VMB | Pri 1 | Event is topTextInputFocus | |
|
TIVM | Pri 1 | Event is topTextInputKeyPress | |
|
VMB | Pri 1 | ||
|
TIVM | Pri 1 | Event is topTextInputScroll | |
|
TIVM | WTICV | Event is topTextInputSelectionChange | |
|
TIVM+VMB | Pri 1 | Event is topTextInputSubmitEditing | |
|
TIVM | WTICV | Fabric: #12018 | |
|
TIVM | WTICV | Fabric: #12018 | |
|
Android | No | No? | |
|
No | No? | ||
|
iOS | No | No? | |
|
iOS | TIVM | Pri 1 | |
|
TIVM | WTICV | Fabric: #11484 | |
|
TIVM | Pri 1 | Fabric: Code present but commented out? | |
|
TIVM | Pri 1 | ||
|
TIVM | Pri 1 | ||
|
No | No? | ||
|
iOS | TIVM | Pri 1 | |
|
TIVM | Pri 1 | ||
|
iOS | No | No? | |
|
IOS | No | No? | |
|
See Below | See Below | Supports Text Style Props*, View Style Props, Layout Props, Shadow Props | |
|
Android | No | No? | |
|
Android | No | No? | |
|
TIVM | WTICV | Passed in as text = value ?? defaultValue | |
|
Windows | TIVM | Pri 1 | |
|
Windows | TIVM | Pri 1 | |
|
Windows | TIVM | Pri 1 |
TextInput Methods
API | Platform | RNW Paper | RNW Fabric | Notes |
---|---|---|---|---|
|
TIVM+VMB | CBCV | Duplicate of Native Component Method? Fabric: #11323 | |
|
TIVM+VMB | CBCV | Duplicate of Native Component Method? Fabric: #11323 | |
|
TIVM | WTICV | Invoked by calling setTextAndSelection | |
|
JS | JS |
View Props
API | Platform | RNW Paper | RNW Fabric | Notes |
---|---|---|---|---|
|
FEVM | Pri 2 | ||
|
iOS | No | No? | |
|
FEVM | CBCV+CDAP | Fabric: #12036 | |
|
iOS | No | No? | |
|
FEVM | CBCV+CDAP | Fabric: #11674 | |
|
iOS | No | No? | |
|
Android | FEVM | Pri 2 | |
|
FEVM | CDAP | Fabric: #11412 | |
|
FEVM | CBCV+CDAP | Fabric: Partial impl in #11674 | |
|
FEVM | CBCV+CDAP+WTICV | Fabric: #12287 | |
|
iOS | No | No? | |
|
CVM+FEVM | CBCV+CDAP | Fabric: #11719 | |
|
Android | No | No? | |
|
Android | TIVM+CVM | CBCV+CDAP | Fabric: #11674 |
|
JS | JS | ||
|
Android | No | No? | |
|
No | No? | ||
|
No | No? | ||
|
Android | No | No? | |
|
Android | No | No? | |
|
Android | No | No? | |
|
Android | No | No? | |
|
Android | No | No? | |
|
VMB | Pri 2 | ||
|
iOS | No | No? | |
|
No | CDAP | Fabric: #11874 | |
|
VMB | Pri 1 | ||
|
iOS | No | No? | |
|
JS | JS | ||
|
JS | JS | ||
|
JS | JS | ||
|
JS | JS | ||
|
JS | JS | ||
|
JS | JS | ||
|
JS | JS | ||
|
JS | JS | ||
|
JS | JS | ||
|
JS | JS | ||
|
VMB | WTICV | ||
|
No | No? | ||
|
Android | No | No? | |
|
iOS | No | No? | |
|
FEVM | CDAP | Fabric: #11412 | |
|
Windows | FEVM | Pri 2 | |
|
Windows | FEVM | Pri 2 | |
|
Windows | JS | CBCV+WTICV | Fabric: #11323, Focus ring impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics |
|
Windows | TIVM+VMB | WTICV+CBCV | Fabric: #12146 |
|
Windows | VMB | WTICV+CBCV | Fabric: #12146 |
|
Windows | TIVM+VMB | Pri 1 | Duplicate of TextInput prop, but with different event? |
|
Windows | TIVM+VMB | Pri 1 | Duplicate of TextInput prop, but with different event? |
|
Windows | VMB | WTICV+CBCV+CEH | Fabric: #12146 |
|
Windows | VMB | Pri 1 | |
|
Windows | VMB | WTICV+CBCV+CEH | Fabric: #12146 |
|
Windows | VMB | Pri 1 | |
|
Windows | VMB | CEH | |
|
Windows | VMB | CEH | |
|
Windows | CVM | Pri 1 | |
|
Windows | FEVM | Pri 1 |
Text Style Props
API | Platform | RNW Paper | RNW Fabric | Notes |
---|---|---|---|---|
|
CVM | WTICV | ||
|
TIVM | Pri 1 | Fabric: Code present but commented out? | |
|
TIVM | WTICV | ||
|
TIVM | Pri 1 | Fabric: Code present but commented out? | |
|
TIVM | WTICV | ||
|
Android | No | No? | |
|
No | No? | ||
|
TIVM | Pri 1 | ||
|
No | Pri 1 | ||
|
TIVM | Pri 1 | ||
|
Android | No | No? | |
|
iOS | No | No? | |
|
No | Pri 1 | ||
|
iOS | No | No? | |
|
No | No? | ||
|
No | No? | ||
|
No | No? | ||
|
No | Pri 1 | ||
|
FEVM | Pri 1 | ||
|
Windows | TIVM | Pri 1 | Alias for letterSpacing? |
View Style Props
API | Platform | RNW Paper | RNW Fabric | Notes |
---|---|---|---|---|
|
No | CBCV+WTICV | Fabric: #12115 Impl in CBCV and CV must call updateTransformProps | |
|
CVM | WTICV | ||
|
No | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
No | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
No | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
No | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
No | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
No | Pri 2 | Fabric: Partial implementation, incomplete | |
|
No | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM | CBCV+WTICV | Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
Android | No | No? | |
|
FEVM | Pri 1 | ||
|
FEVM | CBCV+WTICVCV | Fabric: #12115 Impl in CBCV and CV must call updateTransformProps |
Layout Props
API | Platform | RNW Paper | RNW Fabric | Notes |
---|---|---|---|---|
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
FEVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
FEVM+NUIM | WTICV | ||
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
VMB+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
VMB+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | Pri 1 | ||
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
CVM+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
VMB+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
VMB+NUIM | CBCV+WTICV | Fabric: RN Core resolves LayoutMetrics | |
|
FEVM | Pri 1 |
Shadow Props
API | Platform | RNW Paper | RNW Fabric | Notes |
---|---|---|---|---|
|
No | CBCV+WTICV | Fabric: #12108, Shadow props impl in CBCV and CV must call updateShadowProps | |
|
iOS | No | CBCV+WTICV | Fabric: #12108, Shadow props impl in CBCV and CV must call updateShadowProps |
|
iOS | No | CBCV+WTICV | Fabric: #12108, Shadow props impl in CBCV and CV must call updateShadowProps |
|
iOS | No | CBCV+WTICV | Fabric: #12108, Shadow props impl in CBCV and CV must call updateShadowProps |
Native Component Methods
API | Platform | RNW Paper | RNW Fabric | Notes |
---|---|---|---|---|
|
Windows | TIVM+VMB | CBCV | Fabric: #11323 |
|
Windows | TIVM+VMB | CBCV | Fabric: #11323 |
Glossary
See the Glossary to decode the abbreviations above and/or the RNW Fabric Inventory.xlsx.