botframework-webchat-component
Version:
React component of botframework-webchat
111 lines (83 loc) • 11.7 kB
JavaScript
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 = _interopRequireDefault(require("react"));
var _Surface = _interopRequireDefault(require("./Utils/AccessKeySink/Surface"));
var _BasicConnectivityStatus = _interopRequireDefault(require("./BasicConnectivityStatus"));
var _BasicSendBox = _interopRequireDefault(require("./BasicSendBox"));
var _BasicToaster = _interopRequireDefault(require("./BasicToaster"));
var _BasicTranscript = _interopRequireDefault(require("./BasicTranscript"));
var _useStyleSet3 = _interopRequireDefault(require("./hooks/useStyleSet"));
var _useStyleToEmotionObject = _interopRequireDefault(require("./hooks/internal/useStyleToEmotionObject"));
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 useStyleOptions = _botframeworkWebchatApi.hooks.useStyleOptions;
var ROOT_STYLE = {
display: 'flex',
flexDirection: 'column'
};
var CONNECTIVITY_STATUS_STYLE = {
flexShrink: 0
};
var SEND_BOX_CSS = {
flexShrink: 0
};
var TOASTER_STYLE = {
flexShrink: 0
};
var TRANSCRIPT_STYLE = {
flex: 1
}; // Subset of landmark roles: https://w3.org/TR/wai-aria/#landmark_roles
var ARIA_LANDMARK_ROLES = ['complementary', 'contentinfo', 'form', 'main', 'region'];
var BasicWebChat = function BasicWebChat(_ref) {
var className = _ref.className,
role = _ref.role;
var _useStyleSet = (0, _useStyleSet3.default)(),
_useStyleSet2 = _slicedToArray(_useStyleSet, 1),
rootStyleSet = _useStyleSet2[0].root;
var _useStyleOptions = useStyleOptions(),
_useStyleOptions2 = _slicedToArray(_useStyleOptions, 1),
options = _useStyleOptions2[0];
var styleToEmotionObject = (0, _useStyleToEmotionObject.default)();
var connectivityStatusClassName = styleToEmotionObject(CONNECTIVITY_STATUS_STYLE) + '';
var rootClassName = styleToEmotionObject(ROOT_STYLE) + '';
var sendBoxClassName = styleToEmotionObject(SEND_BOX_CSS) + '';
var toasterClassName = styleToEmotionObject(TOASTER_STYLE) + '';
var transcriptClassName = styleToEmotionObject(TRANSCRIPT_STYLE) + ''; // Fallback to "complementary" if specified is not a valid landmark role.
if (!ARIA_LANDMARK_ROLES.includes(role)) {
role = 'complementary';
}
return /*#__PURE__*/_react.default.createElement(_Surface.default, {
className: (0, _classnames.default)(rootClassName, rootStyleSet + '', (className || '') + ''),
role: role
}, !options.hideToaster && /*#__PURE__*/_react.default.createElement(_BasicToaster.default, {
className: toasterClassName
}), /*#__PURE__*/_react.default.createElement(_BasicTranscript.default, {
className: transcriptClassName
}), /*#__PURE__*/_react.default.createElement(_BasicConnectivityStatus.default, {
className: connectivityStatusClassName
}), !options.hideSendBox && /*#__PURE__*/_react.default.createElement(_BasicSendBox.default, {
className: sendBoxClassName
}));
};
var _default = BasicWebChat;
exports.default = _default;
BasicWebChat.defaultProps = {
className: '',
role: 'complementary'
};
BasicWebChat.propTypes = {
className: _propTypes.default.string,
role: _propTypes.default.oneOf(ARIA_LANDMARK_ROLES)
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9CYXNpY1dlYkNoYXQuanMiXSwibmFtZXMiOlsidXNlU3R5bGVPcHRpb25zIiwiaG9va3MiLCJST09UX1NUWUxFIiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJDT05ORUNUSVZJVFlfU1RBVFVTX1NUWUxFIiwiZmxleFNocmluayIsIlNFTkRfQk9YX0NTUyIsIlRPQVNURVJfU1RZTEUiLCJUUkFOU0NSSVBUX1NUWUxFIiwiZmxleCIsIkFSSUFfTEFORE1BUktfUk9MRVMiLCJCYXNpY1dlYkNoYXQiLCJjbGFzc05hbWUiLCJyb2xlIiwicm9vdFN0eWxlU2V0Iiwicm9vdCIsIm9wdGlvbnMiLCJzdHlsZVRvRW1vdGlvbk9iamVjdCIsImNvbm5lY3Rpdml0eVN0YXR1c0NsYXNzTmFtZSIsInJvb3RDbGFzc05hbWUiLCJzZW5kQm94Q2xhc3NOYW1lIiwidG9hc3RlckNsYXNzTmFtZSIsInRyYW5zY3JpcHRDbGFzc05hbWUiLCJpbmNsdWRlcyIsImhpZGVUb2FzdGVyIiwiaGlkZVNlbmRCb3giLCJkZWZhdWx0UHJvcHMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJvbmVPZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7O0lBRVFBLGUsR0FBb0JDLDZCLENBQXBCRCxlO0FBRVIsSUFBTUUsVUFBVSxHQUFHO0FBQ2pCQyxFQUFBQSxPQUFPLEVBQUUsTUFEUTtBQUVqQkMsRUFBQUEsYUFBYSxFQUFFO0FBRkUsQ0FBbkI7QUFLQSxJQUFNQyx5QkFBeUIsR0FBRztBQUNoQ0MsRUFBQUEsVUFBVSxFQUFFO0FBRG9CLENBQWxDO0FBSUEsSUFBTUMsWUFBWSxHQUFHO0FBQ25CRCxFQUFBQSxVQUFVLEVBQUU7QUFETyxDQUFyQjtBQUlBLElBQU1FLGFBQWEsR0FBRztBQUNwQkYsRUFBQUEsVUFBVSxFQUFFO0FBRFEsQ0FBdEI7QUFJQSxJQUFNRyxnQkFBZ0IsR0FBRztBQUN2QkMsRUFBQUEsSUFBSSxFQUFFO0FBRGlCLENBQXpCLEMsQ0FJQTs7QUFDQSxJQUFNQyxtQkFBbUIsR0FBRyxDQUFDLGVBQUQsRUFBa0IsYUFBbEIsRUFBaUMsTUFBakMsRUFBeUMsTUFBekMsRUFBaUQsUUFBakQsQ0FBNUI7O0FBRUEsSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQWUsT0FBeUI7QUFBQSxNQUF0QkMsU0FBc0IsUUFBdEJBLFNBQXNCO0FBQUEsTUFBWEMsSUFBVyxRQUFYQSxJQUFXOztBQUFBLHFCQUNYLDRCQURXO0FBQUE7QUFBQSxNQUM3QkMsWUFENkIsb0JBQ25DQyxJQURtQzs7QUFBQSx5QkFFMUJoQixlQUFlLEVBRlc7QUFBQTtBQUFBLE1BRXJDaUIsT0FGcUM7O0FBRzVDLE1BQU1DLG9CQUFvQixHQUFHLHVDQUE3QjtBQUVBLE1BQU1DLDJCQUEyQixHQUFHRCxvQkFBb0IsQ0FBQ2IseUJBQUQsQ0FBcEIsR0FBa0QsRUFBdEY7QUFDQSxNQUFNZSxhQUFhLEdBQUdGLG9CQUFvQixDQUFDaEIsVUFBRCxDQUFwQixHQUFtQyxFQUF6RDtBQUNBLE1BQU1tQixnQkFBZ0IsR0FBR0gsb0JBQW9CLENBQUNYLFlBQUQsQ0FBcEIsR0FBcUMsRUFBOUQ7QUFDQSxNQUFNZSxnQkFBZ0IsR0FBR0osb0JBQW9CLENBQUNWLGFBQUQsQ0FBcEIsR0FBc0MsRUFBL0Q7QUFDQSxNQUFNZSxtQkFBbUIsR0FBR0wsb0JBQW9CLENBQUNULGdCQUFELENBQXBCLEdBQXlDLEVBQXJFLENBVDRDLENBVzVDOztBQUNBLE1BQUksQ0FBQ0UsbUJBQW1CLENBQUNhLFFBQXBCLENBQTZCVixJQUE3QixDQUFMLEVBQXlDO0FBQ3ZDQSxJQUFBQSxJQUFJLEdBQUcsZUFBUDtBQUNEOztBQUVELHNCQUNFLDZCQUFDLGdCQUFEO0FBQXNCLElBQUEsU0FBUyxFQUFFLHlCQUFXTSxhQUFYLEVBQTBCTCxZQUFZLEdBQUcsRUFBekMsRUFBNkMsQ0FBQ0YsU0FBUyxJQUFJLEVBQWQsSUFBb0IsRUFBakUsQ0FBakM7QUFBdUcsSUFBQSxJQUFJLEVBQUVDO0FBQTdHLEtBQ0csQ0FBQ0csT0FBTyxDQUFDUSxXQUFULGlCQUF3Qiw2QkFBQyxxQkFBRDtBQUFjLElBQUEsU0FBUyxFQUFFSDtBQUF6QixJQUQzQixlQUVFLDZCQUFDLHdCQUFEO0FBQWlCLElBQUEsU0FBUyxFQUFFQztBQUE1QixJQUZGLGVBR0UsNkJBQUMsZ0NBQUQ7QUFBeUIsSUFBQSxTQUFTLEVBQUVKO0FBQXBDLElBSEYsRUFJRyxDQUFDRixPQUFPLENBQUNTLFdBQVQsaUJBQXdCLDZCQUFDLHFCQUFEO0FBQWMsSUFBQSxTQUFTLEVBQUVMO0FBQXpCLElBSjNCLENBREY7QUFRRCxDQXhCRDs7ZUEwQmVULFk7O0FBRWZBLFlBQVksQ0FBQ2UsWUFBYixHQUE0QjtBQUMxQmQsRUFBQUEsU0FBUyxFQUFFLEVBRGU7QUFFMUJDLEVBQUFBLElBQUksRUFBRTtBQUZvQixDQUE1QjtBQUtBRixZQUFZLENBQUNnQixTQUFiLEdBQXlCO0FBQ3ZCZixFQUFBQSxTQUFTLEVBQUVnQixtQkFBVUMsTUFERTtBQUV2QmhCLEVBQUFBLElBQUksRUFBRWUsbUJBQVVFLEtBQVYsQ0FBZ0JwQixtQkFBaEI7QUFGaUIsQ0FBekIiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBuby1tYWdpYy1udW1iZXJzOiBbXCJlcnJvclwiLCB7IFwiaWdub3JlXCI6IFswLCAxLCAyXSB9XSAqL1xuLyogZXNsaW50IHJlYWN0L25vLXVuc2FmZTogb2ZmICovXG5cbmltcG9ydCB7IGhvb2tzIH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtYXBpJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBBY2Nlc3NLZXlTaW5rU3VyZmFjZSBmcm9tICcuL1V0aWxzL0FjY2Vzc0tleVNpbmsvU3VyZmFjZSc7XG5pbXBvcnQgQmFzaWNDb25uZWN0aXZpdHlTdGF0dXMgZnJvbSAnLi9CYXNpY0Nvbm5lY3Rpdml0eVN0YXR1cyc7XG5pbXBvcnQgQmFzaWNTZW5kQm94IGZyb20gJy4vQmFzaWNTZW5kQm94JztcbmltcG9ydCBCYXNpY1RvYXN0ZXIgZnJvbSAnLi9CYXNpY1RvYXN0ZXInO1xuaW1wb3J0IEJhc2ljVHJhbnNjcmlwdCBmcm9tICcuL0Jhc2ljVHJhbnNjcmlwdCc7XG5pbXBvcnQgdXNlU3R5bGVTZXQgZnJvbSAnLi9ob29rcy91c2VTdHlsZVNldCc7XG5pbXBvcnQgdXNlU3R5bGVUb0Vtb3Rpb25PYmplY3QgZnJvbSAnLi9ob29rcy9pbnRlcm5hbC91c2VTdHlsZVRvRW1vdGlvbk9iamVjdCc7XG5cbmNvbnN0IHsgdXNlU3R5bGVPcHRpb25zIH0gPSBob29rcztcblxuY29uc3QgUk9PVF9TVFlMRSA9IHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJ1xufTtcblxuY29uc3QgQ09OTkVDVElWSVRZX1NUQVRVU19TVFlMRSA9IHtcbiAgZmxleFNocmluazogMFxufTtcblxuY29uc3QgU0VORF9CT1hfQ1NTID0ge1xuICBmbGV4U2hyaW5rOiAwXG59O1xuXG5jb25zdCBUT0FTVEVSX1NUWUxFID0ge1xuICBmbGV4U2hyaW5rOiAwXG59O1xuXG5jb25zdCBUUkFOU0NSSVBUX1NUWUxFID0ge1xuICBmbGV4OiAxXG59O1xuXG4vLyBTdWJzZXQgb2YgbGFuZG1hcmsgcm9sZXM6IGh0dHBzOi8vdzMub3JnL1RSL3dhaS1hcmlhLyNsYW5kbWFya19yb2xlc1xuY29uc3QgQVJJQV9MQU5ETUFSS19ST0xFUyA9IFsnY29tcGxlbWVudGFyeScsICdjb250ZW50aW5mbycsICdmb3JtJywgJ21haW4nLCAncmVnaW9uJ107XG5cbmNvbnN0IEJhc2ljV2ViQ2hhdCA9ICh7IGNsYXNzTmFtZSwgcm9sZSB9KSA9PiB7XG4gIGNvbnN0IFt7IHJvb3Q6IHJvb3RTdHlsZVNldCB9XSA9IHVzZVN0eWxlU2V0KCk7XG4gIGNvbnN0IFtvcHRpb25zXSA9IHVzZVN0eWxlT3B0aW9ucygpO1xuICBjb25zdCBzdHlsZVRvRW1vdGlvbk9iamVjdCA9IHVzZVN0eWxlVG9FbW90aW9uT2JqZWN0KCk7XG5cbiAgY29uc3QgY29ubmVjdGl2aXR5U3RhdHVzQ2xhc3NOYW1lID0gc3R5bGVUb0Vtb3Rpb25PYmplY3QoQ09OTkVDVElWSVRZX1NUQVRVU19TVFlMRSkgKyAnJztcbiAgY29uc3Qgcm9vdENsYXNzTmFtZSA9IHN0eWxlVG9FbW90aW9uT2JqZWN0KFJPT1RfU1RZTEUpICsgJyc7XG4gIGNvbnN0IHNlbmRCb3hDbGFzc05hbWUgPSBzdHlsZVRvRW1vdGlvbk9iamVjdChTRU5EX0JPWF9DU1MpICsgJyc7XG4gIGNvbnN0IHRvYXN0ZXJDbGFzc05hbWUgPSBzdHlsZVRvRW1vdGlvbk9iamVjdChUT0FTVEVSX1NUWUxFKSArICcnO1xuICBjb25zdCB0cmFuc2NyaXB0Q2xhc3NOYW1lID0gc3R5bGVUb0Vtb3Rpb25PYmplY3QoVFJBTlNDUklQVF9TVFlMRSkgKyAnJztcblxuICAvLyBGYWxsYmFjayB0byBcImNvbXBsZW1lbnRhcnlcIiBpZiBzcGVjaWZpZWQgaXMgbm90IGEgdmFsaWQgbGFuZG1hcmsgcm9sZS5cbiAgaWYgKCFBUklBX0xBTkRNQVJLX1JPTEVTLmluY2x1ZGVzKHJvbGUpKSB7XG4gICAgcm9sZSA9ICdjb21wbGVtZW50YXJ5JztcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPEFjY2Vzc0tleVNpbmtTdXJmYWNlIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhyb290Q2xhc3NOYW1lLCByb290U3R5bGVTZXQgKyAnJywgKGNsYXNzTmFtZSB8fCAnJykgKyAnJyl9IHJvbGU9e3JvbGV9PlxuICAgICAgeyFvcHRpb25zLmhpZGVUb2FzdGVyICYmIDxCYXNpY1RvYXN0ZXIgY2xhc3NOYW1lPXt0b2FzdGVyQ2xhc3NOYW1lfSAvPn1cbiAgICAgIDxCYXNpY1RyYW5zY3JpcHQgY2xhc3NOYW1lPXt0cmFuc2NyaXB0Q2xhc3NOYW1lfSAvPlxuICAgICAgPEJhc2ljQ29ubmVjdGl2aXR5U3RhdHVzIGNsYXNzTmFtZT17Y29ubmVjdGl2aXR5U3RhdHVzQ2xhc3NOYW1lfSAvPlxuICAgICAgeyFvcHRpb25zLmhpZGVTZW5kQm94ICYmIDxCYXNpY1NlbmRCb3ggY2xhc3NOYW1lPXtzZW5kQm94Q2xhc3NOYW1lfSAvPn1cbiAgICA8L0FjY2Vzc0tleVNpbmtTdXJmYWNlPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQmFzaWNXZWJDaGF0O1xuXG5CYXNpY1dlYkNoYXQuZGVmYXVsdFByb3BzID0ge1xuICBjbGFzc05hbWU6ICcnLFxuICByb2xlOiAnY29tcGxlbWVudGFyeSdcbn07XG5cbkJhc2ljV2ViQ2hhdC5wcm9wVHlwZXMgPSB7XG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgcm9sZTogUHJvcFR5cGVzLm9uZU9mKEFSSUFfTEFORE1BUktfUk9MRVMpXG59O1xuIl19
;