@cometchat/chat-uikit-react
Version:
Ready-to-use Chat UI Components for React
71 lines (66 loc) • 2.56 kB
JavaScript
;
var chunkMGBDQDQV_cjs = require('./chunk-MGBDQDQV.cjs');
var chunkFP33MEDB_cjs = require('./chunk-FP33MEDB.cjs');
var chunk4ZJVM6IL_cjs = require('./chunk-4ZJVM6IL.cjs');
var jsxRuntime = require('react/jsx-runtime');
require('./index.css');
// src/components/CometChatStickerBubble/CometChatStickerBubble.utils.ts
var DEFAULT_STICKER_NAME = "Sticker";
function extractStickerUrl(message) {
if (!message) return "";
try {
const metadata = message.getMetadata();
if (metadata) {
const data = metadata.data;
const urlFromData = data?.[chunkMGBDQDQV_cjs.STICKERS_CONSTANTS.stickerUrlKey];
if (typeof urlFromData === "string") return urlFromData;
const urlFromMeta = metadata[chunkMGBDQDQV_cjs.STICKERS_CONSTANTS.stickerUrlKey];
if (typeof urlFromMeta === "string") return urlFromMeta;
}
const customData = message.getCustomData();
const urlFromCustom = customData?.[chunkMGBDQDQV_cjs.STICKERS_CONSTANTS.stickerUrlKey];
if (typeof urlFromCustom === "string") return urlFromCustom;
return "";
} catch {
return "";
}
}
function extractStickerName(message) {
if (!message) return DEFAULT_STICKER_NAME;
try {
const customData = message.getCustomData();
const name = customData?.[chunkMGBDQDQV_cjs.STICKERS_CONSTANTS.stickerNameKey];
return typeof name === "string" ? name : DEFAULT_STICKER_NAME;
} catch {
return DEFAULT_STICKER_NAME;
}
}
var CometChatStickerBubble = ({
message,
alignment,
className
}) => {
const loggedInUser = chunk4ZJVM6IL_cjs.useLoggedInUser();
const stickerUrl = extractStickerUrl(message);
const stickerName = extractStickerName(message);
const variant = (alignment ?? chunkFP33MEDB_cjs.getBubbleAlignment(message, loggedInUser)) === "right" ? "outgoing" : "incoming";
const rootClasses = [
"cometchat-sticker-bubble",
`cometchat-sticker-bubble--${variant}`,
className
].filter(Boolean).join(" ");
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: rootClasses, role: "img", "aria-label": stickerName, children: stickerUrl && /* @__PURE__ */ jsxRuntime.jsx(
"img",
{
className: "cometchat-sticker-bubble__image",
src: stickerUrl,
alt: stickerName,
loading: "lazy",
decoding: "async"
}
) });
};
CometChatStickerBubble.displayName = "CometChatStickerBubble";
var CometChatStickerBubble_default = CometChatStickerBubble;
exports.CometChatStickerBubble = CometChatStickerBubble;
exports.CometChatStickerBubble_default = CometChatStickerBubble_default;