Add UI components
Extend the owned React Native design system without adding a second styling stack.
The starter owns its common primitives in src/components/ui and product
patterns in src/components/patterns. Reuse or extend those before introducing
a new component library.
Prompt
Add a [date picker / bottom sheet / carousel / component]. Read DESIGN.md,
DESIGN-DARK.md, and agent-skills/add-ui-components.md. Define its pressed,
focused, disabled, loading, error, empty, light/dark, large-text, and screen-reader
states first. Keep Uniwind role tokens and 48dp targets. Add only the native
dependencies the component really needs.Selection order
- Extend an existing owned component when behavior is simple.
- Use a compatible React Native Reusables primitive when it saves meaningful work.
- Consider a broader catalog only if the product genuinely needs it.
Do not install overlapping catalogs or copy NativeWind setup into this Uniwind project. Wrap any vendor primitive behind an app-owned export so the rest of the product does not depend on library-specific APIs.
Done means more than “it renders”
- interaction works on iOS and Android,
- keyboard and sheet focus behave,
- large text does not hide the action,
- screen readers announce label, role, state, and errors,
- reduced motion is respected,
- state gallery and a focused behavior test cover the new primitive,
- the required development build is rebuilt if a native dependency changed.