@mui/x-date-pickers
Version:
The community edition of the MUI X Date and Time Picker components.
34 lines (33 loc) • 953 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isElementInteractive = isElementInteractive;
/**
* Taken from https://github.com/matijs/is-interactive-element/
*/
const isInputHidden = input => input.type === 'hidden';
function isElementInteractive(element) {
const {
nodeName
} = element;
if (['BUTTON', 'DETAILS', 'EMBED', 'IFRAME', 'KEYGEN', 'LABEL', 'SELECT', 'TEXTAREA'].includes(nodeName)) {
return true;
}
if (nodeName === 'A' && element.hasAttribute('href')) {
return true;
}
if (element instanceof HTMLInputElement && !isInputHidden(element)) {
return true;
}
if (['AUDIO', 'VIDEO'].includes(nodeName) && element.hasAttribute('controls')) {
return true;
}
if (['IMG', 'OBJECT'].includes(nodeName) && element.hasAttribute('usemap')) {
return true;
}
if (element.hasAttribute('tabindex') && element.tabIndex > -1) {
return true;
}
return false;
}