UNPKG

@ionic/core

Version:

Base components for Ionic

24 lines (23 loc) • 942 B
import { addEventListener, removeEventListener } from '../../helpers'; import { isFocused, relocateInput } from './common'; export const enableHideCaretOnScroll = (componentEl, inputEl, scrollEl) => { if (!scrollEl || !inputEl) { return () => { return; }; } const scrollHideCaret = (shouldHideCaret) => { if (isFocused(inputEl)) { relocateInput(componentEl, inputEl, shouldHideCaret); } }; const onBlur = () => relocateInput(componentEl, inputEl, false); const hideCaret = () => scrollHideCaret(true); const showCaret = () => scrollHideCaret(false); addEventListener(scrollEl, 'ionScrollStart', hideCaret); addEventListener(scrollEl, 'ionScrollEnd', showCaret); inputEl.addEventListener('blur', onBlur); return () => { removeEventListener(scrollEl, 'ionScrollStart', hideCaret); removeEventListener(scrollEl, 'ionScrollEnd', showCaret); inputEl.addEventListener('ionBlur', onBlur); }; };