UNPKG

react-native-tvos

Version:

A framework for building native apps using React

82 lines (77 loc) 2.51 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. * * @flow strict * @format */ 'use strict'; import type { LayoutAnimationConfig, MeasureInWindowOnSuccessCallback, MeasureLayoutOnSuccessCallback, MeasureOnSuccessCallback, } from '../Renderer/shims/ReactNativeTypes'; import type {RootTag} from '../Types/RootTagTypes'; // TODO: type these properly. export opaque type Node = {...}; type NodeSet = Array<Node>; type NodeProps = {...}; type InstanceHandle = {...}; export type Spec = {| +createNode: ( reactTag: number, viewName: string, rootTag: RootTag, props: NodeProps, instanceHandle: InstanceHandle, ) => Node, +cloneNode: (node: Node) => Node, +cloneNodeWithNewChildren: (node: Node) => Node, +cloneNodeWithNewProps: (node: Node, newProps: NodeProps) => Node, +cloneNodeWithNewChildrenAndProps: (node: Node, newProps: NodeProps) => Node, +createChildSet: (rootTag: RootTag) => NodeSet, +appendChild: (parentNode: Node, child: Node) => Node, +appendChildToSet: (childSet: NodeSet, child: Node) => void, +completeRoot: (rootTag: RootTag, childSet: NodeSet) => void, +measure: (node: Node, callback: MeasureOnSuccessCallback) => void, +measureInWindow: ( node: Node, callback: MeasureInWindowOnSuccessCallback, ) => void, +measureLayout: ( node: Node, relativeNode: Node, onFail: () => void, onSuccess: MeasureLayoutOnSuccessCallback, ) => void, +configureNextLayoutAnimation: ( config: LayoutAnimationConfig, callback: () => void, // check what is returned here errorCallback: () => void, ) => void, +sendAccessibilityEvent: (node: Node, eventType: string) => void, +findShadowNodeByTag_DEPRECATED: (reactTag: number) => ?Node, +getBoundingClientRect: ( node: Node, ) => [ /* x:*/ number, /* y:*/ number, /* width:*/ number, /* height:*/ number, ], +setNativeProps: (node: Node, newProps: NodeProps) => void, +dispatchCommand: ( node: Node, commandName: string, args: Array<mixed>, ) => void, |}; // This is exposed as a getter because apps using the legacy renderer AND // Fabric can define the binding lazily. If we evaluated the global and cached // it in the module we might be caching an `undefined` value before it is set. export function getFabricUIManager(): ?Spec { return global.nativeFabricUIManager; }