Files
react-native/ReactCommon/react/renderer/components/textinput/iostextinput/TextInputProps.h
T
Samuel Susla f5f6fd70f2 Introduce TextInput.onKeyPressSync
Summary:
changelog: [internal]

Introduce a way to execute `onKeyPress` synchronously. This feature is experimental and will be changed in the future. It is not decided if marking native events as "sync" is going to be path forward with synchronous access.

NOTE: This is experimental API.

Reviewed By: ShikaSD

Differential Revision: D32882092

fbshipit-source-id: 68c66a9bb7c97758219e085c88a77f3c475c1eb3
2021-12-07 13:42:18 -08:00

76 lines
2.0 KiB
C++

/*
* 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.
*/
#pragma once
#include <react/renderer/attributedstring/ParagraphAttributes.h>
#include <react/renderer/attributedstring/TextAttributes.h>
#include <react/renderer/components/iostextinput/conversions.h>
#include <react/renderer/components/iostextinput/primitives.h>
#include <react/renderer/components/text/BaseTextProps.h>
#include <react/renderer/components/view/ViewProps.h>
#include <react/renderer/core/Props.h>
#include <react/renderer/core/PropsParserContext.h>
#include <react/renderer/core/propsConversions.h>
#include <react/renderer/graphics/Color.h>
#include <react/renderer/imagemanager/primitives.h>
#include <vector>
namespace facebook {
namespace react {
class TextInputProps final : public ViewProps, public BaseTextProps {
public:
TextInputProps() = default;
TextInputProps(
const PropsParserContext &context,
TextInputProps const &sourceProps,
RawProps const &rawProps);
#pragma mark - Props
TextInputTraits const traits{};
ParagraphAttributes const paragraphAttributes{};
std::string const defaultValue{};
std::string const placeholder{};
SharedColor const placeholderTextColor{};
int maxLength{};
/*
* Tint colors
*/
SharedColor const cursorColor{};
SharedColor const selectionColor{};
// TODO: Rename to `tintColor` and make universal.
SharedColor const underlineColorAndroid{};
/*
* "Private" (only used by TextInput.js) props
*/
std::string const text{};
int const mostRecentEventCount{0};
bool autoFocus{false};
better::optional<Selection> selection{};
std::string const inputAccessoryViewID{};
bool onKeyPressSync{false};
/*
* Accessors
*/
TextAttributes getEffectiveTextAttributes(Float fontSizeMultiplier) const;
ParagraphAttributes getEffectiveParagraphAttributes() const;
};
} // namespace react
} // namespace facebook