UNPKG

botframework-webchat-component

Version:
34 lines (33 loc) 4.22 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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3VzZUNvbnRleHQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0Iiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJyZW1vdmVJbmxpbmUiLCJhcnJheSIsIml0ZW0iLCJpbmRleCIsImluZGV4T2YiLCJzcGxpY2UiLCJ1c2VGb2N1c0FjY2Vzc0tleUVmZmVjdCIsImtleSIsInJlZiIsIkVycm9yIiwiY29udGV4dCIsInVzZUFjY2Vzc0tleVNpbmtDb250ZXh0IiwidXNlRWZmZWN0IiwiZW50cnkiLCJrZXlzIiwic3BsaXQiLCJmb2NpaSIsInB1c2giXSwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9VdGlscy9BY2Nlc3NLZXlTaW5rL3VzZUZvY3VzQWNjZXNzS2V5RWZmZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZUFjY2Vzc0tleVNpbmtDb250ZXh0IGZyb20gJy4vaW50ZXJuYWwvdXNlQ29udGV4dCc7XG5cbmZ1bmN0aW9uIHJlbW92ZUlubGluZShhcnJheSwgaXRlbSkge1xuICBjb25zdCBpbmRleCA9IGFycmF5LmluZGV4T2YoaXRlbSk7XG5cbiAgfmluZGV4ICYmIGFycmF5LnNwbGljZShpbmRleCwgMSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUZvY3VzQWNjZXNzS2V5RWZmZWN0KGtleSwgcmVmKSB7XG4gIGlmIChrZXkgJiYgdHlwZW9mIGtleSAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZUZvY3VzQWNjZXNzS2V5RWZmZWN0OiBJZiBkZWZpbmVkLCBcImtleVwiIG11c3QgYmUgb2YgdHlwZSBcInN0cmluZ1wiLicpO1xuICB9IGVsc2UgaWYgKCFyZWYgfHwgISgnY3VycmVudCcgaW4gcmVmKSkge1xuICAgIHRocm93IG5ldyBFcnJvcigndXNlRm9jdXNBY2Nlc3NLZXlFZmZlY3Q6IFwicmVmXCIgbXVzdCBiZSBkZWZpbmVkIGFuZCBoYXMgXCJjdXJyZW50XCIgcHJvcGVydHkuJyk7XG4gIH1cblxuICBjb25zdCBjb250ZXh0ID0gdXNlQWNjZXNzS2V5U2lua0NvbnRleHQoKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChrZXkpIHtcbiAgICAgIGNvbnN0IGVudHJ5ID0geyBrZXlzOiBrZXkuc3BsaXQoL1xccysvZ3UpLCByZWYgfTtcblxuICAgICAgY29udGV4dC5mb2NpaS5wdXNoKGVudHJ5KTtcblxuICAgICAgcmV0dXJuICgpID0+IHJlbW92ZUlubGluZShjb250ZXh0LmZvY2lpLCBlbnRyeSk7XG4gICAgfVxuICB9LCBbY29udGV4dCwga2V5LCByZWZdKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQTRELFNBQUFFLHVCQUFBQyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBRTVELFNBQVNHLFlBQVlBLENBQUNDLEtBQUssRUFBRUMsSUFBSSxFQUFFO0VBQ2pDLElBQU1DLEtBQUssR0FBR0YsS0FBSyxDQUFDRyxPQUFPLENBQUNGLElBQUksQ0FBQztFQUVqQyxDQUFDQyxLQUFLLElBQUlGLEtBQUssQ0FBQ0ksTUFBTSxDQUFDRixLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ2xDO0FBRWUsU0FBU0csdUJBQXVCQSxDQUFDQyxHQUFHLEVBQUVDLEdBQUcsRUFBRTtFQUN4RCxJQUFJRCxHQUFHLElBQUksT0FBT0EsR0FBRyxLQUFLLFFBQVEsRUFBRTtJQUNsQyxNQUFNLElBQUlFLEtBQUssQ0FBQyxzRUFBc0UsQ0FBQztFQUN6RixDQUFDLE1BQU0sSUFBSSxDQUFDRCxHQUFHLElBQUksRUFBRSxTQUFTLElBQUlBLEdBQUcsQ0FBQyxFQUFFO0lBQ3RDLE1BQU0sSUFBSUMsS0FBSyxDQUFDLDRFQUE0RSxDQUFDO0VBQy9GO0VBRUEsSUFBTUMsT0FBTyxHQUFHLElBQUFDLG1CQUF1QixFQUFDLENBQUM7RUFFekMsSUFBQUMsZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsSUFBSUwsR0FBRyxFQUFFO01BQ1AsSUFBTU0sS0FBSyxHQUFHO1FBQUVDLElBQUksRUFBRVAsR0FBRyxDQUFDUSxLQUFLLENBQUMsdUVBQU8sQ0FBQztRQUFFUCxHQUFHLEVBQUhBO01BQUksQ0FBQztNQUUvQ0UsT0FBTyxDQUFDTSxLQUFLLENBQUNDLElBQUksQ0FBQ0osS0FBSyxDQUFDO01BRXpCLE9BQU87UUFBQSxPQUFNYixZQUFZLENBQUNVLE9BQU8sQ0FBQ00sS0FBSyxFQUFFSCxLQUFLLENBQUM7TUFBQTtJQUNqRDtFQUNGLENBQUMsRUFBRSxDQUFDSCxPQUFPLEVBQUVILEdBQUcsRUFBRUMsR0FBRyxDQUFDLENBQUM7QUFDekIifQ==