UNPKG

botframework-webchat-component

Version:
58 lines (56 loc) 15.4 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 _botframeworkWebchatApi = require("botframework-webchat-api"); var _classnames = _interopRequireDefault(require("classnames")); var _propTypes = _interopRequireDefault(require("prop-types")); var _react = _interopRequireWildcard(require("react")); var _SendStatus = require("../../types/internal/SendStatus"); var _SendFailedRetry = _interopRequireDefault(require("./private/SendFailedRetry")); var _useFocus = _interopRequireDefault(require("../../hooks/useFocus")); var _useStyleSet3 = _interopRequireDefault(require("../../hooks/useStyleSet")); 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 useLocalizer = _botframeworkWebchatApi.hooks.useLocalizer, usePostActivity = _botframeworkWebchatApi.hooks.usePostActivity; var SendStatus = function SendStatus(_ref) { var activity = _ref.activity, sendStatus = _ref.sendStatus; var _useStyleSet = (0, _useStyleSet3.default)(), _useStyleSet2 = _slicedToArray(_useStyleSet, 1), sendStatusStyleSet = _useStyleSet2[0].sendStatus; var focus = (0, _useFocus.default)(); var localize = useLocalizer(); var postActivity = usePostActivity(); var handleRetryClick = (0, _react.useCallback)(function () { postActivity(activity); // After clicking on "retry", the button will be gone and focus will be lost (back to document.body) // We want to make sure the user stay inside Web Chat focus('sendBoxWithoutKeyboard'); }, [activity, focus, postActivity]); var sendingText = localize('ACTIVITY_STATUS_SEND_STATUS_ALT_SENDING'); return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", { className: (0, _classnames.default)('webchat__activity-status', 'webchat__activity-status--sending', sendStatusStyleSet) }, sendStatus === _SendStatus.SENDING ? sendingText : sendStatus === _SendStatus.SEND_FAILED ? /*#__PURE__*/_react.default.createElement(_SendFailedRetry.default, { onRetryClick: handleRetryClick }) : false)); }; SendStatus.propTypes = { activity: _propTypes.default.any.isRequired, // PropTypes cannot fully capture TypeScript types. // @ts-ignore sendStatus: _propTypes.default.oneOf([_SendStatus.SENDING, _SendStatus.SEND_FAILED, _SendStatus.SENT]).isRequired }; var _default = SendStatus; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYm90ZnJhbWV3b3JrV2ViY2hhdEFwaSIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcHJvcFR5cGVzIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfU2VuZFN0YXR1cyIsIl9TZW5kRmFpbGVkUmV0cnkiLCJfdXNlRm9jdXMiLCJfdXNlU3R5bGVTZXQzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJfc2xpY2VkVG9BcnJheSIsImFyciIsImkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiVHlwZUVycm9yIiwibyIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwibiIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuIiwibGVuZ3RoIiwiYXJyMiIsIl9pIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJfYXJyIiwiX24iLCJfZCIsIl9zIiwiX2UiLCJuZXh0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImVyciIsImlzQXJyYXkiLCJ1c2VMb2NhbGl6ZXIiLCJob29rcyIsInVzZVBvc3RBY3Rpdml0eSIsIlNlbmRTdGF0dXMiLCJfcmVmIiwiYWN0aXZpdHkiLCJzZW5kU3RhdHVzIiwiX3VzZVN0eWxlU2V0IiwidXNlU3R5bGVTZXQiLCJfdXNlU3R5bGVTZXQyIiwic2VuZFN0YXR1c1N0eWxlU2V0IiwiZm9jdXMiLCJ1c2VGb2N1cyIsImxvY2FsaXplIiwicG9zdEFjdGl2aXR5IiwiaGFuZGxlUmV0cnlDbGljayIsInVzZUNhbGxiYWNrIiwic2VuZGluZ1RleHQiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJjbGFzc05hbWUiLCJjbGFzc05hbWVzIiwiU0VORElORyIsIlNFTkRfRkFJTEVEIiwib25SZXRyeUNsaWNrIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiYW55IiwiaXNSZXF1aXJlZCIsIm9uZU9mIiwiU0VOVCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0FjdGl2aXR5U3RhdHVzL1NlbmRTdGF0dXMvU2VuZFN0YXR1cy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7IEZDLCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHsgV2ViQ2hhdEFjdGl2aXR5IH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtY29yZSc7XG5cbmltcG9ydCB7IFNFTkRJTkcsIFNFTkRfRkFJTEVELCBTRU5UIH0gZnJvbSAnLi4vLi4vdHlwZXMvaW50ZXJuYWwvU2VuZFN0YXR1cyc7XG5pbXBvcnQgU2VuZEZhaWxlZFJldHJ5IGZyb20gJy4vcHJpdmF0ZS9TZW5kRmFpbGVkUmV0cnknO1xuaW1wb3J0IHVzZUZvY3VzIGZyb20gJy4uLy4uL2hvb2tzL3VzZUZvY3VzJztcbmltcG9ydCB1c2VTdHlsZVNldCBmcm9tICcuLi8uLi9ob29rcy91c2VTdHlsZVNldCc7XG5cbmltcG9ydCB0eXBlIHsgU2VuZFN0YXR1cyBhcyBTZW5kU3RhdHVzVHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzL2ludGVybmFsL1NlbmRTdGF0dXMnO1xuXG5jb25zdCB7IHVzZUxvY2FsaXplciwgdXNlUG9zdEFjdGl2aXR5IH0gPSBob29rcztcblxudHlwZSBTZW5kU3RhdHVzUHJvcHMgPSB7XG4gIGFjdGl2aXR5OiBXZWJDaGF0QWN0aXZpdHk7XG4gIHNlbmRTdGF0dXM6IFNlbmRTdGF0dXNUeXBlO1xufTtcblxuY29uc3QgU2VuZFN0YXR1czogRkM8U2VuZFN0YXR1c1Byb3BzPiA9ICh7IGFjdGl2aXR5LCBzZW5kU3RhdHVzIH0pID0+IHtcbiAgY29uc3QgW3sgc2VuZFN0YXR1czogc2VuZFN0YXR1c1N0eWxlU2V0IH1dID0gdXNlU3R5bGVTZXQoKTtcbiAgY29uc3QgZm9jdXMgPSB1c2VGb2N1cygpO1xuICBjb25zdCBsb2NhbGl6ZSA9IHVzZUxvY2FsaXplcigpO1xuICBjb25zdCBwb3N0QWN0aXZpdHkgPSB1c2VQb3N0QWN0aXZpdHkoKTtcblxuICBjb25zdCBoYW5kbGVSZXRyeUNsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHBvc3RBY3Rpdml0eShhY3Rpdml0eSk7XG5cbiAgICAvLyBBZnRlciBjbGlja2luZyBvbiBcInJldHJ5XCIsIHRoZSBidXR0b24gd2lsbCBiZSBnb25lIGFuZCBmb2N1cyB3aWxsIGJlIGxvc3QgKGJhY2sgdG8gZG9jdW1lbnQuYm9keSlcbiAgICAvLyBXZSB3YW50IHRvIG1ha2Ugc3VyZSB0aGUgdXNlciBzdGF5IGluc2lkZSBXZWIgQ2hhdFxuICAgIGZvY3VzKCdzZW5kQm94V2l0aG91dEtleWJvYXJkJyk7XG4gIH0sIFthY3Rpdml0eSwgZm9jdXMsIHBvc3RBY3Rpdml0eV0pO1xuICBjb25zdCBzZW5kaW5nVGV4dCA9IGxvY2FsaXplKCdBQ1RJVklUWV9TVEFUVVNfU0VORF9TVEFUVVNfQUxUX1NFTkRJTkcnKTtcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT17Y2xhc3NOYW1lcygnd2ViY2hhdF9fYWN0aXZpdHktc3RhdHVzJywgJ3dlYmNoYXRfX2FjdGl2aXR5LXN0YXR1cy0tc2VuZGluZycsIHNlbmRTdGF0dXNTdHlsZVNldCl9PlxuICAgICAgICB7c2VuZFN0YXR1cyA9PT0gU0VORElORyA/IChcbiAgICAgICAgICBzZW5kaW5nVGV4dFxuICAgICAgICApIDogc2VuZFN0YXR1cyA9PT0gU0VORF9GQUlMRUQgPyAoXG4gICAgICAgICAgPFNlbmRGYWlsZWRSZXRyeSBvblJldHJ5Q2xpY2s9e2hhbmRsZVJldHJ5Q2xpY2t9IC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgZmFsc2VcbiAgICAgICAgKX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApO1xufTtcblxuU2VuZFN0YXR1cy5wcm9wVHlwZXMgPSB7XG4gIGFjdGl2aXR5OiBQcm9wVHlwZXMuYW55LmlzUmVxdWlyZWQsXG4gIC8vIFByb3BUeXBlcyBjYW5ub3QgZnVsbHkgY2FwdHVyZSBUeXBlU2NyaXB0IHR5cGVzLlxuICAvLyBAdHMtaWdub3JlXG4gIHNlbmRTdGF0dXM6IFByb3BUeXBlcy5vbmVPZihbU0VORElORywgU0VORF9GQUlMRUQsIFNFTlRdKS5pc1JlcXVpcmVkXG59O1xuXG5leHBvcnQgZGVmYXVsdCBTZW5kU3RhdHVzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsdUJBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUwsT0FBQTtBQUdBLElBQUFNLFdBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFP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