Files
react-native/packages/rn-tester/js/examples/TextInput/ExampleTextInput.js
T
Rubén NorteandFacebook GitHub Bot cd072dca99 Migrate HostInstance to an interface (#49633)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49633

Changelog: [internal]

This replaces the definition of `HostInstance` to use an interface instead of an object, to better represent the underlying type (an instance of `ReactFabricHostComponent`) and simplify the migration to the new DOM API.

Reviewed By: huntie

Differential Revision: D70023947

fbshipit-source-id: bf312abf02fec48b2b5afb41053593ce542f7324
2025-02-26 05:13:08 -08:00

50 lines
1.1 KiB
JavaScript

/**
* 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-local
* @format
* @oncall react_native
*/
import {RNTesterThemeContext} from '../../components/RNTesterTheme';
import React, {forwardRef, useContext} from 'react';
import {StyleSheet, TextInput} from 'react-native';
const ExampleTextInput: component(
ref: React.RefSetter<null | React.ElementRef<typeof TextInput>>,
...props: React.ElementConfig<typeof TextInput>
) = forwardRef((props, ref) => {
const theme = useContext(RNTesterThemeContext);
return (
<TextInput
ref={ref}
{...props}
style={[
{
color: theme.LabelColor,
backgroundColor: theme.SecondaryGroupedBackgroundColor,
borderColor: theme.QuaternaryLabelColor,
},
styles.input,
props.style,
]}
/>
);
});
const styles = StyleSheet.create({
input: {
borderWidth: 1,
fontSize: 13,
flexGrow: 1,
flexShrink: 1,
padding: 4,
},
});
export default ExampleTextInput;