UNPKG

botframework-webchat-component

Version:
105 lines (104 loc) 21.9 kB
"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _botframeworkWebchatCore = require("botframework-webchat-core"); var _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireWildcard(require("react")); var _useStyleSet3 = _interopRequireDefault(require("../hooks/useStyleSet")); var _dereferenceBlankNodes = _interopRequireDefault(require("../Utils/JSONLinkedData/dereferenceBlankNodes")); var _Feedback = _interopRequireDefault(require("./private/Feedback/Feedback")); var _Originator = _interopRequireDefault(require("./private/Originator")); var _Slotted = _interopRequireDefault(require("./Slotted")); var _Timestamp = _interopRequireDefault(require("./Timestamp")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } var warnRootLevelThings = (0, _botframeworkWebchatCore.warnOnce)('Root-level things are being deprecated, please relate all things to `entities[@id=""]` instead. This feature will be removed in 2025-03-06.'); var OthersActivityStatus = /*#__PURE__*/(0, _react.memo)(function (_ref) { var activity = _ref.activity; var _useStyleSet = (0, _useStyleSet3.default)(), _useStyleSet2 = _slicedToArray(_useStyleSet, 1), sendStatus = _useStyleSet2[0].sendStatus; var timestamp = activity.timestamp; var graph = (0, _react.useMemo)(function () { return (0, _dereferenceBlankNodes.default)(activity.entities || []); }, [activity.entities]); var messageThing = (0, _react.useMemo)(function () { return (0, _botframeworkWebchatCore.getOrgSchemaMessage)(graph); }, [graph]); var claimInterpreter = (0, _react.useMemo)(function () { try { if (messageThing) { var _parseClaim; return (_parseClaim = (0, _botframeworkWebchatCore.parseClaim)(((messageThing === null || messageThing === void 0 ? void 0 : messageThing.citation) || [])[0])) === null || _parseClaim === void 0 ? void 0 : _parseClaim.claimInterpreter; } var _graph$filter$map = graph.filter(function (_ref2) { var type = _ref2.type; return type === 'https://schema.org/Claim'; }).map(_botframeworkWebchatCore.parseClaim), _graph$filter$map2 = _slicedToArray(_graph$filter$map, 1), firstClaim = _graph$filter$map2[0]; if (firstClaim) { warnRootLevelThings(); return firstClaim === null || firstClaim === void 0 ? void 0 : firstClaim.claimInterpreter; } var replyAction = (0, _botframeworkWebchatCore.parseAction)(graph.find(function (_ref3) { var type = _ref3.type; return type === 'https://schema.org/ReplyAction'; })); if (replyAction) { warnRootLevelThings(); return replyAction === null || replyAction === void 0 ? void 0 : replyAction.provider; } } catch (_unused) { // Intentionally left blank. } }, [graph, messageThing]); var feedbackActions = (0, _react.useMemo)(function () { try { var reactActions = ((messageThing === null || messageThing === void 0 ? void 0 : messageThing.potentialAction) || []).filter(function (_ref4) { var type = _ref4['@type']; return type === 'LikeAction' || type === 'DislikeAction'; }); if (reactActions.length) { return Object.freeze(new Set(reactActions)); } var voteActions = graph.filter(function (_ref5) { var type = _ref5.type; return type === 'https://schema.org/VoteAction'; }).map(_botframeworkWebchatCore.parseAction); if (voteActions.length) { return Object.freeze(new Set(voteActions)); } } catch (_unused2) { // Intentionally left blank. } }, [graph, messageThing]); return /*#__PURE__*/_react.default.createElement(_Slotted.default, { className: (0, _classnames.default)('webchat__activity-status', sendStatus + '') }, (0, _react.useMemo)(function () { return [timestamp && /*#__PURE__*/_react.default.createElement(_Timestamp.default, { key: "timestamp", timestamp: timestamp }), claimInterpreter && /*#__PURE__*/_react.default.createElement(_Originator.default, { key: "originator", project: claimInterpreter }), (feedbackActions === null || feedbackActions === void 0 ? void 0 : feedbackActions.size) && /*#__PURE__*/_react.default.createElement(_Feedback.default, { actions: feedbackActions, key: "feedback" })].filter(Boolean); }, [claimInterpreter, timestamp, feedbackActions])); }); OthersActivityStatus.displayName = 'OthersActivityStatus'; var _default = OthersActivityStatus; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYm90ZnJhbWV3b3JrV2ViY2hhdENvcmUiLCJyZXF1aXJlIiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfdXNlU3R5bGVTZXQzIiwiX2RlcmVmZXJlbmNlQmxhbmtOb2RlcyIsIl9GZWVkYmFjayIsIl9PcmlnaW5hdG9yIiwiX1Nsb3R0ZWQiLCJfVGltZXN0YW1wIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJfc2xpY2VkVG9BcnJheSIsImFyciIsImkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiVHlwZUVycm9yIiwibyIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwibiIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuIiwibGVuZ3RoIiwiYXJyMiIsIl9pIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJfYXJyIiwiX24iLCJfZCIsIl9zIiwiX2UiLCJuZXh0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImVyciIsImlzQXJyYXkiLCJ3YXJuUm9vdExldmVsVGhpbmdzIiwid2Fybk9uY2UiLCJPdGhlcnNBY3Rpdml0eVN0YXR1cyIsIm1lbW8iLCJfcmVmIiwiYWN0aXZpdHkiLCJfdXNlU3R5bGVTZXQiLCJ1c2VTdHlsZVNldCIsIl91c2VTdHlsZVNldDIiLCJzZW5kU3RhdHVzIiwidGltZXN0YW1wIiwiZ3JhcGgiLCJ1c2VNZW1vIiwiZGVyZWZlcmVuY2VCbGFua05vZGVzIiwiZW50aXRpZXMiLCJtZXNzYWdlVGhpbmciLCJnZXRPcmdTY2hlbWFNZXNzYWdlIiwiY2xhaW1JbnRlcnByZXRlciIsIl9wYXJzZUNsYWltIiwicGFyc2VDbGFpbSIsImNpdGF0aW9uIiwiX2dyYXBoJGZpbHRlciRtYXAiLCJmaWx0ZXIiLCJfcmVmMiIsInR5cGUiLCJtYXAiLCJfZ3JhcGgkZmlsdGVyJG1hcDIiLCJmaXJzdENsYWltIiwicmVwbHlBY3Rpb24iLCJwYXJzZUFjdGlvbiIsImZpbmQiLCJfcmVmMyIsInByb3ZpZGVyIiwiX3VudXNlZCIsImZlZWRiYWNrQWN0aW9ucyIsInJlYWN0QWN0aW9ucyIsInBvdGVudGlhbEFjdGlvbiIsIl9yZWY0IiwiZnJlZXplIiwiU2V0Iiwidm90ZUFjdGlvbnMiLCJfcmVmNSIsIl91bnVzZWQyIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImNsYXNzTmFtZXMiLCJwcm9qZWN0Iiwic2l6ZSIsImFjdGlvbnMiLCJCb29sZWFuIiwiZGlzcGxheU5hbWUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BY3Rpdml0eVN0YXR1cy9PdGhlcnNBY3Rpdml0eVN0YXR1cy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZ2V0T3JnU2NoZW1hTWVzc2FnZSxcbiAgT3JnU2NoZW1hQWN0aW9uLFxuICBPcmdTY2hlbWFQcm9qZWN0LFxuICBwYXJzZUFjdGlvbixcbiAgcGFyc2VDbGFpbSxcbiAgd2Fybk9uY2UsXG4gIHR5cGUgV2ViQ2hhdEFjdGl2aXR5XG59IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUmVhY3QsIHsgbWVtbywgdXNlTWVtbywgdHlwZSBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB1c2VTdHlsZVNldCBmcm9tICcuLi9ob29rcy91c2VTdHlsZVNldCc7XG5pbXBvcnQgZGVyZWZlcmVuY2VCbGFua05vZGVzIGZyb20gJy4uL1V0aWxzL0pTT05MaW5rZWREYXRhL2RlcmVmZXJlbmNlQmxhbmtOb2Rlcyc7XG5pbXBvcnQgRmVlZGJhY2sgZnJvbSAnLi9wcml2YXRlL0ZlZWRiYWNrL0ZlZWRiYWNrJztcbmltcG9ydCBPcmlnaW5hdG9yIGZyb20gJy4vcHJpdmF0ZS9PcmlnaW5hdG9yJztcbmltcG9ydCBTbG90dGVkIGZyb20gJy4vU2xvdHRlZCc7XG5pbXBvcnQgVGltZXN0YW1wIGZyb20gJy4vVGltZXN0YW1wJztcblxudHlwZSBQcm9wcyA9IFJlYWRvbmx5PHsgYWN0aXZpdHk6IFdlYkNoYXRBY3Rpdml0eSB9PjtcblxuY29uc3Qgd2FyblJvb3RMZXZlbFRoaW5ncyA9IHdhcm5PbmNlKFxuICAnUm9vdC1sZXZlbCB0aGluZ3MgYXJlIGJlaW5nIGRlcHJlY2F0ZWQsIHBsZWFzZSByZWxhdGUgYWxsIHRoaW5ncyB0byBgZW50aXRpZXNbQGlkPVwiXCJdYCBpbnN0ZWFkLiBUaGlzIGZlYXR1cmUgd2lsbCBiZSByZW1vdmVkIGluIDIwMjUtMDMtMDYuJ1xuKTtcblxuY29uc3QgT3RoZXJzQWN0aXZpdHlTdGF0dXMgPSBtZW1vKCh7IGFjdGl2aXR5IH06IFByb3BzKSA9PiB7XG4gIGNvbnN0IFt7IHNlbmRTdGF0dXMgfV0gPSB1c2VTdHlsZVNldCgpO1xuICBjb25zdCB7IHRpbWVzdGFtcCB9ID0gYWN0aXZpdHk7XG4gIGNvbnN0IGdyYXBoID0gdXNlTWVtbygoKSA9PiBkZXJlZmVyZW5jZUJsYW5rTm9kZXMoYWN0aXZpdHkuZW50aXRpZXMgfHwgW10pLCBbYWN0aXZpdHkuZW50aXRpZXNdKTtcblxuICBjb25zdCBtZXNzYWdlVGhpbmcgPSB1c2VNZW1vKCgpID0+IGdldE9yZ1NjaGVtYU1lc3NhZ2UoZ3JhcGgpLCBbZ3JhcGhdKTtcblxuICBjb25zdCBjbGFpbUludGVycHJldGVyID0gdXNlTWVtbzxPcmdTY2hlbWFQcm9qZWN0IHwgdW5kZWZpbmVkPigoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChtZXNzYWdlVGhpbmcpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlQ2xhaW0oKG1lc3NhZ2VUaGluZz8uY2l0YXRpb24gfHwgW10pWzBdKT8uY2xhaW1JbnRlcnByZXRlcjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgW2ZpcnN0Q2xhaW1dID0gZ3JhcGguZmlsdGVyKCh7IHR5cGUgfSkgPT4gdHlwZSA9PT0gJ2h0dHBzOi8vc2NoZW1hLm9yZy9DbGFpbScpLm1hcChwYXJzZUNsYWltKTtcblxuICAgICAgaWYgKGZpcnN0Q2xhaW0pIHtcbiAgICAgICAgd2FyblJvb3RMZXZlbFRoaW5ncygpO1xuXG4gICAgICAgIHJldHVybiBmaXJzdENsYWltPy5jbGFpbUludGVycHJldGVyO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXBseUFjdGlvbiA9IHBhcnNlQWN0aW9uKGdyYXBoLmZpbmQoKHsgdHlwZSB9KSA9PiB0eXBlID09PSAnaHR0cHM6Ly9zY2hlbWEub3JnL1JlcGx5QWN0aW9uJykpO1xuXG4gICAgICBpZiAocmVwbHlBY3Rpb24pIHtcbiAgICAgICAgd2FyblJvb3RMZXZlbFRoaW5ncygpO1xuXG4gICAgICAgIHJldHVybiByZXBseUFjdGlvbj8ucHJvdmlkZXI7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBJbnRlbnRpb25hbGx5IGxlZnQgYmxhbmsuXG4gICAgfVxuICB9LCBbZ3JhcGgsIG1lc3NhZ2VUaGluZ10pO1xuXG4gIGNvbnN0IGZlZWRiYWNrQWN0aW9ucyA9IHVzZU1lbW88UmVhZG9ubHlTZXQ8T3JnU2NoZW1hQWN0aW9uPiB8IHVuZGVmaW5lZD4oKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZWFjdEFjdGlvbnMgPSAobWVzc2FnZVRoaW5nPy5wb3RlbnRpYWxBY3Rpb24gfHwgW10pLmZpbHRlcihcbiAgICAgICAgKHsgJ0B0eXBlJzogdHlwZSB9KSA9PiB0eXBlID09PSAnTGlrZUFjdGlvbicgfHwgdHlwZSA9PT0gJ0Rpc2xpa2VBY3Rpb24nXG4gICAgICApO1xuXG4gICAgICBpZiAocmVhY3RBY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmZyZWV6ZShuZXcgU2V0KHJlYWN0QWN0aW9ucykpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB2b3RlQWN0aW9ucyA9IGdyYXBoLmZpbHRlcigoeyB0eXBlIH0pID0+IHR5cGUgPT09ICdodHRwczovL3NjaGVtYS5vcmcvVm90ZUFjdGlvbicpLm1hcChwYXJzZUFjdGlvbik7XG5cbiAgICAgIGlmICh2b3RlQWN0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5mcmVlemUobmV3IFNldCh2b3RlQWN0aW9ucykpO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gSW50ZW50aW9uYWxseSBsZWZ0IGJsYW5rLlxuICAgIH1cbiAgfSwgW2dyYXBoLCBtZXNzYWdlVGhpbmddKTtcblxuICByZXR1cm4gKFxuICAgIDxTbG90dGVkIGNsYXNzTmFtZT17Y2xhc3NOYW1lcygnd2ViY2hhdF9fYWN0aXZpdHktc3RhdHVzJywgc2VuZFN0YXR1cyArICcnKX0+XG4gICAgICB7dXNlTWVtbzxSZWFjdE5vZGVbXT4oXG4gICAgICAgICgpID0+XG4gICAgICAgICAgW1xuICAgICAgICAgICAgdGltZXN0YW1wICYmIDxUaW1lc3RhbXAga2V5PVwidGltZXN0YW1wXCIgdGltZXN0YW1wPXt0aW1lc3RhbXB9IC8+LFxuICAgICAgICAgICAgY2xhaW1JbnRlcnByZXRlciAmJiA8T3JpZ2luYXRvciBrZXk9XCJvcmlnaW5hdG9yXCIgcHJvamVjdD17Y2xhaW1JbnRlcnByZXRlcn0gLz4sXG4gICAgICAgICAgICBmZWVkYmFja0FjdGlvbnM/LnNpemUgJiYgPEZlZWRiYWNrIGFjdGlvbnM9e2ZlZWRiYWNrQWN0aW9uc30ga2V5PVwiZmVlZGJhY2tcIiAvPlxuICAgICAgICAgIF0uZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICBbY2xhaW1JbnRlcnByZXRlciwgdGltZXN0YW1wLCBmZWVkYmFja0FjdGlvbnNdXG4gICAgICApfVxuICAgIDwvU2xvdHRlZD5cbiAgKTtcbn0pO1xuXG5PdGhlcnNBY3Rpdml0eVN0YXR1cy5kaXNwbGF5TmFtZSA9ICdPdGhlcnNBY3Rpdml0eVN0YXR1cyc7XG5cbmV4cG9ydCBkZWZhdWx0IE90aGVyc0FjdGl2aXR5U3RhdHVzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsd0JBQUEsR0FBQUMsT0FBQTtBQVNBLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUosT0FBQTtBQUVBLElBQUFLLGFBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFNLHNCQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxTQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFOLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUyxRQUFBLEdBQUFQLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBVSxVQUFBLEdBQUFSLHNCQUFBLENBQUFGLE9BQUE7QUFBb0MsU0FBQVcseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFSLHdCQUFBWSxHQUFBLEVB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