@sendbird/uikit-react-native
Version:
Sendbird UIKit for React Native: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.
67 lines (66 loc) • 2.85 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
var _uikitUtils = require("@sendbird/uikit-utils");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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); }
const ThreadParentMessageUser = props => {
var _props$renderRegexTex;
const userMessage = props.parentMessage;
if (!userMessage) return null;
const {
colors
} = (0, _uikitReactNativeFoundation.useUIKitTheme)();
return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Box, {
flex: 1,
alignItems: 'flex-start'
}, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, {
body3: true,
color: colors.onBackground01,
suppressHighlighting: true,
supportRTLAlign: true,
originalText: userMessage.message
}, /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.RegexText, {
body3: true,
suppressHighlighting: true,
supportRTLAlign: true,
originalText: userMessage.message,
color: colors.onBackground01,
patterns: [...(props.regexTextPatterns ?? []), {
regex: _uikitUtils.urlRegexStrict,
replacer({
match,
parentProps,
keyPrefix,
index
}) {
return /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, _extends({}, parentProps, {
key: `${keyPrefix}-${index}`,
onPress: () => {
var _props$onPressURL;
return (_props$onPressURL = props.onPressURL) === null || _props$onPressURL === void 0 ? void 0 : _props$onPressURL.call(props, match);
},
style: [parentProps === null || parentProps === void 0 ? void 0 : parentProps.style, styles.urlText]
}), match);
}
}]
}, (_props$renderRegexTex = props.renderRegexTextChildren) === null || _props$renderRegexTex === void 0 ? void 0 : _props$renderRegexTex.call(props, userMessage)), Boolean(userMessage.updatedAt) && /*#__PURE__*/_react.default.createElement(_uikitReactNativeFoundation.Text, {
body3: true,
color: colors.onBackground02
}, ' (edited)')));
};
const styles = (0, _uikitReactNativeFoundation.createStyleSheet)({
bubble: {
paddingHorizontal: 12,
paddingVertical: 6
},
urlText: {
textDecorationLine: 'underline'
}
});
var _default = exports.default = ThreadParentMessageUser;
//# sourceMappingURL=ThreadParentMessage.user.js.map