react-native-web
Version:
React Native for Web
46 lines (44 loc) • 1.35 kB
Flow
/**
* 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 | $ReadOnly<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,
}