123456789101112131415161718192021222324252627282930 |
- import AbstractVirtualNode from '../../core/base/virtual-node/abstract-virtual-node';
- import { getNodeFromTree } from '../../core/utils';
- import isHiddenWithCSS from './is-hidden-with-css';
- /**
- * Determines if focusing has been disabled on an element.
- * @param {HTMLElement|VirtualNode} el The HTMLElement
- * @return {Boolean} Whether focusing has been disabled on an element.
- */
- function focusDisabled(el) {
- const vNode = el instanceof AbstractVirtualNode ? el : getNodeFromTree(el);
- if (vNode.hasAttr('disabled')) {
- return true;
- }
- if (vNode.props.nodeName !== 'area') {
- // if the virtual node does not have an actual node, treat it
- // as not hidden
- if (!vNode.actualNode) {
- return false;
- }
- return isHiddenWithCSS(vNode.actualNode);
- }
- return false;
- }
- export default focusDisabled;
|