UNPKG

botframework-webchat-component

Version:
32 lines (26 loc) 3.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = getTabIndex; var _window = window, userAgent = _window.navigator.userAgent; var IE_FOCUSABLE_LIST = ['a', 'body', 'button', 'frame', 'iframe', 'img', 'input', 'isindex', 'object', 'select', 'textarea']; var IS_FIREFOX = /Firefox\//i.test(userAgent); var IS_IE = /Trident\//i.test(userAgent); function getTabIndex(element) { var tabIndex = element.tabIndex; if (IS_IE) { var tabIndexAttribute = element.attributes.getNamedItem('tabindex'); if (!tabIndexAttribute || !tabIndexAttribute.specified) { return ~IE_FOCUSABLE_LIST.indexOf(element.nodeName.toLowerCase()) ? 0 : null; } } else if (!~tabIndex) { var attr = element.getAttribute('tabindex'); if (attr === null || attr === '' && !IS_FIREFOX) { return null; } } return tabIndex; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9VdGlscy9UeXBlRm9jdXNTaW5rL2dldFRhYkluZGV4LnRzIl0sIm5hbWVzIjpbIndpbmRvdyIsInVzZXJBZ2VudCIsIm5hdmlnYXRvciIsIklFX0ZPQ1VTQUJMRV9MSVNUIiwiSVNfRklSRUZPWCIsInRlc3QiLCJJU19JRSIsImdldFRhYkluZGV4IiwiZWxlbWVudCIsInRhYkluZGV4IiwidGFiSW5kZXhBdHRyaWJ1dGUiLCJhdHRyaWJ1dGVzIiwiZ2V0TmFtZWRJdGVtIiwic3BlY2lmaWVkIiwiaW5kZXhPZiIsIm5vZGVOYW1lIiwidG9Mb3dlckNhc2UiLCJhdHRyIiwiZ2V0QXR0cmlidXRlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Y0FFSUEsTTtJQURXQyxTLFdBQWJDLFMsQ0FBYUQsUztBQUdmLElBQU1FLGlCQUFpQixHQUFHLENBQ3hCLEdBRHdCLEVBRXhCLE1BRndCLEVBR3hCLFFBSHdCLEVBSXhCLE9BSndCLEVBS3hCLFFBTHdCLEVBTXhCLEtBTndCLEVBT3hCLE9BUHdCLEVBUXhCLFNBUndCLEVBU3hCLFFBVHdCLEVBVXhCLFFBVndCLEVBV3hCLFVBWHdCLENBQTFCO0FBY0EsSUFBTUMsVUFBVSxHQUFHLGFBQWNDLElBQWQsQ0FBbUJKLFNBQW5CLENBQW5CO0FBQ0EsSUFBTUssS0FBSyxHQUFHLGFBQWNELElBQWQsQ0FBbUJKLFNBQW5CLENBQWQ7O0FBRWUsU0FBU00sV0FBVCxDQUFxQkMsT0FBckIsRUFBOEI7QUFBQSxNQUNuQ0MsUUFEbUMsR0FDdEJELE9BRHNCLENBQ25DQyxRQURtQzs7QUFHM0MsTUFBSUgsS0FBSixFQUFXO0FBQ1QsUUFBTUksaUJBQWlCLEdBQUdGLE9BQU8sQ0FBQ0csVUFBUixDQUFtQkMsWUFBbkIsQ0FBZ0MsVUFBaEMsQ0FBMUI7O0FBRUEsUUFBSSxDQUFDRixpQkFBRCxJQUFzQixDQUFDQSxpQkFBaUIsQ0FBQ0csU0FBN0MsRUFBd0Q7QUFDdEQsYUFBTyxDQUFDVixpQkFBaUIsQ0FBQ1csT0FBbEIsQ0FBMEJOLE9BQU8sQ0FBQ08sUUFBUixDQUFpQkMsV0FBakIsRUFBMUIsQ0FBRCxHQUE2RCxDQUE3RCxHQUFpRSxJQUF4RTtBQUNEO0FBQ0YsR0FORCxNQU1PLElBQUksQ0FBQyxDQUFDUCxRQUFOLEVBQWdCO0FBQ3JCLFFBQU1RLElBQUksR0FBR1QsT0FBTyxDQUFDVSxZQUFSLENBQXFCLFVBQXJCLENBQWI7O0FBRUEsUUFBSUQsSUFBSSxLQUFLLElBQVQsSUFBa0JBLElBQUksS0FBSyxFQUFULElBQWUsQ0FBQ2IsVUFBdEMsRUFBbUQ7QUFDakQsYUFBTyxJQUFQO0FBQ0Q7QUFDRjs7QUFFRCxTQUFPSyxRQUFQO0FBQ0QiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHtcbiAgbmF2aWdhdG9yOiB7IHVzZXJBZ2VudCB9XG59ID0gd2luZG93O1xuXG5jb25zdCBJRV9GT0NVU0FCTEVfTElTVCA9IFtcbiAgJ2EnLFxuICAnYm9keScsXG4gICdidXR0b24nLFxuICAnZnJhbWUnLFxuICAnaWZyYW1lJyxcbiAgJ2ltZycsXG4gICdpbnB1dCcsXG4gICdpc2luZGV4JyxcbiAgJ29iamVjdCcsXG4gICdzZWxlY3QnLFxuICAndGV4dGFyZWEnXG5dO1xuXG5jb25zdCBJU19GSVJFRk9YID0gL0ZpcmVmb3hcXC8vaXUudGVzdCh1c2VyQWdlbnQpO1xuY29uc3QgSVNfSUUgPSAvVHJpZGVudFxcLy9pdS50ZXN0KHVzZXJBZ2VudCk7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFRhYkluZGV4KGVsZW1lbnQpIHtcbiAgY29uc3QgeyB0YWJJbmRleCB9ID0gZWxlbWVudDtcblxuICBpZiAoSVNfSUUpIHtcbiAgICBjb25zdCB0YWJJbmRleEF0dHJpYnV0ZSA9IGVsZW1lbnQuYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oJ3RhYmluZGV4Jyk7XG5cbiAgICBpZiAoIXRhYkluZGV4QXR0cmlidXRlIHx8ICF0YWJJbmRleEF0dHJpYnV0ZS5zcGVjaWZpZWQpIHtcbiAgICAgIHJldHVybiB+SUVfRk9DVVNBQkxFX0xJU1QuaW5kZXhPZihlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpID8gMCA6IG51bGw7XG4gICAgfVxuICB9IGVsc2UgaWYgKCF+dGFiSW5kZXgpIHtcbiAgICBjb25zdCBhdHRyID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG5cbiAgICBpZiAoYXR0ciA9PT0gbnVsbCB8fCAoYXR0ciA9PT0gJycgJiYgIUlTX0ZJUkVGT1gpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFiSW5kZXg7XG59XG4iXX0=