{"version":3,"file":"selector-engine-tNQuIOnq.js","sources":["../../../app/frontend/entrypoints/marketing/bootstrap/mdb-prefix/dom/selector-engine.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.1.3): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible } from '../util/index';\n\nconst NODE_TEXT = 3;\n\nconst SelectorEngine = {\n find(selector, element = document.documentElement) {\n return [].concat(...Element.prototype.querySelectorAll.call(element, selector));\n },\n\n findOne(selector, element = document.documentElement) {\n return Element.prototype.querySelector.call(element, selector);\n },\n\n children(element, selector) {\n return [].concat(...element.children).filter((child) => child.matches(selector));\n },\n\n parents(element, selector) {\n const parents = [];\n\n let ancestor = element.parentNode;\n\n while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {\n if (ancestor.matches(selector)) {\n parents.push(ancestor);\n }\n\n ancestor = ancestor.parentNode;\n }\n\n return parents;\n },\n\n prev(element, selector) {\n let previous = element.previousElementSibling;\n\n while (previous) {\n if (previous.matches(selector)) {\n return [previous];\n }\n\n previous = previous.previousElementSibling;\n }\n\n return [];\n },\n\n next(element, selector) {\n let next = element.nextElementSibling;\n\n while (next) {\n if (next.matches(selector)) {\n return [next];\n }\n\n next = next.nextElementSibling;\n }\n\n return [];\n },\n\n focusableChildren(element) {\n const focusables = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n '[tabindex]',\n '[contenteditable=\"true\"]',\n ]\n .map((selector) => `${selector}:not([tabindex^=\"-\"])`)\n .join(', ');\n\n return this.find(focusables, element).filter((el) => !isDisabled(el) && isVisible(el));\n },\n};\n\nexport default SelectorEngine;\n"],"names":["NODE_TEXT","SelectorEngine","selector","element","child","parents","ancestor","previous","next","focusables","el","isDisabled","isVisible"],"mappings":"0CAeA,MAAMA,EAAY,EAEZC,EAAiB,CACrB,KAAKC,EAAUC,EAAU,SAAS,gBAAiB,CACjD,MAAO,CAAE,EAAC,OAAO,GAAG,QAAQ,UAAU,iBAAiB,KAAKA,EAASD,CAAQ,CAAC,CAC/E,EAED,QAAQA,EAAUC,EAAU,SAAS,gBAAiB,CACpD,OAAO,QAAQ,UAAU,cAAc,KAAKA,EAASD,CAAQ,CAC9D,EAED,SAASC,EAASD,EAAU,CAC1B,MAAO,GAAG,OAAO,GAAGC,EAAQ,QAAQ,EAAE,OAAQC,GAAUA,EAAM,QAAQF,CAAQ,CAAC,CAChF,EAED,QAAQC,EAASD,EAAU,CACzB,MAAMG,EAAU,CAAA,EAEhB,IAAIC,EAAWH,EAAQ,WAEvB,KAAOG,GAAYA,EAAS,WAAa,KAAK,cAAgBA,EAAS,WAAaN,GAC9EM,EAAS,QAAQJ,CAAQ,GAC3BG,EAAQ,KAAKC,CAAQ,EAGvBA,EAAWA,EAAS,WAGtB,OAAOD,CACR,EAED,KAAKF,EAASD,EAAU,CACtB,IAAIK,EAAWJ,EAAQ,uBAEvB,KAAOI,GAAU,CACf,GAAIA,EAAS,QAAQL,CAAQ,EAC3B,MAAO,CAACK,CAAQ,EAGlBA,EAAWA,EAAS,sBACrB,CAED,MAAO,EACR,EAED,KAAKJ,EAASD,EAAU,CACtB,IAAIM,EAAOL,EAAQ,mBAEnB,KAAOK,GAAM,CACX,GAAIA,EAAK,QAAQN,CAAQ,EACvB,MAAO,CAACM,CAAI,EAGdA,EAAOA,EAAK,kBACb,CAED,MAAO,EACR,EAED,kBAAkBL,EAAS,CACzB,MAAMM,EAAa,CACjB,IACA,SACA,QACA,WACA,SACA,UACA,aACA,0BACD,EACE,IAAKP,GAAa,GAAGA,CAAQ,uBAAuB,EACpD,KAAK,IAAI,EAEZ,OAAO,KAAK,KAAKO,EAAYN,CAAO,EAAE,OAAQO,GAAO,CAACC,EAAWD,CAAE,GAAKE,EAAUF,CAAE,CAAC,CACtF,CACH"}