UNPKG

3.33 kBSource Map (JSON)View Raw
1{"version":3,"sources":["useIsKeyboardShown.tsx"],"names":["useIsKeyboardShown","onShow","onHide","React","useEffect","willShowSubscription","willHideSubscription","didShowSubscription","didHideSubscription","Platform","OS","Keyboard","addListener","remove","removeListener"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAMe,SAASA,kBAAT,OAAuD;AAAA,MAA3B;AAAEC,IAAAA,MAAF;AAAUC,IAAAA;AAAV,GAA2B;AACpEC,EAAAA,KAAK,CAACC,SAAN,CAAgB,MAAM;AACpB,QAAIC,oBAAJ;AACA,QAAIC,oBAAJ;AACA,QAAIC,mBAAJ;AACA,QAAIC,mBAAJ;;AAEA,QAAIC,sBAASC,EAAT,KAAgB,KAApB,EAA2B;AACzBL,MAAAA,oBAAoB,GAAGM,sBAASC,WAAT,CAAqB,kBAArB,EAAyCX,MAAzC,CAAvB;AACAK,MAAAA,oBAAoB,GAAGK,sBAASC,WAAT,CAAqB,kBAArB,EAAyCV,MAAzC,CAAvB;AACD,KAHD,MAGO;AACLK,MAAAA,mBAAmB,GAAGI,sBAASC,WAAT,CAAqB,iBAArB,EAAwCX,MAAxC,CAAtB;AACAO,MAAAA,mBAAmB,GAAGG,sBAASC,WAAT,CAAqB,iBAArB,EAAwCV,MAAxC,CAAtB;AACD;;AAED,WAAO,MAAM;AACX,UAAIO,sBAASC,EAAT,KAAgB,KAApB,EAA2B;AAAA;;AACzB,qCAAIL,oBAAJ,kDAAI,sBAAsBQ,MAA1B,EAAkC;AAChCR,UAAAA,oBAAoB,CAACQ,MAArB;AACD,SAFD,MAEO;AACLF,gCAASG,cAAT,CAAwB,kBAAxB,EAA4Cb,MAA5C;AACD;;AAED,qCAAIK,oBAAJ,kDAAI,sBAAsBO,MAA1B,EAAkC;AAChCP,UAAAA,oBAAoB,CAACO,MAArB;AACD,SAFD,MAEO;AACLF,gCAASG,cAAT,CAAwB,kBAAxB,EAA4CZ,MAA5C;AACD;AACF,OAZD,MAYO;AAAA;;AACL,oCAAIK,mBAAJ,iDAAI,qBAAqBM,MAAzB,EAAiC;AAC/BN,UAAAA,mBAAmB,CAACM,MAApB;AACD,SAFD,MAEO;AACLF,gCAASG,cAAT,CAAwB,iBAAxB,EAA2Cb,MAA3C;AACD;;AAED,oCAAIO,mBAAJ,iDAAI,qBAAqBK,MAAzB,EAAiC;AAC/BL,UAAAA,mBAAmB,CAACK,MAApB;AACD,SAFD,MAEO;AACLF,gCAASG,cAAT,CAAwB,iBAAxB,EAA2CZ,MAA3C;AACD;AACF;AACF,KA1BD;AA2BD,GAzCD,EAyCG,CAACA,MAAD,EAASD,MAAT,CAzCH;AA0CD","sourcesContent":["import * as React from 'react';\nimport { Keyboard, NativeEventSubscription, Platform } from 'react-native';\n\ntype Props = {\n onShow: () => void;\n onHide: () => void;\n};\nexport default function useIsKeyboardShown({ onShow, onHide }: Props) {\n React.useEffect(() => {\n let willShowSubscription: NativeEventSubscription | undefined;\n let willHideSubscription: NativeEventSubscription | undefined;\n let didShowSubscription: NativeEventSubscription | undefined;\n let didHideSubscription: NativeEventSubscription | undefined;\n\n if (Platform.OS === 'ios') {\n willShowSubscription = Keyboard.addListener('keyboardWillShow', onShow);\n willHideSubscription = Keyboard.addListener('keyboardWillHide', onHide);\n } else {\n didShowSubscription = Keyboard.addListener('keyboardDidShow', onShow);\n didHideSubscription = Keyboard.addListener('keyboardDidHide', onHide);\n }\n\n return () => {\n if (Platform.OS === 'ios') {\n if (willShowSubscription?.remove) {\n willShowSubscription.remove();\n } else {\n Keyboard.removeListener('keyboardWillShow', onShow);\n }\n\n if (willHideSubscription?.remove) {\n willHideSubscription.remove();\n } else {\n Keyboard.removeListener('keyboardWillHide', onHide);\n }\n } else {\n if (didShowSubscription?.remove) {\n didShowSubscription.remove();\n } else {\n Keyboard.removeListener('keyboardDidShow', onShow);\n }\n\n if (didHideSubscription?.remove) {\n didHideSubscription.remove();\n } else {\n Keyboard.removeListener('keyboardDidHide', onHide);\n }\n }\n };\n }, [onHide, onShow]);\n}\n"]}
\No newline at end of file