This repository has been archived by the owner on Aug 30, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathSendbirdProvider.js.map
1 lines (1 loc) · 42.5 KB
/
SendbirdProvider.js.map
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<string, string>): 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","// Logger, pretty much explains it\n// in SendbirdProvider\n// const [logger, setLogger] = useState(LoggerFactory(logLevel));\nexport 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\n// we use pubsub to sync events between multiple components(example - ChannelList, Channel)\n// for example, if customer sends a message from their custom component\n// without pubsub,we would not be able to listen to it\n// in our ChannelList or Conversation\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 <SendbirdSdkContext.Provider\n value={{\n stores: {\n sdkStore,\n userStore,\n },\n dispatchers: {\n sdkDispatcher,\n userDispatcher,\n reconnect: () => {\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 <LocalizationProvider stringSet={localeStringSet}>\n {children}\n </LocalizationProvider>\n </SendbirdSdkContext.Provider>\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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"}