* Refactor PostDropdownBtn (cherry picked from commit 0adf6cb75e3d4b7c1630cf6153c0d7e289e1b859) * Update icons (cherry picked from commit ac89ef9b28721c00736b1388455f3f5f092de0ad) * Port over fixes * fix scrollbar disappearing * Try CSS solution * Disable arrow for now --------- Co-authored-by: Hailey <me@haileyok.com>
33 lines
712 B
TypeScript
33 lines
712 B
TypeScript
import React from 'react'
|
|
import {View, ViewStyle} from 'react-native'
|
|
|
|
/**
|
|
* This utility function captures events and stops
|
|
* them from propagating upwards.
|
|
*/
|
|
export function EventStopper({
|
|
children,
|
|
style,
|
|
onKeyDown = true,
|
|
}: React.PropsWithChildren<{
|
|
style?: ViewStyle | ViewStyle[]
|
|
/**
|
|
* Default `true`. Set to `false` to allow onKeyDown to propagate
|
|
*/
|
|
onKeyDown?: boolean
|
|
}>) {
|
|
const stop = (e: any) => {
|
|
e.stopPropagation()
|
|
}
|
|
return (
|
|
<View
|
|
onStartShouldSetResponder={_ => true}
|
|
onTouchEnd={stop}
|
|
// @ts-ignore web only -prf
|
|
onClick={stop}
|
|
onKeyDown={onKeyDown ? stop : undefined}
|
|
style={style}>
|
|
{children}
|
|
</View>
|
|
)
|
|
}
|