botframework-webchat-component
Version:
React component of botframework-webchat
106 lines (77 loc) • 13.2 kB
JavaScript
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _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 _ScreenReaderText = _interopRequireDefault(require("../ScreenReaderText"));
var _SpinnerAnimation = _interopRequireDefault(require("./Assets/SpinnerAnimation"));
var _useForceRender = _interopRequireDefault(require("../hooks/internal/useForceRender"));
var _useStyleSet3 = _interopRequireDefault(require("../hooks/useStyleSet"));
var _useTimer = _interopRequireDefault(require("../hooks/internal/useTimer"));
var _WarningNotificationIcon = _interopRequireDefault(require("./Assets/WarningNotificationIcon"));
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (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) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var useDirection = _botframeworkWebchatApi.hooks.useDirection,
useLocalizer = _botframeworkWebchatApi.hooks.useLocalizer,
useStyleOptions = _botframeworkWebchatApi.hooks.useStyleOptions;
var ConnectivityStatusConnecting = function ConnectivityStatusConnecting(_ref) {
var reconnect = _ref.reconnect;
var _useStyleOptions = useStyleOptions(),
_useStyleOptions2 = _slicedToArray(_useStyleOptions, 1),
slowConnectionAfter = _useStyleOptions2[0].slowConnectionAfter;
var _useStyleSet = (0, _useStyleSet3.default)(),
_useStyleSet2 = _slicedToArray(_useStyleSet, 1),
_useStyleSet2$ = _useStyleSet2[0],
connectivityNotificationStyleSet = _useStyleSet2$.connectivityNotification,
warningNotificationStyleSet = _useStyleSet2$.warningNotification;
var _useDirection = useDirection(),
_useDirection2 = _slicedToArray(_useDirection, 1),
direction = _useDirection2[0];
var _useState = (0, _react.useState)(function () {
return Date.now();
}),
_useState2 = _slicedToArray(_useState, 1),
initialRenderAt = _useState2[0];
var forceRender = (0, _useForceRender.default)();
var localize = useLocalizer();
var initialConnectionText = localize('CONNECTIVITY_STATUS_ALT_CONNECTING');
var interruptedConnectionText = localize('CONNECTIVITY_STATUS_ALT_RECONNECTING');
var slowConnectionText = localize('CONNECTIVITY_STATUS_ALT_SLOW_CONNECTION');
(0, _useTimer.default)(initialRenderAt + slowConnectionAfter, forceRender);
var now = Date.now();
var slow = now >= initialRenderAt + slowConnectionAfter;
return slow ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ScreenReaderText.default, {
text: localize('CONNECTIVITY_STATUS_ALT', slowConnectionText)
}), /*#__PURE__*/_react.default.createElement("div", {
"aria-hidden": true,
className: (0, _classnames.default)('webchat__connectivityStatus', warningNotificationStyleSet + ''),
dir: direction
}, /*#__PURE__*/_react.default.createElement(_WarningNotificationIcon.default, null), slowConnectionText)) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ScreenReaderText.default, {
text: localize('CONNECTIVITY_STATUS_ALT', reconnect ? interruptedConnectionText : initialConnectionText)
}), /*#__PURE__*/_react.default.createElement("div", {
"aria-hidden": true,
className: (0, _classnames.default)('webchat__connectivityStatus', connectivityNotificationStyleSet + ''),
dir: direction
}, /*#__PURE__*/_react.default.createElement(_SpinnerAnimation.default, null), reconnect ? interruptedConnectionText : initialConnectionText));
};
ConnectivityStatusConnecting.defaultProps = {
reconnect: false
};
ConnectivityStatusConnecting.propTypes = {
reconnect: _propTypes.default.bool
};
var _default = ConnectivityStatusConnecting;
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db25uZWN0aXZpdHlTdGF0dXMvQ29ubmVjdGluZy5qcyJdLCJuYW1lcyI6WyJ1c2VEaXJlY3Rpb24iLCJob29rcyIsInVzZUxvY2FsaXplciIsInVzZVN0eWxlT3B0aW9ucyIsIkNvbm5lY3Rpdml0eVN0YXR1c0Nvbm5lY3RpbmciLCJyZWNvbm5lY3QiLCJzbG93Q29ubmVjdGlvbkFmdGVyIiwiY29ubmVjdGl2aXR5Tm90aWZpY2F0aW9uU3R5bGVTZXQiLCJjb25uZWN0aXZpdHlOb3RpZmljYXRpb24iLCJ3YXJuaW5nTm90aWZpY2F0aW9uU3R5bGVTZXQiLCJ3YXJuaW5nTm90aWZpY2F0aW9uIiwiZGlyZWN0aW9uIiwiRGF0ZSIsIm5vdyIsImluaXRpYWxSZW5kZXJBdCIsImZvcmNlUmVuZGVyIiwibG9jYWxpemUiLCJpbml0aWFsQ29ubmVjdGlvblRleHQiLCJpbnRlcnJ1cHRlZENvbm5lY3Rpb25UZXh0Iiwic2xvd0Nvbm5lY3Rpb25UZXh0Iiwic2xvdyIsImRlZmF1bHRQcm9wcyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImJvb2wiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUVRQSxZLEdBQWdEQyw2QixDQUFoREQsWTtJQUFjRSxZLEdBQWtDRCw2QixDQUFsQ0MsWTtJQUFjQyxlLEdBQW9CRiw2QixDQUFwQkUsZTs7QUFFcEMsSUFBTUMsNEJBQTRCLEdBQUcsU0FBL0JBLDRCQUErQixPQUFtQjtBQUFBLE1BQWhCQyxTQUFnQixRQUFoQkEsU0FBZ0I7O0FBQUEseUJBQ3BCRixlQUFlLEVBREs7QUFBQTtBQUFBLE1BQzdDRyxtQkFENkMsd0JBQzdDQSxtQkFENkM7O0FBQUEscUJBSWxELDRCQUprRDtBQUFBO0FBQUE7QUFBQSxNQUd4QkMsZ0NBSHdCLGtCQUdsREMsd0JBSGtEO0FBQUEsTUFHK0JDLDJCQUgvQixrQkFHVUMsbUJBSFY7O0FBQUEsc0JBS2xDVixZQUFZLEVBTHNCO0FBQUE7QUFBQSxNQUsvQ1csU0FMK0M7O0FBQUEsa0JBTTVCLHFCQUFTO0FBQUEsV0FBTUMsSUFBSSxDQUFDQyxHQUFMLEVBQU47QUFBQSxHQUFULENBTjRCO0FBQUE7QUFBQSxNQU0vQ0MsZUFOK0M7O0FBT3RELE1BQU1DLFdBQVcsR0FBRyw4QkFBcEI7QUFDQSxNQUFNQyxRQUFRLEdBQUdkLFlBQVksRUFBN0I7QUFFQSxNQUFNZSxxQkFBcUIsR0FBR0QsUUFBUSxDQUFDLG9DQUFELENBQXRDO0FBQ0EsTUFBTUUseUJBQXlCLEdBQUdGLFFBQVEsQ0FBQyxzQ0FBRCxDQUExQztBQUNBLE1BQU1HLGtCQUFrQixHQUFHSCxRQUFRLENBQUMseUNBQUQsQ0FBbkM7QUFFQSx5QkFBU0YsZUFBZSxHQUFHUixtQkFBM0IsRUFBZ0RTLFdBQWhEO0FBRUEsTUFBTUYsR0FBRyxHQUFHRCxJQUFJLENBQUNDLEdBQUwsRUFBWjtBQUNBLE1BQU1PLElBQUksR0FBR1AsR0FBRyxJQUFJQyxlQUFlLEdBQUdSLG1CQUF0QztBQUVBLFNBQU9jLElBQUksZ0JBQ1QsNkJBQUMsY0FBRCxDQUFPLFFBQVAscUJBQ0UsNkJBQUMseUJBQUQ7QUFBa0IsSUFBQSxJQUFJLEVBQUVKLFFBQVEsQ0FBQyx5QkFBRCxFQUE0Qkcsa0JBQTVCO0FBQWhDLElBREYsZUFFRTtBQUNFLG1CQUFhLElBRGY7QUFFRSxJQUFBLFNBQVMsRUFBRSx5QkFBVyw2QkFBWCxFQUEwQ1YsMkJBQTJCLEdBQUcsRUFBeEUsQ0FGYjtBQUdFLElBQUEsR0FBRyxFQUFFRTtBQUhQLGtCQUtFLDZCQUFDLGdDQUFELE9BTEYsRUFNR1Esa0JBTkgsQ0FGRixDQURTLGdCQWFULDZCQUFDLGNBQUQsQ0FBTyxRQUFQLHFCQUNFLDZCQUFDLHlCQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUVILFFBQVEsQ0FBQyx5QkFBRCxFQUE0QlgsU0FBUyxHQUFHYSx5QkFBSCxHQUErQkQscUJBQXBFO0FBRGhCLElBREYsZUFJRTtBQUNFLG1CQUFhLElBRGY7QUFFRSxJQUFBLFNBQVMsRUFBRSx5QkFBVyw2QkFBWCxFQUEwQ1YsZ0NBQWdDLEdBQUcsRUFBN0UsQ0FGYjtBQUdFLElBQUEsR0FBRyxFQUFFSTtBQUhQLGtCQUtFLDZCQUFDLHlCQUFELE9BTEYsRUFNR04sU0FBUyxHQUFHYSx5QkFBSCxHQUErQkQscUJBTjNDLENBSkYsQ0FiRjtBQTJCRCxDQTlDRDs7QUFnREFiLDRCQUE0QixDQUFDaUIsWUFBN0IsR0FBNEM7QUFDMUNoQixFQUFBQSxTQUFTLEVBQUU7QUFEK0IsQ0FBNUM7QUFJQUQsNEJBQTRCLENBQUNrQixTQUE3QixHQUF5QztBQUN2Q2pCLEVBQUFBLFNBQVMsRUFBRWtCLG1CQUFVQztBQURrQixDQUF6QztlQUllcEIsNEIiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhvb2tzIH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtYXBpJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IFNjcmVlblJlYWRlclRleHQgZnJvbSAnLi4vU2NyZWVuUmVhZGVyVGV4dCc7XG5pbXBvcnQgU3Bpbm5lckFuaW1hdGlvbiBmcm9tICcuL0Fzc2V0cy9TcGlubmVyQW5pbWF0aW9uJztcbmltcG9ydCB1c2VGb3JjZVJlbmRlciBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VGb3JjZVJlbmRlcic7XG5pbXBvcnQgdXNlU3R5bGVTZXQgZnJvbSAnLi4vaG9va3MvdXNlU3R5bGVTZXQnO1xuaW1wb3J0IHVzZVRpbWVyIGZyb20gJy4uL2hvb2tzL2ludGVybmFsL3VzZVRpbWVyJztcbmltcG9ydCBXYXJuaW5nTm90aWZpY2F0aW9uSWNvbiBmcm9tICcuL0Fzc2V0cy9XYXJuaW5nTm90aWZpY2F0aW9uSWNvbic7XG5cbmNvbnN0IHsgdXNlRGlyZWN0aW9uLCB1c2VMb2NhbGl6ZXIsIHVzZVN0eWxlT3B0aW9ucyB9ID0gaG9va3M7XG5cbmNvbnN0IENvbm5lY3Rpdml0eVN0YXR1c0Nvbm5lY3RpbmcgPSAoeyByZWNvbm5lY3QgfSkgPT4ge1xuICBjb25zdCBbeyBzbG93Q29ubmVjdGlvbkFmdGVyIH1dID0gdXNlU3R5bGVPcHRpb25zKCk7XG4gIGNvbnN0IFtcbiAgICB7IGNvbm5lY3Rpdml0eU5vdGlmaWNhdGlvbjogY29ubmVjdGl2aXR5Tm90aWZpY2F0aW9uU3R5bGVTZXQsIHdhcm5pbmdOb3RpZmljYXRpb246IHdhcm5pbmdOb3RpZmljYXRpb25TdHlsZVNldCB9XG4gIF0gPSB1c2VTdHlsZVNldCgpO1xuICBjb25zdCBbZGlyZWN0aW9uXSA9IHVzZURpcmVjdGlvbigpO1xuICBjb25zdCBbaW5pdGlhbFJlbmRlckF0XSA9IHVzZVN0YXRlKCgpID0+IERhdGUubm93KCkpO1xuICBjb25zdCBmb3JjZVJlbmRlciA9IHVzZUZvcmNlUmVuZGVyKCk7XG4gIGNvbnN0IGxvY2FsaXplID0gdXNlTG9jYWxpemVyKCk7XG5cbiAgY29uc3QgaW5pdGlhbENvbm5lY3Rpb25UZXh0ID0gbG9jYWxpemUoJ0NPTk5FQ1RJVklUWV9TVEFUVVNfQUxUX0NPTk5FQ1RJTkcnKTtcbiAgY29uc3QgaW50ZXJydXB0ZWRDb25uZWN0aW9uVGV4dCA9IGxvY2FsaXplKCdDT05ORUNUSVZJVFlfU1RBVFVTX0FMVF9SRUNPTk5FQ1RJTkcnKTtcbiAgY29uc3Qgc2xvd0Nvbm5lY3Rpb25UZXh0ID0gbG9jYWxpemUoJ0NPTk5FQ1RJVklUWV9TVEFUVVNfQUxUX1NMT1dfQ09OTkVDVElPTicpO1xuXG4gIHVzZVRpbWVyKGluaXRpYWxSZW5kZXJBdCArIHNsb3dDb25uZWN0aW9uQWZ0ZXIsIGZvcmNlUmVuZGVyKTtcblxuICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICBjb25zdCBzbG93ID0gbm93ID49IGluaXRpYWxSZW5kZXJBdCArIHNsb3dDb25uZWN0aW9uQWZ0ZXI7XG5cbiAgcmV0dXJuIHNsb3cgPyAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPFNjcmVlblJlYWRlclRleHQgdGV4dD17bG9jYWxpemUoJ0NPTk5FQ1RJVklUWV9TVEFUVVNfQUxUJywgc2xvd0Nvbm5lY3Rpb25UZXh0KX0gLz5cbiAgICAgIDxkaXZcbiAgICAgICAgYXJpYS1oaWRkZW49e3RydWV9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcygnd2ViY2hhdF9fY29ubmVjdGl2aXR5U3RhdHVzJywgd2FybmluZ05vdGlmaWNhdGlvblN0eWxlU2V0ICsgJycpfVxuICAgICAgICBkaXI9e2RpcmVjdGlvbn1cbiAgICAgID5cbiAgICAgICAgPFdhcm5pbmdOb3RpZmljYXRpb25JY29uIC8+XG4gICAgICAgIHtzbG93Q29ubmVjdGlvblRleHR9XG4gICAgICA8L2Rpdj5cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApIDogKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxTY3JlZW5SZWFkZXJUZXh0XG4gICAgICAgIHRleHQ9e2xvY2FsaXplKCdDT05ORUNUSVZJVFlfU1RBVFVTX0FMVCcsIHJlY29ubmVjdCA/IGludGVycnVwdGVkQ29ubmVjdGlvblRleHQgOiBpbml0aWFsQ29ubmVjdGlvblRleHQpfVxuICAgICAgLz5cbiAgICAgIDxkaXZcbiAgICAgICAgYXJpYS1oaWRkZW49e3RydWV9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcygnd2ViY2hhdF9fY29ubmVjdGl2aXR5U3RhdHVzJywgY29ubmVjdGl2aXR5Tm90aWZpY2F0aW9uU3R5bGVTZXQgKyAnJyl9XG4gICAgICAgIGRpcj17ZGlyZWN0aW9ufVxuICAgICAgPlxuICAgICAgICA8U3Bpbm5lckFuaW1hdGlvbiAvPlxuICAgICAgICB7cmVjb25uZWN0ID8gaW50ZXJydXB0ZWRDb25uZWN0aW9uVGV4dCA6IGluaXRpYWxDb25uZWN0aW9uVGV4dH1cbiAgICAgIDwvZGl2PlxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICk7XG59O1xuXG5Db25uZWN0aXZpdHlTdGF0dXNDb25uZWN0aW5nLmRlZmF1bHRQcm9wcyA9IHtcbiAgcmVjb25uZWN0OiBmYWxzZVxufTtcblxuQ29ubmVjdGl2aXR5U3RhdHVzQ29ubmVjdGluZy5wcm9wVHlwZXMgPSB7XG4gIHJlY29ubmVjdDogUHJvcFR5cGVzLmJvb2xcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvbm5lY3Rpdml0eVN0YXR1c0Nvbm5lY3Rpbmc7XG4iXX0=
;