About this drop
uilt on react-native-reanimated v4 with react-native-gesture-handler. The slider and its blur both live inside react-native-keyboard-controller's OverKeyboardView, which is the only way to draw over the keyboard on both platforms — anywhere else in the view tree the keys stay sharp above the blur. Pan handling is pure worklets with no runOnJS, so a drag never touches the JS thread; the knob, fill, tick dots, gauge needle and the level label all read one shared value, and the only JS hop is a single scheduleOnRN on release. Open and close are the same interpolation run in opposite directions, so interrupting mid-flight reverses instead of snapping, and the springs are expressed as mass/stiffness/damping fitted to a reference recording. The gauge is drawn in react-native-svg so it can track a drag continuously. Platform notes: the label is driven through an animated TextInput on iOS and a plain Text on Android (an EditText text write skips Yoga re-measure and clips mid-close); expo-blur is disabled on Android, where the OverKeyboardView is a separate window panel with nothing behind it to snapshot, and a translucent scrim is used instead; Liquid Glass via expo-glass-effect is used on iOS 26+ with a solid-surface fallback below that. Requires a dev build (expo run:ios / run:android) — not Expo Go. Verified on Expo SDK 56 / React Native 0.85, iPhone 16 Pro simulator on iOS 26.5.