UNPKG

botframework-webchat-component

Version:
40 lines (33 loc) 3.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useFocusAccessKeyEffect; var _react = require("react"); var _useContext = _interopRequireDefault(require("./internal/useContext")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function removeInline(array, item) { var index = array.indexOf(item); ~index && array.splice(index, 1); } function useFocusAccessKeyEffect(key, ref) { if (key && typeof key !== 'string') { throw new Error('useFocusAccessKeyEffect: If defined, "key" must be of type "string".'); } else if (!ref || !('current' in ref)) { throw new Error('useFocusAccessKeyEffect: "ref" must be defined and has "current" property.'); } var context = (0, _useContext.default)(); (0, _react.useEffect)(function () { if (key) { var entry = { keys: key.split(/[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+/g), ref: ref }; context.focii.push(entry); return function () { return removeInline(context.focii, entry); }; } }, [context, key, ref]); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9VdGlscy9BY2Nlc3NLZXlTaW5rL3VzZUZvY3VzQWNjZXNzS2V5RWZmZWN0LmpzIl0sIm5hbWVzIjpbInJlbW92ZUlubGluZSIsImFycmF5IiwiaXRlbSIsImluZGV4IiwiaW5kZXhPZiIsInNwbGljZSIsInVzZUZvY3VzQWNjZXNzS2V5RWZmZWN0Iiwia2V5IiwicmVmIiwiRXJyb3IiLCJjb250ZXh0IiwiZW50cnkiLCJrZXlzIiwic3BsaXQiLCJmb2NpaSIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFQTs7OztBQUVBLFNBQVNBLFlBQVQsQ0FBc0JDLEtBQXRCLEVBQTZCQyxJQUE3QixFQUFtQztBQUNqQyxNQUFNQyxLQUFLLEdBQUdGLEtBQUssQ0FBQ0csT0FBTixDQUFjRixJQUFkLENBQWQ7QUFFQSxHQUFDQyxLQUFELElBQVVGLEtBQUssQ0FBQ0ksTUFBTixDQUFhRixLQUFiLEVBQW9CLENBQXBCLENBQVY7QUFDRDs7QUFFYyxTQUFTRyx1QkFBVCxDQUFpQ0MsR0FBakMsRUFBc0NDLEdBQXRDLEVBQTJDO0FBQ3hELE1BQUlELEdBQUcsSUFBSSxPQUFPQSxHQUFQLEtBQWUsUUFBMUIsRUFBb0M7QUFDbEMsVUFBTSxJQUFJRSxLQUFKLENBQVUsc0VBQVYsQ0FBTjtBQUNELEdBRkQsTUFFTyxJQUFJLENBQUNELEdBQUQsSUFBUSxFQUFFLGFBQWFBLEdBQWYsQ0FBWixFQUFpQztBQUN0QyxVQUFNLElBQUlDLEtBQUosQ0FBVSw0RUFBVixDQUFOO0FBQ0Q7O0FBRUQsTUFBTUMsT0FBTyxHQUFHLDBCQUFoQjtBQUVBLHdCQUFVLFlBQU07QUFDZCxRQUFJSCxHQUFKLEVBQVM7QUFDUCxVQUFNSSxLQUFLLEdBQUc7QUFBRUMsUUFBQUEsSUFBSSxFQUFFTCxHQUFHLENBQUNNLEtBQUosQ0FBVSx1RUFBVixDQUFSO0FBQTRCTCxRQUFBQSxHQUFHLEVBQUhBO0FBQTVCLE9BQWQ7QUFFQUUsTUFBQUEsT0FBTyxDQUFDSSxLQUFSLENBQWNDLElBQWQsQ0FBbUJKLEtBQW5CO0FBRUEsYUFBTztBQUFBLGVBQU1YLFlBQVksQ0FBQ1UsT0FBTyxDQUFDSSxLQUFULEVBQWdCSCxLQUFoQixDQUFsQjtBQUFBLE9BQVA7QUFDRDtBQUNGLEdBUkQsRUFRRyxDQUFDRCxPQUFELEVBQVVILEdBQVYsRUFBZUMsR0FBZixDQVJIO0FBU0QiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZUFjY2Vzc0tleVNpbmtDb250ZXh0IGZyb20gJy4vaW50ZXJuYWwvdXNlQ29udGV4dCc7XG5cbmZ1bmN0aW9uIHJlbW92ZUlubGluZShhcnJheSwgaXRlbSkge1xuICBjb25zdCBpbmRleCA9IGFycmF5LmluZGV4T2YoaXRlbSk7XG5cbiAgfmluZGV4ICYmIGFycmF5LnNwbGljZShpbmRleCwgMSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUZvY3VzQWNjZXNzS2V5RWZmZWN0KGtleSwgcmVmKSB7XG4gIGlmIChrZXkgJiYgdHlwZW9mIGtleSAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZUZvY3VzQWNjZXNzS2V5RWZmZWN0OiBJZiBkZWZpbmVkLCBcImtleVwiIG11c3QgYmUgb2YgdHlwZSBcInN0cmluZ1wiLicpO1xuICB9IGVsc2UgaWYgKCFyZWYgfHwgISgnY3VycmVudCcgaW4gcmVmKSkge1xuICAgIHRocm93IG5ldyBFcnJvcigndXNlRm9jdXNBY2Nlc3NLZXlFZmZlY3Q6IFwicmVmXCIgbXVzdCBiZSBkZWZpbmVkIGFuZCBoYXMgXCJjdXJyZW50XCIgcHJvcGVydHkuJyk7XG4gIH1cblxuICBjb25zdCBjb250ZXh0ID0gdXNlQWNjZXNzS2V5U2lua0NvbnRleHQoKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChrZXkpIHtcbiAgICAgIGNvbnN0IGVudHJ5ID0geyBrZXlzOiBrZXkuc3BsaXQoL1xccysvZ3UpLCByZWYgfTtcblxuICAgICAgY29udGV4dC5mb2NpaS5wdXNoKGVudHJ5KTtcblxuICAgICAgcmV0dXJuICgpID0+IHJlbW92ZUlubGluZShjb250ZXh0LmZvY2lpLCBlbnRyeSk7XG4gICAgfVxuICB9LCBbY29udGV4dCwga2V5LCByZWZdKTtcbn1cbiJdfQ==