Bump @types/react to ^18 and adjust types (#889)

This commit is contained in:
Logan Rosen 2023-06-22 12:40:32 -04:00 committed by GitHub
parent 180697b66b
commit 9b19a95e63
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 65 additions and 29 deletions

View file

@ -6,6 +6,7 @@ import {
TextStyle,
Pressable,
ViewStyle,
PressableStateCallbackType,
} from 'react-native'
import {Text} from '../text/Text'
import {useTheme} from 'lib/ThemeContext'
@ -26,6 +27,14 @@ export type ButtonType =
| 'secondary-light'
| 'default-light'
// Augment type for react-native-web (see https://github.com/necolas/react-native-web/issues/1684#issuecomment-766451866)
declare module 'react-native' {
interface PressableStateCallbackType {
hovered?: boolean
focused?: boolean
}
}
// TODO: Enforce that button always has a label
export function Button({
type = 'primary',
@ -139,7 +148,7 @@ export function Button({
)
const getStyle = React.useCallback(
state => {
(state: PressableStateCallbackType) => {
const arr = [typeOuterStyle, styles.outer, style]
if (state.pressed) {
arr.push({opacity: 0.6})