UNPKG

botframework-webchat-component

Version:
77 lines (75 loc) 16.2 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 _propTypes = _interopRequireDefault(require("prop-types")); var _react = _interopRequireWildcard(require("react")); var _useMarkAllAsRenderedEffect = _interopRequireDefault(require("./useMarkAllAsRenderedEffect")); var _useStaticElementEntries = _interopRequireDefault(require("./useStaticElementEntries")); 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; } // This container is marked as private because we assume there is only one instance under the <LiveRegionTwinContext>. var LiveRegionTwinContainer = function LiveRegionTwinContainer(_ref) { var ariaLabel = _ref['aria-label'], ariaLive = _ref['aria-live'], ariaRoleDescription = _ref['aria-roledescription'], className = _ref.className, role = _ref.role, textElementClassName = _ref.textElementClassName; var _useStaticElementEntr = (0, _useStaticElementEntries.default)(), _useStaticElementEntr2 = _slicedToArray(_useStaticElementEntr, 1), staticElementEntries = _useStaticElementEntr2[0]; // We assume there is only one instance under the <LiveRegionTwinContext>. // The assumption made us safe to mark everything is rendered. // In contrary, if we have 0-to-many at different time, we may falsely mark something as rendered. (0, _useMarkAllAsRenderedEffect.default)(); return /*#__PURE__*/_react.default.createElement("div", { "aria-label": ariaLabel, "aria-live": ariaLive, "aria-roledescription": ariaRoleDescription, className: className, role: role }, staticElementEntries.map(function (_ref2) { var element = _ref2.element, key = _ref2.key; if (typeof element === 'string') { return /*#__PURE__*/_react.default.createElement("div", { "aria-atomic": true, className: textElementClassName, key: key }, element); } return /*#__PURE__*/_react.default.createElement(_react.Fragment, { key: key }, element); })); }; LiveRegionTwinContainer.defaultProps = { 'aria-label': undefined, 'aria-roledescription': undefined, className: undefined, role: undefined, textElementClassName: undefined }; LiveRegionTwinContainer.propTypes = { 'aria-label': _propTypes.default.string, // PropTypes.oneOf() returns type of `string`, but not `'assertive' | 'polite'`. // @ts-ignore 'aria-live': _propTypes.default.oneOf(['assertive', 'polite']).isRequired, 'aria-roledescription': _propTypes.default.string, className: _propTypes.default.string, role: _propTypes.default.string, textElementClassName: _propTypes.default.string }; var _default = LiveRegionTwinContainer; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl91c2VNYXJrQWxsQXNSZW5kZXJlZEVmZmVjdCIsIl91c2VTdGF0aWNFbGVtZW50RW50cmllcyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiX3NsaWNlZFRvQXJyYXkiLCJhcnIiLCJpIiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIlR5cGVFcnJvciIsIm8iLCJtaW5MZW4iLCJfYXJyYXlMaWtlVG9BcnJheSIsIm4iLCJ0b1N0cmluZyIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiQXJyYXkiLCJmcm9tIiwidGVzdCIsImxlbiIsImxlbmd0aCIsImFycjIiLCJfaSIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiX2FyciIsIl9uIiwiX2QiLCJfcyIsIl9lIiwibmV4dCIsImRvbmUiLCJwdXNoIiwidmFsdWUiLCJlcnIiLCJpc0FycmF5IiwiTGl2ZVJlZ2lvblR3aW5Db250YWluZXIiLCJfcmVmIiwiYXJpYUxhYmVsIiwiYXJpYUxpdmUiLCJhcmlhUm9sZURlc2NyaXB0aW9uIiwiY2xhc3NOYW1lIiwicm9sZSIsInRleHRFbGVtZW50Q2xhc3NOYW1lIiwiX3VzZVN0YXRpY0VsZW1lbnRFbnRyIiwidXNlU3RhdGljRWxlbWVudEVudHJpZXMiLCJfdXNlU3RhdGljRWxlbWVudEVudHIyIiwic3RhdGljRWxlbWVudEVudHJpZXMiLCJ1c2VNYXJrQWxsQXNSZW5kZXJlZEVmZmVjdCIsImNyZWF0ZUVsZW1lbnQiLCJtYXAiLCJfcmVmMiIsImVsZW1lbnQiLCJGcmFnbWVudCIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsIm9uZU9mIiwiaXNSZXF1aXJlZCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy9MaXZlUmVnaW9uVHdpbi9wcml2YXRlL0xpdmVSZWdpb25Ud2luQ29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFZGQyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZU1hcmtBbGxBc1JlbmRlcmVkRWZmZWN0IGZyb20gJy4vdXNlTWFya0FsbEFzUmVuZGVyZWRFZmZlY3QnO1xuaW1wb3J0IHVzZVN0YXRpY0VsZW1lbnRFbnRyaWVzIGZyb20gJy4vdXNlU3RhdGljRWxlbWVudEVudHJpZXMnO1xuXG50eXBlIExpdmVSZWdpb25Ud2luQ29udGFpbmVyUHJvcHMgPSB7XG4gICdhcmlhLWxhYmVsJz86IHN0cmluZztcbiAgJ2FyaWEtbGl2ZSc6ICdhc3NlcnRpdmUnIHwgJ3BvbGl0ZSc7XG4gICdhcmlhLXJvbGVkZXNjcmlwdGlvbic/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgcm9sZT86IHN0cmluZztcbiAgdGV4dEVsZW1lbnRDbGFzc05hbWU/OiBzdHJpbmc7XG59O1xuXG4vLyBUaGlzIGNvbnRhaW5lciBpcyBtYXJrZWQgYXMgcHJpdmF0ZSBiZWNhdXNlIHdlIGFzc3VtZSB0aGVyZSBpcyBvbmx5IG9uZSBpbnN0YW5jZSB1bmRlciB0aGUgPExpdmVSZWdpb25Ud2luQ29udGV4dD4uXG5jb25zdCBMaXZlUmVnaW9uVHdpbkNvbnRhaW5lcjogVkZDPExpdmVSZWdpb25Ud2luQ29udGFpbmVyUHJvcHM+ID0gKHtcbiAgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsXG4gICdhcmlhLWxpdmUnOiBhcmlhTGl2ZSxcbiAgJ2FyaWEtcm9sZWRlc2NyaXB0aW9uJzogYXJpYVJvbGVEZXNjcmlwdGlvbixcbiAgY2xhc3NOYW1lLFxuICByb2xlLFxuICB0ZXh0RWxlbWVudENsYXNzTmFtZVxufSkgPT4ge1xuICBjb25zdCBbc3RhdGljRWxlbWVudEVudHJpZXNdID0gdXNlU3RhdGljRWxlbWVudEVudHJpZXMoKTtcblxuICAvLyBXZSBhc3N1bWUgdGhlcmUgaXMgb25seSBvbmUgaW5zdGFuY2UgdW5kZXIgdGhlIDxMaXZlUmVnaW9uVHdpbkNvbnRleHQ+LlxuICAvLyBUaGUgYXNzdW1wdGlvbiBtYWRlIHVzIHNhZmUgdG8gbWFyayBldmVyeXRoaW5nIGlzIHJlbmRlcmVkLlxuICAvLyBJbiBjb250cmFyeSwgaWYgd2UgaGF2ZSAwLXRvLW1hbnkgYXQgZGlmZmVyZW50IHRpbWUsIHdlIG1heSBmYWxzZWx5IG1hcmsgc29tZXRoaW5nIGFzIHJlbmRlcmVkLlxuICB1c2VNYXJrQWxsQXNSZW5kZXJlZEVmZmVjdCgpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgYXJpYS1saXZlPXthcmlhTGl2ZX1cbiAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPXthcmlhUm9sZURlc2NyaXB0aW9ufVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICByb2xlPXtyb2xlfVxuICAgID5cbiAgICAgIHtzdGF0aWNFbGVtZW50RW50cmllcy5tYXAoKHsgZWxlbWVudCwga2V5IH0pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBlbGVtZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2IGFyaWEtYXRvbWljPXt0cnVlfSBjbGFzc05hbWU9e3RleHRFbGVtZW50Q2xhc3NOYW1lfSBrZXk9e2tleX0+XG4gICAgICAgICAgICAgIHtlbGVtZW50fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiA8RnJhZ21lbnQga2V5PXtrZXl9PntlbGVtZW50fTwvRnJhZ21lbnQ+O1xuICAgICAgfSl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5MaXZlUmVnaW9uVHdpbkNvbnRhaW5lci5kZWZhdWx0UHJvcHMgPSB7XG4gICdhcmlhLWxhYmVsJzogdW5kZWZpbmVkLFxuICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nOiB1bmRlZmluZWQsXG4gIGNsYXNzTmFtZTogdW5kZWZpbmVkLFxuICByb2xlOiB1bmRlZmluZWQsXG4gIHRleHRFbGVtZW50Q2xhc3NOYW1lOiB1bmRlZmluZWRcbn07XG5cbkxpdmVSZWdpb25Ud2luQ29udGFpbmVyLnByb3BUeXBlcyA9IHtcbiAgJ2FyaWEtbGFiZWwnOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvLyBQcm9wVHlwZXMub25lT2YoKSByZXR1cm5zIHR5cGUgb2YgYHN0cmluZ2AsIGJ1dCBub3QgYCdhc3NlcnRpdmUnIHwgJ3BvbGl0ZSdgLlxuICAvLyBAdHMtaWdub3JlXG4gICdhcmlhLWxpdmUnOiBQcm9wVHlwZXMub25lT2YoWydhc3NlcnRpdmUnLCAncG9saXRlJ10pLmlzUmVxdWlyZWQsXG4gICdhcmlhLXJvbGVkZXNjcmlwdGlvbic6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgcm9sZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgdGV4dEVsZW1lbnRDbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmdcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExpdmVSZWdpb25Ud2luQ29udGFpbmVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBSUEsSUFBQUcsMkJBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLHdCQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFBZ0UsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFKLHdCQUFBUSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixHQUFBLEVBQUFZLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxN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