botframework-webchat-component
Version:
React component of botframework-webchat
90 lines (87 loc) • 16.1 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 _BasicConnectivityStatus = _interopRequireDefault(require("./BasicConnectivityStatus"));
var _BasicToaster = _interopRequireDefault(require("./BasicToaster"));
var _BasicTranscript = _interopRequireDefault(require("./BasicTranscript"));
var _Surface = _interopRequireDefault(require("./Utils/AccessKeySink/Surface"));
var _useStyleToEmotionObject = _interopRequireDefault(require("./hooks/internal/useStyleToEmotionObject"));
var _useStyleSet3 = _interopRequireDefault(require("./hooks/useStyleSet"));
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; } /* eslint no-magic-numbers: ["error", { "ignore": [0, 1, 2] }] */ /* eslint react/no-unsafe: off */
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
}), /*#__PURE__*/_react.default.createElement(_botframeworkWebchatApi.SendBoxMiddlewareProxy, {
className: sendBoxClassName,
request: undefined
}));
};
BasicWebChat.defaultProps = {
className: '',
role: 'complementary'
};
BasicWebChat.propTypes = {
className: _propTypes.default.string,
// Ignoring deficiencies with TypeScript/PropTypes inference.
// @ts-ignore
role: _propTypes.default.oneOf(ARIA_LANDMARK_ROLES)
};
var _default = BasicWebChat;
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYm90ZnJhbWV3b3JrV2ViY2hhdEFwaSIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcHJvcFR5cGVzIiwiX3JlYWN0IiwiX0Jhc2ljQ29ubmVjdGl2aXR5U3RhdHVzIiwiX0Jhc2ljVG9hc3RlciIsIl9CYXNpY1RyYW5zY3JpcHQiLCJfU3VyZmFjZSIsIl91c2VTdHlsZVRvRW1vdGlvbk9iamVjdCIsIl91c2VTdHlsZVNldDMiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9zbGljZWRUb0FycmF5IiwiYXJyIiwiaSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJUeXBlRXJyb3IiLCJvIiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJuIiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJjYWxsIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuIiwibGVuZ3RoIiwiYXJyMiIsIl9pIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJfYXJyIiwiX24iLCJfZCIsIl9zIiwiX2UiLCJuZXh0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImVyciIsImlzQXJyYXkiLCJ1c2VTdHlsZU9wdGlvbnMiLCJob29rcyIsIlJPT1RfU1RZTEUiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsIkNPTk5FQ1RJVklUWV9TVEFUVVNfU1RZTEUiLCJmbGV4U2hyaW5rIiwiU0VORF9CT1hfQ1NTIiwiVE9BU1RFUl9TVFlMRSIsIlRSQU5TQ1JJUFRfU1RZTEUiLCJmbGV4IiwiQVJJQV9MQU5ETUFSS19ST0xFUyIsIkJhc2ljV2ViQ2hhdCIsIl9yZWYiLCJjbGFzc05hbWUiLCJyb2xlIiwiX3VzZVN0eWxlU2V0IiwidXNlU3R5bGVTZXQiLCJfdXNlU3R5bGVTZXQyIiwicm9vdFN0eWxlU2V0Iiwicm9vdCIsIl91c2VTdHlsZU9wdGlvbnMiLCJfdXNlU3R5bGVPcHRpb25zMiIsIm9wdGlvbnMiLCJzdHlsZVRvRW1vdGlvbk9iamVjdCIsInVzZVN0eWxlVG9FbW90aW9uT2JqZWN0IiwiY29ubmVjdGl2aXR5U3RhdHVzQ2xhc3NOYW1lIiwicm9vdENsYXNzTmFtZSIsInNlbmRCb3hDbGFzc05hbWUiLCJ0b2FzdGVyQ2xhc3NOYW1lIiwidHJhbnNjcmlwdENsYXNzTmFtZSIsImluY2x1ZGVzIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZXMiLCJoaWRlVG9hc3RlciIsIlNlbmRCb3hNaWRkbGV3YXJlUHJveHkiLCJyZXF1ZXN0IiwidW5kZWZpbmVkIiwiZGVmYXVsdFByb3BzIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib25lT2YiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzIjpbIi4uL3NyYy9CYXNpY1dlYkNoYXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBuby1tYWdpYy1udW1iZXJzOiBbXCJlcnJvclwiLCB7IFwiaWdub3JlXCI6IFswLCAxLCAyXSB9XSAqL1xuLyogZXNsaW50IHJlYWN0L25vLXVuc2FmZTogb2ZmICovXG5cbmltcG9ydCB7IFNlbmRCb3hNaWRkbGV3YXJlUHJveHksIGhvb2tzIH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtYXBpJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyBGQyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IEJhc2ljQ29ubmVjdGl2aXR5U3RhdHVzIGZyb20gJy4vQmFzaWNDb25uZWN0aXZpdHlTdGF0dXMnO1xuaW1wb3J0IEJhc2ljVG9hc3RlciBmcm9tICcuL0Jhc2ljVG9hc3Rlcic7XG5pbXBvcnQgQmFzaWNUcmFuc2NyaXB0IGZyb20gJy4vQmFzaWNUcmFuc2NyaXB0JztcbmltcG9ydCBBY2Nlc3NLZXlTaW5rU3VyZmFjZSBmcm9tICcuL1V0aWxzL0FjY2Vzc0tleVNpbmsvU3VyZmFjZSc7XG5pbXBvcnQgdXNlU3R5bGVUb0Vtb3Rpb25PYmplY3QgZnJvbSAnLi9ob29rcy9pbnRlcm5hbC91c2VTdHlsZVRvRW1vdGlvbk9iamVjdCc7XG5pbXBvcnQgdXNlU3R5bGVTZXQgZnJvbSAnLi9ob29rcy91c2VTdHlsZVNldCc7XG5cbmNvbnN0IHsgdXNlU3R5bGVPcHRpb25zIH0gPSBob29rcztcblxuY29uc3QgUk9PVF9TVFlMRSA9IHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJ1xufTtcblxuY29uc3QgQ09OTkVDVElWSVRZX1NUQVRVU19TVFlMRSA9IHtcbiAgZmxleFNocmluazogMFxufTtcblxuY29uc3QgU0VORF9CT1hfQ1NTID0ge1xuICBmbGV4U2hyaW5rOiAwXG59O1xuXG5jb25zdCBUT0FTVEVSX1NUWUxFID0ge1xuICBmbGV4U2hyaW5rOiAwXG59O1xuXG5jb25zdCBUUkFOU0NSSVBUX1NUWUxFID0ge1xuICBmbGV4OiAxXG59O1xuXG4vLyBTdWJzZXQgb2YgbGFuZG1hcmsgcm9sZXM6IGh0dHBzOi8vdzMub3JnL1RSL3dhaS1hcmlhLyNsYW5kbWFya19yb2xlc1xuY29uc3QgQVJJQV9MQU5ETUFSS19ST0xFUyA9IFsnY29tcGxlbWVudGFyeScsICdjb250ZW50aW5mbycsICdmb3JtJywgJ21haW4nLCAncmVnaW9uJ107XG5cbnR5cGUgQmFzaWNXZWJDaGF0UHJvcHMgPSB7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgcm9sZT86ICdjb21wbGVtZW50YXJ5JyB8ICdjb250ZW50aW5mbycgfCAnZm9ybScgfCAnbWFpbicgfCAncmVnaW9uJztcbn07XG5cbmNvbnN0IEJhc2ljV2ViQ2hhdDogRkM8QmFzaWNXZWJDaGF0UHJvcHM+ID0gKHsgY2xhc3NOYW1lLCByb2xlIH0pID0+IHtcbiAgY29uc3QgW3sgcm9vdDogcm9vdFN0eWxlU2V0IH1dID0gdXNlU3R5bGVTZXQoKTtcbiAgY29uc3QgW29wdGlvbnNdID0gdXNlU3R5bGVPcHRpb25zKCk7XG4gIGNvbnN0IHN0eWxlVG9FbW90aW9uT2JqZWN0ID0gdXNlU3R5bGVUb0Vtb3Rpb25PYmplY3QoKTtcblxuICBjb25zdCBjb25uZWN0aXZpdHlTdGF0dXNDbGFzc05hbWUgPSBzdHlsZVRvRW1vdGlvbk9iamVjdChDT05ORUNUSVZJVFlfU1RBVFVTX1NUWUxFKSArICcnO1xuICBjb25zdCByb290Q2xhc3NOYW1lID0gc3R5bGVUb0Vtb3Rpb25PYmplY3QoUk9PVF9TVFlMRSkgKyAnJztcbiAgY29uc3Qgc2VuZEJveENsYXNzTmFtZSA9IHN0eWxlVG9FbW90aW9uT2JqZWN0KFNFTkRfQk9YX0NTUykgKyAnJztcbiAgY29uc3QgdG9hc3RlckNsYXNzTmFtZSA9IHN0eWxlVG9FbW90aW9uT2JqZWN0KFRPQVNURVJfU1RZTEUpICsgJyc7XG4gIGNvbnN0IHRyYW5zY3JpcHRDbGFzc05hbWUgPSBzdHlsZVRvRW1vdGlvbk9iamVjdChUUkFOU0NSSVBUX1NUWUxFKSArICcnO1xuXG4gIC8vIEZhbGxiYWNrIHRvIFwiY29tcGxlbWVudGFyeVwiIGlmIHNwZWNpZmllZCBpcyBub3QgYSB2YWxpZCBsYW5kbWFyayByb2xlLlxuICBpZiAoIUFSSUFfTEFORE1BUktfUk9MRVMuaW5jbHVkZXMocm9sZSkpIHtcbiAgICByb2xlID0gJ2NvbXBsZW1lbnRhcnknO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8QWNjZXNzS2V5U2lua1N1cmZhY2UgY2xhc3NOYW1lPXtjbGFzc05hbWVzKHJvb3RDbGFzc05hbWUsIHJvb3RTdHlsZVNldCArICcnLCAoY2xhc3NOYW1lIHx8ICcnKSArICcnKX0gcm9sZT17cm9sZX0+XG4gICAgICB7IW9wdGlvbnMuaGlkZVRvYXN0ZXIgJiYgPEJhc2ljVG9hc3RlciBjbGFzc05hbWU9e3RvYXN0ZXJDbGFzc05hbWV9IC8+fVxuICAgICAgPEJhc2ljVHJhbnNjcmlwdCBjbGFzc05hbWU9e3RyYW5zY3JpcHRDbGFzc05hbWV9IC8+XG4gICAgICA8QmFzaWNDb25uZWN0aXZpdHlTdGF0dXMgY2xhc3NOYW1lPXtjb25uZWN0aXZpdHlTdGF0dXNDbGFzc05hbWV9IC8+XG4gICAgICA8U2VuZEJveE1pZGRsZXdhcmVQcm94eSBjbGFzc05hbWU9e3NlbmRCb3hDbGFzc05hbWV9IHJlcXVlc3Q9e3VuZGVmaW5lZH0gLz5cbiAgICA8L0FjY2Vzc0tleVNpbmtTdXJmYWNlPlxuICApO1xufTtcblxuQmFzaWNXZWJDaGF0LmRlZmF1bHRQcm9wcyA9IHtcbiAgY2xhc3NOYW1lOiAnJyxcbiAgcm9sZTogJ2NvbXBsZW1lbnRhcnknXG59O1xuXG5CYXNpY1dlYkNoYXQucHJvcFR5cGVzID0ge1xuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8vIElnbm9yaW5nIGRlZmljaWVuY2llcyB3aXRoIFR5cGVTY3JpcHQvUHJvcFR5cGVzIGluZmVyZW5jZS5cbiAgLy8gQHRzLWlnbm9yZVxuICByb2xlOiBQcm9wVHlwZXMub25lT2YoQVJJQV9MQU5ETUFSS19ST0xFUylcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEJhc2ljV2ViQ2hhdDtcblxuZXhwb3J0IHR5cGUgeyBCYXNpY1dlYkNoYXRQcm9wcyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFHQSxJQUFBQSx1QkFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUssd0JBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFNLGFBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFPLGdCQUFBLEdBQUFM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
;