botframework-webchat-component
Version:
React component of botframework-webchat
55 lines (46 loc) • 6.23 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 _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireWildcard(require("react"));
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 }; }
// 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 current = redirectRef.current;
current && current.focus();
onFocus && onFocus();
}, [onFocus, redirectRef]);
return /*#__PURE__*/_react.default.createElement("div", {
className: className,
onFocus: handleFocus,
tabIndex: 0
});
};
FocusRedirector.defaultProps = {
className: undefined,
onFocus: undefined
};
FocusRedirector.propTypes = {
className: _propTypes.default.string,
onFocus: _propTypes.default.func,
redirectRef: _propTypes.default.shape({
current: _propTypes.default.any
}).isRequired
};
var _default = FocusRedirector;
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9VdGlscy9Gb2N1c1JlZGlyZWN0b3IuanMiXSwibmFtZXMiOlsiRm9jdXNSZWRpcmVjdG9yIiwiY2xhc3NOYW1lIiwib25Gb2N1cyIsInJlZGlyZWN0UmVmIiwiaGFuZGxlRm9jdXMiLCJjdXJyZW50IiwiZm9jdXMiLCJkZWZhdWx0UHJvcHMiLCJ1bmRlZmluZWQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJmdW5jIiwic2hhcGUiLCJhbnkiLCJpc1JlcXVpcmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7Ozs7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFFQSxJQUFNQSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLE9BQXlDO0FBQUEsTUFBdENDLFNBQXNDLFFBQXRDQSxTQUFzQztBQUFBLE1BQTNCQyxPQUEyQixRQUEzQkEsT0FBMkI7QUFBQSxNQUFsQkMsV0FBa0IsUUFBbEJBLFdBQWtCO0FBQy9ELE1BQU1DLFdBQVcsR0FBRyx3QkFBWSxZQUFNO0FBQUEsUUFDNUJDLE9BRDRCLEdBQ2hCRixXQURnQixDQUM1QkUsT0FENEI7QUFHcENBLElBQUFBLE9BQU8sSUFBSUEsT0FBTyxDQUFDQyxLQUFSLEVBQVg7QUFDQUosSUFBQUEsT0FBTyxJQUFJQSxPQUFPLEVBQWxCO0FBQ0QsR0FMbUIsRUFLakIsQ0FBQ0EsT0FBRCxFQUFVQyxXQUFWLENBTGlCLENBQXBCO0FBT0Esc0JBQU87QUFBSyxJQUFBLFNBQVMsRUFBRUYsU0FBaEI7QUFBMkIsSUFBQSxPQUFPLEVBQUVHLFdBQXBDO0FBQWlELElBQUEsUUFBUSxFQUFFO0FBQTNELElBQVA7QUFDRCxDQVREOztBQVdBSixlQUFlLENBQUNPLFlBQWhCLEdBQStCO0FBQzdCTixFQUFBQSxTQUFTLEVBQUVPLFNBRGtCO0FBRTdCTixFQUFBQSxPQUFPLEVBQUVNO0FBRm9CLENBQS9CO0FBS0FSLGVBQWUsQ0FBQ1MsU0FBaEIsR0FBNEI7QUFDMUJSLEVBQUFBLFNBQVMsRUFBRVMsbUJBQVVDLE1BREs7QUFFMUJULEVBQUFBLE9BQU8sRUFBRVEsbUJBQVVFLElBRk87QUFHMUJULEVBQUFBLFdBQVcsRUFBRU8sbUJBQVVHLEtBQVYsQ0FBZ0I7QUFDM0JSLElBQUFBLE9BQU8sRUFBRUssbUJBQVVJO0FBRFEsR0FBaEIsRUFFVkM7QUFMdUIsQ0FBNUI7ZUFRZWYsZSIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcblxuLy8gVGhpcyBpcyBhbiBlbGVtZW50LCB3aGVuIGZvY3VzZWQsIHdpbGwgc2VuZCB0aGUgZm9jdXMgdG8gdGhlIHJlZiBzcGVjaWZpZWQgaW4gXCJyZWRpcmVjdFJlZlwiLlxuLy8gQWx0aG91Z2ggdGhlIGZvY3VzIGlzIGJlaW5nIHJlZGlyZWN0ZWQsIGJyb3dzZXIgd2lsbCBzY3JvbGwgdGhpcyByZWRpcmVjdG9yIGVsZW1lbnQgaW50byB2aWV3LlxuXG4vLyBCcm93c2VyJ3MgXCJzY3JvbGxJbnRvVmlldygpXCIgY2FsbCBjYW5ub3QgYmUgcHJldmVudGVkIHRocm91Z2ggZXZlbnQucHJldmVudERlZmF1bHQoKSBpbiBib3RoXG4vLyBidWJibGUgYW5kIGNhcHR1cmUgcGhhc2Ugb2YgXCJmb2N1c1wiIGV2ZW50LlxuXG4vLyBXaGVuIHRoaXMgZm9jdXMgcmVkaXJlY3RvciBpcyBwdXQgaW5zaWRlIGEgc2Nyb2xsYWJsZSBjb250YWluZXIsIHlvdSBtYXkgd2FudCB0byByZXNpemUgb3IgcmVwb3NpdGlvblxuLy8gaXQgdG8gcHJldmVudCB1bmludGVudGlvbmFsIHNjcm9sbCBkb25lIGJ5IHRoZSBicm93c2VyIGRlZmF1bHQgYmVoYXZpb3IuXG5cbmNvbnN0IEZvY3VzUmVkaXJlY3RvciA9ICh7IGNsYXNzTmFtZSwgb25Gb2N1cywgcmVkaXJlY3RSZWYgfSkgPT4ge1xuICBjb25zdCBoYW5kbGVGb2N1cyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCB7IGN1cnJlbnQgfSA9IHJlZGlyZWN0UmVmO1xuXG4gICAgY3VycmVudCAmJiBjdXJyZW50LmZvY3VzKCk7XG4gICAgb25Gb2N1cyAmJiBvbkZvY3VzKCk7XG4gIH0sIFtvbkZvY3VzLCByZWRpcmVjdFJlZl0pO1xuXG4gIHJldHVybiA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfSBvbkZvY3VzPXtoYW5kbGVGb2N1c30gdGFiSW5kZXg9ezB9IC8+O1xufTtcblxuRm9jdXNSZWRpcmVjdG9yLmRlZmF1bHRQcm9wcyA9IHtcbiAgY2xhc3NOYW1lOiB1bmRlZmluZWQsXG4gIG9uRm9jdXM6IHVuZGVmaW5lZFxufTtcblxuRm9jdXNSZWRpcmVjdG9yLnByb3BUeXBlcyA9IHtcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvbkZvY3VzOiBQcm9wVHlwZXMuZnVuYyxcbiAgcmVkaXJlY3RSZWY6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgY3VycmVudDogUHJvcFR5cGVzLmFueVxuICB9KS5pc1JlcXVpcmVkXG59O1xuXG5leHBvcnQgZGVmYXVsdCBGb2N1c1JlZGlyZWN0b3I7XG4iXX0=
;