UNPKG

mopinion-react-native-sdk

Version:

Collect in-app feedback with Mopinion for React Native. Built fully in React Native for optimal integration with your React Native app.

1 lines 1.64 kB
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=TextBlock;var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _TextField=_interopRequireDefault(require("./TextField"));var _ErrorMessage=_interopRequireDefault(require("./ErrorMessage"));var _styles=require("../styles");var _jsxRuntime=require("react/jsx-runtime");var inputModeMap={number:'numeric',tel:'tel',email:'email',url:'url'};function TextBlock(props){var _block$properties,_ref,_block$properties2;var theme=(0,_styles.useTheme)();var _props$block=props.block,block=_props$block===void 0?{}:_props$block,setValue=props.setValue,placeholder=props.placeholder,blockState=props.blockState,inputModeFromProps=props.inputMode;var _placeholder=placeholder||block.placeholder||((_block$properties=block.properties)==null?void 0:_block$properties.placeholder)||'';var textProps=Object.assign({value:blockState.value,onChangeText:function onChangeText(value){return setValue(value);},textColor:theme.textColorPrimary||null,tintColor:theme.selectedControlColor,placeholder:_placeholder},block.typeName==='textarea'&&{multiline:true,height:72},{inputMode:(_ref=inputModeFromProps!=null?inputModeFromProps:inputModeMap[(_block$properties2=block.properties)==null?void 0:_block$properties2.format])!=null?_ref:'text'});return(0,_jsxRuntime.jsxs)(_reactNative.View,{children:[(0,_jsxRuntime.jsx)(_TextField.default,Object.assign({},textProps)),(0,_jsxRuntime.jsx)(_ErrorMessage.default,{text:blockState.error,show:blockState.showError})]});}