UNPKG

react-native

Version:

A framework for building native apps using React

92 lines (90 loc) 4.07 kB
/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @generated SignedSource<<16de35c8b0b18d501293b84de6644795>> * * This file was translated from Flow by scripts/build-types/index.js. * Original file: packages/react-native/src/private/types/HostInstance.js */ export type MeasureOnSuccessCallback = (x: number, y: number, width: number, height: number, pageX: number, pageY: number) => void; export type MeasureInWindowOnSuccessCallback = (x: number, y: number, width: number, height: number) => void; export type MeasureLayoutOnSuccessCallback = (left: number, top: number, width: number, height: number) => void; /** * NativeMethods provides methods to access the underlying native component directly. * This can be useful in cases when you want to focus a view or measure its on-screen dimensions, * for example. * The methods described here are available on most of the default components provided by React Native. * Note, however, that they are not available on composite components that aren't directly backed by a * native view. This will generally include most components that you define in your own app. * For more information, see [Direct Manipulation](https://reactnative.dev/docs/the-new-architecture/direct-manipulation-new-architecture). * @see https://github.com/facebook/react-native/blob/master/Libraries/Renderer/shims/ReactNativeTypes.js#L87 */ export interface LegacyHostInstanceMethods { /** * Removes focus from an input or view. This is the opposite of `focus()`. */ blur(): void; /** * Requests focus for the given input or view. The exact behavior triggered * will depend on the platform and type of view. */ focus(): void; /** * Determines the location on screen, width, and height of the given view and * returns the values via an async callback. If successful, the callback will * be called with the following arguments: * * - x * - y * - width * - height * - pageX * - pageY * * Note that these measurements are not available until after the rendering * has been completed in native. If you need the measurements as soon as * possible, consider using the [`onLayout` * prop](docs/view.html#onlayout) instead. */ measure(callback: MeasureOnSuccessCallback): void; /** * Determines the location of the given view in the window and returns the * values via an async callback. If the React root view is embedded in * another native view, this will give you the absolute coordinates. If * successful, the callback will be called with the following * arguments: * * - x * - y * - width * - height * * Note that these measurements are not available until after the rendering * has been completed in native. */ measureInWindow(callback: MeasureInWindowOnSuccessCallback): void; /** * Like [`measure()`](#measure), but measures the view relative an ancestor, * specified as `relativeToNativeComponentRef`. This means that the returned x, y * are relative to the origin x, y of the ancestor view. * _Can also be called with a relativeNativeNodeHandle but is deprecated._ */ measureLayout(relativeToNativeNode: number | HostInstance, onSuccess: MeasureLayoutOnSuccessCallback, onFail?: () => void): void; /** * This function sends props straight to native. They will not participate in * future diff process - this means that if you do not include them in the * next render, they will remain active (see [Direct * Manipulation](https://reactnative.dev/docs/the-new-architecture/direct-manipulation-new-architecture)). */ setNativeProps(nativeProps: {}): void; } export type HostInstance = LegacyHostInstanceMethods; /** @deprecated Use HostInstance instead */ export type NativeMethods = LegacyHostInstanceMethods; /** * @deprecated Use HostInstance instead. */ export type NativeMethodsMixin = LegacyHostInstanceMethods;