UNPKG

@sendbird/uikit-react-native-foundation

Version:

A foundational UI kit for building chat-enabled React Native apps.

70 lines 2.79 kB
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } import React from 'react'; import { urlRegexStrict } from '@sendbird/uikit-utils'; import Box from '../../components/Box'; import PressBox from '../../components/PressBox'; import RegexText from '../../components/RegexText'; import Text from '../../components/Text'; import useUIKitTheme from '../../theme/useUIKitTheme'; import MessageContainer from './MessageContainer'; const UserMessage = props => { const { colors } = useUIKitTheme(); const { onPress, onLongPress, onPressURL, ...rest } = props; const color = colors.ui.openChannelMessage.default; return /*#__PURE__*/React.createElement(PressBox, { onPress: onPress, onLongPress: onLongPress }, ({ pressed }) => { var _props$strings, _props$strings2; return /*#__PURE__*/React.createElement(MessageContainer, _extends({ pressed: pressed }, rest), /*#__PURE__*/React.createElement(Box, { alignItems: 'flex-start' }, /*#__PURE__*/React.createElement(Text, { body3: true, color: color.enabled.textMsg, suppressHighlighting: true, supportRTLAlign: true, originalText: props.message.message }, /*#__PURE__*/React.createElement(RegexText, { body3: true, suppressHighlighting: true, supportRTLAlign: true, originalText: props.message.message, color: color.enabled.textMsg, patterns: [{ regex: urlRegexStrict, replacer({ match, parentProps, keyPrefix, index }) { return /*#__PURE__*/React.createElement(Text, _extends({}, parentProps, { key: `${keyPrefix}-${index}`, onPress: () => onPressURL === null || onPressURL === void 0 ? void 0 : onPressURL(match), onLongPress: onLongPress, color: colors.primary, style: parentProps === null || parentProps === void 0 ? void 0 : parentProps.style }), match); } }] }, props.message.message), Boolean(props.message.updatedAt) && /*#__PURE__*/React.createElement(Text, { body3: true, color: color.enabled.textMsgPostfix, supportRTLAlign: true, originalText: ((_props$strings = props.strings) === null || _props$strings === void 0 ? void 0 : _props$strings.edited) ?? ' (edited)' }, ((_props$strings2 = props.strings) === null || _props$strings2 === void 0 ? void 0 : _props$strings2.edited) ?? ' (edited)')))); }); }; export default UserMessage; //# sourceMappingURL=Message.user.js.map