![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/lib/web/jquery/bootstrap/dom/ |
/** * -------------------------------------------------------------------------- * Bootstrap (v5.1.3): dom/selector-engine.js * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) * -------------------------------------------------------------------------- */ define([ "../util/index" ], function(Util) { 'use strict'; const isDisabled = Util.isDisabled; const isVisible = Util.isVisible; /** * ------------------------------------------------------------------------ * Constants * ------------------------------------------------------------------------ */ const NODE_TEXT = 3; return { find: function(selector, element = document.documentElement) { return [].concat(...Element.prototype.querySelectorAll.call(element, selector)) }, findOne: function(selector, element = document.documentElement) { return Element.prototype.querySelector.call(element, selector) }, children: function(element, selector) { return [].concat(...element.children) .filter(child => child.matches(selector)) }, parents: function(element, selector) { const parents = []; let ancestor = element.parentNode; while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) { if (ancestor.matches(selector)) { parents.push(ancestor) } ancestor = ancestor.parentNode } return parents }, prev: function(element, selector) { let previous = element.previousElementSibling; while (previous) { if (previous.matches(selector)) { return [previous] } previous = previous.previousElementSibling } return [] }, next: function(element, selector) { let next = element.nextElementSibling; while (next) { if (next.matches(selector)) { return [next] } next = next.nextElementSibling } return [] }, focusableChildren: function(element) { const focusables = [ 'a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]' ].map(selector => `${selector}:not([tabindex^="-"])`).join(', '); return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el)) } } });