Sha256: 9e5f274b165d5f891da3763c45ad534a1a591008da43bbbc094c9569bf7242bf
Contents?: true
Size: 1.93 KB
Versions: 1
Compression:
Stored size: 1.93 KB
Contents
/** * -------------------------------------------------------------------------- * Bootstrap (v5.0.0-beta2): dom/selector-engine.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * -------------------------------------------------------------------------- */ /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ const NODE_TEXT = 3; const SelectorEngine = { closest(element, selector) { return element.closest(selector); }, matches(element, selector) { return element.matches(selector); }, find(selector, element = document.documentElement) { return [].concat(...Element.prototype.querySelectorAll.call(element, selector)); }, findOne(selector, element = document.documentElement) { return Element.prototype.querySelector.call(element, selector); }, children(element, selector) { const children = [].concat(...element.children); return children.filter((child) => child.matches(selector)); }, parents(element, selector) { const parents = []; let ancestor = element.parentNode; while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) { if (this.matches(ancestor, selector)) { parents.push(ancestor); } ancestor = ancestor.parentNode; } return parents; }, prev(element, selector) { let previous = element.previousElementSibling; while (previous) { if (previous.matches(selector)) { return [previous]; } previous = previous.previousElementSibling; } return []; }, next(element, selector) { let next = element.nextElementSibling; while (next) { if (this.matches(next, selector)) { return [next]; } next = next.nextElementSibling; } return []; }, }; export default SelectorEngine;
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jekyll-rubin-collab-theme-0.1.1 | _third_party/mdb-ui-kit/src/js/mdb/dom/selector-engine.js |