UNPKG

botframework-webchat-component

Version:
61 lines (55 loc) 10.6 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")); 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 }; } // This is an element, when focused, will send the focus to the ref specified in "redirectRef". // Although the focus is being redirected, browser will scroll this redirector element into view. // Browser's "scrollIntoView()" call cannot be prevented through event.preventDefault() in both // bubble and capture phase of "focus" event. // When this focus redirector is put inside a scrollable container, you may want to resize or reposition // it to prevent unintentional scroll done by the browser default behavior. var FocusRedirector = function FocusRedirector(_ref) { var className = _ref.className, onFocus = _ref.onFocus, redirectRef = _ref.redirectRef; var handleFocus = (0, _react.useCallback)(function () { var _redirectRef$current; redirectRef === null || redirectRef === void 0 ? void 0 : (_redirectRef$current = redirectRef.current) === null || _redirectRef$current === void 0 ? void 0 : _redirectRef$current.focus(); onFocus && onFocus(); }, [onFocus, redirectRef]); // 2023-02-23: With NVDA 2022.1 and 2022.4, when in browse mode, up/down arrow keys no longer focus. // We no longer need to set aria-hidden="true" to hide it from browse mode. // 2021-09-21: For NVDA, we should set aria-hidden="true". // When using NVDA in browse mode, press up/down arrow keys will focus on this redirector. // This redirector is designed to capture TAB only and should not react on browse mode. // However, reacting with browse mode is currently okay. Just better to leave it alone. return /*#__PURE__*/_react.default.createElement("div", { className: className, onFocus: handleFocus, tabIndex: 0 }); }; FocusRedirector.defaultProps = { className: undefined, onFocus: undefined, redirectRef: undefined }; FocusRedirector.propTypes = { className: _propTypes.default.string, onFocus: _propTypes.default.func, // PropTypes is not fully compatible with TypeScript. // @ts-ignore redirectRef: _propTypes.default.shape({ current: _propTypes.default.instanceOf(HTMLElement) }) }; var _default = FocusRedirector; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiRm9jdXNSZWRpcmVjdG9yIiwiX3JlZiIsImNsYXNzTmFtZSIsIm9uRm9jdXMiLCJyZWRpcmVjdFJlZiIsImhhbmRsZUZvY3VzIiwidXNlQ2FsbGJhY2siLCJfcmVkaXJlY3RSZWYkY3VycmVudCIsImN1cnJlbnQiLCJmb2N1cyIsImNyZWF0ZUVsZW1lbnQiLCJ0YWJJbmRleCIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInN0cmluZyIsImZ1bmMiLCJzaGFwZSIsImluc3RhbmNlT2YiLCJIVE1MRWxlbWVudCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1V0aWxzL0ZvY3VzUmVkaXJlY3Rvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBGQywgTXV0YWJsZVJlZk9iamVjdCB9IGZyb20gJ3JlYWN0JztcblxuLy8gVGhpcyBpcyBhbiBlbGVtZW50LCB3aGVuIGZvY3VzZWQsIHdpbGwgc2VuZCB0aGUgZm9jdXMgdG8gdGhlIHJlZiBzcGVjaWZpZWQgaW4gXCJyZWRpcmVjdFJlZlwiLlxuLy8gQWx0aG91Z2ggdGhlIGZvY3VzIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGJyb3dzZXIgd2lsbCBzY3JvbGwgdGhpcyByZWRpcmVjdG9yIGVsZW1lbnQgaW50byB2aWV3LlxuXG4vLyBCcm93c2VyJ3MgXCJzY3JvbGxJbnRvVmlldygpXCIgY2FsbCBjYW5ub3QgYmUgcHJldmVudGVkIHRocm91Z2ggZXZlbnQucHJldmVudERlZmF1bHQoKSBpbiBib3RoXG4vLyBidWJibGUgYW5kIGNhcHR1cmUgcGhhc2Ugb2YgXCJmb2N1c1wiIGV2ZW50LlxuXG4vLyBXaGVuIHRoaXMgZm9jdXMgcmVkaXJlY3RvciBpcyBwdXQgaW5zaWRlIGEgc2Nyb2xsYWJsZSBjb250YWluZXIsIHlvdSBtYXkgd2FudCB0byByZXNpemUgb3IgcmVwb3NpdGlvblxuLy8gaXQgdG8gcHJldmVudCB1bmludGVudGlvbmFsIHNjcm9sbCBkb25lIGJ5IHRoZSBicm93c2VyIGRlZmF1bHQgYmVoYXZpb3IuXG5cbnR5cGUgRm9jdXNSZWRpcmVjdG9yUHJvcHMgPSB7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgb25Gb2N1cz86ICgpID0+IHZvaWQ7XG4gIHJlZGlyZWN0UmVmPzogTXV0YWJsZVJlZk9iamVjdDxIVE1MRWxlbWVudD47XG59O1xuXG5jb25zdCBGb2N1c1JlZGlyZWN0b3I6IEZDPEZvY3VzUmVkaXJlY3RvclByb3BzPiA9ICh7IGNsYXNzTmFtZSwgb25Gb2N1cywgcmVkaXJlY3RSZWYgfSkgPT4ge1xuICBjb25zdCBoYW5kbGVGb2N1cyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICByZWRpcmVjdFJlZj8uY3VycmVudD8uZm9jdXMoKTtcbiAgICBvbkZvY3VzICYmIG9uRm9jdXMoKTtcbiAgfSwgW29uRm9jdXMsIHJlZGlyZWN0UmVmXSk7XG5cbiAgLy8gMjAyMy0wMi0yMzogV2l0aCBOVkRBIDIwMjIuMSBhbmQgMjAyMi40LCB3aGVuIGluIGJyb3dzZSBtb2RlLCB1cC9kb3duIGFycm93IGtleXMgbm8gbG9uZ2VyIGZvY3VzLlxuICAvLyAgICAgICAgICAgICBXZSBubyBsb25nZXIgbmVlZCB0byBzZXQgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdG8gaGlkZSBpdCBmcm9tIGJyb3dzZSBtb2RlLlxuICAvLyAyMDIxLTA5LTIxOiBGb3IgTlZEQSwgd2Ugc2hvdWxkIHNldCBhcmlhLWhpZGRlbj1cInRydWVcIi5cbiAgLy8gICAgICAgICAgICAgV2hlbiB1c2luZyBOVkRBIGluIGJyb3dzZSBtb2RlLCBwcmVzcyB1cC9kb3duIGFycm93IGtleXMgd2lsbCBmb2N1cyBvbiB0aGlzIHJlZGlyZWN0b3IuXG4gIC8vICAgICAgICAgICAgIFRoaXMgcmVkaXJlY3RvciBpcyBkZXNpZ25lZCB0byBjYXB0dXJlIFRBQiBvbmx5IGFuZCBzaG91bGQgbm90IHJlYWN0IG9uIGJyb3dzZSBtb2RlLlxuICAvLyAgICAgICAgICAgICBIb3dldmVyLCByZWFjdGluZyB3aXRoIGJyb3dzZSBtb2RlIGlzIGN1cnJlbnRseSBva2F5LiBKdXN0IGJldHRlciB0byBsZWF2ZSBpdCBhbG9uZS5cblxuICByZXR1cm4gPGRpdiBjbGFzc05hbWU9e2NsYXNzTmFtZX0gb25Gb2N1cz17aGFuZGxlRm9jdXN9IHRhYkluZGV4PXswfSAvPjtcbn07XG5cbkZvY3VzUmVkaXJlY3Rvci5kZWZhdWx0UHJvcHMgPSB7XG4gIGNsYXNzTmFtZTogdW5kZWZpbmVkLFxuICBvbkZvY3VzOiB1bmRlZmluZWQsXG4gIHJlZGlyZWN0UmVmOiB1bmRlZmluZWRcbn07XG5cbkZvY3VzUmVkaXJlY3Rvci5wcm9wVHlwZXMgPSB7XG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgb25Gb2N1czogUHJvcFR5cGVzLmZ1bmMsXG4gIC8vIFByb3BUeXBlcyBpcyBub3QgZnVsbHkgY29tcGF0aWJsZSB3aXRoIFR5cGVTY3JpcHQuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcmVkaXJlY3RSZWY6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgY3VycmVudDogUHJvcFR5cGVzLmluc3RhbmNlT2YoSFRNTEVsZW1lbnQpXG4gIH0pXG59O1xuXG5leHBvcnQgZGVmYXVsdCBGb2N1c1JlZGlyZWN0b3I7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxVQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFBMkMsU0FBQUcseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFGLHdCQUFBTSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixHQUFBLEVBQUFZLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFYLEdBQUEsRUFBQVksR0FBQSxjQUFBSSxJQUFBLEtBQUFBLElBQUEsQ0FBQVYsR0FBQSxJQUFBVSxJQUFBLENBQUFDLEdBQUEsS0FBQVIsTUFBQSxDQUFBQyxjQUFBLENBQUFILE1BQUEsRUFBQUssR0FBQSxFQUFBSSxJQUFBLFlBQUFULE1BQUEsQ0FBQUssR0FBQSxJQUFBWixHQUFBLENBQUFZLEdBQUEsU0FBQUwsTUFBQSxDQUFBSixPQUFBLEdBQUFILEdBQUEsTUFBQUksS0FBQSxJQUFBQSxLQUFBLENBQUFhLEdBQUEsQ0FBQWpCLEdBQUEsRUFBQU8sTUFBQSxZQUFBQSxNQUFBO0FBQUEsU0FBQWhCLHVCQUFBUyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUcsT0FBQSxFQUFBSCxHQUFBO0FBSTNDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQVFBLElBQU1rQixlQUF5QyxHQUFHLFNBQTVDQSxlQUF5Q0EsQ0FBQUMsSUFBQSxFQUE0QztFQUFBLElBQXRDQyxTQUFTLEdBQUFELElBQUEsQ0FBVEMsU0FBUztJQUFFQyxPQUFPLEdBQUFGLElBQUEsQ0FBUEUsT0FBTztJQUFFQyxXQUFXLEdBQUFILElBQUEsQ0FBWEcsV0FBVztFQUNsRixJQUFNQyxXQUFXLEdBQUcsSUFBQUMsa0JBQVcsRUFBQyxZQUFNO0lBQUEsSUFBQUMsb0JBQUE7SUFDcENILFdBQVcsYUFBWEEsV0FBVyx3QkFBQUcsb0JBQUEsR0FBWEgsV0FBVyxDQUFFSSxPQUFPLGNBQUFELG9CQUFBLHVCQUFwQkEsb0JBQUEsQ0FBc0JFLEtBQUssQ0FBQyxDQUFDO0lBQzdCTixPQUFPLElBQUlBLE9BQU8sQ0FBQyxDQUFDO0VBQ3RCLENBQUMsRUFBRSxDQUFDQSxPQUFPLEVBQUVDLFdBQVcsQ0FBQyxDQUFDOztFQUUxQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0VBRUEsb0JBQU83QixNQUFBLENBQUFVLE9BQUEsQ0FBQXlCLGFBQUE7SUFBS1IsU0FBUyxFQUFFQSxTQUFVO0lBQUNDLE9BQU8sRUFBRUUsV0FBWTtJQUFDTSxRQUFRLEVBQUU7RUFBRSxDQUFFLENBQUM7QUFDekUsQ0FBQztBQUVEWCxlQUFlLENBQUNZLFlBQVksR0FBRztFQUM3QlYsU0FBUyxFQUFFVyxTQUFTO0VBQ3BCVixPQUFPLEVBQUVVLFNBQVM7RUFDbEJULFdBQVcsRUFBRVM7QUFDZixDQUFDO0FBRURiLGVBQWUsQ0FBQ2MsU0FBUyxHQUFHO0VBQzFCWixTQUFTLEVBQUVhLGtCQUFTLENBQUNDLE1BQU07RUFDM0JiLE9BQU8sRUFBRVksa0JBQVMsQ0FBQ0UsSUFBSTtFQUN2QjtFQUNBO0VBQ0FiLFdBQVcsRUFBRVcsa0JBQVMsQ0FBQ0csS0FBSyxDQUFDO0lBQzNCVixPQUFPLEVBQUVPLGtCQUFTLENBQUNJLFVBQVUsQ0FBQ0MsV0FBVztFQUMzQyxDQUFDO0FBQ0gsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FFYXJCLGVBQWU7QUFBQXNCLE9BQUEsQ0FBQXJDLE9BQUEsR0FBQW9DLFFBQUEifQ==