123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- /**
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- *
- * @format
- * @flow strict-local
- */
- 'use strict';
- import * as React from 'react';
- import codegenNativeCommands from '../../Utilities/codegenNativeCommands';
- import requireNativeComponent from '../../ReactNative/requireNativeComponent';
- import type {
- DirectEventHandler,
- Int32,
- WithDefault,
- } from '../../Types/CodegenTypes';
- import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
- import type {TextStyleProp} from '../../StyleSheet/StyleSheet';
- import type {ColorValue} from '../../StyleSheet/StyleSheetTypes';
- import type {ProcessedColorValue} from '../../StyleSheet/processColor';
- import type {ViewProps} from '../../Components/View/ViewPropTypes';
- type PickerItem = $ReadOnly<{|
- label: string,
- color?: ?ProcessedColorValue,
- |}>;
- type PickerItemSelectEvent = $ReadOnly<{|
- position: Int32,
- |}>;
- type NativeProps = $ReadOnly<{|
- ...ViewProps,
- style?: ?TextStyleProp,
- // Props
- color?: ?ColorValue,
- backgroundColor?: ?ColorValue,
- enabled?: WithDefault<boolean, true>,
- items: $ReadOnlyArray<PickerItem>,
- prompt?: WithDefault<string, ''>,
- selected: Int32,
- // Events
- onSelect?: DirectEventHandler<PickerItemSelectEvent>,
- |}>;
- type NativeType = HostComponent<NativeProps>;
- interface NativeCommands {
- +setNativeSelectedPosition: (
- viewRef: React.ElementRef<NativeType>,
- index: number,
- ) => void;
- }
- export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
- supportedCommands: ['setNativeSelectedPosition'],
- });
- export default (requireNativeComponent<NativeProps>(
- 'AndroidDialogPicker',
- ): NativeType);
|