cometchat-react-ui-kit2
Version:
CometChat UI Kit for React App
130 lines (127 loc) • 5.75 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.previewTitleStyle = exports.previewLinkStyle = exports.previewImageStyle = exports.previewDataStyle = exports.messageTextBubbleStyle = exports.messagePreviewWrapperStyle = exports.messagePreviewContainerStyle = exports.messageKitTextBubbleBlockStyle = exports.linkSubtitleStyle = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _Shared = require("../../../Shared");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
var messageKitTextBubbleBlockStyle = function messageKitTextBubbleBlockStyle(props, theme) {
return {
textAlign: "inherit",
display: "inline-block",
padding: "8px 12px",
border: props.style.border,
width: props.style.width,
height: props.style.height,
borderRadius: props.style.borderRadius,
background: props.style.background //theme not applied jut bcz transparent
};
};
/** emoji font according to number of emoji to be display */
exports.messageKitTextBubbleBlockStyle = messageKitTextBubbleBlockStyle;
var emojiFont = function emojiFont(str) {
var strLength = str === null || str === void 0 ? void 0 : str.length;
var fontSize = null;
if (strLength) {
var emojiRE = str === null || str === void 0 ? void 0 : str.match(/(?:[\xA9\xAE\u2122\u23E9-\u23EF\u23F3\u23F8-\u23FA\u24C2\u25B6\u2600-\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDE51\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEFF]|\uD83E[\uDD00-\uDDFF])/g);
var numbers = emojiRE === null || emojiRE === void 0 ? void 0 : emojiRE.length;
if (numbers === 1 && parseInt(strLength / 2) === numbers) {
fontSize = "32px";
} else if (numbers === 2 && parseInt(strLength / 2) === numbers) {
fontSize = "24px";
} else if (numbers === 3 && parseInt(strLength / 2) === numbers) {
fontSize = "16px";
}
}
return fontSize;
};
var messageTextBubbleStyle = function messageTextBubbleStyle(props, theme, strMessage) {
var emojiFontSize = emojiFont(strMessage);
var fontStyle = {};
if (emojiFontSize) {
fontStyle = {
fontSize: emojiFontSize
};
} else {
fontStyle = {
font: props.style.textFont || (0, _Shared.fontHelper)(theme.typography.subtitle1)
};
}
return _objectSpread(_objectSpread({
color: props.style.textColor || theme.palette.accent900[theme.palette.mode]
}, fontStyle), {}, {
whiteSpace: "pre-wrap",
wordWrap: "break-word",
margin: "0",
width: "auto"
});
};
/** link previe style */
exports.messageTextBubbleStyle = messageTextBubbleStyle;
var messagePreviewContainerStyle = function messagePreviewContainerStyle(props, theme) {
return {
display: "inline-block",
borderRadius: "12px",
backgroundColor: props.style.linkPreviewBackgroundColor || theme.palette.background[theme.palette.mode],
boxShadow: "0px 1px 2px 1px rgba(0,0,0,0.18)",
alignSelf: "flex-start",
width: "auto"
};
};
exports.messagePreviewContainerStyle = messagePreviewContainerStyle;
var messagePreviewWrapperStyle = function messagePreviewWrapperStyle() {
return {
display: "flex",
flexDirection: "column"
};
};
exports.messagePreviewWrapperStyle = messagePreviewWrapperStyle;
var previewImageStyle = function previewImageStyle(img) {
return {
background: "url(".concat(img, ") no-repeat center center"),
backgroundSize: "cover",
height: "150px",
minHeight: "50px",
borderRadius: "12px 12px 0 0"
};
};
exports.previewImageStyle = previewImageStyle;
var previewDataStyle = function previewDataStyle() {
return {
padding: "16px 16px 0 16px"
};
};
exports.previewDataStyle = previewDataStyle;
var previewTitleStyle = function previewTitleStyle(props, theme) {
return {
whiteSpace: "pre-wrap",
wordBreak: "break-word",
textAlign: "left",
width: "auto",
color: props.style.linkPreviewTitleColor || theme.palette.accent[theme.palette.mode],
font: props.style.linkPreviewTitleFont || (0, _Shared.fontHelper)(theme.typography.title2),
marginBottom: "8px"
};
};
exports.previewTitleStyle = previewTitleStyle;
var previewLinkStyle = function previewLinkStyle() {
return {
display: "flex",
alignItems: "center",
justifyContent: "left",
padding: "0 16px 16px 16px"
};
};
exports.previewLinkStyle = previewLinkStyle;
var linkSubtitleStyle = function linkSubtitleStyle(props, theme) {
return {
display: "inline-block",
color: props.style.linkPreviewSubtitleColor || theme.palette.accent600[theme.palette.mode],
font: props.style.linkPreviewSubtitleFont || (0, _Shared.fontHelper)(theme.typography.subtitle2),
textDecoration: "none"
};
};
exports.linkSubtitleStyle = linkSubtitleStyle;