From ee01183d8e770bda4196a25574b0335c260ee47a Mon Sep 17 00:00:00 2001 From: vishal_narkhede Date: Sun, 21 Jul 2019 00:20:59 +0200 Subject: [PATCH] 0.6.14 --- docs/build/{0.0f0c0a07.js => 0.580408f4.js} | 0 ...{bundle.41c22eb5.js => bundle.2c620b4c.js} | 24 +++++++++---------- docs/index.html | 2 +- package.json | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) rename docs/build/{0.0f0c0a07.js => 0.580408f4.js} (100%) rename docs/build/{bundle.41c22eb5.js => bundle.2c620b4c.js} (98%) diff --git a/docs/build/0.0f0c0a07.js b/docs/build/0.580408f4.js similarity index 100% rename from docs/build/0.0f0c0a07.js rename to docs/build/0.580408f4.js diff --git a/docs/build/bundle.41c22eb5.js b/docs/build/bundle.2c620b4c.js similarity index 98% rename from docs/build/bundle.41c22eb5.js rename to docs/build/bundle.2c620b4c.js index 910d0b80d7..2acc2153cd 100644 --- a/docs/build/bundle.41c22eb5.js +++ b/docs/build/bundle.2c620b4c.js @@ -43,7 +43,7 @@ /******/ /******/ // script path function /******/ function jsonpScriptSrc(chunkId) { -/******/ return __webpack_require__.p + "build/" + ({}[chunkId]||chunkId) + "." + {"0":"0f0c0a07"}[chunkId] + ".js" +/******/ return __webpack_require__.p + "build/" + ({}[chunkId]||chunkId) + "." + {"0":"580408f4"}[chunkId] + ".js" /******/ } /******/ /******/ // The require function @@ -10064,7 +10064,7 @@ eval("\nif (false) {}\n\nmodule.exports = {\n 'description': 'LoadingIndicato /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("\nif (false) {}\n\nmodule.exports = {\n 'description': 'Message - A high level component which implements all the logic required for a message.\\nThe actual rendering of the message is delegated via the \"Message\" property\\n',\n 'displayName': 'Message',\n 'methods': [],\n 'props': [\n {\n 'type': { 'name': 'object' },\n 'required': true,\n 'description': 'The message object',\n 'tags': {},\n 'name': 'message'\n },\n {\n 'type': { 'name': 'object' },\n 'required': true,\n 'description': 'The client connection object for connecting to Stream',\n 'tags': {},\n 'name': 'client'\n },\n {\n 'type': { 'name': 'object' },\n 'required': true,\n 'description': 'The current channel this message is displayed in',\n 'tags': {},\n 'name': 'channel'\n },\n {\n 'type': { 'name': 'array' },\n 'required': false,\n 'description': 'A list of users that have read this message *',\n 'defaultValue': {\n 'value': '[]',\n 'computed': false\n },\n 'tags': {},\n 'name': 'readBy'\n },\n {\n 'type': { 'name': 'array' },\n 'required': false,\n 'description': 'groupStyles, a list of styles to apply to this message. ie. top, bottom, single etc',\n 'defaultValue': {\n 'value': '[]',\n 'computed': false\n },\n 'tags': {},\n 'name': 'groupStyles'\n },\n {\n 'type': { 'name': 'bool' },\n 'required': false,\n 'description': 'Editing, if the message is currently being edited',\n 'defaultValue': {\n 'value': 'false',\n 'computed': false\n },\n 'tags': {},\n 'name': 'editing'\n },\n {\n 'type': {\n 'name': 'union',\n 'value': [\n { 'name': 'node' },\n { 'name': 'func' }\n ]\n },\n 'required': false,\n 'description': 'The message rendering component, the Message component delegates its rendering logic to this component',\n 'defaultValue': {\n 'value': 'MessageSimple',\n 'computed': true\n },\n 'tags': {},\n 'name': 'Message'\n },\n {\n 'type': {\n 'name': 'union',\n 'value': [\n { 'name': 'node' },\n { 'name': 'func' }\n ]\n },\n 'required': false,\n 'description': 'Allows you to overwrite the attachment component',\n 'defaultValue': {\n 'value': 'Attachment',\n 'computed': true\n },\n 'tags': {},\n 'name': 'Attachment'\n },\n {\n 'type': { 'name': 'bool' },\n 'required': false,\n 'description': 'render HTML instead of markdown. Posting HTML is only allowed server-side',\n 'tags': {},\n 'name': 'unsafeHTML'\n }\n ],\n 'doclets': { 'extends': 'Component' },\n 'tags': {\n 'example': [{\n 'title': 'example',\n 'description': './docs/Message.md'\n }],\n 'extends': [{\n 'title': 'extends',\n 'description': null,\n 'type': null,\n 'name': 'Component'\n }]\n },\n 'example': __webpack_require__(/*! !./node_modules/react-styleguidist/loaders/examples-loader.js!./docs/Message.md */ \"./node_modules/react-styleguidist/loaders/examples-loader.js!./src/components/docs/Message.md\"),\n 'examples': []\n}\n\t\n\n//# sourceURL=webpack:///./src/components/Message.js?./node_modules/react-styleguidist/loaders/props-loader.js"); +eval("\nif (false) {}\n\nmodule.exports = {\n 'description': 'Message - A high level component which implements all the logic required for a message.\\nThe actual rendering of the message is delegated via the \"Message\" property\\n',\n 'displayName': 'Message',\n 'methods': [],\n 'props': [\n {\n 'type': { 'name': 'object' },\n 'required': true,\n 'description': 'The message object',\n 'tags': {},\n 'name': 'message'\n },\n {\n 'type': { 'name': 'object' },\n 'required': true,\n 'description': 'The client connection object for connecting to Stream',\n 'tags': {},\n 'name': 'client'\n },\n {\n 'type': { 'name': 'object' },\n 'required': true,\n 'description': 'The current channel this message is displayed in',\n 'tags': {},\n 'name': 'channel'\n },\n {\n 'type': { 'name': 'array' },\n 'required': false,\n 'description': 'A list of users that have read this message *',\n 'defaultValue': {\n 'value': '[]',\n 'computed': false\n },\n 'tags': {},\n 'name': 'readBy'\n },\n {\n 'type': { 'name': 'array' },\n 'required': false,\n 'description': 'groupStyles, a list of styles to apply to this message. ie. top, bottom, single etc',\n 'defaultValue': {\n 'value': '[]',\n 'computed': false\n },\n 'tags': {},\n 'name': 'groupStyles'\n },\n {\n 'type': { 'name': 'bool' },\n 'required': false,\n 'description': 'Editing, if the message is currently being edited',\n 'defaultValue': {\n 'value': 'false',\n 'computed': false\n },\n 'tags': {},\n 'name': 'editing'\n },\n {\n 'type': {\n 'name': 'union',\n 'value': [\n { 'name': 'node' },\n { 'name': 'func' }\n ]\n },\n 'required': false,\n 'description': 'The message rendering component, the Message component delegates its rendering logic to this component',\n 'defaultValue': {\n 'value': 'MessageSimple',\n 'computed': true\n },\n 'tags': {},\n 'name': 'Message'\n },\n {\n 'type': {\n 'name': 'union',\n 'value': [\n { 'name': 'node' },\n { 'name': 'func' }\n ]\n },\n 'required': false,\n 'description': 'Allows you to overwrite the attachment component',\n 'defaultValue': {\n 'value': 'Attachment',\n 'computed': true\n },\n 'tags': {},\n 'name': 'Attachment'\n },\n {\n 'type': { 'name': 'bool' },\n 'required': false,\n 'description': 'render HTML instead of markdown. Posting HTML is only allowed server-side',\n 'tags': {},\n 'name': 'unsafeHTML'\n },\n {\n 'defaultValue': {\n 'value': 'Object.keys(MESSAGE_ACTIONS)',\n 'computed': true\n },\n 'required': false,\n 'description': '',\n 'tags': {},\n 'name': 'messageActions'\n }\n ],\n 'doclets': { 'extends': 'Component' },\n 'tags': {\n 'example': [{\n 'title': 'example',\n 'description': './docs/Message.md'\n }],\n 'extends': [{\n 'title': 'extends',\n 'description': null,\n 'type': null,\n 'name': 'Component'\n }]\n },\n 'example': __webpack_require__(/*! !./node_modules/react-styleguidist/loaders/examples-loader.js!./docs/Message.md */ \"./node_modules/react-styleguidist/loaders/examples-loader.js!./src/components/docs/Message.md\"),\n 'examples': []\n}\n\t\n\n//# sourceURL=webpack:///./src/components/Message.js?./node_modules/react-styleguidist/loaders/props-loader.js"); /***/ }), @@ -10130,7 +10130,7 @@ eval("\nif (false) {}\n\nmodule.exports = {\n 'description': 'MessageInputSma /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("\nif (false) {}\n\nmodule.exports = {\n 'description': 'MessageList - The message list components renders a list of messages\\n',\n 'displayName': 'MessageList',\n 'methods': [],\n 'props': [\n {\n 'type': {\n 'name': 'union',\n 'value': [\n { 'name': 'node' },\n { 'name': 'func' }\n ]\n },\n 'required': false,\n 'description': 'The attachment component to render, defaults to Attachment',\n 'tags': {},\n 'name': 'Attachment'\n },\n {\n 'type': { 'name': 'array' },\n 'required': true,\n 'description': 'A list of immutable messages',\n 'tags': {},\n 'name': 'messages'\n },\n {\n 'type': { 'name': 'object' },\n 'required': true,\n 'description': 'Via Context: The channel object',\n 'tags': {},\n 'name': 'channel'\n },\n {\n 'type': { 'name': 'func' },\n 'required': true,\n 'description': 'Via Context: The function to update a message, handled by the Channel component',\n 'tags': {},\n 'name': 'updateMessage'\n },\n {\n 'type': { 'name': 'func' },\n 'required': false,\n 'description': 'Via Context: The function is called when the list scrolls',\n 'tags': {},\n 'name': 'listenToScroll'\n },\n {\n 'type': {\n 'name': 'union',\n 'value': [\n { 'name': 'node' },\n { 'name': 'func' }\n ]\n },\n 'required': false,\n 'description': 'Typing indicator component to render',\n 'tags': {},\n 'name': 'TypingIndicator'\n },\n {\n 'type': {\n 'name': 'union',\n 'value': [\n { 'name': 'node' },\n { 'name': 'func' }\n ]\n },\n 'required': false,\n 'description': 'Date separator component to render',\n 'defaultValue': {\n 'value': 'DateSeparator',\n 'computed': true\n },\n 'tags': {},\n 'name': 'dateSeparator'\n },\n {\n 'type': { 'name': 'bool' },\n 'required': false,\n 'description': 'Turn off grouping of messages by user',\n 'defaultValue': {\n 'value': 'false',\n 'computed': false\n },\n 'tags': {},\n 'name': 'noGroupByUser'\n },\n {\n 'type': { 'name': 'bool' },\n 'required': false,\n 'description': 'render HTML instead of markdown. Posting HTML is only allowed server-side',\n 'defaultValue': {\n 'value': 'false',\n 'computed': false\n },\n 'tags': {},\n 'name': 'unsafeHTML'\n }\n ],\n 'doclets': { 'extends': 'PureComponent' },\n 'tags': {\n 'example': [{\n 'title': 'example',\n 'description': './docs/MessageList.md'\n }],\n 'extends': [{\n 'title': 'extends',\n 'description': null,\n 'type': null,\n 'name': 'PureComponent'\n }]\n },\n 'example': __webpack_require__(/*! !./node_modules/react-styleguidist/loaders/examples-loader.js!./docs/MessageList.md */ \"./node_modules/react-styleguidist/loaders/examples-loader.js!./src/components/docs/MessageList.md\"),\n 'examples': []\n}\n\t\n\n//# sourceURL=webpack:///./src/components/MessageList.js?./node_modules/react-styleguidist/loaders/props-loader.js"); +eval("\nif (false) {}\n\nmodule.exports = {\n 'description': 'MessageList - The message list components renders a list of messages\\n',\n 'displayName': 'MessageList',\n 'methods': [],\n 'props': [\n {\n 'type': {\n 'name': 'union',\n 'value': [\n { 'name': 'node' },\n { 'name': 'func' }\n ]\n },\n 'required': false,\n 'description': 'The attachment component to render, defaults to Attachment',\n 'tags': {},\n 'name': 'Attachment'\n },\n {\n 'type': { 'name': 'array' },\n 'required': true,\n 'description': 'A list of immutable messages',\n 'tags': {},\n 'name': 'messages'\n },\n {\n 'type': { 'name': 'object' },\n 'required': true,\n 'description': 'Via Context: The channel object',\n 'tags': {},\n 'name': 'channel'\n },\n {\n 'type': { 'name': 'func' },\n 'required': true,\n 'description': 'Via Context: The function to update a message, handled by the Channel component',\n 'tags': {},\n 'name': 'updateMessage'\n },\n {\n 'type': { 'name': 'func' },\n 'required': false,\n 'description': 'Via Context: The function is called when the list scrolls',\n 'tags': {},\n 'name': 'listenToScroll'\n },\n {\n 'type': {\n 'name': 'union',\n 'value': [\n { 'name': 'node' },\n { 'name': 'func' }\n ]\n },\n 'required': false,\n 'description': 'Typing indicator component to render',\n 'tags': {},\n 'name': 'TypingIndicator'\n },\n {\n 'type': {\n 'name': 'union',\n 'value': [\n { 'name': 'node' },\n { 'name': 'func' }\n ]\n },\n 'required': false,\n 'description': 'Date separator component to render',\n 'defaultValue': {\n 'value': 'DateSeparator',\n 'computed': true\n },\n 'tags': {},\n 'name': 'dateSeparator'\n },\n {\n 'type': { 'name': 'bool' },\n 'required': false,\n 'description': 'Turn off grouping of messages by user',\n 'defaultValue': {\n 'value': 'false',\n 'computed': false\n },\n 'tags': {},\n 'name': 'noGroupByUser'\n },\n {\n 'type': { 'name': 'bool' },\n 'required': false,\n 'description': 'render HTML instead of markdown. Posting HTML is only allowed server-side',\n 'defaultValue': {\n 'value': 'false',\n 'computed': false\n },\n 'tags': {},\n 'name': 'unsafeHTML'\n },\n {\n 'type': {\n 'name': 'union',\n 'value': [\n { 'name': 'bool' },\n { 'name': 'array' }\n ]\n },\n 'required': false,\n 'description': 'Array of allowed actions on message. e.g. [\\'edit\\', \\'delete\\', \\'mute\\', \\'flag\\']',\n 'defaultValue': {\n 'value': 'Object.keys(MESSAGE_ACTIONS)',\n 'computed': true\n },\n 'tags': {},\n 'name': 'messageActions'\n }\n ],\n 'doclets': { 'extends': 'PureComponent' },\n 'tags': {\n 'example': [{\n 'title': 'example',\n 'description': './docs/MessageList.md'\n }],\n 'extends': [{\n 'title': 'extends',\n 'description': null,\n 'type': null,\n 'name': 'PureComponent'\n }]\n },\n 'example': __webpack_require__(/*! !./node_modules/react-styleguidist/loaders/examples-loader.js!./docs/MessageList.md */ \"./node_modules/react-styleguidist/loaders/examples-loader.js!./src/components/docs/MessageList.md\"),\n 'examples': []\n}\n\t\n\n//# sourceURL=webpack:///./src/components/MessageList.js?./node_modules/react-styleguidist/loaders/props-loader.js"); /***/ }), @@ -11953,7 +11953,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Message\", function() { return Message; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _MessageSimple__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./MessageSimple */ \"./src/components/MessageSimple.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _Attachment__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Attachment */ \"./src/components/Attachment.js\");\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! deep-equal */ \"./node_modules/deep-equal/index.js\");\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(deep_equal__WEBPACK_IMPORTED_MODULE_14__);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // import diff from 'shallow-diff';\n\n/**\n * Message - A high level component which implements all the logic required for a message.\n * The actual rendering of the message is delegated via the \"Message\" property\n *\n * @example ./docs/Message.md\n * @extends Component\n */\n\nvar Message =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8___default()(Message, _Component);\n\n function Message(props) {\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, Message);\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default()(Message).call(this, props));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"isMyMessage\", function (message) {\n return _this.props.client.user.id === message.user.id;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"isAdmin\", function () {\n return _this.props.client.user.role === 'admin';\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"canEditMessage\", function (message) {\n return _this.isMyMessage(message) || _this.isAdmin();\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"canDeleteMessage\", function (message) {\n return _this.isMyMessage(message) || _this.isAdmin();\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"handleFlag\",\n /*#__PURE__*/\n function () {\n var _ref = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee(event) {\n var message;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n event.preventDefault();\n message = _this.props.message;\n _context.next = 4;\n return _this.props.client.flagMessage(message.id);\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"handleMute\",\n /*#__PURE__*/\n function () {\n var _ref2 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee2(event) {\n var message;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n event.preventDefault();\n message = _this.props.message;\n _context2.next = 4;\n return _this.props.client.flagMessage(message.user.id);\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x2) {\n return _ref2.apply(this, arguments);\n };\n }());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"handleEdit\", function () {\n _this.props.setEditingState(_this.props.message);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"handleDelete\",\n /*#__PURE__*/\n function () {\n var _ref3 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee3(event) {\n var message, data;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n event.preventDefault();\n message = _this.props.message;\n _context3.next = 4;\n return _this.props.client.deleteMessage(message.id);\n\n case 4:\n data = _context3.sent;\n\n _this.props.updateMessage(data.message);\n\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n return function (_x3) {\n return _ref3.apply(this, arguments);\n };\n }());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"handleReaction\",\n /*#__PURE__*/\n function () {\n var _ref4 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee4(reactionType, event) {\n var userExistingReaction, currentUser, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _reaction, originalMessage, reactionChangePromise, messageID, reaction;\n\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (event !== undefined && event.preventDefault) {\n event.preventDefault();\n }\n\n userExistingReaction = null;\n currentUser = _this.props.client.userID;\n _iteratorNormalCompletion = true;\n _didIteratorError = false;\n _iteratorError = undefined;\n _context4.prev = 6;\n\n for (_iterator = _this.props.message.own_reactions[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n _reaction = _step.value;\n\n // own user should only ever contain the current user id\n // just in case we check to prevent bugs with message updates from breaking reactions\n if (currentUser === _reaction.user.id && _reaction.type === reactionType) {\n userExistingReaction = _reaction;\n } else if (currentUser !== _reaction.user.id) {\n console.warn(\"message.own_reactions contained reactions from a different user, this indicates a bug\");\n }\n }\n\n _context4.next = 14;\n break;\n\n case 10:\n _context4.prev = 10;\n _context4.t0 = _context4[\"catch\"](6);\n _didIteratorError = true;\n _iteratorError = _context4.t0;\n\n case 14:\n _context4.prev = 14;\n _context4.prev = 15;\n\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n\n case 17:\n _context4.prev = 17;\n\n if (!_didIteratorError) {\n _context4.next = 20;\n break;\n }\n\n throw _iteratorError;\n\n case 20:\n return _context4.finish(17);\n\n case 21:\n return _context4.finish(14);\n\n case 22:\n originalMessage = _this.props.message;\n\n /*\n - Add the reaction to the local state\n - Make the API call in the background\n - If it fails, revert to the old message...\n */\n if (userExistingReaction) {\n // this.props.channel.state.removeReaction(userExistingReaction);\n reactionChangePromise = _this.props.channel.deleteReaction(_this.props.message.id, userExistingReaction.type);\n } else {\n // add the reaction\n messageID = _this.props.message.id;\n reaction = {\n type: reactionType\n }; // this.props.channel.state.addReaction(tmpReaction, this.props.message);\n\n reactionChangePromise = _this.props.channel.sendReaction(messageID, reaction);\n }\n\n _context4.prev = 24;\n _context4.next = 27;\n return reactionChangePromise;\n\n case 27:\n _context4.next = 32;\n break;\n\n case 29:\n _context4.prev = 29;\n _context4.t1 = _context4[\"catch\"](24);\n\n // revert to the original message if the API call fails\n _this.props.updateMessage(originalMessage);\n\n case 32:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, null, [[6, 10, 14, 22], [15,, 17, 21], [24, 29]]);\n }));\n\n return function (_x4, _x5) {\n return _ref4.apply(this, arguments);\n };\n }());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"handleAction\",\n /*#__PURE__*/\n function () {\n var _ref5 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee5(name, value, event) {\n var messageID, formData, data;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n event.preventDefault();\n messageID = _this.props.message.id;\n formData = {};\n formData[name] = value;\n _context5.next = 6;\n return _this.props.channel.sendAction(messageID, formData);\n\n case 6:\n data = _context5.sent;\n\n if (data && data.message) {\n _this.props.updateMessage(data.message);\n } else {\n _this.props.removeMessage(_this.props.message);\n }\n\n case 8:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n\n return function (_x6, _x7, _x8) {\n return _ref5.apply(this, arguments);\n };\n }());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"handleRetry\",\n /*#__PURE__*/\n function () {\n var _ref6 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee6(message) {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return _this.props.retrySendMessage(message);\n\n case 2:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n\n return function (_x9) {\n return _ref6.apply(this, arguments);\n };\n }());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"onMentionsClick\", function (e) {\n if (typeof _this.props.onMentionsClick !== 'function') {\n return;\n }\n\n _this.props.onMentionsClick(e, _this.props.message.mentioned_users);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"onMentionsHover\", function (e) {\n if (typeof _this.props.onMentionsHover !== 'function') {\n return;\n }\n\n _this.props.onMentionsHover(e, _this.props.message.mentioned_users);\n });\n\n _this.state = {\n loading: false\n };\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(Message, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n // since there are many messages its important to only rerender messages when needed.\n var shouldUpdate = nextProps.message !== this.props.message;\n var reason = '';\n\n if (shouldUpdate) {\n reason = 'message';\n } // read state is the next most likely thing to change..\n\n\n if (!shouldUpdate && !deep_equal__WEBPACK_IMPORTED_MODULE_14___default()(nextProps.readBy, this.props.readBy)) {\n shouldUpdate = true;\n reason = 'readBy';\n } // group style often changes for the last 3 messages...\n\n\n if (!shouldUpdate && !deep_equal__WEBPACK_IMPORTED_MODULE_14___default()(nextProps.groupStyles, this.props.groupStyles)) {\n shouldUpdate = true;\n reason = 'groupStyles';\n } // if lastreceivedId changesm, message should update.\n\n\n if (!shouldUpdate && !deep_equal__WEBPACK_IMPORTED_MODULE_14___default()(nextProps.lastReceivedId, this.props.lastReceivedId)) {\n shouldUpdate = true;\n reason = 'lastReceivedId';\n } // editing is the last one which can trigger a change..\n\n\n if (!shouldUpdate && nextProps.editing !== this.props.editing) {\n shouldUpdate = true;\n reason = 'editing';\n } // editing is the last one which can trigger a change..\n\n\n if (!shouldUpdate && nextProps.messageListRect !== this.props.messageListRect) {\n shouldUpdate = true;\n reason = 'messageListRect';\n }\n\n if (shouldUpdate && reason) {// console.log(\n // 'message',\n // nextProps.message.id,\n // 'shouldUpdate',\n // shouldUpdate,\n // reason,\n // );\n // console.log(reason, diff(this.props, nextProps));\n }\n\n return shouldUpdate;\n }\n }, {\n key: \"render\",\n value: function render() {\n var config = this.props.channel.getConfig();\n var message = this.props.message;\n var actionsEnabled = message.type === 'regular' && message.status === 'received';\n var Component = this.props.Message;\n return react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(Component, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, this.props, {\n actionsEnabled: actionsEnabled,\n Message: this,\n handleReaction: this.handleReaction,\n handleFlag: this.handleFlag,\n handleMute: this.handleMute,\n handleAction: this.handleAction,\n handleRetry: this.handleRetry,\n isMyMessage: this.isMyMessage,\n openThread: this.props.openThread && this.props.openThread.bind(this, message),\n channelConfig: config,\n onMentionsClickMessage: this.onMentionsClick,\n onMentionsHoverMessage: this.onMentionsHover\n }));\n }\n }]);\n\n return Message;\n}(react__WEBPACK_IMPORTED_MODULE_10__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(Message, \"propTypes\", {\n /** The message object */\n message: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.object.isRequired,\n\n /** The client connection object for connecting to Stream */\n client: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.object.isRequired,\n\n /** The current channel this message is displayed in */\n channel: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.object.isRequired,\n\n /** A list of users that have read this message **/\n readBy: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.array,\n\n /** groupStyles, a list of styles to apply to this message. ie. top, bottom, single etc */\n groupStyles: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.array,\n\n /** Editing, if the message is currently being edited */\n editing: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.bool,\n\n /** The message rendering component, the Message component delegates its rendering logic to this component */\n Message: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.func]),\n\n /** Allows you to overwrite the attachment component */\n Attachment: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.func]),\n\n /** render HTML instead of markdown. Posting HTML is only allowed server-side */\n unsafeHTML: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.bool\n});\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(Message, \"defaultProps\", {\n Message: _MessageSimple__WEBPACK_IMPORTED_MODULE_11__[\"MessageSimple\"],\n readBy: [],\n groupStyles: [],\n Attachment: _Attachment__WEBPACK_IMPORTED_MODULE_13__[\"Attachment\"],\n editing: false\n});\n\n//# sourceURL=webpack:///./src/components/Message.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Message\", function() { return Message; });\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/extends */ \"./node_modules/@babel/runtime/helpers/extends.js\");\n/* harmony import */ var _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _MessageSimple__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./MessageSimple */ \"./src/components/MessageSimple.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _Attachment__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Attachment */ \"./src/components/Attachment.js\");\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! deep-equal */ \"./node_modules/deep-equal/index.js\");\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(deep_equal__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n // import diff from 'shallow-diff';\n\n/**\n * Message - A high level component which implements all the logic required for a message.\n * The actual rendering of the message is delegated via the \"Message\" property\n *\n * @example ./docs/Message.md\n * @extends Component\n */\n\nvar Message =\n/*#__PURE__*/\nfunction (_Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8___default()(Message, _Component);\n\n function Message(props) {\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_3___default()(this, Message);\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_5___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_6___default()(Message).call(this, props));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"isMyMessage\", function (message) {\n return _this.props.client.user.id === message.user.id;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"isAdmin\", function () {\n return _this.props.client.user.role === 'admin';\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"canEditMessage\", function (message) {\n return _this.isMyMessage(message) || _this.isAdmin();\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"canDeleteMessage\", function (message) {\n return _this.isMyMessage(message) || _this.isAdmin();\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"handleFlag\",\n /*#__PURE__*/\n function () {\n var _ref = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee(event) {\n var message;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n event.preventDefault();\n message = _this.props.message;\n _context.next = 4;\n return _this.props.client.flagMessage(message.id);\n\n case 4:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"handleMute\",\n /*#__PURE__*/\n function () {\n var _ref2 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee2(event) {\n var message;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n event.preventDefault();\n message = _this.props.message;\n _context2.next = 4;\n return _this.props.client.flagMessage(message.user.id);\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x2) {\n return _ref2.apply(this, arguments);\n };\n }());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"handleEdit\", function () {\n _this.props.setEditingState(_this.props.message);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"handleDelete\",\n /*#__PURE__*/\n function () {\n var _ref3 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee3(event) {\n var message, data;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n event.preventDefault();\n message = _this.props.message;\n _context3.next = 4;\n return _this.props.client.deleteMessage(message.id);\n\n case 4:\n data = _context3.sent;\n\n _this.props.updateMessage(data.message);\n\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n return function (_x3) {\n return _ref3.apply(this, arguments);\n };\n }());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"handleReaction\",\n /*#__PURE__*/\n function () {\n var _ref4 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee4(reactionType, event) {\n var userExistingReaction, currentUser, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _iterator, _step, _reaction, originalMessage, reactionChangePromise, messageID, reaction;\n\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (event !== undefined && event.preventDefault) {\n event.preventDefault();\n }\n\n userExistingReaction = null;\n currentUser = _this.props.client.userID;\n _iteratorNormalCompletion = true;\n _didIteratorError = false;\n _iteratorError = undefined;\n _context4.prev = 6;\n\n for (_iterator = _this.props.message.own_reactions[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n _reaction = _step.value;\n\n // own user should only ever contain the current user id\n // just in case we check to prevent bugs with message updates from breaking reactions\n if (currentUser === _reaction.user.id && _reaction.type === reactionType) {\n userExistingReaction = _reaction;\n } else if (currentUser !== _reaction.user.id) {\n console.warn(\"message.own_reactions contained reactions from a different user, this indicates a bug\");\n }\n }\n\n _context4.next = 14;\n break;\n\n case 10:\n _context4.prev = 10;\n _context4.t0 = _context4[\"catch\"](6);\n _didIteratorError = true;\n _iteratorError = _context4.t0;\n\n case 14:\n _context4.prev = 14;\n _context4.prev = 15;\n\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n\n case 17:\n _context4.prev = 17;\n\n if (!_didIteratorError) {\n _context4.next = 20;\n break;\n }\n\n throw _iteratorError;\n\n case 20:\n return _context4.finish(17);\n\n case 21:\n return _context4.finish(14);\n\n case 22:\n originalMessage = _this.props.message;\n\n /*\n - Add the reaction to the local state\n - Make the API call in the background\n - If it fails, revert to the old message...\n */\n if (userExistingReaction) {\n // this.props.channel.state.removeReaction(userExistingReaction);\n reactionChangePromise = _this.props.channel.deleteReaction(_this.props.message.id, userExistingReaction.type);\n } else {\n // add the reaction\n messageID = _this.props.message.id;\n reaction = {\n type: reactionType\n }; // this.props.channel.state.addReaction(tmpReaction, this.props.message);\n\n reactionChangePromise = _this.props.channel.sendReaction(messageID, reaction);\n }\n\n _context4.prev = 24;\n _context4.next = 27;\n return reactionChangePromise;\n\n case 27:\n _context4.next = 32;\n break;\n\n case 29:\n _context4.prev = 29;\n _context4.t1 = _context4[\"catch\"](24);\n\n // revert to the original message if the API call fails\n _this.props.updateMessage(originalMessage);\n\n case 32:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, null, [[6, 10, 14, 22], [15,, 17, 21], [24, 29]]);\n }));\n\n return function (_x4, _x5) {\n return _ref4.apply(this, arguments);\n };\n }());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"handleAction\",\n /*#__PURE__*/\n function () {\n var _ref5 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee5(name, value, event) {\n var messageID, formData, data;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n event.preventDefault();\n messageID = _this.props.message.id;\n formData = {};\n formData[name] = value;\n _context5.next = 6;\n return _this.props.channel.sendAction(messageID, formData);\n\n case 6:\n data = _context5.sent;\n\n if (data && data.message) {\n _this.props.updateMessage(data.message);\n } else {\n _this.props.removeMessage(_this.props.message);\n }\n\n case 8:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n\n return function (_x6, _x7, _x8) {\n return _ref5.apply(this, arguments);\n };\n }());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"handleRetry\",\n /*#__PURE__*/\n function () {\n var _ref6 = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee6(message) {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return _this.props.retrySendMessage(message);\n\n case 2:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n\n return function (_x9) {\n return _ref6.apply(this, arguments);\n };\n }());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"onMentionsClick\", function (e) {\n if (typeof _this.props.onMentionsClick !== 'function') {\n return;\n }\n\n _this.props.onMentionsClick(e, _this.props.message.mentioned_users);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_7___default()(_this), \"onMentionsHover\", function (e) {\n if (typeof _this.props.onMentionsHover !== 'function') {\n return;\n }\n\n _this.props.onMentionsHover(e, _this.props.message.mentioned_users);\n });\n\n _this.state = {\n loading: false\n };\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_4___default()(Message, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n // since there are many messages its important to only rerender messages when needed.\n var shouldUpdate = nextProps.message !== this.props.message;\n var reason = '';\n\n if (shouldUpdate) {\n reason = 'message';\n } // read state is the next most likely thing to change..\n\n\n if (!shouldUpdate && !deep_equal__WEBPACK_IMPORTED_MODULE_14___default()(nextProps.readBy, this.props.readBy)) {\n shouldUpdate = true;\n reason = 'readBy';\n } // group style often changes for the last 3 messages...\n\n\n if (!shouldUpdate && !deep_equal__WEBPACK_IMPORTED_MODULE_14___default()(nextProps.groupStyles, this.props.groupStyles)) {\n shouldUpdate = true;\n reason = 'groupStyles';\n } // if lastreceivedId changesm, message should update.\n\n\n if (!shouldUpdate && !deep_equal__WEBPACK_IMPORTED_MODULE_14___default()(nextProps.lastReceivedId, this.props.lastReceivedId)) {\n shouldUpdate = true;\n reason = 'lastReceivedId';\n } // editing is the last one which can trigger a change..\n\n\n if (!shouldUpdate && nextProps.editing !== this.props.editing) {\n shouldUpdate = true;\n reason = 'editing';\n } // editing is the last one which can trigger a change..\n\n\n if (!shouldUpdate && nextProps.messageListRect !== this.props.messageListRect) {\n shouldUpdate = true;\n reason = 'messageListRect';\n }\n\n if (shouldUpdate && reason) {// console.log(\n // 'message',\n // nextProps.message.id,\n // 'shouldUpdate',\n // shouldUpdate,\n // reason,\n // );\n // console.log(reason, diff(this.props, nextProps));\n }\n\n return shouldUpdate;\n }\n }, {\n key: \"render\",\n value: function render() {\n var config = this.props.channel.getConfig();\n var message = this.props.message;\n var actionsEnabled = message.type === 'regular' && message.status === 'received';\n var Component = this.props.Message;\n return react__WEBPACK_IMPORTED_MODULE_10___default.a.createElement(Component, _babel_runtime_helpers_extends__WEBPACK_IMPORTED_MODULE_0___default()({}, this.props, {\n actionsEnabled: actionsEnabled,\n Message: this,\n handleReaction: this.handleReaction,\n handleFlag: this.handleFlag,\n handleMute: this.handleMute,\n handleAction: this.handleAction,\n handleRetry: this.handleRetry,\n isMyMessage: this.isMyMessage,\n openThread: this.props.openThread && this.props.openThread.bind(this, message),\n channelConfig: config,\n onMentionsClickMessage: this.onMentionsClick,\n onMentionsHoverMessage: this.onMentionsHover\n }));\n }\n }]);\n\n return Message;\n}(react__WEBPACK_IMPORTED_MODULE_10__[\"Component\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(Message, \"propTypes\", {\n /** The message object */\n message: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.object.isRequired,\n\n /** The client connection object for connecting to Stream */\n client: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.object.isRequired,\n\n /** The current channel this message is displayed in */\n channel: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.object.isRequired,\n\n /** A list of users that have read this message **/\n readBy: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.array,\n\n /** groupStyles, a list of styles to apply to this message. ie. top, bottom, single etc */\n groupStyles: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.array,\n\n /** Editing, if the message is currently being edited */\n editing: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.bool,\n\n /** The message rendering component, the Message component delegates its rendering logic to this component */\n Message: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.func]),\n\n /** Allows you to overwrite the attachment component */\n Attachment: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.func]),\n\n /** render HTML instead of markdown. Posting HTML is only allowed server-side */\n unsafeHTML: prop_types__WEBPACK_IMPORTED_MODULE_12___default.a.bool\n});\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_9___default()(Message, \"defaultProps\", {\n Message: _MessageSimple__WEBPACK_IMPORTED_MODULE_11__[\"MessageSimple\"],\n readBy: [],\n groupStyles: [],\n Attachment: _Attachment__WEBPACK_IMPORTED_MODULE_13__[\"Attachment\"],\n editing: false,\n messageActions: Object.keys(_utils__WEBPACK_IMPORTED_MODULE_15__[\"MESSAGE_ACTIONS\"])\n});\n\n//# sourceURL=webpack:///./src/components/Message.js?"); /***/ }), @@ -11965,7 +11965,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MessageActionsBox\", function() { return MessageActionsBox; });\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_10__);\n\n\n\n\n\n\n\n\n\n\n\n/**\n * MessageActionsBox - A component for taking action on a message\n *\n * @example ./docs/MessageActionsBox.md\n * @extends PureComponent\n */\n\nvar MessageActionsBox =\n/*#__PURE__*/\nfunction (_React$Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default()(MessageActionsBox, _React$Component);\n\n function MessageActionsBox() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, MessageActionsBox);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(MessageActionsBox)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_this), \"actionsBoxRef\", react__WEBPACK_IMPORTED_MODULE_9___default.a.createRef());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_this), \"state\", {\n reverse: false,\n rect: null\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(MessageActionsBox, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {}\n }, {\n key: \"componentDidUpdate\",\n value: function () {\n var _componentDidUpdate = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee(prevProps) {\n var ml;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(!prevProps.open && this.props.open)) {\n _context.next = 6;\n break;\n }\n\n if (!(this.state.rect === null)) {\n _context.next = 4;\n break;\n }\n\n _context.next = 4;\n return this.setState({\n rect: this.actionsBoxRef.current.getBoundingClientRect()\n });\n\n case 4:\n ml = this.props.messageListRect;\n\n if (this.props.mine) {\n this.setState({\n reverse: this.state.rect.left < ml.left ? true : false\n });\n } else if (!this.props.mine) {\n this.setState({\n reverse: this.state.rect.right + 5 > ml.right ? true : false\n });\n }\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function componentDidUpdate(_x) {\n return _componentDidUpdate.apply(this, arguments);\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n Message = _this$props.Message,\n message = _this$props.message;\n return react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"div\", {\n className: \"str-chat__message-actions-box\\n \".concat(this.props.open ? 'str-chat__message-actions-box--open' : '', \"\\n \").concat(this.props.mine ? 'str-chat__message-actions-box--mine' : '', \"\\n \").concat(this.state.reverse ? 'str-chat__message-actions-box--reverse' : '', \"\\n \"),\n ref: this.actionsBoxRef\n }, react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"ul\", {\n className: \"str-chat__message-actions-list\"\n }, Message.isMyMessage && !Message.isMyMessage(message) && react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"button\", {\n onClick: Message.handleFlag\n }, react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"li\", {\n className: \"str-chat__message-actions-list-item\"\n }, \"Flag\")), Message.isMyMessage && !Message.isMyMessage(message) && react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"button\", {\n onClick: Message.handleMute\n }, react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"li\", {\n className: \"str-chat__message-actions-list-item\"\n }, \"Mute\")), Message.canEditMessage && Message.canEditMessage(message) && react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"button\", {\n onClick: Message.handleEdit\n }, react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"li\", {\n className: \"str-chat__message-actions-list-item\"\n }, \"Edit Message\")), Message.canDeleteMessage && Message.canDeleteMessage(message) && react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"button\", {\n onClick: Message.handleDelete\n }, react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"li\", {\n className: \"str-chat__message-actions-list-item\"\n }, \"Delete\"))));\n }\n }]);\n\n return MessageActionsBox;\n}(react__WEBPACK_IMPORTED_MODULE_9___default.a.Component);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(MessageActionsBox, \"propTypes\", {\n /** If the message actions box should be open or not */\n open: prop_types__WEBPACK_IMPORTED_MODULE_10___default.a.bool.isRequired,\n\n /** The message component, most logic is delegated to this component and MessageActionsBox uses the following functions explicitely:\n * `handleFlag`, `handleMute`, `handleEdit`, `handleDelete`, `canDeleteMessagec`, `anEditMessage`, `isMyMessage`, `isAdmin`\n */\n Message: prop_types__WEBPACK_IMPORTED_MODULE_10___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_10___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_10___default.a.func, prop_types__WEBPACK_IMPORTED_MODULE_10___default.a.object]).isRequired,\n\n /** The message for which the action box is displayed */\n message: prop_types__WEBPACK_IMPORTED_MODULE_10___default.a.object.isRequired\n});\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(MessageActionsBox, \"defaultProp\", {\n open: false\n});\n\n//# sourceURL=webpack:///./src/components/MessageActionsBox.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MessageActionsBox\", function() { return MessageActionsBox; });\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * MessageActionsBox - A component for taking action on a message\n *\n * @example ./docs/MessageActionsBox.md\n * @extends PureComponent\n */\n\nvar MessageActionsBox =\n/*#__PURE__*/\nfunction (_React$Component) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_7___default()(MessageActionsBox, _React$Component);\n\n function MessageActionsBox() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_2___default()(this, MessageActionsBox);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5___default()(MessageActionsBox)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_this), \"actionsBoxRef\", react__WEBPACK_IMPORTED_MODULE_9___default.a.createRef());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_6___default()(_this), \"state\", {\n reverse: false,\n rect: null\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_3___default()(MessageActionsBox, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {}\n }, {\n key: \"componentDidUpdate\",\n value: function () {\n var _componentDidUpdate = _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.mark(function _callee(prevProps) {\n var ml;\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(!prevProps.open && this.props.open)) {\n _context.next = 6;\n break;\n }\n\n if (!(this.state.rect === null)) {\n _context.next = 4;\n break;\n }\n\n _context.next = 4;\n return this.setState({\n rect: this.actionsBoxRef.current.getBoundingClientRect()\n });\n\n case 4:\n ml = this.props.messageListRect;\n\n if (this.props.mine) {\n this.setState({\n reverse: this.state.rect.left < ml.left ? true : false\n });\n } else if (!this.props.mine) {\n this.setState({\n reverse: this.state.rect.right + 5 > ml.right ? true : false\n });\n }\n\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function componentDidUpdate(_x) {\n return _componentDidUpdate.apply(this, arguments);\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n Message = _this$props.Message,\n message = _this$props.message,\n messageActions = _this$props.messageActions;\n return react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"div\", {\n className: \"str-chat__message-actions-box\\n \".concat(this.props.open ? 'str-chat__message-actions-box--open' : '', \"\\n \").concat(this.props.mine ? 'str-chat__message-actions-box--mine' : '', \"\\n \").concat(this.state.reverse ? 'str-chat__message-actions-box--reverse' : '', \"\\n \"),\n ref: this.actionsBoxRef\n }, react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"ul\", {\n className: \"str-chat__message-actions-list\"\n }, Message.isMyMessage && !Message.isMyMessage(message) && messageActions.indexOf(_utils__WEBPACK_IMPORTED_MODULE_11__[\"MESSAGE_ACTIONS\"].edit) > -1 && react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"button\", {\n onClick: Message.handleFlag\n }, react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"li\", {\n className: \"str-chat__message-actions-list-item\"\n }, \"Flag\")), Message.isMyMessage && !Message.isMyMessage(message) && messageActions.indexOf(_utils__WEBPACK_IMPORTED_MODULE_11__[\"MESSAGE_ACTIONS\"].mute) > -1 && react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"button\", {\n onClick: Message.handleMute\n }, react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"li\", {\n className: \"str-chat__message-actions-list-item\"\n }, \"Mute\")), Message.canEditMessage && Message.canEditMessage(message) && messageActions.indexOf(_utils__WEBPACK_IMPORTED_MODULE_11__[\"MESSAGE_ACTIONS\"].edit) > -1 && react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"button\", {\n onClick: Message.handleEdit\n }, react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"li\", {\n className: \"str-chat__message-actions-list-item\"\n }, \"Edit Message\")), Message.canDeleteMessage && Message.canDeleteMessage(message) && messageActions.indexOf(_utils__WEBPACK_IMPORTED_MODULE_11__[\"MESSAGE_ACTIONS\"].delete) > -1 && react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"button\", {\n onClick: Message.handleDelete\n }, react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"li\", {\n className: \"str-chat__message-actions-list-item\"\n }, \"Delete\"))));\n }\n }]);\n\n return MessageActionsBox;\n}(react__WEBPACK_IMPORTED_MODULE_9___default.a.Component);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(MessageActionsBox, \"propTypes\", {\n /** If the message actions box should be open or not */\n open: prop_types__WEBPACK_IMPORTED_MODULE_10___default.a.bool.isRequired,\n\n /** The message component, most logic is delegated to this component and MessageActionsBox uses the following functions explicitely:\n * `handleFlag`, `handleMute`, `handleEdit`, `handleDelete`, `canDeleteMessagec`, `anEditMessage`, `isMyMessage`, `isAdmin`\n */\n Message: prop_types__WEBPACK_IMPORTED_MODULE_10___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_10___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_10___default.a.func, prop_types__WEBPACK_IMPORTED_MODULE_10___default.a.object]).isRequired,\n\n /** The message for which the action box is displayed */\n message: prop_types__WEBPACK_IMPORTED_MODULE_10___default.a.object.isRequired\n});\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_8___default()(MessageActionsBox, \"defaultProp\", {\n open: false\n});\n\n//# sourceURL=webpack:///./src/components/MessageActionsBox.js?"); /***/ }), @@ -12037,7 +12037,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MessageList\", function() { return MessageList; });\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _Message__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Message */ \"./src/components/Message.js\");\n/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../context */ \"./src/context.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var _ReverseInfiniteScroll__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./ReverseInfiniteScroll */ \"./src/components/ReverseInfiniteScroll.js\");\n/* harmony import */ var _MessageNotification__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./MessageNotification */ \"./src/components/MessageNotification.js\");\n/* harmony import */ var _LoadingIndicator__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./LoadingIndicator */ \"./src/components/LoadingIndicator.js\");\n/* harmony import */ var _DateSeparator__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./DateSeparator */ \"./src/components/DateSeparator.js\");\n/* harmony import */ var _EventComponent__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./EventComponent */ \"./src/components/EventComponent.js\");\n/* harmony import */ var _AutoCompleteTextarea__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./AutoCompleteTextarea */ \"./src/components/AutoCompleteTextarea/index.js\");\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! deep-equal */ \"./node_modules/deep-equal/index.js\");\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(deep_equal__WEBPACK_IMPORTED_MODULE_21__);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * MessageList - The message list components renders a list of messages\n *\n * @example ./docs/MessageList.md\n * @extends PureComponent\n */\n\nvar MessageList =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_9___default()(MessageList, _PureComponent);\n\n function MessageList(props) {\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4___default()(this, MessageList);\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(MessageList).call(this, props));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"connectionChanged\", function (event) {\n if (_this.state.online !== event.online) {\n _this.setState({\n online: event.online\n });\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"keypress\", function (event) {\n if (event.keyCode === _AutoCompleteTextarea__WEBPACK_IMPORTED_MODULE_20__[\"KEY_CODES\"].ESC && _this.state.editing) {\n _this.clearEditingState();\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"scrollToBottom\", function () {\n _this._scrollToRef(_this.bottomRef, _this.messageList);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"_scrollToRef\", function (el, parent) {\n function scrollDown() {\n if (el && el.current && parent && parent.current) {\n this.scrollToTarget(el.current, parent.current);\n }\n }\n\n scrollDown.call(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this)); // scroll down after images load again\n\n setTimeout(scrollDown.bind(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this)), 200);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"scrollToTarget\", function (target, containerEl) {\n // Moved up here for readability:\n var isElement = target && target.nodeType === 1,\n isNumber = Object.prototype.toString.call(target) === '[object Number]';\n\n if (isElement) {\n containerEl.scrollTop = target.offsetTop;\n } else if (isNumber) {\n containerEl.scrollTop = target;\n } else if (target === 'bottom') {\n containerEl.scrollTop = containerEl.scrollHeight - containerEl.offsetHeight;\n } else if (target === 'top') {\n containerEl.scrollTop = 0;\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"setEditingState\", function (message) {\n _this.setState({\n editing: message.id\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"clearEditingState\", function (e) {\n if (e) {\n e.preventDefault();\n }\n\n _this.setState({\n editing: ''\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"insertDates\", function (messages) {\n var newMessages = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = messages.entries()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _step$value = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_step.value, 2),\n i = _step$value[0],\n message = _step$value[1];\n\n if (message.type === 'message.read' || message.deleted_at) {\n newMessages.push(message);\n continue;\n }\n\n var messageDate = message.created_at.getDay();\n var prevMessageDate = messageDate;\n\n if (i > 0) {\n prevMessageDate = messages[i - 1].created_at.getDay();\n }\n\n if (i === 0) {\n newMessages.push({\n type: 'message.date',\n date: message.created_at\n }, message);\n } else if (messageDate !== prevMessageDate) {\n newMessages.push({\n type: 'message.date',\n date: message.created_at\n }, message);\n } else {\n newMessages.push(message);\n }\n\n var eventsNextToMessage = _this.props.eventHistory[message.id || 'first'];\n\n if (eventsNextToMessage && eventsNextToMessage.length > 0) {\n eventsNextToMessage.forEach(function (e) {\n newMessages.push({\n type: 'channel.event',\n event: e\n });\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return newMessages;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"goToNewMessages\",\n /*#__PURE__*/\n _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee() {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this.scrollToBottom();\n\n case 2:\n _this.setState({\n newMessagesNotification: false\n });\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n })));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"getReadStates\", function (messages) {\n // create object with empty array for each message id\n var readData = {};\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = messages[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var message = _step2.value;\n readData[message.id] = [];\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n for (var _i = 0, _Object$values = Object.values(_this.props.read); _i < _Object$values.length; _i++) {\n var readState = _Object$values[_i];\n\n if (readState.last_read == null) {\n break;\n }\n\n var userLastReadMsgId = void 0;\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = messages[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var msg = _step3.value;\n\n if (msg.updated_at < readState.last_read) {\n userLastReadMsgId = msg.id;\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n if (userLastReadMsgId != null) {\n readData[userLastReadMsgId] = [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(readData[userLastReadMsgId]), [readState.user]);\n }\n }\n\n return readData;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"userScrolledUp\", function () {\n return _this.scrollOffset > 310;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"listenToScroll\", function (offset) {\n _this.scrollOffset = offset;\n\n if (_this.state.newMessagesNotification && !_this.userScrolledUp()) {\n _this.setState({\n newMessagesNotification: false\n });\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"getLastReceived\", function (messages) {\n var l = messages.length;\n var lastReceivedId = null;\n\n for (var i = l; i > 0; i--) {\n if (messages[i] !== undefined && messages[i].status !== undefined && messages[i].status === 'received') {\n lastReceivedId = messages[i].id;\n break;\n }\n }\n\n return lastReceivedId;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"getGroupStyles\", function (m) {\n var l = m.length;\n var messageGroupStyles = {};\n\n var messages = _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(m);\n\n for (var i = 0; i < l; i++) {\n var previousMessage = messages[i - 1];\n var message = messages[i];\n var nextMessage = messages[i + 1];\n var groupStyles = [];\n\n if (message.type === 'message.date') {\n continue;\n }\n\n if (message.type === 'channel.event') {\n continue;\n }\n\n var userId = message.user.id;\n var isTopMessage = !previousMessage || previousMessage.type === 'message.date' || previousMessage.type === 'system' || previousMessage.type === 'channel.event' || previousMessage.attachments.length !== 0 || userId !== previousMessage.user.id || previousMessage.type === 'error' || previousMessage.deleted_at;\n var isBottomMessage = !nextMessage || nextMessage.type === 'message.date' || nextMessage.type === 'system' || nextMessage.type === 'channel.event' || nextMessage.attachments.length !== 0 || userId !== nextMessage.user.id || nextMessage.type === 'error' || nextMessage.deleted_at;\n\n if (isTopMessage) {\n groupStyles.push('top');\n }\n\n if (isBottomMessage) {\n if (isTopMessage || message.deleted_at || message.type === 'error') {\n groupStyles.splice(0, groupStyles.length);\n groupStyles.push('single');\n } else {\n groupStyles.push('bottom');\n }\n }\n\n if (!isTopMessage && !isBottomMessage) {\n if (message.deleted_at || message.type === 'error') {\n groupStyles.splice(0, groupStyles.length);\n groupStyles.push('single');\n } else {\n groupStyles.splice(0, groupStyles.length);\n groupStyles.push('middle');\n }\n }\n\n if (message.attachments.length !== 0) {\n groupStyles.splice(0, groupStyles.length);\n groupStyles.push('single');\n }\n\n if (_this.props.noGroupByUser) {\n groupStyles.splice(0, groupStyles.length);\n groupStyles.push('single');\n }\n\n messageGroupStyles[message.id] = groupStyles;\n }\n\n return messageGroupStyles;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"_onMentionsHoverOrClick\", function (e, mentioned_users) {\n if (!_this.props.onMentionsHover || !_this.props.onMentionsClick) return;\n var tagName = e.target.tagName.toLowerCase();\n var textContent = e.target.innerHTML.replace('*', '');\n\n if (tagName === 'strong' && textContent[0] === '@') {\n var userName = textContent.replace('@', '');\n var user = mentioned_users.find(function (user) {\n return user.name === userName || user.id === userName;\n });\n\n if (_this.props.onMentionsHover && e.type === 'mouseover') {\n _this.props.onMentionsHover(e, user);\n }\n\n if (_this.props.onMentionsClick && e.type === 'click') {\n _this.props.onMentionsHover(e, user);\n }\n }\n });\n\n _this.state = {\n newMessagesNotification: false,\n editing: '',\n online: true\n };\n _this.bottomRef = react__WEBPACK_IMPORTED_MODULE_11___default.a.createRef();\n _this.messageList = react__WEBPACK_IMPORTED_MODULE_11___default.a.createRef();\n _this.messageRefs = {};\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5___default()(MessageList, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // start at the bottom\n this.scrollToBottom();\n var messageListRect = this.messageList.current.getBoundingClientRect();\n this.setState({\n messageListRect: messageListRect\n });\n this.props.client.on('connection.changed', this.connectionChanged);\n document.addEventListener('keydown', this.keypress);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.props.client.off('connection.changed', this.connectionChanged);\n document.removeEventListener('keydown', this.keypress);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n if (this.props.threadList) {\n return null;\n } // Are we adding new items to the list?\n // Capture the scroll position so we can adjust scroll later.\n\n\n if (prevProps.messages.length < this.props.messages.length || !deep_equal__WEBPACK_IMPORTED_MODULE_21___default()(this.props.eventHistory, prevProps.eventHistory)) {\n var list = this.messageList.current;\n var pos = list.scrollHeight - list.scrollTop;\n return pos;\n }\n\n return null;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState, snapshot) {\n var _this2 = this;\n\n // If we have a snapshot value, we've just added new items.\n // Adjust scroll so these new items don't push the old ones out of view.\n // (snapshot here is the value returned from getSnapshotBeforeUpdate)\n if (snapshot !== null) {\n var list = this.messageList.current; // const scrollDown = () => {\n // list.scrollTop = list.scrollHeight - snapshot;\n // };\n // scrollDown();\n // setTimeout(scrollDown, 100);\n\n this.scrollToTarget(list.scrollHeight - snapshot, this.messageList.current); // scroll down after images load again\n\n if (this.props.messages.length > 0 && this.props.messages[this.props.messages.length - 1].user.id !== this.props.client.user.id) {\n setTimeout(function () {\n return _this2.scrollToTarget(list.scrollHeight - snapshot, _this2.messageList.current);\n }, 100);\n }\n } // handle new messages being sent/received\n\n\n var currentLastMessage = this.props.messages[this.props.messages.length - 1];\n var previousLastMessage = prevProps.messages[prevProps.messages.length - 1];\n\n if (!previousLastMessage || !currentLastMessage) {\n return;\n }\n\n var hasNewMessage = currentLastMessage.id !== previousLastMessage.id;\n var userScrolledUp = this.userScrolledUp();\n var isOwner = currentLastMessage.user.id === this.props.client.userID;\n var scrollToBottom = false; // always scroll down when it's your own message that you added...\n\n if (hasNewMessage && isOwner) {\n scrollToBottom = true;\n } else if (hasNewMessage && !userScrolledUp) {\n scrollToBottom = true;\n }\n\n if (scrollToBottom) {\n this.scrollToBottom();\n } // Check the scroll position... if you're scrolled up show a little notification\n\n\n if (!scrollToBottom && hasNewMessage && !this.state.newMessagesNotification) {\n this.setState({\n newMessagesNotification: true\n });\n } // remove the scroll notification if we already scrolled down...\n\n\n if (scrollToBottom && this.state.newMessagesNotification) {\n this.setState({\n newMessagesNotification: false\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var allMessages = _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(this.props.messages);\n\n allMessages = this.insertDates(allMessages);\n var messageGroupStyles = this.getGroupStyles(allMessages);\n var TypingIndicator = this.props.TypingIndicator;\n var DateSeparator = this.props.dateSeparator; // sort by date\n\n allMessages.sort(function (a, b) {\n return a.created_at - b.created_at;\n }); // get the readData\n\n var readData = this.getReadStates(allMessages);\n var lastReceivedId = this.getLastReceived(allMessages);\n var elements = []; // loop over the messages\n\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = allMessages[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var message = _step4.value;\n\n if (message.id) {\n this.messageRefs[message.id] = react__WEBPACK_IMPORTED_MODULE_11___default.a.createRef();\n }\n\n if (message.type === 'message.date') {\n if (this.props.threadList) {\n continue;\n }\n\n elements.push(react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"li\", {\n key: message.date.toISOString() + '-i'\n }, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(DateSeparator, {\n date: message.date\n })));\n } else if (message.type === 'channel.event' || message.type === 'system') {\n console.log;\n elements.push(react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"li\", {\n key: message.type === 'system' ? message.created_at : message.type === 'channel.event' ? message.event.created_at : ''\n }, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(_EventComponent__WEBPACK_IMPORTED_MODULE_19__[\"EventComponent\"], {\n message: message\n })));\n } else if (message.type !== 'message.read') {\n var groupStyles = messageGroupStyles[message.id];\n\n if (!groupStyles) {\n groupStyles = [];\n }\n\n var readBy = readData[message.id] || [];\n elements.push(react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"li\", {\n className: \"str-chat__li str-chat__li--\".concat(groupStyles),\n key: message.id || message.created_at,\n ref: this.messageRefs[message.id]\n }, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(_Message__WEBPACK_IMPORTED_MODULE_12__[\"Message\"], {\n client: this.props.client,\n openThread: this.props.openThread,\n members: this.props.members,\n watchers: this.props.watchers,\n message: message,\n groupStyles: groupStyles,\n readBy: readBy,\n lastReceivedId: lastReceivedId === message.id ? lastReceivedId : null,\n editing: !!(this.state.editing && this.state.editing === message.id),\n channel: this.props.channel,\n threadList: this.props.threadList,\n clearEditingState: this.clearEditingState,\n setEditingState: this.setEditingState,\n messageListRect: this.state.messageListRect,\n retrySendMessage: this.props.retrySendMessage,\n updateMessage: this.props.updateMessage,\n removeMessage: this.props.removeMessage,\n Message: this.props.Message,\n unsafeHTML: this.props.unsafeHTML,\n Attachment: this.props.Attachment,\n onMentionsClick: this.props.onMentionsClick,\n onMentionsHover: this.props.onMentionsHover\n })));\n }\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n\n return react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_11___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"div\", {\n className: \"str-chat__list \".concat(this.props.threadList ? 'str-chat__list--thread' : ''),\n ref: this.messageList\n }, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(_ReverseInfiniteScroll__WEBPACK_IMPORTED_MODULE_15__[\"ReverseInfiniteScroll\"], {\n loadMore: this.props.loadMore,\n hasMore: this.props.hasMore,\n isLoading: this.props.loadingMore,\n listenToScroll: this.listenToScroll,\n useWindow: false,\n loader: react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(Center, {\n key: \"loadingindicator\"\n }, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(_LoadingIndicator__WEBPACK_IMPORTED_MODULE_17__[\"LoadingIndicator\"], {\n size: 20\n }))\n }, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"ul\", {\n className: \"str-chat__ul\"\n }, elements), this.props.TypingIndicator && react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(TypingIndicator, {\n typing: this.props.typing,\n client: this.props.client\n }), react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"div\", {\n key: \"bottom\",\n ref: this.bottomRef\n }))), react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"div\", {\n className: \"str-chat__list-notifications\"\n }, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(Notification, {\n active: !this.state.online\n }, \"Connection failure, reconnecting now...\"), react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(_MessageNotification__WEBPACK_IMPORTED_MODULE_16__[\"MessageNotification\"], {\n showNotification: this.state.newMessagesNotification,\n onClick: function onClick() {\n return _this3.goToNewMessages();\n }\n }, \"New Messages!\")));\n }\n }]);\n\n return MessageList;\n}(react__WEBPACK_IMPORTED_MODULE_11__[\"PureComponent\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(MessageList, \"propTypes\", {\n /** The attachment component to render, defaults to Attachment */\n Attachment: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.func]),\n\n /** A list of immutable messages */\n messages: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.array.isRequired,\n\n /** Via Context: The channel object */\n channel: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.object.isRequired,\n\n /** Via Context: The function to update a message, handled by the Channel component */\n updateMessage: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.func.isRequired,\n\n /** Via Context: The function is called when the list scrolls */\n listenToScroll: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.func,\n\n /** Typing indicator component to render */\n TypingIndicator: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.func]),\n\n /** Date separator component to render */\n dateSeparator: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.func]),\n\n /** Turn off grouping of messages by user */\n noGroupByUser: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.bool,\n\n /** render HTML instead of markdown. Posting HTML is only allowed server-side */\n unsafeHTML: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.bool\n});\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(MessageList, \"defaultProps\", {\n dateSeparator: _DateSeparator__WEBPACK_IMPORTED_MODULE_18__[\"DateSeparator\"],\n unsafeHTML: false,\n noGroupByUser: false\n});\n\nMessageList = Object(_context__WEBPACK_IMPORTED_MODULE_13__[\"withChannelContext\"])(MessageList);\n\n\nvar Center = function Center(_ref2) {\n var children = _ref2.children;\n return react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"div\", {\n style: {\n width: 100 + '%',\n display: 'flex',\n justifyContent: 'center'\n }\n }, children);\n};\n\nvar Notification = function Notification(_ref3) {\n var children = _ref3.children,\n active = _ref3.active;\n\n if (active) {\n return react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"div\", {\n className: \"str-chat__connection-issue\"\n }, children);\n }\n\n return null;\n};\n\n//# sourceURL=webpack:///./src/components/MessageList.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MessageList\", function() { return MessageList; });\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ \"./node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/regenerator */ \"./node_modules/@babel/runtime/regenerator/index.js\");\n/* harmony import */ var _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ \"./node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n/* harmony import */ var _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ \"./node_modules/@babel/runtime/helpers/slicedToArray.js\");\n/* harmony import */ var _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_11__);\n/* harmony import */ var _Message__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Message */ \"./src/components/Message.js\");\n/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../context */ \"./src/context.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_14__);\n/* harmony import */ var _ReverseInfiniteScroll__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./ReverseInfiniteScroll */ \"./src/components/ReverseInfiniteScroll.js\");\n/* harmony import */ var _MessageNotification__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./MessageNotification */ \"./src/components/MessageNotification.js\");\n/* harmony import */ var _LoadingIndicator__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./LoadingIndicator */ \"./src/components/LoadingIndicator.js\");\n/* harmony import */ var _DateSeparator__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./DateSeparator */ \"./src/components/DateSeparator.js\");\n/* harmony import */ var _EventComponent__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./EventComponent */ \"./src/components/EventComponent.js\");\n/* harmony import */ var _AutoCompleteTextarea__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./AutoCompleteTextarea */ \"./src/components/AutoCompleteTextarea/index.js\");\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! deep-equal */ \"./node_modules/deep-equal/index.js\");\n/* harmony import */ var deep_equal__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(deep_equal__WEBPACK_IMPORTED_MODULE_21__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * MessageList - The message list components renders a list of messages\n *\n * @example ./docs/MessageList.md\n * @extends PureComponent\n */\n\nvar MessageList =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_9___default()(MessageList, _PureComponent);\n\n function MessageList(props) {\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_4___default()(this, MessageList);\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_6___default()(this, _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_7___default()(MessageList).call(this, props));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"connectionChanged\", function (event) {\n if (_this.state.online !== event.online) {\n _this.setState({\n online: event.online\n });\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"keypress\", function (event) {\n if (event.keyCode === _AutoCompleteTextarea__WEBPACK_IMPORTED_MODULE_20__[\"KEY_CODES\"].ESC && _this.state.editing) {\n _this.clearEditingState();\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"scrollToBottom\", function () {\n _this._scrollToRef(_this.bottomRef, _this.messageList);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"_scrollToRef\", function (el, parent) {\n function scrollDown() {\n if (el && el.current && parent && parent.current) {\n this.scrollToTarget(el.current, parent.current);\n }\n }\n\n scrollDown.call(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this)); // scroll down after images load again\n\n setTimeout(scrollDown.bind(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this)), 200);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"scrollToTarget\", function (target, containerEl) {\n // Moved up here for readability:\n var isElement = target && target.nodeType === 1,\n isNumber = Object.prototype.toString.call(target) === '[object Number]';\n\n if (isElement) {\n containerEl.scrollTop = target.offsetTop;\n } else if (isNumber) {\n containerEl.scrollTop = target;\n } else if (target === 'bottom') {\n containerEl.scrollTop = containerEl.scrollHeight - containerEl.offsetHeight;\n } else if (target === 'top') {\n containerEl.scrollTop = 0;\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"setEditingState\", function (message) {\n _this.setState({\n editing: message.id\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"clearEditingState\", function (e) {\n if (e) {\n e.preventDefault();\n }\n\n _this.setState({\n editing: ''\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"insertDates\", function (messages) {\n var newMessages = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = messages.entries()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _step$value = _babel_runtime_helpers_slicedToArray__WEBPACK_IMPORTED_MODULE_3___default()(_step.value, 2),\n i = _step$value[0],\n message = _step$value[1];\n\n if (message.type === 'message.read' || message.deleted_at) {\n newMessages.push(message);\n continue;\n }\n\n var messageDate = message.created_at.getDay();\n var prevMessageDate = messageDate;\n\n if (i > 0) {\n prevMessageDate = messages[i - 1].created_at.getDay();\n }\n\n if (i === 0) {\n newMessages.push({\n type: 'message.date',\n date: message.created_at\n }, message);\n } else if (messageDate !== prevMessageDate) {\n newMessages.push({\n type: 'message.date',\n date: message.created_at\n }, message);\n } else {\n newMessages.push(message);\n }\n\n var eventsNextToMessage = _this.props.eventHistory[message.id || 'first'];\n\n if (eventsNextToMessage && eventsNextToMessage.length > 0) {\n eventsNextToMessage.forEach(function (e) {\n newMessages.push({\n type: 'channel.event',\n event: e\n });\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return newMessages;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"goToNewMessages\",\n /*#__PURE__*/\n _babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_2___default()(\n /*#__PURE__*/\n _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.mark(function _callee() {\n return _babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_1___default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this.scrollToBottom();\n\n case 2:\n _this.setState({\n newMessagesNotification: false\n });\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n })));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"getReadStates\", function (messages) {\n // create object with empty array for each message id\n var readData = {};\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = messages[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var message = _step2.value;\n readData[message.id] = [];\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n\n for (var _i = 0, _Object$values = Object.values(_this.props.read); _i < _Object$values.length; _i++) {\n var readState = _Object$values[_i];\n\n if (readState.last_read == null) {\n break;\n }\n\n var userLastReadMsgId = void 0;\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = messages[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var msg = _step3.value;\n\n if (msg.updated_at < readState.last_read) {\n userLastReadMsgId = msg.id;\n }\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n\n if (userLastReadMsgId != null) {\n readData[userLastReadMsgId] = [].concat(_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(readData[userLastReadMsgId]), [readState.user]);\n }\n }\n\n return readData;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"userScrolledUp\", function () {\n return _this.scrollOffset > 310;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"listenToScroll\", function (offset) {\n _this.scrollOffset = offset;\n\n if (_this.state.newMessagesNotification && !_this.userScrolledUp()) {\n _this.setState({\n newMessagesNotification: false\n });\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"getLastReceived\", function (messages) {\n var l = messages.length;\n var lastReceivedId = null;\n\n for (var i = l; i > 0; i--) {\n if (messages[i] !== undefined && messages[i].status !== undefined && messages[i].status === 'received') {\n lastReceivedId = messages[i].id;\n break;\n }\n }\n\n return lastReceivedId;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"getGroupStyles\", function (m) {\n var l = m.length;\n var messageGroupStyles = {};\n\n var messages = _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(m);\n\n for (var i = 0; i < l; i++) {\n var previousMessage = messages[i - 1];\n var message = messages[i];\n var nextMessage = messages[i + 1];\n var groupStyles = [];\n\n if (message.type === 'message.date') {\n continue;\n }\n\n if (message.type === 'channel.event') {\n continue;\n }\n\n var userId = message.user.id;\n var isTopMessage = !previousMessage || previousMessage.type === 'message.date' || previousMessage.type === 'system' || previousMessage.type === 'channel.event' || previousMessage.attachments.length !== 0 || userId !== previousMessage.user.id || previousMessage.type === 'error' || previousMessage.deleted_at;\n var isBottomMessage = !nextMessage || nextMessage.type === 'message.date' || nextMessage.type === 'system' || nextMessage.type === 'channel.event' || nextMessage.attachments.length !== 0 || userId !== nextMessage.user.id || nextMessage.type === 'error' || nextMessage.deleted_at;\n\n if (isTopMessage) {\n groupStyles.push('top');\n }\n\n if (isBottomMessage) {\n if (isTopMessage || message.deleted_at || message.type === 'error') {\n groupStyles.splice(0, groupStyles.length);\n groupStyles.push('single');\n } else {\n groupStyles.push('bottom');\n }\n }\n\n if (!isTopMessage && !isBottomMessage) {\n if (message.deleted_at || message.type === 'error') {\n groupStyles.splice(0, groupStyles.length);\n groupStyles.push('single');\n } else {\n groupStyles.splice(0, groupStyles.length);\n groupStyles.push('middle');\n }\n }\n\n if (message.attachments.length !== 0) {\n groupStyles.splice(0, groupStyles.length);\n groupStyles.push('single');\n }\n\n if (_this.props.noGroupByUser) {\n groupStyles.splice(0, groupStyles.length);\n groupStyles.push('single');\n }\n\n messageGroupStyles[message.id] = groupStyles;\n }\n\n return messageGroupStyles;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_8___default()(_this), \"_onMentionsHoverOrClick\", function (e, mentioned_users) {\n if (!_this.props.onMentionsHover || !_this.props.onMentionsClick) return;\n var tagName = e.target.tagName.toLowerCase();\n var textContent = e.target.innerHTML.replace('*', '');\n\n if (tagName === 'strong' && textContent[0] === '@') {\n var userName = textContent.replace('@', '');\n var user = mentioned_users.find(function (user) {\n return user.name === userName || user.id === userName;\n });\n\n if (_this.props.onMentionsHover && e.type === 'mouseover') {\n _this.props.onMentionsHover(e, user);\n }\n\n if (_this.props.onMentionsClick && e.type === 'click') {\n _this.props.onMentionsHover(e, user);\n }\n }\n });\n\n _this.state = {\n newMessagesNotification: false,\n editing: '',\n online: true\n };\n _this.bottomRef = react__WEBPACK_IMPORTED_MODULE_11___default.a.createRef();\n _this.messageList = react__WEBPACK_IMPORTED_MODULE_11___default.a.createRef();\n _this.messageRefs = {};\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_5___default()(MessageList, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // start at the bottom\n this.scrollToBottom();\n var messageListRect = this.messageList.current.getBoundingClientRect();\n this.setState({\n messageListRect: messageListRect\n });\n this.props.client.on('connection.changed', this.connectionChanged);\n document.addEventListener('keydown', this.keypress);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.props.client.off('connection.changed', this.connectionChanged);\n document.removeEventListener('keydown', this.keypress);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n if (this.props.threadList) {\n return null;\n } // Are we adding new items to the list?\n // Capture the scroll position so we can adjust scroll later.\n\n\n if (prevProps.messages.length < this.props.messages.length || !deep_equal__WEBPACK_IMPORTED_MODULE_21___default()(this.props.eventHistory, prevProps.eventHistory)) {\n var list = this.messageList.current;\n var pos = list.scrollHeight - list.scrollTop;\n return pos;\n }\n\n return null;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState, snapshot) {\n var _this2 = this;\n\n // If we have a snapshot value, we've just added new items.\n // Adjust scroll so these new items don't push the old ones out of view.\n // (snapshot here is the value returned from getSnapshotBeforeUpdate)\n if (snapshot !== null) {\n var list = this.messageList.current; // const scrollDown = () => {\n // list.scrollTop = list.scrollHeight - snapshot;\n // };\n // scrollDown();\n // setTimeout(scrollDown, 100);\n\n this.scrollToTarget(list.scrollHeight - snapshot, this.messageList.current); // scroll down after images load again\n\n if (this.props.messages.length > 0 && this.props.messages[this.props.messages.length - 1].user.id !== this.props.client.user.id) {\n setTimeout(function () {\n return _this2.scrollToTarget(list.scrollHeight - snapshot, _this2.messageList.current);\n }, 100);\n }\n } // handle new messages being sent/received\n\n\n var currentLastMessage = this.props.messages[this.props.messages.length - 1];\n var previousLastMessage = prevProps.messages[prevProps.messages.length - 1];\n\n if (!previousLastMessage || !currentLastMessage) {\n return;\n }\n\n var hasNewMessage = currentLastMessage.id !== previousLastMessage.id;\n var userScrolledUp = this.userScrolledUp();\n var isOwner = currentLastMessage.user.id === this.props.client.userID;\n var scrollToBottom = false; // always scroll down when it's your own message that you added...\n\n if (hasNewMessage && isOwner) {\n scrollToBottom = true;\n } else if (hasNewMessage && !userScrolledUp) {\n scrollToBottom = true;\n }\n\n if (scrollToBottom) {\n this.scrollToBottom();\n } // Check the scroll position... if you're scrolled up show a little notification\n\n\n if (!scrollToBottom && hasNewMessage && !this.state.newMessagesNotification) {\n this.setState({\n newMessagesNotification: true\n });\n } // remove the scroll notification if we already scrolled down...\n\n\n if (scrollToBottom && this.state.newMessagesNotification) {\n this.setState({\n newMessagesNotification: false\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var allMessages = _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_0___default()(this.props.messages);\n\n allMessages = this.insertDates(allMessages);\n var messageGroupStyles = this.getGroupStyles(allMessages);\n var TypingIndicator = this.props.TypingIndicator;\n var DateSeparator = this.props.dateSeparator; // sort by date\n\n allMessages.sort(function (a, b) {\n return a.created_at - b.created_at;\n }); // get the readData\n\n var readData = this.getReadStates(allMessages);\n var lastReceivedId = this.getLastReceived(allMessages);\n var elements = []; // loop over the messages\n\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n for (var _iterator4 = allMessages[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var message = _step4.value;\n\n if (message.id) {\n this.messageRefs[message.id] = react__WEBPACK_IMPORTED_MODULE_11___default.a.createRef();\n }\n\n if (message.type === 'message.date') {\n if (this.props.threadList) {\n continue;\n }\n\n elements.push(react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"li\", {\n key: message.date.toISOString() + '-i'\n }, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(DateSeparator, {\n date: message.date\n })));\n } else if (message.type === 'channel.event' || message.type === 'system') {\n console.log;\n elements.push(react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"li\", {\n key: message.type === 'system' ? message.created_at : message.type === 'channel.event' ? message.event.created_at : ''\n }, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(_EventComponent__WEBPACK_IMPORTED_MODULE_19__[\"EventComponent\"], {\n message: message\n })));\n } else if (message.type !== 'message.read') {\n var groupStyles = messageGroupStyles[message.id];\n\n if (!groupStyles) {\n groupStyles = [];\n }\n\n var readBy = readData[message.id] || [];\n elements.push(react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"li\", {\n className: \"str-chat__li str-chat__li--\".concat(groupStyles),\n key: message.id || message.created_at,\n ref: this.messageRefs[message.id]\n }, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(_Message__WEBPACK_IMPORTED_MODULE_12__[\"Message\"], {\n client: this.props.client,\n openThread: this.props.openThread,\n members: this.props.members,\n watchers: this.props.watchers,\n message: message,\n groupStyles: groupStyles,\n readBy: readBy,\n lastReceivedId: lastReceivedId === message.id ? lastReceivedId : null,\n editing: !!(this.state.editing && this.state.editing === message.id),\n channel: this.props.channel,\n threadList: this.props.threadList,\n clearEditingState: this.clearEditingState,\n setEditingState: this.setEditingState,\n messageListRect: this.state.messageListRect,\n retrySendMessage: this.props.retrySendMessage,\n updateMessage: this.props.updateMessage,\n removeMessage: this.props.removeMessage,\n Message: this.props.Message,\n unsafeHTML: this.props.unsafeHTML,\n Attachment: this.props.Attachment,\n onMentionsClick: this.props.onMentionsClick,\n onMentionsHover: this.props.onMentionsHover,\n messageActions: this.props.messageActions\n })));\n }\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n\n return react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_11___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"div\", {\n className: \"str-chat__list \".concat(this.props.threadList ? 'str-chat__list--thread' : ''),\n ref: this.messageList\n }, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(_ReverseInfiniteScroll__WEBPACK_IMPORTED_MODULE_15__[\"ReverseInfiniteScroll\"], {\n loadMore: this.props.loadMore,\n hasMore: this.props.hasMore,\n isLoading: this.props.loadingMore,\n listenToScroll: this.listenToScroll,\n useWindow: false,\n loader: react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(Center, {\n key: \"loadingindicator\"\n }, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(_LoadingIndicator__WEBPACK_IMPORTED_MODULE_17__[\"LoadingIndicator\"], {\n size: 20\n }))\n }, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"ul\", {\n className: \"str-chat__ul\"\n }, elements), this.props.TypingIndicator && react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(TypingIndicator, {\n typing: this.props.typing,\n client: this.props.client\n }), react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"div\", {\n key: \"bottom\",\n ref: this.bottomRef\n }))), react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"div\", {\n className: \"str-chat__list-notifications\"\n }, react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(Notification, {\n active: !this.state.online\n }, \"Connection failure, reconnecting now...\"), react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(_MessageNotification__WEBPACK_IMPORTED_MODULE_16__[\"MessageNotification\"], {\n showNotification: this.state.newMessagesNotification,\n onClick: function onClick() {\n return _this3.goToNewMessages();\n }\n }, \"New Messages!\")));\n }\n }]);\n\n return MessageList;\n}(react__WEBPACK_IMPORTED_MODULE_11__[\"PureComponent\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(MessageList, \"propTypes\", {\n /** The attachment component to render, defaults to Attachment */\n Attachment: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.func]),\n\n /** A list of immutable messages */\n messages: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.array.isRequired,\n\n /** Via Context: The channel object */\n channel: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.object.isRequired,\n\n /** Via Context: The function to update a message, handled by the Channel component */\n updateMessage: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.func.isRequired,\n\n /** Via Context: The function is called when the list scrolls */\n listenToScroll: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.func,\n\n /** Typing indicator component to render */\n TypingIndicator: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.func]),\n\n /** Date separator component to render */\n dateSeparator: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.func]),\n\n /** Turn off grouping of messages by user */\n noGroupByUser: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.bool,\n\n /** render HTML instead of markdown. Posting HTML is only allowed server-side */\n unsafeHTML: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.bool,\n\n /** Array of allowed actions on message. e.g. ['edit', 'delete', 'mute', 'flag'] */\n messageActions: prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.bool, prop_types__WEBPACK_IMPORTED_MODULE_14___default.a.array])\n});\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_10___default()(MessageList, \"defaultProps\", {\n dateSeparator: _DateSeparator__WEBPACK_IMPORTED_MODULE_18__[\"DateSeparator\"],\n unsafeHTML: false,\n noGroupByUser: false,\n messageActions: Object.keys(_utils__WEBPACK_IMPORTED_MODULE_22__[\"MESSAGE_ACTIONS\"])\n});\n\nMessageList = Object(_context__WEBPACK_IMPORTED_MODULE_13__[\"withChannelContext\"])(MessageList);\n\n\nvar Center = function Center(_ref2) {\n var children = _ref2.children;\n return react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"div\", {\n style: {\n width: 100 + '%',\n display: 'flex',\n justifyContent: 'center'\n }\n }, children);\n};\n\nvar Notification = function Notification(_ref3) {\n var children = _ref3.children,\n active = _ref3.active;\n\n if (active) {\n return react__WEBPACK_IMPORTED_MODULE_11___default.a.createElement(\"div\", {\n className: \"str-chat__connection-issue\"\n }, children);\n }\n\n return null;\n};\n\n//# sourceURL=webpack:///./src/components/MessageList.js?"); /***/ }), @@ -12085,7 +12085,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MessageSimple\", function() { return MessageSimple; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _Attachment__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Attachment */ \"./src/components/Attachment.js\");\n/* harmony import */ var _MessageActionsBox__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./MessageActionsBox */ \"./src/components/MessageActionsBox.js\");\n/* harmony import */ var _ReactionsList__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ReactionsList */ \"./src/components/ReactionsList.js\");\n/* harmony import */ var _Avatar__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Avatar */ \"./src/components/Avatar.js\");\n/* harmony import */ var _Tooltip__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Tooltip */ \"./src/components/Tooltip.js\");\n/* harmony import */ var _LoadingIndicator__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./LoadingIndicator */ \"./src/components/LoadingIndicator.js\");\n/* harmony import */ var _Gallery__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Gallery */ \"./src/components/Gallery.js\");\n/* harmony import */ var _ReactionSelector__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./ReactionSelector */ \"./src/components/ReactionSelector.js\");\n/* harmony import */ var _MessageRepliesCountButton__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./MessageRepliesCountButton */ \"./src/components/MessageRepliesCountButton.js\");\n/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Modal */ \"./src/components/Modal.js\");\n/* harmony import */ var _MessageInput__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./MessageInput */ \"./src/components/MessageInput.js\");\n/* harmony import */ var _EditMessageForm__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./EditMessageForm */ \"./src/components/EditMessageForm.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_21__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * MessageSimple - Render component, should be used together with the Message component\n *\n * @example ./docs/MessageSimple.md\n * @extends PureComponent\n */\n\nvar MessageSimple =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(MessageSimple, _PureComponent);\n\n function MessageSimple() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, MessageSimple);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(MessageSimple)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"state\", {\n isFocused: false,\n actionsBoxOpen: false,\n showDetailedReactions: false\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"messageActionsRef\", react__WEBPACK_IMPORTED_MODULE_7___default.a.createRef());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"reactionSelectorRef\", react__WEBPACK_IMPORTED_MODULE_7___default.a.createRef());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"_onClickOptionsAction\", function () {\n _this.setState({\n actionsBoxOpen: true\n }, function () {\n return document.addEventListener('click', _this.hideOptions, false);\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"_hideOptions\", function () {\n _this.setState({\n actionsBoxOpen: false\n });\n\n document.removeEventListener('click', _this.hideOptions, false);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"_clickReactionList\", function () {\n _this.setState(function () {\n return {\n showDetailedReactions: true\n };\n }, function () {\n document.addEventListener('click', _this._closeDetailedReactions);\n document.addEventListener('touchend', _this._closeDetailedReactions);\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"_closeDetailedReactions\", function (e) {\n if (!_this.reactionSelectorRef.current.reactionSelector.current.contains(e.target)) {\n _this.setState(function () {\n return {\n showDetailedReactions: false\n };\n }, function () {\n document.removeEventListener('click', _this._closeDetailedReactions);\n document.removeEventListener('touchend', _this._closeDetailedReactions);\n });\n } else {\n return {};\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"formatArray\", function (arr) {\n var outStr = '';\n var slicedArr = arr.filter(function (item) {\n return item.id !== _this.props.client.user.id;\n }).map(function (item) {\n return item.name || item.id;\n }).slice(0, 5);\n var restLength = arr.length - slicedArr.length;\n var lastStr = restLength > 0 ? ' and ' + restLength + ' more' : '';\n\n if (slicedArr.length === 1) {\n outStr = slicedArr[0] + ' ';\n } else if (slicedArr.length === 2) {\n //joins all with \"and\" but =no commas\n //example: \"bob and sam\"\n outStr = slicedArr.join(' and ') + ' ';\n } else if (slicedArr.length > 2) {\n //joins all with commas, but last one gets \", and\" (oxford comma!)\n //example: \"bob, joe, and sam\"\n outStr = slicedArr.join(', ') + lastStr;\n }\n\n return outStr;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"renderStatus\", function () {\n var message = _this.props;\n\n if (!_this.isMine() || _this.props.message.type === 'error') {\n return null;\n }\n\n var justReadByMe = message.readBy.length === 1 && message.readBy[0].id === _this.props.client.user.id;\n\n if (_this.props.message.status === 'sending') {\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"span\", {\n className: \"str-chat__message-simple-status\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_12__[\"Tooltip\"], null, \"Sending...\"), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_LoadingIndicator__WEBPACK_IMPORTED_MODULE_13__[\"LoadingIndicator\"], null));\n } else if (message.readBy.length !== 0 && !_this.props.threadList && !justReadByMe) {\n var lastReadUser = _this.props.readBy.filter(function (item) {\n return item.id !== _this.props.client.user.id;\n })[0];\n\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"span\", {\n className: \"str-chat__message-simple-status\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_12__[\"Tooltip\"], null, _this.formatArray(message.readBy)), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_11__[\"Avatar\"], {\n name: lastReadUser.name || lastReadUser.id,\n image: lastReadUser.image,\n size: 15\n }), message.readBy.length - 1 > 1 && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"span\", {\n className: \"str-chat__message-simple-status-number\"\n }, message.readBy.length - 1));\n } else if (_this.props.message.status === 'received' && _this.props.message.id === _this.props.lastReceivedId && !_this.props.threadList) {\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"span\", {\n className: \"str-chat__message-simple-status\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_12__[\"Tooltip\"], null, \"Delivered\"), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"svg\", {\n width: \"16\",\n height: \"16\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"path\", {\n d: \"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zm3.72 6.633a.955.955 0 1 0-1.352-1.352L6.986 8.663 5.633 7.31A.956.956 0 1 0 4.28 8.663l2.029 2.028a.956.956 0 0 0 1.353 0l4.058-4.058z\",\n fill: \"#006CFF\",\n fillRule: \"evenodd\"\n })));\n } else {\n return null;\n }\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(MessageSimple, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!this.props.message.deleted_at) {\n document.removeEventListener('click', this._closeDetailedReactions);\n document.removeEventListener('touchend', this._closeDetailedReactions);\n }\n }\n }, {\n key: \"isMine\",\n value: function isMine() {\n return this.props.Message.isMyMessage(this.props.message);\n }\n }, {\n key: \"renderOptions\",\n value: function renderOptions() {\n if (this.props.message.type === 'error' || this.props.message.type === 'system' || this.props.message.type === 'ephemeral' || this.props.message.status === 'failed' || this.props.message.status === 'sending' || this.props.initialMessage) {\n return;\n }\n\n var _this$props = this.props,\n message = _this$props.message,\n Message = _this$props.Message;\n\n if (this.isMine()) {\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-simple__actions\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n onClick: this._onClickOptionsAction,\n className: \"str-chat__message-simple__actions__action str-chat__message-simple__actions__action--options\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_MessageActionsBox__WEBPACK_IMPORTED_MODULE_9__[\"MessageActionsBox\"], {\n Message: this.props.Message,\n open: this.state.actionsBoxOpen,\n message: this.props.message,\n messageListRect: this.props.messageListRect,\n mine: this.isMine()\n }), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"svg\", {\n width: \"11\",\n height: \"4\",\n viewBox: \"0 0 11 4\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"path\", {\n d: \"M1.5 3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\",\n fillRule: \"nonzero\"\n }))), !this.props.threadList && this.props.channelConfig.replies && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n onClick: this.props.openThread,\n className: \"str-chat__message-simple__actions__action str-chat__message-simple__actions__action--thread\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"svg\", {\n width: \"14\",\n height: \"10\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"path\", {\n d: \"M8.516 3c4.78 0 4.972 6.5 4.972 6.5-1.6-2.906-2.847-3.184-4.972-3.184v2.872L3.772 4.994 8.516.5V3zM.484 5l4.5-4.237v1.78L2.416 5l2.568 2.125v1.828L.484 5z\",\n fillRule: \"evenodd\"\n }))), this.props.channelConfig.reactions && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-simple__actions__action str-chat__message-simple__actions__action--reactions\",\n onClick: this._clickReactionList\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"svg\", {\n width: \"16\",\n height: \"14\",\n viewBox: \"0 0 16 14\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"path\", {\n d: \"M11.108 8.05a.496.496 0 0 1 .212.667C10.581 10.147 8.886 11 7 11c-1.933 0-3.673-.882-4.33-2.302a.497.497 0 0 1 .9-.417C4.068 9.357 5.446 10 7 10c1.519 0 2.869-.633 3.44-1.738a.495.495 0 0 1 .668-.212zm.792-1.826a.477.477 0 0 1-.119.692.541.541 0 0 1-.31.084.534.534 0 0 1-.428-.194c-.106-.138-.238-.306-.539-.306-.298 0-.431.168-.54.307A.534.534 0 0 1 9.538 7a.544.544 0 0 1-.31-.084.463.463 0 0 1-.117-.694c.33-.423.742-.722 1.394-.722.653 0 1.068.3 1.396.724zm-7 0a.477.477 0 0 1-.119.692.541.541 0 0 1-.31.084.534.534 0 0 1-.428-.194c-.106-.138-.238-.306-.539-.306-.299 0-.432.168-.54.307A.533.533 0 0 1 2.538 7a.544.544 0 0 1-.31-.084.463.463 0 0 1-.117-.694c.33-.423.742-.722 1.394-.722.653 0 1.068.3 1.396.724zM7 0a7 7 0 1 1 0 14A7 7 0 0 1 7 0zm4.243 11.243A5.96 5.96 0 0 0 13 7a5.96 5.96 0 0 0-1.757-4.243A5.96 5.96 0 0 0 7 1a5.96 5.96 0 0 0-4.243 1.757A5.96 5.96 0 0 0 1 7a5.96 5.96 0 0 0 1.757 4.243A5.96 5.96 0 0 0 7 13a5.96 5.96 0 0 0 4.243-1.757z\",\n fillRule: \"evenodd\"\n }))));\n } else {\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-simple__actions\"\n }, this.props.channelConfig.reactions && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-simple__actions__action str-chat__message-simple__actions__action--reactions\",\n onClick: this._clickReactionList\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"svg\", {\n width: \"14\",\n height: \"14\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"path\", {\n d: \"M11.108 8.05a.496.496 0 0 1 .212.667C10.581 10.147 8.886 11 7 11c-1.933 0-3.673-.882-4.33-2.302a.497.497 0 0 1 .9-.417C4.068 9.357 5.446 10 7 10c1.519 0 2.869-.633 3.44-1.738a.495.495 0 0 1 .668-.212zm.792-1.826a.477.477 0 0 1-.119.692.541.541 0 0 1-.31.084.534.534 0 0 1-.428-.194c-.106-.138-.238-.306-.539-.306-.298 0-.431.168-.54.307A.534.534 0 0 1 9.538 7a.544.544 0 0 1-.31-.084.463.463 0 0 1-.117-.694c.33-.423.742-.722 1.394-.722.653 0 1.068.3 1.396.724zm-7 0a.477.477 0 0 1-.119.692.541.541 0 0 1-.31.084.534.534 0 0 1-.428-.194c-.106-.138-.238-.306-.539-.306-.299 0-.432.168-.54.307A.533.533 0 0 1 2.538 7a.544.544 0 0 1-.31-.084.463.463 0 0 1-.117-.694c.33-.423.742-.722 1.394-.722.653 0 1.068.3 1.396.724zM7 0a7 7 0 1 1 0 14A7 7 0 0 1 7 0zm4.243 11.243A5.96 5.96 0 0 0 13 7a5.96 5.96 0 0 0-1.757-4.243A5.96 5.96 0 0 0 7 1a5.96 5.96 0 0 0-4.243 1.757A5.96 5.96 0 0 0 1 7a5.96 5.96 0 0 0 1.757 4.243A5.96 5.96 0 0 0 7 13a5.96 5.96 0 0 0 4.243-1.757z\",\n fillRule: \"evenodd\"\n }))), !this.props.threadList && this.props.channelConfig.replies && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n onClick: this.props.openThread,\n className: \"str-chat__message-simple__actions__action str-chat__message-simple__actions__action--thread\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"svg\", {\n width: \"14\",\n height: \"10\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"path\", {\n d: \"M8.516 3c4.78 0 4.972 6.5 4.972 6.5-1.6-2.906-2.847-3.184-4.972-3.184v2.872L3.772 4.994 8.516.5V3zM.484 5l4.5-4.237v1.78L2.416 5l2.568 2.125v1.828L.484 5z\",\n fillRule: \"evenodd\"\n }))), (Message.canEditMessage(message) || Message.canDeleteMessage(message)) && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n onClick: this._onClickOptionsAction,\n className: \"str-chat__message-simple__actions__action str-chat__message-simple__actions__action--options\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_MessageActionsBox__WEBPACK_IMPORTED_MODULE_9__[\"MessageActionsBox\"], {\n Message: Message,\n open: this.state.actionsBoxOpen,\n message: message,\n messageListRect: this.props.messageListRect,\n mine: this.isMine()\n }), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"svg\", {\n width: \"11\",\n height: \"4\",\n viewBox: \"0 0 11 4\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"path\", {\n d: \"M1.5 3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\",\n fillRule: \"nonzero\"\n }))));\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var message = this.props.message;\n var Attachment = this.props.Attachment;\n var when = moment__WEBPACK_IMPORTED_MODULE_21___default()(message.created_at).calendar();\n var messageClasses = this.isMine() ? 'str-chat__message str-chat__message--me str-chat__message-simple str-chat__message-simple--me' : 'str-chat__message str-chat__message-simple';\n var hasAttachment = Boolean(message && message.attachments && message.attachments.length);\n var images = hasAttachment && message.attachments.filter(function (item) {\n return item.type === 'image';\n });\n var hasReactions = Boolean(message.latest_reactions && message.latest_reactions.length);\n\n if (message.type === 'message.read' || message.type === 'message.date') {\n return null;\n }\n\n if (message.deleted_at) {\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_7___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n key: message.id,\n className: \"\".concat(messageClasses, \" str-chat__message--deleted\")\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message--deleted-inner\"\n }, \"This message was deleted...\")));\n }\n\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_7___default.a.Fragment, null, this.props.editing && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Modal__WEBPACK_IMPORTED_MODULE_17__[\"Modal\"], {\n open: this.props.editing,\n onClose: this.props.clearEditingState\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_MessageInput__WEBPACK_IMPORTED_MODULE_18__[\"MessageInput\"], {\n Input: _EditMessageForm__WEBPACK_IMPORTED_MODULE_19__[\"EditMessageForm\"],\n message: this.props.message,\n clearEditingState: this.props.clearEditingState,\n updateMessage: this.props.updateMessage\n })), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n key: message.id,\n className: \"\\n\\t\\t\\t\\t\\t\\t\".concat(messageClasses, \"\\n\\t\\t\\t\\t\\t\\tstr-chat__message--\").concat(message.type, \"\\n\\t\\t\\t\\t\\t\\tstr-chat__message--\").concat(message.status, \"\\n\\t\\t\\t\\t\\t\\t\").concat(message.text ? 'str-chat__message--has-text' : 'has-no-text', \"\\n\\t\\t\\t\\t\\t\\t\").concat(hasAttachment ? 'str-chat__message--has-attachment' : '', \"\\n\\t\\t\\t\\t\\t\\t\").concat(hasReactions ? 'str-chat__message--with-reactions' : '', \"\\n\\t\\t\\t\\t\\t\").trim(),\n onMouseLeave: this._hideOptions,\n ref: this.messageRef\n }, this.renderStatus(), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_11__[\"Avatar\"], {\n image: message.user.image,\n name: message.user.name || message.user.id\n }), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-inner\",\n onClick: message.status === 'failed' ? this.props.retrySendMessage.bind(this, message) : null\n }, !message.text && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_7___default.a.Fragment, null, this.renderOptions(), hasReactions > 0 && !this.state.showDetailedReactions && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_ReactionsList__WEBPACK_IMPORTED_MODULE_10__[\"ReactionsList\"], {\n reactions: message.latest_reactions,\n reaction_counts: message.reaction_counts,\n onClick: this._clickReactionList,\n reverse: true\n }), this.state.showDetailedReactions && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_ReactionSelector__WEBPACK_IMPORTED_MODULE_15__[\"ReactionSelector\"], {\n mine: this.isMine(),\n handleReaction: this.props.handleReaction,\n actionsEnabled: this.props.actionsEnabled,\n detailedView: true,\n reaction_counts: message.reaction_counts,\n latest_reactions: message.latest_reactions,\n messageList: this.props.messageListRect,\n ref: this.reactionSelectorRef\n })), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-attachment-container\"\n }, hasAttachment && message.attachments.map(function (attachment, index) {\n if (attachment.type === 'image' && images.length > 1) return null;\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(Attachment, {\n key: \"\".concat(message.id, \"-\").concat(index),\n attachment: attachment,\n actionHandler: _this2.props.handleAction\n });\n })), images.length > 1 && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Gallery__WEBPACK_IMPORTED_MODULE_14__[\"Gallery\"], {\n images: images\n }), message.text && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-text\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tstr-chat__message-text-inner str-chat__message-simple-text-inner\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\".concat(this.state.isFocused ? 'str-chat__message-text-inner--focused' : '', \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\").concat(hasAttachment ? 'str-chat__message-text-inner--has-attachment' : '', \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\").concat(Object(_utils__WEBPACK_IMPORTED_MODULE_22__[\"isOnlyEmojis\"])(message.text) ? 'str-chat__message-simple-text-inner--is-emoji' : '', \"\\n \").trim(),\n onMouseOver: this.props.onMentionsHoverMessage,\n onClick: this.props.onMentionsClickMessage\n }, message.type === 'error' && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__simple-message--error-message\"\n }, \"Error \\xB7 Unsent\"), message.status === 'failed' && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__simple-message--error-message\"\n }, \"Message Failed \\xB7 Click to try again\"), this.props.unsafeHTML ? react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n dangerouslySetInnerHTML: {\n __html: message.html\n }\n }) : Object(_utils__WEBPACK_IMPORTED_MODULE_22__[\"renderText\"])(message), hasReactions > 0 && !this.state.showDetailedReactions && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_ReactionsList__WEBPACK_IMPORTED_MODULE_10__[\"ReactionsList\"], {\n reactions: message.latest_reactions,\n reaction_counts: message.reaction_counts,\n onClick: this._clickReactionList,\n reverse: true\n }), this.state.showDetailedReactions && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_ReactionSelector__WEBPACK_IMPORTED_MODULE_15__[\"ReactionSelector\"], {\n mine: this.isMine(),\n handleReaction: this.props.handleReaction,\n actionsEnabled: this.props.actionsEnabled,\n detailedView: true,\n reaction_counts: message.reaction_counts,\n latest_reactions: message.latest_reactions,\n messageList: this.props.messageListRect,\n ref: this.reactionSelectorRef\n })), message.text && this.renderOptions()), !this.props.threadList && message.reply_count !== 0 && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-simple-reply-button\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_MessageRepliesCountButton__WEBPACK_IMPORTED_MODULE_16__[\"MessageRepliesCountButton\"], {\n onClick: this.props.openThread,\n reply_count: message.reply_count\n })), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-data str-chat__message-simple-data\"\n }, !this.isMine() ? react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"span\", {\n className: \"str-chat__message-simple-name\"\n }, message.user.name || message.user.id) : null, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"span\", {\n className: \"str-chat__message-simple-timestamp\"\n }, when)))));\n }\n }]);\n\n return MessageSimple;\n}(react__WEBPACK_IMPORTED_MODULE_7__[\"PureComponent\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(MessageSimple, \"propTypes\", {\n /** The message object */\n message: prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.object,\n\n /** The attachment component */\n Attachment: prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.func]),\n\n /** The message component, most logic is delegated to this component */\n Message: prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.func, prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.object]).isRequired,\n\n /** render HTML instead of markdown. Posting HTML is only allowed server-side */\n unsafeHTML: prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.bool\n});\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(MessageSimple, \"defaultProps\", {\n Attachment: _Attachment__WEBPACK_IMPORTED_MODULE_8__[\"Attachment\"]\n});\n\n//# sourceURL=webpack:///./src/components/MessageSimple.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MessageSimple\", function() { return MessageSimple; });\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ \"./node_modules/@babel/runtime/helpers/classCallCheck.js\");\n/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/createClass */ \"./node_modules/@babel/runtime/helpers/createClass.js\");\n/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ \"./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ \"./node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime/helpers/assertThisInitialized */ \"./node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n/* harmony import */ var _babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime/helpers/inherits */ \"./node_modules/@babel/runtime/helpers/inherits.js\");\n/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var _Attachment__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Attachment */ \"./src/components/Attachment.js\");\n/* harmony import */ var _MessageActionsBox__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./MessageActionsBox */ \"./src/components/MessageActionsBox.js\");\n/* harmony import */ var _ReactionsList__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ReactionsList */ \"./src/components/ReactionsList.js\");\n/* harmony import */ var _Avatar__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Avatar */ \"./src/components/Avatar.js\");\n/* harmony import */ var _Tooltip__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Tooltip */ \"./src/components/Tooltip.js\");\n/* harmony import */ var _LoadingIndicator__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./LoadingIndicator */ \"./src/components/LoadingIndicator.js\");\n/* harmony import */ var _Gallery__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Gallery */ \"./src/components/Gallery.js\");\n/* harmony import */ var _ReactionSelector__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./ReactionSelector */ \"./src/components/ReactionSelector.js\");\n/* harmony import */ var _MessageRepliesCountButton__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./MessageRepliesCountButton */ \"./src/components/MessageRepliesCountButton.js\");\n/* harmony import */ var _Modal__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Modal */ \"./src/components/Modal.js\");\n/* harmony import */ var _MessageInput__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./MessageInput */ \"./src/components/MessageInput.js\");\n/* harmony import */ var _EditMessageForm__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./EditMessageForm */ \"./src/components/EditMessageForm.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_20__);\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! moment */ \"./node_modules/moment/moment.js\");\n/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_21__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * MessageSimple - Render component, should be used together with the Message component\n *\n * @example ./docs/MessageSimple.md\n * @extends PureComponent\n */\n\nvar MessageSimple =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_5___default()(MessageSimple, _PureComponent);\n\n function MessageSimple() {\n var _getPrototypeOf2;\n\n var _this;\n\n _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_0___default()(this, MessageSimple);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2___default()(this, (_getPrototypeOf2 = _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3___default()(MessageSimple)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"state\", {\n isFocused: false,\n actionsBoxOpen: false,\n showDetailedReactions: false\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"messageActionsRef\", react__WEBPACK_IMPORTED_MODULE_7___default.a.createRef());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"reactionSelectorRef\", react__WEBPACK_IMPORTED_MODULE_7___default.a.createRef());\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"_onClickOptionsAction\", function () {\n _this.setState({\n actionsBoxOpen: true\n }, function () {\n return document.addEventListener('click', _this.hideOptions, false);\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"_hideOptions\", function () {\n _this.setState({\n actionsBoxOpen: false\n });\n\n document.removeEventListener('click', _this.hideOptions, false);\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"_clickReactionList\", function () {\n _this.setState(function () {\n return {\n showDetailedReactions: true\n };\n }, function () {\n document.addEventListener('click', _this._closeDetailedReactions);\n document.addEventListener('touchend', _this._closeDetailedReactions);\n });\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"_closeDetailedReactions\", function (e) {\n if (!_this.reactionSelectorRef.current.reactionSelector.current.contains(e.target)) {\n _this.setState(function () {\n return {\n showDetailedReactions: false\n };\n }, function () {\n document.removeEventListener('click', _this._closeDetailedReactions);\n document.removeEventListener('touchend', _this._closeDetailedReactions);\n });\n } else {\n return {};\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"formatArray\", function (arr) {\n var outStr = '';\n var slicedArr = arr.filter(function (item) {\n return item.id !== _this.props.client.user.id;\n }).map(function (item) {\n return item.name || item.id;\n }).slice(0, 5);\n var restLength = arr.length - slicedArr.length;\n var lastStr = restLength > 0 ? ' and ' + restLength + ' more' : '';\n\n if (slicedArr.length === 1) {\n outStr = slicedArr[0] + ' ';\n } else if (slicedArr.length === 2) {\n //joins all with \"and\" but =no commas\n //example: \"bob and sam\"\n outStr = slicedArr.join(' and ') + ' ';\n } else if (slicedArr.length > 2) {\n //joins all with commas, but last one gets \", and\" (oxford comma!)\n //example: \"bob, joe, and sam\"\n outStr = slicedArr.join(', ') + lastStr;\n }\n\n return outStr;\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"renderStatus\", function () {\n var message = _this.props;\n\n if (!_this.isMine() || _this.props.message.type === 'error') {\n return null;\n }\n\n var justReadByMe = message.readBy.length === 1 && message.readBy[0].id === _this.props.client.user.id;\n\n if (_this.props.message.status === 'sending') {\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"span\", {\n className: \"str-chat__message-simple-status\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_12__[\"Tooltip\"], null, \"Sending...\"), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_LoadingIndicator__WEBPACK_IMPORTED_MODULE_13__[\"LoadingIndicator\"], null));\n } else if (message.readBy.length !== 0 && !_this.props.threadList && !justReadByMe) {\n var lastReadUser = _this.props.readBy.filter(function (item) {\n return item.id !== _this.props.client.user.id;\n })[0];\n\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"span\", {\n className: \"str-chat__message-simple-status\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_12__[\"Tooltip\"], null, _this.formatArray(message.readBy)), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_11__[\"Avatar\"], {\n name: lastReadUser.name || lastReadUser.id,\n image: lastReadUser.image,\n size: 15\n }), message.readBy.length - 1 > 1 && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"span\", {\n className: \"str-chat__message-simple-status-number\"\n }, message.readBy.length - 1));\n } else if (_this.props.message.status === 'received' && _this.props.message.id === _this.props.lastReceivedId && !_this.props.threadList) {\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"span\", {\n className: \"str-chat__message-simple-status\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Tooltip__WEBPACK_IMPORTED_MODULE_12__[\"Tooltip\"], null, \"Delivered\"), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"svg\", {\n width: \"16\",\n height: \"16\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"path\", {\n d: \"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zm3.72 6.633a.955.955 0 1 0-1.352-1.352L6.986 8.663 5.633 7.31A.956.956 0 1 0 4.28 8.663l2.029 2.028a.956.956 0 0 0 1.353 0l4.058-4.058z\",\n fill: \"#006CFF\",\n fillRule: \"evenodd\"\n })));\n } else {\n return null;\n }\n });\n\n _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(_babel_runtime_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_4___default()(_this), \"renderMessageActions\", function () {\n if (!_this.props.messageActions || _this.props.messageActions.length === 0) {\n return;\n }\n\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n onClick: _this._onClickOptionsAction,\n className: \"str-chat__message-simple__actions__action str-chat__message-simple__actions__action--options\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_MessageActionsBox__WEBPACK_IMPORTED_MODULE_9__[\"MessageActionsBox\"], {\n Message: _this.props.Message,\n open: _this.state.actionsBoxOpen,\n message: _this.props.message,\n messageListRect: _this.props.messageListRect,\n mine: _this.isMine(),\n messageActions: _this.props.messageActions\n }), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"svg\", {\n width: \"11\",\n height: \"4\",\n viewBox: \"0 0 11 4\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"path\", {\n d: \"M1.5 3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\",\n fillRule: \"nonzero\"\n })));\n });\n\n return _this;\n }\n\n _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_1___default()(MessageSimple, [{\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!this.props.message.deleted_at) {\n document.removeEventListener('click', this._closeDetailedReactions);\n document.removeEventListener('touchend', this._closeDetailedReactions);\n }\n }\n }, {\n key: \"isMine\",\n value: function isMine() {\n return this.props.Message.isMyMessage(this.props.message);\n }\n }, {\n key: \"renderOptions\",\n value: function renderOptions() {\n if (this.props.message.type === 'error' || this.props.message.type === 'system' || this.props.message.type === 'ephemeral' || this.props.message.status === 'failed' || this.props.message.status === 'sending' || this.props.initialMessage) {\n return;\n }\n\n var _this$props = this.props,\n message = _this$props.message,\n Message = _this$props.Message;\n\n if (this.isMine()) {\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-simple__actions\"\n }, this.renderMessageActions(), !this.props.threadList && this.props.channelConfig.replies && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n onClick: this.props.openThread,\n className: \"str-chat__message-simple__actions__action str-chat__message-simple__actions__action--thread\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"svg\", {\n width: \"14\",\n height: \"10\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"path\", {\n d: \"M8.516 3c4.78 0 4.972 6.5 4.972 6.5-1.6-2.906-2.847-3.184-4.972-3.184v2.872L3.772 4.994 8.516.5V3zM.484 5l4.5-4.237v1.78L2.416 5l2.568 2.125v1.828L.484 5z\",\n fillRule: \"evenodd\"\n }))), this.props.channelConfig.reactions && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-simple__actions__action str-chat__message-simple__actions__action--reactions\",\n onClick: this._clickReactionList\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"svg\", {\n width: \"16\",\n height: \"14\",\n viewBox: \"0 0 16 14\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"path\", {\n d: \"M11.108 8.05a.496.496 0 0 1 .212.667C10.581 10.147 8.886 11 7 11c-1.933 0-3.673-.882-4.33-2.302a.497.497 0 0 1 .9-.417C4.068 9.357 5.446 10 7 10c1.519 0 2.869-.633 3.44-1.738a.495.495 0 0 1 .668-.212zm.792-1.826a.477.477 0 0 1-.119.692.541.541 0 0 1-.31.084.534.534 0 0 1-.428-.194c-.106-.138-.238-.306-.539-.306-.298 0-.431.168-.54.307A.534.534 0 0 1 9.538 7a.544.544 0 0 1-.31-.084.463.463 0 0 1-.117-.694c.33-.423.742-.722 1.394-.722.653 0 1.068.3 1.396.724zm-7 0a.477.477 0 0 1-.119.692.541.541 0 0 1-.31.084.534.534 0 0 1-.428-.194c-.106-.138-.238-.306-.539-.306-.299 0-.432.168-.54.307A.533.533 0 0 1 2.538 7a.544.544 0 0 1-.31-.084.463.463 0 0 1-.117-.694c.33-.423.742-.722 1.394-.722.653 0 1.068.3 1.396.724zM7 0a7 7 0 1 1 0 14A7 7 0 0 1 7 0zm4.243 11.243A5.96 5.96 0 0 0 13 7a5.96 5.96 0 0 0-1.757-4.243A5.96 5.96 0 0 0 7 1a5.96 5.96 0 0 0-4.243 1.757A5.96 5.96 0 0 0 1 7a5.96 5.96 0 0 0 1.757 4.243A5.96 5.96 0 0 0 7 13a5.96 5.96 0 0 0 4.243-1.757z\",\n fillRule: \"evenodd\"\n }))));\n } else {\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-simple__actions\"\n }, this.props.channelConfig.reactions && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-simple__actions__action str-chat__message-simple__actions__action--reactions\",\n onClick: this._clickReactionList\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"svg\", {\n width: \"14\",\n height: \"14\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"path\", {\n d: \"M11.108 8.05a.496.496 0 0 1 .212.667C10.581 10.147 8.886 11 7 11c-1.933 0-3.673-.882-4.33-2.302a.497.497 0 0 1 .9-.417C4.068 9.357 5.446 10 7 10c1.519 0 2.869-.633 3.44-1.738a.495.495 0 0 1 .668-.212zm.792-1.826a.477.477 0 0 1-.119.692.541.541 0 0 1-.31.084.534.534 0 0 1-.428-.194c-.106-.138-.238-.306-.539-.306-.298 0-.431.168-.54.307A.534.534 0 0 1 9.538 7a.544.544 0 0 1-.31-.084.463.463 0 0 1-.117-.694c.33-.423.742-.722 1.394-.722.653 0 1.068.3 1.396.724zm-7 0a.477.477 0 0 1-.119.692.541.541 0 0 1-.31.084.534.534 0 0 1-.428-.194c-.106-.138-.238-.306-.539-.306-.299 0-.432.168-.54.307A.533.533 0 0 1 2.538 7a.544.544 0 0 1-.31-.084.463.463 0 0 1-.117-.694c.33-.423.742-.722 1.394-.722.653 0 1.068.3 1.396.724zM7 0a7 7 0 1 1 0 14A7 7 0 0 1 7 0zm4.243 11.243A5.96 5.96 0 0 0 13 7a5.96 5.96 0 0 0-1.757-4.243A5.96 5.96 0 0 0 7 1a5.96 5.96 0 0 0-4.243 1.757A5.96 5.96 0 0 0 1 7a5.96 5.96 0 0 0 1.757 4.243A5.96 5.96 0 0 0 7 13a5.96 5.96 0 0 0 4.243-1.757z\",\n fillRule: \"evenodd\"\n }))), !this.props.threadList && this.props.channelConfig.replies && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n onClick: this.props.openThread,\n className: \"str-chat__message-simple__actions__action str-chat__message-simple__actions__action--thread\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"svg\", {\n width: \"14\",\n height: \"10\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"path\", {\n d: \"M8.516 3c4.78 0 4.972 6.5 4.972 6.5-1.6-2.906-2.847-3.184-4.972-3.184v2.872L3.772 4.994 8.516.5V3zM.484 5l4.5-4.237v1.78L2.416 5l2.568 2.125v1.828L.484 5z\",\n fillRule: \"evenodd\"\n }))), (Message.canEditMessage(message) || Message.canDeleteMessage(message)) && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n onClick: this._onClickOptionsAction,\n className: \"str-chat__message-simple__actions__action str-chat__message-simple__actions__action--options\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_MessageActionsBox__WEBPACK_IMPORTED_MODULE_9__[\"MessageActionsBox\"], {\n Message: Message,\n open: this.state.actionsBoxOpen,\n message: message,\n messageListRect: this.props.messageListRect,\n mine: this.isMine()\n }), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"svg\", {\n width: \"11\",\n height: \"4\",\n viewBox: \"0 0 11 4\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"path\", {\n d: \"M1.5 3a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm4 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z\",\n fillRule: \"nonzero\"\n }))));\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var message = this.props.message;\n var Attachment = this.props.Attachment;\n var when = moment__WEBPACK_IMPORTED_MODULE_21___default()(message.created_at).calendar();\n var messageClasses = this.isMine() ? 'str-chat__message str-chat__message--me str-chat__message-simple str-chat__message-simple--me' : 'str-chat__message str-chat__message-simple';\n var hasAttachment = Boolean(message && message.attachments && message.attachments.length);\n var images = hasAttachment && message.attachments.filter(function (item) {\n return item.type === 'image';\n });\n var hasReactions = Boolean(message.latest_reactions && message.latest_reactions.length);\n\n if (message.type === 'message.read' || message.type === 'message.date') {\n return null;\n }\n\n if (message.deleted_at) {\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_7___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n key: message.id,\n className: \"\".concat(messageClasses, \" str-chat__message--deleted \").concat(message.type, \" \")\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message--deleted-inner\"\n }, \"This message was deleted...\")));\n }\n\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_7___default.a.Fragment, null, this.props.editing && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Modal__WEBPACK_IMPORTED_MODULE_17__[\"Modal\"], {\n open: this.props.editing,\n onClose: this.props.clearEditingState\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_MessageInput__WEBPACK_IMPORTED_MODULE_18__[\"MessageInput\"], {\n Input: _EditMessageForm__WEBPACK_IMPORTED_MODULE_19__[\"EditMessageForm\"],\n message: this.props.message,\n clearEditingState: this.props.clearEditingState,\n updateMessage: this.props.updateMessage\n })), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n key: message.id,\n className: \"\\n\\t\\t\\t\\t\\t\\t\".concat(messageClasses, \"\\n\\t\\t\\t\\t\\t\\tstr-chat__message--\").concat(message.type, \"\\n\\t\\t\\t\\t\\t\\tstr-chat__message--\").concat(message.status, \"\\n\\t\\t\\t\\t\\t\\t\").concat(message.text ? 'str-chat__message--has-text' : 'has-no-text', \"\\n\\t\\t\\t\\t\\t\\t\").concat(hasAttachment ? 'str-chat__message--has-attachment' : '', \"\\n\\t\\t\\t\\t\\t\\t\").concat(hasReactions ? 'str-chat__message--with-reactions' : '', \"\\n\\t\\t\\t\\t\\t\").trim(),\n onMouseLeave: this._hideOptions,\n ref: this.messageRef\n }, this.renderStatus(), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Avatar__WEBPACK_IMPORTED_MODULE_11__[\"Avatar\"], {\n image: message.user.image,\n name: message.user.name || message.user.id\n }), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-inner\",\n onClick: message.status === 'failed' ? this.props.retrySendMessage.bind(this, message) : null\n }, !message.text && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_7___default.a.Fragment, null, this.renderOptions(), hasReactions > 0 && !this.state.showDetailedReactions && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_ReactionsList__WEBPACK_IMPORTED_MODULE_10__[\"ReactionsList\"], {\n reactions: message.latest_reactions,\n reaction_counts: message.reaction_counts,\n onClick: this._clickReactionList,\n reverse: true\n }), this.state.showDetailedReactions && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_ReactionSelector__WEBPACK_IMPORTED_MODULE_15__[\"ReactionSelector\"], {\n mine: this.isMine(),\n handleReaction: this.props.handleReaction,\n actionsEnabled: this.props.actionsEnabled,\n detailedView: true,\n reaction_counts: message.reaction_counts,\n latest_reactions: message.latest_reactions,\n messageList: this.props.messageListRect,\n ref: this.reactionSelectorRef\n })), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-attachment-container\"\n }, hasAttachment && message.attachments.map(function (attachment, index) {\n if (attachment.type === 'image' && images.length > 1) return null;\n return react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(Attachment, {\n key: \"\".concat(message.id, \"-\").concat(index),\n attachment: attachment,\n actionHandler: _this2.props.handleAction\n });\n })), images.length > 1 && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_Gallery__WEBPACK_IMPORTED_MODULE_14__[\"Gallery\"], {\n images: images\n }), message.text && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-text\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tstr-chat__message-text-inner str-chat__message-simple-text-inner\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\".concat(this.state.isFocused ? 'str-chat__message-text-inner--focused' : '', \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\").concat(hasAttachment ? 'str-chat__message-text-inner--has-attachment' : '', \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\").concat(Object(_utils__WEBPACK_IMPORTED_MODULE_22__[\"isOnlyEmojis\"])(message.text) ? 'str-chat__message-simple-text-inner--is-emoji' : '', \"\\n \").trim(),\n onMouseOver: this.props.onMentionsHoverMessage,\n onClick: this.props.onMentionsClickMessage\n }, message.type === 'error' && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__simple-message--error-message\"\n }, \"Error \\xB7 Unsent\"), message.status === 'failed' && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__simple-message--error-message\"\n }, \"Message Failed \\xB7 Click to try again\"), this.props.unsafeHTML ? react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n dangerouslySetInnerHTML: {\n __html: message.html\n }\n }) : Object(_utils__WEBPACK_IMPORTED_MODULE_22__[\"renderText\"])(message), hasReactions > 0 && !this.state.showDetailedReactions && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_ReactionsList__WEBPACK_IMPORTED_MODULE_10__[\"ReactionsList\"], {\n reactions: message.latest_reactions,\n reaction_counts: message.reaction_counts,\n onClick: this._clickReactionList,\n reverse: true\n }), this.state.showDetailedReactions && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_ReactionSelector__WEBPACK_IMPORTED_MODULE_15__[\"ReactionSelector\"], {\n mine: this.isMine(),\n handleReaction: this.props.handleReaction,\n actionsEnabled: this.props.actionsEnabled,\n detailedView: true,\n reaction_counts: message.reaction_counts,\n latest_reactions: message.latest_reactions,\n messageList: this.props.messageListRect,\n ref: this.reactionSelectorRef\n })), message.text && this.renderOptions()), !this.props.threadList && message.reply_count !== 0 && react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-simple-reply-button\"\n }, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(_MessageRepliesCountButton__WEBPACK_IMPORTED_MODULE_16__[\"MessageRepliesCountButton\"], {\n onClick: this.props.openThread,\n reply_count: message.reply_count\n })), react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"div\", {\n className: \"str-chat__message-data str-chat__message-simple-data\"\n }, !this.isMine() ? react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"span\", {\n className: \"str-chat__message-simple-name\"\n }, message.user.name || message.user.id) : null, react__WEBPACK_IMPORTED_MODULE_7___default.a.createElement(\"span\", {\n className: \"str-chat__message-simple-timestamp\"\n }, when)))));\n }\n }]);\n\n return MessageSimple;\n}(react__WEBPACK_IMPORTED_MODULE_7__[\"PureComponent\"]);\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(MessageSimple, \"propTypes\", {\n /** The message object */\n message: prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.object,\n\n /** The attachment component */\n Attachment: prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.func]),\n\n /** The message component, most logic is delegated to this component */\n Message: prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.node, prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.func, prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.object]).isRequired,\n\n /** render HTML instead of markdown. Posting HTML is only allowed server-side */\n unsafeHTML: prop_types__WEBPACK_IMPORTED_MODULE_20___default.a.bool\n});\n\n_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_6___default()(MessageSimple, \"defaultProps\", {\n Attachment: _Attachment__WEBPACK_IMPORTED_MODULE_8__[\"Attachment\"]\n});\n\n//# sourceURL=webpack:///./src/components/MessageSimple.js?"); /***/ }), @@ -12249,11 +12249,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /*!*********************************!*\ !*** ./src/components/index.js ***! \*********************************/ -/*! exports provided: Avatar, Message, MessageList, Chat, Channel, ChannelHeader, MessageInput, MessageInputLarge, MessageInputFlat, MessageInputSmall, Attachment, ChannelList, ChannelListMessenger, ChannelListTeam, ChannelPreviewCompact, ChannelPreviewMessenger, LoadMorePaginator, InfiniteScrollPaginator, LoadingIndicator, MessageCommerce, MessageLivestream, MessageTeam, MessageSimple, Thread, TypingIndicator, Window, emojiSetDef, commonEmoji, defaultMinimalEmojis, emojiData, isOnlyEmojis, isPromise, byDate, formatArray, renderText, generateRandomId, smartRender, ChatContext, withChatContext, ChannelContext, withChannelContext */ +/*! exports provided: Avatar, Message, MessageList, Chat, Channel, ChannelHeader, MessageInput, MessageInputLarge, MessageInputFlat, MessageInputSmall, Attachment, ChannelList, ChannelListMessenger, ChannelListTeam, ChannelPreviewCompact, ChannelPreviewMessenger, LoadMorePaginator, InfiniteScrollPaginator, LoadingIndicator, MessageCommerce, MessageLivestream, MessageTeam, MessageSimple, Thread, TypingIndicator, Window, emojiSetDef, commonEmoji, defaultMinimalEmojis, emojiData, isOnlyEmojis, isPromise, byDate, formatArray, renderText, generateRandomId, smartRender, MESSAGE_ACTIONS, ChatContext, withChatContext, ChannelContext, withChannelContext */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Avatar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Avatar */ \"./src/components/Avatar.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Avatar\", function() { return _Avatar__WEBPACK_IMPORTED_MODULE_0__[\"Avatar\"]; });\n\n/* harmony import */ var _Message__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Message */ \"./src/components/Message.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Message\", function() { return _Message__WEBPACK_IMPORTED_MODULE_1__[\"Message\"]; });\n\n/* harmony import */ var _MessageList__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MessageList */ \"./src/components/MessageList.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageList\", function() { return _MessageList__WEBPACK_IMPORTED_MODULE_2__[\"MessageList\"]; });\n\n/* harmony import */ var _Chat__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Chat */ \"./src/components/Chat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Chat\", function() { return _Chat__WEBPACK_IMPORTED_MODULE_3__[\"Chat\"]; });\n\n/* harmony import */ var _Channel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Channel */ \"./src/components/Channel.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Channel\", function() { return _Channel__WEBPACK_IMPORTED_MODULE_4__[\"Channel\"]; });\n\n/* harmony import */ var _ChannelHeader__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ChannelHeader */ \"./src/components/ChannelHeader.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChannelHeader\", function() { return _ChannelHeader__WEBPACK_IMPORTED_MODULE_5__[\"ChannelHeader\"]; });\n\n/* harmony import */ var _MessageInput__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./MessageInput */ \"./src/components/MessageInput.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageInput\", function() { return _MessageInput__WEBPACK_IMPORTED_MODULE_6__[\"MessageInput\"]; });\n\n/* harmony import */ var _MessageInputLarge__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./MessageInputLarge */ \"./src/components/MessageInputLarge.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageInputLarge\", function() { return _MessageInputLarge__WEBPACK_IMPORTED_MODULE_7__[\"MessageInputLarge\"]; });\n\n/* harmony import */ var _MessageInputFlat__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./MessageInputFlat */ \"./src/components/MessageInputFlat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageInputFlat\", function() { return _MessageInputFlat__WEBPACK_IMPORTED_MODULE_8__[\"MessageInputFlat\"]; });\n\n/* harmony import */ var _MessageInputSmall__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./MessageInputSmall */ \"./src/components/MessageInputSmall.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageInputSmall\", function() { return _MessageInputSmall__WEBPACK_IMPORTED_MODULE_9__[\"MessageInputSmall\"]; });\n\n/* harmony import */ var _Attachment__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Attachment */ \"./src/components/Attachment.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Attachment\", function() { return _Attachment__WEBPACK_IMPORTED_MODULE_10__[\"Attachment\"]; });\n\n/* harmony import */ var _ChannelList__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ChannelList */ \"./src/components/ChannelList.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChannelList\", function() { return _ChannelList__WEBPACK_IMPORTED_MODULE_11__[\"ChannelList\"]; });\n\n/* harmony import */ var _ChannelListMessenger__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ChannelListMessenger */ \"./src/components/ChannelListMessenger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChannelListMessenger\", function() { return _ChannelListMessenger__WEBPACK_IMPORTED_MODULE_12__[\"ChannelListMessenger\"]; });\n\n/* harmony import */ var _ChannelListTeam__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./ChannelListTeam */ \"./src/components/ChannelListTeam.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChannelListTeam\", function() { return _ChannelListTeam__WEBPACK_IMPORTED_MODULE_13__[\"ChannelListTeam\"]; });\n\n/* harmony import */ var _ChannelPreviewCompact__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ChannelPreviewCompact */ \"./src/components/ChannelPreviewCompact.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChannelPreviewCompact\", function() { return _ChannelPreviewCompact__WEBPACK_IMPORTED_MODULE_14__[\"ChannelPreviewCompact\"]; });\n\n/* harmony import */ var _ChannelPreviewMessenger__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./ChannelPreviewMessenger */ \"./src/components/ChannelPreviewMessenger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChannelPreviewMessenger\", function() { return _ChannelPreviewMessenger__WEBPACK_IMPORTED_MODULE_15__[\"ChannelPreviewMessenger\"]; });\n\n/* harmony import */ var _LoadMorePaginator__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./LoadMorePaginator */ \"./src/components/LoadMorePaginator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LoadMorePaginator\", function() { return _LoadMorePaginator__WEBPACK_IMPORTED_MODULE_16__[\"LoadMorePaginator\"]; });\n\n/* harmony import */ var _InfiniteScrollPaginator__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./InfiniteScrollPaginator */ \"./src/components/InfiniteScrollPaginator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InfiniteScrollPaginator\", function() { return _InfiniteScrollPaginator__WEBPACK_IMPORTED_MODULE_17__[\"InfiniteScrollPaginator\"]; });\n\n/* harmony import */ var _LoadingIndicator__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./LoadingIndicator */ \"./src/components/LoadingIndicator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LoadingIndicator\", function() { return _LoadingIndicator__WEBPACK_IMPORTED_MODULE_18__[\"LoadingIndicator\"]; });\n\n/* harmony import */ var _MessageCommerce__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./MessageCommerce */ \"./src/components/MessageCommerce.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageCommerce\", function() { return _MessageCommerce__WEBPACK_IMPORTED_MODULE_19__[\"MessageCommerce\"]; });\n\n/* harmony import */ var _MessageLivestream__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./MessageLivestream */ \"./src/components/MessageLivestream.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageLivestream\", function() { return _MessageLivestream__WEBPACK_IMPORTED_MODULE_20__[\"MessageLivestream\"]; });\n\n/* harmony import */ var _MessageTeam__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./MessageTeam */ \"./src/components/MessageTeam.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageTeam\", function() { return _MessageTeam__WEBPACK_IMPORTED_MODULE_21__[\"MessageTeam\"]; });\n\n/* harmony import */ var _MessageSimple__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./MessageSimple */ \"./src/components/MessageSimple.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageSimple\", function() { return _MessageSimple__WEBPACK_IMPORTED_MODULE_22__[\"MessageSimple\"]; });\n\n/* harmony import */ var _Thread__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./Thread */ \"./src/components/Thread.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Thread\", function() { return _Thread__WEBPACK_IMPORTED_MODULE_23__[\"Thread\"]; });\n\n/* harmony import */ var _TypingIndicator__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./TypingIndicator */ \"./src/components/TypingIndicator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TypingIndicator\", function() { return _TypingIndicator__WEBPACK_IMPORTED_MODULE_24__[\"TypingIndicator\"]; });\n\n/* harmony import */ var _Window__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./Window */ \"./src/components/Window.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Window\", function() { return _Window__WEBPACK_IMPORTED_MODULE_25__[\"Window\"]; });\n\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"emojiSetDef\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"emojiSetDef\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"commonEmoji\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"commonEmoji\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultMinimalEmojis\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"defaultMinimalEmojis\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"emojiData\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"emojiData\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isOnlyEmojis\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"isOnlyEmojis\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isPromise\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"isPromise\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"byDate\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"byDate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatArray\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"formatArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"renderText\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"renderText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"generateRandomId\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"generateRandomId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"smartRender\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"smartRender\"]; });\n\n/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../context */ \"./src/context.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChatContext\", function() { return _context__WEBPACK_IMPORTED_MODULE_27__[\"ChatContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withChatContext\", function() { return _context__WEBPACK_IMPORTED_MODULE_27__[\"withChatContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChannelContext\", function() { return _context__WEBPACK_IMPORTED_MODULE_27__[\"ChannelContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withChannelContext\", function() { return _context__WEBPACK_IMPORTED_MODULE_27__[\"withChannelContext\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./src/components/index.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Avatar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Avatar */ \"./src/components/Avatar.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Avatar\", function() { return _Avatar__WEBPACK_IMPORTED_MODULE_0__[\"Avatar\"]; });\n\n/* harmony import */ var _Message__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Message */ \"./src/components/Message.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Message\", function() { return _Message__WEBPACK_IMPORTED_MODULE_1__[\"Message\"]; });\n\n/* harmony import */ var _MessageList__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MessageList */ \"./src/components/MessageList.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageList\", function() { return _MessageList__WEBPACK_IMPORTED_MODULE_2__[\"MessageList\"]; });\n\n/* harmony import */ var _Chat__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Chat */ \"./src/components/Chat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Chat\", function() { return _Chat__WEBPACK_IMPORTED_MODULE_3__[\"Chat\"]; });\n\n/* harmony import */ var _Channel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Channel */ \"./src/components/Channel.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Channel\", function() { return _Channel__WEBPACK_IMPORTED_MODULE_4__[\"Channel\"]; });\n\n/* harmony import */ var _ChannelHeader__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ChannelHeader */ \"./src/components/ChannelHeader.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChannelHeader\", function() { return _ChannelHeader__WEBPACK_IMPORTED_MODULE_5__[\"ChannelHeader\"]; });\n\n/* harmony import */ var _MessageInput__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./MessageInput */ \"./src/components/MessageInput.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageInput\", function() { return _MessageInput__WEBPACK_IMPORTED_MODULE_6__[\"MessageInput\"]; });\n\n/* harmony import */ var _MessageInputLarge__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./MessageInputLarge */ \"./src/components/MessageInputLarge.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageInputLarge\", function() { return _MessageInputLarge__WEBPACK_IMPORTED_MODULE_7__[\"MessageInputLarge\"]; });\n\n/* harmony import */ var _MessageInputFlat__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./MessageInputFlat */ \"./src/components/MessageInputFlat.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageInputFlat\", function() { return _MessageInputFlat__WEBPACK_IMPORTED_MODULE_8__[\"MessageInputFlat\"]; });\n\n/* harmony import */ var _MessageInputSmall__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./MessageInputSmall */ \"./src/components/MessageInputSmall.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageInputSmall\", function() { return _MessageInputSmall__WEBPACK_IMPORTED_MODULE_9__[\"MessageInputSmall\"]; });\n\n/* harmony import */ var _Attachment__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Attachment */ \"./src/components/Attachment.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Attachment\", function() { return _Attachment__WEBPACK_IMPORTED_MODULE_10__[\"Attachment\"]; });\n\n/* harmony import */ var _ChannelList__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ChannelList */ \"./src/components/ChannelList.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChannelList\", function() { return _ChannelList__WEBPACK_IMPORTED_MODULE_11__[\"ChannelList\"]; });\n\n/* harmony import */ var _ChannelListMessenger__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ChannelListMessenger */ \"./src/components/ChannelListMessenger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChannelListMessenger\", function() { return _ChannelListMessenger__WEBPACK_IMPORTED_MODULE_12__[\"ChannelListMessenger\"]; });\n\n/* harmony import */ var _ChannelListTeam__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./ChannelListTeam */ \"./src/components/ChannelListTeam.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChannelListTeam\", function() { return _ChannelListTeam__WEBPACK_IMPORTED_MODULE_13__[\"ChannelListTeam\"]; });\n\n/* harmony import */ var _ChannelPreviewCompact__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ChannelPreviewCompact */ \"./src/components/ChannelPreviewCompact.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChannelPreviewCompact\", function() { return _ChannelPreviewCompact__WEBPACK_IMPORTED_MODULE_14__[\"ChannelPreviewCompact\"]; });\n\n/* harmony import */ var _ChannelPreviewMessenger__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./ChannelPreviewMessenger */ \"./src/components/ChannelPreviewMessenger.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChannelPreviewMessenger\", function() { return _ChannelPreviewMessenger__WEBPACK_IMPORTED_MODULE_15__[\"ChannelPreviewMessenger\"]; });\n\n/* harmony import */ var _LoadMorePaginator__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./LoadMorePaginator */ \"./src/components/LoadMorePaginator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LoadMorePaginator\", function() { return _LoadMorePaginator__WEBPACK_IMPORTED_MODULE_16__[\"LoadMorePaginator\"]; });\n\n/* harmony import */ var _InfiniteScrollPaginator__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./InfiniteScrollPaginator */ \"./src/components/InfiniteScrollPaginator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InfiniteScrollPaginator\", function() { return _InfiniteScrollPaginator__WEBPACK_IMPORTED_MODULE_17__[\"InfiniteScrollPaginator\"]; });\n\n/* harmony import */ var _LoadingIndicator__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./LoadingIndicator */ \"./src/components/LoadingIndicator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LoadingIndicator\", function() { return _LoadingIndicator__WEBPACK_IMPORTED_MODULE_18__[\"LoadingIndicator\"]; });\n\n/* harmony import */ var _MessageCommerce__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./MessageCommerce */ \"./src/components/MessageCommerce.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageCommerce\", function() { return _MessageCommerce__WEBPACK_IMPORTED_MODULE_19__[\"MessageCommerce\"]; });\n\n/* harmony import */ var _MessageLivestream__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./MessageLivestream */ \"./src/components/MessageLivestream.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageLivestream\", function() { return _MessageLivestream__WEBPACK_IMPORTED_MODULE_20__[\"MessageLivestream\"]; });\n\n/* harmony import */ var _MessageTeam__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./MessageTeam */ \"./src/components/MessageTeam.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageTeam\", function() { return _MessageTeam__WEBPACK_IMPORTED_MODULE_21__[\"MessageTeam\"]; });\n\n/* harmony import */ var _MessageSimple__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./MessageSimple */ \"./src/components/MessageSimple.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MessageSimple\", function() { return _MessageSimple__WEBPACK_IMPORTED_MODULE_22__[\"MessageSimple\"]; });\n\n/* harmony import */ var _Thread__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./Thread */ \"./src/components/Thread.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Thread\", function() { return _Thread__WEBPACK_IMPORTED_MODULE_23__[\"Thread\"]; });\n\n/* harmony import */ var _TypingIndicator__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./TypingIndicator */ \"./src/components/TypingIndicator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TypingIndicator\", function() { return _TypingIndicator__WEBPACK_IMPORTED_MODULE_24__[\"TypingIndicator\"]; });\n\n/* harmony import */ var _Window__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./Window */ \"./src/components/Window.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Window\", function() { return _Window__WEBPACK_IMPORTED_MODULE_25__[\"Window\"]; });\n\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../utils */ \"./src/utils.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"emojiSetDef\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"emojiSetDef\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"commonEmoji\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"commonEmoji\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultMinimalEmojis\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"defaultMinimalEmojis\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"emojiData\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"emojiData\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isOnlyEmojis\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"isOnlyEmojis\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isPromise\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"isPromise\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"byDate\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"byDate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"formatArray\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"formatArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"renderText\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"renderText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"generateRandomId\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"generateRandomId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"smartRender\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"smartRender\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MESSAGE_ACTIONS\", function() { return _utils__WEBPACK_IMPORTED_MODULE_26__[\"MESSAGE_ACTIONS\"]; });\n\n/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../context */ \"./src/context.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChatContext\", function() { return _context__WEBPACK_IMPORTED_MODULE_27__[\"ChatContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withChatContext\", function() { return _context__WEBPACK_IMPORTED_MODULE_27__[\"withChatContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ChannelContext\", function() { return _context__WEBPACK_IMPORTED_MODULE_27__[\"ChannelContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"withChannelContext\", function() { return _context__WEBPACK_IMPORTED_MODULE_27__[\"withChannelContext\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceURL=webpack:///./src/components/index.js?"); /***/ }), @@ -12273,11 +12273,11 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) * /*!**********************!*\ !*** ./src/utils.js ***! \**********************/ -/*! exports provided: emojiSetDef, commonEmoji, defaultMinimalEmojis, emojiData, isOnlyEmojis, isPromise, byDate, formatArray, renderText, generateRandomId, smartRender */ +/*! exports provided: emojiSetDef, commonEmoji, defaultMinimalEmojis, emojiData, isOnlyEmojis, isPromise, byDate, formatArray, renderText, generateRandomId, smartRender, MESSAGE_ACTIONS */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"emojiSetDef\", function() { return emojiSetDef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"commonEmoji\", function() { return commonEmoji; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultMinimalEmojis\", function() { return defaultMinimalEmojis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"emojiData\", function() { return emojiData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isOnlyEmojis\", function() { return isOnlyEmojis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isPromise\", function() { return isPromise; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"byDate\", function() { return byDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatArray\", function() { return formatArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderText\", function() { return renderText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"generateRandomId\", function() { return generateRandomId; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"smartRender\", function() { return smartRender; });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var anchorme__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! anchorme */ \"./node_modules/anchorme/dist-node/index.js\");\n/* harmony import */ var anchorme__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(anchorme__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var emoji_regex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! emoji-regex */ \"./node_modules/emoji-regex/index.js\");\n/* harmony import */ var emoji_regex__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(emoji_regex__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react_markdown_with_html__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-markdown/with-html */ \"./node_modules/react-markdown/with-html.js\");\n/* harmony import */ var react_markdown_with_html__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_markdown_with_html__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var lodash_truncate__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/truncate */ \"./node_modules/lodash/truncate.js\");\n/* harmony import */ var lodash_truncate__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_truncate__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var emoji_mart_data_all_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! emoji-mart/data/all.json */ \"./node_modules/emoji-mart/data/all.json\");\nvar emoji_mart_data_all_json__WEBPACK_IMPORTED_MODULE_5___namespace = /*#__PURE__*/__webpack_require__.t(/*! emoji-mart/data/all.json */ \"./node_modules/emoji-mart/data/all.json\", 1);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { keys.push.apply(keys, Object.getOwnPropertySymbols(object)); } if (enumerableOnly) keys = keys.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\nvar emojiSetDef = {\n spriteUrl: 'https://getstream.imgix.net/images/emoji-sprite.png',\n size: 20,\n sheetColumns: 2,\n sheetRows: 3,\n sheetSize: 64\n};\nvar commonEmoji = {\n emoticons: [],\n short_names: [],\n custom: true\n};\nvar defaultMinimalEmojis = [_objectSpread({\n id: 'like',\n name: 'like',\n colons: ':+1:',\n sheet_x: 0,\n sheet_y: 0\n}, commonEmoji, {}, emojiSetDef), _objectSpread({\n id: 'love',\n name: 'love',\n colons: ':heart:',\n sheet_x: 1,\n sheet_y: 2\n}, commonEmoji, {}, emojiSetDef), _objectSpread({\n id: 'haha',\n name: 'haha',\n colons: ':joy:',\n sheet_x: 1,\n sheet_y: 0\n}, commonEmoji, {}, emojiSetDef), _objectSpread({\n id: 'wow',\n name: 'wow',\n colons: ':astonished:',\n sheet_x: 0,\n sheet_y: 2\n}, commonEmoji, {}, emojiSetDef), _objectSpread({\n id: 'sad',\n name: 'sad',\n colons: ':pensive:',\n sheet_x: 0,\n sheet_y: 1\n}, commonEmoji, {}, emojiSetDef), _objectSpread({\n id: 'angry',\n name: 'angry',\n colons: ':angry:',\n sheet_x: 1,\n sheet_y: 1\n}, commonEmoji, {}, emojiSetDef)];\nvar d = Object.assign({}, emoji_mart_data_all_json__WEBPACK_IMPORTED_MODULE_5__);\nd.emojis = {}; // use this only for small lists like in ReactionSelector\n\nvar emojiData = d;\nvar isOnlyEmojis = function isOnlyEmojis(text) {\n if (!text) return false;\n var noEmojis = text.replace(emoji_regex__WEBPACK_IMPORTED_MODULE_2___default()(), '');\n var noSpace = noEmojis.replace(/[\\s\\n]/gm, '');\n return !noSpace;\n};\nvar isPromise = function isPromise(thing) {\n var promise = thing && typeof thing.then === 'function';\n return promise;\n};\nvar byDate = function byDate(a, b) {\n return a.created_at - b.created_at;\n}; // https://stackoverflow.com/a/29234240/7625485\n\nvar formatArray = function formatArray(dict) {\n var arr2 = Object.keys(dict);\n var arr3 = [];\n arr2.forEach(function (item, i) {\n return arr3.push(dict[arr2[i]].user.name || dict[arr2[i]].user.id);\n });\n var outStr = '';\n\n if (arr3.length === 1) {\n outStr = arr3[0] + ' is typing...';\n dict;\n } else if (arr3.length === 2) {\n //joins all with \"and\" but =no commas\n //example: \"bob and sam\"\n outStr = arr3.join(' and ') + ' are typing...';\n } else if (arr3.length > 2) {\n //joins all with commas, but last one gets \", and\" (oxford comma!)\n //example: \"bob, joe, and sam\"\n outStr = arr3.slice(0, -1).join(', ') + ', and ' + arr3.slice(-1) + ' are typing...';\n }\n\n return outStr;\n};\nvar renderText = function renderText(message) {\n // take the @ mentions and turn them into markdown?\n // translate links\n var text = message.text;\n var mentioned_users = message.mentioned_users;\n\n if (!text) {\n return;\n }\n\n var allowed = ['html', 'root', 'text', 'break', 'paragraph', 'emphasis', 'strong', 'link', 'list', 'listItem', 'code', 'inlineCode', 'blockquote'];\n var urls = anchorme__WEBPACK_IMPORTED_MODULE_1___default()(text, {\n list: true\n });\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = urls[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var urlInfo = _step.value;\n var displayLink = lodash_truncate__WEBPACK_IMPORTED_MODULE_4___default()(urlInfo.encoded.replace(/^(www\\.)/, ''), {\n length: 20,\n omission: '...'\n });\n\n var _mkdown = \"[\".concat(displayLink, \"](\").concat(urlInfo.protocol).concat(urlInfo.encoded, \")\");\n\n text = text.replace(urlInfo.raw, _mkdown);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n var newText = text;\n\n if (mentioned_users && mentioned_users.length) {\n for (var i = 0; i < mentioned_users.length; i++) {\n var username = mentioned_users[i].name || mentioned_users[i].id;\n var mkdown = \"**@\".concat(username, \"**\");\n var re = new RegExp(\"@\".concat(username), 'g');\n newText = newText.replace(re, mkdown);\n }\n }\n\n return react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(react_markdown_with_html__WEBPACK_IMPORTED_MODULE_3___default.a, {\n allowedTypes: allowed,\n source: newText,\n linkTarget: \"_blank\",\n plugins: [],\n escapeHtml: true,\n skipHtml: false\n });\n}; // https://stackoverflow.com/a/6860916/2570866\n\nfunction generateRandomId() {\n // prettier-ignore\n return S4() + S4() + \"-\" + S4() + \"-\" + S4() + \"-\" + S4() + \"-\" + S4() + S4() + S4();\n}\n\nfunction S4() {\n return ((1 + Math.random()) * 0x10000 | 0).toString(16).substring(1);\n}\n\nvar smartRender = function smartRender(ElementOrComponentOrLiteral, props, fallback) {\n if (ElementOrComponentOrLiteral === undefined) {\n ElementOrComponentOrLiteral = fallback;\n }\n\n if (react__WEBPACK_IMPORTED_MODULE_6___default.a.isValidElement(ElementOrComponentOrLiteral)) {\n // Flow cast through any, to make flow believe it's a React.Element\n var element = ElementOrComponentOrLiteral;\n return element;\n } // Flow cast through any to remove React.Element after previous check\n\n\n var ComponentOrLiteral = ElementOrComponentOrLiteral;\n\n if (typeof ComponentOrLiteral === 'string' || typeof ComponentOrLiteral === 'number' || typeof ComponentOrLiteral === 'boolean' || ComponentOrLiteral == null) {\n return ComponentOrLiteral;\n }\n\n return react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(ComponentOrLiteral, props);\n};\n\n//# sourceURL=webpack:///./src/utils.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"emojiSetDef\", function() { return emojiSetDef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"commonEmoji\", function() { return commonEmoji; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultMinimalEmojis\", function() { return defaultMinimalEmojis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"emojiData\", function() { return emojiData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isOnlyEmojis\", function() { return isOnlyEmojis; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isPromise\", function() { return isPromise; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"byDate\", function() { return byDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatArray\", function() { return formatArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"renderText\", function() { return renderText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"generateRandomId\", function() { return generateRandomId; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"smartRender\", function() { return smartRender; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MESSAGE_ACTIONS\", function() { return MESSAGE_ACTIONS; });\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/defineProperty */ \"./node_modules/@babel/runtime/helpers/defineProperty.js\");\n/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var anchorme__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! anchorme */ \"./node_modules/anchorme/dist-node/index.js\");\n/* harmony import */ var anchorme__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(anchorme__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var emoji_regex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! emoji-regex */ \"./node_modules/emoji-regex/index.js\");\n/* harmony import */ var emoji_regex__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(emoji_regex__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var react_markdown_with_html__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-markdown/with-html */ \"./node_modules/react-markdown/with-html.js\");\n/* harmony import */ var react_markdown_with_html__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_markdown_with_html__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var lodash_truncate__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! lodash/truncate */ \"./node_modules/lodash/truncate.js\");\n/* harmony import */ var lodash_truncate__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash_truncate__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var emoji_mart_data_all_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! emoji-mart/data/all.json */ \"./node_modules/emoji-mart/data/all.json\");\nvar emoji_mart_data_all_json__WEBPACK_IMPORTED_MODULE_5___namespace = /*#__PURE__*/__webpack_require__.t(/*! emoji-mart/data/all.json */ \"./node_modules/emoji-mart/data/all.json\", 1);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__);\n\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { keys.push.apply(keys, Object.getOwnPropertySymbols(object)); } if (enumerableOnly) keys = keys.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\n\n\n\n\nvar emojiSetDef = {\n spriteUrl: 'https://getstream.imgix.net/images/emoji-sprite.png',\n size: 20,\n sheetColumns: 2,\n sheetRows: 3,\n sheetSize: 64\n};\nvar commonEmoji = {\n emoticons: [],\n short_names: [],\n custom: true\n};\nvar defaultMinimalEmojis = [_objectSpread({\n id: 'like',\n name: 'like',\n colons: ':+1:',\n sheet_x: 0,\n sheet_y: 0\n}, commonEmoji, {}, emojiSetDef), _objectSpread({\n id: 'love',\n name: 'love',\n colons: ':heart:',\n sheet_x: 1,\n sheet_y: 2\n}, commonEmoji, {}, emojiSetDef), _objectSpread({\n id: 'haha',\n name: 'haha',\n colons: ':joy:',\n sheet_x: 1,\n sheet_y: 0\n}, commonEmoji, {}, emojiSetDef), _objectSpread({\n id: 'wow',\n name: 'wow',\n colons: ':astonished:',\n sheet_x: 0,\n sheet_y: 2\n}, commonEmoji, {}, emojiSetDef), _objectSpread({\n id: 'sad',\n name: 'sad',\n colons: ':pensive:',\n sheet_x: 0,\n sheet_y: 1\n}, commonEmoji, {}, emojiSetDef), _objectSpread({\n id: 'angry',\n name: 'angry',\n colons: ':angry:',\n sheet_x: 1,\n sheet_y: 1\n}, commonEmoji, {}, emojiSetDef)];\nvar d = Object.assign({}, emoji_mart_data_all_json__WEBPACK_IMPORTED_MODULE_5__);\nd.emojis = {}; // use this only for small lists like in ReactionSelector\n\nvar emojiData = d;\nvar isOnlyEmojis = function isOnlyEmojis(text) {\n if (!text) return false;\n var noEmojis = text.replace(emoji_regex__WEBPACK_IMPORTED_MODULE_2___default()(), '');\n var noSpace = noEmojis.replace(/[\\s\\n]/gm, '');\n return !noSpace;\n};\nvar isPromise = function isPromise(thing) {\n var promise = thing && typeof thing.then === 'function';\n return promise;\n};\nvar byDate = function byDate(a, b) {\n return a.created_at - b.created_at;\n}; // https://stackoverflow.com/a/29234240/7625485\n\nvar formatArray = function formatArray(dict) {\n var arr2 = Object.keys(dict);\n var arr3 = [];\n arr2.forEach(function (item, i) {\n return arr3.push(dict[arr2[i]].user.name || dict[arr2[i]].user.id);\n });\n var outStr = '';\n\n if (arr3.length === 1) {\n outStr = arr3[0] + ' is typing...';\n dict;\n } else if (arr3.length === 2) {\n //joins all with \"and\" but =no commas\n //example: \"bob and sam\"\n outStr = arr3.join(' and ') + ' are typing...';\n } else if (arr3.length > 2) {\n //joins all with commas, but last one gets \", and\" (oxford comma!)\n //example: \"bob, joe, and sam\"\n outStr = arr3.slice(0, -1).join(', ') + ', and ' + arr3.slice(-1) + ' are typing...';\n }\n\n return outStr;\n};\nvar renderText = function renderText(message) {\n // take the @ mentions and turn them into markdown?\n // translate links\n var text = message.text;\n var mentioned_users = message.mentioned_users;\n\n if (!text) {\n return;\n }\n\n var allowed = ['html', 'root', 'text', 'break', 'paragraph', 'emphasis', 'strong', 'link', 'list', 'listItem', 'code', 'inlineCode', 'blockquote'];\n var urls = anchorme__WEBPACK_IMPORTED_MODULE_1___default()(text, {\n list: true\n });\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = urls[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var urlInfo = _step.value;\n var displayLink = lodash_truncate__WEBPACK_IMPORTED_MODULE_4___default()(urlInfo.encoded.replace(/^(www\\.)/, ''), {\n length: 20,\n omission: '...'\n });\n\n var _mkdown = \"[\".concat(displayLink, \"](\").concat(urlInfo.protocol).concat(urlInfo.encoded, \")\");\n\n text = text.replace(urlInfo.raw, _mkdown);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n var newText = text;\n\n if (mentioned_users && mentioned_users.length) {\n for (var i = 0; i < mentioned_users.length; i++) {\n var username = mentioned_users[i].name || mentioned_users[i].id;\n var mkdown = \"**@\".concat(username, \"**\");\n var re = new RegExp(\"@\".concat(username), 'g');\n newText = newText.replace(re, mkdown);\n }\n }\n\n return react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(react_markdown_with_html__WEBPACK_IMPORTED_MODULE_3___default.a, {\n allowedTypes: allowed,\n source: newText,\n linkTarget: \"_blank\",\n plugins: [],\n escapeHtml: true,\n skipHtml: false\n });\n}; // https://stackoverflow.com/a/6860916/2570866\n\nfunction generateRandomId() {\n // prettier-ignore\n return S4() + S4() + \"-\" + S4() + \"-\" + S4() + \"-\" + S4() + \"-\" + S4() + S4() + S4();\n}\n\nfunction S4() {\n return ((1 + Math.random()) * 0x10000 | 0).toString(16).substring(1);\n}\n\nvar smartRender = function smartRender(ElementOrComponentOrLiteral, props, fallback) {\n if (ElementOrComponentOrLiteral === undefined) {\n ElementOrComponentOrLiteral = fallback;\n }\n\n if (react__WEBPACK_IMPORTED_MODULE_6___default.a.isValidElement(ElementOrComponentOrLiteral)) {\n // Flow cast through any, to make flow believe it's a React.Element\n var element = ElementOrComponentOrLiteral;\n return element;\n } // Flow cast through any to remove React.Element after previous check\n\n\n var ComponentOrLiteral = ElementOrComponentOrLiteral;\n\n if (typeof ComponentOrLiteral === 'string' || typeof ComponentOrLiteral === 'number' || typeof ComponentOrLiteral === 'boolean' || ComponentOrLiteral == null) {\n return ComponentOrLiteral;\n }\n\n return react__WEBPACK_IMPORTED_MODULE_6___default.a.createElement(ComponentOrLiteral, props);\n};\nvar MESSAGE_ACTIONS = {\n edit: 'edit',\n delete: 'delete',\n flag: 'flag',\n mute: 'mute'\n};\n\n//# sourceURL=webpack:///./src/utils.js?"); /***/ }), @@ -12299,7 +12299,7 @@ eval("\nvar content = __webpack_require__(/*! !./node_modules/postcss-loader/src /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -eval("__webpack_require__(/*! /Users/vishal/projects/stream-chat-react/dist/css/index.css */\"./dist/css/index.css\");\n__webpack_require__(/*! /Users/vishal/projects/stream-chat-react/styleguidist.css */\"./styleguidist.css\");\nmodule.exports = __webpack_require__(/*! /Users/vishal/projects/stream-chat-react/node_modules/react-styleguidist/lib/index */\"./node_modules/react-styleguidist/lib/index.js\");\n\n\n//# sourceURL=webpack:///multi_./dist/css/index.css_./styleguidist.css_./node_modules/react-styleguidist/lib/index?"); +eval("__webpack_require__(/*! /Users/vishalnarkhede/Projects/stream-chat-react/dist/css/index.css */\"./dist/css/index.css\");\n__webpack_require__(/*! /Users/vishalnarkhede/Projects/stream-chat-react/styleguidist.css */\"./styleguidist.css\");\nmodule.exports = __webpack_require__(/*! /Users/vishalnarkhede/Projects/stream-chat-react/node_modules/react-styleguidist/lib/index */\"./node_modules/react-styleguidist/lib/index.js\");\n\n\n//# sourceURL=webpack:///multi_./dist/css/index.css_./styleguidist.css_./node_modules/react-styleguidist/lib/index?"); /***/ }) diff --git a/docs/index.html b/docs/index.html index 8b5a349de1..c22b63802a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1 @@ -React Chat - Docs
\ No newline at end of file +React Chat - Docs
\ No newline at end of file diff --git a/package.json b/package.json index a6c7f972dc..d766df6f4c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "stream-chat-react", - "version": "0.6.13", + "version": "0.6.14", "description": "React components to create chat conversations or livestream style chat", "author": "GetStream", "homepage": "https://getstream.io/chat/",