fix: flicker-free mobile formatting toolbar via CSS custom properties (#2617)
* fix: flicker-free mobile formatting toolbar via CSS custom properties Replace React state-driven positioning with CSS custom property (--bn-mobile-keyboard-offset) for zero re-render toolbar positioning. Two-tier keyboard detection: 1. VirtualKeyboard API (Chrome/Edge 94+) — exact geometry, no delay 2. Visual Viewport API fallback (Safari iOS 13+, Firefox 68+) — with focus-based prediction for instant initial positioning Additional improvements: - Auto-scroll selection into view when keyboard opens - touch-action: pan-x for horizontal toolbar scrolling - env(safe-area-inset-bottom) for notch/home indicator handling - Smooth 150ms CSS transition instead of React re-renders Closes #2616 * fix: replace hardcoded TOOLBAR_HEIGHT with dynamic measurement
M
Movm committed
a33541e8740b90b908f9e2dca6e98936278007c4
Parent: 2e2d225
Committed by GitHub <noreply@github.com>
on 5/13/2026, 9:01:42 AM