Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RefreshControl component parity for Fabric #11164

Closed
46 of 158 tasks
Tracked by #11135
jonthysell opened this issue Feb 2, 2023 · 1 comment
Closed
46 of 158 tasks
Tracked by #11135

RefreshControl component parity for Fabric #11164

jonthysell opened this issue Feb 2, 2023 · 1 comment
Labels
API: Completion Area: Component Views Area: Fabric Support Facebook Fabric Area: RefreshControl Deliverable Major item tracked for top-level planning in ADO enhancement New Architecture Broad category for issues that apply to the RN "new" architecture of Turbo Modules + Fabric Parity: Fabric vs. Paper RNW Fabric does not look or behave like RNW Paper
Milestone

Comments

@jonthysell
Copy link
Contributor

jonthysell commented Feb 2, 2023

This task captures the work to reach parity between Paper and Fabric for the native code for the <RefreshControl> component.

ComponentView

  1. Create the RefreshControlComponentView (RCCV)
  2. Register the ComponentView in the ComponentViewRegistry

APIs

See latest spec at https://reactnative.dev/docs/refreshcontrol.

RefreshControl Props

API Platform RNW Paper RNW Fabric Notes
  • refreshing
RCVM Pri 1
  • colors
Android No No?
  • enabled
Android No No?
  • onRefresh
RCVM Pri 1
  • progressBackgroundColor
Android No No?
  • progressViewOffset
No No?
  • size
Android No No?
  • tintColor
iOS No No?
  • title
iOS No No?
  • titleColor
iOS No No?

View Props

API Platform RNW Paper RNW Fabric Notes
  • accessibilityActions
FEVM Pri 2
  • accessibilityElementsHidden
iOS No No?
  • accessibilityHint
FEVM CBCV+CDAP Fabric: #12036
  • accessibilityIgnoresInvertColors
iOS No No?
  • accessibilityLabel
FEVM Pri 2
  • accessibilityLanguage
iOS No No?
  • accessibilityLiveRegion
Android FEVM Pri 2
  • accessibilityRole
FEVM Pri 2
  • accessibilityState
FEVM Pri 2
  • accessibilityValue
FEVM CBCV+CDAP Fabric: #12287
  • accessibilityViewIsModal
iOS No No?
  • accessible
CVM+FEVM CBCV+CDAP Fabric: #11719
  • collapsable
Android No No?
  • focusable
Android CVM Pri 1
  • hitSlop
JS JS
  • importantForAccessibility
Android No No?
  • nativeID
No No?
  • needsOffscreenAlphaCompositing
No No?
  • nextFocusDown
Android No No?
  • nextFocusForward
Android No No?
  • nextFocusLeft
Android No No?
  • nextFocusRight
Android No No?
  • nextFocusUp
Android No No?
  • onAccessibilityAction
VMB Pri 2
  • onAccessibilityEscape
iOS No No?
  • onAccessibilityTap
No CDAP Fabric: #11874
  • onLayout
VMB Pri 1
  • onMagicTap
iOS No No?
  • onMoveShouldSetResponder
JS JS
  • onMoveShouldSetResponderCapture
JS JS
  • onResponderGrant
JS JS
  • onResponderMove
JS JS
  • onResponderReject
JS JS
  • onResponderRelease
JS JS
  • onResponderTerminate
JS JS
  • onResponderTerminationRequest
JS JS
  • onStartShouldSetResponder
JS JS
  • onStartShouldSetResponderCapture
JS JS
  • pointerEvents
VMB Pri 1
  • removeClippedSubviews
No No?
  • renderToHardwareTextureAndroid
Android No No?
  • shouldRasterizeIOS
iOS No No?
  • style
See Below See Below Supports View Style Props, Layout Props, Shadow Props
  • testID
FEVM CDAP Fabric: #11412
  • accessibilityPosInSet
Windows FEVM Pri 2
  • accessibilitySetSize
Windows FEVM Pri 2
  • enableFocusRing
Windows JS Pri 1 Fabric: #11323, Focus ring impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • keyDownEvents
Windows VMB Pri 1
  • keyUpEvents
Windows VMB Pri 1
  • onBlur
Windows VMB Pri 1 Necessary? Fabric: #11323
  • onFocus
Windows VMB Pri 1 Necessary? Fabric: #11323
  • onKeyDown
Windows VMB Pri 1
  • onKeyDownCapture
Windows VMB Pri 1
  • onKeyUp
Windows VMB Pri 1
  • onKeyUpCapture
Windows VMB Pri 1
  • onMouseEnter
Windows VMB Pri 1
  • onMouseLeave
Windows VMB Pri 1
  • tabIndex
Windows CVM Pri 1
  • tooltip
Windows FEVM Pri 1

View Style Props

API Platform RNW Paper RNW Fabric Notes
  • backfaceVisibility
No No?
  • backgroundColor
CVM Pri 1
  • borderBottomColor
No Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderBottomEndRadius
CVM Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderBottomLeftRadius
CVM Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderBottomRightRadius
CVM Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderBottomStartRadius
CVM Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderBottomWidth
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderColor
CVM Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderEndColor
No Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderEndWidth
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderLeftColor
No Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderLeftWidth
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderRadius
CVM Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderRightColor
No Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderRightWidth
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderStartColor
No Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderStartWidth
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
No CBCV Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderTopColor
No Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderTopEndRadius
CVM Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderTopLeftRadius
CVM Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderTopRightRadius
CVM Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderTopStartRadius
CVM Pri 1 Fabric: Border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderTopWidth
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderWidth
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • elevation
Android No No?
  • opacity
FEVM Pri 1

Layout Props

API Platform RNW Paper RNW Fabric Notes
  • alignContent
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • alignItems
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • alignSelf
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • aspectRatio
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • borderBottomWidth
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderEndWidth
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderLeftWidth
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderRightWidth
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderStartWidth
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderTopWidth
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • borderWidth
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics, but border impl in CBCV and CV must call updateBorderProps / updateBorderLayoutMetrics
  • bottom
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • direction
FEVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • display
FEVM+NUIM Pri 1
  • end
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • flex
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • flexBasis
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • flexDirection
RCVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • flexGrow
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • flexShrink
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • flexWrap
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • height
VMB+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • justifyContent
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • left
VMB+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • margin
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • marginBottom
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • marginEnd
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • marginHorizontal
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • marginLeft
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • marginRight
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • marginStart
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • marginTop
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • marginVertical
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • maxHeight
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • maxWidth
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • minHeight
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • minWidth
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • overflow
NUIM Pri 1
  • padding
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • paddingBottom
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • paddingEnd
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • paddingHorizontal
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • paddingLeft
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • paddingRight
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • paddingStart
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • paddingTop
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • paddingVertical
CVM+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • position
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • right
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • start
NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • top
VMB+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • width
VMB+NUIM Pri 1 Fabric: RN Core resolves LayoutMetrics
  • zIndex
FEVM Pri 1

Shadow Props

API Platform RNW Paper RNW Fabric Notes
  • shadowColor
No Pri 2 Fabric: Shadow props impl in CBCV and CV must call updateShadowProps
  • shadowOffset
iOS No Pri 2 Fabric: Shadow props impl in CBCV and CV must call updateShadowProps
  • shadowOpacity
iOS No Pri 2 Fabric: Shadow props impl in CBCV and CV must call updateShadowProps
  • shadowRadius
iOS No Pri 2 Fabric: Shadow props impl in CBCV and CV must call updateShadowProps

Native Component Methods

API Platform RNW Paper RNW Fabric Notes
  • blur()
Windows VMB Pri 1 Necessary? Fabric: #11323
  • focus()
Windows VMB Pri 1 Necessary? Fabric: #11323

Glossary

See the Glossary to decode the abbreviations above and/or the RNW Fabric Inventory.xlsx.

@jonthysell jonthysell added the Area: Fabric Support Facebook Fabric label Feb 2, 2023
@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs: Triage 🔍 New issue that needs to be reviewed by the issue management team (label applied by bot) label Feb 2, 2023
@chrisglein chrisglein added this to the Backlog milestone Feb 2, 2023
@chrisglein chrisglein added Area: RefreshControl enhancement and removed Needs: Triage 🔍 New issue that needs to be reviewed by the issue management team (label applied by bot) labels Feb 2, 2023
@jonthysell jonthysell added New Architecture Broad category for issues that apply to the RN "new" architecture of Turbo Modules + Fabric Parity: Fabric vs. Paper RNW Fabric does not look or behave like RNW Paper Area: Component Views Deliverable Major item tracked for top-level planning in ADO API: Completion labels Mar 7, 2024
@jonthysell
Copy link
Contributor Author

Closing this deliverable, all remaining component properties required for parity are now being tracked by individual issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API: Completion Area: Component Views Area: Fabric Support Facebook Fabric Area: RefreshControl Deliverable Major item tracked for top-level planning in ADO enhancement New Architecture Broad category for issues that apply to the RN "new" architecture of Turbo Modules + Fabric Parity: Fabric vs. Paper RNW Fabric does not look or behave like RNW Paper
Projects
Status: Done
Development

No branches or pull requests

3 participants