UNPKG

terra-table

Version:

The Terra Table component provides user a way to display data in an accessible table format.

17 lines (16 loc) 1.3 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var getFocusableElements = function getFocusableElements(parentElement) { // add all elements we want to include in our selection var focusableElementSelector = "a[href]:not([tabindex='-1']), area[href]:not([tabindex='-1']), input:not([disabled]):not([tabindex='-1']), " + "select:not([disabled]):not([tabindex='-1']), textarea:not([disabled]):not([tabindex='-1']), button:not([disabled]):not([tabindex='-1']), " + "iframe:not([tabindex='-1']), [tabindex]:not([tabindex='-1']), [contentEditable=true]:not([tabindex='-1'])"; var focusableElements = (0, _toConsumableArray2.default)(parentElement.querySelectorAll("".concat(focusableElementSelector))).filter(function (element) { return !element.hasAttribute('disabled') && !element.getAttribute('aria-hidden') && !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length) && window.getComputedStyle(element).visibility !== 'hidden'; }); return focusableElements; }; var _default = exports.default = getFocusableElements;