UNPKG

@cometchat/chat-uikit-react

Version:

Ready-to-use Chat UI Components for React

71 lines (66 loc) 2.56 kB
'use strict'; 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;