What's Included
- TypeScript source (Container.tsx with the CodeBox cell)
- App entry wiring (GestureHandlerRootView + KeyboardProvider)
- Configurable constants (cell size, gap, code length, separator, colors)
- Demo screen
- README with install + usage
About the Project
Built with react-native-reanimated v4 — every animation runs on the UI thread via shared values, interpolate, and interpolateColor, so there are no per-frame React re-renders. A single hidden TextInput captures keystrokes while the visible cells are plain views driven by React state; each CodeBox owns its own digit/placeholder shared values. The focus indicator slides with withTiming (offset for the middle separator), invalid input triggers a withSequence wiggle plus a blue→red border flash, and the loading wave sweeps cell opacity with withRepeat. react-native-keyboard-controller drives the submit button as the keyboard opens/closes via KeyboardStickyView. Tested on Expo SDK 56 (iOS + Android). Note: keyboard-controller is a native module, so a development build (expo run:ios / run:android) is required — it will not run in Expo Go.