Phase 9b · Tier A
RN-universal Sheet pilot
ScaffoldedSide-anchored modal panel built on RN Modal. Same compound API as RnDialog plus a side prop. Slide animation via Animated; backdrop fade. Edge-anchored — pick top, right, bottom, or left.
Pick a side
Both columns share the same side selection so the comparison is direct.
Side-by-side: side="right"
shadcn (Radix)
RN
Semantics
| Aspect | shadcn | RN | Notes |
|---|---|---|---|
| Container | Radix Dialog (side variant) | RN Modal + Animated.View | Animated translation by side |
| Animation | Tailwind slide-in keyframes | Animated.timing(translate) | web: JS driver; native: native driver |
| Backdrop | fixed bg-black/50 | Animated.View opacity 0→0.5 | Tap to dismiss |
| Sides | top/right/bottom/left | top/right/bottom/left | left/right pin to viewport edge, full height |
| Close trigger | Esc + close button | onRequestClose + close button | Hardware back closes on Android |
| ARIA | role="dialog" + aria-modal | role="dialog" + aria-modal | Plus accessibilityViewIsModal on RN |