From eeeeead5f18d4d9be9a337106ddeefe1f9575b81 Mon Sep 17 00:00:00 2001 From: Sravan S Date: Thu, 4 Mar 2021 14:00:58 +0900 Subject: [PATCH] [2.1.0](Mar 04 2021) - Features: * Change font-family to Roboto * Update color set * Add conditional search icon to Channel component ``` ``` * Implement hook `useSendbirdStateContext` to access UIKit global state ``` const state = useSendbirdStateContext(); const sdk = sendbirdSelectors.getSdk(state); ``` - Bugfixes: * Handle SVG file as thumbnail image * Loader shouldnt show warning message * Change type definition for array 'type[]' to Array * Add chainTop and chainBottom for custom message items * Separate Open and GroupChannel renderMessageInput definition * Cleanup SVG icons * Various other style and stability fixes --- App.js | 23 +- App.js.map | 2 +- CHANGELOG.md | 28 + Channel.js | 525 ++- Channel.js.map | 2 +- ChannelList.js | 22 +- ChannelList.js.map | 2 +- ChannelSettings.js | 48 +- ChannelSettings.js.map | 2 +- LeaveChannel-42e6a67d.js | 290 ++ LeaveChannel-42e6a67d.js.map | 1 + LocalizationContext-34316336.js | 368 ++ LocalizationContext-34316336.js.map | 1 + OpenChannel.js | 45 +- OpenChannel.js.map | 2 +- OpenChannelSettings.js | 10 +- OpenChannelSettings.js.map | 2 +- SendbirdProvider.js | 7 +- SendbirdProvider.js.map | 2 +- dist/cjs/App.js | 23 +- dist/cjs/App.js.map | 2 +- dist/cjs/Channel.js | 523 ++- dist/cjs/Channel.js.map | 2 +- dist/cjs/ChannelList.js | 22 +- dist/cjs/ChannelList.js.map | 2 +- dist/cjs/ChannelSettings.js | 444 +-- dist/cjs/ChannelSettings.js.map | 2 +- dist/cjs/LeaveChannel-c93b4597.js | 301 ++ dist/cjs/LeaveChannel-c93b4597.js.map | 1 + dist/cjs/LocalizationContext-12a9343d.js | 390 ++ dist/cjs/LocalizationContext-12a9343d.js.map | 1 + dist/cjs/OpenChannel.js | 45 +- dist/cjs/OpenChannel.js.map | 2 +- dist/cjs/OpenChannelSettings.js | 10 +- dist/cjs/OpenChannelSettings.js.map | 2 +- dist/cjs/SendbirdProvider.js | 7 +- dist/cjs/SendbirdProvider.js.map | 2 +- dist/cjs/index-2a2230b8.js | 3480 ++++++++++++++++++ dist/cjs/index-2a2230b8.js.map | 1 + dist/cjs/index-5fe9ee1f.js | 446 +++ dist/cjs/index-5fe9ee1f.js.map | 1 + dist/cjs/index-9431d920.js | 52 + dist/cjs/index-9431d920.js.map | 1 + dist/cjs/index-a8367321.js | 259 ++ dist/cjs/index-a8367321.js.map | 1 + dist/cjs/index-ccc7b14d.js | 92 + dist/cjs/index-ccc7b14d.js.map | 1 + dist/cjs/index.js | 25 +- dist/cjs/index.js.map | 2 +- dist/cjs/utils-6aedec02.js.map | 2 +- dist/index.css | 2362 ++++++------ dist/index.css.map | 2 +- index-49dfd24f.js | 251 ++ index-49dfd24f.js.map | 1 + index-5b744991.js | 434 +++ index-5b744991.js.map | 1 + index-79d744e1.js | 3437 +++++++++++++++++ index-79d744e1.js.map | 1 + index-cb09a8ab.js | 86 + index-cb09a8ab.js.map | 1 + index-cee71d44.js | 47 + index-cee71d44.js.map | 1 + index.d.ts | 59 +- index.js | 24 +- index.js.map | 2 +- package-lock.json | 2 +- package.json | 2 +- utils-53ba1773.js.map | 2 +- 68 files changed, 12501 insertions(+), 1740 deletions(-) create mode 100644 LeaveChannel-42e6a67d.js create mode 100644 LeaveChannel-42e6a67d.js.map create mode 100644 LocalizationContext-34316336.js create mode 100644 LocalizationContext-34316336.js.map create mode 100644 dist/cjs/LeaveChannel-c93b4597.js create mode 100644 dist/cjs/LeaveChannel-c93b4597.js.map create mode 100644 dist/cjs/LocalizationContext-12a9343d.js create mode 100644 dist/cjs/LocalizationContext-12a9343d.js.map create mode 100644 dist/cjs/index-2a2230b8.js create mode 100644 dist/cjs/index-2a2230b8.js.map create mode 100644 dist/cjs/index-5fe9ee1f.js create mode 100644 dist/cjs/index-5fe9ee1f.js.map create mode 100644 dist/cjs/index-9431d920.js create mode 100644 dist/cjs/index-9431d920.js.map create mode 100644 dist/cjs/index-a8367321.js create mode 100644 dist/cjs/index-a8367321.js.map create mode 100644 dist/cjs/index-ccc7b14d.js create mode 100644 dist/cjs/index-ccc7b14d.js.map create mode 100644 index-49dfd24f.js create mode 100644 index-49dfd24f.js.map create mode 100644 index-5b744991.js create mode 100644 index-5b744991.js.map create mode 100644 index-79d744e1.js create mode 100644 index-79d744e1.js.map create mode 100644 index-cb09a8ab.js create mode 100644 index-cb09a8ab.js.map create mode 100644 index-cee71d44.js create mode 100644 index-cee71d44.js.map diff --git a/App.js b/App.js index a382ca6..f26c6e8 100644 --- a/App.js +++ b/App.js @@ -1,29 +1,29 @@ -import { b as _slicedToArray } from './LocalizationContext-5c5b45a0.js'; +import { b as _slicedToArray } from './LocalizationContext-34316336.js'; import Sendbird from './SendbirdProvider.js'; import React, { useState } from 'react'; import PropTypes from 'prop-types'; import 'sendbird'; import './actionTypes-a85c0eaa.js'; import 'css-vars-ponyfill'; -import './index-c97add1b.js'; +import './index-79d744e1.js'; import ChannelList from './ChannelList.js'; +import './index-cee71d44.js'; import './utils-53ba1773.js'; -import './index-fa2a92d8.js'; -import './LeaveChannel-cf9903b4.js'; +import './LeaveChannel-42e6a67d.js'; import 'date-fns/isToday'; import 'date-fns/format'; import 'date-fns/isYesterday'; import './type-0296584d.js'; import './utils-cfdeb084.js'; import 'react-dom'; -import './index-2c17b4ed.js'; +import './index-49dfd24f.js'; import Conversation from './Channel.js'; -import './index-f48d282b.js'; +import './index-5b744991.js'; import 'date-fns/isSameDay'; import './utils-d7f59026.js'; import 'date-fns/formatDistanceToNowStrict'; import ChannelSettings from './ChannelSettings.js'; -import './index-e492270c.js'; +import './index-cb09a8ab.js'; function App(props) { var appId = props.appId, @@ -88,11 +88,10 @@ function App(props) { }, React.createElement(Conversation, { channelUrl: currentChannelUrl, onChatHeaderActionClick: function onChatHeaderActionClick() { - if (showSettings) { - setShowSettings(false); - } else { - setShowSettings(true); - } + setShowSettings(!showSettings); + }, + onSearchClick: function onSearchClick() { + setShowSettings(false); }, useReaction: useReaction, useMessageGrouping: useMessageGrouping diff --git a/App.js.map b/App.js.map index 5bac3b4..e4fc200 100644 --- a/App.js.map +++ b/App.js.map @@ -1 +1 @@ -{"version":3,"file":"App.js","sources":["../src/smart-components/App/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Sendbird from '../../lib/Sendbird';\n\nimport ChannelList from '../ChannelList';\nimport Conversation from '../Conversation';\nimport ChannelSettings from '../ChannelSettings';\n\nimport './index.scss';\n\nexport default function App(props) {\n const {\n appId,\n userId,\n accessToken,\n theme,\n userListQuery,\n nickname,\n profileUrl,\n config = {},\n useReaction,\n useMessageGrouping,\n colorSet,\n stringSet,\n allowProfileEdit,\n disableUserProfile,\n renderUserProfile,\n onProfileEditSuccess,\n imageCompression,\n } = props;\n const [currentChannelUrl, setCurrentChannelUrl] = useState(null);\n const [showSettings, setShowSettings] = useState(false);\n return (\n \n
\n
\n {\n if (channel && channel.url) {\n setCurrentChannelUrl(channel.url);\n } else {\n setCurrentChannelUrl('');\n }\n }}\n />\n
\n \n {\n if (showSettings) {\n setShowSettings(false);\n } else {\n setShowSettings(true);\n }\n }}\n useReaction={useReaction}\n useMessageGrouping={useMessageGrouping}\n />\n
\n {showSettings && (\n
\n { setShowSettings(false); }}\n />\n
\n )}\n \n \n );\n}\n\nApp.propTypes = {\n appId: PropTypes.string.isRequired,\n userId: PropTypes.string.isRequired,\n accessToken: PropTypes.string,\n theme: PropTypes.string,\n userListQuery: PropTypes.func,\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n allowProfileEdit: PropTypes.bool,\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n onProfileEditSuccess: PropTypes.func,\n config: PropTypes.shape({\n // None Error Warning Info 'All/Debug'\n logLevel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n useReaction: PropTypes.bool,\n useMessageGrouping: PropTypes.bool,\n stringSet: PropTypes.objectOf(PropTypes.string),\n colorSet: PropTypes.objectOf(PropTypes.string),\n imageCompression: PropTypes.shape({\n compressionRate: PropTypes.number,\n resizingWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n resizingHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n};\n\nApp.defaultProps = {\n accessToken: '',\n theme: 'light',\n nickname: '',\n profileUrl: '',\n userListQuery: null,\n allowProfileEdit: false,\n onProfileEditSuccess: null,\n disableUserProfile: false,\n renderUserProfile: null,\n config: {},\n useReaction: true,\n useMessageGrouping: true,\n stringSet: null,\n colorSet: null,\n imageCompression: {},\n};\n"],"names":["App","props","appId","userId","accessToken","theme","userListQuery","nickname","profileUrl","config","useReaction","useMessageGrouping","colorSet","stringSet","allowProfileEdit","disableUserProfile","renderUserProfile","onProfileEditSuccess","imageCompression","useState","currentChannelUrl","setCurrentChannelUrl","showSettings","setShowSettings","channel","url","propTypes","PropTypes","string","isRequired","func","bool","shape","logLevel","oneOfType","arrayOf","objectOf","compressionRate","number","resizingWidth","resizingHeight","defaultProps"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"App.js","sources":["../src/smart-components/App/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Sendbird from '../../lib/Sendbird';\n\nimport ChannelList from '../ChannelList';\nimport Conversation from '../Conversation';\nimport ChannelSettings from '../ChannelSettings';\n\nimport './index.scss';\n\nexport default function App(props) {\n const {\n appId,\n userId,\n accessToken,\n theme,\n userListQuery,\n nickname,\n profileUrl,\n config = {},\n useReaction,\n useMessageGrouping,\n colorSet,\n stringSet,\n allowProfileEdit,\n disableUserProfile,\n renderUserProfile,\n onProfileEditSuccess,\n imageCompression,\n } = props;\n const [currentChannelUrl, setCurrentChannelUrl] = useState(null);\n const [showSettings, setShowSettings] = useState(false);\n return (\n \n
\n
\n {\n if (channel && channel.url) {\n setCurrentChannelUrl(channel.url);\n } else {\n setCurrentChannelUrl('');\n }\n }}\n />\n
\n \n {\n setShowSettings(!showSettings);\n }}\n onSearchClick={() => {\n setShowSettings(false);\n }}\n useReaction={useReaction}\n useMessageGrouping={useMessageGrouping}\n />\n
\n {showSettings && (\n
\n {\n setShowSettings(false);\n }}\n />\n
\n )}\n \n \n );\n}\n\nApp.propTypes = {\n appId: PropTypes.string.isRequired,\n userId: PropTypes.string.isRequired,\n accessToken: PropTypes.string,\n theme: PropTypes.string,\n userListQuery: PropTypes.func,\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n allowProfileEdit: PropTypes.bool,\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n onProfileEditSuccess: PropTypes.func,\n config: PropTypes.shape({\n // None Error Warning Info 'All/Debug'\n logLevel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n useReaction: PropTypes.bool,\n useMessageGrouping: PropTypes.bool,\n stringSet: PropTypes.objectOf(PropTypes.string),\n colorSet: PropTypes.objectOf(PropTypes.string),\n imageCompression: PropTypes.shape({\n compressionRate: PropTypes.number,\n resizingWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n resizingHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n};\n\nApp.defaultProps = {\n accessToken: '',\n theme: 'light',\n nickname: '',\n profileUrl: '',\n userListQuery: null,\n allowProfileEdit: false,\n onProfileEditSuccess: null,\n disableUserProfile: false,\n renderUserProfile: null,\n config: {},\n useReaction: true,\n useMessageGrouping: true,\n stringSet: null,\n colorSet: null,\n imageCompression: {},\n};\n"],"names":["App","props","appId","userId","accessToken","theme","userListQuery","nickname","profileUrl","config","useReaction","useMessageGrouping","colorSet","stringSet","allowProfileEdit","disableUserProfile","renderUserProfile","onProfileEditSuccess","imageCompression","useState","currentChannelUrl","setCurrentChannelUrl","showSettings","setShowSettings","channel","url","propTypes","PropTypes","string","isRequired","func","bool","shape","logLevel","oneOfType","arrayOf","objectOf","compressionRate","number","resizingWidth","resizingHeight","defaultProps"],"mappings":"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"} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index dd605f4..1a4e79c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,33 @@ # Changelog +## [2.1.0](Mar 04 2021) + +- Features: + * Change font-family to Roboto + * Update color set + * Add conditional search icon to Channel component + ``` + + ``` + * Implement hook `useSendbirdStateContext` to + access UIKit global state + ``` + const state = useSendbirdStateContext(); + const sdk = sendbirdSelectors.getSdk(state); + ``` + +- Bugfixes: + * Handle SVG file as thumbnail image + * Loader shouldnt show warning message + * Change type definition for array 'type[]' to Array + * Add chainTop and chainBottom for custom message items + * Separate Open and GroupChannel renderMessageInput definition + * Cleanup SVG icons + * Various other style and stability fixes + ## [2.0.2](Jan 28 2021) - Bugfixes: diff --git a/Channel.js b/Channel.js index 9e46014..0e389d5 100644 --- a/Channel.js +++ b/Channel.js @@ -1,14 +1,14 @@ -import { c as _toConsumableArray, a as _objectSpread2, u as uuidv4$1, b as _slicedToArray, l as _defineProperty, e as LocalizationContext, f as _inherits, h as _createClass, i as _classCallCheck, j as _possibleConstructorReturn, k as _getPrototypeOf, m as _assertThisInitialized, w as withSendbirdContext } from './LocalizationContext-5c5b45a0.js'; -import React, { useEffect, useCallback, useRef, useMemo, useState, useContext, Component, useReducer } from 'react'; +import { c as _toConsumableArray, a as _objectSpread2, u as uuidv4$1, b as _slicedToArray, l as _defineProperty, e as LocalizationContext, f as _inherits, h as _createClass, i as _classCallCheck, j as _possibleConstructorReturn, k as _getPrototypeOf, m as _assertThisInitialized, w as withSendbirdContext } from './LocalizationContext-34316336.js'; +import React, { useEffect, useCallback, useRef, useMemo, useState, useContext, useLayoutEffect, Component, useReducer } from 'react'; import PropTypes from 'prop-types'; -import { p as SEND_USER_MESSAGE, S as SEND_MESSAGE_START, q as SEND_FILE_MESSAGE, U as UPDATE_USER_MESSAGE, D as DELETE_MESSAGE, E as EmojiListItems, r as ImageRenderer, I as Icon, a as IconTypes, s as Loader, g as IconColors, b as Label, c as LabelTypography, d as LabelColors, C as ContextMenu, e as IconButton, h as MenuItems, i as MenuItem, n as UserProfileContext, A as Avatar, o as UserProfile, f as TextButton, M as Modal, P as PlaceHolder, t as PlaceHolderTypes, L as LabelStringSet, l as UserProfileProvider } from './index-c97add1b.js'; +import { p as SEND_USER_MESSAGE, S as SEND_MESSAGE_START, q as SEND_FILE_MESSAGE, U as UPDATE_USER_MESSAGE, D as DELETE_MESSAGE, E as EmojiListItems, r as ImageRenderer, I as Icon, a as IconTypes, s as Loader, b as IconColors, c as Label, d as LabelTypography, e as LabelColors, C as ContextMenu, f as IconButton, h as MenuItems, i as MenuItem, n as UserProfileContext, A as Avatar, o as UserProfile, g as TextButton, M as Modal, P as PlaceHolder, t as PlaceHolderTypes, L as LabelStringSet, l as UserProfileProvider } from './index-79d744e1.js'; +import { C as ChannelAvatar } from './index-cee71d44.js'; import { a as getMessageCreatedAt$4, b as getSenderName$2, c as getSenderProfileUrl$2 } from './utils-53ba1773.js'; -import { C as ChannelAvatar } from './index-fa2a92d8.js'; import format from 'date-fns/format'; import { M as MessageStatusType } from './type-0296584d.js'; import { t as truncate, g as getIsSentFromStatus$3 } from './utils-cfdeb084.js'; import 'react-dom'; -import { i as isImage, a as isVideo, c as compareIds, u as unSupported, L as LinkLabel, D as DateSeparator, M as MessageInput, F as FileViewer } from './index-f48d282b.js'; +import { i as isImage, a as isVideo, c as compareIds, u as unSupported, L as LinkLabel, D as DateSeparator, M as MessageInput, F as FileViewer } from './index-5b744991.js'; import isSameDay from 'date-fns/isSameDay'; import { c as copyToClipboard$1, g as getSenderProfileUrl$1, a as getSenderName$1, b as getMessageCreatedAt$5, d as getIsSentFromStatus$2 } from './utils-d7f59026.js'; import formatDistanceToNowStrict from 'date-fns/formatDistanceToNowStrict'; @@ -18,11 +18,14 @@ var RESET_STATE = 'RESET_STATE'; var CLEAR_SENT_MESSAGES = 'CLEAR_SENT_MESSAGES'; var GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START'; var GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS'; +var GET_NEXT_MESSAGES_SUCESS = 'GET_NEXT_MESSAGES_SUCESS'; +var GET_NEXT_MESSAGES_FAILURE = 'GET_NEXT_MESSAGES_FAILURE'; var SEND_MESSAGEGE_START = 'SEND_MESSAGEGE_START'; var SEND_MESSAGEGE_SUCESS = 'SEND_MESSAGEGE_SUCESS'; var SEND_MESSAGEGE_FAILURE = 'SEND_MESSAGEGE_FAILURE'; var RESEND_MESSAGEGE_START = 'RESEND_MESSAGEGE_START'; var ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED'; +var UPDATE_UNREAD_COUNT = 'UPDATE_UNREAD_COUNT'; var ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED'; var ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED'; var ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID'; @@ -277,6 +280,16 @@ var isSameGroup = function isSameGroup(message, comparingMessage) { var compareMessagesForGrouping = function compareMessagesForGrouping(prevMessage, currMessage, nextMessage) { return [isSameGroup(prevMessage, currMessage), isSameGroup(currMessage, nextMessage)]; }; +var hasOwnProperty = function hasOwnProperty(property) { + return function (payload) { + // eslint-disable-next-line no-prototype-builtins + if (payload && payload.hasOwnProperty && payload.hasOwnProperty(property)) { + return true; + } + + return false; + }; +}; var passUnsuccessfullMessages = function passUnsuccessfullMessages(allMessages, newMessage) { var _newMessage$sendingSt = newMessage.sendingStatus, sendingStatus = _newMessage$sendingSt === void 0 ? UNDEFINED : _newMessage$sendingSt; @@ -319,8 +332,12 @@ var messagesInitialState = { currentGroupChannel: { members: [] }, + // for scrollup hasMore: false, lastMessageTimeStamp: 0, + // for scroll down + hasMoreToBottom: false, + latestFetchedMessageTimeStamp: 0, emojiContainer: {}, readStatus: {}, unreadCount: 0, @@ -376,15 +393,62 @@ function reducer(state, action) { return compareIds(messageId, msg.messageId); }); }); + var hasHasMoreToBottom = hasOwnProperty('hasMoreToBottom')(action.payload); + var hasLatestFetchedMessageTimeStamp = hasOwnProperty('latestFetchedMessageTimeStamp')(action.payload); return _objectSpread2({}, state, { loading: false, initialized: true, hasMore: action.payload.hasMore, - lastMessageTimeStamp: action.payload.lastMessageTimeStamp, + lastMessageTimeStamp: action.payload.lastMessageTimeStamp + }, hasHasMoreToBottom && { + hasMoreToBottom: action.payload.hasMoreToBottom + }, {}, hasLatestFetchedMessageTimeStamp && { + latestFetchedMessageTimeStamp: action.payload.latestFetchedMessageTimeStamp + }, { allMessages: [].concat(_toConsumableArray(receivedMessages), _toConsumableArray(filteredAllMessages)) }); } + case GET_NEXT_MESSAGES_SUCESS: + { + var _receivedMessages = action.payload.messages || []; + + var _action$payload$curre2 = action.payload.currentGroupChannel, + _currentGroupChannel = _action$payload$curre2 === void 0 ? {} : _action$payload$curre2; + + var _stateChannel = state.currentGroupChannel || {}; + + var _stateChannelUrl = _stateChannel.url; + var _actionChannelUrl = _currentGroupChannel.url; + + if (_actionChannelUrl !== _stateChannelUrl) { + return state; + } // remove duplicate messages + + + var _filteredAllMessages = state.allMessages.filter(function (msg) { + return !_receivedMessages.find(function (_ref2) { + var messageId = _ref2.messageId; + return compareIds(messageId, msg.messageId); + }); + }); + + return _objectSpread2({}, state, { + loading: false, + initialized: true, + hasMore: action.payload.hasMore, + lastMessageTimeStamp: action.payload.lastMessageTimeStamp, + hasMoreToBottom: action.payload.hasMoreToBottom, + latestFetchedMessageTimeStamp: action.payload.latestFetchedMessageTimeStamp, + allMessages: [].concat(_toConsumableArray(_filteredAllMessages), _toConsumableArray(_receivedMessages)) + }); + } + + case GET_NEXT_MESSAGES_FAILURE: + { + return _objectSpread2({}, state); + } + case SEND_MESSAGEGE_START: return _objectSpread2({}, state, { allMessages: [].concat(_toConsumableArray(state.allMessages), [_objectSpread2({}, action.payload)]) @@ -431,21 +495,40 @@ function reducer(state, action) { }); } + case UPDATE_UNREAD_COUNT: + { + var channel = action.payload.channel; + + var _state$currentGroupCh = state.currentGroupChannel, + _currentGroupChannel2 = _state$currentGroupCh === void 0 ? {} : _state$currentGroupCh, + unreadCount = state.unreadCount; + + var currentGroupChannelUrl = _currentGroupChannel2.url; + + if (!compareIds(channel.url, currentGroupChannelUrl)) { + return state; + } + + return _objectSpread2({}, state, { + unreadSince: unreadCount + 1 + }); + } + case ON_MESSAGE_RECEIVED: { var _action$payload = action.payload, - channel = _action$payload.channel, + _channel = _action$payload.channel, message = _action$payload.message, scrollToEnd = _action$payload.scrollToEnd; - var unreadCount = 0; + var _unreadCount = 0; - var _state$currentGroupCh = state.currentGroupChannel, - _currentGroupChannel = _state$currentGroupCh === void 0 ? {} : _state$currentGroupCh, + var _state$currentGroupCh2 = state.currentGroupChannel, + _currentGroupChannel3 = _state$currentGroupCh2 === void 0 ? {} : _state$currentGroupCh2, unreadSince = state.unreadSince; - var currentGroupChannelUrl = _currentGroupChannel.url; + var _currentGroupChannelUrl = _currentGroupChannel3.url; - if (!compareIds(channel.url, currentGroupChannelUrl)) { + if (!compareIds(_channel.url, _currentGroupChannelUrl)) { return state; } // Excluded overlapping messages @@ -456,10 +539,10 @@ function reducer(state, action) { return state; } - unreadCount = state.unreadCount + 1; // reset unreadCount if have to scrollToEnd + _unreadCount = state.unreadCount + 1; // reset unreadCount if have to scrollToEnd if (scrollToEnd) { - unreadCount = 0; + _unreadCount = 0; } if (message.isAdminMessage && message.isAdminMessage()) { @@ -469,8 +552,8 @@ function reducer(state, action) { } return _objectSpread2({}, state, { - unreadCount: unreadCount, - unreadSince: unreadCount === 1 ? format(new Date(), 'p MMM dd') : unreadSince, + unreadCount: _unreadCount, + unreadSince: _unreadCount === 1 ? format(new Date(), 'p MMM dd') : unreadSince, allMessages: passUnsuccessfullMessages(state.allMessages, message) }); } @@ -556,7 +639,8 @@ function reducer(state, action) { function useHandleChannelEvents(_ref, _ref2) { var currentGroupChannel = _ref.currentGroupChannel, - sdkInit = _ref.sdkInit; + sdkInit = _ref.sdkInit, + hasMoreToBottom = _ref.hasMoreToBottom; var messagesDispatcher = _ref2.messagesDispatcher, sdk = _ref2.sdk, logger = _ref2.logger, @@ -570,7 +654,8 @@ function useHandleChannelEvents(_ref, _ref2) { logger.info('Channel | useHandleChannelEvents: Setup event handler', messageReceiverId); ChannelHandler.onMessageReceived = function (channel, message) { - if (compareIds(channel.url, currentGroupChannel.url)) { + // donot update if hasMoreToBottom + if (compareIds(channel.url, currentGroupChannel.url) && !hasMoreToBottom) { var scrollToEnd = false; try { @@ -600,6 +685,15 @@ function useHandleChannelEvents(_ref, _ref2) { } } } + + if (compareIds(channel.url, currentGroupChannel.url) && hasMoreToBottom) { + messagesDispatcher({ + type: UPDATE_UNREAD_COUNT, + payload: { + channel: channel + } + }); + } }; ChannelHandler.onMessageUpdated = function (channel, message) { @@ -755,9 +849,19 @@ function useSetChannel(_ref, _ref2) { }, [channelUrl, sdkInit]); } +var PREV_RESULT_SIZE = 30; +var NEXT_RESULT_SIZE = 10; + +var getLatestMessageTimeStamp = function getLatestMessageTimeStamp() { + var messages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var latestMessage = messages[messages.length - 1]; + return latestMessage && latestMessage.createdAt || null; +}; + function useInitialMessagesFetch(_ref, _ref2) { var currentGroupChannel = _ref.currentGroupChannel, - userFilledMessageListQuery = _ref.userFilledMessageListQuery; + userFilledMessageListQuery = _ref.userFilledMessageListQuery, + intialTimeStamp = _ref.intialTimeStamp; var sdk = _ref2.sdk, logger = _ref2.logger, messagesDispatcher = _ref2.messagesDispatcher; @@ -770,7 +874,7 @@ function useInitialMessagesFetch(_ref, _ref2) { if (sdk && sdk.MessageListParams && currentGroupChannel && currentGroupChannel.getMessagesByMessageId) { var messageListParams = new sdk.MessageListParams(); - messageListParams.prevResultSize = 30; + messageListParams.prevResultSize = PREV_RESULT_SIZE; messageListParams.isInclusive = true; messageListParams.includeReplies = false; messageListParams.includeReaction = true; @@ -788,17 +892,27 @@ function useInitialMessagesFetch(_ref, _ref2) { messagesDispatcher({ type: GET_PREV_MESSAGES_START }); - currentGroupChannel.getMessagesByTimestamp(new Date().getTime(), messageListParams).then(function (messages) { + + if (intialTimeStamp) { + messageListParams.nextResultSize = NEXT_RESULT_SIZE; + } + + currentGroupChannel.getMessagesByTimestamp(intialTimeStamp || new Date().getTime(), messageListParams).then(function (messages) { var hasMore = messages && messages.length > 0; var lastMessageTimeStamp = hasMore ? messages[0].createdAt : null; + var latestFetchedMessageTimeStamp = getLatestMessageTimeStamp(messages); messagesDispatcher({ type: GET_PREV_MESSAGES_SUCESS, - payload: { + payload: _objectSpread2({ messages: messages, hasMore: hasMore, lastMessageTimeStamp: lastMessageTimeStamp, - currentGroupChannel: currentGroupChannel - } + currentGroupChannel: currentGroupChannel, + latestFetchedMessageTimeStamp: latestFetchedMessageTimeStamp, + hasMoreToBottom: false + }, intialTimeStamp && { + hasMoreToBottom: true + }) }); }).catch(function (error) { logger.error('Channel: Fetching messages failed', error); @@ -812,13 +926,16 @@ function useInitialMessagesFetch(_ref, _ref2) { } }); }).finally(function () { + if (!intialTimeStamp) { + setTimeout(function () { + return scrollIntoLast(); + }); + } + currentGroupChannel.markAsRead(); - setTimeout(function () { - return scrollIntoLast(); - }); }); } - }, [channelUrl, userFilledMessageListQuery]); + }, [channelUrl, userFilledMessageListQuery, intialTimeStamp]); } function useHandleReconnect(_ref, _ref2) { @@ -945,6 +1062,68 @@ function useScrollCallback(_ref, _ref2) { }, [currentGroupChannel, lastMessageTimeStamp]); } +var RESULT_SIZE = 30; + +function useScrollDownCallback(_ref, _ref2) { + var currentGroupChannel = _ref.currentGroupChannel, + latestFetchedMessageTimeStamp = _ref.latestFetchedMessageTimeStamp, + userFilledMessageListQuery = _ref.userFilledMessageListQuery, + hasMoreToBottom = _ref.hasMoreToBottom; + var logger = _ref2.logger, + messagesDispatcher = _ref2.messagesDispatcher, + sdk = _ref2.sdk; + return useCallback(function (cb) { + if (!hasMoreToBottom) { + return; + } + + var messageListParams = new sdk.MessageListParams(); + messageListParams.nextResultSize = RESULT_SIZE; + messageListParams.includeReplies = false; + messageListParams.includeReaction = true; + + if (userFilledMessageListQuery) { + Object.keys(userFilledMessageListQuery).forEach(function (key) { + messageListParams[key] = userFilledMessageListQuery[key]; + }); + } + + logger.info('Channel: Fetching later messages', { + currentGroupChannel: currentGroupChannel, + userFilledMessageListQuery: userFilledMessageListQuery + }); + currentGroupChannel.getMessagesByTimestamp(latestFetchedMessageTimeStamp || new Date().getTime(), messageListParams).then(function (messages) { + var messagesLength = messages && messages.length || 0; + var hasMoreMessages = messagesLength > 0 && messageListParams.nextResultSize === messagesLength; + var lastMessageTs = hasMoreMessages ? messages[messages.length - 1].createdAt : null; + messagesDispatcher({ + type: GET_NEXT_MESSAGES_SUCESS, + payload: { + messages: messages, + hasMoreToBottom: hasMoreMessages, + latestFetchedMessageTimeStamp: lastMessageTs, + currentGroupChannel: currentGroupChannel + } + }); + cb([messages, null]); + }).catch(function (error) { + logger.error('Channel: Fetching later messages failed', error); + messagesDispatcher({ + type: GET_NEXT_MESSAGES_FAILURE, + payload: { + messages: [], + hasMoreToBottom: false, + latestFetchedMessageTimeStamp: 0, + currentGroupChannel: currentGroupChannel + } + }); + cb([null, error]); + }).finally(function () { + currentGroupChannel.markAsRead(); + }); + }, [currentGroupChannel, latestFetchedMessageTimeStamp, hasMoreToBottom]); +} + function useDeleteMessageCallback(_ref, _ref2) { var currentGroupChannel = _ref.currentGroupChannel, messagesDispatcher = _ref.messagesDispatcher; @@ -1499,7 +1678,7 @@ function useMemoizedEmojiListItems(_ref, _ref2) { defaultComponent: React.createElement(Icon, { width: "28px", height: "28px", - type: IconTypes.EMOJI_FAILED + type: IconTypes.QUESTION }) })); })); @@ -1572,21 +1751,21 @@ function MessageStatus(_ref) { className: "sendbird-message-status__icon", width: "16px", height: "16px", - type: IconTypes.SENT, + type: IconTypes.DONE, fillColor: IconColors.SENT }), DELIVERED: React.createElement(Icon, { className: "sendbird-message-status__icon", width: "16px", height: "16px", - type: IconTypes.DELIVERED, + type: IconTypes.DONE_ALL, fillColor: IconColors.SENT }), READ: React.createElement(Icon, { className: "sendbird-message-status__icon", width: "16px", height: "16px", - type: IconTypes.READ, + type: IconTypes.DONE_ALL, fillColor: IconColors.READ }), FAILED: React.createElement(Icon, { @@ -1791,7 +1970,7 @@ function EmojiReactions(_ref) { defaultComponent: React.createElement(Icon, { width: imageWidth, height: imageHeight, - type: IconTypes.EMOJI_FAILED + type: IconTypes.QUESTION }) }))); }), messageReactions.length < emojiAllMap.size && React.createElement(ContextMenu, { @@ -1805,7 +1984,7 @@ function EmojiReactions(_ref) { width: imageWidth, height: imageHeight, fillColor: IconColors.ON_BACKGROUND_3, - type: IconTypes.EMOJI_REACTIONS_ADD + type: IconTypes.EMOJI_MORE })); }, menuItems: function menuItems(closeDropdown) { @@ -2153,7 +2332,7 @@ function OutgoingUserMessage(_ref) { }, React.createElement(Icon, { width: "24px", height: "24px", - type: IconTypes.EMOJI_REACTIONS_ADD, + type: IconTypes.EMOJI_MORE, fillColor: IconColors.CONTENT_INVERSE })); }, @@ -2347,7 +2526,7 @@ function IncomingUserMessage(_ref2) { }, React.createElement(Icon, { width: "24px", height: "24px", - type: IconTypes.EMOJI_REACTIONS_ADD, + type: IconTypes.EMOJI_MORE, fillColor: IconColors.CONTENT_INVERSE })); }, @@ -2696,7 +2875,7 @@ function OutgoingThumbnailMessage(_ref2) { }, React.createElement(Icon, { width: "24px", height: "24px", - type: IconTypes.EMOJI_REACTIONS_ADD, + type: IconTypes.EMOJI_MORE, color: IconColors.CONTENT_INVERSE })); }, @@ -2739,7 +2918,15 @@ function OutgoingThumbnailMessage(_ref2) { url: thumbnailUrl, alt: "video/thumbnail", width: "404px", - height: "280px" + height: "280px", + defaultComponent: React.createElement("div", { + className: "".concat(OUTGOING_THUMBNAIL_MESSAGE, "__thumbnail-placeholder--video") + }, React.createElement(Icon, { + type: IconTypes.PLAY, + fillColor: IconColors.ON_BACKGROUND_2, + width: "56px", + height: "56px" + })) }) : /* eslint-disable-next-line jsx-a11y/media-has-caption */ React.createElement("video", { @@ -2757,7 +2944,15 @@ function OutgoingThumbnailMessage(_ref2) { url: thumbnailUrl || url || localUrl, alt: "image/thumbnail", width: "404px", - height: "280px" + height: "280px", + defaultComponent: React.createElement("div", { + className: "".concat(OUTGOING_THUMBNAIL_MESSAGE, "__thumbnail-placeholder--video") + }, React.createElement(Icon, { + type: IconTypes.PHOTO, + fillColor: IconColors.ON_BACKGROUND_2, + width: "56px", + height: "56px" + })) }), unSupported(type) && React.createElement("div", { className: "".concat(OUTGOING_THUMBNAIL_MESSAGE, "-body__other") }, stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE), React.createElement("div", { @@ -2900,10 +3095,18 @@ function IncomingThumbnailMessage(_ref3) { } : function () {} }, isVideo(type) && React.createElement(React.Fragment, null, thumbnailUrl ? React.createElement(ImageRenderer, { className: "".concat(INCOMING_THUMBNAIL_MESSAGE, "__video"), - src: thumbnailUrl, + url: thumbnailUrl, alt: "video/thumbnail", width: "404px", - height: "280px" + height: "280px", + defaultComponent: React.createElement("div", { + className: "".concat(INCOMING_THUMBNAIL_MESSAGE, "__thumbnail-placeholder--video") + }, React.createElement(Icon, { + type: IconTypes.PLAY, + fillColor: IconColors.ON_BACKGROUND_2, + width: "56px", + height: "56px" + })) }) : /* eslint-disable-next-line jsx-a11y/media-has-caption */ React.createElement("video", { @@ -2921,7 +3124,15 @@ function IncomingThumbnailMessage(_ref3) { url: thumbnailUrl || url || localUrl, alt: "image/thumbnail", width: "404px", - height: "280px" + height: "280px", + defaultComponent: React.createElement("div", { + className: "".concat(INCOMING_THUMBNAIL_MESSAGE, "__thumbnail-placeholder--image") + }, React.createElement(Icon, { + type: IconTypes.PHOTO, + fillColor: IconColors.ON_BACKGROUND_2, + width: "56px", + height: "56px" + })) }), unSupported(type) && React.createElement("div", { className: "".concat(INCOMING_THUMBNAIL_MESSAGE, "__other") }, stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE), React.createElement("div", { @@ -2960,7 +3171,7 @@ function IncomingThumbnailMessage(_ref3) { }, React.createElement(Icon, { width: "24px", height: "24px", - type: IconTypes.EMOJI_REACTIONS_ADD, + type: IconTypes.EMOJI_MORE, color: IconColors.CONTENT_INVERSE })); }, @@ -3224,7 +3435,7 @@ function OutgoingFileMessage(_ref) { }, React.createElement(Icon, { width: "24px", height: "24px", - type: IconTypes.EMOJI_REACTIONS_ADD, + type: IconTypes.EMOJI_MORE, fillColor: IconColors.CONTENT_INVERSE })); }, @@ -3426,7 +3637,7 @@ function IncomingFileMessage(_ref2) { }, React.createElement(Icon, { width: "24px", height: "24px", - type: IconTypes.EMOJI_REACTIONS_ADD, + type: IconTypes.EMOJI_MORE, fillColor: IconColors.CONTENT_INVERSE })); }, @@ -4200,7 +4411,7 @@ function OutgoingOGMessage(props) { }, React.createElement(Icon, { width: "24px", height: "24px", - type: IconTypes.EMOJI_REACTIONS_ADD, + type: IconTypes.EMOJI_MORE, fillColor: IconColors.CONTENT_INVERSE })); }, @@ -4241,7 +4452,7 @@ function OutgoingOGMessage(props) { }, React.createElement(Icon, { width: "56px", height: "56px", - type: IconTypes.NO_THUMBNAIL + type: IconTypes.THUMBNAIL_NONE })) })), React.createElement("div", { className: "".concat(OUTGOING_OG_MESSAGE, "__og-tag ").concat(checkOGIsEnalbed(message) ? '' : "".concat(OUTGOING_OG_MESSAGE, "__og-tag--disabled")), @@ -4409,7 +4620,7 @@ function IncomingOGMessage(props) { }, React.createElement(Icon, { width: "56px", height: "56px", - type: IconTypes.NO_THUMBNAIL + type: IconTypes.THUMBNAIL_NONE })) })), React.createElement("div", { className: "".concat(INCOMING_OG_MESSAGE, "__og-tag ").concat(checkOGIsEnalbed(message) ? '' : "".concat(INCOMING_OG_MESSAGE, "__og-tag--disabled")), @@ -4477,7 +4688,7 @@ function IncomingOGMessage(props) { }, React.createElement(Icon, { width: "24px", height: "24px", - type: IconTypes.EMOJI_REACTIONS_ADD, + type: IconTypes.EMOJI_MORE, fillColor: IconColors.CONTENT_INVERSE })); }, @@ -4657,6 +4868,7 @@ function MessageHoc(_ref) { chainBottom = _ref.chainBottom, emojiAllMap = _ref.emojiAllMap, membersMap = _ref.membersMap, + highLightedMessageId = _ref.highLightedMessageId, toggleReaction = _ref.toggleReaction, memoizedEmojiListItems = _ref.memoizedEmojiListItems, renderCustomMessage = _ref.renderCustomMessage, @@ -4679,10 +4891,31 @@ function MessageHoc(_ref) { showFileViewer = _useState6[0], setShowFileViewer = _useState6[1]; + var _useState7 = useState(false), + _useState8 = _slicedToArray(_useState7, 2), + isAnimated = _useState8[0], + setIsAnimated = _useState8[1]; + var editMessageInputRef = useRef(null); + var useMessageScrollRef = useRef(null); + useLayoutEffect(function () { + if (highLightedMessageId === message.messageId) { + if (useMessageScrollRef && useMessageScrollRef.current) { + setTimeout(function () { + useMessageScrollRef.current.scrollIntoView({ + behavior: 'smooth', + block: 'end' + }); + setIsAnimated(true); + }); + } + } else { + setIsAnimated(false); + } + }, [highLightedMessageId, useMessageScrollRef.current, message.messageId]); var RenderedMessage = useMemo(function () { if (renderCustomMessage) { - return renderCustomMessage(message, currentGroupChannel); + return renderCustomMessage(message, currentGroupChannel, chainTop, chainBottom); // Let's change this to object type on next major version up } return null; @@ -4691,7 +4924,8 @@ function MessageHoc(_ref) { if (RenderedMessage) { return React.createElement("div", { - className: "sendbird-msg-hoc sendbird-msg--scroll-ref" + ref: useMessageScrollRef, + className: "\n sendbird-msg-hoc sendbird-msg--scroll-ref\n ".concat(isAnimated ? 'sendbird-msg-hoc__highlighted' : '', "\n ") }, hasSeperator && React.createElement(DateSeparator, null, React.createElement(Label, { type: LabelTypography.CAPTION_2, color: LabelColors.ONBACKGROUND_2 @@ -4715,7 +4949,8 @@ function MessageHoc(_ref) { } return React.createElement("div", { - className: "sendbird-msg-hoc sendbird-msg--scroll-ref" + ref: useMessageScrollRef, + className: "\n sendbird-msg-hoc sendbird-msg--scroll-ref\n ".concat(isAnimated ? 'sendbird-msg-hoc__animated' : '', "\n ") }, hasSeperator && React.createElement(DateSeparator, null, React.createElement(Label, { type: LabelTypography.CAPTION_2, color: LabelColors.ONBACKGROUND_2 @@ -4830,6 +5065,7 @@ MessageHoc.propTypes = { }), ogMetaData: PropTypes.shape({}) }), + highLightedMessageId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), renderCustomMessage: PropTypes.func, currentGroupChannel: PropTypes.shape({}), hasSeperator: PropTypes.bool, @@ -4855,6 +5091,7 @@ MessageHoc.defaultProps = { message: {}, hasSeperator: false, disabled: false, + highLightedMessageId: null, status: '', toggleReaction: function toggleReaction() {}, memoizedEmojiListItems: function memoizedEmojiListItems() { @@ -4886,6 +5123,7 @@ function (_Component) { hasMore = _this$props.hasMore, messagesDispatcher = _this$props.messagesDispatcher, onScroll = _this$props.onScroll, + onScrollDown = _this$props.onScrollDown, currentGroupChannel = _this$props.currentGroupChannel; var element = e.target; var scrollTop = element.scrollTop, @@ -4913,6 +5151,25 @@ function (_Component) { }); } + if (clientHeight + scrollTop === scrollHeight) { + var _nodes = scrollRef.current.querySelectorAll('.sendbird-msg--scroll-ref'); + + var last = _nodes && _nodes[_nodes.length - 1]; + onScrollDown(function (_ref3) { + var _ref4 = _slicedToArray(_ref3, 1), + messages = _ref4[0]; + + if (messages) { + // https://github.com/scabbiaza/react-scroll-position-on-updating-dom + try { + last.scrollIntoView(); + } catch (error) {// + } + } + }); + } // do this later + + setTimeout(function () { // mark as read if scroll is at end if (clientHeight + scrollTop === scrollHeight) { @@ -4936,7 +5193,6 @@ function (_Component) { scrollRef = _this$props2.scrollRef, readStatus = _this$props2.readStatus, membersMap = _this$props2.membersMap, - initialized = _this$props2.initialized, allMessages = _this$props2.allMessages, useReaction = _this$props2.useReaction, emojiAllMap = _this$props2.emojiAllMap, @@ -4946,19 +5202,13 @@ function (_Component) { resendMessage = _this$props2.resendMessage, renderCustomMessage = _this$props2.renderCustomMessage, renderChatItem = _this$props2.renderChatItem, + highLightedMessageId = _this$props2.highLightedMessageId, emojiContainer = _this$props2.emojiContainer, toggleReaction = _this$props2.toggleReaction, useMessageGrouping = _this$props2.useMessageGrouping, currentGroupChannel = _this$props2.currentGroupChannel, memoizedEmojiListItems = _this$props2.memoizedEmojiListItems; - if (!initialized) { - return React.createElement(PlaceHolder, { - className: "sendbird-conversation__not-initialized", - type: PlaceHolderTypes.WRONG - }); - } - if (allMessages.length < 1) { return React.createElement(PlaceHolder, { className: "sendbird-conversation__no-messages", @@ -4980,10 +5230,10 @@ function (_Component) { var previousMessage = allMessages[idx - 1]; var nextMessage = allMessages[idx + 1]; - var _ref3 = useMessageGrouping ? compareMessagesForGrouping(previousMessage, m, nextMessage) : [false, false], - _ref4 = _slicedToArray(_ref3, 2), - chainTop = _ref4[0], - chainBottom = _ref4[1]; + var _ref5 = useMessageGrouping ? compareMessagesForGrouping(previousMessage, m, nextMessage) : [false, false], + _ref6 = _slicedToArray(_ref5, 2), + chainTop = _ref6[0], + chainBottom = _ref6[1]; var previousMessageCreatedAt = previousMessage && previousMessage.createdAt; var currentCreatedAt = m.createdAt; // https://stackoverflow.com/a/41855608 @@ -4996,15 +5246,19 @@ function (_Component) { className: "sendbird-msg--scroll-ref" }, renderChatItem({ message: m, + highLightedMessageId: highLightedMessageId, channel: currentGroupChannel, onDeleteMessage: deleteMessage, onUpdateMessage: updateMessage, onResendMessage: resendMessage, - emojiContainer: emojiContainer + emojiContainer: emojiContainer, + chainTop: chainTop, + chainBottom: chainBottom })); } return React.createElement(MessageHoc, { + highLightedMessageId: highLightedMessageId, renderCustomMessage: renderCustomMessage, key: m.messageId || m.reqId, userId: userId, @@ -5040,7 +5294,7 @@ ConversationScroll.propTypes = { hasMore: PropTypes.bool, messagesDispatcher: PropTypes.func.isRequired, onScroll: PropTypes.func, - initialized: PropTypes.bool, + onScrollDown: PropTypes.func, editDisabled: PropTypes.bool, disabled: PropTypes.bool, userId: PropTypes.string, @@ -5055,6 +5309,7 @@ ConversationScroll.propTypes = { markAsRead: PropTypes.func, members: PropTypes.arrayOf(PropTypes.shape({})) }).isRequired, + highLightedMessageId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), renderChatItem: PropTypes.element, renderCustomMessage: PropTypes.func, useReaction: PropTypes.bool, @@ -5069,11 +5324,12 @@ ConversationScroll.defaultProps = { hasMore: false, editDisabled: false, disabled: false, - initialized: false, userId: '', renderCustomMessage: null, renderChatItem: null, + highLightedMessageId: null, onScroll: null, + onScrollDown: null, useReaction: true, emojiContainer: {}, emojiAllMap: new Map(), @@ -5106,7 +5362,7 @@ function Notification(_ref) { }, "".concat(count, " "), stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE, " ".concat(timeArray.join(' '))), React.createElement(Icon, { width: "24px", height: "24px", - type: IconTypes.SHEVRON_DOWN, + type: IconTypes.CHEVRON_DOWN, fillColor: IconColors.CONTENT })) ); @@ -5346,6 +5602,8 @@ AutoRefresh.propTypes = { repeatFunc: PropTypes.func.isRequired }; +var noop$4 = function noop() {}; + function ChatHeader(props) { var currentGroupChannel = props.currentGroupChannel, currentUser = props.currentUser, @@ -5353,6 +5611,8 @@ function ChatHeader(props) { subTitle = props.subTitle, isActive = props.isActive, isMuted = props.isMuted, + showSearchIcon = props.showSearchIcon, + onSearchClick = props.onSearchClick, onActionClick = props.onActionClick, theme = props.theme; var userId = currentUser.userId; @@ -5388,10 +5648,20 @@ function ChatHeader(props) { className: "sendbird-chat-header__right" }, typeof isMuted === 'string' && isMuted === 'true' || typeof isMuted === 'boolean' && isMuted ? React.createElement(Icon, { className: "sendbird-chat-header__mute", - type: IconTypes.MUTE, + type: IconTypes.NOTIFICATIONS_OFF_FILLED, width: "24px", height: "24px" - }) : null, React.createElement(IconButton, { + }) : null, showSearchIcon && React.createElement(IconButton, { + className: "sendbird-chat-header__search", + width: "32px", + height: "32px", + onClick: onSearchClick + }, React.createElement(Icon, { + type: IconTypes.SEARCH, + fillColor: IconColors.PRIMARY, + width: "24px", + height: "24px" + })), React.createElement(IconButton, { className: "sendbird-chat-header__info", width: "32px", height: "32px", @@ -5412,6 +5682,8 @@ ChatHeader.propTypes = { currentUser: PropTypes.shape({ userId: PropTypes.string }), + onSearchClick: PropTypes.func, + showSearchIcon: PropTypes.bool, title: PropTypes.string, subTitle: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]), isActive: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), @@ -5424,12 +5696,14 @@ ChatHeader.defaultProps = { theme: 'light', subTitle: '', isActive: false, + onSearchClick: noop$4, + showSearchIcon: false, isMuted: false, currentUser: {}, onActionClick: function onActionClick() {} }; -var noop$4 = function noop() {}; +var noop$5 = function noop() {}; var ConversationPanel = function ConversationPanel(props) { var channelUrl = props.channelUrl, @@ -5446,7 +5720,11 @@ var ConversationPanel = function ConversationPanel(props) { reconnect = props.dispatchers.reconnect, _props$queries = props.queries, queries = _props$queries === void 0 ? {} : _props$queries, + startingPoint = props.startingPoint, + highlightedMessage = props.highlightedMessage, useReaction = props.useReaction, + showSearchIcon = props.showSearchIcon, + onSearchClick = props.onSearchClick, renderChatItem = props.renderChatItem, renderChatHeader = props.renderChatHeader, renderCustomMessage = props.renderCustomMessage, @@ -5466,10 +5744,19 @@ var ConversationPanel = function ConversationPanel(props) { if (queries.messageListQuery) { // eslint-disable-next-line no-console - console.warn('messageListQuery will be deprecared in v1.3.0, please use messageListParams instead'); + console.warn('messageListQuery has been deprecated, please use messageListParams instead'); } - var userFilledMessageListQuery = queries.messageListParams || queries.messageListQuery; + var _useState = useState(startingPoint), + _useState2 = _slicedToArray(_useState, 2), + intialTimeStamp = _useState2[0], + setIntialTimeStamp = _useState2[1]; + + useEffect(function () { + setIntialTimeStamp(startingPoint); + }, [startingPoint, channelUrl]); + var highLightedMessageId = highlightedMessage; + var userFilledMessageListQuery = queries.messageListParams; var _useReducer = useReducer(reducer, messagesInitialState), _useReducer2 = _slicedToArray(_useReducer, 2), @@ -5479,14 +5766,16 @@ var ConversationPanel = function ConversationPanel(props) { var scrollRef = useRef(null); var allMessages = messagesStore.allMessages, loading = messagesStore.loading, - hasMore = messagesStore.hasMore, initialized = messagesStore.initialized, unreadCount = messagesStore.unreadCount, unreadSince = messagesStore.unreadSince, isInvalid = messagesStore.isInvalid, _messagesStore$curren = messagesStore.currentGroupChannel, currentGroupChannel = _messagesStore$curren === void 0 ? {} : _messagesStore$curren, + hasMore = messagesStore.hasMore, lastMessageTimeStamp = messagesStore.lastMessageTimeStamp, + hasMoreToBottom = messagesStore.hasMoreToBottom, + latestFetchedMessageTimeStamp = messagesStore.latestFetchedMessageTimeStamp, emojiContainer = messagesStore.emojiContainer, readStatus = messagesStore.readStatus; var isFrozen = currentGroupChannel.isFrozen, @@ -5516,6 +5805,16 @@ var ConversationPanel = function ConversationPanel(props) { messagesDispatcher: messagesDispatcher, sdk: sdk }); + var onScrollDownCallback = useScrollDownCallback({ + currentGroupChannel: currentGroupChannel, + latestFetchedMessageTimeStamp: latestFetchedMessageTimeStamp, + userFilledMessageListQuery: userFilledMessageListQuery, + hasMoreToBottom: hasMoreToBottom + }, { + logger: logger, + messagesDispatcher: messagesDispatcher, + sdk: sdk + }); var toggleReaction = useToggleReactionCallback({ currentGroupChannel: currentGroupChannel }, { @@ -5542,7 +5841,8 @@ var ConversationPanel = function ConversationPanel(props) { useHandleChannelEvents({ currentGroupChannel: currentGroupChannel, - sdkInit: sdkInit + sdkInit: sdkInit, + hasMoreToBottom: hasMoreToBottom }, { messagesDispatcher: messagesDispatcher, sdk: sdk, @@ -5551,7 +5851,8 @@ var ConversationPanel = function ConversationPanel(props) { }); useInitialMessagesFetch({ currentGroupChannel: currentGroupChannel, - userFilledMessageListQuery: userFilledMessageListQuery + userFilledMessageListQuery: userFilledMessageListQuery, + intialTimeStamp: intialTimeStamp }, { sdk: sdk, logger: logger, @@ -5631,18 +5932,6 @@ var ConversationPanel = function ConversationPanel(props) { _useSendFileMessageCa2 = _slicedToArray(_useSendFileMessageCa, 1), onSendFileMessage = _useSendFileMessageCa2[0]; - if (sdkError) { - return React.createElement("div", { - className: "sendbird-conversation" - }, React.createElement(PlaceHolder, { - type: PlaceHolderTypes.WRONG, - retryToConnect: function retryToConnect() { - logger.info('Channel: reconnecting'); - reconnect(); - } - })); - } - if (!channelUrl) { return React.createElement("div", { className: "sendbird-conversation" @@ -5651,19 +5940,23 @@ var ConversationPanel = function ConversationPanel(props) { })); } - if (loading) { + if (isInvalid) { return React.createElement("div", { className: "sendbird-conversation" }, React.createElement(PlaceHolder, { - type: PlaceHolderTypes.LOADING + type: PlaceHolderTypes.WRONG })); } - if (isInvalid) { + if (sdkError) { return React.createElement("div", { className: "sendbird-conversation" }, React.createElement(PlaceHolder, { - type: PlaceHolderTypes.WRONG + type: PlaceHolderTypes.WRONG, + retryToConnect: function retryToConnect() { + logger.info('Channel: reconnecting'); + reconnect(); + } })); } @@ -5678,6 +5971,8 @@ var ConversationPanel = function ConversationPanel(props) { theme: theme, currentGroupChannel: currentGroupChannel, currentUser: user, + showSearchIcon: showSearchIcon, + onSearchClick: onSearchClick, onActionClick: onChatHeaderActionClick, subTitle: currentGroupChannel.members && currentGroupChannel.members.length !== 2, isActive: false, @@ -5685,25 +5980,34 @@ var ConversationPanel = function ConversationPanel(props) { }), isFrozen && React.createElement(FrozenNotification, null), unreadCount > 0 && React.createElement(Notification, { count: unreadCount, onClick: function onClick() { - scrollIntoLast(); // there is no scroll + if (intialTimeStamp) { + setIntialTimeStamp(null); + } else { + scrollIntoLast(); // there is no scroll - if (scrollRef.current.scrollTop === 0) { - currentGroupChannel.markAsRead(); - messagesDispatcher({ - type: MARK_AS_READ - }); + if (scrollRef.current.scrollTop === 0) { + currentGroupChannel.markAsRead(); + messagesDispatcher({ + type: MARK_AS_READ + }); + } } }, time: unreadSince - }), React.createElement(ConversationScroll, { + }), loading ? React.createElement("div", { + className: "sendbird-conversation" + }, React.createElement(PlaceHolder, { + type: PlaceHolderTypes.LOADING + })) : React.createElement(ConversationScroll, { swapParams: sdk && sdk.getErrorFirstCallback && sdk.getErrorFirstCallback(), + highLightedMessageId: highLightedMessageId, userId: userId, hasMore: hasMore, disabled: !isOnline, onScroll: onScrollCallback, + onScrollDown: onScrollDownCallback, scrollRef: scrollRef, readStatus: readStatus, - initialized: initialized, useReaction: usingReaction, allMessages: allMessages, emojiAllMap: emojiAllMap, @@ -5799,19 +6103,10 @@ ConversationPanel.propTypes = { limit: PropTypes.number, reverse: PropTypes.bool, senderUserIdsFilter: PropTypes.arrayOf(PropTypes.string) - }), - // deprecate in v1.3 - messageListQuery: PropTypes.shape({ - includeMetaArray: PropTypes.bool, - includeParentMessageText: PropTypes.bool, - includeReaction: PropTypes.bool, - includeReplies: PropTypes.bool, - includeThreadInfo: PropTypes.bool, - limit: PropTypes.number, - reverse: PropTypes.bool, - senderUserIdsFilter: PropTypes.arrayOf(PropTypes.string) }) }), + startingPoint: PropTypes.number, + highlightedMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), onBeforeSendUserMessage: PropTypes.func, // onBeforeSendUserMessage(text) onBeforeSendFileMessage: PropTypes.func, @@ -5821,6 +6116,8 @@ ConversationPanel.propTypes = { renderCustomMessage: PropTypes.func, renderMessageInput: PropTypes.oneOfType([PropTypes.element, PropTypes.func]), renderChatHeader: PropTypes.oneOfType([PropTypes.element, PropTypes.func]), + showSearchIcon: PropTypes.bool, + onSearchClick: PropTypes.func, onChatHeaderActionClick: PropTypes.func, useReaction: PropTypes.bool, disableUserProfile: PropTypes.bool, @@ -5833,15 +6130,19 @@ ConversationPanel.defaultProps = { onBeforeSendUserMessage: null, onBeforeSendFileMessage: null, onBeforeUpdateUserMessage: null, + startingPoint: null, + highlightedMessage: null, renderChatItem: null, renderCustomMessage: null, renderMessageInput: null, renderChatHeader: null, useReaction: true, + showSearchIcon: false, + onSearchClick: noop$5, disableUserProfile: false, renderUserProfile: null, useMessageGrouping: true, - onChatHeaderActionClick: noop$4 + onChatHeaderActionClick: noop$5 }; var getEmojiCategoriesFromEmojiContainer$1 = getEmojiCategoriesFromEmojiContainer, getAllEmojisFromEmojiContainer$1 = getAllEmojisFromEmojiContainer, diff --git a/Channel.js.map b/Channel.js.map index 6642757..e5db225 100644 --- a/Channel.js.map +++ b/Channel.js.map @@ -1 +1 @@ -{"version":3,"file":"Channel.js","sources":["../src/smart-components/Conversation/dux/actionTypes.js","../src/smart-components/Conversation/types.js","../src/smart-components/Conversation/utils.js","../src/smart-components/Conversation/dux/initialState.js","../src/smart-components/Conversation/dux/reducers.js","../src/smart-components/Conversation/hooks/useHandleChannelEvents.js","../src/smart-components/Conversation/hooks/useGetChannel.js","../src/smart-components/Conversation/hooks/useInitialMessagesFetch.js","../src/smart-components/Conversation/hooks/useHandleReconnect.js","../src/smart-components/Conversation/hooks/useScrollCallback.js","../src/smart-components/Conversation/hooks/useDeleteMessageCallback.js","../src/smart-components/Conversation/hooks/useUpdateMessageCallback.js","../src/smart-components/Conversation/hooks/useResendMessageCallback.js","../src/smart-components/Conversation/hooks/useSendMessageCallback.js","../src/smart-components/Conversation/hooks/useSendFileMessageCallback.js","../src/smart-components/Conversation/hooks/useSetReadStatus.js","../src/ui/ReactionButton/index.jsx","../src/smart-components/Conversation/hooks/useMemoizedEmojiListItems.jsx","../src/smart-components/Conversation/hooks/useToggleReactionCallback.js","../src/ui/MessageStatus/index.jsx","../src/ui/ReactionBadge/index.jsx","../src/ui/Tooltip/index.jsx","../src/ui/TooltipWrapper/index.jsx","../src/ui/EmojiReactions/index.jsx","../src/ui/Message/memoizedMessageText.jsx","../src/hooks/onMouseHover.jsx","../src/ui/Message/index.jsx","../src/ui/AdminMessage/index.jsx","../src/ui/ThumbnailMessage/util.js","../src/ui/ThumbnailMessage/index.jsx","../src/ui/FileMessage/index.jsx","../src/smart-components/Conversation/components/RemoveMessage.jsx","../src/ui/UnknownMessage/utils.js","../src/ui/UnknownMessage/index.jsx","../src/ui/OGMessage/const.js","../src/ui/OGMessage/utils.js","../src/ui/OGMessage/memoizedMessageText.jsx","../src/ui/OGMessage/index.jsx","../src/smart-components/Conversation/components/MessageHOC.jsx","../src/smart-components/Conversation/components/ConversationScroll.jsx","../src/smart-components/Conversation/components/Notification.jsx","../src/smart-components/Conversation/components/FrozenNotification.tsx","../src/smart-components/Conversation/components/TypingIndicator.jsx","../src/smart-components/Conversation/components/MessageInputWrapper.tsx","../src/ui/ConnectionStatus/index.jsx","../src/ui/ChatHeader/utils.js","../src/ui/AutoRefresh/index.jsx","../src/ui/ChatHeader/index.jsx","../src/smart-components/Conversation/index.jsx"],"sourcesContent":["export const RESET_MESSAGES = 'RESET_MESSAGES';\nexport const RESET_STATE = 'RESET_STATE';\nexport const CLEAR_SENT_MESSAGES = 'CLEAR_SENT_MESSAGES';\nexport const GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START';\nexport const GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS';\nexport const GET_PREV_MESSAGES_FAILURE = 'GET_PREV_MESSAGES_FAILURE';\n\nexport const SEND_MESSAGEGE_START = 'SEND_MESSAGEGE_START';\nexport const SEND_MESSAGEGE_SUCESS = 'SEND_MESSAGEGE_SUCESS';\nexport const SEND_MESSAGEGE_FAILURE = 'SEND_MESSAGEGE_FAILURE';\n\nexport const RESEND_MESSAGEGE_START = 'RESEND_MESSAGEGE_START';\n\nexport const ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';\nexport const ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';\nexport const ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';\nexport const ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';\nexport const MARK_AS_READ = 'MARK_AS_READ';\n\nexport const ON_REACTION_UPDATED = 'ON_REACTION_UPDATED';\nexport const SET_EMOJI_CONTAINER = 'SET_EMOJI_CONTAINER';\nexport const SET_READ_STATUS = 'SET_READ_STATUS';\n","import { isImage, isVideo } from '../../ui/FileViewer/types';\n\nexport const MessageTypes = {\n ADMIN: 'ADMIN',\n USER: 'USER',\n FILE: 'FILE',\n THUMBNAIL: 'THUMBNAIL',\n OG: 'OG',\n};\n\nexport const SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport const getMessageType = (message) => {\n if ((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user') {\n return (message.ogMetaData)\n ? MessageTypes.OG\n : MessageTypes.USER;\n }\n if (message.isAdminMessage && message.isAdminMessage()) {\n return MessageTypes.ADMIN;\n }\n if ((message.isFileMessage && message.isFileMessage()) || message.messageType === 'file') {\n return (isImage(message.type) || isVideo(message.type))\n ? MessageTypes.THUMBNAIL\n : MessageTypes.FILE;\n }\n return '';\n};\n\nexport default {\n MessageTypes,\n SendingMessageStatus,\n getMessageType,\n};\n","import format from 'date-fns/format';\nimport MessageStatusType from '../../ui/MessageStatus/type';\nimport * as channelActions from './dux/actionTypes';\nimport * as topics from '../../lib/pubSub/topics';\n\nimport { SendingMessageStatus } from './types';\n\nconst UNDEFINED = 'undefined';\nconst { SUCCEEDED, FAILED, PENDING } = SendingMessageStatus;\n\nexport const scrollIntoLast = (intialTry = 0) => {\n const MAX_TRIES = 10;\n const currentTry = intialTry;\n if (currentTry > MAX_TRIES) {\n return;\n }\n try {\n const scrollDOM = document.querySelector('.sendbird-conversation__scroll-container');\n // eslint-disable-next-line no-multi-assign\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1);\n }, 500 * currentTry);\n }\n};\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (channelUrl, pubSub, dispatcher) => {\n const subscriber = new Map();\n if (!pubSub || !pubSub.subscribe) return subscriber;\n subscriber.set(topics.SEND_USER_MESSAGE, pubSub.subscribe(topics.SEND_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel, message } = msg;\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.SEND_MESSAGEGE_START,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_FILE_MESSAGE, pubSub.subscribe(topics.SEND_FILE_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message, fromSelector } = msg;\n if (fromSelector && channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n }\n }));\n subscriber.set(topics.DELETE_MESSAGE, pubSub.subscribe(topics.DELETE_MESSAGE, (msg) => {\n const { channel, messageId } = msg;\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n }\n }));\n\n return subscriber;\n};\n\nexport const getParsedStatus = (message, currentGroupChannel) => {\n if (message.requestState === FAILED) {\n return MessageStatusType.FAILED;\n }\n\n if (message.requestState === PENDING) {\n return MessageStatusType.PENDING;\n }\n\n if (message.requestState === SUCCEEDED) {\n if (!currentGroupChannel) {\n return MessageStatusType.SENT;\n }\n\n const unreadCount = currentGroupChannel.getReadReceipt(message);\n if (unreadCount === 0) {\n return MessageStatusType.READ;\n }\n\n const isDelivered = currentGroupChannel.getDeliveryReceipt(message) === 0;\n if (isDelivered) {\n return MessageStatusType.DELIVERED;\n }\n\n return MessageStatusType.SENT;\n }\n\n return null;\n};\n\nexport const isOperator = (groupChannel = {}) => {\n const { myRole } = groupChannel;\n return myRole === 'operator';\n};\n\nexport const isDisabledBecauseFrozen = (groupChannel = {}) => {\n const { isFrozen } = groupChannel;\n return isFrozen && !isOperator(groupChannel);\n};\n\nexport const isDisabledBecauseMuted = (groupChannel = {}) => {\n const { myMutedState } = groupChannel;\n return myMutedState === 'muted';\n};\n\nexport const getEmojiCategoriesFromEmojiContainer = (emojiContainer = {}) => (\n emojiContainer.emojiCategories ? emojiContainer.emojiCategories : []\n);\n\nexport const getAllEmojisFromEmojiContainer = (emojiContainer = {}) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojis = [];\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n allEmojis.push(emojis[emojiIndex]);\n }\n }\n return allEmojis;\n};\n\nexport const getEmojisFromEmojiContainer = (emojiContainer = {}, emojiCategoryId = '') => (\n emojiContainer.emojiCategories\n ? emojiContainer.emojiCategories\n .filter((emojiCategory) => emojiCategory.id === emojiCategoryId)[0].emojis\n : []\n);\n\nexport const getAllEmojisMapFromEmojiContainer = (emojiContainer = {}) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojisMap = new Map();\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n const { key, url } = emojis[emojiIndex];\n allEmojisMap.set(key, url);\n }\n }\n return allEmojisMap;\n};\n\nexport const getNicknamesMapFromMembers = (members = []) => {\n const nicknamesMap = new Map();\n for (let memberIndex = 0; memberIndex < members.length; memberIndex += 1) {\n const { userId, nickname } = members[memberIndex];\n nicknamesMap.set(userId, nickname);\n }\n return nicknamesMap;\n};\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const isSameGroup = (message, comparingMessage) => {\n if (\n !message\n || !comparingMessage\n || !message.sender\n || !comparingMessage.sender\n || !message.createdAt\n || !comparingMessage.createdAt\n || !message.sender.userId\n || !comparingMessage.sender.userId\n ) {\n return false;\n }\n return (\n message.sendingStatus === comparingMessage.sendingStatus\n && message.sender.userId === comparingMessage.sender.userId\n && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)\n );\n};\n\nexport const compareMessagesForGrouping = (\n prevMessage,\n currMessage,\n nextMessage,\n) => (\n [\n isSameGroup(prevMessage, currMessage),\n isSameGroup(currMessage, nextMessage),\n ]\n);\n\nexport const passUnsuccessfullMessages = (allMessages, newMessage) => {\n const { sendingStatus = UNDEFINED } = newMessage;\n if (sendingStatus === SUCCEEDED || sendingStatus === PENDING) {\n const lastIndexOfSucceededMessage = allMessages\n .map((message) => (\n message.sendingStatus\n || ((message.isAdminMessage && message.isAdminMessage()) ? SUCCEEDED : UNDEFINED)\n ))\n .lastIndexOf(SUCCEEDED);\n if (lastIndexOfSucceededMessage + 1 < allMessages.length) {\n const messages = [...allMessages];\n messages.splice(lastIndexOfSucceededMessage + 1, 0, newMessage);\n return messages;\n }\n }\n return [\n ...allMessages,\n newMessage,\n ];\n};\n\nexport const pxToNumber = (px) => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n\nexport default getParsedStatus;\n","export default {\n initialized: false,\n loading: false,\n allMessages: [],\n currentGroupChannel: { members: [] },\n hasMore: false,\n lastMessageTimeStamp: 0,\n emojiContainer: {},\n readStatus: {},\n unreadCount: 0,\n unreadSince: null,\n isInvalid: false,\n};\n","import format from 'date-fns/format';\n\nimport * as actionTypes from './actionTypes';\nimport initialState from './initialState';\n\nimport compareIds from '../../../utils/compareIds';\nimport { passUnsuccessfullMessages } from '../utils';\nimport { SendingMessageStatus } from '../types';\n\nconst {\n SUCCEEDED,\n FAILED,\n PENDING,\n} = SendingMessageStatus;\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actionTypes.RESET_STATE:\n return initialState;\n case actionTypes.RESET_MESSAGES:\n return {\n ...state,\n // when user switches channel, if the previous channel `hasMore`\n // the onScroll gets called twice, setting hasMore false prevents this\n hasMore: false,\n allMessages: [],\n };\n case actionTypes.GET_PREV_MESSAGES_START:\n return {\n ...state,\n loading: true,\n };\n case actionTypes.CLEAR_SENT_MESSAGES:\n return {\n ...state,\n allMessages: [\n ...state.allMessages.filter((m) => (\n m.sendingStatus !== SUCCEEDED\n )),\n ],\n };\n case actionTypes.GET_PREV_MESSAGES_SUCESS: {\n const receivedMessages = action.payload.messages || [];\n const { currentGroupChannel = {} } = action.payload;\n\n const stateChannel = state.currentGroupChannel || {};\n const stateChannelUrl = stateChannel.url;\n const actionChannelUrl = currentGroupChannel.url;\n if (actionChannelUrl !== stateChannelUrl) {\n return state;\n }\n\n // remove duplicate messages\n const filteredAllMessages = state.allMessages.filter((msg) => (\n !(receivedMessages.find(({ messageId }) => compareIds(messageId, msg.messageId)))\n ));\n return {\n ...state,\n loading: false,\n initialized: true,\n hasMore: action.payload.hasMore,\n lastMessageTimeStamp: action.payload.lastMessageTimeStamp,\n allMessages: [\n ...receivedMessages,\n ...filteredAllMessages,\n ],\n };\n }\n case actionTypes.SEND_MESSAGEGE_START:\n return {\n ...state,\n allMessages: [\n ...state.allMessages,\n { ...action.payload },\n ],\n };\n case actionTypes.SEND_MESSAGEGE_SUCESS: {\n const newMessages = state.allMessages.map((m) => (\n compareIds(m.reqId, action.payload.reqId) ? action.payload : m\n ));\n [...newMessages].sort((a, b) => (\n (\n a.sendingStatus\n && b.sendingStatus\n && a.sendingStatus === SUCCEEDED\n && (\n b.sendingStatus === PENDING\n || b.sendingStatus === FAILED\n )\n ) ? -1 : 1\n ));\n return {\n ...state,\n allMessages: newMessages,\n };\n }\n case actionTypes.SEND_MESSAGEGE_FAILURE: {\n // eslint-disable-next-line no-param-reassign\n action.payload.failed = true;\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, action.payload.reqId)\n ? action.payload\n : m\n )),\n };\n }\n case actionTypes.SET_CURRENT_CHANNEL: {\n return {\n ...state,\n currentGroupChannel: action.payload,\n isInvalid: false,\n };\n }\n case actionTypes.SET_CHANNEL_INVALID: {\n return {\n ...state,\n isInvalid: true,\n };\n }\n case actionTypes.ON_MESSAGE_RECEIVED: {\n const { channel, message, scrollToEnd } = action.payload;\n let unreadCount = 0;\n const { currentGroupChannel = {}, unreadSince } = state;\n const currentGroupChannelUrl = currentGroupChannel.url;\n if (!compareIds(channel.url, currentGroupChannelUrl)) {\n return state;\n }\n // Excluded overlapping messages\n if (!(state.allMessages.map((msg) => msg.messageId).indexOf(message.messageId) < 0)) {\n return state;\n }\n\n unreadCount = state.unreadCount + 1;\n // reset unreadCount if have to scrollToEnd\n if (scrollToEnd) {\n unreadCount = 0;\n }\n\n if (message.isAdminMessage && message.isAdminMessage()) {\n return {\n ...state,\n allMessages: passUnsuccessfullMessages(state.allMessages, message),\n };\n }\n return {\n ...state,\n unreadCount,\n unreadSince: (unreadCount === 1)\n ? format(new Date(), 'p MMM dd')\n : unreadSince,\n allMessages: passUnsuccessfullMessages(state.allMessages, message),\n };\n }\n case actionTypes.ON_MESSAGE_UPDATED:\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.messageId, action.payload.message.messageId)\n ? action.payload.message\n : m\n )),\n };\n case actionTypes.RESEND_MESSAGEGE_START:\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, action.payload.reqId)\n ? action.payload\n : m\n )),\n };\n case actionTypes.MARK_AS_READ:\n return {\n ...state,\n unreadCount: 0,\n unreadSince: null,\n };\n case actionTypes.ON_MESSAGE_DELETED:\n return {\n ...state,\n allMessages: state.allMessages.filter((m) => (\n !compareIds(m.messageId, action.payload)\n )),\n };\n case actionTypes.ON_MESSAGE_DELETED_BY_REQ_ID:\n return {\n ...state,\n allMessages: state.allMessages.filter((m) => (\n !compareIds(m.reqId, action.payload)\n )),\n };\n case actionTypes.SET_EMOJI_CONTAINER: {\n return {\n ...state,\n emojiContainer: action.payload,\n };\n }\n case actionTypes.SET_READ_STATUS: {\n return {\n ...state,\n readStatus: action.payload,\n };\n }\n case actionTypes.ON_REACTION_UPDATED: {\n return {\n ...state,\n allMessages: state.allMessages.map((m) => {\n if (compareIds(m.messageId, action.payload.messageId)) {\n if (m.applyReactionEvent && typeof m.applyReactionEvent === 'function') {\n m.applyReactionEvent(action.payload);\n }\n return m;\n }\n return m;\n }),\n };\n }\n default:\n return state;\n }\n}\n","import { useEffect } from 'react';\n\nimport * as messageActions from '../dux/actionTypes';\nimport { uuidv4 } from '../../../utils/uuid';\nimport compareIds from '../../../utils/compareIds';\nimport { scrollIntoLast } from '../utils';\n\n/**\n * Handles ChannelEvents and send values to dispatcher using messagesDispatcher\n * messagesDispatcher: Dispatcher\n * sdk: sdkInstance\n * logger: loggerInstance\n * channelUrl: string\n * sdkInit: bool\n */\nfunction useHandleChannelEvents({ currentGroupChannel, sdkInit }, {\n messagesDispatcher,\n sdk,\n logger,\n scrollRef,\n}) {\n const channelUrl = currentGroupChannel && currentGroupChannel.url;\n useEffect(() => {\n const messageReceiverId = uuidv4();\n if (channelUrl && sdk && sdk.ChannelHandler) {\n const ChannelHandler = new sdk.ChannelHandler();\n logger.info('Channel | useHandleChannelEvents: Setup event handler', messageReceiverId);\n ChannelHandler.onMessageReceived = (channel, message) => {\n if (compareIds(channel.url, currentGroupChannel.url)) {\n let scrollToEnd = false;\n try {\n const { current } = scrollRef;\n scrollToEnd = current.offsetHeight + current.scrollTop >= current.scrollHeight;\n } catch (error) {\n //\n }\n\n logger.info('Channel | useHandleChannelEvents: onMessageReceived', message);\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_RECEIVED,\n payload: { channel, message, scrollToEnd },\n });\n\n if (scrollToEnd) {\n try {\n setTimeout(() => {\n currentGroupChannel.markAsRead();\n scrollIntoLast();\n });\n } catch (error) {\n logger.warning('Channel | onMessageReceived | scroll to end failed');\n }\n }\n }\n };\n\n ChannelHandler.onMessageUpdated = (channel, message) => {\n logger.info('Channel | useHandleChannelEvents: onMessageUpdated', message);\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n };\n\n ChannelHandler.onMessageDeleted = (_, messageId) => {\n logger.info('Channel | useHandleChannelEvents: onMessageDeleted', messageId);\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n };\n\n ChannelHandler.onReactionUpdated = (_, reactionEvent) => {\n logger.info('Channel | useHandleChannelEvents: onReactionUpdated', reactionEvent);\n messagesDispatcher({\n type: messageActions.ON_REACTION_UPDATED,\n payload: reactionEvent,\n });\n };\n\n ChannelHandler.onChannelChanged = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onChannelChanged', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onChannelFrozen = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onChannelFrozen', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onChannelUnfrozen = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onChannelUnFrozen', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onUserMuted = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onUserMuted', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onUserUnmuted = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onUserUnmuted', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onUserBanned = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onUserBanned', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onOperatorUpdated = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onOperatorUpdated', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n // Add this channel event handler to the SendBird object.\n sdk.addChannelHandler(messageReceiverId, ChannelHandler);\n }\n return () => {\n if (sdk && sdk.removeChannelHandler) {\n logger.info('Channel | useHandleChannelEvents: Removing message reciver handler', messageReceiverId);\n sdk.removeChannelHandler(messageReceiverId);\n }\n };\n }, [channelUrl, sdkInit]);\n}\n\nexport default useHandleChannelEvents;\n","import { useEffect } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useSetChannel({ channelUrl, sdkInit }, {\n messagesDispatcher,\n sdk,\n logger,\n}) {\n useEffect(() => {\n if (channelUrl && sdkInit && sdk && sdk.GroupChannel) {\n logger.info('Channel | useSetChannel fetching channel', channelUrl);\n sdk.GroupChannel.getChannel(channelUrl)\n .then((groupChannel) => {\n logger.info('Channel | useSetChannel fetched channel', groupChannel);\n messagesDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n\n logger.info('Channel: Mark as read', groupChannel);\n // this order is important - this mark as read should update the event handler up above\n groupChannel.markAsRead();\n })\n .catch((e) => {\n logger.warning('Channel | useSetChannel fetch channel failed', { channelUrl, e });\n messagesDispatcher({\n type: messageActionTypes.SET_CHANNEL_INVALID,\n });\n });\n sdk.getAllEmoji((emojiContainer_, err) => {\n if (err) {\n logger.error('Channel: Getting emojis failed', err);\n return;\n }\n logger.info('Channel: Getting emojis success', emojiContainer_);\n messagesDispatcher({\n type: messageActionTypes.SET_EMOJI_CONTAINER,\n payload: emojiContainer_,\n });\n });\n }\n }, [channelUrl, sdkInit]);\n}\n\nexport default useSetChannel;\n","import { useEffect } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\nfunction useInitialMessagesFetch({ currentGroupChannel, userFilledMessageListQuery }, {\n sdk,\n logger,\n messagesDispatcher,\n}) {\n const channelUrl = currentGroupChannel && currentGroupChannel.url;\n useEffect(() => {\n logger.info('Channel useInitialMessagesFetch: Setup started', currentGroupChannel);\n\n messagesDispatcher({\n type: messageActionTypes.RESET_MESSAGES,\n });\n\n if (sdk && sdk.MessageListParams\n && currentGroupChannel && currentGroupChannel.getMessagesByMessageId) {\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.isInclusive = true;\n messageListParams.includeReplies = false;\n messageListParams.includeReaction = true;\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching messages', { currentGroupChannel, userFilledMessageListQuery });\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_START,\n });\n\n currentGroupChannel.getMessagesByTimestamp(\n new Date().getTime(),\n messageListParams,\n )\n .then((messages) => {\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimeStamp = hasMore\n ? messages[0].createdAt\n : null;\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages,\n hasMore,\n lastMessageTimeStamp,\n currentGroupChannel,\n },\n });\n })\n .catch((error) => {\n logger.error('Channel: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages: [],\n hasMore: false,\n lastMessageTimeStamp: 0,\n currentGroupChannel,\n },\n });\n })\n .finally(() => {\n currentGroupChannel.markAsRead();\n setTimeout(() => utils.scrollIntoLast());\n });\n }\n }, [channelUrl, userFilledMessageListQuery]);\n}\n\nexport default useInitialMessagesFetch;\n","import { useEffect } from 'react';\n\nimport * as utils from '../utils';\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useHandleReconnect({ isOnline }, {\n logger,\n sdk,\n currentGroupChannel,\n messagesDispatcher,\n userFilledMessageListQuery,\n}) {\n useEffect(() => {\n const wasOffline = !isOnline;\n return () => {\n // state changed from offline to online\n if (wasOffline) {\n logger.info('Refreshing conversation state');\n const { appInfo = {} } = sdk;\n const useReaction = appInfo.isUsingReaction || false;\n\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.includeReplies = false;\n messageListParams.includeReaction = useReaction;\n\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching messages', { currentGroupChannel, userFilledMessageListQuery });\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_START,\n });\n\n sdk.GroupChannel.getChannel(currentGroupChannel.url)\n .then((groupChannel) => {\n const lastMessageTime = new Date().getTime();\n\n groupChannel.getMessagesByTimestamp(\n lastMessageTime,\n messageListParams,\n )\n .then((messages) => {\n messagesDispatcher({\n type: messageActionTypes.CLEAR_SENT_MESSAGES,\n });\n\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimeStamp = hasMore\n ? messages[0].createdAt\n : null;\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages,\n hasMore,\n lastMessageTimeStamp,\n currentGroupChannel,\n },\n });\n setTimeout(() => utils.scrollIntoLast());\n })\n .catch((error) => {\n logger.error('Channel: Fetching messages failed', error);\n })\n .finally(() => {\n currentGroupChannel.markAsRead();\n });\n });\n }\n };\n }, [isOnline]);\n}\n\nexport default useHandleReconnect;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useScrollCallback({\n currentGroupChannel,\n lastMessageTimeStamp,\n userFilledMessageListQuery,\n}, {\n hasMore,\n logger,\n messagesDispatcher,\n sdk,\n}) {\n return useCallback((cb) => {\n if (!hasMore) { return; }\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.includeReplies = false;\n messageListParams.includeReaction = true;\n\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching messages', { currentGroupChannel, userFilledMessageListQuery });\n\n currentGroupChannel.getMessagesByTimestamp(\n lastMessageTimeStamp || new Date().getTime(),\n messageListParams,\n )\n .then((messages) => {\n const hasMoreMessages = (messages && messages.length > 0);\n const lastMessageTs = hasMoreMessages\n ? messages[0].createdAt\n : null;\n\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages,\n hasMore: hasMoreMessages,\n lastMessageTimeStamp: lastMessageTs,\n currentGroupChannel,\n },\n });\n cb([messages, null]);\n })\n .catch((error) => {\n logger.error('Channel: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages: [],\n hasMore: false,\n lastMessageTimeStamp: 0,\n currentGroupChannel,\n },\n });\n cb([null, error]);\n })\n .finally(() => {\n currentGroupChannel.markAsRead();\n });\n }, [currentGroupChannel, lastMessageTimeStamp]);\n}\n\nexport default useScrollCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useDeleteMessageCallback({ currentGroupChannel, messagesDispatcher }, { logger }) {\n return useCallback((message, cb) => {\n logger.info('Channel | useDeleteMessageCallback: Deleting message', message);\n const { requestState } = message;\n logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', requestState);\n\n // Message is only on local\n if (requestState === 'failed' || requestState === 'pending') {\n logger.info('Channel | useDeleteMessageCallback: Deleted message from local:', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,\n payload: message.reqId,\n });\n if (cb) { cb(); }\n return;\n }\n\n // Message is on server\n currentGroupChannel.deleteMessage(message, (err) => {\n logger.info('Channel | useDeleteMessageCallback: Deleting message from remote:', requestState);\n if (cb) { cb(err); }\n if (!err) {\n logger.info('Channel | useDeleteMessageCallback: Deleting message success!', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: message.messageId,\n });\n } else {\n logger.warning('Channel | useDeleteMessageCallback: Deleting message failed!', err);\n }\n });\n }, [currentGroupChannel, messagesDispatcher]);\n}\n\nexport default useDeleteMessageCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as topics from '../../../lib/pubSub/topics';\n\nfunction useUpdateMessageCallback({\n currentGroupChannel,\n messagesDispatcher,\n onBeforeUpdateUserMessage,\n}, {\n logger,\n pubSub,\n sdk,\n}) {\n return useCallback((messageId, text, cb) => {\n const createParamsDefault = (txt) => {\n const params = new sdk.UserMessageParams();\n params.message = txt;\n return params;\n };\n\n const createCustomPrams = onBeforeUpdateUserMessage\n && typeof onBeforeUpdateUserMessage === 'function';\n\n if (createCustomPrams) {\n logger.info('Channel: creating params using onBeforeUpdateUserMessage', onBeforeUpdateUserMessage);\n }\n\n const params = onBeforeUpdateUserMessage\n ? onBeforeUpdateUserMessage(text)\n : createParamsDefault(text);\n\n currentGroupChannel.updateUserMessage(messageId, params, (r, e) => {\n logger.info('Channel: Updating message!', params);\n const swapParams = sdk.getErrorFirstCallback();\n let message = r;\n let err = e;\n if (swapParams) {\n message = e;\n err = r;\n }\n if (cb) {\n cb(err, message);\n }\n if (!err) {\n logger.info('Channel: Updating message success!', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: {\n channel: currentGroupChannel,\n message,\n },\n });\n pubSub.publish(\n topics.UPDATE_USER_MESSAGE,\n {\n message,\n channel: currentGroupChannel,\n },\n );\n } else {\n logger.warning('Channel: Updating message failed!', err);\n }\n });\n }, [currentGroupChannel.url, messagesDispatcher, onBeforeUpdateUserMessage]);\n}\n\nexport default useUpdateMessageCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useResendMessageCallback({\n currentGroupChannel,\n messagesDispatcher,\n}, {\n logger,\n}) {\n return useCallback((failedMessage) => {\n logger.info('Channel: Resending message has started', failedMessage);\n const { messageType, file } = failedMessage;\n if (failedMessage && typeof failedMessage.isResendable === 'function'\n && failedMessage.isResendable()\n ) {\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGEGE_START,\n payload: failedMessage,\n });\n\n // userMessage\n if (messageType === 'user') {\n currentGroupChannel\n .resendUserMessage(failedMessage)\n .then((message) => {\n logger.info('Channel: Resending message success!', { message });\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n })\n .catch((e) => {\n logger.warning('Channel: Resending message failed!', { e });\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: failedMessage,\n });\n });\n\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGEGE_START,\n payload: failedMessage,\n });\n return;\n }\n\n if (messageType === 'file') {\n currentGroupChannel\n .resendFileMessage(failedMessage, file)\n .then((message) => {\n logger.info('Channel: Resending file message success!', { message });\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n })\n .catch((e) => {\n logger.warning('Channel: Resending file message failed!', { e });\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: failedMessage,\n });\n });\n\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGEGE_START,\n payload: failedMessage,\n });\n }\n } else {\n // to alert user on console\n // eslint-disable-next-line no-console\n console.error('Message is not resendable');\n logger.warning('Message is not resendable', failedMessage);\n }\n }, [currentGroupChannel, messagesDispatcher]);\n}\n\nexport default useResendMessageCallback;\n","import { useRef, useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\nimport * as topics from '../../../lib/pubSub/topics';\n\nexport default function useSendMessageCallback({ currentGroupChannel, onBeforeSendUserMessage }, {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n}) {\n const messageInputRef = useRef(null);\n\n const sendMessage = useCallback(\n () => {\n const text = messageInputRef.current.value;\n const createParamsDefault = (txt) => {\n const message = (typeof txt === 'string') ? txt.trim() : txt;\n const params = new sdk.UserMessageParams();\n params.message = message;\n return params;\n };\n\n const createCustomPrams = onBeforeSendUserMessage\n && typeof onBeforeSendUserMessage === 'function';\n\n if (createCustomPrams) {\n logger.info('Channel: creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);\n }\n\n const params = onBeforeSendUserMessage\n ? onBeforeSendUserMessage(text)\n : createParamsDefault(text);\n\n logger.info('Channel: Sending message has started', params);\n const pendingMsg = currentGroupChannel.sendUserMessage(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 // sending params instead of pending message\n // to make sure that we can resend the message once it fails\n if (error) {\n logger.warning('Channel: Sending message failed!', {\n message,\n });\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: message,\n });\n return;\n }\n logger.info('Channel: Sending message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n });\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */\n message: pendingMsg,\n channel: currentGroupChannel,\n });\n setTimeout(() => utils.scrollIntoLast());\n },\n [currentGroupChannel, onBeforeSendUserMessage],\n );\n\n return [messageInputRef, sendMessage];\n}\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\nimport * as topics from '../../../lib/pubSub/topics';\n\nexport default function useSendFileMessageCallback({\n currentGroupChannel,\n onBeforeSendFileMessage,\n imageCompression = {},\n}, {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n}) {\n const sendMessage = useCallback((file) => {\n const {\n compressionRate,\n resizingWidth,\n resizingHeight,\n } = imageCompression;\n const createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';\n\n const compressibleFileType = (file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg');\n const compressibleRatio = (compressionRate > 0) && (compressionRate < 1);\n // pxToNumber returns null if values are invalid\n const compressibleDiamensions = utils.pxToNumber(resizingWidth)\n || utils.pxToNumber(resizingHeight);\n\n const canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions);\n\n const createParamsDefault = (file_) => {\n const params = new sdk.FileMessageParams();\n params.file = file_;\n return params;\n };\n\n if (canCompressImage) { // Using image compression\n try {\n const image = document.createElement('img');\n image.src = URL.createObjectURL(file);\n image.onload = () => {\n URL.revokeObjectURL(image.src);\n const canvas = document.createElement('canvas');\n const imageWdith = image.naturalWidth || image.width;\n const imageHeight = image.naturalHeight || image.height;\n\n let targetWidth = utils.pxToNumber(resizingWidth) || imageWdith;\n let targetHeight = utils.pxToNumber(resizingHeight) || imageHeight;\n\n // In canvas.toBlob(callback, mimeType, qualityArgument)\n // qualityArgument doesnt work\n // so in case compressibleDiamensions are not present, we use ratio\n if (file.type === 'image/png' && !compressibleDiamensions) {\n targetWidth *= compressionRate;\n targetHeight *= compressionRate;\n }\n\n canvas.width = targetWidth;\n canvas.height = targetHeight;\n const context = canvas.getContext('2d');\n context.drawImage(image, 0, 0, targetWidth, targetHeight);\n context.canvas.toBlob(\n (newImageBlob) => {\n const compressedFile = new File([newImageBlob], file.name, { type: file.type });\n if (createCustomParams) {\n logger.info('Channel: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = createCustomParams\n ? onBeforeSendFileMessage(compressedFile)\n : createParamsDefault(compressedFile);\n logger.info('Channel: Uploading file message start!', params);\n const pendingMessage = currentGroupChannel.sendFileMessage(\n params,\n (response, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n const [message, error] = swapParams ? [err, response] : [response, err];\n if (error) {\n // sending params instead of pending message\n // to make sure that we can resend the message once it fails\n logger.error('Channel: Sending file message failed!', message);\n message.localUrl = URL.createObjectURL(compressedFile);\n message.file = compressedFile;\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: message,\n });\n return;\n }\n logger.info('Channel: Sending file message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n },\n );\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */\n message: {\n ...pendingMessage,\n url: URL.createObjectURL(compressedFile),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentGroupChannel,\n });\n setTimeout(() => utils.scrollIntoLast(), 1000);\n },\n file.type,\n compressionRate,\n );\n };\n } catch (error) {\n logger.error('Channel: Sending file message failed!');\n }\n } else { // Not using image compression\n if (createCustomParams) {\n logger.info('Channel: creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = onBeforeSendFileMessage\n ? onBeforeSendFileMessage(file)\n : createParamsDefault(file);\n logger.info('Channel: Uploading file message start!', params);\n\n const pendingMsg = currentGroupChannel.sendFileMessage(params, (response, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n const [message, error] = swapParams ? [err, response] : [response, err];\n if (error) {\n // sending params instead of pending message\n // to make sure that we can resend the message once it fails\n logger.error('Channel: Sending file message failed!', message);\n message.localUrl = URL.createObjectURL(file);\n message.file = file;\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: message,\n });\n return;\n }\n logger.info('Channel: Sending message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n });\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */\n message: {\n ...pendingMsg,\n url: URL.createObjectURL(file),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentGroupChannel,\n });\n setTimeout(() => utils.scrollIntoLast(), 1000);\n }\n }, [currentGroupChannel, onBeforeSendFileMessage, imageCompression]);\n return [sendMessage];\n}\n","import { useEffect } from 'react';\n\nimport * as utils from '../utils';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport { uuidv4 } from '../../../utils/uuid';\n\nexport default function useSetReadStatus({ allMessages, currentGroupChannel }, {\n messagesDispatcher,\n sdk,\n logger,\n}) {\n useEffect(() => {\n if (!sdk.ChannelHandler || !currentGroupChannel.url) {\n return () => {};\n }\n // todo: move to reducer?\n const setReadStatus = () => {\n const allReadStatus = allMessages.reduce((accumulator, msg) => {\n if (msg.messageId !== 0) {\n return {\n ...accumulator,\n [msg.messageId]: utils.getParsedStatus(msg, currentGroupChannel),\n };\n }\n return accumulator;\n }, {});\n messagesDispatcher({\n type: messageActionTypes.SET_READ_STATUS,\n payload: allReadStatus,\n });\n };\n if (allMessages.length > 0) {\n setReadStatus();\n }\n\n const channelUrl = currentGroupChannel.url;\n const handler = new sdk.ChannelHandler();\n const handleMessageStatus = (c) => {\n if (channelUrl === c.url) {\n setReadStatus();\n }\n };\n handler.onDeliveryReceiptUpdated = handleMessageStatus;\n handler.onReadReceiptUpdated = handleMessageStatus;\n // Add this channel event handler to the SendBird object.\n const handlerId = uuidv4();\n logger.info('Channel | useSetReadStatus: Removing message reciver handler', handlerId);\n sdk.addChannelHandler(handlerId, handler);\n return () => {\n if (sdk && sdk.removeChannelHandler) {\n logger.info('Channel | useSetReadStatus: Removing message reciver handler', handlerId);\n sdk.removeChannelHandler(handlerId);\n }\n };\n }, [allMessages, currentGroupChannel]);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nconst ReactionButton = React.forwardRef((props, ref) => {\n const {\n children,\n width,\n height,\n onClick,\n selected,\n className,\n } = props;\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n return (\n onClick(e)}\n role=\"button\"\n onKeyDown={(e) => onClick(e)}\n tabIndex={0}\n >\n
\n {children}\n
\n \n );\n});\n\nReactionButton.propTypes = {\n children: PropTypes.element.isRequired,\n onClick: PropTypes.func,\n selected: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n height: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nReactionButton.defaultProps = {\n selected: false,\n width: '36px',\n height: '36px',\n onClick: () => { },\n className: '',\n};\n\nexport default ReactionButton;\n","import React, { useMemo } from 'react';\n\nimport { EmojiListItems } from '../../../ui/ContextMenu';\nimport ReactionButton from '../../../ui/ReactionButton';\nimport ImageRenderer from '../../../ui/ImageRenderer';\nimport Icon, { IconTypes } from '../../../ui/Icon';\n\nexport default function useMemoizedEmojiListItems({\n emojiContainer, toggleReaction,\n}, {\n useReaction,\n logger,\n userId,\n emojiAllList,\n}) {\n return useMemo(() => ({\n parentRef,\n parentContainRef,\n message,\n closeDropdown,\n spaceFromTrigger = {},\n }) => {\n if (!useReaction || !(parentRef || parentContainRef || message || closeDropdown)) {\n logger.warning('Channel: Invalid Params in memoizedEmojiListItems');\n return null;\n }\n\n return (\n \n {\n emojiAllList.map((emoji) => {\n const reactedReaction = message.reactions\n .filter((reaction) => reaction.key === emoji.key)[0];\n const isReacted = reactedReaction\n ? !(reactedReaction.userIds.indexOf(userId) < 0)\n : false;\n return (\n {\n closeDropdown();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n \n }\n />\n \n );\n })\n }\n \n );\n }, [emojiContainer, toggleReaction]);\n}\n","import { useCallback } from 'react';\n\nexport default function useToggleReactionCallback({ currentGroupChannel }, { logger }) {\n return useCallback((message, key, isReacted) => {\n if (isReacted) {\n currentGroupChannel.deleteReaction(message, key)\n .then((res) => {\n logger.info('Delete reaction success', res);\n })\n .catch((err) => {\n logger.warning('Delete reaction failed', err);\n });\n return;\n }\n currentGroupChannel.addReaction(message, key)\n .then((res) => {\n logger.info('Add reaction success', res);\n })\n .catch((err) => {\n logger.warning('Add reaction failed', err);\n });\n }, [currentGroupChannel]);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\nimport MessageStatusType from './type';\n\nimport { getMessageCreatedAt } from '../../utils/utils';\n\nconst MessageStatusTypes = MessageStatusType;\nexport { MessageStatusTypes };\nexport default function MessageStatus({\n message,\n status,\n className,\n}) {\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n const label = () => {\n switch (status) {\n case MessageStatusType.FAILED:\n case MessageStatusType.PENDING: {\n return null;\n }\n case MessageStatusType.SENT:\n case MessageStatusType.DELIVERED:\n case MessageStatusType.READ: {\n return (\n \n {getMessageCreatedAt(message)}\n \n );\n }\n default: return null;\n }\n };\n\n const icon = {\n PENDING: (\n \n \n \n ),\n SENT: ,\n DELIVERED: ,\n READ: ,\n FAILED: ,\n };\n\n return (\n
\n {icon[status]}\n
\n {label(status)}\n
\n );\n}\n\nMessageStatus.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n status: PropTypes.string,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nMessageStatus.defaultProps = {\n message: null,\n status: '',\n className: '',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nimport './index.scss';\n\nconst ReactionBadge = React.forwardRef((props, ref) => {\n const {\n className,\n children,\n count,\n selected,\n isAdd,\n onClick,\n } = props;\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n if (selected && !isAdd) {\n injectingClassName.unshift('sendbird-reaction-badge--selected');\n } else if (isAdd) {\n injectingClassName.push('sendbird-reaction-badge--is-add');\n } else {\n injectingClassName.unshift('sendbird-reaction-badge');\n }\n\n return (\n \n
\n
\n {children}\n
\n \n
\n \n );\n});\n\nReactionBadge.propTypes = {\n children: PropTypes.element.isRequired,\n count: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n selected: PropTypes.bool,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n isAdd: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nReactionBadge.defaultProps = {\n className: '',\n count: '',\n selected: false,\n isAdd: false,\n onClick: () => { },\n};\n\nexport default ReactionBadge;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport Label from '../Label';\n\nconst CLASS_NAME = 'sendbird-tooltip';\n\nexport default function Tooltip({\n className,\n children,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift(CLASS_NAME);\n\n return (\n
\n \n {children}\n \n
\n );\n}\n\nTooltip.propTypes = {\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.string,\n ]),\n};\n\nTooltip.defaultProps = {\n className: '',\n children: '',\n};\n","import React, { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nconst CLASS_NAME = 'sendbird-tooltip-wrapper';\nconst SPACE_FROM_TRIGGER = 8;\n\nexport default function TooltipWrapper({\n className,\n children,\n hoverTooltip,\n // clickTooltip can be added later\n}) {\n const injectingClassName = Array.isArray(className)\n ? [CLASS_NAME, ...className]\n : [CLASS_NAME, className];\n const [showHoverTooltip, setShowHoverTooltip] = useState(false);\n const childrenRef = useRef(null);\n\n return (\n { setShowHoverTooltip(true); }}\n onFocus={() => { setShowHoverTooltip(true); }}\n onMouseOut={() => { setShowHoverTooltip(false); }}\n onBlur={() => { setShowHoverTooltip(false); }}\n >\n \n {children}\n \n {\n showHoverTooltip && (\n \n \n \n {hoverTooltip}\n \n \n \n )\n }\n \n );\n}\n\nTooltipWrapper.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n children: PropTypes.element.isRequired,\n hoverTooltip: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]).isRequired,\n};\nTooltipWrapper.defaultProps = {\n className: '',\n};\n","import React, { useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport ReactionBadge from '../ReactionBadge';\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ContextMenu from '../ContextMenu';\nimport Tooltip from '../Tooltip';\nimport TooltipWrapper from '../TooltipWrapper';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nexport default function EmojiReactions({\n className,\n userId,\n message,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift('sendbird-emoji-reactions');\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const imageWidth = '20px';\n const imageHeight = '20px';\n const emojiReactionAddRef = useRef(null);\n const { reactions = [] } = message;\n const messageReactions = reactions;\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n
\n
\n {\n messageReactions && (\n messageReactions.map((reaction) => {\n const { userIds = [] } = reaction;\n const emojiUrl = emojiAllMap.get(reaction.key) || '';\n const reactedUserCount = userIds.length;\n const reactedByMe = !(userIds.indexOf(userId) < 0);\n const nicknames = userIds\n .filter((currentUserId) => currentUserId !== userId)\n .map((currentUserId) => (\n membersMap.get(currentUserId) || stringSet.TOOLTIP__UNKOWN_USER\n ));\n const stringSetForMe = (nicknames.length > 0)\n ? stringSet.TOOLTIP__AND_YOU : stringSet.TOOLTIP__YOU;\n return (\n 0 && (\n \n <>\n {\n `${(\n nicknames.join(', ')\n )}${(\n reactedByMe\n ? stringSetForMe\n : ''\n )}`\n }\n \n \n )\n }\n >\n toggleReaction(message, reaction.key, reactedByMe)}\n >\n \n )}\n />\n \n \n );\n })\n )\n }\n {\n (messageReactions.length < emojiAllMap.size)\n && (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n )}\n />\n )\n }\n
\n
\n );\n}\n\nEmojiReactions.propTypes = {\n userId: PropTypes.string,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n message: PropTypes.shape({\n reactions: PropTypes.arrayOf(PropTypes.shape({})),\n }).isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n};\nEmojiReactions.defaultProps = {\n className: '',\n membersMap: new Map(),\n userId: '',\n toggleReaction: () => { },\n memoizedEmojiListItems: () => '',\n};\n","import React, { useMemo, useContext } from 'react';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport uuidv4 from '../../utils/uuid';\n\nconst WORD_TYPOGRAPHY = LabelTypography.BODY_1;\nconst EDITED_COLOR = LabelColors.ONBACKGROUND_2;\n\nexport default function useMemoizedMessageText({\n message,\n updatedAt,\n className,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n return useMemo(() => () => {\n const splitMessage = message.split(/\\r/);\n const matchedMessage = splitMessage\n .map((word) => (word !== '' ? word :
));\n if (updatedAt > 0) {\n matchedMessage.push(\n \n {` ${stringSet.MESSAGE_EDITED} `}\n ,\n );\n }\n return matchedMessage;\n }, [message, updatedAt, className]);\n}\n","import { useEffect } from 'react';\n\nconst MOUSE_ENTER = 'mouseenter';\nconst MOUSE_LEAVE = 'mouseleave';\n\nconst useMouseHover = ({\n ref,\n setHover,\n}) => {\n const handleMouseOver = () => {\n if (ref.current) {\n setHover(true);\n }\n };\n const handleMouseOut = () => {\n if (ref.current) {\n setHover(false);\n }\n };\n\n useEffect(() => {\n const { current } = ref;\n current.addEventListener(MOUSE_ENTER, handleMouseOver);\n current.addEventListener(MOUSE_LEAVE, handleMouseOut);\n return () => {\n current.removeEventListener(MOUSE_ENTER, handleMouseOver);\n current.removeEventListener(MOUSE_LEAVE, handleMouseOut);\n };\n });\n};\n\nexport default useMouseHover;\n","import React, { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport './index.scss';\nimport UserProfile from '../UserProfile';\nimport Avatar from '../Avatar/index';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport MessageStatus from '../MessageStatus';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport EmojiReactions from '../EmojiReactions';\nimport {\n copyToClipboard,\n getMessageCreatedAt,\n getSenderName,\n getSenderProfileUrl,\n getIsSentFromStatus,\n} from './utils';\nimport useMemoizedMessageText from './memoizedMessageText';\nimport useMouseHover from '../../hooks/onMouseHover';\n\nconst noop = () => { };\nconst GROUPING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\n\nexport default function Message(props) {\n const {\n isByMe,\n userId,\n message,\n className,\n resendMessage,\n disabled,\n showEdit,\n showRemove,\n status,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n } = props;\n\n if (!message) return null;\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n injectingClassName.push(`sendbird-message${isByMe ? '--outgoing' : '--incoming'}`);\n const memoizedMessageText = useMemoizedMessageText({\n message: message.message,\n updatedAt: message.updatedAt,\n className: 'sendbird-user-message-word',\n });\n\n return (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n );\n}\n\nMessage.propTypes = {\n isByMe: PropTypes.bool,\n disabled: PropTypes.bool,\n userId: PropTypes.string,\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])).isRequired,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n showEdit: PropTypes.func,\n status: PropTypes.string,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nMessage.defaultProps = {\n isByMe: false,\n disabled: false,\n userId: '',\n resendMessage: noop,\n className: '',\n showEdit: noop,\n showRemove: noop,\n status: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n chainTop: false,\n chainBottom: false,\n};\n\nfunction OutgoingUserMessage({\n userId,\n message,\n showEdit,\n disabled,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n // TODO: when message.requestState is succeeded, consider if it's SENT or DELIVERED\n const messageRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n const isMessageSent = getIsSentFromStatus(status);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n \n
\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n {\n isMessageSent && (\n { copyToClipboard(message.message); closeDropdown(); }}\n >\n Copy\n \n )\n }\n {\n isMessageSent && (\n {\n if (disabled) { return; }\n showEdit(true);\n closeDropdown();\n }}\n >\n Edit\n \n )\n }\n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n Resend\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n Delete\n \n \n );\n }}\n />\n {\n (isMessageSent && useReaction && (emojiAllMap.size > 0))\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n
\n \n
\n )\n }\n
\n
\n
\n
\n \n \n \n
\n {\n (useReaction && message.reactions && message.reactions.length > 0)\n && (\n \n )\n }\n
\n
\n \n \n );\n}\n\nfunction IncomingUserMessage({\n userId,\n message,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const messageRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n const avatarRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n const showEmojiReactions = (useReaction && message.reactions && message.reactions.length > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className=\"sendbird-user-message__avatar\"\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n {\n !chainTop && (\n \n {getSenderName(message)}\n \n )\n }\n
\n
\n
\n \n \n \n
\n {\n showEmojiReactions && (\n \n )\n }\n
\n
\n
\n
\n \n {\n showReactionAddButton\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n { copyToClipboard(message.message); closeDropdown(); }}\n >\n Copy\n \n \n );\n }}\n />\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n
\n \n \n );\n}\n\nIncomingUserMessage.propTypes = {\n userId: PropTypes.string.isRequired,\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nIncomingUserMessage.defaultProps = {\n message: {},\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n\nOutgoingUserMessage.propTypes = {\n userId: PropTypes.string.isRequired,\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n showEdit: PropTypes.func,\n showRemove: PropTypes.func,\n disabled: PropTypes.bool,\n resendMessage: PropTypes.func,\n status: PropTypes.string.isRequired,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingUserMessage.defaultProps = {\n message: {},\n resendMessage: noop,\n showEdit: noop,\n showRemove: noop,\n disabled: false,\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Label, { LabelColors, LabelTypography } from '../Label';\n\nexport default function AdminMessage({\n className,\n message,\n}) {\n if (!message.messageType || message.messageType !== 'admin') { // change to use message.isAdminMessage()\n return null;\n }\n\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n
\n \n
\n );\n}\n\nAdminMessage.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nAdminMessage.defaultProps = {\n message: {},\n className: '',\n};\n","import format from 'date-fns/format';\nimport MessageStatusType from '../MessageStatus/type';\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const getIsSentFromStatus = (status) => (\n status === MessageStatusType.SENT\n || status === MessageStatusType.DELIVERED\n || status === MessageStatusType.READ\n);\n\nexport default {\n getMessageCreatedAt,\n getIsSentFromStatus,\n};\n","import React, { useContext, useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport {\n getMessageCreatedAt,\n getIsSentFromStatus,\n} from './util';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport Avatar from '../Avatar/index';\nimport UserProfile from '../UserProfile';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport IconButton from '../IconButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ImageRenderer from '../ImageRenderer';\nimport MessageStatus from '../MessageStatus';\nimport EmojiReactions from '../EmojiReactions';\nimport {\n isImage,\n isVideo,\n unSupported,\n} from '../FileViewer/types';\nimport {\n getSenderName,\n getSenderProfileUrl,\n} from '../../utils/utils';\nimport useMouseHover from '../../hooks/onMouseHover';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nconst noop = () => { };\n\nconst OUTGOING_THUMBNAIL_MESSAGE = 'sendbird-outgoing-thumbnail-message';\nconst INCOMING_THUMBNAIL_MESSAGE = 'sendbird-incoming-thumbnail-message';\nconst GROUPING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\n\nexport default function ThumbnailMessage({\n message = {},\n userId,\n disabled,\n isByMe,\n onClick,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n return (\n isByMe\n ? (\n \n )\n : (\n \n )\n );\n}\n\nexport function OutgoingThumbnailMessage({\n message = {},\n userId,\n disabled,\n onClick,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const {\n type,\n url,\n localUrl,\n thumbnails,\n } = message;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const { stringSet } = useContext(LocalizationContext);\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const menuRef = useRef(null);\n const reactionAddRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n\n const showReactionAddButton = (useReaction && emojiAllMap && emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const isMessageSent = getIsSentFromStatus(status);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n \n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n \n );\n }}\n />\n {\n isMessageSent && showReactionAddButton\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n )\n }\n
\n
\n \n onClick(true) : () => { }}\n onKeyDown={isMessageSent ? () => onClick(true) : () => { }}\n tabIndex={0}\n role=\"button\"\n >\n {\n isVideo(type) && (\n <>\n {\n (thumbnailUrl)\n ? (\n \n )\n : (\n /* eslint-disable-next-line jsx-a11y/media-has-caption */\n \n \n \n )\n }\n \n \n )\n }\n {\n isImage(type) && (\n \n )\n }\n {\n unSupported(type) && (\n
\n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n
\n )\n }\n
\n
\n {\n (useReaction && message.reactions && message.reactions.length > 0)\n && (\n \n )\n }\n
\n \n \n \n );\n}\n\nexport function IncomingThumbnailMessage({\n message = {},\n userId,\n onClick,\n status,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const {\n type,\n url,\n localUrl,\n thumbnails,\n } = message;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const reactionAddRef = useRef(null);\n const avatarRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n\n const showReactionAddButton = (useReaction && emojiAllMap && emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const isMessageSent = getIsSentFromStatus(status);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n {\n !chainTop && (\n \n {getSenderName(message) || ''}\n \n )\n }\n
\n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className={`${INCOMING_THUMBNAIL_MESSAGE}__avatar`}\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n onClick(true) : () => { }}\n onKeyDown={isMessageSent ? () => onClick(true) : () => { }}\n >\n {\n isVideo(type) && (\n <>\n {\n (thumbnailUrl)\n ? (\n \n )\n : (\n /* eslint-disable-next-line jsx-a11y/media-has-caption */\n \n )\n }\n \n \n )\n }\n {\n isImage(type) && (\n \n )\n }\n {\n unSupported(type) && (\n
\n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n
\n )\n }\n
\n
\n {\n (useReaction && message.reactions && message.reactions.length > 0)\n && (\n \n )\n }\n
\n
\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n \n {\n showReactionAddButton && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n
\n \n \n );\n}\n\nThumbnailMessage.propTypes = {\n message: PropTypes.shape({\n type: PropTypes.string,\n url: PropTypes.string,\n localUrl: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string,\n resendMessage: PropTypes.func,\n status: PropTypes.string,\n isByMe: PropTypes.bool,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n showRemove: PropTypes.func,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\nThumbnailMessage.defaultProps = {\n isByMe: false,\n disabled: false,\n resendMessage: noop,\n onClick: noop,\n showRemove: noop,\n status: '',\n userId: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n chainTop: false,\n chainBottom: false,\n};\n\nOutgoingThumbnailMessage.propTypes = {\n message: PropTypes.shape({\n type: PropTypes.string,\n url: PropTypes.string,\n localUrl: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n disabled: PropTypes.bool.isRequired,\n resendMessage: PropTypes.func.isRequired,\n status: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n showRemove: PropTypes.func.isRequired,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\nOutgoingThumbnailMessage.defaultProps = {\n status: '',\n};\n\nIncomingThumbnailMessage.propTypes = {\n message: PropTypes.shape({\n type: PropTypes.string,\n url: PropTypes.string,\n localUrl: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n status: PropTypes.string,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\nIncomingThumbnailMessage.defaultProps = {\n status: '',\n};\n","import React, { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport './index.scss';\nimport Avatar from '../Avatar/index';\nimport IconButton from '../IconButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport TextButton from '../TextButton';\nimport UserProfile from '../UserProfile';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport MessageStatus from '../MessageStatus';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport EmojiReactions from '../EmojiReactions';\n\nimport { getSenderProfileUrl, getSenderName, getMessageCreatedAt } from '../../utils/utils';\nimport {\n truncate,\n getIsSentFromStatus,\n} from './utils';\nimport useMouseHover from '../../hooks/onMouseHover';\n\nconst MAX_TRUNCATE_LENGTH = 40;\nconst GROUPAING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\nconst noop = () => { };\n\nfunction checkFileType(fileUrl) {\n let result = null;\n const imageFile = /(\\.gif|\\.jpg|\\.jpeg|\\.txt|\\.pdf)$/i;\n const audioFile = /(\\.mp3)$/i;\n if (imageFile.test(fileUrl)) {\n result = IconTypes.FILE_DOCUMENT;\n } else if (audioFile.test(fileUrl)) {\n result = IconTypes.FILE_AUDIO;\n }\n return result;\n}\n\nexport function OutgoingFileMessage({\n message,\n userId,\n status,\n showRemove,\n disabled,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const {\n url,\n } = message;\n const openFileUrl = () => { window.open(url); };\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const menuRef = useRef(null);\n const reactionAddButtonRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const isMessageSent = getIsSentFromStatus(status);\n const showEmojiReactions = isMessageSent && useReaction && message.reactions\n && (message.reactions.length > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n \n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n Resend\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n Delete\n \n \n );\n }}\n />\n {\n showReactionAddButton && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n
\n \n
\n )\n }\n
\n
\n
\n {\n checkFileType(url)\n ? (\n \n )\n : null\n }\n \n \n {truncate(message.url, MAX_TRUNCATE_LENGTH)}\n \n \n
\n {\n showEmojiReactions && (\n \n )\n }\n
\n \n \n );\n}\n\nexport function IncomingFileMessage({\n message,\n userId,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const openFileUrl = () => { window.open(message.url); };\n const messageRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n const parentContainRef = useRef(null);\n const avatarRef = useRef(null);\n const reactionAddButtonRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className=\"sendbird-file-message__avatar\"\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n {\n !chainTop && (\n \n {getSenderName(message)}\n \n )\n }\n
\n
\n {\n checkFileType(message.url)\n ? (\n \n )\n : null\n }\n \n \n {truncate(message.url, MAX_TRUNCATE_LENGTH)}\n \n \n
\n {\n (useReaction && message.reactions && (message.reactions.length > 0)) && (\n \n )\n }\n
\n
\n
\n \n {\n showReactionAddButton && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n
\n \n \n );\n}\n\nOutgoingFileMessage.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n userId: PropTypes.string,\n status: PropTypes.string,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n useReaction: PropTypes.bool.isRequired,\n disabled: PropTypes.bool,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingFileMessage.defaultProps = {\n status: '',\n showRemove: noop,\n resendMessage: noop,\n message: {},\n userId: '',\n disabled: false,\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n\nIncomingFileMessage.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n userId: PropTypes.string,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nIncomingFileMessage.defaultProps = {\n message: {},\n userId: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n\nconst MessageSwitch = ({\n message,\n userId,\n disabled,\n isByMe,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) => (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n);\n\n\nMessageSwitch.propTypes = {\n message: PropTypes.shape({}),\n userId: PropTypes.string,\n isByMe: PropTypes.bool,\n disabled: PropTypes.bool,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n status: PropTypes.string.isRequired,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nMessageSwitch.defaultProps = {\n message: {},\n isByMe: false,\n disabled: false,\n showRemove: noop,\n resendMessage: noop,\n userId: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n chainTop: false,\n chainBottom: false,\n};\n\nexport default MessageSwitch;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Modal from '../../../ui/Modal';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\nconst RemoveMessage = (props) => {\n const {\n onCloseModal,\n onDeleteMessage,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n );\n};\n\nRemoveMessage.propTypes = {\n onCloseModal: PropTypes.func.isRequired,\n onDeleteMessage: PropTypes.func.isRequired,\n};\n\nexport default RemoveMessage;\n","import format from 'date-fns/format';\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport default {\n getMessageCreatedAt,\n};\n","import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport * as utils from './utils';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Avatar from '../Avatar/index';\nimport UserProfile from '../UserProfile';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport MessageStatus from '../MessageStatus';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport IconButton from '../IconButton';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport useMouseHover from '../../hooks/onMouseHover';\n\nconst CLASS_NAME = 'sendbird-unknown-message';\nconst GROUPING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\n\nexport default function UnknownMessage({\n message,\n isByMe,\n status,\n className,\n showRemove,\n chainTop,\n chainBottom,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift(CLASS_NAME);\n injectingClassName.push(`${CLASS_NAME}${isByMe ? '--outgoing' : '--incoming'}`);\n\n return (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n );\n}\n\nUnknownMessage.propTypes = {\n message: PropTypes.shape({}).isRequired,\n isByMe: PropTypes.bool,\n status: PropTypes.string,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n showRemove: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nUnknownMessage.defaultProps = {\n isByMe: false,\n status: '',\n className: '',\n showRemove: () => { },\n chainTop: false,\n chainBottom: false,\n};\n\nfunction OutgoingUnknownMessage({\n message,\n status,\n showRemove,\n chainTop,\n chainBottom,\n}) {\n const className = 'sendbird-outgoing-unknown-message';\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const menuRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n \n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n { showRemove(true); closeDropdown(); }}\n >\n Delete\n \n \n );\n }}\n />\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n
\n \n
\n )\n }\n
\n
\n
\n \n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n \n \n {stringSet.UNKNOWN__CANNOT_READ_MESSAGE}\n \n
\n
\n \n \n );\n}\n\nfunction IncomingUnknownMessage({\n message,\n chainTop,\n chainBottom,\n}) {\n const className = 'sendbird-incoming-unknown-message';\n const { sender } = message;\n const avatarRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className={`${className}__left__sender-profile-image`}\n src={sender.profileUrl}\n width=\"28px\"\n height=\"28px\"\n alt=\"sender-profile-image\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n \n {sender.nickname || stringSet.NO_NAME}\n \n )\n }\n
\n \n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n \n \n {stringSet.UNKNOWN__CANNOT_READ_MESSAGE}\n \n
\n
\n
\n {\n !chainBottom && (\n \n {utils.getMessageCreatedAt(message)}\n \n )\n }\n
\n
\n \n );\n}\n\nOutgoingUnknownMessage.propTypes = {\n message: PropTypes.shape({}).isRequired,\n status: PropTypes.string.isRequired,\n showRemove: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingUnknownMessage.defaultProps = {\n showRemove: () => { },\n};\n\nIncomingUnknownMessage.propTypes = {\n message: PropTypes.shape({\n sender: PropTypes.shape({\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n }),\n }).isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n","export const URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const OG_MESSAGE = 'sendbird-og-message';\nexport const OUTGOING_OG_MESSAGE = 'sendbird-outgoing-og-message';\nexport const INCOMING_OG_MESSAGE = 'sendbird-incoming-og-message';\nexport const generateMockMessage = (process) => {\n const message = {\n message: 'go to this link sendbird.com it will be usefull to you!!',\n ogMetaData: {\n title: 'This is the TITLE',\n description: 'I\\'m description I\\'m description I\\'m description I\\'m description ',\n url: 'https://sendbird.com/',\n defaultImage: {\n url: 'https://static.sendbird.com/sample/profiles/profile_12_512px.png',\n alt: 'test',\n },\n },\n sender: {\n profileUrl: 'https://static.sendbird.com/sample/profiles/profile_12_512px.png',\n nickname: 'Hoonying',\n },\n createdAt: 2000000,\n };\n if (process && typeof process === 'function') {\n return process(message);\n }\n return message;\n};\n\nexport default {\n URL_REG,\n OG_MESSAGE,\n OUTGOING_OG_MESSAGE,\n INCOMING_OG_MESSAGE,\n generateMockMessage,\n};\n","import format from 'date-fns/format';\nimport MessageStatusType from '../MessageStatus/type';\n\nexport const createUrlTester = (regexp) => (text) => regexp.test(text);\n\nexport const getIsSentFromStatus = (status) => (\n status === MessageStatusType.SENT\n || status === MessageStatusType.DELIVERED\n || status === MessageStatusType.READ\n);\n\nexport const copyToClipboard = (text) => {\n try {\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path\n // to prevent textarea being shown while dialog is visible.\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n } catch (err) {\n return err;\n }\n};\n\nexport const getSenderProfileUrl = (message) => message.sender && message.sender.profileUrl;\n\nexport const getSenderName = (message) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const checkOGIsEnalbed = (message) => {\n const { ogMetaData } = message;\n if (!ogMetaData) {\n return false;\n }\n const { url } = ogMetaData;\n if (!url) {\n return false;\n }\n return true;\n};\n\nexport default {\n getSenderName,\n createUrlTester,\n copyToClipboard,\n checkOGIsEnalbed,\n getMessageCreatedAt,\n getIsSentFromStatus,\n getSenderProfileUrl,\n};\n","import React, { useMemo, useContext } from 'react';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport LinkLabel from '../LinkLabel';\nimport uuidv4 from '../../utils/uuid';\nimport { createUrlTester } from './utils';\nimport { URL_REG } from './const';\n\nconst WORD_TYPOGRAPHY = LabelTypography.BODY_1;\nconst WORD_COLOR = LabelColors.ONBACKGROUND_1;\nconst EDITED_COLOR = LabelColors.ONBACKGROUND_2;\nconst isUrl = createUrlTester(URL_REG);\n\nexport default function useMemoizedMessageText({\n message,\n updatedAt,\n className,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n return useMemo(() => () => {\n const splitMessage = message.split(' ');\n const matchedMessage = splitMessage\n .map((word) => (\n isUrl(word)\n ? (\n \n {word}\n \n )\n : (\n \n {word}\n \n )\n ));\n if (updatedAt > 0) {\n matchedMessage.push(\n \n {stringSet.MESSAGE_EDITED}\n ,\n );\n }\n return matchedMessage;\n }, [message, updatedAt, className]);\n}\n","import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n OG_MESSAGE,\n OUTGOING_OG_MESSAGE,\n INCOMING_OG_MESSAGE,\n} from './const';\nimport {\n getSenderName,\n copyToClipboard,\n checkOGIsEnalbed,\n getMessageCreatedAt,\n getIsSentFromStatus,\n getSenderProfileUrl,\n} from './utils';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport useMemoizedMessageText from './memoizedMessageText';\nimport './index.scss';\n\nimport UserProfile from '../UserProfile';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport MessageStatus from '../MessageStatus';\nimport EmojiReactions from '../EmojiReactions';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport Avatar from '../Avatar/index';\n\nimport useMouseHover from '../../hooks/onMouseHover';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nconst GROUPING_PADDING = '1px';\nconst NORAML_PADDING = '8px';\n\nconst OGMessageSwitch = ({\n isByMe,\n userId,\n status,\n message,\n disabled,\n showEdit,\n chainTop,\n className,\n membersMap,\n showRemove,\n useReaction,\n emojiAllMap,\n chainBottom,\n resendMessage,\n toggleReaction,\n memoizedEmojiListItems,\n}) => {\n const { ogMetaData } = message;\n const injectingClassName = Array.isArray(className) ? className : [className];\n\n const memoizedMessageText = useMemoizedMessageText({\n message: message.message,\n updatedAt: message.updatedAt,\n className: 'sendbird-og-message-word',\n });\n const openLink = () => {\n if (checkOGIsEnalbed(message)) {\n const { url } = ogMetaData;\n window.open(url);\n }\n };\n\n return (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n );\n};\n\nfunction OutgoingOGMessage(props) {\n const {\n status,\n userId,\n message,\n disabled,\n openLink,\n showEdit,\n chainTop,\n showRemove,\n membersMap,\n chainBottom,\n emojiAllMap,\n useReaction,\n resendMessage,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n } = props;\n const {\n ogMetaData,\n } = message;\n const {\n defaultImage,\n } = ogMetaData;\n const { stringSet } = useContext(LocalizationContext);\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const messageRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n\n const isMessageSent = getIsSentFromStatus(status);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n\n const showEmojiReactions = (useReaction && message.reactions && message.reactions.length > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n
\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n isMessageSent && (\n { copyToClipboard(message.message); closeDropdown(); }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n )\n }\n {\n isMessageSent && (\n {\n if (disabled) { return; }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n \n )\n }\n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n \n )}\n />\n {\n (isMessageSent && useReaction && (emojiAllMap.size > 0))\n && (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n )}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive) && (\n
\n \n
\n )\n }\n
\n
\n
\n \n
\n \n {\n defaultImage && (\n \n \n
\n )}\n />\n )\n }\n
\n \n {\n ogMetaData.title && (\n
\n \n
\n )\n }\n {\n ogMetaData.description && (\n
\n \n {ogMetaData.description}\n \n
\n )\n }\n {\n ogMetaData.url && (\n \n {ogMetaData.url}\n \n )\n }\n {\n showEmojiReactions\n && (\n event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"button\"\n tabIndex={0}\n >\n \n \n )\n }\n \n \n \n \n );\n}\n\nfunction IncomingOGMessage(props) {\n const {\n userId,\n message,\n openLink,\n chainTop,\n membersMap,\n chainBottom,\n useReaction,\n emojiAllMap,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n } = props;\n const {\n ogMetaData,\n } = message;\n const {\n defaultImage,\n } = ogMetaData;\n const { stringSet } = useContext(LocalizationContext);\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n\n const messageRef = useRef(null);\n const avatarRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n\n const showEmojiReactions = (useReaction && message.reactions && message.reactions.length > 0);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className={`${INCOMING_OG_MESSAGE}__avatar`}\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n alt=\"sender-profile-image\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n {\n !chainTop && (\n \n {getSenderName(message)}\n \n )\n }\n
\n \n
\n \n {\n defaultImage && (\n \n \n
\n )}\n />\n )\n }\n
\n \n {\n ogMetaData.title && (\n
\n\n \n
\n )\n }\n {\n ogMetaData.description && (\n
\n \n {ogMetaData.description}\n \n
\n )\n }\n {\n ogMetaData.url && (\n
\n \n {ogMetaData.url}\n \n
\n )\n }\n {\n showEmojiReactions\n && (\n event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"button\"\n tabIndex={0}\n >\n \n \n )\n }\n \n \n
\n {\n !chainBottom && !(mousehover || moreActive) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n
\n {\n showReactionAddButton\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(closeDropdown) => (\n \n )}\n />\n )\n }\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(closeDropdown) => (\n \n { copyToClipboard(message.message); closeDropdown(); }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n \n )}\n />\n
\n
\n \n \n );\n}\n\nexport default OGMessageSwitch;\n\nconst noop = () => { };\n\nOGMessageSwitch.propTypes = {\n isByMe: PropTypes.bool.isRequired,\n userId: PropTypes.string.isRequired,\n message: PropTypes.shape({\n message: PropTypes.string,\n sender: PropTypes.shape({}),\n ogMetaData: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.string,\n url: PropTypes.string,\n defaultImage: PropTypes.shape({\n url: PropTypes.string,\n alt: PropTypes.string,\n }),\n }),\n reactions: PropTypes.array,\n updatedAt: PropTypes.number,\n }).isRequired,\n useReaction: PropTypes.bool.isRequired,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n status: PropTypes.string,\n disabled: PropTypes.bool,\n showEdit: PropTypes.func,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n toggleReaction: PropTypes.func,\n membersMap: PropTypes.instanceOf(Map),\n emojiAllMap: PropTypes.instanceOf(Map),\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nOGMessageSwitch.defaultProps = {\n className: '',\n status: '',\n disabled: false,\n showEdit: noop,\n showRemove: noop,\n resendMessage: noop,\n toggleReaction: noop,\n membersMap: new Map(),\n emojiAllMap: new Map(),\n memoizedEmojiListItems: noop,\n chainTop: false,\n chainBottom: false,\n};\n\nOutgoingOGMessage.propTypes = {\n status: PropTypes.string,\n userId: PropTypes.string.isRequired,\n message: PropTypes.shape({\n message: PropTypes.string,\n ogMetaData: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.string,\n url: PropTypes.string,\n defaultImage: PropTypes.shape({\n url: PropTypes.string,\n alt: PropTypes.string,\n }),\n }),\n reactions: PropTypes.array,\n updatedAt: PropTypes.number,\n isResendable: PropTypes.func,\n errorCode: PropTypes.number,\n }).isRequired,\n disabled: PropTypes.bool.isRequired,\n openLink: PropTypes.func.isRequired,\n showEdit: PropTypes.func.isRequired,\n showRemove: PropTypes.func.isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n useReaction: PropTypes.bool.isRequired,\n resendMessage: PropTypes.func.isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingOGMessage.defaultProps = {\n status: '',\n};\n\nIncomingOGMessage.propTypes = {\n userId: PropTypes.string.isRequired,\n message: PropTypes.shape({\n message: PropTypes.string,\n sender: PropTypes.shape({}),\n ogMetaData: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.string,\n url: PropTypes.string,\n defaultImage: PropTypes.shape({\n url: PropTypes.string,\n alt: PropTypes.string,\n }),\n }),\n reactions: PropTypes.array,\n updatedAt: PropTypes.number,\n }).isRequired,\n openLink: PropTypes.func.isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n useReaction: PropTypes.bool.isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n","import React, { useState, useRef, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport format from 'date-fns/format';\n\nimport Message from '../../../ui/Message';\nimport AdminMessage from '../../../ui/AdminMessage';\nimport ThumbnailMessage from '../../../ui/ThumbnailMessage';\nimport FileMessage from '../../../ui/FileMessage';\nimport DateSeparator from '../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport MessageInput from '../../../ui/MessageInput';\nimport FileViewer from '../../../ui/FileViewer';\nimport RemoveMessageModal from './RemoveMessage';\nimport UnknownMessage from '../../../ui/UnknownMessage';\nimport OGMessage from '../../../ui/OGMessage';\n\nimport { MessageTypes, getMessageType } from '../types';\n\nexport default function MessageHoc({\n message,\n userId,\n disabled,\n editDisabled,\n hasSeperator,\n deleteMessage,\n updateMessage,\n status,\n resendMessage,\n useReaction,\n chainTop,\n chainBottom,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n renderCustomMessage,\n currentGroupChannel,\n}) {\n const { sender = {} } = message;\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const editMessageInputRef = useRef(null);\n\n const RenderedMessage = useMemo(() => {\n if (renderCustomMessage) {\n return renderCustomMessage(message, currentGroupChannel);\n }\n return null;\n }, [message, message.message, renderCustomMessage]);\n\n const isByMe = (userId === sender.userId)\n || (message.requestState === 'pending')\n || (message.requestState === 'failed');\n\n if (RenderedMessage) {\n return (\n
\n {/* date-seperator */}\n {\n hasSeperator && (\n \n \n \n )\n }\n \n
\n );\n }\n\n if (showEdit) {\n return (\n { setShowEdit(false); }}\n value={message.message}\n />\n );\n }\n\n return (\n
\n {/* date-seperator */}\n {\n hasSeperator && (\n \n \n \n )\n }\n {/* Message */}\n {\n {\n [MessageTypes.ADMIN]: ,\n [MessageTypes.FILE]: (\n \n ),\n [MessageTypes.OG]: (\n \n ),\n [MessageTypes.THUMBNAIL]: (\n \n ),\n [MessageTypes.USER]: (\n \n ),\n }[getMessageType(message)]\n }\n {/* Modal */}\n {\n showRemove && (\n setShowRemove(false)}\n onDeleteMessage={() => {\n deleteMessage(message);\n }}\n />\n )\n }\n {\n showFileViewer && (\n setShowFileViewer(false)}\n message={message}\n onDelete={() => {\n deleteMessage(message, () => {\n setShowFileViewer(false);\n });\n }}\n isByMe={isByMe}\n />\n )\n }\n {\n !((message.isFileMessage && message.isFileMessage()) || message.messageType === 'file')\n && !(message.isAdminMessage && message.isAdminMessage())\n && !(((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user'))\n && !(showFileViewer)\n && (\n \n )\n }\n
\n );\n}\n\nMessageHoc.propTypes = {\n userId: PropTypes.string,\n message: PropTypes.shape({\n isFileMessage: PropTypes.func,\n isAdminMessage: PropTypes.func,\n isUserMessage: PropTypes.func,\n isDateSeperator: PropTypes.func,\n // should be a number, but there's a bug in SDK shich returns string\n messageId: PropTypes.number,\n type: PropTypes.string,\n createdAt: PropTypes.number,\n message: PropTypes.string,\n requestState: PropTypes.string,\n messageType: PropTypes.string,\n sender: PropTypes.shape({ userId: PropTypes.string }),\n ogMetaData: PropTypes.shape({}),\n }),\n renderCustomMessage: PropTypes.func,\n currentGroupChannel: PropTypes.shape({}),\n hasSeperator: PropTypes.bool,\n disabled: PropTypes.bool,\n editDisabled: PropTypes.bool,\n deleteMessage: PropTypes.func.isRequired,\n updateMessage: PropTypes.func.isRequired,\n resendMessage: PropTypes.func.isRequired,\n status: PropTypes.string,\n useReaction: PropTypes.bool.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n};\n\nMessageHoc.defaultProps = {\n userId: '',\n editDisabled: false,\n renderCustomMessage: null,\n currentGroupChannel: {},\n message: {},\n hasSeperator: false,\n disabled: false,\n status: '',\n toggleReaction: () => { },\n memoizedEmojiListItems: () => '',\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport './conversation-scroll.scss';\nimport * as messageActionTypes from '../dux/actionTypes';\n\nimport MessageHOC from './MessageHOC';\nimport {\n getParsedStatus,\n compareMessagesForGrouping,\n} from '../utils';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../ui/PlaceHolder';\n\nexport default class ConversationScroll extends Component {\n onScroll = (e) => {\n const {\n scrollRef,\n hasMore,\n messagesDispatcher,\n onScroll,\n currentGroupChannel,\n } = this.props;\n\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n if (scrollTop === 0) {\n if (!hasMore) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll('.sendbird-msg--scroll-ref');\n const first = nodes && nodes[0];\n onScroll(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n try {\n first.scrollIntoView();\n } catch (error) {\n //\n }\n }\n });\n }\n\n setTimeout(() => {\n // mark as read if scroll is at end\n if (clientHeight + scrollTop === scrollHeight) {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n });\n currentGroupChannel.markAsRead();\n }\n }, 500);\n }\n\n render() {\n const {\n userId,\n disabled,\n scrollRef,\n readStatus,\n membersMap,\n initialized,\n allMessages,\n useReaction,\n emojiAllMap,\n editDisabled,\n deleteMessage,\n updateMessage,\n resendMessage,\n renderCustomMessage,\n renderChatItem,\n emojiContainer,\n toggleReaction,\n useMessageGrouping,\n currentGroupChannel,\n memoizedEmojiListItems,\n } = this.props;\n if (!initialized) {\n return (\n \n );\n }\n\n if (allMessages.length < 1) {\n return (\n \n );\n }\n\n return (\n
\n \n
\n {/*\n To do: Implement windowing\n Implement windowing if you are dealing with large number of messages/channels\n https://github.com/bvaughn/react-window -> recommendation\n We hesitate to bring one more dependency to our library,\n we are planning to implement it inside the library\n */}\n
\n {\n allMessages.map(\n (m, idx) => {\n const previousMessage = allMessages[idx - 1];\n const nextMessage = allMessages[idx + 1];\n const [chainTop, chainBottom] = useMessageGrouping\n ? compareMessagesForGrouping(previousMessage, m, nextMessage)\n : [false, false];\n const previousMessageCreatedAt = previousMessage && previousMessage.createdAt;\n const currentCreatedAt = m.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeperator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n if (renderChatItem) {\n return (\n \n {\n renderChatItem({\n message: m,\n channel: currentGroupChannel,\n onDeleteMessage: deleteMessage,\n onUpdateMessage: updateMessage,\n onResendMessage: resendMessage,\n emojiContainer,\n })\n }\n
\n );\n }\n\n return (\n \n );\n },\n )\n }\n
\n
\n \n );\n }\n}\n\nConversationScroll.propTypes = {\n // https://stackoverflow.com/a/52646941\n scrollRef: PropTypes.shape({\n current: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.shape({}),\n ]),\n }).isRequired,\n hasMore: PropTypes.bool,\n messagesDispatcher: PropTypes.func.isRequired,\n onScroll: PropTypes.func,\n initialized: PropTypes.bool,\n editDisabled: PropTypes.bool,\n disabled: PropTypes.bool,\n userId: PropTypes.string,\n allMessages: PropTypes.arrayOf(PropTypes.shape({\n createdAt: PropTypes.number,\n })).isRequired,\n deleteMessage: PropTypes.func.isRequired,\n resendMessage: PropTypes.func.isRequired,\n updateMessage: PropTypes.func.isRequired,\n readStatus: PropTypes.shape({}).isRequired,\n currentGroupChannel: PropTypes.shape({\n markAsRead: PropTypes.func,\n members: PropTypes.arrayOf(PropTypes.shape({})),\n }).isRequired,\n renderChatItem: PropTypes.element,\n renderCustomMessage: PropTypes.func,\n useReaction: PropTypes.bool,\n emojiContainer: PropTypes.shape({}),\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n useMessageGrouping: PropTypes.bool,\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n};\n\nConversationScroll.defaultProps = {\n hasMore: false,\n editDisabled: false,\n disabled: false,\n initialized: false,\n userId: '',\n renderCustomMessage: null,\n renderChatItem: null,\n onScroll: null,\n useReaction: true,\n emojiContainer: {},\n emojiAllMap: new Map(),\n membersMap: new Map(),\n useMessageGrouping: true,\n toggleReaction: () => { },\n memoizedEmojiListItems: () => '',\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './notification.scss';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\n\nexport default function Notification({\n count,\n time,\n onClick,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n const timeArray = time.split(' ');\n timeArray.splice(-2, 0, stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__ON);\n return (\n // eslint-disable-next-line\n
\n \n \n
\n );\n}\n\nNotification.propTypes = {\n count: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n time: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n};\n\nNotification.defaultProps = {\n count: 0,\n time: '',\n};\n","import React, { useContext } from 'react';\n\nimport './notification.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelTypography } from '../../../ui/Label';\n\nconst FrozenNotification = (): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n \n {stringSet.CHANNEL_FROZEN}\n \n
\n );\n}\n\nexport default FrozenNotification;\n","import React, { useEffect, useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { uuidv4 } from '../../../utils/uuid';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\n\nconst TypingIndicatorText = ({ members }) => {\n const { stringSet } = useContext(LocalizationContext);\n if (!members || members.length === 0) {\n return '';\n }\n\n if (members && members.length === 1) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__IS_TYPING}`;\n }\n\n if (members && members.length === 2) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__AND} ${members[1].nickname} ${stringSet.TYPING_INDICATOR__ARE_TYPING}`;\n }\n\n return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;\n};\n\nfunction TypingIndicator({ channelUrl, sb, logger }) {\n const [handlerId, setHandlerId] = useState(uuidv4());\n const [typingMembers, setTypingMembers] = useState([]);\n\n useEffect(() => {\n if (sb && sb.ChannelHandler) {\n sb.removeChannelHandler(handlerId);\n const newHandlerId = uuidv4();\n const handler = new sb.ChannelHandler();\n // there is a possible warning in here - setState called after unmount\n handler.onTypingStatusUpdated = (groupChannel) => {\n logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);\n const members = groupChannel.getTypingMembers();\n if (groupChannel.url === channelUrl) {\n setTypingMembers(members);\n }\n };\n sb.addChannelHandler(newHandlerId, handler);\n setHandlerId(newHandlerId);\n }\n\n return () => {\n setTypingMembers([]);\n if (sb && sb.removeChannelHandler) {\n sb.removeChannelHandler(handlerId);\n }\n };\n }, [channelUrl]);\n\n return (\n \n );\n}\n\nTypingIndicator.propTypes = {\n channelUrl: PropTypes.string.isRequired,\n sb: PropTypes.shape({\n ChannelHandler: PropTypes.func,\n removeChannelHandler: PropTypes.func,\n addChannelHandler: PropTypes.func,\n }).isRequired,\n logger: PropTypes.shape({\n info: PropTypes.func,\n }).isRequired,\n};\n\nexport default TypingIndicator;\n","// Logic required to handle message input rendering\n\nimport React, { useContext } from 'react';\nimport Sendbird from 'sendbird';\n\nimport { RenderMessageInputProps } from '../../../index';\nimport * as utils from '../utils.js';\n\nimport MessageInput from '../../../ui/MessageInput';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n channel: Sendbird.GroupChannel;\n user: Sendbird.User;\n isOnline: boolean;\n initialized: boolean;\n onSendMessage(): void;\n onFileUpload(): void;\n renderMessageInput(renderProps: RenderMessageInputProps): JSX.Element;\n}\n\nconst MessageInputWrapper = ({\n channel,\n user,\n onSendMessage,\n onFileUpload,\n renderMessageInput,\n isOnline,\n initialized,\n}: Props, ref: React.RefObject): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n const disabled = !initialized\n || utils.isDisabledBecauseFrozen(channel)\n || utils.isDisabledBecauseMuted(channel)\n || !isOnline;\n\n const isOperator = utils.isOperator(channel);\n const { isBroadcast } = channel;\n\n // custom message\n if (renderMessageInput) {\n return renderMessageInput({ channel, user, disabled });\n }\n\n // broadcast channel + not operator\n if (isBroadcast && !isOperator) {\n return null;\n }\n\n // other conditions\n return (\n {\n channel.startTyping();\n }}\n onSendMessage={onSendMessage}\n onFileUpload={onFileUpload}\n />\n );\n}\n\nexport default React.forwardRef(MessageInputWrapper);\n","import React, { useContext } from 'react';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, {\n LabelTypography,\n LabelColors,\n} from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\n\nimport './index.scss';\n\nfunction ConnectionStatus() {\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n \n \n \n );\n}\n\nexport default ConnectionStatus;\n","import formatDistanceToNowStrict from 'date-fns/formatDistanceToNowStrict';\nimport { LabelStringSet } from '../Label';\n\nexport const prettyDate = (date) => formatDistanceToNowStrict(date, { addSuffix: true });\n\nexport const getOthersLastSeenAt = (channel) => {\n if (!channel || !channel.getReadStatus || !channel.members || channel.members.length !== 2) {\n return '';\n }\n const lastSeenList = [...Object.values(channel.getReadStatus())];\n const lastSeenAt = lastSeenList.length > 0\n ? lastSeenList[0].last_seen_at\n : 0;\n if (lastSeenAt === 0) {\n return '';\n }\n return prettyDate(lastSeenAt);\n};\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel || (!channel.name && !channel.members)) {\n return stringSet.NO_TITLE;\n }\n if (channel.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n\n if (channel.members.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n\n return channel.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function AutoRefresh({\n repeatFunc,\n}) {\n const [label, setLabel] = useState(repeatFunc());\n\n useEffect(() => {\n const interval = setInterval(() => {\n if (label !== repeatFunc()) {\n setLabel(repeatFunc());\n }\n }, 10000);\n return () => {\n clearInterval(interval);\n };\n }, []);\n\n return (
{label}
);\n}\n\nAutoRefresh.propTypes = {\n repeatFunc: PropTypes.func.isRequired,\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport * as utils from './utils';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport AutoRefresh from '../AutoRefresh';\nimport ChannelAvatar from '../ChannelAvatar/index';\n\nexport default function ChatHeader(props) {\n const {\n currentGroupChannel,\n currentUser,\n title,\n subTitle,\n isActive,\n isMuted,\n onActionClick,\n theme,\n } = props;\n const { userId } = currentUser;\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n \n \n {title || utils.getChannelTitle(currentGroupChannel, userId, stringSet)}\n \n {\n (typeof isActive === 'string' && isActive === 'true') || (typeof isActive === 'boolean' && isActive)\n ?
\n : null\n }\n \n {\n subTitle\n || utils.getOthersLastSeenAt(currentGroupChannel)} />\n }\n \n
\n
\n {\n (typeof isMuted === 'string' && isMuted === 'true') || (typeof isMuted === 'boolean' && isMuted)\n ? \n : null\n }\n \n \n \n
\n
\n );\n}\n\nChatHeader.propTypes = {\n currentGroupChannel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n coverUrl: PropTypes.string,\n }),\n theme: PropTypes.string,\n currentUser: PropTypes.shape({\n userId: PropTypes.string,\n }),\n title: PropTypes.string,\n subTitle: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n ]),\n isActive: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n isMuted: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n onActionClick: PropTypes.func,\n};\n\nChatHeader.defaultProps = {\n currentGroupChannel: {},\n title: '',\n theme: 'light',\n subTitle: '',\n isActive: false,\n isMuted: false,\n currentUser: {},\n onActionClick: () => { },\n};\n","import React, {\n useEffect,\n useRef,\n useReducer,\n useMemo,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport * as utils from './utils';\n\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport * as messageActionTypes from './dux/actionTypes';\nimport messagesInitialState from './dux/initialState';\nimport messagesReducer from './dux/reducers';\n\nimport useHandleChannelEvents from './hooks/useHandleChannelEvents';\nimport useGetChannel from './hooks/useGetChannel';\nimport useInitialMessagesFetch from './hooks/useInitialMessagesFetch';\nimport useHandleReconnect from './hooks/useHandleReconnect';\nimport useScrollCallback from './hooks/useScrollCallback';\nimport useDeleteMessageCallback from './hooks/useDeleteMessageCallback';\nimport useUpdateMessageCallback from './hooks/useUpdateMessageCallback';\nimport useResendMessageCallback from './hooks/useResendMessageCallback';\nimport useSendMessageCallback from './hooks/useSendMessageCallback';\nimport useSendFileMessageCallback from './hooks/useSendFileMessageCallback';\nimport useSetReadStatus from './hooks/useSetReadStatus';\nimport useMemoizedEmojiListItems from './hooks/useMemoizedEmojiListItems';\nimport useToggleReactionCallback from './hooks/useToggleReactionCallback';\n\nimport ConversationScroll from './components/ConversationScroll';\nimport Notification from './components/Notification';\nimport FrozenNotification from './components/FrozenNotification';\nimport TypingIndicator from './components/TypingIndicator';\nimport MessageInputWrapper from './components/MessageInputWrapper';\nimport ConnectionStatus from '../../ui/ConnectionStatus';\nimport ChatHeader from '../../ui/ChatHeader';\nimport PlaceHolder, { PlaceHolderTypes } from '../../ui/PlaceHolder';\n\nconst noop = () => { };\n\nexport const ConversationPanel = (props) => {\n const {\n channelUrl,\n stores: { sdkStore, userStore },\n config: {\n userId,\n logger,\n pubSub,\n isOnline,\n theme,\n imageCompression,\n },\n dispatchers: {\n reconnect,\n },\n queries = {},\n useReaction,\n renderChatItem,\n renderChatHeader,\n renderCustomMessage,\n renderUserProfile,\n disableUserProfile,\n renderMessageInput,\n useMessageGrouping,\n onChatHeaderActionClick,\n onBeforeSendUserMessage,\n onBeforeSendFileMessage,\n onBeforeUpdateUserMessage,\n } = props;\n const { sdk } = sdkStore;\n const { config } = props;\n const sdkError = sdkStore.error;\n const sdkInit = sdkStore.initialized;\n const { user } = userStore;\n\n if (queries.messageListQuery) {\n // eslint-disable-next-line no-console\n console.warn('messageListQuery will be deprecared in v1.3.0, please use messageListParams instead');\n }\n\n const userFilledMessageListQuery = queries.messageListParams || queries.messageListQuery;\n\n const [messagesStore, messagesDispatcher] = useReducer(messagesReducer, messagesInitialState);\n const scrollRef = useRef(null);\n\n const {\n allMessages,\n loading,\n hasMore,\n initialized,\n unreadCount,\n unreadSince,\n isInvalid,\n currentGroupChannel = {},\n lastMessageTimeStamp,\n emojiContainer,\n readStatus,\n } = messagesStore;\n const { isFrozen, isBroadcast, isSuper } = currentGroupChannel;\n const { appInfo = {} } = sdk;\n const usingReaction = (\n appInfo.isUsingReaction && !isBroadcast && !isSuper && useReaction\n );\n\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n\n const emojiAllMap = useMemo(() => (\n usingReaction\n ? utils.getAllEmojisMapFromEmojiContainer(emojiContainer)\n : new Map()\n ), [emojiContainer]);\n\n const emojiAllList = useMemo(() => (\n usingReaction\n ? utils.getAllEmojisFromEmojiContainer(emojiContainer)\n : []\n ), [emojiContainer]);\n\n const nicknamesMap = useMemo(() => (\n usingReaction\n ? utils.getNicknamesMapFromMembers(currentGroupChannel.members)\n : new Map()\n ), [currentGroupChannel.members]);\n\n const onScrollCallback = useScrollCallback({\n currentGroupChannel, lastMessageTimeStamp, userFilledMessageListQuery,\n }, {\n hasMore,\n logger,\n messagesDispatcher,\n sdk,\n });\n\n const toggleReaction = useToggleReactionCallback({ currentGroupChannel }, { logger });\n\n const memoizedEmojiListItems = useMemoizedEmojiListItems({\n emojiContainer, toggleReaction,\n }, {\n useReaction: usingReaction,\n logger,\n userId,\n emojiAllList,\n });\n\n // to create message-datasource\n useGetChannel(\n { channelUrl, sdkInit },\n { messagesDispatcher, sdk, logger },\n );\n\n // Hook to handle ChannelEvents and send values to useReducer using messagesDispatcher\n useHandleChannelEvents(\n { currentGroupChannel, sdkInit },\n {\n messagesDispatcher,\n sdk,\n logger,\n scrollRef,\n },\n );\n\n useInitialMessagesFetch({ currentGroupChannel, userFilledMessageListQuery }, {\n sdk,\n logger,\n messagesDispatcher,\n });\n\n // handles API calls from withSendbird\n useEffect(() => {\n const subScriber = utils.pubSubHandler(channelUrl, pubSub, messagesDispatcher);\n return () => {\n utils.pubSubHandleRemover(subScriber);\n };\n }, [channelUrl, sdkInit]);\n\n // to create initial read status\n useSetReadStatus(\n { allMessages, currentGroupChannel },\n { messagesDispatcher, sdk, logger },\n );\n\n // handling connection breaks\n useHandleReconnect({ isOnline }, {\n logger,\n sdk,\n currentGroupChannel,\n messagesDispatcher,\n userFilledMessageListQuery,\n });\n\n const deleteMessage = useDeleteMessageCallback({ currentGroupChannel, messagesDispatcher },\n { logger });\n const updateMessage = useUpdateMessageCallback(\n { currentGroupChannel, messagesDispatcher, onBeforeUpdateUserMessage },\n { logger, sdk, pubSub },\n );\n const resendMessage = useResendMessageCallback(\n { currentGroupChannel, messagesDispatcher },\n { logger },\n );\n const [messageInputRef, onSendMessage] = useSendMessageCallback(\n { currentGroupChannel, onBeforeSendUserMessage },\n {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n },\n );\n const [onSendFileMessage] = useSendFileMessageCallback(\n { currentGroupChannel, onBeforeSendFileMessage, imageCompression },\n {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n },\n );\n\n if (sdkError) {\n return (\n
\n {\n logger.info('Channel: reconnecting');\n reconnect();\n }}\n />\n
\n );\n }\n if (!channelUrl) {\n return (
);\n }\n if (loading) {\n return (
);\n }\n if (isInvalid) {\n return (
);\n }\n return (\n \n {\n renderChatHeader\n ? renderChatHeader({ channel: currentGroupChannel, user })\n : (\n \n )\n }\n {\n isFrozen && (\n \n )\n }\n {\n unreadCount > 0 && (\n {\n utils.scrollIntoLast();\n // there is no scroll\n if (scrollRef.current.scrollTop === 0) {\n currentGroupChannel.markAsRead();\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n });\n }\n }}\n time={unreadSince}\n />\n )\n }\n \n
\n \n
\n \n
\n {\n !isOnline && (\n \n )\n }\n
\n \n );\n};\n\nConversationPanel.propTypes = {\n channelUrl: PropTypes.string,\n stores: PropTypes.shape({\n sdkStore: PropTypes.shape({\n initialized: PropTypes.bool,\n sdk: PropTypes.shape({\n getErrorFirstCallback: PropTypes.func,\n removeChannelHandler: PropTypes.func,\n GroupChannel: PropTypes.any,\n ChannelHandler: PropTypes.any,\n addChannelHandler: PropTypes.func,\n UserMessageParams: PropTypes.any,\n FileMessageParams: PropTypes.any,\n getAllEmoji: PropTypes.func,\n appInfo: PropTypes.shape({}),\n }),\n error: PropTypes.bool,\n }),\n userStore: PropTypes.shape({\n user: PropTypes.shape({}),\n }),\n }).isRequired,\n dispatchers: PropTypes.shape({\n reconnect: PropTypes.func,\n }).isRequired,\n config: PropTypes.shape({\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n userId: PropTypes.string.isRequired,\n isOnline: PropTypes.bool.isRequired,\n theme: PropTypes.string,\n logger: PropTypes.shape({\n info: PropTypes.func,\n error: PropTypes.func,\n warning: PropTypes.func,\n }),\n pubSub: PropTypes.shape({\n subscribe: PropTypes.func,\n publish: PropTypes.func,\n }),\n imageCompression: PropTypes.shape({\n compressionRate: PropTypes.number,\n resizingWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n resizingHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n }).isRequired,\n queries: PropTypes.shape({\n messageListParams: PropTypes.shape({\n includeMetaArray: PropTypes.bool,\n includeParentMessageText: PropTypes.bool,\n includeReaction: PropTypes.bool,\n includeReplies: PropTypes.bool,\n includeThreadInfo: PropTypes.bool,\n limit: PropTypes.number,\n reverse: PropTypes.bool,\n senderUserIdsFilter: PropTypes.arrayOf(PropTypes.string),\n }),\n // deprecate in v1.3\n messageListQuery: PropTypes.shape({\n includeMetaArray: PropTypes.bool,\n includeParentMessageText: PropTypes.bool,\n includeReaction: PropTypes.bool,\n includeReplies: PropTypes.bool,\n includeThreadInfo: PropTypes.bool,\n limit: PropTypes.number,\n reverse: PropTypes.bool,\n senderUserIdsFilter: PropTypes.arrayOf(PropTypes.string),\n }),\n }),\n onBeforeSendUserMessage: PropTypes.func, // onBeforeSendUserMessage(text)\n onBeforeSendFileMessage: PropTypes.func, // onBeforeSendFileMessage(File)\n onBeforeUpdateUserMessage: PropTypes.func,\n renderChatItem: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n renderCustomMessage: PropTypes.func,\n renderMessageInput: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n renderChatHeader: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n onChatHeaderActionClick: PropTypes.func,\n useReaction: PropTypes.bool,\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n useMessageGrouping: PropTypes.bool,\n};\n\nConversationPanel.defaultProps = {\n channelUrl: null,\n queries: {},\n onBeforeSendUserMessage: null,\n onBeforeSendFileMessage: null,\n onBeforeUpdateUserMessage: null,\n renderChatItem: null,\n renderCustomMessage: null,\n renderMessageInput: null,\n renderChatHeader: null,\n useReaction: true,\n disableUserProfile: false,\n renderUserProfile: null,\n useMessageGrouping: true,\n onChatHeaderActionClick: noop,\n};\n\nexport const {\n getEmojiCategoriesFromEmojiContainer,\n getAllEmojisFromEmojiContainer,\n getEmojisFromEmojiContainer,\n} = utils;\n\nexport default withSendbirdContext(ConversationPanel);\n"],"names":["RESET_MESSAGES","RESET_STATE","CLEAR_SENT_MESSAGES","GET_PREV_MESSAGES_START","GET_PREV_MESSAGES_SUCESS","SEND_MESSAGEGE_START","SEND_MESSAGEGE_SUCESS","SEND_MESSAGEGE_FAILURE","RESEND_MESSAGEGE_START","ON_MESSAGE_RECEIVED","ON_MESSAGE_UPDATED","ON_MESSAGE_DELETED","ON_MESSAGE_DELETED_BY_REQ_ID","SET_CURRENT_CHANNEL","SET_CHANNEL_INVALID","MARK_AS_READ","ON_REACTION_UPDATED","SET_EMOJI_CONTAINER","SET_READ_STATUS","MessageTypes","ADMIN","USER","FILE","THUMBNAIL","OG","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","getMessageType","message","isUserMessage","messageType","ogMetaData","isAdminMessage","isFileMessage","isImage","type","isVideo","UNDEFINED","scrollIntoLast","intialTry","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollTop","scrollHeight","error","setTimeout","pubSubHandleRemover","subscriber","forEach","s","remove","pubSubHandler","channelUrl","pubSub","dispatcher","Map","subscribe","set","topics","msg","channel","url","channelActions","payload","fromSelector","messageId","getParsedStatus","currentGroupChannel","requestState","MessageStatusType","SENT","unreadCount","getReadReceipt","READ","isDelivered","getDeliveryReceipt","DELIVERED","isOperator","groupChannel","myRole","isDisabledBecauseFrozen","isFrozen","isDisabledBecauseMuted","myMutedState","getEmojiCategoriesFromEmojiContainer","emojiContainer","emojiCategories","getAllEmojisFromEmojiContainer","allEmojis","categoryIndex","length","emojis","emojiIndex","push","getEmojisFromEmojiContainer","emojiCategoryId","filter","emojiCategory","id","getAllEmojisMapFromEmojiContainer","allEmojisMap","key","getNicknamesMapFromMembers","members","nicknamesMap","memberIndex","userId","nickname","getMessageCreatedAt","format","createdAt","isSameGroup","comparingMessage","sender","sendingStatus","compareMessagesForGrouping","prevMessage","currMessage","nextMessage","passUnsuccessfullMessages","allMessages","newMessage","lastIndexOfSucceededMessage","map","lastIndexOf","messages","splice","pxToNumber","px","parsed","Number","parseFloat","isNaN","initialized","loading","hasMore","lastMessageTimeStamp","readStatus","unreadSince","isInvalid","reducer","state","action","actionTypes","initialState","m","receivedMessages","stateChannel","stateChannelUrl","actionChannelUrl","filteredAllMessages","find","compareIds","newMessages","reqId","sort","a","b","failed","scrollToEnd","currentGroupChannelUrl","indexOf","Date","applyReactionEvent","useHandleChannelEvents","sdkInit","messagesDispatcher","sdk","logger","scrollRef","useEffect","messageReceiverId","uuidv4","ChannelHandler","info","onMessageReceived","current","offsetHeight","messageActions","markAsRead","warning","onMessageUpdated","onMessageDeleted","_","onReactionUpdated","reactionEvent","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onUserMuted","onUserUnmuted","onUserBanned","onOperatorUpdated","addChannelHandler","removeChannelHandler","useSetChannel","GroupChannel","getChannel","then","messageActionTypes","catch","e","getAllEmoji","emojiContainer_","err","useInitialMessagesFetch","userFilledMessageListQuery","MessageListParams","getMessagesByMessageId","messageListParams","prevResultSize","isInclusive","includeReplies","includeReaction","Object","keys","getMessagesByTimestamp","getTime","finally","utils","useHandleReconnect","isOnline","wasOffline","appInfo","useReaction","isUsingReaction","lastMessageTime","useScrollCallback","useCallback","cb","hasMoreMessages","lastMessageTs","useDeleteMessageCallback","deleteMessage","useUpdateMessageCallback","onBeforeUpdateUserMessage","text","createParamsDefault","txt","params","UserMessageParams","createCustomPrams","updateUserMessage","r","swapParams","getErrorFirstCallback","publish","useResendMessageCallback","failedMessage","file","isResendable","resendUserMessage","resendFileMessage","console","useSendMessageCallback","onBeforeSendUserMessage","messageInputRef","useRef","sendMessage","value","trim","pendingMsg","sendUserMessage","res","useSendFileMessageCallback","onBeforeSendFileMessage","imageCompression","compressionRate","resizingWidth","resizingHeight","createCustomParams","compressibleFileType","compressibleRatio","compressibleDiamensions","canCompressImage","file_","FileMessageParams","image","createElement","src","URL","createObjectURL","onload","revokeObjectURL","canvas","imageWdith","naturalWidth","width","imageHeight","naturalHeight","height","targetWidth","targetHeight","context","getContext","drawImage","toBlob","newImageBlob","compressedFile","File","name","pendingMessage","sendFileMessage","response","localUrl","useSetReadStatus","setReadStatus","allReadStatus","reduce","accumulator","handler","handleMessageStatus","c","onDeliveryReceiptUpdated","onReadReceiptUpdated","handlerId","ReactionButton","React","forwardRef","props","ref","children","onClick","selected","className","injectingClassName","Array","isArray","join","slice","propTypes","PropTypes","element","isRequired","func","bool","oneOfType","number","string","arrayOf","defaultProps","useMemoizedEmojiListItems","toggleReaction","emojiAllList","useMemo","parentRef","parentContainRef","closeDropdown","spaceFromTrigger","emoji","reactedReaction","reactions","reaction","isReacted","userIds","IconTypes","EMOJI_FAILED","useToggleReactionCallback","deleteReaction","addReaction","MessageStatus","status","label","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_2","icon","SPINNER","IconColors","ERROR","objectOf","array","object","ReactionBadge","count","isAdd","unshift","ONBACKGROUND_1","CLASS_NAME","Tooltip","SPACE_FROM_TRIGGER","TooltipWrapper","hoverTooltip","useState","showHoverTooltip","setShowHoverTooltip","childrenRef","bottom","left","offsetWidth","EmojiReactions","emojiAllMap","membersMap","memoizedEmojiListItems","MemoizedEmojiListItems","imageWidth","emojiReactionAddRef","messageReactions","useContext","LocalizationContext","stringSet","emojiUrl","get","reactedUserCount","reactedByMe","nicknames","currentUserId","TOOLTIP__UNKOWN_USER","stringSetForMe","TOOLTIP__AND_YOU","TOOLTIP__YOU","size","toggleDropdown","ON_BACKGROUND_3","EMOJI_REACTIONS_ADD","y","shape","instanceOf","WORD_TYPOGRAPHY","BODY_1","EDITED_COLOR","useMemoizedMessageText","updatedAt","splitMessage","split","matchedMessage","word","MESSAGE_EDITED","MOUSE_ENTER","MOUSE_LEAVE","useMouseHover","setHover","handleMouseOver","handleMouseOut","addEventListener","removeEventListener","noop","GROUPING_PADDING","NORMAL_PADDING","Message","isByMe","resendMessage","disabled","showEdit","showRemove","chainTop","chainBottom","memoizedMessageText","OutgoingUserMessage","MemoizedMessageText","messageRef","parentRefReactions","parentRefMenus","isMessageSent","getIsSentFromStatus","mousehover","setMousehover","moreActive","setMoreActive","menuDisplaying","setMenuDisplaying","handleMoreIconClick","handleMoreIconBlur","paddingTop","paddingBottom","MORE","CONTENT_INVERSE","close","copyToClipboard","IncomingUserMessage","avatarRef","UserProfileContext","disableUserProfile","renderUserProfile","showReactionAddButton","showEmojiReactions","getSenderProfileUrl","user","CAPTION_2","getSenderName","top","AdminMessage","OUTGOING_THUMBNAIL_MESSAGE","INCOMING_THUMBNAIL_MESSAGE","ThumbnailMessage","OutgoingThumbnailMessage","thumbnails","thumbnailUrl","menuRef","reactionAddRef","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","PLAY","unSupported","UNKNOWN__UNKNOWN_MESSAGE_TYPE","IncomingThumbnailMessage","MAX_TRUNCATE_LENGTH","GROUPAING_PADDING","checkFileType","fileUrl","result","imageFile","audioFile","test","FILE_DOCUMENT","FILE_AUDIO","OutgoingFileMessage","openFileUrl","window","open","reactionAddButtonRef","truncate","IncomingFileMessage","MessageSwitch","RemoveMessage","onCloseModal","onDeleteMessage","MODAL__DELETE_MESSAGE__TITLE","UnknownMessage","OutgoingUnknownMessage","UNKNOWN__CANNOT_READ_MESSAGE","IncomingUnknownMessage","profileUrl","NO_NAME","URL_REG","OG_MESSAGE","OUTGOING_OG_MESSAGE","INCOMING_OG_MESSAGE","createUrlTester","regexp","clipboardData","setData","queryCommandSupported","textarea","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","friendName","checkOGIsEnalbed","WORD_COLOR","isUrl","NORAML_PADDING","OGMessageSwitch","openLink","OutgoingOGMessage","defaultImage","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","alt","NO_THUMBNAIL","title","SUBTITLE_2","description","BODY_2","event","stopPropagation","IncomingOGMessage","errorCode","MessageHoc","editDisabled","hasSeperator","updateMessage","renderCustomMessage","setShowEdit","setShowRemove","showFileViewer","setShowFileViewer","editMessageInputRef","RenderedMessage","FileMessage","OGMessage","RemoveMessageModal","isDateSeperator","ConversationScroll","onScroll","target","clientHeight","nodes","querySelectorAll","first","scrollIntoView","renderChatItem","useMessageGrouping","PlaceHolderTypes","WRONG","NO_MESSAGES","idx","previousMessage","previousMessageCreatedAt","currentCreatedAt","isSameDay","onUpdateMessage","onResendMessage","MessageHOC","Component","Notification","time","timeArray","CHANNEL__MESSAGE_LIST__NOTIFICATION__ON","ONCONTENT_1","CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE","SHEVRON_DOWN","CONTENT","FrozenNotification","CHANNEL_FROZEN","TypingIndicatorText","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","TypingIndicator","sb","setHandlerId","typingMembers","setTypingMembers","newHandlerId","onTypingStatusUpdated","getTypingMembers","MessageInputWrapper","_a","onSendMessage","onFileUpload","renderMessageInput","isBroadcast","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__DISABLED","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__MUTED","startTyping","ConnectionStatus","TRYING_TO_CONNECT","DISCONNECTED","prettyDate","date","formatDistanceToNowStrict","addSuffix","getOthersLastSeenAt","getReadStatus","lastSeenList","values","lastSeenAt","last_seen_at","getChannelTitle","LabelStringSet","NO_TITLE","NO_MEMBERS","AutoRefresh","repeatFunc","setLabel","interval","setInterval","clearInterval","ChatHeader","currentUser","subTitle","isActive","isMuted","onActionClick","theme","H_2","MUTE","INFO","PRIMARY","coverUrl","ConversationPanel","stores","sdkStore","userStore","config","reconnect","dispatchers","queries","renderChatHeader","onChatHeaderActionClick","sdkError","messageListQuery","warn","useReducer","messagesReducer","messagesInitialState","messagesStore","isSuper","usingReaction","userDefinedDisableUserProfile","userDefinedRenderProfile","onScrollCallback","useGetChannel","subScriber","onSendFileMessage","NO_CHANNELS","LOADING","any","includeMetaArray","includeParentMessageText","includeThreadInfo","limit","reverse","senderUserIdsFilter","withSendbirdContext"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Channel.js","sources":["../src/smart-components/Conversation/dux/actionTypes.js","../src/smart-components/Conversation/types.js","../src/smart-components/Conversation/utils.js","../src/smart-components/Conversation/dux/initialState.js","../src/smart-components/Conversation/dux/reducers.js","../src/smart-components/Conversation/hooks/useHandleChannelEvents.js","../src/smart-components/Conversation/hooks/useGetChannel.js","../src/smart-components/Conversation/hooks/useInitialMessagesFetch.js","../src/smart-components/Conversation/hooks/useHandleReconnect.js","../src/smart-components/Conversation/hooks/useScrollCallback.js","../src/smart-components/Conversation/hooks/useScrollDownCallback.js","../src/smart-components/Conversation/hooks/useDeleteMessageCallback.js","../src/smart-components/Conversation/hooks/useUpdateMessageCallback.js","../src/smart-components/Conversation/hooks/useResendMessageCallback.js","../src/smart-components/Conversation/hooks/useSendMessageCallback.js","../src/smart-components/Conversation/hooks/useSendFileMessageCallback.js","../src/smart-components/Conversation/hooks/useSetReadStatus.js","../src/ui/ReactionButton/index.jsx","../src/smart-components/Conversation/hooks/useMemoizedEmojiListItems.jsx","../src/smart-components/Conversation/hooks/useToggleReactionCallback.js","../src/ui/MessageStatus/index.jsx","../src/ui/ReactionBadge/index.jsx","../src/ui/Tooltip/index.jsx","../src/ui/TooltipWrapper/index.jsx","../src/ui/EmojiReactions/index.jsx","../src/ui/Message/memoizedMessageText.jsx","../src/hooks/onMouseHover.jsx","../src/ui/Message/index.jsx","../src/ui/AdminMessage/index.jsx","../src/ui/ThumbnailMessage/util.js","../src/ui/ThumbnailMessage/index.jsx","../src/ui/FileMessage/index.jsx","../src/smart-components/Conversation/components/RemoveMessage.jsx","../src/ui/UnknownMessage/utils.js","../src/ui/UnknownMessage/index.jsx","../src/ui/OGMessage/const.js","../src/ui/OGMessage/utils.js","../src/ui/OGMessage/memoizedMessageText.jsx","../src/ui/OGMessage/index.jsx","../src/smart-components/Conversation/components/MessageHOC.jsx","../src/smart-components/Conversation/components/ConversationScroll.jsx","../src/smart-components/Conversation/components/Notification.jsx","../src/smart-components/Conversation/components/FrozenNotification.tsx","../src/smart-components/Conversation/components/TypingIndicator.jsx","../src/smart-components/Conversation/components/MessageInputWrapper.tsx","../src/ui/ConnectionStatus/index.jsx","../src/ui/ChatHeader/utils.js","../src/ui/AutoRefresh/index.jsx","../src/ui/ChatHeader/index.jsx","../src/smart-components/Conversation/index.jsx"],"sourcesContent":["export const RESET_MESSAGES = 'RESET_MESSAGES';\nexport const RESET_STATE = 'RESET_STATE';\nexport const CLEAR_SENT_MESSAGES = 'CLEAR_SENT_MESSAGES';\nexport const GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START';\nexport const GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS';\nexport const GET_PREV_MESSAGES_FAILURE = 'GET_PREV_MESSAGES_FAILURE';\nexport const GET_NEXT_MESSAGES_SUCESS = 'GET_NEXT_MESSAGES_SUCESS';\nexport const GET_NEXT_MESSAGES_FAILURE = 'GET_NEXT_MESSAGES_FAILURE';\n\nexport const SEND_MESSAGEGE_START = 'SEND_MESSAGEGE_START';\nexport const SEND_MESSAGEGE_SUCESS = 'SEND_MESSAGEGE_SUCESS';\nexport const SEND_MESSAGEGE_FAILURE = 'SEND_MESSAGEGE_FAILURE';\n\nexport const RESEND_MESSAGEGE_START = 'RESEND_MESSAGEGE_START';\n\nexport const ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';\nexport const UPDATE_UNREAD_COUNT = 'UPDATE_UNREAD_COUNT';\nexport const ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';\nexport const ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';\nexport const ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';\nexport const MARK_AS_READ = 'MARK_AS_READ';\n\nexport const ON_REACTION_UPDATED = 'ON_REACTION_UPDATED';\nexport const SET_EMOJI_CONTAINER = 'SET_EMOJI_CONTAINER';\nexport const SET_READ_STATUS = 'SET_READ_STATUS';\n","import { isImage, isVideo } from '../../ui/FileViewer/types';\n\nexport const MessageTypes = {\n ADMIN: 'ADMIN',\n USER: 'USER',\n FILE: 'FILE',\n THUMBNAIL: 'THUMBNAIL',\n OG: 'OG',\n};\n\nexport const SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport const getMessageType = (message) => {\n if ((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user') {\n return (message.ogMetaData)\n ? MessageTypes.OG\n : MessageTypes.USER;\n }\n if (message.isAdminMessage && message.isAdminMessage()) {\n return MessageTypes.ADMIN;\n }\n if ((message.isFileMessage && message.isFileMessage()) || message.messageType === 'file') {\n return (isImage(message.type) || isVideo(message.type))\n ? MessageTypes.THUMBNAIL\n : MessageTypes.FILE;\n }\n return '';\n};\n\nexport default {\n MessageTypes,\n SendingMessageStatus,\n getMessageType,\n};\n","import format from 'date-fns/format';\nimport MessageStatusType from '../../ui/MessageStatus/type';\nimport * as channelActions from './dux/actionTypes';\nimport * as topics from '../../lib/pubSub/topics';\n\nimport { SendingMessageStatus } from './types';\n\nconst UNDEFINED = 'undefined';\nconst { SUCCEEDED, FAILED, PENDING } = SendingMessageStatus;\n\nexport const scrollIntoLast = (intialTry = 0) => {\n const MAX_TRIES = 10;\n const currentTry = intialTry;\n if (currentTry > MAX_TRIES) {\n return;\n }\n try {\n const scrollDOM = document.querySelector('.sendbird-conversation__scroll-container');\n // eslint-disable-next-line no-multi-assign\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1);\n }, 500 * currentTry);\n }\n};\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (channelUrl, pubSub, dispatcher) => {\n const subscriber = new Map();\n if (!pubSub || !pubSub.subscribe) return subscriber;\n subscriber.set(topics.SEND_USER_MESSAGE, pubSub.subscribe(topics.SEND_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel, message } = msg;\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.SEND_MESSAGEGE_START,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_FILE_MESSAGE, pubSub.subscribe(topics.SEND_FILE_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message, fromSelector } = msg;\n if (fromSelector && channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n }\n }));\n subscriber.set(topics.DELETE_MESSAGE, pubSub.subscribe(topics.DELETE_MESSAGE, (msg) => {\n const { channel, messageId } = msg;\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n }\n }));\n\n return subscriber;\n};\n\nexport const getParsedStatus = (message, currentGroupChannel) => {\n if (message.requestState === FAILED) {\n return MessageStatusType.FAILED;\n }\n\n if (message.requestState === PENDING) {\n return MessageStatusType.PENDING;\n }\n\n if (message.requestState === SUCCEEDED) {\n if (!currentGroupChannel) {\n return MessageStatusType.SENT;\n }\n\n const unreadCount = currentGroupChannel.getReadReceipt(message);\n if (unreadCount === 0) {\n return MessageStatusType.READ;\n }\n\n const isDelivered = currentGroupChannel.getDeliveryReceipt(message) === 0;\n if (isDelivered) {\n return MessageStatusType.DELIVERED;\n }\n\n return MessageStatusType.SENT;\n }\n\n return null;\n};\n\nexport const isOperator = (groupChannel = {}) => {\n const { myRole } = groupChannel;\n return myRole === 'operator';\n};\n\nexport const isDisabledBecauseFrozen = (groupChannel = {}) => {\n const { isFrozen } = groupChannel;\n return isFrozen && !isOperator(groupChannel);\n};\n\nexport const isDisabledBecauseMuted = (groupChannel = {}) => {\n const { myMutedState } = groupChannel;\n return myMutedState === 'muted';\n};\n\nexport const getEmojiCategoriesFromEmojiContainer = (emojiContainer = {}) => (\n emojiContainer.emojiCategories ? emojiContainer.emojiCategories : []\n);\n\nexport const getAllEmojisFromEmojiContainer = (emojiContainer = {}) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojis = [];\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n allEmojis.push(emojis[emojiIndex]);\n }\n }\n return allEmojis;\n};\n\nexport const getEmojisFromEmojiContainer = (emojiContainer = {}, emojiCategoryId = '') => (\n emojiContainer.emojiCategories\n ? emojiContainer.emojiCategories\n .filter((emojiCategory) => emojiCategory.id === emojiCategoryId)[0].emojis\n : []\n);\n\nexport const getAllEmojisMapFromEmojiContainer = (emojiContainer = {}) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojisMap = new Map();\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n const { key, url } = emojis[emojiIndex];\n allEmojisMap.set(key, url);\n }\n }\n return allEmojisMap;\n};\n\nexport const getNicknamesMapFromMembers = (members = []) => {\n const nicknamesMap = new Map();\n for (let memberIndex = 0; memberIndex < members.length; memberIndex += 1) {\n const { userId, nickname } = members[memberIndex];\n nicknamesMap.set(userId, nickname);\n }\n return nicknamesMap;\n};\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const isSameGroup = (message, comparingMessage) => {\n if (\n !message\n || !comparingMessage\n || !message.sender\n || !comparingMessage.sender\n || !message.createdAt\n || !comparingMessage.createdAt\n || !message.sender.userId\n || !comparingMessage.sender.userId\n ) {\n return false;\n }\n return (\n message.sendingStatus === comparingMessage.sendingStatus\n && message.sender.userId === comparingMessage.sender.userId\n && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)\n );\n};\n\nexport const compareMessagesForGrouping = (\n prevMessage,\n currMessage,\n nextMessage,\n) => (\n [\n isSameGroup(prevMessage, currMessage),\n isSameGroup(currMessage, nextMessage),\n ]\n);\n\nexport const hasOwnProperty = (property) => (payload) => {\n // eslint-disable-next-line no-prototype-builtins\n if (payload && payload.hasOwnProperty && payload.hasOwnProperty(property)) {\n return true;\n }\n return false;\n};\n\nexport const passUnsuccessfullMessages = (allMessages, newMessage) => {\n const { sendingStatus = UNDEFINED } = newMessage;\n if (sendingStatus === SUCCEEDED || sendingStatus === PENDING) {\n const lastIndexOfSucceededMessage = allMessages\n .map((message) => (\n message.sendingStatus\n || ((message.isAdminMessage && message.isAdminMessage()) ? SUCCEEDED : UNDEFINED)\n ))\n .lastIndexOf(SUCCEEDED);\n if (lastIndexOfSucceededMessage + 1 < allMessages.length) {\n const messages = [...allMessages];\n messages.splice(lastIndexOfSucceededMessage + 1, 0, newMessage);\n return messages;\n }\n }\n return [\n ...allMessages,\n newMessage,\n ];\n};\n\nexport const pxToNumber = (px) => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n\nexport default getParsedStatus;\n","export default {\n initialized: false,\n loading: false,\n allMessages: [],\n currentGroupChannel: { members: [] },\n // for scrollup\n hasMore: false,\n lastMessageTimeStamp: 0,\n // for scroll down\n hasMoreToBottom: false,\n latestFetchedMessageTimeStamp: 0,\n emojiContainer: {},\n readStatus: {},\n unreadCount: 0,\n unreadSince: null,\n isInvalid: false,\n};\n","import format from 'date-fns/format';\n\nimport * as actionTypes from './actionTypes';\nimport initialState from './initialState';\n\nimport compareIds from '../../../utils/compareIds';\nimport { passUnsuccessfullMessages, hasOwnProperty } from '../utils';\nimport { SendingMessageStatus } from '../types';\n\nconst {\n SUCCEEDED,\n FAILED,\n PENDING,\n} = SendingMessageStatus;\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actionTypes.RESET_STATE:\n return initialState;\n case actionTypes.RESET_MESSAGES:\n return {\n ...state,\n // when user switches channel, if the previous channel `hasMore`\n // the onScroll gets called twice, setting hasMore false prevents this\n hasMore: false,\n allMessages: [],\n };\n case actionTypes.GET_PREV_MESSAGES_START:\n return {\n ...state,\n loading: true,\n };\n case actionTypes.CLEAR_SENT_MESSAGES:\n return {\n ...state,\n allMessages: [\n ...state.allMessages.filter((m) => (\n m.sendingStatus !== SUCCEEDED\n )),\n ],\n };\n case actionTypes.GET_PREV_MESSAGES_SUCESS: {\n const receivedMessages = action.payload.messages || [];\n const { currentGroupChannel = {} } = action.payload;\n\n const stateChannel = state.currentGroupChannel || {};\n const stateChannelUrl = stateChannel.url;\n const actionChannelUrl = currentGroupChannel.url;\n if (actionChannelUrl !== stateChannelUrl) {\n return state;\n }\n\n // remove duplicate messages\n const filteredAllMessages = state.allMessages.filter((msg) => (\n !(receivedMessages.find(({ messageId }) => compareIds(messageId, msg.messageId)))\n ));\n\n const hasHasMoreToBottom = hasOwnProperty('hasMoreToBottom')(action.payload);\n const hasLatestFetchedMessageTimeStamp = hasOwnProperty('latestFetchedMessageTimeStamp')(action.payload);\n return {\n ...state,\n loading: false,\n initialized: true,\n hasMore: action.payload.hasMore,\n lastMessageTimeStamp: action.payload.lastMessageTimeStamp,\n // if present change else, keep\n ...(hasHasMoreToBottom && {\n hasMoreToBottom: action.payload.hasMoreToBottom,\n }),\n ...(hasLatestFetchedMessageTimeStamp && {\n latestFetchedMessageTimeStamp: action.payload.latestFetchedMessageTimeStamp,\n }),\n allMessages: [\n ...receivedMessages,\n ...filteredAllMessages,\n ],\n };\n }\n case actionTypes.GET_NEXT_MESSAGES_SUCESS: {\n const receivedMessages = action.payload.messages || [];\n const { currentGroupChannel = {} } = action.payload;\n\n const stateChannel = state.currentGroupChannel || {};\n const stateChannelUrl = stateChannel.url;\n const actionChannelUrl = currentGroupChannel.url;\n if (actionChannelUrl !== stateChannelUrl) {\n return state;\n }\n\n // remove duplicate messages\n const filteredAllMessages = state.allMessages.filter((msg) => (\n !(receivedMessages.find(({ messageId }) => compareIds(messageId, msg.messageId)))\n ));\n\n return {\n ...state,\n loading: false,\n initialized: true,\n hasMore: action.payload.hasMore,\n lastMessageTimeStamp: action.payload.lastMessageTimeStamp,\n hasMoreToBottom: action.payload.hasMoreToBottom,\n latestFetchedMessageTimeStamp: action.payload.latestFetchedMessageTimeStamp,\n allMessages: [\n ...filteredAllMessages,\n ...receivedMessages,\n ],\n };\n }\n case actionTypes.GET_NEXT_MESSAGES_FAILURE: {\n return { ...state };\n }\n case actionTypes.SEND_MESSAGEGE_START:\n return {\n ...state,\n allMessages: [\n ...state.allMessages,\n { ...action.payload },\n ],\n };\n case actionTypes.SEND_MESSAGEGE_SUCESS: {\n const newMessages = state.allMessages.map((m) => (\n compareIds(m.reqId, action.payload.reqId) ? action.payload : m\n ));\n [...newMessages].sort((a, b) => (\n (\n a.sendingStatus\n && b.sendingStatus\n && a.sendingStatus === SUCCEEDED\n && (\n b.sendingStatus === PENDING\n || b.sendingStatus === FAILED\n )\n ) ? -1 : 1\n ));\n return {\n ...state,\n allMessages: newMessages,\n };\n }\n case actionTypes.SEND_MESSAGEGE_FAILURE: {\n // eslint-disable-next-line no-param-reassign\n action.payload.failed = true;\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, action.payload.reqId)\n ? action.payload\n : m\n )),\n };\n }\n case actionTypes.SET_CURRENT_CHANNEL: {\n return {\n ...state,\n currentGroupChannel: action.payload,\n isInvalid: false,\n };\n }\n case actionTypes.SET_CHANNEL_INVALID: {\n return {\n ...state,\n isInvalid: true,\n };\n }\n case actionTypes.UPDATE_UNREAD_COUNT: {\n const { channel } = action.payload;\n const { currentGroupChannel = {}, unreadCount } = state;\n const currentGroupChannelUrl = currentGroupChannel.url;\n if (!compareIds(channel.url, currentGroupChannelUrl)) {\n return state;\n }\n return {\n ...state,\n unreadSince: unreadCount + 1,\n };\n }\n case actionTypes.ON_MESSAGE_RECEIVED: {\n const { channel, message, scrollToEnd } = action.payload;\n let unreadCount = 0;\n const { currentGroupChannel = {}, unreadSince } = state;\n const currentGroupChannelUrl = currentGroupChannel.url;\n if (!compareIds(channel.url, currentGroupChannelUrl)) {\n return state;\n }\n // Excluded overlapping messages\n if (!(state.allMessages.map((msg) => msg.messageId).indexOf(message.messageId) < 0)) {\n return state;\n }\n\n unreadCount = state.unreadCount + 1;\n // reset unreadCount if have to scrollToEnd\n if (scrollToEnd) {\n unreadCount = 0;\n }\n\n if (message.isAdminMessage && message.isAdminMessage()) {\n return {\n ...state,\n allMessages: passUnsuccessfullMessages(state.allMessages, message),\n };\n }\n return {\n ...state,\n unreadCount,\n unreadSince: (unreadCount === 1)\n ? format(new Date(), 'p MMM dd')\n : unreadSince,\n allMessages: passUnsuccessfullMessages(state.allMessages, message),\n };\n }\n case actionTypes.ON_MESSAGE_UPDATED:\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.messageId, action.payload.message.messageId)\n ? action.payload.message\n : m\n )),\n };\n case actionTypes.RESEND_MESSAGEGE_START:\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, action.payload.reqId)\n ? action.payload\n : m\n )),\n };\n case actionTypes.MARK_AS_READ:\n return {\n ...state,\n unreadCount: 0,\n unreadSince: null,\n };\n case actionTypes.ON_MESSAGE_DELETED:\n return {\n ...state,\n allMessages: state.allMessages.filter((m) => (\n !compareIds(m.messageId, action.payload)\n )),\n };\n case actionTypes.ON_MESSAGE_DELETED_BY_REQ_ID:\n return {\n ...state,\n allMessages: state.allMessages.filter((m) => (\n !compareIds(m.reqId, action.payload)\n )),\n };\n case actionTypes.SET_EMOJI_CONTAINER: {\n return {\n ...state,\n emojiContainer: action.payload,\n };\n }\n case actionTypes.SET_READ_STATUS: {\n return {\n ...state,\n readStatus: action.payload,\n };\n }\n case actionTypes.ON_REACTION_UPDATED: {\n return {\n ...state,\n allMessages: state.allMessages.map((m) => {\n if (compareIds(m.messageId, action.payload.messageId)) {\n if (m.applyReactionEvent && typeof m.applyReactionEvent === 'function') {\n m.applyReactionEvent(action.payload);\n }\n return m;\n }\n return m;\n }),\n };\n }\n default:\n return state;\n }\n}\n","import { useEffect } from 'react';\n\nimport * as messageActions from '../dux/actionTypes';\nimport { uuidv4 } from '../../../utils/uuid';\nimport compareIds from '../../../utils/compareIds';\nimport { scrollIntoLast } from '../utils';\n\n/**\n * Handles ChannelEvents and send values to dispatcher using messagesDispatcher\n * messagesDispatcher: Dispatcher\n * sdk: sdkInstance\n * logger: loggerInstance\n * channelUrl: string\n * sdkInit: bool\n */\nfunction useHandleChannelEvents({ currentGroupChannel, sdkInit, hasMoreToBottom }, {\n messagesDispatcher,\n sdk,\n logger,\n scrollRef,\n}) {\n const channelUrl = currentGroupChannel && currentGroupChannel.url;\n useEffect(() => {\n const messageReceiverId = uuidv4();\n if (channelUrl && sdk && sdk.ChannelHandler) {\n const ChannelHandler = new sdk.ChannelHandler();\n logger.info('Channel | useHandleChannelEvents: Setup event handler', messageReceiverId);\n ChannelHandler.onMessageReceived = (channel, message) => {\n // donot update if hasMoreToBottom\n if (compareIds(channel.url, currentGroupChannel.url) && !hasMoreToBottom) {\n let scrollToEnd = false;\n try {\n const { current } = scrollRef;\n scrollToEnd = current.offsetHeight + current.scrollTop >= current.scrollHeight;\n } catch (error) {\n //\n }\n\n logger.info('Channel | useHandleChannelEvents: onMessageReceived', message);\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_RECEIVED,\n payload: { channel, message, scrollToEnd },\n });\n\n if (scrollToEnd) {\n try {\n setTimeout(() => {\n currentGroupChannel.markAsRead();\n scrollIntoLast();\n });\n } catch (error) {\n logger.warning('Channel | onMessageReceived | scroll to end failed');\n }\n }\n }\n if (compareIds(channel.url, currentGroupChannel.url) && hasMoreToBottom) {\n messagesDispatcher({\n type: messageActions.UPDATE_UNREAD_COUNT,\n payload: { channel },\n });\n }\n };\n\n ChannelHandler.onMessageUpdated = (channel, message) => {\n logger.info('Channel | useHandleChannelEvents: onMessageUpdated', message);\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n };\n\n ChannelHandler.onMessageDeleted = (_, messageId) => {\n logger.info('Channel | useHandleChannelEvents: onMessageDeleted', messageId);\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n };\n\n ChannelHandler.onReactionUpdated = (_, reactionEvent) => {\n logger.info('Channel | useHandleChannelEvents: onReactionUpdated', reactionEvent);\n messagesDispatcher({\n type: messageActions.ON_REACTION_UPDATED,\n payload: reactionEvent,\n });\n };\n\n ChannelHandler.onChannelChanged = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onChannelChanged', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onChannelFrozen = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onChannelFrozen', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onChannelUnfrozen = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onChannelUnFrozen', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onUserMuted = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onUserMuted', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onUserUnmuted = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onUserUnmuted', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onUserBanned = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onUserBanned', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onOperatorUpdated = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onOperatorUpdated', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n // Add this channel event handler to the SendBird object.\n sdk.addChannelHandler(messageReceiverId, ChannelHandler);\n }\n return () => {\n if (sdk && sdk.removeChannelHandler) {\n logger.info('Channel | useHandleChannelEvents: Removing message reciver handler', messageReceiverId);\n sdk.removeChannelHandler(messageReceiverId);\n }\n };\n }, [channelUrl, sdkInit]);\n}\n\nexport default useHandleChannelEvents;\n","import { useEffect } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useSetChannel({ channelUrl, sdkInit }, {\n messagesDispatcher,\n sdk,\n logger,\n}) {\n useEffect(() => {\n if (channelUrl && sdkInit && sdk && sdk.GroupChannel) {\n logger.info('Channel | useSetChannel fetching channel', channelUrl);\n sdk.GroupChannel.getChannel(channelUrl)\n .then((groupChannel) => {\n logger.info('Channel | useSetChannel fetched channel', groupChannel);\n messagesDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n\n logger.info('Channel: Mark as read', groupChannel);\n // this order is important - this mark as read should update the event handler up above\n groupChannel.markAsRead();\n })\n .catch((e) => {\n logger.warning('Channel | useSetChannel fetch channel failed', { channelUrl, e });\n messagesDispatcher({\n type: messageActionTypes.SET_CHANNEL_INVALID,\n });\n });\n sdk.getAllEmoji((emojiContainer_, err) => {\n if (err) {\n logger.error('Channel: Getting emojis failed', err);\n return;\n }\n logger.info('Channel: Getting emojis success', emojiContainer_);\n messagesDispatcher({\n type: messageActionTypes.SET_EMOJI_CONTAINER,\n payload: emojiContainer_,\n });\n });\n }\n }, [channelUrl, sdkInit]);\n}\n\nexport default useSetChannel;\n","import { useEffect } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\nconst PREV_RESULT_SIZE = 30;\nconst NEXT_RESULT_SIZE = 10;\n\nconst getLatestMessageTimeStamp = (messages = []) => {\n const latestMessage = messages[messages.length - 1];\n return (latestMessage && latestMessage.createdAt) || null;\n};\n\nfunction useInitialMessagesFetch({\n currentGroupChannel,\n userFilledMessageListQuery,\n intialTimeStamp,\n}, {\n sdk,\n logger,\n messagesDispatcher,\n}) {\n const channelUrl = currentGroupChannel && currentGroupChannel.url;\n useEffect(() => {\n logger.info('Channel useInitialMessagesFetch: Setup started', currentGroupChannel);\n messagesDispatcher({\n type: messageActionTypes.RESET_MESSAGES,\n });\n\n if (sdk && sdk.MessageListParams\n && currentGroupChannel && currentGroupChannel.getMessagesByMessageId) {\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = PREV_RESULT_SIZE;\n messageListParams.isInclusive = true;\n messageListParams.includeReplies = false;\n messageListParams.includeReaction = true;\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching messages', { currentGroupChannel, userFilledMessageListQuery });\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_START,\n });\n\n if (intialTimeStamp) {\n messageListParams.nextResultSize = NEXT_RESULT_SIZE;\n }\n\n currentGroupChannel.getMessagesByTimestamp(\n intialTimeStamp || new Date().getTime(),\n messageListParams,\n )\n .then((messages) => {\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimeStamp = hasMore\n ? messages[0].createdAt\n : null;\n\n const latestFetchedMessageTimeStamp = getLatestMessageTimeStamp(messages);\n\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages,\n hasMore,\n lastMessageTimeStamp,\n currentGroupChannel,\n latestFetchedMessageTimeStamp,\n hasMoreToBottom: false,\n // for handling message navigation\n ...(intialTimeStamp && {\n hasMoreToBottom: true,\n }),\n },\n });\n })\n .catch((error) => {\n logger.error('Channel: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages: [],\n hasMore: false,\n lastMessageTimeStamp: 0,\n currentGroupChannel,\n },\n });\n })\n .finally(() => {\n if (!intialTimeStamp) {\n setTimeout(() => utils.scrollIntoLast());\n }\n currentGroupChannel.markAsRead();\n });\n }\n }, [channelUrl, userFilledMessageListQuery, intialTimeStamp]);\n}\n\nexport default useInitialMessagesFetch;\n","import { useEffect } from 'react';\n\nimport * as utils from '../utils';\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useHandleReconnect({ isOnline }, {\n logger,\n sdk,\n currentGroupChannel,\n messagesDispatcher,\n userFilledMessageListQuery,\n}) {\n useEffect(() => {\n const wasOffline = !isOnline;\n return () => {\n // state changed from offline to online\n if (wasOffline) {\n logger.info('Refreshing conversation state');\n const { appInfo = {} } = sdk;\n const useReaction = appInfo.isUsingReaction || false;\n\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.includeReplies = false;\n messageListParams.includeReaction = useReaction;\n\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching messages', { currentGroupChannel, userFilledMessageListQuery });\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_START,\n });\n\n sdk.GroupChannel.getChannel(currentGroupChannel.url)\n .then((groupChannel) => {\n const lastMessageTime = new Date().getTime();\n\n groupChannel.getMessagesByTimestamp(\n lastMessageTime,\n messageListParams,\n )\n .then((messages) => {\n messagesDispatcher({\n type: messageActionTypes.CLEAR_SENT_MESSAGES,\n });\n\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimeStamp = hasMore\n ? messages[0].createdAt\n : null;\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages,\n hasMore,\n lastMessageTimeStamp,\n currentGroupChannel,\n },\n });\n setTimeout(() => utils.scrollIntoLast());\n })\n .catch((error) => {\n logger.error('Channel: Fetching messages failed', error);\n })\n .finally(() => {\n currentGroupChannel.markAsRead();\n });\n });\n }\n };\n }, [isOnline]);\n}\n\nexport default useHandleReconnect;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useScrollCallback({\n currentGroupChannel,\n lastMessageTimeStamp,\n userFilledMessageListQuery,\n}, {\n hasMore,\n logger,\n messagesDispatcher,\n sdk,\n}) {\n return useCallback((cb) => {\n if (!hasMore) { return; }\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.includeReplies = false;\n messageListParams.includeReaction = true;\n\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching messages', { currentGroupChannel, userFilledMessageListQuery });\n\n currentGroupChannel.getMessagesByTimestamp(\n lastMessageTimeStamp || new Date().getTime(),\n messageListParams,\n )\n .then((messages) => {\n const hasMoreMessages = (messages && messages.length > 0);\n const lastMessageTs = hasMoreMessages\n ? messages[0].createdAt\n : null;\n\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages,\n hasMore: hasMoreMessages,\n lastMessageTimeStamp: lastMessageTs,\n currentGroupChannel,\n },\n });\n cb([messages, null]);\n })\n .catch((error) => {\n logger.error('Channel: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages: [],\n hasMore: false,\n lastMessageTimeStamp: 0,\n currentGroupChannel,\n },\n });\n cb([null, error]);\n })\n .finally(() => {\n currentGroupChannel.markAsRead();\n });\n }, [currentGroupChannel, lastMessageTimeStamp]);\n}\n\nexport default useScrollCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nconst RESULT_SIZE = 30;\n\nfunction useScrollDownCallback({\n currentGroupChannel,\n latestFetchedMessageTimeStamp,\n userFilledMessageListQuery,\n hasMoreToBottom,\n}, {\n logger,\n messagesDispatcher,\n sdk,\n}) {\n return useCallback((cb) => {\n if (!hasMoreToBottom) { return; }\n const messageListParams = new sdk.MessageListParams();\n messageListParams.nextResultSize = RESULT_SIZE;\n messageListParams.includeReplies = false;\n messageListParams.includeReaction = true;\n\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching later messages', { currentGroupChannel, userFilledMessageListQuery });\n\n currentGroupChannel.getMessagesByTimestamp(\n latestFetchedMessageTimeStamp || new Date().getTime(),\n messageListParams,\n )\n .then((messages) => {\n const messagesLength = (messages && messages.length) || 0;\n const hasMoreMessages = (messagesLength > 0)\n && (messageListParams.nextResultSize === messagesLength);\n const lastMessageTs = hasMoreMessages\n ? messages[messages.length - 1].createdAt\n : null;\n messagesDispatcher({\n type: messageActionTypes.GET_NEXT_MESSAGES_SUCESS,\n payload: {\n messages,\n hasMoreToBottom: hasMoreMessages,\n latestFetchedMessageTimeStamp: lastMessageTs,\n currentGroupChannel,\n },\n });\n cb([messages, null]);\n })\n .catch((error) => {\n logger.error('Channel: Fetching later messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_NEXT_MESSAGES_FAILURE,\n payload: {\n messages: [],\n hasMoreToBottom: false,\n latestFetchedMessageTimeStamp: 0,\n currentGroupChannel,\n },\n });\n cb([null, error]);\n })\n .finally(() => {\n currentGroupChannel.markAsRead();\n });\n }, [currentGroupChannel, latestFetchedMessageTimeStamp, hasMoreToBottom]);\n}\n\nexport default useScrollDownCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useDeleteMessageCallback({ currentGroupChannel, messagesDispatcher }, { logger }) {\n return useCallback((message, cb) => {\n logger.info('Channel | useDeleteMessageCallback: Deleting message', message);\n const { requestState } = message;\n logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', requestState);\n\n // Message is only on local\n if (requestState === 'failed' || requestState === 'pending') {\n logger.info('Channel | useDeleteMessageCallback: Deleted message from local:', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,\n payload: message.reqId,\n });\n if (cb) { cb(); }\n return;\n }\n\n // Message is on server\n currentGroupChannel.deleteMessage(message, (err) => {\n logger.info('Channel | useDeleteMessageCallback: Deleting message from remote:', requestState);\n if (cb) { cb(err); }\n if (!err) {\n logger.info('Channel | useDeleteMessageCallback: Deleting message success!', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: message.messageId,\n });\n } else {\n logger.warning('Channel | useDeleteMessageCallback: Deleting message failed!', err);\n }\n });\n }, [currentGroupChannel, messagesDispatcher]);\n}\n\nexport default useDeleteMessageCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as topics from '../../../lib/pubSub/topics';\n\nfunction useUpdateMessageCallback({\n currentGroupChannel,\n messagesDispatcher,\n onBeforeUpdateUserMessage,\n}, {\n logger,\n pubSub,\n sdk,\n}) {\n return useCallback((messageId, text, cb) => {\n const createParamsDefault = (txt) => {\n const params = new sdk.UserMessageParams();\n params.message = txt;\n return params;\n };\n\n const createCustomPrams = onBeforeUpdateUserMessage\n && typeof onBeforeUpdateUserMessage === 'function';\n\n if (createCustomPrams) {\n logger.info('Channel: creating params using onBeforeUpdateUserMessage', onBeforeUpdateUserMessage);\n }\n\n const params = onBeforeUpdateUserMessage\n ? onBeforeUpdateUserMessage(text)\n : createParamsDefault(text);\n\n currentGroupChannel.updateUserMessage(messageId, params, (r, e) => {\n logger.info('Channel: Updating message!', params);\n const swapParams = sdk.getErrorFirstCallback();\n let message = r;\n let err = e;\n if (swapParams) {\n message = e;\n err = r;\n }\n if (cb) {\n cb(err, message);\n }\n if (!err) {\n logger.info('Channel: Updating message success!', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: {\n channel: currentGroupChannel,\n message,\n },\n });\n pubSub.publish(\n topics.UPDATE_USER_MESSAGE,\n {\n message,\n channel: currentGroupChannel,\n },\n );\n } else {\n logger.warning('Channel: Updating message failed!', err);\n }\n });\n }, [currentGroupChannel.url, messagesDispatcher, onBeforeUpdateUserMessage]);\n}\n\nexport default useUpdateMessageCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useResendMessageCallback({\n currentGroupChannel,\n messagesDispatcher,\n}, {\n logger,\n}) {\n return useCallback((failedMessage) => {\n logger.info('Channel: Resending message has started', failedMessage);\n const { messageType, file } = failedMessage;\n if (failedMessage && typeof failedMessage.isResendable === 'function'\n && failedMessage.isResendable()\n ) {\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGEGE_START,\n payload: failedMessage,\n });\n\n // userMessage\n if (messageType === 'user') {\n currentGroupChannel\n .resendUserMessage(failedMessage)\n .then((message) => {\n logger.info('Channel: Resending message success!', { message });\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n })\n .catch((e) => {\n logger.warning('Channel: Resending message failed!', { e });\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: failedMessage,\n });\n });\n\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGEGE_START,\n payload: failedMessage,\n });\n return;\n }\n\n if (messageType === 'file') {\n currentGroupChannel\n .resendFileMessage(failedMessage, file)\n .then((message) => {\n logger.info('Channel: Resending file message success!', { message });\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n })\n .catch((e) => {\n logger.warning('Channel: Resending file message failed!', { e });\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: failedMessage,\n });\n });\n\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGEGE_START,\n payload: failedMessage,\n });\n }\n } else {\n // to alert user on console\n // eslint-disable-next-line no-console\n console.error('Message is not resendable');\n logger.warning('Message is not resendable', failedMessage);\n }\n }, [currentGroupChannel, messagesDispatcher]);\n}\n\nexport default useResendMessageCallback;\n","import { useRef, useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\nimport * as topics from '../../../lib/pubSub/topics';\n\nexport default function useSendMessageCallback({ currentGroupChannel, onBeforeSendUserMessage }, {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n}) {\n const messageInputRef = useRef(null);\n\n const sendMessage = useCallback(\n () => {\n const text = messageInputRef.current.value;\n const createParamsDefault = (txt) => {\n const message = (typeof txt === 'string') ? txt.trim() : txt;\n const params = new sdk.UserMessageParams();\n params.message = message;\n return params;\n };\n\n const createCustomPrams = onBeforeSendUserMessage\n && typeof onBeforeSendUserMessage === 'function';\n\n if (createCustomPrams) {\n logger.info('Channel: creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);\n }\n\n const params = onBeforeSendUserMessage\n ? onBeforeSendUserMessage(text)\n : createParamsDefault(text);\n\n logger.info('Channel: Sending message has started', params);\n const pendingMsg = currentGroupChannel.sendUserMessage(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 // sending params instead of pending message\n // to make sure that we can resend the message once it fails\n if (error) {\n logger.warning('Channel: Sending message failed!', {\n message,\n });\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: message,\n });\n return;\n }\n logger.info('Channel: Sending message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n });\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */\n message: pendingMsg,\n channel: currentGroupChannel,\n });\n setTimeout(() => utils.scrollIntoLast());\n },\n [currentGroupChannel, onBeforeSendUserMessage],\n );\n\n return [messageInputRef, sendMessage];\n}\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\nimport * as topics from '../../../lib/pubSub/topics';\n\nexport default function useSendFileMessageCallback({\n currentGroupChannel,\n onBeforeSendFileMessage,\n imageCompression = {},\n}, {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n}) {\n const sendMessage = useCallback((file) => {\n const {\n compressionRate,\n resizingWidth,\n resizingHeight,\n } = imageCompression;\n const createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';\n\n const compressibleFileType = (file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg');\n const compressibleRatio = (compressionRate > 0) && (compressionRate < 1);\n // pxToNumber returns null if values are invalid\n const compressibleDiamensions = utils.pxToNumber(resizingWidth)\n || utils.pxToNumber(resizingHeight);\n\n const canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions);\n\n const createParamsDefault = (file_) => {\n const params = new sdk.FileMessageParams();\n params.file = file_;\n return params;\n };\n\n if (canCompressImage) { // Using image compression\n try {\n const image = document.createElement('img');\n image.src = URL.createObjectURL(file);\n image.onload = () => {\n URL.revokeObjectURL(image.src);\n const canvas = document.createElement('canvas');\n const imageWdith = image.naturalWidth || image.width;\n const imageHeight = image.naturalHeight || image.height;\n\n let targetWidth = utils.pxToNumber(resizingWidth) || imageWdith;\n let targetHeight = utils.pxToNumber(resizingHeight) || imageHeight;\n\n // In canvas.toBlob(callback, mimeType, qualityArgument)\n // qualityArgument doesnt work\n // so in case compressibleDiamensions are not present, we use ratio\n if (file.type === 'image/png' && !compressibleDiamensions) {\n targetWidth *= compressionRate;\n targetHeight *= compressionRate;\n }\n\n canvas.width = targetWidth;\n canvas.height = targetHeight;\n const context = canvas.getContext('2d');\n context.drawImage(image, 0, 0, targetWidth, targetHeight);\n context.canvas.toBlob(\n (newImageBlob) => {\n const compressedFile = new File([newImageBlob], file.name, { type: file.type });\n if (createCustomParams) {\n logger.info('Channel: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = createCustomParams\n ? onBeforeSendFileMessage(compressedFile)\n : createParamsDefault(compressedFile);\n logger.info('Channel: Uploading file message start!', params);\n const pendingMessage = currentGroupChannel.sendFileMessage(\n params,\n (response, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n const [message, error] = swapParams ? [err, response] : [response, err];\n if (error) {\n // sending params instead of pending message\n // to make sure that we can resend the message once it fails\n logger.error('Channel: Sending file message failed!', message);\n message.localUrl = URL.createObjectURL(compressedFile);\n message.file = compressedFile;\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: message,\n });\n return;\n }\n logger.info('Channel: Sending file message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n },\n );\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */\n message: {\n ...pendingMessage,\n url: URL.createObjectURL(compressedFile),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentGroupChannel,\n });\n setTimeout(() => utils.scrollIntoLast(), 1000);\n },\n file.type,\n compressionRate,\n );\n };\n } catch (error) {\n logger.error('Channel: Sending file message failed!');\n }\n } else { // Not using image compression\n if (createCustomParams) {\n logger.info('Channel: creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = onBeforeSendFileMessage\n ? onBeforeSendFileMessage(file)\n : createParamsDefault(file);\n logger.info('Channel: Uploading file message start!', params);\n\n const pendingMsg = currentGroupChannel.sendFileMessage(params, (response, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n const [message, error] = swapParams ? [err, response] : [response, err];\n if (error) {\n // sending params instead of pending message\n // to make sure that we can resend the message once it fails\n logger.error('Channel: Sending file message failed!', message);\n message.localUrl = URL.createObjectURL(file);\n message.file = file;\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: message,\n });\n return;\n }\n logger.info('Channel: Sending message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n });\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */\n message: {\n ...pendingMsg,\n url: URL.createObjectURL(file),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentGroupChannel,\n });\n setTimeout(() => utils.scrollIntoLast(), 1000);\n }\n }, [currentGroupChannel, onBeforeSendFileMessage, imageCompression]);\n return [sendMessage];\n}\n","import { useEffect } from 'react';\n\nimport * as utils from '../utils';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport { uuidv4 } from '../../../utils/uuid';\n\nexport default function useSetReadStatus({ allMessages, currentGroupChannel }, {\n messagesDispatcher,\n sdk,\n logger,\n}) {\n useEffect(() => {\n if (!sdk.ChannelHandler || !currentGroupChannel.url) {\n return () => {};\n }\n // todo: move to reducer?\n const setReadStatus = () => {\n const allReadStatus = allMessages.reduce((accumulator, msg) => {\n if (msg.messageId !== 0) {\n return {\n ...accumulator,\n [msg.messageId]: utils.getParsedStatus(msg, currentGroupChannel),\n };\n }\n return accumulator;\n }, {});\n messagesDispatcher({\n type: messageActionTypes.SET_READ_STATUS,\n payload: allReadStatus,\n });\n };\n if (allMessages.length > 0) {\n setReadStatus();\n }\n\n const channelUrl = currentGroupChannel.url;\n const handler = new sdk.ChannelHandler();\n const handleMessageStatus = (c) => {\n if (channelUrl === c.url) {\n setReadStatus();\n }\n };\n handler.onDeliveryReceiptUpdated = handleMessageStatus;\n handler.onReadReceiptUpdated = handleMessageStatus;\n // Add this channel event handler to the SendBird object.\n const handlerId = uuidv4();\n logger.info('Channel | useSetReadStatus: Removing message reciver handler', handlerId);\n sdk.addChannelHandler(handlerId, handler);\n return () => {\n if (sdk && sdk.removeChannelHandler) {\n logger.info('Channel | useSetReadStatus: Removing message reciver handler', handlerId);\n sdk.removeChannelHandler(handlerId);\n }\n };\n }, [allMessages, currentGroupChannel]);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nconst ReactionButton = React.forwardRef((props, ref) => {\n const {\n children,\n width,\n height,\n onClick,\n selected,\n className,\n } = props;\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n return (\n onClick(e)}\n role=\"button\"\n onKeyDown={(e) => onClick(e)}\n tabIndex={0}\n >\n
\n {children}\n
\n
\n );\n});\n\nReactionButton.propTypes = {\n children: PropTypes.element.isRequired,\n onClick: PropTypes.func,\n selected: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n height: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nReactionButton.defaultProps = {\n selected: false,\n width: '36px',\n height: '36px',\n onClick: () => { },\n className: '',\n};\n\nexport default ReactionButton;\n","import React, { useMemo } from 'react';\n\nimport { EmojiListItems } from '../../../ui/ContextMenu';\nimport ReactionButton from '../../../ui/ReactionButton';\nimport ImageRenderer from '../../../ui/ImageRenderer';\nimport Icon, { IconTypes } from '../../../ui/Icon';\n\nexport default function useMemoizedEmojiListItems({\n emojiContainer, toggleReaction,\n}, {\n useReaction,\n logger,\n userId,\n emojiAllList,\n}) {\n return useMemo(() => ({\n parentRef,\n parentContainRef,\n message,\n closeDropdown,\n spaceFromTrigger = {},\n }) => {\n if (!useReaction || !(parentRef || parentContainRef || message || closeDropdown)) {\n logger.warning('Channel: Invalid Params in memoizedEmojiListItems');\n return null;\n }\n\n return (\n \n {\n emojiAllList.map((emoji) => {\n const reactedReaction = message.reactions\n .filter((reaction) => reaction.key === emoji.key)[0];\n const isReacted = reactedReaction\n ? !(reactedReaction.userIds.indexOf(userId) < 0)\n : false;\n return (\n {\n closeDropdown();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n \n }\n />\n \n );\n })\n }\n \n );\n }, [emojiContainer, toggleReaction]);\n}\n","import { useCallback } from 'react';\n\nexport default function useToggleReactionCallback({ currentGroupChannel }, { logger }) {\n return useCallback((message, key, isReacted) => {\n if (isReacted) {\n currentGroupChannel.deleteReaction(message, key)\n .then((res) => {\n logger.info('Delete reaction success', res);\n })\n .catch((err) => {\n logger.warning('Delete reaction failed', err);\n });\n return;\n }\n currentGroupChannel.addReaction(message, key)\n .then((res) => {\n logger.info('Add reaction success', res);\n })\n .catch((err) => {\n logger.warning('Add reaction failed', err);\n });\n }, [currentGroupChannel]);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\nimport MessageStatusType from './type';\n\nimport { getMessageCreatedAt } from '../../utils/utils';\n\nconst MessageStatusTypes = MessageStatusType;\nexport { MessageStatusTypes };\nexport default function MessageStatus({\n message,\n status,\n className,\n}) {\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n const label = () => {\n switch (status) {\n case MessageStatusType.FAILED:\n case MessageStatusType.PENDING: {\n return null;\n }\n case MessageStatusType.SENT:\n case MessageStatusType.DELIVERED:\n case MessageStatusType.READ: {\n return (\n \n {getMessageCreatedAt(message)}\n \n );\n }\n default: return null;\n }\n };\n\n const icon = {\n PENDING: (\n \n \n \n ),\n SENT: ,\n DELIVERED: ,\n READ: ,\n FAILED: ,\n };\n\n return (\n
\n {icon[status]}\n
\n {label(status)}\n
\n );\n}\n\nMessageStatus.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n status: PropTypes.string,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nMessageStatus.defaultProps = {\n message: null,\n status: '',\n className: '',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nimport './index.scss';\n\nconst ReactionBadge = React.forwardRef((props, ref) => {\n const {\n className,\n children,\n count,\n selected,\n isAdd,\n onClick,\n } = props;\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n if (selected && !isAdd) {\n injectingClassName.unshift('sendbird-reaction-badge--selected');\n } else if (isAdd) {\n injectingClassName.push('sendbird-reaction-badge--is-add');\n } else {\n injectingClassName.unshift('sendbird-reaction-badge');\n }\n\n return (\n \n
\n
\n {children}\n
\n \n
\n \n );\n});\n\nReactionBadge.propTypes = {\n children: PropTypes.element.isRequired,\n count: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n selected: PropTypes.bool,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n isAdd: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nReactionBadge.defaultProps = {\n className: '',\n count: '',\n selected: false,\n isAdd: false,\n onClick: () => { },\n};\n\nexport default ReactionBadge;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport Label from '../Label';\n\nconst CLASS_NAME = 'sendbird-tooltip';\n\nexport default function Tooltip({\n className,\n children,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift(CLASS_NAME);\n\n return (\n
\n \n {children}\n \n
\n );\n}\n\nTooltip.propTypes = {\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.string,\n ]),\n};\n\nTooltip.defaultProps = {\n className: '',\n children: '',\n};\n","import React, { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nconst CLASS_NAME = 'sendbird-tooltip-wrapper';\nconst SPACE_FROM_TRIGGER = 8;\n\nexport default function TooltipWrapper({\n className,\n children,\n hoverTooltip,\n // clickTooltip can be added later\n}) {\n const injectingClassName = Array.isArray(className)\n ? [CLASS_NAME, ...className]\n : [CLASS_NAME, className];\n const [showHoverTooltip, setShowHoverTooltip] = useState(false);\n const childrenRef = useRef(null);\n\n return (\n { setShowHoverTooltip(true); }}\n onFocus={() => { setShowHoverTooltip(true); }}\n onMouseOut={() => { setShowHoverTooltip(false); }}\n onBlur={() => { setShowHoverTooltip(false); }}\n >\n \n {children}\n \n {\n showHoverTooltip && (\n \n \n \n {hoverTooltip}\n \n \n \n )\n }\n \n );\n}\n\nTooltipWrapper.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n children: PropTypes.element.isRequired,\n hoverTooltip: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]).isRequired,\n};\nTooltipWrapper.defaultProps = {\n className: '',\n};\n","import React, { useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport ReactionBadge from '../ReactionBadge';\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ContextMenu from '../ContextMenu';\nimport Tooltip from '../Tooltip';\nimport TooltipWrapper from '../TooltipWrapper';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nexport default function EmojiReactions({\n className,\n userId,\n message,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift('sendbird-emoji-reactions');\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const imageWidth = '20px';\n const imageHeight = '20px';\n const emojiReactionAddRef = useRef(null);\n const { reactions = [] } = message;\n const messageReactions = reactions;\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n
\n
\n {\n messageReactions && (\n messageReactions.map((reaction) => {\n const { userIds = [] } = reaction;\n const emojiUrl = emojiAllMap.get(reaction.key) || '';\n const reactedUserCount = userIds.length;\n const reactedByMe = !(userIds.indexOf(userId) < 0);\n const nicknames = userIds\n .filter((currentUserId) => currentUserId !== userId)\n .map((currentUserId) => (\n membersMap.get(currentUserId) || stringSet.TOOLTIP__UNKOWN_USER\n ));\n const stringSetForMe = (nicknames.length > 0)\n ? stringSet.TOOLTIP__AND_YOU : stringSet.TOOLTIP__YOU;\n return (\n 0 && (\n \n <>\n {\n `${(\n nicknames.join(', ')\n )}${(\n reactedByMe\n ? stringSetForMe\n : ''\n )}`\n }\n \n \n )\n }\n >\n toggleReaction(message, reaction.key, reactedByMe)}\n >\n \n )}\n />\n \n \n );\n })\n )\n }\n {\n (messageReactions.length < emojiAllMap.size)\n && (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n )}\n />\n )\n }\n
\n
\n );\n}\n\nEmojiReactions.propTypes = {\n userId: PropTypes.string,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n message: PropTypes.shape({\n reactions: PropTypes.arrayOf(PropTypes.shape({})),\n }).isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n};\nEmojiReactions.defaultProps = {\n className: '',\n membersMap: new Map(),\n userId: '',\n toggleReaction: () => { },\n memoizedEmojiListItems: () => '',\n};\n","import React, { useMemo, useContext } from 'react';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport uuidv4 from '../../utils/uuid';\n\nconst WORD_TYPOGRAPHY = LabelTypography.BODY_1;\nconst EDITED_COLOR = LabelColors.ONBACKGROUND_2;\n\nexport default function useMemoizedMessageText({\n message,\n updatedAt,\n className,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n return useMemo(() => () => {\n const splitMessage = message.split(/\\r/);\n const matchedMessage = splitMessage\n .map((word) => (word !== '' ? word :
));\n if (updatedAt > 0) {\n matchedMessage.push(\n \n {` ${stringSet.MESSAGE_EDITED} `}\n ,\n );\n }\n return matchedMessage;\n }, [message, updatedAt, className]);\n}\n","import { useEffect } from 'react';\n\nconst MOUSE_ENTER = 'mouseenter';\nconst MOUSE_LEAVE = 'mouseleave';\n\nconst useMouseHover = ({\n ref,\n setHover,\n}) => {\n const handleMouseOver = () => {\n if (ref.current) {\n setHover(true);\n }\n };\n const handleMouseOut = () => {\n if (ref.current) {\n setHover(false);\n }\n };\n\n useEffect(() => {\n const { current } = ref;\n current.addEventListener(MOUSE_ENTER, handleMouseOver);\n current.addEventListener(MOUSE_LEAVE, handleMouseOut);\n return () => {\n current.removeEventListener(MOUSE_ENTER, handleMouseOver);\n current.removeEventListener(MOUSE_LEAVE, handleMouseOut);\n };\n });\n};\n\nexport default useMouseHover;\n","import React, { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport './index.scss';\nimport UserProfile from '../UserProfile';\nimport Avatar from '../Avatar/index';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport MessageStatus from '../MessageStatus';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport EmojiReactions from '../EmojiReactions';\nimport {\n copyToClipboard,\n getMessageCreatedAt,\n getSenderName,\n getSenderProfileUrl,\n getIsSentFromStatus,\n} from './utils';\nimport useMemoizedMessageText from './memoizedMessageText';\nimport useMouseHover from '../../hooks/onMouseHover';\n\nconst noop = () => { };\nconst GROUPING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\n\nexport default function Message(props) {\n const {\n isByMe,\n userId,\n message,\n className,\n resendMessage,\n disabled,\n showEdit,\n showRemove,\n status,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n } = props;\n\n if (!message) return null;\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n injectingClassName.push(`sendbird-message${isByMe ? '--outgoing' : '--incoming'}`);\n const memoizedMessageText = useMemoizedMessageText({\n message: message.message,\n updatedAt: message.updatedAt,\n className: 'sendbird-user-message-word',\n });\n\n return (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n );\n}\n\nMessage.propTypes = {\n isByMe: PropTypes.bool,\n disabled: PropTypes.bool,\n userId: PropTypes.string,\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])).isRequired,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n showEdit: PropTypes.func,\n status: PropTypes.string,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nMessage.defaultProps = {\n isByMe: false,\n disabled: false,\n userId: '',\n resendMessage: noop,\n className: '',\n showEdit: noop,\n showRemove: noop,\n status: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n chainTop: false,\n chainBottom: false,\n};\n\nfunction OutgoingUserMessage({\n userId,\n message,\n showEdit,\n disabled,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n // TODO: when message.requestState is succeeded, consider if it's SENT or DELIVERED\n const messageRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n const isMessageSent = getIsSentFromStatus(status);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n \n
\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n {\n isMessageSent && (\n { copyToClipboard(message.message); closeDropdown(); }}\n >\n Copy\n \n )\n }\n {\n isMessageSent && (\n {\n if (disabled) { return; }\n showEdit(true);\n closeDropdown();\n }}\n >\n Edit\n \n )\n }\n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n Resend\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n Delete\n \n \n );\n }}\n />\n {\n (isMessageSent && useReaction && (emojiAllMap.size > 0))\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n
\n \n
\n )\n }\n
\n
\n
\n
\n \n \n \n
\n {\n (useReaction && message.reactions && message.reactions.length > 0)\n && (\n \n )\n }\n
\n
\n \n \n );\n}\n\nfunction IncomingUserMessage({\n userId,\n message,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const messageRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n const avatarRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n const showEmojiReactions = (useReaction && message.reactions && message.reactions.length > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className=\"sendbird-user-message__avatar\"\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n {\n !chainTop && (\n \n {getSenderName(message)}\n \n )\n }\n
\n
\n
\n \n \n \n
\n {\n showEmojiReactions && (\n \n )\n }\n
\n
\n
\n
\n \n {\n showReactionAddButton\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n { copyToClipboard(message.message); closeDropdown(); }}\n >\n Copy\n \n \n );\n }}\n />\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n
\n \n \n );\n}\n\nIncomingUserMessage.propTypes = {\n userId: PropTypes.string.isRequired,\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nIncomingUserMessage.defaultProps = {\n message: {},\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n\nOutgoingUserMessage.propTypes = {\n userId: PropTypes.string.isRequired,\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n showEdit: PropTypes.func,\n showRemove: PropTypes.func,\n disabled: PropTypes.bool,\n resendMessage: PropTypes.func,\n status: PropTypes.string.isRequired,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingUserMessage.defaultProps = {\n message: {},\n resendMessage: noop,\n showEdit: noop,\n showRemove: noop,\n disabled: false,\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Label, { LabelColors, LabelTypography } from '../Label';\n\nexport default function AdminMessage({\n className,\n message,\n}) {\n if (!message.messageType || message.messageType !== 'admin') { // change to use message.isAdminMessage()\n return null;\n }\n\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n
\n \n
\n );\n}\n\nAdminMessage.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nAdminMessage.defaultProps = {\n message: {},\n className: '',\n};\n","import format from 'date-fns/format';\nimport MessageStatusType from '../MessageStatus/type';\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const getIsSentFromStatus = (status) => (\n status === MessageStatusType.SENT\n || status === MessageStatusType.DELIVERED\n || status === MessageStatusType.READ\n);\n\nexport default {\n getMessageCreatedAt,\n getIsSentFromStatus,\n};\n","import React, { useContext, useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport {\n getMessageCreatedAt,\n getIsSentFromStatus,\n} from './util';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport Avatar from '../Avatar/index';\nimport UserProfile from '../UserProfile';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport IconButton from '../IconButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ImageRenderer from '../ImageRenderer';\nimport MessageStatus from '../MessageStatus';\nimport EmojiReactions from '../EmojiReactions';\nimport {\n isImage,\n isVideo,\n unSupported,\n} from '../FileViewer/types';\nimport {\n getSenderName,\n getSenderProfileUrl,\n} from '../../utils/utils';\nimport useMouseHover from '../../hooks/onMouseHover';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nconst noop = () => { };\n\nconst OUTGOING_THUMBNAIL_MESSAGE = 'sendbird-outgoing-thumbnail-message';\nconst INCOMING_THUMBNAIL_MESSAGE = 'sendbird-incoming-thumbnail-message';\nconst GROUPING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\n\nexport default function ThumbnailMessage({\n message = {},\n userId,\n disabled,\n isByMe,\n onClick,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n return (\n isByMe\n ? (\n \n )\n : (\n \n )\n );\n}\n\nexport function OutgoingThumbnailMessage({\n message = {},\n userId,\n disabled,\n onClick,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const {\n type,\n url,\n localUrl,\n thumbnails,\n } = message;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const { stringSet } = useContext(LocalizationContext);\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const menuRef = useRef(null);\n const reactionAddRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n\n const showReactionAddButton = (useReaction && emojiAllMap && emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const isMessageSent = getIsSentFromStatus(status);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n \n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n \n );\n }}\n />\n {\n isMessageSent && showReactionAddButton\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n )\n }\n
\n
\n \n onClick(true) : () => { }}\n onKeyDown={isMessageSent ? () => onClick(true) : () => { }}\n tabIndex={0}\n role=\"button\"\n >\n {\n isVideo(type) && (\n <>\n {\n (thumbnailUrl)\n ? (\n \n \n
\n )}\n />\n )\n : (\n /* eslint-disable-next-line jsx-a11y/media-has-caption */\n \n \n \n )\n }\n \n \n )\n }\n {\n isImage(type) && (\n \n \n \n )}\n />\n )\n }\n {\n unSupported(type) && (\n
\n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n
\n )\n }\n
\n
\n {\n (useReaction && message.reactions && message.reactions.length > 0)\n && (\n \n )\n }\n \n \n \n \n );\n}\n\nexport function IncomingThumbnailMessage({\n message = {},\n userId,\n onClick,\n status,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const {\n type,\n url,\n localUrl,\n thumbnails,\n } = message;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const reactionAddRef = useRef(null);\n const avatarRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n\n const showReactionAddButton = (useReaction && emojiAllMap && emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const isMessageSent = getIsSentFromStatus(status);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n {\n !chainTop && (\n \n {getSenderName(message) || ''}\n \n )\n }\n
\n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className={`${INCOMING_THUMBNAIL_MESSAGE}__avatar`}\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n onClick(true) : () => { }}\n onKeyDown={isMessageSent ? () => onClick(true) : () => { }}\n >\n {\n isVideo(type) && (\n <>\n {\n (thumbnailUrl)\n ? (\n \n \n
\n )}\n />\n )\n : (\n /* eslint-disable-next-line jsx-a11y/media-has-caption */\n \n )\n }\n \n \n )\n }\n {\n isImage(type) && (\n \n \n
\n )}\n />\n )\n }\n {\n unSupported(type) && (\n
\n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n
\n )\n }\n
\n
\n {\n (useReaction && message.reactions && message.reactions.length > 0)\n && (\n \n )\n }\n
\n \n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n \n {\n showReactionAddButton && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n \n \n \n );\n}\n\nThumbnailMessage.propTypes = {\n message: PropTypes.shape({\n type: PropTypes.string,\n url: PropTypes.string,\n localUrl: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string,\n resendMessage: PropTypes.func,\n status: PropTypes.string,\n isByMe: PropTypes.bool,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n showRemove: PropTypes.func,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\nThumbnailMessage.defaultProps = {\n isByMe: false,\n disabled: false,\n resendMessage: noop,\n onClick: noop,\n showRemove: noop,\n status: '',\n userId: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n chainTop: false,\n chainBottom: false,\n};\n\nOutgoingThumbnailMessage.propTypes = {\n message: PropTypes.shape({\n type: PropTypes.string,\n url: PropTypes.string,\n localUrl: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n disabled: PropTypes.bool.isRequired,\n resendMessage: PropTypes.func.isRequired,\n status: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n showRemove: PropTypes.func.isRequired,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\nOutgoingThumbnailMessage.defaultProps = {\n status: '',\n};\n\nIncomingThumbnailMessage.propTypes = {\n message: PropTypes.shape({\n type: PropTypes.string,\n url: PropTypes.string,\n localUrl: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n status: PropTypes.string,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\nIncomingThumbnailMessage.defaultProps = {\n status: '',\n};\n","import React, { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport './index.scss';\nimport Avatar from '../Avatar/index';\nimport IconButton from '../IconButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport TextButton from '../TextButton';\nimport UserProfile from '../UserProfile';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport MessageStatus from '../MessageStatus';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport EmojiReactions from '../EmojiReactions';\n\nimport { getSenderProfileUrl, getSenderName, getMessageCreatedAt } from '../../utils/utils';\nimport {\n truncate,\n getIsSentFromStatus,\n} from './utils';\nimport useMouseHover from '../../hooks/onMouseHover';\n\nconst MAX_TRUNCATE_LENGTH = 40;\nconst GROUPAING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\nconst noop = () => { };\n\nfunction checkFileType(fileUrl) {\n let result = null;\n const imageFile = /(\\.gif|\\.jpg|\\.jpeg|\\.txt|\\.pdf)$/i;\n const audioFile = /(\\.mp3)$/i;\n if (imageFile.test(fileUrl)) {\n result = IconTypes.FILE_DOCUMENT;\n } else if (audioFile.test(fileUrl)) {\n result = IconTypes.FILE_AUDIO;\n }\n return result;\n}\n\nexport function OutgoingFileMessage({\n message,\n userId,\n status,\n showRemove,\n disabled,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const {\n url,\n } = message;\n const openFileUrl = () => { window.open(url); };\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const menuRef = useRef(null);\n const reactionAddButtonRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const isMessageSent = getIsSentFromStatus(status);\n const showEmojiReactions = isMessageSent && useReaction && message.reactions\n && (message.reactions.length > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n \n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n Resend\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n Delete\n \n \n );\n }}\n />\n {\n showReactionAddButton && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n
\n \n
\n )\n }\n
\n
\n
\n {\n checkFileType(url)\n ? (\n \n )\n : null\n }\n \n \n {truncate(message.url, MAX_TRUNCATE_LENGTH)}\n \n \n
\n {\n showEmojiReactions && (\n \n )\n }\n
\n \n \n );\n}\n\nexport function IncomingFileMessage({\n message,\n userId,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const openFileUrl = () => { window.open(message.url); };\n const messageRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n const parentContainRef = useRef(null);\n const avatarRef = useRef(null);\n const reactionAddButtonRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className=\"sendbird-file-message__avatar\"\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n {\n !chainTop && (\n \n {getSenderName(message)}\n \n )\n }\n
\n
\n {\n checkFileType(message.url)\n ? (\n \n )\n : null\n }\n \n \n {truncate(message.url, MAX_TRUNCATE_LENGTH)}\n \n \n
\n {\n (useReaction && message.reactions && (message.reactions.length > 0)) && (\n \n )\n }\n
\n
\n
\n \n {\n showReactionAddButton && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n
\n \n \n );\n}\n\nOutgoingFileMessage.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n userId: PropTypes.string,\n status: PropTypes.string,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n useReaction: PropTypes.bool.isRequired,\n disabled: PropTypes.bool,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingFileMessage.defaultProps = {\n status: '',\n showRemove: noop,\n resendMessage: noop,\n message: {},\n userId: '',\n disabled: false,\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n\nIncomingFileMessage.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n userId: PropTypes.string,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nIncomingFileMessage.defaultProps = {\n message: {},\n userId: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n\nconst MessageSwitch = ({\n message,\n userId,\n disabled,\n isByMe,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) => (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n);\n\n\nMessageSwitch.propTypes = {\n message: PropTypes.shape({}),\n userId: PropTypes.string,\n isByMe: PropTypes.bool,\n disabled: PropTypes.bool,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n status: PropTypes.string.isRequired,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nMessageSwitch.defaultProps = {\n message: {},\n isByMe: false,\n disabled: false,\n showRemove: noop,\n resendMessage: noop,\n userId: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n chainTop: false,\n chainBottom: false,\n};\n\nexport default MessageSwitch;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Modal from '../../../ui/Modal';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\nconst RemoveMessage = (props) => {\n const {\n onCloseModal,\n onDeleteMessage,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n );\n};\n\nRemoveMessage.propTypes = {\n onCloseModal: PropTypes.func.isRequired,\n onDeleteMessage: PropTypes.func.isRequired,\n};\n\nexport default RemoveMessage;\n","import format from 'date-fns/format';\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport default {\n getMessageCreatedAt,\n};\n","import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport * as utils from './utils';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Avatar from '../Avatar/index';\nimport UserProfile from '../UserProfile';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport MessageStatus from '../MessageStatus';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport IconButton from '../IconButton';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport useMouseHover from '../../hooks/onMouseHover';\n\nconst CLASS_NAME = 'sendbird-unknown-message';\nconst GROUPING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\n\nexport default function UnknownMessage({\n message,\n isByMe,\n status,\n className,\n showRemove,\n chainTop,\n chainBottom,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift(CLASS_NAME);\n injectingClassName.push(`${CLASS_NAME}${isByMe ? '--outgoing' : '--incoming'}`);\n\n return (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n );\n}\n\nUnknownMessage.propTypes = {\n message: PropTypes.shape({}).isRequired,\n isByMe: PropTypes.bool,\n status: PropTypes.string,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n showRemove: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nUnknownMessage.defaultProps = {\n isByMe: false,\n status: '',\n className: '',\n showRemove: () => { },\n chainTop: false,\n chainBottom: false,\n};\n\nfunction OutgoingUnknownMessage({\n message,\n status,\n showRemove,\n chainTop,\n chainBottom,\n}) {\n const className = 'sendbird-outgoing-unknown-message';\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const menuRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n \n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n { showRemove(true); closeDropdown(); }}\n >\n Delete\n \n \n );\n }}\n />\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n
\n \n
\n )\n }\n
\n
\n
\n \n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n \n \n {stringSet.UNKNOWN__CANNOT_READ_MESSAGE}\n \n
\n
\n \n \n );\n}\n\nfunction IncomingUnknownMessage({\n message,\n chainTop,\n chainBottom,\n}) {\n const className = 'sendbird-incoming-unknown-message';\n const { sender } = message;\n const avatarRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className={`${className}__left__sender-profile-image`}\n src={sender.profileUrl}\n width=\"28px\"\n height=\"28px\"\n alt=\"sender-profile-image\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n \n {sender.nickname || stringSet.NO_NAME}\n \n )\n }\n
\n \n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n \n \n {stringSet.UNKNOWN__CANNOT_READ_MESSAGE}\n \n
\n
\n
\n {\n !chainBottom && (\n \n {utils.getMessageCreatedAt(message)}\n \n )\n }\n
\n
\n \n );\n}\n\nOutgoingUnknownMessage.propTypes = {\n message: PropTypes.shape({}).isRequired,\n status: PropTypes.string.isRequired,\n showRemove: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingUnknownMessage.defaultProps = {\n showRemove: () => { },\n};\n\nIncomingUnknownMessage.propTypes = {\n message: PropTypes.shape({\n sender: PropTypes.shape({\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n }),\n }).isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n","export const URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const OG_MESSAGE = 'sendbird-og-message';\nexport const OUTGOING_OG_MESSAGE = 'sendbird-outgoing-og-message';\nexport const INCOMING_OG_MESSAGE = 'sendbird-incoming-og-message';\nexport const generateMockMessage = (process) => {\n const message = {\n message: 'go to this link sendbird.com it will be usefull to you!!',\n ogMetaData: {\n title: 'This is the TITLE',\n description: 'I\\'m description I\\'m description I\\'m description I\\'m description ',\n url: 'https://sendbird.com/',\n defaultImage: {\n url: 'https://static.sendbird.com/sample/profiles/profile_12_512px.png',\n alt: 'test',\n },\n },\n sender: {\n profileUrl: 'https://static.sendbird.com/sample/profiles/profile_12_512px.png',\n nickname: 'Hoonying',\n },\n createdAt: 2000000,\n };\n if (process && typeof process === 'function') {\n return process(message);\n }\n return message;\n};\n\nexport default {\n URL_REG,\n OG_MESSAGE,\n OUTGOING_OG_MESSAGE,\n INCOMING_OG_MESSAGE,\n generateMockMessage,\n};\n","import format from 'date-fns/format';\nimport MessageStatusType from '../MessageStatus/type';\n\nexport const createUrlTester = (regexp) => (text) => regexp.test(text);\n\nexport const getIsSentFromStatus = (status) => (\n status === MessageStatusType.SENT\n || status === MessageStatusType.DELIVERED\n || status === MessageStatusType.READ\n);\n\nexport const copyToClipboard = (text) => {\n try {\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path\n // to prevent textarea being shown while dialog is visible.\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n } catch (err) {\n return err;\n }\n};\n\nexport const getSenderProfileUrl = (message) => message.sender && message.sender.profileUrl;\n\nexport const getSenderName = (message) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const checkOGIsEnalbed = (message) => {\n const { ogMetaData } = message;\n if (!ogMetaData) {\n return false;\n }\n const { url } = ogMetaData;\n if (!url) {\n return false;\n }\n return true;\n};\n\nexport default {\n getSenderName,\n createUrlTester,\n copyToClipboard,\n checkOGIsEnalbed,\n getMessageCreatedAt,\n getIsSentFromStatus,\n getSenderProfileUrl,\n};\n","import React, { useMemo, useContext } from 'react';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport LinkLabel from '../LinkLabel';\nimport uuidv4 from '../../utils/uuid';\nimport { createUrlTester } from './utils';\nimport { URL_REG } from './const';\n\nconst WORD_TYPOGRAPHY = LabelTypography.BODY_1;\nconst WORD_COLOR = LabelColors.ONBACKGROUND_1;\nconst EDITED_COLOR = LabelColors.ONBACKGROUND_2;\nconst isUrl = createUrlTester(URL_REG);\n\nexport default function useMemoizedMessageText({\n message,\n updatedAt,\n className,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n return useMemo(() => () => {\n const splitMessage = message.split(' ');\n const matchedMessage = splitMessage\n .map((word) => (\n isUrl(word)\n ? (\n \n {word}\n \n )\n : (\n \n {word}\n \n )\n ));\n if (updatedAt > 0) {\n matchedMessage.push(\n \n {stringSet.MESSAGE_EDITED}\n ,\n );\n }\n return matchedMessage;\n }, [message, updatedAt, className]);\n}\n","import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n OG_MESSAGE,\n OUTGOING_OG_MESSAGE,\n INCOMING_OG_MESSAGE,\n} from './const';\nimport {\n getSenderName,\n copyToClipboard,\n checkOGIsEnalbed,\n getMessageCreatedAt,\n getIsSentFromStatus,\n getSenderProfileUrl,\n} from './utils';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport useMemoizedMessageText from './memoizedMessageText';\nimport './index.scss';\n\nimport UserProfile from '../UserProfile';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport MessageStatus from '../MessageStatus';\nimport EmojiReactions from '../EmojiReactions';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport Avatar from '../Avatar/index';\n\nimport useMouseHover from '../../hooks/onMouseHover';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nconst GROUPING_PADDING = '1px';\nconst NORAML_PADDING = '8px';\n\nconst OGMessageSwitch = ({\n isByMe,\n userId,\n status,\n message,\n disabled,\n showEdit,\n chainTop,\n className,\n membersMap,\n showRemove,\n useReaction,\n emojiAllMap,\n chainBottom,\n resendMessage,\n toggleReaction,\n memoizedEmojiListItems,\n}) => {\n const { ogMetaData } = message;\n const injectingClassName = Array.isArray(className) ? className : [className];\n\n const memoizedMessageText = useMemoizedMessageText({\n message: message.message,\n updatedAt: message.updatedAt,\n className: 'sendbird-og-message-word',\n });\n const openLink = () => {\n if (checkOGIsEnalbed(message)) {\n const { url } = ogMetaData;\n window.open(url);\n }\n };\n\n return (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n );\n};\n\nfunction OutgoingOGMessage(props) {\n const {\n status,\n userId,\n message,\n disabled,\n openLink,\n showEdit,\n chainTop,\n showRemove,\n membersMap,\n chainBottom,\n emojiAllMap,\n useReaction,\n resendMessage,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n } = props;\n const {\n ogMetaData,\n } = message;\n const {\n defaultImage,\n } = ogMetaData;\n const { stringSet } = useContext(LocalizationContext);\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const messageRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n\n const isMessageSent = getIsSentFromStatus(status);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n\n const showEmojiReactions = (useReaction && message.reactions && message.reactions.length > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n
\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n isMessageSent && (\n { copyToClipboard(message.message); closeDropdown(); }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n )\n }\n {\n isMessageSent && (\n {\n if (disabled) { return; }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n \n )\n }\n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n \n )}\n />\n {\n (isMessageSent && useReaction && (emojiAllMap.size > 0))\n && (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n )}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive) && (\n
\n \n
\n )\n }\n
\n
\n
\n \n
\n \n {\n defaultImage && (\n \n \n
\n )}\n />\n )\n }\n
\n \n {\n ogMetaData.title && (\n
\n \n
\n )\n }\n {\n ogMetaData.description && (\n
\n \n {ogMetaData.description}\n \n
\n )\n }\n {\n ogMetaData.url && (\n \n {ogMetaData.url}\n \n )\n }\n {\n showEmojiReactions\n && (\n event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"button\"\n tabIndex={0}\n >\n \n \n )\n }\n \n \n \n \n );\n}\n\nfunction IncomingOGMessage(props) {\n const {\n userId,\n message,\n openLink,\n chainTop,\n membersMap,\n chainBottom,\n useReaction,\n emojiAllMap,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n } = props;\n const {\n ogMetaData,\n } = message;\n const {\n defaultImage,\n } = ogMetaData;\n const { stringSet } = useContext(LocalizationContext);\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n\n const messageRef = useRef(null);\n const avatarRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n\n const showEmojiReactions = (useReaction && message.reactions && message.reactions.length > 0);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className={`${INCOMING_OG_MESSAGE}__avatar`}\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n alt=\"sender-profile-image\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n {\n !chainTop && (\n \n {getSenderName(message)}\n \n )\n }\n
\n \n
\n \n {\n defaultImage && (\n \n \n
\n )}\n />\n )\n }\n
\n \n {\n ogMetaData.title && (\n
\n\n \n
\n )\n }\n {\n ogMetaData.description && (\n
\n \n {ogMetaData.description}\n \n
\n )\n }\n {\n ogMetaData.url && (\n
\n \n {ogMetaData.url}\n \n
\n )\n }\n {\n showEmojiReactions\n && (\n event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"button\"\n tabIndex={0}\n >\n \n \n )\n }\n \n \n
\n {\n !chainBottom && !(mousehover || moreActive) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n
\n {\n showReactionAddButton\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(closeDropdown) => (\n \n )}\n />\n )\n }\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(closeDropdown) => (\n \n { copyToClipboard(message.message); closeDropdown(); }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n \n )}\n />\n
\n
\n \n \n );\n}\n\nexport default OGMessageSwitch;\n\nconst noop = () => { };\n\nOGMessageSwitch.propTypes = {\n isByMe: PropTypes.bool.isRequired,\n userId: PropTypes.string.isRequired,\n message: PropTypes.shape({\n message: PropTypes.string,\n sender: PropTypes.shape({}),\n ogMetaData: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.string,\n url: PropTypes.string,\n defaultImage: PropTypes.shape({\n url: PropTypes.string,\n alt: PropTypes.string,\n }),\n }),\n reactions: PropTypes.array,\n updatedAt: PropTypes.number,\n }).isRequired,\n useReaction: PropTypes.bool.isRequired,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n status: PropTypes.string,\n disabled: PropTypes.bool,\n showEdit: PropTypes.func,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n toggleReaction: PropTypes.func,\n membersMap: PropTypes.instanceOf(Map),\n emojiAllMap: PropTypes.instanceOf(Map),\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nOGMessageSwitch.defaultProps = {\n className: '',\n status: '',\n disabled: false,\n showEdit: noop,\n showRemove: noop,\n resendMessage: noop,\n toggleReaction: noop,\n membersMap: new Map(),\n emojiAllMap: new Map(),\n memoizedEmojiListItems: noop,\n chainTop: false,\n chainBottom: false,\n};\n\nOutgoingOGMessage.propTypes = {\n status: PropTypes.string,\n userId: PropTypes.string.isRequired,\n message: PropTypes.shape({\n message: PropTypes.string,\n ogMetaData: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.string,\n url: PropTypes.string,\n defaultImage: PropTypes.shape({\n url: PropTypes.string,\n alt: PropTypes.string,\n }),\n }),\n reactions: PropTypes.array,\n updatedAt: PropTypes.number,\n isResendable: PropTypes.func,\n errorCode: PropTypes.number,\n }).isRequired,\n disabled: PropTypes.bool.isRequired,\n openLink: PropTypes.func.isRequired,\n showEdit: PropTypes.func.isRequired,\n showRemove: PropTypes.func.isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n useReaction: PropTypes.bool.isRequired,\n resendMessage: PropTypes.func.isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingOGMessage.defaultProps = {\n status: '',\n};\n\nIncomingOGMessage.propTypes = {\n userId: PropTypes.string.isRequired,\n message: PropTypes.shape({\n message: PropTypes.string,\n sender: PropTypes.shape({}),\n ogMetaData: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.string,\n url: PropTypes.string,\n defaultImage: PropTypes.shape({\n url: PropTypes.string,\n alt: PropTypes.string,\n }),\n }),\n reactions: PropTypes.array,\n updatedAt: PropTypes.number,\n }).isRequired,\n openLink: PropTypes.func.isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n useReaction: PropTypes.bool.isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n","import React, {\n useState,\n useRef,\n useMemo,\n useLayoutEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport format from 'date-fns/format';\n\nimport Message from '../../../ui/Message';\nimport AdminMessage from '../../../ui/AdminMessage';\nimport ThumbnailMessage from '../../../ui/ThumbnailMessage';\nimport FileMessage from '../../../ui/FileMessage';\nimport DateSeparator from '../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport MessageInput from '../../../ui/MessageInput';\nimport FileViewer from '../../../ui/FileViewer';\nimport RemoveMessageModal from './RemoveMessage';\nimport UnknownMessage from '../../../ui/UnknownMessage';\nimport OGMessage from '../../../ui/OGMessage';\n\nimport { MessageTypes, getMessageType } from '../types';\n\nexport default function MessageHoc({\n message,\n userId,\n disabled,\n editDisabled,\n hasSeperator,\n deleteMessage,\n updateMessage,\n status,\n resendMessage,\n useReaction,\n chainTop,\n chainBottom,\n emojiAllMap,\n membersMap,\n highLightedMessageId,\n toggleReaction,\n memoizedEmojiListItems,\n renderCustomMessage,\n currentGroupChannel,\n}) {\n const { sender = {} } = message;\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const [isAnimated, setIsAnimated] = useState(false);\n const editMessageInputRef = useRef(null);\n const useMessageScrollRef = useRef(null);\n\n useLayoutEffect(() => {\n if (highLightedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n setTimeout(() => {\n useMessageScrollRef.current.scrollIntoView({\n behavior: 'smooth',\n block: 'end',\n });\n setIsAnimated(true);\n });\n }\n } else {\n setIsAnimated(false);\n }\n }, [highLightedMessageId, useMessageScrollRef.current, message.messageId]);\n const RenderedMessage = useMemo(() => {\n if (renderCustomMessage) {\n return renderCustomMessage(message, currentGroupChannel, chainTop, chainBottom);\n // Let's change this to object type on next major version up\n }\n return null;\n }, [message, message.message, renderCustomMessage]);\n\n const isByMe = (userId === sender.userId)\n || (message.requestState === 'pending')\n || (message.requestState === 'failed');\n\n if (RenderedMessage) {\n return (\n \n {/* date-seperator */}\n {\n hasSeperator && (\n \n \n \n )\n }\n \n \n );\n }\n\n if (showEdit) {\n return (\n { setShowEdit(false); }}\n value={message.message}\n />\n );\n }\n\n return (\n \n {/* date-seperator */}\n {\n hasSeperator && (\n \n \n \n )\n }\n {/* Message */}\n {\n {\n [MessageTypes.ADMIN]: ,\n [MessageTypes.FILE]: (\n \n ),\n [MessageTypes.OG]: (\n \n ),\n [MessageTypes.THUMBNAIL]: (\n \n ),\n [MessageTypes.USER]: (\n \n ),\n }[getMessageType(message)]\n }\n {/* Modal */}\n {\n showRemove && (\n setShowRemove(false)}\n onDeleteMessage={() => {\n deleteMessage(message);\n }}\n />\n )\n }\n {\n showFileViewer && (\n setShowFileViewer(false)}\n message={message}\n onDelete={() => {\n deleteMessage(message, () => {\n setShowFileViewer(false);\n });\n }}\n isByMe={isByMe}\n />\n )\n }\n {\n !((message.isFileMessage && message.isFileMessage()) || message.messageType === 'file')\n && !(message.isAdminMessage && message.isAdminMessage())\n && !(((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user'))\n && !(showFileViewer)\n && (\n \n )\n }\n \n );\n}\n\nMessageHoc.propTypes = {\n userId: PropTypes.string,\n message: PropTypes.shape({\n isFileMessage: PropTypes.func,\n isAdminMessage: PropTypes.func,\n isUserMessage: PropTypes.func,\n isDateSeperator: PropTypes.func,\n // should be a number, but there's a bug in SDK shich returns string\n messageId: PropTypes.number,\n type: PropTypes.string,\n createdAt: PropTypes.number,\n message: PropTypes.string,\n requestState: PropTypes.string,\n messageType: PropTypes.string,\n sender: PropTypes.shape({ userId: PropTypes.string }),\n ogMetaData: PropTypes.shape({}),\n }),\n highLightedMessageId: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n renderCustomMessage: PropTypes.func,\n currentGroupChannel: PropTypes.shape({}),\n hasSeperator: PropTypes.bool,\n disabled: PropTypes.bool,\n editDisabled: PropTypes.bool,\n deleteMessage: PropTypes.func.isRequired,\n updateMessage: PropTypes.func.isRequired,\n resendMessage: PropTypes.func.isRequired,\n status: PropTypes.string,\n useReaction: PropTypes.bool.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n};\n\nMessageHoc.defaultProps = {\n userId: '',\n editDisabled: false,\n renderCustomMessage: null,\n currentGroupChannel: {},\n message: {},\n hasSeperator: false,\n disabled: false,\n highLightedMessageId: null,\n status: '',\n toggleReaction: () => { },\n memoizedEmojiListItems: () => '',\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport './conversation-scroll.scss';\nimport * as messageActionTypes from '../dux/actionTypes';\n\nimport MessageHOC from './MessageHOC';\nimport {\n getParsedStatus,\n compareMessagesForGrouping,\n} from '../utils';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../ui/PlaceHolder';\n\nexport default class ConversationScroll extends Component {\n onScroll = (e) => {\n const {\n scrollRef,\n hasMore,\n messagesDispatcher,\n onScroll,\n onScrollDown,\n currentGroupChannel,\n } = this.props;\n\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n if (scrollTop === 0) {\n if (!hasMore) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll('.sendbird-msg--scroll-ref');\n const first = nodes && nodes[0];\n onScroll(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n try {\n first.scrollIntoView();\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (clientHeight + scrollTop === scrollHeight) {\n const nodes = scrollRef.current.querySelectorAll('.sendbird-msg--scroll-ref');\n const last = nodes && nodes[nodes.length - 1];\n onScrollDown(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n try {\n last.scrollIntoView();\n } catch (error) {\n //\n }\n }\n });\n }\n\n // do this later\n setTimeout(() => {\n // mark as read if scroll is at end\n if (clientHeight + scrollTop === scrollHeight) {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n });\n currentGroupChannel.markAsRead();\n }\n }, 500);\n }\n\n render() {\n const {\n userId,\n disabled,\n scrollRef,\n readStatus,\n membersMap,\n allMessages,\n useReaction,\n emojiAllMap,\n editDisabled,\n deleteMessage,\n updateMessage,\n resendMessage,\n renderCustomMessage,\n renderChatItem,\n highLightedMessageId,\n emojiContainer,\n toggleReaction,\n useMessageGrouping,\n currentGroupChannel,\n memoizedEmojiListItems,\n } = this.props;\n\n if (allMessages.length < 1) {\n return (\n \n );\n }\n\n return (\n
\n \n
\n {/*\n To do: Implement windowing\n Implement windowing if you are dealing with large number of messages/channels\n https://github.com/bvaughn/react-window -> recommendation\n We hesitate to bring one more dependency to our library,\n we are planning to implement it inside the library\n */}\n
\n {\n allMessages.map(\n (m, idx) => {\n const previousMessage = allMessages[idx - 1];\n const nextMessage = allMessages[idx + 1];\n const [chainTop, chainBottom] = useMessageGrouping\n ? compareMessagesForGrouping(previousMessage, m, nextMessage)\n : [false, false];\n const previousMessageCreatedAt = previousMessage && previousMessage.createdAt;\n const currentCreatedAt = m.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeperator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n if (renderChatItem) {\n return (\n \n {\n renderChatItem({\n message: m,\n highLightedMessageId,\n channel: currentGroupChannel,\n onDeleteMessage: deleteMessage,\n onUpdateMessage: updateMessage,\n onResendMessage: resendMessage,\n emojiContainer,\n chainTop,\n chainBottom,\n })\n }\n
\n );\n }\n\n return (\n \n );\n },\n )\n }\n
\n
\n \n );\n }\n}\n\nConversationScroll.propTypes = {\n // https://stackoverflow.com/a/52646941\n scrollRef: PropTypes.shape({\n current: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.shape({}),\n ]),\n }).isRequired,\n hasMore: PropTypes.bool,\n messagesDispatcher: PropTypes.func.isRequired,\n onScroll: PropTypes.func,\n onScrollDown: PropTypes.func,\n editDisabled: PropTypes.bool,\n disabled: PropTypes.bool,\n userId: PropTypes.string,\n allMessages: PropTypes.arrayOf(PropTypes.shape({\n createdAt: PropTypes.number,\n })).isRequired,\n deleteMessage: PropTypes.func.isRequired,\n resendMessage: PropTypes.func.isRequired,\n updateMessage: PropTypes.func.isRequired,\n readStatus: PropTypes.shape({}).isRequired,\n currentGroupChannel: PropTypes.shape({\n markAsRead: PropTypes.func,\n members: PropTypes.arrayOf(PropTypes.shape({})),\n }).isRequired,\n highLightedMessageId: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n renderChatItem: PropTypes.element,\n renderCustomMessage: PropTypes.func,\n useReaction: PropTypes.bool,\n emojiContainer: PropTypes.shape({}),\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n useMessageGrouping: PropTypes.bool,\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n};\n\nConversationScroll.defaultProps = {\n hasMore: false,\n editDisabled: false,\n disabled: false,\n userId: '',\n renderCustomMessage: null,\n renderChatItem: null,\n highLightedMessageId: null,\n onScroll: null,\n onScrollDown: null,\n useReaction: true,\n emojiContainer: {},\n emojiAllMap: new Map(),\n membersMap: new Map(),\n useMessageGrouping: true,\n toggleReaction: () => { },\n memoizedEmojiListItems: () => '',\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './notification.scss';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\n\nexport default function Notification({\n count,\n time,\n onClick,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n const timeArray = time.split(' ');\n timeArray.splice(-2, 0, stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__ON);\n return (\n // eslint-disable-next-line\n
\n \n \n
\n );\n}\n\nNotification.propTypes = {\n count: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n time: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n};\n\nNotification.defaultProps = {\n count: 0,\n time: '',\n};\n","import React, { useContext } from 'react';\n\nimport './notification.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelTypography } from '../../../ui/Label';\n\nconst FrozenNotification = (): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n \n {stringSet.CHANNEL_FROZEN}\n \n
\n );\n}\n\nexport default FrozenNotification;\n","import React, { useEffect, useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { uuidv4 } from '../../../utils/uuid';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\n\nconst TypingIndicatorText = ({ members }) => {\n const { stringSet } = useContext(LocalizationContext);\n if (!members || members.length === 0) {\n return '';\n }\n\n if (members && members.length === 1) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__IS_TYPING}`;\n }\n\n if (members && members.length === 2) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__AND} ${members[1].nickname} ${stringSet.TYPING_INDICATOR__ARE_TYPING}`;\n }\n\n return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;\n};\n\nfunction TypingIndicator({ channelUrl, sb, logger }) {\n const [handlerId, setHandlerId] = useState(uuidv4());\n const [typingMembers, setTypingMembers] = useState([]);\n\n useEffect(() => {\n if (sb && sb.ChannelHandler) {\n sb.removeChannelHandler(handlerId);\n const newHandlerId = uuidv4();\n const handler = new sb.ChannelHandler();\n // there is a possible warning in here - setState called after unmount\n handler.onTypingStatusUpdated = (groupChannel) => {\n logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);\n const members = groupChannel.getTypingMembers();\n if (groupChannel.url === channelUrl) {\n setTypingMembers(members);\n }\n };\n sb.addChannelHandler(newHandlerId, handler);\n setHandlerId(newHandlerId);\n }\n\n return () => {\n setTypingMembers([]);\n if (sb && sb.removeChannelHandler) {\n sb.removeChannelHandler(handlerId);\n }\n };\n }, [channelUrl]);\n\n return (\n \n );\n}\n\nTypingIndicator.propTypes = {\n channelUrl: PropTypes.string.isRequired,\n sb: PropTypes.shape({\n ChannelHandler: PropTypes.func,\n removeChannelHandler: PropTypes.func,\n addChannelHandler: PropTypes.func,\n }).isRequired,\n logger: PropTypes.shape({\n info: PropTypes.func,\n }).isRequired,\n};\n\nexport default TypingIndicator;\n","// Logic required to handle message input rendering\n\nimport React, { useContext } from 'react';\nimport Sendbird from 'sendbird';\n\nimport { RenderGroupChannelMessageInputProps } from '../../../index';\nimport * as utils from '../utils.js';\n\nimport MessageInput from '../../../ui/MessageInput';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n channel: Sendbird.GroupChannel;\n user: Sendbird.User;\n isOnline: boolean;\n initialized: boolean;\n onSendMessage(): void;\n onFileUpload(): void;\n renderMessageInput(renderProps: RenderGroupChannelMessageInputProps): JSX.Element;\n}\n\nconst MessageInputWrapper = ({\n channel,\n user,\n onSendMessage,\n onFileUpload,\n renderMessageInput,\n isOnline,\n initialized,\n}: Props, ref: React.RefObject): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n const disabled = !initialized\n || utils.isDisabledBecauseFrozen(channel)\n || utils.isDisabledBecauseMuted(channel)\n || !isOnline;\n\n const isOperator = utils.isOperator(channel);\n const { isBroadcast } = channel;\n\n // custom message\n if (renderMessageInput) {\n return renderMessageInput({ channel, user, disabled });\n }\n\n // broadcast channel + not operator\n if (isBroadcast && !isOperator) {\n return null;\n }\n\n // other conditions\n return (\n {\n channel.startTyping();\n }}\n onSendMessage={onSendMessage}\n onFileUpload={onFileUpload}\n />\n );\n}\n\nexport default React.forwardRef(MessageInputWrapper);\n","import React, { useContext } from 'react';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, {\n LabelTypography,\n LabelColors,\n} from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\n\nimport './index.scss';\n\nfunction ConnectionStatus() {\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n \n \n \n );\n}\n\nexport default ConnectionStatus;\n","import formatDistanceToNowStrict from 'date-fns/formatDistanceToNowStrict';\nimport { LabelStringSet } from '../Label';\n\nexport const prettyDate = (date) => formatDistanceToNowStrict(date, { addSuffix: true });\n\nexport const getOthersLastSeenAt = (channel) => {\n if (!channel || !channel.getReadStatus || !channel.members || channel.members.length !== 2) {\n return '';\n }\n const lastSeenList = [...Object.values(channel.getReadStatus())];\n const lastSeenAt = lastSeenList.length > 0\n ? lastSeenList[0].last_seen_at\n : 0;\n if (lastSeenAt === 0) {\n return '';\n }\n return prettyDate(lastSeenAt);\n};\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel || (!channel.name && !channel.members)) {\n return stringSet.NO_TITLE;\n }\n if (channel.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n\n if (channel.members.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n\n return channel.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function AutoRefresh({\n repeatFunc,\n}) {\n const [label, setLabel] = useState(repeatFunc());\n\n useEffect(() => {\n const interval = setInterval(() => {\n if (label !== repeatFunc()) {\n setLabel(repeatFunc());\n }\n }, 10000);\n return () => {\n clearInterval(interval);\n };\n }, []);\n\n return (
{label}
);\n}\n\nAutoRefresh.propTypes = {\n repeatFunc: PropTypes.func.isRequired,\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport * as utils from './utils';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport AutoRefresh from '../AutoRefresh';\nimport ChannelAvatar from '../ChannelAvatar/index';\n\nconst noop = () => {};\nexport default function ChatHeader(props) {\n const {\n currentGroupChannel,\n currentUser,\n title,\n subTitle,\n isActive,\n isMuted,\n showSearchIcon,\n onSearchClick,\n onActionClick,\n theme,\n } = props;\n const { userId } = currentUser;\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n \n \n {title || utils.getChannelTitle(currentGroupChannel, userId, stringSet)}\n \n {\n (typeof isActive === 'string' && isActive === 'true') || (typeof isActive === 'boolean' && isActive)\n ?
\n : null\n }\n \n {\n subTitle\n || utils.getOthersLastSeenAt(currentGroupChannel)} />\n }\n \n
\n
\n {\n (typeof isMuted === 'string' && isMuted === 'true') || (typeof isMuted === 'boolean' && isMuted)\n ? \n : null\n }\n {\n showSearchIcon && (\n \n \n \n )\n }\n \n \n \n
\n
\n );\n}\n\nChatHeader.propTypes = {\n currentGroupChannel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n coverUrl: PropTypes.string,\n }),\n theme: PropTypes.string,\n currentUser: PropTypes.shape({\n userId: PropTypes.string,\n }),\n onSearchClick: PropTypes.func,\n showSearchIcon: PropTypes.bool,\n title: PropTypes.string,\n subTitle: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n ]),\n isActive: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n isMuted: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n onActionClick: PropTypes.func,\n};\n\nChatHeader.defaultProps = {\n currentGroupChannel: {},\n title: '',\n theme: 'light',\n subTitle: '',\n isActive: false,\n onSearchClick: noop,\n showSearchIcon: false,\n isMuted: false,\n currentUser: {},\n onActionClick: () => { },\n};\n","import React, {\n useEffect,\n useRef,\n useReducer,\n useMemo,\n useState,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport * as utils from './utils';\n\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport * as messageActionTypes from './dux/actionTypes';\nimport messagesInitialState from './dux/initialState';\nimport messagesReducer from './dux/reducers';\n\nimport useHandleChannelEvents from './hooks/useHandleChannelEvents';\nimport useGetChannel from './hooks/useGetChannel';\nimport useInitialMessagesFetch from './hooks/useInitialMessagesFetch';\nimport useHandleReconnect from './hooks/useHandleReconnect';\nimport useScrollCallback from './hooks/useScrollCallback';\nimport useScrollDownCallback from './hooks/useScrollDownCallback';\nimport useDeleteMessageCallback from './hooks/useDeleteMessageCallback';\nimport useUpdateMessageCallback from './hooks/useUpdateMessageCallback';\nimport useResendMessageCallback from './hooks/useResendMessageCallback';\nimport useSendMessageCallback from './hooks/useSendMessageCallback';\nimport useSendFileMessageCallback from './hooks/useSendFileMessageCallback';\nimport useSetReadStatus from './hooks/useSetReadStatus';\nimport useMemoizedEmojiListItems from './hooks/useMemoizedEmojiListItems';\nimport useToggleReactionCallback from './hooks/useToggleReactionCallback';\n\nimport ConversationScroll from './components/ConversationScroll';\nimport Notification from './components/Notification';\nimport FrozenNotification from './components/FrozenNotification';\nimport TypingIndicator from './components/TypingIndicator';\nimport MessageInputWrapper from './components/MessageInputWrapper';\nimport ConnectionStatus from '../../ui/ConnectionStatus';\nimport ChatHeader from '../../ui/ChatHeader';\nimport PlaceHolder, { PlaceHolderTypes } from '../../ui/PlaceHolder';\n\nconst noop = () => { };\n\nexport const ConversationPanel = (props) => {\n const {\n channelUrl,\n stores: { sdkStore, userStore },\n config: {\n userId,\n logger,\n pubSub,\n isOnline,\n theme,\n imageCompression,\n },\n dispatchers: {\n reconnect,\n },\n queries = {},\n startingPoint,\n highlightedMessage,\n useReaction,\n showSearchIcon,\n onSearchClick,\n renderChatItem,\n renderChatHeader,\n renderCustomMessage,\n renderUserProfile,\n disableUserProfile,\n renderMessageInput,\n useMessageGrouping,\n onChatHeaderActionClick,\n onBeforeSendUserMessage,\n onBeforeSendFileMessage,\n onBeforeUpdateUserMessage,\n } = props;\n\n const { sdk } = sdkStore;\n const { config } = props;\n const sdkError = sdkStore.error;\n const sdkInit = sdkStore.initialized;\n const { user } = userStore;\n if (queries.messageListQuery) {\n // eslint-disable-next-line no-console\n console.warn('messageListQuery has been deprecated, please use messageListParams instead');\n }\n\n const [intialTimeStamp, setIntialTimeStamp] = useState(startingPoint);\n useEffect(() => {\n setIntialTimeStamp(startingPoint);\n }, [startingPoint, channelUrl]);\n const highLightedMessageId = highlightedMessage;\n const userFilledMessageListQuery = queries.messageListParams;\n\n const [messagesStore, messagesDispatcher] = useReducer(messagesReducer, messagesInitialState);\n const scrollRef = useRef(null);\n\n const {\n allMessages,\n loading,\n initialized,\n unreadCount,\n unreadSince,\n isInvalid,\n currentGroupChannel = {},\n hasMore,\n lastMessageTimeStamp,\n hasMoreToBottom,\n latestFetchedMessageTimeStamp,\n emojiContainer,\n readStatus,\n } = messagesStore;\n const { isFrozen, isBroadcast, isSuper } = currentGroupChannel;\n const { appInfo = {} } = sdk;\n const usingReaction = (\n appInfo.isUsingReaction && !isBroadcast && !isSuper && useReaction\n );\n\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n\n const emojiAllMap = useMemo(() => (\n usingReaction\n ? utils.getAllEmojisMapFromEmojiContainer(emojiContainer)\n : new Map()\n ), [emojiContainer]);\n\n const emojiAllList = useMemo(() => (\n usingReaction\n ? utils.getAllEmojisFromEmojiContainer(emojiContainer)\n : []\n ), [emojiContainer]);\n\n const nicknamesMap = useMemo(() => (\n usingReaction\n ? utils.getNicknamesMapFromMembers(currentGroupChannel.members)\n : new Map()\n ), [currentGroupChannel.members]);\n\n const onScrollCallback = useScrollCallback({\n currentGroupChannel, lastMessageTimeStamp, userFilledMessageListQuery,\n }, {\n hasMore,\n logger,\n messagesDispatcher,\n sdk,\n });\n\n const onScrollDownCallback = useScrollDownCallback({\n currentGroupChannel,\n latestFetchedMessageTimeStamp,\n userFilledMessageListQuery,\n hasMoreToBottom,\n }, {\n logger,\n messagesDispatcher,\n sdk,\n });\n\n const toggleReaction = useToggleReactionCallback({ currentGroupChannel }, { logger });\n\n const memoizedEmojiListItems = useMemoizedEmojiListItems({\n emojiContainer, toggleReaction,\n }, {\n useReaction: usingReaction,\n logger,\n userId,\n emojiAllList,\n });\n\n // to create message-datasource\n useGetChannel(\n { channelUrl, sdkInit },\n { messagesDispatcher, sdk, logger },\n );\n\n // Hook to handle ChannelEvents and send values to useReducer using messagesDispatcher\n useHandleChannelEvents(\n { currentGroupChannel, sdkInit, hasMoreToBottom },\n {\n messagesDispatcher,\n sdk,\n logger,\n scrollRef,\n },\n );\n\n useInitialMessagesFetch({\n currentGroupChannel,\n userFilledMessageListQuery,\n intialTimeStamp,\n }, {\n sdk,\n logger,\n messagesDispatcher,\n });\n\n // handles API calls from withSendbird\n useEffect(() => {\n const subScriber = utils.pubSubHandler(channelUrl, pubSub, messagesDispatcher);\n return () => {\n utils.pubSubHandleRemover(subScriber);\n };\n }, [channelUrl, sdkInit]);\n\n // to create initial read status\n useSetReadStatus(\n { allMessages, currentGroupChannel },\n { messagesDispatcher, sdk, logger },\n );\n\n // handling connection breaks\n useHandleReconnect({ isOnline }, {\n logger,\n sdk,\n currentGroupChannel,\n messagesDispatcher,\n userFilledMessageListQuery,\n });\n\n const deleteMessage = useDeleteMessageCallback({ currentGroupChannel, messagesDispatcher },\n { logger });\n const updateMessage = useUpdateMessageCallback(\n { currentGroupChannel, messagesDispatcher, onBeforeUpdateUserMessage },\n { logger, sdk, pubSub },\n );\n const resendMessage = useResendMessageCallback(\n { currentGroupChannel, messagesDispatcher },\n { logger },\n );\n const [messageInputRef, onSendMessage] = useSendMessageCallback(\n { currentGroupChannel, onBeforeSendUserMessage },\n {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n },\n );\n const [onSendFileMessage] = useSendFileMessageCallback(\n { currentGroupChannel, onBeforeSendFileMessage, imageCompression },\n {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n },\n );\n\n if (!channelUrl) {\n return (
);\n }\n if (isInvalid) {\n return (
);\n }\n if (sdkError) {\n return (\n
\n {\n logger.info('Channel: reconnecting');\n reconnect();\n }}\n />\n
\n );\n }\n return (\n \n {\n renderChatHeader\n ? renderChatHeader({ channel: currentGroupChannel, user })\n : (\n \n )\n }\n {\n isFrozen && (\n \n )\n }\n {\n unreadCount > 0 && (\n {\n if (intialTimeStamp) {\n setIntialTimeStamp(null);\n } else {\n utils.scrollIntoLast();\n // there is no scroll\n if (scrollRef.current.scrollTop === 0) {\n currentGroupChannel.markAsRead();\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n });\n }\n }\n }}\n time={unreadSince}\n />\n )\n }\n {\n loading\n ? (\n
\n ) : (\n \n )\n }\n
\n \n
\n \n
\n {\n !isOnline && (\n \n )\n }\n
\n \n );\n};\n\nConversationPanel.propTypes = {\n channelUrl: PropTypes.string,\n stores: PropTypes.shape({\n sdkStore: PropTypes.shape({\n initialized: PropTypes.bool,\n sdk: PropTypes.shape({\n getErrorFirstCallback: PropTypes.func,\n removeChannelHandler: PropTypes.func,\n GroupChannel: PropTypes.any,\n ChannelHandler: PropTypes.any,\n addChannelHandler: PropTypes.func,\n UserMessageParams: PropTypes.any,\n FileMessageParams: PropTypes.any,\n getAllEmoji: PropTypes.func,\n appInfo: PropTypes.shape({}),\n }),\n error: PropTypes.bool,\n }),\n userStore: PropTypes.shape({\n user: PropTypes.shape({}),\n }),\n }).isRequired,\n dispatchers: PropTypes.shape({\n reconnect: PropTypes.func,\n }).isRequired,\n config: PropTypes.shape({\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n userId: PropTypes.string.isRequired,\n isOnline: PropTypes.bool.isRequired,\n theme: PropTypes.string,\n logger: PropTypes.shape({\n info: PropTypes.func,\n error: PropTypes.func,\n warning: PropTypes.func,\n }),\n pubSub: PropTypes.shape({\n subscribe: PropTypes.func,\n publish: PropTypes.func,\n }),\n imageCompression: PropTypes.shape({\n compressionRate: PropTypes.number,\n resizingWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n resizingHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n }).isRequired,\n queries: PropTypes.shape({\n messageListParams: PropTypes.shape({\n includeMetaArray: PropTypes.bool,\n includeParentMessageText: PropTypes.bool,\n includeReaction: PropTypes.bool,\n includeReplies: PropTypes.bool,\n includeThreadInfo: PropTypes.bool,\n limit: PropTypes.number,\n reverse: PropTypes.bool,\n senderUserIdsFilter: PropTypes.arrayOf(PropTypes.string),\n }),\n }),\n startingPoint: PropTypes.number,\n highlightedMessage: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n onBeforeSendUserMessage: PropTypes.func, // onBeforeSendUserMessage(text)\n onBeforeSendFileMessage: PropTypes.func, // onBeforeSendFileMessage(File)\n onBeforeUpdateUserMessage: PropTypes.func,\n renderChatItem: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n renderCustomMessage: PropTypes.func,\n renderMessageInput: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n renderChatHeader: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n showSearchIcon: PropTypes.bool,\n onSearchClick: PropTypes.func,\n onChatHeaderActionClick: PropTypes.func,\n useReaction: PropTypes.bool,\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n useMessageGrouping: PropTypes.bool,\n};\n\nConversationPanel.defaultProps = {\n channelUrl: null,\n queries: {},\n onBeforeSendUserMessage: null,\n onBeforeSendFileMessage: null,\n onBeforeUpdateUserMessage: null,\n startingPoint: null,\n highlightedMessage: null,\n renderChatItem: null,\n renderCustomMessage: null,\n renderMessageInput: null,\n renderChatHeader: null,\n useReaction: true,\n showSearchIcon: false,\n onSearchClick: noop,\n disableUserProfile: false,\n renderUserProfile: null,\n useMessageGrouping: true,\n onChatHeaderActionClick: noop,\n};\n\nexport const {\n getEmojiCategoriesFromEmojiContainer,\n getAllEmojisFromEmojiContainer,\n getEmojisFromEmojiContainer,\n} = utils;\n\nexport default withSendbirdContext(ConversationPanel);\n"],"names":["RESET_MESSAGES","RESET_STATE","CLEAR_SENT_MESSAGES","GET_PREV_MESSAGES_START","GET_PREV_MESSAGES_SUCESS","GET_NEXT_MESSAGES_SUCESS","GET_NEXT_MESSAGES_FAILURE","SEND_MESSAGEGE_START","SEND_MESSAGEGE_SUCESS","SEND_MESSAGEGE_FAILURE","RESEND_MESSAGEGE_START","ON_MESSAGE_RECEIVED","UPDATE_UNREAD_COUNT","ON_MESSAGE_UPDATED","ON_MESSAGE_DELETED","ON_MESSAGE_DELETED_BY_REQ_ID","SET_CURRENT_CHANNEL","SET_CHANNEL_INVALID","MARK_AS_READ","ON_REACTION_UPDATED","SET_EMOJI_CONTAINER","SET_READ_STATUS","MessageTypes","ADMIN","USER","FILE","THUMBNAIL","OG","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","getMessageType","message","isUserMessage","messageType","ogMetaData","isAdminMessage","isFileMessage","isImage","type","isVideo","UNDEFINED","scrollIntoLast","intialTry","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollTop","scrollHeight","error","setTimeout","pubSubHandleRemover","subscriber","forEach","s","remove","pubSubHandler","channelUrl","pubSub","dispatcher","Map","subscribe","set","topics","msg","channel","url","channelActions","payload","fromSelector","messageId","getParsedStatus","currentGroupChannel","requestState","MessageStatusType","SENT","unreadCount","getReadReceipt","READ","isDelivered","getDeliveryReceipt","DELIVERED","isOperator","groupChannel","myRole","isDisabledBecauseFrozen","isFrozen","isDisabledBecauseMuted","myMutedState","getEmojiCategoriesFromEmojiContainer","emojiContainer","emojiCategories","getAllEmojisFromEmojiContainer","allEmojis","categoryIndex","length","emojis","emojiIndex","push","getEmojisFromEmojiContainer","emojiCategoryId","filter","emojiCategory","id","getAllEmojisMapFromEmojiContainer","allEmojisMap","key","getNicknamesMapFromMembers","members","nicknamesMap","memberIndex","userId","nickname","getMessageCreatedAt","format","createdAt","isSameGroup","comparingMessage","sender","sendingStatus","compareMessagesForGrouping","prevMessage","currMessage","nextMessage","hasOwnProperty","property","passUnsuccessfullMessages","allMessages","newMessage","lastIndexOfSucceededMessage","map","lastIndexOf","messages","splice","pxToNumber","px","parsed","Number","parseFloat","isNaN","initialized","loading","hasMore","lastMessageTimeStamp","hasMoreToBottom","latestFetchedMessageTimeStamp","readStatus","unreadSince","isInvalid","reducer","state","action","actionTypes","initialState","m","receivedMessages","stateChannel","stateChannelUrl","actionChannelUrl","filteredAllMessages","find","compareIds","hasHasMoreToBottom","hasLatestFetchedMessageTimeStamp","newMessages","reqId","sort","a","b","failed","currentGroupChannelUrl","scrollToEnd","indexOf","Date","applyReactionEvent","useHandleChannelEvents","sdkInit","messagesDispatcher","sdk","logger","scrollRef","useEffect","messageReceiverId","uuidv4","ChannelHandler","info","onMessageReceived","current","offsetHeight","messageActions","markAsRead","warning","onMessageUpdated","onMessageDeleted","_","onReactionUpdated","reactionEvent","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onUserMuted","onUserUnmuted","onUserBanned","onOperatorUpdated","addChannelHandler","removeChannelHandler","useSetChannel","GroupChannel","getChannel","then","messageActionTypes","catch","e","getAllEmoji","emojiContainer_","err","PREV_RESULT_SIZE","NEXT_RESULT_SIZE","getLatestMessageTimeStamp","latestMessage","useInitialMessagesFetch","userFilledMessageListQuery","intialTimeStamp","MessageListParams","getMessagesByMessageId","messageListParams","prevResultSize","isInclusive","includeReplies","includeReaction","Object","keys","nextResultSize","getMessagesByTimestamp","getTime","finally","utils","useHandleReconnect","isOnline","wasOffline","appInfo","useReaction","isUsingReaction","lastMessageTime","useScrollCallback","useCallback","cb","hasMoreMessages","lastMessageTs","RESULT_SIZE","useScrollDownCallback","messagesLength","useDeleteMessageCallback","deleteMessage","useUpdateMessageCallback","onBeforeUpdateUserMessage","text","createParamsDefault","txt","params","UserMessageParams","createCustomPrams","updateUserMessage","r","swapParams","getErrorFirstCallback","publish","useResendMessageCallback","failedMessage","file","isResendable","resendUserMessage","resendFileMessage","console","useSendMessageCallback","onBeforeSendUserMessage","messageInputRef","useRef","sendMessage","value","trim","pendingMsg","sendUserMessage","res","useSendFileMessageCallback","onBeforeSendFileMessage","imageCompression","compressionRate","resizingWidth","resizingHeight","createCustomParams","compressibleFileType","compressibleRatio","compressibleDiamensions","canCompressImage","file_","FileMessageParams","image","createElement","src","URL","createObjectURL","onload","revokeObjectURL","canvas","imageWdith","naturalWidth","width","imageHeight","naturalHeight","height","targetWidth","targetHeight","context","getContext","drawImage","toBlob","newImageBlob","compressedFile","File","name","pendingMessage","sendFileMessage","response","localUrl","useSetReadStatus","setReadStatus","allReadStatus","reduce","accumulator","handler","handleMessageStatus","c","onDeliveryReceiptUpdated","onReadReceiptUpdated","handlerId","ReactionButton","React","forwardRef","props","ref","children","onClick","selected","className","injectingClassName","Array","isArray","join","slice","propTypes","PropTypes","element","isRequired","func","bool","oneOfType","number","string","arrayOf","defaultProps","useMemoizedEmojiListItems","toggleReaction","emojiAllList","useMemo","parentRef","parentContainRef","closeDropdown","spaceFromTrigger","emoji","reactedReaction","reactions","reaction","isReacted","userIds","IconTypes","QUESTION","useToggleReactionCallback","deleteReaction","addReaction","MessageStatus","status","label","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_2","icon","SPINNER","DONE","IconColors","DONE_ALL","ERROR","objectOf","array","object","ReactionBadge","count","isAdd","unshift","ONBACKGROUND_1","CLASS_NAME","Tooltip","SPACE_FROM_TRIGGER","TooltipWrapper","hoverTooltip","useState","showHoverTooltip","setShowHoverTooltip","childrenRef","bottom","left","offsetWidth","EmojiReactions","emojiAllMap","membersMap","memoizedEmojiListItems","MemoizedEmojiListItems","imageWidth","emojiReactionAddRef","messageReactions","useContext","LocalizationContext","stringSet","emojiUrl","get","reactedUserCount","reactedByMe","nicknames","currentUserId","TOOLTIP__UNKOWN_USER","stringSetForMe","TOOLTIP__AND_YOU","TOOLTIP__YOU","size","toggleDropdown","ON_BACKGROUND_3","EMOJI_MORE","y","shape","instanceOf","WORD_TYPOGRAPHY","BODY_1","EDITED_COLOR","useMemoizedMessageText","updatedAt","splitMessage","split","matchedMessage","word","MESSAGE_EDITED","MOUSE_ENTER","MOUSE_LEAVE","useMouseHover","setHover","handleMouseOver","handleMouseOut","addEventListener","removeEventListener","noop","GROUPING_PADDING","NORMAL_PADDING","Message","isByMe","resendMessage","disabled","showEdit","showRemove","chainTop","chainBottom","memoizedMessageText","OutgoingUserMessage","MemoizedMessageText","messageRef","parentRefReactions","parentRefMenus","isMessageSent","getIsSentFromStatus","mousehover","setMousehover","moreActive","setMoreActive","menuDisplaying","setMenuDisplaying","handleMoreIconClick","handleMoreIconBlur","paddingTop","paddingBottom","MORE","CONTENT_INVERSE","close","copyToClipboard","IncomingUserMessage","avatarRef","UserProfileContext","disableUserProfile","renderUserProfile","showReactionAddButton","showEmojiReactions","getSenderProfileUrl","user","CAPTION_2","getSenderName","top","AdminMessage","OUTGOING_THUMBNAIL_MESSAGE","INCOMING_THUMBNAIL_MESSAGE","ThumbnailMessage","OutgoingThumbnailMessage","thumbnails","thumbnailUrl","menuRef","reactionAddRef","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","PLAY","ON_BACKGROUND_2","PHOTO","unSupported","UNKNOWN__UNKNOWN_MESSAGE_TYPE","IncomingThumbnailMessage","MAX_TRUNCATE_LENGTH","GROUPAING_PADDING","checkFileType","fileUrl","result","imageFile","audioFile","test","FILE_DOCUMENT","FILE_AUDIO","OutgoingFileMessage","openFileUrl","window","open","reactionAddButtonRef","truncate","IncomingFileMessage","MessageSwitch","RemoveMessage","onCloseModal","onDeleteMessage","MODAL__DELETE_MESSAGE__TITLE","UnknownMessage","OutgoingUnknownMessage","UNKNOWN__CANNOT_READ_MESSAGE","IncomingUnknownMessage","profileUrl","NO_NAME","URL_REG","OG_MESSAGE","OUTGOING_OG_MESSAGE","INCOMING_OG_MESSAGE","createUrlTester","regexp","clipboardData","setData","queryCommandSupported","textarea","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","friendName","checkOGIsEnalbed","WORD_COLOR","isUrl","NORAML_PADDING","OGMessageSwitch","openLink","OutgoingOGMessage","defaultImage","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","alt","THUMBNAIL_NONE","title","SUBTITLE_2","description","BODY_2","event","stopPropagation","IncomingOGMessage","errorCode","MessageHoc","editDisabled","hasSeperator","updateMessage","highLightedMessageId","renderCustomMessage","setShowEdit","setShowRemove","showFileViewer","setShowFileViewer","isAnimated","setIsAnimated","editMessageInputRef","useMessageScrollRef","useLayoutEffect","scrollIntoView","behavior","block","RenderedMessage","FileMessage","OGMessage","RemoveMessageModal","isDateSeperator","ConversationScroll","onScroll","onScrollDown","target","clientHeight","nodes","querySelectorAll","first","last","renderChatItem","useMessageGrouping","PlaceHolderTypes","NO_MESSAGES","idx","previousMessage","previousMessageCreatedAt","currentCreatedAt","isSameDay","onUpdateMessage","onResendMessage","MessageHOC","Component","Notification","time","timeArray","CHANNEL__MESSAGE_LIST__NOTIFICATION__ON","ONCONTENT_1","CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE","CHEVRON_DOWN","CONTENT","FrozenNotification","CHANNEL_FROZEN","TypingIndicatorText","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","TypingIndicator","sb","setHandlerId","typingMembers","setTypingMembers","newHandlerId","onTypingStatusUpdated","getTypingMembers","MessageInputWrapper","_a","onSendMessage","onFileUpload","renderMessageInput","isBroadcast","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__DISABLED","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__MUTED","startTyping","ConnectionStatus","TRYING_TO_CONNECT","DISCONNECTED","prettyDate","date","formatDistanceToNowStrict","addSuffix","getOthersLastSeenAt","getReadStatus","lastSeenList","values","lastSeenAt","last_seen_at","getChannelTitle","LabelStringSet","NO_TITLE","NO_MEMBERS","AutoRefresh","repeatFunc","setLabel","interval","setInterval","clearInterval","ChatHeader","currentUser","subTitle","isActive","isMuted","showSearchIcon","onSearchClick","onActionClick","theme","H_2","NOTIFICATIONS_OFF_FILLED","SEARCH","PRIMARY","INFO","coverUrl","ConversationPanel","stores","sdkStore","userStore","config","reconnect","dispatchers","queries","startingPoint","highlightedMessage","renderChatHeader","onChatHeaderActionClick","sdkError","messageListQuery","warn","setIntialTimeStamp","useReducer","messagesReducer","messagesInitialState","messagesStore","isSuper","usingReaction","userDefinedDisableUserProfile","userDefinedRenderProfile","onScrollCallback","onScrollDownCallback","useGetChannel","subScriber","onSendFileMessage","NO_CHANNELS","WRONG","LOADING","any","includeMetaArray","includeParentMessageText","includeThreadInfo","limit","reverse","senderUserIdsFilter","withSendbirdContext"],"mappings":"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"} \ No newline at end of file diff --git a/ChannelList.js b/ChannelList.js index 1e16015..2d381a6 100644 --- a/ChannelList.js +++ b/ChannelList.js @@ -1,18 +1,18 @@ -import { a as _objectSpread2, c as _toConsumableArray, e as LocalizationContext, w as withSendbirdContext, b as _slicedToArray, u as uuidv4 } from './LocalizationContext-5c5b45a0.js'; +import { a as _objectSpread2, c as _toConsumableArray, e as LocalizationContext, w as withSendbirdContext, b as _slicedToArray, u as uuidv4 } from './LocalizationContext-34316336.js'; import React, { useContext, useRef, useState, useEffect, useReducer } from 'react'; import PropTypes from 'prop-types'; import { U as UPDATE_USER_INFO } from './actionTypes-a85c0eaa.js'; -import { L as LabelStringSet, I as Icon, a as IconTypes, b as Label, c as LabelTypography, d as LabelColors, e as IconButton, A as Avatar, M as Modal, T as Type, f as TextButton, g as IconColors, C as ContextMenu, h as MenuItems, i as MenuItem, P as PlaceHolder, j as CREATE_CHANNEL$1, U as UPDATE_USER_MESSAGE, k as LEAVE_CHANNEL, S as SEND_MESSAGE_START, l as UserProfileProvider, m as PlaceHolderTypes } from './index-c97add1b.js'; +import { L as LabelStringSet, I as Icon, a as IconTypes, b as IconColors, c as Label, d as LabelTypography, e as LabelColors, f as IconButton, A as Avatar, M as Modal, T as Type, g as TextButton, C as ContextMenu, h as MenuItems, i as MenuItem, P as PlaceHolder, j as CREATE_CHANNEL$1, U as UPDATE_USER_MESSAGE, k as LEAVE_CHANNEL, S as SEND_MESSAGE_START, l as UserProfileProvider, m as PlaceHolderTypes } from './index-79d744e1.js'; +import { C as ChannelAvatar } from './index-cee71d44.js'; import { n as noop$1 } from './utils-53ba1773.js'; -import { C as ChannelAvatar } from './index-fa2a92d8.js'; -import { B as Badge, i as isBroadcastChannelEnabled, a as isSuperGroupChannelEnabled, I as InviteMembers, c as createDefaultUserListQuery, b as createChannel, L as LeaveChannelModal } from './LeaveChannel-cf9903b4.js'; +import { B as Badge, i as isBroadcastChannelEnabled, a as isSuperGroupChannelEnabled, I as InviteMembers, c as createDefaultUserListQuery, b as createChannel, L as LeaveChannelModal } from './LeaveChannel-42e6a67d.js'; import isToday from 'date-fns/isToday'; import format from 'date-fns/format'; import isYesterday from 'date-fns/isYesterday'; import './type-0296584d.js'; import { t as truncate } from './utils-cfdeb084.js'; import 'react-dom'; -import { I as InputLabel, a as Input } from './index-2c17b4ed.js'; +import { I as InputLabel, a as Input } from './index-49dfd24f.js'; var RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST'; var CREATE_CHANNEL = 'CREATE_CHANNEL'; @@ -354,9 +354,10 @@ function ChannelPreview(_ref) { }, isBroadcast && React.createElement("div", { className: "sendbird-channel-preview__broadcast-icon" }, React.createElement(Icon, { - type: theme === 'dark' ? IconTypes.BROADCAST_DARK : IconTypes.BROADCAST_LIGHT, - height: 12, - width: 12 + type: IconTypes.BROADCAST, + fillColor: IconColors.SECONDARY, + height: "16px", + width: "16px" })), React.createElement(Label, { className: "sendbird-channel-preview__content__upper__header__channel-name", type: LabelTypography.SUBTITLE_2, @@ -369,7 +370,8 @@ function ChannelPreview(_ref) { title: "Frozen", className: "sendbird-channel-preview__frozen-icon" }, React.createElement(Icon, { - type: theme === 'dark' ? IconTypes.FROZEN_DARK : IconTypes.FROZEN_LIGHT, + type: IconTypes.FREEZE, + fillColor: IconColors.PRIMARY, height: 12, width: 12 }))), React.createElement(Label, { @@ -685,7 +687,7 @@ function AddChannel(_ref) { setStep(1); } }, React.createElement(Icon, { - type: IconTypes.SUPER_GROUP + type: IconTypes.SUPERGROUP }), React.createElement(Label, { type: LabelTypography.SUBTITLE_1, color: LabelColors.ONBACKGROUND_1 diff --git a/ChannelList.js.map b/ChannelList.js.map index 9f6448a..f6522a5 100644 --- a/ChannelList.js.map +++ b/ChannelList.js.map @@ -1 +1 @@ -{"version":3,"file":"ChannelList.js","sources":["../src/smart-components/ChannelList/dux/actionTypes.js","../src/smart-components/ChannelList/dux/initialState.js","../src/smart-components/ChannelList/dux/reducers.js","../src/ui/ChannelPreview/utils.js","../src/ui/ChannelPreview/index.jsx","../src/ui/ChannelHeader/index.jsx","../src/ui/EditUserProfile/index.tsx","../src/smart-components/ChannelList/components/AddChannel.jsx","../src/smart-components/ChannelList/components/ChannelPreviewAction.jsx","../src/smart-components/ChannelList/components/Placeholder.jsx","../src/smart-components/ChannelList/utils.js","../src/smart-components/ChannelList/index.jsx"],"sourcesContent":["export const RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';\nexport const CREATE_CHANNEL = 'CREATE_CHANNEL';\nexport const UNLOAD_CHANNELS = 'UNLOAD_CHANNELS';\nexport const SET_CHANNEL_LOADING = 'SET_CHANNEL_LOADING';\nexport const LEAVE_CHANNEL_SUCCESS = 'LEAVE_CHANNEL_SUCCESS';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\n\nexport const SHOW_CHANNEL_SETTINGS = 'SHOW_CHANNEL_SETTINGS';\nexport const HIDE_CHANNEL_SETTINGS = 'HIDE_CHANNEL_SETTINGS';\n\nexport const FETCH_CHANNELS_START = 'FETCH_CHANNELS_START';\nexport const FETCH_CHANNELS_SUCCESS = 'FETCH_CHANNELS_SUCCESS';\nexport const FETCH_CHANNELS_FAILURE = 'FETCH_CHANNELS_FAILURE';\n\nexport const INIT_CHANNELS_START = 'INIT_CHANNELS_START';\nexport const INIT_CHANNELS_SUCCESS = 'INIT_CHANNELS_SUCCESS';\nexport const INIT_CHANNELS_FAILURE = 'INIT_CHANNELS_FAILURE';\n\nexport const INVITE_MEMBERS_SUCESS = 'INVITE_MEMBERS_SUCESS';\n\nexport const ON_USER_JOINED = 'ON_USER_JOINED';\nexport const ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';\nexport const ON_LAST_MESSAGE_UPDATED = 'ON_LAST_MESSAGE_UPDATED';\nexport const ON_USER_LEFT = 'ON_USER_LEFT';\nexport const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';\nexport const ON_CHANNEL_ARCHIVED = 'ON_CHANNEL_ARCHIVED';\nexport const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';\nexport const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';\n\nexport const ON_READ_RECEIPT_UPDATED = 'ON_READ_RECEIPT_UPDATED';\nexport const ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';\n\nexport const CHANNEL_REPLACED_TO_TOP = 'CHANNEL_REPLACED_TO_TOP';\n","export default {\n // we might not need this initialized state -> should remove\n initialized: false,\n loading: false,\n allChannels: [],\n currentChannel: null,\n showSettings: false,\n};\n","import * as actions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actions.INIT_CHANNELS_START:\n return {\n ...state,\n loading: true,\n };\n case actions.RESET_CHANNEL_LIST:\n return initialState;\n case actions.INIT_CHANNELS_SUCCESS:\n return {\n ...state,\n initialized: true,\n loading: false,\n allChannels: action.payload,\n currentChannel: (action.payload && action.payload.length && action.payload.length > 0)\n ? action.payload[0].url\n : null,\n };\n case actions.FETCH_CHANNELS_SUCCESS: {\n const currentChannels = state.allChannels.map((c) => c.url);\n const filteredChannels = action.payload.filter(\n ({ url }) => !(currentChannels.find((c) => c === url)),\n );\n return {\n ...state,\n allChannels: [\n ...state.allChannels,\n ...filteredChannels,\n ],\n };\n }\n case actions.CREATE_CHANNEL: {\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter(\n (channel) => channel.url !== action.payload.url,\n )],\n currentChannel: action.payload.url,\n };\n }\n case actions.ON_CHANNEL_ARCHIVED:\n case actions.LEAVE_CHANNEL_SUCCESS:\n case actions.ON_CHANNEL_DELETED: {\n const channelUrl = action.payload;\n const leftCurrentChannel = (state.currentChannel === channelUrl);\n const newAllChannels = state.allChannels.filter(({ url }) => url !== channelUrl);\n const currentChannel = leftCurrentChannel\n ? (() => (\n (newAllChannels.length > 0)\n ? newAllChannels[0].url\n : ''\n ))()\n : state.currentChannel;\n\n return {\n ...state,\n currentChannel,\n allChannels: newAllChannels,\n };\n }\n case actions.ON_USER_LEFT: {\n const { channel, isMe } = action.payload;\n const { url } = channel;\n if (isMe) {\n const leftCurrentChannel = (url === state.currentChannel);\n const newAllChannels = state.allChannels.filter((c) => (c.url !== url));\n const currentChannel = leftCurrentChannel\n ? (() => (\n (newAllChannels.length > 0)\n ? newAllChannels[0].url\n : ''\n ))()\n : state.currentChannel;\n\n return {\n ...state,\n currentChannel,\n allChannels: newAllChannels,\n };\n }\n // other user left\n const newAllChannels = state.allChannels.map((c) => ((c.url === url) ? channel : c));\n return {\n ...state,\n allChannels: newAllChannels,\n };\n }\n case actions.ON_USER_JOINED:\n case actions.ON_CHANNEL_CHANGED:\n case actions.ON_READ_RECEIPT_UPDATED:\n case actions.ON_DELIVERY_RECEIPT_UPDATED: {\n const { allChannels = [] } = state;\n const { unreadMessageCount } = action.payload;\n const channel = action.payload;\n if (!channel.lastMessage) {\n return state;\n }\n // if its only an unread message count change, dont push to top\n if (unreadMessageCount === 0) {\n const currentChannel = allChannels.find(({ url }) => url === channel.url);\n const currentUnReadCount = currentChannel && currentChannel.unreadMessageCount;\n if (currentUnReadCount === 0) {\n return {\n ...state,\n allChannels: allChannels.map((c) => {\n if (c.url === channel.url) {\n return channel;\n }\n return c;\n }),\n };\n }\n }\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter(({ url }) => url !== action.payload.url),\n ],\n };\n }\n case actions.SET_CURRENT_CHANNEL:\n return {\n ...state,\n currentChannel: action.payload,\n };\n case actions.SHOW_CHANNEL_SETTINGS:\n return {\n ...state,\n showSettings: true,\n };\n case actions.HIDE_CHANNEL_SETTINGS:\n return {\n ...state,\n showSettings: false,\n };\n case actions.ON_LAST_MESSAGE_UPDATED:\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => {\n if (channel.url === action.payload.url) {\n return action.payload;\n }\n return channel;\n }),\n };\n case actions.ON_CHANNEL_FROZEN:\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => {\n if (channel.url === action.payload.url) {\n // eslint-disable-next-line no-param-reassign\n channel.isFrozen = true;\n return channel;\n }\n return channel;\n }),\n };\n case actions.ON_CHANNEL_UNFROZEN:\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => {\n if (channel.url === action.payload.url) {\n // eslint-disable-next-line no-param-reassign\n channel.isFrozen = false;\n return channel;\n }\n return channel;\n }),\n };\n case actions.CHANNEL_REPLACED_TO_TOP:\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter((channel) => channel.url !== action.payload.url),\n ],\n };\n default:\n return state;\n }\n}\n","import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport isYesterday from 'date-fns/isYesterday';\n\nimport { truncate } from '../FileMessage/utils';\nimport { LabelStringSet } from '../Label';\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel || (!channel.name && !channel.members)) {\n return stringSet.NO_TITLE;\n }\n if (channel.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel.members.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n\n return channel.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = (channel) => {\n if (!channel || !channel.lastMessage) {\n return '';\n }\n const date = channel.lastMessage.createdAt;\n if (isToday(date)) {\n return format(date, 'p');\n }\n\n if (isYesterday(date)) {\n return 'Yesterday';\n }\n\n return format(date, 'MMM dd');\n};\n\nexport const getTotalMembers = (channel) => (\n channel && channel.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getPrettyLastMessage = (message = {}) => {\n const MAXLEN = 30;\n const { messageType, name } = message;\n if (messageType === 'file') {\n return truncate(name, MAXLEN);\n }\n return message.message;\n};\n\nexport const getLastMessage = (channel) => (\n channel && channel.lastMessage\n ? getPrettyLastMessage(channel.lastMessage)\n : ''\n);\n\nexport const getChannelUnreadMessageCount = (channel) => (\n (channel && channel.unreadMessageCount)\n ? channel.unreadMessageCount\n : 0\n);\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport ChannelAvatar from '../ChannelAvatar/index';\nimport Badge from '../Badge';\nimport Icon, { IconTypes } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport * as utils from './utils';\n\nexport default function ChannelPreview({\n channel,\n isActive,\n ChannelAction,\n theme,\n onClick,\n tabIndex,\n currentUser,\n}) {\n const {\n userId,\n } = currentUser;\n const { isBroadcast, isFrozen } = channel;\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n \n \n
\n \n
\n
\n {\n isBroadcast\n && (\n
\n \n
\n )\n }\n \n {utils.getChannelTitle(channel, userId, stringSet)}\n \n \n {utils.getTotalMembers(channel)}\n \n {\n isFrozen\n && (\n
\n \n
\n )\n }\n
\n \n {utils.getLastMessageCreatedAt(channel)}\n \n
\n\n
\n \n {utils.getLastMessage(channel)}\n \n
\n {\n utils.getChannelUnreadMessageCount(channel)\n ? \n : null\n }\n
\n
\n \n \n {ChannelAction}\n \n \n );\n}\n\nChannelPreview.propTypes = {\n isActive: PropTypes.bool,\n theme: PropTypes.string,\n channel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n coverUrl: PropTypes.string,\n isBroadcast: PropTypes.bool,\n isFrozen: PropTypes.bool,\n }),\n ChannelAction: PropTypes.element.isRequired,\n onClick: PropTypes.func,\n tabIndex: PropTypes.number,\n currentUser: PropTypes.shape({\n userId: PropTypes.string,\n }),\n};\n\nChannelPreview.defaultProps = {\n channel: {},\n isActive: false,\n theme: 'light',\n onClick: () => { },\n tabIndex: 0,\n currentUser: {},\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport IconButton from '../IconButton';\n\nimport './index.scss';\nimport Avatar from '../Avatar/index';\n\nexport default function ChannelHeader({\n user,\n iconButton,\n onEdit,\n renderHeader,\n allowProfileEdit,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n {\n renderHeader\n ? renderHeader()\n : (\n \n
\n \n
\n
\n \n {user.nickname || stringSet.NO_NAME}\n \n \n {user.userId}\n \n
\n \n )\n }\n
\n {iconButton}\n
\n \n );\n}\n\nChannelHeader.propTypes = {\n user: PropTypes.shape({\n profileUrl: PropTypes.string,\n nickname: PropTypes.string,\n userId: PropTypes.string,\n }),\n renderHeader: PropTypes.func,\n allowProfileEdit: PropTypes.bool,\n onEdit: PropTypes.func.isRequired,\n iconButton: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.instanceOf(IconButton),\n ]),\n};\n\nChannelHeader.defaultProps = {\n user: {},\n renderHeader: null,\n allowProfileEdit: false,\n iconButton: null,\n};\n","import React, {\n ReactElement,\n useRef,\n useState,\n useContext,\n} from 'react';\nimport './index.scss';\n\nimport Modal from '../Modal';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport Input, { InputLabel } from '../Input';\nimport Avatar from '../Avatar';\nimport Icon, { IconTypes } from '../Icon';\nimport { Type as ButtonType } from '../Button/type';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport TextButton from '../TextButton';\nimport { SendbirdTypes } from '../../types';\nimport { noop } from '../../utils/utils';\n\ninterface Props {\n user: SendbirdTypes['User'];\n onCancel(): void;\n onSubmit(newFile: File, newNickname: string): void;\n onThemeChange?(theme: string): void;\n theme?: string;\n changeTheme?(theme: string): void;\n}\n\nexport function EditUserProfile({\n user,\n onCancel,\n onSubmit,\n onThemeChange = null,\n theme = 'light',\n changeTheme = noop,\n}: Props): ReactElement {\n const hiddenInputRef = useRef(null);\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n\n return (\n {\n if (user.nickname !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n onSubmit(inputRef.current.value, newFile);\n onCancel();\n }}\n type={ButtonType.PRIMARY}\n >\n { e.preventDefault(); }}\n >\n
\n \n {stringSet.EDIT_PROFILE__IMAGE_LABEL}\n \n
\n \n
\n {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n hiddenInputRef.current.click()}\n notUnderline\n >\n \n \n
\n
\n \n {stringSet.EDIT_PROFILE__NICKNAME_LABEL}\n \n \n
\n
\n \n {/* userID */}\n {stringSet.EDIT_PROFILE__USERID_LABEL}\n \n \n
\n
\n \n {stringSet.EDIT_PROFILE__THEME_LABEL}\n \n
\n {\n theme === 'dark'\n ? (\n {\n changeTheme('light');\n if (onThemeChange && typeof onThemeChange === 'function') {\n onThemeChange('light');\n }\n }}\n type={IconTypes.TOGGLE_ON}\n width={44}\n height={24}\n />\n )\n : (\n {\n changeTheme('dark');\n if (onThemeChange && typeof onThemeChange === 'function') {\n onThemeChange('dark');\n }\n }}\n type={IconTypes.TOGGLE_OFF}\n width={44}\n height={24}\n />\n )\n }\n
\n
\n \n \n );\n}\n\nconst mapStoreToProps = (store) => {\n return {\n theme: store.config.theme,\n changeTheme: store.config.setCurrenttheme,\n };\n};\n\ninterface ConnectedEditUserProfileProps {\n user: SendbirdTypes['User'];\n onCancel(): void;\n onSubmit(newFile: File, newNickname: string): void;\n onThemeChange?(theme: string): void;\n}\n\nconst ConnectedEditUserProfile: (\n props: ConnectedEditUserProfileProps\n) => React.Component = withSendbirdContext(EditUserProfile, mapStoreToProps);\n\nexport default ConnectedEditUserProfile;\n","import './add-channel.scss';\n\nimport React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport IconButton from '../../../ui/IconButton';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\nimport InviteMembers from '../../InviteMembers';\n\nimport {\n createChannel,\n createDefaultUserListQuery,\n isBroadcastChannelEnabled,\n isSuperGroupChannelEnabled,\n} from './utils';\nimport { CREATE_CHANNEL } from '../dux/actionTypes';\nimport Modal from '../../../ui/Modal';\n\nexport default function AddChannel({\n sdk,\n disabled,\n channelListDispatcher,\n onBeforeCreateChannel,\n userId,\n userFilledApplicationUserListQuery,\n userListQuery,\n}) {\n const [showModal, setShowModal] = useState(false);\n const [step, setStep] = useState(0);\n const [type, setType] = useState('group');\n const { stringSet } = useContext(LocalizationContext);\n\n if (!sdk || !sdk.createApplicationUserListQuery) {\n return null;\n }\n\n const isBroadcastAvailable = isBroadcastChannelEnabled(sdk);\n const isSupergroupAvailable = isSuperGroupChannelEnabled(sdk);\n\n return (\n <>\n {\n setShowModal(true);\n }}\n disabled={disabled}\n >\n \n \n {\n showModal && step === 0 && (\n { setShowModal(false); }}\n onSubmit={() => {}}\n >\n
\n {\n setType('group');\n setStep(1);\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n setType('group');\n setStep(1);\n }}\n >\n \n \n
\n {\n isSupergroupAvailable && (\n {\n setType('supergroup');\n setStep(1);\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n setType('supergroup');\n setStep(1);\n }}\n >\n \n \n \n )\n }\n {\n isBroadcastAvailable && (\n {\n setType('broadcast');\n setStep(1);\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n setType('broadcast');\n setStep(1);\n }}\n >\n \n \n \n )\n }\n \n \n )\n }\n {\n showModal && step === 1 && (\n {\n setStep(0);\n setShowModal(false);\n }}\n idsToFilter={[userId]}\n userQueryCreator={() => ((userListQuery && typeof userListQuery === 'function')\n ? userListQuery()\n : createDefaultUserListQuery({ sdk, userFilledApplicationUserListQuery })\n )}\n onSubmit={(selectedUsers) => createChannel(\n sdk,\n selectedUsers,\n onBeforeCreateChannel,\n userId,\n type,\n ).then((channel) => {\n // maybe - do this in event listener\n channelListDispatcher({\n type: CREATE_CHANNEL,\n payload: channel,\n });\n })}\n />\n )\n }\n \n );\n}\n\nAddChannel.propTypes = {\n sdk: PropTypes.shape({\n getErrorFirstCallback: PropTypes.func,\n createApplicationUserListQuery: PropTypes.func,\n }).isRequired,\n disabled: PropTypes.bool,\n channelListDispatcher: PropTypes.func.isRequired,\n userFilledApplicationUserListQuery: PropTypes.shape({}),\n onBeforeCreateChannel: PropTypes.func,\n userId: PropTypes.string.isRequired,\n userListQuery: PropTypes.func,\n};\n\nAddChannel.defaultProps = {\n disabled: false,\n userFilledApplicationUserListQuery: {},\n onBeforeCreateChannel: null,\n userListQuery: null,\n};\n","import React, {\n useState,\n useRef,\n useContext,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../ui/ContextMenu';\nimport IconButton from '../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\nimport LeaveChannelModal from '../../ChannelSettings/components/LeaveChannel';\n\nexport default function ChannelPreviewAction({ disabled, onLeaveChannel }) {\n const parentRef = useRef(null);\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n { e.stopPropagation(); }}\n tabIndex={0}\n onClick={(e) => { e.stopPropagation(); }}\n >\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n if (disabled) { return; }\n setShowModal(true);\n closeDropdown();\n }}\n >\n {stringSet.CHANNEL_SETTING__LEAVE_CHANNEL__TITLE}\n \n \n )}\n />\n {\n showModal && (\n setShowModal(false)}\n onLeaveChannel={onLeaveChannel}\n />\n )\n }\n \n );\n}\n\nChannelPreviewAction.propTypes = {\n disabled: PropTypes.bool,\n onLeaveChannel: PropTypes.func.isRequired,\n};\n\nChannelPreviewAction.defaultProps = {\n disabled: false,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Placeholder from '../../../ui/PlaceHolder';\n\nexport default function ChannelsPlaceholder({\n type,\n}) {\n return (\n
\n \n
\n );\n}\n\nChannelsPlaceholder.propTypes = {\n type: PropTypes.string.isRequired,\n};\n","import * as channelActions from './dux/actionTypes';\nimport * as topics from '../../lib/pubSub/topics';\n\nconst createEventHandler = ({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n logger,\n}) => {\n const ChannelHandler = new sdk.ChannelHandler();\n\n ChannelHandler.onChannelChanged = (channel) => {\n logger.info('ChannelList: onChannelChanged', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_CHANGED,\n payload: channel,\n });\n };\n ChannelHandler.onChannelDeleted = (channelUrl) => {\n logger.info('ChannelList: onChannelDeleted', channelUrl);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_DELETED,\n payload: channelUrl,\n });\n };\n ChannelHandler.onUserJoined = (channel) => {\n logger.info('ChannelList: onUserJoined', channel);\n if (channel.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_USER_JOINED,\n payload: channel,\n });\n }\n };\n ChannelHandler.onUserBanned = (channel, user) => {\n const { currentUser } = sdk;\n logger.info('Channel | useHandleChannelEvents: onUserBanned', channel);\n if (user.userId === currentUser.userId) {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: true,\n },\n });\n } else {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: false,\n },\n });\n }\n };\n ChannelHandler.onUserLeft = (channel, leftUser) => {\n const { currentUser } = sdk;\n const isMe = (currentUser.userId === leftUser.userId);\n logger.info('ChannelList: onUserLeft', channel);\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe,\n },\n });\n };\n\n ChannelHandler.onReadStatus = (channel) => {\n logger.info('ChannelList: onReadStatus', channel);\n channelListDispatcher({\n type: channelActions.ON_READ_RECEIPT_UPDATED,\n payload: channel,\n });\n };\n\n ChannelHandler.onDeliveryReceiptUpdated = (channel) => {\n logger.info('ChannelList: onDeliveryReceiptUpdated', channel);\n if (channel.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_DELIVERY_RECEIPT_UPDATED,\n payload: channel,\n });\n }\n };\n\n ChannelHandler.onMessageUpdated = (channel, message) => {\n if (channel.lastMessage.isEqual(message)) {\n logger.info('ChannelList: onMessageUpdated', channel);\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n }\n };\n\n ChannelHandler.onChannelHidden = (channel) => {\n logger.info('ChannelList: onChannelHidden', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_ARCHIVED,\n payload: channel.url,\n });\n };\n\n ChannelHandler.onChannelFrozen = (channel) => {\n logger.info('ChannelList: onChannelFrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n };\n\n ChannelHandler.onChannelUnfrozen = (channel) => {\n logger.info('ChannelList: onChannelUnfrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n };\n\n logger.info('ChannelList: Added channelHandler');\n sdk.addChannelHandler(sdkChannelHandlerId, ChannelHandler);\n};\n\nconst createApplicationUserListQuery = ({ sdk, userFilledChannelListQuery = {} }) => {\n const channelListQuery = sdk.GroupChannel.createMyGroupChannelListQuery();\n channelListQuery.includeEmpty = false;\n channelListQuery.order = 'latest_last_message'; // 'chronological', 'latest_last_message', 'channel_name_alphabetical', and 'metadata_value_alphabetical'\n channelListQuery.limit = 20; // The value of pagination limit could be set up to 100.\n\n if (userFilledChannelListQuery) {\n Object.keys(userFilledChannelListQuery).forEach((key) => {\n channelListQuery[key] = userFilledChannelListQuery[key];\n });\n }\n\n return channelListQuery;\n};\n\n/**\n * Setup event listener\n * create channel source query\n * addloading screen\n */\nfunction setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n}) {\n createEventHandler({\n sdk,\n channelListDispatcher,\n sdkChannelHandlerId,\n logger,\n });\n\n logger.info('ChannelList - creating query', { userFilledChannelListQuery });\n const channelListQuery = createApplicationUserListQuery({ sdk, userFilledChannelListQuery });\n logger.info('ChannelList - created query', channelListQuery);\n\n setChannelSource(channelListQuery);\n\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_START,\n });\n\n logger.info('ChannelList - fetching channels');\n if (channelListQuery.hasNext) {\n channelListQuery.next((response, error) => {\n const swapParams = sdk.getErrorFirstCallback();\n let channelList = response;\n let err = error;\n if (swapParams) {\n channelList = error;\n err = response;\n }\n logger.info('ChannelList - fetched channels', channelList);\n if (err) {\n logger.error('ChannelList - couldnt fetch channels', err);\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_FAILURE,\n });\n return;\n }\n // select first channel\n logger.info('ChannelList - highlight channel', channelList[0]);\n let sorted = channelList;\n if (sortChannelList && typeof sortChannelList === 'function') {\n sorted = sortChannelList(channelList);\n logger.info('ChannelList - channel list sorted', sorted);\n }\n onChannelSelect(sorted[0]);\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_SUCCESS,\n payload: sorted,\n });\n if (channelList && typeof channelList.forEach === 'function') {\n logger.info('ChannelList - mark all channels as delivered');\n channelList.forEach((c) => c.markAsDelivered());\n }\n });\n } else {\n logger.warning('ChannelList - there are no more channels');\n }\n}\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (pubSub, channelListDispatcher) => {\n const subScriber = new Map();\n if (!pubSub) return subScriber;\n subScriber.set(topics.CREATE_CHANNEL, pubSub.subscribe(topics.CREATE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: 'CREATE_CHANNEL',\n payload: channel,\n });\n }));\n\n subScriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n const updatedChannel = channel;\n updatedChannel.lastMessage = message;\n if (channel) {\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: updatedChannel,\n });\n }\n }));\n\n subScriber.set(topics.LEAVE_CHANNEL, pubSub.subscribe(topics.LEAVE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel.url,\n });\n }));\n\n subScriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.CHANNEL_REPLACED_TO_TOP,\n payload: channel,\n });\n }));\n\n return subScriber;\n};\n\nexport default setupChannelList;\n","import React, { useEffect, useState, useReducer } from 'react';\nimport PropTypes from 'prop-types';\n\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport * as userActions from '../../lib/dux/user/actionTypes';\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\n\nimport * as channelListActions from './dux/actionTypes';\nimport channelListInitialState from './dux/initialState';\nimport channelListReducers from './dux/reducers';\n\nimport ChannelPreview from '../../ui/ChannelPreview';\nimport ChannelHeader from '../../ui/ChannelHeader';\nimport EditUserProfile from '../../ui/EditUserProfile';\nimport PlaceholderTypes from '../../ui/PlaceHolder/type';\n\nimport AddChannel from './components/AddChannel';\nimport ChannelPreviewAction from './components/ChannelPreviewAction';\nimport PlaceHolder from './components/Placeholder';\n\nimport setupChannelList, {\n pubSubHandler,\n pubSubHandleRemover,\n} from './utils';\nimport { uuidv4 } from '../../utils/uuid';\n\nimport './index.scss';\n\nconst noop = () => { };\n\nfunction ChannelList(props) {\n const {\n stores: { sdkStore = {}, userStore = {} },\n config: {\n userId,\n isOnline,\n userListQuery,\n logger,\n pubSub,\n theme,\n },\n dispatchers: {\n userDispatcher,\n },\n queries = {},\n renderChannelPreview,\n renderHeader,\n renderUserProfile,\n disableUserProfile,\n allowProfileEdit,\n sortChannelList,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n onChannelSelect,\n } = props;\n const { config = {} } = props;\n // enable if it is true atleast once(both are flase by default)\n const enableEditProfile = allowProfileEdit || config.allowProfileEdit;\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n const { sdk = {} } = sdkStore;\n const userFilledChannelListQuery = queries.channelListQuery;\n const userFilledApplicationUserListQuery = queries.applicationUserListQuery;\n\n const sdkError = sdkStore.error;\n\n const [user, setUser] = useState({});\n\n useEffect(() => {\n setUser(userStore.user);\n }, [userStore.user]);\n\n\n const sdkIntialized = sdkStore.initialized;\n const [channelListStore, channelListDispatcher] = useReducer(\n channelListReducers,\n channelListInitialState,\n );\n const [channelSource, setChannelSource] = useState({});\n const [sdkChannelHandlerId, setSdkChannelHandlerId] = useState(null);\n const [showProfileEdit, setShowProfileEdit] = useState(false);\n\n const { loading, currentChannel } = channelListStore;\n\n useEffect(() => {\n const subscriber = pubSubHandler(pubSub, channelListDispatcher);\n return () => {\n pubSubHandleRemover(subscriber);\n };\n }, [sdkIntialized]);\n\n useEffect(() => {\n setSdkChannelHandlerId(uuidv4);\n if (sdkIntialized) {\n logger.info('ChannelList: Setup channelHandlers');\n setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n });\n } else {\n logger.info('ChannelList: Removing channelHandlers');\n // remove previous channelHandlers\n if (sdk && sdk.removeChannelHandler) {\n sdk.removeChannelHandler(sdkChannelHandlerId);\n }\n // remove channelSource\n setChannelSource({});\n // cleanup\n channelListDispatcher({\n type: channelListActions.RESET_CHANNEL_LIST,\n });\n }\n return () => {\n logger.info('ChannelList: Removing channelHandlers');\n if (sdk && sdk.removeChannelHandler) {\n sdk.removeChannelHandler(sdkChannelHandlerId);\n }\n };\n }, [sdkIntialized, userFilledChannelListQuery, sortChannelList]);\n\n const { allChannels } = channelListStore;\n const sortedChannels = (sortChannelList && typeof sortChannelList === 'function')\n ? sortChannelList(allChannels)\n : allChannels;\n\n if (sortedChannels.length !== allChannels.length) {\n const warning = `ChannelList: You have removed/added extra channels on sortChannelList\n this could cause unexpected problems`;\n // eslint-disable-next-line no-console\n console.warn(warning, { before: allChannels, after: sortedChannels });\n logger.warning(warning, { before: allChannels, after: sortedChannels });\n }\n\n useEffect(() => {\n if (!sdk || !sdk.GroupChannel) { return; }\n sdk.GroupChannel.getChannel(currentChannel, (groupChannel) => {\n if (groupChannel) {\n onChannelSelect(groupChannel);\n } else {\n onChannelSelect(null);\n }\n });\n }, [currentChannel]);\n\n return (\n \n
\n {\n if (enableEditProfile) {\n setShowProfileEdit(true);\n }\n }}\n allowProfileEdit={enableEditProfile}\n iconButton={(\n \n )}\n />\n
\n {\n showProfileEdit && (\n { setShowProfileEdit(false); }}\n onSubmit={(newName, newFile) => {\n sdk.updateCurrentUserInfoWithProfileImage(newName, newFile, (updatedUser) => {\n userDispatcher({ type: userActions.UPDATE_USER_INFO, payload: updatedUser });\n if (onProfileEditSuccess && typeof onProfileEditSuccess === 'function') {\n onProfileEditSuccess(updatedUser);\n }\n });\n }}\n />\n )\n }\n {\n const fetchMore = e.target.clientHeight + e.target.scrollTop === e.target.scrollHeight;\n if (fetchMore && channelSource.hasNext) {\n logger.info('ChannelList: Fetching more channels');\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_START,\n });\n channelSource.next((response, error) => {\n const swapParams = sdk.getErrorFirstCallback();\n let channelList = response;\n let err = error;\n if (swapParams) {\n channelList = error;\n err = response;\n }\n if (err) {\n logger.info('ChannelList: Fetching channels failed', err);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_FAILURE,\n payload: channelList,\n });\n return;\n }\n logger.info('ChannelList: Fetching channels successful', channelList);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_SUCCESS,\n payload: channelList,\n });\n if (channelList && typeof channelList.forEach === 'function') {\n logger.info('ChannelList: Marking all channels as read');\n channelList.forEach((c) => c.markAsDelivered());\n }\n });\n }\n }}\n >\n {\n (sdkError) && (\n \n )\n }\n {/*\n To do: Implement windowing\n Implement windowing if you are dealing with large number of messages/channels\n https://github.com/bvaughn/react-window -> recommendation\n We hesitate to bring one more dependency to our library,\n we are planning to implement it inside the library\n */}\n
\n {\n sortedChannels && sortedChannels.map((channel, idx) => {\n const onLeaveChannel = (c, cb) => {\n logger.info('ChannelList: Leaving channel', c);\n c.leave()\n .then((res) => {\n logger.info('ChannelList: Leaving channel success', res);\n if (cb && typeof cb === 'function') {\n cb(res, null);\n }\n channelListDispatcher({\n type: channelListActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel.url,\n });\n })\n .catch((err) => {\n logger.error('ChannelList: Leaving channel failed', err);\n if (cb && typeof cb === 'function') {\n cb(null, err);\n }\n });\n };\n\n const onClick = () => {\n if (!isOnline) { return; }\n logger.info('ChannelList: Clicked on channel:', channel);\n channelListDispatcher({\n type: channelListActions.SET_CURRENT_CHANNEL,\n payload: channel.url,\n });\n };\n\n return (\n (renderChannelPreview)\n ? (\n // eslint-disable-next-line\n
\n {renderChannelPreview({ channel, onLeaveChannel })}\n
\n )\n : (\n onLeaveChannel(channel)}\n />\n )}\n />\n )\n );\n })\n }\n
\n {\n (!sdkIntialized || loading) && (\n \n )\n }\n {\n // placeholder\n (!allChannels || allChannels.length === 0) && (\n \n )\n }\n \n \n );\n}\n\nChannelList.propTypes = {\n stores: PropTypes.shape({\n sdkStore: PropTypes.shape({\n initialized: PropTypes.bool,\n }),\n userStore: PropTypes.shape({\n user: PropTypes.shape({}),\n }),\n }).isRequired,\n dispatchers: PropTypes.shape({\n userDispatcher: PropTypes.func,\n }).isRequired,\n config: PropTypes.shape({\n userId: PropTypes.string.isRequired,\n userListQuery: PropTypes.func,\n theme: PropTypes.string,\n isOnline: PropTypes.bool,\n logger: PropTypes.shape({\n info: PropTypes.func,\n error: PropTypes.func,\n warning: PropTypes.func,\n }),\n pubSub: PropTypes.shape({\n subscribe: PropTypes.func,\n publish: PropTypes.func,\n }),\n }).isRequired,\n queries: PropTypes.shape({\n channelListQuery: PropTypes.shape({\n channelNameContainsFilter: PropTypes.string,\n channelUrlsFilter: PropTypes.arrayOf(PropTypes.string),\n customTypesFilter: PropTypes.arrayOf(PropTypes.string),\n customTypeStartsWithFilter: PropTypes.string,\n hiddenChannelFilter: PropTypes.string,\n includeEmpty: PropTypes.bool,\n limit: PropTypes.number,\n memberStateFilter: PropTypes.string,\n metadataOrderKeyFilter: PropTypes.string,\n nicknameContainsFilter: PropTypes.string,\n order: PropTypes.string,\n publicChannelFilter: PropTypes.string,\n superChannelFilter: PropTypes.string,\n unreadChannelFilter: PropTypes.string,\n userIdsExactFilter: PropTypes.arrayOf(PropTypes.string),\n userIdsIncludeFilter: PropTypes.arrayOf(PropTypes.string),\n userIdsIncludeFilterQueryType: PropTypes.string,\n }),\n applicationUserListQuery: PropTypes.shape({\n limit: PropTypes.number,\n userIdsFilter: PropTypes.arrayOf(PropTypes.string),\n metaDataKeyFilter: PropTypes.string,\n metaDataValuesFilter: PropTypes.arrayOf(PropTypes.string),\n }),\n }),\n onBeforeCreateChannel: PropTypes.func,\n renderChannelPreview: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n allowProfileEdit: PropTypes.bool,\n sortChannelList: PropTypes.func,\n onThemeChange: PropTypes.func,\n onProfileEditSuccess: PropTypes.func,\n renderHeader: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n onChannelSelect: PropTypes.func,\n};\n\nChannelList.defaultProps = {\n onBeforeCreateChannel: null,\n renderChannelPreview: null,\n renderHeader: null,\n disableUserProfile: false,\n renderUserProfile: null,\n allowProfileEdit: false,\n onThemeChange: null,\n sortChannelList: null,\n onProfileEditSuccess: null,\n queries: {},\n onChannelSelect: noop,\n};\n\nexport default withSendbirdContext(ChannelList);\n"],"names":["RESET_CHANNEL_LIST","CREATE_CHANNEL","LEAVE_CHANNEL_SUCCESS","SET_CURRENT_CHANNEL","SHOW_CHANNEL_SETTINGS","HIDE_CHANNEL_SETTINGS","FETCH_CHANNELS_START","FETCH_CHANNELS_SUCCESS","FETCH_CHANNELS_FAILURE","INIT_CHANNELS_START","INIT_CHANNELS_SUCCESS","INIT_CHANNELS_FAILURE","ON_USER_JOINED","ON_CHANNEL_DELETED","ON_LAST_MESSAGE_UPDATED","ON_USER_LEFT","ON_CHANNEL_CHANGED","ON_CHANNEL_ARCHIVED","ON_CHANNEL_FROZEN","ON_CHANNEL_UNFROZEN","ON_READ_RECEIPT_UPDATED","ON_DELIVERY_RECEIPT_UPDATED","CHANNEL_REPLACED_TO_TOP","initialized","loading","allChannels","currentChannel","showSettings","reducer","state","action","type","actions","initialState","payload","length","url","currentChannels","map","c","filteredChannels","filter","find","channel","channelUrl","leftCurrentChannel","newAllChannels","isMe","unreadMessageCount","lastMessage","currentUnReadCount","isFrozen","getChannelTitle","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","NO_MEMBERS","userId","nickname","NO_NAME","join","getLastMessageCreatedAt","date","createdAt","isToday","format","isYesterday","getTotalMembers","memberCount","getPrettyLastMessage","message","MAXLEN","messageType","truncate","getLastMessage","getChannelUnreadMessageCount","ChannelPreview","isActive","ChannelAction","theme","onClick","tabIndex","currentUser","isBroadcast","useContext","LocalizationContext","IconTypes","BROADCAST_DARK","BROADCAST_LIGHT","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","utils","CAPTION_2","ONBACKGROUND_2","FROZEN_DARK","FROZEN_LIGHT","CAPTION_3","BODY_2","ONBACKGROUND_3","propTypes","PropTypes","bool","string","shape","arrayOf","coverUrl","element","isRequired","func","number","defaultProps","ChannelHeader","user","iconButton","onEdit","renderHeader","allowProfileEdit","profileUrl","oneOfType","instanceOf","IconButton","EditUserProfile","_a","onCancel","onSubmit","_b","onThemeChange","_c","_d","changeTheme","noop","hiddenInputRef","useRef","inputRef","formRef","_e","useState","currentImg","setCurrentImg","_f","newFile","setNewFile","EDIT_PROFILE__TITLE","BUTTON__SAVE","current","value","reportValidity","ButtonType","PRIMARY","e","preventDefault","EDIT_PROFILE__IMAGE_LABEL","display","URL","createObjectURL","target","files","click","BUTTON_1","EDIT_PROFILE__IMAGE_UPLOAD","EDIT_PROFILE__NICKNAME_LABEL","EDIT_PROFILE__NICKNAME_PLACEHOLDER","EDIT_PROFILE__USERID_LABEL","EDIT_PROFILE__THEME_LABEL","TOGGLE_ON","TOGGLE_OFF","mapStoreToProps","store","config","setCurrenttheme","ConnectedEditUserProfile","withSendbirdContext","AddChannel","sdk","disabled","channelListDispatcher","onBeforeCreateChannel","userFilledApplicationUserListQuery","userListQuery","showModal","setShowModal","step","setStep","setType","createApplicationUserListQuery","isBroadcastAvailable","isBroadcastChannelEnabled","isSupergroupAvailable","isSuperGroupChannelEnabled","CREATE","IconColors","CHAT","SUBTITLE_1","SUPER_GROUP","BROADCAST","getErrorFirstCallback","MODAL__CREATE_CHANNEL__TITLE","BUTTON__CREATE","createDefaultUserListQuery","selectedUsers","createChannel","then","ChannelPreviewAction","onLeaveChannel","parentRef","stopPropagation","toggleDropdown","MORE","closeDropdown","CHANNEL_SETTING__LEAVE_CHANNEL__TITLE","ChannelsPlaceholder","Placeholder","createEventHandler","sdkChannelHandlerId","logger","ChannelHandler","onChannelChanged","info","channelActions","onChannelDeleted","onUserJoined","onUserBanned","onUserLeft","leftUser","onReadStatus","onDeliveryReceiptUpdated","onMessageUpdated","isEqual","onChannelHidden","onChannelFrozen","onChannelUnfrozen","addChannelHandler","userFilledChannelListQuery","channelListQuery","GroupChannel","createMyGroupChannelListQuery","includeEmpty","order","limit","Object","keys","forEach","key","setupChannelList","setChannelSource","onChannelSelect","sortChannelList","hasNext","next","response","error","swapParams","channelList","err","sorted","markAsDelivered","warning","pubSubHandleRemover","subscriber","s","remove","pubSubHandler","pubSub","subScriber","Map","set","topics","subscribe","msg","updatedChannel","ChannelList","props","stores","sdkStore","userStore","isOnline","userDispatcher","dispatchers","queries","renderChannelPreview","renderUserProfile","disableUserProfile","onProfileEditSuccess","enableEditProfile","userDefinedDisableUserProfile","userDefinedRenderProfile","applicationUserListQuery","sdkError","setUser","useEffect","sdkIntialized","useReducer","channelListReducers","channelListInitialState","channelListStore","channelSource","setSdkChannelHandlerId","showProfileEdit","setShowProfileEdit","uuidv4","removeChannelHandler","channelListActions","sortedChannels","console","warn","before","after","getChannel","groupChannel","newName","updateCurrentUserInfoWithProfileImage","updatedUser","userActions","fetchMore","clientHeight","scrollTop","scrollHeight","PlaceHolder","PlaceholderTypes","WRONG","idx","cb","leave","res","catch","LOADING","NO_CHANNELS","publish","channelNameContainsFilter","channelUrlsFilter","customTypesFilter","customTypeStartsWithFilter","hiddenChannelFilter","memberStateFilter","metadataOrderKeyFilter","nicknameContainsFilter","publicChannelFilter","superChannelFilter","unreadChannelFilter","userIdsExactFilter","userIdsIncludeFilter","userIdsIncludeFilterQueryType","userIdsFilter","metaDataKeyFilter","metaDataValuesFilter"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ChannelList.js","sources":["../src/smart-components/ChannelList/dux/actionTypes.js","../src/smart-components/ChannelList/dux/initialState.js","../src/smart-components/ChannelList/dux/reducers.js","../src/ui/ChannelPreview/utils.js","../src/ui/ChannelPreview/index.jsx","../src/ui/ChannelHeader/index.jsx","../src/ui/EditUserProfile/index.tsx","../src/smart-components/ChannelList/components/AddChannel.jsx","../src/smart-components/ChannelList/components/ChannelPreviewAction.jsx","../src/smart-components/ChannelList/components/Placeholder.jsx","../src/smart-components/ChannelList/utils.js","../src/smart-components/ChannelList/index.jsx"],"sourcesContent":["export const RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';\nexport const CREATE_CHANNEL = 'CREATE_CHANNEL';\nexport const UNLOAD_CHANNELS = 'UNLOAD_CHANNELS';\nexport const SET_CHANNEL_LOADING = 'SET_CHANNEL_LOADING';\nexport const LEAVE_CHANNEL_SUCCESS = 'LEAVE_CHANNEL_SUCCESS';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\n\nexport const SHOW_CHANNEL_SETTINGS = 'SHOW_CHANNEL_SETTINGS';\nexport const HIDE_CHANNEL_SETTINGS = 'HIDE_CHANNEL_SETTINGS';\n\nexport const FETCH_CHANNELS_START = 'FETCH_CHANNELS_START';\nexport const FETCH_CHANNELS_SUCCESS = 'FETCH_CHANNELS_SUCCESS';\nexport const FETCH_CHANNELS_FAILURE = 'FETCH_CHANNELS_FAILURE';\n\nexport const INIT_CHANNELS_START = 'INIT_CHANNELS_START';\nexport const INIT_CHANNELS_SUCCESS = 'INIT_CHANNELS_SUCCESS';\nexport const INIT_CHANNELS_FAILURE = 'INIT_CHANNELS_FAILURE';\n\nexport const INVITE_MEMBERS_SUCESS = 'INVITE_MEMBERS_SUCESS';\n\nexport const ON_USER_JOINED = 'ON_USER_JOINED';\nexport const ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';\nexport const ON_LAST_MESSAGE_UPDATED = 'ON_LAST_MESSAGE_UPDATED';\nexport const ON_USER_LEFT = 'ON_USER_LEFT';\nexport const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';\nexport const ON_CHANNEL_ARCHIVED = 'ON_CHANNEL_ARCHIVED';\nexport const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';\nexport const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';\n\nexport const ON_READ_RECEIPT_UPDATED = 'ON_READ_RECEIPT_UPDATED';\nexport const ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';\n\nexport const CHANNEL_REPLACED_TO_TOP = 'CHANNEL_REPLACED_TO_TOP';\n","export default {\n // we might not need this initialized state -> should remove\n initialized: false,\n loading: false,\n allChannels: [],\n currentChannel: null,\n showSettings: false,\n};\n","import * as actions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actions.INIT_CHANNELS_START:\n return {\n ...state,\n loading: true,\n };\n case actions.RESET_CHANNEL_LIST:\n return initialState;\n case actions.INIT_CHANNELS_SUCCESS:\n return {\n ...state,\n initialized: true,\n loading: false,\n allChannels: action.payload,\n currentChannel: (action.payload && action.payload.length && action.payload.length > 0)\n ? action.payload[0].url\n : null,\n };\n case actions.FETCH_CHANNELS_SUCCESS: {\n const currentChannels = state.allChannels.map((c) => c.url);\n const filteredChannels = action.payload.filter(\n ({ url }) => !(currentChannels.find((c) => c === url)),\n );\n return {\n ...state,\n allChannels: [\n ...state.allChannels,\n ...filteredChannels,\n ],\n };\n }\n case actions.CREATE_CHANNEL: {\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter(\n (channel) => channel.url !== action.payload.url,\n )],\n currentChannel: action.payload.url,\n };\n }\n case actions.ON_CHANNEL_ARCHIVED:\n case actions.LEAVE_CHANNEL_SUCCESS:\n case actions.ON_CHANNEL_DELETED: {\n const channelUrl = action.payload;\n const leftCurrentChannel = (state.currentChannel === channelUrl);\n const newAllChannels = state.allChannels.filter(({ url }) => url !== channelUrl);\n const currentChannel = leftCurrentChannel\n ? (() => (\n (newAllChannels.length > 0)\n ? newAllChannels[0].url\n : ''\n ))()\n : state.currentChannel;\n\n return {\n ...state,\n currentChannel,\n allChannels: newAllChannels,\n };\n }\n case actions.ON_USER_LEFT: {\n const { channel, isMe } = action.payload;\n const { url } = channel;\n if (isMe) {\n const leftCurrentChannel = (url === state.currentChannel);\n const newAllChannels = state.allChannels.filter((c) => (c.url !== url));\n const currentChannel = leftCurrentChannel\n ? (() => (\n (newAllChannels.length > 0)\n ? newAllChannels[0].url\n : ''\n ))()\n : state.currentChannel;\n\n return {\n ...state,\n currentChannel,\n allChannels: newAllChannels,\n };\n }\n // other user left\n const newAllChannels = state.allChannels.map((c) => ((c.url === url) ? channel : c));\n return {\n ...state,\n allChannels: newAllChannels,\n };\n }\n case actions.ON_USER_JOINED:\n case actions.ON_CHANNEL_CHANGED:\n case actions.ON_READ_RECEIPT_UPDATED:\n case actions.ON_DELIVERY_RECEIPT_UPDATED: {\n const { allChannels = [] } = state;\n const { unreadMessageCount } = action.payload;\n const channel = action.payload;\n if (!channel.lastMessage) {\n return state;\n }\n // if its only an unread message count change, dont push to top\n if (unreadMessageCount === 0) {\n const currentChannel = allChannels.find(({ url }) => url === channel.url);\n const currentUnReadCount = currentChannel && currentChannel.unreadMessageCount;\n if (currentUnReadCount === 0) {\n return {\n ...state,\n allChannels: allChannels.map((c) => {\n if (c.url === channel.url) {\n return channel;\n }\n return c;\n }),\n };\n }\n }\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter(({ url }) => url !== action.payload.url),\n ],\n };\n }\n case actions.SET_CURRENT_CHANNEL:\n return {\n ...state,\n currentChannel: action.payload,\n };\n case actions.SHOW_CHANNEL_SETTINGS:\n return {\n ...state,\n showSettings: true,\n };\n case actions.HIDE_CHANNEL_SETTINGS:\n return {\n ...state,\n showSettings: false,\n };\n case actions.ON_LAST_MESSAGE_UPDATED:\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => {\n if (channel.url === action.payload.url) {\n return action.payload;\n }\n return channel;\n }),\n };\n case actions.ON_CHANNEL_FROZEN:\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => {\n if (channel.url === action.payload.url) {\n // eslint-disable-next-line no-param-reassign\n channel.isFrozen = true;\n return channel;\n }\n return channel;\n }),\n };\n case actions.ON_CHANNEL_UNFROZEN:\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => {\n if (channel.url === action.payload.url) {\n // eslint-disable-next-line no-param-reassign\n channel.isFrozen = false;\n return channel;\n }\n return channel;\n }),\n };\n case actions.CHANNEL_REPLACED_TO_TOP:\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter((channel) => channel.url !== action.payload.url),\n ],\n };\n default:\n return state;\n }\n}\n","import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport isYesterday from 'date-fns/isYesterday';\n\nimport { truncate } from '../FileMessage/utils';\nimport { LabelStringSet } from '../Label';\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel || (!channel.name && !channel.members)) {\n return stringSet.NO_TITLE;\n }\n if (channel.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel.members.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n\n return channel.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = (channel) => {\n if (!channel || !channel.lastMessage) {\n return '';\n }\n const date = channel.lastMessage.createdAt;\n if (isToday(date)) {\n return format(date, 'p');\n }\n\n if (isYesterday(date)) {\n return 'Yesterday';\n }\n\n return format(date, 'MMM dd');\n};\n\nexport const getTotalMembers = (channel) => (\n channel && channel.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getPrettyLastMessage = (message = {}) => {\n const MAXLEN = 30;\n const { messageType, name } = message;\n if (messageType === 'file') {\n return truncate(name, MAXLEN);\n }\n return message.message;\n};\n\nexport const getLastMessage = (channel) => (\n channel && channel.lastMessage\n ? getPrettyLastMessage(channel.lastMessage)\n : ''\n);\n\nexport const getChannelUnreadMessageCount = (channel) => (\n (channel && channel.unreadMessageCount)\n ? channel.unreadMessageCount\n : 0\n);\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport ChannelAvatar from '../ChannelAvatar/index';\nimport Badge from '../Badge';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport * as utils from './utils';\n\nexport default function ChannelPreview({\n channel,\n isActive,\n ChannelAction,\n theme,\n onClick,\n tabIndex,\n currentUser,\n}) {\n const {\n userId,\n } = currentUser;\n const { isBroadcast, isFrozen } = channel;\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n \n \n \n \n
\n
\n {\n isBroadcast\n && (\n
\n \n
\n )\n }\n \n {utils.getChannelTitle(channel, userId, stringSet)}\n \n \n {utils.getTotalMembers(channel)}\n \n {\n isFrozen\n && (\n
\n \n
\n )\n }\n
\n \n {utils.getLastMessageCreatedAt(channel)}\n \n
\n\n
\n \n {utils.getLastMessage(channel)}\n \n
\n {\n utils.getChannelUnreadMessageCount(channel)\n ? \n : null\n }\n
\n
\n \n \n {ChannelAction}\n \n \n );\n}\n\nChannelPreview.propTypes = {\n isActive: PropTypes.bool,\n theme: PropTypes.string,\n channel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n coverUrl: PropTypes.string,\n isBroadcast: PropTypes.bool,\n isFrozen: PropTypes.bool,\n }),\n ChannelAction: PropTypes.element.isRequired,\n onClick: PropTypes.func,\n tabIndex: PropTypes.number,\n currentUser: PropTypes.shape({\n userId: PropTypes.string,\n }),\n};\n\nChannelPreview.defaultProps = {\n channel: {},\n isActive: false,\n theme: 'light',\n onClick: () => { },\n tabIndex: 0,\n currentUser: {},\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport IconButton from '../IconButton';\n\nimport './index.scss';\nimport Avatar from '../Avatar/index';\n\nexport default function ChannelHeader({\n user,\n iconButton,\n onEdit,\n renderHeader,\n allowProfileEdit,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n {\n renderHeader\n ? renderHeader()\n : (\n \n
\n \n
\n
\n \n {user.nickname || stringSet.NO_NAME}\n \n \n {user.userId}\n \n
\n \n )\n }\n
\n {iconButton}\n
\n \n );\n}\n\nChannelHeader.propTypes = {\n user: PropTypes.shape({\n profileUrl: PropTypes.string,\n nickname: PropTypes.string,\n userId: PropTypes.string,\n }),\n renderHeader: PropTypes.func,\n allowProfileEdit: PropTypes.bool,\n onEdit: PropTypes.func.isRequired,\n iconButton: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.instanceOf(IconButton),\n ]),\n};\n\nChannelHeader.defaultProps = {\n user: {},\n renderHeader: null,\n allowProfileEdit: false,\n iconButton: null,\n};\n","import React, {\n ReactElement,\n useRef,\n useState,\n useContext,\n} from 'react';\nimport './index.scss';\n\nimport Modal from '../Modal';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport Input, { InputLabel } from '../Input';\nimport Avatar from '../Avatar';\nimport Icon, { IconTypes } from '../Icon';\nimport { Type as ButtonType } from '../Button/type';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport TextButton from '../TextButton';\nimport { SendbirdTypes } from '../../types';\nimport { noop } from '../../utils/utils';\n\ninterface Props {\n user: SendbirdTypes['User'];\n onCancel(): void;\n onSubmit(newFile: File, newNickname: string): void;\n onThemeChange?(theme: string): void;\n theme?: string;\n changeTheme?(theme: string): void;\n}\n\nexport function EditUserProfile({\n user,\n onCancel,\n onSubmit,\n onThemeChange = null,\n theme = 'light',\n changeTheme = noop,\n}: Props): ReactElement {\n const hiddenInputRef = useRef(null);\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n\n return (\n {\n if (user.nickname !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n onSubmit(inputRef.current.value, newFile);\n onCancel();\n }}\n type={ButtonType.PRIMARY}\n >\n { e.preventDefault(); }}\n >\n
\n \n {stringSet.EDIT_PROFILE__IMAGE_LABEL}\n \n
\n \n
\n {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n hiddenInputRef.current.click()}\n notUnderline\n >\n \n \n
\n
\n \n {stringSet.EDIT_PROFILE__NICKNAME_LABEL}\n \n \n
\n
\n \n {/* userID */}\n {stringSet.EDIT_PROFILE__USERID_LABEL}\n \n \n
\n
\n \n {stringSet.EDIT_PROFILE__THEME_LABEL}\n \n
\n {\n theme === 'dark'\n ? (\n {\n changeTheme('light');\n if (onThemeChange && typeof onThemeChange === 'function') {\n onThemeChange('light');\n }\n }}\n type={IconTypes.TOGGLE_ON}\n width={44}\n height={24}\n />\n )\n : (\n {\n changeTheme('dark');\n if (onThemeChange && typeof onThemeChange === 'function') {\n onThemeChange('dark');\n }\n }}\n type={IconTypes.TOGGLE_OFF}\n width={44}\n height={24}\n />\n )\n }\n
\n
\n \n \n );\n}\n\nconst mapStoreToProps = (store) => {\n return {\n theme: store.config.theme,\n changeTheme: store.config.setCurrenttheme,\n };\n};\n\ninterface ConnectedEditUserProfileProps {\n user: SendbirdTypes['User'];\n onCancel(): void;\n onSubmit(newFile: File, newNickname: string): void;\n onThemeChange?(theme: string): void;\n}\n\nconst ConnectedEditUserProfile: (\n props: ConnectedEditUserProfileProps\n) => React.Component = withSendbirdContext(EditUserProfile, mapStoreToProps);\n\nexport default ConnectedEditUserProfile;\n","import './add-channel.scss';\n\nimport React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport IconButton from '../../../ui/IconButton';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\nimport InviteMembers from '../../InviteMembers';\n\nimport {\n createChannel,\n createDefaultUserListQuery,\n isBroadcastChannelEnabled,\n isSuperGroupChannelEnabled,\n} from './utils';\nimport { CREATE_CHANNEL } from '../dux/actionTypes';\nimport Modal from '../../../ui/Modal';\n\nexport default function AddChannel({\n sdk,\n disabled,\n channelListDispatcher,\n onBeforeCreateChannel,\n userId,\n userFilledApplicationUserListQuery,\n userListQuery,\n}) {\n const [showModal, setShowModal] = useState(false);\n const [step, setStep] = useState(0);\n const [type, setType] = useState('group');\n const { stringSet } = useContext(LocalizationContext);\n\n if (!sdk || !sdk.createApplicationUserListQuery) {\n return null;\n }\n\n const isBroadcastAvailable = isBroadcastChannelEnabled(sdk);\n const isSupergroupAvailable = isSuperGroupChannelEnabled(sdk);\n\n return (\n <>\n {\n setShowModal(true);\n }}\n disabled={disabled}\n >\n \n \n {\n showModal && step === 0 && (\n { setShowModal(false); }}\n onSubmit={() => {}}\n >\n
\n {\n setType('group');\n setStep(1);\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n setType('group');\n setStep(1);\n }}\n >\n \n \n
\n {\n isSupergroupAvailable && (\n {\n setType('supergroup');\n setStep(1);\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n setType('supergroup');\n setStep(1);\n }}\n >\n \n \n \n )\n }\n {\n isBroadcastAvailable && (\n {\n setType('broadcast');\n setStep(1);\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n setType('broadcast');\n setStep(1);\n }}\n >\n \n \n \n )\n }\n \n \n )\n }\n {\n showModal && step === 1 && (\n {\n setStep(0);\n setShowModal(false);\n }}\n idsToFilter={[userId]}\n userQueryCreator={() => ((userListQuery && typeof userListQuery === 'function')\n ? userListQuery()\n : createDefaultUserListQuery({ sdk, userFilledApplicationUserListQuery })\n )}\n onSubmit={(selectedUsers) => createChannel(\n sdk,\n selectedUsers,\n onBeforeCreateChannel,\n userId,\n type,\n ).then((channel) => {\n // maybe - do this in event listener\n channelListDispatcher({\n type: CREATE_CHANNEL,\n payload: channel,\n });\n })}\n />\n )\n }\n \n );\n}\n\nAddChannel.propTypes = {\n sdk: PropTypes.shape({\n getErrorFirstCallback: PropTypes.func,\n createApplicationUserListQuery: PropTypes.func,\n }).isRequired,\n disabled: PropTypes.bool,\n channelListDispatcher: PropTypes.func.isRequired,\n userFilledApplicationUserListQuery: PropTypes.shape({}),\n onBeforeCreateChannel: PropTypes.func,\n userId: PropTypes.string.isRequired,\n userListQuery: PropTypes.func,\n};\n\nAddChannel.defaultProps = {\n disabled: false,\n userFilledApplicationUserListQuery: {},\n onBeforeCreateChannel: null,\n userListQuery: null,\n};\n","import React, {\n useState,\n useRef,\n useContext,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../ui/ContextMenu';\nimport IconButton from '../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\nimport LeaveChannelModal from '../../ChannelSettings/components/LeaveChannel';\n\nexport default function ChannelPreviewAction({ disabled, onLeaveChannel }) {\n const parentRef = useRef(null);\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n { e.stopPropagation(); }}\n tabIndex={0}\n onClick={(e) => { e.stopPropagation(); }}\n >\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n if (disabled) { return; }\n setShowModal(true);\n closeDropdown();\n }}\n >\n {stringSet.CHANNEL_SETTING__LEAVE_CHANNEL__TITLE}\n \n \n )}\n />\n {\n showModal && (\n setShowModal(false)}\n onLeaveChannel={onLeaveChannel}\n />\n )\n }\n \n );\n}\n\nChannelPreviewAction.propTypes = {\n disabled: PropTypes.bool,\n onLeaveChannel: PropTypes.func.isRequired,\n};\n\nChannelPreviewAction.defaultProps = {\n disabled: false,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Placeholder from '../../../ui/PlaceHolder';\n\nexport default function ChannelsPlaceholder({\n type,\n}) {\n return (\n
\n \n
\n );\n}\n\nChannelsPlaceholder.propTypes = {\n type: PropTypes.string.isRequired,\n};\n","import * as channelActions from './dux/actionTypes';\nimport * as topics from '../../lib/pubSub/topics';\n\nconst createEventHandler = ({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n logger,\n}) => {\n const ChannelHandler = new sdk.ChannelHandler();\n\n ChannelHandler.onChannelChanged = (channel) => {\n logger.info('ChannelList: onChannelChanged', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_CHANGED,\n payload: channel,\n });\n };\n ChannelHandler.onChannelDeleted = (channelUrl) => {\n logger.info('ChannelList: onChannelDeleted', channelUrl);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_DELETED,\n payload: channelUrl,\n });\n };\n ChannelHandler.onUserJoined = (channel) => {\n logger.info('ChannelList: onUserJoined', channel);\n if (channel.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_USER_JOINED,\n payload: channel,\n });\n }\n };\n ChannelHandler.onUserBanned = (channel, user) => {\n const { currentUser } = sdk;\n logger.info('Channel | useHandleChannelEvents: onUserBanned', channel);\n if (user.userId === currentUser.userId) {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: true,\n },\n });\n } else {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: false,\n },\n });\n }\n };\n ChannelHandler.onUserLeft = (channel, leftUser) => {\n const { currentUser } = sdk;\n const isMe = (currentUser.userId === leftUser.userId);\n logger.info('ChannelList: onUserLeft', channel);\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe,\n },\n });\n };\n\n ChannelHandler.onReadStatus = (channel) => {\n logger.info('ChannelList: onReadStatus', channel);\n channelListDispatcher({\n type: channelActions.ON_READ_RECEIPT_UPDATED,\n payload: channel,\n });\n };\n\n ChannelHandler.onDeliveryReceiptUpdated = (channel) => {\n logger.info('ChannelList: onDeliveryReceiptUpdated', channel);\n if (channel.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_DELIVERY_RECEIPT_UPDATED,\n payload: channel,\n });\n }\n };\n\n ChannelHandler.onMessageUpdated = (channel, message) => {\n if (channel.lastMessage.isEqual(message)) {\n logger.info('ChannelList: onMessageUpdated', channel);\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n }\n };\n\n ChannelHandler.onChannelHidden = (channel) => {\n logger.info('ChannelList: onChannelHidden', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_ARCHIVED,\n payload: channel.url,\n });\n };\n\n ChannelHandler.onChannelFrozen = (channel) => {\n logger.info('ChannelList: onChannelFrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n };\n\n ChannelHandler.onChannelUnfrozen = (channel) => {\n logger.info('ChannelList: onChannelUnfrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n };\n\n logger.info('ChannelList: Added channelHandler');\n sdk.addChannelHandler(sdkChannelHandlerId, ChannelHandler);\n};\n\nconst createApplicationUserListQuery = ({ sdk, userFilledChannelListQuery = {} }) => {\n const channelListQuery = sdk.GroupChannel.createMyGroupChannelListQuery();\n channelListQuery.includeEmpty = false;\n channelListQuery.order = 'latest_last_message'; // 'chronological', 'latest_last_message', 'channel_name_alphabetical', and 'metadata_value_alphabetical'\n channelListQuery.limit = 20; // The value of pagination limit could be set up to 100.\n\n if (userFilledChannelListQuery) {\n Object.keys(userFilledChannelListQuery).forEach((key) => {\n channelListQuery[key] = userFilledChannelListQuery[key];\n });\n }\n\n return channelListQuery;\n};\n\n/**\n * Setup event listener\n * create channel source query\n * addloading screen\n */\nfunction setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n}) {\n createEventHandler({\n sdk,\n channelListDispatcher,\n sdkChannelHandlerId,\n logger,\n });\n\n logger.info('ChannelList - creating query', { userFilledChannelListQuery });\n const channelListQuery = createApplicationUserListQuery({ sdk, userFilledChannelListQuery });\n logger.info('ChannelList - created query', channelListQuery);\n\n setChannelSource(channelListQuery);\n\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_START,\n });\n\n logger.info('ChannelList - fetching channels');\n if (channelListQuery.hasNext) {\n channelListQuery.next((response, error) => {\n const swapParams = sdk.getErrorFirstCallback();\n let channelList = response;\n let err = error;\n if (swapParams) {\n channelList = error;\n err = response;\n }\n logger.info('ChannelList - fetched channels', channelList);\n if (err) {\n logger.error('ChannelList - couldnt fetch channels', err);\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_FAILURE,\n });\n return;\n }\n // select first channel\n logger.info('ChannelList - highlight channel', channelList[0]);\n let sorted = channelList;\n if (sortChannelList && typeof sortChannelList === 'function') {\n sorted = sortChannelList(channelList);\n logger.info('ChannelList - channel list sorted', sorted);\n }\n onChannelSelect(sorted[0]);\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_SUCCESS,\n payload: sorted,\n });\n if (channelList && typeof channelList.forEach === 'function') {\n logger.info('ChannelList - mark all channels as delivered');\n channelList.forEach((c) => c.markAsDelivered());\n }\n });\n } else {\n logger.warning('ChannelList - there are no more channels');\n }\n}\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (pubSub, channelListDispatcher) => {\n const subScriber = new Map();\n if (!pubSub) return subScriber;\n subScriber.set(topics.CREATE_CHANNEL, pubSub.subscribe(topics.CREATE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: 'CREATE_CHANNEL',\n payload: channel,\n });\n }));\n\n subScriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n const updatedChannel = channel;\n updatedChannel.lastMessage = message;\n if (channel) {\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: updatedChannel,\n });\n }\n }));\n\n subScriber.set(topics.LEAVE_CHANNEL, pubSub.subscribe(topics.LEAVE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel.url,\n });\n }));\n\n subScriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.CHANNEL_REPLACED_TO_TOP,\n payload: channel,\n });\n }));\n\n return subScriber;\n};\n\nexport default setupChannelList;\n","import React, { useEffect, useState, useReducer } from 'react';\nimport PropTypes from 'prop-types';\n\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport * as userActions from '../../lib/dux/user/actionTypes';\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\n\nimport * as channelListActions from './dux/actionTypes';\nimport channelListInitialState from './dux/initialState';\nimport channelListReducers from './dux/reducers';\n\nimport ChannelPreview from '../../ui/ChannelPreview';\nimport ChannelHeader from '../../ui/ChannelHeader';\nimport EditUserProfile from '../../ui/EditUserProfile';\nimport PlaceholderTypes from '../../ui/PlaceHolder/type';\n\nimport AddChannel from './components/AddChannel';\nimport ChannelPreviewAction from './components/ChannelPreviewAction';\nimport PlaceHolder from './components/Placeholder';\n\nimport setupChannelList, {\n pubSubHandler,\n pubSubHandleRemover,\n} from './utils';\nimport { uuidv4 } from '../../utils/uuid';\n\nimport './index.scss';\n\nconst noop = () => { };\n\nfunction ChannelList(props) {\n const {\n stores: { sdkStore = {}, userStore = {} },\n config: {\n userId,\n isOnline,\n userListQuery,\n logger,\n pubSub,\n theme,\n },\n dispatchers: {\n userDispatcher,\n },\n queries = {},\n renderChannelPreview,\n renderHeader,\n renderUserProfile,\n disableUserProfile,\n allowProfileEdit,\n sortChannelList,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n onChannelSelect,\n } = props;\n const { config = {} } = props;\n // enable if it is true atleast once(both are flase by default)\n const enableEditProfile = allowProfileEdit || config.allowProfileEdit;\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n const { sdk = {} } = sdkStore;\n const userFilledChannelListQuery = queries.channelListQuery;\n const userFilledApplicationUserListQuery = queries.applicationUserListQuery;\n\n const sdkError = sdkStore.error;\n\n const [user, setUser] = useState({});\n\n useEffect(() => {\n setUser(userStore.user);\n }, [userStore.user]);\n\n\n const sdkIntialized = sdkStore.initialized;\n const [channelListStore, channelListDispatcher] = useReducer(\n channelListReducers,\n channelListInitialState,\n );\n const [channelSource, setChannelSource] = useState({});\n const [sdkChannelHandlerId, setSdkChannelHandlerId] = useState(null);\n const [showProfileEdit, setShowProfileEdit] = useState(false);\n\n const { loading, currentChannel } = channelListStore;\n\n useEffect(() => {\n const subscriber = pubSubHandler(pubSub, channelListDispatcher);\n return () => {\n pubSubHandleRemover(subscriber);\n };\n }, [sdkIntialized]);\n\n useEffect(() => {\n setSdkChannelHandlerId(uuidv4);\n if (sdkIntialized) {\n logger.info('ChannelList: Setup channelHandlers');\n setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n });\n } else {\n logger.info('ChannelList: Removing channelHandlers');\n // remove previous channelHandlers\n if (sdk && sdk.removeChannelHandler) {\n sdk.removeChannelHandler(sdkChannelHandlerId);\n }\n // remove channelSource\n setChannelSource({});\n // cleanup\n channelListDispatcher({\n type: channelListActions.RESET_CHANNEL_LIST,\n });\n }\n return () => {\n logger.info('ChannelList: Removing channelHandlers');\n if (sdk && sdk.removeChannelHandler) {\n sdk.removeChannelHandler(sdkChannelHandlerId);\n }\n };\n }, [sdkIntialized, userFilledChannelListQuery, sortChannelList]);\n\n const { allChannels } = channelListStore;\n const sortedChannels = (sortChannelList && typeof sortChannelList === 'function')\n ? sortChannelList(allChannels)\n : allChannels;\n\n if (sortedChannels.length !== allChannels.length) {\n const warning = `ChannelList: You have removed/added extra channels on sortChannelList\n this could cause unexpected problems`;\n // eslint-disable-next-line no-console\n console.warn(warning, { before: allChannels, after: sortedChannels });\n logger.warning(warning, { before: allChannels, after: sortedChannels });\n }\n\n useEffect(() => {\n if (!sdk || !sdk.GroupChannel) { return; }\n sdk.GroupChannel.getChannel(currentChannel, (groupChannel) => {\n if (groupChannel) {\n onChannelSelect(groupChannel);\n } else {\n onChannelSelect(null);\n }\n });\n }, [currentChannel]);\n\n return (\n \n
\n {\n if (enableEditProfile) {\n setShowProfileEdit(true);\n }\n }}\n allowProfileEdit={enableEditProfile}\n iconButton={(\n \n )}\n />\n
\n {\n showProfileEdit && (\n { setShowProfileEdit(false); }}\n onSubmit={(newName, newFile) => {\n sdk.updateCurrentUserInfoWithProfileImage(newName, newFile, (updatedUser) => {\n userDispatcher({ type: userActions.UPDATE_USER_INFO, payload: updatedUser });\n if (onProfileEditSuccess && typeof onProfileEditSuccess === 'function') {\n onProfileEditSuccess(updatedUser);\n }\n });\n }}\n />\n )\n }\n {\n const fetchMore = e.target.clientHeight + e.target.scrollTop === e.target.scrollHeight;\n if (fetchMore && channelSource.hasNext) {\n logger.info('ChannelList: Fetching more channels');\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_START,\n });\n channelSource.next((response, error) => {\n const swapParams = sdk.getErrorFirstCallback();\n let channelList = response;\n let err = error;\n if (swapParams) {\n channelList = error;\n err = response;\n }\n if (err) {\n logger.info('ChannelList: Fetching channels failed', err);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_FAILURE,\n payload: channelList,\n });\n return;\n }\n logger.info('ChannelList: Fetching channels successful', channelList);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_SUCCESS,\n payload: channelList,\n });\n if (channelList && typeof channelList.forEach === 'function') {\n logger.info('ChannelList: Marking all channels as read');\n channelList.forEach((c) => c.markAsDelivered());\n }\n });\n }\n }}\n >\n {\n (sdkError) && (\n \n )\n }\n {/*\n To do: Implement windowing\n Implement windowing if you are dealing with large number of messages/channels\n https://github.com/bvaughn/react-window -> recommendation\n We hesitate to bring one more dependency to our library,\n we are planning to implement it inside the library\n */}\n
\n {\n sortedChannels && sortedChannels.map((channel, idx) => {\n const onLeaveChannel = (c, cb) => {\n logger.info('ChannelList: Leaving channel', c);\n c.leave()\n .then((res) => {\n logger.info('ChannelList: Leaving channel success', res);\n if (cb && typeof cb === 'function') {\n cb(res, null);\n }\n channelListDispatcher({\n type: channelListActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel.url,\n });\n })\n .catch((err) => {\n logger.error('ChannelList: Leaving channel failed', err);\n if (cb && typeof cb === 'function') {\n cb(null, err);\n }\n });\n };\n\n const onClick = () => {\n if (!isOnline) { return; }\n logger.info('ChannelList: Clicked on channel:', channel);\n channelListDispatcher({\n type: channelListActions.SET_CURRENT_CHANNEL,\n payload: channel.url,\n });\n };\n\n return (\n (renderChannelPreview)\n ? (\n // eslint-disable-next-line\n
\n {renderChannelPreview({ channel, onLeaveChannel })}\n
\n )\n : (\n onLeaveChannel(channel)}\n />\n )}\n />\n )\n );\n })\n }\n
\n {\n (!sdkIntialized || loading) && (\n \n )\n }\n {\n // placeholder\n (!allChannels || allChannels.length === 0) && (\n \n )\n }\n \n \n );\n}\n\nChannelList.propTypes = {\n stores: PropTypes.shape({\n sdkStore: PropTypes.shape({\n initialized: PropTypes.bool,\n }),\n userStore: PropTypes.shape({\n user: PropTypes.shape({}),\n }),\n }).isRequired,\n dispatchers: PropTypes.shape({\n userDispatcher: PropTypes.func,\n }).isRequired,\n config: PropTypes.shape({\n userId: PropTypes.string.isRequired,\n userListQuery: PropTypes.func,\n theme: PropTypes.string,\n isOnline: PropTypes.bool,\n logger: PropTypes.shape({\n info: PropTypes.func,\n error: PropTypes.func,\n warning: PropTypes.func,\n }),\n pubSub: PropTypes.shape({\n subscribe: PropTypes.func,\n publish: PropTypes.func,\n }),\n }).isRequired,\n queries: PropTypes.shape({\n channelListQuery: PropTypes.shape({\n channelNameContainsFilter: PropTypes.string,\n channelUrlsFilter: PropTypes.arrayOf(PropTypes.string),\n customTypesFilter: PropTypes.arrayOf(PropTypes.string),\n customTypeStartsWithFilter: PropTypes.string,\n hiddenChannelFilter: PropTypes.string,\n includeEmpty: PropTypes.bool,\n limit: PropTypes.number,\n memberStateFilter: PropTypes.string,\n metadataOrderKeyFilter: PropTypes.string,\n nicknameContainsFilter: PropTypes.string,\n order: PropTypes.string,\n publicChannelFilter: PropTypes.string,\n superChannelFilter: PropTypes.string,\n unreadChannelFilter: PropTypes.string,\n userIdsExactFilter: PropTypes.arrayOf(PropTypes.string),\n userIdsIncludeFilter: PropTypes.arrayOf(PropTypes.string),\n userIdsIncludeFilterQueryType: PropTypes.string,\n }),\n applicationUserListQuery: PropTypes.shape({\n limit: PropTypes.number,\n userIdsFilter: PropTypes.arrayOf(PropTypes.string),\n metaDataKeyFilter: PropTypes.string,\n metaDataValuesFilter: PropTypes.arrayOf(PropTypes.string),\n }),\n }),\n onBeforeCreateChannel: PropTypes.func,\n renderChannelPreview: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n allowProfileEdit: PropTypes.bool,\n sortChannelList: PropTypes.func,\n onThemeChange: PropTypes.func,\n onProfileEditSuccess: PropTypes.func,\n renderHeader: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n onChannelSelect: PropTypes.func,\n};\n\nChannelList.defaultProps = {\n onBeforeCreateChannel: null,\n renderChannelPreview: null,\n renderHeader: null,\n disableUserProfile: false,\n renderUserProfile: null,\n allowProfileEdit: false,\n onThemeChange: null,\n sortChannelList: null,\n onProfileEditSuccess: null,\n queries: {},\n onChannelSelect: noop,\n};\n\nexport default withSendbirdContext(ChannelList);\n"],"names":["RESET_CHANNEL_LIST","CREATE_CHANNEL","LEAVE_CHANNEL_SUCCESS","SET_CURRENT_CHANNEL","SHOW_CHANNEL_SETTINGS","HIDE_CHANNEL_SETTINGS","FETCH_CHANNELS_START","FETCH_CHANNELS_SUCCESS","FETCH_CHANNELS_FAILURE","INIT_CHANNELS_START","INIT_CHANNELS_SUCCESS","INIT_CHANNELS_FAILURE","ON_USER_JOINED","ON_CHANNEL_DELETED","ON_LAST_MESSAGE_UPDATED","ON_USER_LEFT","ON_CHANNEL_CHANGED","ON_CHANNEL_ARCHIVED","ON_CHANNEL_FROZEN","ON_CHANNEL_UNFROZEN","ON_READ_RECEIPT_UPDATED","ON_DELIVERY_RECEIPT_UPDATED","CHANNEL_REPLACED_TO_TOP","initialized","loading","allChannels","currentChannel","showSettings","reducer","state","action","type","actions","initialState","payload","length","url","currentChannels","map","c","filteredChannels","filter","find","channel","channelUrl","leftCurrentChannel","newAllChannels","isMe","unreadMessageCount","lastMessage","currentUnReadCount","isFrozen","getChannelTitle","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","NO_MEMBERS","userId","nickname","NO_NAME","join","getLastMessageCreatedAt","date","createdAt","isToday","format","isYesterday","getTotalMembers","memberCount","getPrettyLastMessage","message","MAXLEN","messageType","truncate","getLastMessage","getChannelUnreadMessageCount","ChannelPreview","isActive","ChannelAction","theme","onClick","tabIndex","currentUser","isBroadcast","useContext","LocalizationContext","IconTypes","BROADCAST","IconColors","SECONDARY","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","utils","CAPTION_2","ONBACKGROUND_2","FREEZE","PRIMARY","CAPTION_3","BODY_2","ONBACKGROUND_3","propTypes","PropTypes","bool","string","shape","arrayOf","coverUrl","element","isRequired","func","number","defaultProps","ChannelHeader","user","iconButton","onEdit","renderHeader","allowProfileEdit","profileUrl","oneOfType","instanceOf","IconButton","EditUserProfile","_a","onCancel","onSubmit","_b","onThemeChange","_c","_d","changeTheme","noop","hiddenInputRef","useRef","inputRef","formRef","_e","useState","currentImg","setCurrentImg","_f","newFile","setNewFile","EDIT_PROFILE__TITLE","BUTTON__SAVE","current","value","reportValidity","ButtonType","e","preventDefault","EDIT_PROFILE__IMAGE_LABEL","display","URL","createObjectURL","target","files","click","BUTTON_1","EDIT_PROFILE__IMAGE_UPLOAD","EDIT_PROFILE__NICKNAME_LABEL","EDIT_PROFILE__NICKNAME_PLACEHOLDER","EDIT_PROFILE__USERID_LABEL","EDIT_PROFILE__THEME_LABEL","TOGGLE_ON","TOGGLE_OFF","mapStoreToProps","store","config","setCurrenttheme","ConnectedEditUserProfile","withSendbirdContext","AddChannel","sdk","disabled","channelListDispatcher","onBeforeCreateChannel","userFilledApplicationUserListQuery","userListQuery","showModal","setShowModal","step","setStep","setType","createApplicationUserListQuery","isBroadcastAvailable","isBroadcastChannelEnabled","isSupergroupAvailable","isSuperGroupChannelEnabled","CREATE","CHAT","SUBTITLE_1","SUPERGROUP","getErrorFirstCallback","MODAL__CREATE_CHANNEL__TITLE","BUTTON__CREATE","createDefaultUserListQuery","selectedUsers","createChannel","then","ChannelPreviewAction","onLeaveChannel","parentRef","stopPropagation","toggleDropdown","MORE","closeDropdown","CHANNEL_SETTING__LEAVE_CHANNEL__TITLE","ChannelsPlaceholder","Placeholder","createEventHandler","sdkChannelHandlerId","logger","ChannelHandler","onChannelChanged","info","channelActions","onChannelDeleted","onUserJoined","onUserBanned","onUserLeft","leftUser","onReadStatus","onDeliveryReceiptUpdated","onMessageUpdated","isEqual","onChannelHidden","onChannelFrozen","onChannelUnfrozen","addChannelHandler","userFilledChannelListQuery","channelListQuery","GroupChannel","createMyGroupChannelListQuery","includeEmpty","order","limit","Object","keys","forEach","key","setupChannelList","setChannelSource","onChannelSelect","sortChannelList","hasNext","next","response","error","swapParams","channelList","err","sorted","markAsDelivered","warning","pubSubHandleRemover","subscriber","s","remove","pubSubHandler","pubSub","subScriber","Map","set","topics","subscribe","msg","updatedChannel","ChannelList","props","stores","sdkStore","userStore","isOnline","userDispatcher","dispatchers","queries","renderChannelPreview","renderUserProfile","disableUserProfile","onProfileEditSuccess","enableEditProfile","userDefinedDisableUserProfile","userDefinedRenderProfile","applicationUserListQuery","sdkError","setUser","useEffect","sdkIntialized","useReducer","channelListReducers","channelListInitialState","channelListStore","channelSource","setSdkChannelHandlerId","showProfileEdit","setShowProfileEdit","uuidv4","removeChannelHandler","channelListActions","sortedChannels","console","warn","before","after","getChannel","groupChannel","newName","updateCurrentUserInfoWithProfileImage","updatedUser","userActions","fetchMore","clientHeight","scrollTop","scrollHeight","PlaceHolder","PlaceholderTypes","WRONG","idx","cb","leave","res","catch","LOADING","NO_CHANNELS","publish","channelNameContainsFilter","channelUrlsFilter","customTypesFilter","customTypeStartsWithFilter","hiddenChannelFilter","memberStateFilter","metadataOrderKeyFilter","nicknameContainsFilter","publicChannelFilter","superChannelFilter","unreadChannelFilter","userIdsExactFilter","userIdsIncludeFilter","userIdsIncludeFilterQueryType","userIdsFilter","metaDataKeyFilter","metaDataValuesFilter"],"mappings":"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"} \ No newline at end of file diff --git a/ChannelSettings.js b/ChannelSettings.js index 084b9e4..394c5d6 100644 --- a/ChannelSettings.js +++ b/ChannelSettings.js @@ -1,14 +1,14 @@ -import { b as _slicedToArray, e as LocalizationContext, d as __spreadArrays, _ as __assign, w as withSendbirdContext, u as uuidv4 } from './LocalizationContext-5c5b45a0.js'; +import { b as _slicedToArray, e as LocalizationContext, d as __spreadArrays, _ as __assign, w as withSendbirdContext, u as uuidv4 } from './LocalizationContext-34316336.js'; import React, { useRef, useState, useContext, useEffect, useCallback } from 'react'; import PropTypes from 'prop-types'; -import { M as Modal, T as Type, A as Avatar, f as TextButton, b as Label, c as LabelTypography, d as LabelColors, C as ContextMenu, e as IconButton, I as Icon, a as IconTypes, g as IconColors, h as MenuItems, i as MenuItem, n as UserProfileContext, o as UserProfile, B as Button, w as Size, z as getSdk, P as PlaceHolder, m as PlaceHolderTypes, l as UserProfileProvider } from './index-c97add1b.js'; +import { M as Modal, T as Type, A as Avatar, g as TextButton, c as Label, d as LabelTypography, e as LabelColors, C as ContextMenu, f as IconButton, I as Icon, a as IconTypes, b as IconColors, h as MenuItems, i as MenuItem, n as UserProfileContext, o as UserProfile, B as Button, w as Size, z as getSdk, P as PlaceHolder, m as PlaceHolderTypes, l as UserProfileProvider } from './index-79d744e1.js'; +import { C as ChannelAvatar } from './index-cee71d44.js'; import { n as noop } from './utils-53ba1773.js'; -import { C as ChannelAvatar } from './index-fa2a92d8.js'; -import { I as InviteMembers$1, B as Badge, c as createDefaultUserListQuery, L as LeaveChannelModal } from './LeaveChannel-cf9903b4.js'; +import { I as InviteMembers$1, B as Badge, c as createDefaultUserListQuery, L as LeaveChannelModal } from './LeaveChannel-42e6a67d.js'; import 'date-fns/format'; import 'react-dom'; -import { I as InputLabel, a as Input, U as UserListItem$2, M as MutedAvatarOverlay } from './index-2c17b4ed.js'; -import { A as AccordionGroup, a as Accordion } from './index-e492270c.js'; +import { I as InputLabel, a as Input, U as UserListItem$2, M as MutedAvatarOverlay } from './index-49dfd24f.js'; +import { A as AccordionGroup, a as Accordion } from './index-cb09a8ab.js'; var EditDetails = function EditDetails(props) { var _onSubmit = props.onSubmit, @@ -140,7 +140,9 @@ var ChannelProfile = function ChannelProfile(props) { }, React.createElement(ChannelAvatar, { channel: channel, userId: userId, - theme: theme + theme: theme, + width: 80, + height: 80 })), React.createElement(Label, { type: LabelTypography.SUBTITLE_2, color: LabelColors.ONBACKGROUND_1, @@ -1001,7 +1003,8 @@ function InviteMembers(_a) { var MemberList = function MemberList(_a) { var sdk = _a.sdk, channel = _a.channel, - userQueryCreator = _a.userQueryCreator; + userQueryCreator = _a.userQueryCreator, + userId = _a.userId; var _b = useState([]), members = _b[0], @@ -1058,7 +1061,7 @@ var MemberList = function MemberList(_a) { key: member.userId, user: member, currentUser: sdk.currentUser.userId, - action: function action(_a) { + action: userId !== member.userId ? function (_a) { var actionRef = _a.actionRef, parentRef = _a.parentRef; return React.createElement(ContextMenu, { @@ -1111,7 +1114,7 @@ var MemberList = function MemberList(_a) { }); } } - }, member.isMuted ? 'Unmute' : 'Mute'), member.role && member.role !== 'operator' && React.createElement(MenuItem, { + }, member.isMuted ? 'Unmute' : 'Mute'), React.createElement(MenuItem, { onClick: function onClick() { channel.banUser(member, -1, '', function () { refershList(); @@ -1121,7 +1124,7 @@ var MemberList = function MemberList(_a) { }, "Ban")); } }); - } + } : null }); }), React.createElement("div", { className: "sendbird-channel-settings-accordion__footer" @@ -1598,9 +1601,10 @@ var kFormatter = function kFormatter(num) { return Math.abs(num) > 999 ? (Math.abs(num) / 1000).toFixed(1) + "K" : num; }; -function index(_a) { +function AdminPannel(_a) { var userQueryCreator = _a.userQueryCreator, - channel = _a.channel; + channel = _a.channel, + userId = _a.userId; var _b = useState(false), frozen = _b[0], @@ -1620,7 +1624,7 @@ function index(_a) { id: "operators", renderTitle: function renderTitle() { return React.createElement(React.Fragment, null, React.createElement(Icon, { - type: IconTypes.ICON_OPERATOR, + type: IconTypes.OPERATOR, fillColor: IconColors.PRIMARY, width: 24, height: 24, @@ -1655,7 +1659,8 @@ function index(_a) { renderContent: function renderContent() { return React.createElement(React.Fragment, null, React.createElement(MemberList$1, { userQueryCreator: userQueryCreator, - channel: channel + channel: channel, + userId: userId })); } }), // No muted members in broadcast channel @@ -1664,7 +1669,7 @@ function index(_a) { className: "sendbird-channel-settings__muted-members-list", renderTitle: function renderTitle() { return React.createElement(React.Fragment, null, React.createElement(Icon, { - type: IconTypes.ICON_MUTED, + type: IconTypes.MUTE, fillColor: IconColors.PRIMARY, width: 24, height: 24, @@ -1684,7 +1689,7 @@ function index(_a) { id: "bannedMembers", renderTitle: function renderTitle() { return React.createElement(React.Fragment, null, React.createElement(Icon, { - type: IconTypes.ICON_BANNED, + type: IconTypes.BAN, fillColor: IconColors.PRIMARY, width: 24, height: 24, @@ -1703,7 +1708,7 @@ function index(_a) { !channel.isBroadcast && React.createElement("div", { className: "sendbird-channel-settings__freeze" }, React.createElement(Icon, { - type: IconTypes.FROZEN_LIGHT, + type: IconTypes.FREEZE, fillColor: IconColors.PRIMARY, width: 24, height: 24, @@ -1720,6 +1725,7 @@ function index(_a) { }); }, type: IconTypes.TOGGLE_ON, + fillColor: IconColors.PRIMARY, width: 44, height: 24 }) : React.createElement(Icon, { @@ -1729,6 +1735,7 @@ function index(_a) { }); }, type: IconTypes.TOGGLE_OFF, + fillColor: IconColors.PRIMARY, width: 44, height: 24 })))); @@ -1906,8 +1913,9 @@ function ChannelSettings(props) { setChannelUpdateId(uuidv4()); }); } - }), channel.myRole === 'operator' ? React.createElement(index, { + }), channel.myRole === 'operator' ? React.createElement(AdminPannel, { channel: channel, + userId: userId, onChannelModified: function onChannelModified(groupChannel) { // setChannelUpdateId(uuidv4()); _onChannelModified(groupChannel); @@ -1941,7 +1949,7 @@ function ChannelSettings(props) { }, "".concat(stringSet.CHANNEL_SETTING__MEMBERS__TITLE), React.createElement(Badge, { count: kFormatter$1(channel.memberCount) })), React.createElement(Icon, { - type: IconTypes.SHEVRON, + type: IconTypes.CHEVRON_RIGHT, className: ['sendbird-channel-settings__panel-icon-right', 'sendbird-channel-settings__panel-icon--chevron', showAccordion ? 'sendbird-channel-settings__panel-icon--open' : ''].join(' '), height: "24px", width: "24px" diff --git a/ChannelSettings.js.map b/ChannelSettings.js.map index 22ff8af..5d2f834 100644 --- a/ChannelSettings.js.map +++ b/ChannelSettings.js.map @@ -1 +1 @@ -{"version":3,"file":"ChannelSettings.js","sources":["../src/smart-components/ChannelSettings/components/EditDetails.jsx","../src/smart-components/ChannelSettings/components/ChannelProfile.jsx","../src/smart-components/ChannelSettings/components/AdminPanel/MembersModal.tsx","../src/smart-components/ChannelSettings/components/MemebersAccordion.jsx","../src/smart-components/ChannelSettings/components/UserListItem.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/OperatorsModal.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/AddOperatorsModal.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/OperatorList.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/InviteMembersModal.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/MemberList.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/BannedMembersModal.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/BannedMemberList.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/MutedMembersModal.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/MutedMemberList.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/index.tsx","../src/smart-components/ChannelSettings/index.jsx"],"sourcesContent":["import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Modal from '../../../ui/Modal';\nimport Input, { InputLabel } from '../../../ui/Input';\nimport Avatar from '../../../ui/Avatar/index';\nimport { Type as ButtonType } from '../../../ui/Button/type';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport TextButton from '../../../ui/TextButton';\nimport ChannelAvatar from '../../../ui/ChannelAvatar/index';\n\nconst EditDetails = (props) => {\n const {\n onSubmit,\n onCancel,\n channel,\n userId,\n theme,\n } = props;\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const hiddenInputRef = useRef(null);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n const title = channel.name;\n return (\n {\n if (title !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n onSubmit(newFile, inputRef.current.value);\n onCancel();\n }}\n type={ButtonType.PRIMARY}\n >\n { e.preventDefault(); }}\n >\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE}\n \n
\n {\n currentImg\n ? (\n \n ) : (\n \n )\n }\n
\n {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n hiddenInputRef.current.click()}\n notUnderline\n >\n \n \n
\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_NAME}\n \n \n
\n \n \n );\n};\n\nEditDetails.propTypes = {\n onSubmit: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n channel: PropTypes.shape({\n name: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n theme: PropTypes.string.isRequired,\n};\n\nexport default EditDetails;\n","import React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './channel-profile.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport EditDetailsModal from './EditDetails';\nimport TextButton from '../../../ui/TextButton';\nimport ChannelAvatar from '../../../ui/ChannelAvatar/index';\n\nconst ChannelProfile = (props) => {\n const {\n disabled,\n channel,\n userId,\n theme,\n onChannelInfoChange,\n } = props;\n const title = channel.name;\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n
\n
\n
\n \n
\n \n {title}\n \n {\n if (disabled) { return; }\n setShowModal(true);\n }}\n notUnderline\n >\n \n {stringSet.CHANNEL_SETTING__PROFILE__EDIT}\n \n \n {\n showModal && (\n setShowModal(false)}\n onSubmit={onChannelInfoChange}\n channel={channel}\n userId={userId}\n theme={theme}\n />\n )\n }\n
\n
\n );\n};\n\nChannelProfile.propTypes = {\n channel: PropTypes.shape({\n name: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n theme: PropTypes.string,\n disabled: PropTypes.bool,\n onChannelInfoChange: PropTypes.func,\n};\n\nChannelProfile.defaultProps = {\n theme: 'light',\n disabled: false,\n onChannelInfoChange: () => { },\n};\n\nexport default ChannelProfile;\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n currentUser?: string;\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport default function MembersModal({\n hideModal,\n channel,\n currentUser,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n\n useEffect(() => {\n const memberListQuery = channel.createMemberListQuery();\n memberListQuery.limit = 20;\n memberListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setMemberQuery(memberListQuery);\n }, [])\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"All Members\"\n >\n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n (\n <>\n {channel.myRole === 'operator' && (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n if ((member.role !== 'operator')) {\n channel.addOperators([member.userId], () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n role: 'operator',\n };\n }\n return m;\n }));\n closeDropdown();\n });\n } else {\n channel.removeOperators([member.userId], () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n role: '',\n };\n }\n return m;\n }));\n closeDropdown();\n });\n }\n }}\n >\n { member.role !== 'operator' ? 'Promote to operator' : 'Demote operator'}\n \n {\n // No muted members in broadcast channel\n !channel.isBroadcast && (\n {\n if (member.isMuted) {\n channel.unmuteUser(member, () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n isMuted: false,\n };\n }\n return m;\n }));\n closeDropdown();\n })\n } else {\n channel.muteUser(member, () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n isMuted: true,\n };\n }\n return m;\n }));\n closeDropdown();\n });\n }\n }}\n >\n { member.isMuted ? 'Unmute' : 'Mute' }\n \n )\n }\n {\n channel.banUser(member, -1, '', () => {\n setMembers(members.filter(({ userId }) => {\n return userId !== member.userId;\n }));\n });\n }}\n >\n Ban\n \n \n )}\n />\n )}\n \n )}\n />\n ))}\n
\n \n \n );\n}\n","import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './members-accordion.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { UserProfileContext } from '../../../lib/UserProfileContext';\nimport Button from '../../../ui/Button';\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../ui/Button/type';\nimport Avatar from '../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport InviteMembers from '../../InviteMembers';\nimport MembersModal from './AdminPanel/MembersModal';\nimport UserProfile from '../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../ui/ContextMenu';\n\nconst SHOWN_MEMBER_MAX = 10;\n\nconst UserListItem = ({ member = {}, currentUser = '' }) => {\n const avatarRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={member.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: member,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n
\n \n
\n );\n};\n\nUserListItem.propTypes = {\n member: PropTypes.shape({\n userId: PropTypes.string,\n profileUrl: PropTypes.string,\n nickname: PropTypes.string,\n }).isRequired,\n currentUser: PropTypes.string.isRequired,\n};\n\nconst MemebersAccordion = ({\n channel,\n disabled,\n currentUser,\n userQueryCreator,\n onInviteMemebers,\n swapParams,\n}) => {\n const members = channel.members || [];\n const [showMoreModal, setShowMoreModal] = useState(false);\n const [showAddUserModal, setShowAddUserModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n {\n members.slice(0, SHOWN_MEMBER_MAX).map((member) => (\n \n ))\n }\n
\n
\n {\n members.length >= SHOWN_MEMBER_MAX && (\n setShowMoreModal(true)}\n >\n {stringSet.CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS}\n \n )\n }\n {\n members.length >= SHOWN_MEMBER_MAX && showMoreModal && (\n {\n setShowMoreModal(false);\n }}\n channel={channel}\n />\n )\n }\n {\n if (disabled) { return; }\n setShowAddUserModal(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__MEMBERS__INVITE_MEMBER}\n \n {\n showAddUserModal && (\n setShowAddUserModal(false)}\n idsToFilter={members.map((member) => (member.userId))}\n userQueryCreator={userQueryCreator}\n onSubmit={onInviteMemebers}\n />\n )\n }\n
\n
\n );\n};\n\nMemebersAccordion.propTypes = {\n swapParams: PropTypes.bool,\n disabled: PropTypes.bool,\n channel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n currentUser: PropTypes.string,\n userQueryCreator: PropTypes.func.isRequired,\n onInviteMemebers: PropTypes.func.isRequired,\n};\n\nMemebersAccordion.defaultProps = {\n swapParams: false,\n currentUser: '',\n disabled: false,\n channel: {},\n};\n\nexport default MemebersAccordion;\n","// might move to reusable/UI\n\nimport React, { ReactElement, useRef, useContext } from 'react';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { UserProfileContext } from '../../../lib/UserProfileContext';\nimport Avatar from '../../../ui/Avatar/index';\nimport MutedAvatarOverlay from '../../../ui/Avatar/MutedAvatarOverlay';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport UserProfile from '../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../ui/ContextMenu';\n\nimport './user-list-item.scss';\nimport { SendbirdTypes } from '../../../types';\n\nconst COMPONENT_NAME = 'sendbird-user-list-item--small';\n\ninterface ActionProps {\n actionRef: React.RefObject;\n parentRef: React.RefObject;\n}\n\ntype CustomUser = SendbirdTypes['User'] & {\n isMuted: boolean;\n role: string;\n};\n\ninterface Props {\n user: CustomUser;\n currentUser?: string;\n className?: string;\n action?(props: ActionProps): ReactElement;\n}\n\nconst UserListItem = ({\n user,\n className,\n currentUser,\n action,\n}: Props): ReactElement => {\n const actionRef = useRef(null);\n const parentRef = useRef(null);\n const avatarRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const injectingClassNames = Array.isArray(className) ? className : [className];\n return (\n \n {\n user.isMuted && (\n \n )\n }\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n className={`${COMPONENT_NAME}__avatar`}\n src={user.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n \n {user.nickname || stringSet.NO_NAME}\n {\n (currentUser === user.userId) && (\n \" (You)\"\n )\n }\n \n { // if there is now nickname, display userId\n !user.nickname && (\n \n {user.userId}\n \n )\n }\n {\n user.role === 'operator' && (\n \n Operator\n \n )\n }\n {\n action && (\n
\n { action({ actionRef, parentRef }) }\n
\n )\n }\n \n );\n}\n\nexport default UserListItem;\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n currentUser?: string;\n}\n\nexport default function OperatorsModal({\n hideModal,\n channel,\n currentUser,\n}: Props): ReactElement {\n const [operators, setOperators] = useState([]);\n const [operatorQuery, setOperatorQuery] = useState(null);\n\n useEffect(() => {\n const operatorListQuery = channel.createOperatorListQuery();\n operatorListQuery.limit = 20;\n operatorListQuery.next((operators, error) => {\n if (error) {\n return;\n }\n setOperators(operators);\n });\n setOperatorQuery(operatorListQuery);\n }, [])\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"All operators\"\n >\n {\n const { hasNext } = operatorQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n operatorQuery.next((o, error) => {\n if (error) {\n return;\n }\n setOperators([\n ...operators,\n ...o,\n ])\n });\n }\n }}\n >\n { operators.map((member) => (\n (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.removeOperators([member.userId], (response, error) => {\n if (error) {\n return;\n }\n setOperators(operators.filter(({ userId }) => {\n return userId !== member.userId;\n }));\n });\n closeDropdown();\n }}\n >\n Dismiss operator\n \n \n )}\n />\n )}\n />\n ))}\n
\n \n \n )\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Modal from '../../../../ui/Modal';\nimport Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport { Type as ButtonType } from '../../../../ui/Button/type';\nimport UserListItem from '../../../../ui/UserListItem';\n\ninterface Props {\n hideModal(): void;\n onSubmit(members: string[]): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport default function AddOperatorsModal({\n hideModal,\n channel,\n onSubmit,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [selectedMembers, setSelectedMembers] = useState({});\n const [memberQuery, setMemberQuery] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n const memberListQuery = channel.createMemberListQuery();\n memberListQuery.limit = 20;\n memberListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setMemberQuery(memberListQuery);\n }, [])\n\n const selectedCount = Object.keys(selectedMembers).filter((m) => selectedMembers[m]).length;\n return (\n
\n hideModal()}\n onSubmit={() => {\n const members = Object.keys(selectedMembers).filter((m) => selectedMembers[m]);\n onSubmit(members);\n }}\n titleText=\"Select members\"\n >\n 0) ? LabelColors.PRIMARY : LabelColors.ONBACKGROUND_3}\n type={LabelTypography.CAPTION_1}\n >\n {`${selectedCount} ${stringSet.MODAL__INVITE_MEMBER__SELECTEC}`}\n \n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n {\n const modifiedSelectedMembers = {\n ...selectedMembers,\n [event.target.id]: event.target.checked,\n };\n if (!event.target.checked) {\n delete modifiedSelectedMembers[event.target.id];\n }\n setSelectedMembers(modifiedSelectedMembers);\n }\n }\n user={member}\n key={member.userId}\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n useContext,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport OperatorsModal from './OperatorsModal';\nimport AddOperatorsModal from './AddOperatorsModal';\n\ninterface Props {\n sdk: SendbirdTypes[\"SendBirdInstance\"];\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport const OperatorList = ({ sdk, channel }: Props): ReactElement => {\n const [operators, setOperators] = useState([]);\n const [showMore, setShowMore] = useState(false);\n const [showAdd, setShowAdd] = useState(false);\n const [hasNext, setHasNext] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel) {\n setOperators([]);\n return;\n }\n\n const operatorListQuery = channel.createOperatorListQuery();\n operatorListQuery.limit = 10;\n operatorListQuery.next((operators, error) => {\n if (error) {\n return;\n }\n setOperators(operators);\n setHasNext(operatorListQuery.hasNext);\n });\n }, [channel]);\n\n const refershList = useCallback(\n () => {\n if (!channel) {\n setOperators([]);\n return;\n }\n const operatorListQuery = channel.createOperatorListQuery();\n operatorListQuery.limit = 10;\n operatorListQuery.next((operators, error) => {\n if (error) {\n return;\n }\n setOperators(operators);\n setHasNext(operatorListQuery.hasNext);\n });\n },\n [channel],\n );\n\n return (\n <>\n {\n operators.map((operator) => (\n {\n return (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.removeOperators([operator.userId], (response, error) => {\n if (error) {\n return;\n }\n setOperators(operators.filter(({ userId }) => {\n return userId !== operator.userId;\n }))\n });\n closeDropdown();\n }}\n >\n Dismiss operator\n \n \n )}\n />\n );\n }}\n />\n ))\n }\n {\n hasNext && (\n \n {\n setShowMore(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ALL}\n \n {\n setShowAdd(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ADD}\n \n \n )\n }\n {\n showMore && (\n {\n setShowMore(false);\n refershList();\n }}\n channel={channel}\n />\n )\n }\n {\n showAdd && (\n setShowAdd(false)}\n channel={channel}\n onSubmit={(members) => {\n setShowAdd(false);\n channel.addOperators(members, () => {\n refershList();\n });\n }}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(OperatorList, mapStoreToProps);\n","import React, { ReactElement, useEffect, useState } from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport { Type as ButtonType } from '../../../../ui/Button/type';\nimport UserListItem from '../../../../ui/UserListItem';\n\ninterface Props {\n hideModal(): void;\n onSubmit(members: string[]): void;\n channel: SendbirdTypes['GroupChannel'];\n userQueryCreator(): SendbirdTypes['UserListQuery'];\n}\n\nexport default function InviteMembers({\n hideModal,\n userQueryCreator,\n onSubmit,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [selectedMembers, setSelectedMembers] = useState({});\n const [userQuery, setUserQuery] = useState(null);\n\n useEffect(() => {\n const userListQuery = userQueryCreator();\n userListQuery.limit = 20;\n userListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setUserQuery(userListQuery);\n }, [])\n return (\n
\n hideModal()}\n onSubmit={() => {\n const members = Object.keys(selectedMembers).filter((m) => selectedMembers[m]);\n onSubmit(members);\n }}\n titleText=\"Select members\"\n >\n {\n const { hasNext } = userQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n userQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n {\n const modifiedSelectedMembers = {\n ...selectedMembers,\n [event.target.id]: event.target.checked,\n };\n if (!event.target.checked) {\n delete modifiedSelectedMembers[event.target.id];\n }\n setSelectedMembers(modifiedSelectedMembers);\n }\n }\n user={member}\n key={member.userId}\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport MembersModal from './MembersModal';\nimport InviteMembers from './InviteMembersModal';\n\ninterface Props {\n sdk: SendbirdTypes['SendBirdInstance'];\n channel: SendbirdTypes['GroupChannel'];\n userQueryCreator(): SendbirdTypes['UserListQuery'];\n}\n\nexport const MemberList = ({ sdk, channel, userQueryCreator }: Props): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showAllMembers, setShowAllMembers] = useState(false);\n const [showInviteMembers, setShowInviteMembers] = useState(false);\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refershList = useCallback(\n () => {\n if (!channel) {\n setMembers([]);\n return;\n }\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n },\n [channel],\n );\n\n return (\n <>\n {\n members.map((member) => (\n {\n return ( (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n if ((member.role !== 'operator')) {\n channel.addOperators([member.userId], () => {\n refershList();\n closeDropdown();\n });\n } else {\n channel.removeOperators([member.userId], () => {\n refershList();\n closeDropdown();\n });\n }\n }}\n >\n { member.role !== 'operator' ? 'Promote to operator' : 'Demote operator'}\n \n {\n // No muted members in broadcast channel\n !channel.isBroadcast && (\n {\n if (member.isMuted) {\n channel.unmuteUser(member, () => {\n refershList();\n closeDropdown();\n })\n } else {\n channel.muteUser(member, () => {\n refershList();\n closeDropdown();\n });\n }\n }}\n >\n { member.isMuted ? 'Unmute' : 'Mute' }\n \n )\n }\n {\n (member.role && member.role !== 'operator') && (\n {\n channel.banUser(member, -1, '', () => {\n refershList();\n closeDropdown();\n });\n }}\n >\n Ban\n \n )\n }\n \n )}\n />)}\n }\n />\n ))\n }\n \n {\n hasNext && (\n setShowAllMembers(true)}\n >\n All members\n \n )\n }\n setShowInviteMembers(true)}\n >\n Invite members\n \n \n {\n showAllMembers && (\n {\n setShowAllMembers(false);\n refershList();\n }}\n />\n )\n }\n {\n showInviteMembers && (\n {\n channel.inviteWithUserIds(selectedMemebers, () => {\n setShowInviteMembers(false);\n refershList();\n });\n }}\n channel={channel}\n hideModal={() => setShowInviteMembers(false)}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(MemberList, mapStoreToProps);\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport default function BannedMembersModal({\n hideModal,\n channel,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n\n useEffect(() => {\n const bannedUserListQuery = channel.createBannedUserListQuery();\n bannedUserListQuery.next((users, error) => {\n if (error) {\n return;\n }\n setMembers(users);\n });\n setMemberQuery(bannedUserListQuery);\n }, []);\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"Muted members\"\n >\n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unbanUser(member, () => {\n closeDropdown();\n setMembers(members.filter(m => {\n return (m.userId !== member.userId);\n }));\n })\n }}\n >\n Unban\n \n \n )}\n />\n )\n }\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport BannedMembersModal from './BannedMembersModal';\n\ninterface Props {\n sdk: SendbirdTypes[\"SendBirdInstance\"];\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport const BannedMemberList = ({ channel }: Props): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const bannedUserListQuery = channel.createBannedUserListQuery();\n bannedUserListQuery.next((users, error) => {\n if (error) {\n return;\n }\n setMembers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const bannedUserListQuery = channel.createBannedUserListQuery();\n bannedUserListQuery.next(function(users, error) {\n if (error) {\n return;\n }\n setMembers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n members.map((member) => (\n {\n return (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unbanUser(member, () => {\n closeDropdown();\n refreshList();\n })\n }}\n >\n Unban\n \n \n )}\n />\n )\n }}\n />\n ))\n }\n {\n members && members.length === 0 && (\n \n No banned members yet\n \n )\n }\n {\n hasNext && (\n \n {\n setShowModal(true);\n }}\n >\n All banned members\n \n \n )\n }\n {\n showModal && (\n {\n setShowModal(false);\n refreshList();\n }}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(BannedMemberList, mapStoreToProps);\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n currentUser?: string;\n}\n\nexport default function MutedMembersModal({\n hideModal,\n channel,\n currentUser,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n\n useEffect(() => {\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.mutedMemberFilter = 'muted';\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setMemberQuery(memberUserListQuery);\n }, []);\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"Muted members\"\n >\n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unmuteUser(member, () => {\n closeDropdown();\n setMembers(members.filter(m => {\n return (m.userId !== member.userId);\n }));\n })\n }}\n >\n Unmute\n \n \n )}\n />\n )}\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport MutedMembersModal from './MutedMembersModal';\n\ninterface Props {\n sdk: SendbirdTypes[\"SendBirdInstance\"];\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport const MutedMemberList = ({ sdk, channel }: Props): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.mutedMemberFilter = 'muted';\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.mutedMemberFilter = 'muted';\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n members.map((member) => (\n {\n return (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unmuteUser(member, () => {\n refreshList();\n closeDropdown();\n })\n }}\n >\n Unmute\n \n \n )}\n />\n );\n }\n }\n />\n ))\n }\n {\n members && members.length === 0 && (\n \n No muted members yet\n \n )\n }\n {\n hasNext && (\n \n {\n setShowModal(true);\n }}\n >\n All muted members\n \n \n )\n }\n {\n showModal && (\n {\n setShowModal(false);\n refreshList();\n }}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(MutedMemberList, mapStoreToProps);\n","import './index.scss';\nimport React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport { SendbirdTypes } from '../../../../types';\n\nimport Accordion, { AccordionGroup } from '../../../../ui/Accordion';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Badge from '../../../../ui/Badge';\n\nimport OperatorList from './OperatorList';\nimport MemberList from './MemberList';\nimport BannedMemberList from './BannedMemberList';\nimport MutedMemberList from './MutedMemberList';\n\nconst kFormatter = (num: number): string|number => {\n return Math.abs(num) > 999\n ? `${(Math.abs(num)/1000).toFixed(1)}K`\n : num;\n}\n\ninterface Props {\n channel: SendbirdTypes['GroupChannel'];\n userQueryCreator(): SendbirdTypes['UserListQuery'];\n}\n\nexport default function index({\n userQueryCreator,\n channel,\n}: Props): ReactElement {\n const [frozen, setFrozen] = useState(false);\n\n // work around for\n // https://sendbird.slack.com/archives/G01290GCDCN/p1595922832000900\n // SDK bug - after frozen/unfrozen myRole becomes \"none\"\n useEffect(() => {\n setFrozen(channel.isFrozen);\n }, [channel]);\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE}\n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__MEMBERS__TITLE}\n \n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n {\n // No muted members in broadcast channel\n !channel.isBroadcast && (\n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__MUTED_MEMBERS__TITLE}\n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n )\n }\n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__BANNED_MEMBERS__TITLE}\n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n {\n // cannot frozen broadcast channel\n !channel.isBroadcast && (\n
\n \n \n {stringSet.CHANNEL_SETTING__FREEZE_CHANNEL}\n \n
\n {\n frozen\n ? (\n {\n channel.unfreeze(() => {\n setFrozen(false);\n });\n }}\n type={IconTypes.TOGGLE_ON}\n width={44}\n height={24}\n />\n )\n : (\n {\n channel.freeze(() => {\n setFrozen(true);\n });\n }}\n type={IconTypes.TOGGLE_OFF}\n width={44}\n height={24}\n />\n )\n }\n
\n
\n )\n }\n
\n );\n}\n","import React, { useEffect, useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport './index.scss';\nimport Badge from '../../ui/Badge';\nimport Label, { LabelTypography, LabelColors } from '../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../ui/Icon';\nimport IconButton from '../../ui/IconButton';\n\nimport ChannelProfile from './components/ChannelProfile';\nimport MemebersAccordion from './components/MemebersAccordion';\nimport LeaveChannelModal from './components/LeaveChannel';\nimport AdminPanel from './components/AdminPanel';\nimport PlaceHolder from '../../ui/PlaceHolder';\nimport PlaceHolderTypes from '../../ui/PlaceHolder/type';\nimport { uuidv4 } from '../../utils/uuid';\nimport { createDefaultUserListQuery } from '../ChannelList/components/utils';\n\n\nconst kFormatter = (num) => (\n Math.abs(num) > 999\n ? `${(Math.abs(num) / 1000).toFixed(1)}K`\n : num\n);\n\nfunction ChannelSettings(props) {\n const {\n onCloseClick,\n channelUrl,\n disableUserProfile,\n renderUserProfile,\n onChannelModified,\n renderChannelProfile,\n onBeforeUpdateChannel,\n } = props;\n\n const {\n stores: { sdkStore },\n config: {\n userListQuery,\n theme,\n userId,\n logger,\n isOnline,\n },\n queries = {},\n } = props;\n\n const { config = {} } = props;\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n\n const userFilledApplicationUserListQuery = queries.applicationUserListQuery;\n const { stringSet } = useContext(LocalizationContext);\n\n const { sdk, initialized } = sdkStore;\n\n // hack to kepp track of channel updates by triggering useEffect\n const [channelUpdateId, setChannelUpdateId] = useState(uuidv4());\n const [channel, setChannel] = useState(null);\n const [invalidChannel, setInvalidChannel] = useState(false);\n const [showAccordion, setShowAccordion] = useState(false);\n const [showLeaveChannelModal, setShowLeaveChannelModal] = useState(false);\n\n useEffect(() => {\n logger.info('ChannelSettings: Setting up');\n if (!channelUrl || !initialized || !sdk) {\n logger.warning('ChannelSettings: Setting up failed', 'No channelUrl or sdk uninitialized');\n setInvalidChannel(false);\n } else {\n if (!sdk || !sdk.GroupChannel) {\n logger.warning('ChannelSettings: No GroupChannel');\n return;\n }\n sdk.GroupChannel.getChannel(channelUrl, (groupChannel) => {\n if (!groupChannel) {\n logger.warning('ChannelSettings: Channel not found');\n setInvalidChannel(true);\n } else {\n logger.info('ChannelSettings: Fetched group channel', groupChannel);\n setInvalidChannel(false);\n setChannel(groupChannel);\n }\n });\n }\n }, [channelUrl, initialized, channelUpdateId]);\n\n if (!channel || invalidChannel) {\n return (\n
\n
\n \n {\n logger.info('ChannelSettings: Click close');\n onCloseClick();\n }}\n />\n
\n
\n \n
\n
\n );\n }\n\n return (\n \n
\n \n
\n {\n logger.info('ChannelSettings: Click close');\n onCloseClick();\n }}\n >\n \n \n
\n
\n
\n {\n renderChannelProfile\n ? renderChannelProfile({ channel })\n : (\n {\n logger.info('ChannelSettings: Channel information being updated');\n const swapParams = sdk.getErrorFirstCallback();\n if (onBeforeUpdateChannel) {\n const params = onBeforeUpdateChannel(currentTitle, currentImg, channel.data);\n // swapParams\n channel.updateChannel(params, (response, error) => {\n let groupChannel = response;\n if (swapParams) {\n groupChannel = error;\n }\n\n onChannelModified(groupChannel);\n setChannelUpdateId(uuidv4());\n });\n return;\n }\n channel.updateChannel(\n currentTitle,\n currentImg,\n channel.data,\n (response, error) => {\n let groupChannel = response;\n if (swapParams) {\n groupChannel = error;\n }\n logger.info('ChannelSettings: Channel information updated', groupChannel);\n onChannelModified(groupChannel);\n setChannelUpdateId(uuidv4());\n },\n );\n }}\n />\n )\n }\n {\n channel.myRole === 'operator'\n ? (\n {\n // setChannelUpdateId(uuidv4());\n onChannelModified(groupChannel);\n }}\n userQueryCreator={\n () => ((userListQuery && typeof userListQuery === 'function')\n ? userListQuery()\n : createDefaultUserListQuery({ sdk, userFilledApplicationUserListQuery })\n )\n }\n />\n )\n : (\n <>\n {/* Move to different file */}\n setShowAccordion(!showAccordion)}\n className={`\n sendbird-channel-settings__panel-item\n sendbird-channel-settings__members\n `}\n onClick={() => setShowAccordion(!showAccordion)}\n >\n \n \n {`${stringSet.CHANNEL_SETTING__MEMBERS__TITLE}`}\n \n \n \n
\n {\n showAccordion && (\n ((userListQuery && typeof userListQuery === 'function')\n ? userListQuery()\n : createDefaultUserListQuery({ sdk, userFilledApplicationUserListQuery })\n )\n }\n swapParams={\n sdk && sdk.getErrorFirstCallback && sdk.getErrorFirstCallback()\n }\n channel={channel}\n members={channel.members}\n onInviteMemebers={(selectedMemebers) => {\n logger.info('ChannelSettings: Inviting new users');\n channel.inviteWithUserIds(selectedMemebers)\n .then((res) => {\n onChannelModified(res);\n setChannelUpdateId(uuidv4());\n logger.info('ChannelSettings: Inviting new users success!', res);\n });\n }}\n />\n )\n }\n \n )\n }\n\n {\n if (!isOnline) { return; }\n setShowLeaveChannelModal(true);\n }}\n onClick={() => {\n if (!isOnline) { return; }\n setShowLeaveChannelModal(true);\n }}\n >\n \n \n {stringSet.CHANNEL_SETTING__LEAVE_CHANNEL__TITLE}\n \n \n {\n showLeaveChannelModal && (\n setShowLeaveChannelModal(false)}\n onLeaveChannel={() => {\n logger.info('ChannelSettings: Leaving channel', channel);\n channel.leave()\n .then(() => {\n logger.info('ChannelSettings: Leaving channel successful!', channel);\n onCloseClick();\n });\n }}\n />\n )\n }\n \n \n );\n}\n\nChannelSettings.propTypes = {\n onCloseClick: PropTypes.func,\n onChannelModified: PropTypes.func,\n onBeforeUpdateChannel: PropTypes.func,\n renderChannelProfile: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n channelUrl: PropTypes.string.isRequired,\n queries: PropTypes.shape({\n applicationUserListQuery: PropTypes.shape({\n limit: PropTypes.number,\n userIdsFilter: PropTypes.arrayOf(PropTypes.string),\n metaDataKeyFilter: PropTypes.string,\n metaDataValuesFilter: PropTypes.arrayOf(PropTypes.string),\n }),\n }),\n // from withSendbirdContext\n stores: PropTypes.shape({\n sdkStore: PropTypes.shape({\n sdk: PropTypes.shape({\n getErrorFirstCallback: PropTypes.func,\n GroupChannel: PropTypes.oneOfType([\n PropTypes.shape({\n getChannel: PropTypes.func,\n }),\n PropTypes.func,\n ]),\n createApplicationUserListQuery: PropTypes.any,\n }),\n initialized: PropTypes.bool,\n }),\n }).isRequired,\n config: PropTypes.shape({\n userId: PropTypes.string,\n theme: PropTypes.string,\n userListQuery: PropTypes.func,\n isOnline: PropTypes.bool,\n logger: PropTypes.shape({\n info: PropTypes.func,\n error: PropTypes.func,\n warning: PropTypes.func,\n }),\n }).isRequired,\n};\n\nChannelSettings.defaultProps = {\n onBeforeUpdateChannel: null,\n queries: {},\n disableUserProfile: false,\n renderUserProfile: null,\n renderChannelProfile: null,\n onCloseClick: () => { },\n onChannelModified: () => { },\n};\n\nexport default withSendbirdContext(ChannelSettings);\n"],"names":["EditDetails","props","onSubmit","onCancel","channel","userId","theme","inputRef","useRef","formRef","hiddenInputRef","useState","currentImg","setCurrentImg","newFile","setNewFile","useContext","LocalizationContext","stringSet","title","name","MODAL__CHANNEL_INFORMATION__TITLE","BUTTON__SAVE","current","value","reportValidity","ButtonType","PRIMARY","e","preventDefault","MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE","display","URL","createObjectURL","target","files","click","LabelTypography","BUTTON_1","LabelColors","MODAL__CHANNEL_INFORMATION__UPLOAD","MODAL__CHANNEL_INFORMATION__CHANNEL_NAME","MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER","propTypes","PropTypes","func","isRequired","shape","string","ChannelProfile","disabled","onChannelInfoChange","showModal","setShowModal","SUBTITLE_2","ONBACKGROUND_1","ONBACKGROUND_2","CHANNEL_SETTING__PROFILE__EDIT","EditDetailsModal","bool","defaultProps","MembersModal","_a","hideModal","currentUser","_b","members","setMembers","_c","memberQuery","setMemberQuery","useEffect","memberListQuery","createMemberListQuery","limit","next","error","noop","hasNext","fetchMore","clientHeight","scrollTop","scrollHeight","o","map","member","UserListItem","parentRef","actionRef","myRole","toggleDropdown","IconTypes","MORE","IconColors","CONTENT_INVERSE","closeDropdown","role","addOperators","m","removeOperators","isBroadcast","isMuted","unmuteUser","muteUser","banUser","filter","SHOWN_MEMBER_MAX","avatarRef","UserProfileContext","disableUserProfile","renderUserProfile","profileUrl","paddingTop","paddingBottom","user","currentUserId","close","nickname","NO_NAME","YOU","MemebersAccordion","userQueryCreator","onInviteMemebers","swapParams","showMoreModal","setShowMoreModal","showAddUserModal","setShowAddUserModal","slice","length","ButtonTypes","SECONDARY","ButtonSizes","SMALL","CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS","CHANNEL_SETTING__MEMBERS__INVITE_MEMBER","InviteMembers","MODAL__INVITE_MEMBER__TITLE","BUTTON__INVITE","arrayOf","COMPONENT_NAME","className","action","injectingClassNames","Array","isArray","__spreadArrays","join","SUBTITLE_1","CAPTION_3","OperatorsModal","operators","setOperators","operatorQuery","setOperatorQuery","operatorListQuery","createOperatorListQuery","response","AddOperatorsModal","selectedMembers","setSelectedMembers","_d","selectedCount","Object","keys","ONBACKGROUND_3","CAPTION_1","MODAL__INVITE_MEMBER__SELECTEC","event","modifiedSelectedMembers","id","checked","OperatorList","sdk","showMore","setShowMore","showAdd","setShowAdd","_e","setHasNext","refershList","useCallback","operator","CHANNEL_SETTING__OPERATORS__TITLE_ALL","CHANNEL_SETTING__OPERATORS__TITLE_ADD","mapStoreToProps","store","getSdk","withSendbirdContext","userQuery","setUserQuery","userListQuery","MemberList","showAllMembers","setShowAllMembers","showInviteMembers","setShowInviteMembers","memberUserListQuery","selectedMemebers","inviteWithUserIds","BannedMembersModal","bannedUserListQuery","createBannedUserListQuery","users","unbanUser","BannedMemberList","refreshList","MutedMembersModal","mutedMemberFilter","MutedMemberList","kFormatter","num","Math","abs","toFixed","index","frozen","setFrozen","isFrozen","ICON_OPERATOR","CHANNEL_SETTING__OPERATORS__TITLE","MEMBERS","CHANNEL_SETTING__MEMBERS__TITLE","memberCount","ICON_MUTED","CHANNEL_SETTING__MUTED_MEMBERS__TITLE","ICON_BANNED","CHANNEL_SETTING__BANNED_MEMBERS__TITLE","FROZEN_LIGHT","CHANNEL_SETTING__FREEZE_CHANNEL","unfreeze","TOGGLE_ON","freeze","TOGGLE_OFF","ChannelSettings","onCloseClick","channelUrl","onChannelModified","renderChannelProfile","onBeforeUpdateChannel","sdkStore","stores","config","logger","isOnline","queries","userDefinedDisableUserProfile","userDefinedRenderProfile","userFilledApplicationUserListQuery","applicationUserListQuery","initialized","uuidv4","channelUpdateId","setChannelUpdateId","setChannel","invalidChannel","setInvalidChannel","showAccordion","setShowAccordion","showLeaveChannelModal","setShowLeaveChannelModal","info","warning","GroupChannel","getChannel","groupChannel","H_2","CHANNEL_SETTING__HEADER__TITLE","CLOSE","PlaceHolderTypes","WRONG","currentTitle","getErrorFirstCallback","params","data","updateChannel","AdminPanel","createDefaultUserListQuery","SHEVRON","then","res","LEAVE","CHANNEL_SETTING__LEAVE_CHANNEL__TITLE","leave","oneOfType","element","number","userIdsFilter","metaDataKeyFilter","metaDataValuesFilter","createApplicationUserListQuery","any"],"mappings":";;;;;;;;;;;;AAYA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAW;AAAA,MAE3BC,SAF2B,GAOzBD,KAPyB,CAE3BC,QAF2B;AAAA,MAG3BC,QAH2B,GAOzBF,KAPyB,CAG3BE,QAH2B;AAAA,MAI3BC,OAJ2B,GAOzBH,KAPyB,CAI3BG,OAJ2B;AAAA,MAK3BC,MAL2B,GAOzBJ,KAPyB,CAK3BI,MAL2B;AAAA,MAM3BC,KAN2B,GAOzBL,KAPyB,CAM3BK,KAN2B;AAQ7B,MAAMC,QAAQ,GAAGC,MAAM,CAAC,IAAD,CAAvB;AACA,MAAMC,OAAO,GAAGD,MAAM,CAAC,IAAD,CAAtB;AACA,MAAME,cAAc,GAAGF,MAAM,CAAC,IAAD,CAA7B;;AAV6B,kBAWOG,QAAQ,CAAC,IAAD,CAXf;AAAA;AAAA,MAWtBC,UAXsB;AAAA,MAWVC,aAXU;;AAAA,mBAYCF,QAAQ,CAAC,IAAD,CAZT;AAAA;AAAA,MAYtBG,OAZsB;AAAA,MAYbC,UAZa;;AAAA,oBAaPC,UAAU,CAACC,mBAAD,CAbH;AAAA,MAarBC,SAbqB,eAarBA,SAbqB;;AAc7B,MAAMC,KAAK,GAAGf,OAAO,CAACgB,IAAtB;AACA,SACE,oBAAC,KAAD;AACE,IAAA,SAAS,EAAEF,SAAS,CAACG,iCADvB;AAEE,IAAA,UAAU,EAAEH,SAAS,CAACI,YAFxB;AAGE,IAAA,QAAQ,EAAEnB,QAHZ;AAIE,IAAA,QAAQ,EAAE,oBAAM;AACd,UAAIgB,KAAK,KAAK,EAAV,IAAgB,CAACZ,QAAQ,CAACgB,OAAT,CAAiBC,KAAtC,EAA6C;AAC3C,YAAIf,OAAO,CAACc,OAAR,CAAgBE,cAApB,EAAoC;AAAE;AACpChB,UAAAA,OAAO,CAACc,OAAR,CAAgBE,cAAhB;AACD;;AACD;AACD;;AACDvB,MAAAA,SAAQ,CAACY,OAAD,EAAUP,QAAQ,CAACgB,OAAT,CAAiBC,KAA3B,CAAR;;AACArB,MAAAA,QAAQ;AACT,KAbH;AAcE,IAAA,IAAI,EAAEuB,IAAU,CAACC;AAdnB,KAgBE;AACE,IAAA,SAAS,EAAC,sBADZ;AAEE,IAAA,GAAG,EAAElB,OAFP;AAGE,IAAA,QAAQ,EAAE,kBAACmB,CAAD,EAAO;AAAEA,MAAAA,CAAC,CAACC,cAAF;AAAqB;AAH1C,KAKE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,UAAD,QACGX,SAAS,CAACY,yCADb,CADF,EAIE;AAAK,IAAA,SAAS,EAAC;AAAf,KAEIlB,UAAU,GAEN,oBAAC,MAAD;AACE,IAAA,MAAM,EAAC,MADT;AAEE,IAAA,KAAK,EAAC,MAFR;AAGE,IAAA,GAAG,EAAEA;AAHP,IAFM,GAQN,oBAAC,aAAD;AACE,IAAA,MAAM,EAAE,EADV;AAEE,IAAA,KAAK,EAAE,EAFT;AAGE,IAAA,OAAO,EAAER,OAHX;AAIE,IAAA,MAAM,EAAEC,MAJV;AAKE,IAAA,KAAK,EAAEC;AALT,IAVR,CAJF,EAwBE;AACE,IAAA,GAAG,EAAEI,cADP;AAEE,IAAA,IAAI,EAAC,MAFP;AAGE,IAAA,MAAM,EAAC,kCAHT;AAIE,IAAA,KAAK,EAAE;AAAEqB,MAAAA,OAAO,EAAE;AAAX,KAJT;AAKE,IAAA,QAAQ,EAAE,kBAACH,CAAD,EAAO;AACff,MAAAA,aAAa,CAACmB,GAAG,CAACC,eAAJ,CAAoBL,CAAC,CAACM,MAAF,CAASC,KAAT,CAAe,CAAf,CAApB,CAAD,CAAb;AACApB,MAAAA,UAAU,CAACa,CAAC,CAACM,MAAF,CAASC,KAAT,CAAe,CAAf,CAAD,CAAV;AACAzB,MAAAA,cAAc,CAACa,OAAf,CAAuBC,KAAvB,GAA+B,EAA/B;AACD;AATH,IAxBF,EAmCE,oBAAC,UAAD;AACE,IAAA,SAAS,EAAC,qCADZ;AAEE,IAAA,OAAO,EAAE;AAAA,aAAMd,cAAc,CAACa,OAAf,CAAuBa,KAAvB,EAAN;AAAA,KAFX;AAGE,IAAA,YAAY;AAHd,KAKE,oBAAC,KAAD;AAAO,IAAA,IAAI,EAAEC,eAAe,CAACC,QAA7B;AAAuC,IAAA,KAAK,EAAEC,WAAW,CAACZ;AAA1D,KACGT,SAAS,CAACsB,kCADb,CALF,CAnCF,CALF,EAkDE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,UAAD,QACGtB,SAAS,CAACuB,wCADb,CADF,EAIE,oBAAC,KAAD;AACE,IAAA,QAAQ,EAAEtB,KAAK,KAAK,EADtB;AAEE,IAAA,IAAI,EAAC,4BAFP;AAGE,IAAA,GAAG,EAAEZ,QAHP;AAIE,IAAA,KAAK,EAAEY,KAJT;AAKE,IAAA,WAAW,EAAED,SAAS,CAACwB;AALzB,IAJF,CAlDF,CAhBF,CADF;AAkFD,CAjGD;;AAmGA1C,WAAW,CAAC2C,SAAZ,GAAwB;AACtBzC,EAAAA,QAAQ,EAAE0C,SAAS,CAACC,IAAV,CAAeC,UADH;AAEtB3C,EAAAA,QAAQ,EAAEyC,SAAS,CAACC,IAAV,CAAeC,UAFH;AAGtB1C,EAAAA,OAAO,EAAEwC,SAAS,CAACG,KAAV,CAAgB;AACvB3B,IAAAA,IAAI,EAAEwB,SAAS,CAACI;AADO,GAAhB,EAENF,UALmB;AAMtBzC,EAAAA,MAAM,EAAEuC,SAAS,CAACI,MAAV,CAAiBF,UANH;AAOtBxC,EAAAA,KAAK,EAAEsC,SAAS,CAACI,MAAV,CAAiBF;AAPF,CAAxB;;ACpGA,IAAMG,cAAc,GAAG,SAAjBA,cAAiB,CAAChD,KAAD,EAAW;AAAA,MAE9BiD,QAF8B,GAO5BjD,KAP4B,CAE9BiD,QAF8B;AAAA,MAG9B9C,OAH8B,GAO5BH,KAP4B,CAG9BG,OAH8B;AAAA,MAI9BC,MAJ8B,GAO5BJ,KAP4B,CAI9BI,MAJ8B;AAAA,MAK9BC,KAL8B,GAO5BL,KAP4B,CAK9BK,KAL8B;AAAA,MAM9B6C,mBAN8B,GAO5BlD,KAP4B,CAM9BkD,mBAN8B;AAQhC,MAAMhC,KAAK,GAAGf,OAAO,CAACgB,IAAtB;;AARgC,kBASET,QAAQ,CAAC,KAAD,CATV;AAAA;AAAA,MASzByC,SATyB;AAAA,MASdC,YATc;;AAAA,oBAUVrC,UAAU,CAACC,mBAAD,CAVA;AAAA,MAUxBC,SAVwB,eAUxBA,SAVwB;;AAYhC,SACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,aAAD;AACE,IAAA,OAAO,EAAEd,OADX;AAEE,IAAA,MAAM,EAAEC,MAFV;AAGE,IAAA,KAAK,EAAEC;AAHT,IADF,CADF,EAQE,oBAAC,KAAD;AACE,IAAA,IAAI,EAAE+B,eAAe,CAACiB,UADxB;AAEE,IAAA,KAAK,EAAEf,WAAW,CAACgB,cAFrB;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGpC,KALH,CARF,EAeE,oBAAC,UAAD;AACE,IAAA,QAAQ,EAAE+B,QADZ;AAEE,IAAA,SAAS,EAAC,gCAFZ;AAGE,IAAA,OAAO,EAAE,mBAAM;AACb,UAAIA,QAAJ,EAAc;AAAE;AAAS;;AACzBG,MAAAA,YAAY,CAAC,IAAD,CAAZ;AACD,KANH;AAOE,IAAA,YAAY;AAPd,KASE,oBAAC,KAAD;AACE,IAAA,IAAI,EAAEhB,eAAe,CAACC,QADxB;AAEE,IAAA,KAAK,EAAEY,QAAQ,GAAGX,WAAW,CAACiB,cAAf,GAAgCjB,WAAW,CAACZ;AAF7D,KAIGT,SAAS,CAACuC,8BAJb,CATF,CAfF,EAgCIL,SAAS,IACP,oBAACM,WAAD;AACE,IAAA,QAAQ,EAAE;AAAA,aAAML,YAAY,CAAC,KAAD,CAAlB;AAAA,KADZ;AAEE,IAAA,QAAQ,EAAEF,mBAFZ;AAGE,IAAA,OAAO,EAAE/C,OAHX;AAIE,IAAA,MAAM,EAAEC,MAJV;AAKE,IAAA,KAAK,EAAEC;AALT,IAjCN,CADF,CADF;AA+CD,CA3DD;;AA6DA2C,cAAc,CAACN,SAAf,GAA2B;AACzBvC,EAAAA,OAAO,EAAEwC,SAAS,CAACG,KAAV,CAAgB;AACvB3B,IAAAA,IAAI,EAAEwB,SAAS,CAACI;AADO,GAAhB,EAENF,UAHsB;AAIzBzC,EAAAA,MAAM,EAAEuC,SAAS,CAACI,MAAV,CAAiBF,UAJA;AAKzBxC,EAAAA,KAAK,EAAEsC,SAAS,CAACI,MALQ;AAMzBE,EAAAA,QAAQ,EAAEN,SAAS,CAACe,IANK;AAOzBR,EAAAA,mBAAmB,EAAEP,SAAS,CAACC;AAPN,CAA3B;AAUAI,cAAc,CAACW,YAAf,GAA8B;AAC5BtD,EAAAA,KAAK,EAAE,OADqB;AAE5B4C,EAAAA,QAAQ,EAAE,KAFkB;AAG5BC,EAAAA,mBAAmB,EAAE,+BAAM;AAHC,CAA9B;;SC7DwBU,aAAaC;MACnCC,SAAS;MACT3D,OAAO;MACP4D,WAAW;;AAEL,MAAAC,KAAwBtD,QAAQ,CAAC,EAAD,CAAhC;AAAA,MAACuD,OAAO,QAAR;AAAA,MAAUC,UAAU,QAApB;;AACA,MAAAC,KAAgCzD,QAAQ,CAAC,IAAD,CAAxC;AAAA,MAAC0D,WAAW,QAAZ;AAAA,MAAcC,cAAc,QAA5B;;AAENC,EAAAA,SAAS,CAAC;AACR,QAAMC,eAAe,GAAGpE,OAAO,CAACqE,qBAAR,EAAxB;AACAD,IAAAA,eAAe,CAACE,KAAhB,GAAwB,EAAxB;AACAF,IAAAA,eAAe,CAACG,IAAhB,CAAqB,UAACT,OAAD,EAAUU,KAAV;AACnB,UAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,MAAAA,UAAU,CAACD,OAAD,CAAV;AACD,KALD;AAMAI,IAAAA,cAAc,CAACE,eAAD,CAAd;AACD,GAVQ,EAUN,EAVM,CAAT;AAWA,SACE,iCACE,oBAAC,KAAD;AACE,IAAA,UAAU,MADZ;AAEE,IAAA,QAAQ,EAAE;AAAM,aAAAT,SAAS,EAAT;AAAW,KAF7B;AAGE,IAAA,QAAQ,EAAEc,IAHZ;AAIE,IAAA,SAAS,EAAC;AAJZ,KAME;AACE,IAAA,SAAS,EAAC,qCADZ;AAEE,IAAA,QAAQ,EAAE,kBAACjD,CAAD;AACA,UAAAkD,OAAO,GAAKT,WAAW,QAAvB;AACR,UAAMnC,MAAM,GAAGN,CAAC,CAACM,MAAjB;AACA,UAAM6C,SAAS,GACb7C,MAAM,CAAC8C,YAAP,GAAsB9C,MAAM,CAAC+C,SAA7B,KAA2C/C,MAAM,CAACgD,YADpD;;AAIA,UAAIJ,OAAO,IAAIC,SAAf,EAA0B;AACxBV,QAAAA,WAAW,CAACM,IAAZ,CAAiB,UAACQ,CAAD,EAAIP,KAAJ;AACf,cAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,UAAAA,UAAU,gBACLD,SACAiB,EAFK,CAAV;AAID,SARD;AASD;AACF;AApBH,KAsBIjB,OAAO,CAACkB,GAAR,CAAY,UAACC,MAAD;AAAY,WACxB,oBAACC,cAAD;AACE,MAAA,IAAI,EAAED,MADR;AAEE,MAAA,GAAG,EAAEA,MAAM,CAAChF,MAFd;AAGE,MAAA,WAAW,EAAE2D,WAHf;AAIE,MAAA,MAAM,EAAE,gBAACF,EAAD;YAAGyB,SAAS;YAAEC,SAAS;AAAO,eACpC,0CACGpF,OAAO,CAACqF,MAAR,KAAmB,UAAnB,IACC,oBAAC,WAAD;AACE,UAAA,WAAW,EAAE,qBAACC,cAAD;AAAoB,mBAC/B,oBAAC,UAAD;AACE,cAAA,SAAS,EAAC,mCADZ;AAEE,cAAA,KAAK,EAAC,MAFR;AAGE,cAAA,MAAM,EAAC,MAHT;AAIE,cAAA,OAAO,EAAEA;AAJX,eAME,oBAAC,IAAD;AACE,cAAA,KAAK,EAAC,MADR;AAEE,cAAA,MAAM,EAAC,MAFT;AAGE,cAAA,IAAI,EAAEC,SAAS,CAACC,IAHlB;AAIE,cAAA,SAAS,EAAEC,UAAU,CAACC;AAJxB,cANF,CAD+B;AAchC,WAfH;AAgBE,UAAA,SAAS,EAAE,mBAACC,aAAD;AAAmB,mBAC5B,oBAAC,SAAD;AACE,cAAA,gBAAgB,EAAER,SADpB;AAEE,cAAA,SAAS,EAAEC,SAFb;AAAA;AAGE,cAAA,aAAa,EAAEO,aAHjB;AAIE,cAAA,QAAQ;AAJV,eAME,oBAAC,QAAD;AACE,cAAA,OAAO,EAAE;AACP,oBAAKV,MAAM,CAACW,IAAP,KAAgB,UAArB,EAAkC;AAChC5F,kBAAAA,OAAO,CAAC6F,YAAR,CAAqB,CAACZ,MAAM,CAAChF,MAAR,CAArB,EAAsC;AACpC8D,oBAAAA,UAAU,CAACD,OAAO,CAACkB,GAAR,CAAY,UAAAc,CAAA;AACrB,0BAAGA,CAAC,CAAC7F,MAAF,KAAagF,MAAM,CAAChF,MAAvB,EAA+B;AAC7B,qDACKgF;AACHW,0BAAAA,IAAI,EAAE;0BAFR;AAID;;AACD,6BAAOE,CAAP;AACD,qBARU,CAAD,CAAV;AASAH,oBAAAA,aAAa;AACd,mBAXD;AAYD,iBAbD,MAaO;AACL3F,kBAAAA,OAAO,CAAC+F,eAAR,CAAwB,CAACd,MAAM,CAAChF,MAAR,CAAxB,EAAyC;AACvC8D,oBAAAA,UAAU,CAACD,OAAO,CAACkB,GAAR,CAAY,UAAAc,CAAA;AACrB,0BAAGA,CAAC,CAAC7F,MAAF,KAAagF,MAAM,CAAChF,MAAvB,EAA+B;AAC7B,qDACKgF;AACHW,0BAAAA,IAAI,EAAE;0BAFR;AAID;;AACD,6BAAOE,CAAP;AACD,qBARU,CAAD,CAAV;AASAH,oBAAAA,aAAa;AACd,mBAXD;AAYD;AACF;AA7BH,eA+BIV,MAAM,CAACW,IAAP,KAAgB,UAAhB,GAA6B,qBAA7B,GAAqD,iBA/BzD,CANF;AAyCI,aAAC5F,OAAO,CAACgG,WAAT,IACE,oBAAC,QAAD;AACE,cAAA,OAAO,EAAE;AACP,oBAAIf,MAAM,CAACgB,OAAX,EAAoB;AAClBjG,kBAAAA,OAAO,CAACkG,UAAR,CAAmBjB,MAAnB,EAA2B;AACzBlB,oBAAAA,UAAU,CAACD,OAAO,CAACkB,GAAR,CAAY,UAAAc,CAAA;AACrB,0BAAGA,CAAC,CAAC7F,MAAF,KAAagF,MAAM,CAAChF,MAAvB,EAA+B;AAC7B,qDACKgF;AACHgB,0BAAAA,OAAO,EAAE;0BAFX;AAID;;AACD,6BAAOH,CAAP;AACD,qBARU,CAAD,CAAV;AASAH,oBAAAA,aAAa;AACd,mBAXD;AAYD,iBAbD,MAaO;AACL3F,kBAAAA,OAAO,CAACmG,QAAR,CAAiBlB,MAAjB,EAAyB;AACvBlB,oBAAAA,UAAU,CAACD,OAAO,CAACkB,GAAR,CAAY,UAAAc,CAAA;AACrB,0BAAGA,CAAC,CAAC7F,MAAF,KAAagF,MAAM,CAAChF,MAAvB,EAA+B;AAC7B,qDACKgF;AACHgB,0BAAAA,OAAO,EAAE;0BAFX;AAID;;AACD,6BAAOH,CAAP;AACD,qBARU,CAAD,CAAV;AASAH,oBAAAA,aAAa;AACd,mBAXD;AAYD;AACF;AA7BH,eA+BIV,MAAM,CAACgB,OAAP,GAAiB,QAAjB,GAA4B,MA/BhC,CA1CN,EA6EE,oBAAC,QAAD;AACE,cAAA,OAAO,EAAE;AACPjG,gBAAAA,OAAO,CAACoG,OAAR,CAAgBnB,MAAhB,EAAwB,CAAC,CAAzB,EAA4B,EAA5B,EAAgC;AAC9BlB,kBAAAA,UAAU,CAACD,OAAO,CAACuC,MAAR,CAAe,UAAC3C,EAAD;wBAAGzD,MAAM;AACjC,2BAAOA,MAAM,KAAKgF,MAAM,CAAChF,MAAzB;AACD,mBAFU,CAAD,CAAV;AAGD,iBAJD;AAKD;AAPH,qBA7EF,CAD4B;AA0F7B;AA1GH,UAFJ,CADoC;AAiHrC;AArHH,MADwB;AAwHzB,GAxHC,CAtBJ,CANF,CADF,CADF;AA2JD;;AChLD,IAAMqG,gBAAgB,GAAG,EAAzB;;AAEA,IAAMpB,YAAY,GAAG,SAAfA,YAAe,OAAuC;AAAA,yBAApCD,MAAoC;AAAA,MAApCA,MAAoC,4BAA3B,EAA2B;AAAA,8BAAvBrB,WAAuB;AAAA,MAAvBA,WAAuB,iCAAT,EAAS;AAC1D,MAAM2C,SAAS,GAAGnG,MAAM,CAAC,IAAD,CAAxB;;AAD0D,oBAKtDQ,UAAU,CAAC4F,kBAAD,CAL4C;AAAA,MAGxDC,kBAHwD,eAGxDA,kBAHwD;AAAA,MAIxDC,iBAJwD,eAIxDA,iBAJwD;;AAAA,qBAMpC9F,UAAU,CAACC,mBAAD,CAN0B;AAAA,MAMlDC,SANkD,gBAMlDA,SANkD;;AAO1D,SACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,WAAD;AACE,IAAA,WAAW,EAAE,qBAACwE,cAAD;AAAA,aACX,oBAAC,MAAD;AACE,QAAA,OAAO,EAAE,mBAAM;AACb,cAAI,CAACmB,kBAAL,EAAyB;AACvBnB,YAAAA,cAAc;AACf;AACF,SALH;AAME,QAAA,GAAG,EAAEiB,SANP;AAOE,QAAA,GAAG,EAAEtB,MAAM,CAAC0B,UAPd;AAQE,QAAA,KAAK,EAAE,EART;AASE,QAAA,MAAM,EAAE;AATV,QADW;AAAA,KADf;AAcE,IAAA,SAAS,EAAE,mBAAChB,aAAD;AAAA,aACT,oBAAC,SAAD;AACE,QAAA,QAAQ,MADV;AAEE,QAAA,SAAS,EAAEY,SAFb;AAAA;AAIE,QAAA,gBAAgB,EAAEA,SAJpB;AAAA;AAME,QAAA,aAAa,EAAEZ,aANjB;AAOE,QAAA,KAAK,EAAE;AAAEiB,UAAAA,UAAU,EAAE,CAAd;AAAiBC,UAAAA,aAAa,EAAE;AAAhC;AAPT,SAUIH,iBAAiB,GACbA,iBAAiB,CAAC;AAClBI,QAAAA,IAAI,EAAE7B,MADY;AAElB8B,QAAAA,aAAa,EAAEnD,WAFG;AAGlBoD,QAAAA,KAAK,EAAErB;AAHW,OAAD,CADJ,GAOb,oBAAC,WAAD;AACE,QAAA,IAAI,EAAEV,MADR;AAEE,QAAA,aAAa,EAAErB,WAFjB;AAGE,QAAA,SAAS,EAAE+B;AAHb,QAjBR,CADS;AAAA;AAdb,IADF,CADF,EA6CE,oBAAC,KAAD;AAAO,IAAA,IAAI,EAAE1D,eAAe,CAACiB,UAA7B;AAAyC,IAAA,KAAK,EAAEf,WAAW,CAACgB;AAA5D,KACG8B,MAAM,CAACgC,QAAP,IAAmBnG,SAAS,CAACoG,OADhC,EAGKtD,WAAW,KAAKqB,MAAM,CAAChF,MAAxB,IACEa,SAAS,CAACqG,GAJhB,CA7CF,CADF;AAwDD,CA/DD;;AAiEAjC,YAAY,CAAC3C,SAAb,GAAyB;AACvB0C,EAAAA,MAAM,EAAEzC,SAAS,CAACG,KAAV,CAAgB;AACtB1C,IAAAA,MAAM,EAAEuC,SAAS,CAACI,MADI;AAEtB+D,IAAAA,UAAU,EAAEnE,SAAS,CAACI,MAFA;AAGtBqE,IAAAA,QAAQ,EAAEzE,SAAS,CAACI;AAHE,GAAhB,EAILF,UALoB;AAMvBkB,EAAAA,WAAW,EAAEpB,SAAS,CAACI,MAAV,CAAiBF;AANP,CAAzB;;AASA,IAAM0E,iBAAiB,GAAG,SAApBA,iBAAoB,QAOpB;AAAA,MANJpH,OAMI,SANJA,OAMI;AAAA,MALJ8C,QAKI,SALJA,QAKI;AAAA,MAJJc,WAII,SAJJA,WAII;AAAA,MAHJyD,gBAGI,SAHJA,gBAGI;AAAA,MAFJC,gBAEI,SAFJA,gBAEI;AAAA,MADJC,UACI,SADJA,UACI;AACJ,MAAMzD,OAAO,GAAG9D,OAAO,CAAC8D,OAAR,IAAmB,EAAnC;;AADI,kBAEsCvD,QAAQ,CAAC,KAAD,CAF9C;AAAA;AAAA,MAEGiH,aAFH;AAAA,MAEkBC,gBAFlB;;AAAA,mBAG4ClH,QAAQ,CAAC,KAAD,CAHpD;AAAA;AAAA,MAGGmH,gBAHH;AAAA,MAGqBC,mBAHrB;;AAAA,qBAIkB/G,UAAU,CAACC,mBAAD,CAJ5B;AAAA,MAIIC,SAJJ,gBAIIA,SAJJ;;AAKJ,SACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KAEIgD,OAAO,CAAC8D,KAAR,CAAc,CAAd,EAAiBtB,gBAAjB,EAAmCtB,GAAnC,CAAuC,UAACC,MAAD;AAAA,WACrC,oBAAC,YAAD;AACE,MAAA,MAAM,EAAEA,MADV;AAEE,MAAA,WAAW,EAAErB,WAFf;AAGE,MAAA,GAAG,EAAEqB,MAAM,CAAChF;AAHd,MADqC;AAAA,GAAvC,CAFJ,CADF,EAYE;AAAK,IAAA,SAAS,EAAC;AAAf,KAEI6D,OAAO,CAAC+D,MAAR,IAAkBvB,gBAAlB,IACE,oBAAC,MAAD;AACE,IAAA,SAAS,EAAC,iDADZ;AAEE,IAAA,IAAI,EAAEwB,IAAW,CAACC,SAFpB;AAGE,IAAA,IAAI,EAAEC,IAAW,CAACC,KAHpB;AAIE,IAAA,OAAO,EAAE;AAAA,aAAMR,gBAAgB,CAAC,IAAD,CAAtB;AAAA;AAJX,KAMG3G,SAAS,CAACoH,yCANb,CAHN,EAcIpE,OAAO,CAAC+D,MAAR,IAAkBvB,gBAAlB,IAAsCkB,aAAtC,IACE,oBAAC,YAAD;AACE,IAAA,WAAW,EAAE5D,WADf;AAEE,IAAA,SAAS,EAAE,qBAAM;AACf6D,MAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACD,KAJH;AAKE,IAAA,OAAO,EAAEzH;AALX,IAfN,EAwBE,oBAAC,MAAD;AACE,IAAA,SAAS,EAAC,kDADZ;AAEE,IAAA,IAAI,EAAE8H,IAAW,CAACC,SAFpB;AAGE,IAAA,IAAI,EAAEC,IAAW,CAACC,KAHpB;AAIE,IAAA,QAAQ,EAAEnF,QAJZ;AAKE,IAAA,OAAO,EAAE,mBAAM;AACb,UAAIA,QAAJ,EAAc;AAAE;AAAS;;AACzB6E,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AACD;AARH,KAUG7G,SAAS,CAACqH,uCAVb,CAxBF,EAqCIT,gBAAgB,IACd,oBAACU,eAAD;AACE,IAAA,UAAU,EAAEb,UADd;AAEE,IAAA,SAAS,EAAEzG,SAAS,CAACuH,2BAFvB;AAGE,IAAA,UAAU,EAAEvH,SAAS,CAACwH,cAHxB;AAIE,IAAA,UAAU,EAAE;AAAA,aAAMX,mBAAmB,CAAC,KAAD,CAAzB;AAAA,KAJd;AAKE,IAAA,WAAW,EAAE7D,OAAO,CAACkB,GAAR,CAAY,UAACC,MAAD;AAAA,aAAaA,MAAM,CAAChF,MAApB;AAAA,KAAZ,CALf;AAME,IAAA,gBAAgB,EAAEoH,gBANpB;AAOE,IAAA,QAAQ,EAAEC;AAPZ,IAtCN,CAZF,CADF;AAiED,CA7ED;;AA+EAF,iBAAiB,CAAC7E,SAAlB,GAA8B;AAC5BgF,EAAAA,UAAU,EAAE/E,SAAS,CAACe,IADM;AAE5BT,EAAAA,QAAQ,EAAEN,SAAS,CAACe,IAFQ;AAG5BvD,EAAAA,OAAO,EAAEwC,SAAS,CAACG,KAAV,CAAgB;AACvBmB,IAAAA,OAAO,EAAEtB,SAAS,CAAC+F,OAAV,CAAkB/F,SAAS,CAACG,KAAV,CAAgB,EAAhB,CAAlB;AADc,GAAhB,CAHmB;AAM5BiB,EAAAA,WAAW,EAAEpB,SAAS,CAACI,MANK;AAO5ByE,EAAAA,gBAAgB,EAAE7E,SAAS,CAACC,IAAV,CAAeC,UAPL;AAQ5B4E,EAAAA,gBAAgB,EAAE9E,SAAS,CAACC,IAAV,CAAeC;AARL,CAA9B;AAWA0E,iBAAiB,CAAC5D,YAAlB,GAAiC;AAC/B+D,EAAAA,UAAU,EAAE,KADmB;AAE/B3D,EAAAA,WAAW,EAAE,EAFkB;AAG/Bd,EAAAA,QAAQ,EAAE,KAHqB;AAI/B9C,EAAAA,OAAO,EAAE;AAJsB,CAAjC;;ACzLA;AAeA,IAAMwI,cAAc,GAAG,gCAAvB;;AAmBA,IAAMtD,cAAY,GAAG,SAAfA,YAAe,CAACxB,EAAD;MACnBoD,IAAI;MACJ2B,SAAS;MACT7E,WAAW;MACX8E,MAAM;AAEN,MAAMtD,SAAS,GAAGhF,MAAM,CAAC,IAAD,CAAxB;AACA,MAAM+E,SAAS,GAAG/E,MAAM,CAAC,IAAD,CAAxB;AACA,MAAMmG,SAAS,GAAGnG,MAAM,CAAC,IAAD,CAAxB;AACQ,MAAAU,SAAS,GAAKF,UAAU,CAACC,mBAAD,CAAV,UAAd;;AACF,MAAAgD,KAGFjD,UAAU,CAAC4F,kBAAD,CAHR;AAAA,MACJC,kBAAkB,wBADd;AAAA,MAEJC,iBAAiB,uBAFb;;AAIN,MAAMiC,mBAAmB,GAAGC,KAAK,CAACC,OAAN,CAAcJ,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CAAnE;AACA,SACE;AACE,IAAA,GAAG,EAAEtD,SADP;AAEE,IAAA,SAAS,EAAE2D,gBACTN,iBAAmBG,oBADV,CAETI,IAFS,CAEJ,GAFI;AAFb,KAOIjC,IAAI,CAACb,OAAL,IACE,oBAAC,kBAAD,OARN,EAWE,oBAAC,WAAD;AACE,IAAA,WAAW,EAAE,qBAACX,cAAD;AAAoB,aAC/B,oBAAC,MAAD;AACE,QAAA,OAAO,EAAE;AACP,cAAI,CAACmB,kBAAL,EAAyB;AACvBnB,YAAAA,cAAc;AACf;AACF,SALH;AAME,QAAA,GAAG,EAAEiB,SANP;AAOE,QAAA,SAAS,EAAKiC,cAAc,aAP9B;AAQE,QAAA,GAAG,EAAE1B,IAAI,CAACH,UARZ;AASE,QAAA,KAAK,EAAE,EATT;AAUE,QAAA,MAAM,EAAE;AAVV,QAD+B;AAahC,KAdH;AAeE,IAAA,SAAS,EAAE,mBAAChB,aAAD;AAAmB,aAC5B,oBAAC,SAAD;AACE,QAAA,QAAQ,MADV;AAEE,QAAA,SAAS,EAAEY,SAFb;AAAA;AAIE,QAAA,gBAAgB,EAAEA,SAJpB;AAAA;AAME,QAAA,aAAa,EAAEZ,aANjB;AAOE,QAAA,KAAK,EAAE;AAAEiB,UAAAA,UAAU,EAAE,CAAd;AAAiBC,UAAAA,aAAa,EAAE;AAAhC;AAPT,SAUIH,iBAAiB,GACbA,iBAAiB,CAAC;AAClBI,QAAAA,IAAI,MADc;AAElBC,QAAAA,aAAa,EAAEnD,WAFG;AAGlBoD,QAAAA,KAAK,EAAErB;AAHW,OAAD,CADJ,GAOb,oBAAC,WAAD;AACE,QAAA,IAAI,EAAEmB,IADR;AAEE,QAAA,aAAa,EAAElD,WAFjB;AAGE,QAAA,SAAS,EAAE+B;AAHb,QAjBR,CAD4B;AA0B7B;AAzCH,IAXF,EAsDE,oBAAC,KAAD;AACE,IAAA,SAAS,EAAK6C,cAAc,YAD9B;AAEE,IAAA,IAAI,EAAEvG,eAAe,CAAC+G,UAFxB;AAGE,IAAA,KAAK,EAAE7G,WAAW,CAACgB;AAHrB,KAKG2D,IAAI,CAACG,QAAL,IAAiBnG,SAAS,CAACoG,OAL9B,EAOKtD,WAAW,KAAKkD,IAAI,CAAC7G,MAAtB,IACE,QARN,CAtDF,EAmEI,CAAC6G,IAAI,CAACG,QAAN,IACE,oBAAC,KAAD;AACE,IAAA,SAAS,EAAKuB,cAAc,eAD9B;AAEE,IAAA,IAAI,EAAEvG,eAAe,CAACgH,SAFxB;AAGE,IAAA,KAAK,EAAE9G,WAAW,CAACiB;AAHrB,KAKG0D,IAAI,CAAC7G,MALR,CApEN,EA8EI6G,IAAI,CAAClB,IAAL,KAAc,UAAd,IACE,oBAAC,KAAD;AACE,IAAA,SAAS,EAAK4C,cAAc,eAD9B;AAEE,IAAA,IAAI,EAAEvG,eAAe,CAACiB,UAFxB;AAGE,IAAA,KAAK,EAAEf,WAAW,CAACiB;AAHrB,gBA/EN,EAyFIsF,MAAM,IACJ;AAAK,IAAA,GAAG,EAAEtD,SAAV;AAAqB,IAAA,SAAS,EAAKoD,cAAc;AAAjD,KACIE,MAAM,CAAC;AAAEtD,IAAAA,SAAS,WAAX;AAAaD,IAAAA,SAAS;AAAtB,GAAD,CADV,CA1FN,CADF;AAkGD,CAjHD;;SCZwB+D,eAAexF;MACrCC,SAAS;MACT3D,OAAO;MACP4D,WAAW;;AAEL,MAAAC,KAA4BtD,QAAQ,CAAC,EAAD,CAApC;AAAA,MAAC4I,SAAS,QAAV;AAAA,MAAYC,YAAY,QAAxB;;AACA,MAAApF,KAAoCzD,QAAQ,CAAC,IAAD,CAA5C;AAAA,MAAC8I,aAAa,QAAd;AAAA,MAAgBC,gBAAgB,QAAhC;;AAENnF,EAAAA,SAAS,CAAC;AACR,QAAMoF,iBAAiB,GAAGvJ,OAAO,CAACwJ,uBAAR,EAA1B;AACAD,IAAAA,iBAAiB,CAACjF,KAAlB,GAA0B,EAA1B;AACAiF,IAAAA,iBAAiB,CAAChF,IAAlB,CAAuB,UAAC4E,SAAD,EAAY3E,KAAZ;AACrB,UAAIA,KAAJ,EAAW;AACT;AACD;;AACD4E,MAAAA,YAAY,CAACD,SAAD,CAAZ;AACD,KALD;AAMAG,IAAAA,gBAAgB,CAACC,iBAAD,CAAhB;AACD,GAVQ,EAUN,EAVM,CAAT;AAWA,SACE,iCACE,oBAAC,KAAD;AACE,IAAA,UAAU,MADZ;AAEE,IAAA,QAAQ,EAAE;AAAM,aAAA5F,SAAS,EAAT;AAAW,KAF7B;AAGE,IAAA,QAAQ,EAAEc,IAHZ;AAIE,IAAA,SAAS,EAAC;AAJZ,KAME;AACE,IAAA,SAAS,EAAC,qCADZ;AAEE,IAAA,QAAQ,EAAE,kBAACjD,CAAD;AACA,UAAAkD,OAAO,GAAK2E,aAAa,QAAzB;AACR,UAAMvH,MAAM,GAAGN,CAAC,CAACM,MAAjB;AACA,UAAM6C,SAAS,GACb7C,MAAM,CAAC8C,YAAP,GAAsB9C,MAAM,CAAC+C,SAA7B,KAA2C/C,MAAM,CAACgD,YADpD;;AAIA,UAAIJ,OAAO,IAAIC,SAAf,EAA0B;AACxB0E,QAAAA,aAAa,CAAC9E,IAAd,CAAmB,UAACQ,CAAD,EAAIP,KAAJ;AACjB,cAAIA,KAAJ,EAAW;AACT;AACD;;AACD4E,UAAAA,YAAY,gBACPD,WACApE,EAFO,CAAZ;AAID,SARD;AASD;AACF;AApBH,KAsBIoE,SAAS,CAACnE,GAAV,CAAc,UAACC,MAAD;AAAY,WAC1B,oBAACC,cAAD;AACE,MAAA,WAAW,EAAEtB,WADf;AAEE,MAAA,IAAI,EAAEqB,MAFR;AAGE,MAAA,GAAG,EAAEA,MAAM,CAAChF,MAHd;AAIE,MAAA,MAAM,EAAE,gBAACyD,EAAD;YAAGyB,SAAS;YAAEC,SAAS;AAAO,eACpC,oBAAC,WAAD;AACE,UAAA,WAAW,EAAE,qBAACE,cAAD;AAAoB,mBAC/B,oBAAC,UAAD;AACE,cAAA,SAAS,EAAC,mCADZ;AAEE,cAAA,KAAK,EAAC,MAFR;AAGE,cAAA,MAAM,EAAC,MAHT;AAIE,cAAA,OAAO,EAAEA;AAJX,eAME,oBAAC,IAAD;AACE,cAAA,KAAK,EAAC,MADR;AAEE,cAAA,MAAM,EAAC,MAFT;AAGE,cAAA,IAAI,EAAEC,SAAS,CAACC,IAHlB;AAIE,cAAA,SAAS,EAAEC,UAAU,CAACC;AAJxB,cANF,CAD+B;AAchC,WAfH;AAgBE,UAAA,SAAS,EAAE,mBAACC,aAAD;AAAmB,mBAC5B,oBAAC,SAAD;AACE,cAAA,gBAAgB,EAAER,SADpB;AAEE,cAAA,SAAS,EAAEC,SAFb;AAAA;AAGE,cAAA,aAAa,EAAEO,aAHjB;AAIE,cAAA,QAAQ;AAJV,eAME,oBAAC,QAAD;AACE,cAAA,OAAO,EAAE;AACP3F,gBAAAA,OAAO,CAAC+F,eAAR,CAAwB,CAACd,MAAM,CAAChF,MAAR,CAAxB,EAAyC,UAACwJ,QAAD,EAAWjF,KAAX;AACvC,sBAAIA,KAAJ,EAAW;AACT;AACD;;AACD4E,kBAAAA,YAAY,CAACD,SAAS,CAAC9C,MAAV,CAAiB,UAAC3C,EAAD;wBAAGzD,MAAM;AACrC,2BAAOA,MAAM,KAAKgF,MAAM,CAAChF,MAAzB;AACD,mBAFY,CAAD,CAAZ;AAGD,iBAPD;AAQA0F,gBAAAA,aAAa;AACd;AAXH,kCANF,CAD4B;AAuB7B;AAvCH,UADoC;AA0CrC;AA9CH,MAD0B;AAiD3B,GAjDC,CAtBJ,CANF,CADF,CADF;AAoFD;;SCpGuB+D,kBAAkBhG;MACxCC,SAAS;MACT3D,OAAO;MACPF,SAAQ;;AAEF,MAAA+D,KAAwBtD,QAAQ,CAAC,EAAD,CAAhC;AAAA,MAACuD,OAAO,QAAR;AAAA,MAAUC,UAAU,QAApB;;AACA,MAAAC,KAAwCzD,QAAQ,CAAC,EAAD,CAAhD;AAAA,MAACoJ,eAAe,QAAhB;AAAA,MAAkBC,kBAAkB,QAApC;;AACA,MAAAC,KAAgCtJ,QAAQ,CAAC,IAAD,CAAxC;AAAA,MAAC0D,WAAW,QAAZ;AAAA,MAAcC,cAAc,QAA5B;;AACE,MAAApD,SAAS,GAAKF,UAAU,CAACC,mBAAD,CAAV,UAAd;AAERsD,EAAAA,SAAS,CAAC;AACR,QAAMC,eAAe,GAAGpE,OAAO,CAACqE,qBAAR,EAAxB;AACAD,IAAAA,eAAe,CAACE,KAAhB,GAAwB,EAAxB;AACAF,IAAAA,eAAe,CAACG,IAAhB,CAAqB,UAACT,OAAD,EAAUU,KAAV;AACnB,UAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,MAAAA,UAAU,CAACD,OAAD,CAAV;AACD,KALD;AAMAI,IAAAA,cAAc,CAACE,eAAD,CAAd;AACD,GAVQ,EAUN,EAVM,CAAT;AAYA,MAAM0F,aAAa,GAAGC,MAAM,CAACC,IAAP,CAAYL,eAAZ,EAA6BtD,MAA7B,CAAoC,UAACP,CAAD;AAAO,WAAA6D,eAAe,CAAC7D,CAAD,CAAf;AAAkB,GAA7D,EAA+D+B,MAArF;AACA,SACE,iCACE,oBAAC,KAAD;AACE,IAAA,IAAI,EAAEvG,IAAU,CAACC,OADnB;AAEE,IAAA,UAAU,EAAC,KAFb;AAGE,IAAA,QAAQ,EAAE;AAAM,aAAAoC,SAAS,EAAT;AAAW,KAH7B;AAIE,IAAA,QAAQ,EAAE;AACR,UAAMG,OAAO,GAAGiG,MAAM,CAACC,IAAP,CAAYL,eAAZ,EAA6BtD,MAA7B,CAAoC,UAACP,CAAD;AAAO,eAAA6D,eAAe,CAAC7D,CAAD,CAAf;AAAkB,OAA7D,CAAhB;;AACAhG,MAAAA,SAAQ,CAACgE,OAAD,CAAR;AACD,KAPH;AAQE,IAAA,SAAS,EAAC;AARZ,KAUE,oBAAC,KAAD;AACE,IAAA,KAAK,EAAGgG,aAAa,GAAG,CAAjB,GAAsB3H,WAAW,CAACZ,OAAlC,GAA4CY,WAAW,CAAC8H,cADjE;AAEE,IAAA,IAAI,EAAEhI,eAAe,CAACiI;AAFxB,KAIMJ,aAAa,MAAb,GAAiBhJ,SAAS,CAACqJ,8BAJjC,CAVF,EAgBE;AACE,IAAA,SAAS,EAAC,qCADZ;AAEE,IAAA,QAAQ,EAAE,kBAAC3I,CAAD;AACA,UAAAkD,OAAO,GAAKT,WAAW,QAAvB;AACR,UAAMnC,MAAM,GAAGN,CAAC,CAACM,MAAjB;AACA,UAAM6C,SAAS,GACb7C,MAAM,CAAC8C,YAAP,GAAsB9C,MAAM,CAAC+C,SAA7B,KAA2C/C,MAAM,CAACgD,YADpD;;AAIA,UAAIJ,OAAO,IAAIC,SAAf,EAA0B;AACxBV,QAAAA,WAAW,CAACM,IAAZ,CAAiB,UAACQ,CAAD,EAAIP,KAAJ;AACf,cAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,UAAAA,UAAU,gBACLD,SACAiB,EAFK,CAAV;AAID,SARD;AASD;AACF;AApBH,KAsBIjB,OAAO,CAACkB,GAAR,CAAY,UAACC,MAAD;AAAY,WACxB,oBAACC,cAAD;AACE,MAAA,QAAQ,MADV;AAEE,MAAA,OAAO,EAAEyE,eAAe,CAAC1E,MAAM,CAAChF,MAAR,CAF1B;AAGE,MAAA,QAAQ,EACN,kBAACmK,KAAD;;;AACE,YAAMC,uBAAuB,yBACxBV,+BACFS,KAAK,CAACtI,MAAN,CAAawI,MAAKF,KAAK,CAACtI,MAAN,CAAayI,aAFlC;;AAIA,YAAI,CAACH,KAAK,CAACtI,MAAN,CAAayI,OAAlB,EAA2B;AACzB,iBAAOF,uBAAuB,CAACD,KAAK,CAACtI,MAAN,CAAawI,EAAd,CAA9B;AACD;;AACDV,QAAAA,kBAAkB,CAACS,uBAAD,CAAlB;AACD,OAbL;AAeE,MAAA,IAAI,EAAEpF,MAfR;AAgBE,MAAA,GAAG,EAAEA,MAAM,CAAChF;AAhBd,MADwB;AAmBzB,GAnBC,CAtBJ,CAhBF,CADF,CADF;AAgED;;ACjFM,IAAMuK,YAAY,GAAG,SAAfA,YAAe,CAAC9G,EAAD;MAAG+G,GAAG;MAAEzK,OAAO;;AACnC,MAAA6D,KAA4BtD,QAAQ,CAAC,EAAD,CAApC;AAAA,MAAC4I,SAAS,QAAV;AAAA,MAAYC,YAAY,QAAxB;;AACA,MAAApF,KAA0BzD,QAAQ,CAAC,KAAD,CAAlC;AAAA,MAACmK,QAAQ,QAAT;AAAA,MAAWC,WAAW,QAAtB;;AACA,MAAAd,KAAwBtJ,QAAQ,CAAC,KAAD,CAAhC;AAAA,MAACqK,OAAO,QAAR;AAAA,MAAUC,UAAU,QAApB;;AACA,MAAAC,KAAwBvK,QAAQ,CAAC,KAAD,CAAhC;AAAA,MAACmE,OAAO,QAAR;AAAA,MAAUqG,UAAU,QAApB;;AACE,MAAAjK,SAAS,GAAKF,UAAU,CAACC,mBAAD,CAAV,UAAd;AAERsD,EAAAA,SAAS,CAAC;AACR,QAAI,CAACnE,OAAL,EAAc;AACZoJ,MAAAA,YAAY,CAAC,EAAD,CAAZ;AACA;AACD;;AAED,QAAMG,iBAAiB,GAAGvJ,OAAO,CAACwJ,uBAAR,EAA1B;AACAD,IAAAA,iBAAiB,CAACjF,KAAlB,GAA0B,EAA1B;AACAiF,IAAAA,iBAAiB,CAAChF,IAAlB,CAAuB,UAAC4E,SAAD,EAAY3E,KAAZ;AACrB,UAAIA,KAAJ,EAAW;AACT;AACD;;AACD4E,MAAAA,YAAY,CAACD,SAAD,CAAZ;AACA4B,MAAAA,UAAU,CAACxB,iBAAiB,CAAC7E,OAAnB,CAAV;AACD,KAND;AAOD,GAfQ,EAeN,CAAC1E,OAAD,CAfM,CAAT;AAiBA,MAAMgL,WAAW,GAAGC,WAAW,CAC7B;AACE,QAAI,CAACjL,OAAL,EAAc;AACZoJ,MAAAA,YAAY,CAAC,EAAD,CAAZ;AACA;AACD;;AACD,QAAMG,iBAAiB,GAAGvJ,OAAO,CAACwJ,uBAAR,EAA1B;AACAD,IAAAA,iBAAiB,CAACjF,KAAlB,GAA0B,EAA1B;AACAiF,IAAAA,iBAAiB,CAAChF,IAAlB,CAAuB,UAAC4E,SAAD,EAAY3E,KAAZ;AACrB,UAAIA,KAAJ,EAAW;AACT;AACD;;AACD4E,MAAAA,YAAY,CAACD,SAAD,CAAZ;AACA4B,MAAAA,UAAU,CAACxB,iBAAiB,CAAC7E,OAAnB,CAAV;AACD,KAND;AAOD,GAf4B,EAgB7B,CAAC1E,OAAD,CAhB6B,CAA/B;AAmBA,SACE,0CAEImJ,SAAS,CAACnE,GAAV,CAAc,UAACkG,QAAD;AAAc,WAC1B,oBAAChG,cAAD;AACE,MAAA,GAAG,EAAEgG,QAAQ,CAACjL,MADhB;AAEE,MAAA,IAAI,EAAEiL,QAFR;AAGE,MAAA,WAAW,EAAET,GAAG,CAAC7G,WAAJ,CAAgB3D,MAH/B;AAIE,MAAA,MAAM,EAAE,gBAACyD,EAAD;YAAG0B,SAAS;YAAED,SAAS;AAC7B,eACE,oBAAC,WAAD;AACE,UAAA,WAAW,EAAE,qBAACG,cAAD;AAAoB,mBAC/B,oBAAC,UAAD;AACE,cAAA,SAAS,EAAC,mCADZ;AAEE,cAAA,KAAK,EAAC,MAFR;AAGE,cAAA,MAAM,EAAC,MAHT;AAIE,cAAA,OAAO,EAAEA;AAJX,eAME,oBAAC,IAAD;AACE,cAAA,KAAK,EAAC,MADR;AAEE,cAAA,MAAM,EAAC,MAFT;AAGE,cAAA,IAAI,EAAEC,SAAS,CAACC,IAHlB;AAIE,cAAA,SAAS,EAAEC,UAAU,CAACC;AAJxB,cANF,CAD+B;AAchC,WAfH;AAgBE,UAAA,SAAS,EAAE,mBAACC,aAAD;AAAmB,mBAC5B,oBAAC,SAAD;AACE,cAAA,gBAAgB,EAAER,SADpB;AAEE,cAAA,SAAS,EAAEC,SAFb;AAAA;AAGE,cAAA,aAAa,EAAEO,aAHjB;AAIE,cAAA,QAAQ;AAJV,eAME,oBAAC,QAAD;AACE,cAAA,OAAO,EAAE;AACP3F,gBAAAA,OAAO,CAAC+F,eAAR,CAAwB,CAACmF,QAAQ,CAACjL,MAAV,CAAxB,EAA2C,UAACwJ,QAAD,EAAWjF,KAAX;AACzC,sBAAIA,KAAJ,EAAW;AACT;AACD;;AACD4E,kBAAAA,YAAY,CAACD,SAAS,CAAC9C,MAAV,CAAiB,UAAC3C,EAAD;wBAAGzD,MAAM;AACrC,2BAAOA,MAAM,KAAKiL,QAAQ,CAACjL,MAA3B;AACD,mBAFY,CAAD,CAAZ;AAGD,iBAPD;AAQA0F,gBAAAA,aAAa;AACd;AAXH,kCANF,CAD4B;AAuB7B;AAvCH,UADF;AA2CD;AAhDH,MAD0B;AAmD3B,GAnDD,CAFJ,EAwDIjB,OAAO,IACL;AACE,IAAA,SAAS,EAAC;AADZ,KAGE,oBAAC,MAAD;AACE,IAAA,IAAI,EAAEoD,IAAW,CAACC,SADpB;AAEE,IAAA,IAAI,EAAEC,IAAW,CAACC,KAFpB;AAGE,IAAA,OAAO,EAAE;AACP0C,MAAAA,WAAW,CAAC,IAAD,CAAX;AACD;AALH,KAOG7J,SAAS,CAACqK,qCAPb,CAHF,EAYE,oBAAC,MAAD;AACE,IAAA,IAAI,EAAErD,IAAW,CAACC,SADpB;AAEE,IAAA,IAAI,EAAEC,IAAW,CAACC,KAFpB;AAGE,IAAA,OAAO,EAAE;AACP4C,MAAAA,UAAU,CAAC,IAAD,CAAV;AACD;AALH,KAOG/J,SAAS,CAACsK,qCAPb,CAZF,CAzDN,EAkFIV,QAAQ,IACN,oBAAC,cAAD;AACE,IAAA,WAAW,EAAED,GAAG,CAAC7G,WAAJ,CAAgB3D,MAD/B;AAEE,IAAA,SAAS,EAAE;AACT0K,MAAAA,WAAW,CAAC,KAAD,CAAX;AACAK,MAAAA,WAAW;AACZ,KALH;AAME,IAAA,OAAO,EAAEhL;AANX,IAnFN,EA8FI4K,OAAO,IACL,oBAAC,iBAAD;AACE,IAAA,SAAS,EAAE;AAAM,aAAAC,UAAU,CAAC,KAAD,CAAV;AAAiB,KADpC;AAEE,IAAA,OAAO,EAAE7K,OAFX;AAGE,IAAA,QAAQ,EAAE,kBAAC8D,OAAD;AACR+G,MAAAA,UAAU,CAAC,KAAD,CAAV;AACA7K,MAAAA,OAAO,CAAC6F,YAAR,CAAqB/B,OAArB,EAA8B;AAC5BkH,QAAAA,WAAW;AACZ,OAFD;AAGD;AARH,IA/FN,CADF;AA8GD,CAzJM;;AA2JP,IAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD;AAAW,SAAC;AAClCb,IAAAA,GAAG,EAAEc,MAAM,CAACD,KAAD;AADuB,GAAD;AAEjC,CAFF;;AAIA,qBAAeE,mBAAmB,CAAChB,YAAD,EAAea,eAAf,CAAlC;;SC9KwBjD,cAAc1E;MACpCC,SAAS;MACT0D,gBAAgB;MAChBvH,SAAQ;;AAEF,MAAA+D,KAAwBtD,QAAQ,CAAC,EAAD,CAAhC;AAAA,MAACuD,OAAO,QAAR;AAAA,MAAUC,UAAU,QAApB;;AACA,MAAAC,KAAwCzD,QAAQ,CAAC,EAAD,CAAhD;AAAA,MAACoJ,eAAe,QAAhB;AAAA,MAAkBC,kBAAkB,QAApC;;AACA,MAAAC,KAA4BtJ,QAAQ,CAAC,IAAD,CAApC;AAAA,MAACkL,SAAS,QAAV;AAAA,MAAYC,YAAY,QAAxB;;AAENvH,EAAAA,SAAS,CAAC;AACR,QAAMwH,aAAa,GAAGtE,gBAAgB,EAAtC;AACAsE,IAAAA,aAAa,CAACrH,KAAd,GAAsB,EAAtB;AACAqH,IAAAA,aAAa,CAACpH,IAAd,CAAmB,UAACT,OAAD,EAAUU,KAAV;AACjB,UAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,MAAAA,UAAU,CAACD,OAAD,CAAV;AACD,KALD;AAMA4H,IAAAA,YAAY,CAACC,aAAD,CAAZ;AACD,GAVQ,EAUN,EAVM,CAAT;AAWA,SACE,iCACE,oBAAC,KAAD;AACE,IAAA,QAAQ,EAAE5B,MAAM,CAACC,IAAP,CAAYL,eAAZ,EAA6B9B,MAA7B,KAAwC,CADpD;AAEE,IAAA,UAAU,EAAC,QAFb;AAGE,IAAA,IAAI,EAAEvG,IAAU,CAACC,OAHnB;AAIE,IAAA,QAAQ,EAAE;AAAM,aAAAoC,SAAS,EAAT;AAAW,KAJ7B;AAKE,IAAA,QAAQ,EAAE;AACR,UAAMG,OAAO,GAAGiG,MAAM,CAACC,IAAP,CAAYL,eAAZ,EAA6BtD,MAA7B,CAAoC,UAACP,CAAD;AAAO,eAAA6D,eAAe,CAAC7D,CAAD,CAAf;AAAkB,OAA7D,CAAhB;;AACAhG,MAAAA,SAAQ,CAACgE,OAAD,CAAR;AACD,KARH;AASE,IAAA,SAAS,EAAC;AATZ,KAWE;AACE,IAAA,SAAS,EAAC,qCADZ;AAEE,IAAA,QAAQ,EAAE,kBAACtC,CAAD;AACA,UAAAkD,OAAO,GAAK+G,SAAS,QAArB;AACR,UAAM3J,MAAM,GAAGN,CAAC,CAACM,MAAjB;AACA,UAAM6C,SAAS,GACb7C,MAAM,CAAC8C,YAAP,GAAsB9C,MAAM,CAAC+C,SAA7B,KAA2C/C,MAAM,CAACgD,YADpD;;AAIA,UAAIJ,OAAO,IAAIC,SAAf,EAA0B;AACxB8G,QAAAA,SAAS,CAAClH,IAAV,CAAe,UAACQ,CAAD,EAAIP,KAAJ;AACb,cAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,UAAAA,UAAU,gBACLD,SACAiB,EAFK,CAAV;AAID,SARD;AASD;AACF;AApBH,KAsBIjB,OAAO,CAACkB,GAAR,CAAY,UAACC,MAAD;AAAY,WACxB,oBAACC,cAAD;AACE,MAAA,QAAQ,MADV;AAEE,MAAA,OAAO,EAAEyE,eAAe,CAAC1E,MAAM,CAAChF,MAAR,CAF1B;AAGE,MAAA,QAAQ,EACN,kBAACmK,KAAD;;;AACE,YAAMC,uBAAuB,yBACxBV,+BACFS,KAAK,CAACtI,MAAN,CAAawI,MAAKF,KAAK,CAACtI,MAAN,CAAayI,aAFlC;;AAIA,YAAI,CAACH,KAAK,CAACtI,MAAN,CAAayI,OAAlB,EAA2B;AACzB,iBAAOF,uBAAuB,CAACD,KAAK,CAACtI,MAAN,CAAawI,EAAd,CAA9B;AACD;;AACDV,QAAAA,kBAAkB,CAACS,uBAAD,CAAlB;AACD,OAbL;AAeE,MAAA,IAAI,EAAEpF,MAfR;AAgBE,MAAA,GAAG,EAAEA,MAAM,CAAChF;AAhBd,MADwB;AAmBzB,GAnBC,CAtBJ,CAXF,CADF,CADF;AA2DD;;ACjEM,IAAM2L,UAAU,GAAG,SAAbA,UAAa,CAAClI,EAAD;MAAG+G,GAAG;MAAEzK,OAAO;MAAEqH,gBAAgB;;AACnD,MAAAxD,KAAwBtD,QAAQ,CAAC,EAAD,CAAhC;AAAA,MAACuD,OAAO,QAAR;AAAA,MAAUC,UAAU,QAApB;;AACA,MAAAC,KAAwBzD,QAAQ,CAAC,KAAD,CAAhC;AAAA,MAACmE,OAAO,QAAR;AAAA,MAAUqG,UAAU,QAApB;;AACA,MAAAlB,KAAsCtJ,QAAQ,CAAC,KAAD,CAA9C;AAAA,MAACsL,cAAc,QAAf;AAAA,MAAiBC,iBAAiB,QAAlC;;AACA,MAAAhB,KAA4CvK,QAAQ,CAAC,KAAD,CAApD;AAAA,MAACwL,iBAAiB,QAAlB;AAAA,MAAoBC,oBAAoB,QAAxC;;AAEN7H,EAAAA,SAAS,CAAC;AACR,QAAI,CAACnE,OAAL,EAAc;AACZ+D,MAAAA,UAAU,CAAC,EAAD,CAAV;AACA;AACD;;AAED,QAAMkI,mBAAmB,GAAGjM,OAAO,CAACqE,qBAAR,EAA5B;AACA4H,IAAAA,mBAAmB,CAAC3H,KAApB,GAA4B,EAA5B;AACA2H,IAAAA,mBAAmB,CAAC1H,IAApB,CAAyB,UAACT,OAAD,EAAUU,KAAV;AACvB,UAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,MAAAA,UAAU,CAACD,OAAD,CAAV;AACAiH,MAAAA,UAAU,CAACkB,mBAAmB,CAACvH,OAArB,CAAV;AACD,KAND;AAOD,GAfQ,EAeN,CAAC1E,OAAD,CAfM,CAAT;AAiBA,MAAMgL,WAAW,GAAGC,WAAW,CAC7B;AACE,QAAI,CAACjL,OAAL,EAAc;AACZ+D,MAAAA,UAAU,CAAC,EAAD,CAAV;AACA;AACD;;AACD,QAAMkI,mBAAmB,GAAGjM,OAAO,CAACqE,qBAAR,EAA5B;AACA4H,IAAAA,mBAAmB,CAAC3H,KAApB,GAA4B,EAA5B;AACA2H,IAAAA,mBAAmB,CAAC1H,IAApB,CAAyB,UAACT,OAAD,EAAUU,KAAV;AACvB,UAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,MAAAA,UAAU,CAACD,OAAD,CAAV;AACAiH,MAAAA,UAAU,CAACkB,mBAAmB,CAACvH,OAArB,CAAV;AACD,KAND;AAOD,GAf4B,EAgB7B,CAAC1E,OAAD,CAhB6B,CAA/B;AAmBA,SACE,0CAEI8D,OAAO,CAACkB,GAAR,CAAY,UAACC,MAAD;AAAY,WACtB,oBAACC,cAAD;AACE,MAAA,GAAG,EAAED,MAAM,CAAChF,MADd;AAEE,MAAA,IAAI,EAAEgF,MAFR;AAGE,MAAA,WAAW,EAAEwF,GAAG,CAAC7G,WAAJ,CAAgB3D,MAH/B;AAIE,MAAA,MAAM,EAAE,gBAACyD,EAAD;YAAG0B,SAAS;YAAED,SAAS;AAC7B,eAAQ,oBAAC,WAAD;AACN,UAAA,WAAW,EAAE,qBAACG,cAAD;AAAoB,mBAC/B,oBAAC,UAAD;AACE,cAAA,SAAS,EAAC,mCADZ;AAEE,cAAA,KAAK,EAAC,MAFR;AAGE,cAAA,MAAM,EAAC,MAHT;AAIE,cAAA,OAAO,EAAEA;AAJX,eAME,oBAAC,IAAD;AACE,cAAA,KAAK,EAAC,MADR;AAEE,cAAA,MAAM,EAAC,MAFT;AAGE,cAAA,IAAI,EAAEC,SAAS,CAACC,IAHlB;AAIE,cAAA,SAAS,EAAEC,UAAU,CAACC;AAJxB,cANF,CAD+B;AAchC,WAfK;AAgBN,UAAA,SAAS,EAAE,mBAACC,aAAD;AAAmB,mBAC5B,oBAAC,SAAD;AACE,cAAA,gBAAgB,EAAER,SADpB;AAEE,cAAA,SAAS,EAAEC,SAFb;AAAA;AAGE,cAAA,aAAa,EAAEO,aAHjB;AAIE,cAAA,QAAQ;AAJV,eAME,oBAAC,QAAD;AACE,cAAA,OAAO,EAAE;AACP,oBAAKV,MAAM,CAACW,IAAP,KAAgB,UAArB,EAAkC;AAChC5F,kBAAAA,OAAO,CAAC6F,YAAR,CAAqB,CAACZ,MAAM,CAAChF,MAAR,CAArB,EAAsC;AACpC+K,oBAAAA,WAAW;AACXrF,oBAAAA,aAAa;AACd,mBAHD;AAID,iBALD,MAKO;AACL3F,kBAAAA,OAAO,CAAC+F,eAAR,CAAwB,CAACd,MAAM,CAAChF,MAAR,CAAxB,EAAyC;AACvC+K,oBAAAA,WAAW;AACXrF,oBAAAA,aAAa;AACd,mBAHD;AAID;AACF;AAbH,eAeIV,MAAM,CAACW,IAAP,KAAgB,UAAhB,GAA6B,qBAA7B,GAAqD,iBAfzD,CANF;AAyBI,aAAC5F,OAAO,CAACgG,WAAT,IACE,oBAAC,QAAD;AACE,cAAA,OAAO,EAAE;AACP,oBAAIf,MAAM,CAACgB,OAAX,EAAoB;AAClBjG,kBAAAA,OAAO,CAACkG,UAAR,CAAmBjB,MAAnB,EAA2B;AACzB+F,oBAAAA,WAAW;AACXrF,oBAAAA,aAAa;AACd,mBAHD;AAID,iBALD,MAKO;AACL3F,kBAAAA,OAAO,CAACmG,QAAR,CAAiBlB,MAAjB,EAAyB;AACvB+F,oBAAAA,WAAW;AACXrF,oBAAAA,aAAa;AACd,mBAHD;AAID;AACF;AAbH,eAeIV,MAAM,CAACgB,OAAP,GAAiB,QAAjB,GAA4B,MAfhC,CA1BN,EA8CKhB,MAAM,CAACW,IAAP,IAAeX,MAAM,CAACW,IAAP,KAAgB,UAAhC,IACE,oBAAC,QAAD;AACE,cAAA,OAAO,EAAE;AACP5F,gBAAAA,OAAO,CAACoG,OAAR,CAAgBnB,MAAhB,EAAwB,CAAC,CAAzB,EAA4B,EAA5B,EAAgC;AAC9B+F,kBAAAA,WAAW;AACXrF,kBAAAA,aAAa;AACd,iBAHD;AAID;AANH,qBA/CN,CAD4B;AA6D7B;AA7EK,UAAR;AA8EI;AAnFR,MADsB;AAuFvB,GAvFD,CAFJ,EA2FE;AACE,IAAA,SAAS,EAAC;AADZ,KAIIjB,OAAO,IACL,oBAAC,MAAD;AACE,IAAA,IAAI,EAAEoD,IAAW,CAACC,SADpB;AAEE,IAAA,IAAI,EAAEC,IAAW,CAACC,KAFpB;AAGE,IAAA,OAAO,EAAE;AAAM,aAAA6D,iBAAiB,CAAC,IAAD,CAAjB;AAAuB;AAHxC,mBALN,EAcE,oBAAC,MAAD;AACE,IAAA,IAAI,EAAEhE,IAAW,CAACC,SADpB;AAEE,IAAA,IAAI,EAAEC,IAAW,CAACC,KAFpB;AAGE,IAAA,OAAO,EAAE;AAAM,aAAA+D,oBAAoB,CAAC,IAAD,CAApB;AAA0B;AAH3C,sBAdF,CA3FF,EAkHIH,cAAc,IACZ,oBAAC,YAAD;AACE,IAAA,WAAW,EAAEpB,GAAG,CAAC7G,WAAJ,CAAgB3D,MAD/B;AAEE,IAAA,OAAO,EAAED,OAFX;AAGE,IAAA,SAAS,EAAE;AACT8L,MAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACAd,MAAAA,WAAW;AACZ;AANH,IAnHN,EA8HIe,iBAAiB,IACf,oBAAC,aAAD;AACE,IAAA,gBAAgB,EAAE1E,gBADpB;AAEE,IAAA,QAAQ,EAAE,kBAAC6E,gBAAD;AACRlM,MAAAA,OAAO,CAACmM,iBAAR,CAA0BD,gBAA1B,EAA4C;AAC1CF,QAAAA,oBAAoB,CAAC,KAAD,CAApB;AACAhB,QAAAA,WAAW;AACZ,OAHD;AAID,KAPH;AAQE,IAAA,OAAO,EAAEhL,OARX;AASE,IAAA,SAAS,EAAE;AAAM,aAAAgM,oBAAoB,CAAC,KAAD,CAApB;AAA2B;AAT9C,IA/HN,CADF;AA+ID,CAzLM;;AA2LP,IAAMX,iBAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD;AAAW,SAAC;AAClCb,IAAAA,GAAG,EAAEc,MAAM,CAACD,KAAD;AADuB,GAAD;AAEjC,CAFF;;AAIA,mBAAeE,mBAAmB,CAACI,UAAD,EAAaP,iBAAb,CAAlC;;SCxMwBe,mBAAmB1I;MACzCC,SAAS;MACT3D,OAAO;;AAED,MAAA6D,KAAwBtD,QAAQ,CAAC,EAAD,CAAhC;AAAA,MAACuD,OAAO,QAAR;AAAA,MAAUC,UAAU,QAApB;;AACA,MAAAC,KAAgCzD,QAAQ,CAAC,IAAD,CAAxC;AAAA,MAAC0D,WAAW,QAAZ;AAAA,MAAcC,cAAc,QAA5B;;AAENC,EAAAA,SAAS,CAAC;AACR,QAAMkI,mBAAmB,GAAGrM,OAAO,CAACsM,yBAAR,EAA5B;AACAD,IAAAA,mBAAmB,CAAC9H,IAApB,CAAyB,UAACgI,KAAD,EAAQ/H,KAAR;AACvB,UAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,MAAAA,UAAU,CAACwI,KAAD,CAAV;AACD,KALD;AAMArI,IAAAA,cAAc,CAACmI,mBAAD,CAAd;AACD,GATQ,EASN,EATM,CAAT;AAUA,SACE,iCACE,oBAAC,KAAD;AACE,IAAA,UAAU,MADZ;AAEE,IAAA,QAAQ,EAAE;AAAM,aAAA1I,SAAS,EAAT;AAAW,KAF7B;AAGE,IAAA,QAAQ,EAAEc,IAHZ;AAIE,IAAA,SAAS,EAAC;AAJZ,KAME;AACE,IAAA,SAAS,EAAC,qCADZ;AAEE,IAAA,QAAQ,EAAE,kBAACjD,CAAD;AACA,UAAAkD,OAAO,GAAKT,WAAW,QAAvB;AACR,UAAMnC,MAAM,GAAGN,CAAC,CAACM,MAAjB;AACA,UAAM6C,SAAS,GACb7C,MAAM,CAAC8C,YAAP,GAAsB9C,MAAM,CAAC+C,SAA7B,KAA2C/C,MAAM,CAACgD,YADpD;;AAIA,UAAIJ,OAAO,IAAIC,SAAf,EAA0B;AACxBV,QAAAA,WAAW,CAACM,IAAZ,CAAiB,UAACQ,CAAD,EAAIP,KAAJ;AACf,cAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,UAAAA,UAAU,gBACLD,SACAiB,EAFK,CAAV;AAID,SARD;AASD;AACF;AApBH,KAsBIjB,OAAO,CAACkB,GAAR,CAAY,UAACC,MAAD;AAAY,WACxB,oBAACC,cAAD;AACE,MAAA,IAAI,EAAED,MADR;AAEE,MAAA,GAAG,EAAEA,MAAM,CAAChF,MAFd;AAGE,MAAA,MAAM,EAAE,gBAACyD,EAAD;YAAGyB,SAAS;YAAEC,SAAS;AAAO,eACpC,oBAAC,WAAD;AACE,UAAA,WAAW,EAAE,qBAACE,cAAD;AAAoB,mBAC/B,oBAAC,UAAD;AACE,cAAA,SAAS,EAAC,mCADZ;AAEE,cAAA,KAAK,EAAC,MAFR;AAGE,cAAA,MAAM,EAAC,MAHT;AAIE,cAAA,OAAO,EAAEA;AAJX,eAME,oBAAC,IAAD;AACE,cAAA,KAAK,EAAC,MADR;AAEE,cAAA,MAAM,EAAC,MAFT;AAGE,cAAA,IAAI,EAAEC,SAAS,CAACC,IAHlB;AAIE,cAAA,SAAS,EAAEC,UAAU,CAACC;AAJxB,cANF,CAD+B;AAchC,WAfH;AAgBE,UAAA,SAAS,EAAE,mBAACC,aAAD;AAAmB,mBAC5B,oBAAC,SAAD;AACE,cAAA,gBAAgB,EAAER,SADpB;AAEE,cAAA,SAAS,EAAEC,SAFb;AAAA;AAGE,cAAA,aAAa,EAAEO,aAHjB;AAIE,cAAA,QAAQ;AAJV,eAME,oBAAC,QAAD;AACE,cAAA,OAAO,EAAE;AACP3F,gBAAAA,OAAO,CAACwM,SAAR,CAAkBvH,MAAlB,EAA0B;AACxBU,kBAAAA,aAAa;AACb5B,kBAAAA,UAAU,CAACD,OAAO,CAACuC,MAAR,CAAe,UAAAP,CAAA;AACxB,2BAAQA,CAAC,CAAC7F,MAAF,KAAagF,MAAM,CAAChF,MAA5B;AACD,mBAFU,CAAD,CAAV;AAGD,iBALD;AAMD;AARH,uBANF,CAD4B;AAoB7B;AApCH,UADoC;AAuCrC;AA1CH,MADwB;AA8CzB,GA9CC,CAtBJ,CANF,CADF,CADF;AAiFD;;ACtFM,IAAMwM,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAC/I,EAAD;MAAG1D,OAAO;;AAClC,MAAA6D,KAAwBtD,QAAQ,CAAC,EAAD,CAAhC;AAAA,MAACuD,OAAO,QAAR;AAAA,MAAUC,UAAU,QAApB;;AACA,MAAAC,KAAwBzD,QAAQ,CAAC,KAAD,CAAhC;AAAA,MAACmE,OAAO,QAAR;AAAA,MAAUqG,UAAU,QAApB;;AACA,MAAAlB,KAA4BtJ,QAAQ,CAAC,KAAD,CAApC;AAAA,MAACyC,SAAS,QAAV;AAAA,MAAYC,YAAY,QAAxB;;AAENkB,EAAAA,SAAS,CAAC;AACR,QAAI,CAACnE,OAAL,EAAc;AACZ+D,MAAAA,UAAU,CAAC,EAAD,CAAV;AACA;AACD;;AAED,QAAMsI,mBAAmB,GAAGrM,OAAO,CAACsM,yBAAR,EAA5B;AACAD,IAAAA,mBAAmB,CAAC9H,IAApB,CAAyB,UAACgI,KAAD,EAAQ/H,KAAR;AACvB,UAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,MAAAA,UAAU,CAACwI,KAAD,CAAV;AACAxB,MAAAA,UAAU,CAACsB,mBAAmB,CAAC3H,OAArB,CAAV;AACD,KAND;AAOD,GAdQ,EAcN,CAAC1E,OAAD,CAdM,CAAT;AAgBA,MAAM0M,WAAW,GAAGzB,WAAW,CAAC;AAC9B,QAAI,CAACjL,OAAL,EAAc;AACZ+D,MAAAA,UAAU,CAAC,EAAD,CAAV;AACA;AACD;;AAED,QAAMsI,mBAAmB,GAAGrM,OAAO,CAACsM,yBAAR,EAA5B;AACAD,IAAAA,mBAAmB,CAAC9H,IAApB,CAAyB,UAASgI,KAAT,EAAgB/H,KAAhB;AACvB,UAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,MAAAA,UAAU,CAACwI,KAAD,CAAV;AACAxB,MAAAA,UAAU,CAACsB,mBAAmB,CAAC3H,OAArB,CAAV;AACD,KAND;AAOD,GAd8B,EAc5B,CAAC1E,OAAD,CAd4B,CAA/B;AAeA,SACE,0CAEI8D,OAAO,CAACkB,GAAR,CAAY,UAACC,MAAD;AAAY,WACtB,oBAACC,cAAD;AACE,MAAA,GAAG,EAAED,MAAM,CAAChF,MADd;AAEE,MAAA,IAAI,EAAEgF,MAFR;AAGE,MAAA,MAAM,EAAE,gBAACvB,EAAD;YAAG0B,SAAS;YAAED,SAAS;AAC7B,eACE,oBAAC,WAAD;AACE,UAAA,WAAW,EAAE,qBAACG,cAAD;AAAoB,mBAC/B,oBAAC,UAAD;AACE,cAAA,SAAS,EAAC,mCADZ;AAEE,cAAA,KAAK,EAAC,MAFR;AAGE,cAAA,MAAM,EAAC,MAHT;AAIE,cAAA,OAAO,EAAEA;AAJX,eAME,oBAAC,IAAD;AACE,cAAA,KAAK,EAAC,MADR;AAEE,cAAA,MAAM,EAAC,MAFT;AAGE,cAAA,IAAI,EAAEC,SAAS,CAACC,IAHlB;AAIE,cAAA,SAAS,EAAEC,UAAU,CAACC;AAJxB,cANF,CAD+B;AAchC,WAfH;AAgBE,UAAA,SAAS,EAAE,mBAACC,aAAD;AAAmB,mBAC5B,oBAAC,SAAD;AACE,cAAA,gBAAgB,EAAER,SADpB;AAEE,cAAA,SAAS,EAAEC,SAFb;AAAA;AAGE,cAAA,aAAa,EAAEO,aAHjB;AAIE,cAAA,QAAQ;AAJV,eAME,oBAAC,QAAD;AACE,cAAA,OAAO,EAAE;AACP3F,gBAAAA,OAAO,CAACwM,SAAR,CAAkBvH,MAAlB,EAA0B;AACxBU,kBAAAA,aAAa;AACb+G,kBAAAA,WAAW;AACZ,iBAHD;AAID;AANH,uBANF,CAD4B;AAkB7B;AAlCH,UADF;AAsCD;AA1CH,MADsB;AA6CvB,GA7CD,CAFJ,EAkDI5I,OAAO,IAAIA,OAAO,CAAC+D,MAAR,KAAmB,CAA9B,IACE,oBAAC,KAAD;AACE,IAAA,SAAS,EAAC,uCADZ;AAEE,IAAA,IAAI,EAAE5F,eAAe,CAACiB,UAFxB;AAGE,IAAA,KAAK,EAAEf,WAAW,CAAC8H;AAHrB,6BAnDN,EA6DIvF,OAAO,IACL;AACE,IAAA,SAAS,EAAC;AADZ,KAGE,oBAAC,MAAD;AACE,IAAA,IAAI,EAAEoD,IAAW,CAACC,SADpB;AAEE,IAAA,IAAI,EAAEC,IAAW,CAACC,KAFpB;AAGE,IAAA,OAAO,EAAE;AACPhF,MAAAA,YAAY,CAAC,IAAD,CAAZ;AACD;AALH,0BAHF,CA9DN,EA8EID,SAAS,IACP,oBAAC,kBAAD;AACE,IAAA,OAAO,EAAEhD,OADX;AAEE,IAAA,SAAS,EAAE;AACTiD,MAAAA,YAAY,CAAC,KAAD,CAAZ;AACAyJ,MAAAA,WAAW;AACZ;AALH,IA/EN,CADF;AA2FD,CA/HM;;AAiIP,IAAMrB,iBAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD;AAAW,SAAC;AAClCb,IAAAA,GAAG,EAAEc,MAAM,CAACD,KAAD;AADuB,GAAD;AAEjC,CAFF;;AAIA,yBAAeE,mBAAmB,CAACiB,gBAAD,EAAmBpB,iBAAnB,CAAlC;;SChJwBsB,kBAAkBjJ;MACxCC,SAAS;MACT3D,OAAO;MACP4D,WAAW;;AAEL,MAAAC,KAAwBtD,QAAQ,CAAC,EAAD,CAAhC;AAAA,MAACuD,OAAO,QAAR;AAAA,MAAUC,UAAU,QAApB;;AACA,MAAAC,KAAgCzD,QAAQ,CAAC,IAAD,CAAxC;AAAA,MAAC0D,WAAW,QAAZ;AAAA,MAAcC,cAAc,QAA5B;;AAENC,EAAAA,SAAS,CAAC;AACR,QAAM8H,mBAAmB,GAAGjM,OAAO,CAACqE,qBAAR,EAA5B;AACA4H,IAAAA,mBAAmB,CAAC3H,KAApB,GAA4B,EAA5B;AACA2H,IAAAA,mBAAmB,CAACW,iBAApB,GAAwC,OAAxC;AACAX,IAAAA,mBAAmB,CAAC1H,IAApB,CAAyB,UAACT,OAAD,EAAUU,KAAV;AACvB,UAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,MAAAA,UAAU,CAACD,OAAD,CAAV;AACD,KALD;AAMAI,IAAAA,cAAc,CAAC+H,mBAAD,CAAd;AACD,GAXQ,EAWN,EAXM,CAAT;AAYA,SACE,iCACE,oBAAC,KAAD;AACE,IAAA,UAAU,MADZ;AAEE,IAAA,QAAQ,EAAE;AAAM,aAAAtI,SAAS,EAAT;AAAW,KAF7B;AAGE,IAAA,QAAQ,EAAEc,IAHZ;AAIE,IAAA,SAAS,EAAC;AAJZ,KAME;AACE,IAAA,SAAS,EAAC,qCADZ;AAEE,IAAA,QAAQ,EAAE,kBAACjD,CAAD;AACA,UAAAkD,OAAO,GAAKT,WAAW,QAAvB;AACR,UAAMnC,MAAM,GAAGN,CAAC,CAACM,MAAjB;AACA,UAAM6C,SAAS,GACb7C,MAAM,CAAC8C,YAAP,GAAsB9C,MAAM,CAAC+C,SAA7B,KAA2C/C,MAAM,CAACgD,YADpD;;AAIA,UAAIJ,OAAO,IAAIC,SAAf,EAA0B;AACxBV,QAAAA,WAAW,CAACM,IAAZ,CAAiB,UAACQ,CAAD,EAAIP,KAAJ;AACf,cAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,UAAAA,UAAU,gBACLD,SACAiB,EAFK,CAAV;AAID,SARD;AASD;AACF;AApBH,KAsBIjB,OAAO,CAACkB,GAAR,CAAY,UAACC,MAAD;AAAY,WACxB,oBAACC,cAAD;AACE,MAAA,WAAW,EAAEtB,WADf;AAEE,MAAA,IAAI,EAAEqB,MAFR;AAGE,MAAA,GAAG,EAAEA,MAAM,CAAChF,MAHd;AAIE,MAAA,MAAM,EAAE,gBAACyD,EAAD;YAAG0B,SAAS;YAAED,SAAS;AAAO,eACpC,oBAAC,WAAD;AACE,UAAA,WAAW,EAAE,qBAACG,cAAD;AAAoB,mBAC/B,oBAAC,UAAD;AACE,cAAA,SAAS,EAAC,mCADZ;AAEE,cAAA,KAAK,EAAC,MAFR;AAGE,cAAA,MAAM,EAAC,MAHT;AAIE,cAAA,OAAO,EAAEA;AAJX,eAME,oBAAC,IAAD;AACE,cAAA,KAAK,EAAC,MADR;AAEE,cAAA,MAAM,EAAC,MAFT;AAGE,cAAA,IAAI,EAAEC,SAAS,CAACC,IAHlB;AAIE,cAAA,SAAS,EAAEC,UAAU,CAACC;AAJxB,cANF,CAD+B;AAchC,WAfH;AAgBE,UAAA,SAAS,EAAE,mBAACC,aAAD;AAAmB,mBAC5B,oBAAC,SAAD;AACE,cAAA,gBAAgB,EAAER,SADpB;AAEE,cAAA,SAAS,EAAEC,SAFb;AAAA;AAGE,cAAA,aAAa,EAAEO,aAHjB;AAIE,cAAA,QAAQ;AAJV,eAME,oBAAC,QAAD;AACE,cAAA,OAAO,EAAE;AACP3F,gBAAAA,OAAO,CAACkG,UAAR,CAAmBjB,MAAnB,EAA2B;AACzBU,kBAAAA,aAAa;AACb5B,kBAAAA,UAAU,CAACD,OAAO,CAACuC,MAAR,CAAe,UAAAP,CAAA;AACxB,2BAAQA,CAAC,CAAC7F,MAAF,KAAagF,MAAM,CAAChF,MAA5B;AACD,mBAFU,CAAD,CAAV;AAGD,iBALD;AAMD;AARH,wBANF,CAD4B;AAoB7B;AApCH,UADoC;AAuCrC;AA3CH,MADwB;AA8CzB,GA9CC,CAtBJ,CANF,CADF,CADF;AAiFD;;AC3FM,IAAM4M,eAAe,GAAG,SAAlBA,eAAkB,CAACnJ,EAAD;MAAG+G,GAAG;MAAEzK,OAAO;;AACtC,MAAA6D,KAAwBtD,QAAQ,CAAC,EAAD,CAAhC;AAAA,MAACuD,OAAO,QAAR;AAAA,MAAUC,UAAU,QAApB;;AACA,MAAAC,KAAwBzD,QAAQ,CAAC,KAAD,CAAhC;AAAA,MAACmE,OAAO,QAAR;AAAA,MAAUqG,UAAU,QAApB;;AACA,MAAAlB,KAA4BtJ,QAAQ,CAAC,KAAD,CAApC;AAAA,MAACyC,SAAS,QAAV;AAAA,MAAYC,YAAY,QAAxB;;AAENkB,EAAAA,SAAS,CAAC;AACR,QAAI,CAACnE,OAAL,EAAc;AACZ+D,MAAAA,UAAU,CAAC,EAAD,CAAV;AACA;AACD;;AAED,QAAMkI,mBAAmB,GAAGjM,OAAO,CAACqE,qBAAR,EAA5B;AACA4H,IAAAA,mBAAmB,CAAC3H,KAApB,GAA4B,EAA5B;AACA2H,IAAAA,mBAAmB,CAACW,iBAApB,GAAwC,OAAxC;AACAX,IAAAA,mBAAmB,CAAC1H,IAApB,CAAyB,UAACT,OAAD,EAAUU,KAAV;AACvB,UAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,MAAAA,UAAU,CAACD,OAAD,CAAV;AACAiH,MAAAA,UAAU,CAACkB,mBAAmB,CAACvH,OAArB,CAAV;AACD,KAND;AAOD,GAhBQ,EAgBN,CAAC1E,OAAD,CAhBM,CAAT;AAkBA,MAAM0M,WAAW,GAAGzB,WAAW,CAAC;AAC9B,QAAI,CAACjL,OAAL,EAAc;AACZ+D,MAAAA,UAAU,CAAC,EAAD,CAAV;AACA;AACD;;AAED,QAAMkI,mBAAmB,GAAGjM,OAAO,CAACqE,qBAAR,EAA5B;AACA4H,IAAAA,mBAAmB,CAAC3H,KAApB,GAA4B,EAA5B;AACA2H,IAAAA,mBAAmB,CAACW,iBAApB,GAAwC,OAAxC;AACAX,IAAAA,mBAAmB,CAAC1H,IAApB,CAAyB,UAACT,OAAD,EAAUU,KAAV;AACvB,UAAIA,KAAJ,EAAW;AACT;AACD;;AACDT,MAAAA,UAAU,CAACD,OAAD,CAAV;AACAiH,MAAAA,UAAU,CAACkB,mBAAmB,CAACvH,OAArB,CAAV;AACD,KAND;AAOD,GAhB8B,EAgB5B,CAAC1E,OAAD,CAhB4B,CAA/B;AAiBA,SACE,0CAEI8D,OAAO,CAACkB,GAAR,CAAY,UAACC,MAAD;AAAY,WACtB,oBAACC,cAAD;AACE,MAAA,GAAG,EAAED,MAAM,CAAChF,MADd;AAEE,MAAA,IAAI,EAAEgF,MAFR;AAGE,MAAA,WAAW,EAAEwF,GAAG,CAAC7G,WAAJ,CAAgB3D,MAH/B;AAIE,MAAA,MAAM,EAAE,gBAACyD,EAAD;YAAG0B,SAAS;YAAED,SAAS;AAC7B,eACE,oBAAC,WAAD;AACE,UAAA,WAAW,EAAE,qBAACG,cAAD;AAAoB,mBAC/B,oBAAC,UAAD;AACE,cAAA,SAAS,EAAC,mCADZ;AAEE,cAAA,KAAK,EAAC,MAFR;AAGE,cAAA,MAAM,EAAC,MAHT;AAIE,cAAA,OAAO,EAAEA;AAJX,eAME,oBAAC,IAAD;AACE,cAAA,KAAK,EAAC,MADR;AAEE,cAAA,MAAM,EAAC,MAFT;AAGE,cAAA,IAAI,EAAEC,SAAS,CAACC,IAHlB;AAIE,cAAA,SAAS,EAAEC,UAAU,CAACC;AAJxB,cANF,CAD+B;AAchC,WAfH;AAgBE,UAAA,SAAS,EAAE,mBAACC,aAAD;AAAmB,mBAC5B,oBAAC,SAAD;AACE,cAAA,aAAa,EAAEA,aADjB;AAEE,cAAA,QAAQ,MAFV;AAGE,cAAA,gBAAgB,EAAER,SAHpB;AAIE,cAAA,SAAS,EAAEC,SAJb;;AAAA,eAME,oBAAC,QAAD;AACE,cAAA,OAAO,EAAE;AACPpF,gBAAAA,OAAO,CAACkG,UAAR,CAAmBjB,MAAnB,EAA2B;AACzByH,kBAAAA,WAAW;AACX/G,kBAAAA,aAAa;AACd,iBAHD;AAID;AANH,wBANF,CAD4B;AAkB7B;AAlCH,UADF;AAsCD;AA3CH,MADsB;AA+CvB,GA/CD,CAFJ,EAoDI7B,OAAO,IAAIA,OAAO,CAAC+D,MAAR,KAAmB,CAA9B,IACE,oBAAC,KAAD;AACE,IAAA,SAAS,EAAC,uCADZ;AAEE,IAAA,IAAI,EAAE5F,eAAe,CAACiB,UAFxB;AAGE,IAAA,KAAK,EAAEf,WAAW,CAAC8H;AAHrB,4BArDN,EA+DIvF,OAAO,IACL;AACE,IAAA,SAAS,EAAC;AADZ,KAGE,oBAAC,MAAD;AACE,IAAA,IAAI,EAAEoD,IAAW,CAACC,SADpB;AAEE,IAAA,IAAI,EAAEC,IAAW,CAACC,KAFpB;AAGE,IAAA,OAAO,EAAE;AACPhF,MAAAA,YAAY,CAAC,IAAD,CAAZ;AACD;AALH,yBAHF,CAhEN,EAgFID,SAAS,IACP,oBAAC,iBAAD;AACE,IAAA,WAAW,EAAEyH,GAAG,CAAC7G,WAAJ,CAAgB3D,MAD/B;AAEE,IAAA,OAAO,EAAED,OAFX;AAGE,IAAA,SAAS,EAAE;AACTiD,MAAAA,YAAY,CAAC,KAAD,CAAZ;AACAyJ,MAAAA,WAAW;AACZ;AANH,IAjFN,CADF;AA8FD,CAtIM;;AAwIP,IAAMrB,iBAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD;AAAW,SAAC;AAClCb,IAAAA,GAAG,EAAEc,MAAM,CAACD,KAAD;AADuB,GAAD;AAEjC,CAFF;;AAIA,wBAAeE,mBAAmB,CAACqB,eAAD,EAAkBxB,iBAAlB,CAAlC;;ACpJA,IAAMyB,UAAU,GAAG,SAAbA,UAAa,CAACC,GAAD;AACjB,SAAOC,IAAI,CAACC,GAAL,CAASF,GAAT,IAAgB,GAAhB,GACA,CAACC,IAAI,CAACC,GAAL,CAASF,GAAT,IAAc,IAAf,EAAqBG,OAArB,CAA6B,CAA7B,OADA,GAEHH,GAFJ;AAGD,CAJD;;AAWA,SAAwBI,MAAMzJ;MAC5B2D,gBAAgB;MAChBrH,OAAO;;AAED,MAAA6D,KAAsBtD,QAAQ,CAAC,KAAD,CAA9B;AAAA,MAAC6M,MAAM,QAAP;AAAA,MAASC,SAAS,QAAlB;AAGN;AACA;;;AACAlJ,EAAAA,SAAS,CAAC;AACRkJ,IAAAA,SAAS,CAACrN,OAAO,CAACsN,QAAT,CAAT;AACD,GAFQ,EAEN,CAACtN,OAAD,CAFM,CAAT;AAGQ,MAAAc,SAAS,GAAKF,UAAU,CAACC,mBAAD,CAAV,UAAd;AACR,SACE,oBAAC,cAAD;AAAgB,IAAA,SAAS,EAAC;AAA1B,KACE,oBAAC,SAAD;AACE,IAAA,SAAS,EAAC,2CADZ;AAEE,IAAA,EAAE,EAAC,WAFL;AAGE,IAAA,WAAW,EAAE;AAAM,aACjB,0CACE,oBAAC,IAAD;AACE,QAAA,IAAI,EAAE0E,SAAS,CAACgI,aADlB;AAEE,QAAA,SAAS,EAAE9H,UAAU,CAAClE,OAFxB;AAGE,QAAA,KAAK,EAAE,EAHT;AAIE,QAAA,MAAM,EAAE,EAJV;AAKE,QAAA,SAAS,EAAC;AALZ,QADF,EAQE,oBAAC,KAAD;AACE,QAAA,IAAI,EAAEU,eAAe,CAAC+G,UADxB;AAEE,QAAA,KAAK,EAAE7G,WAAW,CAACgB;AAFrB,SAIGrC,SAAS,CAAC0M,iCAJb,CARF,CADiB;AAgBlB,KAnBH;AAoBE,IAAA,aAAa,EAAE;AAAM,aACnB,0CACE,oBAAChD,cAAD;AAAc,QAAA,OAAO,EAAExK;AAAvB,QADF,CADmB;AAIpB;AAxBH,IADF,EA2BE,oBAAC,SAAD;AACE,IAAA,SAAS,EAAC,yCADZ;AAEE,IAAA,EAAE,EAAC,SAFL;AAGE,IAAA,WAAW,EAAE;AAAM,aACjB,0CACE,oBAAC,IAAD;AACE,QAAA,IAAI,EAAEuF,SAAS,CAACkI,OADlB;AAEE,QAAA,SAAS,EAAEhI,UAAU,CAAClE,OAFxB;AAGE,QAAA,KAAK,EAAE,EAHT;AAIE,QAAA,MAAM,EAAE,EAJV;AAKE,QAAA,SAAS,EAAC;AALZ,QADF,EAQE,oBAAC,KAAD;AACE,QAAA,IAAI,EAAEU,eAAe,CAAC+G,UADxB;AAEE,QAAA,KAAK,EAAE7G,WAAW,CAACgB;AAFrB,SAIGrC,SAAS,CAAC4M,+BAJb,CARF,EAcE,oBAAC,KAAD;AAAO,QAAA,KAAK,EAAEZ,UAAU,CAAC9M,OAAO,CAAC2N,WAAT;AAAxB,QAdF,CADiB;AAiBlB,KApBH;AAqBE,IAAA,aAAa,EAAE;AAAM,aACnB,0CACE,oBAAC/B,YAAD;AAAY,QAAA,gBAAgB,EAAEvE,gBAA9B;AAAgD,QAAA,OAAO,EAAErH;AAAzD,QADF,CADmB;AAIpB;AAzBH,IA3BF;AAwDI,GAACA,OAAO,CAACgG,WAAT,IACE,oBAAC,SAAD;AACE,IAAA,EAAE,EAAC,cADL;AAEE,IAAA,SAAS,EAAC,+CAFZ;AAGE,IAAA,WAAW,EAAE;AAAM,aACjB,0CACE,oBAAC,IAAD;AACE,QAAA,IAAI,EAAET,SAAS,CAACqI,UADlB;AAEE,QAAA,SAAS,EAAEnI,UAAU,CAAClE,OAFxB;AAGE,QAAA,KAAK,EAAE,EAHT;AAIE,QAAA,MAAM,EAAE,EAJV;AAKE,QAAA,SAAS,EAAC;AALZ,QADF,EAQE,oBAAC,KAAD;AACE,QAAA,IAAI,EAAEU,eAAe,CAAC+G,UADxB;AAEE,QAAA,KAAK,EAAE7G,WAAW,CAACgB;AAFrB,SAIGrC,SAAS,CAAC+M,qCAJb,CARF,CADiB;AAgBlB,KAnBH;AAoBE,IAAA,aAAa,EAAE;AAAM,aACnB,0CACE,oBAAChB,iBAAD;AAAiB,QAAA,OAAO,EAAE7M;AAA1B,QADF,CADmB;AAIpB;AAxBH,IAzDN,EAqFE,oBAAC,SAAD;AACE,IAAA,SAAS,EAAC,gDADZ;AAEE,IAAA,EAAE,EAAC,eAFL;AAGE,IAAA,WAAW,EAAE;AAAM,aACjB,0CACE,oBAAC,IAAD;AACE,QAAA,IAAI,EAAEuF,SAAS,CAACuI,WADlB;AAEE,QAAA,SAAS,EAAErI,UAAU,CAAClE,OAFxB;AAGE,QAAA,KAAK,EAAE,EAHT;AAIE,QAAA,MAAM,EAAE,EAJV;AAKE,QAAA,SAAS,EAAC;AALZ,QADF,EAQE,oBAAC,KAAD;AACE,QAAA,IAAI,EAAEU,eAAe,CAAC+G,UADxB;AAEE,QAAA,KAAK,EAAE7G,WAAW,CAACgB;AAFrB,SAIGrC,SAAS,CAACiN,sCAJb,CARF,CADiB;AAgBlB,KAnBH;AAoBE,IAAA,aAAa,EAAE;AAAM,aACnB,0CACE,oBAACtB,kBAAD;AAAkB,QAAA,OAAO,EAAEzM;AAA3B,QADF,CADmB;AAIpB;AAxBH,IArFF;AAiHI,GAACA,OAAO,CAACgG,WAAT,IACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,IAAD;AACE,IAAA,IAAI,EAAET,SAAS,CAACyI,YADlB;AAEE,IAAA,SAAS,EAAEvI,UAAU,CAAClE,OAFxB;AAGE,IAAA,KAAK,EAAE,EAHT;AAIE,IAAA,MAAM,EAAE,EAJV;AAKE,IAAA,SAAS,EAAC;AALZ,IADF,EAQE,oBAAC,KAAD;AACE,IAAA,IAAI,EAAEU,eAAe,CAAC+G,UADxB;AAEE,IAAA,KAAK,EAAE7G,WAAW,CAACgB;AAFrB,KAIGrC,SAAS,CAACmN,+BAJb,CARF,EAcE;AAAK,IAAA,SAAS,EAAC;AAAf,KAEIb,MAAM,GAEF,oBAAC,IAAD;AACE,IAAA,OAAO,EAAE;AACPpN,MAAAA,OAAO,CAACkO,QAAR,CAAiB;AACfb,QAAAA,SAAS,CAAC,KAAD,CAAT;AACD,OAFD;AAGD,KALH;AAME,IAAA,IAAI,EAAE9H,SAAS,CAAC4I,SANlB;AAOE,IAAA,KAAK,EAAE,EAPT;AAQE,IAAA,MAAM,EAAE;AARV,IAFE,GAcF,oBAAC,IAAD;AACE,IAAA,OAAO,EAAE;AACPnO,MAAAA,OAAO,CAACoO,MAAR,CAAe;AACbf,QAAAA,SAAS,CAAC,IAAD,CAAT;AACD,OAFD;AAGD,KALH;AAME,IAAA,IAAI,EAAE9H,SAAS,CAAC8I,UANlB;AAOE,IAAA,KAAK,EAAE,EAPT;AAQE,IAAA,MAAM,EAAE;AARV,IAhBR,CAdF,CAlHN,CADF;AAmKD;;AC5LD,IAAMvB,YAAU,GAAG,SAAbA,UAAa,CAACC,GAAD;AAAA,SACjBC,IAAI,CAACC,GAAL,CAASF,GAAT,IAAgB,GAAhB,aACO,CAACC,IAAI,CAACC,GAAL,CAASF,GAAT,IAAgB,IAAjB,EAAuBG,OAAvB,CAA+B,CAA/B,CADP,SAEIH,GAHa;AAAA,CAAnB;;AAMA,SAASuB,eAAT,CAAyBzO,KAAzB,EAAgC;AAAA,MAE5B0O,YAF4B,GAS1B1O,KAT0B,CAE5B0O,YAF4B;AAAA,MAG5BC,UAH4B,GAS1B3O,KAT0B,CAG5B2O,UAH4B;AAAA,MAI5B/H,kBAJ4B,GAS1B5G,KAT0B,CAI5B4G,kBAJ4B;AAAA,MAK5BC,iBAL4B,GAS1B7G,KAT0B,CAK5B6G,iBAL4B;AAAA,MAM5B+H,kBAN4B,GAS1B5O,KAT0B,CAM5B4O,iBAN4B;AAAA,MAO5BC,oBAP4B,GAS1B7O,KAT0B,CAO5B6O,oBAP4B;AAAA,MAQ5BC,qBAR4B,GAS1B9O,KAT0B,CAQ5B8O,qBAR4B;AAAA,MAYlBC,QAZkB,GAqB1B/O,KArB0B,CAY5BgP,MAZ4B,CAYlBD,QAZkB;AAAA,sBAqB1B/O,KArB0B,CAa5BiP,MAb4B;AAAA,MAc1BnD,aAd0B,iBAc1BA,aAd0B;AAAA,MAe1BzL,KAf0B,iBAe1BA,KAf0B;AAAA,MAgB1BD,MAhB0B,iBAgB1BA,MAhB0B;AAAA,MAiB1B8O,MAjB0B,iBAiB1BA,MAjB0B;AAAA,MAkB1BC,QAlB0B,iBAkB1BA,QAlB0B;AAAA,uBAqB1BnP,KArB0B,CAoB5BoP,OApB4B;AAAA,MAoB5BA,OApB4B,+BAoBlB,EApBkB;AAAA,uBAuBNpP,KAvBM,CAuBtBiP,MAvBsB;AAAA,MAuBtBA,MAvBsB,+BAuBb,EAvBa;AAwB9B,MAAMI,6BAA6B,GAAGzI,kBAAkB,IAAIqI,MAAM,CAACrI,kBAAnE;AACA,MAAM0I,wBAAwB,GAAGzI,iBAAiB,IAAIoI,MAAM,CAACpI,iBAA7D;AAEA,MAAM0I,kCAAkC,GAAGH,OAAO,CAACI,wBAAnD;;AA3B8B,oBA4BRzO,UAAU,CAACC,mBAAD,CA5BF;AAAA,MA4BtBC,SA5BsB,eA4BtBA,SA5BsB;;AAAA,MA8BtB2J,GA9BsB,GA8BDmE,QA9BC,CA8BtBnE,GA9BsB;AAAA,MA8BjB6E,WA9BiB,GA8BDV,QA9BC,CA8BjBU,WA9BiB;;AAAA,kBAiCgB/O,QAAQ,CAACgP,MAAM,EAAP,CAjCxB;AAAA;AAAA,MAiCvBC,eAjCuB;AAAA,MAiCNC,kBAjCM;;AAAA,mBAkCAlP,QAAQ,CAAC,IAAD,CAlCR;AAAA;AAAA,MAkCvBP,OAlCuB;AAAA,MAkCd0P,UAlCc;;AAAA,mBAmCcnP,QAAQ,CAAC,KAAD,CAnCtB;AAAA;AAAA,MAmCvBoP,cAnCuB;AAAA,MAmCPC,iBAnCO;;AAAA,mBAoCYrP,QAAQ,CAAC,KAAD,CApCpB;AAAA;AAAA,MAoCvBsP,aApCuB;AAAA,MAoCRC,gBApCQ;;AAAA,mBAqC4BvP,QAAQ,CAAC,KAAD,CArCpC;AAAA;AAAA,MAqCvBwP,qBArCuB;AAAA,MAqCAC,wBArCA;;AAuC9B7L,EAAAA,SAAS,CAAC,YAAM;AACd4K,IAAAA,MAAM,CAACkB,IAAP,CAAY,6BAAZ;;AACA,QAAI,CAACzB,UAAD,IAAe,CAACc,WAAhB,IAA+B,CAAC7E,GAApC,EAAyC;AACvCsE,MAAAA,MAAM,CAACmB,OAAP,CAAe,oCAAf,EAAqD,oCAArD;AACAN,MAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,KAHD,MAGO;AACL,UAAI,CAACnF,GAAD,IAAQ,CAACA,GAAG,CAAC0F,YAAjB,EAA+B;AAC7BpB,QAAAA,MAAM,CAACmB,OAAP,CAAe,kCAAf;AACA;AACD;;AACDzF,MAAAA,GAAG,CAAC0F,YAAJ,CAAiBC,UAAjB,CAA4B5B,UAA5B,EAAwC,UAAC6B,YAAD,EAAkB;AACxD,YAAI,CAACA,YAAL,EAAmB;AACjBtB,UAAAA,MAAM,CAACmB,OAAP,CAAe,oCAAf;AACAN,UAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD,SAHD,MAGO;AACLb,UAAAA,MAAM,CAACkB,IAAP,CAAY,wCAAZ,EAAsDI,YAAtD;AACAT,UAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACAF,UAAAA,UAAU,CAACW,YAAD,CAAV;AACD;AACF,OATD;AAUD;AACF,GArBQ,EAqBN,CAAC7B,UAAD,EAAac,WAAb,EAA0BE,eAA1B,CArBM,CAAT;;AAuBA,MAAI,CAACxP,OAAD,IAAY2P,cAAhB,EAAgC;AAC9B,WACE;AAAK,MAAA,SAAS,EAAC;AAAf,OACE;AAAK,MAAA,SAAS,EAAC;AAAf,OACE,oBAAC,KAAD;AAAO,MAAA,IAAI,EAAE1N,eAAe,CAACqO,GAA7B;AAAkC,MAAA,KAAK,EAAEnO,WAAW,CAACgB;AAArD,OACGrC,SAAS,CAACyP,8BADb,CADF,EAIE,oBAAC,IAAD;AACE,MAAA,IAAI,EAAEhL,SAAS,CAACiL,KADlB;AAEE,MAAA,SAAS,EAAC,uCAFZ;AAGE,MAAA,MAAM,EAAC,MAHT;AAIE,MAAA,KAAK,EAAC,MAJR;AAKE,MAAA,OAAO,EAAE,mBAAM;AACbzB,QAAAA,MAAM,CAACkB,IAAP,CAAY,8BAAZ;AACA1B,QAAAA,YAAY;AACb;AARH,MAJF,CADF,EAgBE,iCACE,oBAAC,WAAD;AAAa,MAAA,IAAI,EAAEkC,gBAAgB,CAACC;AAApC,MADF,CAhBF,CADF;AAsBD;;AAED,SACE,oBAAC,mBAAD;AACE,IAAA,kBAAkB,EAAExB,6BADtB;AAEE,IAAA,iBAAiB,EAAEC,wBAFrB;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,KAAD;AAAO,IAAA,IAAI,EAAElN,eAAe,CAACqO,GAA7B;AAAkC,IAAA,KAAK,EAAEnO,WAAW,CAACgB;AAArD,KACGrC,SAAS,CAACyP,8BADb,CADF,EAIE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,UAAD;AACE,IAAA,KAAK,EAAC,MADR;AAEE,IAAA,MAAM,EAAC,MAFT;AAGE,IAAA,OAAO,EAAE,mBAAM;AACbxB,MAAAA,MAAM,CAACkB,IAAP,CAAY,8BAAZ;AACA1B,MAAAA,YAAY;AACb;AANH,KAQE,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEhJ,SAAS,CAACiL,KADlB;AAEE,IAAA,SAAS,EAAC,uCAFZ;AAGE,IAAA,MAAM,EAAC,MAHT;AAIE,IAAA,KAAK,EAAC;AAJR,IARF,CADF,CAJF,CALF,EA2BE;AAAK,IAAA,SAAS,EAAC;AAAf,KAEI9B,oBAAoB,GAChBA,oBAAoB,CAAC;AAAE1O,IAAAA,OAAO,EAAPA;AAAF,GAAD,CADJ,GAGhB,oBAAC,cAAD;AACE,IAAA,QAAQ,EAAE,CAACgP,QADb;AAEE,IAAA,OAAO,EAAEhP,OAFX;AAGE,IAAA,MAAM,EAAEC,MAHV;AAIE,IAAA,KAAK,EAAEC,KAJT;AAKE,IAAA,mBAAmB,EAAE,6BAACM,UAAD,EAAamQ,YAAb,EAA8B;AACjD5B,MAAAA,MAAM,CAACkB,IAAP,CAAY,oDAAZ;AACA,UAAM1I,UAAU,GAAGkD,GAAG,CAACmG,qBAAJ,EAAnB;;AACA,UAAIjC,qBAAJ,EAA2B;AACzB,YAAMkC,MAAM,GAAGlC,qBAAqB,CAACgC,YAAD,EAAenQ,UAAf,EAA2BR,OAAO,CAAC8Q,IAAnC,CAApC,CADyB;;AAGzB9Q,QAAAA,OAAO,CAAC+Q,aAAR,CAAsBF,MAAtB,EAA8B,UAACpH,QAAD,EAAWjF,KAAX,EAAqB;AACjD,cAAI6L,YAAY,GAAG5G,QAAnB;;AACA,cAAIlC,UAAJ,EAAgB;AACd8I,YAAAA,YAAY,GAAG7L,KAAf;AACD;;AAEDiK,UAAAA,kBAAiB,CAAC4B,YAAD,CAAjB;;AACAZ,UAAAA,kBAAkB,CAACF,MAAM,EAAP,CAAlB;AACD,SARD;AASA;AACD;;AACDvP,MAAAA,OAAO,CAAC+Q,aAAR,CACEJ,YADF,EAEEnQ,UAFF,EAGER,OAAO,CAAC8Q,IAHV,EAIE,UAACrH,QAAD,EAAWjF,KAAX,EAAqB;AACnB,YAAI6L,YAAY,GAAG5G,QAAnB;;AACA,YAAIlC,UAAJ,EAAgB;AACd8I,UAAAA,YAAY,GAAG7L,KAAf;AACD;;AACDuK,QAAAA,MAAM,CAACkB,IAAP,CAAY,8CAAZ,EAA4DI,YAA5D;;AACA5B,QAAAA,kBAAiB,CAAC4B,YAAD,CAAjB;;AACAZ,QAAAA,kBAAkB,CAACF,MAAM,EAAP,CAAlB;AACD,OAZH;AAcD;AApCH,IALR,EA8CIvP,OAAO,CAACqF,MAAR,KAAmB,UAAnB,GAEI,oBAAC2L,KAAD;AACE,IAAA,OAAO,EAAEhR,OADX;AAEE,IAAA,iBAAiB,EAAE,2BAACqQ,YAAD,EAAkB;AACnC;AACA5B,MAAAA,kBAAiB,CAAC4B,YAAD,CAAjB;AACD,KALH;AAME,IAAA,gBAAgB,EACd;AAAA,aAAQ1E,aAAa,IAAI,OAAOA,aAAP,KAAyB,UAA3C,GACHA,aAAa,EADV,GAEHsF,0BAA0B,CAAC;AAAExG,QAAAA,GAAG,EAAHA,GAAF;AAAO2E,QAAAA,kCAAkC,EAAlCA;AAAP,OAAD,CAF9B;AAAA;AAPJ,IAFJ,GAiBI,0CAEE;AACE,IAAA,IAAI,EAAC,QADP;AAEE,oBAAcS,aAFhB;AAGE,IAAA,QAAQ,EAAE,CAHZ;AAIE,IAAA,SAAS,EAAE;AAAA,aAAMC,gBAAgB,CAAC,CAACD,aAAF,CAAtB;AAAA,KAJb;AAKE,IAAA,SAAS,2IALX;AASE,IAAA,OAAO,EAAE;AAAA,aAAMC,gBAAgB,CAAC,CAACD,aAAF,CAAtB;AAAA;AATX,KAWE,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEtK,SAAS,CAACkI,OADlB;AAEE,IAAA,SAAS,EAAC,4CAFZ;AAGE,IAAA,MAAM,EAAC,MAHT;AAIE,IAAA,KAAK,EAAC,MAJR;AAKE,IAAA,SAAS,EAAEhI,UAAU,CAAClE;AALxB,IAXF,EAkBE,oBAAC,KAAD;AACE,IAAA,IAAI,EAAEU,eAAe,CAAC+G,UADxB;AAEE,IAAA,KAAK,EAAE7G,WAAW,CAACgB;AAFrB,eAIMrC,SAAS,CAAC4M,+BAJhB,GAKE,oBAAC,KAAD;AAAO,IAAA,KAAK,EAAEZ,YAAU,CAAC9M,OAAO,CAAC2N,WAAT;AAAxB,IALF,CAlBF,EAyBE,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEpI,SAAS,CAAC2L,OADlB;AAEE,IAAA,SAAS,EAAE,CACT,6CADS,EAET,gDAFS,EAGRrB,aAAa,GAAG,6CAAH,GAAmD,EAHxD,EAIT9G,IAJS,CAIJ,GAJI,CAFb;AAOE,IAAA,MAAM,EAAC,MAPT;AAQE,IAAA,KAAK,EAAC;AARR,IAzBF,CAFF,EAuCI8G,aAAa,IACX,oBAAC,iBAAD;AACE,IAAA,WAAW,EAAE5P,MADf;AAEE,IAAA,QAAQ,EAAE,CAAC+O,QAFb;AAAA;AAIE,IAAA,gBAAgB,EACd;AAAA,aAAQrD,aAAa,IAAI,OAAOA,aAAP,KAAyB,UAA3C,GACHA,aAAa,EADV,GAEHsF,0BAA0B,CAAC;AAAExG,QAAAA,GAAG,EAAHA,GAAF;AAAO2E,QAAAA,kCAAkC,EAAlCA;AAAP,OAAD,CAF9B;AAAA,KALJ;AAUE,IAAA,UAAU,EACR3E,GAAG,IAAIA,GAAG,CAACmG,qBAAX,IAAoCnG,GAAG,CAACmG,qBAAJ,EAXxC;AAaE,IAAA,OAAO,EAAE5Q,OAbX;AAcE,IAAA,OAAO,EAAEA,OAAO,CAAC8D,OAdnB;AAeE,IAAA,gBAAgB,EAAE,0BAACoI,gBAAD,EAAsB;AACtC6C,MAAAA,MAAM,CAACkB,IAAP,CAAY,qCAAZ;AACAjQ,MAAAA,OAAO,CAACmM,iBAAR,CAA0BD,gBAA1B,EACGiF,IADH,CACQ,UAACC,GAAD,EAAS;AACb3C,QAAAA,kBAAiB,CAAC2C,GAAD,CAAjB;;AACA3B,QAAAA,kBAAkB,CAACF,MAAM,EAAP,CAAlB;AACAR,QAAAA,MAAM,CAACkB,IAAP,CAAY,8CAAZ,EAA4DmB,GAA5D;AACD,OALH;AAMD;AAvBH,IAxCN,CA/DR,EAsIE;AACE,IAAA,SAAS,yHAGH,CAACpC,QAAD,GAAY,iDAAZ,GAAgE,EAH7D,CADX;AAME,IAAA,IAAI,EAAC,QANP;AAOE,IAAA,QAAQ,EAAE,CAPZ;AAQE,IAAA,QAAQ,MARV;AASE,IAAA,SAAS,EAAE,qBAAM;AACf,UAAI,CAACA,QAAL,EAAe;AAAE;AAAS;;AAC1BgB,MAAAA,wBAAwB,CAAC,IAAD,CAAxB;AACD,KAZH;AAaE,IAAA,OAAO,EAAE,mBAAM;AACb,UAAI,CAAChB,QAAL,EAAe;AAAE;AAAS;;AAC1BgB,MAAAA,wBAAwB,CAAC,IAAD,CAAxB;AACD;AAhBH,KAkBE,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEzK,SAAS,CAAC8L,KADlB;AAEE,IAAA,SAAS,EAAE,CACT,4CADS,EAET,8CAFS,EAGTtI,IAHS,CAGJ,GAHI,CAFb;AAME,IAAA,MAAM,EAAC,MANT;AAOE,IAAA,KAAK,EAAC;AAPR,IAlBF,EA2BE,oBAAC,KAAD;AACE,IAAA,IAAI,EAAE9G,eAAe,CAAC+G,UADxB;AAEE,IAAA,KAAK,EAAE7G,WAAW,CAACgB;AAFrB,KAIGrC,SAAS,CAACwQ,qCAJb,CA3BF,CAtIF,EAyKIvB,qBAAqB,IACnB,oBAAC,iBAAD;AACE,IAAA,YAAY,EAAE;AAAA,aAAMC,wBAAwB,CAAC,KAAD,CAA9B;AAAA,KADhB;AAEE,IAAA,cAAc,EAAE,0BAAM;AACpBjB,MAAAA,MAAM,CAACkB,IAAP,CAAY,kCAAZ,EAAgDjQ,OAAhD;AACAA,MAAAA,OAAO,CAACuR,KAAR,GACGJ,IADH,CACQ,YAAM;AACVpC,QAAAA,MAAM,CAACkB,IAAP,CAAY,8CAAZ,EAA4DjQ,OAA5D;AACAuO,QAAAA,YAAY;AACb,OAJH;AAKD;AATH,IA1KN,CA3BF,CADF;AAsND;;AAEDD,eAAe,CAAC/L,SAAhB,GAA4B;AAC1BgM,EAAAA,YAAY,EAAE/L,SAAS,CAACC,IADE;AAE1BgM,EAAAA,iBAAiB,EAAEjM,SAAS,CAACC,IAFH;AAG1BkM,EAAAA,qBAAqB,EAAEnM,SAAS,CAACC,IAHP;AAI1BiM,EAAAA,oBAAoB,EAAElM,SAAS,CAACgP,SAAV,CAAoB,CACxChP,SAAS,CAACiP,OAD8B,EAExCjP,SAAS,CAACC,IAF8B,CAApB,CAJI;AAQ1BgE,EAAAA,kBAAkB,EAAEjE,SAAS,CAACe,IARJ;AAS1BmD,EAAAA,iBAAiB,EAAElE,SAAS,CAACC,IATH;AAU1B+L,EAAAA,UAAU,EAAEhM,SAAS,CAACI,MAAV,CAAiBF,UAVH;AAW1BuM,EAAAA,OAAO,EAAEzM,SAAS,CAACG,KAAV,CAAgB;AACvB0M,IAAAA,wBAAwB,EAAE7M,SAAS,CAACG,KAAV,CAAgB;AACxC2B,MAAAA,KAAK,EAAE9B,SAAS,CAACkP,MADuB;AAExCC,MAAAA,aAAa,EAAEnP,SAAS,CAAC+F,OAAV,CAAkB/F,SAAS,CAACI,MAA5B,CAFyB;AAGxCgP,MAAAA,iBAAiB,EAAEpP,SAAS,CAACI,MAHW;AAIxCiP,MAAAA,oBAAoB,EAAErP,SAAS,CAAC+F,OAAV,CAAkB/F,SAAS,CAACI,MAA5B;AAJkB,KAAhB;AADH,GAAhB,CAXiB;AAmB1B;AACAiM,EAAAA,MAAM,EAAErM,SAAS,CAACG,KAAV,CAAgB;AACtBiM,IAAAA,QAAQ,EAAEpM,SAAS,CAACG,KAAV,CAAgB;AACxB8H,MAAAA,GAAG,EAAEjI,SAAS,CAACG,KAAV,CAAgB;AACnBiO,QAAAA,qBAAqB,EAAEpO,SAAS,CAACC,IADd;AAEnB0N,QAAAA,YAAY,EAAE3N,SAAS,CAACgP,SAAV,CAAoB,CAChChP,SAAS,CAACG,KAAV,CAAgB;AACdyN,UAAAA,UAAU,EAAE5N,SAAS,CAACC;AADR,SAAhB,CADgC,EAIhCD,SAAS,CAACC,IAJsB,CAApB,CAFK;AAQnBqP,QAAAA,8BAA8B,EAAEtP,SAAS,CAACuP;AARvB,OAAhB,CADmB;AAWxBzC,MAAAA,WAAW,EAAE9M,SAAS,CAACe;AAXC,KAAhB;AADY,GAAhB,EAcLb,UAlCuB;AAmC1BoM,EAAAA,MAAM,EAAEtM,SAAS,CAACG,KAAV,CAAgB;AACtB1C,IAAAA,MAAM,EAAEuC,SAAS,CAACI,MADI;AAEtB1C,IAAAA,KAAK,EAAEsC,SAAS,CAACI,MAFK;AAGtB+I,IAAAA,aAAa,EAAEnJ,SAAS,CAACC,IAHH;AAItBuM,IAAAA,QAAQ,EAAExM,SAAS,CAACe,IAJE;AAKtBwL,IAAAA,MAAM,EAAEvM,SAAS,CAACG,KAAV,CAAgB;AACtBsN,MAAAA,IAAI,EAAEzN,SAAS,CAACC,IADM;AAEtB+B,MAAAA,KAAK,EAAEhC,SAAS,CAACC,IAFK;AAGtByN,MAAAA,OAAO,EAAE1N,SAAS,CAACC;AAHG,KAAhB;AALc,GAAhB,EAULC;AA7CuB,CAA5B;AAgDA4L,eAAe,CAAC9K,YAAhB,GAA+B;AAC7BmL,EAAAA,qBAAqB,EAAE,IADM;AAE7BM,EAAAA,OAAO,EAAE,EAFoB;AAG7BxI,EAAAA,kBAAkB,EAAE,KAHS;AAI7BC,EAAAA,iBAAiB,EAAE,IAJU;AAK7BgI,EAAAA,oBAAoB,EAAE,IALO;AAM7BH,EAAAA,YAAY,EAAE,wBAAM,EANS;AAO7BE,EAAAA,iBAAiB,EAAE,6BAAM;AAPI,CAA/B;AAUA,wBAAejD,mBAAmB,CAAC8C,eAAD,CAAlC;;;;"} \ No newline at end of file +{"version":3,"file":"ChannelSettings.js","sources":["../src/smart-components/ChannelSettings/components/EditDetails.jsx","../src/smart-components/ChannelSettings/components/ChannelProfile.jsx","../src/smart-components/ChannelSettings/components/AdminPanel/MembersModal.tsx","../src/smart-components/ChannelSettings/components/MemebersAccordion.jsx","../src/smart-components/ChannelSettings/components/UserListItem.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/OperatorsModal.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/AddOperatorsModal.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/OperatorList.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/InviteMembersModal.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/MemberList.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/BannedMembersModal.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/BannedMemberList.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/MutedMembersModal.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/MutedMemberList.tsx","../src/smart-components/ChannelSettings/components/AdminPanel/index.tsx","../src/smart-components/ChannelSettings/index.jsx"],"sourcesContent":["import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Modal from '../../../ui/Modal';\nimport Input, { InputLabel } from '../../../ui/Input';\nimport Avatar from '../../../ui/Avatar/index';\nimport { Type as ButtonType } from '../../../ui/Button/type';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport TextButton from '../../../ui/TextButton';\nimport ChannelAvatar from '../../../ui/ChannelAvatar/index';\n\nconst EditDetails = (props) => {\n const {\n onSubmit,\n onCancel,\n channel,\n userId,\n theme,\n } = props;\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const hiddenInputRef = useRef(null);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n const title = channel.name;\n return (\n {\n if (title !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n onSubmit(newFile, inputRef.current.value);\n onCancel();\n }}\n type={ButtonType.PRIMARY}\n >\n { e.preventDefault(); }}\n >\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE}\n \n
\n {\n currentImg\n ? (\n \n ) : (\n \n )\n }\n
\n {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n hiddenInputRef.current.click()}\n notUnderline\n >\n \n \n
\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_NAME}\n \n \n
\n \n \n );\n};\n\nEditDetails.propTypes = {\n onSubmit: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n channel: PropTypes.shape({\n name: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n theme: PropTypes.string.isRequired,\n};\n\nexport default EditDetails;\n","import React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './channel-profile.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport EditDetailsModal from './EditDetails';\nimport TextButton from '../../../ui/TextButton';\nimport ChannelAvatar from '../../../ui/ChannelAvatar/index';\n\nconst ChannelProfile = (props) => {\n const {\n disabled,\n channel,\n userId,\n theme,\n onChannelInfoChange,\n } = props;\n const title = channel.name;\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n
\n
\n
\n \n
\n \n {title}\n \n {\n if (disabled) { return; }\n setShowModal(true);\n }}\n notUnderline\n >\n \n {stringSet.CHANNEL_SETTING__PROFILE__EDIT}\n \n \n {\n showModal && (\n setShowModal(false)}\n onSubmit={onChannelInfoChange}\n channel={channel}\n userId={userId}\n theme={theme}\n />\n )\n }\n
\n
\n );\n};\n\nChannelProfile.propTypes = {\n channel: PropTypes.shape({\n name: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n theme: PropTypes.string,\n disabled: PropTypes.bool,\n onChannelInfoChange: PropTypes.func,\n};\n\nChannelProfile.defaultProps = {\n theme: 'light',\n disabled: false,\n onChannelInfoChange: () => { },\n};\n\nexport default ChannelProfile;\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n currentUser?: string;\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport default function MembersModal({\n hideModal,\n channel,\n currentUser,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n\n useEffect(() => {\n const memberListQuery = channel.createMemberListQuery();\n memberListQuery.limit = 20;\n memberListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setMemberQuery(memberListQuery);\n }, [])\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"All Members\"\n >\n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n (\n <>\n {channel.myRole === 'operator' && (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n if ((member.role !== 'operator')) {\n channel.addOperators([member.userId], () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n role: 'operator',\n };\n }\n return m;\n }));\n closeDropdown();\n });\n } else {\n channel.removeOperators([member.userId], () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n role: '',\n };\n }\n return m;\n }));\n closeDropdown();\n });\n }\n }}\n >\n { member.role !== 'operator' ? 'Promote to operator' : 'Demote operator'}\n \n {\n // No muted members in broadcast channel\n !channel.isBroadcast && (\n {\n if (member.isMuted) {\n channel.unmuteUser(member, () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n isMuted: false,\n };\n }\n return m;\n }));\n closeDropdown();\n })\n } else {\n channel.muteUser(member, () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n isMuted: true,\n };\n }\n return m;\n }));\n closeDropdown();\n });\n }\n }}\n >\n { member.isMuted ? 'Unmute' : 'Mute' }\n \n )\n }\n {\n channel.banUser(member, -1, '', () => {\n setMembers(members.filter(({ userId }) => {\n return userId !== member.userId;\n }));\n });\n }}\n >\n Ban\n \n \n )}\n />\n )}\n \n )}\n />\n ))}\n
\n \n \n );\n}\n","import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './members-accordion.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { UserProfileContext } from '../../../lib/UserProfileContext';\nimport Button from '../../../ui/Button';\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../ui/Button/type';\nimport Avatar from '../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport InviteMembers from '../../InviteMembers';\nimport MembersModal from './AdminPanel/MembersModal';\nimport UserProfile from '../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../ui/ContextMenu';\n\nconst SHOWN_MEMBER_MAX = 10;\n\nconst UserListItem = ({ member = {}, currentUser = '' }) => {\n const avatarRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={member.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: member,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n
\n \n
\n );\n};\n\nUserListItem.propTypes = {\n member: PropTypes.shape({\n userId: PropTypes.string,\n profileUrl: PropTypes.string,\n nickname: PropTypes.string,\n }).isRequired,\n currentUser: PropTypes.string.isRequired,\n};\n\nconst MemebersAccordion = ({\n channel,\n disabled,\n currentUser,\n userQueryCreator,\n onInviteMemebers,\n swapParams,\n}) => {\n const members = channel.members || [];\n const [showMoreModal, setShowMoreModal] = useState(false);\n const [showAddUserModal, setShowAddUserModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n {\n members.slice(0, SHOWN_MEMBER_MAX).map((member) => (\n \n ))\n }\n
\n
\n {\n members.length >= SHOWN_MEMBER_MAX && (\n setShowMoreModal(true)}\n >\n {stringSet.CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS}\n \n )\n }\n {\n members.length >= SHOWN_MEMBER_MAX && showMoreModal && (\n {\n setShowMoreModal(false);\n }}\n channel={channel}\n />\n )\n }\n {\n if (disabled) { return; }\n setShowAddUserModal(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__MEMBERS__INVITE_MEMBER}\n \n {\n showAddUserModal && (\n setShowAddUserModal(false)}\n idsToFilter={members.map((member) => (member.userId))}\n userQueryCreator={userQueryCreator}\n onSubmit={onInviteMemebers}\n />\n )\n }\n
\n
\n );\n};\n\nMemebersAccordion.propTypes = {\n swapParams: PropTypes.bool,\n disabled: PropTypes.bool,\n channel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n currentUser: PropTypes.string,\n userQueryCreator: PropTypes.func.isRequired,\n onInviteMemebers: PropTypes.func.isRequired,\n};\n\nMemebersAccordion.defaultProps = {\n swapParams: false,\n currentUser: '',\n disabled: false,\n channel: {},\n};\n\nexport default MemebersAccordion;\n","// might move to reusable/UI\n\nimport React, { ReactElement, useRef, useContext } from 'react';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { UserProfileContext } from '../../../lib/UserProfileContext';\nimport Avatar from '../../../ui/Avatar/index';\nimport MutedAvatarOverlay from '../../../ui/Avatar/MutedAvatarOverlay';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport UserProfile from '../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../ui/ContextMenu';\n\nimport './user-list-item.scss';\nimport { SendbirdTypes } from '../../../types';\n\nconst COMPONENT_NAME = 'sendbird-user-list-item--small';\n\ninterface ActionProps {\n actionRef: React.RefObject;\n parentRef: React.RefObject;\n}\n\ntype CustomUser = SendbirdTypes['User'] & {\n isMuted: boolean;\n role: string;\n};\n\ninterface Props {\n user: CustomUser;\n currentUser?: string;\n className?: string;\n action?(props: ActionProps): ReactElement;\n}\n\nconst UserListItem = ({\n user,\n className,\n currentUser,\n action,\n}: Props): ReactElement => {\n const actionRef = useRef(null);\n const parentRef = useRef(null);\n const avatarRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const injectingClassNames = Array.isArray(className) ? className : [className];\n return (\n \n {\n user.isMuted && (\n \n )\n }\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n className={`${COMPONENT_NAME}__avatar`}\n src={user.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n \n {user.nickname || stringSet.NO_NAME}\n {\n (currentUser === user.userId) && (\n \" (You)\"\n )\n }\n \n { // if there is now nickname, display userId\n !user.nickname && (\n \n {user.userId}\n \n )\n }\n {\n user.role === 'operator' && (\n \n Operator\n \n )\n }\n {\n action && (\n
\n { action({ actionRef, parentRef }) }\n
\n )\n }\n \n );\n}\n\nexport default UserListItem;\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n currentUser?: string;\n}\n\nexport default function OperatorsModal({\n hideModal,\n channel,\n currentUser,\n}: Props): ReactElement {\n const [operators, setOperators] = useState([]);\n const [operatorQuery, setOperatorQuery] = useState(null);\n\n useEffect(() => {\n const operatorListQuery = channel.createOperatorListQuery();\n operatorListQuery.limit = 20;\n operatorListQuery.next((operators, error) => {\n if (error) {\n return;\n }\n setOperators(operators);\n });\n setOperatorQuery(operatorListQuery);\n }, [])\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"All operators\"\n >\n {\n const { hasNext } = operatorQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n operatorQuery.next((o, error) => {\n if (error) {\n return;\n }\n setOperators([\n ...operators,\n ...o,\n ])\n });\n }\n }}\n >\n { operators.map((member) => (\n (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.removeOperators([member.userId], (response, error) => {\n if (error) {\n return;\n }\n setOperators(operators.filter(({ userId }) => {\n return userId !== member.userId;\n }));\n });\n closeDropdown();\n }}\n >\n Dismiss operator\n \n \n )}\n />\n )}\n />\n ))}\n
\n \n \n )\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Modal from '../../../../ui/Modal';\nimport Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport { Type as ButtonType } from '../../../../ui/Button/type';\nimport UserListItem from '../../../../ui/UserListItem';\n\ninterface Props {\n hideModal(): void;\n onSubmit(members: Array): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport default function AddOperatorsModal({\n hideModal,\n channel,\n onSubmit,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [selectedMembers, setSelectedMembers] = useState({});\n const [memberQuery, setMemberQuery] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n const memberListQuery = channel.createMemberListQuery();\n memberListQuery.limit = 20;\n memberListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setMemberQuery(memberListQuery);\n }, [])\n\n const selectedCount = Object.keys(selectedMembers).filter((m) => selectedMembers[m]).length;\n return (\n
\n hideModal()}\n onSubmit={() => {\n const members = Object.keys(selectedMembers).filter((m) => selectedMembers[m]);\n onSubmit(members);\n }}\n titleText=\"Select members\"\n >\n 0) ? LabelColors.PRIMARY : LabelColors.ONBACKGROUND_3}\n type={LabelTypography.CAPTION_1}\n >\n {`${selectedCount} ${stringSet.MODAL__INVITE_MEMBER__SELECTEC}`}\n \n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n {\n const modifiedSelectedMembers = {\n ...selectedMembers,\n [event.target.id]: event.target.checked,\n };\n if (!event.target.checked) {\n delete modifiedSelectedMembers[event.target.id];\n }\n setSelectedMembers(modifiedSelectedMembers);\n }\n }\n user={member}\n key={member.userId}\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n useContext,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport OperatorsModal from './OperatorsModal';\nimport AddOperatorsModal from './AddOperatorsModal';\n\ninterface Props {\n sdk: SendbirdTypes[\"SendBirdInstance\"];\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport const OperatorList = ({ sdk, channel }: Props): ReactElement => {\n const [operators, setOperators] = useState([]);\n const [showMore, setShowMore] = useState(false);\n const [showAdd, setShowAdd] = useState(false);\n const [hasNext, setHasNext] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel) {\n setOperators([]);\n return;\n }\n\n const operatorListQuery = channel.createOperatorListQuery();\n operatorListQuery.limit = 10;\n operatorListQuery.next((operators, error) => {\n if (error) {\n return;\n }\n setOperators(operators);\n setHasNext(operatorListQuery.hasNext);\n });\n }, [channel]);\n\n const refershList = useCallback(\n () => {\n if (!channel) {\n setOperators([]);\n return;\n }\n const operatorListQuery = channel.createOperatorListQuery();\n operatorListQuery.limit = 10;\n operatorListQuery.next((operators, error) => {\n if (error) {\n return;\n }\n setOperators(operators);\n setHasNext(operatorListQuery.hasNext);\n });\n },\n [channel],\n );\n\n return (\n <>\n {\n operators.map((operator) => (\n {\n return (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.removeOperators([operator.userId], (response, error) => {\n if (error) {\n return;\n }\n setOperators(operators.filter(({ userId }) => {\n return userId !== operator.userId;\n }))\n });\n closeDropdown();\n }}\n >\n Dismiss operator\n \n \n )}\n />\n );\n }}\n />\n ))\n }\n {\n hasNext && (\n \n {\n setShowMore(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ALL}\n \n {\n setShowAdd(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ADD}\n \n \n )\n }\n {\n showMore && (\n {\n setShowMore(false);\n refershList();\n }}\n channel={channel}\n />\n )\n }\n {\n showAdd && (\n setShowAdd(false)}\n channel={channel}\n onSubmit={(members) => {\n setShowAdd(false);\n channel.addOperators(members, () => {\n refershList();\n });\n }}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(OperatorList, mapStoreToProps);\n","import React, { ReactElement, useEffect, useState } from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport { Type as ButtonType } from '../../../../ui/Button/type';\nimport UserListItem from '../../../../ui/UserListItem';\n\ninterface Props {\n hideModal(): void;\n onSubmit(members: Array): void;\n channel: SendbirdTypes['GroupChannel'];\n userQueryCreator(): SendbirdTypes['UserListQuery'];\n}\n\nexport default function InviteMembers({\n hideModal,\n userQueryCreator,\n onSubmit,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [selectedMembers, setSelectedMembers] = useState({});\n const [userQuery, setUserQuery] = useState(null);\n\n useEffect(() => {\n const userListQuery = userQueryCreator();\n userListQuery.limit = 20;\n userListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setUserQuery(userListQuery);\n }, [])\n return (\n
\n hideModal()}\n onSubmit={() => {\n const members = Object.keys(selectedMembers).filter((m) => selectedMembers[m]);\n onSubmit(members);\n }}\n titleText=\"Select members\"\n >\n {\n const { hasNext } = userQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n userQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n {\n const modifiedSelectedMembers = {\n ...selectedMembers,\n [event.target.id]: event.target.checked,\n };\n if (!event.target.checked) {\n delete modifiedSelectedMembers[event.target.id];\n }\n setSelectedMembers(modifiedSelectedMembers);\n }\n }\n user={member}\n key={member.userId}\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport MembersModal from './MembersModal';\nimport InviteMembers from './InviteMembersModal';\n\ninterface Props {\n sdk: SendbirdTypes['SendBirdInstance'];\n channel: SendbirdTypes['GroupChannel'];\n userQueryCreator(): SendbirdTypes['UserListQuery'];\n userId: string;\n}\n\nexport const MemberList = ({\n sdk,\n channel,\n userQueryCreator,\n userId,\n}: Props): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showAllMembers, setShowAllMembers] = useState(false);\n const [showInviteMembers, setShowInviteMembers] = useState(false);\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refershList = useCallback(\n () => {\n if (!channel) {\n setMembers([]);\n return;\n }\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n },\n [channel],\n );\n\n return (\n <>\n {\n members.map((member) => (\n (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n if ((member.role !== 'operator')) {\n channel.addOperators([member.userId], () => {\n refershList();\n closeDropdown();\n });\n } else {\n channel.removeOperators([member.userId], () => {\n refershList();\n closeDropdown();\n });\n }\n }}\n >\n {member.role !== 'operator' ? 'Promote to operator' : 'Demote operator'}\n \n {\n // No muted members in broadcast channel\n !channel.isBroadcast && (\n {\n if (member.isMuted) {\n channel.unmuteUser(member, () => {\n refershList();\n closeDropdown();\n })\n } else {\n channel.muteUser(member, () => {\n refershList();\n closeDropdown();\n });\n }\n }}\n >\n { member.isMuted ? 'Unmute' : 'Mute'}\n \n )\n }\n {\n channel.banUser(member, -1, '', () => {\n refershList();\n closeDropdown();\n });\n }}\n >\n Ban\n \n \n )}\n />\n )\n : null\n }\n />\n ))\n }\n \n {\n hasNext && (\n setShowAllMembers(true)}\n >\n All members\n \n )\n }\n setShowInviteMembers(true)}\n >\n Invite members\n \n \n {\n showAllMembers && (\n {\n setShowAllMembers(false);\n refershList();\n }}\n />\n )\n }\n {\n showInviteMembers && (\n ) => {\n channel.inviteWithUserIds(selectedMemebers, () => {\n setShowInviteMembers(false);\n refershList();\n });\n }}\n channel={channel}\n hideModal={() => setShowInviteMembers(false)}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(MemberList, mapStoreToProps);\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport default function BannedMembersModal({\n hideModal,\n channel,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n\n useEffect(() => {\n const bannedUserListQuery = channel.createBannedUserListQuery();\n bannedUserListQuery.next((users, error) => {\n if (error) {\n return;\n }\n setMembers(users);\n });\n setMemberQuery(bannedUserListQuery);\n }, []);\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"Muted members\"\n >\n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unbanUser(member, () => {\n closeDropdown();\n setMembers(members.filter(m => {\n return (m.userId !== member.userId);\n }));\n })\n }}\n >\n Unban\n \n \n )}\n />\n )\n }\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport BannedMembersModal from './BannedMembersModal';\n\ninterface Props {\n sdk: SendbirdTypes[\"SendBirdInstance\"];\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport const BannedMemberList = ({ channel }: Props): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const bannedUserListQuery = channel.createBannedUserListQuery();\n bannedUserListQuery.next((users, error) => {\n if (error) {\n return;\n }\n setMembers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const bannedUserListQuery = channel.createBannedUserListQuery();\n bannedUserListQuery.next(function(users, error) {\n if (error) {\n return;\n }\n setMembers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n members.map((member) => (\n {\n return (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unbanUser(member, () => {\n closeDropdown();\n refreshList();\n })\n }}\n >\n Unban\n \n \n )}\n />\n )\n }}\n />\n ))\n }\n {\n members && members.length === 0 && (\n \n No banned members yet\n \n )\n }\n {\n hasNext && (\n \n {\n setShowModal(true);\n }}\n >\n All banned members\n \n \n )\n }\n {\n showModal && (\n {\n setShowModal(false);\n refreshList();\n }}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(BannedMemberList, mapStoreToProps);\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n currentUser?: string;\n}\n\nexport default function MutedMembersModal({\n hideModal,\n channel,\n currentUser,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n\n useEffect(() => {\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.mutedMemberFilter = 'muted';\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setMemberQuery(memberUserListQuery);\n }, []);\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"Muted members\"\n >\n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unmuteUser(member, () => {\n closeDropdown();\n setMembers(members.filter(m => {\n return (m.userId !== member.userId);\n }));\n })\n }}\n >\n Unmute\n \n \n )}\n />\n )}\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport MutedMembersModal from './MutedMembersModal';\n\ninterface Props {\n sdk: SendbirdTypes[\"SendBirdInstance\"];\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport const MutedMemberList = ({ sdk, channel }: Props): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.mutedMemberFilter = 'muted';\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.mutedMemberFilter = 'muted';\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n members.map((member) => (\n {\n return (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unmuteUser(member, () => {\n refreshList();\n closeDropdown();\n })\n }}\n >\n Unmute\n \n \n )}\n />\n );\n }\n }\n />\n ))\n }\n {\n members && members.length === 0 && (\n \n No muted members yet\n \n )\n }\n {\n hasNext && (\n \n {\n setShowModal(true);\n }}\n >\n All muted members\n \n \n )\n }\n {\n showModal && (\n {\n setShowModal(false);\n refreshList();\n }}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(MutedMemberList, mapStoreToProps);\n","import './index.scss';\nimport React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport { SendbirdTypes } from '../../../../types';\n\nimport Accordion, { AccordionGroup } from '../../../../ui/Accordion';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Badge from '../../../../ui/Badge';\n\nimport OperatorList from './OperatorList';\nimport MemberList from './MemberList';\nimport BannedMemberList from './BannedMemberList';\nimport MutedMemberList from './MutedMemberList';\n\nconst kFormatter = (num: number): string|number => {\n return Math.abs(num) > 999\n ? `${(Math.abs(num)/1000).toFixed(1)}K`\n : num;\n}\n\ninterface Props {\n channel: SendbirdTypes['GroupChannel'];\n userQueryCreator(): SendbirdTypes['UserListQuery'];\n userId: string;\n}\n\nexport default function AdminPannel({\n userQueryCreator,\n channel,\n userId,\n}: Props): ReactElement {\n const [frozen, setFrozen] = useState(false);\n\n // work around for\n // https://sendbird.slack.com/archives/G01290GCDCN/p1595922832000900\n // SDK bug - after frozen/unfrozen myRole becomes \"none\"\n useEffect(() => {\n setFrozen(channel.isFrozen);\n }, [channel]);\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE}\n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__MEMBERS__TITLE}\n \n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n {\n // No muted members in broadcast channel\n !channel.isBroadcast && (\n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__MUTED_MEMBERS__TITLE}\n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n )\n }\n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__BANNED_MEMBERS__TITLE}\n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n {\n // cannot frozen broadcast channel\n !channel.isBroadcast && (\n
\n \n \n {stringSet.CHANNEL_SETTING__FREEZE_CHANNEL}\n \n
\n {\n frozen\n ? (\n {\n channel.unfreeze(() => {\n setFrozen(false);\n });\n }}\n type={IconTypes.TOGGLE_ON}\n fillColor={IconColors.PRIMARY}\n width={44}\n height={24}\n />\n )\n : (\n {\n channel.freeze(() => {\n setFrozen(true);\n });\n }}\n type={IconTypes.TOGGLE_OFF}\n fillColor={IconColors.PRIMARY}\n width={44}\n height={24}\n />\n )\n }\n
\n
\n )\n }\n
\n );\n}\n","import React, { useEffect, useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport './index.scss';\nimport Badge from '../../ui/Badge';\nimport Label, { LabelTypography, LabelColors } from '../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../ui/Icon';\nimport IconButton from '../../ui/IconButton';\n\nimport ChannelProfile from './components/ChannelProfile';\nimport MemebersAccordion from './components/MemebersAccordion';\nimport LeaveChannelModal from './components/LeaveChannel';\nimport AdminPanel from './components/AdminPanel';\nimport PlaceHolder from '../../ui/PlaceHolder';\nimport PlaceHolderTypes from '../../ui/PlaceHolder/type';\nimport { uuidv4 } from '../../utils/uuid';\nimport { createDefaultUserListQuery } from '../ChannelList/components/utils';\n\n\nconst kFormatter = (num) => (\n Math.abs(num) > 999\n ? `${(Math.abs(num) / 1000).toFixed(1)}K`\n : num\n);\n\nfunction ChannelSettings(props) {\n const {\n onCloseClick,\n channelUrl,\n disableUserProfile,\n renderUserProfile,\n onChannelModified,\n renderChannelProfile,\n onBeforeUpdateChannel,\n } = props;\n\n const {\n stores: { sdkStore },\n config: {\n userListQuery,\n theme,\n userId,\n logger,\n isOnline,\n },\n queries = {},\n } = props;\n\n const { config = {} } = props;\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n\n const userFilledApplicationUserListQuery = queries.applicationUserListQuery;\n const { stringSet } = useContext(LocalizationContext);\n\n const { sdk, initialized } = sdkStore;\n\n // hack to kepp track of channel updates by triggering useEffect\n const [channelUpdateId, setChannelUpdateId] = useState(uuidv4());\n const [channel, setChannel] = useState(null);\n const [invalidChannel, setInvalidChannel] = useState(false);\n const [showAccordion, setShowAccordion] = useState(false);\n const [showLeaveChannelModal, setShowLeaveChannelModal] = useState(false);\n\n useEffect(() => {\n logger.info('ChannelSettings: Setting up');\n if (!channelUrl || !initialized || !sdk) {\n logger.warning('ChannelSettings: Setting up failed', 'No channelUrl or sdk uninitialized');\n setInvalidChannel(false);\n } else {\n if (!sdk || !sdk.GroupChannel) {\n logger.warning('ChannelSettings: No GroupChannel');\n return;\n }\n sdk.GroupChannel.getChannel(channelUrl, (groupChannel) => {\n if (!groupChannel) {\n logger.warning('ChannelSettings: Channel not found');\n setInvalidChannel(true);\n } else {\n logger.info('ChannelSettings: Fetched group channel', groupChannel);\n setInvalidChannel(false);\n setChannel(groupChannel);\n }\n });\n }\n }, [channelUrl, initialized, channelUpdateId]);\n\n if (!channel || invalidChannel) {\n return (\n
\n
\n \n {\n logger.info('ChannelSettings: Click close');\n onCloseClick();\n }}\n />\n
\n
\n \n
\n
\n );\n }\n\n return (\n \n
\n \n
\n {\n logger.info('ChannelSettings: Click close');\n onCloseClick();\n }}\n >\n \n \n
\n
\n
\n {\n renderChannelProfile\n ? renderChannelProfile({ channel })\n : (\n {\n logger.info('ChannelSettings: Channel information being updated');\n const swapParams = sdk.getErrorFirstCallback();\n if (onBeforeUpdateChannel) {\n const params = onBeforeUpdateChannel(currentTitle, currentImg, channel.data);\n // swapParams\n channel.updateChannel(params, (response, error) => {\n let groupChannel = response;\n if (swapParams) {\n groupChannel = error;\n }\n\n onChannelModified(groupChannel);\n setChannelUpdateId(uuidv4());\n });\n return;\n }\n channel.updateChannel(\n currentTitle,\n currentImg,\n channel.data,\n (response, error) => {\n let groupChannel = response;\n if (swapParams) {\n groupChannel = error;\n }\n logger.info('ChannelSettings: Channel information updated', groupChannel);\n onChannelModified(groupChannel);\n setChannelUpdateId(uuidv4());\n },\n );\n }}\n />\n )\n }\n {\n channel.myRole === 'operator'\n ? (\n {\n // setChannelUpdateId(uuidv4());\n onChannelModified(groupChannel);\n }}\n userQueryCreator={\n () => ((userListQuery && typeof userListQuery === 'function')\n ? userListQuery()\n : createDefaultUserListQuery({ sdk, userFilledApplicationUserListQuery })\n )\n }\n />\n )\n : (\n <>\n {/* Move to different file */}\n setShowAccordion(!showAccordion)}\n className={`\n sendbird-channel-settings__panel-item\n sendbird-channel-settings__members\n `}\n onClick={() => setShowAccordion(!showAccordion)}\n >\n \n \n {`${stringSet.CHANNEL_SETTING__MEMBERS__TITLE}`}\n \n \n \n
\n {\n showAccordion && (\n ((userListQuery && typeof userListQuery === 'function')\n ? userListQuery()\n : createDefaultUserListQuery({ sdk, userFilledApplicationUserListQuery })\n )\n }\n swapParams={\n sdk && sdk.getErrorFirstCallback && sdk.getErrorFirstCallback()\n }\n channel={channel}\n members={channel.members}\n onInviteMemebers={(selectedMemebers) => {\n logger.info('ChannelSettings: Inviting new users');\n channel.inviteWithUserIds(selectedMemebers)\n .then((res) => {\n onChannelModified(res);\n setChannelUpdateId(uuidv4());\n logger.info('ChannelSettings: Inviting new users success!', res);\n });\n }}\n />\n )\n }\n \n )\n }\n\n {\n if (!isOnline) { return; }\n setShowLeaveChannelModal(true);\n }}\n onClick={() => {\n if (!isOnline) { return; }\n setShowLeaveChannelModal(true);\n }}\n >\n \n \n {stringSet.CHANNEL_SETTING__LEAVE_CHANNEL__TITLE}\n \n \n {\n showLeaveChannelModal && (\n setShowLeaveChannelModal(false)}\n onLeaveChannel={() => {\n logger.info('ChannelSettings: Leaving channel', channel);\n channel.leave()\n .then(() => {\n logger.info('ChannelSettings: Leaving channel successful!', channel);\n onCloseClick();\n });\n }}\n />\n )\n }\n \n \n );\n}\n\nChannelSettings.propTypes = {\n onCloseClick: PropTypes.func,\n onChannelModified: PropTypes.func,\n onBeforeUpdateChannel: PropTypes.func,\n renderChannelProfile: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n channelUrl: PropTypes.string.isRequired,\n queries: PropTypes.shape({\n applicationUserListQuery: PropTypes.shape({\n limit: PropTypes.number,\n userIdsFilter: PropTypes.arrayOf(PropTypes.string),\n metaDataKeyFilter: PropTypes.string,\n metaDataValuesFilter: PropTypes.arrayOf(PropTypes.string),\n }),\n }),\n // from withSendbirdContext\n stores: PropTypes.shape({\n sdkStore: PropTypes.shape({\n sdk: PropTypes.shape({\n getErrorFirstCallback: PropTypes.func,\n GroupChannel: PropTypes.oneOfType([\n PropTypes.shape({\n getChannel: PropTypes.func,\n }),\n PropTypes.func,\n ]),\n createApplicationUserListQuery: PropTypes.any,\n }),\n initialized: PropTypes.bool,\n }),\n }).isRequired,\n config: PropTypes.shape({\n userId: PropTypes.string,\n theme: PropTypes.string,\n userListQuery: PropTypes.func,\n isOnline: PropTypes.bool,\n logger: PropTypes.shape({\n info: PropTypes.func,\n error: PropTypes.func,\n warning: PropTypes.func,\n }),\n }).isRequired,\n};\n\nChannelSettings.defaultProps = {\n onBeforeUpdateChannel: null,\n queries: {},\n disableUserProfile: false,\n renderUserProfile: null,\n renderChannelProfile: null,\n onCloseClick: () => { },\n onChannelModified: () => { },\n};\n\nexport default withSendbirdContext(ChannelSettings);\n"],"names":["EditDetails","props","onSubmit","onCancel","channel","userId","theme","inputRef","useRef","formRef","hiddenInputRef","useState","currentImg","setCurrentImg","newFile","setNewFile","useContext","LocalizationContext","stringSet","title","name","MODAL__CHANNEL_INFORMATION__TITLE","BUTTON__SAVE","current","value","reportValidity","ButtonType","PRIMARY","e","preventDefault","MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE","display","URL","createObjectURL","target","files","click","LabelTypography","BUTTON_1","LabelColors","MODAL__CHANNEL_INFORMATION__UPLOAD","MODAL__CHANNEL_INFORMATION__CHANNEL_NAME","MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER","propTypes","PropTypes","func","isRequired","shape","string","ChannelProfile","disabled","onChannelInfoChange","showModal","setShowModal","SUBTITLE_2","ONBACKGROUND_1","ONBACKGROUND_2","CHANNEL_SETTING__PROFILE__EDIT","EditDetailsModal","bool","defaultProps","MembersModal","_a","hideModal","currentUser","_b","members","setMembers","_c","memberQuery","setMemberQuery","useEffect","memberListQuery","createMemberListQuery","limit","next","error","noop","hasNext","fetchMore","clientHeight","scrollTop","scrollHeight","o","map","member","UserListItem","parentRef","actionRef","myRole","toggleDropdown","IconTypes","MORE","IconColors","CONTENT_INVERSE","closeDropdown","role","addOperators","m","removeOperators","isBroadcast","isMuted","unmuteUser","muteUser","banUser","filter","SHOWN_MEMBER_MAX","avatarRef","UserProfileContext","disableUserProfile","renderUserProfile","profileUrl","paddingTop","paddingBottom","user","currentUserId","close","nickname","NO_NAME","YOU","MemebersAccordion","userQueryCreator","onInviteMemebers","swapParams","showMoreModal","setShowMoreModal","showAddUserModal","setShowAddUserModal","slice","length","ButtonTypes","SECONDARY","ButtonSizes","SMALL","CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS","CHANNEL_SETTING__MEMBERS__INVITE_MEMBER","InviteMembers","MODAL__INVITE_MEMBER__TITLE","BUTTON__INVITE","arrayOf","COMPONENT_NAME","className","action","injectingClassNames","Array","isArray","__spreadArrays","join","SUBTITLE_1","CAPTION_3","OperatorsModal","operators","setOperators","operatorQuery","setOperatorQuery","operatorListQuery","createOperatorListQuery","response","AddOperatorsModal","selectedMembers","setSelectedMembers","_d","selectedCount","Object","keys","ONBACKGROUND_3","CAPTION_1","MODAL__INVITE_MEMBER__SELECTEC","event","modifiedSelectedMembers","id","checked","OperatorList","sdk","showMore","setShowMore","showAdd","setShowAdd","_e","setHasNext","refershList","useCallback","operator","CHANNEL_SETTING__OPERATORS__TITLE_ALL","CHANNEL_SETTING__OPERATORS__TITLE_ADD","mapStoreToProps","store","getSdk","withSendbirdContext","userQuery","setUserQuery","userListQuery","MemberList","showAllMembers","setShowAllMembers","showInviteMembers","setShowInviteMembers","memberUserListQuery","selectedMemebers","inviteWithUserIds","BannedMembersModal","bannedUserListQuery","createBannedUserListQuery","users","unbanUser","BannedMemberList","refreshList","MutedMembersModal","mutedMemberFilter","MutedMemberList","kFormatter","num","Math","abs","toFixed","AdminPannel","frozen","setFrozen","isFrozen","OPERATOR","CHANNEL_SETTING__OPERATORS__TITLE","MEMBERS","CHANNEL_SETTING__MEMBERS__TITLE","memberCount","MUTE","CHANNEL_SETTING__MUTED_MEMBERS__TITLE","BAN","CHANNEL_SETTING__BANNED_MEMBERS__TITLE","FREEZE","CHANNEL_SETTING__FREEZE_CHANNEL","unfreeze","TOGGLE_ON","freeze","TOGGLE_OFF","ChannelSettings","onCloseClick","channelUrl","onChannelModified","renderChannelProfile","onBeforeUpdateChannel","sdkStore","stores","config","logger","isOnline","queries","userDefinedDisableUserProfile","userDefinedRenderProfile","userFilledApplicationUserListQuery","applicationUserListQuery","initialized","uuidv4","channelUpdateId","setChannelUpdateId","setChannel","invalidChannel","setInvalidChannel","showAccordion","setShowAccordion","showLeaveChannelModal","setShowLeaveChannelModal","info","warning","GroupChannel","getChannel","groupChannel","H_2","CHANNEL_SETTING__HEADER__TITLE","CLOSE","PlaceHolderTypes","WRONG","currentTitle","getErrorFirstCallback","params","data","updateChannel","AdminPanel","createDefaultUserListQuery","CHEVRON_RIGHT","then","res","LEAVE","CHANNEL_SETTING__LEAVE_CHANNEL__TITLE","leave","oneOfType","element","number","userIdsFilter","metaDataKeyFilter","metaDataValuesFilter","createApplicationUserListQuery","any"],"mappings":"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"} \ No newline at end of file diff --git a/LeaveChannel-42e6a67d.js b/LeaveChannel-42e6a67d.js new file mode 100644 index 0000000..4582a20 --- /dev/null +++ b/LeaveChannel-42e6a67d.js @@ -0,0 +1,290 @@ +import { e as LocalizationContext, c as _toConsumableArray, b as _slicedToArray, a as _objectSpread2, l as _defineProperty } from './LocalizationContext-34316336.js'; +import React, { useContext, useState, useEffect } from 'react'; +import PropTypes from 'prop-types'; +import { c as Label, d as LabelTypography, e as LabelColors, M as Modal, T as Type } from './index-79d744e1.js'; +import { U as UserListItem } from './index-49dfd24f.js'; + +function Badge(_ref) { + var count = _ref.count, + maxLevel = _ref.maxLevel, + className = _ref.className; + + var _useContext = useContext(LocalizationContext), + stringSet = _useContext.stringSet; + + var maximumNumber = parseInt('9'.repeat(maxLevel > 6 ? 6 : maxLevel), 10); + var injectingClassName = Array.isArray(className) ? className : [className]; + return React.createElement("div", { + className: [].concat(_toConsumableArray(injectingClassName), ['sendbird-badge']).join(' ') + }, React.createElement("div", { + className: "sendbird-badge__text" + }, React.createElement(Label, { + type: LabelTypography.CAPTION_2, + color: LabelColors.ONCONTENT_1 + }, count > maximumNumber ? "".concat(maximumNumber).concat(stringSet.BADGE__OVER) : count))); +} +Badge.propTypes = { + count: PropTypes.number.isRequired, + maxLevel: PropTypes.number, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]) +}; +Badge.defaultProps = { + maxLevel: 2, + className: [] +}; + +var filterUser = function filterUser(idsToFilter) { + return function (currentId) { + return idsToFilter.includes(currentId); + }; +}; + +var InviteMembers = function InviteMembers(props) { + var userQueryCreator = props.userQueryCreator, + closeModal = props.closeModal, + _onSubmit = props.onSubmit, + submitText = props.submitText, + titleText = props.titleText, + idsToFilter = props.idsToFilter, + swapParams = props.swapParams; + + var _useState = useState([]), + _useState2 = _slicedToArray(_useState, 2), + users = _useState2[0], + setUsers = _useState2[1]; + + var _useState3 = useState({}), + _useState4 = _slicedToArray(_useState3, 2), + selectedUsers = _useState4[0], + setSelectedUsers = _useState4[1]; + + var _useContext = useContext(LocalizationContext), + stringSet = _useContext.stringSet; + + var _useState5 = useState({}), + _useState6 = _slicedToArray(_useState5, 2), + usersDataSource = _useState6[0], + setUsersDataSource = _useState6[1]; + + var selectedCount = Object.keys(selectedUsers).length; + useEffect(function () { + var applicationUserListQuery = userQueryCreator(); + setUsersDataSource(applicationUserListQuery); + applicationUserListQuery.next(function (res, err) { + // eslint-disable-next-line no-underscore-dangle + var users_ = res; + var error = err; + + if (swapParams) { + users_ = err; + error = users_; + } + + if (error) { + return; + } + + setUsers(users_); + }); + }, []); + return React.createElement(Modal, { + onCancel: closeModal, + onSubmit: function onSubmit() { + var selectedUserList = Object.keys(selectedUsers); + + if (selectedUserList.length > 0) { + _onSubmit(selectedUserList); + + closeModal(); + } + }, + submitText: submitText, + titleText: titleText, + type: Type.PRIMARY + }, React.createElement("div", null, React.createElement(Label, { + color: selectedCount > 0 ? LabelColors.PRIMARY : LabelColors.ONBACKGROUND_3, + type: LabelTypography.CAPTION_1 + }, "".concat(selectedCount, " ").concat(stringSet.MODAL__INVITE_MEMBER__SELECTEC)), React.createElement("div", { + className: "sendbird-create-channel--scroll", + onScroll: function onScroll(e) { + var hasNext = usersDataSource.hasNext; + var fetchMore = e.target.clientHeight + e.target.scrollTop === e.target.scrollHeight; + + if (hasNext && fetchMore) { + usersDataSource.next(function (usersBatch, error) { + if (error) { + return; + } + + setUsers([].concat(_toConsumableArray(users), _toConsumableArray(usersBatch))); + }); + } + } + }, users.map(function (user) { + return !filterUser(idsToFilter)(user.userId) && React.createElement(UserListItem, { + key: user.userId, + user: user, + checkBox: true, + checked: selectedUsers[user.userId], + onChange: function onChange(event) { + var modifiedSelectedUsers = _objectSpread2({}, selectedUsers, _defineProperty({}, event.target.id, event.target.checked)); + + if (!event.target.checked) { + delete modifiedSelectedUsers[event.target.id]; + } + + setSelectedUsers(modifiedSelectedUsers); + } + }); + })))); +}; + +InviteMembers.propTypes = { + idsToFilter: PropTypes.arrayOf(PropTypes.string), + swapParams: PropTypes.bool, + userQueryCreator: PropTypes.func.isRequired, + closeModal: PropTypes.func.isRequired, + onSubmit: PropTypes.func.isRequired, + submitText: PropTypes.string, + titleText: PropTypes.string +}; +InviteMembers.defaultProps = { + swapParams: false, + submitText: 'create', + titleText: 'Create new channel', + idsToFilter: [] +}; + +var createDefaultUserListQuery = function createDefaultUserListQuery(_ref) { + var sdk = _ref.sdk, + _ref$userFilledApplic = _ref.userFilledApplicationUserListQuery, + userFilledApplicationUserListQuery = _ref$userFilledApplic === void 0 ? {} : _ref$userFilledApplic; + var params = sdk.createApplicationUserListQuery(); + + if (userFilledApplicationUserListQuery) { + Object.keys(userFilledApplicationUserListQuery).forEach(function (key) { + params[key] = userFilledApplicationUserListQuery[key]; + }); + } + + return params; +}; + +var getApplicationAttributes = function getApplicationAttributes() { + var sdk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var _sdk$appInfo = sdk.appInfo, + appInfo = _sdk$appInfo === void 0 ? {} : _sdk$appInfo; + var _appInfo$applicationA = appInfo.applicationAttributes, + applicationAttributes = _appInfo$applicationA === void 0 ? [] : _appInfo$applicationA; + return applicationAttributes; +}; + +var isBroadcastChannelEnabled = function isBroadcastChannelEnabled() { + var sdk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var ALLOW_BROADCAST_CHANNEL = 'allow_broadcast_channel'; + var applicationAttributes = getApplicationAttributes(sdk); + + if (Array.isArray(applicationAttributes)) { + return applicationAttributes.includes(ALLOW_BROADCAST_CHANNEL); + } + + return false; +}; +var isSuperGroupChannelEnabled = function isSuperGroupChannelEnabled() { + var sdk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var ALLOW_SUPER_GROUP_CHANNEL = 'allow_super_group_channel'; + var applicationAttributes = getApplicationAttributes(sdk); + + if (Array.isArray(applicationAttributes)) { + return applicationAttributes.includes(ALLOW_SUPER_GROUP_CHANNEL); + } + + return false; +}; +var setChannelType = function setChannelType(params, type) { + if (type === 'broadcast') { + // eslint-disable-next-line no-param-reassign + params.isBroadcast = true; + } + + if (type === 'supergroup') { + // eslint-disable-next-line no-param-reassign + params.isSuper = true; + } + + return params; +}; +var createChannel = function createChannel(sdk, selectedUsers, onBeforeCreateChannel, userId) { + var type = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'group'; + return new Promise(function (resolve, reject) { + // have custom params + if (onBeforeCreateChannel) { + var _params = onBeforeCreateChannel(selectedUsers); + + setChannelType(_params, type); + sdk.GroupChannel.createChannel(_params, function (response, error) { + var swapParams = sdk.getErrorFirstCallback(); + var groupChannel = response; + var err = error; + + if (swapParams) { + groupChannel = error; + err = response; + } + + if (err) { + reject(err); + } + + resolve(groupChannel); + }); + return; + } + + var params = new sdk.GroupChannelParams(); + params.addUserIds(selectedUsers); + params.isDistinct = false; + + if (userId) { + params.operatorUserIds = [userId]; + } + + setChannelType(params, type); // do not have custom params + + sdk.GroupChannel.createChannel(params, function (response, error) { + var swapParams = sdk.getErrorFirstCallback(); + var groupChannel = response; + var err = error; + + if (swapParams) { + groupChannel = error; + err = response; + } + + if (err) { + reject(err); + } + + resolve(groupChannel); + }); + }); +}; + +var LeaveChannel = function LeaveChannel(props) { + var onCloseModal = props.onCloseModal, + onLeaveChannel = props.onLeaveChannel; + return React.createElement(Modal, { + onCancel: onCloseModal, + onSubmit: onLeaveChannel, + submitText: "Leave", + titleText: "Leave this channel?" + }); +}; + +LeaveChannel.propTypes = { + onCloseModal: PropTypes.func.isRequired, + onLeaveChannel: PropTypes.func.isRequired +}; + +export { Badge as B, InviteMembers as I, LeaveChannel as L, isSuperGroupChannelEnabled as a, createChannel as b, createDefaultUserListQuery as c, isBroadcastChannelEnabled as i }; +//# sourceMappingURL=LeaveChannel-42e6a67d.js.map diff --git a/LeaveChannel-42e6a67d.js.map b/LeaveChannel-42e6a67d.js.map new file mode 100644 index 0000000..bd0d298 --- /dev/null +++ b/LeaveChannel-42e6a67d.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LeaveChannel-42e6a67d.js","sources":["../src/ui/Badge/index.jsx","../src/smart-components/InviteMembers/index.jsx","../src/smart-components/ChannelList/components/utils.js","../src/smart-components/ChannelSettings/components/LeaveChannel.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nexport default function Badge({\n count,\n maxLevel,\n className,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n const maximumNumber = parseInt('9'.repeat((maxLevel > 6) ? 6 : maxLevel), 10);\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n
\n
\n \n
\n
\n );\n}\n\nBadge.propTypes = {\n count: PropTypes.number.isRequired,\n maxLevel: PropTypes.number,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nBadge.defaultProps = {\n maxLevel: 2,\n className: [],\n};\n","import React, { useState, useEffect, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Label, { LabelTypography, LabelColors } from '../../ui/Label';\nimport Modal from '../../ui/Modal';\nimport { Type as ButtonTypes } from '../../ui/Button/type';\nimport UserListItem from '../../ui/UserListItem';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nconst filterUser = (idsToFilter) => (currentId) => idsToFilter.includes(currentId);\n\nconst InviteMembers = (props) => {\n const {\n userQueryCreator,\n closeModal,\n onSubmit,\n submitText,\n titleText,\n idsToFilter,\n swapParams,\n } = props;\n\n const [users, setUsers] = useState([]);\n const [selectedUsers, setSelectedUsers] = useState({});\n const { stringSet } = useContext(LocalizationContext);\n const [usersDataSource, setUsersDataSource] = useState({});\n const selectedCount = Object.keys(selectedUsers).length;\n\n useEffect(() => {\n const applicationUserListQuery = userQueryCreator();\n setUsersDataSource(applicationUserListQuery);\n applicationUserListQuery.next((res, err) => {\n // eslint-disable-next-line no-underscore-dangle\n let users_ = res;\n let error = err;\n if (swapParams) {\n users_ = err;\n error = users_;\n }\n if (error) {\n return;\n }\n setUsers(users_);\n });\n }, []);\n\n return (\n {\n const selectedUserList = Object.keys(selectedUsers);\n if (selectedUserList.length > 0) {\n onSubmit(selectedUserList);\n closeModal();\n }\n }}\n submitText={submitText}\n titleText={titleText}\n type={ButtonTypes.PRIMARY}\n >\n
\n 0) ? LabelColors.PRIMARY : LabelColors.ONBACKGROUND_3}\n type={LabelTypography.CAPTION_1}\n >\n {`${selectedCount} ${stringSet.MODAL__INVITE_MEMBER__SELECTEC}`}\n \n {\n const { hasNext } = usersDataSource;\n const fetchMore = (\n e.target.clientHeight + e.target.scrollTop === e.target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n usersDataSource.next((usersBatch, error) => {\n if (error) {\n return;\n }\n setUsers([\n ...users,\n ...usersBatch,\n ]);\n });\n }\n }}\n >\n {\n users.map((user) => (!filterUser(idsToFilter)(user.userId)) && (\n {\n const modifiedSelectedUsers = {\n ...selectedUsers,\n [event.target.id]: event.target.checked,\n };\n if (!event.target.checked) {\n delete modifiedSelectedUsers[event.target.id];\n }\n setSelectedUsers(modifiedSelectedUsers);\n }\n }\n />\n ))\n }\n
\n \n \n );\n};\n\nInviteMembers.propTypes = {\n idsToFilter: PropTypes.arrayOf(PropTypes.string),\n swapParams: PropTypes.bool,\n userQueryCreator: PropTypes.func.isRequired,\n closeModal: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n submitText: PropTypes.string,\n titleText: PropTypes.string,\n};\nInviteMembers.defaultProps = {\n swapParams: false,\n submitText: 'create',\n titleText: 'Create new channel',\n idsToFilter: [],\n};\n\nexport default InviteMembers;\n","export const createDefaultUserListQuery = ({ sdk, userFilledApplicationUserListQuery = {} }) => {\n const params = sdk.createApplicationUserListQuery();\n if (userFilledApplicationUserListQuery) {\n Object.keys(userFilledApplicationUserListQuery).forEach((key) => {\n params[key] = userFilledApplicationUserListQuery[key];\n });\n }\n return params;\n};\n\nconst getApplicationAttributes = (sdk = {}) => {\n const { appInfo = {} } = sdk;\n const { applicationAttributes = [] } = appInfo;\n return applicationAttributes;\n};\n\nexport const isBroadcastChannelEnabled = (sdk = {}) => {\n const ALLOW_BROADCAST_CHANNEL = 'allow_broadcast_channel';\n const applicationAttributes = getApplicationAttributes(sdk);\n\n if (Array.isArray(applicationAttributes)) {\n return applicationAttributes.includes(ALLOW_BROADCAST_CHANNEL);\n }\n\n return false;\n};\nexport const isSuperGroupChannelEnabled = (sdk = {}) => {\n const ALLOW_SUPER_GROUP_CHANNEL = 'allow_super_group_channel';\n const applicationAttributes = getApplicationAttributes(sdk);\n\n if (Array.isArray(applicationAttributes)) {\n return applicationAttributes.includes(ALLOW_SUPER_GROUP_CHANNEL);\n }\n\n return false;\n};\n\nexport const setChannelType = (params, type) => {\n if (type === 'broadcast') {\n // eslint-disable-next-line no-param-reassign\n params.isBroadcast = true;\n }\n if (type === 'supergroup') {\n // eslint-disable-next-line no-param-reassign\n params.isSuper = true;\n }\n return params;\n};\n\nexport const createChannel = (\n sdk,\n selectedUsers,\n onBeforeCreateChannel,\n userId,\n type = 'group',\n) => new Promise((resolve, reject) => {\n // have custom params\n if (onBeforeCreateChannel) {\n const params = onBeforeCreateChannel(selectedUsers);\n setChannelType(params, type);\n sdk.GroupChannel.createChannel(params, (response, error) => {\n const swapParams = sdk.getErrorFirstCallback();\n let groupChannel = response;\n let err = error;\n if (swapParams) {\n groupChannel = error;\n err = response;\n }\n if (err) {\n reject(err);\n }\n resolve(groupChannel);\n });\n return;\n }\n\n const params = new sdk.GroupChannelParams();\n params.addUserIds(selectedUsers);\n params.isDistinct = false;\n\n if (userId) {\n params.operatorUserIds = [userId];\n }\n setChannelType(params, type);\n // do not have custom params\n sdk.GroupChannel.createChannel(\n params,\n (response, error) => {\n const swapParams = sdk.getErrorFirstCallback();\n let groupChannel = response;\n let err = error;\n if (swapParams) {\n groupChannel = error;\n err = response;\n }\n if (err) {\n reject(err);\n }\n resolve(groupChannel);\n },\n );\n});\n\nexport default createChannel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Modal from '../../../ui/Modal';\n\nconst LeaveChannel = (props) => {\n const {\n onCloseModal,\n onLeaveChannel,\n } = props;\n return (\n \n );\n};\n\nLeaveChannel.propTypes = {\n onCloseModal: PropTypes.func.isRequired,\n onLeaveChannel: PropTypes.func.isRequired,\n};\n\nexport default LeaveChannel;\n"],"names":["Badge","count","maxLevel","className","useContext","LocalizationContext","stringSet","maximumNumber","parseInt","repeat","injectingClassName","Array","isArray","join","LabelTypography","CAPTION_2","LabelColors","ONCONTENT_1","BADGE__OVER","propTypes","PropTypes","number","isRequired","oneOfType","string","arrayOf","defaultProps","filterUser","idsToFilter","currentId","includes","InviteMembers","props","userQueryCreator","closeModal","onSubmit","submitText","titleText","swapParams","useState","users","setUsers","selectedUsers","setSelectedUsers","usersDataSource","setUsersDataSource","selectedCount","Object","keys","length","useEffect","applicationUserListQuery","next","res","err","users_","error","selectedUserList","ButtonTypes","PRIMARY","ONBACKGROUND_3","CAPTION_1","MODAL__INVITE_MEMBER__SELECTEC","e","hasNext","fetchMore","target","clientHeight","scrollTop","scrollHeight","usersBatch","map","user","userId","event","modifiedSelectedUsers","id","checked","bool","func","createDefaultUserListQuery","sdk","userFilledApplicationUserListQuery","params","createApplicationUserListQuery","forEach","key","getApplicationAttributes","appInfo","applicationAttributes","isBroadcastChannelEnabled","ALLOW_BROADCAST_CHANNEL","isSuperGroupChannelEnabled","ALLOW_SUPER_GROUP_CHANNEL","setChannelType","type","isBroadcast","isSuper","createChannel","onBeforeCreateChannel","Promise","resolve","reject","GroupChannel","response","getErrorFirstCallback","groupChannel","GroupChannelParams","addUserIds","isDistinct","operatorUserIds","LeaveChannel","onCloseModal","onLeaveChannel"],"mappings":"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"} \ No newline at end of file diff --git a/LocalizationContext-34316336.js b/LocalizationContext-34316336.js new file mode 100644 index 0000000..9d48893 --- /dev/null +++ b/LocalizationContext-34316336.js @@ -0,0 +1,368 @@ +import React from 'react'; + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; +} + +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) _setPrototypeOf(subClass, superClass); +} + +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} + +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); +} + +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; +} + +function _possibleConstructorReturn(self, call) { + if (call && (typeof call === "object" || typeof call === "function")) { + return call; + } + + return _assertThisInitialized(self); +} + +function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); +} + +function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); +} + +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; + + return arr2; + } +} + +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} + +function _iterableToArray(iter) { + if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); +} + +function _iterableToArrayLimit(arr, i) { + if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { + return; + } + + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} + +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance"); +} + +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); +} + +var SendbirdSdkContext = React.createContext(); + +var withSendbirdContext = function withSendbirdContext(OriginalComponent, mapStoreToProps) { + var ContextAwareComponent = function ContextAwareComponent(props) { + return React.createElement(SendbirdSdkContext.Consumer, null, function (context) { + if (mapStoreToProps && typeof mapStoreToProps !== 'function') { + // eslint-disable-next-line no-console + console.warn('Second parameter to withSendbirdContext must be a pure function'); + } // todo - memoize + + + var mergedProps = mapStoreToProps && typeof mapStoreToProps === 'function' ? _objectSpread2({}, mapStoreToProps(context), {}, props) : _objectSpread2({}, context, {}, props); // eslint-disable-next-line react/jsx-props-no-spreading + + return React.createElement(OriginalComponent, mergedProps); + }); + }; + + var componentName = OriginalComponent.displayName || OriginalComponent.name || 'Component'; + ContextAwareComponent.displayName = "SendbirdAware".concat(componentName); + return ContextAwareComponent; +}; + +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ + +var __assign = function() { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; + +function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +} + +/* eslint-disable no-bitwise */ + +/* eslint-disable eqeqeq */ + +/* eslint-disable no-mixed-operators */ +// https://stackoverflow.com/a/2117523 +// used mainly for dom key generation +var uuidv4 = function uuidv4() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + var r = Math.random() * 16 | 0; + var v = c === 'x' ? r : r & 0x3 | 0x8; + return v.toString(16); + }); +}; + +var getStringSet = function getStringSet() { + var lang = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en'; + var stringSet = { + en: { + OPEN_CHANNEL_SETTINGS__OPERATOR_TITLE: 'Channel Information', + OPEN_CHANNEL_SETTINGS__OPERATOR_URL: 'URL', + OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE: 'Participants', + OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL: 'Delete channel', + OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE: 'Delete this channel', + OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT: 'Delete', + OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE: 'Participants', + OPEN_CHANNEL_SETTINGS__EMPTY_LIST: 'No participants yet', + OPEN_CHANNEL_SETTINGS__SEE_ALL: 'See all participants', + OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE: 'All participants', + OPEN_CHANNEL_SETTINGS__NO_TITLE: '(No title)', + OPEN_CHANNEL_CONVERSATION__TITLE_PARTICIPANTS: 'participants', + TRYING_TO_CONNECT: 'Trying to connect…', + USER_PROFILE__MESSAGE: 'Message', + USER_PROFILE__USER_ID: 'User ID', + EDIT_PROFILE__TITLE: 'My profile', + EDIT_PROFILE__IMAGE_LABEL: 'Profile image', + EDIT_PROFILE__IMAGE_UPLOAD: 'Upload', + EDIT_PROFILE__NICKNAME_LABEL: 'Nickname', + EDIT_PROFILE__NICKNAME_PLACEHOLDER: 'Enter your nickname', + EDIT_PROFILE__USERID_LABEL: 'User ID', + EDIT_PROFILE__THEME_LABEL: 'Dark theme', + CHANNEL_LIST__TITLE: 'Channels', + CHANNEL__MESSAGE_INPUT__PLACE_HOLDER: 'Enter message', + CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__DISABLED: 'Chat is unavailable in this channel', + CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__MUTED: 'Chat is unavailable because you are being muted', + CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE: 'new message(s) since', + CHANNEL__MESSAGE_LIST__NOTIFICATION__ON: 'on', + CHANNEL_SETTING__HEADER__TITLE: 'Channel information', + CHANNEL_SETTING__PROFILE__EDIT: 'Edit', + CHANNEL_SETTING__MEMBERS__TITLE: 'Members', + CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS: 'All members', + CHANNEL_SETTING__MEMBERS__INVITE_MEMBER: 'Invite users', + CHANNEL_SETTING__LEAVE_CHANNEL__TITLE: 'Leave channel', + CHANNEL_SETTING__OPERATORS__TITLE: 'Operators', + CHANNEL_SETTING__OPERATORS__TITLE_ALL: 'All operators', + CHANNEL_SETTING__OPERATORS__TITLE_ADD: 'Add operator', + CHANNEL_SETTING__MUTED_MEMBERS__TITLE: 'Muted members', + CHANNEL_SETTING__MUTED_MEMBERS__TITLE_ALL: 'All muted members', + CHANNEL_SETTING__BANNED_MEMBERS__TITLE: 'Banned members', + CHANNEL_SETTING__BANNED_MEMBERS__TITLE_ALL: 'All banned members', + CHANNEL_SETTING__FREEZE_CHANNEL: 'Freeze Channel', + BUTTON__CANCEL: 'Cancel', + BUTTON__DELETE: 'Delete', + BUTTON__SAVE: 'Save', + BUTTON__CREATE: 'Create', + BUTTON__INVITE: 'Invite', + BUTTON__CLOSE: 'Close', + BADGE__OVER: '+', + MODAL__DELETE_MESSAGE__TITLE: 'Delete this message?', + MODAL__CHANNEL_INFORMATION__TITLE: 'Edit channel information', + MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE: 'Channel image', + MODAL__CHANNEL_INFORMATION__UPLOAD: 'Upload', + MODAL__CHANNEL_INFORMATION__CHANNEL_NAME: 'Channel name', + MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER: 'Enter name', + MODAL__INVITE_MEMBER__TITLE: 'Invite member', + MODAL__INVITE_MEMBER__SELECTEC: 'selected', + MODAL__CREATE_CHANNEL__TITLE: 'New channel', + MODAL__CREATE_CHANNEL__SELECTED: 'selected', + MODAL__USER_LIST__TITLE: 'members', + TYPING_INDICATOR__IS_TYPING: 'is typing...', + TYPING_INDICATOR__AND: 'and', + TYPING_INDICATOR__ARE_TYPING: 'are typing...', + TYPING_INDICATOR__MULTIPLE_TYPING: 'Several people are typing...', + MESSAGE_STATUS__SENDING_FAILED: 'Couldn\'t send message.', + MESSAGE_STATUS__TRY_AGAIN: 'Try again', + MESSAGE_STATUS__OR: 'or', + MESSAGE_STATUS__DELETE: 'delete', + CHANNEL_FROZEN: 'Channel frozen', + MUTED_PL: 'Channel frozen', + PLACE_HOLDER__NO_CHANNEL: 'No channels', + PLACE_HOLDER__WRONG: 'Something went wrong', + PLACE_HOLDER__RETRY_TO_CONNECT: 'Retry', + PLACE_HOLDER__NO_MESSAGES: 'No messages', + NO_TITLE: 'No title', + NO_NAME: '(No name)', + NO_MEMBERS: '(No members)', + TOOLTIP__AND_YOU: ', and you', + TOOLTIP__YOU: 'you', + YOU: ' (You)', + TOOLTIP__UNKOWN_USER: '(no name)', + UNKNOWN__UNKNOWN_MESSAGE_TYPE: '(Unknown message type)', + UNKNOWN__CANNOT_READ_MESSAGE: 'Cannot read this message.', + MESSAGE_EDITED: '(edited)', + CONTEXT_MENU_DROPDOWN__COPY: 'Copy', + CONTEXT_MENU_DROPDOWN__EDIT: 'Edit', + CONTEXT_MENU_DROPDOWN__RESEND: 'Resend', + CONTEXT_MENU_DROPDOWN__DELETE: 'Delete', + SEARCH: 'Search', + SEARCH_IN_CHANNEL: 'Search in Channel', + SEARCH_IN: 'Search in', + SEARCHING: 'Searching for messages...', + NO_SEARCHED_MESSAGE: 'No results found.' + } + }; + return stringSet[lang]; +}; + +var LocalizationContext = React.createContext({ + stringSet: getStringSet('en') +}); + +var LocalizationProvider = function LocalizationProvider(props) { + var children = props.children; + return React.createElement(LocalizationContext.Provider, { + value: props + }, children); +}; + +export { LocalizationProvider as L, SendbirdSdkContext as S, __assign as _, _objectSpread2 as a, _slicedToArray as b, _toConsumableArray as c, __spreadArrays as d, LocalizationContext as e, _inherits as f, getStringSet as g, _createClass as h, _classCallCheck as i, _possibleConstructorReturn as j, _getPrototypeOf as k, _defineProperty as l, _assertThisInitialized as m, uuidv4 as n, uuidv4 as u, withSendbirdContext as w }; +//# sourceMappingURL=LocalizationContext-34316336.js.map diff --git a/LocalizationContext-34316336.js.map b/LocalizationContext-34316336.js.map new file mode 100644 index 0000000..82a9384 --- /dev/null +++ b/LocalizationContext-34316336.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LocalizationContext-34316336.js","sources":["../src/lib/SendbirdSdkContext.jsx","../node_modules/tslib/tslib.es6.js","../src/utils/uuid.ts","../src/ui/Label/stringSet.js","../src/lib/LocalizationContext.tsx"],"sourcesContent":["import React from 'react';\n\nexport const SendbirdSdkContext = React.createContext();\n\nconst withSendbirdContext = (OriginalComponent, mapStoreToProps) => {\n const ContextAwareComponent = (props) => (\n \n {(context) => {\n if (mapStoreToProps && typeof mapStoreToProps !== 'function') {\n // eslint-disable-next-line no-console\n console.warn('Second parameter to withSendbirdContext must be a pure function');\n }\n // todo - memoize\n const mergedProps = (mapStoreToProps && typeof mapStoreToProps === 'function')\n ? { ...mapStoreToProps(context), ...props }\n : { ...context, ...props };\n // eslint-disable-next-line react/jsx-props-no-spreading\n return ;\n }}\n \n );\n\n const componentName = OriginalComponent.displayName || OriginalComponent.name || 'Component';\n ContextAwareComponent.displayName = `SendbirdAware${componentName}`;\n\n return ContextAwareComponent;\n};\n\nexport default withSendbirdContext;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/* eslint-disable no-bitwise */\n/* eslint-disable eqeqeq */\n/* eslint-disable no-mixed-operators */\n// https://stackoverflow.com/a/2117523\n// used mainly for dom key generation\nexport const uuidv4 = (): string => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0;\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n});\n\nexport default uuidv4;\n","const getStringSet = (lang = 'en') => {\n const stringSet = {\n en: {\n OPEN_CHANNEL_SETTINGS__OPERATOR_TITLE: 'Channel Information',\n OPEN_CHANNEL_SETTINGS__OPERATOR_URL: 'URL',\n OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE: 'Participants',\n OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL: 'Delete channel',\n OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE: 'Delete this channel',\n OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT: 'Delete',\n OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE: 'Participants',\n OPEN_CHANNEL_SETTINGS__EMPTY_LIST: 'No participants yet',\n OPEN_CHANNEL_SETTINGS__SEE_ALL: 'See all participants',\n OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE: 'All participants',\n OPEN_CHANNEL_SETTINGS__NO_TITLE: '(No title)',\n OPEN_CHANNEL_CONVERSATION__TITLE_PARTICIPANTS: 'participants',\n TRYING_TO_CONNECT: 'Trying to connect…',\n USER_PROFILE__MESSAGE: 'Message',\n USER_PROFILE__USER_ID: 'User ID',\n EDIT_PROFILE__TITLE: 'My profile',\n EDIT_PROFILE__IMAGE_LABEL: 'Profile image',\n EDIT_PROFILE__IMAGE_UPLOAD: 'Upload',\n EDIT_PROFILE__NICKNAME_LABEL: 'Nickname',\n EDIT_PROFILE__NICKNAME_PLACEHOLDER: 'Enter your nickname',\n EDIT_PROFILE__USERID_LABEL: 'User ID',\n EDIT_PROFILE__THEME_LABEL: 'Dark theme',\n CHANNEL_LIST__TITLE: 'Channels',\n CHANNEL__MESSAGE_INPUT__PLACE_HOLDER: 'Enter message',\n CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__DISABLED: 'Chat is unavailable in this channel',\n CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__MUTED: 'Chat is unavailable because you are being muted',\n CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE: 'new message(s) since',\n CHANNEL__MESSAGE_LIST__NOTIFICATION__ON: 'on',\n CHANNEL_SETTING__HEADER__TITLE: 'Channel information',\n CHANNEL_SETTING__PROFILE__EDIT: 'Edit',\n CHANNEL_SETTING__MEMBERS__TITLE: 'Members',\n CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS: 'All members',\n CHANNEL_SETTING__MEMBERS__INVITE_MEMBER: 'Invite users',\n CHANNEL_SETTING__LEAVE_CHANNEL__TITLE: 'Leave channel',\n CHANNEL_SETTING__OPERATORS__TITLE: 'Operators',\n CHANNEL_SETTING__OPERATORS__TITLE_ALL: 'All operators',\n CHANNEL_SETTING__OPERATORS__TITLE_ADD: 'Add operator',\n CHANNEL_SETTING__MUTED_MEMBERS__TITLE: 'Muted members',\n CHANNEL_SETTING__MUTED_MEMBERS__TITLE_ALL: 'All muted members',\n CHANNEL_SETTING__BANNED_MEMBERS__TITLE: 'Banned members',\n CHANNEL_SETTING__BANNED_MEMBERS__TITLE_ALL: 'All banned members',\n CHANNEL_SETTING__FREEZE_CHANNEL: 'Freeze Channel',\n BUTTON__CANCEL: 'Cancel',\n BUTTON__DELETE: 'Delete',\n BUTTON__SAVE: 'Save',\n BUTTON__CREATE: 'Create',\n BUTTON__INVITE: 'Invite',\n BUTTON__CLOSE: 'Close',\n BADGE__OVER: '+',\n MODAL__DELETE_MESSAGE__TITLE: 'Delete this message?',\n MODAL__CHANNEL_INFORMATION__TITLE: 'Edit channel information',\n MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE: 'Channel image',\n MODAL__CHANNEL_INFORMATION__UPLOAD: 'Upload',\n MODAL__CHANNEL_INFORMATION__CHANNEL_NAME: 'Channel name',\n MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER: 'Enter name',\n MODAL__INVITE_MEMBER__TITLE: 'Invite member',\n MODAL__INVITE_MEMBER__SELECTEC: 'selected',\n MODAL__CREATE_CHANNEL__TITLE: 'New channel',\n MODAL__CREATE_CHANNEL__SELECTED: 'selected',\n MODAL__USER_LIST__TITLE: 'members',\n TYPING_INDICATOR__IS_TYPING: 'is typing...',\n TYPING_INDICATOR__AND: 'and',\n TYPING_INDICATOR__ARE_TYPING: 'are typing...',\n TYPING_INDICATOR__MULTIPLE_TYPING: 'Several people are typing...',\n MESSAGE_STATUS__SENDING_FAILED: 'Couldn\\'t send message.',\n MESSAGE_STATUS__TRY_AGAIN: 'Try again',\n MESSAGE_STATUS__OR: 'or',\n MESSAGE_STATUS__DELETE: 'delete',\n CHANNEL_FROZEN: 'Channel frozen',\n MUTED_PL: 'Channel frozen',\n PLACE_HOLDER__NO_CHANNEL: 'No channels',\n PLACE_HOLDER__WRONG: 'Something went wrong',\n PLACE_HOLDER__RETRY_TO_CONNECT: 'Retry',\n PLACE_HOLDER__NO_MESSAGES: 'No messages',\n NO_TITLE: 'No title',\n NO_NAME: '(No name)',\n NO_MEMBERS: '(No members)',\n TOOLTIP__AND_YOU: ', and you',\n TOOLTIP__YOU: 'you',\n YOU: ' (You)',\n TOOLTIP__UNKOWN_USER: '(no name)',\n UNKNOWN__UNKNOWN_MESSAGE_TYPE: '(Unknown message type)',\n UNKNOWN__CANNOT_READ_MESSAGE: 'Cannot read this message.',\n MESSAGE_EDITED: '(edited)',\n CONTEXT_MENU_DROPDOWN__COPY: 'Copy',\n CONTEXT_MENU_DROPDOWN__EDIT: 'Edit',\n CONTEXT_MENU_DROPDOWN__RESEND: 'Resend',\n CONTEXT_MENU_DROPDOWN__DELETE: 'Delete',\n SEARCH: 'Search',\n SEARCH_IN_CHANNEL: 'Search in Channel',\n SEARCH_IN: 'Search in',\n SEARCHING: 'Searching for messages...',\n NO_SEARCHED_MESSAGE: 'No results found.',\n },\n };\n return stringSet[lang];\n};\n\nexport default getStringSet;\n","import React from 'react';\n\nimport getStringSet from '../ui/Label/stringSet';\n\nconst LocalizationContext = React.createContext({\n stringSet: getStringSet('en'),\n});\n\ninterface LocalizationProviderProps {\n stringSet: Record;\n children: React.Component;\n}\n\nconst LocalizationProvider = (props: LocalizationProviderProps): React.ReactNode => {\n const { children } = props;\n return (\n \n {children}\n \n );\n};\n\nexport { LocalizationContext, LocalizationProvider };\n"],"names":["SendbirdSdkContext","React","createContext","withSendbirdContext","OriginalComponent","mapStoreToProps","ContextAwareComponent","props","context","console","warn","mergedProps","componentName","displayName","name","uuidv4","replace","c","r","Math","random","v","toString","getStringSet","lang","stringSet","en","OPEN_CHANNEL_SETTINGS__OPERATOR_TITLE","OPEN_CHANNEL_SETTINGS__OPERATOR_URL","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","OPEN_CHANNEL_SETTINGS__SEE_ALL","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","OPEN_CHANNEL_SETTINGS__NO_TITLE","OPEN_CHANNEL_CONVERSATION__TITLE_PARTICIPANTS","TRYING_TO_CONNECT","USER_PROFILE__MESSAGE","USER_PROFILE__USER_ID","EDIT_PROFILE__TITLE","EDIT_PROFILE__IMAGE_LABEL","EDIT_PROFILE__IMAGE_UPLOAD","EDIT_PROFILE__NICKNAME_LABEL","EDIT_PROFILE__NICKNAME_PLACEHOLDER","EDIT_PROFILE__USERID_LABEL","EDIT_PROFILE__THEME_LABEL","CHANNEL_LIST__TITLE","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__DISABLED","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__MUTED","CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE","CHANNEL__MESSAGE_LIST__NOTIFICATION__ON","CHANNEL_SETTING__HEADER__TITLE","CHANNEL_SETTING__PROFILE__EDIT","CHANNEL_SETTING__MEMBERS__TITLE","CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS","CHANNEL_SETTING__MEMBERS__INVITE_MEMBER","CHANNEL_SETTING__LEAVE_CHANNEL__TITLE","CHANNEL_SETTING__OPERATORS__TITLE","CHANNEL_SETTING__OPERATORS__TITLE_ALL","CHANNEL_SETTING__OPERATORS__TITLE_ADD","CHANNEL_SETTING__MUTED_MEMBERS__TITLE","CHANNEL_SETTING__MUTED_MEMBERS__TITLE_ALL","CHANNEL_SETTING__BANNED_MEMBERS__TITLE","CHANNEL_SETTING__BANNED_MEMBERS__TITLE_ALL","CHANNEL_SETTING__FREEZE_CHANNEL","BUTTON__CANCEL","BUTTON__DELETE","BUTTON__SAVE","BUTTON__CREATE","BUTTON__INVITE","BUTTON__CLOSE","BADGE__OVER","MODAL__DELETE_MESSAGE__TITLE","MODAL__CHANNEL_INFORMATION__TITLE","MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE","MODAL__CHANNEL_INFORMATION__UPLOAD","MODAL__CHANNEL_INFORMATION__CHANNEL_NAME","MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER","MODAL__INVITE_MEMBER__TITLE","MODAL__INVITE_MEMBER__SELECTEC","MODAL__CREATE_CHANNEL__TITLE","MODAL__CREATE_CHANNEL__SELECTED","MODAL__USER_LIST__TITLE","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","MESSAGE_STATUS__SENDING_FAILED","MESSAGE_STATUS__TRY_AGAIN","MESSAGE_STATUS__OR","MESSAGE_STATUS__DELETE","CHANNEL_FROZEN","MUTED_PL","PLACE_HOLDER__NO_CHANNEL","PLACE_HOLDER__WRONG","PLACE_HOLDER__RETRY_TO_CONNECT","PLACE_HOLDER__NO_MESSAGES","NO_TITLE","NO_NAME","NO_MEMBERS","TOOLTIP__AND_YOU","TOOLTIP__YOU","YOU","TOOLTIP__UNKOWN_USER","UNKNOWN__UNKNOWN_MESSAGE_TYPE","UNKNOWN__CANNOT_READ_MESSAGE","MESSAGE_EDITED","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","SEARCH","SEARCH_IN_CHANNEL","SEARCH_IN","SEARCHING","NO_SEARCHED_MESSAGE","LocalizationContext","LocalizationProvider","children"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEaA,kBAAkB,GAAGC,KAAK,CAACC,aAAN;;AAElC,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,iBAAD,EAAoBC,eAApB,EAAwC;AAClE,MAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,KAAD;AAAA,WAC5B,oBAAC,kBAAD,CAAoB,QAApB,QACG,UAACC,OAAD,EAAa;AACZ,UAAIH,eAAe,IAAI,OAAOA,eAAP,KAA2B,UAAlD,EAA8D;AAC5D;AACAI,QAAAA,OAAO,CAACC,IAAR,CAAa,iEAAb;AACD,OAJW;;;AAMZ,UAAMC,WAAW,GAAIN,eAAe,IAAI,OAAOA,eAAP,KAA2B,UAA/C,sBACXA,eAAe,CAACG,OAAD,CADJ,MACkBD,KADlB,uBAEXC,OAFW,MAECD,KAFD,CAApB,CANY;;AAUZ,aAAO,oBAAC,iBAAD,EAAuBI,WAAvB,CAAP;AACD,KAZH,CAD4B;AAAA,GAA9B;;AAiBA,MAAMC,aAAa,GAAGR,iBAAiB,CAACS,WAAlB,IAAiCT,iBAAiB,CAACU,IAAnD,IAA2D,WAAjF;AACAR,EAAAA,qBAAqB,CAACO,WAAtB,0BAAoDD,aAApD;AAEA,SAAON,qBAAP;AACD,CAtBD;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,AAcA;AACA,AAAU,IAAC,QAAQ,GAAG,WAAW;AACjC,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAE;AACrD,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC7D,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7B,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,SAAS;AACT,QAAQ,OAAO,CAAC,CAAC;AACjB,MAAK;AACL,IAAI,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC3C,EAAC;AACD,AAgHA;AACA,AAAO,SAAS,cAAc,GAAG;AACjC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACxF,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;AACpD,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;AACzE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,IAAI,OAAO,CAAC,CAAC;AACb,CAAC;;AC9JD;;AACA;;AACA;AACA;AACA;AACA,IAAaS,MAAM,GAAG,SAATA,MAAS;AAAc,SAAA,uCAAuCC,OAAvC,CAA+C,OAA/C,EAAwD,UAACC,CAAD;AAC1F,QAAMC,CAAC,GAAGC,IAAI,CAACC,MAAL,KAAgB,EAAhB,GAAqB,CAA/B;AACA,QAAMC,CAAC,GAAGJ,CAAC,KAAK,GAAN,GAAYC,CAAZ,GAAiBA,CAAC,GAAG,GAAJ,GAAU,GAArC;AACA,WAAOG,CAAC,CAACC,QAAF,CAAW,EAAX,CAAP;AACD,GAJmC,CAAA;AAIlC,CAJK;;ACLP,IAAMC,YAAY,GAAG,SAAfA,YAAe,GAAiB;AAAA,MAAhBC,IAAgB,uEAAT,IAAS;AACpC,MAAMC,SAAS,GAAG;AAChBC,IAAAA,EAAE,EAAE;AACFC,MAAAA,qCAAqC,EAAE,qBADrC;AAEFC,MAAAA,mCAAmC,EAAE,KAFnC;AAGFC,MAAAA,mDAAmD,EAAE,cAHnD;AAIFC,MAAAA,2CAA2C,EAAE,gBAJ3C;AAKFC,MAAAA,2CAA2C,EAAE,qBAL3C;AAMFC,MAAAA,4CAA4C,EAAE,QAN5C;AAOFC,MAAAA,yCAAyC,EAAE,cAPzC;AAQFC,MAAAA,iCAAiC,EAAE,qBARjC;AASFC,MAAAA,8BAA8B,EAAE,sBAT9B;AAUFC,MAAAA,6CAA6C,EAAE,kBAV7C;AAWFC,MAAAA,+BAA+B,EAAE,YAX/B;AAYFC,MAAAA,6CAA6C,EAAE,cAZ7C;AAaFC,MAAAA,iBAAiB,EAAE,oBAbjB;AAcFC,MAAAA,qBAAqB,EAAE,SAdrB;AAeFC,MAAAA,qBAAqB,EAAE,SAfrB;AAgBFC,MAAAA,mBAAmB,EAAE,YAhBnB;AAiBFC,MAAAA,yBAAyB,EAAE,eAjBzB;AAkBFC,MAAAA,0BAA0B,EAAE,QAlB1B;AAmBFC,MAAAA,4BAA4B,EAAE,UAnB5B;AAoBFC,MAAAA,kCAAkC,EAAE,qBApBlC;AAqBFC,MAAAA,0BAA0B,EAAE,SArB1B;AAsBFC,MAAAA,yBAAyB,EAAE,YAtBzB;AAuBFC,MAAAA,mBAAmB,EAAE,UAvBnB;AAwBFC,MAAAA,oCAAoC,EAAE,eAxBpC;AAyBFC,MAAAA,8CAA8C,EAAE,qCAzB9C;AA0BFC,MAAAA,2CAA2C,EAAE,iDA1B3C;AA2BFC,MAAAA,gDAAgD,EAAE,sBA3BhD;AA4BFC,MAAAA,uCAAuC,EAAE,IA5BvC;AA6BFC,MAAAA,8BAA8B,EAAE,qBA7B9B;AA8BFC,MAAAA,8BAA8B,EAAE,MA9B9B;AA+BFC,MAAAA,+BAA+B,EAAE,SA/B/B;AAgCFC,MAAAA,yCAAyC,EAAE,aAhCzC;AAiCFC,MAAAA,uCAAuC,EAAE,cAjCvC;AAkCFC,MAAAA,qCAAqC,EAAE,eAlCrC;AAmCFC,MAAAA,iCAAiC,EAAE,WAnCjC;AAoCFC,MAAAA,qCAAqC,EAAE,eApCrC;AAqCFC,MAAAA,qCAAqC,EAAE,cArCrC;AAsCFC,MAAAA,qCAAqC,EAAE,eAtCrC;AAuCFC,MAAAA,yCAAyC,EAAE,mBAvCzC;AAwCFC,MAAAA,sCAAsC,EAAE,gBAxCtC;AAyCFC,MAAAA,0CAA0C,EAAE,oBAzC1C;AA0CFC,MAAAA,+BAA+B,EAAE,gBA1C/B;AA2CFC,MAAAA,cAAc,EAAE,QA3Cd;AA4CFC,MAAAA,cAAc,EAAE,QA5Cd;AA6CFC,MAAAA,YAAY,EAAE,MA7CZ;AA8CFC,MAAAA,cAAc,EAAE,QA9Cd;AA+CFC,MAAAA,cAAc,EAAE,QA/Cd;AAgDFC,MAAAA,aAAa,EAAE,OAhDb;AAiDFC,MAAAA,WAAW,EAAE,GAjDX;AAkDFC,MAAAA,4BAA4B,EAAE,sBAlD5B;AAmDFC,MAAAA,iCAAiC,EAAE,0BAnDjC;AAoDFC,MAAAA,yCAAyC,EAAE,eApDzC;AAqDFC,MAAAA,kCAAkC,EAAE,QArDlC;AAsDFC,MAAAA,wCAAwC,EAAE,cAtDxC;AAuDFC,MAAAA,+CAA+C,EAAE,YAvD/C;AAwDFC,MAAAA,2BAA2B,EAAE,eAxD3B;AAyDFC,MAAAA,8BAA8B,EAAE,UAzD9B;AA0DFC,MAAAA,4BAA4B,EAAE,aA1D5B;AA2DFC,MAAAA,+BAA+B,EAAE,UA3D/B;AA4DFC,MAAAA,uBAAuB,EAAE,SA5DvB;AA6DFC,MAAAA,2BAA2B,EAAE,cA7D3B;AA8DFC,MAAAA,qBAAqB,EAAE,KA9DrB;AA+DFC,MAAAA,4BAA4B,EAAE,eA/D5B;AAgEFC,MAAAA,iCAAiC,EAAE,8BAhEjC;AAiEFC,MAAAA,8BAA8B,EAAE,yBAjE9B;AAkEFC,MAAAA,yBAAyB,EAAE,WAlEzB;AAmEFC,MAAAA,kBAAkB,EAAE,IAnElB;AAoEFC,MAAAA,sBAAsB,EAAE,QApEtB;AAqEFC,MAAAA,cAAc,EAAE,gBArEd;AAsEFC,MAAAA,QAAQ,EAAE,gBAtER;AAuEFC,MAAAA,wBAAwB,EAAE,aAvExB;AAwEFC,MAAAA,mBAAmB,EAAE,sBAxEnB;AAyEFC,MAAAA,8BAA8B,EAAE,OAzE9B;AA0EFC,MAAAA,yBAAyB,EAAE,aA1EzB;AA2EFC,MAAAA,QAAQ,EAAE,UA3ER;AA4EFC,MAAAA,OAAO,EAAE,WA5EP;AA6EFC,MAAAA,UAAU,EAAE,cA7EV;AA8EFC,MAAAA,gBAAgB,EAAE,WA9EhB;AA+EFC,MAAAA,YAAY,EAAE,KA/EZ;AAgFFC,MAAAA,GAAG,EAAE,QAhFH;AAiFFC,MAAAA,oBAAoB,EAAE,WAjFpB;AAkFFC,MAAAA,6BAA6B,EAAE,wBAlF7B;AAmFFC,MAAAA,4BAA4B,EAAE,2BAnF5B;AAoFFC,MAAAA,cAAc,EAAE,UApFd;AAqFFC,MAAAA,2BAA2B,EAAE,MArF3B;AAsFFC,MAAAA,2BAA2B,EAAE,MAtF3B;AAuFFC,MAAAA,6BAA6B,EAAE,QAvF7B;AAwFFC,MAAAA,6BAA6B,EAAE,QAxF7B;AAyFFC,MAAAA,MAAM,EAAE,QAzFN;AA0FFC,MAAAA,iBAAiB,EAAE,mBA1FjB;AA2FFC,MAAAA,SAAS,EAAE,WA3FT;AA4FFC,MAAAA,SAAS,EAAE,2BA5FT;AA6FFC,MAAAA,mBAAmB,EAAE;AA7FnB;AADY,GAAlB;AAiGA,SAAO9F,SAAS,CAACD,IAAD,CAAhB;AACD,CAnGD;;ICIMgG,mBAAmB,GAAGvH,KAAK,CAACC,aAAN,CAAoB;AAC9CuB,EAAAA,SAAS,EAAEF,YAAY,CAAC,IAAD;AADuB,CAApB,CAA5B;;AASA,IAAMkG,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAClH,KAAD;AACnB,MAAAmH,QAAQ,GAAKnH,KAAK,SAAlB;AACR,SACE,oBAAC,mBAAD,CAAqB,QAArB;AAA8B,IAAA,KAAK,EAAEA;AAArC,KACGmH,QADH,CADF;AAKD,CAPD;;;;"} \ No newline at end of file diff --git a/OpenChannel.js b/OpenChannel.js index c30baae..73ae7e5 100644 --- a/OpenChannel.js +++ b/OpenChannel.js @@ -1,10 +1,10 @@ -import { e as LocalizationContext, n as uuidv4, d as __spreadArrays, _ as __assign, w as withSendbirdContext } from './LocalizationContext-5c5b45a0.js'; +import { e as LocalizationContext, n as uuidv4, d as __spreadArrays, _ as __assign, w as withSendbirdContext } from './LocalizationContext-34316336.js'; import React, { useContext, useRef, useState, useMemo, useEffect, useCallback, useReducer } from 'react'; import 'prop-types'; -import { b as Label, c as LabelTypography, L as LabelStringSet, A as Avatar, I as Icon, a as IconTypes, g as IconColors, d as LabelColors, e as IconButton, n as UserProfileContext, C as ContextMenu, h as MenuItems, o as UserProfile, s as Loader, i as MenuItem, r as ImageRenderer, f as TextButton, M as Modal, P as PlaceHolder, t as PlaceHolderTypes, p as SEND_USER_MESSAGE, S as SEND_MESSAGE_START, q as SEND_FILE_MESSAGE, U as UPDATE_USER_MESSAGE, D as DELETE_MESSAGE, l as UserProfileProvider } from './index-c97add1b.js'; +import { c as Label, d as LabelTypography, L as LabelStringSet, A as Avatar, I as Icon, a as IconTypes, b as IconColors, e as LabelColors, f as IconButton, n as UserProfileContext, C as ContextMenu, h as MenuItems, o as UserProfile, s as Loader, i as MenuItem, r as ImageRenderer, g as TextButton, M as Modal, P as PlaceHolder, t as PlaceHolderTypes, p as SEND_USER_MESSAGE, S as SEND_MESSAGE_START, q as SEND_FILE_MESSAGE, U as UPDATE_USER_MESSAGE, D as DELETE_MESSAGE, l as UserProfileProvider } from './index-79d744e1.js'; import format from 'date-fns/format'; import 'react-dom'; -import { M as MessageInput, L as LinkLabel, i as isImage, a as isVideo, D as DateSeparator, F as FileViewer, c as compareIds } from './index-f48d282b.js'; +import { M as MessageInput, L as LinkLabel, i as isImage, a as isVideo, D as DateSeparator, F as FileViewer, c as compareIds } from './index-5b744991.js'; import isSameDay from 'date-fns/isSameDay'; var getMessageCreatedAt = function getMessageCreatedAt(message) { @@ -170,13 +170,18 @@ function OpenchannelConversationHeader(_a) { alt: "channel cover image", width: "32px", height: "32px" - }) : React.createElement(Icon, { + }) : React.createElement("div", { className: COMPONENT_CLASS_NAME + "__left__cover-image--icon", - width: "32px", - height: "32px", - type: IconTypes.AVATAR_NO_IMAGE, - fillColor: IconColors.BACKGROUND_3 - }), React.createElement(Label, { + style: { + width: 32, + height: 32 + } + }, React.createElement(Icon, { + type: IconTypes.CHANNELS, + fillColor: IconColors.CONTENT, + width: "18px", + height: "18px" + })), React.createElement(Label, { className: COMPONENT_CLASS_NAME + "__left__title", type: LabelTypography.H_2, color: LabelColors.ONBACKGROUND_1 @@ -437,7 +442,7 @@ function OpenchannelUserMessage(_a) { height: "16px" }, React.createElement(Icon, { className: "sendbird-openchannel-user-message__right__tail__pending", - type: IconTypes.SPINNER_LARGE, + type: IconTypes.SPINNER, fillColor: IconColors.PRIMARY, width: "16px", height: "16px" @@ -824,7 +829,7 @@ function OpenchannelOGMessage(_a) { }, React.createElement(Icon, { width: "56px", height: "56px", - type: IconTypes.NO_THUMBNAIL + type: IconTypes.THUMBNAIL_NONE })) }))), (isPending || isFailed) && React.createElement("div", { className: "sendbird-openchannel-og-message__top__right__tail" @@ -835,7 +840,7 @@ function OpenchannelOGMessage(_a) { className: "sendbird-openchannel-og-message__top__right__tail__pending", width: "16px", height: "16px", - type: IconTypes.SPINNER_LARGE, + type: IconTypes.SPINNER, fillColor: IconColors.PRIMARY })), isFailed && React.createElement(Icon, { className: "sendbird-openchannel-og-message__top__right__tail__failed", @@ -1013,7 +1018,7 @@ function OpenchannelThumbnailMessage(_a) { height: "16px" }, React.createElement(Icon, { className: "sendbird-openchannel-thumbnail-message__right__tail__pending", - type: IconTypes.SPINNER_LARGE, + type: IconTypes.SPINNER, fillColor: IconColors.PRIMARY, width: "16px", height: "16px" @@ -1197,7 +1202,7 @@ function OpenchannelFileMessage(_a) { height: "16px" }, React.createElement(Icon, { className: "sendbird-openchannel-file-message__right__tail__pending", - type: IconTypes.SPINNER_LARGE, + type: IconTypes.SPINNER, fillColor: IconColors.PRIMARY, width: "16px", height: "16px" @@ -1329,7 +1334,7 @@ function MessageHoc(_a) { var RenderedMessage = useMemo(function () { if (renderCustomMessage) { - return renderCustomMessage(message, channel); + return renderCustomMessage(message, channel, chainTop, chainBottom); } return null; @@ -1509,11 +1514,11 @@ function OpenchannelConversationScroll(_a, ref) { setShowScrollDownButton(false); } - if (scrollTop === 0) { - if (!hasMore) { - return; - } + if (!hasMore) { + return; + } + if (scrollTop === 0) { var nodes = scrollRef.current.querySelectorAll('.sendbird-msg--scroll-ref'); var first_1 = nodes && nodes[0]; onScroll(function () { @@ -1590,7 +1595,7 @@ function OpenchannelConversationScroll(_a, ref) { }, React.createElement(Icon, { width: "24px", height: "24px", - type: IconTypes.SHEVRON_DOWN, + type: IconTypes.CHEVRON_DOWN, fillColor: IconColors.CONTENT })))); } diff --git a/OpenChannel.js.map b/OpenChannel.js.map index efea43a..7558cb8 100644 --- a/OpenChannel.js.map +++ b/OpenChannel.js.map @@ -1 +1 @@ -{"version":3,"file":"OpenChannel.js","sources":["../src/smart-components/OpenchannelConversation/utils.ts","../src/smart-components/OpenchannelConversation/components/MessageInpuetWrapper.tsx","../src/smart-components/OpenchannelConversation/components/FrozenNotification.tsx","../src/ui/OpenchannelConversationHeader/index.tsx","../src/ui/OpenchannelUserMessage/utils.ts","../src/utils/openChannelUtils.ts","../src/ui/OpenchannelUserMessage/index.tsx","../src/ui/OpenChannelAdminMessage/index.tsx","../src/ui/OpenchannelOGMessage/utils.ts","../src/ui/OpenchannelOGMessage/index.tsx","../src/ui/OpenchannelThumbnailMessage/utils.ts","../src/ui/OpenchannelThumbnailMessage/index.tsx","../src/ui/OpenchannelFileMessage/utils.ts","../src/ui/OpenchannelFileMessage/index.tsx","../src/smart-components/OpenchannelConversation/components/RemoveMessageModal.tsx","../src/smart-components/OpenchannelConversation/components/types.ts","../src/smart-components/OpenchannelConversation/components/MessageHOC.tsx","../src/smart-components/OpenchannelConversation/components/OpenchannelConversationScroll.tsx","../src/smart-components/OpenchannelConversation/dux/actionTypes.ts","../src/smart-components/OpenchannelConversation/dux/reducers.ts","../src/smart-components/OpenchannelConversation/dux/initialState.ts","../src/smart-components/OpenchannelConversation/hooks/useSetChannel.ts","../src/smart-components/OpenchannelConversation/hooks/useHandleChannelEvents.ts","../src/smart-components/OpenchannelConversation/hooks/useInitialMessagesFetch.ts","../src/smart-components/OpenchannelConversation/hooks/useScrollCallback.ts","../src/smart-components/OpenchannelConversation/hooks/useCheckScrollBottom.ts","../src/smart-components/OpenchannelConversation/hooks/useSendMessageCallback.ts","../src/smart-components/OpenchannelConversation/hooks/useFileUploadCallback.ts","../src/smart-components/OpenchannelConversation/hooks/useUpdateMessageCallback.ts","../src/smart-components/OpenchannelConversation/hooks/useDeleteMessageCallback.ts","../src/smart-components/OpenchannelConversation/hooks/useResendMessageCallback.ts","../src/smart-components/OpenchannelConversation/index.tsx"],"sourcesContent":["import format from 'date-fns/format';\nimport Sendbird from 'sendbird';\nimport SendbirdUIKit from '../../index';\n\nexport const getMessageCreatedAt = (message: SendbirdUIKit.EveryMessage): string => format(message.createdAt, 'p');\n\nexport const scrollIntoLast = (intialTry = 0): void => {\n const MAX_TRIES = 10;\n const currentTry = intialTry;\n if (currentTry > MAX_TRIES) {\n return;\n }\n try {\n const scrollDOM = document.querySelector('.sendbird-openchannel-conversation-scroll');\n // eslint-disable-next-line no-multi-assign\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1);\n }, 500 * currentTry);\n }\n};\n\n\nexport const isSameGroup = (\n message: SendbirdUIKit.EveryMessage,\n comparingMessage: SendbirdUIKit.EveryMessage,\n): boolean => {\n if (\n !message\n || !comparingMessage\n || message.messageType === 'admin'\n || comparingMessage.messageType === 'admin'\n || !message.sender\n || !comparingMessage.sender\n || !message.createdAt\n || !comparingMessage.createdAt\n || !message.sender.userId\n || !comparingMessage.sender.userId\n ) {\n return false\n }\n\n return (\n message.sendingStatus === comparingMessage.sendingStatus\n && message.sender.userId === comparingMessage.sender.userId\n && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)\n );\n};\n\nexport const compareMessagesForGrouping = (\n prevMessage: SendbirdUIKit.EveryMessage,\n currMessage: SendbirdUIKit.EveryMessage,\n nextMessage: SendbirdUIKit.EveryMessage,\n): [boolean, boolean] => (\n [\n isSameGroup(prevMessage, currMessage),\n isSameGroup(currMessage, nextMessage),\n ]\n );\n\nexport const kFormatter = (num: number): string => {\n if (Math.abs(num) > 999999) {\n return `${(Math.abs(num) / 1000000).toFixed(1)}M`;\n }\n\n if (Math.abs(num) > 999) {\n return `${(Math.abs(num) / 1000).toFixed(1)}K`;\n }\n\n return `${num}`;\n};\n\nexport const isOperator = (openChannel: Sendbird.OpenChannel, userId: string): boolean => {\n const { operators } = openChannel;\n if (operators.map(operator => operator.userId).indexOf(userId) < 0) {\n return false;\n }\n return true;\n};\n\nexport const isDisabledBecauseFrozen = (openChannel: Sendbird.OpenChannel, userId: string): boolean => {\n const { isFrozen } = openChannel;\n return isFrozen && !isOperator(openChannel, userId);\n};\n\nexport const isDisabledBecauseMuted = (mutedParticipantIds: string[], userId: string): boolean => {\n return mutedParticipantIds.indexOf(userId) < 0;\n};\n\nexport const fetchWithListQuery = (\n listQuery: SendbirdUIKit.UserListQuery,\n logger: SendbirdUIKit.Logger,\n eachQueryNextCallback: (users: Sendbird.User[]) => void,\n): void => {\n const fetchList = (query) => {\n const { hasNext } = query;\n if (hasNext) {\n query.next((error, users) => {\n if (!error) {\n eachQueryNextCallback(users);\n fetchList(query);\n } else {\n logger.warning('OpenChannel | FetchUserList failed', error);\n }\n });\n } else {\n logger.info('OpenChannel | FetchUserList finished');\n }\n };\n logger.info('OpenChannel | FetchUserList start', listQuery);\n fetchList(listQuery);\n};\n\nexport const pxToNumber = (px: string | number): number | void => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n","import React, { useContext } from 'react';\nimport Sendbird from 'sendbird';\nimport { RenderMessageInputProps } from '../../../index';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport MessageInput from '../../../ui/MessageInput';\n\ninterface Props {\n channel: Sendbird.OpenChannel;\n user: Sendbird.User;\n disabled: boolean;\n onSendMessage(): void;\n onFileUpload(file_: File): void;\n renderMessageInput?(renderProps: RenderMessageInputProps): JSX.Element;\n}\n\nconst MessageInputWrapper = ({\n channel,\n user,\n disabled,\n onSendMessage,\n onFileUpload,\n renderMessageInput,\n}: Props, ref: React.RefObject): JSX.Element => {\n if (!channel) {\n return;\n }\n\n const { stringSet } = useContext(LocalizationContext);\n\n if (renderMessageInput) {\n return renderMessageInput({ channel, user, disabled });\n }\n\n return (\n
\n \n
\n );\n};\n\nexport default React.forwardRef(MessageInputWrapper);\n","import React, { useContext } from 'react';\n\nimport './frozen-notification.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelTypography } from '../../../ui/Label';\n\nconst FrozenNotification = (): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n \n {stringSet.CHANNEL_FROZEN}\n \n
\n );\n}\n\nexport default FrozenNotification;\n","import React, { ReactElement } from 'react';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport IconButton from '../IconButton';\nimport Label, {\n LabelTypography,\n LabelColors,\n LabelStringSet,\n} from '../Label';\n\nconst COMPONENT_CLASS_NAME = 'sendbird-openchannel-conversation-header';\n\ninterface Props {\n coverImage?: string;\n title?: string;\n subTitle?: string;\n amIOperator?: boolean;\n onActionClick?(): void;\n}\n\nexport default function OpenchannelConversationHeader({\n coverImage,\n title = LabelStringSet.NO_TITLE,\n subTitle = LabelStringSet.NO_TITLE,\n amIOperator,\n onActionClick,\n}: Props): ReactElement {\n return (\n
\n
\n {\n coverImage ? (\n \n ) : (\n \n )\n }\n \n {title}\n \n \n {subTitle}\n \n
\n
\n \n \n \n
\n
\n );\n}\n","export const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport default { copyToClipboard };\n","import Sendbird from 'sendbird';\nimport { ClientUserMessage, ClientFileMessage } from '../index';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded'\n};\n\nexport const getSenderFromMessage = (message: ClientUserMessage | ClientFileMessage): Sendbird.User => {\n return message.sender || message._sender;\n};\n\nexport const checkIsSent = (status: string): boolean => (status === OpenChannelMessageStatusTypes.SUCCEEDED);\nexport const checkIsPending = (status: string): boolean => (status === OpenChannelMessageStatusTypes.PENDING);\nexport const checkIsFailed = (status: string): boolean => (status === OpenChannelMessageStatusTypes.FAILED);\n\nexport const checkIsByMe = (message: ClientFileMessage | ClientUserMessage, userId: string): boolean => (getSenderFromMessage(message).userId === userId);\n\ninterface isFineCopyParams {\n message: ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineCopy = ({ message }: isFineCopyParams): boolean => {\n return (message.messageType === 'user' && message.message.length > 0);\n};\n\ninterface isFineResendParams {\n message: ClientFileMessage | ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineResend = ({ message, status, userId }: isFineResendParams): boolean => {\n return checkIsByMe(message, userId)\n && checkIsFailed(status)\n && message.isResendable\n && message.isResendable();\n};\n\ninterface isFineEditParams {\n message: ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineEdit = ({ message, status, userId }: isFineEditParams): boolean => {\n return checkIsByMe(message, userId) && checkIsSent(status);\n};\n\ninterface isFineDeleteParams {\n message: ClientFileMessage | ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineDelete = ({ message, userId }: isFineDeleteParams): boolean => {\n return checkIsByMe(message, userId);\n};\n\ninterface showMenuTriggerParams {\n message: ClientUserMessage | ClientFileMessage;\n status: string;\n userId: string;\n}\nexport const showMenuTrigger = (props: showMenuTriggerParams): boolean => {\n const { message, status, userId } = props;\n if (message.messageType === 'user') {\n return (\n isFineDelete({ message, status, userId })\n || isFineEdit({ message, status, userId })\n || isFineCopy({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n } else {\n return (\n isFineDelete({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n }\n};\n","import React, {\n useMemo,\n useContext,\n useRef,\n useState,\n ReactElement,\n useEffect,\n} from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { copyToClipboard } from './utils';\nimport uuidv4 from '../../utils/uuid';\nimport { ClientUserMessage } from '../../index';\nimport {\n checkIsByMe,\n checkIsPending,\n checkIsFailed,\n isFineCopy,\n isFineEdit,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientUserMessage;\n userId: string;\n className?: string | string[];\n disabled?: boolean;\n showEdit(bool: boolean): void;\n showRemove(bool: boolean): void;\n resendMessage(message: ClientUserMessage): void;\n chainTop?: boolean;\n chainBottom?: boolean;\n status: string;\n}\n\nexport default function OpenchannelUserMessage({\n message,\n className,\n userId,\n resendMessage,\n disabled,\n showEdit,\n showRemove,\n chainTop,\n status,\n}: Props): ReactElement {\n if (!message || message.messageType !== 'user') {\n return null;\n }\n\n // hooks\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const messageRef = useRef(null);\n const avatarRef = useRef(null);\n const contextMenuRef = useRef(null);\n const [contextStyle, setContextStyle] = useState({});\n\n // consts\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push(`sendbird-openchannel-user-message`);\n const isByMe = checkIsByMe(message, userId);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n const MemoizedMessageText = useMemo(() => () => {\n const splitMessage = message.message.split(/\\r/);\n const matchedMessage = splitMessage.map((word) => (word !== '' ? word :
));\n if (message.updatedAt > 0) {\n matchedMessage.push(\n \n {` ${stringSet.MESSAGE_EDITED} `}\n ,\n );\n }\n return matchedMessage;\n }, [message, message.updatedAt]);\n\n // place context menu top depending clientHeight of message component\n useEffect(() => {\n if (messageRef.current.clientHeight > 36) {\n setContextStyle({ top: '8px ' });\n } else {\n setContextStyle({ top: '2px' });\n }\n }, [window.innerWidth]);\n\n return (\n \n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n \n {MemoizedMessageText()}\n \n
\n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n
\n {\n \n (\n showMenuTrigger({ message: message, userId: userId, status: status}) && (\n {\n toggleDropdown();\n }}\n >\n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineCopy({ message: message, userId: userId, status: status }) && (\n {\n copyToClipboard(message.message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n )\n }\n {\n isFineEdit({ message: message, userId: userId, status: status }) && (\n {\n if (disabled) {\n return;\n }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n \n )\n }\n {\n isFineResend({ message: message, userId: userId, status: status }) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message: message, userId: userId, status: status }) && (\n {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n \n }\n \n );\n}\n","import React, { ReactElement } from 'react';\nimport { ClientAdminMessage } from '../../index';\nimport './index.scss';\n\nimport Label, { LabelColors, LabelTypography } from '../Label';\n\ninterface Props {\n message: ClientAdminMessage;\n className?: string | string[];\n}\n\nexport default function OpenChannelAdminMessage({\n message,\n className,\n}: Props): ReactElement {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-admin-message');\n\n return (\n
\n \n {message.message || ''}\n \n
\n );\n}\n","import Sendbird from 'sendbird';\n\nexport const URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const createUrlTester = (regexp: RegExp) => (text: string): boolean => regexp.test(text);\nexport const checkOGIsEnalbed = (message: Sendbird.UserMessage): boolean => {\n const { ogMetaData } = message;\n if (!ogMetaData) {\n return false;\n }\n const { url } = ogMetaData;\n if (!url) {\n return false;\n }\n return true;\n};\n","import React, { useState, useContext, useMemo, useRef, useEffect } from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport LinkLabel from '../LinkLabel';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport uuidv4 from '../../utils/uuid';\nimport { copyToClipboard } from '../OpenchannelUserMessage/utils';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { checkOGIsEnalbed, createUrlTester, URL_REG } from './utils';\nimport { ClientUserMessage } from '../../index';\nimport {\n checkIsByMe,\n checkIsPending,\n checkIsFailed,\n isFineCopy,\n isFineEdit,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientUserMessage;\n className?: string | string[];\n disabled?: boolean;\n showEdit(bool: boolean): void;\n showRemove(bool: boolean): void;\n resendMessage(message: ClientUserMessage): void;\n chainTop?: boolean;\n chainBottom?: boolean;\n status: string;\n userId: string;\n}\n\nexport default function OpenchannelOGMessage({\n message,\n className,\n disabled,\n showEdit,\n showRemove,\n resendMessage,\n chainTop,\n status,\n userId,\n}: Props): JSX.Element {\n if (!message || message.messageType !== 'user') {\n return null;\n }\n\n const { ogMetaData } = message;\n const { defaultImage } = ogMetaData;\n\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const [contextStyle, setContextStyle] = useState({});\n const messageComponentRef = useRef(null);\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n\n const isUrl = createUrlTester(URL_REG);\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-og-message');\n const isByMe = checkIsByMe(message, userId);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n const MemoizedMessageText = useMemo(() => () => {\n const wordClassName = 'sendbird-openchannel-og-message--word';\n const splitMessage = message.message.split(' ');\n const matchedMessage = splitMessage\n .map((word) => (\n isUrl(word)\n ? (\n \n {word}\n \n )\n : (\n \n {word}\n \n )\n ));\n\n if (message.updatedAt > 0) {\n matchedMessage.push(\n \n {stringSet.MESSAGE_EDITED}\n ,\n );\n }\n\n return matchedMessage;\n }, [message, message.updatedAt]);\n\n const openLink = () => {\n if (checkOGIsEnalbed(message)) {\n const { url } = ogMetaData;\n window.open(url);\n }\n };\n\n // place conxt menu top depending clientHeight of message component\n useEffect(() => {\n if (messageComponentRef.current.clientHeight > 36) {\n setContextStyle({ top: '8px ' });\n } else {\n setContextStyle({ top: '2px' });\n }\n }, [window.innerWidth]);\n\n return (\n \n \n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n \n {MemoizedMessageText()}\n \n
\n
\n {\n \n (\n showMenuTrigger({ message: message, userId: userId, status: status }) && (\n {\n toggleDropdown();\n }}\n >\n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineCopy({ message, userId, status }) && (\n {\n copyToClipboard(message.message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n )\n }\n {\n isFineEdit({ message, userId, status }) && (\n {\n if (disabled) {\n return;\n }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n \n )\n }\n {\n isFineResend({ message, userId, status }) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n \n }\n \n
\n
\n {\n ogMetaData.url && (\n \n {ogMetaData.url}\n \n )\n }\n {\n ogMetaData.title && (\n \n {\n ogMetaData.title\n }\n \n )\n }\n {\n ogMetaData.description && (\n \n {ogMetaData.description}\n \n )\n }\n {\n ogMetaData.url && (\n \n {\n defaultImage && (\n \n \n
\n )}\n />\n )\n }\n
\n )\n }\n \n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n \n \n );\n}\n","export const SUPPORTING_TYPES = {\n IMAGE: 'IMAGE',\n VIDEO: 'VIDEO',\n UNSUPPORTED: 'UNSUPPORTED',\n};\n\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n};\n\nexport const getSupportingFileType = (type: string): string => {\n if (SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.IMAGE;\n }\n if (SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.VIDEO;\n }\n return SUPPORTING_TYPES.UNSUPPORTED;\n}\n","import React, { useContext, useRef } from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\nimport { SUPPORTING_TYPES, getSupportingFileType } from './utils';\nimport { ClientFileMessage } from '../../index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport {\n checkIsByMe,\n checkIsSent,\n checkIsPending,\n checkIsFailed,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientFileMessage;\n className?: string | string[];\n disabled: boolean;\n userId: string;\n status: string;\n chainTop: boolean;\n chainBottom: boolean;\n onClick(bool: boolean): void,\n showRemove(bool: boolean): void,\n resendMessage(message: ClientFileMessage): void;\n}\n\nexport default function OpenchannelThumbnailMessage({\n message,\n className,\n disabled,\n userId,\n status,\n chainTop,\n onClick,\n showRemove,\n resendMessage,\n}: Props): JSX.Element {\n const {\n type,\n url,\n localUrl,\n thumbnails,\n } = message;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-thumbnail-message');\n const isByMe = checkIsByMe(message, userId);\n const isMessageSent = checkIsSent(status);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n return (\n
\n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n onKeyDown={() => {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n tabIndex={0}\n role=\"button\"\n >\n
\n {\n {\n [SUPPORTING_TYPES.VIDEO]: (\n (url || localUrl)\n ? (\n
\n {\n (thumbnailUrl)\n ? (\n \n )\n : (\n \n \n \n )\n }\n \n
\n )\n : (\n \n )\n ),\n [SUPPORTING_TYPES.IMAGE]: (\n (url || localUrl)\n ? (\n \n )\n : (\n \n )\n ),\n [SUPPORTING_TYPES.UNSUPPORTED]: (\n \n ),\n }[getSupportingFileType(type)]\n }\n
\n
\n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n
\n \n (\n showMenuTrigger({ message, userId, status }) && (\n \n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineResend({ message, userId, status }) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n
\n \n );\n}\n","import { IconTypes } from '../Icon';\n\nexport const checkFileType = (fileUrl: string): string => {\n let result = null;\n const imageFile = /(\\.gif|\\.jpg|\\.jpeg|\\.txt|\\.pdf)$/i;\n const audioFile = /(\\.mp3)$/i;\n if (imageFile.test(fileUrl)) {\n result = IconTypes.FILE_DOCUMENT;\n } else if (audioFile.test(fileUrl)) {\n result = IconTypes.FILE_AUDIO;\n }\n return result;\n}\n\nexport const truncate = (fullStr:string, strLen: number): string => {\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n","import React, { useContext, useRef } from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport TextButton from '../TextButton';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { checkFileType, truncate } from './utils';\nimport { ClientFileMessage } from '../../index';\nimport {\n checkIsByMe,\n checkIsPending,\n checkIsFailed,\n isFineDelete,\n isFineResend,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientFileMessage;\n className?: string | string[];\n userId: string;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n status: string;\n\n showRemove(bool: boolean): void;\n resendMessage(message: ClientFileMessage): void;\n}\n\nexport default function OpenchannelFileMessage({\n message,\n className,\n userId,\n disabled,\n chainTop,\n status,\n showRemove,\n resendMessage,\n}: Props): JSX.Element {\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n\n const openFileUrl = () => { window.open(message.url); };\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-file-message');\n const isByMe = checkIsByMe(message, userId);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n return (\n \n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n {\n checkFileType(message.url) && (\n \n )\n }\n \n \n {truncate(message.name || message.url, 40)}\n \n \n
\n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n
\n \n {\n (\n showMenuTrigger({ message, userId, status }) && (\n \n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineResend({ message, userId, status }) && (\n {\n if (disabled) { return; }\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n }\n \n \n );\n}\n","import React, { useContext } from 'react'\nimport { ClientFileMessage, ClientUserMessage } from '../../..'\nimport Modal from '../../../ui/Modal';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n onCloseModal(): void;\n onDeleteMessage(message: ClientUserMessage | ClientFileMessage, callback?: () => void): void;\n}\n\nexport default function RemoveMessageModal({\n onCloseModal,\n onDeleteMessage,\n}: Props): JSX.Element {\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n \n );\n}\n","import { EveryMessage } from '../../..';\nimport { isImage, isVideo } from '../../../ui/FileViewer/types';\n\nexport const MessageTypes = {\n ADMIN: 'ADMIN',\n USER: 'USER',\n FILE: 'FILE',\n THUMBNAIL: 'THUMBNAIL',\n OG: 'OG',\n UNKNOWN: 'UNKNOWN',\n};\n\nexport const SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport const getMessageType = (message: EveryMessage): string => {\n if ((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user') {\n return (message.ogMetaData)\n ? MessageTypes.OG\n : MessageTypes.USER;\n }\n if (message.isAdminMessage && message.isAdminMessage()) {\n return MessageTypes.ADMIN;\n }\n if (message.messageType === 'file') {\n return (isImage(message.type) || isVideo(message.type))\n ? MessageTypes.THUMBNAIL\n : MessageTypes.FILE;\n }\n return MessageTypes.UNKNOWN;\n};\n\nexport default {\n MessageTypes,\n SendingMessageStatus,\n getMessageType,\n};\n","import React, {\n useState,\n useRef,\n ReactElement,\n useMemo,\n} from 'react';\n\nimport format from 'date-fns/format';\nimport {\n ClientFileMessage,\n ClientUserMessage,\n EveryMessage,\n RenderCustomMessage,\n} from '../../../index';\n\nimport OpenChannelUserMessage from '../../../ui/OpenchannelUserMessage';\nimport OpenChannelAdminMessage from '../../../ui/OpenChannelAdminMessage';\nimport OpenChannelOGMessage from '../../../ui/OpenchannelOGMessage';\nimport OpenChannelThumbnailMessage from '../../../ui/OpenchannelThumbnailMessage';\nimport OpenChannelFileMessage from '../../../ui/OpenchannelFileMessage';\n// import UnknownMessage from '../../../ui/UnknownMessage';\n\nimport DateSeparator from '../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport MessageInput from '../../../ui/MessageInput';\nimport FileViewer from '../../../ui/FileViewer';\n\nimport RemoveMessageModal from './RemoveMessageModal';\nimport {\n MessageTypes,\n SendingMessageStatus,\n getMessageType,\n} from './types';\nimport { OpenChannel } from 'sendbird';\n\ninterface Props {\n message: EveryMessage;\n userId: string;\n disabled: boolean;\n editDisabled: boolean;\n hasSeperator: boolean;\n channel: OpenChannel;\n renderCustomMessage?: RenderCustomMessage,\n deleteMessage(message: ClientUserMessage | ClientFileMessage, callback?: () => void): void;\n updateMessage(messageId: number, text: string, callback?: () => void): void;\n resendMessage(failedMessage: ClientUserMessage | ClientFileMessage): void;\n status?: string;\n chainTop: boolean;\n chainBottom: boolean;\n}\n\nexport default function MessageHoc({\n message,\n userId,\n disabled,\n editDisabled,\n hasSeperator,\n channel,\n renderCustomMessage,\n deleteMessage,\n updateMessage,\n resendMessage,\n status,\n chainTop,\n chainBottom,\n}: Props): ReactElement {\n let sender: SendBird.User = null;\n if (message.messageType !== 'admin') {\n sender = message.sender;\n }\n\n const RenderedMessage = useMemo(() => {\n if (renderCustomMessage) {\n return renderCustomMessage(message, channel);\n }\n return null;\n }, [message, renderCustomMessage]);\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const editMessageInputRef = useRef(null);\n\n let isByMe = false;\n\n if (sender && message.messageType !== 'admin') {\n // pending and failed messages are by me\n isByMe = (userId === sender.userId)\n || (message.requestState === SendingMessageStatus.PENDING)\n || (message.requestState === SendingMessageStatus.FAILED);\n }\n\n if(RenderedMessage) {\n return (\n
\n \n
\n );\n }\n\n if (message.messageType === 'user' && showEdit) {\n return (\n { setShowEdit(false); }}\n value={message.message}\n />\n );\n }\n\n return (\n
\n {/* date-seperator */}\n {\n hasSeperator && (\n \n \n \n )\n }\n {/* Message */}\n {\n {\n [MessageTypes.ADMIN]: (() => {\n if (message.messageType === 'admin') {\n return (\n \n )\n }\n })(),\n [MessageTypes.FILE]: (() => {\n if (message.messageType === 'file') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.OG]: (() => {\n if (message.messageType === 'user') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.THUMBNAIL]: (() => {\n if (message.messageType === 'file') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.USER]: (() => {\n if (message.messageType === 'user') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.UNKNOWN]: (() => {\n return;\n // return (\n // \n // );\n })(),\n }[getMessageType(message)]\n }\n {/* Modal */}\n {\n showRemove && (\n setShowRemove(false)}\n onDeleteMessage={() => {\n if (message.messageType !== 'admin') {\n deleteMessage(message);\n }\n }}\n />\n )\n }\n {\n (showFileViewer && message.messageType === 'file') && (\n setShowFileViewer(false)}\n message={message}\n onDelete={() => deleteMessage(message)}\n isByMe={isByMe}\n />\n )\n }\n {/* {\n !((message.isFileMessage && message.isFileMessage()) || message.messageType === 'file')\n && !(message.isAdminMessage && message.isAdminMessage())\n && !(((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user'))\n && !(showFileViewer)\n && (\n \n )\n } */}\n
\n );\n}\n","import React, { ReactElement, useRef, useState, useMemo } from 'react';\nimport isSameDay from 'date-fns/isSameDay';\nimport {\n ClientFileMessage,\n ClientUserMessage,\n EveryMessage,\n RenderCustomMessage,\n} from '../../../index';\nimport MessageHoc from './MessageHOC';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\n\nimport PlaceHolder, { PlaceHolderTypes } from '../../../ui/PlaceHolder';\nimport './openchannel-conversation-scroll.scss';\nimport { compareMessagesForGrouping } from '../utils';\n\ninterface Props {\n openchannel: SendBird.OpenChannel;\n user: SendBird.User;\n allMessages: EveryMessage[];\n useMessageGrouping: boolean;\n isOnline: boolean;\n hasMore: boolean;\n renderCustomMessage?: RenderCustomMessage;\n onScroll(callback?: () => void): void;\n updateMessage(messageId: number, text: string, callback?: () => void): void;\n deleteMessage(message: ClientUserMessage | ClientFileMessage, callback?: () => void): void;\n resendMessage(failedMessage: ClientUserMessage | ClientFileMessage): void;\n}\n\nfunction OpenchannelConversationScroll(\n {\n useMessageGrouping = true,\n openchannel,\n user,\n allMessages,\n isOnline = true,\n hasMore,\n onScroll,\n renderCustomMessage,\n updateMessage,\n deleteMessage,\n resendMessage,\n }: Props,\n ref: React.RefObject,\n): ReactElement {\n const scrollRef = ref || useRef(null);\n const [showScrollDownButton, setShowScrollDownButton] = useState(false);\n\n const handleOnScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n } = element;\n if (\n (scrollHeight > scrollTop + clientHeight)\n && (window.navigator.userAgent.indexOf('MSIE ') < 0) // don't show button in IE\n ) {\n setShowScrollDownButton(true);\n } else {\n setShowScrollDownButton(false);\n }\n\n if (scrollTop === 0) {\n if (!hasMore) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll('.sendbird-msg--scroll-ref');\n const first = nodes && nodes[0];\n onScroll(() => {\n try {\n first.scrollIntoView();\n } catch (error) { }\n });\n }\n };\n\n const scrollToBottom = () => {\n if (scrollRef && scrollRef.current) {\n scrollRef.current.scrollTo(0, scrollRef.current.scrollHeight);\n setShowScrollDownButton(false);\n }\n };\n\n const hasMessage = useMemo(() => {\n return allMessages.length > 0;\n }, [allMessages.length]);\n\n return (\n \n
\n
\n
\n {\n hasMessage\n ? (\n allMessages.map((message, index) => {\n let status: string;\n\n if (message.messageType !== 'admin') {\n status = message.sendingStatus;\n }\n\n const previousMessage = allMessages[index - 1];\n const nextMessage = allMessages[index - 1];\n\n const previousMessageCreatedAt = previousMessage && previousMessage.createdAt;\n const currentCreatedAt = message.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeperator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n\n const [chainTop, chainBottom] = useMessageGrouping\n ? compareMessagesForGrouping(previousMessage, message, nextMessage)\n : [false, false];\n return (\n \n )\n })\n )\n : (\n \n )\n }\n
\n {\n showScrollDownButton && (\n \n \n
\n )\n }\n
\n \n );\n}\n\nexport default React.forwardRef(OpenchannelConversationScroll);\n","export const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';\nexport const RESET_MESSAGES = 'RESET_MESSAGES';\nexport const GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START';\nexport const GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS';\nexport const GET_PREV_MESSAGES_FAIL = 'GET_PREV_MESSAGES_FAIL';\nexport const SENDING_MESSAGE_FAILED = 'SENDING_MESSAGE_FAILED';\nexport const SENDING_MESSAGE_SUCCEEDED = 'SENDING_MESSAGE_SUCCEEDED';\nexport const SENDING_MESSAGE_START = 'SENDING_MESSAGE_START';\nexport const RESENDING_MESSAGE_START = 'RESENDING_MESSAGE_START';\nexport const FETCH_PARTICIPANT_LIST = 'FETCH_PARTICIPANT_LIST';\nexport const FETCH_BANNED_USER_LIST = 'FETCH_BANNED_USER_LIST';\nexport const FETCH_MUTED_USER_LIST= 'FETCH_MUTED_USER_LIST';\n\n// event handlers\nexport const ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';\nexport const ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';\nexport const ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';\nexport const ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';\nexport const ON_OPERATOR_UPDATED = 'ON_OPERATOR_UPDATED';\nexport const ON_USER_ENTERED = 'ON_USER_ENTERED';\nexport const ON_USER_EXITED = 'ON_USER_EXITED';\nexport const ON_USER_MUTED = 'ON_USER_MUTED';\nexport const ON_USER_UNMUTED = 'ON_USER_UNMUTED';\nexport const ON_USER_BANNED = 'ON_USER_BANNED';\nexport const ON_USER_UNBANNED = 'ON_USER_UNBANNED';\nexport const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';\nexport const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';\nexport const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';\nexport const ON_META_DATA_CREATED = 'ON_META_DATA_CREATED';\nexport const ON_META_DATA_UPDATED = 'ON_META_DATA_UPDATED';\nexport const ON_META_DATA_DELETED = 'ON_META_DATA_DELETED';\nexport const ON_META_COUNTERS_CREATED = 'ON_META_COUNTERS_CREATED';\nexport const ON_META_COUNTERS_UPDATED = 'ON_META_COUNTERS_UPDATED';\nexport const ON_META_COUNTERS_DELETED = 'ON_META_COUNTERS_DELETED';\nexport const ON_MENTION_RECEIVED = 'ON_MENTION_RECEIVED';\n","import { State as initialStateInterface } from './initialState';\nimport * as actionTypes from './actionTypes';\n\nimport compareIds from '../../../utils/compareIds.js';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// @ts-ignore: Unreachable code error\ninterface ActionInterface {\n type: string;\n payload?: any;\n}\n\nexport default function reducer(\n state: initialStateInterface,\n action: ActionInterface,\n): initialStateInterface {\n switch (action.type) {\n case actionTypes.RESET_MESSAGES: {\n return {\n ...state,\n allMessages: [],\n };\n }\n\n case actionTypes.SET_CURRENT_CHANNEL: {\n const gottenChannel = action.payload;\n const operators = gottenChannel.operators;\n if (\n !state.isInvalid\n && state.currentOpenChannel\n && state.currentOpenChannel.url\n && (state.currentOpenChannel.url === gottenChannel.url)\n ) {\n return state;\n }\n return {\n ...state,\n currentOpenChannel: gottenChannel,\n isInvalid: false,\n operators: operators,\n participants: operators,\n bannedParticipantIds: [],\n mutedParticipantIds: [],\n };\n }\n case actionTypes.SET_CHANNEL_INVALID: {\n return {\n ...state,\n isInvalid: true,\n };\n }\n case actionTypes.GET_PREV_MESSAGES_START: {\n return {\n ...state,\n loading: true,\n };\n }\n case actionTypes.GET_PREV_MESSAGES_SUCESS:\n case actionTypes.GET_PREV_MESSAGES_FAIL: {\n const isFailed = (action.type === actionTypes.GET_PREV_MESSAGES_FAIL);\n const {\n currentOpenChannel = {},\n messages = [],\n hasMore,\n lastMessageTimestamp,\n } = action.payload;\n const actionChannelUrl = currentOpenChannel.url;\n const receivedMessages = isFailed ? [] : messages;\n const _hasMore = isFailed ? false : hasMore;\n const _lastMessageTimestamp = isFailed ? 0 : lastMessageTimestamp;\n\n const stateChannel = state.currentOpenChannel;\n const stateChannelUrl = stateChannel.url;\n\n if (actionChannelUrl !== stateChannelUrl) {\n return state;\n }\n\n const filteredAllMessages = state.allMessages.filter((message) => (\n !(receivedMessages.find(({ messageId }) => compareIds(messageId, message.messageId)))\n ));\n return {\n ...state,\n loading: false,\n initialized: true,\n hasMore: _hasMore,\n lastMessageTimestamp: _lastMessageTimestamp,\n allMessages: [\n ...receivedMessages,\n ...filteredAllMessages,\n ],\n };\n }\n case actionTypes.SENDING_MESSAGE_START: {\n const {\n message,\n channel,\n } = action.payload;\n if (channel.url !== state.currentOpenChannel.url) {\n return state;\n }\n return {\n ...state,\n allMessages: [\n ...state.allMessages,\n { ...message },\n ],\n };\n }\n case actionTypes.SENDING_MESSAGE_SUCCEEDED: {\n const sentMessage = action.payload;\n const newMessages = state.allMessages.map((m) => (\n compareIds(m.reqId, sentMessage.reqId) ? sentMessage : m\n ));\n return {\n ...state,\n allMessages: newMessages,\n };\n }\n case actionTypes.SENDING_MESSAGE_FAILED: {\n const sentMessage = action.payload;\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, sentMessage.reqId) ? sentMessage : m\n )),\n };\n }\n case actionTypes.RESENDING_MESSAGE_START: {\n const eventedChannel = action.payload.channel;\n const resentMessage = action.payload.message;\n if (eventedChannel.url !== state.currentOpenChannel.url) {\n return state;\n }\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, resentMessage.reqId) ? resentMessage : m\n )),\n };\n }\n case actionTypes.FETCH_PARTICIPANT_LIST: {\n const eventedChannel = action.payload.channel;\n const fetchedParticipantList = action.payload.users;\n if (eventedChannel.url !== state.currentOpenChannel.url) {\n return state;\n }\n return {\n ...state,\n participants: [... state.participants, ...fetchedParticipantList],\n // Should check duplication\n };\n }\n case actionTypes.FETCH_BANNED_USER_LIST: {\n const eventedChannel = action.payload.channel;\n const fetchedBannedUserList = action.payload.users;\n if (\n (eventedChannel.url !== state.currentOpenChannel.url)\n || !(fetchedBannedUserList.every(user => typeof user.userId === 'string'))\n ) {\n return state;\n }\n return {\n ...state,\n bannedParticipantIds: [\n ... state.bannedParticipantIds,\n ...fetchedBannedUserList.map(user => user.userId),\n ],\n // Should check duplication\n };\n }\n case actionTypes.FETCH_MUTED_USER_LIST: {\n const eventedChannel = action.payload.channel;\n const fetchedMutedUserList = action.payload.users;\n if (\n (eventedChannel.url !== state.currentOpenChannel.url)\n || !(fetchedMutedUserList.every(user => typeof user.userId === 'string'))\n ) {\n return state;\n }\n return {\n ...state,\n mutedParticipantIds: [\n ... state.bannedParticipantIds,\n ...fetchedMutedUserList.map(user => user.userId),\n ],\n // Should check duplication\n };\n }\n // events\n case actionTypes.ON_MESSAGE_RECEIVED: {\n const eventedChannel = action.payload.channel;\n const receivedMessage = action.payload.message;\n\n const {\n currentOpenChannel\n } = state;\n\n if (\n !compareIds(eventedChannel.url, currentOpenChannel.url)\n || (\n !(state.allMessages.map(\n (message) => message.messageId).indexOf(receivedMessage.messageId) < 0\n ))\n ) {\n return state;\n }\n\n return {\n ...state,\n allMessages: [...state.allMessages, receivedMessage],\n };\n }\n case actionTypes.ON_MESSAGE_UPDATED: {\n const eventedChannel = action.payload.channel;\n const updatedMessage = action.payload.message;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n allMessages: state.allMessages.map((message) => (\n message.isIdentical(updatedMessage)\n ? updatedMessage\n : message\n )),\n };\n }\n case actionTypes.ON_MESSAGE_DELETED: {\n const eventedChannel = action.payload.channel;\n const deletedMessageId = action.payload.messageId;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n allMessages: state.allMessages.filter((message) => (\n !compareIds(message.messageId, deletedMessageId)\n )),\n };\n }\n case actionTypes.ON_MESSAGE_DELETED_BY_REQ_ID: {\n return {\n ...state,\n allMessages: state.allMessages.filter((m) => (\n !compareIds(m.reqId, action.payload)\n )),\n };\n }\n case actionTypes.ON_OPERATOR_UPDATED: {\n const eventedChannel = action.payload.channel;\n const updatedOperators = action.payload.operators;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n currentOpenChannel: {\n ...state.currentOpenChannel,\n operators: updatedOperators,\n },\n operators: updatedOperators,\n };\n }\n case actionTypes.ON_USER_ENTERED: {\n const eventedChannel = action.payload.channel;\n const enteredUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n participants: [...state.participants, enteredUser],\n };\n }\n case actionTypes.ON_USER_EXITED: {\n const eventedChannel = action.payload.channel;\n const exitedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n participants: state.participants.filter((participant) => (\n !compareIds(participant.userId, exitedUser.userId)\n )),\n };\n }\n case actionTypes.ON_USER_MUTED: {\n const eventedChannel = action.payload.channel;\n const mutedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.mutedParticipantIds.indexOf(mutedUser.userId) >= 0\n ) {\n return state;\n }\n return {\n ...state,\n mutedParticipantIds: [...state.mutedParticipantIds, mutedUser.userId],\n };\n }\n case actionTypes.ON_USER_UNMUTED: {\n const eventedChannel = action.payload.channel;\n const unmutedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.mutedParticipantIds.indexOf(unmutedUser.userId) < 0\n ) {\n return state;\n }\n return {\n ...state,\n mutedParticipantIds: state.mutedParticipantIds.filter(userId => userId !== unmutedUser.userId),\n };\n }\n case actionTypes.ON_USER_BANNED: {\n const eventedChannel = action.payload.channel;\n const bannedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.bannedParticipantIds.indexOf(bannedUser.userId) >= 0\n ) {\n return state;\n }\n return {\n ...state,\n bannedParticipantIds: [...state.bannedParticipantIds, bannedUser.userId],\n };\n }\n case actionTypes.ON_USER_UNBANNED: {\n const eventedChannel = action.payload.channel;\n const unbannedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.bannedParticipantIds.indexOf(unbannedUser.userId) < 0\n ) {\n return state;\n }\n return {\n ...state,\n bannedParticipantIds: state.bannedParticipantIds.filter(userId => userId !== unbannedUser.userId),\n };\n }\n case actionTypes.ON_CHANNEL_FROZEN: {\n const frozenChannel = action.payload;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== frozenChannel.url)) {\n return state;\n }\n return {\n ...state,\n frozen: true,\n };\n }\n case actionTypes.ON_CHANNEL_UNFROZEN: {\n const unfrozenChannel = action.payload;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== unfrozenChannel.url)) {\n return state;\n }\n return {\n ...state,\n frozen: false,\n };\n }\n case actionTypes.ON_CHANNEL_CHANGED: {\n const changedChannel = action.payload;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== changedChannel.url)) {\n return state;\n }\n return {\n ...state,\n currentOpenChannel: changedChannel,\n };\n }\n case actionTypes.ON_META_DATA_CREATED: {\n // const eventedChannel = action.payload.channel;\n // const createdMetaData = action.payload.metaData;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_DATA_UPDATED: {\n // const eventedChannel = action.payload.channel;\n // const updatedMetaData = action.payload.metaData;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_DATA_DELETED: {\n // const eventedChannel = action.payload.channel;\n // const deletedMetaDataKeys = action.payload.metaDataKeys;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_COUNTERS_CREATED: {\n // const eventedChannel = action.payload.channel;\n // const createdMetaCounter = action.payload.metaCounter;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_COUNTERS_UPDATED: {\n // const eventedChannel = action.payload.channel;\n // const updatedMetaCounter = action.payload.metaCounter;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_COUNTERS_DELETED: {\n // const eventedChannel = action.payload.channel;\n // const deletedMetaCounterKeys = action.payload.metaCounterKeys;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_MENTION_RECEIVED: {\n // const eventedChannel = action.payload.channel;\n // const mentionedMessage = action.payload.message;\n // return {\n // ...state\n // };\n return state;\n }\n default:\n return state;\n }\n}\n","import Sendbird from 'sendbird';\nimport { EveryMessage } from '../../../index';\n\nexport interface State {\n allMessages: EveryMessage[];\n loading: boolean;\n initialized: boolean;\n currentOpenChannel: Sendbird.OpenChannel;\n isInvalid: boolean;\n hasMore: boolean;\n lastMessageTimestamp: number;\n frozen: boolean;\n operators: Sendbird.User[];\n participants: Sendbird.User[];\n bannedParticipantIds: (string|number)[];\n mutedParticipantIds: (string|number)[];\n}\n\nconst initialState: State = {\n allMessages: [],\n loading: false,\n initialized: false,\n currentOpenChannel: null,\n isInvalid: false,\n hasMore: false,\n lastMessageTimestamp: 0,\n frozen: false,\n operators: [],\n participants: [],\n bannedParticipantIds: [],\n mutedParticipantIds: [],\n};\n\nexport default initialState;\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\ninterface MainProps {\n channelUrl: string;\n sdkInit: boolean;\n fetchingParticipants: boolean;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useSetChannel(\n { channelUrl, sdkInit, fetchingParticipants }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): void {\n useEffect(() => {\n if (channelUrl && sdkInit && sdk && sdk.OpenChannel) {\n logger.info('OpenChannel | useSetChannel fetching channel', channelUrl);\n sdk.OpenChannel.getChannel(channelUrl, (openChannel, error) => {\n if (!error) {\n logger.info('OpenChannel | useSetChannel fetched channel', openChannel);\n messagesDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: openChannel,\n });\n openChannel.enter((_, error) => {\n if (error) {\n logger.warning('OpenChannel | useSetChannel enter channel failed', { channelUrl, error });\n messagesDispatcher({\n type: messageActionTypes.SET_CHANNEL_INVALID,\n payload: null,\n });\n }\n if (fetchingParticipants) {\n // fetch participants, banned participantIds, muted participantIds\n const participantListQuery = openChannel.createParticipantListQuery();\n const bannedParticipantListQuery = openChannel.createBannedUserListQuery();\n const mutedParticipantListQuery = openChannel.createMutedUserListQuery();\n utils.fetchWithListQuery(\n participantListQuery,\n logger,\n (users) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_PARTICIPANT_LIST,\n payload: {\n channel: openChannel,\n users,\n },\n });\n },\n );\n utils.fetchWithListQuery(\n bannedParticipantListQuery,\n logger,\n (users) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_BANNED_USER_LIST,\n payload: {\n channel: openChannel,\n users,\n },\n });\n },\n );\n utils.fetchWithListQuery(\n mutedParticipantListQuery,\n logger,\n (users) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_MUTED_USER_LIST,\n payload: {\n channel: openChannel,\n users,\n },\n });\n },\n );\n }\n });\n } else {\n logger.warning('OpenChannel | useSetChannel fetching channel failed', { channelUrl, error });\n messagesDispatcher({\n type: messageActionTypes.SET_CHANNEL_INVALID,\n payload: null,\n });\n }\n });\n // .then((openChannel) => {\n // logger.info('OpenChannel | useSetChannel fetched channel', openChannel);\n // messagesDispatcher({\n // type: messageActionTypes.SET_CURRENT_CHANNEL,\n // payload: openChannel,\n // });\n // openChannel.enter((_, error) => {\n // if (error) {\n // logger.warning('OpenChannel | useSetChannel enter channel failed', { channelUrl, error });\n // messagesDispatcher({\n // type: messageActionTypes.SET_CHANNEL_INVALID,\n // });\n // }\n // if (fetchingParticipants) {\n // // fetch participants, banned participantIds, muted participantIds\n // const participantListQuery = openChannel.createParticipantListQuery();\n // const bannedParticipantListQuery = openChannel.createBannedUserListQuery();\n // const mutedParticipantListQuery = openChannel.createMutedUserListQuery();\n // utils.fetchWithListQuery(\n // participantListQuery,\n // logger,\n // (users) => {\n // messagesDispatcher({\n // type: messageActionTypes.FETCH_PARTICIPANT_LIST,\n // payload: {\n // channel: openChannel,\n // users,\n // },\n // });\n // },\n // );\n // utils.fetchWithListQuery(\n // bannedParticipantListQuery,\n // logger,\n // (users) => {\n // messagesDispatcher({\n // type: messageActionTypes.FETCH_BANNED_USER_LIST,\n // payload: {\n // channel: openChannel,\n // users,\n // },\n // });\n // },\n // );\n // utils.fetchWithListQuery(\n // mutedParticipantListQuery,\n // logger,\n // (users) => {\n // messagesDispatcher({\n // type: messageActionTypes.FETCH_MUTED_USER_LIST,\n // payload: {\n // channel: openChannel,\n // users,\n // },\n // });\n // },\n // );\n // }\n // });\n // })\n // .catch((error) => {\n // logger.warning('OpenChannel | useSetChannel fetching channel failed', { channelUrl, error });\n // messagesDispatcher({\n // type: messageActionTypes.SET_CHANNEL_INVALID,\n // });\n // });\n }\n }, [channelUrl, sdkInit, fetchingParticipants]);\n}\n\nexport default useSetChannel;\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport uuidv4 from '../../../utils/uuid';\nimport { scrollIntoLast } from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n checkScrollBottom: () => boolean;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useHandleChannelEvents(\n { currentOpenChannel, checkScrollBottom }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): void {\n useEffect(() => {\n const messageReceiverId = uuidv4();\n if (currentOpenChannel && currentOpenChannel.url && sdk && sdk.ChannelHandler) {\n const ChannelHandler = new sdk.ChannelHandler();\n logger.info('OpenChannel | useHandleChannelEvents: Setup evnet handler', messageReceiverId);\n\n ChannelHandler.onMessageReceived = (channel, message) => {\n const scrollToEnd = checkScrollBottom();\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMessageReceived', { channelUrl, message });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_RECEIVED,\n payload: { channel, message },\n });\n if (scrollToEnd) {\n try {\n setTimeout(() => {\n scrollIntoLast();\n });\n } catch (error) {\n logger.warning('OpenChannel | onMessageReceived | scroll to end failed');\n }\n }\n };\n ChannelHandler.onMessageUpdated = (channel, message) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMessageUpdated', { channelUrl, message });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n };\n ChannelHandler.onMessageDeleted = (channel, messageId) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMessageDeleted', { channelUrl, messageId });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: { channel, messageId },\n });\n };\n ChannelHandler.onOperatorUpdated = (channel, operators) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onOperatorUpdated', { channelUrl, operators });\n messagesDispatcher({\n type: messageActionTypes.ON_OPERATOR_UPDATED,\n payload: { channel, operators },\n });\n };\n ChannelHandler.onUserEntered = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserEntered', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_ENTERED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserExited = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserExited', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_EXITED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserMuted = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserMuted', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_MUTED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserUnmuted = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserUnmuted', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_UNMUTED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserBanned = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserBanned', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_BANNED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserUnbanned = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserUnbanned', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_UNBANNED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onChannelFrozen = (channel) => {\n logger.info('OpenChannel | useHandleChannelEvents: onChannelFrozen', channel);\n messagesDispatcher({\n type: messageActionTypes.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n };\n ChannelHandler.onChannelUnfrozen = (channel) => {\n logger.info('OpenChannel | useHandleChannelEvents: onChannelUnfrozen', channel);\n messagesDispatcher({\n type: messageActionTypes.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n };\n ChannelHandler.onChannelChanged = (channel) => {\n logger.info('OpenChannel | useHandleChannelEvents: onChannelChanged', channel);\n messagesDispatcher({\n type: messageActionTypes.ON_CHANNEL_CHANGED,\n payload: channel,\n });\n };\n ChannelHandler.onMetaDataCreated = (channel, metaData) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaDataCreated', { channelUrl, metaData });\n messagesDispatcher({\n type: messageActionTypes.ON_META_DATA_CREATED,\n payload: { channel, metaData },\n });\n };\n ChannelHandler.onMetaDataUpdated = (channel, metaData) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaDataUpdated', { channelUrl, metaData });\n messagesDispatcher({\n type: messageActionTypes.ON_META_DATA_UPDATED,\n payload: { channel, metaData },\n });\n };\n ChannelHandler.onMetaDataDeleted = (channel, metaDataKeys) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaDataDeleted', { channelUrl, metaDataKeys });\n messagesDispatcher({\n type: messageActionTypes.ON_META_DATA_DELETED,\n payload: { channel, metaDataKeys },\n });\n };\n ChannelHandler.onMetaCountersCreated = (channel, metaCounter) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersCreated', { channelUrl, metaCounter });\n messagesDispatcher({\n type: messageActionTypes.ON_META_COUNTERS_CREATED,\n payload: { channel, metaCounter },\n });\n };\n ChannelHandler.onMetaCountersUpdated = (channel, metaCounter) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersUpdated', { channelUrl, metaCounter });\n messagesDispatcher({\n type: messageActionTypes.ON_META_COUNTERS_UPDATED,\n payload: { channel, metaCounter },\n });\n };\n ChannelHandler.onMetaCountersDeleted = (channel, metaCounterKeys) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersDeleted', { channelUrl, metaCounterKeys });\n messagesDispatcher({\n type: messageActionTypes.ON_META_COUNTERS_DELETED,\n payload: { channel, metaCounterKeys },\n });\n };\n ChannelHandler.onMentionReceived = (channel, message) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMentionReceived', { channelUrl, message });\n messagesDispatcher({\n type: messageActionTypes.ON_MENTION_RECEIVED,\n payload: { channel, message },\n });\n };\n\n sdk.addChannelHandler(messageReceiverId, ChannelHandler);\n }\n\n return () => {\n if (sdk && sdk.removeChannelHandler) {\n logger.info('OpenChannel | useHandleChannelEvents: Removing message receiver handler', messageReceiverId);\n sdk.removeChannelHandler(messageReceiverId);\n }\n }\n }, [currentOpenChannel]);\n}\n\nexport default useHandleChannelEvents;\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport { scrollIntoLast } from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n /* eslint-disable @typescript-eslint/no-explicit-any*/\n userFilledMessageListParams?: Record;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useInitialMessagesFetch(\n { currentOpenChannel, userFilledMessageListParams }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): void {\n useEffect(() => {\n logger.info('OpenChannel | useInitialMessagesFetch: Setup started', currentOpenChannel);\n messagesDispatcher({\n type: messageActionTypes.RESET_MESSAGES,\n payload: null,\n });\n\n if (sdk && sdk.MessageListParams && currentOpenChannel && currentOpenChannel.getMessagesByTimestamp) {\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.isInclusive = true;\n messageListParams.includeReplies = false;\n messageListParams.includeReactions = false;\n if (userFilledMessageListParams) {\n Object.keys(userFilledMessageListParams).forEach((key) => {\n messageListParams[key] = userFilledMessageListParams[key];\n });\n logger.info('OpenChannel | useInitialMessagesFetch: Used customizedMessageListParams');\n }\n\n logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages', { currentOpenChannel, messageListParams });\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_START,\n payload: null,\n });\n currentOpenChannel.getMessagesByTimestamp(new Date().getTime(), messageListParams, (messages, error) => {\n if (!error) {\n logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages succeeded', messages);\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimestamp = hasMore ? messages[0].createdAt : null;\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n currentOpenChannel,\n messages,\n hasMore,\n lastMessageTimestamp,\n },\n });\n setTimeout(() => { scrollIntoLast(); });\n } else {\n logger.error('OpenChannel | useInitialMessagesFetch: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_FAIL,\n payload: {\n currentOpenChannel,\n messages: [],\n hasMore: false,\n lastMessageTimestamp: 0,\n },\n });\n }\n });\n }\n }, [currentOpenChannel, userFilledMessageListParams]);\n}\n\nexport default useInitialMessagesFetch;\n","import { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n lastMessageTimestamp: number;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n hasMore: boolean;\n /* eslint-disable @typescript-eslint/no-explicit-any*/\n userFilledMessageListParams?: Record;\n}\ntype CallbackReturn = (callback: () => void) => void;\n\nfunction useScrollCallback(\n { currentOpenChannel, lastMessageTimestamp }: MainProps,\n { sdk, logger, messagesDispatcher, hasMore, userFilledMessageListParams }: ToolProps,\n): CallbackReturn {\n return useCallback((callback) => {\n if (hasMore && sdk && sdk.MessageListParams) {\n logger.info('OpenChannel | useScrollCallback: start');\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.includeReplies = false;\n messageListParams.includeReactions = false;\n\n if (userFilledMessageListParams) {\n Object.keys(userFilledMessageListParams).forEach((key) => {\n messageListParams[key] = userFilledMessageListParams[key];\n });\n logger.info('OpenChannel | useScrollCallback: Used userFilledMessageListParams', userFilledMessageListParams);\n }\n\n logger.info('OpenChannel | useScrollCallback: Fetching messages', { currentOpenChannel, messageListParams });\n\n currentOpenChannel.getMessagesByTimestamp(lastMessageTimestamp || new Date().getTime(), messageListParams, (messages, error) => {\n if (!error) {\n logger.info('OpenChannel | useScrollCallback: Fetching messages succeeded', messages);\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimestamp = hasMore ? messages[0].createdAt : null;\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n currentOpenChannel,\n messages,\n hasMore,\n lastMessageTimestamp,\n }\n });\n setTimeout(() => {\n callback();\n });\n } else {\n logger.error('OpenChannel | useScrollCallback: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_FAIL,\n payload: {\n currentOpenChannel,\n messages: [],\n hasMore: false,\n lastMessageTimestamp: 0,\n }\n });\n }\n });\n }\n }, [currentOpenChannel, lastMessageTimestamp]);\n}\n\nexport default useScrollCallback;\n","import { useCallback } from 'react';\n\ninterface MainProps {\n conversationScrollRef: React.RefObject;\n}\ninterface ToolProps {\n logger: SendbirdUIKit.Logger;\n}\n\nfunction useCheckScrollBottom(\n { conversationScrollRef }: MainProps,\n { logger }: ToolProps,\n): () => boolean {\n return useCallback(() => {\n let isBottom = true;\n if (conversationScrollRef) {\n try {\n const conversationScroll = conversationScrollRef.current;\n isBottom = conversationScroll.scrollHeight <= conversationScroll.scrollTop + conversationScroll.clientHeight;\n } catch(error) {\n logger.error('OpenChannel | useCheckScrollBottom', error);\n }\n }\n return isBottom;\n }, [conversationScrollRef])\n}\n\nexport default useCheckScrollBottom;\n","import Sendbird from 'sendbird';\nimport { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n onBeforeSendUserMessage: (text: string) => Sendbird.UserMessageParams;\n checkScrollBottom: () => boolean;\n messageInputRef: React.RefObject;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useSendMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): () => void {\n return useCallback(() => {\n if (sdk && sdk.UserMessageParams) {\n const text = messageInputRef.current.value;\n const createParamsDefault = (txt: string | number): Sendbird.UserMessageParams => {\n const message = typeof txt === 'string' ? txt.trim() : txt.toString(10).trim();\n const params = new sdk.UserMessageParams();\n params.message = message;\n return params;\n }\n const createCustomParams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';\n if (createCustomParams) {\n logger.info('OpenChannel | useSendMessageCallback: Creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);\n }\n const params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);\n logger.info('OpenChannel | useSendMessageCallback: Sending message has started', params);\n\n const isBottom = checkScrollBottom();\n const pendingMessage = currentOpenChannel.sendUserMessage(params, (message, error) => {\n if (!error) {\n logger.info('OpenChannel | useSendMessageCallback: Sending message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n if (isBottom) {\n setTimeout(() => {\n utils.scrollIntoLast();\n });\n }\n } else {\n logger.warning('OpenChannel | useSendMessageCallback: Sending message failed', error);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: messageActionTypes,\n });\n }\n });\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: {\n message: pendingMessage,\n channel: currentOpenChannel,\n }\n });\n }\n }, [currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef]);\n}\n\nexport default useSendMessageCallback;\n","import Sendbird from 'sendbird';\nimport { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n onBeforeSendFileMessage: (file: File) => Sendbird.FileMessageParams;\n checkScrollBottom: () => boolean;\n imageCompression?: {\n compressionRate?: number,\n resizingWidth?: number | string,\n resizingHeight?: number | string,\n };\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\ntype CallbackReturn = (file: File) => void;\n\nfunction useFileUploadCallback(\n {\n currentOpenChannel,\n checkScrollBottom,\n imageCompression = {},\n onBeforeSendFileMessage,\n }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((file) => {\n if (sdk && sdk.FileMessageParams) {\n const {\n compressionRate,\n resizingWidth,\n resizingHeight,\n } = imageCompression;\n const createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';\n\n const compressibleFileType = (file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg');\n const compressibleRatio = (compressionRate > 0) && (compressionRate < 1);\n // pxToNumber returns null if values are invalid\n const compressibleDiamensions = utils.pxToNumber(resizingWidth)\n || utils.pxToNumber(resizingHeight);\n\n const canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions);\n\n const createParamsDefault = (file_): Sendbird.FileMessageParams => {\n const params = new sdk.FileMessageParams();\n params.file = file_;\n return params;\n };\n\n if (canCompressImage) { // Using image compression\n try {\n const image: HTMLImageElement = document.createElement('img');\n image.src = URL.createObjectURL(file);\n image.onload = () => {\n URL.revokeObjectURL(image.src);\n const canvas = document.createElement('canvas');\n const imageWidth = image.naturalWidth || image.width;\n const imageHeight = image.naturalHeight || image.height;\n let targetWidth = utils.pxToNumber(resizingWidth) || imageWidth;\n let targetHeight = utils.pxToNumber(resizingHeight) || imageHeight;\n\n // In canvas.toBlob(callback, mimeType, qualityArgument)\n // qualityArgument doesnt work\n // so in case compressibleDiamensions are not present, we use ratio\n if (file.type === 'image/png' && !compressibleDiamensions) {\n targetWidth *= compressionRate;\n targetHeight *= compressionRate;\n }\n\n canvas.width = targetWidth;\n canvas.height = targetHeight;\n const context = canvas.getContext('2d');\n context.drawImage(image, 0, 0, targetWidth, targetHeight);\n context.canvas.toBlob(\n (newImageBlob) => {\n const compressedFile = new File([newImageBlob], file.name, { type: file.type });\n if (createCustomParams) {\n logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = onBeforeSendFileMessage ? onBeforeSendFileMessage(compressedFile) : createParamsDefault(compressedFile);\n logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);\n\n const isBottom = checkScrollBottom();\n const pendingMessage = currentOpenChannel.sendFileMessage(\n params,\n (message: SendbirdUIKit.ClientFileMessage, error) => {\n if (!error) {\n logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n if (isBottom) {\n setTimeout(() => {\n utils.scrollIntoLast();\n });\n }\n } else {\n logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', { message, error });\n message.localUrl = URL.createObjectURL(file);\n message.file = file;\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: message,\n });\n }\n },\n );\n\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: {\n message: {\n ...pendingMessage,\n url: URL.createObjectURL(file),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentOpenChannel,\n }\n });\n },\n file.type,\n compressionRate,\n );\n }\n } catch (error) {\n logger.warning('OpenChannel | useFileUploadCallback: Sending file message with image compression failed', error);\n }\n } else { // Not using image compression\n if (createCustomParams) {\n logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = onBeforeSendFileMessage ? onBeforeSendFileMessage(file) : createParamsDefault(file);\n logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);\n\n const isBottom = checkScrollBottom();\n const pendingMessage = currentOpenChannel.sendFileMessage(\n params,\n (message: SendbirdUIKit.ClientFileMessage, error) => {\n if (!error) {\n logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n if (isBottom) {\n setTimeout(() => {\n utils.scrollIntoLast();\n });\n }\n } else {\n logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', { message, error });\n message.localUrl = URL.createObjectURL(file);\n message.file = file;\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: message,\n });\n }\n }\n );\n\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: {\n message: {\n ...pendingMessage,\n url: URL.createObjectURL(file),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentOpenChannel,\n }\n });\n }\n }\n }, [currentOpenChannel, onBeforeSendFileMessage, checkScrollBottom, imageCompression]);\n}\n\nexport default useFileUploadCallback;\n","import Sendbird from 'sendbird';\nimport { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n onBeforeSendUserMessage?: (text) => Sendbird.UserMessageParams;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload :any }) => void;\n}\ntype CallbackReturn = (messageId, text, callback) => void;\n\nfunction useUpdateMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((messageId, text, callback) => {\n const createParamsDefault = (txt) => {\n const params = new sdk.UserMessageParams();\n params.message = txt;\n return params;\n };\n\n if (onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function') {\n logger.info('OpenChannel | useUpdateMessageCallback: Creating params using onBeforeUpdateUserMessage');\n }\n const params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);\n currentOpenChannel.updateUserMessage(messageId, params, (message, error) => {\n if (callback) {\n callback();\n }\n if (!error) {\n logger.info('OpenChannel | useUpdateMessageCallback: Updating message succeeded', { message, params });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: {\n channel: currentOpenChannel,\n message,\n },\n });\n } else {\n logger.warning('OpenChannel | useUpdateMessageCallback: Updating message failed', error);\n }\n });\n }, [currentOpenChannel, onBeforeSendUserMessage]);\n}\n\nexport default useUpdateMessageCallback;\n","import { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n}\ninterface ToolProps {\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\ntype CallbackReturn = (\n message: SendbirdUIKit.ClientUserMessage | SendbirdUIKit.ClientFileMessage,\n callback?: () => void,\n) => void;\n\nfunction useDeleteMessageCallback(\n { currentOpenChannel }: MainProps,\n { logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((message, callback) => {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message', message);\n const { sendingStatus } = message;\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message requestState', sendingStatus);\n\n if (sendingStatus === 'failed' || sendingStatus === 'pending') {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleted message from local', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,\n payload: message.reqId,\n });\n if (callback) {\n callback();\n }\n } else {\n currentOpenChannel.deleteMessage(message, (error) => {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message on server', sendingStatus);\n if (callback) {\n callback();\n }\n if (!error) {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: {\n channel: currentOpenChannel,\n messageId: message.messageId,\n },\n });\n } else {\n logger.warning('OpenChannel | useDeleteMessageCallback: Deleting message failed', error);\n }\n });\n }\n }, [currentOpenChannel]);\n}\n\nexport default useDeleteMessageCallback;\n","import { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n}\ninterface ToolProps {\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\ntype CallbackReturn = (failedMessage: SendbirdUIKit.ClientUserMessage | SendbirdUIKit.ClientFileMessage) => void;\n\nfunction useResendMessageCallback(\n { currentOpenChannel }: MainProps,\n { logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((failedMessage) => {\n logger.info('OpenChannel | useResendMessageCallback: Resending message has started', failedMessage);\n const { messageType, file } = failedMessage;\n if (failedMessage && typeof failedMessage.isResendable === 'function' && failedMessage.isResendable()) {\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESENDING_MESSAGE_START,\n payload: {\n channel: currentOpenChannel,\n message: failedMessage,\n },\n });\n\n // userMessage\n if (messageType === 'user' && failedMessage.messageType === 'user') {\n currentOpenChannel.resendUserMessage(failedMessage, (message, error) => {\n if (!error) {\n logger.info('OpenChannel | useResendMessageCallback: Reseding message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n } else {\n logger.warning('OpenChannel | useResendMessageCallback: Resending message failed', error);\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: failedMessage,\n });\n }\n });\n return;\n }\n\n // fileMessage\n if (messageType === 'file' && failedMessage.messageType === 'file') {\n currentOpenChannel.resendFileMessage(failedMessage, file, (message, error) => {\n if (!error) {\n logger.info('OpenChannel | useResendMessageCallback: Resending file message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n } else {\n logger.warning('OpenChannel | useResendMessageCallback: Resending file message failed', error);\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: failedMessage,\n });\n }\n });\n }\n } else {\n // to alert user on console\n // eslint-disable-next-line no-console\n console.error('OpenChannel | useResendMessageCallback: Message is not resendable');\n logger.warning('OpenChannel | useResendMessageCallback: Message is not resendable', failedMessage);\n }\n }, [currentOpenChannel]);\n}\n\nexport default useResendMessageCallback;\n","import React, {\n useRef,\n useEffect,\n useReducer,\n useContext,\n useMemo,\n} from 'react';\nimport Sendbird from 'sendbird';\nimport * as utils from './utils';\nimport './index.scss';\n\nimport MessageInputWrapper from './components/MessageInpuetWrapper';\nimport FrozenChannelNotification from './components/FrozenNotification';\nimport OpenchannelConversationHeader from '../../ui/OpenchannelConversationHeader';\nimport OpenchannelConversationScroll from './components/OpenchannelConversationScroll';\nimport PlaceHolder, { PlaceHolderTypes } from '../../ui/PlaceHolder';\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\n\nimport { OpenChannelProps } from '../../index';\nimport messagesReducer from './dux/reducers';\nimport messagesInitialState from './dux/initialState';\nimport * as messageActionTypes from './dux/actionTypes';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext.jsx';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { scrollIntoLast } from './utils';\nimport * as topics from '../../lib/pubSub/topics';\n\n// hooks\nimport useSetChannel from './hooks/useSetChannel';\nimport useHandleChannelEvents from './hooks/useHandleChannelEvents';\nimport useInitialMessagesFetch from './hooks/useInitialMessagesFetch';\nimport useScrollCallback from './hooks/useScrollCallback';\nimport useCheckScrollBottom from './hooks/useCheckScrollBottom';\nimport useSendMessageCallback from './hooks/useSendMessageCallback';\nimport useFileUploadCallback from './hooks/useFileUploadCallback';\nimport useUpdateMessageCallback from './hooks/useUpdateMessageCallback';\nimport useDeleteMessageCallback from './hooks/useDeleteMessageCallback';\nimport useResendMessageCallback from './hooks/useResendMessageCallback';\n\nconst COMPONENT_CLASS_NAME = 'sendbird-openchannel-conversation';\n\ninterface Props extends OpenChannelProps {\n stores: {\n sdkStore?: SendbirdUIKit.SdkStore,\n userStore?: {\n user: Sendbird.User,\n },\n };\n config: {\n userId: string,\n isOnline: boolean,\n logger?: SendbirdUIKit.Logger,\n theme?: string,\n /* eslint-disable @typescript-eslint/no-explicit-any*/\n pubSub: any,\n disableUserProfile?: boolean,\n renderUserProfile?(): JSX.Element,\n imageCompression?: {\n compressionRate?: number,\n resizingWidth?: number | string,\n resizingHeight?: number | string,\n },\n };\n}\n\nexport const OpenchannelConversation = (props: Props): JSX.Element => {\n // props\n const {\n useMessageGrouping,\n channelUrl,\n stores,\n config,\n queries = {},\n disableUserProfile,\n fetchingParticipants = false, // We didn't decide to support fetching participant list\n renderCustomMessage,\n renderUserProfile,\n renderChannelTitle,\n renderMessageInput,\n onBeforeSendUserMessage,\n onBeforeSendFileMessage,\n onChatHeaderActionClick\n } = props;\n\n const {\n sdkStore,\n userStore,\n } = stores;\n const {\n userId,\n isOnline,\n logger,\n pubSub,\n imageCompression,\n } = config;\n\n const {\n sdk\n } = sdkStore;\n const {\n user\n } = userStore;\n\n // hook variables\n const [messagesStore, messagesDispatcher] = useReducer(messagesReducer, messagesInitialState);\n const {\n allMessages,\n loading,\n initialized,\n currentOpenChannel,\n isInvalid,\n hasMore,\n lastMessageTimestamp,\n operators,\n bannedParticipantIds,\n mutedParticipantIds,\n } = messagesStore;\n // ref\n const messageInputRef = useRef(null); // useSendMessageCallback\n const conversationScrollRef = useRef(null); // useScrollAfterSendMessageCallback\n const { stringSet } = useContext(LocalizationContext);\n\n // const\n const sdkInit = sdkStore.initialized;\n const userFilledMessageListParams = queries ? queries.messageListParams: null;\n const disabled = !initialized\n || !isOnline\n || utils.isDisabledBecauseFrozen(currentOpenChannel, userId);\n // || utils.isDisabledBecauseMuted(mutedParticipantIds, userId)\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n\n // useMemo\n const amIBanned = useMemo(() => {\n return bannedParticipantIds.indexOf(user.userId) >= 0;\n }, [channelUrl, bannedParticipantIds, user]);\n const amIMuted = useMemo(() => {\n return mutedParticipantIds.indexOf(user.userId) >= 0;\n }, [channelUrl, mutedParticipantIds, user]);\n const amIOperator = useMemo(() => {\n return operators.map(operator => operator.userId).indexOf(user.userId) >= 0;\n }, [channelUrl, operators, user]);\n\n // use hooks\n useSetChannel(\n { channelUrl, sdkInit, fetchingParticipants },\n { sdk, logger, messagesDispatcher },\n );\n const checkScrollBottom = useCheckScrollBottom(\n { conversationScrollRef },\n { logger },\n );\n useHandleChannelEvents(\n { currentOpenChannel, checkScrollBottom },\n { sdk, logger, messagesDispatcher },\n );\n useInitialMessagesFetch(\n { currentOpenChannel, userFilledMessageListParams },\n { sdk, logger, messagesDispatcher },\n );\n const onScroll = useScrollCallback(\n { currentOpenChannel, lastMessageTimestamp },\n { sdk, logger, messagesDispatcher, hasMore, userFilledMessageListParams },\n );\n const handleSendMessage = useSendMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef },\n { sdk, logger, messagesDispatcher },\n );\n const handleFileUpload = useFileUploadCallback(\n { currentOpenChannel, onBeforeSendFileMessage, checkScrollBottom, imageCompression },\n { sdk, logger, messagesDispatcher },\n );\n const updateMessage = useUpdateMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage },\n { sdk, logger, messagesDispatcher },\n );\n const deleteMessage = useDeleteMessageCallback(\n { currentOpenChannel },\n { logger, messagesDispatcher },\n );\n const resendMessage = useResendMessageCallback(\n { currentOpenChannel },\n { logger, messagesDispatcher },\n );\n\n // handle API calls from withSendbird\n useEffect(() => {\n const subscriber = new Map();\n if (!pubSub || !pubSub.subscribe) {\n return;\n }\n subscriber.set(topics.SEND_USER_MESSAGE, pubSub.subscribe(topics.SEND_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel, message } = msg;\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_FILE_MESSAGE, pubSub.subscribe(topics.SEND_FILE_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message, fromSelector } = msg;\n if (fromSelector && channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n }\n }));\n subscriber.set(topics.DELETE_MESSAGE, pubSub.subscribe(topics.DELETE_MESSAGE, (msg) => {\n const { channel, messageId } = msg;\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n }\n }));\n\n return () => {\n if (subscriber) {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n }\n };\n }, [channelUrl, sdkInit]);\n\n if (\n !currentOpenChannel\n || !currentOpenChannel.url\n || amIBanned\n ) {\n return (
);\n }\n if (loading) {\n return (
);\n }\n if (isInvalid) {\n return (
);\n }\n\n return (\n \n {\n renderChannelTitle\n ? renderChannelTitle({\n channel: currentOpenChannel,\n user: user,\n })\n : (\n \n )\n }\n {\n currentOpenChannel.isFrozen && (\n \n )\n }\n \n {\n renderMessageInput\n ? (\n renderMessageInput({\n channel: currentOpenChannel,\n user: user,\n disabled: disabled,\n })\n )\n : (\n \n )\n }\n \n );\n};\n\nexport default withSendbirdContext(OpenchannelConversation);\n"],"names":["getMessageCreatedAt","message","format","createdAt","scrollIntoLast","intialTry","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollTop","scrollHeight","error","setTimeout","isSameGroup","comparingMessage","messageType","sender","userId","sendingStatus","compareMessagesForGrouping","prevMessage","currMessage","nextMessage","kFormatter","num","Math","abs","toFixed","isOperator","openChannel","operators","map","operator","indexOf","isDisabledBecauseFrozen","isFrozen","fetchWithListQuery","listQuery","logger","eachQueryNextCallback","fetchList","query","hasNext","next","users","warning","info","pxToNumber","px","parsed","Number","parseFloat","isNaN","MessageInputWrapper","_a","ref","channel","user","disabled","onSendMessage","onFileUpload","renderMessageInput","stringSet","useContext","LocalizationContext","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__DISABLED","React","forwardRef","FrozenNotification","LabelTypography","CAPTION_2","CHANNEL_FROZEN","COMPONENT_CLASS_NAME","OpenchannelConversationHeader","coverImage","_b","title","LabelStringSet","NO_TITLE","_c","subTitle","amIOperator","onActionClick","IconTypes","AVATAR_NO_IMAGE","IconColors","BACKGROUND_3","H_2","LabelColors","ONBACKGROUND_1","BODY_2","ONBACKGROUND_2","INFO","MEMBERS","PRIMARY","copyToClipboard","text","window","clipboardData","setData","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","OpenChannelMessageStatusTypes","NONE","PENDING","FAILED","CANCELED","SUCCEEDED","getSenderFromMessage","_sender","checkIsSent","status","checkIsPending","checkIsFailed","checkIsByMe","isFineCopy","length","isFineResend","isResendable","isFineEdit","isFineDelete","showMenuTrigger","props","OpenchannelUserMessage","className","resendMessage","showEdit","showRemove","chainTop","UserProfileContext","disableUserProfile","renderUserProfile","messageRef","useRef","avatarRef","contextMenuRef","useState","contextStyle","setContextStyle","injectingClassName","Array","isArray","push","isByMe","isPending","isFailed","MemoizedMessageText","useMemo","splitMessage","split","matchedMessage","word","updatedAt","uuidv4","BODY_1","MESSAGE_EDITED","useEffect","current","clientHeight","top","innerWidth","join","toggleDropdown","profileUrl","closeDropdown","paddingTop","paddingBottom","close","SECONDARY_3","friendName","nickname","CAPTION_3","ONBACKGROUND_3","SPINNER_LARGE","ERROR","MORE","CONTENT_INVERSE","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","OpenChannelAdminMessage","__spreadArrays","URL_REG","createUrlTester","regexp","test","checkOGIsEnalbed","ogMetaData","url","OpenchannelOGMessage","defaultImage","messageComponentRef","isUrl","wordClassName","openLink","open","SUBTITLE_2","description","alt","NO_THUMBNAIL","SUPPORTING_TYPES","IMAGE","VIDEO","UNSUPPORTED","SUPPORTED_MIMES","getSupportingFileType","type","OpenchannelThumbnailMessage","onClick","localUrl","thumbnails","thumbnailUrl","isMessageSent","PLAY","PHOTO","ON_BACKGROUND_2","checkFileType","fileUrl","result","imageFile","audioFile","FILE_DOCUMENT","FILE_AUDIO","truncate","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","ceil","backChars","floor","substr","OpenchannelFileMessage","openFileUrl","name","RemoveMessageModal","onCloseModal","onDeleteMessage","MODAL__DELETE_MESSAGE__TITLE","MessageTypes","ADMIN","USER","FILE","THUMBNAIL","OG","UNKNOWN","SendingMessageStatus","getMessageType","isUserMessage","isAdminMessage","isImage","isVideo","MessageHoc","editDisabled","hasSeperator","renderCustomMessage","deleteMessage","updateMessage","chainBottom","RenderedMessage","setShowEdit","_d","setShowRemove","_e","showFileViewer","setShowFileViewer","editMessageInputRef","requestState","messageId","OpenChannelFileMessage","OpenChannelOGMessage","OpenChannelThumbnailMessage","OpenChannelUserMessage","OpenchannelConversationScroll","useMessageGrouping","openchannel","allMessages","isOnline","hasMore","onScroll","scrollRef","showScrollDownButton","setShowScrollDownButton","handleOnScroll","e","element","target","navigator","userAgent","nodes","querySelectorAll","first_1","scrollIntoView","scrollToBottom","scrollTo","hasMessage","index","previousMessage","previousMessageCreatedAt","currentCreatedAt","isSameDay","PlaceHolderTypes","NO_MESSAGES","SHEVRON_DOWN","CONTENT","SET_CURRENT_CHANNEL","SET_CHANNEL_INVALID","RESET_MESSAGES","GET_PREV_MESSAGES_START","GET_PREV_MESSAGES_SUCESS","GET_PREV_MESSAGES_FAIL","SENDING_MESSAGE_FAILED","SENDING_MESSAGE_SUCCEEDED","SENDING_MESSAGE_START","RESENDING_MESSAGE_START","FETCH_PARTICIPANT_LIST","FETCH_BANNED_USER_LIST","FETCH_MUTED_USER_LIST","ON_MESSAGE_RECEIVED","ON_MESSAGE_UPDATED","ON_MESSAGE_DELETED","ON_MESSAGE_DELETED_BY_REQ_ID","ON_OPERATOR_UPDATED","ON_USER_ENTERED","ON_USER_EXITED","ON_USER_MUTED","ON_USER_UNMUTED","ON_USER_BANNED","ON_USER_UNBANNED","ON_CHANNEL_FROZEN","ON_CHANNEL_UNFROZEN","ON_CHANNEL_CHANGED","ON_META_DATA_CREATED","ON_META_DATA_UPDATED","ON_META_DATA_DELETED","ON_META_COUNTERS_CREATED","ON_META_COUNTERS_UPDATED","ON_META_COUNTERS_DELETED","ON_MENTION_RECEIVED","reducer","state","action","actionTypes","gottenChannel","payload","isInvalid","currentOpenChannel","participants","bannedParticipantIds","mutedParticipantIds","loading","messages","lastMessageTimestamp","actionChannelUrl","receivedMessages_1","_hasMore","_lastMessageTimestamp","stateChannel","stateChannelUrl","filteredAllMessages","filter","find","compareIds","initialized","sentMessage_1","newMessages","m","reqId","sentMessage_2","eventedChannel","resentMessage_1","fetchedParticipantList","fetchedBannedUserList","every","fetchedMutedUserList","receivedMessage","updatedMessage_1","currentChannel","isIdentical","deletedMessageId_1","updatedOperators","enteredUser","exitedUser_1","participant","mutedUser","unmutedUser_1","bannedUser","unbannedUser_1","frozenChannel","frozen","unfrozenChannel","changedChannel","initialState","useSetChannel","channelUrl","sdkInit","fetchingParticipants","sdk","messagesDispatcher","OpenChannel","getChannel","messageActionTypes","enter","_","participantListQuery","createParticipantListQuery","bannedParticipantListQuery","createBannedUserListQuery","mutedParticipantListQuery","createMutedUserListQuery","utils","useHandleChannelEvents","checkScrollBottom","messageReceiverId","ChannelHandler","onMessageReceived","scrollToEnd","onMessageUpdated","onMessageDeleted","onOperatorUpdated","onUserEntered","onUserExited","onUserMuted","onUserUnmuted","onUserBanned","onUserUnbanned","onChannelFrozen","onChannelUnfrozen","onChannelChanged","onMetaDataCreated","metaData","onMetaDataUpdated","onMetaDataDeleted","metaDataKeys","onMetaCountersCreated","metaCounter","onMetaCountersUpdated","onMetaCountersDeleted","metaCounterKeys","onMentionReceived","addChannelHandler","removeChannelHandler","useInitialMessagesFetch","userFilledMessageListParams","MessageListParams","getMessagesByTimestamp","messageListParams_1","prevResultSize","isInclusive","includeReplies","includeReactions","Object","keys","forEach","key","messageListParams","Date","getTime","useScrollCallback","useCallback","callback","hasMore_1","lastMessageTimestamp_1","useCheckScrollBottom","conversationScrollRef","isBottom","conversationScroll","useSendMessageCallback","onBeforeSendUserMessage","messageInputRef","UserMessageParams","value","createParamsDefault","txt","trim","toString","params","createCustomParams","isBottom_1","pendingMessage","sendUserMessage","useFileUploadCallback","imageCompression","onBeforeSendFileMessage","file","FileMessageParams","compressionRate_1","resizingWidth_1","resizingHeight_1","createCustomParams_1","compressibleFileType","compressibleRatio","compressibleDiamensions_1","canCompressImage","createParamsDefault_1","file_","image_1","src","URL","createObjectURL","onload","revokeObjectURL","canvas","imageWidth","naturalWidth","width","imageHeight","naturalHeight","height","targetWidth","targetHeight","context","getContext","drawImage","toBlob","newImageBlob","compressedFile","File","sendFileMessage","useUpdateMessageCallback","updateUserMessage","useDeleteMessageCallback","useResendMessageCallback","failedMessage","resendUserMessage","resendFileMessage","console","OpenchannelConversation","stores","config","queries","renderChannelTitle","onChatHeaderActionClick","sdkStore","userStore","pubSub","useReducer","messagesReducer","messagesInitialState","messagesStore","userDefinedDisableUserProfile","userDefinedRenderProfile","amIBanned","amIMuted","handleSendMessage","handleFileUpload","subscriber","Map","subscribe","set","topics","msg","fromSelector","s","remove","NO_CHANNELS","LOADING","WRONG","participantCount","OPEN_CHANNEL_CONVERSATION__TITLE_PARTICIPANTS","coverUrl","FrozenChannelNotification","withSendbirdContext"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"OpenChannel.js","sources":["../src/smart-components/OpenchannelConversation/utils.ts","../src/smart-components/OpenchannelConversation/components/MessageInpuetWrapper.tsx","../src/smart-components/OpenchannelConversation/components/FrozenNotification.tsx","../src/ui/OpenchannelConversationHeader/index.tsx","../src/ui/OpenchannelUserMessage/utils.ts","../src/utils/openChannelUtils.ts","../src/ui/OpenchannelUserMessage/index.tsx","../src/ui/OpenChannelAdminMessage/index.tsx","../src/ui/OpenchannelOGMessage/utils.ts","../src/ui/OpenchannelOGMessage/index.tsx","../src/ui/OpenchannelThumbnailMessage/utils.ts","../src/ui/OpenchannelThumbnailMessage/index.tsx","../src/ui/OpenchannelFileMessage/utils.ts","../src/ui/OpenchannelFileMessage/index.tsx","../src/smart-components/OpenchannelConversation/components/RemoveMessageModal.tsx","../src/smart-components/OpenchannelConversation/components/types.ts","../src/smart-components/OpenchannelConversation/components/MessageHOC.tsx","../src/smart-components/OpenchannelConversation/components/OpenchannelConversationScroll.tsx","../src/smart-components/OpenchannelConversation/dux/actionTypes.ts","../src/smart-components/OpenchannelConversation/dux/reducers.ts","../src/smart-components/OpenchannelConversation/dux/initialState.ts","../src/smart-components/OpenchannelConversation/hooks/useSetChannel.ts","../src/smart-components/OpenchannelConversation/hooks/useHandleChannelEvents.ts","../src/smart-components/OpenchannelConversation/hooks/useInitialMessagesFetch.ts","../src/smart-components/OpenchannelConversation/hooks/useScrollCallback.ts","../src/smart-components/OpenchannelConversation/hooks/useCheckScrollBottom.ts","../src/smart-components/OpenchannelConversation/hooks/useSendMessageCallback.ts","../src/smart-components/OpenchannelConversation/hooks/useFileUploadCallback.ts","../src/smart-components/OpenchannelConversation/hooks/useUpdateMessageCallback.ts","../src/smart-components/OpenchannelConversation/hooks/useDeleteMessageCallback.ts","../src/smart-components/OpenchannelConversation/hooks/useResendMessageCallback.ts","../src/smart-components/OpenchannelConversation/index.tsx"],"sourcesContent":["import format from 'date-fns/format';\nimport Sendbird from 'sendbird';\nimport SendbirdUIKit from '../../index';\n\nexport const getMessageCreatedAt = (message: SendbirdUIKit.EveryMessage): string => format(message.createdAt, 'p');\n\nexport const scrollIntoLast = (intialTry = 0): void => {\n const MAX_TRIES = 10;\n const currentTry = intialTry;\n if (currentTry > MAX_TRIES) {\n return;\n }\n try {\n const scrollDOM = document.querySelector('.sendbird-openchannel-conversation-scroll');\n // eslint-disable-next-line no-multi-assign\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1);\n }, 500 * currentTry);\n }\n};\n\n\nexport const isSameGroup = (\n message: SendbirdUIKit.EveryMessage,\n comparingMessage: SendbirdUIKit.EveryMessage,\n): boolean => {\n if (\n !message\n || !comparingMessage\n || message.messageType === 'admin'\n || comparingMessage.messageType === 'admin'\n || !message.sender\n || !comparingMessage.sender\n || !message.createdAt\n || !comparingMessage.createdAt\n || !message.sender.userId\n || !comparingMessage.sender.userId\n ) {\n return false\n }\n\n return (\n message.sendingStatus === comparingMessage.sendingStatus\n && message.sender.userId === comparingMessage.sender.userId\n && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)\n );\n};\n\nexport const compareMessagesForGrouping = (\n prevMessage: SendbirdUIKit.EveryMessage,\n currMessage: SendbirdUIKit.EveryMessage,\n nextMessage: SendbirdUIKit.EveryMessage,\n): [boolean, boolean] => (\n [\n isSameGroup(prevMessage, currMessage),\n isSameGroup(currMessage, nextMessage),\n ]\n );\n\nexport const kFormatter = (num: number): string => {\n if (Math.abs(num) > 999999) {\n return `${(Math.abs(num) / 1000000).toFixed(1)}M`;\n }\n\n if (Math.abs(num) > 999) {\n return `${(Math.abs(num) / 1000).toFixed(1)}K`;\n }\n\n return `${num}`;\n};\n\nexport const isOperator = (openChannel: Sendbird.OpenChannel, userId: string): boolean => {\n const { operators } = openChannel;\n if (operators.map(operator => operator.userId).indexOf(userId) < 0) {\n return false;\n }\n return true;\n};\n\nexport const isDisabledBecauseFrozen = (openChannel: Sendbird.OpenChannel, userId: string): boolean => {\n const { isFrozen } = openChannel;\n return isFrozen && !isOperator(openChannel, userId);\n};\n\nexport const isDisabledBecauseMuted = (mutedParticipantIds: Array, userId: string): boolean => {\n return mutedParticipantIds.indexOf(userId) < 0;\n};\n\nexport const fetchWithListQuery = (\n listQuery: SendbirdUIKit.UserListQuery,\n logger: SendbirdUIKit.Logger,\n eachQueryNextCallback: (users: Array) => void,\n): void => {\n const fetchList = (query) => {\n const { hasNext } = query;\n if (hasNext) {\n query.next((error, users) => {\n if (!error) {\n eachQueryNextCallback(users);\n fetchList(query);\n } else {\n logger.warning('OpenChannel | FetchUserList failed', error);\n }\n });\n } else {\n logger.info('OpenChannel | FetchUserList finished');\n }\n };\n logger.info('OpenChannel | FetchUserList start', listQuery);\n fetchList(listQuery);\n};\n\nexport const pxToNumber = (px: string | number): number | void => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n","import React, { useContext } from 'react';\nimport Sendbird from 'sendbird';\nimport { RenderOpenChannelMessageInputProps } from '../../../index';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport MessageInput from '../../../ui/MessageInput';\n\ninterface Props {\n channel: Sendbird.OpenChannel;\n user: Sendbird.User;\n disabled: boolean;\n onSendMessage(): void;\n onFileUpload(file_: File): void;\n renderMessageInput?(renderProps: RenderOpenChannelMessageInputProps): JSX.Element;\n}\n\nconst MessageInputWrapper = ({\n channel,\n user,\n disabled,\n onSendMessage,\n onFileUpload,\n renderMessageInput,\n}: Props, ref: React.RefObject): JSX.Element => {\n if (!channel) {\n return;\n }\n\n const { stringSet } = useContext(LocalizationContext);\n\n if (renderMessageInput) {\n return renderMessageInput({ channel, user, disabled });\n }\n\n return (\n
\n \n
\n );\n};\n\nexport default React.forwardRef(MessageInputWrapper);\n","import React, { useContext } from 'react';\n\nimport './frozen-notification.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelTypography } from '../../../ui/Label';\n\nconst FrozenNotification = (): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n \n {stringSet.CHANNEL_FROZEN}\n \n
\n );\n}\n\nexport default FrozenNotification;\n","import React, { ReactElement } from 'react';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport IconButton from '../IconButton';\nimport Label, {\n LabelTypography,\n LabelColors,\n LabelStringSet,\n} from '../Label';\n\nconst COMPONENT_CLASS_NAME = 'sendbird-openchannel-conversation-header';\n\ninterface Props {\n coverImage?: string;\n title?: string;\n subTitle?: string;\n amIOperator?: boolean;\n onActionClick?(): void;\n}\n\nexport default function OpenchannelConversationHeader({\n coverImage,\n title = LabelStringSet.NO_TITLE,\n subTitle = LabelStringSet.NO_TITLE,\n amIOperator,\n onActionClick,\n}: Props): ReactElement {\n return (\n
\n
\n {\n coverImage ? (\n \n ) : (\n \n \n
\n )\n }\n \n {title}\n \n \n {subTitle}\n \n
\n
\n \n \n \n
\n \n );\n}\n","export const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport default { copyToClipboard };\n","import Sendbird from 'sendbird';\nimport { ClientUserMessage, ClientFileMessage } from '../index';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded'\n};\n\nexport const getSenderFromMessage = (message: ClientUserMessage | ClientFileMessage): Sendbird.User => {\n return message.sender || message._sender;\n};\n\nexport const checkIsSent = (status: string): boolean => (status === OpenChannelMessageStatusTypes.SUCCEEDED);\nexport const checkIsPending = (status: string): boolean => (status === OpenChannelMessageStatusTypes.PENDING);\nexport const checkIsFailed = (status: string): boolean => (status === OpenChannelMessageStatusTypes.FAILED);\n\nexport const checkIsByMe = (message: ClientFileMessage | ClientUserMessage, userId: string): boolean => (getSenderFromMessage(message).userId === userId);\n\ninterface isFineCopyParams {\n message: ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineCopy = ({ message }: isFineCopyParams): boolean => {\n return (message.messageType === 'user' && message.message.length > 0);\n};\n\ninterface isFineResendParams {\n message: ClientFileMessage | ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineResend = ({ message, status, userId }: isFineResendParams): boolean => {\n return checkIsByMe(message, userId)\n && checkIsFailed(status)\n && message.isResendable\n && message.isResendable();\n};\n\ninterface isFineEditParams {\n message: ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineEdit = ({ message, status, userId }: isFineEditParams): boolean => {\n return checkIsByMe(message, userId) && checkIsSent(status);\n};\n\ninterface isFineDeleteParams {\n message: ClientFileMessage | ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineDelete = ({ message, userId }: isFineDeleteParams): boolean => {\n return checkIsByMe(message, userId);\n};\n\ninterface showMenuTriggerParams {\n message: ClientUserMessage | ClientFileMessage;\n status: string;\n userId: string;\n}\nexport const showMenuTrigger = (props: showMenuTriggerParams): boolean => {\n const { message, status, userId } = props;\n if (message.messageType === 'user') {\n return (\n isFineDelete({ message, status, userId })\n || isFineEdit({ message, status, userId })\n || isFineCopy({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n } else {\n return (\n isFineDelete({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n }\n};\n","import React, {\n useMemo,\n useContext,\n useRef,\n useState,\n ReactElement,\n useEffect,\n} from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { copyToClipboard } from './utils';\nimport uuidv4 from '../../utils/uuid';\nimport { ClientUserMessage } from '../../index';\nimport {\n checkIsByMe,\n checkIsPending,\n checkIsFailed,\n isFineCopy,\n isFineEdit,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientUserMessage;\n userId: string;\n className?: string | Array;\n disabled?: boolean;\n showEdit(bool: boolean): void;\n showRemove(bool: boolean): void;\n resendMessage(message: ClientUserMessage): void;\n chainTop?: boolean;\n chainBottom?: boolean;\n status: string;\n}\n\nexport default function OpenchannelUserMessage({\n message,\n className,\n userId,\n resendMessage,\n disabled,\n showEdit,\n showRemove,\n chainTop,\n status,\n}: Props): ReactElement {\n if (!message || message.messageType !== 'user') {\n return null;\n }\n\n // hooks\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const messageRef = useRef(null);\n const avatarRef = useRef(null);\n const contextMenuRef = useRef(null);\n const [contextStyle, setContextStyle] = useState({});\n\n // consts\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push(`sendbird-openchannel-user-message`);\n const isByMe = checkIsByMe(message, userId);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n const MemoizedMessageText = useMemo(() => () => {\n const splitMessage = message.message.split(/\\r/);\n const matchedMessage = splitMessage.map((word) => (word !== '' ? word :
));\n if (message.updatedAt > 0) {\n matchedMessage.push(\n \n {` ${stringSet.MESSAGE_EDITED} `}\n ,\n );\n }\n return matchedMessage;\n }, [message, message.updatedAt]);\n\n // place context menu top depending clientHeight of message component\n useEffect(() => {\n if (messageRef.current.clientHeight > 36) {\n setContextStyle({ top: '8px ' });\n } else {\n setContextStyle({ top: '2px' });\n }\n }, [window.innerWidth]);\n\n return (\n \n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n \n {MemoizedMessageText()}\n \n
\n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n
\n {\n \n (\n showMenuTrigger({ message: message, userId: userId, status: status}) && (\n {\n toggleDropdown();\n }}\n >\n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineCopy({ message: message, userId: userId, status: status }) && (\n {\n copyToClipboard(message.message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n )\n }\n {\n isFineEdit({ message: message, userId: userId, status: status }) && (\n {\n if (disabled) {\n return;\n }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n \n )\n }\n {\n isFineResend({ message: message, userId: userId, status: status }) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message: message, userId: userId, status: status }) && (\n {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n \n }\n \n );\n}\n","import React, { ReactElement } from 'react';\nimport { ClientAdminMessage } from '../../index';\nimport './index.scss';\n\nimport Label, { LabelColors, LabelTypography } from '../Label';\n\ninterface Props {\n message: ClientAdminMessage;\n className?: string | Array;\n}\n\nexport default function OpenChannelAdminMessage({\n message,\n className,\n}: Props): ReactElement {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-admin-message');\n\n return (\n
\n \n {message.message || ''}\n \n
\n );\n}\n","import Sendbird from 'sendbird';\n\nexport const URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const createUrlTester = (regexp: RegExp) => (text: string): boolean => regexp.test(text);\nexport const checkOGIsEnalbed = (message: Sendbird.UserMessage): boolean => {\n const { ogMetaData } = message;\n if (!ogMetaData) {\n return false;\n }\n const { url } = ogMetaData;\n if (!url) {\n return false;\n }\n return true;\n};\n","import React, { useState, useContext, useMemo, useRef, useEffect } from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport LinkLabel from '../LinkLabel';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport uuidv4 from '../../utils/uuid';\nimport { copyToClipboard } from '../OpenchannelUserMessage/utils';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { checkOGIsEnalbed, createUrlTester, URL_REG } from './utils';\nimport { ClientUserMessage } from '../../index';\nimport {\n checkIsByMe,\n checkIsPending,\n checkIsFailed,\n isFineCopy,\n isFineEdit,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientUserMessage;\n className?: string | Array;\n disabled?: boolean;\n showEdit(bool: boolean): void;\n showRemove(bool: boolean): void;\n resendMessage(message: ClientUserMessage): void;\n chainTop?: boolean;\n chainBottom?: boolean;\n status: string;\n userId: string;\n}\n\nexport default function OpenchannelOGMessage({\n message,\n className,\n disabled,\n showEdit,\n showRemove,\n resendMessage,\n chainTop,\n status,\n userId,\n}: Props): JSX.Element {\n if (!message || message.messageType !== 'user') {\n return null;\n }\n\n const { ogMetaData } = message;\n const { defaultImage } = ogMetaData;\n\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const [contextStyle, setContextStyle] = useState({});\n const messageComponentRef = useRef(null);\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n\n const isUrl = createUrlTester(URL_REG);\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-og-message');\n const isByMe = checkIsByMe(message, userId);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n const MemoizedMessageText = useMemo(() => () => {\n const wordClassName = 'sendbird-openchannel-og-message--word';\n const splitMessage = message.message.split(' ');\n const matchedMessage = splitMessage\n .map((word) => (\n isUrl(word)\n ? (\n \n {word}\n \n )\n : (\n \n {word}\n \n )\n ));\n\n if (message.updatedAt > 0) {\n matchedMessage.push(\n \n {stringSet.MESSAGE_EDITED}\n ,\n );\n }\n\n return matchedMessage;\n }, [message, message.updatedAt]);\n\n const openLink = () => {\n if (checkOGIsEnalbed(message)) {\n const { url } = ogMetaData;\n window.open(url);\n }\n };\n\n // place conxt menu top depending clientHeight of message component\n useEffect(() => {\n if (messageComponentRef.current.clientHeight > 36) {\n setContextStyle({ top: '8px ' });\n } else {\n setContextStyle({ top: '2px' });\n }\n }, [window.innerWidth]);\n\n return (\n \n \n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n \n {MemoizedMessageText()}\n \n
\n
\n {\n \n (\n showMenuTrigger({ message: message, userId: userId, status: status }) && (\n {\n toggleDropdown();\n }}\n >\n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineCopy({ message, userId, status }) && (\n {\n copyToClipboard(message.message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n )\n }\n {\n isFineEdit({ message, userId, status }) && (\n {\n if (disabled) {\n return;\n }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n \n )\n }\n {\n isFineResend({ message, userId, status }) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n \n }\n \n
\n
\n {\n ogMetaData.url && (\n \n {ogMetaData.url}\n \n )\n }\n {\n ogMetaData.title && (\n \n {\n ogMetaData.title\n }\n \n )\n }\n {\n ogMetaData.description && (\n \n {ogMetaData.description}\n \n )\n }\n {\n ogMetaData.url && (\n \n {\n defaultImage && (\n \n \n
\n )}\n />\n )\n }\n
\n )\n }\n \n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n \n \n );\n}\n","export const SUPPORTING_TYPES = {\n IMAGE: 'IMAGE',\n VIDEO: 'VIDEO',\n UNSUPPORTED: 'UNSUPPORTED',\n};\n\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n};\n\nexport const getSupportingFileType = (type: string): string => {\n if (SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.IMAGE;\n }\n if (SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.VIDEO;\n }\n return SUPPORTING_TYPES.UNSUPPORTED;\n}\n","import React, { useContext, useRef } from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\nimport { SUPPORTING_TYPES, getSupportingFileType } from './utils';\nimport { ClientFileMessage } from '../../index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport {\n checkIsByMe,\n checkIsSent,\n checkIsPending,\n checkIsFailed,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientFileMessage;\n className?: string | Array;\n disabled: boolean;\n userId: string;\n status: string;\n chainTop: boolean;\n chainBottom: boolean;\n onClick(bool: boolean): void,\n showRemove(bool: boolean): void,\n resendMessage(message: ClientFileMessage): void;\n}\n\nexport default function OpenchannelThumbnailMessage({\n message,\n className,\n disabled,\n userId,\n status,\n chainTop,\n onClick,\n showRemove,\n resendMessage,\n}: Props): JSX.Element {\n const {\n type,\n url,\n localUrl,\n thumbnails,\n } = message;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-thumbnail-message');\n const isByMe = checkIsByMe(message, userId);\n const isMessageSent = checkIsSent(status);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n return (\n
\n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n onKeyDown={() => {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n tabIndex={0}\n role=\"button\"\n >\n
\n {\n {\n [SUPPORTING_TYPES.VIDEO]: (\n (url || localUrl)\n ? (\n
\n {\n (thumbnailUrl)\n ? (\n \n )\n : (\n \n \n \n )\n }\n \n
\n )\n : (\n \n )\n ),\n [SUPPORTING_TYPES.IMAGE]: (\n (url || localUrl)\n ? (\n \n )\n : (\n \n )\n ),\n [SUPPORTING_TYPES.UNSUPPORTED]: (\n \n ),\n }[getSupportingFileType(type)]\n }\n
\n
\n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n
\n \n (\n showMenuTrigger({ message, userId, status }) && (\n \n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineResend({ message, userId, status }) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n
\n \n );\n}\n","import { IconTypes } from '../Icon';\n\nexport const checkFileType = (fileUrl: string): string => {\n let result = null;\n const imageFile = /(\\.gif|\\.jpg|\\.jpeg|\\.txt|\\.pdf)$/i;\n const audioFile = /(\\.mp3)$/i;\n if (imageFile.test(fileUrl)) {\n result = IconTypes.FILE_DOCUMENT;\n } else if (audioFile.test(fileUrl)) {\n result = IconTypes.FILE_AUDIO;\n }\n return result;\n}\n\nexport const truncate = (fullStr:string, strLen: number): string => {\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n","import React, { useContext, useRef } from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport TextButton from '../TextButton';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { checkFileType, truncate } from './utils';\nimport { ClientFileMessage } from '../../index';\nimport {\n checkIsByMe,\n checkIsPending,\n checkIsFailed,\n isFineDelete,\n isFineResend,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientFileMessage;\n className?: string | Array;\n userId: string;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n status: string;\n\n showRemove(bool: boolean): void;\n resendMessage(message: ClientFileMessage): void;\n}\n\nexport default function OpenchannelFileMessage({\n message,\n className,\n userId,\n disabled,\n chainTop,\n status,\n showRemove,\n resendMessage,\n}: Props): JSX.Element {\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n\n const openFileUrl = () => { window.open(message.url); };\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-file-message');\n const isByMe = checkIsByMe(message, userId);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n return (\n \n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n {\n checkFileType(message.url) && (\n \n )\n }\n \n \n {truncate(message.name || message.url, 40)}\n \n \n
\n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n
\n \n {\n (\n showMenuTrigger({ message, userId, status }) && (\n \n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineResend({ message, userId, status }) && (\n {\n if (disabled) { return; }\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n }\n \n \n );\n}\n","import React, { useContext } from 'react'\nimport { ClientFileMessage, ClientUserMessage } from '../../..'\nimport Modal from '../../../ui/Modal';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n onCloseModal(): void;\n onDeleteMessage(message: ClientUserMessage | ClientFileMessage, callback?: () => void): void;\n}\n\nexport default function RemoveMessageModal({\n onCloseModal,\n onDeleteMessage,\n}: Props): JSX.Element {\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n \n );\n}\n","import { EveryMessage } from '../../..';\nimport { isImage, isVideo } from '../../../ui/FileViewer/types';\n\nexport const MessageTypes = {\n ADMIN: 'ADMIN',\n USER: 'USER',\n FILE: 'FILE',\n THUMBNAIL: 'THUMBNAIL',\n OG: 'OG',\n UNKNOWN: 'UNKNOWN',\n};\n\nexport const SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport const getMessageType = (message: EveryMessage): string => {\n if ((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user') {\n return (message.ogMetaData)\n ? MessageTypes.OG\n : MessageTypes.USER;\n }\n if (message.isAdminMessage && message.isAdminMessage()) {\n return MessageTypes.ADMIN;\n }\n if (message.messageType === 'file') {\n return (isImage(message.type) || isVideo(message.type))\n ? MessageTypes.THUMBNAIL\n : MessageTypes.FILE;\n }\n return MessageTypes.UNKNOWN;\n};\n\nexport default {\n MessageTypes,\n SendingMessageStatus,\n getMessageType,\n};\n","import React, {\n useState,\n useRef,\n ReactElement,\n useMemo,\n} from 'react';\n\nimport format from 'date-fns/format';\nimport * as types from '../../../index';\n\nimport OpenChannelUserMessage from '../../../ui/OpenchannelUserMessage';\nimport OpenChannelAdminMessage from '../../../ui/OpenChannelAdminMessage';\nimport OpenChannelOGMessage from '../../../ui/OpenchannelOGMessage';\nimport OpenChannelThumbnailMessage from '../../../ui/OpenchannelThumbnailMessage';\nimport OpenChannelFileMessage from '../../../ui/OpenchannelFileMessage';\n// import UnknownMessage from '../../../ui/UnknownMessage';\n\nimport DateSeparator from '../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport MessageInput from '../../../ui/MessageInput';\nimport FileViewer from '../../../ui/FileViewer';\n\nimport RemoveMessageModal from './RemoveMessageModal';\nimport {\n MessageTypes,\n SendingMessageStatus,\n getMessageType,\n} from './types';\nimport { OpenChannel } from 'sendbird';\n\ninterface Props {\n message: types.EveryMessage;\n userId: string;\n disabled: boolean;\n editDisabled: boolean;\n hasSeperator: boolean;\n channel: OpenChannel;\n renderCustomMessage?: types.RenderCustomMessage,\n deleteMessage(message: types.ClientUserMessage | types.ClientFileMessage, callback?: () => void): void;\n updateMessage(messageId: number, text: string, callback?: () => void): void;\n resendMessage(failedMessage: types.ClientUserMessage | types.ClientFileMessage): void;\n status?: string;\n chainTop: boolean;\n chainBottom: boolean;\n}\n\nexport default function MessageHoc({\n message,\n userId,\n disabled,\n editDisabled,\n hasSeperator,\n channel,\n renderCustomMessage,\n deleteMessage,\n updateMessage,\n resendMessage,\n status,\n chainTop,\n chainBottom,\n}: Props): ReactElement {\n let sender: SendBird.User = null;\n if (message.messageType !== 'admin') {\n sender = message.sender;\n }\n\n const RenderedMessage = useMemo(() => {\n if (renderCustomMessage) {\n return renderCustomMessage(message, channel, chainTop, chainBottom);\n }\n return null;\n }, [message, renderCustomMessage]);\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const editMessageInputRef = useRef(null);\n\n let isByMe = false;\n\n if (sender && message.messageType !== 'admin') {\n // pending and failed messages are by me\n isByMe = (userId === sender.userId)\n || (message.requestState === SendingMessageStatus.PENDING)\n || (message.requestState === SendingMessageStatus.FAILED);\n }\n\n if(RenderedMessage) {\n return (\n
\n \n
\n );\n }\n\n if (message.messageType === 'user' && showEdit) {\n return (\n { setShowEdit(false); }}\n value={message.message}\n />\n );\n }\n\n return (\n
\n {/* date-seperator */}\n {\n hasSeperator && (\n \n \n \n )\n }\n {/* Message */}\n {\n {\n [MessageTypes.ADMIN]: (() => {\n if (message.messageType === 'admin') {\n return (\n \n )\n }\n })(),\n [MessageTypes.FILE]: (() => {\n if (message.messageType === 'file') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.OG]: (() => {\n if (message.messageType === 'user') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.THUMBNAIL]: (() => {\n if (message.messageType === 'file') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.USER]: (() => {\n if (message.messageType === 'user') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.UNKNOWN]: (() => {\n return;\n // return (\n // \n // );\n })(),\n }[getMessageType(message)]\n }\n {/* Modal */}\n {\n showRemove && (\n setShowRemove(false)}\n onDeleteMessage={() => {\n if (message.messageType !== 'admin') {\n deleteMessage(message);\n }\n }}\n />\n )\n }\n {\n (showFileViewer && message.messageType === 'file') && (\n setShowFileViewer(false)}\n message={message}\n onDelete={() => deleteMessage(message)}\n isByMe={isByMe}\n />\n )\n }\n {/* {\n !((message.isFileMessage && message.isFileMessage()) || message.messageType === 'file')\n && !(message.isAdminMessage && message.isAdminMessage())\n && !(((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user'))\n && !(showFileViewer)\n && (\n \n )\n } */}\n
\n );\n}\n","import React, { ReactElement, useRef, useState, useMemo } from 'react';\nimport isSameDay from 'date-fns/isSameDay';\nimport {\n ClientFileMessage,\n ClientUserMessage,\n EveryMessage,\n RenderCustomMessage,\n} from '../../../index';\nimport MessageHoc from './MessageHOC';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\n\nimport PlaceHolder, { PlaceHolderTypes } from '../../../ui/PlaceHolder';\nimport './openchannel-conversation-scroll.scss';\nimport { compareMessagesForGrouping } from '../utils';\n\ninterface Props {\n openchannel: SendBird.OpenChannel;\n user: SendBird.User;\n allMessages: Array;\n useMessageGrouping: boolean;\n isOnline: boolean;\n hasMore: boolean;\n renderCustomMessage?: RenderCustomMessage;\n onScroll(callback?: () => void): void;\n updateMessage(messageId: number, text: string, callback?: () => void): void;\n deleteMessage(message: ClientUserMessage | ClientFileMessage, callback?: () => void): void;\n resendMessage(failedMessage: ClientUserMessage | ClientFileMessage): void;\n}\n\nfunction OpenchannelConversationScroll(\n {\n useMessageGrouping = true,\n openchannel,\n user,\n allMessages,\n isOnline = true,\n hasMore,\n onScroll,\n renderCustomMessage,\n updateMessage,\n deleteMessage,\n resendMessage,\n }: Props,\n ref: React.RefObject,\n): ReactElement {\n const scrollRef = ref || useRef(null);\n const [showScrollDownButton, setShowScrollDownButton] = useState(false);\n\n const handleOnScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n } = element;\n if (\n (scrollHeight > scrollTop + clientHeight)\n && (window.navigator.userAgent.indexOf('MSIE ') < 0) // don't show button in IE\n ) {\n setShowScrollDownButton(true);\n } else {\n setShowScrollDownButton(false);\n }\n\n if (!hasMore) {\n return;\n }\n if (scrollTop === 0) {\n const nodes = scrollRef.current.querySelectorAll('.sendbird-msg--scroll-ref');\n const first = nodes && nodes[0];\n onScroll(() => {\n try {\n first.scrollIntoView();\n } catch (error) { }\n });\n }\n };\n\n const scrollToBottom = () => {\n if (scrollRef && scrollRef.current) {\n scrollRef.current.scrollTo(0, scrollRef.current.scrollHeight);\n setShowScrollDownButton(false);\n }\n };\n\n const hasMessage = useMemo(() => {\n return allMessages.length > 0;\n }, [allMessages.length]);\n\n return (\n \n
\n
\n
\n {\n hasMessage\n ? (\n allMessages.map((message, index) => {\n let status: string;\n\n if (message.messageType !== 'admin') {\n status = message.sendingStatus;\n }\n\n const previousMessage = allMessages[index - 1];\n const nextMessage = allMessages[index - 1];\n\n const previousMessageCreatedAt = previousMessage && previousMessage.createdAt;\n const currentCreatedAt = message.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeperator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n\n const [chainTop, chainBottom] = useMessageGrouping\n ? compareMessagesForGrouping(previousMessage, message, nextMessage)\n : [false, false];\n return (\n \n )\n })\n )\n : (\n \n )\n }\n
\n {\n showScrollDownButton && (\n \n \n
\n )\n }\n
\n \n );\n}\n\nexport default React.forwardRef(OpenchannelConversationScroll);\n","export const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';\nexport const RESET_MESSAGES = 'RESET_MESSAGES';\nexport const GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START';\nexport const GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS';\nexport const GET_PREV_MESSAGES_FAIL = 'GET_PREV_MESSAGES_FAIL';\nexport const SENDING_MESSAGE_FAILED = 'SENDING_MESSAGE_FAILED';\nexport const SENDING_MESSAGE_SUCCEEDED = 'SENDING_MESSAGE_SUCCEEDED';\nexport const SENDING_MESSAGE_START = 'SENDING_MESSAGE_START';\nexport const RESENDING_MESSAGE_START = 'RESENDING_MESSAGE_START';\nexport const FETCH_PARTICIPANT_LIST = 'FETCH_PARTICIPANT_LIST';\nexport const FETCH_BANNED_USER_LIST = 'FETCH_BANNED_USER_LIST';\nexport const FETCH_MUTED_USER_LIST= 'FETCH_MUTED_USER_LIST';\n\n// event handlers\nexport const ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';\nexport const ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';\nexport const ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';\nexport const ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';\nexport const ON_OPERATOR_UPDATED = 'ON_OPERATOR_UPDATED';\nexport const ON_USER_ENTERED = 'ON_USER_ENTERED';\nexport const ON_USER_EXITED = 'ON_USER_EXITED';\nexport const ON_USER_MUTED = 'ON_USER_MUTED';\nexport const ON_USER_UNMUTED = 'ON_USER_UNMUTED';\nexport const ON_USER_BANNED = 'ON_USER_BANNED';\nexport const ON_USER_UNBANNED = 'ON_USER_UNBANNED';\nexport const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';\nexport const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';\nexport const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';\nexport const ON_META_DATA_CREATED = 'ON_META_DATA_CREATED';\nexport const ON_META_DATA_UPDATED = 'ON_META_DATA_UPDATED';\nexport const ON_META_DATA_DELETED = 'ON_META_DATA_DELETED';\nexport const ON_META_COUNTERS_CREATED = 'ON_META_COUNTERS_CREATED';\nexport const ON_META_COUNTERS_UPDATED = 'ON_META_COUNTERS_UPDATED';\nexport const ON_META_COUNTERS_DELETED = 'ON_META_COUNTERS_DELETED';\nexport const ON_MENTION_RECEIVED = 'ON_MENTION_RECEIVED';\n","import { State as initialStateInterface } from './initialState';\nimport * as actionTypes from './actionTypes';\n\nimport compareIds from '../../../utils/compareIds.js';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// @ts-ignore: Unreachable code error\ninterface ActionInterface {\n type: string;\n payload?: any;\n}\n\nexport default function reducer(\n state: initialStateInterface,\n action: ActionInterface,\n): initialStateInterface {\n switch (action.type) {\n case actionTypes.RESET_MESSAGES: {\n return {\n ...state,\n allMessages: [],\n };\n }\n\n case actionTypes.SET_CURRENT_CHANNEL: {\n const gottenChannel = action.payload;\n const operators = gottenChannel.operators;\n if (\n !state.isInvalid\n && state.currentOpenChannel\n && state.currentOpenChannel.url\n && (state.currentOpenChannel.url === gottenChannel.url)\n ) {\n return state;\n }\n return {\n ...state,\n currentOpenChannel: gottenChannel,\n isInvalid: false,\n operators: operators,\n participants: operators,\n bannedParticipantIds: [],\n mutedParticipantIds: [],\n };\n }\n case actionTypes.SET_CHANNEL_INVALID: {\n return {\n ...state,\n isInvalid: true,\n };\n }\n case actionTypes.GET_PREV_MESSAGES_START: {\n return {\n ...state,\n loading: true,\n };\n }\n case actionTypes.GET_PREV_MESSAGES_SUCESS:\n case actionTypes.GET_PREV_MESSAGES_FAIL: {\n const isFailed = (action.type === actionTypes.GET_PREV_MESSAGES_FAIL);\n const {\n currentOpenChannel = {},\n messages = [],\n hasMore,\n lastMessageTimestamp,\n } = action.payload;\n const actionChannelUrl = currentOpenChannel.url;\n const receivedMessages = isFailed ? [] : messages;\n const _hasMore = isFailed ? false : hasMore;\n const _lastMessageTimestamp = isFailed ? 0 : lastMessageTimestamp;\n\n const stateChannel = state.currentOpenChannel;\n const stateChannelUrl = stateChannel.url;\n\n if (actionChannelUrl !== stateChannelUrl) {\n return state;\n }\n\n const filteredAllMessages = state.allMessages.filter((message) => (\n !(receivedMessages.find(({ messageId }) => compareIds(messageId, message.messageId)))\n ));\n return {\n ...state,\n loading: false,\n initialized: true,\n hasMore: _hasMore,\n lastMessageTimestamp: _lastMessageTimestamp,\n allMessages: [\n ...receivedMessages,\n ...filteredAllMessages,\n ],\n };\n }\n case actionTypes.SENDING_MESSAGE_START: {\n const {\n message,\n channel,\n } = action.payload;\n if (channel.url !== state.currentOpenChannel.url) {\n return state;\n }\n return {\n ...state,\n allMessages: [\n ...state.allMessages,\n { ...message },\n ],\n };\n }\n case actionTypes.SENDING_MESSAGE_SUCCEEDED: {\n const sentMessage = action.payload;\n const newMessages = state.allMessages.map((m) => (\n compareIds(m.reqId, sentMessage.reqId) ? sentMessage : m\n ));\n return {\n ...state,\n allMessages: newMessages,\n };\n }\n case actionTypes.SENDING_MESSAGE_FAILED: {\n const sentMessage = action.payload;\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, sentMessage.reqId) ? sentMessage : m\n )),\n };\n }\n case actionTypes.RESENDING_MESSAGE_START: {\n const eventedChannel = action.payload.channel;\n const resentMessage = action.payload.message;\n if (eventedChannel.url !== state.currentOpenChannel.url) {\n return state;\n }\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, resentMessage.reqId) ? resentMessage : m\n )),\n };\n }\n case actionTypes.FETCH_PARTICIPANT_LIST: {\n const eventedChannel = action.payload.channel;\n const fetchedParticipantList = action.payload.users;\n if (eventedChannel.url !== state.currentOpenChannel.url) {\n return state;\n }\n return {\n ...state,\n participants: [... state.participants, ...fetchedParticipantList],\n // Should check duplication\n };\n }\n case actionTypes.FETCH_BANNED_USER_LIST: {\n const eventedChannel = action.payload.channel;\n const fetchedBannedUserList = action.payload.users;\n if (\n (eventedChannel.url !== state.currentOpenChannel.url)\n || !(fetchedBannedUserList.every(user => typeof user.userId === 'string'))\n ) {\n return state;\n }\n return {\n ...state,\n bannedParticipantIds: [\n ... state.bannedParticipantIds,\n ...fetchedBannedUserList.map(user => user.userId),\n ],\n // Should check duplication\n };\n }\n case actionTypes.FETCH_MUTED_USER_LIST: {\n const eventedChannel = action.payload.channel;\n const fetchedMutedUserList = action.payload.users;\n if (\n (eventedChannel.url !== state.currentOpenChannel.url)\n || !(fetchedMutedUserList.every(user => typeof user.userId === 'string'))\n ) {\n return state;\n }\n return {\n ...state,\n mutedParticipantIds: [\n ... state.bannedParticipantIds,\n ...fetchedMutedUserList.map(user => user.userId),\n ],\n // Should check duplication\n };\n }\n // events\n case actionTypes.ON_MESSAGE_RECEIVED: {\n const eventedChannel = action.payload.channel;\n const receivedMessage = action.payload.message;\n\n const {\n currentOpenChannel\n } = state;\n\n if (\n !compareIds(eventedChannel.url, currentOpenChannel.url)\n || (\n !(state.allMessages.map(\n (message) => message.messageId).indexOf(receivedMessage.messageId) < 0\n ))\n ) {\n return state;\n }\n\n return {\n ...state,\n allMessages: [...state.allMessages, receivedMessage],\n };\n }\n case actionTypes.ON_MESSAGE_UPDATED: {\n const eventedChannel = action.payload.channel;\n const updatedMessage = action.payload.message;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n allMessages: state.allMessages.map((message) => (\n message.isIdentical(updatedMessage)\n ? updatedMessage\n : message\n )),\n };\n }\n case actionTypes.ON_MESSAGE_DELETED: {\n const eventedChannel = action.payload.channel;\n const deletedMessageId = action.payload.messageId;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n allMessages: state.allMessages.filter((message) => (\n !compareIds(message.messageId, deletedMessageId)\n )),\n };\n }\n case actionTypes.ON_MESSAGE_DELETED_BY_REQ_ID: {\n return {\n ...state,\n allMessages: state.allMessages.filter((m) => (\n !compareIds(m.reqId, action.payload)\n )),\n };\n }\n case actionTypes.ON_OPERATOR_UPDATED: {\n const eventedChannel = action.payload.channel;\n const updatedOperators = action.payload.operators;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n currentOpenChannel: {\n ...state.currentOpenChannel,\n operators: updatedOperators,\n },\n operators: updatedOperators,\n };\n }\n case actionTypes.ON_USER_ENTERED: {\n const eventedChannel = action.payload.channel;\n const enteredUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n participants: [...state.participants, enteredUser],\n };\n }\n case actionTypes.ON_USER_EXITED: {\n const eventedChannel = action.payload.channel;\n const exitedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n participants: state.participants.filter((participant) => (\n !compareIds(participant.userId, exitedUser.userId)\n )),\n };\n }\n case actionTypes.ON_USER_MUTED: {\n const eventedChannel = action.payload.channel;\n const mutedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.mutedParticipantIds.indexOf(mutedUser.userId) >= 0\n ) {\n return state;\n }\n return {\n ...state,\n mutedParticipantIds: [...state.mutedParticipantIds, mutedUser.userId],\n };\n }\n case actionTypes.ON_USER_UNMUTED: {\n const eventedChannel = action.payload.channel;\n const unmutedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.mutedParticipantIds.indexOf(unmutedUser.userId) < 0\n ) {\n return state;\n }\n return {\n ...state,\n mutedParticipantIds: state.mutedParticipantIds.filter(userId => userId !== unmutedUser.userId),\n };\n }\n case actionTypes.ON_USER_BANNED: {\n const eventedChannel = action.payload.channel;\n const bannedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.bannedParticipantIds.indexOf(bannedUser.userId) >= 0\n ) {\n return state;\n }\n return {\n ...state,\n bannedParticipantIds: [...state.bannedParticipantIds, bannedUser.userId],\n };\n }\n case actionTypes.ON_USER_UNBANNED: {\n const eventedChannel = action.payload.channel;\n const unbannedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.bannedParticipantIds.indexOf(unbannedUser.userId) < 0\n ) {\n return state;\n }\n return {\n ...state,\n bannedParticipantIds: state.bannedParticipantIds.filter(userId => userId !== unbannedUser.userId),\n };\n }\n case actionTypes.ON_CHANNEL_FROZEN: {\n const frozenChannel = action.payload;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== frozenChannel.url)) {\n return state;\n }\n return {\n ...state,\n frozen: true,\n };\n }\n case actionTypes.ON_CHANNEL_UNFROZEN: {\n const unfrozenChannel = action.payload;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== unfrozenChannel.url)) {\n return state;\n }\n return {\n ...state,\n frozen: false,\n };\n }\n case actionTypes.ON_CHANNEL_CHANGED: {\n const changedChannel = action.payload;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== changedChannel.url)) {\n return state;\n }\n return {\n ...state,\n currentOpenChannel: changedChannel,\n };\n }\n case actionTypes.ON_META_DATA_CREATED: {\n // const eventedChannel = action.payload.channel;\n // const createdMetaData = action.payload.metaData;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_DATA_UPDATED: {\n // const eventedChannel = action.payload.channel;\n // const updatedMetaData = action.payload.metaData;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_DATA_DELETED: {\n // const eventedChannel = action.payload.channel;\n // const deletedMetaDataKeys = action.payload.metaDataKeys;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_COUNTERS_CREATED: {\n // const eventedChannel = action.payload.channel;\n // const createdMetaCounter = action.payload.metaCounter;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_COUNTERS_UPDATED: {\n // const eventedChannel = action.payload.channel;\n // const updatedMetaCounter = action.payload.metaCounter;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_COUNTERS_DELETED: {\n // const eventedChannel = action.payload.channel;\n // const deletedMetaCounterKeys = action.payload.metaCounterKeys;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_MENTION_RECEIVED: {\n // const eventedChannel = action.payload.channel;\n // const mentionedMessage = action.payload.message;\n // return {\n // ...state\n // };\n return state;\n }\n default:\n return state;\n }\n}\n","import Sendbird from 'sendbird';\nimport { EveryMessage } from '../../../index';\n\nexport interface State {\n allMessages: Array;\n loading: boolean;\n initialized: boolean;\n currentOpenChannel: Sendbird.OpenChannel;\n isInvalid: boolean;\n hasMore: boolean;\n lastMessageTimestamp: number;\n frozen: boolean;\n operators: Array;\n participants: Array;\n bannedParticipantIds: Array;\n mutedParticipantIds: Array;\n}\n\nconst initialState: State = {\n allMessages: [],\n loading: false,\n initialized: false,\n currentOpenChannel: null,\n isInvalid: false,\n hasMore: false,\n lastMessageTimestamp: 0,\n frozen: false,\n operators: [],\n participants: [],\n bannedParticipantIds: [],\n mutedParticipantIds: [],\n};\n\nexport default initialState;\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\ninterface MainProps {\n channelUrl: string;\n sdkInit: boolean;\n fetchingParticipants: boolean;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useSetChannel(\n { channelUrl, sdkInit, fetchingParticipants }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): void {\n useEffect(() => {\n if (channelUrl && sdkInit && sdk && sdk.OpenChannel) {\n logger.info('OpenChannel | useSetChannel fetching channel', channelUrl);\n sdk.OpenChannel.getChannel(channelUrl, (openChannel, error) => {\n if (!error) {\n logger.info('OpenChannel | useSetChannel fetched channel', openChannel);\n messagesDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: openChannel,\n });\n openChannel.enter((_, error) => {\n if (error) {\n logger.warning('OpenChannel | useSetChannel enter channel failed', { channelUrl, error });\n messagesDispatcher({\n type: messageActionTypes.SET_CHANNEL_INVALID,\n payload: null,\n });\n }\n if (fetchingParticipants) {\n // fetch participants, banned participantIds, muted participantIds\n const participantListQuery = openChannel.createParticipantListQuery();\n const bannedParticipantListQuery = openChannel.createBannedUserListQuery();\n const mutedParticipantListQuery = openChannel.createMutedUserListQuery();\n utils.fetchWithListQuery(\n participantListQuery,\n logger,\n (users) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_PARTICIPANT_LIST,\n payload: {\n channel: openChannel,\n users,\n },\n });\n },\n );\n utils.fetchWithListQuery(\n bannedParticipantListQuery,\n logger,\n (users) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_BANNED_USER_LIST,\n payload: {\n channel: openChannel,\n users,\n },\n });\n },\n );\n utils.fetchWithListQuery(\n mutedParticipantListQuery,\n logger,\n (users) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_MUTED_USER_LIST,\n payload: {\n channel: openChannel,\n users,\n },\n });\n },\n );\n }\n });\n } else {\n logger.warning('OpenChannel | useSetChannel fetching channel failed', { channelUrl, error });\n messagesDispatcher({\n type: messageActionTypes.SET_CHANNEL_INVALID,\n payload: null,\n });\n }\n });\n // .then((openChannel) => {\n // logger.info('OpenChannel | useSetChannel fetched channel', openChannel);\n // messagesDispatcher({\n // type: messageActionTypes.SET_CURRENT_CHANNEL,\n // payload: openChannel,\n // });\n // openChannel.enter((_, error) => {\n // if (error) {\n // logger.warning('OpenChannel | useSetChannel enter channel failed', { channelUrl, error });\n // messagesDispatcher({\n // type: messageActionTypes.SET_CHANNEL_INVALID,\n // });\n // }\n // if (fetchingParticipants) {\n // // fetch participants, banned participantIds, muted participantIds\n // const participantListQuery = openChannel.createParticipantListQuery();\n // const bannedParticipantListQuery = openChannel.createBannedUserListQuery();\n // const mutedParticipantListQuery = openChannel.createMutedUserListQuery();\n // utils.fetchWithListQuery(\n // participantListQuery,\n // logger,\n // (users) => {\n // messagesDispatcher({\n // type: messageActionTypes.FETCH_PARTICIPANT_LIST,\n // payload: {\n // channel: openChannel,\n // users,\n // },\n // });\n // },\n // );\n // utils.fetchWithListQuery(\n // bannedParticipantListQuery,\n // logger,\n // (users) => {\n // messagesDispatcher({\n // type: messageActionTypes.FETCH_BANNED_USER_LIST,\n // payload: {\n // channel: openChannel,\n // users,\n // },\n // });\n // },\n // );\n // utils.fetchWithListQuery(\n // mutedParticipantListQuery,\n // logger,\n // (users) => {\n // messagesDispatcher({\n // type: messageActionTypes.FETCH_MUTED_USER_LIST,\n // payload: {\n // channel: openChannel,\n // users,\n // },\n // });\n // },\n // );\n // }\n // });\n // })\n // .catch((error) => {\n // logger.warning('OpenChannel | useSetChannel fetching channel failed', { channelUrl, error });\n // messagesDispatcher({\n // type: messageActionTypes.SET_CHANNEL_INVALID,\n // });\n // });\n }\n }, [channelUrl, sdkInit, fetchingParticipants]);\n}\n\nexport default useSetChannel;\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport uuidv4 from '../../../utils/uuid';\nimport { scrollIntoLast } from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n checkScrollBottom: () => boolean;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useHandleChannelEvents(\n { currentOpenChannel, checkScrollBottom }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): void {\n useEffect(() => {\n const messageReceiverId = uuidv4();\n if (currentOpenChannel && currentOpenChannel.url && sdk && sdk.ChannelHandler) {\n const ChannelHandler = new sdk.ChannelHandler();\n logger.info('OpenChannel | useHandleChannelEvents: Setup evnet handler', messageReceiverId);\n\n ChannelHandler.onMessageReceived = (channel, message) => {\n const scrollToEnd = checkScrollBottom();\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMessageReceived', { channelUrl, message });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_RECEIVED,\n payload: { channel, message },\n });\n if (scrollToEnd) {\n try {\n setTimeout(() => {\n scrollIntoLast();\n });\n } catch (error) {\n logger.warning('OpenChannel | onMessageReceived | scroll to end failed');\n }\n }\n };\n ChannelHandler.onMessageUpdated = (channel, message) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMessageUpdated', { channelUrl, message });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n };\n ChannelHandler.onMessageDeleted = (channel, messageId) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMessageDeleted', { channelUrl, messageId });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: { channel, messageId },\n });\n };\n ChannelHandler.onOperatorUpdated = (channel, operators) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onOperatorUpdated', { channelUrl, operators });\n messagesDispatcher({\n type: messageActionTypes.ON_OPERATOR_UPDATED,\n payload: { channel, operators },\n });\n };\n ChannelHandler.onUserEntered = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserEntered', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_ENTERED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserExited = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserExited', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_EXITED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserMuted = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserMuted', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_MUTED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserUnmuted = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserUnmuted', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_UNMUTED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserBanned = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserBanned', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_BANNED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserUnbanned = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserUnbanned', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_UNBANNED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onChannelFrozen = (channel) => {\n logger.info('OpenChannel | useHandleChannelEvents: onChannelFrozen', channel);\n messagesDispatcher({\n type: messageActionTypes.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n };\n ChannelHandler.onChannelUnfrozen = (channel) => {\n logger.info('OpenChannel | useHandleChannelEvents: onChannelUnfrozen', channel);\n messagesDispatcher({\n type: messageActionTypes.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n };\n ChannelHandler.onChannelChanged = (channel) => {\n logger.info('OpenChannel | useHandleChannelEvents: onChannelChanged', channel);\n messagesDispatcher({\n type: messageActionTypes.ON_CHANNEL_CHANGED,\n payload: channel,\n });\n };\n ChannelHandler.onMetaDataCreated = (channel, metaData) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaDataCreated', { channelUrl, metaData });\n messagesDispatcher({\n type: messageActionTypes.ON_META_DATA_CREATED,\n payload: { channel, metaData },\n });\n };\n ChannelHandler.onMetaDataUpdated = (channel, metaData) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaDataUpdated', { channelUrl, metaData });\n messagesDispatcher({\n type: messageActionTypes.ON_META_DATA_UPDATED,\n payload: { channel, metaData },\n });\n };\n ChannelHandler.onMetaDataDeleted = (channel, metaDataKeys) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaDataDeleted', { channelUrl, metaDataKeys });\n messagesDispatcher({\n type: messageActionTypes.ON_META_DATA_DELETED,\n payload: { channel, metaDataKeys },\n });\n };\n ChannelHandler.onMetaCountersCreated = (channel, metaCounter) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersCreated', { channelUrl, metaCounter });\n messagesDispatcher({\n type: messageActionTypes.ON_META_COUNTERS_CREATED,\n payload: { channel, metaCounter },\n });\n };\n ChannelHandler.onMetaCountersUpdated = (channel, metaCounter) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersUpdated', { channelUrl, metaCounter });\n messagesDispatcher({\n type: messageActionTypes.ON_META_COUNTERS_UPDATED,\n payload: { channel, metaCounter },\n });\n };\n ChannelHandler.onMetaCountersDeleted = (channel, metaCounterKeys) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersDeleted', { channelUrl, metaCounterKeys });\n messagesDispatcher({\n type: messageActionTypes.ON_META_COUNTERS_DELETED,\n payload: { channel, metaCounterKeys },\n });\n };\n ChannelHandler.onMentionReceived = (channel, message) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMentionReceived', { channelUrl, message });\n messagesDispatcher({\n type: messageActionTypes.ON_MENTION_RECEIVED,\n payload: { channel, message },\n });\n };\n\n sdk.addChannelHandler(messageReceiverId, ChannelHandler);\n }\n\n return () => {\n if (sdk && sdk.removeChannelHandler) {\n logger.info('OpenChannel | useHandleChannelEvents: Removing message receiver handler', messageReceiverId);\n sdk.removeChannelHandler(messageReceiverId);\n }\n }\n }, [currentOpenChannel]);\n}\n\nexport default useHandleChannelEvents;\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport { scrollIntoLast } from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n /* eslint-disable @typescript-eslint/no-explicit-any*/\n userFilledMessageListParams?: Record;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useInitialMessagesFetch(\n { currentOpenChannel, userFilledMessageListParams }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): void {\n useEffect(() => {\n logger.info('OpenChannel | useInitialMessagesFetch: Setup started', currentOpenChannel);\n messagesDispatcher({\n type: messageActionTypes.RESET_MESSAGES,\n payload: null,\n });\n\n if (sdk && sdk.MessageListParams && currentOpenChannel && currentOpenChannel.getMessagesByTimestamp) {\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.isInclusive = true;\n messageListParams.includeReplies = false;\n messageListParams.includeReactions = false;\n if (userFilledMessageListParams) {\n Object.keys(userFilledMessageListParams).forEach((key) => {\n messageListParams[key] = userFilledMessageListParams[key];\n });\n logger.info('OpenChannel | useInitialMessagesFetch: Used customizedMessageListParams');\n }\n\n logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages', { currentOpenChannel, messageListParams });\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_START,\n payload: null,\n });\n currentOpenChannel.getMessagesByTimestamp(new Date().getTime(), messageListParams, (messages, error) => {\n if (!error) {\n logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages succeeded', messages);\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimestamp = hasMore ? messages[0].createdAt : null;\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n currentOpenChannel,\n messages,\n hasMore,\n lastMessageTimestamp,\n },\n });\n setTimeout(() => { scrollIntoLast(); });\n } else {\n logger.error('OpenChannel | useInitialMessagesFetch: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_FAIL,\n payload: {\n currentOpenChannel,\n messages: [],\n hasMore: false,\n lastMessageTimestamp: 0,\n },\n });\n }\n });\n }\n }, [currentOpenChannel, userFilledMessageListParams]);\n}\n\nexport default useInitialMessagesFetch;\n","import { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n lastMessageTimestamp: number;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n hasMore: boolean;\n /* eslint-disable @typescript-eslint/no-explicit-any*/\n userFilledMessageListParams?: Record;\n}\ntype CallbackReturn = (callback: () => void) => void;\n\nfunction useScrollCallback(\n { currentOpenChannel, lastMessageTimestamp }: MainProps,\n { sdk, logger, messagesDispatcher, hasMore, userFilledMessageListParams }: ToolProps,\n): CallbackReturn {\n return useCallback((callback) => {\n if (hasMore && sdk && sdk.MessageListParams) {\n logger.info('OpenChannel | useScrollCallback: start');\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.includeReplies = false;\n messageListParams.includeReactions = false;\n\n if (userFilledMessageListParams) {\n Object.keys(userFilledMessageListParams).forEach((key) => {\n messageListParams[key] = userFilledMessageListParams[key];\n });\n logger.info('OpenChannel | useScrollCallback: Used userFilledMessageListParams', userFilledMessageListParams);\n }\n\n logger.info('OpenChannel | useScrollCallback: Fetching messages', { currentOpenChannel, messageListParams });\n\n currentOpenChannel.getMessagesByTimestamp(lastMessageTimestamp || new Date().getTime(), messageListParams, (messages, error) => {\n if (!error) {\n logger.info('OpenChannel | useScrollCallback: Fetching messages succeeded', messages);\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimestamp = hasMore ? messages[0].createdAt : null;\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n currentOpenChannel,\n messages,\n hasMore,\n lastMessageTimestamp,\n }\n });\n setTimeout(() => {\n callback();\n });\n } else {\n logger.error('OpenChannel | useScrollCallback: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_FAIL,\n payload: {\n currentOpenChannel,\n messages: [],\n hasMore: false,\n lastMessageTimestamp: 0,\n }\n });\n }\n });\n }\n }, [currentOpenChannel, lastMessageTimestamp]);\n}\n\nexport default useScrollCallback;\n","import { useCallback } from 'react';\n\ninterface MainProps {\n conversationScrollRef: React.RefObject;\n}\ninterface ToolProps {\n logger: SendbirdUIKit.Logger;\n}\n\nfunction useCheckScrollBottom(\n { conversationScrollRef }: MainProps,\n { logger }: ToolProps,\n): () => boolean {\n return useCallback(() => {\n let isBottom = true;\n if (conversationScrollRef) {\n try {\n const conversationScroll = conversationScrollRef.current;\n isBottom = conversationScroll.scrollHeight <= conversationScroll.scrollTop + conversationScroll.clientHeight;\n } catch(error) {\n logger.error('OpenChannel | useCheckScrollBottom', error);\n }\n }\n return isBottom;\n }, [conversationScrollRef])\n}\n\nexport default useCheckScrollBottom;\n","import Sendbird from 'sendbird';\nimport { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n onBeforeSendUserMessage: (text: string) => Sendbird.UserMessageParams;\n checkScrollBottom: () => boolean;\n messageInputRef: React.RefObject;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useSendMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): () => void {\n return useCallback(() => {\n if (sdk && sdk.UserMessageParams) {\n const text = messageInputRef.current.value;\n const createParamsDefault = (txt: string | number): Sendbird.UserMessageParams => {\n const message = typeof txt === 'string' ? txt.trim() : txt.toString(10).trim();\n const params = new sdk.UserMessageParams();\n params.message = message;\n return params;\n }\n const createCustomParams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';\n if (createCustomParams) {\n logger.info('OpenChannel | useSendMessageCallback: Creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);\n }\n const params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);\n logger.info('OpenChannel | useSendMessageCallback: Sending message has started', params);\n\n const isBottom = checkScrollBottom();\n const pendingMessage = currentOpenChannel.sendUserMessage(params, (message, error) => {\n if (!error) {\n logger.info('OpenChannel | useSendMessageCallback: Sending message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n if (isBottom) {\n setTimeout(() => {\n utils.scrollIntoLast();\n });\n }\n } else {\n logger.warning('OpenChannel | useSendMessageCallback: Sending message failed', error);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: messageActionTypes,\n });\n }\n });\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: {\n message: pendingMessage,\n channel: currentOpenChannel,\n }\n });\n }\n }, [currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef]);\n}\n\nexport default useSendMessageCallback;\n","import Sendbird from 'sendbird';\nimport { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n onBeforeSendFileMessage: (file: File) => Sendbird.FileMessageParams;\n checkScrollBottom: () => boolean;\n imageCompression?: {\n compressionRate?: number,\n resizingWidth?: number | string,\n resizingHeight?: number | string,\n };\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\ntype CallbackReturn = (file: File) => void;\n\nfunction useFileUploadCallback(\n {\n currentOpenChannel,\n checkScrollBottom,\n imageCompression = {},\n onBeforeSendFileMessage,\n }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((file) => {\n if (sdk && sdk.FileMessageParams) {\n const {\n compressionRate,\n resizingWidth,\n resizingHeight,\n } = imageCompression;\n const createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';\n\n const compressibleFileType = (file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg');\n const compressibleRatio = (compressionRate > 0) && (compressionRate < 1);\n // pxToNumber returns null if values are invalid\n const compressibleDiamensions = utils.pxToNumber(resizingWidth)\n || utils.pxToNumber(resizingHeight);\n\n const canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions);\n\n const createParamsDefault = (file_): Sendbird.FileMessageParams => {\n const params = new sdk.FileMessageParams();\n params.file = file_;\n return params;\n };\n\n if (canCompressImage) { // Using image compression\n try {\n const image: HTMLImageElement = document.createElement('img');\n image.src = URL.createObjectURL(file);\n image.onload = () => {\n URL.revokeObjectURL(image.src);\n const canvas = document.createElement('canvas');\n const imageWidth = image.naturalWidth || image.width;\n const imageHeight = image.naturalHeight || image.height;\n let targetWidth = utils.pxToNumber(resizingWidth) || imageWidth;\n let targetHeight = utils.pxToNumber(resizingHeight) || imageHeight;\n\n // In canvas.toBlob(callback, mimeType, qualityArgument)\n // qualityArgument doesnt work\n // so in case compressibleDiamensions are not present, we use ratio\n if (file.type === 'image/png' && !compressibleDiamensions) {\n targetWidth *= compressionRate;\n targetHeight *= compressionRate;\n }\n\n canvas.width = targetWidth;\n canvas.height = targetHeight;\n const context = canvas.getContext('2d');\n context.drawImage(image, 0, 0, targetWidth, targetHeight);\n context.canvas.toBlob(\n (newImageBlob) => {\n const compressedFile = new File([newImageBlob], file.name, { type: file.type });\n if (createCustomParams) {\n logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = onBeforeSendFileMessage ? onBeforeSendFileMessage(compressedFile) : createParamsDefault(compressedFile);\n logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);\n\n const isBottom = checkScrollBottom();\n const pendingMessage = currentOpenChannel.sendFileMessage(\n params,\n (message: SendbirdUIKit.ClientFileMessage, error) => {\n if (!error) {\n logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n if (isBottom) {\n setTimeout(() => {\n utils.scrollIntoLast();\n });\n }\n } else {\n logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', { message, error });\n message.localUrl = URL.createObjectURL(file);\n message.file = file;\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: message,\n });\n }\n },\n );\n\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: {\n message: {\n ...pendingMessage,\n url: URL.createObjectURL(file),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentOpenChannel,\n }\n });\n },\n file.type,\n compressionRate,\n );\n }\n } catch (error) {\n logger.warning('OpenChannel | useFileUploadCallback: Sending file message with image compression failed', error);\n }\n } else { // Not using image compression\n if (createCustomParams) {\n logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = onBeforeSendFileMessage ? onBeforeSendFileMessage(file) : createParamsDefault(file);\n logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);\n\n const isBottom = checkScrollBottom();\n const pendingMessage = currentOpenChannel.sendFileMessage(\n params,\n (message: SendbirdUIKit.ClientFileMessage, error) => {\n if (!error) {\n logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n if (isBottom) {\n setTimeout(() => {\n utils.scrollIntoLast();\n });\n }\n } else {\n logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', { message, error });\n message.localUrl = URL.createObjectURL(file);\n message.file = file;\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: message,\n });\n }\n }\n );\n\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: {\n message: {\n ...pendingMessage,\n url: URL.createObjectURL(file),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentOpenChannel,\n }\n });\n }\n }\n }, [currentOpenChannel, onBeforeSendFileMessage, checkScrollBottom, imageCompression]);\n}\n\nexport default useFileUploadCallback;\n","import Sendbird from 'sendbird';\nimport { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n onBeforeSendUserMessage?: (text) => Sendbird.UserMessageParams;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload :any }) => void;\n}\ntype CallbackReturn = (messageId, text, callback) => void;\n\nfunction useUpdateMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((messageId, text, callback) => {\n const createParamsDefault = (txt) => {\n const params = new sdk.UserMessageParams();\n params.message = txt;\n return params;\n };\n\n if (onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function') {\n logger.info('OpenChannel | useUpdateMessageCallback: Creating params using onBeforeUpdateUserMessage');\n }\n const params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);\n currentOpenChannel.updateUserMessage(messageId, params, (message, error) => {\n if (callback) {\n callback();\n }\n if (!error) {\n logger.info('OpenChannel | useUpdateMessageCallback: Updating message succeeded', { message, params });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: {\n channel: currentOpenChannel,\n message,\n },\n });\n } else {\n logger.warning('OpenChannel | useUpdateMessageCallback: Updating message failed', error);\n }\n });\n }, [currentOpenChannel, onBeforeSendUserMessage]);\n}\n\nexport default useUpdateMessageCallback;\n","import { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n}\ninterface ToolProps {\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\ntype CallbackReturn = (\n message: SendbirdUIKit.ClientUserMessage | SendbirdUIKit.ClientFileMessage,\n callback?: () => void,\n) => void;\n\nfunction useDeleteMessageCallback(\n { currentOpenChannel }: MainProps,\n { logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((message, callback) => {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message', message);\n const { sendingStatus } = message;\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message requestState', sendingStatus);\n\n if (sendingStatus === 'failed' || sendingStatus === 'pending') {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleted message from local', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,\n payload: message.reqId,\n });\n if (callback) {\n callback();\n }\n } else {\n currentOpenChannel.deleteMessage(message, (error) => {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message on server', sendingStatus);\n if (callback) {\n callback();\n }\n if (!error) {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: {\n channel: currentOpenChannel,\n messageId: message.messageId,\n },\n });\n } else {\n logger.warning('OpenChannel | useDeleteMessageCallback: Deleting message failed', error);\n }\n });\n }\n }, [currentOpenChannel]);\n}\n\nexport default useDeleteMessageCallback;\n","import { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n}\ninterface ToolProps {\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\ntype CallbackReturn = (failedMessage: SendbirdUIKit.ClientUserMessage | SendbirdUIKit.ClientFileMessage) => void;\n\nfunction useResendMessageCallback(\n { currentOpenChannel }: MainProps,\n { logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((failedMessage) => {\n logger.info('OpenChannel | useResendMessageCallback: Resending message has started', failedMessage);\n const { messageType, file } = failedMessage;\n if (failedMessage && typeof failedMessage.isResendable === 'function' && failedMessage.isResendable()) {\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESENDING_MESSAGE_START,\n payload: {\n channel: currentOpenChannel,\n message: failedMessage,\n },\n });\n\n // userMessage\n if (messageType === 'user' && failedMessage.messageType === 'user') {\n currentOpenChannel.resendUserMessage(failedMessage, (message, error) => {\n if (!error) {\n logger.info('OpenChannel | useResendMessageCallback: Reseding message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n } else {\n logger.warning('OpenChannel | useResendMessageCallback: Resending message failed', error);\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: failedMessage,\n });\n }\n });\n return;\n }\n\n // fileMessage\n if (messageType === 'file' && failedMessage.messageType === 'file') {\n currentOpenChannel.resendFileMessage(failedMessage, file, (message, error) => {\n if (!error) {\n logger.info('OpenChannel | useResendMessageCallback: Resending file message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n } else {\n logger.warning('OpenChannel | useResendMessageCallback: Resending file message failed', error);\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: failedMessage,\n });\n }\n });\n }\n } else {\n // to alert user on console\n // eslint-disable-next-line no-console\n console.error('OpenChannel | useResendMessageCallback: Message is not resendable');\n logger.warning('OpenChannel | useResendMessageCallback: Message is not resendable', failedMessage);\n }\n }, [currentOpenChannel]);\n}\n\nexport default useResendMessageCallback;\n","import React, {\n useRef,\n useEffect,\n useReducer,\n useContext,\n useMemo,\n} from 'react';\nimport * as utils from './utils';\nimport './index.scss';\n\nimport MessageInputWrapper from './components/MessageInpuetWrapper';\nimport FrozenChannelNotification from './components/FrozenNotification';\nimport OpenchannelConversationHeader from '../../ui/OpenchannelConversationHeader';\nimport OpenchannelConversationScroll from './components/OpenchannelConversationScroll';\nimport PlaceHolder, { PlaceHolderTypes } from '../../ui/PlaceHolder';\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\n\nimport { OpenChannelProps } from '../../index';\nimport messagesReducer from './dux/reducers';\nimport messagesInitialState from './dux/initialState';\nimport * as messageActionTypes from './dux/actionTypes';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext.jsx';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { scrollIntoLast } from './utils';\nimport * as topics from '../../lib/pubSub/topics';\n\n// hooks\nimport useSetChannel from './hooks/useSetChannel';\nimport useHandleChannelEvents from './hooks/useHandleChannelEvents';\nimport useInitialMessagesFetch from './hooks/useInitialMessagesFetch';\nimport useScrollCallback from './hooks/useScrollCallback';\nimport useCheckScrollBottom from './hooks/useCheckScrollBottom';\nimport useSendMessageCallback from './hooks/useSendMessageCallback';\nimport useFileUploadCallback from './hooks/useFileUploadCallback';\nimport useUpdateMessageCallback from './hooks/useUpdateMessageCallback';\nimport useDeleteMessageCallback from './hooks/useDeleteMessageCallback';\nimport useResendMessageCallback from './hooks/useResendMessageCallback';\n\nconst COMPONENT_CLASS_NAME = 'sendbird-openchannel-conversation';\n\ninterface Props extends OpenChannelProps {\n stores: {\n sdkStore?: SendbirdUIKit.SdkStore,\n userStore?: SendbirdUIKit.UserStore,\n };\n config: {\n userId: string,\n isOnline: boolean,\n logger?: SendbirdUIKit.Logger,\n theme?: string,\n /* eslint-disable @typescript-eslint/no-explicit-any*/\n pubSub: any,\n disableUserProfile?: boolean,\n renderUserProfile?(): JSX.Element,\n imageCompression?: {\n compressionRate?: number,\n resizingWidth?: number | string,\n resizingHeight?: number | string,\n },\n };\n}\n\nexport const OpenchannelConversation = (props: Props): JSX.Element => {\n // props\n const {\n useMessageGrouping,\n channelUrl,\n stores,\n config,\n queries = {},\n disableUserProfile,\n fetchingParticipants = false, // We didn't decide to support fetching participant list\n renderCustomMessage,\n renderUserProfile,\n renderChannelTitle,\n renderMessageInput,\n onBeforeSendUserMessage,\n onBeforeSendFileMessage,\n onChatHeaderActionClick\n } = props;\n\n const {\n sdkStore,\n userStore,\n } = stores;\n const {\n userId,\n isOnline,\n logger,\n pubSub,\n imageCompression,\n } = config;\n\n const {\n sdk\n } = sdkStore;\n const {\n user\n } = userStore;\n\n // hook variables\n const [messagesStore, messagesDispatcher] = useReducer(messagesReducer, messagesInitialState);\n const {\n allMessages,\n loading,\n initialized,\n currentOpenChannel,\n isInvalid,\n hasMore,\n lastMessageTimestamp,\n operators,\n bannedParticipantIds,\n mutedParticipantIds,\n } = messagesStore;\n // ref\n const messageInputRef = useRef(null); // useSendMessageCallback\n const conversationScrollRef = useRef(null); // useScrollAfterSendMessageCallback\n const { stringSet } = useContext(LocalizationContext);\n\n // const\n const sdkInit = sdkStore.initialized;\n const userFilledMessageListParams = queries ? queries.messageListParams: null;\n const disabled = !initialized\n || !isOnline\n || utils.isDisabledBecauseFrozen(currentOpenChannel, userId);\n // || utils.isDisabledBecauseMuted(mutedParticipantIds, userId)\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n\n // useMemo\n const amIBanned = useMemo(() => {\n return bannedParticipantIds.indexOf(user.userId) >= 0;\n }, [channelUrl, bannedParticipantIds, user]);\n const amIMuted = useMemo(() => {\n return mutedParticipantIds.indexOf(user.userId) >= 0;\n }, [channelUrl, mutedParticipantIds, user]);\n const amIOperator = useMemo(() => {\n return operators.map(operator => operator.userId).indexOf(user.userId) >= 0;\n }, [channelUrl, operators, user]);\n\n // use hooks\n useSetChannel(\n { channelUrl, sdkInit, fetchingParticipants },\n { sdk, logger, messagesDispatcher },\n );\n const checkScrollBottom = useCheckScrollBottom(\n { conversationScrollRef },\n { logger },\n );\n useHandleChannelEvents(\n { currentOpenChannel, checkScrollBottom },\n { sdk, logger, messagesDispatcher },\n );\n useInitialMessagesFetch(\n { currentOpenChannel, userFilledMessageListParams },\n { sdk, logger, messagesDispatcher },\n );\n const onScroll = useScrollCallback(\n { currentOpenChannel, lastMessageTimestamp },\n { sdk, logger, messagesDispatcher, hasMore, userFilledMessageListParams },\n );\n const handleSendMessage = useSendMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef },\n { sdk, logger, messagesDispatcher },\n );\n const handleFileUpload = useFileUploadCallback(\n { currentOpenChannel, onBeforeSendFileMessage, checkScrollBottom, imageCompression },\n { sdk, logger, messagesDispatcher },\n );\n const updateMessage = useUpdateMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage },\n { sdk, logger, messagesDispatcher },\n );\n const deleteMessage = useDeleteMessageCallback(\n { currentOpenChannel },\n { logger, messagesDispatcher },\n );\n const resendMessage = useResendMessageCallback(\n { currentOpenChannel },\n { logger, messagesDispatcher },\n );\n\n // handle API calls from withSendbird\n useEffect(() => {\n const subscriber = new Map();\n if (!pubSub || !pubSub.subscribe) {\n return;\n }\n subscriber.set(topics.SEND_USER_MESSAGE, pubSub.subscribe(topics.SEND_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel, message } = msg;\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_FILE_MESSAGE, pubSub.subscribe(topics.SEND_FILE_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message, fromSelector } = msg;\n if (fromSelector && channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n }\n }));\n subscriber.set(topics.DELETE_MESSAGE, pubSub.subscribe(topics.DELETE_MESSAGE, (msg) => {\n const { channel, messageId } = msg;\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n }\n }));\n\n return () => {\n if (subscriber) {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n }\n };\n }, [channelUrl, sdkInit]);\n\n if (\n !currentOpenChannel\n || !currentOpenChannel.url\n || amIBanned\n ) {\n return (
);\n }\n if (loading) {\n return (
);\n }\n if (isInvalid) {\n return (
);\n }\n\n return (\n \n {\n renderChannelTitle\n ? renderChannelTitle({\n channel: currentOpenChannel,\n user: user,\n })\n : (\n \n )\n }\n {\n currentOpenChannel.isFrozen && (\n \n )\n }\n \n {\n renderMessageInput\n ? (\n renderMessageInput({\n channel: currentOpenChannel,\n user: user,\n disabled: disabled,\n })\n )\n : (\n \n )\n }\n \n );\n};\n\nexport default withSendbirdContext(OpenchannelConversation);\n"],"names":["getMessageCreatedAt","message","format","createdAt","scrollIntoLast","intialTry","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollTop","scrollHeight","error","setTimeout","isSameGroup","comparingMessage","messageType","sender","userId","sendingStatus","compareMessagesForGrouping","prevMessage","currMessage","nextMessage","kFormatter","num","Math","abs","toFixed","isOperator","openChannel","operators","map","operator","indexOf","isDisabledBecauseFrozen","isFrozen","fetchWithListQuery","listQuery","logger","eachQueryNextCallback","fetchList","query","hasNext","next","users","warning","info","pxToNumber","px","parsed","Number","parseFloat","isNaN","MessageInputWrapper","_a","ref","channel","user","disabled","onSendMessage","onFileUpload","renderMessageInput","stringSet","useContext","LocalizationContext","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__DISABLED","React","forwardRef","FrozenNotification","LabelTypography","CAPTION_2","CHANNEL_FROZEN","COMPONENT_CLASS_NAME","OpenchannelConversationHeader","coverImage","_b","title","LabelStringSet","NO_TITLE","_c","subTitle","amIOperator","onActionClick","width","height","IconTypes","CHANNELS","IconColors","CONTENT","H_2","LabelColors","ONBACKGROUND_1","BODY_2","ONBACKGROUND_2","INFO","MEMBERS","PRIMARY","copyToClipboard","text","window","clipboardData","setData","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","OpenChannelMessageStatusTypes","NONE","PENDING","FAILED","CANCELED","SUCCEEDED","getSenderFromMessage","_sender","checkIsSent","status","checkIsPending","checkIsFailed","checkIsByMe","isFineCopy","length","isFineResend","isResendable","isFineEdit","isFineDelete","showMenuTrigger","props","OpenchannelUserMessage","className","resendMessage","showEdit","showRemove","chainTop","UserProfileContext","disableUserProfile","renderUserProfile","messageRef","useRef","avatarRef","contextMenuRef","useState","contextStyle","setContextStyle","injectingClassName","Array","isArray","push","isByMe","isPending","isFailed","MemoizedMessageText","useMemo","splitMessage","split","matchedMessage","word","updatedAt","uuidv4","BODY_1","MESSAGE_EDITED","useEffect","current","clientHeight","top","innerWidth","join","toggleDropdown","profileUrl","closeDropdown","paddingTop","paddingBottom","close","SECONDARY_3","friendName","nickname","CAPTION_3","ONBACKGROUND_3","SPINNER","ERROR","MORE","CONTENT_INVERSE","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","OpenChannelAdminMessage","__spreadArrays","URL_REG","createUrlTester","regexp","test","checkOGIsEnalbed","ogMetaData","url","OpenchannelOGMessage","defaultImage","messageComponentRef","isUrl","wordClassName","openLink","open","SUBTITLE_2","description","alt","THUMBNAIL_NONE","SUPPORTING_TYPES","IMAGE","VIDEO","UNSUPPORTED","SUPPORTED_MIMES","getSupportingFileType","type","OpenchannelThumbnailMessage","onClick","localUrl","thumbnails","thumbnailUrl","isMessageSent","PLAY","PHOTO","ON_BACKGROUND_2","checkFileType","fileUrl","result","imageFile","audioFile","FILE_DOCUMENT","FILE_AUDIO","truncate","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","ceil","backChars","floor","substr","OpenchannelFileMessage","openFileUrl","name","RemoveMessageModal","onCloseModal","onDeleteMessage","MODAL__DELETE_MESSAGE__TITLE","MessageTypes","ADMIN","USER","FILE","THUMBNAIL","OG","UNKNOWN","SendingMessageStatus","getMessageType","isUserMessage","isAdminMessage","isImage","isVideo","MessageHoc","editDisabled","hasSeperator","renderCustomMessage","deleteMessage","updateMessage","chainBottom","RenderedMessage","setShowEdit","_d","setShowRemove","_e","showFileViewer","setShowFileViewer","editMessageInputRef","requestState","messageId","OpenChannelFileMessage","OpenChannelOGMessage","OpenChannelThumbnailMessage","OpenChannelUserMessage","OpenchannelConversationScroll","useMessageGrouping","openchannel","allMessages","isOnline","hasMore","onScroll","scrollRef","showScrollDownButton","setShowScrollDownButton","handleOnScroll","e","element","target","navigator","userAgent","nodes","querySelectorAll","first_1","scrollIntoView","scrollToBottom","scrollTo","hasMessage","index","previousMessage","previousMessageCreatedAt","currentCreatedAt","isSameDay","PlaceHolderTypes","NO_MESSAGES","CHEVRON_DOWN","SET_CURRENT_CHANNEL","SET_CHANNEL_INVALID","RESET_MESSAGES","GET_PREV_MESSAGES_START","GET_PREV_MESSAGES_SUCESS","GET_PREV_MESSAGES_FAIL","SENDING_MESSAGE_FAILED","SENDING_MESSAGE_SUCCEEDED","SENDING_MESSAGE_START","RESENDING_MESSAGE_START","FETCH_PARTICIPANT_LIST","FETCH_BANNED_USER_LIST","FETCH_MUTED_USER_LIST","ON_MESSAGE_RECEIVED","ON_MESSAGE_UPDATED","ON_MESSAGE_DELETED","ON_MESSAGE_DELETED_BY_REQ_ID","ON_OPERATOR_UPDATED","ON_USER_ENTERED","ON_USER_EXITED","ON_USER_MUTED","ON_USER_UNMUTED","ON_USER_BANNED","ON_USER_UNBANNED","ON_CHANNEL_FROZEN","ON_CHANNEL_UNFROZEN","ON_CHANNEL_CHANGED","ON_META_DATA_CREATED","ON_META_DATA_UPDATED","ON_META_DATA_DELETED","ON_META_COUNTERS_CREATED","ON_META_COUNTERS_UPDATED","ON_META_COUNTERS_DELETED","ON_MENTION_RECEIVED","reducer","state","action","actionTypes","gottenChannel","payload","isInvalid","currentOpenChannel","participants","bannedParticipantIds","mutedParticipantIds","loading","messages","lastMessageTimestamp","actionChannelUrl","receivedMessages_1","_hasMore","_lastMessageTimestamp","stateChannel","stateChannelUrl","filteredAllMessages","filter","find","compareIds","initialized","sentMessage_1","newMessages","m","reqId","sentMessage_2","eventedChannel","resentMessage_1","fetchedParticipantList","fetchedBannedUserList","every","fetchedMutedUserList","receivedMessage","updatedMessage_1","currentChannel","isIdentical","deletedMessageId_1","updatedOperators","enteredUser","exitedUser_1","participant","mutedUser","unmutedUser_1","bannedUser","unbannedUser_1","frozenChannel","frozen","unfrozenChannel","changedChannel","initialState","useSetChannel","channelUrl","sdkInit","fetchingParticipants","sdk","messagesDispatcher","OpenChannel","getChannel","messageActionTypes","enter","_","participantListQuery","createParticipantListQuery","bannedParticipantListQuery","createBannedUserListQuery","mutedParticipantListQuery","createMutedUserListQuery","utils","useHandleChannelEvents","checkScrollBottom","messageReceiverId","ChannelHandler","onMessageReceived","scrollToEnd","onMessageUpdated","onMessageDeleted","onOperatorUpdated","onUserEntered","onUserExited","onUserMuted","onUserUnmuted","onUserBanned","onUserUnbanned","onChannelFrozen","onChannelUnfrozen","onChannelChanged","onMetaDataCreated","metaData","onMetaDataUpdated","onMetaDataDeleted","metaDataKeys","onMetaCountersCreated","metaCounter","onMetaCountersUpdated","onMetaCountersDeleted","metaCounterKeys","onMentionReceived","addChannelHandler","removeChannelHandler","useInitialMessagesFetch","userFilledMessageListParams","MessageListParams","getMessagesByTimestamp","messageListParams_1","prevResultSize","isInclusive","includeReplies","includeReactions","Object","keys","forEach","key","messageListParams","Date","getTime","useScrollCallback","useCallback","callback","hasMore_1","lastMessageTimestamp_1","useCheckScrollBottom","conversationScrollRef","isBottom","conversationScroll","useSendMessageCallback","onBeforeSendUserMessage","messageInputRef","UserMessageParams","value","createParamsDefault","txt","trim","toString","params","createCustomParams","isBottom_1","pendingMessage","sendUserMessage","useFileUploadCallback","imageCompression","onBeforeSendFileMessage","file","FileMessageParams","compressionRate_1","resizingWidth_1","resizingHeight_1","createCustomParams_1","compressibleFileType","compressibleRatio","compressibleDiamensions_1","canCompressImage","createParamsDefault_1","file_","image_1","src","URL","createObjectURL","onload","revokeObjectURL","canvas","imageWidth","naturalWidth","imageHeight","naturalHeight","targetWidth","targetHeight","context","getContext","drawImage","toBlob","newImageBlob","compressedFile","File","sendFileMessage","useUpdateMessageCallback","updateUserMessage","useDeleteMessageCallback","useResendMessageCallback","failedMessage","resendUserMessage","resendFileMessage","console","OpenchannelConversation","stores","config","queries","renderChannelTitle","onChatHeaderActionClick","sdkStore","userStore","pubSub","useReducer","messagesReducer","messagesInitialState","messagesStore","userDefinedDisableUserProfile","userDefinedRenderProfile","amIBanned","amIMuted","handleSendMessage","handleFileUpload","subscriber","Map","subscribe","set","topics","msg","fromSelector","s","remove","NO_CHANNELS","LOADING","WRONG","participantCount","OPEN_CHANNEL_CONVERSATION__TITLE_PARTICIPANTS","coverUrl","FrozenChannelNotification","withSendbirdContext"],"mappings":"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"} \ No newline at end of file diff --git a/OpenChannelSettings.js b/OpenChannelSettings.js index 5484cc2..9fdfe85 100644 --- a/OpenChannelSettings.js +++ b/OpenChannelSettings.js @@ -1,14 +1,14 @@ -import { e as LocalizationContext, d as __spreadArrays, w as withSendbirdContext } from './LocalizationContext-5c5b45a0.js'; +import { e as LocalizationContext, d as __spreadArrays, w as withSendbirdContext } from './LocalizationContext-34316336.js'; import React, { useContext, useMemo, useRef, useState, useEffect } from 'react'; import 'prop-types'; -import { A as Avatar, M as Modal, T as Type, f as TextButton, b as Label, c as LabelTypography, d as LabelColors, I as Icon, a as IconTypes, g as IconColors, B as Button, w as Size, n as UserProfileContext, C as ContextMenu, h as MenuItems, o as UserProfile, P as PlaceHolder, m as PlaceHolderTypes, F as selectors, l as UserProfileProvider } from './index-c97add1b.js'; +import { A as Avatar, M as Modal, T as Type, g as TextButton, c as Label, d as LabelTypography, e as LabelColors, I as Icon, a as IconTypes, b as IconColors, B as Button, w as Size, n as UserProfileContext, C as ContextMenu, h as MenuItems, o as UserProfile, P as PlaceHolder, m as PlaceHolderTypes, F as selectors, l as UserProfileProvider } from './index-79d744e1.js'; import { d as getOpenChannelAvatar, n as noop } from './utils-53ba1773.js'; import 'date-fns/format'; import './type-0296584d.js'; import 'react-dom'; -import { I as InputLabel, a as Input, U as UserListItem$1 } from './index-2c17b4ed.js'; +import { I as InputLabel, a as Input, U as UserListItem$1 } from './index-49dfd24f.js'; import { c as copyToClipboard } from './utils-d7f59026.js'; -import { a as Accordion, A as AccordionGroup } from './index-e492270c.js'; +import { a as Accordion, A as AccordionGroup } from './index-cb09a8ab.js'; function ChannelAvatar(_a) { var channel = _a.channel, @@ -20,7 +20,7 @@ function ChannelAvatar(_a) { var stringSet = useContext(LocalizationContext).stringSet; var memoizedAvatar = useMemo(function () { return React.createElement(Avatar, { - className: "sendbird-chat-header__avatar--group-channel", + className: "sendbird-chat-header__avatar--open-channel", src: getOpenChannelAvatar(channel), width: width + "px", height: height + "px", diff --git a/OpenChannelSettings.js.map b/OpenChannelSettings.js.map index ff78d97..eca2a78 100644 --- a/OpenChannelSettings.js.map +++ b/OpenChannelSettings.js.map @@ -1 +1 @@ -{"version":3,"file":"OpenChannelSettings.js","sources":["../src/ui/ChannelAvatar/OpenChannelAvatar.tsx","../src/smart-components/OpenChannelSettings/components/EditDetailsModal.tsx","../src/smart-components/OpenChannelSettings/components/ChannelProfile.tsx","../src/smart-components/OpenChannelSettings/components/ParticipantsModal.tsx","../src/smart-components/OpenChannelSettings/components/ParticipantsAccordion.tsx","../src/smart-components/OpenChannelSettings/components/DeleteChannel.tsx","../src/smart-components/OpenChannelSettings/components/ParticipantsList.tsx","../src/smart-components/OpenChannelSettings/components/InvalidChannel.tsx","../src/smart-components/OpenChannelSettings/index.tsx"],"sourcesContent":["import React, { useMemo, useContext } from 'react';\n\nimport Avatar from '../Avatar/index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport * as utils from './utils';\n\ninterface Props {\n channel: SendBird.OpenChannel;\n theme: string;\n height?: number;\n width?: number;\n}\n\nfunction ChannelAvatar({\n channel,\n theme,\n height = 56,\n width = 56,\n}: Props): JSX.Element{\n const { stringSet } = useContext(LocalizationContext);\n const memoizedAvatar = useMemo(() => {\n return (\n \n );\n }, [channel.coverUrl, theme]);\n return (\n <>{ memoizedAvatar }\n );\n}\n\nexport default ChannelAvatar;\n","import React, {\n useState,\n useRef,\n useContext,\n ReactElement,\n} from 'react';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Modal from '../../../ui/Modal';\nimport Input, { InputLabel } from '../../../ui/Input';\nimport Avatar from '../../../ui/Avatar/index';\nimport { Type as ButtonType } from '../../../ui/Button/type';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport TextButton from '../../../ui/TextButton';\nimport OpenChannelAvatar from '../../../ui/ChannelAvatar/OpenChannelAvatar';\n\ninterface Props {\n onSubmit(newFile: File, newTitle: string): void;\n onCancel(): void;\n channel: SendBird.OpenChannel;\n theme: string;\n}\n\nconst EditDetails = (props: Props): ReactElement => {\n const {\n onSubmit,\n onCancel,\n channel,\n theme,\n } = props;\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const hiddenInputRef = useRef(null);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n const title = channel.name;\n return (\n {\n if (title !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n onSubmit(newFile, inputRef.current.value);\n onCancel();\n }}\n type={ButtonType.PRIMARY}\n >\n { e.preventDefault(); }}\n >\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE}\n \n
\n {\n currentImg\n ? (\n \n ) : (\n \n )\n }\n
\n {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n hiddenInputRef.current.click()}\n notUnderline\n >\n \n \n
\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_NAME}\n \n \n
\n \n \n );\n};\n\nexport default EditDetails;\n","import React, {\n ReactElement,\n useContext,\n useState,\n} from 'react';\n\nimport './channel-profile.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport TextButton from '../../../ui/TextButton';\nimport OpenChannelAvatar from '../../../ui/ChannelAvatar/OpenChannelAvatar';\nimport EditDetailsModal from './EditDetailsModal';\n\ninterface Props {\n channel: SendBird.OpenChannel;\n disabled: boolean;\n theme: string;\n onChannelInfoChange(currentImg: File, currentTitle: string): void;\n}\n\nexport default function ChannelProfile(props: Props): ReactElement {\n const {\n disabled,\n channel,\n theme,\n onChannelInfoChange,\n } = props;\n const title = channel.name;\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n
\n
\n
\n \n
\n \n {title || stringSet.OPEN_CHANNEL_SETTINGS__NO_TITLE}\n \n {\n if (disabled) { return; }\n setShowModal(true);\n }}\n notUnderline\n >\n \n {stringSet.CHANNEL_SETTING__PROFILE__EDIT}\n \n \n {\n showModal && (\n setShowModal(false)}\n onSubmit={onChannelInfoChange}\n channel={channel}\n theme={theme}\n />\n )\n }\n
\n
\n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport UserListItem from '../../../ui/UserListItem';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { noop } from '../../../utils/utils';\n\ninterface Props {\n currentUser: string;\n hideModal(): void;\n channel: SendBird.OpenChannel;\n}\n\nexport default function ParticipantsModal({\n hideModal,\n channel,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState([]);\n const [participantListQuery, setParticipantListQuery] = useState(null);\n useEffect(() => {\n if (!channel || !channel.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel.createParticipantListQuery();\n setParticipantListQuery(participantListQuery);\n participantListQuery.next((participantList, error) => {\n if (error) {\n return;\n }\n setParticipants(participantList);\n });\n }, []);\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n >\n {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next((fetchedParticipants, error) => {\n if (error) {\n return;\n }\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n { participants.map((p) => (\n \n ))}\n
\n \n \n )\n}\n","import React, {\n ReactElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\nimport { UserProfileContext } from '../../../lib/UserProfileContext';\nimport Button from '../../../ui/Button';\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../ui/Button/type';\nimport Accordion from '../../../ui/Accordion';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\nimport Avatar from '../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport ParticipantsModal from './ParticipantsModal';\nimport UserProfile from '../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../ui/ContextMenu';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface UserListItemProps {\n member: SendBird.User;\n currentUser?: string;\n}\n\nexport const UserListItem = ({\n member,\n currentUser = '',\n}: UserListItemProps): ReactElement => {\n const avatarRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={member.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: member,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n
\n \n
\n );\n};\n\ninterface Props {\n channel: SendBird.OpenChannel;\n currentUser: string;\n}\n\nexport default function ParticipantsAccordion({ channel, currentUser }: Props): ReactElement {\n const [participants, setParticipants] = useState([]);\n const [showMoreModal, setShowMoreModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel || !channel.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel.createParticipantListQuery();\n participantListQuery.next((participantList, error) => {\n if (error) {\n return;\n }\n setParticipants(participantList);\n });\n }, [channel]);\n\n return (\n (\n <>\n \n \n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n \n \n )}\n renderContent={() => (\n
\n
\n {\n participants.slice(0, SHOWN_MEMBER_MAX).map((p) => (\n \n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n \n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n \n ): null\n }\n
\n {\n participants.length >= SHOWN_MEMBER_MAX && (\n
\n setShowMoreModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__SEE_ALL}\n \n {\n showMoreModal && (\n {\n setShowMoreModal(false);\n }}\n channel={channel}\n />\n )\n }\n
\n )\n }\n
\n )}\n />\n );\n}\n","import React, {\n ReactElement,\n useState,\n useContext,\n} from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n isOnline: boolean;\n onDeleteChannel(): void;\n}\n\nexport default function DeleteChannel({\n isOnline,\n onDeleteChannel,\n}: Props): ReactElement {\n const [showDeleteChannelModal, setShowDeleteChannelModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <>\n {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n onClick={() => {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n >\n \n \n {stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL}\n \n \n {\n showDeleteChannelModal && (\n {\n setShowDeleteChannelModal(false);\n }}\n onSubmit={() => {\n onDeleteChannel();\n }}\n submitText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE}\n />\n )\n }\n \n )\n}\n","import React, {\n ReactElement,\n useContext,\n useState,\n useEffect,\n} from 'react';\n\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\n\nimport { UserListItem } from './ParticipantsAccordion';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n channel: SendBird.OpenChannel;\n onCloseClick(): void;\n currentUser: string;\n}\n\nexport default function ParticipantsList({\n channel,\n onCloseClick,\n currentUser,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState([]);\n const [participantListQuery, setParticipantListQuery] = useState(null);\n useEffect(() => {\n if (!channel || !channel.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel.createParticipantListQuery();\n setParticipantListQuery(participantListQuery);\n participantListQuery.next((participantList, error) => {\n if (error) {\n return;\n }\n setParticipants(participantList);\n });\n }, [channel]);\n return (\n
\n
\n \n {\n onCloseClick();\n }}\n />\n
\n {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next((fetchedParticipants, error) => {\n if (error) {\n return;\n }\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n
\n {\n participants.map((p: SendBird.User) => (\n \n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n \n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n \n ): null\n }\n
\n
\n \n )\n}\n","import React, { ReactElement, useContext } from 'react'\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\n\nimport PlaceHolder from '../../../ui/PlaceHolder';\nimport PlaceHolderTypes from '../../../ui/PlaceHolder/type';\n\ninterface Props {\n onCloseClick?(): void;\n}\n\nexport default function InvalidChannel({\n onCloseClick,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n \n {\n onCloseClick();\n }}\n />\n
\n
\n \n
\n
\n )\n}\n","import React, {\n useContext,\n useState,\n useEffect,\n} from 'react';\nimport { OpenChannelSettingsProps } from '../../index';\n\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport selectors from '../../lib/selectors';\n\nimport { copyToClipboard } from '../../ui/Message/utils.js'\n\nimport './index.scss';\nimport Label, { LabelTypography, LabelColors } from '../../ui/Label';\nimport Icon, { IconTypes } from '../../ui/Icon';\nimport ChannelProfile from './components/ChannelProfile';\nimport ParticipantsAccordion from './components/ParticipantsAccordion';\nimport DeleteChannel from './components/DeleteChannel';\nimport ParticipantsList from './components/ParticipantsList';\nimport InvalidChannel from './components/InvalidChannel';\nimport { AccordionGroup } from '../../ui/Accordion';\nimport { noop } from '../../utils/utils';\n\nconst emptyLogger = () => ({\n info: noop,\n error: noop,\n warning: noop,\n});\n\ninterface Props extends OpenChannelSettingsProps {\n logger: SendbirdUIKit.Logger;\n sdk: SendBird.SendBirdInstance;\n theme: string;\n user: SendBird.User;\n isOnline: boolean;\n}\n\nfunction OpenChannelSettings(props: Props) {\n const {\n channelUrl,\n onCloseClick = noop,\n onBeforeUpdateChannel,\n onChannelModified = noop,\n renderChannelProfile,\n renderUserProfile,\n onDeleteChannel,\n disableUserProfile = false,\n logger = emptyLogger(),\n sdk,\n theme,\n user,\n isOnline,\n } = props;\n\n const currentUser = user.userId;\n const [channel, setChannel] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n useEffect(() => {\n if (!channelUrl || !sdk || !sdk.getConnectionState) {\n setChannel(null);\n return;\n }\n\n sdk.OpenChannel.getChannel(channelUrl, (openChannel, error) => {\n if (!error) {\n setChannel(openChannel);\n } else {\n setChannel(null);\n }\n });\n }, [channelUrl, sdk])\n if (!channel) {\n return (\n {\n logger.info('OpenChannelSettings: Click close');\n if (onCloseClick) {\n onCloseClick();\n }\n }}\n />\n );\n }\n return (\n \n {\n channel.isOperator(user)\n ? (\n <>\n
\n \n {\n onCloseClick();\n }}\n />\n
\n
\n {\n renderChannelProfile\n ? renderChannelProfile({ channel, user })\n : (\n {\n logger.info('ChannelSettings: Channel information being updated');\n if (onBeforeUpdateChannel) {\n const params = onBeforeUpdateChannel(currentTitle, currentImg, channel.data);\n logger.info('ChannelSettings: onBeforeUpdateChannel', params);\n channel.updateChannel(params, (openChannel) => {\n onChannelModified(openChannel);\n // setChannel(openChannel) => alone not working\n setChannel(null);\n setChannel(openChannel);\n });\n } else {\n channel.updateChannel(\n currentTitle,\n currentImg,\n channel.data,\n (openChannel) => {\n logger.info('ChannelSettings: Channel information updated', openChannel);\n onChannelModified(openChannel);\n // setChannel(openChannel) => alone not working\n setChannel(null);\n setChannel(openChannel);\n },\n );\n }\n }}\n />\n )\n }\n
\n
\n {\n copyToClipboard(channel.url);\n }}\n />\n \n {stringSet.OPEN_CHANNEL_SETTINGS__OPERATOR_URL}\n \n \n {channel.url}\n \n
\n \n \n \n {\n channel.delete((response, error) => {\n if (error) {\n logger.warning('OpenChannelSettings: Delete channel failed', error);\n return;\n }\n logger.info('OpenChannelSettings: Delete channel success', response);\n if (onDeleteChannel) {\n onDeleteChannel(channel);\n }\n });\n }}\n />\n \n ) : (\n {\n onCloseClick();\n }}\n />\n )\n }\n \n )\n}\n\nconst ChannelSettingsWithSendbird = withSendbirdContext(OpenChannelSettings, (store) => {\n const logger = (store && store.config && store.config.logger);\n const theme = (store && store.config && store.config.theme) || 'light';\n const isOnline = (store && store.config && store.config.isOnline);\n const user = (store && store.stores && store.stores.userStore\n && store.stores.userStore.user);\n return {\n sdk: selectors.getSdk(store),\n logger,\n theme,\n isOnline,\n user,\n };\n});\n\nexport default ChannelSettingsWithSendbird;\n"],"names":["ChannelAvatar","_a","channel","theme","_b","height","_c","width","stringSet","useContext","LocalizationContext","memoizedAvatar","useMemo","utils","name","OPEN_CHANNEL_SETTINGS__NO_TITLE","coverUrl","EditDetails","props","onSubmit","onCancel","inputRef","useRef","formRef","hiddenInputRef","useState","currentImg","setCurrentImg","newFile","setNewFile","title","MODAL__CHANNEL_INFORMATION__TITLE","BUTTON__SAVE","current","value","reportValidity","ButtonType","PRIMARY","e","preventDefault","MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE","OpenChannelAvatar","display","URL","createObjectURL","target","files","click","LabelTypography","BUTTON_1","LabelColors","MODAL__CHANNEL_INFORMATION__UPLOAD","MODAL__CHANNEL_INFORMATION__CHANNEL_NAME","MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER","ChannelProfile","disabled","onChannelInfoChange","showModal","setShowModal","SUBTITLE_2","ONBACKGROUND_1","ONBACKGROUND_2","CHANNEL_SETTING__PROFILE__EDIT","EditDetailsModal","ParticipantsModal","hideModal","participants","setParticipants","participantListQuery","setParticipantListQuery","useEffect","createParticipantListQuery","next","participantList","error","noop","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","hasNext","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","map","p","UserListItem","userId","SHOWN_MEMBER_MAX","member","currentUser","avatarRef","UserProfileContext","disableUserProfile","renderUserProfile","toggleDropdown","profileUrl","closeDropdown","paddingTop","paddingBottom","user","currentUserId","close","nickname","NO_NAME","YOU","ParticipantsAccordion","showMoreModal","setShowMoreModal","IconTypes","MEMBERS","IconColors","SUBTITLE_1","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE","slice","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","ButtonTypes","SECONDARY","ButtonSizes","SMALL","OPEN_CHANNEL_SETTINGS__SEE_ALL","DeleteChannel","isOnline","onDeleteChannel","showDeleteChannelModal","setShowDeleteChannelModal","DELETE","join","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE","ParticipantsList","onCloseClick","H_2","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE","CLOSE","InvalidChannel","CHANNEL_SETTING__HEADER__TITLE","PlaceHolderTypes","WRONG","emptyLogger","info","warning","OpenChannelSettings","channelUrl","onBeforeUpdateChannel","onChannelModified","renderChannelProfile","_d","logger","sdk","_e","setChannel","getConnectionState","OpenChannel","getChannel","openChannel","isOperator","currentTitle","params","data","updateChannel","COPY","copyToClipboard","url","CAPTION_2","OPEN_CHANNEL_SETTINGS__OPERATOR_URL","delete","response","ChannelSettingsWithSendbird","withSendbirdContext","store","config","stores","userStore","selectors","getSdk"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"OpenChannelSettings.js","sources":["../src/ui/ChannelAvatar/OpenChannelAvatar.tsx","../src/smart-components/OpenChannelSettings/components/EditDetailsModal.tsx","../src/smart-components/OpenChannelSettings/components/ChannelProfile.tsx","../src/smart-components/OpenChannelSettings/components/ParticipantsModal.tsx","../src/smart-components/OpenChannelSettings/components/ParticipantsAccordion.tsx","../src/smart-components/OpenChannelSettings/components/DeleteChannel.tsx","../src/smart-components/OpenChannelSettings/components/ParticipantsList.tsx","../src/smart-components/OpenChannelSettings/components/InvalidChannel.tsx","../src/smart-components/OpenChannelSettings/index.tsx"],"sourcesContent":["import React, { useMemo, useContext } from 'react';\n\nimport Avatar from '../Avatar/index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport * as utils from './utils';\n\ninterface Props {\n channel: SendBird.OpenChannel;\n theme: string;\n height?: number;\n width?: number;\n}\n\nfunction ChannelAvatar({\n channel,\n theme,\n height = 56,\n width = 56,\n}: Props): JSX.Element{\n const { stringSet } = useContext(LocalizationContext);\n const memoizedAvatar = useMemo(() => {\n return (\n \n );\n }, [channel.coverUrl, theme]);\n return (\n <>{ memoizedAvatar }\n );\n}\n\nexport default ChannelAvatar;\n","import React, {\n useState,\n useRef,\n useContext,\n ReactElement,\n} from 'react';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Modal from '../../../ui/Modal';\nimport Input, { InputLabel } from '../../../ui/Input';\nimport Avatar from '../../../ui/Avatar/index';\nimport { Type as ButtonType } from '../../../ui/Button/type';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport TextButton from '../../../ui/TextButton';\nimport OpenChannelAvatar from '../../../ui/ChannelAvatar/OpenChannelAvatar';\n\ninterface Props {\n onSubmit(newFile: File, newTitle: string): void;\n onCancel(): void;\n channel: SendBird.OpenChannel;\n theme: string;\n}\n\nconst EditDetails = (props: Props): ReactElement => {\n const {\n onSubmit,\n onCancel,\n channel,\n theme,\n } = props;\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const hiddenInputRef = useRef(null);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n const title = channel.name;\n return (\n {\n if (title !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n onSubmit(newFile, inputRef.current.value);\n onCancel();\n }}\n type={ButtonType.PRIMARY}\n >\n { e.preventDefault(); }}\n >\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE}\n \n
\n {\n currentImg\n ? (\n \n ) : (\n \n )\n }\n
\n {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n hiddenInputRef.current.click()}\n notUnderline\n >\n \n \n
\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_NAME}\n \n \n
\n \n \n );\n};\n\nexport default EditDetails;\n","import React, {\n ReactElement,\n useContext,\n useState,\n} from 'react';\n\nimport './channel-profile.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport TextButton from '../../../ui/TextButton';\nimport OpenChannelAvatar from '../../../ui/ChannelAvatar/OpenChannelAvatar';\nimport EditDetailsModal from './EditDetailsModal';\n\ninterface Props {\n channel: SendBird.OpenChannel;\n disabled: boolean;\n theme: string;\n onChannelInfoChange(currentImg: File, currentTitle: string): void;\n}\n\nexport default function ChannelProfile(props: Props): ReactElement {\n const {\n disabled,\n channel,\n theme,\n onChannelInfoChange,\n } = props;\n const title = channel.name;\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n
\n
\n
\n \n
\n \n {title || stringSet.OPEN_CHANNEL_SETTINGS__NO_TITLE}\n \n {\n if (disabled) { return; }\n setShowModal(true);\n }}\n notUnderline\n >\n \n {stringSet.CHANNEL_SETTING__PROFILE__EDIT}\n \n \n {\n showModal && (\n setShowModal(false)}\n onSubmit={onChannelInfoChange}\n channel={channel}\n theme={theme}\n />\n )\n }\n
\n
\n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport UserListItem from '../../../ui/UserListItem';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { noop } from '../../../utils/utils';\n\ninterface Props {\n currentUser: string;\n hideModal(): void;\n channel: SendBird.OpenChannel;\n}\n\nexport default function ParticipantsModal({\n hideModal,\n channel,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState|null>([]);\n const [participantListQuery, setParticipantListQuery] = useState(null);\n useEffect(() => {\n if (!channel || !channel.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel.createParticipantListQuery();\n setParticipantListQuery(participantListQuery);\n participantListQuery.next((participantList, error) => {\n if (error) {\n return;\n }\n setParticipants(participantList);\n });\n }, []);\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n >\n {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next((fetchedParticipants, error) => {\n if (error) {\n return;\n }\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n { participants.map((p) => (\n \n ))}\n
\n \n \n )\n}\n","import React, {\n ReactElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\nimport { UserProfileContext } from '../../../lib/UserProfileContext';\nimport Button from '../../../ui/Button';\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../ui/Button/type';\nimport Accordion from '../../../ui/Accordion';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\nimport Avatar from '../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport ParticipantsModal from './ParticipantsModal';\nimport UserProfile from '../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../ui/ContextMenu';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface UserListItemProps {\n member: SendBird.User;\n currentUser?: string;\n}\n\nexport const UserListItem = ({\n member,\n currentUser = '',\n}: UserListItemProps): ReactElement => {\n const avatarRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={member.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: member,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n
\n \n
\n );\n};\n\ninterface Props {\n channel: SendBird.OpenChannel;\n currentUser: string;\n}\n\nexport default function ParticipantsAccordion({ channel, currentUser }: Props): ReactElement {\n const [participants, setParticipants] = useState([]);\n const [showMoreModal, setShowMoreModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel || !channel.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel.createParticipantListQuery();\n participantListQuery.next((participantList, error) => {\n if (error) {\n return;\n }\n setParticipants(participantList);\n });\n }, [channel]);\n\n return (\n (\n <>\n \n \n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n \n \n )}\n renderContent={() => (\n
\n
\n {\n participants.slice(0, SHOWN_MEMBER_MAX).map((p) => (\n \n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n \n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n \n ): null\n }\n
\n {\n participants.length >= SHOWN_MEMBER_MAX && (\n
\n setShowMoreModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__SEE_ALL}\n \n {\n showMoreModal && (\n {\n setShowMoreModal(false);\n }}\n channel={channel}\n />\n )\n }\n
\n )\n }\n
\n )}\n />\n );\n}\n","import React, {\n ReactElement,\n useState,\n useContext,\n} from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n isOnline: boolean;\n onDeleteChannel(): void;\n}\n\nexport default function DeleteChannel({\n isOnline,\n onDeleteChannel,\n}: Props): ReactElement {\n const [showDeleteChannelModal, setShowDeleteChannelModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <>\n {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n onClick={() => {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n >\n \n \n {stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL}\n \n \n {\n showDeleteChannelModal && (\n {\n setShowDeleteChannelModal(false);\n }}\n onSubmit={() => {\n onDeleteChannel();\n }}\n submitText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE}\n />\n )\n }\n \n )\n}\n","import React, {\n ReactElement,\n useContext,\n useState,\n useEffect,\n} from 'react';\n\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\n\nimport { UserListItem } from './ParticipantsAccordion';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n channel: SendBird.OpenChannel;\n onCloseClick(): void;\n currentUser: string;\n}\n\nexport default function ParticipantsList({\n channel,\n onCloseClick,\n currentUser,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState|null>([]);\n const [participantListQuery, setParticipantListQuery] = useState(null);\n useEffect(() => {\n if (!channel || !channel.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel.createParticipantListQuery();\n setParticipantListQuery(participantListQuery);\n participantListQuery.next((participantList, error) => {\n if (error) {\n return;\n }\n setParticipants(participantList);\n });\n }, [channel]);\n return (\n
\n
\n \n {\n onCloseClick();\n }}\n />\n
\n {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next((fetchedParticipants, error) => {\n if (error) {\n return;\n }\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n
\n {\n participants.map((p: SendBird.User) => (\n \n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n \n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n \n ): null\n }\n
\n
\n \n )\n}\n","import React, { ReactElement, useContext } from 'react'\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\n\nimport PlaceHolder from '../../../ui/PlaceHolder';\nimport PlaceHolderTypes from '../../../ui/PlaceHolder/type';\n\ninterface Props {\n onCloseClick?(): void;\n}\n\nexport default function InvalidChannel({\n onCloseClick,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n \n {\n onCloseClick();\n }}\n />\n
\n
\n \n
\n
\n )\n}\n","import React, {\n useContext,\n useState,\n useEffect,\n} from 'react';\nimport { OpenChannelSettingsProps } from '../../index';\n\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport selectors from '../../lib/selectors';\n\nimport { copyToClipboard } from '../../ui/Message/utils.js'\n\nimport './index.scss';\nimport Label, { LabelTypography, LabelColors } from '../../ui/Label';\nimport Icon, { IconTypes } from '../../ui/Icon';\nimport ChannelProfile from './components/ChannelProfile';\nimport ParticipantsAccordion from './components/ParticipantsAccordion';\nimport DeleteChannel from './components/DeleteChannel';\nimport ParticipantsList from './components/ParticipantsList';\nimport InvalidChannel from './components/InvalidChannel';\nimport { AccordionGroup } from '../../ui/Accordion';\nimport { noop } from '../../utils/utils';\n\nconst emptyLogger = () => ({\n info: noop,\n error: noop,\n warning: noop,\n});\n\ninterface Props extends OpenChannelSettingsProps {\n logger: SendbirdUIKit.Logger;\n sdk: SendBird.SendBirdInstance;\n theme: string;\n user: SendBird.User;\n isOnline: boolean;\n}\n\nfunction OpenChannelSettings(props: Props) {\n const {\n channelUrl,\n onCloseClick = noop,\n onBeforeUpdateChannel,\n onChannelModified = noop,\n renderChannelProfile,\n renderUserProfile,\n onDeleteChannel,\n disableUserProfile = false,\n logger = emptyLogger(),\n sdk,\n theme,\n user,\n isOnline,\n } = props;\n\n const currentUser = user.userId;\n const [channel, setChannel] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n useEffect(() => {\n if (!channelUrl || !sdk || !sdk.getConnectionState) {\n setChannel(null);\n return;\n }\n\n sdk.OpenChannel.getChannel(channelUrl, (openChannel, error) => {\n if (!error) {\n setChannel(openChannel);\n } else {\n setChannel(null);\n }\n });\n }, [channelUrl, sdk])\n if (!channel) {\n return (\n {\n logger.info('OpenChannelSettings: Click close');\n if (onCloseClick) {\n onCloseClick();\n }\n }}\n />\n );\n }\n return (\n \n {\n channel.isOperator(user)\n ? (\n <>\n
\n \n {\n onCloseClick();\n }}\n />\n
\n
\n {\n renderChannelProfile\n ? renderChannelProfile({ channel, user })\n : (\n {\n logger.info('ChannelSettings: Channel information being updated');\n if (onBeforeUpdateChannel) {\n const params = onBeforeUpdateChannel(currentTitle, currentImg, channel.data);\n logger.info('ChannelSettings: onBeforeUpdateChannel', params);\n channel.updateChannel(params, (openChannel) => {\n onChannelModified(openChannel);\n // setChannel(openChannel) => alone not working\n setChannel(null);\n setChannel(openChannel);\n });\n } else {\n channel.updateChannel(\n currentTitle,\n currentImg,\n channel.data,\n (openChannel) => {\n logger.info('ChannelSettings: Channel information updated', openChannel);\n onChannelModified(openChannel);\n // setChannel(openChannel) => alone not working\n setChannel(null);\n setChannel(openChannel);\n },\n );\n }\n }}\n />\n )\n }\n
\n
\n {\n copyToClipboard(channel.url);\n }}\n />\n \n {stringSet.OPEN_CHANNEL_SETTINGS__OPERATOR_URL}\n \n \n {channel.url}\n \n
\n \n \n \n {\n channel.delete((response, error) => {\n if (error) {\n logger.warning('OpenChannelSettings: Delete channel failed', error);\n return;\n }\n logger.info('OpenChannelSettings: Delete channel success', response);\n if (onDeleteChannel) {\n onDeleteChannel(channel);\n }\n });\n }}\n />\n \n ) : (\n {\n onCloseClick();\n }}\n />\n )\n }\n \n )\n}\n\nconst ChannelSettingsWithSendbird = withSendbirdContext(OpenChannelSettings, (store) => {\n const logger = (store && store.config && store.config.logger);\n const theme = (store && store.config && store.config.theme) || 'light';\n const isOnline = (store && store.config && store.config.isOnline);\n const user = (store && store.stores && store.stores.userStore\n && store.stores.userStore.user);\n return {\n sdk: selectors.getSdk(store),\n logger,\n theme,\n isOnline,\n user,\n };\n});\n\nexport default ChannelSettingsWithSendbird;\n"],"names":["ChannelAvatar","_a","channel","theme","_b","height","_c","width","stringSet","useContext","LocalizationContext","memoizedAvatar","useMemo","utils","name","OPEN_CHANNEL_SETTINGS__NO_TITLE","coverUrl","EditDetails","props","onSubmit","onCancel","inputRef","useRef","formRef","hiddenInputRef","useState","currentImg","setCurrentImg","newFile","setNewFile","title","MODAL__CHANNEL_INFORMATION__TITLE","BUTTON__SAVE","current","value","reportValidity","ButtonType","PRIMARY","e","preventDefault","MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE","OpenChannelAvatar","display","URL","createObjectURL","target","files","click","LabelTypography","BUTTON_1","LabelColors","MODAL__CHANNEL_INFORMATION__UPLOAD","MODAL__CHANNEL_INFORMATION__CHANNEL_NAME","MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER","ChannelProfile","disabled","onChannelInfoChange","showModal","setShowModal","SUBTITLE_2","ONBACKGROUND_1","ONBACKGROUND_2","CHANNEL_SETTING__PROFILE__EDIT","EditDetailsModal","ParticipantsModal","hideModal","participants","setParticipants","participantListQuery","setParticipantListQuery","useEffect","createParticipantListQuery","next","participantList","error","noop","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","hasNext","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","map","p","UserListItem","userId","SHOWN_MEMBER_MAX","member","currentUser","avatarRef","UserProfileContext","disableUserProfile","renderUserProfile","toggleDropdown","profileUrl","closeDropdown","paddingTop","paddingBottom","user","currentUserId","close","nickname","NO_NAME","YOU","ParticipantsAccordion","showMoreModal","setShowMoreModal","IconTypes","MEMBERS","IconColors","SUBTITLE_1","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE","slice","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","ButtonTypes","SECONDARY","ButtonSizes","SMALL","OPEN_CHANNEL_SETTINGS__SEE_ALL","DeleteChannel","isOnline","onDeleteChannel","showDeleteChannelModal","setShowDeleteChannelModal","DELETE","join","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE","ParticipantsList","onCloseClick","H_2","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE","CLOSE","InvalidChannel","CHANNEL_SETTING__HEADER__TITLE","PlaceHolderTypes","WRONG","emptyLogger","info","warning","OpenChannelSettings","channelUrl","onBeforeUpdateChannel","onChannelModified","renderChannelProfile","_d","logger","sdk","_e","setChannel","getConnectionState","OpenChannel","getChannel","openChannel","isOperator","currentTitle","params","data","updateChannel","COPY","copyToClipboard","url","CAPTION_2","OPEN_CHANNEL_SETTINGS__OPERATOR_URL","delete","response","ChannelSettingsWithSendbird","withSendbirdContext","store","config","stores","userStore","selectors","getSdk"],"mappings":"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"} \ No newline at end of file diff --git a/SendbirdProvider.js b/SendbirdProvider.js index 84d891f..f108be6 100644 --- a/SendbirdProvider.js +++ b/SendbirdProvider.js @@ -1,4 +1,4 @@ -import { _ as __assign, a as _objectSpread2, b as _slicedToArray, u as uuidv4, g as getStringSet, S as SendbirdSdkContext, L as LocalizationProvider } from './LocalizationContext-5c5b45a0.js'; +import { _ as __assign, a as _objectSpread2, b as _slicedToArray, u as uuidv4, g as getStringSet, S as SendbirdSdkContext, L as LocalizationProvider } from './LocalizationContext-34316336.js'; import React, { useLayoutEffect, useState, useEffect, useReducer } from 'react'; import PropTypes from 'prop-types'; import Sb from 'sendbird'; @@ -10,7 +10,7 @@ var SET_SDK_LOADING = 'SET_SDK_LOADING'; var RESET_SDK = 'RESET_SDK'; var SDK_ERROR = 'SDK_ERROR'; -var APP_VERSION_STRING = '2.0.2'; +var APP_VERSION_STRING = '2.1.0'; var disconnectSdk = function disconnectSdk(_ref) { var sdkDispatcher = _ref.sdkDispatcher, userDispatcher = _ref.userDispatcher, @@ -219,8 +219,7 @@ var useTheme = function useTheme(overrides) { '--sendbird-light-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)', '--sendbird-light-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)', '--sendbird-light-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)', - '--sendbird-light-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)', - '--sendbird-light-theme-surface-2': '#EAEAEA' + '--sendbird-light-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)' }, overrides) }); } diff --git a/SendbirdProvider.js.map b/SendbirdProvider.js.map index 7f1beaf..8242674 100644 --- a/SendbirdProvider.js.map +++ b/SendbirdProvider.js.map @@ -1 +1 @@ -{"version":3,"file":"SendbirdProvider.js","sources":["../src/lib/dux/sdk/actionTypes.js","../src/lib/dux/sdk/thunks.js","../src/lib/hooks/useTheme.ts","../src/lib/dux/sdk/initialState.js","../src/lib/dux/sdk/reducers.js","../src/lib/dux/user/initialState.js","../src/lib/dux/user/reducers.js","../src/lib/hooks/useOnlineStatus.js","../src/lib/Logger/index.js","../src/lib/pubSub/index.js","../src/hooks/useAppendDomNode.js","../src/lib/Sendbird.jsx"],"sourcesContent":["export const INIT_SDK = 'INIT_SDK';\nexport const SET_SDK_LOADING = 'SET_SDK_LOADING';\nexport const RESET_SDK = 'RESET_SDK';\nexport const SDK_ERROR = 'SDK_ERROR';\n","import Sb from 'sendbird';\n\nimport {\n INIT_SDK,\n SET_SDK_LOADING,\n RESET_SDK,\n SDK_ERROR,\n} from './actionTypes';\nimport { INIT_USER, UPDATE_USER_INFO, RESET_USER } from '../user/actionTypes';\n\nconst APP_VERSION_STRING = '__uikit_app_version__';\nconst IS_ROLLUP = '__is_rollup__';\nconst IS_ROLLUP_REPLACE = '__is_rollup_replace__';\n\nexport const disconnectSdk = ({\n sdkDispatcher,\n userDispatcher,\n sdk,\n onDisconnect,\n}) => {\n sdkDispatcher({ type: SET_SDK_LOADING, payload: true });\n if (sdk && sdk.disconnect) {\n sdk.disconnect()\n .then(() => {\n sdkDispatcher({ type: RESET_SDK });\n userDispatcher({ type: RESET_USER });\n })\n .finally(() => {\n onDisconnect();\n });\n } else {\n onDisconnect();\n }\n};\n\nexport const handleConnection = ({\n userId,\n appId,\n nickname,\n profileUrl,\n accessToken,\n sdk,\n logger,\n}, dispatchers) => {\n const {\n sdkDispatcher,\n userDispatcher,\n } = dispatchers;\n disconnectSdk({\n sdkDispatcher,\n userDispatcher,\n sdk,\n logger,\n onDisconnect: () => {\n logger.info('Setup connection');\n sdkDispatcher({ type: SET_SDK_LOADING, payload: true });\n if (userId && appId) {\n const newSdk = new Sb({ appId });\n // to check if code is released version from rollup and *not from storybook*\n // see rollup config file\n if (IS_ROLLUP === IS_ROLLUP_REPLACE) {\n newSdk.addExtension('sb_uikit', APP_VERSION_STRING);\n }\n const connectCbSucess = (user) => {\n sdkDispatcher({ type: INIT_SDK, payload: newSdk });\n userDispatcher({ type: INIT_USER, payload: user });\n // use nickname/profileUrl if provided\n // or set userID as nickname\n const newNickName = nickname || user.nickname;\n const newProfileUrl = profileUrl || user.profileUrl;\n newSdk.updateCurrentUserInfo(newNickName, newProfileUrl)\n .then((namedUser) => {\n userDispatcher({ type: UPDATE_USER_INFO, payload: namedUser });\n });\n };\n\n const connectCbError = (e) => {\n logger.error('Connection failed', `${e}`);\n sdkDispatcher({ type: RESET_SDK });\n sdkDispatcher({ type: RESET_USER });\n sdkDispatcher({ type: SDK_ERROR });\n };\n\n if (accessToken) {\n newSdk.connect(userId, accessToken)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n } else {\n newSdk.connect(userId)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n }\n } else {\n sdkDispatcher({ type: SDK_ERROR });\n logger.warning('Connection failed', 'UserId or appId missing');\n }\n },\n });\n};\n","import { useLayoutEffect } from 'react';\nimport cssVars from 'css-vars-ponyfill';\n\nconst isEmpty = (obj) => {\n if (obj === null || obj === undefined) {\n return true;\n }\n\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n return JSON.stringify(obj) === JSON.stringify({});\n}\n\nconst useTheme = (overrides: Record): void => {\n useLayoutEffect(() => {\n if (!isEmpty(overrides)) {\n cssVars({\n variables: {\n ...{\n '--sendbird-dark-primary-500': '#4d2aa6',\n '--sendbird-dark-primary-400': '#6440C4',\n '--sendbird-dark-primary-300': '#7B53EF',\n '--sendbird-dark-primary-200': '#9E8CF5',\n '--sendbird-dark-primary-100': '#E2DFFF',\n\n '--sendbird-dark-secondary-500': '#007A7A',\n '--sendbird-dark-secondary-400': '#189A8D',\n '--sendbird-dark-secondary-300': '#2EBA9F',\n '--sendbird-dark-secondary-200': '#6FD6BE',\n '--sendbird-dark-secondary-100': '#AEF2DC',\n\n '--sendbird-dark-information-100': '#b2d9ff',\n\n '--sendbird-dark-error-500': '#A30E2D',\n '--sendbird-dark-error-400': '#C11F41',\n '--sendbird-dark-error-300': '#E53157',\n '--sendbird-dark-error-200': '#FF6183',\n '--sendbird-dark-error-100': '#FFABBD',\n\n '--sendbird-dark-background-700': '#000000',\n '--sendbird-dark-background-600': '#161616',\n '--sendbird-dark-background-500': '#2C2C2C',\n '--sendbird-dark-background-400': '#393939',\n '--sendbird-dark-background-300': '#A8A8A8',\n '--sendbird-dark-background-200': '#D9D9D9',\n '--sendbird-dark-background-100': '#F0F0F0',\n '--sendbird-dark-background-50': '#FFFFFF',\n\n '--sendbird-dark-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-dark-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-dark-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-dark-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-dark-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-dark-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-dark-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-dark-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-dark-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-primary-500': '#4d2aa6',\n '--sendbird-light-primary-400': '#6440C4',\n '--sendbird-light-primary-300': '#7B53EF',\n '--sendbird-light-primary-200': '#9E8CF5',\n '--sendbird-light-primary-100': '#E2DFFF',\n\n '--sendbird-light-secondary-500': '#007A7A',\n '--sendbird-light-secondary-400': '#189A8D',\n '--sendbird-light-secondary-300': '#2EBA9F',\n '--sendbird-light-secondary-200': '#6FD6BE',\n '--sendbird-light-secondary-100': '#AEF2DC',\n\n '--sendbird-light-information-100': '#b2d9ff',\n\n '--sendbird-light-error-500': '#A30E2D',\n '--sendbird-light-error-400': '#C11F41',\n '--sendbird-light-error-300': '#E53157',\n '--sendbird-light-error-200': '#FF6183',\n '--sendbird-light-error-100': '#FFABBD',\n\n '--sendbird-light-background-700': '#000000',\n '--sendbird-light-background-600': '#161616',\n '--sendbird-light-background-500': '#2C2C2C',\n '--sendbird-light-background-400': '#393939',\n '--sendbird-light-background-300': '#A8A8A8',\n '--sendbird-light-background-200': '#D9D9D9',\n '--sendbird-light-background-100': '#F0F0F0',\n '--sendbird-light-background-50': ' #FFFFFF',\n\n '--sendbird-light-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-light-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-light-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-light-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-light-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-light-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-light-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-light-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-light-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-light-theme-surface-2': '#EAEAEA',\n },\n ...overrides,\n },\n });\n }\n }, [overrides]);\n};\n\nexport default useTheme;\n","export default {\n initialized: false,\n loading: false,\n sdk: {},\n error: false,\n};\n","import * as sdkActions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case sdkActions.SET_SDK_LOADING:\n return {\n ...state,\n initialized: false,\n loading: action.payload,\n };\n case sdkActions.SDK_ERROR:\n return {\n ...state,\n initialized: false,\n loading: false,\n error: true,\n };\n case sdkActions.INIT_SDK:\n return {\n sdk: action.payload,\n initialized: true,\n loading: false,\n error: false,\n };\n case sdkActions.RESET_SDK:\n return initialState;\n default:\n return state;\n }\n}\n","export default {\n initialized: false,\n loading: false,\n user: {},\n};\n","import * as actions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actions.INIT_USER:\n return {\n initialized: true,\n loading: false,\n user: action.payload,\n };\n case actions.RESET_USER:\n return initialState;\n case actions.UPDATE_USER_INFO:\n return {\n ...state,\n user: action.payload,\n };\n default:\n return state;\n }\n}\n","import { useState, useEffect } from 'react';\n\nimport { uuidv4 } from '../../utils/uuid';\n\nfunction useConnectionStatus(sdk, logger) {\n const [isOnline, setIsOnline] = useState(true);\n\n useEffect(() => {\n const uniqueHandlerId = uuidv4();\n logger.warning('sdk changed', uniqueHandlerId);\n let handler;\n if (sdk && sdk.ConnectionHandler) {\n handler = new sdk.ConnectionHandler();\n\n handler.onReconnectStarted = () => {\n setIsOnline(false);\n logger.warning('onReconnectStarted', { isOnline });\n };\n handler.onReconnectSucceeded = () => {\n setIsOnline(true);\n logger.warning('onReconnectSucceeded', { isOnline });\n };\n handler.onReconnectFailed = () => {\n sdk.reconnect();\n logger.warning('onReconnectFailed');\n };\n logger.info('Added ConnectionHandler', uniqueHandlerId);\n sdk.addConnectionHandler(uniqueHandlerId, handler);\n }\n return () => {\n try {\n sdk.removeConnectionHandler(uniqueHandlerId);\n logger.info('Removed ConnectionHandler', uniqueHandlerId);\n } catch {\n //\n }\n };\n }, [sdk]);\n\n useEffect(() => {\n const tryReconnect = () => {\n try {\n logger.warning('Try reconnecting SDK');\n if (sdk.getConnectionState() !== 'OPEN') { // connection is not broken yet\n sdk.reconnect();\n }\n } catch {\n //\n }\n };\n // addEventListener version\n window.addEventListener('online', tryReconnect);\n return () => {\n window.removeEventListener('online', tryReconnect);\n };\n }, [sdk]);\n\n // add offline-class to body\n useEffect(() => {\n const body = document.querySelector('body');\n if (!isOnline) {\n try {\n body.classList.add('sendbird__offline');\n logger.info('Added class sendbird__offline to body');\n } catch (e) {\n //\n }\n } else {\n try {\n body.classList.remove('sendbird__offline');\n logger.info('Removed class sendbird__offline from body');\n } catch (e) {\n //\n }\n }\n }, [isOnline]);\n\n return isOnline;\n}\n\nexport default useConnectionStatus;\n","export const LOG_LEVELS = {\n DEBUG: 'debug',\n WARNING: 'warning',\n ERROR: 'error',\n INFO: 'info',\n ALL: 'all',\n};\n\nconst colorLog = (level) => {\n switch (level) {\n case LOG_LEVELS.WARNING:\n return ('color: Orange');\n case LOG_LEVELS.ERROR:\n return ('color: Red');\n default:\n return ('color: Gray');\n }\n};\n\nexport const printLog = ({\n level,\n title,\n description = '',\n}) => {\n // eslint-disable-next-line no-console\n console.log(\n `%c SendbirdUIKit | ${level} | ${new Date().toISOString()} | ${title} ${description && '|'}`, colorLog(level),\n description,\n );\n};\n\nexport const getDefaultLogger = () => ({\n info: () => {},\n error: () => {},\n warning: () => {},\n});\n\nexport const LoggerFactory = (lvl, customInterface) => {\n const logInterface = customInterface || printLog;\n const lvlArray = Array.isArray(lvl) ? lvl : [lvl];\n\n const applyLog = (lgLvl) => (title, description) => logInterface({\n level: lgLvl,\n title,\n description,\n });\n\n const logger = lvlArray.reduce((accumulator, currentLvl) => {\n if (currentLvl === LOG_LEVELS.DEBUG || currentLvl === LOG_LEVELS.ALL) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n error: applyLog(LOG_LEVELS.ERROR),\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n if (currentLvl === LOG_LEVELS.INFO) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n });\n }\n\n if (currentLvl === LOG_LEVELS.ERROR) {\n return ({\n ...accumulator,\n error: applyLog(LOG_LEVELS.ERROR),\n });\n }\n\n if (currentLvl === LOG_LEVELS.WARNING) {\n return ({\n ...accumulator,\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n return { ...accumulator };\n }, getDefaultLogger());\n return logger;\n};\n","// https://davidwalsh.name/pubsub-javascript\nexport default () => {\n const topics = {};\n const hOP = topics.hasOwnProperty;\n\n return {\n __getTopics: () => topics,\n subscribe: (topic, listener) => {\n // Create the topic's object if not yet created\n if (!hOP.call(topics, topic)) { topics[topic] = []; }\n\n // Add the listener to queue\n const index = topics[topic].push(listener) - 1;\n\n // Provide handle back for removal of topic\n return {\n remove: () => {\n delete topics[topic][index];\n },\n };\n },\n publish: (topic, info) => {\n // If the topic doesn't exist, or there's no listeners in queue, just leave\n if (!hOP.call(topics, topic)) { return; }\n\n // Cycle through topics queue, fire!\n topics[topic].forEach((item) => {\n item(info !== undefined ? info : {});\n });\n },\n };\n};\n","import { useEffect } from 'react';\n\nfunction useAppendDomNode(ids = [], rootSelector) {\n useEffect(() => {\n const root = document.querySelector(rootSelector);\n ids.forEach((id) => {\n const elem = document.createElement('div');\n elem.setAttribute('id', id);\n root.appendChild(elem);\n });\n return () => {\n ids.forEach((id) => {\n const target = document.getElementById(id);\n if (target) {\n root.removeChild(target);\n }\n });\n };\n }, []);\n}\n\nexport default useAppendDomNode;\n","import './index.scss';\n\nimport React, { useEffect, useReducer, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { SendbirdSdkContext } from './SendbirdSdkContext';\nimport { handleConnection } from './dux/sdk/thunks';\n\nimport useTheme from './hooks/useTheme';\n\nimport sdkReducers from './dux/sdk/reducers';\nimport userReducers from './dux/user/reducers';\nimport sdkInitialState from './dux/sdk/initialState';\nimport userInitialState from './dux/user/initialState';\n\nimport useOnlineStatus from './hooks/useOnlineStatus';\n\nimport { LoggerFactory } from './Logger';\nimport pubSubFactory from './pubSub/index';\nimport useAppendDomNode from '../hooks/useAppendDomNode';\n\nimport { LocalizationProvider } from './LocalizationContext';\nimport getStringSet from '../ui/Label/stringSet';\n\nexport default function Sendbird(props) {\n const {\n userId,\n appId,\n accessToken,\n children,\n disableUserProfile,\n renderUserProfile,\n allowProfileEdit,\n theme,\n nickname,\n profileUrl,\n userListQuery,\n config = {},\n colorSet,\n stringSet,\n imageCompression,\n } = props;\n\n const {\n logLevel = '',\n } = config;\n const [logger, setLogger] = useState(LoggerFactory(logLevel));\n const [pubSub, setPubSub] = useState();\n const [sdkStore, sdkDispatcher] = useReducer(sdkReducers, sdkInitialState);\n const [userStore, userDispatcher] = useReducer(userReducers, userInitialState);\n\n useTheme(colorSet);\n\n useEffect(() => {\n setPubSub(pubSubFactory());\n }, []);\n\n useEffect(() => {\n logger.info('App Init');\n // dispatch action\n handleConnection({\n userId,\n appId,\n accessToken,\n sdkStore,\n nickname,\n profileUrl,\n sdk: sdkStore.sdk,\n logger,\n }, {\n sdkDispatcher,\n userDispatcher,\n });\n }, [userId, appId, accessToken]);\n\n // to create a pubsub to communicate between parent and child\n useEffect(() => {\n setLogger(LoggerFactory(logLevel));\n }, [logLevel]);\n\n useAppendDomNode([\n 'sendbird-modal-root',\n 'sendbird-dropdown-portal',\n 'sendbird-emoji-list-portal',\n ], 'body');\n\n // should move to reducer\n const [currenttheme, setCurrenttheme] = useState(theme);\n useEffect(() => {\n setCurrenttheme(theme);\n }, [theme]);\n // add-remove theme from body\n useEffect(() => {\n logger.info('Setup theme', `Theme: ${currenttheme}`);\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n body.classList.add(`sendbird-theme--${currenttheme || 'light'}`);\n logger.info('Finish setup theme');\n // eslint-disable-next-line no-empty\n } catch (e) {\n logger.warning('Setup theme failed', `${e}`);\n }\n return () => {\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n // eslint-disable-next-line no-empty\n } catch { }\n };\n }, [currenttheme]);\n\n const isOnline = useOnlineStatus(sdkStore.sdk, logger);\n\n const localeStringSet = React.useMemo(() => {\n if (!stringSet) {\n return getStringSet('en');\n }\n return {\n ...getStringSet('en'),\n ...stringSet,\n };\n }, [stringSet]);\n\n return (\n {\n handleConnection({\n userId,\n appId,\n accessToken,\n sdkStore,\n nickname,\n profileUrl,\n logger,\n sdk: sdkStore.sdk,\n }, {\n sdkDispatcher,\n userDispatcher,\n });\n },\n },\n config: {\n disableUserProfile,\n renderUserProfile,\n allowProfileEdit,\n isOnline,\n userId,\n appId,\n accessToken,\n theme: currenttheme,\n setCurrenttheme,\n userListQuery,\n logger,\n pubSub,\n imageCompression,\n },\n }}\n >\n \n {children}\n \n \n );\n}\n\nSendbird.propTypes = {\n userId: PropTypes.string.isRequired,\n appId: PropTypes.string.isRequired,\n accessToken: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.any,\n ]).isRequired,\n theme: PropTypes.string,\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n allowProfileEdit: PropTypes.bool,\n userListQuery: PropTypes.func,\n config: PropTypes.shape({\n // None Error Warning Info 'All/Debug'\n logLevel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n pubSub: PropTypes.shape({\n subscribe: PropTypes.func,\n publish: PropTypes.func,\n }),\n }),\n stringSet: PropTypes.objectOf(PropTypes.string),\n colorSet: PropTypes.objectOf(PropTypes.string),\n imageCompression: PropTypes.shape({\n compressionRate: PropTypes.number,\n resizingWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n resizingHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n};\n\nSendbird.defaultProps = {\n accessToken: '',\n theme: 'light',\n nickname: '',\n profileUrl: '',\n disableUserProfile: false,\n renderUserProfile: null,\n allowProfileEdit: false,\n userListQuery: null,\n config: {},\n stringSet: null,\n colorSet: null,\n imageCompression: {},\n};\n"],"names":["INIT_SDK","SET_SDK_LOADING","RESET_SDK","SDK_ERROR","APP_VERSION_STRING","disconnectSdk","sdkDispatcher","userDispatcher","sdk","onDisconnect","type","payload","disconnect","then","RESET_USER","finally","handleConnection","dispatchers","userId","appId","nickname","profileUrl","accessToken","logger","info","newSdk","Sb","addExtension","connectCbSucess","user","INIT_USER","newNickName","newProfileUrl","updateCurrentUserInfo","namedUser","UPDATE_USER_INFO","connectCbError","e","error","connect","res","catch","err","warning","isEmpty","obj","undefined","prop","hasOwnProperty","JSON","stringify","useTheme","overrides","useLayoutEffect","cssVars","variables","initialized","loading","reducer","state","action","sdkActions","initialState","actions","useConnectionStatus","useState","isOnline","setIsOnline","useEffect","uniqueHandlerId","uuidv4","handler","ConnectionHandler","onReconnectStarted","onReconnectSucceeded","onReconnectFailed","reconnect","addConnectionHandler","removeConnectionHandler","tryReconnect","getConnectionState","window","addEventListener","removeEventListener","body","document","querySelector","classList","add","remove","LOG_LEVELS","DEBUG","WARNING","ERROR","INFO","ALL","colorLog","level","printLog","title","description","console","log","Date","toISOString","getDefaultLogger","LoggerFactory","lvl","customInterface","logInterface","lvlArray","Array","isArray","applyLog","lgLvl","reduce","accumulator","currentLvl","topics","hOP","__getTopics","subscribe","topic","listener","call","index","push","publish","forEach","item","useAppendDomNode","ids","rootSelector","root","id","elem","createElement","setAttribute","appendChild","target","getElementById","removeChild","Sendbird","props","children","disableUserProfile","renderUserProfile","allowProfileEdit","theme","userListQuery","config","colorSet","stringSet","imageCompression","logLevel","setLogger","pubSub","setPubSub","useReducer","sdkReducers","sdkInitialState","sdkStore","userReducers","userInitialState","userStore","pubSubFactory","currenttheme","setCurrenttheme","useOnlineStatus","localeStringSet","React","useMemo","getStringSet","stores","propTypes","PropTypes","string","isRequired","oneOfType","element","arrayOf","any","bool","func","shape","objectOf","compressionRate","number","resizingWidth","resizingHeight","defaultProps"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"SendbirdProvider.js","sources":["../src/lib/dux/sdk/actionTypes.js","../src/lib/dux/sdk/thunks.js","../src/lib/hooks/useTheme.ts","../src/lib/dux/sdk/initialState.js","../src/lib/dux/sdk/reducers.js","../src/lib/dux/user/initialState.js","../src/lib/dux/user/reducers.js","../src/lib/hooks/useOnlineStatus.js","../src/lib/Logger/index.js","../src/lib/pubSub/index.js","../src/hooks/useAppendDomNode.js","../src/lib/Sendbird.jsx"],"sourcesContent":["export const INIT_SDK = 'INIT_SDK';\nexport const SET_SDK_LOADING = 'SET_SDK_LOADING';\nexport const RESET_SDK = 'RESET_SDK';\nexport const SDK_ERROR = 'SDK_ERROR';\n","import Sb from 'sendbird';\n\nimport {\n INIT_SDK,\n SET_SDK_LOADING,\n RESET_SDK,\n SDK_ERROR,\n} from './actionTypes';\nimport { INIT_USER, UPDATE_USER_INFO, RESET_USER } from '../user/actionTypes';\n\nconst APP_VERSION_STRING = '__uikit_app_version__';\nconst IS_ROLLUP = '__is_rollup__';\nconst IS_ROLLUP_REPLACE = '__is_rollup_replace__';\n\nexport const disconnectSdk = ({\n sdkDispatcher,\n userDispatcher,\n sdk,\n onDisconnect,\n}) => {\n sdkDispatcher({ type: SET_SDK_LOADING, payload: true });\n if (sdk && sdk.disconnect) {\n sdk.disconnect()\n .then(() => {\n sdkDispatcher({ type: RESET_SDK });\n userDispatcher({ type: RESET_USER });\n })\n .finally(() => {\n onDisconnect();\n });\n } else {\n onDisconnect();\n }\n};\n\nexport const handleConnection = ({\n userId,\n appId,\n nickname,\n profileUrl,\n accessToken,\n sdk,\n logger,\n}, dispatchers) => {\n const {\n sdkDispatcher,\n userDispatcher,\n } = dispatchers;\n disconnectSdk({\n sdkDispatcher,\n userDispatcher,\n sdk,\n logger,\n onDisconnect: () => {\n logger.info('Setup connection');\n sdkDispatcher({ type: SET_SDK_LOADING, payload: true });\n if (userId && appId) {\n const newSdk = new Sb({ appId });\n // to check if code is released version from rollup and *not from storybook*\n // see rollup config file\n if (IS_ROLLUP === IS_ROLLUP_REPLACE) {\n newSdk.addExtension('sb_uikit', APP_VERSION_STRING);\n }\n const connectCbSucess = (user) => {\n sdkDispatcher({ type: INIT_SDK, payload: newSdk });\n userDispatcher({ type: INIT_USER, payload: user });\n // use nickname/profileUrl if provided\n // or set userID as nickname\n const newNickName = nickname || user.nickname;\n const newProfileUrl = profileUrl || user.profileUrl;\n newSdk.updateCurrentUserInfo(newNickName, newProfileUrl)\n .then((namedUser) => {\n userDispatcher({ type: UPDATE_USER_INFO, payload: namedUser });\n });\n };\n\n const connectCbError = (e) => {\n logger.error('Connection failed', `${e}`);\n sdkDispatcher({ type: RESET_SDK });\n sdkDispatcher({ type: RESET_USER });\n sdkDispatcher({ type: SDK_ERROR });\n };\n\n if (accessToken) {\n newSdk.connect(userId, accessToken)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n } else {\n newSdk.connect(userId)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n }\n } else {\n sdkDispatcher({ type: SDK_ERROR });\n logger.warning('Connection failed', 'UserId or appId missing');\n }\n },\n });\n};\n","import { useLayoutEffect } from 'react';\nimport cssVars from 'css-vars-ponyfill';\n\nconst isEmpty = (obj) => {\n if (obj === null || obj === undefined) {\n return true;\n }\n\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n return JSON.stringify(obj) === JSON.stringify({});\n}\n\nconst useTheme = (overrides: Record): void => {\n useLayoutEffect(() => {\n if (!isEmpty(overrides)) {\n cssVars({\n variables: {\n ...{\n '--sendbird-dark-primary-500': '#4d2aa6',\n '--sendbird-dark-primary-400': '#6440C4',\n '--sendbird-dark-primary-300': '#7B53EF',\n '--sendbird-dark-primary-200': '#9E8CF5',\n '--sendbird-dark-primary-100': '#E2DFFF',\n\n '--sendbird-dark-secondary-500': '#007A7A',\n '--sendbird-dark-secondary-400': '#189A8D',\n '--sendbird-dark-secondary-300': '#2EBA9F',\n '--sendbird-dark-secondary-200': '#6FD6BE',\n '--sendbird-dark-secondary-100': '#AEF2DC',\n\n '--sendbird-dark-information-100': '#b2d9ff',\n\n '--sendbird-dark-error-500': '#A30E2D',\n '--sendbird-dark-error-400': '#C11F41',\n '--sendbird-dark-error-300': '#E53157',\n '--sendbird-dark-error-200': '#FF6183',\n '--sendbird-dark-error-100': '#FFABBD',\n\n '--sendbird-dark-background-700': '#000000',\n '--sendbird-dark-background-600': '#161616',\n '--sendbird-dark-background-500': '#2C2C2C',\n '--sendbird-dark-background-400': '#393939',\n '--sendbird-dark-background-300': '#A8A8A8',\n '--sendbird-dark-background-200': '#D9D9D9',\n '--sendbird-dark-background-100': '#F0F0F0',\n '--sendbird-dark-background-50': '#FFFFFF',\n\n '--sendbird-dark-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-dark-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-dark-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-dark-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-dark-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-dark-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-dark-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-dark-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-dark-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-primary-500': '#4d2aa6',\n '--sendbird-light-primary-400': '#6440C4',\n '--sendbird-light-primary-300': '#7B53EF',\n '--sendbird-light-primary-200': '#9E8CF5',\n '--sendbird-light-primary-100': '#E2DFFF',\n\n '--sendbird-light-secondary-500': '#007A7A',\n '--sendbird-light-secondary-400': '#189A8D',\n '--sendbird-light-secondary-300': '#2EBA9F',\n '--sendbird-light-secondary-200': '#6FD6BE',\n '--sendbird-light-secondary-100': '#AEF2DC',\n\n '--sendbird-light-information-100': '#b2d9ff',\n\n '--sendbird-light-error-500': '#A30E2D',\n '--sendbird-light-error-400': '#C11F41',\n '--sendbird-light-error-300': '#E53157',\n '--sendbird-light-error-200': '#FF6183',\n '--sendbird-light-error-100': '#FFABBD',\n\n '--sendbird-light-background-700': '#000000',\n '--sendbird-light-background-600': '#161616',\n '--sendbird-light-background-500': '#2C2C2C',\n '--sendbird-light-background-400': '#393939',\n '--sendbird-light-background-300': '#A8A8A8',\n '--sendbird-light-background-200': '#D9D9D9',\n '--sendbird-light-background-100': '#F0F0F0',\n '--sendbird-light-background-50': ' #FFFFFF',\n\n '--sendbird-light-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-light-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-light-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-light-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-light-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-light-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-light-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-light-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-light-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n },\n ...overrides,\n },\n });\n }\n }, [overrides]);\n};\n\nexport default useTheme;\n","export default {\n initialized: false,\n loading: false,\n sdk: {},\n error: false,\n};\n","import * as sdkActions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case sdkActions.SET_SDK_LOADING:\n return {\n ...state,\n initialized: false,\n loading: action.payload,\n };\n case sdkActions.SDK_ERROR:\n return {\n ...state,\n initialized: false,\n loading: false,\n error: true,\n };\n case sdkActions.INIT_SDK:\n return {\n sdk: action.payload,\n initialized: true,\n loading: false,\n error: false,\n };\n case sdkActions.RESET_SDK:\n return initialState;\n default:\n return state;\n }\n}\n","export default {\n initialized: false,\n loading: false,\n user: {},\n};\n","import * as actions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actions.INIT_USER:\n return {\n initialized: true,\n loading: false,\n user: action.payload,\n };\n case actions.RESET_USER:\n return initialState;\n case actions.UPDATE_USER_INFO:\n return {\n ...state,\n user: action.payload,\n };\n default:\n return state;\n }\n}\n","import { useState, useEffect } from 'react';\n\nimport { uuidv4 } from '../../utils/uuid';\n\nfunction useConnectionStatus(sdk, logger) {\n const [isOnline, setIsOnline] = useState(true);\n\n useEffect(() => {\n const uniqueHandlerId = uuidv4();\n logger.warning('sdk changed', uniqueHandlerId);\n let handler;\n if (sdk && sdk.ConnectionHandler) {\n handler = new sdk.ConnectionHandler();\n\n handler.onReconnectStarted = () => {\n setIsOnline(false);\n logger.warning('onReconnectStarted', { isOnline });\n };\n handler.onReconnectSucceeded = () => {\n setIsOnline(true);\n logger.warning('onReconnectSucceeded', { isOnline });\n };\n handler.onReconnectFailed = () => {\n sdk.reconnect();\n logger.warning('onReconnectFailed');\n };\n logger.info('Added ConnectionHandler', uniqueHandlerId);\n sdk.addConnectionHandler(uniqueHandlerId, handler);\n }\n return () => {\n try {\n sdk.removeConnectionHandler(uniqueHandlerId);\n logger.info('Removed ConnectionHandler', uniqueHandlerId);\n } catch {\n //\n }\n };\n }, [sdk]);\n\n useEffect(() => {\n const tryReconnect = () => {\n try {\n logger.warning('Try reconnecting SDK');\n if (sdk.getConnectionState() !== 'OPEN') { // connection is not broken yet\n sdk.reconnect();\n }\n } catch {\n //\n }\n };\n // addEventListener version\n window.addEventListener('online', tryReconnect);\n return () => {\n window.removeEventListener('online', tryReconnect);\n };\n }, [sdk]);\n\n // add offline-class to body\n useEffect(() => {\n const body = document.querySelector('body');\n if (!isOnline) {\n try {\n body.classList.add('sendbird__offline');\n logger.info('Added class sendbird__offline to body');\n } catch (e) {\n //\n }\n } else {\n try {\n body.classList.remove('sendbird__offline');\n logger.info('Removed class sendbird__offline from body');\n } catch (e) {\n //\n }\n }\n }, [isOnline]);\n\n return isOnline;\n}\n\nexport default useConnectionStatus;\n","export const LOG_LEVELS = {\n DEBUG: 'debug',\n WARNING: 'warning',\n ERROR: 'error',\n INFO: 'info',\n ALL: 'all',\n};\n\nconst colorLog = (level) => {\n switch (level) {\n case LOG_LEVELS.WARNING:\n return ('color: Orange');\n case LOG_LEVELS.ERROR:\n return ('color: Red');\n default:\n return ('color: Gray');\n }\n};\n\nexport const printLog = ({\n level,\n title,\n description = '',\n}) => {\n // eslint-disable-next-line no-console\n console.log(\n `%c SendbirdUIKit | ${level} | ${new Date().toISOString()} | ${title} ${description && '|'}`, colorLog(level),\n description,\n );\n};\n\nexport const getDefaultLogger = () => ({\n info: () => {},\n error: () => {},\n warning: () => {},\n});\n\nexport const LoggerFactory = (lvl, customInterface) => {\n const logInterface = customInterface || printLog;\n const lvlArray = Array.isArray(lvl) ? lvl : [lvl];\n\n const applyLog = (lgLvl) => (title, description) => logInterface({\n level: lgLvl,\n title,\n description,\n });\n\n const logger = lvlArray.reduce((accumulator, currentLvl) => {\n if (currentLvl === LOG_LEVELS.DEBUG || currentLvl === LOG_LEVELS.ALL) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n error: applyLog(LOG_LEVELS.ERROR),\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n if (currentLvl === LOG_LEVELS.INFO) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n });\n }\n\n if (currentLvl === LOG_LEVELS.ERROR) {\n return ({\n ...accumulator,\n error: applyLog(LOG_LEVELS.ERROR),\n });\n }\n\n if (currentLvl === LOG_LEVELS.WARNING) {\n return ({\n ...accumulator,\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n return { ...accumulator };\n }, getDefaultLogger());\n return logger;\n};\n","// https://davidwalsh.name/pubsub-javascript\nexport default () => {\n const topics = {};\n const hOP = topics.hasOwnProperty;\n\n return {\n __getTopics: () => topics,\n subscribe: (topic, listener) => {\n // Create the topic's object if not yet created\n if (!hOP.call(topics, topic)) { topics[topic] = []; }\n\n // Add the listener to queue\n const index = topics[topic].push(listener) - 1;\n\n // Provide handle back for removal of topic\n return {\n remove: () => {\n delete topics[topic][index];\n },\n };\n },\n publish: (topic, info) => {\n // If the topic doesn't exist, or there's no listeners in queue, just leave\n if (!hOP.call(topics, topic)) { return; }\n\n // Cycle through topics queue, fire!\n topics[topic].forEach((item) => {\n item(info !== undefined ? info : {});\n });\n },\n };\n};\n","import { useEffect } from 'react';\n\nfunction useAppendDomNode(ids = [], rootSelector) {\n useEffect(() => {\n const root = document.querySelector(rootSelector);\n ids.forEach((id) => {\n const elem = document.createElement('div');\n elem.setAttribute('id', id);\n root.appendChild(elem);\n });\n return () => {\n ids.forEach((id) => {\n const target = document.getElementById(id);\n if (target) {\n root.removeChild(target);\n }\n });\n };\n }, []);\n}\n\nexport default useAppendDomNode;\n","import './index.scss';\n\nimport React, { useEffect, useReducer, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { SendbirdSdkContext } from './SendbirdSdkContext';\nimport { handleConnection } from './dux/sdk/thunks';\n\nimport useTheme from './hooks/useTheme';\n\nimport sdkReducers from './dux/sdk/reducers';\nimport userReducers from './dux/user/reducers';\nimport sdkInitialState from './dux/sdk/initialState';\nimport userInitialState from './dux/user/initialState';\n\nimport useOnlineStatus from './hooks/useOnlineStatus';\n\nimport { LoggerFactory } from './Logger';\nimport pubSubFactory from './pubSub/index';\nimport useAppendDomNode from '../hooks/useAppendDomNode';\n\nimport { LocalizationProvider } from './LocalizationContext';\nimport getStringSet from '../ui/Label/stringSet';\n\nexport default function Sendbird(props) {\n const {\n userId,\n appId,\n accessToken,\n children,\n disableUserProfile,\n renderUserProfile,\n allowProfileEdit,\n theme,\n nickname,\n profileUrl,\n userListQuery,\n config = {},\n colorSet,\n stringSet,\n imageCompression,\n } = props;\n\n const {\n logLevel = '',\n } = config;\n const [logger, setLogger] = useState(LoggerFactory(logLevel));\n const [pubSub, setPubSub] = useState();\n const [sdkStore, sdkDispatcher] = useReducer(sdkReducers, sdkInitialState);\n const [userStore, userDispatcher] = useReducer(userReducers, userInitialState);\n\n useTheme(colorSet);\n\n useEffect(() => {\n setPubSub(pubSubFactory());\n }, []);\n\n useEffect(() => {\n logger.info('App Init');\n // dispatch action\n handleConnection({\n userId,\n appId,\n accessToken,\n sdkStore,\n nickname,\n profileUrl,\n sdk: sdkStore.sdk,\n logger,\n }, {\n sdkDispatcher,\n userDispatcher,\n });\n }, [userId, appId, accessToken]);\n\n // to create a pubsub to communicate between parent and child\n useEffect(() => {\n setLogger(LoggerFactory(logLevel));\n }, [logLevel]);\n\n useAppendDomNode([\n 'sendbird-modal-root',\n 'sendbird-dropdown-portal',\n 'sendbird-emoji-list-portal',\n ], 'body');\n\n // should move to reducer\n const [currenttheme, setCurrenttheme] = useState(theme);\n useEffect(() => {\n setCurrenttheme(theme);\n }, [theme]);\n // add-remove theme from body\n useEffect(() => {\n logger.info('Setup theme', `Theme: ${currenttheme}`);\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n body.classList.add(`sendbird-theme--${currenttheme || 'light'}`);\n logger.info('Finish setup theme');\n // eslint-disable-next-line no-empty\n } catch (e) {\n logger.warning('Setup theme failed', `${e}`);\n }\n return () => {\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n // eslint-disable-next-line no-empty\n } catch { }\n };\n }, [currenttheme]);\n\n const isOnline = useOnlineStatus(sdkStore.sdk, logger);\n\n const localeStringSet = React.useMemo(() => {\n if (!stringSet) {\n return getStringSet('en');\n }\n return {\n ...getStringSet('en'),\n ...stringSet,\n };\n }, [stringSet]);\n\n return (\n {\n handleConnection({\n userId,\n appId,\n accessToken,\n sdkStore,\n nickname,\n profileUrl,\n logger,\n sdk: sdkStore.sdk,\n }, {\n sdkDispatcher,\n userDispatcher,\n });\n },\n },\n config: {\n disableUserProfile,\n renderUserProfile,\n allowProfileEdit,\n isOnline,\n userId,\n appId,\n accessToken,\n theme: currenttheme,\n setCurrenttheme,\n userListQuery,\n logger,\n pubSub,\n imageCompression,\n },\n }}\n >\n \n {children}\n \n \n );\n}\n\nSendbird.propTypes = {\n userId: PropTypes.string.isRequired,\n appId: PropTypes.string.isRequired,\n accessToken: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.any,\n ]).isRequired,\n theme: PropTypes.string,\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n allowProfileEdit: PropTypes.bool,\n userListQuery: PropTypes.func,\n config: PropTypes.shape({\n // None Error Warning Info 'All/Debug'\n logLevel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n pubSub: PropTypes.shape({\n subscribe: PropTypes.func,\n publish: PropTypes.func,\n }),\n }),\n stringSet: PropTypes.objectOf(PropTypes.string),\n colorSet: PropTypes.objectOf(PropTypes.string),\n imageCompression: PropTypes.shape({\n compressionRate: PropTypes.number,\n resizingWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n resizingHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n};\n\nSendbird.defaultProps = {\n accessToken: '',\n theme: 'light',\n nickname: '',\n profileUrl: '',\n disableUserProfile: false,\n renderUserProfile: null,\n allowProfileEdit: false,\n userListQuery: null,\n config: {},\n stringSet: null,\n colorSet: null,\n imageCompression: {},\n};\n"],"names":["INIT_SDK","SET_SDK_LOADING","RESET_SDK","SDK_ERROR","APP_VERSION_STRING","disconnectSdk","sdkDispatcher","userDispatcher","sdk","onDisconnect","type","payload","disconnect","then","RESET_USER","finally","handleConnection","dispatchers","userId","appId","nickname","profileUrl","accessToken","logger","info","newSdk","Sb","addExtension","connectCbSucess","user","INIT_USER","newNickName","newProfileUrl","updateCurrentUserInfo","namedUser","UPDATE_USER_INFO","connectCbError","e","error","connect","res","catch","err","warning","isEmpty","obj","undefined","prop","hasOwnProperty","JSON","stringify","useTheme","overrides","useLayoutEffect","cssVars","variables","initialized","loading","reducer","state","action","sdkActions","initialState","actions","useConnectionStatus","useState","isOnline","setIsOnline","useEffect","uniqueHandlerId","uuidv4","handler","ConnectionHandler","onReconnectStarted","onReconnectSucceeded","onReconnectFailed","reconnect","addConnectionHandler","removeConnectionHandler","tryReconnect","getConnectionState","window","addEventListener","removeEventListener","body","document","querySelector","classList","add","remove","LOG_LEVELS","DEBUG","WARNING","ERROR","INFO","ALL","colorLog","level","printLog","title","description","console","log","Date","toISOString","getDefaultLogger","LoggerFactory","lvl","customInterface","logInterface","lvlArray","Array","isArray","applyLog","lgLvl","reduce","accumulator","currentLvl","topics","hOP","__getTopics","subscribe","topic","listener","call","index","push","publish","forEach","item","useAppendDomNode","ids","rootSelector","root","id","elem","createElement","setAttribute","appendChild","target","getElementById","removeChild","Sendbird","props","children","disableUserProfile","renderUserProfile","allowProfileEdit","theme","userListQuery","config","colorSet","stringSet","imageCompression","logLevel","setLogger","pubSub","setPubSub","useReducer","sdkReducers","sdkInitialState","sdkStore","userReducers","userInitialState","userStore","pubSubFactory","currenttheme","setCurrenttheme","useOnlineStatus","localeStringSet","React","useMemo","getStringSet","stores","propTypes","PropTypes","string","isRequired","oneOfType","element","arrayOf","any","bool","func","shape","objectOf","compressionRate","number","resizingWidth","resizingHeight","defaultProps"],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/App.js b/dist/cjs/App.js index 07e1747..58b16e7 100644 --- a/dist/cjs/App.js +++ b/dist/cjs/App.js @@ -2,7 +2,7 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } -var LocalizationContext = require('./LocalizationContext-9665649b.js'); +var LocalizationContext = require('./LocalizationContext-12a9343d.js'); var SendbirdProvider = require('./SendbirdProvider.js'); var React = require('react'); var React__default = _interopDefault(React); @@ -10,25 +10,25 @@ var PropTypes = _interopDefault(require('prop-types')); require('sendbird'); require('./actionTypes-920b541f.js'); require('css-vars-ponyfill'); -require('./index-dfc2e550.js'); +require('./index-2a2230b8.js'); var ChannelList = require('./ChannelList.js'); +require('./index-9431d920.js'); require('./utils-6aedec02.js'); -require('./index-16cd2d77.js'); -require('./LeaveChannel-2b4f1405.js'); +require('./LeaveChannel-c93b4597.js'); require('date-fns/isToday'); require('date-fns/format'); require('date-fns/isYesterday'); require('./type-c7a3bee7.js'); require('./utils-a8277ca2.js'); require('react-dom'); -require('./index-005b875b.js'); +require('./index-a8367321.js'); var Channel = require('./Channel.js'); -require('./index-77ab2680.js'); +require('./index-5fe9ee1f.js'); require('date-fns/isSameDay'); require('./utils-c8e36c68.js'); require('date-fns/formatDistanceToNowStrict'); var ChannelSettings = require('./ChannelSettings.js'); -require('./index-fd689e05.js'); +require('./index-ccc7b14d.js'); function App(props) { var appId = props.appId, @@ -93,11 +93,10 @@ function App(props) { }, React__default.createElement(Channel.default, { channelUrl: currentChannelUrl, onChatHeaderActionClick: function onChatHeaderActionClick() { - if (showSettings) { - setShowSettings(false); - } else { - setShowSettings(true); - } + setShowSettings(!showSettings); + }, + onSearchClick: function onSearchClick() { + setShowSettings(false); }, useReaction: useReaction, useMessageGrouping: useMessageGrouping diff --git a/dist/cjs/App.js.map b/dist/cjs/App.js.map index cf0ab06..68f5298 100644 --- a/dist/cjs/App.js.map +++ b/dist/cjs/App.js.map @@ -1 +1 @@ -{"version":3,"file":"App.js","sources":["../../../src/smart-components/App/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Sendbird from '../../lib/Sendbird';\n\nimport ChannelList from '../ChannelList';\nimport Conversation from '../Conversation';\nimport ChannelSettings from '../ChannelSettings';\n\nimport './index.scss';\n\nexport default function App(props) {\n const {\n appId,\n userId,\n accessToken,\n theme,\n userListQuery,\n nickname,\n profileUrl,\n config = {},\n useReaction,\n useMessageGrouping,\n colorSet,\n stringSet,\n allowProfileEdit,\n disableUserProfile,\n renderUserProfile,\n onProfileEditSuccess,\n imageCompression,\n } = props;\n const [currentChannelUrl, setCurrentChannelUrl] = useState(null);\n const [showSettings, setShowSettings] = useState(false);\n return (\n \n
\n
\n {\n if (channel && channel.url) {\n setCurrentChannelUrl(channel.url);\n } else {\n setCurrentChannelUrl('');\n }\n }}\n />\n
\n \n {\n if (showSettings) {\n setShowSettings(false);\n } else {\n setShowSettings(true);\n }\n }}\n useReaction={useReaction}\n useMessageGrouping={useMessageGrouping}\n />\n
\n {showSettings && (\n
\n { setShowSettings(false); }}\n />\n
\n )}\n \n \n );\n}\n\nApp.propTypes = {\n appId: PropTypes.string.isRequired,\n userId: PropTypes.string.isRequired,\n accessToken: PropTypes.string,\n theme: PropTypes.string,\n userListQuery: PropTypes.func,\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n allowProfileEdit: PropTypes.bool,\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n onProfileEditSuccess: PropTypes.func,\n config: PropTypes.shape({\n // None Error Warning Info 'All/Debug'\n logLevel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n useReaction: PropTypes.bool,\n useMessageGrouping: PropTypes.bool,\n stringSet: PropTypes.objectOf(PropTypes.string),\n colorSet: PropTypes.objectOf(PropTypes.string),\n imageCompression: PropTypes.shape({\n compressionRate: PropTypes.number,\n resizingWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n resizingHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n};\n\nApp.defaultProps = {\n accessToken: '',\n theme: 'light',\n nickname: '',\n profileUrl: '',\n userListQuery: null,\n allowProfileEdit: false,\n onProfileEditSuccess: null,\n disableUserProfile: false,\n renderUserProfile: null,\n config: {},\n useReaction: true,\n useMessageGrouping: true,\n stringSet: null,\n colorSet: null,\n imageCompression: {},\n};\n"],"names":["App","props","appId","userId","accessToken","theme","userListQuery","nickname","profileUrl","config","useReaction","useMessageGrouping","colorSet","stringSet","allowProfileEdit","disableUserProfile","renderUserProfile","onProfileEditSuccess","imageCompression","useState","currentChannelUrl","setCurrentChannelUrl","showSettings","setShowSettings","React","Sendbird","channel","url","Conversation","propTypes","PropTypes","string","isRequired","func","bool","shape","logLevel","oneOfType","arrayOf","objectOf","compressionRate","number","resizingWidth","resizingHeight","defaultProps"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"App.js","sources":["../../../src/smart-components/App/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Sendbird from '../../lib/Sendbird';\n\nimport ChannelList from '../ChannelList';\nimport Conversation from '../Conversation';\nimport ChannelSettings from '../ChannelSettings';\n\nimport './index.scss';\n\nexport default function App(props) {\n const {\n appId,\n userId,\n accessToken,\n theme,\n userListQuery,\n nickname,\n profileUrl,\n config = {},\n useReaction,\n useMessageGrouping,\n colorSet,\n stringSet,\n allowProfileEdit,\n disableUserProfile,\n renderUserProfile,\n onProfileEditSuccess,\n imageCompression,\n } = props;\n const [currentChannelUrl, setCurrentChannelUrl] = useState(null);\n const [showSettings, setShowSettings] = useState(false);\n return (\n \n
\n
\n {\n if (channel && channel.url) {\n setCurrentChannelUrl(channel.url);\n } else {\n setCurrentChannelUrl('');\n }\n }}\n />\n
\n \n {\n setShowSettings(!showSettings);\n }}\n onSearchClick={() => {\n setShowSettings(false);\n }}\n useReaction={useReaction}\n useMessageGrouping={useMessageGrouping}\n />\n
\n {showSettings && (\n
\n {\n setShowSettings(false);\n }}\n />\n
\n )}\n \n \n );\n}\n\nApp.propTypes = {\n appId: PropTypes.string.isRequired,\n userId: PropTypes.string.isRequired,\n accessToken: PropTypes.string,\n theme: PropTypes.string,\n userListQuery: PropTypes.func,\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n allowProfileEdit: PropTypes.bool,\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n onProfileEditSuccess: PropTypes.func,\n config: PropTypes.shape({\n // None Error Warning Info 'All/Debug'\n logLevel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n useReaction: PropTypes.bool,\n useMessageGrouping: PropTypes.bool,\n stringSet: PropTypes.objectOf(PropTypes.string),\n colorSet: PropTypes.objectOf(PropTypes.string),\n imageCompression: PropTypes.shape({\n compressionRate: PropTypes.number,\n resizingWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n resizingHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n};\n\nApp.defaultProps = {\n accessToken: '',\n theme: 'light',\n nickname: '',\n profileUrl: '',\n userListQuery: null,\n allowProfileEdit: false,\n onProfileEditSuccess: null,\n disableUserProfile: false,\n renderUserProfile: null,\n config: {},\n useReaction: true,\n useMessageGrouping: true,\n stringSet: null,\n colorSet: null,\n imageCompression: {},\n};\n"],"names":["App","props","appId","userId","accessToken","theme","userListQuery","nickname","profileUrl","config","useReaction","useMessageGrouping","colorSet","stringSet","allowProfileEdit","disableUserProfile","renderUserProfile","onProfileEditSuccess","imageCompression","useState","currentChannelUrl","setCurrentChannelUrl","showSettings","setShowSettings","React","Sendbird","channel","url","Conversation","propTypes","PropTypes","string","isRequired","func","bool","shape","logLevel","oneOfType","arrayOf","objectOf","compressionRate","number","resizingWidth","resizingHeight","defaultProps"],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/Channel.js b/dist/cjs/Channel.js index 84be392..237bd09 100644 --- a/dist/cjs/Channel.js +++ b/dist/cjs/Channel.js @@ -4,18 +4,18 @@ Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } -var LocalizationContext = require('./LocalizationContext-9665649b.js'); +var LocalizationContext = require('./LocalizationContext-12a9343d.js'); var React = require('react'); var React__default = _interopDefault(React); var PropTypes = _interopDefault(require('prop-types')); -var index = require('./index-dfc2e550.js'); +var index = require('./index-2a2230b8.js'); +var index$1 = require('./index-9431d920.js'); var utils = require('./utils-6aedec02.js'); -var index$1 = require('./index-16cd2d77.js'); var format = _interopDefault(require('date-fns/format')); var type = require('./type-c7a3bee7.js'); var utils$1 = require('./utils-a8277ca2.js'); require('react-dom'); -var index$2 = require('./index-77ab2680.js'); +var index$2 = require('./index-5fe9ee1f.js'); var isSameDay = _interopDefault(require('date-fns/isSameDay')); var utils$2 = require('./utils-c8e36c68.js'); var formatDistanceToNowStrict = _interopDefault(require('date-fns/formatDistanceToNowStrict')); @@ -25,11 +25,14 @@ var RESET_STATE = 'RESET_STATE'; var CLEAR_SENT_MESSAGES = 'CLEAR_SENT_MESSAGES'; var GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START'; var GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS'; +var GET_NEXT_MESSAGES_SUCESS = 'GET_NEXT_MESSAGES_SUCESS'; +var GET_NEXT_MESSAGES_FAILURE = 'GET_NEXT_MESSAGES_FAILURE'; var SEND_MESSAGEGE_START = 'SEND_MESSAGEGE_START'; var SEND_MESSAGEGE_SUCESS = 'SEND_MESSAGEGE_SUCESS'; var SEND_MESSAGEGE_FAILURE = 'SEND_MESSAGEGE_FAILURE'; var RESEND_MESSAGEGE_START = 'RESEND_MESSAGEGE_START'; var ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED'; +var UPDATE_UNREAD_COUNT = 'UPDATE_UNREAD_COUNT'; var ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED'; var ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED'; var ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID'; @@ -284,6 +287,16 @@ var isSameGroup = function isSameGroup(message, comparingMessage) { var compareMessagesForGrouping = function compareMessagesForGrouping(prevMessage, currMessage, nextMessage) { return [isSameGroup(prevMessage, currMessage), isSameGroup(currMessage, nextMessage)]; }; +var hasOwnProperty = function hasOwnProperty(property) { + return function (payload) { + // eslint-disable-next-line no-prototype-builtins + if (payload && payload.hasOwnProperty && payload.hasOwnProperty(property)) { + return true; + } + + return false; + }; +}; var passUnsuccessfullMessages = function passUnsuccessfullMessages(allMessages, newMessage) { var _newMessage$sendingSt = newMessage.sendingStatus, sendingStatus = _newMessage$sendingSt === void 0 ? UNDEFINED : _newMessage$sendingSt; @@ -326,8 +339,12 @@ var messagesInitialState = { currentGroupChannel: { members: [] }, + // for scrollup hasMore: false, lastMessageTimeStamp: 0, + // for scroll down + hasMoreToBottom: false, + latestFetchedMessageTimeStamp: 0, emojiContainer: {}, readStatus: {}, unreadCount: 0, @@ -383,15 +400,62 @@ function reducer(state, action) { return index$2.compareIds(messageId, msg.messageId); }); }); + var hasHasMoreToBottom = hasOwnProperty('hasMoreToBottom')(action.payload); + var hasLatestFetchedMessageTimeStamp = hasOwnProperty('latestFetchedMessageTimeStamp')(action.payload); return LocalizationContext._objectSpread2({}, state, { loading: false, initialized: true, hasMore: action.payload.hasMore, - lastMessageTimeStamp: action.payload.lastMessageTimeStamp, + lastMessageTimeStamp: action.payload.lastMessageTimeStamp + }, hasHasMoreToBottom && { + hasMoreToBottom: action.payload.hasMoreToBottom + }, {}, hasLatestFetchedMessageTimeStamp && { + latestFetchedMessageTimeStamp: action.payload.latestFetchedMessageTimeStamp + }, { allMessages: [].concat(LocalizationContext._toConsumableArray(receivedMessages), LocalizationContext._toConsumableArray(filteredAllMessages)) }); } + case GET_NEXT_MESSAGES_SUCESS: + { + var _receivedMessages = action.payload.messages || []; + + var _action$payload$curre2 = action.payload.currentGroupChannel, + _currentGroupChannel = _action$payload$curre2 === void 0 ? {} : _action$payload$curre2; + + var _stateChannel = state.currentGroupChannel || {}; + + var _stateChannelUrl = _stateChannel.url; + var _actionChannelUrl = _currentGroupChannel.url; + + if (_actionChannelUrl !== _stateChannelUrl) { + return state; + } // remove duplicate messages + + + var _filteredAllMessages = state.allMessages.filter(function (msg) { + return !_receivedMessages.find(function (_ref2) { + var messageId = _ref2.messageId; + return index$2.compareIds(messageId, msg.messageId); + }); + }); + + return LocalizationContext._objectSpread2({}, state, { + loading: false, + initialized: true, + hasMore: action.payload.hasMore, + lastMessageTimeStamp: action.payload.lastMessageTimeStamp, + hasMoreToBottom: action.payload.hasMoreToBottom, + latestFetchedMessageTimeStamp: action.payload.latestFetchedMessageTimeStamp, + allMessages: [].concat(LocalizationContext._toConsumableArray(_filteredAllMessages), LocalizationContext._toConsumableArray(_receivedMessages)) + }); + } + + case GET_NEXT_MESSAGES_FAILURE: + { + return LocalizationContext._objectSpread2({}, state); + } + case SEND_MESSAGEGE_START: return LocalizationContext._objectSpread2({}, state, { allMessages: [].concat(LocalizationContext._toConsumableArray(state.allMessages), [LocalizationContext._objectSpread2({}, action.payload)]) @@ -438,21 +502,40 @@ function reducer(state, action) { }); } + case UPDATE_UNREAD_COUNT: + { + var channel = action.payload.channel; + + var _state$currentGroupCh = state.currentGroupChannel, + _currentGroupChannel2 = _state$currentGroupCh === void 0 ? {} : _state$currentGroupCh, + unreadCount = state.unreadCount; + + var currentGroupChannelUrl = _currentGroupChannel2.url; + + if (!index$2.compareIds(channel.url, currentGroupChannelUrl)) { + return state; + } + + return LocalizationContext._objectSpread2({}, state, { + unreadSince: unreadCount + 1 + }); + } + case ON_MESSAGE_RECEIVED: { var _action$payload = action.payload, - channel = _action$payload.channel, + _channel = _action$payload.channel, message = _action$payload.message, scrollToEnd = _action$payload.scrollToEnd; - var unreadCount = 0; + var _unreadCount = 0; - var _state$currentGroupCh = state.currentGroupChannel, - _currentGroupChannel = _state$currentGroupCh === void 0 ? {} : _state$currentGroupCh, + var _state$currentGroupCh2 = state.currentGroupChannel, + _currentGroupChannel3 = _state$currentGroupCh2 === void 0 ? {} : _state$currentGroupCh2, unreadSince = state.unreadSince; - var currentGroupChannelUrl = _currentGroupChannel.url; + var _currentGroupChannelUrl = _currentGroupChannel3.url; - if (!index$2.compareIds(channel.url, currentGroupChannelUrl)) { + if (!index$2.compareIds(_channel.url, _currentGroupChannelUrl)) { return state; } // Excluded overlapping messages @@ -463,10 +546,10 @@ function reducer(state, action) { return state; } - unreadCount = state.unreadCount + 1; // reset unreadCount if have to scrollToEnd + _unreadCount = state.unreadCount + 1; // reset unreadCount if have to scrollToEnd if (scrollToEnd) { - unreadCount = 0; + _unreadCount = 0; } if (message.isAdminMessage && message.isAdminMessage()) { @@ -476,8 +559,8 @@ function reducer(state, action) { } return LocalizationContext._objectSpread2({}, state, { - unreadCount: unreadCount, - unreadSince: unreadCount === 1 ? format(new Date(), 'p MMM dd') : unreadSince, + unreadCount: _unreadCount, + unreadSince: _unreadCount === 1 ? format(new Date(), 'p MMM dd') : unreadSince, allMessages: passUnsuccessfullMessages(state.allMessages, message) }); } @@ -563,7 +646,8 @@ function reducer(state, action) { function useHandleChannelEvents(_ref, _ref2) { var currentGroupChannel = _ref.currentGroupChannel, - sdkInit = _ref.sdkInit; + sdkInit = _ref.sdkInit, + hasMoreToBottom = _ref.hasMoreToBottom; var messagesDispatcher = _ref2.messagesDispatcher, sdk = _ref2.sdk, logger = _ref2.logger, @@ -577,7 +661,8 @@ function useHandleChannelEvents(_ref, _ref2) { logger.info('Channel | useHandleChannelEvents: Setup event handler', messageReceiverId); ChannelHandler.onMessageReceived = function (channel, message) { - if (index$2.compareIds(channel.url, currentGroupChannel.url)) { + // donot update if hasMoreToBottom + if (index$2.compareIds(channel.url, currentGroupChannel.url) && !hasMoreToBottom) { var scrollToEnd = false; try { @@ -607,6 +692,15 @@ function useHandleChannelEvents(_ref, _ref2) { } } } + + if (index$2.compareIds(channel.url, currentGroupChannel.url) && hasMoreToBottom) { + messagesDispatcher({ + type: UPDATE_UNREAD_COUNT, + payload: { + channel: channel + } + }); + } }; ChannelHandler.onMessageUpdated = function (channel, message) { @@ -762,9 +856,19 @@ function useSetChannel(_ref, _ref2) { }, [channelUrl, sdkInit]); } +var PREV_RESULT_SIZE = 30; +var NEXT_RESULT_SIZE = 10; + +var getLatestMessageTimeStamp = function getLatestMessageTimeStamp() { + var messages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var latestMessage = messages[messages.length - 1]; + return latestMessage && latestMessage.createdAt || null; +}; + function useInitialMessagesFetch(_ref, _ref2) { var currentGroupChannel = _ref.currentGroupChannel, - userFilledMessageListQuery = _ref.userFilledMessageListQuery; + userFilledMessageListQuery = _ref.userFilledMessageListQuery, + intialTimeStamp = _ref.intialTimeStamp; var sdk = _ref2.sdk, logger = _ref2.logger, messagesDispatcher = _ref2.messagesDispatcher; @@ -777,7 +881,7 @@ function useInitialMessagesFetch(_ref, _ref2) { if (sdk && sdk.MessageListParams && currentGroupChannel && currentGroupChannel.getMessagesByMessageId) { var messageListParams = new sdk.MessageListParams(); - messageListParams.prevResultSize = 30; + messageListParams.prevResultSize = PREV_RESULT_SIZE; messageListParams.isInclusive = true; messageListParams.includeReplies = false; messageListParams.includeReaction = true; @@ -795,17 +899,27 @@ function useInitialMessagesFetch(_ref, _ref2) { messagesDispatcher({ type: GET_PREV_MESSAGES_START }); - currentGroupChannel.getMessagesByTimestamp(new Date().getTime(), messageListParams).then(function (messages) { + + if (intialTimeStamp) { + messageListParams.nextResultSize = NEXT_RESULT_SIZE; + } + + currentGroupChannel.getMessagesByTimestamp(intialTimeStamp || new Date().getTime(), messageListParams).then(function (messages) { var hasMore = messages && messages.length > 0; var lastMessageTimeStamp = hasMore ? messages[0].createdAt : null; + var latestFetchedMessageTimeStamp = getLatestMessageTimeStamp(messages); messagesDispatcher({ type: GET_PREV_MESSAGES_SUCESS, - payload: { + payload: LocalizationContext._objectSpread2({ messages: messages, hasMore: hasMore, lastMessageTimeStamp: lastMessageTimeStamp, - currentGroupChannel: currentGroupChannel - } + currentGroupChannel: currentGroupChannel, + latestFetchedMessageTimeStamp: latestFetchedMessageTimeStamp, + hasMoreToBottom: false + }, intialTimeStamp && { + hasMoreToBottom: true + }) }); }).catch(function (error) { logger.error('Channel: Fetching messages failed', error); @@ -819,13 +933,16 @@ function useInitialMessagesFetch(_ref, _ref2) { } }); }).finally(function () { + if (!intialTimeStamp) { + setTimeout(function () { + return scrollIntoLast(); + }); + } + currentGroupChannel.markAsRead(); - setTimeout(function () { - return scrollIntoLast(); - }); }); } - }, [channelUrl, userFilledMessageListQuery]); + }, [channelUrl, userFilledMessageListQuery, intialTimeStamp]); } function useHandleReconnect(_ref, _ref2) { @@ -952,6 +1069,68 @@ function useScrollCallback(_ref, _ref2) { }, [currentGroupChannel, lastMessageTimeStamp]); } +var RESULT_SIZE = 30; + +function useScrollDownCallback(_ref, _ref2) { + var currentGroupChannel = _ref.currentGroupChannel, + latestFetchedMessageTimeStamp = _ref.latestFetchedMessageTimeStamp, + userFilledMessageListQuery = _ref.userFilledMessageListQuery, + hasMoreToBottom = _ref.hasMoreToBottom; + var logger = _ref2.logger, + messagesDispatcher = _ref2.messagesDispatcher, + sdk = _ref2.sdk; + return React.useCallback(function (cb) { + if (!hasMoreToBottom) { + return; + } + + var messageListParams = new sdk.MessageListParams(); + messageListParams.nextResultSize = RESULT_SIZE; + messageListParams.includeReplies = false; + messageListParams.includeReaction = true; + + if (userFilledMessageListQuery) { + Object.keys(userFilledMessageListQuery).forEach(function (key) { + messageListParams[key] = userFilledMessageListQuery[key]; + }); + } + + logger.info('Channel: Fetching later messages', { + currentGroupChannel: currentGroupChannel, + userFilledMessageListQuery: userFilledMessageListQuery + }); + currentGroupChannel.getMessagesByTimestamp(latestFetchedMessageTimeStamp || new Date().getTime(), messageListParams).then(function (messages) { + var messagesLength = messages && messages.length || 0; + var hasMoreMessages = messagesLength > 0 && messageListParams.nextResultSize === messagesLength; + var lastMessageTs = hasMoreMessages ? messages[messages.length - 1].createdAt : null; + messagesDispatcher({ + type: GET_NEXT_MESSAGES_SUCESS, + payload: { + messages: messages, + hasMoreToBottom: hasMoreMessages, + latestFetchedMessageTimeStamp: lastMessageTs, + currentGroupChannel: currentGroupChannel + } + }); + cb([messages, null]); + }).catch(function (error) { + logger.error('Channel: Fetching later messages failed', error); + messagesDispatcher({ + type: GET_NEXT_MESSAGES_FAILURE, + payload: { + messages: [], + hasMoreToBottom: false, + latestFetchedMessageTimeStamp: 0, + currentGroupChannel: currentGroupChannel + } + }); + cb([null, error]); + }).finally(function () { + currentGroupChannel.markAsRead(); + }); + }, [currentGroupChannel, latestFetchedMessageTimeStamp, hasMoreToBottom]); +} + function useDeleteMessageCallback(_ref, _ref2) { var currentGroupChannel = _ref.currentGroupChannel, messagesDispatcher = _ref.messagesDispatcher; @@ -1506,7 +1685,7 @@ function useMemoizedEmojiListItems(_ref, _ref2) { defaultComponent: React__default.createElement(index.Icon, { width: "28px", height: "28px", - type: index.IconTypes.EMOJI_FAILED + type: index.IconTypes.QUESTION }) })); })); @@ -1579,21 +1758,21 @@ function MessageStatus(_ref) { className: "sendbird-message-status__icon", width: "16px", height: "16px", - type: index.IconTypes.SENT, + type: index.IconTypes.DONE, fillColor: index.IconColors.SENT }), DELIVERED: React__default.createElement(index.Icon, { className: "sendbird-message-status__icon", width: "16px", height: "16px", - type: index.IconTypes.DELIVERED, + type: index.IconTypes.DONE_ALL, fillColor: index.IconColors.SENT }), READ: React__default.createElement(index.Icon, { className: "sendbird-message-status__icon", width: "16px", height: "16px", - type: index.IconTypes.READ, + type: index.IconTypes.DONE_ALL, fillColor: index.IconColors.READ }), FAILED: React__default.createElement(index.Icon, { @@ -1798,7 +1977,7 @@ function EmojiReactions(_ref) { defaultComponent: React__default.createElement(index.Icon, { width: imageWidth, height: imageHeight, - type: index.IconTypes.EMOJI_FAILED + type: index.IconTypes.QUESTION }) }))); }), messageReactions.length < emojiAllMap.size && React__default.createElement(index.ContextMenu, { @@ -1812,7 +1991,7 @@ function EmojiReactions(_ref) { width: imageWidth, height: imageHeight, fillColor: index.IconColors.ON_BACKGROUND_3, - type: index.IconTypes.EMOJI_REACTIONS_ADD + type: index.IconTypes.EMOJI_MORE })); }, menuItems: function menuItems(closeDropdown) { @@ -2160,7 +2339,7 @@ function OutgoingUserMessage(_ref) { }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index.IconTypes.EMOJI_REACTIONS_ADD, + type: index.IconTypes.EMOJI_MORE, fillColor: index.IconColors.CONTENT_INVERSE })); }, @@ -2354,7 +2533,7 @@ function IncomingUserMessage(_ref2) { }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index.IconTypes.EMOJI_REACTIONS_ADD, + type: index.IconTypes.EMOJI_MORE, fillColor: index.IconColors.CONTENT_INVERSE })); }, @@ -2703,7 +2882,7 @@ function OutgoingThumbnailMessage(_ref2) { }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index.IconTypes.EMOJI_REACTIONS_ADD, + type: index.IconTypes.EMOJI_MORE, color: index.IconColors.CONTENT_INVERSE })); }, @@ -2746,7 +2925,15 @@ function OutgoingThumbnailMessage(_ref2) { url: thumbnailUrl, alt: "video/thumbnail", width: "404px", - height: "280px" + height: "280px", + defaultComponent: React__default.createElement("div", { + className: "".concat(OUTGOING_THUMBNAIL_MESSAGE, "__thumbnail-placeholder--video") + }, React__default.createElement(index.Icon, { + type: index.IconTypes.PLAY, + fillColor: index.IconColors.ON_BACKGROUND_2, + width: "56px", + height: "56px" + })) }) : /* eslint-disable-next-line jsx-a11y/media-has-caption */ React__default.createElement("video", { @@ -2764,7 +2951,15 @@ function OutgoingThumbnailMessage(_ref2) { url: thumbnailUrl || url || localUrl, alt: "image/thumbnail", width: "404px", - height: "280px" + height: "280px", + defaultComponent: React__default.createElement("div", { + className: "".concat(OUTGOING_THUMBNAIL_MESSAGE, "__thumbnail-placeholder--video") + }, React__default.createElement(index.Icon, { + type: index.IconTypes.PHOTO, + fillColor: index.IconColors.ON_BACKGROUND_2, + width: "56px", + height: "56px" + })) }), index$2.unSupported(type) && React__default.createElement("div", { className: "".concat(OUTGOING_THUMBNAIL_MESSAGE, "-body__other") }, stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE), React__default.createElement("div", { @@ -2907,10 +3102,18 @@ function IncomingThumbnailMessage(_ref3) { } : function () {} }, index$2.isVideo(type) && React__default.createElement(React__default.Fragment, null, thumbnailUrl ? React__default.createElement(index.ImageRenderer, { className: "".concat(INCOMING_THUMBNAIL_MESSAGE, "__video"), - src: thumbnailUrl, + url: thumbnailUrl, alt: "video/thumbnail", width: "404px", - height: "280px" + height: "280px", + defaultComponent: React__default.createElement("div", { + className: "".concat(INCOMING_THUMBNAIL_MESSAGE, "__thumbnail-placeholder--video") + }, React__default.createElement(index.Icon, { + type: index.IconTypes.PLAY, + fillColor: index.IconColors.ON_BACKGROUND_2, + width: "56px", + height: "56px" + })) }) : /* eslint-disable-next-line jsx-a11y/media-has-caption */ React__default.createElement("video", { @@ -2928,7 +3131,15 @@ function IncomingThumbnailMessage(_ref3) { url: thumbnailUrl || url || localUrl, alt: "image/thumbnail", width: "404px", - height: "280px" + height: "280px", + defaultComponent: React__default.createElement("div", { + className: "".concat(INCOMING_THUMBNAIL_MESSAGE, "__thumbnail-placeholder--image") + }, React__default.createElement(index.Icon, { + type: index.IconTypes.PHOTO, + fillColor: index.IconColors.ON_BACKGROUND_2, + width: "56px", + height: "56px" + })) }), index$2.unSupported(type) && React__default.createElement("div", { className: "".concat(INCOMING_THUMBNAIL_MESSAGE, "__other") }, stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE), React__default.createElement("div", { @@ -2967,7 +3178,7 @@ function IncomingThumbnailMessage(_ref3) { }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index.IconTypes.EMOJI_REACTIONS_ADD, + type: index.IconTypes.EMOJI_MORE, color: index.IconColors.CONTENT_INVERSE })); }, @@ -3231,7 +3442,7 @@ function OutgoingFileMessage(_ref) { }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index.IconTypes.EMOJI_REACTIONS_ADD, + type: index.IconTypes.EMOJI_MORE, fillColor: index.IconColors.CONTENT_INVERSE })); }, @@ -3433,7 +3644,7 @@ function IncomingFileMessage(_ref2) { }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index.IconTypes.EMOJI_REACTIONS_ADD, + type: index.IconTypes.EMOJI_MORE, fillColor: index.IconColors.CONTENT_INVERSE })); }, @@ -4207,7 +4418,7 @@ function OutgoingOGMessage(props) { }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index.IconTypes.EMOJI_REACTIONS_ADD, + type: index.IconTypes.EMOJI_MORE, fillColor: index.IconColors.CONTENT_INVERSE })); }, @@ -4248,7 +4459,7 @@ function OutgoingOGMessage(props) { }, React__default.createElement(index.Icon, { width: "56px", height: "56px", - type: index.IconTypes.NO_THUMBNAIL + type: index.IconTypes.THUMBNAIL_NONE })) })), React__default.createElement("div", { className: "".concat(OUTGOING_OG_MESSAGE, "__og-tag ").concat(checkOGIsEnalbed(message) ? '' : "".concat(OUTGOING_OG_MESSAGE, "__og-tag--disabled")), @@ -4416,7 +4627,7 @@ function IncomingOGMessage(props) { }, React__default.createElement(index.Icon, { width: "56px", height: "56px", - type: index.IconTypes.NO_THUMBNAIL + type: index.IconTypes.THUMBNAIL_NONE })) })), React__default.createElement("div", { className: "".concat(INCOMING_OG_MESSAGE, "__og-tag ").concat(checkOGIsEnalbed(message) ? '' : "".concat(INCOMING_OG_MESSAGE, "__og-tag--disabled")), @@ -4484,7 +4695,7 @@ function IncomingOGMessage(props) { }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index.IconTypes.EMOJI_REACTIONS_ADD, + type: index.IconTypes.EMOJI_MORE, fillColor: index.IconColors.CONTENT_INVERSE })); }, @@ -4664,6 +4875,7 @@ function MessageHoc(_ref) { chainBottom = _ref.chainBottom, emojiAllMap = _ref.emojiAllMap, membersMap = _ref.membersMap, + highLightedMessageId = _ref.highLightedMessageId, toggleReaction = _ref.toggleReaction, memoizedEmojiListItems = _ref.memoizedEmojiListItems, renderCustomMessage = _ref.renderCustomMessage, @@ -4686,10 +4898,31 @@ function MessageHoc(_ref) { showFileViewer = _useState6[0], setShowFileViewer = _useState6[1]; + var _useState7 = React.useState(false), + _useState8 = LocalizationContext._slicedToArray(_useState7, 2), + isAnimated = _useState8[0], + setIsAnimated = _useState8[1]; + var editMessageInputRef = React.useRef(null); + var useMessageScrollRef = React.useRef(null); + React.useLayoutEffect(function () { + if (highLightedMessageId === message.messageId) { + if (useMessageScrollRef && useMessageScrollRef.current) { + setTimeout(function () { + useMessageScrollRef.current.scrollIntoView({ + behavior: 'smooth', + block: 'end' + }); + setIsAnimated(true); + }); + } + } else { + setIsAnimated(false); + } + }, [highLightedMessageId, useMessageScrollRef.current, message.messageId]); var RenderedMessage = React.useMemo(function () { if (renderCustomMessage) { - return renderCustomMessage(message, currentGroupChannel); + return renderCustomMessage(message, currentGroupChannel, chainTop, chainBottom); // Let's change this to object type on next major version up } return null; @@ -4698,7 +4931,8 @@ function MessageHoc(_ref) { if (RenderedMessage) { return React__default.createElement("div", { - className: "sendbird-msg-hoc sendbird-msg--scroll-ref" + ref: useMessageScrollRef, + className: "\n sendbird-msg-hoc sendbird-msg--scroll-ref\n ".concat(isAnimated ? 'sendbird-msg-hoc__highlighted' : '', "\n ") }, hasSeperator && React__default.createElement(index$2.DateSeparator, null, React__default.createElement(index.Label, { type: index.LabelTypography.CAPTION_2, color: index.LabelColors.ONBACKGROUND_2 @@ -4722,7 +4956,8 @@ function MessageHoc(_ref) { } return React__default.createElement("div", { - className: "sendbird-msg-hoc sendbird-msg--scroll-ref" + ref: useMessageScrollRef, + className: "\n sendbird-msg-hoc sendbird-msg--scroll-ref\n ".concat(isAnimated ? 'sendbird-msg-hoc__animated' : '', "\n ") }, hasSeperator && React__default.createElement(index$2.DateSeparator, null, React__default.createElement(index.Label, { type: index.LabelTypography.CAPTION_2, color: index.LabelColors.ONBACKGROUND_2 @@ -4837,6 +5072,7 @@ MessageHoc.propTypes = { }), ogMetaData: PropTypes.shape({}) }), + highLightedMessageId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), renderCustomMessage: PropTypes.func, currentGroupChannel: PropTypes.shape({}), hasSeperator: PropTypes.bool, @@ -4862,6 +5098,7 @@ MessageHoc.defaultProps = { message: {}, hasSeperator: false, disabled: false, + highLightedMessageId: null, status: '', toggleReaction: function toggleReaction() {}, memoizedEmojiListItems: function memoizedEmojiListItems() { @@ -4893,6 +5130,7 @@ function (_Component) { hasMore = _this$props.hasMore, messagesDispatcher = _this$props.messagesDispatcher, onScroll = _this$props.onScroll, + onScrollDown = _this$props.onScrollDown, currentGroupChannel = _this$props.currentGroupChannel; var element = e.target; var scrollTop = element.scrollTop, @@ -4920,6 +5158,25 @@ function (_Component) { }); } + if (clientHeight + scrollTop === scrollHeight) { + var _nodes = scrollRef.current.querySelectorAll('.sendbird-msg--scroll-ref'); + + var last = _nodes && _nodes[_nodes.length - 1]; + onScrollDown(function (_ref3) { + var _ref4 = LocalizationContext._slicedToArray(_ref3, 1), + messages = _ref4[0]; + + if (messages) { + // https://github.com/scabbiaza/react-scroll-position-on-updating-dom + try { + last.scrollIntoView(); + } catch (error) {// + } + } + }); + } // do this later + + setTimeout(function () { // mark as read if scroll is at end if (clientHeight + scrollTop === scrollHeight) { @@ -4943,7 +5200,6 @@ function (_Component) { scrollRef = _this$props2.scrollRef, readStatus = _this$props2.readStatus, membersMap = _this$props2.membersMap, - initialized = _this$props2.initialized, allMessages = _this$props2.allMessages, useReaction = _this$props2.useReaction, emojiAllMap = _this$props2.emojiAllMap, @@ -4953,19 +5209,13 @@ function (_Component) { resendMessage = _this$props2.resendMessage, renderCustomMessage = _this$props2.renderCustomMessage, renderChatItem = _this$props2.renderChatItem, + highLightedMessageId = _this$props2.highLightedMessageId, emojiContainer = _this$props2.emojiContainer, toggleReaction = _this$props2.toggleReaction, useMessageGrouping = _this$props2.useMessageGrouping, currentGroupChannel = _this$props2.currentGroupChannel, memoizedEmojiListItems = _this$props2.memoizedEmojiListItems; - if (!initialized) { - return React__default.createElement(index.PlaceHolder, { - className: "sendbird-conversation__not-initialized", - type: index.PlaceHolderTypes$1.WRONG - }); - } - if (allMessages.length < 1) { return React__default.createElement(index.PlaceHolder, { className: "sendbird-conversation__no-messages", @@ -4987,10 +5237,10 @@ function (_Component) { var previousMessage = allMessages[idx - 1]; var nextMessage = allMessages[idx + 1]; - var _ref3 = useMessageGrouping ? compareMessagesForGrouping(previousMessage, m, nextMessage) : [false, false], - _ref4 = LocalizationContext._slicedToArray(_ref3, 2), - chainTop = _ref4[0], - chainBottom = _ref4[1]; + var _ref5 = useMessageGrouping ? compareMessagesForGrouping(previousMessage, m, nextMessage) : [false, false], + _ref6 = LocalizationContext._slicedToArray(_ref5, 2), + chainTop = _ref6[0], + chainBottom = _ref6[1]; var previousMessageCreatedAt = previousMessage && previousMessage.createdAt; var currentCreatedAt = m.createdAt; // https://stackoverflow.com/a/41855608 @@ -5003,15 +5253,19 @@ function (_Component) { className: "sendbird-msg--scroll-ref" }, renderChatItem({ message: m, + highLightedMessageId: highLightedMessageId, channel: currentGroupChannel, onDeleteMessage: deleteMessage, onUpdateMessage: updateMessage, onResendMessage: resendMessage, - emojiContainer: emojiContainer + emojiContainer: emojiContainer, + chainTop: chainTop, + chainBottom: chainBottom })); } return React__default.createElement(MessageHoc, { + highLightedMessageId: highLightedMessageId, renderCustomMessage: renderCustomMessage, key: m.messageId || m.reqId, userId: userId, @@ -5047,7 +5301,7 @@ ConversationScroll.propTypes = { hasMore: PropTypes.bool, messagesDispatcher: PropTypes.func.isRequired, onScroll: PropTypes.func, - initialized: PropTypes.bool, + onScrollDown: PropTypes.func, editDisabled: PropTypes.bool, disabled: PropTypes.bool, userId: PropTypes.string, @@ -5062,6 +5316,7 @@ ConversationScroll.propTypes = { markAsRead: PropTypes.func, members: PropTypes.arrayOf(PropTypes.shape({})) }).isRequired, + highLightedMessageId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), renderChatItem: PropTypes.element, renderCustomMessage: PropTypes.func, useReaction: PropTypes.bool, @@ -5076,11 +5331,12 @@ ConversationScroll.defaultProps = { hasMore: false, editDisabled: false, disabled: false, - initialized: false, userId: '', renderCustomMessage: null, renderChatItem: null, + highLightedMessageId: null, onScroll: null, + onScrollDown: null, useReaction: true, emojiContainer: {}, emojiAllMap: new Map(), @@ -5113,7 +5369,7 @@ function Notification(_ref) { }, "".concat(count, " "), stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE, " ".concat(timeArray.join(' '))), React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index.IconTypes.SHEVRON_DOWN, + type: index.IconTypes.CHEVRON_DOWN, fillColor: index.IconColors.CONTENT })) ); @@ -5353,6 +5609,8 @@ AutoRefresh.propTypes = { repeatFunc: PropTypes.func.isRequired }; +var noop$4 = function noop() {}; + function ChatHeader(props) { var currentGroupChannel = props.currentGroupChannel, currentUser = props.currentUser, @@ -5360,6 +5618,8 @@ function ChatHeader(props) { subTitle = props.subTitle, isActive = props.isActive, isMuted = props.isMuted, + showSearchIcon = props.showSearchIcon, + onSearchClick = props.onSearchClick, onActionClick = props.onActionClick, theme = props.theme; var userId = currentUser.userId; @@ -5395,10 +5655,20 @@ function ChatHeader(props) { className: "sendbird-chat-header__right" }, typeof isMuted === 'string' && isMuted === 'true' || typeof isMuted === 'boolean' && isMuted ? React__default.createElement(index.Icon, { className: "sendbird-chat-header__mute", - type: index.IconTypes.MUTE, + type: index.IconTypes.NOTIFICATIONS_OFF_FILLED, width: "24px", height: "24px" - }) : null, React__default.createElement(index.IconButton, { + }) : null, showSearchIcon && React__default.createElement(index.IconButton, { + className: "sendbird-chat-header__search", + width: "32px", + height: "32px", + onClick: onSearchClick + }, React__default.createElement(index.Icon, { + type: index.IconTypes.SEARCH, + fillColor: index.IconColors.PRIMARY, + width: "24px", + height: "24px" + })), React__default.createElement(index.IconButton, { className: "sendbird-chat-header__info", width: "32px", height: "32px", @@ -5419,6 +5689,8 @@ ChatHeader.propTypes = { currentUser: PropTypes.shape({ userId: PropTypes.string }), + onSearchClick: PropTypes.func, + showSearchIcon: PropTypes.bool, title: PropTypes.string, subTitle: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]), isActive: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), @@ -5431,12 +5703,14 @@ ChatHeader.defaultProps = { theme: 'light', subTitle: '', isActive: false, + onSearchClick: noop$4, + showSearchIcon: false, isMuted: false, currentUser: {}, onActionClick: function onActionClick() {} }; -var noop$4 = function noop() {}; +var noop$5 = function noop() {}; var ConversationPanel = function ConversationPanel(props) { var channelUrl = props.channelUrl, @@ -5453,7 +5727,11 @@ var ConversationPanel = function ConversationPanel(props) { reconnect = props.dispatchers.reconnect, _props$queries = props.queries, queries = _props$queries === void 0 ? {} : _props$queries, + startingPoint = props.startingPoint, + highlightedMessage = props.highlightedMessage, useReaction = props.useReaction, + showSearchIcon = props.showSearchIcon, + onSearchClick = props.onSearchClick, renderChatItem = props.renderChatItem, renderChatHeader = props.renderChatHeader, renderCustomMessage = props.renderCustomMessage, @@ -5473,10 +5751,19 @@ var ConversationPanel = function ConversationPanel(props) { if (queries.messageListQuery) { // eslint-disable-next-line no-console - console.warn('messageListQuery will be deprecared in v1.3.0, please use messageListParams instead'); + console.warn('messageListQuery has been deprecated, please use messageListParams instead'); } - var userFilledMessageListQuery = queries.messageListParams || queries.messageListQuery; + var _useState = React.useState(startingPoint), + _useState2 = LocalizationContext._slicedToArray(_useState, 2), + intialTimeStamp = _useState2[0], + setIntialTimeStamp = _useState2[1]; + + React.useEffect(function () { + setIntialTimeStamp(startingPoint); + }, [startingPoint, channelUrl]); + var highLightedMessageId = highlightedMessage; + var userFilledMessageListQuery = queries.messageListParams; var _useReducer = React.useReducer(reducer, messagesInitialState), _useReducer2 = LocalizationContext._slicedToArray(_useReducer, 2), @@ -5486,14 +5773,16 @@ var ConversationPanel = function ConversationPanel(props) { var scrollRef = React.useRef(null); var allMessages = messagesStore.allMessages, loading = messagesStore.loading, - hasMore = messagesStore.hasMore, initialized = messagesStore.initialized, unreadCount = messagesStore.unreadCount, unreadSince = messagesStore.unreadSince, isInvalid = messagesStore.isInvalid, _messagesStore$curren = messagesStore.currentGroupChannel, currentGroupChannel = _messagesStore$curren === void 0 ? {} : _messagesStore$curren, + hasMore = messagesStore.hasMore, lastMessageTimeStamp = messagesStore.lastMessageTimeStamp, + hasMoreToBottom = messagesStore.hasMoreToBottom, + latestFetchedMessageTimeStamp = messagesStore.latestFetchedMessageTimeStamp, emojiContainer = messagesStore.emojiContainer, readStatus = messagesStore.readStatus; var isFrozen = currentGroupChannel.isFrozen, @@ -5523,6 +5812,16 @@ var ConversationPanel = function ConversationPanel(props) { messagesDispatcher: messagesDispatcher, sdk: sdk }); + var onScrollDownCallback = useScrollDownCallback({ + currentGroupChannel: currentGroupChannel, + latestFetchedMessageTimeStamp: latestFetchedMessageTimeStamp, + userFilledMessageListQuery: userFilledMessageListQuery, + hasMoreToBottom: hasMoreToBottom + }, { + logger: logger, + messagesDispatcher: messagesDispatcher, + sdk: sdk + }); var toggleReaction = useToggleReactionCallback({ currentGroupChannel: currentGroupChannel }, { @@ -5549,7 +5848,8 @@ var ConversationPanel = function ConversationPanel(props) { useHandleChannelEvents({ currentGroupChannel: currentGroupChannel, - sdkInit: sdkInit + sdkInit: sdkInit, + hasMoreToBottom: hasMoreToBottom }, { messagesDispatcher: messagesDispatcher, sdk: sdk, @@ -5558,7 +5858,8 @@ var ConversationPanel = function ConversationPanel(props) { }); useInitialMessagesFetch({ currentGroupChannel: currentGroupChannel, - userFilledMessageListQuery: userFilledMessageListQuery + userFilledMessageListQuery: userFilledMessageListQuery, + intialTimeStamp: intialTimeStamp }, { sdk: sdk, logger: logger, @@ -5638,18 +5939,6 @@ var ConversationPanel = function ConversationPanel(props) { _useSendFileMessageCa2 = LocalizationContext._slicedToArray(_useSendFileMessageCa, 1), onSendFileMessage = _useSendFileMessageCa2[0]; - if (sdkError) { - return React__default.createElement("div", { - className: "sendbird-conversation" - }, React__default.createElement(index.PlaceHolder, { - type: index.PlaceHolderTypes$1.WRONG, - retryToConnect: function retryToConnect() { - logger.info('Channel: reconnecting'); - reconnect(); - } - })); - } - if (!channelUrl) { return React__default.createElement("div", { className: "sendbird-conversation" @@ -5658,19 +5947,23 @@ var ConversationPanel = function ConversationPanel(props) { })); } - if (loading) { + if (isInvalid) { return React__default.createElement("div", { className: "sendbird-conversation" }, React__default.createElement(index.PlaceHolder, { - type: index.PlaceHolderTypes$1.LOADING + type: index.PlaceHolderTypes$1.WRONG })); } - if (isInvalid) { + if (sdkError) { return React__default.createElement("div", { className: "sendbird-conversation" }, React__default.createElement(index.PlaceHolder, { - type: index.PlaceHolderTypes$1.WRONG + type: index.PlaceHolderTypes$1.WRONG, + retryToConnect: function retryToConnect() { + logger.info('Channel: reconnecting'); + reconnect(); + } })); } @@ -5685,6 +5978,8 @@ var ConversationPanel = function ConversationPanel(props) { theme: theme, currentGroupChannel: currentGroupChannel, currentUser: user, + showSearchIcon: showSearchIcon, + onSearchClick: onSearchClick, onActionClick: onChatHeaderActionClick, subTitle: currentGroupChannel.members && currentGroupChannel.members.length !== 2, isActive: false, @@ -5692,25 +5987,34 @@ var ConversationPanel = function ConversationPanel(props) { }), isFrozen && React__default.createElement(FrozenNotification, null), unreadCount > 0 && React__default.createElement(Notification, { count: unreadCount, onClick: function onClick() { - scrollIntoLast(); // there is no scroll + if (intialTimeStamp) { + setIntialTimeStamp(null); + } else { + scrollIntoLast(); // there is no scroll - if (scrollRef.current.scrollTop === 0) { - currentGroupChannel.markAsRead(); - messagesDispatcher({ - type: MARK_AS_READ - }); + if (scrollRef.current.scrollTop === 0) { + currentGroupChannel.markAsRead(); + messagesDispatcher({ + type: MARK_AS_READ + }); + } } }, time: unreadSince - }), React__default.createElement(ConversationScroll, { + }), loading ? React__default.createElement("div", { + className: "sendbird-conversation" + }, React__default.createElement(index.PlaceHolder, { + type: index.PlaceHolderTypes$1.LOADING + })) : React__default.createElement(ConversationScroll, { swapParams: sdk && sdk.getErrorFirstCallback && sdk.getErrorFirstCallback(), + highLightedMessageId: highLightedMessageId, userId: userId, hasMore: hasMore, disabled: !isOnline, onScroll: onScrollCallback, + onScrollDown: onScrollDownCallback, scrollRef: scrollRef, readStatus: readStatus, - initialized: initialized, useReaction: usingReaction, allMessages: allMessages, emojiAllMap: emojiAllMap, @@ -5806,19 +6110,10 @@ ConversationPanel.propTypes = { limit: PropTypes.number, reverse: PropTypes.bool, senderUserIdsFilter: PropTypes.arrayOf(PropTypes.string) - }), - // deprecate in v1.3 - messageListQuery: PropTypes.shape({ - includeMetaArray: PropTypes.bool, - includeParentMessageText: PropTypes.bool, - includeReaction: PropTypes.bool, - includeReplies: PropTypes.bool, - includeThreadInfo: PropTypes.bool, - limit: PropTypes.number, - reverse: PropTypes.bool, - senderUserIdsFilter: PropTypes.arrayOf(PropTypes.string) }) }), + startingPoint: PropTypes.number, + highlightedMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), onBeforeSendUserMessage: PropTypes.func, // onBeforeSendUserMessage(text) onBeforeSendFileMessage: PropTypes.func, @@ -5828,6 +6123,8 @@ ConversationPanel.propTypes = { renderCustomMessage: PropTypes.func, renderMessageInput: PropTypes.oneOfType([PropTypes.element, PropTypes.func]), renderChatHeader: PropTypes.oneOfType([PropTypes.element, PropTypes.func]), + showSearchIcon: PropTypes.bool, + onSearchClick: PropTypes.func, onChatHeaderActionClick: PropTypes.func, useReaction: PropTypes.bool, disableUserProfile: PropTypes.bool, @@ -5840,15 +6137,19 @@ ConversationPanel.defaultProps = { onBeforeSendUserMessage: null, onBeforeSendFileMessage: null, onBeforeUpdateUserMessage: null, + startingPoint: null, + highlightedMessage: null, renderChatItem: null, renderCustomMessage: null, renderMessageInput: null, renderChatHeader: null, useReaction: true, + showSearchIcon: false, + onSearchClick: noop$5, disableUserProfile: false, renderUserProfile: null, useMessageGrouping: true, - onChatHeaderActionClick: noop$4 + onChatHeaderActionClick: noop$5 }; var getEmojiCategoriesFromEmojiContainer$1 = getEmojiCategoriesFromEmojiContainer, getAllEmojisFromEmojiContainer$1 = getAllEmojisFromEmojiContainer, diff --git a/dist/cjs/Channel.js.map b/dist/cjs/Channel.js.map index 868aab2..d66d1fb 100644 --- a/dist/cjs/Channel.js.map +++ b/dist/cjs/Channel.js.map @@ -1 +1 @@ -{"version":3,"file":"Channel.js","sources":["../../../src/smart-components/Conversation/dux/actionTypes.js","../../../src/smart-components/Conversation/types.js","../../../src/smart-components/Conversation/utils.js","../../../src/smart-components/Conversation/dux/initialState.js","../../../src/smart-components/Conversation/dux/reducers.js","../../../src/smart-components/Conversation/hooks/useHandleChannelEvents.js","../../../src/smart-components/Conversation/hooks/useGetChannel.js","../../../src/smart-components/Conversation/hooks/useInitialMessagesFetch.js","../../../src/smart-components/Conversation/hooks/useHandleReconnect.js","../../../src/smart-components/Conversation/hooks/useScrollCallback.js","../../../src/smart-components/Conversation/hooks/useDeleteMessageCallback.js","../../../src/smart-components/Conversation/hooks/useUpdateMessageCallback.js","../../../src/smart-components/Conversation/hooks/useResendMessageCallback.js","../../../src/smart-components/Conversation/hooks/useSendMessageCallback.js","../../../src/smart-components/Conversation/hooks/useSendFileMessageCallback.js","../../../src/smart-components/Conversation/hooks/useSetReadStatus.js","../../../src/ui/ReactionButton/index.jsx","../../../src/smart-components/Conversation/hooks/useMemoizedEmojiListItems.jsx","../../../src/smart-components/Conversation/hooks/useToggleReactionCallback.js","../../../src/ui/MessageStatus/index.jsx","../../../src/ui/ReactionBadge/index.jsx","../../../src/ui/Tooltip/index.jsx","../../../src/ui/TooltipWrapper/index.jsx","../../../src/ui/EmojiReactions/index.jsx","../../../src/ui/Message/memoizedMessageText.jsx","../../../src/hooks/onMouseHover.jsx","../../../src/ui/Message/index.jsx","../../../src/ui/AdminMessage/index.jsx","../../../src/ui/ThumbnailMessage/util.js","../../../src/ui/ThumbnailMessage/index.jsx","../../../src/ui/FileMessage/index.jsx","../../../src/smart-components/Conversation/components/RemoveMessage.jsx","../../../src/ui/UnknownMessage/utils.js","../../../src/ui/UnknownMessage/index.jsx","../../../src/ui/OGMessage/const.js","../../../src/ui/OGMessage/utils.js","../../../src/ui/OGMessage/memoizedMessageText.jsx","../../../src/ui/OGMessage/index.jsx","../../../src/smart-components/Conversation/components/MessageHOC.jsx","../../../src/smart-components/Conversation/components/ConversationScroll.jsx","../../../src/smart-components/Conversation/components/Notification.jsx","../../../src/smart-components/Conversation/components/FrozenNotification.tsx","../../../src/smart-components/Conversation/components/TypingIndicator.jsx","../../../src/smart-components/Conversation/components/MessageInputWrapper.tsx","../../../src/ui/ConnectionStatus/index.jsx","../../../src/ui/ChatHeader/utils.js","../../../src/ui/AutoRefresh/index.jsx","../../../src/ui/ChatHeader/index.jsx","../../../src/smart-components/Conversation/index.jsx"],"sourcesContent":["export const RESET_MESSAGES = 'RESET_MESSAGES';\nexport const RESET_STATE = 'RESET_STATE';\nexport const CLEAR_SENT_MESSAGES = 'CLEAR_SENT_MESSAGES';\nexport const GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START';\nexport const GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS';\nexport const GET_PREV_MESSAGES_FAILURE = 'GET_PREV_MESSAGES_FAILURE';\n\nexport const SEND_MESSAGEGE_START = 'SEND_MESSAGEGE_START';\nexport const SEND_MESSAGEGE_SUCESS = 'SEND_MESSAGEGE_SUCESS';\nexport const SEND_MESSAGEGE_FAILURE = 'SEND_MESSAGEGE_FAILURE';\n\nexport const RESEND_MESSAGEGE_START = 'RESEND_MESSAGEGE_START';\n\nexport const ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';\nexport const ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';\nexport const ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';\nexport const ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';\nexport const MARK_AS_READ = 'MARK_AS_READ';\n\nexport const ON_REACTION_UPDATED = 'ON_REACTION_UPDATED';\nexport const SET_EMOJI_CONTAINER = 'SET_EMOJI_CONTAINER';\nexport const SET_READ_STATUS = 'SET_READ_STATUS';\n","import { isImage, isVideo } from '../../ui/FileViewer/types';\n\nexport const MessageTypes = {\n ADMIN: 'ADMIN',\n USER: 'USER',\n FILE: 'FILE',\n THUMBNAIL: 'THUMBNAIL',\n OG: 'OG',\n};\n\nexport const SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport const getMessageType = (message) => {\n if ((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user') {\n return (message.ogMetaData)\n ? MessageTypes.OG\n : MessageTypes.USER;\n }\n if (message.isAdminMessage && message.isAdminMessage()) {\n return MessageTypes.ADMIN;\n }\n if ((message.isFileMessage && message.isFileMessage()) || message.messageType === 'file') {\n return (isImage(message.type) || isVideo(message.type))\n ? MessageTypes.THUMBNAIL\n : MessageTypes.FILE;\n }\n return '';\n};\n\nexport default {\n MessageTypes,\n SendingMessageStatus,\n getMessageType,\n};\n","import format from 'date-fns/format';\nimport MessageStatusType from '../../ui/MessageStatus/type';\nimport * as channelActions from './dux/actionTypes';\nimport * as topics from '../../lib/pubSub/topics';\n\nimport { SendingMessageStatus } from './types';\n\nconst UNDEFINED = 'undefined';\nconst { SUCCEEDED, FAILED, PENDING } = SendingMessageStatus;\n\nexport const scrollIntoLast = (intialTry = 0) => {\n const MAX_TRIES = 10;\n const currentTry = intialTry;\n if (currentTry > MAX_TRIES) {\n return;\n }\n try {\n const scrollDOM = document.querySelector('.sendbird-conversation__scroll-container');\n // eslint-disable-next-line no-multi-assign\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1);\n }, 500 * currentTry);\n }\n};\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (channelUrl, pubSub, dispatcher) => {\n const subscriber = new Map();\n if (!pubSub || !pubSub.subscribe) return subscriber;\n subscriber.set(topics.SEND_USER_MESSAGE, pubSub.subscribe(topics.SEND_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel, message } = msg;\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.SEND_MESSAGEGE_START,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_FILE_MESSAGE, pubSub.subscribe(topics.SEND_FILE_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message, fromSelector } = msg;\n if (fromSelector && channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n }\n }));\n subscriber.set(topics.DELETE_MESSAGE, pubSub.subscribe(topics.DELETE_MESSAGE, (msg) => {\n const { channel, messageId } = msg;\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n }\n }));\n\n return subscriber;\n};\n\nexport const getParsedStatus = (message, currentGroupChannel) => {\n if (message.requestState === FAILED) {\n return MessageStatusType.FAILED;\n }\n\n if (message.requestState === PENDING) {\n return MessageStatusType.PENDING;\n }\n\n if (message.requestState === SUCCEEDED) {\n if (!currentGroupChannel) {\n return MessageStatusType.SENT;\n }\n\n const unreadCount = currentGroupChannel.getReadReceipt(message);\n if (unreadCount === 0) {\n return MessageStatusType.READ;\n }\n\n const isDelivered = currentGroupChannel.getDeliveryReceipt(message) === 0;\n if (isDelivered) {\n return MessageStatusType.DELIVERED;\n }\n\n return MessageStatusType.SENT;\n }\n\n return null;\n};\n\nexport const isOperator = (groupChannel = {}) => {\n const { myRole } = groupChannel;\n return myRole === 'operator';\n};\n\nexport const isDisabledBecauseFrozen = (groupChannel = {}) => {\n const { isFrozen } = groupChannel;\n return isFrozen && !isOperator(groupChannel);\n};\n\nexport const isDisabledBecauseMuted = (groupChannel = {}) => {\n const { myMutedState } = groupChannel;\n return myMutedState === 'muted';\n};\n\nexport const getEmojiCategoriesFromEmojiContainer = (emojiContainer = {}) => (\n emojiContainer.emojiCategories ? emojiContainer.emojiCategories : []\n);\n\nexport const getAllEmojisFromEmojiContainer = (emojiContainer = {}) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojis = [];\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n allEmojis.push(emojis[emojiIndex]);\n }\n }\n return allEmojis;\n};\n\nexport const getEmojisFromEmojiContainer = (emojiContainer = {}, emojiCategoryId = '') => (\n emojiContainer.emojiCategories\n ? emojiContainer.emojiCategories\n .filter((emojiCategory) => emojiCategory.id === emojiCategoryId)[0].emojis\n : []\n);\n\nexport const getAllEmojisMapFromEmojiContainer = (emojiContainer = {}) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojisMap = new Map();\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n const { key, url } = emojis[emojiIndex];\n allEmojisMap.set(key, url);\n }\n }\n return allEmojisMap;\n};\n\nexport const getNicknamesMapFromMembers = (members = []) => {\n const nicknamesMap = new Map();\n for (let memberIndex = 0; memberIndex < members.length; memberIndex += 1) {\n const { userId, nickname } = members[memberIndex];\n nicknamesMap.set(userId, nickname);\n }\n return nicknamesMap;\n};\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const isSameGroup = (message, comparingMessage) => {\n if (\n !message\n || !comparingMessage\n || !message.sender\n || !comparingMessage.sender\n || !message.createdAt\n || !comparingMessage.createdAt\n || !message.sender.userId\n || !comparingMessage.sender.userId\n ) {\n return false;\n }\n return (\n message.sendingStatus === comparingMessage.sendingStatus\n && message.sender.userId === comparingMessage.sender.userId\n && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)\n );\n};\n\nexport const compareMessagesForGrouping = (\n prevMessage,\n currMessage,\n nextMessage,\n) => (\n [\n isSameGroup(prevMessage, currMessage),\n isSameGroup(currMessage, nextMessage),\n ]\n);\n\nexport const passUnsuccessfullMessages = (allMessages, newMessage) => {\n const { sendingStatus = UNDEFINED } = newMessage;\n if (sendingStatus === SUCCEEDED || sendingStatus === PENDING) {\n const lastIndexOfSucceededMessage = allMessages\n .map((message) => (\n message.sendingStatus\n || ((message.isAdminMessage && message.isAdminMessage()) ? SUCCEEDED : UNDEFINED)\n ))\n .lastIndexOf(SUCCEEDED);\n if (lastIndexOfSucceededMessage + 1 < allMessages.length) {\n const messages = [...allMessages];\n messages.splice(lastIndexOfSucceededMessage + 1, 0, newMessage);\n return messages;\n }\n }\n return [\n ...allMessages,\n newMessage,\n ];\n};\n\nexport const pxToNumber = (px) => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n\nexport default getParsedStatus;\n","export default {\n initialized: false,\n loading: false,\n allMessages: [],\n currentGroupChannel: { members: [] },\n hasMore: false,\n lastMessageTimeStamp: 0,\n emojiContainer: {},\n readStatus: {},\n unreadCount: 0,\n unreadSince: null,\n isInvalid: false,\n};\n","import format from 'date-fns/format';\n\nimport * as actionTypes from './actionTypes';\nimport initialState from './initialState';\n\nimport compareIds from '../../../utils/compareIds';\nimport { passUnsuccessfullMessages } from '../utils';\nimport { SendingMessageStatus } from '../types';\n\nconst {\n SUCCEEDED,\n FAILED,\n PENDING,\n} = SendingMessageStatus;\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actionTypes.RESET_STATE:\n return initialState;\n case actionTypes.RESET_MESSAGES:\n return {\n ...state,\n // when user switches channel, if the previous channel `hasMore`\n // the onScroll gets called twice, setting hasMore false prevents this\n hasMore: false,\n allMessages: [],\n };\n case actionTypes.GET_PREV_MESSAGES_START:\n return {\n ...state,\n loading: true,\n };\n case actionTypes.CLEAR_SENT_MESSAGES:\n return {\n ...state,\n allMessages: [\n ...state.allMessages.filter((m) => (\n m.sendingStatus !== SUCCEEDED\n )),\n ],\n };\n case actionTypes.GET_PREV_MESSAGES_SUCESS: {\n const receivedMessages = action.payload.messages || [];\n const { currentGroupChannel = {} } = action.payload;\n\n const stateChannel = state.currentGroupChannel || {};\n const stateChannelUrl = stateChannel.url;\n const actionChannelUrl = currentGroupChannel.url;\n if (actionChannelUrl !== stateChannelUrl) {\n return state;\n }\n\n // remove duplicate messages\n const filteredAllMessages = state.allMessages.filter((msg) => (\n !(receivedMessages.find(({ messageId }) => compareIds(messageId, msg.messageId)))\n ));\n return {\n ...state,\n loading: false,\n initialized: true,\n hasMore: action.payload.hasMore,\n lastMessageTimeStamp: action.payload.lastMessageTimeStamp,\n allMessages: [\n ...receivedMessages,\n ...filteredAllMessages,\n ],\n };\n }\n case actionTypes.SEND_MESSAGEGE_START:\n return {\n ...state,\n allMessages: [\n ...state.allMessages,\n { ...action.payload },\n ],\n };\n case actionTypes.SEND_MESSAGEGE_SUCESS: {\n const newMessages = state.allMessages.map((m) => (\n compareIds(m.reqId, action.payload.reqId) ? action.payload : m\n ));\n [...newMessages].sort((a, b) => (\n (\n a.sendingStatus\n && b.sendingStatus\n && a.sendingStatus === SUCCEEDED\n && (\n b.sendingStatus === PENDING\n || b.sendingStatus === FAILED\n )\n ) ? -1 : 1\n ));\n return {\n ...state,\n allMessages: newMessages,\n };\n }\n case actionTypes.SEND_MESSAGEGE_FAILURE: {\n // eslint-disable-next-line no-param-reassign\n action.payload.failed = true;\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, action.payload.reqId)\n ? action.payload\n : m\n )),\n };\n }\n case actionTypes.SET_CURRENT_CHANNEL: {\n return {\n ...state,\n currentGroupChannel: action.payload,\n isInvalid: false,\n };\n }\n case actionTypes.SET_CHANNEL_INVALID: {\n return {\n ...state,\n isInvalid: true,\n };\n }\n case actionTypes.ON_MESSAGE_RECEIVED: {\n const { channel, message, scrollToEnd } = action.payload;\n let unreadCount = 0;\n const { currentGroupChannel = {}, unreadSince } = state;\n const currentGroupChannelUrl = currentGroupChannel.url;\n if (!compareIds(channel.url, currentGroupChannelUrl)) {\n return state;\n }\n // Excluded overlapping messages\n if (!(state.allMessages.map((msg) => msg.messageId).indexOf(message.messageId) < 0)) {\n return state;\n }\n\n unreadCount = state.unreadCount + 1;\n // reset unreadCount if have to scrollToEnd\n if (scrollToEnd) {\n unreadCount = 0;\n }\n\n if (message.isAdminMessage && message.isAdminMessage()) {\n return {\n ...state,\n allMessages: passUnsuccessfullMessages(state.allMessages, message),\n };\n }\n return {\n ...state,\n unreadCount,\n unreadSince: (unreadCount === 1)\n ? format(new Date(), 'p MMM dd')\n : unreadSince,\n allMessages: passUnsuccessfullMessages(state.allMessages, message),\n };\n }\n case actionTypes.ON_MESSAGE_UPDATED:\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.messageId, action.payload.message.messageId)\n ? action.payload.message\n : m\n )),\n };\n case actionTypes.RESEND_MESSAGEGE_START:\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, action.payload.reqId)\n ? action.payload\n : m\n )),\n };\n case actionTypes.MARK_AS_READ:\n return {\n ...state,\n unreadCount: 0,\n unreadSince: null,\n };\n case actionTypes.ON_MESSAGE_DELETED:\n return {\n ...state,\n allMessages: state.allMessages.filter((m) => (\n !compareIds(m.messageId, action.payload)\n )),\n };\n case actionTypes.ON_MESSAGE_DELETED_BY_REQ_ID:\n return {\n ...state,\n allMessages: state.allMessages.filter((m) => (\n !compareIds(m.reqId, action.payload)\n )),\n };\n case actionTypes.SET_EMOJI_CONTAINER: {\n return {\n ...state,\n emojiContainer: action.payload,\n };\n }\n case actionTypes.SET_READ_STATUS: {\n return {\n ...state,\n readStatus: action.payload,\n };\n }\n case actionTypes.ON_REACTION_UPDATED: {\n return {\n ...state,\n allMessages: state.allMessages.map((m) => {\n if (compareIds(m.messageId, action.payload.messageId)) {\n if (m.applyReactionEvent && typeof m.applyReactionEvent === 'function') {\n m.applyReactionEvent(action.payload);\n }\n return m;\n }\n return m;\n }),\n };\n }\n default:\n return state;\n }\n}\n","import { useEffect } from 'react';\n\nimport * as messageActions from '../dux/actionTypes';\nimport { uuidv4 } from '../../../utils/uuid';\nimport compareIds from '../../../utils/compareIds';\nimport { scrollIntoLast } from '../utils';\n\n/**\n * Handles ChannelEvents and send values to dispatcher using messagesDispatcher\n * messagesDispatcher: Dispatcher\n * sdk: sdkInstance\n * logger: loggerInstance\n * channelUrl: string\n * sdkInit: bool\n */\nfunction useHandleChannelEvents({ currentGroupChannel, sdkInit }, {\n messagesDispatcher,\n sdk,\n logger,\n scrollRef,\n}) {\n const channelUrl = currentGroupChannel && currentGroupChannel.url;\n useEffect(() => {\n const messageReceiverId = uuidv4();\n if (channelUrl && sdk && sdk.ChannelHandler) {\n const ChannelHandler = new sdk.ChannelHandler();\n logger.info('Channel | useHandleChannelEvents: Setup event handler', messageReceiverId);\n ChannelHandler.onMessageReceived = (channel, message) => {\n if (compareIds(channel.url, currentGroupChannel.url)) {\n let scrollToEnd = false;\n try {\n const { current } = scrollRef;\n scrollToEnd = current.offsetHeight + current.scrollTop >= current.scrollHeight;\n } catch (error) {\n //\n }\n\n logger.info('Channel | useHandleChannelEvents: onMessageReceived', message);\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_RECEIVED,\n payload: { channel, message, scrollToEnd },\n });\n\n if (scrollToEnd) {\n try {\n setTimeout(() => {\n currentGroupChannel.markAsRead();\n scrollIntoLast();\n });\n } catch (error) {\n logger.warning('Channel | onMessageReceived | scroll to end failed');\n }\n }\n }\n };\n\n ChannelHandler.onMessageUpdated = (channel, message) => {\n logger.info('Channel | useHandleChannelEvents: onMessageUpdated', message);\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n };\n\n ChannelHandler.onMessageDeleted = (_, messageId) => {\n logger.info('Channel | useHandleChannelEvents: onMessageDeleted', messageId);\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n };\n\n ChannelHandler.onReactionUpdated = (_, reactionEvent) => {\n logger.info('Channel | useHandleChannelEvents: onReactionUpdated', reactionEvent);\n messagesDispatcher({\n type: messageActions.ON_REACTION_UPDATED,\n payload: reactionEvent,\n });\n };\n\n ChannelHandler.onChannelChanged = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onChannelChanged', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onChannelFrozen = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onChannelFrozen', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onChannelUnfrozen = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onChannelUnFrozen', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onUserMuted = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onUserMuted', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onUserUnmuted = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onUserUnmuted', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onUserBanned = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onUserBanned', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onOperatorUpdated = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onOperatorUpdated', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n // Add this channel event handler to the SendBird object.\n sdk.addChannelHandler(messageReceiverId, ChannelHandler);\n }\n return () => {\n if (sdk && sdk.removeChannelHandler) {\n logger.info('Channel | useHandleChannelEvents: Removing message reciver handler', messageReceiverId);\n sdk.removeChannelHandler(messageReceiverId);\n }\n };\n }, [channelUrl, sdkInit]);\n}\n\nexport default useHandleChannelEvents;\n","import { useEffect } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useSetChannel({ channelUrl, sdkInit }, {\n messagesDispatcher,\n sdk,\n logger,\n}) {\n useEffect(() => {\n if (channelUrl && sdkInit && sdk && sdk.GroupChannel) {\n logger.info('Channel | useSetChannel fetching channel', channelUrl);\n sdk.GroupChannel.getChannel(channelUrl)\n .then((groupChannel) => {\n logger.info('Channel | useSetChannel fetched channel', groupChannel);\n messagesDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n\n logger.info('Channel: Mark as read', groupChannel);\n // this order is important - this mark as read should update the event handler up above\n groupChannel.markAsRead();\n })\n .catch((e) => {\n logger.warning('Channel | useSetChannel fetch channel failed', { channelUrl, e });\n messagesDispatcher({\n type: messageActionTypes.SET_CHANNEL_INVALID,\n });\n });\n sdk.getAllEmoji((emojiContainer_, err) => {\n if (err) {\n logger.error('Channel: Getting emojis failed', err);\n return;\n }\n logger.info('Channel: Getting emojis success', emojiContainer_);\n messagesDispatcher({\n type: messageActionTypes.SET_EMOJI_CONTAINER,\n payload: emojiContainer_,\n });\n });\n }\n }, [channelUrl, sdkInit]);\n}\n\nexport default useSetChannel;\n","import { useEffect } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\nfunction useInitialMessagesFetch({ currentGroupChannel, userFilledMessageListQuery }, {\n sdk,\n logger,\n messagesDispatcher,\n}) {\n const channelUrl = currentGroupChannel && currentGroupChannel.url;\n useEffect(() => {\n logger.info('Channel useInitialMessagesFetch: Setup started', currentGroupChannel);\n\n messagesDispatcher({\n type: messageActionTypes.RESET_MESSAGES,\n });\n\n if (sdk && sdk.MessageListParams\n && currentGroupChannel && currentGroupChannel.getMessagesByMessageId) {\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.isInclusive = true;\n messageListParams.includeReplies = false;\n messageListParams.includeReaction = true;\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching messages', { currentGroupChannel, userFilledMessageListQuery });\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_START,\n });\n\n currentGroupChannel.getMessagesByTimestamp(\n new Date().getTime(),\n messageListParams,\n )\n .then((messages) => {\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimeStamp = hasMore\n ? messages[0].createdAt\n : null;\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages,\n hasMore,\n lastMessageTimeStamp,\n currentGroupChannel,\n },\n });\n })\n .catch((error) => {\n logger.error('Channel: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages: [],\n hasMore: false,\n lastMessageTimeStamp: 0,\n currentGroupChannel,\n },\n });\n })\n .finally(() => {\n currentGroupChannel.markAsRead();\n setTimeout(() => utils.scrollIntoLast());\n });\n }\n }, [channelUrl, userFilledMessageListQuery]);\n}\n\nexport default useInitialMessagesFetch;\n","import { useEffect } from 'react';\n\nimport * as utils from '../utils';\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useHandleReconnect({ isOnline }, {\n logger,\n sdk,\n currentGroupChannel,\n messagesDispatcher,\n userFilledMessageListQuery,\n}) {\n useEffect(() => {\n const wasOffline = !isOnline;\n return () => {\n // state changed from offline to online\n if (wasOffline) {\n logger.info('Refreshing conversation state');\n const { appInfo = {} } = sdk;\n const useReaction = appInfo.isUsingReaction || false;\n\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.includeReplies = false;\n messageListParams.includeReaction = useReaction;\n\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching messages', { currentGroupChannel, userFilledMessageListQuery });\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_START,\n });\n\n sdk.GroupChannel.getChannel(currentGroupChannel.url)\n .then((groupChannel) => {\n const lastMessageTime = new Date().getTime();\n\n groupChannel.getMessagesByTimestamp(\n lastMessageTime,\n messageListParams,\n )\n .then((messages) => {\n messagesDispatcher({\n type: messageActionTypes.CLEAR_SENT_MESSAGES,\n });\n\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimeStamp = hasMore\n ? messages[0].createdAt\n : null;\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages,\n hasMore,\n lastMessageTimeStamp,\n currentGroupChannel,\n },\n });\n setTimeout(() => utils.scrollIntoLast());\n })\n .catch((error) => {\n logger.error('Channel: Fetching messages failed', error);\n })\n .finally(() => {\n currentGroupChannel.markAsRead();\n });\n });\n }\n };\n }, [isOnline]);\n}\n\nexport default useHandleReconnect;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useScrollCallback({\n currentGroupChannel,\n lastMessageTimeStamp,\n userFilledMessageListQuery,\n}, {\n hasMore,\n logger,\n messagesDispatcher,\n sdk,\n}) {\n return useCallback((cb) => {\n if (!hasMore) { return; }\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.includeReplies = false;\n messageListParams.includeReaction = true;\n\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching messages', { currentGroupChannel, userFilledMessageListQuery });\n\n currentGroupChannel.getMessagesByTimestamp(\n lastMessageTimeStamp || new Date().getTime(),\n messageListParams,\n )\n .then((messages) => {\n const hasMoreMessages = (messages && messages.length > 0);\n const lastMessageTs = hasMoreMessages\n ? messages[0].createdAt\n : null;\n\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages,\n hasMore: hasMoreMessages,\n lastMessageTimeStamp: lastMessageTs,\n currentGroupChannel,\n },\n });\n cb([messages, null]);\n })\n .catch((error) => {\n logger.error('Channel: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages: [],\n hasMore: false,\n lastMessageTimeStamp: 0,\n currentGroupChannel,\n },\n });\n cb([null, error]);\n })\n .finally(() => {\n currentGroupChannel.markAsRead();\n });\n }, [currentGroupChannel, lastMessageTimeStamp]);\n}\n\nexport default useScrollCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useDeleteMessageCallback({ currentGroupChannel, messagesDispatcher }, { logger }) {\n return useCallback((message, cb) => {\n logger.info('Channel | useDeleteMessageCallback: Deleting message', message);\n const { requestState } = message;\n logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', requestState);\n\n // Message is only on local\n if (requestState === 'failed' || requestState === 'pending') {\n logger.info('Channel | useDeleteMessageCallback: Deleted message from local:', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,\n payload: message.reqId,\n });\n if (cb) { cb(); }\n return;\n }\n\n // Message is on server\n currentGroupChannel.deleteMessage(message, (err) => {\n logger.info('Channel | useDeleteMessageCallback: Deleting message from remote:', requestState);\n if (cb) { cb(err); }\n if (!err) {\n logger.info('Channel | useDeleteMessageCallback: Deleting message success!', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: message.messageId,\n });\n } else {\n logger.warning('Channel | useDeleteMessageCallback: Deleting message failed!', err);\n }\n });\n }, [currentGroupChannel, messagesDispatcher]);\n}\n\nexport default useDeleteMessageCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as topics from '../../../lib/pubSub/topics';\n\nfunction useUpdateMessageCallback({\n currentGroupChannel,\n messagesDispatcher,\n onBeforeUpdateUserMessage,\n}, {\n logger,\n pubSub,\n sdk,\n}) {\n return useCallback((messageId, text, cb) => {\n const createParamsDefault = (txt) => {\n const params = new sdk.UserMessageParams();\n params.message = txt;\n return params;\n };\n\n const createCustomPrams = onBeforeUpdateUserMessage\n && typeof onBeforeUpdateUserMessage === 'function';\n\n if (createCustomPrams) {\n logger.info('Channel: creating params using onBeforeUpdateUserMessage', onBeforeUpdateUserMessage);\n }\n\n const params = onBeforeUpdateUserMessage\n ? onBeforeUpdateUserMessage(text)\n : createParamsDefault(text);\n\n currentGroupChannel.updateUserMessage(messageId, params, (r, e) => {\n logger.info('Channel: Updating message!', params);\n const swapParams = sdk.getErrorFirstCallback();\n let message = r;\n let err = e;\n if (swapParams) {\n message = e;\n err = r;\n }\n if (cb) {\n cb(err, message);\n }\n if (!err) {\n logger.info('Channel: Updating message success!', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: {\n channel: currentGroupChannel,\n message,\n },\n });\n pubSub.publish(\n topics.UPDATE_USER_MESSAGE,\n {\n message,\n channel: currentGroupChannel,\n },\n );\n } else {\n logger.warning('Channel: Updating message failed!', err);\n }\n });\n }, [currentGroupChannel.url, messagesDispatcher, onBeforeUpdateUserMessage]);\n}\n\nexport default useUpdateMessageCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useResendMessageCallback({\n currentGroupChannel,\n messagesDispatcher,\n}, {\n logger,\n}) {\n return useCallback((failedMessage) => {\n logger.info('Channel: Resending message has started', failedMessage);\n const { messageType, file } = failedMessage;\n if (failedMessage && typeof failedMessage.isResendable === 'function'\n && failedMessage.isResendable()\n ) {\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGEGE_START,\n payload: failedMessage,\n });\n\n // userMessage\n if (messageType === 'user') {\n currentGroupChannel\n .resendUserMessage(failedMessage)\n .then((message) => {\n logger.info('Channel: Resending message success!', { message });\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n })\n .catch((e) => {\n logger.warning('Channel: Resending message failed!', { e });\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: failedMessage,\n });\n });\n\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGEGE_START,\n payload: failedMessage,\n });\n return;\n }\n\n if (messageType === 'file') {\n currentGroupChannel\n .resendFileMessage(failedMessage, file)\n .then((message) => {\n logger.info('Channel: Resending file message success!', { message });\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n })\n .catch((e) => {\n logger.warning('Channel: Resending file message failed!', { e });\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: failedMessage,\n });\n });\n\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGEGE_START,\n payload: failedMessage,\n });\n }\n } else {\n // to alert user on console\n // eslint-disable-next-line no-console\n console.error('Message is not resendable');\n logger.warning('Message is not resendable', failedMessage);\n }\n }, [currentGroupChannel, messagesDispatcher]);\n}\n\nexport default useResendMessageCallback;\n","import { useRef, useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\nimport * as topics from '../../../lib/pubSub/topics';\n\nexport default function useSendMessageCallback({ currentGroupChannel, onBeforeSendUserMessage }, {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n}) {\n const messageInputRef = useRef(null);\n\n const sendMessage = useCallback(\n () => {\n const text = messageInputRef.current.value;\n const createParamsDefault = (txt) => {\n const message = (typeof txt === 'string') ? txt.trim() : txt;\n const params = new sdk.UserMessageParams();\n params.message = message;\n return params;\n };\n\n const createCustomPrams = onBeforeSendUserMessage\n && typeof onBeforeSendUserMessage === 'function';\n\n if (createCustomPrams) {\n logger.info('Channel: creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);\n }\n\n const params = onBeforeSendUserMessage\n ? onBeforeSendUserMessage(text)\n : createParamsDefault(text);\n\n logger.info('Channel: Sending message has started', params);\n const pendingMsg = currentGroupChannel.sendUserMessage(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 // sending params instead of pending message\n // to make sure that we can resend the message once it fails\n if (error) {\n logger.warning('Channel: Sending message failed!', {\n message,\n });\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: message,\n });\n return;\n }\n logger.info('Channel: Sending message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n });\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */\n message: pendingMsg,\n channel: currentGroupChannel,\n });\n setTimeout(() => utils.scrollIntoLast());\n },\n [currentGroupChannel, onBeforeSendUserMessage],\n );\n\n return [messageInputRef, sendMessage];\n}\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\nimport * as topics from '../../../lib/pubSub/topics';\n\nexport default function useSendFileMessageCallback({\n currentGroupChannel,\n onBeforeSendFileMessage,\n imageCompression = {},\n}, {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n}) {\n const sendMessage = useCallback((file) => {\n const {\n compressionRate,\n resizingWidth,\n resizingHeight,\n } = imageCompression;\n const createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';\n\n const compressibleFileType = (file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg');\n const compressibleRatio = (compressionRate > 0) && (compressionRate < 1);\n // pxToNumber returns null if values are invalid\n const compressibleDiamensions = utils.pxToNumber(resizingWidth)\n || utils.pxToNumber(resizingHeight);\n\n const canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions);\n\n const createParamsDefault = (file_) => {\n const params = new sdk.FileMessageParams();\n params.file = file_;\n return params;\n };\n\n if (canCompressImage) { // Using image compression\n try {\n const image = document.createElement('img');\n image.src = URL.createObjectURL(file);\n image.onload = () => {\n URL.revokeObjectURL(image.src);\n const canvas = document.createElement('canvas');\n const imageWdith = image.naturalWidth || image.width;\n const imageHeight = image.naturalHeight || image.height;\n\n let targetWidth = utils.pxToNumber(resizingWidth) || imageWdith;\n let targetHeight = utils.pxToNumber(resizingHeight) || imageHeight;\n\n // In canvas.toBlob(callback, mimeType, qualityArgument)\n // qualityArgument doesnt work\n // so in case compressibleDiamensions are not present, we use ratio\n if (file.type === 'image/png' && !compressibleDiamensions) {\n targetWidth *= compressionRate;\n targetHeight *= compressionRate;\n }\n\n canvas.width = targetWidth;\n canvas.height = targetHeight;\n const context = canvas.getContext('2d');\n context.drawImage(image, 0, 0, targetWidth, targetHeight);\n context.canvas.toBlob(\n (newImageBlob) => {\n const compressedFile = new File([newImageBlob], file.name, { type: file.type });\n if (createCustomParams) {\n logger.info('Channel: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = createCustomParams\n ? onBeforeSendFileMessage(compressedFile)\n : createParamsDefault(compressedFile);\n logger.info('Channel: Uploading file message start!', params);\n const pendingMessage = currentGroupChannel.sendFileMessage(\n params,\n (response, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n const [message, error] = swapParams ? [err, response] : [response, err];\n if (error) {\n // sending params instead of pending message\n // to make sure that we can resend the message once it fails\n logger.error('Channel: Sending file message failed!', message);\n message.localUrl = URL.createObjectURL(compressedFile);\n message.file = compressedFile;\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: message,\n });\n return;\n }\n logger.info('Channel: Sending file message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n },\n );\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */\n message: {\n ...pendingMessage,\n url: URL.createObjectURL(compressedFile),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentGroupChannel,\n });\n setTimeout(() => utils.scrollIntoLast(), 1000);\n },\n file.type,\n compressionRate,\n );\n };\n } catch (error) {\n logger.error('Channel: Sending file message failed!');\n }\n } else { // Not using image compression\n if (createCustomParams) {\n logger.info('Channel: creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = onBeforeSendFileMessage\n ? onBeforeSendFileMessage(file)\n : createParamsDefault(file);\n logger.info('Channel: Uploading file message start!', params);\n\n const pendingMsg = currentGroupChannel.sendFileMessage(params, (response, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n const [message, error] = swapParams ? [err, response] : [response, err];\n if (error) {\n // sending params instead of pending message\n // to make sure that we can resend the message once it fails\n logger.error('Channel: Sending file message failed!', message);\n message.localUrl = URL.createObjectURL(file);\n message.file = file;\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: message,\n });\n return;\n }\n logger.info('Channel: Sending message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n });\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */\n message: {\n ...pendingMsg,\n url: URL.createObjectURL(file),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentGroupChannel,\n });\n setTimeout(() => utils.scrollIntoLast(), 1000);\n }\n }, [currentGroupChannel, onBeforeSendFileMessage, imageCompression]);\n return [sendMessage];\n}\n","import { useEffect } from 'react';\n\nimport * as utils from '../utils';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport { uuidv4 } from '../../../utils/uuid';\n\nexport default function useSetReadStatus({ allMessages, currentGroupChannel }, {\n messagesDispatcher,\n sdk,\n logger,\n}) {\n useEffect(() => {\n if (!sdk.ChannelHandler || !currentGroupChannel.url) {\n return () => {};\n }\n // todo: move to reducer?\n const setReadStatus = () => {\n const allReadStatus = allMessages.reduce((accumulator, msg) => {\n if (msg.messageId !== 0) {\n return {\n ...accumulator,\n [msg.messageId]: utils.getParsedStatus(msg, currentGroupChannel),\n };\n }\n return accumulator;\n }, {});\n messagesDispatcher({\n type: messageActionTypes.SET_READ_STATUS,\n payload: allReadStatus,\n });\n };\n if (allMessages.length > 0) {\n setReadStatus();\n }\n\n const channelUrl = currentGroupChannel.url;\n const handler = new sdk.ChannelHandler();\n const handleMessageStatus = (c) => {\n if (channelUrl === c.url) {\n setReadStatus();\n }\n };\n handler.onDeliveryReceiptUpdated = handleMessageStatus;\n handler.onReadReceiptUpdated = handleMessageStatus;\n // Add this channel event handler to the SendBird object.\n const handlerId = uuidv4();\n logger.info('Channel | useSetReadStatus: Removing message reciver handler', handlerId);\n sdk.addChannelHandler(handlerId, handler);\n return () => {\n if (sdk && sdk.removeChannelHandler) {\n logger.info('Channel | useSetReadStatus: Removing message reciver handler', handlerId);\n sdk.removeChannelHandler(handlerId);\n }\n };\n }, [allMessages, currentGroupChannel]);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nconst ReactionButton = React.forwardRef((props, ref) => {\n const {\n children,\n width,\n height,\n onClick,\n selected,\n className,\n } = props;\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n return (\n onClick(e)}\n role=\"button\"\n onKeyDown={(e) => onClick(e)}\n tabIndex={0}\n >\n
\n {children}\n
\n \n );\n});\n\nReactionButton.propTypes = {\n children: PropTypes.element.isRequired,\n onClick: PropTypes.func,\n selected: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n height: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nReactionButton.defaultProps = {\n selected: false,\n width: '36px',\n height: '36px',\n onClick: () => { },\n className: '',\n};\n\nexport default ReactionButton;\n","import React, { useMemo } from 'react';\n\nimport { EmojiListItems } from '../../../ui/ContextMenu';\nimport ReactionButton from '../../../ui/ReactionButton';\nimport ImageRenderer from '../../../ui/ImageRenderer';\nimport Icon, { IconTypes } from '../../../ui/Icon';\n\nexport default function useMemoizedEmojiListItems({\n emojiContainer, toggleReaction,\n}, {\n useReaction,\n logger,\n userId,\n emojiAllList,\n}) {\n return useMemo(() => ({\n parentRef,\n parentContainRef,\n message,\n closeDropdown,\n spaceFromTrigger = {},\n }) => {\n if (!useReaction || !(parentRef || parentContainRef || message || closeDropdown)) {\n logger.warning('Channel: Invalid Params in memoizedEmojiListItems');\n return null;\n }\n\n return (\n \n {\n emojiAllList.map((emoji) => {\n const reactedReaction = message.reactions\n .filter((reaction) => reaction.key === emoji.key)[0];\n const isReacted = reactedReaction\n ? !(reactedReaction.userIds.indexOf(userId) < 0)\n : false;\n return (\n {\n closeDropdown();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n \n }\n />\n \n );\n })\n }\n \n );\n }, [emojiContainer, toggleReaction]);\n}\n","import { useCallback } from 'react';\n\nexport default function useToggleReactionCallback({ currentGroupChannel }, { logger }) {\n return useCallback((message, key, isReacted) => {\n if (isReacted) {\n currentGroupChannel.deleteReaction(message, key)\n .then((res) => {\n logger.info('Delete reaction success', res);\n })\n .catch((err) => {\n logger.warning('Delete reaction failed', err);\n });\n return;\n }\n currentGroupChannel.addReaction(message, key)\n .then((res) => {\n logger.info('Add reaction success', res);\n })\n .catch((err) => {\n logger.warning('Add reaction failed', err);\n });\n }, [currentGroupChannel]);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\nimport MessageStatusType from './type';\n\nimport { getMessageCreatedAt } from '../../utils/utils';\n\nconst MessageStatusTypes = MessageStatusType;\nexport { MessageStatusTypes };\nexport default function MessageStatus({\n message,\n status,\n className,\n}) {\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n const label = () => {\n switch (status) {\n case MessageStatusType.FAILED:\n case MessageStatusType.PENDING: {\n return null;\n }\n case MessageStatusType.SENT:\n case MessageStatusType.DELIVERED:\n case MessageStatusType.READ: {\n return (\n \n {getMessageCreatedAt(message)}\n \n );\n }\n default: return null;\n }\n };\n\n const icon = {\n PENDING: (\n \n \n \n ),\n SENT: ,\n DELIVERED: ,\n READ: ,\n FAILED: ,\n };\n\n return (\n
\n {icon[status]}\n
\n {label(status)}\n
\n );\n}\n\nMessageStatus.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n status: PropTypes.string,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nMessageStatus.defaultProps = {\n message: null,\n status: '',\n className: '',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nimport './index.scss';\n\nconst ReactionBadge = React.forwardRef((props, ref) => {\n const {\n className,\n children,\n count,\n selected,\n isAdd,\n onClick,\n } = props;\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n if (selected && !isAdd) {\n injectingClassName.unshift('sendbird-reaction-badge--selected');\n } else if (isAdd) {\n injectingClassName.push('sendbird-reaction-badge--is-add');\n } else {\n injectingClassName.unshift('sendbird-reaction-badge');\n }\n\n return (\n \n
\n
\n {children}\n
\n \n
\n \n );\n});\n\nReactionBadge.propTypes = {\n children: PropTypes.element.isRequired,\n count: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n selected: PropTypes.bool,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n isAdd: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nReactionBadge.defaultProps = {\n className: '',\n count: '',\n selected: false,\n isAdd: false,\n onClick: () => { },\n};\n\nexport default ReactionBadge;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport Label from '../Label';\n\nconst CLASS_NAME = 'sendbird-tooltip';\n\nexport default function Tooltip({\n className,\n children,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift(CLASS_NAME);\n\n return (\n
\n \n {children}\n \n
\n );\n}\n\nTooltip.propTypes = {\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.string,\n ]),\n};\n\nTooltip.defaultProps = {\n className: '',\n children: '',\n};\n","import React, { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nconst CLASS_NAME = 'sendbird-tooltip-wrapper';\nconst SPACE_FROM_TRIGGER = 8;\n\nexport default function TooltipWrapper({\n className,\n children,\n hoverTooltip,\n // clickTooltip can be added later\n}) {\n const injectingClassName = Array.isArray(className)\n ? [CLASS_NAME, ...className]\n : [CLASS_NAME, className];\n const [showHoverTooltip, setShowHoverTooltip] = useState(false);\n const childrenRef = useRef(null);\n\n return (\n { setShowHoverTooltip(true); }}\n onFocus={() => { setShowHoverTooltip(true); }}\n onMouseOut={() => { setShowHoverTooltip(false); }}\n onBlur={() => { setShowHoverTooltip(false); }}\n >\n \n {children}\n \n {\n showHoverTooltip && (\n \n \n \n {hoverTooltip}\n \n \n \n )\n }\n \n );\n}\n\nTooltipWrapper.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n children: PropTypes.element.isRequired,\n hoverTooltip: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]).isRequired,\n};\nTooltipWrapper.defaultProps = {\n className: '',\n};\n","import React, { useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport ReactionBadge from '../ReactionBadge';\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ContextMenu from '../ContextMenu';\nimport Tooltip from '../Tooltip';\nimport TooltipWrapper from '../TooltipWrapper';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nexport default function EmojiReactions({\n className,\n userId,\n message,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift('sendbird-emoji-reactions');\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const imageWidth = '20px';\n const imageHeight = '20px';\n const emojiReactionAddRef = useRef(null);\n const { reactions = [] } = message;\n const messageReactions = reactions;\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n
\n
\n {\n messageReactions && (\n messageReactions.map((reaction) => {\n const { userIds = [] } = reaction;\n const emojiUrl = emojiAllMap.get(reaction.key) || '';\n const reactedUserCount = userIds.length;\n const reactedByMe = !(userIds.indexOf(userId) < 0);\n const nicknames = userIds\n .filter((currentUserId) => currentUserId !== userId)\n .map((currentUserId) => (\n membersMap.get(currentUserId) || stringSet.TOOLTIP__UNKOWN_USER\n ));\n const stringSetForMe = (nicknames.length > 0)\n ? stringSet.TOOLTIP__AND_YOU : stringSet.TOOLTIP__YOU;\n return (\n 0 && (\n \n <>\n {\n `${(\n nicknames.join(', ')\n )}${(\n reactedByMe\n ? stringSetForMe\n : ''\n )}`\n }\n \n \n )\n }\n >\n toggleReaction(message, reaction.key, reactedByMe)}\n >\n \n )}\n />\n \n \n );\n })\n )\n }\n {\n (messageReactions.length < emojiAllMap.size)\n && (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n )}\n />\n )\n }\n
\n
\n );\n}\n\nEmojiReactions.propTypes = {\n userId: PropTypes.string,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n message: PropTypes.shape({\n reactions: PropTypes.arrayOf(PropTypes.shape({})),\n }).isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n};\nEmojiReactions.defaultProps = {\n className: '',\n membersMap: new Map(),\n userId: '',\n toggleReaction: () => { },\n memoizedEmojiListItems: () => '',\n};\n","import React, { useMemo, useContext } from 'react';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport uuidv4 from '../../utils/uuid';\n\nconst WORD_TYPOGRAPHY = LabelTypography.BODY_1;\nconst EDITED_COLOR = LabelColors.ONBACKGROUND_2;\n\nexport default function useMemoizedMessageText({\n message,\n updatedAt,\n className,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n return useMemo(() => () => {\n const splitMessage = message.split(/\\r/);\n const matchedMessage = splitMessage\n .map((word) => (word !== '' ? word :
));\n if (updatedAt > 0) {\n matchedMessage.push(\n \n {` ${stringSet.MESSAGE_EDITED} `}\n ,\n );\n }\n return matchedMessage;\n }, [message, updatedAt, className]);\n}\n","import { useEffect } from 'react';\n\nconst MOUSE_ENTER = 'mouseenter';\nconst MOUSE_LEAVE = 'mouseleave';\n\nconst useMouseHover = ({\n ref,\n setHover,\n}) => {\n const handleMouseOver = () => {\n if (ref.current) {\n setHover(true);\n }\n };\n const handleMouseOut = () => {\n if (ref.current) {\n setHover(false);\n }\n };\n\n useEffect(() => {\n const { current } = ref;\n current.addEventListener(MOUSE_ENTER, handleMouseOver);\n current.addEventListener(MOUSE_LEAVE, handleMouseOut);\n return () => {\n current.removeEventListener(MOUSE_ENTER, handleMouseOver);\n current.removeEventListener(MOUSE_LEAVE, handleMouseOut);\n };\n });\n};\n\nexport default useMouseHover;\n","import React, { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport './index.scss';\nimport UserProfile from '../UserProfile';\nimport Avatar from '../Avatar/index';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport MessageStatus from '../MessageStatus';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport EmojiReactions from '../EmojiReactions';\nimport {\n copyToClipboard,\n getMessageCreatedAt,\n getSenderName,\n getSenderProfileUrl,\n getIsSentFromStatus,\n} from './utils';\nimport useMemoizedMessageText from './memoizedMessageText';\nimport useMouseHover from '../../hooks/onMouseHover';\n\nconst noop = () => { };\nconst GROUPING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\n\nexport default function Message(props) {\n const {\n isByMe,\n userId,\n message,\n className,\n resendMessage,\n disabled,\n showEdit,\n showRemove,\n status,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n } = props;\n\n if (!message) return null;\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n injectingClassName.push(`sendbird-message${isByMe ? '--outgoing' : '--incoming'}`);\n const memoizedMessageText = useMemoizedMessageText({\n message: message.message,\n updatedAt: message.updatedAt,\n className: 'sendbird-user-message-word',\n });\n\n return (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n );\n}\n\nMessage.propTypes = {\n isByMe: PropTypes.bool,\n disabled: PropTypes.bool,\n userId: PropTypes.string,\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])).isRequired,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n showEdit: PropTypes.func,\n status: PropTypes.string,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nMessage.defaultProps = {\n isByMe: false,\n disabled: false,\n userId: '',\n resendMessage: noop,\n className: '',\n showEdit: noop,\n showRemove: noop,\n status: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n chainTop: false,\n chainBottom: false,\n};\n\nfunction OutgoingUserMessage({\n userId,\n message,\n showEdit,\n disabled,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n // TODO: when message.requestState is succeeded, consider if it's SENT or DELIVERED\n const messageRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n const isMessageSent = getIsSentFromStatus(status);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n \n
\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n {\n isMessageSent && (\n { copyToClipboard(message.message); closeDropdown(); }}\n >\n Copy\n \n )\n }\n {\n isMessageSent && (\n {\n if (disabled) { return; }\n showEdit(true);\n closeDropdown();\n }}\n >\n Edit\n \n )\n }\n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n Resend\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n Delete\n \n \n );\n }}\n />\n {\n (isMessageSent && useReaction && (emojiAllMap.size > 0))\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n
\n \n
\n )\n }\n
\n
\n
\n
\n \n \n \n
\n {\n (useReaction && message.reactions && message.reactions.length > 0)\n && (\n \n )\n }\n
\n
\n \n \n );\n}\n\nfunction IncomingUserMessage({\n userId,\n message,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const messageRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n const avatarRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n const showEmojiReactions = (useReaction && message.reactions && message.reactions.length > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className=\"sendbird-user-message__avatar\"\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n {\n !chainTop && (\n \n {getSenderName(message)}\n \n )\n }\n
\n
\n
\n \n \n \n
\n {\n showEmojiReactions && (\n \n )\n }\n
\n
\n
\n
\n \n {\n showReactionAddButton\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n { copyToClipboard(message.message); closeDropdown(); }}\n >\n Copy\n \n \n );\n }}\n />\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n
\n \n \n );\n}\n\nIncomingUserMessage.propTypes = {\n userId: PropTypes.string.isRequired,\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nIncomingUserMessage.defaultProps = {\n message: {},\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n\nOutgoingUserMessage.propTypes = {\n userId: PropTypes.string.isRequired,\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n showEdit: PropTypes.func,\n showRemove: PropTypes.func,\n disabled: PropTypes.bool,\n resendMessage: PropTypes.func,\n status: PropTypes.string.isRequired,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingUserMessage.defaultProps = {\n message: {},\n resendMessage: noop,\n showEdit: noop,\n showRemove: noop,\n disabled: false,\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Label, { LabelColors, LabelTypography } from '../Label';\n\nexport default function AdminMessage({\n className,\n message,\n}) {\n if (!message.messageType || message.messageType !== 'admin') { // change to use message.isAdminMessage()\n return null;\n }\n\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n
\n \n
\n );\n}\n\nAdminMessage.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nAdminMessage.defaultProps = {\n message: {},\n className: '',\n};\n","import format from 'date-fns/format';\nimport MessageStatusType from '../MessageStatus/type';\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const getIsSentFromStatus = (status) => (\n status === MessageStatusType.SENT\n || status === MessageStatusType.DELIVERED\n || status === MessageStatusType.READ\n);\n\nexport default {\n getMessageCreatedAt,\n getIsSentFromStatus,\n};\n","import React, { useContext, useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport {\n getMessageCreatedAt,\n getIsSentFromStatus,\n} from './util';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport Avatar from '../Avatar/index';\nimport UserProfile from '../UserProfile';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport IconButton from '../IconButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ImageRenderer from '../ImageRenderer';\nimport MessageStatus from '../MessageStatus';\nimport EmojiReactions from '../EmojiReactions';\nimport {\n isImage,\n isVideo,\n unSupported,\n} from '../FileViewer/types';\nimport {\n getSenderName,\n getSenderProfileUrl,\n} from '../../utils/utils';\nimport useMouseHover from '../../hooks/onMouseHover';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nconst noop = () => { };\n\nconst OUTGOING_THUMBNAIL_MESSAGE = 'sendbird-outgoing-thumbnail-message';\nconst INCOMING_THUMBNAIL_MESSAGE = 'sendbird-incoming-thumbnail-message';\nconst GROUPING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\n\nexport default function ThumbnailMessage({\n message = {},\n userId,\n disabled,\n isByMe,\n onClick,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n return (\n isByMe\n ? (\n \n )\n : (\n \n )\n );\n}\n\nexport function OutgoingThumbnailMessage({\n message = {},\n userId,\n disabled,\n onClick,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const {\n type,\n url,\n localUrl,\n thumbnails,\n } = message;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const { stringSet } = useContext(LocalizationContext);\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const menuRef = useRef(null);\n const reactionAddRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n\n const showReactionAddButton = (useReaction && emojiAllMap && emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const isMessageSent = getIsSentFromStatus(status);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n \n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n \n );\n }}\n />\n {\n isMessageSent && showReactionAddButton\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n )\n }\n
\n
\n \n onClick(true) : () => { }}\n onKeyDown={isMessageSent ? () => onClick(true) : () => { }}\n tabIndex={0}\n role=\"button\"\n >\n {\n isVideo(type) && (\n <>\n {\n (thumbnailUrl)\n ? (\n \n )\n : (\n /* eslint-disable-next-line jsx-a11y/media-has-caption */\n \n \n \n )\n }\n \n \n )\n }\n {\n isImage(type) && (\n \n )\n }\n {\n unSupported(type) && (\n
\n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n
\n )\n }\n
\n
\n {\n (useReaction && message.reactions && message.reactions.length > 0)\n && (\n \n )\n }\n
\n \n \n \n );\n}\n\nexport function IncomingThumbnailMessage({\n message = {},\n userId,\n onClick,\n status,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const {\n type,\n url,\n localUrl,\n thumbnails,\n } = message;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const reactionAddRef = useRef(null);\n const avatarRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n\n const showReactionAddButton = (useReaction && emojiAllMap && emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const isMessageSent = getIsSentFromStatus(status);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n {\n !chainTop && (\n \n {getSenderName(message) || ''}\n \n )\n }\n
\n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className={`${INCOMING_THUMBNAIL_MESSAGE}__avatar`}\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n onClick(true) : () => { }}\n onKeyDown={isMessageSent ? () => onClick(true) : () => { }}\n >\n {\n isVideo(type) && (\n <>\n {\n (thumbnailUrl)\n ? (\n \n )\n : (\n /* eslint-disable-next-line jsx-a11y/media-has-caption */\n \n )\n }\n \n \n )\n }\n {\n isImage(type) && (\n \n )\n }\n {\n unSupported(type) && (\n
\n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n
\n )\n }\n
\n
\n {\n (useReaction && message.reactions && message.reactions.length > 0)\n && (\n \n )\n }\n
\n
\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n \n {\n showReactionAddButton && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n
\n \n \n );\n}\n\nThumbnailMessage.propTypes = {\n message: PropTypes.shape({\n type: PropTypes.string,\n url: PropTypes.string,\n localUrl: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string,\n resendMessage: PropTypes.func,\n status: PropTypes.string,\n isByMe: PropTypes.bool,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n showRemove: PropTypes.func,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\nThumbnailMessage.defaultProps = {\n isByMe: false,\n disabled: false,\n resendMessage: noop,\n onClick: noop,\n showRemove: noop,\n status: '',\n userId: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n chainTop: false,\n chainBottom: false,\n};\n\nOutgoingThumbnailMessage.propTypes = {\n message: PropTypes.shape({\n type: PropTypes.string,\n url: PropTypes.string,\n localUrl: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n disabled: PropTypes.bool.isRequired,\n resendMessage: PropTypes.func.isRequired,\n status: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n showRemove: PropTypes.func.isRequired,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\nOutgoingThumbnailMessage.defaultProps = {\n status: '',\n};\n\nIncomingThumbnailMessage.propTypes = {\n message: PropTypes.shape({\n type: PropTypes.string,\n url: PropTypes.string,\n localUrl: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n status: PropTypes.string,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\nIncomingThumbnailMessage.defaultProps = {\n status: '',\n};\n","import React, { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport './index.scss';\nimport Avatar from '../Avatar/index';\nimport IconButton from '../IconButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport TextButton from '../TextButton';\nimport UserProfile from '../UserProfile';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport MessageStatus from '../MessageStatus';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport EmojiReactions from '../EmojiReactions';\n\nimport { getSenderProfileUrl, getSenderName, getMessageCreatedAt } from '../../utils/utils';\nimport {\n truncate,\n getIsSentFromStatus,\n} from './utils';\nimport useMouseHover from '../../hooks/onMouseHover';\n\nconst MAX_TRUNCATE_LENGTH = 40;\nconst GROUPAING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\nconst noop = () => { };\n\nfunction checkFileType(fileUrl) {\n let result = null;\n const imageFile = /(\\.gif|\\.jpg|\\.jpeg|\\.txt|\\.pdf)$/i;\n const audioFile = /(\\.mp3)$/i;\n if (imageFile.test(fileUrl)) {\n result = IconTypes.FILE_DOCUMENT;\n } else if (audioFile.test(fileUrl)) {\n result = IconTypes.FILE_AUDIO;\n }\n return result;\n}\n\nexport function OutgoingFileMessage({\n message,\n userId,\n status,\n showRemove,\n disabled,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const {\n url,\n } = message;\n const openFileUrl = () => { window.open(url); };\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const menuRef = useRef(null);\n const reactionAddButtonRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const isMessageSent = getIsSentFromStatus(status);\n const showEmojiReactions = isMessageSent && useReaction && message.reactions\n && (message.reactions.length > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n \n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n Resend\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n Delete\n \n \n );\n }}\n />\n {\n showReactionAddButton && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n
\n \n
\n )\n }\n
\n
\n
\n {\n checkFileType(url)\n ? (\n \n )\n : null\n }\n \n \n {truncate(message.url, MAX_TRUNCATE_LENGTH)}\n \n \n
\n {\n showEmojiReactions && (\n \n )\n }\n
\n \n \n );\n}\n\nexport function IncomingFileMessage({\n message,\n userId,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const openFileUrl = () => { window.open(message.url); };\n const messageRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n const parentContainRef = useRef(null);\n const avatarRef = useRef(null);\n const reactionAddButtonRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className=\"sendbird-file-message__avatar\"\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n {\n !chainTop && (\n \n {getSenderName(message)}\n \n )\n }\n
\n
\n {\n checkFileType(message.url)\n ? (\n \n )\n : null\n }\n \n \n {truncate(message.url, MAX_TRUNCATE_LENGTH)}\n \n \n
\n {\n (useReaction && message.reactions && (message.reactions.length > 0)) && (\n \n )\n }\n
\n
\n
\n \n {\n showReactionAddButton && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n
\n \n \n );\n}\n\nOutgoingFileMessage.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n userId: PropTypes.string,\n status: PropTypes.string,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n useReaction: PropTypes.bool.isRequired,\n disabled: PropTypes.bool,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingFileMessage.defaultProps = {\n status: '',\n showRemove: noop,\n resendMessage: noop,\n message: {},\n userId: '',\n disabled: false,\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n\nIncomingFileMessage.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n userId: PropTypes.string,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nIncomingFileMessage.defaultProps = {\n message: {},\n userId: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n\nconst MessageSwitch = ({\n message,\n userId,\n disabled,\n isByMe,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) => (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n);\n\n\nMessageSwitch.propTypes = {\n message: PropTypes.shape({}),\n userId: PropTypes.string,\n isByMe: PropTypes.bool,\n disabled: PropTypes.bool,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n status: PropTypes.string.isRequired,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nMessageSwitch.defaultProps = {\n message: {},\n isByMe: false,\n disabled: false,\n showRemove: noop,\n resendMessage: noop,\n userId: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n chainTop: false,\n chainBottom: false,\n};\n\nexport default MessageSwitch;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Modal from '../../../ui/Modal';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\nconst RemoveMessage = (props) => {\n const {\n onCloseModal,\n onDeleteMessage,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n );\n};\n\nRemoveMessage.propTypes = {\n onCloseModal: PropTypes.func.isRequired,\n onDeleteMessage: PropTypes.func.isRequired,\n};\n\nexport default RemoveMessage;\n","import format from 'date-fns/format';\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport default {\n getMessageCreatedAt,\n};\n","import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport * as utils from './utils';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Avatar from '../Avatar/index';\nimport UserProfile from '../UserProfile';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport MessageStatus from '../MessageStatus';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport IconButton from '../IconButton';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport useMouseHover from '../../hooks/onMouseHover';\n\nconst CLASS_NAME = 'sendbird-unknown-message';\nconst GROUPING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\n\nexport default function UnknownMessage({\n message,\n isByMe,\n status,\n className,\n showRemove,\n chainTop,\n chainBottom,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift(CLASS_NAME);\n injectingClassName.push(`${CLASS_NAME}${isByMe ? '--outgoing' : '--incoming'}`);\n\n return (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n );\n}\n\nUnknownMessage.propTypes = {\n message: PropTypes.shape({}).isRequired,\n isByMe: PropTypes.bool,\n status: PropTypes.string,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n showRemove: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nUnknownMessage.defaultProps = {\n isByMe: false,\n status: '',\n className: '',\n showRemove: () => { },\n chainTop: false,\n chainBottom: false,\n};\n\nfunction OutgoingUnknownMessage({\n message,\n status,\n showRemove,\n chainTop,\n chainBottom,\n}) {\n const className = 'sendbird-outgoing-unknown-message';\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const menuRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n \n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n { showRemove(true); closeDropdown(); }}\n >\n Delete\n \n \n );\n }}\n />\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n
\n \n
\n )\n }\n
\n
\n
\n \n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n \n \n {stringSet.UNKNOWN__CANNOT_READ_MESSAGE}\n \n
\n
\n \n \n );\n}\n\nfunction IncomingUnknownMessage({\n message,\n chainTop,\n chainBottom,\n}) {\n const className = 'sendbird-incoming-unknown-message';\n const { sender } = message;\n const avatarRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className={`${className}__left__sender-profile-image`}\n src={sender.profileUrl}\n width=\"28px\"\n height=\"28px\"\n alt=\"sender-profile-image\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n \n {sender.nickname || stringSet.NO_NAME}\n \n )\n }\n
\n \n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n \n \n {stringSet.UNKNOWN__CANNOT_READ_MESSAGE}\n \n
\n
\n
\n {\n !chainBottom && (\n \n {utils.getMessageCreatedAt(message)}\n \n )\n }\n
\n
\n \n );\n}\n\nOutgoingUnknownMessage.propTypes = {\n message: PropTypes.shape({}).isRequired,\n status: PropTypes.string.isRequired,\n showRemove: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingUnknownMessage.defaultProps = {\n showRemove: () => { },\n};\n\nIncomingUnknownMessage.propTypes = {\n message: PropTypes.shape({\n sender: PropTypes.shape({\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n }),\n }).isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n","export const URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const OG_MESSAGE = 'sendbird-og-message';\nexport const OUTGOING_OG_MESSAGE = 'sendbird-outgoing-og-message';\nexport const INCOMING_OG_MESSAGE = 'sendbird-incoming-og-message';\nexport const generateMockMessage = (process) => {\n const message = {\n message: 'go to this link sendbird.com it will be usefull to you!!',\n ogMetaData: {\n title: 'This is the TITLE',\n description: 'I\\'m description I\\'m description I\\'m description I\\'m description ',\n url: 'https://sendbird.com/',\n defaultImage: {\n url: 'https://static.sendbird.com/sample/profiles/profile_12_512px.png',\n alt: 'test',\n },\n },\n sender: {\n profileUrl: 'https://static.sendbird.com/sample/profiles/profile_12_512px.png',\n nickname: 'Hoonying',\n },\n createdAt: 2000000,\n };\n if (process && typeof process === 'function') {\n return process(message);\n }\n return message;\n};\n\nexport default {\n URL_REG,\n OG_MESSAGE,\n OUTGOING_OG_MESSAGE,\n INCOMING_OG_MESSAGE,\n generateMockMessage,\n};\n","import format from 'date-fns/format';\nimport MessageStatusType from '../MessageStatus/type';\n\nexport const createUrlTester = (regexp) => (text) => regexp.test(text);\n\nexport const getIsSentFromStatus = (status) => (\n status === MessageStatusType.SENT\n || status === MessageStatusType.DELIVERED\n || status === MessageStatusType.READ\n);\n\nexport const copyToClipboard = (text) => {\n try {\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path\n // to prevent textarea being shown while dialog is visible.\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n } catch (err) {\n return err;\n }\n};\n\nexport const getSenderProfileUrl = (message) => message.sender && message.sender.profileUrl;\n\nexport const getSenderName = (message) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const checkOGIsEnalbed = (message) => {\n const { ogMetaData } = message;\n if (!ogMetaData) {\n return false;\n }\n const { url } = ogMetaData;\n if (!url) {\n return false;\n }\n return true;\n};\n\nexport default {\n getSenderName,\n createUrlTester,\n copyToClipboard,\n checkOGIsEnalbed,\n getMessageCreatedAt,\n getIsSentFromStatus,\n getSenderProfileUrl,\n};\n","import React, { useMemo, useContext } from 'react';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport LinkLabel from '../LinkLabel';\nimport uuidv4 from '../../utils/uuid';\nimport { createUrlTester } from './utils';\nimport { URL_REG } from './const';\n\nconst WORD_TYPOGRAPHY = LabelTypography.BODY_1;\nconst WORD_COLOR = LabelColors.ONBACKGROUND_1;\nconst EDITED_COLOR = LabelColors.ONBACKGROUND_2;\nconst isUrl = createUrlTester(URL_REG);\n\nexport default function useMemoizedMessageText({\n message,\n updatedAt,\n className,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n return useMemo(() => () => {\n const splitMessage = message.split(' ');\n const matchedMessage = splitMessage\n .map((word) => (\n isUrl(word)\n ? (\n \n {word}\n \n )\n : (\n \n {word}\n \n )\n ));\n if (updatedAt > 0) {\n matchedMessage.push(\n \n {stringSet.MESSAGE_EDITED}\n ,\n );\n }\n return matchedMessage;\n }, [message, updatedAt, className]);\n}\n","import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n OG_MESSAGE,\n OUTGOING_OG_MESSAGE,\n INCOMING_OG_MESSAGE,\n} from './const';\nimport {\n getSenderName,\n copyToClipboard,\n checkOGIsEnalbed,\n getMessageCreatedAt,\n getIsSentFromStatus,\n getSenderProfileUrl,\n} from './utils';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport useMemoizedMessageText from './memoizedMessageText';\nimport './index.scss';\n\nimport UserProfile from '../UserProfile';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport MessageStatus from '../MessageStatus';\nimport EmojiReactions from '../EmojiReactions';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport Avatar from '../Avatar/index';\n\nimport useMouseHover from '../../hooks/onMouseHover';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nconst GROUPING_PADDING = '1px';\nconst NORAML_PADDING = '8px';\n\nconst OGMessageSwitch = ({\n isByMe,\n userId,\n status,\n message,\n disabled,\n showEdit,\n chainTop,\n className,\n membersMap,\n showRemove,\n useReaction,\n emojiAllMap,\n chainBottom,\n resendMessage,\n toggleReaction,\n memoizedEmojiListItems,\n}) => {\n const { ogMetaData } = message;\n const injectingClassName = Array.isArray(className) ? className : [className];\n\n const memoizedMessageText = useMemoizedMessageText({\n message: message.message,\n updatedAt: message.updatedAt,\n className: 'sendbird-og-message-word',\n });\n const openLink = () => {\n if (checkOGIsEnalbed(message)) {\n const { url } = ogMetaData;\n window.open(url);\n }\n };\n\n return (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n );\n};\n\nfunction OutgoingOGMessage(props) {\n const {\n status,\n userId,\n message,\n disabled,\n openLink,\n showEdit,\n chainTop,\n showRemove,\n membersMap,\n chainBottom,\n emojiAllMap,\n useReaction,\n resendMessage,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n } = props;\n const {\n ogMetaData,\n } = message;\n const {\n defaultImage,\n } = ogMetaData;\n const { stringSet } = useContext(LocalizationContext);\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const messageRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n\n const isMessageSent = getIsSentFromStatus(status);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n\n const showEmojiReactions = (useReaction && message.reactions && message.reactions.length > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n
\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n isMessageSent && (\n { copyToClipboard(message.message); closeDropdown(); }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n )\n }\n {\n isMessageSent && (\n {\n if (disabled) { return; }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n \n )\n }\n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n \n )}\n />\n {\n (isMessageSent && useReaction && (emojiAllMap.size > 0))\n && (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n )}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive) && (\n
\n \n
\n )\n }\n
\n
\n
\n \n
\n \n {\n defaultImage && (\n \n \n
\n )}\n />\n )\n }\n
\n \n {\n ogMetaData.title && (\n
\n \n
\n )\n }\n {\n ogMetaData.description && (\n
\n \n {ogMetaData.description}\n \n
\n )\n }\n {\n ogMetaData.url && (\n \n {ogMetaData.url}\n \n )\n }\n {\n showEmojiReactions\n && (\n event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"button\"\n tabIndex={0}\n >\n \n \n )\n }\n \n \n \n \n );\n}\n\nfunction IncomingOGMessage(props) {\n const {\n userId,\n message,\n openLink,\n chainTop,\n membersMap,\n chainBottom,\n useReaction,\n emojiAllMap,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n } = props;\n const {\n ogMetaData,\n } = message;\n const {\n defaultImage,\n } = ogMetaData;\n const { stringSet } = useContext(LocalizationContext);\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n\n const messageRef = useRef(null);\n const avatarRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n\n const showEmojiReactions = (useReaction && message.reactions && message.reactions.length > 0);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className={`${INCOMING_OG_MESSAGE}__avatar`}\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n alt=\"sender-profile-image\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n {\n !chainTop && (\n \n {getSenderName(message)}\n \n )\n }\n
\n \n
\n \n {\n defaultImage && (\n \n \n
\n )}\n />\n )\n }\n
\n \n {\n ogMetaData.title && (\n
\n\n \n
\n )\n }\n {\n ogMetaData.description && (\n
\n \n {ogMetaData.description}\n \n
\n )\n }\n {\n ogMetaData.url && (\n
\n \n {ogMetaData.url}\n \n
\n )\n }\n {\n showEmojiReactions\n && (\n event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"button\"\n tabIndex={0}\n >\n \n \n )\n }\n \n \n
\n {\n !chainBottom && !(mousehover || moreActive) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n
\n {\n showReactionAddButton\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(closeDropdown) => (\n \n )}\n />\n )\n }\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(closeDropdown) => (\n \n { copyToClipboard(message.message); closeDropdown(); }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n \n )}\n />\n
\n
\n \n \n );\n}\n\nexport default OGMessageSwitch;\n\nconst noop = () => { };\n\nOGMessageSwitch.propTypes = {\n isByMe: PropTypes.bool.isRequired,\n userId: PropTypes.string.isRequired,\n message: PropTypes.shape({\n message: PropTypes.string,\n sender: PropTypes.shape({}),\n ogMetaData: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.string,\n url: PropTypes.string,\n defaultImage: PropTypes.shape({\n url: PropTypes.string,\n alt: PropTypes.string,\n }),\n }),\n reactions: PropTypes.array,\n updatedAt: PropTypes.number,\n }).isRequired,\n useReaction: PropTypes.bool.isRequired,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n status: PropTypes.string,\n disabled: PropTypes.bool,\n showEdit: PropTypes.func,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n toggleReaction: PropTypes.func,\n membersMap: PropTypes.instanceOf(Map),\n emojiAllMap: PropTypes.instanceOf(Map),\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nOGMessageSwitch.defaultProps = {\n className: '',\n status: '',\n disabled: false,\n showEdit: noop,\n showRemove: noop,\n resendMessage: noop,\n toggleReaction: noop,\n membersMap: new Map(),\n emojiAllMap: new Map(),\n memoizedEmojiListItems: noop,\n chainTop: false,\n chainBottom: false,\n};\n\nOutgoingOGMessage.propTypes = {\n status: PropTypes.string,\n userId: PropTypes.string.isRequired,\n message: PropTypes.shape({\n message: PropTypes.string,\n ogMetaData: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.string,\n url: PropTypes.string,\n defaultImage: PropTypes.shape({\n url: PropTypes.string,\n alt: PropTypes.string,\n }),\n }),\n reactions: PropTypes.array,\n updatedAt: PropTypes.number,\n isResendable: PropTypes.func,\n errorCode: PropTypes.number,\n }).isRequired,\n disabled: PropTypes.bool.isRequired,\n openLink: PropTypes.func.isRequired,\n showEdit: PropTypes.func.isRequired,\n showRemove: PropTypes.func.isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n useReaction: PropTypes.bool.isRequired,\n resendMessage: PropTypes.func.isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingOGMessage.defaultProps = {\n status: '',\n};\n\nIncomingOGMessage.propTypes = {\n userId: PropTypes.string.isRequired,\n message: PropTypes.shape({\n message: PropTypes.string,\n sender: PropTypes.shape({}),\n ogMetaData: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.string,\n url: PropTypes.string,\n defaultImage: PropTypes.shape({\n url: PropTypes.string,\n alt: PropTypes.string,\n }),\n }),\n reactions: PropTypes.array,\n updatedAt: PropTypes.number,\n }).isRequired,\n openLink: PropTypes.func.isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n useReaction: PropTypes.bool.isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n","import React, { useState, useRef, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport format from 'date-fns/format';\n\nimport Message from '../../../ui/Message';\nimport AdminMessage from '../../../ui/AdminMessage';\nimport ThumbnailMessage from '../../../ui/ThumbnailMessage';\nimport FileMessage from '../../../ui/FileMessage';\nimport DateSeparator from '../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport MessageInput from '../../../ui/MessageInput';\nimport FileViewer from '../../../ui/FileViewer';\nimport RemoveMessageModal from './RemoveMessage';\nimport UnknownMessage from '../../../ui/UnknownMessage';\nimport OGMessage from '../../../ui/OGMessage';\n\nimport { MessageTypes, getMessageType } from '../types';\n\nexport default function MessageHoc({\n message,\n userId,\n disabled,\n editDisabled,\n hasSeperator,\n deleteMessage,\n updateMessage,\n status,\n resendMessage,\n useReaction,\n chainTop,\n chainBottom,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n renderCustomMessage,\n currentGroupChannel,\n}) {\n const { sender = {} } = message;\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const editMessageInputRef = useRef(null);\n\n const RenderedMessage = useMemo(() => {\n if (renderCustomMessage) {\n return renderCustomMessage(message, currentGroupChannel);\n }\n return null;\n }, [message, message.message, renderCustomMessage]);\n\n const isByMe = (userId === sender.userId)\n || (message.requestState === 'pending')\n || (message.requestState === 'failed');\n\n if (RenderedMessage) {\n return (\n
\n {/* date-seperator */}\n {\n hasSeperator && (\n \n \n \n )\n }\n \n
\n );\n }\n\n if (showEdit) {\n return (\n { setShowEdit(false); }}\n value={message.message}\n />\n );\n }\n\n return (\n
\n {/* date-seperator */}\n {\n hasSeperator && (\n \n \n \n )\n }\n {/* Message */}\n {\n {\n [MessageTypes.ADMIN]: ,\n [MessageTypes.FILE]: (\n \n ),\n [MessageTypes.OG]: (\n \n ),\n [MessageTypes.THUMBNAIL]: (\n \n ),\n [MessageTypes.USER]: (\n \n ),\n }[getMessageType(message)]\n }\n {/* Modal */}\n {\n showRemove && (\n setShowRemove(false)}\n onDeleteMessage={() => {\n deleteMessage(message);\n }}\n />\n )\n }\n {\n showFileViewer && (\n setShowFileViewer(false)}\n message={message}\n onDelete={() => {\n deleteMessage(message, () => {\n setShowFileViewer(false);\n });\n }}\n isByMe={isByMe}\n />\n )\n }\n {\n !((message.isFileMessage && message.isFileMessage()) || message.messageType === 'file')\n && !(message.isAdminMessage && message.isAdminMessage())\n && !(((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user'))\n && !(showFileViewer)\n && (\n \n )\n }\n
\n );\n}\n\nMessageHoc.propTypes = {\n userId: PropTypes.string,\n message: PropTypes.shape({\n isFileMessage: PropTypes.func,\n isAdminMessage: PropTypes.func,\n isUserMessage: PropTypes.func,\n isDateSeperator: PropTypes.func,\n // should be a number, but there's a bug in SDK shich returns string\n messageId: PropTypes.number,\n type: PropTypes.string,\n createdAt: PropTypes.number,\n message: PropTypes.string,\n requestState: PropTypes.string,\n messageType: PropTypes.string,\n sender: PropTypes.shape({ userId: PropTypes.string }),\n ogMetaData: PropTypes.shape({}),\n }),\n renderCustomMessage: PropTypes.func,\n currentGroupChannel: PropTypes.shape({}),\n hasSeperator: PropTypes.bool,\n disabled: PropTypes.bool,\n editDisabled: PropTypes.bool,\n deleteMessage: PropTypes.func.isRequired,\n updateMessage: PropTypes.func.isRequired,\n resendMessage: PropTypes.func.isRequired,\n status: PropTypes.string,\n useReaction: PropTypes.bool.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n};\n\nMessageHoc.defaultProps = {\n userId: '',\n editDisabled: false,\n renderCustomMessage: null,\n currentGroupChannel: {},\n message: {},\n hasSeperator: false,\n disabled: false,\n status: '',\n toggleReaction: () => { },\n memoizedEmojiListItems: () => '',\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport './conversation-scroll.scss';\nimport * as messageActionTypes from '../dux/actionTypes';\n\nimport MessageHOC from './MessageHOC';\nimport {\n getParsedStatus,\n compareMessagesForGrouping,\n} from '../utils';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../ui/PlaceHolder';\n\nexport default class ConversationScroll extends Component {\n onScroll = (e) => {\n const {\n scrollRef,\n hasMore,\n messagesDispatcher,\n onScroll,\n currentGroupChannel,\n } = this.props;\n\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n if (scrollTop === 0) {\n if (!hasMore) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll('.sendbird-msg--scroll-ref');\n const first = nodes && nodes[0];\n onScroll(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n try {\n first.scrollIntoView();\n } catch (error) {\n //\n }\n }\n });\n }\n\n setTimeout(() => {\n // mark as read if scroll is at end\n if (clientHeight + scrollTop === scrollHeight) {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n });\n currentGroupChannel.markAsRead();\n }\n }, 500);\n }\n\n render() {\n const {\n userId,\n disabled,\n scrollRef,\n readStatus,\n membersMap,\n initialized,\n allMessages,\n useReaction,\n emojiAllMap,\n editDisabled,\n deleteMessage,\n updateMessage,\n resendMessage,\n renderCustomMessage,\n renderChatItem,\n emojiContainer,\n toggleReaction,\n useMessageGrouping,\n currentGroupChannel,\n memoizedEmojiListItems,\n } = this.props;\n if (!initialized) {\n return (\n \n );\n }\n\n if (allMessages.length < 1) {\n return (\n \n );\n }\n\n return (\n
\n \n
\n {/*\n To do: Implement windowing\n Implement windowing if you are dealing with large number of messages/channels\n https://github.com/bvaughn/react-window -> recommendation\n We hesitate to bring one more dependency to our library,\n we are planning to implement it inside the library\n */}\n
\n {\n allMessages.map(\n (m, idx) => {\n const previousMessage = allMessages[idx - 1];\n const nextMessage = allMessages[idx + 1];\n const [chainTop, chainBottom] = useMessageGrouping\n ? compareMessagesForGrouping(previousMessage, m, nextMessage)\n : [false, false];\n const previousMessageCreatedAt = previousMessage && previousMessage.createdAt;\n const currentCreatedAt = m.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeperator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n if (renderChatItem) {\n return (\n \n {\n renderChatItem({\n message: m,\n channel: currentGroupChannel,\n onDeleteMessage: deleteMessage,\n onUpdateMessage: updateMessage,\n onResendMessage: resendMessage,\n emojiContainer,\n })\n }\n
\n );\n }\n\n return (\n \n );\n },\n )\n }\n
\n
\n \n );\n }\n}\n\nConversationScroll.propTypes = {\n // https://stackoverflow.com/a/52646941\n scrollRef: PropTypes.shape({\n current: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.shape({}),\n ]),\n }).isRequired,\n hasMore: PropTypes.bool,\n messagesDispatcher: PropTypes.func.isRequired,\n onScroll: PropTypes.func,\n initialized: PropTypes.bool,\n editDisabled: PropTypes.bool,\n disabled: PropTypes.bool,\n userId: PropTypes.string,\n allMessages: PropTypes.arrayOf(PropTypes.shape({\n createdAt: PropTypes.number,\n })).isRequired,\n deleteMessage: PropTypes.func.isRequired,\n resendMessage: PropTypes.func.isRequired,\n updateMessage: PropTypes.func.isRequired,\n readStatus: PropTypes.shape({}).isRequired,\n currentGroupChannel: PropTypes.shape({\n markAsRead: PropTypes.func,\n members: PropTypes.arrayOf(PropTypes.shape({})),\n }).isRequired,\n renderChatItem: PropTypes.element,\n renderCustomMessage: PropTypes.func,\n useReaction: PropTypes.bool,\n emojiContainer: PropTypes.shape({}),\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n useMessageGrouping: PropTypes.bool,\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n};\n\nConversationScroll.defaultProps = {\n hasMore: false,\n editDisabled: false,\n disabled: false,\n initialized: false,\n userId: '',\n renderCustomMessage: null,\n renderChatItem: null,\n onScroll: null,\n useReaction: true,\n emojiContainer: {},\n emojiAllMap: new Map(),\n membersMap: new Map(),\n useMessageGrouping: true,\n toggleReaction: () => { },\n memoizedEmojiListItems: () => '',\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './notification.scss';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\n\nexport default function Notification({\n count,\n time,\n onClick,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n const timeArray = time.split(' ');\n timeArray.splice(-2, 0, stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__ON);\n return (\n // eslint-disable-next-line\n
\n \n \n
\n );\n}\n\nNotification.propTypes = {\n count: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n time: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n};\n\nNotification.defaultProps = {\n count: 0,\n time: '',\n};\n","import React, { useContext } from 'react';\n\nimport './notification.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelTypography } from '../../../ui/Label';\n\nconst FrozenNotification = (): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n \n {stringSet.CHANNEL_FROZEN}\n \n
\n );\n}\n\nexport default FrozenNotification;\n","import React, { useEffect, useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { uuidv4 } from '../../../utils/uuid';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\n\nconst TypingIndicatorText = ({ members }) => {\n const { stringSet } = useContext(LocalizationContext);\n if (!members || members.length === 0) {\n return '';\n }\n\n if (members && members.length === 1) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__IS_TYPING}`;\n }\n\n if (members && members.length === 2) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__AND} ${members[1].nickname} ${stringSet.TYPING_INDICATOR__ARE_TYPING}`;\n }\n\n return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;\n};\n\nfunction TypingIndicator({ channelUrl, sb, logger }) {\n const [handlerId, setHandlerId] = useState(uuidv4());\n const [typingMembers, setTypingMembers] = useState([]);\n\n useEffect(() => {\n if (sb && sb.ChannelHandler) {\n sb.removeChannelHandler(handlerId);\n const newHandlerId = uuidv4();\n const handler = new sb.ChannelHandler();\n // there is a possible warning in here - setState called after unmount\n handler.onTypingStatusUpdated = (groupChannel) => {\n logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);\n const members = groupChannel.getTypingMembers();\n if (groupChannel.url === channelUrl) {\n setTypingMembers(members);\n }\n };\n sb.addChannelHandler(newHandlerId, handler);\n setHandlerId(newHandlerId);\n }\n\n return () => {\n setTypingMembers([]);\n if (sb && sb.removeChannelHandler) {\n sb.removeChannelHandler(handlerId);\n }\n };\n }, [channelUrl]);\n\n return (\n \n );\n}\n\nTypingIndicator.propTypes = {\n channelUrl: PropTypes.string.isRequired,\n sb: PropTypes.shape({\n ChannelHandler: PropTypes.func,\n removeChannelHandler: PropTypes.func,\n addChannelHandler: PropTypes.func,\n }).isRequired,\n logger: PropTypes.shape({\n info: PropTypes.func,\n }).isRequired,\n};\n\nexport default TypingIndicator;\n","// Logic required to handle message input rendering\n\nimport React, { useContext } from 'react';\nimport Sendbird from 'sendbird';\n\nimport { RenderMessageInputProps } from '../../../index';\nimport * as utils from '../utils.js';\n\nimport MessageInput from '../../../ui/MessageInput';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n channel: Sendbird.GroupChannel;\n user: Sendbird.User;\n isOnline: boolean;\n initialized: boolean;\n onSendMessage(): void;\n onFileUpload(): void;\n renderMessageInput(renderProps: RenderMessageInputProps): JSX.Element;\n}\n\nconst MessageInputWrapper = ({\n channel,\n user,\n onSendMessage,\n onFileUpload,\n renderMessageInput,\n isOnline,\n initialized,\n}: Props, ref: React.RefObject): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n const disabled = !initialized\n || utils.isDisabledBecauseFrozen(channel)\n || utils.isDisabledBecauseMuted(channel)\n || !isOnline;\n\n const isOperator = utils.isOperator(channel);\n const { isBroadcast } = channel;\n\n // custom message\n if (renderMessageInput) {\n return renderMessageInput({ channel, user, disabled });\n }\n\n // broadcast channel + not operator\n if (isBroadcast && !isOperator) {\n return null;\n }\n\n // other conditions\n return (\n {\n channel.startTyping();\n }}\n onSendMessage={onSendMessage}\n onFileUpload={onFileUpload}\n />\n );\n}\n\nexport default React.forwardRef(MessageInputWrapper);\n","import React, { useContext } from 'react';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, {\n LabelTypography,\n LabelColors,\n} from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\n\nimport './index.scss';\n\nfunction ConnectionStatus() {\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n \n \n \n );\n}\n\nexport default ConnectionStatus;\n","import formatDistanceToNowStrict from 'date-fns/formatDistanceToNowStrict';\nimport { LabelStringSet } from '../Label';\n\nexport const prettyDate = (date) => formatDistanceToNowStrict(date, { addSuffix: true });\n\nexport const getOthersLastSeenAt = (channel) => {\n if (!channel || !channel.getReadStatus || !channel.members || channel.members.length !== 2) {\n return '';\n }\n const lastSeenList = [...Object.values(channel.getReadStatus())];\n const lastSeenAt = lastSeenList.length > 0\n ? lastSeenList[0].last_seen_at\n : 0;\n if (lastSeenAt === 0) {\n return '';\n }\n return prettyDate(lastSeenAt);\n};\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel || (!channel.name && !channel.members)) {\n return stringSet.NO_TITLE;\n }\n if (channel.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n\n if (channel.members.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n\n return channel.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function AutoRefresh({\n repeatFunc,\n}) {\n const [label, setLabel] = useState(repeatFunc());\n\n useEffect(() => {\n const interval = setInterval(() => {\n if (label !== repeatFunc()) {\n setLabel(repeatFunc());\n }\n }, 10000);\n return () => {\n clearInterval(interval);\n };\n }, []);\n\n return (
{label}
);\n}\n\nAutoRefresh.propTypes = {\n repeatFunc: PropTypes.func.isRequired,\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport * as utils from './utils';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport AutoRefresh from '../AutoRefresh';\nimport ChannelAvatar from '../ChannelAvatar/index';\n\nexport default function ChatHeader(props) {\n const {\n currentGroupChannel,\n currentUser,\n title,\n subTitle,\n isActive,\n isMuted,\n onActionClick,\n theme,\n } = props;\n const { userId } = currentUser;\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n \n \n {title || utils.getChannelTitle(currentGroupChannel, userId, stringSet)}\n \n {\n (typeof isActive === 'string' && isActive === 'true') || (typeof isActive === 'boolean' && isActive)\n ?
\n : null\n }\n \n {\n subTitle\n || utils.getOthersLastSeenAt(currentGroupChannel)} />\n }\n \n
\n
\n {\n (typeof isMuted === 'string' && isMuted === 'true') || (typeof isMuted === 'boolean' && isMuted)\n ? \n : null\n }\n \n \n \n
\n
\n );\n}\n\nChatHeader.propTypes = {\n currentGroupChannel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n coverUrl: PropTypes.string,\n }),\n theme: PropTypes.string,\n currentUser: PropTypes.shape({\n userId: PropTypes.string,\n }),\n title: PropTypes.string,\n subTitle: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n ]),\n isActive: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n isMuted: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n onActionClick: PropTypes.func,\n};\n\nChatHeader.defaultProps = {\n currentGroupChannel: {},\n title: '',\n theme: 'light',\n subTitle: '',\n isActive: false,\n isMuted: false,\n currentUser: {},\n onActionClick: () => { },\n};\n","import React, {\n useEffect,\n useRef,\n useReducer,\n useMemo,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport * as utils from './utils';\n\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport * as messageActionTypes from './dux/actionTypes';\nimport messagesInitialState from './dux/initialState';\nimport messagesReducer from './dux/reducers';\n\nimport useHandleChannelEvents from './hooks/useHandleChannelEvents';\nimport useGetChannel from './hooks/useGetChannel';\nimport useInitialMessagesFetch from './hooks/useInitialMessagesFetch';\nimport useHandleReconnect from './hooks/useHandleReconnect';\nimport useScrollCallback from './hooks/useScrollCallback';\nimport useDeleteMessageCallback from './hooks/useDeleteMessageCallback';\nimport useUpdateMessageCallback from './hooks/useUpdateMessageCallback';\nimport useResendMessageCallback from './hooks/useResendMessageCallback';\nimport useSendMessageCallback from './hooks/useSendMessageCallback';\nimport useSendFileMessageCallback from './hooks/useSendFileMessageCallback';\nimport useSetReadStatus from './hooks/useSetReadStatus';\nimport useMemoizedEmojiListItems from './hooks/useMemoizedEmojiListItems';\nimport useToggleReactionCallback from './hooks/useToggleReactionCallback';\n\nimport ConversationScroll from './components/ConversationScroll';\nimport Notification from './components/Notification';\nimport FrozenNotification from './components/FrozenNotification';\nimport TypingIndicator from './components/TypingIndicator';\nimport MessageInputWrapper from './components/MessageInputWrapper';\nimport ConnectionStatus from '../../ui/ConnectionStatus';\nimport ChatHeader from '../../ui/ChatHeader';\nimport PlaceHolder, { PlaceHolderTypes } from '../../ui/PlaceHolder';\n\nconst noop = () => { };\n\nexport const ConversationPanel = (props) => {\n const {\n channelUrl,\n stores: { sdkStore, userStore },\n config: {\n userId,\n logger,\n pubSub,\n isOnline,\n theme,\n imageCompression,\n },\n dispatchers: {\n reconnect,\n },\n queries = {},\n useReaction,\n renderChatItem,\n renderChatHeader,\n renderCustomMessage,\n renderUserProfile,\n disableUserProfile,\n renderMessageInput,\n useMessageGrouping,\n onChatHeaderActionClick,\n onBeforeSendUserMessage,\n onBeforeSendFileMessage,\n onBeforeUpdateUserMessage,\n } = props;\n const { sdk } = sdkStore;\n const { config } = props;\n const sdkError = sdkStore.error;\n const sdkInit = sdkStore.initialized;\n const { user } = userStore;\n\n if (queries.messageListQuery) {\n // eslint-disable-next-line no-console\n console.warn('messageListQuery will be deprecared in v1.3.0, please use messageListParams instead');\n }\n\n const userFilledMessageListQuery = queries.messageListParams || queries.messageListQuery;\n\n const [messagesStore, messagesDispatcher] = useReducer(messagesReducer, messagesInitialState);\n const scrollRef = useRef(null);\n\n const {\n allMessages,\n loading,\n hasMore,\n initialized,\n unreadCount,\n unreadSince,\n isInvalid,\n currentGroupChannel = {},\n lastMessageTimeStamp,\n emojiContainer,\n readStatus,\n } = messagesStore;\n const { isFrozen, isBroadcast, isSuper } = currentGroupChannel;\n const { appInfo = {} } = sdk;\n const usingReaction = (\n appInfo.isUsingReaction && !isBroadcast && !isSuper && useReaction\n );\n\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n\n const emojiAllMap = useMemo(() => (\n usingReaction\n ? utils.getAllEmojisMapFromEmojiContainer(emojiContainer)\n : new Map()\n ), [emojiContainer]);\n\n const emojiAllList = useMemo(() => (\n usingReaction\n ? utils.getAllEmojisFromEmojiContainer(emojiContainer)\n : []\n ), [emojiContainer]);\n\n const nicknamesMap = useMemo(() => (\n usingReaction\n ? utils.getNicknamesMapFromMembers(currentGroupChannel.members)\n : new Map()\n ), [currentGroupChannel.members]);\n\n const onScrollCallback = useScrollCallback({\n currentGroupChannel, lastMessageTimeStamp, userFilledMessageListQuery,\n }, {\n hasMore,\n logger,\n messagesDispatcher,\n sdk,\n });\n\n const toggleReaction = useToggleReactionCallback({ currentGroupChannel }, { logger });\n\n const memoizedEmojiListItems = useMemoizedEmojiListItems({\n emojiContainer, toggleReaction,\n }, {\n useReaction: usingReaction,\n logger,\n userId,\n emojiAllList,\n });\n\n // to create message-datasource\n useGetChannel(\n { channelUrl, sdkInit },\n { messagesDispatcher, sdk, logger },\n );\n\n // Hook to handle ChannelEvents and send values to useReducer using messagesDispatcher\n useHandleChannelEvents(\n { currentGroupChannel, sdkInit },\n {\n messagesDispatcher,\n sdk,\n logger,\n scrollRef,\n },\n );\n\n useInitialMessagesFetch({ currentGroupChannel, userFilledMessageListQuery }, {\n sdk,\n logger,\n messagesDispatcher,\n });\n\n // handles API calls from withSendbird\n useEffect(() => {\n const subScriber = utils.pubSubHandler(channelUrl, pubSub, messagesDispatcher);\n return () => {\n utils.pubSubHandleRemover(subScriber);\n };\n }, [channelUrl, sdkInit]);\n\n // to create initial read status\n useSetReadStatus(\n { allMessages, currentGroupChannel },\n { messagesDispatcher, sdk, logger },\n );\n\n // handling connection breaks\n useHandleReconnect({ isOnline }, {\n logger,\n sdk,\n currentGroupChannel,\n messagesDispatcher,\n userFilledMessageListQuery,\n });\n\n const deleteMessage = useDeleteMessageCallback({ currentGroupChannel, messagesDispatcher },\n { logger });\n const updateMessage = useUpdateMessageCallback(\n { currentGroupChannel, messagesDispatcher, onBeforeUpdateUserMessage },\n { logger, sdk, pubSub },\n );\n const resendMessage = useResendMessageCallback(\n { currentGroupChannel, messagesDispatcher },\n { logger },\n );\n const [messageInputRef, onSendMessage] = useSendMessageCallback(\n { currentGroupChannel, onBeforeSendUserMessage },\n {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n },\n );\n const [onSendFileMessage] = useSendFileMessageCallback(\n { currentGroupChannel, onBeforeSendFileMessage, imageCompression },\n {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n },\n );\n\n if (sdkError) {\n return (\n
\n {\n logger.info('Channel: reconnecting');\n reconnect();\n }}\n />\n
\n );\n }\n if (!channelUrl) {\n return (
);\n }\n if (loading) {\n return (
);\n }\n if (isInvalid) {\n return (
);\n }\n return (\n \n {\n renderChatHeader\n ? renderChatHeader({ channel: currentGroupChannel, user })\n : (\n \n )\n }\n {\n isFrozen && (\n \n )\n }\n {\n unreadCount > 0 && (\n {\n utils.scrollIntoLast();\n // there is no scroll\n if (scrollRef.current.scrollTop === 0) {\n currentGroupChannel.markAsRead();\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n });\n }\n }}\n time={unreadSince}\n />\n )\n }\n \n
\n \n
\n \n
\n {\n !isOnline && (\n \n )\n }\n
\n \n );\n};\n\nConversationPanel.propTypes = {\n channelUrl: PropTypes.string,\n stores: PropTypes.shape({\n sdkStore: PropTypes.shape({\n initialized: PropTypes.bool,\n sdk: PropTypes.shape({\n getErrorFirstCallback: PropTypes.func,\n removeChannelHandler: PropTypes.func,\n GroupChannel: PropTypes.any,\n ChannelHandler: PropTypes.any,\n addChannelHandler: PropTypes.func,\n UserMessageParams: PropTypes.any,\n FileMessageParams: PropTypes.any,\n getAllEmoji: PropTypes.func,\n appInfo: PropTypes.shape({}),\n }),\n error: PropTypes.bool,\n }),\n userStore: PropTypes.shape({\n user: PropTypes.shape({}),\n }),\n }).isRequired,\n dispatchers: PropTypes.shape({\n reconnect: PropTypes.func,\n }).isRequired,\n config: PropTypes.shape({\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n userId: PropTypes.string.isRequired,\n isOnline: PropTypes.bool.isRequired,\n theme: PropTypes.string,\n logger: PropTypes.shape({\n info: PropTypes.func,\n error: PropTypes.func,\n warning: PropTypes.func,\n }),\n pubSub: PropTypes.shape({\n subscribe: PropTypes.func,\n publish: PropTypes.func,\n }),\n imageCompression: PropTypes.shape({\n compressionRate: PropTypes.number,\n resizingWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n resizingHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n }).isRequired,\n queries: PropTypes.shape({\n messageListParams: PropTypes.shape({\n includeMetaArray: PropTypes.bool,\n includeParentMessageText: PropTypes.bool,\n includeReaction: PropTypes.bool,\n includeReplies: PropTypes.bool,\n includeThreadInfo: PropTypes.bool,\n limit: PropTypes.number,\n reverse: PropTypes.bool,\n senderUserIdsFilter: PropTypes.arrayOf(PropTypes.string),\n }),\n // deprecate in v1.3\n messageListQuery: PropTypes.shape({\n includeMetaArray: PropTypes.bool,\n includeParentMessageText: PropTypes.bool,\n includeReaction: PropTypes.bool,\n includeReplies: PropTypes.bool,\n includeThreadInfo: PropTypes.bool,\n limit: PropTypes.number,\n reverse: PropTypes.bool,\n senderUserIdsFilter: PropTypes.arrayOf(PropTypes.string),\n }),\n }),\n onBeforeSendUserMessage: PropTypes.func, // onBeforeSendUserMessage(text)\n onBeforeSendFileMessage: PropTypes.func, // onBeforeSendFileMessage(File)\n onBeforeUpdateUserMessage: PropTypes.func,\n renderChatItem: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n renderCustomMessage: PropTypes.func,\n renderMessageInput: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n renderChatHeader: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n onChatHeaderActionClick: PropTypes.func,\n useReaction: PropTypes.bool,\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n useMessageGrouping: PropTypes.bool,\n};\n\nConversationPanel.defaultProps = {\n channelUrl: null,\n queries: {},\n onBeforeSendUserMessage: null,\n onBeforeSendFileMessage: null,\n onBeforeUpdateUserMessage: null,\n renderChatItem: null,\n renderCustomMessage: null,\n renderMessageInput: null,\n renderChatHeader: null,\n useReaction: true,\n disableUserProfile: false,\n renderUserProfile: null,\n useMessageGrouping: true,\n onChatHeaderActionClick: noop,\n};\n\nexport const {\n getEmojiCategoriesFromEmojiContainer,\n getAllEmojisFromEmojiContainer,\n getEmojisFromEmojiContainer,\n} = utils;\n\nexport default withSendbirdContext(ConversationPanel);\n"],"names":["RESET_MESSAGES","RESET_STATE","CLEAR_SENT_MESSAGES","GET_PREV_MESSAGES_START","GET_PREV_MESSAGES_SUCESS","SEND_MESSAGEGE_START","SEND_MESSAGEGE_SUCESS","SEND_MESSAGEGE_FAILURE","RESEND_MESSAGEGE_START","ON_MESSAGE_RECEIVED","ON_MESSAGE_UPDATED","ON_MESSAGE_DELETED","ON_MESSAGE_DELETED_BY_REQ_ID","SET_CURRENT_CHANNEL","SET_CHANNEL_INVALID","MARK_AS_READ","ON_REACTION_UPDATED","SET_EMOJI_CONTAINER","SET_READ_STATUS","MessageTypes","ADMIN","USER","FILE","THUMBNAIL","OG","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","getMessageType","message","isUserMessage","messageType","ogMetaData","isAdminMessage","isFileMessage","isImage","type","isVideo","UNDEFINED","scrollIntoLast","intialTry","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollTop","scrollHeight","error","setTimeout","pubSubHandleRemover","subscriber","forEach","s","remove","pubSubHandler","channelUrl","pubSub","dispatcher","Map","subscribe","set","topics","msg","channel","url","channelActions","payload","fromSelector","messageId","getParsedStatus","currentGroupChannel","requestState","MessageStatusType","SENT","unreadCount","getReadReceipt","READ","isDelivered","getDeliveryReceipt","DELIVERED","isOperator","groupChannel","myRole","isDisabledBecauseFrozen","isFrozen","isDisabledBecauseMuted","myMutedState","getEmojiCategoriesFromEmojiContainer","emojiContainer","emojiCategories","getAllEmojisFromEmojiContainer","allEmojis","categoryIndex","length","emojis","emojiIndex","push","getEmojisFromEmojiContainer","emojiCategoryId","filter","emojiCategory","id","getAllEmojisMapFromEmojiContainer","allEmojisMap","key","getNicknamesMapFromMembers","members","nicknamesMap","memberIndex","userId","nickname","getMessageCreatedAt","format","createdAt","isSameGroup","comparingMessage","sender","sendingStatus","compareMessagesForGrouping","prevMessage","currMessage","nextMessage","passUnsuccessfullMessages","allMessages","newMessage","lastIndexOfSucceededMessage","map","lastIndexOf","messages","splice","pxToNumber","px","parsed","Number","parseFloat","isNaN","initialized","loading","hasMore","lastMessageTimeStamp","readStatus","unreadSince","isInvalid","reducer","state","action","actionTypes","initialState","m","receivedMessages","stateChannel","stateChannelUrl","actionChannelUrl","filteredAllMessages","find","compareIds","newMessages","reqId","sort","a","b","failed","scrollToEnd","currentGroupChannelUrl","indexOf","Date","applyReactionEvent","useHandleChannelEvents","sdkInit","messagesDispatcher","sdk","logger","scrollRef","useEffect","messageReceiverId","uuidv4","ChannelHandler","info","onMessageReceived","current","offsetHeight","messageActions","markAsRead","warning","onMessageUpdated","onMessageDeleted","_","onReactionUpdated","reactionEvent","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onUserMuted","onUserUnmuted","onUserBanned","onOperatorUpdated","addChannelHandler","removeChannelHandler","useSetChannel","GroupChannel","getChannel","then","messageActionTypes","catch","e","getAllEmoji","emojiContainer_","err","useInitialMessagesFetch","userFilledMessageListQuery","MessageListParams","getMessagesByMessageId","messageListParams","prevResultSize","isInclusive","includeReplies","includeReaction","Object","keys","getMessagesByTimestamp","getTime","finally","utils","useHandleReconnect","isOnline","wasOffline","appInfo","useReaction","isUsingReaction","lastMessageTime","useScrollCallback","useCallback","cb","hasMoreMessages","lastMessageTs","useDeleteMessageCallback","deleteMessage","useUpdateMessageCallback","onBeforeUpdateUserMessage","text","createParamsDefault","txt","params","UserMessageParams","createCustomPrams","updateUserMessage","r","swapParams","getErrorFirstCallback","publish","useResendMessageCallback","failedMessage","file","isResendable","resendUserMessage","resendFileMessage","console","useSendMessageCallback","onBeforeSendUserMessage","messageInputRef","useRef","sendMessage","value","trim","pendingMsg","sendUserMessage","res","useSendFileMessageCallback","onBeforeSendFileMessage","imageCompression","compressionRate","resizingWidth","resizingHeight","createCustomParams","compressibleFileType","compressibleRatio","compressibleDiamensions","canCompressImage","file_","FileMessageParams","image","createElement","src","URL","createObjectURL","onload","revokeObjectURL","canvas","imageWdith","naturalWidth","width","imageHeight","naturalHeight","height","targetWidth","targetHeight","context","getContext","drawImage","toBlob","newImageBlob","compressedFile","File","name","pendingMessage","sendFileMessage","response","localUrl","useSetReadStatus","setReadStatus","allReadStatus","reduce","accumulator","handler","handleMessageStatus","c","onDeliveryReceiptUpdated","onReadReceiptUpdated","handlerId","ReactionButton","React","forwardRef","props","ref","children","onClick","selected","className","injectingClassName","Array","isArray","join","slice","propTypes","PropTypes","element","isRequired","func","bool","oneOfType","number","string","arrayOf","defaultProps","useMemoizedEmojiListItems","toggleReaction","emojiAllList","useMemo","parentRef","parentContainRef","closeDropdown","spaceFromTrigger","EmojiListItems","emoji","reactedReaction","reactions","reaction","isReacted","userIds","ImageRenderer","Icon","IconTypes","EMOJI_FAILED","useToggleReactionCallback","deleteReaction","addReaction","MessageStatus","status","label","Label","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_2","icon","Loader","SPINNER","IconColors","ERROR","objectOf","array","object","ReactionBadge","count","isAdd","unshift","ONBACKGROUND_1","CLASS_NAME","Tooltip","SPACE_FROM_TRIGGER","TooltipWrapper","hoverTooltip","useState","showHoverTooltip","setShowHoverTooltip","childrenRef","bottom","left","offsetWidth","EmojiReactions","emojiAllMap","membersMap","memoizedEmojiListItems","MemoizedEmojiListItems","imageWidth","emojiReactionAddRef","messageReactions","useContext","LocalizationContext","stringSet","emojiUrl","get","reactedUserCount","reactedByMe","nicknames","currentUserId","TOOLTIP__UNKOWN_USER","stringSetForMe","TOOLTIP__AND_YOU","TOOLTIP__YOU","size","ContextMenu","toggleDropdown","ON_BACKGROUND_3","EMOJI_REACTIONS_ADD","y","shape","instanceOf","WORD_TYPOGRAPHY","BODY_1","EDITED_COLOR","useMemoizedMessageText","updatedAt","splitMessage","split","matchedMessage","word","MESSAGE_EDITED","MOUSE_ENTER","MOUSE_LEAVE","useMouseHover","setHover","handleMouseOver","handleMouseOut","addEventListener","removeEventListener","noop","GROUPING_PADDING","NORMAL_PADDING","Message","isByMe","resendMessage","disabled","showEdit","showRemove","chainTop","chainBottom","memoizedMessageText","OutgoingUserMessage","MemoizedMessageText","messageRef","parentRefReactions","parentRefMenus","isMessageSent","getIsSentFromStatus","mousehover","setMousehover","moreActive","setMoreActive","menuDisplaying","setMenuDisplaying","handleMoreIconClick","handleMoreIconBlur","paddingTop","paddingBottom","IconButton","MORE","CONTENT_INVERSE","close","MenuItems","MenuItem","copyToClipboard","IncomingUserMessage","avatarRef","UserProfileContext","disableUserProfile","renderUserProfile","showReactionAddButton","showEmojiReactions","Avatar","getSenderProfileUrl","user","UserProfile","CAPTION_2","getSenderName","top","AdminMessage","OUTGOING_THUMBNAIL_MESSAGE","INCOMING_THUMBNAIL_MESSAGE","ThumbnailMessage","OutgoingThumbnailMessage","thumbnails","thumbnailUrl","menuRef","reactionAddRef","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","PLAY","unSupported","UNKNOWN__UNKNOWN_MESSAGE_TYPE","IncomingThumbnailMessage","MAX_TRUNCATE_LENGTH","GROUPAING_PADDING","checkFileType","fileUrl","result","imageFile","audioFile","test","FILE_DOCUMENT","FILE_AUDIO","OutgoingFileMessage","openFileUrl","window","open","reactionAddButtonRef","TextButton","truncate","IncomingFileMessage","MessageSwitch","RemoveMessage","onCloseModal","onDeleteMessage","Modal","MODAL__DELETE_MESSAGE__TITLE","UnknownMessage","OutgoingUnknownMessage","UNKNOWN__CANNOT_READ_MESSAGE","IncomingUnknownMessage","profileUrl","NO_NAME","URL_REG","OG_MESSAGE","OUTGOING_OG_MESSAGE","INCOMING_OG_MESSAGE","createUrlTester","regexp","clipboardData","setData","queryCommandSupported","textarea","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","friendName","checkOGIsEnalbed","WORD_COLOR","isUrl","LinkLabel","NORAML_PADDING","OGMessageSwitch","openLink","OutgoingOGMessage","defaultImage","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","alt","NO_THUMBNAIL","title","SUBTITLE_2","description","BODY_2","event","stopPropagation","IncomingOGMessage","errorCode","MessageHoc","editDisabled","hasSeperator","updateMessage","renderCustomMessage","setShowEdit","setShowRemove","showFileViewer","setShowFileViewer","editMessageInputRef","RenderedMessage","DateSeparator","MessageInput","FileMessage","OGMessage","RemoveMessageModal","FileViewer","isDateSeperator","ConversationScroll","onScroll","target","clientHeight","nodes","querySelectorAll","first","scrollIntoView","renderChatItem","useMessageGrouping","PlaceHolder","PlaceHolderTypes","WRONG","NO_MESSAGES","idx","previousMessage","previousMessageCreatedAt","currentCreatedAt","isSameDay","onUpdateMessage","onResendMessage","MessageHOC","Component","Notification","time","timeArray","CHANNEL__MESSAGE_LIST__NOTIFICATION__ON","ONCONTENT_1","CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE","SHEVRON_DOWN","CONTENT","FrozenNotification","CHANNEL_FROZEN","TypingIndicatorText","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","TypingIndicator","sb","setHandlerId","typingMembers","setTypingMembers","newHandlerId","onTypingStatusUpdated","getTypingMembers","MessageInputWrapper","_a","onSendMessage","onFileUpload","renderMessageInput","isBroadcast","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__DISABLED","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__MUTED","startTyping","ConnectionStatus","TRYING_TO_CONNECT","DISCONNECTED","prettyDate","date","formatDistanceToNowStrict","addSuffix","getOthersLastSeenAt","getReadStatus","lastSeenList","values","lastSeenAt","last_seen_at","getChannelTitle","LabelStringSet","NO_TITLE","NO_MEMBERS","AutoRefresh","repeatFunc","setLabel","interval","setInterval","clearInterval","ChatHeader","currentUser","subTitle","isActive","isMuted","onActionClick","theme","ChannelAvatar","H_2","MUTE","INFO","PRIMARY","coverUrl","ConversationPanel","stores","sdkStore","userStore","config","reconnect","dispatchers","queries","renderChatHeader","onChatHeaderActionClick","sdkError","messageListQuery","warn","useReducer","messagesReducer","messagesInitialState","messagesStore","isSuper","usingReaction","userDefinedDisableUserProfile","userDefinedRenderProfile","onScrollCallback","useGetChannel","subScriber","onSendFileMessage","NO_CHANNELS","LOADING","UserProfileProvider","any","includeMetaArray","includeParentMessageText","includeThreadInfo","limit","reverse","senderUserIdsFilter","withSendbirdContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,cAAc,GAAG,gBAAvB;AACA,IAAMC,WAAW,GAAG,aAApB;AACA,IAAMC,mBAAmB,GAAG,qBAA5B;AACA,IAAMC,uBAAuB,GAAG,yBAAhC;AACA,IAAMC,wBAAwB,GAAG,0BAAjC;AAGA,IAAMC,oBAAoB,GAAG,sBAA7B;AACA,IAAMC,qBAAqB,GAAG,uBAA9B;AACA,IAAMC,sBAAsB,GAAG,wBAA/B;AAEA,IAAMC,sBAAsB,GAAG,wBAA/B;AAEA,IAAMC,mBAAmB,GAAG,qBAA5B;AACA,IAAMC,kBAAkB,GAAG,oBAA3B;AACA,IAAMC,kBAAkB,GAAG,oBAA3B;AACA,IAAMC,4BAA4B,GAAG,8BAArC;AAEA,IAAMC,mBAAmB,GAAG,qBAA5B;AACA,IAAMC,mBAAmB,GAAG,qBAA5B;AACA,IAAMC,YAAY,GAAG,cAArB;AAEA,IAAMC,mBAAmB,GAAG,qBAA5B;AACA,IAAMC,mBAAmB,GAAG,qBAA5B;AACA,IAAMC,eAAe,GAAG,iBAAxB;;ACtBA,IAAMC,YAAY,GAAG;AAC1BC,EAAAA,KAAK,EAAE,OADmB;AAE1BC,EAAAA,IAAI,EAAE,MAFoB;AAG1BC,EAAAA,IAAI,EAAE,MAHoB;AAI1BC,EAAAA,SAAS,EAAE,WAJe;AAK1BC,EAAAA,EAAE,EAAE;AALsB,CAArB;AAQP,AAAO,IAAMC,oBAAoB,GAAG;AAClCC,EAAAA,IAAI,EAAE,MAD4B;AAElCC,EAAAA,SAAS,EAAE,WAFuB;AAGlCC,EAAAA,MAAM,EAAE,QAH0B;AAIlCC,EAAAA,OAAO,EAAE;AAJyB,CAA7B;AAOP,AAAO,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,OAAD,EAAa;AACzC,MAAKA,OAAO,CAACC,aAAR,IAAyBD,OAAO,CAACC,aAAR,EAA1B,IAAsDD,OAAO,CAACE,WAAR,KAAwB,MAAlF,EAA0F;AACxF,WAAQF,OAAO,CAACG,UAAT,GACHf,YAAY,CAACK,EADV,GAEHL,YAAY,CAACE,IAFjB;AAGD;;AACD,MAAIU,OAAO,CAACI,cAAR,IAA0BJ,OAAO,CAACI,cAAR,EAA9B,EAAwD;AACtD,WAAOhB,YAAY,CAACC,KAApB;AACD;;AACD,MAAKW,OAAO,CAACK,aAAR,IAAyBL,OAAO,CAACK,aAAR,EAA1B,IAAsDL,OAAO,CAACE,WAAR,KAAwB,MAAlF,EAA0F;AACxF,WAAQI,eAAO,CAACN,OAAO,CAACO,IAAT,CAAP,IAAyBC,eAAO,CAACR,OAAO,CAACO,IAAT,CAAjC,GACHnB,YAAY,CAACI,SADV,GAEHJ,YAAY,CAACG,IAFjB;AAGD;;AACD,SAAO,EAAP;AACD,CAfM;;ACVP,IAAMkB,SAAS,GAAG,WAAlB;IACQb,YAA+BF,qBAA/BE;IAAWC,SAAoBH,qBAApBG;IAAQC,UAAYJ,qBAAZI;AAE3B,AAAO,IAAMY,cAAc,GAAG,SAAjBA,cAAiB,GAAmB;AAAA,MAAlBC,SAAkB,uEAAN,CAAM;AAC/C,MAAMC,SAAS,GAAG,EAAlB;AACA,MAAMC,UAAU,GAAGF,SAAnB;;AACA,MAAIE,UAAU,GAAGD,SAAjB,EAA4B;AAC1B;AACD;;AACD,MAAI;AACF,QAAME,SAAS,GAAGC,QAAQ,CAACC,aAAT,CAAuB,0CAAvB,CAAlB,CADE;;AAGFF,IAAAA,SAAS,CAACG,SAAV,GAAsBH,SAAS,CAACI,YAAhC;AACD,GAJD,CAIE,OAAOC,KAAP,EAAc;AACdC,IAAAA,UAAU,CAAC,YAAM;AACfV,MAAAA,cAAc,CAACG,UAAU,GAAG,CAAd,CAAd;AACD,KAFS,EAEP,MAAMA,UAFC,CAAV;AAGD;AACF,CAfM;AAiBP,AAAO,IAAMQ,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,UAAD,EAAgB;AACjDA,EAAAA,UAAU,CAACC,OAAX,CAAmB,UAACC,CAAD,EAAO;AACxB,QAAI;AACFA,MAAAA,CAAC,CAACC,MAAF;AACD,KAFD,CAEE,gBAAM;AAEP;AACF,GAND;AAOD,CARM;AAUP,AAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,UAAD,EAAaC,MAAb,EAAqBC,UAArB,EAAoC;AAC/D,MAAMP,UAAU,GAAG,IAAIQ,GAAJ,EAAnB;AACA,MAAI,CAACF,MAAD,IAAW,CAACA,MAAM,CAACG,SAAvB,EAAkC,OAAOT,UAAP;AAClCA,EAAAA,UAAU,CAACU,GAAX,CAAeC,uBAAf,EAAyCL,MAAM,CAACG,SAAP,CAAiBE,uBAAjB,EAA2C,UAACC,GAAD,EAAS;AAAA,QACnFC,OADmF,GAC9DD,GAD8D,CACnFC,OADmF;AAAA,QAC1EnC,OAD0E,GAC9DkC,GAD8D,CAC1ElC,OAD0E;AAE3FU,IAAAA,cAAc;;AACd,QAAIyB,OAAO,IAAKR,UAAU,KAAKQ,OAAO,CAACC,GAAvC,EAA6C;AAC3CP,MAAAA,UAAU,CAAC;AACTtB,QAAAA,IAAI,EAAE8B,qBADG;AAETC,QAAAA,OAAO,EAAEtC;AAFA,OAAD,CAAV;AAID;AACF,GATwC,CAAzC;AAUAsB,EAAAA,UAAU,CAACU,GAAX,CAAeC,wBAAf,EAA0CL,MAAM,CAACG,SAAP,CAAiBE,wBAAjB,EAA4C,UAACC,GAAD,EAAS;AAAA,QACrFC,OADqF,GAChED,GADgE,CACrFC,OADqF;AAAA,QAC5EnC,OAD4E,GAChEkC,GADgE,CAC5ElC,OAD4E;;AAE7F,QAAImC,OAAO,IAAKR,UAAU,KAAKQ,OAAO,CAACC,GAAvC,EAA6C;AAC3CP,MAAAA,UAAU,CAAC;AACTtB,QAAAA,IAAI,EAAE8B,oBADG;AAETC,QAAAA,OAAO,EAAEtC;AAFA,OAAD,CAAV;AAID;AACF,GARyC,CAA1C;AASAsB,EAAAA,UAAU,CAACU,GAAX,CAAeC,uBAAf,EAAyCL,MAAM,CAACG,SAAP,CAAiBE,uBAAjB,EAA2C,UAACC,GAAD,EAAS;AAAA,QACnFC,OADmF,GAC9DD,GAD8D,CACnFC,OADmF;AAAA,QAC1EnC,OAD0E,GAC9DkC,GAD8D,CAC1ElC,OAD0E;AAE3FU,IAAAA,cAAc;;AACd,QAAIyB,OAAO,IAAKR,UAAU,KAAKQ,OAAO,CAACC,GAAvC,EAA6C;AAC3CP,MAAAA,UAAU,CAAC;AACTtB,QAAAA,IAAI,EAAE8B,qBADG;AAETC,QAAAA,OAAO,EAAEtC;AAFA,OAAD,CAAV;AAID;AACF,GATwC,CAAzC;AAUAsB,EAAAA,UAAU,CAACU,GAAX,CAAeC,yBAAf,EAA2CL,MAAM,CAACG,SAAP,CAAiBE,yBAAjB,EAA6C,UAACC,GAAD,EAAS;AAAA,QACvFC,OADuF,GACpDD,GADoD,CACvFC,OADuF;AAAA,QAC9EnC,OAD8E,GACpDkC,GADoD,CAC9ElC,OAD8E;AAAA,QACrEuC,YADqE,GACpDL,GADoD,CACrEK,YADqE;;AAE/F,QAAIA,YAAY,IAAIJ,OAAhB,IAA4BR,UAAU,KAAKQ,OAAO,CAACC,GAAvD,EAA6D;AAC3DP,MAAAA,UAAU,CAAC;AACTtB,QAAAA,IAAI,EAAE8B,kBADG;AAETC,QAAAA,OAAO,EAAE;AAAEH,UAAAA,OAAO,EAAPA,OAAF;AAAWnC,UAAAA,OAAO,EAAPA;AAAX;AAFA,OAAD,CAAV;AAID;AACF,GAR0C,CAA3C;AASAsB,EAAAA,UAAU,CAACU,GAAX,CAAeC,oBAAf,EAAsCL,MAAM,CAACG,SAAP,CAAiBE,oBAAjB,EAAwC,UAACC,GAAD,EAAS;AAAA,QAC7EC,OAD6E,GACtDD,GADsD,CAC7EC,OAD6E;AAAA,QACpEK,SADoE,GACtDN,GADsD,CACpEM,SADoE;;AAErF,QAAIL,OAAO,IAAKR,UAAU,KAAKQ,OAAO,CAACC,GAAvC,EAA6C;AAC3CP,MAAAA,UAAU,CAAC;AACTtB,QAAAA,IAAI,EAAE8B,kBADG;AAETC,QAAAA,OAAO,EAAEE;AAFA,OAAD,CAAV;AAID;AACF,GARqC,CAAtC;AAUA,SAAOlB,UAAP;AACD,CApDM;AAsDP,AAAO,IAAMmB,eAAe,GAAG,SAAlBA,eAAkB,CAACzC,OAAD,EAAU0C,mBAAV,EAAkC;AAC/D,MAAI1C,OAAO,CAAC2C,YAAR,KAAyB9C,MAA7B,EAAqC;AACnC,WAAO+C,sBAAiB,CAAC/C,MAAzB;AACD;;AAED,MAAIG,OAAO,CAAC2C,YAAR,KAAyB7C,OAA7B,EAAsC;AACpC,WAAO8C,sBAAiB,CAAC9C,OAAzB;AACD;;AAED,MAAIE,OAAO,CAAC2C,YAAR,KAAyB/C,SAA7B,EAAwC;AACtC,QAAI,CAAC8C,mBAAL,EAA0B;AACxB,aAAOE,sBAAiB,CAACC,IAAzB;AACD;;AAED,QAAMC,WAAW,GAAGJ,mBAAmB,CAACK,cAApB,CAAmC/C,OAAnC,CAApB;;AACA,QAAI8C,WAAW,KAAK,CAApB,EAAuB;AACrB,aAAOF,sBAAiB,CAACI,IAAzB;AACD;;AAED,QAAMC,WAAW,GAAGP,mBAAmB,CAACQ,kBAApB,CAAuClD,OAAvC,MAAoD,CAAxE;;AACA,QAAIiD,WAAJ,EAAiB;AACf,aAAOL,sBAAiB,CAACO,SAAzB;AACD;;AAED,WAAOP,sBAAiB,CAACC,IAAzB;AACD;;AAED,SAAO,IAAP;AACD,CA5BM;AA8BP,AAAO,IAAMO,UAAU,GAAG,SAAbA,UAAa,GAAuB;AAAA,MAAtBC,YAAsB,uEAAP,EAAO;AAAA,MACvCC,MADuC,GAC5BD,YAD4B,CACvCC,MADuC;AAE/C,SAAOA,MAAM,KAAK,UAAlB;AACD,CAHM;AAKP,AAAO,IAAMC,uBAAuB,GAAG,SAA1BA,uBAA0B,GAAuB;AAAA,MAAtBF,YAAsB,uEAAP,EAAO;AAAA,MACpDG,QADoD,GACvCH,YADuC,CACpDG,QADoD;AAE5D,SAAOA,QAAQ,IAAI,CAACJ,UAAU,CAACC,YAAD,CAA9B;AACD,CAHM;AAKP,AAAO,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAuB;AAAA,MAAtBJ,YAAsB,uEAAP,EAAO;AAAA,MACnDK,YADmD,GAClCL,YADkC,CACnDK,YADmD;AAE3D,SAAOA,YAAY,KAAK,OAAxB;AACD,CAHM;AAKP,AAAO,IAAMC,oCAAoC,GAAG,SAAvCA,oCAAuC;AAAA,MAACC,cAAD,uEAAkB,EAAlB;AAAA,SAClDA,cAAc,CAACC,eAAf,GAAiCD,cAAc,CAACC,eAAhD,GAAkE,EADhB;AAAA,CAA7C;AAIP,AAAO,IAAMC,8BAA8B,GAAG,SAAjCA,8BAAiC,GAAyB;AAAA,MAAxBF,cAAwB,uEAAP,EAAO;AAAA,8BACpCA,cADoC,CAC7DC,eAD6D;AAAA,MAC7DA,eAD6D,sCAC3C,EAD2C;AAErE,MAAME,SAAS,GAAG,EAAlB;;AAEA,OAAK,IAAIC,aAAa,GAAG,CAAzB,EAA4BA,aAAa,GAAGH,eAAe,CAACI,MAA5D,EAAoED,aAAa,IAAI,CAArF,EAAwF;AAAA,QAC9EE,MAD8E,GACnEL,eAAe,CAACG,aAAD,CADoD,CAC9EE,MAD8E;;AAEtF,SAAK,IAAIC,UAAU,GAAG,CAAtB,EAAyBA,UAAU,GAAGD,MAAM,CAACD,MAA7C,EAAqDE,UAAU,IAAI,CAAnE,EAAsE;AACpEJ,MAAAA,SAAS,CAACK,IAAV,CAAeF,MAAM,CAACC,UAAD,CAArB;AACD;AACF;;AACD,SAAOJ,SAAP;AACD,CAXM;AAaP,AAAO,IAAMM,2BAA2B,GAAG,SAA9BA,2BAA8B;AAAA,MAACT,cAAD,uEAAkB,EAAlB;AAAA,MAAsBU,eAAtB,uEAAwC,EAAxC;AAAA,SACzCV,cAAc,CAACC,eAAf,GACID,cAAc,CAACC,eAAf,CACCU,MADD,CACQ,UAACC,aAAD;AAAA,WAAmBA,aAAa,CAACC,EAAd,KAAqBH,eAAxC;AAAA,GADR,EACiE,CADjE,EACoEJ,MAFxE,GAGI,EAJqC;AAAA,CAApC;AAOP,AAAO,IAAMQ,iCAAiC,GAAG,SAApCA,iCAAoC,GAAyB;AAAA,MAAxBd,cAAwB,uEAAP,EAAO;AAAA,+BACvCA,cADuC,CAChEC,eADgE;AAAA,MAChEA,eADgE,uCAC9C,EAD8C;AAExE,MAAMc,YAAY,GAAG,IAAI7C,GAAJ,EAArB;;AAEA,OAAK,IAAIkC,aAAa,GAAG,CAAzB,EAA4BA,aAAa,GAAGH,eAAe,CAACI,MAA5D,EAAoED,aAAa,IAAI,CAArF,EAAwF;AAAA,QAC9EE,MAD8E,GACnEL,eAAe,CAACG,aAAD,CADoD,CAC9EE,MAD8E;;AAEtF,SAAK,IAAIC,UAAU,GAAG,CAAtB,EAAyBA,UAAU,GAAGD,MAAM,CAACD,MAA7C,EAAqDE,UAAU,IAAI,CAAnE,EAAsE;AAAA,+BAC/CD,MAAM,CAACC,UAAD,CADyC;AAAA,UAC5DS,GAD4D,sBAC5DA,GAD4D;AAAA,UACvDxC,GADuD,sBACvDA,GADuD;AAEpEuC,MAAAA,YAAY,CAAC3C,GAAb,CAAiB4C,GAAjB,EAAsBxC,GAAtB;AACD;AACF;;AACD,SAAOuC,YAAP;AACD,CAZM;AAcP,AAAO,IAAME,0BAA0B,GAAG,SAA7BA,0BAA6B,GAAkB;AAAA,MAAjBC,OAAiB,uEAAP,EAAO;AAC1D,MAAMC,YAAY,GAAG,IAAIjD,GAAJ,EAArB;;AACA,OAAK,IAAIkD,WAAW,GAAG,CAAvB,EAA0BA,WAAW,GAAGF,OAAO,CAACb,MAAhD,EAAwDe,WAAW,IAAI,CAAvE,EAA0E;AAAA,+BAC3CF,OAAO,CAACE,WAAD,CADoC;AAAA,QAChEC,MADgE,wBAChEA,MADgE;AAAA,QACxDC,QADwD,wBACxDA,QADwD;AAExEH,IAAAA,YAAY,CAAC/C,GAAb,CAAiBiD,MAAjB,EAAyBC,QAAzB;AACD;;AACD,SAAOH,YAAP;AACD,CAPM;AASP,AAAO,IAAMI,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACnF,OAAD;AAAA,SAAaoF,MAAM,CAACpF,OAAO,CAACqF,SAAT,EAAoB,GAApB,CAAnB;AAAA,CAA5B;AAEP,AAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACtF,OAAD,EAAUuF,gBAAV,EAA+B;AACxD,MACE,CAACvF,OAAD,IACG,CAACuF,gBADJ,IAEG,CAACvF,OAAO,CAACwF,MAFZ,IAGG,CAACD,gBAAgB,CAACC,MAHrB,IAIG,CAACxF,OAAO,CAACqF,SAJZ,IAKG,CAACE,gBAAgB,CAACF,SALrB,IAMG,CAACrF,OAAO,CAACwF,MAAR,CAAeP,MANnB,IAOG,CAACM,gBAAgB,CAACC,MAAjB,CAAwBP,MAR9B,EASE;AACA,WAAO,KAAP;AACD;;AACD,SACEjF,OAAO,CAACyF,aAAR,KAA0BF,gBAAgB,CAACE,aAA3C,IACGzF,OAAO,CAACwF,MAAR,CAAeP,MAAf,KAA0BM,gBAAgB,CAACC,MAAjB,CAAwBP,MADrD,IAEGE,mBAAmB,CAACnF,OAAD,CAAnB,KAAiCmF,mBAAmB,CAACI,gBAAD,CAHzD;AAKD,CAlBM;AAoBP,AAAO,IAAMG,0BAA0B,GAAG,SAA7BA,0BAA6B,CACxCC,WADwC,EAExCC,WAFwC,EAGxCC,WAHwC;AAAA,SAKxC,CACEP,WAAW,CAACK,WAAD,EAAcC,WAAd,CADb,EAEEN,WAAW,CAACM,WAAD,EAAcC,WAAd,CAFb,CALwC;AAAA,CAAnC;AAWP,AAAO,IAAMC,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACC,WAAD,EAAcC,UAAd,EAA6B;AAAA,8BAC9BA,UAD8B,CAC5DP,aAD4D;AAAA,MAC5DA,aAD4D,sCAC5ChF,SAD4C;;AAEpE,MAAIgF,aAAa,KAAK7F,SAAlB,IAA+B6F,aAAa,KAAK3F,OAArD,EAA8D;AAC5D,QAAMmG,2BAA2B,GAAGF,WAAW,CAC5CG,GADiC,CAC7B,UAAClG,OAAD;AAAA,aACHA,OAAO,CAACyF,aAAR,KACKzF,OAAO,CAACI,cAAR,IAA0BJ,OAAO,CAACI,cAAR,EAA3B,GAAuDR,SAAvD,GAAmEa,SADvE,CADG;AAAA,KAD6B,EAKjC0F,WALiC,CAKrBvG,SALqB,CAApC;;AAMA,QAAIqG,2BAA2B,GAAG,CAA9B,GAAkCF,WAAW,CAAC9B,MAAlD,EAA0D;AACxD,UAAMmC,QAAQ,0CAAOL,WAAP,CAAd;;AACAK,MAAAA,QAAQ,CAACC,MAAT,CAAgBJ,2BAA2B,GAAG,CAA9C,EAAiD,CAAjD,EAAoDD,UAApD;AACA,aAAOI,QAAP;AACD;AACF;;AACD,0DACKL,WADL,IAEEC,UAFF;AAID,CAnBM;AAqBP,AAAO,IAAMM,UAAU,GAAG,SAAbA,UAAa,CAACC,EAAD,EAAQ;AAChC,MAAI,OAAOA,EAAP,KAAc,QAAlB,EAA4B;AAC1B,WAAOA,EAAP;AACD;;AACD,MAAI,OAAOA,EAAP,KAAc,QAAlB,EAA4B;AAC1B,QAAMC,MAAM,GAAGC,MAAM,CAACC,UAAP,CAAkBH,EAAlB,CAAf;;AACA,QAAI,CAACE,MAAM,CAACE,KAAP,CAAaH,MAAb,CAAL,EAA2B;AACzB,aAAOA,MAAP;AACD;AACF;;AACD,SAAO,IAAP;AACD,CAXM;;AC7OP,2BAAe;AACbI,EAAAA,WAAW,EAAE,KADA;AAEbC,EAAAA,OAAO,EAAE,KAFI;AAGbd,EAAAA,WAAW,EAAE,EAHA;AAIbrD,EAAAA,mBAAmB,EAAE;AAAEoC,IAAAA,OAAO,EAAE;AAAX,GAJR;AAKbgC,EAAAA,OAAO,EAAE,KALI;AAMbC,EAAAA,oBAAoB,EAAE,CANT;AAObnD,EAAAA,cAAc,EAAE,EAPH;AAQboD,EAAAA,UAAU,EAAE,EARC;AASblE,EAAAA,WAAW,EAAE,CATA;AAUbmE,EAAAA,WAAW,EAAE,IAVA;AAWbC,EAAAA,SAAS,EAAE;AAXE,CAAf;;ICUEtH,cAGEF,qBAHFE;IACAC,WAEEH,qBAFFG;IACAC,YACEJ,qBADFI;AAGF,AAAe,SAASqH,OAAT,CAAiBC,KAAjB,EAAwBC,MAAxB,EAAgC;AAC7C,UAAQA,MAAM,CAAC9G,IAAf;AACE,SAAK+G,WAAL;AACE,aAAOC,oBAAP;;AACF,SAAKD,cAAL;AACE,oDACKF,KADL;AAEE;AACA;AACAN,QAAAA,OAAO,EAAE,KAJX;AAKEf,QAAAA,WAAW,EAAE;AALf;;AAOF,SAAKuB,uBAAL;AACE,oDACKF,KADL;AAEEP,QAAAA,OAAO,EAAE;AAFX;;AAIF,SAAKS,mBAAL;AACE,oDACKF,KADL;AAEErB,QAAAA,WAAW,yCACNqB,KAAK,CAACrB,WAAN,CAAkBxB,MAAlB,CAAyB,UAACiD,CAAD;AAAA,iBAC1BA,CAAC,CAAC/B,aAAF,KAAoB7F,WADM;AAAA,SAAzB,CADM;AAFb;;AAQF,SAAK0H,wBAAL;AAA2C;AACzC,YAAMG,gBAAgB,GAAGJ,MAAM,CAAC/E,OAAP,CAAe8D,QAAf,IAA2B,EAApD;AADyC,oCAEJiB,MAAM,CAAC/E,OAFH,CAEjCI,mBAFiC;AAAA,YAEjCA,mBAFiC,sCAEX,EAFW;AAIzC,YAAMgF,YAAY,GAAGN,KAAK,CAAC1E,mBAAN,IAA6B,EAAlD;AACA,YAAMiF,eAAe,GAAGD,YAAY,CAACtF,GAArC;AACA,YAAMwF,gBAAgB,GAAGlF,mBAAmB,CAACN,GAA7C;;AACA,YAAIwF,gBAAgB,KAAKD,eAAzB,EAA0C;AACxC,iBAAOP,KAAP;AACD,SATwC;;;AAYzC,YAAMS,mBAAmB,GAAGT,KAAK,CAACrB,WAAN,CAAkBxB,MAAlB,CAAyB,UAACrC,GAAD;AAAA,iBACnD,CAAEuF,gBAAgB,CAACK,IAAjB,CAAsB;AAAA,gBAAGtF,SAAH,QAAGA,SAAH;AAAA,mBAAmBuF,kBAAU,CAACvF,SAAD,EAAYN,GAAG,CAACM,SAAhB,CAA7B;AAAA,WAAtB,CADiD;AAAA,SAAzB,CAA5B;AAGA,sDACK4E,KADL;AAEEP,UAAAA,OAAO,EAAE,KAFX;AAGED,UAAAA,WAAW,EAAE,IAHf;AAIEE,UAAAA,OAAO,EAAEO,MAAM,CAAC/E,OAAP,CAAewE,OAJ1B;AAKEC,UAAAA,oBAAoB,EAAEM,MAAM,CAAC/E,OAAP,CAAeyE,oBALvC;AAMEhB,UAAAA,WAAW,mDACN0B,gBADM,0CAENI,mBAFM;AANb;AAWD;;AACD,SAAKP,oBAAL;AACE,oDACKF,KADL;AAEErB,QAAAA,WAAW,mDACNqB,KAAK,CAACrB,WADA,2CAEJsB,MAAM,CAAC/E,OAFH;AAFb;;AAOF,SAAKgF,qBAAL;AAAwC;AACtC,YAAMU,WAAW,GAAGZ,KAAK,CAACrB,WAAN,CAAkBG,GAAlB,CAAsB,UAACsB,CAAD;AAAA,iBACxCO,kBAAU,CAACP,CAAC,CAACS,KAAH,EAAUZ,MAAM,CAAC/E,OAAP,CAAe2F,KAAzB,CAAV,GAA4CZ,MAAM,CAAC/E,OAAnD,GAA6DkF,CADrB;AAAA,SAAtB,CAApB;;AAGA,+CAAIQ,WAAJ,EAAiBE,IAAjB,CAAsB,UAACC,CAAD,EAAIC,CAAJ;AAAA,iBAElBD,CAAC,CAAC1C,aAAF,IACG2C,CAAC,CAAC3C,aADL,IAEG0C,CAAC,CAAC1C,aAAF,KAAoB7F,WAFvB,KAIEwI,CAAC,CAAC3C,aAAF,KAAoB3F,SAApB,IACGsI,CAAC,CAAC3C,aAAF,KAAoB5F,QALzB,CADF,GAQI,CAAC,CARL,GAQS,CATW;AAAA,SAAtB;;AAWA,sDACKuH,KADL;AAEErB,UAAAA,WAAW,EAAEiC;AAFf;AAID;;AACD,SAAKV,sBAAL;AAAyC;AACvC;AACAD,QAAAA,MAAM,CAAC/E,OAAP,CAAe+F,MAAf,GAAwB,IAAxB;AACA,sDACKjB,KADL;AAEErB,UAAAA,WAAW,EAAEqB,KAAK,CAACrB,WAAN,CAAkBG,GAAlB,CAAsB,UAACsB,CAAD;AAAA,mBACjCO,kBAAU,CAACP,CAAC,CAACS,KAAH,EAAUZ,MAAM,CAAC/E,OAAP,CAAe2F,KAAzB,CAAV,GACIZ,MAAM,CAAC/E,OADX,GAEIkF,CAH6B;AAAA,WAAtB;AAFf;AAQD;;AACD,SAAKF,mBAAL;AAAsC;AACpC,sDACKF,KADL;AAEE1E,UAAAA,mBAAmB,EAAE2E,MAAM,CAAC/E,OAF9B;AAGE4E,UAAAA,SAAS,EAAE;AAHb;AAKD;;AACD,SAAKI,mBAAL;AAAsC;AACpC,sDACKF,KADL;AAEEF,UAAAA,SAAS,EAAE;AAFb;AAID;;AACD,SAAKI,mBAAL;AAAsC;AAAA,8BACMD,MAAM,CAAC/E,OADb;AAAA,YAC5BH,OAD4B,mBAC5BA,OAD4B;AAAA,YACnBnC,OADmB,mBACnBA,OADmB;AAAA,YACVsI,WADU,mBACVA,WADU;AAEpC,YAAIxF,WAAW,GAAG,CAAlB;;AAFoC,oCAGcsE,KAHd,CAG5B1E,mBAH4B;AAAA,YAG5BA,oBAH4B,sCAGN,EAHM;AAAA,YAGFuE,WAHE,GAGcG,KAHd,CAGFH,WAHE;;AAIpC,YAAMsB,sBAAsB,GAAG7F,oBAAmB,CAACN,GAAnD;;AACA,YAAI,CAAC2F,kBAAU,CAAC5F,OAAO,CAACC,GAAT,EAAcmG,sBAAd,CAAf,EAAsD;AACpD,iBAAOnB,KAAP;AACD,SAPmC;;;AASpC,YAAI,EAAEA,KAAK,CAACrB,WAAN,CAAkBG,GAAlB,CAAsB,UAAChE,GAAD;AAAA,iBAASA,GAAG,CAACM,SAAb;AAAA,SAAtB,EAA8CgG,OAA9C,CAAsDxI,OAAO,CAACwC,SAA9D,IAA2E,CAA7E,CAAJ,EAAqF;AACnF,iBAAO4E,KAAP;AACD;;AAEDtE,QAAAA,WAAW,GAAGsE,KAAK,CAACtE,WAAN,GAAoB,CAAlC,CAboC;;AAepC,YAAIwF,WAAJ,EAAiB;AACfxF,UAAAA,WAAW,GAAG,CAAd;AACD;;AAED,YAAI9C,OAAO,CAACI,cAAR,IAA0BJ,OAAO,CAACI,cAAR,EAA9B,EAAwD;AACtD,wDACKgH,KADL;AAEErB,YAAAA,WAAW,EAAED,yBAAyB,CAACsB,KAAK,CAACrB,WAAP,EAAoB/F,OAApB;AAFxC;AAID;;AACD,sDACKoH,KADL;AAEEtE,UAAAA,WAAW,EAAXA,WAFF;AAGEmE,UAAAA,WAAW,EAAGnE,WAAW,KAAK,CAAjB,GACTsC,MAAM,CAAC,IAAIqD,IAAJ,EAAD,EAAa,UAAb,CADG,GAETxB,WALN;AAMElB,UAAAA,WAAW,EAAED,yBAAyB,CAACsB,KAAK,CAACrB,WAAP,EAAoB/F,OAApB;AANxC;AAQD;;AACD,SAAKsH,kBAAL;AACE,oDACKF,KADL;AAEErB,QAAAA,WAAW,EAAEqB,KAAK,CAACrB,WAAN,CAAkBG,GAAlB,CAAsB,UAACsB,CAAD;AAAA,iBACjCO,kBAAU,CAACP,CAAC,CAAChF,SAAH,EAAc6E,MAAM,CAAC/E,OAAP,CAAetC,OAAf,CAAuBwC,SAArC,CAAV,GACI6E,MAAM,CAAC/E,OAAP,CAAetC,OADnB,GAEIwH,CAH6B;AAAA,SAAtB;AAFf;;AAQF,SAAKF,sBAAL;AACE,oDACKF,KADL;AAEErB,QAAAA,WAAW,EAAEqB,KAAK,CAACrB,WAAN,CAAkBG,GAAlB,CAAsB,UAACsB,CAAD;AAAA,iBACjCO,kBAAU,CAACP,CAAC,CAACS,KAAH,EAAUZ,MAAM,CAAC/E,OAAP,CAAe2F,KAAzB,CAAV,GACIZ,MAAM,CAAC/E,OADX,GAEIkF,CAH6B;AAAA,SAAtB;AAFf;;AAQF,SAAKF,YAAL;AACE,oDACKF,KADL;AAEEtE,QAAAA,WAAW,EAAE,CAFf;AAGEmE,QAAAA,WAAW,EAAE;AAHf;;AAKF,SAAKK,kBAAL;AACE,oDACKF,KADL;AAEErB,QAAAA,WAAW,EAAEqB,KAAK,CAACrB,WAAN,CAAkBxB,MAAlB,CAAyB,UAACiD,CAAD;AAAA,iBACpC,CAACO,kBAAU,CAACP,CAAC,CAAChF,SAAH,EAAc6E,MAAM,CAAC/E,OAArB,CADyB;AAAA,SAAzB;AAFf;;AAMF,SAAKgF,4BAAL;AACE,oDACKF,KADL;AAEErB,QAAAA,WAAW,EAAEqB,KAAK,CAACrB,WAAN,CAAkBxB,MAAlB,CAAyB,UAACiD,CAAD;AAAA,iBACpC,CAACO,kBAAU,CAACP,CAAC,CAACS,KAAH,EAAUZ,MAAM,CAAC/E,OAAjB,CADyB;AAAA,SAAzB;AAFf;;AAMF,SAAKgF,mBAAL;AAAsC;AACpC,sDACKF,KADL;AAEExD,UAAAA,cAAc,EAAEyD,MAAM,CAAC/E;AAFzB;AAID;;AACD,SAAKgF,eAAL;AAAkC;AAChC,sDACKF,KADL;AAEEJ,UAAAA,UAAU,EAAEK,MAAM,CAAC/E;AAFrB;AAID;;AACD,SAAKgF,mBAAL;AAAsC;AACpC,sDACKF,KADL;AAEErB,UAAAA,WAAW,EAAEqB,KAAK,CAACrB,WAAN,CAAkBG,GAAlB,CAAsB,UAACsB,CAAD,EAAO;AACxC,gBAAIO,kBAAU,CAACP,CAAC,CAAChF,SAAH,EAAc6E,MAAM,CAAC/E,OAAP,CAAeE,SAA7B,CAAd,EAAuD;AACrD,kBAAIgF,CAAC,CAACkB,kBAAF,IAAwB,OAAOlB,CAAC,CAACkB,kBAAT,KAAgC,UAA5D,EAAwE;AACtElB,gBAAAA,CAAC,CAACkB,kBAAF,CAAqBrB,MAAM,CAAC/E,OAA5B;AACD;;AACD,qBAAOkF,CAAP;AACD;;AACD,mBAAOA,CAAP;AACD,WARY;AAFf;AAYD;;AACD;AACE,aAAOJ,KAAP;AA5MJ;AA8MD;;ACvND;;;;;;;;;AAQA,SAASuB,sBAAT,cAKG;AAAA,MAL+BjG,mBAK/B,QAL+BA,mBAK/B;AAAA,MALoDkG,OAKpD,QALoDA,OAKpD;AAAA,MAJDC,kBAIC,SAJDA,kBAIC;AAAA,MAHDC,GAGC,SAHDA,GAGC;AAAA,MAFDC,MAEC,SAFDA,MAEC;AAAA,MADDC,SACC,SADDA,SACC;AACD,MAAMrH,UAAU,GAAGe,mBAAmB,IAAIA,mBAAmB,CAACN,GAA9D;AACA6G,EAAAA,eAAS,CAAC,YAAM;AACd,QAAMC,iBAAiB,GAAGC,4BAAM,EAAhC;;AACA,QAAIxH,UAAU,IAAImH,GAAd,IAAqBA,GAAG,CAACM,cAA7B,EAA6C;AAC3C,UAAMA,cAAc,GAAG,IAAIN,GAAG,CAACM,cAAR,EAAvB;AACAL,MAAAA,MAAM,CAACM,IAAP,CAAY,uDAAZ,EAAqEH,iBAArE;;AACAE,MAAAA,cAAc,CAACE,iBAAf,GAAmC,UAACnH,OAAD,EAAUnC,OAAV,EAAsB;AACvD,YAAI+H,kBAAU,CAAC5F,OAAO,CAACC,GAAT,EAAcM,mBAAmB,CAACN,GAAlC,CAAd,EAAsD;AACpD,cAAIkG,WAAW,GAAG,KAAlB;;AACA,cAAI;AAAA,gBACMiB,OADN,GACkBP,SADlB,CACMO,OADN;AAEFjB,YAAAA,WAAW,GAAGiB,OAAO,CAACC,YAAR,GAAuBD,OAAO,CAACtI,SAA/B,IAA4CsI,OAAO,CAACrI,YAAlE;AACD,WAHD,CAGE,OAAOC,KAAP,EAAc;AAEf;;AAED4H,UAAAA,MAAM,CAACM,IAAP,CAAY,qDAAZ,EAAmErJ,OAAnE;AACA6I,UAAAA,kBAAkB,CAAC;AACjBtI,YAAAA,IAAI,EAAEkJ,mBADW;AAEjBnH,YAAAA,OAAO,EAAE;AAAEH,cAAAA,OAAO,EAAPA,OAAF;AAAWnC,cAAAA,OAAO,EAAPA,OAAX;AAAoBsI,cAAAA,WAAW,EAAXA;AAApB;AAFQ,WAAD,CAAlB;;AAKA,cAAIA,WAAJ,EAAiB;AACf,gBAAI;AACFlH,cAAAA,UAAU,CAAC,YAAM;AACfsB,gBAAAA,mBAAmB,CAACgH,UAApB;AACAhJ,gBAAAA,cAAc;AACf,eAHS,CAAV;AAID,aALD,CAKE,OAAOS,KAAP,EAAc;AACd4H,cAAAA,MAAM,CAACY,OAAP,CAAe,oDAAf;AACD;AACF;AACF;AACF,OA3BD;;AA6BAP,MAAAA,cAAc,CAACQ,gBAAf,GAAkC,UAACzH,OAAD,EAAUnC,OAAV,EAAsB;AACtD+I,QAAAA,MAAM,CAACM,IAAP,CAAY,oDAAZ,EAAkErJ,OAAlE;AACA6I,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEkJ,kBADW;AAEjBnH,UAAAA,OAAO,EAAE;AAAEH,YAAAA,OAAO,EAAPA,OAAF;AAAWnC,YAAAA,OAAO,EAAPA;AAAX;AAFQ,SAAD,CAAlB;AAID,OAND;;AAQAoJ,MAAAA,cAAc,CAACS,gBAAf,GAAkC,UAACC,CAAD,EAAItH,SAAJ,EAAkB;AAClDuG,QAAAA,MAAM,CAACM,IAAP,CAAY,oDAAZ,EAAkE7G,SAAlE;AACAqG,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEkJ,kBADW;AAEjBnH,UAAAA,OAAO,EAAEE;AAFQ,SAAD,CAAlB;AAID,OAND;;AAQA4G,MAAAA,cAAc,CAACW,iBAAf,GAAmC,UAACD,CAAD,EAAIE,aAAJ,EAAsB;AACvDjB,QAAAA,MAAM,CAACM,IAAP,CAAY,qDAAZ,EAAmEW,aAAnE;AACAnB,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEkJ,mBADW;AAEjBnH,UAAAA,OAAO,EAAE0H;AAFQ,SAAD,CAAlB;AAID,OAND;;AAQAZ,MAAAA,cAAc,CAACa,gBAAf,GAAkC,UAAC5G,YAAD,EAAkB;AAClD,YAAI0E,kBAAU,CAAC1E,YAAY,CAACjB,GAAd,EAAmBM,mBAAmB,CAACN,GAAvC,CAAd,EAA2D;AACzD2G,UAAAA,MAAM,CAACM,IAAP,CAAY,oDAAZ,EAAkEhG,YAAlE;AACAwF,UAAAA,kBAAkB,CAAC;AACjBtI,YAAAA,IAAI,EAAEkJ,mBADW;AAEjBnH,YAAAA,OAAO,EAAEe;AAFQ,WAAD,CAAlB;AAID;AACF,OARD;;AAUA+F,MAAAA,cAAc,CAACc,eAAf,GAAiC,UAAC7G,YAAD,EAAkB;AACjD,YAAI0E,kBAAU,CAAC1E,YAAY,CAACjB,GAAd,EAAmBM,mBAAmB,CAACN,GAAvC,CAAd,EAA2D;AACzD2G,UAAAA,MAAM,CAACM,IAAP,CAAY,mDAAZ,EAAiEhG,YAAjE;AACAwF,UAAAA,kBAAkB,CAAC;AACjBtI,YAAAA,IAAI,EAAEkJ,mBADW;AAEjBnH,YAAAA,OAAO,EAAEe;AAFQ,WAAD,CAAlB;AAID;AACF,OARD;;AAUA+F,MAAAA,cAAc,CAACe,iBAAf,GAAmC,UAAC9G,YAAD,EAAkB;AACnD,YAAI0E,kBAAU,CAAC1E,YAAY,CAACjB,GAAd,EAAmBM,mBAAmB,CAACN,GAAvC,CAAd,EAA2D;AACzD2G,UAAAA,MAAM,CAACM,IAAP,CAAY,qDAAZ,EAAmEhG,YAAnE;AACAwF,UAAAA,kBAAkB,CAAC;AACjBtI,YAAAA,IAAI,EAAEkJ,mBADW;AAEjBnH,YAAAA,OAAO,EAAEe;AAFQ,WAAD,CAAlB;AAID;AACF,OARD;;AAUA+F,MAAAA,cAAc,CAACgB,WAAf,GAA6B,UAAC/G,YAAD,EAAkB;AAC7C,YAAI0E,kBAAU,CAAC1E,YAAY,CAACjB,GAAd,EAAmBM,mBAAmB,CAACN,GAAvC,CAAd,EAA2D;AACzD2G,UAAAA,MAAM,CAACM,IAAP,CAAY,+CAAZ,EAA6DhG,YAA7D;AACAwF,UAAAA,kBAAkB,CAAC;AACjBtI,YAAAA,IAAI,EAAEkJ,mBADW;AAEjBnH,YAAAA,OAAO,EAAEe;AAFQ,WAAD,CAAlB;AAID;AACF,OARD;;AAUA+F,MAAAA,cAAc,CAACiB,aAAf,GAA+B,UAAChH,YAAD,EAAkB;AAC/C,YAAI0E,kBAAU,CAAC1E,YAAY,CAACjB,GAAd,EAAmBM,mBAAmB,CAACN,GAAvC,CAAd,EAA2D;AACzD2G,UAAAA,MAAM,CAACM,IAAP,CAAY,iDAAZ,EAA+DhG,YAA/D;AACAwF,UAAAA,kBAAkB,CAAC;AACjBtI,YAAAA,IAAI,EAAEkJ,mBADW;AAEjBnH,YAAAA,OAAO,EAAEe;AAFQ,WAAD,CAAlB;AAID;AACF,OARD;;AAUA+F,MAAAA,cAAc,CAACkB,YAAf,GAA8B,UAACjH,YAAD,EAAkB;AAC9C,YAAI0E,kBAAU,CAAC1E,YAAY,CAACjB,GAAd,EAAmBM,mBAAmB,CAACN,GAAvC,CAAd,EAA2D;AACzD2G,UAAAA,MAAM,CAACM,IAAP,CAAY,gDAAZ,EAA8DhG,YAA9D;AACAwF,UAAAA,kBAAkB,CAAC;AACjBtI,YAAAA,IAAI,EAAEkJ,mBADW;AAEjBnH,YAAAA,OAAO,EAAEe;AAFQ,WAAD,CAAlB;AAID;AACF,OARD;;AAUA+F,MAAAA,cAAc,CAACmB,iBAAf,GAAmC,UAAClH,YAAD,EAAkB;AACnD,YAAI0E,kBAAU,CAAC1E,YAAY,CAACjB,GAAd,EAAmBM,mBAAmB,CAACN,GAAvC,CAAd,EAA2D;AACzD2G,UAAAA,MAAM,CAACM,IAAP,CAAY,qDAAZ,EAAmEhG,YAAnE;AACAwF,UAAAA,kBAAkB,CAAC;AACjBtI,YAAAA,IAAI,EAAEkJ,mBADW;AAEjBnH,YAAAA,OAAO,EAAEe;AAFQ,WAAD,CAAlB;AAID;AACF,OARD,CApH2C;;;AA+H3CyF,MAAAA,GAAG,CAAC0B,iBAAJ,CAAsBtB,iBAAtB,EAAyCE,cAAzC;AACD;;AACD,WAAO,YAAM;AACX,UAAIN,GAAG,IAAIA,GAAG,CAAC2B,oBAAf,EAAqC;AACnC1B,QAAAA,MAAM,CAACM,IAAP,CAAY,oEAAZ,EAAkFH,iBAAlF;AACAJ,QAAAA,GAAG,CAAC2B,oBAAJ,CAAyBvB,iBAAzB;AACD;AACF,KALD;AAMD,GAzIQ,EAyIN,CAACvH,UAAD,EAAaiH,OAAb,CAzIM,CAAT;AA0ID;;AC5JD,SAAS8B,aAAT,cAIG;AAAA,MAJsB/I,UAItB,QAJsBA,UAItB;AAAA,MAJkCiH,OAIlC,QAJkCA,OAIlC;AAAA,MAHDC,kBAGC,SAHDA,kBAGC;AAAA,MAFDC,GAEC,SAFDA,GAEC;AAAA,MADDC,MACC,SADDA,MACC;AACDE,EAAAA,eAAS,CAAC,YAAM;AACd,QAAItH,UAAU,IAAIiH,OAAd,IAAyBE,GAAzB,IAAgCA,GAAG,CAAC6B,YAAxC,EAAsD;AACpD5B,MAAAA,MAAM,CAACM,IAAP,CAAY,0CAAZ,EAAwD1H,UAAxD;AACAmH,MAAAA,GAAG,CAAC6B,YAAJ,CAAiBC,UAAjB,CAA4BjJ,UAA5B,EACGkJ,IADH,CACQ,UAACxH,YAAD,EAAkB;AACtB0F,QAAAA,MAAM,CAACM,IAAP,CAAY,yCAAZ,EAAuDhG,YAAvD;AACAwF,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEuK,mBADW;AAEjBxI,UAAAA,OAAO,EAAEe;AAFQ,SAAD,CAAlB;AAKA0F,QAAAA,MAAM,CAACM,IAAP,CAAY,uBAAZ,EAAqChG,YAArC,EAPsB;;AAStBA,QAAAA,YAAY,CAACqG,UAAb;AACD,OAXH,EAYGqB,KAZH,CAYS,UAACC,CAAD,EAAO;AACZjC,QAAAA,MAAM,CAACY,OAAP,CAAe,8CAAf,EAA+D;AAAEhI,UAAAA,UAAU,EAAVA,UAAF;AAAcqJ,UAAAA,CAAC,EAADA;AAAd,SAA/D;AACAnC,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEuK;AADW,SAAD,CAAlB;AAGD,OAjBH;AAkBAhC,MAAAA,GAAG,CAACmC,WAAJ,CAAgB,UAACC,eAAD,EAAkBC,GAAlB,EAA0B;AACxC,YAAIA,GAAJ,EAAS;AACPpC,UAAAA,MAAM,CAAC5H,KAAP,CAAa,gCAAb,EAA+CgK,GAA/C;AACA;AACD;;AACDpC,QAAAA,MAAM,CAACM,IAAP,CAAY,iCAAZ,EAA+C6B,eAA/C;AACArC,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEuK,mBADW;AAEjBxI,UAAAA,OAAO,EAAE4I;AAFQ,SAAD,CAAlB;AAID,OAVD;AAWD;AACF,GAjCQ,EAiCN,CAACvJ,UAAD,EAAaiH,OAAb,CAjCM,CAAT;AAkCD;;ACtCD,SAASwC,uBAAT,cAIG;AAAA,MAJgC1I,mBAIhC,QAJgCA,mBAIhC;AAAA,MAJqD2I,0BAIrD,QAJqDA,0BAIrD;AAAA,MAHDvC,GAGC,SAHDA,GAGC;AAAA,MAFDC,MAEC,SAFDA,MAEC;AAAA,MADDF,kBACC,SADDA,kBACC;AACD,MAAMlH,UAAU,GAAGe,mBAAmB,IAAIA,mBAAmB,CAACN,GAA9D;AACA6G,EAAAA,eAAS,CAAC,YAAM;AACdF,IAAAA,MAAM,CAACM,IAAP,CAAY,gDAAZ,EAA8D3G,mBAA9D;AAEAmG,IAAAA,kBAAkB,CAAC;AACjBtI,MAAAA,IAAI,EAAEuK;AADW,KAAD,CAAlB;;AAIA,QAAIhC,GAAG,IAAIA,GAAG,CAACwC,iBAAX,IACC5I,mBADD,IACwBA,mBAAmB,CAAC6I,sBADhD,EACwE;AACtE,UAAMC,iBAAiB,GAAG,IAAI1C,GAAG,CAACwC,iBAAR,EAA1B;AACAE,MAAAA,iBAAiB,CAACC,cAAlB,GAAmC,EAAnC;AACAD,MAAAA,iBAAiB,CAACE,WAAlB,GAAgC,IAAhC;AACAF,MAAAA,iBAAiB,CAACG,cAAlB,GAAmC,KAAnC;AACAH,MAAAA,iBAAiB,CAACI,eAAlB,GAAoC,IAApC;;AACA,UAAIP,0BAAJ,EAAgC;AAC9BQ,QAAAA,MAAM,CAACC,IAAP,CAAYT,0BAAZ,EAAwC9J,OAAxC,CAAgD,UAACqD,GAAD,EAAS;AACvD4G,UAAAA,iBAAiB,CAAC5G,GAAD,CAAjB,GAAyByG,0BAA0B,CAACzG,GAAD,CAAnD;AACD,SAFD;AAGD;;AACDmE,MAAAA,MAAM,CAACM,IAAP,CAAY,4BAAZ,EAA0C;AAAE3G,QAAAA,mBAAmB,EAAnBA,mBAAF;AAAuB2I,QAAAA,0BAA0B,EAA1BA;AAAvB,OAA1C;AACAxC,MAAAA,kBAAkB,CAAC;AACjBtI,QAAAA,IAAI,EAAEuK;AADW,OAAD,CAAlB;AAIApI,MAAAA,mBAAmB,CAACqJ,sBAApB,CACE,IAAItD,IAAJ,GAAWuD,OAAX,EADF,EAEER,iBAFF,EAIGX,IAJH,CAIQ,UAACzE,QAAD,EAAc;AAClB,YAAMU,OAAO,GAAIV,QAAQ,IAAIA,QAAQ,CAACnC,MAAT,GAAkB,CAA/C;AACA,YAAM8C,oBAAoB,GAAGD,OAAO,GAChCV,QAAQ,CAAC,CAAD,CAAR,CAAYf,SADoB,GAEhC,IAFJ;AAGAwD,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEuK,wBADW;AAEjBxI,UAAAA,OAAO,EAAE;AACP8D,YAAAA,QAAQ,EAARA,QADO;AAEPU,YAAAA,OAAO,EAAPA,OAFO;AAGPC,YAAAA,oBAAoB,EAApBA,oBAHO;AAIPrE,YAAAA,mBAAmB,EAAnBA;AAJO;AAFQ,SAAD,CAAlB;AASD,OAlBH,EAmBGqI,KAnBH,CAmBS,UAAC5J,KAAD,EAAW;AAChB4H,QAAAA,MAAM,CAAC5H,KAAP,CAAa,mCAAb,EAAkDA,KAAlD;AACA0H,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEuK,wBADW;AAEjBxI,UAAAA,OAAO,EAAE;AACP8D,YAAAA,QAAQ,EAAE,EADH;AAEPU,YAAAA,OAAO,EAAE,KAFF;AAGPC,YAAAA,oBAAoB,EAAE,CAHf;AAIPrE,YAAAA,mBAAmB,EAAnBA;AAJO;AAFQ,SAAD,CAAlB;AASD,OA9BH,EA+BGuJ,OA/BH,CA+BW,YAAM;AACbvJ,QAAAA,mBAAmB,CAACgH,UAApB;AACAtI,QAAAA,UAAU,CAAC;AAAA,iBAAM8K,cAAA,EAAN;AAAA,SAAD,CAAV;AACD,OAlCH;AAmCD;AACF,GA5DQ,EA4DN,CAACvK,UAAD,EAAa0J,0BAAb,CA5DM,CAAT;AA6DD;;ACnED,SAASc,kBAAT,cAMG;AAAA,MAN2BC,QAM3B,QAN2BA,QAM3B;AAAA,MALDrD,MAKC,SALDA,MAKC;AAAA,MAJDD,GAIC,SAJDA,GAIC;AAAA,MAHDpG,mBAGC,SAHDA,mBAGC;AAAA,MAFDmG,kBAEC,SAFDA,kBAEC;AAAA,MADDwC,0BACC,SADDA,0BACC;AACDpC,EAAAA,eAAS,CAAC,YAAM;AACd,QAAMoD,UAAU,GAAG,CAACD,QAApB;AACA,WAAO,YAAM;AACX;AACA,UAAIC,UAAJ,EAAgB;AACdtD,QAAAA,MAAM,CAACM,IAAP,CAAY,+BAAZ;AADc,2BAEWP,GAFX,CAENwD,OAFM;AAAA,YAENA,OAFM,6BAEI,EAFJ;AAGd,YAAMC,WAAW,GAAGD,OAAO,CAACE,eAAR,IAA2B,KAA/C;AAEA,YAAMhB,iBAAiB,GAAG,IAAI1C,GAAG,CAACwC,iBAAR,EAA1B;AACAE,QAAAA,iBAAiB,CAACC,cAAlB,GAAmC,EAAnC;AACAD,QAAAA,iBAAiB,CAACG,cAAlB,GAAmC,KAAnC;AACAH,QAAAA,iBAAiB,CAACI,eAAlB,GAAoCW,WAApC;;AAEA,YAAIlB,0BAAJ,EAAgC;AAC9BQ,UAAAA,MAAM,CAACC,IAAP,CAAYT,0BAAZ,EAAwC9J,OAAxC,CAAgD,UAACqD,GAAD,EAAS;AACvD4G,YAAAA,iBAAiB,CAAC5G,GAAD,CAAjB,GAAyByG,0BAA0B,CAACzG,GAAD,CAAnD;AACD,WAFD;AAGD;;AACDmE,QAAAA,MAAM,CAACM,IAAP,CAAY,4BAAZ,EAA0C;AAAE3G,UAAAA,mBAAmB,EAAnBA,mBAAF;AAAuB2I,UAAAA,0BAA0B,EAA1BA;AAAvB,SAA1C;AACAxC,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEuK;AADW,SAAD,CAAlB;AAIAhC,QAAAA,GAAG,CAAC6B,YAAJ,CAAiBC,UAAjB,CAA4BlI,mBAAmB,CAACN,GAAhD,EACGyI,IADH,CACQ,UAACxH,YAAD,EAAkB;AACtB,cAAMoJ,eAAe,GAAG,IAAIhE,IAAJ,GAAWuD,OAAX,EAAxB;AAEA3I,UAAAA,YAAY,CAAC0I,sBAAb,CACEU,eADF,EAEEjB,iBAFF,EAIGX,IAJH,CAIQ,UAACzE,QAAD,EAAc;AAClByC,YAAAA,kBAAkB,CAAC;AACjBtI,cAAAA,IAAI,EAAEuK;AADW,aAAD,CAAlB;AAIA,gBAAMhE,OAAO,GAAIV,QAAQ,IAAIA,QAAQ,CAACnC,MAAT,GAAkB,CAA/C;AACA,gBAAM8C,oBAAoB,GAAGD,OAAO,GAChCV,QAAQ,CAAC,CAAD,CAAR,CAAYf,SADoB,GAEhC,IAFJ;AAGAwD,YAAAA,kBAAkB,CAAC;AACjBtI,cAAAA,IAAI,EAAEuK,wBADW;AAEjBxI,cAAAA,OAAO,EAAE;AACP8D,gBAAAA,QAAQ,EAARA,QADO;AAEPU,gBAAAA,OAAO,EAAPA,OAFO;AAGPC,gBAAAA,oBAAoB,EAApBA,oBAHO;AAIPrE,gBAAAA,mBAAmB,EAAnBA;AAJO;AAFQ,aAAD,CAAlB;AASAtB,YAAAA,UAAU,CAAC;AAAA,qBAAM8K,cAAA,EAAN;AAAA,aAAD,CAAV;AACD,WAvBH,EAwBGnB,KAxBH,CAwBS,UAAC5J,KAAD,EAAW;AAChB4H,YAAAA,MAAM,CAAC5H,KAAP,CAAa,mCAAb,EAAkDA,KAAlD;AACD,WA1BH,EA2BG8K,OA3BH,CA2BW,YAAM;AACbvJ,YAAAA,mBAAmB,CAACgH,UAApB;AACD,WA7BH;AA8BD,SAlCH;AAmCD;AACF,KA1DD;AA2DD,GA7DQ,EA6DN,CAAC0C,QAAD,CA7DM,CAAT;AA8DD;;ACtED,SAASM,iBAAT,cASG;AAAA,MARDhK,mBAQC,QARDA,mBAQC;AAAA,MAPDqE,oBAOC,QAPDA,oBAOC;AAAA,MANDsE,0BAMC,QANDA,0BAMC;AAAA,MAJDvE,OAIC,SAJDA,OAIC;AAAA,MAHDiC,MAGC,SAHDA,MAGC;AAAA,MAFDF,kBAEC,SAFDA,kBAEC;AAAA,MADDC,GACC,SADDA,GACC;AACD,SAAO6D,iBAAW,CAAC,UAACC,EAAD,EAAQ;AACzB,QAAI,CAAC9F,OAAL,EAAc;AAAE;AAAS;;AACzB,QAAM0E,iBAAiB,GAAG,IAAI1C,GAAG,CAACwC,iBAAR,EAA1B;AACAE,IAAAA,iBAAiB,CAACC,cAAlB,GAAmC,EAAnC;AACAD,IAAAA,iBAAiB,CAACG,cAAlB,GAAmC,KAAnC;AACAH,IAAAA,iBAAiB,CAACI,eAAlB,GAAoC,IAApC;;AAEA,QAAIP,0BAAJ,EAAgC;AAC9BQ,MAAAA,MAAM,CAACC,IAAP,CAAYT,0BAAZ,EAAwC9J,OAAxC,CAAgD,UAACqD,GAAD,EAAS;AACvD4G,QAAAA,iBAAiB,CAAC5G,GAAD,CAAjB,GAAyByG,0BAA0B,CAACzG,GAAD,CAAnD;AACD,OAFD;AAGD;;AACDmE,IAAAA,MAAM,CAACM,IAAP,CAAY,4BAAZ,EAA0C;AAAE3G,MAAAA,mBAAmB,EAAnBA,mBAAF;AAAuB2I,MAAAA,0BAA0B,EAA1BA;AAAvB,KAA1C;AAEA3I,IAAAA,mBAAmB,CAACqJ,sBAApB,CACEhF,oBAAoB,IAAI,IAAI0B,IAAJ,GAAWuD,OAAX,EAD1B,EAEER,iBAFF,EAIGX,IAJH,CAIQ,UAACzE,QAAD,EAAc;AAClB,UAAMyG,eAAe,GAAIzG,QAAQ,IAAIA,QAAQ,CAACnC,MAAT,GAAkB,CAAvD;AACA,UAAM6I,aAAa,GAAGD,eAAe,GACjCzG,QAAQ,CAAC,CAAD,CAAR,CAAYf,SADqB,GAEjC,IAFJ;AAIAwD,MAAAA,kBAAkB,CAAC;AACjBtI,QAAAA,IAAI,EAAEuK,wBADW;AAEjBxI,QAAAA,OAAO,EAAE;AACP8D,UAAAA,QAAQ,EAARA,QADO;AAEPU,UAAAA,OAAO,EAAE+F,eAFF;AAGP9F,UAAAA,oBAAoB,EAAE+F,aAHf;AAIPpK,UAAAA,mBAAmB,EAAnBA;AAJO;AAFQ,OAAD,CAAlB;AASAkK,MAAAA,EAAE,CAAC,CAACxG,QAAD,EAAW,IAAX,CAAD,CAAF;AACD,KApBH,EAqBG2E,KArBH,CAqBS,UAAC5J,KAAD,EAAW;AAChB4H,MAAAA,MAAM,CAAC5H,KAAP,CAAa,mCAAb,EAAkDA,KAAlD;AACA0H,MAAAA,kBAAkB,CAAC;AACjBtI,QAAAA,IAAI,EAAEuK,wBADW;AAEjBxI,QAAAA,OAAO,EAAE;AACP8D,UAAAA,QAAQ,EAAE,EADH;AAEPU,UAAAA,OAAO,EAAE,KAFF;AAGPC,UAAAA,oBAAoB,EAAE,CAHf;AAIPrE,UAAAA,mBAAmB,EAAnBA;AAJO;AAFQ,OAAD,CAAlB;AASAkK,MAAAA,EAAE,CAAC,CAAC,IAAD,EAAOzL,KAAP,CAAD,CAAF;AACD,KAjCH,EAkCG8K,OAlCH,CAkCW,YAAM;AACbvJ,MAAAA,mBAAmB,CAACgH,UAApB;AACD,KApCH;AAqCD,GAnDiB,EAmDf,CAAChH,mBAAD,EAAsBqE,oBAAtB,CAnDe,CAAlB;AAoDD;;AC9DD,SAASgG,wBAAT,cAA2F;AAAA,MAAvDrK,mBAAuD,QAAvDA,mBAAuD;AAAA,MAAlCmG,kBAAkC,QAAlCA,kBAAkC;AAAA,MAAVE,MAAU,SAAVA,MAAU;AACzF,SAAO4D,iBAAW,CAAC,UAAC3M,OAAD,EAAU4M,EAAV,EAAiB;AAClC7D,IAAAA,MAAM,CAACM,IAAP,CAAY,sDAAZ,EAAoErJ,OAApE;AADkC,QAE1B2C,YAF0B,GAET3C,OAFS,CAE1B2C,YAF0B;AAGlCoG,IAAAA,MAAM,CAACM,IAAP,CAAY,oEAAZ,EAAkF1G,YAAlF,EAHkC;;AAMlC,QAAIA,YAAY,KAAK,QAAjB,IAA6BA,YAAY,KAAK,SAAlD,EAA6D;AAC3DoG,MAAAA,MAAM,CAACM,IAAP,CAAY,iEAAZ,EAA+ErJ,OAA/E;AACA6I,MAAAA,kBAAkB,CAAC;AACjBtI,QAAAA,IAAI,EAAEuK,4BADW;AAEjBxI,QAAAA,OAAO,EAAEtC,OAAO,CAACiI;AAFA,OAAD,CAAlB;;AAIA,UAAI2E,EAAJ,EAAQ;AAAEA,QAAAA,EAAE;AAAK;;AACjB;AACD,KAdiC;;;AAiBlClK,IAAAA,mBAAmB,CAACsK,aAApB,CAAkChN,OAAlC,EAA2C,UAACmL,GAAD,EAAS;AAClDpC,MAAAA,MAAM,CAACM,IAAP,CAAY,mEAAZ,EAAiF1G,YAAjF;;AACA,UAAIiK,EAAJ,EAAQ;AAAEA,QAAAA,EAAE,CAACzB,GAAD,CAAF;AAAU;;AACpB,UAAI,CAACA,GAAL,EAAU;AACRpC,QAAAA,MAAM,CAACM,IAAP,CAAY,+DAAZ,EAA6ErJ,OAA7E;AACA6I,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEuK,kBADW;AAEjBxI,UAAAA,OAAO,EAAEtC,OAAO,CAACwC;AAFA,SAAD,CAAlB;AAID,OAND,MAMO;AACLuG,QAAAA,MAAM,CAACY,OAAP,CAAe,8DAAf,EAA+EwB,GAA/E;AACD;AACF,KAZD;AAaD,GA9BiB,EA8Bf,CAACzI,mBAAD,EAAsBmG,kBAAtB,CA9Be,CAAlB;AA+BD;;AC/BD,SAASoE,wBAAT,cAQG;AAAA,MAPDvK,mBAOC,QAPDA,mBAOC;AAAA,MANDmG,kBAMC,QANDA,kBAMC;AAAA,MALDqE,yBAKC,QALDA,yBAKC;AAAA,MAHDnE,MAGC,SAHDA,MAGC;AAAA,MAFDnH,MAEC,SAFDA,MAEC;AAAA,MADDkH,GACC,SADDA,GACC;AACD,SAAO6D,iBAAW,CAAC,UAACnK,SAAD,EAAY2K,IAAZ,EAAkBP,EAAlB,EAAyB;AAC1C,QAAMQ,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,GAAD,EAAS;AACnC,UAAMC,MAAM,GAAG,IAAIxE,GAAG,CAACyE,iBAAR,EAAf;AACAD,MAAAA,MAAM,CAACtN,OAAP,GAAiBqN,GAAjB;AACA,aAAOC,MAAP;AACD,KAJD;;AAMA,QAAME,iBAAiB,GAAGN,yBAAyB,IAC9C,OAAOA,yBAAP,KAAqC,UAD1C;;AAGA,QAAIM,iBAAJ,EAAuB;AACrBzE,MAAAA,MAAM,CAACM,IAAP,CAAY,0DAAZ,EAAwE6D,yBAAxE;AACD;;AAED,QAAMI,MAAM,GAAGJ,yBAAyB,GACpCA,yBAAyB,CAACC,IAAD,CADW,GAEpCC,mBAAmB,CAACD,IAAD,CAFvB;AAIAzK,IAAAA,mBAAmB,CAAC+K,iBAApB,CAAsCjL,SAAtC,EAAiD8K,MAAjD,EAAyD,UAACI,CAAD,EAAI1C,CAAJ,EAAU;AACjEjC,MAAAA,MAAM,CAACM,IAAP,CAAY,4BAAZ,EAA0CiE,MAA1C;AACA,UAAMK,UAAU,GAAG7E,GAAG,CAAC8E,qBAAJ,EAAnB;AACA,UAAI5N,OAAO,GAAG0N,CAAd;AACA,UAAIvC,GAAG,GAAGH,CAAV;;AACA,UAAI2C,UAAJ,EAAgB;AACd3N,QAAAA,OAAO,GAAGgL,CAAV;AACAG,QAAAA,GAAG,GAAGuC,CAAN;AACD;;AACD,UAAId,EAAJ,EAAQ;AACNA,QAAAA,EAAE,CAACzB,GAAD,EAAMnL,OAAN,CAAF;AACD;;AACD,UAAI,CAACmL,GAAL,EAAU;AACRpC,QAAAA,MAAM,CAACM,IAAP,CAAY,oCAAZ,EAAkDrJ,OAAlD;AACA6I,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEuK,kBADW;AAEjBxI,UAAAA,OAAO,EAAE;AACPH,YAAAA,OAAO,EAAEO,mBADF;AAEP1C,YAAAA,OAAO,EAAPA;AAFO;AAFQ,SAAD,CAAlB;AAOA4B,QAAAA,MAAM,CAACiM,OAAP,CACE5L,yBADF,EAEE;AACEjC,UAAAA,OAAO,EAAPA,OADF;AAEEmC,UAAAA,OAAO,EAAEO;AAFX,SAFF;AAOD,OAhBD,MAgBO;AACLqG,QAAAA,MAAM,CAACY,OAAP,CAAe,mCAAf,EAAoDwB,GAApD;AACD;AACF,KA/BD;AAgCD,GAlDiB,EAkDf,CAACzI,mBAAmB,CAACN,GAArB,EAA0ByG,kBAA1B,EAA8CqE,yBAA9C,CAlDe,CAAlB;AAmDD;;AC7DD,SAASY,wBAAT,cAKG;AAAA,MAJDpL,mBAIC,QAJDA,mBAIC;AAAA,MAHDmG,kBAGC,QAHDA,kBAGC;AAAA,MADDE,MACC,SADDA,MACC;AACD,SAAO4D,iBAAW,CAAC,UAACoB,aAAD,EAAmB;AACpChF,IAAAA,MAAM,CAACM,IAAP,CAAY,wCAAZ,EAAsD0E,aAAtD;AADoC,QAE5B7N,WAF4B,GAEN6N,aAFM,CAE5B7N,WAF4B;AAAA,QAEf8N,IAFe,GAEND,aAFM,CAEfC,IAFe;;AAGpC,QAAID,aAAa,IAAI,OAAOA,aAAa,CAACE,YAArB,KAAsC,UAAvD,IACCF,aAAa,CAACE,YAAd,EADL,EAEE;AACA;AACAF,MAAAA,aAAa,CAACpL,YAAd,GAA6B,SAA7B;AACAkG,MAAAA,kBAAkB,CAAC;AACjBtI,QAAAA,IAAI,EAAEuK,sBADW;AAEjBxI,QAAAA,OAAO,EAAEyL;AAFQ,OAAD,CAAlB,CAHA;;AASA,UAAI7N,WAAW,KAAK,MAApB,EAA4B;AAC1BwC,QAAAA,mBAAmB,CAChBwL,iBADH,CACqBH,aADrB,EAEGlD,IAFH,CAEQ,UAAC7K,OAAD,EAAa;AACjB+I,UAAAA,MAAM,CAACM,IAAP,CAAY,qCAAZ,EAAmD;AAAErJ,YAAAA,OAAO,EAAPA;AAAF,WAAnD;AACA6I,UAAAA,kBAAkB,CAAC;AACjBtI,YAAAA,IAAI,EAAEuK,qBADW;AAEjBxI,YAAAA,OAAO,EAAEtC;AAFQ,WAAD,CAAlB;AAID,SARH,EASG+K,KATH,CASS,UAACC,CAAD,EAAO;AACZjC,UAAAA,MAAM,CAACY,OAAP,CAAe,oCAAf,EAAqD;AAAEqB,YAAAA,CAAC,EAADA;AAAF,WAArD,EADY;;AAGZ+C,UAAAA,aAAa,CAACpL,YAAd,GAA6B,QAA7B;AACAkG,UAAAA,kBAAkB,CAAC;AACjBtI,YAAAA,IAAI,EAAEuK,sBADW;AAEjBxI,YAAAA,OAAO,EAAEyL;AAFQ,WAAD,CAAlB;AAID,SAjBH,EAD0B;;AAqB1BA,QAAAA,aAAa,CAACpL,YAAd,GAA6B,SAA7B;AACAkG,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEuK,sBADW;AAEjBxI,UAAAA,OAAO,EAAEyL;AAFQ,SAAD,CAAlB;AAIA;AACD;;AAED,UAAI7N,WAAW,KAAK,MAApB,EAA4B;AAC1BwC,QAAAA,mBAAmB,CAChByL,iBADH,CACqBJ,aADrB,EACoCC,IADpC,EAEGnD,IAFH,CAEQ,UAAC7K,OAAD,EAAa;AACjB+I,UAAAA,MAAM,CAACM,IAAP,CAAY,0CAAZ,EAAwD;AAAErJ,YAAAA,OAAO,EAAPA;AAAF,WAAxD;AACA6I,UAAAA,kBAAkB,CAAC;AACjBtI,YAAAA,IAAI,EAAEuK,qBADW;AAEjBxI,YAAAA,OAAO,EAAEtC;AAFQ,WAAD,CAAlB;AAID,SARH,EASG+K,KATH,CASS,UAACC,CAAD,EAAO;AACZjC,UAAAA,MAAM,CAACY,OAAP,CAAe,yCAAf,EAA0D;AAAEqB,YAAAA,CAAC,EAADA;AAAF,WAA1D,EADY;;AAGZ+C,UAAAA,aAAa,CAACpL,YAAd,GAA6B,QAA7B;AACAkG,UAAAA,kBAAkB,CAAC;AACjBtI,YAAAA,IAAI,EAAEuK,sBADW;AAEjBxI,YAAAA,OAAO,EAAEyL;AAFQ,WAAD,CAAlB;AAID,SAjBH,EAD0B;;AAqB1BA,QAAAA,aAAa,CAACpL,YAAd,GAA6B,SAA7B;AACAkG,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEuK,sBADW;AAEjBxI,UAAAA,OAAO,EAAEyL;AAFQ,SAAD,CAAlB;AAID;AACF,KAnED,MAmEO;AACL;AACA;AACAK,MAAAA,OAAO,CAACjN,KAAR,CAAc,2BAAd;AACA4H,MAAAA,MAAM,CAACY,OAAP,CAAe,2BAAf,EAA4CoE,aAA5C;AACD;AACF,GA5EiB,EA4Ef,CAACrL,mBAAD,EAAsBmG,kBAAtB,CA5Ee,CAAlB;AA6ED;;ACjFc,SAASwF,sBAAT,cAKZ;AAAA,MAL8C3L,mBAK9C,QAL8CA,mBAK9C;AAAA,MALmE4L,uBAKnE,QALmEA,uBAKnE;AAAA,MAJDxF,GAIC,SAJDA,GAIC;AAAA,MAHDC,MAGC,SAHDA,MAGC;AAAA,MAFDnH,MAEC,SAFDA,MAEC;AAAA,MADDiH,kBACC,SADDA,kBACC;AACD,MAAM0F,eAAe,GAAGC,YAAM,CAAC,IAAD,CAA9B;AAEA,MAAMC,WAAW,GAAG9B,iBAAW,CAC7B,YAAM;AACJ,QAAMQ,IAAI,GAAGoB,eAAe,CAAChF,OAAhB,CAAwBmF,KAArC;;AACA,QAAMtB,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,GAAD,EAAS;AACnC,UAAMrN,OAAO,GAAI,OAAOqN,GAAP,KAAe,QAAhB,GAA4BA,GAAG,CAACsB,IAAJ,EAA5B,GAAyCtB,GAAzD;AACA,UAAMC,MAAM,GAAG,IAAIxE,GAAG,CAACyE,iBAAR,EAAf;AACAD,MAAAA,MAAM,CAACtN,OAAP,GAAiBA,OAAjB;AACA,aAAOsN,MAAP;AACD,KALD;;AAOA,QAAME,iBAAiB,GAAGc,uBAAuB,IAC5C,OAAOA,uBAAP,KAAmC,UADxC;;AAGA,QAAId,iBAAJ,EAAuB;AACrBzE,MAAAA,MAAM,CAACM,IAAP,CAAY,wDAAZ,EAAsEiF,uBAAtE;AACD;;AAED,QAAMhB,MAAM,GAAGgB,uBAAuB,GAClCA,uBAAuB,CAACnB,IAAD,CADW,GAElCC,mBAAmB,CAACD,IAAD,CAFvB;AAIApE,IAAAA,MAAM,CAACM,IAAP,CAAY,sCAAZ,EAAoDiE,MAApD;AACA,QAAMsB,UAAU,GAAGlM,mBAAmB,CAACmM,eAApB,CAAoCvB,MAApC,EAA4C,UAACwB,GAAD,EAAM3D,GAAN,EAAc;AAC3E,UAAMwC,UAAU,GAAG7E,GAAG,CAAC8E,qBAAJ,EAAnB;AACA,UAAI5N,OAAO,GAAG8O,GAAd;AACA,UAAI3N,KAAK,GAAGgK,GAAZ;;AACA,UAAIwC,UAAJ,EAAgB;AACd3N,QAAAA,OAAO,GAAGmL,GAAV;AACAhK,QAAAA,KAAK,GAAG2N,GAAR;AACD,OAP0E;AAS3E;;;AACA,UAAI3N,KAAJ,EAAW;AACT4H,QAAAA,MAAM,CAACY,OAAP,CAAe,kCAAf,EAAmD;AACjD3J,UAAAA,OAAO,EAAPA;AADiD,SAAnD;AAGA6I,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEuK,sBADW;AAEjBxI,UAAAA,OAAO,EAAEtC;AAFQ,SAAD,CAAlB;AAIA;AACD;;AACD+I,MAAAA,MAAM,CAACM,IAAP,CAAY,mCAAZ,EAAiDrJ,OAAjD;AACA6I,MAAAA,kBAAkB,CAAC;AACjBtI,QAAAA,IAAI,EAAEuK,qBADW;AAEjBxI,QAAAA,OAAO,EAAEtC;AAFQ,OAAD,CAAlB;AAID,KAzBkB,CAAnB;AA0BA4B,IAAAA,MAAM,CAACiM,OAAP,CAAe5L,wBAAf,EAA0C;AACxC;;AAEAjC,MAAAA,OAAO,EAAE4O,UAH+B;AAIxCzM,MAAAA,OAAO,EAAEO;AAJ+B,KAA1C;AAMAtB,IAAAA,UAAU,CAAC;AAAA,aAAM8K,cAAA,EAAN;AAAA,KAAD,CAAV;AACD,GAvD4B,EAwD7B,CAACxJ,mBAAD,EAAsB4L,uBAAtB,CAxD6B,CAA/B;AA2DA,SAAO,CAACC,eAAD,EAAkBE,WAAlB,CAAP;AACD;;ACpEc,SAASM,0BAAT,cASZ;AAAA,MARDrM,mBAQC,QARDA,mBAQC;AAAA,MAPDsM,uBAOC,QAPDA,uBAOC;AAAA,mCANDC,gBAMC;AAAA,MANDA,gBAMC,sCANkB,EAMlB;AAAA,MAJDnG,GAIC,SAJDA,GAIC;AAAA,MAHDC,MAGC,SAHDA,MAGC;AAAA,MAFDnH,MAEC,SAFDA,MAEC;AAAA,MADDiH,kBACC,SADDA,kBACC;AACD,MAAM4F,WAAW,GAAG9B,iBAAW,CAAC,UAACqB,IAAD,EAAU;AAAA,QAEtCkB,eAFsC,GAKpCD,gBALoC,CAEtCC,eAFsC;AAAA,QAGtCC,aAHsC,GAKpCF,gBALoC,CAGtCE,aAHsC;AAAA,QAItCC,cAJsC,GAKpCH,gBALoC,CAItCG,cAJsC;AAMxC,QAAMC,kBAAkB,GAAGL,uBAAuB,IAAI,OAAOA,uBAAP,KAAmC,UAAzF;AAEA,QAAMM,oBAAoB,GAAItB,IAAI,CAACzN,IAAL,KAAc,WAAd,IAA6ByN,IAAI,CAACzN,IAAL,KAAc,WAA3C,IAA0DyN,IAAI,CAACzN,IAAL,KAAc,YAAtG;AACA,QAAMgP,iBAAiB,GAAIL,eAAe,GAAG,CAAnB,IAA0BA,eAAe,GAAG,CAAtE,CATwC;;AAWxC,QAAMM,uBAAuB,GAAGtD,UAAA,CAAiBiD,aAAjB,KAC3BjD,UAAA,CAAiBkD,cAAjB,CADL;AAGA,QAAMK,gBAAgB,GAAGH,oBAAoB,KAAKC,iBAAiB,IAAIC,uBAA1B,CAA7C;;AAEA,QAAMpC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACsC,KAAD,EAAW;AACrC,UAAMpC,MAAM,GAAG,IAAIxE,GAAG,CAAC6G,iBAAR,EAAf;AACArC,MAAAA,MAAM,CAACU,IAAP,GAAc0B,KAAd;AACA,aAAOpC,MAAP;AACD,KAJD;;AAMA,QAAImC,gBAAJ,EAAsB;AAAE;AACtB,UAAI;AACF,YAAMG,KAAK,GAAG7O,QAAQ,CAAC8O,aAAT,CAAuB,KAAvB,CAAd;AACAD,QAAAA,KAAK,CAACE,GAAN,GAAYC,GAAG,CAACC,eAAJ,CAAoBhC,IAApB,CAAZ;;AACA4B,QAAAA,KAAK,CAACK,MAAN,GAAe,YAAM;AACnBF,UAAAA,GAAG,CAACG,eAAJ,CAAoBN,KAAK,CAACE,GAA1B;AACA,cAAMK,MAAM,GAAGpP,QAAQ,CAAC8O,aAAT,CAAuB,QAAvB,CAAf;AACA,cAAMO,UAAU,GAAGR,KAAK,CAACS,YAAN,IAAsBT,KAAK,CAACU,KAA/C;AACA,cAAMC,WAAW,GAAGX,KAAK,CAACY,aAAN,IAAuBZ,KAAK,CAACa,MAAjD;AAEA,cAAIC,WAAW,GAAGxE,UAAA,CAAiBiD,aAAjB,KAAmCiB,UAArD;AACA,cAAIO,YAAY,GAAGzE,UAAA,CAAiBkD,cAAjB,KAAoCmB,WAAvD,CAPmB;AAUnB;AACA;;AACA,cAAIvC,IAAI,CAACzN,IAAL,KAAc,WAAd,IAA6B,CAACiP,uBAAlC,EAA2D;AACzDkB,YAAAA,WAAW,IAAIxB,eAAf;AACAyB,YAAAA,YAAY,IAAIzB,eAAhB;AACD;;AAEDiB,UAAAA,MAAM,CAACG,KAAP,GAAeI,WAAf;AACAP,UAAAA,MAAM,CAACM,MAAP,GAAgBE,YAAhB;AACA,cAAMC,OAAO,GAAGT,MAAM,CAACU,UAAP,CAAkB,IAAlB,CAAhB;AACAD,UAAAA,OAAO,CAACE,SAAR,CAAkBlB,KAAlB,EAAyB,CAAzB,EAA4B,CAA5B,EAA+Bc,WAA/B,EAA4CC,YAA5C;AACAC,UAAAA,OAAO,CAACT,MAAR,CAAeY,MAAf,CACE,UAACC,YAAD,EAAkB;AAChB,gBAAMC,cAAc,GAAG,IAAIC,IAAJ,CAAS,CAACF,YAAD,CAAT,EAAyBhD,IAAI,CAACmD,IAA9B,EAAoC;AAAE5Q,cAAAA,IAAI,EAAEyN,IAAI,CAACzN;AAAb,aAApC,CAAvB;;AACA,gBAAI8O,kBAAJ,EAAwB;AACtBtG,cAAAA,MAAM,CAACM,IAAP,CAAY,wDAAZ,EAAsE2F,uBAAtE;AACD;;AACD,gBAAM1B,MAAM,GAAG+B,kBAAkB,GAC7BL,uBAAuB,CAACiC,cAAD,CADM,GAE7B7D,mBAAmB,CAAC6D,cAAD,CAFvB;AAGAlI,YAAAA,MAAM,CAACM,IAAP,CAAY,wCAAZ,EAAsDiE,MAAtD;AACA,gBAAM8D,cAAc,GAAG1O,mBAAmB,CAAC2O,eAApB,CACrB/D,MADqB,EAErB,UAACgE,QAAD,EAAWnG,GAAX,EAAmB;AACjB,kBAAMwC,UAAU,GAAG7E,GAAG,CAAC8E,qBAAJ,EAAnB;;AADiB,0BAEQD,UAAU,GAAG,CAACxC,GAAD,EAAMmG,QAAN,CAAH,GAAqB,CAACA,QAAD,EAAWnG,GAAX,CAFvC;AAAA;AAAA,kBAEVnL,OAFU;AAAA,kBAEDmB,KAFC;;AAGjB,kBAAIA,KAAJ,EAAW;AACT;AACA;AACA4H,gBAAAA,MAAM,CAAC5H,KAAP,CAAa,uCAAb,EAAsDnB,OAAtD;AACAA,gBAAAA,OAAO,CAACuR,QAAR,GAAmBxB,GAAG,CAACC,eAAJ,CAAoBiB,cAApB,CAAnB;AACAjR,gBAAAA,OAAO,CAACgO,IAAR,GAAeiD,cAAf;AACApI,gBAAAA,kBAAkB,CAAC;AACjBtI,kBAAAA,IAAI,EAAEuK,sBADW;AAEjBxI,kBAAAA,OAAO,EAAEtC;AAFQ,iBAAD,CAAlB;AAIA;AACD;;AACD+I,cAAAA,MAAM,CAACM,IAAP,CAAY,wCAAZ,EAAsDrJ,OAAtD;AACA6I,cAAAA,kBAAkB,CAAC;AACjBtI,gBAAAA,IAAI,EAAEuK,qBADW;AAEjBxI,gBAAAA,OAAO,EAAEtC;AAFQ,eAAD,CAAlB;AAID,aAtBoB,CAAvB;AAwBA4B,YAAAA,MAAM,CAACiM,OAAP,CAAe5L,wBAAf,EAA0C;AACxC;;AAEAjC,cAAAA,OAAO,yCACFoR,cADE;AAELhP,gBAAAA,GAAG,EAAE2N,GAAG,CAACC,eAAJ,CAAoBiB,cAApB,CAFA;AAGL;AACAtO,gBAAAA,YAAY,EAAE;AAJT,gBAHiC;AASxCR,cAAAA,OAAO,EAAEO;AAT+B,aAA1C;AAWAtB,YAAAA,UAAU,CAAC;AAAA,qBAAM8K,cAAA,EAAN;AAAA,aAAD,EAA+B,IAA/B,CAAV;AACD,WA9CH,EA+CE8B,IAAI,CAACzN,IA/CP,EAgDE2O,eAhDF;AAkDD,SAvED;AAwED,OA3ED,CA2EE,OAAO/N,KAAP,EAAc;AACd4H,QAAAA,MAAM,CAAC5H,KAAP,CAAa,uCAAb;AACD;AACF,KA/ED,MA+EO;AAAE;AACP,UAAIkO,kBAAJ,EAAwB;AACtBtG,QAAAA,MAAM,CAACM,IAAP,CAAY,wDAAZ,EAAsE2F,uBAAtE;AACD;;AACD,UAAM1B,MAAM,GAAG0B,uBAAuB,GAClCA,uBAAuB,CAAChB,IAAD,CADW,GAElCZ,mBAAmB,CAACY,IAAD,CAFvB;AAGAjF,MAAAA,MAAM,CAACM,IAAP,CAAY,wCAAZ,EAAsDiE,MAAtD;AAEA,UAAMsB,UAAU,GAAGlM,mBAAmB,CAAC2O,eAApB,CAAoC/D,MAApC,EAA4C,UAACgE,QAAD,EAAWnG,GAAX,EAAmB;AAChF,YAAMwC,UAAU,GAAG7E,GAAG,CAAC8E,qBAAJ,EAAnB;;AADgF,oBAEvDD,UAAU,GAAG,CAACxC,GAAD,EAAMmG,QAAN,CAAH,GAAqB,CAACA,QAAD,EAAWnG,GAAX,CAFwB;AAAA;AAAA,YAEzEnL,OAFyE;AAAA,YAEhEmB,KAFgE;;AAGhF,YAAIA,KAAJ,EAAW;AACT;AACA;AACA4H,UAAAA,MAAM,CAAC5H,KAAP,CAAa,uCAAb,EAAsDnB,OAAtD;AACAA,UAAAA,OAAO,CAACuR,QAAR,GAAmBxB,GAAG,CAACC,eAAJ,CAAoBhC,IAApB,CAAnB;AACAhO,UAAAA,OAAO,CAACgO,IAAR,GAAeA,IAAf;AACAnF,UAAAA,kBAAkB,CAAC;AACjBtI,YAAAA,IAAI,EAAEuK,sBADW;AAEjBxI,YAAAA,OAAO,EAAEtC;AAFQ,WAAD,CAAlB;AAIA;AACD;;AACD+I,QAAAA,MAAM,CAACM,IAAP,CAAY,mCAAZ,EAAiDrJ,OAAjD;AACA6I,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEuK,qBADW;AAEjBxI,UAAAA,OAAO,EAAEtC;AAFQ,SAAD,CAAlB;AAID,OApBkB,CAAnB;AAqBA4B,MAAAA,MAAM,CAACiM,OAAP,CAAe5L,wBAAf,EAA0C;AACxC;;AAEAjC,QAAAA,OAAO,yCACF4O,UADE;AAELxM,UAAAA,GAAG,EAAE2N,GAAG,CAACC,eAAJ,CAAoBhC,IAApB,CAFA;AAGL;AACArL,UAAAA,YAAY,EAAE;AAJT,UAHiC;AASxCR,QAAAA,OAAO,EAAEO;AAT+B,OAA1C;AAWAtB,MAAAA,UAAU,CAAC;AAAA,eAAM8K,cAAA,EAAN;AAAA,OAAD,EAA+B,IAA/B,CAAV;AACD;AACF,GAhJ8B,EAgJ5B,CAACxJ,mBAAD,EAAsBsM,uBAAtB,EAA+CC,gBAA/C,CAhJ4B,CAA/B;AAiJA,SAAO,CAACR,WAAD,CAAP;AACD;;AC5Jc,SAAS+C,gBAAT,cAIZ;AAAA,MAJwCzL,WAIxC,QAJwCA,WAIxC;AAAA,MAJqDrD,mBAIrD,QAJqDA,mBAIrD;AAAA,MAHDmG,kBAGC,SAHDA,kBAGC;AAAA,MAFDC,GAEC,SAFDA,GAEC;AAAA,MADDC,MACC,SADDA,MACC;AACDE,EAAAA,eAAS,CAAC,YAAM;AACd,QAAI,CAACH,GAAG,CAACM,cAAL,IAAuB,CAAC1G,mBAAmB,CAACN,GAAhD,EAAqD;AACnD,aAAO,YAAM,EAAb;AACD,KAHa;;;AAKd,QAAMqP,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1B,UAAMC,aAAa,GAAG3L,WAAW,CAAC4L,MAAZ,CAAmB,UAACC,WAAD,EAAc1P,GAAd,EAAsB;AAC7D,YAAIA,GAAG,CAACM,SAAJ,KAAkB,CAAtB,EAAyB;AACvB,wDACKoP,WADL,0CAEG1P,GAAG,CAACM,SAFP,EAEmB0J,eAAA,CAAsBhK,GAAtB,EAA2BQ,mBAA3B,CAFnB;AAID;;AACD,eAAOkP,WAAP;AACD,OARqB,EAQnB,EARmB,CAAtB;AASA/I,MAAAA,kBAAkB,CAAC;AACjBtI,QAAAA,IAAI,EAAEuK,eADW;AAEjBxI,QAAAA,OAAO,EAAEoP;AAFQ,OAAD,CAAlB;AAID,KAdD;;AAeA,QAAI3L,WAAW,CAAC9B,MAAZ,GAAqB,CAAzB,EAA4B;AAC1BwN,MAAAA,aAAa;AACd;;AAED,QAAM9P,UAAU,GAAGe,mBAAmB,CAACN,GAAvC;AACA,QAAMyP,OAAO,GAAG,IAAI/I,GAAG,CAACM,cAAR,EAAhB;;AACA,QAAM0I,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,CAAD,EAAO;AACjC,UAAIpQ,UAAU,KAAKoQ,CAAC,CAAC3P,GAArB,EAA0B;AACxBqP,QAAAA,aAAa;AACd;AACF,KAJD;;AAKAI,IAAAA,OAAO,CAACG,wBAAR,GAAmCF,mBAAnC;AACAD,IAAAA,OAAO,CAACI,oBAAR,GAA+BH,mBAA/B,CAhCc;;AAkCd,QAAMI,SAAS,GAAG/I,4BAAM,EAAxB;AACAJ,IAAAA,MAAM,CAACM,IAAP,CAAY,8DAAZ,EAA4E6I,SAA5E;AACApJ,IAAAA,GAAG,CAAC0B,iBAAJ,CAAsB0H,SAAtB,EAAiCL,OAAjC;AACA,WAAO,YAAM;AACX,UAAI/I,GAAG,IAAIA,GAAG,CAAC2B,oBAAf,EAAqC;AACnC1B,QAAAA,MAAM,CAACM,IAAP,CAAY,8DAAZ,EAA4E6I,SAA5E;AACApJ,QAAAA,GAAG,CAAC2B,oBAAJ,CAAyByH,SAAzB;AACD;AACF,KALD;AAMD,GA3CQ,EA2CN,CAACnM,WAAD,EAAcrD,mBAAd,CA3CM,CAAT;AA4CD;;AClDD,IAAMyP,cAAc,GAAGC,cAAK,CAACC,UAAN,CAAiB,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,MAEpDC,QAFoD,GAQlDF,KARkD,CAEpDE,QAFoD;AAAA,MAGpDlC,KAHoD,GAQlDgC,KARkD,CAGpDhC,KAHoD;AAAA,MAIpDG,MAJoD,GAQlD6B,KARkD,CAIpD7B,MAJoD;AAAA,MAKpDgC,QALoD,GAQlDH,KARkD,CAKpDG,OALoD;AAAA,MAMpDC,QANoD,GAQlDJ,KARkD,CAMpDI,QANoD;AAAA,MAOpDC,SAPoD,GAQlDL,KARkD,CAOpDK,SAPoD;AAUtD,MAAMC,kBAAkB,GAAGC,KAAK,CAACC,OAAN,CAAcH,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CAAlE;AACA,SACEP;AACE,IAAA,GAAG,EAAEG,GADP;AAEE,IAAA,SAAS,oCAA6BG,QAAQ,GAAG,YAAH,GAAkB,EAAvD,cAA6DE,kBAAkB,CAACG,IAAnB,CAAwB,GAAxB,CAA7D,CAFX;AAGE,IAAA,KAAK,EAAE;AACLzC,MAAAA,KAAK,EAAE,OAAOA,KAAP,KAAiB,QAAjB,aAA+BA,KAAK,CAAC0C,KAAN,CAAY,CAAZ,EAAe,CAAC,CAAhB,IAAqB,CAApD,oBAA+D1C,KAAK,GAAG,CAAvE,OADF;AAELG,MAAAA,MAAM,EAAE,OAAOA,MAAP,KAAkB,QAAlB,aAAgCA,MAAM,CAACuC,KAAP,CAAa,CAAb,EAAgB,CAAC,CAAjB,IAAsB,CAAtD,oBAAiEvC,MAAM,GAAG,CAA1E;AAFH,KAHT;AAOE,IAAA,OAAO,EAAE,iBAACzF,CAAD;AAAA,aAAOyH,QAAO,CAACzH,CAAD,CAAd;AAAA,KAPX;AAQE,IAAA,IAAI,EAAC,QARP;AASE,IAAA,SAAS,EAAE,mBAACA,CAAD;AAAA,aAAOyH,QAAO,CAACzH,CAAD,CAAd;AAAA,KATb;AAUE,IAAA,QAAQ,EAAE;AAVZ,KAYEoH;AAAK,IAAA,SAAS,EAAC;AAAf,KACGI,QADH,CAZF,CADF;AAkBD,CA7BsB,CAAvB;AA+BAL,cAAc,CAACc,SAAf,GAA2B;AACzBT,EAAAA,QAAQ,EAAEU,SAAS,CAACC,OAAV,CAAkBC,UADH;AAEzBX,EAAAA,OAAO,EAAES,SAAS,CAACG,IAFM;AAGzBX,EAAAA,QAAQ,EAAEQ,SAAS,CAACI,IAHK;AAIzBhD,EAAAA,KAAK,EAAE4C,SAAS,CAACK,SAAV,CAAoB,CACzBL,SAAS,CAACM,MADe,EAEzBN,SAAS,CAACO,MAFe,CAApB,CAJkB;AAQzBhD,EAAAA,MAAM,EAAEyC,SAAS,CAACK,SAAV,CAAoB,CAC1BL,SAAS,CAACM,MADgB,EAE1BN,SAAS,CAACO,MAFgB,CAApB,CARiB;AAYzBd,EAAAA,SAAS,EAAEO,SAAS,CAACK,SAAV,CAAoB,CAC7BL,SAAS,CAACO,MADmB,EAE7BP,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAACO,MAA5B,CAF6B,CAApB;AAZc,CAA3B;AAkBAtB,cAAc,CAACwB,YAAf,GAA8B;AAC5BjB,EAAAA,QAAQ,EAAE,KADkB;AAE5BpC,EAAAA,KAAK,EAAE,MAFqB;AAG5BG,EAAAA,MAAM,EAAE,MAHoB;AAI5BgC,EAAAA,OAAO,EAAE,mBAAM,EAJa;AAK5BE,EAAAA,SAAS,EAAE;AALiB,CAA9B;;AC/Ce,SAASiB,yBAAT,cAOZ;AAAA,MANDhQ,cAMC,QANDA,cAMC;AAAA,MANeiQ,cAMf,QANeA,cAMf;AAAA,MAJDtH,WAIC,SAJDA,WAIC;AAAA,MAHDxD,MAGC,SAHDA,MAGC;AAAA,MAFD9D,MAEC,SAFDA,MAEC;AAAA,MADD6O,YACC,SADDA,YACC;AACD,SAAOC,aAAO,CAAC;AAAA,WAAM,iBAMf;AAAA,UALJC,SAKI,SALJA,SAKI;AAAA,UAJJC,gBAII,SAJJA,gBAII;AAAA,UAHJjU,OAGI,SAHJA,OAGI;AAAA,UAFJkU,aAEI,SAFJA,aAEI;AAAA,wCADJC,gBACI;AAAA,UADJA,gBACI,sCADe,EACf;;AACJ,UAAI,CAAC5H,WAAD,IAAgB,EAAEyH,SAAS,IAAIC,gBAAb,IAAiCjU,OAAjC,IAA4CkU,aAA9C,CAApB,EAAkF;AAChFnL,QAAAA,MAAM,CAACY,OAAP,CAAe,mDAAf;AACA,eAAO,IAAP;AACD;;AAED,aACEyI,6BAACgC,oBAAD;AACE,QAAA,SAAS,EAAEJ,SADb;AAEE,QAAA,gBAAgB,EAAEC,gBAFpB;AAGE,QAAA,aAAa,EAAEC,aAHjB;AAIE,QAAA,gBAAgB,EAAEC;AAJpB,SAOIL,YAAY,CAAC5N,GAAb,CAAiB,UAACmO,KAAD,EAAW;AAC1B,YAAMC,eAAe,GAAGtU,OAAO,CAACuU,SAAR,CACrBhQ,MADqB,CACd,UAACiQ,QAAD;AAAA,iBAAcA,QAAQ,CAAC5P,GAAT,KAAiByP,KAAK,CAACzP,GAArC;AAAA,SADc,EAC4B,CAD5B,CAAxB;AAEA,YAAM6P,SAAS,GAAGH,eAAe,GAC7B,EAAEA,eAAe,CAACI,OAAhB,CAAwBlM,OAAxB,CAAgCvD,MAAhC,IAA0C,CAA5C,CAD6B,GAE7B,KAFJ;AAGA,eACEmN,6BAAC,cAAD;AACE,UAAA,GAAG,EAAEiC,KAAK,CAACzP,GADb;AAEE,UAAA,KAAK,EAAC,MAFR;AAGE,UAAA,MAAM,EAAC,MAHT;AAIE,UAAA,QAAQ,EAAE6P,SAJZ;AAKE,UAAA,OAAO,EAAE,mBAAM;AACbP,YAAAA,aAAa;AACbL,YAAAA,cAAc,CAAC7T,OAAD,EAAUqU,KAAK,CAACzP,GAAhB,EAAqB6P,SAArB,CAAd;AACD;AARH,WAUErC,6BAACuC,mBAAD;AACE,UAAA,GAAG,EAAEN,KAAK,CAACjS,GADb;AAEE,UAAA,KAAK,EAAC,MAFR;AAGE,UAAA,MAAM,EAAC,MAHT;AAIE,UAAA,gBAAgB,EACdgQ,6BAACwC,UAAD;AAAM,YAAA,KAAK,EAAC,MAAZ;AAAmB,YAAA,MAAM,EAAC,MAA1B;AAAiC,YAAA,IAAI,EAAEC,eAAS,CAACC;AAAjD;AALJ,UAVF,CADF;AAqBD,OA3BD,CAPJ,CADF;AAuCD,KAnDc;AAAA,GAAD,EAmDX,CAAClR,cAAD,EAAiBiQ,cAAjB,CAnDW,CAAd;AAoDD;;ACjEc,SAASkB,yBAAT,cAAwE;AAAA,MAAnCrS,mBAAmC,QAAnCA,mBAAmC;AAAA,MAAVqG,MAAU,SAAVA,MAAU;AACrF,SAAO4D,iBAAW,CAAC,UAAC3M,OAAD,EAAU4E,GAAV,EAAe6P,SAAf,EAA6B;AAC9C,QAAIA,SAAJ,EAAe;AACb/R,MAAAA,mBAAmB,CAACsS,cAApB,CAAmChV,OAAnC,EAA4C4E,GAA5C,EACGiG,IADH,CACQ,UAACiE,GAAD,EAAS;AACb/F,QAAAA,MAAM,CAACM,IAAP,CAAY,yBAAZ,EAAuCyF,GAAvC;AACD,OAHH,EAIG/D,KAJH,CAIS,UAACI,GAAD,EAAS;AACdpC,QAAAA,MAAM,CAACY,OAAP,CAAe,wBAAf,EAAyCwB,GAAzC;AACD,OANH;AAOA;AACD;;AACDzI,IAAAA,mBAAmB,CAACuS,WAApB,CAAgCjV,OAAhC,EAAyC4E,GAAzC,EACGiG,IADH,CACQ,UAACiE,GAAD,EAAS;AACb/F,MAAAA,MAAM,CAACM,IAAP,CAAY,sBAAZ,EAAoCyF,GAApC;AACD,KAHH,EAIG/D,KAJH,CAIS,UAACI,GAAD,EAAS;AACdpC,MAAAA,MAAM,CAACY,OAAP,CAAe,qBAAf,EAAsCwB,GAAtC;AACD,KANH;AAOD,GAlBiB,EAkBf,CAACzI,mBAAD,CAlBe,CAAlB;AAmBD;;ACTc,SAASwS,aAAT,OAIZ;AAAA,MAHDlV,OAGC,QAHDA,OAGC;AAAA,MAFDmV,MAEC,QAFDA,MAEC;AAAA,MADDxC,SACC,QADDA,SACC;AACD,MAAMC,kBAAkB,GAAIC,KAAK,CAACC,OAAN,CAAcH,SAAd,CAAD,GAA6BA,SAA7B,GAAyC,CAACA,SAAD,CAApE;;AACA,MAAMyC,KAAK,GAAG,SAARA,KAAQ,GAAM;AAClB,YAAQD,MAAR;AACE,WAAKvS,sBAAiB,CAAC/C,MAAvB;AACA,WAAK+C,sBAAiB,CAAC9C,OAAvB;AAAgC;AAC9B,iBAAO,IAAP;AACD;;AACD,WAAK8C,sBAAiB,CAACC,IAAvB;AACA,WAAKD,sBAAiB,CAACO,SAAvB;AACA,WAAKP,sBAAiB,CAACI,IAAvB;AAA6B;AAC3B,iBACEoP,6BAACiD,WAAD;AACE,YAAA,SAAS,EAAC,+BADZ;AAEE,YAAA,IAAI,EAAEC,qBAAe,CAACC,SAFxB;AAGE,YAAA,KAAK,EAAEC,iBAAW,CAACC;AAHrB,aAKGtQ,yBAAmB,CAACnF,OAAD,CALtB,CADF;AASD;;AACD;AAAS,eAAO,IAAP;AAlBX;AAoBD,GArBD;;AAuBA,MAAM0V,IAAI,GAAG;AACX5V,IAAAA,OAAO,EACLsS,6BAACuD,YAAD;AAAQ,MAAA,SAAS,EAAC,+BAAlB;AAAkD,MAAA,KAAK,EAAC,MAAxD;AAA+D,MAAA,MAAM,EAAC;AAAtE,OACEvD,6BAACwC,UAAD;AAAM,MAAA,IAAI,EAAEC,eAAS,CAACe,OAAtB;AAA+B,MAAA,KAAK,EAAC,MAArC;AAA4C,MAAA,MAAM,EAAC;AAAnD,MADF,CAFS;AAMX/S,IAAAA,IAAI,EAAEuP,6BAACwC,UAAD;AAAM,MAAA,SAAS,EAAC,+BAAhB;AAAgD,MAAA,KAAK,EAAC,MAAtD;AAA6D,MAAA,MAAM,EAAC,MAApE;AAA2E,MAAA,IAAI,EAAEC,eAAS,CAAChS,IAA3F;AAAiG,MAAA,SAAS,EAAEgT,gBAAU,CAAChT;AAAvH,MANK;AAOXM,IAAAA,SAAS,EAAEiP,6BAACwC,UAAD;AAAM,MAAA,SAAS,EAAC,+BAAhB;AAAgD,MAAA,KAAK,EAAC,MAAtD;AAA6D,MAAA,MAAM,EAAC,MAApE;AAA2E,MAAA,IAAI,EAAEC,eAAS,CAAC1R,SAA3F;AAAsG,MAAA,SAAS,EAAE0S,gBAAU,CAAChT;AAA5H,MAPA;AAQXG,IAAAA,IAAI,EAAEoP,6BAACwC,UAAD;AAAM,MAAA,SAAS,EAAC,+BAAhB;AAAgD,MAAA,KAAK,EAAC,MAAtD;AAA6D,MAAA,MAAM,EAAC,MAApE;AAA2E,MAAA,IAAI,EAAEC,eAAS,CAAC7R,IAA3F;AAAiG,MAAA,SAAS,EAAE6S,gBAAU,CAAC7S;AAAvH,MARK;AASXnD,IAAAA,MAAM,EAAEuS,6BAACwC,UAAD;AAAM,MAAA,SAAS,EAAC,+BAAhB;AAAgD,MAAA,KAAK,EAAC,MAAtD;AAA6D,MAAA,MAAM,EAAC,MAApE;AAA2E,MAAA,IAAI,EAAEC,eAAS,CAACiB;AAA3F;AATG,GAAb;AAYA,SACE1D;AAAK,IAAA,SAAS,EAAE,iDAAIQ,kBAAJ,IAAwB,yBAAxB,GAAmDG,IAAnD,CAAwD,GAAxD;AAAhB,KACG2C,IAAI,CAACP,MAAD,CADP,EAEE/C,wCAFF,EAGGgD,KAAK,CAACD,AAAD,CAHR,CADF;AAOD;AAEDD,aAAa,CAACjC,SAAd,GAA0B;AACxBjT,EAAAA,OAAO,EAAEkT,SAAS,CAAC6C,QAAV,CAAmB7C,SAAS,CAACK,SAAV,CAAoB,CAC9CL,SAAS,CAACO,MADoC,EAE9CP,SAAS,CAACM,MAFoC,EAG9CN,SAAS,CAACI,IAHoC,EAI9CJ,SAAS,CAAC8C,KAJoC,EAK9C9C,SAAS,CAAC+C,MALoC,CAApB,CAAnB,CADe;AAQxBd,EAAAA,MAAM,EAAEjC,SAAS,CAACO,MARM;AASxBd,EAAAA,SAAS,EAAEO,SAAS,CAACK,SAAV,CAAoB,CAC7BL,SAAS,CAACO,MADmB,EAE7BP,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAACO,MAA5B,CAF6B,CAApB;AATa,CAA1B;AAeAyB,aAAa,CAACvB,YAAd,GAA6B;AAC3B3T,EAAAA,OAAO,EAAE,IADkB;AAE3BmV,EAAAA,MAAM,EAAE,EAFmB;AAG3BxC,EAAAA,SAAS,EAAE;AAHgB,CAA7B;;ACxEA,IAAMuD,aAAa,GAAG9D,cAAK,CAACC,UAAN,CAAiB,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,MAEnDI,SAFmD,GAQjDL,KARiD,CAEnDK,SAFmD;AAAA,MAGnDH,QAHmD,GAQjDF,KARiD,CAGnDE,QAHmD;AAAA,MAInD2D,KAJmD,GAQjD7D,KARiD,CAInD6D,KAJmD;AAAA,MAKnDzD,QALmD,GAQjDJ,KARiD,CAKnDI,QALmD;AAAA,MAMnD0D,KANmD,GAQjD9D,KARiD,CAMnD8D,KANmD;AAAA,MAOnD3D,OAPmD,GAQjDH,KARiD,CAOnDG,OAPmD;AAUrD,MAAMG,kBAAkB,GAAGC,KAAK,CAACC,OAAN,CAAcH,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CAAlE;;AACA,MAAID,QAAQ,IAAI,CAAC0D,KAAjB,EAAwB;AACtBxD,IAAAA,kBAAkB,CAACyD,OAAnB,CAA2B,mCAA3B;AACD,GAFD,MAEO,IAAID,KAAJ,EAAW;AAChBxD,IAAAA,kBAAkB,CAACxO,IAAnB,CAAwB,iCAAxB;AACD,GAFM,MAEA;AACLwO,IAAAA,kBAAkB,CAACyD,OAAnB,CAA2B,yBAA3B;AACD;;AAED,SACEjE;AACE,IAAA,GAAG,EAAEG,GADP;AAEE,IAAA,QAAQ,EAAE,CAFZ;AAGE,IAAA,IAAI,EAAC,QAHP;AAIE,IAAA,SAAS,EAAEK,kBAAkB,CAACG,IAAnB,CAAwB,GAAxB,CAJb;AAKE,IAAA,OAAO,EAAEN,OALX;AAME,IAAA,SAAS,EAAEA;AANb,KAQEL;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA;AAAK,IAAA,SAAS,EAAC;AAAf,KACGI,QADH,CADF,EAIEJ,6BAACiD,WAAD;AAAO,IAAA,SAAS,EAAE7C,QAAQ,IAAI2D,KAAZ,GAAoB,uCAApB,GAA8D,EAAhF;AAAoF,IAAA,IAAI,EAAEb,qBAAe,CAACC,SAA1G;AAAqH,IAAA,KAAK,EAAEC,iBAAW,CAACc;AAAxI,KACGH,KADH,CAJF,CARF,CADF;AAmBD,CAtCqB,CAAtB;AAwCAD,aAAa,CAACjD,SAAd,GAA0B;AACxBT,EAAAA,QAAQ,EAAEU,SAAS,CAACC,OAAV,CAAkBC,UADJ;AAExB+C,EAAAA,KAAK,EAAEjD,SAAS,CAACK,SAAV,CAAoB,CACzBL,SAAS,CAACM,MADe,EAEzBN,SAAS,CAACO,MAFe,CAApB,CAFiB;AAMxBf,EAAAA,QAAQ,EAAEQ,SAAS,CAACI,IANI;AAOxBX,EAAAA,SAAS,EAAEO,SAAS,CAACK,SAAV,CAAoB,CAC7BL,SAAS,CAACO,MADmB,EAE7BP,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAACO,MAA5B,CAF6B,CAApB,CAPa;AAWxB2C,EAAAA,KAAK,EAAElD,SAAS,CAACI,IAXO;AAYxBb,EAAAA,OAAO,EAAES,SAAS,CAACG;AAZK,CAA1B;AAeA6C,aAAa,CAACvC,YAAd,GAA6B;AAC3BhB,EAAAA,SAAS,EAAE,EADgB;AAE3BwD,EAAAA,KAAK,EAAE,EAFoB;AAG3BzD,EAAAA,QAAQ,EAAE,KAHiB;AAI3B0D,EAAAA,KAAK,EAAE,KAJoB;AAK3B3D,EAAAA,OAAO,EAAE,mBAAM;AALY,CAA7B;;ACtDA,IAAM8D,UAAU,GAAG,kBAAnB;AAEA,AAAe,SAASC,OAAT,OAGZ;AAAA,MAFD7D,SAEC,QAFDA,SAEC;AAAA,MADDH,QACC,QADDA,QACC;AACD,MAAMI,kBAAkB,GAAGC,KAAK,CAACC,OAAN,CAAcH,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CAAlE;AACAC,EAAAA,kBAAkB,CAACyD,OAAnB,CAA2BE,UAA3B;AAEA,SACEnE;AAAK,IAAA,SAAS,EAAEQ,kBAAkB,CAACG,IAAnB,CAAwB,GAAxB;AAAhB,KACEX,6BAACiD,WAAD;AACE,IAAA,SAAS,YAAKkB,UAAL;AADX,KAGG/D,QAHH,CADF,CADF;AASD;AAEDgE,OAAO,CAACvD,SAAR,GAAoB;AAClBN,EAAAA,SAAS,EAAEO,SAAS,CAACO,MADH;AAElBjB,EAAAA,QAAQ,EAAEU,SAAS,CAACK,SAAV,CAAoB,CAC5BL,SAAS,CAACC,OADkB,EAE5BD,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAACO,MAA5B,CAF4B,EAG5BP,SAAS,CAACO,MAHkB,CAApB;AAFQ,CAApB;AASA+C,OAAO,CAAC7C,YAAR,GAAuB;AACrBhB,EAAAA,SAAS,EAAE,EADU;AAErBH,EAAAA,QAAQ,EAAE;AAFW,CAAvB;;AC/BA,IAAM+D,YAAU,GAAG,0BAAnB;AACA,IAAME,kBAAkB,GAAG,CAA3B;AAEA,AAAe,SAASC,cAAT,OAKZ;AAAA,MAJD/D,SAIC,QAJDA,SAIC;AAAA,MAHDH,QAGC,QAHDA,QAGC;AAAA,MAFDmE,YAEC,QAFDA,YAEC;AACD,MAAM/D,kBAAkB,GAAGC,KAAK,CAACC,OAAN,CAAcH,SAAd,KACtB4D,YADsB,gDACP5D,SADO,KAEvB,CAAC4D,YAAD,EAAa5D,SAAb,CAFJ;;AADC,kBAI+CiE,cAAQ,CAAC,KAAD,CAJvD;AAAA;AAAA,MAIMC,gBAJN;AAAA,MAIwBC,mBAJxB;;AAKD,MAAMC,WAAW,GAAGvI,YAAM,CAAC,IAAD,CAA1B;AAEA,SACE4D;AACE,IAAA,SAAS,EAAEQ,kBAAkB,CAACG,IAAnB,CAAwB,GAAxB,CADb;AAEE,IAAA,WAAW,EAAE,uBAAM;AAAE+D,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AAA4B,KAFnD;AAGE,IAAA,OAAO,EAAE,mBAAM;AAAEA,MAAAA,mBAAmB,CAAC,IAAD,CAAnB;AAA4B,KAH/C;AAIE,IAAA,UAAU,EAAE,sBAAM;AAAEA,MAAAA,mBAAmB,CAAC,KAAD,CAAnB;AAA6B,KAJnD;AAKE,IAAA,MAAM,EAAE,kBAAM;AAAEA,MAAAA,mBAAmB,CAAC,KAAD,CAAnB;AAA6B;AAL/C,KAOE1E;AACE,IAAA,SAAS,YAAKmE,YAAL,eADX;AAEE,IAAA,GAAG,EAAEQ;AAFP,KAIGvE,QAJH,CAPF,EAcIqE,gBAAgB,IACdzE;AACE,IAAA,SAAS,YAAKmE,YAAL,oBADX;AAEE,IAAA,KAAK,EAAE;AACLS,MAAAA,MAAM,wBAAiBP,kBAAjB;AADD;AAFT,KAMErE;AACE,IAAA,SAAS,YAAKmE,YAAL;AADX,KAGEnE;AACE,IAAA,SAAS,YAAKmE,YAAL,8CADX;AAEE,IAAA,KAAK,EAAE;AACLU,MAAAA,IAAI,EAAEF,WAAW,CAACxN,OAAZ,mBAA+BwN,WAAW,CAACxN,OAAZ,CAAoB2N,WAApB,GAAkC,CAAjE;AADD;AAFT,KAMGP,YANH,CAHF,CANF,CAfN,CADF;AAuCD;AAEDD,cAAc,CAACzD,SAAf,GAA2B;AACzBN,EAAAA,SAAS,EAAEO,SAAS,CAACK,SAAV,CAAoB,CAC7BL,SAAS,CAACO,MADmB,EAE7BP,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAACO,MAA5B,CAF6B,CAApB,CADc;AAKzBjB,EAAAA,QAAQ,EAAEU,SAAS,CAACC,OAAV,CAAkBC,UALH;AAMzBuD,EAAAA,YAAY,EAAEzD,SAAS,CAACK,SAAV,CAAoB,CAChCL,SAAS,CAACC,OADsB,EAEhCD,SAAS,CAACG,IAFsB,CAApB,EAGXD;AATsB,CAA3B;AAWAsD,cAAc,CAAC/C,YAAf,GAA8B;AAC5BhB,EAAAA,SAAS,EAAE;AADiB,CAA9B;;AC3De,SAASwE,cAAT,OAQZ;AAAA,MAPDxE,SAOC,QAPDA,SAOC;AAAA,MAND1N,MAMC,QANDA,MAMC;AAAA,MALDjF,OAKC,QALDA,OAKC;AAAA,MAJDoX,WAIC,QAJDA,WAIC;AAAA,MAHDC,UAGC,QAHDA,UAGC;AAAA,MAFDxD,cAEC,QAFDA,cAEC;AAAA,MADDyD,sBACC,QADDA,sBACC;AACD,MAAM1E,kBAAkB,GAAGC,KAAK,CAACC,OAAN,CAAcH,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CAAlE;AACAC,EAAAA,kBAAkB,CAACyD,OAAnB,CAA2B,0BAA3B;AACA,MAAMkB,sBAAsB,GAAGD,sBAA/B;AACA,MAAME,UAAU,GAAG,MAAnB;AACA,MAAMjH,WAAW,GAAG,MAApB;AACA,MAAMkH,mBAAmB,GAAGjJ,YAAM,CAAC,IAAD,CAAlC;AANC,2BAO0BxO,OAP1B,CAOOuU,SAPP;AAAA,MAOOA,SAPP,mCAOmB,EAPnB;AAQD,MAAMmD,gBAAgB,GAAGnD,SAAzB;;AARC,oBASqBoD,gBAAU,CAACC,uCAAD,CAT/B;AAAA,MASOC,SATP,eASOA,SATP;;AAWD,SACEzF;AAAK,IAAA,SAAS,EAAEQ,kBAAkB,CAACG,IAAnB,CAAwB,GAAxB;AAAhB,KACEX;AAAK,IAAA,SAAS,EAAC;AAAf,KAEIsF,gBAAgB,IACdA,gBAAgB,CAACxR,GAAjB,CAAqB,UAACsO,QAAD,EAAc;AAAA,4BACRA,QADQ,CACzBE,OADyB;AAAA,QACzBA,OADyB,kCACf,EADe;AAEjC,QAAMoD,QAAQ,GAAGV,WAAW,CAACW,GAAZ,CAAgBvD,QAAQ,CAAC5P,GAAzB,KAAiC,EAAlD;AACA,QAAMoT,gBAAgB,GAAGtD,OAAO,CAACzQ,MAAjC;AACA,QAAMgU,WAAW,GAAG,EAAEvD,OAAO,CAAClM,OAAR,CAAgBvD,MAAhB,IAA0B,CAA5B,CAApB;AACA,QAAMiT,SAAS,GAAGxD,OAAO,CACtBnQ,MADe,CACR,UAAC4T,aAAD;AAAA,aAAmBA,aAAa,KAAKlT,MAArC;AAAA,KADQ,EAEfiB,GAFe,CAEX,UAACiS,aAAD;AAAA,aACHd,UAAU,CAACU,GAAX,CAAeI,aAAf,KAAiCN,SAAS,CAACO,oBADxC;AAAA,KAFW,CAAlB;AAKA,QAAMC,cAAc,GAAIH,SAAS,CAACjU,MAAV,GAAmB,CAApB,GACnB4T,SAAS,CAACS,gBADS,GACUT,SAAS,CAACU,YAD3C;AAEA,WACEnG,6BAAC,cAAD;AACE,MAAA,SAAS,EAAC,0CADZ;AAEE,MAAA,GAAG,EAAEoC,QAAQ,CAAC5P,GAFhB;AAGE,MAAA,YAAY,EACV8P,OAAO,CAACzQ,MAAR,GAAiB,CAAjB,IACEmO,6BAAC,OAAD,QACEA,sEAGM8F,SAAS,CAACnF,IAAV,CAAe,IAAf,CAHN,SAKMkF,WAAW,GACPI,cADO,GAEP,EAPV,EADF;AALN,OAqBEjG,6BAAC,aAAD;AACE,MAAA,KAAK,EAAE4F,gBADT;AAEE,MAAA,QAAQ,EAAEC,WAFZ;AAGE,MAAA,OAAO,EAAE;AAAA,eAAMpE,cAAc,CAAC7T,OAAD,EAAUwU,QAAQ,CAAC5P,GAAnB,EAAwBqT,WAAxB,CAApB;AAAA;AAHX,OAKE7F,6BAACuC,mBAAD;AACE,MAAA,MAAM,MADR;AAEE,MAAA,GAAG,EAAEmD,QAFP;AAGE,MAAA,KAAK,EAAEN,UAHT;AAIE,MAAA,MAAM,EAAEjH,WAJV;AAKE,MAAA,gBAAgB,EACd6B,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAE4C,UADT;AAEE,QAAA,MAAM,EAAEjH,WAFV;AAGE,QAAA,IAAI,EAAEsE,eAAS,CAACC;AAHlB;AANJ,MALF,CArBF,CADF;AA2CD,GAvDD,CAHN,EA8DK4C,gBAAgB,CAACzT,MAAjB,GAA0BmT,WAAW,CAACoB,IAAvC,IAEEpG,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC,aAAD;AACE,QAAA,KAAK,MADP;AAEE,QAAA,OAAO,EAAEsG,cAFX;AAGE,QAAA,SAAS,EAAC,8CAHZ;AAIE,QAAA,GAAG,EAAEjB;AAJP,SAMErF,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAE4C,UADT;AAEE,QAAA,MAAM,EAAEjH,WAFV;AAGE,QAAA,SAAS,EAAEsF,gBAAU,CAAC8C,eAHxB;AAIE,QAAA,IAAI,EAAE9D,eAAS,CAAC+D;AAJlB,QANF,CADW;AAAA,KADf;AAgBE,IAAA,SAAS,EAAE,mBAAC1E,aAAD;AAAA,aACT9B,6BAAC,sBAAD;AACE,QAAA,OAAO,EAAEpS,OADX;AAEE,QAAA,SAAS,EAAEyX,mBAFb;AAGE,QAAA,gBAAgB,EAAEA,mBAHpB;AAIE,QAAA,aAAa,EAAEvD,aAJjB;AAKE,QAAA,gBAAgB,EAAE;AAAE2E,UAAAA,CAAC,EAAE;AAAL;AALpB,QADS;AAAA;AAhBb,IAhEN,CADF,CADF;AAiGD;AAED1B,cAAc,CAAClE,SAAf,GAA2B;AACzBhO,EAAAA,MAAM,EAAEiO,SAAS,CAACO,MADO;AAEzBd,EAAAA,SAAS,EAAEO,SAAS,CAACK,SAAV,CAAoB,CAC7BL,SAAS,CAACO,MADmB,EAE7BP,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAACO,MAA5B,CAF6B,CAApB,CAFc;AAMzBzT,EAAAA,OAAO,EAAEkT,SAAS,CAAC4F,KAAV,CAAgB;AACvBvE,IAAAA,SAAS,EAAErB,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAAC4F,KAAV,CAAgB,EAAhB,CAAlB;AADY,GAAhB,EAEN1F,UARsB;AASzBgE,EAAAA,WAAW,EAAElE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,EAA0BsR,UATd;AAUzBiE,EAAAA,UAAU,EAAEnE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CAVa;AAWzB+R,EAAAA,cAAc,EAAEX,SAAS,CAACG,IAXD;AAYzBiE,EAAAA,sBAAsB,EAAEpE,SAAS,CAACG;AAZT,CAA3B;AAcA8D,cAAc,CAACxD,YAAf,GAA8B;AAC5BhB,EAAAA,SAAS,EAAE,EADiB;AAE5B0E,EAAAA,UAAU,EAAE,IAAIvV,GAAJ,EAFgB;AAG5BmD,EAAAA,MAAM,EAAE,EAHoB;AAI5B4O,EAAAA,cAAc,EAAE,0BAAM,EAJM;AAK5ByD,EAAAA,sBAAsB,EAAE;AAAA,WAAM,EAAN;AAAA;AALI,CAA9B;;AC3IA,IAAM0B,eAAe,GAAG1D,qBAAe,CAAC2D,MAAxC;AACA,IAAMC,YAAY,GAAG1D,iBAAW,CAACC,cAAjC;AAEA,AAAe,SAAS0D,sBAAT,OAIZ;AAAA,MAHDnZ,OAGC,QAHDA,OAGC;AAAA,MAFDoZ,SAEC,QAFDA,SAEC;AAAA,MADDzG,SACC,QADDA,SACC;;AAAA,oBACqBgF,gBAAU,CAACC,uCAAD,CAD/B;AAAA,MACOC,SADP,eACOA,SADP;;AAED,SAAO9D,aAAO,CAAC;AAAA,WAAM,YAAM;AACzB,UAAMsF,YAAY,GAAGrZ,OAAO,CAACsZ,KAAR,CAAc,IAAd,CAArB;AACA,UAAMC,cAAc,GAAGF,YAAY,CAChCnT,GADoB,CAChB,UAACsT,IAAD;AAAA,eAAWA,IAAI,KAAK,EAAT,GAAcA,IAAd,GAAqBpH,wCAAhC;AAAA,OADgB,CAAvB;;AAEA,UAAIgH,SAAS,GAAG,CAAhB,EAAmB;AACjBG,QAAAA,cAAc,CAACnV,IAAf,CACEgO,6BAACiD,WAAD;AACE,UAAA,GAAG,EAAElM,4BAAM,EADb;AAEE,UAAA,SAAS,EAAEwJ,SAFb;AAGE,UAAA,IAAI,EAAEqG,eAHR;AAIE,UAAA,KAAK,EAAEE;AAJT,sBAMOrB,SAAS,CAAC4B,cANjB,OADF;AAUD;;AACD,aAAOF,cAAP;AACD,KAjBc;AAAA,GAAD,EAiBX,CAACvZ,OAAD,EAAUoZ,SAAV,EAAqBzG,SAArB,CAjBW,CAAd;AAkBD;;AC/BD,IAAM+G,WAAW,GAAG,YAApB;AACA,IAAMC,WAAW,GAAG,YAApB;;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,OAGhB;AAAA,MAFJrH,GAEI,QAFJA,GAEI;AAAA,MADJsH,QACI,QADJA,QACI;;AACJ,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,QAAIvH,GAAG,CAAChJ,OAAR,EAAiB;AACfsQ,MAAAA,QAAQ,CAAC,IAAD,CAAR;AACD;AACF,GAJD;;AAKA,MAAME,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,QAAIxH,GAAG,CAAChJ,OAAR,EAAiB;AACfsQ,MAAAA,QAAQ,CAAC,KAAD,CAAR;AACD;AACF,GAJD;;AAMA5Q,EAAAA,eAAS,CAAC,YAAM;AAAA,QACNM,OADM,GACMgJ,GADN,CACNhJ,OADM;AAEdA,IAAAA,OAAO,CAACyQ,gBAAR,CAAyBN,WAAzB,EAAsCI,eAAtC;AACAvQ,IAAAA,OAAO,CAACyQ,gBAAR,CAAyBL,WAAzB,EAAsCI,cAAtC;AACA,WAAO,YAAM;AACXxQ,MAAAA,OAAO,CAAC0Q,mBAAR,CAA4BP,WAA5B,EAAyCI,eAAzC;AACAvQ,MAAAA,OAAO,CAAC0Q,mBAAR,CAA4BN,WAA5B,EAAyCI,cAAzC;AACD,KAHD;AAID,GARQ,CAAT;AASD,CAxBD;;ACkBA,IAAMG,IAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB;;AACA,IAAMC,gBAAgB,GAAG,KAAzB;AACA,IAAMC,cAAc,GAAG,KAAvB;AAEA,AAAe,SAASC,OAAT,CAAiB/H,KAAjB,EAAwB;AAAA,MAEnCgI,MAFmC,GAkBjChI,KAlBiC,CAEnCgI,MAFmC;AAAA,MAGnCrV,MAHmC,GAkBjCqN,KAlBiC,CAGnCrN,MAHmC;AAAA,MAInCjF,OAJmC,GAkBjCsS,KAlBiC,CAInCtS,OAJmC;AAAA,MAKnC2S,SALmC,GAkBjCL,KAlBiC,CAKnCK,SALmC;AAAA,MAMnC4H,aANmC,GAkBjCjI,KAlBiC,CAMnCiI,aANmC;AAAA,MAOnCC,QAPmC,GAkBjClI,KAlBiC,CAOnCkI,QAPmC;AAAA,MAQnCC,QARmC,GAkBjCnI,KAlBiC,CAQnCmI,QARmC;AAAA,MASnCC,UATmC,GAkBjCpI,KAlBiC,CASnCoI,UATmC;AAAA,MAUnCvF,MAVmC,GAkBjC7C,KAlBiC,CAUnC6C,MAVmC;AAAA,MAWnC5I,WAXmC,GAkBjC+F,KAlBiC,CAWnC/F,WAXmC;AAAA,MAYnC6K,WAZmC,GAkBjC9E,KAlBiC,CAYnC8E,WAZmC;AAAA,MAanCC,UAbmC,GAkBjC/E,KAlBiC,CAanC+E,UAbmC;AAAA,MAcnCxD,cAdmC,GAkBjCvB,KAlBiC,CAcnCuB,cAdmC;AAAA,MAenCyD,sBAfmC,GAkBjChF,KAlBiC,CAenCgF,sBAfmC;AAAA,MAgBnCqD,QAhBmC,GAkBjCrI,KAlBiC,CAgBnCqI,QAhBmC;AAAA,MAiBnCC,WAjBmC,GAkBjCtI,KAlBiC,CAiBnCsI,WAjBmC;AAoBrC,MAAI,CAAC5a,OAAL,EAAc,OAAO,IAAP;AACd,MAAM4S,kBAAkB,GAAIC,KAAK,CAACC,OAAN,CAAcH,SAAd,CAAD,GAA6BA,SAA7B,GAAyC,CAACA,SAAD,CAApE;AACAC,EAAAA,kBAAkB,CAACxO,IAAnB,2BAA2CkW,MAAM,GAAG,YAAH,GAAkB,YAAnE;AACA,MAAMO,mBAAmB,GAAG1B,sBAAsB,CAAC;AACjDnZ,IAAAA,OAAO,EAAEA,OAAO,CAACA,OADgC;AAEjDoZ,IAAAA,SAAS,EAAEpZ,OAAO,CAACoZ,SAF8B;AAGjDzG,IAAAA,SAAS,EAAE;AAHsC,GAAD,CAAlD;AAMA,SACEP;AAAK,IAAA,SAAS,EAAE,iDAAIQ,kBAAJ,IAAwB,kBAAxB,GAA4CG,IAA5C,CAAiD,GAAjD;AAAhB,KAEIuH,MAAM,GAEFlI,6BAAC,mBAAD;AACE,IAAA,MAAM,EAAEnN,MADV;AAEE,IAAA,OAAO,EAAEjF,OAFX;AAGE,IAAA,aAAa,EAAEua,aAHjB;AAIE,IAAA,QAAQ,EAAEC,QAJZ;AAKE,IAAA,QAAQ,EAAEC,QALZ;AAME,IAAA,UAAU,EAAEC,UANd;AAOE,IAAA,MAAM,EAAEvF,MAPV;AAQE,IAAA,WAAW,EAAE5I,WARf;AASE,IAAA,WAAW,EAAE6K,WATf;AAUE,IAAA,UAAU,EAAEC,UAVd;AAWE,IAAA,cAAc,EAAExD,cAXlB;AAYE,IAAA,mBAAmB,EAAEgH,mBAZvB;AAaE,IAAA,sBAAsB,EAAEvD,sBAb1B;AAcE,IAAA,QAAQ,EAAEqD,QAdZ;AAeE,IAAA,WAAW,EAAEC;AAff,IAFE,GAqBFxI,6BAAC,mBAAD;AACE,IAAA,MAAM,EAAEnN,MADV;AAEE,IAAA,OAAO,EAAEjF,OAFX;AAGE,IAAA,WAAW,EAAEuM,WAHf;AAIE,IAAA,WAAW,EAAE6K,WAJf;AAKE,IAAA,UAAU,EAAEC,UALd;AAME,IAAA,cAAc,EAAExD,cANlB;AAOE,IAAA,mBAAmB,EAAEgH,mBAPvB;AAQE,IAAA,sBAAsB,EAAEvD,sBAR1B;AASE,IAAA,QAAQ,EAAEqD,QATZ;AAUE,IAAA,WAAW,EAAEC;AAVf,IAvBR,CADF;AAwCD;AAEDP,OAAO,CAACpH,SAAR,GAAoB;AAClBqH,EAAAA,MAAM,EAAEpH,SAAS,CAACI,IADA;AAElBkH,EAAAA,QAAQ,EAAEtH,SAAS,CAACI,IAFF;AAGlBrO,EAAAA,MAAM,EAAEiO,SAAS,CAACO,MAHA;AAIlBzT,EAAAA,OAAO,EAAEkT,SAAS,CAAC6C,QAAV,CAAmB7C,SAAS,CAACK,SAAV,CAAoB,CAC9CL,SAAS,CAACO,MADoC,EAE9CP,SAAS,CAACM,MAFoC,EAG9CN,SAAS,CAACI,IAHoC,EAI9CJ,SAAS,CAAC8C,KAJoC,EAK9C9C,SAAS,CAAC+C,MALoC,CAApB,CAAnB,EAML7C,UAVc;AAWlBT,EAAAA,SAAS,EAAEO,SAAS,CAACK,SAAV,CAAoB,CAC7BL,SAAS,CAACO,MADmB,EAE7BP,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAACO,MAA5B,CAF6B,CAApB,CAXO;AAelBgH,EAAAA,QAAQ,EAAEvH,SAAS,CAACG,IAfF;AAgBlB8B,EAAAA,MAAM,EAAEjC,SAAS,CAACO,MAhBA;AAiBlBiH,EAAAA,UAAU,EAAExH,SAAS,CAACG,IAjBJ;AAkBlBkH,EAAAA,aAAa,EAAErH,SAAS,CAACG,IAlBP;AAmBlB9G,EAAAA,WAAW,EAAE2G,SAAS,CAACI,IAAV,CAAeF,UAnBV;AAoBlBgE,EAAAA,WAAW,EAAElE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CApBK;AAqBlBuV,EAAAA,UAAU,EAAEnE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CArBM;AAsBlB+R,EAAAA,cAAc,EAAEX,SAAS,CAACG,IAtBR;AAuBlBiE,EAAAA,sBAAsB,EAAEpE,SAAS,CAACG,IAvBhB;AAwBlBsH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IAxBF;AAyBlBsH,EAAAA,WAAW,EAAE1H,SAAS,CAACI;AAzBL,CAApB;AA4BA+G,OAAO,CAAC1G,YAAR,GAAuB;AACrB2G,EAAAA,MAAM,EAAE,KADa;AAErBE,EAAAA,QAAQ,EAAE,KAFW;AAGrBvV,EAAAA,MAAM,EAAE,EAHa;AAIrBsV,EAAAA,aAAa,EAAEL,IAJM;AAKrBvH,EAAAA,SAAS,EAAE,EALU;AAMrB8H,EAAAA,QAAQ,EAAEP,IANW;AAOrBQ,EAAAA,UAAU,EAAER,IAPS;AAQrB/E,EAAAA,MAAM,EAAE,EARa;AASrBiC,EAAAA,WAAW,EAAE,IAAItV,GAAJ,EATQ;AAUrBuV,EAAAA,UAAU,EAAE,IAAIvV,GAAJ,EAVS;AAWrB+R,EAAAA,cAAc,EAAEqG,IAXK;AAYrB5C,EAAAA,sBAAsB,EAAE;AAAA,WAAM,EAAN;AAAA,GAZH;AAarBqD,EAAAA,QAAQ,EAAE,KAbW;AAcrBC,EAAAA,WAAW,EAAE;AAdQ,CAAvB;;AAiBA,SAASE,mBAAT,OAgBG;AAAA,MAfD7V,MAeC,QAfDA,MAeC;AAAA,MAdDjF,OAcC,QAdDA,OAcC;AAAA,MAbDya,QAaC,QAbDA,QAaC;AAAA,MAZDD,QAYC,QAZDA,QAYC;AAAA,MAXDE,UAWC,QAXDA,UAWC;AAAA,MAVDvF,MAUC,QAVDA,MAUC;AAAA,MATDoF,aASC,QATDA,aASC;AAAA,MARDhO,WAQC,QARDA,WAQC;AAAA,MAPD6K,WAOC,QAPDA,WAOC;AAAA,MANDC,UAMC,QANDA,UAMC;AAAA,MALDxD,cAKC,QALDA,cAKC;AAAA,MAJDgH,mBAIC,QAJDA,mBAIC;AAAA,MAHDvD,sBAGC,QAHDA,sBAGC;AAAA,MAFDqD,QAEC,QAFDA,QAEC;AAAA,MADDC,WACC,QADDA,WACC;AACD,MAAMG,mBAAmB,GAAGF,mBAA5B;AACA,MAAMtD,sBAAsB,GAAGD,sBAA/B,CAFC;;AAID,MAAM0D,UAAU,GAAGxM,YAAM,CAAC,IAAD,CAAzB;AACA,MAAMyM,kBAAkB,GAAGzM,YAAM,CAAC,IAAD,CAAjC;AACA,MAAM0M,cAAc,GAAG1M,YAAM,CAAC,IAAD,CAA7B;AACA,MAAMyF,gBAAgB,GAAGzF,YAAM,CAAC,IAAD,CAA/B;AACA,MAAM2M,aAAa,GAAGC,2BAAmB,CAACjG,MAAD,CAAzC;;AARC,kBASmCyB,cAAQ,CAAC,KAAD,CAT3C;AAAA;AAAA,MASMyE,UATN;AAAA,MASkBC,aATlB;;AAAA,mBAUmC1E,cAAQ,CAAC,KAAD,CAV3C;AAAA;AAAA,MAUM2E,UAVN;AAAA,MAUkBC,aAVlB;;AAAA,mBAW2C5E,cAAQ,CAAC,KAAD,CAXnD;AAAA;AAAA,MAWM6E,cAXN;AAAA,MAWsBC,iBAXtB;;AAaD,MAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AAChCH,IAAAA,aAAa,CAAC,IAAD,CAAb;AACD,GAFD;;AAGA,MAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/BJ,IAAAA,aAAa,CAAC,KAAD,CAAb;AACD,GAFD;;AAIA5B,EAAAA,aAAa,CAAC;AACZrH,IAAAA,GAAG,EAAEyI,UADO;AAEZnB,IAAAA,QAAQ,EAAEyB;AAFE,GAAD,CAAb;AAKA,SACElJ;AACE,IAAA,SAAS,EAAC,iCADZ;AAEE,IAAA,GAAG,EAAE4I,UAFP;AAGE,IAAA,KAAK,EAAE;AACLa,MAAAA,UAAU,EAAElB,QAAQ,GAAGR,gBAAH,GAAsBC,cADrC;AAEL0B,MAAAA,aAAa,EAAElB,WAAW,GAAGT,gBAAH,GAAsBC;AAF3C;AAHT,KAQEhI;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA;AACE,IAAA,SAAS,EAAC;AADZ,KAGEA;AAAK,IAAA,SAAS,EAAC,6BAAf;AAA6C,IAAA,GAAG,EAAE6B;AAAlD,KACE7B,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC2J,gBAAD;AACE,QAAA,SAAS,EAAC,mCADZ;AAEE,QAAA,GAAG,EAAEb,cAFP;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAJT;AAKE,QAAA,OAAO,EAAE,mBAAM;AACbxC,UAAAA,cAAc;AACdiD,UAAAA,mBAAmB;AACnBD,UAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD,SATH;AAUE,QAAA,MAAM,EAAE,kBAAM;AACZE,UAAAA,kBAAkB;AACnB;AAZH,SAcExJ,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,MAAM,EAAC,MAFT;AAGE,QAAA,IAAI,EAAEC,eAAS,CAACmH,IAHlB;AAIE,QAAA,SAAS,EAAEnG,gBAAU,CAACoG;AAJxB,QAdF,CADW;AAAA,KADf;AAwBE,IAAA,SAAS,EAAE,mBAACC,KAAD,EAAW;AACpB,UAAMhI,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1BgI,QAAAA,KAAK;AACLR,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,OAHD;;AAIA,aACEtJ,6BAAC+J;AACC;;;;AADF;AAKE,QAAA,SAAS,EAAEjB,cALb;AAME,QAAA,gBAAgB,EAAEjH,gBANpB;AAOE,QAAA,aAAa,EAAEC,aAPjB;AAQE,QAAA,QAAQ;AARV,SAWIiH,aAAa,IACX/I,6BAACgK,cAAD;AACE,QAAA,SAAS,EAAC,6BADZ;AAEE,QAAA,OAAO,EAAE,mBAAM;AAAEC,UAAAA,uBAAe,CAACrc,OAAO,CAACA,OAAT,CAAf;AAAkCkU,UAAAA,aAAa;AAAK;AAFvE,gBAZN,EAqBIiH,aAAa,IACX/I,6BAACgK,cAAD;AACE,QAAA,OAAO,EAAE,mBAAM;AACb,cAAI5B,QAAJ,EAAc;AAAE;AAAS;;AACzBC,UAAAA,QAAQ,CAAC,IAAD,CAAR;AACAvG,UAAAA,aAAa;AACd;AALH,gBAtBN,EAkCKlU,OAAO,IAAIA,OAAO,CAACiO,YAAnB,IAAmCjO,OAAO,CAACiO,YAAR,EAApC,IACEmE,6BAACgK,cAAD;AACE,QAAA,OAAO,EAAE,mBAAM;AACb7B,UAAAA,aAAa,CAACva,OAAD,CAAb;AACAkU,UAAAA,aAAa;AACd;AAJH,kBAnCN,EA6CE9B,6BAACgK,cAAD;AACE,QAAA,OAAO,EAAE,mBAAM;AACb,cAAI5B,QAAJ,EAAc;AAAE;AAAS;;AACzBE,UAAAA,UAAU,CAAC,IAAD,CAAV;AACAxG,UAAAA,aAAa;AACd;AALH,kBA7CF,CADF;AAyDD;AAtFH,IADF,EA0FKiH,aAAa,IAAI5O,WAAjB,IAAiC6K,WAAW,CAACoB,IAAZ,GAAmB,CAArD,IAEEpG,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC2J,gBAAD;AACE,QAAA,SAAS,EAAC,2CADZ;AAEE,QAAA,GAAG,EAAEd,kBAFP;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAJT;AAKE,QAAA,OAAO,EAAE,mBAAM;AACbvC,UAAAA,cAAc;AACdiD,UAAAA,mBAAmB;AACnBD,UAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD,SATH;AAUE,QAAA,MAAM,EAAE,kBAAM;AACZE,UAAAA,kBAAkB;AACnB;AAZH,SAcExJ,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,MAAM,EAAC,MAFT;AAGE,QAAA,IAAI,EAAEC,eAAS,CAAC+D,mBAHlB;AAIE,QAAA,SAAS,EAAE/C,gBAAU,CAACoG;AAJxB,QAdF,CADW;AAAA,KADf;AAwBE,IAAA,SAAS,EAAE,mBAACC,KAAD,EAAW;AACpB,UAAMhI,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1BgI,QAAAA,KAAK;AACLR,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,OAHD;;AAIA,aACEtJ,6BAAC,sBAAD;AACE,QAAA,OAAO,EAAEpS,OADX;AAEE,QAAA,SAAS,EAAEib,kBAFb;AAGE,QAAA,gBAAgB,EAAEhH,gBAHpB;AAIE,QAAA,aAAa,EAAEC,aAJjB;AAKE,QAAA,gBAAgB,EAAE;AAAE2E,UAAAA,CAAC,EAAE;AAAL;AALpB,QADF;AASD;AAtCH,IA5FN,CAHF,EA2II,CAAC+B,WAAD,IAAgB,EAAES,UAAU,IAAIE,UAAd,IAA4BE,cAA9B,CAAhB,IACErJ;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA,6BAAC,aAAD;AACE,IAAA,OAAO,EAAEpS,OADX;AAEE,IAAA,MAAM,EAAEmV;AAFV,IADF,CA5IN,CADF,EAsJE/C;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA,6BAACiD,WAAD;AACE,IAAA,SAAS,EAAC,8DADZ;AAEE,IAAA,IAAI,EAAEC,qBAAe,CAAC2D,MAFxB;AAGE,IAAA,KAAK,EAAEzD,iBAAW,CAACc;AAHrB,KAKElE,6BAAC,mBAAD,OALF,CADF,CADF,EAWK7F,WAAW,IAAIvM,OAAO,CAACuU,SAAvB,IAAoCvU,OAAO,CAACuU,SAAR,CAAkBtQ,MAAlB,GAA2B,CAAhE,IAEEmO,6BAAC,cAAD;AACE,IAAA,SAAS,EAAC,6DADZ;AAEE,IAAA,MAAM,EAAEnN,MAFV;AAGE,IAAA,OAAO,EAAEjF,OAHX;AAIE,IAAA,WAAW,EAAEoX,WAJf;AAKE,IAAA,UAAU,EAAEC,UALd;AAME,IAAA,cAAc,EAAExD,cANlB;AAOE,IAAA,sBAAsB,EAAEyD;AAP1B,IAbN,CADF,CAtJF,CARF,CADF;AA6LD;;AAED,SAASgF,mBAAT,QAWG;AAAA,MAVDrX,MAUC,SAVDA,MAUC;AAAA,MATDjF,OASC,SATDA,OASC;AAAA,MARDuM,WAQC,SARDA,WAQC;AAAA,MAPD6K,WAOC,SAPDA,WAOC;AAAA,MANDC,UAMC,SANDA,UAMC;AAAA,MALDxD,cAKC,SALDA,cAKC;AAAA,MAJDgH,mBAIC,SAJDA,mBAIC;AAAA,MAHDvD,sBAGC,SAHDA,sBAGC;AAAA,MAFDqD,QAEC,SAFDA,QAEC;AAAA,MADDC,WACC,SADDA,WACC;AACD,MAAMG,mBAAmB,GAAGF,mBAA5B;AACA,MAAMtD,sBAAsB,GAAGD,sBAA/B;AACA,MAAM0D,UAAU,GAAGxM,YAAM,CAAC,IAAD,CAAzB;AACA,MAAMyM,kBAAkB,GAAGzM,YAAM,CAAC,IAAD,CAAjC;AACA,MAAM0M,cAAc,GAAG1M,YAAM,CAAC,IAAD,CAA7B;AACA,MAAMyF,gBAAgB,GAAGzF,YAAM,CAAC,IAAD,CAA/B;AACA,MAAM+N,SAAS,GAAG/N,YAAM,CAAC,IAAD,CAAxB;;AAPC,0BAWG4D,cAAK,CAACuF,UAAN,CAAiB6E,wBAAjB,CAXH;AAAA,MASCC,kBATD,qBASCA,kBATD;AAAA,MAUCC,iBAVD,qBAUCA,iBAVD;;AAAA,mBAYmC9F,cAAQ,CAAC,KAAD,CAZ3C;AAAA;AAAA,MAYMyE,UAZN;AAAA,MAYkBC,aAZlB;;AAAA,mBAamC1E,cAAQ,CAAC,KAAD,CAb3C;AAAA;AAAA,MAaM2E,UAbN;AAAA,MAakBC,aAblB;;AAAA,oBAc2C5E,cAAQ,CAAC,KAAD,CAdnD;AAAA;AAAA,MAcM6E,cAdN;AAAA,MAcsBC,iBAdtB;;AAeD,MAAMiB,qBAAqB,GAAGpQ,WAAW,IAAI6K,WAAf,IAA+BA,WAAW,CAACoB,IAAZ,GAAmB,CAAhF;AACA,MAAMoE,kBAAkB,GAAIrQ,WAAW,IAAIvM,OAAO,CAACuU,SAAvB,IAAoCvU,OAAO,CAACuU,SAAR,CAAkBtQ,MAAlB,GAA2B,CAA3F;;AAEA,MAAM0X,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AAChCH,IAAAA,aAAa,CAAC,IAAD,CAAb;AACD,GAFD;;AAGA,MAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/BJ,IAAAA,aAAa,CAAC,KAAD,CAAb;AACD,GAFD;;AAIA5B,EAAAA,aAAa,CAAC;AACZrH,IAAAA,GAAG,EAAEyI,UADO;AAEZnB,IAAAA,QAAQ,EAAEyB;AAFE,GAAD,CAAb;AAKA,SACElJ;AACE,IAAA,GAAG,EAAE4I,UADP;AAEE,IAAA,SAAS,EAAC,iCAFZ;AAGE,IAAA,KAAK,EAAE;AACLa,MAAAA,UAAU,EAAElB,QAAQ,GAAGR,gBAAH,GAAsBC,cADrC;AAEL0B,MAAAA,aAAa,EAAElB,WAAW,GAAGT,gBAAH,GAAsBC;AAF3C;AAHT,KAQEhI;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA;AAAK,IAAA,SAAS,EAAC;AAAf,KAEI,CAACwI,WAAD,IACExI,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAACyK,YAAD;AACE,QAAA,GAAG,EAAEN,SADP;AAEE,QAAA,OAAO,EAAE,mBAAM;AACb,cAAI,CAACE,kBAAL,EAAyB;AACvB/D,YAAAA,cAAc;AACf;AACF,SANH;AAOE,QAAA,SAAS,EAAC,+BAPZ;AAQE,QAAA,GAAG,EAAEoE,2BAAmB,CAAC9c,OAAD,CAR1B;AASE,QAAA,KAAK,EAAC,MATR;AAUE,QAAA,MAAM,EAAC;AAVT,QADW;AAAA,KADf;AAeE,IAAA,SAAS,EAAE,mBAACkU,aAAD;AAAA,aACT9B,6BAAC+J;AACC;;;;AADF;AAKE,QAAA,SAAS,EAAEI,SALb;AAME,QAAA,gBAAgB,EAAEA,SANpB;AAOE,QAAA,aAAa,EAAErI,aAPjB;AAQE,QAAA,KAAK,EAAE;AAAE2H,UAAAA,UAAU,EAAE,CAAd;AAAiBC,UAAAA,aAAa,EAAE;AAAhC;AART,SAWIY,iBAAiB,GACbA,iBAAiB,CAAC;AAClBK,QAAAA,IAAI,EAAE/c,OAAO,CAACwF,MADI;AAElB0W,QAAAA,KAAK,EAAEhI;AAFW,OAAD,CADJ,GAMb9B,6BAAC4K,iBAAD;AACE,QAAA,IAAI,EAAEhd,OAAO,CAACwF,MADhB;AAEE,QAAA,SAAS,EAAE0O;AAFb,QAjBR,CADS;AAAA;AAfb,IAHN,EAgDI,CAACyG,QAAD,IACEvI,6BAACiD,WAAD;AACE,IAAA,SAAS,EAAC,oCADZ;AAEE,IAAA,IAAI,EAAEC,qBAAe,CAAC2H,SAFxB;AAGE,IAAA,KAAK,EAAEzH,iBAAW,CAACC;AAHrB,KAKGyH,qBAAa,CAACld,OAAD,CALhB,CAjDN,EA0DEoS;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA,6BAACiD,WAAD;AACE,IAAA,SAAS,EAAC,8DADZ;AAEE,IAAA,IAAI,EAAEC,qBAAe,CAAC2D,MAFxB;AAGE,IAAA,KAAK,EAAEzD,iBAAW,CAACc;AAHrB,KAKElE,6BAAC,mBAAD,OALF,CADF,CADF,EAWIwK,kBAAkB,IAChBxK,6BAAC,cAAD;AACE,IAAA,SAAS,EAAC,6DADZ;AAEE,IAAA,MAAM,EAAEnN,MAFV;AAGE,IAAA,OAAO,EAAEjF,OAHX;AAIE,IAAA,WAAW,EAAEoX,WAJf;AAKE,IAAA,UAAU,EAAEC,UALd;AAME,IAAA,cAAc,EAAExD,cANlB;AAOE,IAAA,sBAAsB,EAAEyD;AAP1B,IAZN,CADF,CA1DF,CADF,EAsFElF;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA;AACE,IAAA,SAAS,EAAC,6BADZ;AAEE,IAAA,GAAG,EAAE6B,gBAFP;AAGE,IAAA,KAAK,EAAE;AAAEkJ,MAAAA,GAAG,EAAExC,QAAQ,GAAG,KAAH,GAAW;AAA1B;AAHT,KAMIgC,qBAAqB,IAEnBvK,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC2J,gBAAD;AACE,QAAA,GAAG,EAAEd,kBADP;AAEE,QAAA,KAAK,EAAC,MAFR;AAGE,QAAA,MAAM,EAAC,MAHT;AAIE,QAAA,OAAO,EAAE,mBAAM;AACbvC,UAAAA,cAAc;AACdiD,UAAAA,mBAAmB;AACnBD,UAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD,SARH;AASE,QAAA,MAAM,EAAE,kBAAM;AACZE,UAAAA,kBAAkB;AACnB;AAXH,SAaExJ,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,MAAM,EAAC,MAFT;AAGE,QAAA,IAAI,EAAEC,eAAS,CAAC+D,mBAHlB;AAIE,QAAA,SAAS,EAAE/C,gBAAU,CAACoG;AAJxB,QAbF,CADW;AAAA,KADf;AAuBE,IAAA,SAAS,EAAE,mBAACC,KAAD,EAAW;AACpB,UAAMhI,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1BgI,QAAAA,KAAK;AACLR,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,OAHD;;AAIA,aACEtJ,6BAAC,sBAAD;AACE,QAAA,SAAS,EAAE6I,kBADb;AAEE,QAAA,gBAAgB,EAAEhH,gBAFpB;AAGE,QAAA,aAAa,EAAEC,aAHjB;AAIE,QAAA,OAAO,EAAElU,OAJX;AAKE,QAAA,gBAAgB,EAAE;AAAE6Y,UAAAA,CAAC,EAAE;AAAL;AALpB,QADF;AASD;AArCH,IARN,EAiDEzG,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC2J,gBAAD;AACE,QAAA,GAAG,EAAEb,cADP;AAEE,QAAA,KAAK,EAAC,MAFR;AAGE,QAAA,MAAM,EAAC,MAHT;AAIE,QAAA,OAAO,EAAE,mBAAM;AACbxC,UAAAA,cAAc;AACdiD,UAAAA,mBAAmB;AACnBD,UAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD,SARH;AASE,QAAA,MAAM,EAAE,kBAAM;AACZE,UAAAA,kBAAkB;AACnB;AAXH,SAaExJ,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,MAAM,EAAC,MAFT;AAGE,QAAA,IAAI,EAAEC,eAAS,CAACmH,IAHlB;AAIE,QAAA,SAAS,EAAEnG,gBAAU,CAACoG;AAJxB,QAbF,CADW;AAAA,KADf;AAuBE,IAAA,SAAS,EAAE,mBAACC,KAAD,EAAW;AACpB,UAAMhI,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1BgI,QAAAA,KAAK;AACLR,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,OAHD;;AAIA,aACEtJ,6BAAC+J,eAAD;AACE,QAAA,SAAS,EAAEjB,cADb;AAEE,QAAA,gBAAgB,EAAEjH,gBAFpB;AAGE,QAAA,aAAa,EAAEC;AAHjB,SAKE9B,6BAACgK,cAAD;AACE,QAAA,SAAS,EAAC,6BADZ;AAEE,QAAA,OAAO,EAAE,mBAAM;AAAEC,UAAAA,uBAAe,CAACrc,OAAO,CAACA,OAAT,CAAf;AAAkCkU,UAAAA,aAAa;AAAK;AAFvE,gBALF,CADF;AAcD;AA1CH,IAjDF,CADF,EAgGI,CAAC0G,WAAD,IAAgB,EAAES,UAAU,IAAIE,UAAd,IAA4BE,cAA9B,CAAhB,IACErJ,6BAACiD,WAAD;AACE,IAAA,SAAS,EAAC,gCADZ;AAEE,IAAA,IAAI,EAAEC,qBAAe,CAACC,SAFxB;AAGE,IAAA,KAAK,EAAEC,iBAAW,CAACC;AAHrB,KAKGtQ,2BAAmB,CAACnF,OAAD,CALtB,CAjGN,CAtFF,CARF,CADF;AA6MD;;AAEDsc,mBAAmB,CAACrJ,SAApB,GAAgC;AAC9BhO,EAAAA,MAAM,EAAEiO,SAAS,CAACO,MAAV,CAAiBL,UADK;AAE9BpT,EAAAA,OAAO,EAAEkT,SAAS,CAAC6C,QAAV,CAAmB7C,SAAS,CAACK,SAAV,CAAoB,CAC9CL,SAAS,CAACO,MADoC,EAE9CP,SAAS,CAACM,MAFoC,EAG9CN,SAAS,CAACI,IAHoC,EAI9CJ,SAAS,CAAC8C,KAJoC,EAK9C9C,SAAS,CAAC+C,MALoC,CAApB,CAAnB,CAFqB;AAS9B1J,EAAAA,WAAW,EAAE2G,SAAS,CAACI,IAAV,CAAeF,UATE;AAU9BgE,EAAAA,WAAW,EAAElE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CAViB;AAW9BuV,EAAAA,UAAU,EAAEnE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CAXkB;AAY9B+R,EAAAA,cAAc,EAAEX,SAAS,CAACG,IAZI;AAa9BwH,EAAAA,mBAAmB,EAAE3H,SAAS,CAACG,IAAV,CAAeD,UAbN;AAc9BkE,EAAAA,sBAAsB,EAAEpE,SAAS,CAACG,IAdJ;AAe9BsH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IAAV,CAAeF,UAfK;AAgB9BwH,EAAAA,WAAW,EAAE1H,SAAS,CAACI,IAAV,CAAeF;AAhBE,CAAhC;AAmBAkJ,mBAAmB,CAAC3I,YAApB,GAAmC;AACjC3T,EAAAA,OAAO,EAAE,EADwB;AAEjCoX,EAAAA,WAAW,EAAE,IAAItV,GAAJ,EAFoB;AAGjCuV,EAAAA,UAAU,EAAE,IAAIvV,GAAJ,EAHqB;AAIjC+R,EAAAA,cAAc,EAAEqG,IAJiB;AAKjC5C,EAAAA,sBAAsB,EAAE;AAAA,WAAM,EAAN;AAAA;AALS,CAAnC;AAQAwD,mBAAmB,CAAC7H,SAApB,GAAgC;AAC9BhO,EAAAA,MAAM,EAAEiO,SAAS,CAACO,MAAV,CAAiBL,UADK;AAE9BpT,EAAAA,OAAO,EAAEkT,SAAS,CAAC6C,QAAV,CAAmB7C,SAAS,CAACK,SAAV,CAAoB,CAC9CL,SAAS,CAACO,MADoC,EAE9CP,SAAS,CAACM,MAFoC,EAG9CN,SAAS,CAACI,IAHoC,EAI9CJ,SAAS,CAAC8C,KAJoC,EAK9C9C,SAAS,CAAC+C,MALoC,CAApB,CAAnB,CAFqB;AAS9BwE,EAAAA,QAAQ,EAAEvH,SAAS,CAACG,IATU;AAU9BqH,EAAAA,UAAU,EAAExH,SAAS,CAACG,IAVQ;AAW9BmH,EAAAA,QAAQ,EAAEtH,SAAS,CAACI,IAXU;AAY9BiH,EAAAA,aAAa,EAAErH,SAAS,CAACG,IAZK;AAa9B8B,EAAAA,MAAM,EAAEjC,SAAS,CAACO,MAAV,CAAiBL,UAbK;AAc9B7G,EAAAA,WAAW,EAAE2G,SAAS,CAACI,IAAV,CAAeF,UAdE;AAe9BgE,EAAAA,WAAW,EAAElE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CAfiB;AAgB9BuV,EAAAA,UAAU,EAAEnE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CAhBkB;AAiB9B+R,EAAAA,cAAc,EAAEX,SAAS,CAACG,IAjBI;AAkB9BwH,EAAAA,mBAAmB,EAAE3H,SAAS,CAACG,IAAV,CAAeD,UAlBN;AAmB9BkE,EAAAA,sBAAsB,EAAEpE,SAAS,CAACG,IAnBJ;AAoB9BsH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IAAV,CAAeF,UApBK;AAqB9BwH,EAAAA,WAAW,EAAE1H,SAAS,CAACI,IAAV,CAAeF;AArBE,CAAhC;AAwBA0H,mBAAmB,CAACnH,YAApB,GAAmC;AACjC3T,EAAAA,OAAO,EAAE,EADwB;AAEjCua,EAAAA,aAAa,EAAEL,IAFkB;AAGjCO,EAAAA,QAAQ,EAAEP,IAHuB;AAIjCQ,EAAAA,UAAU,EAAER,IAJqB;AAKjCM,EAAAA,QAAQ,EAAE,KALuB;AAMjCpD,EAAAA,WAAW,EAAE,IAAItV,GAAJ,EANoB;AAOjCuV,EAAAA,UAAU,EAAE,IAAIvV,GAAJ,EAPqB;AAQjC+R,EAAAA,cAAc,EAAEqG,IARiB;AASjC5C,EAAAA,sBAAsB,EAAE;AAAA,WAAM,EAAN;AAAA;AATS,CAAnC;;AC5pBe,SAAS8F,YAAT,OAGZ;AAAA,MAFDzK,SAEC,QAFDA,SAEC;AAAA,MADD3S,OACC,QADDA,OACC;;AACD,MAAI,CAACA,OAAO,CAACE,WAAT,IAAwBF,OAAO,CAACE,WAAR,KAAwB,OAApD,EAA6D;AAAE;AAC7D,WAAO,IAAP;AACD;;AAED,MAAM0S,kBAAkB,GAAIC,KAAK,CAACC,OAAN,CAAcH,SAAd,CAAD,GAA6BA,SAA7B,GAAyC,CAACA,SAAD,CAApE;AACA,SACEP;AAAK,IAAA,SAAS,EAAE,iDAAIQ,kBAAJ,IAAwB,wBAAxB,GAAkDG,IAAlD,CAAuD,GAAvD;AAAhB,KACEX,6BAACiD,WAAD;AAAO,IAAA,SAAS,EAAC,8BAAjB;AAAgD,IAAA,IAAI,EAAEC,qBAAe,CAAC2H,SAAtE;AAAiF,IAAA,KAAK,EAAEzH,iBAAW,CAACC;AAApG,KACGzV,OAAO,CAACA,OADX,CADF,CADF;AAOD;AAEDod,YAAY,CAACnK,SAAb,GAAyB;AACvBjT,EAAAA,OAAO,EAAEkT,SAAS,CAAC6C,QAAV,CAAmB7C,SAAS,CAACK,SAAV,CAAoB,CAC9CL,SAAS,CAACO,MADoC,EAE9CP,SAAS,CAACM,MAFoC,EAG9CN,SAAS,CAACI,IAHoC,EAI9CJ,SAAS,CAAC8C,KAJoC,EAK9C9C,SAAS,CAAC+C,MALoC,CAApB,CAAnB,CADc;AAQvBtD,EAAAA,SAAS,EAAEO,SAAS,CAACK,SAAV,CAAoB,CAC7BL,SAAS,CAACO,MADmB,EAE7BP,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAACO,MAA5B,CAF6B,CAApB;AARY,CAAzB;AAcA2J,YAAY,CAACzJ,YAAb,GAA4B;AAC1B3T,EAAAA,OAAO,EAAE,EADiB;AAE1B2S,EAAAA,SAAS,EAAE;AAFe,CAA5B;;ACnCO,IAAMxN,qBAAmB,GAAG,SAAtBA,mBAAsB,CAACnF,OAAD;AAAA,SAAaoF,MAAM,CAACpF,OAAO,CAACqF,SAAT,EAAoB,GAApB,CAAnB;AAAA,CAA5B;AAEP,AAAO,IAAM+V,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACjG,MAAD;AAAA,SACjCA,MAAM,KAAKvS,sBAAiB,CAACC,IAA7B,IACGsS,MAAM,KAAKvS,sBAAiB,CAACO,SADhC,IAEGgS,MAAM,KAAKvS,sBAAiB,CAACI,IAHC;AAAA,CAA5B;;ACyBP,IAAMkX,MAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB;;AAEA,IAAMmD,0BAA0B,GAAG,qCAAnC;AACA,IAAMC,0BAA0B,GAAG,qCAAnC;AACA,IAAMnD,kBAAgB,GAAG,KAAzB;AACA,IAAMC,gBAAc,GAAG,KAAvB;AAEA,AAAe,SAASmD,gBAAT,OAgBZ;AAAA,0BAfDvd,OAeC;AAAA,MAfDA,OAeC,6BAfS,EAeT;AAAA,MAdDiF,MAcC,QAdDA,MAcC;AAAA,MAbDuV,QAaC,QAbDA,QAaC;AAAA,MAZDF,MAYC,QAZDA,MAYC;AAAA,MAXD7H,OAWC,QAXDA,OAWC;AAAA,MAVDiI,UAUC,QAVDA,UAUC;AAAA,MATDvF,MASC,QATDA,MASC;AAAA,MARDoF,aAQC,QARDA,aAQC;AAAA,MAPDhO,WAOC,QAPDA,WAOC;AAAA,MAND6K,WAMC,QANDA,WAMC;AAAA,MALDC,UAKC,QALDA,UAKC;AAAA,MAJDxD,cAIC,QAJDA,cAIC;AAAA,MAHDyD,sBAGC,QAHDA,sBAGC;AAAA,MAFDqD,QAEC,QAFDA,QAEC;AAAA,MADDC,WACC,QADDA,WACC;AACD,SACEN,MAAM,GAEFlI,6BAAC,wBAAD;AACE,IAAA,MAAM,EAAEnN,MADV;AAEE,IAAA,MAAM,EAAEkQ,MAFV;AAGE,IAAA,OAAO,EAAEnV,OAHX;AAIE,IAAA,OAAO,EAAEyS,OAJX;AAKE,IAAA,QAAQ,EAAE+H,QALZ;AAME,IAAA,QAAQ,EAAEG,QANZ;AAOE,IAAA,UAAU,EAAED,UAPd;AAQE,IAAA,UAAU,EAAErD,UARd;AASE,IAAA,WAAW,EAAEuD,WATf;AAUE,IAAA,WAAW,EAAErO,WAVf;AAWE,IAAA,WAAW,EAAE6K,WAXf;AAYE,IAAA,aAAa,EAAEmD,aAZjB;AAaE,IAAA,cAAc,EAAE1G,cAblB;AAcE,IAAA,sBAAsB,EAAEyD;AAd1B,IAFE,GAoBFlF,6BAAC,wBAAD;AACE,IAAA,MAAM,EAAEnN,MADV;AAEE,IAAA,MAAM,EAAEkQ,MAFV;AAGE,IAAA,OAAO,EAAEnV,OAHX;AAIE,IAAA,OAAO,EAAEyS,OAJX;AAKE,IAAA,QAAQ,EAAEkI,QALZ;AAME,IAAA,UAAU,EAAEtD,UANd;AAOE,IAAA,WAAW,EAAEuD,WAPf;AAQE,IAAA,WAAW,EAAErO,WARf;AASE,IAAA,WAAW,EAAE6K,WATf;AAUE,IAAA,cAAc,EAAEvD,cAVlB;AAWE,IAAA,sBAAsB,EAAEyD;AAX1B,IArBN;AAoCD;AAED,AAAO,SAASkG,wBAAT,QAeJ;AAAA,4BAdDxd,OAcC;AAAA,MAdDA,OAcC,8BAdS,EAcT;AAAA,MAbDiF,MAaC,SAbDA,MAaC;AAAA,MAZDuV,QAYC,SAZDA,QAYC;AAAA,MAXD/H,OAWC,SAXDA,OAWC;AAAA,MAVDiI,UAUC,SAVDA,UAUC;AAAA,MATDvF,MASC,SATDA,MASC;AAAA,MARDoF,aAQC,SARDA,aAQC;AAAA,MAPDhO,WAOC,SAPDA,WAOC;AAAA,MAND6K,WAMC,SANDA,WAMC;AAAA,MALDC,UAKC,SALDA,UAKC;AAAA,MAJDxD,cAIC,SAJDA,cAIC;AAAA,MAHDyD,sBAGC,SAHDA,sBAGC;AAAA,MAFDqD,QAEC,SAFDA,QAEC;AAAA,MADDC,WACC,SADDA,WACC;AAAA,MAECra,IAFD,GAMGP,OANH,CAECO,IAFD;AAAA,MAGC6B,GAHD,GAMGpC,OANH,CAGCoC,GAHD;AAAA,MAICmP,QAJD,GAMGvR,OANH,CAICuR,QAJD;AAAA,MAKCkM,UALD,GAMGzd,OANH,CAKCyd,UALD;AAOD,MAAMC,YAAY,GAAID,UAAU,IAAIA,UAAU,CAACxZ,MAAX,GAAoB,CAAlC,IAAuCwZ,UAAU,CAAC,CAAD,CAAV,CAAcrb,GAAtD,IAA8D,IAAnF;;AAPC,oBAQqBuV,gBAAU,CAACC,uCAAD,CAR/B;AAAA,MAQOC,SARP,eAQOA,SARP;;AASD,MAAMmD,UAAU,GAAGxM,YAAM,CAAC,IAAD,CAAzB;AACA,MAAMyF,gBAAgB,GAAGzF,YAAM,CAAC,IAAD,CAA/B;AACA,MAAMmP,OAAO,GAAGnP,YAAM,CAAC,IAAD,CAAtB;AACA,MAAMoP,cAAc,GAAGpP,YAAM,CAAC,IAAD,CAA7B;;AAZC,kBAamCoI,cAAQ,CAAC,KAAD,CAb3C;AAAA;AAAA,MAaMyE,UAbN;AAAA,MAakBC,aAblB;;AAAA,mBAcmC1E,cAAQ,CAAC,KAAD,CAd3C;AAAA;AAAA,MAcM2E,UAdN;AAAA,MAckBC,aAdlB;;AAAA,mBAe2C5E,cAAQ,CAAC,KAAD,CAfnD;AAAA;AAAA,MAeM6E,cAfN;AAAA,MAesBC,iBAftB;;AAiBD,MAAMiB,qBAAqB,GAAIpQ,WAAW,IAAI6K,WAAf,IAA8BA,WAAW,CAACoB,IAAZ,GAAmB,CAAhF;AACA,MAAMjB,sBAAsB,GAAGD,sBAA/B;AACA,MAAM6D,aAAa,GAAGC,mBAAmB,CAACjG,MAAD,CAAzC;;AAEA,MAAMwG,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AAChCH,IAAAA,aAAa,CAAC,IAAD,CAAb;AACD,GAFD;;AAGA,MAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/BJ,IAAAA,aAAa,CAAC,KAAD,CAAb;AACD,GAFD;;AAIA5B,EAAAA,aAAa,CAAC;AACZrH,IAAAA,GAAG,EAAEyI,UADO;AAEZnB,IAAAA,QAAQ,EAAEyB;AAFE,GAAD,CAAb;AAKA,SACElJ;AACE,IAAA,SAAS,EAAEiL,0BADb;AAEE,IAAA,GAAG,EAAErC,UAFP;AAGE,IAAA,KAAK,EAAE;AACLa,MAAAA,UAAU,EAAElB,QAAQ,GAAGR,kBAAH,GAAsBC,gBADrC;AAEL0B,MAAAA,aAAa,EAAElB,WAAW,GAAGT,kBAAH,GAAsBC;AAF3C;AAHT,KAQEhI;AAAK,IAAA,SAAS,YAAKiL,0BAAL;AAAd,KACEjL;AAAK,IAAA,SAAS,YAAKiL,0BAAL;AAAd,KACEjL;AACE,IAAA,SAAS,YAAKiL,0BAAL,wBADX;AAEE,IAAA,GAAG,EAAEpJ;AAFP,KAIE7B,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC2J,gBAAD;AACE,QAAA,GAAG,EAAE4B,OADP;AAEE,QAAA,KAAK,EAAC,MAFR;AAGE,QAAA,MAAM,EAAC,MAHT;AAIE,QAAA,OAAO,EAAE,mBAAM;AACbjF,UAAAA,cAAc;AACdiD,UAAAA,mBAAmB;AACnBD,UAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD,SARH;AASE,QAAA,MAAM,EAAE,kBAAM;AACZE,UAAAA,kBAAkB;AACnB;AAXH,SAaExJ,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,MAAM,EAAC,MAFT;AAGE,QAAA,IAAI,EAAEC,eAAS,CAACmH,IAHlB;AAIE,QAAA,KAAK,EAAEnG,gBAAU,CAACoG;AAJpB,QAbF,CADW;AAAA,KADf;AAuBE,IAAA,SAAS,EAAE,mBAACC,KAAD,EAAW;AACpB,UAAMhI,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1BgI,QAAAA,KAAK;AACLR,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,OAHD;;AAIA,aACEtJ,6BAAC+J;AACC;;;;AADF;AAKE,QAAA,SAAS,EAAEwB,OALb;AAME,QAAA,gBAAgB,EAAE1J,gBANpB;AAOE,QAAA,aAAa,EAAEC,aAPjB;AAQE,QAAA,QAAQ;AARV,SAWKlU,OAAO,IAAIA,OAAO,CAACiO,YAAnB,IAAmCjO,OAAO,CAACiO,YAAR,EAApC,IACEmE,6BAACgK,cAAD;AACE,QAAA,OAAO,EAAE,mBAAM;AACb7B,UAAAA,aAAa,CAACva,OAAD,CAAb;AACAkU,UAAAA,aAAa;AACd;AAJH,SAMG2D,SAAS,CAACgG,6BANb,CAZN,EAsBEzL,6BAACgK,cAAD;AAAU,QAAA,OAAO,EAAE,mBAAM;AACvB,cAAI5B,QAAJ,EAAc;AAAE;AAAS;;AACzBE,UAAAA,UAAU,CAAC,IAAD,CAAV;AACAxG,UAAAA,aAAa;AACd;AAJD,SAMG2D,SAAS,CAACiG,6BANb,CAtBF,CADF;AAiCD;AA7DH,IAJF,EAoEI3C,aAAa,IAAIwB,qBAAjB,IAEEvK,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC2J,gBAAD;AACE,QAAA,GAAG,EAAE6B,cADP;AAEE,QAAA,KAAK,EAAC,MAFR;AAGE,QAAA,MAAM,EAAC,MAHT;AAIE,QAAA,OAAO,EAAE,mBAAM;AACblF,UAAAA,cAAc;AACdiD,UAAAA,mBAAmB;AACnBD,UAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD,SARH;AASE,QAAA,MAAM,EAAE,kBAAM;AACZE,UAAAA,kBAAkB;AACnB;AAXH,SAaExJ,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,MAAM,EAAC,MAFT;AAGE,QAAA,IAAI,EAAEC,eAAS,CAAC+D,mBAHlB;AAIE,QAAA,KAAK,EAAE/C,gBAAU,CAACoG;AAJpB,QAbF,CADW;AAAA,KADf;AAuBE,IAAA,SAAS,EAAE,mBAACC,KAAD,EAAW;AACpB,UAAMhI,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1BgI,QAAAA,KAAK;AACLR,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,OAHD;;AAIA,aACEtJ,6BAAC,sBAAD;AACE,QAAA,OAAO,EAAEpS,OADX;AAEE,QAAA,SAAS,EAAE4d,cAFb;AAGE,QAAA,gBAAgB,EAAE3J,gBAHpB;AAIE,QAAA,aAAa,EAAEC,aAJjB;AAKE,QAAA,gBAAgB,EAAE;AAAE2E,UAAAA,CAAC,EAAE;AAAL;AALpB,QADF;AASD;AArCH,IAtEN,CADF,EAkHI,CAAC+B,WAAD,IAAgB,EAAES,UAAU,IAAIE,UAAd,IAA4BE,cAA9B,CAAhB,IACErJ,6BAAC,aAAD;AACE,IAAA,OAAO,EAAEpS,OADX;AAEE,IAAA,MAAM,EAAEmV,MAFV;AAGE,IAAA,SAAS,YAAKkI,0BAAL;AAHX,IAnHN,CADF,EA4HEjL;AAAK,IAAA,SAAS,YAAKiL,0BAAL;AAAd,KACEjL;AACE,IAAA,SAAS,YAAKiL,0BAAL;AADX,KAGEjL;AACE,IAAA,SAAS,YAAKiL,0BAAL,uBADX;AAEE,IAAA,OAAO,EAAElC,aAAa,GAAG;AAAA,aAAM1I,OAAO,CAAC,IAAD,CAAb;AAAA,KAAH,GAAyB,YAAM,EAFvD;AAGE,IAAA,SAAS,EAAE0I,aAAa,GAAG;AAAA,aAAM1I,OAAO,CAAC,IAAD,CAAb;AAAA,KAAH,GAAyB,YAAM,EAHzD;AAIE,IAAA,QAAQ,EAAE,CAJZ;AAKE,IAAA,IAAI,EAAC;AALP,KAQIjS,eAAO,CAACD,IAAD,CAAP,IACE6R,4DAEKsL,YAAD,GAEItL,6BAACuC,mBAAD;AACE,IAAA,SAAS,YAAK0I,0BAAL,iBADX;AAEE,IAAA,GAAG,EAAEK,YAFP;AAGE,IAAA,GAAG,EAAC,iBAHN;AAIE,IAAA,KAAK,EAAC,OAJR;AAKE,IAAA,MAAM,EAAC;AALT,IAFJ;AAWI;AACA;AACE,IAAA,SAAS,YAAKL,0BAAL;AADX,KAGEjL;AAAQ,IAAA,GAAG,EAAEhQ,GAAG,IAAImP,QAApB;AAA8B,IAAA,IAAI,EAAEhR;AAApC,IAHF,CAdR,EAqBE6R,6BAACwC,UAAD;AACE,IAAA,SAAS,YAAKyI,0BAAL,sBADX;AAEE,IAAA,KAAK,EAAC,MAFR;AAGE,IAAA,MAAM,EAAC,MAHT;AAIE,IAAA,IAAI,EAAExI,eAAS,CAACkJ;AAJlB,IArBF,CATN,EAwCIzd,eAAO,CAACC,IAAD,CAAP,IACE6R,6BAACuC,mBAAD;AACE,IAAA,SAAS,YAAK0I,0BAAL,eADX;AAEE,IAAA,GAAG,EAAEK,YAAY,IAAItb,GAAhB,IAAuBmP,QAF9B;AAGE,IAAA,GAAG,EAAC,iBAHN;AAIE,IAAA,KAAK,EAAC,OAJR;AAKE,IAAA,MAAM,EAAC;AALT,IAzCN,EAmDIyM,mBAAW,CAACzd,IAAD,CAAX,IACE6R;AAAK,IAAA,SAAS,YAAKiL,0BAAL;AAAd,KACGxF,SAAS,CAACoG,6BADb,CApDN,EAyDE7L;AAAK,IAAA,SAAS,YAAKiL,0BAAL;AAAd,IAzDF,CAHF,EA+DK9Q,WAAW,IAAIvM,OAAO,CAACuU,SAAvB,IAAoCvU,OAAO,CAACuU,SAAR,CAAkBtQ,MAAlB,GAA2B,CAAhE,IAEEmO,6BAAC,cAAD;AACE,IAAA,SAAS,YAAKiL,0BAAL,iCADX;AAEE,IAAA,MAAM,EAAEpY,MAFV;AAGE,IAAA,OAAO,EAAEjF,OAHX;AAIE,IAAA,WAAW,EAAEoX,WAJf;AAKE,IAAA,UAAU,EAAEC,UALd;AAME,IAAA,cAAc,EAAExD,cANlB;AAOE,IAAA,sBAAsB,EAAEyD;AAP1B,IAjEN,CADF,CA5HF,CARF,CADF;AAuND;AAED,AAAO,SAAS4G,wBAAT,QAYJ;AAAA,4BAXDle,OAWC;AAAA,MAXDA,OAWC,8BAXS,EAWT;AAAA,MAVDiF,MAUC,SAVDA,MAUC;AAAA,MATDwN,OASC,SATDA,OASC;AAAA,MARD0C,MAQC,SARDA,MAQC;AAAA,MAPD5I,WAOC,SAPDA,WAOC;AAAA,MAND6K,WAMC,SANDA,WAMC;AAAA,MALDC,UAKC,SALDA,UAKC;AAAA,MAJDxD,cAIC,SAJDA,cAIC;AAAA,MAHDyD,sBAGC,SAHDA,sBAGC;AAAA,MAFDqD,QAEC,SAFDA,QAEC;AAAA,MADDC,WACC,SADDA,WACC;AAAA,MAECra,IAFD,GAMGP,OANH,CAECO,IAFD;AAAA,MAGC6B,GAHD,GAMGpC,OANH,CAGCoC,GAHD;AAAA,MAICmP,QAJD,GAMGvR,OANH,CAICuR,QAJD;AAAA,MAKCkM,UALD,GAMGzd,OANH,CAKCyd,UALD;AAOD,MAAMC,YAAY,GAAID,UAAU,IAAIA,UAAU,CAACxZ,MAAX,GAAoB,CAAlC,IAAuCwZ,UAAU,CAAC,CAAD,CAAV,CAAcrb,GAAtD,IAA8D,IAAnF;;AAPC,0BAWGgQ,cAAK,CAACuF,UAAN,CAAiB6E,wBAAjB,CAXH;AAAA,MASCC,kBATD,qBASCA,kBATD;AAAA,MAUCC,iBAVD,qBAUCA,iBAVD;;AAAA,qBAYqB/E,gBAAU,CAACC,uCAAD,CAZ/B;AAAA,MAYOC,SAZP,gBAYOA,SAZP;;AAaD,MAAMmD,UAAU,GAAGxM,YAAM,CAAC,IAAD,CAAzB;AACA,MAAMyF,gBAAgB,GAAGzF,YAAM,CAAC,IAAD,CAA/B;AACA,MAAMoP,cAAc,GAAGpP,YAAM,CAAC,IAAD,CAA7B;AACA,MAAM+N,SAAS,GAAG/N,YAAM,CAAC,IAAD,CAAxB;;AAhBC,mBAiBmCoI,cAAQ,CAAC,KAAD,CAjB3C;AAAA;AAAA,MAiBMyE,UAjBN;AAAA,MAiBkBC,aAjBlB;;AAAA,mBAkBmC1E,cAAQ,CAAC,KAAD,CAlB3C;AAAA;AAAA,MAkBM2E,UAlBN;AAAA,MAkBkBC,aAlBlB;;AAAA,oBAmB2C5E,cAAQ,CAAC,KAAD,CAnBnD;AAAA;AAAA,MAmBM6E,cAnBN;AAAA,MAmBsBC,iBAnBtB;;AAqBD,MAAMiB,qBAAqB,GAAIpQ,WAAW,IAAI6K,WAAf,IAA8BA,WAAW,CAACoB,IAAZ,GAAmB,CAAhF;AACA,MAAMjB,sBAAsB,GAAGD,sBAA/B;AACA,MAAM6D,aAAa,GAAGC,mBAAmB,CAACjG,MAAD,CAAzC;;AAEA,MAAMwG,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AAChCH,IAAAA,aAAa,CAAC,IAAD,CAAb;AACD,GAFD;;AAGA,MAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/BJ,IAAAA,aAAa,CAAC,KAAD,CAAb;AACD,GAFD;;AAIA5B,EAAAA,aAAa,CAAC;AACZrH,IAAAA,GAAG,EAAEyI,UADO;AAEZnB,IAAAA,QAAQ,EAAEyB;AAFE,GAAD,CAAb;AAKA,SACElJ;AACE,IAAA,SAAS,EAAEkL,0BADb;AAEE,IAAA,GAAG,EAAEtC,UAFP;AAGE,IAAA,KAAK,EAAE;AACLa,MAAAA,UAAU,EAAElB,QAAQ,GAAGR,kBAAH,GAAsBC,gBADrC;AAEL0B,MAAAA,aAAa,EAAElB,WAAW,GAAGT,kBAAH,GAAsBC;AAF3C;AAHT,KASI,CAACO,QAAD,IACEvI,6BAACiD,WAAD;AACE,IAAA,SAAS,YAAKiI,0BAAL,kBADX;AAEE,IAAA,IAAI,EAAEhI,qBAAe,CAAC2H,SAFxB;AAGE,IAAA,KAAK,EAAEzH,iBAAW,CAACC;AAHrB,KAKGyH,mBAAa,CAACld,OAAD,CAAb,IAA0B,EAL7B,CAVN,EAmBEoS;AAAK,IAAA,SAAS,YAAKkL,0BAAL;AAAd,KACElL;AAAK,IAAA,SAAS,YAAKkL,0BAAL;AAAd,KACElL;AAAK,IAAA,SAAS,YAAKkL,0BAAL;AAAd,KAEI,CAAC1C,WAAD,IACExI,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAACyK,YAAD;AACE,QAAA,GAAG,EAAEN,SADP;AAEE,QAAA,OAAO,EAAE,mBAAM;AACb,cAAI,CAACE,kBAAL,EAAyB;AACvB/D,YAAAA,cAAc;AACf;AACF,SANH;AAOE,QAAA,SAAS,YAAK4E,0BAAL,aAPX;AAQE,QAAA,GAAG,EAAER,yBAAmB,CAAC9c,OAAD,CAR1B;AASE,QAAA,KAAK,EAAC,MATR;AAUE,QAAA,MAAM,EAAC;AAVT,QADW;AAAA,KADf;AAeE,IAAA,SAAS,EAAE,mBAACkU,aAAD;AAAA,aACT9B,6BAAC+J;AACC;;;;AADF;AAKE,QAAA,SAAS,EAAEI,SALb;AAME,QAAA,gBAAgB,EAAEA,SANpB;AAOE,QAAA,aAAa,EAAErI,aAPjB;AAQE,QAAA,KAAK,EAAE;AAAE2H,UAAAA,UAAU,EAAE,CAAd;AAAiBC,UAAAA,aAAa,EAAE;AAAhC;AART,SAWIY,iBAAiB,GACbA,iBAAiB,CAAC;AAClBK,QAAAA,IAAI,EAAE/c,OAAO,CAACwF,MADI;AAElB0W,QAAAA,KAAK,EAAEhI;AAFW,OAAD,CADJ,GAMb9B,6BAAC4K,iBAAD;AACE,QAAA,IAAI,EAAEhd,OAAO,CAACwF,MADhB;AAEE,QAAA,SAAS,EAAE0O;AAFb,QAjBR,CADS;AAAA;AAfb,IAHN,EA+CE9B;AACE,IAAA,SAAS,YAAKkL,0BAAL,uBADX;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,QAAQ,EAAE,CAHZ;AAIE,IAAA,OAAO,EAAEnC,aAAa,GAAG;AAAA,aAAM1I,OAAO,CAAC,IAAD,CAAb;AAAA,KAAH,GAAyB,YAAM,EAJvD;AAKE,IAAA,SAAS,EAAE0I,aAAa,GAAG;AAAA,aAAM1I,OAAO,CAAC,IAAD,CAAb;AAAA,KAAH,GAAyB,YAAM;AALzD,KAQIjS,eAAO,CAACD,IAAD,CAAP,IACE6R,4DAEKsL,YAAD,GAEItL,6BAACuC,mBAAD;AACE,IAAA,SAAS,YAAK2I,0BAAL,YADX;AAEE,IAAA,GAAG,EAAEI,YAFP;AAGE,IAAA,GAAG,EAAC,iBAHN;AAIE,IAAA,KAAK,EAAC,OAJR;AAKE,IAAA,MAAM,EAAC;AALT,IAFJ;AAWI;AACA;AAAO,IAAA,SAAS,YAAKJ,0BAAL;AAAhB,KACElL;AAAQ,IAAA,GAAG,EAAEhQ,GAAG,IAAImP,QAApB;AAA8B,IAAA,IAAI,EAAEhR;AAApC,IADF,CAdR,EAmBE6R,6BAACwC,UAAD;AACE,IAAA,SAAS,YAAK0I,0BAAL,iBADX;AAEE,IAAA,KAAK,EAAC,MAFR;AAGE,IAAA,MAAM,EAAC,MAHT;AAIE,IAAA,IAAI,EAAEzI,eAAS,CAACkJ;AAJlB,IAnBF,CATN,EAsCIzd,eAAO,CAACC,IAAD,CAAP,IACE6R,6BAACuC,mBAAD;AACE,IAAA,SAAS,YAAK2I,0BAAL,UADX;AAEE,IAAA,GAAG,EAAEI,YAAY,IAAItb,GAAhB,IAAuBmP,QAF9B;AAGE,IAAA,GAAG,EAAC,iBAHN;AAIE,IAAA,KAAK,EAAC,OAJR;AAKE,IAAA,MAAM,EAAC;AALT,IAvCN,EAiDIyM,mBAAW,CAACzd,IAAD,CAAX,IACE6R;AAAK,IAAA,SAAS,YAAKkL,0BAAL;AAAd,KACGzF,SAAS,CAACoG,6BADb,CAlDN,EAuDE7L;AAAK,IAAA,SAAS,YAAKkL,0BAAL;AAAd,IAvDF,CA/CF,EAyGK/Q,WAAW,IAAIvM,OAAO,CAACuU,SAAvB,IAAoCvU,OAAO,CAACuU,SAAR,CAAkBtQ,MAAlB,GAA2B,CAAhE,IAEEmO,6BAAC,cAAD;AACE,IAAA,SAAS,YAAKkL,0BAAL,4BADX;AAEE,IAAA,MAAM,EAAErY,MAFV;AAGE,IAAA,OAAO,EAAEjF,OAHX;AAIE,IAAA,WAAW,EAAEoX,WAJf;AAKE,IAAA,UAAU,EAAEC,UALd;AAME,IAAA,cAAc,EAAExD,cANlB;AAOE,IAAA,sBAAsB,EAAEyD;AAP1B,IA3GN,CADF,CADF,EA0HElF;AAAK,IAAA,SAAS,YAAKkL,0BAAL;AAAd,KAEI,CAAC1C,WAAD,IAAgB,EAAES,UAAU,IAAIE,UAAd,IAA4BE,cAA9B,CAAhB,IACErJ,6BAACiD,WAAD;AACE,IAAA,SAAS,YAAKiI,0BAAL,cADX;AAEE,IAAA,IAAI,EAAEhI,qBAAe,CAACC,SAFxB;AAGE,IAAA,KAAK,EAAEC,iBAAW,CAACC;AAHrB,KAKGtQ,qBAAmB,CAACnF,OAAD,CALtB,CAHN,EAYEoS;AACE,IAAA,SAAS,YAAKkL,0BAAL,WADX;AAEE,IAAA,GAAG,EAAErJ;AAFP,KAKI0I,qBAAqB,IACnBvK,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC2J,gBAAD;AACE,QAAA,GAAG,EAAE6B,cADP;AAEE,QAAA,KAAK,EAAC,MAFR;AAGE,QAAA,MAAM,EAAC,MAHT;AAIE,QAAA,OAAO,EAAE,mBAAM;AACblF,UAAAA,cAAc;AACdiD,UAAAA,mBAAmB;AACnBD,UAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD,SARH;AASE,QAAA,MAAM,EAAE,kBAAM;AACZE,UAAAA,kBAAkB;AACnB;AAXH,SAaExJ,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,MAAM,EAAC,MAFT;AAGE,QAAA,IAAI,EAAEC,eAAS,CAAC+D,mBAHlB;AAIE,QAAA,KAAK,EAAE/C,gBAAU,CAACoG;AAJpB,QAbF,CADW;AAAA,KADf;AAuBE,IAAA,SAAS,EAAE,mBAACC,KAAD,EAAW;AACpB,UAAMhI,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1BgI,QAAAA,KAAK;AACLR,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,OAHD;;AAIA,aACEtJ,6BAAC,sBAAD;AACE,QAAA,OAAO,EAAEpS,OADX;AAEE,QAAA,SAAS,EAAE4d,cAFb;AAGE,QAAA,gBAAgB,EAAE3J,gBAHpB;AAIE,QAAA,aAAa,EAAEC,aAJjB;AAKE,QAAA,gBAAgB,EAAE;AAAE2E,UAAAA,CAAC,EAAE;AAAL;AALpB,QADF;AASD;AArCH,IANN,CAZF,CA1HF,CAnBF,CADF;AA8MD;AAED0E,gBAAgB,CAACtK,SAAjB,GAA6B;AAC3BjT,EAAAA,OAAO,EAAEkT,SAAS,CAAC4F,KAAV,CAAgB;AACvBvY,IAAAA,IAAI,EAAE2S,SAAS,CAACO,MADO;AAEvBrR,IAAAA,GAAG,EAAE8Q,SAAS,CAACO,MAFQ;AAGvBlC,IAAAA,QAAQ,EAAE2B,SAAS,CAACO;AAHG,GAAhB,EAINL,UALwB;AAM3BnO,EAAAA,MAAM,EAAEiO,SAAS,CAACO,MANS;AAO3B8G,EAAAA,aAAa,EAAErH,SAAS,CAACG,IAPE;AAQ3B8B,EAAAA,MAAM,EAAEjC,SAAS,CAACO,MARS;AAS3B6G,EAAAA,MAAM,EAAEpH,SAAS,CAACI,IATS;AAU3BkH,EAAAA,QAAQ,EAAEtH,SAAS,CAACI,IAVO;AAW3Bb,EAAAA,OAAO,EAAES,SAAS,CAACG,IAXQ;AAY3BqH,EAAAA,UAAU,EAAExH,SAAS,CAACG,IAZK;AAa3B9G,EAAAA,WAAW,EAAE2G,SAAS,CAACI,IAAV,CAAeF,UAbD;AAc3BgE,EAAAA,WAAW,EAAElE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CAdc;AAe3BuV,EAAAA,UAAU,EAAEnE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CAfe;AAgB3B+R,EAAAA,cAAc,EAAEX,SAAS,CAACG,IAhBC;AAiB3BiE,EAAAA,sBAAsB,EAAEpE,SAAS,CAACG,IAjBP;AAkB3BsH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IAlBO;AAmB3BsH,EAAAA,WAAW,EAAE1H,SAAS,CAACI;AAnBI,CAA7B;AAqBAiK,gBAAgB,CAAC5J,YAAjB,GAAgC;AAC9B2G,EAAAA,MAAM,EAAE,KADsB;AAE9BE,EAAAA,QAAQ,EAAE,KAFoB;AAG9BD,EAAAA,aAAa,EAAEL,MAHe;AAI9BzH,EAAAA,OAAO,EAAEyH,MAJqB;AAK9BQ,EAAAA,UAAU,EAAER,MALkB;AAM9B/E,EAAAA,MAAM,EAAE,EANsB;AAO9BlQ,EAAAA,MAAM,EAAE,EAPsB;AAQ9BmS,EAAAA,WAAW,EAAE,IAAItV,GAAJ,EARiB;AAS9BuV,EAAAA,UAAU,EAAE,IAAIvV,GAAJ,EATkB;AAU9B+R,EAAAA,cAAc,EAAEqG,MAVc;AAW9B5C,EAAAA,sBAAsB,EAAE;AAAA,WAAM,EAAN;AAAA,GAXM;AAY9BqD,EAAAA,QAAQ,EAAE,KAZoB;AAa9BC,EAAAA,WAAW,EAAE;AAbiB,CAAhC;AAgBA4C,wBAAwB,CAACvK,SAAzB,GAAqC;AACnCjT,EAAAA,OAAO,EAAEkT,SAAS,CAAC4F,KAAV,CAAgB;AACvBvY,IAAAA,IAAI,EAAE2S,SAAS,CAACO,MADO;AAEvBrR,IAAAA,GAAG,EAAE8Q,SAAS,CAACO,MAFQ;AAGvBlC,IAAAA,QAAQ,EAAE2B,SAAS,CAACO;AAHG,GAAhB,EAINL,UALgC;AAMnCnO,EAAAA,MAAM,EAAEiO,SAAS,CAACO,MAAV,CAAiBL,UANU;AAOnCoH,EAAAA,QAAQ,EAAEtH,SAAS,CAACI,IAAV,CAAeF,UAPU;AAQnCmH,EAAAA,aAAa,EAAErH,SAAS,CAACG,IAAV,CAAeD,UARK;AASnC+B,EAAAA,MAAM,EAAEjC,SAAS,CAACO,MATiB;AAUnChB,EAAAA,OAAO,EAAES,SAAS,CAACG,IAAV,CAAeD,UAVW;AAWnCsH,EAAAA,UAAU,EAAExH,SAAS,CAACG,IAAV,CAAeD,UAXQ;AAYnC7G,EAAAA,WAAW,EAAE2G,SAAS,CAACI,IAAV,CAAeF,UAZO;AAanCgE,EAAAA,WAAW,EAAElE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,EAA0BsR,UAbJ;AAcnCiE,EAAAA,UAAU,EAAEnE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,EAA0BsR,UAdH;AAenCS,EAAAA,cAAc,EAAEX,SAAS,CAACG,IAAV,CAAeD,UAfI;AAgBnCkE,EAAAA,sBAAsB,EAAEpE,SAAS,CAACG,IAAV,CAAeD,UAhBJ;AAiBnCuH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IAAV,CAAeF,UAjBU;AAkBnCwH,EAAAA,WAAW,EAAE1H,SAAS,CAACI,IAAV,CAAeF;AAlBO,CAArC;AAoBAoK,wBAAwB,CAAC7J,YAAzB,GAAwC;AACtCwB,EAAAA,MAAM,EAAE;AAD8B,CAAxC;AAIA+I,wBAAwB,CAACjL,SAAzB,GAAqC;AACnCjT,EAAAA,OAAO,EAAEkT,SAAS,CAAC4F,KAAV,CAAgB;AACvBvY,IAAAA,IAAI,EAAE2S,SAAS,CAACO,MADO;AAEvBrR,IAAAA,GAAG,EAAE8Q,SAAS,CAACO,MAFQ;AAGvBlC,IAAAA,QAAQ,EAAE2B,SAAS,CAACO;AAHG,GAAhB,EAINL,UALgC;AAMnCnO,EAAAA,MAAM,EAAEiO,SAAS,CAACO,MAAV,CAAiBL,UANU;AAOnCX,EAAAA,OAAO,EAAES,SAAS,CAACG,IAAV,CAAeD,UAPW;AAQnC+B,EAAAA,MAAM,EAAEjC,SAAS,CAACO,MARiB;AASnClH,EAAAA,WAAW,EAAE2G,SAAS,CAACI,IAAV,CAAeF,UATO;AAUnCgE,EAAAA,WAAW,EAAElE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,EAA0BsR,UAVJ;AAWnCiE,EAAAA,UAAU,EAAEnE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,EAA0BsR,UAXH;AAYnCS,EAAAA,cAAc,EAAEX,SAAS,CAACG,IAAV,CAAeD,UAZI;AAanCkE,EAAAA,sBAAsB,EAAEpE,SAAS,CAACG,IAAV,CAAeD,UAbJ;AAcnCuH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IAAV,CAAeF,UAdU;AAenCwH,EAAAA,WAAW,EAAE1H,SAAS,CAACI,IAAV,CAAeF;AAfO,CAArC;AAiBA8K,wBAAwB,CAACvK,YAAzB,GAAwC;AACtCwB,EAAAA,MAAM,EAAE;AAD8B,CAAxC;;AC9pBA,IAAMgJ,mBAAmB,GAAG,EAA5B;AACA,IAAMC,iBAAiB,GAAG,KAA1B;AACA,IAAMhE,gBAAc,GAAG,KAAvB;;AACA,IAAMF,MAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB;;AAEA,SAASmE,aAAT,CAAuBC,OAAvB,EAAgC;AAC9B,MAAIC,MAAM,GAAG,IAAb;AACA,MAAMC,SAAS,GAAG,oCAAlB;AACA,MAAMC,SAAS,GAAG,WAAlB;;AACA,MAAID,SAAS,CAACE,IAAV,CAAeJ,OAAf,CAAJ,EAA6B;AAC3BC,IAAAA,MAAM,GAAG1J,eAAS,CAAC8J,aAAnB;AACD,GAFD,MAEO,IAAIF,SAAS,CAACC,IAAV,CAAeJ,OAAf,CAAJ,EAA6B;AAClCC,IAAAA,MAAM,GAAG1J,eAAS,CAAC+J,UAAnB;AACD;;AACD,SAAOL,MAAP;AACD;;AAED,AAAO,SAASM,mBAAT,OAcJ;AAAA,MAbD7e,OAaC,QAbDA,OAaC;AAAA,MAZDiF,MAYC,QAZDA,MAYC;AAAA,MAXDkQ,MAWC,QAXDA,MAWC;AAAA,MAVDuF,UAUC,QAVDA,UAUC;AAAA,MATDF,QASC,QATDA,QASC;AAAA,MARDD,aAQC,QARDA,aAQC;AAAA,MAPDhO,WAOC,QAPDA,WAOC;AAAA,MAND6K,WAMC,QANDA,WAMC;AAAA,MALDC,UAKC,QALDA,UAKC;AAAA,MAJDxD,cAIC,QAJDA,cAIC;AAAA,MAHDyD,sBAGC,QAHDA,sBAGC;AAAA,MAFDqD,QAEC,QAFDA,QAEC;AAAA,MADDC,WACC,QADDA,WACC;AAAA,MAECxY,GAFD,GAGGpC,OAHH,CAECoC,GAFD;;AAID,MAAM0c,WAAW,GAAG,SAAdA,WAAc,GAAM;AAAEC,IAAAA,MAAM,CAACC,IAAP,CAAY5c,GAAZ;AAAmB,GAA/C;;AACA,MAAM4Y,UAAU,GAAGxM,YAAM,CAAC,IAAD,CAAzB;AACA,MAAMyF,gBAAgB,GAAGzF,YAAM,CAAC,IAAD,CAA/B;AACA,MAAMmP,OAAO,GAAGnP,YAAM,CAAC,IAAD,CAAtB;AACA,MAAMyQ,oBAAoB,GAAGzQ,YAAM,CAAC,IAAD,CAAnC;;AARC,kBASmCoI,cAAQ,CAAC,KAAD,CAT3C;AAAA;AAAA,MASMyE,UATN;AAAA,MASkBC,aATlB;;AAAA,mBAUmC1E,cAAQ,CAAC,KAAD,CAV3C;AAAA;AAAA,MAUM2E,UAVN;AAAA,MAUkBC,aAVlB;;AAAA,mBAW2C5E,cAAQ,CAAC,KAAD,CAXnD;AAAA;AAAA,MAWM6E,cAXN;AAAA,MAWsBC,iBAXtB;;AAYD,MAAMiB,qBAAqB,GAAGpQ,WAAW,IAAI6K,WAAf,IAA+BA,WAAW,CAACoB,IAAZ,GAAmB,CAAhF;AACA,MAAMjB,sBAAsB,GAAGD,sBAA/B;AACA,MAAM6D,aAAa,GAAGC,2BAAmB,CAACjG,MAAD,CAAzC;AACA,MAAMyH,kBAAkB,GAAGzB,aAAa,IAAI5O,WAAjB,IAAgCvM,OAAO,CAACuU,SAAxC,IACrBvU,OAAO,CAACuU,SAAR,CAAkBtQ,MAAlB,GAA2B,CADjC;;AAGA,MAAM0X,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AAChCH,IAAAA,aAAa,CAAC,IAAD,CAAb;AACD,GAFD;;AAGA,MAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/BJ,IAAAA,aAAa,CAAC,KAAD,CAAb;AACD,GAFD;;AAIA5B,EAAAA,aAAa,CAAC;AACZrH,IAAAA,GAAG,EAAEyI,UADO;AAEZnB,IAAAA,QAAQ,EAAEyB;AAFE,GAAD,CAAb;AAKA,SACElJ;AACE,IAAA,SAAS,EAAC,iCADZ;AAEE,IAAA,GAAG,EAAE4I,UAFP;AAGE,IAAA,KAAK,EAAE;AACLa,MAAAA,UAAU,EAAElB,QAAQ,GAAGyD,iBAAH,GAAuBhE,gBADtC;AAEL0B,MAAAA,aAAa,EAAElB,WAAW,GAAGwD,iBAAH,GAAuBhE;AAF5C;AAHT,KAQEhI;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA;AACE,IAAA,SAAS,EAAC,6BADZ;AAEE,IAAA,GAAG,EAAE6B;AAFP,KAIE7B,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC2J,gBAAD;AACE,QAAA,GAAG,EAAE4B,OADP;AAEE,QAAA,KAAK,EAAC,MAFR;AAGE,QAAA,MAAM,EAAC,MAHT;AAIE,QAAA,OAAO,EAAE,mBAAM;AACbjF,UAAAA,cAAc;AACdiD,UAAAA,mBAAmB;AACnBD,UAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD,SARH;AASE,QAAA,MAAM,EAAE,kBAAM;AACZE,UAAAA,kBAAkB;AACnB;AAXH,SAaExJ,6BAACwC,UAAD;AAAM,QAAA,KAAK,EAAC,MAAZ;AAAmB,QAAA,MAAM,EAAC,MAA1B;AAAiC,QAAA,IAAI,EAAEC,eAAS,CAACmH;AAAjD,QAbF,CADW;AAAA,KADf;AAkBE,IAAA,SAAS,EAAE,mBAACE,KAAD,EAAW;AACpB,UAAMhI,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1BgI,QAAAA,KAAK;AACLR,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,OAHD;;AAIA,aACEtJ,6BAAC+J;AACC;;;;AADF;AAKE,QAAA,SAAS,EAAEwB,OALb;AAME,QAAA,gBAAgB,EAAE1J,gBANpB;AAOE,QAAA,aAAa,EAAEC,aAPjB;AAQE,QAAA,QAAQ;AARV,SAWKlU,OAAO,IAAIA,OAAO,CAACiO,YAAnB,IAAmCjO,OAAO,CAACiO,YAAR,EAApC,IACEmE,6BAACgK,cAAD;AACE,QAAA,OAAO,EAAE,mBAAM;AACb7B,UAAAA,aAAa,CAACva,OAAD,CAAb;AACAkU,UAAAA,aAAa;AACd;AAJH,kBAZN,EAsBE9B,6BAACgK,cAAD;AAAU,QAAA,OAAO,EAAE,mBAAM;AACvB,cAAI5B,QAAJ,EAAc;AAAE;AAAS;;AACzBE,UAAAA,UAAU,CAAC,IAAD,CAAV;AACAxG,UAAAA,aAAa;AACd;AAJD,kBAtBF,CADF;AAiCD;AAxDH,IAJF,EA+DIyI,qBAAqB,IACnBvK,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC2J,gBAAD;AACE,QAAA,GAAG,EAAEkD,oBADP;AAEE,QAAA,KAAK,EAAC,MAFR;AAGE,QAAA,MAAM,EAAC,MAHT;AAIE,QAAA,OAAO,EAAE,mBAAM;AACbvG,UAAAA,cAAc;AACdiD,UAAAA,mBAAmB;AACnBD,UAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD,SARH;AASE,QAAA,MAAM,EAAE,kBAAM;AACZE,UAAAA,kBAAkB;AACnB;AAXH,SAaExJ,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,MAAM,EAAC,MAFT;AAGE,QAAA,IAAI,EAAEC,eAAS,CAAC+D,mBAHlB;AAIE,QAAA,SAAS,EAAE/C,gBAAU,CAACoG;AAJxB,QAbF,CADW;AAAA,KADf;AAuBE,IAAA,SAAS,EAAE,mBAACC,KAAD,EAAW;AACpB,UAAMhI,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1BgI,QAAAA,KAAK;AACLR,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,OAHD;;AAIA,aACEtJ,6BAAC,sBAAD;AACE,QAAA,OAAO,EAAEpS,OADX;AAEE,QAAA,SAAS,EAAEif,oBAFb;AAGE,QAAA,gBAAgB,EAAEhL,gBAHpB;AAIE,QAAA,aAAa,EAAEC,aAJjB;AAKE,QAAA,gBAAgB,EAAE;AAAE2E,UAAAA,CAAC,EAAE;AAAL;AALpB,QADF;AASD;AArCH,IAhEN,CADF,EA4GI,CAAC+B,WAAD,IAAgB,EAAES,UAAU,IAAIE,UAAd,IAA4BE,cAA9B,CAAhB,IACErJ;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA,6BAAC,aAAD;AACE,IAAA,OAAO,EAAEpS,OADX;AAEE,IAAA,MAAM,EAAEmV;AAFV,IADF,CA7GN,CADF,EAuHE/C;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA;AAAK,IAAA,SAAS,EAAC;AAAf,KAEIiM,aAAa,CAACjc,GAAD,CAAb,GAEIgQ,6BAACwC,UAAD;AACE,IAAA,SAAS,EAAC,sCADZ;AAEE,IAAA,KAAK,EAAC,MAFR;AAGE,IAAA,MAAM,EAAC,MAHT;AAIE,IAAA,IAAI,EAAEyJ,aAAa,CAACjc,GAAD;AAJrB,IAFJ,GASI,IAXR,EAaEgQ,6BAAC8M,gBAAD;AACE,IAAA,SAAS,EAAC,sCADZ;AAEE,IAAA,OAAO,EAAEJ;AAFX,KAIE1M,6BAACiD,WAAD;AACE,IAAA,IAAI,EAAEC,qBAAe,CAAC2D,MADxB;AAEE,IAAA,KAAK,EAAEzD,iBAAW,CAACc;AAFrB,KAIG6I,gBAAQ,CAACnf,OAAO,CAACoC,GAAT,EAAc+b,mBAAd,CAJX,CAJF,CAbF,CADF,EA2BIvB,kBAAkB,IAChBxK,6BAAC,cAAD;AACE,IAAA,SAAS,EAAC,iDADZ;AAEE,IAAA,MAAM,EAAEnN,MAFV;AAGE,IAAA,OAAO,EAAEjF,OAHX;AAIE,IAAA,WAAW,EAAEoX,WAJf;AAKE,IAAA,UAAU,EAAEC,UALd;AAME,IAAA,cAAc,EAAExD,cANlB;AAOE,IAAA,sBAAsB,EAAEyD;AAP1B,IA5BN,CAvHF,CARF,CADF;AA2KD;AAED,AAAO,SAAS8H,mBAAT,QAUJ;AAAA,MATDpf,OASC,SATDA,OASC;AAAA,MARDiF,MAQC,SARDA,MAQC;AAAA,MAPDsH,WAOC,SAPDA,WAOC;AAAA,MAND6K,WAMC,SANDA,WAMC;AAAA,MALDC,UAKC,SALDA,UAKC;AAAA,MAJDxD,cAIC,SAJDA,cAIC;AAAA,MAHDyD,sBAGC,SAHDA,sBAGC;AAAA,MAFDqD,QAEC,SAFDA,QAEC;AAAA,MADDC,WACC,SADDA,WACC;;AACD,MAAMkE,WAAW,GAAG,SAAdA,WAAc,GAAM;AAAEC,IAAAA,MAAM,CAACC,IAAP,CAAYhf,OAAO,CAACoC,GAApB;AAA2B,GAAvD;;AACA,MAAM4Y,UAAU,GAAGxM,YAAM,CAAC,IAAD,CAAzB;;AAFC,0BAMG4D,cAAK,CAACuF,UAAN,CAAiB6E,wBAAjB,CANH;AAAA,MAICC,kBAJD,qBAICA,kBAJD;AAAA,MAKCC,iBALD,qBAKCA,iBALD;;AAOD,MAAMzI,gBAAgB,GAAGzF,YAAM,CAAC,IAAD,CAA/B;AACA,MAAM+N,SAAS,GAAG/N,YAAM,CAAC,IAAD,CAAxB;AACA,MAAMyQ,oBAAoB,GAAGzQ,YAAM,CAAC,IAAD,CAAnC;;AATC,mBAUmCoI,cAAQ,CAAC,KAAD,CAV3C;AAAA;AAAA,MAUMyE,UAVN;AAAA,MAUkBC,aAVlB;;AAAA,mBAWmC1E,cAAQ,CAAC,KAAD,CAX3C;AAAA;AAAA,MAWM2E,UAXN;AAAA,MAWkBC,aAXlB;;AAAA,oBAY2C5E,cAAQ,CAAC,KAAD,CAZnD;AAAA;AAAA,MAYM6E,cAZN;AAAA,MAYsBC,iBAZtB;;AAaD,MAAMiB,qBAAqB,GAAGpQ,WAAW,IAAI6K,WAAf,IAA+BA,WAAW,CAACoB,IAAZ,GAAmB,CAAhF;AACA,MAAMjB,sBAAsB,GAAGD,sBAA/B;;AAEA,MAAMqE,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AAChCH,IAAAA,aAAa,CAAC,IAAD,CAAb;AACD,GAFD;;AAGA,MAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/BJ,IAAAA,aAAa,CAAC,KAAD,CAAb;AACD,GAFD;;AAIA5B,EAAAA,aAAa,CAAC;AACZrH,IAAAA,GAAG,EAAEyI,UADO;AAEZnB,IAAAA,QAAQ,EAAEyB;AAFE,GAAD,CAAb;AAKA,SACElJ;AACE,IAAA,SAAS,EAAC,iCADZ;AAEE,IAAA,GAAG,EAAE4I,UAFP;AAGE,IAAA,KAAK,EAAE;AACLa,MAAAA,UAAU,EAAElB,QAAQ,GAAGyD,iBAAH,GAAuBhE,gBADtC;AAEL0B,MAAAA,aAAa,EAAElB,WAAW,GAAGwD,iBAAH,GAAuBhE;AAF5C;AAHT,KAQEhI;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA;AAAK,IAAA,SAAS,EAAC;AAAf,KAEI,CAACwI,WAAD,IACExI,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAACyK,YAAD;AACE,QAAA,GAAG,EAAEN,SADP;AAEE,QAAA,OAAO,EAAE,mBAAM;AACb,cAAI,CAACE,kBAAL,EAAyB;AACvB/D,YAAAA,cAAc;AACf;AACF,SANH;AAOE,QAAA,SAAS,EAAC,+BAPZ;AAQE,QAAA,GAAG,EAAEoE,yBAAmB,CAAC9c,OAAD,CAR1B;AASE,QAAA,KAAK,EAAC,MATR;AAUE,QAAA,MAAM,EAAC;AAVT,QADW;AAAA,KADf;AAeE,IAAA,SAAS,EAAE,mBAACkU,aAAD;AAAA,aACT9B,6BAAC+J;AACC;;;;AADF;AAKE,QAAA,SAAS,EAAEI,SALb;AAME,QAAA,gBAAgB,EAAEA,SANpB;AAOE,QAAA,aAAa,EAAErI,aAPjB;AAQE,QAAA,KAAK,EAAE;AAAE2H,UAAAA,UAAU,EAAE,CAAd;AAAiBC,UAAAA,aAAa,EAAE;AAAhC;AART,SAWIY,iBAAiB,GACbA,iBAAiB,CAAC;AAClBK,QAAAA,IAAI,EAAE/c,OAAO,CAACwF,MADI;AAElB0W,QAAAA,KAAK,EAAEhI;AAFW,OAAD,CADJ,GAMb9B,6BAAC4K,iBAAD;AACE,QAAA,IAAI,EAAEhd,OAAO,CAACwF,MADhB;AAEE,QAAA,SAAS,EAAE0O;AAFb,QAjBR,CADS;AAAA;AAfb,IAHN,EAgDI,CAACyG,QAAD,IACEvI,6BAACiD,WAAD;AACE,IAAA,SAAS,EAAC,oCADZ;AAEE,IAAA,IAAI,EAAEC,qBAAe,CAAC2H,SAFxB;AAGE,IAAA,KAAK,EAAEzH,iBAAW,CAACC;AAHrB,KAKGyH,mBAAa,CAACld,OAAD,CALhB,CAjDN,EA0DEoS;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA;AAAK,IAAA,SAAS,EAAC;AAAf,KAEIiM,aAAa,CAACre,OAAO,CAACoC,GAAT,CAAb,GAEIgQ,6BAACwC,UAAD;AACE,IAAA,SAAS,EAAC,sCADZ;AAEE,IAAA,KAAK,EAAC,MAFR;AAGE,IAAA,MAAM,EAAC,MAHT;AAIE,IAAA,IAAI,EAAEyJ,aAAa,CAACre,OAAO,CAACoC,GAAT;AAJrB,IAFJ,GASI,IAXR,EAaEgQ,6BAAC8M,gBAAD;AACE,IAAA,SAAS,EAAC,sCADZ;AAEE,IAAA,OAAO,EAAEJ;AAFX,KAIE1M,6BAACiD,WAAD;AACE,IAAA,IAAI,EAAEC,qBAAe,CAAC2D,MADxB;AAEE,IAAA,KAAK,EAAEzD,iBAAW,CAACc;AAFrB,KAIG6I,gBAAQ,CAACnf,OAAO,CAACoC,GAAT,EAAc+b,mBAAd,CAJX,CAJF,CAbF,CADF,EA2BK5R,WAAW,IAAIvM,OAAO,CAACuU,SAAvB,IAAqCvU,OAAO,CAACuU,SAAR,CAAkBtQ,MAAlB,GAA2B,CAAjE,IACEmO,6BAAC,cAAD;AACE,IAAA,SAAS,EAAC,iDADZ;AAEE,IAAA,MAAM,EAAEnN,MAFV;AAGE,IAAA,OAAO,EAAEjF,OAHX;AAIE,IAAA,WAAW,EAAEoX,WAJf;AAKE,IAAA,UAAU,EAAEC,UALd;AAME,IAAA,cAAc,EAAExD,cANlB;AAOE,IAAA,sBAAsB,EAAEyD;AAP1B,IA5BN,CA1DF,CADF,EAoGElF;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA;AACE,IAAA,SAAS,EAAC,6BADZ;AAEE,IAAA,GAAG,EAAE6B;AAFP,KAKI0I,qBAAqB,IACnBvK,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC2J,gBAAD;AACE,QAAA,GAAG,EAAEkD,oBADP;AAEE,QAAA,KAAK,EAAC,MAFR;AAGE,QAAA,MAAM,EAAC,MAHT;AAIE,QAAA,OAAO,EAAE,mBAAM;AACbvG,UAAAA,cAAc;AACdiD,UAAAA,mBAAmB;AACnBD,UAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD,SARH;AASE,QAAA,MAAM,EAAE,kBAAM;AACZE,UAAAA,kBAAkB;AACnB;AAXH,SAaExJ,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,MAAM,EAAC,MAFT;AAGE,QAAA,IAAI,EAAEC,eAAS,CAAC+D,mBAHlB;AAIE,QAAA,SAAS,EAAE/C,gBAAU,CAACoG;AAJxB,QAbF,CADW;AAAA,KADf;AAuBE,IAAA,SAAS,EAAE,mBAACC,KAAD,EAAW;AACpB,UAAMhI,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1BgI,QAAAA,KAAK;AACLR,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,OAHD;;AAIA,aACEtJ,6BAAC,sBAAD;AACE,QAAA,OAAO,EAAEpS,OADX;AAEE,QAAA,SAAS,EAAEif,oBAFb;AAGE,QAAA,gBAAgB,EAAEhL,gBAHpB;AAIE,QAAA,aAAa,EAAEC,aAJjB;AAKE,QAAA,gBAAgB,EAAE;AAAE2E,UAAAA,CAAC,EAAE;AAAL;AALpB,QADF;AASD;AArCH,IANN,CADF,EAkDI,CAAC+B,WAAD,IAAgB,EAAES,UAAU,IAAIE,UAAd,IAA4BE,cAA9B,CAAhB,IACErJ,6BAACiD,WAAD;AACE,IAAA,SAAS,EAAC,gCADZ;AAEE,IAAA,IAAI,EAAEC,qBAAe,CAACC,SAFxB;AAGE,IAAA,KAAK,EAAEC,iBAAW,CAACC;AAHrB,KAKGtQ,yBAAmB,CAACnF,OAAD,CALtB,CAnDN,CApGF,CARF,CADF;AA6KD;AAED6e,mBAAmB,CAAC5L,SAApB,GAAgC;AAC9BjT,EAAAA,OAAO,EAAEkT,SAAS,CAAC6C,QAAV,CAAmB7C,SAAS,CAACK,SAAV,CAAoB,CAC9CL,SAAS,CAACO,MADoC,EAE9CP,SAAS,CAACM,MAFoC,EAG9CN,SAAS,CAACI,IAHoC,EAI9CJ,SAAS,CAAC8C,KAJoC,EAK9C9C,SAAS,CAAC+C,MALoC,CAApB,CAAnB,CADqB;AAQ9BhR,EAAAA,MAAM,EAAEiO,SAAS,CAACO,MARY;AAS9B0B,EAAAA,MAAM,EAAEjC,SAAS,CAACO,MATY;AAU9BiH,EAAAA,UAAU,EAAExH,SAAS,CAACG,IAVQ;AAW9BkH,EAAAA,aAAa,EAAErH,SAAS,CAACG,IAXK;AAY9B9G,EAAAA,WAAW,EAAE2G,SAAS,CAACI,IAAV,CAAeF,UAZE;AAa9BoH,EAAAA,QAAQ,EAAEtH,SAAS,CAACI,IAbU;AAc9B8D,EAAAA,WAAW,EAAElE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CAdiB;AAe9BuV,EAAAA,UAAU,EAAEnE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CAfkB;AAgB9B+R,EAAAA,cAAc,EAAEX,SAAS,CAACG,IAhBI;AAiB9BiE,EAAAA,sBAAsB,EAAEpE,SAAS,CAACG,IAjBJ;AAkB9BsH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IAAV,CAAeF,UAlBK;AAmB9BwH,EAAAA,WAAW,EAAE1H,SAAS,CAACI,IAAV,CAAeF;AAnBE,CAAhC;AAsBAyL,mBAAmB,CAAClL,YAApB,GAAmC;AACjCwB,EAAAA,MAAM,EAAE,EADyB;AAEjCuF,EAAAA,UAAU,EAAER,MAFqB;AAGjCK,EAAAA,aAAa,EAAEL,MAHkB;AAIjCla,EAAAA,OAAO,EAAE,EAJwB;AAKjCiF,EAAAA,MAAM,EAAE,EALyB;AAMjCuV,EAAAA,QAAQ,EAAE,KANuB;AAOjCpD,EAAAA,WAAW,EAAE,IAAItV,GAAJ,EAPoB;AAQjCuV,EAAAA,UAAU,EAAE,IAAIvV,GAAJ,EARqB;AASjC+R,EAAAA,cAAc,EAAEqG,MATiB;AAUjC5C,EAAAA,sBAAsB,EAAE;AAAA,WAAM,EAAN;AAAA;AAVS,CAAnC;AAaA8H,mBAAmB,CAACnM,SAApB,GAAgC;AAC9BjT,EAAAA,OAAO,EAAEkT,SAAS,CAAC6C,QAAV,CAAmB7C,SAAS,CAACK,SAAV,CAAoB,CAC9CL,SAAS,CAACO,MADoC,EAE9CP,SAAS,CAACM,MAFoC,EAG9CN,SAAS,CAACI,IAHoC,EAI9CJ,SAAS,CAAC8C,KAJoC,EAK9C9C,SAAS,CAAC+C,MALoC,CAApB,CAAnB,CADqB;AAQ9BhR,EAAAA,MAAM,EAAEiO,SAAS,CAACO,MARY;AAS9BlH,EAAAA,WAAW,EAAE2G,SAAS,CAACI,IAAV,CAAeF,UATE;AAU9BgE,EAAAA,WAAW,EAAElE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CAViB;AAW9BuV,EAAAA,UAAU,EAAEnE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CAXkB;AAY9B+R,EAAAA,cAAc,EAAEX,SAAS,CAACG,IAZI;AAa9BiE,EAAAA,sBAAsB,EAAEpE,SAAS,CAACG,IAbJ;AAc9BsH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IAAV,CAAeF,UAdK;AAe9BwH,EAAAA,WAAW,EAAE1H,SAAS,CAACI,IAAV,CAAeF;AAfE,CAAhC;AAkBAgM,mBAAmB,CAACzL,YAApB,GAAmC;AACjC3T,EAAAA,OAAO,EAAE,EADwB;AAEjCiF,EAAAA,MAAM,EAAE,EAFyB;AAGjCmS,EAAAA,WAAW,EAAE,IAAItV,GAAJ,EAHoB;AAIjCuV,EAAAA,UAAU,EAAE,IAAIvV,GAAJ,EAJqB;AAKjC+R,EAAAA,cAAc,EAAEqG,MALiB;AAMjC5C,EAAAA,sBAAsB,EAAE;AAAA,WAAM,EAAN;AAAA;AANS,CAAnC;;AASA,IAAM+H,aAAa,GAAG,SAAhBA,aAAgB;AAAA,MACpBrf,OADoB,SACpBA,OADoB;AAAA,MAEpBiF,MAFoB,SAEpBA,MAFoB;AAAA,MAGpBuV,QAHoB,SAGpBA,QAHoB;AAAA,MAIpBF,MAJoB,SAIpBA,MAJoB;AAAA,MAKpBI,UALoB,SAKpBA,UALoB;AAAA,MAMpBvF,MANoB,SAMpBA,MANoB;AAAA,MAOpBoF,aAPoB,SAOpBA,aAPoB;AAAA,MAQpBhO,WARoB,SAQpBA,WARoB;AAAA,MASpB6K,WAToB,SASpBA,WAToB;AAAA,MAUpBC,UAVoB,SAUpBA,UAVoB;AAAA,MAWpBxD,cAXoB,SAWpBA,cAXoB;AAAA,MAYpByD,sBAZoB,SAYpBA,sBAZoB;AAAA,MAapBqD,QAboB,SAapBA,QAboB;AAAA,MAcpBC,WAdoB,SAcpBA,WAdoB;AAAA,SAgBpBxI;AAAK,IAAA,SAAS,iCAA0BkI,MAAM,GAAG,YAAH,GAAkB,YAAlD;AAAd,KAEIA,MAAM,GAEFlI,6BAAC,mBAAD;AACE,IAAA,OAAO,EAAEpS,OADX;AAEE,IAAA,MAAM,EAAEiF,MAFV;AAGE,IAAA,QAAQ,EAAEuV,QAHZ;AAIE,IAAA,UAAU,EAAEE,UAJd;AAKE,IAAA,MAAM,EAAEvF,MALV;AAME,IAAA,aAAa,EAAEoF,aANjB;AAOE,IAAA,WAAW,EAAEhO,WAPf;AAQE,IAAA,WAAW,EAAE6K,WARf;AASE,IAAA,UAAU,EAAEC,UATd;AAUE,IAAA,cAAc,EAAExD,cAVlB;AAWE,IAAA,sBAAsB,EAAEyD,sBAX1B;AAYE,IAAA,QAAQ,EAAEqD,QAZZ;AAaE,IAAA,WAAW,EAAEC;AAbf,IAFE,GAmBFxI,6BAAC,mBAAD;AACE,IAAA,MAAM,EAAEnN,MADV;AAEE,IAAA,OAAO,EAAEjF,OAFX;AAGE,IAAA,WAAW,EAAEuM,WAHf;AAIE,IAAA,WAAW,EAAE6K,WAJf;AAKE,IAAA,UAAU,EAAEC,UALd;AAME,IAAA,cAAc,EAAExD,cANlB;AAOE,IAAA,sBAAsB,EAAEyD,sBAP1B;AAQE,IAAA,QAAQ,EAAEqD,QARZ;AASE,IAAA,WAAW,EAAEC;AATf,IArBR,CAhBoB;AAAA,CAAtB;;AAsDAyE,aAAa,CAACpM,SAAd,GAA0B;AACxBjT,EAAAA,OAAO,EAAEkT,SAAS,CAAC4F,KAAV,CAAgB,EAAhB,CADe;AAExB7T,EAAAA,MAAM,EAAEiO,SAAS,CAACO,MAFM;AAGxB6G,EAAAA,MAAM,EAAEpH,SAAS,CAACI,IAHM;AAIxBkH,EAAAA,QAAQ,EAAEtH,SAAS,CAACI,IAJI;AAKxBoH,EAAAA,UAAU,EAAExH,SAAS,CAACG,IALE;AAMxBkH,EAAAA,aAAa,EAAErH,SAAS,CAACG,IAND;AAOxB8B,EAAAA,MAAM,EAAEjC,SAAS,CAACO,MAAV,CAAiBL,UAPD;AAQxB7G,EAAAA,WAAW,EAAE2G,SAAS,CAACI,IAAV,CAAeF,UARJ;AASxBgE,EAAAA,WAAW,EAAElE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CATW;AAUxBuV,EAAAA,UAAU,EAAEnE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CAVY;AAWxB+R,EAAAA,cAAc,EAAEX,SAAS,CAACG,IAXF;AAYxBiE,EAAAA,sBAAsB,EAAEpE,SAAS,CAACG,IAZV;AAaxBsH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IAbI;AAcxBsH,EAAAA,WAAW,EAAE1H,SAAS,CAACI;AAdC,CAA1B;AAiBA+L,aAAa,CAAC1L,YAAd,GAA6B;AAC3B3T,EAAAA,OAAO,EAAE,EADkB;AAE3Bsa,EAAAA,MAAM,EAAE,KAFmB;AAG3BE,EAAAA,QAAQ,EAAE,KAHiB;AAI3BE,EAAAA,UAAU,EAAER,MAJe;AAK3BK,EAAAA,aAAa,EAAEL,MALY;AAM3BjV,EAAAA,MAAM,EAAE,EANmB;AAO3BmS,EAAAA,WAAW,EAAE,IAAItV,GAAJ,EAPc;AAQ3BuV,EAAAA,UAAU,EAAE,IAAIvV,GAAJ,EARe;AAS3B+R,EAAAA,cAAc,EAAEqG,MATW;AAU3B5C,EAAAA,sBAAsB,EAAE;AAAA,WAAM,EAAN;AAAA,GAVG;AAW3BqD,EAAAA,QAAQ,EAAE,KAXiB;AAY3BC,EAAAA,WAAW,EAAE;AAZc,CAA7B;;ACplBA,IAAM0E,aAAa,GAAG,SAAhBA,aAAgB,CAAChN,KAAD,EAAW;AAAA,MAE7BiN,YAF6B,GAI3BjN,KAJ2B,CAE7BiN,YAF6B;AAAA,MAG7BC,eAH6B,GAI3BlN,KAJ2B,CAG7BkN,eAH6B;;AAAA,oBAKT7H,gBAAU,CAACC,uCAAD,CALD;AAAA,MAKvBC,SALuB,eAKvBA,SALuB;;AAM/B,SACEzF,6BAACqN,WAAD;AACE,IAAA,QAAQ,EAAEF,YADZ;AAEE,IAAA,QAAQ,EAAEC,eAFZ;AAGE,IAAA,UAAU,EAAC,QAHb;AAIE,IAAA,SAAS,EAAE3H,SAAS,CAAC6H;AAJvB,IADF;AAQD,CAdD;;AAgBAJ,aAAa,CAACrM,SAAd,GAA0B;AACxBsM,EAAAA,YAAY,EAAErM,SAAS,CAACG,IAAV,CAAeD,UADL;AAExBoM,EAAAA,eAAe,EAAEtM,SAAS,CAACG,IAAV,CAAeD;AAFR,CAA1B;;ACpBO,IAAMjO,qBAAmB,GAAG,SAAtBA,mBAAsB,CAACnF,OAAD;AAAA,SAAaoF,MAAM,CAACpF,OAAO,CAACqF,SAAT,EAAoB,GAApB,CAAnB;AAAA,CAA5B;;ACeP,IAAMkR,YAAU,GAAG,0BAAnB;AACA,IAAM4D,kBAAgB,GAAG,KAAzB;AACA,IAAMC,gBAAc,GAAG,KAAvB;AAEA,AAAe,SAASuF,cAAT,OAQZ;AAAA,MAPD3f,OAOC,QAPDA,OAOC;AAAA,MANDsa,MAMC,QANDA,MAMC;AAAA,MALDnF,MAKC,QALDA,MAKC;AAAA,MAJDxC,SAIC,QAJDA,SAIC;AAAA,MAHD+H,UAGC,QAHDA,UAGC;AAAA,MAFDC,QAEC,QAFDA,QAEC;AAAA,MADDC,WACC,QADDA,WACC;AACD,MAAMhI,kBAAkB,GAAGC,KAAK,CAACC,OAAN,CAAcH,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CAAlE;AACAC,EAAAA,kBAAkB,CAACyD,OAAnB,CAA2BE,YAA3B;AACA3D,EAAAA,kBAAkB,CAACxO,IAAnB,WAA2BmS,YAA3B,SAAwC+D,MAAM,GAAG,YAAH,GAAkB,YAAhE;AAEA,SACElI;AAAK,IAAA,SAAS,EAAEQ,kBAAkB,CAACG,IAAnB,CAAwB,GAAxB;AAAhB,KAEIuH,MAAM,GAEFlI,6BAAC,sBAAD;AACE,IAAA,MAAM,EAAE+C,MADV;AAEE,IAAA,OAAO,EAAEnV,OAFX;AAGE,IAAA,QAAQ,EAAE2a,QAHZ;AAIE,IAAA,UAAU,EAAED,UAJd;AAKE,IAAA,WAAW,EAAEE;AALf,IAFE,GAWFxI,6BAAC,sBAAD;AACE,IAAA,OAAO,EAAEpS,OADX;AAEE,IAAA,QAAQ,EAAE2a,QAFZ;AAGE,IAAA,WAAW,EAAEC;AAHf,IAbR,CADF;AAuBD;AAED+E,cAAc,CAAC1M,SAAf,GAA2B;AACzBjT,EAAAA,OAAO,EAAEkT,SAAS,CAAC4F,KAAV,CAAgB,EAAhB,EAAoB1F,UADJ;AAEzBkH,EAAAA,MAAM,EAAEpH,SAAS,CAACI,IAFO;AAGzB6B,EAAAA,MAAM,EAAEjC,SAAS,CAACO,MAHO;AAIzBd,EAAAA,SAAS,EAAEO,SAAS,CAACK,SAAV,CAAoB,CAC7BL,SAAS,CAACO,MADmB,EAE7BP,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAACO,MAA5B,CAF6B,CAApB,CAJc;AAQzBiH,EAAAA,UAAU,EAAExH,SAAS,CAACG,IARG;AASzBsH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IATK;AAUzBsH,EAAAA,WAAW,EAAE1H,SAAS,CAACI;AAVE,CAA3B;AAaAqM,cAAc,CAAChM,YAAf,GAA8B;AAC5B2G,EAAAA,MAAM,EAAE,KADoB;AAE5BnF,EAAAA,MAAM,EAAE,EAFoB;AAG5BxC,EAAAA,SAAS,EAAE,EAHiB;AAI5B+H,EAAAA,UAAU,EAAE,sBAAM,EAJU;AAK5BC,EAAAA,QAAQ,EAAE,KALkB;AAM5BC,EAAAA,WAAW,EAAE;AANe,CAA9B;;AASA,SAASgF,sBAAT,QAMG;AAAA,MALD5f,OAKC,SALDA,OAKC;AAAA,MAJDmV,MAIC,SAJDA,MAIC;AAAA,MAHDuF,UAGC,SAHDA,UAGC;AAAA,MAFDC,QAEC,SAFDA,QAEC;AAAA,MADDC,WACC,SADDA,WACC;AACD,MAAMjI,SAAS,GAAG,mCAAlB;AACA,MAAMqI,UAAU,GAAGxM,YAAM,CAAC,IAAD,CAAzB;AACA,MAAMyF,gBAAgB,GAAGzF,YAAM,CAAC,IAAD,CAA/B;AACA,MAAMmP,OAAO,GAAGnP,YAAM,CAAC,IAAD,CAAtB;;AAJC,kBAKmCoI,cAAQ,CAAC,KAAD,CAL3C;AAAA;AAAA,MAKMyE,UALN;AAAA,MAKkBC,aALlB;;AAAA,mBAMmC1E,cAAQ,CAAC,KAAD,CAN3C;AAAA;AAAA,MAMM2E,UANN;AAAA,MAMkBC,aANlB;;AAAA,mBAO2C5E,cAAQ,CAAC,KAAD,CAPnD;AAAA;AAAA,MAOM6E,cAPN;AAAA,MAOsBC,iBAPtB;;AAAA,oBAQqB/D,gBAAU,CAACC,uCAAD,CAR/B;AAAA,MAQOC,SARP,eAQOA,SARP;;AASD,MAAM8D,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AAChCH,IAAAA,aAAa,CAAC,IAAD,CAAb;AACD,GAFD;;AAGA,MAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/BJ,IAAAA,aAAa,CAAC,KAAD,CAAb;AACD,GAFD;;AAIA5B,EAAAA,aAAa,CAAC;AACZrH,IAAAA,GAAG,EAAEyI,UADO;AAEZnB,IAAAA,QAAQ,EAAEyB;AAFE,GAAD,CAAb;AAKA,SACElJ;AACE,IAAA,GAAG,EAAE4I,UADP;AAEE,IAAA,SAAS,EAAErI,SAFb;AAGE,IAAA,KAAK,EAAE;AACLkJ,MAAAA,UAAU,EAAElB,QAAQ,GAAGR,kBAAH,GAAsBC,gBADrC;AAEL0B,MAAAA,aAAa,EAAElB,WAAW,GAAGT,kBAAH,GAAsBC;AAF3C;AAHT,KAQEhI;AAAK,IAAA,SAAS,YAAKO,SAAL;AAAd,KACEP;AAAK,IAAA,SAAS,YAAKO,SAAL;AAAd,KACEP;AACE,IAAA,SAAS,YAAKO,SAAL,WADX;AAEE,IAAA,GAAG,EAAEsB;AAFP,KAIE7B,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC2J,gBAAD;AACE,QAAA,SAAS,YAAKpJ,SAAL,iBADX;AAEE,QAAA,GAAG,EAAEgL,OAFP;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAJT;AAKE,QAAA,OAAO,EAAE,mBAAM;AACbjF,UAAAA,cAAc;AACdiD,UAAAA,mBAAmB;AACnBD,UAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD,SATH;AAUE,QAAA,MAAM,EAAE,kBAAM;AACZE,UAAAA,kBAAkB;AACnB;AAZH,SAcExJ,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,MAAM,EAAC,MAFT;AAGE,QAAA,IAAI,EAAEC,eAAS,CAACmH,IAHlB;AAIE,QAAA,SAAS,EAAEnG,gBAAU,CAACoG;AAJxB,QAdF,CADW;AAAA,KADf;AAwBE,IAAA,SAAS,EAAE,mBAACC,KAAD,EAAW;AACpB,UAAMhI,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1BgI,QAAAA,KAAK;AACLR,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,OAHD;;AAIA,aACEtJ,6BAAC+J;AACC;;;;AADF;AAKE,QAAA,SAAS,EAAEwB,OALb;AAME,QAAA,gBAAgB,EAAE1J,gBANpB;AAOE,QAAA,aAAa,EAAEC,aAPjB;AAQE,QAAA,QAAQ;AARV,SAUE9B,6BAACgK,cAAD;AACE,QAAA,OAAO,EAAE,mBAAM;AAAE1B,UAAAA,UAAU,CAAC,IAAD,CAAV;AAAkBxG,UAAAA,aAAa;AAAK;AADvD,kBAVF,CADF;AAkBD;AA/CH,IAJF,CADF,EAwDI,CAAC0G,WAAD,IAAgB,EAAES,UAAU,IAAIE,UAAd,IAA4BE,cAA9B,CAAhB,IACErJ;AAAK,IAAA,SAAS,YAAKO,SAAL;AAAd,KACEP,6BAAC,aAAD;AACE,IAAA,OAAO,EAAEpS,OADX;AAEE,IAAA,MAAM,EAAEmV;AAFV,IADF,CAzDN,CADF,EAmEE/C;AAAK,IAAA,SAAS,YAAKO,SAAL;AAAd,KACEP;AAAK,IAAA,SAAS,YAAKO,SAAL;AAAd,KACEP,6BAACiD,WAAD;AACE,IAAA,SAAS,YAAK1C,SAAL,iCADX;AAEE,IAAA,IAAI,EAAE2C,qBAAe,CAAC2D,MAFxB;AAGE,IAAA,KAAK,EAAEzD,iBAAW,CAACc;AAHrB,KAKGuB,SAAS,CAACoG,6BALb,CADF,EAQE7L,6BAACiD,WAAD;AACE,IAAA,SAAS,YAAK1C,SAAL,sCADX;AAEE,IAAA,IAAI,EAAE2C,qBAAe,CAAC2D,MAFxB;AAGE,IAAA,KAAK,EAAEzD,iBAAW,CAACC;AAHrB,KAKGoC,SAAS,CAACgI,4BALb,CARF,CADF,CAnEF,CARF,CADF;AAiGD;;AAED,SAASC,sBAAT,QAIG;AAAA,MAHD9f,OAGC,SAHDA,OAGC;AAAA,MAFD2a,QAEC,SAFDA,QAEC;AAAA,MADDC,WACC,SADDA,WACC;AACD,MAAMjI,SAAS,GAAG,mCAAlB;AADC,MAEOnN,MAFP,GAEkBxF,OAFlB,CAEOwF,MAFP;AAGD,MAAM+W,SAAS,GAAG/N,YAAM,CAAC,IAAD,CAAxB;;AAHC,qBAIqBmJ,gBAAU,CAACC,uCAAD,CAJ/B;AAAA,MAIOC,SAJP,gBAIOA,SAJP;;AAAA,0BAQGzF,cAAK,CAACuF,UAAN,CAAiB6E,wBAAjB,CARH;AAAA,MAMCC,kBAND,qBAMCA,kBAND;AAAA,MAOCC,iBAPD,qBAOCA,iBAPD;;AASD,SACEtK;AACE,IAAA,SAAS,EAAEO,SADb;AAEE,IAAA,KAAK,EAAE;AACLkJ,MAAAA,UAAU,EAAElB,QAAQ,GAAGR,kBAAH,GAAsBC,gBADrC;AAEL0B,MAAAA,aAAa,EAAElB,WAAW,GAAGT,kBAAH,GAAsBC;AAF3C;AAFT,KAOEhI;AAAK,IAAA,SAAS,YAAKO,SAAL;AAAd,KACEP;AAAK,IAAA,SAAS,YAAKO,SAAL;AAAd,KAEI,CAACiI,WAAD,IACExI,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAACyK,YAAD;AACE,QAAA,GAAG,EAAEN,SADP;AAEE,QAAA,OAAO,EAAE,mBAAM;AACb,cAAI,CAACE,kBAAL,EAAyB;AACvB/D,YAAAA,cAAc;AACf;AACF,SANH;AAOE,QAAA,SAAS,YAAK/F,SAAL,iCAPX;AAQE,QAAA,GAAG,EAAEnN,MAAM,CAACua,UARd;AASE,QAAA,KAAK,EAAC,MATR;AAUE,QAAA,MAAM,EAAC,MAVT;AAWE,QAAA,GAAG,EAAC;AAXN,QADW;AAAA,KADf;AAgBE,IAAA,SAAS,EAAE,mBAAC7L,aAAD;AAAA,aACT9B,6BAAC+J;AACC;;;;AADF;AAKE,QAAA,SAAS,EAAEI,SALb;AAME,QAAA,gBAAgB,EAAEA,SANpB;AAOE,QAAA,aAAa,EAAErI,aAPjB;AAQE,QAAA,KAAK,EAAE;AAAE2H,UAAAA,UAAU,EAAE,CAAd;AAAiBC,UAAAA,aAAa,EAAE;AAAhC;AART,SAWIY,iBAAiB,GACbA,iBAAiB,CAAC;AAClBK,QAAAA,IAAI,EAAE/c,OAAO,CAACwF,MADI;AAElB0W,QAAAA,KAAK,EAAEhI;AAFW,OAAD,CADJ,GAMb9B,6BAAC4K,iBAAD;AACE,QAAA,IAAI,EAAEhd,OAAO,CAACwF,MADhB;AAEE,QAAA,SAAS,EAAE0O;AAFb,QAjBR,CADS;AAAA;AAhBb,IAHN,CADF,EAkDE9B;AAAK,IAAA,SAAS,YAAKO,SAAL;AAAd,KAEI,CAACgI,QAAD,IACEvI,6BAACiD,WAAD;AACE,IAAA,SAAS,YAAK1C,SAAL,wBADX;AAEE,IAAA,IAAI,EAAE2C,qBAAe,CAAC2H,SAFxB;AAGE,IAAA,KAAK,EAAEzH,iBAAW,CAACC;AAHrB,KAKGjQ,MAAM,CAACN,QAAP,IAAmB2S,SAAS,CAACmI,OALhC,CAHN,EAYE5N;AAAK,IAAA,SAAS,YAAKO,SAAL;AAAd,KACEP,6BAACiD,WAAD;AACE,IAAA,SAAS,YAAK1C,SAAL,iCADX;AAEE,IAAA,IAAI,EAAE2C,qBAAe,CAAC2D,MAFxB;AAGE,IAAA,KAAK,EAAEzD,iBAAW,CAACc;AAHrB,KAKGuB,SAAS,CAACoG,6BALb,CADF,EAQE7L,6BAACiD,WAAD;AACE,IAAA,SAAS,YAAK1C,SAAL,sCADX;AAEE,IAAA,IAAI,EAAE2C,qBAAe,CAAC2D,MAFxB;AAGE,IAAA,KAAK,EAAEzD,iBAAW,CAACC;AAHrB,KAKGoC,SAAS,CAACgI,4BALb,CARF,CAZF,CAlDF,EA+EEzN;AAAK,IAAA,SAAS,YAAKO,SAAL;AAAd,KAEI,CAACiI,WAAD,IACExI,6BAACiD,WAAD;AACE,IAAA,SAAS,YAAK1C,SAAL,cADX;AAEE,IAAA,IAAI,EAAE2C,qBAAe,CAACC,SAFxB;AAGE,IAAA,KAAK,EAAEC,iBAAW,CAACC;AAHrB,KAKGvJ,qBAAA,CAA0BlM,OAA1B,CALH,CAHN,CA/EF,CAPF,CADF;AAuGD;;AAED4f,sBAAsB,CAAC3M,SAAvB,GAAmC;AACjCjT,EAAAA,OAAO,EAAEkT,SAAS,CAAC4F,KAAV,CAAgB,EAAhB,EAAoB1F,UADI;AAEjC+B,EAAAA,MAAM,EAAEjC,SAAS,CAACO,MAAV,CAAiBL,UAFQ;AAGjCsH,EAAAA,UAAU,EAAExH,SAAS,CAACG,IAHW;AAIjCsH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IAAV,CAAeF,UAJQ;AAKjCwH,EAAAA,WAAW,EAAE1H,SAAS,CAACI,IAAV,CAAeF;AALK,CAAnC;AAQAwM,sBAAsB,CAACjM,YAAvB,GAAsC;AACpC+G,EAAAA,UAAU,EAAE,sBAAM;AADkB,CAAtC;AAIAoF,sBAAsB,CAAC7M,SAAvB,GAAmC;AACjCjT,EAAAA,OAAO,EAAEkT,SAAS,CAAC4F,KAAV,CAAgB;AACvBtT,IAAAA,MAAM,EAAE0N,SAAS,CAAC4F,KAAV,CAAgB;AACtB5T,MAAAA,QAAQ,EAAEgO,SAAS,CAACO,MADE;AAEtBsM,MAAAA,UAAU,EAAE7M,SAAS,CAACO;AAFA,KAAhB;AADe,GAAhB,EAKNL,UAN8B;AAOjCuH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IAAV,CAAeF,UAPQ;AAQjCwH,EAAAA,WAAW,EAAE1H,SAAS,CAACI,IAAV,CAAeF;AARK,CAAnC;;ACjVO,IAAM6M,OAAO,GAAG,kFAAhB;AACP,AAAO,IAAMC,UAAU,GAAG,qBAAnB;AACP,AAAO,IAAMC,mBAAmB,GAAG,8BAA5B;AACP,AAAO,IAAMC,mBAAmB,GAAG,8BAA5B;;ACAA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,MAAD;AAAA,SAAY,UAACnT,IAAD;AAAA,WAAUmT,MAAM,CAAC5B,IAAP,CAAYvR,IAAZ,CAAV;AAAA,GAAZ;AAAA,CAAxB;AAEP,AAAO,IAAMiO,qBAAmB,GAAG,SAAtBA,mBAAsB,CAACjG,MAAD;AAAA,SACjCA,MAAM,KAAKvS,sBAAiB,CAACC,IAA7B,IACGsS,MAAM,KAAKvS,sBAAiB,CAACO,SADhC,IAEGgS,MAAM,KAAKvS,sBAAiB,CAACI,IAHC;AAAA,CAA5B;AAMP,AAAO,IAAMqZ,eAAe,GAAG,SAAlBA,eAAkB,CAAClP,IAAD,EAAU;AACvC,MAAI;AACF,QAAI4R,MAAM,CAACwB,aAAP,IAAwBxB,MAAM,CAACwB,aAAP,CAAqBC,OAAjD,EAA0D;AACxD;AACA;AACA,aAAOzB,MAAM,CAACwB,aAAP,CAAqBC,OAArB,CAA6B,MAA7B,EAAqCrT,IAArC,CAAP;AACD;;AACD,QAAIpM,QAAQ,CAAC0f,qBAAT,IAAkC1f,QAAQ,CAAC0f,qBAAT,CAA+B,MAA/B,CAAtC,EAA8E;AAC5E,UAAMC,QAAQ,GAAG3f,QAAQ,CAAC8O,aAAT,CAAuB,UAAvB,CAAjB;AACA6Q,MAAAA,QAAQ,CAACC,WAAT,GAAuBxT,IAAvB;AACAuT,MAAAA,QAAQ,CAACE,KAAT,CAAeC,QAAf,GAA0B,OAA1B,CAH4E;;AAI5E9f,MAAAA,QAAQ,CAAC+f,IAAT,CAAcC,WAAd,CAA0BL,QAA1B;AACAA,MAAAA,QAAQ,CAACM,MAAT;;AACA,UAAI;AACF,eAAOjgB,QAAQ,CAACkgB,WAAT,CAAqB,MAArB,CAAP,CADE;AAEH,OAFD,CAEE,OAAOC,EAAP,EAAW;AACX,eAAO,KAAP;AACD,OAJD,SAIU;AACRngB,QAAAA,QAAQ,CAAC+f,IAAT,CAAcK,WAAd,CAA0BT,QAA1B;AACD;AACF;;AACD,WAAO,KAAP;AACD,GArBD,CAqBE,OAAOvV,GAAP,EAAY;AACZ,WAAOA,GAAP;AACD;AACF,CAzBM;AA2BP,AAAO,IAAM2R,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAC9c,OAAD;AAAA,SAAaA,OAAO,CAACwF,MAAR,IAAkBxF,OAAO,CAACwF,MAAR,CAAeua,UAA9C;AAAA,CAA5B;AAEP,AAAO,IAAM7C,aAAa,GAAG,SAAhBA,aAAgB,CAACld,OAAD;AAAA,SAC3BA,OAAO,CAACwF,MAAR,KACExF,OAAO,CAACwF,MAAR,CAAe4b,UAAf,IACGphB,OAAO,CAACwF,MAAR,CAAeN,QADlB,IAEGlF,OAAO,CAACwF,MAAR,CAAeP,MAHpB,CAD2B;AAAA,CAAtB;AAQP,AAAO,IAAME,qBAAmB,GAAG,SAAtBA,mBAAsB,CAACnF,OAAD;AAAA,SAAaoF,MAAM,CAACpF,OAAO,CAACqF,SAAT,EAAoB,GAApB,CAAnB;AAAA,CAA5B;AAEP,AAAO,IAAMgc,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACrhB,OAAD,EAAa;AAAA,MACnCG,UADmC,GACpBH,OADoB,CACnCG,UADmC;;AAE3C,MAAI,CAACA,UAAL,EAAiB;AACf,WAAO,KAAP;AACD;;AAJ0C,MAKnCiC,GALmC,GAK3BjC,UAL2B,CAKnCiC,GALmC;;AAM3C,MAAI,CAACA,GAAL,EAAU;AACR,WAAO,KAAP;AACD;;AACD,SAAO,IAAP;AACD,CAVM;;ACzCP,IAAM4W,iBAAe,GAAG1D,qBAAe,CAAC2D,MAAxC;AACA,IAAMqI,UAAU,GAAG9L,iBAAW,CAACc,cAA/B;AACA,IAAM4C,cAAY,GAAG1D,iBAAW,CAACC,cAAjC;AACA,IAAM8L,KAAK,GAAGlB,eAAe,CAACJ,OAAD,CAA7B;AAEA,AAAe,SAAS9G,wBAAT,OAIZ;AAAA,MAHDnZ,OAGC,QAHDA,OAGC;AAAA,MAFDoZ,SAEC,QAFDA,SAEC;AAAA,MADDzG,SACC,QADDA,SACC;;AAAA,oBACqBgF,gBAAU,CAACC,uCAAD,CAD/B;AAAA,MACOC,SADP,eACOA,SADP;;AAED,SAAO9D,aAAO,CAAC;AAAA,WAAM,YAAM;AACzB,UAAMsF,YAAY,GAAGrZ,OAAO,CAACsZ,KAAR,CAAc,GAAd,CAArB;AACA,UAAMC,cAAc,GAAGF,YAAY,CAChCnT,GADoB,CAChB,UAACsT,IAAD;AAAA,eACH+H,KAAK,CAAC/H,IAAD,CAAL,GAEIpH,6BAACoP,iBAAD;AACE,UAAA,GAAG,EAAErY,4BAAM,EADb;AAEE,UAAA,SAAS,EAAEwJ,SAFb;AAGE,UAAA,GAAG,EAAE6G,IAHP;AAIE,UAAA,IAAI,EAAER,iBAJR;AAKE,UAAA,KAAK,EAAEsI;AALT,WAOG9H,IAPH,CAFJ,GAaIpH,6BAACiD,WAAD;AACE,UAAA,GAAG,EAAElM,4BAAM,EADb;AAEE,UAAA,SAAS,EAAEwJ,SAFb;AAGE,UAAA,IAAI,EAAEqG,iBAHR;AAIE,UAAA,KAAK,EAAEsI;AAJT,WAMG9H,IANH,CAdD;AAAA,OADgB,CAAvB;;AAyBA,UAAIJ,SAAS,GAAG,CAAhB,EAAmB;AACjBG,QAAAA,cAAc,CAACnV,IAAf,CACEgO,6BAACiD,WAAD;AACE,UAAA,GAAG,EAAElM,4BAAM,EADb;AAEE,UAAA,SAAS,EAAEwJ,SAFb;AAGE,UAAA,IAAI,EAAEqG,iBAHR;AAIE,UAAA,KAAK,EAAEE;AAJT,WAMGrB,SAAS,CAAC4B,cANb,CADF;AAUD;;AACD,aAAOF,cAAP;AACD,KAxCc;AAAA,GAAD,EAwCX,CAACvZ,OAAD,EAAUoZ,SAAV,EAAqBzG,SAArB,CAxCW,CAAd;AAyCD;;AC5BD,IAAMwH,kBAAgB,GAAG,KAAzB;AACA,IAAMsH,cAAc,GAAG,KAAvB;;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,OAiBlB;AAAA,MAhBJpH,MAgBI,QAhBJA,MAgBI;AAAA,MAfJrV,MAeI,QAfJA,MAeI;AAAA,MAdJkQ,MAcI,QAdJA,MAcI;AAAA,MAbJnV,OAaI,QAbJA,OAaI;AAAA,MAZJwa,QAYI,QAZJA,QAYI;AAAA,MAXJC,QAWI,QAXJA,QAWI;AAAA,MAVJE,QAUI,QAVJA,QAUI;AAAA,MATJhI,SASI,QATJA,SASI;AAAA,MARJ0E,UAQI,QARJA,UAQI;AAAA,MAPJqD,UAOI,QAPJA,UAOI;AAAA,MANJnO,WAMI,QANJA,WAMI;AAAA,MALJ6K,WAKI,QALJA,WAKI;AAAA,MAJJwD,WAII,QAJJA,WAII;AAAA,MAHJL,aAGI,QAHJA,aAGI;AAAA,MAFJ1G,cAEI,QAFJA,cAEI;AAAA,MADJyD,sBACI,QADJA,sBACI;AAAA,MACInX,UADJ,GACmBH,OADnB,CACIG,UADJ;AAEJ,MAAMyS,kBAAkB,GAAGC,KAAK,CAACC,OAAN,CAAcH,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CAAlE;AAEA,MAAMkI,mBAAmB,GAAG1B,wBAAsB,CAAC;AACjDnZ,IAAAA,OAAO,EAAEA,OAAO,CAACA,OADgC;AAEjDoZ,IAAAA,SAAS,EAAEpZ,OAAO,CAACoZ,SAF8B;AAGjDzG,IAAAA,SAAS,EAAE;AAHsC,GAAD,CAAlD;;AAKA,MAAMgP,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrB,QAAIN,gBAAgB,CAACrhB,OAAD,CAApB,EAA+B;AAAA,UACrBoC,GADqB,GACbjC,UADa,CACrBiC,GADqB;AAE7B2c,MAAAA,MAAM,CAACC,IAAP,CAAY5c,GAAZ;AACD;AACF,GALD;;AAOA,SACEgQ;AAAK,IAAA,SAAS,YAAK8N,UAAL,cAAmBA,UAAnB,SAAgC5F,MAAM,GAAG,YAAH,GAAkB,YAAxD,cAAwE1H,kBAAkB,CAACG,IAAnB,CAAwB,GAAxB,CAAxE;AAAd,KAEIuH,MAAM,GAEFlI,6BAAC,iBAAD;AACE,IAAA,MAAM,EAAE+C,MADV;AAEE,IAAA,MAAM,EAAElQ,MAFV;AAGE,IAAA,OAAO,EAAEjF,OAHX;AAIE,IAAA,QAAQ,EAAEwa,QAJZ;AAKE,IAAA,QAAQ,EAAEmH,QALZ;AAME,IAAA,QAAQ,EAAElH,QANZ;AAOE,IAAA,QAAQ,EAAEE,QAPZ;AAQE,IAAA,UAAU,EAAED,UARd;AASE,IAAA,UAAU,EAAErD,UATd;AAUE,IAAA,WAAW,EAAEuD,WAVf;AAWE,IAAA,WAAW,EAAErO,WAXf;AAYE,IAAA,WAAW,EAAE6K,WAZf;AAaE,IAAA,aAAa,EAAEmD,aAbjB;AAcE,IAAA,cAAc,EAAE1G,cAdlB;AAeE,IAAA,mBAAmB,EAAEgH,mBAfvB;AAgBE,IAAA,sBAAsB,EAAEvD;AAhB1B,IAFE,GAsBFlF,6BAAC,iBAAD;AACE,IAAA,MAAM,EAAEnN,MADV;AAEE,IAAA,OAAO,EAAEjF,OAFX;AAGE,IAAA,QAAQ,EAAE2hB,QAHZ;AAIE,IAAA,QAAQ,EAAEhH,QAJZ;AAKE,IAAA,UAAU,EAAEtD,UALd;AAME,IAAA,WAAW,EAAEuD,WANf;AAOE,IAAA,WAAW,EAAErO,WAPf;AAQE,IAAA,WAAW,EAAE6K,WARf;AASE,IAAA,cAAc,EAAEvD,cATlB;AAUE,IAAA,mBAAmB,EAAEgH,mBAVvB;AAWE,IAAA,sBAAsB,EAAEvD;AAX1B,IAxBR,CADF;AA0CD,CA3ED;;AA6EA,SAASsK,iBAAT,CAA2BtP,KAA3B,EAAkC;AAAA,MAE9B6C,MAF8B,GAkB5B7C,KAlB4B,CAE9B6C,MAF8B;AAAA,MAG9BlQ,MAH8B,GAkB5BqN,KAlB4B,CAG9BrN,MAH8B;AAAA,MAI9BjF,OAJ8B,GAkB5BsS,KAlB4B,CAI9BtS,OAJ8B;AAAA,MAK9Bwa,QAL8B,GAkB5BlI,KAlB4B,CAK9BkI,QAL8B;AAAA,MAM9BmH,QAN8B,GAkB5BrP,KAlB4B,CAM9BqP,QAN8B;AAAA,MAO9BlH,QAP8B,GAkB5BnI,KAlB4B,CAO9BmI,QAP8B;AAAA,MAQ9BE,QAR8B,GAkB5BrI,KAlB4B,CAQ9BqI,QAR8B;AAAA,MAS9BD,UAT8B,GAkB5BpI,KAlB4B,CAS9BoI,UAT8B;AAAA,MAU9BrD,UAV8B,GAkB5B/E,KAlB4B,CAU9B+E,UAV8B;AAAA,MAW9BuD,WAX8B,GAkB5BtI,KAlB4B,CAW9BsI,WAX8B;AAAA,MAY9BxD,WAZ8B,GAkB5B9E,KAlB4B,CAY9B8E,WAZ8B;AAAA,MAa9B7K,WAb8B,GAkB5B+F,KAlB4B,CAa9B/F,WAb8B;AAAA,MAc9BgO,aAd8B,GAkB5BjI,KAlB4B,CAc9BiI,aAd8B;AAAA,MAe9B1G,cAf8B,GAkB5BvB,KAlB4B,CAe9BuB,cAf8B;AAAA,MAgB9BgH,mBAhB8B,GAkB5BvI,KAlB4B,CAgB9BuI,mBAhB8B;AAAA,MAiB9BvD,sBAjB8B,GAkB5BhF,KAlB4B,CAiB9BgF,sBAjB8B;AAAA,MAoB9BnX,UApB8B,GAqB5BH,OArB4B,CAoB9BG,UApB8B;AAAA,MAuB9B0hB,YAvB8B,GAwB5B1hB,UAxB4B,CAuB9B0hB,YAvB8B;;AAAA,oBAyBVlK,gBAAU,CAACC,uCAAD,CAzBA;AAAA,MAyBxBC,SAzBwB,eAyBxBA,SAzBwB;;AA0BhC,MAAMkD,mBAAmB,GAAGF,mBAA5B;AACA,MAAMtD,sBAAsB,GAAGD,sBAA/B;AACA,MAAM0D,UAAU,GAAGxM,YAAM,CAAC,IAAD,CAAzB;AACA,MAAMyM,kBAAkB,GAAGzM,YAAM,CAAC,IAAD,CAAjC;AACA,MAAM0M,cAAc,GAAG1M,YAAM,CAAC,IAAD,CAA7B;AACA,MAAMyF,gBAAgB,GAAGzF,YAAM,CAAC,IAAD,CAA/B;AAEA,MAAM2M,aAAa,GAAGC,qBAAmB,CAACjG,MAAD,CAAzC;;AAjCgC,kBAkCIyB,cAAQ,CAAC,KAAD,CAlCZ;AAAA;AAAA,MAkCzByE,UAlCyB;AAAA,MAkCbC,aAlCa;;AAAA,mBAmCI1E,cAAQ,CAAC,KAAD,CAnCZ;AAAA;AAAA,MAmCzB2E,UAnCyB;AAAA,MAmCbC,aAnCa;;AAqChC,MAAMoB,kBAAkB,GAAIrQ,WAAW,IAAIvM,OAAO,CAACuU,SAAvB,IAAoCvU,OAAO,CAACuU,SAAR,CAAkBtQ,MAAlB,GAA2B,CAA3F;;AAEA,MAAM0X,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AAChCH,IAAAA,aAAa,CAAC,IAAD,CAAb;AACD,GAFD;;AAGA,MAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/BJ,IAAAA,aAAa,CAAC,KAAD,CAAb;AACD,GAFD;;AAIA5B,EAAAA,aAAa,CAAC;AACZrH,IAAAA,GAAG,EAAEyI,UADO;AAEZnB,IAAAA,QAAQ,EAAEyB;AAFE,GAAD,CAAb;AAKA,SACElJ;AACE,IAAA,GAAG,EAAE4I,UADP;AAEE,IAAA,SAAS,EAAEmF,mBAFb;AAGE,IAAA,KAAK,EAAE;AACLtE,MAAAA,UAAU,EAAElB,QAAQ,GAAGR,kBAAH,GAAsBsH,cADrC;AAEL3F,MAAAA,aAAa,EAAElB,WAAW,GAAGT,kBAAH,GAAsBsH;AAF3C;AAHT,KAQErP;AAAK,IAAA,SAAS,YAAK+N,mBAAL;AAAd,KACE/N;AAAK,IAAA,SAAS,YAAK+N,mBAAL;AAAd,KACE/N;AAAK,IAAA,SAAS,YAAK+N,mBAAL,WAAd;AAAgD,IAAA,GAAG,EAAElM;AAArD,KACE7B,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC2J,gBAAD;AACE,QAAA,SAAS,YAAKoE,mBAAL,iBADX;AAEE,QAAA,GAAG,EAAEjF,cAFP;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAJT;AAKE,QAAA,OAAO,EAAE,mBAAM;AACbxC,UAAAA,cAAc;AACdiD,UAAAA,mBAAmB;AACpB,SARH;AASE,QAAA,MAAM,EAAE,kBAAM;AACZC,UAAAA,kBAAkB;AACnB;AAXH,SAaExJ,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,MAAM,EAAC,MAFT;AAGE,QAAA,IAAI,EAAEC,eAAS,CAACmH,IAHlB;AAIE,QAAA,SAAS,EAAEnG,gBAAU,CAACoG;AAJxB,QAbF,CADW;AAAA,KADf;AAuBE,IAAA,SAAS,EAAE,mBAAC/H,aAAD;AAAA,aACT9B,6BAAC+J,eAAD;AACE,QAAA,SAAS,EAAEjB,cADb;AAAA;AAGE,QAAA,gBAAgB,EAAEjH,gBAHpB;AAAA;AAKE,QAAA,aAAa,EAAEC,aALjB;AAME,QAAA,QAAQ;AANV,SASIiH,aAAa,IACX/I,6BAACgK,cAAD;AACE,QAAA,SAAS,YAAK+D,mBAAL,uBADX;AAEE,QAAA,OAAO,EAAE,mBAAM;AAAE9D,UAAAA,eAAe,CAACrc,OAAO,CAACA,OAAT,CAAf;AAAkCkU,UAAAA,aAAa;AAAK;AAFvE,SAIG2D,SAAS,CAACiK,2BAJb,CAVN,EAmBI3G,aAAa,IACX/I,6BAACgK,cAAD;AACE,QAAA,OAAO,EAAE,mBAAM;AACb,cAAI5B,QAAJ,EAAc;AAAE;AAAS;;AACzBC,UAAAA,QAAQ,CAAC,IAAD,CAAR;AACAvG,UAAAA,aAAa;AACd;AALH,SAOG2D,SAAS,CAACkK,2BAPb,CApBN,EAgCK/hB,OAAO,IAAIA,OAAO,CAACiO,YAAnB,IAAmCjO,OAAO,CAACiO,YAAR,EAApC,IACEmE,6BAACgK,cAAD;AACE,QAAA,OAAO,EAAE,mBAAM;AACb7B,UAAAA,aAAa,CAACva,OAAD,CAAb;AACAkU,UAAAA,aAAa;AACd;AAJH,SAMG2D,SAAS,CAACgG,6BANb,CAjCN,EA2CEzL,6BAACgK,cAAD;AACE,QAAA,OAAO,EAAE,mBAAM;AACb,cAAI5B,QAAJ,EAAc;AAAE;AAAS;;AACzBE,UAAAA,UAAU,CAAC,IAAD,CAAV;AACAxG,UAAAA,aAAa;AACd;AALH,SAOG2D,SAAS,CAACiG,6BAPb,CA3CF,CADS;AAAA;AAvBb,IADF,EAiFK3C,aAAa,IAAI5O,WAAjB,IAAiC6K,WAAW,CAACoB,IAAZ,GAAmB,CAArD,IAEEpG,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC2J,gBAAD;AACE,QAAA,SAAS,YAAKoE,mBAAL,yBADX;AAEE,QAAA,GAAG,EAAElF,kBAFP;AAGE,QAAA,KAAK,EAAC,MAHR;AAIE,QAAA,MAAM,EAAC,MAJT;AAKE,QAAA,OAAO,EAAEvC;AALX,SAOEtG,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,MAAM,EAAC,MAFT;AAGE,QAAA,IAAI,EAAEC,eAAS,CAAC+D,mBAHlB;AAIE,QAAA,SAAS,EAAE/C,gBAAU,CAACoG;AAJxB,QAPF,CADW;AAAA,KADf;AAiBE,IAAA,SAAS,EAAE,mBAAC/H,aAAD;AAAA,aACT9B,6BAAC,sBAAD;AACE,QAAA,OAAO,EAAEpS,OADX;AAEE,QAAA,SAAS,EAAEib,kBAFb;AAGE,QAAA,gBAAgB,EAAEhH,gBAHpB;AAIE,QAAA,aAAa,EAAEC,aAJjB;AAKE,QAAA,gBAAgB,EAAE;AAAE2E,UAAAA,CAAC,EAAE;AAAL;AALpB,QADS;AAAA;AAjBb,IAnFN,CADF,EAmHI,CAAC+B,WAAD,IAAgB,EAAES,UAAU,IAAIE,UAAhB,CAAhB,IACEnJ;AAAK,IAAA,SAAS,YAAK+N,mBAAL;AAAd,KACE/N,6BAAC,aAAD;AACE,IAAA,OAAO,EAAEpS,OADX;AAEE,IAAA,MAAM,EAAEmV;AAFV,IADF,CApHN,CADF,EA8HE/C;AAAK,IAAA,SAAS,YAAK+N,mBAAL;AAAd,KACE/N;AAAK,IAAA,SAAS,YAAK+N,mBAAL;AAAd,KACE/N,6BAAC,mBAAD,OADF,CADF,EAIEA;AACE,IAAA,SAAS,YAAK+N,mBAAL,yBAAuCkB,gBAAgB,CAACrhB,OAAD,CAAhB,GAA4B,EAA5B,aAAoCmgB,mBAApC,0BAAvC,CADX;AAEE,IAAA,OAAO,EAAEwB,QAFX;AAGE,IAAA,SAAS,EAAEA,QAHb;AAIE,IAAA,IAAI,EAAC,QAJP;AAKE,IAAA,QAAQ,EAAE;AALZ,KAQIE,YAAY,IACVzP,6BAACuC,mBAAD;AACE,IAAA,GAAG,EAAEkN,YAAY,CAACzf,GAAb,IAAoB,EAD3B;AAEE,IAAA,GAAG,EAAEyf,YAAY,CAACG,GAFpB;AAGE,IAAA,SAAS,YAAK7B,mBAAL,uBAHX;AAIE,IAAA,KAAK,EAAC,OAJR;AAKE,IAAA,MAAM,EAAC,OALT;AAME,IAAA,gBAAgB,EACd/N;AAAK,MAAA,SAAS,YAAK+N,mBAAL;AAAd,OACE/N,6BAACwC,UAAD;AACE,MAAA,KAAK,EAAC,MADR;AAEE,MAAA,MAAM,EAAC,MAFT;AAGE,MAAA,IAAI,EAAEC,eAAS,CAACoN;AAHlB,MADF;AAPJ,IATN,CAJF,EAgCE7P;AACE,IAAA,SAAS,YAAK+N,mBAAL,sBAAoCkB,gBAAgB,CAACrhB,OAAD,CAAhB,GAA4B,EAA5B,aAAoCmgB,mBAApC,uBAApC,CADX;AAEE,IAAA,OAAO,EAAEwB,QAFX;AAGE,IAAA,SAAS,EAAEA,QAHb;AAIE,IAAA,IAAI,EAAC,QAJP;AAKE,IAAA,QAAQ,EAAE;AALZ,KAQIxhB,UAAU,CAAC+hB,KAAX,IACE9P;AAAK,IAAA,SAAS,YAAK+N,mBAAL;AAAd,KACE/N,6BAACiD,WAAD;AAAO,IAAA,IAAI,EAAEC,qBAAe,CAAC6M,UAA7B;AAAyC,IAAA,KAAK,EAAE3M,iBAAW,CAACc;AAA5D,KACGnW,UAAU,CAAC+hB,KADd,CADF,CATN,EAiBI/hB,UAAU,CAACiiB,WAAX,IACEhQ;AAAK,IAAA,SAAS,YAAK+N,mBAAL;AAAd,KACE/N,6BAACiD,WAAD;AACE,IAAA,IAAI,EAAEC,qBAAe,CAAC+M,MADxB;AAEE,IAAA,KAAK,EAAE7M,iBAAW,CAACc,cAFrB;AAGE,IAAA,SAAS,YAAK6J,mBAAL;AAHX,KAKGhgB,UAAU,CAACiiB,WALd,CADF,CAlBN,EA8BIjiB,UAAU,CAACiC,GAAX,IACEgQ,6BAACiD,WAAD;AACE,IAAA,IAAI,EAAEC,qBAAe,CAACC,SADxB;AAEE,IAAA,KAAK,EAAEC,iBAAW,CAACC,cAFrB;AAGE,IAAA,SAAS,YAAK0K,mBAAL;AAHX,KAKGhgB,UAAU,CAACiC,GALd,CA/BN,EAyCIwa,kBAAkB,IAEhBxK;AACE,IAAA,SAAS,YAAK+N,mBAAL,uCADX;AAEE,IAAA,OAAO,EAAE,iBAACmC,KAAD;AAAA,aAAWA,KAAK,CAACC,eAAN,EAAX;AAAA,KAFX;AAGE,IAAA,SAAS,EAAE,mBAACD,KAAD;AAAA,aAAWA,KAAK,CAACC,eAAN,EAAX;AAAA,KAHb;AAIE,IAAA,IAAI,EAAC,QAJP;AAKE,IAAA,QAAQ,EAAE;AALZ,KAOEnQ,6BAAC,cAAD;AACE,IAAA,SAAS,YAAK+N,mBAAL,8BADX;AAEE,IAAA,MAAM,EAAElb,MAFV;AAGE,IAAA,OAAO,EAAEjF,OAHX;AAIE,IAAA,UAAU,EAAEqX,UAJd;AAKE,IAAA,WAAW,EAAED,WALf;AAME,IAAA,cAAc,EAAEvD,cANlB;AAOE,IAAA,sBAAsB,EAAEyD;AAP1B,IAPF,CA3CN,CAhCF,CA9HF,CARF,CADF;AA0OD;;AAED,SAASkL,iBAAT,CAA2BlQ,KAA3B,EAAkC;AAAA,MAE9BrN,MAF8B,GAa5BqN,KAb4B,CAE9BrN,MAF8B;AAAA,MAG9BjF,OAH8B,GAa5BsS,KAb4B,CAG9BtS,OAH8B;AAAA,MAI9B2hB,QAJ8B,GAa5BrP,KAb4B,CAI9BqP,QAJ8B;AAAA,MAK9BhH,QAL8B,GAa5BrI,KAb4B,CAK9BqI,QAL8B;AAAA,MAM9BtD,UAN8B,GAa5B/E,KAb4B,CAM9B+E,UAN8B;AAAA,MAO9BuD,WAP8B,GAa5BtI,KAb4B,CAO9BsI,WAP8B;AAAA,MAQ9BrO,WAR8B,GAa5B+F,KAb4B,CAQ9B/F,WAR8B;AAAA,MAS9B6K,WAT8B,GAa5B9E,KAb4B,CAS9B8E,WAT8B;AAAA,MAU9BvD,cAV8B,GAa5BvB,KAb4B,CAU9BuB,cAV8B;AAAA,MAW9BgH,mBAX8B,GAa5BvI,KAb4B,CAW9BuI,mBAX8B;AAAA,MAY9BvD,sBAZ8B,GAa5BhF,KAb4B,CAY9BgF,sBAZ8B;AAAA,MAe9BnX,UAf8B,GAgB5BH,OAhB4B,CAe9BG,UAf8B;AAAA,MAkB9B0hB,YAlB8B,GAmB5B1hB,UAnB4B,CAkB9B0hB,YAlB8B;;AAAA,qBAoBVlK,gBAAU,CAACC,uCAAD,CApBA;AAAA,MAoBxBC,SApBwB,gBAoBxBA,SApBwB;;AAqBhC,MAAMkD,mBAAmB,GAAGF,mBAA5B;AACA,MAAMtD,sBAAsB,GAAGD,sBAA/B;AAEA,MAAM0D,UAAU,GAAGxM,YAAM,CAAC,IAAD,CAAzB;AACA,MAAM+N,SAAS,GAAG/N,YAAM,CAAC,IAAD,CAAxB;AACA,MAAMyM,kBAAkB,GAAGzM,YAAM,CAAC,IAAD,CAAjC;AACA,MAAM0M,cAAc,GAAG1M,YAAM,CAAC,IAAD,CAA7B;AACA,MAAMyF,gBAAgB,GAAGzF,YAAM,CAAC,IAAD,CAA/B;;AA5BgC,0BAiC5B4D,cAAK,CAACuF,UAAN,CAAiB6E,wBAAjB,CAjC4B;AAAA,MA+B9BC,kBA/B8B,qBA+B9BA,kBA/B8B;AAAA,MAgC9BC,iBAhC8B,qBAgC9BA,iBAhC8B;;AAAA,mBAmCI9F,cAAQ,CAAC,KAAD,CAnCZ;AAAA;AAAA,MAmCzByE,UAnCyB;AAAA,MAmCbC,aAnCa;;AAAA,mBAoCI1E,cAAQ,CAAC,KAAD,CApCZ;AAAA;AAAA,MAoCzB2E,UApCyB;AAAA,MAoCbC,aApCa;;AAsChC,MAAMoB,kBAAkB,GAAIrQ,WAAW,IAAIvM,OAAO,CAACuU,SAAvB,IAAoCvU,OAAO,CAACuU,SAAR,CAAkBtQ,MAAlB,GAA2B,CAA3F;AACA,MAAM0Y,qBAAqB,GAAGpQ,WAAW,IAAI6K,WAAf,IAA+BA,WAAW,CAACoB,IAAZ,GAAmB,CAAhF;;AAEA,MAAMmD,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;AAChCH,IAAAA,aAAa,CAAC,IAAD,CAAb;AACD,GAFD;;AAGA,MAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/BJ,IAAAA,aAAa,CAAC,KAAD,CAAb;AACD,GAFD;;AAIA5B,EAAAA,aAAa,CAAC;AACZrH,IAAAA,GAAG,EAAEyI,UADO;AAEZnB,IAAAA,QAAQ,EAAEyB;AAFE,GAAD,CAAb;AAKA,SACElJ;AACE,IAAA,GAAG,EAAE4I,UADP;AAEE,IAAA,SAAS,EAAEoF,mBAFb;AAGE,IAAA,KAAK,EAAE;AACLvE,MAAAA,UAAU,EAAElB,QAAQ,GAAGR,kBAAH,GAAsBsH,cADrC;AAEL3F,MAAAA,aAAa,EAAElB,WAAW,GAAGT,kBAAH,GAAsBsH;AAF3C;AAHT,KAQErP;AAAK,IAAA,SAAS,YAAKgO,mBAAL;AAAd,KACEhO;AAAK,IAAA,SAAS,YAAKgO,mBAAL;AAAd,KAEI,CAACxF,WAAD,IACExI,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAACyK,YAAD;AACE,QAAA,GAAG,EAAEN,SADP;AAEE,QAAA,OAAO,EAAE,mBAAM;AACb,cAAI,CAACE,kBAAL,EAAyB;AACvB/D,YAAAA,cAAc;AACf;AACF,SANH;AAOE,QAAA,SAAS,YAAK0H,mBAAL,aAPX;AAQE,QAAA,GAAG,EAAEtD,mBAAmB,CAAC9c,OAAD,CAR1B;AASE,QAAA,KAAK,EAAC,MATR;AAUE,QAAA,MAAM,EAAC,MAVT;AAWE,QAAA,GAAG,EAAC;AAXN,QADW;AAAA,KADf;AAgBE,IAAA,SAAS,EAAE,mBAACkU,aAAD;AAAA,aACT9B,6BAAC+J,eAAD;AACE,QAAA,SAAS,EAAEI,SADb;AAAA;AAGE,QAAA,gBAAgB,EAAEA,SAHpB;AAAA;AAKE,QAAA,aAAa,EAAErI,aALjB;AAME,QAAA,KAAK,EAAE;AAAE2H,UAAAA,UAAU,EAAE,CAAd;AAAiBC,UAAAA,aAAa,EAAE;AAAhC;AANT,SASIY,iBAAiB,GACbA,iBAAiB,CAAC;AAClBK,QAAAA,IAAI,EAAE/c,OAAO,CAACwF,MADI;AAElB0W,QAAAA,KAAK,EAAEhI;AAFW,OAAD,CADJ,GAMb9B,6BAAC4K,iBAAD;AACE,QAAA,IAAI,EAAEhd,OAAO,CAACwF,MADhB;AAEE,QAAA,SAAS,EAAE0O;AAFb,QAfR,CADS;AAAA;AAhBb,IAHN,EA+CI,CAACyG,QAAD,IACEvI,6BAACiD,WAAD;AACE,IAAA,SAAS,YAAK+K,mBAAL,kBADX;AAEE,IAAA,IAAI,EAAE9K,qBAAe,CAAC2H,SAFxB;AAGE,IAAA,KAAK,EAAEzH,iBAAW,CAACC;AAHrB,KAKGyH,aAAa,CAACld,OAAD,CALhB,CAhDN,EAyDEoS;AAAK,IAAA,SAAS,YAAKgO,mBAAL;AAAd,KACEhO,6BAAC,mBAAD,OADF,CAzDF,EA4DEA;AACE,IAAA,SAAS,YAAKgO,mBAAL,yBAAuCiB,gBAAgB,CAACrhB,OAAD,CAAhB,GAA4B,EAA5B,aAAoCogB,mBAApC,0BAAvC,CADX;AAEE,IAAA,OAAO,EAAEuB,QAFX;AAGE,IAAA,SAAS,EAAEA,QAHb;AAIE,IAAA,IAAI,EAAC,QAJP;AAKE,IAAA,QAAQ,EAAE;AALZ,KAQIE,YAAY,IACVzP,6BAACuC,mBAAD;AACE,IAAA,GAAG,EAAEkN,YAAY,CAACzf,GAAb,IAAoB,EAD3B;AAEE,IAAA,GAAG,EAAEyf,YAAY,CAACG,GAAb,IAAoB,EAF3B;AAGE,IAAA,SAAS,YAAK5B,mBAAL,uBAHX;AAIE,IAAA,KAAK,EAAC,OAJR;AAKE,IAAA,MAAM,EAAC,OALT;AAME,IAAA,gBAAgB,EACdhO;AAAK,MAAA,SAAS,YAAKgO,mBAAL;AAAd,OACEhO,6BAACwC,UAAD;AACE,MAAA,KAAK,EAAC,MADR;AAEE,MAAA,MAAM,EAAC,MAFT;AAGE,MAAA,IAAI,EAAEC,eAAS,CAACoN;AAHlB,MADF;AAPJ,IATN,CA5DF,EAwFE7P;AACE,IAAA,SAAS,YAAKgO,mBAAL,sBAAoCiB,gBAAgB,CAACrhB,OAAD,CAAhB,GAA4B,EAA5B,aAAoCogB,mBAApC,uBAApC,CADX;AAEE,IAAA,OAAO,EAAEuB,QAFX;AAGE,IAAA,SAAS,EAAEA,QAHb;AAIE,IAAA,IAAI,EAAC,QAJP;AAKE,IAAA,QAAQ,EAAE;AALZ,KAQIxhB,UAAU,CAAC+hB,KAAX,IACE9P;AAAK,IAAA,SAAS,YAAKgO,mBAAL;AAAd,KAEEhO,6BAACiD,WAAD;AAAO,IAAA,IAAI,EAAEC,qBAAe,CAAC6M,UAA7B;AAAyC,IAAA,KAAK,EAAE3M,iBAAW,CAACc;AAA5D,KACGnW,UAAU,CAAC+hB,KADd,CAFF,CATN,EAkBI/hB,UAAU,CAACiiB,WAAX,IACEhQ;AAAK,IAAA,SAAS,YAAKgO,mBAAL;AAAd,KACEhO,6BAACiD,WAAD;AACE,IAAA,IAAI,EAAEC,qBAAe,CAAC+M,MADxB;AAEE,IAAA,KAAK,EAAE7M,iBAAW,CAACc,cAFrB;AAGE,IAAA,SAAS,YAAK8J,mBAAL;AAHX,KAKGjgB,UAAU,CAACiiB,WALd,CADF,CAnBN,EA+BIjiB,UAAU,CAACiC,GAAX,IACEgQ;AAAK,IAAA,SAAS,YAAKgO,mBAAL;AAAd,KACEhO,6BAACiD,WAAD;AACE,IAAA,IAAI,EAAEC,qBAAe,CAACC,SADxB;AAEE,IAAA,KAAK,EAAEC,iBAAW,CAACC,cAFrB;AAGE,IAAA,SAAS,YAAK2K,mBAAL;AAHX,KAKGjgB,UAAU,CAACiC,GALd,CADF,CAhCN,EA4CIwa,kBAAkB,IAEhBxK;AACE,IAAA,SAAS,YAAKgO,mBAAL,uCADX;AAEE,IAAA,OAAO,EAAE,iBAACkC,KAAD;AAAA,aAAWA,KAAK,CAACC,eAAN,EAAX;AAAA,KAFX;AAGE,IAAA,SAAS,EAAE,mBAACD,KAAD;AAAA,aAAWA,KAAK,CAACC,eAAN,EAAX;AAAA,KAHb;AAIE,IAAA,IAAI,EAAC,QAJP;AAKE,IAAA,QAAQ,EAAE;AALZ,KAOEnQ,6BAAC,cAAD;AACE,IAAA,SAAS,YAAKgO,mBAAL,8BADX;AAEE,IAAA,MAAM,EAAEnb,MAFV;AAGE,IAAA,OAAO,EAAEjF,OAHX;AAIE,IAAA,UAAU,EAAEqX,UAJd;AAKE,IAAA,WAAW,EAAED,WALf;AAME,IAAA,cAAc,EAAEvD,cANlB;AAOE,IAAA,sBAAsB,EAAEyD;AAP1B,IAPF,CA9CN,CAxFF,CADF,EA4JElF;AAAK,IAAA,SAAS,YAAKgO,mBAAL;AAAd,KAEI,CAACxF,WAAD,IAAgB,EAAES,UAAU,IAAIE,UAAhB,CAAhB,IACEnJ,6BAACiD,WAAD;AACE,IAAA,SAAS,YAAK+K,mBAAL,cADX;AAEE,IAAA,IAAI,EAAE9K,qBAAe,CAACC,SAFxB;AAGE,IAAA,KAAK,EAAEC,iBAAW,CAACC;AAHrB,KAKGtQ,qBAAmB,CAACnF,OAAD,CALtB,CAHN,EAYEoS;AAAK,IAAA,SAAS,YAAKgO,mBAAL,WAAd;AAAgD,IAAA,GAAG,EAAEnM;AAArD,KAEI0I,qBAAqB,IAEnBvK,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC2J,gBAAD;AACE,QAAA,GAAG,EAAEd,kBADP;AAEE,QAAA,KAAK,EAAC,MAFR;AAGE,QAAA,MAAM,EAAC,MAHT;AAIE,QAAA,OAAO,EAAE,mBAAM;AACbvC,UAAAA,cAAc;AACdiD,UAAAA,mBAAmB;AACpB,SAPH;AAQE,QAAA,MAAM,EAAE,kBAAM;AACZC,UAAAA,kBAAkB;AACnB;AAVH,SAYExJ,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,MAAM,EAAC,MAFT;AAGE,QAAA,IAAI,EAAEC,eAAS,CAAC+D,mBAHlB;AAIE,QAAA,SAAS,EAAE/C,gBAAU,CAACoG;AAJxB,QAZF,CADW;AAAA,KADf;AAsBE,IAAA,SAAS,EAAE,mBAAC/H,aAAD;AAAA,aACT9B,6BAAC,sBAAD;AACE,QAAA,SAAS,EAAE6I,kBADb;AAEE,QAAA,gBAAgB,EAAEhH,gBAFpB;AAGE,QAAA,aAAa,EAAEC,aAHjB;AAIE,QAAA,OAAO,EAAElU,OAJX;AAKE,QAAA,gBAAgB,EAAE;AAAE6Y,UAAAA,CAAC,EAAE;AAAL;AALpB,QADS;AAAA;AAtBb,IAJN,EAsCEzG,6BAACqG,iBAAD;AACE,IAAA,WAAW,EAAE,qBAACC,cAAD;AAAA,aACXtG,6BAAC2J,gBAAD;AACE,QAAA,GAAG,EAAEb,cADP;AAEE,QAAA,KAAK,EAAC,MAFR;AAGE,QAAA,MAAM,EAAC,MAHT;AAIE,QAAA,OAAO,EAAE,mBAAM;AACbxC,UAAAA,cAAc;AACdiD,UAAAA,mBAAmB;AACpB,SAPH;AAQE,QAAA,MAAM,EAAE,kBAAM;AACZC,UAAAA,kBAAkB;AACnB;AAVH,SAYExJ,6BAACwC,UAAD;AACE,QAAA,KAAK,EAAC,MADR;AAEE,QAAA,MAAM,EAAC,MAFT;AAGE,QAAA,IAAI,EAAEC,eAAS,CAACmH,IAHlB;AAIE,QAAA,SAAS,EAAEnG,gBAAU,CAACoG;AAJxB,QAZF,CADW;AAAA,KADf;AAsBE,IAAA,SAAS,EAAE,mBAAC/H,aAAD;AAAA,aACT9B,6BAAC+J,eAAD;AACE,QAAA,SAAS,EAAEjB,cADb;AAEE,QAAA,gBAAgB,EAAEjH,gBAFpB;AAGE,QAAA,aAAa,EAAEC;AAHjB,SAKE9B,6BAACgK,cAAD;AACE,QAAA,SAAS,YAAKgE,mBAAL,uBADX;AAEE,QAAA,OAAO,EAAE,mBAAM;AAAE/D,UAAAA,eAAe,CAACrc,OAAO,CAACA,OAAT,CAAf;AAAkCkU,UAAAA,aAAa;AAAK;AAFvE,SAIG2D,SAAS,CAACiK,2BAJb,CALF,CADS;AAAA;AAtBb,IAtCF,CAZF,CA5JF,CARF,CADF;AAiQD;;AAID,IAAM5H,MAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB;;AAEAwH,eAAe,CAACzO,SAAhB,GAA4B;AAC1BqH,EAAAA,MAAM,EAAEpH,SAAS,CAACI,IAAV,CAAeF,UADG;AAE1BnO,EAAAA,MAAM,EAAEiO,SAAS,CAACO,MAAV,CAAiBL,UAFC;AAG1BpT,EAAAA,OAAO,EAAEkT,SAAS,CAAC4F,KAAV,CAAgB;AACvB9Y,IAAAA,OAAO,EAAEkT,SAAS,CAACO,MADI;AAEvBjO,IAAAA,MAAM,EAAE0N,SAAS,CAAC4F,KAAV,CAAgB,EAAhB,CAFe;AAGvB3Y,IAAAA,UAAU,EAAE+S,SAAS,CAAC4F,KAAV,CAAgB;AAC1BoJ,MAAAA,KAAK,EAAEhP,SAAS,CAACO,MADS;AAE1B2O,MAAAA,WAAW,EAAElP,SAAS,CAACO,MAFG;AAG1BrR,MAAAA,GAAG,EAAE8Q,SAAS,CAACO,MAHW;AAI1BoO,MAAAA,YAAY,EAAE3O,SAAS,CAAC4F,KAAV,CAAgB;AAC5B1W,QAAAA,GAAG,EAAE8Q,SAAS,CAACO,MADa;AAE5BuO,QAAAA,GAAG,EAAE9O,SAAS,CAACO;AAFa,OAAhB;AAJY,KAAhB,CAHW;AAYvBc,IAAAA,SAAS,EAAErB,SAAS,CAAC8C,KAZE;AAavBoD,IAAAA,SAAS,EAAElG,SAAS,CAACM;AAbE,GAAhB,EAcNJ,UAjBuB;AAkB1B7G,EAAAA,WAAW,EAAE2G,SAAS,CAACI,IAAV,CAAeF,UAlBF;AAmB1BT,EAAAA,SAAS,EAAEO,SAAS,CAACK,SAAV,CAAoB,CAC7BL,SAAS,CAACO,MADmB,EAE7BP,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAACO,MAA5B,CAF6B,CAApB,CAnBe;AAuB1B0B,EAAAA,MAAM,EAAEjC,SAAS,CAACO,MAvBQ;AAwB1B+G,EAAAA,QAAQ,EAAEtH,SAAS,CAACI,IAxBM;AAyB1BmH,EAAAA,QAAQ,EAAEvH,SAAS,CAACG,IAzBM;AA0B1BqH,EAAAA,UAAU,EAAExH,SAAS,CAACG,IA1BI;AA2B1BkH,EAAAA,aAAa,EAAErH,SAAS,CAACG,IA3BC;AA4B1BQ,EAAAA,cAAc,EAAEX,SAAS,CAACG,IA5BA;AA6B1BgE,EAAAA,UAAU,EAAEnE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CA7Bc;AA8B1BsV,EAAAA,WAAW,EAAElE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CA9Ba;AA+B1BwV,EAAAA,sBAAsB,EAAEpE,SAAS,CAACG,IA/BR;AAgC1BsH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IAhCM;AAiC1BsH,EAAAA,WAAW,EAAE1H,SAAS,CAACI;AAjCG,CAA5B;AAoCAoO,eAAe,CAAC/N,YAAhB,GAA+B;AAC7BhB,EAAAA,SAAS,EAAE,EADkB;AAE7BwC,EAAAA,MAAM,EAAE,EAFqB;AAG7BqF,EAAAA,QAAQ,EAAE,KAHmB;AAI7BC,EAAAA,QAAQ,EAAEP,MAJmB;AAK7BQ,EAAAA,UAAU,EAAER,MALiB;AAM7BK,EAAAA,aAAa,EAAEL,MANc;AAO7BrG,EAAAA,cAAc,EAAEqG,MAPa;AAQ7B7C,EAAAA,UAAU,EAAE,IAAIvV,GAAJ,EARiB;AAS7BsV,EAAAA,WAAW,EAAE,IAAItV,GAAJ,EATgB;AAU7BwV,EAAAA,sBAAsB,EAAE4C,MAVK;AAW7BS,EAAAA,QAAQ,EAAE,KAXmB;AAY7BC,EAAAA,WAAW,EAAE;AAZgB,CAA/B;AAeAgH,iBAAiB,CAAC3O,SAAlB,GAA8B;AAC5BkC,EAAAA,MAAM,EAAEjC,SAAS,CAACO,MADU;AAE5BxO,EAAAA,MAAM,EAAEiO,SAAS,CAACO,MAAV,CAAiBL,UAFG;AAG5BpT,EAAAA,OAAO,EAAEkT,SAAS,CAAC4F,KAAV,CAAgB;AACvB9Y,IAAAA,OAAO,EAAEkT,SAAS,CAACO,MADI;AAEvBtT,IAAAA,UAAU,EAAE+S,SAAS,CAAC4F,KAAV,CAAgB;AAC1BoJ,MAAAA,KAAK,EAAEhP,SAAS,CAACO,MADS;AAE1B2O,MAAAA,WAAW,EAAElP,SAAS,CAACO,MAFG;AAG1BrR,MAAAA,GAAG,EAAE8Q,SAAS,CAACO,MAHW;AAI1BoO,MAAAA,YAAY,EAAE3O,SAAS,CAAC4F,KAAV,CAAgB;AAC5B1W,QAAAA,GAAG,EAAE8Q,SAAS,CAACO,MADa;AAE5BuO,QAAAA,GAAG,EAAE9O,SAAS,CAACO;AAFa,OAAhB;AAJY,KAAhB,CAFW;AAWvBc,IAAAA,SAAS,EAAErB,SAAS,CAAC8C,KAXE;AAYvBoD,IAAAA,SAAS,EAAElG,SAAS,CAACM,MAZE;AAavBvF,IAAAA,YAAY,EAAEiF,SAAS,CAACG,IAbD;AAcvBoP,IAAAA,SAAS,EAAEvP,SAAS,CAACM;AAdE,GAAhB,EAeNJ,UAlByB;AAmB5BoH,EAAAA,QAAQ,EAAEtH,SAAS,CAACI,IAAV,CAAeF,UAnBG;AAoB5BuO,EAAAA,QAAQ,EAAEzO,SAAS,CAACG,IAAV,CAAeD,UApBG;AAqB5BqH,EAAAA,QAAQ,EAAEvH,SAAS,CAACG,IAAV,CAAeD,UArBG;AAsB5BsH,EAAAA,UAAU,EAAExH,SAAS,CAACG,IAAV,CAAeD,UAtBC;AAuB5BiE,EAAAA,UAAU,EAAEnE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,EAA0BsR,UAvBV;AAwB5BgE,EAAAA,WAAW,EAAElE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,EAA0BsR,UAxBX;AAyB5B7G,EAAAA,WAAW,EAAE2G,SAAS,CAACI,IAAV,CAAeF,UAzBA;AA0B5BmH,EAAAA,aAAa,EAAErH,SAAS,CAACG,IAAV,CAAeD,UA1BF;AA2B5BS,EAAAA,cAAc,EAAEX,SAAS,CAACG,IAAV,CAAeD,UA3BH;AA4B5ByH,EAAAA,mBAAmB,EAAE3H,SAAS,CAACG,IAAV,CAAeD,UA5BR;AA6B5BkE,EAAAA,sBAAsB,EAAEpE,SAAS,CAACG,IAAV,CAAeD,UA7BX;AA8B5BuH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IAAV,CAAeF,UA9BG;AA+B5BwH,EAAAA,WAAW,EAAE1H,SAAS,CAACI,IAAV,CAAeF;AA/BA,CAA9B;AAkCAwO,iBAAiB,CAACjO,YAAlB,GAAiC;AAC/BwB,EAAAA,MAAM,EAAE;AADuB,CAAjC;AAIAqN,iBAAiB,CAACvP,SAAlB,GAA8B;AAC5BhO,EAAAA,MAAM,EAAEiO,SAAS,CAACO,MAAV,CAAiBL,UADG;AAE5BpT,EAAAA,OAAO,EAAEkT,SAAS,CAAC4F,KAAV,CAAgB;AACvB9Y,IAAAA,OAAO,EAAEkT,SAAS,CAACO,MADI;AAEvBjO,IAAAA,MAAM,EAAE0N,SAAS,CAAC4F,KAAV,CAAgB,EAAhB,CAFe;AAGvB3Y,IAAAA,UAAU,EAAE+S,SAAS,CAAC4F,KAAV,CAAgB;AAC1BoJ,MAAAA,KAAK,EAAEhP,SAAS,CAACO,MADS;AAE1B2O,MAAAA,WAAW,EAAElP,SAAS,CAACO,MAFG;AAG1BrR,MAAAA,GAAG,EAAE8Q,SAAS,CAACO,MAHW;AAI1BoO,MAAAA,YAAY,EAAE3O,SAAS,CAAC4F,KAAV,CAAgB;AAC5B1W,QAAAA,GAAG,EAAE8Q,SAAS,CAACO,MADa;AAE5BuO,QAAAA,GAAG,EAAE9O,SAAS,CAACO;AAFa,OAAhB;AAJY,KAAhB,CAHW;AAYvBc,IAAAA,SAAS,EAAErB,SAAS,CAAC8C,KAZE;AAavBoD,IAAAA,SAAS,EAAElG,SAAS,CAACM;AAbE,GAAhB,EAcNJ,UAhByB;AAiB5BuO,EAAAA,QAAQ,EAAEzO,SAAS,CAACG,IAAV,CAAeD,UAjBG;AAkB5BiE,EAAAA,UAAU,EAAEnE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,EAA0BsR,UAlBV;AAmB5BgE,EAAAA,WAAW,EAAElE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,EAA0BsR,UAnBX;AAoB5B7G,EAAAA,WAAW,EAAE2G,SAAS,CAACI,IAAV,CAAeF,UApBA;AAqB5BS,EAAAA,cAAc,EAAEX,SAAS,CAACG,IAAV,CAAeD,UArBH;AAsB5ByH,EAAAA,mBAAmB,EAAE3H,SAAS,CAACG,IAAV,CAAeD,UAtBR;AAuB5BkE,EAAAA,sBAAsB,EAAEpE,SAAS,CAACG,IAAV,CAAeD,UAvBX;AAwB5BuH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IAAV,CAAeF,UAxBG;AAyB5BwH,EAAAA,WAAW,EAAE1H,SAAS,CAACI,IAAV,CAAeF;AAzBA,CAA9B;;ACnxBe,SAASsP,UAAT,OAmBZ;AAAA;;AAAA,MAlBD1iB,OAkBC,QAlBDA,OAkBC;AAAA,MAjBDiF,MAiBC,QAjBDA,MAiBC;AAAA,MAhBDuV,QAgBC,QAhBDA,QAgBC;AAAA,MAfDmI,YAeC,QAfDA,YAeC;AAAA,MAdDC,YAcC,QAdDA,YAcC;AAAA,MAbD5V,aAaC,QAbDA,aAaC;AAAA,MAZD6V,aAYC,QAZDA,aAYC;AAAA,MAXD1N,MAWC,QAXDA,MAWC;AAAA,MAVDoF,aAUC,QAVDA,aAUC;AAAA,MATDhO,WASC,QATDA,WASC;AAAA,MARDoO,QAQC,QARDA,QAQC;AAAA,MAPDC,WAOC,QAPDA,WAOC;AAAA,MANDxD,WAMC,QANDA,WAMC;AAAA,MALDC,UAKC,QALDA,UAKC;AAAA,MAJDxD,cAIC,QAJDA,cAIC;AAAA,MAHDyD,sBAGC,QAHDA,sBAGC;AAAA,MAFDwL,mBAEC,QAFDA,mBAEC;AAAA,MADDpgB,mBACC,QADDA,mBACC;AAAA,wBACuB1C,OADvB,CACOwF,MADP;AAAA,MACOA,MADP,gCACgB,EADhB;;AAAA,kBAE+BoR,cAAQ,CAAC,KAAD,CAFvC;AAAA;AAAA,MAEM6D,QAFN;AAAA,MAEgBsI,WAFhB;;AAAA,mBAGmCnM,cAAQ,CAAC,KAAD,CAH3C;AAAA;AAAA,MAGM8D,UAHN;AAAA,MAGkBsI,aAHlB;;AAAA,mBAI2CpM,cAAQ,CAAC,KAAD,CAJnD;AAAA;AAAA,MAIMqM,cAJN;AAAA,MAIsBC,iBAJtB;;AAKD,MAAMC,mBAAmB,GAAG3U,YAAM,CAAC,IAAD,CAAlC;AAEA,MAAM4U,eAAe,GAAGrP,aAAO,CAAC,YAAM;AACpC,QAAI+O,mBAAJ,EAAyB;AACvB,aAAOA,mBAAmB,CAAC9iB,OAAD,EAAU0C,mBAAV,CAA1B;AACD;;AACD,WAAO,IAAP;AACD,GAL8B,EAK5B,CAAC1C,OAAD,EAAUA,OAAO,CAACA,OAAlB,EAA2B8iB,mBAA3B,CAL4B,CAA/B;AAOA,MAAMxI,MAAM,GAAIrV,MAAM,KAAKO,MAAM,CAACP,MAAnB,IACTjF,OAAO,CAAC2C,YAAR,KAAyB,SADhB,IAET3C,OAAO,CAAC2C,YAAR,KAAyB,QAF/B;;AAIA,MAAIygB,eAAJ,EAAqB;AACnB,WACEhR;AAAK,MAAA,SAAS,EAAC;AAAf,OAGIwQ,YAAY,IACVxQ,6BAACiR,qBAAD,QACEjR,6BAACiD,WAAD;AAAO,MAAA,IAAI,EAAEC,qBAAe,CAAC2H,SAA7B;AAAwC,MAAA,KAAK,EAAEzH,iBAAW,CAACC;AAA3D,OACGrQ,MAAM,CAACpF,OAAO,CAACqF,SAAT,EAAoB,eAApB,CADT,CADF,CAJN,EAWE+M,6BAAC,eAAD;AAAiB,MAAA,OAAO,EAAEpS;AAA1B,MAXF,CADF;AAeD;;AAED,MAAIya,QAAJ,EAAc;AACZ,WACErI,6BAACkR,oBAAD;AACE,MAAA,MAAM,MADR;AAEE,MAAA,QAAQ,EAAEX,YAFZ;AAGE,MAAA,GAAG,EAAEQ,mBAHP;AAIE,MAAA,IAAI,EAAEnjB,OAAO,CAACwC,SAJhB;AAKE,MAAA,aAAa,EAAEqgB,aALjB;AAME,MAAA,YAAY,EAAE,wBAAM;AAAEE,QAAAA,WAAW,CAAC,KAAD,CAAX;AAAqB,OAN7C;AAOE,MAAA,KAAK,EAAE/iB,OAAO,CAACA;AAPjB,MADF;AAWD;;AAED,SACEoS;AAAK,IAAA,SAAS,EAAC;AAAf,KAGIwQ,YAAY,IACVxQ,6BAACiR,qBAAD,QACEjR,6BAACiD,WAAD;AAAO,IAAA,IAAI,EAAEC,qBAAe,CAAC2H,SAA7B;AAAwC,IAAA,KAAK,EAAEzH,iBAAW,CAACC;AAA3D,KACGrQ,MAAM,CAACpF,OAAO,CAACqF,SAAT,EAAoB,eAApB,CADT,CADF,CAJN,EAaI,wFACGjG,YAAY,CAACC,KADhB,EACwB+S,6BAAC,YAAD;AAAc,IAAA,OAAO,EAAEpS;AAAvB,IADxB,8DAEGZ,YAAY,CAACG,IAFhB,EAGI6S,6BAACmR,aAAD;AACE,IAAA,OAAO,EAAEvjB,OADX;AAEE,IAAA,MAAM,EAAEiF,MAFV;AAGE,IAAA,QAAQ,EAAEuV,QAHZ;AAIE,IAAA,MAAM,EAAEF,MAJV;AAKE,IAAA,UAAU,EAAE0I,aALd;AAME,IAAA,aAAa,EAAEzI,aANjB;AAOE,IAAA,MAAM,EAAEpF,MAPV;AAQE,IAAA,WAAW,EAAE5I,WARf;AASE,IAAA,WAAW,EAAE6K,WATf;AAUE,IAAA,UAAU,EAAEC,UAVd;AAWE,IAAA,cAAc,EAAExD,cAXlB;AAYE,IAAA,sBAAsB,EAAEyD,sBAZ1B;AAaE,IAAA,QAAQ,EAAEqD,QAbZ;AAcE,IAAA,WAAW,EAAEC;AAdf,IAHJ,8DAoBGxb,YAAY,CAACK,EApBhB,EAqBI2S,6BAACoR,eAAD;AACE,IAAA,OAAO,EAAExjB,OADX;AAEE,IAAA,MAAM,EAAEmV,MAFV;AAGE,IAAA,MAAM,EAAEmF,MAHV;AAIE,IAAA,MAAM,EAAErV,MAJV;AAKE,IAAA,QAAQ,EAAE8d,WALZ;AAME,IAAA,QAAQ,EAAEvI,QANZ;AAOE,IAAA,UAAU,EAAEwI,aAPd;AAQE,IAAA,aAAa,EAAEzI,aARjB;AASE,IAAA,WAAW,EAAEhO,WATf;AAUE,IAAA,WAAW,EAAE6K,WAVf;AAWE,IAAA,UAAU,EAAEC,UAXd;AAYE,IAAA,cAAc,EAAExD,cAZlB;AAaE,IAAA,sBAAsB,EAAEyD,sBAb1B;AAcE,IAAA,QAAQ,EAAEqD,QAdZ;AAeE,IAAA,WAAW,EAAEC;AAff,IArBJ,8DAuCGxb,YAAY,CAACI,SAvChB,EAwCI4S,6BAAC,gBAAD;AACE,IAAA,QAAQ,EAAEoI,QADZ;AAEE,IAAA,OAAO,EAAExa,OAFX;AAGE,IAAA,MAAM,EAAEiF,MAHV;AAIE,IAAA,MAAM,EAAEqV,MAJV;AAKE,IAAA,UAAU,EAAE0I,aALd;AAME,IAAA,aAAa,EAAEzI,aANjB;AAOE,IAAA,OAAO,EAAE2I,iBAPX;AAQE,IAAA,MAAM,EAAE/N,MARV;AASE,IAAA,WAAW,EAAE5I,WATf;AAUE,IAAA,WAAW,EAAE6K,WAVf;AAWE,IAAA,UAAU,EAAEC,UAXd;AAYE,IAAA,cAAc,EAAExD,cAZlB;AAaE,IAAA,sBAAsB,EAAEyD,sBAb1B;AAcE,IAAA,QAAQ,EAAEqD,QAdZ;AAeE,IAAA,WAAW,EAAEC;AAff,IAxCJ,8DA0DGxb,YAAY,CAACE,IA1DhB,EA2DI8S,6BAAC,OAAD;AACE,IAAA,OAAO,EAAEpS,OADX;AAEE,IAAA,QAAQ,EAAEwa,QAFZ;AAGE,IAAA,MAAM,EAAEF,MAHV;AAIE,IAAA,MAAM,EAAErV,MAJV;AAKE,IAAA,QAAQ,EAAE8d,WALZ;AAME,IAAA,UAAU,EAAEC,aANd;AAOE,IAAA,aAAa,EAAEzI,aAPjB;AAQE,IAAA,MAAM,EAAEpF,MARV;AASE,IAAA,WAAW,EAAE5I,WATf;AAUE,IAAA,WAAW,EAAE6K,WAVf;AAWE,IAAA,UAAU,EAAEC,UAXd;AAYE,IAAA,cAAc,EAAExD,cAZlB;AAaE,IAAA,sBAAsB,EAAEyD,sBAb1B;AAcE,IAAA,QAAQ,EAAEqD,QAdZ;AAeE,IAAA,WAAW,EAAEC;AAff,IA3DJ,0BA6EE7a,cAAc,CAACC,OAAD,CA7EhB,CAbJ,EA8FI0a,UAAU,IACRtI,6BAACqR,aAAD;AACE,IAAA,YAAY,EAAE;AAAA,aAAMT,aAAa,CAAC,KAAD,CAAnB;AAAA,KADhB;AAEE,IAAA,eAAe,EAAE,2BAAM;AACrBhW,MAAAA,aAAa,CAAChN,OAAD,CAAb;AACD;AAJH,IA/FN,EAwGIijB,cAAc,IACZ7Q,6BAACsR,kBAAD;AACE,IAAA,OAAO,EAAE;AAAA,aAAMR,iBAAiB,CAAC,KAAD,CAAvB;AAAA,KADX;AAEE,IAAA,OAAO,EAAEljB,OAFX;AAGE,IAAA,QAAQ,EAAE,oBAAM;AACdgN,MAAAA,aAAa,CAAChN,OAAD,EAAU,YAAM;AAC3BkjB,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD,OAFY,CAAb;AAGD,KAPH;AAQE,IAAA,MAAM,EAAE5I;AARV,IAzGN,EAsHI,EAAGta,OAAO,CAACK,aAAR,IAAyBL,OAAO,CAACK,aAAR,EAA1B,IAAsDL,OAAO,CAACE,WAAR,KAAwB,MAAhF,KACG,EAAEF,OAAO,CAACI,cAAR,IAA0BJ,OAAO,CAACI,cAAR,EAA5B,CADH,IAEG,EAAIJ,OAAO,CAACC,aAAR,IAAyBD,OAAO,CAACC,aAAR,EAA1B,IAAsDD,OAAO,CAACE,WAAR,KAAwB,MAAjF,CAFH,IAGG,CAAE+iB,cAHL,IAKE7Q,6BAAC,cAAD;AACE,IAAA,OAAO,EAAEpS,OADX;AAEE,IAAA,MAAM,EAAEmV,MAFV;AAGE,IAAA,MAAM,EAAEmF,MAHV;AAIE,IAAA,UAAU,EAAE0I,aAJd;AAKE,IAAA,QAAQ,EAAErI,QALZ;AAME,IAAA,WAAW,EAAEC;AANf,IA3HN,CADF;AAwID;AAED8H,UAAU,CAACzP,SAAX,GAAuB;AACrBhO,EAAAA,MAAM,EAAEiO,SAAS,CAACO,MADG;AAErBzT,EAAAA,OAAO,EAAEkT,SAAS,CAAC4F,KAAV,CAAgB;AACvBzY,IAAAA,aAAa,EAAE6S,SAAS,CAACG,IADF;AAEvBjT,IAAAA,cAAc,EAAE8S,SAAS,CAACG,IAFH;AAGvBpT,IAAAA,aAAa,EAAEiT,SAAS,CAACG,IAHF;AAIvBsQ,IAAAA,eAAe,EAAEzQ,SAAS,CAACG,IAJJ;AAKvB;AACA7Q,IAAAA,SAAS,EAAE0Q,SAAS,CAACM,MANE;AAOvBjT,IAAAA,IAAI,EAAE2S,SAAS,CAACO,MAPO;AAQvBpO,IAAAA,SAAS,EAAE6N,SAAS,CAACM,MARE;AASvBxT,IAAAA,OAAO,EAAEkT,SAAS,CAACO,MATI;AAUvB9Q,IAAAA,YAAY,EAAEuQ,SAAS,CAACO,MAVD;AAWvBvT,IAAAA,WAAW,EAAEgT,SAAS,CAACO,MAXA;AAYvBjO,IAAAA,MAAM,EAAE0N,SAAS,CAAC4F,KAAV,CAAgB;AAAE7T,MAAAA,MAAM,EAAEiO,SAAS,CAACO;AAApB,KAAhB,CAZe;AAavBtT,IAAAA,UAAU,EAAE+S,SAAS,CAAC4F,KAAV,CAAgB,EAAhB;AAbW,GAAhB,CAFY;AAiBrBgK,EAAAA,mBAAmB,EAAE5P,SAAS,CAACG,IAjBV;AAkBrB3Q,EAAAA,mBAAmB,EAAEwQ,SAAS,CAAC4F,KAAV,CAAgB,EAAhB,CAlBA;AAmBrB8J,EAAAA,YAAY,EAAE1P,SAAS,CAACI,IAnBH;AAoBrBkH,EAAAA,QAAQ,EAAEtH,SAAS,CAACI,IApBC;AAqBrBqP,EAAAA,YAAY,EAAEzP,SAAS,CAACI,IArBH;AAsBrBtG,EAAAA,aAAa,EAAEkG,SAAS,CAACG,IAAV,CAAeD,UAtBT;AAuBrByP,EAAAA,aAAa,EAAE3P,SAAS,CAACG,IAAV,CAAeD,UAvBT;AAwBrBmH,EAAAA,aAAa,EAAErH,SAAS,CAACG,IAAV,CAAeD,UAxBT;AAyBrB+B,EAAAA,MAAM,EAAEjC,SAAS,CAACO,MAzBG;AA0BrBlH,EAAAA,WAAW,EAAE2G,SAAS,CAACI,IAAV,CAAeF,UA1BP;AA2BrBuH,EAAAA,QAAQ,EAAEzH,SAAS,CAACI,IAAV,CAAeF,UA3BJ;AA4BrBwH,EAAAA,WAAW,EAAE1H,SAAS,CAACI,IAAV,CAAeF,UA5BP;AA6BrBgE,EAAAA,WAAW,EAAElE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,EAA0BsR,UA7BlB;AA8BrBiE,EAAAA,UAAU,EAAEnE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,EAA0BsR,UA9BjB;AA+BrBS,EAAAA,cAAc,EAAEX,SAAS,CAACG,IA/BL;AAgCrBiE,EAAAA,sBAAsB,EAAEpE,SAAS,CAACG;AAhCb,CAAvB;AAmCAqP,UAAU,CAAC/O,YAAX,GAA0B;AACxB1O,EAAAA,MAAM,EAAE,EADgB;AAExB0d,EAAAA,YAAY,EAAE,KAFU;AAGxBG,EAAAA,mBAAmB,EAAE,IAHG;AAIxBpgB,EAAAA,mBAAmB,EAAE,EAJG;AAKxB1C,EAAAA,OAAO,EAAE,EALe;AAMxB4iB,EAAAA,YAAY,EAAE,KANU;AAOxBpI,EAAAA,QAAQ,EAAE,KAPc;AAQxBrF,EAAAA,MAAM,EAAE,EARgB;AASxBtB,EAAAA,cAAc,EAAE,0BAAM,EATE;AAUxByD,EAAAA,sBAAsB,EAAE;AAAA,WAAM,EAAN;AAAA;AAVA,CAA1B;;ICtPqBsM;;;;;;;;;;;;;;;;;;uGACR,UAAC5Y,CAAD,EAAO;AAAA,wBAOZ,MAAKsH,KAPO;AAAA,UAEdtJ,SAFc,eAEdA,SAFc;AAAA,UAGdlC,OAHc,eAGdA,OAHc;AAAA,UAId+B,kBAJc,eAIdA,kBAJc;AAAA,UAKdgb,QALc,eAKdA,QALc;AAAA,UAMdnhB,mBANc,eAMdA,mBANc;AAShB,UAAMyQ,OAAO,GAAGnI,CAAC,CAAC8Y,MAAlB;AATgB,UAWd7iB,SAXc,GAcZkS,OAdY,CAWdlS,SAXc;AAAA,UAYd8iB,YAZc,GAcZ5Q,OAdY,CAYd4Q,YAZc;AAAA,UAad7iB,YAbc,GAcZiS,OAdY,CAadjS,YAbc;;AAehB,UAAID,SAAS,KAAK,CAAlB,EAAqB;AACnB,YAAI,CAAC6F,OAAL,EAAc;AACZ;AACD;;AACD,YAAMkd,KAAK,GAAGhb,SAAS,CAACO,OAAV,CAAkB0a,gBAAlB,CAAmC,2BAAnC,CAAd;AACA,YAAMC,KAAK,GAAGF,KAAK,IAAIA,KAAK,CAAC,CAAD,CAA5B;AACAH,QAAAA,QAAQ,CAAC,gBAAgB;AAAA;AAAA,cAAdzd,QAAc;;AACvB,cAAIA,QAAJ,EAAc;AACZ;AACA,gBAAI;AACF8d,cAAAA,KAAK,CAACC,cAAN;AACD,aAFD,CAEE,OAAOhjB,KAAP,EAAc;AAEf;AACF;AACF,SATO,CAAR;AAUD;;AAEDC,MAAAA,UAAU,CAAC,YAAM;AACf;AACA,YAAI2iB,YAAY,GAAG9iB,SAAf,KAA6BC,YAAjC,EAA+C;AAC7C2H,UAAAA,kBAAkB,CAAC;AACjBtI,YAAAA,IAAI,EAAEuK;AADW,WAAD,CAAlB;AAGApI,UAAAA,mBAAmB,CAACgH,UAApB;AACD;AACF,OARS,EAQP,GARO,CAAV;AASD;;;;;;;6BAEQ;AAAA,yBAsBH,KAAK4I,KAtBF;AAAA,UAELrN,MAFK,gBAELA,MAFK;AAAA,UAGLuV,QAHK,gBAGLA,QAHK;AAAA,UAILxR,SAJK,gBAILA,SAJK;AAAA,UAKLhC,UALK,gBAKLA,UALK;AAAA,UAMLqQ,UANK,gBAMLA,UANK;AAAA,UAOLzQ,WAPK,gBAOLA,WAPK;AAAA,UAQLb,WARK,gBAQLA,WARK;AAAA,UASLwG,WATK,gBASLA,WATK;AAAA,UAUL6K,WAVK,gBAULA,WAVK;AAAA,UAWLuL,YAXK,gBAWLA,YAXK;AAAA,UAYL3V,aAZK,gBAYLA,aAZK;AAAA,UAaL6V,aAbK,gBAaLA,aAbK;AAAA,UAcLtI,aAdK,gBAcLA,aAdK;AAAA,UAeLuI,mBAfK,gBAeLA,mBAfK;AAAA,UAgBLsB,cAhBK,gBAgBLA,cAhBK;AAAA,UAiBLxgB,cAjBK,gBAiBLA,cAjBK;AAAA,UAkBLiQ,cAlBK,gBAkBLA,cAlBK;AAAA,UAmBLwQ,kBAnBK,gBAmBLA,kBAnBK;AAAA,UAoBL3hB,mBApBK,gBAoBLA,mBApBK;AAAA,UAqBL4U,sBArBK,gBAqBLA,sBArBK;;AAuBP,UAAI,CAAC1Q,WAAL,EAAkB;AAChB,eACEwL,6BAACkS,iBAAD;AACE,UAAA,SAAS,EAAC,wCADZ;AAEE,UAAA,IAAI,EAAEC,wBAAgB,CAACC;AAFzB,UADF;AAMD;;AAED,UAAIze,WAAW,CAAC9B,MAAZ,GAAqB,CAAzB,EAA4B;AAC1B,eACEmO,6BAACkS,iBAAD;AACE,UAAA,SAAS,EAAC,oCADZ;AAEE,UAAA,IAAI,EAAEC,wBAAgB,CAACE;AAFzB,UADF;AAMD;;AAED,aACErS;AAAK,QAAA,SAAS,EAAC;AAAf,SACEA;AACE,QAAA,GAAG,EAAEpJ,SADP;AAEE,QAAA,SAAS,EAAC,yCAFZ;AAGE,QAAA,QAAQ,EAAE,KAAK6a;AAHjB,SAKEzR;AAAK,QAAA,SAAS,EAAC;AAAf,QALF,EAaEA;AAAK,QAAA,SAAS,EAAC;AAAf,SAEIrM,WAAW,CAACG,GAAZ,CACE,UAACsB,CAAD,EAAIkd,GAAJ,EAAY;AACV,YAAMC,eAAe,GAAG5e,WAAW,CAAC2e,GAAG,GAAG,CAAP,CAAnC;AACA,YAAM7e,WAAW,GAAGE,WAAW,CAAC2e,GAAG,GAAG,CAAP,CAA/B;;AAFU,oBAGsBL,kBAAkB,GAC9C3e,0BAA0B,CAACif,eAAD,EAAkBnd,CAAlB,EAAqB3B,WAArB,CADoB,GAE9C,CAAC,KAAD,EAAQ,KAAR,CALM;AAAA;AAAA,YAGH8U,QAHG;AAAA,YAGOC,WAHP;;AAMV,YAAMgK,wBAAwB,GAAGD,eAAe,IAAIA,eAAe,CAACtf,SAApE;AACA,YAAMwf,gBAAgB,GAAGrd,CAAC,CAACnC,SAA3B,CAPU;;AASV,YAAMud,YAAY,GAAG,EAAEgC,wBAAwB,IAC7CE,SAAS,CAACD,gBAAD,EAAmBD,wBAAnB,CADU,CAArB;;AAGA,YAAIR,cAAJ,EAAoB;AAClB,iBACEhS;AACE,YAAA,GAAG,EAAE5K,CAAC,CAAChF,SAAF,IAAegF,CAAC,CAACS,KADxB;AAEE,YAAA,SAAS,EAAC;AAFZ,aAKImc,cAAc,CAAC;AACbpkB,YAAAA,OAAO,EAAEwH,CADI;AAEbrF,YAAAA,OAAO,EAAEO,mBAFI;AAGb8c,YAAAA,eAAe,EAAExS,aAHJ;AAIb+X,YAAAA,eAAe,EAAElC,aAJJ;AAKbmC,YAAAA,eAAe,EAAEzK,aALJ;AAMb3W,YAAAA,cAAc,EAAdA;AANa,WAAD,CALlB,CADF;AAiBD;;AAED,eACEwO,6BAAC6S,UAAD;AACE,UAAA,mBAAmB,EAAEnC,mBADvB;AAEE,UAAA,GAAG,EAAEtb,CAAC,CAAChF,SAAF,IAAegF,CAAC,CAACS,KAFxB;AAGE,UAAA,MAAM,EAAEhD,MAHV;AAIE,UAAA,MAAM,EAAE+B,UAAU,CAACQ,CAAC,CAAChF,SAAH,CAAV,IAA2BC,eAAe,CAAC+E,CAAD,EAAI9E,mBAAJ,CAJpD;AAAA;AAME,UAAA,OAAO,EAAE8E,CANX;AAOE,UAAA,mBAAmB,EAAE9E,mBAPvB;AAQE,UAAA,QAAQ,EAAE8X,QARZ;AASE,UAAA,UAAU,EAAEnD,UATd;AAUE,UAAA,QAAQ,EAAEsD,QAVZ;AAWE,UAAA,WAAW,EAAEpO,WAXf;AAYE,UAAA,WAAW,EAAE6K,WAZf;AAaE,UAAA,YAAY,EAAEuL,YAbhB;AAcE,UAAA,YAAY,EAAEC,YAdhB;AAeE,UAAA,WAAW,EAAEhI,WAff;AAgBE,UAAA,aAAa,EAAEiI,aAhBjB;AAiBE,UAAA,aAAa,EAAE7V,aAjBjB;AAkBE,UAAA,aAAa,EAAEuN,aAlBjB;AAmBE,UAAA,cAAc,EAAE1G,cAnBlB;AAoBE,UAAA,sBAAsB,EAAEyD;AApB1B,UADF;AAwBD,OAzDH,CAFJ,CAbF,CADF,CADF;AAiFD;;;;EAvK6C4N;AA0KhDtB,kBAAkB,CAAC3Q,SAAnB,GAA+B;AAC7B;AACAjK,EAAAA,SAAS,EAAEkK,SAAS,CAAC4F,KAAV,CAAgB;AACzBvP,IAAAA,OAAO,EAAE2J,SAAS,CAACK,SAAV,CAAoB,CAC3BL,SAAS,CAACC,OADiB,EAE3BD,SAAS,CAAC4F,KAAV,CAAgB,EAAhB,CAF2B,CAApB;AADgB,GAAhB,EAKR1F,UAP0B;AAQ7BtM,EAAAA,OAAO,EAAEoM,SAAS,CAACI,IARU;AAS7BzK,EAAAA,kBAAkB,EAAEqK,SAAS,CAACG,IAAV,CAAeD,UATN;AAU7ByQ,EAAAA,QAAQ,EAAE3Q,SAAS,CAACG,IAVS;AAW7BzM,EAAAA,WAAW,EAAEsM,SAAS,CAACI,IAXM;AAY7BqP,EAAAA,YAAY,EAAEzP,SAAS,CAACI,IAZK;AAa7BkH,EAAAA,QAAQ,EAAEtH,SAAS,CAACI,IAbS;AAc7BrO,EAAAA,MAAM,EAAEiO,SAAS,CAACO,MAdW;AAe7B1N,EAAAA,WAAW,EAAEmN,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAAC4F,KAAV,CAAgB;AAC7CzT,IAAAA,SAAS,EAAE6N,SAAS,CAACM;AADwB,GAAhB,CAAlB,EAETJ,UAjByB;AAkB7BpG,EAAAA,aAAa,EAAEkG,SAAS,CAACG,IAAV,CAAeD,UAlBD;AAmB7BmH,EAAAA,aAAa,EAAErH,SAAS,CAACG,IAAV,CAAeD,UAnBD;AAoB7ByP,EAAAA,aAAa,EAAE3P,SAAS,CAACG,IAAV,CAAeD,UApBD;AAqB7BpM,EAAAA,UAAU,EAAEkM,SAAS,CAAC4F,KAAV,CAAgB,EAAhB,EAAoB1F,UArBH;AAsB7B1Q,EAAAA,mBAAmB,EAAEwQ,SAAS,CAAC4F,KAAV,CAAgB;AACnCpP,IAAAA,UAAU,EAAEwJ,SAAS,CAACG,IADa;AAEnCvO,IAAAA,OAAO,EAAEoO,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAAC4F,KAAV,CAAgB,EAAhB,CAAlB;AAF0B,GAAhB,EAGlB1F,UAzB0B;AA0B7BgR,EAAAA,cAAc,EAAElR,SAAS,CAACC,OA1BG;AA2B7B2P,EAAAA,mBAAmB,EAAE5P,SAAS,CAACG,IA3BF;AA4B7B9G,EAAAA,WAAW,EAAE2G,SAAS,CAACI,IA5BM;AA6B7B1P,EAAAA,cAAc,EAAEsP,SAAS,CAAC4F,KAAV,CAAgB,EAAhB,CA7Ba;AA8B7B1B,EAAAA,WAAW,EAAElE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CA9BgB;AA+B7BuV,EAAAA,UAAU,EAAEnE,SAAS,CAAC6F,UAAV,CAAqBjX,GAArB,CA/BiB;AAgC7BuiB,EAAAA,kBAAkB,EAAEnR,SAAS,CAACI,IAhCD;AAiC7BO,EAAAA,cAAc,EAAEX,SAAS,CAACG,IAjCG;AAkC7BiE,EAAAA,sBAAsB,EAAEpE,SAAS,CAACG;AAlCL,CAA/B;AAqCAuQ,kBAAkB,CAACjQ,YAAnB,GAAkC;AAChC7M,EAAAA,OAAO,EAAE,KADuB;AAEhC6b,EAAAA,YAAY,EAAE,KAFkB;AAGhCnI,EAAAA,QAAQ,EAAE,KAHsB;AAIhC5T,EAAAA,WAAW,EAAE,KAJmB;AAKhC3B,EAAAA,MAAM,EAAE,EALwB;AAMhC6d,EAAAA,mBAAmB,EAAE,IANW;AAOhCsB,EAAAA,cAAc,EAAE,IAPgB;AAQhCP,EAAAA,QAAQ,EAAE,IARsB;AAShCtX,EAAAA,WAAW,EAAE,IATmB;AAUhC3I,EAAAA,cAAc,EAAE,EAVgB;AAWhCwT,EAAAA,WAAW,EAAE,IAAItV,GAAJ,EAXmB;AAYhCuV,EAAAA,UAAU,EAAE,IAAIvV,GAAJ,EAZoB;AAahCuiB,EAAAA,kBAAkB,EAAE,IAbY;AAchCxQ,EAAAA,cAAc,EAAE,0BAAM,EAdU;AAehCyD,EAAAA,sBAAsB,EAAE;AAAA,WAAM,EAAN;AAAA;AAfQ,CAAlC;;ACrNe,SAAS6N,YAAT,OAIZ;AAAA,MAHDhP,KAGC,QAHDA,KAGC;AAAA,MAFDiP,IAEC,QAFDA,IAEC;AAAA,MADD3S,OACC,QADDA,OACC;;AAAA,oBACqBkF,gBAAU,CAACC,uCAAD,CAD/B;AAAA,MACOC,SADP,eACOA,SADP;;AAED,MAAMwN,SAAS,GAAGD,IAAI,CAAC9L,KAAL,CAAW,GAAX,CAAlB;AACA+L,EAAAA,SAAS,CAAChf,MAAV,CAAiB,CAAC,CAAlB,EAAqB,CAArB,EAAwBwR,SAAS,CAACyN,uCAAlC;AACA;AAEE;AAAK,MAAA,SAAS,EAAC,uBAAf;AAAuC,MAAA,OAAO,EAAE7S;AAAhD,OACEL,6BAACiD,WAAD;AAAO,MAAA,SAAS,EAAC,6BAAjB;AAA+C,MAAA,KAAK,EAAEG,iBAAW,CAAC+P,WAAlE;AAA+E,MAAA,IAAI,EAAEjQ,qBAAe,CAAC2H;AAArG,iBACM9G,KADN,QAEG0B,SAAS,CAAC2N,gDAFb,aAGOH,SAAS,CAACtS,IAAV,CAAe,GAAf,CAHP,EADF,EAMEX,6BAACwC,UAAD;AACE,MAAA,KAAK,EAAC,MADR;AAEE,MAAA,MAAM,EAAC,MAFT;AAGE,MAAA,IAAI,EAAEC,eAAS,CAAC4Q,YAHlB;AAIE,MAAA,SAAS,EAAE5P,gBAAU,CAAC6P;AAJxB,MANF;AAFF;AAgBD;AAEDP,YAAY,CAAClS,SAAb,GAAyB;AACvBkD,EAAAA,KAAK,EAAEjD,SAAS,CAACK,SAAV,CAAoB,CACzBL,SAAS,CAACO,MADe,EAEzBP,SAAS,CAACM,MAFe,CAApB,CADgB;AAKvB4R,EAAAA,IAAI,EAAElS,SAAS,CAACO,MALO;AAMvBhB,EAAAA,OAAO,EAAES,SAAS,CAACG,IAAV,CAAeD;AAND,CAAzB;AASA+R,YAAY,CAACxR,YAAb,GAA4B;AAC1BwC,EAAAA,KAAK,EAAE,CADmB;AAE1BiP,EAAAA,IAAI,EAAE;AAFoB,CAA5B;;ACpCA,IAAMO,kBAAkB,GAAG,SAArBA,kBAAqB;AACjB,MAAA9N,SAAS,GAAKF,gBAAU,CAACC,uCAAD,CAAV,UAAd;AACR,SACExF;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA,6BAACiD,WAAD;AACE,IAAA,SAAS,EAAC,6BADZ;AAEE,IAAA,IAAI,EAAEC,qBAAe,CAAC2H;AAFxB,KAIGpF,SAAS,CAAC+N,cAJb,CADF,CADF;AAUD,CAZD;;ACAA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,OAAiB;AAAA,MAAd/gB,OAAc,QAAdA,OAAc;;AAAA,oBACrB6S,gBAAU,CAACC,uCAAD,CADW;AAAA,MACnCC,SADmC,eACnCA,SADmC;;AAE3C,MAAI,CAAC/S,OAAD,IAAYA,OAAO,CAACb,MAAR,KAAmB,CAAnC,EAAsC;AACpC,WAAO,EAAP;AACD;;AAED,MAAIa,OAAO,IAAIA,OAAO,CAACb,MAAR,KAAmB,CAAlC,EAAqC;AACnC,qBAAUa,OAAO,CAAC,CAAD,CAAP,CAAWI,QAArB,cAAiC2S,SAAS,CAACiO,2BAA3C;AACD;;AAED,MAAIhhB,OAAO,IAAIA,OAAO,CAACb,MAAR,KAAmB,CAAlC,EAAqC;AACnC,qBAAUa,OAAO,CAAC,CAAD,CAAP,CAAWI,QAArB,cAAiC2S,SAAS,CAACkO,qBAA3C,cAAoEjhB,OAAO,CAAC,CAAD,CAAP,CAAWI,QAA/E,cAA2F2S,SAAS,CAACmO,4BAArG;AACD;;AAED,SAAOnO,SAAS,CAACoO,iCAAjB;AACD,CAfD;;AAiBA,SAASC,eAAT,QAAqD;AAAA,MAA1BvkB,UAA0B,SAA1BA,UAA0B;AAAA,MAAdwkB,EAAc,SAAdA,EAAc;AAAA,MAAVpd,MAAU,SAAVA,MAAU;;AAAA,kBACjB6N,cAAQ,CAACzN,4BAAM,EAAP,CADS;AAAA;AAAA,MAC5C+I,SAD4C;AAAA,MACjCkU,YADiC;;AAAA,mBAETxP,cAAQ,CAAC,EAAD,CAFC;AAAA;AAAA,MAE5CyP,aAF4C;AAAA,MAE7BC,gBAF6B;;AAInDrd,EAAAA,eAAS,CAAC,YAAM;AACd,QAAIkd,EAAE,IAAIA,EAAE,CAAC/c,cAAb,EAA6B;AAC3B+c,MAAAA,EAAE,CAAC1b,oBAAH,CAAwByH,SAAxB;AACA,UAAMqU,YAAY,GAAGpd,4BAAM,EAA3B;AACA,UAAM0I,OAAO,GAAG,IAAIsU,EAAE,CAAC/c,cAAP,EAAhB,CAH2B;;AAK3ByI,MAAAA,OAAO,CAAC2U,qBAAR,GAAgC,UAACnjB,YAAD,EAAkB;AAChD0F,QAAAA,MAAM,CAACM,IAAP,CAAY,mDAAZ,EAAiEhG,YAAjE;AACA,YAAMyB,OAAO,GAAGzB,YAAY,CAACojB,gBAAb,EAAhB;;AACA,YAAIpjB,YAAY,CAACjB,GAAb,KAAqBT,UAAzB,EAAqC;AACnC2kB,UAAAA,gBAAgB,CAACxhB,OAAD,CAAhB;AACD;AACF,OAND;;AAOAqhB,MAAAA,EAAE,CAAC3b,iBAAH,CAAqB+b,YAArB,EAAmC1U,OAAnC;AACAuU,MAAAA,YAAY,CAACG,YAAD,CAAZ;AACD;;AAED,WAAO,YAAM;AACXD,MAAAA,gBAAgB,CAAC,EAAD,CAAhB;;AACA,UAAIH,EAAE,IAAIA,EAAE,CAAC1b,oBAAb,EAAmC;AACjC0b,QAAAA,EAAE,CAAC1b,oBAAH,CAAwByH,SAAxB;AACD;AACF,KALD;AAMD,GAvBQ,EAuBN,CAACvQ,UAAD,CAvBM,CAAT;AAyBA,SACEyQ,6BAACiD,WAAD;AAAO,IAAA,IAAI,EAAEC,qBAAe,CAAC2H,SAA7B;AAAwC,IAAA,KAAK,EAAEzH,iBAAW,CAACC;AAA3D,KACErD,6BAAC,mBAAD;AAAqB,IAAA,OAAO,EAAEiU;AAA9B,IADF,CADF;AAKD;;AAEDH,eAAe,CAACjT,SAAhB,GAA4B;AAC1BtR,EAAAA,UAAU,EAAEuR,SAAS,CAACO,MAAV,CAAiBL,UADH;AAE1B+S,EAAAA,EAAE,EAAEjT,SAAS,CAAC4F,KAAV,CAAgB;AAClB1P,IAAAA,cAAc,EAAE8J,SAAS,CAACG,IADR;AAElB5I,IAAAA,oBAAoB,EAAEyI,SAAS,CAACG,IAFd;AAGlB7I,IAAAA,iBAAiB,EAAE0I,SAAS,CAACG;AAHX,GAAhB,EAIDD,UANuB;AAO1BrK,EAAAA,MAAM,EAAEmK,SAAS,CAAC4F,KAAV,CAAgB;AACtBzP,IAAAA,IAAI,EAAE6J,SAAS,CAACG;AADM,GAAhB,EAELD;AATuB,CAA5B;;AC5DA;AAEA;AAmBA,IAAMsT,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,EAAD,EAQlBpU,GARkB;MAC1BpQ,OAAO;MACP4a,IAAI;MACJ6J,aAAa;MACbC,YAAY;MACZC,kBAAkB;MAClB1a,QAAQ;MACRxF,WAAW;AAEH,MAAAiR,SAAS,GAAKF,gBAAU,CAACC,uCAAD,CAAV,UAAd;AACR,MAAM4C,QAAQ,GAAG,CAAC5T,WAAD,IACZsF,uBAAA,CAA8B/J,OAA9B,CADY,IAEZ+J,sBAAA,CAA6B/J,OAA7B,CAFY,IAGZ,CAACiK,QAHN;AAKA,MAAMhJ,YAAU,GAAG8I,UAAA,CAAiB/J,OAAjB,CAAnB;AACQ,MAAA4kB,WAAW,GAAK5kB,OAAO,YAAvB;;AAGR,MAAI2kB,kBAAJ,EAAwB;AACtB,WAAOA,kBAAkB,CAAC;AAAE3kB,MAAAA,OAAO,SAAT;AAAW4a,MAAAA,IAAI,MAAf;AAAiBvC,MAAAA,QAAQ;AAAzB,KAAD,CAAzB;AACD;;;AAGD,MAAIuM,WAAW,IAAI,CAAC3jB,YAApB,EAAgC;AAC9B,WAAO,IAAP;AACD;;;AAGD,SACEgP,6BAACkR,oBAAD;AACE,IAAA,WAAW,EAAGpX,uBAAA,CAA8B/J,OAA9B,KACT0V,SAAS,CAACmP,8CADF,IAEP9a,sBAAA,CAA6B/J,OAA7B,KACC0V,SAAS,CAACoP,2CAJnB;AAOE,IAAA,GAAG,EAAE1U,GAPP;AAQE,IAAA,QAAQ,EAAEiI,QARZ;AASE,IAAA,aAAa,EAAE;AACbrY,MAAAA,OAAO,CAAC+kB,WAAR;AACD,KAXH;AAYE,IAAA,aAAa,EAAEN,aAZjB;AAaE,IAAA,YAAY,EAAEC;AAbhB,IADF;AAiBD,CA9CD;;AAgDA,4BAAezU,cAAK,CAACC,UAAN,CAAiBqU,mBAAjB,CAAf;;AC1DA,SAASS,gBAAT,GAA4B;AAAA,oBACJxP,gBAAU,CAACC,uCAAD,CADN;AAAA,MAClBC,SADkB,eAClBA,SADkB;;AAE1B,SACEzF;AACE,IAAA,SAAS,EAAC;AADZ,KAGEA,6BAACiD,WAAD;AAAO,IAAA,IAAI,EAAEC,qBAAe,CAAC+M,MAA7B;AAAqC,IAAA,KAAK,EAAE7M,iBAAW,CAACC;AAAxD,KACIoC,SAAS,CAACuP,iBADd,CAHF,EAMEhV,6BAACwC,UAAD;AACE,IAAA,IAAI,EAAEC,eAAS,CAACwS,YADlB;AAEE,IAAA,SAAS,EAAExR,gBAAU,CAAChT,IAFxB;AAGE,IAAA,MAAM,EAAC,MAHT;AAIE,IAAA,KAAK,EAAC;AAJR,IANF,CADF;AAeD;;ACzBM,IAAMykB,UAAU,GAAG,SAAbA,UAAa,CAACC,IAAD;AAAA,SAAUC,yBAAyB,CAACD,IAAD,EAAO;AAAEE,IAAAA,SAAS,EAAE;AAAb,GAAP,CAAnC;AAAA,CAAnB;AAEP,AAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACvlB,OAAD,EAAa;AAC9C,MAAI,CAACA,OAAD,IAAY,CAACA,OAAO,CAACwlB,aAArB,IAAsC,CAACxlB,OAAO,CAAC2C,OAA/C,IAA0D3C,OAAO,CAAC2C,OAAR,CAAgBb,MAAhB,KAA2B,CAAzF,EAA4F;AAC1F,WAAO,EAAP;AACD;;AACD,MAAM2jB,YAAY,0CAAO/b,MAAM,CAACgc,MAAP,CAAc1lB,OAAO,CAACwlB,aAAR,EAAd,CAAP,CAAlB;;AACA,MAAMG,UAAU,GAAGF,YAAY,CAAC3jB,MAAb,GAAsB,CAAtB,GACf2jB,YAAY,CAAC,CAAD,CAAZ,CAAgBG,YADD,GAEf,CAFJ;;AAGA,MAAID,UAAU,KAAK,CAAnB,EAAsB;AACpB,WAAO,EAAP;AACD;;AACD,SAAOR,UAAU,CAACQ,UAAD,CAAjB;AACD,CAZM;AAcP,AAAO,IAAME,eAAe,GAAG,SAAlBA,eAAkB,GAA6D;AAAA,MAA5D7lB,OAA4D,uEAAlD,EAAkD;AAAA,MAA9CgW,aAA8C;AAAA,MAA/BN,SAA+B,uEAAnBoQ,oBAAmB;;AAC1F,MAAI,CAAC9lB,OAAD,IAAa,CAACA,OAAO,CAACgP,IAAT,IAAiB,CAAChP,OAAO,CAAC2C,OAA3C,EAAqD;AACnD,WAAO+S,SAAS,CAACqQ,QAAjB;AACD;;AACD,MAAI/lB,OAAO,CAACgP,IAAR,IAAgBhP,OAAO,CAACgP,IAAR,KAAiB,eAArC,EAAsD;AACpD,WAAOhP,OAAO,CAACgP,IAAf;AACD;;AAED,MAAIhP,OAAO,CAAC2C,OAAR,CAAgBb,MAAhB,KAA2B,CAA/B,EAAkC;AAChC,WAAO4T,SAAS,CAACsQ,UAAjB;AACD;;AAED,SAAOhmB,OAAO,CAAC2C,OAAR,CACJP,MADI,CACG;AAAA,QAAGU,MAAH,QAAGA,MAAH;AAAA,WAAgBA,MAAM,KAAKkT,aAA3B;AAAA,GADH,EAEJjS,GAFI,CAEA;AAAA,QAAGhB,QAAH,SAAGA,QAAH;AAAA,WAAmBA,QAAQ,IAAI2S,SAAS,CAACmI,OAAzC;AAAA,GAFA,EAGJjN,IAHI,CAGC,IAHD,CAAP;AAID,CAhBM;;AChBQ,SAASqV,WAAT,OAEZ;AAAA,MADDC,UACC,QADDA,UACC;;AAAA,kBACyBzR,cAAQ,CAACyR,UAAU,EAAX,CADjC;AAAA;AAAA,MACMjT,KADN;AAAA,MACakT,QADb;;AAGDrf,EAAAA,eAAS,CAAC,YAAM;AACd,QAAMsf,QAAQ,GAAGC,WAAW,CAAC,YAAM;AACjC,UAAIpT,KAAK,KAAKiT,UAAU,EAAxB,EAA4B;AAC1BC,QAAAA,QAAQ,CAACD,UAAU,EAAX,CAAR;AACD;AACF,KAJ2B,EAIzB,KAJyB,CAA5B;AAKA,WAAO,YAAM;AACXI,MAAAA,aAAa,CAACF,QAAD,CAAb;AACD,KAFD;AAGD,GATQ,EASN,EATM,CAAT;AAWA,SAAQnW;AAAK,IAAA,SAAS,EAAC;AAAf,KAAuCgD,KAAvC,CAAR;AACD;AAEDgT,WAAW,CAACnV,SAAZ,GAAwB;AACtBoV,EAAAA,UAAU,EAAEnV,SAAS,CAACG,IAAV,CAAeD;AADL,CAAxB;;ACTe,SAASsV,UAAT,CAAoBpW,KAApB,EAA2B;AAAA,MAEtC5P,mBAFsC,GAUpC4P,KAVoC,CAEtC5P,mBAFsC;AAAA,MAGtCimB,WAHsC,GAUpCrW,KAVoC,CAGtCqW,WAHsC;AAAA,MAItCzG,KAJsC,GAUpC5P,KAVoC,CAItC4P,KAJsC;AAAA,MAKtC0G,QALsC,GAUpCtW,KAVoC,CAKtCsW,QALsC;AAAA,MAMtCC,QANsC,GAUpCvW,KAVoC,CAMtCuW,QANsC;AAAA,MAOtCC,OAPsC,GAUpCxW,KAVoC,CAOtCwW,OAPsC;AAAA,MAQtCC,aARsC,GAUpCzW,KAVoC,CAQtCyW,aARsC;AAAA,MAStCC,KATsC,GAUpC1W,KAVoC,CAStC0W,KATsC;AAAA,MAWhC/jB,MAXgC,GAWrB0jB,WAXqB,CAWhC1jB,MAXgC;;AAAA,oBAYlB0S,gBAAU,CAACC,uCAAD,CAZQ;AAAA,MAYhCC,SAZgC,eAYhCA,SAZgC;;AAaxC,SACEzF;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA,6BAAC6W,qBAAD;AACE,IAAA,KAAK,EAAED,KADT;AAEE,IAAA,OAAO,EAAEtmB,mBAFX;AAGE,IAAA,MAAM,EAAEuC,MAHV;AAIE,IAAA,MAAM,EAAE,EAJV;AAKE,IAAA,KAAK,EAAE;AALT,IADF,EAQEmN,6BAACiD,WAAD;AACE,IAAA,SAAS,EAAC,6BADZ;AAEE,IAAA,IAAI,EAAEC,qBAAe,CAAC4T,GAFxB;AAGE,IAAA,KAAK,EAAE1T,iBAAW,CAACc;AAHrB,KAKG4L,KAAK,IAAIhW,eAAA,CAAsBxJ,mBAAtB,EAA2CuC,MAA3C,EAAmD4S,SAAnD,CALZ,CARF,EAgBK,OAAOgR,QAAP,KAAoB,QAApB,IAAgCA,QAAQ,KAAK,MAA9C,IAA0D,OAAOA,QAAP,KAAoB,SAApB,IAAiCA,QAA3F,GACIzW;AAAK,IAAA,SAAS,EAAC;AAAf,IADJ,GAEI,IAlBR,EAoBEA,6BAACiD,WAAD;AACE,IAAA,SAAS,EAAC,gCADZ;AAEE,IAAA,IAAI,EAAEC,qBAAe,CAAC2D,MAFxB;AAGE,IAAA,KAAK,EAAEzD,iBAAW,CAACC;AAHrB,KAMImT,QAAQ,IACLxW,6BAAC,WAAD;AAAa,IAAA,UAAU,EAAE;AAAA,aAAMlG,mBAAA,CAA0BxJ,mBAA1B,CAAN;AAAA;AAAzB,IAPP,CApBF,CADF,EAgCE0P;AAAK,IAAA,SAAS,EAAC;AAAf,KAEK,OAAO0W,OAAP,KAAmB,QAAnB,IAA+BA,OAAO,KAAK,MAA5C,IAAwD,OAAOA,OAAP,KAAmB,SAAnB,IAAgCA,OAAxF,GACI1W,6BAACwC,UAAD;AAAM,IAAA,SAAS,EAAC,4BAAhB;AAA6C,IAAA,IAAI,EAAEC,eAAS,CAACsU,IAA7D;AAAmE,IAAA,KAAK,EAAC,MAAzE;AAAgF,IAAA,MAAM,EAAC;AAAvF,IADJ,GAEI,IAJR,EAME/W,6BAAC2J,gBAAD;AACE,IAAA,SAAS,EAAC,4BADZ;AAEE,IAAA,KAAK,EAAC,MAFR;AAGE,IAAA,MAAM,EAAC,MAHT;AAIE,IAAA,OAAO,EAAEgN;AAJX,KAME3W,6BAACwC,UAAD;AAAM,IAAA,IAAI,EAAEC,eAAS,CAACuU,IAAtB;AAA4B,IAAA,SAAS,EAAEvT,gBAAU,CAACwT,OAAlD;AAA2D,IAAA,KAAK,EAAC,MAAjE;AAAwE,IAAA,MAAM,EAAC;AAA/E,IANF,CANF,CAhCF,CADF;AAkDD;AAEDX,UAAU,CAACzV,SAAX,GAAuB;AACrBvQ,EAAAA,mBAAmB,EAAEwQ,SAAS,CAAC4F,KAAV,CAAgB;AACnChU,IAAAA,OAAO,EAAEoO,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAAC4F,KAAV,CAAgB,EAAhB,CAAlB,CAD0B;AAEnCwQ,IAAAA,QAAQ,EAAEpW,SAAS,CAACO;AAFe,GAAhB,CADA;AAKrBuV,EAAAA,KAAK,EAAE9V,SAAS,CAACO,MALI;AAMrBkV,EAAAA,WAAW,EAAEzV,SAAS,CAAC4F,KAAV,CAAgB;AAC3B7T,IAAAA,MAAM,EAAEiO,SAAS,CAACO;AADS,GAAhB,CANQ;AASrByO,EAAAA,KAAK,EAAEhP,SAAS,CAACO,MATI;AAUrBmV,EAAAA,QAAQ,EAAE1V,SAAS,CAACK,SAAV,CAAoB,CAC5BL,SAAS,CAACI,IADkB,EAE5BJ,SAAS,CAACO,MAFkB,CAApB,CAVW;AAcrBoV,EAAAA,QAAQ,EAAE3V,SAAS,CAACK,SAAV,CAAoB,CAC5BL,SAAS,CAACO,MADkB,EAE5BP,SAAS,CAACI,IAFkB,CAApB,CAdW;AAkBrBwV,EAAAA,OAAO,EAAE5V,SAAS,CAACK,SAAV,CAAoB,CAC3BL,SAAS,CAACO,MADiB,EAE3BP,SAAS,CAACI,IAFiB,CAApB,CAlBY;AAsBrByV,EAAAA,aAAa,EAAE7V,SAAS,CAACG;AAtBJ,CAAvB;AAyBAqV,UAAU,CAAC/U,YAAX,GAA0B;AACxBjR,EAAAA,mBAAmB,EAAE,EADG;AAExBwf,EAAAA,KAAK,EAAE,EAFiB;AAGxB8G,EAAAA,KAAK,EAAE,OAHiB;AAIxBJ,EAAAA,QAAQ,EAAE,EAJc;AAKxBC,EAAAA,QAAQ,EAAE,KALc;AAMxBC,EAAAA,OAAO,EAAE,KANe;AAOxBH,EAAAA,WAAW,EAAE,EAPW;AAQxBI,EAAAA,aAAa,EAAE,yBAAM;AARG,CAA1B;;AC/DA,IAAM7O,MAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB;;AAEA,IAAaqP,iBAAiB,GAAG,SAApBA,iBAAoB,CAACjX,KAAD,EAAW;AAAA,MAExC3Q,UAFwC,GA4BtC2Q,KA5BsC,CAExC3Q,UAFwC;AAAA,sBA4BtC2Q,KA5BsC,CAGxCkX,MAHwC;AAAA,MAG9BC,QAH8B,iBAG9BA,QAH8B;AAAA,MAGpBC,SAHoB,iBAGpBA,SAHoB;AAAA,sBA4BtCpX,KA5BsC,CAIxCqX,MAJwC;AAAA,MAKtC1kB,MALsC,iBAKtCA,MALsC;AAAA,MAMtC8D,MANsC,iBAMtCA,MANsC;AAAA,MAOtCnH,MAPsC,iBAOtCA,MAPsC;AAAA,MAQtCwK,QARsC,iBAQtCA,QARsC;AAAA,MAStC4c,KATsC,iBAStCA,KATsC;AAAA,MAUtC/Z,gBAVsC,iBAUtCA,gBAVsC;AAAA,MAatC2a,SAbsC,GA4BtCtX,KA5BsC,CAYxCuX,WAZwC,CAatCD,SAbsC;AAAA,uBA4BtCtX,KA5BsC,CAexCwX,OAfwC;AAAA,MAexCA,OAfwC,+BAe9B,EAf8B;AAAA,MAgBxCvd,WAhBwC,GA4BtC+F,KA5BsC,CAgBxC/F,WAhBwC;AAAA,MAiBxC6X,cAjBwC,GA4BtC9R,KA5BsC,CAiBxC8R,cAjBwC;AAAA,MAkBxC2F,gBAlBwC,GA4BtCzX,KA5BsC,CAkBxCyX,gBAlBwC;AAAA,MAmBxCjH,mBAnBwC,GA4BtCxQ,KA5BsC,CAmBxCwQ,mBAnBwC;AAAA,MAoBxCpG,iBApBwC,GA4BtCpK,KA5BsC,CAoBxCoK,iBApBwC;AAAA,MAqBxCD,kBArBwC,GA4BtCnK,KA5BsC,CAqBxCmK,kBArBwC;AAAA,MAsBxCqK,kBAtBwC,GA4BtCxU,KA5BsC,CAsBxCwU,kBAtBwC;AAAA,MAuBxCzC,kBAvBwC,GA4BtC/R,KA5BsC,CAuBxC+R,kBAvBwC;AAAA,MAwBxC2F,uBAxBwC,GA4BtC1X,KA5BsC,CAwBxC0X,uBAxBwC;AAAA,MAyBxC1b,uBAzBwC,GA4BtCgE,KA5BsC,CAyBxChE,uBAzBwC;AAAA,MA0BxCU,uBA1BwC,GA4BtCsD,KA5BsC,CA0BxCtD,uBA1BwC;AAAA,MA2BxC9B,yBA3BwC,GA4BtCoF,KA5BsC,CA2BxCpF,yBA3BwC;AAAA,MA6BlCpE,GA7BkC,GA6B1B2gB,QA7B0B,CA6BlC3gB,GA7BkC;AAAA,MA8BlC6gB,MA9BkC,GA8BvBrX,KA9BuB,CA8BlCqX,MA9BkC;AA+B1C,MAAMM,QAAQ,GAAGR,QAAQ,CAACtoB,KAA1B;AACA,MAAMyH,OAAO,GAAG6gB,QAAQ,CAAC7iB,WAAzB;AAhC0C,MAiClCmW,IAjCkC,GAiCzB2M,SAjCyB,CAiClC3M,IAjCkC;;AAmC1C,MAAI+M,OAAO,CAACI,gBAAZ,EAA8B;AAC5B;AACA9b,IAAAA,OAAO,CAAC+b,IAAR,CAAa,qFAAb;AACD;;AAED,MAAM9e,0BAA0B,GAAGye,OAAO,CAACte,iBAAR,IAA6Bse,OAAO,CAACI,gBAAxE;;AAxC0C,oBA0CEE,gBAAU,CAACC,OAAD,EAAkBC,oBAAlB,CA1CZ;AAAA;AAAA,MA0CnCC,aA1CmC;AAAA,MA0CpB1hB,kBA1CoB;;AA2C1C,MAAMG,SAAS,GAAGwF,YAAM,CAAC,IAAD,CAAxB;AA3C0C,MA8CxCzI,WA9CwC,GAyDtCwkB,aAzDsC,CA8CxCxkB,WA9CwC;AAAA,MA+CxCc,OA/CwC,GAyDtC0jB,aAzDsC,CA+CxC1jB,OA/CwC;AAAA,MAgDxCC,OAhDwC,GAyDtCyjB,aAzDsC,CAgDxCzjB,OAhDwC;AAAA,MAiDxCF,WAjDwC,GAyDtC2jB,aAzDsC,CAiDxC3jB,WAjDwC;AAAA,MAkDxC9D,WAlDwC,GAyDtCynB,aAzDsC,CAkDxCznB,WAlDwC;AAAA,MAmDxCmE,WAnDwC,GAyDtCsjB,aAzDsC,CAmDxCtjB,WAnDwC;AAAA,MAoDxCC,SApDwC,GAyDtCqjB,aAzDsC,CAoDxCrjB,SApDwC;AAAA,8BAyDtCqjB,aAzDsC,CAqDxC7nB,mBArDwC;AAAA,MAqDxCA,mBArDwC,sCAqDlB,EArDkB;AAAA,MAsDxCqE,oBAtDwC,GAyDtCwjB,aAzDsC,CAsDxCxjB,oBAtDwC;AAAA,MAuDxCnD,cAvDwC,GAyDtC2mB,aAzDsC,CAuDxC3mB,cAvDwC;AAAA,MAwDxCoD,UAxDwC,GAyDtCujB,aAzDsC,CAwDxCvjB,UAxDwC;AAAA,MA0DlCxD,QA1DkC,GA0DCd,mBA1DD,CA0DlCc,QA1DkC;AAAA,MA0DxBujB,WA1DwB,GA0DCrkB,mBA1DD,CA0DxBqkB,WA1DwB;AAAA,MA0DXyD,OA1DW,GA0DC9nB,mBA1DD,CA0DX8nB,OA1DW;AAAA,qBA2DjB1hB,GA3DiB,CA2DlCwD,OA3DkC;AAAA,MA2DlCA,OA3DkC,6BA2DxB,EA3DwB;AA4D1C,MAAMme,aAAa,GACjBne,OAAO,CAACE,eAAR,IAA2B,CAACua,WAA5B,IAA2C,CAACyD,OAA5C,IAAuDje,WADzD;AAIA,MAAMme,6BAA6B,GAAGjO,kBAAkB,IAAIkN,MAAM,CAAClN,kBAAnE;AACA,MAAMkO,wBAAwB,GAAGjO,iBAAiB,IAAIiN,MAAM,CAACjN,iBAA7D;AAEA,MAAMtF,WAAW,GAAGrD,aAAO,CAAC;AAAA,WAC1B0W,aAAa,GACTve,iCAAA,CAAwCtI,cAAxC,CADS,GAET,IAAI9B,GAAJ,EAHsB;AAAA,GAAD,EAIxB,CAAC8B,cAAD,CAJwB,CAA3B;AAMA,MAAMkQ,YAAY,GAAGC,aAAO,CAAC;AAAA,WAC3B0W,aAAa,GACTve,8BAAA,CAAqCtI,cAArC,CADS,GAET,EAHuB;AAAA,GAAD,EAIzB,CAACA,cAAD,CAJyB,CAA5B;AAMA,MAAMmB,YAAY,GAAGgP,aAAO,CAAC;AAAA,WAC3B0W,aAAa,GACTve,0BAAA,CAAiCxJ,mBAAmB,CAACoC,OAArD,CADS,GAET,IAAIhD,GAAJ,EAHuB;AAAA,GAAD,EAIzB,CAACY,mBAAmB,CAACoC,OAArB,CAJyB,CAA5B;AAMA,MAAM8lB,gBAAgB,GAAGle,iBAAiB,CAAC;AACzChK,IAAAA,mBAAmB,EAAnBA,mBADyC;AACpBqE,IAAAA,oBAAoB,EAApBA,oBADoB;AACEsE,IAAAA,0BAA0B,EAA1BA;AADF,GAAD,EAEvC;AACDvE,IAAAA,OAAO,EAAPA,OADC;AAEDiC,IAAAA,MAAM,EAANA,MAFC;AAGDF,IAAAA,kBAAkB,EAAlBA,kBAHC;AAIDC,IAAAA,GAAG,EAAHA;AAJC,GAFuC,CAA1C;AASA,MAAM+K,cAAc,GAAGkB,yBAAyB,CAAC;AAAErS,IAAAA,mBAAmB,EAAnBA;AAAF,GAAD,EAA0B;AAAEqG,IAAAA,MAAM,EAANA;AAAF,GAA1B,CAAhD;AAEA,MAAMuO,sBAAsB,GAAG1D,yBAAyB,CAAC;AACvDhQ,IAAAA,cAAc,EAAdA,cADuD;AACvCiQ,IAAAA,cAAc,EAAdA;AADuC,GAAD,EAErD;AACDtH,IAAAA,WAAW,EAAEke,aADZ;AAED1hB,IAAAA,MAAM,EAANA,MAFC;AAGD9D,IAAAA,MAAM,EAANA,MAHC;AAID6O,IAAAA,YAAY,EAAZA;AAJC,GAFqD,CAAxD,CAhG0C;;AA0G1C+W,EAAAA,aAAa,CACX;AAAElpB,IAAAA,UAAU,EAAVA,UAAF;AAAciH,IAAAA,OAAO,EAAPA;AAAd,GADW,EAEX;AAAEC,IAAAA,kBAAkB,EAAlBA,kBAAF;AAAsBC,IAAAA,GAAG,EAAHA,GAAtB;AAA2BC,IAAAA,MAAM,EAANA;AAA3B,GAFW,CAAb,CA1G0C;;AAgH1CJ,EAAAA,sBAAsB,CACpB;AAAEjG,IAAAA,mBAAmB,EAAnBA,mBAAF;AAAuBkG,IAAAA,OAAO,EAAPA;AAAvB,GADoB,EAEpB;AACEC,IAAAA,kBAAkB,EAAlBA,kBADF;AAEEC,IAAAA,GAAG,EAAHA,GAFF;AAGEC,IAAAA,MAAM,EAANA,MAHF;AAIEC,IAAAA,SAAS,EAATA;AAJF,GAFoB,CAAtB;AAUAoC,EAAAA,uBAAuB,CAAC;AAAE1I,IAAAA,mBAAmB,EAAnBA,mBAAF;AAAuB2I,IAAAA,0BAA0B,EAA1BA;AAAvB,GAAD,EAAsD;AAC3EvC,IAAAA,GAAG,EAAHA,GAD2E;AAE3EC,IAAAA,MAAM,EAANA,MAF2E;AAG3EF,IAAAA,kBAAkB,EAAlBA;AAH2E,GAAtD,CAAvB,CA1H0C;;AAiI1CI,EAAAA,eAAS,CAAC,YAAM;AACd,QAAM6hB,UAAU,GAAG5e,aAAA,CAAoBvK,UAApB,EAAgCC,MAAhC,EAAwCiH,kBAAxC,CAAnB;AACA,WAAO,YAAM;AACXqD,MAAAA,mBAAA,CAA0B4e,UAA1B;AACD,KAFD;AAGD,GALQ,EAKN,CAACnpB,UAAD,EAAaiH,OAAb,CALM,CAAT,CAjI0C;;AAyI1C4I,EAAAA,gBAAgB,CACd;AAAEzL,IAAAA,WAAW,EAAXA,WAAF;AAAerD,IAAAA,mBAAmB,EAAnBA;AAAf,GADc,EAEd;AAAEmG,IAAAA,kBAAkB,EAAlBA,kBAAF;AAAsBC,IAAAA,GAAG,EAAHA,GAAtB;AAA2BC,IAAAA,MAAM,EAANA;AAA3B,GAFc,CAAhB,CAzI0C;;AA+I1CoD,EAAAA,kBAAkB,CAAC;AAAEC,IAAAA,QAAQ,EAARA;AAAF,GAAD,EAAe;AAC/BrD,IAAAA,MAAM,EAANA,MAD+B;AAE/BD,IAAAA,GAAG,EAAHA,GAF+B;AAG/BpG,IAAAA,mBAAmB,EAAnBA,mBAH+B;AAI/BmG,IAAAA,kBAAkB,EAAlBA,kBAJ+B;AAK/BwC,IAAAA,0BAA0B,EAA1BA;AAL+B,GAAf,CAAlB;AAQA,MAAM2B,aAAa,GAAGD,wBAAwB,CAAC;AAAErK,IAAAA,mBAAmB,EAAnBA,mBAAF;AAAuBmG,IAAAA,kBAAkB,EAAlBA;AAAvB,GAAD,EAC5C;AAAEE,IAAAA,MAAM,EAANA;AAAF,GAD4C,CAA9C;AAEA,MAAM8Z,aAAa,GAAG5V,wBAAwB,CAC5C;AAAEvK,IAAAA,mBAAmB,EAAnBA,mBAAF;AAAuBmG,IAAAA,kBAAkB,EAAlBA,kBAAvB;AAA2CqE,IAAAA,yBAAyB,EAAzBA;AAA3C,GAD4C,EAE5C;AAAEnE,IAAAA,MAAM,EAANA,MAAF;AAAUD,IAAAA,GAAG,EAAHA,GAAV;AAAelH,IAAAA,MAAM,EAANA;AAAf,GAF4C,CAA9C;AAIA,MAAM2Y,aAAa,GAAGzM,wBAAwB,CAC5C;AAAEpL,IAAAA,mBAAmB,EAAnBA,mBAAF;AAAuBmG,IAAAA,kBAAkB,EAAlBA;AAAvB,GAD4C,EAE5C;AAAEE,IAAAA,MAAM,EAANA;AAAF,GAF4C,CAA9C;;AA7J0C,8BAiKDsF,sBAAsB,CAC7D;AAAE3L,IAAAA,mBAAmB,EAAnBA,mBAAF;AAAuB4L,IAAAA,uBAAuB,EAAvBA;AAAvB,GAD6D,EAE7D;AACExF,IAAAA,GAAG,EAAHA,GADF;AAEEC,IAAAA,MAAM,EAANA,MAFF;AAGEnH,IAAAA,MAAM,EAANA,MAHF;AAIEiH,IAAAA,kBAAkB,EAAlBA;AAJF,GAF6D,CAjKrB;AAAA;AAAA,MAiKnC0F,eAjKmC;AAAA,MAiKlBqY,aAjKkB;;AAAA,8BA0Kd7X,0BAA0B,CACpD;AAAErM,IAAAA,mBAAmB,EAAnBA,mBAAF;AAAuBsM,IAAAA,uBAAuB,EAAvBA,uBAAvB;AAAgDC,IAAAA,gBAAgB,EAAhBA;AAAhD,GADoD,EAEpD;AACEnG,IAAAA,GAAG,EAAHA,GADF;AAEEC,IAAAA,MAAM,EAANA,MAFF;AAGEnH,IAAAA,MAAM,EAANA,MAHF;AAIEiH,IAAAA,kBAAkB,EAAlBA;AAJF,GAFoD,CA1KZ;AAAA;AAAA,MA0KnCkiB,iBA1KmC;;AAoL1C,MAAId,QAAJ,EAAc;AACZ,WACE7X;AAAK,MAAA,SAAS,EAAC;AAAf,OACEA,6BAACkS,iBAAD;AACE,MAAA,IAAI,EAAEC,wBAAgB,CAACC,KADzB;AAEE,MAAA,cAAc,EAAE,0BAAM;AACpBzb,QAAAA,MAAM,CAACM,IAAP,CAAY,uBAAZ;AACAugB,QAAAA,SAAS;AACV;AALH,MADF,CADF;AAWD;;AACD,MAAI,CAACjoB,UAAL,EAAiB;AACf,WAAQyQ;AAAK,MAAA,SAAS,EAAC;AAAf,OAAuCA,6BAACkS,iBAAD;AAAa,MAAA,IAAI,EAAEC,wBAAgB,CAACyG;AAApC,MAAvC,CAAR;AACD;;AACD,MAAInkB,OAAJ,EAAa;AACX,WAAQuL;AAAK,MAAA,SAAS,EAAC;AAAf,OAAuCA,6BAACkS,iBAAD;AAAa,MAAA,IAAI,EAAEC,wBAAgB,CAAC0G;AAApC,MAAvC,CAAR;AACD;;AACD,MAAI/jB,SAAJ,EAAe;AACb,WAAQkL;AAAK,MAAA,SAAS,EAAC;AAAf,OAAuCA,6BAACkS,iBAAD;AAAa,MAAA,IAAI,EAAEC,wBAAgB,CAACC;AAApC,MAAvC,CAAR;AACD;;AACD,SACEpS,6BAAC8Y,yBAAD;AACE,IAAA,SAAS,EAAC,uBADZ;AAEE,IAAA,kBAAkB,EAAER,6BAFtB;AAGE,IAAA,iBAAiB,EAAEC;AAHrB,KAMIZ,gBAAgB,GACZA,gBAAgB,CAAC;AAAE5nB,IAAAA,OAAO,EAAEO,mBAAX;AAAgCqa,IAAAA,IAAI,EAAJA;AAAhC,GAAD,CADJ,GAGZ3K,6BAAC,UAAD;AACE,IAAA,KAAK,EAAE4W,KADT;AAEE,IAAA,mBAAmB,EAAEtmB,mBAFvB;AAGE,IAAA,WAAW,EAAEqa,IAHf;AAIE,IAAA,aAAa,EAAEiN,uBAJjB;AAKE,IAAA,QAAQ,EAAEtnB,mBAAmB,CAACoC,OAApB,IAA+BpC,mBAAmB,CAACoC,OAApB,CAA4Bb,MAA5B,KAAuC,CALlF;AAME,IAAA,QAAQ,EAAE,KANZ;AAOE,IAAA,OAAO,EAAE;AAPX,IATR,EAqBIT,QAAQ,IACN4O,6BAAC,kBAAD,OAtBN,EA0BItP,WAAW,GAAG,CAAd,IACEsP,6BAAC,YAAD;AACE,IAAA,KAAK,EAAEtP,WADT;AAEE,IAAA,OAAO,EAAE,mBAAM;AACboJ,MAAAA,cAAA,GADa;;AAGb,UAAIlD,SAAS,CAACO,OAAV,CAAkBtI,SAAlB,KAAgC,CAApC,EAAuC;AACrCyB,QAAAA,mBAAmB,CAACgH,UAApB;AACAb,QAAAA,kBAAkB,CAAC;AACjBtI,UAAAA,IAAI,EAAEuK;AADW,SAAD,CAAlB;AAGD;AACF,KAXH;AAYE,IAAA,IAAI,EAAE7D;AAZR,IA3BN,EA2CEmL,6BAAC,kBAAD;AACE,IAAA,UAAU,EACRtJ,GAAG,IAAIA,GAAG,CAAC8E,qBAAX,IAAoC9E,GAAG,CAAC8E,qBAAJ,EAFxC;AAIE,IAAA,MAAM,EAAE3I,MAJV;AAKE,IAAA,OAAO,EAAE6B,OALX;AAME,IAAA,QAAQ,EAAE,CAACsF,QANb;AAOE,IAAA,QAAQ,EAAEwe,gBAPZ;AAQE,IAAA,SAAS,EAAE5hB,SARb;AASE,IAAA,UAAU,EAAEhC,UATd;AAUE,IAAA,WAAW,EAAEJ,WAVf;AAWE,IAAA,WAAW,EAAE6jB,aAXf;AAYE,IAAA,WAAW,EAAE1kB,WAZf;AAaE,IAAA,WAAW,EAAEqR,WAbf;AAcE,IAAA,UAAU,EAAErS,YAdd;AAeE,IAAA,YAAY,EAAEmH,uBAAA,CAA8BxJ,mBAA9B,CAfhB;AAgBE,IAAA,aAAa,EAAEsK,aAhBjB;AAiBE,IAAA,aAAa,EAAE6V,aAjBjB;AAkBE,IAAA,aAAa,EAAEtI,aAlBjB;AAmBE,IAAA,cAAc,EAAE1G,cAnBlB;AAoBE,IAAA,cAAc,EAAEjQ,cApBlB;AAqBE,IAAA,cAAc,EAAEwgB,cArBlB;AAsBE,IAAA,mBAAmB,EAAEtB,mBAtBvB;AAuBE,IAAA,kBAAkB,EAAEuB,kBAvBtB;AAwBE,IAAA,kBAAkB,EAAExb,kBAxBtB;AAyBE,IAAA,mBAAmB,EAAEnG,mBAzBvB;AA0BE,IAAA,sBAAsB,EAAE4U;AA1B1B,IA3CF,EAuEElF;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA,6BAACsU,qBAAD;AACE,IAAA,OAAO,EAAEhkB,mBADX;AAEE,IAAA,IAAI,EAAEqa,IAFR;AAGE,IAAA,GAAG,EAAExO,eAHP;AAIE,IAAA,aAAa,EAAEqY,aAJjB;AAKE,IAAA,YAAY,EAAEmE,iBALhB;AAME,IAAA,kBAAkB,EAAEjE,kBANtB;AAOE,IAAA,QAAQ,EAAE1a,QAPZ;AAQE,IAAA,WAAW,EAAExF;AARf,IADF,EAWEwL;AAAK,IAAA,SAAS,EAAC;AAAf,KACEA,6BAAC,eAAD;AAAiB,IAAA,UAAU,EAAEzQ,UAA7B;AAAyC,IAAA,EAAE,EAAEmH,GAA7C;AAAkD,IAAA,MAAM,EAAEC;AAA1D,IADF,CAXF,EAeI,CAACqD,QAAD,IACEgG,6BAAC,gBAAD;AAAkB,IAAA,OAAO,EAAExJ,OAA3B;AAAoC,IAAA,EAAE,EAAEE,GAAxC;AAA6C,IAAA,MAAM,EAAEC;AAArD,IAhBN,CAvEF,CADF;AA8FD,CAxSM;AA0SPwgB,iBAAiB,CAACtW,SAAlB,GAA8B;AAC5BtR,EAAAA,UAAU,EAAEuR,SAAS,CAACO,MADM;AAE5B+V,EAAAA,MAAM,EAAEtW,SAAS,CAAC4F,KAAV,CAAgB;AACtB2Q,IAAAA,QAAQ,EAAEvW,SAAS,CAAC4F,KAAV,CAAgB;AACxBlS,MAAAA,WAAW,EAAEsM,SAAS,CAACI,IADC;AAExBxK,MAAAA,GAAG,EAAEoK,SAAS,CAAC4F,KAAV,CAAgB;AACnBlL,QAAAA,qBAAqB,EAAEsF,SAAS,CAACG,IADd;AAEnB5I,QAAAA,oBAAoB,EAAEyI,SAAS,CAACG,IAFb;AAGnB1I,QAAAA,YAAY,EAAEuI,SAAS,CAACiY,GAHL;AAInB/hB,QAAAA,cAAc,EAAE8J,SAAS,CAACiY,GAJP;AAKnB3gB,QAAAA,iBAAiB,EAAE0I,SAAS,CAACG,IALV;AAMnB9F,QAAAA,iBAAiB,EAAE2F,SAAS,CAACiY,GANV;AAOnBxb,QAAAA,iBAAiB,EAAEuD,SAAS,CAACiY,GAPV;AAQnBlgB,QAAAA,WAAW,EAAEiI,SAAS,CAACG,IARJ;AASnB/G,QAAAA,OAAO,EAAE4G,SAAS,CAAC4F,KAAV,CAAgB,EAAhB;AATU,OAAhB,CAFmB;AAaxB3X,MAAAA,KAAK,EAAE+R,SAAS,CAACI;AAbO,KAAhB,CADY;AAgBtBoW,IAAAA,SAAS,EAAExW,SAAS,CAAC4F,KAAV,CAAgB;AACzBiE,MAAAA,IAAI,EAAE7J,SAAS,CAAC4F,KAAV,CAAgB,EAAhB;AADmB,KAAhB;AAhBW,GAAhB,EAmBL1F,UArByB;AAsB5ByW,EAAAA,WAAW,EAAE3W,SAAS,CAAC4F,KAAV,CAAgB;AAC3B8Q,IAAAA,SAAS,EAAE1W,SAAS,CAACG;AADM,GAAhB,EAEVD,UAxByB;AAyB5BuW,EAAAA,MAAM,EAAEzW,SAAS,CAAC4F,KAAV,CAAgB;AACtB2D,IAAAA,kBAAkB,EAAEvJ,SAAS,CAACI,IADR;AAEtBoJ,IAAAA,iBAAiB,EAAExJ,SAAS,CAACG,IAFP;AAGtBpO,IAAAA,MAAM,EAAEiO,SAAS,CAACO,MAAV,CAAiBL,UAHH;AAItBhH,IAAAA,QAAQ,EAAE8G,SAAS,CAACI,IAAV,CAAeF,UAJH;AAKtB4V,IAAAA,KAAK,EAAE9V,SAAS,CAACO,MALK;AAMtB1K,IAAAA,MAAM,EAAEmK,SAAS,CAAC4F,KAAV,CAAgB;AACtBzP,MAAAA,IAAI,EAAE6J,SAAS,CAACG,IADM;AAEtBlS,MAAAA,KAAK,EAAE+R,SAAS,CAACG,IAFK;AAGtB1J,MAAAA,OAAO,EAAEuJ,SAAS,CAACG;AAHG,KAAhB,CANc;AAWtBzR,IAAAA,MAAM,EAAEsR,SAAS,CAAC4F,KAAV,CAAgB;AACtB/W,MAAAA,SAAS,EAAEmR,SAAS,CAACG,IADC;AAEtBxF,MAAAA,OAAO,EAAEqF,SAAS,CAACG;AAFG,KAAhB,CAXc;AAetBpE,IAAAA,gBAAgB,EAAEiE,SAAS,CAAC4F,KAAV,CAAgB;AAChC5J,MAAAA,eAAe,EAAEgE,SAAS,CAACM,MADK;AAEhCrE,MAAAA,aAAa,EAAE+D,SAAS,CAACK,SAAV,CAAoB,CACjCL,SAAS,CAACM,MADuB,EAEjCN,SAAS,CAACO,MAFuB,CAApB,CAFiB;AAMhCrE,MAAAA,cAAc,EAAE8D,SAAS,CAACK,SAAV,CAAoB,CAClCL,SAAS,CAACM,MADwB,EAElCN,SAAS,CAACO,MAFwB,CAApB;AANgB,KAAhB;AAfI,GAAhB,EA0BLL,UAnDyB;AAoD5B0W,EAAAA,OAAO,EAAE5W,SAAS,CAAC4F,KAAV,CAAgB;AACvBtN,IAAAA,iBAAiB,EAAE0H,SAAS,CAAC4F,KAAV,CAAgB;AACjCsS,MAAAA,gBAAgB,EAAElY,SAAS,CAACI,IADK;AAEjC+X,MAAAA,wBAAwB,EAAEnY,SAAS,CAACI,IAFH;AAGjC1H,MAAAA,eAAe,EAAEsH,SAAS,CAACI,IAHM;AAIjC3H,MAAAA,cAAc,EAAEuH,SAAS,CAACI,IAJO;AAKjCgY,MAAAA,iBAAiB,EAAEpY,SAAS,CAACI,IALI;AAMjCiY,MAAAA,KAAK,EAAErY,SAAS,CAACM,MANgB;AAOjCgY,MAAAA,OAAO,EAAEtY,SAAS,CAACI,IAPc;AAQjCmY,MAAAA,mBAAmB,EAAEvY,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAACO,MAA5B;AARY,KAAhB,CADI;AAWvB;AACAyW,IAAAA,gBAAgB,EAAEhX,SAAS,CAAC4F,KAAV,CAAgB;AAChCsS,MAAAA,gBAAgB,EAAElY,SAAS,CAACI,IADI;AAEhC+X,MAAAA,wBAAwB,EAAEnY,SAAS,CAACI,IAFJ;AAGhC1H,MAAAA,eAAe,EAAEsH,SAAS,CAACI,IAHK;AAIhC3H,MAAAA,cAAc,EAAEuH,SAAS,CAACI,IAJM;AAKhCgY,MAAAA,iBAAiB,EAAEpY,SAAS,CAACI,IALG;AAMhCiY,MAAAA,KAAK,EAAErY,SAAS,CAACM,MANe;AAOhCgY,MAAAA,OAAO,EAAEtY,SAAS,CAACI,IAPa;AAQhCmY,MAAAA,mBAAmB,EAAEvY,SAAS,CAACQ,OAAV,CAAkBR,SAAS,CAACO,MAA5B;AARW,KAAhB;AAZK,GAAhB,CApDmB;AA2E5BnF,EAAAA,uBAAuB,EAAE4E,SAAS,CAACG,IA3EP;AA2Ea;AACzCrE,EAAAA,uBAAuB,EAAEkE,SAAS,CAACG,IA5EP;AA4Ea;AACzCnG,EAAAA,yBAAyB,EAAEgG,SAAS,CAACG,IA7ET;AA8E5B+Q,EAAAA,cAAc,EAAElR,SAAS,CAACK,SAAV,CAAoB,CAClCL,SAAS,CAACC,OADwB,EAElCD,SAAS,CAACG,IAFwB,CAApB,CA9EY;AAkF5ByP,EAAAA,mBAAmB,EAAE5P,SAAS,CAACG,IAlFH;AAmF5ByT,EAAAA,kBAAkB,EAAE5T,SAAS,CAACK,SAAV,CAAoB,CACtCL,SAAS,CAACC,OAD4B,EAEtCD,SAAS,CAACG,IAF4B,CAApB,CAnFQ;AAuF5B0W,EAAAA,gBAAgB,EAAE7W,SAAS,CAACK,SAAV,CAAoB,CACpCL,SAAS,CAACC,OAD0B,EAEpCD,SAAS,CAACG,IAF0B,CAApB,CAvFU;AA2F5B2W,EAAAA,uBAAuB,EAAE9W,SAAS,CAACG,IA3FP;AA4F5B9G,EAAAA,WAAW,EAAE2G,SAAS,CAACI,IA5FK;AA6F5BmJ,EAAAA,kBAAkB,EAAEvJ,SAAS,CAACI,IA7FF;AA8F5BoJ,EAAAA,iBAAiB,EAAExJ,SAAS,CAACG,IA9FD;AA+F5BgR,EAAAA,kBAAkB,EAAEnR,SAAS,CAACI;AA/FF,CAA9B;AAkGAiW,iBAAiB,CAAC5V,YAAlB,GAAiC;AAC/BhS,EAAAA,UAAU,EAAE,IADmB;AAE/BmoB,EAAAA,OAAO,EAAE,EAFsB;AAG/Bxb,EAAAA,uBAAuB,EAAE,IAHM;AAI/BU,EAAAA,uBAAuB,EAAE,IAJM;AAK/B9B,EAAAA,yBAAyB,EAAE,IALI;AAM/BkX,EAAAA,cAAc,EAAE,IANe;AAO/BtB,EAAAA,mBAAmB,EAAE,IAPU;AAQ/BgE,EAAAA,kBAAkB,EAAE,IARW;AAS/BiD,EAAAA,gBAAgB,EAAE,IATa;AAU/Bxd,EAAAA,WAAW,EAAE,IAVkB;AAW/BkQ,EAAAA,kBAAkB,EAAE,KAXW;AAY/BC,EAAAA,iBAAiB,EAAE,IAZY;AAa/B2H,EAAAA,kBAAkB,EAAE,IAbW;AAc/B2F,EAAAA,uBAAuB,EAAE9P;AAdM,CAAjC;IAkBEvW,yCAGEuI;IAFFpI,mCAEEoI;IADF7H,gCACE6H;AAEJ,mBAAewf,uCAAmB,CAACnC,iBAAD,CAAlC;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"Channel.js","sources":["../../../src/smart-components/Conversation/dux/actionTypes.js","../../../src/smart-components/Conversation/types.js","../../../src/smart-components/Conversation/utils.js","../../../src/smart-components/Conversation/dux/initialState.js","../../../src/smart-components/Conversation/dux/reducers.js","../../../src/smart-components/Conversation/hooks/useHandleChannelEvents.js","../../../src/smart-components/Conversation/hooks/useGetChannel.js","../../../src/smart-components/Conversation/hooks/useInitialMessagesFetch.js","../../../src/smart-components/Conversation/hooks/useHandleReconnect.js","../../../src/smart-components/Conversation/hooks/useScrollCallback.js","../../../src/smart-components/Conversation/hooks/useScrollDownCallback.js","../../../src/smart-components/Conversation/hooks/useDeleteMessageCallback.js","../../../src/smart-components/Conversation/hooks/useUpdateMessageCallback.js","../../../src/smart-components/Conversation/hooks/useResendMessageCallback.js","../../../src/smart-components/Conversation/hooks/useSendMessageCallback.js","../../../src/smart-components/Conversation/hooks/useSendFileMessageCallback.js","../../../src/smart-components/Conversation/hooks/useSetReadStatus.js","../../../src/ui/ReactionButton/index.jsx","../../../src/smart-components/Conversation/hooks/useMemoizedEmojiListItems.jsx","../../../src/smart-components/Conversation/hooks/useToggleReactionCallback.js","../../../src/ui/MessageStatus/index.jsx","../../../src/ui/ReactionBadge/index.jsx","../../../src/ui/Tooltip/index.jsx","../../../src/ui/TooltipWrapper/index.jsx","../../../src/ui/EmojiReactions/index.jsx","../../../src/ui/Message/memoizedMessageText.jsx","../../../src/hooks/onMouseHover.jsx","../../../src/ui/Message/index.jsx","../../../src/ui/AdminMessage/index.jsx","../../../src/ui/ThumbnailMessage/util.js","../../../src/ui/ThumbnailMessage/index.jsx","../../../src/ui/FileMessage/index.jsx","../../../src/smart-components/Conversation/components/RemoveMessage.jsx","../../../src/ui/UnknownMessage/utils.js","../../../src/ui/UnknownMessage/index.jsx","../../../src/ui/OGMessage/const.js","../../../src/ui/OGMessage/utils.js","../../../src/ui/OGMessage/memoizedMessageText.jsx","../../../src/ui/OGMessage/index.jsx","../../../src/smart-components/Conversation/components/MessageHOC.jsx","../../../src/smart-components/Conversation/components/ConversationScroll.jsx","../../../src/smart-components/Conversation/components/Notification.jsx","../../../src/smart-components/Conversation/components/FrozenNotification.tsx","../../../src/smart-components/Conversation/components/TypingIndicator.jsx","../../../src/smart-components/Conversation/components/MessageInputWrapper.tsx","../../../src/ui/ConnectionStatus/index.jsx","../../../src/ui/ChatHeader/utils.js","../../../src/ui/AutoRefresh/index.jsx","../../../src/ui/ChatHeader/index.jsx","../../../src/smart-components/Conversation/index.jsx"],"sourcesContent":["export const RESET_MESSAGES = 'RESET_MESSAGES';\nexport const RESET_STATE = 'RESET_STATE';\nexport const CLEAR_SENT_MESSAGES = 'CLEAR_SENT_MESSAGES';\nexport const GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START';\nexport const GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS';\nexport const GET_PREV_MESSAGES_FAILURE = 'GET_PREV_MESSAGES_FAILURE';\nexport const GET_NEXT_MESSAGES_SUCESS = 'GET_NEXT_MESSAGES_SUCESS';\nexport const GET_NEXT_MESSAGES_FAILURE = 'GET_NEXT_MESSAGES_FAILURE';\n\nexport const SEND_MESSAGEGE_START = 'SEND_MESSAGEGE_START';\nexport const SEND_MESSAGEGE_SUCESS = 'SEND_MESSAGEGE_SUCESS';\nexport const SEND_MESSAGEGE_FAILURE = 'SEND_MESSAGEGE_FAILURE';\n\nexport const RESEND_MESSAGEGE_START = 'RESEND_MESSAGEGE_START';\n\nexport const ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';\nexport const UPDATE_UNREAD_COUNT = 'UPDATE_UNREAD_COUNT';\nexport const ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';\nexport const ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';\nexport const ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';\nexport const MARK_AS_READ = 'MARK_AS_READ';\n\nexport const ON_REACTION_UPDATED = 'ON_REACTION_UPDATED';\nexport const SET_EMOJI_CONTAINER = 'SET_EMOJI_CONTAINER';\nexport const SET_READ_STATUS = 'SET_READ_STATUS';\n","import { isImage, isVideo } from '../../ui/FileViewer/types';\n\nexport const MessageTypes = {\n ADMIN: 'ADMIN',\n USER: 'USER',\n FILE: 'FILE',\n THUMBNAIL: 'THUMBNAIL',\n OG: 'OG',\n};\n\nexport const SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport const getMessageType = (message) => {\n if ((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user') {\n return (message.ogMetaData)\n ? MessageTypes.OG\n : MessageTypes.USER;\n }\n if (message.isAdminMessage && message.isAdminMessage()) {\n return MessageTypes.ADMIN;\n }\n if ((message.isFileMessage && message.isFileMessage()) || message.messageType === 'file') {\n return (isImage(message.type) || isVideo(message.type))\n ? MessageTypes.THUMBNAIL\n : MessageTypes.FILE;\n }\n return '';\n};\n\nexport default {\n MessageTypes,\n SendingMessageStatus,\n getMessageType,\n};\n","import format from 'date-fns/format';\nimport MessageStatusType from '../../ui/MessageStatus/type';\nimport * as channelActions from './dux/actionTypes';\nimport * as topics from '../../lib/pubSub/topics';\n\nimport { SendingMessageStatus } from './types';\n\nconst UNDEFINED = 'undefined';\nconst { SUCCEEDED, FAILED, PENDING } = SendingMessageStatus;\n\nexport const scrollIntoLast = (intialTry = 0) => {\n const MAX_TRIES = 10;\n const currentTry = intialTry;\n if (currentTry > MAX_TRIES) {\n return;\n }\n try {\n const scrollDOM = document.querySelector('.sendbird-conversation__scroll-container');\n // eslint-disable-next-line no-multi-assign\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1);\n }, 500 * currentTry);\n }\n};\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (channelUrl, pubSub, dispatcher) => {\n const subscriber = new Map();\n if (!pubSub || !pubSub.subscribe) return subscriber;\n subscriber.set(topics.SEND_USER_MESSAGE, pubSub.subscribe(topics.SEND_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel, message } = msg;\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.SEND_MESSAGEGE_START,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_FILE_MESSAGE, pubSub.subscribe(topics.SEND_FILE_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message, fromSelector } = msg;\n if (fromSelector && channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n }\n }));\n subscriber.set(topics.DELETE_MESSAGE, pubSub.subscribe(topics.DELETE_MESSAGE, (msg) => {\n const { channel, messageId } = msg;\n if (channel && (channelUrl === channel.url)) {\n dispatcher({\n type: channelActions.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n }\n }));\n\n return subscriber;\n};\n\nexport const getParsedStatus = (message, currentGroupChannel) => {\n if (message.requestState === FAILED) {\n return MessageStatusType.FAILED;\n }\n\n if (message.requestState === PENDING) {\n return MessageStatusType.PENDING;\n }\n\n if (message.requestState === SUCCEEDED) {\n if (!currentGroupChannel) {\n return MessageStatusType.SENT;\n }\n\n const unreadCount = currentGroupChannel.getReadReceipt(message);\n if (unreadCount === 0) {\n return MessageStatusType.READ;\n }\n\n const isDelivered = currentGroupChannel.getDeliveryReceipt(message) === 0;\n if (isDelivered) {\n return MessageStatusType.DELIVERED;\n }\n\n return MessageStatusType.SENT;\n }\n\n return null;\n};\n\nexport const isOperator = (groupChannel = {}) => {\n const { myRole } = groupChannel;\n return myRole === 'operator';\n};\n\nexport const isDisabledBecauseFrozen = (groupChannel = {}) => {\n const { isFrozen } = groupChannel;\n return isFrozen && !isOperator(groupChannel);\n};\n\nexport const isDisabledBecauseMuted = (groupChannel = {}) => {\n const { myMutedState } = groupChannel;\n return myMutedState === 'muted';\n};\n\nexport const getEmojiCategoriesFromEmojiContainer = (emojiContainer = {}) => (\n emojiContainer.emojiCategories ? emojiContainer.emojiCategories : []\n);\n\nexport const getAllEmojisFromEmojiContainer = (emojiContainer = {}) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojis = [];\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n allEmojis.push(emojis[emojiIndex]);\n }\n }\n return allEmojis;\n};\n\nexport const getEmojisFromEmojiContainer = (emojiContainer = {}, emojiCategoryId = '') => (\n emojiContainer.emojiCategories\n ? emojiContainer.emojiCategories\n .filter((emojiCategory) => emojiCategory.id === emojiCategoryId)[0].emojis\n : []\n);\n\nexport const getAllEmojisMapFromEmojiContainer = (emojiContainer = {}) => {\n const { emojiCategories = [] } = emojiContainer;\n const allEmojisMap = new Map();\n\n for (let categoryIndex = 0; categoryIndex < emojiCategories.length; categoryIndex += 1) {\n const { emojis } = emojiCategories[categoryIndex];\n for (let emojiIndex = 0; emojiIndex < emojis.length; emojiIndex += 1) {\n const { key, url } = emojis[emojiIndex];\n allEmojisMap.set(key, url);\n }\n }\n return allEmojisMap;\n};\n\nexport const getNicknamesMapFromMembers = (members = []) => {\n const nicknamesMap = new Map();\n for (let memberIndex = 0; memberIndex < members.length; memberIndex += 1) {\n const { userId, nickname } = members[memberIndex];\n nicknamesMap.set(userId, nickname);\n }\n return nicknamesMap;\n};\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const isSameGroup = (message, comparingMessage) => {\n if (\n !message\n || !comparingMessage\n || !message.sender\n || !comparingMessage.sender\n || !message.createdAt\n || !comparingMessage.createdAt\n || !message.sender.userId\n || !comparingMessage.sender.userId\n ) {\n return false;\n }\n return (\n message.sendingStatus === comparingMessage.sendingStatus\n && message.sender.userId === comparingMessage.sender.userId\n && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)\n );\n};\n\nexport const compareMessagesForGrouping = (\n prevMessage,\n currMessage,\n nextMessage,\n) => (\n [\n isSameGroup(prevMessage, currMessage),\n isSameGroup(currMessage, nextMessage),\n ]\n);\n\nexport const hasOwnProperty = (property) => (payload) => {\n // eslint-disable-next-line no-prototype-builtins\n if (payload && payload.hasOwnProperty && payload.hasOwnProperty(property)) {\n return true;\n }\n return false;\n};\n\nexport const passUnsuccessfullMessages = (allMessages, newMessage) => {\n const { sendingStatus = UNDEFINED } = newMessage;\n if (sendingStatus === SUCCEEDED || sendingStatus === PENDING) {\n const lastIndexOfSucceededMessage = allMessages\n .map((message) => (\n message.sendingStatus\n || ((message.isAdminMessage && message.isAdminMessage()) ? SUCCEEDED : UNDEFINED)\n ))\n .lastIndexOf(SUCCEEDED);\n if (lastIndexOfSucceededMessage + 1 < allMessages.length) {\n const messages = [...allMessages];\n messages.splice(lastIndexOfSucceededMessage + 1, 0, newMessage);\n return messages;\n }\n }\n return [\n ...allMessages,\n newMessage,\n ];\n};\n\nexport const pxToNumber = (px) => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n\nexport default getParsedStatus;\n","export default {\n initialized: false,\n loading: false,\n allMessages: [],\n currentGroupChannel: { members: [] },\n // for scrollup\n hasMore: false,\n lastMessageTimeStamp: 0,\n // for scroll down\n hasMoreToBottom: false,\n latestFetchedMessageTimeStamp: 0,\n emojiContainer: {},\n readStatus: {},\n unreadCount: 0,\n unreadSince: null,\n isInvalid: false,\n};\n","import format from 'date-fns/format';\n\nimport * as actionTypes from './actionTypes';\nimport initialState from './initialState';\n\nimport compareIds from '../../../utils/compareIds';\nimport { passUnsuccessfullMessages, hasOwnProperty } from '../utils';\nimport { SendingMessageStatus } from '../types';\n\nconst {\n SUCCEEDED,\n FAILED,\n PENDING,\n} = SendingMessageStatus;\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actionTypes.RESET_STATE:\n return initialState;\n case actionTypes.RESET_MESSAGES:\n return {\n ...state,\n // when user switches channel, if the previous channel `hasMore`\n // the onScroll gets called twice, setting hasMore false prevents this\n hasMore: false,\n allMessages: [],\n };\n case actionTypes.GET_PREV_MESSAGES_START:\n return {\n ...state,\n loading: true,\n };\n case actionTypes.CLEAR_SENT_MESSAGES:\n return {\n ...state,\n allMessages: [\n ...state.allMessages.filter((m) => (\n m.sendingStatus !== SUCCEEDED\n )),\n ],\n };\n case actionTypes.GET_PREV_MESSAGES_SUCESS: {\n const receivedMessages = action.payload.messages || [];\n const { currentGroupChannel = {} } = action.payload;\n\n const stateChannel = state.currentGroupChannel || {};\n const stateChannelUrl = stateChannel.url;\n const actionChannelUrl = currentGroupChannel.url;\n if (actionChannelUrl !== stateChannelUrl) {\n return state;\n }\n\n // remove duplicate messages\n const filteredAllMessages = state.allMessages.filter((msg) => (\n !(receivedMessages.find(({ messageId }) => compareIds(messageId, msg.messageId)))\n ));\n\n const hasHasMoreToBottom = hasOwnProperty('hasMoreToBottom')(action.payload);\n const hasLatestFetchedMessageTimeStamp = hasOwnProperty('latestFetchedMessageTimeStamp')(action.payload);\n return {\n ...state,\n loading: false,\n initialized: true,\n hasMore: action.payload.hasMore,\n lastMessageTimeStamp: action.payload.lastMessageTimeStamp,\n // if present change else, keep\n ...(hasHasMoreToBottom && {\n hasMoreToBottom: action.payload.hasMoreToBottom,\n }),\n ...(hasLatestFetchedMessageTimeStamp && {\n latestFetchedMessageTimeStamp: action.payload.latestFetchedMessageTimeStamp,\n }),\n allMessages: [\n ...receivedMessages,\n ...filteredAllMessages,\n ],\n };\n }\n case actionTypes.GET_NEXT_MESSAGES_SUCESS: {\n const receivedMessages = action.payload.messages || [];\n const { currentGroupChannel = {} } = action.payload;\n\n const stateChannel = state.currentGroupChannel || {};\n const stateChannelUrl = stateChannel.url;\n const actionChannelUrl = currentGroupChannel.url;\n if (actionChannelUrl !== stateChannelUrl) {\n return state;\n }\n\n // remove duplicate messages\n const filteredAllMessages = state.allMessages.filter((msg) => (\n !(receivedMessages.find(({ messageId }) => compareIds(messageId, msg.messageId)))\n ));\n\n return {\n ...state,\n loading: false,\n initialized: true,\n hasMore: action.payload.hasMore,\n lastMessageTimeStamp: action.payload.lastMessageTimeStamp,\n hasMoreToBottom: action.payload.hasMoreToBottom,\n latestFetchedMessageTimeStamp: action.payload.latestFetchedMessageTimeStamp,\n allMessages: [\n ...filteredAllMessages,\n ...receivedMessages,\n ],\n };\n }\n case actionTypes.GET_NEXT_MESSAGES_FAILURE: {\n return { ...state };\n }\n case actionTypes.SEND_MESSAGEGE_START:\n return {\n ...state,\n allMessages: [\n ...state.allMessages,\n { ...action.payload },\n ],\n };\n case actionTypes.SEND_MESSAGEGE_SUCESS: {\n const newMessages = state.allMessages.map((m) => (\n compareIds(m.reqId, action.payload.reqId) ? action.payload : m\n ));\n [...newMessages].sort((a, b) => (\n (\n a.sendingStatus\n && b.sendingStatus\n && a.sendingStatus === SUCCEEDED\n && (\n b.sendingStatus === PENDING\n || b.sendingStatus === FAILED\n )\n ) ? -1 : 1\n ));\n return {\n ...state,\n allMessages: newMessages,\n };\n }\n case actionTypes.SEND_MESSAGEGE_FAILURE: {\n // eslint-disable-next-line no-param-reassign\n action.payload.failed = true;\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, action.payload.reqId)\n ? action.payload\n : m\n )),\n };\n }\n case actionTypes.SET_CURRENT_CHANNEL: {\n return {\n ...state,\n currentGroupChannel: action.payload,\n isInvalid: false,\n };\n }\n case actionTypes.SET_CHANNEL_INVALID: {\n return {\n ...state,\n isInvalid: true,\n };\n }\n case actionTypes.UPDATE_UNREAD_COUNT: {\n const { channel } = action.payload;\n const { currentGroupChannel = {}, unreadCount } = state;\n const currentGroupChannelUrl = currentGroupChannel.url;\n if (!compareIds(channel.url, currentGroupChannelUrl)) {\n return state;\n }\n return {\n ...state,\n unreadSince: unreadCount + 1,\n };\n }\n case actionTypes.ON_MESSAGE_RECEIVED: {\n const { channel, message, scrollToEnd } = action.payload;\n let unreadCount = 0;\n const { currentGroupChannel = {}, unreadSince } = state;\n const currentGroupChannelUrl = currentGroupChannel.url;\n if (!compareIds(channel.url, currentGroupChannelUrl)) {\n return state;\n }\n // Excluded overlapping messages\n if (!(state.allMessages.map((msg) => msg.messageId).indexOf(message.messageId) < 0)) {\n return state;\n }\n\n unreadCount = state.unreadCount + 1;\n // reset unreadCount if have to scrollToEnd\n if (scrollToEnd) {\n unreadCount = 0;\n }\n\n if (message.isAdminMessage && message.isAdminMessage()) {\n return {\n ...state,\n allMessages: passUnsuccessfullMessages(state.allMessages, message),\n };\n }\n return {\n ...state,\n unreadCount,\n unreadSince: (unreadCount === 1)\n ? format(new Date(), 'p MMM dd')\n : unreadSince,\n allMessages: passUnsuccessfullMessages(state.allMessages, message),\n };\n }\n case actionTypes.ON_MESSAGE_UPDATED:\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.messageId, action.payload.message.messageId)\n ? action.payload.message\n : m\n )),\n };\n case actionTypes.RESEND_MESSAGEGE_START:\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, action.payload.reqId)\n ? action.payload\n : m\n )),\n };\n case actionTypes.MARK_AS_READ:\n return {\n ...state,\n unreadCount: 0,\n unreadSince: null,\n };\n case actionTypes.ON_MESSAGE_DELETED:\n return {\n ...state,\n allMessages: state.allMessages.filter((m) => (\n !compareIds(m.messageId, action.payload)\n )),\n };\n case actionTypes.ON_MESSAGE_DELETED_BY_REQ_ID:\n return {\n ...state,\n allMessages: state.allMessages.filter((m) => (\n !compareIds(m.reqId, action.payload)\n )),\n };\n case actionTypes.SET_EMOJI_CONTAINER: {\n return {\n ...state,\n emojiContainer: action.payload,\n };\n }\n case actionTypes.SET_READ_STATUS: {\n return {\n ...state,\n readStatus: action.payload,\n };\n }\n case actionTypes.ON_REACTION_UPDATED: {\n return {\n ...state,\n allMessages: state.allMessages.map((m) => {\n if (compareIds(m.messageId, action.payload.messageId)) {\n if (m.applyReactionEvent && typeof m.applyReactionEvent === 'function') {\n m.applyReactionEvent(action.payload);\n }\n return m;\n }\n return m;\n }),\n };\n }\n default:\n return state;\n }\n}\n","import { useEffect } from 'react';\n\nimport * as messageActions from '../dux/actionTypes';\nimport { uuidv4 } from '../../../utils/uuid';\nimport compareIds from '../../../utils/compareIds';\nimport { scrollIntoLast } from '../utils';\n\n/**\n * Handles ChannelEvents and send values to dispatcher using messagesDispatcher\n * messagesDispatcher: Dispatcher\n * sdk: sdkInstance\n * logger: loggerInstance\n * channelUrl: string\n * sdkInit: bool\n */\nfunction useHandleChannelEvents({ currentGroupChannel, sdkInit, hasMoreToBottom }, {\n messagesDispatcher,\n sdk,\n logger,\n scrollRef,\n}) {\n const channelUrl = currentGroupChannel && currentGroupChannel.url;\n useEffect(() => {\n const messageReceiverId = uuidv4();\n if (channelUrl && sdk && sdk.ChannelHandler) {\n const ChannelHandler = new sdk.ChannelHandler();\n logger.info('Channel | useHandleChannelEvents: Setup event handler', messageReceiverId);\n ChannelHandler.onMessageReceived = (channel, message) => {\n // donot update if hasMoreToBottom\n if (compareIds(channel.url, currentGroupChannel.url) && !hasMoreToBottom) {\n let scrollToEnd = false;\n try {\n const { current } = scrollRef;\n scrollToEnd = current.offsetHeight + current.scrollTop >= current.scrollHeight;\n } catch (error) {\n //\n }\n\n logger.info('Channel | useHandleChannelEvents: onMessageReceived', message);\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_RECEIVED,\n payload: { channel, message, scrollToEnd },\n });\n\n if (scrollToEnd) {\n try {\n setTimeout(() => {\n currentGroupChannel.markAsRead();\n scrollIntoLast();\n });\n } catch (error) {\n logger.warning('Channel | onMessageReceived | scroll to end failed');\n }\n }\n }\n if (compareIds(channel.url, currentGroupChannel.url) && hasMoreToBottom) {\n messagesDispatcher({\n type: messageActions.UPDATE_UNREAD_COUNT,\n payload: { channel },\n });\n }\n };\n\n ChannelHandler.onMessageUpdated = (channel, message) => {\n logger.info('Channel | useHandleChannelEvents: onMessageUpdated', message);\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n };\n\n ChannelHandler.onMessageDeleted = (_, messageId) => {\n logger.info('Channel | useHandleChannelEvents: onMessageDeleted', messageId);\n messagesDispatcher({\n type: messageActions.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n };\n\n ChannelHandler.onReactionUpdated = (_, reactionEvent) => {\n logger.info('Channel | useHandleChannelEvents: onReactionUpdated', reactionEvent);\n messagesDispatcher({\n type: messageActions.ON_REACTION_UPDATED,\n payload: reactionEvent,\n });\n };\n\n ChannelHandler.onChannelChanged = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onChannelChanged', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onChannelFrozen = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onChannelFrozen', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onChannelUnfrozen = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onChannelUnFrozen', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onUserMuted = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onUserMuted', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onUserUnmuted = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onUserUnmuted', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onUserBanned = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onUserBanned', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n ChannelHandler.onOperatorUpdated = (groupChannel) => {\n if (compareIds(groupChannel.url, currentGroupChannel.url)) {\n logger.info('Channel | useHandleChannelEvents: onOperatorUpdated', groupChannel);\n messagesDispatcher({\n type: messageActions.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n }\n };\n\n // Add this channel event handler to the SendBird object.\n sdk.addChannelHandler(messageReceiverId, ChannelHandler);\n }\n return () => {\n if (sdk && sdk.removeChannelHandler) {\n logger.info('Channel | useHandleChannelEvents: Removing message reciver handler', messageReceiverId);\n sdk.removeChannelHandler(messageReceiverId);\n }\n };\n }, [channelUrl, sdkInit]);\n}\n\nexport default useHandleChannelEvents;\n","import { useEffect } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useSetChannel({ channelUrl, sdkInit }, {\n messagesDispatcher,\n sdk,\n logger,\n}) {\n useEffect(() => {\n if (channelUrl && sdkInit && sdk && sdk.GroupChannel) {\n logger.info('Channel | useSetChannel fetching channel', channelUrl);\n sdk.GroupChannel.getChannel(channelUrl)\n .then((groupChannel) => {\n logger.info('Channel | useSetChannel fetched channel', groupChannel);\n messagesDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: groupChannel,\n });\n\n logger.info('Channel: Mark as read', groupChannel);\n // this order is important - this mark as read should update the event handler up above\n groupChannel.markAsRead();\n })\n .catch((e) => {\n logger.warning('Channel | useSetChannel fetch channel failed', { channelUrl, e });\n messagesDispatcher({\n type: messageActionTypes.SET_CHANNEL_INVALID,\n });\n });\n sdk.getAllEmoji((emojiContainer_, err) => {\n if (err) {\n logger.error('Channel: Getting emojis failed', err);\n return;\n }\n logger.info('Channel: Getting emojis success', emojiContainer_);\n messagesDispatcher({\n type: messageActionTypes.SET_EMOJI_CONTAINER,\n payload: emojiContainer_,\n });\n });\n }\n }, [channelUrl, sdkInit]);\n}\n\nexport default useSetChannel;\n","import { useEffect } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\nconst PREV_RESULT_SIZE = 30;\nconst NEXT_RESULT_SIZE = 10;\n\nconst getLatestMessageTimeStamp = (messages = []) => {\n const latestMessage = messages[messages.length - 1];\n return (latestMessage && latestMessage.createdAt) || null;\n};\n\nfunction useInitialMessagesFetch({\n currentGroupChannel,\n userFilledMessageListQuery,\n intialTimeStamp,\n}, {\n sdk,\n logger,\n messagesDispatcher,\n}) {\n const channelUrl = currentGroupChannel && currentGroupChannel.url;\n useEffect(() => {\n logger.info('Channel useInitialMessagesFetch: Setup started', currentGroupChannel);\n messagesDispatcher({\n type: messageActionTypes.RESET_MESSAGES,\n });\n\n if (sdk && sdk.MessageListParams\n && currentGroupChannel && currentGroupChannel.getMessagesByMessageId) {\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = PREV_RESULT_SIZE;\n messageListParams.isInclusive = true;\n messageListParams.includeReplies = false;\n messageListParams.includeReaction = true;\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching messages', { currentGroupChannel, userFilledMessageListQuery });\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_START,\n });\n\n if (intialTimeStamp) {\n messageListParams.nextResultSize = NEXT_RESULT_SIZE;\n }\n\n currentGroupChannel.getMessagesByTimestamp(\n intialTimeStamp || new Date().getTime(),\n messageListParams,\n )\n .then((messages) => {\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimeStamp = hasMore\n ? messages[0].createdAt\n : null;\n\n const latestFetchedMessageTimeStamp = getLatestMessageTimeStamp(messages);\n\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages,\n hasMore,\n lastMessageTimeStamp,\n currentGroupChannel,\n latestFetchedMessageTimeStamp,\n hasMoreToBottom: false,\n // for handling message navigation\n ...(intialTimeStamp && {\n hasMoreToBottom: true,\n }),\n },\n });\n })\n .catch((error) => {\n logger.error('Channel: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages: [],\n hasMore: false,\n lastMessageTimeStamp: 0,\n currentGroupChannel,\n },\n });\n })\n .finally(() => {\n if (!intialTimeStamp) {\n setTimeout(() => utils.scrollIntoLast());\n }\n currentGroupChannel.markAsRead();\n });\n }\n }, [channelUrl, userFilledMessageListQuery, intialTimeStamp]);\n}\n\nexport default useInitialMessagesFetch;\n","import { useEffect } from 'react';\n\nimport * as utils from '../utils';\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useHandleReconnect({ isOnline }, {\n logger,\n sdk,\n currentGroupChannel,\n messagesDispatcher,\n userFilledMessageListQuery,\n}) {\n useEffect(() => {\n const wasOffline = !isOnline;\n return () => {\n // state changed from offline to online\n if (wasOffline) {\n logger.info('Refreshing conversation state');\n const { appInfo = {} } = sdk;\n const useReaction = appInfo.isUsingReaction || false;\n\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.includeReplies = false;\n messageListParams.includeReaction = useReaction;\n\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching messages', { currentGroupChannel, userFilledMessageListQuery });\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_START,\n });\n\n sdk.GroupChannel.getChannel(currentGroupChannel.url)\n .then((groupChannel) => {\n const lastMessageTime = new Date().getTime();\n\n groupChannel.getMessagesByTimestamp(\n lastMessageTime,\n messageListParams,\n )\n .then((messages) => {\n messagesDispatcher({\n type: messageActionTypes.CLEAR_SENT_MESSAGES,\n });\n\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimeStamp = hasMore\n ? messages[0].createdAt\n : null;\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages,\n hasMore,\n lastMessageTimeStamp,\n currentGroupChannel,\n },\n });\n setTimeout(() => utils.scrollIntoLast());\n })\n .catch((error) => {\n logger.error('Channel: Fetching messages failed', error);\n })\n .finally(() => {\n currentGroupChannel.markAsRead();\n });\n });\n }\n };\n }, [isOnline]);\n}\n\nexport default useHandleReconnect;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useScrollCallback({\n currentGroupChannel,\n lastMessageTimeStamp,\n userFilledMessageListQuery,\n}, {\n hasMore,\n logger,\n messagesDispatcher,\n sdk,\n}) {\n return useCallback((cb) => {\n if (!hasMore) { return; }\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.includeReplies = false;\n messageListParams.includeReaction = true;\n\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching messages', { currentGroupChannel, userFilledMessageListQuery });\n\n currentGroupChannel.getMessagesByTimestamp(\n lastMessageTimeStamp || new Date().getTime(),\n messageListParams,\n )\n .then((messages) => {\n const hasMoreMessages = (messages && messages.length > 0);\n const lastMessageTs = hasMoreMessages\n ? messages[0].createdAt\n : null;\n\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages,\n hasMore: hasMoreMessages,\n lastMessageTimeStamp: lastMessageTs,\n currentGroupChannel,\n },\n });\n cb([messages, null]);\n })\n .catch((error) => {\n logger.error('Channel: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n messages: [],\n hasMore: false,\n lastMessageTimeStamp: 0,\n currentGroupChannel,\n },\n });\n cb([null, error]);\n })\n .finally(() => {\n currentGroupChannel.markAsRead();\n });\n }, [currentGroupChannel, lastMessageTimeStamp]);\n}\n\nexport default useScrollCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nconst RESULT_SIZE = 30;\n\nfunction useScrollDownCallback({\n currentGroupChannel,\n latestFetchedMessageTimeStamp,\n userFilledMessageListQuery,\n hasMoreToBottom,\n}, {\n logger,\n messagesDispatcher,\n sdk,\n}) {\n return useCallback((cb) => {\n if (!hasMoreToBottom) { return; }\n const messageListParams = new sdk.MessageListParams();\n messageListParams.nextResultSize = RESULT_SIZE;\n messageListParams.includeReplies = false;\n messageListParams.includeReaction = true;\n\n if (userFilledMessageListQuery) {\n Object.keys(userFilledMessageListQuery).forEach((key) => {\n messageListParams[key] = userFilledMessageListQuery[key];\n });\n }\n logger.info('Channel: Fetching later messages', { currentGroupChannel, userFilledMessageListQuery });\n\n currentGroupChannel.getMessagesByTimestamp(\n latestFetchedMessageTimeStamp || new Date().getTime(),\n messageListParams,\n )\n .then((messages) => {\n const messagesLength = (messages && messages.length) || 0;\n const hasMoreMessages = (messagesLength > 0)\n && (messageListParams.nextResultSize === messagesLength);\n const lastMessageTs = hasMoreMessages\n ? messages[messages.length - 1].createdAt\n : null;\n messagesDispatcher({\n type: messageActionTypes.GET_NEXT_MESSAGES_SUCESS,\n payload: {\n messages,\n hasMoreToBottom: hasMoreMessages,\n latestFetchedMessageTimeStamp: lastMessageTs,\n currentGroupChannel,\n },\n });\n cb([messages, null]);\n })\n .catch((error) => {\n logger.error('Channel: Fetching later messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_NEXT_MESSAGES_FAILURE,\n payload: {\n messages: [],\n hasMoreToBottom: false,\n latestFetchedMessageTimeStamp: 0,\n currentGroupChannel,\n },\n });\n cb([null, error]);\n })\n .finally(() => {\n currentGroupChannel.markAsRead();\n });\n }, [currentGroupChannel, latestFetchedMessageTimeStamp, hasMoreToBottom]);\n}\n\nexport default useScrollDownCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useDeleteMessageCallback({ currentGroupChannel, messagesDispatcher }, { logger }) {\n return useCallback((message, cb) => {\n logger.info('Channel | useDeleteMessageCallback: Deleting message', message);\n const { requestState } = message;\n logger.info('Channel | useDeleteMessageCallback: Deleting message requestState:', requestState);\n\n // Message is only on local\n if (requestState === 'failed' || requestState === 'pending') {\n logger.info('Channel | useDeleteMessageCallback: Deleted message from local:', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,\n payload: message.reqId,\n });\n if (cb) { cb(); }\n return;\n }\n\n // Message is on server\n currentGroupChannel.deleteMessage(message, (err) => {\n logger.info('Channel | useDeleteMessageCallback: Deleting message from remote:', requestState);\n if (cb) { cb(err); }\n if (!err) {\n logger.info('Channel | useDeleteMessageCallback: Deleting message success!', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: message.messageId,\n });\n } else {\n logger.warning('Channel | useDeleteMessageCallback: Deleting message failed!', err);\n }\n });\n }, [currentGroupChannel, messagesDispatcher]);\n}\n\nexport default useDeleteMessageCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as topics from '../../../lib/pubSub/topics';\n\nfunction useUpdateMessageCallback({\n currentGroupChannel,\n messagesDispatcher,\n onBeforeUpdateUserMessage,\n}, {\n logger,\n pubSub,\n sdk,\n}) {\n return useCallback((messageId, text, cb) => {\n const createParamsDefault = (txt) => {\n const params = new sdk.UserMessageParams();\n params.message = txt;\n return params;\n };\n\n const createCustomPrams = onBeforeUpdateUserMessage\n && typeof onBeforeUpdateUserMessage === 'function';\n\n if (createCustomPrams) {\n logger.info('Channel: creating params using onBeforeUpdateUserMessage', onBeforeUpdateUserMessage);\n }\n\n const params = onBeforeUpdateUserMessage\n ? onBeforeUpdateUserMessage(text)\n : createParamsDefault(text);\n\n currentGroupChannel.updateUserMessage(messageId, params, (r, e) => {\n logger.info('Channel: Updating message!', params);\n const swapParams = sdk.getErrorFirstCallback();\n let message = r;\n let err = e;\n if (swapParams) {\n message = e;\n err = r;\n }\n if (cb) {\n cb(err, message);\n }\n if (!err) {\n logger.info('Channel: Updating message success!', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: {\n channel: currentGroupChannel,\n message,\n },\n });\n pubSub.publish(\n topics.UPDATE_USER_MESSAGE,\n {\n message,\n channel: currentGroupChannel,\n },\n );\n } else {\n logger.warning('Channel: Updating message failed!', err);\n }\n });\n }, [currentGroupChannel.url, messagesDispatcher, onBeforeUpdateUserMessage]);\n}\n\nexport default useUpdateMessageCallback;\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\n\nfunction useResendMessageCallback({\n currentGroupChannel,\n messagesDispatcher,\n}, {\n logger,\n}) {\n return useCallback((failedMessage) => {\n logger.info('Channel: Resending message has started', failedMessage);\n const { messageType, file } = failedMessage;\n if (failedMessage && typeof failedMessage.isResendable === 'function'\n && failedMessage.isResendable()\n ) {\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGEGE_START,\n payload: failedMessage,\n });\n\n // userMessage\n if (messageType === 'user') {\n currentGroupChannel\n .resendUserMessage(failedMessage)\n .then((message) => {\n logger.info('Channel: Resending message success!', { message });\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n })\n .catch((e) => {\n logger.warning('Channel: Resending message failed!', { e });\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: failedMessage,\n });\n });\n\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGEGE_START,\n payload: failedMessage,\n });\n return;\n }\n\n if (messageType === 'file') {\n currentGroupChannel\n .resendFileMessage(failedMessage, file)\n .then((message) => {\n logger.info('Channel: Resending file message success!', { message });\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n })\n .catch((e) => {\n logger.warning('Channel: Resending file message failed!', { e });\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: failedMessage,\n });\n });\n\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESEND_MESSAGEGE_START,\n payload: failedMessage,\n });\n }\n } else {\n // to alert user on console\n // eslint-disable-next-line no-console\n console.error('Message is not resendable');\n logger.warning('Message is not resendable', failedMessage);\n }\n }, [currentGroupChannel, messagesDispatcher]);\n}\n\nexport default useResendMessageCallback;\n","import { useRef, useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\nimport * as topics from '../../../lib/pubSub/topics';\n\nexport default function useSendMessageCallback({ currentGroupChannel, onBeforeSendUserMessage }, {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n}) {\n const messageInputRef = useRef(null);\n\n const sendMessage = useCallback(\n () => {\n const text = messageInputRef.current.value;\n const createParamsDefault = (txt) => {\n const message = (typeof txt === 'string') ? txt.trim() : txt;\n const params = new sdk.UserMessageParams();\n params.message = message;\n return params;\n };\n\n const createCustomPrams = onBeforeSendUserMessage\n && typeof onBeforeSendUserMessage === 'function';\n\n if (createCustomPrams) {\n logger.info('Channel: creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);\n }\n\n const params = onBeforeSendUserMessage\n ? onBeforeSendUserMessage(text)\n : createParamsDefault(text);\n\n logger.info('Channel: Sending message has started', params);\n const pendingMsg = currentGroupChannel.sendUserMessage(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 // sending params instead of pending message\n // to make sure that we can resend the message once it fails\n if (error) {\n logger.warning('Channel: Sending message failed!', {\n message,\n });\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: message,\n });\n return;\n }\n logger.info('Channel: Sending message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n });\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */\n message: pendingMsg,\n channel: currentGroupChannel,\n });\n setTimeout(() => utils.scrollIntoLast());\n },\n [currentGroupChannel, onBeforeSendUserMessage],\n );\n\n return [messageInputRef, sendMessage];\n}\n","import { useCallback } from 'react';\n\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\nimport * as topics from '../../../lib/pubSub/topics';\n\nexport default function useSendFileMessageCallback({\n currentGroupChannel,\n onBeforeSendFileMessage,\n imageCompression = {},\n}, {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n}) {\n const sendMessage = useCallback((file) => {\n const {\n compressionRate,\n resizingWidth,\n resizingHeight,\n } = imageCompression;\n const createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';\n\n const compressibleFileType = (file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg');\n const compressibleRatio = (compressionRate > 0) && (compressionRate < 1);\n // pxToNumber returns null if values are invalid\n const compressibleDiamensions = utils.pxToNumber(resizingWidth)\n || utils.pxToNumber(resizingHeight);\n\n const canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions);\n\n const createParamsDefault = (file_) => {\n const params = new sdk.FileMessageParams();\n params.file = file_;\n return params;\n };\n\n if (canCompressImage) { // Using image compression\n try {\n const image = document.createElement('img');\n image.src = URL.createObjectURL(file);\n image.onload = () => {\n URL.revokeObjectURL(image.src);\n const canvas = document.createElement('canvas');\n const imageWdith = image.naturalWidth || image.width;\n const imageHeight = image.naturalHeight || image.height;\n\n let targetWidth = utils.pxToNumber(resizingWidth) || imageWdith;\n let targetHeight = utils.pxToNumber(resizingHeight) || imageHeight;\n\n // In canvas.toBlob(callback, mimeType, qualityArgument)\n // qualityArgument doesnt work\n // so in case compressibleDiamensions are not present, we use ratio\n if (file.type === 'image/png' && !compressibleDiamensions) {\n targetWidth *= compressionRate;\n targetHeight *= compressionRate;\n }\n\n canvas.width = targetWidth;\n canvas.height = targetHeight;\n const context = canvas.getContext('2d');\n context.drawImage(image, 0, 0, targetWidth, targetHeight);\n context.canvas.toBlob(\n (newImageBlob) => {\n const compressedFile = new File([newImageBlob], file.name, { type: file.type });\n if (createCustomParams) {\n logger.info('Channel: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = createCustomParams\n ? onBeforeSendFileMessage(compressedFile)\n : createParamsDefault(compressedFile);\n logger.info('Channel: Uploading file message start!', params);\n const pendingMessage = currentGroupChannel.sendFileMessage(\n params,\n (response, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n const [message, error] = swapParams ? [err, response] : [response, err];\n if (error) {\n // sending params instead of pending message\n // to make sure that we can resend the message once it fails\n logger.error('Channel: Sending file message failed!', message);\n message.localUrl = URL.createObjectURL(compressedFile);\n message.file = compressedFile;\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: message,\n });\n return;\n }\n logger.info('Channel: Sending file message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n },\n );\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */\n message: {\n ...pendingMessage,\n url: URL.createObjectURL(compressedFile),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentGroupChannel,\n });\n setTimeout(() => utils.scrollIntoLast(), 1000);\n },\n file.type,\n compressionRate,\n );\n };\n } catch (error) {\n logger.error('Channel: Sending file message failed!');\n }\n } else { // Not using image compression\n if (createCustomParams) {\n logger.info('Channel: creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = onBeforeSendFileMessage\n ? onBeforeSendFileMessage(file)\n : createParamsDefault(file);\n logger.info('Channel: Uploading file message start!', params);\n\n const pendingMsg = currentGroupChannel.sendFileMessage(params, (response, err) => {\n const swapParams = sdk.getErrorFirstCallback();\n const [message, error] = swapParams ? [err, response] : [response, err];\n if (error) {\n // sending params instead of pending message\n // to make sure that we can resend the message once it fails\n logger.error('Channel: Sending file message failed!', message);\n message.localUrl = URL.createObjectURL(file);\n message.file = file;\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_FAILURE,\n payload: message,\n });\n return;\n }\n logger.info('Channel: Sending message success!', message);\n messagesDispatcher({\n type: messageActionTypes.SEND_MESSAGEGE_SUCESS,\n payload: message,\n });\n });\n pubSub.publish(topics.SEND_MESSAGE_START, {\n /* pubSub is used instead of messagesDispatcher\n to avoid redundantly calling `messageActionTypes.SEND_MESSAGEGE_START` */\n message: {\n ...pendingMsg,\n url: URL.createObjectURL(file),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentGroupChannel,\n });\n setTimeout(() => utils.scrollIntoLast(), 1000);\n }\n }, [currentGroupChannel, onBeforeSendFileMessage, imageCompression]);\n return [sendMessage];\n}\n","import { useEffect } from 'react';\n\nimport * as utils from '../utils';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport { uuidv4 } from '../../../utils/uuid';\n\nexport default function useSetReadStatus({ allMessages, currentGroupChannel }, {\n messagesDispatcher,\n sdk,\n logger,\n}) {\n useEffect(() => {\n if (!sdk.ChannelHandler || !currentGroupChannel.url) {\n return () => {};\n }\n // todo: move to reducer?\n const setReadStatus = () => {\n const allReadStatus = allMessages.reduce((accumulator, msg) => {\n if (msg.messageId !== 0) {\n return {\n ...accumulator,\n [msg.messageId]: utils.getParsedStatus(msg, currentGroupChannel),\n };\n }\n return accumulator;\n }, {});\n messagesDispatcher({\n type: messageActionTypes.SET_READ_STATUS,\n payload: allReadStatus,\n });\n };\n if (allMessages.length > 0) {\n setReadStatus();\n }\n\n const channelUrl = currentGroupChannel.url;\n const handler = new sdk.ChannelHandler();\n const handleMessageStatus = (c) => {\n if (channelUrl === c.url) {\n setReadStatus();\n }\n };\n handler.onDeliveryReceiptUpdated = handleMessageStatus;\n handler.onReadReceiptUpdated = handleMessageStatus;\n // Add this channel event handler to the SendBird object.\n const handlerId = uuidv4();\n logger.info('Channel | useSetReadStatus: Removing message reciver handler', handlerId);\n sdk.addChannelHandler(handlerId, handler);\n return () => {\n if (sdk && sdk.removeChannelHandler) {\n logger.info('Channel | useSetReadStatus: Removing message reciver handler', handlerId);\n sdk.removeChannelHandler(handlerId);\n }\n };\n }, [allMessages, currentGroupChannel]);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nconst ReactionButton = React.forwardRef((props, ref) => {\n const {\n children,\n width,\n height,\n onClick,\n selected,\n className,\n } = props;\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n return (\n onClick(e)}\n role=\"button\"\n onKeyDown={(e) => onClick(e)}\n tabIndex={0}\n >\n
\n {children}\n
\n
\n );\n});\n\nReactionButton.propTypes = {\n children: PropTypes.element.isRequired,\n onClick: PropTypes.func,\n selected: PropTypes.bool,\n width: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n height: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nReactionButton.defaultProps = {\n selected: false,\n width: '36px',\n height: '36px',\n onClick: () => { },\n className: '',\n};\n\nexport default ReactionButton;\n","import React, { useMemo } from 'react';\n\nimport { EmojiListItems } from '../../../ui/ContextMenu';\nimport ReactionButton from '../../../ui/ReactionButton';\nimport ImageRenderer from '../../../ui/ImageRenderer';\nimport Icon, { IconTypes } from '../../../ui/Icon';\n\nexport default function useMemoizedEmojiListItems({\n emojiContainer, toggleReaction,\n}, {\n useReaction,\n logger,\n userId,\n emojiAllList,\n}) {\n return useMemo(() => ({\n parentRef,\n parentContainRef,\n message,\n closeDropdown,\n spaceFromTrigger = {},\n }) => {\n if (!useReaction || !(parentRef || parentContainRef || message || closeDropdown)) {\n logger.warning('Channel: Invalid Params in memoizedEmojiListItems');\n return null;\n }\n\n return (\n \n {\n emojiAllList.map((emoji) => {\n const reactedReaction = message.reactions\n .filter((reaction) => reaction.key === emoji.key)[0];\n const isReacted = reactedReaction\n ? !(reactedReaction.userIds.indexOf(userId) < 0)\n : false;\n return (\n {\n closeDropdown();\n toggleReaction(message, emoji.key, isReacted);\n }}\n >\n \n }\n />\n \n );\n })\n }\n \n );\n }, [emojiContainer, toggleReaction]);\n}\n","import { useCallback } from 'react';\n\nexport default function useToggleReactionCallback({ currentGroupChannel }, { logger }) {\n return useCallback((message, key, isReacted) => {\n if (isReacted) {\n currentGroupChannel.deleteReaction(message, key)\n .then((res) => {\n logger.info('Delete reaction success', res);\n })\n .catch((err) => {\n logger.warning('Delete reaction failed', err);\n });\n return;\n }\n currentGroupChannel.addReaction(message, key)\n .then((res) => {\n logger.info('Add reaction success', res);\n })\n .catch((err) => {\n logger.warning('Add reaction failed', err);\n });\n }, [currentGroupChannel]);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport Loader from '../Loader';\nimport MessageStatusType from './type';\n\nimport { getMessageCreatedAt } from '../../utils/utils';\n\nconst MessageStatusTypes = MessageStatusType;\nexport { MessageStatusTypes };\nexport default function MessageStatus({\n message,\n status,\n className,\n}) {\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n const label = () => {\n switch (status) {\n case MessageStatusType.FAILED:\n case MessageStatusType.PENDING: {\n return null;\n }\n case MessageStatusType.SENT:\n case MessageStatusType.DELIVERED:\n case MessageStatusType.READ: {\n return (\n \n {getMessageCreatedAt(message)}\n \n );\n }\n default: return null;\n }\n };\n\n const icon = {\n PENDING: (\n \n \n \n ),\n SENT: ,\n DELIVERED: ,\n READ: ,\n FAILED: ,\n };\n\n return (\n
\n {icon[status]}\n
\n {label(status)}\n
\n );\n}\n\nMessageStatus.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n status: PropTypes.string,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nMessageStatus.defaultProps = {\n message: null,\n status: '',\n className: '',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nimport './index.scss';\n\nconst ReactionBadge = React.forwardRef((props, ref) => {\n const {\n className,\n children,\n count,\n selected,\n isAdd,\n onClick,\n } = props;\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n if (selected && !isAdd) {\n injectingClassName.unshift('sendbird-reaction-badge--selected');\n } else if (isAdd) {\n injectingClassName.push('sendbird-reaction-badge--is-add');\n } else {\n injectingClassName.unshift('sendbird-reaction-badge');\n }\n\n return (\n \n
\n
\n {children}\n
\n \n
\n \n );\n});\n\nReactionBadge.propTypes = {\n children: PropTypes.element.isRequired,\n count: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n selected: PropTypes.bool,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n isAdd: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nReactionBadge.defaultProps = {\n className: '',\n count: '',\n selected: false,\n isAdd: false,\n onClick: () => { },\n};\n\nexport default ReactionBadge;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport Label from '../Label';\n\nconst CLASS_NAME = 'sendbird-tooltip';\n\nexport default function Tooltip({\n className,\n children,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift(CLASS_NAME);\n\n return (\n
\n \n {children}\n \n
\n );\n}\n\nTooltip.propTypes = {\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.string,\n ]),\n};\n\nTooltip.defaultProps = {\n className: '',\n children: '',\n};\n","import React, { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nconst CLASS_NAME = 'sendbird-tooltip-wrapper';\nconst SPACE_FROM_TRIGGER = 8;\n\nexport default function TooltipWrapper({\n className,\n children,\n hoverTooltip,\n // clickTooltip can be added later\n}) {\n const injectingClassName = Array.isArray(className)\n ? [CLASS_NAME, ...className]\n : [CLASS_NAME, className];\n const [showHoverTooltip, setShowHoverTooltip] = useState(false);\n const childrenRef = useRef(null);\n\n return (\n { setShowHoverTooltip(true); }}\n onFocus={() => { setShowHoverTooltip(true); }}\n onMouseOut={() => { setShowHoverTooltip(false); }}\n onBlur={() => { setShowHoverTooltip(false); }}\n >\n \n {children}\n \n {\n showHoverTooltip && (\n \n \n \n {hoverTooltip}\n \n \n \n )\n }\n \n );\n}\n\nTooltipWrapper.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n children: PropTypes.element.isRequired,\n hoverTooltip: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]).isRequired,\n};\nTooltipWrapper.defaultProps = {\n className: '',\n};\n","import React, { useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport ReactionBadge from '../ReactionBadge';\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ContextMenu from '../ContextMenu';\nimport Tooltip from '../Tooltip';\nimport TooltipWrapper from '../TooltipWrapper';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nexport default function EmojiReactions({\n className,\n userId,\n message,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift('sendbird-emoji-reactions');\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const imageWidth = '20px';\n const imageHeight = '20px';\n const emojiReactionAddRef = useRef(null);\n const { reactions = [] } = message;\n const messageReactions = reactions;\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n
\n
\n {\n messageReactions && (\n messageReactions.map((reaction) => {\n const { userIds = [] } = reaction;\n const emojiUrl = emojiAllMap.get(reaction.key) || '';\n const reactedUserCount = userIds.length;\n const reactedByMe = !(userIds.indexOf(userId) < 0);\n const nicknames = userIds\n .filter((currentUserId) => currentUserId !== userId)\n .map((currentUserId) => (\n membersMap.get(currentUserId) || stringSet.TOOLTIP__UNKOWN_USER\n ));\n const stringSetForMe = (nicknames.length > 0)\n ? stringSet.TOOLTIP__AND_YOU : stringSet.TOOLTIP__YOU;\n return (\n 0 && (\n \n <>\n {\n `${(\n nicknames.join(', ')\n )}${(\n reactedByMe\n ? stringSetForMe\n : ''\n )}`\n }\n \n \n )\n }\n >\n toggleReaction(message, reaction.key, reactedByMe)}\n >\n \n )}\n />\n \n \n );\n })\n )\n }\n {\n (messageReactions.length < emojiAllMap.size)\n && (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n )}\n />\n )\n }\n
\n
\n );\n}\n\nEmojiReactions.propTypes = {\n userId: PropTypes.string,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n message: PropTypes.shape({\n reactions: PropTypes.arrayOf(PropTypes.shape({})),\n }).isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n};\nEmojiReactions.defaultProps = {\n className: '',\n membersMap: new Map(),\n userId: '',\n toggleReaction: () => { },\n memoizedEmojiListItems: () => '',\n};\n","import React, { useMemo, useContext } from 'react';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport uuidv4 from '../../utils/uuid';\n\nconst WORD_TYPOGRAPHY = LabelTypography.BODY_1;\nconst EDITED_COLOR = LabelColors.ONBACKGROUND_2;\n\nexport default function useMemoizedMessageText({\n message,\n updatedAt,\n className,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n return useMemo(() => () => {\n const splitMessage = message.split(/\\r/);\n const matchedMessage = splitMessage\n .map((word) => (word !== '' ? word :
));\n if (updatedAt > 0) {\n matchedMessage.push(\n \n {` ${stringSet.MESSAGE_EDITED} `}\n ,\n );\n }\n return matchedMessage;\n }, [message, updatedAt, className]);\n}\n","import { useEffect } from 'react';\n\nconst MOUSE_ENTER = 'mouseenter';\nconst MOUSE_LEAVE = 'mouseleave';\n\nconst useMouseHover = ({\n ref,\n setHover,\n}) => {\n const handleMouseOver = () => {\n if (ref.current) {\n setHover(true);\n }\n };\n const handleMouseOut = () => {\n if (ref.current) {\n setHover(false);\n }\n };\n\n useEffect(() => {\n const { current } = ref;\n current.addEventListener(MOUSE_ENTER, handleMouseOver);\n current.addEventListener(MOUSE_LEAVE, handleMouseOut);\n return () => {\n current.removeEventListener(MOUSE_ENTER, handleMouseOver);\n current.removeEventListener(MOUSE_LEAVE, handleMouseOut);\n };\n });\n};\n\nexport default useMouseHover;\n","import React, { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport './index.scss';\nimport UserProfile from '../UserProfile';\nimport Avatar from '../Avatar/index';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport MessageStatus from '../MessageStatus';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport EmojiReactions from '../EmojiReactions';\nimport {\n copyToClipboard,\n getMessageCreatedAt,\n getSenderName,\n getSenderProfileUrl,\n getIsSentFromStatus,\n} from './utils';\nimport useMemoizedMessageText from './memoizedMessageText';\nimport useMouseHover from '../../hooks/onMouseHover';\n\nconst noop = () => { };\nconst GROUPING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\n\nexport default function Message(props) {\n const {\n isByMe,\n userId,\n message,\n className,\n resendMessage,\n disabled,\n showEdit,\n showRemove,\n status,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n } = props;\n\n if (!message) return null;\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n injectingClassName.push(`sendbird-message${isByMe ? '--outgoing' : '--incoming'}`);\n const memoizedMessageText = useMemoizedMessageText({\n message: message.message,\n updatedAt: message.updatedAt,\n className: 'sendbird-user-message-word',\n });\n\n return (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n );\n}\n\nMessage.propTypes = {\n isByMe: PropTypes.bool,\n disabled: PropTypes.bool,\n userId: PropTypes.string,\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])).isRequired,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n showEdit: PropTypes.func,\n status: PropTypes.string,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nMessage.defaultProps = {\n isByMe: false,\n disabled: false,\n userId: '',\n resendMessage: noop,\n className: '',\n showEdit: noop,\n showRemove: noop,\n status: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n chainTop: false,\n chainBottom: false,\n};\n\nfunction OutgoingUserMessage({\n userId,\n message,\n showEdit,\n disabled,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n // TODO: when message.requestState is succeeded, consider if it's SENT or DELIVERED\n const messageRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n const isMessageSent = getIsSentFromStatus(status);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n \n
\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n {\n isMessageSent && (\n { copyToClipboard(message.message); closeDropdown(); }}\n >\n Copy\n \n )\n }\n {\n isMessageSent && (\n {\n if (disabled) { return; }\n showEdit(true);\n closeDropdown();\n }}\n >\n Edit\n \n )\n }\n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n Resend\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n Delete\n \n \n );\n }}\n />\n {\n (isMessageSent && useReaction && (emojiAllMap.size > 0))\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n
\n \n
\n )\n }\n
\n
\n
\n
\n \n \n \n
\n {\n (useReaction && message.reactions && message.reactions.length > 0)\n && (\n \n )\n }\n
\n
\n \n \n );\n}\n\nfunction IncomingUserMessage({\n userId,\n message,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const messageRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n const avatarRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n const showEmojiReactions = (useReaction && message.reactions && message.reactions.length > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className=\"sendbird-user-message__avatar\"\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n {\n !chainTop && (\n \n {getSenderName(message)}\n \n )\n }\n
\n
\n
\n \n \n \n
\n {\n showEmojiReactions && (\n \n )\n }\n
\n
\n
\n
\n \n {\n showReactionAddButton\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n { copyToClipboard(message.message); closeDropdown(); }}\n >\n Copy\n \n \n );\n }}\n />\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n
\n \n \n );\n}\n\nIncomingUserMessage.propTypes = {\n userId: PropTypes.string.isRequired,\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nIncomingUserMessage.defaultProps = {\n message: {},\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n\nOutgoingUserMessage.propTypes = {\n userId: PropTypes.string.isRequired,\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n showEdit: PropTypes.func,\n showRemove: PropTypes.func,\n disabled: PropTypes.bool,\n resendMessage: PropTypes.func,\n status: PropTypes.string.isRequired,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingUserMessage.defaultProps = {\n message: {},\n resendMessage: noop,\n showEdit: noop,\n showRemove: noop,\n disabled: false,\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Label, { LabelColors, LabelTypography } from '../Label';\n\nexport default function AdminMessage({\n className,\n message,\n}) {\n if (!message.messageType || message.messageType !== 'admin') { // change to use message.isAdminMessage()\n return null;\n }\n\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n
\n \n
\n );\n}\n\nAdminMessage.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nAdminMessage.defaultProps = {\n message: {},\n className: '',\n};\n","import format from 'date-fns/format';\nimport MessageStatusType from '../MessageStatus/type';\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const getIsSentFromStatus = (status) => (\n status === MessageStatusType.SENT\n || status === MessageStatusType.DELIVERED\n || status === MessageStatusType.READ\n);\n\nexport default {\n getMessageCreatedAt,\n getIsSentFromStatus,\n};\n","import React, { useContext, useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport {\n getMessageCreatedAt,\n getIsSentFromStatus,\n} from './util';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport Avatar from '../Avatar/index';\nimport UserProfile from '../UserProfile';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport IconButton from '../IconButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport ImageRenderer from '../ImageRenderer';\nimport MessageStatus from '../MessageStatus';\nimport EmojiReactions from '../EmojiReactions';\nimport {\n isImage,\n isVideo,\n unSupported,\n} from '../FileViewer/types';\nimport {\n getSenderName,\n getSenderProfileUrl,\n} from '../../utils/utils';\nimport useMouseHover from '../../hooks/onMouseHover';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nconst noop = () => { };\n\nconst OUTGOING_THUMBNAIL_MESSAGE = 'sendbird-outgoing-thumbnail-message';\nconst INCOMING_THUMBNAIL_MESSAGE = 'sendbird-incoming-thumbnail-message';\nconst GROUPING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\n\nexport default function ThumbnailMessage({\n message = {},\n userId,\n disabled,\n isByMe,\n onClick,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n return (\n isByMe\n ? (\n \n )\n : (\n \n )\n );\n}\n\nexport function OutgoingThumbnailMessage({\n message = {},\n userId,\n disabled,\n onClick,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const {\n type,\n url,\n localUrl,\n thumbnails,\n } = message;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const { stringSet } = useContext(LocalizationContext);\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const menuRef = useRef(null);\n const reactionAddRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n\n const showReactionAddButton = (useReaction && emojiAllMap && emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const isMessageSent = getIsSentFromStatus(status);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n \n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n \n );\n }}\n />\n {\n isMessageSent && showReactionAddButton\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n )\n }\n
\n
\n \n onClick(true) : () => { }}\n onKeyDown={isMessageSent ? () => onClick(true) : () => { }}\n tabIndex={0}\n role=\"button\"\n >\n {\n isVideo(type) && (\n <>\n {\n (thumbnailUrl)\n ? (\n \n \n
\n )}\n />\n )\n : (\n /* eslint-disable-next-line jsx-a11y/media-has-caption */\n \n \n \n )\n }\n \n \n )\n }\n {\n isImage(type) && (\n \n \n \n )}\n />\n )\n }\n {\n unSupported(type) && (\n
\n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n
\n )\n }\n
\n
\n {\n (useReaction && message.reactions && message.reactions.length > 0)\n && (\n \n )\n }\n \n \n \n \n );\n}\n\nexport function IncomingThumbnailMessage({\n message = {},\n userId,\n onClick,\n status,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const {\n type,\n url,\n localUrl,\n thumbnails,\n } = message;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const reactionAddRef = useRef(null);\n const avatarRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n\n const showReactionAddButton = (useReaction && emojiAllMap && emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const isMessageSent = getIsSentFromStatus(status);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n {\n !chainTop && (\n \n {getSenderName(message) || ''}\n \n )\n }\n
\n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className={`${INCOMING_THUMBNAIL_MESSAGE}__avatar`}\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n onClick(true) : () => { }}\n onKeyDown={isMessageSent ? () => onClick(true) : () => { }}\n >\n {\n isVideo(type) && (\n <>\n {\n (thumbnailUrl)\n ? (\n \n \n
\n )}\n />\n )\n : (\n /* eslint-disable-next-line jsx-a11y/media-has-caption */\n \n )\n }\n \n \n )\n }\n {\n isImage(type) && (\n \n \n
\n )}\n />\n )\n }\n {\n unSupported(type) && (\n
\n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n
\n )\n }\n
\n
\n {\n (useReaction && message.reactions && message.reactions.length > 0)\n && (\n \n )\n }\n
\n \n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n \n {\n showReactionAddButton && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n \n \n \n );\n}\n\nThumbnailMessage.propTypes = {\n message: PropTypes.shape({\n type: PropTypes.string,\n url: PropTypes.string,\n localUrl: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string,\n resendMessage: PropTypes.func,\n status: PropTypes.string,\n isByMe: PropTypes.bool,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n showRemove: PropTypes.func,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\nThumbnailMessage.defaultProps = {\n isByMe: false,\n disabled: false,\n resendMessage: noop,\n onClick: noop,\n showRemove: noop,\n status: '',\n userId: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n chainTop: false,\n chainBottom: false,\n};\n\nOutgoingThumbnailMessage.propTypes = {\n message: PropTypes.shape({\n type: PropTypes.string,\n url: PropTypes.string,\n localUrl: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n disabled: PropTypes.bool.isRequired,\n resendMessage: PropTypes.func.isRequired,\n status: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n showRemove: PropTypes.func.isRequired,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\nOutgoingThumbnailMessage.defaultProps = {\n status: '',\n};\n\nIncomingThumbnailMessage.propTypes = {\n message: PropTypes.shape({\n type: PropTypes.string,\n url: PropTypes.string,\n localUrl: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n onClick: PropTypes.func.isRequired,\n status: PropTypes.string,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\nIncomingThumbnailMessage.defaultProps = {\n status: '',\n};\n","import React, { useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport './index.scss';\nimport Avatar from '../Avatar/index';\nimport IconButton from '../IconButton';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport TextButton from '../TextButton';\nimport UserProfile from '../UserProfile';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport MessageStatus from '../MessageStatus';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport EmojiReactions from '../EmojiReactions';\n\nimport { getSenderProfileUrl, getSenderName, getMessageCreatedAt } from '../../utils/utils';\nimport {\n truncate,\n getIsSentFromStatus,\n} from './utils';\nimport useMouseHover from '../../hooks/onMouseHover';\n\nconst MAX_TRUNCATE_LENGTH = 40;\nconst GROUPAING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\nconst noop = () => { };\n\nfunction checkFileType(fileUrl) {\n let result = null;\n const imageFile = /(\\.gif|\\.jpg|\\.jpeg|\\.txt|\\.pdf)$/i;\n const audioFile = /(\\.mp3)$/i;\n if (imageFile.test(fileUrl)) {\n result = IconTypes.FILE_DOCUMENT;\n } else if (audioFile.test(fileUrl)) {\n result = IconTypes.FILE_AUDIO;\n }\n return result;\n}\n\nexport function OutgoingFileMessage({\n message,\n userId,\n status,\n showRemove,\n disabled,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const {\n url,\n } = message;\n const openFileUrl = () => { window.open(url); };\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const menuRef = useRef(null);\n const reactionAddButtonRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const isMessageSent = getIsSentFromStatus(status);\n const showEmojiReactions = isMessageSent && useReaction && message.reactions\n && (message.reactions.length > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n \n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n Resend\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n Delete\n \n \n );\n }}\n />\n {\n showReactionAddButton && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n
\n \n
\n )\n }\n
\n
\n
\n {\n checkFileType(url)\n ? (\n \n )\n : null\n }\n \n \n {truncate(message.url, MAX_TRUNCATE_LENGTH)}\n \n \n
\n {\n showEmojiReactions && (\n \n )\n }\n
\n \n \n );\n}\n\nexport function IncomingFileMessage({\n message,\n userId,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) {\n const openFileUrl = () => { window.open(message.url); };\n const messageRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n const parentContainRef = useRef(null);\n const avatarRef = useRef(null);\n const reactionAddButtonRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className=\"sendbird-file-message__avatar\"\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n {\n !chainTop && (\n \n {getSenderName(message)}\n \n )\n }\n
\n
\n {\n checkFileType(message.url)\n ? (\n \n )\n : null\n }\n \n \n {truncate(message.url, MAX_TRUNCATE_LENGTH)}\n \n \n
\n {\n (useReaction && message.reactions && (message.reactions.length > 0)) && (\n \n )\n }\n
\n
\n
\n \n {\n showReactionAddButton && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n );\n }}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n
\n \n \n );\n}\n\nOutgoingFileMessage.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n userId: PropTypes.string,\n status: PropTypes.string,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n useReaction: PropTypes.bool.isRequired,\n disabled: PropTypes.bool,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingFileMessage.defaultProps = {\n status: '',\n showRemove: noop,\n resendMessage: noop,\n message: {},\n userId: '',\n disabled: false,\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n\nIncomingFileMessage.propTypes = {\n message: PropTypes.objectOf(PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n PropTypes.array,\n PropTypes.object,\n ])),\n userId: PropTypes.string,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nIncomingFileMessage.defaultProps = {\n message: {},\n userId: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n};\n\nconst MessageSwitch = ({\n message,\n userId,\n disabled,\n isByMe,\n showRemove,\n status,\n resendMessage,\n useReaction,\n emojiAllMap,\n membersMap,\n toggleReaction,\n memoizedEmojiListItems,\n chainTop,\n chainBottom,\n}) => (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n);\n\n\nMessageSwitch.propTypes = {\n message: PropTypes.shape({}),\n userId: PropTypes.string,\n isByMe: PropTypes.bool,\n disabled: PropTypes.bool,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n status: PropTypes.string.isRequired,\n useReaction: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nMessageSwitch.defaultProps = {\n message: {},\n isByMe: false,\n disabled: false,\n showRemove: noop,\n resendMessage: noop,\n userId: '',\n emojiAllMap: new Map(),\n membersMap: new Map(),\n toggleReaction: noop,\n memoizedEmojiListItems: () => '',\n chainTop: false,\n chainBottom: false,\n};\n\nexport default MessageSwitch;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Modal from '../../../ui/Modal';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\nconst RemoveMessage = (props) => {\n const {\n onCloseModal,\n onDeleteMessage,\n } = props;\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n );\n};\n\nRemoveMessage.propTypes = {\n onCloseModal: PropTypes.func.isRequired,\n onDeleteMessage: PropTypes.func.isRequired,\n};\n\nexport default RemoveMessage;\n","import format from 'date-fns/format';\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport default {\n getMessageCreatedAt,\n};\n","import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport * as utils from './utils';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Avatar from '../Avatar/index';\nimport UserProfile from '../UserProfile';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport MessageStatus from '../MessageStatus';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport IconButton from '../IconButton';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport useMouseHover from '../../hooks/onMouseHover';\n\nconst CLASS_NAME = 'sendbird-unknown-message';\nconst GROUPING_PADDING = '1px';\nconst NORMAL_PADDING = '8px';\n\nexport default function UnknownMessage({\n message,\n isByMe,\n status,\n className,\n showRemove,\n chainTop,\n chainBottom,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift(CLASS_NAME);\n injectingClassName.push(`${CLASS_NAME}${isByMe ? '--outgoing' : '--incoming'}`);\n\n return (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n );\n}\n\nUnknownMessage.propTypes = {\n message: PropTypes.shape({}).isRequired,\n isByMe: PropTypes.bool,\n status: PropTypes.string,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n showRemove: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nUnknownMessage.defaultProps = {\n isByMe: false,\n status: '',\n className: '',\n showRemove: () => { },\n chainTop: false,\n chainBottom: false,\n};\n\nfunction OutgoingUnknownMessage({\n message,\n status,\n showRemove,\n chainTop,\n chainBottom,\n}) {\n const className = 'sendbird-outgoing-unknown-message';\n const messageRef = useRef(null);\n const parentContainRef = useRef(null);\n const menuRef = useRef(null);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n const [menuDisplaying, setMenuDisplaying] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n \n (\n {\n toggleDropdown();\n handleMoreIconClick();\n setMenuDisplaying(true);\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(close) => {\n const closeDropdown = () => {\n close();\n setMenuDisplaying(false);\n };\n return (\n \n { showRemove(true); closeDropdown(); }}\n >\n Delete\n \n \n );\n }}\n />\n
\n {\n !chainBottom && !(mousehover || moreActive || menuDisplaying) && (\n
\n \n
\n )\n }\n
\n
\n
\n \n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n \n \n {stringSet.UNKNOWN__CANNOT_READ_MESSAGE}\n \n
\n
\n \n \n );\n}\n\nfunction IncomingUnknownMessage({\n message,\n chainTop,\n chainBottom,\n}) {\n const className = 'sendbird-incoming-unknown-message';\n const { sender } = message;\n const avatarRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className={`${className}__left__sender-profile-image`}\n src={sender.profileUrl}\n width=\"28px\"\n height=\"28px\"\n alt=\"sender-profile-image\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n \n {sender.nickname || stringSet.NO_NAME}\n \n )\n }\n
\n \n {stringSet.UNKNOWN__UNKNOWN_MESSAGE_TYPE}\n \n \n {stringSet.UNKNOWN__CANNOT_READ_MESSAGE}\n \n
\n
\n
\n {\n !chainBottom && (\n \n {utils.getMessageCreatedAt(message)}\n \n )\n }\n
\n
\n \n );\n}\n\nOutgoingUnknownMessage.propTypes = {\n message: PropTypes.shape({}).isRequired,\n status: PropTypes.string.isRequired,\n showRemove: PropTypes.func,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingUnknownMessage.defaultProps = {\n showRemove: () => { },\n};\n\nIncomingUnknownMessage.propTypes = {\n message: PropTypes.shape({\n sender: PropTypes.shape({\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n }),\n }).isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n","export const URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const OG_MESSAGE = 'sendbird-og-message';\nexport const OUTGOING_OG_MESSAGE = 'sendbird-outgoing-og-message';\nexport const INCOMING_OG_MESSAGE = 'sendbird-incoming-og-message';\nexport const generateMockMessage = (process) => {\n const message = {\n message: 'go to this link sendbird.com it will be usefull to you!!',\n ogMetaData: {\n title: 'This is the TITLE',\n description: 'I\\'m description I\\'m description I\\'m description I\\'m description ',\n url: 'https://sendbird.com/',\n defaultImage: {\n url: 'https://static.sendbird.com/sample/profiles/profile_12_512px.png',\n alt: 'test',\n },\n },\n sender: {\n profileUrl: 'https://static.sendbird.com/sample/profiles/profile_12_512px.png',\n nickname: 'Hoonying',\n },\n createdAt: 2000000,\n };\n if (process && typeof process === 'function') {\n return process(message);\n }\n return message;\n};\n\nexport default {\n URL_REG,\n OG_MESSAGE,\n OUTGOING_OG_MESSAGE,\n INCOMING_OG_MESSAGE,\n generateMockMessage,\n};\n","import format from 'date-fns/format';\nimport MessageStatusType from '../MessageStatus/type';\n\nexport const createUrlTester = (regexp) => (text) => regexp.test(text);\n\nexport const getIsSentFromStatus = (status) => (\n status === MessageStatusType.SENT\n || status === MessageStatusType.DELIVERED\n || status === MessageStatusType.READ\n);\n\nexport const copyToClipboard = (text) => {\n try {\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path\n // to prevent textarea being shown while dialog is visible.\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n } catch (err) {\n return err;\n }\n};\n\nexport const getSenderProfileUrl = (message) => message.sender && message.sender.profileUrl;\n\nexport const getSenderName = (message) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const checkOGIsEnalbed = (message) => {\n const { ogMetaData } = message;\n if (!ogMetaData) {\n return false;\n }\n const { url } = ogMetaData;\n if (!url) {\n return false;\n }\n return true;\n};\n\nexport default {\n getSenderName,\n createUrlTester,\n copyToClipboard,\n checkOGIsEnalbed,\n getMessageCreatedAt,\n getIsSentFromStatus,\n getSenderProfileUrl,\n};\n","import React, { useMemo, useContext } from 'react';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport LinkLabel from '../LinkLabel';\nimport uuidv4 from '../../utils/uuid';\nimport { createUrlTester } from './utils';\nimport { URL_REG } from './const';\n\nconst WORD_TYPOGRAPHY = LabelTypography.BODY_1;\nconst WORD_COLOR = LabelColors.ONBACKGROUND_1;\nconst EDITED_COLOR = LabelColors.ONBACKGROUND_2;\nconst isUrl = createUrlTester(URL_REG);\n\nexport default function useMemoizedMessageText({\n message,\n updatedAt,\n className,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n return useMemo(() => () => {\n const splitMessage = message.split(' ');\n const matchedMessage = splitMessage\n .map((word) => (\n isUrl(word)\n ? (\n \n {word}\n \n )\n : (\n \n {word}\n \n )\n ));\n if (updatedAt > 0) {\n matchedMessage.push(\n \n {stringSet.MESSAGE_EDITED}\n ,\n );\n }\n return matchedMessage;\n }, [message, updatedAt, className]);\n}\n","import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n OG_MESSAGE,\n OUTGOING_OG_MESSAGE,\n INCOMING_OG_MESSAGE,\n} from './const';\nimport {\n getSenderName,\n copyToClipboard,\n checkOGIsEnalbed,\n getMessageCreatedAt,\n getIsSentFromStatus,\n getSenderProfileUrl,\n} from './utils';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport useMemoizedMessageText from './memoizedMessageText';\nimport './index.scss';\n\nimport UserProfile from '../UserProfile';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport MessageStatus from '../MessageStatus';\nimport EmojiReactions from '../EmojiReactions';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport ContextMenu, { MenuItem, MenuItems } from '../ContextMenu';\nimport Avatar from '../Avatar/index';\n\nimport useMouseHover from '../../hooks/onMouseHover';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nconst GROUPING_PADDING = '1px';\nconst NORAML_PADDING = '8px';\n\nconst OGMessageSwitch = ({\n isByMe,\n userId,\n status,\n message,\n disabled,\n showEdit,\n chainTop,\n className,\n membersMap,\n showRemove,\n useReaction,\n emojiAllMap,\n chainBottom,\n resendMessage,\n toggleReaction,\n memoizedEmojiListItems,\n}) => {\n const { ogMetaData } = message;\n const injectingClassName = Array.isArray(className) ? className : [className];\n\n const memoizedMessageText = useMemoizedMessageText({\n message: message.message,\n updatedAt: message.updatedAt,\n className: 'sendbird-og-message-word',\n });\n const openLink = () => {\n if (checkOGIsEnalbed(message)) {\n const { url } = ogMetaData;\n window.open(url);\n }\n };\n\n return (\n
\n {\n isByMe\n ? (\n \n )\n : (\n \n )\n }\n
\n );\n};\n\nfunction OutgoingOGMessage(props) {\n const {\n status,\n userId,\n message,\n disabled,\n openLink,\n showEdit,\n chainTop,\n showRemove,\n membersMap,\n chainBottom,\n emojiAllMap,\n useReaction,\n resendMessage,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n } = props;\n const {\n ogMetaData,\n } = message;\n const {\n defaultImage,\n } = ogMetaData;\n const { stringSet } = useContext(LocalizationContext);\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n const messageRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n\n const isMessageSent = getIsSentFromStatus(status);\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n\n const showEmojiReactions = (useReaction && message.reactions && message.reactions.length > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n
\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n isMessageSent && (\n { copyToClipboard(message.message); closeDropdown(); }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n )\n }\n {\n isMessageSent && (\n {\n if (disabled) { return; }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n \n )\n }\n {\n (message && message.isResendable && message.isResendable()) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n \n )}\n />\n {\n (isMessageSent && useReaction && (emojiAllMap.size > 0))\n && (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n )}\n />\n )\n }\n
\n {\n !chainBottom && !(mousehover || moreActive) && (\n
\n \n
\n )\n }\n
\n
\n
\n \n
\n \n {\n defaultImage && (\n \n \n
\n )}\n />\n )\n }\n
\n \n {\n ogMetaData.title && (\n
\n \n
\n )\n }\n {\n ogMetaData.description && (\n
\n \n {ogMetaData.description}\n \n
\n )\n }\n {\n ogMetaData.url && (\n \n {ogMetaData.url}\n \n )\n }\n {\n showEmojiReactions\n && (\n event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"button\"\n tabIndex={0}\n >\n \n \n )\n }\n \n \n \n \n );\n}\n\nfunction IncomingOGMessage(props) {\n const {\n userId,\n message,\n openLink,\n chainTop,\n membersMap,\n chainBottom,\n useReaction,\n emojiAllMap,\n toggleReaction,\n memoizedMessageText,\n memoizedEmojiListItems,\n } = props;\n const {\n ogMetaData,\n } = message;\n const {\n defaultImage,\n } = ogMetaData;\n const { stringSet } = useContext(LocalizationContext);\n const MemoizedMessageText = memoizedMessageText;\n const MemoizedEmojiListItems = memoizedEmojiListItems;\n\n const messageRef = useRef(null);\n const avatarRef = useRef(null);\n const parentRefReactions = useRef(null);\n const parentRefMenus = useRef(null);\n const parentContainRef = useRef(null);\n\n const {\n disableUserProfile,\n renderUserProfile,\n } = React.useContext(UserProfileContext);\n\n const [mousehover, setMousehover] = useState(false);\n const [moreActive, setMoreActive] = useState(false);\n\n const showEmojiReactions = (useReaction && message.reactions && message.reactions.length > 0);\n const showReactionAddButton = useReaction && emojiAllMap && (emojiAllMap.size > 0);\n\n const handleMoreIconClick = () => {\n setMoreActive(true);\n };\n const handleMoreIconBlur = () => {\n setMoreActive(false);\n };\n\n useMouseHover({\n ref: messageRef,\n setHover: setMousehover,\n });\n\n return (\n \n
\n
\n {\n !chainBottom && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n className={`${INCOMING_OG_MESSAGE}__avatar`}\n src={getSenderProfileUrl(message)}\n width=\"28px\"\n height=\"28px\"\n alt=\"sender-profile-image\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: message.sender,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n )\n }\n {\n !chainTop && (\n \n {getSenderName(message)}\n \n )\n }\n
\n \n
\n \n {\n defaultImage && (\n \n \n
\n )}\n />\n )\n }\n
\n \n {\n ogMetaData.title && (\n
\n\n \n
\n )\n }\n {\n ogMetaData.description && (\n
\n \n {ogMetaData.description}\n \n
\n )\n }\n {\n ogMetaData.url && (\n
\n \n {ogMetaData.url}\n \n
\n )\n }\n {\n showEmojiReactions\n && (\n event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n role=\"button\"\n tabIndex={0}\n >\n \n \n )\n }\n \n \n
\n {\n !chainBottom && !(mousehover || moreActive) && (\n \n {getMessageCreatedAt(message)}\n \n )\n }\n
\n {\n showReactionAddButton\n && (\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(closeDropdown) => (\n \n )}\n />\n )\n }\n (\n {\n toggleDropdown();\n handleMoreIconClick();\n }}\n onBlur={() => {\n handleMoreIconBlur();\n }}\n >\n \n \n )}\n menuItems={(closeDropdown) => (\n \n { copyToClipboard(message.message); closeDropdown(); }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n \n )}\n />\n
\n
\n \n \n );\n}\n\nexport default OGMessageSwitch;\n\nconst noop = () => { };\n\nOGMessageSwitch.propTypes = {\n isByMe: PropTypes.bool.isRequired,\n userId: PropTypes.string.isRequired,\n message: PropTypes.shape({\n message: PropTypes.string,\n sender: PropTypes.shape({}),\n ogMetaData: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.string,\n url: PropTypes.string,\n defaultImage: PropTypes.shape({\n url: PropTypes.string,\n alt: PropTypes.string,\n }),\n }),\n reactions: PropTypes.array,\n updatedAt: PropTypes.number,\n }).isRequired,\n useReaction: PropTypes.bool.isRequired,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n status: PropTypes.string,\n disabled: PropTypes.bool,\n showEdit: PropTypes.func,\n showRemove: PropTypes.func,\n resendMessage: PropTypes.func,\n toggleReaction: PropTypes.func,\n membersMap: PropTypes.instanceOf(Map),\n emojiAllMap: PropTypes.instanceOf(Map),\n memoizedEmojiListItems: PropTypes.func,\n chainTop: PropTypes.bool,\n chainBottom: PropTypes.bool,\n};\n\nOGMessageSwitch.defaultProps = {\n className: '',\n status: '',\n disabled: false,\n showEdit: noop,\n showRemove: noop,\n resendMessage: noop,\n toggleReaction: noop,\n membersMap: new Map(),\n emojiAllMap: new Map(),\n memoizedEmojiListItems: noop,\n chainTop: false,\n chainBottom: false,\n};\n\nOutgoingOGMessage.propTypes = {\n status: PropTypes.string,\n userId: PropTypes.string.isRequired,\n message: PropTypes.shape({\n message: PropTypes.string,\n ogMetaData: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.string,\n url: PropTypes.string,\n defaultImage: PropTypes.shape({\n url: PropTypes.string,\n alt: PropTypes.string,\n }),\n }),\n reactions: PropTypes.array,\n updatedAt: PropTypes.number,\n isResendable: PropTypes.func,\n errorCode: PropTypes.number,\n }).isRequired,\n disabled: PropTypes.bool.isRequired,\n openLink: PropTypes.func.isRequired,\n showEdit: PropTypes.func.isRequired,\n showRemove: PropTypes.func.isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n useReaction: PropTypes.bool.isRequired,\n resendMessage: PropTypes.func.isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n\nOutgoingOGMessage.defaultProps = {\n status: '',\n};\n\nIncomingOGMessage.propTypes = {\n userId: PropTypes.string.isRequired,\n message: PropTypes.shape({\n message: PropTypes.string,\n sender: PropTypes.shape({}),\n ogMetaData: PropTypes.shape({\n title: PropTypes.string,\n description: PropTypes.string,\n url: PropTypes.string,\n defaultImage: PropTypes.shape({\n url: PropTypes.string,\n alt: PropTypes.string,\n }),\n }),\n reactions: PropTypes.array,\n updatedAt: PropTypes.number,\n }).isRequired,\n openLink: PropTypes.func.isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n useReaction: PropTypes.bool.isRequired,\n toggleReaction: PropTypes.func.isRequired,\n memoizedMessageText: PropTypes.func.isRequired,\n memoizedEmojiListItems: PropTypes.func.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n};\n","import React, {\n useState,\n useRef,\n useMemo,\n useLayoutEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport format from 'date-fns/format';\n\nimport Message from '../../../ui/Message';\nimport AdminMessage from '../../../ui/AdminMessage';\nimport ThumbnailMessage from '../../../ui/ThumbnailMessage';\nimport FileMessage from '../../../ui/FileMessage';\nimport DateSeparator from '../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport MessageInput from '../../../ui/MessageInput';\nimport FileViewer from '../../../ui/FileViewer';\nimport RemoveMessageModal from './RemoveMessage';\nimport UnknownMessage from '../../../ui/UnknownMessage';\nimport OGMessage from '../../../ui/OGMessage';\n\nimport { MessageTypes, getMessageType } from '../types';\n\nexport default function MessageHoc({\n message,\n userId,\n disabled,\n editDisabled,\n hasSeperator,\n deleteMessage,\n updateMessage,\n status,\n resendMessage,\n useReaction,\n chainTop,\n chainBottom,\n emojiAllMap,\n membersMap,\n highLightedMessageId,\n toggleReaction,\n memoizedEmojiListItems,\n renderCustomMessage,\n currentGroupChannel,\n}) {\n const { sender = {} } = message;\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const [isAnimated, setIsAnimated] = useState(false);\n const editMessageInputRef = useRef(null);\n const useMessageScrollRef = useRef(null);\n\n useLayoutEffect(() => {\n if (highLightedMessageId === message.messageId) {\n if (useMessageScrollRef && useMessageScrollRef.current) {\n setTimeout(() => {\n useMessageScrollRef.current.scrollIntoView({\n behavior: 'smooth',\n block: 'end',\n });\n setIsAnimated(true);\n });\n }\n } else {\n setIsAnimated(false);\n }\n }, [highLightedMessageId, useMessageScrollRef.current, message.messageId]);\n const RenderedMessage = useMemo(() => {\n if (renderCustomMessage) {\n return renderCustomMessage(message, currentGroupChannel, chainTop, chainBottom);\n // Let's change this to object type on next major version up\n }\n return null;\n }, [message, message.message, renderCustomMessage]);\n\n const isByMe = (userId === sender.userId)\n || (message.requestState === 'pending')\n || (message.requestState === 'failed');\n\n if (RenderedMessage) {\n return (\n \n {/* date-seperator */}\n {\n hasSeperator && (\n \n \n \n )\n }\n \n \n );\n }\n\n if (showEdit) {\n return (\n { setShowEdit(false); }}\n value={message.message}\n />\n );\n }\n\n return (\n \n {/* date-seperator */}\n {\n hasSeperator && (\n \n \n \n )\n }\n {/* Message */}\n {\n {\n [MessageTypes.ADMIN]: ,\n [MessageTypes.FILE]: (\n \n ),\n [MessageTypes.OG]: (\n \n ),\n [MessageTypes.THUMBNAIL]: (\n \n ),\n [MessageTypes.USER]: (\n \n ),\n }[getMessageType(message)]\n }\n {/* Modal */}\n {\n showRemove && (\n setShowRemove(false)}\n onDeleteMessage={() => {\n deleteMessage(message);\n }}\n />\n )\n }\n {\n showFileViewer && (\n setShowFileViewer(false)}\n message={message}\n onDelete={() => {\n deleteMessage(message, () => {\n setShowFileViewer(false);\n });\n }}\n isByMe={isByMe}\n />\n )\n }\n {\n !((message.isFileMessage && message.isFileMessage()) || message.messageType === 'file')\n && !(message.isAdminMessage && message.isAdminMessage())\n && !(((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user'))\n && !(showFileViewer)\n && (\n \n )\n }\n \n );\n}\n\nMessageHoc.propTypes = {\n userId: PropTypes.string,\n message: PropTypes.shape({\n isFileMessage: PropTypes.func,\n isAdminMessage: PropTypes.func,\n isUserMessage: PropTypes.func,\n isDateSeperator: PropTypes.func,\n // should be a number, but there's a bug in SDK shich returns string\n messageId: PropTypes.number,\n type: PropTypes.string,\n createdAt: PropTypes.number,\n message: PropTypes.string,\n requestState: PropTypes.string,\n messageType: PropTypes.string,\n sender: PropTypes.shape({ userId: PropTypes.string }),\n ogMetaData: PropTypes.shape({}),\n }),\n highLightedMessageId: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n renderCustomMessage: PropTypes.func,\n currentGroupChannel: PropTypes.shape({}),\n hasSeperator: PropTypes.bool,\n disabled: PropTypes.bool,\n editDisabled: PropTypes.bool,\n deleteMessage: PropTypes.func.isRequired,\n updateMessage: PropTypes.func.isRequired,\n resendMessage: PropTypes.func.isRequired,\n status: PropTypes.string,\n useReaction: PropTypes.bool.isRequired,\n chainTop: PropTypes.bool.isRequired,\n chainBottom: PropTypes.bool.isRequired,\n emojiAllMap: PropTypes.instanceOf(Map).isRequired,\n membersMap: PropTypes.instanceOf(Map).isRequired,\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n};\n\nMessageHoc.defaultProps = {\n userId: '',\n editDisabled: false,\n renderCustomMessage: null,\n currentGroupChannel: {},\n message: {},\n hasSeperator: false,\n disabled: false,\n highLightedMessageId: null,\n status: '',\n toggleReaction: () => { },\n memoizedEmojiListItems: () => '',\n};\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport isSameDay from 'date-fns/isSameDay';\n\nimport './conversation-scroll.scss';\nimport * as messageActionTypes from '../dux/actionTypes';\n\nimport MessageHOC from './MessageHOC';\nimport {\n getParsedStatus,\n compareMessagesForGrouping,\n} from '../utils';\nimport PlaceHolder, { PlaceHolderTypes } from '../../../ui/PlaceHolder';\n\nexport default class ConversationScroll extends Component {\n onScroll = (e) => {\n const {\n scrollRef,\n hasMore,\n messagesDispatcher,\n onScroll,\n onScrollDown,\n currentGroupChannel,\n } = this.props;\n\n const element = e.target;\n const {\n scrollTop,\n clientHeight,\n scrollHeight,\n } = element;\n if (scrollTop === 0) {\n if (!hasMore) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll('.sendbird-msg--scroll-ref');\n const first = nodes && nodes[0];\n onScroll(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n try {\n first.scrollIntoView();\n } catch (error) {\n //\n }\n }\n });\n }\n\n if (clientHeight + scrollTop === scrollHeight) {\n const nodes = scrollRef.current.querySelectorAll('.sendbird-msg--scroll-ref');\n const last = nodes && nodes[nodes.length - 1];\n onScrollDown(([messages]) => {\n if (messages) {\n // https://github.com/scabbiaza/react-scroll-position-on-updating-dom\n try {\n last.scrollIntoView();\n } catch (error) {\n //\n }\n }\n });\n }\n\n // do this later\n setTimeout(() => {\n // mark as read if scroll is at end\n if (clientHeight + scrollTop === scrollHeight) {\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n });\n currentGroupChannel.markAsRead();\n }\n }, 500);\n }\n\n render() {\n const {\n userId,\n disabled,\n scrollRef,\n readStatus,\n membersMap,\n allMessages,\n useReaction,\n emojiAllMap,\n editDisabled,\n deleteMessage,\n updateMessage,\n resendMessage,\n renderCustomMessage,\n renderChatItem,\n highLightedMessageId,\n emojiContainer,\n toggleReaction,\n useMessageGrouping,\n currentGroupChannel,\n memoizedEmojiListItems,\n } = this.props;\n\n if (allMessages.length < 1) {\n return (\n \n );\n }\n\n return (\n
\n \n
\n {/*\n To do: Implement windowing\n Implement windowing if you are dealing with large number of messages/channels\n https://github.com/bvaughn/react-window -> recommendation\n We hesitate to bring one more dependency to our library,\n we are planning to implement it inside the library\n */}\n
\n {\n allMessages.map(\n (m, idx) => {\n const previousMessage = allMessages[idx - 1];\n const nextMessage = allMessages[idx + 1];\n const [chainTop, chainBottom] = useMessageGrouping\n ? compareMessagesForGrouping(previousMessage, m, nextMessage)\n : [false, false];\n const previousMessageCreatedAt = previousMessage && previousMessage.createdAt;\n const currentCreatedAt = m.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeperator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n if (renderChatItem) {\n return (\n \n {\n renderChatItem({\n message: m,\n highLightedMessageId,\n channel: currentGroupChannel,\n onDeleteMessage: deleteMessage,\n onUpdateMessage: updateMessage,\n onResendMessage: resendMessage,\n emojiContainer,\n chainTop,\n chainBottom,\n })\n }\n
\n );\n }\n\n return (\n \n );\n },\n )\n }\n
\n
\n \n );\n }\n}\n\nConversationScroll.propTypes = {\n // https://stackoverflow.com/a/52646941\n scrollRef: PropTypes.shape({\n current: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.shape({}),\n ]),\n }).isRequired,\n hasMore: PropTypes.bool,\n messagesDispatcher: PropTypes.func.isRequired,\n onScroll: PropTypes.func,\n onScrollDown: PropTypes.func,\n editDisabled: PropTypes.bool,\n disabled: PropTypes.bool,\n userId: PropTypes.string,\n allMessages: PropTypes.arrayOf(PropTypes.shape({\n createdAt: PropTypes.number,\n })).isRequired,\n deleteMessage: PropTypes.func.isRequired,\n resendMessage: PropTypes.func.isRequired,\n updateMessage: PropTypes.func.isRequired,\n readStatus: PropTypes.shape({}).isRequired,\n currentGroupChannel: PropTypes.shape({\n markAsRead: PropTypes.func,\n members: PropTypes.arrayOf(PropTypes.shape({})),\n }).isRequired,\n highLightedMessageId: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n renderChatItem: PropTypes.element,\n renderCustomMessage: PropTypes.func,\n useReaction: PropTypes.bool,\n emojiContainer: PropTypes.shape({}),\n emojiAllMap: PropTypes.instanceOf(Map),\n membersMap: PropTypes.instanceOf(Map),\n useMessageGrouping: PropTypes.bool,\n toggleReaction: PropTypes.func,\n memoizedEmojiListItems: PropTypes.func,\n};\n\nConversationScroll.defaultProps = {\n hasMore: false,\n editDisabled: false,\n disabled: false,\n userId: '',\n renderCustomMessage: null,\n renderChatItem: null,\n highLightedMessageId: null,\n onScroll: null,\n onScrollDown: null,\n useReaction: true,\n emojiContainer: {},\n emojiAllMap: new Map(),\n membersMap: new Map(),\n useMessageGrouping: true,\n toggleReaction: () => { },\n memoizedEmojiListItems: () => '',\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './notification.scss';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\n\nexport default function Notification({\n count,\n time,\n onClick,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n const timeArray = time.split(' ');\n timeArray.splice(-2, 0, stringSet.CHANNEL__MESSAGE_LIST__NOTIFICATION__ON);\n return (\n // eslint-disable-next-line\n
\n \n \n
\n );\n}\n\nNotification.propTypes = {\n count: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n time: PropTypes.string,\n onClick: PropTypes.func.isRequired,\n};\n\nNotification.defaultProps = {\n count: 0,\n time: '',\n};\n","import React, { useContext } from 'react';\n\nimport './notification.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelTypography } from '../../../ui/Label';\n\nconst FrozenNotification = (): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n \n {stringSet.CHANNEL_FROZEN}\n \n
\n );\n}\n\nexport default FrozenNotification;\n","import React, { useEffect, useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { uuidv4 } from '../../../utils/uuid';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\n\nconst TypingIndicatorText = ({ members }) => {\n const { stringSet } = useContext(LocalizationContext);\n if (!members || members.length === 0) {\n return '';\n }\n\n if (members && members.length === 1) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__IS_TYPING}`;\n }\n\n if (members && members.length === 2) {\n return `${members[0].nickname} ${stringSet.TYPING_INDICATOR__AND} ${members[1].nickname} ${stringSet.TYPING_INDICATOR__ARE_TYPING}`;\n }\n\n return stringSet.TYPING_INDICATOR__MULTIPLE_TYPING;\n};\n\nfunction TypingIndicator({ channelUrl, sb, logger }) {\n const [handlerId, setHandlerId] = useState(uuidv4());\n const [typingMembers, setTypingMembers] = useState([]);\n\n useEffect(() => {\n if (sb && sb.ChannelHandler) {\n sb.removeChannelHandler(handlerId);\n const newHandlerId = uuidv4();\n const handler = new sb.ChannelHandler();\n // there is a possible warning in here - setState called after unmount\n handler.onTypingStatusUpdated = (groupChannel) => {\n logger.info('Channel > Typing Indicator: onTypingStatusUpdated', groupChannel);\n const members = groupChannel.getTypingMembers();\n if (groupChannel.url === channelUrl) {\n setTypingMembers(members);\n }\n };\n sb.addChannelHandler(newHandlerId, handler);\n setHandlerId(newHandlerId);\n }\n\n return () => {\n setTypingMembers([]);\n if (sb && sb.removeChannelHandler) {\n sb.removeChannelHandler(handlerId);\n }\n };\n }, [channelUrl]);\n\n return (\n \n );\n}\n\nTypingIndicator.propTypes = {\n channelUrl: PropTypes.string.isRequired,\n sb: PropTypes.shape({\n ChannelHandler: PropTypes.func,\n removeChannelHandler: PropTypes.func,\n addChannelHandler: PropTypes.func,\n }).isRequired,\n logger: PropTypes.shape({\n info: PropTypes.func,\n }).isRequired,\n};\n\nexport default TypingIndicator;\n","// Logic required to handle message input rendering\n\nimport React, { useContext } from 'react';\nimport Sendbird from 'sendbird';\n\nimport { RenderGroupChannelMessageInputProps } from '../../../index';\nimport * as utils from '../utils.js';\n\nimport MessageInput from '../../../ui/MessageInput';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n channel: Sendbird.GroupChannel;\n user: Sendbird.User;\n isOnline: boolean;\n initialized: boolean;\n onSendMessage(): void;\n onFileUpload(): void;\n renderMessageInput(renderProps: RenderGroupChannelMessageInputProps): JSX.Element;\n}\n\nconst MessageInputWrapper = ({\n channel,\n user,\n onSendMessage,\n onFileUpload,\n renderMessageInput,\n isOnline,\n initialized,\n}: Props, ref: React.RefObject): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n const disabled = !initialized\n || utils.isDisabledBecauseFrozen(channel)\n || utils.isDisabledBecauseMuted(channel)\n || !isOnline;\n\n const isOperator = utils.isOperator(channel);\n const { isBroadcast } = channel;\n\n // custom message\n if (renderMessageInput) {\n return renderMessageInput({ channel, user, disabled });\n }\n\n // broadcast channel + not operator\n if (isBroadcast && !isOperator) {\n return null;\n }\n\n // other conditions\n return (\n {\n channel.startTyping();\n }}\n onSendMessage={onSendMessage}\n onFileUpload={onFileUpload}\n />\n );\n}\n\nexport default React.forwardRef(MessageInputWrapper);\n","import React, { useContext } from 'react';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, {\n LabelTypography,\n LabelColors,\n} from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\n\nimport './index.scss';\n\nfunction ConnectionStatus() {\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n \n \n \n );\n}\n\nexport default ConnectionStatus;\n","import formatDistanceToNowStrict from 'date-fns/formatDistanceToNowStrict';\nimport { LabelStringSet } from '../Label';\n\nexport const prettyDate = (date) => formatDistanceToNowStrict(date, { addSuffix: true });\n\nexport const getOthersLastSeenAt = (channel) => {\n if (!channel || !channel.getReadStatus || !channel.members || channel.members.length !== 2) {\n return '';\n }\n const lastSeenList = [...Object.values(channel.getReadStatus())];\n const lastSeenAt = lastSeenList.length > 0\n ? lastSeenList[0].last_seen_at\n : 0;\n if (lastSeenAt === 0) {\n return '';\n }\n return prettyDate(lastSeenAt);\n};\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel || (!channel.name && !channel.members)) {\n return stringSet.NO_TITLE;\n }\n if (channel.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n\n if (channel.members.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n\n return channel.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function AutoRefresh({\n repeatFunc,\n}) {\n const [label, setLabel] = useState(repeatFunc());\n\n useEffect(() => {\n const interval = setInterval(() => {\n if (label !== repeatFunc()) {\n setLabel(repeatFunc());\n }\n }, 10000);\n return () => {\n clearInterval(interval);\n };\n }, []);\n\n return (
{label}
);\n}\n\nAutoRefresh.propTypes = {\n repeatFunc: PropTypes.func.isRequired,\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport * as utils from './utils';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport AutoRefresh from '../AutoRefresh';\nimport ChannelAvatar from '../ChannelAvatar/index';\n\nconst noop = () => {};\nexport default function ChatHeader(props) {\n const {\n currentGroupChannel,\n currentUser,\n title,\n subTitle,\n isActive,\n isMuted,\n showSearchIcon,\n onSearchClick,\n onActionClick,\n theme,\n } = props;\n const { userId } = currentUser;\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n \n \n {title || utils.getChannelTitle(currentGroupChannel, userId, stringSet)}\n \n {\n (typeof isActive === 'string' && isActive === 'true') || (typeof isActive === 'boolean' && isActive)\n ?
\n : null\n }\n \n {\n subTitle\n || utils.getOthersLastSeenAt(currentGroupChannel)} />\n }\n \n
\n
\n {\n (typeof isMuted === 'string' && isMuted === 'true') || (typeof isMuted === 'boolean' && isMuted)\n ? \n : null\n }\n {\n showSearchIcon && (\n \n \n \n )\n }\n \n \n \n
\n
\n );\n}\n\nChatHeader.propTypes = {\n currentGroupChannel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n coverUrl: PropTypes.string,\n }),\n theme: PropTypes.string,\n currentUser: PropTypes.shape({\n userId: PropTypes.string,\n }),\n onSearchClick: PropTypes.func,\n showSearchIcon: PropTypes.bool,\n title: PropTypes.string,\n subTitle: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n ]),\n isActive: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n isMuted: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n onActionClick: PropTypes.func,\n};\n\nChatHeader.defaultProps = {\n currentGroupChannel: {},\n title: '',\n theme: 'light',\n subTitle: '',\n isActive: false,\n onSearchClick: noop,\n showSearchIcon: false,\n isMuted: false,\n currentUser: {},\n onActionClick: () => { },\n};\n","import React, {\n useEffect,\n useRef,\n useReducer,\n useMemo,\n useState,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport * as utils from './utils';\n\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport * as messageActionTypes from './dux/actionTypes';\nimport messagesInitialState from './dux/initialState';\nimport messagesReducer from './dux/reducers';\n\nimport useHandleChannelEvents from './hooks/useHandleChannelEvents';\nimport useGetChannel from './hooks/useGetChannel';\nimport useInitialMessagesFetch from './hooks/useInitialMessagesFetch';\nimport useHandleReconnect from './hooks/useHandleReconnect';\nimport useScrollCallback from './hooks/useScrollCallback';\nimport useScrollDownCallback from './hooks/useScrollDownCallback';\nimport useDeleteMessageCallback from './hooks/useDeleteMessageCallback';\nimport useUpdateMessageCallback from './hooks/useUpdateMessageCallback';\nimport useResendMessageCallback from './hooks/useResendMessageCallback';\nimport useSendMessageCallback from './hooks/useSendMessageCallback';\nimport useSendFileMessageCallback from './hooks/useSendFileMessageCallback';\nimport useSetReadStatus from './hooks/useSetReadStatus';\nimport useMemoizedEmojiListItems from './hooks/useMemoizedEmojiListItems';\nimport useToggleReactionCallback from './hooks/useToggleReactionCallback';\n\nimport ConversationScroll from './components/ConversationScroll';\nimport Notification from './components/Notification';\nimport FrozenNotification from './components/FrozenNotification';\nimport TypingIndicator from './components/TypingIndicator';\nimport MessageInputWrapper from './components/MessageInputWrapper';\nimport ConnectionStatus from '../../ui/ConnectionStatus';\nimport ChatHeader from '../../ui/ChatHeader';\nimport PlaceHolder, { PlaceHolderTypes } from '../../ui/PlaceHolder';\n\nconst noop = () => { };\n\nexport const ConversationPanel = (props) => {\n const {\n channelUrl,\n stores: { sdkStore, userStore },\n config: {\n userId,\n logger,\n pubSub,\n isOnline,\n theme,\n imageCompression,\n },\n dispatchers: {\n reconnect,\n },\n queries = {},\n startingPoint,\n highlightedMessage,\n useReaction,\n showSearchIcon,\n onSearchClick,\n renderChatItem,\n renderChatHeader,\n renderCustomMessage,\n renderUserProfile,\n disableUserProfile,\n renderMessageInput,\n useMessageGrouping,\n onChatHeaderActionClick,\n onBeforeSendUserMessage,\n onBeforeSendFileMessage,\n onBeforeUpdateUserMessage,\n } = props;\n\n const { sdk } = sdkStore;\n const { config } = props;\n const sdkError = sdkStore.error;\n const sdkInit = sdkStore.initialized;\n const { user } = userStore;\n if (queries.messageListQuery) {\n // eslint-disable-next-line no-console\n console.warn('messageListQuery has been deprecated, please use messageListParams instead');\n }\n\n const [intialTimeStamp, setIntialTimeStamp] = useState(startingPoint);\n useEffect(() => {\n setIntialTimeStamp(startingPoint);\n }, [startingPoint, channelUrl]);\n const highLightedMessageId = highlightedMessage;\n const userFilledMessageListQuery = queries.messageListParams;\n\n const [messagesStore, messagesDispatcher] = useReducer(messagesReducer, messagesInitialState);\n const scrollRef = useRef(null);\n\n const {\n allMessages,\n loading,\n initialized,\n unreadCount,\n unreadSince,\n isInvalid,\n currentGroupChannel = {},\n hasMore,\n lastMessageTimeStamp,\n hasMoreToBottom,\n latestFetchedMessageTimeStamp,\n emojiContainer,\n readStatus,\n } = messagesStore;\n const { isFrozen, isBroadcast, isSuper } = currentGroupChannel;\n const { appInfo = {} } = sdk;\n const usingReaction = (\n appInfo.isUsingReaction && !isBroadcast && !isSuper && useReaction\n );\n\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n\n const emojiAllMap = useMemo(() => (\n usingReaction\n ? utils.getAllEmojisMapFromEmojiContainer(emojiContainer)\n : new Map()\n ), [emojiContainer]);\n\n const emojiAllList = useMemo(() => (\n usingReaction\n ? utils.getAllEmojisFromEmojiContainer(emojiContainer)\n : []\n ), [emojiContainer]);\n\n const nicknamesMap = useMemo(() => (\n usingReaction\n ? utils.getNicknamesMapFromMembers(currentGroupChannel.members)\n : new Map()\n ), [currentGroupChannel.members]);\n\n const onScrollCallback = useScrollCallback({\n currentGroupChannel, lastMessageTimeStamp, userFilledMessageListQuery,\n }, {\n hasMore,\n logger,\n messagesDispatcher,\n sdk,\n });\n\n const onScrollDownCallback = useScrollDownCallback({\n currentGroupChannel,\n latestFetchedMessageTimeStamp,\n userFilledMessageListQuery,\n hasMoreToBottom,\n }, {\n logger,\n messagesDispatcher,\n sdk,\n });\n\n const toggleReaction = useToggleReactionCallback({ currentGroupChannel }, { logger });\n\n const memoizedEmojiListItems = useMemoizedEmojiListItems({\n emojiContainer, toggleReaction,\n }, {\n useReaction: usingReaction,\n logger,\n userId,\n emojiAllList,\n });\n\n // to create message-datasource\n useGetChannel(\n { channelUrl, sdkInit },\n { messagesDispatcher, sdk, logger },\n );\n\n // Hook to handle ChannelEvents and send values to useReducer using messagesDispatcher\n useHandleChannelEvents(\n { currentGroupChannel, sdkInit, hasMoreToBottom },\n {\n messagesDispatcher,\n sdk,\n logger,\n scrollRef,\n },\n );\n\n useInitialMessagesFetch({\n currentGroupChannel,\n userFilledMessageListQuery,\n intialTimeStamp,\n }, {\n sdk,\n logger,\n messagesDispatcher,\n });\n\n // handles API calls from withSendbird\n useEffect(() => {\n const subScriber = utils.pubSubHandler(channelUrl, pubSub, messagesDispatcher);\n return () => {\n utils.pubSubHandleRemover(subScriber);\n };\n }, [channelUrl, sdkInit]);\n\n // to create initial read status\n useSetReadStatus(\n { allMessages, currentGroupChannel },\n { messagesDispatcher, sdk, logger },\n );\n\n // handling connection breaks\n useHandleReconnect({ isOnline }, {\n logger,\n sdk,\n currentGroupChannel,\n messagesDispatcher,\n userFilledMessageListQuery,\n });\n\n const deleteMessage = useDeleteMessageCallback({ currentGroupChannel, messagesDispatcher },\n { logger });\n const updateMessage = useUpdateMessageCallback(\n { currentGroupChannel, messagesDispatcher, onBeforeUpdateUserMessage },\n { logger, sdk, pubSub },\n );\n const resendMessage = useResendMessageCallback(\n { currentGroupChannel, messagesDispatcher },\n { logger },\n );\n const [messageInputRef, onSendMessage] = useSendMessageCallback(\n { currentGroupChannel, onBeforeSendUserMessage },\n {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n },\n );\n const [onSendFileMessage] = useSendFileMessageCallback(\n { currentGroupChannel, onBeforeSendFileMessage, imageCompression },\n {\n sdk,\n logger,\n pubSub,\n messagesDispatcher,\n },\n );\n\n if (!channelUrl) {\n return (
);\n }\n if (isInvalid) {\n return (
);\n }\n if (sdkError) {\n return (\n
\n {\n logger.info('Channel: reconnecting');\n reconnect();\n }}\n />\n
\n );\n }\n return (\n \n {\n renderChatHeader\n ? renderChatHeader({ channel: currentGroupChannel, user })\n : (\n \n )\n }\n {\n isFrozen && (\n \n )\n }\n {\n unreadCount > 0 && (\n {\n if (intialTimeStamp) {\n setIntialTimeStamp(null);\n } else {\n utils.scrollIntoLast();\n // there is no scroll\n if (scrollRef.current.scrollTop === 0) {\n currentGroupChannel.markAsRead();\n messagesDispatcher({\n type: messageActionTypes.MARK_AS_READ,\n });\n }\n }\n }}\n time={unreadSince}\n />\n )\n }\n {\n loading\n ? (\n
\n ) : (\n \n )\n }\n
\n \n
\n \n
\n {\n !isOnline && (\n \n )\n }\n
\n \n );\n};\n\nConversationPanel.propTypes = {\n channelUrl: PropTypes.string,\n stores: PropTypes.shape({\n sdkStore: PropTypes.shape({\n initialized: PropTypes.bool,\n sdk: PropTypes.shape({\n getErrorFirstCallback: PropTypes.func,\n removeChannelHandler: PropTypes.func,\n GroupChannel: PropTypes.any,\n ChannelHandler: PropTypes.any,\n addChannelHandler: PropTypes.func,\n UserMessageParams: PropTypes.any,\n FileMessageParams: PropTypes.any,\n getAllEmoji: PropTypes.func,\n appInfo: PropTypes.shape({}),\n }),\n error: PropTypes.bool,\n }),\n userStore: PropTypes.shape({\n user: PropTypes.shape({}),\n }),\n }).isRequired,\n dispatchers: PropTypes.shape({\n reconnect: PropTypes.func,\n }).isRequired,\n config: PropTypes.shape({\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n userId: PropTypes.string.isRequired,\n isOnline: PropTypes.bool.isRequired,\n theme: PropTypes.string,\n logger: PropTypes.shape({\n info: PropTypes.func,\n error: PropTypes.func,\n warning: PropTypes.func,\n }),\n pubSub: PropTypes.shape({\n subscribe: PropTypes.func,\n publish: PropTypes.func,\n }),\n imageCompression: PropTypes.shape({\n compressionRate: PropTypes.number,\n resizingWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n resizingHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n }).isRequired,\n queries: PropTypes.shape({\n messageListParams: PropTypes.shape({\n includeMetaArray: PropTypes.bool,\n includeParentMessageText: PropTypes.bool,\n includeReaction: PropTypes.bool,\n includeReplies: PropTypes.bool,\n includeThreadInfo: PropTypes.bool,\n limit: PropTypes.number,\n reverse: PropTypes.bool,\n senderUserIdsFilter: PropTypes.arrayOf(PropTypes.string),\n }),\n }),\n startingPoint: PropTypes.number,\n highlightedMessage: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n onBeforeSendUserMessage: PropTypes.func, // onBeforeSendUserMessage(text)\n onBeforeSendFileMessage: PropTypes.func, // onBeforeSendFileMessage(File)\n onBeforeUpdateUserMessage: PropTypes.func,\n renderChatItem: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n renderCustomMessage: PropTypes.func,\n renderMessageInput: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n renderChatHeader: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n showSearchIcon: PropTypes.bool,\n onSearchClick: PropTypes.func,\n onChatHeaderActionClick: PropTypes.func,\n useReaction: PropTypes.bool,\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n useMessageGrouping: PropTypes.bool,\n};\n\nConversationPanel.defaultProps = {\n channelUrl: null,\n queries: {},\n onBeforeSendUserMessage: null,\n onBeforeSendFileMessage: null,\n onBeforeUpdateUserMessage: null,\n startingPoint: null,\n highlightedMessage: null,\n renderChatItem: null,\n renderCustomMessage: null,\n renderMessageInput: null,\n renderChatHeader: null,\n useReaction: true,\n showSearchIcon: false,\n onSearchClick: noop,\n disableUserProfile: false,\n renderUserProfile: null,\n useMessageGrouping: true,\n onChatHeaderActionClick: noop,\n};\n\nexport const {\n getEmojiCategoriesFromEmojiContainer,\n getAllEmojisFromEmojiContainer,\n getEmojisFromEmojiContainer,\n} = utils;\n\nexport default withSendbirdContext(ConversationPanel);\n"],"names":["RESET_MESSAGES","RESET_STATE","CLEAR_SENT_MESSAGES","GET_PREV_MESSAGES_START","GET_PREV_MESSAGES_SUCESS","GET_NEXT_MESSAGES_SUCESS","GET_NEXT_MESSAGES_FAILURE","SEND_MESSAGEGE_START","SEND_MESSAGEGE_SUCESS","SEND_MESSAGEGE_FAILURE","RESEND_MESSAGEGE_START","ON_MESSAGE_RECEIVED","UPDATE_UNREAD_COUNT","ON_MESSAGE_UPDATED","ON_MESSAGE_DELETED","ON_MESSAGE_DELETED_BY_REQ_ID","SET_CURRENT_CHANNEL","SET_CHANNEL_INVALID","MARK_AS_READ","ON_REACTION_UPDATED","SET_EMOJI_CONTAINER","SET_READ_STATUS","MessageTypes","ADMIN","USER","FILE","THUMBNAIL","OG","SendingMessageStatus","NONE","SUCCEEDED","FAILED","PENDING","getMessageType","message","isUserMessage","messageType","ogMetaData","isAdminMessage","isFileMessage","isImage","type","isVideo","UNDEFINED","scrollIntoLast","intialTry","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollTop","scrollHeight","error","setTimeout","pubSubHandleRemover","subscriber","forEach","s","remove","pubSubHandler","channelUrl","pubSub","dispatcher","Map","subscribe","set","topics","msg","channel","url","channelActions","payload","fromSelector","messageId","getParsedStatus","currentGroupChannel","requestState","MessageStatusType","SENT","unreadCount","getReadReceipt","READ","isDelivered","getDeliveryReceipt","DELIVERED","isOperator","groupChannel","myRole","isDisabledBecauseFrozen","isFrozen","isDisabledBecauseMuted","myMutedState","getEmojiCategoriesFromEmojiContainer","emojiContainer","emojiCategories","getAllEmojisFromEmojiContainer","allEmojis","categoryIndex","length","emojis","emojiIndex","push","getEmojisFromEmojiContainer","emojiCategoryId","filter","emojiCategory","id","getAllEmojisMapFromEmojiContainer","allEmojisMap","key","getNicknamesMapFromMembers","members","nicknamesMap","memberIndex","userId","nickname","getMessageCreatedAt","format","createdAt","isSameGroup","comparingMessage","sender","sendingStatus","compareMessagesForGrouping","prevMessage","currMessage","nextMessage","hasOwnProperty","property","passUnsuccessfullMessages","allMessages","newMessage","lastIndexOfSucceededMessage","map","lastIndexOf","messages","splice","pxToNumber","px","parsed","Number","parseFloat","isNaN","initialized","loading","hasMore","lastMessageTimeStamp","hasMoreToBottom","latestFetchedMessageTimeStamp","readStatus","unreadSince","isInvalid","reducer","state","action","actionTypes","initialState","m","receivedMessages","stateChannel","stateChannelUrl","actionChannelUrl","filteredAllMessages","find","compareIds","hasHasMoreToBottom","hasLatestFetchedMessageTimeStamp","newMessages","reqId","sort","a","b","failed","currentGroupChannelUrl","scrollToEnd","indexOf","Date","applyReactionEvent","useHandleChannelEvents","sdkInit","messagesDispatcher","sdk","logger","scrollRef","useEffect","messageReceiverId","uuidv4","ChannelHandler","info","onMessageReceived","current","offsetHeight","messageActions","markAsRead","warning","onMessageUpdated","onMessageDeleted","_","onReactionUpdated","reactionEvent","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onUserMuted","onUserUnmuted","onUserBanned","onOperatorUpdated","addChannelHandler","removeChannelHandler","useSetChannel","GroupChannel","getChannel","then","messageActionTypes","catch","e","getAllEmoji","emojiContainer_","err","PREV_RESULT_SIZE","NEXT_RESULT_SIZE","getLatestMessageTimeStamp","latestMessage","useInitialMessagesFetch","userFilledMessageListQuery","intialTimeStamp","MessageListParams","getMessagesByMessageId","messageListParams","prevResultSize","isInclusive","includeReplies","includeReaction","Object","keys","nextResultSize","getMessagesByTimestamp","getTime","finally","utils","useHandleReconnect","isOnline","wasOffline","appInfo","useReaction","isUsingReaction","lastMessageTime","useScrollCallback","useCallback","cb","hasMoreMessages","lastMessageTs","RESULT_SIZE","useScrollDownCallback","messagesLength","useDeleteMessageCallback","deleteMessage","useUpdateMessageCallback","onBeforeUpdateUserMessage","text","createParamsDefault","txt","params","UserMessageParams","createCustomPrams","updateUserMessage","r","swapParams","getErrorFirstCallback","publish","useResendMessageCallback","failedMessage","file","isResendable","resendUserMessage","resendFileMessage","console","useSendMessageCallback","onBeforeSendUserMessage","messageInputRef","useRef","sendMessage","value","trim","pendingMsg","sendUserMessage","res","useSendFileMessageCallback","onBeforeSendFileMessage","imageCompression","compressionRate","resizingWidth","resizingHeight","createCustomParams","compressibleFileType","compressibleRatio","compressibleDiamensions","canCompressImage","file_","FileMessageParams","image","createElement","src","URL","createObjectURL","onload","revokeObjectURL","canvas","imageWdith","naturalWidth","width","imageHeight","naturalHeight","height","targetWidth","targetHeight","context","getContext","drawImage","toBlob","newImageBlob","compressedFile","File","name","pendingMessage","sendFileMessage","response","localUrl","useSetReadStatus","setReadStatus","allReadStatus","reduce","accumulator","handler","handleMessageStatus","c","onDeliveryReceiptUpdated","onReadReceiptUpdated","handlerId","ReactionButton","React","forwardRef","props","ref","children","onClick","selected","className","injectingClassName","Array","isArray","join","slice","propTypes","PropTypes","element","isRequired","func","bool","oneOfType","number","string","arrayOf","defaultProps","useMemoizedEmojiListItems","toggleReaction","emojiAllList","useMemo","parentRef","parentContainRef","closeDropdown","spaceFromTrigger","EmojiListItems","emoji","reactedReaction","reactions","reaction","isReacted","userIds","ImageRenderer","Icon","IconTypes","QUESTION","useToggleReactionCallback","deleteReaction","addReaction","MessageStatus","status","label","Label","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_2","icon","Loader","SPINNER","DONE","IconColors","DONE_ALL","ERROR","objectOf","array","object","ReactionBadge","count","isAdd","unshift","ONBACKGROUND_1","CLASS_NAME","Tooltip","SPACE_FROM_TRIGGER","TooltipWrapper","hoverTooltip","useState","showHoverTooltip","setShowHoverTooltip","childrenRef","bottom","left","offsetWidth","EmojiReactions","emojiAllMap","membersMap","memoizedEmojiListItems","MemoizedEmojiListItems","imageWidth","emojiReactionAddRef","messageReactions","useContext","LocalizationContext","stringSet","emojiUrl","get","reactedUserCount","reactedByMe","nicknames","currentUserId","TOOLTIP__UNKOWN_USER","stringSetForMe","TOOLTIP__AND_YOU","TOOLTIP__YOU","size","ContextMenu","toggleDropdown","ON_BACKGROUND_3","EMOJI_MORE","y","shape","instanceOf","WORD_TYPOGRAPHY","BODY_1","EDITED_COLOR","useMemoizedMessageText","updatedAt","splitMessage","split","matchedMessage","word","MESSAGE_EDITED","MOUSE_ENTER","MOUSE_LEAVE","useMouseHover","setHover","handleMouseOver","handleMouseOut","addEventListener","removeEventListener","noop","GROUPING_PADDING","NORMAL_PADDING","Message","isByMe","resendMessage","disabled","showEdit","showRemove","chainTop","chainBottom","memoizedMessageText","OutgoingUserMessage","MemoizedMessageText","messageRef","parentRefReactions","parentRefMenus","isMessageSent","getIsSentFromStatus","mousehover","setMousehover","moreActive","setMoreActive","menuDisplaying","setMenuDisplaying","handleMoreIconClick","handleMoreIconBlur","paddingTop","paddingBottom","IconButton","MORE","CONTENT_INVERSE","close","MenuItems","MenuItem","copyToClipboard","IncomingUserMessage","avatarRef","UserProfileContext","disableUserProfile","renderUserProfile","showReactionAddButton","showEmojiReactions","Avatar","getSenderProfileUrl","user","UserProfile","CAPTION_2","getSenderName","top","AdminMessage","OUTGOING_THUMBNAIL_MESSAGE","INCOMING_THUMBNAIL_MESSAGE","ThumbnailMessage","OutgoingThumbnailMessage","thumbnails","thumbnailUrl","menuRef","reactionAddRef","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","PLAY","ON_BACKGROUND_2","PHOTO","unSupported","UNKNOWN__UNKNOWN_MESSAGE_TYPE","IncomingThumbnailMessage","MAX_TRUNCATE_LENGTH","GROUPAING_PADDING","checkFileType","fileUrl","result","imageFile","audioFile","test","FILE_DOCUMENT","FILE_AUDIO","OutgoingFileMessage","openFileUrl","window","open","reactionAddButtonRef","TextButton","truncate","IncomingFileMessage","MessageSwitch","RemoveMessage","onCloseModal","onDeleteMessage","Modal","MODAL__DELETE_MESSAGE__TITLE","UnknownMessage","OutgoingUnknownMessage","UNKNOWN__CANNOT_READ_MESSAGE","IncomingUnknownMessage","profileUrl","NO_NAME","URL_REG","OG_MESSAGE","OUTGOING_OG_MESSAGE","INCOMING_OG_MESSAGE","createUrlTester","regexp","clipboardData","setData","queryCommandSupported","textarea","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","friendName","checkOGIsEnalbed","WORD_COLOR","isUrl","LinkLabel","NORAML_PADDING","OGMessageSwitch","openLink","OutgoingOGMessage","defaultImage","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","alt","THUMBNAIL_NONE","title","SUBTITLE_2","description","BODY_2","event","stopPropagation","IncomingOGMessage","errorCode","MessageHoc","editDisabled","hasSeperator","updateMessage","highLightedMessageId","renderCustomMessage","setShowEdit","setShowRemove","showFileViewer","setShowFileViewer","isAnimated","setIsAnimated","editMessageInputRef","useMessageScrollRef","useLayoutEffect","scrollIntoView","behavior","block","RenderedMessage","DateSeparator","MessageInput","FileMessage","OGMessage","RemoveMessageModal","FileViewer","isDateSeperator","ConversationScroll","onScroll","onScrollDown","target","clientHeight","nodes","querySelectorAll","first","last","renderChatItem","useMessageGrouping","PlaceHolder","PlaceHolderTypes","NO_MESSAGES","idx","previousMessage","previousMessageCreatedAt","currentCreatedAt","isSameDay","onUpdateMessage","onResendMessage","MessageHOC","Component","Notification","time","timeArray","CHANNEL__MESSAGE_LIST__NOTIFICATION__ON","ONCONTENT_1","CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE","CHEVRON_DOWN","CONTENT","FrozenNotification","CHANNEL_FROZEN","TypingIndicatorText","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","TypingIndicator","sb","setHandlerId","typingMembers","setTypingMembers","newHandlerId","onTypingStatusUpdated","getTypingMembers","MessageInputWrapper","_a","onSendMessage","onFileUpload","renderMessageInput","isBroadcast","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__DISABLED","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__MUTED","startTyping","ConnectionStatus","TRYING_TO_CONNECT","DISCONNECTED","prettyDate","date","formatDistanceToNowStrict","addSuffix","getOthersLastSeenAt","getReadStatus","lastSeenList","values","lastSeenAt","last_seen_at","getChannelTitle","LabelStringSet","NO_TITLE","NO_MEMBERS","AutoRefresh","repeatFunc","setLabel","interval","setInterval","clearInterval","ChatHeader","currentUser","subTitle","isActive","isMuted","showSearchIcon","onSearchClick","onActionClick","theme","ChannelAvatar","H_2","NOTIFICATIONS_OFF_FILLED","SEARCH","PRIMARY","INFO","coverUrl","ConversationPanel","stores","sdkStore","userStore","config","reconnect","dispatchers","queries","startingPoint","highlightedMessage","renderChatHeader","onChatHeaderActionClick","sdkError","messageListQuery","warn","setIntialTimeStamp","useReducer","messagesReducer","messagesInitialState","messagesStore","isSuper","usingReaction","userDefinedDisableUserProfile","userDefinedRenderProfile","onScrollCallback","onScrollDownCallback","useGetChannel","subScriber","onSendFileMessage","NO_CHANNELS","WRONG","UserProfileProvider","LOADING","any","includeMetaArray","includeParentMessageText","includeThreadInfo","limit","reverse","senderUserIdsFilter","withSendbirdContext"],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/ChannelList.js b/dist/cjs/ChannelList.js index a47dde3..168f565 100644 --- a/dist/cjs/ChannelList.js +++ b/dist/cjs/ChannelList.js @@ -2,22 +2,22 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } -var LocalizationContext = require('./LocalizationContext-9665649b.js'); +var LocalizationContext = require('./LocalizationContext-12a9343d.js'); var React = require('react'); var React__default = _interopDefault(React); var PropTypes = _interopDefault(require('prop-types')); var actionTypes = require('./actionTypes-920b541f.js'); -var index = require('./index-dfc2e550.js'); +var index = require('./index-2a2230b8.js'); +var index$1 = require('./index-9431d920.js'); var utils = require('./utils-6aedec02.js'); -var index$1 = require('./index-16cd2d77.js'); -var LeaveChannel = require('./LeaveChannel-2b4f1405.js'); +var LeaveChannel = require('./LeaveChannel-c93b4597.js'); var isToday = _interopDefault(require('date-fns/isToday')); var format = _interopDefault(require('date-fns/format')); var isYesterday = _interopDefault(require('date-fns/isYesterday')); require('./type-c7a3bee7.js'); var utils$1 = require('./utils-a8277ca2.js'); require('react-dom'); -var index$2 = require('./index-005b875b.js'); +var index$2 = require('./index-a8367321.js'); var RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST'; var CREATE_CHANNEL = 'CREATE_CHANNEL'; @@ -359,9 +359,10 @@ function ChannelPreview(_ref) { }, isBroadcast && React__default.createElement("div", { className: "sendbird-channel-preview__broadcast-icon" }, React__default.createElement(index.Icon, { - type: theme === 'dark' ? index.IconTypes.BROADCAST_DARK : index.IconTypes.BROADCAST_LIGHT, - height: 12, - width: 12 + type: index.IconTypes.BROADCAST, + fillColor: index.IconColors.SECONDARY, + height: "16px", + width: "16px" })), React__default.createElement(index.Label, { className: "sendbird-channel-preview__content__upper__header__channel-name", type: index.LabelTypography.SUBTITLE_2, @@ -374,7 +375,8 @@ function ChannelPreview(_ref) { title: "Frozen", className: "sendbird-channel-preview__frozen-icon" }, React__default.createElement(index.Icon, { - type: theme === 'dark' ? index.IconTypes.FROZEN_DARK : index.IconTypes.FROZEN_LIGHT, + type: index.IconTypes.FREEZE, + fillColor: index.IconColors.PRIMARY, height: 12, width: 12 }))), React__default.createElement(index.Label, { @@ -690,7 +692,7 @@ function AddChannel(_ref) { setStep(1); } }, React__default.createElement(index.Icon, { - type: index.IconTypes.SUPER_GROUP + type: index.IconTypes.SUPERGROUP }), React__default.createElement(index.Label, { type: index.LabelTypography.SUBTITLE_1, color: index.LabelColors.ONBACKGROUND_1 diff --git a/dist/cjs/ChannelList.js.map b/dist/cjs/ChannelList.js.map index 3d68197..f6bd090 100644 --- a/dist/cjs/ChannelList.js.map +++ b/dist/cjs/ChannelList.js.map @@ -1 +1 @@ -{"version":3,"file":"ChannelList.js","sources":["../../../src/smart-components/ChannelList/dux/actionTypes.js","../../../src/smart-components/ChannelList/dux/initialState.js","../../../src/smart-components/ChannelList/dux/reducers.js","../../../src/ui/ChannelPreview/utils.js","../../../src/ui/ChannelPreview/index.jsx","../../../src/ui/ChannelHeader/index.jsx","../../../src/ui/EditUserProfile/index.tsx","../../../src/smart-components/ChannelList/components/AddChannel.jsx","../../../src/smart-components/ChannelList/components/ChannelPreviewAction.jsx","../../../src/smart-components/ChannelList/components/Placeholder.jsx","../../../src/smart-components/ChannelList/utils.js","../../../src/smart-components/ChannelList/index.jsx"],"sourcesContent":["export const RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';\nexport const CREATE_CHANNEL = 'CREATE_CHANNEL';\nexport const UNLOAD_CHANNELS = 'UNLOAD_CHANNELS';\nexport const SET_CHANNEL_LOADING = 'SET_CHANNEL_LOADING';\nexport const LEAVE_CHANNEL_SUCCESS = 'LEAVE_CHANNEL_SUCCESS';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\n\nexport const SHOW_CHANNEL_SETTINGS = 'SHOW_CHANNEL_SETTINGS';\nexport const HIDE_CHANNEL_SETTINGS = 'HIDE_CHANNEL_SETTINGS';\n\nexport const FETCH_CHANNELS_START = 'FETCH_CHANNELS_START';\nexport const FETCH_CHANNELS_SUCCESS = 'FETCH_CHANNELS_SUCCESS';\nexport const FETCH_CHANNELS_FAILURE = 'FETCH_CHANNELS_FAILURE';\n\nexport const INIT_CHANNELS_START = 'INIT_CHANNELS_START';\nexport const INIT_CHANNELS_SUCCESS = 'INIT_CHANNELS_SUCCESS';\nexport const INIT_CHANNELS_FAILURE = 'INIT_CHANNELS_FAILURE';\n\nexport const INVITE_MEMBERS_SUCESS = 'INVITE_MEMBERS_SUCESS';\n\nexport const ON_USER_JOINED = 'ON_USER_JOINED';\nexport const ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';\nexport const ON_LAST_MESSAGE_UPDATED = 'ON_LAST_MESSAGE_UPDATED';\nexport const ON_USER_LEFT = 'ON_USER_LEFT';\nexport const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';\nexport const ON_CHANNEL_ARCHIVED = 'ON_CHANNEL_ARCHIVED';\nexport const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';\nexport const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';\n\nexport const ON_READ_RECEIPT_UPDATED = 'ON_READ_RECEIPT_UPDATED';\nexport const ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';\n\nexport const CHANNEL_REPLACED_TO_TOP = 'CHANNEL_REPLACED_TO_TOP';\n","export default {\n // we might not need this initialized state -> should remove\n initialized: false,\n loading: false,\n allChannels: [],\n currentChannel: null,\n showSettings: false,\n};\n","import * as actions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actions.INIT_CHANNELS_START:\n return {\n ...state,\n loading: true,\n };\n case actions.RESET_CHANNEL_LIST:\n return initialState;\n case actions.INIT_CHANNELS_SUCCESS:\n return {\n ...state,\n initialized: true,\n loading: false,\n allChannels: action.payload,\n currentChannel: (action.payload && action.payload.length && action.payload.length > 0)\n ? action.payload[0].url\n : null,\n };\n case actions.FETCH_CHANNELS_SUCCESS: {\n const currentChannels = state.allChannels.map((c) => c.url);\n const filteredChannels = action.payload.filter(\n ({ url }) => !(currentChannels.find((c) => c === url)),\n );\n return {\n ...state,\n allChannels: [\n ...state.allChannels,\n ...filteredChannels,\n ],\n };\n }\n case actions.CREATE_CHANNEL: {\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter(\n (channel) => channel.url !== action.payload.url,\n )],\n currentChannel: action.payload.url,\n };\n }\n case actions.ON_CHANNEL_ARCHIVED:\n case actions.LEAVE_CHANNEL_SUCCESS:\n case actions.ON_CHANNEL_DELETED: {\n const channelUrl = action.payload;\n const leftCurrentChannel = (state.currentChannel === channelUrl);\n const newAllChannels = state.allChannels.filter(({ url }) => url !== channelUrl);\n const currentChannel = leftCurrentChannel\n ? (() => (\n (newAllChannels.length > 0)\n ? newAllChannels[0].url\n : ''\n ))()\n : state.currentChannel;\n\n return {\n ...state,\n currentChannel,\n allChannels: newAllChannels,\n };\n }\n case actions.ON_USER_LEFT: {\n const { channel, isMe } = action.payload;\n const { url } = channel;\n if (isMe) {\n const leftCurrentChannel = (url === state.currentChannel);\n const newAllChannels = state.allChannels.filter((c) => (c.url !== url));\n const currentChannel = leftCurrentChannel\n ? (() => (\n (newAllChannels.length > 0)\n ? newAllChannels[0].url\n : ''\n ))()\n : state.currentChannel;\n\n return {\n ...state,\n currentChannel,\n allChannels: newAllChannels,\n };\n }\n // other user left\n const newAllChannels = state.allChannels.map((c) => ((c.url === url) ? channel : c));\n return {\n ...state,\n allChannels: newAllChannels,\n };\n }\n case actions.ON_USER_JOINED:\n case actions.ON_CHANNEL_CHANGED:\n case actions.ON_READ_RECEIPT_UPDATED:\n case actions.ON_DELIVERY_RECEIPT_UPDATED: {\n const { allChannels = [] } = state;\n const { unreadMessageCount } = action.payload;\n const channel = action.payload;\n if (!channel.lastMessage) {\n return state;\n }\n // if its only an unread message count change, dont push to top\n if (unreadMessageCount === 0) {\n const currentChannel = allChannels.find(({ url }) => url === channel.url);\n const currentUnReadCount = currentChannel && currentChannel.unreadMessageCount;\n if (currentUnReadCount === 0) {\n return {\n ...state,\n allChannels: allChannels.map((c) => {\n if (c.url === channel.url) {\n return channel;\n }\n return c;\n }),\n };\n }\n }\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter(({ url }) => url !== action.payload.url),\n ],\n };\n }\n case actions.SET_CURRENT_CHANNEL:\n return {\n ...state,\n currentChannel: action.payload,\n };\n case actions.SHOW_CHANNEL_SETTINGS:\n return {\n ...state,\n showSettings: true,\n };\n case actions.HIDE_CHANNEL_SETTINGS:\n return {\n ...state,\n showSettings: false,\n };\n case actions.ON_LAST_MESSAGE_UPDATED:\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => {\n if (channel.url === action.payload.url) {\n return action.payload;\n }\n return channel;\n }),\n };\n case actions.ON_CHANNEL_FROZEN:\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => {\n if (channel.url === action.payload.url) {\n // eslint-disable-next-line no-param-reassign\n channel.isFrozen = true;\n return channel;\n }\n return channel;\n }),\n };\n case actions.ON_CHANNEL_UNFROZEN:\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => {\n if (channel.url === action.payload.url) {\n // eslint-disable-next-line no-param-reassign\n channel.isFrozen = false;\n return channel;\n }\n return channel;\n }),\n };\n case actions.CHANNEL_REPLACED_TO_TOP:\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter((channel) => channel.url !== action.payload.url),\n ],\n };\n default:\n return state;\n }\n}\n","import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport isYesterday from 'date-fns/isYesterday';\n\nimport { truncate } from '../FileMessage/utils';\nimport { LabelStringSet } from '../Label';\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel || (!channel.name && !channel.members)) {\n return stringSet.NO_TITLE;\n }\n if (channel.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel.members.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n\n return channel.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = (channel) => {\n if (!channel || !channel.lastMessage) {\n return '';\n }\n const date = channel.lastMessage.createdAt;\n if (isToday(date)) {\n return format(date, 'p');\n }\n\n if (isYesterday(date)) {\n return 'Yesterday';\n }\n\n return format(date, 'MMM dd');\n};\n\nexport const getTotalMembers = (channel) => (\n channel && channel.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getPrettyLastMessage = (message = {}) => {\n const MAXLEN = 30;\n const { messageType, name } = message;\n if (messageType === 'file') {\n return truncate(name, MAXLEN);\n }\n return message.message;\n};\n\nexport const getLastMessage = (channel) => (\n channel && channel.lastMessage\n ? getPrettyLastMessage(channel.lastMessage)\n : ''\n);\n\nexport const getChannelUnreadMessageCount = (channel) => (\n (channel && channel.unreadMessageCount)\n ? channel.unreadMessageCount\n : 0\n);\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport ChannelAvatar from '../ChannelAvatar/index';\nimport Badge from '../Badge';\nimport Icon, { IconTypes } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport * as utils from './utils';\n\nexport default function ChannelPreview({\n channel,\n isActive,\n ChannelAction,\n theme,\n onClick,\n tabIndex,\n currentUser,\n}) {\n const {\n userId,\n } = currentUser;\n const { isBroadcast, isFrozen } = channel;\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n \n \n
\n \n
\n
\n {\n isBroadcast\n && (\n
\n \n
\n )\n }\n \n {utils.getChannelTitle(channel, userId, stringSet)}\n \n \n {utils.getTotalMembers(channel)}\n \n {\n isFrozen\n && (\n
\n \n
\n )\n }\n
\n \n {utils.getLastMessageCreatedAt(channel)}\n \n
\n\n
\n \n {utils.getLastMessage(channel)}\n \n
\n {\n utils.getChannelUnreadMessageCount(channel)\n ? \n : null\n }\n
\n
\n \n \n {ChannelAction}\n \n \n );\n}\n\nChannelPreview.propTypes = {\n isActive: PropTypes.bool,\n theme: PropTypes.string,\n channel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n coverUrl: PropTypes.string,\n isBroadcast: PropTypes.bool,\n isFrozen: PropTypes.bool,\n }),\n ChannelAction: PropTypes.element.isRequired,\n onClick: PropTypes.func,\n tabIndex: PropTypes.number,\n currentUser: PropTypes.shape({\n userId: PropTypes.string,\n }),\n};\n\nChannelPreview.defaultProps = {\n channel: {},\n isActive: false,\n theme: 'light',\n onClick: () => { },\n tabIndex: 0,\n currentUser: {},\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport IconButton from '../IconButton';\n\nimport './index.scss';\nimport Avatar from '../Avatar/index';\n\nexport default function ChannelHeader({\n user,\n iconButton,\n onEdit,\n renderHeader,\n allowProfileEdit,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n {\n renderHeader\n ? renderHeader()\n : (\n \n
\n \n
\n
\n \n {user.nickname || stringSet.NO_NAME}\n \n \n {user.userId}\n \n
\n \n )\n }\n
\n {iconButton}\n
\n \n );\n}\n\nChannelHeader.propTypes = {\n user: PropTypes.shape({\n profileUrl: PropTypes.string,\n nickname: PropTypes.string,\n userId: PropTypes.string,\n }),\n renderHeader: PropTypes.func,\n allowProfileEdit: PropTypes.bool,\n onEdit: PropTypes.func.isRequired,\n iconButton: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.instanceOf(IconButton),\n ]),\n};\n\nChannelHeader.defaultProps = {\n user: {},\n renderHeader: null,\n allowProfileEdit: false,\n iconButton: null,\n};\n","import React, {\n ReactElement,\n useRef,\n useState,\n useContext,\n} from 'react';\nimport './index.scss';\n\nimport Modal from '../Modal';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport Input, { InputLabel } from '../Input';\nimport Avatar from '../Avatar';\nimport Icon, { IconTypes } from '../Icon';\nimport { Type as ButtonType } from '../Button/type';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport TextButton from '../TextButton';\nimport { SendbirdTypes } from '../../types';\nimport { noop } from '../../utils/utils';\n\ninterface Props {\n user: SendbirdTypes['User'];\n onCancel(): void;\n onSubmit(newFile: File, newNickname: string): void;\n onThemeChange?(theme: string): void;\n theme?: string;\n changeTheme?(theme: string): void;\n}\n\nexport function EditUserProfile({\n user,\n onCancel,\n onSubmit,\n onThemeChange = null,\n theme = 'light',\n changeTheme = noop,\n}: Props): ReactElement {\n const hiddenInputRef = useRef(null);\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n\n return (\n {\n if (user.nickname !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n onSubmit(inputRef.current.value, newFile);\n onCancel();\n }}\n type={ButtonType.PRIMARY}\n >\n { e.preventDefault(); }}\n >\n
\n \n {stringSet.EDIT_PROFILE__IMAGE_LABEL}\n \n
\n \n
\n {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n hiddenInputRef.current.click()}\n notUnderline\n >\n \n \n
\n
\n \n {stringSet.EDIT_PROFILE__NICKNAME_LABEL}\n \n \n
\n
\n \n {/* userID */}\n {stringSet.EDIT_PROFILE__USERID_LABEL}\n \n \n
\n
\n \n {stringSet.EDIT_PROFILE__THEME_LABEL}\n \n
\n {\n theme === 'dark'\n ? (\n {\n changeTheme('light');\n if (onThemeChange && typeof onThemeChange === 'function') {\n onThemeChange('light');\n }\n }}\n type={IconTypes.TOGGLE_ON}\n width={44}\n height={24}\n />\n )\n : (\n {\n changeTheme('dark');\n if (onThemeChange && typeof onThemeChange === 'function') {\n onThemeChange('dark');\n }\n }}\n type={IconTypes.TOGGLE_OFF}\n width={44}\n height={24}\n />\n )\n }\n
\n
\n \n \n );\n}\n\nconst mapStoreToProps = (store) => {\n return {\n theme: store.config.theme,\n changeTheme: store.config.setCurrenttheme,\n };\n};\n\ninterface ConnectedEditUserProfileProps {\n user: SendbirdTypes['User'];\n onCancel(): void;\n onSubmit(newFile: File, newNickname: string): void;\n onThemeChange?(theme: string): void;\n}\n\nconst ConnectedEditUserProfile: (\n props: ConnectedEditUserProfileProps\n) => React.Component = withSendbirdContext(EditUserProfile, mapStoreToProps);\n\nexport default ConnectedEditUserProfile;\n","import './add-channel.scss';\n\nimport React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport IconButton from '../../../ui/IconButton';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\nimport InviteMembers from '../../InviteMembers';\n\nimport {\n createChannel,\n createDefaultUserListQuery,\n isBroadcastChannelEnabled,\n isSuperGroupChannelEnabled,\n} from './utils';\nimport { CREATE_CHANNEL } from '../dux/actionTypes';\nimport Modal from '../../../ui/Modal';\n\nexport default function AddChannel({\n sdk,\n disabled,\n channelListDispatcher,\n onBeforeCreateChannel,\n userId,\n userFilledApplicationUserListQuery,\n userListQuery,\n}) {\n const [showModal, setShowModal] = useState(false);\n const [step, setStep] = useState(0);\n const [type, setType] = useState('group');\n const { stringSet } = useContext(LocalizationContext);\n\n if (!sdk || !sdk.createApplicationUserListQuery) {\n return null;\n }\n\n const isBroadcastAvailable = isBroadcastChannelEnabled(sdk);\n const isSupergroupAvailable = isSuperGroupChannelEnabled(sdk);\n\n return (\n <>\n {\n setShowModal(true);\n }}\n disabled={disabled}\n >\n \n \n {\n showModal && step === 0 && (\n { setShowModal(false); }}\n onSubmit={() => {}}\n >\n
\n {\n setType('group');\n setStep(1);\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n setType('group');\n setStep(1);\n }}\n >\n \n \n
\n {\n isSupergroupAvailable && (\n {\n setType('supergroup');\n setStep(1);\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n setType('supergroup');\n setStep(1);\n }}\n >\n \n \n \n )\n }\n {\n isBroadcastAvailable && (\n {\n setType('broadcast');\n setStep(1);\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n setType('broadcast');\n setStep(1);\n }}\n >\n \n \n \n )\n }\n \n \n )\n }\n {\n showModal && step === 1 && (\n {\n setStep(0);\n setShowModal(false);\n }}\n idsToFilter={[userId]}\n userQueryCreator={() => ((userListQuery && typeof userListQuery === 'function')\n ? userListQuery()\n : createDefaultUserListQuery({ sdk, userFilledApplicationUserListQuery })\n )}\n onSubmit={(selectedUsers) => createChannel(\n sdk,\n selectedUsers,\n onBeforeCreateChannel,\n userId,\n type,\n ).then((channel) => {\n // maybe - do this in event listener\n channelListDispatcher({\n type: CREATE_CHANNEL,\n payload: channel,\n });\n })}\n />\n )\n }\n \n );\n}\n\nAddChannel.propTypes = {\n sdk: PropTypes.shape({\n getErrorFirstCallback: PropTypes.func,\n createApplicationUserListQuery: PropTypes.func,\n }).isRequired,\n disabled: PropTypes.bool,\n channelListDispatcher: PropTypes.func.isRequired,\n userFilledApplicationUserListQuery: PropTypes.shape({}),\n onBeforeCreateChannel: PropTypes.func,\n userId: PropTypes.string.isRequired,\n userListQuery: PropTypes.func,\n};\n\nAddChannel.defaultProps = {\n disabled: false,\n userFilledApplicationUserListQuery: {},\n onBeforeCreateChannel: null,\n userListQuery: null,\n};\n","import React, {\n useState,\n useRef,\n useContext,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../ui/ContextMenu';\nimport IconButton from '../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\nimport LeaveChannelModal from '../../ChannelSettings/components/LeaveChannel';\n\nexport default function ChannelPreviewAction({ disabled, onLeaveChannel }) {\n const parentRef = useRef(null);\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n { e.stopPropagation(); }}\n tabIndex={0}\n onClick={(e) => { e.stopPropagation(); }}\n >\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n if (disabled) { return; }\n setShowModal(true);\n closeDropdown();\n }}\n >\n {stringSet.CHANNEL_SETTING__LEAVE_CHANNEL__TITLE}\n \n \n )}\n />\n {\n showModal && (\n setShowModal(false)}\n onLeaveChannel={onLeaveChannel}\n />\n )\n }\n \n );\n}\n\nChannelPreviewAction.propTypes = {\n disabled: PropTypes.bool,\n onLeaveChannel: PropTypes.func.isRequired,\n};\n\nChannelPreviewAction.defaultProps = {\n disabled: false,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Placeholder from '../../../ui/PlaceHolder';\n\nexport default function ChannelsPlaceholder({\n type,\n}) {\n return (\n
\n \n
\n );\n}\n\nChannelsPlaceholder.propTypes = {\n type: PropTypes.string.isRequired,\n};\n","import * as channelActions from './dux/actionTypes';\nimport * as topics from '../../lib/pubSub/topics';\n\nconst createEventHandler = ({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n logger,\n}) => {\n const ChannelHandler = new sdk.ChannelHandler();\n\n ChannelHandler.onChannelChanged = (channel) => {\n logger.info('ChannelList: onChannelChanged', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_CHANGED,\n payload: channel,\n });\n };\n ChannelHandler.onChannelDeleted = (channelUrl) => {\n logger.info('ChannelList: onChannelDeleted', channelUrl);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_DELETED,\n payload: channelUrl,\n });\n };\n ChannelHandler.onUserJoined = (channel) => {\n logger.info('ChannelList: onUserJoined', channel);\n if (channel.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_USER_JOINED,\n payload: channel,\n });\n }\n };\n ChannelHandler.onUserBanned = (channel, user) => {\n const { currentUser } = sdk;\n logger.info('Channel | useHandleChannelEvents: onUserBanned', channel);\n if (user.userId === currentUser.userId) {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: true,\n },\n });\n } else {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: false,\n },\n });\n }\n };\n ChannelHandler.onUserLeft = (channel, leftUser) => {\n const { currentUser } = sdk;\n const isMe = (currentUser.userId === leftUser.userId);\n logger.info('ChannelList: onUserLeft', channel);\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe,\n },\n });\n };\n\n ChannelHandler.onReadStatus = (channel) => {\n logger.info('ChannelList: onReadStatus', channel);\n channelListDispatcher({\n type: channelActions.ON_READ_RECEIPT_UPDATED,\n payload: channel,\n });\n };\n\n ChannelHandler.onDeliveryReceiptUpdated = (channel) => {\n logger.info('ChannelList: onDeliveryReceiptUpdated', channel);\n if (channel.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_DELIVERY_RECEIPT_UPDATED,\n payload: channel,\n });\n }\n };\n\n ChannelHandler.onMessageUpdated = (channel, message) => {\n if (channel.lastMessage.isEqual(message)) {\n logger.info('ChannelList: onMessageUpdated', channel);\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n }\n };\n\n ChannelHandler.onChannelHidden = (channel) => {\n logger.info('ChannelList: onChannelHidden', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_ARCHIVED,\n payload: channel.url,\n });\n };\n\n ChannelHandler.onChannelFrozen = (channel) => {\n logger.info('ChannelList: onChannelFrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n };\n\n ChannelHandler.onChannelUnfrozen = (channel) => {\n logger.info('ChannelList: onChannelUnfrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n };\n\n logger.info('ChannelList: Added channelHandler');\n sdk.addChannelHandler(sdkChannelHandlerId, ChannelHandler);\n};\n\nconst createApplicationUserListQuery = ({ sdk, userFilledChannelListQuery = {} }) => {\n const channelListQuery = sdk.GroupChannel.createMyGroupChannelListQuery();\n channelListQuery.includeEmpty = false;\n channelListQuery.order = 'latest_last_message'; // 'chronological', 'latest_last_message', 'channel_name_alphabetical', and 'metadata_value_alphabetical'\n channelListQuery.limit = 20; // The value of pagination limit could be set up to 100.\n\n if (userFilledChannelListQuery) {\n Object.keys(userFilledChannelListQuery).forEach((key) => {\n channelListQuery[key] = userFilledChannelListQuery[key];\n });\n }\n\n return channelListQuery;\n};\n\n/**\n * Setup event listener\n * create channel source query\n * addloading screen\n */\nfunction setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n}) {\n createEventHandler({\n sdk,\n channelListDispatcher,\n sdkChannelHandlerId,\n logger,\n });\n\n logger.info('ChannelList - creating query', { userFilledChannelListQuery });\n const channelListQuery = createApplicationUserListQuery({ sdk, userFilledChannelListQuery });\n logger.info('ChannelList - created query', channelListQuery);\n\n setChannelSource(channelListQuery);\n\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_START,\n });\n\n logger.info('ChannelList - fetching channels');\n if (channelListQuery.hasNext) {\n channelListQuery.next((response, error) => {\n const swapParams = sdk.getErrorFirstCallback();\n let channelList = response;\n let err = error;\n if (swapParams) {\n channelList = error;\n err = response;\n }\n logger.info('ChannelList - fetched channels', channelList);\n if (err) {\n logger.error('ChannelList - couldnt fetch channels', err);\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_FAILURE,\n });\n return;\n }\n // select first channel\n logger.info('ChannelList - highlight channel', channelList[0]);\n let sorted = channelList;\n if (sortChannelList && typeof sortChannelList === 'function') {\n sorted = sortChannelList(channelList);\n logger.info('ChannelList - channel list sorted', sorted);\n }\n onChannelSelect(sorted[0]);\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_SUCCESS,\n payload: sorted,\n });\n if (channelList && typeof channelList.forEach === 'function') {\n logger.info('ChannelList - mark all channels as delivered');\n channelList.forEach((c) => c.markAsDelivered());\n }\n });\n } else {\n logger.warning('ChannelList - there are no more channels');\n }\n}\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (pubSub, channelListDispatcher) => {\n const subScriber = new Map();\n if (!pubSub) return subScriber;\n subScriber.set(topics.CREATE_CHANNEL, pubSub.subscribe(topics.CREATE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: 'CREATE_CHANNEL',\n payload: channel,\n });\n }));\n\n subScriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n const updatedChannel = channel;\n updatedChannel.lastMessage = message;\n if (channel) {\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: updatedChannel,\n });\n }\n }));\n\n subScriber.set(topics.LEAVE_CHANNEL, pubSub.subscribe(topics.LEAVE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel.url,\n });\n }));\n\n subScriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.CHANNEL_REPLACED_TO_TOP,\n payload: channel,\n });\n }));\n\n return subScriber;\n};\n\nexport default setupChannelList;\n","import React, { useEffect, useState, useReducer } from 'react';\nimport PropTypes from 'prop-types';\n\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport * as userActions from '../../lib/dux/user/actionTypes';\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\n\nimport * as channelListActions from './dux/actionTypes';\nimport channelListInitialState from './dux/initialState';\nimport channelListReducers from './dux/reducers';\n\nimport ChannelPreview from '../../ui/ChannelPreview';\nimport ChannelHeader from '../../ui/ChannelHeader';\nimport EditUserProfile from '../../ui/EditUserProfile';\nimport PlaceholderTypes from '../../ui/PlaceHolder/type';\n\nimport AddChannel from './components/AddChannel';\nimport ChannelPreviewAction from './components/ChannelPreviewAction';\nimport PlaceHolder from './components/Placeholder';\n\nimport setupChannelList, {\n pubSubHandler,\n pubSubHandleRemover,\n} from './utils';\nimport { uuidv4 } from '../../utils/uuid';\n\nimport './index.scss';\n\nconst noop = () => { };\n\nfunction ChannelList(props) {\n const {\n stores: { sdkStore = {}, userStore = {} },\n config: {\n userId,\n isOnline,\n userListQuery,\n logger,\n pubSub,\n theme,\n },\n dispatchers: {\n userDispatcher,\n },\n queries = {},\n renderChannelPreview,\n renderHeader,\n renderUserProfile,\n disableUserProfile,\n allowProfileEdit,\n sortChannelList,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n onChannelSelect,\n } = props;\n const { config = {} } = props;\n // enable if it is true atleast once(both are flase by default)\n const enableEditProfile = allowProfileEdit || config.allowProfileEdit;\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n const { sdk = {} } = sdkStore;\n const userFilledChannelListQuery = queries.channelListQuery;\n const userFilledApplicationUserListQuery = queries.applicationUserListQuery;\n\n const sdkError = sdkStore.error;\n\n const [user, setUser] = useState({});\n\n useEffect(() => {\n setUser(userStore.user);\n }, [userStore.user]);\n\n\n const sdkIntialized = sdkStore.initialized;\n const [channelListStore, channelListDispatcher] = useReducer(\n channelListReducers,\n channelListInitialState,\n );\n const [channelSource, setChannelSource] = useState({});\n const [sdkChannelHandlerId, setSdkChannelHandlerId] = useState(null);\n const [showProfileEdit, setShowProfileEdit] = useState(false);\n\n const { loading, currentChannel } = channelListStore;\n\n useEffect(() => {\n const subscriber = pubSubHandler(pubSub, channelListDispatcher);\n return () => {\n pubSubHandleRemover(subscriber);\n };\n }, [sdkIntialized]);\n\n useEffect(() => {\n setSdkChannelHandlerId(uuidv4);\n if (sdkIntialized) {\n logger.info('ChannelList: Setup channelHandlers');\n setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n });\n } else {\n logger.info('ChannelList: Removing channelHandlers');\n // remove previous channelHandlers\n if (sdk && sdk.removeChannelHandler) {\n sdk.removeChannelHandler(sdkChannelHandlerId);\n }\n // remove channelSource\n setChannelSource({});\n // cleanup\n channelListDispatcher({\n type: channelListActions.RESET_CHANNEL_LIST,\n });\n }\n return () => {\n logger.info('ChannelList: Removing channelHandlers');\n if (sdk && sdk.removeChannelHandler) {\n sdk.removeChannelHandler(sdkChannelHandlerId);\n }\n };\n }, [sdkIntialized, userFilledChannelListQuery, sortChannelList]);\n\n const { allChannels } = channelListStore;\n const sortedChannels = (sortChannelList && typeof sortChannelList === 'function')\n ? sortChannelList(allChannels)\n : allChannels;\n\n if (sortedChannels.length !== allChannels.length) {\n const warning = `ChannelList: You have removed/added extra channels on sortChannelList\n this could cause unexpected problems`;\n // eslint-disable-next-line no-console\n console.warn(warning, { before: allChannels, after: sortedChannels });\n logger.warning(warning, { before: allChannels, after: sortedChannels });\n }\n\n useEffect(() => {\n if (!sdk || !sdk.GroupChannel) { return; }\n sdk.GroupChannel.getChannel(currentChannel, (groupChannel) => {\n if (groupChannel) {\n onChannelSelect(groupChannel);\n } else {\n onChannelSelect(null);\n }\n });\n }, [currentChannel]);\n\n return (\n \n
\n {\n if (enableEditProfile) {\n setShowProfileEdit(true);\n }\n }}\n allowProfileEdit={enableEditProfile}\n iconButton={(\n \n )}\n />\n
\n {\n showProfileEdit && (\n { setShowProfileEdit(false); }}\n onSubmit={(newName, newFile) => {\n sdk.updateCurrentUserInfoWithProfileImage(newName, newFile, (updatedUser) => {\n userDispatcher({ type: userActions.UPDATE_USER_INFO, payload: updatedUser });\n if (onProfileEditSuccess && typeof onProfileEditSuccess === 'function') {\n onProfileEditSuccess(updatedUser);\n }\n });\n }}\n />\n )\n }\n {\n const fetchMore = e.target.clientHeight + e.target.scrollTop === e.target.scrollHeight;\n if (fetchMore && channelSource.hasNext) {\n logger.info('ChannelList: Fetching more channels');\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_START,\n });\n channelSource.next((response, error) => {\n const swapParams = sdk.getErrorFirstCallback();\n let channelList = response;\n let err = error;\n if (swapParams) {\n channelList = error;\n err = response;\n }\n if (err) {\n logger.info('ChannelList: Fetching channels failed', err);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_FAILURE,\n payload: channelList,\n });\n return;\n }\n logger.info('ChannelList: Fetching channels successful', channelList);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_SUCCESS,\n payload: channelList,\n });\n if (channelList && typeof channelList.forEach === 'function') {\n logger.info('ChannelList: Marking all channels as read');\n channelList.forEach((c) => c.markAsDelivered());\n }\n });\n }\n }}\n >\n {\n (sdkError) && (\n \n )\n }\n {/*\n To do: Implement windowing\n Implement windowing if you are dealing with large number of messages/channels\n https://github.com/bvaughn/react-window -> recommendation\n We hesitate to bring one more dependency to our library,\n we are planning to implement it inside the library\n */}\n
\n {\n sortedChannels && sortedChannels.map((channel, idx) => {\n const onLeaveChannel = (c, cb) => {\n logger.info('ChannelList: Leaving channel', c);\n c.leave()\n .then((res) => {\n logger.info('ChannelList: Leaving channel success', res);\n if (cb && typeof cb === 'function') {\n cb(res, null);\n }\n channelListDispatcher({\n type: channelListActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel.url,\n });\n })\n .catch((err) => {\n logger.error('ChannelList: Leaving channel failed', err);\n if (cb && typeof cb === 'function') {\n cb(null, err);\n }\n });\n };\n\n const onClick = () => {\n if (!isOnline) { return; }\n logger.info('ChannelList: Clicked on channel:', channel);\n channelListDispatcher({\n type: channelListActions.SET_CURRENT_CHANNEL,\n payload: channel.url,\n });\n };\n\n return (\n (renderChannelPreview)\n ? (\n // eslint-disable-next-line\n
\n {renderChannelPreview({ channel, onLeaveChannel })}\n
\n )\n : (\n onLeaveChannel(channel)}\n />\n )}\n />\n )\n );\n })\n }\n
\n {\n (!sdkIntialized || loading) && (\n \n )\n }\n {\n // placeholder\n (!allChannels || allChannels.length === 0) && (\n \n )\n }\n \n \n );\n}\n\nChannelList.propTypes = {\n stores: PropTypes.shape({\n sdkStore: PropTypes.shape({\n initialized: PropTypes.bool,\n }),\n userStore: PropTypes.shape({\n user: PropTypes.shape({}),\n }),\n }).isRequired,\n dispatchers: PropTypes.shape({\n userDispatcher: PropTypes.func,\n }).isRequired,\n config: PropTypes.shape({\n userId: PropTypes.string.isRequired,\n userListQuery: PropTypes.func,\n theme: PropTypes.string,\n isOnline: PropTypes.bool,\n logger: PropTypes.shape({\n info: PropTypes.func,\n error: PropTypes.func,\n warning: PropTypes.func,\n }),\n pubSub: PropTypes.shape({\n subscribe: PropTypes.func,\n publish: PropTypes.func,\n }),\n }).isRequired,\n queries: PropTypes.shape({\n channelListQuery: PropTypes.shape({\n channelNameContainsFilter: PropTypes.string,\n channelUrlsFilter: PropTypes.arrayOf(PropTypes.string),\n customTypesFilter: PropTypes.arrayOf(PropTypes.string),\n customTypeStartsWithFilter: PropTypes.string,\n hiddenChannelFilter: PropTypes.string,\n includeEmpty: PropTypes.bool,\n limit: PropTypes.number,\n memberStateFilter: PropTypes.string,\n metadataOrderKeyFilter: PropTypes.string,\n nicknameContainsFilter: PropTypes.string,\n order: PropTypes.string,\n publicChannelFilter: PropTypes.string,\n superChannelFilter: PropTypes.string,\n unreadChannelFilter: PropTypes.string,\n userIdsExactFilter: PropTypes.arrayOf(PropTypes.string),\n userIdsIncludeFilter: PropTypes.arrayOf(PropTypes.string),\n userIdsIncludeFilterQueryType: PropTypes.string,\n }),\n applicationUserListQuery: PropTypes.shape({\n limit: PropTypes.number,\n userIdsFilter: PropTypes.arrayOf(PropTypes.string),\n metaDataKeyFilter: PropTypes.string,\n metaDataValuesFilter: PropTypes.arrayOf(PropTypes.string),\n }),\n }),\n onBeforeCreateChannel: PropTypes.func,\n renderChannelPreview: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n allowProfileEdit: PropTypes.bool,\n sortChannelList: PropTypes.func,\n onThemeChange: PropTypes.func,\n onProfileEditSuccess: PropTypes.func,\n renderHeader: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n onChannelSelect: PropTypes.func,\n};\n\nChannelList.defaultProps = {\n onBeforeCreateChannel: null,\n renderChannelPreview: null,\n renderHeader: null,\n disableUserProfile: false,\n renderUserProfile: null,\n allowProfileEdit: false,\n onThemeChange: null,\n sortChannelList: null,\n onProfileEditSuccess: null,\n queries: {},\n onChannelSelect: noop,\n};\n\nexport default withSendbirdContext(ChannelList);\n"],"names":["RESET_CHANNEL_LIST","CREATE_CHANNEL","LEAVE_CHANNEL_SUCCESS","SET_CURRENT_CHANNEL","SHOW_CHANNEL_SETTINGS","HIDE_CHANNEL_SETTINGS","FETCH_CHANNELS_START","FETCH_CHANNELS_SUCCESS","FETCH_CHANNELS_FAILURE","INIT_CHANNELS_START","INIT_CHANNELS_SUCCESS","INIT_CHANNELS_FAILURE","ON_USER_JOINED","ON_CHANNEL_DELETED","ON_LAST_MESSAGE_UPDATED","ON_USER_LEFT","ON_CHANNEL_CHANGED","ON_CHANNEL_ARCHIVED","ON_CHANNEL_FROZEN","ON_CHANNEL_UNFROZEN","ON_READ_RECEIPT_UPDATED","ON_DELIVERY_RECEIPT_UPDATED","CHANNEL_REPLACED_TO_TOP","initialized","loading","allChannels","currentChannel","showSettings","reducer","state","action","type","actions","initialState","payload","length","url","currentChannels","map","c","filteredChannels","filter","find","channel","channelUrl","leftCurrentChannel","newAllChannels","isMe","unreadMessageCount","lastMessage","currentUnReadCount","isFrozen","getChannelTitle","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","NO_MEMBERS","userId","nickname","NO_NAME","join","getLastMessageCreatedAt","date","createdAt","isToday","format","isYesterday","getTotalMembers","memberCount","getPrettyLastMessage","message","MAXLEN","messageType","truncate","getLastMessage","getChannelUnreadMessageCount","ChannelPreview","isActive","ChannelAction","theme","onClick","tabIndex","currentUser","isBroadcast","useContext","LocalizationContext","React","ChannelAvatar","Icon","IconTypes","BROADCAST_DARK","BROADCAST_LIGHT","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","utils","CAPTION_2","ONBACKGROUND_2","FROZEN_DARK","FROZEN_LIGHT","CAPTION_3","BODY_2","ONBACKGROUND_3","Badge","propTypes","PropTypes","bool","string","shape","arrayOf","coverUrl","element","isRequired","func","number","defaultProps","ChannelHeader","user","iconButton","onEdit","renderHeader","allowProfileEdit","Avatar","profileUrl","oneOfType","instanceOf","IconButton","EditUserProfile","_a","onCancel","onSubmit","_b","onThemeChange","_c","_d","changeTheme","noop","hiddenInputRef","useRef","inputRef","formRef","_e","useState","currentImg","setCurrentImg","_f","newFile","setNewFile","Modal","EDIT_PROFILE__TITLE","BUTTON__SAVE","current","value","reportValidity","ButtonType","PRIMARY","e","preventDefault","InputLabel","EDIT_PROFILE__IMAGE_LABEL","display","URL","createObjectURL","target","files","TextButton","click","BUTTON_1","EDIT_PROFILE__IMAGE_UPLOAD","EDIT_PROFILE__NICKNAME_LABEL","Input","EDIT_PROFILE__NICKNAME_PLACEHOLDER","EDIT_PROFILE__USERID_LABEL","EDIT_PROFILE__THEME_LABEL","TOGGLE_ON","TOGGLE_OFF","mapStoreToProps","store","config","setCurrenttheme","ConnectedEditUserProfile","withSendbirdContext","AddChannel","sdk","disabled","channelListDispatcher","onBeforeCreateChannel","userFilledApplicationUserListQuery","userListQuery","showModal","setShowModal","step","setStep","setType","createApplicationUserListQuery","isBroadcastAvailable","isBroadcastChannelEnabled","isSupergroupAvailable","isSuperGroupChannelEnabled","CREATE","IconColors","CHAT","SUBTITLE_1","SUPER_GROUP","BROADCAST","InviteMembers","getErrorFirstCallback","MODAL__CREATE_CHANNEL__TITLE","BUTTON__CREATE","createDefaultUserListQuery","selectedUsers","createChannel","then","ChannelPreviewAction","onLeaveChannel","parentRef","stopPropagation","ContextMenu","toggleDropdown","MORE","closeDropdown","MenuItems","MenuItem","CHANNEL_SETTING__LEAVE_CHANNEL__TITLE","LeaveChannelModal","ChannelsPlaceholder","Placeholder","createEventHandler","sdkChannelHandlerId","logger","ChannelHandler","onChannelChanged","info","channelActions","onChannelDeleted","onUserJoined","onUserBanned","onUserLeft","leftUser","onReadStatus","onDeliveryReceiptUpdated","onMessageUpdated","isEqual","onChannelHidden","onChannelFrozen","onChannelUnfrozen","addChannelHandler","userFilledChannelListQuery","channelListQuery","GroupChannel","createMyGroupChannelListQuery","includeEmpty","order","limit","Object","keys","forEach","key","setupChannelList","setChannelSource","onChannelSelect","sortChannelList","hasNext","next","response","error","swapParams","channelList","err","sorted","markAsDelivered","warning","pubSubHandleRemover","subscriber","s","remove","pubSubHandler","pubSub","subScriber","Map","set","topics","subscribe","msg","updatedChannel","ChannelList","props","stores","sdkStore","userStore","isOnline","userDispatcher","dispatchers","queries","renderChannelPreview","renderUserProfile","disableUserProfile","onProfileEditSuccess","enableEditProfile","userDefinedDisableUserProfile","userDefinedRenderProfile","applicationUserListQuery","sdkError","setUser","useEffect","sdkIntialized","useReducer","channelListReducers","channelListInitialState","channelListStore","channelSource","setSdkChannelHandlerId","showProfileEdit","setShowProfileEdit","uuidv4","removeChannelHandler","channelListActions","sortedChannels","console","warn","before","after","getChannel","groupChannel","UserProfileProvider","newName","updateCurrentUserInfoWithProfileImage","updatedUser","userActions","fetchMore","clientHeight","scrollTop","scrollHeight","PlaceHolder","PlaceholderTypes","WRONG","idx","cb","leave","res","catch","LOADING","NO_CHANNELS","publish","channelNameContainsFilter","channelUrlsFilter","customTypesFilter","customTypeStartsWithFilter","hiddenChannelFilter","memberStateFilter","metadataOrderKeyFilter","nicknameContainsFilter","publicChannelFilter","superChannelFilter","unreadChannelFilter","userIdsExactFilter","userIdsIncludeFilter","userIdsIncludeFilterQueryType","userIdsFilter","metaDataKeyFilter","metaDataValuesFilter"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ChannelList.js","sources":["../../../src/smart-components/ChannelList/dux/actionTypes.js","../../../src/smart-components/ChannelList/dux/initialState.js","../../../src/smart-components/ChannelList/dux/reducers.js","../../../src/ui/ChannelPreview/utils.js","../../../src/ui/ChannelPreview/index.jsx","../../../src/ui/ChannelHeader/index.jsx","../../../src/ui/EditUserProfile/index.tsx","../../../src/smart-components/ChannelList/components/AddChannel.jsx","../../../src/smart-components/ChannelList/components/ChannelPreviewAction.jsx","../../../src/smart-components/ChannelList/components/Placeholder.jsx","../../../src/smart-components/ChannelList/utils.js","../../../src/smart-components/ChannelList/index.jsx"],"sourcesContent":["export const RESET_CHANNEL_LIST = 'RESET_CHANNEL_LIST';\nexport const CREATE_CHANNEL = 'CREATE_CHANNEL';\nexport const UNLOAD_CHANNELS = 'UNLOAD_CHANNELS';\nexport const SET_CHANNEL_LOADING = 'SET_CHANNEL_LOADING';\nexport const LEAVE_CHANNEL_SUCCESS = 'LEAVE_CHANNEL_SUCCESS';\n\nexport const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\n\nexport const SHOW_CHANNEL_SETTINGS = 'SHOW_CHANNEL_SETTINGS';\nexport const HIDE_CHANNEL_SETTINGS = 'HIDE_CHANNEL_SETTINGS';\n\nexport const FETCH_CHANNELS_START = 'FETCH_CHANNELS_START';\nexport const FETCH_CHANNELS_SUCCESS = 'FETCH_CHANNELS_SUCCESS';\nexport const FETCH_CHANNELS_FAILURE = 'FETCH_CHANNELS_FAILURE';\n\nexport const INIT_CHANNELS_START = 'INIT_CHANNELS_START';\nexport const INIT_CHANNELS_SUCCESS = 'INIT_CHANNELS_SUCCESS';\nexport const INIT_CHANNELS_FAILURE = 'INIT_CHANNELS_FAILURE';\n\nexport const INVITE_MEMBERS_SUCESS = 'INVITE_MEMBERS_SUCESS';\n\nexport const ON_USER_JOINED = 'ON_USER_JOINED';\nexport const ON_CHANNEL_DELETED = 'ON_CHANNEL_DELETED';\nexport const ON_LAST_MESSAGE_UPDATED = 'ON_LAST_MESSAGE_UPDATED';\nexport const ON_USER_LEFT = 'ON_USER_LEFT';\nexport const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';\nexport const ON_CHANNEL_ARCHIVED = 'ON_CHANNEL_ARCHIVED';\nexport const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';\nexport const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';\n\nexport const ON_READ_RECEIPT_UPDATED = 'ON_READ_RECEIPT_UPDATED';\nexport const ON_DELIVERY_RECEIPT_UPDATED = 'ON_DELIVERY_RECEIPT_UPDATED';\n\nexport const CHANNEL_REPLACED_TO_TOP = 'CHANNEL_REPLACED_TO_TOP';\n","export default {\n // we might not need this initialized state -> should remove\n initialized: false,\n loading: false,\n allChannels: [],\n currentChannel: null,\n showSettings: false,\n};\n","import * as actions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actions.INIT_CHANNELS_START:\n return {\n ...state,\n loading: true,\n };\n case actions.RESET_CHANNEL_LIST:\n return initialState;\n case actions.INIT_CHANNELS_SUCCESS:\n return {\n ...state,\n initialized: true,\n loading: false,\n allChannels: action.payload,\n currentChannel: (action.payload && action.payload.length && action.payload.length > 0)\n ? action.payload[0].url\n : null,\n };\n case actions.FETCH_CHANNELS_SUCCESS: {\n const currentChannels = state.allChannels.map((c) => c.url);\n const filteredChannels = action.payload.filter(\n ({ url }) => !(currentChannels.find((c) => c === url)),\n );\n return {\n ...state,\n allChannels: [\n ...state.allChannels,\n ...filteredChannels,\n ],\n };\n }\n case actions.CREATE_CHANNEL: {\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter(\n (channel) => channel.url !== action.payload.url,\n )],\n currentChannel: action.payload.url,\n };\n }\n case actions.ON_CHANNEL_ARCHIVED:\n case actions.LEAVE_CHANNEL_SUCCESS:\n case actions.ON_CHANNEL_DELETED: {\n const channelUrl = action.payload;\n const leftCurrentChannel = (state.currentChannel === channelUrl);\n const newAllChannels = state.allChannels.filter(({ url }) => url !== channelUrl);\n const currentChannel = leftCurrentChannel\n ? (() => (\n (newAllChannels.length > 0)\n ? newAllChannels[0].url\n : ''\n ))()\n : state.currentChannel;\n\n return {\n ...state,\n currentChannel,\n allChannels: newAllChannels,\n };\n }\n case actions.ON_USER_LEFT: {\n const { channel, isMe } = action.payload;\n const { url } = channel;\n if (isMe) {\n const leftCurrentChannel = (url === state.currentChannel);\n const newAllChannels = state.allChannels.filter((c) => (c.url !== url));\n const currentChannel = leftCurrentChannel\n ? (() => (\n (newAllChannels.length > 0)\n ? newAllChannels[0].url\n : ''\n ))()\n : state.currentChannel;\n\n return {\n ...state,\n currentChannel,\n allChannels: newAllChannels,\n };\n }\n // other user left\n const newAllChannels = state.allChannels.map((c) => ((c.url === url) ? channel : c));\n return {\n ...state,\n allChannels: newAllChannels,\n };\n }\n case actions.ON_USER_JOINED:\n case actions.ON_CHANNEL_CHANGED:\n case actions.ON_READ_RECEIPT_UPDATED:\n case actions.ON_DELIVERY_RECEIPT_UPDATED: {\n const { allChannels = [] } = state;\n const { unreadMessageCount } = action.payload;\n const channel = action.payload;\n if (!channel.lastMessage) {\n return state;\n }\n // if its only an unread message count change, dont push to top\n if (unreadMessageCount === 0) {\n const currentChannel = allChannels.find(({ url }) => url === channel.url);\n const currentUnReadCount = currentChannel && currentChannel.unreadMessageCount;\n if (currentUnReadCount === 0) {\n return {\n ...state,\n allChannels: allChannels.map((c) => {\n if (c.url === channel.url) {\n return channel;\n }\n return c;\n }),\n };\n }\n }\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter(({ url }) => url !== action.payload.url),\n ],\n };\n }\n case actions.SET_CURRENT_CHANNEL:\n return {\n ...state,\n currentChannel: action.payload,\n };\n case actions.SHOW_CHANNEL_SETTINGS:\n return {\n ...state,\n showSettings: true,\n };\n case actions.HIDE_CHANNEL_SETTINGS:\n return {\n ...state,\n showSettings: false,\n };\n case actions.ON_LAST_MESSAGE_UPDATED:\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => {\n if (channel.url === action.payload.url) {\n return action.payload;\n }\n return channel;\n }),\n };\n case actions.ON_CHANNEL_FROZEN:\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => {\n if (channel.url === action.payload.url) {\n // eslint-disable-next-line no-param-reassign\n channel.isFrozen = true;\n return channel;\n }\n return channel;\n }),\n };\n case actions.ON_CHANNEL_UNFROZEN:\n return {\n ...state,\n allChannels: state.allChannels.map((channel) => {\n if (channel.url === action.payload.url) {\n // eslint-disable-next-line no-param-reassign\n channel.isFrozen = false;\n return channel;\n }\n return channel;\n }),\n };\n case actions.CHANNEL_REPLACED_TO_TOP:\n return {\n ...state,\n allChannels: [\n action.payload,\n ...state.allChannels.filter((channel) => channel.url !== action.payload.url),\n ],\n };\n default:\n return state;\n }\n}\n","import isToday from 'date-fns/isToday';\nimport format from 'date-fns/format';\nimport isYesterday from 'date-fns/isYesterday';\n\nimport { truncate } from '../FileMessage/utils';\nimport { LabelStringSet } from '../Label';\n\nexport const getChannelTitle = (channel = {}, currentUserId, stringSet = LabelStringSet) => {\n if (!channel || (!channel.name && !channel.members)) {\n return stringSet.NO_TITLE;\n }\n if (channel.name && channel.name !== 'Group Channel') {\n return channel.name;\n }\n if (channel.members.length === 1) {\n return stringSet.NO_MEMBERS;\n }\n\n return channel.members\n .filter(({ userId }) => userId !== currentUserId)\n .map(({ nickname }) => (nickname || stringSet.NO_NAME))\n .join(', ');\n};\n\nexport const getLastMessageCreatedAt = (channel) => {\n if (!channel || !channel.lastMessage) {\n return '';\n }\n const date = channel.lastMessage.createdAt;\n if (isToday(date)) {\n return format(date, 'p');\n }\n\n if (isYesterday(date)) {\n return 'Yesterday';\n }\n\n return format(date, 'MMM dd');\n};\n\nexport const getTotalMembers = (channel) => (\n channel && channel.memberCount\n ? channel.memberCount\n : 0\n);\n\nconst getPrettyLastMessage = (message = {}) => {\n const MAXLEN = 30;\n const { messageType, name } = message;\n if (messageType === 'file') {\n return truncate(name, MAXLEN);\n }\n return message.message;\n};\n\nexport const getLastMessage = (channel) => (\n channel && channel.lastMessage\n ? getPrettyLastMessage(channel.lastMessage)\n : ''\n);\n\nexport const getChannelUnreadMessageCount = (channel) => (\n (channel && channel.unreadMessageCount)\n ? channel.unreadMessageCount\n : 0\n);\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport ChannelAvatar from '../ChannelAvatar/index';\nimport Badge from '../Badge';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport * as utils from './utils';\n\nexport default function ChannelPreview({\n channel,\n isActive,\n ChannelAction,\n theme,\n onClick,\n tabIndex,\n currentUser,\n}) {\n const {\n userId,\n } = currentUser;\n const { isBroadcast, isFrozen } = channel;\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n \n \n \n \n
\n
\n {\n isBroadcast\n && (\n
\n \n
\n )\n }\n \n {utils.getChannelTitle(channel, userId, stringSet)}\n \n \n {utils.getTotalMembers(channel)}\n \n {\n isFrozen\n && (\n
\n \n
\n )\n }\n
\n \n {utils.getLastMessageCreatedAt(channel)}\n \n
\n\n
\n \n {utils.getLastMessage(channel)}\n \n
\n {\n utils.getChannelUnreadMessageCount(channel)\n ? \n : null\n }\n
\n
\n \n \n {ChannelAction}\n \n \n );\n}\n\nChannelPreview.propTypes = {\n isActive: PropTypes.bool,\n theme: PropTypes.string,\n channel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n coverUrl: PropTypes.string,\n isBroadcast: PropTypes.bool,\n isFrozen: PropTypes.bool,\n }),\n ChannelAction: PropTypes.element.isRequired,\n onClick: PropTypes.func,\n tabIndex: PropTypes.number,\n currentUser: PropTypes.shape({\n userId: PropTypes.string,\n }),\n};\n\nChannelPreview.defaultProps = {\n channel: {},\n isActive: false,\n theme: 'light',\n onClick: () => { },\n tabIndex: 0,\n currentUser: {},\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport IconButton from '../IconButton';\n\nimport './index.scss';\nimport Avatar from '../Avatar/index';\n\nexport default function ChannelHeader({\n user,\n iconButton,\n onEdit,\n renderHeader,\n allowProfileEdit,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n {\n renderHeader\n ? renderHeader()\n : (\n \n
\n \n
\n
\n \n {user.nickname || stringSet.NO_NAME}\n \n \n {user.userId}\n \n
\n \n )\n }\n
\n {iconButton}\n
\n \n );\n}\n\nChannelHeader.propTypes = {\n user: PropTypes.shape({\n profileUrl: PropTypes.string,\n nickname: PropTypes.string,\n userId: PropTypes.string,\n }),\n renderHeader: PropTypes.func,\n allowProfileEdit: PropTypes.bool,\n onEdit: PropTypes.func.isRequired,\n iconButton: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.instanceOf(IconButton),\n ]),\n};\n\nChannelHeader.defaultProps = {\n user: {},\n renderHeader: null,\n allowProfileEdit: false,\n iconButton: null,\n};\n","import React, {\n ReactElement,\n useRef,\n useState,\n useContext,\n} from 'react';\nimport './index.scss';\n\nimport Modal from '../Modal';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport Input, { InputLabel } from '../Input';\nimport Avatar from '../Avatar';\nimport Icon, { IconTypes } from '../Icon';\nimport { Type as ButtonType } from '../Button/type';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport TextButton from '../TextButton';\nimport { SendbirdTypes } from '../../types';\nimport { noop } from '../../utils/utils';\n\ninterface Props {\n user: SendbirdTypes['User'];\n onCancel(): void;\n onSubmit(newFile: File, newNickname: string): void;\n onThemeChange?(theme: string): void;\n theme?: string;\n changeTheme?(theme: string): void;\n}\n\nexport function EditUserProfile({\n user,\n onCancel,\n onSubmit,\n onThemeChange = null,\n theme = 'light',\n changeTheme = noop,\n}: Props): ReactElement {\n const hiddenInputRef = useRef(null);\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n\n return (\n {\n if (user.nickname !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n onSubmit(inputRef.current.value, newFile);\n onCancel();\n }}\n type={ButtonType.PRIMARY}\n >\n { e.preventDefault(); }}\n >\n
\n \n {stringSet.EDIT_PROFILE__IMAGE_LABEL}\n \n
\n \n
\n {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n hiddenInputRef.current.click()}\n notUnderline\n >\n \n \n
\n
\n \n {stringSet.EDIT_PROFILE__NICKNAME_LABEL}\n \n \n
\n
\n \n {/* userID */}\n {stringSet.EDIT_PROFILE__USERID_LABEL}\n \n \n
\n
\n \n {stringSet.EDIT_PROFILE__THEME_LABEL}\n \n
\n {\n theme === 'dark'\n ? (\n {\n changeTheme('light');\n if (onThemeChange && typeof onThemeChange === 'function') {\n onThemeChange('light');\n }\n }}\n type={IconTypes.TOGGLE_ON}\n width={44}\n height={24}\n />\n )\n : (\n {\n changeTheme('dark');\n if (onThemeChange && typeof onThemeChange === 'function') {\n onThemeChange('dark');\n }\n }}\n type={IconTypes.TOGGLE_OFF}\n width={44}\n height={24}\n />\n )\n }\n
\n
\n \n \n );\n}\n\nconst mapStoreToProps = (store) => {\n return {\n theme: store.config.theme,\n changeTheme: store.config.setCurrenttheme,\n };\n};\n\ninterface ConnectedEditUserProfileProps {\n user: SendbirdTypes['User'];\n onCancel(): void;\n onSubmit(newFile: File, newNickname: string): void;\n onThemeChange?(theme: string): void;\n}\n\nconst ConnectedEditUserProfile: (\n props: ConnectedEditUserProfileProps\n) => React.Component = withSendbirdContext(EditUserProfile, mapStoreToProps);\n\nexport default ConnectedEditUserProfile;\n","import './add-channel.scss';\n\nimport React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport IconButton from '../../../ui/IconButton';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\nimport InviteMembers from '../../InviteMembers';\n\nimport {\n createChannel,\n createDefaultUserListQuery,\n isBroadcastChannelEnabled,\n isSuperGroupChannelEnabled,\n} from './utils';\nimport { CREATE_CHANNEL } from '../dux/actionTypes';\nimport Modal from '../../../ui/Modal';\n\nexport default function AddChannel({\n sdk,\n disabled,\n channelListDispatcher,\n onBeforeCreateChannel,\n userId,\n userFilledApplicationUserListQuery,\n userListQuery,\n}) {\n const [showModal, setShowModal] = useState(false);\n const [step, setStep] = useState(0);\n const [type, setType] = useState('group');\n const { stringSet } = useContext(LocalizationContext);\n\n if (!sdk || !sdk.createApplicationUserListQuery) {\n return null;\n }\n\n const isBroadcastAvailable = isBroadcastChannelEnabled(sdk);\n const isSupergroupAvailable = isSuperGroupChannelEnabled(sdk);\n\n return (\n <>\n {\n setShowModal(true);\n }}\n disabled={disabled}\n >\n \n \n {\n showModal && step === 0 && (\n { setShowModal(false); }}\n onSubmit={() => {}}\n >\n
\n {\n setType('group');\n setStep(1);\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n setType('group');\n setStep(1);\n }}\n >\n \n \n
\n {\n isSupergroupAvailable && (\n {\n setType('supergroup');\n setStep(1);\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n setType('supergroup');\n setStep(1);\n }}\n >\n \n \n \n )\n }\n {\n isBroadcastAvailable && (\n {\n setType('broadcast');\n setStep(1);\n }}\n role=\"button\"\n tabIndex={0}\n onKeyDown={() => {\n setType('broadcast');\n setStep(1);\n }}\n >\n \n \n \n )\n }\n \n \n )\n }\n {\n showModal && step === 1 && (\n {\n setStep(0);\n setShowModal(false);\n }}\n idsToFilter={[userId]}\n userQueryCreator={() => ((userListQuery && typeof userListQuery === 'function')\n ? userListQuery()\n : createDefaultUserListQuery({ sdk, userFilledApplicationUserListQuery })\n )}\n onSubmit={(selectedUsers) => createChannel(\n sdk,\n selectedUsers,\n onBeforeCreateChannel,\n userId,\n type,\n ).then((channel) => {\n // maybe - do this in event listener\n channelListDispatcher({\n type: CREATE_CHANNEL,\n payload: channel,\n });\n })}\n />\n )\n }\n \n );\n}\n\nAddChannel.propTypes = {\n sdk: PropTypes.shape({\n getErrorFirstCallback: PropTypes.func,\n createApplicationUserListQuery: PropTypes.func,\n }).isRequired,\n disabled: PropTypes.bool,\n channelListDispatcher: PropTypes.func.isRequired,\n userFilledApplicationUserListQuery: PropTypes.shape({}),\n onBeforeCreateChannel: PropTypes.func,\n userId: PropTypes.string.isRequired,\n userListQuery: PropTypes.func,\n};\n\nAddChannel.defaultProps = {\n disabled: false,\n userFilledApplicationUserListQuery: {},\n onBeforeCreateChannel: null,\n userListQuery: null,\n};\n","import React, {\n useState,\n useRef,\n useContext,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../ui/ContextMenu';\nimport IconButton from '../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\nimport LeaveChannelModal from '../../ChannelSettings/components/LeaveChannel';\n\nexport default function ChannelPreviewAction({ disabled, onLeaveChannel }) {\n const parentRef = useRef(null);\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n { e.stopPropagation(); }}\n tabIndex={0}\n onClick={(e) => { e.stopPropagation(); }}\n >\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n if (disabled) { return; }\n setShowModal(true);\n closeDropdown();\n }}\n >\n {stringSet.CHANNEL_SETTING__LEAVE_CHANNEL__TITLE}\n \n \n )}\n />\n {\n showModal && (\n setShowModal(false)}\n onLeaveChannel={onLeaveChannel}\n />\n )\n }\n \n );\n}\n\nChannelPreviewAction.propTypes = {\n disabled: PropTypes.bool,\n onLeaveChannel: PropTypes.func.isRequired,\n};\n\nChannelPreviewAction.defaultProps = {\n disabled: false,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Placeholder from '../../../ui/PlaceHolder';\n\nexport default function ChannelsPlaceholder({\n type,\n}) {\n return (\n
\n \n
\n );\n}\n\nChannelsPlaceholder.propTypes = {\n type: PropTypes.string.isRequired,\n};\n","import * as channelActions from './dux/actionTypes';\nimport * as topics from '../../lib/pubSub/topics';\n\nconst createEventHandler = ({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n logger,\n}) => {\n const ChannelHandler = new sdk.ChannelHandler();\n\n ChannelHandler.onChannelChanged = (channel) => {\n logger.info('ChannelList: onChannelChanged', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_CHANGED,\n payload: channel,\n });\n };\n ChannelHandler.onChannelDeleted = (channelUrl) => {\n logger.info('ChannelList: onChannelDeleted', channelUrl);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_DELETED,\n payload: channelUrl,\n });\n };\n ChannelHandler.onUserJoined = (channel) => {\n logger.info('ChannelList: onUserJoined', channel);\n if (channel.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_USER_JOINED,\n payload: channel,\n });\n }\n };\n ChannelHandler.onUserBanned = (channel, user) => {\n const { currentUser } = sdk;\n logger.info('Channel | useHandleChannelEvents: onUserBanned', channel);\n if (user.userId === currentUser.userId) {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: true,\n },\n });\n } else {\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe: false,\n },\n });\n }\n };\n ChannelHandler.onUserLeft = (channel, leftUser) => {\n const { currentUser } = sdk;\n const isMe = (currentUser.userId === leftUser.userId);\n logger.info('ChannelList: onUserLeft', channel);\n channelListDispatcher({\n type: channelActions.ON_USER_LEFT,\n payload: {\n channel,\n isMe,\n },\n });\n };\n\n ChannelHandler.onReadStatus = (channel) => {\n logger.info('ChannelList: onReadStatus', channel);\n channelListDispatcher({\n type: channelActions.ON_READ_RECEIPT_UPDATED,\n payload: channel,\n });\n };\n\n ChannelHandler.onDeliveryReceiptUpdated = (channel) => {\n logger.info('ChannelList: onDeliveryReceiptUpdated', channel);\n if (channel.lastMessage) {\n channelListDispatcher({\n type: channelActions.ON_DELIVERY_RECEIPT_UPDATED,\n payload: channel,\n });\n }\n };\n\n ChannelHandler.onMessageUpdated = (channel, message) => {\n if (channel.lastMessage.isEqual(message)) {\n logger.info('ChannelList: onMessageUpdated', channel);\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: channel,\n });\n }\n };\n\n ChannelHandler.onChannelHidden = (channel) => {\n logger.info('ChannelList: onChannelHidden', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_ARCHIVED,\n payload: channel.url,\n });\n };\n\n ChannelHandler.onChannelFrozen = (channel) => {\n logger.info('ChannelList: onChannelFrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n };\n\n ChannelHandler.onChannelUnfrozen = (channel) => {\n logger.info('ChannelList: onChannelUnfrozen', channel);\n channelListDispatcher({\n type: channelActions.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n };\n\n logger.info('ChannelList: Added channelHandler');\n sdk.addChannelHandler(sdkChannelHandlerId, ChannelHandler);\n};\n\nconst createApplicationUserListQuery = ({ sdk, userFilledChannelListQuery = {} }) => {\n const channelListQuery = sdk.GroupChannel.createMyGroupChannelListQuery();\n channelListQuery.includeEmpty = false;\n channelListQuery.order = 'latest_last_message'; // 'chronological', 'latest_last_message', 'channel_name_alphabetical', and 'metadata_value_alphabetical'\n channelListQuery.limit = 20; // The value of pagination limit could be set up to 100.\n\n if (userFilledChannelListQuery) {\n Object.keys(userFilledChannelListQuery).forEach((key) => {\n channelListQuery[key] = userFilledChannelListQuery[key];\n });\n }\n\n return channelListQuery;\n};\n\n/**\n * Setup event listener\n * create channel source query\n * addloading screen\n */\nfunction setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n}) {\n createEventHandler({\n sdk,\n channelListDispatcher,\n sdkChannelHandlerId,\n logger,\n });\n\n logger.info('ChannelList - creating query', { userFilledChannelListQuery });\n const channelListQuery = createApplicationUserListQuery({ sdk, userFilledChannelListQuery });\n logger.info('ChannelList - created query', channelListQuery);\n\n setChannelSource(channelListQuery);\n\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_START,\n });\n\n logger.info('ChannelList - fetching channels');\n if (channelListQuery.hasNext) {\n channelListQuery.next((response, error) => {\n const swapParams = sdk.getErrorFirstCallback();\n let channelList = response;\n let err = error;\n if (swapParams) {\n channelList = error;\n err = response;\n }\n logger.info('ChannelList - fetched channels', channelList);\n if (err) {\n logger.error('ChannelList - couldnt fetch channels', err);\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_FAILURE,\n });\n return;\n }\n // select first channel\n logger.info('ChannelList - highlight channel', channelList[0]);\n let sorted = channelList;\n if (sortChannelList && typeof sortChannelList === 'function') {\n sorted = sortChannelList(channelList);\n logger.info('ChannelList - channel list sorted', sorted);\n }\n onChannelSelect(sorted[0]);\n channelListDispatcher({\n type: channelActions.INIT_CHANNELS_SUCCESS,\n payload: sorted,\n });\n if (channelList && typeof channelList.forEach === 'function') {\n logger.info('ChannelList - mark all channels as delivered');\n channelList.forEach((c) => c.markAsDelivered());\n }\n });\n } else {\n logger.warning('ChannelList - there are no more channels');\n }\n}\n\nexport const pubSubHandleRemover = (subscriber) => {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n};\n\nexport const pubSubHandler = (pubSub, channelListDispatcher) => {\n const subScriber = new Map();\n if (!pubSub) return subScriber;\n subScriber.set(topics.CREATE_CHANNEL, pubSub.subscribe(topics.CREATE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: 'CREATE_CHANNEL',\n payload: channel,\n });\n }));\n\n subScriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n const updatedChannel = channel;\n updatedChannel.lastMessage = message;\n if (channel) {\n channelListDispatcher({\n type: channelActions.ON_LAST_MESSAGE_UPDATED,\n payload: updatedChannel,\n });\n }\n }));\n\n subScriber.set(topics.LEAVE_CHANNEL, pubSub.subscribe(topics.LEAVE_CHANNEL, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel.url,\n });\n }));\n\n subScriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel } = msg;\n channelListDispatcher({\n type: channelActions.CHANNEL_REPLACED_TO_TOP,\n payload: channel,\n });\n }));\n\n return subScriber;\n};\n\nexport default setupChannelList;\n","import React, { useEffect, useState, useReducer } from 'react';\nimport PropTypes from 'prop-types';\n\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport * as userActions from '../../lib/dux/user/actionTypes';\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\n\nimport * as channelListActions from './dux/actionTypes';\nimport channelListInitialState from './dux/initialState';\nimport channelListReducers from './dux/reducers';\n\nimport ChannelPreview from '../../ui/ChannelPreview';\nimport ChannelHeader from '../../ui/ChannelHeader';\nimport EditUserProfile from '../../ui/EditUserProfile';\nimport PlaceholderTypes from '../../ui/PlaceHolder/type';\n\nimport AddChannel from './components/AddChannel';\nimport ChannelPreviewAction from './components/ChannelPreviewAction';\nimport PlaceHolder from './components/Placeholder';\n\nimport setupChannelList, {\n pubSubHandler,\n pubSubHandleRemover,\n} from './utils';\nimport { uuidv4 } from '../../utils/uuid';\n\nimport './index.scss';\n\nconst noop = () => { };\n\nfunction ChannelList(props) {\n const {\n stores: { sdkStore = {}, userStore = {} },\n config: {\n userId,\n isOnline,\n userListQuery,\n logger,\n pubSub,\n theme,\n },\n dispatchers: {\n userDispatcher,\n },\n queries = {},\n renderChannelPreview,\n renderHeader,\n renderUserProfile,\n disableUserProfile,\n allowProfileEdit,\n sortChannelList,\n onProfileEditSuccess,\n onThemeChange,\n onBeforeCreateChannel,\n onChannelSelect,\n } = props;\n const { config = {} } = props;\n // enable if it is true atleast once(both are flase by default)\n const enableEditProfile = allowProfileEdit || config.allowProfileEdit;\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n const { sdk = {} } = sdkStore;\n const userFilledChannelListQuery = queries.channelListQuery;\n const userFilledApplicationUserListQuery = queries.applicationUserListQuery;\n\n const sdkError = sdkStore.error;\n\n const [user, setUser] = useState({});\n\n useEffect(() => {\n setUser(userStore.user);\n }, [userStore.user]);\n\n\n const sdkIntialized = sdkStore.initialized;\n const [channelListStore, channelListDispatcher] = useReducer(\n channelListReducers,\n channelListInitialState,\n );\n const [channelSource, setChannelSource] = useState({});\n const [sdkChannelHandlerId, setSdkChannelHandlerId] = useState(null);\n const [showProfileEdit, setShowProfileEdit] = useState(false);\n\n const { loading, currentChannel } = channelListStore;\n\n useEffect(() => {\n const subscriber = pubSubHandler(pubSub, channelListDispatcher);\n return () => {\n pubSubHandleRemover(subscriber);\n };\n }, [sdkIntialized]);\n\n useEffect(() => {\n setSdkChannelHandlerId(uuidv4);\n if (sdkIntialized) {\n logger.info('ChannelList: Setup channelHandlers');\n setupChannelList({\n sdk,\n sdkChannelHandlerId,\n channelListDispatcher,\n setChannelSource,\n onChannelSelect,\n userFilledChannelListQuery,\n logger,\n sortChannelList,\n });\n } else {\n logger.info('ChannelList: Removing channelHandlers');\n // remove previous channelHandlers\n if (sdk && sdk.removeChannelHandler) {\n sdk.removeChannelHandler(sdkChannelHandlerId);\n }\n // remove channelSource\n setChannelSource({});\n // cleanup\n channelListDispatcher({\n type: channelListActions.RESET_CHANNEL_LIST,\n });\n }\n return () => {\n logger.info('ChannelList: Removing channelHandlers');\n if (sdk && sdk.removeChannelHandler) {\n sdk.removeChannelHandler(sdkChannelHandlerId);\n }\n };\n }, [sdkIntialized, userFilledChannelListQuery, sortChannelList]);\n\n const { allChannels } = channelListStore;\n const sortedChannels = (sortChannelList && typeof sortChannelList === 'function')\n ? sortChannelList(allChannels)\n : allChannels;\n\n if (sortedChannels.length !== allChannels.length) {\n const warning = `ChannelList: You have removed/added extra channels on sortChannelList\n this could cause unexpected problems`;\n // eslint-disable-next-line no-console\n console.warn(warning, { before: allChannels, after: sortedChannels });\n logger.warning(warning, { before: allChannels, after: sortedChannels });\n }\n\n useEffect(() => {\n if (!sdk || !sdk.GroupChannel) { return; }\n sdk.GroupChannel.getChannel(currentChannel, (groupChannel) => {\n if (groupChannel) {\n onChannelSelect(groupChannel);\n } else {\n onChannelSelect(null);\n }\n });\n }, [currentChannel]);\n\n return (\n \n
\n {\n if (enableEditProfile) {\n setShowProfileEdit(true);\n }\n }}\n allowProfileEdit={enableEditProfile}\n iconButton={(\n \n )}\n />\n
\n {\n showProfileEdit && (\n { setShowProfileEdit(false); }}\n onSubmit={(newName, newFile) => {\n sdk.updateCurrentUserInfoWithProfileImage(newName, newFile, (updatedUser) => {\n userDispatcher({ type: userActions.UPDATE_USER_INFO, payload: updatedUser });\n if (onProfileEditSuccess && typeof onProfileEditSuccess === 'function') {\n onProfileEditSuccess(updatedUser);\n }\n });\n }}\n />\n )\n }\n {\n const fetchMore = e.target.clientHeight + e.target.scrollTop === e.target.scrollHeight;\n if (fetchMore && channelSource.hasNext) {\n logger.info('ChannelList: Fetching more channels');\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_START,\n });\n channelSource.next((response, error) => {\n const swapParams = sdk.getErrorFirstCallback();\n let channelList = response;\n let err = error;\n if (swapParams) {\n channelList = error;\n err = response;\n }\n if (err) {\n logger.info('ChannelList: Fetching channels failed', err);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_FAILURE,\n payload: channelList,\n });\n return;\n }\n logger.info('ChannelList: Fetching channels successful', channelList);\n channelListDispatcher({\n type: channelListActions.FETCH_CHANNELS_SUCCESS,\n payload: channelList,\n });\n if (channelList && typeof channelList.forEach === 'function') {\n logger.info('ChannelList: Marking all channels as read');\n channelList.forEach((c) => c.markAsDelivered());\n }\n });\n }\n }}\n >\n {\n (sdkError) && (\n \n )\n }\n {/*\n To do: Implement windowing\n Implement windowing if you are dealing with large number of messages/channels\n https://github.com/bvaughn/react-window -> recommendation\n We hesitate to bring one more dependency to our library,\n we are planning to implement it inside the library\n */}\n
\n {\n sortedChannels && sortedChannels.map((channel, idx) => {\n const onLeaveChannel = (c, cb) => {\n logger.info('ChannelList: Leaving channel', c);\n c.leave()\n .then((res) => {\n logger.info('ChannelList: Leaving channel success', res);\n if (cb && typeof cb === 'function') {\n cb(res, null);\n }\n channelListDispatcher({\n type: channelListActions.LEAVE_CHANNEL_SUCCESS,\n payload: channel.url,\n });\n })\n .catch((err) => {\n logger.error('ChannelList: Leaving channel failed', err);\n if (cb && typeof cb === 'function') {\n cb(null, err);\n }\n });\n };\n\n const onClick = () => {\n if (!isOnline) { return; }\n logger.info('ChannelList: Clicked on channel:', channel);\n channelListDispatcher({\n type: channelListActions.SET_CURRENT_CHANNEL,\n payload: channel.url,\n });\n };\n\n return (\n (renderChannelPreview)\n ? (\n // eslint-disable-next-line\n
\n {renderChannelPreview({ channel, onLeaveChannel })}\n
\n )\n : (\n onLeaveChannel(channel)}\n />\n )}\n />\n )\n );\n })\n }\n
\n {\n (!sdkIntialized || loading) && (\n \n )\n }\n {\n // placeholder\n (!allChannels || allChannels.length === 0) && (\n \n )\n }\n \n \n );\n}\n\nChannelList.propTypes = {\n stores: PropTypes.shape({\n sdkStore: PropTypes.shape({\n initialized: PropTypes.bool,\n }),\n userStore: PropTypes.shape({\n user: PropTypes.shape({}),\n }),\n }).isRequired,\n dispatchers: PropTypes.shape({\n userDispatcher: PropTypes.func,\n }).isRequired,\n config: PropTypes.shape({\n userId: PropTypes.string.isRequired,\n userListQuery: PropTypes.func,\n theme: PropTypes.string,\n isOnline: PropTypes.bool,\n logger: PropTypes.shape({\n info: PropTypes.func,\n error: PropTypes.func,\n warning: PropTypes.func,\n }),\n pubSub: PropTypes.shape({\n subscribe: PropTypes.func,\n publish: PropTypes.func,\n }),\n }).isRequired,\n queries: PropTypes.shape({\n channelListQuery: PropTypes.shape({\n channelNameContainsFilter: PropTypes.string,\n channelUrlsFilter: PropTypes.arrayOf(PropTypes.string),\n customTypesFilter: PropTypes.arrayOf(PropTypes.string),\n customTypeStartsWithFilter: PropTypes.string,\n hiddenChannelFilter: PropTypes.string,\n includeEmpty: PropTypes.bool,\n limit: PropTypes.number,\n memberStateFilter: PropTypes.string,\n metadataOrderKeyFilter: PropTypes.string,\n nicknameContainsFilter: PropTypes.string,\n order: PropTypes.string,\n publicChannelFilter: PropTypes.string,\n superChannelFilter: PropTypes.string,\n unreadChannelFilter: PropTypes.string,\n userIdsExactFilter: PropTypes.arrayOf(PropTypes.string),\n userIdsIncludeFilter: PropTypes.arrayOf(PropTypes.string),\n userIdsIncludeFilterQueryType: PropTypes.string,\n }),\n applicationUserListQuery: PropTypes.shape({\n limit: PropTypes.number,\n userIdsFilter: PropTypes.arrayOf(PropTypes.string),\n metaDataKeyFilter: PropTypes.string,\n metaDataValuesFilter: PropTypes.arrayOf(PropTypes.string),\n }),\n }),\n onBeforeCreateChannel: PropTypes.func,\n renderChannelPreview: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n allowProfileEdit: PropTypes.bool,\n sortChannelList: PropTypes.func,\n onThemeChange: PropTypes.func,\n onProfileEditSuccess: PropTypes.func,\n renderHeader: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n onChannelSelect: PropTypes.func,\n};\n\nChannelList.defaultProps = {\n onBeforeCreateChannel: null,\n renderChannelPreview: null,\n renderHeader: null,\n disableUserProfile: false,\n renderUserProfile: null,\n allowProfileEdit: false,\n onThemeChange: null,\n sortChannelList: null,\n onProfileEditSuccess: null,\n queries: {},\n onChannelSelect: noop,\n};\n\nexport default withSendbirdContext(ChannelList);\n"],"names":["RESET_CHANNEL_LIST","CREATE_CHANNEL","LEAVE_CHANNEL_SUCCESS","SET_CURRENT_CHANNEL","SHOW_CHANNEL_SETTINGS","HIDE_CHANNEL_SETTINGS","FETCH_CHANNELS_START","FETCH_CHANNELS_SUCCESS","FETCH_CHANNELS_FAILURE","INIT_CHANNELS_START","INIT_CHANNELS_SUCCESS","INIT_CHANNELS_FAILURE","ON_USER_JOINED","ON_CHANNEL_DELETED","ON_LAST_MESSAGE_UPDATED","ON_USER_LEFT","ON_CHANNEL_CHANGED","ON_CHANNEL_ARCHIVED","ON_CHANNEL_FROZEN","ON_CHANNEL_UNFROZEN","ON_READ_RECEIPT_UPDATED","ON_DELIVERY_RECEIPT_UPDATED","CHANNEL_REPLACED_TO_TOP","initialized","loading","allChannels","currentChannel","showSettings","reducer","state","action","type","actions","initialState","payload","length","url","currentChannels","map","c","filteredChannels","filter","find","channel","channelUrl","leftCurrentChannel","newAllChannels","isMe","unreadMessageCount","lastMessage","currentUnReadCount","isFrozen","getChannelTitle","currentUserId","stringSet","LabelStringSet","name","members","NO_TITLE","NO_MEMBERS","userId","nickname","NO_NAME","join","getLastMessageCreatedAt","date","createdAt","isToday","format","isYesterday","getTotalMembers","memberCount","getPrettyLastMessage","message","MAXLEN","messageType","truncate","getLastMessage","getChannelUnreadMessageCount","ChannelPreview","isActive","ChannelAction","theme","onClick","tabIndex","currentUser","isBroadcast","useContext","LocalizationContext","React","ChannelAvatar","Icon","IconTypes","BROADCAST","IconColors","SECONDARY","Label","LabelTypography","SUBTITLE_2","LabelColors","ONBACKGROUND_1","utils","CAPTION_2","ONBACKGROUND_2","FREEZE","PRIMARY","CAPTION_3","BODY_2","ONBACKGROUND_3","Badge","propTypes","PropTypes","bool","string","shape","arrayOf","coverUrl","element","isRequired","func","number","defaultProps","ChannelHeader","user","iconButton","onEdit","renderHeader","allowProfileEdit","Avatar","profileUrl","oneOfType","instanceOf","IconButton","EditUserProfile","_a","onCancel","onSubmit","_b","onThemeChange","_c","_d","changeTheme","noop","hiddenInputRef","useRef","inputRef","formRef","_e","useState","currentImg","setCurrentImg","_f","newFile","setNewFile","Modal","EDIT_PROFILE__TITLE","BUTTON__SAVE","current","value","reportValidity","ButtonType","e","preventDefault","InputLabel","EDIT_PROFILE__IMAGE_LABEL","display","URL","createObjectURL","target","files","TextButton","click","BUTTON_1","EDIT_PROFILE__IMAGE_UPLOAD","EDIT_PROFILE__NICKNAME_LABEL","Input","EDIT_PROFILE__NICKNAME_PLACEHOLDER","EDIT_PROFILE__USERID_LABEL","EDIT_PROFILE__THEME_LABEL","TOGGLE_ON","TOGGLE_OFF","mapStoreToProps","store","config","setCurrenttheme","ConnectedEditUserProfile","withSendbirdContext","AddChannel","sdk","disabled","channelListDispatcher","onBeforeCreateChannel","userFilledApplicationUserListQuery","userListQuery","showModal","setShowModal","step","setStep","setType","createApplicationUserListQuery","isBroadcastAvailable","isBroadcastChannelEnabled","isSupergroupAvailable","isSuperGroupChannelEnabled","CREATE","CHAT","SUBTITLE_1","SUPERGROUP","InviteMembers","getErrorFirstCallback","MODAL__CREATE_CHANNEL__TITLE","BUTTON__CREATE","createDefaultUserListQuery","selectedUsers","createChannel","then","ChannelPreviewAction","onLeaveChannel","parentRef","stopPropagation","ContextMenu","toggleDropdown","MORE","closeDropdown","MenuItems","MenuItem","CHANNEL_SETTING__LEAVE_CHANNEL__TITLE","LeaveChannelModal","ChannelsPlaceholder","Placeholder","createEventHandler","sdkChannelHandlerId","logger","ChannelHandler","onChannelChanged","info","channelActions","onChannelDeleted","onUserJoined","onUserBanned","onUserLeft","leftUser","onReadStatus","onDeliveryReceiptUpdated","onMessageUpdated","isEqual","onChannelHidden","onChannelFrozen","onChannelUnfrozen","addChannelHandler","userFilledChannelListQuery","channelListQuery","GroupChannel","createMyGroupChannelListQuery","includeEmpty","order","limit","Object","keys","forEach","key","setupChannelList","setChannelSource","onChannelSelect","sortChannelList","hasNext","next","response","error","swapParams","channelList","err","sorted","markAsDelivered","warning","pubSubHandleRemover","subscriber","s","remove","pubSubHandler","pubSub","subScriber","Map","set","topics","subscribe","msg","updatedChannel","ChannelList","props","stores","sdkStore","userStore","isOnline","userDispatcher","dispatchers","queries","renderChannelPreview","renderUserProfile","disableUserProfile","onProfileEditSuccess","enableEditProfile","userDefinedDisableUserProfile","userDefinedRenderProfile","applicationUserListQuery","sdkError","setUser","useEffect","sdkIntialized","useReducer","channelListReducers","channelListInitialState","channelListStore","channelSource","setSdkChannelHandlerId","showProfileEdit","setShowProfileEdit","uuidv4","removeChannelHandler","channelListActions","sortedChannels","console","warn","before","after","getChannel","groupChannel","UserProfileProvider","newName","updateCurrentUserInfoWithProfileImage","updatedUser","userActions","fetchMore","clientHeight","scrollTop","scrollHeight","PlaceHolder","PlaceholderTypes","WRONG","idx","cb","leave","res","catch","LOADING","NO_CHANNELS","publish","channelNameContainsFilter","channelUrlsFilter","customTypesFilter","customTypeStartsWithFilter","hiddenChannelFilter","memberStateFilter","metadataOrderKeyFilter","nicknameContainsFilter","publicChannelFilter","superChannelFilter","unreadChannelFilter","userIdsExactFilter","userIdsIncludeFilter","userIdsIncludeFilterQueryType","userIdsFilter","metaDataKeyFilter","metaDataValuesFilter"],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/ChannelSettings.js b/dist/cjs/ChannelSettings.js index 3a66d09..ff94805 100644 --- a/dist/cjs/ChannelSettings.js +++ b/dist/cjs/ChannelSettings.js @@ -2,18 +2,18 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } -var LocalizationContext = require('./LocalizationContext-9665649b.js'); +var LocalizationContext = require('./LocalizationContext-12a9343d.js'); var React = require('react'); var React__default = _interopDefault(React); var PropTypes = _interopDefault(require('prop-types')); -var index$1 = require('./index-dfc2e550.js'); +var index = require('./index-2a2230b8.js'); +var index$1 = require('./index-9431d920.js'); var utils = require('./utils-6aedec02.js'); -var index$1$1 = require('./index-16cd2d77.js'); -var LeaveChannel = require('./LeaveChannel-2b4f1405.js'); +var LeaveChannel = require('./LeaveChannel-c93b4597.js'); require('date-fns/format'); require('react-dom'); -var index$2 = require('./index-005b875b.js'); -var index$3 = require('./index-fd689e05.js'); +var index$2 = require('./index-a8367321.js'); +var index$3 = require('./index-ccc7b14d.js'); var EditDetails = function EditDetails(props) { var _onSubmit = props.onSubmit, @@ -39,7 +39,7 @@ var EditDetails = function EditDetails(props) { stringSet = _useContext.stringSet; var title = channel.name; - return React__default.createElement(index$1.Modal, { + return React__default.createElement(index.Modal, { titleText: stringSet.MODAL__CHANNEL_INFORMATION__TITLE, submitText: stringSet.BUTTON__SAVE, onCancel: onCancel, @@ -57,7 +57,7 @@ var EditDetails = function EditDetails(props) { onCancel(); }, - type: index$1.Type.PRIMARY + type: index.Type.PRIMARY }, React__default.createElement("form", { className: "channel-profile-form", ref: formRef, @@ -68,11 +68,11 @@ var EditDetails = function EditDetails(props) { className: "channel-profile-form__img-section" }, React__default.createElement(index$2.InputLabel, null, stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE), React__default.createElement("div", { className: "channel-profile-form__avatar" - }, currentImg ? React__default.createElement(index$1.Avatar, { + }, currentImg ? React__default.createElement(index.Avatar, { height: "80px", width: "80px", src: currentImg - }) : React__default.createElement(index$1$1.ChannelAvatar, { + }) : React__default.createElement(index$1.ChannelAvatar, { height: 80, width: 80, channel: channel, @@ -90,15 +90,15 @@ var EditDetails = function EditDetails(props) { setNewFile(e.target.files[0]); hiddenInputRef.current.value = ''; } - }), React__default.createElement(index$1.TextButton, { + }), React__default.createElement(index.TextButton, { className: "channel-profile-form__avatar-button", onClick: function onClick() { return hiddenInputRef.current.click(); }, notUnderline: true - }, React__default.createElement(index$1.Label, { - type: index$1.LabelTypography.BUTTON_1, - color: index$1.LabelColors.PRIMARY + }, React__default.createElement(index.Label, { + type: index.LabelTypography.BUTTON_1, + color: index.LabelColors.PRIMARY }, stringSet.MODAL__CHANNEL_INFORMATION__UPLOAD))), React__default.createElement("div", { className: "channel-profile-form__name-section" }, React__default.createElement(index$2.InputLabel, null, stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_NAME), React__default.createElement(index$2.Input, { @@ -142,15 +142,17 @@ var ChannelProfile = function ChannelProfile(props) { className: "sendbird-channel-profile--inner" }, React__default.createElement("div", { className: "sendbird-channel-profile__avatar" - }, React__default.createElement(index$1$1.ChannelAvatar, { + }, React__default.createElement(index$1.ChannelAvatar, { channel: channel, userId: userId, - theme: theme - })), React__default.createElement(index$1.Label, { - type: index$1.LabelTypography.SUBTITLE_2, - color: index$1.LabelColors.ONBACKGROUND_1, + theme: theme, + width: 80, + height: 80 + })), React__default.createElement(index.Label, { + type: index.LabelTypography.SUBTITLE_2, + color: index.LabelColors.ONBACKGROUND_1, className: "sendbird-channel-profile__title" - }, title), React__default.createElement(index$1.TextButton, { + }, title), React__default.createElement(index.TextButton, { disabled: disabled, className: "sendbird-channel-profile__edit", onClick: function onClick() { @@ -161,9 +163,9 @@ var ChannelProfile = function ChannelProfile(props) { setShowModal(true); }, notUnderline: true - }, React__default.createElement(index$1.Label, { - type: index$1.LabelTypography.BUTTON_1, - color: disabled ? index$1.LabelColors.ONBACKGROUND_2 : index$1.LabelColors.PRIMARY + }, React__default.createElement(index.Label, { + type: index.LabelTypography.BUTTON_1, + color: disabled ? index.LabelColors.ONBACKGROUND_2 : index.LabelColors.PRIMARY }, stringSet.CHANNEL_SETTING__PROFILE__EDIT)), showModal && React__default.createElement(EditDetails, { onCancel: function onCancel() { return setShowModal(false); @@ -215,7 +217,7 @@ function MembersModal(_a) { }); setMemberQuery(memberListQuery); }, []); - return React__default.createElement("div", null, React__default.createElement(index$1.Modal, { + return React__default.createElement("div", null, React__default.createElement(index.Modal, { hideFooter: true, onCancel: function onCancel() { return hideModal(); @@ -247,28 +249,28 @@ function MembersModal(_a) { action: function action(_a) { var parentRef = _a.parentRef, actionRef = _a.actionRef; - return React__default.createElement(React__default.Fragment, null, channel.myRole === 'operator' && React__default.createElement(index$1.ContextMenu, { + return React__default.createElement(React__default.Fragment, null, channel.myRole === 'operator' && React__default.createElement(index.ContextMenu, { menuTrigger: function menuTrigger(toggleDropdown) { - return React__default.createElement(index$1.IconButton, { + return React__default.createElement(index.IconButton, { className: "sendbird-user-message__more__menu", width: "32px", height: "32px", onClick: toggleDropdown - }, React__default.createElement(index$1.Icon, { + }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index$1.IconTypes.MORE, - fillColor: index$1.IconColors.CONTENT_INVERSE + type: index.IconTypes.MORE, + fillColor: index.IconColors.CONTENT_INVERSE })); }, menuItems: function menuItems(closeDropdown) { - return React__default.createElement(index$1.MenuItems, { + return React__default.createElement(index.MenuItems, { parentContainRef: parentRef, parentRef: actionRef // for catching location(x, y) of MenuItems , closeDropdown: closeDropdown, openLeft: true - }, React__default.createElement(index$1.MenuItem, { + }, React__default.createElement(index.MenuItem, { onClick: function onClick() { if (member.role !== 'operator') { channel.addOperators([member.userId], function () { @@ -299,7 +301,7 @@ function MembersModal(_a) { } } }, member.role !== 'operator' ? 'Promote to operator' : 'Demote operator'), // No muted members in broadcast channel - !channel.isBroadcast && React__default.createElement(index$1.MenuItem, { + !channel.isBroadcast && React__default.createElement(index.MenuItem, { onClick: function onClick() { if (member.isMuted) { channel.unmuteUser(member, function () { @@ -329,7 +331,7 @@ function MembersModal(_a) { }); } } - }, member.isMuted ? 'Unmute' : 'Mute'), React__default.createElement(index$1.MenuItem, { + }, member.isMuted ? 'Unmute' : 'Mute'), React__default.createElement(index.MenuItem, { onClick: function onClick() { channel.banUser(member, -1, '', function () { setMembers(members.filter(function (_a) { @@ -355,7 +357,7 @@ var UserListItem = function UserListItem(_ref) { currentUser = _ref$currentUser === void 0 ? '' : _ref$currentUser; var avatarRef = React.useRef(null); - var _useContext = React.useContext(index$1.UserProfileContext), + var _useContext = React.useContext(index.UserProfileContext), disableUserProfile = _useContext.disableUserProfile, renderUserProfile = _useContext.renderUserProfile; @@ -366,9 +368,9 @@ var UserListItem = function UserListItem(_ref) { className: "sendbird-members-accordion__member" }, React__default.createElement("div", { className: "sendbird-members-accordion__member-avatar" - }, React__default.createElement(index$1.ContextMenu, { + }, React__default.createElement(index.ContextMenu, { menuTrigger: function menuTrigger(toggleDropdown) { - return React__default.createElement(index$1.Avatar, { + return React__default.createElement(index.Avatar, { onClick: function onClick() { if (!disableUserProfile) { toggleDropdown(); @@ -381,7 +383,7 @@ var UserListItem = function UserListItem(_ref) { }); }, menuItems: function menuItems(closeDropdown) { - return React__default.createElement(index$1.MenuItems, { + return React__default.createElement(index.MenuItems, { openLeft: true, parentRef: avatarRef // for catching location(x, y) of MenuItems , @@ -396,15 +398,15 @@ var UserListItem = function UserListItem(_ref) { user: member, currentUserId: currentUser, close: closeDropdown - }) : React__default.createElement(index$1.UserProfile, { + }) : React__default.createElement(index.UserProfile, { user: member, currentUserId: currentUser, onSuccess: closeDropdown })); } - })), React__default.createElement(index$1.Label, { - type: index$1.LabelTypography.SUBTITLE_2, - color: index$1.LabelColors.ONBACKGROUND_1 + })), React__default.createElement(index.Label, { + type: index.LabelTypography.SUBTITLE_2, + color: index.LabelColors.ONBACKGROUND_1 }, member.nickname || stringSet.NO_NAME, currentUser === member.userId && stringSet.YOU)); }; @@ -451,10 +453,10 @@ var MemebersAccordion = function MemebersAccordion(_ref2) { }); })), React__default.createElement("div", { className: "sendbird-members-accordion__footer" - }, members.length >= SHOWN_MEMBER_MAX && React__default.createElement(index$1.Button, { + }, members.length >= SHOWN_MEMBER_MAX && React__default.createElement(index.Button, { className: "sendbird-members-accordion__footer__all-members", - type: index$1.Type.SECONDARY, - size: index$1.Size.SMALL, + type: index.Type.SECONDARY, + size: index.Size.SMALL, onClick: function onClick() { return setShowMoreModal(true); } @@ -464,10 +466,10 @@ var MemebersAccordion = function MemebersAccordion(_ref2) { setShowMoreModal(false); }, channel: channel - }), React__default.createElement(index$1.Button, { + }), React__default.createElement(index.Button, { className: "sendbird-members-accordion__footer__invite-users", - type: index$1.Type.SECONDARY, - size: index$1.Size.SMALL, + type: index.Type.SECONDARY, + size: index.Size.SMALL, disabled: disabled, onClick: function onClick() { if (disabled) { @@ -521,7 +523,7 @@ var UserListItem$1 = function UserListItem(_a) { var avatarRef = React.useRef(null); var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet; - var _b = React.useContext(index$1.UserProfileContext), + var _b = React.useContext(index.UserProfileContext), disableUserProfile = _b.disableUserProfile, renderUserProfile = _b.renderUserProfile; @@ -529,9 +531,9 @@ var UserListItem$1 = function UserListItem(_a) { return React__default.createElement("div", { ref: parentRef, className: LocalizationContext.__spreadArrays([COMPONENT_NAME], injectingClassNames).join(' ') - }, user.isMuted && React__default.createElement(index$2.MutedAvatarOverlay, null), React__default.createElement(index$1.ContextMenu, { + }, user.isMuted && React__default.createElement(index$2.MutedAvatarOverlay, null), React__default.createElement(index.ContextMenu, { menuTrigger: function menuTrigger(toggleDropdown) { - return React__default.createElement(index$1.Avatar, { + return React__default.createElement(index.Avatar, { onClick: function onClick() { if (!disableUserProfile) { toggleDropdown(); @@ -545,7 +547,7 @@ var UserListItem$1 = function UserListItem(_a) { }); }, menuItems: function menuItems(closeDropdown) { - return React__default.createElement(index$1.MenuItems, { + return React__default.createElement(index.MenuItems, { openLeft: true, parentRef: avatarRef // for catching location(x, y) of MenuItems , @@ -560,24 +562,24 @@ var UserListItem$1 = function UserListItem(_a) { user: user, currentUserId: currentUser, close: closeDropdown - }) : React__default.createElement(index$1.UserProfile, { + }) : React__default.createElement(index.UserProfile, { user: user, currentUserId: currentUser, onSuccess: closeDropdown })); } - }), React__default.createElement(index$1.Label, { + }), React__default.createElement(index.Label, { className: COMPONENT_NAME + "__title", - type: index$1.LabelTypography.SUBTITLE_1, - color: index$1.LabelColors.ONBACKGROUND_1 - }, user.nickname || stringSet.NO_NAME, currentUser === user.userId && " (You)"), !user.nickname && React__default.createElement(index$1.Label, { + type: index.LabelTypography.SUBTITLE_1, + color: index.LabelColors.ONBACKGROUND_1 + }, user.nickname || stringSet.NO_NAME, currentUser === user.userId && " (You)"), !user.nickname && React__default.createElement(index.Label, { className: COMPONENT_NAME + "__subtitle", - type: index$1.LabelTypography.CAPTION_3, - color: index$1.LabelColors.ONBACKGROUND_2 - }, user.userId), user.role === 'operator' && React__default.createElement(index$1.Label, { + type: index.LabelTypography.CAPTION_3, + color: index.LabelColors.ONBACKGROUND_2 + }, user.userId), user.role === 'operator' && React__default.createElement(index.Label, { className: COMPONENT_NAME + "__operator", - type: index$1.LabelTypography.SUBTITLE_2, - color: index$1.LabelColors.ONBACKGROUND_2 + type: index.LabelTypography.SUBTITLE_2, + color: index.LabelColors.ONBACKGROUND_2 }, "Operator"), action && React__default.createElement("div", { ref: actionRef, className: COMPONENT_NAME + "__action" @@ -612,7 +614,7 @@ function OperatorsModal(_a) { }); setOperatorQuery(operatorListQuery); }, []); - return React__default.createElement("div", null, React__default.createElement(index$1.Modal, { + return React__default.createElement("div", null, React__default.createElement(index.Modal, { hideFooter: true, onCancel: function onCancel() { return hideModal(); @@ -644,28 +646,28 @@ function OperatorsModal(_a) { action: function action(_a) { var parentRef = _a.parentRef, actionRef = _a.actionRef; - return React__default.createElement(index$1.ContextMenu, { + return React__default.createElement(index.ContextMenu, { menuTrigger: function menuTrigger(toggleDropdown) { - return React__default.createElement(index$1.IconButton, { + return React__default.createElement(index.IconButton, { className: "sendbird-user-message__more__menu", width: "32px", height: "32px", onClick: toggleDropdown - }, React__default.createElement(index$1.Icon, { + }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index$1.IconTypes.MORE, - fillColor: index$1.IconColors.CONTENT_INVERSE + type: index.IconTypes.MORE, + fillColor: index.IconColors.CONTENT_INVERSE })); }, menuItems: function menuItems(closeDropdown) { - return React__default.createElement(index$1.MenuItems, { + return React__default.createElement(index.MenuItems, { parentContainRef: parentRef, parentRef: actionRef // for catching location(x, y) of MenuItems , closeDropdown: closeDropdown, openLeft: true - }, React__default.createElement(index$1.MenuItem, { + }, React__default.createElement(index.MenuItem, { onClick: function onClick() { channel.removeOperators([member.userId], function (response, error) { if (error) { @@ -720,8 +722,8 @@ function AddOperatorsModal(_a) { var selectedCount = Object.keys(selectedMembers).filter(function (m) { return selectedMembers[m]; }).length; - return React__default.createElement("div", null, React__default.createElement(index$1.Modal, { - type: index$1.Type.PRIMARY, + return React__default.createElement("div", null, React__default.createElement(index.Modal, { + type: index.Type.PRIMARY, submitText: "Add", onCancel: function onCancel() { return hideModal(); @@ -734,9 +736,9 @@ function AddOperatorsModal(_a) { _onSubmit(members); }, titleText: "Select members" - }, React__default.createElement(index$1.Label, { - color: selectedCount > 0 ? index$1.LabelColors.PRIMARY : index$1.LabelColors.ONBACKGROUND_3, - type: index$1.LabelTypography.CAPTION_1 + }, React__default.createElement(index.Label, { + color: selectedCount > 0 ? index.LabelColors.PRIMARY : index.LabelColors.ONBACKGROUND_3, + type: index.LabelTypography.CAPTION_1 }, selectedCount + " " + stringSet.MODAL__INVITE_MEMBER__SELECTEC), React__default.createElement("div", { className: "sendbird-more-members__popup-scroll", onScroll: function onScroll(e) { @@ -838,28 +840,28 @@ var OperatorList = function OperatorList(_a) { action: function action(_a) { var actionRef = _a.actionRef, parentRef = _a.parentRef; - return React__default.createElement(index$1.ContextMenu, { + return React__default.createElement(index.ContextMenu, { menuTrigger: function menuTrigger(toggleDropdown) { - return React__default.createElement(index$1.IconButton, { + return React__default.createElement(index.IconButton, { className: "sendbird-user-message__more__menu", width: "32px", height: "32px", onClick: toggleDropdown - }, React__default.createElement(index$1.Icon, { + }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index$1.IconTypes.MORE, - fillColor: index$1.IconColors.CONTENT_INVERSE + type: index.IconTypes.MORE, + fillColor: index.IconColors.CONTENT_INVERSE })); }, menuItems: function menuItems(closeDropdown) { - return React__default.createElement(index$1.MenuItems, { + return React__default.createElement(index.MenuItems, { parentContainRef: parentRef, parentRef: actionRef // for catching location(x, y) of MenuItems , closeDropdown: closeDropdown, openLeft: true - }, React__default.createElement(index$1.MenuItem, { + }, React__default.createElement(index.MenuItem, { onClick: function onClick() { channel.removeOperators([operator.userId], function (response, error) { if (error) { @@ -880,15 +882,15 @@ var OperatorList = function OperatorList(_a) { }); }), hasNext && React__default.createElement("div", { className: "sendbird-channel-settings-accordion__footer" - }, React__default.createElement(index$1.Button, { - type: index$1.Type.SECONDARY, - size: index$1.Size.SMALL, + }, React__default.createElement(index.Button, { + type: index.Type.SECONDARY, + size: index.Size.SMALL, onClick: function onClick() { setShowMore(true); } - }, stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ALL), React__default.createElement(index$1.Button, { - type: index$1.Type.SECONDARY, - size: index$1.Size.SMALL, + }, stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ALL), React__default.createElement(index.Button, { + type: index.Type.SECONDARY, + size: index.Size.SMALL, onClick: function onClick() { setShowAdd(true); } @@ -915,7 +917,7 @@ var OperatorList = function OperatorList(_a) { var mapStoreToProps = function mapStoreToProps(store) { return { - sdk: index$1.getSdk(store) + sdk: index.getSdk(store) }; }; @@ -950,10 +952,10 @@ function InviteMembers(_a) { }); setUserQuery(userListQuery); }, []); - return React__default.createElement("div", null, React__default.createElement(index$1.Modal, { + return React__default.createElement("div", null, React__default.createElement(index.Modal, { disabled: Object.keys(selectedMembers).length === 0, submitText: "Invite", - type: index$1.Type.PRIMARY, + type: index.Type.PRIMARY, onCancel: function onCancel() { return hideModal(); }, @@ -1006,7 +1008,8 @@ function InviteMembers(_a) { var MemberList = function MemberList(_a) { var sdk = _a.sdk, channel = _a.channel, - userQueryCreator = _a.userQueryCreator; + userQueryCreator = _a.userQueryCreator, + userId = _a.userId; var _b = React.useState([]), members = _b[0], @@ -1063,31 +1066,31 @@ var MemberList = function MemberList(_a) { key: member.userId, user: member, currentUser: sdk.currentUser.userId, - action: function action(_a) { + action: userId !== member.userId ? function (_a) { var actionRef = _a.actionRef, parentRef = _a.parentRef; - return React__default.createElement(index$1.ContextMenu, { + return React__default.createElement(index.ContextMenu, { menuTrigger: function menuTrigger(toggleDropdown) { - return React__default.createElement(index$1.IconButton, { + return React__default.createElement(index.IconButton, { className: "sendbird-user-message__more__menu", width: "32px", height: "32px", onClick: toggleDropdown - }, React__default.createElement(index$1.Icon, { + }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index$1.IconTypes.MORE, - fillColor: index$1.IconColors.CONTENT_INVERSE + type: index.IconTypes.MORE, + fillColor: index.IconColors.CONTENT_INVERSE })); }, menuItems: function menuItems(closeDropdown) { - return React__default.createElement(index$1.MenuItems, { + return React__default.createElement(index.MenuItems, { parentContainRef: parentRef, parentRef: actionRef // for catching location(x, y) of MenuItems , closeDropdown: closeDropdown, openLeft: true - }, React__default.createElement(index$1.MenuItem, { + }, React__default.createElement(index.MenuItem, { onClick: function onClick() { if (member.role !== 'operator') { channel.addOperators([member.userId], function () { @@ -1102,7 +1105,7 @@ var MemberList = function MemberList(_a) { } } }, member.role !== 'operator' ? 'Promote to operator' : 'Demote operator'), // No muted members in broadcast channel - !channel.isBroadcast && React__default.createElement(index$1.MenuItem, { + !channel.isBroadcast && React__default.createElement(index.MenuItem, { onClick: function onClick() { if (member.isMuted) { channel.unmuteUser(member, function () { @@ -1116,7 +1119,7 @@ var MemberList = function MemberList(_a) { }); } } - }, member.isMuted ? 'Unmute' : 'Mute'), member.role && member.role !== 'operator' && React__default.createElement(index$1.MenuItem, { + }, member.isMuted ? 'Unmute' : 'Mute'), React__default.createElement(index.MenuItem, { onClick: function onClick() { channel.banUser(member, -1, '', function () { refershList(); @@ -1126,19 +1129,19 @@ var MemberList = function MemberList(_a) { }, "Ban")); } }); - } + } : null }); }), React__default.createElement("div", { className: "sendbird-channel-settings-accordion__footer" - }, hasNext && React__default.createElement(index$1.Button, { - type: index$1.Type.SECONDARY, - size: index$1.Size.SMALL, + }, hasNext && React__default.createElement(index.Button, { + type: index.Type.SECONDARY, + size: index.Size.SMALL, onClick: function onClick() { return setShowAllMembers(true); } - }, "All members"), React__default.createElement(index$1.Button, { - type: index$1.Type.SECONDARY, - size: index$1.Size.SMALL, + }, "All members"), React__default.createElement(index.Button, { + type: index.Type.SECONDARY, + size: index.Size.SMALL, onClick: function onClick() { return setShowInviteMembers(true); } @@ -1166,7 +1169,7 @@ var MemberList = function MemberList(_a) { var mapStoreToProps$1 = function mapStoreToProps(store) { return { - sdk: index$1.getSdk(store) + sdk: index.getSdk(store) }; }; @@ -1195,7 +1198,7 @@ function BannedMembersModal(_a) { }); setMemberQuery(bannedUserListQuery); }, []); - return React__default.createElement("div", null, React__default.createElement(index$1.Modal, { + return React__default.createElement("div", null, React__default.createElement(index.Modal, { hideFooter: true, onCancel: function onCancel() { return hideModal(); @@ -1226,28 +1229,28 @@ function BannedMembersModal(_a) { action: function action(_a) { var parentRef = _a.parentRef, actionRef = _a.actionRef; - return React__default.createElement(index$1.ContextMenu, { + return React__default.createElement(index.ContextMenu, { menuTrigger: function menuTrigger(toggleDropdown) { - return React__default.createElement(index$1.IconButton, { + return React__default.createElement(index.IconButton, { className: "sendbird-user-message__more__menu", width: "32px", height: "32px", onClick: toggleDropdown - }, React__default.createElement(index$1.Icon, { + }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index$1.IconTypes.MORE, - fillColor: index$1.IconColors.CONTENT_INVERSE + type: index.IconTypes.MORE, + fillColor: index.IconColors.CONTENT_INVERSE })); }, menuItems: function menuItems(closeDropdown) { - return React__default.createElement(index$1.MenuItems, { + return React__default.createElement(index.MenuItems, { parentContainRef: parentRef, parentRef: actionRef // for catching location(x, y) of MenuItems , closeDropdown: closeDropdown, openLeft: true - }, React__default.createElement(index$1.MenuItem, { + }, React__default.createElement(index.MenuItem, { onClick: function onClick() { channel.unbanUser(member, function () { closeDropdown(); @@ -1318,28 +1321,28 @@ var BannedMemberList = function BannedMemberList(_a) { action: function action(_a) { var actionRef = _a.actionRef, parentRef = _a.parentRef; - return React__default.createElement(index$1.ContextMenu, { + return React__default.createElement(index.ContextMenu, { menuTrigger: function menuTrigger(toggleDropdown) { - return React__default.createElement(index$1.IconButton, { + return React__default.createElement(index.IconButton, { className: "sendbird-user-message__more__menu", width: "32px", height: "32px", onClick: toggleDropdown - }, React__default.createElement(index$1.Icon, { + }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index$1.IconTypes.MORE, - fillColor: index$1.IconColors.CONTENT_INVERSE + type: index.IconTypes.MORE, + fillColor: index.IconColors.CONTENT_INVERSE })); }, menuItems: function menuItems(closeDropdown) { - return React__default.createElement(index$1.MenuItems, { + return React__default.createElement(index.MenuItems, { parentContainRef: parentRef, parentRef: actionRef // for catching location(x, y) of MenuItems , closeDropdown: closeDropdown, openLeft: true - }, React__default.createElement(index$1.MenuItem, { + }, React__default.createElement(index.MenuItem, { onClick: function onClick() { channel.unbanUser(member, function () { closeDropdown(); @@ -1351,15 +1354,15 @@ var BannedMemberList = function BannedMemberList(_a) { }); } }); - }), members && members.length === 0 && React__default.createElement(index$1.Label, { + }), members && members.length === 0 && React__default.createElement(index.Label, { className: "sendbird-channel-settings__empty-list", - type: index$1.LabelTypography.SUBTITLE_2, - color: index$1.LabelColors.ONBACKGROUND_3 + type: index.LabelTypography.SUBTITLE_2, + color: index.LabelColors.ONBACKGROUND_3 }, "No banned members yet"), hasNext && React__default.createElement("div", { className: "sendbird-channel-settings-accordion__footer" - }, React__default.createElement(index$1.Button, { - type: index$1.Type.SECONDARY, - size: index$1.Size.SMALL, + }, React__default.createElement(index.Button, { + type: index.Type.SECONDARY, + size: index.Size.SMALL, onClick: function onClick() { setShowModal(true); } @@ -1374,7 +1377,7 @@ var BannedMemberList = function BannedMemberList(_a) { var mapStoreToProps$2 = function mapStoreToProps(store) { return { - sdk: index$1.getSdk(store) + sdk: index.getSdk(store) }; }; @@ -1406,7 +1409,7 @@ function MutedMembersModal(_a) { }); setMemberQuery(memberUserListQuery); }, []); - return React__default.createElement("div", null, React__default.createElement(index$1.Modal, { + return React__default.createElement("div", null, React__default.createElement(index.Modal, { hideFooter: true, onCancel: function onCancel() { return hideModal(); @@ -1438,28 +1441,28 @@ function MutedMembersModal(_a) { action: function action(_a) { var actionRef = _a.actionRef, parentRef = _a.parentRef; - return React__default.createElement(index$1.ContextMenu, { + return React__default.createElement(index.ContextMenu, { menuTrigger: function menuTrigger(toggleDropdown) { - return React__default.createElement(index$1.IconButton, { + return React__default.createElement(index.IconButton, { className: "sendbird-user-message__more__menu", width: "32px", height: "32px", onClick: toggleDropdown - }, React__default.createElement(index$1.Icon, { + }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index$1.IconTypes.MORE, - fillColor: index$1.IconColors.CONTENT_INVERSE + type: index.IconTypes.MORE, + fillColor: index.IconColors.CONTENT_INVERSE })); }, menuItems: function menuItems(closeDropdown) { - return React__default.createElement(index$1.MenuItems, { + return React__default.createElement(index.MenuItems, { parentContainRef: parentRef, parentRef: actionRef // for catching location(x, y) of MenuItems , closeDropdown: closeDropdown, openLeft: true - }, React__default.createElement(index$1.MenuItem, { + }, React__default.createElement(index.MenuItem, { onClick: function onClick() { channel.unmuteUser(member, function () { closeDropdown(); @@ -1536,28 +1539,28 @@ var MutedMemberList = function MutedMemberList(_a) { action: function action(_a) { var actionRef = _a.actionRef, parentRef = _a.parentRef; - return React__default.createElement(index$1.ContextMenu, { + return React__default.createElement(index.ContextMenu, { menuTrigger: function menuTrigger(toggleDropdown) { - return React__default.createElement(index$1.IconButton, { + return React__default.createElement(index.IconButton, { className: "sendbird-user-message__more__menu", width: "32px", height: "32px", onClick: toggleDropdown - }, React__default.createElement(index$1.Icon, { + }, React__default.createElement(index.Icon, { width: "24px", height: "24px", - type: index$1.IconTypes.MORE, - fillColor: index$1.IconColors.CONTENT_INVERSE + type: index.IconTypes.MORE, + fillColor: index.IconColors.CONTENT_INVERSE })); }, menuItems: function menuItems(closeDropdown) { - return React__default.createElement(index$1.MenuItems, { + return React__default.createElement(index.MenuItems, { closeDropdown: closeDropdown, openLeft: true, parentContainRef: parentRef, parentRef: actionRef // for catching location(x, y) of MenuItems - }, React__default.createElement(index$1.MenuItem, { + }, React__default.createElement(index.MenuItem, { onClick: function onClick() { channel.unmuteUser(member, function () { refreshList(); @@ -1569,15 +1572,15 @@ var MutedMemberList = function MutedMemberList(_a) { }); } }); - }), members && members.length === 0 && React__default.createElement(index$1.Label, { + }), members && members.length === 0 && React__default.createElement(index.Label, { className: "sendbird-channel-settings__empty-list", - type: index$1.LabelTypography.SUBTITLE_2, - color: index$1.LabelColors.ONBACKGROUND_3 + type: index.LabelTypography.SUBTITLE_2, + color: index.LabelColors.ONBACKGROUND_3 }, "No muted members yet"), hasNext && React__default.createElement("div", { className: "sendbird-channel-settings-accordion__footer" - }, React__default.createElement(index$1.Button, { - type: index$1.Type.SECONDARY, - size: index$1.Size.SMALL, + }, React__default.createElement(index.Button, { + type: index.Type.SECONDARY, + size: index.Size.SMALL, onClick: function onClick() { setShowModal(true); } @@ -1593,7 +1596,7 @@ var MutedMemberList = function MutedMemberList(_a) { var mapStoreToProps$3 = function mapStoreToProps(store) { return { - sdk: index$1.getSdk(store) + sdk: index.getSdk(store) }; }; @@ -1603,9 +1606,10 @@ var kFormatter = function kFormatter(num) { return Math.abs(num) > 999 ? (Math.abs(num) / 1000).toFixed(1) + "K" : num; }; -function index(_a) { +function AdminPannel(_a) { var userQueryCreator = _a.userQueryCreator, - channel = _a.channel; + channel = _a.channel, + userId = _a.userId; var _b = React.useState(false), frozen = _b[0], @@ -1624,15 +1628,15 @@ function index(_a) { className: "sendbird-channel-settings__operators-list", id: "operators", renderTitle: function renderTitle() { - return React__default.createElement(React__default.Fragment, null, React__default.createElement(index$1.Icon, { - type: index$1.IconTypes.ICON_OPERATOR, - fillColor: index$1.IconColors.PRIMARY, + return React__default.createElement(React__default.Fragment, null, React__default.createElement(index.Icon, { + type: index.IconTypes.OPERATOR, + fillColor: index.IconColors.PRIMARY, width: 24, height: 24, className: "sendbird-channel-settings__accordion-icon" - }), React__default.createElement(index$1.Label, { - type: index$1.LabelTypography.SUBTITLE_1, - color: index$1.LabelColors.ONBACKGROUND_1 + }), React__default.createElement(index.Label, { + type: index.LabelTypography.SUBTITLE_1, + color: index.LabelColors.ONBACKGROUND_1 }, stringSet.CHANNEL_SETTING__OPERATORS__TITLE)); }, renderContent: function renderContent() { @@ -1644,15 +1648,15 @@ function index(_a) { className: "sendbird-channel-settings__members-list", id: "members", renderTitle: function renderTitle() { - return React__default.createElement(React__default.Fragment, null, React__default.createElement(index$1.Icon, { - type: index$1.IconTypes.MEMBERS, - fillColor: index$1.IconColors.PRIMARY, + return React__default.createElement(React__default.Fragment, null, React__default.createElement(index.Icon, { + type: index.IconTypes.MEMBERS, + fillColor: index.IconColors.PRIMARY, width: 24, height: 24, className: "sendbird-channel-settings__accordion-icon" - }), React__default.createElement(index$1.Label, { - type: index$1.LabelTypography.SUBTITLE_1, - color: index$1.LabelColors.ONBACKGROUND_1 + }), React__default.createElement(index.Label, { + type: index.LabelTypography.SUBTITLE_1, + color: index.LabelColors.ONBACKGROUND_1 }, stringSet.CHANNEL_SETTING__MEMBERS__TITLE), React__default.createElement(LeaveChannel.Badge, { count: kFormatter(channel.memberCount) })); @@ -1660,7 +1664,8 @@ function index(_a) { renderContent: function renderContent() { return React__default.createElement(React__default.Fragment, null, React__default.createElement(MemberList$1, { userQueryCreator: userQueryCreator, - channel: channel + channel: channel, + userId: userId })); } }), // No muted members in broadcast channel @@ -1668,15 +1673,15 @@ function index(_a) { id: "mutedMembers", className: "sendbird-channel-settings__muted-members-list", renderTitle: function renderTitle() { - return React__default.createElement(React__default.Fragment, null, React__default.createElement(index$1.Icon, { - type: index$1.IconTypes.ICON_MUTED, - fillColor: index$1.IconColors.PRIMARY, + return React__default.createElement(React__default.Fragment, null, React__default.createElement(index.Icon, { + type: index.IconTypes.MUTE, + fillColor: index.IconColors.PRIMARY, width: 24, height: 24, className: "sendbird-channel-settings__accordion-icon" - }), React__default.createElement(index$1.Label, { - type: index$1.LabelTypography.SUBTITLE_1, - color: index$1.LabelColors.ONBACKGROUND_1 + }), React__default.createElement(index.Label, { + type: index.LabelTypography.SUBTITLE_1, + color: index.LabelColors.ONBACKGROUND_1 }, stringSet.CHANNEL_SETTING__MUTED_MEMBERS__TITLE)); }, renderContent: function renderContent() { @@ -1688,15 +1693,15 @@ function index(_a) { className: "sendbird-channel-settings__banned-members-list", id: "bannedMembers", renderTitle: function renderTitle() { - return React__default.createElement(React__default.Fragment, null, React__default.createElement(index$1.Icon, { - type: index$1.IconTypes.ICON_BANNED, - fillColor: index$1.IconColors.PRIMARY, + return React__default.createElement(React__default.Fragment, null, React__default.createElement(index.Icon, { + type: index.IconTypes.BAN, + fillColor: index.IconColors.PRIMARY, width: 24, height: 24, className: "sendbird-channel-settings__accordion-icon" - }), React__default.createElement(index$1.Label, { - type: index$1.LabelTypography.SUBTITLE_1, - color: index$1.LabelColors.ONBACKGROUND_1 + }), React__default.createElement(index.Label, { + type: index.LabelTypography.SUBTITLE_1, + color: index.LabelColors.ONBACKGROUND_1 }, stringSet.CHANNEL_SETTING__BANNED_MEMBERS__TITLE)); }, renderContent: function renderContent() { @@ -1707,33 +1712,35 @@ function index(_a) { }), // cannot frozen broadcast channel !channel.isBroadcast && React__default.createElement("div", { className: "sendbird-channel-settings__freeze" - }, React__default.createElement(index$1.Icon, { - type: index$1.IconTypes.FROZEN_LIGHT, - fillColor: index$1.IconColors.PRIMARY, + }, React__default.createElement(index.Icon, { + type: index.IconTypes.FREEZE, + fillColor: index.IconColors.PRIMARY, width: 24, height: 24, className: "sendbird-channel-settings__accordion-icon" - }), React__default.createElement(index$1.Label, { - type: index$1.LabelTypography.SUBTITLE_1, - color: index$1.LabelColors.ONBACKGROUND_1 + }), React__default.createElement(index.Label, { + type: index.LabelTypography.SUBTITLE_1, + color: index.LabelColors.ONBACKGROUND_1 }, stringSet.CHANNEL_SETTING__FREEZE_CHANNEL), React__default.createElement("div", { className: "sendbird-channel-settings__frozen-icon" - }, frozen ? React__default.createElement(index$1.Icon, { + }, frozen ? React__default.createElement(index.Icon, { onClick: function onClick() { channel.unfreeze(function () { setFrozen(false); }); }, - type: index$1.IconTypes.TOGGLE_ON, + type: index.IconTypes.TOGGLE_ON, + fillColor: index.IconColors.PRIMARY, width: 44, height: 24 - }) : React__default.createElement(index$1.Icon, { + }) : React__default.createElement(index.Icon, { onClick: function onClick() { channel.freeze(function () { setFrozen(true); }); }, - type: index$1.IconTypes.TOGGLE_OFF, + type: index.IconTypes.TOGGLE_OFF, + fillColor: index.IconColors.PRIMARY, width: 44, height: 24 })))); @@ -1827,11 +1834,11 @@ function ChannelSettings(props) { className: "sendbird-channel-settings" }, React__default.createElement("div", { className: "sendbird-channel-settings__header" - }, React__default.createElement(index$1.Label, { - type: index$1.LabelTypography.H_2, - color: index$1.LabelColors.ONBACKGROUND_1 - }, stringSet.CHANNEL_SETTING__HEADER__TITLE), React__default.createElement(index$1.Icon, { - type: index$1.IconTypes.CLOSE, + }, React__default.createElement(index.Label, { + type: index.LabelTypography.H_2, + color: index.LabelColors.ONBACKGROUND_1 + }, stringSet.CHANNEL_SETTING__HEADER__TITLE), React__default.createElement(index.Icon, { + type: index.IconTypes.CLOSE, className: "sendbird-channel-settings__close-icon", height: "24px", width: "24px", @@ -1839,31 +1846,31 @@ function ChannelSettings(props) { logger.info('ChannelSettings: Click close'); onCloseClick(); } - })), React__default.createElement("div", null, React__default.createElement(index$1.PlaceHolder, { - type: index$1.PlaceHolderTypes.WRONG + })), React__default.createElement("div", null, React__default.createElement(index.PlaceHolder, { + type: index.PlaceHolderTypes.WRONG }))); } - return React__default.createElement(index$1.UserProfileProvider, { + return React__default.createElement(index.UserProfileProvider, { disableUserProfile: userDefinedDisableUserProfile, renderUserProfile: userDefinedRenderProfile, className: "sendbird-channel-settings" }, React__default.createElement("div", { className: "sendbird-channel-settings__header" - }, React__default.createElement(index$1.Label, { - type: index$1.LabelTypography.H_2, - color: index$1.LabelColors.ONBACKGROUND_1 + }, React__default.createElement(index.Label, { + type: index.LabelTypography.H_2, + color: index.LabelColors.ONBACKGROUND_1 }, stringSet.CHANNEL_SETTING__HEADER__TITLE), React__default.createElement("div", { className: "sendbird-channel-settings__header-icon" - }, React__default.createElement(index$1.IconButton, { + }, React__default.createElement(index.IconButton, { width: "32px", height: "32px", onClick: function onClick() { logger.info('ChannelSettings: Click close'); onCloseClick(); } - }, React__default.createElement(index$1.Icon, { - type: index$1.IconTypes.CLOSE, + }, React__default.createElement(index.Icon, { + type: index.IconTypes.CLOSE, className: "sendbird-channel-settings__close-icon", height: "24px", width: "24px" @@ -1911,8 +1918,9 @@ function ChannelSettings(props) { setChannelUpdateId(LocalizationContext.uuidv4()); }); } - }), channel.myRole === 'operator' ? React__default.createElement(index, { + }), channel.myRole === 'operator' ? React__default.createElement(AdminPannel, { channel: channel, + userId: userId, onChannelModified: function onChannelModified(groupChannel) { // setChannelUpdateId(uuidv4()); _onChannelModified(groupChannel); @@ -1934,19 +1942,19 @@ function ChannelSettings(props) { onClick: function onClick() { return setShowAccordion(!showAccordion); } - }, React__default.createElement(index$1.Icon, { - type: index$1.IconTypes.MEMBERS, + }, React__default.createElement(index.Icon, { + type: index.IconTypes.MEMBERS, className: "sendbird-channel-settings__panel-icon-left", height: "24px", width: "24px", - fillColor: index$1.IconColors.PRIMARY - }), React__default.createElement(index$1.Label, { - type: index$1.LabelTypography.SUBTITLE_1, - color: index$1.LabelColors.ONBACKGROUND_1 + fillColor: index.IconColors.PRIMARY + }), React__default.createElement(index.Label, { + type: index.LabelTypography.SUBTITLE_1, + color: index.LabelColors.ONBACKGROUND_1 }, "".concat(stringSet.CHANNEL_SETTING__MEMBERS__TITLE), React__default.createElement(LeaveChannel.Badge, { count: kFormatter$1(channel.memberCount) - })), React__default.createElement(index$1.Icon, { - type: index$1.IconTypes.SHEVRON, + })), React__default.createElement(index.Icon, { + type: index.IconTypes.CHEVRON_RIGHT, className: ['sendbird-channel-settings__panel-icon-right', 'sendbird-channel-settings__panel-icon--chevron', showAccordion ? 'sendbird-channel-settings__panel-icon--open' : ''].join(' '), height: "24px", width: "24px" @@ -1991,14 +1999,14 @@ function ChannelSettings(props) { setShowLeaveChannelModal(true); } - }, React__default.createElement(index$1.Icon, { - type: index$1.IconTypes.LEAVE, + }, React__default.createElement(index.Icon, { + type: index.IconTypes.LEAVE, className: ['sendbird-channel-settings__panel-icon-left', 'sendbird-channel-settings__panel-icon__leave'].join(' '), height: "24px", width: "24px" - }), React__default.createElement(index$1.Label, { - type: index$1.LabelTypography.SUBTITLE_1, - color: index$1.LabelColors.ONBACKGROUND_1 + }), React__default.createElement(index.Label, { + type: index.LabelTypography.SUBTITLE_1, + color: index.LabelColors.ONBACKGROUND_1 }, stringSet.CHANNEL_SETTING__LEAVE_CHANNEL__TITLE)), showLeaveChannelModal && React__default.createElement(LeaveChannel.LeaveChannelModal, { onCloseModal: function onCloseModal() { return setShowLeaveChannelModal(false); diff --git a/dist/cjs/ChannelSettings.js.map b/dist/cjs/ChannelSettings.js.map index d037ad5..e7dcacb 100644 --- a/dist/cjs/ChannelSettings.js.map +++ b/dist/cjs/ChannelSettings.js.map @@ -1 +1 @@ -{"version":3,"file":"ChannelSettings.js","sources":["../../../src/smart-components/ChannelSettings/components/EditDetails.jsx","../../../src/smart-components/ChannelSettings/components/ChannelProfile.jsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/MembersModal.tsx","../../../src/smart-components/ChannelSettings/components/MemebersAccordion.jsx","../../../src/smart-components/ChannelSettings/components/UserListItem.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/OperatorsModal.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/AddOperatorsModal.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/OperatorList.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/InviteMembersModal.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/MemberList.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/BannedMembersModal.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/BannedMemberList.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/MutedMembersModal.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/MutedMemberList.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/index.tsx","../../../src/smart-components/ChannelSettings/index.jsx"],"sourcesContent":["import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Modal from '../../../ui/Modal';\nimport Input, { InputLabel } from '../../../ui/Input';\nimport Avatar from '../../../ui/Avatar/index';\nimport { Type as ButtonType } from '../../../ui/Button/type';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport TextButton from '../../../ui/TextButton';\nimport ChannelAvatar from '../../../ui/ChannelAvatar/index';\n\nconst EditDetails = (props) => {\n const {\n onSubmit,\n onCancel,\n channel,\n userId,\n theme,\n } = props;\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const hiddenInputRef = useRef(null);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n const title = channel.name;\n return (\n {\n if (title !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n onSubmit(newFile, inputRef.current.value);\n onCancel();\n }}\n type={ButtonType.PRIMARY}\n >\n { e.preventDefault(); }}\n >\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE}\n \n
\n {\n currentImg\n ? (\n \n ) : (\n \n )\n }\n
\n {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n hiddenInputRef.current.click()}\n notUnderline\n >\n \n \n
\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_NAME}\n \n \n
\n \n \n );\n};\n\nEditDetails.propTypes = {\n onSubmit: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n channel: PropTypes.shape({\n name: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n theme: PropTypes.string.isRequired,\n};\n\nexport default EditDetails;\n","import React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './channel-profile.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport EditDetailsModal from './EditDetails';\nimport TextButton from '../../../ui/TextButton';\nimport ChannelAvatar from '../../../ui/ChannelAvatar/index';\n\nconst ChannelProfile = (props) => {\n const {\n disabled,\n channel,\n userId,\n theme,\n onChannelInfoChange,\n } = props;\n const title = channel.name;\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n
\n
\n
\n \n
\n \n {title}\n \n {\n if (disabled) { return; }\n setShowModal(true);\n }}\n notUnderline\n >\n \n {stringSet.CHANNEL_SETTING__PROFILE__EDIT}\n \n \n {\n showModal && (\n setShowModal(false)}\n onSubmit={onChannelInfoChange}\n channel={channel}\n userId={userId}\n theme={theme}\n />\n )\n }\n
\n
\n );\n};\n\nChannelProfile.propTypes = {\n channel: PropTypes.shape({\n name: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n theme: PropTypes.string,\n disabled: PropTypes.bool,\n onChannelInfoChange: PropTypes.func,\n};\n\nChannelProfile.defaultProps = {\n theme: 'light',\n disabled: false,\n onChannelInfoChange: () => { },\n};\n\nexport default ChannelProfile;\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n currentUser?: string;\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport default function MembersModal({\n hideModal,\n channel,\n currentUser,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n\n useEffect(() => {\n const memberListQuery = channel.createMemberListQuery();\n memberListQuery.limit = 20;\n memberListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setMemberQuery(memberListQuery);\n }, [])\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"All Members\"\n >\n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n (\n <>\n {channel.myRole === 'operator' && (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n if ((member.role !== 'operator')) {\n channel.addOperators([member.userId], () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n role: 'operator',\n };\n }\n return m;\n }));\n closeDropdown();\n });\n } else {\n channel.removeOperators([member.userId], () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n role: '',\n };\n }\n return m;\n }));\n closeDropdown();\n });\n }\n }}\n >\n { member.role !== 'operator' ? 'Promote to operator' : 'Demote operator'}\n \n {\n // No muted members in broadcast channel\n !channel.isBroadcast && (\n {\n if (member.isMuted) {\n channel.unmuteUser(member, () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n isMuted: false,\n };\n }\n return m;\n }));\n closeDropdown();\n })\n } else {\n channel.muteUser(member, () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n isMuted: true,\n };\n }\n return m;\n }));\n closeDropdown();\n });\n }\n }}\n >\n { member.isMuted ? 'Unmute' : 'Mute' }\n \n )\n }\n {\n channel.banUser(member, -1, '', () => {\n setMembers(members.filter(({ userId }) => {\n return userId !== member.userId;\n }));\n });\n }}\n >\n Ban\n \n \n )}\n />\n )}\n \n )}\n />\n ))}\n
\n \n \n );\n}\n","import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './members-accordion.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { UserProfileContext } from '../../../lib/UserProfileContext';\nimport Button from '../../../ui/Button';\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../ui/Button/type';\nimport Avatar from '../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport InviteMembers from '../../InviteMembers';\nimport MembersModal from './AdminPanel/MembersModal';\nimport UserProfile from '../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../ui/ContextMenu';\n\nconst SHOWN_MEMBER_MAX = 10;\n\nconst UserListItem = ({ member = {}, currentUser = '' }) => {\n const avatarRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={member.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: member,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n
\n \n
\n );\n};\n\nUserListItem.propTypes = {\n member: PropTypes.shape({\n userId: PropTypes.string,\n profileUrl: PropTypes.string,\n nickname: PropTypes.string,\n }).isRequired,\n currentUser: PropTypes.string.isRequired,\n};\n\nconst MemebersAccordion = ({\n channel,\n disabled,\n currentUser,\n userQueryCreator,\n onInviteMemebers,\n swapParams,\n}) => {\n const members = channel.members || [];\n const [showMoreModal, setShowMoreModal] = useState(false);\n const [showAddUserModal, setShowAddUserModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n {\n members.slice(0, SHOWN_MEMBER_MAX).map((member) => (\n \n ))\n }\n
\n
\n {\n members.length >= SHOWN_MEMBER_MAX && (\n setShowMoreModal(true)}\n >\n {stringSet.CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS}\n \n )\n }\n {\n members.length >= SHOWN_MEMBER_MAX && showMoreModal && (\n {\n setShowMoreModal(false);\n }}\n channel={channel}\n />\n )\n }\n {\n if (disabled) { return; }\n setShowAddUserModal(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__MEMBERS__INVITE_MEMBER}\n \n {\n showAddUserModal && (\n setShowAddUserModal(false)}\n idsToFilter={members.map((member) => (member.userId))}\n userQueryCreator={userQueryCreator}\n onSubmit={onInviteMemebers}\n />\n )\n }\n
\n
\n );\n};\n\nMemebersAccordion.propTypes = {\n swapParams: PropTypes.bool,\n disabled: PropTypes.bool,\n channel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n currentUser: PropTypes.string,\n userQueryCreator: PropTypes.func.isRequired,\n onInviteMemebers: PropTypes.func.isRequired,\n};\n\nMemebersAccordion.defaultProps = {\n swapParams: false,\n currentUser: '',\n disabled: false,\n channel: {},\n};\n\nexport default MemebersAccordion;\n","// might move to reusable/UI\n\nimport React, { ReactElement, useRef, useContext } from 'react';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { UserProfileContext } from '../../../lib/UserProfileContext';\nimport Avatar from '../../../ui/Avatar/index';\nimport MutedAvatarOverlay from '../../../ui/Avatar/MutedAvatarOverlay';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport UserProfile from '../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../ui/ContextMenu';\n\nimport './user-list-item.scss';\nimport { SendbirdTypes } from '../../../types';\n\nconst COMPONENT_NAME = 'sendbird-user-list-item--small';\n\ninterface ActionProps {\n actionRef: React.RefObject;\n parentRef: React.RefObject;\n}\n\ntype CustomUser = SendbirdTypes['User'] & {\n isMuted: boolean;\n role: string;\n};\n\ninterface Props {\n user: CustomUser;\n currentUser?: string;\n className?: string;\n action?(props: ActionProps): ReactElement;\n}\n\nconst UserListItem = ({\n user,\n className,\n currentUser,\n action,\n}: Props): ReactElement => {\n const actionRef = useRef(null);\n const parentRef = useRef(null);\n const avatarRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const injectingClassNames = Array.isArray(className) ? className : [className];\n return (\n \n {\n user.isMuted && (\n \n )\n }\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n className={`${COMPONENT_NAME}__avatar`}\n src={user.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n \n {user.nickname || stringSet.NO_NAME}\n {\n (currentUser === user.userId) && (\n \" (You)\"\n )\n }\n \n { // if there is now nickname, display userId\n !user.nickname && (\n \n {user.userId}\n \n )\n }\n {\n user.role === 'operator' && (\n \n Operator\n \n )\n }\n {\n action && (\n
\n { action({ actionRef, parentRef }) }\n
\n )\n }\n \n );\n}\n\nexport default UserListItem;\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n currentUser?: string;\n}\n\nexport default function OperatorsModal({\n hideModal,\n channel,\n currentUser,\n}: Props): ReactElement {\n const [operators, setOperators] = useState([]);\n const [operatorQuery, setOperatorQuery] = useState(null);\n\n useEffect(() => {\n const operatorListQuery = channel.createOperatorListQuery();\n operatorListQuery.limit = 20;\n operatorListQuery.next((operators, error) => {\n if (error) {\n return;\n }\n setOperators(operators);\n });\n setOperatorQuery(operatorListQuery);\n }, [])\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"All operators\"\n >\n {\n const { hasNext } = operatorQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n operatorQuery.next((o, error) => {\n if (error) {\n return;\n }\n setOperators([\n ...operators,\n ...o,\n ])\n });\n }\n }}\n >\n { operators.map((member) => (\n (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.removeOperators([member.userId], (response, error) => {\n if (error) {\n return;\n }\n setOperators(operators.filter(({ userId }) => {\n return userId !== member.userId;\n }));\n });\n closeDropdown();\n }}\n >\n Dismiss operator\n \n \n )}\n />\n )}\n />\n ))}\n
\n \n \n )\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Modal from '../../../../ui/Modal';\nimport Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport { Type as ButtonType } from '../../../../ui/Button/type';\nimport UserListItem from '../../../../ui/UserListItem';\n\ninterface Props {\n hideModal(): void;\n onSubmit(members: string[]): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport default function AddOperatorsModal({\n hideModal,\n channel,\n onSubmit,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [selectedMembers, setSelectedMembers] = useState({});\n const [memberQuery, setMemberQuery] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n const memberListQuery = channel.createMemberListQuery();\n memberListQuery.limit = 20;\n memberListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setMemberQuery(memberListQuery);\n }, [])\n\n const selectedCount = Object.keys(selectedMembers).filter((m) => selectedMembers[m]).length;\n return (\n
\n hideModal()}\n onSubmit={() => {\n const members = Object.keys(selectedMembers).filter((m) => selectedMembers[m]);\n onSubmit(members);\n }}\n titleText=\"Select members\"\n >\n 0) ? LabelColors.PRIMARY : LabelColors.ONBACKGROUND_3}\n type={LabelTypography.CAPTION_1}\n >\n {`${selectedCount} ${stringSet.MODAL__INVITE_MEMBER__SELECTEC}`}\n \n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n {\n const modifiedSelectedMembers = {\n ...selectedMembers,\n [event.target.id]: event.target.checked,\n };\n if (!event.target.checked) {\n delete modifiedSelectedMembers[event.target.id];\n }\n setSelectedMembers(modifiedSelectedMembers);\n }\n }\n user={member}\n key={member.userId}\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n useContext,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport OperatorsModal from './OperatorsModal';\nimport AddOperatorsModal from './AddOperatorsModal';\n\ninterface Props {\n sdk: SendbirdTypes[\"SendBirdInstance\"];\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport const OperatorList = ({ sdk, channel }: Props): ReactElement => {\n const [operators, setOperators] = useState([]);\n const [showMore, setShowMore] = useState(false);\n const [showAdd, setShowAdd] = useState(false);\n const [hasNext, setHasNext] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel) {\n setOperators([]);\n return;\n }\n\n const operatorListQuery = channel.createOperatorListQuery();\n operatorListQuery.limit = 10;\n operatorListQuery.next((operators, error) => {\n if (error) {\n return;\n }\n setOperators(operators);\n setHasNext(operatorListQuery.hasNext);\n });\n }, [channel]);\n\n const refershList = useCallback(\n () => {\n if (!channel) {\n setOperators([]);\n return;\n }\n const operatorListQuery = channel.createOperatorListQuery();\n operatorListQuery.limit = 10;\n operatorListQuery.next((operators, error) => {\n if (error) {\n return;\n }\n setOperators(operators);\n setHasNext(operatorListQuery.hasNext);\n });\n },\n [channel],\n );\n\n return (\n <>\n {\n operators.map((operator) => (\n {\n return (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.removeOperators([operator.userId], (response, error) => {\n if (error) {\n return;\n }\n setOperators(operators.filter(({ userId }) => {\n return userId !== operator.userId;\n }))\n });\n closeDropdown();\n }}\n >\n Dismiss operator\n \n \n )}\n />\n );\n }}\n />\n ))\n }\n {\n hasNext && (\n \n {\n setShowMore(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ALL}\n \n {\n setShowAdd(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ADD}\n \n \n )\n }\n {\n showMore && (\n {\n setShowMore(false);\n refershList();\n }}\n channel={channel}\n />\n )\n }\n {\n showAdd && (\n setShowAdd(false)}\n channel={channel}\n onSubmit={(members) => {\n setShowAdd(false);\n channel.addOperators(members, () => {\n refershList();\n });\n }}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(OperatorList, mapStoreToProps);\n","import React, { ReactElement, useEffect, useState } from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport { Type as ButtonType } from '../../../../ui/Button/type';\nimport UserListItem from '../../../../ui/UserListItem';\n\ninterface Props {\n hideModal(): void;\n onSubmit(members: string[]): void;\n channel: SendbirdTypes['GroupChannel'];\n userQueryCreator(): SendbirdTypes['UserListQuery'];\n}\n\nexport default function InviteMembers({\n hideModal,\n userQueryCreator,\n onSubmit,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [selectedMembers, setSelectedMembers] = useState({});\n const [userQuery, setUserQuery] = useState(null);\n\n useEffect(() => {\n const userListQuery = userQueryCreator();\n userListQuery.limit = 20;\n userListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setUserQuery(userListQuery);\n }, [])\n return (\n
\n hideModal()}\n onSubmit={() => {\n const members = Object.keys(selectedMembers).filter((m) => selectedMembers[m]);\n onSubmit(members);\n }}\n titleText=\"Select members\"\n >\n {\n const { hasNext } = userQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n userQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n {\n const modifiedSelectedMembers = {\n ...selectedMembers,\n [event.target.id]: event.target.checked,\n };\n if (!event.target.checked) {\n delete modifiedSelectedMembers[event.target.id];\n }\n setSelectedMembers(modifiedSelectedMembers);\n }\n }\n user={member}\n key={member.userId}\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport MembersModal from './MembersModal';\nimport InviteMembers from './InviteMembersModal';\n\ninterface Props {\n sdk: SendbirdTypes['SendBirdInstance'];\n channel: SendbirdTypes['GroupChannel'];\n userQueryCreator(): SendbirdTypes['UserListQuery'];\n}\n\nexport const MemberList = ({ sdk, channel, userQueryCreator }: Props): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showAllMembers, setShowAllMembers] = useState(false);\n const [showInviteMembers, setShowInviteMembers] = useState(false);\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refershList = useCallback(\n () => {\n if (!channel) {\n setMembers([]);\n return;\n }\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n },\n [channel],\n );\n\n return (\n <>\n {\n members.map((member) => (\n {\n return ( (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n if ((member.role !== 'operator')) {\n channel.addOperators([member.userId], () => {\n refershList();\n closeDropdown();\n });\n } else {\n channel.removeOperators([member.userId], () => {\n refershList();\n closeDropdown();\n });\n }\n }}\n >\n { member.role !== 'operator' ? 'Promote to operator' : 'Demote operator'}\n \n {\n // No muted members in broadcast channel\n !channel.isBroadcast && (\n {\n if (member.isMuted) {\n channel.unmuteUser(member, () => {\n refershList();\n closeDropdown();\n })\n } else {\n channel.muteUser(member, () => {\n refershList();\n closeDropdown();\n });\n }\n }}\n >\n { member.isMuted ? 'Unmute' : 'Mute' }\n \n )\n }\n {\n (member.role && member.role !== 'operator') && (\n {\n channel.banUser(member, -1, '', () => {\n refershList();\n closeDropdown();\n });\n }}\n >\n Ban\n \n )\n }\n \n )}\n />)}\n }\n />\n ))\n }\n \n {\n hasNext && (\n setShowAllMembers(true)}\n >\n All members\n \n )\n }\n setShowInviteMembers(true)}\n >\n Invite members\n \n \n {\n showAllMembers && (\n {\n setShowAllMembers(false);\n refershList();\n }}\n />\n )\n }\n {\n showInviteMembers && (\n {\n channel.inviteWithUserIds(selectedMemebers, () => {\n setShowInviteMembers(false);\n refershList();\n });\n }}\n channel={channel}\n hideModal={() => setShowInviteMembers(false)}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(MemberList, mapStoreToProps);\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport default function BannedMembersModal({\n hideModal,\n channel,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n\n useEffect(() => {\n const bannedUserListQuery = channel.createBannedUserListQuery();\n bannedUserListQuery.next((users, error) => {\n if (error) {\n return;\n }\n setMembers(users);\n });\n setMemberQuery(bannedUserListQuery);\n }, []);\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"Muted members\"\n >\n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unbanUser(member, () => {\n closeDropdown();\n setMembers(members.filter(m => {\n return (m.userId !== member.userId);\n }));\n })\n }}\n >\n Unban\n \n \n )}\n />\n )\n }\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport BannedMembersModal from './BannedMembersModal';\n\ninterface Props {\n sdk: SendbirdTypes[\"SendBirdInstance\"];\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport const BannedMemberList = ({ channel }: Props): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const bannedUserListQuery = channel.createBannedUserListQuery();\n bannedUserListQuery.next((users, error) => {\n if (error) {\n return;\n }\n setMembers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const bannedUserListQuery = channel.createBannedUserListQuery();\n bannedUserListQuery.next(function(users, error) {\n if (error) {\n return;\n }\n setMembers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n members.map((member) => (\n {\n return (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unbanUser(member, () => {\n closeDropdown();\n refreshList();\n })\n }}\n >\n Unban\n \n \n )}\n />\n )\n }}\n />\n ))\n }\n {\n members && members.length === 0 && (\n \n No banned members yet\n \n )\n }\n {\n hasNext && (\n \n {\n setShowModal(true);\n }}\n >\n All banned members\n \n \n )\n }\n {\n showModal && (\n {\n setShowModal(false);\n refreshList();\n }}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(BannedMemberList, mapStoreToProps);\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n currentUser?: string;\n}\n\nexport default function MutedMembersModal({\n hideModal,\n channel,\n currentUser,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n\n useEffect(() => {\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.mutedMemberFilter = 'muted';\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setMemberQuery(memberUserListQuery);\n }, []);\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"Muted members\"\n >\n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unmuteUser(member, () => {\n closeDropdown();\n setMembers(members.filter(m => {\n return (m.userId !== member.userId);\n }));\n })\n }}\n >\n Unmute\n \n \n )}\n />\n )}\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport MutedMembersModal from './MutedMembersModal';\n\ninterface Props {\n sdk: SendbirdTypes[\"SendBirdInstance\"];\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport const MutedMemberList = ({ sdk, channel }: Props): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.mutedMemberFilter = 'muted';\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.mutedMemberFilter = 'muted';\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n members.map((member) => (\n {\n return (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unmuteUser(member, () => {\n refreshList();\n closeDropdown();\n })\n }}\n >\n Unmute\n \n \n )}\n />\n );\n }\n }\n />\n ))\n }\n {\n members && members.length === 0 && (\n \n No muted members yet\n \n )\n }\n {\n hasNext && (\n \n {\n setShowModal(true);\n }}\n >\n All muted members\n \n \n )\n }\n {\n showModal && (\n {\n setShowModal(false);\n refreshList();\n }}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(MutedMemberList, mapStoreToProps);\n","import './index.scss';\nimport React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport { SendbirdTypes } from '../../../../types';\n\nimport Accordion, { AccordionGroup } from '../../../../ui/Accordion';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Badge from '../../../../ui/Badge';\n\nimport OperatorList from './OperatorList';\nimport MemberList from './MemberList';\nimport BannedMemberList from './BannedMemberList';\nimport MutedMemberList from './MutedMemberList';\n\nconst kFormatter = (num: number): string|number => {\n return Math.abs(num) > 999\n ? `${(Math.abs(num)/1000).toFixed(1)}K`\n : num;\n}\n\ninterface Props {\n channel: SendbirdTypes['GroupChannel'];\n userQueryCreator(): SendbirdTypes['UserListQuery'];\n}\n\nexport default function index({\n userQueryCreator,\n channel,\n}: Props): ReactElement {\n const [frozen, setFrozen] = useState(false);\n\n // work around for\n // https://sendbird.slack.com/archives/G01290GCDCN/p1595922832000900\n // SDK bug - after frozen/unfrozen myRole becomes \"none\"\n useEffect(() => {\n setFrozen(channel.isFrozen);\n }, [channel]);\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE}\n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__MEMBERS__TITLE}\n \n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n {\n // No muted members in broadcast channel\n !channel.isBroadcast && (\n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__MUTED_MEMBERS__TITLE}\n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n )\n }\n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__BANNED_MEMBERS__TITLE}\n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n {\n // cannot frozen broadcast channel\n !channel.isBroadcast && (\n
\n \n \n {stringSet.CHANNEL_SETTING__FREEZE_CHANNEL}\n \n
\n {\n frozen\n ? (\n {\n channel.unfreeze(() => {\n setFrozen(false);\n });\n }}\n type={IconTypes.TOGGLE_ON}\n width={44}\n height={24}\n />\n )\n : (\n {\n channel.freeze(() => {\n setFrozen(true);\n });\n }}\n type={IconTypes.TOGGLE_OFF}\n width={44}\n height={24}\n />\n )\n }\n
\n
\n )\n }\n
\n );\n}\n","import React, { useEffect, useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport './index.scss';\nimport Badge from '../../ui/Badge';\nimport Label, { LabelTypography, LabelColors } from '../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../ui/Icon';\nimport IconButton from '../../ui/IconButton';\n\nimport ChannelProfile from './components/ChannelProfile';\nimport MemebersAccordion from './components/MemebersAccordion';\nimport LeaveChannelModal from './components/LeaveChannel';\nimport AdminPanel from './components/AdminPanel';\nimport PlaceHolder from '../../ui/PlaceHolder';\nimport PlaceHolderTypes from '../../ui/PlaceHolder/type';\nimport { uuidv4 } from '../../utils/uuid';\nimport { createDefaultUserListQuery } from '../ChannelList/components/utils';\n\n\nconst kFormatter = (num) => (\n Math.abs(num) > 999\n ? `${(Math.abs(num) / 1000).toFixed(1)}K`\n : num\n);\n\nfunction ChannelSettings(props) {\n const {\n onCloseClick,\n channelUrl,\n disableUserProfile,\n renderUserProfile,\n onChannelModified,\n renderChannelProfile,\n onBeforeUpdateChannel,\n } = props;\n\n const {\n stores: { sdkStore },\n config: {\n userListQuery,\n theme,\n userId,\n logger,\n isOnline,\n },\n queries = {},\n } = props;\n\n const { config = {} } = props;\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n\n const userFilledApplicationUserListQuery = queries.applicationUserListQuery;\n const { stringSet } = useContext(LocalizationContext);\n\n const { sdk, initialized } = sdkStore;\n\n // hack to kepp track of channel updates by triggering useEffect\n const [channelUpdateId, setChannelUpdateId] = useState(uuidv4());\n const [channel, setChannel] = useState(null);\n const [invalidChannel, setInvalidChannel] = useState(false);\n const [showAccordion, setShowAccordion] = useState(false);\n const [showLeaveChannelModal, setShowLeaveChannelModal] = useState(false);\n\n useEffect(() => {\n logger.info('ChannelSettings: Setting up');\n if (!channelUrl || !initialized || !sdk) {\n logger.warning('ChannelSettings: Setting up failed', 'No channelUrl or sdk uninitialized');\n setInvalidChannel(false);\n } else {\n if (!sdk || !sdk.GroupChannel) {\n logger.warning('ChannelSettings: No GroupChannel');\n return;\n }\n sdk.GroupChannel.getChannel(channelUrl, (groupChannel) => {\n if (!groupChannel) {\n logger.warning('ChannelSettings: Channel not found');\n setInvalidChannel(true);\n } else {\n logger.info('ChannelSettings: Fetched group channel', groupChannel);\n setInvalidChannel(false);\n setChannel(groupChannel);\n }\n });\n }\n }, [channelUrl, initialized, channelUpdateId]);\n\n if (!channel || invalidChannel) {\n return (\n
\n
\n \n {\n logger.info('ChannelSettings: Click close');\n onCloseClick();\n }}\n />\n
\n
\n \n
\n
\n );\n }\n\n return (\n \n
\n \n
\n {\n logger.info('ChannelSettings: Click close');\n onCloseClick();\n }}\n >\n \n \n
\n
\n
\n {\n renderChannelProfile\n ? renderChannelProfile({ channel })\n : (\n {\n logger.info('ChannelSettings: Channel information being updated');\n const swapParams = sdk.getErrorFirstCallback();\n if (onBeforeUpdateChannel) {\n const params = onBeforeUpdateChannel(currentTitle, currentImg, channel.data);\n // swapParams\n channel.updateChannel(params, (response, error) => {\n let groupChannel = response;\n if (swapParams) {\n groupChannel = error;\n }\n\n onChannelModified(groupChannel);\n setChannelUpdateId(uuidv4());\n });\n return;\n }\n channel.updateChannel(\n currentTitle,\n currentImg,\n channel.data,\n (response, error) => {\n let groupChannel = response;\n if (swapParams) {\n groupChannel = error;\n }\n logger.info('ChannelSettings: Channel information updated', groupChannel);\n onChannelModified(groupChannel);\n setChannelUpdateId(uuidv4());\n },\n );\n }}\n />\n )\n }\n {\n channel.myRole === 'operator'\n ? (\n {\n // setChannelUpdateId(uuidv4());\n onChannelModified(groupChannel);\n }}\n userQueryCreator={\n () => ((userListQuery && typeof userListQuery === 'function')\n ? userListQuery()\n : createDefaultUserListQuery({ sdk, userFilledApplicationUserListQuery })\n )\n }\n />\n )\n : (\n <>\n {/* Move to different file */}\n setShowAccordion(!showAccordion)}\n className={`\n sendbird-channel-settings__panel-item\n sendbird-channel-settings__members\n `}\n onClick={() => setShowAccordion(!showAccordion)}\n >\n \n \n {`${stringSet.CHANNEL_SETTING__MEMBERS__TITLE}`}\n \n \n \n
\n {\n showAccordion && (\n ((userListQuery && typeof userListQuery === 'function')\n ? userListQuery()\n : createDefaultUserListQuery({ sdk, userFilledApplicationUserListQuery })\n )\n }\n swapParams={\n sdk && sdk.getErrorFirstCallback && sdk.getErrorFirstCallback()\n }\n channel={channel}\n members={channel.members}\n onInviteMemebers={(selectedMemebers) => {\n logger.info('ChannelSettings: Inviting new users');\n channel.inviteWithUserIds(selectedMemebers)\n .then((res) => {\n onChannelModified(res);\n setChannelUpdateId(uuidv4());\n logger.info('ChannelSettings: Inviting new users success!', res);\n });\n }}\n />\n )\n }\n \n )\n }\n\n {\n if (!isOnline) { return; }\n setShowLeaveChannelModal(true);\n }}\n onClick={() => {\n if (!isOnline) { return; }\n setShowLeaveChannelModal(true);\n }}\n >\n \n \n {stringSet.CHANNEL_SETTING__LEAVE_CHANNEL__TITLE}\n \n \n {\n showLeaveChannelModal && (\n setShowLeaveChannelModal(false)}\n onLeaveChannel={() => {\n logger.info('ChannelSettings: Leaving channel', channel);\n channel.leave()\n .then(() => {\n logger.info('ChannelSettings: Leaving channel successful!', channel);\n onCloseClick();\n });\n }}\n />\n )\n }\n \n \n );\n}\n\nChannelSettings.propTypes = {\n onCloseClick: PropTypes.func,\n onChannelModified: PropTypes.func,\n onBeforeUpdateChannel: PropTypes.func,\n renderChannelProfile: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n channelUrl: PropTypes.string.isRequired,\n queries: PropTypes.shape({\n applicationUserListQuery: PropTypes.shape({\n limit: PropTypes.number,\n userIdsFilter: PropTypes.arrayOf(PropTypes.string),\n metaDataKeyFilter: PropTypes.string,\n metaDataValuesFilter: PropTypes.arrayOf(PropTypes.string),\n }),\n }),\n // from withSendbirdContext\n stores: PropTypes.shape({\n sdkStore: PropTypes.shape({\n sdk: PropTypes.shape({\n getErrorFirstCallback: PropTypes.func,\n GroupChannel: PropTypes.oneOfType([\n PropTypes.shape({\n getChannel: PropTypes.func,\n }),\n PropTypes.func,\n ]),\n createApplicationUserListQuery: PropTypes.any,\n }),\n initialized: PropTypes.bool,\n }),\n }).isRequired,\n config: PropTypes.shape({\n userId: PropTypes.string,\n theme: PropTypes.string,\n userListQuery: PropTypes.func,\n isOnline: PropTypes.bool,\n logger: PropTypes.shape({\n info: PropTypes.func,\n error: PropTypes.func,\n warning: PropTypes.func,\n }),\n }).isRequired,\n};\n\nChannelSettings.defaultProps = {\n onBeforeUpdateChannel: null,\n queries: {},\n disableUserProfile: false,\n renderUserProfile: null,\n renderChannelProfile: null,\n onCloseClick: () => { },\n onChannelModified: () => { },\n};\n\nexport default withSendbirdContext(ChannelSettings);\n"],"names":["EditDetails","props","onSubmit","onCancel","channel","userId","theme","inputRef","useRef","formRef","hiddenInputRef","useState","currentImg","setCurrentImg","newFile","setNewFile","useContext","LocalizationContext","stringSet","title","name","React","Modal","MODAL__CHANNEL_INFORMATION__TITLE","BUTTON__SAVE","current","value","reportValidity","ButtonType","PRIMARY","e","preventDefault","InputLabel","MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE","Avatar","ChannelAvatar","display","URL","createObjectURL","target","files","TextButton","click","Label","LabelTypography","BUTTON_1","LabelColors","MODAL__CHANNEL_INFORMATION__UPLOAD","MODAL__CHANNEL_INFORMATION__CHANNEL_NAME","Input","MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER","propTypes","PropTypes","func","isRequired","shape","string","ChannelProfile","disabled","onChannelInfoChange","showModal","setShowModal","SUBTITLE_2","ONBACKGROUND_1","ONBACKGROUND_2","CHANNEL_SETTING__PROFILE__EDIT","EditDetailsModal","bool","defaultProps","MembersModal","_a","hideModal","currentUser","_b","members","setMembers","_c","memberQuery","setMemberQuery","useEffect","memberListQuery","createMemberListQuery","limit","next","error","noop","hasNext","fetchMore","clientHeight","scrollTop","scrollHeight","o","map","member","UserListItem","parentRef","actionRef","myRole","ContextMenu","toggleDropdown","IconButton","Icon","IconTypes","MORE","IconColors","CONTENT_INVERSE","closeDropdown","MenuItems","MenuItem","role","addOperators","m","removeOperators","isBroadcast","isMuted","unmuteUser","muteUser","banUser","filter","SHOWN_MEMBER_MAX","avatarRef","UserProfileContext","disableUserProfile","renderUserProfile","profileUrl","paddingTop","paddingBottom","user","currentUserId","close","UserProfile","nickname","NO_NAME","YOU","MemebersAccordion","userQueryCreator","onInviteMemebers","swapParams","showMoreModal","setShowMoreModal","showAddUserModal","setShowAddUserModal","slice","length","Button","ButtonTypes","SECONDARY","ButtonSizes","SMALL","CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS","CHANNEL_SETTING__MEMBERS__INVITE_MEMBER","InviteMembers","MODAL__INVITE_MEMBER__TITLE","BUTTON__INVITE","arrayOf","COMPONENT_NAME","className","action","injectingClassNames","Array","isArray","__spreadArrays","join","MutedAvatarOverlay","SUBTITLE_1","CAPTION_3","OperatorsModal","operators","setOperators","operatorQuery","setOperatorQuery","operatorListQuery","createOperatorListQuery","response","AddOperatorsModal","selectedMembers","setSelectedMembers","_d","selectedCount","Object","keys","ONBACKGROUND_3","CAPTION_1","MODAL__INVITE_MEMBER__SELECTEC","event","modifiedSelectedMembers","id","checked","OperatorList","sdk","showMore","setShowMore","showAdd","setShowAdd","_e","setHasNext","refershList","useCallback","operator","CHANNEL_SETTING__OPERATORS__TITLE_ALL","CHANNEL_SETTING__OPERATORS__TITLE_ADD","mapStoreToProps","store","getSdk","withSendbirdContext","userQuery","setUserQuery","userListQuery","MemberList","showAllMembers","setShowAllMembers","showInviteMembers","setShowInviteMembers","memberUserListQuery","selectedMemebers","inviteWithUserIds","BannedMembersModal","bannedUserListQuery","createBannedUserListQuery","users","unbanUser","BannedMemberList","refreshList","MutedMembersModal","mutedMemberFilter","MutedMemberList","kFormatter","num","Math","abs","toFixed","index","frozen","setFrozen","isFrozen","AccordionGroup","Accordion","ICON_OPERATOR","CHANNEL_SETTING__OPERATORS__TITLE","MEMBERS","CHANNEL_SETTING__MEMBERS__TITLE","Badge","memberCount","ICON_MUTED","CHANNEL_SETTING__MUTED_MEMBERS__TITLE","ICON_BANNED","CHANNEL_SETTING__BANNED_MEMBERS__TITLE","FROZEN_LIGHT","CHANNEL_SETTING__FREEZE_CHANNEL","unfreeze","TOGGLE_ON","freeze","TOGGLE_OFF","ChannelSettings","onCloseClick","channelUrl","onChannelModified","renderChannelProfile","onBeforeUpdateChannel","sdkStore","stores","config","logger","isOnline","queries","userDefinedDisableUserProfile","userDefinedRenderProfile","userFilledApplicationUserListQuery","applicationUserListQuery","initialized","uuidv4","channelUpdateId","setChannelUpdateId","setChannel","invalidChannel","setInvalidChannel","showAccordion","setShowAccordion","showLeaveChannelModal","setShowLeaveChannelModal","info","warning","GroupChannel","getChannel","groupChannel","H_2","CHANNEL_SETTING__HEADER__TITLE","CLOSE","PlaceHolder","PlaceHolderTypes","WRONG","UserProfileProvider","currentTitle","getErrorFirstCallback","params","data","updateChannel","AdminPanel","createDefaultUserListQuery","SHEVRON","then","res","LEAVE","CHANNEL_SETTING__LEAVE_CHANNEL__TITLE","LeaveChannelModal","leave","oneOfType","element","number","userIdsFilter","metaDataKeyFilter","metaDataValuesFilter","createApplicationUserListQuery","any"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ChannelSettings.js","sources":["../../../src/smart-components/ChannelSettings/components/EditDetails.jsx","../../../src/smart-components/ChannelSettings/components/ChannelProfile.jsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/MembersModal.tsx","../../../src/smart-components/ChannelSettings/components/MemebersAccordion.jsx","../../../src/smart-components/ChannelSettings/components/UserListItem.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/OperatorsModal.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/AddOperatorsModal.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/OperatorList.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/InviteMembersModal.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/MemberList.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/BannedMembersModal.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/BannedMemberList.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/MutedMembersModal.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/MutedMemberList.tsx","../../../src/smart-components/ChannelSettings/components/AdminPanel/index.tsx","../../../src/smart-components/ChannelSettings/index.jsx"],"sourcesContent":["import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Modal from '../../../ui/Modal';\nimport Input, { InputLabel } from '../../../ui/Input';\nimport Avatar from '../../../ui/Avatar/index';\nimport { Type as ButtonType } from '../../../ui/Button/type';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport TextButton from '../../../ui/TextButton';\nimport ChannelAvatar from '../../../ui/ChannelAvatar/index';\n\nconst EditDetails = (props) => {\n const {\n onSubmit,\n onCancel,\n channel,\n userId,\n theme,\n } = props;\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const hiddenInputRef = useRef(null);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n const title = channel.name;\n return (\n {\n if (title !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n onSubmit(newFile, inputRef.current.value);\n onCancel();\n }}\n type={ButtonType.PRIMARY}\n >\n { e.preventDefault(); }}\n >\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE}\n \n
\n {\n currentImg\n ? (\n \n ) : (\n \n )\n }\n
\n {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n hiddenInputRef.current.click()}\n notUnderline\n >\n \n \n
\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_NAME}\n \n \n
\n \n \n );\n};\n\nEditDetails.propTypes = {\n onSubmit: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n channel: PropTypes.shape({\n name: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n theme: PropTypes.string.isRequired,\n};\n\nexport default EditDetails;\n","import React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './channel-profile.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport EditDetailsModal from './EditDetails';\nimport TextButton from '../../../ui/TextButton';\nimport ChannelAvatar from '../../../ui/ChannelAvatar/index';\n\nconst ChannelProfile = (props) => {\n const {\n disabled,\n channel,\n userId,\n theme,\n onChannelInfoChange,\n } = props;\n const title = channel.name;\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n
\n
\n
\n \n
\n \n {title}\n \n {\n if (disabled) { return; }\n setShowModal(true);\n }}\n notUnderline\n >\n \n {stringSet.CHANNEL_SETTING__PROFILE__EDIT}\n \n \n {\n showModal && (\n setShowModal(false)}\n onSubmit={onChannelInfoChange}\n channel={channel}\n userId={userId}\n theme={theme}\n />\n )\n }\n
\n
\n );\n};\n\nChannelProfile.propTypes = {\n channel: PropTypes.shape({\n name: PropTypes.string,\n }).isRequired,\n userId: PropTypes.string.isRequired,\n theme: PropTypes.string,\n disabled: PropTypes.bool,\n onChannelInfoChange: PropTypes.func,\n};\n\nChannelProfile.defaultProps = {\n theme: 'light',\n disabled: false,\n onChannelInfoChange: () => { },\n};\n\nexport default ChannelProfile;\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n currentUser?: string;\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport default function MembersModal({\n hideModal,\n channel,\n currentUser,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n\n useEffect(() => {\n const memberListQuery = channel.createMemberListQuery();\n memberListQuery.limit = 20;\n memberListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setMemberQuery(memberListQuery);\n }, [])\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"All Members\"\n >\n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n (\n <>\n {channel.myRole === 'operator' && (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n if ((member.role !== 'operator')) {\n channel.addOperators([member.userId], () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n role: 'operator',\n };\n }\n return m;\n }));\n closeDropdown();\n });\n } else {\n channel.removeOperators([member.userId], () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n role: '',\n };\n }\n return m;\n }));\n closeDropdown();\n });\n }\n }}\n >\n { member.role !== 'operator' ? 'Promote to operator' : 'Demote operator'}\n \n {\n // No muted members in broadcast channel\n !channel.isBroadcast && (\n {\n if (member.isMuted) {\n channel.unmuteUser(member, () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n isMuted: false,\n };\n }\n return m;\n }));\n closeDropdown();\n })\n } else {\n channel.muteUser(member, () => {\n setMembers(members.map(m => {\n if(m.userId === member.userId) {\n return {\n ...member,\n isMuted: true,\n };\n }\n return m;\n }));\n closeDropdown();\n });\n }\n }}\n >\n { member.isMuted ? 'Unmute' : 'Mute' }\n \n )\n }\n {\n channel.banUser(member, -1, '', () => {\n setMembers(members.filter(({ userId }) => {\n return userId !== member.userId;\n }));\n });\n }}\n >\n Ban\n \n \n )}\n />\n )}\n \n )}\n />\n ))}\n
\n \n \n );\n}\n","import React, { useState, useRef, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './members-accordion.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { UserProfileContext } from '../../../lib/UserProfileContext';\nimport Button from '../../../ui/Button';\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../ui/Button/type';\nimport Avatar from '../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport InviteMembers from '../../InviteMembers';\nimport MembersModal from './AdminPanel/MembersModal';\nimport UserProfile from '../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../ui/ContextMenu';\n\nconst SHOWN_MEMBER_MAX = 10;\n\nconst UserListItem = ({ member = {}, currentUser = '' }) => {\n const avatarRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={member.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: member,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n
\n \n
\n );\n};\n\nUserListItem.propTypes = {\n member: PropTypes.shape({\n userId: PropTypes.string,\n profileUrl: PropTypes.string,\n nickname: PropTypes.string,\n }).isRequired,\n currentUser: PropTypes.string.isRequired,\n};\n\nconst MemebersAccordion = ({\n channel,\n disabled,\n currentUser,\n userQueryCreator,\n onInviteMemebers,\n swapParams,\n}) => {\n const members = channel.members || [];\n const [showMoreModal, setShowMoreModal] = useState(false);\n const [showAddUserModal, setShowAddUserModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n {\n members.slice(0, SHOWN_MEMBER_MAX).map((member) => (\n \n ))\n }\n
\n
\n {\n members.length >= SHOWN_MEMBER_MAX && (\n setShowMoreModal(true)}\n >\n {stringSet.CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS}\n \n )\n }\n {\n members.length >= SHOWN_MEMBER_MAX && showMoreModal && (\n {\n setShowMoreModal(false);\n }}\n channel={channel}\n />\n )\n }\n {\n if (disabled) { return; }\n setShowAddUserModal(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__MEMBERS__INVITE_MEMBER}\n \n {\n showAddUserModal && (\n setShowAddUserModal(false)}\n idsToFilter={members.map((member) => (member.userId))}\n userQueryCreator={userQueryCreator}\n onSubmit={onInviteMemebers}\n />\n )\n }\n
\n
\n );\n};\n\nMemebersAccordion.propTypes = {\n swapParams: PropTypes.bool,\n disabled: PropTypes.bool,\n channel: PropTypes.shape({\n members: PropTypes.arrayOf(PropTypes.shape({})),\n }),\n currentUser: PropTypes.string,\n userQueryCreator: PropTypes.func.isRequired,\n onInviteMemebers: PropTypes.func.isRequired,\n};\n\nMemebersAccordion.defaultProps = {\n swapParams: false,\n currentUser: '',\n disabled: false,\n channel: {},\n};\n\nexport default MemebersAccordion;\n","// might move to reusable/UI\n\nimport React, { ReactElement, useRef, useContext } from 'react';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { UserProfileContext } from '../../../lib/UserProfileContext';\nimport Avatar from '../../../ui/Avatar/index';\nimport MutedAvatarOverlay from '../../../ui/Avatar/MutedAvatarOverlay';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport UserProfile from '../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../ui/ContextMenu';\n\nimport './user-list-item.scss';\nimport { SendbirdTypes } from '../../../types';\n\nconst COMPONENT_NAME = 'sendbird-user-list-item--small';\n\ninterface ActionProps {\n actionRef: React.RefObject;\n parentRef: React.RefObject;\n}\n\ntype CustomUser = SendbirdTypes['User'] & {\n isMuted: boolean;\n role: string;\n};\n\ninterface Props {\n user: CustomUser;\n currentUser?: string;\n className?: string;\n action?(props: ActionProps): ReactElement;\n}\n\nconst UserListItem = ({\n user,\n className,\n currentUser,\n action,\n}: Props): ReactElement => {\n const actionRef = useRef(null);\n const parentRef = useRef(null);\n const avatarRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const injectingClassNames = Array.isArray(className) ? className : [className];\n return (\n \n {\n user.isMuted && (\n \n )\n }\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n className={`${COMPONENT_NAME}__avatar`}\n src={user.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n \n {user.nickname || stringSet.NO_NAME}\n {\n (currentUser === user.userId) && (\n \" (You)\"\n )\n }\n \n { // if there is now nickname, display userId\n !user.nickname && (\n \n {user.userId}\n \n )\n }\n {\n user.role === 'operator' && (\n \n Operator\n \n )\n }\n {\n action && (\n
\n { action({ actionRef, parentRef }) }\n
\n )\n }\n \n );\n}\n\nexport default UserListItem;\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n currentUser?: string;\n}\n\nexport default function OperatorsModal({\n hideModal,\n channel,\n currentUser,\n}: Props): ReactElement {\n const [operators, setOperators] = useState([]);\n const [operatorQuery, setOperatorQuery] = useState(null);\n\n useEffect(() => {\n const operatorListQuery = channel.createOperatorListQuery();\n operatorListQuery.limit = 20;\n operatorListQuery.next((operators, error) => {\n if (error) {\n return;\n }\n setOperators(operators);\n });\n setOperatorQuery(operatorListQuery);\n }, [])\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"All operators\"\n >\n {\n const { hasNext } = operatorQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n operatorQuery.next((o, error) => {\n if (error) {\n return;\n }\n setOperators([\n ...operators,\n ...o,\n ])\n });\n }\n }}\n >\n { operators.map((member) => (\n (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.removeOperators([member.userId], (response, error) => {\n if (error) {\n return;\n }\n setOperators(operators.filter(({ userId }) => {\n return userId !== member.userId;\n }));\n });\n closeDropdown();\n }}\n >\n Dismiss operator\n \n \n )}\n />\n )}\n />\n ))}\n
\n \n \n )\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport Modal from '../../../../ui/Modal';\nimport Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport { Type as ButtonType } from '../../../../ui/Button/type';\nimport UserListItem from '../../../../ui/UserListItem';\n\ninterface Props {\n hideModal(): void;\n onSubmit(members: Array): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport default function AddOperatorsModal({\n hideModal,\n channel,\n onSubmit,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [selectedMembers, setSelectedMembers] = useState({});\n const [memberQuery, setMemberQuery] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n const memberListQuery = channel.createMemberListQuery();\n memberListQuery.limit = 20;\n memberListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setMemberQuery(memberListQuery);\n }, [])\n\n const selectedCount = Object.keys(selectedMembers).filter((m) => selectedMembers[m]).length;\n return (\n
\n hideModal()}\n onSubmit={() => {\n const members = Object.keys(selectedMembers).filter((m) => selectedMembers[m]);\n onSubmit(members);\n }}\n titleText=\"Select members\"\n >\n 0) ? LabelColors.PRIMARY : LabelColors.ONBACKGROUND_3}\n type={LabelTypography.CAPTION_1}\n >\n {`${selectedCount} ${stringSet.MODAL__INVITE_MEMBER__SELECTEC}`}\n \n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n {\n const modifiedSelectedMembers = {\n ...selectedMembers,\n [event.target.id]: event.target.checked,\n };\n if (!event.target.checked) {\n delete modifiedSelectedMembers[event.target.id];\n }\n setSelectedMembers(modifiedSelectedMembers);\n }\n }\n user={member}\n key={member.userId}\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n useContext,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport OperatorsModal from './OperatorsModal';\nimport AddOperatorsModal from './AddOperatorsModal';\n\ninterface Props {\n sdk: SendbirdTypes[\"SendBirdInstance\"];\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport const OperatorList = ({ sdk, channel }: Props): ReactElement => {\n const [operators, setOperators] = useState([]);\n const [showMore, setShowMore] = useState(false);\n const [showAdd, setShowAdd] = useState(false);\n const [hasNext, setHasNext] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel) {\n setOperators([]);\n return;\n }\n\n const operatorListQuery = channel.createOperatorListQuery();\n operatorListQuery.limit = 10;\n operatorListQuery.next((operators, error) => {\n if (error) {\n return;\n }\n setOperators(operators);\n setHasNext(operatorListQuery.hasNext);\n });\n }, [channel]);\n\n const refershList = useCallback(\n () => {\n if (!channel) {\n setOperators([]);\n return;\n }\n const operatorListQuery = channel.createOperatorListQuery();\n operatorListQuery.limit = 10;\n operatorListQuery.next((operators, error) => {\n if (error) {\n return;\n }\n setOperators(operators);\n setHasNext(operatorListQuery.hasNext);\n });\n },\n [channel],\n );\n\n return (\n <>\n {\n operators.map((operator) => (\n {\n return (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.removeOperators([operator.userId], (response, error) => {\n if (error) {\n return;\n }\n setOperators(operators.filter(({ userId }) => {\n return userId !== operator.userId;\n }))\n });\n closeDropdown();\n }}\n >\n Dismiss operator\n \n \n )}\n />\n );\n }}\n />\n ))\n }\n {\n hasNext && (\n \n {\n setShowMore(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ALL}\n \n {\n setShowAdd(true);\n }}\n >\n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE_ADD}\n \n \n )\n }\n {\n showMore && (\n {\n setShowMore(false);\n refershList();\n }}\n channel={channel}\n />\n )\n }\n {\n showAdd && (\n setShowAdd(false)}\n channel={channel}\n onSubmit={(members) => {\n setShowAdd(false);\n channel.addOperators(members, () => {\n refershList();\n });\n }}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(OperatorList, mapStoreToProps);\n","import React, { ReactElement, useEffect, useState } from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport { Type as ButtonType } from '../../../../ui/Button/type';\nimport UserListItem from '../../../../ui/UserListItem';\n\ninterface Props {\n hideModal(): void;\n onSubmit(members: Array): void;\n channel: SendbirdTypes['GroupChannel'];\n userQueryCreator(): SendbirdTypes['UserListQuery'];\n}\n\nexport default function InviteMembers({\n hideModal,\n userQueryCreator,\n onSubmit,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [selectedMembers, setSelectedMembers] = useState({});\n const [userQuery, setUserQuery] = useState(null);\n\n useEffect(() => {\n const userListQuery = userQueryCreator();\n userListQuery.limit = 20;\n userListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setUserQuery(userListQuery);\n }, [])\n return (\n
\n hideModal()}\n onSubmit={() => {\n const members = Object.keys(selectedMembers).filter((m) => selectedMembers[m]);\n onSubmit(members);\n }}\n titleText=\"Select members\"\n >\n {\n const { hasNext } = userQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n userQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n {\n const modifiedSelectedMembers = {\n ...selectedMembers,\n [event.target.id]: event.target.checked,\n };\n if (!event.target.checked) {\n delete modifiedSelectedMembers[event.target.id];\n }\n setSelectedMembers(modifiedSelectedMembers);\n }\n }\n user={member}\n key={member.userId}\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport MembersModal from './MembersModal';\nimport InviteMembers from './InviteMembersModal';\n\ninterface Props {\n sdk: SendbirdTypes['SendBirdInstance'];\n channel: SendbirdTypes['GroupChannel'];\n userQueryCreator(): SendbirdTypes['UserListQuery'];\n userId: string;\n}\n\nexport const MemberList = ({\n sdk,\n channel,\n userQueryCreator,\n userId,\n}: Props): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showAllMembers, setShowAllMembers] = useState(false);\n const [showInviteMembers, setShowInviteMembers] = useState(false);\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refershList = useCallback(\n () => {\n if (!channel) {\n setMembers([]);\n return;\n }\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n },\n [channel],\n );\n\n return (\n <>\n {\n members.map((member) => (\n (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n if ((member.role !== 'operator')) {\n channel.addOperators([member.userId], () => {\n refershList();\n closeDropdown();\n });\n } else {\n channel.removeOperators([member.userId], () => {\n refershList();\n closeDropdown();\n });\n }\n }}\n >\n {member.role !== 'operator' ? 'Promote to operator' : 'Demote operator'}\n \n {\n // No muted members in broadcast channel\n !channel.isBroadcast && (\n {\n if (member.isMuted) {\n channel.unmuteUser(member, () => {\n refershList();\n closeDropdown();\n })\n } else {\n channel.muteUser(member, () => {\n refershList();\n closeDropdown();\n });\n }\n }}\n >\n { member.isMuted ? 'Unmute' : 'Mute'}\n \n )\n }\n {\n channel.banUser(member, -1, '', () => {\n refershList();\n closeDropdown();\n });\n }}\n >\n Ban\n \n \n )}\n />\n )\n : null\n }\n />\n ))\n }\n \n {\n hasNext && (\n setShowAllMembers(true)}\n >\n All members\n \n )\n }\n setShowInviteMembers(true)}\n >\n Invite members\n \n \n {\n showAllMembers && (\n {\n setShowAllMembers(false);\n refershList();\n }}\n />\n )\n }\n {\n showInviteMembers && (\n ) => {\n channel.inviteWithUserIds(selectedMemebers, () => {\n setShowInviteMembers(false);\n refershList();\n });\n }}\n channel={channel}\n hideModal={() => setShowInviteMembers(false)}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(MemberList, mapStoreToProps);\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport default function BannedMembersModal({\n hideModal,\n channel,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n\n useEffect(() => {\n const bannedUserListQuery = channel.createBannedUserListQuery();\n bannedUserListQuery.next((users, error) => {\n if (error) {\n return;\n }\n setMembers(users);\n });\n setMemberQuery(bannedUserListQuery);\n }, []);\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"Muted members\"\n >\n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unbanUser(member, () => {\n closeDropdown();\n setMembers(members.filter(m => {\n return (m.userId !== member.userId);\n }));\n })\n }}\n >\n Unban\n \n \n )}\n />\n )\n }\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\n\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport BannedMembersModal from './BannedMembersModal';\n\ninterface Props {\n sdk: SendbirdTypes[\"SendBirdInstance\"];\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport const BannedMemberList = ({ channel }: Props): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const bannedUserListQuery = channel.createBannedUserListQuery();\n bannedUserListQuery.next((users, error) => {\n if (error) {\n return;\n }\n setMembers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const bannedUserListQuery = channel.createBannedUserListQuery();\n bannedUserListQuery.next(function(users, error) {\n if (error) {\n return;\n }\n setMembers(users);\n setHasNext(bannedUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n members.map((member) => (\n {\n return (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unbanUser(member, () => {\n closeDropdown();\n refreshList();\n })\n }}\n >\n Unban\n \n \n )}\n />\n )\n }}\n />\n ))\n }\n {\n members && members.length === 0 && (\n \n No banned members yet\n \n )\n }\n {\n hasNext && (\n \n {\n setShowModal(true);\n }}\n >\n All banned members\n \n \n )\n }\n {\n showModal && (\n {\n setShowModal(false);\n refreshList();\n }}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(BannedMemberList, mapStoreToProps);\n","import React, {\n ReactElement,\n useEffect,\n useState,\n} from 'react'\n\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport Modal from '../../../../ui/Modal';\nimport UserListItem from '../../../../ui/UserListItem';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport { noop } from '../../../../utils/utils';\n\ninterface Props {\n hideModal(): void;\n channel: SendbirdTypes[\"GroupChannel\"];\n currentUser?: string;\n}\n\nexport default function MutedMembersModal({\n hideModal,\n channel,\n currentUser,\n}: Props): ReactElement {\n const [members, setMembers] = useState([]);\n const [memberQuery, setMemberQuery] = useState(null);\n\n useEffect(() => {\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.mutedMemberFilter = 'muted';\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n });\n setMemberQuery(memberUserListQuery);\n }, []);\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText=\"Muted members\"\n >\n {\n const { hasNext } = memberQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n memberQuery.next((o, error) => {\n if (error) {\n return;\n }\n setMembers([\n ...members,\n ...o,\n ])\n });\n }\n }}\n >\n { members.map((member) => (\n (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unmuteUser(member, () => {\n closeDropdown();\n setMembers(members.filter(m => {\n return (m.userId !== member.userId);\n }));\n })\n }}\n >\n Unmute\n \n \n )}\n />\n )}\n />\n ))}\n
\n \n \n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useCallback,\n} from 'react';\n\nimport { SendbirdTypes } from '../../../../types';\n\nimport withSendbirdContext from '../../../../lib/SendbirdSdkContext';\nimport { getSdk } from '../../../../lib/selectors';\nimport Button from '../../../../ui/Button';\nimport IconButton from '../../../../ui/IconButton';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport ContextMenu, { MenuItem, MenuItems } from '../../../../ui/ContextMenu';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../../ui/Button/type';\nimport UserListItem from '../UserListItem';\nimport MutedMembersModal from './MutedMembersModal';\n\ninterface Props {\n sdk: SendbirdTypes[\"SendBirdInstance\"];\n channel: SendbirdTypes[\"GroupChannel\"];\n}\n\nexport const MutedMemberList = ({ sdk, channel }: Props): ReactElement => {\n const [members, setMembers] = useState([]);\n const [hasNext, setHasNext] = useState(false);\n const [showModal, setShowModal] = useState(false);\n\n useEffect(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.mutedMemberFilter = 'muted';\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n\n const refreshList = useCallback(() => {\n if (!channel) {\n setMembers([]);\n return;\n }\n\n const memberUserListQuery = channel.createMemberListQuery();\n memberUserListQuery.limit = 10;\n memberUserListQuery.mutedMemberFilter = 'muted';\n memberUserListQuery.next((members, error) => {\n if (error) {\n return;\n }\n setMembers(members);\n setHasNext(memberUserListQuery.hasNext);\n });\n }, [channel]);\n return (\n <>\n {\n members.map((member) => (\n {\n return (\n (\n \n \n \n )}\n menuItems={(closeDropdown) => (\n \n {\n channel.unmuteUser(member, () => {\n refreshList();\n closeDropdown();\n })\n }}\n >\n Unmute\n \n \n )}\n />\n );\n }\n }\n />\n ))\n }\n {\n members && members.length === 0 && (\n \n No muted members yet\n \n )\n }\n {\n hasNext && (\n \n {\n setShowModal(true);\n }}\n >\n All muted members\n \n \n )\n }\n {\n showModal && (\n {\n setShowModal(false);\n refreshList();\n }}\n />\n )\n }\n \n );\n}\n\nconst mapStoreToProps = (store) => ({\n sdk: getSdk(store),\n});\n\nexport default withSendbirdContext(MutedMemberList, mapStoreToProps);\n","import './index.scss';\nimport React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\nimport { SendbirdTypes } from '../../../../types';\n\nimport Accordion, { AccordionGroup } from '../../../../ui/Accordion';\nimport { LocalizationContext } from '../../../../lib/LocalizationContext';\nimport\n Label, {\n LabelTypography,\n LabelColors,\n} from '../../../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../../../ui/Icon';\nimport Badge from '../../../../ui/Badge';\n\nimport OperatorList from './OperatorList';\nimport MemberList from './MemberList';\nimport BannedMemberList from './BannedMemberList';\nimport MutedMemberList from './MutedMemberList';\n\nconst kFormatter = (num: number): string|number => {\n return Math.abs(num) > 999\n ? `${(Math.abs(num)/1000).toFixed(1)}K`\n : num;\n}\n\ninterface Props {\n channel: SendbirdTypes['GroupChannel'];\n userQueryCreator(): SendbirdTypes['UserListQuery'];\n userId: string;\n}\n\nexport default function AdminPannel({\n userQueryCreator,\n channel,\n userId,\n}: Props): ReactElement {\n const [frozen, setFrozen] = useState(false);\n\n // work around for\n // https://sendbird.slack.com/archives/G01290GCDCN/p1595922832000900\n // SDK bug - after frozen/unfrozen myRole becomes \"none\"\n useEffect(() => {\n setFrozen(channel.isFrozen);\n }, [channel]);\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__OPERATORS__TITLE}\n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__MEMBERS__TITLE}\n \n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n {\n // No muted members in broadcast channel\n !channel.isBroadcast && (\n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__MUTED_MEMBERS__TITLE}\n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n )\n }\n (\n <>\n \n \n {stringSet.CHANNEL_SETTING__BANNED_MEMBERS__TITLE}\n \n \n )}\n renderContent={() => (\n <>\n \n \n )}\n />\n {\n // cannot frozen broadcast channel\n !channel.isBroadcast && (\n
\n \n \n {stringSet.CHANNEL_SETTING__FREEZE_CHANNEL}\n \n
\n {\n frozen\n ? (\n {\n channel.unfreeze(() => {\n setFrozen(false);\n });\n }}\n type={IconTypes.TOGGLE_ON}\n fillColor={IconColors.PRIMARY}\n width={44}\n height={24}\n />\n )\n : (\n {\n channel.freeze(() => {\n setFrozen(true);\n });\n }}\n type={IconTypes.TOGGLE_OFF}\n fillColor={IconColors.PRIMARY}\n width={44}\n height={24}\n />\n )\n }\n
\n
\n )\n }\n
\n );\n}\n","import React, { useEffect, useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport './index.scss';\nimport Badge from '../../ui/Badge';\nimport Label, { LabelTypography, LabelColors } from '../../ui/Label';\nimport Icon, { IconTypes, IconColors } from '../../ui/Icon';\nimport IconButton from '../../ui/IconButton';\n\nimport ChannelProfile from './components/ChannelProfile';\nimport MemebersAccordion from './components/MemebersAccordion';\nimport LeaveChannelModal from './components/LeaveChannel';\nimport AdminPanel from './components/AdminPanel';\nimport PlaceHolder from '../../ui/PlaceHolder';\nimport PlaceHolderTypes from '../../ui/PlaceHolder/type';\nimport { uuidv4 } from '../../utils/uuid';\nimport { createDefaultUserListQuery } from '../ChannelList/components/utils';\n\n\nconst kFormatter = (num) => (\n Math.abs(num) > 999\n ? `${(Math.abs(num) / 1000).toFixed(1)}K`\n : num\n);\n\nfunction ChannelSettings(props) {\n const {\n onCloseClick,\n channelUrl,\n disableUserProfile,\n renderUserProfile,\n onChannelModified,\n renderChannelProfile,\n onBeforeUpdateChannel,\n } = props;\n\n const {\n stores: { sdkStore },\n config: {\n userListQuery,\n theme,\n userId,\n logger,\n isOnline,\n },\n queries = {},\n } = props;\n\n const { config = {} } = props;\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n\n const userFilledApplicationUserListQuery = queries.applicationUserListQuery;\n const { stringSet } = useContext(LocalizationContext);\n\n const { sdk, initialized } = sdkStore;\n\n // hack to kepp track of channel updates by triggering useEffect\n const [channelUpdateId, setChannelUpdateId] = useState(uuidv4());\n const [channel, setChannel] = useState(null);\n const [invalidChannel, setInvalidChannel] = useState(false);\n const [showAccordion, setShowAccordion] = useState(false);\n const [showLeaveChannelModal, setShowLeaveChannelModal] = useState(false);\n\n useEffect(() => {\n logger.info('ChannelSettings: Setting up');\n if (!channelUrl || !initialized || !sdk) {\n logger.warning('ChannelSettings: Setting up failed', 'No channelUrl or sdk uninitialized');\n setInvalidChannel(false);\n } else {\n if (!sdk || !sdk.GroupChannel) {\n logger.warning('ChannelSettings: No GroupChannel');\n return;\n }\n sdk.GroupChannel.getChannel(channelUrl, (groupChannel) => {\n if (!groupChannel) {\n logger.warning('ChannelSettings: Channel not found');\n setInvalidChannel(true);\n } else {\n logger.info('ChannelSettings: Fetched group channel', groupChannel);\n setInvalidChannel(false);\n setChannel(groupChannel);\n }\n });\n }\n }, [channelUrl, initialized, channelUpdateId]);\n\n if (!channel || invalidChannel) {\n return (\n
\n
\n \n {\n logger.info('ChannelSettings: Click close');\n onCloseClick();\n }}\n />\n
\n
\n \n
\n
\n );\n }\n\n return (\n \n
\n \n
\n {\n logger.info('ChannelSettings: Click close');\n onCloseClick();\n }}\n >\n \n \n
\n
\n
\n {\n renderChannelProfile\n ? renderChannelProfile({ channel })\n : (\n {\n logger.info('ChannelSettings: Channel information being updated');\n const swapParams = sdk.getErrorFirstCallback();\n if (onBeforeUpdateChannel) {\n const params = onBeforeUpdateChannel(currentTitle, currentImg, channel.data);\n // swapParams\n channel.updateChannel(params, (response, error) => {\n let groupChannel = response;\n if (swapParams) {\n groupChannel = error;\n }\n\n onChannelModified(groupChannel);\n setChannelUpdateId(uuidv4());\n });\n return;\n }\n channel.updateChannel(\n currentTitle,\n currentImg,\n channel.data,\n (response, error) => {\n let groupChannel = response;\n if (swapParams) {\n groupChannel = error;\n }\n logger.info('ChannelSettings: Channel information updated', groupChannel);\n onChannelModified(groupChannel);\n setChannelUpdateId(uuidv4());\n },\n );\n }}\n />\n )\n }\n {\n channel.myRole === 'operator'\n ? (\n {\n // setChannelUpdateId(uuidv4());\n onChannelModified(groupChannel);\n }}\n userQueryCreator={\n () => ((userListQuery && typeof userListQuery === 'function')\n ? userListQuery()\n : createDefaultUserListQuery({ sdk, userFilledApplicationUserListQuery })\n )\n }\n />\n )\n : (\n <>\n {/* Move to different file */}\n setShowAccordion(!showAccordion)}\n className={`\n sendbird-channel-settings__panel-item\n sendbird-channel-settings__members\n `}\n onClick={() => setShowAccordion(!showAccordion)}\n >\n \n \n {`${stringSet.CHANNEL_SETTING__MEMBERS__TITLE}`}\n \n \n \n
\n {\n showAccordion && (\n ((userListQuery && typeof userListQuery === 'function')\n ? userListQuery()\n : createDefaultUserListQuery({ sdk, userFilledApplicationUserListQuery })\n )\n }\n swapParams={\n sdk && sdk.getErrorFirstCallback && sdk.getErrorFirstCallback()\n }\n channel={channel}\n members={channel.members}\n onInviteMemebers={(selectedMemebers) => {\n logger.info('ChannelSettings: Inviting new users');\n channel.inviteWithUserIds(selectedMemebers)\n .then((res) => {\n onChannelModified(res);\n setChannelUpdateId(uuidv4());\n logger.info('ChannelSettings: Inviting new users success!', res);\n });\n }}\n />\n )\n }\n \n )\n }\n\n {\n if (!isOnline) { return; }\n setShowLeaveChannelModal(true);\n }}\n onClick={() => {\n if (!isOnline) { return; }\n setShowLeaveChannelModal(true);\n }}\n >\n \n \n {stringSet.CHANNEL_SETTING__LEAVE_CHANNEL__TITLE}\n \n \n {\n showLeaveChannelModal && (\n setShowLeaveChannelModal(false)}\n onLeaveChannel={() => {\n logger.info('ChannelSettings: Leaving channel', channel);\n channel.leave()\n .then(() => {\n logger.info('ChannelSettings: Leaving channel successful!', channel);\n onCloseClick();\n });\n }}\n />\n )\n }\n \n \n );\n}\n\nChannelSettings.propTypes = {\n onCloseClick: PropTypes.func,\n onChannelModified: PropTypes.func,\n onBeforeUpdateChannel: PropTypes.func,\n renderChannelProfile: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n channelUrl: PropTypes.string.isRequired,\n queries: PropTypes.shape({\n applicationUserListQuery: PropTypes.shape({\n limit: PropTypes.number,\n userIdsFilter: PropTypes.arrayOf(PropTypes.string),\n metaDataKeyFilter: PropTypes.string,\n metaDataValuesFilter: PropTypes.arrayOf(PropTypes.string),\n }),\n }),\n // from withSendbirdContext\n stores: PropTypes.shape({\n sdkStore: PropTypes.shape({\n sdk: PropTypes.shape({\n getErrorFirstCallback: PropTypes.func,\n GroupChannel: PropTypes.oneOfType([\n PropTypes.shape({\n getChannel: PropTypes.func,\n }),\n PropTypes.func,\n ]),\n createApplicationUserListQuery: PropTypes.any,\n }),\n initialized: PropTypes.bool,\n }),\n }).isRequired,\n config: PropTypes.shape({\n userId: PropTypes.string,\n theme: PropTypes.string,\n userListQuery: PropTypes.func,\n isOnline: PropTypes.bool,\n logger: PropTypes.shape({\n info: PropTypes.func,\n error: PropTypes.func,\n warning: PropTypes.func,\n }),\n }).isRequired,\n};\n\nChannelSettings.defaultProps = {\n onBeforeUpdateChannel: null,\n queries: {},\n disableUserProfile: false,\n renderUserProfile: null,\n renderChannelProfile: null,\n onCloseClick: () => { },\n onChannelModified: () => { },\n};\n\nexport default withSendbirdContext(ChannelSettings);\n"],"names":["EditDetails","props","onSubmit","onCancel","channel","userId","theme","inputRef","useRef","formRef","hiddenInputRef","useState","currentImg","setCurrentImg","newFile","setNewFile","useContext","LocalizationContext","stringSet","title","name","React","Modal","MODAL__CHANNEL_INFORMATION__TITLE","BUTTON__SAVE","current","value","reportValidity","ButtonType","PRIMARY","e","preventDefault","InputLabel","MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE","Avatar","ChannelAvatar","display","URL","createObjectURL","target","files","TextButton","click","Label","LabelTypography","BUTTON_1","LabelColors","MODAL__CHANNEL_INFORMATION__UPLOAD","MODAL__CHANNEL_INFORMATION__CHANNEL_NAME","Input","MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER","propTypes","PropTypes","func","isRequired","shape","string","ChannelProfile","disabled","onChannelInfoChange","showModal","setShowModal","SUBTITLE_2","ONBACKGROUND_1","ONBACKGROUND_2","CHANNEL_SETTING__PROFILE__EDIT","EditDetailsModal","bool","defaultProps","MembersModal","_a","hideModal","currentUser","_b","members","setMembers","_c","memberQuery","setMemberQuery","useEffect","memberListQuery","createMemberListQuery","limit","next","error","noop","hasNext","fetchMore","clientHeight","scrollTop","scrollHeight","o","map","member","UserListItem","parentRef","actionRef","myRole","ContextMenu","toggleDropdown","IconButton","Icon","IconTypes","MORE","IconColors","CONTENT_INVERSE","closeDropdown","MenuItems","MenuItem","role","addOperators","m","removeOperators","isBroadcast","isMuted","unmuteUser","muteUser","banUser","filter","SHOWN_MEMBER_MAX","avatarRef","UserProfileContext","disableUserProfile","renderUserProfile","profileUrl","paddingTop","paddingBottom","user","currentUserId","close","UserProfile","nickname","NO_NAME","YOU","MemebersAccordion","userQueryCreator","onInviteMemebers","swapParams","showMoreModal","setShowMoreModal","showAddUserModal","setShowAddUserModal","slice","length","Button","ButtonTypes","SECONDARY","ButtonSizes","SMALL","CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS","CHANNEL_SETTING__MEMBERS__INVITE_MEMBER","InviteMembers","MODAL__INVITE_MEMBER__TITLE","BUTTON__INVITE","arrayOf","COMPONENT_NAME","className","action","injectingClassNames","Array","isArray","__spreadArrays","join","MutedAvatarOverlay","SUBTITLE_1","CAPTION_3","OperatorsModal","operators","setOperators","operatorQuery","setOperatorQuery","operatorListQuery","createOperatorListQuery","response","AddOperatorsModal","selectedMembers","setSelectedMembers","_d","selectedCount","Object","keys","ONBACKGROUND_3","CAPTION_1","MODAL__INVITE_MEMBER__SELECTEC","event","modifiedSelectedMembers","id","checked","OperatorList","sdk","showMore","setShowMore","showAdd","setShowAdd","_e","setHasNext","refershList","useCallback","operator","CHANNEL_SETTING__OPERATORS__TITLE_ALL","CHANNEL_SETTING__OPERATORS__TITLE_ADD","mapStoreToProps","store","getSdk","withSendbirdContext","userQuery","setUserQuery","userListQuery","MemberList","showAllMembers","setShowAllMembers","showInviteMembers","setShowInviteMembers","memberUserListQuery","selectedMemebers","inviteWithUserIds","BannedMembersModal","bannedUserListQuery","createBannedUserListQuery","users","unbanUser","BannedMemberList","refreshList","MutedMembersModal","mutedMemberFilter","MutedMemberList","kFormatter","num","Math","abs","toFixed","AdminPannel","frozen","setFrozen","isFrozen","AccordionGroup","Accordion","OPERATOR","CHANNEL_SETTING__OPERATORS__TITLE","MEMBERS","CHANNEL_SETTING__MEMBERS__TITLE","Badge","memberCount","MUTE","CHANNEL_SETTING__MUTED_MEMBERS__TITLE","BAN","CHANNEL_SETTING__BANNED_MEMBERS__TITLE","FREEZE","CHANNEL_SETTING__FREEZE_CHANNEL","unfreeze","TOGGLE_ON","freeze","TOGGLE_OFF","ChannelSettings","onCloseClick","channelUrl","onChannelModified","renderChannelProfile","onBeforeUpdateChannel","sdkStore","stores","config","logger","isOnline","queries","userDefinedDisableUserProfile","userDefinedRenderProfile","userFilledApplicationUserListQuery","applicationUserListQuery","initialized","uuidv4","channelUpdateId","setChannelUpdateId","setChannel","invalidChannel","setInvalidChannel","showAccordion","setShowAccordion","showLeaveChannelModal","setShowLeaveChannelModal","info","warning","GroupChannel","getChannel","groupChannel","H_2","CHANNEL_SETTING__HEADER__TITLE","CLOSE","PlaceHolder","PlaceHolderTypes","WRONG","UserProfileProvider","currentTitle","getErrorFirstCallback","params","data","updateChannel","AdminPanel","createDefaultUserListQuery","CHEVRON_RIGHT","then","res","LEAVE","CHANNEL_SETTING__LEAVE_CHANNEL__TITLE","LeaveChannelModal","leave","oneOfType","element","number","userIdsFilter","metaDataKeyFilter","metaDataValuesFilter","createApplicationUserListQuery","any"],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/LeaveChannel-c93b4597.js b/dist/cjs/LeaveChannel-c93b4597.js new file mode 100644 index 0000000..c949308 --- /dev/null +++ b/dist/cjs/LeaveChannel-c93b4597.js @@ -0,0 +1,301 @@ +'use strict'; + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var LocalizationContext = require('./LocalizationContext-12a9343d.js'); +var React = require('react'); +var React__default = _interopDefault(React); +var PropTypes = _interopDefault(require('prop-types')); +var index = require('./index-2a2230b8.js'); +var index$2 = require('./index-a8367321.js'); + +function Badge(_ref) { + var count = _ref.count, + maxLevel = _ref.maxLevel, + className = _ref.className; + + var _useContext = React.useContext(LocalizationContext.LocalizationContext), + stringSet = _useContext.stringSet; + + var maximumNumber = parseInt('9'.repeat(maxLevel > 6 ? 6 : maxLevel), 10); + var injectingClassName = Array.isArray(className) ? className : [className]; + return React__default.createElement("div", { + className: [].concat(LocalizationContext._toConsumableArray(injectingClassName), ['sendbird-badge']).join(' ') + }, React__default.createElement("div", { + className: "sendbird-badge__text" + }, React__default.createElement(index.Label, { + type: index.LabelTypography.CAPTION_2, + color: index.LabelColors.ONCONTENT_1 + }, count > maximumNumber ? "".concat(maximumNumber).concat(stringSet.BADGE__OVER) : count))); +} +Badge.propTypes = { + count: PropTypes.number.isRequired, + maxLevel: PropTypes.number, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]) +}; +Badge.defaultProps = { + maxLevel: 2, + className: [] +}; + +var filterUser = function filterUser(idsToFilter) { + return function (currentId) { + return idsToFilter.includes(currentId); + }; +}; + +var InviteMembers = function InviteMembers(props) { + var userQueryCreator = props.userQueryCreator, + closeModal = props.closeModal, + _onSubmit = props.onSubmit, + submitText = props.submitText, + titleText = props.titleText, + idsToFilter = props.idsToFilter, + swapParams = props.swapParams; + + var _useState = React.useState([]), + _useState2 = LocalizationContext._slicedToArray(_useState, 2), + users = _useState2[0], + setUsers = _useState2[1]; + + var _useState3 = React.useState({}), + _useState4 = LocalizationContext._slicedToArray(_useState3, 2), + selectedUsers = _useState4[0], + setSelectedUsers = _useState4[1]; + + var _useContext = React.useContext(LocalizationContext.LocalizationContext), + stringSet = _useContext.stringSet; + + var _useState5 = React.useState({}), + _useState6 = LocalizationContext._slicedToArray(_useState5, 2), + usersDataSource = _useState6[0], + setUsersDataSource = _useState6[1]; + + var selectedCount = Object.keys(selectedUsers).length; + React.useEffect(function () { + var applicationUserListQuery = userQueryCreator(); + setUsersDataSource(applicationUserListQuery); + applicationUserListQuery.next(function (res, err) { + // eslint-disable-next-line no-underscore-dangle + var users_ = res; + var error = err; + + if (swapParams) { + users_ = err; + error = users_; + } + + if (error) { + return; + } + + setUsers(users_); + }); + }, []); + return React__default.createElement(index.Modal, { + onCancel: closeModal, + onSubmit: function onSubmit() { + var selectedUserList = Object.keys(selectedUsers); + + if (selectedUserList.length > 0) { + _onSubmit(selectedUserList); + + closeModal(); + } + }, + submitText: submitText, + titleText: titleText, + type: index.Type.PRIMARY + }, React__default.createElement("div", null, React__default.createElement(index.Label, { + color: selectedCount > 0 ? index.LabelColors.PRIMARY : index.LabelColors.ONBACKGROUND_3, + type: index.LabelTypography.CAPTION_1 + }, "".concat(selectedCount, " ").concat(stringSet.MODAL__INVITE_MEMBER__SELECTEC)), React__default.createElement("div", { + className: "sendbird-create-channel--scroll", + onScroll: function onScroll(e) { + var hasNext = usersDataSource.hasNext; + var fetchMore = e.target.clientHeight + e.target.scrollTop === e.target.scrollHeight; + + if (hasNext && fetchMore) { + usersDataSource.next(function (usersBatch, error) { + if (error) { + return; + } + + setUsers([].concat(LocalizationContext._toConsumableArray(users), LocalizationContext._toConsumableArray(usersBatch))); + }); + } + } + }, users.map(function (user) { + return !filterUser(idsToFilter)(user.userId) && React__default.createElement(index$2.UserListItem, { + key: user.userId, + user: user, + checkBox: true, + checked: selectedUsers[user.userId], + onChange: function onChange(event) { + var modifiedSelectedUsers = LocalizationContext._objectSpread2({}, selectedUsers, LocalizationContext._defineProperty({}, event.target.id, event.target.checked)); + + if (!event.target.checked) { + delete modifiedSelectedUsers[event.target.id]; + } + + setSelectedUsers(modifiedSelectedUsers); + } + }); + })))); +}; + +InviteMembers.propTypes = { + idsToFilter: PropTypes.arrayOf(PropTypes.string), + swapParams: PropTypes.bool, + userQueryCreator: PropTypes.func.isRequired, + closeModal: PropTypes.func.isRequired, + onSubmit: PropTypes.func.isRequired, + submitText: PropTypes.string, + titleText: PropTypes.string +}; +InviteMembers.defaultProps = { + swapParams: false, + submitText: 'create', + titleText: 'Create new channel', + idsToFilter: [] +}; + +var createDefaultUserListQuery = function createDefaultUserListQuery(_ref) { + var sdk = _ref.sdk, + _ref$userFilledApplic = _ref.userFilledApplicationUserListQuery, + userFilledApplicationUserListQuery = _ref$userFilledApplic === void 0 ? {} : _ref$userFilledApplic; + var params = sdk.createApplicationUserListQuery(); + + if (userFilledApplicationUserListQuery) { + Object.keys(userFilledApplicationUserListQuery).forEach(function (key) { + params[key] = userFilledApplicationUserListQuery[key]; + }); + } + + return params; +}; + +var getApplicationAttributes = function getApplicationAttributes() { + var sdk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var _sdk$appInfo = sdk.appInfo, + appInfo = _sdk$appInfo === void 0 ? {} : _sdk$appInfo; + var _appInfo$applicationA = appInfo.applicationAttributes, + applicationAttributes = _appInfo$applicationA === void 0 ? [] : _appInfo$applicationA; + return applicationAttributes; +}; + +var isBroadcastChannelEnabled = function isBroadcastChannelEnabled() { + var sdk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var ALLOW_BROADCAST_CHANNEL = 'allow_broadcast_channel'; + var applicationAttributes = getApplicationAttributes(sdk); + + if (Array.isArray(applicationAttributes)) { + return applicationAttributes.includes(ALLOW_BROADCAST_CHANNEL); + } + + return false; +}; +var isSuperGroupChannelEnabled = function isSuperGroupChannelEnabled() { + var sdk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var ALLOW_SUPER_GROUP_CHANNEL = 'allow_super_group_channel'; + var applicationAttributes = getApplicationAttributes(sdk); + + if (Array.isArray(applicationAttributes)) { + return applicationAttributes.includes(ALLOW_SUPER_GROUP_CHANNEL); + } + + return false; +}; +var setChannelType = function setChannelType(params, type) { + if (type === 'broadcast') { + // eslint-disable-next-line no-param-reassign + params.isBroadcast = true; + } + + if (type === 'supergroup') { + // eslint-disable-next-line no-param-reassign + params.isSuper = true; + } + + return params; +}; +var createChannel = function createChannel(sdk, selectedUsers, onBeforeCreateChannel, userId) { + var type = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'group'; + return new Promise(function (resolve, reject) { + // have custom params + if (onBeforeCreateChannel) { + var _params = onBeforeCreateChannel(selectedUsers); + + setChannelType(_params, type); + sdk.GroupChannel.createChannel(_params, function (response, error) { + var swapParams = sdk.getErrorFirstCallback(); + var groupChannel = response; + var err = error; + + if (swapParams) { + groupChannel = error; + err = response; + } + + if (err) { + reject(err); + } + + resolve(groupChannel); + }); + return; + } + + var params = new sdk.GroupChannelParams(); + params.addUserIds(selectedUsers); + params.isDistinct = false; + + if (userId) { + params.operatorUserIds = [userId]; + } + + setChannelType(params, type); // do not have custom params + + sdk.GroupChannel.createChannel(params, function (response, error) { + var swapParams = sdk.getErrorFirstCallback(); + var groupChannel = response; + var err = error; + + if (swapParams) { + groupChannel = error; + err = response; + } + + if (err) { + reject(err); + } + + resolve(groupChannel); + }); + }); +}; + +var LeaveChannel = function LeaveChannel(props) { + var onCloseModal = props.onCloseModal, + onLeaveChannel = props.onLeaveChannel; + return React__default.createElement(index.Modal, { + onCancel: onCloseModal, + onSubmit: onLeaveChannel, + submitText: "Leave", + titleText: "Leave this channel?" + }); +}; + +LeaveChannel.propTypes = { + onCloseModal: PropTypes.func.isRequired, + onLeaveChannel: PropTypes.func.isRequired +}; + +exports.Badge = Badge; +exports.InviteMembers = InviteMembers; +exports.LeaveChannelModal = LeaveChannel; +exports.createChannel = createChannel; +exports.createDefaultUserListQuery = createDefaultUserListQuery; +exports.isBroadcastChannelEnabled = isBroadcastChannelEnabled; +exports.isSuperGroupChannelEnabled = isSuperGroupChannelEnabled; +//# sourceMappingURL=LeaveChannel-c93b4597.js.map diff --git a/dist/cjs/LeaveChannel-c93b4597.js.map b/dist/cjs/LeaveChannel-c93b4597.js.map new file mode 100644 index 0000000..0f75c3b --- /dev/null +++ b/dist/cjs/LeaveChannel-c93b4597.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LeaveChannel-42e6a67d.js","sources":["../../../src/ui/Badge/index.jsx","../../../src/smart-components/InviteMembers/index.jsx","../../../src/smart-components/ChannelList/components/utils.js","../../../src/smart-components/ChannelSettings/components/LeaveChannel.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nexport default function Badge({\n count,\n maxLevel,\n className,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n const maximumNumber = parseInt('9'.repeat((maxLevel > 6) ? 6 : maxLevel), 10);\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n
\n
\n \n
\n
\n );\n}\n\nBadge.propTypes = {\n count: PropTypes.number.isRequired,\n maxLevel: PropTypes.number,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nBadge.defaultProps = {\n maxLevel: 2,\n className: [],\n};\n","import React, { useState, useEffect, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Label, { LabelTypography, LabelColors } from '../../ui/Label';\nimport Modal from '../../ui/Modal';\nimport { Type as ButtonTypes } from '../../ui/Button/type';\nimport UserListItem from '../../ui/UserListItem';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nconst filterUser = (idsToFilter) => (currentId) => idsToFilter.includes(currentId);\n\nconst InviteMembers = (props) => {\n const {\n userQueryCreator,\n closeModal,\n onSubmit,\n submitText,\n titleText,\n idsToFilter,\n swapParams,\n } = props;\n\n const [users, setUsers] = useState([]);\n const [selectedUsers, setSelectedUsers] = useState({});\n const { stringSet } = useContext(LocalizationContext);\n const [usersDataSource, setUsersDataSource] = useState({});\n const selectedCount = Object.keys(selectedUsers).length;\n\n useEffect(() => {\n const applicationUserListQuery = userQueryCreator();\n setUsersDataSource(applicationUserListQuery);\n applicationUserListQuery.next((res, err) => {\n // eslint-disable-next-line no-underscore-dangle\n let users_ = res;\n let error = err;\n if (swapParams) {\n users_ = err;\n error = users_;\n }\n if (error) {\n return;\n }\n setUsers(users_);\n });\n }, []);\n\n return (\n {\n const selectedUserList = Object.keys(selectedUsers);\n if (selectedUserList.length > 0) {\n onSubmit(selectedUserList);\n closeModal();\n }\n }}\n submitText={submitText}\n titleText={titleText}\n type={ButtonTypes.PRIMARY}\n >\n
\n 0) ? LabelColors.PRIMARY : LabelColors.ONBACKGROUND_3}\n type={LabelTypography.CAPTION_1}\n >\n {`${selectedCount} ${stringSet.MODAL__INVITE_MEMBER__SELECTEC}`}\n \n {\n const { hasNext } = usersDataSource;\n const fetchMore = (\n e.target.clientHeight + e.target.scrollTop === e.target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n usersDataSource.next((usersBatch, error) => {\n if (error) {\n return;\n }\n setUsers([\n ...users,\n ...usersBatch,\n ]);\n });\n }\n }}\n >\n {\n users.map((user) => (!filterUser(idsToFilter)(user.userId)) && (\n {\n const modifiedSelectedUsers = {\n ...selectedUsers,\n [event.target.id]: event.target.checked,\n };\n if (!event.target.checked) {\n delete modifiedSelectedUsers[event.target.id];\n }\n setSelectedUsers(modifiedSelectedUsers);\n }\n }\n />\n ))\n }\n
\n \n \n );\n};\n\nInviteMembers.propTypes = {\n idsToFilter: PropTypes.arrayOf(PropTypes.string),\n swapParams: PropTypes.bool,\n userQueryCreator: PropTypes.func.isRequired,\n closeModal: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n submitText: PropTypes.string,\n titleText: PropTypes.string,\n};\nInviteMembers.defaultProps = {\n swapParams: false,\n submitText: 'create',\n titleText: 'Create new channel',\n idsToFilter: [],\n};\n\nexport default InviteMembers;\n","export const createDefaultUserListQuery = ({ sdk, userFilledApplicationUserListQuery = {} }) => {\n const params = sdk.createApplicationUserListQuery();\n if (userFilledApplicationUserListQuery) {\n Object.keys(userFilledApplicationUserListQuery).forEach((key) => {\n params[key] = userFilledApplicationUserListQuery[key];\n });\n }\n return params;\n};\n\nconst getApplicationAttributes = (sdk = {}) => {\n const { appInfo = {} } = sdk;\n const { applicationAttributes = [] } = appInfo;\n return applicationAttributes;\n};\n\nexport const isBroadcastChannelEnabled = (sdk = {}) => {\n const ALLOW_BROADCAST_CHANNEL = 'allow_broadcast_channel';\n const applicationAttributes = getApplicationAttributes(sdk);\n\n if (Array.isArray(applicationAttributes)) {\n return applicationAttributes.includes(ALLOW_BROADCAST_CHANNEL);\n }\n\n return false;\n};\nexport const isSuperGroupChannelEnabled = (sdk = {}) => {\n const ALLOW_SUPER_GROUP_CHANNEL = 'allow_super_group_channel';\n const applicationAttributes = getApplicationAttributes(sdk);\n\n if (Array.isArray(applicationAttributes)) {\n return applicationAttributes.includes(ALLOW_SUPER_GROUP_CHANNEL);\n }\n\n return false;\n};\n\nexport const setChannelType = (params, type) => {\n if (type === 'broadcast') {\n // eslint-disable-next-line no-param-reassign\n params.isBroadcast = true;\n }\n if (type === 'supergroup') {\n // eslint-disable-next-line no-param-reassign\n params.isSuper = true;\n }\n return params;\n};\n\nexport const createChannel = (\n sdk,\n selectedUsers,\n onBeforeCreateChannel,\n userId,\n type = 'group',\n) => new Promise((resolve, reject) => {\n // have custom params\n if (onBeforeCreateChannel) {\n const params = onBeforeCreateChannel(selectedUsers);\n setChannelType(params, type);\n sdk.GroupChannel.createChannel(params, (response, error) => {\n const swapParams = sdk.getErrorFirstCallback();\n let groupChannel = response;\n let err = error;\n if (swapParams) {\n groupChannel = error;\n err = response;\n }\n if (err) {\n reject(err);\n }\n resolve(groupChannel);\n });\n return;\n }\n\n const params = new sdk.GroupChannelParams();\n params.addUserIds(selectedUsers);\n params.isDistinct = false;\n\n if (userId) {\n params.operatorUserIds = [userId];\n }\n setChannelType(params, type);\n // do not have custom params\n sdk.GroupChannel.createChannel(\n params,\n (response, error) => {\n const swapParams = sdk.getErrorFirstCallback();\n let groupChannel = response;\n let err = error;\n if (swapParams) {\n groupChannel = error;\n err = response;\n }\n if (err) {\n reject(err);\n }\n resolve(groupChannel);\n },\n );\n});\n\nexport default createChannel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Modal from '../../../ui/Modal';\n\nconst LeaveChannel = (props) => {\n const {\n onCloseModal,\n onLeaveChannel,\n } = props;\n return (\n \n );\n};\n\nLeaveChannel.propTypes = {\n onCloseModal: PropTypes.func.isRequired,\n onLeaveChannel: PropTypes.func.isRequired,\n};\n\nexport default LeaveChannel;\n"],"names":["Badge","count","maxLevel","className","useContext","LocalizationContext","stringSet","maximumNumber","parseInt","repeat","injectingClassName","Array","isArray","React","join","Label","LabelTypography","CAPTION_2","LabelColors","ONCONTENT_1","BADGE__OVER","propTypes","PropTypes","number","isRequired","oneOfType","string","arrayOf","defaultProps","filterUser","idsToFilter","currentId","includes","InviteMembers","props","userQueryCreator","closeModal","onSubmit","submitText","titleText","swapParams","useState","users","setUsers","selectedUsers","setSelectedUsers","usersDataSource","setUsersDataSource","selectedCount","Object","keys","length","useEffect","applicationUserListQuery","next","res","err","users_","error","Modal","selectedUserList","ButtonTypes","PRIMARY","ONBACKGROUND_3","CAPTION_1","MODAL__INVITE_MEMBER__SELECTEC","e","hasNext","fetchMore","target","clientHeight","scrollTop","scrollHeight","usersBatch","map","user","userId","UserListItem","event","modifiedSelectedUsers","id","checked","bool","func","createDefaultUserListQuery","sdk","userFilledApplicationUserListQuery","params","createApplicationUserListQuery","forEach","key","getApplicationAttributes","appInfo","applicationAttributes","isBroadcastChannelEnabled","ALLOW_BROADCAST_CHANNEL","isSuperGroupChannelEnabled","ALLOW_SUPER_GROUP_CHANNEL","setChannelType","type","isBroadcast","isSuper","createChannel","onBeforeCreateChannel","Promise","resolve","reject","GroupChannel","response","getErrorFirstCallback","groupChannel","GroupChannelParams","addUserIds","isDistinct","operatorUserIds","LeaveChannel","onCloseModal","onLeaveChannel"],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/LocalizationContext-12a9343d.js b/dist/cjs/LocalizationContext-12a9343d.js new file mode 100644 index 0000000..0e009b1 --- /dev/null +++ b/dist/cjs/LocalizationContext-12a9343d.js @@ -0,0 +1,390 @@ +'use strict'; + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var React = require('react'); +var React__default = _interopDefault(React); + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) symbols = symbols.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(Object(source), true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; +} + +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) _setPrototypeOf(subClass, superClass); +} + +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} + +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); +} + +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; +} + +function _possibleConstructorReturn(self, call) { + if (call && (typeof call === "object" || typeof call === "function")) { + return call; + } + + return _assertThisInitialized(self); +} + +function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); +} + +function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); +} + +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; + + return arr2; + } +} + +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} + +function _iterableToArray(iter) { + if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); +} + +function _iterableToArrayLimit(arr, i) { + if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { + return; + } + + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} + +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance"); +} + +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); +} + +var SendbirdSdkContext = React__default.createContext(); + +var withSendbirdContext = function withSendbirdContext(OriginalComponent, mapStoreToProps) { + var ContextAwareComponent = function ContextAwareComponent(props) { + return React__default.createElement(SendbirdSdkContext.Consumer, null, function (context) { + if (mapStoreToProps && typeof mapStoreToProps !== 'function') { + // eslint-disable-next-line no-console + console.warn('Second parameter to withSendbirdContext must be a pure function'); + } // todo - memoize + + + var mergedProps = mapStoreToProps && typeof mapStoreToProps === 'function' ? _objectSpread2({}, mapStoreToProps(context), {}, props) : _objectSpread2({}, context, {}, props); // eslint-disable-next-line react/jsx-props-no-spreading + + return React__default.createElement(OriginalComponent, mergedProps); + }); + }; + + var componentName = OriginalComponent.displayName || OriginalComponent.name || 'Component'; + ContextAwareComponent.displayName = "SendbirdAware".concat(componentName); + return ContextAwareComponent; +}; + +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ + +exports.__assign = function() { + exports.__assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return exports.__assign.apply(this, arguments); +}; + +function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +} + +/* eslint-disable no-bitwise */ + +/* eslint-disable eqeqeq */ + +/* eslint-disable no-mixed-operators */ +// https://stackoverflow.com/a/2117523 +// used mainly for dom key generation +var uuidv4 = function uuidv4() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + var r = Math.random() * 16 | 0; + var v = c === 'x' ? r : r & 0x3 | 0x8; + return v.toString(16); + }); +}; + +var getStringSet = function getStringSet() { + var lang = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'en'; + var stringSet = { + en: { + OPEN_CHANNEL_SETTINGS__OPERATOR_TITLE: 'Channel Information', + OPEN_CHANNEL_SETTINGS__OPERATOR_URL: 'URL', + OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE: 'Participants', + OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL: 'Delete channel', + OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE: 'Delete this channel', + OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT: 'Delete', + OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE: 'Participants', + OPEN_CHANNEL_SETTINGS__EMPTY_LIST: 'No participants yet', + OPEN_CHANNEL_SETTINGS__SEE_ALL: 'See all participants', + OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE: 'All participants', + OPEN_CHANNEL_SETTINGS__NO_TITLE: '(No title)', + OPEN_CHANNEL_CONVERSATION__TITLE_PARTICIPANTS: 'participants', + TRYING_TO_CONNECT: 'Trying to connect…', + USER_PROFILE__MESSAGE: 'Message', + USER_PROFILE__USER_ID: 'User ID', + EDIT_PROFILE__TITLE: 'My profile', + EDIT_PROFILE__IMAGE_LABEL: 'Profile image', + EDIT_PROFILE__IMAGE_UPLOAD: 'Upload', + EDIT_PROFILE__NICKNAME_LABEL: 'Nickname', + EDIT_PROFILE__NICKNAME_PLACEHOLDER: 'Enter your nickname', + EDIT_PROFILE__USERID_LABEL: 'User ID', + EDIT_PROFILE__THEME_LABEL: 'Dark theme', + CHANNEL_LIST__TITLE: 'Channels', + CHANNEL__MESSAGE_INPUT__PLACE_HOLDER: 'Enter message', + CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__DISABLED: 'Chat is unavailable in this channel', + CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__MUTED: 'Chat is unavailable because you are being muted', + CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE: 'new message(s) since', + CHANNEL__MESSAGE_LIST__NOTIFICATION__ON: 'on', + CHANNEL_SETTING__HEADER__TITLE: 'Channel information', + CHANNEL_SETTING__PROFILE__EDIT: 'Edit', + CHANNEL_SETTING__MEMBERS__TITLE: 'Members', + CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS: 'All members', + CHANNEL_SETTING__MEMBERS__INVITE_MEMBER: 'Invite users', + CHANNEL_SETTING__LEAVE_CHANNEL__TITLE: 'Leave channel', + CHANNEL_SETTING__OPERATORS__TITLE: 'Operators', + CHANNEL_SETTING__OPERATORS__TITLE_ALL: 'All operators', + CHANNEL_SETTING__OPERATORS__TITLE_ADD: 'Add operator', + CHANNEL_SETTING__MUTED_MEMBERS__TITLE: 'Muted members', + CHANNEL_SETTING__MUTED_MEMBERS__TITLE_ALL: 'All muted members', + CHANNEL_SETTING__BANNED_MEMBERS__TITLE: 'Banned members', + CHANNEL_SETTING__BANNED_MEMBERS__TITLE_ALL: 'All banned members', + CHANNEL_SETTING__FREEZE_CHANNEL: 'Freeze Channel', + BUTTON__CANCEL: 'Cancel', + BUTTON__DELETE: 'Delete', + BUTTON__SAVE: 'Save', + BUTTON__CREATE: 'Create', + BUTTON__INVITE: 'Invite', + BUTTON__CLOSE: 'Close', + BADGE__OVER: '+', + MODAL__DELETE_MESSAGE__TITLE: 'Delete this message?', + MODAL__CHANNEL_INFORMATION__TITLE: 'Edit channel information', + MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE: 'Channel image', + MODAL__CHANNEL_INFORMATION__UPLOAD: 'Upload', + MODAL__CHANNEL_INFORMATION__CHANNEL_NAME: 'Channel name', + MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER: 'Enter name', + MODAL__INVITE_MEMBER__TITLE: 'Invite member', + MODAL__INVITE_MEMBER__SELECTEC: 'selected', + MODAL__CREATE_CHANNEL__TITLE: 'New channel', + MODAL__CREATE_CHANNEL__SELECTED: 'selected', + MODAL__USER_LIST__TITLE: 'members', + TYPING_INDICATOR__IS_TYPING: 'is typing...', + TYPING_INDICATOR__AND: 'and', + TYPING_INDICATOR__ARE_TYPING: 'are typing...', + TYPING_INDICATOR__MULTIPLE_TYPING: 'Several people are typing...', + MESSAGE_STATUS__SENDING_FAILED: 'Couldn\'t send message.', + MESSAGE_STATUS__TRY_AGAIN: 'Try again', + MESSAGE_STATUS__OR: 'or', + MESSAGE_STATUS__DELETE: 'delete', + CHANNEL_FROZEN: 'Channel frozen', + MUTED_PL: 'Channel frozen', + PLACE_HOLDER__NO_CHANNEL: 'No channels', + PLACE_HOLDER__WRONG: 'Something went wrong', + PLACE_HOLDER__RETRY_TO_CONNECT: 'Retry', + PLACE_HOLDER__NO_MESSAGES: 'No messages', + NO_TITLE: 'No title', + NO_NAME: '(No name)', + NO_MEMBERS: '(No members)', + TOOLTIP__AND_YOU: ', and you', + TOOLTIP__YOU: 'you', + YOU: ' (You)', + TOOLTIP__UNKOWN_USER: '(no name)', + UNKNOWN__UNKNOWN_MESSAGE_TYPE: '(Unknown message type)', + UNKNOWN__CANNOT_READ_MESSAGE: 'Cannot read this message.', + MESSAGE_EDITED: '(edited)', + CONTEXT_MENU_DROPDOWN__COPY: 'Copy', + CONTEXT_MENU_DROPDOWN__EDIT: 'Edit', + CONTEXT_MENU_DROPDOWN__RESEND: 'Resend', + CONTEXT_MENU_DROPDOWN__DELETE: 'Delete', + SEARCH: 'Search', + SEARCH_IN_CHANNEL: 'Search in Channel', + SEARCH_IN: 'Search in', + SEARCHING: 'Searching for messages...', + NO_SEARCHED_MESSAGE: 'No results found.' + } + }; + return stringSet[lang]; +}; + +var LocalizationContext = React__default.createContext({ + stringSet: getStringSet('en') +}); + +var LocalizationProvider = function LocalizationProvider(props) { + var children = props.children; + return React__default.createElement(LocalizationContext.Provider, { + value: props + }, children); +}; + +exports.LocalizationContext = LocalizationContext; +exports.LocalizationProvider = LocalizationProvider; +exports.SendbirdSdkContext = SendbirdSdkContext; +exports.__spreadArrays = __spreadArrays; +exports._assertThisInitialized = _assertThisInitialized; +exports._classCallCheck = _classCallCheck; +exports._createClass = _createClass; +exports._defineProperty = _defineProperty; +exports._getPrototypeOf = _getPrototypeOf; +exports._inherits = _inherits; +exports._objectSpread2 = _objectSpread2; +exports._possibleConstructorReturn = _possibleConstructorReturn; +exports._slicedToArray = _slicedToArray; +exports._toConsumableArray = _toConsumableArray; +exports.getStringSet = getStringSet; +exports.uuidv4 = uuidv4; +exports.uuidv4$1 = uuidv4; +exports.withSendbirdContext = withSendbirdContext; +//# sourceMappingURL=LocalizationContext-12a9343d.js.map diff --git a/dist/cjs/LocalizationContext-12a9343d.js.map b/dist/cjs/LocalizationContext-12a9343d.js.map new file mode 100644 index 0000000..82e05ab --- /dev/null +++ b/dist/cjs/LocalizationContext-12a9343d.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LocalizationContext-34316336.js","sources":["../../../src/lib/SendbirdSdkContext.jsx","../../../node_modules/tslib/tslib.es6.js","../../../src/utils/uuid.ts","../../../src/ui/Label/stringSet.js","../../../src/lib/LocalizationContext.tsx"],"sourcesContent":["import React from 'react';\n\nexport const SendbirdSdkContext = React.createContext();\n\nconst withSendbirdContext = (OriginalComponent, mapStoreToProps) => {\n const ContextAwareComponent = (props) => (\n \n {(context) => {\n if (mapStoreToProps && typeof mapStoreToProps !== 'function') {\n // eslint-disable-next-line no-console\n console.warn('Second parameter to withSendbirdContext must be a pure function');\n }\n // todo - memoize\n const mergedProps = (mapStoreToProps && typeof mapStoreToProps === 'function')\n ? { ...mapStoreToProps(context), ...props }\n : { ...context, ...props };\n // eslint-disable-next-line react/jsx-props-no-spreading\n return ;\n }}\n \n );\n\n const componentName = OriginalComponent.displayName || OriginalComponent.name || 'Component';\n ContextAwareComponent.displayName = `SendbirdAware${componentName}`;\n\n return ContextAwareComponent;\n};\n\nexport default withSendbirdContext;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/* eslint-disable no-bitwise */\n/* eslint-disable eqeqeq */\n/* eslint-disable no-mixed-operators */\n// https://stackoverflow.com/a/2117523\n// used mainly for dom key generation\nexport const uuidv4 = (): string => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = Math.random() * 16 | 0;\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n});\n\nexport default uuidv4;\n","const getStringSet = (lang = 'en') => {\n const stringSet = {\n en: {\n OPEN_CHANNEL_SETTINGS__OPERATOR_TITLE: 'Channel Information',\n OPEN_CHANNEL_SETTINGS__OPERATOR_URL: 'URL',\n OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE: 'Participants',\n OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL: 'Delete channel',\n OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE: 'Delete this channel',\n OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT: 'Delete',\n OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE: 'Participants',\n OPEN_CHANNEL_SETTINGS__EMPTY_LIST: 'No participants yet',\n OPEN_CHANNEL_SETTINGS__SEE_ALL: 'See all participants',\n OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE: 'All participants',\n OPEN_CHANNEL_SETTINGS__NO_TITLE: '(No title)',\n OPEN_CHANNEL_CONVERSATION__TITLE_PARTICIPANTS: 'participants',\n TRYING_TO_CONNECT: 'Trying to connect…',\n USER_PROFILE__MESSAGE: 'Message',\n USER_PROFILE__USER_ID: 'User ID',\n EDIT_PROFILE__TITLE: 'My profile',\n EDIT_PROFILE__IMAGE_LABEL: 'Profile image',\n EDIT_PROFILE__IMAGE_UPLOAD: 'Upload',\n EDIT_PROFILE__NICKNAME_LABEL: 'Nickname',\n EDIT_PROFILE__NICKNAME_PLACEHOLDER: 'Enter your nickname',\n EDIT_PROFILE__USERID_LABEL: 'User ID',\n EDIT_PROFILE__THEME_LABEL: 'Dark theme',\n CHANNEL_LIST__TITLE: 'Channels',\n CHANNEL__MESSAGE_INPUT__PLACE_HOLDER: 'Enter message',\n CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__DISABLED: 'Chat is unavailable in this channel',\n CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__MUTED: 'Chat is unavailable because you are being muted',\n CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE: 'new message(s) since',\n CHANNEL__MESSAGE_LIST__NOTIFICATION__ON: 'on',\n CHANNEL_SETTING__HEADER__TITLE: 'Channel information',\n CHANNEL_SETTING__PROFILE__EDIT: 'Edit',\n CHANNEL_SETTING__MEMBERS__TITLE: 'Members',\n CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS: 'All members',\n CHANNEL_SETTING__MEMBERS__INVITE_MEMBER: 'Invite users',\n CHANNEL_SETTING__LEAVE_CHANNEL__TITLE: 'Leave channel',\n CHANNEL_SETTING__OPERATORS__TITLE: 'Operators',\n CHANNEL_SETTING__OPERATORS__TITLE_ALL: 'All operators',\n CHANNEL_SETTING__OPERATORS__TITLE_ADD: 'Add operator',\n CHANNEL_SETTING__MUTED_MEMBERS__TITLE: 'Muted members',\n CHANNEL_SETTING__MUTED_MEMBERS__TITLE_ALL: 'All muted members',\n CHANNEL_SETTING__BANNED_MEMBERS__TITLE: 'Banned members',\n CHANNEL_SETTING__BANNED_MEMBERS__TITLE_ALL: 'All banned members',\n CHANNEL_SETTING__FREEZE_CHANNEL: 'Freeze Channel',\n BUTTON__CANCEL: 'Cancel',\n BUTTON__DELETE: 'Delete',\n BUTTON__SAVE: 'Save',\n BUTTON__CREATE: 'Create',\n BUTTON__INVITE: 'Invite',\n BUTTON__CLOSE: 'Close',\n BADGE__OVER: '+',\n MODAL__DELETE_MESSAGE__TITLE: 'Delete this message?',\n MODAL__CHANNEL_INFORMATION__TITLE: 'Edit channel information',\n MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE: 'Channel image',\n MODAL__CHANNEL_INFORMATION__UPLOAD: 'Upload',\n MODAL__CHANNEL_INFORMATION__CHANNEL_NAME: 'Channel name',\n MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER: 'Enter name',\n MODAL__INVITE_MEMBER__TITLE: 'Invite member',\n MODAL__INVITE_MEMBER__SELECTEC: 'selected',\n MODAL__CREATE_CHANNEL__TITLE: 'New channel',\n MODAL__CREATE_CHANNEL__SELECTED: 'selected',\n MODAL__USER_LIST__TITLE: 'members',\n TYPING_INDICATOR__IS_TYPING: 'is typing...',\n TYPING_INDICATOR__AND: 'and',\n TYPING_INDICATOR__ARE_TYPING: 'are typing...',\n TYPING_INDICATOR__MULTIPLE_TYPING: 'Several people are typing...',\n MESSAGE_STATUS__SENDING_FAILED: 'Couldn\\'t send message.',\n MESSAGE_STATUS__TRY_AGAIN: 'Try again',\n MESSAGE_STATUS__OR: 'or',\n MESSAGE_STATUS__DELETE: 'delete',\n CHANNEL_FROZEN: 'Channel frozen',\n MUTED_PL: 'Channel frozen',\n PLACE_HOLDER__NO_CHANNEL: 'No channels',\n PLACE_HOLDER__WRONG: 'Something went wrong',\n PLACE_HOLDER__RETRY_TO_CONNECT: 'Retry',\n PLACE_HOLDER__NO_MESSAGES: 'No messages',\n NO_TITLE: 'No title',\n NO_NAME: '(No name)',\n NO_MEMBERS: '(No members)',\n TOOLTIP__AND_YOU: ', and you',\n TOOLTIP__YOU: 'you',\n YOU: ' (You)',\n TOOLTIP__UNKOWN_USER: '(no name)',\n UNKNOWN__UNKNOWN_MESSAGE_TYPE: '(Unknown message type)',\n UNKNOWN__CANNOT_READ_MESSAGE: 'Cannot read this message.',\n MESSAGE_EDITED: '(edited)',\n CONTEXT_MENU_DROPDOWN__COPY: 'Copy',\n CONTEXT_MENU_DROPDOWN__EDIT: 'Edit',\n CONTEXT_MENU_DROPDOWN__RESEND: 'Resend',\n CONTEXT_MENU_DROPDOWN__DELETE: 'Delete',\n SEARCH: 'Search',\n SEARCH_IN_CHANNEL: 'Search in Channel',\n SEARCH_IN: 'Search in',\n SEARCHING: 'Searching for messages...',\n NO_SEARCHED_MESSAGE: 'No results found.',\n },\n };\n return stringSet[lang];\n};\n\nexport default getStringSet;\n","import React from 'react';\n\nimport getStringSet from '../ui/Label/stringSet';\n\nconst LocalizationContext = React.createContext({\n stringSet: getStringSet('en'),\n});\n\ninterface LocalizationProviderProps {\n stringSet: Record;\n children: React.Component;\n}\n\nconst LocalizationProvider = (props: LocalizationProviderProps): React.ReactNode => {\n const { children } = props;\n return (\n \n {children}\n \n );\n};\n\nexport { LocalizationContext, LocalizationProvider };\n"],"names":["SendbirdSdkContext","React","createContext","withSendbirdContext","OriginalComponent","mapStoreToProps","ContextAwareComponent","props","context","console","warn","mergedProps","componentName","displayName","name","__assign","uuidv4","replace","c","r","Math","random","v","toString","getStringSet","lang","stringSet","en","OPEN_CHANNEL_SETTINGS__OPERATOR_TITLE","OPEN_CHANNEL_SETTINGS__OPERATOR_URL","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","OPEN_CHANNEL_SETTINGS__SEE_ALL","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","OPEN_CHANNEL_SETTINGS__NO_TITLE","OPEN_CHANNEL_CONVERSATION__TITLE_PARTICIPANTS","TRYING_TO_CONNECT","USER_PROFILE__MESSAGE","USER_PROFILE__USER_ID","EDIT_PROFILE__TITLE","EDIT_PROFILE__IMAGE_LABEL","EDIT_PROFILE__IMAGE_UPLOAD","EDIT_PROFILE__NICKNAME_LABEL","EDIT_PROFILE__NICKNAME_PLACEHOLDER","EDIT_PROFILE__USERID_LABEL","EDIT_PROFILE__THEME_LABEL","CHANNEL_LIST__TITLE","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__DISABLED","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__MUTED","CHANNEL__MESSAGE_LIST__NOTIFICATION__NEW_MESSAGE","CHANNEL__MESSAGE_LIST__NOTIFICATION__ON","CHANNEL_SETTING__HEADER__TITLE","CHANNEL_SETTING__PROFILE__EDIT","CHANNEL_SETTING__MEMBERS__TITLE","CHANNEL_SETTING__MEMBERS__SEE_ALL_MEMBERS","CHANNEL_SETTING__MEMBERS__INVITE_MEMBER","CHANNEL_SETTING__LEAVE_CHANNEL__TITLE","CHANNEL_SETTING__OPERATORS__TITLE","CHANNEL_SETTING__OPERATORS__TITLE_ALL","CHANNEL_SETTING__OPERATORS__TITLE_ADD","CHANNEL_SETTING__MUTED_MEMBERS__TITLE","CHANNEL_SETTING__MUTED_MEMBERS__TITLE_ALL","CHANNEL_SETTING__BANNED_MEMBERS__TITLE","CHANNEL_SETTING__BANNED_MEMBERS__TITLE_ALL","CHANNEL_SETTING__FREEZE_CHANNEL","BUTTON__CANCEL","BUTTON__DELETE","BUTTON__SAVE","BUTTON__CREATE","BUTTON__INVITE","BUTTON__CLOSE","BADGE__OVER","MODAL__DELETE_MESSAGE__TITLE","MODAL__CHANNEL_INFORMATION__TITLE","MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE","MODAL__CHANNEL_INFORMATION__UPLOAD","MODAL__CHANNEL_INFORMATION__CHANNEL_NAME","MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER","MODAL__INVITE_MEMBER__TITLE","MODAL__INVITE_MEMBER__SELECTEC","MODAL__CREATE_CHANNEL__TITLE","MODAL__CREATE_CHANNEL__SELECTED","MODAL__USER_LIST__TITLE","TYPING_INDICATOR__IS_TYPING","TYPING_INDICATOR__AND","TYPING_INDICATOR__ARE_TYPING","TYPING_INDICATOR__MULTIPLE_TYPING","MESSAGE_STATUS__SENDING_FAILED","MESSAGE_STATUS__TRY_AGAIN","MESSAGE_STATUS__OR","MESSAGE_STATUS__DELETE","CHANNEL_FROZEN","MUTED_PL","PLACE_HOLDER__NO_CHANNEL","PLACE_HOLDER__WRONG","PLACE_HOLDER__RETRY_TO_CONNECT","PLACE_HOLDER__NO_MESSAGES","NO_TITLE","NO_NAME","NO_MEMBERS","TOOLTIP__AND_YOU","TOOLTIP__YOU","YOU","TOOLTIP__UNKOWN_USER","UNKNOWN__UNKNOWN_MESSAGE_TYPE","UNKNOWN__CANNOT_READ_MESSAGE","MESSAGE_EDITED","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","SEARCH","SEARCH_IN_CHANNEL","SEARCH_IN","SEARCHING","NO_SEARCHED_MESSAGE","LocalizationContext","LocalizationProvider","children"],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/OpenChannel.js b/dist/cjs/OpenChannel.js index f646cef..0c22ae3 100644 --- a/dist/cjs/OpenChannel.js +++ b/dist/cjs/OpenChannel.js @@ -4,14 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true }); function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } -var LocalizationContext = require('./LocalizationContext-9665649b.js'); +var LocalizationContext = require('./LocalizationContext-12a9343d.js'); var React = require('react'); var React__default = _interopDefault(React); require('prop-types'); -var index$1 = require('./index-dfc2e550.js'); +var index$1 = require('./index-2a2230b8.js'); var format = _interopDefault(require('date-fns/format')); require('react-dom'); -var index$2$1 = require('./index-77ab2680.js'); +var index$2$1 = require('./index-5fe9ee1f.js'); var isSameDay = _interopDefault(require('date-fns/isSameDay')); var getMessageCreatedAt = function getMessageCreatedAt(message) { @@ -177,13 +177,18 @@ function OpenchannelConversationHeader(_a) { alt: "channel cover image", width: "32px", height: "32px" - }) : React__default.createElement(index$1.Icon, { + }) : React__default.createElement("div", { className: COMPONENT_CLASS_NAME + "__left__cover-image--icon", - width: "32px", - height: "32px", - type: index$1.IconTypes.AVATAR_NO_IMAGE, - fillColor: index$1.IconColors.BACKGROUND_3 - }), React__default.createElement(index$1.Label, { + style: { + width: 32, + height: 32 + } + }, React__default.createElement(index$1.Icon, { + type: index$1.IconTypes.CHANNELS, + fillColor: index$1.IconColors.CONTENT, + width: "18px", + height: "18px" + })), React__default.createElement(index$1.Label, { className: COMPONENT_CLASS_NAME + "__left__title", type: index$1.LabelTypography.H_2, color: index$1.LabelColors.ONBACKGROUND_1 @@ -444,7 +449,7 @@ function OpenchannelUserMessage(_a) { height: "16px" }, React__default.createElement(index$1.Icon, { className: "sendbird-openchannel-user-message__right__tail__pending", - type: index$1.IconTypes.SPINNER_LARGE, + type: index$1.IconTypes.SPINNER, fillColor: index$1.IconColors.PRIMARY, width: "16px", height: "16px" @@ -831,7 +836,7 @@ function OpenchannelOGMessage(_a) { }, React__default.createElement(index$1.Icon, { width: "56px", height: "56px", - type: index$1.IconTypes.NO_THUMBNAIL + type: index$1.IconTypes.THUMBNAIL_NONE })) }))), (isPending || isFailed) && React__default.createElement("div", { className: "sendbird-openchannel-og-message__top__right__tail" @@ -842,7 +847,7 @@ function OpenchannelOGMessage(_a) { className: "sendbird-openchannel-og-message__top__right__tail__pending", width: "16px", height: "16px", - type: index$1.IconTypes.SPINNER_LARGE, + type: index$1.IconTypes.SPINNER, fillColor: index$1.IconColors.PRIMARY })), isFailed && React__default.createElement(index$1.Icon, { className: "sendbird-openchannel-og-message__top__right__tail__failed", @@ -1020,7 +1025,7 @@ function OpenchannelThumbnailMessage(_a) { height: "16px" }, React__default.createElement(index$1.Icon, { className: "sendbird-openchannel-thumbnail-message__right__tail__pending", - type: index$1.IconTypes.SPINNER_LARGE, + type: index$1.IconTypes.SPINNER, fillColor: index$1.IconColors.PRIMARY, width: "16px", height: "16px" @@ -1204,7 +1209,7 @@ function OpenchannelFileMessage(_a) { height: "16px" }, React__default.createElement(index$1.Icon, { className: "sendbird-openchannel-file-message__right__tail__pending", - type: index$1.IconTypes.SPINNER_LARGE, + type: index$1.IconTypes.SPINNER, fillColor: index$1.IconColors.PRIMARY, width: "16px", height: "16px" @@ -1336,7 +1341,7 @@ function MessageHoc(_a) { var RenderedMessage = React.useMemo(function () { if (renderCustomMessage) { - return renderCustomMessage(message, channel); + return renderCustomMessage(message, channel, chainTop, chainBottom); } return null; @@ -1516,11 +1521,11 @@ function OpenchannelConversationScroll(_a, ref) { setShowScrollDownButton(false); } - if (scrollTop === 0) { - if (!hasMore) { - return; - } + if (!hasMore) { + return; + } + if (scrollTop === 0) { var nodes = scrollRef.current.querySelectorAll('.sendbird-msg--scroll-ref'); var first_1 = nodes && nodes[0]; onScroll(function () { @@ -1597,7 +1602,7 @@ function OpenchannelConversationScroll(_a, ref) { }, React__default.createElement(index$1.Icon, { width: "24px", height: "24px", - type: index$1.IconTypes.SHEVRON_DOWN, + type: index$1.IconTypes.CHEVRON_DOWN, fillColor: index$1.IconColors.CONTENT })))); } diff --git a/dist/cjs/OpenChannel.js.map b/dist/cjs/OpenChannel.js.map index fd73f93..9f1eb23 100644 --- a/dist/cjs/OpenChannel.js.map +++ b/dist/cjs/OpenChannel.js.map @@ -1 +1 @@ -{"version":3,"file":"OpenChannel.js","sources":["../../../src/smart-components/OpenchannelConversation/utils.ts","../../../src/smart-components/OpenchannelConversation/components/MessageInpuetWrapper.tsx","../../../src/smart-components/OpenchannelConversation/components/FrozenNotification.tsx","../../../src/ui/OpenchannelConversationHeader/index.tsx","../../../src/ui/OpenchannelUserMessage/utils.ts","../../../src/utils/openChannelUtils.ts","../../../src/ui/OpenchannelUserMessage/index.tsx","../../../src/ui/OpenChannelAdminMessage/index.tsx","../../../src/ui/OpenchannelOGMessage/utils.ts","../../../src/ui/OpenchannelOGMessage/index.tsx","../../../src/ui/OpenchannelThumbnailMessage/utils.ts","../../../src/ui/OpenchannelThumbnailMessage/index.tsx","../../../src/ui/OpenchannelFileMessage/utils.ts","../../../src/ui/OpenchannelFileMessage/index.tsx","../../../src/smart-components/OpenchannelConversation/components/RemoveMessageModal.tsx","../../../src/smart-components/OpenchannelConversation/components/types.ts","../../../src/smart-components/OpenchannelConversation/components/MessageHOC.tsx","../../../src/smart-components/OpenchannelConversation/components/OpenchannelConversationScroll.tsx","../../../src/smart-components/OpenchannelConversation/dux/actionTypes.ts","../../../src/smart-components/OpenchannelConversation/dux/reducers.ts","../../../src/smart-components/OpenchannelConversation/dux/initialState.ts","../../../src/smart-components/OpenchannelConversation/hooks/useSetChannel.ts","../../../src/smart-components/OpenchannelConversation/hooks/useHandleChannelEvents.ts","../../../src/smart-components/OpenchannelConversation/hooks/useInitialMessagesFetch.ts","../../../src/smart-components/OpenchannelConversation/hooks/useScrollCallback.ts","../../../src/smart-components/OpenchannelConversation/hooks/useCheckScrollBottom.ts","../../../src/smart-components/OpenchannelConversation/hooks/useSendMessageCallback.ts","../../../src/smart-components/OpenchannelConversation/hooks/useFileUploadCallback.ts","../../../src/smart-components/OpenchannelConversation/hooks/useUpdateMessageCallback.ts","../../../src/smart-components/OpenchannelConversation/hooks/useDeleteMessageCallback.ts","../../../src/smart-components/OpenchannelConversation/hooks/useResendMessageCallback.ts","../../../src/smart-components/OpenchannelConversation/index.tsx"],"sourcesContent":["import format from 'date-fns/format';\nimport Sendbird from 'sendbird';\nimport SendbirdUIKit from '../../index';\n\nexport const getMessageCreatedAt = (message: SendbirdUIKit.EveryMessage): string => format(message.createdAt, 'p');\n\nexport const scrollIntoLast = (intialTry = 0): void => {\n const MAX_TRIES = 10;\n const currentTry = intialTry;\n if (currentTry > MAX_TRIES) {\n return;\n }\n try {\n const scrollDOM = document.querySelector('.sendbird-openchannel-conversation-scroll');\n // eslint-disable-next-line no-multi-assign\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1);\n }, 500 * currentTry);\n }\n};\n\n\nexport const isSameGroup = (\n message: SendbirdUIKit.EveryMessage,\n comparingMessage: SendbirdUIKit.EveryMessage,\n): boolean => {\n if (\n !message\n || !comparingMessage\n || message.messageType === 'admin'\n || comparingMessage.messageType === 'admin'\n || !message.sender\n || !comparingMessage.sender\n || !message.createdAt\n || !comparingMessage.createdAt\n || !message.sender.userId\n || !comparingMessage.sender.userId\n ) {\n return false\n }\n\n return (\n message.sendingStatus === comparingMessage.sendingStatus\n && message.sender.userId === comparingMessage.sender.userId\n && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)\n );\n};\n\nexport const compareMessagesForGrouping = (\n prevMessage: SendbirdUIKit.EveryMessage,\n currMessage: SendbirdUIKit.EveryMessage,\n nextMessage: SendbirdUIKit.EveryMessage,\n): [boolean, boolean] => (\n [\n isSameGroup(prevMessage, currMessage),\n isSameGroup(currMessage, nextMessage),\n ]\n );\n\nexport const kFormatter = (num: number): string => {\n if (Math.abs(num) > 999999) {\n return `${(Math.abs(num) / 1000000).toFixed(1)}M`;\n }\n\n if (Math.abs(num) > 999) {\n return `${(Math.abs(num) / 1000).toFixed(1)}K`;\n }\n\n return `${num}`;\n};\n\nexport const isOperator = (openChannel: Sendbird.OpenChannel, userId: string): boolean => {\n const { operators } = openChannel;\n if (operators.map(operator => operator.userId).indexOf(userId) < 0) {\n return false;\n }\n return true;\n};\n\nexport const isDisabledBecauseFrozen = (openChannel: Sendbird.OpenChannel, userId: string): boolean => {\n const { isFrozen } = openChannel;\n return isFrozen && !isOperator(openChannel, userId);\n};\n\nexport const isDisabledBecauseMuted = (mutedParticipantIds: string[], userId: string): boolean => {\n return mutedParticipantIds.indexOf(userId) < 0;\n};\n\nexport const fetchWithListQuery = (\n listQuery: SendbirdUIKit.UserListQuery,\n logger: SendbirdUIKit.Logger,\n eachQueryNextCallback: (users: Sendbird.User[]) => void,\n): void => {\n const fetchList = (query) => {\n const { hasNext } = query;\n if (hasNext) {\n query.next((error, users) => {\n if (!error) {\n eachQueryNextCallback(users);\n fetchList(query);\n } else {\n logger.warning('OpenChannel | FetchUserList failed', error);\n }\n });\n } else {\n logger.info('OpenChannel | FetchUserList finished');\n }\n };\n logger.info('OpenChannel | FetchUserList start', listQuery);\n fetchList(listQuery);\n};\n\nexport const pxToNumber = (px: string | number): number | void => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n","import React, { useContext } from 'react';\nimport Sendbird from 'sendbird';\nimport { RenderMessageInputProps } from '../../../index';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport MessageInput from '../../../ui/MessageInput';\n\ninterface Props {\n channel: Sendbird.OpenChannel;\n user: Sendbird.User;\n disabled: boolean;\n onSendMessage(): void;\n onFileUpload(file_: File): void;\n renderMessageInput?(renderProps: RenderMessageInputProps): JSX.Element;\n}\n\nconst MessageInputWrapper = ({\n channel,\n user,\n disabled,\n onSendMessage,\n onFileUpload,\n renderMessageInput,\n}: Props, ref: React.RefObject): JSX.Element => {\n if (!channel) {\n return;\n }\n\n const { stringSet } = useContext(LocalizationContext);\n\n if (renderMessageInput) {\n return renderMessageInput({ channel, user, disabled });\n }\n\n return (\n
\n \n
\n );\n};\n\nexport default React.forwardRef(MessageInputWrapper);\n","import React, { useContext } from 'react';\n\nimport './frozen-notification.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelTypography } from '../../../ui/Label';\n\nconst FrozenNotification = (): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n \n {stringSet.CHANNEL_FROZEN}\n \n
\n );\n}\n\nexport default FrozenNotification;\n","import React, { ReactElement } from 'react';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport IconButton from '../IconButton';\nimport Label, {\n LabelTypography,\n LabelColors,\n LabelStringSet,\n} from '../Label';\n\nconst COMPONENT_CLASS_NAME = 'sendbird-openchannel-conversation-header';\n\ninterface Props {\n coverImage?: string;\n title?: string;\n subTitle?: string;\n amIOperator?: boolean;\n onActionClick?(): void;\n}\n\nexport default function OpenchannelConversationHeader({\n coverImage,\n title = LabelStringSet.NO_TITLE,\n subTitle = LabelStringSet.NO_TITLE,\n amIOperator,\n onActionClick,\n}: Props): ReactElement {\n return (\n
\n
\n {\n coverImage ? (\n \n ) : (\n \n )\n }\n \n {title}\n \n \n {subTitle}\n \n
\n
\n \n \n \n
\n
\n );\n}\n","export const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport default { copyToClipboard };\n","import Sendbird from 'sendbird';\nimport { ClientUserMessage, ClientFileMessage } from '../index';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded'\n};\n\nexport const getSenderFromMessage = (message: ClientUserMessage | ClientFileMessage): Sendbird.User => {\n return message.sender || message._sender;\n};\n\nexport const checkIsSent = (status: string): boolean => (status === OpenChannelMessageStatusTypes.SUCCEEDED);\nexport const checkIsPending = (status: string): boolean => (status === OpenChannelMessageStatusTypes.PENDING);\nexport const checkIsFailed = (status: string): boolean => (status === OpenChannelMessageStatusTypes.FAILED);\n\nexport const checkIsByMe = (message: ClientFileMessage | ClientUserMessage, userId: string): boolean => (getSenderFromMessage(message).userId === userId);\n\ninterface isFineCopyParams {\n message: ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineCopy = ({ message }: isFineCopyParams): boolean => {\n return (message.messageType === 'user' && message.message.length > 0);\n};\n\ninterface isFineResendParams {\n message: ClientFileMessage | ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineResend = ({ message, status, userId }: isFineResendParams): boolean => {\n return checkIsByMe(message, userId)\n && checkIsFailed(status)\n && message.isResendable\n && message.isResendable();\n};\n\ninterface isFineEditParams {\n message: ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineEdit = ({ message, status, userId }: isFineEditParams): boolean => {\n return checkIsByMe(message, userId) && checkIsSent(status);\n};\n\ninterface isFineDeleteParams {\n message: ClientFileMessage | ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineDelete = ({ message, userId }: isFineDeleteParams): boolean => {\n return checkIsByMe(message, userId);\n};\n\ninterface showMenuTriggerParams {\n message: ClientUserMessage | ClientFileMessage;\n status: string;\n userId: string;\n}\nexport const showMenuTrigger = (props: showMenuTriggerParams): boolean => {\n const { message, status, userId } = props;\n if (message.messageType === 'user') {\n return (\n isFineDelete({ message, status, userId })\n || isFineEdit({ message, status, userId })\n || isFineCopy({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n } else {\n return (\n isFineDelete({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n }\n};\n","import React, {\n useMemo,\n useContext,\n useRef,\n useState,\n ReactElement,\n useEffect,\n} from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { copyToClipboard } from './utils';\nimport uuidv4 from '../../utils/uuid';\nimport { ClientUserMessage } from '../../index';\nimport {\n checkIsByMe,\n checkIsPending,\n checkIsFailed,\n isFineCopy,\n isFineEdit,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientUserMessage;\n userId: string;\n className?: string | string[];\n disabled?: boolean;\n showEdit(bool: boolean): void;\n showRemove(bool: boolean): void;\n resendMessage(message: ClientUserMessage): void;\n chainTop?: boolean;\n chainBottom?: boolean;\n status: string;\n}\n\nexport default function OpenchannelUserMessage({\n message,\n className,\n userId,\n resendMessage,\n disabled,\n showEdit,\n showRemove,\n chainTop,\n status,\n}: Props): ReactElement {\n if (!message || message.messageType !== 'user') {\n return null;\n }\n\n // hooks\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const messageRef = useRef(null);\n const avatarRef = useRef(null);\n const contextMenuRef = useRef(null);\n const [contextStyle, setContextStyle] = useState({});\n\n // consts\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push(`sendbird-openchannel-user-message`);\n const isByMe = checkIsByMe(message, userId);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n const MemoizedMessageText = useMemo(() => () => {\n const splitMessage = message.message.split(/\\r/);\n const matchedMessage = splitMessage.map((word) => (word !== '' ? word :
));\n if (message.updatedAt > 0) {\n matchedMessage.push(\n \n {` ${stringSet.MESSAGE_EDITED} `}\n ,\n );\n }\n return matchedMessage;\n }, [message, message.updatedAt]);\n\n // place context menu top depending clientHeight of message component\n useEffect(() => {\n if (messageRef.current.clientHeight > 36) {\n setContextStyle({ top: '8px ' });\n } else {\n setContextStyle({ top: '2px' });\n }\n }, [window.innerWidth]);\n\n return (\n \n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n \n {MemoizedMessageText()}\n \n
\n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n
\n {\n \n (\n showMenuTrigger({ message: message, userId: userId, status: status}) && (\n {\n toggleDropdown();\n }}\n >\n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineCopy({ message: message, userId: userId, status: status }) && (\n {\n copyToClipboard(message.message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n )\n }\n {\n isFineEdit({ message: message, userId: userId, status: status }) && (\n {\n if (disabled) {\n return;\n }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n \n )\n }\n {\n isFineResend({ message: message, userId: userId, status: status }) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message: message, userId: userId, status: status }) && (\n {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n \n }\n \n );\n}\n","import React, { ReactElement } from 'react';\nimport { ClientAdminMessage } from '../../index';\nimport './index.scss';\n\nimport Label, { LabelColors, LabelTypography } from '../Label';\n\ninterface Props {\n message: ClientAdminMessage;\n className?: string | string[];\n}\n\nexport default function OpenChannelAdminMessage({\n message,\n className,\n}: Props): ReactElement {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-admin-message');\n\n return (\n
\n \n {message.message || ''}\n \n
\n );\n}\n","import Sendbird from 'sendbird';\n\nexport const URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const createUrlTester = (regexp: RegExp) => (text: string): boolean => regexp.test(text);\nexport const checkOGIsEnalbed = (message: Sendbird.UserMessage): boolean => {\n const { ogMetaData } = message;\n if (!ogMetaData) {\n return false;\n }\n const { url } = ogMetaData;\n if (!url) {\n return false;\n }\n return true;\n};\n","import React, { useState, useContext, useMemo, useRef, useEffect } from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport LinkLabel from '../LinkLabel';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport uuidv4 from '../../utils/uuid';\nimport { copyToClipboard } from '../OpenchannelUserMessage/utils';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { checkOGIsEnalbed, createUrlTester, URL_REG } from './utils';\nimport { ClientUserMessage } from '../../index';\nimport {\n checkIsByMe,\n checkIsPending,\n checkIsFailed,\n isFineCopy,\n isFineEdit,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientUserMessage;\n className?: string | string[];\n disabled?: boolean;\n showEdit(bool: boolean): void;\n showRemove(bool: boolean): void;\n resendMessage(message: ClientUserMessage): void;\n chainTop?: boolean;\n chainBottom?: boolean;\n status: string;\n userId: string;\n}\n\nexport default function OpenchannelOGMessage({\n message,\n className,\n disabled,\n showEdit,\n showRemove,\n resendMessage,\n chainTop,\n status,\n userId,\n}: Props): JSX.Element {\n if (!message || message.messageType !== 'user') {\n return null;\n }\n\n const { ogMetaData } = message;\n const { defaultImage } = ogMetaData;\n\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const [contextStyle, setContextStyle] = useState({});\n const messageComponentRef = useRef(null);\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n\n const isUrl = createUrlTester(URL_REG);\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-og-message');\n const isByMe = checkIsByMe(message, userId);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n const MemoizedMessageText = useMemo(() => () => {\n const wordClassName = 'sendbird-openchannel-og-message--word';\n const splitMessage = message.message.split(' ');\n const matchedMessage = splitMessage\n .map((word) => (\n isUrl(word)\n ? (\n \n {word}\n \n )\n : (\n \n {word}\n \n )\n ));\n\n if (message.updatedAt > 0) {\n matchedMessage.push(\n \n {stringSet.MESSAGE_EDITED}\n ,\n );\n }\n\n return matchedMessage;\n }, [message, message.updatedAt]);\n\n const openLink = () => {\n if (checkOGIsEnalbed(message)) {\n const { url } = ogMetaData;\n window.open(url);\n }\n };\n\n // place conxt menu top depending clientHeight of message component\n useEffect(() => {\n if (messageComponentRef.current.clientHeight > 36) {\n setContextStyle({ top: '8px ' });\n } else {\n setContextStyle({ top: '2px' });\n }\n }, [window.innerWidth]);\n\n return (\n \n \n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n \n {MemoizedMessageText()}\n \n
\n
\n {\n \n (\n showMenuTrigger({ message: message, userId: userId, status: status }) && (\n {\n toggleDropdown();\n }}\n >\n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineCopy({ message, userId, status }) && (\n {\n copyToClipboard(message.message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n )\n }\n {\n isFineEdit({ message, userId, status }) && (\n {\n if (disabled) {\n return;\n }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n \n )\n }\n {\n isFineResend({ message, userId, status }) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n \n }\n \n
\n
\n {\n ogMetaData.url && (\n \n {ogMetaData.url}\n \n )\n }\n {\n ogMetaData.title && (\n \n {\n ogMetaData.title\n }\n \n )\n }\n {\n ogMetaData.description && (\n \n {ogMetaData.description}\n \n )\n }\n {\n ogMetaData.url && (\n \n {\n defaultImage && (\n \n \n
\n )}\n />\n )\n }\n
\n )\n }\n \n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n \n \n );\n}\n","export const SUPPORTING_TYPES = {\n IMAGE: 'IMAGE',\n VIDEO: 'VIDEO',\n UNSUPPORTED: 'UNSUPPORTED',\n};\n\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n};\n\nexport const getSupportingFileType = (type: string): string => {\n if (SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.IMAGE;\n }\n if (SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.VIDEO;\n }\n return SUPPORTING_TYPES.UNSUPPORTED;\n}\n","import React, { useContext, useRef } from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\nimport { SUPPORTING_TYPES, getSupportingFileType } from './utils';\nimport { ClientFileMessage } from '../../index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport {\n checkIsByMe,\n checkIsSent,\n checkIsPending,\n checkIsFailed,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientFileMessage;\n className?: string | string[];\n disabled: boolean;\n userId: string;\n status: string;\n chainTop: boolean;\n chainBottom: boolean;\n onClick(bool: boolean): void,\n showRemove(bool: boolean): void,\n resendMessage(message: ClientFileMessage): void;\n}\n\nexport default function OpenchannelThumbnailMessage({\n message,\n className,\n disabled,\n userId,\n status,\n chainTop,\n onClick,\n showRemove,\n resendMessage,\n}: Props): JSX.Element {\n const {\n type,\n url,\n localUrl,\n thumbnails,\n } = message;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-thumbnail-message');\n const isByMe = checkIsByMe(message, userId);\n const isMessageSent = checkIsSent(status);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n return (\n
\n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n onKeyDown={() => {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n tabIndex={0}\n role=\"button\"\n >\n
\n {\n {\n [SUPPORTING_TYPES.VIDEO]: (\n (url || localUrl)\n ? (\n
\n {\n (thumbnailUrl)\n ? (\n \n )\n : (\n \n \n \n )\n }\n \n
\n )\n : (\n \n )\n ),\n [SUPPORTING_TYPES.IMAGE]: (\n (url || localUrl)\n ? (\n \n )\n : (\n \n )\n ),\n [SUPPORTING_TYPES.UNSUPPORTED]: (\n \n ),\n }[getSupportingFileType(type)]\n }\n
\n
\n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n
\n \n (\n showMenuTrigger({ message, userId, status }) && (\n \n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineResend({ message, userId, status }) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n
\n \n );\n}\n","import { IconTypes } from '../Icon';\n\nexport const checkFileType = (fileUrl: string): string => {\n let result = null;\n const imageFile = /(\\.gif|\\.jpg|\\.jpeg|\\.txt|\\.pdf)$/i;\n const audioFile = /(\\.mp3)$/i;\n if (imageFile.test(fileUrl)) {\n result = IconTypes.FILE_DOCUMENT;\n } else if (audioFile.test(fileUrl)) {\n result = IconTypes.FILE_AUDIO;\n }\n return result;\n}\n\nexport const truncate = (fullStr:string, strLen: number): string => {\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n","import React, { useContext, useRef } from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport TextButton from '../TextButton';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { checkFileType, truncate } from './utils';\nimport { ClientFileMessage } from '../../index';\nimport {\n checkIsByMe,\n checkIsPending,\n checkIsFailed,\n isFineDelete,\n isFineResend,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientFileMessage;\n className?: string | string[];\n userId: string;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n status: string;\n\n showRemove(bool: boolean): void;\n resendMessage(message: ClientFileMessage): void;\n}\n\nexport default function OpenchannelFileMessage({\n message,\n className,\n userId,\n disabled,\n chainTop,\n status,\n showRemove,\n resendMessage,\n}: Props): JSX.Element {\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n\n const openFileUrl = () => { window.open(message.url); };\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-file-message');\n const isByMe = checkIsByMe(message, userId);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n return (\n \n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n {\n checkFileType(message.url) && (\n \n )\n }\n \n \n {truncate(message.name || message.url, 40)}\n \n \n
\n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n
\n \n {\n (\n showMenuTrigger({ message, userId, status }) && (\n \n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineResend({ message, userId, status }) && (\n {\n if (disabled) { return; }\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n }\n \n \n );\n}\n","import React, { useContext } from 'react'\nimport { ClientFileMessage, ClientUserMessage } from '../../..'\nimport Modal from '../../../ui/Modal';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n onCloseModal(): void;\n onDeleteMessage(message: ClientUserMessage | ClientFileMessage, callback?: () => void): void;\n}\n\nexport default function RemoveMessageModal({\n onCloseModal,\n onDeleteMessage,\n}: Props): JSX.Element {\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n \n );\n}\n","import { EveryMessage } from '../../..';\nimport { isImage, isVideo } from '../../../ui/FileViewer/types';\n\nexport const MessageTypes = {\n ADMIN: 'ADMIN',\n USER: 'USER',\n FILE: 'FILE',\n THUMBNAIL: 'THUMBNAIL',\n OG: 'OG',\n UNKNOWN: 'UNKNOWN',\n};\n\nexport const SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport const getMessageType = (message: EveryMessage): string => {\n if ((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user') {\n return (message.ogMetaData)\n ? MessageTypes.OG\n : MessageTypes.USER;\n }\n if (message.isAdminMessage && message.isAdminMessage()) {\n return MessageTypes.ADMIN;\n }\n if (message.messageType === 'file') {\n return (isImage(message.type) || isVideo(message.type))\n ? MessageTypes.THUMBNAIL\n : MessageTypes.FILE;\n }\n return MessageTypes.UNKNOWN;\n};\n\nexport default {\n MessageTypes,\n SendingMessageStatus,\n getMessageType,\n};\n","import React, {\n useState,\n useRef,\n ReactElement,\n useMemo,\n} from 'react';\n\nimport format from 'date-fns/format';\nimport {\n ClientFileMessage,\n ClientUserMessage,\n EveryMessage,\n RenderCustomMessage,\n} from '../../../index';\n\nimport OpenChannelUserMessage from '../../../ui/OpenchannelUserMessage';\nimport OpenChannelAdminMessage from '../../../ui/OpenChannelAdminMessage';\nimport OpenChannelOGMessage from '../../../ui/OpenchannelOGMessage';\nimport OpenChannelThumbnailMessage from '../../../ui/OpenchannelThumbnailMessage';\nimport OpenChannelFileMessage from '../../../ui/OpenchannelFileMessage';\n// import UnknownMessage from '../../../ui/UnknownMessage';\n\nimport DateSeparator from '../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport MessageInput from '../../../ui/MessageInput';\nimport FileViewer from '../../../ui/FileViewer';\n\nimport RemoveMessageModal from './RemoveMessageModal';\nimport {\n MessageTypes,\n SendingMessageStatus,\n getMessageType,\n} from './types';\nimport { OpenChannel } from 'sendbird';\n\ninterface Props {\n message: EveryMessage;\n userId: string;\n disabled: boolean;\n editDisabled: boolean;\n hasSeperator: boolean;\n channel: OpenChannel;\n renderCustomMessage?: RenderCustomMessage,\n deleteMessage(message: ClientUserMessage | ClientFileMessage, callback?: () => void): void;\n updateMessage(messageId: number, text: string, callback?: () => void): void;\n resendMessage(failedMessage: ClientUserMessage | ClientFileMessage): void;\n status?: string;\n chainTop: boolean;\n chainBottom: boolean;\n}\n\nexport default function MessageHoc({\n message,\n userId,\n disabled,\n editDisabled,\n hasSeperator,\n channel,\n renderCustomMessage,\n deleteMessage,\n updateMessage,\n resendMessage,\n status,\n chainTop,\n chainBottom,\n}: Props): ReactElement {\n let sender: SendBird.User = null;\n if (message.messageType !== 'admin') {\n sender = message.sender;\n }\n\n const RenderedMessage = useMemo(() => {\n if (renderCustomMessage) {\n return renderCustomMessage(message, channel);\n }\n return null;\n }, [message, renderCustomMessage]);\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const editMessageInputRef = useRef(null);\n\n let isByMe = false;\n\n if (sender && message.messageType !== 'admin') {\n // pending and failed messages are by me\n isByMe = (userId === sender.userId)\n || (message.requestState === SendingMessageStatus.PENDING)\n || (message.requestState === SendingMessageStatus.FAILED);\n }\n\n if(RenderedMessage) {\n return (\n
\n \n
\n );\n }\n\n if (message.messageType === 'user' && showEdit) {\n return (\n { setShowEdit(false); }}\n value={message.message}\n />\n );\n }\n\n return (\n
\n {/* date-seperator */}\n {\n hasSeperator && (\n \n \n \n )\n }\n {/* Message */}\n {\n {\n [MessageTypes.ADMIN]: (() => {\n if (message.messageType === 'admin') {\n return (\n \n )\n }\n })(),\n [MessageTypes.FILE]: (() => {\n if (message.messageType === 'file') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.OG]: (() => {\n if (message.messageType === 'user') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.THUMBNAIL]: (() => {\n if (message.messageType === 'file') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.USER]: (() => {\n if (message.messageType === 'user') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.UNKNOWN]: (() => {\n return;\n // return (\n // \n // );\n })(),\n }[getMessageType(message)]\n }\n {/* Modal */}\n {\n showRemove && (\n setShowRemove(false)}\n onDeleteMessage={() => {\n if (message.messageType !== 'admin') {\n deleteMessage(message);\n }\n }}\n />\n )\n }\n {\n (showFileViewer && message.messageType === 'file') && (\n setShowFileViewer(false)}\n message={message}\n onDelete={() => deleteMessage(message)}\n isByMe={isByMe}\n />\n )\n }\n {/* {\n !((message.isFileMessage && message.isFileMessage()) || message.messageType === 'file')\n && !(message.isAdminMessage && message.isAdminMessage())\n && !(((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user'))\n && !(showFileViewer)\n && (\n \n )\n } */}\n
\n );\n}\n","import React, { ReactElement, useRef, useState, useMemo } from 'react';\nimport isSameDay from 'date-fns/isSameDay';\nimport {\n ClientFileMessage,\n ClientUserMessage,\n EveryMessage,\n RenderCustomMessage,\n} from '../../../index';\nimport MessageHoc from './MessageHOC';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\n\nimport PlaceHolder, { PlaceHolderTypes } from '../../../ui/PlaceHolder';\nimport './openchannel-conversation-scroll.scss';\nimport { compareMessagesForGrouping } from '../utils';\n\ninterface Props {\n openchannel: SendBird.OpenChannel;\n user: SendBird.User;\n allMessages: EveryMessage[];\n useMessageGrouping: boolean;\n isOnline: boolean;\n hasMore: boolean;\n renderCustomMessage?: RenderCustomMessage;\n onScroll(callback?: () => void): void;\n updateMessage(messageId: number, text: string, callback?: () => void): void;\n deleteMessage(message: ClientUserMessage | ClientFileMessage, callback?: () => void): void;\n resendMessage(failedMessage: ClientUserMessage | ClientFileMessage): void;\n}\n\nfunction OpenchannelConversationScroll(\n {\n useMessageGrouping = true,\n openchannel,\n user,\n allMessages,\n isOnline = true,\n hasMore,\n onScroll,\n renderCustomMessage,\n updateMessage,\n deleteMessage,\n resendMessage,\n }: Props,\n ref: React.RefObject,\n): ReactElement {\n const scrollRef = ref || useRef(null);\n const [showScrollDownButton, setShowScrollDownButton] = useState(false);\n\n const handleOnScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n } = element;\n if (\n (scrollHeight > scrollTop + clientHeight)\n && (window.navigator.userAgent.indexOf('MSIE ') < 0) // don't show button in IE\n ) {\n setShowScrollDownButton(true);\n } else {\n setShowScrollDownButton(false);\n }\n\n if (scrollTop === 0) {\n if (!hasMore) {\n return;\n }\n const nodes = scrollRef.current.querySelectorAll('.sendbird-msg--scroll-ref');\n const first = nodes && nodes[0];\n onScroll(() => {\n try {\n first.scrollIntoView();\n } catch (error) { }\n });\n }\n };\n\n const scrollToBottom = () => {\n if (scrollRef && scrollRef.current) {\n scrollRef.current.scrollTo(0, scrollRef.current.scrollHeight);\n setShowScrollDownButton(false);\n }\n };\n\n const hasMessage = useMemo(() => {\n return allMessages.length > 0;\n }, [allMessages.length]);\n\n return (\n \n
\n
\n
\n {\n hasMessage\n ? (\n allMessages.map((message, index) => {\n let status: string;\n\n if (message.messageType !== 'admin') {\n status = message.sendingStatus;\n }\n\n const previousMessage = allMessages[index - 1];\n const nextMessage = allMessages[index - 1];\n\n const previousMessageCreatedAt = previousMessage && previousMessage.createdAt;\n const currentCreatedAt = message.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeperator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n\n const [chainTop, chainBottom] = useMessageGrouping\n ? compareMessagesForGrouping(previousMessage, message, nextMessage)\n : [false, false];\n return (\n \n )\n })\n )\n : (\n \n )\n }\n
\n {\n showScrollDownButton && (\n \n \n
\n )\n }\n
\n \n );\n}\n\nexport default React.forwardRef(OpenchannelConversationScroll);\n","export const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';\nexport const RESET_MESSAGES = 'RESET_MESSAGES';\nexport const GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START';\nexport const GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS';\nexport const GET_PREV_MESSAGES_FAIL = 'GET_PREV_MESSAGES_FAIL';\nexport const SENDING_MESSAGE_FAILED = 'SENDING_MESSAGE_FAILED';\nexport const SENDING_MESSAGE_SUCCEEDED = 'SENDING_MESSAGE_SUCCEEDED';\nexport const SENDING_MESSAGE_START = 'SENDING_MESSAGE_START';\nexport const RESENDING_MESSAGE_START = 'RESENDING_MESSAGE_START';\nexport const FETCH_PARTICIPANT_LIST = 'FETCH_PARTICIPANT_LIST';\nexport const FETCH_BANNED_USER_LIST = 'FETCH_BANNED_USER_LIST';\nexport const FETCH_MUTED_USER_LIST= 'FETCH_MUTED_USER_LIST';\n\n// event handlers\nexport const ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';\nexport const ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';\nexport const ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';\nexport const ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';\nexport const ON_OPERATOR_UPDATED = 'ON_OPERATOR_UPDATED';\nexport const ON_USER_ENTERED = 'ON_USER_ENTERED';\nexport const ON_USER_EXITED = 'ON_USER_EXITED';\nexport const ON_USER_MUTED = 'ON_USER_MUTED';\nexport const ON_USER_UNMUTED = 'ON_USER_UNMUTED';\nexport const ON_USER_BANNED = 'ON_USER_BANNED';\nexport const ON_USER_UNBANNED = 'ON_USER_UNBANNED';\nexport const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';\nexport const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';\nexport const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';\nexport const ON_META_DATA_CREATED = 'ON_META_DATA_CREATED';\nexport const ON_META_DATA_UPDATED = 'ON_META_DATA_UPDATED';\nexport const ON_META_DATA_DELETED = 'ON_META_DATA_DELETED';\nexport const ON_META_COUNTERS_CREATED = 'ON_META_COUNTERS_CREATED';\nexport const ON_META_COUNTERS_UPDATED = 'ON_META_COUNTERS_UPDATED';\nexport const ON_META_COUNTERS_DELETED = 'ON_META_COUNTERS_DELETED';\nexport const ON_MENTION_RECEIVED = 'ON_MENTION_RECEIVED';\n","import { State as initialStateInterface } from './initialState';\nimport * as actionTypes from './actionTypes';\n\nimport compareIds from '../../../utils/compareIds.js';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// @ts-ignore: Unreachable code error\ninterface ActionInterface {\n type: string;\n payload?: any;\n}\n\nexport default function reducer(\n state: initialStateInterface,\n action: ActionInterface,\n): initialStateInterface {\n switch (action.type) {\n case actionTypes.RESET_MESSAGES: {\n return {\n ...state,\n allMessages: [],\n };\n }\n\n case actionTypes.SET_CURRENT_CHANNEL: {\n const gottenChannel = action.payload;\n const operators = gottenChannel.operators;\n if (\n !state.isInvalid\n && state.currentOpenChannel\n && state.currentOpenChannel.url\n && (state.currentOpenChannel.url === gottenChannel.url)\n ) {\n return state;\n }\n return {\n ...state,\n currentOpenChannel: gottenChannel,\n isInvalid: false,\n operators: operators,\n participants: operators,\n bannedParticipantIds: [],\n mutedParticipantIds: [],\n };\n }\n case actionTypes.SET_CHANNEL_INVALID: {\n return {\n ...state,\n isInvalid: true,\n };\n }\n case actionTypes.GET_PREV_MESSAGES_START: {\n return {\n ...state,\n loading: true,\n };\n }\n case actionTypes.GET_PREV_MESSAGES_SUCESS:\n case actionTypes.GET_PREV_MESSAGES_FAIL: {\n const isFailed = (action.type === actionTypes.GET_PREV_MESSAGES_FAIL);\n const {\n currentOpenChannel = {},\n messages = [],\n hasMore,\n lastMessageTimestamp,\n } = action.payload;\n const actionChannelUrl = currentOpenChannel.url;\n const receivedMessages = isFailed ? [] : messages;\n const _hasMore = isFailed ? false : hasMore;\n const _lastMessageTimestamp = isFailed ? 0 : lastMessageTimestamp;\n\n const stateChannel = state.currentOpenChannel;\n const stateChannelUrl = stateChannel.url;\n\n if (actionChannelUrl !== stateChannelUrl) {\n return state;\n }\n\n const filteredAllMessages = state.allMessages.filter((message) => (\n !(receivedMessages.find(({ messageId }) => compareIds(messageId, message.messageId)))\n ));\n return {\n ...state,\n loading: false,\n initialized: true,\n hasMore: _hasMore,\n lastMessageTimestamp: _lastMessageTimestamp,\n allMessages: [\n ...receivedMessages,\n ...filteredAllMessages,\n ],\n };\n }\n case actionTypes.SENDING_MESSAGE_START: {\n const {\n message,\n channel,\n } = action.payload;\n if (channel.url !== state.currentOpenChannel.url) {\n return state;\n }\n return {\n ...state,\n allMessages: [\n ...state.allMessages,\n { ...message },\n ],\n };\n }\n case actionTypes.SENDING_MESSAGE_SUCCEEDED: {\n const sentMessage = action.payload;\n const newMessages = state.allMessages.map((m) => (\n compareIds(m.reqId, sentMessage.reqId) ? sentMessage : m\n ));\n return {\n ...state,\n allMessages: newMessages,\n };\n }\n case actionTypes.SENDING_MESSAGE_FAILED: {\n const sentMessage = action.payload;\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, sentMessage.reqId) ? sentMessage : m\n )),\n };\n }\n case actionTypes.RESENDING_MESSAGE_START: {\n const eventedChannel = action.payload.channel;\n const resentMessage = action.payload.message;\n if (eventedChannel.url !== state.currentOpenChannel.url) {\n return state;\n }\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, resentMessage.reqId) ? resentMessage : m\n )),\n };\n }\n case actionTypes.FETCH_PARTICIPANT_LIST: {\n const eventedChannel = action.payload.channel;\n const fetchedParticipantList = action.payload.users;\n if (eventedChannel.url !== state.currentOpenChannel.url) {\n return state;\n }\n return {\n ...state,\n participants: [... state.participants, ...fetchedParticipantList],\n // Should check duplication\n };\n }\n case actionTypes.FETCH_BANNED_USER_LIST: {\n const eventedChannel = action.payload.channel;\n const fetchedBannedUserList = action.payload.users;\n if (\n (eventedChannel.url !== state.currentOpenChannel.url)\n || !(fetchedBannedUserList.every(user => typeof user.userId === 'string'))\n ) {\n return state;\n }\n return {\n ...state,\n bannedParticipantIds: [\n ... state.bannedParticipantIds,\n ...fetchedBannedUserList.map(user => user.userId),\n ],\n // Should check duplication\n };\n }\n case actionTypes.FETCH_MUTED_USER_LIST: {\n const eventedChannel = action.payload.channel;\n const fetchedMutedUserList = action.payload.users;\n if (\n (eventedChannel.url !== state.currentOpenChannel.url)\n || !(fetchedMutedUserList.every(user => typeof user.userId === 'string'))\n ) {\n return state;\n }\n return {\n ...state,\n mutedParticipantIds: [\n ... state.bannedParticipantIds,\n ...fetchedMutedUserList.map(user => user.userId),\n ],\n // Should check duplication\n };\n }\n // events\n case actionTypes.ON_MESSAGE_RECEIVED: {\n const eventedChannel = action.payload.channel;\n const receivedMessage = action.payload.message;\n\n const {\n currentOpenChannel\n } = state;\n\n if (\n !compareIds(eventedChannel.url, currentOpenChannel.url)\n || (\n !(state.allMessages.map(\n (message) => message.messageId).indexOf(receivedMessage.messageId) < 0\n ))\n ) {\n return state;\n }\n\n return {\n ...state,\n allMessages: [...state.allMessages, receivedMessage],\n };\n }\n case actionTypes.ON_MESSAGE_UPDATED: {\n const eventedChannel = action.payload.channel;\n const updatedMessage = action.payload.message;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n allMessages: state.allMessages.map((message) => (\n message.isIdentical(updatedMessage)\n ? updatedMessage\n : message\n )),\n };\n }\n case actionTypes.ON_MESSAGE_DELETED: {\n const eventedChannel = action.payload.channel;\n const deletedMessageId = action.payload.messageId;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n allMessages: state.allMessages.filter((message) => (\n !compareIds(message.messageId, deletedMessageId)\n )),\n };\n }\n case actionTypes.ON_MESSAGE_DELETED_BY_REQ_ID: {\n return {\n ...state,\n allMessages: state.allMessages.filter((m) => (\n !compareIds(m.reqId, action.payload)\n )),\n };\n }\n case actionTypes.ON_OPERATOR_UPDATED: {\n const eventedChannel = action.payload.channel;\n const updatedOperators = action.payload.operators;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n currentOpenChannel: {\n ...state.currentOpenChannel,\n operators: updatedOperators,\n },\n operators: updatedOperators,\n };\n }\n case actionTypes.ON_USER_ENTERED: {\n const eventedChannel = action.payload.channel;\n const enteredUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n participants: [...state.participants, enteredUser],\n };\n }\n case actionTypes.ON_USER_EXITED: {\n const eventedChannel = action.payload.channel;\n const exitedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n participants: state.participants.filter((participant) => (\n !compareIds(participant.userId, exitedUser.userId)\n )),\n };\n }\n case actionTypes.ON_USER_MUTED: {\n const eventedChannel = action.payload.channel;\n const mutedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.mutedParticipantIds.indexOf(mutedUser.userId) >= 0\n ) {\n return state;\n }\n return {\n ...state,\n mutedParticipantIds: [...state.mutedParticipantIds, mutedUser.userId],\n };\n }\n case actionTypes.ON_USER_UNMUTED: {\n const eventedChannel = action.payload.channel;\n const unmutedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.mutedParticipantIds.indexOf(unmutedUser.userId) < 0\n ) {\n return state;\n }\n return {\n ...state,\n mutedParticipantIds: state.mutedParticipantIds.filter(userId => userId !== unmutedUser.userId),\n };\n }\n case actionTypes.ON_USER_BANNED: {\n const eventedChannel = action.payload.channel;\n const bannedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.bannedParticipantIds.indexOf(bannedUser.userId) >= 0\n ) {\n return state;\n }\n return {\n ...state,\n bannedParticipantIds: [...state.bannedParticipantIds, bannedUser.userId],\n };\n }\n case actionTypes.ON_USER_UNBANNED: {\n const eventedChannel = action.payload.channel;\n const unbannedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.bannedParticipantIds.indexOf(unbannedUser.userId) < 0\n ) {\n return state;\n }\n return {\n ...state,\n bannedParticipantIds: state.bannedParticipantIds.filter(userId => userId !== unbannedUser.userId),\n };\n }\n case actionTypes.ON_CHANNEL_FROZEN: {\n const frozenChannel = action.payload;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== frozenChannel.url)) {\n return state;\n }\n return {\n ...state,\n frozen: true,\n };\n }\n case actionTypes.ON_CHANNEL_UNFROZEN: {\n const unfrozenChannel = action.payload;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== unfrozenChannel.url)) {\n return state;\n }\n return {\n ...state,\n frozen: false,\n };\n }\n case actionTypes.ON_CHANNEL_CHANGED: {\n const changedChannel = action.payload;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== changedChannel.url)) {\n return state;\n }\n return {\n ...state,\n currentOpenChannel: changedChannel,\n };\n }\n case actionTypes.ON_META_DATA_CREATED: {\n // const eventedChannel = action.payload.channel;\n // const createdMetaData = action.payload.metaData;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_DATA_UPDATED: {\n // const eventedChannel = action.payload.channel;\n // const updatedMetaData = action.payload.metaData;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_DATA_DELETED: {\n // const eventedChannel = action.payload.channel;\n // const deletedMetaDataKeys = action.payload.metaDataKeys;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_COUNTERS_CREATED: {\n // const eventedChannel = action.payload.channel;\n // const createdMetaCounter = action.payload.metaCounter;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_COUNTERS_UPDATED: {\n // const eventedChannel = action.payload.channel;\n // const updatedMetaCounter = action.payload.metaCounter;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_COUNTERS_DELETED: {\n // const eventedChannel = action.payload.channel;\n // const deletedMetaCounterKeys = action.payload.metaCounterKeys;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_MENTION_RECEIVED: {\n // const eventedChannel = action.payload.channel;\n // const mentionedMessage = action.payload.message;\n // return {\n // ...state\n // };\n return state;\n }\n default:\n return state;\n }\n}\n","import Sendbird from 'sendbird';\nimport { EveryMessage } from '../../../index';\n\nexport interface State {\n allMessages: EveryMessage[];\n loading: boolean;\n initialized: boolean;\n currentOpenChannel: Sendbird.OpenChannel;\n isInvalid: boolean;\n hasMore: boolean;\n lastMessageTimestamp: number;\n frozen: boolean;\n operators: Sendbird.User[];\n participants: Sendbird.User[];\n bannedParticipantIds: (string|number)[];\n mutedParticipantIds: (string|number)[];\n}\n\nconst initialState: State = {\n allMessages: [],\n loading: false,\n initialized: false,\n currentOpenChannel: null,\n isInvalid: false,\n hasMore: false,\n lastMessageTimestamp: 0,\n frozen: false,\n operators: [],\n participants: [],\n bannedParticipantIds: [],\n mutedParticipantIds: [],\n};\n\nexport default initialState;\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\ninterface MainProps {\n channelUrl: string;\n sdkInit: boolean;\n fetchingParticipants: boolean;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useSetChannel(\n { channelUrl, sdkInit, fetchingParticipants }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): void {\n useEffect(() => {\n if (channelUrl && sdkInit && sdk && sdk.OpenChannel) {\n logger.info('OpenChannel | useSetChannel fetching channel', channelUrl);\n sdk.OpenChannel.getChannel(channelUrl, (openChannel, error) => {\n if (!error) {\n logger.info('OpenChannel | useSetChannel fetched channel', openChannel);\n messagesDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: openChannel,\n });\n openChannel.enter((_, error) => {\n if (error) {\n logger.warning('OpenChannel | useSetChannel enter channel failed', { channelUrl, error });\n messagesDispatcher({\n type: messageActionTypes.SET_CHANNEL_INVALID,\n payload: null,\n });\n }\n if (fetchingParticipants) {\n // fetch participants, banned participantIds, muted participantIds\n const participantListQuery = openChannel.createParticipantListQuery();\n const bannedParticipantListQuery = openChannel.createBannedUserListQuery();\n const mutedParticipantListQuery = openChannel.createMutedUserListQuery();\n utils.fetchWithListQuery(\n participantListQuery,\n logger,\n (users) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_PARTICIPANT_LIST,\n payload: {\n channel: openChannel,\n users,\n },\n });\n },\n );\n utils.fetchWithListQuery(\n bannedParticipantListQuery,\n logger,\n (users) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_BANNED_USER_LIST,\n payload: {\n channel: openChannel,\n users,\n },\n });\n },\n );\n utils.fetchWithListQuery(\n mutedParticipantListQuery,\n logger,\n (users) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_MUTED_USER_LIST,\n payload: {\n channel: openChannel,\n users,\n },\n });\n },\n );\n }\n });\n } else {\n logger.warning('OpenChannel | useSetChannel fetching channel failed', { channelUrl, error });\n messagesDispatcher({\n type: messageActionTypes.SET_CHANNEL_INVALID,\n payload: null,\n });\n }\n });\n // .then((openChannel) => {\n // logger.info('OpenChannel | useSetChannel fetched channel', openChannel);\n // messagesDispatcher({\n // type: messageActionTypes.SET_CURRENT_CHANNEL,\n // payload: openChannel,\n // });\n // openChannel.enter((_, error) => {\n // if (error) {\n // logger.warning('OpenChannel | useSetChannel enter channel failed', { channelUrl, error });\n // messagesDispatcher({\n // type: messageActionTypes.SET_CHANNEL_INVALID,\n // });\n // }\n // if (fetchingParticipants) {\n // // fetch participants, banned participantIds, muted participantIds\n // const participantListQuery = openChannel.createParticipantListQuery();\n // const bannedParticipantListQuery = openChannel.createBannedUserListQuery();\n // const mutedParticipantListQuery = openChannel.createMutedUserListQuery();\n // utils.fetchWithListQuery(\n // participantListQuery,\n // logger,\n // (users) => {\n // messagesDispatcher({\n // type: messageActionTypes.FETCH_PARTICIPANT_LIST,\n // payload: {\n // channel: openChannel,\n // users,\n // },\n // });\n // },\n // );\n // utils.fetchWithListQuery(\n // bannedParticipantListQuery,\n // logger,\n // (users) => {\n // messagesDispatcher({\n // type: messageActionTypes.FETCH_BANNED_USER_LIST,\n // payload: {\n // channel: openChannel,\n // users,\n // },\n // });\n // },\n // );\n // utils.fetchWithListQuery(\n // mutedParticipantListQuery,\n // logger,\n // (users) => {\n // messagesDispatcher({\n // type: messageActionTypes.FETCH_MUTED_USER_LIST,\n // payload: {\n // channel: openChannel,\n // users,\n // },\n // });\n // },\n // );\n // }\n // });\n // })\n // .catch((error) => {\n // logger.warning('OpenChannel | useSetChannel fetching channel failed', { channelUrl, error });\n // messagesDispatcher({\n // type: messageActionTypes.SET_CHANNEL_INVALID,\n // });\n // });\n }\n }, [channelUrl, sdkInit, fetchingParticipants]);\n}\n\nexport default useSetChannel;\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport uuidv4 from '../../../utils/uuid';\nimport { scrollIntoLast } from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n checkScrollBottom: () => boolean;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useHandleChannelEvents(\n { currentOpenChannel, checkScrollBottom }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): void {\n useEffect(() => {\n const messageReceiverId = uuidv4();\n if (currentOpenChannel && currentOpenChannel.url && sdk && sdk.ChannelHandler) {\n const ChannelHandler = new sdk.ChannelHandler();\n logger.info('OpenChannel | useHandleChannelEvents: Setup evnet handler', messageReceiverId);\n\n ChannelHandler.onMessageReceived = (channel, message) => {\n const scrollToEnd = checkScrollBottom();\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMessageReceived', { channelUrl, message });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_RECEIVED,\n payload: { channel, message },\n });\n if (scrollToEnd) {\n try {\n setTimeout(() => {\n scrollIntoLast();\n });\n } catch (error) {\n logger.warning('OpenChannel | onMessageReceived | scroll to end failed');\n }\n }\n };\n ChannelHandler.onMessageUpdated = (channel, message) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMessageUpdated', { channelUrl, message });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n };\n ChannelHandler.onMessageDeleted = (channel, messageId) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMessageDeleted', { channelUrl, messageId });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: { channel, messageId },\n });\n };\n ChannelHandler.onOperatorUpdated = (channel, operators) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onOperatorUpdated', { channelUrl, operators });\n messagesDispatcher({\n type: messageActionTypes.ON_OPERATOR_UPDATED,\n payload: { channel, operators },\n });\n };\n ChannelHandler.onUserEntered = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserEntered', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_ENTERED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserExited = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserExited', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_EXITED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserMuted = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserMuted', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_MUTED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserUnmuted = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserUnmuted', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_UNMUTED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserBanned = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserBanned', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_BANNED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserUnbanned = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserUnbanned', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_UNBANNED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onChannelFrozen = (channel) => {\n logger.info('OpenChannel | useHandleChannelEvents: onChannelFrozen', channel);\n messagesDispatcher({\n type: messageActionTypes.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n };\n ChannelHandler.onChannelUnfrozen = (channel) => {\n logger.info('OpenChannel | useHandleChannelEvents: onChannelUnfrozen', channel);\n messagesDispatcher({\n type: messageActionTypes.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n };\n ChannelHandler.onChannelChanged = (channel) => {\n logger.info('OpenChannel | useHandleChannelEvents: onChannelChanged', channel);\n messagesDispatcher({\n type: messageActionTypes.ON_CHANNEL_CHANGED,\n payload: channel,\n });\n };\n ChannelHandler.onMetaDataCreated = (channel, metaData) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaDataCreated', { channelUrl, metaData });\n messagesDispatcher({\n type: messageActionTypes.ON_META_DATA_CREATED,\n payload: { channel, metaData },\n });\n };\n ChannelHandler.onMetaDataUpdated = (channel, metaData) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaDataUpdated', { channelUrl, metaData });\n messagesDispatcher({\n type: messageActionTypes.ON_META_DATA_UPDATED,\n payload: { channel, metaData },\n });\n };\n ChannelHandler.onMetaDataDeleted = (channel, metaDataKeys) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaDataDeleted', { channelUrl, metaDataKeys });\n messagesDispatcher({\n type: messageActionTypes.ON_META_DATA_DELETED,\n payload: { channel, metaDataKeys },\n });\n };\n ChannelHandler.onMetaCountersCreated = (channel, metaCounter) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersCreated', { channelUrl, metaCounter });\n messagesDispatcher({\n type: messageActionTypes.ON_META_COUNTERS_CREATED,\n payload: { channel, metaCounter },\n });\n };\n ChannelHandler.onMetaCountersUpdated = (channel, metaCounter) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersUpdated', { channelUrl, metaCounter });\n messagesDispatcher({\n type: messageActionTypes.ON_META_COUNTERS_UPDATED,\n payload: { channel, metaCounter },\n });\n };\n ChannelHandler.onMetaCountersDeleted = (channel, metaCounterKeys) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersDeleted', { channelUrl, metaCounterKeys });\n messagesDispatcher({\n type: messageActionTypes.ON_META_COUNTERS_DELETED,\n payload: { channel, metaCounterKeys },\n });\n };\n ChannelHandler.onMentionReceived = (channel, message) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMentionReceived', { channelUrl, message });\n messagesDispatcher({\n type: messageActionTypes.ON_MENTION_RECEIVED,\n payload: { channel, message },\n });\n };\n\n sdk.addChannelHandler(messageReceiverId, ChannelHandler);\n }\n\n return () => {\n if (sdk && sdk.removeChannelHandler) {\n logger.info('OpenChannel | useHandleChannelEvents: Removing message receiver handler', messageReceiverId);\n sdk.removeChannelHandler(messageReceiverId);\n }\n }\n }, [currentOpenChannel]);\n}\n\nexport default useHandleChannelEvents;\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport { scrollIntoLast } from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n /* eslint-disable @typescript-eslint/no-explicit-any*/\n userFilledMessageListParams?: Record;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useInitialMessagesFetch(\n { currentOpenChannel, userFilledMessageListParams }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): void {\n useEffect(() => {\n logger.info('OpenChannel | useInitialMessagesFetch: Setup started', currentOpenChannel);\n messagesDispatcher({\n type: messageActionTypes.RESET_MESSAGES,\n payload: null,\n });\n\n if (sdk && sdk.MessageListParams && currentOpenChannel && currentOpenChannel.getMessagesByTimestamp) {\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.isInclusive = true;\n messageListParams.includeReplies = false;\n messageListParams.includeReactions = false;\n if (userFilledMessageListParams) {\n Object.keys(userFilledMessageListParams).forEach((key) => {\n messageListParams[key] = userFilledMessageListParams[key];\n });\n logger.info('OpenChannel | useInitialMessagesFetch: Used customizedMessageListParams');\n }\n\n logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages', { currentOpenChannel, messageListParams });\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_START,\n payload: null,\n });\n currentOpenChannel.getMessagesByTimestamp(new Date().getTime(), messageListParams, (messages, error) => {\n if (!error) {\n logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages succeeded', messages);\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimestamp = hasMore ? messages[0].createdAt : null;\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n currentOpenChannel,\n messages,\n hasMore,\n lastMessageTimestamp,\n },\n });\n setTimeout(() => { scrollIntoLast(); });\n } else {\n logger.error('OpenChannel | useInitialMessagesFetch: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_FAIL,\n payload: {\n currentOpenChannel,\n messages: [],\n hasMore: false,\n lastMessageTimestamp: 0,\n },\n });\n }\n });\n }\n }, [currentOpenChannel, userFilledMessageListParams]);\n}\n\nexport default useInitialMessagesFetch;\n","import { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n lastMessageTimestamp: number;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n hasMore: boolean;\n /* eslint-disable @typescript-eslint/no-explicit-any*/\n userFilledMessageListParams?: Record;\n}\ntype CallbackReturn = (callback: () => void) => void;\n\nfunction useScrollCallback(\n { currentOpenChannel, lastMessageTimestamp }: MainProps,\n { sdk, logger, messagesDispatcher, hasMore, userFilledMessageListParams }: ToolProps,\n): CallbackReturn {\n return useCallback((callback) => {\n if (hasMore && sdk && sdk.MessageListParams) {\n logger.info('OpenChannel | useScrollCallback: start');\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.includeReplies = false;\n messageListParams.includeReactions = false;\n\n if (userFilledMessageListParams) {\n Object.keys(userFilledMessageListParams).forEach((key) => {\n messageListParams[key] = userFilledMessageListParams[key];\n });\n logger.info('OpenChannel | useScrollCallback: Used userFilledMessageListParams', userFilledMessageListParams);\n }\n\n logger.info('OpenChannel | useScrollCallback: Fetching messages', { currentOpenChannel, messageListParams });\n\n currentOpenChannel.getMessagesByTimestamp(lastMessageTimestamp || new Date().getTime(), messageListParams, (messages, error) => {\n if (!error) {\n logger.info('OpenChannel | useScrollCallback: Fetching messages succeeded', messages);\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimestamp = hasMore ? messages[0].createdAt : null;\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n currentOpenChannel,\n messages,\n hasMore,\n lastMessageTimestamp,\n }\n });\n setTimeout(() => {\n callback();\n });\n } else {\n logger.error('OpenChannel | useScrollCallback: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_FAIL,\n payload: {\n currentOpenChannel,\n messages: [],\n hasMore: false,\n lastMessageTimestamp: 0,\n }\n });\n }\n });\n }\n }, [currentOpenChannel, lastMessageTimestamp]);\n}\n\nexport default useScrollCallback;\n","import { useCallback } from 'react';\n\ninterface MainProps {\n conversationScrollRef: React.RefObject;\n}\ninterface ToolProps {\n logger: SendbirdUIKit.Logger;\n}\n\nfunction useCheckScrollBottom(\n { conversationScrollRef }: MainProps,\n { logger }: ToolProps,\n): () => boolean {\n return useCallback(() => {\n let isBottom = true;\n if (conversationScrollRef) {\n try {\n const conversationScroll = conversationScrollRef.current;\n isBottom = conversationScroll.scrollHeight <= conversationScroll.scrollTop + conversationScroll.clientHeight;\n } catch(error) {\n logger.error('OpenChannel | useCheckScrollBottom', error);\n }\n }\n return isBottom;\n }, [conversationScrollRef])\n}\n\nexport default useCheckScrollBottom;\n","import Sendbird from 'sendbird';\nimport { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n onBeforeSendUserMessage: (text: string) => Sendbird.UserMessageParams;\n checkScrollBottom: () => boolean;\n messageInputRef: React.RefObject;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useSendMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): () => void {\n return useCallback(() => {\n if (sdk && sdk.UserMessageParams) {\n const text = messageInputRef.current.value;\n const createParamsDefault = (txt: string | number): Sendbird.UserMessageParams => {\n const message = typeof txt === 'string' ? txt.trim() : txt.toString(10).trim();\n const params = new sdk.UserMessageParams();\n params.message = message;\n return params;\n }\n const createCustomParams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';\n if (createCustomParams) {\n logger.info('OpenChannel | useSendMessageCallback: Creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);\n }\n const params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);\n logger.info('OpenChannel | useSendMessageCallback: Sending message has started', params);\n\n const isBottom = checkScrollBottom();\n const pendingMessage = currentOpenChannel.sendUserMessage(params, (message, error) => {\n if (!error) {\n logger.info('OpenChannel | useSendMessageCallback: Sending message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n if (isBottom) {\n setTimeout(() => {\n utils.scrollIntoLast();\n });\n }\n } else {\n logger.warning('OpenChannel | useSendMessageCallback: Sending message failed', error);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: messageActionTypes,\n });\n }\n });\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: {\n message: pendingMessage,\n channel: currentOpenChannel,\n }\n });\n }\n }, [currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef]);\n}\n\nexport default useSendMessageCallback;\n","import Sendbird from 'sendbird';\nimport { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n onBeforeSendFileMessage: (file: File) => Sendbird.FileMessageParams;\n checkScrollBottom: () => boolean;\n imageCompression?: {\n compressionRate?: number,\n resizingWidth?: number | string,\n resizingHeight?: number | string,\n };\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\ntype CallbackReturn = (file: File) => void;\n\nfunction useFileUploadCallback(\n {\n currentOpenChannel,\n checkScrollBottom,\n imageCompression = {},\n onBeforeSendFileMessage,\n }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((file) => {\n if (sdk && sdk.FileMessageParams) {\n const {\n compressionRate,\n resizingWidth,\n resizingHeight,\n } = imageCompression;\n const createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';\n\n const compressibleFileType = (file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg');\n const compressibleRatio = (compressionRate > 0) && (compressionRate < 1);\n // pxToNumber returns null if values are invalid\n const compressibleDiamensions = utils.pxToNumber(resizingWidth)\n || utils.pxToNumber(resizingHeight);\n\n const canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions);\n\n const createParamsDefault = (file_): Sendbird.FileMessageParams => {\n const params = new sdk.FileMessageParams();\n params.file = file_;\n return params;\n };\n\n if (canCompressImage) { // Using image compression\n try {\n const image: HTMLImageElement = document.createElement('img');\n image.src = URL.createObjectURL(file);\n image.onload = () => {\n URL.revokeObjectURL(image.src);\n const canvas = document.createElement('canvas');\n const imageWidth = image.naturalWidth || image.width;\n const imageHeight = image.naturalHeight || image.height;\n let targetWidth = utils.pxToNumber(resizingWidth) || imageWidth;\n let targetHeight = utils.pxToNumber(resizingHeight) || imageHeight;\n\n // In canvas.toBlob(callback, mimeType, qualityArgument)\n // qualityArgument doesnt work\n // so in case compressibleDiamensions are not present, we use ratio\n if (file.type === 'image/png' && !compressibleDiamensions) {\n targetWidth *= compressionRate;\n targetHeight *= compressionRate;\n }\n\n canvas.width = targetWidth;\n canvas.height = targetHeight;\n const context = canvas.getContext('2d');\n context.drawImage(image, 0, 0, targetWidth, targetHeight);\n context.canvas.toBlob(\n (newImageBlob) => {\n const compressedFile = new File([newImageBlob], file.name, { type: file.type });\n if (createCustomParams) {\n logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = onBeforeSendFileMessage ? onBeforeSendFileMessage(compressedFile) : createParamsDefault(compressedFile);\n logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);\n\n const isBottom = checkScrollBottom();\n const pendingMessage = currentOpenChannel.sendFileMessage(\n params,\n (message: SendbirdUIKit.ClientFileMessage, error) => {\n if (!error) {\n logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n if (isBottom) {\n setTimeout(() => {\n utils.scrollIntoLast();\n });\n }\n } else {\n logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', { message, error });\n message.localUrl = URL.createObjectURL(file);\n message.file = file;\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: message,\n });\n }\n },\n );\n\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: {\n message: {\n ...pendingMessage,\n url: URL.createObjectURL(file),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentOpenChannel,\n }\n });\n },\n file.type,\n compressionRate,\n );\n }\n } catch (error) {\n logger.warning('OpenChannel | useFileUploadCallback: Sending file message with image compression failed', error);\n }\n } else { // Not using image compression\n if (createCustomParams) {\n logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = onBeforeSendFileMessage ? onBeforeSendFileMessage(file) : createParamsDefault(file);\n logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);\n\n const isBottom = checkScrollBottom();\n const pendingMessage = currentOpenChannel.sendFileMessage(\n params,\n (message: SendbirdUIKit.ClientFileMessage, error) => {\n if (!error) {\n logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n if (isBottom) {\n setTimeout(() => {\n utils.scrollIntoLast();\n });\n }\n } else {\n logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', { message, error });\n message.localUrl = URL.createObjectURL(file);\n message.file = file;\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: message,\n });\n }\n }\n );\n\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: {\n message: {\n ...pendingMessage,\n url: URL.createObjectURL(file),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentOpenChannel,\n }\n });\n }\n }\n }, [currentOpenChannel, onBeforeSendFileMessage, checkScrollBottom, imageCompression]);\n}\n\nexport default useFileUploadCallback;\n","import Sendbird from 'sendbird';\nimport { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n onBeforeSendUserMessage?: (text) => Sendbird.UserMessageParams;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload :any }) => void;\n}\ntype CallbackReturn = (messageId, text, callback) => void;\n\nfunction useUpdateMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((messageId, text, callback) => {\n const createParamsDefault = (txt) => {\n const params = new sdk.UserMessageParams();\n params.message = txt;\n return params;\n };\n\n if (onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function') {\n logger.info('OpenChannel | useUpdateMessageCallback: Creating params using onBeforeUpdateUserMessage');\n }\n const params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);\n currentOpenChannel.updateUserMessage(messageId, params, (message, error) => {\n if (callback) {\n callback();\n }\n if (!error) {\n logger.info('OpenChannel | useUpdateMessageCallback: Updating message succeeded', { message, params });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: {\n channel: currentOpenChannel,\n message,\n },\n });\n } else {\n logger.warning('OpenChannel | useUpdateMessageCallback: Updating message failed', error);\n }\n });\n }, [currentOpenChannel, onBeforeSendUserMessage]);\n}\n\nexport default useUpdateMessageCallback;\n","import { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n}\ninterface ToolProps {\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\ntype CallbackReturn = (\n message: SendbirdUIKit.ClientUserMessage | SendbirdUIKit.ClientFileMessage,\n callback?: () => void,\n) => void;\n\nfunction useDeleteMessageCallback(\n { currentOpenChannel }: MainProps,\n { logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((message, callback) => {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message', message);\n const { sendingStatus } = message;\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message requestState', sendingStatus);\n\n if (sendingStatus === 'failed' || sendingStatus === 'pending') {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleted message from local', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,\n payload: message.reqId,\n });\n if (callback) {\n callback();\n }\n } else {\n currentOpenChannel.deleteMessage(message, (error) => {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message on server', sendingStatus);\n if (callback) {\n callback();\n }\n if (!error) {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: {\n channel: currentOpenChannel,\n messageId: message.messageId,\n },\n });\n } else {\n logger.warning('OpenChannel | useDeleteMessageCallback: Deleting message failed', error);\n }\n });\n }\n }, [currentOpenChannel]);\n}\n\nexport default useDeleteMessageCallback;\n","import { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n}\ninterface ToolProps {\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\ntype CallbackReturn = (failedMessage: SendbirdUIKit.ClientUserMessage | SendbirdUIKit.ClientFileMessage) => void;\n\nfunction useResendMessageCallback(\n { currentOpenChannel }: MainProps,\n { logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((failedMessage) => {\n logger.info('OpenChannel | useResendMessageCallback: Resending message has started', failedMessage);\n const { messageType, file } = failedMessage;\n if (failedMessage && typeof failedMessage.isResendable === 'function' && failedMessage.isResendable()) {\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESENDING_MESSAGE_START,\n payload: {\n channel: currentOpenChannel,\n message: failedMessage,\n },\n });\n\n // userMessage\n if (messageType === 'user' && failedMessage.messageType === 'user') {\n currentOpenChannel.resendUserMessage(failedMessage, (message, error) => {\n if (!error) {\n logger.info('OpenChannel | useResendMessageCallback: Reseding message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n } else {\n logger.warning('OpenChannel | useResendMessageCallback: Resending message failed', error);\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: failedMessage,\n });\n }\n });\n return;\n }\n\n // fileMessage\n if (messageType === 'file' && failedMessage.messageType === 'file') {\n currentOpenChannel.resendFileMessage(failedMessage, file, (message, error) => {\n if (!error) {\n logger.info('OpenChannel | useResendMessageCallback: Resending file message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n } else {\n logger.warning('OpenChannel | useResendMessageCallback: Resending file message failed', error);\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: failedMessage,\n });\n }\n });\n }\n } else {\n // to alert user on console\n // eslint-disable-next-line no-console\n console.error('OpenChannel | useResendMessageCallback: Message is not resendable');\n logger.warning('OpenChannel | useResendMessageCallback: Message is not resendable', failedMessage);\n }\n }, [currentOpenChannel]);\n}\n\nexport default useResendMessageCallback;\n","import React, {\n useRef,\n useEffect,\n useReducer,\n useContext,\n useMemo,\n} from 'react';\nimport Sendbird from 'sendbird';\nimport * as utils from './utils';\nimport './index.scss';\n\nimport MessageInputWrapper from './components/MessageInpuetWrapper';\nimport FrozenChannelNotification from './components/FrozenNotification';\nimport OpenchannelConversationHeader from '../../ui/OpenchannelConversationHeader';\nimport OpenchannelConversationScroll from './components/OpenchannelConversationScroll';\nimport PlaceHolder, { PlaceHolderTypes } from '../../ui/PlaceHolder';\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\n\nimport { OpenChannelProps } from '../../index';\nimport messagesReducer from './dux/reducers';\nimport messagesInitialState from './dux/initialState';\nimport * as messageActionTypes from './dux/actionTypes';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext.jsx';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { scrollIntoLast } from './utils';\nimport * as topics from '../../lib/pubSub/topics';\n\n// hooks\nimport useSetChannel from './hooks/useSetChannel';\nimport useHandleChannelEvents from './hooks/useHandleChannelEvents';\nimport useInitialMessagesFetch from './hooks/useInitialMessagesFetch';\nimport useScrollCallback from './hooks/useScrollCallback';\nimport useCheckScrollBottom from './hooks/useCheckScrollBottom';\nimport useSendMessageCallback from './hooks/useSendMessageCallback';\nimport useFileUploadCallback from './hooks/useFileUploadCallback';\nimport useUpdateMessageCallback from './hooks/useUpdateMessageCallback';\nimport useDeleteMessageCallback from './hooks/useDeleteMessageCallback';\nimport useResendMessageCallback from './hooks/useResendMessageCallback';\n\nconst COMPONENT_CLASS_NAME = 'sendbird-openchannel-conversation';\n\ninterface Props extends OpenChannelProps {\n stores: {\n sdkStore?: SendbirdUIKit.SdkStore,\n userStore?: {\n user: Sendbird.User,\n },\n };\n config: {\n userId: string,\n isOnline: boolean,\n logger?: SendbirdUIKit.Logger,\n theme?: string,\n /* eslint-disable @typescript-eslint/no-explicit-any*/\n pubSub: any,\n disableUserProfile?: boolean,\n renderUserProfile?(): JSX.Element,\n imageCompression?: {\n compressionRate?: number,\n resizingWidth?: number | string,\n resizingHeight?: number | string,\n },\n };\n}\n\nexport const OpenchannelConversation = (props: Props): JSX.Element => {\n // props\n const {\n useMessageGrouping,\n channelUrl,\n stores,\n config,\n queries = {},\n disableUserProfile,\n fetchingParticipants = false, // We didn't decide to support fetching participant list\n renderCustomMessage,\n renderUserProfile,\n renderChannelTitle,\n renderMessageInput,\n onBeforeSendUserMessage,\n onBeforeSendFileMessage,\n onChatHeaderActionClick\n } = props;\n\n const {\n sdkStore,\n userStore,\n } = stores;\n const {\n userId,\n isOnline,\n logger,\n pubSub,\n imageCompression,\n } = config;\n\n const {\n sdk\n } = sdkStore;\n const {\n user\n } = userStore;\n\n // hook variables\n const [messagesStore, messagesDispatcher] = useReducer(messagesReducer, messagesInitialState);\n const {\n allMessages,\n loading,\n initialized,\n currentOpenChannel,\n isInvalid,\n hasMore,\n lastMessageTimestamp,\n operators,\n bannedParticipantIds,\n mutedParticipantIds,\n } = messagesStore;\n // ref\n const messageInputRef = useRef(null); // useSendMessageCallback\n const conversationScrollRef = useRef(null); // useScrollAfterSendMessageCallback\n const { stringSet } = useContext(LocalizationContext);\n\n // const\n const sdkInit = sdkStore.initialized;\n const userFilledMessageListParams = queries ? queries.messageListParams: null;\n const disabled = !initialized\n || !isOnline\n || utils.isDisabledBecauseFrozen(currentOpenChannel, userId);\n // || utils.isDisabledBecauseMuted(mutedParticipantIds, userId)\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n\n // useMemo\n const amIBanned = useMemo(() => {\n return bannedParticipantIds.indexOf(user.userId) >= 0;\n }, [channelUrl, bannedParticipantIds, user]);\n const amIMuted = useMemo(() => {\n return mutedParticipantIds.indexOf(user.userId) >= 0;\n }, [channelUrl, mutedParticipantIds, user]);\n const amIOperator = useMemo(() => {\n return operators.map(operator => operator.userId).indexOf(user.userId) >= 0;\n }, [channelUrl, operators, user]);\n\n // use hooks\n useSetChannel(\n { channelUrl, sdkInit, fetchingParticipants },\n { sdk, logger, messagesDispatcher },\n );\n const checkScrollBottom = useCheckScrollBottom(\n { conversationScrollRef },\n { logger },\n );\n useHandleChannelEvents(\n { currentOpenChannel, checkScrollBottom },\n { sdk, logger, messagesDispatcher },\n );\n useInitialMessagesFetch(\n { currentOpenChannel, userFilledMessageListParams },\n { sdk, logger, messagesDispatcher },\n );\n const onScroll = useScrollCallback(\n { currentOpenChannel, lastMessageTimestamp },\n { sdk, logger, messagesDispatcher, hasMore, userFilledMessageListParams },\n );\n const handleSendMessage = useSendMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef },\n { sdk, logger, messagesDispatcher },\n );\n const handleFileUpload = useFileUploadCallback(\n { currentOpenChannel, onBeforeSendFileMessage, checkScrollBottom, imageCompression },\n { sdk, logger, messagesDispatcher },\n );\n const updateMessage = useUpdateMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage },\n { sdk, logger, messagesDispatcher },\n );\n const deleteMessage = useDeleteMessageCallback(\n { currentOpenChannel },\n { logger, messagesDispatcher },\n );\n const resendMessage = useResendMessageCallback(\n { currentOpenChannel },\n { logger, messagesDispatcher },\n );\n\n // handle API calls from withSendbird\n useEffect(() => {\n const subscriber = new Map();\n if (!pubSub || !pubSub.subscribe) {\n return;\n }\n subscriber.set(topics.SEND_USER_MESSAGE, pubSub.subscribe(topics.SEND_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel, message } = msg;\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_FILE_MESSAGE, pubSub.subscribe(topics.SEND_FILE_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message, fromSelector } = msg;\n if (fromSelector && channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n }\n }));\n subscriber.set(topics.DELETE_MESSAGE, pubSub.subscribe(topics.DELETE_MESSAGE, (msg) => {\n const { channel, messageId } = msg;\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n }\n }));\n\n return () => {\n if (subscriber) {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n }\n };\n }, [channelUrl, sdkInit]);\n\n if (\n !currentOpenChannel\n || !currentOpenChannel.url\n || amIBanned\n ) {\n return (
);\n }\n if (loading) {\n return (
);\n }\n if (isInvalid) {\n return (
);\n }\n\n return (\n \n {\n renderChannelTitle\n ? renderChannelTitle({\n channel: currentOpenChannel,\n user: user,\n })\n : (\n \n )\n }\n {\n currentOpenChannel.isFrozen && (\n \n )\n }\n \n {\n renderMessageInput\n ? (\n renderMessageInput({\n channel: currentOpenChannel,\n user: user,\n disabled: disabled,\n })\n )\n : (\n \n )\n }\n \n );\n};\n\nexport default withSendbirdContext(OpenchannelConversation);\n"],"names":["getMessageCreatedAt","message","format","createdAt","scrollIntoLast","intialTry","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollTop","scrollHeight","error","setTimeout","isSameGroup","comparingMessage","messageType","sender","userId","sendingStatus","compareMessagesForGrouping","prevMessage","currMessage","nextMessage","kFormatter","num","Math","abs","toFixed","isOperator","openChannel","operators","map","operator","indexOf","isDisabledBecauseFrozen","isFrozen","fetchWithListQuery","listQuery","logger","eachQueryNextCallback","fetchList","query","hasNext","next","users","warning","info","pxToNumber","px","parsed","Number","parseFloat","isNaN","MessageInputWrapper","_a","ref","channel","user","disabled","onSendMessage","onFileUpload","renderMessageInput","stringSet","useContext","LocalizationContext","React","MessageInput","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__DISABLED","forwardRef","FrozenNotification","Label","LabelTypography","CAPTION_2","CHANNEL_FROZEN","COMPONENT_CLASS_NAME","OpenchannelConversationHeader","coverImage","_b","title","LabelStringSet","NO_TITLE","_c","subTitle","amIOperator","onActionClick","Avatar","Icon","IconTypes","AVATAR_NO_IMAGE","IconColors","BACKGROUND_3","H_2","LabelColors","ONBACKGROUND_1","BODY_2","ONBACKGROUND_2","IconButton","INFO","MEMBERS","PRIMARY","copyToClipboard","text","window","clipboardData","setData","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","OpenChannelMessageStatusTypes","NONE","PENDING","FAILED","CANCELED","SUCCEEDED","getSenderFromMessage","_sender","checkIsSent","status","checkIsPending","checkIsFailed","checkIsByMe","isFineCopy","length","isFineResend","isResendable","isFineEdit","isFineDelete","showMenuTrigger","props","OpenchannelUserMessage","className","resendMessage","showEdit","showRemove","chainTop","UserProfileContext","disableUserProfile","renderUserProfile","messageRef","useRef","avatarRef","contextMenuRef","useState","contextStyle","setContextStyle","injectingClassName","Array","isArray","push","isByMe","isPending","isFailed","MemoizedMessageText","useMemo","splitMessage","split","matchedMessage","word","updatedAt","uuidv4","BODY_1","MESSAGE_EDITED","useEffect","current","clientHeight","top","innerWidth","join","ContextMenu","toggleDropdown","profileUrl","closeDropdown","MenuItems","paddingTop","paddingBottom","close","UserProfile","SECONDARY_3","friendName","nickname","CAPTION_3","ONBACKGROUND_3","Loader","SPINNER_LARGE","ERROR","MORE","CONTENT_INVERSE","MenuItem","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","OpenChannelAdminMessage","__spreadArrays","URL_REG","createUrlTester","regexp","test","checkOGIsEnalbed","ogMetaData","url","OpenchannelOGMessage","defaultImage","messageComponentRef","isUrl","wordClassName","LinkLabel","openLink","open","SUBTITLE_2","description","ImageRenderer","alt","NO_THUMBNAIL","SUPPORTING_TYPES","IMAGE","VIDEO","UNSUPPORTED","SUPPORTED_MIMES","getSupportingFileType","type","OpenchannelThumbnailMessage","onClick","localUrl","thumbnails","thumbnailUrl","isMessageSent","PLAY","PHOTO","ON_BACKGROUND_2","checkFileType","fileUrl","result","imageFile","audioFile","FILE_DOCUMENT","FILE_AUDIO","truncate","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","ceil","backChars","floor","substr","OpenchannelFileMessage","openFileUrl","TextButton","name","RemoveMessageModal","onCloseModal","onDeleteMessage","Modal","MODAL__DELETE_MESSAGE__TITLE","MessageTypes","ADMIN","USER","FILE","THUMBNAIL","OG","UNKNOWN","SendingMessageStatus","getMessageType","isUserMessage","isAdminMessage","isImage","isVideo","MessageHoc","editDisabled","hasSeperator","renderCustomMessage","deleteMessage","updateMessage","chainBottom","RenderedMessage","setShowEdit","_d","setShowRemove","_e","showFileViewer","setShowFileViewer","editMessageInputRef","requestState","messageId","DateSeparator","OpenChannelFileMessage","OpenChannelOGMessage","OpenChannelThumbnailMessage","OpenChannelUserMessage","FileViewer","OpenchannelConversationScroll","useMessageGrouping","openchannel","allMessages","isOnline","hasMore","onScroll","scrollRef","showScrollDownButton","setShowScrollDownButton","handleOnScroll","e","element","target","navigator","userAgent","nodes","querySelectorAll","first_1","scrollIntoView","scrollToBottom","scrollTo","hasMessage","index","previousMessage","previousMessageCreatedAt","currentCreatedAt","isSameDay","PlaceHolder","PlaceHolderTypes","NO_MESSAGES","SHEVRON_DOWN","CONTENT","SET_CURRENT_CHANNEL","SET_CHANNEL_INVALID","RESET_MESSAGES","GET_PREV_MESSAGES_START","GET_PREV_MESSAGES_SUCESS","GET_PREV_MESSAGES_FAIL","SENDING_MESSAGE_FAILED","SENDING_MESSAGE_SUCCEEDED","SENDING_MESSAGE_START","RESENDING_MESSAGE_START","FETCH_PARTICIPANT_LIST","FETCH_BANNED_USER_LIST","FETCH_MUTED_USER_LIST","ON_MESSAGE_RECEIVED","ON_MESSAGE_UPDATED","ON_MESSAGE_DELETED","ON_MESSAGE_DELETED_BY_REQ_ID","ON_OPERATOR_UPDATED","ON_USER_ENTERED","ON_USER_EXITED","ON_USER_MUTED","ON_USER_UNMUTED","ON_USER_BANNED","ON_USER_UNBANNED","ON_CHANNEL_FROZEN","ON_CHANNEL_UNFROZEN","ON_CHANNEL_CHANGED","ON_META_DATA_CREATED","ON_META_DATA_UPDATED","ON_META_DATA_DELETED","ON_META_COUNTERS_CREATED","ON_META_COUNTERS_UPDATED","ON_META_COUNTERS_DELETED","ON_MENTION_RECEIVED","reducer","state","action","actionTypes","gottenChannel","payload","isInvalid","currentOpenChannel","participants","bannedParticipantIds","mutedParticipantIds","loading","messages","lastMessageTimestamp","actionChannelUrl","receivedMessages_1","_hasMore","_lastMessageTimestamp","stateChannel","stateChannelUrl","filteredAllMessages","filter","find","compareIds","initialized","sentMessage_1","newMessages","m","reqId","sentMessage_2","eventedChannel","resentMessage_1","fetchedParticipantList","fetchedBannedUserList","every","fetchedMutedUserList","receivedMessage","updatedMessage_1","currentChannel","isIdentical","deletedMessageId_1","updatedOperators","enteredUser","exitedUser_1","participant","mutedUser","unmutedUser_1","bannedUser","unbannedUser_1","frozenChannel","frozen","unfrozenChannel","changedChannel","initialState","useSetChannel","channelUrl","sdkInit","fetchingParticipants","sdk","messagesDispatcher","OpenChannel","getChannel","messageActionTypes","enter","_","participantListQuery","createParticipantListQuery","bannedParticipantListQuery","createBannedUserListQuery","mutedParticipantListQuery","createMutedUserListQuery","utils","useHandleChannelEvents","checkScrollBottom","messageReceiverId","ChannelHandler","onMessageReceived","scrollToEnd","onMessageUpdated","onMessageDeleted","onOperatorUpdated","onUserEntered","onUserExited","onUserMuted","onUserUnmuted","onUserBanned","onUserUnbanned","onChannelFrozen","onChannelUnfrozen","onChannelChanged","onMetaDataCreated","metaData","onMetaDataUpdated","onMetaDataDeleted","metaDataKeys","onMetaCountersCreated","metaCounter","onMetaCountersUpdated","onMetaCountersDeleted","metaCounterKeys","onMentionReceived","addChannelHandler","removeChannelHandler","useInitialMessagesFetch","userFilledMessageListParams","MessageListParams","getMessagesByTimestamp","messageListParams_1","prevResultSize","isInclusive","includeReplies","includeReactions","Object","keys","forEach","key","messageListParams","Date","getTime","useScrollCallback","useCallback","callback","hasMore_1","lastMessageTimestamp_1","useCheckScrollBottom","conversationScrollRef","isBottom","conversationScroll","useSendMessageCallback","onBeforeSendUserMessage","messageInputRef","UserMessageParams","value","createParamsDefault","txt","trim","toString","params","createCustomParams","isBottom_1","pendingMessage","sendUserMessage","useFileUploadCallback","imageCompression","onBeforeSendFileMessage","file","FileMessageParams","compressionRate_1","resizingWidth_1","resizingHeight_1","createCustomParams_1","compressibleFileType","compressibleRatio","compressibleDiamensions_1","canCompressImage","createParamsDefault_1","file_","image_1","src","URL","createObjectURL","onload","revokeObjectURL","canvas","imageWidth","naturalWidth","width","imageHeight","naturalHeight","height","targetWidth","targetHeight","context","getContext","drawImage","toBlob","newImageBlob","compressedFile","File","sendFileMessage","useUpdateMessageCallback","updateUserMessage","useDeleteMessageCallback","useResendMessageCallback","failedMessage","resendUserMessage","resendFileMessage","console","OpenchannelConversation","stores","config","queries","renderChannelTitle","onChatHeaderActionClick","sdkStore","userStore","pubSub","useReducer","messagesReducer","messagesInitialState","messagesStore","userDefinedDisableUserProfile","userDefinedRenderProfile","amIBanned","amIMuted","handleSendMessage","handleFileUpload","subscriber","Map","subscribe","set","topics","msg","fromSelector","s","remove","NO_CHANNELS","LOADING","WRONG","UserProfileProvider","participantCount","OPEN_CHANNEL_CONVERSATION__TITLE_PARTICIPANTS","coverUrl","FrozenChannelNotification","withSendbirdContext"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"OpenChannel.js","sources":["../../../src/smart-components/OpenchannelConversation/utils.ts","../../../src/smart-components/OpenchannelConversation/components/MessageInpuetWrapper.tsx","../../../src/smart-components/OpenchannelConversation/components/FrozenNotification.tsx","../../../src/ui/OpenchannelConversationHeader/index.tsx","../../../src/ui/OpenchannelUserMessage/utils.ts","../../../src/utils/openChannelUtils.ts","../../../src/ui/OpenchannelUserMessage/index.tsx","../../../src/ui/OpenChannelAdminMessage/index.tsx","../../../src/ui/OpenchannelOGMessage/utils.ts","../../../src/ui/OpenchannelOGMessage/index.tsx","../../../src/ui/OpenchannelThumbnailMessage/utils.ts","../../../src/ui/OpenchannelThumbnailMessage/index.tsx","../../../src/ui/OpenchannelFileMessage/utils.ts","../../../src/ui/OpenchannelFileMessage/index.tsx","../../../src/smart-components/OpenchannelConversation/components/RemoveMessageModal.tsx","../../../src/smart-components/OpenchannelConversation/components/types.ts","../../../src/smart-components/OpenchannelConversation/components/MessageHOC.tsx","../../../src/smart-components/OpenchannelConversation/components/OpenchannelConversationScroll.tsx","../../../src/smart-components/OpenchannelConversation/dux/actionTypes.ts","../../../src/smart-components/OpenchannelConversation/dux/reducers.ts","../../../src/smart-components/OpenchannelConversation/dux/initialState.ts","../../../src/smart-components/OpenchannelConversation/hooks/useSetChannel.ts","../../../src/smart-components/OpenchannelConversation/hooks/useHandleChannelEvents.ts","../../../src/smart-components/OpenchannelConversation/hooks/useInitialMessagesFetch.ts","../../../src/smart-components/OpenchannelConversation/hooks/useScrollCallback.ts","../../../src/smart-components/OpenchannelConversation/hooks/useCheckScrollBottom.ts","../../../src/smart-components/OpenchannelConversation/hooks/useSendMessageCallback.ts","../../../src/smart-components/OpenchannelConversation/hooks/useFileUploadCallback.ts","../../../src/smart-components/OpenchannelConversation/hooks/useUpdateMessageCallback.ts","../../../src/smart-components/OpenchannelConversation/hooks/useDeleteMessageCallback.ts","../../../src/smart-components/OpenchannelConversation/hooks/useResendMessageCallback.ts","../../../src/smart-components/OpenchannelConversation/index.tsx"],"sourcesContent":["import format from 'date-fns/format';\nimport Sendbird from 'sendbird';\nimport SendbirdUIKit from '../../index';\n\nexport const getMessageCreatedAt = (message: SendbirdUIKit.EveryMessage): string => format(message.createdAt, 'p');\n\nexport const scrollIntoLast = (intialTry = 0): void => {\n const MAX_TRIES = 10;\n const currentTry = intialTry;\n if (currentTry > MAX_TRIES) {\n return;\n }\n try {\n const scrollDOM = document.querySelector('.sendbird-openchannel-conversation-scroll');\n // eslint-disable-next-line no-multi-assign\n scrollDOM.scrollTop = scrollDOM.scrollHeight;\n } catch (error) {\n setTimeout(() => {\n scrollIntoLast(currentTry + 1);\n }, 500 * currentTry);\n }\n};\n\n\nexport const isSameGroup = (\n message: SendbirdUIKit.EveryMessage,\n comparingMessage: SendbirdUIKit.EveryMessage,\n): boolean => {\n if (\n !message\n || !comparingMessage\n || message.messageType === 'admin'\n || comparingMessage.messageType === 'admin'\n || !message.sender\n || !comparingMessage.sender\n || !message.createdAt\n || !comparingMessage.createdAt\n || !message.sender.userId\n || !comparingMessage.sender.userId\n ) {\n return false\n }\n\n return (\n message.sendingStatus === comparingMessage.sendingStatus\n && message.sender.userId === comparingMessage.sender.userId\n && getMessageCreatedAt(message) === getMessageCreatedAt(comparingMessage)\n );\n};\n\nexport const compareMessagesForGrouping = (\n prevMessage: SendbirdUIKit.EveryMessage,\n currMessage: SendbirdUIKit.EveryMessage,\n nextMessage: SendbirdUIKit.EveryMessage,\n): [boolean, boolean] => (\n [\n isSameGroup(prevMessage, currMessage),\n isSameGroup(currMessage, nextMessage),\n ]\n );\n\nexport const kFormatter = (num: number): string => {\n if (Math.abs(num) > 999999) {\n return `${(Math.abs(num) / 1000000).toFixed(1)}M`;\n }\n\n if (Math.abs(num) > 999) {\n return `${(Math.abs(num) / 1000).toFixed(1)}K`;\n }\n\n return `${num}`;\n};\n\nexport const isOperator = (openChannel: Sendbird.OpenChannel, userId: string): boolean => {\n const { operators } = openChannel;\n if (operators.map(operator => operator.userId).indexOf(userId) < 0) {\n return false;\n }\n return true;\n};\n\nexport const isDisabledBecauseFrozen = (openChannel: Sendbird.OpenChannel, userId: string): boolean => {\n const { isFrozen } = openChannel;\n return isFrozen && !isOperator(openChannel, userId);\n};\n\nexport const isDisabledBecauseMuted = (mutedParticipantIds: Array, userId: string): boolean => {\n return mutedParticipantIds.indexOf(userId) < 0;\n};\n\nexport const fetchWithListQuery = (\n listQuery: SendbirdUIKit.UserListQuery,\n logger: SendbirdUIKit.Logger,\n eachQueryNextCallback: (users: Array) => void,\n): void => {\n const fetchList = (query) => {\n const { hasNext } = query;\n if (hasNext) {\n query.next((error, users) => {\n if (!error) {\n eachQueryNextCallback(users);\n fetchList(query);\n } else {\n logger.warning('OpenChannel | FetchUserList failed', error);\n }\n });\n } else {\n logger.info('OpenChannel | FetchUserList finished');\n }\n };\n logger.info('OpenChannel | FetchUserList start', listQuery);\n fetchList(listQuery);\n};\n\nexport const pxToNumber = (px: string | number): number | void => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n","import React, { useContext } from 'react';\nimport Sendbird from 'sendbird';\nimport { RenderOpenChannelMessageInputProps } from '../../../index';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport MessageInput from '../../../ui/MessageInput';\n\ninterface Props {\n channel: Sendbird.OpenChannel;\n user: Sendbird.User;\n disabled: boolean;\n onSendMessage(): void;\n onFileUpload(file_: File): void;\n renderMessageInput?(renderProps: RenderOpenChannelMessageInputProps): JSX.Element;\n}\n\nconst MessageInputWrapper = ({\n channel,\n user,\n disabled,\n onSendMessage,\n onFileUpload,\n renderMessageInput,\n}: Props, ref: React.RefObject): JSX.Element => {\n if (!channel) {\n return;\n }\n\n const { stringSet } = useContext(LocalizationContext);\n\n if (renderMessageInput) {\n return renderMessageInput({ channel, user, disabled });\n }\n\n return (\n
\n \n
\n );\n};\n\nexport default React.forwardRef(MessageInputWrapper);\n","import React, { useContext } from 'react';\n\nimport './frozen-notification.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelTypography } from '../../../ui/Label';\n\nconst FrozenNotification = (): JSX.Element => {\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n \n {stringSet.CHANNEL_FROZEN}\n \n
\n );\n}\n\nexport default FrozenNotification;\n","import React, { ReactElement } from 'react';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport Icon, { IconColors, IconTypes } from '../Icon';\nimport IconButton from '../IconButton';\nimport Label, {\n LabelTypography,\n LabelColors,\n LabelStringSet,\n} from '../Label';\n\nconst COMPONENT_CLASS_NAME = 'sendbird-openchannel-conversation-header';\n\ninterface Props {\n coverImage?: string;\n title?: string;\n subTitle?: string;\n amIOperator?: boolean;\n onActionClick?(): void;\n}\n\nexport default function OpenchannelConversationHeader({\n coverImage,\n title = LabelStringSet.NO_TITLE,\n subTitle = LabelStringSet.NO_TITLE,\n amIOperator,\n onActionClick,\n}: Props): ReactElement {\n return (\n
\n
\n {\n coverImage ? (\n \n ) : (\n \n \n
\n )\n }\n \n {title}\n \n \n {subTitle}\n \n
\n
\n \n \n \n
\n \n );\n}\n","export const copyToClipboard = (text: string): boolean => {\n // @ts-ignore: Unreachable code error\n if (window.clipboardData && window.clipboardData.setData) {\n // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible.\n // @ts-ignore: Unreachable code error\n return window.clipboardData.setData('Text', text);\n }\n if (document.queryCommandSupported && document.queryCommandSupported('copy')) {\n const textarea = document.createElement('textarea');\n textarea.textContent = text;\n textarea.style.position = 'fixed'; // Prevent scrolling to bottom of page in Microsoft Edge.\n document.body.appendChild(textarea);\n textarea.select();\n try {\n return document.execCommand('copy'); // Security exception may be thrown by some browsers.\n } catch (ex) {\n return false;\n } finally {\n document.body.removeChild(textarea);\n }\n }\n return false;\n};\n\nexport default { copyToClipboard };\n","import Sendbird from 'sendbird';\nimport { ClientUserMessage, ClientFileMessage } from '../index';\n\nconst OpenChannelMessageStatusTypes = {\n NONE: 'none',\n PENDING: 'pending',\n FAILED: 'failed',\n CANCELED: 'canceled',\n SUCCEEDED: 'succeeded'\n};\n\nexport const getSenderFromMessage = (message: ClientUserMessage | ClientFileMessage): Sendbird.User => {\n return message.sender || message._sender;\n};\n\nexport const checkIsSent = (status: string): boolean => (status === OpenChannelMessageStatusTypes.SUCCEEDED);\nexport const checkIsPending = (status: string): boolean => (status === OpenChannelMessageStatusTypes.PENDING);\nexport const checkIsFailed = (status: string): boolean => (status === OpenChannelMessageStatusTypes.FAILED);\n\nexport const checkIsByMe = (message: ClientFileMessage | ClientUserMessage, userId: string): boolean => (getSenderFromMessage(message).userId === userId);\n\ninterface isFineCopyParams {\n message: ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineCopy = ({ message }: isFineCopyParams): boolean => {\n return (message.messageType === 'user' && message.message.length > 0);\n};\n\ninterface isFineResendParams {\n message: ClientFileMessage | ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineResend = ({ message, status, userId }: isFineResendParams): boolean => {\n return checkIsByMe(message, userId)\n && checkIsFailed(status)\n && message.isResendable\n && message.isResendable();\n};\n\ninterface isFineEditParams {\n message: ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineEdit = ({ message, status, userId }: isFineEditParams): boolean => {\n return checkIsByMe(message, userId) && checkIsSent(status);\n};\n\ninterface isFineDeleteParams {\n message: ClientFileMessage | ClientUserMessage;\n status: string;\n userId: string;\n}\nexport const isFineDelete = ({ message, userId }: isFineDeleteParams): boolean => {\n return checkIsByMe(message, userId);\n};\n\ninterface showMenuTriggerParams {\n message: ClientUserMessage | ClientFileMessage;\n status: string;\n userId: string;\n}\nexport const showMenuTrigger = (props: showMenuTriggerParams): boolean => {\n const { message, status, userId } = props;\n if (message.messageType === 'user') {\n return (\n isFineDelete({ message, status, userId })\n || isFineEdit({ message, status, userId })\n || isFineCopy({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n } else {\n return (\n isFineDelete({ message, status, userId })\n || isFineResend({ message, status, userId })\n );\n }\n};\n","import React, {\n useMemo,\n useContext,\n useRef,\n useState,\n ReactElement,\n useEffect,\n} from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { copyToClipboard } from './utils';\nimport uuidv4 from '../../utils/uuid';\nimport { ClientUserMessage } from '../../index';\nimport {\n checkIsByMe,\n checkIsPending,\n checkIsFailed,\n isFineCopy,\n isFineEdit,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientUserMessage;\n userId: string;\n className?: string | Array;\n disabled?: boolean;\n showEdit(bool: boolean): void;\n showRemove(bool: boolean): void;\n resendMessage(message: ClientUserMessage): void;\n chainTop?: boolean;\n chainBottom?: boolean;\n status: string;\n}\n\nexport default function OpenchannelUserMessage({\n message,\n className,\n userId,\n resendMessage,\n disabled,\n showEdit,\n showRemove,\n chainTop,\n status,\n}: Props): ReactElement {\n if (!message || message.messageType !== 'user') {\n return null;\n }\n\n // hooks\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const messageRef = useRef(null);\n const avatarRef = useRef(null);\n const contextMenuRef = useRef(null);\n const [contextStyle, setContextStyle] = useState({});\n\n // consts\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push(`sendbird-openchannel-user-message`);\n const isByMe = checkIsByMe(message, userId);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n const MemoizedMessageText = useMemo(() => () => {\n const splitMessage = message.message.split(/\\r/);\n const matchedMessage = splitMessage.map((word) => (word !== '' ? word :
));\n if (message.updatedAt > 0) {\n matchedMessage.push(\n \n {` ${stringSet.MESSAGE_EDITED} `}\n ,\n );\n }\n return matchedMessage;\n }, [message, message.updatedAt]);\n\n // place context menu top depending clientHeight of message component\n useEffect(() => {\n if (messageRef.current.clientHeight > 36) {\n setContextStyle({ top: '8px ' });\n } else {\n setContextStyle({ top: '2px' });\n }\n }, [window.innerWidth]);\n\n return (\n \n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n \n {MemoizedMessageText()}\n \n
\n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n
\n {\n \n (\n showMenuTrigger({ message: message, userId: userId, status: status}) && (\n {\n toggleDropdown();\n }}\n >\n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineCopy({ message: message, userId: userId, status: status }) && (\n {\n copyToClipboard(message.message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n )\n }\n {\n isFineEdit({ message: message, userId: userId, status: status }) && (\n {\n if (disabled) {\n return;\n }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n \n )\n }\n {\n isFineResend({ message: message, userId: userId, status: status }) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message: message, userId: userId, status: status }) && (\n {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n \n }\n \n );\n}\n","import React, { ReactElement } from 'react';\nimport { ClientAdminMessage } from '../../index';\nimport './index.scss';\n\nimport Label, { LabelColors, LabelTypography } from '../Label';\n\ninterface Props {\n message: ClientAdminMessage;\n className?: string | Array;\n}\n\nexport default function OpenChannelAdminMessage({\n message,\n className,\n}: Props): ReactElement {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-admin-message');\n\n return (\n
\n \n {message.message || ''}\n \n
\n );\n}\n","import Sendbird from 'sendbird';\n\nexport const URL_REG = /[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_+.~#?&//=]*)/;\nexport const createUrlTester = (regexp: RegExp) => (text: string): boolean => regexp.test(text);\nexport const checkOGIsEnalbed = (message: Sendbird.UserMessage): boolean => {\n const { ogMetaData } = message;\n if (!ogMetaData) {\n return false;\n }\n const { url } = ogMetaData;\n if (!url) {\n return false;\n }\n return true;\n};\n","import React, { useState, useContext, useMemo, useRef, useEffect } from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport LinkLabel from '../LinkLabel';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport uuidv4 from '../../utils/uuid';\nimport { copyToClipboard } from '../OpenchannelUserMessage/utils';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { checkOGIsEnalbed, createUrlTester, URL_REG } from './utils';\nimport { ClientUserMessage } from '../../index';\nimport {\n checkIsByMe,\n checkIsPending,\n checkIsFailed,\n isFineCopy,\n isFineEdit,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientUserMessage;\n className?: string | Array;\n disabled?: boolean;\n showEdit(bool: boolean): void;\n showRemove(bool: boolean): void;\n resendMessage(message: ClientUserMessage): void;\n chainTop?: boolean;\n chainBottom?: boolean;\n status: string;\n userId: string;\n}\n\nexport default function OpenchannelOGMessage({\n message,\n className,\n disabled,\n showEdit,\n showRemove,\n resendMessage,\n chainTop,\n status,\n userId,\n}: Props): JSX.Element {\n if (!message || message.messageType !== 'user') {\n return null;\n }\n\n const { ogMetaData } = message;\n const { defaultImage } = ogMetaData;\n\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const [contextStyle, setContextStyle] = useState({});\n const messageComponentRef = useRef(null);\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n\n const isUrl = createUrlTester(URL_REG);\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-og-message');\n const isByMe = checkIsByMe(message, userId);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n const MemoizedMessageText = useMemo(() => () => {\n const wordClassName = 'sendbird-openchannel-og-message--word';\n const splitMessage = message.message.split(' ');\n const matchedMessage = splitMessage\n .map((word) => (\n isUrl(word)\n ? (\n \n {word}\n \n )\n : (\n \n {word}\n \n )\n ));\n\n if (message.updatedAt > 0) {\n matchedMessage.push(\n \n {stringSet.MESSAGE_EDITED}\n ,\n );\n }\n\n return matchedMessage;\n }, [message, message.updatedAt]);\n\n const openLink = () => {\n if (checkOGIsEnalbed(message)) {\n const { url } = ogMetaData;\n window.open(url);\n }\n };\n\n // place conxt menu top depending clientHeight of message component\n useEffect(() => {\n if (messageComponentRef.current.clientHeight > 36) {\n setContextStyle({ top: '8px ' });\n } else {\n setContextStyle({ top: '2px' });\n }\n }, [window.innerWidth]);\n\n return (\n \n \n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n \n {MemoizedMessageText()}\n \n
\n
\n {\n \n (\n showMenuTrigger({ message: message, userId: userId, status: status }) && (\n {\n toggleDropdown();\n }}\n >\n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineCopy({ message, userId, status }) && (\n {\n copyToClipboard(message.message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__COPY}\n \n )\n }\n {\n isFineEdit({ message, userId, status }) && (\n {\n if (disabled) {\n return;\n }\n showEdit(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__EDIT}\n \n )\n }\n {\n isFineResend({ message, userId, status }) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n \n }\n \n
\n
\n {\n ogMetaData.url && (\n \n {ogMetaData.url}\n \n )\n }\n {\n ogMetaData.title && (\n \n {\n ogMetaData.title\n }\n \n )\n }\n {\n ogMetaData.description && (\n \n {ogMetaData.description}\n \n )\n }\n {\n ogMetaData.url && (\n \n {\n defaultImage && (\n \n \n
\n )}\n />\n )\n }\n
\n )\n }\n \n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n \n \n );\n}\n","export const SUPPORTING_TYPES = {\n IMAGE: 'IMAGE',\n VIDEO: 'VIDEO',\n UNSUPPORTED: 'UNSUPPORTED',\n};\n\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n};\n\nexport const getSupportingFileType = (type: string): string => {\n if (SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.IMAGE;\n }\n if (SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0) {\n return SUPPORTING_TYPES.VIDEO;\n }\n return SUPPORTING_TYPES.UNSUPPORTED;\n}\n","import React, { useContext, useRef } from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\nimport { SUPPORTING_TYPES, getSupportingFileType } from './utils';\nimport { ClientFileMessage } from '../../index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport ImageRenderer from '../ImageRenderer';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport {\n checkIsByMe,\n checkIsSent,\n checkIsPending,\n checkIsFailed,\n isFineResend,\n isFineDelete,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientFileMessage;\n className?: string | Array;\n disabled: boolean;\n userId: string;\n status: string;\n chainTop: boolean;\n chainBottom: boolean;\n onClick(bool: boolean): void,\n showRemove(bool: boolean): void,\n resendMessage(message: ClientFileMessage): void;\n}\n\nexport default function OpenchannelThumbnailMessage({\n message,\n className,\n disabled,\n userId,\n status,\n chainTop,\n onClick,\n showRemove,\n resendMessage,\n}: Props): JSX.Element {\n const {\n type,\n url,\n localUrl,\n thumbnails,\n } = message;\n const thumbnailUrl = (thumbnails && thumbnails.length > 0 && thumbnails[0].url) || null;\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-thumbnail-message');\n const isByMe = checkIsByMe(message, userId);\n const isMessageSent = checkIsSent(status);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n return (\n
\n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n onKeyDown={() => {\n if (isMessageSent) {\n onClick(true);\n }\n }}\n tabIndex={0}\n role=\"button\"\n >\n
\n {\n {\n [SUPPORTING_TYPES.VIDEO]: (\n (url || localUrl)\n ? (\n
\n {\n (thumbnailUrl)\n ? (\n \n )\n : (\n \n \n \n )\n }\n \n
\n )\n : (\n \n )\n ),\n [SUPPORTING_TYPES.IMAGE]: (\n (url || localUrl)\n ? (\n \n )\n : (\n \n )\n ),\n [SUPPORTING_TYPES.UNSUPPORTED]: (\n \n ),\n }[getSupportingFileType(type)]\n }\n
\n
\n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n
\n \n (\n showMenuTrigger({ message, userId, status }) && (\n \n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineResend({ message, userId, status }) && (\n {\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n {\n if (disabled) {\n return;\n }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n
\n \n );\n}\n","import { IconTypes } from '../Icon';\n\nexport const checkFileType = (fileUrl: string): string => {\n let result = null;\n const imageFile = /(\\.gif|\\.jpg|\\.jpeg|\\.txt|\\.pdf)$/i;\n const audioFile = /(\\.mp3)$/i;\n if (imageFile.test(fileUrl)) {\n result = IconTypes.FILE_DOCUMENT;\n } else if (audioFile.test(fileUrl)) {\n result = IconTypes.FILE_AUDIO;\n }\n return result;\n}\n\nexport const truncate = (fullStr:string, strLen: number): string => {\n if (fullStr === null || fullStr === undefined) return '';\n if (fullStr.length <= strLen) return fullStr;\n const separator = '...';\n const sepLen = separator.length;\n const charsToShow = strLen - sepLen;\n const frontChars = Math.ceil(charsToShow / 2);\n const backChars = Math.floor(charsToShow / 2);\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n};\n","import React, { useContext, useRef } from 'react';\nimport format from 'date-fns/format';\nimport './index.scss';\n\nimport Avatar from '../Avatar';\nimport ContextMenu, { MenuItems, MenuItem } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Loader from '../Loader';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport IconButton from '../IconButton';\nimport TextButton from '../TextButton';\nimport UserProfile from '../UserProfile';\nimport { UserProfileContext } from '../../lib/UserProfileContext';\n\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { checkFileType, truncate } from './utils';\nimport { ClientFileMessage } from '../../index';\nimport {\n checkIsByMe,\n checkIsPending,\n checkIsFailed,\n isFineDelete,\n isFineResend,\n showMenuTrigger,\n} from '../../utils/openChannelUtils';\nimport { getSenderFromMessage } from '../../utils/openChannelUtils';\n\ninterface Props {\n message: ClientFileMessage;\n className?: string | Array;\n userId: string;\n disabled?: boolean;\n chainTop?: boolean;\n chainBottom?: boolean;\n status: string;\n\n showRemove(bool: boolean): void;\n resendMessage(message: ClientFileMessage): void;\n}\n\nexport default function OpenchannelFileMessage({\n message,\n className,\n userId,\n disabled,\n chainTop,\n status,\n showRemove,\n resendMessage,\n}: Props): JSX.Element {\n const contextMenuRef = useRef(null);\n const avatarRef = useRef(null);\n const { stringSet } = useContext(LocalizationContext);\n const { disableUserProfile, renderUserProfile } = useContext(UserProfileContext);\n\n const openFileUrl = () => { window.open(message.url); };\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.push('sendbird-openchannel-file-message');\n const isByMe = checkIsByMe(message, userId);\n const isPending = checkIsPending(status);\n const isFailed = checkIsFailed(status);\n const sender = getSenderFromMessage(message);\n\n return (\n \n
\n {\n !chainTop && (\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? (\n renderUserProfile({\n user: sender,\n close: closeDropdown,\n })\n )\n : (\n \n )\n }\n \n )}\n />\n )\n }\n
\n
\n {\n !chainTop && (\n
\n \n {\n sender && (\n sender.friendName\n || sender.nickname\n || sender.userId\n )\n }\n \n \n {\n message.createdAt && (\n format(message.createdAt, 'p')\n )\n }\n \n
\n )\n }\n
\n {\n checkFileType(message.url) && (\n \n )\n }\n \n \n {truncate(message.name || message.url, 40)}\n \n \n
\n {\n (isPending || isFailed) && (\n
\n {\n isPending && (\n \n \n \n )\n }\n {\n isFailed && (\n \n )\n }\n
\n )\n }\n
\n \n {\n (\n showMenuTrigger({ message, userId, status }) && (\n \n \n \n )\n )}\n menuItems={(closeDropdown) => (\n \n {\n isFineResend({ message, userId, status }) && (\n {\n if (disabled) { return; }\n resendMessage(message);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__RESEND}\n \n )\n }\n {\n isFineDelete({ message, userId, status }) && (\n {\n if (disabled) { return; }\n showRemove(true);\n closeDropdown();\n }}\n >\n {stringSet.CONTEXT_MENU_DROPDOWN__DELETE}\n \n )\n }\n \n )}\n />\n }\n \n \n );\n}\n","import React, { useContext } from 'react'\nimport { ClientFileMessage, ClientUserMessage } from '../../..'\nimport Modal from '../../../ui/Modal';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n onCloseModal(): void;\n onDeleteMessage(message: ClientUserMessage | ClientFileMessage, callback?: () => void): void;\n}\n\nexport default function RemoveMessageModal({\n onCloseModal,\n onDeleteMessage,\n}: Props): JSX.Element {\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n \n );\n}\n","import { EveryMessage } from '../../..';\nimport { isImage, isVideo } from '../../../ui/FileViewer/types';\n\nexport const MessageTypes = {\n ADMIN: 'ADMIN',\n USER: 'USER',\n FILE: 'FILE',\n THUMBNAIL: 'THUMBNAIL',\n OG: 'OG',\n UNKNOWN: 'UNKNOWN',\n};\n\nexport const SendingMessageStatus = {\n NONE: 'none',\n SUCCEEDED: 'succeeded',\n FAILED: 'failed',\n PENDING: 'pending',\n};\n\nexport const getMessageType = (message: EveryMessage): string => {\n if ((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user') {\n return (message.ogMetaData)\n ? MessageTypes.OG\n : MessageTypes.USER;\n }\n if (message.isAdminMessage && message.isAdminMessage()) {\n return MessageTypes.ADMIN;\n }\n if (message.messageType === 'file') {\n return (isImage(message.type) || isVideo(message.type))\n ? MessageTypes.THUMBNAIL\n : MessageTypes.FILE;\n }\n return MessageTypes.UNKNOWN;\n};\n\nexport default {\n MessageTypes,\n SendingMessageStatus,\n getMessageType,\n};\n","import React, {\n useState,\n useRef,\n ReactElement,\n useMemo,\n} from 'react';\n\nimport format from 'date-fns/format';\nimport * as types from '../../../index';\n\nimport OpenChannelUserMessage from '../../../ui/OpenchannelUserMessage';\nimport OpenChannelAdminMessage from '../../../ui/OpenChannelAdminMessage';\nimport OpenChannelOGMessage from '../../../ui/OpenchannelOGMessage';\nimport OpenChannelThumbnailMessage from '../../../ui/OpenchannelThumbnailMessage';\nimport OpenChannelFileMessage from '../../../ui/OpenchannelFileMessage';\n// import UnknownMessage from '../../../ui/UnknownMessage';\n\nimport DateSeparator from '../../../ui/DateSeparator';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport MessageInput from '../../../ui/MessageInput';\nimport FileViewer from '../../../ui/FileViewer';\n\nimport RemoveMessageModal from './RemoveMessageModal';\nimport {\n MessageTypes,\n SendingMessageStatus,\n getMessageType,\n} from './types';\nimport { OpenChannel } from 'sendbird';\n\ninterface Props {\n message: types.EveryMessage;\n userId: string;\n disabled: boolean;\n editDisabled: boolean;\n hasSeperator: boolean;\n channel: OpenChannel;\n renderCustomMessage?: types.RenderCustomMessage,\n deleteMessage(message: types.ClientUserMessage | types.ClientFileMessage, callback?: () => void): void;\n updateMessage(messageId: number, text: string, callback?: () => void): void;\n resendMessage(failedMessage: types.ClientUserMessage | types.ClientFileMessage): void;\n status?: string;\n chainTop: boolean;\n chainBottom: boolean;\n}\n\nexport default function MessageHoc({\n message,\n userId,\n disabled,\n editDisabled,\n hasSeperator,\n channel,\n renderCustomMessage,\n deleteMessage,\n updateMessage,\n resendMessage,\n status,\n chainTop,\n chainBottom,\n}: Props): ReactElement {\n let sender: SendBird.User = null;\n if (message.messageType !== 'admin') {\n sender = message.sender;\n }\n\n const RenderedMessage = useMemo(() => {\n if (renderCustomMessage) {\n return renderCustomMessage(message, channel, chainTop, chainBottom);\n }\n return null;\n }, [message, renderCustomMessage]);\n\n const [showEdit, setShowEdit] = useState(false);\n const [showRemove, setShowRemove] = useState(false);\n const [showFileViewer, setShowFileViewer] = useState(false);\n const editMessageInputRef = useRef(null);\n\n let isByMe = false;\n\n if (sender && message.messageType !== 'admin') {\n // pending and failed messages are by me\n isByMe = (userId === sender.userId)\n || (message.requestState === SendingMessageStatus.PENDING)\n || (message.requestState === SendingMessageStatus.FAILED);\n }\n\n if(RenderedMessage) {\n return (\n
\n \n
\n );\n }\n\n if (message.messageType === 'user' && showEdit) {\n return (\n { setShowEdit(false); }}\n value={message.message}\n />\n );\n }\n\n return (\n
\n {/* date-seperator */}\n {\n hasSeperator && (\n \n \n \n )\n }\n {/* Message */}\n {\n {\n [MessageTypes.ADMIN]: (() => {\n if (message.messageType === 'admin') {\n return (\n \n )\n }\n })(),\n [MessageTypes.FILE]: (() => {\n if (message.messageType === 'file') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.OG]: (() => {\n if (message.messageType === 'user') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.THUMBNAIL]: (() => {\n if (message.messageType === 'file') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.USER]: (() => {\n if (message.messageType === 'user') {\n return (\n \n );\n }\n return;\n })(),\n [MessageTypes.UNKNOWN]: (() => {\n return;\n // return (\n // \n // );\n })(),\n }[getMessageType(message)]\n }\n {/* Modal */}\n {\n showRemove && (\n setShowRemove(false)}\n onDeleteMessage={() => {\n if (message.messageType !== 'admin') {\n deleteMessage(message);\n }\n }}\n />\n )\n }\n {\n (showFileViewer && message.messageType === 'file') && (\n setShowFileViewer(false)}\n message={message}\n onDelete={() => deleteMessage(message)}\n isByMe={isByMe}\n />\n )\n }\n {/* {\n !((message.isFileMessage && message.isFileMessage()) || message.messageType === 'file')\n && !(message.isAdminMessage && message.isAdminMessage())\n && !(((message.isUserMessage && message.isUserMessage()) || message.messageType === 'user'))\n && !(showFileViewer)\n && (\n \n )\n } */}\n
\n );\n}\n","import React, { ReactElement, useRef, useState, useMemo } from 'react';\nimport isSameDay from 'date-fns/isSameDay';\nimport {\n ClientFileMessage,\n ClientUserMessage,\n EveryMessage,\n RenderCustomMessage,\n} from '../../../index';\nimport MessageHoc from './MessageHOC';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\n\nimport PlaceHolder, { PlaceHolderTypes } from '../../../ui/PlaceHolder';\nimport './openchannel-conversation-scroll.scss';\nimport { compareMessagesForGrouping } from '../utils';\n\ninterface Props {\n openchannel: SendBird.OpenChannel;\n user: SendBird.User;\n allMessages: Array;\n useMessageGrouping: boolean;\n isOnline: boolean;\n hasMore: boolean;\n renderCustomMessage?: RenderCustomMessage;\n onScroll(callback?: () => void): void;\n updateMessage(messageId: number, text: string, callback?: () => void): void;\n deleteMessage(message: ClientUserMessage | ClientFileMessage, callback?: () => void): void;\n resendMessage(failedMessage: ClientUserMessage | ClientFileMessage): void;\n}\n\nfunction OpenchannelConversationScroll(\n {\n useMessageGrouping = true,\n openchannel,\n user,\n allMessages,\n isOnline = true,\n hasMore,\n onScroll,\n renderCustomMessage,\n updateMessage,\n deleteMessage,\n resendMessage,\n }: Props,\n ref: React.RefObject,\n): ReactElement {\n const scrollRef = ref || useRef(null);\n const [showScrollDownButton, setShowScrollDownButton] = useState(false);\n\n const handleOnScroll = (e) => {\n const element = e.target;\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n } = element;\n if (\n (scrollHeight > scrollTop + clientHeight)\n && (window.navigator.userAgent.indexOf('MSIE ') < 0) // don't show button in IE\n ) {\n setShowScrollDownButton(true);\n } else {\n setShowScrollDownButton(false);\n }\n\n if (!hasMore) {\n return;\n }\n if (scrollTop === 0) {\n const nodes = scrollRef.current.querySelectorAll('.sendbird-msg--scroll-ref');\n const first = nodes && nodes[0];\n onScroll(() => {\n try {\n first.scrollIntoView();\n } catch (error) { }\n });\n }\n };\n\n const scrollToBottom = () => {\n if (scrollRef && scrollRef.current) {\n scrollRef.current.scrollTo(0, scrollRef.current.scrollHeight);\n setShowScrollDownButton(false);\n }\n };\n\n const hasMessage = useMemo(() => {\n return allMessages.length > 0;\n }, [allMessages.length]);\n\n return (\n \n
\n
\n
\n {\n hasMessage\n ? (\n allMessages.map((message, index) => {\n let status: string;\n\n if (message.messageType !== 'admin') {\n status = message.sendingStatus;\n }\n\n const previousMessage = allMessages[index - 1];\n const nextMessage = allMessages[index - 1];\n\n const previousMessageCreatedAt = previousMessage && previousMessage.createdAt;\n const currentCreatedAt = message.createdAt;\n // https://stackoverflow.com/a/41855608\n const hasSeperator = !(previousMessageCreatedAt && (\n isSameDay(currentCreatedAt, previousMessageCreatedAt)\n ));\n\n const [chainTop, chainBottom] = useMessageGrouping\n ? compareMessagesForGrouping(previousMessage, message, nextMessage)\n : [false, false];\n return (\n \n )\n })\n )\n : (\n \n )\n }\n
\n {\n showScrollDownButton && (\n \n \n
\n )\n }\n
\n \n );\n}\n\nexport default React.forwardRef(OpenchannelConversationScroll);\n","export const SET_CURRENT_CHANNEL = 'SET_CURRENT_CHANNEL';\nexport const SET_CHANNEL_INVALID = 'SET_CHANNEL_INVALID';\nexport const RESET_MESSAGES = 'RESET_MESSAGES';\nexport const GET_PREV_MESSAGES_START = 'GET_PREV_MESSAGES_START';\nexport const GET_PREV_MESSAGES_SUCESS = 'GET_PREV_MESSAGES_SUCESS';\nexport const GET_PREV_MESSAGES_FAIL = 'GET_PREV_MESSAGES_FAIL';\nexport const SENDING_MESSAGE_FAILED = 'SENDING_MESSAGE_FAILED';\nexport const SENDING_MESSAGE_SUCCEEDED = 'SENDING_MESSAGE_SUCCEEDED';\nexport const SENDING_MESSAGE_START = 'SENDING_MESSAGE_START';\nexport const RESENDING_MESSAGE_START = 'RESENDING_MESSAGE_START';\nexport const FETCH_PARTICIPANT_LIST = 'FETCH_PARTICIPANT_LIST';\nexport const FETCH_BANNED_USER_LIST = 'FETCH_BANNED_USER_LIST';\nexport const FETCH_MUTED_USER_LIST= 'FETCH_MUTED_USER_LIST';\n\n// event handlers\nexport const ON_MESSAGE_RECEIVED = 'ON_MESSAGE_RECEIVED';\nexport const ON_MESSAGE_UPDATED = 'ON_MESSAGE_UPDATED';\nexport const ON_MESSAGE_DELETED = 'ON_MESSAGE_DELETED';\nexport const ON_MESSAGE_DELETED_BY_REQ_ID = 'ON_MESSAGE_DELETED_BY_REQ_ID';\nexport const ON_OPERATOR_UPDATED = 'ON_OPERATOR_UPDATED';\nexport const ON_USER_ENTERED = 'ON_USER_ENTERED';\nexport const ON_USER_EXITED = 'ON_USER_EXITED';\nexport const ON_USER_MUTED = 'ON_USER_MUTED';\nexport const ON_USER_UNMUTED = 'ON_USER_UNMUTED';\nexport const ON_USER_BANNED = 'ON_USER_BANNED';\nexport const ON_USER_UNBANNED = 'ON_USER_UNBANNED';\nexport const ON_CHANNEL_FROZEN = 'ON_CHANNEL_FROZEN';\nexport const ON_CHANNEL_UNFROZEN = 'ON_CHANNEL_UNFROZEN';\nexport const ON_CHANNEL_CHANGED = 'ON_CHANNEL_CHANGED';\nexport const ON_META_DATA_CREATED = 'ON_META_DATA_CREATED';\nexport const ON_META_DATA_UPDATED = 'ON_META_DATA_UPDATED';\nexport const ON_META_DATA_DELETED = 'ON_META_DATA_DELETED';\nexport const ON_META_COUNTERS_CREATED = 'ON_META_COUNTERS_CREATED';\nexport const ON_META_COUNTERS_UPDATED = 'ON_META_COUNTERS_UPDATED';\nexport const ON_META_COUNTERS_DELETED = 'ON_META_COUNTERS_DELETED';\nexport const ON_MENTION_RECEIVED = 'ON_MENTION_RECEIVED';\n","import { State as initialStateInterface } from './initialState';\nimport * as actionTypes from './actionTypes';\n\nimport compareIds from '../../../utils/compareIds.js';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// @ts-ignore: Unreachable code error\ninterface ActionInterface {\n type: string;\n payload?: any;\n}\n\nexport default function reducer(\n state: initialStateInterface,\n action: ActionInterface,\n): initialStateInterface {\n switch (action.type) {\n case actionTypes.RESET_MESSAGES: {\n return {\n ...state,\n allMessages: [],\n };\n }\n\n case actionTypes.SET_CURRENT_CHANNEL: {\n const gottenChannel = action.payload;\n const operators = gottenChannel.operators;\n if (\n !state.isInvalid\n && state.currentOpenChannel\n && state.currentOpenChannel.url\n && (state.currentOpenChannel.url === gottenChannel.url)\n ) {\n return state;\n }\n return {\n ...state,\n currentOpenChannel: gottenChannel,\n isInvalid: false,\n operators: operators,\n participants: operators,\n bannedParticipantIds: [],\n mutedParticipantIds: [],\n };\n }\n case actionTypes.SET_CHANNEL_INVALID: {\n return {\n ...state,\n isInvalid: true,\n };\n }\n case actionTypes.GET_PREV_MESSAGES_START: {\n return {\n ...state,\n loading: true,\n };\n }\n case actionTypes.GET_PREV_MESSAGES_SUCESS:\n case actionTypes.GET_PREV_MESSAGES_FAIL: {\n const isFailed = (action.type === actionTypes.GET_PREV_MESSAGES_FAIL);\n const {\n currentOpenChannel = {},\n messages = [],\n hasMore,\n lastMessageTimestamp,\n } = action.payload;\n const actionChannelUrl = currentOpenChannel.url;\n const receivedMessages = isFailed ? [] : messages;\n const _hasMore = isFailed ? false : hasMore;\n const _lastMessageTimestamp = isFailed ? 0 : lastMessageTimestamp;\n\n const stateChannel = state.currentOpenChannel;\n const stateChannelUrl = stateChannel.url;\n\n if (actionChannelUrl !== stateChannelUrl) {\n return state;\n }\n\n const filteredAllMessages = state.allMessages.filter((message) => (\n !(receivedMessages.find(({ messageId }) => compareIds(messageId, message.messageId)))\n ));\n return {\n ...state,\n loading: false,\n initialized: true,\n hasMore: _hasMore,\n lastMessageTimestamp: _lastMessageTimestamp,\n allMessages: [\n ...receivedMessages,\n ...filteredAllMessages,\n ],\n };\n }\n case actionTypes.SENDING_MESSAGE_START: {\n const {\n message,\n channel,\n } = action.payload;\n if (channel.url !== state.currentOpenChannel.url) {\n return state;\n }\n return {\n ...state,\n allMessages: [\n ...state.allMessages,\n { ...message },\n ],\n };\n }\n case actionTypes.SENDING_MESSAGE_SUCCEEDED: {\n const sentMessage = action.payload;\n const newMessages = state.allMessages.map((m) => (\n compareIds(m.reqId, sentMessage.reqId) ? sentMessage : m\n ));\n return {\n ...state,\n allMessages: newMessages,\n };\n }\n case actionTypes.SENDING_MESSAGE_FAILED: {\n const sentMessage = action.payload;\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, sentMessage.reqId) ? sentMessage : m\n )),\n };\n }\n case actionTypes.RESENDING_MESSAGE_START: {\n const eventedChannel = action.payload.channel;\n const resentMessage = action.payload.message;\n if (eventedChannel.url !== state.currentOpenChannel.url) {\n return state;\n }\n return {\n ...state,\n allMessages: state.allMessages.map((m) => (\n compareIds(m.reqId, resentMessage.reqId) ? resentMessage : m\n )),\n };\n }\n case actionTypes.FETCH_PARTICIPANT_LIST: {\n const eventedChannel = action.payload.channel;\n const fetchedParticipantList = action.payload.users;\n if (eventedChannel.url !== state.currentOpenChannel.url) {\n return state;\n }\n return {\n ...state,\n participants: [... state.participants, ...fetchedParticipantList],\n // Should check duplication\n };\n }\n case actionTypes.FETCH_BANNED_USER_LIST: {\n const eventedChannel = action.payload.channel;\n const fetchedBannedUserList = action.payload.users;\n if (\n (eventedChannel.url !== state.currentOpenChannel.url)\n || !(fetchedBannedUserList.every(user => typeof user.userId === 'string'))\n ) {\n return state;\n }\n return {\n ...state,\n bannedParticipantIds: [\n ... state.bannedParticipantIds,\n ...fetchedBannedUserList.map(user => user.userId),\n ],\n // Should check duplication\n };\n }\n case actionTypes.FETCH_MUTED_USER_LIST: {\n const eventedChannel = action.payload.channel;\n const fetchedMutedUserList = action.payload.users;\n if (\n (eventedChannel.url !== state.currentOpenChannel.url)\n || !(fetchedMutedUserList.every(user => typeof user.userId === 'string'))\n ) {\n return state;\n }\n return {\n ...state,\n mutedParticipantIds: [\n ... state.bannedParticipantIds,\n ...fetchedMutedUserList.map(user => user.userId),\n ],\n // Should check duplication\n };\n }\n // events\n case actionTypes.ON_MESSAGE_RECEIVED: {\n const eventedChannel = action.payload.channel;\n const receivedMessage = action.payload.message;\n\n const {\n currentOpenChannel\n } = state;\n\n if (\n !compareIds(eventedChannel.url, currentOpenChannel.url)\n || (\n !(state.allMessages.map(\n (message) => message.messageId).indexOf(receivedMessage.messageId) < 0\n ))\n ) {\n return state;\n }\n\n return {\n ...state,\n allMessages: [...state.allMessages, receivedMessage],\n };\n }\n case actionTypes.ON_MESSAGE_UPDATED: {\n const eventedChannel = action.payload.channel;\n const updatedMessage = action.payload.message;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n allMessages: state.allMessages.map((message) => (\n message.isIdentical(updatedMessage)\n ? updatedMessage\n : message\n )),\n };\n }\n case actionTypes.ON_MESSAGE_DELETED: {\n const eventedChannel = action.payload.channel;\n const deletedMessageId = action.payload.messageId;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n allMessages: state.allMessages.filter((message) => (\n !compareIds(message.messageId, deletedMessageId)\n )),\n };\n }\n case actionTypes.ON_MESSAGE_DELETED_BY_REQ_ID: {\n return {\n ...state,\n allMessages: state.allMessages.filter((m) => (\n !compareIds(m.reqId, action.payload)\n )),\n };\n }\n case actionTypes.ON_OPERATOR_UPDATED: {\n const eventedChannel = action.payload.channel;\n const updatedOperators = action.payload.operators;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n currentOpenChannel: {\n ...state.currentOpenChannel,\n operators: updatedOperators,\n },\n operators: updatedOperators,\n };\n }\n case actionTypes.ON_USER_ENTERED: {\n const eventedChannel = action.payload.channel;\n const enteredUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n participants: [...state.participants, enteredUser],\n };\n }\n case actionTypes.ON_USER_EXITED: {\n const eventedChannel = action.payload.channel;\n const exitedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== eventedChannel.url)) {\n return state;\n }\n return {\n ...state,\n participants: state.participants.filter((participant) => (\n !compareIds(participant.userId, exitedUser.userId)\n )),\n };\n }\n case actionTypes.ON_USER_MUTED: {\n const eventedChannel = action.payload.channel;\n const mutedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.mutedParticipantIds.indexOf(mutedUser.userId) >= 0\n ) {\n return state;\n }\n return {\n ...state,\n mutedParticipantIds: [...state.mutedParticipantIds, mutedUser.userId],\n };\n }\n case actionTypes.ON_USER_UNMUTED: {\n const eventedChannel = action.payload.channel;\n const unmutedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.mutedParticipantIds.indexOf(unmutedUser.userId) < 0\n ) {\n return state;\n }\n return {\n ...state,\n mutedParticipantIds: state.mutedParticipantIds.filter(userId => userId !== unmutedUser.userId),\n };\n }\n case actionTypes.ON_USER_BANNED: {\n const eventedChannel = action.payload.channel;\n const bannedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.bannedParticipantIds.indexOf(bannedUser.userId) >= 0\n ) {\n return state;\n }\n return {\n ...state,\n bannedParticipantIds: [...state.bannedParticipantIds, bannedUser.userId],\n };\n }\n case actionTypes.ON_USER_UNBANNED: {\n const eventedChannel = action.payload.channel;\n const unbannedUser = action.payload.user;\n const currentChannel = state.currentOpenChannel;\n if (\n !currentChannel\n || (currentChannel.url && (currentChannel.url !== eventedChannel.url))\n || state.bannedParticipantIds.indexOf(unbannedUser.userId) < 0\n ) {\n return state;\n }\n return {\n ...state,\n bannedParticipantIds: state.bannedParticipantIds.filter(userId => userId !== unbannedUser.userId),\n };\n }\n case actionTypes.ON_CHANNEL_FROZEN: {\n const frozenChannel = action.payload;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== frozenChannel.url)) {\n return state;\n }\n return {\n ...state,\n frozen: true,\n };\n }\n case actionTypes.ON_CHANNEL_UNFROZEN: {\n const unfrozenChannel = action.payload;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== unfrozenChannel.url)) {\n return state;\n }\n return {\n ...state,\n frozen: false,\n };\n }\n case actionTypes.ON_CHANNEL_CHANGED: {\n const changedChannel = action.payload;\n const currentChannel = state.currentOpenChannel;\n if (!currentChannel || currentChannel.url && (currentChannel.url !== changedChannel.url)) {\n return state;\n }\n return {\n ...state,\n currentOpenChannel: changedChannel,\n };\n }\n case actionTypes.ON_META_DATA_CREATED: {\n // const eventedChannel = action.payload.channel;\n // const createdMetaData = action.payload.metaData;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_DATA_UPDATED: {\n // const eventedChannel = action.payload.channel;\n // const updatedMetaData = action.payload.metaData;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_DATA_DELETED: {\n // const eventedChannel = action.payload.channel;\n // const deletedMetaDataKeys = action.payload.metaDataKeys;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_COUNTERS_CREATED: {\n // const eventedChannel = action.payload.channel;\n // const createdMetaCounter = action.payload.metaCounter;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_COUNTERS_UPDATED: {\n // const eventedChannel = action.payload.channel;\n // const updatedMetaCounter = action.payload.metaCounter;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_META_COUNTERS_DELETED: {\n // const eventedChannel = action.payload.channel;\n // const deletedMetaCounterKeys = action.payload.metaCounterKeys;\n // return {\n // ...state\n // };\n return state;\n }\n case actionTypes.ON_MENTION_RECEIVED: {\n // const eventedChannel = action.payload.channel;\n // const mentionedMessage = action.payload.message;\n // return {\n // ...state\n // };\n return state;\n }\n default:\n return state;\n }\n}\n","import Sendbird from 'sendbird';\nimport { EveryMessage } from '../../../index';\n\nexport interface State {\n allMessages: Array;\n loading: boolean;\n initialized: boolean;\n currentOpenChannel: Sendbird.OpenChannel;\n isInvalid: boolean;\n hasMore: boolean;\n lastMessageTimestamp: number;\n frozen: boolean;\n operators: Array;\n participants: Array;\n bannedParticipantIds: Array;\n mutedParticipantIds: Array;\n}\n\nconst initialState: State = {\n allMessages: [],\n loading: false,\n initialized: false,\n currentOpenChannel: null,\n isInvalid: false,\n hasMore: false,\n lastMessageTimestamp: 0,\n frozen: false,\n operators: [],\n participants: [],\n bannedParticipantIds: [],\n mutedParticipantIds: [],\n};\n\nexport default initialState;\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\ninterface MainProps {\n channelUrl: string;\n sdkInit: boolean;\n fetchingParticipants: boolean;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useSetChannel(\n { channelUrl, sdkInit, fetchingParticipants }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): void {\n useEffect(() => {\n if (channelUrl && sdkInit && sdk && sdk.OpenChannel) {\n logger.info('OpenChannel | useSetChannel fetching channel', channelUrl);\n sdk.OpenChannel.getChannel(channelUrl, (openChannel, error) => {\n if (!error) {\n logger.info('OpenChannel | useSetChannel fetched channel', openChannel);\n messagesDispatcher({\n type: messageActionTypes.SET_CURRENT_CHANNEL,\n payload: openChannel,\n });\n openChannel.enter((_, error) => {\n if (error) {\n logger.warning('OpenChannel | useSetChannel enter channel failed', { channelUrl, error });\n messagesDispatcher({\n type: messageActionTypes.SET_CHANNEL_INVALID,\n payload: null,\n });\n }\n if (fetchingParticipants) {\n // fetch participants, banned participantIds, muted participantIds\n const participantListQuery = openChannel.createParticipantListQuery();\n const bannedParticipantListQuery = openChannel.createBannedUserListQuery();\n const mutedParticipantListQuery = openChannel.createMutedUserListQuery();\n utils.fetchWithListQuery(\n participantListQuery,\n logger,\n (users) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_PARTICIPANT_LIST,\n payload: {\n channel: openChannel,\n users,\n },\n });\n },\n );\n utils.fetchWithListQuery(\n bannedParticipantListQuery,\n logger,\n (users) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_BANNED_USER_LIST,\n payload: {\n channel: openChannel,\n users,\n },\n });\n },\n );\n utils.fetchWithListQuery(\n mutedParticipantListQuery,\n logger,\n (users) => {\n messagesDispatcher({\n type: messageActionTypes.FETCH_MUTED_USER_LIST,\n payload: {\n channel: openChannel,\n users,\n },\n });\n },\n );\n }\n });\n } else {\n logger.warning('OpenChannel | useSetChannel fetching channel failed', { channelUrl, error });\n messagesDispatcher({\n type: messageActionTypes.SET_CHANNEL_INVALID,\n payload: null,\n });\n }\n });\n // .then((openChannel) => {\n // logger.info('OpenChannel | useSetChannel fetched channel', openChannel);\n // messagesDispatcher({\n // type: messageActionTypes.SET_CURRENT_CHANNEL,\n // payload: openChannel,\n // });\n // openChannel.enter((_, error) => {\n // if (error) {\n // logger.warning('OpenChannel | useSetChannel enter channel failed', { channelUrl, error });\n // messagesDispatcher({\n // type: messageActionTypes.SET_CHANNEL_INVALID,\n // });\n // }\n // if (fetchingParticipants) {\n // // fetch participants, banned participantIds, muted participantIds\n // const participantListQuery = openChannel.createParticipantListQuery();\n // const bannedParticipantListQuery = openChannel.createBannedUserListQuery();\n // const mutedParticipantListQuery = openChannel.createMutedUserListQuery();\n // utils.fetchWithListQuery(\n // participantListQuery,\n // logger,\n // (users) => {\n // messagesDispatcher({\n // type: messageActionTypes.FETCH_PARTICIPANT_LIST,\n // payload: {\n // channel: openChannel,\n // users,\n // },\n // });\n // },\n // );\n // utils.fetchWithListQuery(\n // bannedParticipantListQuery,\n // logger,\n // (users) => {\n // messagesDispatcher({\n // type: messageActionTypes.FETCH_BANNED_USER_LIST,\n // payload: {\n // channel: openChannel,\n // users,\n // },\n // });\n // },\n // );\n // utils.fetchWithListQuery(\n // mutedParticipantListQuery,\n // logger,\n // (users) => {\n // messagesDispatcher({\n // type: messageActionTypes.FETCH_MUTED_USER_LIST,\n // payload: {\n // channel: openChannel,\n // users,\n // },\n // });\n // },\n // );\n // }\n // });\n // })\n // .catch((error) => {\n // logger.warning('OpenChannel | useSetChannel fetching channel failed', { channelUrl, error });\n // messagesDispatcher({\n // type: messageActionTypes.SET_CHANNEL_INVALID,\n // });\n // });\n }\n }, [channelUrl, sdkInit, fetchingParticipants]);\n}\n\nexport default useSetChannel;\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport uuidv4 from '../../../utils/uuid';\nimport { scrollIntoLast } from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n checkScrollBottom: () => boolean;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useHandleChannelEvents(\n { currentOpenChannel, checkScrollBottom }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): void {\n useEffect(() => {\n const messageReceiverId = uuidv4();\n if (currentOpenChannel && currentOpenChannel.url && sdk && sdk.ChannelHandler) {\n const ChannelHandler = new sdk.ChannelHandler();\n logger.info('OpenChannel | useHandleChannelEvents: Setup evnet handler', messageReceiverId);\n\n ChannelHandler.onMessageReceived = (channel, message) => {\n const scrollToEnd = checkScrollBottom();\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMessageReceived', { channelUrl, message });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_RECEIVED,\n payload: { channel, message },\n });\n if (scrollToEnd) {\n try {\n setTimeout(() => {\n scrollIntoLast();\n });\n } catch (error) {\n logger.warning('OpenChannel | onMessageReceived | scroll to end failed');\n }\n }\n };\n ChannelHandler.onMessageUpdated = (channel, message) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMessageUpdated', { channelUrl, message });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n };\n ChannelHandler.onMessageDeleted = (channel, messageId) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMessageDeleted', { channelUrl, messageId });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: { channel, messageId },\n });\n };\n ChannelHandler.onOperatorUpdated = (channel, operators) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onOperatorUpdated', { channelUrl, operators });\n messagesDispatcher({\n type: messageActionTypes.ON_OPERATOR_UPDATED,\n payload: { channel, operators },\n });\n };\n ChannelHandler.onUserEntered = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserEntered', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_ENTERED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserExited = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserExited', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_EXITED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserMuted = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserMuted', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_MUTED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserUnmuted = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserUnmuted', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_UNMUTED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserBanned = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserBanned', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_BANNED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onUserUnbanned = (channel, user) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onUserUnbanned', { channelUrl, user });\n messagesDispatcher({\n type: messageActionTypes.ON_USER_UNBANNED,\n payload: { channel, user },\n });\n };\n ChannelHandler.onChannelFrozen = (channel) => {\n logger.info('OpenChannel | useHandleChannelEvents: onChannelFrozen', channel);\n messagesDispatcher({\n type: messageActionTypes.ON_CHANNEL_FROZEN,\n payload: channel,\n });\n };\n ChannelHandler.onChannelUnfrozen = (channel) => {\n logger.info('OpenChannel | useHandleChannelEvents: onChannelUnfrozen', channel);\n messagesDispatcher({\n type: messageActionTypes.ON_CHANNEL_UNFROZEN,\n payload: channel,\n });\n };\n ChannelHandler.onChannelChanged = (channel) => {\n logger.info('OpenChannel | useHandleChannelEvents: onChannelChanged', channel);\n messagesDispatcher({\n type: messageActionTypes.ON_CHANNEL_CHANGED,\n payload: channel,\n });\n };\n ChannelHandler.onMetaDataCreated = (channel, metaData) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaDataCreated', { channelUrl, metaData });\n messagesDispatcher({\n type: messageActionTypes.ON_META_DATA_CREATED,\n payload: { channel, metaData },\n });\n };\n ChannelHandler.onMetaDataUpdated = (channel, metaData) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaDataUpdated', { channelUrl, metaData });\n messagesDispatcher({\n type: messageActionTypes.ON_META_DATA_UPDATED,\n payload: { channel, metaData },\n });\n };\n ChannelHandler.onMetaDataDeleted = (channel, metaDataKeys) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaDataDeleted', { channelUrl, metaDataKeys });\n messagesDispatcher({\n type: messageActionTypes.ON_META_DATA_DELETED,\n payload: { channel, metaDataKeys },\n });\n };\n ChannelHandler.onMetaCountersCreated = (channel, metaCounter) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersCreated', { channelUrl, metaCounter });\n messagesDispatcher({\n type: messageActionTypes.ON_META_COUNTERS_CREATED,\n payload: { channel, metaCounter },\n });\n };\n ChannelHandler.onMetaCountersUpdated = (channel, metaCounter) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersUpdated', { channelUrl, metaCounter });\n messagesDispatcher({\n type: messageActionTypes.ON_META_COUNTERS_UPDATED,\n payload: { channel, metaCounter },\n });\n };\n ChannelHandler.onMetaCountersDeleted = (channel, metaCounterKeys) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMetaCountersDeleted', { channelUrl, metaCounterKeys });\n messagesDispatcher({\n type: messageActionTypes.ON_META_COUNTERS_DELETED,\n payload: { channel, metaCounterKeys },\n });\n };\n ChannelHandler.onMentionReceived = (channel, message) => {\n const channelUrl = channel.url;\n logger.info('OpenChannel | useHandleChannelEvents: onMentionReceived', { channelUrl, message });\n messagesDispatcher({\n type: messageActionTypes.ON_MENTION_RECEIVED,\n payload: { channel, message },\n });\n };\n\n sdk.addChannelHandler(messageReceiverId, ChannelHandler);\n }\n\n return () => {\n if (sdk && sdk.removeChannelHandler) {\n logger.info('OpenChannel | useHandleChannelEvents: Removing message receiver handler', messageReceiverId);\n sdk.removeChannelHandler(messageReceiverId);\n }\n }\n }, [currentOpenChannel]);\n}\n\nexport default useHandleChannelEvents;\n","import { useEffect } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport { scrollIntoLast } from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n /* eslint-disable @typescript-eslint/no-explicit-any*/\n userFilledMessageListParams?: Record;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useInitialMessagesFetch(\n { currentOpenChannel, userFilledMessageListParams }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): void {\n useEffect(() => {\n logger.info('OpenChannel | useInitialMessagesFetch: Setup started', currentOpenChannel);\n messagesDispatcher({\n type: messageActionTypes.RESET_MESSAGES,\n payload: null,\n });\n\n if (sdk && sdk.MessageListParams && currentOpenChannel && currentOpenChannel.getMessagesByTimestamp) {\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.isInclusive = true;\n messageListParams.includeReplies = false;\n messageListParams.includeReactions = false;\n if (userFilledMessageListParams) {\n Object.keys(userFilledMessageListParams).forEach((key) => {\n messageListParams[key] = userFilledMessageListParams[key];\n });\n logger.info('OpenChannel | useInitialMessagesFetch: Used customizedMessageListParams');\n }\n\n logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages', { currentOpenChannel, messageListParams });\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_START,\n payload: null,\n });\n currentOpenChannel.getMessagesByTimestamp(new Date().getTime(), messageListParams, (messages, error) => {\n if (!error) {\n logger.info('OpenChannel | useInitialMessagesFetch: Fetching messages succeeded', messages);\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimestamp = hasMore ? messages[0].createdAt : null;\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n currentOpenChannel,\n messages,\n hasMore,\n lastMessageTimestamp,\n },\n });\n setTimeout(() => { scrollIntoLast(); });\n } else {\n logger.error('OpenChannel | useInitialMessagesFetch: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_FAIL,\n payload: {\n currentOpenChannel,\n messages: [],\n hasMore: false,\n lastMessageTimestamp: 0,\n },\n });\n }\n });\n }\n }, [currentOpenChannel, userFilledMessageListParams]);\n}\n\nexport default useInitialMessagesFetch;\n","import { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n lastMessageTimestamp: number;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n hasMore: boolean;\n /* eslint-disable @typescript-eslint/no-explicit-any*/\n userFilledMessageListParams?: Record;\n}\ntype CallbackReturn = (callback: () => void) => void;\n\nfunction useScrollCallback(\n { currentOpenChannel, lastMessageTimestamp }: MainProps,\n { sdk, logger, messagesDispatcher, hasMore, userFilledMessageListParams }: ToolProps,\n): CallbackReturn {\n return useCallback((callback) => {\n if (hasMore && sdk && sdk.MessageListParams) {\n logger.info('OpenChannel | useScrollCallback: start');\n const messageListParams = new sdk.MessageListParams();\n messageListParams.prevResultSize = 30;\n messageListParams.includeReplies = false;\n messageListParams.includeReactions = false;\n\n if (userFilledMessageListParams) {\n Object.keys(userFilledMessageListParams).forEach((key) => {\n messageListParams[key] = userFilledMessageListParams[key];\n });\n logger.info('OpenChannel | useScrollCallback: Used userFilledMessageListParams', userFilledMessageListParams);\n }\n\n logger.info('OpenChannel | useScrollCallback: Fetching messages', { currentOpenChannel, messageListParams });\n\n currentOpenChannel.getMessagesByTimestamp(lastMessageTimestamp || new Date().getTime(), messageListParams, (messages, error) => {\n if (!error) {\n logger.info('OpenChannel | useScrollCallback: Fetching messages succeeded', messages);\n const hasMore = (messages && messages.length > 0);\n const lastMessageTimestamp = hasMore ? messages[0].createdAt : null;\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_SUCESS,\n payload: {\n currentOpenChannel,\n messages,\n hasMore,\n lastMessageTimestamp,\n }\n });\n setTimeout(() => {\n callback();\n });\n } else {\n logger.error('OpenChannel | useScrollCallback: Fetching messages failed', error);\n messagesDispatcher({\n type: messageActionTypes.GET_PREV_MESSAGES_FAIL,\n payload: {\n currentOpenChannel,\n messages: [],\n hasMore: false,\n lastMessageTimestamp: 0,\n }\n });\n }\n });\n }\n }, [currentOpenChannel, lastMessageTimestamp]);\n}\n\nexport default useScrollCallback;\n","import { useCallback } from 'react';\n\ninterface MainProps {\n conversationScrollRef: React.RefObject;\n}\ninterface ToolProps {\n logger: SendbirdUIKit.Logger;\n}\n\nfunction useCheckScrollBottom(\n { conversationScrollRef }: MainProps,\n { logger }: ToolProps,\n): () => boolean {\n return useCallback(() => {\n let isBottom = true;\n if (conversationScrollRef) {\n try {\n const conversationScroll = conversationScrollRef.current;\n isBottom = conversationScroll.scrollHeight <= conversationScroll.scrollTop + conversationScroll.clientHeight;\n } catch(error) {\n logger.error('OpenChannel | useCheckScrollBottom', error);\n }\n }\n return isBottom;\n }, [conversationScrollRef])\n}\n\nexport default useCheckScrollBottom;\n","import Sendbird from 'sendbird';\nimport { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n onBeforeSendUserMessage: (text: string) => Sendbird.UserMessageParams;\n checkScrollBottom: () => boolean;\n messageInputRef: React.RefObject;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\nfunction useSendMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): () => void {\n return useCallback(() => {\n if (sdk && sdk.UserMessageParams) {\n const text = messageInputRef.current.value;\n const createParamsDefault = (txt: string | number): Sendbird.UserMessageParams => {\n const message = typeof txt === 'string' ? txt.trim() : txt.toString(10).trim();\n const params = new sdk.UserMessageParams();\n params.message = message;\n return params;\n }\n const createCustomParams = onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function';\n if (createCustomParams) {\n logger.info('OpenChannel | useSendMessageCallback: Creating params using onBeforeSendUserMessage', onBeforeSendUserMessage);\n }\n const params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);\n logger.info('OpenChannel | useSendMessageCallback: Sending message has started', params);\n\n const isBottom = checkScrollBottom();\n const pendingMessage = currentOpenChannel.sendUserMessage(params, (message, error) => {\n if (!error) {\n logger.info('OpenChannel | useSendMessageCallback: Sending message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n if (isBottom) {\n setTimeout(() => {\n utils.scrollIntoLast();\n });\n }\n } else {\n logger.warning('OpenChannel | useSendMessageCallback: Sending message failed', error);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: messageActionTypes,\n });\n }\n });\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: {\n message: pendingMessage,\n channel: currentOpenChannel,\n }\n });\n }\n }, [currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef]);\n}\n\nexport default useSendMessageCallback;\n","import Sendbird from 'sendbird';\nimport { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\nimport * as utils from '../utils';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n onBeforeSendFileMessage: (file: File) => Sendbird.FileMessageParams;\n checkScrollBottom: () => boolean;\n imageCompression?: {\n compressionRate?: number,\n resizingWidth?: number | string,\n resizingHeight?: number | string,\n };\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\ntype CallbackReturn = (file: File) => void;\n\nfunction useFileUploadCallback(\n {\n currentOpenChannel,\n checkScrollBottom,\n imageCompression = {},\n onBeforeSendFileMessage,\n }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((file) => {\n if (sdk && sdk.FileMessageParams) {\n const {\n compressionRate,\n resizingWidth,\n resizingHeight,\n } = imageCompression;\n const createCustomParams = onBeforeSendFileMessage && typeof onBeforeSendFileMessage === 'function';\n\n const compressibleFileType = (file.type === 'image/jpg' || file.type === 'image/png' || file.type === 'image/jpeg');\n const compressibleRatio = (compressionRate > 0) && (compressionRate < 1);\n // pxToNumber returns null if values are invalid\n const compressibleDiamensions = utils.pxToNumber(resizingWidth)\n || utils.pxToNumber(resizingHeight);\n\n const canCompressImage = compressibleFileType && (compressibleRatio || compressibleDiamensions);\n\n const createParamsDefault = (file_): Sendbird.FileMessageParams => {\n const params = new sdk.FileMessageParams();\n params.file = file_;\n return params;\n };\n\n if (canCompressImage) { // Using image compression\n try {\n const image: HTMLImageElement = document.createElement('img');\n image.src = URL.createObjectURL(file);\n image.onload = () => {\n URL.revokeObjectURL(image.src);\n const canvas = document.createElement('canvas');\n const imageWidth = image.naturalWidth || image.width;\n const imageHeight = image.naturalHeight || image.height;\n let targetWidth = utils.pxToNumber(resizingWidth) || imageWidth;\n let targetHeight = utils.pxToNumber(resizingHeight) || imageHeight;\n\n // In canvas.toBlob(callback, mimeType, qualityArgument)\n // qualityArgument doesnt work\n // so in case compressibleDiamensions are not present, we use ratio\n if (file.type === 'image/png' && !compressibleDiamensions) {\n targetWidth *= compressionRate;\n targetHeight *= compressionRate;\n }\n\n canvas.width = targetWidth;\n canvas.height = targetHeight;\n const context = canvas.getContext('2d');\n context.drawImage(image, 0, 0, targetWidth, targetHeight);\n context.canvas.toBlob(\n (newImageBlob) => {\n const compressedFile = new File([newImageBlob], file.name, { type: file.type });\n if (createCustomParams) {\n logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = onBeforeSendFileMessage ? onBeforeSendFileMessage(compressedFile) : createParamsDefault(compressedFile);\n logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);\n\n const isBottom = checkScrollBottom();\n const pendingMessage = currentOpenChannel.sendFileMessage(\n params,\n (message: SendbirdUIKit.ClientFileMessage, error) => {\n if (!error) {\n logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n if (isBottom) {\n setTimeout(() => {\n utils.scrollIntoLast();\n });\n }\n } else {\n logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', { message, error });\n message.localUrl = URL.createObjectURL(file);\n message.file = file;\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: message,\n });\n }\n },\n );\n\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: {\n message: {\n ...pendingMessage,\n url: URL.createObjectURL(file),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentOpenChannel,\n }\n });\n },\n file.type,\n compressionRate,\n );\n }\n } catch (error) {\n logger.warning('OpenChannel | useFileUploadCallback: Sending file message with image compression failed', error);\n }\n } else { // Not using image compression\n if (createCustomParams) {\n logger.info('OpenChannel | useFileUploadCallback: Creating params using onBeforeSendFileMessage', onBeforeSendFileMessage);\n }\n const params = onBeforeSendFileMessage ? onBeforeSendFileMessage(file) : createParamsDefault(file);\n logger.info('OpenChannel | useFileUploadCallback: Uploading file message start', params);\n\n const isBottom = checkScrollBottom();\n const pendingMessage = currentOpenChannel.sendFileMessage(\n params,\n (message: SendbirdUIKit.ClientFileMessage, error) => {\n if (!error) {\n logger.info('OpenChannel | useFileUploadCallback: Sending message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n if (isBottom) {\n setTimeout(() => {\n utils.scrollIntoLast();\n });\n }\n } else {\n logger.error('OpenChannel | useFileUploadCallback: Sending file message failed', { message, error });\n message.localUrl = URL.createObjectURL(file);\n message.file = file;\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: message,\n });\n }\n }\n );\n\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: {\n message: {\n ...pendingMessage,\n url: URL.createObjectURL(file),\n // pending thumbnail message seems to be failed\n requestState: 'pending',\n },\n channel: currentOpenChannel,\n }\n });\n }\n }\n }, [currentOpenChannel, onBeforeSendFileMessage, checkScrollBottom, imageCompression]);\n}\n\nexport default useFileUploadCallback;\n","import Sendbird from 'sendbird';\nimport { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n onBeforeSendUserMessage?: (text) => Sendbird.UserMessageParams;\n}\ninterface ToolProps {\n sdk: SendbirdUIKit.Sdk;\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload :any }) => void;\n}\ntype CallbackReturn = (messageId, text, callback) => void;\n\nfunction useUpdateMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage }: MainProps,\n { sdk, logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((messageId, text, callback) => {\n const createParamsDefault = (txt) => {\n const params = new sdk.UserMessageParams();\n params.message = txt;\n return params;\n };\n\n if (onBeforeSendUserMessage && typeof onBeforeSendUserMessage === 'function') {\n logger.info('OpenChannel | useUpdateMessageCallback: Creating params using onBeforeUpdateUserMessage');\n }\n const params = onBeforeSendUserMessage ? onBeforeSendUserMessage(text) : createParamsDefault(text);\n currentOpenChannel.updateUserMessage(messageId, params, (message, error) => {\n if (callback) {\n callback();\n }\n if (!error) {\n logger.info('OpenChannel | useUpdateMessageCallback: Updating message succeeded', { message, params });\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: {\n channel: currentOpenChannel,\n message,\n },\n });\n } else {\n logger.warning('OpenChannel | useUpdateMessageCallback: Updating message failed', error);\n }\n });\n }, [currentOpenChannel, onBeforeSendUserMessage]);\n}\n\nexport default useUpdateMessageCallback;\n","import { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n}\ninterface ToolProps {\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\n\ntype CallbackReturn = (\n message: SendbirdUIKit.ClientUserMessage | SendbirdUIKit.ClientFileMessage,\n callback?: () => void,\n) => void;\n\nfunction useDeleteMessageCallback(\n { currentOpenChannel }: MainProps,\n { logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((message, callback) => {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message', message);\n const { sendingStatus } = message;\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message requestState', sendingStatus);\n\n if (sendingStatus === 'failed' || sendingStatus === 'pending') {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleted message from local', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED_BY_REQ_ID,\n payload: message.reqId,\n });\n if (callback) {\n callback();\n }\n } else {\n currentOpenChannel.deleteMessage(message, (error) => {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message on server', sendingStatus);\n if (callback) {\n callback();\n }\n if (!error) {\n logger.info('OpenChannel | useDeleteMessageCallback: Deleting message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: {\n channel: currentOpenChannel,\n messageId: message.messageId,\n },\n });\n } else {\n logger.warning('OpenChannel | useDeleteMessageCallback: Deleting message failed', error);\n }\n });\n }\n }, [currentOpenChannel]);\n}\n\nexport default useDeleteMessageCallback;\n","import { useCallback } from 'react';\nimport * as messageActionTypes from '../dux/actionTypes';\n\ninterface MainProps {\n currentOpenChannel: SendbirdUIKit.OpenChannelType;\n}\ninterface ToolProps {\n logger: SendbirdUIKit.Logger;\n messagesDispatcher: ({ type: string, payload: any }) => void;\n}\ntype CallbackReturn = (failedMessage: SendbirdUIKit.ClientUserMessage | SendbirdUIKit.ClientFileMessage) => void;\n\nfunction useResendMessageCallback(\n { currentOpenChannel }: MainProps,\n { logger, messagesDispatcher }: ToolProps,\n): CallbackReturn {\n return useCallback((failedMessage) => {\n logger.info('OpenChannel | useResendMessageCallback: Resending message has started', failedMessage);\n const { messageType, file } = failedMessage;\n if (failedMessage && typeof failedMessage.isResendable === 'function' && failedMessage.isResendable()) {\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'pending';\n messagesDispatcher({\n type: messageActionTypes.RESENDING_MESSAGE_START,\n payload: {\n channel: currentOpenChannel,\n message: failedMessage,\n },\n });\n\n // userMessage\n if (messageType === 'user' && failedMessage.messageType === 'user') {\n currentOpenChannel.resendUserMessage(failedMessage, (message, error) => {\n if (!error) {\n logger.info('OpenChannel | useResendMessageCallback: Reseding message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n } else {\n logger.warning('OpenChannel | useResendMessageCallback: Resending message failed', error);\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: failedMessage,\n });\n }\n });\n return;\n }\n\n // fileMessage\n if (messageType === 'file' && failedMessage.messageType === 'file') {\n currentOpenChannel.resendFileMessage(failedMessage, file, (message, error) => {\n if (!error) {\n logger.info('OpenChannel | useResendMessageCallback: Resending file message succeeded', message);\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n } else {\n logger.warning('OpenChannel | useResendMessageCallback: Resending file message failed', error);\n // eslint-disable-next-line no-param-reassign\n failedMessage.requestState = 'failed';\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_FAILED,\n payload: failedMessage,\n });\n }\n });\n }\n } else {\n // to alert user on console\n // eslint-disable-next-line no-console\n console.error('OpenChannel | useResendMessageCallback: Message is not resendable');\n logger.warning('OpenChannel | useResendMessageCallback: Message is not resendable', failedMessage);\n }\n }, [currentOpenChannel]);\n}\n\nexport default useResendMessageCallback;\n","import React, {\n useRef,\n useEffect,\n useReducer,\n useContext,\n useMemo,\n} from 'react';\nimport * as utils from './utils';\nimport './index.scss';\n\nimport MessageInputWrapper from './components/MessageInpuetWrapper';\nimport FrozenChannelNotification from './components/FrozenNotification';\nimport OpenchannelConversationHeader from '../../ui/OpenchannelConversationHeader';\nimport OpenchannelConversationScroll from './components/OpenchannelConversationScroll';\nimport PlaceHolder, { PlaceHolderTypes } from '../../ui/PlaceHolder';\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\n\nimport { OpenChannelProps } from '../../index';\nimport messagesReducer from './dux/reducers';\nimport messagesInitialState from './dux/initialState';\nimport * as messageActionTypes from './dux/actionTypes';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext.jsx';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport { scrollIntoLast } from './utils';\nimport * as topics from '../../lib/pubSub/topics';\n\n// hooks\nimport useSetChannel from './hooks/useSetChannel';\nimport useHandleChannelEvents from './hooks/useHandleChannelEvents';\nimport useInitialMessagesFetch from './hooks/useInitialMessagesFetch';\nimport useScrollCallback from './hooks/useScrollCallback';\nimport useCheckScrollBottom from './hooks/useCheckScrollBottom';\nimport useSendMessageCallback from './hooks/useSendMessageCallback';\nimport useFileUploadCallback from './hooks/useFileUploadCallback';\nimport useUpdateMessageCallback from './hooks/useUpdateMessageCallback';\nimport useDeleteMessageCallback from './hooks/useDeleteMessageCallback';\nimport useResendMessageCallback from './hooks/useResendMessageCallback';\n\nconst COMPONENT_CLASS_NAME = 'sendbird-openchannel-conversation';\n\ninterface Props extends OpenChannelProps {\n stores: {\n sdkStore?: SendbirdUIKit.SdkStore,\n userStore?: SendbirdUIKit.UserStore,\n };\n config: {\n userId: string,\n isOnline: boolean,\n logger?: SendbirdUIKit.Logger,\n theme?: string,\n /* eslint-disable @typescript-eslint/no-explicit-any*/\n pubSub: any,\n disableUserProfile?: boolean,\n renderUserProfile?(): JSX.Element,\n imageCompression?: {\n compressionRate?: number,\n resizingWidth?: number | string,\n resizingHeight?: number | string,\n },\n };\n}\n\nexport const OpenchannelConversation = (props: Props): JSX.Element => {\n // props\n const {\n useMessageGrouping,\n channelUrl,\n stores,\n config,\n queries = {},\n disableUserProfile,\n fetchingParticipants = false, // We didn't decide to support fetching participant list\n renderCustomMessage,\n renderUserProfile,\n renderChannelTitle,\n renderMessageInput,\n onBeforeSendUserMessage,\n onBeforeSendFileMessage,\n onChatHeaderActionClick\n } = props;\n\n const {\n sdkStore,\n userStore,\n } = stores;\n const {\n userId,\n isOnline,\n logger,\n pubSub,\n imageCompression,\n } = config;\n\n const {\n sdk\n } = sdkStore;\n const {\n user\n } = userStore;\n\n // hook variables\n const [messagesStore, messagesDispatcher] = useReducer(messagesReducer, messagesInitialState);\n const {\n allMessages,\n loading,\n initialized,\n currentOpenChannel,\n isInvalid,\n hasMore,\n lastMessageTimestamp,\n operators,\n bannedParticipantIds,\n mutedParticipantIds,\n } = messagesStore;\n // ref\n const messageInputRef = useRef(null); // useSendMessageCallback\n const conversationScrollRef = useRef(null); // useScrollAfterSendMessageCallback\n const { stringSet } = useContext(LocalizationContext);\n\n // const\n const sdkInit = sdkStore.initialized;\n const userFilledMessageListParams = queries ? queries.messageListParams: null;\n const disabled = !initialized\n || !isOnline\n || utils.isDisabledBecauseFrozen(currentOpenChannel, userId);\n // || utils.isDisabledBecauseMuted(mutedParticipantIds, userId)\n const userDefinedDisableUserProfile = disableUserProfile || config.disableUserProfile;\n const userDefinedRenderProfile = renderUserProfile || config.renderUserProfile;\n\n // useMemo\n const amIBanned = useMemo(() => {\n return bannedParticipantIds.indexOf(user.userId) >= 0;\n }, [channelUrl, bannedParticipantIds, user]);\n const amIMuted = useMemo(() => {\n return mutedParticipantIds.indexOf(user.userId) >= 0;\n }, [channelUrl, mutedParticipantIds, user]);\n const amIOperator = useMemo(() => {\n return operators.map(operator => operator.userId).indexOf(user.userId) >= 0;\n }, [channelUrl, operators, user]);\n\n // use hooks\n useSetChannel(\n { channelUrl, sdkInit, fetchingParticipants },\n { sdk, logger, messagesDispatcher },\n );\n const checkScrollBottom = useCheckScrollBottom(\n { conversationScrollRef },\n { logger },\n );\n useHandleChannelEvents(\n { currentOpenChannel, checkScrollBottom },\n { sdk, logger, messagesDispatcher },\n );\n useInitialMessagesFetch(\n { currentOpenChannel, userFilledMessageListParams },\n { sdk, logger, messagesDispatcher },\n );\n const onScroll = useScrollCallback(\n { currentOpenChannel, lastMessageTimestamp },\n { sdk, logger, messagesDispatcher, hasMore, userFilledMessageListParams },\n );\n const handleSendMessage = useSendMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage, checkScrollBottom, messageInputRef },\n { sdk, logger, messagesDispatcher },\n );\n const handleFileUpload = useFileUploadCallback(\n { currentOpenChannel, onBeforeSendFileMessage, checkScrollBottom, imageCompression },\n { sdk, logger, messagesDispatcher },\n );\n const updateMessage = useUpdateMessageCallback(\n { currentOpenChannel, onBeforeSendUserMessage },\n { sdk, logger, messagesDispatcher },\n );\n const deleteMessage = useDeleteMessageCallback(\n { currentOpenChannel },\n { logger, messagesDispatcher },\n );\n const resendMessage = useResendMessageCallback(\n { currentOpenChannel },\n { logger, messagesDispatcher },\n );\n\n // handle API calls from withSendbird\n useEffect(() => {\n const subscriber = new Map();\n if (!pubSub || !pubSub.subscribe) {\n return;\n }\n subscriber.set(topics.SEND_USER_MESSAGE, pubSub.subscribe(topics.SEND_USER_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_MESSAGE_START, pubSub.subscribe(topics.SEND_MESSAGE_START, (msg) => {\n const { channel, message } = msg;\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_START,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.SEND_FILE_MESSAGE, pubSub.subscribe(topics.SEND_FILE_MESSAGE, (msg) => {\n const { channel, message } = msg;\n scrollIntoLast();\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.SENDING_MESSAGE_SUCCEEDED,\n payload: message,\n });\n }\n }));\n subscriber.set(topics.UPDATE_USER_MESSAGE, pubSub.subscribe(topics.UPDATE_USER_MESSAGE, (msg) => {\n const { channel, message, fromSelector } = msg;\n if (fromSelector && channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_UPDATED,\n payload: { channel, message },\n });\n }\n }));\n subscriber.set(topics.DELETE_MESSAGE, pubSub.subscribe(topics.DELETE_MESSAGE, (msg) => {\n const { channel, messageId } = msg;\n if (channel && (channelUrl === channel.url)) {\n messagesDispatcher({\n type: messageActionTypes.ON_MESSAGE_DELETED,\n payload: messageId,\n });\n }\n }));\n\n return () => {\n if (subscriber) {\n subscriber.forEach((s) => {\n try {\n s.remove();\n } catch {\n //\n }\n });\n }\n };\n }, [channelUrl, sdkInit]);\n\n if (\n !currentOpenChannel\n || !currentOpenChannel.url\n || amIBanned\n ) {\n return (
);\n }\n if (loading) {\n return (
);\n }\n if (isInvalid) {\n return (
);\n }\n\n return (\n \n {\n renderChannelTitle\n ? renderChannelTitle({\n channel: currentOpenChannel,\n user: user,\n })\n : (\n \n )\n }\n {\n currentOpenChannel.isFrozen && (\n \n )\n }\n \n {\n renderMessageInput\n ? (\n renderMessageInput({\n channel: currentOpenChannel,\n user: user,\n disabled: disabled,\n })\n )\n : (\n \n )\n }\n \n );\n};\n\nexport default withSendbirdContext(OpenchannelConversation);\n"],"names":["getMessageCreatedAt","message","format","createdAt","scrollIntoLast","intialTry","MAX_TRIES","currentTry","scrollDOM","document","querySelector","scrollTop","scrollHeight","error","setTimeout","isSameGroup","comparingMessage","messageType","sender","userId","sendingStatus","compareMessagesForGrouping","prevMessage","currMessage","nextMessage","kFormatter","num","Math","abs","toFixed","isOperator","openChannel","operators","map","operator","indexOf","isDisabledBecauseFrozen","isFrozen","fetchWithListQuery","listQuery","logger","eachQueryNextCallback","fetchList","query","hasNext","next","users","warning","info","pxToNumber","px","parsed","Number","parseFloat","isNaN","MessageInputWrapper","_a","ref","channel","user","disabled","onSendMessage","onFileUpload","renderMessageInput","stringSet","useContext","LocalizationContext","React","MessageInput","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER__DISABLED","forwardRef","FrozenNotification","Label","LabelTypography","CAPTION_2","CHANNEL_FROZEN","COMPONENT_CLASS_NAME","OpenchannelConversationHeader","coverImage","_b","title","LabelStringSet","NO_TITLE","_c","subTitle","amIOperator","onActionClick","Avatar","width","height","Icon","IconTypes","CHANNELS","IconColors","CONTENT","H_2","LabelColors","ONBACKGROUND_1","BODY_2","ONBACKGROUND_2","IconButton","INFO","MEMBERS","PRIMARY","copyToClipboard","text","window","clipboardData","setData","queryCommandSupported","textarea","createElement","textContent","style","position","body","appendChild","select","execCommand","ex","removeChild","OpenChannelMessageStatusTypes","NONE","PENDING","FAILED","CANCELED","SUCCEEDED","getSenderFromMessage","_sender","checkIsSent","status","checkIsPending","checkIsFailed","checkIsByMe","isFineCopy","length","isFineResend","isResendable","isFineEdit","isFineDelete","showMenuTrigger","props","OpenchannelUserMessage","className","resendMessage","showEdit","showRemove","chainTop","UserProfileContext","disableUserProfile","renderUserProfile","messageRef","useRef","avatarRef","contextMenuRef","useState","contextStyle","setContextStyle","injectingClassName","Array","isArray","push","isByMe","isPending","isFailed","MemoizedMessageText","useMemo","splitMessage","split","matchedMessage","word","updatedAt","uuidv4","BODY_1","MESSAGE_EDITED","useEffect","current","clientHeight","top","innerWidth","join","ContextMenu","toggleDropdown","profileUrl","closeDropdown","MenuItems","paddingTop","paddingBottom","close","UserProfile","SECONDARY_3","friendName","nickname","CAPTION_3","ONBACKGROUND_3","Loader","SPINNER","ERROR","MORE","CONTENT_INVERSE","MenuItem","CONTEXT_MENU_DROPDOWN__COPY","CONTEXT_MENU_DROPDOWN__EDIT","CONTEXT_MENU_DROPDOWN__RESEND","CONTEXT_MENU_DROPDOWN__DELETE","OpenChannelAdminMessage","__spreadArrays","URL_REG","createUrlTester","regexp","test","checkOGIsEnalbed","ogMetaData","url","OpenchannelOGMessage","defaultImage","messageComponentRef","isUrl","wordClassName","LinkLabel","openLink","open","SUBTITLE_2","description","ImageRenderer","alt","THUMBNAIL_NONE","SUPPORTING_TYPES","IMAGE","VIDEO","UNSUPPORTED","SUPPORTED_MIMES","getSupportingFileType","type","OpenchannelThumbnailMessage","onClick","localUrl","thumbnails","thumbnailUrl","isMessageSent","PLAY","PHOTO","ON_BACKGROUND_2","checkFileType","fileUrl","result","imageFile","audioFile","FILE_DOCUMENT","FILE_AUDIO","truncate","fullStr","strLen","undefined","separator","sepLen","charsToShow","frontChars","ceil","backChars","floor","substr","OpenchannelFileMessage","openFileUrl","TextButton","name","RemoveMessageModal","onCloseModal","onDeleteMessage","Modal","MODAL__DELETE_MESSAGE__TITLE","MessageTypes","ADMIN","USER","FILE","THUMBNAIL","OG","UNKNOWN","SendingMessageStatus","getMessageType","isUserMessage","isAdminMessage","isImage","isVideo","MessageHoc","editDisabled","hasSeperator","renderCustomMessage","deleteMessage","updateMessage","chainBottom","RenderedMessage","setShowEdit","_d","setShowRemove","_e","showFileViewer","setShowFileViewer","editMessageInputRef","requestState","messageId","DateSeparator","OpenChannelFileMessage","OpenChannelOGMessage","OpenChannelThumbnailMessage","OpenChannelUserMessage","FileViewer","OpenchannelConversationScroll","useMessageGrouping","openchannel","allMessages","isOnline","hasMore","onScroll","scrollRef","showScrollDownButton","setShowScrollDownButton","handleOnScroll","e","element","target","navigator","userAgent","nodes","querySelectorAll","first_1","scrollIntoView","scrollToBottom","scrollTo","hasMessage","index","previousMessage","previousMessageCreatedAt","currentCreatedAt","isSameDay","PlaceHolder","PlaceHolderTypes","NO_MESSAGES","CHEVRON_DOWN","SET_CURRENT_CHANNEL","SET_CHANNEL_INVALID","RESET_MESSAGES","GET_PREV_MESSAGES_START","GET_PREV_MESSAGES_SUCESS","GET_PREV_MESSAGES_FAIL","SENDING_MESSAGE_FAILED","SENDING_MESSAGE_SUCCEEDED","SENDING_MESSAGE_START","RESENDING_MESSAGE_START","FETCH_PARTICIPANT_LIST","FETCH_BANNED_USER_LIST","FETCH_MUTED_USER_LIST","ON_MESSAGE_RECEIVED","ON_MESSAGE_UPDATED","ON_MESSAGE_DELETED","ON_MESSAGE_DELETED_BY_REQ_ID","ON_OPERATOR_UPDATED","ON_USER_ENTERED","ON_USER_EXITED","ON_USER_MUTED","ON_USER_UNMUTED","ON_USER_BANNED","ON_USER_UNBANNED","ON_CHANNEL_FROZEN","ON_CHANNEL_UNFROZEN","ON_CHANNEL_CHANGED","ON_META_DATA_CREATED","ON_META_DATA_UPDATED","ON_META_DATA_DELETED","ON_META_COUNTERS_CREATED","ON_META_COUNTERS_UPDATED","ON_META_COUNTERS_DELETED","ON_MENTION_RECEIVED","reducer","state","action","actionTypes","gottenChannel","payload","isInvalid","currentOpenChannel","participants","bannedParticipantIds","mutedParticipantIds","loading","messages","lastMessageTimestamp","actionChannelUrl","receivedMessages_1","_hasMore","_lastMessageTimestamp","stateChannel","stateChannelUrl","filteredAllMessages","filter","find","compareIds","initialized","sentMessage_1","newMessages","m","reqId","sentMessage_2","eventedChannel","resentMessage_1","fetchedParticipantList","fetchedBannedUserList","every","fetchedMutedUserList","receivedMessage","updatedMessage_1","currentChannel","isIdentical","deletedMessageId_1","updatedOperators","enteredUser","exitedUser_1","participant","mutedUser","unmutedUser_1","bannedUser","unbannedUser_1","frozenChannel","frozen","unfrozenChannel","changedChannel","initialState","useSetChannel","channelUrl","sdkInit","fetchingParticipants","sdk","messagesDispatcher","OpenChannel","getChannel","messageActionTypes","enter","_","participantListQuery","createParticipantListQuery","bannedParticipantListQuery","createBannedUserListQuery","mutedParticipantListQuery","createMutedUserListQuery","utils","useHandleChannelEvents","checkScrollBottom","messageReceiverId","ChannelHandler","onMessageReceived","scrollToEnd","onMessageUpdated","onMessageDeleted","onOperatorUpdated","onUserEntered","onUserExited","onUserMuted","onUserUnmuted","onUserBanned","onUserUnbanned","onChannelFrozen","onChannelUnfrozen","onChannelChanged","onMetaDataCreated","metaData","onMetaDataUpdated","onMetaDataDeleted","metaDataKeys","onMetaCountersCreated","metaCounter","onMetaCountersUpdated","onMetaCountersDeleted","metaCounterKeys","onMentionReceived","addChannelHandler","removeChannelHandler","useInitialMessagesFetch","userFilledMessageListParams","MessageListParams","getMessagesByTimestamp","messageListParams_1","prevResultSize","isInclusive","includeReplies","includeReactions","Object","keys","forEach","key","messageListParams","Date","getTime","useScrollCallback","useCallback","callback","hasMore_1","lastMessageTimestamp_1","useCheckScrollBottom","conversationScrollRef","isBottom","conversationScroll","useSendMessageCallback","onBeforeSendUserMessage","messageInputRef","UserMessageParams","value","createParamsDefault","txt","trim","toString","params","createCustomParams","isBottom_1","pendingMessage","sendUserMessage","useFileUploadCallback","imageCompression","onBeforeSendFileMessage","file","FileMessageParams","compressionRate_1","resizingWidth_1","resizingHeight_1","createCustomParams_1","compressibleFileType","compressibleRatio","compressibleDiamensions_1","canCompressImage","createParamsDefault_1","file_","image_1","src","URL","createObjectURL","onload","revokeObjectURL","canvas","imageWidth","naturalWidth","imageHeight","naturalHeight","targetWidth","targetHeight","context","getContext","drawImage","toBlob","newImageBlob","compressedFile","File","sendFileMessage","useUpdateMessageCallback","updateUserMessage","useDeleteMessageCallback","useResendMessageCallback","failedMessage","resendUserMessage","resendFileMessage","console","OpenchannelConversation","stores","config","queries","renderChannelTitle","onChatHeaderActionClick","sdkStore","userStore","pubSub","useReducer","messagesReducer","messagesInitialState","messagesStore","userDefinedDisableUserProfile","userDefinedRenderProfile","amIBanned","amIMuted","handleSendMessage","handleFileUpload","subscriber","Map","subscribe","set","topics","msg","fromSelector","s","remove","NO_CHANNELS","LOADING","WRONG","UserProfileProvider","participantCount","OPEN_CHANNEL_CONVERSATION__TITLE_PARTICIPANTS","coverUrl","FrozenChannelNotification","withSendbirdContext"],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/OpenChannelSettings.js b/dist/cjs/OpenChannelSettings.js index 29b7efd..b4f2629 100644 --- a/dist/cjs/OpenChannelSettings.js +++ b/dist/cjs/OpenChannelSettings.js @@ -2,18 +2,18 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } -var LocalizationContext = require('./LocalizationContext-9665649b.js'); +var LocalizationContext = require('./LocalizationContext-12a9343d.js'); var React = require('react'); var React__default = _interopDefault(React); require('prop-types'); -var index$1 = require('./index-dfc2e550.js'); +var index$1 = require('./index-2a2230b8.js'); var utils = require('./utils-6aedec02.js'); require('date-fns/format'); require('./type-c7a3bee7.js'); require('react-dom'); -var index$2 = require('./index-005b875b.js'); +var index$2 = require('./index-a8367321.js'); var utils$2 = require('./utils-c8e36c68.js'); -var index$3 = require('./index-fd689e05.js'); +var index$3 = require('./index-ccc7b14d.js'); function ChannelAvatar(_a) { var channel = _a.channel, @@ -25,7 +25,7 @@ function ChannelAvatar(_a) { var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet; var memoizedAvatar = React.useMemo(function () { return React__default.createElement(index$1.Avatar, { - className: "sendbird-chat-header__avatar--group-channel", + className: "sendbird-chat-header__avatar--open-channel", src: utils.getOpenChannelAvatar(channel), width: width + "px", height: height + "px", diff --git a/dist/cjs/OpenChannelSettings.js.map b/dist/cjs/OpenChannelSettings.js.map index 529d1a7..5f4c1a7 100644 --- a/dist/cjs/OpenChannelSettings.js.map +++ b/dist/cjs/OpenChannelSettings.js.map @@ -1 +1 @@ -{"version":3,"file":"OpenChannelSettings.js","sources":["../../../src/ui/ChannelAvatar/OpenChannelAvatar.tsx","../../../src/smart-components/OpenChannelSettings/components/EditDetailsModal.tsx","../../../src/smart-components/OpenChannelSettings/components/ChannelProfile.tsx","../../../src/smart-components/OpenChannelSettings/components/ParticipantsModal.tsx","../../../src/smart-components/OpenChannelSettings/components/ParticipantsAccordion.tsx","../../../src/smart-components/OpenChannelSettings/components/DeleteChannel.tsx","../../../src/smart-components/OpenChannelSettings/components/ParticipantsList.tsx","../../../src/smart-components/OpenChannelSettings/components/InvalidChannel.tsx","../../../src/smart-components/OpenChannelSettings/index.tsx"],"sourcesContent":["import React, { useMemo, useContext } from 'react';\n\nimport Avatar from '../Avatar/index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport * as utils from './utils';\n\ninterface Props {\n channel: SendBird.OpenChannel;\n theme: string;\n height?: number;\n width?: number;\n}\n\nfunction ChannelAvatar({\n channel,\n theme,\n height = 56,\n width = 56,\n}: Props): JSX.Element{\n const { stringSet } = useContext(LocalizationContext);\n const memoizedAvatar = useMemo(() => {\n return (\n \n );\n }, [channel.coverUrl, theme]);\n return (\n <>{ memoizedAvatar }\n );\n}\n\nexport default ChannelAvatar;\n","import React, {\n useState,\n useRef,\n useContext,\n ReactElement,\n} from 'react';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Modal from '../../../ui/Modal';\nimport Input, { InputLabel } from '../../../ui/Input';\nimport Avatar from '../../../ui/Avatar/index';\nimport { Type as ButtonType } from '../../../ui/Button/type';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport TextButton from '../../../ui/TextButton';\nimport OpenChannelAvatar from '../../../ui/ChannelAvatar/OpenChannelAvatar';\n\ninterface Props {\n onSubmit(newFile: File, newTitle: string): void;\n onCancel(): void;\n channel: SendBird.OpenChannel;\n theme: string;\n}\n\nconst EditDetails = (props: Props): ReactElement => {\n const {\n onSubmit,\n onCancel,\n channel,\n theme,\n } = props;\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const hiddenInputRef = useRef(null);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n const title = channel.name;\n return (\n {\n if (title !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n onSubmit(newFile, inputRef.current.value);\n onCancel();\n }}\n type={ButtonType.PRIMARY}\n >\n { e.preventDefault(); }}\n >\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE}\n \n
\n {\n currentImg\n ? (\n \n ) : (\n \n )\n }\n
\n {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n hiddenInputRef.current.click()}\n notUnderline\n >\n \n \n
\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_NAME}\n \n \n
\n \n \n );\n};\n\nexport default EditDetails;\n","import React, {\n ReactElement,\n useContext,\n useState,\n} from 'react';\n\nimport './channel-profile.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport TextButton from '../../../ui/TextButton';\nimport OpenChannelAvatar from '../../../ui/ChannelAvatar/OpenChannelAvatar';\nimport EditDetailsModal from './EditDetailsModal';\n\ninterface Props {\n channel: SendBird.OpenChannel;\n disabled: boolean;\n theme: string;\n onChannelInfoChange(currentImg: File, currentTitle: string): void;\n}\n\nexport default function ChannelProfile(props: Props): ReactElement {\n const {\n disabled,\n channel,\n theme,\n onChannelInfoChange,\n } = props;\n const title = channel.name;\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n
\n
\n
\n \n
\n \n {title || stringSet.OPEN_CHANNEL_SETTINGS__NO_TITLE}\n \n {\n if (disabled) { return; }\n setShowModal(true);\n }}\n notUnderline\n >\n \n {stringSet.CHANNEL_SETTING__PROFILE__EDIT}\n \n \n {\n showModal && (\n setShowModal(false)}\n onSubmit={onChannelInfoChange}\n channel={channel}\n theme={theme}\n />\n )\n }\n
\n
\n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport UserListItem from '../../../ui/UserListItem';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { noop } from '../../../utils/utils';\n\ninterface Props {\n currentUser: string;\n hideModal(): void;\n channel: SendBird.OpenChannel;\n}\n\nexport default function ParticipantsModal({\n hideModal,\n channel,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState([]);\n const [participantListQuery, setParticipantListQuery] = useState(null);\n useEffect(() => {\n if (!channel || !channel.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel.createParticipantListQuery();\n setParticipantListQuery(participantListQuery);\n participantListQuery.next((participantList, error) => {\n if (error) {\n return;\n }\n setParticipants(participantList);\n });\n }, []);\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n >\n {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next((fetchedParticipants, error) => {\n if (error) {\n return;\n }\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n { participants.map((p) => (\n \n ))}\n
\n \n \n )\n}\n","import React, {\n ReactElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\nimport { UserProfileContext } from '../../../lib/UserProfileContext';\nimport Button from '../../../ui/Button';\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../ui/Button/type';\nimport Accordion from '../../../ui/Accordion';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\nimport Avatar from '../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport ParticipantsModal from './ParticipantsModal';\nimport UserProfile from '../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../ui/ContextMenu';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface UserListItemProps {\n member: SendBird.User;\n currentUser?: string;\n}\n\nexport const UserListItem = ({\n member,\n currentUser = '',\n}: UserListItemProps): ReactElement => {\n const avatarRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={member.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: member,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n
\n \n
\n );\n};\n\ninterface Props {\n channel: SendBird.OpenChannel;\n currentUser: string;\n}\n\nexport default function ParticipantsAccordion({ channel, currentUser }: Props): ReactElement {\n const [participants, setParticipants] = useState([]);\n const [showMoreModal, setShowMoreModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel || !channel.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel.createParticipantListQuery();\n participantListQuery.next((participantList, error) => {\n if (error) {\n return;\n }\n setParticipants(participantList);\n });\n }, [channel]);\n\n return (\n (\n <>\n \n \n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n \n \n )}\n renderContent={() => (\n
\n
\n {\n participants.slice(0, SHOWN_MEMBER_MAX).map((p) => (\n \n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n \n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n \n ): null\n }\n
\n {\n participants.length >= SHOWN_MEMBER_MAX && (\n
\n setShowMoreModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__SEE_ALL}\n \n {\n showMoreModal && (\n {\n setShowMoreModal(false);\n }}\n channel={channel}\n />\n )\n }\n
\n )\n }\n
\n )}\n />\n );\n}\n","import React, {\n ReactElement,\n useState,\n useContext,\n} from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n isOnline: boolean;\n onDeleteChannel(): void;\n}\n\nexport default function DeleteChannel({\n isOnline,\n onDeleteChannel,\n}: Props): ReactElement {\n const [showDeleteChannelModal, setShowDeleteChannelModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <>\n {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n onClick={() => {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n >\n \n \n {stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL}\n \n \n {\n showDeleteChannelModal && (\n {\n setShowDeleteChannelModal(false);\n }}\n onSubmit={() => {\n onDeleteChannel();\n }}\n submitText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE}\n />\n )\n }\n \n )\n}\n","import React, {\n ReactElement,\n useContext,\n useState,\n useEffect,\n} from 'react';\n\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\n\nimport { UserListItem } from './ParticipantsAccordion';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n channel: SendBird.OpenChannel;\n onCloseClick(): void;\n currentUser: string;\n}\n\nexport default function ParticipantsList({\n channel,\n onCloseClick,\n currentUser,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState([]);\n const [participantListQuery, setParticipantListQuery] = useState(null);\n useEffect(() => {\n if (!channel || !channel.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel.createParticipantListQuery();\n setParticipantListQuery(participantListQuery);\n participantListQuery.next((participantList, error) => {\n if (error) {\n return;\n }\n setParticipants(participantList);\n });\n }, [channel]);\n return (\n
\n
\n \n {\n onCloseClick();\n }}\n />\n
\n {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next((fetchedParticipants, error) => {\n if (error) {\n return;\n }\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n
\n {\n participants.map((p: SendBird.User) => (\n \n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n \n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n \n ): null\n }\n
\n
\n \n )\n}\n","import React, { ReactElement, useContext } from 'react'\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\n\nimport PlaceHolder from '../../../ui/PlaceHolder';\nimport PlaceHolderTypes from '../../../ui/PlaceHolder/type';\n\ninterface Props {\n onCloseClick?(): void;\n}\n\nexport default function InvalidChannel({\n onCloseClick,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n \n {\n onCloseClick();\n }}\n />\n
\n
\n \n
\n
\n )\n}\n","import React, {\n useContext,\n useState,\n useEffect,\n} from 'react';\nimport { OpenChannelSettingsProps } from '../../index';\n\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport selectors from '../../lib/selectors';\n\nimport { copyToClipboard } from '../../ui/Message/utils.js'\n\nimport './index.scss';\nimport Label, { LabelTypography, LabelColors } from '../../ui/Label';\nimport Icon, { IconTypes } from '../../ui/Icon';\nimport ChannelProfile from './components/ChannelProfile';\nimport ParticipantsAccordion from './components/ParticipantsAccordion';\nimport DeleteChannel from './components/DeleteChannel';\nimport ParticipantsList from './components/ParticipantsList';\nimport InvalidChannel from './components/InvalidChannel';\nimport { AccordionGroup } from '../../ui/Accordion';\nimport { noop } from '../../utils/utils';\n\nconst emptyLogger = () => ({\n info: noop,\n error: noop,\n warning: noop,\n});\n\ninterface Props extends OpenChannelSettingsProps {\n logger: SendbirdUIKit.Logger;\n sdk: SendBird.SendBirdInstance;\n theme: string;\n user: SendBird.User;\n isOnline: boolean;\n}\n\nfunction OpenChannelSettings(props: Props) {\n const {\n channelUrl,\n onCloseClick = noop,\n onBeforeUpdateChannel,\n onChannelModified = noop,\n renderChannelProfile,\n renderUserProfile,\n onDeleteChannel,\n disableUserProfile = false,\n logger = emptyLogger(),\n sdk,\n theme,\n user,\n isOnline,\n } = props;\n\n const currentUser = user.userId;\n const [channel, setChannel] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n useEffect(() => {\n if (!channelUrl || !sdk || !sdk.getConnectionState) {\n setChannel(null);\n return;\n }\n\n sdk.OpenChannel.getChannel(channelUrl, (openChannel, error) => {\n if (!error) {\n setChannel(openChannel);\n } else {\n setChannel(null);\n }\n });\n }, [channelUrl, sdk])\n if (!channel) {\n return (\n {\n logger.info('OpenChannelSettings: Click close');\n if (onCloseClick) {\n onCloseClick();\n }\n }}\n />\n );\n }\n return (\n \n {\n channel.isOperator(user)\n ? (\n <>\n
\n \n {\n onCloseClick();\n }}\n />\n
\n
\n {\n renderChannelProfile\n ? renderChannelProfile({ channel, user })\n : (\n {\n logger.info('ChannelSettings: Channel information being updated');\n if (onBeforeUpdateChannel) {\n const params = onBeforeUpdateChannel(currentTitle, currentImg, channel.data);\n logger.info('ChannelSettings: onBeforeUpdateChannel', params);\n channel.updateChannel(params, (openChannel) => {\n onChannelModified(openChannel);\n // setChannel(openChannel) => alone not working\n setChannel(null);\n setChannel(openChannel);\n });\n } else {\n channel.updateChannel(\n currentTitle,\n currentImg,\n channel.data,\n (openChannel) => {\n logger.info('ChannelSettings: Channel information updated', openChannel);\n onChannelModified(openChannel);\n // setChannel(openChannel) => alone not working\n setChannel(null);\n setChannel(openChannel);\n },\n );\n }\n }}\n />\n )\n }\n
\n
\n {\n copyToClipboard(channel.url);\n }}\n />\n \n {stringSet.OPEN_CHANNEL_SETTINGS__OPERATOR_URL}\n \n \n {channel.url}\n \n
\n \n \n \n {\n channel.delete((response, error) => {\n if (error) {\n logger.warning('OpenChannelSettings: Delete channel failed', error);\n return;\n }\n logger.info('OpenChannelSettings: Delete channel success', response);\n if (onDeleteChannel) {\n onDeleteChannel(channel);\n }\n });\n }}\n />\n \n ) : (\n {\n onCloseClick();\n }}\n />\n )\n }\n \n )\n}\n\nconst ChannelSettingsWithSendbird = withSendbirdContext(OpenChannelSettings, (store) => {\n const logger = (store && store.config && store.config.logger);\n const theme = (store && store.config && store.config.theme) || 'light';\n const isOnline = (store && store.config && store.config.isOnline);\n const user = (store && store.stores && store.stores.userStore\n && store.stores.userStore.user);\n return {\n sdk: selectors.getSdk(store),\n logger,\n theme,\n isOnline,\n user,\n };\n});\n\nexport default ChannelSettingsWithSendbird;\n"],"names":["ChannelAvatar","_a","channel","theme","_b","height","_c","width","stringSet","useContext","LocalizationContext","memoizedAvatar","useMemo","React","Avatar","utils","name","OPEN_CHANNEL_SETTINGS__NO_TITLE","coverUrl","EditDetails","props","onSubmit","onCancel","inputRef","useRef","formRef","hiddenInputRef","useState","currentImg","setCurrentImg","newFile","setNewFile","title","Modal","MODAL__CHANNEL_INFORMATION__TITLE","BUTTON__SAVE","current","value","reportValidity","ButtonType","PRIMARY","e","preventDefault","InputLabel","MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE","OpenChannelAvatar","display","URL","createObjectURL","target","files","TextButton","click","Label","LabelTypography","BUTTON_1","LabelColors","MODAL__CHANNEL_INFORMATION__UPLOAD","MODAL__CHANNEL_INFORMATION__CHANNEL_NAME","Input","MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER","ChannelProfile","disabled","onChannelInfoChange","showModal","setShowModal","SUBTITLE_2","ONBACKGROUND_1","ONBACKGROUND_2","CHANNEL_SETTING__PROFILE__EDIT","EditDetailsModal","ParticipantsModal","hideModal","participants","setParticipants","participantListQuery","setParticipantListQuery","useEffect","createParticipantListQuery","next","participantList","error","noop","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","hasNext","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","map","p","UserListItem","userId","SHOWN_MEMBER_MAX","member","currentUser","avatarRef","UserProfileContext","disableUserProfile","renderUserProfile","ContextMenu","toggleDropdown","profileUrl","closeDropdown","MenuItems","paddingTop","paddingBottom","user","currentUserId","close","UserProfile","nickname","NO_NAME","YOU","ParticipantsAccordion","showMoreModal","setShowMoreModal","Accordion","Icon","IconTypes","MEMBERS","IconColors","SUBTITLE_1","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE","slice","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","Button","ButtonTypes","SECONDARY","ButtonSizes","SMALL","OPEN_CHANNEL_SETTINGS__SEE_ALL","DeleteChannel","isOnline","onDeleteChannel","showDeleteChannelModal","setShowDeleteChannelModal","DELETE","join","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE","ParticipantsList","onCloseClick","H_2","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE","CLOSE","InvalidChannel","CHANNEL_SETTING__HEADER__TITLE","PlaceHolder","PlaceHolderTypes","WRONG","emptyLogger","info","warning","OpenChannelSettings","channelUrl","onBeforeUpdateChannel","onChannelModified","renderChannelProfile","_d","logger","sdk","_e","setChannel","getConnectionState","OpenChannel","getChannel","openChannel","UserProfileProvider","isOperator","currentTitle","params","data","updateChannel","COPY","copyToClipboard","url","CAPTION_2","OPEN_CHANNEL_SETTINGS__OPERATOR_URL","AccordionGroup","delete","response","ChannelSettingsWithSendbird","withSendbirdContext","store","config","stores","userStore","selectors","getSdk"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"OpenChannelSettings.js","sources":["../../../src/ui/ChannelAvatar/OpenChannelAvatar.tsx","../../../src/smart-components/OpenChannelSettings/components/EditDetailsModal.tsx","../../../src/smart-components/OpenChannelSettings/components/ChannelProfile.tsx","../../../src/smart-components/OpenChannelSettings/components/ParticipantsModal.tsx","../../../src/smart-components/OpenChannelSettings/components/ParticipantsAccordion.tsx","../../../src/smart-components/OpenChannelSettings/components/DeleteChannel.tsx","../../../src/smart-components/OpenChannelSettings/components/ParticipantsList.tsx","../../../src/smart-components/OpenChannelSettings/components/InvalidChannel.tsx","../../../src/smart-components/OpenChannelSettings/index.tsx"],"sourcesContent":["import React, { useMemo, useContext } from 'react';\n\nimport Avatar from '../Avatar/index';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n\nimport * as utils from './utils';\n\ninterface Props {\n channel: SendBird.OpenChannel;\n theme: string;\n height?: number;\n width?: number;\n}\n\nfunction ChannelAvatar({\n channel,\n theme,\n height = 56,\n width = 56,\n}: Props): JSX.Element{\n const { stringSet } = useContext(LocalizationContext);\n const memoizedAvatar = useMemo(() => {\n return (\n \n );\n }, [channel.coverUrl, theme]);\n return (\n <>{ memoizedAvatar }\n );\n}\n\nexport default ChannelAvatar;\n","import React, {\n useState,\n useRef,\n useContext,\n ReactElement,\n} from 'react';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Modal from '../../../ui/Modal';\nimport Input, { InputLabel } from '../../../ui/Input';\nimport Avatar from '../../../ui/Avatar/index';\nimport { Type as ButtonType } from '../../../ui/Button/type';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport TextButton from '../../../ui/TextButton';\nimport OpenChannelAvatar from '../../../ui/ChannelAvatar/OpenChannelAvatar';\n\ninterface Props {\n onSubmit(newFile: File, newTitle: string): void;\n onCancel(): void;\n channel: SendBird.OpenChannel;\n theme: string;\n}\n\nconst EditDetails = (props: Props): ReactElement => {\n const {\n onSubmit,\n onCancel,\n channel,\n theme,\n } = props;\n const inputRef = useRef(null);\n const formRef = useRef(null);\n const hiddenInputRef = useRef(null);\n const [currentImg, setCurrentImg] = useState(null);\n const [newFile, setNewFile] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n const title = channel.name;\n return (\n {\n if (title !== '' && !inputRef.current.value) {\n if (formRef.current.reportValidity) { // might not work in explorer\n formRef.current.reportValidity();\n }\n return;\n }\n onSubmit(newFile, inputRef.current.value);\n onCancel();\n }}\n type={ButtonType.PRIMARY}\n >\n { e.preventDefault(); }}\n >\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE}\n \n
\n {\n currentImg\n ? (\n \n ) : (\n \n )\n }\n
\n {\n setCurrentImg(URL.createObjectURL(e.target.files[0]));\n setNewFile(e.target.files[0]);\n hiddenInputRef.current.value = '';\n }}\n />\n hiddenInputRef.current.click()}\n notUnderline\n >\n \n \n
\n
\n \n {stringSet.MODAL__CHANNEL_INFORMATION__CHANNEL_NAME}\n \n \n
\n \n \n );\n};\n\nexport default EditDetails;\n","import React, {\n ReactElement,\n useContext,\n useState,\n} from 'react';\n\nimport './channel-profile.scss';\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport Label, { LabelColors, LabelTypography } from '../../../ui/Label';\nimport TextButton from '../../../ui/TextButton';\nimport OpenChannelAvatar from '../../../ui/ChannelAvatar/OpenChannelAvatar';\nimport EditDetailsModal from './EditDetailsModal';\n\ninterface Props {\n channel: SendBird.OpenChannel;\n disabled: boolean;\n theme: string;\n onChannelInfoChange(currentImg: File, currentTitle: string): void;\n}\n\nexport default function ChannelProfile(props: Props): ReactElement {\n const {\n disabled,\n channel,\n theme,\n onChannelInfoChange,\n } = props;\n const title = channel.name;\n const [showModal, setShowModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n return (\n
\n
\n
\n \n
\n \n {title || stringSet.OPEN_CHANNEL_SETTINGS__NO_TITLE}\n \n {\n if (disabled) { return; }\n setShowModal(true);\n }}\n notUnderline\n >\n \n {stringSet.CHANNEL_SETTING__PROFILE__EDIT}\n \n \n {\n showModal && (\n setShowModal(false)}\n onSubmit={onChannelInfoChange}\n channel={channel}\n theme={theme}\n />\n )\n }\n
\n
\n );\n}\n","import React, {\n ReactElement,\n useEffect,\n useState,\n useContext,\n} from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport UserListItem from '../../../ui/UserListItem';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\nimport { noop } from '../../../utils/utils';\n\ninterface Props {\n currentUser: string;\n hideModal(): void;\n channel: SendBird.OpenChannel;\n}\n\nexport default function ParticipantsModal({\n hideModal,\n channel,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState|null>([]);\n const [participantListQuery, setParticipantListQuery] = useState(null);\n useEffect(() => {\n if (!channel || !channel.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel.createParticipantListQuery();\n setParticipantListQuery(participantListQuery);\n participantListQuery.next((participantList, error) => {\n if (error) {\n return;\n }\n setParticipants(participantList);\n });\n }, []);\n return (\n
\n hideModal()}\n onSubmit={noop}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE}\n >\n {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next((fetchedParticipants, error) => {\n if (error) {\n return;\n }\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n { participants.map((p) => (\n \n ))}\n
\n \n \n )\n}\n","import React, {\n ReactElement,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\nimport { UserProfileContext } from '../../../lib/UserProfileContext';\nimport Button from '../../../ui/Button';\nimport {\n Type as ButtonTypes,\n Size as ButtonSizes,\n} from '../../../ui/Button/type';\nimport Accordion from '../../../ui/Accordion';\nimport Icon, { IconTypes, IconColors } from '../../../ui/Icon';\nimport Avatar from '../../../ui/Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport ParticipantsModal from './ParticipantsModal';\nimport UserProfile from '../../../ui/UserProfile';\nimport ContextMenu, { MenuItems } from '../../../ui/ContextMenu';\n\nconst SHOWN_MEMBER_MAX = 10;\n\ninterface UserListItemProps {\n member: SendBird.User;\n currentUser?: string;\n}\n\nexport const UserListItem = ({\n member,\n currentUser = '',\n}: UserListItemProps): ReactElement => {\n const avatarRef = useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n src={member.profileUrl}\n width={24}\n height={24}\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user: member,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n
\n \n
\n );\n};\n\ninterface Props {\n channel: SendBird.OpenChannel;\n currentUser: string;\n}\n\nexport default function ParticipantsAccordion({ channel, currentUser }: Props): ReactElement {\n const [participants, setParticipants] = useState([]);\n const [showMoreModal, setShowMoreModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n\n useEffect(() => {\n if (!channel || !channel.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel.createParticipantListQuery();\n participantListQuery.next((participantList, error) => {\n if (error) {\n return;\n }\n setParticipants(participantList);\n });\n }, [channel]);\n\n return (\n (\n <>\n \n \n {stringSet.OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE}\n \n \n )}\n renderContent={() => (\n
\n
\n {\n participants.slice(0, SHOWN_MEMBER_MAX).map((p) => (\n \n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n \n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n \n ): null\n }\n
\n {\n participants.length >= SHOWN_MEMBER_MAX && (\n
\n setShowMoreModal(true)}\n >\n {stringSet.OPEN_CHANNEL_SETTINGS__SEE_ALL}\n \n {\n showMoreModal && (\n {\n setShowMoreModal(false);\n }}\n channel={channel}\n />\n )\n }\n
\n )\n }\n
\n )}\n />\n );\n}\n","import React, {\n ReactElement,\n useState,\n useContext,\n} from 'react';\n\nimport Modal from '../../../ui/Modal';\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n isOnline: boolean;\n onDeleteChannel(): void;\n}\n\nexport default function DeleteChannel({\n isOnline,\n onDeleteChannel,\n}: Props): ReactElement {\n const [showDeleteChannelModal, setShowDeleteChannelModal] = useState(false);\n const { stringSet } = useContext(LocalizationContext);\n return (\n <>\n {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n onClick={() => {\n if (!isOnline) { return; }\n setShowDeleteChannelModal(true);\n }}\n >\n \n \n {stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL}\n \n \n {\n showDeleteChannelModal && (\n {\n setShowDeleteChannelModal(false);\n }}\n onSubmit={() => {\n onDeleteChannel();\n }}\n submitText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT}\n titleText={stringSet.OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE}\n />\n )\n }\n \n )\n}\n","import React, {\n ReactElement,\n useContext,\n useState,\n useEffect,\n} from 'react';\n\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\n\nimport { UserListItem } from './ParticipantsAccordion';\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\ninterface Props {\n channel: SendBird.OpenChannel;\n onCloseClick(): void;\n currentUser: string;\n}\n\nexport default function ParticipantsList({\n channel,\n onCloseClick,\n currentUser,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n const [participants, setParticipants] = useState|null>([]);\n const [participantListQuery, setParticipantListQuery] = useState(null);\n useEffect(() => {\n if (!channel || !channel.createParticipantListQuery) {\n return;\n }\n const participantListQuery = channel.createParticipantListQuery();\n setParticipantListQuery(participantListQuery);\n participantListQuery.next((participantList, error) => {\n if (error) {\n return;\n }\n setParticipants(participantList);\n });\n }, [channel]);\n return (\n
\n
\n \n {\n onCloseClick();\n }}\n />\n
\n {\n const { hasNext } = participantListQuery;\n const target = e.target as HTMLTextAreaElement;\n const fetchMore = (\n target.clientHeight + target.scrollTop === target.scrollHeight\n );\n\n if (hasNext && fetchMore) {\n participantListQuery.next((fetchedParticipants, error) => {\n if (error) {\n return;\n }\n setParticipants([\n ...participants,\n ...fetchedParticipants,\n ])\n });\n }\n }}\n >\n
\n {\n participants.map((p: SendBird.User) => (\n \n ))\n }\n {\n (participants && participants.length === 0)\n ? (\n \n {stringSet.OPEN_CHANNEL_SETTINGS__EMPTY_LIST}\n \n ): null\n }\n
\n
\n \n )\n}\n","import React, { ReactElement, useContext } from 'react'\n\nimport { LocalizationContext } from '../../../lib/LocalizationContext';\n\nimport Label, { LabelTypography, LabelColors } from '../../../ui/Label';\nimport Icon, { IconTypes } from '../../../ui/Icon';\n\nimport PlaceHolder from '../../../ui/PlaceHolder';\nimport PlaceHolderTypes from '../../../ui/PlaceHolder/type';\n\ninterface Props {\n onCloseClick?(): void;\n}\n\nexport default function InvalidChannel({\n onCloseClick,\n}: Props): ReactElement {\n const { stringSet } = useContext(LocalizationContext);\n return (\n
\n
\n \n {\n onCloseClick();\n }}\n />\n
\n
\n \n
\n
\n )\n}\n","import React, {\n useContext,\n useState,\n useEffect,\n} from 'react';\nimport { OpenChannelSettingsProps } from '../../index';\n\nimport { UserProfileProvider } from '../../lib/UserProfileContext';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport withSendbirdContext from '../../lib/SendbirdSdkContext';\nimport selectors from '../../lib/selectors';\n\nimport { copyToClipboard } from '../../ui/Message/utils.js'\n\nimport './index.scss';\nimport Label, { LabelTypography, LabelColors } from '../../ui/Label';\nimport Icon, { IconTypes } from '../../ui/Icon';\nimport ChannelProfile from './components/ChannelProfile';\nimport ParticipantsAccordion from './components/ParticipantsAccordion';\nimport DeleteChannel from './components/DeleteChannel';\nimport ParticipantsList from './components/ParticipantsList';\nimport InvalidChannel from './components/InvalidChannel';\nimport { AccordionGroup } from '../../ui/Accordion';\nimport { noop } from '../../utils/utils';\n\nconst emptyLogger = () => ({\n info: noop,\n error: noop,\n warning: noop,\n});\n\ninterface Props extends OpenChannelSettingsProps {\n logger: SendbirdUIKit.Logger;\n sdk: SendBird.SendBirdInstance;\n theme: string;\n user: SendBird.User;\n isOnline: boolean;\n}\n\nfunction OpenChannelSettings(props: Props) {\n const {\n channelUrl,\n onCloseClick = noop,\n onBeforeUpdateChannel,\n onChannelModified = noop,\n renderChannelProfile,\n renderUserProfile,\n onDeleteChannel,\n disableUserProfile = false,\n logger = emptyLogger(),\n sdk,\n theme,\n user,\n isOnline,\n } = props;\n\n const currentUser = user.userId;\n const [channel, setChannel] = useState(null);\n const { stringSet } = useContext(LocalizationContext);\n useEffect(() => {\n if (!channelUrl || !sdk || !sdk.getConnectionState) {\n setChannel(null);\n return;\n }\n\n sdk.OpenChannel.getChannel(channelUrl, (openChannel, error) => {\n if (!error) {\n setChannel(openChannel);\n } else {\n setChannel(null);\n }\n });\n }, [channelUrl, sdk])\n if (!channel) {\n return (\n {\n logger.info('OpenChannelSettings: Click close');\n if (onCloseClick) {\n onCloseClick();\n }\n }}\n />\n );\n }\n return (\n \n {\n channel.isOperator(user)\n ? (\n <>\n
\n \n {\n onCloseClick();\n }}\n />\n
\n
\n {\n renderChannelProfile\n ? renderChannelProfile({ channel, user })\n : (\n {\n logger.info('ChannelSettings: Channel information being updated');\n if (onBeforeUpdateChannel) {\n const params = onBeforeUpdateChannel(currentTitle, currentImg, channel.data);\n logger.info('ChannelSettings: onBeforeUpdateChannel', params);\n channel.updateChannel(params, (openChannel) => {\n onChannelModified(openChannel);\n // setChannel(openChannel) => alone not working\n setChannel(null);\n setChannel(openChannel);\n });\n } else {\n channel.updateChannel(\n currentTitle,\n currentImg,\n channel.data,\n (openChannel) => {\n logger.info('ChannelSettings: Channel information updated', openChannel);\n onChannelModified(openChannel);\n // setChannel(openChannel) => alone not working\n setChannel(null);\n setChannel(openChannel);\n },\n );\n }\n }}\n />\n )\n }\n
\n
\n {\n copyToClipboard(channel.url);\n }}\n />\n \n {stringSet.OPEN_CHANNEL_SETTINGS__OPERATOR_URL}\n \n \n {channel.url}\n \n
\n \n \n \n {\n channel.delete((response, error) => {\n if (error) {\n logger.warning('OpenChannelSettings: Delete channel failed', error);\n return;\n }\n logger.info('OpenChannelSettings: Delete channel success', response);\n if (onDeleteChannel) {\n onDeleteChannel(channel);\n }\n });\n }}\n />\n \n ) : (\n {\n onCloseClick();\n }}\n />\n )\n }\n \n )\n}\n\nconst ChannelSettingsWithSendbird = withSendbirdContext(OpenChannelSettings, (store) => {\n const logger = (store && store.config && store.config.logger);\n const theme = (store && store.config && store.config.theme) || 'light';\n const isOnline = (store && store.config && store.config.isOnline);\n const user = (store && store.stores && store.stores.userStore\n && store.stores.userStore.user);\n return {\n sdk: selectors.getSdk(store),\n logger,\n theme,\n isOnline,\n user,\n };\n});\n\nexport default ChannelSettingsWithSendbird;\n"],"names":["ChannelAvatar","_a","channel","theme","_b","height","_c","width","stringSet","useContext","LocalizationContext","memoizedAvatar","useMemo","React","Avatar","utils","name","OPEN_CHANNEL_SETTINGS__NO_TITLE","coverUrl","EditDetails","props","onSubmit","onCancel","inputRef","useRef","formRef","hiddenInputRef","useState","currentImg","setCurrentImg","newFile","setNewFile","title","Modal","MODAL__CHANNEL_INFORMATION__TITLE","BUTTON__SAVE","current","value","reportValidity","ButtonType","PRIMARY","e","preventDefault","InputLabel","MODAL__CHANNEL_INFORMATION__CHANNEL_IMAGE","OpenChannelAvatar","display","URL","createObjectURL","target","files","TextButton","click","Label","LabelTypography","BUTTON_1","LabelColors","MODAL__CHANNEL_INFORMATION__UPLOAD","MODAL__CHANNEL_INFORMATION__CHANNEL_NAME","Input","MODAL__CHANNEL_INFORMATION__INPUT__PLACE_HOLDER","ChannelProfile","disabled","onChannelInfoChange","showModal","setShowModal","SUBTITLE_2","ONBACKGROUND_1","ONBACKGROUND_2","CHANNEL_SETTING__PROFILE__EDIT","EditDetailsModal","ParticipantsModal","hideModal","participants","setParticipants","participantListQuery","setParticipantListQuery","useEffect","createParticipantListQuery","next","participantList","error","noop","OPEN_CHANNEL_SETTINGS__ALL_PARTICIPANTS_TITLE","hasNext","fetchMore","clientHeight","scrollTop","scrollHeight","fetchedParticipants","map","p","UserListItem","userId","SHOWN_MEMBER_MAX","member","currentUser","avatarRef","UserProfileContext","disableUserProfile","renderUserProfile","ContextMenu","toggleDropdown","profileUrl","closeDropdown","MenuItems","paddingTop","paddingBottom","user","currentUserId","close","UserProfile","nickname","NO_NAME","YOU","ParticipantsAccordion","showMoreModal","setShowMoreModal","Accordion","Icon","IconTypes","MEMBERS","IconColors","SUBTITLE_1","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_ACCORDION_TITLE","slice","length","ONBACKGROUND_3","OPEN_CHANNEL_SETTINGS__EMPTY_LIST","Button","ButtonTypes","SECONDARY","ButtonSizes","SMALL","OPEN_CHANNEL_SETTINGS__SEE_ALL","DeleteChannel","isOnline","onDeleteChannel","showDeleteChannelModal","setShowDeleteChannelModal","DELETE","join","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_PANEL","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_SUBMIT","OPEN_CHANNEL_SETTINGS__DELETE_CHANNEL_TITLE","ParticipantsList","onCloseClick","H_2","OPEN_CHANNEL_SETTINGS__PARTICIPANTS_TITLE","CLOSE","InvalidChannel","CHANNEL_SETTING__HEADER__TITLE","PlaceHolder","PlaceHolderTypes","WRONG","emptyLogger","info","warning","OpenChannelSettings","channelUrl","onBeforeUpdateChannel","onChannelModified","renderChannelProfile","_d","logger","sdk","_e","setChannel","getConnectionState","OpenChannel","getChannel","openChannel","UserProfileProvider","isOperator","currentTitle","params","data","updateChannel","COPY","copyToClipboard","url","CAPTION_2","OPEN_CHANNEL_SETTINGS__OPERATOR_URL","AccordionGroup","delete","response","ChannelSettingsWithSendbird","withSendbirdContext","store","config","stores","userStore","selectors","getSdk"],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/SendbirdProvider.js b/dist/cjs/SendbirdProvider.js index 032b40b..9bd57e2 100644 --- a/dist/cjs/SendbirdProvider.js +++ b/dist/cjs/SendbirdProvider.js @@ -2,7 +2,7 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } -var LocalizationContext = require('./LocalizationContext-9665649b.js'); +var LocalizationContext = require('./LocalizationContext-12a9343d.js'); var React = require('react'); var React__default = _interopDefault(React); var PropTypes = _interopDefault(require('prop-types')); @@ -15,7 +15,7 @@ var SET_SDK_LOADING = 'SET_SDK_LOADING'; var RESET_SDK = 'RESET_SDK'; var SDK_ERROR = 'SDK_ERROR'; -var APP_VERSION_STRING = '2.0.2'; +var APP_VERSION_STRING = '2.1.0'; var disconnectSdk = function disconnectSdk(_ref) { var sdkDispatcher = _ref.sdkDispatcher, userDispatcher = _ref.userDispatcher, @@ -224,8 +224,7 @@ var useTheme = function useTheme(overrides) { '--sendbird-light-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)', '--sendbird-light-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)', '--sendbird-light-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)', - '--sendbird-light-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)', - '--sendbird-light-theme-surface-2': '#EAEAEA' + '--sendbird-light-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)' }, overrides) }); } diff --git a/dist/cjs/SendbirdProvider.js.map b/dist/cjs/SendbirdProvider.js.map index 86ec9cb..1431de0 100644 --- a/dist/cjs/SendbirdProvider.js.map +++ b/dist/cjs/SendbirdProvider.js.map @@ -1 +1 @@ -{"version":3,"file":"SendbirdProvider.js","sources":["../../../src/lib/dux/sdk/actionTypes.js","../../../src/lib/dux/sdk/thunks.js","../../../src/lib/hooks/useTheme.ts","../../../src/lib/dux/sdk/initialState.js","../../../src/lib/dux/sdk/reducers.js","../../../src/lib/dux/user/initialState.js","../../../src/lib/dux/user/reducers.js","../../../src/lib/hooks/useOnlineStatus.js","../../../src/lib/Logger/index.js","../../../src/lib/pubSub/index.js","../../../src/hooks/useAppendDomNode.js","../../../src/lib/Sendbird.jsx"],"sourcesContent":["export const INIT_SDK = 'INIT_SDK';\nexport const SET_SDK_LOADING = 'SET_SDK_LOADING';\nexport const RESET_SDK = 'RESET_SDK';\nexport const SDK_ERROR = 'SDK_ERROR';\n","import Sb from 'sendbird';\n\nimport {\n INIT_SDK,\n SET_SDK_LOADING,\n RESET_SDK,\n SDK_ERROR,\n} from './actionTypes';\nimport { INIT_USER, UPDATE_USER_INFO, RESET_USER } from '../user/actionTypes';\n\nconst APP_VERSION_STRING = '__uikit_app_version__';\nconst IS_ROLLUP = '__is_rollup__';\nconst IS_ROLLUP_REPLACE = '__is_rollup_replace__';\n\nexport const disconnectSdk = ({\n sdkDispatcher,\n userDispatcher,\n sdk,\n onDisconnect,\n}) => {\n sdkDispatcher({ type: SET_SDK_LOADING, payload: true });\n if (sdk && sdk.disconnect) {\n sdk.disconnect()\n .then(() => {\n sdkDispatcher({ type: RESET_SDK });\n userDispatcher({ type: RESET_USER });\n })\n .finally(() => {\n onDisconnect();\n });\n } else {\n onDisconnect();\n }\n};\n\nexport const handleConnection = ({\n userId,\n appId,\n nickname,\n profileUrl,\n accessToken,\n sdk,\n logger,\n}, dispatchers) => {\n const {\n sdkDispatcher,\n userDispatcher,\n } = dispatchers;\n disconnectSdk({\n sdkDispatcher,\n userDispatcher,\n sdk,\n logger,\n onDisconnect: () => {\n logger.info('Setup connection');\n sdkDispatcher({ type: SET_SDK_LOADING, payload: true });\n if (userId && appId) {\n const newSdk = new Sb({ appId });\n // to check if code is released version from rollup and *not from storybook*\n // see rollup config file\n if (IS_ROLLUP === IS_ROLLUP_REPLACE) {\n newSdk.addExtension('sb_uikit', APP_VERSION_STRING);\n }\n const connectCbSucess = (user) => {\n sdkDispatcher({ type: INIT_SDK, payload: newSdk });\n userDispatcher({ type: INIT_USER, payload: user });\n // use nickname/profileUrl if provided\n // or set userID as nickname\n const newNickName = nickname || user.nickname;\n const newProfileUrl = profileUrl || user.profileUrl;\n newSdk.updateCurrentUserInfo(newNickName, newProfileUrl)\n .then((namedUser) => {\n userDispatcher({ type: UPDATE_USER_INFO, payload: namedUser });\n });\n };\n\n const connectCbError = (e) => {\n logger.error('Connection failed', `${e}`);\n sdkDispatcher({ type: RESET_SDK });\n sdkDispatcher({ type: RESET_USER });\n sdkDispatcher({ type: SDK_ERROR });\n };\n\n if (accessToken) {\n newSdk.connect(userId, accessToken)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n } else {\n newSdk.connect(userId)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n }\n } else {\n sdkDispatcher({ type: SDK_ERROR });\n logger.warning('Connection failed', 'UserId or appId missing');\n }\n },\n });\n};\n","import { useLayoutEffect } from 'react';\nimport cssVars from 'css-vars-ponyfill';\n\nconst isEmpty = (obj) => {\n if (obj === null || obj === undefined) {\n return true;\n }\n\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n return JSON.stringify(obj) === JSON.stringify({});\n}\n\nconst useTheme = (overrides: Record): void => {\n useLayoutEffect(() => {\n if (!isEmpty(overrides)) {\n cssVars({\n variables: {\n ...{\n '--sendbird-dark-primary-500': '#4d2aa6',\n '--sendbird-dark-primary-400': '#6440C4',\n '--sendbird-dark-primary-300': '#7B53EF',\n '--sendbird-dark-primary-200': '#9E8CF5',\n '--sendbird-dark-primary-100': '#E2DFFF',\n\n '--sendbird-dark-secondary-500': '#007A7A',\n '--sendbird-dark-secondary-400': '#189A8D',\n '--sendbird-dark-secondary-300': '#2EBA9F',\n '--sendbird-dark-secondary-200': '#6FD6BE',\n '--sendbird-dark-secondary-100': '#AEF2DC',\n\n '--sendbird-dark-information-100': '#b2d9ff',\n\n '--sendbird-dark-error-500': '#A30E2D',\n '--sendbird-dark-error-400': '#C11F41',\n '--sendbird-dark-error-300': '#E53157',\n '--sendbird-dark-error-200': '#FF6183',\n '--sendbird-dark-error-100': '#FFABBD',\n\n '--sendbird-dark-background-700': '#000000',\n '--sendbird-dark-background-600': '#161616',\n '--sendbird-dark-background-500': '#2C2C2C',\n '--sendbird-dark-background-400': '#393939',\n '--sendbird-dark-background-300': '#A8A8A8',\n '--sendbird-dark-background-200': '#D9D9D9',\n '--sendbird-dark-background-100': '#F0F0F0',\n '--sendbird-dark-background-50': '#FFFFFF',\n\n '--sendbird-dark-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-dark-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-dark-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-dark-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-dark-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-dark-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-dark-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-dark-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-dark-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-primary-500': '#4d2aa6',\n '--sendbird-light-primary-400': '#6440C4',\n '--sendbird-light-primary-300': '#7B53EF',\n '--sendbird-light-primary-200': '#9E8CF5',\n '--sendbird-light-primary-100': '#E2DFFF',\n\n '--sendbird-light-secondary-500': '#007A7A',\n '--sendbird-light-secondary-400': '#189A8D',\n '--sendbird-light-secondary-300': '#2EBA9F',\n '--sendbird-light-secondary-200': '#6FD6BE',\n '--sendbird-light-secondary-100': '#AEF2DC',\n\n '--sendbird-light-information-100': '#b2d9ff',\n\n '--sendbird-light-error-500': '#A30E2D',\n '--sendbird-light-error-400': '#C11F41',\n '--sendbird-light-error-300': '#E53157',\n '--sendbird-light-error-200': '#FF6183',\n '--sendbird-light-error-100': '#FFABBD',\n\n '--sendbird-light-background-700': '#000000',\n '--sendbird-light-background-600': '#161616',\n '--sendbird-light-background-500': '#2C2C2C',\n '--sendbird-light-background-400': '#393939',\n '--sendbird-light-background-300': '#A8A8A8',\n '--sendbird-light-background-200': '#D9D9D9',\n '--sendbird-light-background-100': '#F0F0F0',\n '--sendbird-light-background-50': ' #FFFFFF',\n\n '--sendbird-light-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-light-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-light-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-light-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-light-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-light-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-light-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-light-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-light-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-light-theme-surface-2': '#EAEAEA',\n },\n ...overrides,\n },\n });\n }\n }, [overrides]);\n};\n\nexport default useTheme;\n","export default {\n initialized: false,\n loading: false,\n sdk: {},\n error: false,\n};\n","import * as sdkActions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case sdkActions.SET_SDK_LOADING:\n return {\n ...state,\n initialized: false,\n loading: action.payload,\n };\n case sdkActions.SDK_ERROR:\n return {\n ...state,\n initialized: false,\n loading: false,\n error: true,\n };\n case sdkActions.INIT_SDK:\n return {\n sdk: action.payload,\n initialized: true,\n loading: false,\n error: false,\n };\n case sdkActions.RESET_SDK:\n return initialState;\n default:\n return state;\n }\n}\n","export default {\n initialized: false,\n loading: false,\n user: {},\n};\n","import * as actions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actions.INIT_USER:\n return {\n initialized: true,\n loading: false,\n user: action.payload,\n };\n case actions.RESET_USER:\n return initialState;\n case actions.UPDATE_USER_INFO:\n return {\n ...state,\n user: action.payload,\n };\n default:\n return state;\n }\n}\n","import { useState, useEffect } from 'react';\n\nimport { uuidv4 } from '../../utils/uuid';\n\nfunction useConnectionStatus(sdk, logger) {\n const [isOnline, setIsOnline] = useState(true);\n\n useEffect(() => {\n const uniqueHandlerId = uuidv4();\n logger.warning('sdk changed', uniqueHandlerId);\n let handler;\n if (sdk && sdk.ConnectionHandler) {\n handler = new sdk.ConnectionHandler();\n\n handler.onReconnectStarted = () => {\n setIsOnline(false);\n logger.warning('onReconnectStarted', { isOnline });\n };\n handler.onReconnectSucceeded = () => {\n setIsOnline(true);\n logger.warning('onReconnectSucceeded', { isOnline });\n };\n handler.onReconnectFailed = () => {\n sdk.reconnect();\n logger.warning('onReconnectFailed');\n };\n logger.info('Added ConnectionHandler', uniqueHandlerId);\n sdk.addConnectionHandler(uniqueHandlerId, handler);\n }\n return () => {\n try {\n sdk.removeConnectionHandler(uniqueHandlerId);\n logger.info('Removed ConnectionHandler', uniqueHandlerId);\n } catch {\n //\n }\n };\n }, [sdk]);\n\n useEffect(() => {\n const tryReconnect = () => {\n try {\n logger.warning('Try reconnecting SDK');\n if (sdk.getConnectionState() !== 'OPEN') { // connection is not broken yet\n sdk.reconnect();\n }\n } catch {\n //\n }\n };\n // addEventListener version\n window.addEventListener('online', tryReconnect);\n return () => {\n window.removeEventListener('online', tryReconnect);\n };\n }, [sdk]);\n\n // add offline-class to body\n useEffect(() => {\n const body = document.querySelector('body');\n if (!isOnline) {\n try {\n body.classList.add('sendbird__offline');\n logger.info('Added class sendbird__offline to body');\n } catch (e) {\n //\n }\n } else {\n try {\n body.classList.remove('sendbird__offline');\n logger.info('Removed class sendbird__offline from body');\n } catch (e) {\n //\n }\n }\n }, [isOnline]);\n\n return isOnline;\n}\n\nexport default useConnectionStatus;\n","export const LOG_LEVELS = {\n DEBUG: 'debug',\n WARNING: 'warning',\n ERROR: 'error',\n INFO: 'info',\n ALL: 'all',\n};\n\nconst colorLog = (level) => {\n switch (level) {\n case LOG_LEVELS.WARNING:\n return ('color: Orange');\n case LOG_LEVELS.ERROR:\n return ('color: Red');\n default:\n return ('color: Gray');\n }\n};\n\nexport const printLog = ({\n level,\n title,\n description = '',\n}) => {\n // eslint-disable-next-line no-console\n console.log(\n `%c SendbirdUIKit | ${level} | ${new Date().toISOString()} | ${title} ${description && '|'}`, colorLog(level),\n description,\n );\n};\n\nexport const getDefaultLogger = () => ({\n info: () => {},\n error: () => {},\n warning: () => {},\n});\n\nexport const LoggerFactory = (lvl, customInterface) => {\n const logInterface = customInterface || printLog;\n const lvlArray = Array.isArray(lvl) ? lvl : [lvl];\n\n const applyLog = (lgLvl) => (title, description) => logInterface({\n level: lgLvl,\n title,\n description,\n });\n\n const logger = lvlArray.reduce((accumulator, currentLvl) => {\n if (currentLvl === LOG_LEVELS.DEBUG || currentLvl === LOG_LEVELS.ALL) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n error: applyLog(LOG_LEVELS.ERROR),\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n if (currentLvl === LOG_LEVELS.INFO) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n });\n }\n\n if (currentLvl === LOG_LEVELS.ERROR) {\n return ({\n ...accumulator,\n error: applyLog(LOG_LEVELS.ERROR),\n });\n }\n\n if (currentLvl === LOG_LEVELS.WARNING) {\n return ({\n ...accumulator,\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n return { ...accumulator };\n }, getDefaultLogger());\n return logger;\n};\n","// https://davidwalsh.name/pubsub-javascript\nexport default () => {\n const topics = {};\n const hOP = topics.hasOwnProperty;\n\n return {\n __getTopics: () => topics,\n subscribe: (topic, listener) => {\n // Create the topic's object if not yet created\n if (!hOP.call(topics, topic)) { topics[topic] = []; }\n\n // Add the listener to queue\n const index = topics[topic].push(listener) - 1;\n\n // Provide handle back for removal of topic\n return {\n remove: () => {\n delete topics[topic][index];\n },\n };\n },\n publish: (topic, info) => {\n // If the topic doesn't exist, or there's no listeners in queue, just leave\n if (!hOP.call(topics, topic)) { return; }\n\n // Cycle through topics queue, fire!\n topics[topic].forEach((item) => {\n item(info !== undefined ? info : {});\n });\n },\n };\n};\n","import { useEffect } from 'react';\n\nfunction useAppendDomNode(ids = [], rootSelector) {\n useEffect(() => {\n const root = document.querySelector(rootSelector);\n ids.forEach((id) => {\n const elem = document.createElement('div');\n elem.setAttribute('id', id);\n root.appendChild(elem);\n });\n return () => {\n ids.forEach((id) => {\n const target = document.getElementById(id);\n if (target) {\n root.removeChild(target);\n }\n });\n };\n }, []);\n}\n\nexport default useAppendDomNode;\n","import './index.scss';\n\nimport React, { useEffect, useReducer, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { SendbirdSdkContext } from './SendbirdSdkContext';\nimport { handleConnection } from './dux/sdk/thunks';\n\nimport useTheme from './hooks/useTheme';\n\nimport sdkReducers from './dux/sdk/reducers';\nimport userReducers from './dux/user/reducers';\nimport sdkInitialState from './dux/sdk/initialState';\nimport userInitialState from './dux/user/initialState';\n\nimport useOnlineStatus from './hooks/useOnlineStatus';\n\nimport { LoggerFactory } from './Logger';\nimport pubSubFactory from './pubSub/index';\nimport useAppendDomNode from '../hooks/useAppendDomNode';\n\nimport { LocalizationProvider } from './LocalizationContext';\nimport getStringSet from '../ui/Label/stringSet';\n\nexport default function Sendbird(props) {\n const {\n userId,\n appId,\n accessToken,\n children,\n disableUserProfile,\n renderUserProfile,\n allowProfileEdit,\n theme,\n nickname,\n profileUrl,\n userListQuery,\n config = {},\n colorSet,\n stringSet,\n imageCompression,\n } = props;\n\n const {\n logLevel = '',\n } = config;\n const [logger, setLogger] = useState(LoggerFactory(logLevel));\n const [pubSub, setPubSub] = useState();\n const [sdkStore, sdkDispatcher] = useReducer(sdkReducers, sdkInitialState);\n const [userStore, userDispatcher] = useReducer(userReducers, userInitialState);\n\n useTheme(colorSet);\n\n useEffect(() => {\n setPubSub(pubSubFactory());\n }, []);\n\n useEffect(() => {\n logger.info('App Init');\n // dispatch action\n handleConnection({\n userId,\n appId,\n accessToken,\n sdkStore,\n nickname,\n profileUrl,\n sdk: sdkStore.sdk,\n logger,\n }, {\n sdkDispatcher,\n userDispatcher,\n });\n }, [userId, appId, accessToken]);\n\n // to create a pubsub to communicate between parent and child\n useEffect(() => {\n setLogger(LoggerFactory(logLevel));\n }, [logLevel]);\n\n useAppendDomNode([\n 'sendbird-modal-root',\n 'sendbird-dropdown-portal',\n 'sendbird-emoji-list-portal',\n ], 'body');\n\n // should move to reducer\n const [currenttheme, setCurrenttheme] = useState(theme);\n useEffect(() => {\n setCurrenttheme(theme);\n }, [theme]);\n // add-remove theme from body\n useEffect(() => {\n logger.info('Setup theme', `Theme: ${currenttheme}`);\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n body.classList.add(`sendbird-theme--${currenttheme || 'light'}`);\n logger.info('Finish setup theme');\n // eslint-disable-next-line no-empty\n } catch (e) {\n logger.warning('Setup theme failed', `${e}`);\n }\n return () => {\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n // eslint-disable-next-line no-empty\n } catch { }\n };\n }, [currenttheme]);\n\n const isOnline = useOnlineStatus(sdkStore.sdk, logger);\n\n const localeStringSet = React.useMemo(() => {\n if (!stringSet) {\n return getStringSet('en');\n }\n return {\n ...getStringSet('en'),\n ...stringSet,\n };\n }, [stringSet]);\n\n return (\n {\n handleConnection({\n userId,\n appId,\n accessToken,\n sdkStore,\n nickname,\n profileUrl,\n logger,\n sdk: sdkStore.sdk,\n }, {\n sdkDispatcher,\n userDispatcher,\n });\n },\n },\n config: {\n disableUserProfile,\n renderUserProfile,\n allowProfileEdit,\n isOnline,\n userId,\n appId,\n accessToken,\n theme: currenttheme,\n setCurrenttheme,\n userListQuery,\n logger,\n pubSub,\n imageCompression,\n },\n }}\n >\n \n {children}\n \n \n );\n}\n\nSendbird.propTypes = {\n userId: PropTypes.string.isRequired,\n appId: PropTypes.string.isRequired,\n accessToken: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.any,\n ]).isRequired,\n theme: PropTypes.string,\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n allowProfileEdit: PropTypes.bool,\n userListQuery: PropTypes.func,\n config: PropTypes.shape({\n // None Error Warning Info 'All/Debug'\n logLevel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n pubSub: PropTypes.shape({\n subscribe: PropTypes.func,\n publish: PropTypes.func,\n }),\n }),\n stringSet: PropTypes.objectOf(PropTypes.string),\n colorSet: PropTypes.objectOf(PropTypes.string),\n imageCompression: PropTypes.shape({\n compressionRate: PropTypes.number,\n resizingWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n resizingHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n};\n\nSendbird.defaultProps = {\n accessToken: '',\n theme: 'light',\n nickname: '',\n profileUrl: '',\n disableUserProfile: false,\n renderUserProfile: null,\n allowProfileEdit: false,\n userListQuery: null,\n config: {},\n stringSet: null,\n colorSet: null,\n imageCompression: {},\n};\n"],"names":["INIT_SDK","SET_SDK_LOADING","RESET_SDK","SDK_ERROR","APP_VERSION_STRING","disconnectSdk","sdkDispatcher","userDispatcher","sdk","onDisconnect","type","payload","disconnect","then","RESET_USER","finally","handleConnection","dispatchers","userId","appId","nickname","profileUrl","accessToken","logger","info","newSdk","Sb","addExtension","connectCbSucess","user","INIT_USER","newNickName","newProfileUrl","updateCurrentUserInfo","namedUser","UPDATE_USER_INFO","connectCbError","e","error","connect","res","catch","err","warning","isEmpty","obj","undefined","prop","hasOwnProperty","JSON","stringify","useTheme","overrides","useLayoutEffect","cssVars","variables","initialized","loading","reducer","state","action","sdkActions","initialState","actions","useConnectionStatus","useState","isOnline","setIsOnline","useEffect","uniqueHandlerId","uuidv4","handler","ConnectionHandler","onReconnectStarted","onReconnectSucceeded","onReconnectFailed","reconnect","addConnectionHandler","removeConnectionHandler","tryReconnect","getConnectionState","window","addEventListener","removeEventListener","body","document","querySelector","classList","add","remove","LOG_LEVELS","DEBUG","WARNING","ERROR","INFO","ALL","colorLog","level","printLog","title","description","console","log","Date","toISOString","getDefaultLogger","LoggerFactory","lvl","customInterface","logInterface","lvlArray","Array","isArray","applyLog","lgLvl","reduce","accumulator","currentLvl","topics","hOP","__getTopics","subscribe","topic","listener","call","index","push","publish","forEach","item","useAppendDomNode","ids","rootSelector","root","id","elem","createElement","setAttribute","appendChild","target","getElementById","removeChild","Sendbird","props","children","disableUserProfile","renderUserProfile","allowProfileEdit","theme","userListQuery","config","colorSet","stringSet","imageCompression","logLevel","setLogger","pubSub","setPubSub","useReducer","sdkReducers","sdkInitialState","sdkStore","userReducers","userInitialState","userStore","pubSubFactory","currenttheme","setCurrenttheme","useOnlineStatus","localeStringSet","React","useMemo","getStringSet","SendbirdSdkContext","stores","LocalizationProvider","propTypes","PropTypes","string","isRequired","oneOfType","element","arrayOf","any","bool","func","shape","objectOf","compressionRate","number","resizingWidth","resizingHeight","defaultProps"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"SendbirdProvider.js","sources":["../../../src/lib/dux/sdk/actionTypes.js","../../../src/lib/dux/sdk/thunks.js","../../../src/lib/hooks/useTheme.ts","../../../src/lib/dux/sdk/initialState.js","../../../src/lib/dux/sdk/reducers.js","../../../src/lib/dux/user/initialState.js","../../../src/lib/dux/user/reducers.js","../../../src/lib/hooks/useOnlineStatus.js","../../../src/lib/Logger/index.js","../../../src/lib/pubSub/index.js","../../../src/hooks/useAppendDomNode.js","../../../src/lib/Sendbird.jsx"],"sourcesContent":["export const INIT_SDK = 'INIT_SDK';\nexport const SET_SDK_LOADING = 'SET_SDK_LOADING';\nexport const RESET_SDK = 'RESET_SDK';\nexport const SDK_ERROR = 'SDK_ERROR';\n","import Sb from 'sendbird';\n\nimport {\n INIT_SDK,\n SET_SDK_LOADING,\n RESET_SDK,\n SDK_ERROR,\n} from './actionTypes';\nimport { INIT_USER, UPDATE_USER_INFO, RESET_USER } from '../user/actionTypes';\n\nconst APP_VERSION_STRING = '__uikit_app_version__';\nconst IS_ROLLUP = '__is_rollup__';\nconst IS_ROLLUP_REPLACE = '__is_rollup_replace__';\n\nexport const disconnectSdk = ({\n sdkDispatcher,\n userDispatcher,\n sdk,\n onDisconnect,\n}) => {\n sdkDispatcher({ type: SET_SDK_LOADING, payload: true });\n if (sdk && sdk.disconnect) {\n sdk.disconnect()\n .then(() => {\n sdkDispatcher({ type: RESET_SDK });\n userDispatcher({ type: RESET_USER });\n })\n .finally(() => {\n onDisconnect();\n });\n } else {\n onDisconnect();\n }\n};\n\nexport const handleConnection = ({\n userId,\n appId,\n nickname,\n profileUrl,\n accessToken,\n sdk,\n logger,\n}, dispatchers) => {\n const {\n sdkDispatcher,\n userDispatcher,\n } = dispatchers;\n disconnectSdk({\n sdkDispatcher,\n userDispatcher,\n sdk,\n logger,\n onDisconnect: () => {\n logger.info('Setup connection');\n sdkDispatcher({ type: SET_SDK_LOADING, payload: true });\n if (userId && appId) {\n const newSdk = new Sb({ appId });\n // to check if code is released version from rollup and *not from storybook*\n // see rollup config file\n if (IS_ROLLUP === IS_ROLLUP_REPLACE) {\n newSdk.addExtension('sb_uikit', APP_VERSION_STRING);\n }\n const connectCbSucess = (user) => {\n sdkDispatcher({ type: INIT_SDK, payload: newSdk });\n userDispatcher({ type: INIT_USER, payload: user });\n // use nickname/profileUrl if provided\n // or set userID as nickname\n const newNickName = nickname || user.nickname;\n const newProfileUrl = profileUrl || user.profileUrl;\n newSdk.updateCurrentUserInfo(newNickName, newProfileUrl)\n .then((namedUser) => {\n userDispatcher({ type: UPDATE_USER_INFO, payload: namedUser });\n });\n };\n\n const connectCbError = (e) => {\n logger.error('Connection failed', `${e}`);\n sdkDispatcher({ type: RESET_SDK });\n sdkDispatcher({ type: RESET_USER });\n sdkDispatcher({ type: SDK_ERROR });\n };\n\n if (accessToken) {\n newSdk.connect(userId, accessToken)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n } else {\n newSdk.connect(userId)\n .then((res) => connectCbSucess(res))\n .catch((err) => connectCbError(err));\n }\n } else {\n sdkDispatcher({ type: SDK_ERROR });\n logger.warning('Connection failed', 'UserId or appId missing');\n }\n },\n });\n};\n","import { useLayoutEffect } from 'react';\nimport cssVars from 'css-vars-ponyfill';\n\nconst isEmpty = (obj) => {\n if (obj === null || obj === undefined) {\n return true;\n }\n\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n return false;\n }\n }\n return JSON.stringify(obj) === JSON.stringify({});\n}\n\nconst useTheme = (overrides: Record): void => {\n useLayoutEffect(() => {\n if (!isEmpty(overrides)) {\n cssVars({\n variables: {\n ...{\n '--sendbird-dark-primary-500': '#4d2aa6',\n '--sendbird-dark-primary-400': '#6440C4',\n '--sendbird-dark-primary-300': '#7B53EF',\n '--sendbird-dark-primary-200': '#9E8CF5',\n '--sendbird-dark-primary-100': '#E2DFFF',\n\n '--sendbird-dark-secondary-500': '#007A7A',\n '--sendbird-dark-secondary-400': '#189A8D',\n '--sendbird-dark-secondary-300': '#2EBA9F',\n '--sendbird-dark-secondary-200': '#6FD6BE',\n '--sendbird-dark-secondary-100': '#AEF2DC',\n\n '--sendbird-dark-information-100': '#b2d9ff',\n\n '--sendbird-dark-error-500': '#A30E2D',\n '--sendbird-dark-error-400': '#C11F41',\n '--sendbird-dark-error-300': '#E53157',\n '--sendbird-dark-error-200': '#FF6183',\n '--sendbird-dark-error-100': '#FFABBD',\n\n '--sendbird-dark-background-700': '#000000',\n '--sendbird-dark-background-600': '#161616',\n '--sendbird-dark-background-500': '#2C2C2C',\n '--sendbird-dark-background-400': '#393939',\n '--sendbird-dark-background-300': '#A8A8A8',\n '--sendbird-dark-background-200': '#D9D9D9',\n '--sendbird-dark-background-100': '#F0F0F0',\n '--sendbird-dark-background-50': '#FFFFFF',\n\n '--sendbird-dark-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-dark-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-dark-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-dark-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-dark-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-dark-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-dark-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-dark-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-dark-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-dark-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-dark-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-primary-500': '#4d2aa6',\n '--sendbird-light-primary-400': '#6440C4',\n '--sendbird-light-primary-300': '#7B53EF',\n '--sendbird-light-primary-200': '#9E8CF5',\n '--sendbird-light-primary-100': '#E2DFFF',\n\n '--sendbird-light-secondary-500': '#007A7A',\n '--sendbird-light-secondary-400': '#189A8D',\n '--sendbird-light-secondary-300': '#2EBA9F',\n '--sendbird-light-secondary-200': '#6FD6BE',\n '--sendbird-light-secondary-100': '#AEF2DC',\n\n '--sendbird-light-information-100': '#b2d9ff',\n\n '--sendbird-light-error-500': '#A30E2D',\n '--sendbird-light-error-400': '#C11F41',\n '--sendbird-light-error-300': '#E53157',\n '--sendbird-light-error-200': '#FF6183',\n '--sendbird-light-error-100': '#FFABBD',\n\n '--sendbird-light-background-700': '#000000',\n '--sendbird-light-background-600': '#161616',\n '--sendbird-light-background-500': '#2C2C2C',\n '--sendbird-light-background-400': '#393939',\n '--sendbird-light-background-300': '#A8A8A8',\n '--sendbird-light-background-200': '#D9D9D9',\n '--sendbird-light-background-100': '#F0F0F0',\n '--sendbird-light-background-50': ' #FFFFFF',\n\n '--sendbird-light-overlay': 'rgba(0, 0, 0, 0.32)',\n\n '--sendbird-light-onlight-01': 'rgba(0, 0, 0, 0.88)',\n '--sendbird-light-onlight-02': 'rgba(0, 0, 0, 0.50)',\n '--sendbird-light-onlight-03': 'rgba(0, 0, 0, 0.38)',\n '--sendbird-light-onlight-04': 'rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-ondark-01': 'rgba(255, 255, 255, 0.88)',\n '--sendbird-light-ondark-02': 'rgba(255, 255, 255, 0.50)',\n '--sendbird-light-ondark-03': 'rgba(255, 255, 255, 0.38)',\n '--sendbird-light-ondark-04': 'rgba(255, 255, 255, 0.12)',\n\n '--sendbird-light-shadow-01': '0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-02': '0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-03': '0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12)',\n '--sendbird-light-shadow-04': '0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12)',\n\n '--sendbird-light-shadow-message-input': '0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12)',\n },\n ...overrides,\n },\n });\n }\n }, [overrides]);\n};\n\nexport default useTheme;\n","export default {\n initialized: false,\n loading: false,\n sdk: {},\n error: false,\n};\n","import * as sdkActions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case sdkActions.SET_SDK_LOADING:\n return {\n ...state,\n initialized: false,\n loading: action.payload,\n };\n case sdkActions.SDK_ERROR:\n return {\n ...state,\n initialized: false,\n loading: false,\n error: true,\n };\n case sdkActions.INIT_SDK:\n return {\n sdk: action.payload,\n initialized: true,\n loading: false,\n error: false,\n };\n case sdkActions.RESET_SDK:\n return initialState;\n default:\n return state;\n }\n}\n","export default {\n initialized: false,\n loading: false,\n user: {},\n};\n","import * as actions from './actionTypes';\nimport initialState from './initialState';\n\nexport default function reducer(state, action) {\n switch (action.type) {\n case actions.INIT_USER:\n return {\n initialized: true,\n loading: false,\n user: action.payload,\n };\n case actions.RESET_USER:\n return initialState;\n case actions.UPDATE_USER_INFO:\n return {\n ...state,\n user: action.payload,\n };\n default:\n return state;\n }\n}\n","import { useState, useEffect } from 'react';\n\nimport { uuidv4 } from '../../utils/uuid';\n\nfunction useConnectionStatus(sdk, logger) {\n const [isOnline, setIsOnline] = useState(true);\n\n useEffect(() => {\n const uniqueHandlerId = uuidv4();\n logger.warning('sdk changed', uniqueHandlerId);\n let handler;\n if (sdk && sdk.ConnectionHandler) {\n handler = new sdk.ConnectionHandler();\n\n handler.onReconnectStarted = () => {\n setIsOnline(false);\n logger.warning('onReconnectStarted', { isOnline });\n };\n handler.onReconnectSucceeded = () => {\n setIsOnline(true);\n logger.warning('onReconnectSucceeded', { isOnline });\n };\n handler.onReconnectFailed = () => {\n sdk.reconnect();\n logger.warning('onReconnectFailed');\n };\n logger.info('Added ConnectionHandler', uniqueHandlerId);\n sdk.addConnectionHandler(uniqueHandlerId, handler);\n }\n return () => {\n try {\n sdk.removeConnectionHandler(uniqueHandlerId);\n logger.info('Removed ConnectionHandler', uniqueHandlerId);\n } catch {\n //\n }\n };\n }, [sdk]);\n\n useEffect(() => {\n const tryReconnect = () => {\n try {\n logger.warning('Try reconnecting SDK');\n if (sdk.getConnectionState() !== 'OPEN') { // connection is not broken yet\n sdk.reconnect();\n }\n } catch {\n //\n }\n };\n // addEventListener version\n window.addEventListener('online', tryReconnect);\n return () => {\n window.removeEventListener('online', tryReconnect);\n };\n }, [sdk]);\n\n // add offline-class to body\n useEffect(() => {\n const body = document.querySelector('body');\n if (!isOnline) {\n try {\n body.classList.add('sendbird__offline');\n logger.info('Added class sendbird__offline to body');\n } catch (e) {\n //\n }\n } else {\n try {\n body.classList.remove('sendbird__offline');\n logger.info('Removed class sendbird__offline from body');\n } catch (e) {\n //\n }\n }\n }, [isOnline]);\n\n return isOnline;\n}\n\nexport default useConnectionStatus;\n","export const LOG_LEVELS = {\n DEBUG: 'debug',\n WARNING: 'warning',\n ERROR: 'error',\n INFO: 'info',\n ALL: 'all',\n};\n\nconst colorLog = (level) => {\n switch (level) {\n case LOG_LEVELS.WARNING:\n return ('color: Orange');\n case LOG_LEVELS.ERROR:\n return ('color: Red');\n default:\n return ('color: Gray');\n }\n};\n\nexport const printLog = ({\n level,\n title,\n description = '',\n}) => {\n // eslint-disable-next-line no-console\n console.log(\n `%c SendbirdUIKit | ${level} | ${new Date().toISOString()} | ${title} ${description && '|'}`, colorLog(level),\n description,\n );\n};\n\nexport const getDefaultLogger = () => ({\n info: () => {},\n error: () => {},\n warning: () => {},\n});\n\nexport const LoggerFactory = (lvl, customInterface) => {\n const logInterface = customInterface || printLog;\n const lvlArray = Array.isArray(lvl) ? lvl : [lvl];\n\n const applyLog = (lgLvl) => (title, description) => logInterface({\n level: lgLvl,\n title,\n description,\n });\n\n const logger = lvlArray.reduce((accumulator, currentLvl) => {\n if (currentLvl === LOG_LEVELS.DEBUG || currentLvl === LOG_LEVELS.ALL) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n error: applyLog(LOG_LEVELS.ERROR),\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n if (currentLvl === LOG_LEVELS.INFO) {\n return ({\n ...accumulator,\n info: applyLog(LOG_LEVELS.INFO),\n });\n }\n\n if (currentLvl === LOG_LEVELS.ERROR) {\n return ({\n ...accumulator,\n error: applyLog(LOG_LEVELS.ERROR),\n });\n }\n\n if (currentLvl === LOG_LEVELS.WARNING) {\n return ({\n ...accumulator,\n warning: applyLog(LOG_LEVELS.WARNING),\n });\n }\n\n return { ...accumulator };\n }, getDefaultLogger());\n return logger;\n};\n","// https://davidwalsh.name/pubsub-javascript\nexport default () => {\n const topics = {};\n const hOP = topics.hasOwnProperty;\n\n return {\n __getTopics: () => topics,\n subscribe: (topic, listener) => {\n // Create the topic's object if not yet created\n if (!hOP.call(topics, topic)) { topics[topic] = []; }\n\n // Add the listener to queue\n const index = topics[topic].push(listener) - 1;\n\n // Provide handle back for removal of topic\n return {\n remove: () => {\n delete topics[topic][index];\n },\n };\n },\n publish: (topic, info) => {\n // If the topic doesn't exist, or there's no listeners in queue, just leave\n if (!hOP.call(topics, topic)) { return; }\n\n // Cycle through topics queue, fire!\n topics[topic].forEach((item) => {\n item(info !== undefined ? info : {});\n });\n },\n };\n};\n","import { useEffect } from 'react';\n\nfunction useAppendDomNode(ids = [], rootSelector) {\n useEffect(() => {\n const root = document.querySelector(rootSelector);\n ids.forEach((id) => {\n const elem = document.createElement('div');\n elem.setAttribute('id', id);\n root.appendChild(elem);\n });\n return () => {\n ids.forEach((id) => {\n const target = document.getElementById(id);\n if (target) {\n root.removeChild(target);\n }\n });\n };\n }, []);\n}\n\nexport default useAppendDomNode;\n","import './index.scss';\n\nimport React, { useEffect, useReducer, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { SendbirdSdkContext } from './SendbirdSdkContext';\nimport { handleConnection } from './dux/sdk/thunks';\n\nimport useTheme from './hooks/useTheme';\n\nimport sdkReducers from './dux/sdk/reducers';\nimport userReducers from './dux/user/reducers';\nimport sdkInitialState from './dux/sdk/initialState';\nimport userInitialState from './dux/user/initialState';\n\nimport useOnlineStatus from './hooks/useOnlineStatus';\n\nimport { LoggerFactory } from './Logger';\nimport pubSubFactory from './pubSub/index';\nimport useAppendDomNode from '../hooks/useAppendDomNode';\n\nimport { LocalizationProvider } from './LocalizationContext';\nimport getStringSet from '../ui/Label/stringSet';\n\nexport default function Sendbird(props) {\n const {\n userId,\n appId,\n accessToken,\n children,\n disableUserProfile,\n renderUserProfile,\n allowProfileEdit,\n theme,\n nickname,\n profileUrl,\n userListQuery,\n config = {},\n colorSet,\n stringSet,\n imageCompression,\n } = props;\n\n const {\n logLevel = '',\n } = config;\n const [logger, setLogger] = useState(LoggerFactory(logLevel));\n const [pubSub, setPubSub] = useState();\n const [sdkStore, sdkDispatcher] = useReducer(sdkReducers, sdkInitialState);\n const [userStore, userDispatcher] = useReducer(userReducers, userInitialState);\n\n useTheme(colorSet);\n\n useEffect(() => {\n setPubSub(pubSubFactory());\n }, []);\n\n useEffect(() => {\n logger.info('App Init');\n // dispatch action\n handleConnection({\n userId,\n appId,\n accessToken,\n sdkStore,\n nickname,\n profileUrl,\n sdk: sdkStore.sdk,\n logger,\n }, {\n sdkDispatcher,\n userDispatcher,\n });\n }, [userId, appId, accessToken]);\n\n // to create a pubsub to communicate between parent and child\n useEffect(() => {\n setLogger(LoggerFactory(logLevel));\n }, [logLevel]);\n\n useAppendDomNode([\n 'sendbird-modal-root',\n 'sendbird-dropdown-portal',\n 'sendbird-emoji-list-portal',\n ], 'body');\n\n // should move to reducer\n const [currenttheme, setCurrenttheme] = useState(theme);\n useEffect(() => {\n setCurrenttheme(theme);\n }, [theme]);\n // add-remove theme from body\n useEffect(() => {\n logger.info('Setup theme', `Theme: ${currenttheme}`);\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n body.classList.add(`sendbird-theme--${currenttheme || 'light'}`);\n logger.info('Finish setup theme');\n // eslint-disable-next-line no-empty\n } catch (e) {\n logger.warning('Setup theme failed', `${e}`);\n }\n return () => {\n try {\n const body = document.querySelector('body');\n body.classList.remove('sendbird-theme--light');\n body.classList.remove('sendbird-theme--dark');\n // eslint-disable-next-line no-empty\n } catch { }\n };\n }, [currenttheme]);\n\n const isOnline = useOnlineStatus(sdkStore.sdk, logger);\n\n const localeStringSet = React.useMemo(() => {\n if (!stringSet) {\n return getStringSet('en');\n }\n return {\n ...getStringSet('en'),\n ...stringSet,\n };\n }, [stringSet]);\n\n return (\n {\n handleConnection({\n userId,\n appId,\n accessToken,\n sdkStore,\n nickname,\n profileUrl,\n logger,\n sdk: sdkStore.sdk,\n }, {\n sdkDispatcher,\n userDispatcher,\n });\n },\n },\n config: {\n disableUserProfile,\n renderUserProfile,\n allowProfileEdit,\n isOnline,\n userId,\n appId,\n accessToken,\n theme: currenttheme,\n setCurrenttheme,\n userListQuery,\n logger,\n pubSub,\n imageCompression,\n },\n }}\n >\n \n {children}\n \n \n );\n}\n\nSendbird.propTypes = {\n userId: PropTypes.string.isRequired,\n appId: PropTypes.string.isRequired,\n accessToken: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n PropTypes.any,\n ]).isRequired,\n theme: PropTypes.string,\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n disableUserProfile: PropTypes.bool,\n renderUserProfile: PropTypes.func,\n allowProfileEdit: PropTypes.bool,\n userListQuery: PropTypes.func,\n config: PropTypes.shape({\n // None Error Warning Info 'All/Debug'\n logLevel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n pubSub: PropTypes.shape({\n subscribe: PropTypes.func,\n publish: PropTypes.func,\n }),\n }),\n stringSet: PropTypes.objectOf(PropTypes.string),\n colorSet: PropTypes.objectOf(PropTypes.string),\n imageCompression: PropTypes.shape({\n compressionRate: PropTypes.number,\n resizingWidth: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n resizingHeight: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n }),\n};\n\nSendbird.defaultProps = {\n accessToken: '',\n theme: 'light',\n nickname: '',\n profileUrl: '',\n disableUserProfile: false,\n renderUserProfile: null,\n allowProfileEdit: false,\n userListQuery: null,\n config: {},\n stringSet: null,\n colorSet: null,\n imageCompression: {},\n};\n"],"names":["INIT_SDK","SET_SDK_LOADING","RESET_SDK","SDK_ERROR","APP_VERSION_STRING","disconnectSdk","sdkDispatcher","userDispatcher","sdk","onDisconnect","type","payload","disconnect","then","RESET_USER","finally","handleConnection","dispatchers","userId","appId","nickname","profileUrl","accessToken","logger","info","newSdk","Sb","addExtension","connectCbSucess","user","INIT_USER","newNickName","newProfileUrl","updateCurrentUserInfo","namedUser","UPDATE_USER_INFO","connectCbError","e","error","connect","res","catch","err","warning","isEmpty","obj","undefined","prop","hasOwnProperty","JSON","stringify","useTheme","overrides","useLayoutEffect","cssVars","variables","initialized","loading","reducer","state","action","sdkActions","initialState","actions","useConnectionStatus","useState","isOnline","setIsOnline","useEffect","uniqueHandlerId","uuidv4","handler","ConnectionHandler","onReconnectStarted","onReconnectSucceeded","onReconnectFailed","reconnect","addConnectionHandler","removeConnectionHandler","tryReconnect","getConnectionState","window","addEventListener","removeEventListener","body","document","querySelector","classList","add","remove","LOG_LEVELS","DEBUG","WARNING","ERROR","INFO","ALL","colorLog","level","printLog","title","description","console","log","Date","toISOString","getDefaultLogger","LoggerFactory","lvl","customInterface","logInterface","lvlArray","Array","isArray","applyLog","lgLvl","reduce","accumulator","currentLvl","topics","hOP","__getTopics","subscribe","topic","listener","call","index","push","publish","forEach","item","useAppendDomNode","ids","rootSelector","root","id","elem","createElement","setAttribute","appendChild","target","getElementById","removeChild","Sendbird","props","children","disableUserProfile","renderUserProfile","allowProfileEdit","theme","userListQuery","config","colorSet","stringSet","imageCompression","logLevel","setLogger","pubSub","setPubSub","useReducer","sdkReducers","sdkInitialState","sdkStore","userReducers","userInitialState","userStore","pubSubFactory","currenttheme","setCurrenttheme","useOnlineStatus","localeStringSet","React","useMemo","getStringSet","SendbirdSdkContext","stores","LocalizationProvider","propTypes","PropTypes","string","isRequired","oneOfType","element","arrayOf","any","bool","func","shape","objectOf","compressionRate","number","resizingWidth","resizingHeight","defaultProps"],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/index-2a2230b8.js b/dist/cjs/index-2a2230b8.js new file mode 100644 index 0000000..7da4ba3 --- /dev/null +++ b/dist/cjs/index-2a2230b8.js @@ -0,0 +1,3480 @@ +'use strict'; + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var LocalizationContext = require('./LocalizationContext-12a9343d.js'); +var React = require('react'); +var React__default = _interopDefault(React); +var PropTypes = _interopDefault(require('prop-types')); +var reactDom = require('react-dom'); + +var UserProfileContext = React__default.createContext({ + disableUserProfile: true, + isOpenChannel: false, + renderUserProfile: null +}); + +var UserProfileProvider = function UserProfileProvider(props) { + var children = props.children, + className = props.className; + return React__default.createElement(UserProfileContext.Provider, { + value: props + }, React__default.createElement("div", { + className: className + }, children)); +}; + +UserProfileProvider.propTypes = { + children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element), PropTypes.any]).isRequired, + // eslint-disable-next-line react/no-unused-prop-types + isOpenChannel: PropTypes.bool, + // eslint-disable-next-line react/no-unused-prop-types + disableUserProfile: PropTypes.bool, + // eslint-disable-next-line react/no-unused-prop-types + renderUserProfile: PropTypes.func, + className: PropTypes.string +}; +UserProfileProvider.defaultProps = { + className: null, + isOpenChannel: false, + disableUserProfile: false, + renderUserProfile: null +}; + +/* + ImageRenderer displays image with url or source + it checks if the source exist with img tag first + if it exists onLoad is called, if not onError is called + and those properties switch img tag to real purposing element +*/ + +function ImageRenderer(_ref) { + var alt = _ref.alt, + url = _ref.url, + width = _ref.width, + height = _ref.height, + className = _ref.className, + defaultComponent = _ref.defaultComponent, + circle = _ref.circle; + var injectingClassName = Array.isArray(className) ? className : [className]; + injectingClassName.unshift('sendbird-image-renderer'); + + var _useState = React.useState(null), + _useState2 = LocalizationContext._slicedToArray(_useState, 2), + realElement = _useState2[0], + setRealElement = _useState2[1]; + + React.useEffect(function () { + setRealElement(null); + }, [url]); + return realElement || React__default.createElement("img", { + className: "sendbird-image-renderer--hidden-placeholder ".concat(injectingClassName.join(' ')), + src: url, + alt: alt, + onError: function onError() { + setRealElement(typeof defaultComponent === 'function' ? defaultComponent() : defaultComponent); + }, + onLoad: function onLoad() { + setRealElement(React__default.createElement("div", { + className: injectingClassName.join(' '), + style: { + width: width, + height: height, + backgroundRepeat: 'no-repeat', + backgroundPosition: 'center', + backgroundSize: 'cover', + backgroundImage: "url(".concat(url, ")"), + borderRadius: circle ? '50%' : null + } + })); + } + }); +} +ImageRenderer.propTypes = { + alt: PropTypes.string, + url: PropTypes.string.isRequired, + width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + className: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string]), + defaultComponent: PropTypes.oneOfType([PropTypes.element, PropTypes.func]), + circle: PropTypes.bool +}; +ImageRenderer.defaultProps = { + alt: '', + className: '', + circle: false, + defaultComponent: null, + width: null, + height: null +}; + +var Type = { + ADD: 'ADD', + ARROW_LEFT: 'ARROW_LEFT', + ATTACH: 'ATTACH', + BAN: 'BAN', + BROADCAST: 'BROADCAST', + CAMERA: 'CAMERA', + CHANNELS: 'CHANNELS', + CHAT: 'CHAT', + CHAT_FILLED: 'CHAT_FILLED', + CHEVRON_DOWN: 'CHEVRON_DOWN', + CHEVRON_RIGHT: 'CHEVRON_RIGHT', + CLOSE: 'CLOSE', + COLLAPSE: 'COLLAPSE', + COPY: 'COPY', + CREATE: 'CREATE', + DELETE: 'DELETE', + DISCONNECTED: 'DISCONNECTED', + DOCUMENT: 'DOCUMENT', + DONE: 'DONE', + DONE_ALL: 'DONE_ALL', + DOWNLOAD: 'DOWNLOAD', + EDIT: 'EDIT', + EMOJI_MORE: 'EMOJI_MORE', + ERROR: 'ERROR', + EXPAND: 'EXPAND', + FILE_AUDIO: 'FILE_AUDIO', + FILE_DOCUMENT: 'FILE_DOCUMENT', + FREEZE: 'FREEZE', + GIF: 'GIF', + INFO: 'INFO', + LEAVE: 'LEAVE', + MEMBERS: 'MEMBERS', + MESSAGE: 'MESSAGE', + MODERATIONS: 'MODERATIONS', + MORE: 'MORE', + MUTE: 'MUTE', + NOTIFICATIONS: 'NOTIFICATIONS', + NOTIFICATIONS_OFF_FILLED: 'NOTIFICATIONS_OFF_FILLED', + OPERATOR: 'OPERATOR', + PHOTO: 'PHOTO', + PLAY: 'PLAY', + PLUS: 'PLUS', + QUESTION: 'QUESTION', + REFRESH: 'REFRESH', + REMOVE: 'REMOVE', + SEARCH: 'SEARCH', + SEND: 'SEND', + SETTINGS_FILLED: 'SETTINGS_FILLED', + SPINNER: 'SPINNER', + SUPERGROUP: 'SUPERGROUP', + THUMBNAIL_NONE: 'THUMBNAIL_NONE', + TOGGLE_OFF: 'TOGGLE_OFF', + TOGGLE_ON: 'TOGGLE_ON', + USER: 'USER' +}; + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +var _ref = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-add_svg__fill", + d: "M50.667 5.333a8 8 0 018 8v37.334a8 8 0 01-8 8H13.333a8 8 0 01-8-8V13.333a8 8 0 018-8zm0 5.334H13.333a2.667 2.667 0 00-2.666 2.666v37.334a2.667 2.667 0 002.666 2.666h37.334a2.667 2.667 0 002.666-2.666V13.333a2.667 2.667 0 00-2.666-2.666zm-18.667 8a2.667 2.667 0 012.649 2.355l.018.311v8h8a2.667 2.667 0 01.311 5.316l-.311.018h-8v8a2.667 2.667 0 01-5.316.311l-.018-.311v-8h-8a2.667 2.667 0 01-.311-5.316l.311-.018h8v-8A2.667 2.667 0 0132 18.667z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconAdd(props) { + return React__default.createElement("svg", _extends({ + viewBox: "0 0 64 64" + }, props), _ref); +} + +function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); } + +var _ref$1 = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-arrow-left_svg__fill", + d: "M33.886 8.781a2.668 2.668 0 01.221 3.52l-.221.251-16.78 16.781H56a2.667 2.667 0 01.311 5.316l-.311.018-38.895-.001 16.78 16.782a2.666 2.666 0 01.222 3.52l-.221.251a2.668 2.668 0 01-3.52.222l-.252-.222L8.781 33.886a2.668 2.668 0 01-.222-3.52l.222-.252L30.114 8.781a2.668 2.668 0 013.772 0z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconArrowLeft(props) { + return React__default.createElement("svg", _extends$1({ + viewBox: "0 0 64 64" + }, props), _ref$1); +} + +function _extends$2() { _extends$2 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2.apply(this, arguments); } + +var _ref$2 = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-attach_svg__fill", + d: "M55.334 28.926l-24.506 23.34c-5.222 4.973-13.74 4.973-18.962 0-5.149-4.903-5.149-12.797 0-17.7l24.506-23.34c3.138-2.988 8.278-2.988 11.416 0 3.064 2.919 3.064 7.594 0 10.513L23.255 45.077c-1.055 1.005-2.815 1.005-3.87.001-.98-.933-.98-2.39 0-3.325l22.64-21.535a2.667 2.667 0 00-3.676-3.864L15.709 37.89a7.578 7.578 0 00-.001 11.05c3.113 2.966 8.11 2.966 11.224 0l24.533-23.338c5.272-5.021 5.272-13.217 0-18.238-5.197-4.95-13.573-4.95-18.77 0L8.187 30.704c-7.356 7.005-7.356 18.419 0 25.424 7.281 6.935 19.036 6.935 26.318 0l24.506-23.34a2.666 2.666 0 10-3.678-3.862z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconAttach(props) { + return React__default.createElement("svg", _extends$2({ + viewBox: "0 0 64 64" + }, props), _ref$2); +} + +function _extends$3() { _extends$3 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3.apply(this, arguments); } + +var _ref$3 = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-ban_svg__fill", + d: "M32 2.667C48.2 2.667 61.333 15.8 61.333 32S48.2 61.333 32 61.333 2.667 48.2 2.667 32 15.8 2.667 32 2.667zM32 8C18.745 8 8 18.745 8 32s10.745 24 24 24 24-10.745 24-24S45.255 8 32 8zm12.333 21.333a1 1 0 011 1v3.334a1 1 0 01-1 1H19.667a1 1 0 01-1-1v-3.334a1 1 0 011-1h24.666z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconBan(props) { + return React__default.createElement("svg", _extends$3({ + viewBox: "0 0 64 64" + }, props), _ref$3); +} + +function _extends$4() { _extends$4 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4.apply(this, arguments); } + +var _ref$4 = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-broadcast_svg__fill", + d: "M58.545 5.498c.08.258.122.526.122.796v46.079a2.666 2.666 0 01-3.462 2.546l-17.951-5.61c-.645 5.273-5.14 9.358-10.587 9.358C20.776 58.667 16 53.89 16 48v-5.334h-5.333a8 8 0 01-7.997-7.75l-.003-.25V24a8 8 0 018-8H16L55.205 3.749a2.665 2.665 0 013.34 1.75zM21.333 44.587V48a5.333 5.333 0 0010.652.398L32 47.92l-10.667-3.333zm32-34.667l-32 9.997v18.83l32 9.997V9.92zM16 21.333h-5.333a2.67 2.67 0 00-2.65 2.356L8 24v10.667a2.667 2.667 0 002.667 2.666H16v-16z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconBroadcast(props) { + return React__default.createElement("svg", _extends$4({ + viewBox: "0 0 64 64" + }, props), _ref$4); +} + +function _extends$5() { _extends$5 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$5.apply(this, arguments); } + +var _ref$5 = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-camera_svg__fill", + d: "M40 5.333c.892 0 1.724.446 2.219 1.188l4.541 6.812H56a8 8 0 017.986 7.53l.014.47v29.334a8 8 0 01-8 8H8a8 8 0 01-8-8V21.333a8 8 0 018-8h9.237l4.544-6.812a2.665 2.665 0 011.888-1.167l.331-.02zm-1.43 5.334H25.428l-4.542 6.812a2.66 2.66 0 01-1.887 1.167l-.331.02H8a2.668 2.668 0 00-2.667 2.667v29.334A2.667 2.667 0 008 53.333h48a2.667 2.667 0 002.667-2.666V21.333A2.667 2.667 0 0056 18.667H45.333a2.665 2.665 0 01-2.218-1.188l-4.544-6.812zM32 21.333c7.364 0 13.333 5.97 13.333 13.334C45.333 42.03 39.363 48 32 48c-7.364 0-13.333-5.97-13.333-13.333 0-7.364 5.97-13.334 13.333-13.334zm0 5.334a8 8 0 100 16 8 8 0 000-16z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconCamera(props) { + return React__default.createElement("svg", _extends$5({ + viewBox: "0 0 64 64" + }, props), _ref$5); +} + +function _extends$6() { _extends$6 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$6.apply(this, arguments); } + +var _ref$6 = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-channels_svg__fill", + d: "M42.65 5.333l.311.017a2.666 2.666 0 012.373 2.633l-.017.311-1.45 13.04h9.466a2.667 2.667 0 01.311 5.315l-.31.018H43.271l-1.184 10.666h11.245a2.667 2.667 0 01.312 5.316l-.31.018H41.495l-1.512 13.627a2.667 2.667 0 01-5.318-.277l.017-.311 1.448-13.04H25.496l-1.512 13.628a2.667 2.667 0 01-5.318-.277l.017-.311 1.448-13.04h-9.464a2.667 2.667 0 01-.311-5.315l.31-.018h10.057l1.186-10.667H10.667a2.667 2.667 0 01-.311-5.315l.31-.018h11.835l1.515-13.627a2.668 2.668 0 012.634-2.373l.311.017a2.666 2.666 0 012.373 2.633l-.017.311-1.45 13.04H38.5l1.515-13.628a2.668 2.668 0 012.634-2.373zm-5.927 32l1.186-10.667H27.272l-1.184 10.667h10.635z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconChannels(props) { + return React__default.createElement("svg", _extends$6({ + viewBox: "0 0 64 64" + }, props), _ref$6); +} + +function _extends$7() { _extends$7 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$7.apply(this, arguments); } + +var _ref$7 = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-chat_svg__fill", + d: "M32 2.667C48.2 2.667 61.333 15.8 61.333 32S48.2 61.333 32 61.333c-4.455 0-8.679-.993-12.461-2.77l-1.753.58c-5.965 1.912-10.133 2.572-12.504 1.981-2.799-.698-3.351-1.919-1.657-3.663 1.171-1.396 2.147-3.14 2.928-5.234.622-1.668.377-4.001-.737-7A29.15 29.15 0 012.666 32C2.667 15.8 15.8 2.667 32 2.667zM32 8C18.745 8 8 18.745 8 32c0 3.5.747 6.88 2.168 9.978l.405.837.137.271.106.285c1.517 4.085 1.89 7.622.734 10.72l-.382.972-.192.433.235-.05a62.067 62.067 0 004.886-1.363l1.721-.568 2.04-.696 1.95.917A23.882 23.882 0 0032 56c13.255 0 24-10.745 24-24S45.255 8 32 8z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconChat(props) { + return React__default.createElement("svg", _extends$7({ + viewBox: "0 0 64 64" + }, props), _ref$7); +} + +function _extends$8() { _extends$8 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$8.apply(this, arguments); } + +var _ref$8 = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-chat-filled_svg__fill", + d: "M32 2.667C48.2 2.667 61.333 15.8 61.333 32S48.2 61.333 32 61.333c-4.455 0-8.679-.993-12.461-2.77l-1.753.58c-5.965 1.912-10.133 2.572-12.504 1.981-2.799-.698-3.351-1.919-1.657-3.663 1.171-1.396 2.147-3.14 2.928-5.234.622-1.668.377-4.001-.737-7A29.15 29.15 0 012.666 32C2.667 15.8 15.8 2.667 32 2.667z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconChatFilled(props) { + return React__default.createElement("svg", _extends$8({ + viewBox: "0 0 64 64" + }, props), _ref$8); +} + +function _extends$9() { _extends$9 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$9.apply(this, arguments); } + +var _ref$9 = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-chevron-down_svg__fill", + d: "M16.121 21.879a2.998 2.998 0 00-4.242 0 2.998 2.998 0 000 4.242l18 18a2.998 2.998 0 004.242 0l18-18a2.998 2.998 0 000-4.242 2.998 2.998 0 00-4.242 0L32 37.757 16.121 21.88z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconChevronDown(props) { + return React__default.createElement("svg", _extends$9({ + viewBox: "0 0 64 64" + }, props), _ref$9); +} + +function _extends$a() { _extends$a = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$a.apply(this, arguments); } + +var _ref$a = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-chevron-right_svg__fill", + d: "M22.114 46.114a2.668 2.668 0 003.772 3.772l16-16a2.668 2.668 0 000-3.772l-16-16a2.668 2.668 0 00-3.772 3.772L36.23 32 22.114 46.114z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconChevronRight(props) { + return React__default.createElement("svg", _extends$a({ + viewBox: "0 0 64 64" + }, props), _ref$a); +} + +function _extends$b() { _extends$b = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$b.apply(this, arguments); } + +var _ref$b = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-close_svg__fill", + d: "M52.552 11.448a2.666 2.666 0 01.222 3.52l-.222.251-16.781 16.78 16.781 16.782a2.665 2.665 0 010 3.771 2.666 2.666 0 01-3.52.222l-.251-.222L32 35.771 15.219 52.552a2.665 2.665 0 01-3.771 0 2.666 2.666 0 01-.222-3.52l.222-.251L28.228 32l-16.78-16.781a2.665 2.665 0 010-3.771 2.666 2.666 0 013.52-.222l.251.222 16.78 16.78 16.782-16.78a2.665 2.665 0 013.771 0z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconClose(props) { + return React__default.createElement("svg", _extends$b({ + viewBox: "0 0 64 64" + }, props), _ref$b); +} + +function _extends$c() { _extends$c = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$c.apply(this, arguments); } + +var _ref$c = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-collapse_svg__fill", + d: "M16 8a2.667 2.667 0 00-2.649 2.356l-.018.31v42.667a2.667 2.667 0 005.316.311l.018-.31V34.666h25.56l-6.113 6.114a2.668 2.668 0 00-.221 3.52l.221.251a2.666 2.666 0 003.52.222l.252-.222 10.666-10.666a2.666 2.666 0 00.222-3.52l-.222-.252-10.666-10.666a2.666 2.666 0 00-3.993 3.52l.221.251 6.113 6.114h-25.56V10.667A2.667 2.667 0 0016 8z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconCollapse(props) { + return React__default.createElement("svg", _extends$c({ + viewBox: "0 0 64 64" + }, props), _ref$c); +} + +function _extends$d() { _extends$d = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$d.apply(this, arguments); } + +var _ref$d = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-copy_svg__fill", + d: "M53.333 21.333a8 8 0 018 8v24a8 8 0 01-8 8h-24a8 8 0 01-8-8v-24a8 8 0 018-8zm0 5.334h-24a2.667 2.667 0 00-2.666 2.666v24A2.667 2.667 0 0029.333 56h24A2.667 2.667 0 0056 53.333v-24a2.667 2.667 0 00-2.667-2.666zm-18.666-24a8 8 0 017.986 7.53l.014.47v2.666a2.667 2.667 0 01-5.316.311l-.018-.31v-2.667a2.67 2.67 0 00-2.355-2.65L34.667 8h-24a2.67 2.67 0 00-2.65 2.356l-.017.31v24a2.67 2.67 0 002.356 2.65l.31.017h2.667a2.667 2.667 0 01.311 5.316l-.31.018h-2.667a8.001 8.001 0 01-7.987-7.53l-.013-.47v-24c0-4.26 3.33-7.743 7.53-7.987l.47-.013h24z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconCopy(props) { + return React__default.createElement("svg", _extends$d({ + viewBox: "0 0 64 64" + }, props), _ref$d); +} + +function _extends$e() { _extends$e = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$e.apply(this, arguments); } + +var _ref$e = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-create_svg__fill", + d: "M32 2.667C48.2 2.667 61.333 15.8 61.333 32S48.2 61.333 32 61.333c-4.455 0-8.679-.993-12.461-2.77l-1.753.58c-5.965 1.912-10.133 2.572-12.504 1.981-2.799-.698-3.351-1.919-1.657-3.663 1.171-1.396 2.147-3.14 2.928-5.234.622-1.668.377-4.001-.737-7A29.15 29.15 0 012.666 32C2.667 15.8 15.8 2.667 32 2.667zM32 8C18.745 8 8 18.745 8 32c0 3.5.747 6.88 2.168 9.978l.405.837.137.271.106.285c1.517 4.085 1.89 7.622.734 10.72l-.382.972-.192.433.235-.05a62.067 62.067 0 004.886-1.363l1.721-.568 2.04-.696 1.95.917A23.882 23.882 0 0032 56c13.255 0 24-10.745 24-24S45.255 8 32 8zm2.667 16v5.333H40c3.556 0 3.556 5.334 0 5.334h-5.333V40c0 3.556-5.334 3.556-5.334 0v-5.333H24c-3.556 0-3.556-5.334 0-5.334h5.333V24c0-3.556 5.334-3.556 5.334 0z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconCreate(props) { + return React__default.createElement("svg", _extends$e({ + viewBox: "0 0 64 64" + }, props), _ref$e); +} + +function _extends$f() { _extends$f = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$f.apply(this, arguments); } + +var _ref$f = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-delete_svg__fill", + d: "M37.333 2.667c4.26 0 7.743 3.33 7.987 7.53l.013.47v2.666H56a2.667 2.667 0 01.311 5.316l-.311.018h-2.668l.001 34.666c0 4.26-3.33 7.743-7.53 7.987l-.47.013H18.667a8.001 8.001 0 01-7.987-7.53l-.013-.47V18.667H8a2.667 2.667 0 01-.311-5.316L8 13.333h10.666v-2.666a8.002 8.002 0 017.53-7.987l.47-.013h10.667zm10.666 16H16v34.666a2.67 2.67 0 002.356 2.65l.31.017h26.667a2.67 2.67 0 002.65-2.356l.017-.31V18.666zm-21.332 8a2.667 2.667 0 012.648 2.355l.018.311v16a2.667 2.667 0 01-5.316.311l-.017-.31v-16a2.667 2.667 0 012.667-2.667zm10.666 0a2.67 2.67 0 012.65 2.355l.017.311v16a2.667 2.667 0 01-5.315.311l-.018-.31v-16a2.667 2.667 0 012.666-2.667zm0-18.667H26.667a2.67 2.67 0 00-2.65 2.356l-.017.31v2.667h16v-2.666a2.67 2.67 0 00-2.356-2.65L37.334 8z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconDelete(props) { + return React__default.createElement("svg", _extends$f({ + viewBox: "0 0 64 64" + }, props), _ref$f); +} + +function _extends$g() { _extends$g = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$g.apply(this, arguments); } + +var _ref$g = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-disconnected_svg__fill", + d: "M54.534 6.069l-.248.217-9.736 9.735-.04.04-9.573 9.573c-.15.118-.286.254-.405.404L6.286 54.286a2.423 2.423 0 003.18 3.645l.248-.217 13.374-13.373a2.419 2.419 0 001.88-.401 12.119 12.119 0 0114.04 0 2.424 2.424 0 102.808-3.952 16.951 16.951 0 00-11.303-3.072l6.743-6.744a24.105 24.105 0 0110.159 5.021 2.424 2.424 0 003.11-3.719 28.945 28.945 0 00-9.34-5.23l5.633-5.634a36.153 36.153 0 019.225 5.934 2.425 2.425 0 003.211-3.633 40.972 40.972 0 00-8.796-5.941l7.256-7.256a2.423 2.423 0 00-3.18-3.645zm-35.04 21.474a28.936 28.936 0 00-6.032 3.942 2.424 2.424 0 003.137 3.697 24.018 24.018 0 015.022-3.282 2.425 2.425 0 00-2.127-4.357zM4.748 22.909a2.424 2.424 0 003.207 3.636 36.363 36.363 0 0126.978-8.977 2.424 2.424 0 00.389-4.832A41.204 41.204 0 004.748 22.909z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconDisconnected(props) { + return React__default.createElement("svg", _extends$g({ + viewBox: "0 0 64 64" + }, props), _ref$g); +} + +function _extends$h() { _extends$h = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$h.apply(this, arguments); } + +var _ref$h = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-document_svg__fill", + d: "M37.333 2.667a3.305 3.305 0 01.274.014l.085.01.058.008c.047.007.094.016.141.026l.029.007c.05.01.098.023.146.037l.034.01c.237.07.46.173.663.303l.034.022c.036.023.07.047.104.072l.057.043a2.646 2.646 0 01.261.228l-.126-.117c.05.043.097.088.143.135L55.21 19.438c.047.046.091.094.134.143l.035.04c.026.032.052.063.076.096l.04.054.07.1.024.038c.16.253.279.535.347.836l.01.048c.009.043.017.086.024.13l.006.048.007.051.004.041c.01.09.014.18.014.27v32a8 8 0 01-8 8H16a8 8 0 01-8-8V10.667a8 8 0 018-8h21.333zM34.666 8H16a2.667 2.667 0 00-2.667 2.667v42.666A2.667 2.667 0 0016 56h32a2.667 2.667 0 002.667-2.667L50.666 24H37.333a2.667 2.667 0 01-2.648-2.356l-.018-.31L34.666 8zm12.227 10.667l-6.894-6.894.001 6.894h6.893z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconDocument(props) { + return React__default.createElement("svg", _extends$h({ + viewBox: "0 0 64 64" + }, props), _ref$h); +} + +function _extends$i() { _extends$i = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$i.apply(this, arguments); } + +var _ref$i = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-done_svg__fill", + d: "M12.552 31.448a2.665 2.665 0 10-3.771 3.771l13.333 13.333a2.666 2.666 0 003.772 0L55.219 19.22a2.667 2.667 0 00-3.771-3.771L24 42.895 12.552 31.448z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconDone(props) { + return React__default.createElement("svg", _extends$i({ + viewBox: "0 0 64 64" + }, props), _ref$i); +} + +function _extends$j() { _extends$j = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$j.apply(this, arguments); } + +var _ref$j = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-done-all_svg__fill", + d: "M5.886 31.448L19.219 44.78a2.667 2.667 0 01-3.771 3.771L2.114 35.22a2.667 2.667 0 013.772-3.771zm52.228-16a2.666 2.666 0 113.772 3.771L32.552 48.552a2.665 2.665 0 01-3.771 0L15.448 35.22a2.665 2.665 0 010-3.771 2.665 2.665 0 013.771 0l11.448 11.447zm-9.562 0a2.665 2.665 0 010 3.771L32.556 35.215a2.665 2.665 0 01-3.771 0 2.664 2.664 0 010-3.77L44.78 15.447a2.665 2.665 0 013.771 0z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconDoneAll(props) { + return React__default.createElement("svg", _extends$j({ + viewBox: "0 0 64 64" + }, props), _ref$j); +} + +function _extends$k() { _extends$k = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$k.apply(this, arguments); } + +var _ref$k = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-download_svg__fill", + d: "M56 42.667a2.667 2.667 0 012.649 2.355l.018.311v8c0 4.26-3.33 7.743-7.53 7.987l-.47.013H13.333a8 8 0 01-7.986-7.53l-.014-.47v-8a2.667 2.667 0 015.316-.311l.018.311v8a2.67 2.67 0 002.355 2.65l.311.017h37.334a2.667 2.667 0 002.648-2.356l.018-.31v-8A2.667 2.667 0 0156 42.667zm-36.552-8.781a2.666 2.666 0 013.52-3.993l.251.221 6.114 6.114V5.333a2.667 2.667 0 015.316-.311l.018.311v30.894l6.114-6.113a2.668 2.668 0 013.52-.221l.251.221a2.666 2.666 0 01.222 3.52l-.222.252-10.658 10.657a2.341 2.341 0 01-.135.128l.127-.119a2.67 2.67 0 01-.195.176l-.056.045a1.74 1.74 0 01-.086.064l-.056.04-.086.056-.06.036-.081.046-.079.04a2.528 2.528 0 01-.14.065l-.09.036c-.023.01-.045.017-.067.025l-.09.03-.063.019c-.043.012-.086.024-.13.034l-.013.003a3.06 3.06 0 01-.144.028l-.064.01c-.03.005-.061.009-.092.012l-.084.008a1.727 1.727 0 01-.103.006l-.069.002h-.095c-.028 0-.055-.002-.082-.003l.139.003c-.084 0-.167-.004-.249-.011l-.061-.007a1.359 1.359 0 01-.092-.012l-.09-.015a2.242 2.242 0 01-.118-.025l-.04-.01a2.644 2.644 0 01-.34-.11l-.015-.006c-.05-.02-.097-.04-.145-.063l-.042-.02L30.71 45a1.16 1.16 0 01-.067-.039c-.03-.018-.059-.035-.087-.054l-.062-.041c-.03-.02-.06-.042-.088-.063l-.04-.03-.008-.007a2.796 2.796 0 01-.251-.223L19.448 33.886z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconDownload(props) { + return React__default.createElement("svg", _extends$k({ + viewBox: "0 0 64 64" + }, props), _ref$k); +} + +function _extends$l() { _extends$l = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$l.apply(this, arguments); } + +var _ref$l = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-edit_svg__fill", + d: "M56 56a2.667 2.667 0 01.311 5.315l-.311.018H8a2.667 2.667 0 01-.311-5.316L8 56h48zM35.448 3.448a2.665 2.665 0 013.771 0l10.667 10.666a2.668 2.668 0 010 3.772L20.552 47.219c-.5.5-1.178.781-1.885.781H8a2.667 2.667 0 01-2.667-2.667V34.667c0-.708.281-1.386.781-1.886zm1.885 5.659L10.667 35.77v6.896h6.89L44.227 16l-6.894-6.893z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconEdit(props) { + return React__default.createElement("svg", _extends$l({ + viewBox: "0 0 65 65" + }, props), _ref$l); +} + +function _extends$m() { _extends$m = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$m.apply(this, arguments); } + +var _ref$m = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-emoji-more_svg__fill", + d: "M32.097 3.22c2.65 0 5.255.357 7.763 1.054a2.134 2.134 0 01-1.144 4.111 24.669 24.669 0 00-6.619-.899c-13.603 0-24.63 11.027-24.63 24.63s11.027 24.63 24.63 24.63 24.63-11.027 24.63-24.63c0-2.227-.295-4.413-.87-6.518a2.13 2.13 0 011.494-2.62 2.13 2.13 0 012.62 1.494 28.895 28.895 0 011.023 7.644c0 15.96-12.938 28.897-28.897 28.897-15.96 0-28.897-12.937-28.897-28.897C3.2 16.157 16.138 3.22 32.097 3.22zm10.705 34.792a2.133 2.133 0 012.024 2.808c-1.873 5.623-6.937 9.488-12.729 9.488-5.792 0-10.856-3.865-12.73-9.488a2.134 2.134 0 011.875-2.803l.15-.005h21.41zm-3.477 4.266H24.867l.294.382c1.539 1.887 3.718 3.113 6.115 3.342l.314.024.507.015c2.617 0 5.037-1.188 6.743-3.151l.193-.23.292-.382zM21.392 21.954c1.087 0 1.985.814 2.116 1.866l.017.267v5.353a2.133 2.133 0 01-4.25.268l-.017-.268v-5.353c0-1.178.955-2.133 2.134-2.133zm21.41 0c1.088 0 1.985.814 2.117 1.866l.017.267v5.353a2.133 2.133 0 01-4.25.268l-.017-.268v-5.353c0-1.178.955-2.133 2.133-2.133zM54.853 0a.8.8 0 01.8.8v7.786h7.76a.8.8 0 01.8.8v2.667a.8.8 0 01-.8.8h-7.76v7.758a.8.8 0 01-.8.8h-2.666a.8.8 0 01-.8-.8v-7.758h-7.785a.8.8 0 01-.8-.8V9.387a.8.8 0 01.8-.8l7.784-.001V.8a.8.8 0 01.8-.8h2.667z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconEmojiMore(props) { + return React__default.createElement("svg", _extends$m({ + viewBox: "0 0 64 64" + }, props), _ref$m); +} + +function _extends$n() { _extends$n = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$n.apply(this, arguments); } + +var _ref$n = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-error_svg__fill", + d: "M32 5.06a8 8 0 016.561 3.424l.287.439 22.608 37.744a8 8 0 01.022 7.962 8.005 8.005 0 01-6.356 4.014l-.535.024H9.384a8.002 8.002 0 01-6.862-4.038 8.008 8.008 0 01-.226-7.493l.27-.506L25.16 8.91A8.001 8.001 0 0132 5.06zm0 5.333c-.816 0-1.58.372-2.076.99l-.196.28-22.565 37.67a2.669 2.669 0 001.909 3.973l.341.027h45.144a2.67 2.67 0 002.45-3.659l-.148-.304L34.28 11.676A2.666 2.666 0 0032 10.393zm0 32.274A2.667 2.667 0 1132 48a2.667 2.667 0 010-5.333zm0-21.334a2.667 2.667 0 012.649 2.356l.018.311v10.667a2.667 2.667 0 01-5.316.311l-.018-.311V24A2.667 2.667 0 0132 21.333z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconError(props) { + return React__default.createElement("svg", _extends$n({ + viewBox: "0 0 64 64" + }, props), _ref$n); +} + +function _extends$o() { _extends$o = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$o.apply(this, arguments); } + +var _ref$o = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-expand_svg__fill", + d: "M48 8a2.667 2.667 0 012.649 2.356l.018.31V32l-.001.027v21.306a2.667 2.667 0 01-5.315.311l-.018-.31V34.665H19.772l6.114 6.115a2.668 2.668 0 01.221 3.52l-.221.251a2.666 2.666 0 01-3.52.222l-.252-.222-10.666-10.666a2.666 2.666 0 01-.222-3.52l.222-.252 10.666-10.666a2.666 2.666 0 013.993 3.52l-.221.251-6.113 6.114h25.56V10.667A2.667 2.667 0 0148 8z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconExpand(props) { + return React__default.createElement("svg", _extends$o({ + viewBox: "0 0 64 64" + }, props), _ref$o); +} + +function _extends$p() { _extends$p = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$p.apply(this, arguments); } + +var _ref$p = +/*#__PURE__*/ +React__default.createElement("g", { + fill: "none", + fillRule: "evenodd" +}, React__default.createElement("rect", { + fill: "#FFF", + rx: 8.571 +}), React__default.createElement("path", { + className: "icon-file-audio_svg__fill", + fill: "#000", + d: "M44.577 18.786c7.612 7.924 7.612 20.79 0 28.714a1.576 1.576 0 01-2.335-.035c-.635-.7-.62-1.818.033-2.499 6.28-6.536 6.28-17.11 0-23.647a1.855 1.855 0 01-.033-2.498 1.576 1.576 0 012.335-.035zm-13.82.002c1.109-.903 2.726-.076 2.726 1.394v25.922c0 1.47-1.617 2.297-2.727 1.394L22.108 40.2h-6.704c-.933 0-1.69-.791-1.69-1.767v-10.58c0-.976.757-1.767 1.69-1.767h6.704zm7.54 6.534c4.138 4.309 4.138 11.315 0 15.623-.654.68-1.7.665-2.335-.034a1.856 1.856 0 01.033-2.499c2.806-2.921 2.806-7.636 0-10.557a1.854 1.854 0 01-.033-2.498c.636-.7 1.68-.716 2.334-.035z" +})); + +function SvgIconFileAudio(props) { + return React__default.createElement("svg", _extends$p({ + viewBox: "0 0 64 64" + }, props), _ref$p); +} + +function _extends$q() { _extends$q = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$q.apply(this, arguments); } + +var _ref$q = +/*#__PURE__*/ +React__default.createElement("g", { + fill: "none", + fillRule: "evenodd" +}, React__default.createElement("rect", { + fill: "#FFF", + rx: 8.571 +}), React__default.createElement("path", { + className: "icon-file-document_svg__fill", + fill: "#000", + d: "M37.295 12.952c.464 0 .906.182 1.223.501l9.029 9.107c.291.293.453.68.453 1.083v22.785c0 2.53-2.073 4.62-4.685 4.62h-22.63c-2.612 0-4.685-2.09-4.685-4.62V17.572c0-2.53 2.073-4.62 4.685-4.62zm1.618 25.143H24.325l-.134.007c-.748.07-1.334.731-1.334 1.536 0 .852.657 1.543 1.468 1.543h14.588l.134-.006c.748-.071 1.334-.732 1.334-1.537 0-.852-.657-1.543-1.468-1.543zm0-6.095H24.325l-.134.006c-.748.071-1.334.732-1.334 1.537 0 .852.657 1.543 1.468 1.543h14.588l.134-.007c.748-.07 1.334-.731 1.334-1.536 0-.852-.657-1.543-1.468-1.543zm-7.672-6.095h-6.857l-.139.006a1.537 1.537 0 00-1.388 1.537c0 .852.684 1.542 1.527 1.542h6.857l.14-.006a1.536 1.536 0 001.387-1.536c0-.852-.684-1.543-1.527-1.543z" +})); + +function SvgIconFileDocument(props) { + return React__default.createElement("svg", _extends$q({ + viewBox: "0 0 64 64" + }, props), _ref$q); +} + +function _extends$r() { _extends$r = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$r.apply(this, arguments); } + +var _ref$r = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-freeze_svg__fill", + d: "M41.636 3.226l.251.222a2.668 2.668 0 01.222 3.52l-.222.251-7.219 7.218V27.38l11.209-6.472 2.643-9.86a2.667 2.667 0 015.218 1.051l-.067.329-2.237 8.35 8.352 2.24a2.668 2.668 0 011.952 2.938l-.067.328a2.667 2.667 0 01-2.937 1.952l-.329-.066-9.861-2.643L37.334 32l11.209 6.47 9.862-2.64.329-.067a2.667 2.667 0 012.937 1.952l.067.328a2.669 2.669 0 01-1.952 2.938l-8.353 2.237 2.238 8.353.067.329a2.666 2.666 0 01-5.218 1.052l-2.643-9.861-11.209-6.472v12.944l7.219 7.218a2.667 2.667 0 01-3.52 3.993l-.251-.222L32 54.437l-6.114 6.115a2.666 2.666 0 01-3.52.222l-.251-.222a2.666 2.666 0 01-.222-3.52l.222-.251 7.218-7.22V36.62l-11.209 6.47-2.642 9.863a2.666 2.666 0 01-5.218-1.052l.067-.329 2.236-8.351-8.35-2.24a2.665 2.665 0 01-1.953-2.937l.067-.328a2.665 2.665 0 012.937-1.952l.329.066 9.861 2.642L26.667 32l-11.209-6.472-9.86 2.643-.329.066a2.665 2.665 0 01-2.937-1.952l-.067-.328a2.668 2.668 0 011.952-2.938l8.35-2.239-2.235-8.351-.067-.329a2.667 2.667 0 015.218-1.052l2.642 9.862 11.209 6.47V14.439L22.116 7.22a2.665 2.665 0 010-3.771 2.666 2.666 0 013.52-.222l.251.222 6.114 6.112 6.115-6.112a2.666 2.666 0 013.52-.222z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconFreeze(props) { + return React__default.createElement("svg", _extends$r({ + viewBox: "0 0 64 64" + }, props), _ref$r); +} + +function _extends$s() { _extends$s = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$s.apply(this, arguments); } + +var _ref$s = +/*#__PURE__*/ +React__default.createElement("g", { + transform: "translate(.286 .286)", + fill: "none", + fillRule: "evenodd" +}, React__default.createElement("circle", { + cx: 32, + cy: 32, + r: 32, + fill: "#FFF" +}), React__default.createElement("path", { + className: "icon-gif_svg__fill", + fill: "#000", + d: "M23.552 40.208c1.25 0 2.389-.185 3.417-.557 1.028-.371 1.823-.894 2.385-1.568v-6.052h-5.969v2.302h2.844v2.615c-.5.5-1.337.75-2.51.75-1.167 0-2.052-.406-2.657-1.219-.604-.812-.906-2.014-.906-3.604v-.969c.007-1.576.288-2.764.844-3.562.556-.799 1.365-1.198 2.427-1.198.833 0 1.488.201 1.964.604.475.403.783 1.038.922 1.906h3.041c-.187-1.639-.788-2.887-1.802-3.745-1.014-.857-2.42-1.286-4.219-1.286-1.291 0-2.418.293-3.38.88-.962.587-1.698 1.434-2.208 2.542-.51 1.108-.766 2.418-.766 3.932v1.031c.014 1.473.29 2.754.828 3.844.538 1.09 1.302 1.922 2.292 2.495.99.573 2.14.86 3.453.86zM35.208 40V24.833h-3.125V40h3.125zm6.021 0v-6.198h6v-2.52h-6v-3.917h6.75v-2.532h-9.875V40h3.125z" +})); + +function SvgIconGif(props) { + return React__default.createElement("svg", _extends$s({ + viewBox: "0 0 65 65" + }, props), _ref$s); +} + +function _extends$t() { _extends$t = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$t.apply(this, arguments); } + +var _ref$t = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-info_svg__fill", + d: "M32 2.667C48.2 2.667 61.333 15.8 61.333 32S48.2 61.333 32 61.333 2.667 48.2 2.667 32 15.8 2.667 32 2.667zM32 8C18.745 8 8 18.745 8 32s10.745 24 24 24 24-10.745 24-24S45.255 8 32 8zm1.667 21.333a1 1 0 011 1v14a1 1 0 01-1 1h-3.334a1 1 0 01-1-1v-14a1 1 0 011-1h3.334zm-1.667-8a2.667 2.667 0 110 5.334 2.667 2.667 0 010-5.334z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconInfo(props) { + return React__default.createElement("svg", _extends$t({ + viewBox: "0 0 64 64" + }, props), _ref$t); +} + +function _extends$u() { _extends$u = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$u.apply(this, arguments); } + +var _ref$u = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-leave_svg__fill", + d: "M32 5.333a2.667 2.667 0 01.311 5.316l-.311.018H10.667a2.67 2.67 0 00-2.65 2.355L8 13.333v37.334a2.667 2.667 0 002.356 2.648l.31.018H32a2.667 2.667 0 01.311 5.316l-.311.018H10.667a8.001 8.001 0 01-7.987-7.53l-.013-.47V13.333a8 8 0 017.53-7.986l.47-.014H32zm17.634 13.893l.252.222 10.666 10.666a2.666 2.666 0 01.222 3.52l-.222.252-10.666 10.666a2.666 2.666 0 01-3.993-3.52l.221-.251 4.78-4.782L20 36a2.667 2.667 0 01-.311-5.315l.311-.018h33.56l-7.446-7.448a2.668 2.668 0 01-.221-3.52l.221-.251a2.666 2.666 0 013.52-.222z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconLeave(props) { + return React__default.createElement("svg", _extends$u({ + viewBox: "0 0 64 64" + }, props), _ref$u); +} + +function _extends$v() { _extends$v = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$v.apply(this, arguments); } + +var _ref$v = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-members_svg__fill", + d: "M34.667 37.333c7.17 0 13.018 5.66 13.32 12.755l.013.579V56a2.667 2.667 0 01-5.315.311L42.667 56v-5.333c0-4.26-3.33-7.743-7.53-7.987l-.47-.013H13.333a8 8 0 00-7.986 7.53l-.014.47V56a2.667 2.667 0 01-5.316.311L0 56v-5.333c0-7.17 5.66-13.019 12.755-13.321l.578-.013h21.334zM54 37.765a13.333 13.333 0 019.986 12.297l.014.605V56a2.667 2.667 0 01-5.315.311L58.667 56v-5.331a8 8 0 00-6-7.74A2.667 2.667 0 1154 37.765zM24 5.333c7.364 0 13.333 5.97 13.333 13.334C37.333 26.03 31.363 32 24 32c-7.364 0-13.333-5.97-13.333-13.333 0-7.364 5.97-13.334 13.333-13.334zm19.328.43a13.333 13.333 0 010 25.834 2.667 2.667 0 11-1.323-5.167 8 8 0 000-15.5 2.667 2.667 0 111.323-5.167zM24 10.667a8 8 0 100 16 8 8 0 000-16z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconMembers(props) { + return React__default.createElement("svg", _extends$v({ + viewBox: "0 0 64 64" + }, props), _ref$v); +} + +function _extends$w() { _extends$w = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$w.apply(this, arguments); } + +var _ref$w = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-message_svg__fill", + d: "M32 2.667C48.2 2.667 61.333 15.8 61.333 32S48.2 61.333 32 61.333c-4.455 0-8.679-.993-12.461-2.77l-1.753.58c-5.965 1.912-10.133 2.572-12.504 1.981-2.799-.698-3.351-1.919-1.657-3.663 1.171-1.396 2.147-3.14 2.928-5.234.622-1.668.377-4.001-.737-7A29.15 29.15 0 012.666 32C2.667 15.8 15.8 2.667 32 2.667zM32 8C18.745 8 8 18.745 8 32c0 3.5.747 6.88 2.168 9.978l.405.837.137.271.106.285c1.517 4.085 1.89 7.622.734 10.72l-.382.972-.192.433.235-.05a62.067 62.067 0 004.886-1.363l1.721-.568 2.04-.696 1.95.917A23.882 23.882 0 0032 56c13.255 0 24-10.745 24-24S45.255 8 32 8zM18.667 29.333a2.667 2.667 0 11-.001 5.333 2.667 2.667 0 01.001-5.333zm13.333 0a2.667 2.667 0 110 5.334 2.667 2.667 0 010-5.334zm13.333 0a2.667 2.667 0 110 5.334 2.667 2.667 0 010-5.334z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconMessage(props) { + return React__default.createElement("svg", _extends$w({ + viewBox: "0 0 64 64" + }, props), _ref$w); +} + +function _extends$x() { _extends$x = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$x.apply(this, arguments); } + +var _ref$x = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-moderations_svg__fill", + d: "M18.667 34.667a2.667 2.667 0 01.311 5.316l-.311.017h-5.334v16a2.667 2.667 0 01-5.316.311L8 56V40H2.667a2.667 2.667 0 01-.311-5.315l.31-.018h16zM32 29.333a2.667 2.667 0 012.649 2.356l.018.311v24a2.667 2.667 0 01-5.316.311L29.333 56V32A2.667 2.667 0 0132 29.333zM61.333 40a2.667 2.667 0 01.311 5.315l-.31.018h-5.335L56 56a2.667 2.667 0 01-5.315.311L50.667 56l-.001-10.668-5.333.001a2.667 2.667 0 01-.311-5.316l.311-.017h16zm-8-34.667a2.67 2.67 0 012.65 2.356L56 8v24a2.667 2.667 0 01-5.315.311L50.667 32V8a2.667 2.667 0 012.666-2.667zm-42.666 0a2.667 2.667 0 012.648 2.356l.018.311v18.667a2.667 2.667 0 01-5.316.311L8 26.667V8a2.667 2.667 0 012.667-2.667zm21.333 0a2.667 2.667 0 012.649 2.356l.018.311-.001 10.666H40a2.668 2.668 0 01.311 5.317L40 24H24a2.667 2.667 0 01-.311-5.315l.311-.018h5.333V8A2.667 2.667 0 0132 5.333z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconModerations(props) { + return React__default.createElement("svg", _extends$x({ + viewBox: "0 0 64 64" + }, props), _ref$x); +} + +function _extends$y() { _extends$y = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$y.apply(this, arguments); } + +var _ref$y = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-more_svg__fill", + d: "M32 45.333a5.333 5.333 0 110 10.666 5.333 5.333 0 010-10.666zM32 28a5.333 5.333 0 110 10.668A5.333 5.333 0 0132 28zm0-17.333c2.946 0 5.333 2.387 5.333 5.333S34.946 21.333 32 21.333 26.667 18.946 26.667 16s2.387-5.333 5.333-5.333z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconMore(props) { + return React__default.createElement("svg", _extends$y({ + viewBox: "0 0 64 64" + }, props), _ref$y); +} + +function _extends$z() { _extends$z = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$z.apply(this, arguments); } + +var _ref$z = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-mute_svg__fill", + d: "M55.62 19.616l.067.123A26.552 26.552 0 0158.667 32c0 4.326-1.03 8.41-2.864 12.025-1.012 2.726-1.235 4.847-.67 6.363.71 1.903 1.598 3.49 2.662 4.758 1.54 1.586 1.039 2.696-1.506 3.33-2.09.521-5.716-.027-10.879-1.646l-.488-.155-1.594-.527A26.56 26.56 0 0132 58.667a26.55 26.55 0 01-12.326-3.014l-.059-.03 4-4A21.24 21.24 0 0032 53.333c2.993 0 5.89-.614 8.562-1.786l.498-.226 1.925-.905 3.613 1.196.695.219c.728.225 1.414.423 2.054.595l.472.125.485.121-.167-.42-.2-.594c-.814-2.685-.484-5.681.713-9.065l.154-.425.106-.284.528-1.084a21.188 21.188 0 001.895-8.8 21.24 21.24 0 00-1.71-8.385l3.997-3.999zm2.266-13.502a2.668 2.668 0 01.221 3.52l-.221.252-48 48a2.668 2.668 0 01-3.993-3.52l.221-.252 5.238-5.237a26.563 26.563 0 01-6.015-16.412L5.333 32C5.333 17.272 17.273 5.333 32 5.333a26.55 26.55 0 0116.877 6.02l5.237-5.239a2.668 2.668 0 013.772 0zM32 10.667c-11.782 0-21.333 9.55-21.333 21.333 0 4.836 1.614 9.401 4.48 13.084l29.936-29.938A21.248 21.248 0 0032 10.666z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconMute(props) { + return React__default.createElement("svg", _extends$z({ + viewBox: "0 0 64 64" + }, props), _ref$z); +} + +function _extends$A() { _extends$A = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$A.apply(this, arguments); } + +var _ref$A = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-notifications_svg__fill", + d: "M36.613 53.333c2.056 0 3.338 2.227 2.307 4.005a8 8 0 01-13.84 0c-.98-1.689.129-3.783 2.004-3.988l.303-.017h9.226zM32 2.667c11.56 0 20.972 9.194 21.323 20.669l.01.664v13.333a5.334 5.334 0 004.936 5.319l.753.033c2.963.318 3.077 4.616.342 5.24l-.342.056-.355.019H5.333l-.355-.019c-3.082-.33-3.082-4.965 0-5.296l.753-.033a5.335 5.335 0 004.92-4.9l.016-.419V24c0-11.782 9.55-21.333 21.333-21.333zM32 8c-8.636 0-15.674 6.842-15.989 15.4L16 24v13.333c0 1.562-.336 3.046-.939 4.383l-.275.564-.218.387h34.861l-.215-.387a10.583 10.583 0 01-1.146-3.74l-.055-.674-.013-.533V24c0-8.837-7.163-16-16-16z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconNotifications(props) { + return React__default.createElement("svg", _extends$A({ + viewBox: "0 0 64 64" + }, props), _ref$A); +} + +function _extends$B() { _extends$B = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$B.apply(this, arguments); } + +var _ref$B = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-notifications-off-filled_svg__fill", + d: "M36.613 53.333c2.056 0 3.338 2.227 2.307 4.005a8 8 0 01-13.84 0c-.98-1.689.129-3.783 2.004-3.988l.303-.017h9.226zM32 2.667c7.173 0 13.52 3.54 17.387 8.97l5.686-5.687a2.105 2.105 0 012.85-.117l.127.117a2.105 2.105 0 010 2.977L8.927 58.05c-.78.781-2.023.82-2.85.117l-.127-.117a2.105 2.105 0 010-2.977L13.023 48h-7.69l-.355-.019c-3.082-.33-3.082-4.965 0-5.296l.753-.033a5.335 5.335 0 004.92-4.9l.016-.419V24c0-11.782 9.55-21.333 21.333-21.333zm20.85 16.795c.271 1.253.433 2.548.473 3.874l.01.664v13.333a5.334 5.334 0 004.936 5.319l.753.033c2.963.318 3.077 4.616.342 5.24l-.342.056-.355.019H24.31l28.54-28.538z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconNotificationsOffFilled(props) { + return React__default.createElement("svg", _extends$B({ + viewBox: "0 0 64 64" + }, props), _ref$B); +} + +function _extends$C() { _extends$C = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$C.apply(this, arguments); } + +var _ref$C = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-operator_svg__fill", + d: "M29.83 6.45a2.667 2.667 0 014.34 0l11.697 16.374L57 13.918c1.88-1.504 4.573.054 4.32 2.35l-.047.29-8 37.334A2.666 2.666 0 0150.666 56H13.333a2.666 2.666 0 01-2.607-2.108l-8-37.333c-.525-2.452 2.315-4.207 4.273-2.641l11.132 8.906zM32 12.587l-11.163 15.63a2.667 2.667 0 01-3.836.532l-7.497-5.997 5.984 27.915h33.021l5.984-27.915L47 28.749a2.667 2.667 0 01-3.632-.281l-.204-.251L32 12.587zM32 32a5.333 5.333 0 110 10.668A5.333 5.333 0 0132 32z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconOperator(props) { + return React__default.createElement("svg", _extends$C({ + viewBox: "0 0 64 64" + }, props), _ref$C); +} + +function _extends$D() { _extends$D = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$D.apply(this, arguments); } + +var _ref$D = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-photo_svg__fill", + d: "M50.667 5.333a8 8 0 018 8v37.334a8 8 0 01-8 8H13.333a8 8 0 01-8-8V13.333a8 8 0 018-8zm-8 25.107L19.77 53.332l30.896.001a2.667 2.667 0 002.661-2.498l.005-.168v-9.564L42.666 30.44zm8-19.773H13.333a2.667 2.667 0 00-2.666 2.666v37.334c0 1.143.72 2.119 1.731 2.498L40.781 24.78a2.668 2.668 0 013.52-.222l.251.222 8.78 8.78.001-20.228a2.667 2.667 0 00-2.498-2.661l-.168-.005zm-28 5.333a6.666 6.666 0 110 13.333 6.666 6.666 0 010-13.333zm0 5.333a1.334 1.334 0 100 2.667 1.334 1.334 0 000-2.667z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconPhoto(props) { + return React__default.createElement("svg", _extends$D({ + viewBox: "0 0 64 64" + }, props), _ref$D); +} + +function _extends$E() { _extends$E = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$E.apply(this, arguments); } + +var _ref$E = +/*#__PURE__*/ +React__default.createElement("g", { + transform: "translate(.286 .286)", + fill: "none", + fillRule: "evenodd" +}, React__default.createElement("circle", { + cx: 32, + cy: 32, + r: 32, + fill: "#FFF" +}), React__default.createElement("path", { + className: "icon-play_svg__fill", + fill: "#000", + d: "M44.468 34.271c1.154-.72 1.151-1.902.008-2.633l-19.76-12.635c-1.149-.735-2.067-.228-2.05 1.148l.318 25.018c.017 1.37.968 1.894 2.12 1.176l19.364-12.074z" +})); + +function SvgIconPlay(props) { + return React__default.createElement("svg", _extends$E({ + viewBox: "0 0 65 65" + }, props), _ref$E); +} + +function _extends$F() { _extends$F = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$F.apply(this, arguments); } + +var _ref$F = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-plus_svg__fill", + d: "M34.667 29.333h18.666c3.556 0 3.556 5.334 0 5.334H34.667v18.666c0 3.556-5.334 3.556-5.334 0V34.667H10.667c-3.556 0-3.556-5.334 0-5.334h18.666V10.667c0-3.556 5.334-3.556 5.334 0v18.666z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconPlus(props) { + return React__default.createElement("svg", _extends$F({ + viewBox: "0 0 64 64" + }, props), _ref$F); +} + +function _extends$G() { _extends$G = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$G.apply(this, arguments); } + +var _ref$G = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-question_svg__fill", + d: "M32 61.333C15.8 61.333 2.667 48.2 2.667 32S15.8 2.667 32 2.667 61.333 15.8 61.333 32 48.2 61.333 32 61.333zM32 56c13.255 0 24-10.745 24-24S45.255 8 32 8 8 18.745 8 32s10.745 24 24 24zm2.213-18.63a2.667 2.667 0 11-5.333 0v-2.69c0-1.148.734-2.168 1.823-2.53.173-.058.532-.195 1.01-.407.809-.36 1.616-.79 2.354-1.282 1.835-1.223 2.813-2.528 2.813-3.786a5.333 5.333 0 00-10.364-1.777 2.667 2.667 0 01-5.032-1.77 10.668 10.668 0 0120.729 3.551c0 3.413-2.022 6.109-5.187 8.22a21.268 21.268 0 01-2.813 1.578v.893zm-5.333 7.523a2.667 2.667 0 115.333 0v.44a2.667 2.667 0 11-5.333 0v-.44z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconQuestion(props) { + return React__default.createElement("svg", _extends$G({ + viewBox: "0 0 64 64" + }, props), _ref$G); +} + +function _extends$H() { _extends$H = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$H.apply(this, arguments); } + +var _ref$H = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-refresh_svg__fill", + d: "M46.14 14.43l.562.537 6.631 6.167v-7.8a2.67 2.67 0 012.356-2.65l.311-.017a2.667 2.667 0 012.649 2.355l.018.311v16a2.67 2.67 0 01-2.356 2.65L56 32H40a2.667 2.667 0 01-.311-5.315l.311-.018h11.452l-8.44-7.85c-5.964-5.893-15.168-7.182-22.563-3.156-7.38 4.018-11.172 12.357-9.314 20.455 1.859 8.107 8.935 14.032 17.362 14.518 8.43.487 16.162-4.585 18.967-12.426a2.667 2.667 0 015.022 1.797C48.88 50.082 38.973 56.582 28.19 55.959c-10.785-.623-19.862-8.222-22.254-18.65C3.542 26.872 8.426 16.135 17.9 10.977c9.227-5.024 20.65-3.579 28.241 3.453z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconRefresh(props) { + return React__default.createElement("svg", _extends$H({ + viewBox: "0 0 64 64" + }, props), _ref$H); +} + +function _extends$I() { _extends$I = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$I.apply(this, arguments); } + +var _ref$I = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-remove_svg__fill", + d: "M32 2.667C48.2 2.667 61.333 15.8 61.333 32S48.2 61.333 32 61.333 2.667 48.2 2.667 32 15.8 2.667 32 2.667zm9.886 19.447a2.668 2.668 0 00-3.772 0L32 28.23l-6.114-6.115-.134-.124a2.667 2.667 0 00-3.638.124l-.124.134a2.667 2.667 0 00.124 3.638L28.23 32l-6.115 6.114-.124.134a2.667 2.667 0 00.124 3.638l.134.124a2.667 2.667 0 003.638-.124L32 35.77l6.114 6.115.134.124a2.667 2.667 0 003.638-.124l.124-.134a2.667 2.667 0 00-.124-3.638L35.77 32l6.115-6.114.124-.134a2.667 2.667 0 00-.124-3.638z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconRemove(props) { + return React__default.createElement("svg", _extends$I({ + viewBox: "0 0 64 64" + }, props), _ref$I); +} + +function _extends$J() { _extends$J = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$J.apply(this, arguments); } + +var _ref$J = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-search_svg__fill", + d: "M26.667 48C14.885 48 5.333 38.449 5.333 26.667c0-11.782 9.552-21.334 21.334-21.334S48 14.885 48 26.667c0 4.93-1.672 9.469-4.48 13.081l13.67 13.67a2.668 2.668 0 01-3.772 3.772l-13.67-13.67A21.239 21.239 0 0126.667 48zm0-5.333c8.836 0 16-7.164 16-16 0-8.837-7.164-16-16-16-8.837 0-16 7.163-16 16 0 8.836 7.163 16 16 16z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconSearch(props) { + return React__default.createElement("svg", _extends$J({ + viewBox: "0 0 64 64" + }, props), _ref$J); +} + +function _extends$K() { _extends$K = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$K.apply(this, arguments); } + +var _ref$K = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-send_svg__fill", + d: "M59.795 29.43L7.329 2.979C4.691 1.802 1.76 4.153 2.932 6.798l6.925 18.609a2 2 0 001.544 1.275l32.273 5.394L11.4 37.47a1.998 1.998 0 00-1.544 1.275L2.932 57.353c-.879 2.645 1.76 4.997 4.397 3.527l52.466-26.453c2.051-.882 2.051-3.82 0-4.996z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconSend(props) { + return React__default.createElement("svg", _extends$K({ + viewBox: "0 0 64 64" + }, props), _ref$K); +} + +function _extends$L() { _extends$L = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$L.apply(this, arguments); } + +var _ref$L = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-settings-filled_svg__fill", + d: "M32 2.667A5.332 5.332 0 0137.333 8v.24A4.4 4.4 0 0040 12.267a4.4 4.4 0 004.853-.88l.16-.16a5.332 5.332 0 017.547 0 5.333 5.333 0 010 7.546l-.16.16a4.401 4.401 0 00-.88 4.854V24a4.4 4.4 0 004.027 2.667H56c2.946 0 5.333 2.387 5.333 5.333S58.946 37.333 56 37.333h-.24A4.4 4.4 0 0051.733 40a4.4 4.4 0 00.88 4.853l.16.16a5.332 5.332 0 010 7.547 5.333 5.333 0 01-7.546 0l-.16-.16a4.401 4.401 0 00-4.854-.88 4.397 4.397 0 00-2.666 4.027V56a5.333 5.333 0 01-10.667 0v-.24A4.4 4.4 0 0024 51.733a4.4 4.4 0 00-4.853.88l-.16.16a5.332 5.332 0 01-7.547 0 5.333 5.333 0 010-7.546l.16-.16a4.401 4.401 0 00.88-4.854 4.397 4.397 0 00-4.027-2.666H8A5.333 5.333 0 018 26.88h.24A4.4 4.4 0 0012.267 24a4.4 4.4 0 00-.88-4.853l-.16-.16a5.332 5.332 0 010-7.547 5.333 5.333 0 017.546 0l.16.16a4.401 4.401 0 004.854.88H24a4.4 4.4 0 002.667-4.027V8A5.332 5.332 0 0132 2.667zM32 24a8 8 0 100 16 8 8 0 000-16z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconSettingsFilled(props) { + return React__default.createElement("svg", _extends$L({ + viewBox: "0 0 64 64" + }, props), _ref$L); +} + +function _extends$M() { _extends$M = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$M.apply(this, arguments); } + +var _ref$M = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-spinner_svg__fill", + d: "M32 61.333C48.2 61.333 61.333 48.2 61.333 32S48.2 2.667 32 2.667 2.667 15.8 2.667 32a2.838 2.838 0 105.678 0C8.344 18.935 18.934 8.344 32 8.344c13.065 0 23.656 10.591 23.656 23.656S45.065 55.656 32 55.656a2.838 2.838 0 100 5.677z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconSpinner(props) { + return React__default.createElement("svg", _extends$M({ + viewBox: "0 0 64 64" + }, props), _ref$M); +} + +function _extends$N() { _extends$N = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$N.apply(this, arguments); } + +var _ref$N = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-supergroup_svg__fill", + d: "M36.889 43.013c6.608 0 12.121 4.685 12.43 10.734l.014.537V58a2.667 2.667 0 01-5.316.311L44 58v-3.716c0-3.07-2.87-5.718-6.636-5.925l-.475-.013H27.11c-3.838 0-6.86 2.525-7.096 5.557l-.015.381V58a2.667 2.667 0 01-5.315.311L14.667 58v-3.716c0-6.126 5.324-10.986 11.864-11.26l.58-.011h9.778zm18.578-17.291c.266 0 .53.04.784.118 4.632 1.426 7.518 4.801 7.736 9.688l.013.594v12.8a2.667 2.667 0 01-5.315.311l-.018-.311V36.124c-.002-2.595-1.163-4.171-3.528-5.034l-.104-.037-2.502.002a2.667 2.667 0 01-2.648-2.356l-.018-.31a2.67 2.67 0 012.355-2.65l.311-.017h2.934zm-44 0l.31.018a2.666 2.666 0 012.356 2.648l-.018.311a2.666 2.666 0 01-2.648 2.356l-2.51-.002-.119.042c-2.246.85-3.503 2.574-3.505 5.147v12.68l-.018.31A2.666 2.666 0 010 48.922V36.24l.014-.591c.225-4.874 3.203-8.415 7.712-9.809.255-.078.52-.118.788-.118h2.953zM32 19.958c5.512 0 10 4.409 10 9.871 0 5.463-4.488 9.872-10 9.872s-10-4.41-10-9.872 4.488-9.871 10-9.871zm0 5.333c-2.588 0-4.667 2.043-4.667 4.538 0 2.496 2.08 4.538 4.667 4.538 2.588 0 4.667-2.042 4.667-4.538 0-2.495-2.08-4.538-4.667-4.538zM17.333 2.667c5.513 0 10 4.409 10 9.871 0 5.462-4.487 9.871-10 9.871-5.512 0-10-4.409-10-9.871 0-5.462 4.488-9.871 10-9.871zm29.334 0c5.512 0 10 4.409 10 9.871 0 5.462-4.488 9.871-10 9.871-5.513 0-10-4.409-10-9.871 0-5.462 4.487-9.871 10-9.871zM17.333 8c-2.587 0-4.666 2.042-4.666 4.538 0 2.496 2.079 4.538 4.666 4.538 2.588 0 4.667-2.042 4.667-4.538C22 10.042 19.921 8 17.333 8zm29.334 0C44.079 8 42 10.042 42 12.538c0 2.496 2.079 4.538 4.667 4.538 2.587 0 4.666-2.042 4.666-4.538 0-2.496-2.079-4.538-4.666-4.538z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconSupergroup(props) { + return React__default.createElement("svg", _extends$N({ + viewBox: "0 0 64 64" + }, props), _ref$N); +} + +function _extends$O() { _extends$O = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$O.apply(this, arguments); } + +var _ref$O = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-thumbnail-none_svg__fill", + d: "M34.667 5.333a2.667 2.667 0 010 5.334H13.333a2.667 2.667 0 00-2.666 2.666v37.334c0 1.143.72 2.118 1.73 2.497l28.384-28.383a2.667 2.667 0 013.771 0l8.781 8.78v-4.228a2.667 2.667 0 012.498-2.661l.169-.005a2.667 2.667 0 012.667 2.666v21.334a8 8 0 01-8 8H13.33a8 8 0 01-7.998-8V13.333a8 8 0 018-8zm8 25.105L19.77 53.333h30.897a2.667 2.667 0 002.661-2.498l.005-.168v-9.563L42.667 30.438zM22.667 16a6.666 6.666 0 110 13.333 6.666 6.666 0 010-13.333zm0 5.333a1.334 1.334 0 100 2.667 1.334 1.334 0 000-2.667zM56.78 3.448a2.665 2.665 0 013.771 0 2.665 2.665 0 010 3.771l-4.782 4.78 4.782 4.782c.998.998 1.04 2.59.125 3.638l-.125.133a2.665 2.665 0 01-3.771 0l-4.782-4.781-4.78 4.781a2.667 2.667 0 01-3.638.125l-.133-.125a2.665 2.665 0 010-3.771L48.228 12l-4.78-4.781a2.667 2.667 0 01-.125-3.638l.125-.133a2.665 2.665 0 013.771 0l4.78 4.78z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconThumbnailNone(props) { + return React__default.createElement("svg", _extends$O({ + viewBox: "0 0 64 64" + }, props), _ref$O); +} + +function _extends$P() { _extends$P = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$P.apply(this, arguments); } + +var _ref$P = +/*#__PURE__*/ +React__default.createElement("g", { + fill: "none", + fillRule: "evenodd" +}, React__default.createElement("rect", { + className: "icon-toggleoff_svg__fill", + width: 80, + height: 40, + x: 4, + y: 4, + fill: "#000", + rx: 20 +}), React__default.createElement("circle", { + cx: 24, + cy: 24, + r: 12, + fill: "#FFF" +}), React__default.createElement("path", { + fill: "#FFF", + d: "M64 4c11.046 0 20 8.954 20 20s-8.954 20-20 20H24C12.954 44 4 35.046 4 24S12.954 4 24 4h40zm0 2H24C14.059 6 6 14.059 6 24c0 9.764 7.774 17.712 17.47 17.992L24 42h40c9.941 0 18-8.059 18-18 0-9.764-7.774-17.712-17.47-17.992L64 6z" +}), React__default.createElement("path", { + className: "icon-toggleoff_svg__fill", + fill: "#000", + d: "M64 0H24C10.745 0 0 10.745 0 24s10.745 24 24 24h40c13.255 0 24-10.745 24-24S77.255 0 64 0zm0 4c11.046 0 20 8.954 20 20s-8.954 20-20 20H24C12.954 44 4 35.046 4 24S12.954 4 24 4h40z" +})); + +function SvgIconToggleoff(props) { + return React__default.createElement("svg", _extends$P({ + viewBox: "0 0 88 48" + }, props), _ref$P); +} + +function _extends$Q() { _extends$Q = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$Q.apply(this, arguments); } + +var _ref$Q = +/*#__PURE__*/ +React__default.createElement("g", { + fill: "none", + fillRule: "evenodd" +}, React__default.createElement("rect", { + className: "icon-toggleon_svg__fill", + width: 80, + height: 40, + x: 4, + y: 4, + fill: "#000", + rx: 20 +}), React__default.createElement("circle", { + cx: 64, + cy: 24, + r: 12, + fill: "#FFF" +}), React__default.createElement("path", { + fill: "#FFF", + d: "M64 4c11.046 0 20 8.954 20 20s-8.954 20-20 20H24C12.954 44 4 35.046 4 24S12.954 4 24 4h40zm0 2H24C14.059 6 6 14.059 6 24c0 9.764 7.774 17.712 17.47 17.992L24 42h40c9.941 0 18-8.059 18-18 0-9.764-7.774-17.712-17.47-17.992L64 6z" +}), React__default.createElement("path", { + className: "icon-toggleon_svg__fill", + fill: "#000", + d: "M64 0H24C10.745 0 0 10.745 0 24s10.745 24 24 24h40c13.255 0 24-10.745 24-24S77.255 0 64 0zm0 4c11.046 0 20 8.954 20 20s-8.954 20-20 20H24C12.954 44 4 35.046 4 24S12.954 4 24 4h40z" +})); + +function SvgIconToggleon(props) { + return React__default.createElement("svg", _extends$Q({ + viewBox: "0 0 88 48" + }, props), _ref$Q); +} + +function _extends$R() { _extends$R = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$R.apply(this, arguments); } + +var _ref$R = +/*#__PURE__*/ +React__default.createElement("path", { + className: "icon-user_svg__fill", + d: "M42.667 37.333c7.17 0 13.018 5.66 13.32 12.755l.013.579V56a2.667 2.667 0 01-5.315.311L50.667 56v-5.333c0-4.26-3.33-7.743-7.53-7.987l-.47-.013H21.333a8 8 0 00-7.986 7.53l-.014.47V56a2.667 2.667 0 01-5.316.311L8 56v-5.333c0-7.17 5.66-13.019 12.755-13.321l.578-.013h21.334zM32 5.333c7.364 0 13.333 5.97 13.333 13.334C45.333 26.03 39.363 32 32 32c-7.364 0-13.333-5.97-13.333-13.333 0-7.364 5.97-13.334 13.333-13.334zm0 5.334a8 8 0 100 16 8 8 0 000-16z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconUser(props) { + return React__default.createElement("svg", _extends$R({ + viewBox: "0 0 64 64" + }, props), _ref$R); +} + +var Colors = { + DEFAULT: 'DEFAULT', + PRIMARY: 'PRIMARY', + SECONDARY: 'SECONDARY', + CONTENT: 'CONTENT', + CONTENT_INVERSE: 'CONTENT_INVERSE', + WHITE: 'WHITE', + SENT: 'SENT', + READ: 'READ', + ON_BACKGROUND_2: 'ON_BACKGROUND_2', + ON_BACKGROUND_3: 'ON_BACKGROUND_3', + BACKGROUND_3: 'BACKGROUND_3' +}; + +function changeColorToClassName(color) { + switch (color) { + case Colors.PRIMARY: + return 'sendbird-color--primary'; + + case Colors.SECONDARY: + return 'sendbird-color--secondary'; + + case Colors.CONTENT: + return 'sendbird-color--content'; + + case Colors.CONTENT_INVERSE: + return 'sendbird-color--content-inverse'; + + case Colors.WHITE: + return 'sendbird-color--white'; + + case Colors.SENT: + return 'sendbird-color--sent'; + + case Colors.READ: + return 'sendbird-color--read'; + + case Colors.ON_BACKGROUND_2: + return 'sendbird-color--on-background-2'; + + case Colors.ON_BACKGROUND_3: + return 'sendbird-color--on-background-3'; + + case Colors.BACKGROUND_3: + return 'sendbird-color--background-3'; + + default: + return ''; + } +} + +function changeTypeToIconComponent(type) { + switch (type) { + case Type.ADD: + return React__default.createElement(SvgIconAdd, null); + + case Type.ARROW_LEFT: + return React__default.createElement(SvgIconArrowLeft, null); + + case Type.ATTACH: + return React__default.createElement(SvgIconAttach, null); + + case Type.BAN: + return React__default.createElement(SvgIconBan, null); + + case Type.BROADCAST: + return React__default.createElement(SvgIconBroadcast, null); + + case Type.CAMERA: + return React__default.createElement(SvgIconCamera, null); + + case Type.CHANNELS: + return React__default.createElement(SvgIconChannels, null); + + case Type.CHAT: + return React__default.createElement(SvgIconChat, null); + + case Type.CHAT_FILLED: + return React__default.createElement(SvgIconChatFilled, null); + + case Type.CHEVRON_DOWN: + return React__default.createElement(SvgIconChevronDown, null); + + case Type.CHEVRON_RIGHT: + return React__default.createElement(SvgIconChevronRight, null); + + case Type.CLOSE: + return React__default.createElement(SvgIconClose, null); + + case Type.COLLAPSE: + return React__default.createElement(SvgIconCollapse, null); + + case Type.COPY: + return React__default.createElement(SvgIconCopy, null); + + case Type.CREATE: + return React__default.createElement(SvgIconCreate, null); + + case Type.DELETE: + return React__default.createElement(SvgIconDelete, null); + + case Type.DISCONNECTED: + return React__default.createElement(SvgIconDisconnected, null); + + case Type.DOCUMENT: + return React__default.createElement(SvgIconDocument, null); + + case Type.DONE: + return React__default.createElement(SvgIconDone, null); + + case Type.DONE_ALL: + return React__default.createElement(SvgIconDoneAll, null); + + case Type.DOWNLOAD: + return React__default.createElement(SvgIconDownload, null); + + case Type.EDIT: + return React__default.createElement(SvgIconEdit, null); + + case Type.EMOJI_MORE: + return React__default.createElement(SvgIconEmojiMore, null); + + case Type.ERROR: + return React__default.createElement(SvgIconError, null); + + case Type.EXPAND: + return React__default.createElement(SvgIconExpand, null); + + case Type.FILE_AUDIO: + return React__default.createElement(SvgIconFileAudio, null); + + case Type.FILE_DOCUMENT: + return React__default.createElement(SvgIconFileDocument, null); + + case Type.FREEZE: + return React__default.createElement(SvgIconFreeze, null); + + case Type.GIF: + return React__default.createElement(SvgIconGif, null); + + case Type.INFO: + return React__default.createElement(SvgIconInfo, null); + + case Type.LEAVE: + return React__default.createElement(SvgIconLeave, null); + + case Type.MEMBERS: + return React__default.createElement(SvgIconMembers, null); + + case Type.MESSAGE: + return React__default.createElement(SvgIconMessage, null); + + case Type.MODERATIONS: + return React__default.createElement(SvgIconModerations, null); + + case Type.MORE: + return React__default.createElement(SvgIconMore, null); + + case Type.MUTE: + return React__default.createElement(SvgIconMute, null); + + case Type.NOTIFICATIONS: + return React__default.createElement(SvgIconNotifications, null); + + case Type.NOTIFICATIONS_OFF_FILLED: + return React__default.createElement(SvgIconNotificationsOffFilled, null); + + case Type.OPERATOR: + return React__default.createElement(SvgIconOperator, null); + + case Type.PHOTO: + return React__default.createElement(SvgIconPhoto, null); + + case Type.PLAY: + return React__default.createElement(SvgIconPlay, null); + + case Type.PLUS: + return React__default.createElement(SvgIconPlus, null); + + case Type.QUESTION: + return React__default.createElement(SvgIconQuestion, null); + + case Type.REFRESH: + return React__default.createElement(SvgIconRefresh, null); + + case Type.REMOVE: + return React__default.createElement(SvgIconRemove, null); + + case Type.SEARCH: + return React__default.createElement(SvgIconSearch, null); + + case Type.SEND: + return React__default.createElement(SvgIconSend, null); + + case Type.SETTINGS_FILLED: + return React__default.createElement(SvgIconSettingsFilled, null); + + case Type.SPINNER: + return React__default.createElement(SvgIconSpinner, null); + + case Type.SUPERGROUP: + return React__default.createElement(SvgIconSupergroup, null); + + case Type.THUMBNAIL_NONE: + return React__default.createElement(SvgIconThumbnailNone, null); + + case Type.TOGGLE_OFF: + return React__default.createElement(SvgIconToggleoff, null); + + case Type.TOGGLE_ON: + return React__default.createElement(SvgIconToggleon, null); + + case Type.USER: + return React__default.createElement(SvgIconUser, null); + + default: + return 'icon'; + // If you see this text 'icon' replace icon for it + } +} + +function Icon(_ref) { + var type = _ref.type, + width = _ref.width, + height = _ref.height, + children = _ref.children, + className = _ref.className, + onClick = _ref.onClick, + fillColor = _ref.fillColor; + var iconStyle = { + width: typeof width === 'string' ? width : "".concat(width, "px"), + minWidth: typeof width === 'string' ? width : "".concat(width, "px"), + height: typeof height === 'string' ? height : "".concat(height, "px"), + minHeight: typeof height === 'string' ? height : "".concat(height, "px") + }; + var injectingClassName = Array.isArray(className) ? className : [className]; + return React__default.createElement("div", { + onClick: onClick, + onKeyDown: onClick, + role: "button", + tabIndex: "0", + className: [].concat(LocalizationContext._toConsumableArray(injectingClassName), ['sendbird-icon', changeColorToClassName(fillColor)]).join(' '), + style: iconStyle + }, children || changeTypeToIconComponent(type)); +} +Icon.propTypes = { + type: PropTypes.oneOfType([PropTypes.oneOf(Object.keys(Type)), PropTypes.string]).isRequired, + width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + onClick: PropTypes.func, + children: PropTypes.element, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + fillColor: PropTypes.oneOf(Object.keys(Colors)) +}; +Icon.defaultProps = { + onClick: function onClick() {}, + width: 26, + height: 26, + children: null, + className: '', + fillColor: Colors.DEFAULT +}; +var IconTypes = Type; +var IconColors = Colors; + +var pxToNumber = (function (px) { + if (typeof px === 'number') { + return px; + } + + if (typeof px === 'string') { + var parsed = Number.parseFloat(px); + + if (!Number.isNaN(parsed)) { + return parsed; + } + } + + return null; +}); + +var imageRendererClassName = 'sendbird-avatar-img'; + +var defaultComponent = function defaultComponent(_a) { + var width = _a.width, + height = _a.height; + return function () { + var iconWidth = pxToNumber(width); + var iconHeight = pxToNumber(height); + + if (typeof iconWidth === 'number') { + iconWidth *= 0.575; + } + + if (typeof iconHeight === 'number') { + iconHeight *= 0.575; + } + + return React__default.createElement("div", { + className: imageRendererClassName, + style: { + width: width, + height: height + } + }, React__default.createElement(Icon, { + type: IconTypes.USER, + fillColor: IconColors.CONTENT, + width: iconWidth, + height: iconHeight + })); + }; +}; + +var AvatarInner = function AvatarInner(_a) { + var _b = _a.src, + src = _b === void 0 ? '' : _b, + _c = _a.alt, + alt = _c === void 0 ? '' : _c, + height = _a.height, + width = _a.width; + + if (typeof src === 'string') { + return React__default.createElement(ImageRenderer, { + className: imageRendererClassName, + url: src, + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + }); + } + + if (src && src.length) { + if (src.length === 1) { + return React__default.createElement(ImageRenderer, { + className: imageRendererClassName, + url: src[0], + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + }); + } + + if (src.length === 2) { + return React__default.createElement("div", { + className: "sendbird-avatar--inner__two-child" + }, React__default.createElement(ImageRenderer, { + className: imageRendererClassName, + url: src[0], + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + }), React__default.createElement(ImageRenderer, { + className: imageRendererClassName, + url: src[1], + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + })); + } + + if (src.length === 3) { + return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", { + className: "sendbird-avatar--inner__three-child--upper" + }, React__default.createElement(ImageRenderer, { + className: imageRendererClassName, + url: src[0], + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + })), React__default.createElement("div", { + className: "sendbird-avatar--inner__three-child--lower" + }, React__default.createElement(ImageRenderer, { + className: imageRendererClassName, + url: src[1], + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + }), React__default.createElement(ImageRenderer, { + className: imageRendererClassName, + url: src[2], + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + }))); + } + + return React__default.createElement("div", { + className: "sendbird-avatar--inner__four-child" + }, src.slice(0, 4).map(function (i) { + return React__default.createElement(ImageRenderer, { + className: imageRendererClassName, + url: i, + height: height, + width: width, + alt: alt, + key: LocalizationContext.uuidv4(), + defaultComponent: defaultComponent({ + height: height, + width: width + }) + }); + })); + } // default img + + + return React__default.createElement(ImageRenderer, { + className: imageRendererClassName, + url: "", + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + }); +}; + +function Avatar(_a, ref) { + var _b = _a.src, + src = _b === void 0 ? '' : _b, + _c = _a.alt, + alt = _c === void 0 ? '' : _c, + _d = _a.width, + width = _d === void 0 ? '56px' : _d, + _e = _a.height, + height = _e === void 0 ? '56px' : _e, + onClick = _a.onClick, + _f = _a.className, + className = _f === void 0 ? '' : _f; + var injectingClassName = Array.isArray(className) ? className : [className]; + return React__default.createElement("div", { + className: LocalizationContext.__spreadArrays(injectingClassName, ['sendbird-avatar']).join(' '), + ref: ref, + style: { + height: height, + width: width + }, + onClick: onClick, + role: "button", + tabIndex: 0, + onKeyDown: onClick + }, React__default.createElement(AvatarInner, { + src: src, + height: height, + width: width, + alt: alt + })); +} + +var Avatar$1 = React__default.forwardRef(Avatar); + +var Typography = { + H_1: 'H_1', + H_2: 'H_2', + SUBTITLE_1: 'SUBTITLE_1', + SUBTITLE_2: 'SUBTITLE_2', + BODY_1: 'BODY_1', + BODY_2: 'BODY_2', + BUTTON_1: 'BUTTON_1', + BUTTON_2: 'BUTTON_2', + CAPTION_1: 'CAPTION_1', + CAPTION_2: 'CAPTION_2', + CAPTION_3: 'CAPTION_3' +}; +var Colors$1 = { + ONBACKGROUND_1: 'ONBACKGROUND_1', + ONBACKGROUND_2: 'ONBACKGROUND_2', + ONBACKGROUND_3: 'ONBACKGROUND_3', + ONCONTENT_1: 'ONCONTENT_1', + ONCONTENT_2: 'ONCONTENT_2', + PRIMARY: 'PRIMARY', + ERROR: 'ERROR', + SECONDARY_3: 'SECONDARY_3' +}; + +function changeTypographyToClassName(type) { + switch (type) { + case Typography.H_1: + return 'sendbird-label--h-1'; + + case Typography.H_2: + return 'sendbird-label--h-2'; + + case Typography.SUBTITLE_1: + return 'sendbird-label--subtitle-1'; + + case Typography.SUBTITLE_2: + return 'sendbird-label--subtitle-2'; + + case Typography.BODY_1: + return 'sendbird-label--body-1'; + + case Typography.BODY_2: + return 'sendbird-label--body-2'; + + case Typography.BUTTON_1: + return 'sendbird-label--button-1'; + + case Typography.BUTTON_2: + return 'sendbird-label--button-2'; + + case Typography.CAPTION_1: + return 'sendbird-label--caption-1'; + + case Typography.CAPTION_2: + return 'sendbird-label--caption-2'; + + case Typography.CAPTION_3: + return 'sendbird-label--caption-3'; + + default: + return null; + } +} +function changeColorToClassName$1(color) { + switch (color) { + case Colors$1.ONBACKGROUND_1: + return 'sendbird-label--color-onbackground-1'; + + case Colors$1.ONBACKGROUND_2: + return 'sendbird-label--color-onbackground-2'; + + case Colors$1.ONBACKGROUND_3: + return 'sendbird-label--color-onbackground-3'; + + case Colors$1.ONCONTENT_1: + return 'sendbird-label--color-oncontent-1'; + + case Colors$1.ONCONTENT_2: + return 'sendbird-label--color-oncontent-2'; + + case Colors$1.PRIMARY: + return 'sendbird-label--color-primary'; + // should be Primary-3 fix me + + case Colors$1.ERROR: + return 'sendbird-label--color-error'; + + case Colors$1.SECONDARY_3: + return 'sendbird-label--color-secondary-3'; + + default: + return null; + } +} + +var CLASS_NAME = 'sendbird-label'; +function Label(_ref) { + var type = _ref.type, + color = _ref.color, + children = _ref.children, + className = _ref.className; + var injectingClassName = Array.isArray(className) ? [CLASS_NAME].concat(LocalizationContext._toConsumableArray(className)) : [CLASS_NAME, className]; + + if (type) { + injectingClassName.push(changeTypographyToClassName(type)); + } + + if (color) { + injectingClassName.push(changeColorToClassName$1(color)); + } + + return React__default.createElement("span", { + className: injectingClassName.join(' ') + }, children); +} +Label.propTypes = { + type: PropTypes.oneOf([].concat(LocalizationContext._toConsumableArray(Object.keys(Typography)), [''])), + color: PropTypes.oneOf([].concat(LocalizationContext._toConsumableArray(Object.keys(Colors$1)), [''])), + children: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.element, PropTypes.any]), + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]) +}; +Label.defaultProps = { + type: '', + color: '', + className: [], + children: null +}; +var LabelTypography = Typography; +var LabelColors = Colors$1; +var LabelStringSet = LocalizationContext.getStringSet('en'); + +var CLASS_NAME$1 = 'sendbird-iconbutton'; +var IconButton = React__default.forwardRef(function (props, ref) { + var children = props.children, + className = props.className, + _props$disabled = props.disabled, + disabled = _props$disabled === void 0 ? false : _props$disabled, + type = props.type, + height = props.height, + width = props.width, + _onClick = props.onClick, + _onBlur = props.onBlur, + style = props.style; + + var _useState = React.useState(''), + _useState2 = LocalizationContext._slicedToArray(_useState, 2), + pressed = _useState2[0], + setPressed = _useState2[1]; + + var injectingClassName = Array.isArray(className) ? className : [className]; + injectingClassName.unshift(CLASS_NAME$1); + return (// eslint-disable-next-line react/button-has-type + React__default.createElement("button", { + className: "".concat(injectingClassName.join(' '), " ").concat(pressed), + disabled: disabled, + ref: ref, + type: type, + style: LocalizationContext._objectSpread2({}, style, { + height: height, + width: width + }), + onClick: function onClick(e) { + if (disabled) { + return; + } + + setPressed('sendbird-iconbutton--pressed'); + + _onClick(e); + }, + onBlur: function onBlur(e) { + setPressed(''); + + _onBlur(e); + } + }, React__default.createElement("span", { + className: "sendbird-iconbutton__inner" + }, children)) + ); +}); +IconButton.propTypes = { + height: PropTypes.string, + width: PropTypes.string, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element), PropTypes.any]).isRequired, + type: PropTypes.string, + disabled: PropTypes.bool, + onClick: PropTypes.func, + onBlur: PropTypes.func, + style: PropTypes.shape({}) +}; +IconButton.defaultProps = { + height: '56px', + width: '56px', + className: '', + type: 'button', + disabled: false, + onClick: function onClick() {}, + onBlur: function onBlur() {}, + style: {} +}; + +// simple component to be used as modal root +var MODAL_ROOT = 'sendbird-modal-root'; + +var Type$1 = { + PRIMARY: 'PRIMARY', + SECONDARY: 'SECONDARY', + DANGER: 'DANGER', + DISABLED: 'DISABLED' +}; +var Size = { + BIG: 'BIG', + SMALL: 'SMALL' +}; + +function changeTypeToClassName(type) { + switch (type) { + case Type$1.PRIMARY: + return 'sendbird-button--primary'; + + case Type$1.SECONDARY: + return 'sendbird-button--secondary'; + + case Type$1.DANGER: + return 'sendbird-button--danger'; + + case Type$1.DISABLED: + return 'sendbird-button--disabled'; + + default: + return null; + } +} +function changeSizeToClassName(size) { + switch (size) { + case Size.BIG: + return 'sendbird-button--big'; + + case Size.SMALL: + return 'sendbird-button--small'; + + default: + return null; + } +} + +function Button(_ref) { + var type = _ref.type, + size = _ref.size, + children = _ref.children, + disabled = _ref.disabled, + onClick = _ref.onClick, + className = _ref.className; + var injectingClassNames = ['sendbird-button', disabled ? 'sendbird-button__disabled' : '', changeTypeToClassName(type), changeSizeToClassName(size)].concat(LocalizationContext._toConsumableArray(Array.isArray(className) ? className : [className])).join(' '); + return React__default.createElement("button", { + type: "button", + className: injectingClassNames, + onClick: onClick, + disabled: disabled + }, React__default.createElement(Label, { + className: "sendbird-button__text", + type: LabelTypography.BUTTON_1, + color: LabelColors.ONCONTENT_1 + }, children)); +} +Button.propTypes = { + children: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.arrayOf(PropTypes.element)]), + disabled: PropTypes.bool, + type: PropTypes.oneOf(Object.keys(Type$1)), + size: PropTypes.oneOf(Object.keys(Size)), + onClick: PropTypes.func, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]) +}; +Button.defaultProps = { + children: 'Button', + type: Type$1.PRIMARY, + disabled: false, + size: Size.BIG, + onClick: function onClick() {}, + className: '' +}; + +var ModalHeader = function ModalHeader(_ref) { + var titleText = _ref.titleText; + return React__default.createElement("div", { + className: "sendbird-modal-header" + }, React__default.createElement(Label, { + type: LabelTypography.H_1, + color: LabelColors.ONBACKGROUND_1 + }, titleText)); +}; +ModalHeader.propTypes = { + titleText: PropTypes.string.isRequired +}; +var ModalBody = function ModalBody(_ref2) { + var children = _ref2.children; + return React__default.createElement("div", { + className: "sendbird-modal-body" + }, children); +}; +ModalBody.propTypes = { + children: PropTypes.oneOfType([PropTypes.element.isRequired, PropTypes.arrayOf(PropTypes.element.isRequired)]) +}; +ModalBody.defaultProps = { + children: null +}; +var ModalFooter = function ModalFooter(_ref3) { + var onSubmit = _ref3.onSubmit, + onCancel = _ref3.onCancel, + _ref3$disabled = _ref3.disabled, + disabled = _ref3$disabled === void 0 ? false : _ref3$disabled, + submitText = _ref3.submitText, + type = _ref3.type; + + var _useContext = React.useContext(LocalizationContext.LocalizationContext), + stringSet = _useContext.stringSet; + + return React__default.createElement("div", { + className: "sendbird-modal-footer" + }, React__default.createElement(Button, { + type: Type$1.SECONDARY, + onClick: onCancel + }, React__default.createElement(Label, { + type: LabelTypography.BUTTON_1, + color: LabelColors.ONBACKGROUND_1 + }, stringSet.BUTTON__CANCEL)), React__default.createElement(Button, { + type: type, + disabled: disabled, + onClick: onSubmit + }, submitText)); +}; +ModalFooter.propTypes = { + onCancel: PropTypes.func.isRequired, + onSubmit: PropTypes.func.isRequired, + submitText: PropTypes.string.isRequired, + disabled: PropTypes.bool, + type: PropTypes.string +}; +ModalFooter.defaultProps = { + disabled: false, + type: Type$1.DANGER +}; + +function Modal(props) { + var children = props.children, + onCancel = props.onCancel, + onSubmit = props.onSubmit, + disabled = props.disabled, + submitText = props.submitText, + titleText = props.titleText, + hideFooter = props.hideFooter, + type = props.type; + return reactDom.createPortal(React__default.createElement("div", { + className: "sendbird-modal" + }, React__default.createElement("div", { + className: "sendbird-modal-content" + }, React__default.createElement(ModalHeader, { + titleText: titleText + }), React__default.createElement(ModalBody, null, children), !hideFooter && React__default.createElement(ModalFooter, { + disabled: disabled, + onCancel: onCancel, + onSubmit: onSubmit, + submitText: submitText, + type: type + }), React__default.createElement("div", { + className: "sendbird-modal-close" + }, React__default.createElement(IconButton, { + width: "32px", + height: "32px", + onClick: onCancel + }, React__default.createElement(Icon, { + type: IconTypes.CLOSE, + fillColor: IconColors.DEFAULT, + width: "24px", + height: "24px" + })))), React__default.createElement("div", { + className: "sendbird-modal-backdrop" + })), document.getElementById(MODAL_ROOT)); +} + +Modal.propTypes = { + children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)]), + onCancel: PropTypes.func.isRequired, + onSubmit: PropTypes.func.isRequired, + hideFooter: PropTypes.bool, + disabled: PropTypes.bool, + type: PropTypes.string +}; +Modal.defaultProps = { + children: null, + hideFooter: false, + disabled: false, + type: Type$1.DANGER +}; + +var Colors$2 = { + ONBACKGROUND_1: 'ONBACKGROUND_1', + ONBACKGROUND_2: 'ONBACKGROUND_2', + ONBACKGROUND_3: 'ONBACKGROUND_3', + ONBACKGROUND_4: 'ONBACKGROUND_4', + ONCONTENT_1: 'ONCONTENT_1', + PRIMARY: 'PRIMARY', + ERROR: 'ERROR' +}; +function changeColorToClassName$2(color) { + switch (color) { + case Colors$2.ONBACKGROUND_1: + return 'sendbird-color--onbackground-1'; + + case Colors$2.ONBACKGROUND_2: + return 'sendbird-color--onbackground-2'; + + case Colors$2.ONBACKGROUND_3: + return 'sendbird-color--onbackground-3'; + + case Colors$2.ONBACKGROUND_4: + return 'sendbird-color--onbackground-4'; + + case Colors$2.ONCONTENT_1: + return 'sendbird-color--oncontent-1'; + + case Colors$2.PRIMARY: + return 'sendbird-color--primary'; + + case Colors$2.ERROR: + return 'sendbird-color--error'; + + default: + return null; + } +} + +function TextButton(_ref) { + var color = _ref.color, + children = _ref.children, + disabled = _ref.disabled, + className = _ref.className, + onClick = _ref.onClick, + notUnderline = _ref.notUnderline; + var injectingClassName = Array.isArray(className) ? className : [className]; + return React__default.createElement("div", { + role: "button", + tabIndex: 0, + className: [].concat(LocalizationContext._toConsumableArray(injectingClassName), [changeColorToClassName$2(color), notUnderline ? 'sendbird-textbutton--not-underline' : 'sendbird-textbutton', disabled ? 'sendbird-textbutton--disabled' : '']).join(' '), + onClick: onClick, + onKeyPress: onClick + }, children); +} +TextButton.propTypes = { + color: PropTypes.string, + children: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + onClick: PropTypes.func, + notUnderline: PropTypes.bool, + disabled: PropTypes.bool +}; +TextButton.defaultProps = { + color: Colors$2.ONBACKGROUND_1, + className: '', + onClick: function onClick() {}, + notUnderline: false, + disabled: false +}; + +function Types() { + return { + LOADING: 'LOADING', + NO_CHANNELS: 'NO_CHANNELS', + NO_MESSAGES: 'NO_MESSAGES', + WRONG: 'WRONG', + SEARCH_IN: 'SEARCH_IN', + SEARCHING: 'SEARCHING', + NO_RESULTS: 'NO_RESULTS' + }; +} +var PlaceHolderTypes = Types(); + +var SEND_MESSAGE_START = 'SEND_MESSAGE_START'; +var SEND_USER_MESSAGE = 'SEND_USER_MESSAGE'; +var SEND_FILE_MESSAGE = 'SEND_FILE_MESSAGE'; +var UPDATE_USER_MESSAGE = 'UPDATE_USER_MESSAGE'; +var DELETE_MESSAGE = 'DELETE_MESSAGE'; +var LEAVE_CHANNEL = 'LEAVE_CHANNEL'; +var CREATE_CHANNEL = 'CREATE_CHANNEL'; + +var getSdk = function getSdk(store) { + var _store$stores = store.stores, + stores = _store$stores === void 0 ? {} : _store$stores; + var _stores$sdkStore = stores.sdkStore, + sdkStore = _stores$sdkStore === void 0 ? {} : _stores$sdkStore; + var sdk = sdkStore.sdk; + return sdk; +}; +var getPubSub = function getPubSub(store) { + var _store$config = store.config, + config = _store$config === void 0 ? {} : _store$config; + var pubSub = config.pubSub; + return pubSub; +}; // SendBird disconnect. Invalidates currentUser +// eslint-disable-next-line max-len + +var getConnect = function getConnect(store) { + return function (userId, accessToken) { + return new Promise(function (resolve, reject) { + var sdk = getSdk(store); + + if (!sdk) { + reject(new Error('Sdk not found')); + } + + if (!accessToken) { + sdk.connect(userId).then(function (res) { + return resolve(res); + }).catch(function (err) { + return reject(err); + }); + } else { + sdk.connect(userId, accessToken).then(function (res) { + return resolve(res); + }).catch(function (err) { + return reject(err); + }); + } + }); + }; +}; // SendBird disconnect. Invalidates currentUser + +var getDisconnect = function getDisconnect(store) { + return function () { + return new Promise(function (resolve, reject) { + var sdk = getSdk(store); + + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.disconnect().then(function (res) { + return resolve(res); + }).catch(function (err) { + return reject(err); + }); + }); + }; +}; // Using the updateCurrentUserInfo() method +// you can update a user's nickname and profile image with a URL +// eslint-disable-next-line max-len + +var getUpdateUserInfo = function getUpdateUserInfo(store) { + return function (nickName, profileUrl) { + return new Promise(function (resolve, reject) { + var sdk = getSdk(store); + + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.updateCurrentUserInfo(nickName, profileUrl).then(function (res) { + return resolve(res); + }).catch(function (err) { + return reject(err); + }); + }); + }; +}; +var getSendUserMessage = function getSendUserMessage(store) { + return function (channelUrl, userMessageParams) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + var promisify = function promisify() { + var pendingMsg = null; + var pendingPromise = new Promise(function (resolve_, reject_) { + pendingMsg = channel.sendUserMessage(userMessageParams, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var message = res; + var error = err; + + if (swapParams) { + message = err; + error = res; + } + + if (error) { + reject_(error); + return; + } + + resolve_(message); + pubsub.publish(SEND_USER_MESSAGE, { + message: message, + channel: channel + }); + }); + pubsub.publish(SEND_MESSAGE_START, { + message: pendingMsg, + channel: channel + }); + }); + + pendingPromise.get = function () { + return pendingMsg; + }; + + return pendingPromise; + }; + + resolve(promisify()); + }).catch(reject); + }); + }; +}; +var getSendFileMessage = function getSendFileMessage(store) { + return function (channelUrl, fileMessageParams) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + var promisify = function promisify() { + var pendingMsg = null; + var pendingPromise = new Promise(function (resolve_, reject_) { + pendingMsg = channel.sendFileMessage(fileMessageParams, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var message = res; + var error = err; + + if (swapParams) { + message = err; + error = res; + } + + if (error) { + reject_(error); + return; + } + + resolve_(message); + pubsub.publish(SEND_FILE_MESSAGE, { + message: message, + channel: channel + }); + }); + }); + + if (fileMessageParams.file) { + // keep the file's local version in pendingMsg.localUrl + // because promise doesnt allow overriding of pendingMsg.url + // eslint-disable-next-line no-param-reassign + pendingMsg.localUrl = URL.createObjectURL(fileMessageParams.file); + } + + if (fileMessageParams.fileUrl) { + // eslint-disable-next-line no-param-reassign + pendingMsg.localUrl = fileMessageParams.fileUrl; + } // eslint-disable-next-line no-param-reassign + + + pendingMsg.requestState = 'pending'; + pubsub.publish(SEND_MESSAGE_START, { + message: pendingMsg, + channel: channel + }); + + pendingPromise.get = function () { + return pendingMsg; + }; + + return pendingPromise; + }; + + resolve(promisify()); + }).catch(reject); + }); + }; +}; +var getUpdateUserMessage = function getUpdateUserMessage(store) { + return function (channelUrl, messageId, params) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + channel.updateUserMessage(messageId, params, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var message = res; + var error = err; + + if (swapParams) { + message = err; + error = res; + } + + if (error) { + reject(error); + return; + } + + resolve(message); + pubsub.publish(UPDATE_USER_MESSAGE, { + message: message, + channel: channel, + // workaround for updating channelPreview on message-edit + // https://sendbird.atlassian.net/browse/UIKIT-268 + fromSelector: true + }); + }); + }).catch(reject); + }); + }; +}; +var getDeleteMessage = function getDeleteMessage(store) { + return function (channelUrl, message) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + var messageId = message.messageId; + channel.deleteMessage(message, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var error = err; + + if (swapParams) { + error = res; + } + + if (error) { + reject(error); + return; + } + + resolve(message); + pubsub.publish(DELETE_MESSAGE, { + messageId: messageId, + channel: channel + }); + }); + }).catch(reject); + }); + }; +}; +var getResendUserMessage = function getResendUserMessage(store) { + return function (channelUrl, failedMessage) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + channel.resendUserMessage(failedMessage).then(function (message) { + resolve(message); + pubsub.publish(SEND_USER_MESSAGE, { + message: message, + channel: channel + }); + }).catch(reject); + }).catch(reject); + }); + }; +}; +var getResendFileMessage = function getResendFileMessage(store) { + return function (channelUrl, failedMessage) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + channel.resendFileMessage(failedMessage).then(function (message) { + resolve(message); + pubsub.publish(SEND_FILE_MESSAGE, { + message: message, + channel: channel + }); + }).catch(reject); + }).catch(reject); + }); + }; +}; +var getCreateChannel = function getCreateChannel(store) { + return function (params) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.createChannel(params).then(function (channel) { + resolve(channel); + pubsub.publish(CREATE_CHANNEL, { + channel: channel + }); + }).catch(reject); + }); + }; +}; +var getLeaveChannel = function getLeaveChannel(store) { + return function (channelUrl) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + channel.leave().then(function () { + resolve(channel); + pubsub.publish(LEAVE_CHANNEL, { + channel: channel + }); + }).catch(reject); + }).catch(reject); + }); + }; +}; +var getFreezeChannel = function getFreezeChannel(store) { + return function (channelUrl) { + var sdk = getSdk(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + channel.freeze().then(function () { + // do not need pubsub here - event listener works + resolve(channel); + }).catch(reject); + }).catch(reject); + }); + }; +}; +var getUnFreezeChannel = function getUnFreezeChannel(store) { + return function (channelUrl) { + var sdk = getSdk(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + channel.unfreeze().then(function () { + // do not need pubsub here - event listener works + resolve(channel); + }).catch(reject); + }).catch(reject); + }); + }; +}; +var getCreateOpenChannel = function getCreateOpenChannel(store) { + return function (params) { + var sdk = getSdk(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.createChannel(params).then(function (channel) { + resolve(channel); + }).catch(reject); + }); + }; +}; +var enterOpenChannel = function enterOpenChannel(store) { + return function (channelUrl) { + var sdk = getSdk(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.getChannel(channelUrl, function (openChannel, error) { + if (error) { + reject(new Error(error)); + return; + } + + openChannel.enter(function (response, enterError) { + if (error) { + reject(new Error(enterError)); + return; + } + + resolve(response); + }); + }); + }); + }; +}; +var exitOpenChannel = function exitOpenChannel(store) { + return function (channelUrl) { + var sdk = getSdk(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.getChannel(channelUrl, function (openChannel, error) { + if (error) { + reject(new Error(error)); + return; + } + + openChannel.exit(function (response, exitError) { + if (error) { + reject(new Error(exitError)); + return; + } + + resolve(response); + }); + }); + }); + }; +}; +var getOpenChannelSendUserMessage = function getOpenChannelSendUserMessage(store) { + return function (channelUrl, userMessageParams) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.getChannel(channelUrl).then(function (channel) { + var promisify = function promisify() { + var pendingMsg = null; + var pendingPromise = new Promise(function (resolve_, reject_) { + pendingMsg = channel.sendUserMessage(userMessageParams, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var message = res; + var error = err; + + if (swapParams) { + message = err; + error = res; + } + + if (error) { + reject_(error); + return; + } + + resolve_(message); + pubsub.publish(SEND_USER_MESSAGE, { + message: message, + channel: channel + }); + }); + pubsub.publish(SEND_MESSAGE_START, { + message: pendingMsg, + channel: channel + }); + }); + + pendingPromise.get = function () { + return pendingMsg; + }; + + return pendingPromise; + }; + + resolve(promisify()); + }).catch(reject); + }); + }; +}; +var getOpenChannelSendFileMessage = function getOpenChannelSendFileMessage(store) { + return function (channelUrl, fileMessageParams) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.getChannel(channelUrl).then(function (channel) { + var promisify = function promisify() { + var pendingMsg = null; + var pendingPromise = new Promise(function (resolve_, reject_) { + pendingMsg = channel.sendFileMessage(fileMessageParams, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var message = res; + var error = err; + + if (swapParams) { + message = err; + error = res; + } + + if (error) { + reject_(error); + return; + } + + resolve_(message); + pubsub.publish(SEND_FILE_MESSAGE, { + message: message, + channel: channel + }); + }); + }); + + if (fileMessageParams.file) { + // keep the file's local version in pendingMsg.localUrl + // because promise doesnt allow overriding of pendingMsg.url + // eslint-disable-next-line no-param-reassign + pendingMsg.localUrl = URL.createObjectURL(fileMessageParams.file); + } + + if (fileMessageParams.fileUrl) { + // eslint-disable-next-line no-param-reassign + pendingMsg.localUrl = fileMessageParams.fileUrl; + } // eslint-disable-next-line no-param-reassign + + + pendingMsg.requestState = 'pending'; + pubsub.publish(SEND_MESSAGE_START, { + message: pendingMsg, + channel: channel + }); + + pendingPromise.get = function () { + return pendingMsg; + }; + + return pendingPromise; + }; + + resolve(promisify()); + }).catch(reject); + }); + }; +}; +var getOpenChannelUpdateUserMessage = function getOpenChannelUpdateUserMessage(store) { + return function (channelUrl, messageId, params) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.getChannel(channelUrl).then(function (channel) { + channel.updateUserMessage(messageId, params, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var message = res; + var error = err; + + if (swapParams) { + message = err; + error = res; + } + + if (error) { + reject(error); + return; + } + + resolve(message); + pubsub.publish(UPDATE_USER_MESSAGE, { + message: message, + channel: channel, + // workaround for updating channelPreview on message-edit + // https://sendbird.atlassian.net/browse/UIKIT-268 + fromSelector: true + }); + }); + }).catch(reject); + }); + }; +}; +var getOpenChannelDeleteMessage = function getOpenChannelDeleteMessage(store) { + return function (channelUrl, message) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + var messageId = message.messageId; + channel.deleteMessage(message, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var error = err; + + if (swapParams) { + error = res; + } + + if (error) { + reject(error); + return; + } + + resolve(message); + pubsub.publish(DELETE_MESSAGE, { + messageId: messageId, + channel: channel + }); + }); + }).catch(reject); + }); + }; +}; +var getOpenChannelResendUserMessage = function getOpenChannelResendUserMessage(store) { + return function (channelUrl, failedMessage) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.getChannel(channelUrl).then(function (channel) { + channel.resendUserMessage(failedMessage).then(function (message) { + resolve(message); + pubsub.publish(SEND_USER_MESSAGE, { + message: message, + channel: channel + }); + }).catch(reject); + }).catch(reject); + }); + }; +}; +var getOpenChannelResendFileMessage = function getOpenChannelResendFileMessage(store) { + return function (channelUrl, failedMessage) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.getChannel(channelUrl).then(function (channel) { + channel.resendFileMessage(failedMessage).then(function (message) { + resolve(message); + pubsub.publish(SEND_FILE_MESSAGE, { + message: message, + channel: channel + }); + }).catch(reject); + }).catch(reject); + }); + }; +}; +var selectors = { + getSdk: getSdk, + getConnect: getConnect, + getDisconnect: getDisconnect, + getUpdateUserInfo: getUpdateUserInfo, + getSendUserMessage: getSendUserMessage, + getSendFileMessage: getSendFileMessage, + getUpdateUserMessage: getUpdateUserMessage, + getDeleteMessage: getDeleteMessage, + getResendUserMessage: getResendUserMessage, + getResendFileMessage: getResendFileMessage, + getFreezeChannel: getFreezeChannel, + getUnFreezeChannel: getUnFreezeChannel, + getCreateChannel: getCreateChannel, + getLeaveChannel: getLeaveChannel, + getCreateOpenChannel: getCreateOpenChannel, + getEnterOpenChannel: enterOpenChannel, + getExitOpenChannel: exitOpenChannel, + getOpenChannelSendUserMessage: getOpenChannelSendUserMessage, + getOpenChannelSendFileMessage: getOpenChannelSendFileMessage, + getOpenChannelUpdateUserMessage: getOpenChannelUpdateUserMessage, + getOpenChannelDeleteMessage: getOpenChannelDeleteMessage, + getOpenChannelResendUserMessage: getOpenChannelResendUserMessage, + getOpenChannelResendFileMessage: getOpenChannelResendFileMessage +}; + +function UserProfile(_a) { + var user = _a.user, + currentUserId = _a.currentUserId, + sdk = _a.sdk, + logger = _a.logger, + _b = _a.disableMessaging, + disableMessaging = _b === void 0 ? false : _b, + createChannel = _a.createChannel, + onSuccess = _a.onSuccess; + var stringSet = React.useContext(LocalizationContext.LocalizationContext).stringSet; + return React__default.createElement("div", { + className: "sendbird__user-profile" + }, React__default.createElement("section", { + className: "sendbird__user-profile-avatar" + }, React__default.createElement(Avatar$1, { + height: "80px", + width: "80px", + src: user.profileUrl + })), React__default.createElement("section", { + className: "sendbird__user-profile-name" + }, React__default.createElement(Label, { + type: LabelTypography.H_2, + color: LabelColors.ONBACKGROUND_1 + }, user.nickname || stringSet.NO_NAME)), user.userId !== currentUserId && !disableMessaging && React__default.createElement("section", { + className: "sendbird__user-profile-message" + }, React__default.createElement(Button, { + type: Type$1.SECONDARY, + onClick: function onClick() { + var params = new sdk.GroupChannelParams(); + params.isDistinct = true; + params.addUserIds([user.userId]); + onSuccess(); + createChannel(params).then(function (groupChannel) { + logger.info('UserProfile, channel create', groupChannel); + }); + } + }, stringSet.USER_PROFILE__MESSAGE)), React__default.createElement("div", { + className: "sendbird__user-profile-seperator" + }), React__default.createElement("section", { + className: "sendbird__user-profile-userId" + }, React__default.createElement(Label, { + className: "sendbird__user-profile-userId--label", + type: LabelTypography.CAPTION_2, + color: LabelColors.ONBACKGROUND_2 + }, stringSet.USER_PROFILE__USER_ID), React__default.createElement(Label, { + className: "sendbird__user-profile-userId--value", + type: LabelTypography.BODY_1, + color: LabelColors.ONBACKGROUND_1 + }, user.userId))); +} + +var mapStoreToProps = function mapStoreToProps(store) { + return { + sdk: getSdk(store), + createChannel: getCreateChannel(store), + logger: store.config.logger, + pubsub: store.config.pubSub + }; +}; + +var ConnectedUserProfile = LocalizationContext.withSendbirdContext(UserProfile, mapStoreToProps); + +var MenuItems = +/*#__PURE__*/ +function (_Component) { + LocalizationContext._inherits(MenuItems, _Component); + + function MenuItems(props) { + var _this; + + LocalizationContext._classCallCheck(this, MenuItems); + + _this = LocalizationContext._possibleConstructorReturn(this, LocalizationContext._getPrototypeOf(MenuItems).call(this, props)); + + LocalizationContext._defineProperty(LocalizationContext._assertThisInitialized(_this), "showParent", function () { + var _this$props$parentCon = _this.props.parentContainRef, + parentContainRef = _this$props$parentCon === void 0 ? {} : _this$props$parentCon; + var current = parentContainRef.current; + + if (parentContainRef && current) { + current.classList.add('sendbird-icon--pressed'); + } + }); + + LocalizationContext._defineProperty(LocalizationContext._assertThisInitialized(_this), "hideParent", function () { + var _this$props$parentCon2 = _this.props.parentContainRef, + parentContainRef = _this$props$parentCon2 === void 0 ? {} : _this$props$parentCon2; + var current = parentContainRef.current; + + if (parentContainRef && current) { + current.classList.remove('sendbird-icon--pressed'); + } + }); + + LocalizationContext._defineProperty(LocalizationContext._assertThisInitialized(_this), "setupEvents", function () { + var closeDropdown = _this.props.closeDropdown; + + var _assertThisInitialize = LocalizationContext._assertThisInitialized(_this), + menuRef = _assertThisInitialize.menuRef; + + var handleClickOutside = function handleClickOutside(event) { + if (menuRef.current && !menuRef.current.contains(event.target)) { + closeDropdown(); + } + }; + + _this.setState({ + handleClickOutside: handleClickOutside + }); + + document.addEventListener('mousedown', handleClickOutside); + }); + + LocalizationContext._defineProperty(LocalizationContext._assertThisInitialized(_this), "cleanUpEvents", function () { + var handleClickOutside = _this.state.handleClickOutside; + document.removeEventListener('mousedown', handleClickOutside); + }); + + LocalizationContext._defineProperty(LocalizationContext._assertThisInitialized(_this), "getMenuPosition", function () { + var _this$props = _this.props, + parentRef = _this$props.parentRef, + openLeft = _this$props.openLeft; + var parentRect = parentRef.current.getBoundingClientRect(); + var x = parentRect.x || parentRect.left; + var y = parentRect.y || parentRect.top; + var menuStyle = { + top: y, + left: x + }; + if (!_this.menuRef.current) return menuStyle; + var _window = window, + innerWidth = _window.innerWidth, + innerHeight = _window.innerHeight; + + var rect = _this.menuRef.current.getBoundingClientRect(); + + if (y + rect.height > innerHeight) { + menuStyle.top -= rect.height; + } + + if (x + rect.width > innerWidth && !openLeft) { + menuStyle.left -= rect.width; + } + + if (menuStyle.top < 0) { + menuStyle.top = rect.height < innerHeight ? (innerHeight - rect.height) / 2 : 0; + } + + if (menuStyle.left < 0) { + menuStyle.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0; + } + + menuStyle.top += 32; + + if (openLeft) { + var padding = Number.isNaN(rect.width - 30) ? 108 // default + : rect.width - 30; + menuStyle.left -= padding; + } + + return _this.setState({ + menuStyle: menuStyle + }); + }); + + _this.menuRef = React__default.createRef(); + _this.state = { + menuStyle: {}, + handleClickOutside: function handleClickOutside() {} + }; + return _this; + } + + LocalizationContext._createClass(MenuItems, [{ + key: "componentDidMount", + value: function componentDidMount() { + this.setupEvents(); + this.getMenuPosition(); + this.showParent(); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.cleanUpEvents(); + this.hideParent(); + } + }, { + key: "render", + value: function render() { + var menuStyle = this.state.menuStyle; + var _this$props2 = this.props, + children = _this$props2.children, + style = _this$props2.style; + return reactDom.createPortal(React__default.createElement(React__default.Fragment, null, React__default.createElement("div", { + className: "sendbird-dropdown__menu-backdrop" + }), React__default.createElement("ul", { + className: "sendbird-dropdown__menu", + ref: this.menuRef, + style: LocalizationContext._objectSpread2({ + display: 'inline-block', + position: 'fixed', + left: "".concat(Math.round(menuStyle.left), "px"), + top: "".concat(Math.round(menuStyle.top), "px") + }, style) + }, children)), document.getElementById('sendbird-dropdown-portal')); + } + }]); + + return MenuItems; +}(React.Component); +MenuItems.propTypes = { + closeDropdown: PropTypes.func.isRequired, + children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)]).isRequired, + style: PropTypes.shape({}), + // https://stackoverflow.com/a/51127130 + parentRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ + current: PropTypes.instanceOf(Element) + })]).isRequired, + parentContainRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ + current: PropTypes.instanceOf(Element) + })]).isRequired, + openLeft: PropTypes.bool +}; +MenuItems.defaultProps = { + style: {}, + openLeft: false +}; + +var componentClassName = 'sendbird-sort-by-row'; +function SortByRow(_ref) { + var className = _ref.className, + maxItemCount = _ref.maxItemCount, + itemWidth = _ref.itemWidth, + itemHeight = _ref.itemHeight, + children = _ref.children; + var injectingClassName = Array.isArray(className) ? className : [className]; + injectingClassName.unshift(componentClassName); + + if (children.length > maxItemCount) { + var result = []; + + for (var i = 0; i < children.length; i += maxItemCount) { + result.push(React__default.createElement("div", { + className: injectingClassName.join(' '), + style: { + width: itemWidth * maxItemCount, + height: itemHeight + }, + key: className + i + }, children.slice(i, i + maxItemCount))); + } + + return result; + } + + return React__default.createElement("div", { + className: injectingClassName.join(' '), + style: { + width: itemWidth * children.length, + height: itemHeight + } + }, children); +} +SortByRow.propTypes = { + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + maxItemCount: PropTypes.number.isRequired, + itemWidth: PropTypes.number.isRequired, + itemHeight: PropTypes.number.isRequired, + children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element), PropTypes.string, PropTypes.arrayOf(PropTypes.string)]).isRequired +}; +SortByRow.defaultProps = { + className: '' +}; + +var EmojiListItems = +/*#__PURE__*/ +function (_Component) { + LocalizationContext._inherits(EmojiListItems, _Component); + + function EmojiListItems(props) { + var _this; + + LocalizationContext._classCallCheck(this, EmojiListItems); + + _this = LocalizationContext._possibleConstructorReturn(this, LocalizationContext._getPrototypeOf(EmojiListItems).call(this, props)); + + LocalizationContext._defineProperty(LocalizationContext._assertThisInitialized(_this), "showParent", function () { + var _this$props$parentCon = _this.props.parentContainRef, + parentContainRef = _this$props$parentCon === void 0 ? {} : _this$props$parentCon; + var current = parentContainRef.current; + + if (parentContainRef && current) { + current.classList.add('sendbird-reactions--pressed'); + } + }); + + LocalizationContext._defineProperty(LocalizationContext._assertThisInitialized(_this), "hideParent", function () { + var _this$props$parentCon2 = _this.props.parentContainRef, + parentContainRef = _this$props$parentCon2 === void 0 ? {} : _this$props$parentCon2; + var current = parentContainRef.current; + + if (parentContainRef && current) { + current.classList.remove('sendbird-reactions--pressed'); + } + }); + + LocalizationContext._defineProperty(LocalizationContext._assertThisInitialized(_this), "setupEvents", function () { + var closeDropdown = _this.props.closeDropdown; + + var _assertThisInitialize = LocalizationContext._assertThisInitialized(_this), + reactionRef = _assertThisInitialize.reactionRef; + + var handleClickOutside = function handleClickOutside(event) { + if (reactionRef.current && !reactionRef.current.contains(event.target)) { + closeDropdown(); + } + }; + + _this.setState({ + handleClickOutside: handleClickOutside + }); + + document.addEventListener('mousedown', handleClickOutside); + }); + + LocalizationContext._defineProperty(LocalizationContext._assertThisInitialized(_this), "cleanUpEvents", function () { + var handleClickOutside = _this.state.handleClickOutside; + document.removeEventListener('mousedown', handleClickOutside); + }); + + LocalizationContext._defineProperty(LocalizationContext._assertThisInitialized(_this), "getBarPosition", function () { + var _this$props = _this.props, + parentRef = _this$props.parentRef, + spaceFromTrigger = _this$props.spaceFromTrigger; + var spaceFromTriggerX = spaceFromTrigger.x || 0; + var spaceFromTriggerY = spaceFromTrigger.y || 0; + var parentRect = parentRef.current.getBoundingClientRect(); + var x = parentRect.x || parentRect.left; + var y = parentRect.y || parentRect.top; + var reactionStyle = { + top: y, + left: x + }; + if (!_this.reactionRef.current) return reactionStyle; + + var rect = _this.reactionRef.current.getBoundingClientRect(); // const childRect = this.reactionRef.current.children[0].getBoundingClientRect(); + + + if (reactionStyle.top < rect.height) { + reactionStyle.top += parentRect.height; + reactionStyle.top += spaceFromTriggerY; + } else { + reactionStyle.top -= rect.height; + reactionStyle.top -= spaceFromTriggerY; + } + + reactionStyle.left -= rect.width / 2; + reactionStyle.left += parentRect.height / 2 - 2; + reactionStyle.left += spaceFromTriggerX; + var maximumLeft = window.innerWidth - rect.width; + + if (maximumLeft < reactionStyle.left) { + reactionStyle.left = maximumLeft; + } + + if (reactionStyle.left < 0) { + reactionStyle.left = 0; + } + + return _this.setState({ + reactionStyle: reactionStyle + }); + }); + + _this.reactionRef = React__default.createRef(); + _this.state = { + reactionStyle: {}, + handleClickOutside: function handleClickOutside() {} + }; + return _this; + } + + LocalizationContext._createClass(EmojiListItems, [{ + key: "componentDidMount", + value: function componentDidMount() { + this.setupEvents(); + this.getBarPosition(); + this.showParent(); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.cleanUpEvents(); + this.hideParent(); + } + }, { + key: "render", + value: function render() { + var reactionStyle = this.state.reactionStyle; + var children = this.props.children; + return reactDom.createPortal(React__default.createElement(React__default.Fragment, null, React__default.createElement("div", { + className: "sendbird-dropdown__menu-backdrop" + }), React__default.createElement("ul", { + className: "sendbird-dropdown__reaction-bar", + ref: this.reactionRef, + style: { + display: 'inline-block', + position: 'fixed', + left: "".concat(Math.round(reactionStyle.left), "px"), + top: "".concat(Math.round(reactionStyle.top), "px") + } + }, React__default.createElement(SortByRow, { + className: "sendbird-dropdown__reaction-bar__row", + maxItemCount: 8, + itemWidth: 44, + itemHeight: 40 + }, children))), document.getElementById('sendbird-emoji-list-portal')); + } + }]); + + return EmojiListItems; +}(React.Component); +EmojiListItems.propTypes = { + closeDropdown: PropTypes.func.isRequired, + children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)]).isRequired, + parentRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ + current: PropTypes.instanceOf(Element) + })]).isRequired, + parentContainRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ + current: PropTypes.instanceOf(Element) + })]).isRequired, + spaceFromTrigger: PropTypes.shape({ + x: PropTypes.number, + y: PropTypes.number + }) +}; +EmojiListItems.defaultProps = { + spaceFromTrigger: {} +}; + +var ENTER = 13; +var MenuItems$1 = MenuItems; +var EmojiListItems$1 = EmojiListItems; +var MenuItem = function MenuItem(_ref) { + var children = _ref.children, + onClick = _ref.onClick, + className = _ref.className; + var injectingClassName = Array.isArray(className) ? className : [className]; + return React__default.createElement("li", { + tabIndex: 0, + className: [].concat(LocalizationContext._toConsumableArray(injectingClassName), ['sendbird-dropdown__menu-item']).join(' '), + onClick: onClick, + onKeyPress: function onKeyPress(e) { + if (e.keyCode === ENTER) { + onClick(e); + } + }, + role: "menuitem" + }, React__default.createElement(Label, { + type: LabelTypography.SUBTITLE_2, + color: LabelColors.ONBACKGROUND_1, + className: "sendbird-dropdown__menu-item__text" + }, children)); +}; +MenuItem.propTypes = { + onClick: PropTypes.func.isRequired, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + children: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired +}; +MenuItem.defaultProps = { + className: '' +}; +function ContextMenu(_ref2) { + var menuTrigger = _ref2.menuTrigger, + menuItems = _ref2.menuItems; + + var _useState = React.useState(false), + _useState2 = LocalizationContext._slicedToArray(_useState, 2), + showMenu = _useState2[0], + setShowMenu = _useState2[1]; + + return React__default.createElement("div", { + className: "sendbird-context-menu", + style: { + display: 'inline' + } + }, menuTrigger(function () { + return setShowMenu(!showMenu); + }), showMenu && menuItems(function () { + return setShowMenu(false); + })); +} +ContextMenu.propTypes = { + menuTrigger: PropTypes.func.isRequired, + menuItems: PropTypes.func.isRequired +}; + +function Loader(_ref) { + var children = _ref.children, + className = _ref.className, + width = _ref.width, + height = _ref.height; + var injectingClassName = Array.isArray(className) ? className : [className]; + return React__default.createElement("div", { + className: [].concat(LocalizationContext._toConsumableArray(injectingClassName), ['sendbird-loader']).join(' '), + style: { + width: typeof width === 'string' ? width : "".concat(width, "px"), + height: typeof height === 'string' ? height : "".concat(height, "px") + } + }, children); +} +Loader.propTypes = { + children: PropTypes.element, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]) +}; +Loader.defaultProps = { + children: React__default.createElement(Icon, { + type: IconTypes.SPINNER, + width: "26px", + height: "26px" + }), + className: '', + width: '26px', + height: '26px' +}; + +var PlaceHolderTypes$1 = PlaceHolderTypes; +function PlaceHolder(_ref) { + var className = _ref.className, + type = _ref.type, + retryToConnect = _ref.retryToConnect, + searchInString = _ref.searchInString; + + var _useContext = React.useContext(LocalizationContext.LocalizationContext), + stringSet = _useContext.stringSet; + + var injectingClassName = Array.isArray(className) ? className : [className]; + return React__default.createElement("div", { + className: [].concat(LocalizationContext._toConsumableArray(injectingClassName), ['sendbird-place-holder']).join(' ') + }, type === PlaceHolderTypes$1.LOADING && React__default.createElement(Loader, { + width: "48px", + height: "48px" + }, React__default.createElement(Icon, { + type: IconTypes.SPINNER, + width: "48px", + height: "48px" + })), (type === PlaceHolderTypes$1.NO_CHANNELS || type === PlaceHolderTypes$1.NO_MESSAGES || type === PlaceHolderTypes$1.WRONG) && React__default.createElement("div", { + className: "sendbird-place-holder__body" + }, type === PlaceHolderTypes$1.NO_CHANNELS && React__default.createElement(Icon, { + className: "sendbird-place-holder__body__icon", + type: IconTypes.CHAT, + fillColor: IconColors.ON_BACKGROUND_3, + width: "64px", + height: "64px" + }), type === PlaceHolderTypes$1.WRONG && React__default.createElement(Icon, { + className: "sendbird-place-holder__body__icon", + type: IconTypes.ERROR, + fillColor: IconColors.ON_BACKGROUND_3, + width: "64px", + height: "64px" + }), type === PlaceHolderTypes$1.NO_MESSAGES && React__default.createElement(Icon, { + className: "sendbird-place-holder__body__icon", + type: IconTypes.MESSAGE, + fillColor: IconColors.ON_BACKGROUND_3, + width: "64px", + height: "64px" + }), React__default.createElement(Label, { + className: "sendbird-place-holder__body__text", + type: LabelTypography.BODY_1, + color: LabelColors.ONBACKGROUND_2 + }, type === PlaceHolderTypes$1.NO_CHANNELS && stringSet.PLACE_HOLDER__NO_CHANNEL, type === PlaceHolderTypes$1.WRONG && stringSet.PLACE_HOLDER__WRONG, type === PlaceHolderTypes$1.NO_MESSAGES && stringSet.PLACE_HOLDER__NO_MESSAGES), retryToConnect && React__default.createElement("div", { + className: "sendbird-place-holder__body__reconnect", + role: "button", + tabIndex: 0, + onClick: retryToConnect, + onKeyPress: retryToConnect + }, React__default.createElement(Icon, { + className: "sendbird-place-holder__body__reconnect__icon", + type: IconTypes.REFRESH, + fillColor: IconColors.PRIMARY, + width: "20px", + height: "20px" + }), React__default.createElement(Label, { + className: "sendbird-place-holder__body__reconnect__text", + type: LabelTypography.BUTTON_1, + color: LabelColors.PRIMARY + }, stringSet.PLACE_HOLDER__RETRY_TO_CONNECT))), (type === PlaceHolderTypes$1.NO_RESULTS || type === PlaceHolderTypes$1.SEARCH_IN || type === PlaceHolderTypes$1.SEARCHING) && React__default.createElement("div", { + className: "sendbird-place-holder__body--align-top" + }, type === PlaceHolderTypes$1.SEARCH_IN && React__default.createElement("div", { + className: "sendbird-place-holder__body--align-top__text" + }, React__default.createElement(Label, { + type: LabelTypography.BUTTON_2, + color: LabelColors.ONBACKGROUND_2 + }, stringSet.SEARCH_IN), React__default.createElement(Label, { + type: LabelTypography.BUTTON_2, + color: LabelColors.PRIMARY + }, "'".concat(searchInString, "'"))), type === PlaceHolderTypes$1.SEARCHING && React__default.createElement(Label, { + type: LabelTypography.BODY_1, + color: LabelColors.ONBACKGROUND_2 + }, stringSet.SEARCHING), type === PlaceHolderTypes$1.NO_RESULTS && React__default.createElement(Label, { + type: LabelTypography.BODY_1, + color: LabelColors.ONBACKGROUND_2 + }, stringSet.NO_SEARCHED_MESSAGE))); +} +PlaceHolder.propTypes = { + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + type: PropTypes.oneOfType([PropTypes.oneOf(Object.keys(PlaceHolderTypes$1)), PropTypes.string]).isRequired, + retryToConnect: PropTypes.func, + searchInString: PropTypes.string +}; +PlaceHolder.defaultProps = { + className: '', + retryToConnect: null, + searchInString: '' +}; + +exports.Avatar = Avatar$1; +exports.Button = Button; +exports.CREATE_CHANNEL = CREATE_CHANNEL; +exports.Colors = Colors$2; +exports.ContextMenu = ContextMenu; +exports.DELETE_MESSAGE = DELETE_MESSAGE; +exports.EmojiListItems = EmojiListItems$1; +exports.Icon = Icon; +exports.IconButton = IconButton; +exports.IconColors = IconColors; +exports.IconTypes = IconTypes; +exports.ImageRenderer = ImageRenderer; +exports.LEAVE_CHANNEL = LEAVE_CHANNEL; +exports.Label = Label; +exports.LabelColors = LabelColors; +exports.LabelStringSet = LabelStringSet; +exports.LabelTypography = LabelTypography; +exports.Loader = Loader; +exports.MODAL_ROOT = MODAL_ROOT; +exports.MenuItem = MenuItem; +exports.MenuItems = MenuItems$1; +exports.Modal = Modal; +exports.PlaceHolder = PlaceHolder; +exports.PlaceHolderTypes = PlaceHolderTypes; +exports.PlaceHolderTypes$1 = PlaceHolderTypes$1; +exports.SEND_FILE_MESSAGE = SEND_FILE_MESSAGE; +exports.SEND_MESSAGE_START = SEND_MESSAGE_START; +exports.SEND_USER_MESSAGE = SEND_USER_MESSAGE; +exports.Size = Size; +exports.TextButton = TextButton; +exports.Type = Type$1; +exports.UPDATE_USER_MESSAGE = UPDATE_USER_MESSAGE; +exports.UserProfile = ConnectedUserProfile; +exports.UserProfileContext = UserProfileContext; +exports.UserProfileProvider = UserProfileProvider; +exports.changeColorToClassName = changeColorToClassName$2; +exports.changeColorToClassName$1 = changeColorToClassName$1; +exports.getSdk = getSdk; +exports.selectors = selectors; +//# sourceMappingURL=index-2a2230b8.js.map diff --git a/dist/cjs/index-2a2230b8.js.map b/dist/cjs/index-2a2230b8.js.map new file mode 100644 index 0000000..564bc34 --- /dev/null +++ b/dist/cjs/index-2a2230b8.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-79d744e1.js","sources":["../../../src/lib/UserProfileContext.jsx","../../../src/ui/ImageRenderer/index.jsx","../../../src/ui/Icon/type.js","../../../src/ui/Icon/index.jsx","../../../src/utils/pxToNumber.ts","../../../src/ui/Avatar/index.tsx","../../../src/ui/Label/types.js","../../../src/ui/Label/utils.js","../../../src/ui/Label/index.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/ui/PlaceHolder/type.js","../../../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","../../../src/ui/Loader/index.jsx","../../../src/ui/PlaceHolder/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\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 \n
\n {children}\n
\n
\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, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\n/*\n ImageRenderer displays image with url or source\n it checks if the source exist with img tag first\n if it exists onLoad is called, if not onError is called\n and those properties switch img tag to real purposing element\n*/\n\nexport default function ImageRenderer({\n alt,\n url,\n width,\n height,\n className,\n defaultComponent,\n circle,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift('sendbird-image-renderer');\n const [realElement, setRealElement] = useState(null);\n useEffect(() => {\n setRealElement(null);\n }, [url]);\n return (\n realElement || (\n {\n setRealElement(typeof defaultComponent === 'function' ? defaultComponent() : defaultComponent);\n }}\n onLoad={() => {\n setRealElement((\n \n ));\n }}\n />\n )\n );\n}\n\nImageRenderer.propTypes = {\n alt: PropTypes.string,\n url: PropTypes.string.isRequired,\n width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n className: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.string,\n ]),\n defaultComponent: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n circle: PropTypes.bool,\n};\nImageRenderer.defaultProps = {\n alt: '',\n className: '',\n circle: false,\n defaultComponent: null,\n width: null,\n height: null,\n};\n","export default {\n ADD: 'ADD',\n ARROW_LEFT: 'ARROW_LEFT',\n ATTACH: 'ATTACH',\n BAN: 'BAN',\n BROADCAST: 'BROADCAST',\n CAMERA: 'CAMERA',\n CHANNELS: 'CHANNELS',\n CHAT: 'CHAT',\n CHAT_FILLED: 'CHAT_FILLED',\n CHEVRON_DOWN: 'CHEVRON_DOWN',\n CHEVRON_RIGHT: 'CHEVRON_RIGHT',\n CLOSE: 'CLOSE',\n COLLAPSE: 'COLLAPSE',\n COPY: 'COPY',\n CREATE: 'CREATE',\n DELETE: 'DELETE',\n DISCONNECTED: 'DISCONNECTED',\n DOCUMENT: 'DOCUMENT',\n DONE: 'DONE',\n DONE_ALL: 'DONE_ALL',\n DOWNLOAD: 'DOWNLOAD',\n EDIT: 'EDIT',\n EMOJI_MORE: 'EMOJI_MORE',\n ERROR: 'ERROR',\n EXPAND: 'EXPAND',\n FILE_AUDIO: 'FILE_AUDIO',\n FILE_DOCUMENT: 'FILE_DOCUMENT',\n FREEZE: 'FREEZE',\n GIF: 'GIF',\n INFO: 'INFO',\n LEAVE: 'LEAVE',\n MEMBERS: 'MEMBERS',\n MESSAGE: 'MESSAGE',\n MODERATIONS: 'MODERATIONS',\n MORE: 'MORE',\n MUTE: 'MUTE',\n NOTIFICATIONS: 'NOTIFICATIONS',\n NOTIFICATIONS_OFF_FILLED: 'NOTIFICATIONS_OFF_FILLED',\n OPERATOR: 'OPERATOR',\n PHOTO: 'PHOTO',\n PLAY: 'PLAY',\n PLUS: 'PLUS',\n QUESTION: 'QUESTION',\n REFRESH: 'REFRESH',\n REMOVE: 'REMOVE',\n SEARCH: 'SEARCH',\n SEND: 'SEND',\n SETTINGS_FILLED: 'SETTINGS_FILLED',\n SPINNER: 'SPINNER',\n SUPERGROUP: 'SUPERGROUP',\n THUMBNAIL_NONE: 'THUMBNAIL_NONE',\n TOGGLE_OFF: 'TOGGLE_OFF',\n TOGGLE_ON: 'TOGGLE_ON',\n USER: 'USER',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Type from './type';\n\nimport IconAdd from '../../svgs/icon-add.svg';\nimport IconArrowLeft from '../../svgs/icon-arrow-left.svg';\nimport IconAttach from '../../svgs/icon-attach.svg';\nimport IconBan from '../../svgs/icon-ban.svg';\nimport IconBroadcast from '../../svgs/icon-broadcast.svg';\nimport IconCamera from '../../svgs/icon-camera.svg';\nimport IconChannels from '../../svgs/icon-channels.svg';\nimport IconChat from '../../svgs/icon-chat.svg';\nimport IconChatFilled from '../../svgs/icon-chat-filled.svg';\nimport IconChevronDown from '../../svgs/icon-chevron-down.svg';\nimport IconChevronRight from '../../svgs/icon-chevron-right.svg';\nimport IconClose from '../../svgs/icon-close.svg';\nimport IconCollapse from '../../svgs/icon-collapse.svg';\nimport IconCopy from '../../svgs/icon-copy.svg';\nimport IconCreate from '../../svgs/icon-create.svg';\nimport IconDelete from '../../svgs/icon-delete.svg';\nimport IconDisconnected from '../../svgs/icon-disconnected.svg';\nimport IconDocument from '../../svgs/icon-document.svg';\nimport IconDone from '../../svgs/icon-done.svg';\nimport IconDoneAll from '../../svgs/icon-done-all.svg';\nimport IconDownload from '../../svgs/icon-download.svg';\nimport IconEdit from '../../svgs/icon-edit.svg';\nimport IconEmojiMore from '../../svgs/icon-emoji-more.svg';\nimport IconError from '../../svgs/icon-error.svg';\nimport IconExpand from '../../svgs/icon-expand.svg';\nimport IconFileAudio from '../../svgs/icon-file-audio.svg';\nimport IconFileDocument from '../../svgs/icon-file-document.svg';\nimport IconFreeze from '../../svgs/icon-freeze.svg';\nimport IconGif from '../../svgs/icon-gif.svg';\nimport IconInfo from '../../svgs/icon-info.svg';\nimport IconLeave from '../../svgs/icon-leave.svg';\nimport IconMembers from '../../svgs/icon-members.svg';\nimport IconMessage from '../../svgs/icon-message.svg';\nimport IconModerations from '../../svgs/icon-moderations.svg';\nimport IconMore from '../../svgs/icon-more.svg';\nimport IconMute from '../../svgs/icon-mute.svg';\nimport IconNotifications from '../../svgs/icon-notifications.svg';\nimport IconNotificationsOffFilled from '../../svgs/icon-notifications-off-filled.svg';\nimport IconOperator from '../../svgs/icon-operator.svg';\nimport IconPhoto from '../../svgs/icon-photo.svg';\nimport IconPlay from '../../svgs/icon-play.svg';\nimport IconPlus from '../../svgs/icon-plus.svg';\nimport IconQuestion from '../../svgs/icon-question.svg';\nimport IconRefresh from '../../svgs/icon-refresh.svg';\nimport IconRemove from '../../svgs/icon-remove.svg';\nimport IconSearch from '../../svgs/icon-search.svg';\nimport IconSend from '../../svgs/icon-send.svg';\nimport IconSettingsFilled from '../../svgs/icon-settings-filled.svg';\nimport IconSpinner from '../../svgs/icon-spinner.svg';\nimport IconSupergroup from '../../svgs/icon-supergroup.svg';\nimport IconThumbnailNone from '../../svgs/icon-thumbnail-none.svg';\nimport IconToggleOff from '../../svgs/icon-toggleoff.svg';\nimport IconToggleOn from '../../svgs/icon-toggleon.svg';\nimport IconUser from '../../svgs/icon-user.svg';\n\nconst Colors = {\n DEFAULT: 'DEFAULT',\n PRIMARY: 'PRIMARY',\n SECONDARY: 'SECONDARY',\n CONTENT: 'CONTENT',\n CONTENT_INVERSE: 'CONTENT_INVERSE',\n WHITE: 'WHITE',\n SENT: 'SENT',\n READ: 'READ',\n ON_BACKGROUND_2: 'ON_BACKGROUND_2',\n ON_BACKGROUND_3: 'ON_BACKGROUND_3',\n BACKGROUND_3: 'BACKGROUND_3',\n};\n\nfunction changeColorToClassName(color) {\n switch (color) {\n case Colors.PRIMARY: return 'sendbird-color--primary';\n case Colors.SECONDARY: return 'sendbird-color--secondary';\n case Colors.CONTENT: return 'sendbird-color--content';\n case Colors.CONTENT_INVERSE: return 'sendbird-color--content-inverse';\n case Colors.WHITE: return 'sendbird-color--white';\n case Colors.SENT: return 'sendbird-color--sent';\n case Colors.READ: return 'sendbird-color--read';\n case Colors.ON_BACKGROUND_2: return 'sendbird-color--on-background-2';\n case Colors.ON_BACKGROUND_3: return 'sendbird-color--on-background-3';\n case Colors.BACKGROUND_3: return 'sendbird-color--background-3';\n default: return '';\n }\n}\n\nfunction changeTypeToIconComponent(type) {\n switch (type) {\n case Type.ADD: return ;\n case Type.ARROW_LEFT: return ;\n case Type.ATTACH: return ;\n case Type.BAN: return ;\n case Type.BROADCAST: return ;\n case Type.CAMERA: return ;\n case Type.CHANNELS: return ;\n case Type.CHAT: return ;\n case Type.CHAT_FILLED: return ;\n case Type.CHEVRON_DOWN: return ;\n case Type.CHEVRON_RIGHT: return ;\n case Type.CLOSE: return ;\n case Type.COLLAPSE: return ;\n case Type.COPY: return ;\n case Type.CREATE: return ;\n case Type.DELETE: return ;\n case Type.DISCONNECTED: return ;\n case Type.DOCUMENT: return ;\n case Type.DONE: return ;\n case Type.DONE_ALL: return ;\n case Type.DOWNLOAD: return ;\n case Type.EDIT: return ;\n case Type.EMOJI_MORE: return ;\n case Type.ERROR: return ;\n case Type.EXPAND: return ;\n case Type.FILE_AUDIO: return ;\n case Type.FILE_DOCUMENT: return ;\n case Type.FREEZE: return ;\n case Type.GIF: return ;\n case Type.INFO: return ;\n case Type.LEAVE: return ;\n case Type.MEMBERS: return ;\n case Type.MESSAGE: return ;\n case Type.MODERATIONS: return ;\n case Type.MORE: return ;\n case Type.MUTE: return ;\n case Type.NOTIFICATIONS: return ;\n case Type.NOTIFICATIONS_OFF_FILLED: return ;\n case Type.OPERATOR: return ;\n case Type.PHOTO: return ;\n case Type.PLAY: return ;\n case Type.PLUS: return ;\n case Type.QUESTION: return ;\n case Type.REFRESH: return ;\n case Type.REMOVE: return ;\n case Type.SEARCH: return ;\n case Type.SEND: return ;\n case Type.SETTINGS_FILLED: return ;\n case Type.SPINNER: return ;\n case Type.SUPERGROUP: return ;\n case Type.THUMBNAIL_NONE: return ;\n case Type.TOGGLE_OFF: return ;\n case Type.TOGGLE_ON: return ;\n case Type.USER: return ;\n default: return 'icon'; // If you see this text 'icon' replace icon for it\n }\n}\n\nexport default function Icon({\n type,\n width,\n height,\n children,\n className,\n onClick,\n fillColor,\n}) {\n const iconStyle = {\n width: typeof width === 'string' ? width : `${width}px`,\n minWidth: typeof width === 'string' ? width : `${width}px`,\n height: typeof height === 'string' ? height : `${height}px`,\n minHeight: typeof height === 'string' ? height : `${height}px`,\n };\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n \n {\n children || changeTypeToIconComponent(type)\n }\n \n );\n}\n\nIcon.propTypes = {\n type: PropTypes.oneOfType([\n PropTypes.oneOf(Object.keys(Type)),\n PropTypes.string,\n ]).isRequired,\n width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n onClick: PropTypes.func,\n children: PropTypes.element,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n fillColor: PropTypes.oneOf(Object.keys(Colors)),\n};\n\nIcon.defaultProps = {\n onClick: () => { },\n width: 26,\n height: 26,\n children: null,\n className: '',\n fillColor: Colors.DEFAULT,\n};\n\nexport const IconTypes = Type;\nexport const IconColors = Colors;\n","export default (px: string | number): number | void => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n","import React, { ReactElement } from 'react';\n\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconTypes, IconColors } from '../Icon';\n\nimport './index.scss';\nimport { uuidv4 } from '../../utils/uuid';\nimport pxToNumber from '../../utils/pxToNumber';\n\nconst imageRendererClassName = 'sendbird-avatar-img';\n\ninterface DefaultComponentProps {\n width: string | number,\n height: string | number,\n}\n\nconst defaultComponent = (\n {\n width,\n height,\n }: DefaultComponentProps\n) => (): ReactElement => {\n let iconWidth = pxToNumber(width);\n let iconHeight = pxToNumber(height);\n if (typeof iconWidth === 'number') {\n iconWidth *= 0.575;\n }\n if (typeof iconHeight === 'number') {\n iconHeight *= 0.575;\n }\n return (\n
\n \n
\n );\n};\n\ninterface AvatarInnerProps {\n height: string | number,\n width: string | number,\n src?: string | Array,\n alt?: string,\n}\n\nexport const AvatarInner = ({\n src = '',\n alt = '',\n height,\n width,\n}: AvatarInnerProps): ReactElement => {\n if (typeof src === 'string') {\n return (\n \n );\n }\n\n if (src && src.length) {\n if (src.length === 1) {\n return (\n \n );\n }\n\n if (src.length === 2) {\n return (\n
\n \n \n
\n );\n }\n\n if (src.length === 3) {\n return (\n <>\n
\n \n
\n
\n \n \n
\n \n );\n }\n\n return (\n
\n {\n src.slice(0, 4)\n .map((i) => (\n \n ))\n }\n
\n );\n }\n // default img\n return (\n \n );\n};\n\ninterface AvatarProps {\n height?: string | number,\n width?: string | number,\n src?: string | Array,\n alt?: string,\n onClick?(): void,\n className?: string | Array,\n}\n\nfunction Avatar(\n {\n src = '',\n alt = '',\n width = '56px',\n height = '56px',\n onClick,\n className = '',\n }: AvatarProps,\n ref: React.Ref,\n): ReactElement {\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n \n \n \n );\n}\n\nexport default React.forwardRef(Avatar);\n","export const Typography = {\n H_1: 'H_1',\n H_2: 'H_2',\n SUBTITLE_1: 'SUBTITLE_1',\n SUBTITLE_2: 'SUBTITLE_2',\n BODY_1: 'BODY_1',\n BODY_2: 'BODY_2',\n BUTTON_1: 'BUTTON_1',\n BUTTON_2: 'BUTTON_2',\n CAPTION_1: 'CAPTION_1',\n CAPTION_2: 'CAPTION_2',\n CAPTION_3: 'CAPTION_3',\n};\n\nexport const Colors = {\n ONBACKGROUND_1: 'ONBACKGROUND_1',\n ONBACKGROUND_2: 'ONBACKGROUND_2',\n ONBACKGROUND_3: 'ONBACKGROUND_3',\n ONCONTENT_1: 'ONCONTENT_1',\n ONCONTENT_2: 'ONCONTENT_2',\n PRIMARY: 'PRIMARY',\n ERROR: 'ERROR',\n SECONDARY_3: 'SECONDARY_3',\n};\n","import { Typography, Colors } from './types';\n\nexport function changeTypographyToClassName(type) {\n switch (type) {\n case Typography.H_1: return 'sendbird-label--h-1';\n case Typography.H_2: return 'sendbird-label--h-2';\n case Typography.SUBTITLE_1: return 'sendbird-label--subtitle-1';\n case Typography.SUBTITLE_2: return 'sendbird-label--subtitle-2';\n case Typography.BODY_1: return 'sendbird-label--body-1';\n case Typography.BODY_2: return 'sendbird-label--body-2';\n case Typography.BUTTON_1: return 'sendbird-label--button-1';\n case Typography.BUTTON_2: return 'sendbird-label--button-2';\n case Typography.CAPTION_1: return 'sendbird-label--caption-1';\n case Typography.CAPTION_2: return 'sendbird-label--caption-2';\n case Typography.CAPTION_3: return 'sendbird-label--caption-3';\n default: return null;\n }\n}\n\nexport function changeColorToClassName(color) {\n switch (color) {\n case Colors.ONBACKGROUND_1: return 'sendbird-label--color-onbackground-1';\n case Colors.ONBACKGROUND_2: return 'sendbird-label--color-onbackground-2';\n case Colors.ONBACKGROUND_3: return 'sendbird-label--color-onbackground-3';\n case Colors.ONCONTENT_1: return 'sendbird-label--color-oncontent-1';\n case Colors.ONCONTENT_2: return 'sendbird-label--color-oncontent-2';\n case Colors.PRIMARY: return 'sendbird-label--color-primary'; // should be Primary-3 fix me\n case Colors.ERROR: return 'sendbird-label--color-error';\n case Colors.SECONDARY_3: return 'sendbird-label--color-secondary-3';\n default: return null;\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { Typography, Colors } from './types';\nimport { changeTypographyToClassName, changeColorToClassName } from './utils';\nimport getStringSet from './stringSet';\n\nconst CLASS_NAME = 'sendbird-label';\n\nexport default function Label({\n type,\n color,\n children,\n className,\n}) {\n const injectingClassName = (Array.isArray(className))\n ? [CLASS_NAME, ...className]\n : [CLASS_NAME, className];\n if (type) {\n injectingClassName.push(changeTypographyToClassName(type));\n }\n if (color) {\n injectingClassName.push(changeColorToClassName(color));\n }\n\n return (\n \n {children}\n \n );\n}\n\nLabel.propTypes = {\n type: PropTypes.oneOf([...Object.keys(Typography), '']),\n color: PropTypes.oneOf([...Object.keys(Colors), '']),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.element,\n PropTypes.any,\n ]),\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nLabel.defaultProps = {\n type: '',\n color: '',\n className: [],\n children: null,\n};\n\nconst LabelTypography = Typography;\nconst LabelColors = Colors;\nconst LabelStringSet = getStringSet('en');\nexport { LabelTypography, LabelColors, LabelStringSet };\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nconst CLASS_NAME = 'sendbird-iconbutton';\n\nconst IconButton = React.forwardRef((props, ref) => {\n const {\n children,\n className,\n disabled = false,\n type,\n height,\n width,\n onClick,\n onBlur,\n style,\n } = props;\n\n const [pressed, setPressed] = useState('');\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift(CLASS_NAME);\n\n return (\n // eslint-disable-next-line react/button-has-type\n {\n if (disabled) { return; }\n setPressed('sendbird-iconbutton--pressed');\n onClick(e);\n }}\n onBlur={(e) => {\n setPressed('');\n onBlur(e);\n }}\n >\n \n {children}\n \n \n );\n});\n\nIconButton.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\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 type: PropTypes.string,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n onBlur: PropTypes.func,\n style: PropTypes.shape({}),\n};\n\nIconButton.defaultProps = {\n height: '56px',\n width: '56px',\n className: '',\n type: 'button',\n disabled: false,\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
\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 type,\n size,\n children,\n disabled,\n onClick,\n className,\n}) {\n const injectingClassNames = [\n 'sendbird-button',\n (disabled ? 'sendbird-button__disabled' : ''),\n changeTypeToClassName(type),\n changeSizeToClassName(size),\n ...((Array.isArray(className)) ? className : [className]),\n ].join(' ');\n\n return (\n \n );\n}\n\nButton.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n ]),\n disabled: PropTypes.bool,\n type: PropTypes.oneOf(Object.keys(Type)),\n size: PropTypes.oneOf(Object.keys(Size)),\n onClick: PropTypes.func,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nButton.defaultProps = {\n children: 'Button',\n type: Type.PRIMARY,\n disabled: false,\n size: Size.BIG,\n onClick: () => { },\n className: '',\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 from '../Button';\nimport { Type as ButtonTypes } from '../Button/type';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport const ModalHeader = ({ titleText }) => (\n
\n \n
\n);\nModalHeader.propTypes = {\n titleText: PropTypes.string.isRequired,\n};\n\nexport const ModalBody = ({ children }) => (\n
{children}
\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
\n \n \n
\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
\n
\n \n {children}\n {\n !hideFooter && (\n \n )\n }\n
\n \n \n \n
\n
\n
\n
\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 color,\n children,\n disabled,\n className,\n onClick,\n notUnderline,\n}) {\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n \n {children}\n
\n );\n}\n\nTextButton.propTypes = {\n color: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n ]).isRequired,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n onClick: PropTypes.func,\n notUnderline: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nTextButton.defaultProps = {\n color: Colors.ONBACKGROUND_1,\n className: '',\n onClick: () => { },\n notUnderline: false,\n disabled: false,\n};\n","export function Types() {\n return {\n LOADING: 'LOADING',\n NO_CHANNELS: 'NO_CHANNELS',\n NO_MESSAGES: 'NO_MESSAGES',\n WRONG: 'WRONG',\n SEARCH_IN: 'SEARCH_IN',\n SEARCHING: 'SEARCHING',\n NO_RESULTS: 'NO_RESULTS',\n };\n}\n\nexport default Types();\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 from '../Button';\nimport { Type as ButtonTypes } from '../Button/type';\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;\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
\n
\n \n
\n
\n \n
\n {\n (user.userId !== currentUserId) && !disableMessaging && (\n
\n {\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 \n
\n )\n }\n
\n
\n \n {stringSet.USER_PROFILE__USER_ID}\n \n \n {user.userId}\n \n
\n
\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
\n \n {children}\n \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 const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift(componentClassName);\n\n if (children.length > maxItemCount) {\n const result = [];\n for (let i = 0; i < children.length; i += maxItemCount) {\n result.push(\n \n {\n children.slice(i, i + maxItemCount)\n }\n
,\n );\n }\n\n return result;\n }\n return (\n \n {children}\n
\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 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 // const childRect = this.reactionRef.current.children[0].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
\n \n \n {children}\n \n \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 = ({ children, onClick, className }) => {\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n {\n if (e.keyCode === ENTER) {\n onClick(e);\n }\n }}\n role=\"menuitem\"\n >\n \n {children}\n \n \n );\n};\n\nMenuItem.propTypes = {\n onClick: PropTypes.func.isRequired,\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};\n\nMenuItem.defaultProps = {\n className: '',\n};\n\nexport const MenuRoot = () => (\n
\n);\n\nexport const EmojiReactionListRoot = () => (\n
\n);\n\nexport default function ContextMenu({ menuTrigger, menuItems }) {\n const [showMenu, setShowMenu] = useState(false);\n\n return (\n
\n {menuTrigger(() => setShowMenu(!showMenu))}\n {showMenu && menuItems(() => setShowMenu(false))}\n
\n );\n}\n\nContextMenu.propTypes = {\n menuTrigger: PropTypes.func.isRequired,\n menuItems: PropTypes.func.isRequired,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Icon, { IconTypes } from '../Icon';\n\nexport default function Loader({\n children,\n className,\n width,\n height,\n}) {\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n \n {children}\n
\n );\n}\n\nLoader.propTypes = {\n children: PropTypes.element,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n};\n\nLoader.defaultProps = {\n children: ,\n className: '',\n width: '26px',\n height: '26px',\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Loader from '../Loader';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport _PlaceHolderTypes from './type';\n\nexport const PlaceHolderTypes = _PlaceHolderTypes;\n\nexport default function PlaceHolder({\n className,\n type,\n retryToConnect,\n searchInString,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n
\n {\n type === PlaceHolderTypes.LOADING && (\n \n \n \n )\n }\n {\n (\n type === PlaceHolderTypes.NO_CHANNELS\n || type === PlaceHolderTypes.NO_MESSAGES\n || type === PlaceHolderTypes.WRONG\n ) && (\n
\n {\n type === PlaceHolderTypes.NO_CHANNELS && (\n \n )\n }\n {\n type === PlaceHolderTypes.WRONG && (\n \n )\n }\n {\n type === PlaceHolderTypes.NO_MESSAGES && (\n \n )\n }\n \n {\n retryToConnect && (\n \n \n \n
\n )\n }\n
\n )\n }\n {\n (\n type === PlaceHolderTypes.NO_RESULTS\n || type === PlaceHolderTypes.SEARCH_IN\n || type === PlaceHolderTypes.SEARCHING\n ) && (\n
\n {\n type === PlaceHolderTypes.SEARCH_IN && (\n
\n \n {stringSet.SEARCH_IN}\n \n \n {`'${searchInString}'`}\n \n
\n )\n }\n {\n type === PlaceHolderTypes.SEARCHING && (\n \n {stringSet.SEARCHING}\n \n )\n }\n {\n type === PlaceHolderTypes.NO_RESULTS && (\n \n {stringSet.NO_SEARCHED_MESSAGE}\n \n )\n }\n
\n )\n }\n
\n );\n}\n\nPlaceHolder.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n type: PropTypes.oneOfType([\n PropTypes.oneOf(Object.keys(PlaceHolderTypes)),\n PropTypes.string,\n ]).isRequired,\n retryToConnect: PropTypes.func,\n searchInString: PropTypes.string,\n};\n\nPlaceHolder.defaultProps = {\n className: '',\n retryToConnect: null,\n searchInString: '',\n};\n"],"names":["UserProfileContext","React","createContext","disableUserProfile","isOpenChannel","renderUserProfile","UserProfileProvider","props","children","className","propTypes","PropTypes","oneOfType","element","arrayOf","any","isRequired","bool","func","string","defaultProps","ImageRenderer","alt","url","width","height","defaultComponent","circle","injectingClassName","Array","isArray","unshift","useState","realElement","setRealElement","useEffect","join","backgroundRepeat","backgroundPosition","backgroundSize","backgroundImage","borderRadius","number","ADD","ARROW_LEFT","ATTACH","BAN","BROADCAST","CAMERA","CHANNELS","CHAT","CHAT_FILLED","CHEVRON_DOWN","CHEVRON_RIGHT","CLOSE","COLLAPSE","COPY","CREATE","DELETE","DISCONNECTED","DOCUMENT","DONE","DONE_ALL","DOWNLOAD","EDIT","EMOJI_MORE","ERROR","EXPAND","FILE_AUDIO","FILE_DOCUMENT","FREEZE","GIF","INFO","LEAVE","MEMBERS","MESSAGE","MODERATIONS","MORE","MUTE","NOTIFICATIONS","NOTIFICATIONS_OFF_FILLED","OPERATOR","PHOTO","PLAY","PLUS","QUESTION","REFRESH","REMOVE","SEARCH","SEND","SETTINGS_FILLED","SPINNER","SUPERGROUP","THUMBNAIL_NONE","TOGGLE_OFF","TOGGLE_ON","USER","Colors","DEFAULT","PRIMARY","SECONDARY","CONTENT","CONTENT_INVERSE","WHITE","SENT","READ","ON_BACKGROUND_2","ON_BACKGROUND_3","BACKGROUND_3","changeColorToClassName","color","changeTypeToIconComponent","type","Type","IconAdd","IconArrowLeft","IconAttach","IconBan","IconBroadcast","IconCamera","IconChannels","IconChat","IconChatFilled","IconChevronDown","IconChevronRight","IconClose","IconCollapse","IconCopy","IconCreate","IconDelete","IconDisconnected","IconDocument","IconDone","IconDoneAll","IconDownload","IconEdit","IconEmojiMore","IconError","IconExpand","IconFileAudio","IconFileDocument","IconFreeze","IconGif","IconInfo","IconLeave","IconMembers","IconMessage","IconModerations","IconMore","IconMute","IconNotifications","IconNotificationsOffFilled","IconOperator","IconPhoto","IconPlay","IconPlus","IconQuestion","IconRefresh","IconRemove","IconSearch","IconSend","IconSettingsFilled","IconSpinner","IconSupergroup","IconThumbnailNone","IconToggleOff","IconToggleOn","IconUser","Icon","onClick","fillColor","iconStyle","minWidth","minHeight","oneOf","Object","keys","IconTypes","IconColors","px","parsed","Number","parseFloat","isNaN","imageRendererClassName","_a","iconWidth","pxToNumber","iconHeight","AvatarInner","_b","src","_c","length","slice","map","i","uuidv4","Avatar","ref","_d","_e","_f","__spreadArrays","forwardRef","Typography","H_1","H_2","SUBTITLE_1","SUBTITLE_2","BODY_1","BODY_2","BUTTON_1","BUTTON_2","CAPTION_1","CAPTION_2","CAPTION_3","ONBACKGROUND_1","ONBACKGROUND_2","ONBACKGROUND_3","ONCONTENT_1","ONCONTENT_2","SECONDARY_3","changeTypographyToClassName","CLASS_NAME","Label","push","LabelTypography","LabelColors","LabelStringSet","getStringSet","IconButton","disabled","onBlur","style","pressed","setPressed","e","shape","MODAL_ROOT","DANGER","DISABLED","Size","BIG","SMALL","changeTypeToClassName","changeSizeToClassName","size","Button","injectingClassNames","ModalHeader","titleText","ModalBody","ModalFooter","onSubmit","onCancel","submitText","useContext","LocalizationContext","stringSet","ButtonTypes","BUTTON__CANCEL","Modal","hideFooter","createPortal","document","getElementById","ONBACKGROUND_4","TextButton","notUnderline","Types","LOADING","NO_CHANNELS","NO_MESSAGES","WRONG","SEARCH_IN","SEARCHING","NO_RESULTS","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","user","currentUserId","logger","disableMessaging","onSuccess","nickname","NO_NAME","GroupChannelParams","isDistinct","addUserIds","groupChannel","info","USER_PROFILE__MESSAGE","USER_PROFILE__USER_ID","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","createRef","setupEvents","getMenuPosition","showParent","cleanUpEvents","hideParent","display","position","Math","round","Component","instanceOf","Element","componentClassName","SortByRow","maxItemCount","itemWidth","itemHeight","result","EmojiListItems","reactionRef","spaceFromTrigger","spaceFromTriggerX","spaceFromTriggerY","reactionStyle","maximumLeft","getBarPosition","ENTER","MenuItems_","EmojiListItems_","MenuItem","keyCode","ContextMenu","menuTrigger","menuItems","showMenu","setShowMenu","Loader","PlaceHolderTypes","_PlaceHolderTypes","PlaceHolder","retryToConnect","searchInString","PLACE_HOLDER__NO_CHANNEL","PLACE_HOLDER__WRONG","PLACE_HOLDER__NO_MESSAGES","PLACE_HOLDER__RETRY_TO_CONNECT","NO_SEARCHED_MESSAGE"],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/index-5fe9ee1f.js b/dist/cjs/index-5fe9ee1f.js new file mode 100644 index 0000000..192ac58 --- /dev/null +++ b/dist/cjs/index-5fe9ee1f.js @@ -0,0 +1,446 @@ +'use strict'; + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var LocalizationContext = require('./LocalizationContext-12a9343d.js'); +var React = require('react'); +var React__default = _interopDefault(React); +var PropTypes = _interopDefault(require('prop-types')); +var index = require('./index-2a2230b8.js'); +var reactDom = require('react-dom'); + +// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types +var SUPPORTED_MIMES = { + IMAGE: ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/svg+xml', 'image/webp' // not supported in IE + ], + VIDEO: ['video/mpeg', 'video/ogg', 'video/webm', 'video/mp4'] +}; +var isImage = function isImage(type) { + return SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0; +}; +var isVideo = function isVideo(type) { + return SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0; +}; +var unSupported = function unSupported(type) { + return !(isImage(type) || isVideo(type)); +}; + +var isEmpty = function isEmpty(val) { + return val === null || val === undefined; +}; // Some Ids return string and number inconsistently +// only use to comapre IDs + + +function compareIds (a, b) { + if (isEmpty(a) || isEmpty(b)) { + return false; + } + + var aString = a.toString(); + var bString = b.toString(); + return aString === bString; +} + +function DateSeparator(_ref) { + var className = _ref.className, + children = _ref.children, + separatorColor = _ref.separatorColor; + var injectingClassName = Array.isArray(className) ? className : [className]; + return React__default.createElement("div", { + className: [].concat(LocalizationContext._toConsumableArray(injectingClassName), ['sendbird-separator']).join(' ') + }, React__default.createElement("div", { + className: ["".concat(index.changeColorToClassName(separatorColor), "--background-color"), 'sendbird-separator__left'].join(' ') + }), React__default.createElement("div", { + className: "sendbird-separator__text" + }, children), React__default.createElement("div", { + className: ["".concat(index.changeColorToClassName(separatorColor), "--background-color"), 'sendbird-separator__right'].join(' ') + })); +} +DateSeparator.propTypes = { + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + children: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string), PropTypes.element]), + separatorColor: PropTypes.string +}; +DateSeparator.defaultProps = { + className: '', + children: React__default.createElement(index.Label, { + type: index.LabelTypography.CAPTION_2, + color: index.LabelColors.ONBACKGROUND_2 + }, "Date Separator"), + separatorColor: index.Colors.ONBACKGROUND_4 +}; + +// import IconAttach from '../../svgs/icon-attach.svg'; + +var LINE_HEIGHT = 76; + +var noop = function noop() {}; + +var KeyCode = { + SHIFT: 16, + ENTER: 13 +}; + +var handleUploadFile = function handleUploadFile(callback) { + return function (event) { + if (event.target.files && event.target.files[0]) { + callback(event.target.files[0]); + } // eslint-disable-next-line no-param-reassign + + + event.target.value = ''; + }; +}; + +var MessageInput = React__default.forwardRef(function (props, ref) { + var isEdit = props.isEdit, + disabled = props.disabled, + value = props.value, + name = props.name, + placeholder = props.placeholder, + maxLength = props.maxLength, + onFileUpload = props.onFileUpload, + onSendMessage = props.onSendMessage, + onCancelEdit = props.onCancelEdit, + onStartTyping = props.onStartTyping; + + var _useContext = React.useContext(LocalizationContext.LocalizationContext), + stringSet = _useContext.stringSet; + + var fileInputRef = React.useRef(null); + + var _useState = React.useState(value), + _useState2 = LocalizationContext._slicedToArray(_useState, 2), + inputValue = _useState2[0], + setInputValue = _useState2[1]; + + var _useState3 = React.useState(false), + _useState4 = LocalizationContext._slicedToArray(_useState3, 2), + isShiftPressed = _useState4[0], + setIsShiftPressed = _useState4[1]; + + var setHeight = function setHeight() { + try { + var elem = ref.current; + var MAX_HEIGHT = window.document.body.offsetHeight * 0.6; + + if (elem && elem.scrollHeight >= LINE_HEIGHT) { + if (MAX_HEIGHT < elem.scrollHeight) { + elem.style.height = 'auto'; + elem.style.height = "".concat(MAX_HEIGHT, "px"); + } else { + elem.style.height = 'auto'; + elem.style.height = "".concat(elem.scrollHeight, "px"); + } + } else { + elem.style.height = ''; + } + } catch (error) {// error + } + }; // after setHeight called twice, the textarea goes to the initialized + + + React.useEffect(function () { + setHeight(); + return setHeight; + }, [inputValue]); + + var sendMessage = function sendMessage() { + if (inputValue && inputValue.trim().length > 0) { + var trimmedInputValue = inputValue.trim(); + + if (isEdit) { + onSendMessage(name, trimmedInputValue, function () { + onCancelEdit(); + }); + } else { + onSendMessage(trimmedInputValue); + setInputValue(''); + } + } + }; + + return React__default.createElement("form", { + className: "\n ".concat(isEdit ? 'sendbird-message-input__edit' : '', "\n ").concat(disabled ? 'sendbird-message-input-form__disabled' : '', "\n ") + }, React__default.createElement("div", { + className: "\n sendbird-message-input\n ".concat(disabled ? 'sendbird-message-input__disabled' : '', "\n ") + }, React__default.createElement("textarea", { + disabled: disabled, + ref: ref, + name: name, + value: inputValue, + className: "sendbird-message-input--textarea", + maxLength: maxLength, + onChange: function onChange(e) { + setInputValue(e.target.value); + onStartTyping(); + }, + onKeyDown: function onKeyDown(e) { + if (e.keyCode === KeyCode.SHIFT) { + setIsShiftPressed(true); + } + + if (!isShiftPressed && e.keyCode === KeyCode.ENTER) { + e.preventDefault(); + sendMessage(); + } + }, + onKeyUp: function onKeyUp(e) { + if (e.keyCode === KeyCode.SHIFT) { + setIsShiftPressed(false); + } + } + }), !inputValue && React__default.createElement(index.Label, { + type: index.LabelTypography.BODY_1, + color: index.LabelColors.ONBACKGROUND_3, + className: "sendbird-message-input--placeholder" + }, placeholder || stringSet.CHANNEL__MESSAGE_INPUT__PLACE_HOLDER), !isEdit && inputValue && inputValue.trim().length > 0 && React__default.createElement(index.IconButton, { + className: "sendbird-message-input--send", + height: "32px", + width: "32px", + onClick: sendMessage + }, React__default.createElement(index.Icon, { + type: index.IconTypes.SEND, + fillColor: index.IconColors.PRIMARY, + width: "20px", + height: "20px" + })), !isEdit && (!inputValue || !(inputValue.trim().length > 0)) && React__default.createElement(index.IconButton, { + className: "sendbird-message-input--attach", + height: "32px", + width: "32px", + onClick: function onClick() { + // todo: clear previous input + fileInputRef.current.click(); + } + }, React__default.createElement(index.Icon, { + type: index.IconTypes.ATTACH, + width: "20px", + height: "20px" + }), React__default.createElement("input", { + type: "file", + ref: fileInputRef, + onChange: handleUploadFile(onFileUpload), + className: "sendbird-message-input--attach-input" + }))), isEdit && React__default.createElement("div", { + className: "sendbird-message-input--edit-action" + }, React__default.createElement(index.Button, { + className: "sendbird-message-input--edit-action__cancel", + type: index.Type.SECONDARY, + size: index.Size.SMALL, + onClick: onCancelEdit + }, stringSet.BUTTON__CANCEL), React__default.createElement(index.Button, { + className: "sendbird-message-input--edit-action__save", + type: index.Type.PRIMARY, + size: index.Size.SMALL, + onClick: function onClick() { + if (inputValue) { + var trimmedInputValue = inputValue.trim(); + onSendMessage(name, trimmedInputValue, function () { + onCancelEdit(); + }); + } + } + }, stringSet.BUTTON__SAVE))); +}); +MessageInput.propTypes = { + placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + isEdit: PropTypes.bool, + name: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + value: PropTypes.string, + disabled: PropTypes.bool, + maxLength: PropTypes.number, + onFileUpload: PropTypes.func, + onSendMessage: PropTypes.func, + onStartTyping: PropTypes.func, + onCancelEdit: PropTypes.func +}; +MessageInput.defaultProps = { + value: '', + onSendMessage: noop, + name: 'sendbird-message-input', + isEdit: false, + disabled: false, + placeholder: '', + maxLength: 5000, + onFileUpload: noop, + onCancelEdit: noop, + onStartTyping: noop +}; + +var FileViewerComponent = function FileViewerComponent(_ref) { + var profileUrl = _ref.profileUrl, + nickname = _ref.nickname, + type = _ref.type, + url = _ref.url, + name = _ref.name, + onClose = _ref.onClose, + onDelete = _ref.onDelete, + isByMe = _ref.isByMe; + return React__default.createElement("div", { + className: "sendbird-fileviewer" + }, React__default.createElement("div", { + className: "sendbird-fileviewer__header" + }, React__default.createElement("div", { + className: "sendbird-fileviewer__header-left" + }, React__default.createElement("div", { + className: "sendbird-fileviewer__header-avatar" + }, React__default.createElement(index.Avatar, { + height: "32px", + width: "32px", + src: profileUrl + })), React__default.createElement(index.Label, { + className: "sendbird-fileviewer__header-filename", + type: index.LabelTypography.H_2, + color: index.LabelColors.ONBACKGROUND_1 + }, name), React__default.createElement(index.Label, { + className: "sendbird-fileviewer__header-sendername", + type: index.LabelTypography.BODY_1, + color: index.LabelColors.ONBACKGROUND_2 + }, nickname)), React__default.createElement("div", { + className: "sendbird-fileviewer__header-right" + }, !unSupported(type) && React__default.createElement("div", { + className: "sendbird-fileviewer__header-actions" + }, React__default.createElement("a", { + href: url, + rel: "noopener noreferrer", + target: "_blank", + className: "sendbird-fileviewer__header-download" + }, React__default.createElement(index.Icon, { + type: index.IconTypes.DOWNLOAD, + height: "24px", + width: "24px" + })), onDelete && isByMe && React__default.createElement("div", { + className: "sendbird-fileviewer__header-delete" + }, React__default.createElement(index.Icon, { + type: index.IconTypes.DELETE, + height: "24px", + width: "24px", + onClick: onDelete + }))), React__default.createElement("div", { + className: "sendbird-fileviewer__header-close" + }, React__default.createElement(index.Icon, { + type: index.IconTypes.CLOSE, + height: "24px", + width: "24px", + onClick: onClose + })))), React__default.createElement("div", { + className: "sendbird-fileviewer__content" + }, isVideo(type) && // eslint-disable-next-line jsx-a11y/media-has-caption + React__default.createElement("video", { + controls: true, + className: "sendbird-fileviewer__video" + }, React__default.createElement("source", { + src: url, + type: type + })), isImage(type) && React__default.createElement("img", { + src: url, + alt: name, + className: "sendbird-fileviewer__img" + }), unSupported(type) && React__default.createElement("div", { + className: "sendbird-fileviewer__unsupported" + }, React__default.createElement(index.Label, { + type: index.LabelTypography.H_1, + color: index.LabelColors.ONBACKGROUND_1 + }, "Unsupoprted message")))); +}; +FileViewerComponent.propTypes = { + profileUrl: PropTypes.string.isRequired, + nickname: PropTypes.string.isRequired, + type: PropTypes.string.isRequired, + url: PropTypes.string.isRequired, + name: PropTypes.string.isRequired, + onClose: PropTypes.func.isRequired, + onDelete: PropTypes.func.isRequired, + isByMe: PropTypes.bool +}; +FileViewerComponent.defaultProps = { + isByMe: true +}; +function FileViewer(props) { + var onClose = props.onClose, + message = props.message, + onDelete = props.onDelete, + isByMe = props.isByMe; + var sender = message.sender, + type = message.type, + url = message.url, + _message$name = message.name, + name = _message$name === void 0 ? '' : _message$name; + var profileUrl = sender.profileUrl, + _sender$nickname = sender.nickname, + nickname = _sender$nickname === void 0 ? '' : _sender$nickname; + return reactDom.createPortal(React__default.createElement(FileViewerComponent, { + profileUrl: profileUrl, + nickname: nickname, + type: type, + url: url, + name: name, + onClose: onClose, + onDelete: onDelete, + isByMe: isByMe + }), document.getElementById(index.MODAL_ROOT)); +} +FileViewer.propTypes = { + onClose: PropTypes.func.isRequired, + message: PropTypes.shape({ + sender: PropTypes.shape({ + profileUrl: PropTypes.string, + nickname: PropTypes.string + }), + type: PropTypes.string, + url: PropTypes.string, + name: PropTypes.string + }).isRequired, + onDelete: PropTypes.func.isRequired, + isByMe: PropTypes.bool +}; +FileViewer.defaultProps = { + isByMe: true +}; + +var LINK_LABEL = 'sendbird-link-label'; +var http = /https?:\/\//; +function LinkLabel(_ref) { + var className = _ref.className, + src = _ref.src, + type = _ref.type, + color = _ref.color, + children = _ref.children; + var injectingClassName = Array.isArray(className) ? className : [className]; + + if (color) { + injectingClassName.push(index.changeColorToClassName$1(color)); + } + + var url = http.test(src) ? src : "http://".concat(src); + return React__default.createElement("a", { + className: "".concat(LINK_LABEL, " ").concat(injectingClassName.join(' ')), + href: url, + target: "_blank", + rel: "noopener noreferrer" + }, React__default.createElement(index.Label, { + type: type, + color: color, + className: "".concat(LINK_LABEL, "__label") + }, children)); +} +LinkLabel.propTypes = { + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + children: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.arrayOf(PropTypes.string), PropTypes.arrayOf(PropTypes.element)]).isRequired, + src: PropTypes.string.isRequired, + type: PropTypes.oneOf(Object.keys(index.LabelTypography)).isRequired, + color: PropTypes.oneOf(Object.keys(index.LabelColors)).isRequired +}; +LinkLabel.defaultProps = { + className: '' +}; + +exports.DateSeparator = DateSeparator; +exports.FileViewer = FileViewer; +exports.LinkLabel = LinkLabel; +exports.MessageInput = MessageInput; +exports.compareIds = compareIds; +exports.isImage = isImage; +exports.isVideo = isVideo; +exports.unSupported = unSupported; +//# sourceMappingURL=index-5fe9ee1f.js.map diff --git a/dist/cjs/index-5fe9ee1f.js.map b/dist/cjs/index-5fe9ee1f.js.map new file mode 100644 index 0000000..26dd974 --- /dev/null +++ b/dist/cjs/index-5fe9ee1f.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-5b744991.js","sources":["../../../src/ui/FileViewer/types.js","../../../src/utils/compareIds.js","../../../src/ui/DateSeparator/index.jsx","../../../src/ui/MessageInput/index.jsx","../../../src/ui/FileViewer/index.jsx","../../../src/ui/LinkLabel/index.jsx"],"sourcesContent":["// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n};\n\nexport const isImage = (type) => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type) => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const unSupported = (type) => !(isImage(type) || isVideo(type));\n\nexport default SUPPORTED_MIMES;\n","const isEmpty = (val) => (val === null || val === undefined);\n\n// Some Ids return string and number inconsistently\n// only use to comapre IDs\nexport default function (a, b) {\n if (isEmpty(a) || isEmpty(b)) {\n return false;\n }\n const aString = a.toString();\n const bString = b.toString();\n return aString === bString;\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { changeColorToClassName, Colors } from '../../utils/color';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport default function DateSeparator({\n className,\n children,\n separatorColor,\n}) {\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n \n
\n
{children}
\n
\n
\n );\n}\n\nDateSeparator.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.element,\n ]),\n separatorColor: PropTypes.string,\n};\n\nDateSeparator.defaultProps = {\n className: '',\n children: (\n \n ),\n separatorColor: Colors.ONBACKGROUND_4,\n};\n","import React, {\n useState,\n useRef,\n useEffect,\n useContext,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport IconButton from '../IconButton';\nimport Button from '../Button';\nimport { Type, Size } from '../Button/type';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n// import IconSend from '../../svgs/icon-send.svg';\n// import IconAttach from '../../svgs/icon-attach.svg';\n\nconst LINE_HEIGHT = 76;\nconst noop = () => { };\nconst KeyCode = {\n SHIFT: 16,\n ENTER: 13,\n};\n\nconst handleUploadFile = (callback) => (event) => {\n if (event.target.files && event.target.files[0]) {\n callback(event.target.files[0]);\n }\n // eslint-disable-next-line no-param-reassign\n event.target.value = '';\n};\n\nconst MessageInput = React.forwardRef((props, ref) => {\n const {\n isEdit,\n disabled,\n value,\n name,\n placeholder,\n maxLength,\n onFileUpload,\n onSendMessage,\n onCancelEdit,\n onStartTyping,\n } = props;\n\n const { stringSet } = useContext(LocalizationContext);\n const fileInputRef = useRef(null);\n const [inputValue, setInputValue] = useState(value);\n const [isShiftPressed, setIsShiftPressed] = useState(false);\n\n const setHeight = () => {\n try {\n const elem = ref.current;\n const MAX_HEIGHT = window.document.body.offsetHeight * 0.6;\n if (elem && elem.scrollHeight >= LINE_HEIGHT) {\n if (MAX_HEIGHT < elem.scrollHeight) {\n elem.style.height = 'auto';\n elem.style.height = `${MAX_HEIGHT}px`;\n } else {\n elem.style.height = 'auto';\n elem.style.height = `${elem.scrollHeight}px`;\n }\n } else {\n elem.style.height = '';\n }\n } catch (error) {\n // error\n }\n };\n\n // after setHeight called twice, the textarea goes to the initialized\n useEffect(() => {\n setHeight();\n return setHeight;\n }, [inputValue]);\n\n const sendMessage = () => {\n if (inputValue && inputValue.trim().length > 0) {\n const trimmedInputValue = inputValue.trim();\n if (isEdit) {\n onSendMessage(name, trimmedInputValue, () => {\n onCancelEdit();\n });\n } else {\n onSendMessage(trimmedInputValue);\n setInputValue('');\n }\n }\n };\n\n return (\n \n \n {\n setInputValue(e.target.value);\n onStartTyping();\n }}\n onKeyDown={(e) => {\n if (e.keyCode === KeyCode.SHIFT) {\n setIsShiftPressed(true);\n }\n if (!isShiftPressed && e.keyCode === KeyCode.ENTER) {\n e.preventDefault();\n sendMessage();\n }\n }}\n onKeyUp={(e) => {\n if (e.keyCode === KeyCode.SHIFT) {\n setIsShiftPressed(false);\n }\n }}\n />\n {/* placeholder */}\n {!inputValue && (\n \n {placeholder || stringSet.CHANNEL__MESSAGE_INPUT__PLACE_HOLDER}\n \n )}\n {/* send icon */}\n {\n (!isEdit && inputValue && inputValue.trim().length > 0) && (\n \n \n \n )\n }\n {/* upload icon */}\n {\n (!isEdit && (!inputValue || !(inputValue.trim().length > 0))) && (\n {\n // todo: clear previous input\n fileInputRef.current.click();\n }}\n >\n \n \n \n )\n }\n
\n {/* Edit */}\n {\n isEdit && (\n
\n \n {stringSet.BUTTON__CANCEL}\n \n {\n if (inputValue) {\n const trimmedInputValue = inputValue.trim();\n onSendMessage(name, trimmedInputValue, () => {\n onCancelEdit();\n });\n }\n }}\n >\n {stringSet.BUTTON__SAVE}\n \n
\n )\n }\n \n );\n});\n\nMessageInput.propTypes = {\n placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n isEdit: PropTypes.bool,\n name: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n value: PropTypes.string,\n disabled: PropTypes.bool,\n maxLength: PropTypes.number,\n onFileUpload: PropTypes.func,\n onSendMessage: PropTypes.func,\n onStartTyping: PropTypes.func,\n onCancelEdit: PropTypes.func,\n};\n\nMessageInput.defaultProps = {\n value: '',\n onSendMessage: noop,\n name: 'sendbird-message-input',\n isEdit: false,\n disabled: false,\n placeholder: '',\n maxLength: 5000,\n onFileUpload: noop,\n onCancelEdit: noop,\n onStartTyping: noop,\n};\n\nexport default MessageInput;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { createPortal } from 'react-dom';\n\nimport './index.scss';\nimport Avatar from '../Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes } from '../Icon';\nimport { MODAL_ROOT } from '../../hooks/useModal/ModalRoot';\n\nimport { isImage, isVideo, unSupported } from './types';\n\nexport const FileViewerComponent = ({\n profileUrl,\n nickname,\n type,\n url,\n name,\n onClose,\n onDelete,\n isByMe,\n}) => (\n
\n
\n
\n
\n \n
\n \n {name}\n \n \n {nickname}\n \n
\n
\n {\n !unSupported(type) && (\n
\n \n \n \n {\n onDelete && isByMe && (\n
\n \n
\n )\n }\n
\n )\n }\n
\n \n
\n
\n
\n
\n {isVideo(type) && (\n // eslint-disable-next-line jsx-a11y/media-has-caption\n \n )}\n {\n isImage(type) && (\n \n )\n }\n {\n unSupported(type) && (\n
\n \n
\n )\n }\n
\n
\n);\n\nFileViewerComponent.propTypes = {\n profileUrl: PropTypes.string.isRequired,\n nickname: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n onClose: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n isByMe: PropTypes.bool,\n};\n\nFileViewerComponent.defaultProps = {\n isByMe: true,\n};\n\nexport default function FileViewer(props) {\n const {\n onClose,\n message,\n onDelete,\n isByMe,\n } = props;\n const {\n sender,\n type,\n url,\n name = '',\n } = message;\n const { profileUrl, nickname = '' } = sender;\n return createPortal(\n (\n \n ),\n document.getElementById(MODAL_ROOT),\n );\n}\n\nFileViewer.propTypes = {\n onClose: PropTypes.func.isRequired,\n message: PropTypes.shape({\n sender: PropTypes.shape({\n profileUrl: PropTypes.string,\n nickname: PropTypes.string,\n }),\n type: PropTypes.string,\n url: PropTypes.string,\n name: PropTypes.string,\n }).isRequired,\n onDelete: PropTypes.func.isRequired,\n isByMe: PropTypes.bool,\n};\n\nFileViewer.defaultProps = {\n isByMe: true,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { changeColorToClassName } from '../Label/utils';\nimport './index.scss';\n\nconst LINK_LABEL = 'sendbird-link-label';\nconst http = /https?:\\/\\//;\n\nexport default function LinkLabel({\n className,\n src,\n type,\n color,\n children,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n if (color) {\n injectingClassName.push(changeColorToClassName(color));\n }\n const url = (http.test(src)) ? src : `http://${src}`;\n\n return (\n \n \n \n );\n}\n\nLinkLabel.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 PropTypes.arrayOf(PropTypes.string),\n PropTypes.arrayOf(PropTypes.element),\n ]).isRequired,\n src: PropTypes.string.isRequired,\n type: PropTypes.oneOf(Object.keys(LabelTypography)).isRequired,\n color: PropTypes.oneOf(Object.keys(LabelColors)).isRequired,\n};\n\nLinkLabel.defaultProps = {\n className: '',\n};\n\nexport const LinkLabelTypography = LabelTypography;\nexport const LinkLabelColors = LabelColors;\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","isImage","type","indexOf","isVideo","unSupported","isEmpty","val","undefined","a","b","aString","toString","bString","DateSeparator","className","children","separatorColor","injectingClassName","Array","isArray","React","join","changeColorToClassName","propTypes","PropTypes","oneOfType","string","arrayOf","element","defaultProps","Label","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","Colors","ONBACKGROUND_4","LINE_HEIGHT","noop","KeyCode","SHIFT","ENTER","handleUploadFile","callback","event","target","files","value","MessageInput","forwardRef","props","ref","isEdit","disabled","name","placeholder","maxLength","onFileUpload","onSendMessage","onCancelEdit","onStartTyping","useContext","LocalizationContext","stringSet","fileInputRef","useRef","useState","inputValue","setInputValue","isShiftPressed","setIsShiftPressed","setHeight","elem","current","MAX_HEIGHT","window","document","body","offsetHeight","scrollHeight","style","height","error","useEffect","sendMessage","trim","length","trimmedInputValue","e","keyCode","preventDefault","BODY_1","ONBACKGROUND_3","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER","IconButton","Icon","IconTypes","SEND","IconColors","PRIMARY","click","ATTACH","Button","Type","SECONDARY","Size","SMALL","BUTTON__CANCEL","BUTTON__SAVE","bool","number","func","FileViewerComponent","profileUrl","nickname","url","onClose","onDelete","isByMe","Avatar","H_2","ONBACKGROUND_1","DOWNLOAD","DELETE","CLOSE","H_1","isRequired","FileViewer","message","sender","createPortal","getElementById","MODAL_ROOT","shape","LINK_LABEL","http","LinkLabel","src","color","push","test","oneOf","Object","keys"],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/index-9431d920.js b/dist/cjs/index-9431d920.js new file mode 100644 index 0000000..950dbe7 --- /dev/null +++ b/dist/cjs/index-9431d920.js @@ -0,0 +1,52 @@ +'use strict'; + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var React = require('react'); +var React__default = _interopDefault(React); +var index = require('./index-2a2230b8.js'); +var utils = require('./utils-6aedec02.js'); + +function ChannelAvatar(_a) { + var channel = _a.channel, + userId = _a.userId, + theme = _a.theme, + _b = _a.height, + height = _b === void 0 ? 56 : _b, + _c = _a.width, + width = _c === void 0 ? 56 : _c; + var isBroadcast = channel.isBroadcast; + var memoizedAvatar = React.useMemo(function () { + return isBroadcast ? utils.useDefaultAvatar(channel) ? React__default.createElement("div", { + className: "sendbird-chat-header__default-avatar", + style: { + width: width, + height: height, + display: 'flex', + justifyContent: 'center', + alignItems: 'center' + } + }, React__default.createElement(index.Icon, { + type: index.IconTypes.BROADCAST, + fillColor: index.IconColors.CONTENT, + width: width * 0.575, + height: height * 0.575 + })) : React__default.createElement(index.Avatar, { + className: "sendbird-chat-header__avatar--broadcast-channel", + src: utils.getChannelAvatarSource(channel, userId), + width: width, + height: height, + alt: channel.name + }) : React__default.createElement(index.Avatar, { + className: "sendbird-chat-header__avatar--group-channel", + src: utils.getChannelAvatarSource(channel, userId), + width: width + "px", + height: height + "px", + alt: channel.name + }); + }, [channel.members, channel.coverUrl, theme]); + return React__default.createElement(React__default.Fragment, null, memoizedAvatar); +} + +exports.ChannelAvatar = ChannelAvatar; +//# sourceMappingURL=index-9431d920.js.map diff --git a/dist/cjs/index-9431d920.js.map b/dist/cjs/index-9431d920.js.map new file mode 100644 index 0000000..669cc26 --- /dev/null +++ b/dist/cjs/index-9431d920.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-cee71d44.js","sources":["../../../src/ui/ChannelAvatar/index.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport './index.scss';\n\nimport Avatar from '../Avatar/index';\nimport Icon, { IconTypes, IconColors } from '../Icon';\n\nimport * as utils from './utils';\n\ninterface Props {\n channel: SendBird.GroupChannel;\n userId: string;\n theme: string;\n height?: number,\n width?: number,\n}\n\nfunction ChannelAvatar({\n channel,\n userId,\n theme,\n height = 56,\n width = 56,\n}: Props): JSX.Element{\n const { isBroadcast } = channel;\n const memoizedAvatar = useMemo(() => (\n isBroadcast\n ? (\n utils.useDefaultAvatar(channel)\n ? (\n \n \n
\n )\n : (\n \n )\n )\n : (\n \n )\n ),[channel.members, channel.coverUrl, theme]);\n return (\n <>{ memoizedAvatar }\n );\n}\n\nexport default ChannelAvatar;\n"],"names":["ChannelAvatar","_a","channel","userId","theme","_b","height","_c","width","isBroadcast","memoizedAvatar","useMemo","utils","React","display","justifyContent","alignItems","Icon","IconTypes","BROADCAST","IconColors","CONTENT","Avatar","name","members","coverUrl"],"mappings":";;;;;;;;;AAgBA,SAASA,aAAT,CAAuBC,EAAvB;MACEC,OAAO;MACPC,MAAM;MACNC,KAAK;MACLC;MAAAC,MAAM,mBAAG;MACTC;MAAAC,KAAK,mBAAG;AAEA,MAAAC,WAAW,GAAKP,OAAO,YAAvB;AACR,MAAMQ,cAAc,GAAGC,aAAO,CAAC;AAAM,WACnCF,WAAW,GAEPG,sBAAA,CAAuBV,OAAvB,IAEIW;AACE,MAAA,SAAS,EAAC,sCADZ;AAEE,MAAA,KAAK,EAAE;AACLL,QAAAA,KAAK,OADA;AAELF,QAAAA,MAAM,QAFD;AAGLQ,QAAAA,OAAO,EAAE,MAHJ;AAILC,QAAAA,cAAc,EAAE,QAJX;AAKLC,QAAAA,UAAU,EAAE;AALP;AAFT,OAUEH,6BAACI,UAAD;AACE,MAAA,IAAI,EAAEC,eAAS,CAACC,SADlB;AAEE,MAAA,SAAS,EAAEC,gBAAU,CAACC,OAFxB;AAGE,MAAA,KAAK,EAAEb,KAAK,GAAG,KAHjB;AAIE,MAAA,MAAM,EAAEF,MAAM,GAAG;AAJnB,MAVF,CAFJ,GAqBIO,6BAACS,YAAD;AACE,MAAA,SAAS,EAAC,iDADZ;AAEE,MAAA,GAAG,EAAEV,4BAAA,CAA6BV,OAA7B,EAAsCC,MAAtC,CAFP;AAGE,MAAA,KAAK,EAAEK,KAHT;AAIE,MAAA,MAAM,EAAEF,MAJV;AAKE,MAAA,GAAG,EAAEJ,OAAO,CAACqB;AALf,MAvBG,GAiCPV,6BAACS,YAAD;AACE,MAAA,SAAS,EAAC,6CADZ;AAEE,MAAA,GAAG,EAAEV,4BAAA,CAA6BV,OAA7B,EAAsCC,MAAtC,CAFP;AAGE,MAAA,KAAK,EAAKK,KAAK,OAHjB;AAIE,MAAA,MAAM,EAAKF,MAAM,OAJnB;AAKE,MAAA,GAAG,EAAEJ,OAAO,CAACqB;AALf,MAlC+B;AA0CpC,GA1C6B,EA0C5B,CAACrB,OAAO,CAACsB,OAAT,EAAkBtB,OAAO,CAACuB,QAA1B,EAAoCrB,KAApC,CA1C4B,CAA9B;AA2CA,SACES,4DAAIH,cAAJ,CADF;AAGD;;;;"} \ No newline at end of file diff --git a/dist/cjs/index-a8367321.js b/dist/cjs/index-a8367321.js new file mode 100644 index 0000000..bd8eac1 --- /dev/null +++ b/dist/cjs/index-a8367321.js @@ -0,0 +1,259 @@ +'use strict'; + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var LocalizationContext = require('./LocalizationContext-12a9343d.js'); +var React = require('react'); +var React__default = _interopDefault(React); +var PropTypes = _interopDefault(require('prop-types')); +var index = require('./index-2a2230b8.js'); + +var InputLabel = function InputLabel(_ref) { + var children = _ref.children; + return React__default.createElement(index.Label, { + type: index.LabelTypography.CAPTION_3, + color: index.LabelColors.ONBACKGROUND_1, + className: "sendbird-input-label" + }, children); +}; +InputLabel.propTypes = { + children: PropTypes.string.isRequired +}; // future: add validations? onChange? more props etc etc + +var Input = React__default.forwardRef(function (props, ref) { + var value = props.value, + placeHolder = props.placeHolder, + disabled = props.disabled, + name = props.name, + required = props.required; + + var _useState = React.useState(value), + _useState2 = LocalizationContext._slicedToArray(_useState, 2), + inputValue = _useState2[0], + setInputValue = _useState2[1]; + + return React__default.createElement("div", { + className: "sendbird-input" + }, React__default.createElement("input", { + required: required, + ref: ref, + name: name, + disabled: disabled, + value: inputValue, + className: "sendbird-input--input", + onChange: function onChange(e) { + setInputValue(e.target.value); + } + }), placeHolder && !inputValue && React__default.createElement(index.Label, { + className: "sendbird-input--placeholder", + type: index.LabelTypography.BODY_1, + color: index.LabelColors.ONBACKGROUND_3 + }, placeHolder)); +}); +Input.propTypes = { + value: PropTypes.string, + placeHolder: PropTypes.string, + name: PropTypes.string.isRequired, + disabled: PropTypes.bool, + required: PropTypes.bool +}; +Input.defaultProps = { + value: '', + placeHolder: '', + disabled: false, + required: false +}; + +function MutedAvatarOverlay(props) { + var _a = props.height, + height = _a === void 0 ? 24 : _a, + _b = props.width, + width = _b === void 0 ? 24 : _b; + return React__default.createElement("div", { + className: "sendbird-muted-avatar", + style: { + height: height + "px", + width: width + "px" + } + }, React__default.createElement("div", { + className: "sendbird-muted-avatar__icon" + }, React__default.createElement("div", { + className: "sendbird-muted-avatar__bg", + style: { + height: height + "px", + width: width + "px" + } + }), React__default.createElement(index.Icon, { + type: index.IconTypes.MUTE, + fillColor: index.IconColors.WHITE, + width: height - 8 + "px", + height: width - 8 + "px" + }))); +} + +function Checkbox(_ref) { + var id = _ref.id, + checked = _ref.checked, + onChange = _ref.onChange; + + var _useState = React.useState(checked), + _useState2 = LocalizationContext._slicedToArray(_useState, 2), + isChecked = _useState2[0], + setCheck = _useState2[1]; + + return React__default.createElement("label", { + className: "sendbird-checkbox", + htmlFor: id + }, React__default.createElement("input", { + id: id, + type: "checkbox", + checked: isChecked, + onClick: function onClick() { + return setCheck(!isChecked); + }, + onChange: onChange + }), React__default.createElement("span", { + className: "sendbird-checkbox--checkmark" + })); +} +Checkbox.propTypes = { + id: PropTypes.string, + checked: PropTypes.bool, + onChange: PropTypes.func +}; +Checkbox.defaultProps = { + id: 'sendbird-checkbox-input', + checked: false, + onChange: function onChange() {} +}; + +var COMPONENT_NAME = 'sendbird-user-list-item'; +function UserListItem(_ref) { + var user = _ref.user, + className = _ref.className, + checkBox = _ref.checkBox, + _ref$disableMessaging = _ref.disableMessaging, + disableMessaging = _ref$disableMessaging === void 0 ? false : _ref$disableMessaging, + currentUser = _ref.currentUser, + checked = _ref.checked, + _onChange = _ref.onChange, + action = _ref.action; + var injectingClassNames = Array.isArray(className) ? className : [className]; + var uniqueKey = user.userId; + var actionRef = React__default.useRef(null); + var parentRef = React__default.useRef(null); + var avatarRef = React__default.useRef(null); + + var _useContext = React.useContext(index.UserProfileContext), + disableUserProfile = _useContext.disableUserProfile, + renderUserProfile = _useContext.renderUserProfile; + + var _useContext2 = React.useContext(LocalizationContext.LocalizationContext), + stringSet = _useContext2.stringSet; + + return React__default.createElement("div", { + ref: parentRef, + className: [COMPONENT_NAME].concat(LocalizationContext._toConsumableArray(injectingClassNames)).join(' ') + }, user.isMuted && React__default.createElement(MutedAvatarOverlay, { + height: 40, + width: 40 + }), React__default.createElement(index.ContextMenu, { + menuTrigger: function menuTrigger(toggleDropdown) { + return React__default.createElement(index.Avatar, { + onClick: function onClick() { + if (!disableUserProfile) { + toggleDropdown(); + } + }, + ref: avatarRef, + className: "".concat(COMPONENT_NAME, "__avatar"), + src: user.profileUrl, + width: "40px", + height: "40px" + }); + }, + menuItems: function menuItems(closeDropdown) { + return React__default.createElement(index.MenuItems, { + openLeft: true, + parentRef: avatarRef // for catching location(x, y) of MenuItems + , + parentContainRef: avatarRef // for toggling more options(menus & reactions) + , + closeDropdown: closeDropdown, + style: { + paddingTop: 0, + paddingBottom: 0 + } + }, renderUserProfile ? renderUserProfile({ + user: user, + currentUserId: currentUser, + close: closeDropdown + }) : React__default.createElement(index.UserProfile, { + disableMessaging: disableMessaging, + user: user, + currentUserId: currentUser, + onSuccess: closeDropdown + })); + } + }), React__default.createElement(index.Label, { + className: "".concat(COMPONENT_NAME, "__title"), + type: index.LabelTypography.SUBTITLE_1, + color: index.LabelColors.ONBACKGROUND_1 + }, user.nickname || stringSet.NO_NAME, currentUser === user.userId && ' (You)'), // if there is now nickname, display userId + !user.nickname && React__default.createElement(index.Label, { + className: "".concat(COMPONENT_NAME, "__subtitle"), + type: index.LabelTypography.CAPTION_3, + color: index.LabelColors.ONBACKGROUND_2 + }, user.userId), checkBox && // eslint-disable-next-line jsx-a11y/label-has-associated-control + React__default.createElement("label", { + className: "".concat(COMPONENT_NAME, "__checkbox"), + htmlFor: uniqueKey + }, React__default.createElement(Checkbox, { + id: uniqueKey, + checked: checked, + onChange: function onChange(event) { + return _onChange(event); + } + })), user.role === 'operator' && React__default.createElement(index.Label, { + className: "".concat(COMPONENT_NAME, "__operator"), + type: index.LabelTypography.SUBTITLE_2, + color: index.LabelColors.ONBACKGROUND_2 + }, "Operator"), action && React__default.createElement("div", { + ref: actionRef, + className: "".concat(COMPONENT_NAME, "__action") + }, action({ + actionRef: actionRef, + parentRef: parentRef + }))); +} +UserListItem.propTypes = { + user: PropTypes.shape({ + userId: PropTypes.string, + role: PropTypes.string, + isMuted: PropTypes.bool, + nickname: PropTypes.string, + profileUrl: PropTypes.string + }).isRequired, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + disableMessaging: PropTypes.bool, + currentUser: PropTypes.string, + action: PropTypes.element, + checkBox: PropTypes.bool, + checked: PropTypes.bool, + onChange: PropTypes.func +}; +UserListItem.defaultProps = { + className: '', + currentUser: '', + checkBox: false, + disableMessaging: false, + checked: false, + action: null, + onChange: function onChange() {} +}; + +exports.Input = Input; +exports.InputLabel = InputLabel; +exports.MutedAvatarOverlay = MutedAvatarOverlay; +exports.UserListItem = UserListItem; +//# sourceMappingURL=index-a8367321.js.map diff --git a/dist/cjs/index-a8367321.js.map b/dist/cjs/index-a8367321.js.map new file mode 100644 index 0000000..ccf2990 --- /dev/null +++ b/dist/cjs/index-a8367321.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-49dfd24f.js","sources":["../../../src/ui/Input/index.jsx","../../../src/ui/Avatar/MutedAvatarOverlay.tsx","../../../src/ui/Checkbox/index.jsx","../../../src/ui/UserListItem/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport './index.scss';\n\nexport const InputLabel = ({ children }) => (\n \n {children}\n \n);\n\nInputLabel.propTypes = {\n children: PropTypes.string.isRequired,\n};\n\n// future: add validations? onChange? more props etc etc\nconst Input = React.forwardRef((props, ref) => {\n const {\n value,\n placeHolder,\n disabled,\n name,\n required,\n } = props;\n const [inputValue, setInputValue] = useState(value);\n return (\n
\n {\n setInputValue(e.target.value);\n }}\n />\n {(placeHolder && !inputValue) && (\n \n {placeHolder}\n \n )}\n
\n );\n});\n\nInput.propTypes = {\n value: PropTypes.string,\n placeHolder: PropTypes.string,\n name: PropTypes.string.isRequired,\n disabled: PropTypes.bool,\n required: PropTypes.bool,\n};\n\nInput.defaultProps = {\n value: '',\n placeHolder: '',\n disabled: false,\n required: false,\n};\n\nexport default Input;\n","import './muted-avatar-overlay.scss';\n\nimport React, { ReactElement } from 'react'\nimport Icon, { IconTypes, IconColors } from '../Icon';\n\ninterface Props {\n height?: number;\n width?: number;\n}\n\nexport default function MutedAvatarOverlay(props: Props): ReactElement {\n const { height = 24, width = 24 } = props;\n return (\n \n
\n \n \n
\n
\n );\n}\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nexport default function Checkbox({\n id,\n checked,\n onChange,\n}) {\n const [isChecked, setCheck] = useState(checked);\n return (\n \n );\n}\n\nCheckbox.propTypes = {\n id: PropTypes.string,\n checked: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\nCheckbox.defaultProps = {\n id: 'sendbird-checkbox-input',\n checked: false,\n onChange: () => { },\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Avatar from '../Avatar/index';\nimport MutedAvatarOverlay from '../Avatar/MutedAvatarOverlay';\nimport Checkbox from '../Checkbox';\nimport UserProfile from '../UserProfile';\nimport ContextMenu, { MenuItems } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nimport './index.scss';\n\nconst COMPONENT_NAME = 'sendbird-user-list-item';\n\nexport default function UserListItem({\n user,\n className,\n checkBox,\n disableMessaging = false,\n currentUser,\n checked,\n onChange,\n action,\n}) {\n const injectingClassNames = Array.isArray(className) ? className : [className];\n const uniqueKey = user.userId;\n const actionRef = React.useRef(null);\n const parentRef = React.useRef(null);\n const avatarRef = React.useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n {\n user.isMuted && (\n \n )\n }\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n className={`${COMPONENT_NAME}__avatar`}\n src={user.profileUrl}\n width=\"40px\"\n height=\"40px\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n \n {user.nickname || stringSet.NO_NAME}\n {\n (currentUser === user.userId) && (\n ' (You)'\n )\n }\n \n { // if there is now nickname, display userId\n !user.nickname && (\n \n {user.userId}\n \n )\n }\n {\n checkBox && (\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n \n onChange(event)}\n />\n \n )\n }\n {\n user.role === 'operator' && (\n \n Operator\n \n )\n }\n {\n action && (\n
\n { action({ actionRef, parentRef }) }\n
\n )\n }\n \n );\n}\n\nUserListItem.propTypes = {\n user: PropTypes.shape({\n userId: PropTypes.string,\n role: PropTypes.string,\n isMuted: PropTypes.bool,\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n }).isRequired,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n disableMessaging: PropTypes.bool,\n currentUser: PropTypes.string,\n action: PropTypes.element,\n checkBox: PropTypes.bool,\n checked: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\n\nUserListItem.defaultProps = {\n className: '',\n currentUser: '',\n checkBox: false,\n disableMessaging: false,\n checked: false,\n action: null,\n onChange: () => { },\n};\n"],"names":["InputLabel","children","React","Label","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_1","propTypes","PropTypes","string","isRequired","Input","forwardRef","props","ref","value","placeHolder","disabled","name","required","useState","inputValue","setInputValue","e","target","BODY_1","ONBACKGROUND_3","bool","defaultProps","MutedAvatarOverlay","_a","height","_b","width","Icon","IconTypes","MUTE","IconColors","WHITE","Checkbox","id","checked","onChange","isChecked","setCheck","func","COMPONENT_NAME","UserListItem","user","className","checkBox","disableMessaging","currentUser","action","injectingClassNames","Array","isArray","uniqueKey","userId","actionRef","useRef","parentRef","avatarRef","useContext","UserProfileContext","disableUserProfile","renderUserProfile","LocalizationContext","stringSet","join","isMuted","ContextMenu","toggleDropdown","Avatar","profileUrl","closeDropdown","MenuItems","paddingTop","paddingBottom","currentUserId","close","UserProfile","SUBTITLE_1","nickname","NO_NAME","ONBACKGROUND_2","event","role","SUBTITLE_2","shape","oneOfType","arrayOf","element"],"mappings":"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"} \ No newline at end of file diff --git a/dist/cjs/index-ccc7b14d.js b/dist/cjs/index-ccc7b14d.js new file mode 100644 index 0000000..7d95efc --- /dev/null +++ b/dist/cjs/index-ccc7b14d.js @@ -0,0 +1,92 @@ +'use strict'; + +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var React = require('react'); +var React__default = _interopDefault(React); +var index = require('./index-2a2230b8.js'); +var utils = require('./utils-6aedec02.js'); + +var Context = React__default.createContext({ + opened: '', + setOpened: utils.noop +}); +var Consumer = Context.Consumer; +var Provider = Context.Provider; + +// Wraps all the accordions in an accordion set +function AccordionGroup(_a) { + var children = _a.children, + _b = _a.className, + className = _b === void 0 ? '' : _b; + + var _c = React.useState(''), + opened = _c[0], + setOpened = _c[1]; + + return React__default.createElement(Provider, { + value: { + opened: opened, + setOpened: setOpened + } + }, React__default.createElement("div", { + className: className + }, children)); +} + +function Accordion(_a) { + var id = _a.id, + renderTitle = _a.renderTitle, + renderContent = _a.renderContent, + renderFooter = _a.renderFooter, + className = _a.className; + + var _b = React.useState(false), + showAccordion = _b[0], + setShowAccordion = _b[1]; + + return React__default.createElement(Consumer, null, function (value) { + var opened = value.opened, + setOpened = value.setOpened; + + if (id === opened) { + setShowAccordion(true); + } else { + setShowAccordion(false); + } + + var handleClick = function handleClick() { + if (showAccordion) { + setOpened(''); + } else { + setOpened(id); + } + }; + + return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", { + id: id, + role: "switch", + "aria-checked": false, + tabIndex: 0, + onKeyDown: handleClick, + className: "sendbird-accordion__panel-heder " + className, + onClick: handleClick + }, renderTitle(), React__default.createElement(index.Icon, { + type: index.IconTypes.CHEVRON_RIGHT, + className: ['sendbird-accordion__panel-icon-right', 'sendbird-accordion__panel-icon--chevron', showAccordion ? 'sendbird-accordion__panel-icon--open' : ''].join(' '), + height: "24px", + width: "24px" + })), showAccordion && React__default.createElement("div", { + className: "sendbird-accordion" + }, React__default.createElement("div", { + className: "sendbird-accordion__list" + }, renderContent()), renderFooter && React__default.createElement("div", { + className: "sendbird-accordion__footer" + }, renderFooter()))); + }); +} +var AccordionGroup$1 = AccordionGroup; + +exports.Accordion = Accordion; +exports.AccordionGroup = AccordionGroup$1; +//# sourceMappingURL=index-ccc7b14d.js.map diff --git a/dist/cjs/index-ccc7b14d.js.map b/dist/cjs/index-ccc7b14d.js.map new file mode 100644 index 0000000..6b2610b --- /dev/null +++ b/dist/cjs/index-ccc7b14d.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-cb09a8ab.js","sources":["../../../src/ui/Accordion/context.ts","../../../src/ui/Accordion/AccordionGroup.tsx","../../../src/ui/Accordion/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport { noop } from '../../utils/utils';\n\ninterface ContextValue {\n setOpened(accordion: string): void;\n opened: string;\n}\n\nconst Context = React.createContext({\n opened: '', // mock default value\n setOpened: noop,\n});\n\nexport const Consumer = Context.Consumer;\nexport const Provider = Context.Provider;\n","// Wraps all the accordions in an accordion set\n// keep one accordion open at a time\nimport React, { ReactElement, useState } from 'react';\n\nimport { Provider } from './context';\n\ninterface Props {\n children: Array | ReactElement;\n defaultOpened?: string;\n className?: string;\n}\n\nexport default function AccordionGroup({\n children,\n className = '',\n}: Props): ReactElement {\n const [opened, setOpened] = useState('');\n return (\n \n
{ children }
\n
\n )\n}\n","import './index.scss';\n\nimport React, { ReactElement, useState } from 'react';\n\nimport AccordionGroup_ from './AccordionGroup';\nimport { Consumer } from './context';\n\nimport Icon, {\n IconTypes,\n} from '../Icon';\n\ninterface Props {\n id: string;\n className?: string;\n renderTitle(): ReactElement;\n renderContent(): ReactElement;\n renderFooter?(): ReactElement;\n}\n\nexport default function Accordion({\n id,\n renderTitle,\n renderContent,\n renderFooter,\n className,\n}: Props): ReactElement {\n const [showAccordion, setShowAccordion] = useState(false);\n return (\n \n {\n (value) => {\n const { opened, setOpened } = value;\n if (id === opened) {\n setShowAccordion(true);\n } else {\n setShowAccordion(false);\n }\n const handleClick = () => {\n if (showAccordion) {\n setOpened('');\n } else {\n setOpened(id);\n }\n }\n return (\n <>\n \n { renderTitle() }\n \n \n {\n showAccordion && (\n
\n
\n { renderContent() }\n
\n {\n renderFooter && (\n
\n { renderFooter() }\n
\n )\n }\n
\n )\n }\n );\n }\n }\n
\n )\n}\n\nexport const AccordionGroup = AccordionGroup_;\n"],"names":["Context","React","createContext","opened","setOpened","noop","Consumer","Provider","AccordionGroup","_a","children","_b","className","_c","useState","Accordion","id","renderTitle","renderContent","renderFooter","showAccordion","setShowAccordion","value","handleClick","Icon","IconTypes","CHEVRON_RIGHT","join","AccordionGroup_"],"mappings":";;;;;;;;;AASA,IAAMA,OAAO,GAAGC,cAAK,CAACC,aAAN,CAAkC;AAChDC,EAAAA,MAAM,EAAE,EADwC;AAEhDC,EAAAA,SAAS,EAAEC;AAFqC,CAAlC,CAAhB;AAKO,IAAMC,QAAQ,GAAGN,OAAO,CAACM,QAAzB;AACA,IAAMC,QAAQ,GAAGP,OAAO,CAACO,QAAzB;;ACfP;AACA,SAWwBC,eAAeC;MACrCC,QAAQ;MACRC;MAAAC,SAAS,mBAAG;;AAEN,MAAAC,KAAsBC,cAAQ,CAAC,EAAD,CAA9B;AAAA,MAACX,MAAM,QAAP;AAAA,MAASC,SAAS,QAAlB;;AACN,SACEH,6BAAC,QAAD;AAAU,IAAA,KAAK,EAAE;AAAEE,MAAAA,MAAM,QAAR;AAAUC,MAAAA,SAAS;AAAnB;AAAjB,KACEH;AAAK,IAAA,SAAS,EAAEW;AAAhB,KAA6BF,QAA7B,CADF,CADF;AAKD;;SCHuBK,UAAUN;MAChCO,EAAE;MACFC,WAAW;MACXC,aAAa;MACbC,YAAY;MACZP,SAAS;;AAEH,MAAAD,KAAoCG,cAAQ,CAAC,KAAD,CAA5C;AAAA,MAACM,aAAa,QAAd;AAAA,MAAgBC,gBAAgB,QAAhC;;AACN,SACEpB,6BAAC,QAAD,QAEI,UAACqB,KAAD;AACU,QAAAnB,MAAM,GAAgBmB,KAAK,OAA3B;AAAA,QAAQlB,SAAS,GAAKkB,KAAK,UAA3B;;AACR,QAAIN,EAAE,KAAKb,MAAX,EAAmB;AACjBkB,MAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACD,KAFD,MAEO;AACLA,MAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACD;;AACD,QAAME,WAAW,GAAG,SAAdA,WAAc;AAClB,UAAIH,aAAJ,EAAmB;AACjBhB,QAAAA,SAAS,CAAC,EAAD,CAAT;AACD,OAFD,MAEO;AACLA,QAAAA,SAAS,CAACY,EAAD,CAAT;AACD;AACF,KAND;;AAOA,WACEf,4DACEA;AACE,MAAA,EAAE,EAAEe,EADN;AAEE,MAAA,IAAI,EAAC,QAFP;AAGE,sBAAc,KAHhB;AAIE,MAAA,QAAQ,EAAE,CAJZ;AAKE,MAAA,SAAS,EAAEO,WALb;AAME,MAAA,SAAS,EAAE,qCAAmCX,SANhD;AAOE,MAAA,OAAO,EAAEW;AAPX,OASIN,WAAW,EATf,EAUEhB,6BAACuB,UAAD;AACE,MAAA,IAAI,EAAEC,eAAS,CAACC,aADlB;AAEE,MAAA,SAAS,EAAE,CACT,sCADS,EAET,yCAFS,EAGRN,aAAa,GAAG,sCAAH,GAA4C,EAHjD,EAITO,IAJS,CAIJ,GAJI,CAFb;AAOE,MAAA,MAAM,EAAC,MAPT;AAQE,MAAA,KAAK,EAAC;AARR,MAVF,CADF,EAuBIP,aAAa,IACXnB;AAAK,MAAA,SAAS,EAAC;AAAf,OACEA;AAAK,MAAA,SAAS,EAAC;AAAf,OACIiB,aAAa,EADjB,CADF,EAKIC,YAAY,IACVlB;AAAK,MAAA,SAAS,EAAC;AAAf,OACIkB,YAAY,EADhB,CANN,CAxBN,CADF;AAwCD,GAxDL,CADF;AA6DD;AAED,IAAaX,gBAAc,GAAGoB;;;;;"} \ No newline at end of file diff --git a/dist/cjs/index.js b/dist/cjs/index.js index d514a06..33d2ce3 100644 --- a/dist/cjs/index.js +++ b/dist/cjs/index.js @@ -2,37 +2,43 @@ Object.defineProperty(exports, '__esModule', { value: true }); -var LocalizationContext = require('./LocalizationContext-9665649b.js'); +function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } + +var LocalizationContext = require('./LocalizationContext-12a9343d.js'); var SendbirdProvider = require('./SendbirdProvider.js'); -require('react'); +var React = require('react'); +var React__default = _interopDefault(React); require('prop-types'); require('sendbird'); require('./actionTypes-920b541f.js'); require('css-vars-ponyfill'); -var index$1 = require('./index-dfc2e550.js'); +var index$1 = require('./index-2a2230b8.js'); var ChannelList = require('./ChannelList.js'); +require('./index-9431d920.js'); require('./utils-6aedec02.js'); -require('./index-16cd2d77.js'); -require('./LeaveChannel-2b4f1405.js'); +require('./LeaveChannel-c93b4597.js'); require('date-fns/isToday'); require('date-fns/format'); require('date-fns/isYesterday'); require('./type-c7a3bee7.js'); require('./utils-a8277ca2.js'); require('react-dom'); -require('./index-005b875b.js'); +require('./index-a8367321.js'); var Channel = require('./Channel.js'); -require('./index-77ab2680.js'); +require('./index-5fe9ee1f.js'); require('date-fns/isSameDay'); require('./utils-c8e36c68.js'); require('date-fns/formatDistanceToNowStrict'); var ChannelSettings = require('./ChannelSettings.js'); -require('./index-fd689e05.js'); +require('./index-ccc7b14d.js'); var App = require('./App.js'); var OpenChannel = require('./OpenChannel.js'); var OpenChannelSettings = require('./OpenChannelSettings.js'); - +function useSendbirdStateContext() { + var context = React.useContext(LocalizationContext.SendbirdSdkContext); + return context; +} exports.getStringSet = LocalizationContext.getStringSet; exports.withSendBird = LocalizationContext.withSendbirdContext; @@ -47,4 +53,5 @@ exports.ChannelSettings = ChannelSettings; exports.App = App; exports.OpenChannel = OpenChannel.default; exports.OpenChannelSettings = OpenChannelSettings; +exports.useSendbirdStateContext = useSendbirdStateContext; //# sourceMappingURL=index.js.map diff --git a/dist/cjs/index.js.map b/dist/cjs/index.js.map index 9cfae49..c915dfe 100644 --- a/dist/cjs/index.js.map +++ b/dist/cjs/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../../../src/hooks/useSendbirdStateContext.tsx"],"sourcesContent":["import { useContext } from 'react';\n\nimport { SendbirdSdkContext } from '../lib/SendbirdSdkContext';\nimport { SendBirdState } from '../index';\n\nfunction useSendbirdStateContext (): SendBirdState {\n const context: SendBirdState = useContext(SendbirdSdkContext);\n return context;\n}\n\nexport default useSendbirdStateContext;\n"],"names":["useSendbirdStateContext","context","useContext","SendbirdSdkContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAASA,uBAAT;AACE,MAAMC,OAAO,GAAkBC,gBAAU,CAACC,sCAAD,CAAzC;AACA,SAAOF,OAAP;AACD;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/dist/cjs/utils-6aedec02.js.map b/dist/cjs/utils-6aedec02.js.map index 7c1c009..168d5bb 100644 --- a/dist/cjs/utils-6aedec02.js.map +++ b/dist/cjs/utils-6aedec02.js.map @@ -1 +1 @@ -{"version":3,"file":"utils-53ba1773.js","sources":["../../../src/ui/ChannelAvatar/utils.ts","../../../src/utils/utils.js"],"sourcesContent":["export const DEFAULT_URL_PREFIX = 'https://static.sendbird.com/sample/cover/cover_';\n\nexport const getOpenChannelAvatar = (channel: SendBird.OpenChannel): string => {\n if (channel && channel.coverUrl) {\n return channel.coverUrl;\n }\n};\n\nexport const getChannelAvatarSource = (channel: SendBird.GroupChannel, currentUserId: string): string | string[] => {\n if (channel && channel.coverUrl) {\n if (!(new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl))) {\n return channel.coverUrl;\n }\n }\n\n return channel && channel.members\n ? channel.members\n .filter((member) => member.userId !== currentUserId)\n .map(({ profileUrl }) => profileUrl)\n : [];\n};\n\n\nexport const useDefaultAvatar = (channel: SendBird.GroupChannel): boolean => {\n if (channel && channel.coverUrl) {\n if (new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl)) {\n return true;\n }\n return false;\n }\n return true;\n}\n","import format from 'date-fns/format';\n\nexport const noop = () => {};\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const getSenderName = (message) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\n\nexport const getSenderProfileUrl = (message) => message.sender && message.sender.profileUrl;\n\nexport default {\n getMessageCreatedAt,\n getSenderName,\n getSenderProfileUrl,\n};\n"],"names":["DEFAULT_URL_PREFIX","getOpenChannelAvatar","channel","coverUrl","getChannelAvatarSource","currentUserId","RegExp","test","members","filter","member","userId","map","_a","profileUrl","useDefaultAvatar","noop","getMessageCreatedAt","message","format","createdAt","getSenderName","sender","friendName","nickname","getSenderProfileUrl"],"mappings":";;;;;;AAAO,IAAMA,kBAAkB,GAAG,iDAA3B;IAEMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,OAAD;AAClC,MAAIA,OAAO,IAAIA,OAAO,CAACC,QAAvB,EAAiC;AAC/B,WAAOD,OAAO,CAACC,QAAf;AACD;AACF;IAEYC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACF,OAAD,EAAiCG,aAAjC;AACpC,MAAIH,OAAO,IAAIA,OAAO,CAACC,QAAvB,EAAiC;AAC/B,QAAI,CAAE,IAAIG,MAAJ,CAAW,MAAIN,kBAAf,EAAqCO,IAArC,CAA0CL,OAAO,CAACC,QAAlD,CAAN,EAAoE;AAClE,aAAOD,OAAO,CAACC,QAAf;AACD;AACF;;AAED,SAAOD,OAAO,IAAIA,OAAO,CAACM,OAAnB,GACHN,OAAO,CAACM,OAAR,CACCC,MADD,CACQ,UAACC,MAAD;AAAY,WAAAA,MAAM,CAACC,MAAP,KAAkBN,aAAlB;AAA+B,GADnD,EAECO,GAFD,CAEK,UAACC,EAAD;QAAGC,UAAU;AAAO,WAAAA,UAAA;AAAU,GAFnC,CADG,GAIH,EAJJ;AAKD;IAGYC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACb,OAAD;AAC9B,MAAIA,OAAO,IAAIA,OAAO,CAACC,QAAvB,EAAiC;AAC/B,QAAI,IAAIG,MAAJ,CAAW,MAAIN,kBAAf,EAAqCO,IAArC,CAA0CL,OAAO,CAACC,QAAlD,CAAJ,EAAiE;AAC/D,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD;;AACD,SAAO,IAAP;AACD;;IC7BYa,IAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB;AAEP,IAAaC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,OAAD;AAAA,SAAaC,MAAM,CAACD,OAAO,CAACE,SAAT,EAAoB,GAApB,CAAnB;AAAA,CAA5B;AAEP,IAAaC,aAAa,GAAG,SAAhBA,aAAgB,CAACH,OAAD;AAAA,SAC3BA,OAAO,CAACI,MAAR,KACEJ,OAAO,CAACI,MAAR,CAAeC,UAAf,IACGL,OAAO,CAACI,MAAR,CAAeE,QADlB,IAEGN,OAAO,CAACI,MAAR,CAAeX,MAHpB,CAD2B;AAAA,CAAtB;AAQP,IAAac,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACP,OAAD;AAAA,SAAaA,OAAO,CAACI,MAAR,IAAkBJ,OAAO,CAACI,MAAR,CAAeR,UAA9C;AAAA,CAA5B;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"utils-53ba1773.js","sources":["../../../src/ui/ChannelAvatar/utils.ts","../../../src/utils/utils.js"],"sourcesContent":["export const DEFAULT_URL_PREFIX = 'https://static.sendbird.com/sample/cover/cover_';\n\nexport const getOpenChannelAvatar = (channel: SendBird.OpenChannel): string => {\n if (channel && channel.coverUrl) {\n return channel.coverUrl;\n }\n};\n\nexport const getChannelAvatarSource = (channel: SendBird.GroupChannel, currentUserId: string): string | Array => {\n if (channel && channel.coverUrl) {\n if (!(new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl))) {\n return channel.coverUrl;\n }\n }\n\n return channel && channel.members\n ? channel.members\n .filter((member) => member.userId !== currentUserId)\n .map(({ profileUrl }) => profileUrl)\n : [];\n};\n\n\nexport const useDefaultAvatar = (channel: SendBird.GroupChannel): boolean => {\n if (channel && channel.coverUrl) {\n if (new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl)) {\n return true;\n }\n return false;\n }\n return true;\n}\n","import format from 'date-fns/format';\n\nexport const noop = () => {};\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const getSenderName = (message) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\n\nexport const getSenderProfileUrl = (message) => message.sender && message.sender.profileUrl;\n\nexport default {\n getMessageCreatedAt,\n getSenderName,\n getSenderProfileUrl,\n};\n"],"names":["DEFAULT_URL_PREFIX","getOpenChannelAvatar","channel","coverUrl","getChannelAvatarSource","currentUserId","RegExp","test","members","filter","member","userId","map","_a","profileUrl","useDefaultAvatar","noop","getMessageCreatedAt","message","format","createdAt","getSenderName","sender","friendName","nickname","getSenderProfileUrl"],"mappings":";;;;;;AAAO,IAAMA,kBAAkB,GAAG,iDAA3B;IAEMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,OAAD;AAClC,MAAIA,OAAO,IAAIA,OAAO,CAACC,QAAvB,EAAiC;AAC/B,WAAOD,OAAO,CAACC,QAAf;AACD;AACF;IAEYC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACF,OAAD,EAAiCG,aAAjC;AACpC,MAAIH,OAAO,IAAIA,OAAO,CAACC,QAAvB,EAAiC;AAC/B,QAAI,CAAE,IAAIG,MAAJ,CAAW,MAAIN,kBAAf,EAAqCO,IAArC,CAA0CL,OAAO,CAACC,QAAlD,CAAN,EAAoE;AAClE,aAAOD,OAAO,CAACC,QAAf;AACD;AACF;;AAED,SAAOD,OAAO,IAAIA,OAAO,CAACM,OAAnB,GACHN,OAAO,CAACM,OAAR,CACCC,MADD,CACQ,UAACC,MAAD;AAAY,WAAAA,MAAM,CAACC,MAAP,KAAkBN,aAAlB;AAA+B,GADnD,EAECO,GAFD,CAEK,UAACC,EAAD;QAAGC,UAAU;AAAO,WAAAA,UAAA;AAAU,GAFnC,CADG,GAIH,EAJJ;AAKD;IAGYC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACb,OAAD;AAC9B,MAAIA,OAAO,IAAIA,OAAO,CAACC,QAAvB,EAAiC;AAC/B,QAAI,IAAIG,MAAJ,CAAW,MAAIN,kBAAf,EAAqCO,IAArC,CAA0CL,OAAO,CAACC,QAAlD,CAAJ,EAAiE;AAC/D,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD;;AACD,SAAO,IAAP;AACD;;IC7BYa,IAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB;AAEP,IAAaC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,OAAD;AAAA,SAAaC,MAAM,CAACD,OAAO,CAACE,SAAT,EAAoB,GAApB,CAAnB;AAAA,CAA5B;AAEP,IAAaC,aAAa,GAAG,SAAhBA,aAAgB,CAACH,OAAD;AAAA,SAC3BA,OAAO,CAACI,MAAR,KACEJ,OAAO,CAACI,MAAR,CAAeC,UAAf,IACGL,OAAO,CAACI,MAAR,CAAeE,QADlB,IAEGN,OAAO,CAACI,MAAR,CAAeX,MAHpB,CAD2B;AAAA,CAAtB;AAQP,IAAac,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACP,OAAD;AAAA,SAAaA,OAAO,CAACI,MAAR,IAAkBJ,OAAO,CAACI,MAAR,CAAeR,UAA9C;AAAA,CAA5B;;;;;;;;;;"} \ No newline at end of file diff --git a/dist/index.css b/dist/index.css index 7d8e3eb..108df0b 100644 --- a/dist/index.css +++ b/dist/index.css @@ -1,30 +1,3 @@ -.sendbird-openchannel-conversation { - position: relative; - display: flex; - flex-direction: column; - height: 100%; - width: 100%; } - .sendbird-theme--light .sendbird-openchannel-conversation { - background-color: var(--sendbird-light-background-50); } - .sendbird-theme--dark .sendbird-openchannel-conversation { - background-color: var(--sendbird-dark-background-500); } - .sendbird-openchannel-conversation .sendbird-openchannel-conversation-scroll { - overflow-y: auto; - flex: 1 1 0; - order: 2; - width: 100%; } - .sendbird-openchannel-conversation .sendbird-openchannel-footer { - order: 3; - padding: 12px 24px 24px 24px; } - .sendbird-openchannel-conversation .sendbird-openchannel-conversation-scroll-container { - display: flex; - height: 100%; - overflow-y: auto; - overflow-x: hidden; - flex-direction: column; } - .sendbird-openchannel-conversation .sendbird-openchannel-conversation-scroll-container .sendbird-openchannel-conversation-scroll-padding { - flex: 1 1 0; } - .sendbird-openchannel-settings { height: 100%; width: 320px; @@ -146,112 +119,32 @@ top: 10px; cursor: pointer; } -.sendbird-accordion { - padding: 8px 0px 16px 0px; +.sendbird-openchannel-conversation { position: relative; - box-sizing: border-box; } - .sendbird-theme--light .sendbird-accordion { - border-bottom: 1px solid var(--sendbird-light-onlight-04); + display: flex; + flex-direction: column; + height: 100%; + width: 100%; } + .sendbird-theme--light .sendbird-openchannel-conversation { background-color: var(--sendbird-light-background-50); } - .sendbird-theme--dark .sendbird-accordion { - border-bottom: 1px solid var(--sendbird-dark-ondark-04); - background-color: var(--sendbird-dark-background-600); } - .sendbird-accordion .sendbird-accordion__member { - position: relative; - padding: 12px 0px 12px 44px; - height: 40px; - box-sizing: border-box; } - .sendbird-accordion .sendbird-accordion__footer { + .sendbird-theme--dark .sendbird-openchannel-conversation { + background-color: var(--sendbird-dark-background-500); } + .sendbird-openchannel-conversation .sendbird-openchannel-conversation-scroll { + overflow-y: auto; + flex: 1 1 0; + order: 2; + width: 100%; } + .sendbird-openchannel-conversation .sendbird-openchannel-footer { + order: 3; + padding: 12px 24px 24px 24px; } + .sendbird-openchannel-conversation .sendbird-openchannel-conversation-scroll-container { display: flex; - justify-content: flex-start; - margin-top: 8px; } - -.sendbird-accordion__panel-heder { - cursor: pointer; - position: relative; - padding: 12px 22px 10px 56px; } - .sendbird-theme--light .sendbird-accordion__panel-heder { - background-color: var(--sendbird-light-background-50); - border-bottom: 1px solid var(--sendbird-light-onlight-04); } - .sendbird-theme--dark .sendbird-accordion__panel-heder { - background-color: var(--sendbird-dark-background-600); - border-bottom: 1px solid var(--sendbird-dark-ondark-04); } - .sendbird-accordion__panel-heder:focus { - outline: none; } - .sendbird-accordion__panel-heder.sendbird-accordion__panel-item__disabled { - cursor: not-allowed; } - -.sendbird-accordion__panel-icon-left, -.sendbird-accordion__panel-icon-right { - position: absolute; - top: 10px; } - -.sendbird-accordion__panel-icon-left { - left: 16px; } - -.sendbird-accordion__panel-icon-right { - right: 16px; } - -.sendbird-accordion__panel-icon--open { - transform: rotate(90deg); } - -.sendbird-theme--light .sendbird-accordion__panel-icon--chevron path { - fill: var(--sendbird-light-onlight-01); } - -.sendbird-theme--dark .sendbird-accordion__panel-icon--chevron path { - fill: var(--sendbird-dark-ondark-01); } - -.sendbird-theme--light .sendbird-accordion__panel-icon__leave path { - fill: var(--sendbird-light-error-300); } - -.sendbird-theme--dark .sendbird-accordion__panel-icon__leave path { - fill: var(--sendbird-dark-error-300); } - -.sendbird-frozen-channel-notification { - position: relative; - margin-top: 8px; - margin-right: 24px; - margin-left: 24px; - height: 32px; - display: flex; - align-items: center; - justify-content: center; - border-radius: 4px; } - .sendbird-theme--light .sendbird-frozen-channel-notification { - background-color: var(--sendbird-light-information-100); } - .sendbird-theme--dark .sendbird-frozen-channel-notification { - background-color: var(--sendbird-dark-information-100); } - -.sendbird-avatar { - display: inline-block; - overflow: hidden; - border-radius: 50%; - position: relative; } - .sendbird-avatar:focus { - outline: none; } - .sendbird-avatar .sendbird-avatar-img { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); } - .sendbird-avatar .sendbird-avatar--inner__two-child .sendbird-avatar-img:first-child { - transform: translate(2%, -50%); } - .sendbird-avatar .sendbird-avatar--inner__two-child .sendbird-avatar-img:last-child { - transform: translate(-102%, -50%); } - .sendbird-avatar .sendbird-avatar--inner__three-child--upper .sendbird-avatar-img:first-child { - transform: translate(-50%, -102%); } - .sendbird-avatar .sendbird-avatar--inner__three-child--lower .sendbird-avatar-img:first-child { - transform: translate(-77%, -23%) scale(0.5); } - .sendbird-avatar .sendbird-avatar--inner__three-child--lower .sendbird-avatar-img:last-child { - transform: translate(-23%, -23%) scale(0.5); } - .sendbird-avatar .sendbird-avatar--inner__four-child .sendbird-avatar-img:first-child { - transform: translate(-77%, -77%) scale(0.5); } - .sendbird-avatar .sendbird-avatar--inner__four-child .sendbird-avatar-img:nth-child(2) { - transform: translate(-23%, -77%) scale(0.5); } - .sendbird-avatar .sendbird-avatar--inner__four-child .sendbird-avatar-img:nth-child(3) { - transform: translate(-77%, -23%) scale(0.5); } - .sendbird-avatar .sendbird-avatar--inner__four-child .sendbird-avatar-img:last-child { - transform: translate(-23%, -23%) scale(0.5); } + height: 100%; + overflow-y: auto; + overflow-x: hidden; + flex-direction: column; } + .sendbird-openchannel-conversation .sendbird-openchannel-conversation-scroll-container .sendbird-openchannel-conversation-scroll-padding { + flex: 1 1 0; } .sendbird-openchannel-conversation-header { position: relative; @@ -291,6 +184,54 @@ align-items: center; justify-content: center; } +.sendbird-openchannel-conversation-header__left__cover-image--icon { + display: flex; + justify-content: center; + align-items: center; + border-radius: 50%; } + .sendbird-theme--light .sendbird-openchannel-conversation-header__left__cover-image--icon { + background-color: var(--sendbird-light-background-300); } + .sendbird-theme--dark .sendbird-openchannel-conversation-header__left__cover-image--icon { + background-color: var(--sendbird-dark-background-300); } + +.sendbird-avatar { + display: inline-block; + overflow: hidden; + border-radius: 50%; + position: relative; } + .sendbird-avatar:focus { + outline: none; } + .sendbird-avatar .sendbird-avatar-img { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + display: flex; + justify-content: center; + align-items: center; } + .sendbird-theme--light .sendbird-avatar .sendbird-avatar-img { + background-color: var(--sendbird-light-background-300); } + .sendbird-theme--dark .sendbird-avatar .sendbird-avatar-img { + background-color: var(--sendbird-dark-background-300); } + .sendbird-avatar .sendbird-avatar--inner__two-child .sendbird-avatar-img:first-child { + transform: translate(2%, -50%); } + .sendbird-avatar .sendbird-avatar--inner__two-child .sendbird-avatar-img:last-child { + transform: translate(-102%, -50%); } + .sendbird-avatar .sendbird-avatar--inner__three-child--upper .sendbird-avatar-img:first-child { + transform: translate(-50%, -102%); } + .sendbird-avatar .sendbird-avatar--inner__three-child--lower .sendbird-avatar-img:first-child { + transform: translate(-77%, -23%) scale(0.5); } + .sendbird-avatar .sendbird-avatar--inner__three-child--lower .sendbird-avatar-img:last-child { + transform: translate(-23%, -23%) scale(0.5); } + .sendbird-avatar .sendbird-avatar--inner__four-child .sendbird-avatar-img:first-child { + transform: translate(-77%, -77%) scale(0.5); } + .sendbird-avatar .sendbird-avatar--inner__four-child .sendbird-avatar-img:nth-child(2) { + transform: translate(-23%, -77%) scale(0.5); } + .sendbird-avatar .sendbird-avatar--inner__four-child .sendbird-avatar-img:nth-child(3) { + transform: translate(-77%, -23%) scale(0.5); } + .sendbird-avatar .sendbird-avatar--inner__four-child .sendbird-avatar-img:last-child { + transform: translate(-23%, -23%) scale(0.5); } + .sendbird__user-profile { width: 320px; border-radius: 4px; @@ -328,6 +269,67 @@ .sendbird__user-profile .sendbird__user-profile-userId--label { margin-bottom: 8px; } +.sendbird-accordion { + padding: 8px 0px 16px 0px; + position: relative; + box-sizing: border-box; } + .sendbird-theme--light .sendbird-accordion { + border-bottom: 1px solid var(--sendbird-light-onlight-04); + background-color: var(--sendbird-light-background-50); } + .sendbird-theme--dark .sendbird-accordion { + border-bottom: 1px solid var(--sendbird-dark-ondark-04); + background-color: var(--sendbird-dark-background-600); } + .sendbird-accordion .sendbird-accordion__member { + position: relative; + padding: 12px 0px 12px 44px; + height: 40px; + box-sizing: border-box; } + .sendbird-accordion .sendbird-accordion__footer { + display: flex; + justify-content: flex-start; + margin-top: 8px; } + +.sendbird-accordion__panel-heder { + cursor: pointer; + position: relative; + padding: 12px 22px 10px 56px; } + .sendbird-theme--light .sendbird-accordion__panel-heder { + background-color: var(--sendbird-light-background-50); + border-bottom: 1px solid var(--sendbird-light-onlight-04); } + .sendbird-theme--dark .sendbird-accordion__panel-heder { + background-color: var(--sendbird-dark-background-600); + border-bottom: 1px solid var(--sendbird-dark-ondark-04); } + .sendbird-accordion__panel-heder:focus { + outline: none; } + .sendbird-accordion__panel-heder.sendbird-accordion__panel-item__disabled { + cursor: not-allowed; } + +.sendbird-accordion__panel-icon-left, +.sendbird-accordion__panel-icon-right { + position: absolute; + top: 10px; } + +.sendbird-accordion__panel-icon-left { + left: 16px; } + +.sendbird-accordion__panel-icon-right { + right: 16px; } + +.sendbird-accordion__panel-icon--open { + transform: rotate(90deg); } + +.sendbird-theme--light .sendbird-accordion__panel-icon--chevron path { + fill: var(--sendbird-light-onlight-01); } + +.sendbird-theme--dark .sendbird-accordion__panel-icon--chevron path { + fill: var(--sendbird-dark-ondark-01); } + +.sendbird-theme--light .sendbird-accordion__panel-icon__leave path { + fill: var(--sendbird-light-error-300); } + +.sendbird-theme--dark .sendbird-accordion__panel-icon__leave path { + fill: var(--sendbird-dark-error-300); } + .sendbird-openchannel-profile { position: relative; text-align: center; @@ -354,12 +356,27 @@ top: 10px; right: 16px; } -.sendbird-openchannel-conversation-scroll { +.sendbird-frozen-channel-notification { position: relative; - width: 100%; } - .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container { - position: -webkit-sticky; - position: sticky; + margin-top: 8px; + margin-right: 24px; + margin-left: 24px; + height: 32px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 4px; } + .sendbird-theme--light .sendbird-frozen-channel-notification { + background-color: var(--sendbird-light-information-100); } + .sendbird-theme--dark .sendbird-frozen-channel-notification { + background-color: var(--sendbird-dark-information-100); } + +.sendbird-openchannel-conversation-scroll { + position: relative; + width: 100%; } + .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container { + position: -webkit-sticky; + position: sticky; width: 100%; bottom: 0px; height: 100%; } @@ -485,21 +502,152 @@ .sendbird-theme--dark .sendbird-openchannel-user-message .sendbird-openchannel-user-message__context-menu .sendbird-openchannel-user-message__context-menu--icon:hover { background-color: var(--sendbird-dark-background-700); } -.sendbird-openchannel-admin-message { +.sendbird-openchannel-og-message { position: relative; - margin: 16px 24px; - padding: 12px 16px; - border-radius: 4px; } - .sendbird-theme--light .sendbird-openchannel-admin-message { - background-color: var(--sendbird-light-background-100); } - .sendbird-theme--dark .sendbird-openchannel-admin-message { - background-color: var(--sendbird-dark-background-500); } - .sendbird-theme--light .sendbird-openchannel-admin-message:hover { + display: flex; + flex-direction: column; + width: 100%; } + .sendbird-theme--light .sendbird-openchannel-og-message:hover { background-color: var(--sendbird-light-background-100); } - .sendbird-theme--dark .sendbird-openchannel-admin-message:hover { + .sendbird-theme--dark .sendbird-openchannel-og-message:hover { background-color: var(--sendbird-dark-background-400); } - .sendbird-openchannel-admin-message .sendbird-openchannel-admin-message__text { - word-wrap: break-word; } + .sendbird-openchannel-og-message:hover .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__context-menu { + display: block; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top { + box-sizing: border-box; + position: relative; + display: flex; + flex-direction: row; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__left { + position: relative; + display: flex; + width: 52px; + min-width: 52px; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__left .sendbird-openchannel-og-message__top__left__avatar { + position: absolute; + display: flex; + top: 8px; + left: 24px; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__right { + position: relative; + display: flex; + box-sizing: border-box; + flex-direction: column; + margin: 8px 24px 8px 12px; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__right .sendbird-openchannel-og-message__top__right__title { + position: relative; + display: flex; + margin-bottom: 2px; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__right .sendbird-openchannel-og-message__top__right__title .sendbird-openchannel-og-message__top__right__title__sender-name { + position: relative; + display: flex; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__right .sendbird-openchannel-og-message__top__right__title .sendbird-openchannel-og-message__top__right__title__sent-at { + position: relative; + display: flex; + margin-left: 4px; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__right .sendbird-openchannel-og-message__top__right__description .sendbird-openchannel-og-message__top__right__description__message { + position: relative; + display: inline; + white-space: pre-wrap; + word-break: break-all; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__context-menu { + position: absolute; + right: 16px; + display: none; } + .sendbird-theme--light .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__context-menu .sendbird-openchannel-og-message__top__context-menu--icon { + background-color: var(--sendbird-light-background-200); } + .sendbird-theme--dark .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__context-menu .sendbird-openchannel-og-message__top__context-menu--icon { + background-color: var(--sendbird-dark-background-500); } + .sendbird-theme--light .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__context-menu .sendbird-openchannel-og-message__top__context-menu--icon:hover { + background-color: var(--sendbird-light-primary-100); } + .sendbird-theme--dark .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__context-menu .sendbird-openchannel-og-message__top__context-menu--icon:hover { + background-color: var(--sendbird-dark-background-700); } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom { + position: relative; + display: inline; + margin-bottom: 8px; + width: 100%; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag { + position: relative; + display: inline-block; + box-sizing: border-box; + width: calc(100% - 64px); + max-width: 360px; + left: 64px; + padding: 12px 12px 4px 12px; + border-radius: 8px; } + .sendbird-theme--light .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag { + border: solid 1px var(--sendbird-light-onlight-04); + background-color: var(--sendbird-light-background-100); } + .sendbird-theme--dark .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag { + border: solid 1px var(--sendbird-dark-ondark-04); + background-color: var(--sendbird-dark-background-500); } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__url { + position: relative; + display: block; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + margin-bottom: 8px; + max-width: 336px; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__title { + position: relative; + display: inline-block; + white-space: pre-wrap; + overflow-wrap: normal; + margin-bottom: 8px; + max-width: 336px; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__title:hover { + cursor: pointer; } + .sendbird-theme--light .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__title:hover { + color: var(--sendbird-light-primary-300); } + .sendbird-theme--dark .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__title:hover { + color: var(--sendbird-dark-primary-200); } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__description { + position: relative; + display: block; + white-space: pre-wrap; + overflow: hidden; + text-overflow: ellipsis; + word-break: break-all; + max-height: 32px; + margin-bottom: 8px; + width: 100%; + max-width: 336px; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__thumbnail { + box-sizing: border-box; + position: relative; + display: block; + margin-top: 4px; + margin-bottom: 8px; + width: 100%; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__thumbnail:hover { + cursor: pointer; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__thumbnail .sendbird-openchannel-og-message__bottom__og-tag__thumbnail__image { + border-radius: 8px; + width: 100%; + min-width: 200px; + max-width: 336px; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__thumbnail .sendbird-openchannel-og-message__bottom__og-tag__thumbnail__image--placeholder { + border-radius: 8px; + width: 100%; + min-width: 200px; + max-width: 336px; } + .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top__right__tail { + position: relative; + left: 64px; + top: 2px; } + +.sendbird-openchannel-og-message--word { + display: inline; + margin: 0px 2px; + word-break: break-all; } + +.sendbird-theme--light .sendbird-openchannel-og-message--word--link { + color: var(--sendbird-light-primary-300); } + +.sendbird-theme--dark .sendbird-openchannel-og-message--word--link { + color: var(--sendbird-dark-primary-200); } .sendbird-openchannel-thumbnail-message { position: relative; @@ -568,9 +716,9 @@ border-radius: 8px; cursor: pointer; } .sendbird-theme--light .sendbird-openchannel-thumbnail-message .sendbird-openchannel-thumbnail-message__right .sendbird-openchannel-thumbnail-message__right__body .sendbird-openchannel-thumbnail-message__right__body__wrap .sendbird-openchannel-thumbnail-message__right__body__wrap__overlay { - background-color: var(--sendbird-light-overlay); } + background-color: var(--sendbird-light-overlay-02); } .sendbird-theme--dark .sendbird-openchannel-thumbnail-message .sendbird-openchannel-thumbnail-message__right .sendbird-openchannel-thumbnail-message__right__body .sendbird-openchannel-thumbnail-message__right__body__wrap .sendbird-openchannel-thumbnail-message__right__body__wrap__overlay { - background-color: var(--sendbird-dark-overlay); } + background-color: var(--sendbird-dark-overlay-02); } .sendbird-openchannel-thumbnail-message .sendbird-openchannel-thumbnail-message__right .sendbird-openchannel-thumbnail-message__right__body .sendbird-openchannel-thumbnail-message__right__body__wrap .sendbird-openchannel-thumbnail-message__right__body__wrap__video { max-width: 360px; max-height: 360px; } @@ -616,27 +764,59 @@ top: 8px; right: 16px; } -.sendbird-channel-list { - width: 320px; +.sendbird-app__wrap { + width: 100%; height: 100%; display: flex; - flex-direction: column; } - .sendbird-theme--light .sendbird-channel-list { - background-color: var(--sendbird-light-background-50); - border: 1px solid var(--sendbird-light-onlight-04); } - .sendbird-theme--dark .sendbird-channel-list { - background-color: var(--sendbird-dark-background-600); - border: 1px solid var(--sendbird-dark-ondark-04); } - -.sendbird-channel-list__header { - height: 64px; - min-height: 64px; } + box-sizing: border-box; } + .sendbird-app__wrap .sendbird-app__searchpanel-wrap { + width: 320px; + overflow-y: scroll; + box-sizing: border-box; } + .sendbird-theme--light .sendbird-app__wrap .sendbird-app__searchpanel-wrap { + border-top: 1px solid var(--sendbird-light-onlight-04); + border-right: 1px solid var(--sendbird-light-onlight-04); + border-bottom: 1px solid var(--sendbird-light-onlight-04); } + .sendbird-theme--dark .sendbird-app__wrap .sendbird-app__searchpanel-wrap { + border-top: 1px solid var(--sendbird-dark-onlight-04); + border-right: 1px solid var(--sendbird-dark-onlight-04); + border-bottom: 1px solid var(--sendbird-dark-onlight-04); } + .sendbird-app__wrap .sendbird-app__conversation-wrap { + flex: 1; + position: relative; } + .sendbird-app__wrap .sendbird-app__channellist-wrap { + max-width: 320px; } + .sendbird-theme--light .sendbird-app__wrap .sendbird-app__channellist-wrap { + border-top: 1px solid var(--sendbird-light-onlight-04); + border-left: 1px solid var(--sendbird-light-onlight-04); + border-bottom: 1px solid var(--sendbird-light-onlight-04); } + .sendbird-theme--dark .sendbird-app__wrap .sendbird-app__channellist-wrap { + border-top: 1px solid var(--sendbird-dark-onlight-04); + border-left: 1px solid var(--sendbird-dark-onlight-04); + border-bottom: 1px solid var(--sendbird-dark-onlight-04); } + .sendbird-theme--light .sendbird-app__wrap .sendbird-app__conversation--settings-open .sendbird-chat-header__info { + background-color: var(--sendbird-light-primary-100); } + .sendbird-theme--dark .sendbird-app__wrap .sendbird-app__conversation--settings-open .sendbird-chat-header__info { + background-color: var(--sendbird-dark-background-700); } + .sendbird-app__wrap .sendbird-chat-header__search { + margin-right: 16px; } + .sendbird-theme--light .sendbird-app__wrap .sendbird-app__conversation--search-open .sendbird-chat-header__search { + background-color: var(--sendbird-light-primary-100); } + .sendbird-theme--dark .sendbird-app__wrap .sendbird-app__conversation--search-open .sendbird-chat-header__search { + background-color: var(--sendbird-dark-background-700); } + .sendbird-app__wrap .sendbird-channel-settings { + border-left: none; } + .sendbird-theme--light .sendbird-app__wrap .sendbird-channel-settings { + border: 1px solid var(--sendbird-light-onlight-04); + border-left: 0px; } + .sendbird-theme--dark .sendbird-app__wrap .sendbird-channel-settings { + border: 1px solid var(--sendbird-dark-ondark-04); + border-left: 0px; } + .sendbird-app__wrap .sendbird-channel-settings .sendbird-channel-settings__header { + height: 64px; } -.sendbird-channel-list__body { - flex: 1 1 0; - -ms-flex: 1; - overflow-y: auto; - overflow-x: hidden; } +.sendbird-chat-header__search { + margin-right: 16px; } .sendbird-openchannel-file-message { position: relative; @@ -720,172 +900,21 @@ .sendbird-theme--dark .sendbird-openchannel-file-message .sendbird-openchannel-file-message__context-menu .sendbird-openchannel-file-message__context-menu__icon:hover { background-color: var(--sendbird-dark-background-700); } -.sendbird-openchannel-og-message { +.sendbird-openchannel-admin-message { position: relative; - display: flex; - flex-direction: column; - width: 100%; } - .sendbird-theme--light .sendbird-openchannel-og-message:hover { + margin: 16px 24px; + padding: 12px 16px; + border-radius: 4px; } + .sendbird-theme--light .sendbird-openchannel-admin-message { background-color: var(--sendbird-light-background-100); } - .sendbird-theme--dark .sendbird-openchannel-og-message:hover { + .sendbird-theme--dark .sendbird-openchannel-admin-message { + background-color: var(--sendbird-dark-background-500); } + .sendbird-theme--light .sendbird-openchannel-admin-message:hover { + background-color: var(--sendbird-light-background-100); } + .sendbird-theme--dark .sendbird-openchannel-admin-message:hover { background-color: var(--sendbird-dark-background-400); } - .sendbird-openchannel-og-message:hover .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__context-menu { - display: block; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top { - box-sizing: border-box; - position: relative; - display: flex; - flex-direction: row; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__left { - position: relative; - display: flex; - width: 52px; - min-width: 52px; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__left .sendbird-openchannel-og-message__top__left__avatar { - position: absolute; - display: flex; - top: 8px; - left: 24px; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__right { - position: relative; - display: flex; - box-sizing: border-box; - flex-direction: column; - margin: 8px 24px 8px 12px; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__right .sendbird-openchannel-og-message__top__right__title { - position: relative; - display: flex; - margin-bottom: 2px; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__right .sendbird-openchannel-og-message__top__right__title .sendbird-openchannel-og-message__top__right__title__sender-name { - position: relative; - display: flex; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__right .sendbird-openchannel-og-message__top__right__title .sendbird-openchannel-og-message__top__right__title__sent-at { - position: relative; - display: flex; - margin-left: 4px; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__right .sendbird-openchannel-og-message__top__right__description .sendbird-openchannel-og-message__top__right__description__message { - position: relative; - display: inline; - white-space: pre-wrap; - word-break: break-all; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__context-menu { - position: absolute; - right: 16px; - display: none; } - .sendbird-theme--light .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__context-menu .sendbird-openchannel-og-message__top__context-menu--icon { - background-color: var(--sendbird-light-background-200); } - .sendbird-theme--dark .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__context-menu .sendbird-openchannel-og-message__top__context-menu--icon { - background-color: var(--sendbird-dark-background-500); } - .sendbird-theme--light .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__context-menu .sendbird-openchannel-og-message__top__context-menu--icon:hover { - background-color: var(--sendbird-light-primary-100); } - .sendbird-theme--dark .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top .sendbird-openchannel-og-message__top__context-menu .sendbird-openchannel-og-message__top__context-menu--icon:hover { - background-color: var(--sendbird-dark-background-700); } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom { - position: relative; - display: inline; - margin-bottom: 8px; - width: 100%; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag { - position: relative; - display: inline-block; - box-sizing: border-box; - width: calc(100% - 64px); - max-width: 360px; - left: 64px; - padding: 12px 12px 4px 12px; - border-radius: 8px; } - .sendbird-theme--light .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag { - border: solid 1px var(--sendbird-light-onlight-04); - background-color: var(--sendbird-light-background-100); } - .sendbird-theme--dark .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag { - border: solid 1px var(--sendbird-dark-ondark-04); - background-color: var(--sendbird-dark-background-500); } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__url { - position: relative; - display: block; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - margin-bottom: 8px; - max-width: 336px; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__title { - position: relative; - display: inline-block; - white-space: pre-wrap; - overflow-wrap: normal; - margin-bottom: 8px; - max-width: 336px; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__title:hover { - cursor: pointer; } - .sendbird-theme--light .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__title:hover { - color: var(--sendbird-light-primary-300); } - .sendbird-theme--dark .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__title:hover { - color: var(--sendbird-dark-primary-200); } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__description { - position: relative; - display: block; - white-space: pre-wrap; - overflow: hidden; - text-overflow: ellipsis; - word-break: break-all; - max-height: 32px; - margin-bottom: 8px; - width: 100%; - max-width: 336px; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__thumbnail { - box-sizing: border-box; - position: relative; - display: block; - margin-top: 4px; - margin-bottom: 8px; - width: 100%; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__thumbnail:hover { - cursor: pointer; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__thumbnail .sendbird-openchannel-og-message__bottom__og-tag__thumbnail__image { - border-radius: 8px; - width: 100%; - min-width: 200px; - max-width: 336px; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__bottom .sendbird-openchannel-og-message__bottom__og-tag .sendbird-openchannel-og-message__bottom__og-tag__thumbnail .sendbird-openchannel-og-message__bottom__og-tag__thumbnail__image--placeholder { - border-radius: 8px; - width: 100%; - min-width: 200px; - max-width: 336px; } - .sendbird-openchannel-og-message .sendbird-openchannel-og-message__top__right__tail { - position: relative; - left: 64px; - top: 2px; } - -.sendbird-openchannel-og-message--word { - display: inline; - margin: 0px 2px; - word-break: break-all; } - -.sendbird-theme--light .sendbird-openchannel-og-message--word--link { - color: var(--sendbird-light-primary-300); } - -.sendbird-theme--dark .sendbird-openchannel-og-message--word--link { - color: var(--sendbird-dark-primary-200); } - -.sendbird__edit-user-profile section { - margin-top: 16px; } - .sendbird__edit-user-profile section .sendbird-input-label { - display: block; - margin-bottom: 12px; } - -.sendbird__edit-user-profile .sendbird__edit-user-profile__img .sendbird-input-label { - margin-bottom: 12px; } - -.sendbird__edit-user-profile__img { - position: relative; } - -.sendbird__edit-user__avatar-button { - position: absolute; - top: 50px; - left: 96px; } - -.sendbird__edit-user__theme-icon .sendbird-icon { - cursor: pointer; } + .sendbird-openchannel-admin-message .sendbird-openchannel-admin-message__text { + word-wrap: break-word; } .sendbird-user-list-item--small { display: block; @@ -965,57 +994,36 @@ .sendbird-theme--dark .sendbird-muted-avatar .sendbird-muted-avatar__bg { background-color: var(--sendbird-dark-primary-300); } -.sendbird-conversation { - display: flex; - flex-direction: column; - height: 100%; } - .sendbird-theme--light .sendbird-conversation { - background-color: var(--sendbird-light-background-50); - border: 1px solid var(--sendbird-light-onlight-04); } - .sendbird-theme--dark .sendbird-conversation { - background-color: var(--sendbird-dark-background-600); - border: 1px solid var(--sendbird-dark-ondark-04); } - -.sendbird-conversation__messages { - overflow-y: auto; - flex: 1 1 0; - order: 2; } - -.sendbird-conversation__messages-list { +.sendbird-channel-list { + width: 320px; + height: 100%; display: flex; flex-direction: column; - height: 100%; - justify-content: flex-end; } + box-sizing: border-box; } + .sendbird-theme--light .sendbird-channel-list { + background-color: var(--sendbird-light-background-50); } + .sendbird-theme--dark .sendbird-channel-list { + background-color: var(--sendbird-dark-background-600); } -.sendbird-conversation__footer { - order: 3; - padding: 0px 24px 24px 24px; } +.sendbird-channel-list__header { + height: 64px; + min-height: 64px; } -.sendbird-conversation__scroll-container { - display: flex; - height: 100%; +.sendbird-channel-list__body { + flex: 1 1 0; + -ms-flex: 1; overflow-y: auto; - overflow-x: hidden; - flex-direction: column; } - .sendbird-conversation__scroll-container .sendbird-conversation__padding { - flex: 1 1 0; } - -.sendbird-conversation__footer { - position: relative; } - .sendbird-conversation__footer .sendbird-conversation__typing-indicator { - position: absolute; - bottom: 8px; } + overflow-x: hidden; } .sendbird-channel-settings { height: 100%; width: 320px; - display: inline-block; } + display: inline-block; + box-sizing: border-box; } .sendbird-theme--light .sendbird-channel-settings { - background-color: var(--sendbird-light-background-50); - border: 1px solid var(--sendbird-light-onlight-04); } + background-color: var(--sendbird-light-background-50); } .sendbird-theme--dark .sendbird-channel-settings { - background-color: var(--sendbird-dark-background-600); - border: 1px solid var(--sendbird-dark-ondark-04); } + background-color: var(--sendbird-dark-background-600); } .sendbird-channel-settings .sendbird-channel-settings__header-icon { cursor: pointer; position: absolute; @@ -1076,52 +1084,140 @@ .sendbird-theme--dark .sendbird-channel-settings .sendbird-channel-settings__panel-icon__leave path { fill: var(--sendbird-dark-error-300); } -.sendbird-channel-settings__operator .sendbird-channel-settings__accordion-icon { - position: absolute; - left: 14px; } +.sendbird__edit-user-profile section { + margin-top: 16px; } + .sendbird__edit-user-profile section .sendbird-input-label { + display: block; + margin-bottom: 12px; } -.sendbird-channel-settings__operator .sendbird-accordion__panel-heder { +.sendbird__edit-user-profile .sendbird__edit-user-profile__img .sendbird-input-label { + margin-bottom: 12px; } + +.sendbird__edit-user-profile__img { position: relative; } -.sendbird-channel-settings__empty-list { - text-align: center; - margin-top: 12px; - margin-bottom: 4px; - display: block; } +.sendbird__edit-user__avatar-button { + position: absolute; + top: 50px; + left: 96px; } -.sendbird-channel-settings-accordion__footer { - padding-top: 16px; - display: flex; - justify-content: left; - padding-left: 12px; } - .sendbird-channel-settings-accordion__footer .sendbird-button:nth-child(2) { - margin-left: 8px; } +.sendbird__edit-user__theme-icon .sendbird-icon { + cursor: pointer; } -.sendbird-channel-settings__freeze { - max-width: 320px; - position: relative; - padding: 12px 22px 10px 56px; } - .sendbird-theme--light .sendbird-channel-settings__freeze { +.sendbird-conversation { + display: flex; + flex-direction: column; + height: 100%; + box-sizing: border-box; } + .sendbird-theme--light .sendbird-conversation { background-color: var(--sendbird-light-background-50); - border-bottom: 1px solid var(--sendbird-light-onlight-04); } - .sendbird-theme--dark .sendbird-channel-settings__freeze { + border: 1px solid var(--sendbird-light-onlight-04); } + .sendbird-theme--dark .sendbird-conversation { background-color: var(--sendbird-dark-background-600); - border-bottom: 1px solid var(--sendbird-dark-ondark-04); } + border: 1px solid var(--sendbird-dark-ondark-04); } -.sendbird-channel-settings__frozen-icon { - position: absolute; - right: 20px; - top: 12px; } - .sendbird-channel-settings__frozen-icon .sendbird-icon { - cursor: pointer; } +.sendbird-conversation__messages { + overflow-y: auto; + flex: 1 1 0; + order: 2; } -.sendbird-channel-settings__members-list .sendbird-badge, -.sendbird-channel-settings__members .sendbird-badge { - position: absolute; - right: 44px; - top: 12px; } - .sendbird-theme--light .sendbird-channel-settings__members-list .sendbird-badge, .sendbird-theme--light - .sendbird-channel-settings__members .sendbird-badge { +.sendbird-conversation__messages-list { + display: flex; + flex-direction: column; + height: 100%; + justify-content: flex-end; } + +.sendbird-conversation__footer { + order: 3; + padding: 0px 24px 24px 24px; } + +@-webkit-keyframes example { + from { + background-color: #fffc8c; } + to { + .sendbird-theme--light & { + background-color: var(--sendbird-light-primary-200); } + .sendbird-theme--dark & { + background-color: var(--sendbird-dark-primary-400); } } } + +@keyframes example { + from { + background-color: #fffc8c; } + to { + .sendbird-theme--light & { + background-color: var(--sendbird-light-primary-200); } + .sendbird-theme--dark & { + background-color: var(--sendbird-dark-primary-400); } } } + +.sendbird-msg-hoc__animated .sendbird-user-message__text-balloon { + -webkit-animation-name: example; + animation-name: example; + -webkit-animation-duration: 1.6s; + animation-duration: 1.6s; + -webkit-animation-fill-mode: forwards; + animation-fill-mode: forwards; } + +.sendbird-conversation__scroll-container { + display: flex; + height: 100%; + overflow-y: auto; + overflow-x: hidden; + flex-direction: column; } + .sendbird-conversation__scroll-container .sendbird-conversation__padding { + flex: 1 1 0; } + +.sendbird-conversation__footer { + position: relative; } + .sendbird-conversation__footer .sendbird-conversation__typing-indicator { + position: absolute; + bottom: 8px; } + +.sendbird-channel-settings__operator .sendbird-channel-settings__accordion-icon { + position: absolute; + left: 14px; } + +.sendbird-channel-settings__operator .sendbird-accordion__panel-heder { + position: relative; } + +.sendbird-channel-settings__empty-list { + text-align: center; + margin-top: 12px; + margin-bottom: 4px; + display: block; } + +.sendbird-channel-settings-accordion__footer { + padding-top: 16px; + display: flex; + justify-content: left; + padding-left: 12px; } + .sendbird-channel-settings-accordion__footer .sendbird-button:nth-child(2) { + margin-left: 8px; } + +.sendbird-channel-settings__freeze { + max-width: 320px; + position: relative; + padding: 12px 22px 10px 56px; } + .sendbird-theme--light .sendbird-channel-settings__freeze { + background-color: var(--sendbird-light-background-50); + border-bottom: 1px solid var(--sendbird-light-onlight-04); } + .sendbird-theme--dark .sendbird-channel-settings__freeze { + background-color: var(--sendbird-dark-background-600); + border-bottom: 1px solid var(--sendbird-dark-ondark-04); } + +.sendbird-channel-settings__frozen-icon { + position: absolute; + right: 20px; + top: 12px; } + .sendbird-channel-settings__frozen-icon .sendbird-icon { + cursor: pointer; } + +.sendbird-channel-settings__members-list .sendbird-badge, +.sendbird-channel-settings__members .sendbird-badge { + position: absolute; + right: 44px; + top: 12px; } + .sendbird-theme--light .sendbird-channel-settings__members-list .sendbird-badge, .sendbird-theme--light + .sendbird-channel-settings__members .sendbird-badge { background-color: var(--sendbird-light-background-200); } .sendbird-theme--dark .sendbird-channel-settings__members-list .sendbird-badge, .sendbird-theme--dark .sendbird-channel-settings__members .sendbird-badge { @@ -1133,6 +1229,40 @@ .sendbird-channel-settings__members .sendbird-badge .sendbird-label { color: var(--sendbird-dark-ondark-02); } +.sendbird-notification { + margin-top: 8px; + margin-left: 24px; + margin-right: 24px; + border-radius: 4px; + padding: 0px 2px; + height: 32px; + display: flex; + align-items: center; + justify-content: center; } + .sendbird-theme--light .sendbird-notification { + background-color: var(--sendbird-light-primary-300); } + .sendbird-theme--dark .sendbird-notification { + background-color: var(--sendbird-dark-primary-200); } + .sendbird-notification:hover { + cursor: pointer; } + .sendbird-theme--light .sendbird-notification:hover { + background-color: var(--sendbird-light-primary-400); } + .sendbird-theme--dark .sendbird-notification:hover { + background-color: var(--sendbird-dark-primary-300); } + .sendbird-theme--light .sendbird-notification.sendbird-notification--frozen { + background-color: var(--sendbird-light-information-100); } + .sendbird-theme--dark .sendbird-notification.sendbird-notification--frozen { + background-color: var(--sendbird-dark-information-100); } + .sendbird-theme--light .sendbird-notification.sendbird-notification--frozen .sendbird-notification__text { + color: var(--sendbird-light-onlight-01); } + .sendbird-theme--dark .sendbird-notification.sendbird-notification--frozen .sendbird-notification__text { + color: var(--sendbird-dark-onlight-01); } + .sendbird-notification .sendbird-notification__text { + display: flex; + align-items: center; + justify-content: center; + margin-right: 8px; } + .sendbird-place-holder { display: flex; justify-content: center; @@ -1154,6 +1284,15 @@ cursor: pointer; } .sendbird-place-holder .sendbird-place-holder__body__reconnect .sendbird-place-holder__body__reconnect__icon { margin-right: 4px; } + .sendbird-place-holder .sendbird-place-holder__body--align-top { + position: relative; + top: 40px; + display: flex; + flex-direction: column; + justify-content: center; } + .sendbird-place-holder .sendbird-place-holder__body--align-top .sendbird-place-holder__body--align-top__text { + display: flex; + flex-direction: row; } [class*=sendbird-label] { font-family: var(--sendbird-font-family-default); } @@ -1285,7 +1424,7 @@ color: var(--sendbird-light-error-300); } .sendbird-theme--dark .sendbird-label--color-error { - color: var(--sendbird-dark-error-300); } + color: var(--sendbird-dark-error-200); } .sendbird-theme--light .sendbird-label--color-secondary-3 { color: var(--sendbird-light-secondary-300); } @@ -1293,58 +1432,6 @@ .sendbird-theme--dark .sendbird-label--color-secondary-3 { color: var(--sendbird-dark-secondary-200); } -.sendbird-app__wrap { - width: 100%; - height: 100%; - display: flex; } - .sendbird-app__wrap .sendbird-app__conversation-wrap { - flex: 1; - position: relative; } - .sendbird-app__wrap .sendbird-app__channellist-wrap { - max-width: 320px; } - .sendbird-theme--light .sendbird-app__wrap .sendbird-app__conversation--settings-open .sendbird-chat-header__info { - background-color: var(--sendbird-light-primary-100); } - .sendbird-theme--dark .sendbird-app__wrap .sendbird-app__conversation--settings-open .sendbird-chat-header__info { - background-color: var(--sendbird-dark-background-700); } - .sendbird-app__wrap .sendbird-channel-settings { - border-left: none; } - .sendbird-app__wrap .sendbird-channel-settings .sendbird-channel-settings__header { - height: 65px; } - -.sendbird-notification { - margin-top: 8px; - margin-left: 24px; - margin-right: 24px; - border-radius: 4px; - padding: 0px 2px; - height: 32px; - display: flex; - align-items: center; - justify-content: center; } - .sendbird-theme--light .sendbird-notification { - background-color: var(--sendbird-light-primary-300); } - .sendbird-theme--dark .sendbird-notification { - background-color: var(--sendbird-dark-primary-200); } - .sendbird-notification:hover { - cursor: pointer; } - .sendbird-theme--light .sendbird-notification:hover { - background-color: var(--sendbird-light-primary-400); } - .sendbird-theme--dark .sendbird-notification:hover { - background-color: var(--sendbird-dark-primary-300); } - .sendbird-theme--light .sendbird-notification.sendbird-notification--frozen { - background-color: var(--sendbird-light-information-100); } - .sendbird-theme--dark .sendbird-notification.sendbird-notification--frozen { - background-color: var(--sendbird-dark-information-100); } - .sendbird-theme--light .sendbird-notification.sendbird-notification--frozen .sendbird-notification__text { - color: var(--sendbird-light-onlight-01); } - .sendbird-theme--dark .sendbird-notification.sendbird-notification--frozen .sendbird-notification__text { - color: var(--sendbird-dark-onlight-01); } - .sendbird-notification .sendbird-notification__text { - display: flex; - align-items: center; - justify-content: center; - margin-right: 8px; } - .sendbird-iconbutton { color: var(--sendbird-iconbutton-color); display: inline-block; @@ -1409,10 +1496,10 @@ stroke-linejoin: round; } .sendbird-theme--light .sendbird-color--secondary [class*='fill'] { - fill: var(--sendbird-light-onlight-01); } + fill: var(--sendbird-light-secondary-300); } .sendbird-theme--dark .sendbird-color--secondary [class*='fill'] { - fill: var(--sendbird-dark-ondark-01); } + fill: var(--sendbird-dark-secondary-200); } .sendbird-theme--light .sendbird-color--content [class*='fill'] { fill: var(--sendbird-light-ondark-01); } @@ -1459,6 +1546,60 @@ .sendbird-theme--dark .sendbird-color--background-3 [class*='fill'] { fill: var(--sendbird-dark-background-400); } +.sendbird-modal { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: flex; + align-items: center; + justify-content: center; } + +.sendbird-modal-content { + width: 480px; + border-radius: 4px; + z-index: 10001; + padding: 18px 24px 24px 24px; + position: relative; + box-sizing: border-box; } + .sendbird-theme--light .sendbird-modal-content { + background-color: var(--sendbird-light-background-50); + box-shadow: var(--sendbird-light-shadow-04); } + .sendbird-theme--dark .sendbird-modal-content { + background-color: var(--sendbird-dark-background-500); + box-shadow: var(--sendbird-dark-shadow-04); } + .sendbird-modal-content .sendbird-modal-close { + position: absolute; + top: 16px; + right: 16px; + cursor: pointer; } + .sendbird-theme--light .sendbird-modal-content .sendbird-modal-close path { + fill: var(--sendbird-light-onlight-01); } + .sendbird-theme--dark .sendbird-modal-content .sendbird-modal-close path { + fill: var(--sendbird-dark-ondark-01); } + .sendbird-modal-content .sendbird-modal-header { + margin-bottom: 16px; } + .sendbird-modal-content .sendbird-modal-footer { + margin-top: 32px; + text-align: right; } + .sendbird-modal-content .sendbird-modal-footer .sendbird-button:last-child { + margin-left: 8px; + width: 80px; + height: 40px; } + +.sendbird-modal-backdrop { + position: fixed; + z-index: 10000; + height: 100%; + width: 100%; + top: 0; + left: 0; } + .sendbird-theme--light .sendbird-modal-backdrop { + background-color: var(--sendbird-light-overlay-02); } + .sendbird-theme--dark .sendbird-modal-backdrop { + background-color: var(--sendbird-dark-overlay-02); } + .sendbird-message-input { display: inline-block; width: 100%; @@ -1567,86 +1708,17 @@ .sendbird-theme--dark .sendbird-message-input__disabled svg { fill: var(--sendbird-dark-ondark-03); } -.sendbird-textbutton { - text-decoration: underline; - cursor: pointer; } - -.sendbird-textbutton--not-underline { - text-decoration: none; - cursor: pointer; } - -.sendbird-textbutton--disabled { +.sendbird__offline .sendbird-dropdown__menu .sendbird-dropdown__menu-item { cursor: not-allowed; } - .sendbird-theme--light .sendbird-textbutton--disabled { - color: var(--sendbird-light-onlight-03); } - .sendbird-theme--dark .sendbird-textbutton--disabled { - color: var(--sendbird-dark-ondark-03); } -.sendbird-modal { - position: fixed; - top: 0; +.sendbird-dropdown__menu { + z-index: 99999; + position: absolute; + top: 100%; left: 0; - width: 100%; - height: 100%; - display: flex; - align-items: center; - justify-content: center; } - -.sendbird-modal-content { - width: 480px; - border-radius: 4px; - z-index: 10001; - padding: 18px 24px 24px 24px; - position: relative; - box-sizing: border-box; } - .sendbird-theme--light .sendbird-modal-content { - background-color: var(--sendbird-light-background-50); - box-shadow: var(--sendbird-light-shadow-04); } - .sendbird-theme--dark .sendbird-modal-content { - background-color: var(--sendbird-dark-background-500); - box-shadow: var(--sendbird-dark-shadow-04); } - .sendbird-modal-content .sendbird-modal-close { - position: absolute; - top: 16px; - right: 16px; - cursor: pointer; } - .sendbird-theme--light .sendbird-modal-content .sendbird-modal-close path { - fill: var(--sendbird-light-onlight-01); } - .sendbird-theme--dark .sendbird-modal-content .sendbird-modal-close path { - fill: var(--sendbird-dark-ondark-01); } - .sendbird-modal-content .sendbird-modal-header { - margin-bottom: 16px; } - .sendbird-modal-content .sendbird-modal-footer { - margin-top: 32px; - text-align: right; } - .sendbird-modal-content .sendbird-modal-footer .sendbird-button:last-child { - margin-left: 8px; - width: 80px; - height: 40px; } - -.sendbird-modal-backdrop { - position: fixed; - z-index: 10000; - height: 100%; - width: 100%; - top: 0; - left: 0; } - .sendbird-theme--light .sendbird-modal-backdrop { - background-color: var(--sendbird-light-overlay); } - .sendbird-theme--dark .sendbird-modal-backdrop { - background-color: var(--sendbird-dark-overlay); } - -.sendbird__offline .sendbird-dropdown__menu .sendbird-dropdown__menu-item { - cursor: not-allowed; } - -.sendbird-dropdown__menu { - z-index: 99999; - position: absolute; - top: 100%; - left: 0; - min-width: 140px; - margin: 0px; - padding: 8px 0px; + min-width: 140px; + margin: 0px; + padding: 8px 0px; border-radius: 4px; list-style: none; } .sendbird-theme--light .sendbird-dropdown__menu { @@ -1699,6 +1771,24 @@ .sendbird-icon--pressed { display: block !important; } +.sendbird-image-renderer--hidden-placeholder { + display: none; } + +.sendbird-textbutton { + text-decoration: underline; + cursor: pointer; } + +.sendbird-textbutton--not-underline { + text-decoration: none; + cursor: pointer; } + +.sendbird-textbutton--disabled { + cursor: not-allowed; } + .sendbird-theme--light .sendbird-textbutton--disabled { + color: var(--sendbird-light-onlight-03); } + .sendbird-theme--dark .sendbird-textbutton--disabled { + color: var(--sendbird-dark-ondark-03); } + .sendbird-separator { width: 100%; display: flex; @@ -1718,8 +1808,58 @@ display: flex; white-space: nowrap; } -.sendbird-image-renderer--hidden-placeholder { - display: none; } +.sendbird-user-list-item { + display: block; + position: relative; + box-sizing: border-box; + width: 432px; + height: 56px; } + .sendbird-theme--light .sendbird-user-list-item { + border-bottom: 1px solid var(--sendbird-light-onlight-04); + background-color: var(--sendbird-light-background-50); } + .sendbird-theme--dark .sendbird-user-list-item { + border-bottom: 1px solid var(--sendbird-dark-ondark-04); + background-color: var(--sendbird-dark-background-500); } + .sendbird-user-list-item__avatar { + position: absolute; + top: 8px; + left: 0px; + z-index: 1; + cursor: pointer; } + .sendbird-user-list-item .sendbird-muted-avatar { + position: absolute; + top: 8px; + left: 0px; + z-index: 2; + pointer-events: none; } + .sendbird-user-list-item__title { + position: absolute; + top: 17px; + left: 56px; + max-width: 280px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } + .sendbird-user-list-item__subtitle { + position: absolute; + top: 23px; + left: 140px; + max-width: 237px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } + .sendbird-user-list-item__checkbox { + position: absolute; + top: 16px; + right: 16px; } + .sendbird-user-list-item__action { + position: absolute; + right: 0; + top: 10px; } + .sendbird-user-list-item__operator { + position: absolute; + right: 40px; + top: 22px; } .sendbird-fileviewer { width: 100%; @@ -1816,63 +1956,24 @@ justify-content: center; align-items: center; } -.sendbird-link-label { - text-decoration: unset; } - .sendbird-link-label:hover { - cursor: pointer; - text-decoration: underline; } - .sendbird-link-label:focus { - outline: none; } - .sendbird-link-label__label { - display: inline; } - -.sendbird-theme--light .sendbird-label--color-onbackground-1 { - color: var(--sendbird-light-onlight-01); } - -.sendbird-theme--dark .sendbird-label--color-onbackground-1 { - color: var(--sendbird-dark-ondark-01); } - -.sendbird-theme--light .sendbird-label--color-onbackground-2 { - color: var(--sendbird-light-onlight-02); } - -.sendbird-theme--dark .sendbird-label--color-onbackground-2 { - color: var(--sendbird-dark-ondark-02); } - -.sendbird-theme--light .sendbird-label--color-onbackground-3 { - color: var(--sendbird-light-onlight-03); } - -.sendbird-theme--dark .sendbird-label--color-onbackground-3 { - color: var(--sendbird-dark-ondark-03); } - -.sendbird-theme--light .sendbird-label--color-oncontent-1 { - color: var(--sendbird-light-ondark-01); } - -.sendbird-theme--dark .sendbird-label--color-oncontent-1 { - color: var(--sendbird-dark-onlight-01); } - -.sendbird-theme--light .sendbird-label--color-oncontent-2 { - color: var(--sendbird-light-ondark-02); } - -.sendbird-theme--dark .sendbird-label--color-oncontent-2 { - color: var(--sendbird-dark-onlight-02); } - -.sendbird-theme--light .sendbird-label--color-primary { - color: var(--sendbird-light-primary-300); } - -.sendbird-theme--dark .sendbird-label--color-primary { - color: var(--sendbird-dark-primary-200); } - -.sendbird-theme--light .sendbird-label--color-error { - color: var(--sendbird-light-error-300); } - -.sendbird-theme--dark .sendbird-label--color-error { - color: var(--sendbird-dark-error-300); } +.sendbird-loader { + display: inline-block; + -webkit-animation: 1s infinite linear; + animation: 1s infinite linear; + -webkit-animation-name: rotate; + animation-name: rotate; } -.sendbird-theme--light .sendbird-label--color-secondary-3 { - color: var(--sendbird-light-secondary-300); } +@-webkit-keyframes rotate { + from { + transform: rotate(0); } + to { + transform: rotate(360deg); } } -.sendbird-theme--dark .sendbird-label--color-secondary-3 { - color: var(--sendbird-dark-secondary-200); } +@keyframes rotate { + from { + transform: rotate(0); } + to { + transform: rotate(360deg); } } .sendbird-input { display: inline-block; @@ -1943,77 +2044,191 @@ .sendbird-input-label { margin: 4px 0; } -.sendbird-loader { - display: inline-block; - -webkit-animation: 1s infinite linear; - animation: 1s infinite linear; - -webkit-animation-name: rotate; - animation-name: rotate; } - -@-webkit-keyframes rotate { - from { - transform: rotate(0); } - to { - transform: rotate(360deg); } } - -@keyframes rotate { - from { - transform: rotate(0); } - to { - transform: rotate(360deg); } } +.sendbird-badge { + height: 20px; + min-width: 20px; + border-radius: 10px; + display: inline-block; } + .sendbird-theme--light .sendbird-badge { + background-color: var(--sendbird-light-primary-300); } + .sendbird-theme--dark .sendbird-badge { + background-color: var(--sendbird-dark-primary-200); } + .sendbird-badge .sendbird-badge__text { + margin: 0px 6px; } -.sendbird-user-list-item { - display: block; +.sendbird-channel-profile { position: relative; - box-sizing: border-box; - width: 432px; - height: 56px; } - .sendbird-theme--light .sendbird-user-list-item { + text-align: center; + padding: 32px 40px 27px 40px; } + .sendbird-theme--light .sendbird-channel-profile { border-bottom: 1px solid var(--sendbird-light-onlight-04); background-color: var(--sendbird-light-background-50); } - .sendbird-theme--dark .sendbird-user-list-item { + .sendbird-theme--dark .sendbird-channel-profile { border-bottom: 1px solid var(--sendbird-dark-ondark-04); - background-color: var(--sendbird-dark-background-500); } - .sendbird-user-list-item__avatar { - position: absolute; - top: 8px; - left: 0px; - z-index: 1; - cursor: pointer; } - .sendbird-user-list-item .sendbird-muted-avatar { + background-color: var(--sendbird-dark-background-600); } + .sendbird-channel-profile .sendbird-channel-profile--inner { + height: 92px; } + .sendbird-channel-profile .sendbird-channel-profile__avatar { + margin-bottom: 16px; + display: flex; + justify-content: center; } + .sendbird-channel-profile .sendbird-channel-profile__title { + max-width: 240px; + white-space: nowrap; + overflow-x: hidden; + text-overflow: ellipsis; + height: 18px; } + .sendbird-channel-profile .sendbird-channel-profile__edit { position: absolute; - top: 8px; - left: 0px; - z-index: 2; - pointer-events: none; } - .sendbird-user-list-item__title { - position: absolute; - top: 17px; - left: 56px; - max-width: 280px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; } - .sendbird-user-list-item__subtitle { - position: absolute; - top: 23px; - left: 140px; - max-width: 237px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; } - .sendbird-user-list-item__checkbox { - position: absolute; - top: 16px; + top: 10px; right: 16px; } - .sendbird-user-list-item__action { + +.channel-profile-form .channel-profile-form__img-section { + position: relative; } + +.channel-profile-form .channel-profile-form__avatar-button { + position: absolute; + top: 54px; + left: 96px; } + +.channel-profile-form .channel-profile-form__avatar { + margin-top: 16px; } + +.channel-profile-form .channel-profile-form__name-section { + margin-top: 12px; } + .channel-profile-form .channel-profile-form__name-section .sendbird-input { + height: 40px; } + +.sendbird-chat-header__default-avatar { + width: 56px; + height: 56px; + display: flex; + justify-content: center; + align-items: center; + border-radius: 50%; } + .sendbird-theme--light .sendbird-chat-header__default-avatar { + background-color: var(--sendbird-light-secondary-300); } + .sendbird-theme--dark .sendbird-chat-header__default-avatar { + background-color: var(--sendbird-dark-secondary-200); } + +.sendbird-link-label { + text-decoration: unset; } + .sendbird-link-label:hover { + cursor: pointer; + text-decoration: underline; } + .sendbird-link-label:focus { + outline: none; } + .sendbird-link-label__label { + display: inline; } + +.sendbird-theme--light .sendbird-link-label .sendbird-label--color-onbackground-1 { + color: var(--sendbird-light-onlight-01); } + +.sendbird-theme--dark .sendbird-link-label .sendbird-label--color-onbackground-1 { + color: var(--sendbird-dark-ondark-01); } + +.sendbird-theme--light .sendbird-link-label .sendbird-label--color-onbackground-2 { + color: var(--sendbird-light-onlight-02); } + +.sendbird-theme--dark .sendbird-link-label .sendbird-label--color-onbackground-2 { + color: var(--sendbird-dark-ondark-02); } + +.sendbird-theme--light .sendbird-link-label .sendbird-label--color-onbackground-3 { + color: var(--sendbird-light-onlight-03); } + +.sendbird-theme--dark .sendbird-link-label .sendbird-label--color-onbackground-3 { + color: var(--sendbird-dark-ondark-03); } + +.sendbird-theme--light .sendbird-link-label .sendbird-label--color-oncontent-1 { + color: var(--sendbird-light-ondark-01); } + +.sendbird-theme--dark .sendbird-link-label .sendbird-label--color-oncontent-1 { + color: var(--sendbird-dark-onlight-01); } + +.sendbird-theme--light .sendbird-link-label .sendbird-label--color-oncontent-2 { + color: var(--sendbird-light-ondark-02); } + +.sendbird-theme--dark .sendbird-link-label .sendbird-label--color-oncontent-2 { + color: var(--sendbird-dark-onlight-02); } + +.sendbird-theme--light .sendbird-link-label .sendbird-label--color-primary { + color: var(--sendbird-light-primary-300); } + +.sendbird-theme--dark .sendbird-link-label .sendbird-label--color-primary { + color: var(--sendbird-dark-primary-200); } + +.sendbird-theme--light .sendbird-link-label .sendbird-label--color-error { + color: var(--sendbird-light-error-300); } + +.sendbird-theme--dark .sendbird-link-label .sendbird-label--color-error { + color: var(--sendbird-dark-error-200); } + +.sendbird-theme--light .sendbird-link-label .sendbird-label--color-secondary-3 { + color: var(--sendbird-light-secondary-300); } + +.sendbird-theme--dark .sendbird-link-label .sendbird-label--color-secondary-3 { + color: var(--sendbird-dark-secondary-200); } + +.sendbird-members-accordion { + padding: 8px 16px 16px 16px; + position: relative; + box-sizing: border-box; } + .sendbird-theme--light .sendbird-members-accordion { + border-bottom: 1px solid var(--sendbird-light-onlight-04); + background-color: var(--sendbird-light-background-50); } + .sendbird-theme--dark .sendbird-members-accordion { + border-bottom: 1px solid var(--sendbird-dark-ondark-04); + background-color: var(--sendbird-dark-background-600); } + .sendbird-members-accordion .sendbird-members-accordion__member { + position: relative; + padding: 12px 0px 12px 44px; + height: 40px; + box-sizing: border-box; } + .sendbird-members-accordion .sendbird-members-accordion__member .sendbird-label { + max-width: 240px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } + .sendbird-members-accordion .sendbird-members-accordion__member-avatar { position: absolute; - right: 0; - top: 10px; } - .sendbird-user-list-item__operator { + left: 0; + top: 10px; + cursor: pointer; } + .sendbird-members-accordion .sendbird-members-accordion__footer { + display: flex; + justify-content: flex-start; + margin-top: 8px; } + .sendbird-members-accordion .sendbird-members-accordion__footer .sendbird-members-accordion__footer__all-members { + margin-right: 16px; } + +.sendbird-more-members__popup-scroll { + max-height: 420px; + overflow-y: auto; } + +.sendbird-add-channel__rectangle-wrap { + margin-top: 26px; } + +.sendbird-add-channel__rectangle-footer { + text-align: right; + margin-top: 32px; } + +.sendbird-add-channel__rectangle { + width: 432px; + height: 72px; + border-radius: 4px; + margin-bottom: 8px; + padding: 25px 72px; + position: relative; + box-sizing: border-box; + cursor: pointer; } + .sendbird-theme--light .sendbird-add-channel__rectangle { + border: 1px solid var(--sendbird-light-onlight-04); } + .sendbird-theme--dark .sendbird-add-channel__rectangle { + border: 1px solid var(--sendbird-dark-ondark-04); } + .sendbird-add-channel__rectangle .sendbird-icon { position: absolute; - right: 40px; - top: 22px; } + left: 22px; + top: 24px; } .sendbird__offline .sendbird-channel-preview { cursor: not-allowed; } @@ -2114,133 +2329,6 @@ .sendbird-theme--dark .sendbird-channel-preview--active .sendbird-channel-preview__content__upper__header__channel-name { color: var(--sendbird-dark-primary-200); } -.sendbird-channel-header { - position: relative; - height: 64px; - min-height: 64px; - width: 320px; - padding: 8px 64px 8px 8px; - box-sizing: border-box; } - .sendbird-theme--light .sendbird-channel-header { - border-bottom: 1px solid var(--sendbird-light-onlight-04); - background-color: var(--sendbird-light-background-50); } - .sendbird-theme--dark .sendbird-channel-header { - border-bottom: 1px solid var(--sendbird-dark-ondark-04); - background-color: var(--sendbird-dark-background-600); } - .sendbird-channel-header.sendbird-channel-header--allow-edit .sendbird-channel-header__title { - cursor: pointer; } - .sendbird-channel-header .sendbird-channel-header__title { - display: flex; - flex-direction: row; - width: 260px; - height: 48px; - border-radius: 4px; } - .sendbird-theme--light .sendbird-channel-header .sendbird-channel-header__title:hover { - background: var(--sendbird-light-background-100); } - .sendbird-theme--dark .sendbird-channel-header .sendbird-channel-header__title:hover { - background: var(--sendbird-dark-background-500); } - .sendbird-channel-header .sendbird-channel-header__title:focus { - outline: none; } - .sendbird-theme--light .sendbird-channel-header .sendbird-channel-header__title:focus { - background: var(--sendbird-light-background-200); } - .sendbird-theme--dark .sendbird-channel-header .sendbird-channel-header__title:focus { - background: var(--sendbird-dark-background-400); } - .sendbird-theme--light .sendbird-channel-header .sendbird-channel-header__title:active { - border: solid 2px var(--sendbird-light-primary-300); } - .sendbird-theme--dark .sendbird-channel-header .sendbird-channel-header__title:active { - border: solid 2px var(--sendbird-dark-primary-200); } - .sendbird-channel-header .sendbird-channel-header__title .sendbird-channel-header__title--left { - width: 48px; - padding: 8px; - box-sizing: border-box; } - .sendbird-channel-header .sendbird-channel-header__title .sendbird-channel-header__title--right { - margin-left: 4px; - padding-top: 8px; } - .sendbird-channel-header .sendbird-channel-header__title .sendbird-channel-header__title--name, - .sendbird-channel-header .sendbird-channel-header__title .sendbird-channel-header__title--user-id { - display: block; - max-width: 200px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; } - .sendbird-channel-header .sendbird-channel-header__right-icon { - position: absolute; - right: 16px; - top: 16px; } - -.sendbird-add-channel__rectangle-wrap { - margin-top: 26px; } - -.sendbird-add-channel__rectangle-footer { - text-align: right; - margin-top: 32px; } - -.sendbird-add-channel__rectangle { - width: 432px; - height: 72px; - border-radius: 4px; - margin-bottom: 8px; - padding: 25px 72px; - position: relative; - box-sizing: border-box; - cursor: pointer; } - .sendbird-theme--light .sendbird-add-channel__rectangle { - border: 1px solid var(--sendbird-light-onlight-04); } - .sendbird-theme--dark .sendbird-add-channel__rectangle { - border: 1px solid var(--sendbird-dark-ondark-04); } - .sendbird-add-channel__rectangle .sendbird-icon { - position: absolute; - left: 22px; - top: 24px; } - -.sendbird-members-accordion { - padding: 8px 16px 16px 16px; - position: relative; - box-sizing: border-box; } - .sendbird-theme--light .sendbird-members-accordion { - border-bottom: 1px solid var(--sendbird-light-onlight-04); - background-color: var(--sendbird-light-background-50); } - .sendbird-theme--dark .sendbird-members-accordion { - border-bottom: 1px solid var(--sendbird-dark-ondark-04); - background-color: var(--sendbird-dark-background-600); } - .sendbird-members-accordion .sendbird-members-accordion__member { - position: relative; - padding: 12px 0px 12px 44px; - height: 40px; - box-sizing: border-box; } - .sendbird-members-accordion .sendbird-members-accordion__member .sendbird-label { - max-width: 240px; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; } - .sendbird-members-accordion .sendbird-members-accordion__member-avatar { - position: absolute; - left: 0; - top: 10px; - cursor: pointer; } - .sendbird-members-accordion .sendbird-members-accordion__footer { - display: flex; - justify-content: flex-start; - margin-top: 8px; } - .sendbird-members-accordion .sendbird-members-accordion__footer .sendbird-members-accordion__footer__all-members { - margin-right: 16px; } - -.sendbird-more-members__popup-scroll { - max-height: 420px; - overflow-y: auto; } - -.sendbird-badge { - height: 20px; - min-width: 20px; - border-radius: 10px; - display: inline-block; } - .sendbird-theme--light .sendbird-badge { - background-color: var(--sendbird-light-primary-300); } - .sendbird-theme--dark .sendbird-badge { - background-color: var(--sendbird-dark-primary-200); } - .sendbird-badge .sendbird-badge__text { - margin: 0px 6px; } - .sendbird-conversation__messages .sendbird-conversation__messages-padding { padding-left: 24px; padding-right: 24px; } @@ -2250,102 +2338,64 @@ padding-top: 8px; padding-bottom: 8px; } -.sendbird-channel-profile { - position: relative; - text-align: center; - padding: 32px 40px 27px 40px; } - .sendbird-theme--light .sendbird-channel-profile { - border-bottom: 1px solid var(--sendbird-light-onlight-04); - background-color: var(--sendbird-light-background-50); } - .sendbird-theme--dark .sendbird-channel-profile { - border-bottom: 1px solid var(--sendbird-dark-ondark-04); - background-color: var(--sendbird-dark-background-600); } - .sendbird-channel-profile .sendbird-channel-profile--inner { - height: 92px; } - .sendbird-channel-profile .sendbird-channel-profile__avatar { - margin-bottom: 16px; - text-align: center; } - .sendbird-channel-profile .sendbird-channel-profile__title { - max-width: 240px; - white-space: nowrap; - overflow-x: hidden; - text-overflow: ellipsis; - height: 18px; } - .sendbird-channel-profile .sendbird-channel-profile__edit { - position: absolute; - top: 10px; - right: 16px; } - -.channel-profile-form .channel-profile-form__img-section { - position: relative; } - -.channel-profile-form .channel-profile-form__avatar-button { - position: absolute; - top: 54px; - left: 96px; } - -.channel-profile-form .channel-profile-form__avatar { - margin-top: 16px; } - -.channel-profile-form .channel-profile-form__name-section { - margin-top: 12px; } - .channel-profile-form .channel-profile-form__name-section .sendbird-input { - height: 40px; } - .sendbird-conversation__connection-status { display: flex; align-items: center; padding-top: 5px; } -.sendbird-chat-header { +.sendbird-channel-header { position: relative; - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; height: 64px; min-height: 64px; - padding-left: 20px; - padding-right: 16px; - overflow: hidden; - text-overflow: ellipsis; } - .sendbird-theme--light .sendbird-chat-header { + width: 320px; + padding: 8px 64px 8px 8px; + box-sizing: border-box; } + .sendbird-theme--light .sendbird-channel-header { border-bottom: 1px solid var(--sendbird-light-onlight-04); background-color: var(--sendbird-light-background-50); } - .sendbird-theme--dark .sendbird-chat-header { - border-bottom: 1px solid var(--sendbird-dark-ondark-04); - background-color: var(--sendbird-dark-background-600); } - .sendbird-chat-header__left { - margin-right: 24px; } - .sendbird-chat-header__left, .sendbird-chat-header__right { - overflow: hidden; - display: flex; - flex-direction: row; - align-items: center; } - .sendbird-chat-header .sendbird-chat-header__title { - margin-left: 8px; - margin-right: 16px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - max-width: 780px; } - .sendbird-chat-header .sendbird-chat-header__subtitle { - max-width: 240px; - overflow: hidden; - text-overflow: ellipsis; } - .sendbird-chat-header .sendbird-chat-header__active { - margin-right: 4px; - width: 8px; - height: 8px; + .sendbird-theme--dark .sendbird-channel-header { + border-bottom: 1px solid var(--sendbird-dark-ondark-04); + background-color: var(--sendbird-dark-background-600); } + .sendbird-channel-header.sendbird-channel-header--allow-edit .sendbird-channel-header__title { + cursor: pointer; } + .sendbird-channel-header .sendbird-channel-header__title { + display: flex; + flex-direction: row; + width: 260px; + height: 48px; border-radius: 4px; } - .sendbird-theme--light .sendbird-chat-header .sendbird-chat-header__active { - background-color: var(--sendbird-light-secondary-300); } - .sendbird-theme--dark .sendbird-chat-header .sendbird-chat-header__active { - background-color: var(--sendbird-dark-secondary-200); } - .sendbird-chat-header .sendbird-chat-header__mute { - margin-right: 26px; } - .sendbird-chat-header .sendbird-iconbutton--pressed { - background-color: inherit; } + .sendbird-theme--light .sendbird-channel-header .sendbird-channel-header__title:hover { + background: var(--sendbird-light-background-100); } + .sendbird-theme--dark .sendbird-channel-header .sendbird-channel-header__title:hover { + background: var(--sendbird-dark-background-500); } + .sendbird-channel-header .sendbird-channel-header__title:focus { + outline: none; } + .sendbird-theme--light .sendbird-channel-header .sendbird-channel-header__title:focus { + background: var(--sendbird-light-background-200); } + .sendbird-theme--dark .sendbird-channel-header .sendbird-channel-header__title:focus { + background: var(--sendbird-dark-background-400); } + .sendbird-theme--light .sendbird-channel-header .sendbird-channel-header__title:active { + border: solid 2px var(--sendbird-light-primary-300); } + .sendbird-theme--dark .sendbird-channel-header .sendbird-channel-header__title:active { + border: solid 2px var(--sendbird-dark-primary-200); } + .sendbird-channel-header .sendbird-channel-header__title .sendbird-channel-header__title--left { + width: 48px; + padding: 8px; + box-sizing: border-box; } + .sendbird-channel-header .sendbird-channel-header__title .sendbird-channel-header__title--right { + margin-left: 4px; + padding-top: 8px; } + .sendbird-channel-header .sendbird-channel-header__title .sendbird-channel-header__title--name, + .sendbird-channel-header .sendbird-channel-header__title .sendbird-channel-header__title--user-id { + display: block; + max-width: 200px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } + .sendbird-channel-header .sendbird-channel-header__right-icon { + position: absolute; + right: 16px; + top: 16px; } .sendbird-button { display: inline-block; @@ -2555,36 +2605,56 @@ background-color: var(--sendbird-dark-background-400); color: var(--sendbird-dark-onlight-01); } -.sendbird-reaction-button { - border-radius: 8px; - display: inline-block; - border: solid 1px transparent; - cursor: pointer; } - .sendbird-theme--light .sendbird-reaction-button:hover { - border: solid 1px var(--sendbird-light-background-100); - background-color: var(--sendbird-light-background-100); } - .sendbird-theme--dark .sendbird-reaction-button:hover { - border: solid 1px var(--sendbird-dark-background-400); - background-color: var(--sendbird-dark-background-400); } - .sendbird-reaction-button__inner { - margin: 3px; } - -.sendbird-reaction-button--selected { - cursor: pointer; - border-radius: 8px; - display: inline-block; } - .sendbird-theme--light .sendbird-reaction-button--selected { - border: solid 1px var(--sendbird-light-primary-100); - background-color: var(--sendbird-light-primary-100); } - .sendbird-theme--dark .sendbird-reaction-button--selected { - border: solid 1px var(--sendbird-dark-primary-400); - background-color: var(--sendbird-dark-primary-400); } - .sendbird-reaction-button--selected:hover { - border: solid 1px var(--sendbird-selected-reaction-button-border-hover); } - .sendbird-reaction-button--selected__inner { - margin: 3px; } - .sendbird-reaction-button--selected.sendbird-reactions--pressed { - display: block !important; } +.sendbird-chat-header { + position: relative; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + height: 64px; + min-height: 64px; + padding-left: 20px; + padding-right: 16px; + overflow: hidden; + text-overflow: ellipsis; + box-sizing: border-box; } + .sendbird-theme--light .sendbird-chat-header { + border-bottom: 1px solid var(--sendbird-light-onlight-04); + background-color: var(--sendbird-light-background-50); } + .sendbird-theme--dark .sendbird-chat-header { + border-bottom: 1px solid var(--sendbird-dark-ondark-04); + background-color: var(--sendbird-dark-background-600); } + .sendbird-chat-header__left { + margin-right: 24px; } + .sendbird-chat-header__left, .sendbird-chat-header__right { + overflow: hidden; + display: flex; + flex-direction: row; + align-items: center; } + .sendbird-chat-header .sendbird-chat-header__title { + margin-left: 8px; + margin-right: 16px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + max-width: 780px; } + .sendbird-chat-header .sendbird-chat-header__subtitle { + max-width: 240px; + overflow: hidden; + text-overflow: ellipsis; } + .sendbird-chat-header .sendbird-chat-header__active { + margin-right: 4px; + width: 8px; + height: 8px; + border-radius: 4px; } + .sendbird-theme--light .sendbird-chat-header .sendbird-chat-header__active { + background-color: var(--sendbird-light-secondary-300); } + .sendbird-theme--dark .sendbird-chat-header .sendbird-chat-header__active { + background-color: var(--sendbird-dark-secondary-200); } + .sendbird-chat-header .sendbird-chat-header__mute { + margin-right: 26px; } + .sendbird-chat-header .sendbird-iconbutton--pressed { + background-color: inherit; } .sendbird-create-channel--content { width: 480px; @@ -2671,12 +2741,36 @@ justify-content: flex-start; align-items: center; } -.sendbird-admin-message { - display: flex; - justify-content: center; - align-items: center; } - .sendbird-admin-message .sendbird-admin-message__text { - display: flex; } +.sendbird-reaction-button { + border-radius: 8px; + display: inline-block; + border: solid 1px transparent; + cursor: pointer; } + .sendbird-theme--light .sendbird-reaction-button:hover { + border: solid 1px var(--sendbird-light-background-100); + background-color: var(--sendbird-light-background-100); } + .sendbird-theme--dark .sendbird-reaction-button:hover { + border: solid 1px var(--sendbird-dark-background-400); + background-color: var(--sendbird-dark-background-400); } + .sendbird-reaction-button__inner { + margin: 3px; } + +.sendbird-reaction-button--selected { + cursor: pointer; + border-radius: 8px; + display: inline-block; } + .sendbird-theme--light .sendbird-reaction-button--selected { + border: solid 1px var(--sendbird-light-primary-100); + background-color: var(--sendbird-light-primary-100); } + .sendbird-theme--dark .sendbird-reaction-button--selected { + border: solid 1px var(--sendbird-dark-primary-400); + background-color: var(--sendbird-dark-primary-400); } + .sendbird-reaction-button--selected:hover { + border: solid 1px var(--sendbird-selected-reaction-button-border-hover); } + .sendbird-reaction-button--selected__inner { + margin: 3px; } + .sendbird-reaction-button--selected.sendbird-reactions--pressed { + display: block !important; } .sendbird-theme--light .sendbird-color--onbackground-1 { color: var(--sendbird-light-onlight-01); } @@ -2920,6 +3014,111 @@ display: inline; margin: 0px 2px; } +.sendbird-admin-message { + display: flex; + justify-content: center; + align-items: center; } + .sendbird-admin-message .sendbird-admin-message__text { + display: flex; } + +.sendbird-unknown-message { + position: relative; + line-height: 0px; } + .sendbird-unknown-message--outgoing { + text-align: right; } + .sendbird-unknown-message--incoming { + text-align: left; } + +.sendbird-outgoing-unknown-message { + position: relative; + right: 0px; + display: inline-block; + text-align: right; + padding-left: 36px; + box-sizing: border-box; } + .sendbird-outgoing-unknown-message--inner { + position: relative; + display: flex; + flex-direction: row; } + .sendbird-theme--light .sendbird-outgoing-unknown-message:hover .sendbird-outgoing-unknown-message__body__text-balloon { + background-color: var(--sendbird-light-primary-200); } + .sendbird-theme--dark .sendbird-outgoing-unknown-message:hover .sendbird-outgoing-unknown-message__body__text-balloon { + background-color: var(--sendbird-dark-primary-400); } + .sendbird-outgoing-unknown-message:hover .sendbird-outgoing-unknown-message__more { + display: block; } + .sendbird-outgoing-unknown-message--left-padding { + position: relative; + width: 68px; } + .sendbird-outgoing-unknown-message--left-padding .sendbird-outgoing-unknown-message__more { + display: none; + position: absolute; + top: 4px; + right: 4px; } + .sendbird-outgoing-unknown-message--left-padding .sendbird-outgoing-unknown-message__message-status { + position: absolute; + text-align: right; + right: 4px; + bottom: 4px; } + .sendbird-outgoing-unknown-message__body { + display: flex; + flex-direction: column; } + .sendbird-outgoing-unknown-message__body__text-balloon { + box-sizing: border-box; + text-align: left; + border-radius: 16px; + padding: 8px 12px; + width: 198px; + height: 56px; } + .sendbird-theme--light .sendbird-outgoing-unknown-message__body__text-balloon { + background-color: var(--sendbird-light-primary-100); } + .sendbird-theme--dark .sendbird-outgoing-unknown-message__body__text-balloon { + background-color: var(--sendbird-dark-primary-300); } + +.sendbird-incoming-unknown-message { + position: relative; + left: 0px; + display: flex; + flex-direction: row; + text-align: left; } + .sendbird-incoming-unknown-message--inner { + position: relative; + display: flex; + flex-direction: row; } + .sendbird-theme--light .sendbird-incoming-unknown-message:hover .sendbird-incoming-unknown-message__body__text-balloon { + background-color: var(--sendbird-light-background-200); } + .sendbird-theme--dark .sendbird-incoming-unknown-message:hover .sendbird-incoming-unknown-message__body__text-balloon { + background-color: var(--sendbird-dark-background-400); } + .sendbird-incoming-unknown-message__left { + width: 38px; } + .sendbird-incoming-unknown-message__left__sender-profile-image { + position: absolute; + bottom: 4px; } + .sendbird-incoming-unknown-message__body { + width: 198px; + display: flex; + flex-direction: column; } + .sendbird-incoming-unknown-message__body__sender-name { + margin-left: 10px; + margin-bottom: 4px; } + .sendbird-incoming-unknown-message__body__text-balloon { + width: 198px; + height: 56px; + border-radius: 16px; + text-align: left; + padding: 8px 12px; + box-sizing: border-box; } + .sendbird-theme--light .sendbird-incoming-unknown-message__body__text-balloon { + background-color: var(--sendbird-light-background-100); } + .sendbird-theme--dark .sendbird-incoming-unknown-message__body__text-balloon { + background-color: var(--sendbird-dark-background-500); } + .sendbird-incoming-unknown-message--right-padding { + position: relative; + width: 68px; } + .sendbird-incoming-unknown-message--right-padding .sendbird-incoming-unknown-message__sent-at { + position: absolute; + left: 4px; + bottom: 4px; } + .sendbird-thumbnail { text-align: right; position: relative; } @@ -2969,9 +3168,9 @@ left: 0; border-radius: 16px; } .sendbird-theme--light .sendbird-thumbnail .sendbird-thumbnail__wrap .sendbird-thumbnail__wrap__inner .sendbird-thumbnail__wrap__overlay { - background-color: var(--sendbird-light-overlay); } + background-color: var(--sendbird-light-overlay-02); } .sendbird-theme--dark .sendbird-thumbnail .sendbird-thumbnail__wrap .sendbird-thumbnail__wrap__inner .sendbird-thumbnail__wrap__overlay { - background-color: var(--sendbird-dark-overlay); } + background-color: var(--sendbird-dark-overlay-02); } .sendbird-theme--light .sendbird-thumbnail .sendbird-thumbnail__wrap .sendbird-thumbnail__wrap__emoji-reactions { border: solid 1px var(--sendbird-light-background-100); } .sendbird-theme--dark .sendbird-thumbnail .sendbird-thumbnail__wrap .sendbird-thumbnail__wrap__emoji-reactions { @@ -3056,9 +3255,9 @@ left: 0; border-radius: 16px; } .sendbird-theme--light .sendbird-outgoing-thumbnail-message .sendbird-outgoing-thumbnail-message__body .sendbird-outgoing-thumbnail-message-body__wrap .sendbird-outgoing-thumbnail-message-body__wrap--inner .sendbird-outgoing-thumbnail-message-body__wrap__overlay { - background-color: var(--sendbird-light-overlay); } + background-color: var(--sendbird-light-overlay-02); } .sendbird-theme--dark .sendbird-outgoing-thumbnail-message .sendbird-outgoing-thumbnail-message__body .sendbird-outgoing-thumbnail-message-body__wrap .sendbird-outgoing-thumbnail-message-body__wrap--inner .sendbird-outgoing-thumbnail-message-body__wrap__overlay { - background-color: var(--sendbird-dark-overlay); } + background-color: var(--sendbird-dark-overlay-02); } .sendbird-theme--light .sendbird-outgoing-thumbnail-message .sendbird-outgoing-thumbnail-message__body .sendbird-outgoing-thumbnail-message-body__wrap .sendbird-outgoing-thumbnail-message-body__wrap__emoji-reactions { border: solid 1px var(--sendbird-light-background-100); } .sendbird-theme--dark .sendbird-outgoing-thumbnail-message .sendbird-outgoing-thumbnail-message__body .sendbird-outgoing-thumbnail-message-body__wrap .sendbird-outgoing-thumbnail-message-body__wrap__emoji-reactions { @@ -3130,9 +3329,9 @@ left: 0px; border-radius: 16px; } .sendbird-theme--light .sendbird-incoming-thumbnail-message .sendbird-incoming-thumbnail-message__body .sendbird-incoming-thumbnail-message-body__wrap .sendbird-incoming-thumbnail-message-body__wrap--inner .sendbird-incoming-thumbnail-message-body__wrap-overlay { - background-color: var(--sendbird-light-overlay); } + background-color: var(--sendbird-light-overlay-02); } .sendbird-theme--dark .sendbird-incoming-thumbnail-message .sendbird-incoming-thumbnail-message__body .sendbird-incoming-thumbnail-message-body__wrap .sendbird-incoming-thumbnail-message-body__wrap--inner .sendbird-incoming-thumbnail-message-body__wrap-overlay { - background-color: var(--sendbird-dark-overlay); } + background-color: var(--sendbird-dark-overlay-02); } .sendbird-theme--light .sendbird-incoming-thumbnail-message .sendbird-incoming-thumbnail-message__body .sendbird-incoming-thumbnail-message-body__wrap .sendbird-incoming-thumbnail-message__wrap__emoji-reactions { border: solid 1px var(--sendbird-light-background-100); } .sendbird-theme--dark .sendbird-incoming-thumbnail-message .sendbird-incoming-thumbnail-message__body .sendbird-incoming-thumbnail-message-body__wrap .sendbird-incoming-thumbnail-message__wrap__emoji-reactions { @@ -3161,6 +3360,22 @@ display: none; } .sendbird-incoming-thumbnail-message:hover .sendbird-incoming-thumbnail-message__right-padding .sendbird-incoming-thumbnail-message__more { display: block; } + .sendbird-incoming-thumbnail-message [class*=thumbnail-placeholder] { + width: 404px; + height: 208px; + display: flex; + align-items: center; + justify-content: center; } + .sendbird-theme--light .sendbird-incoming-thumbnail-message [class*=thumbnail-placeholder] { + background-color: var(--sendbird-light-background-100); } + .sendbird-theme--dark .sendbird-incoming-thumbnail-message [class*=thumbnail-placeholder] { + background-color: var(--sendbird-dark-background-500); } + .sendbird-theme--light .sendbird-incoming-thumbnail-message [class*=thumbnail-placeholder] .sendbird-icon { + border-radius: 50%; + background-color: var(--sendbird-light-background-50); } + .sendbird-theme--dark .sendbird-incoming-thumbnail-message [class*=thumbnail-placeholder] .sendbird-icon { + border-radius: 50%; + background-color: var(--sendbird-dark-background-600); } .sendbird-file-message--outgoing { text-align: right; } @@ -3343,104 +3558,6 @@ .sendbird-emoji-reactions:focus { outline: none; } -.sendbird-unknown-message { - position: relative; - line-height: 0px; } - .sendbird-unknown-message--outgoing { - text-align: right; } - .sendbird-unknown-message--incoming { - text-align: left; } - -.sendbird-outgoing-unknown-message { - position: relative; - right: 0px; - display: inline-block; - text-align: right; - padding-left: 36px; - box-sizing: border-box; } - .sendbird-outgoing-unknown-message--inner { - position: relative; - display: flex; - flex-direction: row; } - .sendbird-theme--light .sendbird-outgoing-unknown-message:hover .sendbird-outgoing-unknown-message__body__text-balloon { - background-color: var(--sendbird-light-primary-200); } - .sendbird-theme--dark .sendbird-outgoing-unknown-message:hover .sendbird-outgoing-unknown-message__body__text-balloon { - background-color: var(--sendbird-dark-primary-400); } - .sendbird-outgoing-unknown-message:hover .sendbird-outgoing-unknown-message__more { - display: block; } - .sendbird-outgoing-unknown-message--left-padding { - position: relative; - width: 68px; } - .sendbird-outgoing-unknown-message--left-padding .sendbird-outgoing-unknown-message__more { - display: none; - position: absolute; - top: 4px; - right: 4px; } - .sendbird-outgoing-unknown-message--left-padding .sendbird-outgoing-unknown-message__message-status { - position: absolute; - text-align: right; - right: 4px; - bottom: 4px; } - .sendbird-outgoing-unknown-message__body { - display: flex; - flex-direction: column; } - .sendbird-outgoing-unknown-message__body__text-balloon { - box-sizing: border-box; - text-align: left; - border-radius: 16px; - padding: 8px 12px; - width: 198px; - height: 56px; } - .sendbird-theme--light .sendbird-outgoing-unknown-message__body__text-balloon { - background-color: var(--sendbird-light-primary-100); } - .sendbird-theme--dark .sendbird-outgoing-unknown-message__body__text-balloon { - background-color: var(--sendbird-dark-primary-300); } - -.sendbird-incoming-unknown-message { - position: relative; - left: 0px; - display: flex; - flex-direction: row; - text-align: left; } - .sendbird-incoming-unknown-message--inner { - position: relative; - display: flex; - flex-direction: row; } - .sendbird-theme--light .sendbird-incoming-unknown-message:hover .sendbird-incoming-unknown-message__body__text-balloon { - background-color: var(--sendbird-light-background-200); } - .sendbird-theme--dark .sendbird-incoming-unknown-message:hover .sendbird-incoming-unknown-message__body__text-balloon { - background-color: var(--sendbird-dark-background-400); } - .sendbird-incoming-unknown-message__left { - width: 38px; } - .sendbird-incoming-unknown-message__left__sender-profile-image { - position: absolute; - bottom: 4px; } - .sendbird-incoming-unknown-message__body { - width: 198px; - display: flex; - flex-direction: column; } - .sendbird-incoming-unknown-message__body__sender-name { - margin-left: 10px; - margin-bottom: 4px; } - .sendbird-incoming-unknown-message__body__text-balloon { - width: 198px; - height: 56px; - border-radius: 16px; - text-align: left; - padding: 8px 12px; - box-sizing: border-box; } - .sendbird-theme--light .sendbird-incoming-unknown-message__body__text-balloon { - background-color: var(--sendbird-light-background-100); } - .sendbird-theme--dark .sendbird-incoming-unknown-message__body__text-balloon { - background-color: var(--sendbird-dark-background-500); } - .sendbird-incoming-unknown-message--right-padding { - position: relative; - width: 68px; } - .sendbird-incoming-unknown-message--right-padding .sendbird-incoming-unknown-message__sent-at { - position: absolute; - left: 4px; - bottom: 4px; } - .sendbird-tooltip { position: relative; display: inline-flex; @@ -3478,6 +3595,75 @@ position: relative; display: inline-flex; } +.sendbird-reaction-badge { + display: inline-block; + border-radius: 15px; + width: 50px; + height: 24px; } + .sendbird-theme--light .sendbird-reaction-badge { + background-color: var(--sendbird-light-background-100); + border: solid 1px var(--sendbird-light-background-100); } + .sendbird-theme--dark .sendbird-reaction-badge { + background-color: var(--sendbird-dark-background-500); + border: solid 1px var(--sendbird-dark-background-500); } + .sendbird-reaction-badge:hover { + cursor: pointer; } + .sendbird-theme--light .sendbird-reaction-badge:hover { + border: solid 1px var(--sendbird-light-primary-300); } + .sendbird-theme--dark .sendbird-reaction-badge:hover { + border: solid 1px var(--sendbird-dark-primary-200); } + +.sendbird-reaction-badge--is-add { + display: inline-block; + border-radius: 15px; + width: 36px; + height: 24px; } + .sendbird-theme--light .sendbird-reaction-badge--is-add { + background-color: var(--sendbird-light-background-100); + border: solid 1px var(--sendbird-light-background-100); } + .sendbird-theme--dark .sendbird-reaction-badge--is-add { + background-color: var(--sendbird-dark-background-500); + border: solid 1px var(--sendbird-dark-background-500); } + .sendbird-reaction-badge--is-add:hover { + cursor: pointer; + border: solid 1px var(--sendbird-add-reaction-button-border-hover); } + .sendbird-reaction-badge--is-add .sendbird-reaction-badge__inner .sendbird-reaction-badge__inner__icon { + left: 8px; } + +.sendbird-reaction-badge--selected { + display: inline-block; + border-radius: 15px; + width: 50px; + height: 24px; } + .sendbird-theme--light .sendbird-reaction-badge--selected { + background-color: var(--sendbird-light-primary-100); + border: solid 1px var(--sendbird-light-primary-100); } + .sendbird-theme--dark .sendbird-reaction-badge--selected { + background-color: var(--sendbird-dark-primary-400); + border: solid 1px var(--sendbird-dark-primary-400); } + .sendbird-reaction-badge--selected:hover { + cursor: pointer; } + .sendbird-theme--light .sendbird-reaction-badge--selected:hover { + border: solid 1px var(--sendbird-light-primary-300); } + .sendbird-theme--dark .sendbird-reaction-badge--selected:hover { + border: solid 1px var(--sendbird-dark-primary-200); } + +.sendbird-reaction-badge__inner { + position: relative; + display: flex; + height: 24px; + flex-direction: row; + align-items: center; + justify-content: center; + padding-left: 20px; + padding-right: 4px; } + .sendbird-reaction-badge__inner .sendbird-reaction-badge__inner__icon { + position: absolute; + top: 2px; + left: 4px; } + .sendbird-reaction-badge__inner .sendbird-reaction-badge__inner__count { + margin-left: 4px; } + .sendbird-og-message { position: relative; } .sendbird-og-message--outgoing { @@ -3724,102 +3910,34 @@ left: 4px; display: none; } -.sendbird-reaction-badge { - display: inline-block; - border-radius: 15px; - width: 50px; - height: 24px; } - .sendbird-theme--light .sendbird-reaction-badge { - background-color: var(--sendbird-light-background-100); - border: solid 1px var(--sendbird-light-background-100); } - .sendbird-theme--dark .sendbird-reaction-badge { - background-color: var(--sendbird-dark-background-500); - border: solid 1px var(--sendbird-dark-background-500); } - .sendbird-reaction-badge:hover { - cursor: pointer; } - .sendbird-theme--light .sendbird-reaction-badge:hover { - border: solid 1px var(--sendbird-light-primary-300); } - .sendbird-theme--dark .sendbird-reaction-badge:hover { - border: solid 1px var(--sendbird-dark-primary-200); } - -.sendbird-reaction-badge--is-add { - display: inline-block; - border-radius: 15px; - width: 36px; - height: 24px; } - .sendbird-theme--light .sendbird-reaction-badge--is-add { - background-color: var(--sendbird-light-background-100); - border: solid 1px var(--sendbird-light-background-100); } - .sendbird-theme--dark .sendbird-reaction-badge--is-add { - background-color: var(--sendbird-dark-background-500); - border: solid 1px var(--sendbird-dark-background-500); } - .sendbird-reaction-badge--is-add:hover { - cursor: pointer; - border: solid 1px var(--sendbird-add-reaction-button-border-hover); } - .sendbird-reaction-badge--is-add .sendbird-reaction-badge__inner .sendbird-reaction-badge__inner__icon { - left: 8px; } - -.sendbird-reaction-badge--selected { - display: inline-block; - border-radius: 15px; - width: 50px; - height: 24px; } - .sendbird-theme--light .sendbird-reaction-badge--selected { - background-color: var(--sendbird-light-primary-100); - border: solid 1px var(--sendbird-light-primary-100); } - .sendbird-theme--dark .sendbird-reaction-badge--selected { - background-color: var(--sendbird-dark-primary-400); - border: solid 1px var(--sendbird-dark-primary-400); } - .sendbird-reaction-badge--selected:hover { - cursor: pointer; } - .sendbird-theme--light .sendbird-reaction-badge--selected:hover { - border: solid 1px var(--sendbird-light-primary-300); } - .sendbird-theme--dark .sendbird-reaction-badge--selected:hover { - border: solid 1px var(--sendbird-dark-primary-200); } - -.sendbird-reaction-badge__inner { - position: relative; - display: flex; - height: 24px; - flex-direction: row; - align-items: center; - justify-content: center; - padding-left: 20px; - padding-right: 4px; } - .sendbird-reaction-badge__inner .sendbird-reaction-badge__inner__icon { - position: absolute; - top: 2px; - left: 4px; } - .sendbird-reaction-badge__inner .sendbird-reaction-badge__inner__count { - margin-left: 4px; } - @import url("https://fonts.googleapis.com/css?family=Open+Sans:400,600,700&display=swap"); :root { - --sendbird-light-primary-500: #4d2aa6; - --sendbird-light-primary-400: #6440C4; - --sendbird-light-primary-300: #7B53EF; - --sendbird-light-primary-200: #9E8CF5; - --sendbird-light-primary-100: #E2DFFF; - --sendbird-light-secondary-500: #007A7A; - --sendbird-light-secondary-400: #189A8D; - --sendbird-light-secondary-300: #2EBA9F; - --sendbird-light-secondary-200: #6FD6BE; - --sendbird-light-secondary-100: #AEF2DC; - --sendbird-light-information-100: #b2d9ff; - --sendbird-light-error-500: #A30E2D; - --sendbird-light-error-400: #C11F41; - --sendbird-light-error-300: #E53157; - --sendbird-light-error-200: #FF6183; - --sendbird-light-error-100: #FFABBD; + --sendbird-light-primary-500: #491389; + --sendbird-light-primary-400: #6211c8; + --sendbird-light-primary-300: #742ddd; + --sendbird-light-primary-200: #c2a9fa; + --sendbird-light-primary-100: #dbd1ff; + --sendbird-light-secondary-500: #066858; + --sendbird-light-secondary-400: #027d69; + --sendbird-light-secondary-300: #259c72; + --sendbird-light-secondary-200: #69c085; + --sendbird-light-secondary-100: #a8e2ab; + --sendbird-light-information-100: #adc9ff; + --sendbird-light-error-500: #9d091e; + --sendbird-light-error-400: #bf0711; + --sendbird-light-error-300: #de360b; + --sendbird-light-error-200: #f66161; + --sendbird-light-error-100: #fdaaaa; --sendbird-light-background-700: #000000; --sendbird-light-background-600: #161616; --sendbird-light-background-500: #2C2C2C; --sendbird-light-background-400: #393939; - --sendbird-light-background-300: #A8A8A8; - --sendbird-light-background-200: #D9D9D9; - --sendbird-light-background-100: #F0F0F0; + --sendbird-light-background-300: #bdbdbd; + --sendbird-light-background-200: #e0e0e0; + --sendbird-light-background-100: #eeeeee; --sendbird-light-background-50: #FFFFFF; - --sendbird-light-overlay: rgba(0, 0, 0, 0.32); + --sendbird-light-overlay-01: rgba(0, 0, 0, 0.55); + --sendbird-light-overlay-02: rgba(0, 0, 0, 0.32); --sendbird-light-onlight-01: rgba(0, 0, 0, 0.88); --sendbird-light-onlight-02: rgba(0, 0, 0, 0.50); --sendbird-light-onlight-03: rgba(0, 0, 0, 0.38); @@ -3832,35 +3950,35 @@ --sendbird-light-shadow-02: 0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12); --sendbird-light-shadow-03: 0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12); --sendbird-light-shadow-04: 0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12); - --sendbird-light-shadow-message-input: 0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12); - --sendbird-light-theme-surface-2: #EAEAEA; } + --sendbird-light-shadow-message-input: 0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12); } :root { - --sendbird-dark-primary-500: #4d2aa6; - --sendbird-dark-primary-400: #6440C4; - --sendbird-dark-primary-300: #7B53EF; - --sendbird-dark-primary-200: #9E8CF5; - --sendbird-dark-primary-100: #E2DFFF; - --sendbird-dark-secondary-500: #007A7A; - --sendbird-dark-secondary-400: #189A8D; - --sendbird-dark-secondary-300: #2EBA9F; - --sendbird-dark-secondary-200: #6FD6BE; - --sendbird-dark-secondary-100: #AEF2DC; - --sendbird-dark-information-100: #b2d9ff; - --sendbird-dark-error-500: #A30E2D; - --sendbird-dark-error-400: #C11F41; - --sendbird-dark-error-300: #E53157; - --sendbird-dark-error-200: #FF6183; - --sendbird-dark-error-100: #FFABBD; + --sendbird-dark-primary-500: #491389; + --sendbird-dark-primary-400: #6211c8; + --sendbird-dark-primary-300: #742ddd; + --sendbird-dark-primary-200: #c2a9fa; + --sendbird-dark-primary-100: #dbd1ff; + --sendbird-dark-secondary-500: #066858; + --sendbird-dark-secondary-400: #027d69; + --sendbird-dark-secondary-300: #259c72; + --sendbird-dark-secondary-200: #69c085; + --sendbird-dark-secondary-100: #a8e2ab; + --sendbird-dark-information-100: #adc9ff; + --sendbird-dark-error-500: #9d091e; + --sendbird-dark-error-400: #bf0711; + --sendbird-dark-error-300: #de360b; + --sendbird-dark-error-200: #f66161; + --sendbird-dark-error-100: #fdaaaa; --sendbird-dark-background-700: #000000; --sendbird-dark-background-600: #161616; --sendbird-dark-background-500: #2C2C2C; --sendbird-dark-background-400: #393939; - --sendbird-dark-background-300: #A8A8A8; - --sendbird-dark-background-200: #D9D9D9; - --sendbird-dark-background-100: #F0F0F0; + --sendbird-dark-background-300: #bdbdbd; + --sendbird-dark-background-200: #e0e0e0; + --sendbird-dark-background-100: #eeeeee; --sendbird-dark-background-50: #FFFFFF; - --sendbird-dark-overlay: rgba(0, 0, 0, 0.32); + --sendbird-dark-overlay-01: rgba(0, 0, 0, 0.55); + --sendbird-dark-overlay-02: rgba(0, 0, 0, 0.32); --sendbird-dark-onlight-01: rgba(0, 0, 0, 0.88); --sendbird-dark-onlight-02: rgba(0, 0, 0, 0.50); --sendbird-dark-onlight-03: rgba(0, 0, 0, 0.38); @@ -3884,7 +4002,7 @@ --sendbird-tooltip-text-color: rgba(255, 255, 255, 0.88); --sendbird-button-border-focus: #FFFFFF; --sendbird-file-message-icon-background: #FFFFFF; - --sendbird-font-family-default: 'Open Sans', sans-serif; + --sendbird-font-family-default: 'Roboto', sans-serif; --sendbird-message-balloon-width: 404px; } /*# sourceMappingURL=dist/index.css.map */ \ No newline at end of file diff --git a/dist/index.css.map b/dist/index.css.map index 3b3b228..d92e047 100644 --- a/dist/index.css.map +++ b/dist/index.css.map @@ -1 +1 @@ -{"version":3,"sources":["index.scss","frozen-notification.scss","channel-profile.scss","openchannel-conversation-scroll.scss","user-list-item.scss","muted-avatar-overlay.scss","notification.scss","add-channel.scss","members-accordion.scss","conversation-scroll.scss","color.scss"],"names":[],"mappings":"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","file":"dist/index.css","sourcesContent":["@import url(\"https://fonts.googleapis.com/css?family=Open+Sans:400,600,700&display=swap\");\n:root {\n --sendbird-light-primary-500: #4d2aa6;\n --sendbird-light-primary-400: #6440C4;\n --sendbird-light-primary-300: #7B53EF;\n --sendbird-light-primary-200: #9E8CF5;\n --sendbird-light-primary-100: #E2DFFF;\n --sendbird-light-secondary-500: #007A7A;\n --sendbird-light-secondary-400: #189A8D;\n --sendbird-light-secondary-300: #2EBA9F;\n --sendbird-light-secondary-200: #6FD6BE;\n --sendbird-light-secondary-100: #AEF2DC;\n --sendbird-light-information-100: #b2d9ff;\n --sendbird-light-error-500: #A30E2D;\n --sendbird-light-error-400: #C11F41;\n --sendbird-light-error-300: #E53157;\n --sendbird-light-error-200: #FF6183;\n --sendbird-light-error-100: #FFABBD;\n --sendbird-light-background-700: #000000;\n --sendbird-light-background-600: #161616;\n --sendbird-light-background-500: #2C2C2C;\n --sendbird-light-background-400: #393939;\n --sendbird-light-background-300: #A8A8A8;\n --sendbird-light-background-200: #D9D9D9;\n --sendbird-light-background-100: #F0F0F0;\n --sendbird-light-background-50: #FFFFFF;\n --sendbird-light-overlay: rgba(0, 0, 0, 0.32);\n --sendbird-light-onlight-01: rgba(0, 0, 0, 0.88);\n --sendbird-light-onlight-02: rgba(0, 0, 0, 0.50);\n --sendbird-light-onlight-03: rgba(0, 0, 0, 0.38);\n --sendbird-light-onlight-04: rgba(0, 0, 0, 0.12);\n --sendbird-light-ondark-01: rgba(255, 255, 255, 0.88);\n --sendbird-light-ondark-02: rgba(255, 255, 255, 0.50);\n --sendbird-light-ondark-03: rgba(255, 255, 255, 0.38);\n --sendbird-light-ondark-04: rgba(255, 255, 255, 0.12);\n --sendbird-light-shadow-01: 0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12);\n --sendbird-light-shadow-02: 0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12);\n --sendbird-light-shadow-03: 0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12);\n --sendbird-light-shadow-04: 0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12);\n --sendbird-light-shadow-message-input: 0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n --sendbird-light-theme-surface-2: #EAEAEA; }\n\n:root {\n --sendbird-dark-primary-500: #4d2aa6;\n --sendbird-dark-primary-400: #6440C4;\n --sendbird-dark-primary-300: #7B53EF;\n --sendbird-dark-primary-200: #9E8CF5;\n --sendbird-dark-primary-100: #E2DFFF;\n --sendbird-dark-secondary-500: #007A7A;\n --sendbird-dark-secondary-400: #189A8D;\n --sendbird-dark-secondary-300: #2EBA9F;\n --sendbird-dark-secondary-200: #6FD6BE;\n --sendbird-dark-secondary-100: #AEF2DC;\n --sendbird-dark-information-100: #b2d9ff;\n --sendbird-dark-error-500: #A30E2D;\n --sendbird-dark-error-400: #C11F41;\n --sendbird-dark-error-300: #E53157;\n --sendbird-dark-error-200: #FF6183;\n --sendbird-dark-error-100: #FFABBD;\n --sendbird-dark-background-700: #000000;\n --sendbird-dark-background-600: #161616;\n --sendbird-dark-background-500: #2C2C2C;\n --sendbird-dark-background-400: #393939;\n --sendbird-dark-background-300: #A8A8A8;\n --sendbird-dark-background-200: #D9D9D9;\n --sendbird-dark-background-100: #F0F0F0;\n --sendbird-dark-background-50: #FFFFFF;\n --sendbird-dark-overlay: rgba(0, 0, 0, 0.32);\n --sendbird-dark-onlight-01: rgba(0, 0, 0, 0.88);\n --sendbird-dark-onlight-02: rgba(0, 0, 0, 0.50);\n --sendbird-dark-onlight-03: rgba(0, 0, 0, 0.38);\n --sendbird-dark-onlight-04: rgba(0, 0, 0, 0.12);\n --sendbird-dark-ondark-01: rgba(255, 255, 255, 0.88);\n --sendbird-dark-ondark-02: rgba(255, 255, 255, 0.50);\n --sendbird-dark-ondark-03: rgba(255, 255, 255, 0.38);\n --sendbird-dark-ondark-04: rgba(255, 255, 255, 0.12);\n --sendbird-dark-shadow-01: 0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12);\n --sendbird-dark-shadow-02: 0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12);\n --sendbird-dark-shadow-03: 0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12);\n --sendbird-dark-shadow-04: 0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12);\n --sendbird-dark-shadow-message-input: 0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }\n\n:root {\n --sendbird-iconbutton-color: #825eeb;\n --sendbird-message-input-border-active: #7B53EF;\n --sendbird-selected-reaction-button-border-hover: #9E8CF5;\n --sendbird-add-reaction-button-border-hover: #9E8CF5;\n --sendbird-tooltip-background: #000000;\n --sendbird-tooltip-text-color: rgba(255, 255, 255, 0.88);\n --sendbird-button-border-focus: #FFFFFF;\n --sendbird-file-message-icon-background: #FFFFFF;\n --sendbird-font-family-default: 'Open Sans', sans-serif;\n --sendbird-message-balloon-width: 404px; }\n",".sendbird-frozen-channel-notification {\n position: relative;\n margin-top: 8px;\n margin-right: 24px;\n margin-left: 24px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px; }\n .sendbird-theme--light .sendbird-frozen-channel-notification {\n background-color: var(--sendbird-light-information-100); }\n .sendbird-theme--dark .sendbird-frozen-channel-notification {\n background-color: var(--sendbird-dark-information-100); }\n",".sendbird-channel-profile {\n position: relative;\n text-align: center;\n padding: 32px 40px 27px 40px; }\n .sendbird-theme--light .sendbird-channel-profile {\n border-bottom: 1px solid var(--sendbird-light-onlight-04);\n background-color: var(--sendbird-light-background-50); }\n .sendbird-theme--dark .sendbird-channel-profile {\n border-bottom: 1px solid var(--sendbird-dark-ondark-04);\n background-color: var(--sendbird-dark-background-600); }\n .sendbird-channel-profile .sendbird-channel-profile--inner {\n height: 92px; }\n .sendbird-channel-profile .sendbird-channel-profile__avatar {\n margin-bottom: 16px;\n text-align: center; }\n .sendbird-channel-profile .sendbird-channel-profile__title {\n max-width: 240px;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n height: 18px; }\n .sendbird-channel-profile .sendbird-channel-profile__edit {\n position: absolute;\n top: 10px;\n right: 16px; }\n\n.channel-profile-form .channel-profile-form__img-section {\n position: relative; }\n\n.channel-profile-form .channel-profile-form__avatar-button {\n position: absolute;\n top: 54px;\n left: 96px; }\n\n.channel-profile-form .channel-profile-form__avatar {\n margin-top: 16px; }\n\n.channel-profile-form .channel-profile-form__name-section {\n margin-top: 12px; }\n .channel-profile-form .channel-profile-form__name-section .sendbird-input {\n height: 40px; }\n",".sendbird-openchannel-conversation-scroll {\n position: relative;\n width: 100%; }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container {\n position: sticky;\n width: 100%;\n bottom: 0px;\n height: 100%; }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__padding {\n height: 8px; }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button {\n position: sticky;\n display: flex;\n align-items: center;\n justify-content: center;\n bottom: 8px;\n left: calc(50% - 20px);\n width: 40px;\n height: 40px;\n border-radius: 24px;\n z-index: 1; }\n .sendbird-theme--light .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button {\n background-color: var(--sendbird-light-primary-300); }\n .sendbird-theme--dark .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button {\n background-color: var(--sendbird-dark-primary-200); }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:hover {\n cursor: pointer; }\n .sendbird-theme--light .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:hover {\n background-color: var(--sendbird-light-primary-400); }\n .sendbird-theme--dark .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:hover {\n background-color: var(--sendbird-dark-primary-300); }\n .sendbird-theme--light .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:active {\n background-color: var(--sendbird-light-primary-500); }\n .sendbird-theme--dark .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:active {\n background-color: var(--sendbird-dark-primary-400); }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__item-container--no-messages {\n width: 100%;\n height: calc(100% - 8px); }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__item-container--no-messages .sendbird-openchannel-conversation-scroll__container__place-holder {\n width: 100%;\n height: 100%; }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button {\n position: sticky;\n display: flex;\n align-items: center;\n justify-content: center;\n bottom: 8px;\n left: calc(50% - 20px);\n width: 40px;\n height: 40px;\n border-radius: 24px;\n z-index: 1; }\n .sendbird-theme--light .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button {\n background-color: var(--sendbird-light-primary-300); }\n .sendbird-theme--dark .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button {\n background-color: var(--sendbird-dark-primary-200); }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:hover {\n cursor: pointer; }\n .sendbird-theme--light .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:hover {\n background-color: var(--sendbird-light-primary-400); }\n .sendbird-theme--dark .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:hover {\n background-color: var(--sendbird-dark-primary-300); }\n .sendbird-theme--light .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:active {\n background-color: var(--sendbird-light-primary-500); }\n .sendbird-theme--dark .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:active {\n background-color: var(--sendbird-dark-primary-400); }\n",".sendbird-user-list-item--small {\n display: block;\n position: relative;\n box-sizing: border-box;\n height: 40px; }\n .sendbird-user-list-item--small__avatar {\n cursor: pointer;\n position: absolute;\n top: 10px;\n left: 12px; }\n .sendbird-user-list-item--small .sendbird-muted-avatar {\n position: absolute;\n top: 10px;\n left: 12px;\n z-index: 2;\n pointer-events: none; }\n .sendbird-user-list-item--small__title {\n position: absolute;\n top: 10px;\n left: 54px;\n width: 160px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; }\n .sendbird-user-list-item--small__subtitle {\n position: absolute;\n top: 23px;\n left: 140px;\n max-width: 237px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; }\n .sendbird-user-list-item--small__checkbox {\n position: absolute;\n top: 16px;\n right: 16px; }\n .sendbird-user-list-item--small__action {\n display: none;\n position: absolute;\n right: 10px;\n top: 4px; }\n .sendbird-user-list-item--small__operator {\n position: absolute;\n right: 24px;\n top: 10px; }\n .sendbird-theme--light .sendbird-user-list-item--small:hover, .sendbird-theme--light .sendbird-user-list-item--small.sendbird-icon--pressed {\n background-color: var(--sendbird-light-background-100); }\n .sendbird-theme--dark .sendbird-user-list-item--small:hover, .sendbird-theme--dark .sendbird-user-list-item--small.sendbird-icon--pressed {\n background-color: var(--sendbird-dark-background-500); }\n .sendbird-user-list-item--small:hover .sendbird-user-list-item--small__action, .sendbird-user-list-item--small.sendbird-icon--pressed .sendbird-user-list-item--small__action {\n display: block; }\n .sendbird-user-list-item--small:hover .sendbird-user-list-item--small__operator, .sendbird-user-list-item--small.sendbird-icon--pressed .sendbird-user-list-item--small__operator {\n display: none; }\n .sendbird-theme--light .sendbird-user-list-item--small.sendbird-icon--pressed .sendbird-iconbutton {\n background-color: var(--sendbird-light-primary-100); }\n .sendbird-theme--dark .sendbird-user-list-item--small.sendbird-icon--pressed .sendbird-iconbutton {\n background-color: var(--sendbird-dark-background-700); }\n",".sendbird-muted-avatar {\n border-radius: 50%;\n display: inline-block; }\n .sendbird-muted-avatar .sendbird-muted-avatar__icon {\n position: relative; }\n .sendbird-muted-avatar .sendbird-muted-avatar__icon .sendbird-icon {\n position: absolute;\n top: 4px;\n left: 4px; }\n .sendbird-muted-avatar .sendbird-muted-avatar__bg {\n opacity: .5;\n position: absolute;\n border-radius: 50%;\n top: 0;\n left: 0; }\n .sendbird-theme--light .sendbird-muted-avatar .sendbird-muted-avatar__bg {\n background-color: var(--sendbird-light-primary-400); }\n .sendbird-theme--dark .sendbird-muted-avatar .sendbird-muted-avatar__bg {\n background-color: var(--sendbird-dark-primary-300); }\n",".sendbird-notification {\n margin-top: 8px;\n margin-left: 24px;\n margin-right: 24px;\n border-radius: 4px;\n padding: 0px 2px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center; }\n .sendbird-theme--light .sendbird-notification {\n background-color: var(--sendbird-light-primary-300); }\n .sendbird-theme--dark .sendbird-notification {\n background-color: var(--sendbird-dark-primary-200); }\n .sendbird-notification:hover {\n cursor: pointer; }\n .sendbird-theme--light .sendbird-notification:hover {\n background-color: var(--sendbird-light-primary-400); }\n .sendbird-theme--dark .sendbird-notification:hover {\n background-color: var(--sendbird-dark-primary-300); }\n .sendbird-theme--light .sendbird-notification.sendbird-notification--frozen {\n background-color: var(--sendbird-light-information-100); }\n .sendbird-theme--dark .sendbird-notification.sendbird-notification--frozen {\n background-color: var(--sendbird-dark-information-100); }\n .sendbird-theme--light .sendbird-notification.sendbird-notification--frozen .sendbird-notification__text {\n color: var(--sendbird-light-onlight-01); }\n .sendbird-theme--dark .sendbird-notification.sendbird-notification--frozen .sendbird-notification__text {\n color: var(--sendbird-dark-onlight-01); }\n .sendbird-notification .sendbird-notification__text {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 8px; }\n",".sendbird-add-channel__rectangle-wrap {\n margin-top: 26px; }\n\n.sendbird-add-channel__rectangle-footer {\n text-align: right;\n margin-top: 32px; }\n\n.sendbird-add-channel__rectangle {\n width: 432px;\n height: 72px;\n border-radius: 4px;\n margin-bottom: 8px;\n padding: 25px 72px;\n position: relative;\n box-sizing: border-box;\n cursor: pointer; }\n .sendbird-theme--light .sendbird-add-channel__rectangle {\n border: 1px solid var(--sendbird-light-onlight-04); }\n .sendbird-theme--dark .sendbird-add-channel__rectangle {\n border: 1px solid var(--sendbird-dark-ondark-04); }\n .sendbird-add-channel__rectangle .sendbird-icon {\n position: absolute;\n left: 22px;\n top: 24px; }\n",".sendbird-members-accordion {\n padding: 8px 16px 16px 16px;\n position: relative;\n box-sizing: border-box; }\n .sendbird-theme--light .sendbird-members-accordion {\n border-bottom: 1px solid var(--sendbird-light-onlight-04);\n background-color: var(--sendbird-light-background-50); }\n .sendbird-theme--dark .sendbird-members-accordion {\n border-bottom: 1px solid var(--sendbird-dark-ondark-04);\n background-color: var(--sendbird-dark-background-600); }\n .sendbird-members-accordion .sendbird-members-accordion__member {\n position: relative;\n padding: 12px 0px 12px 44px;\n height: 40px;\n box-sizing: border-box; }\n .sendbird-members-accordion .sendbird-members-accordion__member .sendbird-label {\n max-width: 240px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; }\n .sendbird-members-accordion .sendbird-members-accordion__member-avatar {\n position: absolute;\n left: 0;\n top: 10px;\n cursor: pointer; }\n .sendbird-members-accordion .sendbird-members-accordion__footer {\n display: flex;\n justify-content: flex-start;\n margin-top: 8px; }\n .sendbird-members-accordion .sendbird-members-accordion__footer .sendbird-members-accordion__footer__all-members {\n margin-right: 16px; }\n\n.sendbird-more-members__popup-scroll {\n max-height: 420px;\n overflow-y: auto; }\n",".sendbird-conversation__messages .sendbird-conversation__messages-padding {\n padding-left: 24px;\n padding-right: 24px; }\n\n.sendbird-conversation__messages .sendbird-separator,\n.sendbird-conversation__messages .sendbird-admin-message {\n padding-top: 8px;\n padding-bottom: 8px; }\n",".sendbird-theme--light .sendbird-color--onbackground-1 {\n color: var(--sendbird-light-onlight-01); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-1 {\n color: var(--sendbird-dark-ondark-01); }\n\n.sendbird-theme--light .sendbird-color--onbackground-1--background-color {\n background-color: var(--sendbird-light-onlight-01); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-1--background-color {\n background-color: var(--sendbird-dark-ondark-01); }\n\n.sendbird-theme--light .sendbird-color--onbackground-2 {\n color: var(--sendbird-light-onlight-02); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-2 {\n color: var(--sendbird-dark-ondark-02); }\n\n.sendbird-theme--light .sendbird-color--onbackground-2--background-color {\n background-color: var(--sendbird-light-onlight-02); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-2--background-color {\n background-color: var(--sendbird-dark-ondark-02); }\n\n.sendbird-theme--light .sendbird-color--onbackground-3 {\n color: var(--sendbird-light-onlight-03); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-3 {\n color: var(--sendbird-dark-ondark-03); }\n\n.sendbird-theme--light .sendbird-color--onbackground-3--background-color {\n background-color: var(--sendbird-light-onlight-03); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-3--background-color {\n background-color: var(--sendbird-dark-ondark-03); }\n\n.sendbird-theme--light .sendbird-color--onbackground-4 {\n color: var(--sendbird-light-onlight-04); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-4 {\n color: var(--sendbird-dark-ondark-04); }\n\n.sendbird-theme--light .sendbird-color--onbackground-4--background-color {\n background-color: var(--sendbird-light-onlight-04); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-4--background-color {\n background-color: var(--sendbird-dark-ondark-04); }\n\n.sendbird-theme--light .sendbird-color--oncontent-1 {\n color: var(--sendbird-light-ondark-01); }\n\n.sendbird-theme--dark .sendbird-color--oncontent-1 {\n color: var(--sendbird-dark-onlight-01); }\n\n.sendbird-theme--light .sendbird-color--oncontent-1--background-color {\n background-color: var(--sendbird-light-ondark-01); }\n\n.sendbird-theme--dark .sendbird-color--oncontent-1--background-color {\n background-color: var(--sendbird-dark-onlight-01); }\n\n.sendbird-theme--light .sendbird-color--primary {\n color: var(--sendbird-light-primary-300); }\n\n.sendbird-theme--dark .sendbird-color--primary {\n color: var(--sendbird-dark-primary-200); }\n\n.sendbird-theme--light .sendbird-color--primary--background-color {\n background-color: var(--sendbird-light-primary-300); }\n\n.sendbird-theme--dark .sendbird-color--primary--background-color {\n background-color: var(--sendbird-dark-primary-200); }\n\n.sendbird-theme--light .sendbird-color--error {\n color: var(--sendbird-light-error-300); }\n\n.sendbird-theme--dark .sendbird-color--error {\n color: var(--sendbird-dark-error-300); }\n\n.sendbird-theme--light .sendbird-color--error--background-color {\n background-color: var(--sendbird-light-error-300); }\n\n.sendbird-theme--dark .sendbird-color--error--background-color {\n background-color: var(--sendbird-dark-error-300); }\n"]} \ No newline at end of file +{"version":3,"sources":["index.scss","channel-profile.scss","frozen-notification.scss","openchannel-conversation-scroll.scss","user-list-item.scss","muted-avatar-overlay.scss","notification.scss","members-accordion.scss","add-channel.scss","conversation-scroll.scss","color.scss"],"names":[],"mappings":"AAAA;EACE,YAAY;EACZ,YAAY;EACZ,qBAAqB;EACrB,kBAAkB;EAClB,kBAAkB,EAAE;EACpB;IACE,qDAAqD;IACrD,kDAAkD,EAAE;EACtD;IACE,qDAAqD;IACrD,gDAAgD,EAAE;EACpD;IACE,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB,EAAE;EACtB;;IAEE,kBAAkB;IAClB,UAAU,EAAE;EACd;IACE,YAAY,EAAE;IACd;MACE,iBAAiB;MACjB,yBAAyB;MACzB,kBAAkB,EAAE;IACtB;MACE,cAAc;MACd,WAAW;MACX,kBAAkB;MAClB,MAAM;MACN,OAAO,EAAE;MACT;QACE,qDAAqD,EAAE;MACzD;QACE,qDAAqD,EAAE;EAC7D;;IAEE,gBAAgB,EAAE;EACpB;IACE,gBAAgB,EAAE;EACpB;IACE,YAAY;IACZ,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,sBAAsB;IACtB,gBAAgB,EAAE;IAClB;MACE,yDAAyD,EAAE;IAC7D;MACE,uDAAuD,EAAE;EAC7D;IACE,eAAe;IACf,kBAAkB;IAClB,SAAS;IACT,WAAW,EAAE;IACb;MACE,sCAAsC,EAAE;IAC1C;MACE,oCAAoC,EAAE;EAC1C;IACE,eAAe,EAAE;EACnB;IACE,aAAa;IACb,sBAAsB;IACtB,kBAAkB,EAAE;IACpB;MACE,qBAAqB,EAAE;IACzB;MACE,eAAe;MACf,kBAAkB;MAClB,aAAa;MACb,SAAS;MACT,WAAW,EAAE;IACf;MACE,eAAe,EAAE;IACnB;;MAEE,gBAAgB;MAChB,cAAc;MACd,qBAAqB,EAAE;EAC3B;IACE,qDAAqD;IACrD,yDAAyD,EAAE;EAC7D;IACE,qDAAqD;IACrD,uDAAuD,EAAE;EAC3D;IACE,cAAc;IACd,eAAe;IACf,sBAAsB;IACtB,kBAAkB;IAClB,4BAA4B,EAAE;IAC9B;MACE,qDAAqD;MACrD,yDAAyD,EAAE;IAC7D;MACE,qDAAqD;MACrD,uDAAuD,EAAE;IAC3D;MACE,aAAa,EAAE;IACjB;MACE,mBAAmB,EAAE;EACzB;IACE,kBAAkB;IAClB,2BAA2B;IAC3B,YAAY;IACZ,sBAAsB;IACtB,gBAAgB,EAAE;IAClB;MACE,gBAAgB;MAChB,mBAAmB;MACnB,gBAAgB;MAChB,uBAAuB,EAAE;EAC7B;IACE,kBAAkB;IAClB,UAAU;IACV,SAAS;IACT,eAAe,EAAE;;AAvHrB;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,YAAY;EACZ,WAAW,EAAE;EACb;IACE,qDAAqD,EAAE;EACzD;IACE,qDAAqD,EAAE;EACzD;IACE,gBAAgB;IAChB,WAAW;IACX,QAAQ;IACR,WAAW,EAAE;EACf;IACE,QAAQ;IACR,4BAA4B,EAAE;EAChC;IACE,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB,EAAE;IACxB;MACE,WAAW,EAAE;;AAzBnB;EACE,kBAAkB;EAClB,gBAAgB,EAAE;EAClB;IACE,yDAAyD,EAAE;EAC7D;IACE,uDAAuD,EAAE;EAC3D;IACE,mBAAmB;IACnB,kBAAkB;IAClB,uBAAuB;IACvB,6BAA6B,EAAE;EACjC;IACE,kBAAkB;IAClB,UAAU;IACV,SAAS,EAAE;EACb;IACE,kBAAkB;IAClB,UAAU;IACV,SAAS,EAAE;EACb;IACE,kBAAkB;IAClB,UAAU;IACV,SAAS,EAAE;EACb;IACE,kBAAkB;IAClB,QAAQ;IACR,UAAU;IACV,WAAW;IACX,YAAY,EAAE;IACd;MACE,kBAAkB;MAClB,SAAS;MACT,WAAW;MACX,aAAa;MACb,mBAAmB;MACnB,uBAAuB,EAAE;;AAE/B;EACE,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,kBAAkB,EAAE;EACpB;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;;AA9C3D;EACE,qBAAqB;EACrB,gBAAgB;EAChB,kBAAkB;EAClB,kBAAkB,EAAE;EACpB;IACE,aAAa,EAAE;EACjB;IACE,kBAAkB;IAClB,QAAQ;IACR,SAAS;IACT,gCAAgC;IAChC,aAAa;IACb,uBAAuB;IACvB,mBAAmB,EAAE;IACrB;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;EAC3D;IACE,8BAA8B,EAAE;EAClC;IACE,iCAAiC,EAAE;EACrC;IACE,iCAAiC,EAAE;EACrC;IACE,2CAA2C,EAAE;EAC/C;IACE,2CAA2C,EAAE;EAC/C;IACE,2CAA2C,EAAE;EAC/C;IACE,2CAA2C,EAAE;EAC/C;IACE,2CAA2C,EAAE;EAC/C;IACE,2CAA2C,EAAE;;AApCjD;EACE,YAAY;EACZ,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,kBAAkB,EAAE;EACpB;IACE,2CAA2C;IAC3C,qDAAqD,EAAE;EACzD;IACE,0CAA0C;IAC1C,qDAAqD,EAAE;EACzD;IACE,eAAe,EAAE;EACnB;IACE,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,uBAAuB,EAAE;EAC3B;IACE,gBAAgB,EAAE;IAClB;MACE,YAAY,EAAE;EAClB;IACE,gBAAgB;IAChB,WAAW,EAAE;IACb;MACE,kDAAkD,EAAE;IACtD;MACE,gDAAgD,EAAE;EACtD;;IAEE,cAAc;IACd,gBAAgB,EAAE;EACpB;IACE,kBAAkB,EAAE;;AAnCxB;EACE,yBAAyB;EACzB,kBAAkB;EAClB,sBAAsB,EAAE;EACxB;IACE,yDAAyD;IACzD,qDAAqD,EAAE;EACzD;IACE,uDAAuD;IACvD,qDAAqD,EAAE;EACzD;IACE,kBAAkB;IAClB,2BAA2B;IAC3B,YAAY;IACZ,sBAAsB,EAAE;EAC1B;IACE,aAAa;IACb,2BAA2B;IAC3B,eAAe,EAAE;;AAErB;EACE,eAAe;EACf,kBAAkB;EAClB,4BAA4B,EAAE;EAC9B;IACE,qDAAqD;IACrD,yDAAyD,EAAE;EAC7D;IACE,qDAAqD;IACrD,uDAAuD,EAAE;EAC3D;IACE,aAAa,EAAE;EACjB;IACE,mBAAmB,EAAE;;AAEzB;;EAEE,kBAAkB;EAClB,SAAS,EAAE;;AAEb;EACE,UAAU,EAAE;;AAEd;EACE,WAAW,EAAE;;AAEf;EACE,wBAAwB,EAAE;;AAE5B;EACE,sCAAsC,EAAE;;AAE1C;EACE,oCAAoC,EAAE;;AAExC;EACE,qCAAqC,EAAE;;AAEzC;EACE,oCAAoC,EAAE;;AC3DxC;EACE,kBAAkB;EAClB,kBAAkB;EAClB,4BAA4B,EAAE;EAC9B;IACE,yDAAyD;IACzD,qDAAqD,EAAE;EACzD;IACE,uDAAuD;IACvD,qDAAqD,EAAE;EACzD;IACE,aAAa,EAAE;EACjB;IACE,mBAAmB;IACnB,kBAAkB,EAAE;EACtB;IACE,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,uBAAuB;IACvB,YAAY,EAAE;EAChB;IACE,kBAAkB;IAClB,SAAS;IACT,WAAW,EAAE;;ACxBjB;EACE,kBAAkB;EAClB,eAAe;EACf,kBAAkB;EAClB,iBAAiB;EACjB,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB,EAAE;EACpB;IACE,uDAAuD,EAAE;EAC3D;IACE,sDAAsD,EAAE;;ACb5D;EACE,kBAAkB;EAClB,WAAW,EAAE;EACb;IACE,wBAAgB;IAAhB,gBAAgB;IAChB,WAAW;IACX,WAAW;IACX,YAAY,EAAE;IACd;MACE,WAAW,EAAE;IACf;MACE,wBAAgB;MAAhB,gBAAgB;MAChB,aAAa;MACb,mBAAmB;MACnB,uBAAuB;MACvB,WAAW;MACX,sBAAsB;MACtB,WAAW;MACX,YAAY;MACZ,mBAAmB;MACnB,UAAU,EAAE;MACZ;QACE,mDAAmD,EAAE;MACvD;QACE,kDAAkD,EAAE;MACtD;QACE,eAAe,EAAE;QACjB;UACE,mDAAmD,EAAE;QACvD;UACE,kDAAkD,EAAE;MACxD;QACE,mDAAmD,EAAE;MACvD;QACE,kDAAkD,EAAE;IACxD;MACE,WAAW;MACX,wBAAwB,EAAE;MAC1B;QACE,WAAW;QACX,YAAY,EAAE;IAClB;MACE,wBAAgB;MAAhB,gBAAgB;MAChB,aAAa;MACb,mBAAmB;MACnB,uBAAuB;MACvB,WAAW;MACX,sBAAsB;MACtB,WAAW;MACX,YAAY;MACZ,mBAAmB;MACnB,UAAU,EAAE;MACZ;QACE,mDAAmD,EAAE;MACvD;QACE,kDAAkD,EAAE;MACtD;QACE,eAAe,EAAE;QACjB;UACE,mDAAmD,EAAE;QACvD;UACE,kDAAkD,EAAE;MACxD;QACE,mDAAmD,EAAE;MACvD;QACE,kDAAkD,EAAE;;AHjE5D;EACE,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,WAAW,EAAE;EACb;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,cAAc,EAAE;EAClB;IACE,kBAAkB;IAClB,aAAa;IACb,WAAW;IACX,eAAe,EAAE;IACjB;MACE,kBAAkB;MAClB,aAAa;MACb,eAAe;MACf,iBAAiB,EAAE;EACvB;IACE,kBAAkB;IAClB,aAAa;IACb,sBAAsB;IACtB,WAAW;IACX,yBAAyB,EAAE;IAC3B;MACE,kBAAkB;MAClB,aAAa;MACb,kBAAkB,EAAE;MACpB;QACE,kBAAkB;QAClB,aAAa,EAAE;MACjB;QACE,kBAAkB;QAClB,aAAa;QACb,gBAAgB,EAAE;IACtB;MACE,kBAAkB;MAClB,aAAa;MACb,WAAW,EAAE;MACb;QACE,kBAAkB;QAClB,qBAAqB,EAAE;IAC3B;MACE,kBAAkB;MAClB,QAAQ,EAAE;EACd;IACE,kBAAkB;IAClB,WAAW;IACX,aAAa,EAAE;IACf;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;IACzD;MACE,mDAAmD,EAAE;IACvD;MACE,qDAAqD,EAAE;;AA3D7D;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,WAAW,EAAE;EACb;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,cAAc,EAAE;EAClB;IACE,sBAAsB;IACtB,kBAAkB;IAClB,aAAa;IACb,mBAAmB,EAAE;IACrB;MACE,kBAAkB;MAClB,aAAa;MACb,WAAW;MACX,eAAe,EAAE;MACjB;QACE,kBAAkB;QAClB,aAAa;QACb,QAAQ;QACR,UAAU,EAAE;IAChB;MACE,kBAAkB;MAClB,aAAa;MACb,sBAAsB;MACtB,sBAAsB;MACtB,yBAAyB,EAAE;MAC3B;QACE,kBAAkB;QAClB,aAAa;QACb,kBAAkB,EAAE;QACpB;UACE,kBAAkB;UAClB,aAAa,EAAE;QACjB;UACE,kBAAkB;UAClB,aAAa;UACb,gBAAgB,EAAE;MACtB;QACE,kBAAkB;QAClB,eAAe;QACf,qBAAqB;QACrB,qBAAqB,EAAE;IAC3B;MACE,kBAAkB;MAClB,WAAW;MACX,aAAa,EAAE;MACf;QACE,sDAAsD,EAAE;MAC1D;QACE,qDAAqD,EAAE;MACzD;QACE,mDAAmD,EAAE;MACvD;QACE,qDAAqD,EAAE;EAC7D;IACE,kBAAkB;IAClB,eAAe;IACf,kBAAkB;IAClB,WAAW,EAAE;IACb;MACE,kBAAkB;MAClB,qBAAqB;MACrB,sBAAsB;MACtB,wBAAwB;MACxB,gBAAgB;MAChB,UAAU;MACV,2BAA2B;MAC3B,kBAAkB,EAAE;MACpB;QACE,kDAAkD;QAClD,sDAAsD,EAAE;MAC1D;QACE,gDAAgD;QAChD,qDAAqD,EAAE;MACzD;QACE,kBAAkB;QAClB,cAAc;QACd,mBAAmB;QACnB,gBAAgB;QAChB,uBAAuB;QACvB,kBAAkB;QAClB,gBAAgB,EAAE;MACpB;QACE,kBAAkB;QAClB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,kBAAkB;QAClB,gBAAgB,EAAE;QAClB;UACE,eAAe,EAAE;UACjB;YACE,wCAAwC,EAAE;UAC5C;YACE,uCAAuC,EAAE;MAC/C;QACE,kBAAkB;QAClB,cAAc;QACd,qBAAqB;QACrB,gBAAgB;QAChB,uBAAuB;QACvB,qBAAqB;QACrB,gBAAgB;QAChB,kBAAkB;QAClB,WAAW;QACX,gBAAgB,EAAE;MACpB;QACE,sBAAsB;QACtB,kBAAkB;QAClB,cAAc;QACd,eAAe;QACf,kBAAkB;QAClB,WAAW,EAAE;QACb;UACE,eAAe,EAAE;QACnB;UACE,kBAAkB;UAClB,WAAW;UACX,gBAAgB;UAChB,gBAAgB,EAAE;QACpB;UACE,kBAAkB;UAClB,WAAW;UACX,gBAAgB;UAChB,gBAAgB,EAAE;EAC1B;IACE,kBAAkB;IAClB,UAAU;IACV,QAAQ,EAAE;;AAEd;EACE,eAAe;EACf,eAAe;EACf,qBAAqB,EAAE;;AAEzB;EACE,wCAAwC,EAAE;;AAE5C;EACE,uCAAuC,EAAE;;AAjJ3C;EACE,kBAAkB;EAClB,aAAa;EACb,mBAAmB,EAAE;EACrB;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,cAAc,EAAE;IAChB;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;IACzD;MACE,mDAAmD,EAAE;IACvD;MACE,qDAAqD,EAAE;EAC3D;IACE,kBAAkB;IAClB,aAAa;IACb,WAAW;IACX,eAAe,EAAE;IACjB;MACE,kBAAkB;MAClB,eAAe;MACf,eAAe;MACf,iBAAiB,EAAE;EACvB;IACE,kBAAkB;IAClB,aAAa;IACb,sBAAsB;IACtB,eAAe;IACf,kBAAkB;IAClB,iBAAiB;IACjB,wBAAwB,EAAE;IAC1B;MACE,kBAAkB;MAClB,eAAe;MACf,kBAAkB,EAAE;MACpB;QACE,kBAAkB;QAClB,eAAe;QACf,iBAAiB,EAAE;MACrB;QACE,kBAAkB;QAClB,eAAe,EAAE;IACrB;MACE,kBAAkB;MAClB,aAAa;MACb,kBAAkB,EAAE;MACpB;QACE,UAAU,EAAE;MACd;QACE,kBAAkB;QAClB,uBAAuB,EAAE;QACzB;UACE,kBAAkB;UAClB,UAAU;UACV,WAAW;UACX,YAAY;UACZ,gBAAgB;UAChB,QAAQ;UACR,SAAS;UACT,kBAAkB;UAClB,eAAe,EAAE;UACjB;YACE,kDAAkD,EAAE;UACtD;YACE,iDAAiD,EAAE;QACvD;UACE,gBAAgB;UAChB,iBAAiB,EAAE;UACnB;YACE,eAAe,EAAE;UACnB;YACE,gBAAgB;YAChB,iBAAiB;YACjB,kBAAkB,EAAE;UACtB;YACE,kBAAkB;YAClB,qBAAqB;YACrB,sBAAsB,EAAE;QAC5B;UACE,gCAAgC;UAChC,kBAAkB,EAAE;UACpB;YACE,sDAAsD,EAAE;UAC1D;YACE,qDAAqD,EAAE;QAC3D;UACE,kBAAkB,EAAE;QACtB;UACE,gCAAgC;UAChC,kBAAkB,EAAE;UACpB;YACE,sDAAsD,EAAE;UAC1D;YACE,qDAAqD,EAAE;QAC3D;UACE,gCAAgC;UAChC,kBAAkB,EAAE;UACpB;YACE,sDAAsD,EAAE;UAC1D;YACE,qDAAqD,EAAE;IAC/D;MACE,kBAAkB;MAClB,QAAQ,EAAE;EACd;IACE,kBAAkB;IAClB,aAAa;IACb,QAAQ;IACR,WAAW,EAAE;;AAjHjB;EACE,WAAW;EACX,YAAY;EACZ,aAAa;EACb,sBAAsB,EAAE;EACxB;IACE,YAAY;IACZ,kBAAkB;IAClB,sBAAsB,EAAE;IACxB;MACE,sDAAsD;MACtD,wDAAwD;MACxD,yDAAyD,EAAE;IAC7D;MACE,qDAAqD;MACrD,uDAAuD;MACvD,wDAAwD,EAAE;EAC9D;IACE,OAAO;IACP,kBAAkB,EAAE;EACtB;IACE,gBAAgB,EAAE;IAClB;MACE,sDAAsD;MACtD,uDAAuD;MACvD,yDAAyD,EAAE;IAC7D;MACE,qDAAqD;MACrD,sDAAsD;MACtD,wDAAwD,EAAE;EAC9D;IACE,mDAAmD,EAAE;EACvD;IACE,qDAAqD,EAAE;EACzD;IACE,kBAAkB,EAAE;EACtB;IACE,mDAAmD,EAAE;EACvD;IACE,qDAAqD,EAAE;EACzD;IACE,iBAAiB,EAAE;IACnB;MACE,kDAAkD;MAClD,gBAAgB,EAAE;IACpB;MACE,gDAAgD;MAChD,gBAAgB,EAAE;IACpB;MACE,YAAY,EAAE;;AAEpB;EACE,kBAAkB,EAAE;;AApDtB;EACE,kBAAkB;EAClB,aAAa;EACb,mBAAmB,EAAE;EACrB;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,cAAc,EAAE;EAClB;IACE,kBAAkB;IAClB,aAAa;IACb,WAAW;IACX,eAAe,EAAE;IACjB;MACE,kBAAkB;MAClB,cAAc;MACd,eAAe;MACf,iBAAiB,EAAE;EACvB;IACE,kBAAkB;IAClB,aAAa;IACb,sBAAsB;IACtB,iBAAiB;IACjB,kBAAkB,EAAE;IACpB;MACE,kBAAkB;MAClB,aAAa;MACb,eAAe,EAAE;MACjB;QACE,kBAAkB;QAClB,aAAa,EAAE;MACjB;QACE,kBAAkB;QAClB,aAAa;QACb,gBAAgB,EAAE;IACtB;MACE,kBAAkB;MAClB,aAAa;MACb,eAAe;MACf,kBAAkB;MAClB,kBAAkB,EAAE;MACpB;QACE,sDAAsD;QACtD,kDAAkD,EAAE;MACtD;QACE,qDAAqD;QACrD,gDAAgD,EAAE;MACpD;QACE,kBAAkB;QAClB,qBAAqB;QACrB,WAAW;QACX,oBAAoB,EAAE;QACtB;UACE,qDAAqD,EAAE;QACzD;UACE,qDAAqD,EAAE;MAC3D;QACE,kBAAkB;QAClB,aAAa;QACb,gBAAgB;QAChB,kBAAkB;QAClB,gBAAgB;QAChB,gBAAgB;QAChB,YAAY;QACZ,gBAAgB;QAChB,uBAAuB,EAAE;EAC/B;IACE,kBAAkB;IAClB,aAAa;IACb,QAAQ;IACR,WAAW,EAAE;IACb;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;IACzD;MACE,mDAAmD,EAAE;IACvD;MACE,qDAAqD,EAAE;;AAhF7D;EACE,kBAAkB;EAClB,iBAAiB;EACjB,kBAAkB;EAClB,kBAAkB,EAAE;EACpB;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,qBAAqB,EAAE;;AId3B;EACE,cAAc;EACd,kBAAkB;EAClB,sBAAsB;EACtB,YAAY,EAAE;EACd;IACE,eAAe;IACf,kBAAkB;IAClB,SAAS;IACT,UAAU,EAAE;EACd;IACE,kBAAkB;IAClB,SAAS;IACT,UAAU;IACV,UAAU;IACV,oBAAoB,EAAE;EACxB;IACE,kBAAkB;IAClB,SAAS;IACT,UAAU;IACV,YAAY;IACZ,mBAAmB;IACnB,gBAAgB;IAChB,uBAAuB,EAAE;EAC3B;IACE,kBAAkB;IAClB,SAAS;IACT,WAAW;IACX,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,uBAAuB,EAAE;EAC3B;IACE,kBAAkB;IAClB,SAAS;IACT,WAAW,EAAE;EACf;IACE,aAAa;IACb,kBAAkB;IAClB,WAAW;IACX,QAAQ,EAAE;EACZ;IACE,kBAAkB;IAClB,WAAW;IACX,SAAS,EAAE;EACb;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,cAAc,EAAE;EAClB;IACE,aAAa,EAAE;EACjB;IACE,mDAAmD,EAAE;EACvD;IACE,qDAAqD,EAAE;;ACxD3D;EACE,kBAAkB;EAClB,qBAAqB,EAAE;EACvB;IACE,kBAAkB,EAAE;IACpB;MACE,kBAAkB;MAClB,QAAQ;MACR,SAAS,EAAE;EACf;IACE,WAAW;IACX,kBAAkB;IAClB,kBAAkB;IAClB,MAAM;IACN,OAAO,EAAE;IACT;MACE,mDAAmD,EAAE;IACvD;MACE,kDAAkD,EAAE;;ALlB1D;EACE,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,sBAAsB,EAAE;EACxB;IACE,qDAAqD,EAAE;EACzD;IACE,qDAAqD,EAAE;;AAE3D;EACE,YAAY;EACZ,gBAAgB,EAAE;;AAEpB;EACE,WAAW;EACX,WAAW;EACX,gBAAgB;EAChB,kBAAkB,EAAE;;AAnBtB;EACE,YAAY;EACZ,YAAY;EACZ,qBAAqB;EACrB,sBAAsB,EAAE;EACxB;IACE,qDAAqD,EAAE;EACzD;IACE,qDAAqD,EAAE;EACzD;IACE,eAAe;IACf,kBAAkB;IAClB,SAAS;IACT,WAAW,EAAE;IACb;MACE,sCAAsC,EAAE;IAC1C;MACE,oCAAoC,EAAE;EAC1C;IACE,gBAAgB,EAAE;EACpB;IACE,YAAY;IACZ,gBAAgB;IAChB,kBAAkB;IAClB,kBAAkB;IAClB,sBAAsB,EAAE;IACxB;MACE,yDAAyD,EAAE;IAC7D;MACE,uDAAuD,EAAE;EAC7D;IACE,aAAa;IACb,YAAY;IACZ,sBAAsB;IACtB,yBAAyB;IACzB,gBAAgB,EAAE;EACpB;IACE,eAAe;IACf,kBAAkB;IAClB,4BAA4B,EAAE;IAC9B;MACE,qDAAqD;MACrD,yDAAyD,EAAE;IAC7D;MACE,qDAAqD;MACrD,uDAAuD,EAAE;IAC3D;MACE,aAAa,EAAE;IACjB;MACE,mBAAmB,EAAE;EACzB;;IAEE,kBAAkB;IAClB,SAAS,EAAE;EACb;IACE,UAAU,EAAE;EACd;IACE,WAAW,EAAE;EACf;IACE,wBAAwB,EAAE;EAC5B;IACE,sCAAsC,EAAE;EAC1C;IACE,oCAAoC,EAAE;EACxC;IACE,qCAAqC,EAAE;EACzC;IACE,oCAAoC,EAAE;;AAnE1C;EACE,gBAAgB,EAAE;EAClB;IACE,cAAc;IACd,mBAAmB,EAAE;;AAEzB;EACE,mBAAmB,EAAE;;AAEvB;EACE,kBAAkB,EAAE;;AAEtB;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU,EAAE;;AAEd;EACE,eAAe,EAAE;;AAlBnB;EACE,aAAa;EACb,sBAAsB;EACtB,YAAY;EACZ,sBAAsB,EAAE;EACxB;IACE,qDAAqD;IACrD,kDAAkD,EAAE;EACtD;IACE,qDAAqD;IACrD,gDAAgD,EAAE;;AAEtD;EACE,gBAAgB;EAChB,WAAW;EACX,QAAQ,EAAE;;AAEZ;EACE,aAAa;EACb,sBAAsB;EACtB,YAAY;EACZ,yBAAyB,EAAE;;AAE7B;EACE,QAAQ;EACR,2BAA2B,EAAE;;AAE/B;EACE;IACE,yBAAyB,EAAE;EAC7B;IACE;MACE,mDAAmD,EAAE;IACvD;MACE,kDAAkD,EAAE,EAAE,EAAE;;AAP9D;EACE;IACE,yBAAyB,EAAE;EAC7B;IACE;MACE,mDAAmD,EAAE;IACvD;MACE,kDAAkD,EAAE,EAAE,EAAE;;AAE9D;EACE,+BAAuB;UAAvB,uBAAuB;EACvB,gCAAwB;UAAxB,wBAAwB;EACxB,qCAA6B;UAA7B,6BAA6B,EAAE;;AAEjC;EACE,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,kBAAkB;EAClB,sBAAsB,EAAE;EACxB;IACE,WAAW,EAAE;;AAEjB;EACE,kBAAkB,EAAE;EACpB;IACE,kBAAkB;IAClB,WAAW,EAAE;;AAtDjB;EACE,kBAAkB;EAClB,UAAU,EAAE;;AAEd;EACE,kBAAkB,EAAE;;AAEtB;EACE,kBAAkB;EAClB,gBAAgB;EAChB,kBAAkB;EAClB,cAAc,EAAE;;AAElB;EACE,iBAAiB;EACjB,aAAa;EACb,qBAAqB;EACrB,kBAAkB,EAAE;EACpB;IACE,gBAAgB,EAAE;;AAEtB;EACE,gBAAgB;EAChB,kBAAkB;EAClB,4BAA4B,EAAE;EAC9B;IACE,qDAAqD;IACrD,yDAAyD,EAAE;EAC7D;IACE,qDAAqD;IACrD,uDAAuD,EAAE;;AAE7D;EACE,kBAAkB;EAClB,WAAW;EACX,SAAS,EAAE;EACX;IACE,eAAe,EAAE;;AAErB;;EAEE,kBAAkB;EAClB,WAAW;EACX,SAAS,EAAE;EACX;;IAEE,sDAAsD,EAAE;EAC1D;;IAEE,qDAAqD,EAAE;EACzD;;IAEE,uCAAuC,EAAE;EAC3C;;IAEE,qCAAqC,EAAE;;AMvD3C;EACE,eAAe;EACf,iBAAiB;EACjB,kBAAkB;EAClB,kBAAkB;EAClB,gBAAgB;EAChB,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,uBAAuB,EAAE;EACzB;IACE,mDAAmD,EAAE;EACvD;IACE,kDAAkD,EAAE;EACtD;IACE,eAAe,EAAE;IACjB;MACE,mDAAmD,EAAE;IACvD;MACE,kDAAkD,EAAE;EACxD;IACE,uDAAuD,EAAE;EAC3D;IACE,sDAAsD,EAAE;EAC1D;IACE,uCAAuC,EAAE;EAC3C;IACE,sCAAsC,EAAE;EAC1C;IACE,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,iBAAiB,EAAE;;ANhCvB;EACE,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,YAAY,EAAE;EACd;IACE,aAAa;IACb,sBAAsB;IACtB,aAAa;IACb,mBAAmB,EAAE;IACrB;MACE,mBAAmB,EAAE;IACvB;MACE,gBAAgB,EAAE;EACtB;IACE,gBAAgB;IAChB,aAAa;IACb,mBAAmB;IACnB,eAAe,EAAE;IACjB;MACE,iBAAiB,EAAE;EACvB;IACE,kBAAkB;IAClB,SAAS;IACT,aAAa;IACb,sBAAsB;IACtB,uBAAuB,EAAE;IACzB;MACE,aAAa;MACb,mBAAmB,EAAE;;AA7B3B;EACE,gDAAgD,EAAE;;AAEpD;EACE,eAAe;EACf,gBAAgB;EAChB,oBAAoB;EACpB,kBAAkB;EAClB,gBAAgB;EAChB,sBAAsB,EAAE;;AAE1B;EACE,eAAe;EACf,gBAAgB;EAChB,oBAAoB;EACpB,kBAAkB;EAClB,mBAAmB;EACnB,sBAAsB,EAAE;;AAE1B;EACE,eAAe;EACf,mBAAmB;EACnB,oBAAoB;EACpB,kBAAkB;EAClB,iBAAiB;EACjB,sBAAsB,EAAE;;AAE1B;EACE,eAAe;EACf,gBAAgB;EAChB,oBAAoB;EACpB,kBAAkB;EAClB,iBAAiB;EACjB,sBAAsB,EAAE;;AAE1B;EACE,eAAe;EACf,mBAAmB;EACnB,oBAAoB;EACpB,kBAAkB;EAClB,iBAAiB;EACjB,sBAAsB,EAAE;;AAE1B;EACE,eAAe;EACf,mBAAmB;EACnB,oBAAoB;EACpB,kBAAkB;EAClB,iBAAiB;EACjB,sBAAsB,EAAE;;AAE1B;EACE,eAAe;EACf,gBAAgB;EAChB,oBAAoB;EACpB,kBAAkB;EAClB,iBAAiB;EACjB,sBAAsB,EAAE;;AAE1B;EACE,eAAe;EACf,mBAAmB;EACnB,oBAAoB;EACpB,kBAAkB;EAClB,iBAAiB;EACjB,sBAAsB,EAAE;;AAE1B;EACE,eAAe;EACf,gBAAgB;EAChB,oBAAoB;EACpB,kBAAkB;EAClB,iBAAiB;EACjB,sBAAsB,EAAE;;AAE1B;EACE,eAAe;EACf,iBAAiB;EACjB,kBAAkB;EAClB,cAAc;EACd,sBAAsB,EAAE;;AAE1B;EACE,eAAe;EACf,mBAAmB;EACnB,oBAAoB;EACpB,kBAAkB;EAClB,cAAc;EACd,sBAAsB,EAAE;;AAE1B;EACE,uCAAuC,EAAE;;AAE3C;EACE,qCAAqC,EAAE;;AAEzC;EACE,uCAAuC,EAAE;;AAE3C;EACE,qCAAqC,EAAE;;AAEzC;EACE,uCAAuC,EAAE;;AAE3C;EACE,qCAAqC,EAAE;;AAEzC;EACE,sCAAsC,EAAE;;AAE1C;EACE,sCAAsC,EAAE;;AAE1C;EACE,sCAAsC,EAAE;;AAE1C;EACE,sCAAsC,EAAE;;AAE1C;EACE,wCAAwC,EAAE;;AAE5C;EACE,uCAAuC,EAAE;;AAE3C;EACE,sCAAsC,EAAE;;AAE1C;EACE,qCAAqC,EAAE;;AAEzC;EACE,0CAA0C,EAAE;;AAE9C;EACE,yCAAyC,EAAE;;AAxI7C;EACE,uCAAuC;EACvC,qBAAqB;EACrB,YAAY;EACZ,6BAA6B;EAC7B,eAAe;EACf,yBAAiB;KAAjB,sBAAiB;MAAjB,qBAAiB;UAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,kBAAkB;EAClB,YAAY,EAAE;EACd;IACE,sCAAsC,EAAE;EAC1C;IACE,oCAAoC,EAAE;EACxC;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,6DAA6D,EAAE;EACjE;IACE,4DAA4D,EAAE;EAChE;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,8BAA8B,EAAE;IAChC;MACE,sCAAsC,EAAE;IAC1C;MACE,oCAAoC,EAAE;;AAE5C;EACE,mDAAmD,EAAE;;AAEvD;EACE,qDAAqD,EAAE;;AArCzD;EACE,qBAAqB,EAAE;EACvB;IACE,aAAa,EAAE;;AAEnB;EACE,uCAAuC,EAAE;;AAE3C;EACE,sCAAsC,EAAE;;AAE1C;EACE,yCAAyC;EACzC,iBAAiB;EACjB,sBAAsB,EAAE;;AAE1B;EACE,wCAAwC;EACxC,iBAAiB;EACjB,sBAAsB,EAAE;;AAE1B;EACE,yCAAyC,EAAE;;AAE7C;EACE,wCAAwC,EAAE;;AAE5C;EACE,qCAAqC,EAAE;;AAEzC;EACE,qCAAqC,EAAE;;AAEzC;EACE,sCAAsC,EAAE;;AAE1C;EACE,oCAAoC,EAAE;;AAExC;EACE,aAAa,EAAE;;AAEjB;EACE,sCAAsC,EAAE;;AAE1C;EACE,oCAAoC,EAAE;;AAExC;EACE,yCAAyC,EAAE;;AAE7C;EACE,wCAAwC,EAAE;;AAE5C;EACE,sCAAsC,EAAE;;AAE1C;EACE,oCAAoC,EAAE;;AAExC;EACE,sCAAsC,EAAE;;AAE1C;EACE,oCAAoC,EAAE;;AAExC;EACE,0CAA0C,EAAE;;AAE9C;EACE,yCAAyC,EAAE;;AAtE7C;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,uBAAuB,EAAE;;AAE3B;EACE,YAAY;EACZ,kBAAkB;EAClB,cAAc;EACd,4BAA4B;EAC5B,kBAAkB;EAClB,sBAAsB,EAAE;EACxB;IACE,qDAAqD;IACrD,2CAA2C,EAAE;EAC/C;IACE,qDAAqD;IACrD,0CAA0C,EAAE;EAC9C;IACE,kBAAkB;IAClB,SAAS;IACT,WAAW;IACX,eAAe,EAAE;IACjB;MACE,sCAAsC,EAAE;IAC1C;MACE,oCAAoC,EAAE;EAC1C;IACE,mBAAmB,EAAE;EACvB;IACE,gBAAgB;IAChB,iBAAiB,EAAE;IACnB;MACE,gBAAgB;MAChB,WAAW;MACX,YAAY,EAAE;;AAEpB;EACE,eAAe;EACf,cAAc;EACd,YAAY;EACZ,WAAW;EACX,MAAM;EACN,OAAO,EAAE;EACT;IACE,kDAAkD,EAAE;EACtD;IACE,iDAAiD,EAAE;;AApDvD;EACE,qBAAqB;EACrB,WAAW;EACX,kBAAkB,EAAE;EACpB;IACE,WAAW;IACX,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,oBAAoB;IACpB,kBAAkB;IAClB,iBAAiB;IACjB,YAAY;IACZ,kBAAkB;IAClB,sBAAsB;IACtB,4BAA4B;IAC5B,sBAAsB;IACtB,YAAY;IACZ,gDAAgD;IAChD,yBAAyB,EAAE;IAC3B;MACE,uCAAuC;MACvC,8CAA8C;MAC9C,kDAAkD;MAClD,qDAAqD,EAAE;IACzD;MACE,qCAAqC;MACrC,6CAA6C;MAC7C,gDAAgD;MAChD,qDAAqD,EAAE;IACzD;MACE,aAAa,EAAE;MACf;QACE,uCAAuC;QACvC,mDAAmD;QACnD,sDAAsD,EAAE;MAC1D;QACE,qCAAqC;QACrC,kDAAkD;QAClD,qDAAqD,EAAE;IAC3D;MACE,6DAA6D;MAC7D,uCAAuC,EAAE;IAC3C;MACE,6DAA6D;MAC7D,qCAAqC,EAAE;EAC3C;IACE,kBAAkB;IAClB,oBAAoB;IACpB,SAAS;IACT,UAAU;IACV,gDAAgD;IAChD,eAAe;IACf,iBAAiB,EAAE;IACnB;MACE,uCAAuC,EAAE;IAC3C;MACE,qCAAqC,EAAE;EAC3C;IACE,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,YAAY,EAAE;EAChB;IACE,kBAAkB;IAClB,YAAY;IACZ,WAAW;IACX,YAAY,EAAE;EAChB;IACE,aAAa,EAAE;;AAEnB;EACE,aAAa;EACb,sBAAsB,EAAE;EACxB;IACE,mDAAmD,EAAE;EACvD;IACE,qDAAqD,EAAE;;AAE3D;EACE,iBAAiB;EACjB,eAAe,EAAE;EACjB;IACE,gBAAgB,EAAE;EACpB;IACE,WAAW,EAAE;IACb;MACE,kDAAkD,EAAE;IACtD;MACE,gDAAgD,EAAE;EACtD;IACE,WAAW,EAAE;;AAEjB;EACE,mBAAmB,EAAE;;AAEvB;EACE,oBAAoB;EACpB,gBAAgB,EAAE;EAClB;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,sCAAsC,EAAE;EAC1C;IACE,oCAAoC,EAAE;;AA1G1C;EACE,mBAAmB,EAAE;;AAEvB;EACE,cAAc;EACd,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,gBAAgB;EAChB,WAAW;EACX,gBAAgB;EAChB,kBAAkB;EAClB,gBAAgB,EAAE;EAClB;IACE,2CAA2C;IAC3C,qDAAqD,EAAE;EACzD;IACE,0CAA0C;IAC1C,qDAAqD,EAAE;EACzD;IACE,eAAe;IACf,mBAAmB;IACnB,iBAAiB,EAAE;IACnB;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;;AAE7D;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,kBAAkB;EAClB,WAAW;EACX,YAAY;EACZ,kBAAkB;EAClB,gBAAgB,EAAE;EAClB;IACE,2CAA2C;IAC3C,qDAAqD,EAAE;EACzD;IACE,0CAA0C;IAC1C,qDAAqD,EAAE;EACzD;IACE,WAAW,EAAE;;AAEjB;EACE,6BAA6B;EAC7B,eAAe;EACf,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY,EAAE;;AAEhB;EACE,yBAAyB,EAAE;;AAE7B;EACE,yBAAyB,EAAE;;AA7D7B;EACE,aAAa,EAAE;;AADjB;EACE,0BAA0B;EAC1B,eAAe,EAAE;;AAEnB;EACE,qBAAqB;EACrB,eAAe,EAAE;;AAEnB;EACE,mBAAmB,EAAE;EACrB;IACE,uCAAuC,EAAE;EAC3C;IACE,qCAAqC,EAAE;;AAb3C;EACE,WAAW;EACX,aAAa;EACb,mBAAmB,EAAE;EACrB;IACE,YAAY;IACZ,WAAW;IACX,qBAAqB;IACrB,WAAW,EAAE;EACf;IACE,YAAY;IACZ,WAAW;IACX,qBAAqB;IACrB,WAAW,EAAE;EACf;IACE,gBAAgB;IAChB,aAAa;IACb,mBAAmB,EAAE;;AAjBzB;EACE,cAAc;EACd,kBAAkB;EAClB,sBAAsB;EACtB,YAAY;EACZ,YAAY,EAAE;EACd;IACE,yDAAyD;IACzD,qDAAqD,EAAE;EACzD;IACE,uDAAuD;IACvD,qDAAqD,EAAE;EACzD;IACE,kBAAkB;IAClB,QAAQ;IACR,SAAS;IACT,UAAU;IACV,eAAe,EAAE;EACnB;IACE,kBAAkB;IAClB,QAAQ;IACR,SAAS;IACT,UAAU;IACV,oBAAoB,EAAE;EACxB;IACE,kBAAkB;IAClB,SAAS;IACT,UAAU;IACV,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,uBAAuB,EAAE;EAC3B;IACE,kBAAkB;IAClB,SAAS;IACT,WAAW;IACX,gBAAgB;IAChB,mBAAmB;IACnB,gBAAgB;IAChB,uBAAuB,EAAE;EAC3B;IACE,kBAAkB;IAClB,SAAS;IACT,WAAW,EAAE;EACf;IACE,kBAAkB;IAClB,QAAQ;IACR,SAAS,EAAE;EACb;IACE,kBAAkB;IAClB,WAAW;IACX,SAAS,EAAE;;AAnDf;EACE,WAAW;EACX,YAAY;EACZ,eAAe;EACf,MAAM;EACN,OAAO;EACP,eAAe,EAAE;EACjB;IACE,qDAAqD,EAAE;EACzD;IACE,qDAAqD,EAAE;;AAE3D;EACE,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;EACtB,aAAa;EACb,8BAA8B,EAAE;EAChC;IACE,yDAAyD,EAAE;EAC7D;IACE,uDAAuD,EAAE;EAC3D;IACE,2BAA2B;IAC3B,aAAa;IACb,OAAO,EAAE;EACX;IACE,aAAa;IACb,YAAY;IACZ,yBAAyB,EAAE;EAC7B;;;IAGE,WAAW;IACX,aAAa;IACb,sBAAsB;IACtB,eAAe,EAAE;IACjB;;;MAGE,sCAAsC,EAAE;IAC1C;;;MAGE,oCAAoC,EAAE;EAC1C;IACE,uDAAuD,EAAE;EAC3D;IACE,qDAAqD,EAAE;;AAE3D;EACE,iBAAiB,EAAE;;AAErB;EACE,QAAQ;EACR,aAAa;EACb,mBAAmB,EAAE;;AAEvB;EACE,gBAAgB;EAChB,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,qBAAqB;EACrB,gBAAgB,EAAE;;AAEpB;EACE,gBAAgB;EAChB,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,qBAAqB;EACrB,gBAAgB;EAChB,gBAAgB,EAAE;;AAEpB;EACE,yBAAyB;EACzB,eAAe;EACf,gBAAgB;EAChB,aAAa;EACb,mBAAmB;EACnB,uBAAuB,EAAE;EACzB;IACE,eAAe;IACf,gBAAgB,EAAE;EACpB;IACE,cAAc;IACd,eAAe,EAAE;EACnB;IACE,eAAe;IACf,gBAAgB;IAChB,aAAa;IACb,uBAAuB;IACvB,mBAAmB,EAAE;;AA7FzB;EACE,qBAAqB;EACrB,qCAA6B;UAA7B,6BAA6B;EAC7B,8BAAsB;UAAtB,sBAAsB,EAAE;;AAE1B;EACE;IACE,oBAAoB,EAAE;EACxB;IACE,yBAAyB,EAAE,EAAE;;AAJjC;EACE;IACE,oBAAoB,EAAE;EACxB;IACE,yBAAyB,EAAE,EAAE;;AATjC;EACE,qBAAqB;EACrB,WAAW;EACX,YAAY;EACZ,kBAAkB,EAAE;EACpB;IACE,WAAW;IACX,YAAY;IACZ,kBAAkB;IAClB,gDAAgD;IAChD,eAAe;IACf,mBAAmB;IACnB,oBAAoB;IACpB,kBAAkB;IAClB,iBAAiB;IACjB,sBAAsB;IACtB,kBAAkB;IAClB,sBAAsB;IACtB,yBAAyB,EAAE;IAC3B;MACE,uCAAuC;MACvC,8CAA8C;MAC9C,kDAAkD,EAAE;IACtD;MACE,qCAAqC;MACrC,6CAA6C;MAC7C,gDAAgD,EAAE;IACpD;MACE,aAAa,EAAE;MACf;QACE,wHAAwH;QACxH,uCAAuC;QACvC,mDAAmD,EAAE;MACvD;QACE,sHAAsH;QACtH,qCAAqC;QACrC,kDAAkD,EAAE;IACxD;MACE,wHAAwH;MACxH,uCAAuC;MACvC,mDAAmD,EAAE;IACvD;MACE,sHAAsH;MACtH,qCAAqC;MACrC,kDAAkD,EAAE;IACtD;MACE,mBAAmB,EAAE;MACrB;QACE,sDAAsD;QACtD,uCAAuC,EAAE;MAC3C;QACE,qDAAqD;QACrD,qCAAqC,EAAE;EAC7C;IACE,kBAAkB;IAClB,oBAAoB;IACpB,SAAS;IACT,UAAU;IACV,gDAAgD;IAChD,eAAe;IACf,iBAAiB,EAAE;IACnB;MACE,uCAAuC,EAAE;IAC3C;MACE,qCAAqC,EAAE;;AAE7C;EACE,aAAa,EAAE;;AAnEjB;EACE,YAAY;EACZ,eAAe;EACf,mBAAmB;EACnB,qBAAqB,EAAE;EACvB;IACE,mDAAmD,EAAE;EACvD;IACE,kDAAkD,EAAE;EACtD;IACE,eAAe,EAAE;;ACVrB;EACE,kBAAkB;EAClB,kBAAkB;EAClB,4BAA4B,EAAE;EAC9B;IACE,yDAAyD;IACzD,qDAAqD,EAAE;EACzD;IACE,uDAAuD;IACvD,qDAAqD,EAAE;EACzD;IACE,YAAY,EAAE;EAChB;IACE,mBAAmB;IACnB,aAAa;IACb,uBAAuB,EAAE;EAC3B;IACE,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,uBAAuB;IACvB,YAAY,EAAE;EAChB;IACE,kBAAkB;IAClB,SAAS;IACT,WAAW,EAAE;;AAEjB;EACE,kBAAkB,EAAE;;AAEtB;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU,EAAE;;AAEd;EACE,gBAAgB,EAAE;;AAEpB;EACE,gBAAgB,EAAE;EAClB;IACE,YAAY,EAAE;;ADzClB;EACE,WAAW;EACX,YAAY;EACZ,aAAa;EACb,uBAAuB;EACvB,mBAAmB;EACnB,kBAAkB,EAAE;EACpB;IACE,qDAAqD,EAAE;EACzD;IACE,oDAAoD,EAAE;;AAV1D;EACE,sBAAsB,EAAE;EACxB;IACE,eAAe;IACf,0BAA0B,EAAE;EAC9B;IACE,aAAa,EAAE;EACjB;IACE,eAAe,EAAE;;AAErB;EACE,uCAAuC,EAAE;;AAE3C;EACE,qCAAqC,EAAE;;AAEzC;EACE,uCAAuC,EAAE;;AAE3C;EACE,qCAAqC,EAAE;;AAEzC;EACE,uCAAuC,EAAE;;AAE3C;EACE,qCAAqC,EAAE;;AAEzC;EACE,sCAAsC,EAAE;;AAE1C;EACE,sCAAsC,EAAE;;AAE1C;EACE,sCAAsC,EAAE;;AAE1C;EACE,sCAAsC,EAAE;;AAE1C;EACE,wCAAwC,EAAE;;AAE5C;EACE,uCAAuC,EAAE;;AAE3C;EACE,sCAAsC,EAAE;;AAE1C;EACE,qCAAqC,EAAE;;AAEzC;EACE,0CAA0C,EAAE;;AAE9C;EACE,yCAAyC,EAAE;;AOxD7C;EACE,2BAA2B;EAC3B,kBAAkB;EAClB,sBAAsB,EAAE;EACxB;IACE,yDAAyD;IACzD,qDAAqD,EAAE;EACzD;IACE,uDAAuD;IACvD,qDAAqD,EAAE;EACzD;IACE,kBAAkB;IAClB,2BAA2B;IAC3B,YAAY;IACZ,sBAAsB,EAAE;IACxB;MACE,gBAAgB;MAChB,mBAAmB;MACnB,gBAAgB;MAChB,uBAAuB,EAAE;EAC7B;IACE,kBAAkB;IAClB,OAAO;IACP,SAAS;IACT,eAAe,EAAE;EACnB;IACE,aAAa;IACb,2BAA2B;IAC3B,eAAe,EAAE;IACjB;MACE,kBAAkB,EAAE;;AAE1B;EACE,iBAAiB;EACjB,gBAAgB,EAAE;;AClCpB;EACE,gBAAgB,EAAE;;AAEpB;EACE,iBAAiB;EACjB,gBAAgB,EAAE;;AAEpB;EACE,YAAY;EACZ,YAAY;EACZ,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,sBAAsB;EACtB,eAAe,EAAE;EACjB;IACE,kDAAkD,EAAE;EACtD;IACE,gDAAgD,EAAE;EACpD;IACE,kBAAkB;IAClB,UAAU;IACV,SAAS,EAAE;;ARvBf;EACE,mBAAmB,EAAE;;AAEvB;EACE,kBAAkB;EAClB,eAAe;EACf,sBAAsB;EACtB,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,mBAAmB;EACnB,uBAAuB;EACvB,4BAA4B,EAAE;EAC9B;IACE,yDAAyD,EAAE;EAC7D;IACE,uDAAuD,EAAE;EAC3D;IACE,iBAAiB,EAAE;EACrB;IACE,kBAAkB,EAAE;EACtB;IACE,aAAa,EAAE;EACjB;IACE,WAAW;IACX,YAAY,EAAE;EAChB;IACE,WAAW;IACX,YAAY;IACZ,iBAAiB,EAAE;IACnB;MACE,aAAa;MACb,8BAA8B;MAC9B,YAAY;MACZ,YAAY,EAAE;MACd;QACE,aAAa;QACb,2BAA2B;QAC3B,gBAAgB;QAChB,uBAAuB,EAAE;QACzB;UACE,gBAAgB;UAChB,uBAAuB;UACvB,gBAAgB;UAChB,qBAAqB;UACrB,mBAAmB,EAAE;QACvB;UACE,eAAe;UACf,gBAAgB,EAAE;MACtB;QACE,gBAAgB;QAChB,kBAAkB;QAClB,mBAAmB,EAAE;IACzB;MACE,eAAe;MACf,YAAY;MACZ,YAAY;MACZ,aAAa;MACb,8BAA8B,EAAE;MAChC;QACE,gBAAgB;QAChB,uBAAuB,EAAE;MAC3B;QACE,gBAAgB;QAChB,mBAAmB,EAAE;EAC3B;IACE,kBAAkB;IAClB,SAAS;IACT,WAAW;IACX,qBAAqB,EAAE;IACvB;MACE,aAAa,EAAE;EACnB;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,qBAAqB,EAAE;EACzB;IACE,aAAa,EAAE;EACjB;IACE,aAAa,EAAE;;AAEnB;EACE,4BAA4B,EAAE;EAC9B;IACE,wDAAwD;IACxD,yDAAyD;IACzD,mDAAmD,EAAE;EACvD;IACE,uDAAuD;IACvD,uDAAuD;IACvD,qDAAqD,EAAE;EACzD;IACE,wCAAwC,EAAE;EAC5C;IACE,uCAAuC,EAAE;;ASjG7C;EACE,kBAAkB;EAClB,mBAAmB,EAAE;;AAEvB;;EAEE,gBAAgB;EAChB,mBAAmB,EAAE;;ATPvB;EACE,aAAa;EACb,mBAAmB;EACnB,gBAAgB,EAAE;;AAHpB;EACE,kBAAkB;EAClB,YAAY;EACZ,gBAAgB;EAChB,YAAY;EACZ,yBAAyB;EACzB,sBAAsB,EAAE;EACxB;IACE,yDAAyD;IACzD,qDAAqD,EAAE;EACzD;IACE,uDAAuD;IACvD,qDAAqD,EAAE;EACzD;IACE,eAAe,EAAE;EACnB;IACE,aAAa;IACb,mBAAmB;IACnB,YAAY;IACZ,YAAY;IACZ,kBAAkB,EAAE;IACpB;MACE,gDAAgD,EAAE;IACpD;MACE,+CAA+C,EAAE;IACnD;MACE,aAAa,EAAE;MACf;QACE,gDAAgD,EAAE;MACpD;QACE,+CAA+C,EAAE;IACrD;MACE,mDAAmD,EAAE;IACvD;MACE,kDAAkD,EAAE;IACtD;MACE,WAAW;MACX,YAAY;MACZ,sBAAsB,EAAE;IAC1B;MACE,gBAAgB;MAChB,gBAAgB,EAAE;IACpB;;MAEE,cAAc;MACd,gBAAgB;MAChB,mBAAmB;MACnB,gBAAgB;MAChB,uBAAuB,EAAE;EAC7B;IACE,kBAAkB;IAClB,WAAW;IACX,SAAS,EAAE;;AApDf;EACE,qBAAqB;EACrB,gBAAgB;EAChB,kBAAkB;EAClB,YAAY;EACZ,gDAAgD;EAChD,eAAe,EAAE;EACjB;IACE,gBAAgB,EAAE;EACpB;IACE,aAAa,EAAE;EACjB;IACE,gBAAgB,EAAE;EACpB;IACE,mBAAmB,EAAE;IACrB;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;IACzD;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;;AAE7D;EACE,YAAY,EAAE;EACd;IACE,iBAAiB,EAAE;;AAEvB;EACE,YAAY,EAAE;EACd;IACE,gBAAgB,EAAE;;AAEtB;EACE,mDAAmD;EACnD,mDAAmD,EAAE;;AAEvD;EACE,kDAAkD;EAClD,kDAAkD,EAAE;;AAEtD;EACE,sCAAsC,EAAE;;AAE1C;EACE,sCAAsC,EAAE;;AAE1C;EACE,mDAAmD;EACnD,+CAA+C,EAAE;;AAEnD;EACE,kDAAkD;EAClD,8CAA8C,EAAE;;AAElD;EACE,6DAA6D;EAC7D,qDAAqD,EAAE;;AAEzD;EACE,4DAA4D;EAC5D,qDAAqD,EAAE;;AAEzD;EACE,mDAAmD,EAAE;;AAEvD;EACE,kDAAkD,EAAE;;AAEtD;EACE,6DAA6D,EAAE;;AAEjE;EACE,4DAA4D,EAAE;;AAEhE;EACE,6DAA6D,EAAE;;AAEjE;EACE,4DAA4D,EAAE;;AAEhE;EACE,6BAA6B,EAAE;EAC/B;IACE,kDAAkD,EAAE;EACtD;IACE,gDAAgD,EAAE;EACpD;IACE,uCAAuC,EAAE;EAC3C;IACE,qCAAqC,EAAE;EACzC;IACE,6BAA6B,EAAE;IAC/B;MACE,mDAAmD,EAAE;IACvD;MACE,kDAAkD,EAAE;IACtD;MACE,wCAAwC,EAAE;IAC5C;MACE,uCAAuC,EAAE;EAC7C;IACE,mBAAmB;IACnB,YAAY,EAAE;IACd;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;IACzD;MACE,uCAAuC,EAAE;IAC3C;MACE,qCAAqC,EAAE;IACzC;MACE,YAAY,EAAE;MACd;QACE,sDAAsD,EAAE;MAC1D;QACE,qDAAqD,EAAE;MACzD;QACE,uCAAuC,EAAE;MAC3C;QACE,qCAAqC,EAAE;EAC7C;IACE,wCAAwC,EAAE;EAC5C;IACE,uCAAuC,EAAE;EAC3C;IACE,6BAA6B;IAC7B,6BAA6B,EAAE;IAC/B;MACE,6DAA6D,EAAE;IACjE;MACE,4DAA4D,EAAE;IAChE;MACE,uCAAuC,EAAE;IAC3C;MACE,qCAAqC,EAAE;EAC3C;IACE,gBAAgB,EAAE;IAClB;MACE,mDAAmD,EAAE;IACvD;MACE,kDAAkD,EAAE;IACtD;MACE,wCAAwC,EAAE;IAC5C;MACE,uCAAuC,EAAE;;AAE/C;EACE,iDAAiD;EACjD,iDAAiD,EAAE;;AAErD;EACE,gDAAgD;EAChD,gDAAgD,EAAE;;AAEpD;EACE,sCAAsC,EAAE;;AAE1C;EACE,sCAAsC,EAAE;;AAE1C;EACE,iDAAiD;EACjD,6CAA6C,EAAE;;AAEjD;EACE,gDAAgD;EAChD,4CAA4C,EAAE;;AAEhD;EACE,2DAA2D;EAC3D,iDAAiD,EAAE;;AAErD;EACE,0DAA0D;EAC1D,iDAAiD,EAAE;;AAErD;EACE,gBAAgB,EAAE;EAClB;IACE,iDAAiD,EAAE;EACrD;IACE,gDAAgD,EAAE;;AAEtD;EACE,2DAA2D,EAAE;;AAE/D;EACE,0DAA0D,EAAE;;AAE9D;EACE,2DAA2D,EAAE;;AAE/D;EACE,0DAA0D,EAAE;;AAE9D;EACE,6BAA6B;EAC7B,mBAAmB,EAAE;EACrB;IACE,sDAAsD;IACtD,sCAAsC,EAAE;EAC1C;IACE,qDAAqD;IACrD,sCAAsC,EAAE;;AA9M5C;EACE,kBAAkB;EAClB,aAAa;EACb,mBAAmB;EACnB,8BAA8B;EAC9B,mBAAmB;EACnB,YAAY;EACZ,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,sBAAsB,EAAE;EACxB;IACE,yDAAyD;IACzD,qDAAqD,EAAE;EACzD;IACE,uDAAuD;IACvD,qDAAqD,EAAE;EACzD;IACE,kBAAkB,EAAE;EACtB;IACE,gBAAgB;IAChB,aAAa;IACb,mBAAmB;IACnB,mBAAmB,EAAE;EACvB;IACE,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;IACnB,gBAAgB,EAAE;EACpB;IACE,gBAAgB;IAChB,gBAAgB;IAChB,uBAAuB,EAAE;EAC3B;IACE,iBAAiB;IACjB,UAAU;IACV,WAAW;IACX,kBAAkB,EAAE;IACpB;MACE,qDAAqD,EAAE;IACzD;MACE,oDAAoD,EAAE;EAC1D;IACE,kBAAkB,EAAE;EACtB;IACE,yBAAyB,EAAE;;AAjD/B;EACE,YAAY;EACZ,iBAAiB,EAAE;;AAErB;EACE,aAAa;EACb,gBAAgB,EAAE;;AANpB;EACE,cAAc;EACd,kBAAkB;EAClB,kBAAkB;EAClB,mBAAmB;EACnB,eAAe;EACf,eAAe;EACf,yBAAiB;KAAjB,sBAAiB;MAAjB,qBAAiB;UAAjB,iBAAiB,EAAE;;AAErB;EACE,kBAAkB;EAClB,UAAU;EACV,eAAe;EACf,SAAS;EACT,QAAQ,EAAE;;AAEZ;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,YAAY;EACZ,WAAW;EACX,kBAAkB;EAClB,yBAAyB,EAAE;EAC3B;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;;AAE3D;EACE,6DAA6D,EAAE;;AAEjE;EACE,4DAA4D,EAAE;;AAEhE;EACE,mDAAmD;EACnD,mDAAmD,EAAE;;AAEvD;EACE,kDAAkD;EAClD,kDAAkD,EAAE;;AAEtD;EACE,WAAW;EACX,kBAAkB;EAClB,aAAa,EAAE;;AAEjB;EACE,cAAc,EAAE;;AAElB;EACE,SAAS;EACT,WAAW;EACX,UAAU;EACV,YAAY;EACZ,iDAAiD;EACjD,yBAAyB;EACzB,wBAAwB,EAAE;;AAE5B;EACE,SAAS;EACT,WAAW;EACX,UAAU;EACV,YAAY;EACZ,iDAAiD;EACjD,yBAAyB;EACzB,wBAAwB,EAAE;;AAnE5B;EACE,aAAa;EACb,2BAA2B;EAC3B,mBAAmB,EAAE;;AAHvB;EACE,kBAAkB;EAClB,qBAAqB;EACrB,6BAA6B;EAC7B,eAAe,EAAE;EACjB;IACE,sDAAsD;IACtD,sDAAsD,EAAE;EAC1D;IACE,qDAAqD;IACrD,qDAAqD,EAAE;EACzD;IACE,WAAW,EAAE;;AAEjB;EACE,eAAe;EACf,kBAAkB;EAClB,qBAAqB,EAAE;EACvB;IACE,mDAAmD;IACnD,mDAAmD,EAAE;EACvD;IACE,kDAAkD;IAClD,kDAAkD,EAAE;EACtD;IACE,uEAAuE,EAAE;EAC3E;IACE,WAAW,EAAE;EACf;IACE,yBAAyB,EAAE;;AU7B/B;EACE,uCAAuC,EAAE;;AAE3C;EACE,qCAAqC,EAAE;;AAEzC;EACE,kDAAkD,EAAE;;AAEtD;EACE,gDAAgD,EAAE;;AAEpD;EACE,uCAAuC,EAAE;;AAE3C;EACE,qCAAqC,EAAE;;AAEzC;EACE,kDAAkD,EAAE;;AAEtD;EACE,gDAAgD,EAAE;;AAEpD;EACE,uCAAuC,EAAE;;AAE3C;EACE,qCAAqC,EAAE;;AAEzC;EACE,kDAAkD,EAAE;;AAEtD;EACE,gDAAgD,EAAE;;AAEpD;EACE,uCAAuC,EAAE;;AAE3C;EACE,qCAAqC,EAAE;;AAEzC;EACE,kDAAkD,EAAE;;AAEtD;EACE,gDAAgD,EAAE;;AAEpD;EACE,sCAAsC,EAAE;;AAE1C;EACE,sCAAsC,EAAE;;AAE1C;EACE,iDAAiD,EAAE;;AAErD;EACE,iDAAiD,EAAE;;AAErD;EACE,wCAAwC,EAAE;;AAE5C;EACE,uCAAuC,EAAE;;AAE3C;EACE,mDAAmD,EAAE;;AAEvD;EACE,kDAAkD,EAAE;;AAEtD;EACE,sCAAsC,EAAE;;AAE1C;EACE,qCAAqC,EAAE;;AAEzC;EACE,iDAAiD,EAAE;;AAErD;EACE,gDAAgD,EAAE;;AVlFpD;EACE,kBAAkB;EAClB,cAAc,EAAE;EAChB;IACE,iBAAiB,EAAE;EACrB;IACE,gBAAgB,EAAE;;AAEtB;EACE,0BAA0B,EAAE;;AAE9B;EACE,kBAAkB;EAClB,UAAU;EACV,qBAAqB;EACrB,gBAAgB;EAChB,iBAAiB,EAAE;EACnB;IACE,mDAAmD,EAAE;EACvD;IACE,kDAAkD,EAAE;EACtD;IACE,mDAAmD,EAAE;EACvD;IACE,kDAAkD,EAAE;EACtD;IACE,cAAc,EAAE;EAClB;IACE,aAAa;IACb,mBAAmB,EAAE;EACvB;IACE,kBAAkB;IAClB,WAAW,EAAE;IACb;MACE,aAAa;MACb,kBAAkB;MAClB,UAAU;MACV,QAAQ,EAAE;MACV;QACE,yBAAyB,EAAE;IAC/B;MACE,kBAAkB;MAClB,WAAW;MACX,UAAU,EAAE;EAChB;IACE,gDAAgD;IAChD,sBAAsB;IACtB,mBAAmB;IACnB,gBAAgB,EAAE;IAClB;MACE,mDAAmD,EAAE;IACvD;MACE,kDAAkD,EAAE;IACtD;MACE,aAAa;MACb,sBAAsB,EAAE;MACxB;QACE,iBAAiB,EAAE;QACnB;UACE,eAAe;UACf,qBAAqB;UACrB,qBAAqB,EAAE;MAC3B;QACE,kBAAkB;QAClB,WAAW,EAAE;QACb;UACE,mDAAmD,EAAE;QACvD;UACE,kDAAkD,EAAE;;AAE9D;EACE,kBAAkB;EAClB,SAAS;EACT,qBAAqB;EACrB,kBAAkB;EAClB,gBAAgB;EAChB,gBAAgB,EAAE;EAClB;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,cAAc,EAAE;EAClB;IACE,aAAa,EAAE;EACjB;IACE,kBAAkB;IAClB,aAAa;IACb,mBAAmB,EAAE;EACvB;IACE,aAAa;IACb,sBAAsB,EAAE;EAC1B;IACE,kBAAkB;IAClB,WAAW,EAAE;IACb;MACE,kBAAkB;MAClB,SAAS;MACT,WAAW,EAAE;IACf;MACE,kBAAkB;MAClB,aAAa;MACb,SAAS,EAAE;EACf;IACE,kBAAkB;IAClB,WAAW;IACX,WAAW;IACX,eAAe,EAAE;EACnB;IACE,iBAAiB;IACjB,kBAAkB,EAAE;EACtB;IACE,eAAe;IACf,gDAAgD;IAChD,sBAAsB;IACtB,mBAAmB,EAAE;IACrB;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;IACzD;MACE,aAAa;MACb,sBAAsB,EAAE;MACxB;QACE,iBAAiB,EAAE;QACnB;UACE,eAAe;UACf,qBAAqB;UACrB,qBAAqB,EAAE;UACvB;YACE,uCAAuC,EAAE;UAC3C;YACE,qCAAqC,EAAE;MAC7C;QACE,kBAAkB;QAClB,WAAW,EAAE;QACb;UACE,sDAAsD,EAAE;QAC1D;UACE,qDAAqD,EAAE;;AAEjE;EACE,sBAAsB;EACtB,aAAa;EACb,mBAAmB;EACnB,eAAe,EAAE;;AAEnB;EACE,qBAAqB,EAAE;;AAEzB;EACE,eAAe;EACf,eAAe,EAAE;;AA5JnB;EACE,aAAa;EACb,uBAAuB;EACvB,mBAAmB,EAAE;EACrB;IACE,aAAa,EAAE;;AALnB;EACE,kBAAkB;EAClB,gBAAgB,EAAE;EAClB;IACE,iBAAiB,EAAE;EACrB;IACE,gBAAgB,EAAE;;AAEtB;EACE,kBAAkB;EAClB,UAAU;EACV,qBAAqB;EACrB,iBAAiB;EACjB,kBAAkB;EAClB,sBAAsB,EAAE;EACxB;IACE,kBAAkB;IAClB,aAAa;IACb,mBAAmB,EAAE;EACvB;IACE,mDAAmD,EAAE;EACvD;IACE,kDAAkD,EAAE;EACtD;IACE,cAAc,EAAE;EAClB;IACE,kBAAkB;IAClB,WAAW,EAAE;IACb;MACE,aAAa;MACb,kBAAkB;MAClB,QAAQ;MACR,UAAU,EAAE;IACd;MACE,kBAAkB;MAClB,iBAAiB;MACjB,UAAU;MACV,WAAW,EAAE;EACjB;IACE,aAAa;IACb,sBAAsB,EAAE;IACxB;MACE,sBAAsB;MACtB,gBAAgB;MAChB,mBAAmB;MACnB,iBAAiB;MACjB,YAAY;MACZ,YAAY,EAAE;MACd;QACE,mDAAmD,EAAE;MACvD;QACE,kDAAkD,EAAE;;AAE5D;EACE,kBAAkB;EAClB,SAAS;EACT,aAAa;EACb,mBAAmB;EACnB,gBAAgB,EAAE;EAClB;IACE,kBAAkB;IAClB,aAAa;IACb,mBAAmB,EAAE;EACvB;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,WAAW,EAAE;IACb;MACE,kBAAkB;MAClB,WAAW,EAAE;EACjB;IACE,YAAY;IACZ,aAAa;IACb,sBAAsB,EAAE;IACxB;MACE,iBAAiB;MACjB,kBAAkB,EAAE;IACtB;MACE,YAAY;MACZ,YAAY;MACZ,mBAAmB;MACnB,gBAAgB;MAChB,iBAAiB;MACjB,sBAAsB,EAAE;MACxB;QACE,sDAAsD,EAAE;MAC1D;QACE,qDAAqD,EAAE;EAC7D;IACE,kBAAkB;IAClB,WAAW,EAAE;IACb;MACE,kBAAkB;MAClB,SAAS;MACT,WAAW,EAAE;;AAhGnB;EACE,iBAAiB;EACjB,kBAAkB,EAAE;EACpB;IACE,kBAAkB;IAClB,qBAAqB,EAAE;EACzB;IACE,aAAa;IACb,kBAAkB;IAClB,SAAS,EAAE;EACb;IACE,cAAc,EAAE;EAClB;IACE,kBAAkB;IAClB,aAAa;IACb,sBAAsB;IACtB,mBAAmB;IACnB,eAAe,EAAE;IACjB;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;IACzD;MACE,aAAa,EAAE;IACjB;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;IACzD;MACE,eAAe,EAAE;MACjB;QACE,UAAU,EAAE;IAChB;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;IACzD;MACE,WAAW;MACX,YAAY;MACZ,kBAAkB,EAAE;MACpB;QACE,kBAAkB;QAClB,UAAU;QACV,WAAW;QACX,YAAY;QACZ,MAAM;QACN,OAAO;QACP,mBAAmB,EAAE;QACrB;UACE,kDAAkD,EAAE;QACtD;UACE,iDAAiD,EAAE;IACzD;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;EAC3D;IACE,kBAAkB;IAClB,YAAY;IACZ,SAAS,EAAE;EACb;IACE,iBAAiB,EAAE;EACrB;IACE,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB,EAAE;EAC1B;IACE,kBAAkB;IAClB,qBAAqB;IACrB,sBAAsB,EAAE;EAC1B;;IAEE,cAAc;IACd,gDAAgD;IAChD,iBAAiB;IACjB,mBAAmB,EAAE;;AAEzB;EACE,kBAAkB;EAClB,iBAAiB;EACjB,gBAAgB,EAAE;EAClB;IACE,oBAAoB;IACpB,mBAAmB,EAAE;EACvB;IACE,kBAAkB;IAClB,WAAW,EAAE;IACb;MACE,aAAa;MACb,kBAAkB;MAClB,QAAQ;MACR,UAAU,EAAE;IACd;MACE,kBAAkB;MAClB,UAAU;MACV,WAAW,EAAE;EACjB;IACE,cAAc,EAAE;EAClB;IACE,kBAAkB,EAAE;IACpB;MACE,kBAAkB;MAClB,aAAa;MACb,sBAAsB;MACtB,mBAAmB,EAAE;MACrB;QACE,sDAAsD,EAAE;MAC1D;QACE,qDAAqD,EAAE;MACzD;QACE,aAAa,EAAE;MACjB;QACE,sDAAsD,EAAE;MAC1D;QACE,qDAAqD,EAAE;MACzD;QACE,eAAe,EAAE;QACjB;UACE,UAAU,EAAE;MAChB;QACE,sDAAsD,EAAE;MAC1D;QACE,qDAAqD,EAAE;MACzD;QACE,WAAW;QACX,YAAY;QACZ,kBAAkB,EAAE;QACpB;UACE,kBAAkB;UAClB,UAAU;UACV,WAAW;UACX,YAAY;UACZ,MAAM;UACN,OAAO;UACP,mBAAmB,EAAE;UACrB;YACE,kDAAkD,EAAE;UACtD;YACE,iDAAiD,EAAE;MACzD;QACE,sDAAsD,EAAE;MAC1D;QACE,qDAAqD,EAAE;EAC7D;;IAEE,cAAc;IACd,gDAAgD;IAChD,iBAAiB;IACjB,mBAAmB,EAAE;EACvB;IACE,kBAAkB;IAClB,qBAAqB;IACrB,sBAAsB,EAAE;;AAE5B;EACE,kBAAkB;EAClB,gBAAgB;EAChB,kBAAkB,EAAE;EACpB;IACE,kBAAkB;IAClB,sBAAsB;IACtB,UAAU;IACV,YAAY;IACZ,kBAAkB,EAAE;EACtB;IACE,kBAAkB;IAClB,WAAW;IACX,WAAW;IACX,eAAe,EAAE;EACnB;IACE,aAAa;IACb,mBAAmB,EAAE;EACvB;IACE,kBAAkB,EAAE;IACpB;MACE,kBAAkB;MAClB,aAAa;MACb,sBAAsB;MACtB,mBAAmB,EAAE;MACrB;QACE,sDAAsD,EAAE;MAC1D;QACE,qDAAqD,EAAE;MACzD;QACE,aAAa,EAAE;MACjB;QACE,sDAAsD,EAAE;MAC1D;QACE,qDAAqD,EAAE;MACzD;QACE,eAAe,EAAE;QACjB;UACE,UAAU,EAAE;MAChB;QACE,sDAAsD,EAAE;MAC1D;QACE,qDAAqD,EAAE;MACzD;QACE,WAAW;QACX,YAAY;QACZ,kBAAkB,EAAE;QACpB;UACE,kBAAkB;UAClB,UAAU;UACV,WAAW;UACX,YAAY;UACZ,QAAQ;UACR,SAAS;UACT,mBAAmB,EAAE;UACrB;YACE,kDAAkD,EAAE;UACtD;YACE,iDAAiD,EAAE;MACzD;QACE,sDAAsD,EAAE;MAC1D;QACE,qDAAqD,EAAE;EAC7D;;IAEE,cAAc;IACd,gDAAgD;IAChD,iBAAiB;IACjB,mBAAmB,EAAE;EACvB;IACE,kBAAkB;IAClB,qBAAqB;IACrB,sBAAsB,EAAE;EAC1B;IACE,kBAAkB;IAClB,WAAW,EAAE;IACb;MACE,kBAAkB;MAClB,SAAS;MACT,WAAW,EAAE;IACf;MACE,kBAAkB;MAClB,SAAS;MACT,QAAQ;MACR,aAAa,EAAE;EACnB;IACE,cAAc,EAAE;EAClB;IACE,YAAY;IACZ,aAAa;IACb,aAAa;IACb,mBAAmB;IACnB,uBAAuB,EAAE;IACzB;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;IACzD;MACE,kBAAkB;MAClB,qDAAqD,EAAE;IACzD;MACE,kBAAkB;MAClB,qDAAqD,EAAE;;AAhQ7D;EACE,iBAAiB,EAAE;;AAErB;EACE,gBAAgB,EAAE;;AAEpB;EACE,kBAAkB;EAClB,UAAU;EACV,qBAAqB;EACrB,gBAAgB;EAChB,iBAAiB;EACjB,gBAAgB,EAAE;EAClB;IACE,kBAAkB;IAClB,aAAa;IACb,mBAAmB,EAAE;EACvB;IACE,mDAAmD,EAAE;EACvD;IACE,kDAAkD,EAAE;EACtD;IACE,mDAAmD,EAAE;EACvD;IACE,kDAAkD,EAAE;EACtD;IACE,cAAc,EAAE;EAClB;IACE,aAAa,EAAE;EACjB;IACE,kBAAkB;IAClB,WAAW,EAAE;IACb;MACE,aAAa;MACb,kBAAkB;MAClB,UAAU;MACV,QAAQ,EAAE;IACZ;MACE,kBAAkB;MAClB,iBAAiB;MACjB,UAAU;MACV,WAAW,EAAE;EACjB;IACE,aAAa;IACb,sBAAsB;IACtB,gDAAgD;IAChD,sBAAsB;IACtB,mBAAmB,EAAE;IACrB;MACE,mDAAmD,EAAE;IACvD;MACE,kDAAkD,EAAE;IACtD;MACE,aAAa;MACb,SAAS;MACT,iBAAiB;MACjB,gBAAgB,EAAE;MAClB;QACE,mBAAmB;QACnB,iBAAiB;QACjB,8DAA8D,EAAE;MAClE;QACE,mBAAmB;QACnB,yBAAyB;QACzB,eAAe;QACf,eAAe,EAAE;IACrB;MACE,mDAAmD,EAAE;IACvD;MACE,kDAAkD,EAAE;;AAE1D;EACE,kBAAkB;EAClB,SAAS;EACT,qBAAqB;EACrB,kBAAkB;EAClB,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB,EAAE;EAClB;IACE,kBAAkB;IAClB,aAAa;IACb,mBAAmB,EAAE;EACvB;IACE,kBAAkB;IAClB,WAAW,EAAE;IACb;MACE,kBAAkB;MAClB,aAAa;MACb,SAAS;MACT,SAAS,EAAE;IACb;MACE,kBAAkB;MAClB,SAAS;MACT,WAAW,EAAE;EACjB;IACE,cAAc,EAAE;EAClB;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,kBAAkB;IAClB,WAAW;IACX,WAAW;IACX,eAAe,EAAE;EACnB;IACE,iBAAiB;IACjB,kBAAkB,EAAE;EACtB;IACE,aAAa;IACb,sBAAsB;IACtB,eAAe;IACf,gDAAgD;IAChD,sBAAsB;IACtB,mBAAmB,EAAE;IACrB;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;IACzD;MACE,aAAa;MACb,mBAAmB;MACnB,iBAAiB,EAAE;MACnB;QACE,mBAAmB;QACnB,iBAAiB,EAAE;QACnB;UACE,qDAAqD,EAAE;QACzD;UACE,qDAAqD,EAAE;MAC3D;QACE,mBAAmB;QACnB,qBAAqB;QACrB,eAAe;QACf,eAAe,EAAE;IACrB;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;;AA/I7D;EACE,eAAe;EACf,iBAAiB,EAAE;EACnB;IACE,0BAA0B,EAAE;IAC5B;MACE,eAAe,EAAE;EACrB;IACE,0BAA0B,EAAE;IAC5B;MACE,eAAe,EAAE;;AAVvB;EACE,qBAAqB;EACrB,mBAAmB;EACnB,gDAAgD;EAChD,sBAAsB;EACtB,gBAAgB;EAChB,wBAAwB,EAAE;EAC1B;IACE,qDAAqD,EAAE;EACzD;IACE,qDAAqD,EAAE;EACzD;IACE,aAAa;IACb,eAAe,EAAE;EACnB;IACE,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB,EAAE;EACtB;IACE,WAAW;IACX,YAAY,EAAE;EAChB;IACE,aAAa,EAAE;;AAtBnB;EACE,kBAAkB;EAClB,oBAAoB;EACpB,uBAAuB;EACvB,gBAAgB;EAChB,kBAAkB;EAClB,iBAAiB;EACjB,oDAAoD,EAAE;EACtD;IACE,WAAW;IACX,kBAAkB;IAClB,YAAY;IACZ,UAAU;IACV,WAAW;IACX,wBAAwB;IACxB,oDAAoD,EAAE;EACxD;IACE,gDAAgD;IAChD,eAAe;IACf,iBAAiB;IACjB,oBAAoB;IACpB,kBAAkB;IAClB,iBAAiB;IACjB,sBAAsB;IACtB,yCAAyC,EAAE;;AAxB/C;EACE,kBAAkB;EAClB,oBAAoB,EAAE;EACtB;IACE,kBAAkB;IAClB,oBAAoB;IACpB,YAAY,EAAE;IACd;MACE,kBAAkB;MAClB,oBAAoB,EAAE;;AAT5B;EACE,qBAAqB;EACrB,mBAAmB;EACnB,WAAW;EACX,YAAY,EAAE;EACd;IACE,sDAAsD;IACtD,sDAAsD,EAAE;EAC1D;IACE,qDAAqD;IACrD,qDAAqD,EAAE;EACzD;IACE,eAAe,EAAE;IACjB;MACE,mDAAmD,EAAE;IACvD;MACE,kDAAkD,EAAE;;AAE1D;EACE,qBAAqB;EACrB,mBAAmB;EACnB,WAAW;EACX,YAAY,EAAE;EACd;IACE,sDAAsD;IACtD,sDAAsD,EAAE;EAC1D;IACE,qDAAqD;IACrD,qDAAqD,EAAE;EACzD;IACE,eAAe;IACf,kEAAkE,EAAE;EACtE;IACE,SAAS,EAAE;;AAEf;EACE,qBAAqB;EACrB,mBAAmB;EACnB,WAAW;EACX,YAAY,EAAE;EACd;IACE,mDAAmD;IACnD,mDAAmD,EAAE;EACvD;IACE,kDAAkD;IAClD,kDAAkD,EAAE;EACtD;IACE,eAAe,EAAE;IACjB;MACE,mDAAmD,EAAE;IACvD;MACE,kDAAkD,EAAE;;AAE1D;EACE,kBAAkB;EAClB,aAAa;EACb,YAAY;EACZ,mBAAmB;EACnB,mBAAmB;EACnB,uBAAuB;EACvB,kBAAkB;EAClB,kBAAkB,EAAE;EACpB;IACE,kBAAkB;IAClB,QAAQ;IACR,SAAS,EAAE;EACb;IACE,gBAAgB,EAAE;;AAnEtB;EACE,kBAAkB,EAAE;EACpB;IACE,iBAAiB;IACjB,gBAAgB,EAAE;EACpB;IACE,gBAAgB,EAAE;;AAEtB;EACE,kBAAkB;EAClB,UAAU;EACV,qBAAqB;EACrB,sBAAsB;EACtB,iBAAiB,EAAE;EACnB;IACE,mBAAmB;IACnB,uBAAuB;IACvB,gBAAgB;IAChB,qBAAqB;IACrB,YAAY,EAAE;EAChB;IACE,kBAAkB;IAClB,aAAa;IACb,mBAAmB,EAAE;EACvB;IACE,mDAAmD,EAAE;EACvD;IACE,kDAAkD,EAAE;EACtD;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,cAAc,EAAE;EAClB;IACE,kBAAkB;IAClB,WAAW,EAAE;IACb;MACE,aAAa;MACb,kBAAkB;MAClB,QAAQ;MACR,UAAU,EAAE;MACZ;QACE,yBAAyB,EAAE;IAC/B;MACE,kBAAkB;MAClB,UAAU;MACV,WAAW;MACX,iBAAiB,EAAE;EACvB;IACE,sBAAsB;IACtB,YAAY;IACZ,iBAAiB;IACjB,gCAAgC;IAChC,qBAAqB;IACrB,gBAAgB,EAAE;IAClB;MACE,mDAAmD,EAAE;IACvD;MACE,kDAAkD,EAAE;EACxD;IACE,8BAA8B,EAAE;EAClC;IACE,YAAY;IACZ,sBAAsB,EAAE;IACxB;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;IACzD;MACE,YAAY;MACZ,aAAa;MACb,aAAa;MACb,uBAAuB;MACvB,mBAAmB,EAAE;IACvB;MACE,eAAe,EAAE;IACnB;MACE,aAAa,EAAE;EACnB;IACE,8BAA8B,EAAE;EAClC;IACE,2BAA2B;IAC3B,gCAAgC;IAChC,gBAAgB;IAChB,sBAAsB;IACtB,YAAY,EAAE;IACd;MACE,sDAAsD,EAAE;IAC1D;MACE,qDAAqD,EAAE;IACzD;MACE,iBAAiB;MACjB,kBAAkB;MAClB,kBAAkB,EAAE;IACtB;MACE,kBAAkB;MAClB,mBAAmB;MACnB,uBAAuB;MACvB,gBAAgB,EAAE;IACpB;MACE,mBAAmB;MACnB,uBAAuB;MACvB,gBAAgB,EAAE;IACpB;MACE,aAAa,EAAE;IACjB;MACE,6BAA6B;MAC7B,YAAY,EAAE;MACd;QACE,sDAAsD,EAAE;MAC1D;QACE,qDAAqD,EAAE;MACzD;QACE,eAAe,EAAE;MACnB;QACE,aAAa,EAAE;IACnB;MACE,eAAe,EAAE;IACnB;MACE,aAAa,EAAE;;AAErB;EACE,eAAe;EACf,eAAe,EAAE;;AAEnB;EACE,kBAAkB;EAClB,SAAS;EACT,qBAAqB;EACrB,sBAAsB;EACtB,gBAAgB;EAChB,kBAAkB,EAAE;EACpB;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,sDAAsD,EAAE;EAC1D;IACE,qDAAqD,EAAE;EACzD;IACE,cAAc,EAAE;EAClB;IACE,kBAAkB;IAClB,aAAa;IACb,mBAAmB,EAAE;IACrB;MACE,kBAAkB,EAAE;MACpB;QACE,kBAAkB;QAClB,WAAW;QACX,WAAW;QACX,eAAe,EAAE;MACnB;QACE,iBAAiB,EAAE;MACrB;QACE,sBAAsB;QACtB,gBAAgB;QAChB,iBAAiB;QACjB,gCAAgC;QAChC,qBAAqB;QACrB,gBAAgB,EAAE;QAClB;UACE,sDAAsD,EAAE;QAC1D;UACE,qDAAqD,EAAE;MAC3D;QACE,8BAA8B,EAAE;MAClC;QACE,sBAAsB;QACtB,YAAY,EAAE;QACd;UACE,sDAAsD,EAAE;QAC1D;UACE,qDAAqD,EAAE;QACzD;UACE,YAAY;UACZ,aAAa;UACb,aAAa;UACb,uBAAuB;UACvB,mBAAmB,EAAE;QACvB;UACE,eAAe,EAAE;QACnB;UACE,aAAa,EAAE;MACnB;QACE,8BAA8B,EAAE;MAClC;QACE,2BAA2B;QAC3B,gCAAgC;QAChC,gBAAgB;QAChB,sBAAsB;QACtB,YAAY,EAAE;QACd;UACE,sDAAsD,EAAE;QAC1D;UACE,qDAAqD,EAAE;QACzD;UACE,iBAAiB;UACjB,kBAAkB;UAClB,kBAAkB,EAAE;QACtB;UACE,kBAAkB;UAClB,mBAAmB;UACnB,uBAAuB;UACvB,gBAAgB,EAAE;QACpB;UACE,mBAAmB;UACnB,uBAAuB;UACvB,gBAAgB;UAChB,qBAAqB;UACrB,YAAY,EAAE;QAChB;UACE,aAAa,EAAE;QACjB;UACE,6BAA6B,EAAE;UAC/B;YACE,sDAAsD,EAAE;UAC1D;YACE,qDAAqD,EAAE;UACzD;YACE,eAAe,EAAE;UACnB;YACE,aAAa,EAAE;IACvB;MACE,kBAAkB;MAClB,WAAW,EAAE;MACb;QACE,kBAAkB;QAClB,WAAW;QACX,SAAS,EAAE;MACb;QACE,kBAAkB;QAClB,SAAS;QACT,SAAS;QACT,aAAa,EAAE;;AApPvB,yFAAyF;AACzF;EACE,qCAAqC;EACrC,qCAAqC;EACrC,qCAAqC;EACrC,qCAAqC;EACrC,qCAAqC;EACrC,uCAAuC;EACvC,uCAAuC;EACvC,uCAAuC;EACvC,uCAAuC;EACvC,uCAAuC;EACvC,yCAAyC;EACzC,mCAAmC;EACnC,mCAAmC;EACnC,mCAAmC;EACnC,mCAAmC;EACnC,mCAAmC;EACnC,wCAAwC;EACxC,wCAAwC;EACxC,wCAAwC;EACxC,wCAAwC;EACxC,wCAAwC;EACxC,wCAAwC;EACxC,wCAAwC;EACxC,wCAAwC;EACxC,gDAAgD;EAChD,gDAAgD;EAChD,gDAAgD;EAChD,gDAAgD;EAChD,gDAAgD;EAChD,gDAAgD;EAChD,qDAAqD;EACrD,qDAAqD;EACrD,qDAAqD;EACrD,qDAAqD;EACrD,8HAA8H;EAC9H,yIAAyI;EACzI,wIAAwI;EACxI,wIAAwI;EACxI,gLAAgL,EAAE;;AAEpL;EACE,oCAAoC;EACpC,oCAAoC;EACpC,oCAAoC;EACpC,oCAAoC;EACpC,oCAAoC;EACpC,sCAAsC;EACtC,sCAAsC;EACtC,sCAAsC;EACtC,sCAAsC;EACtC,sCAAsC;EACtC,wCAAwC;EACxC,kCAAkC;EAClC,kCAAkC;EAClC,kCAAkC;EAClC,kCAAkC;EAClC,kCAAkC;EAClC,uCAAuC;EACvC,uCAAuC;EACvC,uCAAuC;EACvC,uCAAuC;EACvC,uCAAuC;EACvC,uCAAuC;EACvC,uCAAuC;EACvC,uCAAuC;EACvC,+CAA+C;EAC/C,+CAA+C;EAC/C,+CAA+C;EAC/C,+CAA+C;EAC/C,+CAA+C;EAC/C,+CAA+C;EAC/C,oDAAoD;EACpD,oDAAoD;EACpD,oDAAoD;EACpD,oDAAoD;EACpD,6HAA6H;EAC7H,wIAAwI;EACxI,uIAAuI;EACvI,uIAAuI;EACvI,+KAA+K,EAAE;;AAEnL;EACE,oCAAoC;EACpC,+CAA+C;EAC/C,yDAAyD;EACzD,oDAAoD;EACpD,sCAAsC;EACtC,wDAAwD;EACxD,uCAAuC;EACvC,gDAAgD;EAChD,oDAAoD;EACpD,uCAAuC,EAAE","file":"dist/index.css","sourcesContent":["@import url(\"https://fonts.googleapis.com/css?family=Open+Sans:400,600,700&display=swap\");\n:root {\n --sendbird-light-primary-500: #491389;\n --sendbird-light-primary-400: #6211c8;\n --sendbird-light-primary-300: #742ddd;\n --sendbird-light-primary-200: #c2a9fa;\n --sendbird-light-primary-100: #dbd1ff;\n --sendbird-light-secondary-500: #066858;\n --sendbird-light-secondary-400: #027d69;\n --sendbird-light-secondary-300: #259c72;\n --sendbird-light-secondary-200: #69c085;\n --sendbird-light-secondary-100: #a8e2ab;\n --sendbird-light-information-100: #adc9ff;\n --sendbird-light-error-500: #9d091e;\n --sendbird-light-error-400: #bf0711;\n --sendbird-light-error-300: #de360b;\n --sendbird-light-error-200: #f66161;\n --sendbird-light-error-100: #fdaaaa;\n --sendbird-light-background-700: #000000;\n --sendbird-light-background-600: #161616;\n --sendbird-light-background-500: #2C2C2C;\n --sendbird-light-background-400: #393939;\n --sendbird-light-background-300: #bdbdbd;\n --sendbird-light-background-200: #e0e0e0;\n --sendbird-light-background-100: #eeeeee;\n --sendbird-light-background-50: #FFFFFF;\n --sendbird-light-overlay-01: rgba(0, 0, 0, 0.55);\n --sendbird-light-overlay-02: rgba(0, 0, 0, 0.32);\n --sendbird-light-onlight-01: rgba(0, 0, 0, 0.88);\n --sendbird-light-onlight-02: rgba(0, 0, 0, 0.50);\n --sendbird-light-onlight-03: rgba(0, 0, 0, 0.38);\n --sendbird-light-onlight-04: rgba(0, 0, 0, 0.12);\n --sendbird-light-ondark-01: rgba(255, 255, 255, 0.88);\n --sendbird-light-ondark-02: rgba(255, 255, 255, 0.50);\n --sendbird-light-ondark-03: rgba(255, 255, 255, 0.38);\n --sendbird-light-ondark-04: rgba(255, 255, 255, 0.12);\n --sendbird-light-shadow-01: 0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12);\n --sendbird-light-shadow-02: 0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12);\n --sendbird-light-shadow-03: 0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12);\n --sendbird-light-shadow-04: 0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12);\n --sendbird-light-shadow-message-input: 0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }\n\n:root {\n --sendbird-dark-primary-500: #491389;\n --sendbird-dark-primary-400: #6211c8;\n --sendbird-dark-primary-300: #742ddd;\n --sendbird-dark-primary-200: #c2a9fa;\n --sendbird-dark-primary-100: #dbd1ff;\n --sendbird-dark-secondary-500: #066858;\n --sendbird-dark-secondary-400: #027d69;\n --sendbird-dark-secondary-300: #259c72;\n --sendbird-dark-secondary-200: #69c085;\n --sendbird-dark-secondary-100: #a8e2ab;\n --sendbird-dark-information-100: #adc9ff;\n --sendbird-dark-error-500: #9d091e;\n --sendbird-dark-error-400: #bf0711;\n --sendbird-dark-error-300: #de360b;\n --sendbird-dark-error-200: #f66161;\n --sendbird-dark-error-100: #fdaaaa;\n --sendbird-dark-background-700: #000000;\n --sendbird-dark-background-600: #161616;\n --sendbird-dark-background-500: #2C2C2C;\n --sendbird-dark-background-400: #393939;\n --sendbird-dark-background-300: #bdbdbd;\n --sendbird-dark-background-200: #e0e0e0;\n --sendbird-dark-background-100: #eeeeee;\n --sendbird-dark-background-50: #FFFFFF;\n --sendbird-dark-overlay-01: rgba(0, 0, 0, 0.55);\n --sendbird-dark-overlay-02: rgba(0, 0, 0, 0.32);\n --sendbird-dark-onlight-01: rgba(0, 0, 0, 0.88);\n --sendbird-dark-onlight-02: rgba(0, 0, 0, 0.50);\n --sendbird-dark-onlight-03: rgba(0, 0, 0, 0.38);\n --sendbird-dark-onlight-04: rgba(0, 0, 0, 0.12);\n --sendbird-dark-ondark-01: rgba(255, 255, 255, 0.88);\n --sendbird-dark-ondark-02: rgba(255, 255, 255, 0.50);\n --sendbird-dark-ondark-03: rgba(255, 255, 255, 0.38);\n --sendbird-dark-ondark-04: rgba(255, 255, 255, 0.12);\n --sendbird-dark-shadow-01: 0 1px 5px 0 rgba(33, 34, 66, 0.04), 0 0 3px 0 rgba(0, 0, 0, 0.08), 0 2px 1px 0 rgba(0, 0, 0, 0.12);\n --sendbird-dark-shadow-02: 0 3px 5px -3px rgba(33, 34, 66, 0.04), 0 3px 14px 2px rgba(0, 0, 0, 0.08), 0 8px 10px 1px rgba(0, 0, 0, 0.12);\n --sendbird-dark-shadow-03: 0 6px 10px -5px rgba(0, 0, 0, 0.04), 0 6px 30px 5px rgba(0, 0, 0, 0.08), 0 16px 24px 2px rgba(0, 0, 0, 0.12);\n --sendbird-dark-shadow-04: 0 9px 15px -7px rgba(0, 0, 0, 0.04), 0 9px 46px 8px rgba(0, 0, 0, 0.08), 0 24px 38px 3px rgba(0, 0, 0, 0.12);\n --sendbird-dark-shadow-message-input: 0 1px 5px 0 rgba(33, 34, 66, 0.12), 0 0 1px 0 rgba(33, 34, 66, 0.16), 0 2px 1px 0 rgba(33, 34, 66, 0.08), 0 1px 5px 0 rgba(0, 0, 0, 0.12); }\n\n:root {\n --sendbird-iconbutton-color: #825eeb;\n --sendbird-message-input-border-active: #7B53EF;\n --sendbird-selected-reaction-button-border-hover: #9E8CF5;\n --sendbird-add-reaction-button-border-hover: #9E8CF5;\n --sendbird-tooltip-background: #000000;\n --sendbird-tooltip-text-color: rgba(255, 255, 255, 0.88);\n --sendbird-button-border-focus: #FFFFFF;\n --sendbird-file-message-icon-background: #FFFFFF;\n --sendbird-font-family-default: 'Roboto', sans-serif;\n --sendbird-message-balloon-width: 404px; }\n",".sendbird-channel-profile {\n position: relative;\n text-align: center;\n padding: 32px 40px 27px 40px; }\n .sendbird-theme--light .sendbird-channel-profile {\n border-bottom: 1px solid var(--sendbird-light-onlight-04);\n background-color: var(--sendbird-light-background-50); }\n .sendbird-theme--dark .sendbird-channel-profile {\n border-bottom: 1px solid var(--sendbird-dark-ondark-04);\n background-color: var(--sendbird-dark-background-600); }\n .sendbird-channel-profile .sendbird-channel-profile--inner {\n height: 92px; }\n .sendbird-channel-profile .sendbird-channel-profile__avatar {\n margin-bottom: 16px;\n display: flex;\n justify-content: center; }\n .sendbird-channel-profile .sendbird-channel-profile__title {\n max-width: 240px;\n white-space: nowrap;\n overflow-x: hidden;\n text-overflow: ellipsis;\n height: 18px; }\n .sendbird-channel-profile .sendbird-channel-profile__edit {\n position: absolute;\n top: 10px;\n right: 16px; }\n\n.channel-profile-form .channel-profile-form__img-section {\n position: relative; }\n\n.channel-profile-form .channel-profile-form__avatar-button {\n position: absolute;\n top: 54px;\n left: 96px; }\n\n.channel-profile-form .channel-profile-form__avatar {\n margin-top: 16px; }\n\n.channel-profile-form .channel-profile-form__name-section {\n margin-top: 12px; }\n .channel-profile-form .channel-profile-form__name-section .sendbird-input {\n height: 40px; }\n",".sendbird-frozen-channel-notification {\n position: relative;\n margin-top: 8px;\n margin-right: 24px;\n margin-left: 24px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px; }\n .sendbird-theme--light .sendbird-frozen-channel-notification {\n background-color: var(--sendbird-light-information-100); }\n .sendbird-theme--dark .sendbird-frozen-channel-notification {\n background-color: var(--sendbird-dark-information-100); }\n",".sendbird-openchannel-conversation-scroll {\n position: relative;\n width: 100%; }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container {\n position: sticky;\n width: 100%;\n bottom: 0px;\n height: 100%; }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__padding {\n height: 8px; }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button {\n position: sticky;\n display: flex;\n align-items: center;\n justify-content: center;\n bottom: 8px;\n left: calc(50% - 20px);\n width: 40px;\n height: 40px;\n border-radius: 24px;\n z-index: 1; }\n .sendbird-theme--light .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button {\n background-color: var(--sendbird-light-primary-300); }\n .sendbird-theme--dark .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button {\n background-color: var(--sendbird-dark-primary-200); }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:hover {\n cursor: pointer; }\n .sendbird-theme--light .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:hover {\n background-color: var(--sendbird-light-primary-400); }\n .sendbird-theme--dark .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:hover {\n background-color: var(--sendbird-dark-primary-300); }\n .sendbird-theme--light .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:active {\n background-color: var(--sendbird-light-primary-500); }\n .sendbird-theme--dark .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:active {\n background-color: var(--sendbird-dark-primary-400); }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__item-container--no-messages {\n width: 100%;\n height: calc(100% - 8px); }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__item-container--no-messages .sendbird-openchannel-conversation-scroll__container__place-holder {\n width: 100%;\n height: 100%; }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button {\n position: sticky;\n display: flex;\n align-items: center;\n justify-content: center;\n bottom: 8px;\n left: calc(50% - 20px);\n width: 40px;\n height: 40px;\n border-radius: 24px;\n z-index: 1; }\n .sendbird-theme--light .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button {\n background-color: var(--sendbird-light-primary-300); }\n .sendbird-theme--dark .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button {\n background-color: var(--sendbird-dark-primary-200); }\n .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:hover {\n cursor: pointer; }\n .sendbird-theme--light .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:hover {\n background-color: var(--sendbird-light-primary-400); }\n .sendbird-theme--dark .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:hover {\n background-color: var(--sendbird-dark-primary-300); }\n .sendbird-theme--light .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:active {\n background-color: var(--sendbird-light-primary-500); }\n .sendbird-theme--dark .sendbird-openchannel-conversation-scroll .sendbird-openchannel-conversation-scroll__container .sendbird-openchannel-conversation-scroll__container__scroll-bottom-button:active {\n background-color: var(--sendbird-dark-primary-400); }\n",".sendbird-user-list-item--small {\n display: block;\n position: relative;\n box-sizing: border-box;\n height: 40px; }\n .sendbird-user-list-item--small__avatar {\n cursor: pointer;\n position: absolute;\n top: 10px;\n left: 12px; }\n .sendbird-user-list-item--small .sendbird-muted-avatar {\n position: absolute;\n top: 10px;\n left: 12px;\n z-index: 2;\n pointer-events: none; }\n .sendbird-user-list-item--small__title {\n position: absolute;\n top: 10px;\n left: 54px;\n width: 160px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; }\n .sendbird-user-list-item--small__subtitle {\n position: absolute;\n top: 23px;\n left: 140px;\n max-width: 237px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; }\n .sendbird-user-list-item--small__checkbox {\n position: absolute;\n top: 16px;\n right: 16px; }\n .sendbird-user-list-item--small__action {\n display: none;\n position: absolute;\n right: 10px;\n top: 4px; }\n .sendbird-user-list-item--small__operator {\n position: absolute;\n right: 24px;\n top: 10px; }\n .sendbird-theme--light .sendbird-user-list-item--small:hover, .sendbird-theme--light .sendbird-user-list-item--small.sendbird-icon--pressed {\n background-color: var(--sendbird-light-background-100); }\n .sendbird-theme--dark .sendbird-user-list-item--small:hover, .sendbird-theme--dark .sendbird-user-list-item--small.sendbird-icon--pressed {\n background-color: var(--sendbird-dark-background-500); }\n .sendbird-user-list-item--small:hover .sendbird-user-list-item--small__action, .sendbird-user-list-item--small.sendbird-icon--pressed .sendbird-user-list-item--small__action {\n display: block; }\n .sendbird-user-list-item--small:hover .sendbird-user-list-item--small__operator, .sendbird-user-list-item--small.sendbird-icon--pressed .sendbird-user-list-item--small__operator {\n display: none; }\n .sendbird-theme--light .sendbird-user-list-item--small.sendbird-icon--pressed .sendbird-iconbutton {\n background-color: var(--sendbird-light-primary-100); }\n .sendbird-theme--dark .sendbird-user-list-item--small.sendbird-icon--pressed .sendbird-iconbutton {\n background-color: var(--sendbird-dark-background-700); }\n",".sendbird-muted-avatar {\n border-radius: 50%;\n display: inline-block; }\n .sendbird-muted-avatar .sendbird-muted-avatar__icon {\n position: relative; }\n .sendbird-muted-avatar .sendbird-muted-avatar__icon .sendbird-icon {\n position: absolute;\n top: 4px;\n left: 4px; }\n .sendbird-muted-avatar .sendbird-muted-avatar__bg {\n opacity: .5;\n position: absolute;\n border-radius: 50%;\n top: 0;\n left: 0; }\n .sendbird-theme--light .sendbird-muted-avatar .sendbird-muted-avatar__bg {\n background-color: var(--sendbird-light-primary-400); }\n .sendbird-theme--dark .sendbird-muted-avatar .sendbird-muted-avatar__bg {\n background-color: var(--sendbird-dark-primary-300); }\n",".sendbird-notification {\n margin-top: 8px;\n margin-left: 24px;\n margin-right: 24px;\n border-radius: 4px;\n padding: 0px 2px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center; }\n .sendbird-theme--light .sendbird-notification {\n background-color: var(--sendbird-light-primary-300); }\n .sendbird-theme--dark .sendbird-notification {\n background-color: var(--sendbird-dark-primary-200); }\n .sendbird-notification:hover {\n cursor: pointer; }\n .sendbird-theme--light .sendbird-notification:hover {\n background-color: var(--sendbird-light-primary-400); }\n .sendbird-theme--dark .sendbird-notification:hover {\n background-color: var(--sendbird-dark-primary-300); }\n .sendbird-theme--light .sendbird-notification.sendbird-notification--frozen {\n background-color: var(--sendbird-light-information-100); }\n .sendbird-theme--dark .sendbird-notification.sendbird-notification--frozen {\n background-color: var(--sendbird-dark-information-100); }\n .sendbird-theme--light .sendbird-notification.sendbird-notification--frozen .sendbird-notification__text {\n color: var(--sendbird-light-onlight-01); }\n .sendbird-theme--dark .sendbird-notification.sendbird-notification--frozen .sendbird-notification__text {\n color: var(--sendbird-dark-onlight-01); }\n .sendbird-notification .sendbird-notification__text {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 8px; }\n",".sendbird-members-accordion {\n padding: 8px 16px 16px 16px;\n position: relative;\n box-sizing: border-box; }\n .sendbird-theme--light .sendbird-members-accordion {\n border-bottom: 1px solid var(--sendbird-light-onlight-04);\n background-color: var(--sendbird-light-background-50); }\n .sendbird-theme--dark .sendbird-members-accordion {\n border-bottom: 1px solid var(--sendbird-dark-ondark-04);\n background-color: var(--sendbird-dark-background-600); }\n .sendbird-members-accordion .sendbird-members-accordion__member {\n position: relative;\n padding: 12px 0px 12px 44px;\n height: 40px;\n box-sizing: border-box; }\n .sendbird-members-accordion .sendbird-members-accordion__member .sendbird-label {\n max-width: 240px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; }\n .sendbird-members-accordion .sendbird-members-accordion__member-avatar {\n position: absolute;\n left: 0;\n top: 10px;\n cursor: pointer; }\n .sendbird-members-accordion .sendbird-members-accordion__footer {\n display: flex;\n justify-content: flex-start;\n margin-top: 8px; }\n .sendbird-members-accordion .sendbird-members-accordion__footer .sendbird-members-accordion__footer__all-members {\n margin-right: 16px; }\n\n.sendbird-more-members__popup-scroll {\n max-height: 420px;\n overflow-y: auto; }\n",".sendbird-add-channel__rectangle-wrap {\n margin-top: 26px; }\n\n.sendbird-add-channel__rectangle-footer {\n text-align: right;\n margin-top: 32px; }\n\n.sendbird-add-channel__rectangle {\n width: 432px;\n height: 72px;\n border-radius: 4px;\n margin-bottom: 8px;\n padding: 25px 72px;\n position: relative;\n box-sizing: border-box;\n cursor: pointer; }\n .sendbird-theme--light .sendbird-add-channel__rectangle {\n border: 1px solid var(--sendbird-light-onlight-04); }\n .sendbird-theme--dark .sendbird-add-channel__rectangle {\n border: 1px solid var(--sendbird-dark-ondark-04); }\n .sendbird-add-channel__rectangle .sendbird-icon {\n position: absolute;\n left: 22px;\n top: 24px; }\n",".sendbird-conversation__messages .sendbird-conversation__messages-padding {\n padding-left: 24px;\n padding-right: 24px; }\n\n.sendbird-conversation__messages .sendbird-separator,\n.sendbird-conversation__messages .sendbird-admin-message {\n padding-top: 8px;\n padding-bottom: 8px; }\n",".sendbird-theme--light .sendbird-color--onbackground-1 {\n color: var(--sendbird-light-onlight-01); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-1 {\n color: var(--sendbird-dark-ondark-01); }\n\n.sendbird-theme--light .sendbird-color--onbackground-1--background-color {\n background-color: var(--sendbird-light-onlight-01); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-1--background-color {\n background-color: var(--sendbird-dark-ondark-01); }\n\n.sendbird-theme--light .sendbird-color--onbackground-2 {\n color: var(--sendbird-light-onlight-02); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-2 {\n color: var(--sendbird-dark-ondark-02); }\n\n.sendbird-theme--light .sendbird-color--onbackground-2--background-color {\n background-color: var(--sendbird-light-onlight-02); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-2--background-color {\n background-color: var(--sendbird-dark-ondark-02); }\n\n.sendbird-theme--light .sendbird-color--onbackground-3 {\n color: var(--sendbird-light-onlight-03); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-3 {\n color: var(--sendbird-dark-ondark-03); }\n\n.sendbird-theme--light .sendbird-color--onbackground-3--background-color {\n background-color: var(--sendbird-light-onlight-03); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-3--background-color {\n background-color: var(--sendbird-dark-ondark-03); }\n\n.sendbird-theme--light .sendbird-color--onbackground-4 {\n color: var(--sendbird-light-onlight-04); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-4 {\n color: var(--sendbird-dark-ondark-04); }\n\n.sendbird-theme--light .sendbird-color--onbackground-4--background-color {\n background-color: var(--sendbird-light-onlight-04); }\n\n.sendbird-theme--dark .sendbird-color--onbackground-4--background-color {\n background-color: var(--sendbird-dark-ondark-04); }\n\n.sendbird-theme--light .sendbird-color--oncontent-1 {\n color: var(--sendbird-light-ondark-01); }\n\n.sendbird-theme--dark .sendbird-color--oncontent-1 {\n color: var(--sendbird-dark-onlight-01); }\n\n.sendbird-theme--light .sendbird-color--oncontent-1--background-color {\n background-color: var(--sendbird-light-ondark-01); }\n\n.sendbird-theme--dark .sendbird-color--oncontent-1--background-color {\n background-color: var(--sendbird-dark-onlight-01); }\n\n.sendbird-theme--light .sendbird-color--primary {\n color: var(--sendbird-light-primary-300); }\n\n.sendbird-theme--dark .sendbird-color--primary {\n color: var(--sendbird-dark-primary-200); }\n\n.sendbird-theme--light .sendbird-color--primary--background-color {\n background-color: var(--sendbird-light-primary-300); }\n\n.sendbird-theme--dark .sendbird-color--primary--background-color {\n background-color: var(--sendbird-dark-primary-200); }\n\n.sendbird-theme--light .sendbird-color--error {\n color: var(--sendbird-light-error-300); }\n\n.sendbird-theme--dark .sendbird-color--error {\n color: var(--sendbird-dark-error-300); }\n\n.sendbird-theme--light .sendbird-color--error--background-color {\n background-color: var(--sendbird-light-error-300); }\n\n.sendbird-theme--dark .sendbird-color--error--background-color {\n background-color: var(--sendbird-dark-error-300); }\n"]} \ No newline at end of file diff --git a/index-49dfd24f.js b/index-49dfd24f.js new file mode 100644 index 0000000..e7b733f --- /dev/null +++ b/index-49dfd24f.js @@ -0,0 +1,251 @@ +import { b as _slicedToArray, e as LocalizationContext, c as _toConsumableArray } from './LocalizationContext-34316336.js'; +import React, { useState, useContext } from 'react'; +import PropTypes from 'prop-types'; +import { c as Label, d as LabelTypography, e as LabelColors, I as Icon, a as IconTypes, b as IconColors, n as UserProfileContext, C as ContextMenu, A as Avatar, h as MenuItems, o as UserProfile } from './index-79d744e1.js'; + +var InputLabel = function InputLabel(_ref) { + var children = _ref.children; + return React.createElement(Label, { + type: LabelTypography.CAPTION_3, + color: LabelColors.ONBACKGROUND_1, + className: "sendbird-input-label" + }, children); +}; +InputLabel.propTypes = { + children: PropTypes.string.isRequired +}; // future: add validations? onChange? more props etc etc + +var Input = React.forwardRef(function (props, ref) { + var value = props.value, + placeHolder = props.placeHolder, + disabled = props.disabled, + name = props.name, + required = props.required; + + var _useState = useState(value), + _useState2 = _slicedToArray(_useState, 2), + inputValue = _useState2[0], + setInputValue = _useState2[1]; + + return React.createElement("div", { + className: "sendbird-input" + }, React.createElement("input", { + required: required, + ref: ref, + name: name, + disabled: disabled, + value: inputValue, + className: "sendbird-input--input", + onChange: function onChange(e) { + setInputValue(e.target.value); + } + }), placeHolder && !inputValue && React.createElement(Label, { + className: "sendbird-input--placeholder", + type: LabelTypography.BODY_1, + color: LabelColors.ONBACKGROUND_3 + }, placeHolder)); +}); +Input.propTypes = { + value: PropTypes.string, + placeHolder: PropTypes.string, + name: PropTypes.string.isRequired, + disabled: PropTypes.bool, + required: PropTypes.bool +}; +Input.defaultProps = { + value: '', + placeHolder: '', + disabled: false, + required: false +}; + +function MutedAvatarOverlay(props) { + var _a = props.height, + height = _a === void 0 ? 24 : _a, + _b = props.width, + width = _b === void 0 ? 24 : _b; + return React.createElement("div", { + className: "sendbird-muted-avatar", + style: { + height: height + "px", + width: width + "px" + } + }, React.createElement("div", { + className: "sendbird-muted-avatar__icon" + }, React.createElement("div", { + className: "sendbird-muted-avatar__bg", + style: { + height: height + "px", + width: width + "px" + } + }), React.createElement(Icon, { + type: IconTypes.MUTE, + fillColor: IconColors.WHITE, + width: height - 8 + "px", + height: width - 8 + "px" + }))); +} + +function Checkbox(_ref) { + var id = _ref.id, + checked = _ref.checked, + onChange = _ref.onChange; + + var _useState = useState(checked), + _useState2 = _slicedToArray(_useState, 2), + isChecked = _useState2[0], + setCheck = _useState2[1]; + + return React.createElement("label", { + className: "sendbird-checkbox", + htmlFor: id + }, React.createElement("input", { + id: id, + type: "checkbox", + checked: isChecked, + onClick: function onClick() { + return setCheck(!isChecked); + }, + onChange: onChange + }), React.createElement("span", { + className: "sendbird-checkbox--checkmark" + })); +} +Checkbox.propTypes = { + id: PropTypes.string, + checked: PropTypes.bool, + onChange: PropTypes.func +}; +Checkbox.defaultProps = { + id: 'sendbird-checkbox-input', + checked: false, + onChange: function onChange() {} +}; + +var COMPONENT_NAME = 'sendbird-user-list-item'; +function UserListItem(_ref) { + var user = _ref.user, + className = _ref.className, + checkBox = _ref.checkBox, + _ref$disableMessaging = _ref.disableMessaging, + disableMessaging = _ref$disableMessaging === void 0 ? false : _ref$disableMessaging, + currentUser = _ref.currentUser, + checked = _ref.checked, + _onChange = _ref.onChange, + action = _ref.action; + var injectingClassNames = Array.isArray(className) ? className : [className]; + var uniqueKey = user.userId; + var actionRef = React.useRef(null); + var parentRef = React.useRef(null); + var avatarRef = React.useRef(null); + + var _useContext = useContext(UserProfileContext), + disableUserProfile = _useContext.disableUserProfile, + renderUserProfile = _useContext.renderUserProfile; + + var _useContext2 = useContext(LocalizationContext), + stringSet = _useContext2.stringSet; + + return React.createElement("div", { + ref: parentRef, + className: [COMPONENT_NAME].concat(_toConsumableArray(injectingClassNames)).join(' ') + }, user.isMuted && React.createElement(MutedAvatarOverlay, { + height: 40, + width: 40 + }), React.createElement(ContextMenu, { + menuTrigger: function menuTrigger(toggleDropdown) { + return React.createElement(Avatar, { + onClick: function onClick() { + if (!disableUserProfile) { + toggleDropdown(); + } + }, + ref: avatarRef, + className: "".concat(COMPONENT_NAME, "__avatar"), + src: user.profileUrl, + width: "40px", + height: "40px" + }); + }, + menuItems: function menuItems(closeDropdown) { + return React.createElement(MenuItems, { + openLeft: true, + parentRef: avatarRef // for catching location(x, y) of MenuItems + , + parentContainRef: avatarRef // for toggling more options(menus & reactions) + , + closeDropdown: closeDropdown, + style: { + paddingTop: 0, + paddingBottom: 0 + } + }, renderUserProfile ? renderUserProfile({ + user: user, + currentUserId: currentUser, + close: closeDropdown + }) : React.createElement(UserProfile, { + disableMessaging: disableMessaging, + user: user, + currentUserId: currentUser, + onSuccess: closeDropdown + })); + } + }), React.createElement(Label, { + className: "".concat(COMPONENT_NAME, "__title"), + type: LabelTypography.SUBTITLE_1, + color: LabelColors.ONBACKGROUND_1 + }, user.nickname || stringSet.NO_NAME, currentUser === user.userId && ' (You)'), // if there is now nickname, display userId + !user.nickname && React.createElement(Label, { + className: "".concat(COMPONENT_NAME, "__subtitle"), + type: LabelTypography.CAPTION_3, + color: LabelColors.ONBACKGROUND_2 + }, user.userId), checkBox && // eslint-disable-next-line jsx-a11y/label-has-associated-control + React.createElement("label", { + className: "".concat(COMPONENT_NAME, "__checkbox"), + htmlFor: uniqueKey + }, React.createElement(Checkbox, { + id: uniqueKey, + checked: checked, + onChange: function onChange(event) { + return _onChange(event); + } + })), user.role === 'operator' && React.createElement(Label, { + className: "".concat(COMPONENT_NAME, "__operator"), + type: LabelTypography.SUBTITLE_2, + color: LabelColors.ONBACKGROUND_2 + }, "Operator"), action && React.createElement("div", { + ref: actionRef, + className: "".concat(COMPONENT_NAME, "__action") + }, action({ + actionRef: actionRef, + parentRef: parentRef + }))); +} +UserListItem.propTypes = { + user: PropTypes.shape({ + userId: PropTypes.string, + role: PropTypes.string, + isMuted: PropTypes.bool, + nickname: PropTypes.string, + profileUrl: PropTypes.string + }).isRequired, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + disableMessaging: PropTypes.bool, + currentUser: PropTypes.string, + action: PropTypes.element, + checkBox: PropTypes.bool, + checked: PropTypes.bool, + onChange: PropTypes.func +}; +UserListItem.defaultProps = { + className: '', + currentUser: '', + checkBox: false, + disableMessaging: false, + checked: false, + action: null, + onChange: function onChange() {} +}; + +export { InputLabel as I, MutedAvatarOverlay as M, UserListItem as U, Input as a }; +//# sourceMappingURL=index-49dfd24f.js.map diff --git a/index-49dfd24f.js.map b/index-49dfd24f.js.map new file mode 100644 index 0000000..379f091 --- /dev/null +++ b/index-49dfd24f.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-49dfd24f.js","sources":["../src/ui/Input/index.jsx","../src/ui/Avatar/MutedAvatarOverlay.tsx","../src/ui/Checkbox/index.jsx","../src/ui/UserListItem/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport './index.scss';\n\nexport const InputLabel = ({ children }) => (\n \n {children}\n \n);\n\nInputLabel.propTypes = {\n children: PropTypes.string.isRequired,\n};\n\n// future: add validations? onChange? more props etc etc\nconst Input = React.forwardRef((props, ref) => {\n const {\n value,\n placeHolder,\n disabled,\n name,\n required,\n } = props;\n const [inputValue, setInputValue] = useState(value);\n return (\n
\n {\n setInputValue(e.target.value);\n }}\n />\n {(placeHolder && !inputValue) && (\n \n {placeHolder}\n \n )}\n
\n );\n});\n\nInput.propTypes = {\n value: PropTypes.string,\n placeHolder: PropTypes.string,\n name: PropTypes.string.isRequired,\n disabled: PropTypes.bool,\n required: PropTypes.bool,\n};\n\nInput.defaultProps = {\n value: '',\n placeHolder: '',\n disabled: false,\n required: false,\n};\n\nexport default Input;\n","import './muted-avatar-overlay.scss';\n\nimport React, { ReactElement } from 'react'\nimport Icon, { IconTypes, IconColors } from '../Icon';\n\ninterface Props {\n height?: number;\n width?: number;\n}\n\nexport default function MutedAvatarOverlay(props: Props): ReactElement {\n const { height = 24, width = 24 } = props;\n return (\n \n
\n \n \n
\n \n );\n}\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nexport default function Checkbox({\n id,\n checked,\n onChange,\n}) {\n const [isChecked, setCheck] = useState(checked);\n return (\n \n );\n}\n\nCheckbox.propTypes = {\n id: PropTypes.string,\n checked: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\nCheckbox.defaultProps = {\n id: 'sendbird-checkbox-input',\n checked: false,\n onChange: () => { },\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { UserProfileContext } from '../../lib/UserProfileContext';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Avatar from '../Avatar/index';\nimport MutedAvatarOverlay from '../Avatar/MutedAvatarOverlay';\nimport Checkbox from '../Checkbox';\nimport UserProfile from '../UserProfile';\nimport ContextMenu, { MenuItems } from '../ContextMenu';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nimport './index.scss';\n\nconst COMPONENT_NAME = 'sendbird-user-list-item';\n\nexport default function UserListItem({\n user,\n className,\n checkBox,\n disableMessaging = false,\n currentUser,\n checked,\n onChange,\n action,\n}) {\n const injectingClassNames = Array.isArray(className) ? className : [className];\n const uniqueKey = user.userId;\n const actionRef = React.useRef(null);\n const parentRef = React.useRef(null);\n const avatarRef = React.useRef(null);\n const {\n disableUserProfile,\n renderUserProfile,\n } = useContext(UserProfileContext);\n const { stringSet } = useContext(LocalizationContext);\n return (\n \n {\n user.isMuted && (\n \n )\n }\n (\n {\n if (!disableUserProfile) {\n toggleDropdown();\n }\n }}\n ref={avatarRef}\n className={`${COMPONENT_NAME}__avatar`}\n src={user.profileUrl}\n width=\"40px\"\n height=\"40px\"\n />\n )}\n menuItems={(closeDropdown) => (\n \n {\n renderUserProfile\n ? renderUserProfile({\n user,\n currentUserId: currentUser,\n close: closeDropdown,\n })\n : (\n \n )\n }\n \n )}\n />\n \n {user.nickname || stringSet.NO_NAME}\n {\n (currentUser === user.userId) && (\n ' (You)'\n )\n }\n \n { // if there is now nickname, display userId\n !user.nickname && (\n \n {user.userId}\n \n )\n }\n {\n checkBox && (\n // eslint-disable-next-line jsx-a11y/label-has-associated-control\n \n onChange(event)}\n />\n \n )\n }\n {\n user.role === 'operator' && (\n \n Operator\n \n )\n }\n {\n action && (\n
\n { action({ actionRef, parentRef }) }\n
\n )\n }\n \n );\n}\n\nUserListItem.propTypes = {\n user: PropTypes.shape({\n userId: PropTypes.string,\n role: PropTypes.string,\n isMuted: PropTypes.bool,\n nickname: PropTypes.string,\n profileUrl: PropTypes.string,\n }).isRequired,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n disableMessaging: PropTypes.bool,\n currentUser: PropTypes.string,\n action: PropTypes.element,\n checkBox: PropTypes.bool,\n checked: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\n\nUserListItem.defaultProps = {\n className: '',\n currentUser: '',\n checkBox: false,\n disableMessaging: false,\n checked: false,\n action: null,\n onChange: () => { },\n};\n"],"names":["InputLabel","children","LabelTypography","CAPTION_3","LabelColors","ONBACKGROUND_1","propTypes","PropTypes","string","isRequired","Input","React","forwardRef","props","ref","value","placeHolder","disabled","name","required","useState","inputValue","setInputValue","e","target","BODY_1","ONBACKGROUND_3","bool","defaultProps","MutedAvatarOverlay","_a","height","_b","width","IconTypes","MUTE","IconColors","WHITE","Checkbox","id","checked","onChange","isChecked","setCheck","func","COMPONENT_NAME","UserListItem","user","className","checkBox","disableMessaging","currentUser","action","injectingClassNames","Array","isArray","uniqueKey","userId","actionRef","useRef","parentRef","avatarRef","useContext","UserProfileContext","disableUserProfile","renderUserProfile","LocalizationContext","stringSet","join","isMuted","toggleDropdown","profileUrl","closeDropdown","paddingTop","paddingBottom","currentUserId","close","SUBTITLE_1","nickname","NO_NAME","ONBACKGROUND_2","event","role","SUBTITLE_2","shape","oneOfType","arrayOf","element"],"mappings":"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"} \ No newline at end of file diff --git a/index-5b744991.js b/index-5b744991.js new file mode 100644 index 0000000..7117ecf --- /dev/null +++ b/index-5b744991.js @@ -0,0 +1,434 @@ +import { c as _toConsumableArray, e as LocalizationContext, b as _slicedToArray } from './LocalizationContext-34316336.js'; +import React, { useContext, useRef, useState, useEffect } from 'react'; +import PropTypes from 'prop-types'; +import { c as Label, d as LabelTypography, e as LabelColors, u as Colors, v as changeColorToClassName, f as IconButton, I as Icon, a as IconTypes, b as IconColors, B as Button, T as Type, w as Size, A as Avatar, x as MODAL_ROOT, y as changeColorToClassName$1 } from './index-79d744e1.js'; +import { createPortal } from 'react-dom'; + +// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types +var SUPPORTED_MIMES = { + IMAGE: ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/svg+xml', 'image/webp' // not supported in IE + ], + VIDEO: ['video/mpeg', 'video/ogg', 'video/webm', 'video/mp4'] +}; +var isImage = function isImage(type) { + return SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0; +}; +var isVideo = function isVideo(type) { + return SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0; +}; +var unSupported = function unSupported(type) { + return !(isImage(type) || isVideo(type)); +}; + +var isEmpty = function isEmpty(val) { + return val === null || val === undefined; +}; // Some Ids return string and number inconsistently +// only use to comapre IDs + + +function compareIds (a, b) { + if (isEmpty(a) || isEmpty(b)) { + return false; + } + + var aString = a.toString(); + var bString = b.toString(); + return aString === bString; +} + +function DateSeparator(_ref) { + var className = _ref.className, + children = _ref.children, + separatorColor = _ref.separatorColor; + var injectingClassName = Array.isArray(className) ? className : [className]; + return React.createElement("div", { + className: [].concat(_toConsumableArray(injectingClassName), ['sendbird-separator']).join(' ') + }, React.createElement("div", { + className: ["".concat(changeColorToClassName(separatorColor), "--background-color"), 'sendbird-separator__left'].join(' ') + }), React.createElement("div", { + className: "sendbird-separator__text" + }, children), React.createElement("div", { + className: ["".concat(changeColorToClassName(separatorColor), "--background-color"), 'sendbird-separator__right'].join(' ') + })); +} +DateSeparator.propTypes = { + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + children: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string), PropTypes.element]), + separatorColor: PropTypes.string +}; +DateSeparator.defaultProps = { + className: '', + children: React.createElement(Label, { + type: LabelTypography.CAPTION_2, + color: LabelColors.ONBACKGROUND_2 + }, "Date Separator"), + separatorColor: Colors.ONBACKGROUND_4 +}; + +// import IconAttach from '../../svgs/icon-attach.svg'; + +var LINE_HEIGHT = 76; + +var noop = function noop() {}; + +var KeyCode = { + SHIFT: 16, + ENTER: 13 +}; + +var handleUploadFile = function handleUploadFile(callback) { + return function (event) { + if (event.target.files && event.target.files[0]) { + callback(event.target.files[0]); + } // eslint-disable-next-line no-param-reassign + + + event.target.value = ''; + }; +}; + +var MessageInput = React.forwardRef(function (props, ref) { + var isEdit = props.isEdit, + disabled = props.disabled, + value = props.value, + name = props.name, + placeholder = props.placeholder, + maxLength = props.maxLength, + onFileUpload = props.onFileUpload, + onSendMessage = props.onSendMessage, + onCancelEdit = props.onCancelEdit, + onStartTyping = props.onStartTyping; + + var _useContext = useContext(LocalizationContext), + stringSet = _useContext.stringSet; + + var fileInputRef = useRef(null); + + var _useState = useState(value), + _useState2 = _slicedToArray(_useState, 2), + inputValue = _useState2[0], + setInputValue = _useState2[1]; + + var _useState3 = useState(false), + _useState4 = _slicedToArray(_useState3, 2), + isShiftPressed = _useState4[0], + setIsShiftPressed = _useState4[1]; + + var setHeight = function setHeight() { + try { + var elem = ref.current; + var MAX_HEIGHT = window.document.body.offsetHeight * 0.6; + + if (elem && elem.scrollHeight >= LINE_HEIGHT) { + if (MAX_HEIGHT < elem.scrollHeight) { + elem.style.height = 'auto'; + elem.style.height = "".concat(MAX_HEIGHT, "px"); + } else { + elem.style.height = 'auto'; + elem.style.height = "".concat(elem.scrollHeight, "px"); + } + } else { + elem.style.height = ''; + } + } catch (error) {// error + } + }; // after setHeight called twice, the textarea goes to the initialized + + + useEffect(function () { + setHeight(); + return setHeight; + }, [inputValue]); + + var sendMessage = function sendMessage() { + if (inputValue && inputValue.trim().length > 0) { + var trimmedInputValue = inputValue.trim(); + + if (isEdit) { + onSendMessage(name, trimmedInputValue, function () { + onCancelEdit(); + }); + } else { + onSendMessage(trimmedInputValue); + setInputValue(''); + } + } + }; + + return React.createElement("form", { + className: "\n ".concat(isEdit ? 'sendbird-message-input__edit' : '', "\n ").concat(disabled ? 'sendbird-message-input-form__disabled' : '', "\n ") + }, React.createElement("div", { + className: "\n sendbird-message-input\n ".concat(disabled ? 'sendbird-message-input__disabled' : '', "\n ") + }, React.createElement("textarea", { + disabled: disabled, + ref: ref, + name: name, + value: inputValue, + className: "sendbird-message-input--textarea", + maxLength: maxLength, + onChange: function onChange(e) { + setInputValue(e.target.value); + onStartTyping(); + }, + onKeyDown: function onKeyDown(e) { + if (e.keyCode === KeyCode.SHIFT) { + setIsShiftPressed(true); + } + + if (!isShiftPressed && e.keyCode === KeyCode.ENTER) { + e.preventDefault(); + sendMessage(); + } + }, + onKeyUp: function onKeyUp(e) { + if (e.keyCode === KeyCode.SHIFT) { + setIsShiftPressed(false); + } + } + }), !inputValue && React.createElement(Label, { + type: LabelTypography.BODY_1, + color: LabelColors.ONBACKGROUND_3, + className: "sendbird-message-input--placeholder" + }, placeholder || stringSet.CHANNEL__MESSAGE_INPUT__PLACE_HOLDER), !isEdit && inputValue && inputValue.trim().length > 0 && React.createElement(IconButton, { + className: "sendbird-message-input--send", + height: "32px", + width: "32px", + onClick: sendMessage + }, React.createElement(Icon, { + type: IconTypes.SEND, + fillColor: IconColors.PRIMARY, + width: "20px", + height: "20px" + })), !isEdit && (!inputValue || !(inputValue.trim().length > 0)) && React.createElement(IconButton, { + className: "sendbird-message-input--attach", + height: "32px", + width: "32px", + onClick: function onClick() { + // todo: clear previous input + fileInputRef.current.click(); + } + }, React.createElement(Icon, { + type: IconTypes.ATTACH, + width: "20px", + height: "20px" + }), React.createElement("input", { + type: "file", + ref: fileInputRef, + onChange: handleUploadFile(onFileUpload), + className: "sendbird-message-input--attach-input" + }))), isEdit && React.createElement("div", { + className: "sendbird-message-input--edit-action" + }, React.createElement(Button, { + className: "sendbird-message-input--edit-action__cancel", + type: Type.SECONDARY, + size: Size.SMALL, + onClick: onCancelEdit + }, stringSet.BUTTON__CANCEL), React.createElement(Button, { + className: "sendbird-message-input--edit-action__save", + type: Type.PRIMARY, + size: Size.SMALL, + onClick: function onClick() { + if (inputValue) { + var trimmedInputValue = inputValue.trim(); + onSendMessage(name, trimmedInputValue, function () { + onCancelEdit(); + }); + } + } + }, stringSet.BUTTON__SAVE))); +}); +MessageInput.propTypes = { + placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]), + isEdit: PropTypes.bool, + name: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + value: PropTypes.string, + disabled: PropTypes.bool, + maxLength: PropTypes.number, + onFileUpload: PropTypes.func, + onSendMessage: PropTypes.func, + onStartTyping: PropTypes.func, + onCancelEdit: PropTypes.func +}; +MessageInput.defaultProps = { + value: '', + onSendMessage: noop, + name: 'sendbird-message-input', + isEdit: false, + disabled: false, + placeholder: '', + maxLength: 5000, + onFileUpload: noop, + onCancelEdit: noop, + onStartTyping: noop +}; + +var FileViewerComponent = function FileViewerComponent(_ref) { + var profileUrl = _ref.profileUrl, + nickname = _ref.nickname, + type = _ref.type, + url = _ref.url, + name = _ref.name, + onClose = _ref.onClose, + onDelete = _ref.onDelete, + isByMe = _ref.isByMe; + return React.createElement("div", { + className: "sendbird-fileviewer" + }, React.createElement("div", { + className: "sendbird-fileviewer__header" + }, React.createElement("div", { + className: "sendbird-fileviewer__header-left" + }, React.createElement("div", { + className: "sendbird-fileviewer__header-avatar" + }, React.createElement(Avatar, { + height: "32px", + width: "32px", + src: profileUrl + })), React.createElement(Label, { + className: "sendbird-fileviewer__header-filename", + type: LabelTypography.H_2, + color: LabelColors.ONBACKGROUND_1 + }, name), React.createElement(Label, { + className: "sendbird-fileviewer__header-sendername", + type: LabelTypography.BODY_1, + color: LabelColors.ONBACKGROUND_2 + }, nickname)), React.createElement("div", { + className: "sendbird-fileviewer__header-right" + }, !unSupported(type) && React.createElement("div", { + className: "sendbird-fileviewer__header-actions" + }, React.createElement("a", { + href: url, + rel: "noopener noreferrer", + target: "_blank", + className: "sendbird-fileviewer__header-download" + }, React.createElement(Icon, { + type: IconTypes.DOWNLOAD, + height: "24px", + width: "24px" + })), onDelete && isByMe && React.createElement("div", { + className: "sendbird-fileviewer__header-delete" + }, React.createElement(Icon, { + type: IconTypes.DELETE, + height: "24px", + width: "24px", + onClick: onDelete + }))), React.createElement("div", { + className: "sendbird-fileviewer__header-close" + }, React.createElement(Icon, { + type: IconTypes.CLOSE, + height: "24px", + width: "24px", + onClick: onClose + })))), React.createElement("div", { + className: "sendbird-fileviewer__content" + }, isVideo(type) && // eslint-disable-next-line jsx-a11y/media-has-caption + React.createElement("video", { + controls: true, + className: "sendbird-fileviewer__video" + }, React.createElement("source", { + src: url, + type: type + })), isImage(type) && React.createElement("img", { + src: url, + alt: name, + className: "sendbird-fileviewer__img" + }), unSupported(type) && React.createElement("div", { + className: "sendbird-fileviewer__unsupported" + }, React.createElement(Label, { + type: LabelTypography.H_1, + color: LabelColors.ONBACKGROUND_1 + }, "Unsupoprted message")))); +}; +FileViewerComponent.propTypes = { + profileUrl: PropTypes.string.isRequired, + nickname: PropTypes.string.isRequired, + type: PropTypes.string.isRequired, + url: PropTypes.string.isRequired, + name: PropTypes.string.isRequired, + onClose: PropTypes.func.isRequired, + onDelete: PropTypes.func.isRequired, + isByMe: PropTypes.bool +}; +FileViewerComponent.defaultProps = { + isByMe: true +}; +function FileViewer(props) { + var onClose = props.onClose, + message = props.message, + onDelete = props.onDelete, + isByMe = props.isByMe; + var sender = message.sender, + type = message.type, + url = message.url, + _message$name = message.name, + name = _message$name === void 0 ? '' : _message$name; + var profileUrl = sender.profileUrl, + _sender$nickname = sender.nickname, + nickname = _sender$nickname === void 0 ? '' : _sender$nickname; + return createPortal(React.createElement(FileViewerComponent, { + profileUrl: profileUrl, + nickname: nickname, + type: type, + url: url, + name: name, + onClose: onClose, + onDelete: onDelete, + isByMe: isByMe + }), document.getElementById(MODAL_ROOT)); +} +FileViewer.propTypes = { + onClose: PropTypes.func.isRequired, + message: PropTypes.shape({ + sender: PropTypes.shape({ + profileUrl: PropTypes.string, + nickname: PropTypes.string + }), + type: PropTypes.string, + url: PropTypes.string, + name: PropTypes.string + }).isRequired, + onDelete: PropTypes.func.isRequired, + isByMe: PropTypes.bool +}; +FileViewer.defaultProps = { + isByMe: true +}; + +var LINK_LABEL = 'sendbird-link-label'; +var http = /https?:\/\//; +function LinkLabel(_ref) { + var className = _ref.className, + src = _ref.src, + type = _ref.type, + color = _ref.color, + children = _ref.children; + var injectingClassName = Array.isArray(className) ? className : [className]; + + if (color) { + injectingClassName.push(changeColorToClassName$1(color)); + } + + var url = http.test(src) ? src : "http://".concat(src); + return React.createElement("a", { + className: "".concat(LINK_LABEL, " ").concat(injectingClassName.join(' ')), + href: url, + target: "_blank", + rel: "noopener noreferrer" + }, React.createElement(Label, { + type: type, + color: color, + className: "".concat(LINK_LABEL, "__label") + }, children)); +} +LinkLabel.propTypes = { + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + children: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.arrayOf(PropTypes.string), PropTypes.arrayOf(PropTypes.element)]).isRequired, + src: PropTypes.string.isRequired, + type: PropTypes.oneOf(Object.keys(LabelTypography)).isRequired, + color: PropTypes.oneOf(Object.keys(LabelColors)).isRequired +}; +LinkLabel.defaultProps = { + className: '' +}; + +export { DateSeparator as D, FileViewer as F, LinkLabel as L, MessageInput as M, isVideo as a, compareIds as c, isImage as i, unSupported as u }; +//# sourceMappingURL=index-5b744991.js.map diff --git a/index-5b744991.js.map b/index-5b744991.js.map new file mode 100644 index 0000000..f60edcd --- /dev/null +++ b/index-5b744991.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-5b744991.js","sources":["../src/ui/FileViewer/types.js","../src/utils/compareIds.js","../src/ui/DateSeparator/index.jsx","../src/ui/MessageInput/index.jsx","../src/ui/FileViewer/index.jsx","../src/ui/LinkLabel/index.jsx"],"sourcesContent":["// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types\nconst SUPPORTED_MIMES = {\n IMAGE: [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp', // not supported in IE\n ],\n VIDEO: [\n 'video/mpeg',\n 'video/ogg',\n 'video/webm',\n 'video/mp4',\n ],\n};\n\nexport const isImage = (type) => SUPPORTED_MIMES.IMAGE.indexOf(type) >= 0;\nexport const isVideo = (type) => SUPPORTED_MIMES.VIDEO.indexOf(type) >= 0;\nexport const unSupported = (type) => !(isImage(type) || isVideo(type));\n\nexport default SUPPORTED_MIMES;\n","const isEmpty = (val) => (val === null || val === undefined);\n\n// Some Ids return string and number inconsistently\n// only use to comapre IDs\nexport default function (a, b) {\n if (isEmpty(a) || isEmpty(b)) {\n return false;\n }\n const aString = a.toString();\n const bString = b.toString();\n return aString === bString;\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { changeColorToClassName, Colors } from '../../utils/color';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport default function DateSeparator({\n className,\n children,\n separatorColor,\n}) {\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n \n
\n
{children}
\n
\n
\n );\n}\n\nDateSeparator.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.element,\n ]),\n separatorColor: PropTypes.string,\n};\n\nDateSeparator.defaultProps = {\n className: '',\n children: (\n \n ),\n separatorColor: Colors.ONBACKGROUND_4,\n};\n","import React, {\n useState,\n useRef,\n useEffect,\n useContext,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nimport IconButton from '../IconButton';\nimport Button from '../Button';\nimport { Type, Size } from '../Button/type';\n\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\n// import IconSend from '../../svgs/icon-send.svg';\n// import IconAttach from '../../svgs/icon-attach.svg';\n\nconst LINE_HEIGHT = 76;\nconst noop = () => { };\nconst KeyCode = {\n SHIFT: 16,\n ENTER: 13,\n};\n\nconst handleUploadFile = (callback) => (event) => {\n if (event.target.files && event.target.files[0]) {\n callback(event.target.files[0]);\n }\n // eslint-disable-next-line no-param-reassign\n event.target.value = '';\n};\n\nconst MessageInput = React.forwardRef((props, ref) => {\n const {\n isEdit,\n disabled,\n value,\n name,\n placeholder,\n maxLength,\n onFileUpload,\n onSendMessage,\n onCancelEdit,\n onStartTyping,\n } = props;\n\n const { stringSet } = useContext(LocalizationContext);\n const fileInputRef = useRef(null);\n const [inputValue, setInputValue] = useState(value);\n const [isShiftPressed, setIsShiftPressed] = useState(false);\n\n const setHeight = () => {\n try {\n const elem = ref.current;\n const MAX_HEIGHT = window.document.body.offsetHeight * 0.6;\n if (elem && elem.scrollHeight >= LINE_HEIGHT) {\n if (MAX_HEIGHT < elem.scrollHeight) {\n elem.style.height = 'auto';\n elem.style.height = `${MAX_HEIGHT}px`;\n } else {\n elem.style.height = 'auto';\n elem.style.height = `${elem.scrollHeight}px`;\n }\n } else {\n elem.style.height = '';\n }\n } catch (error) {\n // error\n }\n };\n\n // after setHeight called twice, the textarea goes to the initialized\n useEffect(() => {\n setHeight();\n return setHeight;\n }, [inputValue]);\n\n const sendMessage = () => {\n if (inputValue && inputValue.trim().length > 0) {\n const trimmedInputValue = inputValue.trim();\n if (isEdit) {\n onSendMessage(name, trimmedInputValue, () => {\n onCancelEdit();\n });\n } else {\n onSendMessage(trimmedInputValue);\n setInputValue('');\n }\n }\n };\n\n return (\n \n \n {\n setInputValue(e.target.value);\n onStartTyping();\n }}\n onKeyDown={(e) => {\n if (e.keyCode === KeyCode.SHIFT) {\n setIsShiftPressed(true);\n }\n if (!isShiftPressed && e.keyCode === KeyCode.ENTER) {\n e.preventDefault();\n sendMessage();\n }\n }}\n onKeyUp={(e) => {\n if (e.keyCode === KeyCode.SHIFT) {\n setIsShiftPressed(false);\n }\n }}\n />\n {/* placeholder */}\n {!inputValue && (\n \n {placeholder || stringSet.CHANNEL__MESSAGE_INPUT__PLACE_HOLDER}\n \n )}\n {/* send icon */}\n {\n (!isEdit && inputValue && inputValue.trim().length > 0) && (\n \n \n \n )\n }\n {/* upload icon */}\n {\n (!isEdit && (!inputValue || !(inputValue.trim().length > 0))) && (\n {\n // todo: clear previous input\n fileInputRef.current.click();\n }}\n >\n \n \n \n )\n }\n
\n {/* Edit */}\n {\n isEdit && (\n
\n \n {stringSet.BUTTON__CANCEL}\n \n {\n if (inputValue) {\n const trimmedInputValue = inputValue.trim();\n onSendMessage(name, trimmedInputValue, () => {\n onCancelEdit();\n });\n }\n }}\n >\n {stringSet.BUTTON__SAVE}\n \n
\n )\n }\n \n );\n});\n\nMessageInput.propTypes = {\n placeholder: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n isEdit: PropTypes.bool,\n name: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n value: PropTypes.string,\n disabled: PropTypes.bool,\n maxLength: PropTypes.number,\n onFileUpload: PropTypes.func,\n onSendMessage: PropTypes.func,\n onStartTyping: PropTypes.func,\n onCancelEdit: PropTypes.func,\n};\n\nMessageInput.defaultProps = {\n value: '',\n onSendMessage: noop,\n name: 'sendbird-message-input',\n isEdit: false,\n disabled: false,\n placeholder: '',\n maxLength: 5000,\n onFileUpload: noop,\n onCancelEdit: noop,\n onStartTyping: noop,\n};\n\nexport default MessageInput;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { createPortal } from 'react-dom';\n\nimport './index.scss';\nimport Avatar from '../Avatar/index';\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport Icon, { IconTypes } from '../Icon';\nimport { MODAL_ROOT } from '../../hooks/useModal/ModalRoot';\n\nimport { isImage, isVideo, unSupported } from './types';\n\nexport const FileViewerComponent = ({\n profileUrl,\n nickname,\n type,\n url,\n name,\n onClose,\n onDelete,\n isByMe,\n}) => (\n
\n
\n
\n
\n \n
\n \n {name}\n \n \n {nickname}\n \n
\n
\n {\n !unSupported(type) && (\n
\n \n \n \n {\n onDelete && isByMe && (\n
\n \n
\n )\n }\n
\n )\n }\n
\n \n
\n
\n
\n
\n {isVideo(type) && (\n // eslint-disable-next-line jsx-a11y/media-has-caption\n \n )}\n {\n isImage(type) && (\n \n )\n }\n {\n unSupported(type) && (\n
\n \n
\n )\n }\n
\n
\n);\n\nFileViewerComponent.propTypes = {\n profileUrl: PropTypes.string.isRequired,\n nickname: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n onClose: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n isByMe: PropTypes.bool,\n};\n\nFileViewerComponent.defaultProps = {\n isByMe: true,\n};\n\nexport default function FileViewer(props) {\n const {\n onClose,\n message,\n onDelete,\n isByMe,\n } = props;\n const {\n sender,\n type,\n url,\n name = '',\n } = message;\n const { profileUrl, nickname = '' } = sender;\n return createPortal(\n (\n \n ),\n document.getElementById(MODAL_ROOT),\n );\n}\n\nFileViewer.propTypes = {\n onClose: PropTypes.func.isRequired,\n message: PropTypes.shape({\n sender: PropTypes.shape({\n profileUrl: PropTypes.string,\n nickname: PropTypes.string,\n }),\n type: PropTypes.string,\n url: PropTypes.string,\n name: PropTypes.string,\n }).isRequired,\n onDelete: PropTypes.func.isRequired,\n isByMe: PropTypes.bool,\n};\n\nFileViewer.defaultProps = {\n isByMe: true,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Label, { LabelTypography, LabelColors } from '../Label';\nimport { changeColorToClassName } from '../Label/utils';\nimport './index.scss';\n\nconst LINK_LABEL = 'sendbird-link-label';\nconst http = /https?:\\/\\//;\n\nexport default function LinkLabel({\n className,\n src,\n type,\n color,\n children,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n if (color) {\n injectingClassName.push(changeColorToClassName(color));\n }\n const url = (http.test(src)) ? src : `http://${src}`;\n\n return (\n \n \n \n );\n}\n\nLinkLabel.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 PropTypes.arrayOf(PropTypes.string),\n PropTypes.arrayOf(PropTypes.element),\n ]).isRequired,\n src: PropTypes.string.isRequired,\n type: PropTypes.oneOf(Object.keys(LabelTypography)).isRequired,\n color: PropTypes.oneOf(Object.keys(LabelColors)).isRequired,\n};\n\nLinkLabel.defaultProps = {\n className: '',\n};\n\nexport const LinkLabelTypography = LabelTypography;\nexport const LinkLabelColors = LabelColors;\n"],"names":["SUPPORTED_MIMES","IMAGE","VIDEO","isImage","type","indexOf","isVideo","unSupported","isEmpty","val","undefined","a","b","aString","toString","bString","DateSeparator","className","children","separatorColor","injectingClassName","Array","isArray","join","changeColorToClassName","propTypes","PropTypes","oneOfType","string","arrayOf","element","defaultProps","LabelTypography","CAPTION_2","LabelColors","ONBACKGROUND_2","Colors","ONBACKGROUND_4","LINE_HEIGHT","noop","KeyCode","SHIFT","ENTER","handleUploadFile","callback","event","target","files","value","MessageInput","React","forwardRef","props","ref","isEdit","disabled","name","placeholder","maxLength","onFileUpload","onSendMessage","onCancelEdit","onStartTyping","useContext","LocalizationContext","stringSet","fileInputRef","useRef","useState","inputValue","setInputValue","isShiftPressed","setIsShiftPressed","setHeight","elem","current","MAX_HEIGHT","window","document","body","offsetHeight","scrollHeight","style","height","error","useEffect","sendMessage","trim","length","trimmedInputValue","e","keyCode","preventDefault","BODY_1","ONBACKGROUND_3","CHANNEL__MESSAGE_INPUT__PLACE_HOLDER","IconTypes","SEND","IconColors","PRIMARY","click","ATTACH","Type","SECONDARY","Size","SMALL","BUTTON__CANCEL","BUTTON__SAVE","bool","number","func","FileViewerComponent","profileUrl","nickname","url","onClose","onDelete","isByMe","H_2","ONBACKGROUND_1","DOWNLOAD","DELETE","CLOSE","H_1","isRequired","FileViewer","message","sender","createPortal","getElementById","MODAL_ROOT","shape","LINK_LABEL","http","LinkLabel","src","color","push","test","oneOf","Object","keys"],"mappings":";;;;;;AAAA;AACA,IAAMA,eAAe,GAAG;AACtBC,EAAAA,KAAK,EAAE,CACL,YADK,EAEL,WAFK,EAGL,WAHK,EAIL,WAJK,EAKL,eALK,EAML,YANK;AAAA,GADe;AAStBC,EAAAA,KAAK,EAAE,CACL,YADK,EAEL,WAFK,EAGL,YAHK,EAIL,WAJK;AATe,CAAxB;IAiBaC,OAAO,GAAG,SAAVA,OAAU,CAACC,IAAD;AAAA,SAAUJ,eAAe,CAACC,KAAhB,CAAsBI,OAAtB,CAA8BD,IAA9B,KAAuC,CAAjD;AAAA;IACVE,OAAO,GAAG,SAAVA,OAAU,CAACF,IAAD;AAAA,SAAUJ,eAAe,CAACE,KAAhB,CAAsBG,OAAtB,CAA8BD,IAA9B,KAAuC,CAAjD;AAAA;IACVG,WAAW,GAAG,SAAdA,WAAc,CAACH,IAAD;AAAA,SAAU,EAAED,OAAO,CAACC,IAAD,CAAP,IAAiBE,OAAO,CAACF,IAAD,CAA1B,CAAV;AAAA;;ACpB3B,IAAMI,OAAO,GAAG,SAAVA,OAAU,CAACC,GAAD;AAAA,SAAUA,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAKC,SAAlC;AAAA,CAAhB;AAGA;;;AACA,AAAe,qBAAUC,CAAV,EAAaC,CAAb,EAAgB;AAC7B,MAAIJ,OAAO,CAACG,CAAD,CAAP,IAAcH,OAAO,CAACI,CAAD,CAAzB,EAA8B;AAC5B,WAAO,KAAP;AACD;;AACD,MAAMC,OAAO,GAAGF,CAAC,CAACG,QAAF,EAAhB;AACA,MAAMC,OAAO,GAAGH,CAAC,CAACE,QAAF,EAAhB;AACA,SAAOD,OAAO,KAAKE,OAAnB;AACD;;ACJc,SAASC,aAAT,OAIZ;AAAA,MAHDC,SAGC,QAHDA,SAGC;AAAA,MAFDC,QAEC,QAFDA,QAEC;AAAA,MADDC,cACC,QADDA,cACC;AACD,MAAMC,kBAAkB,GAAIC,KAAK,CAACC,OAAN,CAAcL,SAAd,CAAD,GAA6BA,SAA7B,GAAyC,CAACA,SAAD,CAApE;AACA,SACE;AACE,IAAA,SAAS,EAAE,6BAAIG,kBAAJ,IAAwB,oBAAxB,GAA8CG,IAA9C,CAAmD,GAAnD;AADb,KAGE;AAAK,IAAA,SAAS,EAAE,WAAIC,sBAAsB,CAACL,cAAD,CAA1B,yBAAgE,0BAAhE,EAA4FI,IAA5F,CAAiG,GAAjG;AAAhB,IAHF,EAIE;AAAK,IAAA,SAAS,EAAC;AAAf,KAA2CL,QAA3C,CAJF,EAKE;AAAK,IAAA,SAAS,EAAE,WAAIM,sBAAsB,CAACL,cAAD,CAA1B,yBAAgE,2BAAhE,EAA6FI,IAA7F,CAAkG,GAAlG;AAAhB,IALF,CADF;AASD;AAEDP,aAAa,CAACS,SAAd,GAA0B;AACxBR,EAAAA,SAAS,EAAES,SAAS,CAACC,SAAV,CAAoB,CAC7BD,SAAS,CAACE,MADmB,EAE7BF,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACE,MAA5B,CAF6B,CAApB,CADa;AAKxBV,EAAAA,QAAQ,EAAEQ,SAAS,CAACC,SAAV,CAAoB,CAC5BD,SAAS,CAACE,MADkB,EAE5BF,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACE,MAA5B,CAF4B,EAG5BF,SAAS,CAACI,OAHkB,CAApB,CALc;AAUxBX,EAAAA,cAAc,EAAEO,SAAS,CAACE;AAVF,CAA1B;AAaAZ,aAAa,CAACe,YAAd,GAA6B;AAC3Bd,EAAAA,SAAS,EAAE,EADgB;AAE3BC,EAAAA,QAAQ,EACN,oBAAC,KAAD;AAAO,IAAA,IAAI,EAAEc,eAAe,CAACC,SAA7B;AAAwC,IAAA,KAAK,EAAEC,WAAW,CAACC;AAA3D,sBAHyB;AAO3BhB,EAAAA,cAAc,EAAEiB,MAAM,CAACC;AAPI,CAA7B;;ACnBA;;AAEA,IAAMC,WAAW,GAAG,EAApB;;AACA,IAAMC,IAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB;;AACA,IAAMC,OAAO,GAAG;AACdC,EAAAA,KAAK,EAAE,EADO;AAEdC,EAAAA,KAAK,EAAE;AAFO,CAAhB;;AAKA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,QAAD;AAAA,SAAc,UAACC,KAAD,EAAW;AAChD,QAAIA,KAAK,CAACC,MAAN,CAAaC,KAAb,IAAsBF,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmB,CAAnB,CAA1B,EAAiD;AAC/CH,MAAAA,QAAQ,CAACC,KAAK,CAACC,MAAN,CAAaC,KAAb,CAAmB,CAAnB,CAAD,CAAR;AACD,KAH+C;;;AAKhDF,IAAAA,KAAK,CAACC,MAAN,CAAaE,KAAb,GAAqB,EAArB;AACD,GANwB;AAAA,CAAzB;;AAQA,IAAMC,YAAY,GAAGC,KAAK,CAACC,UAAN,CAAiB,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,MAElDC,MAFkD,GAYhDF,KAZgD,CAElDE,MAFkD;AAAA,MAGlDC,QAHkD,GAYhDH,KAZgD,CAGlDG,QAHkD;AAAA,MAIlDP,KAJkD,GAYhDI,KAZgD,CAIlDJ,KAJkD;AAAA,MAKlDQ,IALkD,GAYhDJ,KAZgD,CAKlDI,IALkD;AAAA,MAMlDC,WANkD,GAYhDL,KAZgD,CAMlDK,WANkD;AAAA,MAOlDC,SAPkD,GAYhDN,KAZgD,CAOlDM,SAPkD;AAAA,MAQlDC,YARkD,GAYhDP,KAZgD,CAQlDO,YARkD;AAAA,MASlDC,aATkD,GAYhDR,KAZgD,CASlDQ,aATkD;AAAA,MAUlDC,YAVkD,GAYhDT,KAZgD,CAUlDS,YAVkD;AAAA,MAWlDC,aAXkD,GAYhDV,KAZgD,CAWlDU,aAXkD;;AAAA,oBAc9BC,UAAU,CAACC,mBAAD,CAdoB;AAAA,MAc5CC,SAd4C,eAc5CA,SAd4C;;AAepD,MAAMC,YAAY,GAAGC,MAAM,CAAC,IAAD,CAA3B;;AAfoD,kBAgBhBC,QAAQ,CAACpB,KAAD,CAhBQ;AAAA;AAAA,MAgB7CqB,UAhB6C;AAAA,MAgBjCC,aAhBiC;;AAAA,mBAiBRF,QAAQ,CAAC,KAAD,CAjBA;AAAA;AAAA,MAiB7CG,cAjB6C;AAAA,MAiB7BC,iBAjB6B;;AAmBpD,MAAMC,SAAS,GAAG,SAAZA,SAAY,GAAM;AACtB,QAAI;AACF,UAAMC,IAAI,GAAGrB,GAAG,CAACsB,OAAjB;AACA,UAAMC,UAAU,GAAGC,MAAM,CAACC,QAAP,CAAgBC,IAAhB,CAAqBC,YAArB,GAAoC,GAAvD;;AACA,UAAIN,IAAI,IAAIA,IAAI,CAACO,YAAL,IAAqB3C,WAAjC,EAA8C;AAC5C,YAAIsC,UAAU,GAAGF,IAAI,CAACO,YAAtB,EAAoC;AAClCP,UAAAA,IAAI,CAACQ,KAAL,CAAWC,MAAX,GAAoB,MAApB;AACAT,UAAAA,IAAI,CAACQ,KAAL,CAAWC,MAAX,aAAuBP,UAAvB;AACD,SAHD,MAGO;AACLF,UAAAA,IAAI,CAACQ,KAAL,CAAWC,MAAX,GAAoB,MAApB;AACAT,UAAAA,IAAI,CAACQ,KAAL,CAAWC,MAAX,aAAuBT,IAAI,CAACO,YAA5B;AACD;AACF,OARD,MAQO;AACLP,QAAAA,IAAI,CAACQ,KAAL,CAAWC,MAAX,GAAoB,EAApB;AACD;AACF,KAdD,CAcE,OAAOC,KAAP,EAAc;AAEf;AACF,GAlBD,CAnBoD;;;AAwCpDC,EAAAA,SAAS,CAAC,YAAM;AACdZ,IAAAA,SAAS;AACT,WAAOA,SAAP;AACD,GAHQ,EAGN,CAACJ,UAAD,CAHM,CAAT;;AAKA,MAAMiB,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,QAAIjB,UAAU,IAAIA,UAAU,CAACkB,IAAX,GAAkBC,MAAlB,GAA2B,CAA7C,EAAgD;AAC9C,UAAMC,iBAAiB,GAAGpB,UAAU,CAACkB,IAAX,EAA1B;;AACA,UAAIjC,MAAJ,EAAY;AACVM,QAAAA,aAAa,CAACJ,IAAD,EAAOiC,iBAAP,EAA0B,YAAM;AAC3C5B,UAAAA,YAAY;AACb,SAFY,CAAb;AAGD,OAJD,MAIO;AACLD,QAAAA,aAAa,CAAC6B,iBAAD,CAAb;AACAnB,QAAAA,aAAa,CAAC,EAAD,CAAb;AACD;AACF;AACF,GAZD;;AAcA,SACE;AACE,IAAA,SAAS,sBACLhB,MAAM,GAAG,8BAAH,GAAoC,EADrC,uBAELC,QAAQ,GAAG,uCAAH,GAA6C,EAFhD;AADX,KAME;AACE,IAAA,SAAS,0DAELA,QAAQ,GAAG,kCAAH,GAAwC,EAF3C;AADX,KAME;AACE,IAAA,QAAQ,EAAEA,QADZ;AAEE,IAAA,GAAG,EAAEF,GAFP;AAGE,IAAA,IAAI,EAAEG,IAHR;AAIE,IAAA,KAAK,EAAEa,UAJT;AAKE,IAAA,SAAS,EAAC,kCALZ;AAME,IAAA,SAAS,EAAEX,SANb;AAOE,IAAA,QAAQ,EAAE,kBAACgC,CAAD,EAAO;AACfpB,MAAAA,aAAa,CAACoB,CAAC,CAAC5C,MAAF,CAASE,KAAV,CAAb;AACAc,MAAAA,aAAa;AACd,KAVH;AAWE,IAAA,SAAS,EAAE,mBAAC4B,CAAD,EAAO;AAChB,UAAIA,CAAC,CAACC,OAAF,KAAcnD,OAAO,CAACC,KAA1B,EAAiC;AAC/B+B,QAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD;;AACD,UAAI,CAACD,cAAD,IAAmBmB,CAAC,CAACC,OAAF,KAAcnD,OAAO,CAACE,KAA7C,EAAoD;AAClDgD,QAAAA,CAAC,CAACE,cAAF;AACAN,QAAAA,WAAW;AACZ;AACF,KAnBH;AAoBE,IAAA,OAAO,EAAE,iBAACI,CAAD,EAAO;AACd,UAAIA,CAAC,CAACC,OAAF,KAAcnD,OAAO,CAACC,KAA1B,EAAiC;AAC/B+B,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD;AACF;AAxBH,IANF,EAiCG,CAACH,UAAD,IACC,oBAAC,KAAD;AACE,IAAA,IAAI,EAAErC,eAAe,CAAC6D,MADxB;AAEE,IAAA,KAAK,EAAE3D,WAAW,CAAC4D,cAFrB;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGrC,WAAW,IAAIQ,SAAS,CAAC8B,oCAL5B,CAlCJ,EA4CK,CAACzC,MAAD,IAAWe,UAAX,IAAyBA,UAAU,CAACkB,IAAX,GAAkBC,MAAlB,GAA2B,CAArD,IACE,oBAAC,UAAD;AACE,IAAA,SAAS,EAAC,8BADZ;AAEE,IAAA,MAAM,EAAC,MAFT;AAGE,IAAA,KAAK,EAAC,MAHR;AAIE,IAAA,OAAO,EAAEF;AAJX,KAME,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAEU,SAAS,CAACC,IAAtB;AAA4B,IAAA,SAAS,EAAEC,UAAU,CAACC,OAAlD;AAA2D,IAAA,KAAK,EAAC,MAAjE;AAAwE,IAAA,MAAM,EAAC;AAA/E,IANF,CA7CN,EAyDK,CAAC7C,MAAD,KAAY,CAACe,UAAD,IAAe,EAAEA,UAAU,CAACkB,IAAX,GAAkBC,MAAlB,GAA2B,CAA7B,CAA3B,CAAD,IACE,oBAAC,UAAD;AACE,IAAA,SAAS,EAAC,gCADZ;AAEE,IAAA,MAAM,EAAC,MAFT;AAGE,IAAA,KAAK,EAAC,MAHR;AAIE,IAAA,OAAO,EAAE,mBAAM;AACb;AACAtB,MAAAA,YAAY,CAACS,OAAb,CAAqByB,KAArB;AACD;AAPH,KASE,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAEJ,SAAS,CAACK,MAAtB;AAA8B,IAAA,KAAK,EAAC,MAApC;AAA2C,IAAA,MAAM,EAAC;AAAlD,IATF,EAUE;AACE,IAAA,IAAI,EAAC,MADP;AAEE,IAAA,GAAG,EAAEnC,YAFP;AAGE,IAAA,QAAQ,EAAEvB,gBAAgB,CAACgB,YAAD,CAH5B;AAIE,IAAA,SAAS,EAAC;AAJZ,IAVF,CA1DN,CANF,EAsFIL,MAAM,IACJ;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,MAAD;AACE,IAAA,SAAS,EAAC,6CADZ;AAEE,IAAA,IAAI,EAAEgD,IAAI,CAACC,SAFb;AAGE,IAAA,IAAI,EAAEC,IAAI,CAACC,KAHb;AAIE,IAAA,OAAO,EAAE5C;AAJX,KAMGI,SAAS,CAACyC,cANb,CADF,EASE,oBAAC,MAAD;AACE,IAAA,SAAS,EAAC,2CADZ;AAEE,IAAA,IAAI,EAAEJ,IAAI,CAACH,OAFb;AAGE,IAAA,IAAI,EAAEK,IAAI,CAACC,KAHb;AAIE,IAAA,OAAO,EAAE,mBAAM;AACb,UAAIpC,UAAJ,EAAgB;AACd,YAAMoB,iBAAiB,GAAGpB,UAAU,CAACkB,IAAX,EAA1B;AACA3B,QAAAA,aAAa,CAACJ,IAAD,EAAOiC,iBAAP,EAA0B,YAAM;AAC3C5B,UAAAA,YAAY;AACb,SAFY,CAAb;AAGD;AACF;AAXH,KAaGI,SAAS,CAAC0C,YAbb,CATF,CAvFN,CADF;AAqHD,CAhLoB,CAArB;AAkLA1D,YAAY,CAACxB,SAAb,GAAyB;AACvBgC,EAAAA,WAAW,EAAE/B,SAAS,CAACC,SAAV,CAAoB,CAC/BD,SAAS,CAACE,MADqB,EAE/BF,SAAS,CAACkF,IAFqB,CAApB,CADU;AAKvBtD,EAAAA,MAAM,EAAE5B,SAAS,CAACkF,IALK;AAMvBpD,EAAAA,IAAI,EAAE9B,SAAS,CAACC,SAAV,CAAoB,CACxBD,SAAS,CAACE,MADc,EAExBF,SAAS,CAACmF,MAFc,CAApB,CANiB;AAUvB7D,EAAAA,KAAK,EAAEtB,SAAS,CAACE,MAVM;AAWvB2B,EAAAA,QAAQ,EAAE7B,SAAS,CAACkF,IAXG;AAYvBlD,EAAAA,SAAS,EAAEhC,SAAS,CAACmF,MAZE;AAavBlD,EAAAA,YAAY,EAAEjC,SAAS,CAACoF,IAbD;AAcvBlD,EAAAA,aAAa,EAAElC,SAAS,CAACoF,IAdF;AAevBhD,EAAAA,aAAa,EAAEpC,SAAS,CAACoF,IAfF;AAgBvBjD,EAAAA,YAAY,EAAEnC,SAAS,CAACoF;AAhBD,CAAzB;AAmBA7D,YAAY,CAAClB,YAAb,GAA4B;AAC1BiB,EAAAA,KAAK,EAAE,EADmB;AAE1BY,EAAAA,aAAa,EAAErB,IAFW;AAG1BiB,EAAAA,IAAI,EAAE,wBAHoB;AAI1BF,EAAAA,MAAM,EAAE,KAJkB;AAK1BC,EAAAA,QAAQ,EAAE,KALgB;AAM1BE,EAAAA,WAAW,EAAE,EANa;AAO1BC,EAAAA,SAAS,EAAE,IAPe;AAQ1BC,EAAAA,YAAY,EAAEpB,IARY;AAS1BsB,EAAAA,YAAY,EAAEtB,IATY;AAU1BuB,EAAAA,aAAa,EAAEvB;AAVW,CAA5B;;AC5NO,IAAMwE,mBAAmB,GAAG,SAAtBA,mBAAsB;AAAA,MACjCC,UADiC,QACjCA,UADiC;AAAA,MAEjCC,QAFiC,QAEjCA,QAFiC;AAAA,MAGjC7G,IAHiC,QAGjCA,IAHiC;AAAA,MAIjC8G,GAJiC,QAIjCA,GAJiC;AAAA,MAKjC1D,IALiC,QAKjCA,IALiC;AAAA,MAMjC2D,OANiC,QAMjCA,OANiC;AAAA,MAOjCC,QAPiC,QAOjCA,QAPiC;AAAA,MAQjCC,MARiC,QAQjCA,MARiC;AAAA,SAUjC;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,MAAD;AAAQ,IAAA,MAAM,EAAC,MAAf;AAAsB,IAAA,KAAK,EAAC,MAA5B;AAAmC,IAAA,GAAG,EAAEL;AAAxC,IADF,CADF,EAIE,oBAAC,KAAD;AACE,IAAA,SAAS,EAAC,sCADZ;AAEE,IAAA,IAAI,EAAEhF,eAAe,CAACsF,GAFxB;AAGE,IAAA,KAAK,EAAEpF,WAAW,CAACqF;AAHrB,KAKG/D,IALH,CAJF,EAWE,oBAAC,KAAD;AACE,IAAA,SAAS,EAAC,wCADZ;AAEE,IAAA,IAAI,EAAExB,eAAe,CAAC6D,MAFxB;AAGE,IAAA,KAAK,EAAE3D,WAAW,CAACC;AAHrB,KAKG8E,QALH,CAXF,CADF,EAoBE;AAAK,IAAA,SAAS,EAAC;AAAf,KAEI,CAAC1G,WAAW,CAACH,IAAD,CAAZ,IACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AACE,IAAA,IAAI,EAAE8G,GADR;AAEE,IAAA,GAAG,EAAC,qBAFN;AAGE,IAAA,MAAM,EAAC,QAHT;AAIE,IAAA,SAAS,EAAC;AAJZ,KAME,oBAAC,IAAD;AACE,IAAA,IAAI,EAAElB,SAAS,CAACwB,QADlB;AAEE,IAAA,MAAM,EAAC,MAFT;AAGE,IAAA,KAAK,EAAC;AAHR,IANF,CADF,EAcIJ,QAAQ,IAAIC,MAAZ,IACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,IAAD;AACE,IAAA,IAAI,EAAErB,SAAS,CAACyB,MADlB;AAEE,IAAA,MAAM,EAAC,MAFT;AAGE,IAAA,KAAK,EAAC,MAHR;AAIE,IAAA,OAAO,EAAEL;AAJX,IADF,CAfN,CAHN,EA+BE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEpB,SAAS,CAAC0B,KADlB;AAEE,IAAA,MAAM,EAAC,MAFT;AAGE,IAAA,KAAK,EAAC,MAHR;AAIE,IAAA,OAAO,EAAEP;AAJX,IADF,CA/BF,CApBF,CADF,EA8DE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG7G,OAAO,CAACF,IAAD,CAAP;AAEC;AAAO,IAAA,QAAQ,MAAf;AAAgB,IAAA,SAAS,EAAC;AAA1B,KACE;AAAQ,IAAA,GAAG,EAAE8G,GAAb;AAAkB,IAAA,IAAI,EAAE9G;AAAxB,IADF,CAHJ,EAQID,OAAO,CAACC,IAAD,CAAP,IACE;AACE,IAAA,GAAG,EAAE8G,GADP;AAEE,IAAA,GAAG,EAAE1D,IAFP;AAGE,IAAA,SAAS,EAAC;AAHZ,IATN,EAiBIjD,WAAW,CAACH,IAAD,CAAX,IACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE,oBAAC,KAAD;AAAO,IAAA,IAAI,EAAE4B,eAAe,CAAC2F,GAA7B;AAAkC,IAAA,KAAK,EAAEzF,WAAW,CAACqF;AAArD,2BADF,CAlBN,CA9DF,CAViC;AAAA,CAA5B;AAqGPR,mBAAmB,CAACtF,SAApB,GAAgC;AAC9BuF,EAAAA,UAAU,EAAEtF,SAAS,CAACE,MAAV,CAAiBgG,UADC;AAE9BX,EAAAA,QAAQ,EAAEvF,SAAS,CAACE,MAAV,CAAiBgG,UAFG;AAG9BxH,EAAAA,IAAI,EAAEsB,SAAS,CAACE,MAAV,CAAiBgG,UAHO;AAI9BV,EAAAA,GAAG,EAAExF,SAAS,CAACE,MAAV,CAAiBgG,UAJQ;AAK9BpE,EAAAA,IAAI,EAAE9B,SAAS,CAACE,MAAV,CAAiBgG,UALO;AAM9BT,EAAAA,OAAO,EAAEzF,SAAS,CAACoF,IAAV,CAAec,UANM;AAO9BR,EAAAA,QAAQ,EAAE1F,SAAS,CAACoF,IAAV,CAAec,UAPK;AAQ9BP,EAAAA,MAAM,EAAE3F,SAAS,CAACkF;AARY,CAAhC;AAWAG,mBAAmB,CAAChF,YAApB,GAAmC;AACjCsF,EAAAA,MAAM,EAAE;AADyB,CAAnC;AAIA,AAAe,SAASQ,UAAT,CAAoBzE,KAApB,EAA2B;AAAA,MAEtC+D,OAFsC,GAMpC/D,KANoC,CAEtC+D,OAFsC;AAAA,MAGtCW,OAHsC,GAMpC1E,KANoC,CAGtC0E,OAHsC;AAAA,MAItCV,QAJsC,GAMpChE,KANoC,CAItCgE,QAJsC;AAAA,MAKtCC,MALsC,GAMpCjE,KANoC,CAKtCiE,MALsC;AAAA,MAQtCU,MARsC,GAYpCD,OAZoC,CAQtCC,MARsC;AAAA,MAStC3H,IATsC,GAYpC0H,OAZoC,CAStC1H,IATsC;AAAA,MAUtC8G,GAVsC,GAYpCY,OAZoC,CAUtCZ,GAVsC;AAAA,sBAYpCY,OAZoC,CAWtCtE,IAXsC;AAAA,MAWtCA,IAXsC,8BAW/B,EAX+B;AAAA,MAahCwD,UAbgC,GAaFe,MAbE,CAahCf,UAbgC;AAAA,yBAaFe,MAbE,CAapBd,QAboB;AAAA,MAapBA,QAboB,iCAaT,EAbS;AAcxC,SAAOe,YAAY,CAEf,oBAAC,mBAAD;AACE,IAAA,UAAU,EAAEhB,UADd;AAEE,IAAA,QAAQ,EAAEC,QAFZ;AAGE,IAAA,IAAI,EAAE7G,IAHR;AAIE,IAAA,GAAG,EAAE8G,GAJP;AAKE,IAAA,IAAI,EAAE1D,IALR;AAME,IAAA,OAAO,EAAE2D,OANX;AAOE,IAAA,QAAQ,EAAEC,QAPZ;AAQE,IAAA,MAAM,EAAEC;AARV,IAFe,EAajBvC,QAAQ,CAACmD,cAAT,CAAwBC,UAAxB,CAbiB,CAAnB;AAeD;AAEDL,UAAU,CAACpG,SAAX,GAAuB;AACrB0F,EAAAA,OAAO,EAAEzF,SAAS,CAACoF,IAAV,CAAec,UADH;AAErBE,EAAAA,OAAO,EAAEpG,SAAS,CAACyG,KAAV,CAAgB;AACvBJ,IAAAA,MAAM,EAAErG,SAAS,CAACyG,KAAV,CAAgB;AACtBnB,MAAAA,UAAU,EAAEtF,SAAS,CAACE,MADA;AAEtBqF,MAAAA,QAAQ,EAAEvF,SAAS,CAACE;AAFE,KAAhB,CADe;AAKvBxB,IAAAA,IAAI,EAAEsB,SAAS,CAACE,MALO;AAMvBsF,IAAAA,GAAG,EAAExF,SAAS,CAACE,MANQ;AAOvB4B,IAAAA,IAAI,EAAE9B,SAAS,CAACE;AAPO,GAAhB,EAQNgG,UAVkB;AAWrBR,EAAAA,QAAQ,EAAE1F,SAAS,CAACoF,IAAV,CAAec,UAXJ;AAYrBP,EAAAA,MAAM,EAAE3F,SAAS,CAACkF;AAZG,CAAvB;AAeAiB,UAAU,CAAC9F,YAAX,GAA0B;AACxBsF,EAAAA,MAAM,EAAE;AADgB,CAA1B;;ACvKA,IAAMe,UAAU,GAAG,qBAAnB;AACA,IAAMC,IAAI,GAAG,aAAb;AAEA,AAAe,SAASC,SAAT,OAMZ;AAAA,MALDrH,SAKC,QALDA,SAKC;AAAA,MAJDsH,GAIC,QAJDA,GAIC;AAAA,MAHDnI,IAGC,QAHDA,IAGC;AAAA,MAFDoI,KAEC,QAFDA,KAEC;AAAA,MADDtH,QACC,QADDA,QACC;AACD,MAAME,kBAAkB,GAAGC,KAAK,CAACC,OAAN,CAAcL,SAAd,IAA2BA,SAA3B,GAAuC,CAACA,SAAD,CAAlE;;AACA,MAAIuH,KAAJ,EAAW;AACTpH,IAAAA,kBAAkB,CAACqH,IAAnB,CAAwBjH,wBAAsB,CAACgH,KAAD,CAA9C;AACD;;AACD,MAAMtB,GAAG,GAAImB,IAAI,CAACK,IAAL,CAAUH,GAAV,CAAD,GAAmBA,GAAnB,oBAAmCA,GAAnC,CAAZ;AAEA,SACE;AACE,IAAA,SAAS,YAAKH,UAAL,cAAmBhH,kBAAkB,CAACG,IAAnB,CAAwB,GAAxB,CAAnB,CADX;AAEE,IAAA,IAAI,EAAE2F,GAFR;AAGE,IAAA,MAAM,EAAC,QAHT;AAIE,IAAA,GAAG,EAAC;AAJN,KAME,oBAAC,KAAD;AAAO,IAAA,IAAI,EAAE9G,IAAb;AAAmB,IAAA,KAAK,EAAEoI,KAA1B;AAAiC,IAAA,SAAS,YAAKJ,UAAL;AAA1C,KACGlH,QADH,CANF,CADF;AAYD;AAEDoH,SAAS,CAAC7G,SAAV,GAAsB;AACpBR,EAAAA,SAAS,EAAES,SAAS,CAACC,SAAV,CAAoB,CAC7BD,SAAS,CAACE,MADmB,EAE7BF,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACE,MAA5B,CAF6B,CAApB,CADS;AAKpBV,EAAAA,QAAQ,EAAEQ,SAAS,CAACC,SAAV,CAAoB,CAC5BD,SAAS,CAACE,MADkB,EAE5BF,SAAS,CAACI,OAFkB,EAG5BJ,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACE,MAA5B,CAH4B,EAI5BF,SAAS,CAACG,OAAV,CAAkBH,SAAS,CAACI,OAA5B,CAJ4B,CAApB,EAKP8F,UAViB;AAWpBW,EAAAA,GAAG,EAAE7G,SAAS,CAACE,MAAV,CAAiBgG,UAXF;AAYpBxH,EAAAA,IAAI,EAAEsB,SAAS,CAACiH,KAAV,CAAgBC,MAAM,CAACC,IAAP,CAAY7G,eAAZ,CAAhB,EAA8C4F,UAZhC;AAapBY,EAAAA,KAAK,EAAE9G,SAAS,CAACiH,KAAV,CAAgBC,MAAM,CAACC,IAAP,CAAY3G,WAAZ,CAAhB,EAA0C0F;AAb7B,CAAtB;AAgBAU,SAAS,CAACvG,YAAV,GAAyB;AACvBd,EAAAA,SAAS,EAAE;AADY,CAAzB;;;;"} \ No newline at end of file diff --git a/index-79d744e1.js b/index-79d744e1.js new file mode 100644 index 0000000..715417c --- /dev/null +++ b/index-79d744e1.js @@ -0,0 +1,3437 @@ +import { b as _slicedToArray, c as _toConsumableArray, d as __spreadArrays, u as uuidv4, g as getStringSet, a as _objectSpread2, e as LocalizationContext, w as withSendbirdContext, f as _inherits, h as _createClass, i as _classCallCheck, j as _possibleConstructorReturn, k as _getPrototypeOf, l as _defineProperty, m as _assertThisInitialized } from './LocalizationContext-34316336.js'; +import React, { useState, useEffect, useContext, Component } from 'react'; +import PropTypes from 'prop-types'; +import { createPortal } from 'react-dom'; + +var UserProfileContext = React.createContext({ + disableUserProfile: true, + isOpenChannel: false, + renderUserProfile: null +}); + +var UserProfileProvider = function UserProfileProvider(props) { + var children = props.children, + className = props.className; + return React.createElement(UserProfileContext.Provider, { + value: props + }, React.createElement("div", { + className: className + }, children)); +}; + +UserProfileProvider.propTypes = { + children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element), PropTypes.any]).isRequired, + // eslint-disable-next-line react/no-unused-prop-types + isOpenChannel: PropTypes.bool, + // eslint-disable-next-line react/no-unused-prop-types + disableUserProfile: PropTypes.bool, + // eslint-disable-next-line react/no-unused-prop-types + renderUserProfile: PropTypes.func, + className: PropTypes.string +}; +UserProfileProvider.defaultProps = { + className: null, + isOpenChannel: false, + disableUserProfile: false, + renderUserProfile: null +}; + +/* + ImageRenderer displays image with url or source + it checks if the source exist with img tag first + if it exists onLoad is called, if not onError is called + and those properties switch img tag to real purposing element +*/ + +function ImageRenderer(_ref) { + var alt = _ref.alt, + url = _ref.url, + width = _ref.width, + height = _ref.height, + className = _ref.className, + defaultComponent = _ref.defaultComponent, + circle = _ref.circle; + var injectingClassName = Array.isArray(className) ? className : [className]; + injectingClassName.unshift('sendbird-image-renderer'); + + var _useState = useState(null), + _useState2 = _slicedToArray(_useState, 2), + realElement = _useState2[0], + setRealElement = _useState2[1]; + + useEffect(function () { + setRealElement(null); + }, [url]); + return realElement || React.createElement("img", { + className: "sendbird-image-renderer--hidden-placeholder ".concat(injectingClassName.join(' ')), + src: url, + alt: alt, + onError: function onError() { + setRealElement(typeof defaultComponent === 'function' ? defaultComponent() : defaultComponent); + }, + onLoad: function onLoad() { + setRealElement(React.createElement("div", { + className: injectingClassName.join(' '), + style: { + width: width, + height: height, + backgroundRepeat: 'no-repeat', + backgroundPosition: 'center', + backgroundSize: 'cover', + backgroundImage: "url(".concat(url, ")"), + borderRadius: circle ? '50%' : null + } + })); + } + }); +} +ImageRenderer.propTypes = { + alt: PropTypes.string, + url: PropTypes.string.isRequired, + width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + className: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.string]), + defaultComponent: PropTypes.oneOfType([PropTypes.element, PropTypes.func]), + circle: PropTypes.bool +}; +ImageRenderer.defaultProps = { + alt: '', + className: '', + circle: false, + defaultComponent: null, + width: null, + height: null +}; + +var Type = { + ADD: 'ADD', + ARROW_LEFT: 'ARROW_LEFT', + ATTACH: 'ATTACH', + BAN: 'BAN', + BROADCAST: 'BROADCAST', + CAMERA: 'CAMERA', + CHANNELS: 'CHANNELS', + CHAT: 'CHAT', + CHAT_FILLED: 'CHAT_FILLED', + CHEVRON_DOWN: 'CHEVRON_DOWN', + CHEVRON_RIGHT: 'CHEVRON_RIGHT', + CLOSE: 'CLOSE', + COLLAPSE: 'COLLAPSE', + COPY: 'COPY', + CREATE: 'CREATE', + DELETE: 'DELETE', + DISCONNECTED: 'DISCONNECTED', + DOCUMENT: 'DOCUMENT', + DONE: 'DONE', + DONE_ALL: 'DONE_ALL', + DOWNLOAD: 'DOWNLOAD', + EDIT: 'EDIT', + EMOJI_MORE: 'EMOJI_MORE', + ERROR: 'ERROR', + EXPAND: 'EXPAND', + FILE_AUDIO: 'FILE_AUDIO', + FILE_DOCUMENT: 'FILE_DOCUMENT', + FREEZE: 'FREEZE', + GIF: 'GIF', + INFO: 'INFO', + LEAVE: 'LEAVE', + MEMBERS: 'MEMBERS', + MESSAGE: 'MESSAGE', + MODERATIONS: 'MODERATIONS', + MORE: 'MORE', + MUTE: 'MUTE', + NOTIFICATIONS: 'NOTIFICATIONS', + NOTIFICATIONS_OFF_FILLED: 'NOTIFICATIONS_OFF_FILLED', + OPERATOR: 'OPERATOR', + PHOTO: 'PHOTO', + PLAY: 'PLAY', + PLUS: 'PLUS', + QUESTION: 'QUESTION', + REFRESH: 'REFRESH', + REMOVE: 'REMOVE', + SEARCH: 'SEARCH', + SEND: 'SEND', + SETTINGS_FILLED: 'SETTINGS_FILLED', + SPINNER: 'SPINNER', + SUPERGROUP: 'SUPERGROUP', + THUMBNAIL_NONE: 'THUMBNAIL_NONE', + TOGGLE_OFF: 'TOGGLE_OFF', + TOGGLE_ON: 'TOGGLE_ON', + USER: 'USER' +}; + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +var _ref = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-add_svg__fill", + d: "M50.667 5.333a8 8 0 018 8v37.334a8 8 0 01-8 8H13.333a8 8 0 01-8-8V13.333a8 8 0 018-8zm0 5.334H13.333a2.667 2.667 0 00-2.666 2.666v37.334a2.667 2.667 0 002.666 2.666h37.334a2.667 2.667 0 002.666-2.666V13.333a2.667 2.667 0 00-2.666-2.666zm-18.667 8a2.667 2.667 0 012.649 2.355l.018.311v8h8a2.667 2.667 0 01.311 5.316l-.311.018h-8v8a2.667 2.667 0 01-5.316.311l-.018-.311v-8h-8a2.667 2.667 0 01-.311-5.316l.311-.018h8v-8A2.667 2.667 0 0132 18.667z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconAdd(props) { + return React.createElement("svg", _extends({ + viewBox: "0 0 64 64" + }, props), _ref); +} + +function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); } + +var _ref$1 = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-arrow-left_svg__fill", + d: "M33.886 8.781a2.668 2.668 0 01.221 3.52l-.221.251-16.78 16.781H56a2.667 2.667 0 01.311 5.316l-.311.018-38.895-.001 16.78 16.782a2.666 2.666 0 01.222 3.52l-.221.251a2.668 2.668 0 01-3.52.222l-.252-.222L8.781 33.886a2.668 2.668 0 01-.222-3.52l.222-.252L30.114 8.781a2.668 2.668 0 013.772 0z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconArrowLeft(props) { + return React.createElement("svg", _extends$1({ + viewBox: "0 0 64 64" + }, props), _ref$1); +} + +function _extends$2() { _extends$2 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2.apply(this, arguments); } + +var _ref$2 = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-attach_svg__fill", + d: "M55.334 28.926l-24.506 23.34c-5.222 4.973-13.74 4.973-18.962 0-5.149-4.903-5.149-12.797 0-17.7l24.506-23.34c3.138-2.988 8.278-2.988 11.416 0 3.064 2.919 3.064 7.594 0 10.513L23.255 45.077c-1.055 1.005-2.815 1.005-3.87.001-.98-.933-.98-2.39 0-3.325l22.64-21.535a2.667 2.667 0 00-3.676-3.864L15.709 37.89a7.578 7.578 0 00-.001 11.05c3.113 2.966 8.11 2.966 11.224 0l24.533-23.338c5.272-5.021 5.272-13.217 0-18.238-5.197-4.95-13.573-4.95-18.77 0L8.187 30.704c-7.356 7.005-7.356 18.419 0 25.424 7.281 6.935 19.036 6.935 26.318 0l24.506-23.34a2.666 2.666 0 10-3.678-3.862z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconAttach(props) { + return React.createElement("svg", _extends$2({ + viewBox: "0 0 64 64" + }, props), _ref$2); +} + +function _extends$3() { _extends$3 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$3.apply(this, arguments); } + +var _ref$3 = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-ban_svg__fill", + d: "M32 2.667C48.2 2.667 61.333 15.8 61.333 32S48.2 61.333 32 61.333 2.667 48.2 2.667 32 15.8 2.667 32 2.667zM32 8C18.745 8 8 18.745 8 32s10.745 24 24 24 24-10.745 24-24S45.255 8 32 8zm12.333 21.333a1 1 0 011 1v3.334a1 1 0 01-1 1H19.667a1 1 0 01-1-1v-3.334a1 1 0 011-1h24.666z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconBan(props) { + return React.createElement("svg", _extends$3({ + viewBox: "0 0 64 64" + }, props), _ref$3); +} + +function _extends$4() { _extends$4 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$4.apply(this, arguments); } + +var _ref$4 = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-broadcast_svg__fill", + d: "M58.545 5.498c.08.258.122.526.122.796v46.079a2.666 2.666 0 01-3.462 2.546l-17.951-5.61c-.645 5.273-5.14 9.358-10.587 9.358C20.776 58.667 16 53.89 16 48v-5.334h-5.333a8 8 0 01-7.997-7.75l-.003-.25V24a8 8 0 018-8H16L55.205 3.749a2.665 2.665 0 013.34 1.75zM21.333 44.587V48a5.333 5.333 0 0010.652.398L32 47.92l-10.667-3.333zm32-34.667l-32 9.997v18.83l32 9.997V9.92zM16 21.333h-5.333a2.67 2.67 0 00-2.65 2.356L8 24v10.667a2.667 2.667 0 002.667 2.666H16v-16z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconBroadcast(props) { + return React.createElement("svg", _extends$4({ + viewBox: "0 0 64 64" + }, props), _ref$4); +} + +function _extends$5() { _extends$5 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$5.apply(this, arguments); } + +var _ref$5 = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-camera_svg__fill", + d: "M40 5.333c.892 0 1.724.446 2.219 1.188l4.541 6.812H56a8 8 0 017.986 7.53l.014.47v29.334a8 8 0 01-8 8H8a8 8 0 01-8-8V21.333a8 8 0 018-8h9.237l4.544-6.812a2.665 2.665 0 011.888-1.167l.331-.02zm-1.43 5.334H25.428l-4.542 6.812a2.66 2.66 0 01-1.887 1.167l-.331.02H8a2.668 2.668 0 00-2.667 2.667v29.334A2.667 2.667 0 008 53.333h48a2.667 2.667 0 002.667-2.666V21.333A2.667 2.667 0 0056 18.667H45.333a2.665 2.665 0 01-2.218-1.188l-4.544-6.812zM32 21.333c7.364 0 13.333 5.97 13.333 13.334C45.333 42.03 39.363 48 32 48c-7.364 0-13.333-5.97-13.333-13.333 0-7.364 5.97-13.334 13.333-13.334zm0 5.334a8 8 0 100 16 8 8 0 000-16z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconCamera(props) { + return React.createElement("svg", _extends$5({ + viewBox: "0 0 64 64" + }, props), _ref$5); +} + +function _extends$6() { _extends$6 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$6.apply(this, arguments); } + +var _ref$6 = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-channels_svg__fill", + d: "M42.65 5.333l.311.017a2.666 2.666 0 012.373 2.633l-.017.311-1.45 13.04h9.466a2.667 2.667 0 01.311 5.315l-.31.018H43.271l-1.184 10.666h11.245a2.667 2.667 0 01.312 5.316l-.31.018H41.495l-1.512 13.627a2.667 2.667 0 01-5.318-.277l.017-.311 1.448-13.04H25.496l-1.512 13.628a2.667 2.667 0 01-5.318-.277l.017-.311 1.448-13.04h-9.464a2.667 2.667 0 01-.311-5.315l.31-.018h10.057l1.186-10.667H10.667a2.667 2.667 0 01-.311-5.315l.31-.018h11.835l1.515-13.627a2.668 2.668 0 012.634-2.373l.311.017a2.666 2.666 0 012.373 2.633l-.017.311-1.45 13.04H38.5l1.515-13.628a2.668 2.668 0 012.634-2.373zm-5.927 32l1.186-10.667H27.272l-1.184 10.667h10.635z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconChannels(props) { + return React.createElement("svg", _extends$6({ + viewBox: "0 0 64 64" + }, props), _ref$6); +} + +function _extends$7() { _extends$7 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$7.apply(this, arguments); } + +var _ref$7 = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-chat_svg__fill", + d: "M32 2.667C48.2 2.667 61.333 15.8 61.333 32S48.2 61.333 32 61.333c-4.455 0-8.679-.993-12.461-2.77l-1.753.58c-5.965 1.912-10.133 2.572-12.504 1.981-2.799-.698-3.351-1.919-1.657-3.663 1.171-1.396 2.147-3.14 2.928-5.234.622-1.668.377-4.001-.737-7A29.15 29.15 0 012.666 32C2.667 15.8 15.8 2.667 32 2.667zM32 8C18.745 8 8 18.745 8 32c0 3.5.747 6.88 2.168 9.978l.405.837.137.271.106.285c1.517 4.085 1.89 7.622.734 10.72l-.382.972-.192.433.235-.05a62.067 62.067 0 004.886-1.363l1.721-.568 2.04-.696 1.95.917A23.882 23.882 0 0032 56c13.255 0 24-10.745 24-24S45.255 8 32 8z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconChat(props) { + return React.createElement("svg", _extends$7({ + viewBox: "0 0 64 64" + }, props), _ref$7); +} + +function _extends$8() { _extends$8 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$8.apply(this, arguments); } + +var _ref$8 = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-chat-filled_svg__fill", + d: "M32 2.667C48.2 2.667 61.333 15.8 61.333 32S48.2 61.333 32 61.333c-4.455 0-8.679-.993-12.461-2.77l-1.753.58c-5.965 1.912-10.133 2.572-12.504 1.981-2.799-.698-3.351-1.919-1.657-3.663 1.171-1.396 2.147-3.14 2.928-5.234.622-1.668.377-4.001-.737-7A29.15 29.15 0 012.666 32C2.667 15.8 15.8 2.667 32 2.667z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconChatFilled(props) { + return React.createElement("svg", _extends$8({ + viewBox: "0 0 64 64" + }, props), _ref$8); +} + +function _extends$9() { _extends$9 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$9.apply(this, arguments); } + +var _ref$9 = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-chevron-down_svg__fill", + d: "M16.121 21.879a2.998 2.998 0 00-4.242 0 2.998 2.998 0 000 4.242l18 18a2.998 2.998 0 004.242 0l18-18a2.998 2.998 0 000-4.242 2.998 2.998 0 00-4.242 0L32 37.757 16.121 21.88z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconChevronDown(props) { + return React.createElement("svg", _extends$9({ + viewBox: "0 0 64 64" + }, props), _ref$9); +} + +function _extends$a() { _extends$a = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$a.apply(this, arguments); } + +var _ref$a = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-chevron-right_svg__fill", + d: "M22.114 46.114a2.668 2.668 0 003.772 3.772l16-16a2.668 2.668 0 000-3.772l-16-16a2.668 2.668 0 00-3.772 3.772L36.23 32 22.114 46.114z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconChevronRight(props) { + return React.createElement("svg", _extends$a({ + viewBox: "0 0 64 64" + }, props), _ref$a); +} + +function _extends$b() { _extends$b = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$b.apply(this, arguments); } + +var _ref$b = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-close_svg__fill", + d: "M52.552 11.448a2.666 2.666 0 01.222 3.52l-.222.251-16.781 16.78 16.781 16.782a2.665 2.665 0 010 3.771 2.666 2.666 0 01-3.52.222l-.251-.222L32 35.771 15.219 52.552a2.665 2.665 0 01-3.771 0 2.666 2.666 0 01-.222-3.52l.222-.251L28.228 32l-16.78-16.781a2.665 2.665 0 010-3.771 2.666 2.666 0 013.52-.222l.251.222 16.78 16.78 16.782-16.78a2.665 2.665 0 013.771 0z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconClose(props) { + return React.createElement("svg", _extends$b({ + viewBox: "0 0 64 64" + }, props), _ref$b); +} + +function _extends$c() { _extends$c = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$c.apply(this, arguments); } + +var _ref$c = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-collapse_svg__fill", + d: "M16 8a2.667 2.667 0 00-2.649 2.356l-.018.31v42.667a2.667 2.667 0 005.316.311l.018-.31V34.666h25.56l-6.113 6.114a2.668 2.668 0 00-.221 3.52l.221.251a2.666 2.666 0 003.52.222l.252-.222 10.666-10.666a2.666 2.666 0 00.222-3.52l-.222-.252-10.666-10.666a2.666 2.666 0 00-3.993 3.52l.221.251 6.113 6.114h-25.56V10.667A2.667 2.667 0 0016 8z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconCollapse(props) { + return React.createElement("svg", _extends$c({ + viewBox: "0 0 64 64" + }, props), _ref$c); +} + +function _extends$d() { _extends$d = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$d.apply(this, arguments); } + +var _ref$d = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-copy_svg__fill", + d: "M53.333 21.333a8 8 0 018 8v24a8 8 0 01-8 8h-24a8 8 0 01-8-8v-24a8 8 0 018-8zm0 5.334h-24a2.667 2.667 0 00-2.666 2.666v24A2.667 2.667 0 0029.333 56h24A2.667 2.667 0 0056 53.333v-24a2.667 2.667 0 00-2.667-2.666zm-18.666-24a8 8 0 017.986 7.53l.014.47v2.666a2.667 2.667 0 01-5.316.311l-.018-.31v-2.667a2.67 2.67 0 00-2.355-2.65L34.667 8h-24a2.67 2.67 0 00-2.65 2.356l-.017.31v24a2.67 2.67 0 002.356 2.65l.31.017h2.667a2.667 2.667 0 01.311 5.316l-.31.018h-2.667a8.001 8.001 0 01-7.987-7.53l-.013-.47v-24c0-4.26 3.33-7.743 7.53-7.987l.47-.013h24z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconCopy(props) { + return React.createElement("svg", _extends$d({ + viewBox: "0 0 64 64" + }, props), _ref$d); +} + +function _extends$e() { _extends$e = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$e.apply(this, arguments); } + +var _ref$e = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-create_svg__fill", + d: "M32 2.667C48.2 2.667 61.333 15.8 61.333 32S48.2 61.333 32 61.333c-4.455 0-8.679-.993-12.461-2.77l-1.753.58c-5.965 1.912-10.133 2.572-12.504 1.981-2.799-.698-3.351-1.919-1.657-3.663 1.171-1.396 2.147-3.14 2.928-5.234.622-1.668.377-4.001-.737-7A29.15 29.15 0 012.666 32C2.667 15.8 15.8 2.667 32 2.667zM32 8C18.745 8 8 18.745 8 32c0 3.5.747 6.88 2.168 9.978l.405.837.137.271.106.285c1.517 4.085 1.89 7.622.734 10.72l-.382.972-.192.433.235-.05a62.067 62.067 0 004.886-1.363l1.721-.568 2.04-.696 1.95.917A23.882 23.882 0 0032 56c13.255 0 24-10.745 24-24S45.255 8 32 8zm2.667 16v5.333H40c3.556 0 3.556 5.334 0 5.334h-5.333V40c0 3.556-5.334 3.556-5.334 0v-5.333H24c-3.556 0-3.556-5.334 0-5.334h5.333V24c0-3.556 5.334-3.556 5.334 0z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconCreate(props) { + return React.createElement("svg", _extends$e({ + viewBox: "0 0 64 64" + }, props), _ref$e); +} + +function _extends$f() { _extends$f = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$f.apply(this, arguments); } + +var _ref$f = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-delete_svg__fill", + d: "M37.333 2.667c4.26 0 7.743 3.33 7.987 7.53l.013.47v2.666H56a2.667 2.667 0 01.311 5.316l-.311.018h-2.668l.001 34.666c0 4.26-3.33 7.743-7.53 7.987l-.47.013H18.667a8.001 8.001 0 01-7.987-7.53l-.013-.47V18.667H8a2.667 2.667 0 01-.311-5.316L8 13.333h10.666v-2.666a8.002 8.002 0 017.53-7.987l.47-.013h10.667zm10.666 16H16v34.666a2.67 2.67 0 002.356 2.65l.31.017h26.667a2.67 2.67 0 002.65-2.356l.017-.31V18.666zm-21.332 8a2.667 2.667 0 012.648 2.355l.018.311v16a2.667 2.667 0 01-5.316.311l-.017-.31v-16a2.667 2.667 0 012.667-2.667zm10.666 0a2.67 2.67 0 012.65 2.355l.017.311v16a2.667 2.667 0 01-5.315.311l-.018-.31v-16a2.667 2.667 0 012.666-2.667zm0-18.667H26.667a2.67 2.67 0 00-2.65 2.356l-.017.31v2.667h16v-2.666a2.67 2.67 0 00-2.356-2.65L37.334 8z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconDelete(props) { + return React.createElement("svg", _extends$f({ + viewBox: "0 0 64 64" + }, props), _ref$f); +} + +function _extends$g() { _extends$g = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$g.apply(this, arguments); } + +var _ref$g = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-disconnected_svg__fill", + d: "M54.534 6.069l-.248.217-9.736 9.735-.04.04-9.573 9.573c-.15.118-.286.254-.405.404L6.286 54.286a2.423 2.423 0 003.18 3.645l.248-.217 13.374-13.373a2.419 2.419 0 001.88-.401 12.119 12.119 0 0114.04 0 2.424 2.424 0 102.808-3.952 16.951 16.951 0 00-11.303-3.072l6.743-6.744a24.105 24.105 0 0110.159 5.021 2.424 2.424 0 003.11-3.719 28.945 28.945 0 00-9.34-5.23l5.633-5.634a36.153 36.153 0 019.225 5.934 2.425 2.425 0 003.211-3.633 40.972 40.972 0 00-8.796-5.941l7.256-7.256a2.423 2.423 0 00-3.18-3.645zm-35.04 21.474a28.936 28.936 0 00-6.032 3.942 2.424 2.424 0 003.137 3.697 24.018 24.018 0 015.022-3.282 2.425 2.425 0 00-2.127-4.357zM4.748 22.909a2.424 2.424 0 003.207 3.636 36.363 36.363 0 0126.978-8.977 2.424 2.424 0 00.389-4.832A41.204 41.204 0 004.748 22.909z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconDisconnected(props) { + return React.createElement("svg", _extends$g({ + viewBox: "0 0 64 64" + }, props), _ref$g); +} + +function _extends$h() { _extends$h = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$h.apply(this, arguments); } + +var _ref$h = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-document_svg__fill", + d: "M37.333 2.667a3.305 3.305 0 01.274.014l.085.01.058.008c.047.007.094.016.141.026l.029.007c.05.01.098.023.146.037l.034.01c.237.07.46.173.663.303l.034.022c.036.023.07.047.104.072l.057.043a2.646 2.646 0 01.261.228l-.126-.117c.05.043.097.088.143.135L55.21 19.438c.047.046.091.094.134.143l.035.04c.026.032.052.063.076.096l.04.054.07.1.024.038c.16.253.279.535.347.836l.01.048c.009.043.017.086.024.13l.006.048.007.051.004.041c.01.09.014.18.014.27v32a8 8 0 01-8 8H16a8 8 0 01-8-8V10.667a8 8 0 018-8h21.333zM34.666 8H16a2.667 2.667 0 00-2.667 2.667v42.666A2.667 2.667 0 0016 56h32a2.667 2.667 0 002.667-2.667L50.666 24H37.333a2.667 2.667 0 01-2.648-2.356l-.018-.31L34.666 8zm12.227 10.667l-6.894-6.894.001 6.894h6.893z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconDocument(props) { + return React.createElement("svg", _extends$h({ + viewBox: "0 0 64 64" + }, props), _ref$h); +} + +function _extends$i() { _extends$i = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$i.apply(this, arguments); } + +var _ref$i = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-done_svg__fill", + d: "M12.552 31.448a2.665 2.665 0 10-3.771 3.771l13.333 13.333a2.666 2.666 0 003.772 0L55.219 19.22a2.667 2.667 0 00-3.771-3.771L24 42.895 12.552 31.448z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconDone(props) { + return React.createElement("svg", _extends$i({ + viewBox: "0 0 64 64" + }, props), _ref$i); +} + +function _extends$j() { _extends$j = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$j.apply(this, arguments); } + +var _ref$j = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-done-all_svg__fill", + d: "M5.886 31.448L19.219 44.78a2.667 2.667 0 01-3.771 3.771L2.114 35.22a2.667 2.667 0 013.772-3.771zm52.228-16a2.666 2.666 0 113.772 3.771L32.552 48.552a2.665 2.665 0 01-3.771 0L15.448 35.22a2.665 2.665 0 010-3.771 2.665 2.665 0 013.771 0l11.448 11.447zm-9.562 0a2.665 2.665 0 010 3.771L32.556 35.215a2.665 2.665 0 01-3.771 0 2.664 2.664 0 010-3.77L44.78 15.447a2.665 2.665 0 013.771 0z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconDoneAll(props) { + return React.createElement("svg", _extends$j({ + viewBox: "0 0 64 64" + }, props), _ref$j); +} + +function _extends$k() { _extends$k = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$k.apply(this, arguments); } + +var _ref$k = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-download_svg__fill", + d: "M56 42.667a2.667 2.667 0 012.649 2.355l.018.311v8c0 4.26-3.33 7.743-7.53 7.987l-.47.013H13.333a8 8 0 01-7.986-7.53l-.014-.47v-8a2.667 2.667 0 015.316-.311l.018.311v8a2.67 2.67 0 002.355 2.65l.311.017h37.334a2.667 2.667 0 002.648-2.356l.018-.31v-8A2.667 2.667 0 0156 42.667zm-36.552-8.781a2.666 2.666 0 013.52-3.993l.251.221 6.114 6.114V5.333a2.667 2.667 0 015.316-.311l.018.311v30.894l6.114-6.113a2.668 2.668 0 013.52-.221l.251.221a2.666 2.666 0 01.222 3.52l-.222.252-10.658 10.657a2.341 2.341 0 01-.135.128l.127-.119a2.67 2.67 0 01-.195.176l-.056.045a1.74 1.74 0 01-.086.064l-.056.04-.086.056-.06.036-.081.046-.079.04a2.528 2.528 0 01-.14.065l-.09.036c-.023.01-.045.017-.067.025l-.09.03-.063.019c-.043.012-.086.024-.13.034l-.013.003a3.06 3.06 0 01-.144.028l-.064.01c-.03.005-.061.009-.092.012l-.084.008a1.727 1.727 0 01-.103.006l-.069.002h-.095c-.028 0-.055-.002-.082-.003l.139.003c-.084 0-.167-.004-.249-.011l-.061-.007a1.359 1.359 0 01-.092-.012l-.09-.015a2.242 2.242 0 01-.118-.025l-.04-.01a2.644 2.644 0 01-.34-.11l-.015-.006c-.05-.02-.097-.04-.145-.063l-.042-.02L30.71 45a1.16 1.16 0 01-.067-.039c-.03-.018-.059-.035-.087-.054l-.062-.041c-.03-.02-.06-.042-.088-.063l-.04-.03-.008-.007a2.796 2.796 0 01-.251-.223L19.448 33.886z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconDownload(props) { + return React.createElement("svg", _extends$k({ + viewBox: "0 0 64 64" + }, props), _ref$k); +} + +function _extends$l() { _extends$l = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$l.apply(this, arguments); } + +var _ref$l = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-edit_svg__fill", + d: "M56 56a2.667 2.667 0 01.311 5.315l-.311.018H8a2.667 2.667 0 01-.311-5.316L8 56h48zM35.448 3.448a2.665 2.665 0 013.771 0l10.667 10.666a2.668 2.668 0 010 3.772L20.552 47.219c-.5.5-1.178.781-1.885.781H8a2.667 2.667 0 01-2.667-2.667V34.667c0-.708.281-1.386.781-1.886zm1.885 5.659L10.667 35.77v6.896h6.89L44.227 16l-6.894-6.893z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconEdit(props) { + return React.createElement("svg", _extends$l({ + viewBox: "0 0 65 65" + }, props), _ref$l); +} + +function _extends$m() { _extends$m = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$m.apply(this, arguments); } + +var _ref$m = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-emoji-more_svg__fill", + d: "M32.097 3.22c2.65 0 5.255.357 7.763 1.054a2.134 2.134 0 01-1.144 4.111 24.669 24.669 0 00-6.619-.899c-13.603 0-24.63 11.027-24.63 24.63s11.027 24.63 24.63 24.63 24.63-11.027 24.63-24.63c0-2.227-.295-4.413-.87-6.518a2.13 2.13 0 011.494-2.62 2.13 2.13 0 012.62 1.494 28.895 28.895 0 011.023 7.644c0 15.96-12.938 28.897-28.897 28.897-15.96 0-28.897-12.937-28.897-28.897C3.2 16.157 16.138 3.22 32.097 3.22zm10.705 34.792a2.133 2.133 0 012.024 2.808c-1.873 5.623-6.937 9.488-12.729 9.488-5.792 0-10.856-3.865-12.73-9.488a2.134 2.134 0 011.875-2.803l.15-.005h21.41zm-3.477 4.266H24.867l.294.382c1.539 1.887 3.718 3.113 6.115 3.342l.314.024.507.015c2.617 0 5.037-1.188 6.743-3.151l.193-.23.292-.382zM21.392 21.954c1.087 0 1.985.814 2.116 1.866l.017.267v5.353a2.133 2.133 0 01-4.25.268l-.017-.268v-5.353c0-1.178.955-2.133 2.134-2.133zm21.41 0c1.088 0 1.985.814 2.117 1.866l.017.267v5.353a2.133 2.133 0 01-4.25.268l-.017-.268v-5.353c0-1.178.955-2.133 2.133-2.133zM54.853 0a.8.8 0 01.8.8v7.786h7.76a.8.8 0 01.8.8v2.667a.8.8 0 01-.8.8h-7.76v7.758a.8.8 0 01-.8.8h-2.666a.8.8 0 01-.8-.8v-7.758h-7.785a.8.8 0 01-.8-.8V9.387a.8.8 0 01.8-.8l7.784-.001V.8a.8.8 0 01.8-.8h2.667z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconEmojiMore(props) { + return React.createElement("svg", _extends$m({ + viewBox: "0 0 64 64" + }, props), _ref$m); +} + +function _extends$n() { _extends$n = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$n.apply(this, arguments); } + +var _ref$n = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-error_svg__fill", + d: "M32 5.06a8 8 0 016.561 3.424l.287.439 22.608 37.744a8 8 0 01.022 7.962 8.005 8.005 0 01-6.356 4.014l-.535.024H9.384a8.002 8.002 0 01-6.862-4.038 8.008 8.008 0 01-.226-7.493l.27-.506L25.16 8.91A8.001 8.001 0 0132 5.06zm0 5.333c-.816 0-1.58.372-2.076.99l-.196.28-22.565 37.67a2.669 2.669 0 001.909 3.973l.341.027h45.144a2.67 2.67 0 002.45-3.659l-.148-.304L34.28 11.676A2.666 2.666 0 0032 10.393zm0 32.274A2.667 2.667 0 1132 48a2.667 2.667 0 010-5.333zm0-21.334a2.667 2.667 0 012.649 2.356l.018.311v10.667a2.667 2.667 0 01-5.316.311l-.018-.311V24A2.667 2.667 0 0132 21.333z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconError(props) { + return React.createElement("svg", _extends$n({ + viewBox: "0 0 64 64" + }, props), _ref$n); +} + +function _extends$o() { _extends$o = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$o.apply(this, arguments); } + +var _ref$o = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-expand_svg__fill", + d: "M48 8a2.667 2.667 0 012.649 2.356l.018.31V32l-.001.027v21.306a2.667 2.667 0 01-5.315.311l-.018-.31V34.665H19.772l6.114 6.115a2.668 2.668 0 01.221 3.52l-.221.251a2.666 2.666 0 01-3.52.222l-.252-.222-10.666-10.666a2.666 2.666 0 01-.222-3.52l.222-.252 10.666-10.666a2.666 2.666 0 013.993 3.52l-.221.251-6.113 6.114h25.56V10.667A2.667 2.667 0 0148 8z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconExpand(props) { + return React.createElement("svg", _extends$o({ + viewBox: "0 0 64 64" + }, props), _ref$o); +} + +function _extends$p() { _extends$p = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$p.apply(this, arguments); } + +var _ref$p = +/*#__PURE__*/ +React.createElement("g", { + fill: "none", + fillRule: "evenodd" +}, React.createElement("rect", { + fill: "#FFF", + rx: 8.571 +}), React.createElement("path", { + className: "icon-file-audio_svg__fill", + fill: "#000", + d: "M44.577 18.786c7.612 7.924 7.612 20.79 0 28.714a1.576 1.576 0 01-2.335-.035c-.635-.7-.62-1.818.033-2.499 6.28-6.536 6.28-17.11 0-23.647a1.855 1.855 0 01-.033-2.498 1.576 1.576 0 012.335-.035zm-13.82.002c1.109-.903 2.726-.076 2.726 1.394v25.922c0 1.47-1.617 2.297-2.727 1.394L22.108 40.2h-6.704c-.933 0-1.69-.791-1.69-1.767v-10.58c0-.976.757-1.767 1.69-1.767h6.704zm7.54 6.534c4.138 4.309 4.138 11.315 0 15.623-.654.68-1.7.665-2.335-.034a1.856 1.856 0 01.033-2.499c2.806-2.921 2.806-7.636 0-10.557a1.854 1.854 0 01-.033-2.498c.636-.7 1.68-.716 2.334-.035z" +})); + +function SvgIconFileAudio(props) { + return React.createElement("svg", _extends$p({ + viewBox: "0 0 64 64" + }, props), _ref$p); +} + +function _extends$q() { _extends$q = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$q.apply(this, arguments); } + +var _ref$q = +/*#__PURE__*/ +React.createElement("g", { + fill: "none", + fillRule: "evenodd" +}, React.createElement("rect", { + fill: "#FFF", + rx: 8.571 +}), React.createElement("path", { + className: "icon-file-document_svg__fill", + fill: "#000", + d: "M37.295 12.952c.464 0 .906.182 1.223.501l9.029 9.107c.291.293.453.68.453 1.083v22.785c0 2.53-2.073 4.62-4.685 4.62h-22.63c-2.612 0-4.685-2.09-4.685-4.62V17.572c0-2.53 2.073-4.62 4.685-4.62zm1.618 25.143H24.325l-.134.007c-.748.07-1.334.731-1.334 1.536 0 .852.657 1.543 1.468 1.543h14.588l.134-.006c.748-.071 1.334-.732 1.334-1.537 0-.852-.657-1.543-1.468-1.543zm0-6.095H24.325l-.134.006c-.748.071-1.334.732-1.334 1.537 0 .852.657 1.543 1.468 1.543h14.588l.134-.007c.748-.07 1.334-.731 1.334-1.536 0-.852-.657-1.543-1.468-1.543zm-7.672-6.095h-6.857l-.139.006a1.537 1.537 0 00-1.388 1.537c0 .852.684 1.542 1.527 1.542h6.857l.14-.006a1.536 1.536 0 001.387-1.536c0-.852-.684-1.543-1.527-1.543z" +})); + +function SvgIconFileDocument(props) { + return React.createElement("svg", _extends$q({ + viewBox: "0 0 64 64" + }, props), _ref$q); +} + +function _extends$r() { _extends$r = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$r.apply(this, arguments); } + +var _ref$r = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-freeze_svg__fill", + d: "M41.636 3.226l.251.222a2.668 2.668 0 01.222 3.52l-.222.251-7.219 7.218V27.38l11.209-6.472 2.643-9.86a2.667 2.667 0 015.218 1.051l-.067.329-2.237 8.35 8.352 2.24a2.668 2.668 0 011.952 2.938l-.067.328a2.667 2.667 0 01-2.937 1.952l-.329-.066-9.861-2.643L37.334 32l11.209 6.47 9.862-2.64.329-.067a2.667 2.667 0 012.937 1.952l.067.328a2.669 2.669 0 01-1.952 2.938l-8.353 2.237 2.238 8.353.067.329a2.666 2.666 0 01-5.218 1.052l-2.643-9.861-11.209-6.472v12.944l7.219 7.218a2.667 2.667 0 01-3.52 3.993l-.251-.222L32 54.437l-6.114 6.115a2.666 2.666 0 01-3.52.222l-.251-.222a2.666 2.666 0 01-.222-3.52l.222-.251 7.218-7.22V36.62l-11.209 6.47-2.642 9.863a2.666 2.666 0 01-5.218-1.052l.067-.329 2.236-8.351-8.35-2.24a2.665 2.665 0 01-1.953-2.937l.067-.328a2.665 2.665 0 012.937-1.952l.329.066 9.861 2.642L26.667 32l-11.209-6.472-9.86 2.643-.329.066a2.665 2.665 0 01-2.937-1.952l-.067-.328a2.668 2.668 0 011.952-2.938l8.35-2.239-2.235-8.351-.067-.329a2.667 2.667 0 015.218-1.052l2.642 9.862 11.209 6.47V14.439L22.116 7.22a2.665 2.665 0 010-3.771 2.666 2.666 0 013.52-.222l.251.222 6.114 6.112 6.115-6.112a2.666 2.666 0 013.52-.222z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconFreeze(props) { + return React.createElement("svg", _extends$r({ + viewBox: "0 0 64 64" + }, props), _ref$r); +} + +function _extends$s() { _extends$s = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$s.apply(this, arguments); } + +var _ref$s = +/*#__PURE__*/ +React.createElement("g", { + transform: "translate(.286 .286)", + fill: "none", + fillRule: "evenodd" +}, React.createElement("circle", { + cx: 32, + cy: 32, + r: 32, + fill: "#FFF" +}), React.createElement("path", { + className: "icon-gif_svg__fill", + fill: "#000", + d: "M23.552 40.208c1.25 0 2.389-.185 3.417-.557 1.028-.371 1.823-.894 2.385-1.568v-6.052h-5.969v2.302h2.844v2.615c-.5.5-1.337.75-2.51.75-1.167 0-2.052-.406-2.657-1.219-.604-.812-.906-2.014-.906-3.604v-.969c.007-1.576.288-2.764.844-3.562.556-.799 1.365-1.198 2.427-1.198.833 0 1.488.201 1.964.604.475.403.783 1.038.922 1.906h3.041c-.187-1.639-.788-2.887-1.802-3.745-1.014-.857-2.42-1.286-4.219-1.286-1.291 0-2.418.293-3.38.88-.962.587-1.698 1.434-2.208 2.542-.51 1.108-.766 2.418-.766 3.932v1.031c.014 1.473.29 2.754.828 3.844.538 1.09 1.302 1.922 2.292 2.495.99.573 2.14.86 3.453.86zM35.208 40V24.833h-3.125V40h3.125zm6.021 0v-6.198h6v-2.52h-6v-3.917h6.75v-2.532h-9.875V40h3.125z" +})); + +function SvgIconGif(props) { + return React.createElement("svg", _extends$s({ + viewBox: "0 0 65 65" + }, props), _ref$s); +} + +function _extends$t() { _extends$t = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$t.apply(this, arguments); } + +var _ref$t = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-info_svg__fill", + d: "M32 2.667C48.2 2.667 61.333 15.8 61.333 32S48.2 61.333 32 61.333 2.667 48.2 2.667 32 15.8 2.667 32 2.667zM32 8C18.745 8 8 18.745 8 32s10.745 24 24 24 24-10.745 24-24S45.255 8 32 8zm1.667 21.333a1 1 0 011 1v14a1 1 0 01-1 1h-3.334a1 1 0 01-1-1v-14a1 1 0 011-1h3.334zm-1.667-8a2.667 2.667 0 110 5.334 2.667 2.667 0 010-5.334z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconInfo(props) { + return React.createElement("svg", _extends$t({ + viewBox: "0 0 64 64" + }, props), _ref$t); +} + +function _extends$u() { _extends$u = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$u.apply(this, arguments); } + +var _ref$u = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-leave_svg__fill", + d: "M32 5.333a2.667 2.667 0 01.311 5.316l-.311.018H10.667a2.67 2.67 0 00-2.65 2.355L8 13.333v37.334a2.667 2.667 0 002.356 2.648l.31.018H32a2.667 2.667 0 01.311 5.316l-.311.018H10.667a8.001 8.001 0 01-7.987-7.53l-.013-.47V13.333a8 8 0 017.53-7.986l.47-.014H32zm17.634 13.893l.252.222 10.666 10.666a2.666 2.666 0 01.222 3.52l-.222.252-10.666 10.666a2.666 2.666 0 01-3.993-3.52l.221-.251 4.78-4.782L20 36a2.667 2.667 0 01-.311-5.315l.311-.018h33.56l-7.446-7.448a2.668 2.668 0 01-.221-3.52l.221-.251a2.666 2.666 0 013.52-.222z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconLeave(props) { + return React.createElement("svg", _extends$u({ + viewBox: "0 0 64 64" + }, props), _ref$u); +} + +function _extends$v() { _extends$v = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$v.apply(this, arguments); } + +var _ref$v = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-members_svg__fill", + d: "M34.667 37.333c7.17 0 13.018 5.66 13.32 12.755l.013.579V56a2.667 2.667 0 01-5.315.311L42.667 56v-5.333c0-4.26-3.33-7.743-7.53-7.987l-.47-.013H13.333a8 8 0 00-7.986 7.53l-.014.47V56a2.667 2.667 0 01-5.316.311L0 56v-5.333c0-7.17 5.66-13.019 12.755-13.321l.578-.013h21.334zM54 37.765a13.333 13.333 0 019.986 12.297l.014.605V56a2.667 2.667 0 01-5.315.311L58.667 56v-5.331a8 8 0 00-6-7.74A2.667 2.667 0 1154 37.765zM24 5.333c7.364 0 13.333 5.97 13.333 13.334C37.333 26.03 31.363 32 24 32c-7.364 0-13.333-5.97-13.333-13.333 0-7.364 5.97-13.334 13.333-13.334zm19.328.43a13.333 13.333 0 010 25.834 2.667 2.667 0 11-1.323-5.167 8 8 0 000-15.5 2.667 2.667 0 111.323-5.167zM24 10.667a8 8 0 100 16 8 8 0 000-16z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconMembers(props) { + return React.createElement("svg", _extends$v({ + viewBox: "0 0 64 64" + }, props), _ref$v); +} + +function _extends$w() { _extends$w = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$w.apply(this, arguments); } + +var _ref$w = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-message_svg__fill", + d: "M32 2.667C48.2 2.667 61.333 15.8 61.333 32S48.2 61.333 32 61.333c-4.455 0-8.679-.993-12.461-2.77l-1.753.58c-5.965 1.912-10.133 2.572-12.504 1.981-2.799-.698-3.351-1.919-1.657-3.663 1.171-1.396 2.147-3.14 2.928-5.234.622-1.668.377-4.001-.737-7A29.15 29.15 0 012.666 32C2.667 15.8 15.8 2.667 32 2.667zM32 8C18.745 8 8 18.745 8 32c0 3.5.747 6.88 2.168 9.978l.405.837.137.271.106.285c1.517 4.085 1.89 7.622.734 10.72l-.382.972-.192.433.235-.05a62.067 62.067 0 004.886-1.363l1.721-.568 2.04-.696 1.95.917A23.882 23.882 0 0032 56c13.255 0 24-10.745 24-24S45.255 8 32 8zM18.667 29.333a2.667 2.667 0 11-.001 5.333 2.667 2.667 0 01.001-5.333zm13.333 0a2.667 2.667 0 110 5.334 2.667 2.667 0 010-5.334zm13.333 0a2.667 2.667 0 110 5.334 2.667 2.667 0 010-5.334z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconMessage(props) { + return React.createElement("svg", _extends$w({ + viewBox: "0 0 64 64" + }, props), _ref$w); +} + +function _extends$x() { _extends$x = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$x.apply(this, arguments); } + +var _ref$x = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-moderations_svg__fill", + d: "M18.667 34.667a2.667 2.667 0 01.311 5.316l-.311.017h-5.334v16a2.667 2.667 0 01-5.316.311L8 56V40H2.667a2.667 2.667 0 01-.311-5.315l.31-.018h16zM32 29.333a2.667 2.667 0 012.649 2.356l.018.311v24a2.667 2.667 0 01-5.316.311L29.333 56V32A2.667 2.667 0 0132 29.333zM61.333 40a2.667 2.667 0 01.311 5.315l-.31.018h-5.335L56 56a2.667 2.667 0 01-5.315.311L50.667 56l-.001-10.668-5.333.001a2.667 2.667 0 01-.311-5.316l.311-.017h16zm-8-34.667a2.67 2.67 0 012.65 2.356L56 8v24a2.667 2.667 0 01-5.315.311L50.667 32V8a2.667 2.667 0 012.666-2.667zm-42.666 0a2.667 2.667 0 012.648 2.356l.018.311v18.667a2.667 2.667 0 01-5.316.311L8 26.667V8a2.667 2.667 0 012.667-2.667zm21.333 0a2.667 2.667 0 012.649 2.356l.018.311-.001 10.666H40a2.668 2.668 0 01.311 5.317L40 24H24a2.667 2.667 0 01-.311-5.315l.311-.018h5.333V8A2.667 2.667 0 0132 5.333z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconModerations(props) { + return React.createElement("svg", _extends$x({ + viewBox: "0 0 64 64" + }, props), _ref$x); +} + +function _extends$y() { _extends$y = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$y.apply(this, arguments); } + +var _ref$y = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-more_svg__fill", + d: "M32 45.333a5.333 5.333 0 110 10.666 5.333 5.333 0 010-10.666zM32 28a5.333 5.333 0 110 10.668A5.333 5.333 0 0132 28zm0-17.333c2.946 0 5.333 2.387 5.333 5.333S34.946 21.333 32 21.333 26.667 18.946 26.667 16s2.387-5.333 5.333-5.333z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconMore(props) { + return React.createElement("svg", _extends$y({ + viewBox: "0 0 64 64" + }, props), _ref$y); +} + +function _extends$z() { _extends$z = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$z.apply(this, arguments); } + +var _ref$z = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-mute_svg__fill", + d: "M55.62 19.616l.067.123A26.552 26.552 0 0158.667 32c0 4.326-1.03 8.41-2.864 12.025-1.012 2.726-1.235 4.847-.67 6.363.71 1.903 1.598 3.49 2.662 4.758 1.54 1.586 1.039 2.696-1.506 3.33-2.09.521-5.716-.027-10.879-1.646l-.488-.155-1.594-.527A26.56 26.56 0 0132 58.667a26.55 26.55 0 01-12.326-3.014l-.059-.03 4-4A21.24 21.24 0 0032 53.333c2.993 0 5.89-.614 8.562-1.786l.498-.226 1.925-.905 3.613 1.196.695.219c.728.225 1.414.423 2.054.595l.472.125.485.121-.167-.42-.2-.594c-.814-2.685-.484-5.681.713-9.065l.154-.425.106-.284.528-1.084a21.188 21.188 0 001.895-8.8 21.24 21.24 0 00-1.71-8.385l3.997-3.999zm2.266-13.502a2.668 2.668 0 01.221 3.52l-.221.252-48 48a2.668 2.668 0 01-3.993-3.52l.221-.252 5.238-5.237a26.563 26.563 0 01-6.015-16.412L5.333 32C5.333 17.272 17.273 5.333 32 5.333a26.55 26.55 0 0116.877 6.02l5.237-5.239a2.668 2.668 0 013.772 0zM32 10.667c-11.782 0-21.333 9.55-21.333 21.333 0 4.836 1.614 9.401 4.48 13.084l29.936-29.938A21.248 21.248 0 0032 10.666z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconMute(props) { + return React.createElement("svg", _extends$z({ + viewBox: "0 0 64 64" + }, props), _ref$z); +} + +function _extends$A() { _extends$A = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$A.apply(this, arguments); } + +var _ref$A = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-notifications_svg__fill", + d: "M36.613 53.333c2.056 0 3.338 2.227 2.307 4.005a8 8 0 01-13.84 0c-.98-1.689.129-3.783 2.004-3.988l.303-.017h9.226zM32 2.667c11.56 0 20.972 9.194 21.323 20.669l.01.664v13.333a5.334 5.334 0 004.936 5.319l.753.033c2.963.318 3.077 4.616.342 5.24l-.342.056-.355.019H5.333l-.355-.019c-3.082-.33-3.082-4.965 0-5.296l.753-.033a5.335 5.335 0 004.92-4.9l.016-.419V24c0-11.782 9.55-21.333 21.333-21.333zM32 8c-8.636 0-15.674 6.842-15.989 15.4L16 24v13.333c0 1.562-.336 3.046-.939 4.383l-.275.564-.218.387h34.861l-.215-.387a10.583 10.583 0 01-1.146-3.74l-.055-.674-.013-.533V24c0-8.837-7.163-16-16-16z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconNotifications(props) { + return React.createElement("svg", _extends$A({ + viewBox: "0 0 64 64" + }, props), _ref$A); +} + +function _extends$B() { _extends$B = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$B.apply(this, arguments); } + +var _ref$B = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-notifications-off-filled_svg__fill", + d: "M36.613 53.333c2.056 0 3.338 2.227 2.307 4.005a8 8 0 01-13.84 0c-.98-1.689.129-3.783 2.004-3.988l.303-.017h9.226zM32 2.667c7.173 0 13.52 3.54 17.387 8.97l5.686-5.687a2.105 2.105 0 012.85-.117l.127.117a2.105 2.105 0 010 2.977L8.927 58.05c-.78.781-2.023.82-2.85.117l-.127-.117a2.105 2.105 0 010-2.977L13.023 48h-7.69l-.355-.019c-3.082-.33-3.082-4.965 0-5.296l.753-.033a5.335 5.335 0 004.92-4.9l.016-.419V24c0-11.782 9.55-21.333 21.333-21.333zm20.85 16.795c.271 1.253.433 2.548.473 3.874l.01.664v13.333a5.334 5.334 0 004.936 5.319l.753.033c2.963.318 3.077 4.616.342 5.24l-.342.056-.355.019H24.31l28.54-28.538z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconNotificationsOffFilled(props) { + return React.createElement("svg", _extends$B({ + viewBox: "0 0 64 64" + }, props), _ref$B); +} + +function _extends$C() { _extends$C = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$C.apply(this, arguments); } + +var _ref$C = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-operator_svg__fill", + d: "M29.83 6.45a2.667 2.667 0 014.34 0l11.697 16.374L57 13.918c1.88-1.504 4.573.054 4.32 2.35l-.047.29-8 37.334A2.666 2.666 0 0150.666 56H13.333a2.666 2.666 0 01-2.607-2.108l-8-37.333c-.525-2.452 2.315-4.207 4.273-2.641l11.132 8.906zM32 12.587l-11.163 15.63a2.667 2.667 0 01-3.836.532l-7.497-5.997 5.984 27.915h33.021l5.984-27.915L47 28.749a2.667 2.667 0 01-3.632-.281l-.204-.251L32 12.587zM32 32a5.333 5.333 0 110 10.668A5.333 5.333 0 0132 32z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconOperator(props) { + return React.createElement("svg", _extends$C({ + viewBox: "0 0 64 64" + }, props), _ref$C); +} + +function _extends$D() { _extends$D = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$D.apply(this, arguments); } + +var _ref$D = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-photo_svg__fill", + d: "M50.667 5.333a8 8 0 018 8v37.334a8 8 0 01-8 8H13.333a8 8 0 01-8-8V13.333a8 8 0 018-8zm-8 25.107L19.77 53.332l30.896.001a2.667 2.667 0 002.661-2.498l.005-.168v-9.564L42.666 30.44zm8-19.773H13.333a2.667 2.667 0 00-2.666 2.666v37.334c0 1.143.72 2.119 1.731 2.498L40.781 24.78a2.668 2.668 0 013.52-.222l.251.222 8.78 8.78.001-20.228a2.667 2.667 0 00-2.498-2.661l-.168-.005zm-28 5.333a6.666 6.666 0 110 13.333 6.666 6.666 0 010-13.333zm0 5.333a1.334 1.334 0 100 2.667 1.334 1.334 0 000-2.667z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconPhoto(props) { + return React.createElement("svg", _extends$D({ + viewBox: "0 0 64 64" + }, props), _ref$D); +} + +function _extends$E() { _extends$E = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$E.apply(this, arguments); } + +var _ref$E = +/*#__PURE__*/ +React.createElement("g", { + transform: "translate(.286 .286)", + fill: "none", + fillRule: "evenodd" +}, React.createElement("circle", { + cx: 32, + cy: 32, + r: 32, + fill: "#FFF" +}), React.createElement("path", { + className: "icon-play_svg__fill", + fill: "#000", + d: "M44.468 34.271c1.154-.72 1.151-1.902.008-2.633l-19.76-12.635c-1.149-.735-2.067-.228-2.05 1.148l.318 25.018c.017 1.37.968 1.894 2.12 1.176l19.364-12.074z" +})); + +function SvgIconPlay(props) { + return React.createElement("svg", _extends$E({ + viewBox: "0 0 65 65" + }, props), _ref$E); +} + +function _extends$F() { _extends$F = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$F.apply(this, arguments); } + +var _ref$F = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-plus_svg__fill", + d: "M34.667 29.333h18.666c3.556 0 3.556 5.334 0 5.334H34.667v18.666c0 3.556-5.334 3.556-5.334 0V34.667H10.667c-3.556 0-3.556-5.334 0-5.334h18.666V10.667c0-3.556 5.334-3.556 5.334 0v18.666z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconPlus(props) { + return React.createElement("svg", _extends$F({ + viewBox: "0 0 64 64" + }, props), _ref$F); +} + +function _extends$G() { _extends$G = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$G.apply(this, arguments); } + +var _ref$G = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-question_svg__fill", + d: "M32 61.333C15.8 61.333 2.667 48.2 2.667 32S15.8 2.667 32 2.667 61.333 15.8 61.333 32 48.2 61.333 32 61.333zM32 56c13.255 0 24-10.745 24-24S45.255 8 32 8 8 18.745 8 32s10.745 24 24 24zm2.213-18.63a2.667 2.667 0 11-5.333 0v-2.69c0-1.148.734-2.168 1.823-2.53.173-.058.532-.195 1.01-.407.809-.36 1.616-.79 2.354-1.282 1.835-1.223 2.813-2.528 2.813-3.786a5.333 5.333 0 00-10.364-1.777 2.667 2.667 0 01-5.032-1.77 10.668 10.668 0 0120.729 3.551c0 3.413-2.022 6.109-5.187 8.22a21.268 21.268 0 01-2.813 1.578v.893zm-5.333 7.523a2.667 2.667 0 115.333 0v.44a2.667 2.667 0 11-5.333 0v-.44z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconQuestion(props) { + return React.createElement("svg", _extends$G({ + viewBox: "0 0 64 64" + }, props), _ref$G); +} + +function _extends$H() { _extends$H = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$H.apply(this, arguments); } + +var _ref$H = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-refresh_svg__fill", + d: "M46.14 14.43l.562.537 6.631 6.167v-7.8a2.67 2.67 0 012.356-2.65l.311-.017a2.667 2.667 0 012.649 2.355l.018.311v16a2.67 2.67 0 01-2.356 2.65L56 32H40a2.667 2.667 0 01-.311-5.315l.311-.018h11.452l-8.44-7.85c-5.964-5.893-15.168-7.182-22.563-3.156-7.38 4.018-11.172 12.357-9.314 20.455 1.859 8.107 8.935 14.032 17.362 14.518 8.43.487 16.162-4.585 18.967-12.426a2.667 2.667 0 015.022 1.797C48.88 50.082 38.973 56.582 28.19 55.959c-10.785-.623-19.862-8.222-22.254-18.65C3.542 26.872 8.426 16.135 17.9 10.977c9.227-5.024 20.65-3.579 28.241 3.453z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconRefresh(props) { + return React.createElement("svg", _extends$H({ + viewBox: "0 0 64 64" + }, props), _ref$H); +} + +function _extends$I() { _extends$I = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$I.apply(this, arguments); } + +var _ref$I = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-remove_svg__fill", + d: "M32 2.667C48.2 2.667 61.333 15.8 61.333 32S48.2 61.333 32 61.333 2.667 48.2 2.667 32 15.8 2.667 32 2.667zm9.886 19.447a2.668 2.668 0 00-3.772 0L32 28.23l-6.114-6.115-.134-.124a2.667 2.667 0 00-3.638.124l-.124.134a2.667 2.667 0 00.124 3.638L28.23 32l-6.115 6.114-.124.134a2.667 2.667 0 00.124 3.638l.134.124a2.667 2.667 0 003.638-.124L32 35.77l6.114 6.115.134.124a2.667 2.667 0 003.638-.124l.124-.134a2.667 2.667 0 00-.124-3.638L35.77 32l6.115-6.114.124-.134a2.667 2.667 0 00-.124-3.638z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconRemove(props) { + return React.createElement("svg", _extends$I({ + viewBox: "0 0 64 64" + }, props), _ref$I); +} + +function _extends$J() { _extends$J = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$J.apply(this, arguments); } + +var _ref$J = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-search_svg__fill", + d: "M26.667 48C14.885 48 5.333 38.449 5.333 26.667c0-11.782 9.552-21.334 21.334-21.334S48 14.885 48 26.667c0 4.93-1.672 9.469-4.48 13.081l13.67 13.67a2.668 2.668 0 01-3.772 3.772l-13.67-13.67A21.239 21.239 0 0126.667 48zm0-5.333c8.836 0 16-7.164 16-16 0-8.837-7.164-16-16-16-8.837 0-16 7.163-16 16 0 8.836 7.163 16 16 16z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconSearch(props) { + return React.createElement("svg", _extends$J({ + viewBox: "0 0 64 64" + }, props), _ref$J); +} + +function _extends$K() { _extends$K = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$K.apply(this, arguments); } + +var _ref$K = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-send_svg__fill", + d: "M59.795 29.43L7.329 2.979C4.691 1.802 1.76 4.153 2.932 6.798l6.925 18.609a2 2 0 001.544 1.275l32.273 5.394L11.4 37.47a1.998 1.998 0 00-1.544 1.275L2.932 57.353c-.879 2.645 1.76 4.997 4.397 3.527l52.466-26.453c2.051-.882 2.051-3.82 0-4.996z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconSend(props) { + return React.createElement("svg", _extends$K({ + viewBox: "0 0 64 64" + }, props), _ref$K); +} + +function _extends$L() { _extends$L = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$L.apply(this, arguments); } + +var _ref$L = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-settings-filled_svg__fill", + d: "M32 2.667A5.332 5.332 0 0137.333 8v.24A4.4 4.4 0 0040 12.267a4.4 4.4 0 004.853-.88l.16-.16a5.332 5.332 0 017.547 0 5.333 5.333 0 010 7.546l-.16.16a4.401 4.401 0 00-.88 4.854V24a4.4 4.4 0 004.027 2.667H56c2.946 0 5.333 2.387 5.333 5.333S58.946 37.333 56 37.333h-.24A4.4 4.4 0 0051.733 40a4.4 4.4 0 00.88 4.853l.16.16a5.332 5.332 0 010 7.547 5.333 5.333 0 01-7.546 0l-.16-.16a4.401 4.401 0 00-4.854-.88 4.397 4.397 0 00-2.666 4.027V56a5.333 5.333 0 01-10.667 0v-.24A4.4 4.4 0 0024 51.733a4.4 4.4 0 00-4.853.88l-.16.16a5.332 5.332 0 01-7.547 0 5.333 5.333 0 010-7.546l.16-.16a4.401 4.401 0 00.88-4.854 4.397 4.397 0 00-4.027-2.666H8A5.333 5.333 0 018 26.88h.24A4.4 4.4 0 0012.267 24a4.4 4.4 0 00-.88-4.853l-.16-.16a5.332 5.332 0 010-7.547 5.333 5.333 0 017.546 0l.16.16a4.401 4.401 0 004.854.88H24a4.4 4.4 0 002.667-4.027V8A5.332 5.332 0 0132 2.667zM32 24a8 8 0 100 16 8 8 0 000-16z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconSettingsFilled(props) { + return React.createElement("svg", _extends$L({ + viewBox: "0 0 64 64" + }, props), _ref$L); +} + +function _extends$M() { _extends$M = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$M.apply(this, arguments); } + +var _ref$M = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-spinner_svg__fill", + d: "M32 61.333C48.2 61.333 61.333 48.2 61.333 32S48.2 2.667 32 2.667 2.667 15.8 2.667 32a2.838 2.838 0 105.678 0C8.344 18.935 18.934 8.344 32 8.344c13.065 0 23.656 10.591 23.656 23.656S45.065 55.656 32 55.656a2.838 2.838 0 100 5.677z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconSpinner(props) { + return React.createElement("svg", _extends$M({ + viewBox: "0 0 64 64" + }, props), _ref$M); +} + +function _extends$N() { _extends$N = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$N.apply(this, arguments); } + +var _ref$N = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-supergroup_svg__fill", + d: "M36.889 43.013c6.608 0 12.121 4.685 12.43 10.734l.014.537V58a2.667 2.667 0 01-5.316.311L44 58v-3.716c0-3.07-2.87-5.718-6.636-5.925l-.475-.013H27.11c-3.838 0-6.86 2.525-7.096 5.557l-.015.381V58a2.667 2.667 0 01-5.315.311L14.667 58v-3.716c0-6.126 5.324-10.986 11.864-11.26l.58-.011h9.778zm18.578-17.291c.266 0 .53.04.784.118 4.632 1.426 7.518 4.801 7.736 9.688l.013.594v12.8a2.667 2.667 0 01-5.315.311l-.018-.311V36.124c-.002-2.595-1.163-4.171-3.528-5.034l-.104-.037-2.502.002a2.667 2.667 0 01-2.648-2.356l-.018-.31a2.67 2.67 0 012.355-2.65l.311-.017h2.934zm-44 0l.31.018a2.666 2.666 0 012.356 2.648l-.018.311a2.666 2.666 0 01-2.648 2.356l-2.51-.002-.119.042c-2.246.85-3.503 2.574-3.505 5.147v12.68l-.018.31A2.666 2.666 0 010 48.922V36.24l.014-.591c.225-4.874 3.203-8.415 7.712-9.809.255-.078.52-.118.788-.118h2.953zM32 19.958c5.512 0 10 4.409 10 9.871 0 5.463-4.488 9.872-10 9.872s-10-4.41-10-9.872 4.488-9.871 10-9.871zm0 5.333c-2.588 0-4.667 2.043-4.667 4.538 0 2.496 2.08 4.538 4.667 4.538 2.588 0 4.667-2.042 4.667-4.538 0-2.495-2.08-4.538-4.667-4.538zM17.333 2.667c5.513 0 10 4.409 10 9.871 0 5.462-4.487 9.871-10 9.871-5.512 0-10-4.409-10-9.871 0-5.462 4.488-9.871 10-9.871zm29.334 0c5.512 0 10 4.409 10 9.871 0 5.462-4.488 9.871-10 9.871-5.513 0-10-4.409-10-9.871 0-5.462 4.487-9.871 10-9.871zM17.333 8c-2.587 0-4.666 2.042-4.666 4.538 0 2.496 2.079 4.538 4.666 4.538 2.588 0 4.667-2.042 4.667-4.538C22 10.042 19.921 8 17.333 8zm29.334 0C44.079 8 42 10.042 42 12.538c0 2.496 2.079 4.538 4.667 4.538 2.587 0 4.666-2.042 4.666-4.538 0-2.496-2.079-4.538-4.666-4.538z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconSupergroup(props) { + return React.createElement("svg", _extends$N({ + viewBox: "0 0 64 64" + }, props), _ref$N); +} + +function _extends$O() { _extends$O = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$O.apply(this, arguments); } + +var _ref$O = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-thumbnail-none_svg__fill", + d: "M34.667 5.333a2.667 2.667 0 010 5.334H13.333a2.667 2.667 0 00-2.666 2.666v37.334c0 1.143.72 2.118 1.73 2.497l28.384-28.383a2.667 2.667 0 013.771 0l8.781 8.78v-4.228a2.667 2.667 0 012.498-2.661l.169-.005a2.667 2.667 0 012.667 2.666v21.334a8 8 0 01-8 8H13.33a8 8 0 01-7.998-8V13.333a8 8 0 018-8zm8 25.105L19.77 53.333h30.897a2.667 2.667 0 002.661-2.498l.005-.168v-9.563L42.667 30.438zM22.667 16a6.666 6.666 0 110 13.333 6.666 6.666 0 010-13.333zm0 5.333a1.334 1.334 0 100 2.667 1.334 1.334 0 000-2.667zM56.78 3.448a2.665 2.665 0 013.771 0 2.665 2.665 0 010 3.771l-4.782 4.78 4.782 4.782c.998.998 1.04 2.59.125 3.638l-.125.133a2.665 2.665 0 01-3.771 0l-4.782-4.781-4.78 4.781a2.667 2.667 0 01-3.638.125l-.133-.125a2.665 2.665 0 010-3.771L48.228 12l-4.78-4.781a2.667 2.667 0 01-.125-3.638l.125-.133a2.665 2.665 0 013.771 0l4.78 4.78z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconThumbnailNone(props) { + return React.createElement("svg", _extends$O({ + viewBox: "0 0 64 64" + }, props), _ref$O); +} + +function _extends$P() { _extends$P = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$P.apply(this, arguments); } + +var _ref$P = +/*#__PURE__*/ +React.createElement("g", { + fill: "none", + fillRule: "evenodd" +}, React.createElement("rect", { + className: "icon-toggleoff_svg__fill", + width: 80, + height: 40, + x: 4, + y: 4, + fill: "#000", + rx: 20 +}), React.createElement("circle", { + cx: 24, + cy: 24, + r: 12, + fill: "#FFF" +}), React.createElement("path", { + fill: "#FFF", + d: "M64 4c11.046 0 20 8.954 20 20s-8.954 20-20 20H24C12.954 44 4 35.046 4 24S12.954 4 24 4h40zm0 2H24C14.059 6 6 14.059 6 24c0 9.764 7.774 17.712 17.47 17.992L24 42h40c9.941 0 18-8.059 18-18 0-9.764-7.774-17.712-17.47-17.992L64 6z" +}), React.createElement("path", { + className: "icon-toggleoff_svg__fill", + fill: "#000", + d: "M64 0H24C10.745 0 0 10.745 0 24s10.745 24 24 24h40c13.255 0 24-10.745 24-24S77.255 0 64 0zm0 4c11.046 0 20 8.954 20 20s-8.954 20-20 20H24C12.954 44 4 35.046 4 24S12.954 4 24 4h40z" +})); + +function SvgIconToggleoff(props) { + return React.createElement("svg", _extends$P({ + viewBox: "0 0 88 48" + }, props), _ref$P); +} + +function _extends$Q() { _extends$Q = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$Q.apply(this, arguments); } + +var _ref$Q = +/*#__PURE__*/ +React.createElement("g", { + fill: "none", + fillRule: "evenodd" +}, React.createElement("rect", { + className: "icon-toggleon_svg__fill", + width: 80, + height: 40, + x: 4, + y: 4, + fill: "#000", + rx: 20 +}), React.createElement("circle", { + cx: 64, + cy: 24, + r: 12, + fill: "#FFF" +}), React.createElement("path", { + fill: "#FFF", + d: "M64 4c11.046 0 20 8.954 20 20s-8.954 20-20 20H24C12.954 44 4 35.046 4 24S12.954 4 24 4h40zm0 2H24C14.059 6 6 14.059 6 24c0 9.764 7.774 17.712 17.47 17.992L24 42h40c9.941 0 18-8.059 18-18 0-9.764-7.774-17.712-17.47-17.992L64 6z" +}), React.createElement("path", { + className: "icon-toggleon_svg__fill", + fill: "#000", + d: "M64 0H24C10.745 0 0 10.745 0 24s10.745 24 24 24h40c13.255 0 24-10.745 24-24S77.255 0 64 0zm0 4c11.046 0 20 8.954 20 20s-8.954 20-20 20H24C12.954 44 4 35.046 4 24S12.954 4 24 4h40z" +})); + +function SvgIconToggleon(props) { + return React.createElement("svg", _extends$Q({ + viewBox: "0 0 88 48" + }, props), _ref$Q); +} + +function _extends$R() { _extends$R = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$R.apply(this, arguments); } + +var _ref$R = +/*#__PURE__*/ +React.createElement("path", { + className: "icon-user_svg__fill", + d: "M42.667 37.333c7.17 0 13.018 5.66 13.32 12.755l.013.579V56a2.667 2.667 0 01-5.315.311L50.667 56v-5.333c0-4.26-3.33-7.743-7.53-7.987l-.47-.013H21.333a8 8 0 00-7.986 7.53l-.014.47V56a2.667 2.667 0 01-5.316.311L8 56v-5.333c0-7.17 5.66-13.019 12.755-13.321l.578-.013h21.334zM32 5.333c7.364 0 13.333 5.97 13.333 13.334C45.333 26.03 39.363 32 32 32c-7.364 0-13.333-5.97-13.333-13.333 0-7.364 5.97-13.334 13.333-13.334zm0 5.334a8 8 0 100 16 8 8 0 000-16z", + fill: "#000", + fillRule: "evenodd" +}); + +function SvgIconUser(props) { + return React.createElement("svg", _extends$R({ + viewBox: "0 0 64 64" + }, props), _ref$R); +} + +var Colors = { + DEFAULT: 'DEFAULT', + PRIMARY: 'PRIMARY', + SECONDARY: 'SECONDARY', + CONTENT: 'CONTENT', + CONTENT_INVERSE: 'CONTENT_INVERSE', + WHITE: 'WHITE', + SENT: 'SENT', + READ: 'READ', + ON_BACKGROUND_2: 'ON_BACKGROUND_2', + ON_BACKGROUND_3: 'ON_BACKGROUND_3', + BACKGROUND_3: 'BACKGROUND_3' +}; + +function changeColorToClassName(color) { + switch (color) { + case Colors.PRIMARY: + return 'sendbird-color--primary'; + + case Colors.SECONDARY: + return 'sendbird-color--secondary'; + + case Colors.CONTENT: + return 'sendbird-color--content'; + + case Colors.CONTENT_INVERSE: + return 'sendbird-color--content-inverse'; + + case Colors.WHITE: + return 'sendbird-color--white'; + + case Colors.SENT: + return 'sendbird-color--sent'; + + case Colors.READ: + return 'sendbird-color--read'; + + case Colors.ON_BACKGROUND_2: + return 'sendbird-color--on-background-2'; + + case Colors.ON_BACKGROUND_3: + return 'sendbird-color--on-background-3'; + + case Colors.BACKGROUND_3: + return 'sendbird-color--background-3'; + + default: + return ''; + } +} + +function changeTypeToIconComponent(type) { + switch (type) { + case Type.ADD: + return React.createElement(SvgIconAdd, null); + + case Type.ARROW_LEFT: + return React.createElement(SvgIconArrowLeft, null); + + case Type.ATTACH: + return React.createElement(SvgIconAttach, null); + + case Type.BAN: + return React.createElement(SvgIconBan, null); + + case Type.BROADCAST: + return React.createElement(SvgIconBroadcast, null); + + case Type.CAMERA: + return React.createElement(SvgIconCamera, null); + + case Type.CHANNELS: + return React.createElement(SvgIconChannels, null); + + case Type.CHAT: + return React.createElement(SvgIconChat, null); + + case Type.CHAT_FILLED: + return React.createElement(SvgIconChatFilled, null); + + case Type.CHEVRON_DOWN: + return React.createElement(SvgIconChevronDown, null); + + case Type.CHEVRON_RIGHT: + return React.createElement(SvgIconChevronRight, null); + + case Type.CLOSE: + return React.createElement(SvgIconClose, null); + + case Type.COLLAPSE: + return React.createElement(SvgIconCollapse, null); + + case Type.COPY: + return React.createElement(SvgIconCopy, null); + + case Type.CREATE: + return React.createElement(SvgIconCreate, null); + + case Type.DELETE: + return React.createElement(SvgIconDelete, null); + + case Type.DISCONNECTED: + return React.createElement(SvgIconDisconnected, null); + + case Type.DOCUMENT: + return React.createElement(SvgIconDocument, null); + + case Type.DONE: + return React.createElement(SvgIconDone, null); + + case Type.DONE_ALL: + return React.createElement(SvgIconDoneAll, null); + + case Type.DOWNLOAD: + return React.createElement(SvgIconDownload, null); + + case Type.EDIT: + return React.createElement(SvgIconEdit, null); + + case Type.EMOJI_MORE: + return React.createElement(SvgIconEmojiMore, null); + + case Type.ERROR: + return React.createElement(SvgIconError, null); + + case Type.EXPAND: + return React.createElement(SvgIconExpand, null); + + case Type.FILE_AUDIO: + return React.createElement(SvgIconFileAudio, null); + + case Type.FILE_DOCUMENT: + return React.createElement(SvgIconFileDocument, null); + + case Type.FREEZE: + return React.createElement(SvgIconFreeze, null); + + case Type.GIF: + return React.createElement(SvgIconGif, null); + + case Type.INFO: + return React.createElement(SvgIconInfo, null); + + case Type.LEAVE: + return React.createElement(SvgIconLeave, null); + + case Type.MEMBERS: + return React.createElement(SvgIconMembers, null); + + case Type.MESSAGE: + return React.createElement(SvgIconMessage, null); + + case Type.MODERATIONS: + return React.createElement(SvgIconModerations, null); + + case Type.MORE: + return React.createElement(SvgIconMore, null); + + case Type.MUTE: + return React.createElement(SvgIconMute, null); + + case Type.NOTIFICATIONS: + return React.createElement(SvgIconNotifications, null); + + case Type.NOTIFICATIONS_OFF_FILLED: + return React.createElement(SvgIconNotificationsOffFilled, null); + + case Type.OPERATOR: + return React.createElement(SvgIconOperator, null); + + case Type.PHOTO: + return React.createElement(SvgIconPhoto, null); + + case Type.PLAY: + return React.createElement(SvgIconPlay, null); + + case Type.PLUS: + return React.createElement(SvgIconPlus, null); + + case Type.QUESTION: + return React.createElement(SvgIconQuestion, null); + + case Type.REFRESH: + return React.createElement(SvgIconRefresh, null); + + case Type.REMOVE: + return React.createElement(SvgIconRemove, null); + + case Type.SEARCH: + return React.createElement(SvgIconSearch, null); + + case Type.SEND: + return React.createElement(SvgIconSend, null); + + case Type.SETTINGS_FILLED: + return React.createElement(SvgIconSettingsFilled, null); + + case Type.SPINNER: + return React.createElement(SvgIconSpinner, null); + + case Type.SUPERGROUP: + return React.createElement(SvgIconSupergroup, null); + + case Type.THUMBNAIL_NONE: + return React.createElement(SvgIconThumbnailNone, null); + + case Type.TOGGLE_OFF: + return React.createElement(SvgIconToggleoff, null); + + case Type.TOGGLE_ON: + return React.createElement(SvgIconToggleon, null); + + case Type.USER: + return React.createElement(SvgIconUser, null); + + default: + return 'icon'; + // If you see this text 'icon' replace icon for it + } +} + +function Icon(_ref) { + var type = _ref.type, + width = _ref.width, + height = _ref.height, + children = _ref.children, + className = _ref.className, + onClick = _ref.onClick, + fillColor = _ref.fillColor; + var iconStyle = { + width: typeof width === 'string' ? width : "".concat(width, "px"), + minWidth: typeof width === 'string' ? width : "".concat(width, "px"), + height: typeof height === 'string' ? height : "".concat(height, "px"), + minHeight: typeof height === 'string' ? height : "".concat(height, "px") + }; + var injectingClassName = Array.isArray(className) ? className : [className]; + return React.createElement("div", { + onClick: onClick, + onKeyDown: onClick, + role: "button", + tabIndex: "0", + className: [].concat(_toConsumableArray(injectingClassName), ['sendbird-icon', changeColorToClassName(fillColor)]).join(' '), + style: iconStyle + }, children || changeTypeToIconComponent(type)); +} +Icon.propTypes = { + type: PropTypes.oneOfType([PropTypes.oneOf(Object.keys(Type)), PropTypes.string]).isRequired, + width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + onClick: PropTypes.func, + children: PropTypes.element, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + fillColor: PropTypes.oneOf(Object.keys(Colors)) +}; +Icon.defaultProps = { + onClick: function onClick() {}, + width: 26, + height: 26, + children: null, + className: '', + fillColor: Colors.DEFAULT +}; +var IconTypes = Type; +var IconColors = Colors; + +var pxToNumber = (function (px) { + if (typeof px === 'number') { + return px; + } + + if (typeof px === 'string') { + var parsed = Number.parseFloat(px); + + if (!Number.isNaN(parsed)) { + return parsed; + } + } + + return null; +}); + +var imageRendererClassName = 'sendbird-avatar-img'; + +var defaultComponent = function defaultComponent(_a) { + var width = _a.width, + height = _a.height; + return function () { + var iconWidth = pxToNumber(width); + var iconHeight = pxToNumber(height); + + if (typeof iconWidth === 'number') { + iconWidth *= 0.575; + } + + if (typeof iconHeight === 'number') { + iconHeight *= 0.575; + } + + return React.createElement("div", { + className: imageRendererClassName, + style: { + width: width, + height: height + } + }, React.createElement(Icon, { + type: IconTypes.USER, + fillColor: IconColors.CONTENT, + width: iconWidth, + height: iconHeight + })); + }; +}; + +var AvatarInner = function AvatarInner(_a) { + var _b = _a.src, + src = _b === void 0 ? '' : _b, + _c = _a.alt, + alt = _c === void 0 ? '' : _c, + height = _a.height, + width = _a.width; + + if (typeof src === 'string') { + return React.createElement(ImageRenderer, { + className: imageRendererClassName, + url: src, + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + }); + } + + if (src && src.length) { + if (src.length === 1) { + return React.createElement(ImageRenderer, { + className: imageRendererClassName, + url: src[0], + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + }); + } + + if (src.length === 2) { + return React.createElement("div", { + className: "sendbird-avatar--inner__two-child" + }, React.createElement(ImageRenderer, { + className: imageRendererClassName, + url: src[0], + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + }), React.createElement(ImageRenderer, { + className: imageRendererClassName, + url: src[1], + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + })); + } + + if (src.length === 3) { + return React.createElement(React.Fragment, null, React.createElement("div", { + className: "sendbird-avatar--inner__three-child--upper" + }, React.createElement(ImageRenderer, { + className: imageRendererClassName, + url: src[0], + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + })), React.createElement("div", { + className: "sendbird-avatar--inner__three-child--lower" + }, React.createElement(ImageRenderer, { + className: imageRendererClassName, + url: src[1], + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + }), React.createElement(ImageRenderer, { + className: imageRendererClassName, + url: src[2], + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + }))); + } + + return React.createElement("div", { + className: "sendbird-avatar--inner__four-child" + }, src.slice(0, 4).map(function (i) { + return React.createElement(ImageRenderer, { + className: imageRendererClassName, + url: i, + height: height, + width: width, + alt: alt, + key: uuidv4(), + defaultComponent: defaultComponent({ + height: height, + width: width + }) + }); + })); + } // default img + + + return React.createElement(ImageRenderer, { + className: imageRendererClassName, + url: "", + height: height, + width: width, + alt: alt, + defaultComponent: defaultComponent({ + height: height, + width: width + }) + }); +}; + +function Avatar(_a, ref) { + var _b = _a.src, + src = _b === void 0 ? '' : _b, + _c = _a.alt, + alt = _c === void 0 ? '' : _c, + _d = _a.width, + width = _d === void 0 ? '56px' : _d, + _e = _a.height, + height = _e === void 0 ? '56px' : _e, + onClick = _a.onClick, + _f = _a.className, + className = _f === void 0 ? '' : _f; + var injectingClassName = Array.isArray(className) ? className : [className]; + return React.createElement("div", { + className: __spreadArrays(injectingClassName, ['sendbird-avatar']).join(' '), + ref: ref, + style: { + height: height, + width: width + }, + onClick: onClick, + role: "button", + tabIndex: 0, + onKeyDown: onClick + }, React.createElement(AvatarInner, { + src: src, + height: height, + width: width, + alt: alt + })); +} + +var Avatar$1 = React.forwardRef(Avatar); + +var Typography = { + H_1: 'H_1', + H_2: 'H_2', + SUBTITLE_1: 'SUBTITLE_1', + SUBTITLE_2: 'SUBTITLE_2', + BODY_1: 'BODY_1', + BODY_2: 'BODY_2', + BUTTON_1: 'BUTTON_1', + BUTTON_2: 'BUTTON_2', + CAPTION_1: 'CAPTION_1', + CAPTION_2: 'CAPTION_2', + CAPTION_3: 'CAPTION_3' +}; +var Colors$1 = { + ONBACKGROUND_1: 'ONBACKGROUND_1', + ONBACKGROUND_2: 'ONBACKGROUND_2', + ONBACKGROUND_3: 'ONBACKGROUND_3', + ONCONTENT_1: 'ONCONTENT_1', + ONCONTENT_2: 'ONCONTENT_2', + PRIMARY: 'PRIMARY', + ERROR: 'ERROR', + SECONDARY_3: 'SECONDARY_3' +}; + +function changeTypographyToClassName(type) { + switch (type) { + case Typography.H_1: + return 'sendbird-label--h-1'; + + case Typography.H_2: + return 'sendbird-label--h-2'; + + case Typography.SUBTITLE_1: + return 'sendbird-label--subtitle-1'; + + case Typography.SUBTITLE_2: + return 'sendbird-label--subtitle-2'; + + case Typography.BODY_1: + return 'sendbird-label--body-1'; + + case Typography.BODY_2: + return 'sendbird-label--body-2'; + + case Typography.BUTTON_1: + return 'sendbird-label--button-1'; + + case Typography.BUTTON_2: + return 'sendbird-label--button-2'; + + case Typography.CAPTION_1: + return 'sendbird-label--caption-1'; + + case Typography.CAPTION_2: + return 'sendbird-label--caption-2'; + + case Typography.CAPTION_3: + return 'sendbird-label--caption-3'; + + default: + return null; + } +} +function changeColorToClassName$1(color) { + switch (color) { + case Colors$1.ONBACKGROUND_1: + return 'sendbird-label--color-onbackground-1'; + + case Colors$1.ONBACKGROUND_2: + return 'sendbird-label--color-onbackground-2'; + + case Colors$1.ONBACKGROUND_3: + return 'sendbird-label--color-onbackground-3'; + + case Colors$1.ONCONTENT_1: + return 'sendbird-label--color-oncontent-1'; + + case Colors$1.ONCONTENT_2: + return 'sendbird-label--color-oncontent-2'; + + case Colors$1.PRIMARY: + return 'sendbird-label--color-primary'; + // should be Primary-3 fix me + + case Colors$1.ERROR: + return 'sendbird-label--color-error'; + + case Colors$1.SECONDARY_3: + return 'sendbird-label--color-secondary-3'; + + default: + return null; + } +} + +var CLASS_NAME = 'sendbird-label'; +function Label(_ref) { + var type = _ref.type, + color = _ref.color, + children = _ref.children, + className = _ref.className; + var injectingClassName = Array.isArray(className) ? [CLASS_NAME].concat(_toConsumableArray(className)) : [CLASS_NAME, className]; + + if (type) { + injectingClassName.push(changeTypographyToClassName(type)); + } + + if (color) { + injectingClassName.push(changeColorToClassName$1(color)); + } + + return React.createElement("span", { + className: injectingClassName.join(' ') + }, children); +} +Label.propTypes = { + type: PropTypes.oneOf([].concat(_toConsumableArray(Object.keys(Typography)), [''])), + color: PropTypes.oneOf([].concat(_toConsumableArray(Object.keys(Colors$1)), [''])), + children: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.element, PropTypes.any]), + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]) +}; +Label.defaultProps = { + type: '', + color: '', + className: [], + children: null +}; +var LabelTypography = Typography; +var LabelColors = Colors$1; +var LabelStringSet = getStringSet('en'); + +var CLASS_NAME$1 = 'sendbird-iconbutton'; +var IconButton = React.forwardRef(function (props, ref) { + var children = props.children, + className = props.className, + _props$disabled = props.disabled, + disabled = _props$disabled === void 0 ? false : _props$disabled, + type = props.type, + height = props.height, + width = props.width, + _onClick = props.onClick, + _onBlur = props.onBlur, + style = props.style; + + var _useState = useState(''), + _useState2 = _slicedToArray(_useState, 2), + pressed = _useState2[0], + setPressed = _useState2[1]; + + var injectingClassName = Array.isArray(className) ? className : [className]; + injectingClassName.unshift(CLASS_NAME$1); + return (// eslint-disable-next-line react/button-has-type + React.createElement("button", { + className: "".concat(injectingClassName.join(' '), " ").concat(pressed), + disabled: disabled, + ref: ref, + type: type, + style: _objectSpread2({}, style, { + height: height, + width: width + }), + onClick: function onClick(e) { + if (disabled) { + return; + } + + setPressed('sendbird-iconbutton--pressed'); + + _onClick(e); + }, + onBlur: function onBlur(e) { + setPressed(''); + + _onBlur(e); + } + }, React.createElement("span", { + className: "sendbird-iconbutton__inner" + }, children)) + ); +}); +IconButton.propTypes = { + height: PropTypes.string, + width: PropTypes.string, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element), PropTypes.any]).isRequired, + type: PropTypes.string, + disabled: PropTypes.bool, + onClick: PropTypes.func, + onBlur: PropTypes.func, + style: PropTypes.shape({}) +}; +IconButton.defaultProps = { + height: '56px', + width: '56px', + className: '', + type: 'button', + disabled: false, + onClick: function onClick() {}, + onBlur: function onBlur() {}, + style: {} +}; + +// simple component to be used as modal root +var MODAL_ROOT = 'sendbird-modal-root'; + +var Type$1 = { + PRIMARY: 'PRIMARY', + SECONDARY: 'SECONDARY', + DANGER: 'DANGER', + DISABLED: 'DISABLED' +}; +var Size = { + BIG: 'BIG', + SMALL: 'SMALL' +}; + +function changeTypeToClassName(type) { + switch (type) { + case Type$1.PRIMARY: + return 'sendbird-button--primary'; + + case Type$1.SECONDARY: + return 'sendbird-button--secondary'; + + case Type$1.DANGER: + return 'sendbird-button--danger'; + + case Type$1.DISABLED: + return 'sendbird-button--disabled'; + + default: + return null; + } +} +function changeSizeToClassName(size) { + switch (size) { + case Size.BIG: + return 'sendbird-button--big'; + + case Size.SMALL: + return 'sendbird-button--small'; + + default: + return null; + } +} + +function Button(_ref) { + var type = _ref.type, + size = _ref.size, + children = _ref.children, + disabled = _ref.disabled, + onClick = _ref.onClick, + className = _ref.className; + var injectingClassNames = ['sendbird-button', disabled ? 'sendbird-button__disabled' : '', changeTypeToClassName(type), changeSizeToClassName(size)].concat(_toConsumableArray(Array.isArray(className) ? className : [className])).join(' '); + return React.createElement("button", { + type: "button", + className: injectingClassNames, + onClick: onClick, + disabled: disabled + }, React.createElement(Label, { + className: "sendbird-button__text", + type: LabelTypography.BUTTON_1, + color: LabelColors.ONCONTENT_1 + }, children)); +} +Button.propTypes = { + children: PropTypes.oneOfType([PropTypes.string, PropTypes.element, PropTypes.arrayOf(PropTypes.element)]), + disabled: PropTypes.bool, + type: PropTypes.oneOf(Object.keys(Type$1)), + size: PropTypes.oneOf(Object.keys(Size)), + onClick: PropTypes.func, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]) +}; +Button.defaultProps = { + children: 'Button', + type: Type$1.PRIMARY, + disabled: false, + size: Size.BIG, + onClick: function onClick() {}, + className: '' +}; + +var ModalHeader = function ModalHeader(_ref) { + var titleText = _ref.titleText; + return React.createElement("div", { + className: "sendbird-modal-header" + }, React.createElement(Label, { + type: LabelTypography.H_1, + color: LabelColors.ONBACKGROUND_1 + }, titleText)); +}; +ModalHeader.propTypes = { + titleText: PropTypes.string.isRequired +}; +var ModalBody = function ModalBody(_ref2) { + var children = _ref2.children; + return React.createElement("div", { + className: "sendbird-modal-body" + }, children); +}; +ModalBody.propTypes = { + children: PropTypes.oneOfType([PropTypes.element.isRequired, PropTypes.arrayOf(PropTypes.element.isRequired)]) +}; +ModalBody.defaultProps = { + children: null +}; +var ModalFooter = function ModalFooter(_ref3) { + var onSubmit = _ref3.onSubmit, + onCancel = _ref3.onCancel, + _ref3$disabled = _ref3.disabled, + disabled = _ref3$disabled === void 0 ? false : _ref3$disabled, + submitText = _ref3.submitText, + type = _ref3.type; + + var _useContext = useContext(LocalizationContext), + stringSet = _useContext.stringSet; + + return React.createElement("div", { + className: "sendbird-modal-footer" + }, React.createElement(Button, { + type: Type$1.SECONDARY, + onClick: onCancel + }, React.createElement(Label, { + type: LabelTypography.BUTTON_1, + color: LabelColors.ONBACKGROUND_1 + }, stringSet.BUTTON__CANCEL)), React.createElement(Button, { + type: type, + disabled: disabled, + onClick: onSubmit + }, submitText)); +}; +ModalFooter.propTypes = { + onCancel: PropTypes.func.isRequired, + onSubmit: PropTypes.func.isRequired, + submitText: PropTypes.string.isRequired, + disabled: PropTypes.bool, + type: PropTypes.string +}; +ModalFooter.defaultProps = { + disabled: false, + type: Type$1.DANGER +}; + +function Modal(props) { + var children = props.children, + onCancel = props.onCancel, + onSubmit = props.onSubmit, + disabled = props.disabled, + submitText = props.submitText, + titleText = props.titleText, + hideFooter = props.hideFooter, + type = props.type; + return createPortal(React.createElement("div", { + className: "sendbird-modal" + }, React.createElement("div", { + className: "sendbird-modal-content" + }, React.createElement(ModalHeader, { + titleText: titleText + }), React.createElement(ModalBody, null, children), !hideFooter && React.createElement(ModalFooter, { + disabled: disabled, + onCancel: onCancel, + onSubmit: onSubmit, + submitText: submitText, + type: type + }), React.createElement("div", { + className: "sendbird-modal-close" + }, React.createElement(IconButton, { + width: "32px", + height: "32px", + onClick: onCancel + }, React.createElement(Icon, { + type: IconTypes.CLOSE, + fillColor: IconColors.DEFAULT, + width: "24px", + height: "24px" + })))), React.createElement("div", { + className: "sendbird-modal-backdrop" + })), document.getElementById(MODAL_ROOT)); +} + +Modal.propTypes = { + children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)]), + onCancel: PropTypes.func.isRequired, + onSubmit: PropTypes.func.isRequired, + hideFooter: PropTypes.bool, + disabled: PropTypes.bool, + type: PropTypes.string +}; +Modal.defaultProps = { + children: null, + hideFooter: false, + disabled: false, + type: Type$1.DANGER +}; + +var Colors$2 = { + ONBACKGROUND_1: 'ONBACKGROUND_1', + ONBACKGROUND_2: 'ONBACKGROUND_2', + ONBACKGROUND_3: 'ONBACKGROUND_3', + ONBACKGROUND_4: 'ONBACKGROUND_4', + ONCONTENT_1: 'ONCONTENT_1', + PRIMARY: 'PRIMARY', + ERROR: 'ERROR' +}; +function changeColorToClassName$2(color) { + switch (color) { + case Colors$2.ONBACKGROUND_1: + return 'sendbird-color--onbackground-1'; + + case Colors$2.ONBACKGROUND_2: + return 'sendbird-color--onbackground-2'; + + case Colors$2.ONBACKGROUND_3: + return 'sendbird-color--onbackground-3'; + + case Colors$2.ONBACKGROUND_4: + return 'sendbird-color--onbackground-4'; + + case Colors$2.ONCONTENT_1: + return 'sendbird-color--oncontent-1'; + + case Colors$2.PRIMARY: + return 'sendbird-color--primary'; + + case Colors$2.ERROR: + return 'sendbird-color--error'; + + default: + return null; + } +} + +function TextButton(_ref) { + var color = _ref.color, + children = _ref.children, + disabled = _ref.disabled, + className = _ref.className, + onClick = _ref.onClick, + notUnderline = _ref.notUnderline; + var injectingClassName = Array.isArray(className) ? className : [className]; + return React.createElement("div", { + role: "button", + tabIndex: 0, + className: [].concat(_toConsumableArray(injectingClassName), [changeColorToClassName$2(color), notUnderline ? 'sendbird-textbutton--not-underline' : 'sendbird-textbutton', disabled ? 'sendbird-textbutton--disabled' : '']).join(' '), + onClick: onClick, + onKeyPress: onClick + }, children); +} +TextButton.propTypes = { + color: PropTypes.string, + children: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + onClick: PropTypes.func, + notUnderline: PropTypes.bool, + disabled: PropTypes.bool +}; +TextButton.defaultProps = { + color: Colors$2.ONBACKGROUND_1, + className: '', + onClick: function onClick() {}, + notUnderline: false, + disabled: false +}; + +function Types() { + return { + LOADING: 'LOADING', + NO_CHANNELS: 'NO_CHANNELS', + NO_MESSAGES: 'NO_MESSAGES', + WRONG: 'WRONG', + SEARCH_IN: 'SEARCH_IN', + SEARCHING: 'SEARCHING', + NO_RESULTS: 'NO_RESULTS' + }; +} +var PlaceHolderTypes = Types(); + +var SEND_MESSAGE_START = 'SEND_MESSAGE_START'; +var SEND_USER_MESSAGE = 'SEND_USER_MESSAGE'; +var SEND_FILE_MESSAGE = 'SEND_FILE_MESSAGE'; +var UPDATE_USER_MESSAGE = 'UPDATE_USER_MESSAGE'; +var DELETE_MESSAGE = 'DELETE_MESSAGE'; +var LEAVE_CHANNEL = 'LEAVE_CHANNEL'; +var CREATE_CHANNEL = 'CREATE_CHANNEL'; + +var getSdk = function getSdk(store) { + var _store$stores = store.stores, + stores = _store$stores === void 0 ? {} : _store$stores; + var _stores$sdkStore = stores.sdkStore, + sdkStore = _stores$sdkStore === void 0 ? {} : _stores$sdkStore; + var sdk = sdkStore.sdk; + return sdk; +}; +var getPubSub = function getPubSub(store) { + var _store$config = store.config, + config = _store$config === void 0 ? {} : _store$config; + var pubSub = config.pubSub; + return pubSub; +}; // SendBird disconnect. Invalidates currentUser +// eslint-disable-next-line max-len + +var getConnect = function getConnect(store) { + return function (userId, accessToken) { + return new Promise(function (resolve, reject) { + var sdk = getSdk(store); + + if (!sdk) { + reject(new Error('Sdk not found')); + } + + if (!accessToken) { + sdk.connect(userId).then(function (res) { + return resolve(res); + }).catch(function (err) { + return reject(err); + }); + } else { + sdk.connect(userId, accessToken).then(function (res) { + return resolve(res); + }).catch(function (err) { + return reject(err); + }); + } + }); + }; +}; // SendBird disconnect. Invalidates currentUser + +var getDisconnect = function getDisconnect(store) { + return function () { + return new Promise(function (resolve, reject) { + var sdk = getSdk(store); + + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.disconnect().then(function (res) { + return resolve(res); + }).catch(function (err) { + return reject(err); + }); + }); + }; +}; // Using the updateCurrentUserInfo() method +// you can update a user's nickname and profile image with a URL +// eslint-disable-next-line max-len + +var getUpdateUserInfo = function getUpdateUserInfo(store) { + return function (nickName, profileUrl) { + return new Promise(function (resolve, reject) { + var sdk = getSdk(store); + + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.updateCurrentUserInfo(nickName, profileUrl).then(function (res) { + return resolve(res); + }).catch(function (err) { + return reject(err); + }); + }); + }; +}; +var getSendUserMessage = function getSendUserMessage(store) { + return function (channelUrl, userMessageParams) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + var promisify = function promisify() { + var pendingMsg = null; + var pendingPromise = new Promise(function (resolve_, reject_) { + pendingMsg = channel.sendUserMessage(userMessageParams, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var message = res; + var error = err; + + if (swapParams) { + message = err; + error = res; + } + + if (error) { + reject_(error); + return; + } + + resolve_(message); + pubsub.publish(SEND_USER_MESSAGE, { + message: message, + channel: channel + }); + }); + pubsub.publish(SEND_MESSAGE_START, { + message: pendingMsg, + channel: channel + }); + }); + + pendingPromise.get = function () { + return pendingMsg; + }; + + return pendingPromise; + }; + + resolve(promisify()); + }).catch(reject); + }); + }; +}; +var getSendFileMessage = function getSendFileMessage(store) { + return function (channelUrl, fileMessageParams) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + var promisify = function promisify() { + var pendingMsg = null; + var pendingPromise = new Promise(function (resolve_, reject_) { + pendingMsg = channel.sendFileMessage(fileMessageParams, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var message = res; + var error = err; + + if (swapParams) { + message = err; + error = res; + } + + if (error) { + reject_(error); + return; + } + + resolve_(message); + pubsub.publish(SEND_FILE_MESSAGE, { + message: message, + channel: channel + }); + }); + }); + + if (fileMessageParams.file) { + // keep the file's local version in pendingMsg.localUrl + // because promise doesnt allow overriding of pendingMsg.url + // eslint-disable-next-line no-param-reassign + pendingMsg.localUrl = URL.createObjectURL(fileMessageParams.file); + } + + if (fileMessageParams.fileUrl) { + // eslint-disable-next-line no-param-reassign + pendingMsg.localUrl = fileMessageParams.fileUrl; + } // eslint-disable-next-line no-param-reassign + + + pendingMsg.requestState = 'pending'; + pubsub.publish(SEND_MESSAGE_START, { + message: pendingMsg, + channel: channel + }); + + pendingPromise.get = function () { + return pendingMsg; + }; + + return pendingPromise; + }; + + resolve(promisify()); + }).catch(reject); + }); + }; +}; +var getUpdateUserMessage = function getUpdateUserMessage(store) { + return function (channelUrl, messageId, params) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + channel.updateUserMessage(messageId, params, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var message = res; + var error = err; + + if (swapParams) { + message = err; + error = res; + } + + if (error) { + reject(error); + return; + } + + resolve(message); + pubsub.publish(UPDATE_USER_MESSAGE, { + message: message, + channel: channel, + // workaround for updating channelPreview on message-edit + // https://sendbird.atlassian.net/browse/UIKIT-268 + fromSelector: true + }); + }); + }).catch(reject); + }); + }; +}; +var getDeleteMessage = function getDeleteMessage(store) { + return function (channelUrl, message) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + var messageId = message.messageId; + channel.deleteMessage(message, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var error = err; + + if (swapParams) { + error = res; + } + + if (error) { + reject(error); + return; + } + + resolve(message); + pubsub.publish(DELETE_MESSAGE, { + messageId: messageId, + channel: channel + }); + }); + }).catch(reject); + }); + }; +}; +var getResendUserMessage = function getResendUserMessage(store) { + return function (channelUrl, failedMessage) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + channel.resendUserMessage(failedMessage).then(function (message) { + resolve(message); + pubsub.publish(SEND_USER_MESSAGE, { + message: message, + channel: channel + }); + }).catch(reject); + }).catch(reject); + }); + }; +}; +var getResendFileMessage = function getResendFileMessage(store) { + return function (channelUrl, failedMessage) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + channel.resendFileMessage(failedMessage).then(function (message) { + resolve(message); + pubsub.publish(SEND_FILE_MESSAGE, { + message: message, + channel: channel + }); + }).catch(reject); + }).catch(reject); + }); + }; +}; +var getCreateChannel = function getCreateChannel(store) { + return function (params) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.createChannel(params).then(function (channel) { + resolve(channel); + pubsub.publish(CREATE_CHANNEL, { + channel: channel + }); + }).catch(reject); + }); + }; +}; +var getLeaveChannel = function getLeaveChannel(store) { + return function (channelUrl) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + channel.leave().then(function () { + resolve(channel); + pubsub.publish(LEAVE_CHANNEL, { + channel: channel + }); + }).catch(reject); + }).catch(reject); + }); + }; +}; +var getFreezeChannel = function getFreezeChannel(store) { + return function (channelUrl) { + var sdk = getSdk(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + channel.freeze().then(function () { + // do not need pubsub here - event listener works + resolve(channel); + }).catch(reject); + }).catch(reject); + }); + }; +}; +var getUnFreezeChannel = function getUnFreezeChannel(store) { + return function (channelUrl) { + var sdk = getSdk(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + channel.unfreeze().then(function () { + // do not need pubsub here - event listener works + resolve(channel); + }).catch(reject); + }).catch(reject); + }); + }; +}; +var getCreateOpenChannel = function getCreateOpenChannel(store) { + return function (params) { + var sdk = getSdk(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.createChannel(params).then(function (channel) { + resolve(channel); + }).catch(reject); + }); + }; +}; +var enterOpenChannel = function enterOpenChannel(store) { + return function (channelUrl) { + var sdk = getSdk(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.getChannel(channelUrl, function (openChannel, error) { + if (error) { + reject(new Error(error)); + return; + } + + openChannel.enter(function (response, enterError) { + if (error) { + reject(new Error(enterError)); + return; + } + + resolve(response); + }); + }); + }); + }; +}; +var exitOpenChannel = function exitOpenChannel(store) { + return function (channelUrl) { + var sdk = getSdk(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.getChannel(channelUrl, function (openChannel, error) { + if (error) { + reject(new Error(error)); + return; + } + + openChannel.exit(function (response, exitError) { + if (error) { + reject(new Error(exitError)); + return; + } + + resolve(response); + }); + }); + }); + }; +}; +var getOpenChannelSendUserMessage = function getOpenChannelSendUserMessage(store) { + return function (channelUrl, userMessageParams) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.getChannel(channelUrl).then(function (channel) { + var promisify = function promisify() { + var pendingMsg = null; + var pendingPromise = new Promise(function (resolve_, reject_) { + pendingMsg = channel.sendUserMessage(userMessageParams, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var message = res; + var error = err; + + if (swapParams) { + message = err; + error = res; + } + + if (error) { + reject_(error); + return; + } + + resolve_(message); + pubsub.publish(SEND_USER_MESSAGE, { + message: message, + channel: channel + }); + }); + pubsub.publish(SEND_MESSAGE_START, { + message: pendingMsg, + channel: channel + }); + }); + + pendingPromise.get = function () { + return pendingMsg; + }; + + return pendingPromise; + }; + + resolve(promisify()); + }).catch(reject); + }); + }; +}; +var getOpenChannelSendFileMessage = function getOpenChannelSendFileMessage(store) { + return function (channelUrl, fileMessageParams) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.getChannel(channelUrl).then(function (channel) { + var promisify = function promisify() { + var pendingMsg = null; + var pendingPromise = new Promise(function (resolve_, reject_) { + pendingMsg = channel.sendFileMessage(fileMessageParams, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var message = res; + var error = err; + + if (swapParams) { + message = err; + error = res; + } + + if (error) { + reject_(error); + return; + } + + resolve_(message); + pubsub.publish(SEND_FILE_MESSAGE, { + message: message, + channel: channel + }); + }); + }); + + if (fileMessageParams.file) { + // keep the file's local version in pendingMsg.localUrl + // because promise doesnt allow overriding of pendingMsg.url + // eslint-disable-next-line no-param-reassign + pendingMsg.localUrl = URL.createObjectURL(fileMessageParams.file); + } + + if (fileMessageParams.fileUrl) { + // eslint-disable-next-line no-param-reassign + pendingMsg.localUrl = fileMessageParams.fileUrl; + } // eslint-disable-next-line no-param-reassign + + + pendingMsg.requestState = 'pending'; + pubsub.publish(SEND_MESSAGE_START, { + message: pendingMsg, + channel: channel + }); + + pendingPromise.get = function () { + return pendingMsg; + }; + + return pendingPromise; + }; + + resolve(promisify()); + }).catch(reject); + }); + }; +}; +var getOpenChannelUpdateUserMessage = function getOpenChannelUpdateUserMessage(store) { + return function (channelUrl, messageId, params) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.getChannel(channelUrl).then(function (channel) { + channel.updateUserMessage(messageId, params, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var message = res; + var error = err; + + if (swapParams) { + message = err; + error = res; + } + + if (error) { + reject(error); + return; + } + + resolve(message); + pubsub.publish(UPDATE_USER_MESSAGE, { + message: message, + channel: channel, + // workaround for updating channelPreview on message-edit + // https://sendbird.atlassian.net/browse/UIKIT-268 + fromSelector: true + }); + }); + }).catch(reject); + }); + }; +}; +var getOpenChannelDeleteMessage = function getOpenChannelDeleteMessage(store) { + return function (channelUrl, message) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.GroupChannel.getChannel(channelUrl).then(function (channel) { + var messageId = message.messageId; + channel.deleteMessage(message, function (res, err) { + var swapParams = sdk.getErrorFirstCallback(); + var error = err; + + if (swapParams) { + error = res; + } + + if (error) { + reject(error); + return; + } + + resolve(message); + pubsub.publish(DELETE_MESSAGE, { + messageId: messageId, + channel: channel + }); + }); + }).catch(reject); + }); + }; +}; +var getOpenChannelResendUserMessage = function getOpenChannelResendUserMessage(store) { + return function (channelUrl, failedMessage) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.getChannel(channelUrl).then(function (channel) { + channel.resendUserMessage(failedMessage).then(function (message) { + resolve(message); + pubsub.publish(SEND_USER_MESSAGE, { + message: message, + channel: channel + }); + }).catch(reject); + }).catch(reject); + }); + }; +}; +var getOpenChannelResendFileMessage = function getOpenChannelResendFileMessage(store) { + return function (channelUrl, failedMessage) { + var sdk = getSdk(store); + var pubsub = getPubSub(store); + return new Promise(function (resolve, reject) { + if (!sdk) { + reject(new Error('Sdk not found')); + } + + sdk.OpenChannel.getChannel(channelUrl).then(function (channel) { + channel.resendFileMessage(failedMessage).then(function (message) { + resolve(message); + pubsub.publish(SEND_FILE_MESSAGE, { + message: message, + channel: channel + }); + }).catch(reject); + }).catch(reject); + }); + }; +}; +var selectors = { + getSdk: getSdk, + getConnect: getConnect, + getDisconnect: getDisconnect, + getUpdateUserInfo: getUpdateUserInfo, + getSendUserMessage: getSendUserMessage, + getSendFileMessage: getSendFileMessage, + getUpdateUserMessage: getUpdateUserMessage, + getDeleteMessage: getDeleteMessage, + getResendUserMessage: getResendUserMessage, + getResendFileMessage: getResendFileMessage, + getFreezeChannel: getFreezeChannel, + getUnFreezeChannel: getUnFreezeChannel, + getCreateChannel: getCreateChannel, + getLeaveChannel: getLeaveChannel, + getCreateOpenChannel: getCreateOpenChannel, + getEnterOpenChannel: enterOpenChannel, + getExitOpenChannel: exitOpenChannel, + getOpenChannelSendUserMessage: getOpenChannelSendUserMessage, + getOpenChannelSendFileMessage: getOpenChannelSendFileMessage, + getOpenChannelUpdateUserMessage: getOpenChannelUpdateUserMessage, + getOpenChannelDeleteMessage: getOpenChannelDeleteMessage, + getOpenChannelResendUserMessage: getOpenChannelResendUserMessage, + getOpenChannelResendFileMessage: getOpenChannelResendFileMessage +}; + +function UserProfile(_a) { + var user = _a.user, + currentUserId = _a.currentUserId, + sdk = _a.sdk, + logger = _a.logger, + _b = _a.disableMessaging, + disableMessaging = _b === void 0 ? false : _b, + createChannel = _a.createChannel, + onSuccess = _a.onSuccess; + var stringSet = useContext(LocalizationContext).stringSet; + return React.createElement("div", { + className: "sendbird__user-profile" + }, React.createElement("section", { + className: "sendbird__user-profile-avatar" + }, React.createElement(Avatar$1, { + height: "80px", + width: "80px", + src: user.profileUrl + })), React.createElement("section", { + className: "sendbird__user-profile-name" + }, React.createElement(Label, { + type: LabelTypography.H_2, + color: LabelColors.ONBACKGROUND_1 + }, user.nickname || stringSet.NO_NAME)), user.userId !== currentUserId && !disableMessaging && React.createElement("section", { + className: "sendbird__user-profile-message" + }, React.createElement(Button, { + type: Type$1.SECONDARY, + onClick: function onClick() { + var params = new sdk.GroupChannelParams(); + params.isDistinct = true; + params.addUserIds([user.userId]); + onSuccess(); + createChannel(params).then(function (groupChannel) { + logger.info('UserProfile, channel create', groupChannel); + }); + } + }, stringSet.USER_PROFILE__MESSAGE)), React.createElement("div", { + className: "sendbird__user-profile-seperator" + }), React.createElement("section", { + className: "sendbird__user-profile-userId" + }, React.createElement(Label, { + className: "sendbird__user-profile-userId--label", + type: LabelTypography.CAPTION_2, + color: LabelColors.ONBACKGROUND_2 + }, stringSet.USER_PROFILE__USER_ID), React.createElement(Label, { + className: "sendbird__user-profile-userId--value", + type: LabelTypography.BODY_1, + color: LabelColors.ONBACKGROUND_1 + }, user.userId))); +} + +var mapStoreToProps = function mapStoreToProps(store) { + return { + sdk: getSdk(store), + createChannel: getCreateChannel(store), + logger: store.config.logger, + pubsub: store.config.pubSub + }; +}; + +var ConnectedUserProfile = withSendbirdContext(UserProfile, mapStoreToProps); + +var MenuItems = +/*#__PURE__*/ +function (_Component) { + _inherits(MenuItems, _Component); + + function MenuItems(props) { + var _this; + + _classCallCheck(this, MenuItems); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(MenuItems).call(this, props)); + + _defineProperty(_assertThisInitialized(_this), "showParent", function () { + var _this$props$parentCon = _this.props.parentContainRef, + parentContainRef = _this$props$parentCon === void 0 ? {} : _this$props$parentCon; + var current = parentContainRef.current; + + if (parentContainRef && current) { + current.classList.add('sendbird-icon--pressed'); + } + }); + + _defineProperty(_assertThisInitialized(_this), "hideParent", function () { + var _this$props$parentCon2 = _this.props.parentContainRef, + parentContainRef = _this$props$parentCon2 === void 0 ? {} : _this$props$parentCon2; + var current = parentContainRef.current; + + if (parentContainRef && current) { + current.classList.remove('sendbird-icon--pressed'); + } + }); + + _defineProperty(_assertThisInitialized(_this), "setupEvents", function () { + var closeDropdown = _this.props.closeDropdown; + + var _assertThisInitialize = _assertThisInitialized(_this), + menuRef = _assertThisInitialize.menuRef; + + var handleClickOutside = function handleClickOutside(event) { + if (menuRef.current && !menuRef.current.contains(event.target)) { + closeDropdown(); + } + }; + + _this.setState({ + handleClickOutside: handleClickOutside + }); + + document.addEventListener('mousedown', handleClickOutside); + }); + + _defineProperty(_assertThisInitialized(_this), "cleanUpEvents", function () { + var handleClickOutside = _this.state.handleClickOutside; + document.removeEventListener('mousedown', handleClickOutside); + }); + + _defineProperty(_assertThisInitialized(_this), "getMenuPosition", function () { + var _this$props = _this.props, + parentRef = _this$props.parentRef, + openLeft = _this$props.openLeft; + var parentRect = parentRef.current.getBoundingClientRect(); + var x = parentRect.x || parentRect.left; + var y = parentRect.y || parentRect.top; + var menuStyle = { + top: y, + left: x + }; + if (!_this.menuRef.current) return menuStyle; + var _window = window, + innerWidth = _window.innerWidth, + innerHeight = _window.innerHeight; + + var rect = _this.menuRef.current.getBoundingClientRect(); + + if (y + rect.height > innerHeight) { + menuStyle.top -= rect.height; + } + + if (x + rect.width > innerWidth && !openLeft) { + menuStyle.left -= rect.width; + } + + if (menuStyle.top < 0) { + menuStyle.top = rect.height < innerHeight ? (innerHeight - rect.height) / 2 : 0; + } + + if (menuStyle.left < 0) { + menuStyle.left = rect.width < innerWidth ? (innerWidth - rect.width) / 2 : 0; + } + + menuStyle.top += 32; + + if (openLeft) { + var padding = Number.isNaN(rect.width - 30) ? 108 // default + : rect.width - 30; + menuStyle.left -= padding; + } + + return _this.setState({ + menuStyle: menuStyle + }); + }); + + _this.menuRef = React.createRef(); + _this.state = { + menuStyle: {}, + handleClickOutside: function handleClickOutside() {} + }; + return _this; + } + + _createClass(MenuItems, [{ + key: "componentDidMount", + value: function componentDidMount() { + this.setupEvents(); + this.getMenuPosition(); + this.showParent(); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.cleanUpEvents(); + this.hideParent(); + } + }, { + key: "render", + value: function render() { + var menuStyle = this.state.menuStyle; + var _this$props2 = this.props, + children = _this$props2.children, + style = _this$props2.style; + return createPortal(React.createElement(React.Fragment, null, React.createElement("div", { + className: "sendbird-dropdown__menu-backdrop" + }), React.createElement("ul", { + className: "sendbird-dropdown__menu", + ref: this.menuRef, + style: _objectSpread2({ + display: 'inline-block', + position: 'fixed', + left: "".concat(Math.round(menuStyle.left), "px"), + top: "".concat(Math.round(menuStyle.top), "px") + }, style) + }, children)), document.getElementById('sendbird-dropdown-portal')); + } + }]); + + return MenuItems; +}(Component); +MenuItems.propTypes = { + closeDropdown: PropTypes.func.isRequired, + children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)]).isRequired, + style: PropTypes.shape({}), + // https://stackoverflow.com/a/51127130 + parentRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ + current: PropTypes.instanceOf(Element) + })]).isRequired, + parentContainRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ + current: PropTypes.instanceOf(Element) + })]).isRequired, + openLeft: PropTypes.bool +}; +MenuItems.defaultProps = { + style: {}, + openLeft: false +}; + +var componentClassName = 'sendbird-sort-by-row'; +function SortByRow(_ref) { + var className = _ref.className, + maxItemCount = _ref.maxItemCount, + itemWidth = _ref.itemWidth, + itemHeight = _ref.itemHeight, + children = _ref.children; + var injectingClassName = Array.isArray(className) ? className : [className]; + injectingClassName.unshift(componentClassName); + + if (children.length > maxItemCount) { + var result = []; + + for (var i = 0; i < children.length; i += maxItemCount) { + result.push(React.createElement("div", { + className: injectingClassName.join(' '), + style: { + width: itemWidth * maxItemCount, + height: itemHeight + }, + key: className + i + }, children.slice(i, i + maxItemCount))); + } + + return result; + } + + return React.createElement("div", { + className: injectingClassName.join(' '), + style: { + width: itemWidth * children.length, + height: itemHeight + } + }, children); +} +SortByRow.propTypes = { + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + maxItemCount: PropTypes.number.isRequired, + itemWidth: PropTypes.number.isRequired, + itemHeight: PropTypes.number.isRequired, + children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element), PropTypes.string, PropTypes.arrayOf(PropTypes.string)]).isRequired +}; +SortByRow.defaultProps = { + className: '' +}; + +var EmojiListItems = +/*#__PURE__*/ +function (_Component) { + _inherits(EmojiListItems, _Component); + + function EmojiListItems(props) { + var _this; + + _classCallCheck(this, EmojiListItems); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(EmojiListItems).call(this, props)); + + _defineProperty(_assertThisInitialized(_this), "showParent", function () { + var _this$props$parentCon = _this.props.parentContainRef, + parentContainRef = _this$props$parentCon === void 0 ? {} : _this$props$parentCon; + var current = parentContainRef.current; + + if (parentContainRef && current) { + current.classList.add('sendbird-reactions--pressed'); + } + }); + + _defineProperty(_assertThisInitialized(_this), "hideParent", function () { + var _this$props$parentCon2 = _this.props.parentContainRef, + parentContainRef = _this$props$parentCon2 === void 0 ? {} : _this$props$parentCon2; + var current = parentContainRef.current; + + if (parentContainRef && current) { + current.classList.remove('sendbird-reactions--pressed'); + } + }); + + _defineProperty(_assertThisInitialized(_this), "setupEvents", function () { + var closeDropdown = _this.props.closeDropdown; + + var _assertThisInitialize = _assertThisInitialized(_this), + reactionRef = _assertThisInitialize.reactionRef; + + var handleClickOutside = function handleClickOutside(event) { + if (reactionRef.current && !reactionRef.current.contains(event.target)) { + closeDropdown(); + } + }; + + _this.setState({ + handleClickOutside: handleClickOutside + }); + + document.addEventListener('mousedown', handleClickOutside); + }); + + _defineProperty(_assertThisInitialized(_this), "cleanUpEvents", function () { + var handleClickOutside = _this.state.handleClickOutside; + document.removeEventListener('mousedown', handleClickOutside); + }); + + _defineProperty(_assertThisInitialized(_this), "getBarPosition", function () { + var _this$props = _this.props, + parentRef = _this$props.parentRef, + spaceFromTrigger = _this$props.spaceFromTrigger; + var spaceFromTriggerX = spaceFromTrigger.x || 0; + var spaceFromTriggerY = spaceFromTrigger.y || 0; + var parentRect = parentRef.current.getBoundingClientRect(); + var x = parentRect.x || parentRect.left; + var y = parentRect.y || parentRect.top; + var reactionStyle = { + top: y, + left: x + }; + if (!_this.reactionRef.current) return reactionStyle; + + var rect = _this.reactionRef.current.getBoundingClientRect(); // const childRect = this.reactionRef.current.children[0].getBoundingClientRect(); + + + if (reactionStyle.top < rect.height) { + reactionStyle.top += parentRect.height; + reactionStyle.top += spaceFromTriggerY; + } else { + reactionStyle.top -= rect.height; + reactionStyle.top -= spaceFromTriggerY; + } + + reactionStyle.left -= rect.width / 2; + reactionStyle.left += parentRect.height / 2 - 2; + reactionStyle.left += spaceFromTriggerX; + var maximumLeft = window.innerWidth - rect.width; + + if (maximumLeft < reactionStyle.left) { + reactionStyle.left = maximumLeft; + } + + if (reactionStyle.left < 0) { + reactionStyle.left = 0; + } + + return _this.setState({ + reactionStyle: reactionStyle + }); + }); + + _this.reactionRef = React.createRef(); + _this.state = { + reactionStyle: {}, + handleClickOutside: function handleClickOutside() {} + }; + return _this; + } + + _createClass(EmojiListItems, [{ + key: "componentDidMount", + value: function componentDidMount() { + this.setupEvents(); + this.getBarPosition(); + this.showParent(); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.cleanUpEvents(); + this.hideParent(); + } + }, { + key: "render", + value: function render() { + var reactionStyle = this.state.reactionStyle; + var children = this.props.children; + return createPortal(React.createElement(React.Fragment, null, React.createElement("div", { + className: "sendbird-dropdown__menu-backdrop" + }), React.createElement("ul", { + className: "sendbird-dropdown__reaction-bar", + ref: this.reactionRef, + style: { + display: 'inline-block', + position: 'fixed', + left: "".concat(Math.round(reactionStyle.left), "px"), + top: "".concat(Math.round(reactionStyle.top), "px") + } + }, React.createElement(SortByRow, { + className: "sendbird-dropdown__reaction-bar__row", + maxItemCount: 8, + itemWidth: 44, + itemHeight: 40 + }, children))), document.getElementById('sendbird-emoji-list-portal')); + } + }]); + + return EmojiListItems; +}(Component); +EmojiListItems.propTypes = { + closeDropdown: PropTypes.func.isRequired, + children: PropTypes.oneOfType([PropTypes.element, PropTypes.arrayOf(PropTypes.element)]).isRequired, + parentRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ + current: PropTypes.instanceOf(Element) + })]).isRequired, + parentContainRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ + current: PropTypes.instanceOf(Element) + })]).isRequired, + spaceFromTrigger: PropTypes.shape({ + x: PropTypes.number, + y: PropTypes.number + }) +}; +EmojiListItems.defaultProps = { + spaceFromTrigger: {} +}; + +var ENTER = 13; +var MenuItems$1 = MenuItems; +var EmojiListItems$1 = EmojiListItems; +var MenuItem = function MenuItem(_ref) { + var children = _ref.children, + onClick = _ref.onClick, + className = _ref.className; + var injectingClassName = Array.isArray(className) ? className : [className]; + return React.createElement("li", { + tabIndex: 0, + className: [].concat(_toConsumableArray(injectingClassName), ['sendbird-dropdown__menu-item']).join(' '), + onClick: onClick, + onKeyPress: function onKeyPress(e) { + if (e.keyCode === ENTER) { + onClick(e); + } + }, + role: "menuitem" + }, React.createElement(Label, { + type: LabelTypography.SUBTITLE_2, + color: LabelColors.ONBACKGROUND_1, + className: "sendbird-dropdown__menu-item__text" + }, children)); +}; +MenuItem.propTypes = { + onClick: PropTypes.func.isRequired, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + children: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired +}; +MenuItem.defaultProps = { + className: '' +}; +function ContextMenu(_ref2) { + var menuTrigger = _ref2.menuTrigger, + menuItems = _ref2.menuItems; + + var _useState = useState(false), + _useState2 = _slicedToArray(_useState, 2), + showMenu = _useState2[0], + setShowMenu = _useState2[1]; + + return React.createElement("div", { + className: "sendbird-context-menu", + style: { + display: 'inline' + } + }, menuTrigger(function () { + return setShowMenu(!showMenu); + }), showMenu && menuItems(function () { + return setShowMenu(false); + })); +} +ContextMenu.propTypes = { + menuTrigger: PropTypes.func.isRequired, + menuItems: PropTypes.func.isRequired +}; + +function Loader(_ref) { + var children = _ref.children, + className = _ref.className, + width = _ref.width, + height = _ref.height; + var injectingClassName = Array.isArray(className) ? className : [className]; + return React.createElement("div", { + className: [].concat(_toConsumableArray(injectingClassName), ['sendbird-loader']).join(' '), + style: { + width: typeof width === 'string' ? width : "".concat(width, "px"), + height: typeof height === 'string' ? height : "".concat(height, "px") + } + }, children); +} +Loader.propTypes = { + children: PropTypes.element, + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), + height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]) +}; +Loader.defaultProps = { + children: React.createElement(Icon, { + type: IconTypes.SPINNER, + width: "26px", + height: "26px" + }), + className: '', + width: '26px', + height: '26px' +}; + +var PlaceHolderTypes$1 = PlaceHolderTypes; +function PlaceHolder(_ref) { + var className = _ref.className, + type = _ref.type, + retryToConnect = _ref.retryToConnect, + searchInString = _ref.searchInString; + + var _useContext = useContext(LocalizationContext), + stringSet = _useContext.stringSet; + + var injectingClassName = Array.isArray(className) ? className : [className]; + return React.createElement("div", { + className: [].concat(_toConsumableArray(injectingClassName), ['sendbird-place-holder']).join(' ') + }, type === PlaceHolderTypes$1.LOADING && React.createElement(Loader, { + width: "48px", + height: "48px" + }, React.createElement(Icon, { + type: IconTypes.SPINNER, + width: "48px", + height: "48px" + })), (type === PlaceHolderTypes$1.NO_CHANNELS || type === PlaceHolderTypes$1.NO_MESSAGES || type === PlaceHolderTypes$1.WRONG) && React.createElement("div", { + className: "sendbird-place-holder__body" + }, type === PlaceHolderTypes$1.NO_CHANNELS && React.createElement(Icon, { + className: "sendbird-place-holder__body__icon", + type: IconTypes.CHAT, + fillColor: IconColors.ON_BACKGROUND_3, + width: "64px", + height: "64px" + }), type === PlaceHolderTypes$1.WRONG && React.createElement(Icon, { + className: "sendbird-place-holder__body__icon", + type: IconTypes.ERROR, + fillColor: IconColors.ON_BACKGROUND_3, + width: "64px", + height: "64px" + }), type === PlaceHolderTypes$1.NO_MESSAGES && React.createElement(Icon, { + className: "sendbird-place-holder__body__icon", + type: IconTypes.MESSAGE, + fillColor: IconColors.ON_BACKGROUND_3, + width: "64px", + height: "64px" + }), React.createElement(Label, { + className: "sendbird-place-holder__body__text", + type: LabelTypography.BODY_1, + color: LabelColors.ONBACKGROUND_2 + }, type === PlaceHolderTypes$1.NO_CHANNELS && stringSet.PLACE_HOLDER__NO_CHANNEL, type === PlaceHolderTypes$1.WRONG && stringSet.PLACE_HOLDER__WRONG, type === PlaceHolderTypes$1.NO_MESSAGES && stringSet.PLACE_HOLDER__NO_MESSAGES), retryToConnect && React.createElement("div", { + className: "sendbird-place-holder__body__reconnect", + role: "button", + tabIndex: 0, + onClick: retryToConnect, + onKeyPress: retryToConnect + }, React.createElement(Icon, { + className: "sendbird-place-holder__body__reconnect__icon", + type: IconTypes.REFRESH, + fillColor: IconColors.PRIMARY, + width: "20px", + height: "20px" + }), React.createElement(Label, { + className: "sendbird-place-holder__body__reconnect__text", + type: LabelTypography.BUTTON_1, + color: LabelColors.PRIMARY + }, stringSet.PLACE_HOLDER__RETRY_TO_CONNECT))), (type === PlaceHolderTypes$1.NO_RESULTS || type === PlaceHolderTypes$1.SEARCH_IN || type === PlaceHolderTypes$1.SEARCHING) && React.createElement("div", { + className: "sendbird-place-holder__body--align-top" + }, type === PlaceHolderTypes$1.SEARCH_IN && React.createElement("div", { + className: "sendbird-place-holder__body--align-top__text" + }, React.createElement(Label, { + type: LabelTypography.BUTTON_2, + color: LabelColors.ONBACKGROUND_2 + }, stringSet.SEARCH_IN), React.createElement(Label, { + type: LabelTypography.BUTTON_2, + color: LabelColors.PRIMARY + }, "'".concat(searchInString, "'"))), type === PlaceHolderTypes$1.SEARCHING && React.createElement(Label, { + type: LabelTypography.BODY_1, + color: LabelColors.ONBACKGROUND_2 + }, stringSet.SEARCHING), type === PlaceHolderTypes$1.NO_RESULTS && React.createElement(Label, { + type: LabelTypography.BODY_1, + color: LabelColors.ONBACKGROUND_2 + }, stringSet.NO_SEARCHED_MESSAGE))); +} +PlaceHolder.propTypes = { + className: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]), + type: PropTypes.oneOfType([PropTypes.oneOf(Object.keys(PlaceHolderTypes$1)), PropTypes.string]).isRequired, + retryToConnect: PropTypes.func, + searchInString: PropTypes.string +}; +PlaceHolder.defaultProps = { + className: '', + retryToConnect: null, + searchInString: '' +}; + +export { Avatar$1 as A, Button as B, ContextMenu as C, DELETE_MESSAGE as D, EmojiListItems$1 as E, selectors as F, Icon as I, LabelStringSet as L, Modal as M, PlaceHolder as P, SEND_MESSAGE_START as S, Type$1 as T, UPDATE_USER_MESSAGE as U, IconTypes as a, IconColors as b, Label as c, LabelTypography as d, LabelColors as e, IconButton as f, TextButton as g, MenuItems$1 as h, MenuItem as i, CREATE_CHANNEL as j, LEAVE_CHANNEL as k, UserProfileProvider as l, PlaceHolderTypes as m, UserProfileContext as n, ConnectedUserProfile as o, SEND_USER_MESSAGE as p, SEND_FILE_MESSAGE as q, ImageRenderer as r, Loader as s, PlaceHolderTypes$1 as t, Colors$2 as u, changeColorToClassName$2 as v, Size as w, MODAL_ROOT as x, changeColorToClassName$1 as y, getSdk as z }; +//# sourceMappingURL=index-79d744e1.js.map diff --git a/index-79d744e1.js.map b/index-79d744e1.js.map new file mode 100644 index 0000000..58a41c3 --- /dev/null +++ b/index-79d744e1.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-79d744e1.js","sources":["../src/lib/UserProfileContext.jsx","../src/ui/ImageRenderer/index.jsx","../src/ui/Icon/type.js","../src/ui/Icon/index.jsx","../src/utils/pxToNumber.ts","../src/ui/Avatar/index.tsx","../src/ui/Label/types.js","../src/ui/Label/utils.js","../src/ui/Label/index.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/ui/PlaceHolder/type.js","../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","../src/ui/Loader/index.jsx","../src/ui/PlaceHolder/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\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 \n
\n {children}\n
\n
\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, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\n/*\n ImageRenderer displays image with url or source\n it checks if the source exist with img tag first\n if it exists onLoad is called, if not onError is called\n and those properties switch img tag to real purposing element\n*/\n\nexport default function ImageRenderer({\n alt,\n url,\n width,\n height,\n className,\n defaultComponent,\n circle,\n}) {\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift('sendbird-image-renderer');\n const [realElement, setRealElement] = useState(null);\n useEffect(() => {\n setRealElement(null);\n }, [url]);\n return (\n realElement || (\n {\n setRealElement(typeof defaultComponent === 'function' ? defaultComponent() : defaultComponent);\n }}\n onLoad={() => {\n setRealElement((\n \n ));\n }}\n />\n )\n );\n}\n\nImageRenderer.propTypes = {\n alt: PropTypes.string,\n url: PropTypes.string.isRequired,\n width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n className: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.string,\n ]),\n defaultComponent: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.func,\n ]),\n circle: PropTypes.bool,\n};\nImageRenderer.defaultProps = {\n alt: '',\n className: '',\n circle: false,\n defaultComponent: null,\n width: null,\n height: null,\n};\n","export default {\n ADD: 'ADD',\n ARROW_LEFT: 'ARROW_LEFT',\n ATTACH: 'ATTACH',\n BAN: 'BAN',\n BROADCAST: 'BROADCAST',\n CAMERA: 'CAMERA',\n CHANNELS: 'CHANNELS',\n CHAT: 'CHAT',\n CHAT_FILLED: 'CHAT_FILLED',\n CHEVRON_DOWN: 'CHEVRON_DOWN',\n CHEVRON_RIGHT: 'CHEVRON_RIGHT',\n CLOSE: 'CLOSE',\n COLLAPSE: 'COLLAPSE',\n COPY: 'COPY',\n CREATE: 'CREATE',\n DELETE: 'DELETE',\n DISCONNECTED: 'DISCONNECTED',\n DOCUMENT: 'DOCUMENT',\n DONE: 'DONE',\n DONE_ALL: 'DONE_ALL',\n DOWNLOAD: 'DOWNLOAD',\n EDIT: 'EDIT',\n EMOJI_MORE: 'EMOJI_MORE',\n ERROR: 'ERROR',\n EXPAND: 'EXPAND',\n FILE_AUDIO: 'FILE_AUDIO',\n FILE_DOCUMENT: 'FILE_DOCUMENT',\n FREEZE: 'FREEZE',\n GIF: 'GIF',\n INFO: 'INFO',\n LEAVE: 'LEAVE',\n MEMBERS: 'MEMBERS',\n MESSAGE: 'MESSAGE',\n MODERATIONS: 'MODERATIONS',\n MORE: 'MORE',\n MUTE: 'MUTE',\n NOTIFICATIONS: 'NOTIFICATIONS',\n NOTIFICATIONS_OFF_FILLED: 'NOTIFICATIONS_OFF_FILLED',\n OPERATOR: 'OPERATOR',\n PHOTO: 'PHOTO',\n PLAY: 'PLAY',\n PLUS: 'PLUS',\n QUESTION: 'QUESTION',\n REFRESH: 'REFRESH',\n REMOVE: 'REMOVE',\n SEARCH: 'SEARCH',\n SEND: 'SEND',\n SETTINGS_FILLED: 'SETTINGS_FILLED',\n SPINNER: 'SPINNER',\n SUPERGROUP: 'SUPERGROUP',\n THUMBNAIL_NONE: 'THUMBNAIL_NONE',\n TOGGLE_OFF: 'TOGGLE_OFF',\n TOGGLE_ON: 'TOGGLE_ON',\n USER: 'USER',\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Type from './type';\n\nimport IconAdd from '../../svgs/icon-add.svg';\nimport IconArrowLeft from '../../svgs/icon-arrow-left.svg';\nimport IconAttach from '../../svgs/icon-attach.svg';\nimport IconBan from '../../svgs/icon-ban.svg';\nimport IconBroadcast from '../../svgs/icon-broadcast.svg';\nimport IconCamera from '../../svgs/icon-camera.svg';\nimport IconChannels from '../../svgs/icon-channels.svg';\nimport IconChat from '../../svgs/icon-chat.svg';\nimport IconChatFilled from '../../svgs/icon-chat-filled.svg';\nimport IconChevronDown from '../../svgs/icon-chevron-down.svg';\nimport IconChevronRight from '../../svgs/icon-chevron-right.svg';\nimport IconClose from '../../svgs/icon-close.svg';\nimport IconCollapse from '../../svgs/icon-collapse.svg';\nimport IconCopy from '../../svgs/icon-copy.svg';\nimport IconCreate from '../../svgs/icon-create.svg';\nimport IconDelete from '../../svgs/icon-delete.svg';\nimport IconDisconnected from '../../svgs/icon-disconnected.svg';\nimport IconDocument from '../../svgs/icon-document.svg';\nimport IconDone from '../../svgs/icon-done.svg';\nimport IconDoneAll from '../../svgs/icon-done-all.svg';\nimport IconDownload from '../../svgs/icon-download.svg';\nimport IconEdit from '../../svgs/icon-edit.svg';\nimport IconEmojiMore from '../../svgs/icon-emoji-more.svg';\nimport IconError from '../../svgs/icon-error.svg';\nimport IconExpand from '../../svgs/icon-expand.svg';\nimport IconFileAudio from '../../svgs/icon-file-audio.svg';\nimport IconFileDocument from '../../svgs/icon-file-document.svg';\nimport IconFreeze from '../../svgs/icon-freeze.svg';\nimport IconGif from '../../svgs/icon-gif.svg';\nimport IconInfo from '../../svgs/icon-info.svg';\nimport IconLeave from '../../svgs/icon-leave.svg';\nimport IconMembers from '../../svgs/icon-members.svg';\nimport IconMessage from '../../svgs/icon-message.svg';\nimport IconModerations from '../../svgs/icon-moderations.svg';\nimport IconMore from '../../svgs/icon-more.svg';\nimport IconMute from '../../svgs/icon-mute.svg';\nimport IconNotifications from '../../svgs/icon-notifications.svg';\nimport IconNotificationsOffFilled from '../../svgs/icon-notifications-off-filled.svg';\nimport IconOperator from '../../svgs/icon-operator.svg';\nimport IconPhoto from '../../svgs/icon-photo.svg';\nimport IconPlay from '../../svgs/icon-play.svg';\nimport IconPlus from '../../svgs/icon-plus.svg';\nimport IconQuestion from '../../svgs/icon-question.svg';\nimport IconRefresh from '../../svgs/icon-refresh.svg';\nimport IconRemove from '../../svgs/icon-remove.svg';\nimport IconSearch from '../../svgs/icon-search.svg';\nimport IconSend from '../../svgs/icon-send.svg';\nimport IconSettingsFilled from '../../svgs/icon-settings-filled.svg';\nimport IconSpinner from '../../svgs/icon-spinner.svg';\nimport IconSupergroup from '../../svgs/icon-supergroup.svg';\nimport IconThumbnailNone from '../../svgs/icon-thumbnail-none.svg';\nimport IconToggleOff from '../../svgs/icon-toggleoff.svg';\nimport IconToggleOn from '../../svgs/icon-toggleon.svg';\nimport IconUser from '../../svgs/icon-user.svg';\n\nconst Colors = {\n DEFAULT: 'DEFAULT',\n PRIMARY: 'PRIMARY',\n SECONDARY: 'SECONDARY',\n CONTENT: 'CONTENT',\n CONTENT_INVERSE: 'CONTENT_INVERSE',\n WHITE: 'WHITE',\n SENT: 'SENT',\n READ: 'READ',\n ON_BACKGROUND_2: 'ON_BACKGROUND_2',\n ON_BACKGROUND_3: 'ON_BACKGROUND_3',\n BACKGROUND_3: 'BACKGROUND_3',\n};\n\nfunction changeColorToClassName(color) {\n switch (color) {\n case Colors.PRIMARY: return 'sendbird-color--primary';\n case Colors.SECONDARY: return 'sendbird-color--secondary';\n case Colors.CONTENT: return 'sendbird-color--content';\n case Colors.CONTENT_INVERSE: return 'sendbird-color--content-inverse';\n case Colors.WHITE: return 'sendbird-color--white';\n case Colors.SENT: return 'sendbird-color--sent';\n case Colors.READ: return 'sendbird-color--read';\n case Colors.ON_BACKGROUND_2: return 'sendbird-color--on-background-2';\n case Colors.ON_BACKGROUND_3: return 'sendbird-color--on-background-3';\n case Colors.BACKGROUND_3: return 'sendbird-color--background-3';\n default: return '';\n }\n}\n\nfunction changeTypeToIconComponent(type) {\n switch (type) {\n case Type.ADD: return ;\n case Type.ARROW_LEFT: return ;\n case Type.ATTACH: return ;\n case Type.BAN: return ;\n case Type.BROADCAST: return ;\n case Type.CAMERA: return ;\n case Type.CHANNELS: return ;\n case Type.CHAT: return ;\n case Type.CHAT_FILLED: return ;\n case Type.CHEVRON_DOWN: return ;\n case Type.CHEVRON_RIGHT: return ;\n case Type.CLOSE: return ;\n case Type.COLLAPSE: return ;\n case Type.COPY: return ;\n case Type.CREATE: return ;\n case Type.DELETE: return ;\n case Type.DISCONNECTED: return ;\n case Type.DOCUMENT: return ;\n case Type.DONE: return ;\n case Type.DONE_ALL: return ;\n case Type.DOWNLOAD: return ;\n case Type.EDIT: return ;\n case Type.EMOJI_MORE: return ;\n case Type.ERROR: return ;\n case Type.EXPAND: return ;\n case Type.FILE_AUDIO: return ;\n case Type.FILE_DOCUMENT: return ;\n case Type.FREEZE: return ;\n case Type.GIF: return ;\n case Type.INFO: return ;\n case Type.LEAVE: return ;\n case Type.MEMBERS: return ;\n case Type.MESSAGE: return ;\n case Type.MODERATIONS: return ;\n case Type.MORE: return ;\n case Type.MUTE: return ;\n case Type.NOTIFICATIONS: return ;\n case Type.NOTIFICATIONS_OFF_FILLED: return ;\n case Type.OPERATOR: return ;\n case Type.PHOTO: return ;\n case Type.PLAY: return ;\n case Type.PLUS: return ;\n case Type.QUESTION: return ;\n case Type.REFRESH: return ;\n case Type.REMOVE: return ;\n case Type.SEARCH: return ;\n case Type.SEND: return ;\n case Type.SETTINGS_FILLED: return ;\n case Type.SPINNER: return ;\n case Type.SUPERGROUP: return ;\n case Type.THUMBNAIL_NONE: return ;\n case Type.TOGGLE_OFF: return ;\n case Type.TOGGLE_ON: return ;\n case Type.USER: return ;\n default: return 'icon'; // If you see this text 'icon' replace icon for it\n }\n}\n\nexport default function Icon({\n type,\n width,\n height,\n children,\n className,\n onClick,\n fillColor,\n}) {\n const iconStyle = {\n width: typeof width === 'string' ? width : `${width}px`,\n minWidth: typeof width === 'string' ? width : `${width}px`,\n height: typeof height === 'string' ? height : `${height}px`,\n minHeight: typeof height === 'string' ? height : `${height}px`,\n };\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n \n {\n children || changeTypeToIconComponent(type)\n }\n \n );\n}\n\nIcon.propTypes = {\n type: PropTypes.oneOfType([\n PropTypes.oneOf(Object.keys(Type)),\n PropTypes.string,\n ]).isRequired,\n width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n onClick: PropTypes.func,\n children: PropTypes.element,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n fillColor: PropTypes.oneOf(Object.keys(Colors)),\n};\n\nIcon.defaultProps = {\n onClick: () => { },\n width: 26,\n height: 26,\n children: null,\n className: '',\n fillColor: Colors.DEFAULT,\n};\n\nexport const IconTypes = Type;\nexport const IconColors = Colors;\n","export default (px: string | number): number | void => {\n if (typeof px === 'number') {\n return px;\n }\n if (typeof px === 'string') {\n const parsed = Number.parseFloat(px);\n if (!Number.isNaN(parsed)) {\n return parsed;\n }\n }\n return null;\n};\n","import React, { ReactElement } from 'react';\n\nimport ImageRenderer from '../ImageRenderer';\nimport Icon, { IconTypes, IconColors } from '../Icon';\n\nimport './index.scss';\nimport { uuidv4 } from '../../utils/uuid';\nimport pxToNumber from '../../utils/pxToNumber';\n\nconst imageRendererClassName = 'sendbird-avatar-img';\n\ninterface DefaultComponentProps {\n width: string | number,\n height: string | number,\n}\n\nconst defaultComponent = (\n {\n width,\n height,\n }: DefaultComponentProps\n) => (): ReactElement => {\n let iconWidth = pxToNumber(width);\n let iconHeight = pxToNumber(height);\n if (typeof iconWidth === 'number') {\n iconWidth *= 0.575;\n }\n if (typeof iconHeight === 'number') {\n iconHeight *= 0.575;\n }\n return (\n
\n \n
\n );\n};\n\ninterface AvatarInnerProps {\n height: string | number,\n width: string | number,\n src?: string | Array,\n alt?: string,\n}\n\nexport const AvatarInner = ({\n src = '',\n alt = '',\n height,\n width,\n}: AvatarInnerProps): ReactElement => {\n if (typeof src === 'string') {\n return (\n \n );\n }\n\n if (src && src.length) {\n if (src.length === 1) {\n return (\n \n );\n }\n\n if (src.length === 2) {\n return (\n
\n \n \n
\n );\n }\n\n if (src.length === 3) {\n return (\n <>\n
\n \n
\n
\n \n \n
\n \n );\n }\n\n return (\n
\n {\n src.slice(0, 4)\n .map((i) => (\n \n ))\n }\n
\n );\n }\n // default img\n return (\n \n );\n};\n\ninterface AvatarProps {\n height?: string | number,\n width?: string | number,\n src?: string | Array,\n alt?: string,\n onClick?(): void,\n className?: string | Array,\n}\n\nfunction Avatar(\n {\n src = '',\n alt = '',\n width = '56px',\n height = '56px',\n onClick,\n className = '',\n }: AvatarProps,\n ref: React.Ref,\n): ReactElement {\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n \n \n \n );\n}\n\nexport default React.forwardRef(Avatar);\n","export const Typography = {\n H_1: 'H_1',\n H_2: 'H_2',\n SUBTITLE_1: 'SUBTITLE_1',\n SUBTITLE_2: 'SUBTITLE_2',\n BODY_1: 'BODY_1',\n BODY_2: 'BODY_2',\n BUTTON_1: 'BUTTON_1',\n BUTTON_2: 'BUTTON_2',\n CAPTION_1: 'CAPTION_1',\n CAPTION_2: 'CAPTION_2',\n CAPTION_3: 'CAPTION_3',\n};\n\nexport const Colors = {\n ONBACKGROUND_1: 'ONBACKGROUND_1',\n ONBACKGROUND_2: 'ONBACKGROUND_2',\n ONBACKGROUND_3: 'ONBACKGROUND_3',\n ONCONTENT_1: 'ONCONTENT_1',\n ONCONTENT_2: 'ONCONTENT_2',\n PRIMARY: 'PRIMARY',\n ERROR: 'ERROR',\n SECONDARY_3: 'SECONDARY_3',\n};\n","import { Typography, Colors } from './types';\n\nexport function changeTypographyToClassName(type) {\n switch (type) {\n case Typography.H_1: return 'sendbird-label--h-1';\n case Typography.H_2: return 'sendbird-label--h-2';\n case Typography.SUBTITLE_1: return 'sendbird-label--subtitle-1';\n case Typography.SUBTITLE_2: return 'sendbird-label--subtitle-2';\n case Typography.BODY_1: return 'sendbird-label--body-1';\n case Typography.BODY_2: return 'sendbird-label--body-2';\n case Typography.BUTTON_1: return 'sendbird-label--button-1';\n case Typography.BUTTON_2: return 'sendbird-label--button-2';\n case Typography.CAPTION_1: return 'sendbird-label--caption-1';\n case Typography.CAPTION_2: return 'sendbird-label--caption-2';\n case Typography.CAPTION_3: return 'sendbird-label--caption-3';\n default: return null;\n }\n}\n\nexport function changeColorToClassName(color) {\n switch (color) {\n case Colors.ONBACKGROUND_1: return 'sendbird-label--color-onbackground-1';\n case Colors.ONBACKGROUND_2: return 'sendbird-label--color-onbackground-2';\n case Colors.ONBACKGROUND_3: return 'sendbird-label--color-onbackground-3';\n case Colors.ONCONTENT_1: return 'sendbird-label--color-oncontent-1';\n case Colors.ONCONTENT_2: return 'sendbird-label--color-oncontent-2';\n case Colors.PRIMARY: return 'sendbird-label--color-primary'; // should be Primary-3 fix me\n case Colors.ERROR: return 'sendbird-label--color-error';\n case Colors.SECONDARY_3: return 'sendbird-label--color-secondary-3';\n default: return null;\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport { Typography, Colors } from './types';\nimport { changeTypographyToClassName, changeColorToClassName } from './utils';\nimport getStringSet from './stringSet';\n\nconst CLASS_NAME = 'sendbird-label';\n\nexport default function Label({\n type,\n color,\n children,\n className,\n}) {\n const injectingClassName = (Array.isArray(className))\n ? [CLASS_NAME, ...className]\n : [CLASS_NAME, className];\n if (type) {\n injectingClassName.push(changeTypographyToClassName(type));\n }\n if (color) {\n injectingClassName.push(changeColorToClassName(color));\n }\n\n return (\n \n {children}\n \n );\n}\n\nLabel.propTypes = {\n type: PropTypes.oneOf([...Object.keys(Typography), '']),\n color: PropTypes.oneOf([...Object.keys(Colors), '']),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.element,\n PropTypes.any,\n ]),\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nLabel.defaultProps = {\n type: '',\n color: '',\n className: [],\n children: null,\n};\n\nconst LabelTypography = Typography;\nconst LabelColors = Colors;\nconst LabelStringSet = getStringSet('en');\nexport { LabelTypography, LabelColors, LabelStringSet };\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\n\nconst CLASS_NAME = 'sendbird-iconbutton';\n\nconst IconButton = React.forwardRef((props, ref) => {\n const {\n children,\n className,\n disabled = false,\n type,\n height,\n width,\n onClick,\n onBlur,\n style,\n } = props;\n\n const [pressed, setPressed] = useState('');\n\n const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift(CLASS_NAME);\n\n return (\n // eslint-disable-next-line react/button-has-type\n {\n if (disabled) { return; }\n setPressed('sendbird-iconbutton--pressed');\n onClick(e);\n }}\n onBlur={(e) => {\n setPressed('');\n onBlur(e);\n }}\n >\n \n {children}\n \n \n );\n});\n\nIconButton.propTypes = {\n height: PropTypes.string,\n width: PropTypes.string,\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 type: PropTypes.string,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n onBlur: PropTypes.func,\n style: PropTypes.shape({}),\n};\n\nIconButton.defaultProps = {\n height: '56px',\n width: '56px',\n className: '',\n type: 'button',\n disabled: false,\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
\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 type,\n size,\n children,\n disabled,\n onClick,\n className,\n}) {\n const injectingClassNames = [\n 'sendbird-button',\n (disabled ? 'sendbird-button__disabled' : ''),\n changeTypeToClassName(type),\n changeSizeToClassName(size),\n ...((Array.isArray(className)) ? className : [className]),\n ].join(' ');\n\n return (\n \n );\n}\n\nButton.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n PropTypes.arrayOf(PropTypes.element),\n ]),\n disabled: PropTypes.bool,\n type: PropTypes.oneOf(Object.keys(Type)),\n size: PropTypes.oneOf(Object.keys(Size)),\n onClick: PropTypes.func,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n};\n\nButton.defaultProps = {\n children: 'Button',\n type: Type.PRIMARY,\n disabled: false,\n size: Size.BIG,\n onClick: () => { },\n className: '',\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 from '../Button';\nimport { Type as ButtonTypes } from '../Button/type';\nimport Label, { LabelTypography, LabelColors } from '../Label';\n\nexport const ModalHeader = ({ titleText }) => (\n
\n \n
\n);\nModalHeader.propTypes = {\n titleText: PropTypes.string.isRequired,\n};\n\nexport const ModalBody = ({ children }) => (\n
{children}
\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
\n \n \n
\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
\n
\n \n {children}\n {\n !hideFooter && (\n \n )\n }\n
\n \n \n \n
\n
\n
\n
\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 color,\n children,\n disabled,\n className,\n onClick,\n notUnderline,\n}) {\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n \n {children}\n
\n );\n}\n\nTextButton.propTypes = {\n color: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n ]).isRequired,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n onClick: PropTypes.func,\n notUnderline: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nTextButton.defaultProps = {\n color: Colors.ONBACKGROUND_1,\n className: '',\n onClick: () => { },\n notUnderline: false,\n disabled: false,\n};\n","export function Types() {\n return {\n LOADING: 'LOADING',\n NO_CHANNELS: 'NO_CHANNELS',\n NO_MESSAGES: 'NO_MESSAGES',\n WRONG: 'WRONG',\n SEARCH_IN: 'SEARCH_IN',\n SEARCHING: 'SEARCHING',\n NO_RESULTS: 'NO_RESULTS',\n };\n}\n\nexport default Types();\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 from '../Button';\nimport { Type as ButtonTypes } from '../Button/type';\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;\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
\n
\n \n
\n
\n \n
\n {\n (user.userId !== currentUserId) && !disableMessaging && (\n
\n {\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 \n
\n )\n }\n
\n
\n \n {stringSet.USER_PROFILE__USER_ID}\n \n \n {user.userId}\n \n
\n
\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
\n \n {children}\n \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 const injectingClassName = Array.isArray(className) ? className : [className];\n injectingClassName.unshift(componentClassName);\n\n if (children.length > maxItemCount) {\n const result = [];\n for (let i = 0; i < children.length; i += maxItemCount) {\n result.push(\n \n {\n children.slice(i, i + maxItemCount)\n }\n
,\n );\n }\n\n return result;\n }\n return (\n \n {children}\n
\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 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 // const childRect = this.reactionRef.current.children[0].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
\n \n \n {children}\n \n \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 = ({ children, onClick, className }) => {\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n {\n if (e.keyCode === ENTER) {\n onClick(e);\n }\n }}\n role=\"menuitem\"\n >\n \n {children}\n \n \n );\n};\n\nMenuItem.propTypes = {\n onClick: PropTypes.func.isRequired,\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};\n\nMenuItem.defaultProps = {\n className: '',\n};\n\nexport const MenuRoot = () => (\n
\n);\n\nexport const EmojiReactionListRoot = () => (\n
\n);\n\nexport default function ContextMenu({ menuTrigger, menuItems }) {\n const [showMenu, setShowMenu] = useState(false);\n\n return (\n
\n {menuTrigger(() => setShowMenu(!showMenu))}\n {showMenu && menuItems(() => setShowMenu(false))}\n
\n );\n}\n\nContextMenu.propTypes = {\n menuTrigger: PropTypes.func.isRequired,\n menuItems: PropTypes.func.isRequired,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Icon, { IconTypes } from '../Icon';\n\nexport default function Loader({\n children,\n className,\n width,\n height,\n}) {\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n \n {children}\n
\n );\n}\n\nLoader.propTypes = {\n children: PropTypes.element,\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n height: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n};\n\nLoader.defaultProps = {\n children: ,\n className: '',\n width: '26px',\n height: '26px',\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport './index.scss';\nimport Icon, { IconTypes, IconColors } from '../Icon';\nimport Loader from '../Loader';\nimport { LocalizationContext } from '../../lib/LocalizationContext';\nimport Label, { LabelColors, LabelTypography } from '../Label';\nimport _PlaceHolderTypes from './type';\n\nexport const PlaceHolderTypes = _PlaceHolderTypes;\n\nexport default function PlaceHolder({\n className,\n type,\n retryToConnect,\n searchInString,\n}) {\n const { stringSet } = useContext(LocalizationContext);\n const injectingClassName = (Array.isArray(className)) ? className : [className];\n return (\n
\n {\n type === PlaceHolderTypes.LOADING && (\n \n \n \n )\n }\n {\n (\n type === PlaceHolderTypes.NO_CHANNELS\n || type === PlaceHolderTypes.NO_MESSAGES\n || type === PlaceHolderTypes.WRONG\n ) && (\n
\n {\n type === PlaceHolderTypes.NO_CHANNELS && (\n \n )\n }\n {\n type === PlaceHolderTypes.WRONG && (\n \n )\n }\n {\n type === PlaceHolderTypes.NO_MESSAGES && (\n \n )\n }\n \n {\n retryToConnect && (\n \n \n \n
\n )\n }\n
\n )\n }\n {\n (\n type === PlaceHolderTypes.NO_RESULTS\n || type === PlaceHolderTypes.SEARCH_IN\n || type === PlaceHolderTypes.SEARCHING\n ) && (\n
\n {\n type === PlaceHolderTypes.SEARCH_IN && (\n
\n \n {stringSet.SEARCH_IN}\n \n \n {`'${searchInString}'`}\n \n
\n )\n }\n {\n type === PlaceHolderTypes.SEARCHING && (\n \n {stringSet.SEARCHING}\n \n )\n }\n {\n type === PlaceHolderTypes.NO_RESULTS && (\n \n {stringSet.NO_SEARCHED_MESSAGE}\n \n )\n }\n
\n )\n }\n
\n );\n}\n\nPlaceHolder.propTypes = {\n className: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n type: PropTypes.oneOfType([\n PropTypes.oneOf(Object.keys(PlaceHolderTypes)),\n PropTypes.string,\n ]).isRequired,\n retryToConnect: PropTypes.func,\n searchInString: PropTypes.string,\n};\n\nPlaceHolder.defaultProps = {\n className: '',\n retryToConnect: null,\n searchInString: '',\n};\n"],"names":["UserProfileContext","React","createContext","disableUserProfile","isOpenChannel","renderUserProfile","UserProfileProvider","props","children","className","propTypes","PropTypes","oneOfType","element","arrayOf","any","isRequired","bool","func","string","defaultProps","ImageRenderer","alt","url","width","height","defaultComponent","circle","injectingClassName","Array","isArray","unshift","useState","realElement","setRealElement","useEffect","join","backgroundRepeat","backgroundPosition","backgroundSize","backgroundImage","borderRadius","number","ADD","ARROW_LEFT","ATTACH","BAN","BROADCAST","CAMERA","CHANNELS","CHAT","CHAT_FILLED","CHEVRON_DOWN","CHEVRON_RIGHT","CLOSE","COLLAPSE","COPY","CREATE","DELETE","DISCONNECTED","DOCUMENT","DONE","DONE_ALL","DOWNLOAD","EDIT","EMOJI_MORE","ERROR","EXPAND","FILE_AUDIO","FILE_DOCUMENT","FREEZE","GIF","INFO","LEAVE","MEMBERS","MESSAGE","MODERATIONS","MORE","MUTE","NOTIFICATIONS","NOTIFICATIONS_OFF_FILLED","OPERATOR","PHOTO","PLAY","PLUS","QUESTION","REFRESH","REMOVE","SEARCH","SEND","SETTINGS_FILLED","SPINNER","SUPERGROUP","THUMBNAIL_NONE","TOGGLE_OFF","TOGGLE_ON","USER","Colors","DEFAULT","PRIMARY","SECONDARY","CONTENT","CONTENT_INVERSE","WHITE","SENT","READ","ON_BACKGROUND_2","ON_BACKGROUND_3","BACKGROUND_3","changeColorToClassName","color","changeTypeToIconComponent","type","Type","IconAdd","IconArrowLeft","IconAttach","IconBan","IconBroadcast","IconCamera","IconChannels","IconChat","IconChatFilled","IconChevronDown","IconChevronRight","IconClose","IconCollapse","IconCopy","IconCreate","IconDelete","IconDisconnected","IconDocument","IconDone","IconDoneAll","IconDownload","IconEdit","IconEmojiMore","IconError","IconExpand","IconFileAudio","IconFileDocument","IconFreeze","IconGif","IconInfo","IconLeave","IconMembers","IconMessage","IconModerations","IconMore","IconMute","IconNotifications","IconNotificationsOffFilled","IconOperator","IconPhoto","IconPlay","IconPlus","IconQuestion","IconRefresh","IconRemove","IconSearch","IconSend","IconSettingsFilled","IconSpinner","IconSupergroup","IconThumbnailNone","IconToggleOff","IconToggleOn","IconUser","Icon","onClick","fillColor","iconStyle","minWidth","minHeight","oneOf","Object","keys","IconTypes","IconColors","px","parsed","Number","parseFloat","isNaN","imageRendererClassName","_a","iconWidth","pxToNumber","iconHeight","AvatarInner","_b","src","_c","length","slice","map","i","uuidv4","Avatar","ref","_d","_e","_f","__spreadArrays","forwardRef","Typography","H_1","H_2","SUBTITLE_1","SUBTITLE_2","BODY_1","BODY_2","BUTTON_1","BUTTON_2","CAPTION_1","CAPTION_2","CAPTION_3","ONBACKGROUND_1","ONBACKGROUND_2","ONBACKGROUND_3","ONCONTENT_1","ONCONTENT_2","SECONDARY_3","changeTypographyToClassName","CLASS_NAME","Label","push","LabelTypography","LabelColors","LabelStringSet","getStringSet","IconButton","disabled","onBlur","style","pressed","setPressed","e","shape","MODAL_ROOT","DANGER","DISABLED","Size","BIG","SMALL","changeTypeToClassName","changeSizeToClassName","size","Button","injectingClassNames","ModalHeader","titleText","ModalBody","ModalFooter","onSubmit","onCancel","submitText","useContext","LocalizationContext","stringSet","ButtonTypes","BUTTON__CANCEL","Modal","hideFooter","createPortal","document","getElementById","ONBACKGROUND_4","TextButton","notUnderline","Types","LOADING","NO_CHANNELS","NO_MESSAGES","WRONG","SEARCH_IN","SEARCHING","NO_RESULTS","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","user","currentUserId","logger","disableMessaging","onSuccess","nickname","NO_NAME","GroupChannelParams","isDistinct","addUserIds","groupChannel","info","USER_PROFILE__MESSAGE","USER_PROFILE__USER_ID","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","createRef","setupEvents","getMenuPosition","showParent","cleanUpEvents","hideParent","display","position","Math","round","Component","instanceOf","Element","componentClassName","SortByRow","maxItemCount","itemWidth","itemHeight","result","EmojiListItems","reactionRef","spaceFromTrigger","spaceFromTriggerX","spaceFromTriggerY","reactionStyle","maximumLeft","getBarPosition","ENTER","MenuItems_","EmojiListItems_","MenuItem","keyCode","ContextMenu","menuTrigger","menuItems","showMenu","setShowMenu","Loader","PlaceHolderTypes","_PlaceHolderTypes","PlaceHolder","retryToConnect","searchInString","PLACE_HOLDER__NO_CHANNEL","PLACE_HOLDER__WRONG","PLACE_HOLDER__NO_MESSAGES","PLACE_HOLDER__RETRY_TO_CONNECT","NO_SEARCHED_MESSAGE"],"mappings":"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"} \ No newline at end of file diff --git a/index-cb09a8ab.js b/index-cb09a8ab.js new file mode 100644 index 0000000..f347d3a --- /dev/null +++ b/index-cb09a8ab.js @@ -0,0 +1,86 @@ +import React, { useState } from 'react'; +import { I as Icon, a as IconTypes } from './index-79d744e1.js'; +import { n as noop } from './utils-53ba1773.js'; + +var Context = React.createContext({ + opened: '', + setOpened: noop +}); +var Consumer = Context.Consumer; +var Provider = Context.Provider; + +// Wraps all the accordions in an accordion set +function AccordionGroup(_a) { + var children = _a.children, + _b = _a.className, + className = _b === void 0 ? '' : _b; + + var _c = useState(''), + opened = _c[0], + setOpened = _c[1]; + + return React.createElement(Provider, { + value: { + opened: opened, + setOpened: setOpened + } + }, React.createElement("div", { + className: className + }, children)); +} + +function Accordion(_a) { + var id = _a.id, + renderTitle = _a.renderTitle, + renderContent = _a.renderContent, + renderFooter = _a.renderFooter, + className = _a.className; + + var _b = useState(false), + showAccordion = _b[0], + setShowAccordion = _b[1]; + + return React.createElement(Consumer, null, function (value) { + var opened = value.opened, + setOpened = value.setOpened; + + if (id === opened) { + setShowAccordion(true); + } else { + setShowAccordion(false); + } + + var handleClick = function handleClick() { + if (showAccordion) { + setOpened(''); + } else { + setOpened(id); + } + }; + + return React.createElement(React.Fragment, null, React.createElement("div", { + id: id, + role: "switch", + "aria-checked": false, + tabIndex: 0, + onKeyDown: handleClick, + className: "sendbird-accordion__panel-heder " + className, + onClick: handleClick + }, renderTitle(), React.createElement(Icon, { + type: IconTypes.CHEVRON_RIGHT, + className: ['sendbird-accordion__panel-icon-right', 'sendbird-accordion__panel-icon--chevron', showAccordion ? 'sendbird-accordion__panel-icon--open' : ''].join(' '), + height: "24px", + width: "24px" + })), showAccordion && React.createElement("div", { + className: "sendbird-accordion" + }, React.createElement("div", { + className: "sendbird-accordion__list" + }, renderContent()), renderFooter && React.createElement("div", { + className: "sendbird-accordion__footer" + }, renderFooter()))); + }); +} +var AccordionGroup$1 = AccordionGroup; + +export { AccordionGroup$1 as A, Accordion as a }; +//# sourceMappingURL=index-cb09a8ab.js.map diff --git a/index-cb09a8ab.js.map b/index-cb09a8ab.js.map new file mode 100644 index 0000000..7535d11 --- /dev/null +++ b/index-cb09a8ab.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-cb09a8ab.js","sources":["../src/ui/Accordion/context.ts","../src/ui/Accordion/AccordionGroup.tsx","../src/ui/Accordion/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport { noop } from '../../utils/utils';\n\ninterface ContextValue {\n setOpened(accordion: string): void;\n opened: string;\n}\n\nconst Context = React.createContext({\n opened: '', // mock default value\n setOpened: noop,\n});\n\nexport const Consumer = Context.Consumer;\nexport const Provider = Context.Provider;\n","// Wraps all the accordions in an accordion set\n// keep one accordion open at a time\nimport React, { ReactElement, useState } from 'react';\n\nimport { Provider } from './context';\n\ninterface Props {\n children: Array | ReactElement;\n defaultOpened?: string;\n className?: string;\n}\n\nexport default function AccordionGroup({\n children,\n className = '',\n}: Props): ReactElement {\n const [opened, setOpened] = useState('');\n return (\n \n
{ children }
\n
\n )\n}\n","import './index.scss';\n\nimport React, { ReactElement, useState } from 'react';\n\nimport AccordionGroup_ from './AccordionGroup';\nimport { Consumer } from './context';\n\nimport Icon, {\n IconTypes,\n} from '../Icon';\n\ninterface Props {\n id: string;\n className?: string;\n renderTitle(): ReactElement;\n renderContent(): ReactElement;\n renderFooter?(): ReactElement;\n}\n\nexport default function Accordion({\n id,\n renderTitle,\n renderContent,\n renderFooter,\n className,\n}: Props): ReactElement {\n const [showAccordion, setShowAccordion] = useState(false);\n return (\n \n {\n (value) => {\n const { opened, setOpened } = value;\n if (id === opened) {\n setShowAccordion(true);\n } else {\n setShowAccordion(false);\n }\n const handleClick = () => {\n if (showAccordion) {\n setOpened('');\n } else {\n setOpened(id);\n }\n }\n return (\n <>\n \n { renderTitle() }\n \n
\n {\n showAccordion && (\n
\n
\n { renderContent() }\n
\n {\n renderFooter && (\n
\n { renderFooter() }\n
\n )\n }\n
\n )\n }\n );\n }\n }\n \n )\n}\n\nexport const AccordionGroup = AccordionGroup_;\n"],"names":["Context","React","createContext","opened","setOpened","noop","Consumer","Provider","AccordionGroup","_a","children","_b","className","_c","useState","Accordion","id","renderTitle","renderContent","renderFooter","showAccordion","setShowAccordion","value","handleClick","IconTypes","CHEVRON_RIGHT","join","AccordionGroup_"],"mappings":";;;;AASA,IAAMA,OAAO,GAAGC,KAAK,CAACC,aAAN,CAAkC;AAChDC,EAAAA,MAAM,EAAE,EADwC;AAEhDC,EAAAA,SAAS,EAAEC;AAFqC,CAAlC,CAAhB;AAKO,IAAMC,QAAQ,GAAGN,OAAO,CAACM,QAAzB;AACA,IAAMC,QAAQ,GAAGP,OAAO,CAACO,QAAzB;;ACfP;AACA,SAWwBC,eAAeC;MACrCC,QAAQ;MACRC;MAAAC,SAAS,mBAAG;;AAEN,MAAAC,KAAsBC,QAAQ,CAAC,EAAD,CAA9B;AAAA,MAACX,MAAM,QAAP;AAAA,MAASC,SAAS,QAAlB;;AACN,SACE,oBAAC,QAAD;AAAU,IAAA,KAAK,EAAE;AAAED,MAAAA,MAAM,QAAR;AAAUC,MAAAA,SAAS;AAAnB;AAAjB,KACE;AAAK,IAAA,SAAS,EAAEQ;AAAhB,KAA6BF,QAA7B,CADF,CADF;AAKD;;SCHuBK,UAAUN;MAChCO,EAAE;MACFC,WAAW;MACXC,aAAa;MACbC,YAAY;MACZP,SAAS;;AAEH,MAAAD,KAAoCG,QAAQ,CAAC,KAAD,CAA5C;AAAA,MAACM,aAAa,QAAd;AAAA,MAAgBC,gBAAgB,QAAhC;;AACN,SACE,oBAAC,QAAD,QAEI,UAACC,KAAD;AACU,QAAAnB,MAAM,GAAgBmB,KAAK,OAA3B;AAAA,QAAQlB,SAAS,GAAKkB,KAAK,UAA3B;;AACR,QAAIN,EAAE,KAAKb,MAAX,EAAmB;AACjBkB,MAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACD,KAFD,MAEO;AACLA,MAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACD;;AACD,QAAME,WAAW,GAAG,SAAdA,WAAc;AAClB,UAAIH,aAAJ,EAAmB;AACjBhB,QAAAA,SAAS,CAAC,EAAD,CAAT;AACD,OAFD,MAEO;AACLA,QAAAA,SAAS,CAACY,EAAD,CAAT;AACD;AACF,KAND;;AAOA,WACE,0CACE;AACE,MAAA,EAAE,EAAEA,EADN;AAEE,MAAA,IAAI,EAAC,QAFP;AAGE,sBAAc,KAHhB;AAIE,MAAA,QAAQ,EAAE,CAJZ;AAKE,MAAA,SAAS,EAAEO,WALb;AAME,MAAA,SAAS,EAAE,qCAAmCX,SANhD;AAOE,MAAA,OAAO,EAAEW;AAPX,OASIN,WAAW,EATf,EAUE,oBAAC,IAAD;AACE,MAAA,IAAI,EAAEO,SAAS,CAACC,aADlB;AAEE,MAAA,SAAS,EAAE,CACT,sCADS,EAET,yCAFS,EAGRL,aAAa,GAAG,sCAAH,GAA4C,EAHjD,EAITM,IAJS,CAIJ,GAJI,CAFb;AAOE,MAAA,MAAM,EAAC,MAPT;AAQE,MAAA,KAAK,EAAC;AARR,MAVF,CADF,EAuBIN,aAAa,IACX;AAAK,MAAA,SAAS,EAAC;AAAf,OACE;AAAK,MAAA,SAAS,EAAC;AAAf,OACIF,aAAa,EADjB,CADF,EAKIC,YAAY,IACV;AAAK,MAAA,SAAS,EAAC;AAAf,OACIA,YAAY,EADhB,CANN,CAxBN,CADF;AAwCD,GAxDL,CADF;AA6DD;AAED,IAAaX,gBAAc,GAAGmB;;;;"} \ No newline at end of file diff --git a/index-cee71d44.js b/index-cee71d44.js new file mode 100644 index 0000000..99185c4 --- /dev/null +++ b/index-cee71d44.js @@ -0,0 +1,47 @@ +import React, { useMemo } from 'react'; +import { I as Icon, a as IconTypes, b as IconColors, A as Avatar } from './index-79d744e1.js'; +import { u as useDefaultAvatar, g as getChannelAvatarSource } from './utils-53ba1773.js'; + +function ChannelAvatar(_a) { + var channel = _a.channel, + userId = _a.userId, + theme = _a.theme, + _b = _a.height, + height = _b === void 0 ? 56 : _b, + _c = _a.width, + width = _c === void 0 ? 56 : _c; + var isBroadcast = channel.isBroadcast; + var memoizedAvatar = useMemo(function () { + return isBroadcast ? useDefaultAvatar(channel) ? React.createElement("div", { + className: "sendbird-chat-header__default-avatar", + style: { + width: width, + height: height, + display: 'flex', + justifyContent: 'center', + alignItems: 'center' + } + }, React.createElement(Icon, { + type: IconTypes.BROADCAST, + fillColor: IconColors.CONTENT, + width: width * 0.575, + height: height * 0.575 + })) : React.createElement(Avatar, { + className: "sendbird-chat-header__avatar--broadcast-channel", + src: getChannelAvatarSource(channel, userId), + width: width, + height: height, + alt: channel.name + }) : React.createElement(Avatar, { + className: "sendbird-chat-header__avatar--group-channel", + src: getChannelAvatarSource(channel, userId), + width: width + "px", + height: height + "px", + alt: channel.name + }); + }, [channel.members, channel.coverUrl, theme]); + return React.createElement(React.Fragment, null, memoizedAvatar); +} + +export { ChannelAvatar as C }; +//# sourceMappingURL=index-cee71d44.js.map diff --git a/index-cee71d44.js.map b/index-cee71d44.js.map new file mode 100644 index 0000000..4803eaf --- /dev/null +++ b/index-cee71d44.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-cee71d44.js","sources":["../src/ui/ChannelAvatar/index.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport './index.scss';\n\nimport Avatar from '../Avatar/index';\nimport Icon, { IconTypes, IconColors } from '../Icon';\n\nimport * as utils from './utils';\n\ninterface Props {\n channel: SendBird.GroupChannel;\n userId: string;\n theme: string;\n height?: number,\n width?: number,\n}\n\nfunction ChannelAvatar({\n channel,\n userId,\n theme,\n height = 56,\n width = 56,\n}: Props): JSX.Element{\n const { isBroadcast } = channel;\n const memoizedAvatar = useMemo(() => (\n isBroadcast\n ? (\n utils.useDefaultAvatar(channel)\n ? (\n \n \n
\n )\n : (\n \n )\n )\n : (\n \n )\n ),[channel.members, channel.coverUrl, theme]);\n return (\n <>{ memoizedAvatar }\n );\n}\n\nexport default ChannelAvatar;\n"],"names":["ChannelAvatar","_a","channel","userId","theme","_b","height","_c","width","isBroadcast","memoizedAvatar","useMemo","utils","display","justifyContent","alignItems","IconTypes","BROADCAST","IconColors","CONTENT","name","members","coverUrl"],"mappings":";;;;AAgBA,SAASA,aAAT,CAAuBC,EAAvB;MACEC,OAAO;MACPC,MAAM;MACNC,KAAK;MACLC;MAAAC,MAAM,mBAAG;MACTC;MAAAC,KAAK,mBAAG;AAEA,MAAAC,WAAW,GAAKP,OAAO,YAAvB;AACR,MAAMQ,cAAc,GAAGC,OAAO,CAAC;AAAM,WACnCF,WAAW,GAEPG,gBAAA,CAAuBV,OAAvB,IAEI;AACE,MAAA,SAAS,EAAC,sCADZ;AAEE,MAAA,KAAK,EAAE;AACLM,QAAAA,KAAK,OADA;AAELF,QAAAA,MAAM,QAFD;AAGLO,QAAAA,OAAO,EAAE,MAHJ;AAILC,QAAAA,cAAc,EAAE,QAJX;AAKLC,QAAAA,UAAU,EAAE;AALP;AAFT,OAUE,oBAAC,IAAD;AACE,MAAA,IAAI,EAAEC,SAAS,CAACC,SADlB;AAEE,MAAA,SAAS,EAAEC,UAAU,CAACC,OAFxB;AAGE,MAAA,KAAK,EAAEX,KAAK,GAAG,KAHjB;AAIE,MAAA,MAAM,EAAEF,MAAM,GAAG;AAJnB,MAVF,CAFJ,GAqBI,oBAAC,MAAD;AACE,MAAA,SAAS,EAAC,iDADZ;AAEE,MAAA,GAAG,EAAEM,sBAAA,CAA6BV,OAA7B,EAAsCC,MAAtC,CAFP;AAGE,MAAA,KAAK,EAAEK,KAHT;AAIE,MAAA,MAAM,EAAEF,MAJV;AAKE,MAAA,GAAG,EAAEJ,OAAO,CAACkB;AALf,MAvBG,GAiCP,oBAAC,MAAD;AACE,MAAA,SAAS,EAAC,6CADZ;AAEE,MAAA,GAAG,EAAER,sBAAA,CAA6BV,OAA7B,EAAsCC,MAAtC,CAFP;AAGE,MAAA,KAAK,EAAKK,KAAK,OAHjB;AAIE,MAAA,MAAM,EAAKF,MAAM,OAJnB;AAKE,MAAA,GAAG,EAAEJ,OAAO,CAACkB;AALf,MAlC+B;AA0CpC,GA1C6B,EA0C5B,CAAClB,OAAO,CAACmB,OAAT,EAAkBnB,OAAO,CAACoB,QAA1B,EAAoClB,KAApC,CA1C4B,CAA9B;AA2CA,SACE,0CAAIM,cAAJ,CADF;AAGD;;;;"} \ No newline at end of file diff --git a/index.d.ts b/index.d.ts index 18f46b7..a618c77 100644 --- a/index.d.ts +++ b/index.d.ts @@ -22,6 +22,7 @@ export function withSendBird( ChildComp: React.Component | React.ElementType, mapStoreToProps?: (store: SendBirdState) => unknown ): (props: unknown) => React.ReactNode; +export function useSendbirdStateContext(): SendBirdState; export type SendBirdState = { config: SendBirdStateConfig; @@ -121,7 +122,7 @@ export interface OpenChannelProps { renderCustomMessage?: RenderCustomMessage; renderUserProfile?(): JSX.Element; renderChannelTitle?(renderProps: RenderOpenChannelTitleProps): JSX.Element; - renderMessageInput?(renderProps: RenderMessageInputProps): JSX.Element; + renderMessageInput?(renderProps: RenderOpenChannelMessageInputProps): JSX.Element; onBeforeSendUserMessage?(text: string): Sendbird.UserMessageParams; onBeforeSendFileMessage?(file_: File): Sendbird.FileMessageParams; onChatHeaderActionClick?(): void; @@ -139,8 +140,15 @@ interface OpenChannelSettingsProps { } // to be used with Conversation.renderMessageInput -export interface RenderMessageInputProps { - channel: Sendbird.GroupChannel | Sendbird.OpenChannel; +export interface RenderGroupChannelMessageInputProps { + channel: Sendbird.GroupChannel; + user: Sendbird.User; + disabled: boolean; +} + +// to be used with OpenChannel.renderMessageInput +export interface RenderOpenChannelMessageInputProps { + channel: Sendbird.OpenChannel; user: Sendbird.User; disabled: boolean; } @@ -177,6 +185,17 @@ interface SendBirdStateStore { userStore: UserStore; } +export type MessageSearchQueryType = { + limit: number, + reverse: boolean, + exactMatch: boolean, + channelUrl: string, + channelCustomType: string, + messageTimestampFrom: number, + messageTimestampTo: number, + order: 'ts' | 'score', +}; + export type Sdk = Sendbird.SendBirdInstance; interface RenderUserProfileProps { @@ -189,7 +208,7 @@ interface UserListQuery { next(callback: unknown): void; } interface SendBirdProviderConfig { - logLevel?: 'debug' | 'warning' | 'error' | 'info' | 'all' | string[]; + logLevel?: 'debug' | 'warning' | 'error' | 'info' | 'all' | Array; } interface RenderChannelProfileProps { channel: Sendbird.GroupChannel; @@ -206,9 +225,9 @@ interface RenderUserProfileProps { } interface ApplicationUserListQuery { limit?: number; - userIdsFilter?: string[]; + userIdsFilter?: Array; metaDataKeyFilter?: string; - metaDataValuesFilter?: string[]; + metaDataValuesFilter?: Array; } interface ChannelSettingsQueries { applicationUserListQuery?: ApplicationUserListQuery; @@ -217,14 +236,14 @@ interface GroupChannelListQuery { limit?: number; includeEmpty?: boolean; order?: 'latest_last_message' | 'chronological' | 'channel_name_alphabetical' | 'metadata_value_alphabetical'; - userIdsExactFilter?: string[]; - userIdsIncludeFilter?: string[]; + userIdsExactFilter?: Array; + userIdsIncludeFilter?: Array; userIdsIncludeFilterQueryType?: 'AND' | 'OR'; nicknameContainsFilter?: string; channelNameContainsFilter?: string; - customTypesFilter?: string[]; + customTypesFilter?: Array; customTypeStartsWithFilter?: string; - channelUrlsFilter?: string[]; + channelUrlsFilter?: Array; superChannelFilter?: 'all' | 'super' | 'nonsuper'; publicChannelFilter?: 'all' | 'public' | 'private'; metadataOrderKeyFilter?: string; @@ -240,7 +259,7 @@ interface MessageListParams { shouldReverse?: boolean; messageType?: string; customType?: string; - senderUserIds?: string[]; + senderUserIds?: Array; includeMetaArray?: boolean; includeReactions?: boolean; includeReplies?: boolean; @@ -284,6 +303,8 @@ interface RenderChatItemProps { failedMessage: SendBird.AdminMessage | SendBird.UserMessage | SendBird.FileMessage ) => void; emojiContainer: EmojiContainer; + chainTop: boolean; + chainBottom: boolean; } interface RenderChatHeaderProps { channel: Sendbird.GroupChannel; @@ -313,7 +334,7 @@ interface SendBirdProviderProps { interface ChannelListProps { disableUserProfile?: boolean; allowProfileEdit?: boolean; - onBeforeCreateChannel?(users: string[]): Sendbird.GroupChannelParams; + onBeforeCreateChannel?(users: Array): Sendbird.GroupChannelParams; onThemeChange?(theme: string): void; onProfileEditSuccess?(user: Sendbird.User): void; onChannelSelect?(channel: Sendbird.GroupChannel): void; @@ -324,16 +345,18 @@ interface ChannelListProps { } interface ChannelProps { channelUrl: string; - disableUserProfile?: boolean, - useMessageGrouping?: boolean, - useReaction?: boolean, + disableUserProfile?: boolean; + useMessageGrouping?: boolean; + useReaction?: boolean; + showSearchIcon?: boolean; + onSearchClick?(): void; onBeforeSendUserMessage?(text: string): Sendbird.UserMessageParams; onBeforeSendFileMessage?(file: File): Sendbird.FileMessageParams; onBeforeUpdateUserMessage?(text: string): Sendbird.UserMessageParams; onChatHeaderActionClick?(event: React.MouseEvent): void; renderCustomMessage?: RenderCustomMessage; renderChatItem?: (props: RenderChatItemProps) => React.ReactNode; - renderMessageInput?: (props: RenderMessageInputProps) => React.ReactNode; + renderMessageInput?: (props: RenderGroupChannelMessageInputProps) => React.ReactNode; renderChatHeader?: (props: RenderChatHeaderProps) => React.ReactNode; renderUserProfile?: (props: RenderUserProfileProps) => React.ReactNode; queries?: ChannelQueries; @@ -411,9 +434,11 @@ interface ClientMessage { _sender: Sendbird.User; } -type RenderCustomMessage = ( +export type RenderCustomMessage = ( message: EveryMessage, channel: Sendbird.OpenChannel | Sendbird.GroupChannel, + chainTop: boolean, + chainBottom: boolean, ) => RenderCustomMessageProps; type RenderCustomMessageProps = ({ message: EveryMessage }) => React.ReactElement; diff --git a/index.js b/index.js index 4c26d8a..09928c2 100644 --- a/index.js +++ b/index.js @@ -1,30 +1,38 @@ -export { g as getStringSet, w as withSendBird } from './LocalizationContext-5c5b45a0.js'; +import { S as SendbirdSdkContext } from './LocalizationContext-34316336.js'; +export { g as getStringSet, w as withSendBird } from './LocalizationContext-34316336.js'; export { default as SendBirdProvider } from './SendbirdProvider.js'; -import 'react'; +import { useContext } from 'react'; import 'prop-types'; import 'sendbird'; import './actionTypes-a85c0eaa.js'; import 'css-vars-ponyfill'; -export { F as sendBirdSelectors } from './index-c97add1b.js'; +export { F as sendBirdSelectors } from './index-79d744e1.js'; export { default as ChannelList } from './ChannelList.js'; +import './index-cee71d44.js'; import './utils-53ba1773.js'; -import './index-fa2a92d8.js'; -import './LeaveChannel-cf9903b4.js'; +import './LeaveChannel-42e6a67d.js'; import 'date-fns/isToday'; import 'date-fns/format'; import 'date-fns/isYesterday'; import './type-0296584d.js'; import './utils-cfdeb084.js'; import 'react-dom'; -import './index-2c17b4ed.js'; +import './index-49dfd24f.js'; export { default as Channel, getAllEmojisFromEmojiContainer, getEmojiCategoriesFromEmojiContainer, getEmojisFromEmojiContainer } from './Channel.js'; -import './index-f48d282b.js'; +import './index-5b744991.js'; import 'date-fns/isSameDay'; import './utils-d7f59026.js'; import 'date-fns/formatDistanceToNowStrict'; export { default as ChannelSettings } from './ChannelSettings.js'; -import './index-e492270c.js'; +import './index-cb09a8ab.js'; export { default as App } from './App.js'; export { default as OpenChannel } from './OpenChannel.js'; export { default as OpenChannelSettings } from './OpenChannelSettings.js'; + +function useSendbirdStateContext() { + var context = useContext(SendbirdSdkContext); + return context; +} + +export { useSendbirdStateContext }; //# sourceMappingURL=index.js.map diff --git a/index.js.map b/index.js.map index b11f5f8..1124624 100644 --- a/index.js.map +++ b/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../src/hooks/useSendbirdStateContext.tsx"],"sourcesContent":["import { useContext } from 'react';\n\nimport { SendbirdSdkContext } from '../lib/SendbirdSdkContext';\nimport { SendBirdState } from '../index';\n\nfunction useSendbirdStateContext (): SendBirdState {\n const context: SendBirdState = useContext(SendbirdSdkContext);\n return context;\n}\n\nexport default useSendbirdStateContext;\n"],"names":["useSendbirdStateContext","context","useContext","SendbirdSdkContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAASA,uBAAT;AACE,MAAMC,OAAO,GAAkBC,UAAU,CAACC,kBAAD,CAAzC;AACA,SAAOF,OAAP;AACD;;;;"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 52e4045..bd22ae1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "sendbird-uikit", - "version": "2.0.2", + "version": "2.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index f585065..596ae90 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sendbird-uikit", - "version": "2.0.2", + "version": "2.1.0", "description": "React based UI kit for sendbird", "main": "index.js", "typings": "index.d.js", diff --git a/utils-53ba1773.js.map b/utils-53ba1773.js.map index f097cf9..b64084a 100644 --- a/utils-53ba1773.js.map +++ b/utils-53ba1773.js.map @@ -1 +1 @@ -{"version":3,"file":"utils-53ba1773.js","sources":["../src/ui/ChannelAvatar/utils.ts","../src/utils/utils.js"],"sourcesContent":["export const DEFAULT_URL_PREFIX = 'https://static.sendbird.com/sample/cover/cover_';\n\nexport const getOpenChannelAvatar = (channel: SendBird.OpenChannel): string => {\n if (channel && channel.coverUrl) {\n return channel.coverUrl;\n }\n};\n\nexport const getChannelAvatarSource = (channel: SendBird.GroupChannel, currentUserId: string): string | string[] => {\n if (channel && channel.coverUrl) {\n if (!(new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl))) {\n return channel.coverUrl;\n }\n }\n\n return channel && channel.members\n ? channel.members\n .filter((member) => member.userId !== currentUserId)\n .map(({ profileUrl }) => profileUrl)\n : [];\n};\n\n\nexport const useDefaultAvatar = (channel: SendBird.GroupChannel): boolean => {\n if (channel && channel.coverUrl) {\n if (new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl)) {\n return true;\n }\n return false;\n }\n return true;\n}\n","import format from 'date-fns/format';\n\nexport const noop = () => {};\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const getSenderName = (message) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\n\nexport const getSenderProfileUrl = (message) => message.sender && message.sender.profileUrl;\n\nexport default {\n getMessageCreatedAt,\n getSenderName,\n getSenderProfileUrl,\n};\n"],"names":["DEFAULT_URL_PREFIX","getOpenChannelAvatar","channel","coverUrl","getChannelAvatarSource","currentUserId","RegExp","test","members","filter","member","userId","map","_a","profileUrl","useDefaultAvatar","noop","getMessageCreatedAt","message","format","createdAt","getSenderName","sender","friendName","nickname","getSenderProfileUrl"],"mappings":";;AAAO,IAAMA,kBAAkB,GAAG,iDAA3B;IAEMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,OAAD;AAClC,MAAIA,OAAO,IAAIA,OAAO,CAACC,QAAvB,EAAiC;AAC/B,WAAOD,OAAO,CAACC,QAAf;AACD;AACF;IAEYC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACF,OAAD,EAAiCG,aAAjC;AACpC,MAAIH,OAAO,IAAIA,OAAO,CAACC,QAAvB,EAAiC;AAC/B,QAAI,CAAE,IAAIG,MAAJ,CAAW,MAAIN,kBAAf,EAAqCO,IAArC,CAA0CL,OAAO,CAACC,QAAlD,CAAN,EAAoE;AAClE,aAAOD,OAAO,CAACC,QAAf;AACD;AACF;;AAED,SAAOD,OAAO,IAAIA,OAAO,CAACM,OAAnB,GACHN,OAAO,CAACM,OAAR,CACCC,MADD,CACQ,UAACC,MAAD;AAAY,WAAAA,MAAM,CAACC,MAAP,KAAkBN,aAAlB;AAA+B,GADnD,EAECO,GAFD,CAEK,UAACC,EAAD;QAAGC,UAAU;AAAO,WAAAA,UAAA;AAAU,GAFnC,CADG,GAIH,EAJJ;AAKD;IAGYC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACb,OAAD;AAC9B,MAAIA,OAAO,IAAIA,OAAO,CAACC,QAAvB,EAAiC;AAC/B,QAAI,IAAIG,MAAJ,CAAW,MAAIN,kBAAf,EAAqCO,IAArC,CAA0CL,OAAO,CAACC,QAAlD,CAAJ,EAAiE;AAC/D,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD;;AACD,SAAO,IAAP;AACD;;IC7BYa,IAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB;AAEP,IAAaC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,OAAD;AAAA,SAAaC,MAAM,CAACD,OAAO,CAACE,SAAT,EAAoB,GAApB,CAAnB;AAAA,CAA5B;AAEP,IAAaC,aAAa,GAAG,SAAhBA,aAAgB,CAACH,OAAD;AAAA,SAC3BA,OAAO,CAACI,MAAR,KACEJ,OAAO,CAACI,MAAR,CAAeC,UAAf,IACGL,OAAO,CAACI,MAAR,CAAeE,QADlB,IAEGN,OAAO,CAACI,MAAR,CAAeX,MAHpB,CAD2B;AAAA,CAAtB;AAQP,IAAac,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACP,OAAD;AAAA,SAAaA,OAAO,CAACI,MAAR,IAAkBJ,OAAO,CAACI,MAAR,CAAeR,UAA9C;AAAA,CAA5B;;;;"} \ No newline at end of file +{"version":3,"file":"utils-53ba1773.js","sources":["../src/ui/ChannelAvatar/utils.ts","../src/utils/utils.js"],"sourcesContent":["export const DEFAULT_URL_PREFIX = 'https://static.sendbird.com/sample/cover/cover_';\n\nexport const getOpenChannelAvatar = (channel: SendBird.OpenChannel): string => {\n if (channel && channel.coverUrl) {\n return channel.coverUrl;\n }\n};\n\nexport const getChannelAvatarSource = (channel: SendBird.GroupChannel, currentUserId: string): string | Array => {\n if (channel && channel.coverUrl) {\n if (!(new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl))) {\n return channel.coverUrl;\n }\n }\n\n return channel && channel.members\n ? channel.members\n .filter((member) => member.userId !== currentUserId)\n .map(({ profileUrl }) => profileUrl)\n : [];\n};\n\n\nexport const useDefaultAvatar = (channel: SendBird.GroupChannel): boolean => {\n if (channel && channel.coverUrl) {\n if (new RegExp(`^${DEFAULT_URL_PREFIX}`).test(channel.coverUrl)) {\n return true;\n }\n return false;\n }\n return true;\n}\n","import format from 'date-fns/format';\n\nexport const noop = () => {};\n\nexport const getMessageCreatedAt = (message) => format(message.createdAt, 'p');\n\nexport const getSenderName = (message) => (\n message.sender && (\n message.sender.friendName\n || message.sender.nickname\n || message.sender.userId\n )\n);\n\nexport const getSenderProfileUrl = (message) => message.sender && message.sender.profileUrl;\n\nexport default {\n getMessageCreatedAt,\n getSenderName,\n getSenderProfileUrl,\n};\n"],"names":["DEFAULT_URL_PREFIX","getOpenChannelAvatar","channel","coverUrl","getChannelAvatarSource","currentUserId","RegExp","test","members","filter","member","userId","map","_a","profileUrl","useDefaultAvatar","noop","getMessageCreatedAt","message","format","createdAt","getSenderName","sender","friendName","nickname","getSenderProfileUrl"],"mappings":";;AAAO,IAAMA,kBAAkB,GAAG,iDAA3B;IAEMC,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,OAAD;AAClC,MAAIA,OAAO,IAAIA,OAAO,CAACC,QAAvB,EAAiC;AAC/B,WAAOD,OAAO,CAACC,QAAf;AACD;AACF;IAEYC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACF,OAAD,EAAiCG,aAAjC;AACpC,MAAIH,OAAO,IAAIA,OAAO,CAACC,QAAvB,EAAiC;AAC/B,QAAI,CAAE,IAAIG,MAAJ,CAAW,MAAIN,kBAAf,EAAqCO,IAArC,CAA0CL,OAAO,CAACC,QAAlD,CAAN,EAAoE;AAClE,aAAOD,OAAO,CAACC,QAAf;AACD;AACF;;AAED,SAAOD,OAAO,IAAIA,OAAO,CAACM,OAAnB,GACHN,OAAO,CAACM,OAAR,CACCC,MADD,CACQ,UAACC,MAAD;AAAY,WAAAA,MAAM,CAACC,MAAP,KAAkBN,aAAlB;AAA+B,GADnD,EAECO,GAFD,CAEK,UAACC,EAAD;QAAGC,UAAU;AAAO,WAAAA,UAAA;AAAU,GAFnC,CADG,GAIH,EAJJ;AAKD;IAGYC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACb,OAAD;AAC9B,MAAIA,OAAO,IAAIA,OAAO,CAACC,QAAvB,EAAiC;AAC/B,QAAI,IAAIG,MAAJ,CAAW,MAAIN,kBAAf,EAAqCO,IAArC,CAA0CL,OAAO,CAACC,QAAlD,CAAJ,EAAiE;AAC/D,aAAO,IAAP;AACD;;AACD,WAAO,KAAP;AACD;;AACD,SAAO,IAAP;AACD;;IC7BYa,IAAI,GAAG,SAAPA,IAAO,GAAM,EAAnB;AAEP,IAAaC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,OAAD;AAAA,SAAaC,MAAM,CAACD,OAAO,CAACE,SAAT,EAAoB,GAApB,CAAnB;AAAA,CAA5B;AAEP,IAAaC,aAAa,GAAG,SAAhBA,aAAgB,CAACH,OAAD;AAAA,SAC3BA,OAAO,CAACI,MAAR,KACEJ,OAAO,CAACI,MAAR,CAAeC,UAAf,IACGL,OAAO,CAACI,MAAR,CAAeE,QADlB,IAEGN,OAAO,CAACI,MAAR,CAAeX,MAHpB,CAD2B;AAAA,CAAtB;AAQP,IAAac,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACP,OAAD;AAAA,SAAaA,OAAO,CAACI,MAAR,IAAkBJ,OAAO,CAACI,MAAR,CAAeR,UAA9C;AAAA,CAA5B;;;;"} \ No newline at end of file