🚧 View
The base View Component. I'm tracking progress on this by its props.
(Also uses Style, Layout and Shadow Props)
View Props:
This roadmap outlines the necessary View props to implement for SolidNative, along with their descriptions and type signatures.
iOS Specific Props
- [ ] shouldRasterizeIOS: Whether this view should be rendered as a bitmap before compositing. Useful for animations and interactions that do not modify this component's dimensions nor its children.
- Type:
boolean | undefined
- Type:
Apple TV Specific Props
- [ ] isTVSelectable: When set to true, this view will be focusable and navigable using the Apple TV remote.
- Type:
boolean | undefined
- Type:
- [ ] hasTVPreferredFocus: May be set to true to force the Apple TV focus engine to move focus to this view.
- Type:
boolean | undefined
- Type:
- [ ] tvParallaxProperties: Object with properties to control Apple TV parallax effects.
- Type:
TVParallaxProperties | undefined
- Type:
- [ ] tvParallaxShiftDistanceX: Used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus.
- Type:
number | undefined
- Type:
- [ ] tvParallaxShiftDistanceY: Used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus.
- Type:
number | undefined
- Type:
- [ ] tvParallaxTiltAngle: Used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus.
- Type:
number | undefined
- Type:
- [ ] tvParallaxMagnification: Used to change the appearance of the Apple TV parallax effect when this view goes in or out of focus.
- Type:
number | undefined
- Type:
Android Specific Props
- [ ] collapsable: Views that are only used to layout their children or otherwise don't draw anything may be automatically removed from the native hierarchy as an optimization.
- Type:
boolean | undefined
- Type:
- [ ] renderToHardwareTextureAndroid: Whether this view should render itself (and all of its children) into a single hardware texture on the GPU. Useful for animations and interactions that only modify opacity, rotation, translation, and/or scale.
- Type:
boolean | undefined
- Type:
- [ ] focusable: Whether this
View
should be focusable with a non-touch input device, e.g., receive focus with a hardware keyboard.- Type:
boolean | undefined
- Type:
- [ ] tabIndex: Indicates whether this
View
should be focusable with a non-touch input device, e.g., receive focus with a hardware keyboard.- Type:
0 | -1 | undefined
- Type:
Common View Props
- [ ] children: Child components.
- Type:
React.ReactNode | undefined
- Type:
- [ ] hitSlop: Defines how far a touch event can start away from the view.
- Type:
null | Insets | number | undefined
- Type:
- [ ] id: Used to reference react managed views from native code.
- Type:
string | undefined
- Type:
- [ ] needsOffscreenAlphaCompositing: Whether this view needs to be rendered offscreen and composited with an alpha to preserve correct colors and blending behavior.
- Type:
boolean | undefined
- Type:
- [ ] onLayout: Invoked on mount and layout changes.
- Type:
((event: LayoutChangeEvent) => void) | undefined
- Type:
- [ ] pointerEvents: Controls how this view receives pointer events.
- Type:
'box-none' | 'none' | 'box-only' | 'auto' | undefined
- Type:
- [ ] removeClippedSubviews: Special performance property useful for scrolling content when there are many subviews.
- Type:
boolean | undefined
- Type:
- [ ] style: Style for the view.
- Type:
StyleProp<ViewStyle> | undefined
- Type:
- [ ] testID: Used to locate this view in end-to-end tests.
- Type:
string | undefined
- Type:
- [ ] nativeID: Used to reference react managed views from native code.
- Type:
string | undefined
- Type: