@tamagui/react-native-web-lite
Version:
React Native for Web
78 lines (67 loc) • 1.41 kB
text/typescript
/**
* Copyright (c) Nicolas Gallagher.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow
*/
export type ColorValue = null | string
export type DimensionValue = null | number | string
export type EdgeInsetsValue = {
top: number
left: number
right: number
bottom: number
}
export type GenericStyleProp<T> =
| null
| void
| T
| false
| ''
| ReadonlyArray<GenericStyleProp<T>>
export type LayoutValue = {
x: number
y: number
width: number
height: number
}
export type LayoutEvent = {
nativeEvent: {
layout: LayoutValue
target: any
}
timeStamp: number
}
export type PointValue = {
x: number
y: number
}
type LayoutCallback = (
x: number,
y: number,
width: number,
height: number,
left: number,
top: number
) => void
type MeasureInWindowCallback = (
left: number,
top: number,
width: number,
height: number
) => void
// Mixin to HTMLElement that represents additions from the `usePlatformMethods` hook
export interface PlatformMethods {
blur: () => void
focus: () => void
measure: (callback: LayoutCallback) => void
measureInWindow: (callback: MeasureInWindowCallback) => void
measureLayout: (
relativeToNativeNode: {},
onSuccess: LayoutCallback,
onFail: () => void
) => void
setNativeProps: (nativeProps: {}) => void
}