forked from sendbird-graveyard/SendBird-UIKIT-JavaScript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index-e9eccbb4.js.map
1 lines (1 loc) · 94.4 KB
/
index-e9eccbb4.js.map
1
{"version":3,"file":"index-e9eccbb4.js","sources":["../src/lib/UserProfileContext.jsx","../src/ui/IconButton/index.jsx","../src/hooks/useModal/ModalRoot/index.jsx","../src/ui/Button/type.js","../src/ui/Button/utils.js","../src/ui/Button/index.jsx","../src/ui/Modal/index.jsx","../src/utils/color.js","../src/ui/TextButton/index.jsx","../src/lib/pubSub/topics.js","../src/lib/selectors.js","../src/ui/UserProfile/index.tsx","../src/ui/ContextMenu/items/MenuItems.jsx","../src/ui/SortByRow/index.jsx","../src/ui/ContextMenu/items/EmojiListItems.jsx","../src/ui/ContextMenu/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n * user profile goes deep inside the component tree\n * use this context as a short circuit to send in values\n */\nconst UserProfileContext = React.createContext({\n disableUserProfile: true,\n isOpenChannel: false,\n renderUserProfile: null,\n});\n\nconst UserProfileProvider = (props) => {\n const { children, className } = props;\n return (\n <UserProfileContext.Provider value={props}>\n <div className={className}>\n {children}\n </div>\n </UserProfileContext.Provider>\n );\n};\n\nUserProfileProvider.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.any,\n ]).isRequired,\n // eslint-disable-next-line react/no-unused-prop-types\n isOpenChannel: PropTypes.bool,\n // eslint-disable-next-line react/no-unused-prop-types\n disableUserProfile: PropTypes.bool,\n // eslint-disable-next-line react/no-unused-prop-types\n renderUserProfile: PropTypes.func,\n className: PropTypes.string,\n};\n\nUserProfileProvider.defaultProps = {\n className: null,\n isOpenChannel: false,\n disableUserProfile: false,\n renderUserProfile: null,\n};\n\nexport { UserProfileContext, UserProfileProvider };\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nconst IconButton = React.forwardRef((props, ref) => {\n const {\n className,\n children,\n disabled,\n width,\n height,\n type,\n onClick,\n onBlur,\n style,\n } = props;\n\n const [pressed, setPressed] = useState('');\n\n return (\n // eslint-disable-next-line react/button-has-type\n <button\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-iconbutton',\n pressed,\n ].join(' ')}\n disabled={disabled}\n ref={ref}\n type={type} // eslint-disable-line react/button-has-type\n style={{\n ...style,\n height,\n width,\n }}\n onClick={(e) => {\n if (disabled) { return; }\n setPressed('sendbird-iconbutton--pressed');\n onClick(e);\n }}\n onBlur={(e) => {\n setPressed('');\n onBlur(e);\n }}\n >\n <span className=\"sendbird-iconbutton__inner\">\n {children}\n </span>\n </button>\n );\n});\n\nIconButton.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.any,\n ]).isRequired,\n disabled: PropTypes.bool,\n width: PropTypes.string,\n height: PropTypes.string,\n type: PropTypes.string,\n onClick: PropTypes.func,\n onBlur: PropTypes.func,\n style: PropTypes.shape({}),\n};\n\nIconButton.defaultProps = {\n className: '',\n disabled: false,\n width: '56px',\n height: '56px',\n type: 'button',\n onClick: () => { },\n onBlur: () => { },\n style: {},\n};\n\nexport default IconButton;\n","// simple component to be used as modal root\nimport React from 'react';\n\nexport const MODAL_ROOT = 'sendbird-modal-root';\n\nexport default () => (\n <div id={MODAL_ROOT} />\n);\n","export const Type = {\n PRIMARY: 'PRIMARY',\n SECONDARY: 'SECONDARY',\n DANGER: 'DANGER',\n DISABLED: 'DISABLED',\n};\n\nexport const Size = {\n BIG: 'BIG',\n SMALL: 'SMALL',\n};\n","import { Type, Size } from './type';\n\nexport function changeTypeToClassName(type) {\n switch (type) {\n case Type.PRIMARY: return 'sendbird-button--primary';\n case Type.SECONDARY: return 'sendbird-button--secondary';\n case Type.DANGER: return 'sendbird-button--danger';\n case Type.DISABLED: return 'sendbird-button--disabled';\n default: return null;\n }\n}\n\nexport function changeSizeToClassName(size) {\n switch (size) {\n case Size.BIG: return 'sendbird-button--big';\n case Size.SMALL: return 'sendbird-button--small';\n default: return null;\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { Type, Size } from './type';\nimport { changeTypeToClassName, changeSizeToClassName } from './utils';\n\nexport default function Button({\n className,\n type,\n size,\n children,\n disabled,\n onClick,\n}) {\n const injectingClassNames = [\n ...((Array.isArray(className)) ? className : [className]),\n 'sendbird-button',\n (disabled ? 'sendbird-button__disabled' : ''),\n changeTypeToClassName(type),\n changeSizeToClassName(size),\n ].join(' ');\n\n return (\n <button\n className={injectingClassNames}\n type=\"button\"\n onClick={onClick}\n disabled={disabled}\n >\n <Label\n className=\"sendbird-button__text\"\n type={LabelTypography.BUTTON_1}\n color={LabelColors.ONCONTENT_1}\n >\n {children}\n </Label>\n </button>\n );\n}\n\nexport const ButtonTypes = Type;\nexport const ButtonSizes = Size;\n\nButton.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n type: PropTypes.oneOf(Object.keys(Type)),\n size: PropTypes.oneOf(Object.keys(Size)),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n ]),\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nButton.defaultProps = {\n className: '',\n type: Type.PRIMARY,\n size: Size.BIG,\n children: 'Button',\n disabled: false,\n onClick: () => { },\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { createPortal } from 'react-dom';\n\nimport './index.scss';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { MODAL_ROOT } from '../../hooks/useModal/ModalRoot';\nimport IconButton from '../IconButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Button, { ButtonTypes } from '../Button';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport const ModalHeader = ({ titleText }) => (\n <div className=\"sendbird-modal__header\">\n <Label type={LabelTypography.H_1} color={LabelColors.ONBACKGROUND_1}>\n {titleText}\n </Label>\n </div>\n);\nModalHeader.propTypes = {\n titleText: PropTypes.string.isRequired,\n};\n\nexport const ModalBody = ({ children }) => (\n <div className=\"sendbird-modal__body\">{children}</div>\n);\nModalBody.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.element.isRequired,\n PropTypes.arrayOf(PropTypes.element.isRequired),\n ]),\n};\nModalBody.defaultProps = {\n children: null,\n};\n\nexport const ModalFooter = ({\n onSubmit,\n onCancel,\n disabled = false,\n submitText,\n type,\n}) => {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird-modal__footer\">\n <Button type={ButtonTypes.SECONDARY} onClick={onCancel}>\n <Label type={LabelTypography.BUTTON_1} color={LabelColors.ONBACKGROUND_1}>\n {stringSet.BUTTON__CANCEL}\n </Label>\n </Button>\n <Button type={type} disabled={disabled} onClick={onSubmit}>\n {submitText}\n </Button>\n </div>\n );\n};\n\nModalFooter.propTypes = {\n onCancel: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n submitText: PropTypes.string.isRequired,\n disabled: PropTypes.bool,\n type: PropTypes.string,\n};\nModalFooter.defaultProps = {\n disabled: false,\n type: ButtonTypes.DANGER,\n};\n\nfunction Modal(props) {\n const {\n children,\n onCancel,\n onSubmit,\n disabled,\n submitText,\n titleText,\n hideFooter,\n type,\n } = props;\n return createPortal((\n <div className=\"sendbird-modal\">\n <div className=\"sendbird-modal__content\">\n <ModalHeader titleText={titleText} />\n <ModalBody>{children}</ModalBody>\n {\n !hideFooter && (\n <ModalFooter\n disabled={disabled}\n onCancel={onCancel}\n onSubmit={onSubmit}\n submitText={submitText}\n type={type}\n />\n )\n }\n <div className=\"sendbird-modal__close\">\n <IconButton\n width=\"32px\"\n height=\"32px\"\n onClick={onCancel}\n >\n <Icon\n type={IconTypes.CLOSE}\n fillColor={IconColors.DEFAULT}\n width=\"24px\"\n height=\"24px\"\n />\n </IconButton>\n </div>\n </div>\n <div className=\"sendbird-modal__backdrop\" />\n </div>\n ), document.getElementById(MODAL_ROOT));\n}\n\nModal.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n ]),\n onCancel: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n hideFooter: PropTypes.bool,\n disabled: PropTypes.bool,\n type: PropTypes.string,\n};\nModal.defaultProps = {\n children: null,\n hideFooter: false,\n disabled: false,\n type: ButtonTypes.DANGER,\n};\n\nexport default Modal;\n","import './color.scss';\n\nexport const Colors = {\n ONBACKGROUND_1: 'ONBACKGROUND_1',\n ONBACKGROUND_2: 'ONBACKGROUND_2',\n ONBACKGROUND_3: 'ONBACKGROUND_3',\n ONBACKGROUND_4: 'ONBACKGROUND_4',\n ONCONTENT_1: 'ONCONTENT_1',\n PRIMARY: 'PRIMARY',\n ERROR: 'ERROR',\n};\n\nexport function changeColorToClassName(color) {\n switch (color) {\n case Colors.ONBACKGROUND_1: return 'sendbird-color--onbackground-1';\n case Colors.ONBACKGROUND_2: return 'sendbird-color--onbackground-2';\n case Colors.ONBACKGROUND_3: return 'sendbird-color--onbackground-3';\n case Colors.ONBACKGROUND_4: return 'sendbird-color--onbackground-4';\n case Colors.ONCONTENT_1: return 'sendbird-color--oncontent-1';\n case Colors.PRIMARY: return 'sendbird-color--primary';\n case Colors.ERROR: return 'sendbird-color--error';\n default: return null;\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { changeColorToClassName, Colors } from '../../utils/color';\n\nexport default function TextButton({\n className,\n color,\n disabled,\n notUnderline,\n onClick,\n children,\n}) {\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n changeColorToClassName(color),\n notUnderline ? 'sendbird-textbutton--not-underline' : 'sendbird-textbutton',\n disabled ? 'sendbird-textbutton--disabled' : '',\n ].join(' ')}\n role=\"button\"\n tabIndex={0}\n onClick={onClick}\n onKeyPress={onClick}\n >\n {children}\n </div>\n );\n}\n\nTextButton.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n color: PropTypes.string,\n disabled: PropTypes.bool,\n notUnderline: PropTypes.bool,\n onClick: PropTypes.func,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n ]).isRequired,\n};\n\nTextButton.defaultProps = {\n className: '',\n color: Colors.ONBACKGROUND_1,\n disabled: false,\n notUnderline: false,\n onClick: () => { },\n};\n","export const USER_UPDATED = 'USER_UPDATED';\nexport const SEND_MESSAGE_START = 'SEND_MESSAGE_START';\nexport const SEND_USER_MESSAGE = 'SEND_USER_MESSAGE';\nexport const SEND_FILE_MESSAGE = 'SEND_FILE_MESSAGE';\nexport const UPDATE_USER_MESSAGE = 'UPDATE_USER_MESSAGE';\nexport const DELETE_MESSAGE = 'DELETE_MESSAGE';\nexport const LEAVE_CHANNEL = 'LEAVE_CHANNEL';\nexport const CREATE_CHANNEL = 'CREATE_CHANNEL';\n","import * as topics from './pubSub/topics';\n\nexport const getSdk = (store) => {\n const { stores = {} } = store;\n const { sdkStore = {} } = stores;\n const { sdk } = sdkStore;\n return sdk;\n};\n\nexport const getPubSub = (store) => {\n const { config = {} } = store;\n const { pubSub } = config;\n return pubSub;\n};\n\n// SendBird disconnect. Invalidates currentUser\n// eslint-disable-next-line max-len\nexport const getConnect = (store) => (userId, accessToken) => new Promise((resolve, reject) => {\n const sdk = getSdk(store);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n if (!accessToken) {\n sdk.connect(userId)\n .then((res) => resolve(res))\n .catch((err) => reject(err));\n } else {\n sdk.connect(userId, accessToken)\n .then((res) => resolve(res))\n .catch((err) => reject(err));\n }\n});\n\n// SendBird disconnect. Invalidates currentUser\nexport const getDisconnect = (store) => () => new Promise((resolve, reject) => {\n const sdk = getSdk(store);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.disconnect()\n .then((res) => resolve(res))\n .catch((err) => reject(err));\n});\n\n// Using the updateCurrentUserInfo() method\n// you can update a user's nickname and profile image with a URL\n// eslint-disable-next-line max-len\nexport const getUpdateUserInfo = (store) => (nickName, profileUrl) => new Promise((resolve, reject) => {\n const sdk = getSdk(store);\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.updateCurrentUserInfo(nickName, profileUrl)\n .then((res) => resolve(res))\n .catch((err) => reject(err));\n});\n\nexport const getSendUserMessage = (store) => (channelUrl, userMessageParams) => {\n const sdk = getSdk(store);\n const pubsub = getPubSub(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.GroupChannel.getChannel(channelUrl)\n .then((channel) => {\n const promisify = () => {\n let pendingMsg = null;\n const pendingPromise = new Promise((resolve_, reject_) => {\n pendingMsg = channel.sendUserMessage(userMessageParams, (res, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n let message = res;\n let error = err;\n if (swapParams) {\n message = err;\n error = res;\n }\n if (error) {\n reject_(error);\n return;\n }\n resolve_(message);\n pubsub.publish(\n topics.SEND_USER_MESSAGE,\n {\n message,\n channel,\n },\n );\n });\n pubsub.publish(\n topics.SEND_MESSAGE_START,\n {\n message: pendingMsg,\n channel,\n },\n );\n });\n pendingPromise.get = () => pendingMsg;\n return pendingPromise;\n };\n resolve(promisify());\n })\n .catch(reject);\n });\n};\nexport const getSendFileMessage = (store) => (channelUrl, fileMessageParams) => {\n const sdk = getSdk(store);\n const pubsub = getPubSub(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.GroupChannel.getChannel(channelUrl)\n .then((channel) => {\n const promisify = () => {\n let pendingMsg = null;\n const pendingPromise = new Promise((resolve_, reject_) => {\n pendingMsg = channel.sendFileMessage(fileMessageParams, (res, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n let message = res;\n let error = err;\n if (swapParams) {\n message = err;\n error = res;\n }\n\n if (error) {\n reject_(error);\n return;\n }\n resolve_(message);\n pubsub.publish(\n topics.SEND_FILE_MESSAGE,\n {\n message,\n channel,\n },\n );\n });\n });\n if (fileMessageParams.file) {\n // keep the file's local version in pendingMsg.localUrl\n // because promise doesnt allow overriding of pendingMsg.url\n // eslint-disable-next-line no-param-reassign\n pendingMsg.localUrl = URL.createObjectURL(fileMessageParams.file);\n }\n if (fileMessageParams.fileUrl) {\n // eslint-disable-next-line no-param-reassign\n pendingMsg.localUrl = fileMessageParams.fileUrl;\n }\n // eslint-disable-next-line no-param-reassign\n pendingMsg.requestState = 'pending';\n pubsub.publish(\n topics.SEND_MESSAGE_START,\n {\n message: pendingMsg,\n channel,\n },\n );\n pendingPromise.get = () => pendingMsg;\n return pendingPromise;\n };\n resolve(promisify());\n })\n .catch(reject);\n });\n};\nexport const getUpdateUserMessage = (store) => (channelUrl, messageId, params) => {\n const sdk = getSdk(store);\n const pubsub = getPubSub(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.GroupChannel.getChannel(channelUrl)\n .then((channel) => {\n channel.updateUserMessage(messageId, params, (res, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n let message = res;\n let error = err;\n if (swapParams) {\n message = err;\n error = res;\n }\n\n if (error) {\n reject(error);\n return;\n }\n resolve(message);\n pubsub.publish(\n topics.UPDATE_USER_MESSAGE,\n {\n message,\n channel,\n // workaround for updating channelPreview on message-edit\n // https://sendbird.atlassian.net/browse/UIKIT-268\n fromSelector: true,\n },\n );\n });\n })\n .catch(reject);\n });\n};\nexport const getDeleteMessage = (store) => (channelUrl, message) => {\n const sdk = getSdk(store);\n const pubsub = getPubSub(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.GroupChannel.getChannel(channelUrl)\n .then((channel) => {\n const { messageId } = message;\n channel.deleteMessage(message, (res, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n let error = err;\n if (swapParams) {\n error = res;\n }\n\n if (error) {\n reject(error);\n return;\n }\n resolve(message);\n pubsub.publish(\n topics.DELETE_MESSAGE,\n {\n messageId,\n channel,\n },\n );\n });\n })\n .catch(reject);\n });\n};\n\nexport const getResendUserMessage = (store) => (channelUrl, failedMessage) => {\n const sdk = getSdk(store);\n const pubsub = getPubSub(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.GroupChannel.getChannel(channelUrl)\n .then((channel) => {\n channel.resendUserMessage(failedMessage)\n .then((message) => {\n resolve(message);\n pubsub.publish(\n topics.SEND_USER_MESSAGE,\n {\n message,\n channel,\n },\n );\n })\n .catch(reject);\n })\n .catch(reject);\n });\n};\n\nexport const getResendFileMessage = (store) => (channelUrl, failedMessage) => {\n const sdk = getSdk(store);\n const pubsub = getPubSub(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.GroupChannel.getChannel(channelUrl)\n .then((channel) => {\n channel.resendFileMessage(failedMessage)\n .then((message) => {\n resolve(message);\n pubsub.publish(\n topics.SEND_FILE_MESSAGE,\n {\n message,\n channel,\n },\n );\n })\n .catch(reject);\n })\n .catch(reject);\n });\n};\n\nexport const getCreateChannel = (store) => (params) => {\n const sdk = getSdk(store);\n const pubsub = getPubSub(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.GroupChannel.createChannel(params)\n .then((channel) => {\n resolve(channel);\n pubsub.publish(\n topics.CREATE_CHANNEL,\n {\n channel,\n },\n );\n })\n .catch(reject);\n });\n};\n\nexport const getLeaveChannel = (store) => (channelUrl) => {\n const sdk = getSdk(store);\n const pubsub = getPubSub(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.GroupChannel.getChannel(channelUrl)\n .then((channel) => {\n channel.leave()\n .then(() => {\n resolve(channel);\n pubsub.publish(\n topics.LEAVE_CHANNEL,\n {\n channel,\n },\n );\n })\n .catch(reject);\n })\n .catch(reject);\n });\n};\n\nexport const getFreezeChannel = (store) => (channelUrl) => {\n const sdk = getSdk(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.GroupChannel.getChannel(channelUrl)\n .then((channel) => {\n channel.freeze()\n .then(() => {\n // do not need pubsub here - event listener works\n resolve(channel);\n })\n .catch(reject);\n })\n .catch(reject);\n });\n};\n\nexport const getUnFreezeChannel = (store) => (channelUrl) => {\n const sdk = getSdk(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.GroupChannel.getChannel(channelUrl)\n .then((channel) => {\n channel.unfreeze()\n .then(() => {\n // do not need pubsub here - event listener works\n resolve(channel);\n })\n .catch(reject);\n })\n .catch(reject);\n });\n};\n\nexport const getCreateOpenChannel = (store) => (params) => {\n const sdk = getSdk(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.OpenChannel.createChannel(params)\n .then((channel) => {\n resolve(channel);\n })\n .catch(reject);\n });\n};\nexport const enterOpenChannel = (store) => (channelUrl) => {\n const sdk = getSdk(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.OpenChannel.getChannel(channelUrl, (openChannel, error) => {\n if (error) {\n reject(new Error(error));\n return;\n }\n\n openChannel.enter((response, enterError) => {\n if (error) {\n reject(new Error(enterError));\n return;\n }\n resolve(response);\n });\n });\n });\n};\n\nexport const exitOpenChannel = (store) => (channelUrl) => {\n const sdk = getSdk(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.OpenChannel.getChannel(channelUrl, (openChannel, error) => {\n if (error) {\n reject(new Error(error));\n return;\n }\n\n openChannel.exit((response, exitError) => {\n if (error) {\n reject(new Error(exitError));\n return;\n }\n resolve(response);\n });\n });\n });\n};\n\nexport const getOpenChannelSendUserMessage = (store) => (channelUrl, userMessageParams) => {\n const sdk = getSdk(store);\n const pubsub = getPubSub(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.OpenChannel.getChannel(channelUrl)\n .then((channel) => {\n const promisify = () => {\n let pendingMsg = null;\n const pendingPromise = new Promise((resolve_, reject_) => {\n pendingMsg = channel.sendUserMessage(userMessageParams, (res, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n let message = res;\n let error = err;\n if (swapParams) {\n message = err;\n error = res;\n }\n if (error) {\n reject_(error);\n return;\n }\n resolve_(message);\n pubsub.publish(\n topics.SEND_USER_MESSAGE,\n {\n message,\n channel,\n },\n );\n });\n pubsub.publish(\n topics.SEND_MESSAGE_START,\n {\n message: pendingMsg,\n channel,\n },\n );\n });\n pendingPromise.get = () => pendingMsg;\n return pendingPromise;\n };\n resolve(promisify());\n })\n .catch(reject);\n });\n};\n\nexport const getOpenChannelSendFileMessage = (store) => (channelUrl, fileMessageParams) => {\n const sdk = getSdk(store);\n const pubsub = getPubSub(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.OpenChannel.getChannel(channelUrl)\n .then((channel) => {\n const promisify = () => {\n let pendingMsg = null;\n const pendingPromise = new Promise((resolve_, reject_) => {\n pendingMsg = channel.sendFileMessage(fileMessageParams, (res, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n let message = res;\n let error = err;\n if (swapParams) {\n message = err;\n error = res;\n }\n\n if (error) {\n reject_(error);\n return;\n }\n resolve_(message);\n pubsub.publish(\n topics.SEND_FILE_MESSAGE,\n {\n message,\n channel,\n },\n );\n });\n });\n if (fileMessageParams.file) {\n // keep the file's local version in pendingMsg.localUrl\n // because promise doesnt allow overriding of pendingMsg.url\n // eslint-disable-next-line no-param-reassign\n pendingMsg.localUrl = URL.createObjectURL(fileMessageParams.file);\n }\n if (fileMessageParams.fileUrl) {\n // eslint-disable-next-line no-param-reassign\n pendingMsg.localUrl = fileMessageParams.fileUrl;\n }\n // eslint-disable-next-line no-param-reassign\n pendingMsg.requestState = 'pending';\n pubsub.publish(\n topics.SEND_MESSAGE_START,\n {\n message: pendingMsg,\n channel,\n },\n );\n pendingPromise.get = () => pendingMsg;\n return pendingPromise;\n };\n resolve(promisify());\n })\n .catch(reject);\n });\n};\n\nexport const getOpenChannelUpdateUserMessage = (store) => (channelUrl, messageId, params) => {\n const sdk = getSdk(store);\n const pubsub = getPubSub(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.OpenChannel.getChannel(channelUrl)\n .then((channel) => {\n channel.updateUserMessage(messageId, params, (res, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n let message = res;\n let error = err;\n if (swapParams) {\n message = err;\n error = res;\n }\n\n if (error) {\n reject(error);\n return;\n }\n resolve(message);\n pubsub.publish(\n topics.UPDATE_USER_MESSAGE,\n {\n message,\n channel,\n // workaround for updating channelPreview on message-edit\n // https://sendbird.atlassian.net/browse/UIKIT-268\n fromSelector: true,\n },\n );\n });\n })\n .catch(reject);\n });\n};\n\nexport const getOpenChannelDeleteMessage = (store) => (channelUrl, message) => {\n const sdk = getSdk(store);\n const pubsub = getPubSub(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.GroupChannel.getChannel(channelUrl)\n .then((channel) => {\n const { messageId } = message;\n channel.deleteMessage(message, (res, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n let error = err;\n if (swapParams) {\n error = res;\n }\n\n if (error) {\n reject(error);\n return;\n }\n resolve(message);\n pubsub.publish(\n topics.DELETE_MESSAGE,\n {\n messageId,\n channel,\n },\n );\n });\n })\n .catch(reject);\n });\n};\n\nexport const getOpenChannelResendUserMessage = (store) => (channelUrl, failedMessage) => {\n const sdk = getSdk(store);\n const pubsub = getPubSub(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.OpenChannel.getChannel(channelUrl)\n .then((channel) => {\n channel.resendUserMessage(failedMessage)\n .then((message) => {\n resolve(message);\n pubsub.publish(\n topics.SEND_USER_MESSAGE,\n {\n message,\n channel,\n },\n );\n })\n .catch(reject);\n })\n .catch(reject);\n });\n};\n\nexport const getOpenChannelResendFileMessage = (store) => (channelUrl, failedMessage) => {\n const sdk = getSdk(store);\n const pubsub = getPubSub(store);\n return new Promise((resolve, reject) => {\n if (!sdk) {\n reject(new Error('Sdk not found'));\n }\n sdk.OpenChannel.getChannel(channelUrl)\n .then((channel) => {\n channel.resendFileMessage(failedMessage)\n .then((message) => {\n resolve(message);\n pubsub.publish(\n topics.SEND_FILE_MESSAGE,\n {\n message,\n channel,\n },\n );\n })\n .catch(reject);\n })\n .catch(reject);\n });\n};\n\nexport default {\n getSdk,\n getConnect,\n getDisconnect,\n getUpdateUserInfo,\n getSendUserMessage,\n getSendFileMessage,\n getUpdateUserMessage,\n getDeleteMessage,\n getResendUserMessage,\n getResendFileMessage,\n getFreezeChannel,\n getUnFreezeChannel,\n getCreateChannel,\n getLeaveChannel,\n getCreateOpenChannel,\n getEnterOpenChannel: enterOpenChannel,\n getExitOpenChannel: exitOpenChannel,\n getOpenChannelSendUserMessage,\n getOpenChannelSendFileMessage,\n getOpenChannelUpdateUserMessage,\n getOpenChannelDeleteMessage,\n getOpenChannelResendUserMessage,\n getOpenChannelResendFileMessage,\n};\n","import React, { ReactElement, useContext } from 'react';\nimport { SendbirdTypes } from '../../types';\nimport './index.scss';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport { getSdk, getCreateChannel } from '../../lib/selectors';\nimport Avatar from '../Avatar/index';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Button, { ButtonTypes } from '../Button';\n\ninterface Logger {\n info?(message: string, channel: SendbirdTypes['GroupChannel']): void;\n}\n\ninterface Props {\n user: SendbirdTypes['User'];\n currentUserId?: string;\n sdk?: SendbirdTypes['SendBirdInstance'];\n logger?: Logger;\n disableMessaging?: boolean;\n createChannel?(params: SendbirdTypes['GroupChannelParams']): Promise<SendbirdTypes['GroupChannel']>;\n onSuccess?(): void;\n}\n\nfunction UserProfile({\n user,\n currentUserId,\n sdk,\n logger,\n disableMessaging = false,\n createChannel,\n onSuccess,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n return (\n <div className=\"sendbird__user-profile\">\n <section className=\"sendbird__user-profile-avatar\">\n <Avatar\n height=\"80px\"\n width=\"80px\"\n src={user.profileUrl}\n />\n </section>\n <section className=\"sendbird__user-profile-name\">\n <Label\n type={LabelTypography.H_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {user.nickname || stringSet.NO_NAME}\n </Label>\n </section>\n {\n (user.userId !== currentUserId) && !disableMessaging && (\n <section className=\"sendbird__user-profile-message\">\n <Button\n type={ButtonTypes.SECONDARY}\n onClick={() => {\n const params = new sdk.GroupChannelParams();\n params.isDistinct = true;\n params.addUserIds([user.userId]);\n onSuccess();\n createChannel(params)\n .then((groupChannel) => {\n logger.info('UserProfile, channel create', groupChannel);\n });\n }}\n >\n {stringSet.USER_PROFILE__MESSAGE}\n </Button>\n </section>\n )\n }\n <div className=\"sendbird__user-profile-seperator\" />\n <section className=\"sendbird__user-profile-userId\">\n <Label\n className=\"sendbird__user-profile-userId--label\"\n type={LabelTypography.CAPTION_2}\n color={LabelColors.ONBACKGROUND_2}\n >\n {stringSet.USER_PROFILE__USER_ID}\n </Label>\n <Label\n className=\"sendbird__user-profile-userId--value\"\n type={LabelTypography.BODY_1}\n color={LabelColors.ONBACKGROUND_1}\n >\n {user.userId}\n </Label>\n </section>\n </div>\n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n createChannel: getCreateChannel(store),\n logger: store.config.logger,\n pubsub: store.config.pubSub,\n});\n\nconst ConnectedUserProfile = withSendbirdContext(UserProfile, mapStoreToProps);\n\nexport default ConnectedUserProfile;\n","import React, { Component } from 'react';\nimport { createPortal } from 'react-dom';\nimport PropTypes from 'prop-types';\n\nexport default class MenuItems extends Component {\n constructor(props) {\n super(props);\n this.menuRef = React.createRef();\n this.state = {\n menuStyle: {},\n handleClickOutside: () => { },\n };\n }\n\n componentDidMount() {\n this.setupEvents();\n this.getMenuPosition();\n this.showParent();\n }\n\n componentWillUnmount() {\n this.cleanUpEvents();\n this.hideParent();\n }\n\n showParent = () => {\n const { parentContainRef = {} } = this.props;\n const { current } = parentContainRef;\n if (parentContainRef && current) {\n current.classList.add('sendbird-icon--pressed');\n }\n }\n\n hideParent = () => {\n const { parentContainRef = {} } = this.props;\n const { current } = parentContainRef;\n if (parentContainRef && current) {\n current.classList.remove('sendbird-icon--pressed');\n }\n }\n\n setupEvents = () => {\n const { closeDropdown } = this.props;\n const { menuRef } = this;\n const handleClickOutside = (event) => {\n if (menuRef.current && !menuRef.current.contains(event.target)) {\n closeDropdown();\n }\n };\n this.setState({\n handleClickOutside,\n });\n\n document.addEventListener('mousedown', handleClickOutside);\n }\n\n cleanUpEvents = () => {\n const {\n handleClickOutside,\n } = this.state;\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n getMenuPosition = () => {\n const { parentRef, openLeft } = this.props;\n const parentRect = parentRef.current.getBoundingClientRect();\n const x = parentRect.x || parentRect.left;\n const y = parentRect.y || parentRect.top;\n const menuStyle = {\n top: y,\n left: x,\n };\n\n if (!this.menuRef.current) return menuStyle;\n\n const { innerWidth, innerHeight } = window;\n const rect = this.menuRef.current.getBoundingClientRect();\n if (y + rect.height > innerHeight) {\n menuStyle.top -= rect.height;\n }\n\n if (x + rect.width > innerWidth && !openLeft) {\n menuStyle.left -= rect.width;\n }\n\n if (menuStyle.top < 0) {\n menuStyle.top = rect.height < innerHeight ? (innerHeight - rect.height) / 2 : 0;\n }\n\n if (menuStyle.left < 0) {\n menuStyle.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0;\n }\n\n menuStyle.top += 32;\n if (openLeft) {\n const padding = Number.isNaN(rect.width - 30)\n ? 108 // default\n : rect.width - 30;\n menuStyle.left -= padding;\n }\n\n return this.setState({ menuStyle });\n }\n\n render() {\n const { menuStyle } = this.state;\n const { children, style } = this.props;\n return (\n createPortal(\n (\n <>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className=\"sendbird-dropdown__menu\"\n ref={this.menuRef}\n style={{\n display: 'inline-block',\n position: 'fixed',\n left: `${Math.round(menuStyle.left)}px`,\n top: `${Math.round(menuStyle.top)}px`,\n ...style,\n }}\n >\n {children}\n </ul>\n </>\n ),\n document.getElementById('sendbird-dropdown-portal'),\n )\n );\n }\n}\nMenuItems.propTypes = {\n closeDropdown: PropTypes.func.isRequired,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n ]).isRequired,\n style: PropTypes.shape({}),\n // https://stackoverflow.com/a/51127130\n parentRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]).isRequired,\n parentContainRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]).isRequired,\n openLeft: PropTypes.bool,\n};\nMenuItems.defaultProps = {\n style: {},\n openLeft: false,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nconst componentClassName = 'sendbird-sort-by-row';\nexport default function SortByRow({\n className,\n maxItemCount,\n itemWidth,\n itemHeight,\n children,\n}) {\n if (children.length > maxItemCount) {\n const result = [];\n\n for (let i = 0; i < children.length; i += maxItemCount) {\n result.push(\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n componentClassName,\n ].join(' ')}\n key={className + i}\n style={{\n width: itemWidth * maxItemCount,\n height: itemHeight,\n }}\n >\n {\n children.slice(i, i + maxItemCount)\n }\n </div>,\n );\n }\n return result;\n }\n\n return (\n <div\n className={[\n ...(Array.isArray(className) ? className : [className]),\n componentClassName,\n ].join(' ')}\n style={{\n width: itemWidth * children.length,\n height: itemHeight,\n }}\n >\n {children}\n </div>\n );\n}\n\nSortByRow.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n maxItemCount: PropTypes.number.isRequired,\n itemWidth: PropTypes.number.isRequired,\n itemHeight: PropTypes.number.isRequired,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]).isRequired,\n};\n\nSortByRow.defaultProps = {\n className: '',\n};\n","import React, { Component } from 'react';\nimport { createPortal } from 'react-dom';\nimport PropTypes from 'prop-types';\n\nimport SortByRow from '../../SortByRow';\n\nexport default class EmojiListItems extends Component {\n constructor(props) {\n super(props);\n this.reactionRef = React.createRef();\n this.state = {\n reactionStyle: {},\n handleClickOutside: () => { },\n };\n }\n\n componentDidMount() {\n this.setupEvents();\n this.getBarPosition();\n this.showParent();\n }\n\n componentWillUnmount() {\n this.cleanUpEvents();\n this.hideParent();\n }\n\n showParent = () => {\n const { parentContainRef = {} } = this.props;\n const { current } = parentContainRef;\n if (parentContainRef && current) {\n current.classList.add('sendbird-reactions--pressed');\n }\n }\n\n hideParent = () => {\n const { parentContainRef = {} } = this.props;\n const { current } = parentContainRef;\n if (parentContainRef && current) {\n current.classList.remove('sendbird-reactions--pressed');\n }\n }\n\n setupEvents = () => {\n const { closeDropdown } = this.props;\n const { reactionRef } = this;\n const handleClickOutside = (event) => {\n if (reactionRef.current && !reactionRef.current.contains(event.target)) {\n closeDropdown();\n }\n };\n this.setState({\n handleClickOutside,\n });\n document.addEventListener('mousedown', handleClickOutside);\n }\n\n cleanUpEvents = () => {\n const {\n handleClickOutside,\n } = this.state;\n document.removeEventListener('mousedown', handleClickOutside);\n }\n\n getBarPosition = () => {\n // calculate the location that the context menu should be\n const {\n parentRef,\n spaceFromTrigger,\n } = this.props;\n const spaceFromTriggerX = spaceFromTrigger.x || 0;\n const spaceFromTriggerY = spaceFromTrigger.y || 0;\n\n const parentRect = parentRef.current.getBoundingClientRect();\n\n const x = parentRect.x || parentRect.left;\n const y = parentRect.y || parentRect.top;\n\n const reactionStyle = {\n top: y,\n left: x,\n };\n\n if (!this.reactionRef.current) return reactionStyle;\n const rect = this.reactionRef.current.getBoundingClientRect();\n\n if (reactionStyle.top < rect.height) {\n reactionStyle.top += parentRect.height;\n reactionStyle.top += spaceFromTriggerY;\n } else {\n reactionStyle.top -= rect.height;\n reactionStyle.top -= spaceFromTriggerY;\n }\n\n reactionStyle.left -= (rect.width / 2);\n reactionStyle.left += (parentRect.height / 2) - 2;\n reactionStyle.left += spaceFromTriggerX;\n\n const maximumLeft = (window.innerWidth - rect.width);\n if (maximumLeft < reactionStyle.left) {\n reactionStyle.left = maximumLeft;\n }\n if (reactionStyle.left < 0) {\n reactionStyle.left = 0;\n }\n\n return this.setState({ reactionStyle });\n }\n\n render() {\n const { reactionStyle } = this.state;\n const { children } = this.props;\n return (\n createPortal(\n <>\n <div className=\"sendbird-dropdown__menu-backdrop\" />\n <ul\n className=\"sendbird-dropdown__reaction-bar\"\n ref={this.reactionRef}\n style={{\n display: 'inline-block',\n position: 'fixed',\n left: `${Math.round(reactionStyle.left)}px`,\n top: `${Math.round(reactionStyle.top)}px`,\n }}\n >\n <SortByRow\n className=\"sendbird-dropdown__reaction-bar__row\"\n maxItemCount={8}\n itemWidth={44}\n itemHeight={40}\n >\n {children}\n </SortByRow>\n </ul>\n </>,\n document.getElementById('sendbird-emoji-list-portal'),\n )\n );\n }\n}\nEmojiListItems.propTypes = {\n closeDropdown: PropTypes.func.isRequired,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n ]).isRequired,\n parentRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]).isRequired,\n parentContainRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(Element) }),\n ]).isRequired,\n spaceFromTrigger: PropTypes.shape({\n x: PropTypes.number,\n y: PropTypes.number,\n }),\n};\nEmojiListItems.defaultProps = {\n spaceFromTrigger: {},\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nimport MenuItems_ from './items/MenuItems';\nimport EmojiListItems_ from './items/EmojiListItems';\n\nconst ENTER = 13;\n\nexport const MenuItems = MenuItems_;\nexport const EmojiListItems = EmojiListItems_;\n\nexport const MenuItem = ({\n className,\n children,\n onClick,\n}) => (\n <li\n className={[\n ...(Array.isArray(className) ? className : [className]),\n 'sendbird-dropdown__menu-item',\n ].join(' ')}\n role=\"menuitem\"\n onClick={onClick}\n onKeyPress={(e) => {\n if (e.keyCode === ENTER) {\n onClick(e);\n }\n }}\n tabIndex={0}\n >\n <Label\n className=\"sendbird-dropdown__menu-item__text\"\n type={LabelTypography.SUBTITLE_2}\n color={LabelColors.ONBACKGROUND_1}\n >\n {children}\n </Label>\n </li>\n);\n\nMenuItem.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n ]).isRequired,\n onClick: PropTypes.func.isRequired,\n};\n\nMenuItem.defaultProps = {\n className: '',\n};\n\n// Root components should be appended before ContextMenu is rendered\nexport const MenuRoot = () => (\n <div id=\"sendbird-dropdown-portal\" />\n);\nexport const EmojiReactionListRoot = () => (\n <div id=\"sendbird-emoji-list-portal\" />\n);\n\nexport default function ContextMenu({ menuTrigger, menuItems }) {\n const [showMenu, setShowMenu] = useState(false);\n\n return (\n <div className=\"sendbird-context-menu\" style={{ display: 'inline' }}>\n {menuTrigger(() => setShowMenu(!showMenu))}\n {showMenu && menuItems(() => setShowMenu(false))}\n </div>\n );\n}\n\nContextMenu.propTypes = {\n menuTrigger: PropTypes.func.isRequired,\n menuItems: PropTypes.func.isRequired,\n};\n"],"names":["UserProfileContext","React","createContext","disableUserProfile","isOpenChannel","renderUserProfile","UserProfileProvider","props","children","className","propTypes","PropTypes","oneOfType","element","arrayOf","any","isRequired","bool","func","string","defaultProps","IconButton","forwardRef","ref","disabled","width","height","type","onClick","onBlur","style","useState","pressed","setPressed","Array","isArray","join","e","shape","MODAL_ROOT","Type","PRIMARY","SECONDARY","DANGER","DISABLED","Size","BIG","SMALL","changeTypeToClassName","changeSizeToClassName","size","Button","injectingClassNames","LabelTypography","BUTTON_1","LabelColors","ONCONTENT_1","ButtonTypes","ButtonSizes","oneOf","Object","keys","ModalHeader","titleText","H_1","ONBACKGROUND_1","ModalBody","ModalFooter","onSubmit","onCancel","submitText","useContext","LocalizationContext","stringSet","BUTTON__CANCEL","Modal","hideFooter","createPortal","IconTypes","CLOSE","IconColors","DEFAULT","document","getElementById","Colors","ONBACKGROUND_2","ONBACKGROUND_3","ONBACKGROUND_4","ERROR","changeColorToClassName","color","TextButton","notUnderline","SEND_MESSAGE_START","SEND_USER_MESSAGE","SEND_FILE_MESSAGE","UPDATE_USER_MESSAGE","DELETE_MESSAGE","LEAVE_CHANNEL","CREATE_CHANNEL","getSdk","store","stores","sdkStore","sdk","getPubSub","config","pubSub","getConnect","userId","accessToken","Promise","resolve","reject","Error","connect","then","res","catch","err","getDisconnect","disconnect","getUpdateUserInfo","nickName","profileUrl","updateCurrentUserInfo","getSendUserMessage","channelUrl","userMessageParams","pubsub","GroupChannel","getChannel","channel","promisify","pendingMsg","pendingPromise","resolve_","reject_","sendUserMessage","swapParams","getErrorFirstCallback","message","error","publish","topics","get","getSendFileMessage","fileMessageParams","sendFileMessage","file","localUrl","URL","createObjectURL","fileUrl","requestState","getUpdateUserMessage","messageId","params","updateUserMessage","fromSelector","getDeleteMessage","deleteMessage","getResendUserMessage","failedMessage","resendUserMessage","getResendFileMessage","resendFileMessage","getCreateChannel","createChannel","getLeaveChannel","leave","getFreezeChannel","freeze","getUnFreezeChannel","unfreeze","getCreateOpenChannel","OpenChannel","enterOpenChannel","openChannel","enter","response","enterError","exitOpenChannel","exit","exitError","getOpenChannelSendUserMessage","getOpenChannelSendFileMessage","getOpenChannelUpdateUserMessage","getOpenChannelDeleteMessage","getOpenChannelResendUserMessage","getOpenChannelResendFileMessage","getEnterOpenChannel","getExitOpenChannel","UserProfile","_a","user","currentUserId","logger","_b","disableMessaging","onSuccess","H_2","nickname","NO_NAME","GroupChannelParams","isDistinct","addUserIds","groupChannel","info","USER_PROFILE__MESSAGE","CAPTION_2","USER_PROFILE__USER_ID","BODY_1","mapStoreToProps","ConnectedUserProfile","withSendbirdContext","MenuItems","parentContainRef","current","classList","add","remove","closeDropdown","menuRef","handleClickOutside","event","contains","target","setState","addEventListener","state","removeEventListener","parentRef","openLeft","parentRect","getBoundingClientRect","x","left","y","top","menuStyle","window","innerWidth","innerHeight","rect","padding","Number","isNaN","createRef","setupEvents","getMenuPosition","showParent","cleanUpEvents","hideParent","display","position","Math","round","Component","instanceOf","Element","componentClassName","SortByRow","maxItemCount","itemWidth","itemHeight","length","result","i","push","slice","number","EmojiListItems","reactionRef","spaceFromTrigger","spaceFromTriggerX","spaceFromTriggerY","reactionStyle","maximumLeft","getBarPosition","ENTER","MenuItems_","EmojiListItems_","MenuItem","keyCode","SUBTITLE_2","ContextMenu","menuTrigger","menuItems","showMenu","setShowMenu"],"mappings":"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"}