glance-dom
Version:
Glance DOM library
58 lines (45 loc) • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _log = require('../../utils/log');
var _log2 = _interopRequireDefault(_log);
var _filter = require('@arr/filter');
var _filter2 = _interopRequireDefault(_filter);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
options: {
'visible': {
check: function check(_ref) {
var options = _ref.options;
return !options.includes('hidden');
},
filter: function visible(_ref2) {
var elements = _ref2.elements;
_log2.default.debug('Filtering for visible elements');
return (0, _filter2.default)(elements, function (e) {
if (e.tagName.toLowerCase() === 'option' || e.offsetParent) {
return true;
} else {
var style = window.getComputedStyle(e);
return style.position === 'fixed' && style.display !== 'none' && style.visibility !== 'hidden';
}
});
}
},
'hidden': {
check: function check(_ref3) {
var options = _ref3.options;
return !options.includes('visible');
},
filter: function visible(_ref4) {
var elements = _ref4.elements;
_log2.default.debug('Filtering for hidden elements');
return (0, _filter2.default)(elements, function (e) {
var style = window.getComputedStyle(e);
return style.display === 'none' || style.visibility === 'hidden';
});
}
}
}
};