@asamuzakjp/dom-selector 6.3.7 → 6.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -30
- package/dist/cjs/index.cjs +9 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/index.d.cts +10 -0
- package/package.json +30 -19
- package/src/js/constant.js +4 -0
- package/src/js/parser.js +1 -1
- package/src/js/utility.js +171 -2
- package/types/js/constant.d.ts +4 -0
- package/types/js/utility.d.ts +3 -0
- package/dist/cjs/index.js +0 -7
- package/dist/cjs/index.js.map +0 -7
- package/dist/cjs/js/constant.js +0 -2
- package/dist/cjs/js/constant.js.map +0 -7
- package/dist/cjs/js/finder.js +0 -2
- package/dist/cjs/js/finder.js.map +0 -7
- package/dist/cjs/js/matcher.js +0 -2
- package/dist/cjs/js/matcher.js.map +0 -7
- package/dist/cjs/js/parser.js +0 -3
- package/dist/cjs/js/parser.js.map +0 -7
- package/dist/cjs/js/utility.js +0 -2
- package/dist/cjs/js/utility.js.map +0 -7
package/README.md
CHANGED
|
@@ -249,6 +249,7 @@ const dom = new JSDOM('', {
|
|
|
249
249
|
|:host:has(rs1, rs2, ...)|✓| |
|
|
250
250
|
|:host(s):has(rs1, rs2, ...)|✓| |
|
|
251
251
|
|:host‑context(s):has(rs1, rs2, ...)|✓| |
|
|
252
|
+
|&|✓|Only supports outermost `&`, i.e. equivalent to `:scope`|
|
|
252
253
|
|
|
253
254
|
*1: `ElementInternals.states`, i.e. `CustomStateSet`, is not implemented in jsdom, so you need to apply a patch in the custom element constructor.
|
|
254
255
|
|
|
@@ -289,49 +290,49 @@ See [benchmark](https://github.com/asamuzaK/domSelector/actions/workflows/benchm
|
|
|
289
290
|
|
|
290
291
|
### matches()
|
|
291
292
|
|
|
292
|
-
|Selector|jsdom
|
|
293
|
+
|Selector|jsdom v26.0.0 (nwsapi)|happy-dom|linkeDom|patched-jsdom (dom-selector)|Result|
|
|
293
294
|
|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|
|
|
294
|
-
|simple selector:<br>`matches('.content')`|
|
|
295
|
-
|compound selector:<br>`matches('p.content[id]:is(:last-child, :only-child)')`|
|
|
296
|
-
|compound selector:<br>`matches('p.content[id]:is(:invalid-nth-child, :only-child)')`|F|
|
|
297
|
-
|compound selector:<br>`matches('p.content[id]:not(:is(.foo, .bar))')`|
|
|
298
|
-
|complex selector:<br>`matches('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner > .content')`|
|
|
299
|
-
|complex selector:<br>`matches('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner:has(> .content)')`|
|
|
300
|
-
|complex selector within logical pseudo-class:<br>`matches(':is(.box > .content, .block > .content)')`|
|
|
301
|
-
|nested and chained :not() selector:<br>`matches('p:not(:is(:not(.content))):not(.foo)')`|F|
|
|
295
|
+
|simple selector:<br>`matches('.content')`|112,297 ops/sec ±4.41%|403,800 ops/sec ±2.26%|9,352 ops/sec ±1.18%|109,587 ops/sec ±0.36%|happydom is the fastest and 3.7 times faster than patched-jsdom. jsdom is 1.0 times faster than patched-jsdom.|
|
|
296
|
+
|compound selector:<br>`matches('p.content[id]:is(:last-child, :only-child)')`|102,156 ops/sec ±0.83%|403,804 ops/sec ±0.91%|9,051 ops/sec ±0.78%|77,568 ops/sec ±4.06%|happydom is the fastest and 5.2 times faster than patched-jsdom. jsdom is 1.3 times faster than patched-jsdom.|
|
|
297
|
+
|compound selector:<br>`matches('p.content[id]:is(:invalid-nth-child, :only-child)')`|F|387,515 ops/sec ±4.34%|F|41,904 ops/sec ±1.57%|happydom is the fastest and 9.2 times faster than patched-jsdom.|
|
|
298
|
+
|compound selector:<br>`matches('p.content[id]:not(:is(.foo, .bar))')`|97,333 ops/sec ±0.62%|394,134 ops/sec ±2.82%|8,821 ops/sec ±0.86%|79,436 ops/sec ±0.69%|happydom is the fastest and 5.0 times faster than patched-jsdom. jsdom is 1.2 times faster than patched-jsdom.|
|
|
299
|
+
|complex selector:<br>`matches('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner > .content')`|63,065 ops/sec ±0.95%|F|5,751 ops/sec ±0.73%|57,917 ops/sec ±1.27%|jsdom is the fastest and 1.1 times faster than patched-jsdom.|
|
|
300
|
+
|complex selector:<br>`matches('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner:has(> .content)')`|29,609 ops/sec ±1.68%|F|5,741 ops/sec ±1.12%|39,522 ops/sec ±3.55%|patched-jsdom is the fastest. patched-jsdom is 1.3 times faster than jsdom.|
|
|
301
|
+
|complex selector within logical pseudo-class:<br>`matches(':is(.box > .content, .block > .content)')`|89,634 ops/sec ±0.66%|F|6,049 ops/sec ±0.33%|83,881 ops/sec ±0.70%|jsdom is the fastest and 1.1 times faster than patched-jsdom.|
|
|
302
|
+
|nested and chained :not() selector:<br>`matches('p:not(:is(:not(.content))):not(.foo)')`|F|377,155 ops/sec ±1.07%|6,087 ops/sec ±0.70%|60,032 ops/sec ±26.27%|happydom is the fastest and 6.3 times faster than patched-jsdom.|
|
|
302
303
|
|
|
303
304
|
### closest()
|
|
304
305
|
|
|
305
|
-
|Selector|jsdom
|
|
306
|
+
|Selector|jsdom v26.0.0 (nwsapi)|happy-dom|linkeDom|patched-jsdom (dom-selector)|Result|
|
|
306
307
|
|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|
|
|
307
|
-
|simple selector:<br>`closest('.container')`|
|
|
308
|
-
|compound selector:<br>`closest('div.container[id]:not(.foo, .box)')`|
|
|
309
|
-
|complex selector:<br>`closest('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner > .content')`|
|
|
310
|
-
|complex selector:<br>`closest('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner:has(> .content)')`|
|
|
311
|
-
|complex selector within logical pseudo-class:<br>`closest(':is(.container > .content, .container > .box)')`|
|
|
312
|
-
|nested and chained :not() selector:<br>`closest('div:not(:is(:not(.container))):not(.box)')`|F|F|
|
|
308
|
+
|simple selector:<br>`closest('.container')`|68,204 ops/sec ±1.82%|266,567 ops/sec ±40.99%|9,268 ops/sec ±0.81%|82,517 ops/sec ±0.79%|happydom is the fastest and 3.2 times faster than patched-jsdom. patched-jsdom is 1.2 times faster than jsdom.|
|
|
309
|
+
|compound selector:<br>`closest('div.container[id]:not(.foo, .box)')`|60,091 ops/sec ±0.56%|F|8,418 ops/sec ±1.06%|51,243 ops/sec ±0.74%|jsdom is the fastest and 1.2 times faster than patched-jsdom.|
|
|
310
|
+
|complex selector:<br>`closest('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner > .content')`|59,694 ops/sec ±0.61%|F|5,801 ops/sec ±0.69%|53,569 ops/sec ±0.65%|jsdom is the fastest and 1.1 times faster than patched-jsdom.|
|
|
311
|
+
|complex selector:<br>`closest('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner:has(> .content)')`|22,696 ops/sec ±0.97%|F|5,800 ops/sec ±0.52%|34,907 ops/sec ±1.00%|patched-jsdom is the fastest. patched-jsdom is 1.5 times faster than jsdom.|
|
|
312
|
+
|complex selector within logical pseudo-class:<br>`closest(':is(.container > .content, .container > .box)')`|68,572 ops/sec ±0.55%|338,382 ops/sec ±1.46%|5,985 ops/sec ±1.24%|64,454 ops/sec ±0.49%|happydom is the fastest and 5.2 times faster than patched-jsdom. jsdom is 1.1 times faster than patched-jsdom.|
|
|
313
|
+
|nested and chained :not() selector:<br>`closest('div:not(:is(:not(.container))):not(.box)')`|F|F|8,638 ops/sec ±0.52%|55,838 ops/sec ±34.28%|patched-jsdom is the fastest.|
|
|
313
314
|
|
|
314
315
|
### querySelector()
|
|
315
316
|
|
|
316
|
-
|Selector|jsdom
|
|
317
|
+
|Selector|jsdom v26.0.0 (nwsapi)|happy-dom|linkeDom|patched-jsdom (dom-selector)|Result|
|
|
317
318
|
|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|
|
|
318
|
-
|simple selector:<br>`querySelector('.content')`|
|
|
319
|
-
|compound selector:<br>`querySelector('p.content[id]:is(:last-child, :only-child)')`|
|
|
320
|
-
|complex selector:<br>`querySelector('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner > .content')`|
|
|
321
|
-
|complex selector:<br>`querySelector('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner:has(> .content)')`|
|
|
322
|
-
|complex selector within logical pseudo-class:<br>`querySelector(':is(.box > .content, .block > .content)')`|
|
|
323
|
-
|nested and chained :not() selector:<br>`querySelector('p:not(:is(:not(.content))):not(.foo)')`|F|
|
|
319
|
+
|simple selector:<br>`querySelector('.content')`|15,912 ops/sec ±2.11%|307,120 ops/sec ±26.93%|10,595 ops/sec ±0.99%|71,245 ops/sec ±1.77%|happydom is the fastest and 4.3 times faster than patched-jsdom. patched-jsdom is 4.5 times faster than jsdom.|
|
|
320
|
+
|compound selector:<br>`querySelector('p.content[id]:is(:last-child, :only-child)')`|7,333 ops/sec ±0.86%|290,078 ops/sec ±42.38%|9,955 ops/sec ±1.82%|34,346 ops/sec ±1.15%|happydom is the fastest and 8.4 times faster than patched-jsdom. patched-jsdom is 4.7 times faster than jsdom.|
|
|
321
|
+
|complex selector:<br>`querySelector('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner > .content')`|123 ops/sec ±1.40%|F|1,021 ops/sec ±0.53%|553 ops/sec ±1.99%|linkedom is the fastest and 1.8 times faster than patched-jsdom. patched-jsdom is 4.5 times faster than jsdom.|
|
|
322
|
+
|complex selector:<br>`querySelector('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner:has(> .content)')`|40.29 ops/sec ±6.51%|F|1,304 ops/sec ±0.87%|382 ops/sec ±1.12%|linkedom is the fastest and 3.4 times faster than patched-jsdom. patched-jsdom is 9.5 times faster than jsdom.|
|
|
323
|
+
|complex selector within logical pseudo-class:<br>`querySelector(':is(.box > .content, .block > .content)')`|2,104 ops/sec ±0.69%|F|9,762 ops/sec ±0.68%|67,358 ops/sec ±0.69%|patched-jsdom is the fastest. patched-jsdom is 32.0 times faster than jsdom.|
|
|
324
|
+
|nested and chained :not() selector:<br>`querySelector('p:not(:is(:not(.content))):not(.foo)')`|F|354,191 ops/sec ±1.43%|9,950 ops/sec ±0.86%|65,426 ops/sec ±0.91%|happydom is the fastest and 5.4 times faster than patched-jsdom.|
|
|
324
325
|
|
|
325
326
|
### querySelectorAll()
|
|
326
327
|
|
|
327
|
-
|Selector|jsdom
|
|
328
|
+
|Selector|jsdom v26.0.0 (nwsapi)|happy-dom|linkeDom|patched-jsdom (dom-selector)|Result|
|
|
328
329
|
|:-----------|:-----------|:-----------|:-----------|:-----------|:-----------|
|
|
329
|
-
|simple selector:<br>`querySelectorAll('.content')`|
|
|
330
|
-
|compound selector:<br>`querySelectorAll('p.content[id]:is(:last-child, :only-child)')`|
|
|
331
|
-
|complex selector:<br>`querySelectorAll('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner > .content')`|
|
|
332
|
-
|complex selector:<br>`querySelectorAll('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner:has(> .content)')`|
|
|
333
|
-
|complex selector within logical pseudo-class:<br>`querySelectorAll(':is(.box > .content, .block > .content)')`|
|
|
334
|
-
|nested and chained :not() selector:<br>`querySelectorAll('p:not(:is(:not(.content))):not(.foo)')`|F|
|
|
330
|
+
|simple selector:<br>`querySelectorAll('.content')`|938 ops/sec ±1.61%|285 ops/sec ±3.27%|993 ops/sec ±2.52%|794 ops/sec ±37.70%|linkedom is the fastest and 1.3 times faster than patched-jsdom. jsdom is 1.2 times faster than patched-jsdom.|
|
|
331
|
+
|compound selector:<br>`querySelectorAll('p.content[id]:is(:last-child, :only-child)')`|331 ops/sec ±2.79%|320 ops/sec ±4.68%|949 ops/sec ±0.89%|354 ops/sec ±26.10%|linkedom is the fastest and 2.7 times faster than patched-jsdom. patched-jsdom is 1.1 times faster than jsdom.|
|
|
332
|
+
|complex selector:<br>`querySelectorAll('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner > .content')`|125 ops/sec ±0.67%|F|298 ops/sec ±0.85%|140 ops/sec ±1.03%|linkedom is the fastest and 2.1 times faster than patched-jsdom. patched-jsdom is 1.1 times faster than jsdom.|
|
|
333
|
+
|complex selector:<br>`querySelectorAll('.box:first-child ~ .box:nth-of-type(4n+1) + .box[id] .block.inner:has(> .content)')`|42.34 ops/sec ±0.89%|F|351 ops/sec ±0.89%|135 ops/sec ±1.36%|linkedom is the fastest and 2.6 times faster than patched-jsdom. patched-jsdom is 3.2 times faster than jsdom.|
|
|
334
|
+
|complex selector within logical pseudo-class:<br>`querySelectorAll(':is(.box > .content, .block > .content)')`|161 ops/sec ±1.07%|F|369 ops/sec ±1.11%|720 ops/sec ±1.43%|patched-jsdom is the fastest. patched-jsdom is 4.5 times faster than jsdom.|
|
|
335
|
+
|nested and chained :not() selector:<br>`querySelectorAll('p:not(:is(:not(.content))):not(.foo)')`|F|296 ops/sec ±46.31%|998 ops/sec ±0.79%|1,168 ops/sec ±1.12%|patched-jsdom is the fastest.|
|
|
335
336
|
|
|
336
337
|
|
|
337
338
|
## Acknowledgments
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var ut=Object.create;var ie=Object.defineProperty;var dt=Object.getOwnPropertyDescriptor;var pt=Object.getOwnPropertyNames;var mt=Object.getPrototypeOf,bt=Object.prototype.hasOwnProperty;var Et=(c,t)=>{for(var e in t)ie(c,e,{get:t[e],enumerable:!0})},Re=(c,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of pt(t))!bt.call(c,s)&&s!==e&&ie(c,s,{get:()=>t[s],enumerable:!(n=dt(t,s))||n.enumerable});return c};var xe=(c,t,e)=>(e=c!=null?ut(mt(c)):{},Re(t||!c||!c.__esModule?ie(e,"default",{value:c,enumerable:!0}):e,c)),wt=c=>Re(ie({},"__esModule",{value:!0}),c);var zt={};Et(zt,{DOMSelector:()=>Ie});module.exports=wt(zt);var U=require("css-tree");var Ze=xe(require("@asamuzakjp/nwsapi"),1),Qe=xe(require("bidi-js"),1),ke=require("css-tree"),ge=xe(require("is-potential-custom-element-name"),1);var B="AttributeSelector",j="ClassSelector",v="Combinator",We="Identifier",R="IdSelector",A="NotSupportedError",ne="Nth";var k="PseudoClassSelector",O="PseudoElementSelector";var He="Selector";var Ye="String",N="SyntaxError",L="all",S="first",$="lineal",D="self",F="TypeSelector";var ae="[A-Z\\d]+",xt="(?:first|last|only)-(?:child|of-type)",ye="(?:0|[1-9]\\d*)",G=`(?:-${ae})*`,V=`(?:any-)?link|${xt}|checked|empty|indeterminate|read-(?:only|write)|root|target`,yt=`[+-]?(?:${ye}n?|n)|(?:[+-]?${ye})?n\\s*[+-]\\s*${ye}`,X=`nth-(?:last-)?(?:child|of-type)\\(\\s*(?:even|odd|${yt})\\s*\\)`,oe="\\[[^|\\]]+\\]|[#.:][\\w-]+",Nt="\\[[^|\\]]+\\]|[#.][\\w-]+",Ke="(?:[A-Za-z][\\w-]*|[#.][\\w-]+)",I="\\*|[A-Za-z][\\w-]*",Pe="\\*|[A-Z][\\w-]*",re=`(?:${I}|(?:${I})?(?:${oe})+)`,Tt=`(?:${I}|(?:${I})?(?:${Nt})+)`,le="\\s?[\\s>~+]\\s?",Ue=`${re}(?:${le}${re})*`,ze="\\s?[\\s>]\\s?",_t=`:is\\(\\s*${re}(?:\\s*,\\s*${re})*\\s*\\)`,gt=`:is\\(\\s*${Ue}(?:\\s*,\\s*${Ue})*\\s*\\)`,Me=`(?:${I}|(?:${I})?(?:${oe}|${_t})+)`,Fe=`(?:${I}|(?:${I})?(?:${oe}|${gt})+)`,q=`(?:${Pe}|(?:${Pe})?(?:${oe})+)`,Ge=`${Fe}(?:${le}${Fe})*`,Be=`(?:is|not)\\(\\s*${Ge}(?:\\s*,\\s*${Ge})*\\s*\\)`,Ne=`(?:is|not)\\(\\s*${Me}(?:\\s*,\\s*${Me})*\\s*\\)`,je=`has\\([\\s>~+]?\\s*${Tt}\\s*\\)`,ce=Object.freeze(["button","input","select","textarea"]),Ve=Object.freeze(["button","reset","submit"]),Te=Object.freeze(["date","datetime-local","month","time","week"]),Z=Object.freeze(["email","password","search","tel","text","url"]),Q=Object.freeze([...Te,...Z,"number"]),jt=Object.freeze(["checkbox","color","date","image","number","range","radio","time"]),P=Object.freeze(["has","is","not","where"]),Xe=Object.freeze(["Alt","AltGraph","CapsLock","Control","Fn","FnLock","Hyper","Meta","NumLock","ScrollLock","Shift","Super","Symbol","SymbolLock"]),qe=Object.freeze(["enabled","disabled","valid","invalid","in-range","out-of-range","checked","indeterminate","read-only","read-write","open","closed","placeholder-shown"]),fe=Object.freeze(["host","host-context"]);var At=new RegExp(`:(?!${V}|${X}|${Be})`),Lt=new RegExp(`:(?!${V}|${X}|${Ne})`),$t=new RegExp(`:(?!${V}|${X}|${Ne}|${je})`),vt=new RegExp(`:(?!${V}|${X})`),T=c=>Object.prototype.toString.call(c).slice(8,-1);var Je=c=>{if(!c?.nodeType)throw new TypeError(`Unexpected type ${T(c)}`);let t,e,n;switch(c.nodeType){case 9:{t=c,e=c;break}case 11:{let{host:s,mode:a,ownerDocument:r}=c;t=r,e=c,n=s&&(a==="close"||a==="open");break}case 1:{t=c.ownerDocument;let s=c;for(;s;){let{host:a,mode:r,nodeType:f,parentNode:u}=s;if(f===11){n=a&&(r==="close"||r==="open");break}else if(u)s=u;else break}e=s;break}default:throw new TypeError(`Unexpected node ${c.nodeName}`)}return[t,e,!!n]},g=(c,t,e=!1)=>{if(!c?.nodeType)throw new TypeError(`Unexpected type ${T(c)}`);if(!t)return null;let n=t.currentNode;if(n===c)return n;if(e||n.contains(c)){for(n=t.nextNode();n&&n!==c;)n=t.nextNode();return n}else{if(n!==t.root){let s;for(;n;){if(n===c){s=!0;break}else if(n===t.root||n.contains(c))break;n=t.parentNode()}if(s)return n}if(c.nodeType===1){let s;for(;n;){if(n===c){s=!0;break}n=t.nextNode()}if(s)return n}}return null},ue=(c,t={})=>{if(!c?.nodeType)throw new TypeError(`Unexpected type ${T(c)}`);if(c.nodeType!==1)return!1;let{localName:e,ownerDocument:n}=c,{formAssociated:s}=t,a=n.defaultView,r,f=c.getAttribute("is");return f?r=(0,ge.default)(f)&&a.customElements.get(f):r=(0,ge.default)(e)&&a.customElements.get(e),r?s?!!r.formAssociated:!0:!1},_e=c=>{if(!c?.nodeType)throw new TypeError(`Unexpected type ${T(c)}`);if(typeof c.assignedNodes!="function")return null;let t=c.assignedNodes();if(t.length){let e;for(let n of t)if(e=n.textContent.trim(),e)break;return e}return c.textContent.trim()},he=c=>{if(!c?.nodeType)throw new TypeError(`Unexpected type ${T(c)}`);if(c.nodeType!==1)return null;let{dir:t,localName:e,parentNode:n}=c,{getEmbeddingLevels:s}=(0,Qe.default)();if(t==="ltr"||t==="rtl")return t;if(t==="auto"){let a;switch(e){case"input":{let r=[...Ve,...Z,"hidden"];if(!c.type||r.includes(c.type))a=c.value;else if(["checkbox","color","date","image","number","range","radio","time"].includes(c.type))return"ltr";break}case"slot":{a=_e(c);break}case"textarea":{a=c.value;break}default:{let r=[].slice.call(c.childNodes);for(let f of r){let{dir:u,localName:h,nodeType:o,textContent:i}=f;if(o===3?a=i.trim():o===1&&!["bdi","script","style","textarea"].includes(h)&&(!u||u!=="ltr"&&u!=="rtl")&&(h==="slot"?a=_e(f):a=i.trim()),a)break}}}if(a){let{paragraphs:[{level:r}]}=s(a);if(r%2===1)return"rtl"}else if(n){let{nodeType:r}=n;if(r===1)return he(n)}}else{if(e==="input"&&c.type==="tel")return"ltr";if(e==="bdi"){let a=c.textContent.trim();if(a){let{paragraphs:[{level:r}]}=s(a);if(r%2===1)return"rtl"}}else if(n){if(e==="slot"){let r=_e(c);if(r){let{paragraphs:[{level:f}]}=s(r);return f%2===1?"rtl":"ltr"}}let{nodeType:a}=n;if(a===1)return he(n)}}return"ltr"},ee=c=>{if(!c?.nodeType)throw new TypeError(`Unexpected type ${T(c)}`);if(c.nodeType!==1)return!1;if(typeof c.isContentEditable=="boolean")return c.isContentEditable;if(c.ownerDocument.designMode==="on")return!0;{let t;switch(c.hasAttribute("contenteditable")?t=c.getAttribute("contenteditable"):t="inherit",t){case"":case"true":return!0;case"plaintext-only":return!0;case"false":return!1;default:return c?.parentNode?.nodeType===1?ee(c.parentNode):!1}}},Oe=c=>{if(c?.nodeType!==1)return!1;let t=c.ownerDocument.defaultView,{display:e,visibility:n}=t.getComputedStyle(c);return e!=="none"&&n==="visible"},Ce=c=>{if(c?.nodeType!==1)return!1;let{localName:t,type:e}=c;switch(t){case"input":return!!(!e||Q.includes(e));case"textarea":return!0;default:return ee(c)}},de=c=>{if(c?.nodeType!==1||!c.isConnected)return!1;let t=c.ownerDocument.defaultView;if(c instanceof t.HTMLElement){if(Number.isInteger(parseInt(c.getAttribute("tabindex")))||ee(c))return!0;let{localName:e,parentNode:n}=c;switch(e){case"a":return!!(c.href||c.hasAttribute("href"));case"iframe":return!0;case"input":return!(c.disabled||c.hasAttribute("disabled")||c.hidden||c.hasAttribute("hidden"));case"summary":{if(n.localName==="details"){let s=n.firstElementChild,a=!1;for(;s;){if(s.localName==="summary"){a=s===c;break}s=s.nextElementSibling}return a}return!1}default:if(["button","select","textarea"].includes(e)&&!(c.disabled||c.hasAttribute("disabled")))return!0}}else if(c instanceof t.SVGElement){if(Number.isInteger(parseInt(c.getAttributeNS(null,"tabindex")))){let e=["clipPath","defs","desc","linearGradient","marker","mask","metadata","pattern","radialGradient","script","style","symbol","title"],n="http://www.w3.org/2000/svg",s,a=c;for(;a.namespaceURI===n&&(s=e.includes(a.localName),!s);)if(a?.parentNode?.namespaceURI===n)a=a.parentNode;else break;return!s}if(c.localName==="a"&&(c.href||c.hasAttributeNS(null,"href")))return!0}return!1};var Dt=(c,t)=>{if(typeof c!="string")throw new TypeError(`Unexpected type ${T(c)}`);if(!t?.nodeType)throw new TypeError(`Unexpected type ${T(t)}`);if(!c||t.nodeType!==1)return null;let{attributes:e}=t,n;for(let s of e){let{name:a,namespaceURI:r,prefix:f,value:u}=s;if(a===`xmlns:${c}`?n=u:f===c&&(n=r),n)break}return n??null},et=(c="",t={})=>{if(!c||typeof c!="string"||t?.nodeType!==1)return!1;if(t.lookupNamespaceURI(c))return!0;let e=t.ownerDocument.documentElement,n=t,s;for(;n&&(s=Dt(c,n),!(s||n===e));)n=n.parentNode;return!!s},It=(c,t)=>{if(c?.nodeType){if(!t?.nodeType)throw new TypeError(`Unexpected type ${T(t)}`)}else throw new TypeError(`Unexpected type ${T(c)}`);if(c.nodeType!==1||t.nodeType!==1)return!1;let e=t.compareDocumentPosition(c);return!!(e&2||e&8)},pe=(c=[])=>{let t=[...c];return t.length>1&&t.sort((e,n)=>{let s;return It(n,e)?s=1:s=-1,s}),t};var tt=(c,t)=>{if(!c?.DOMException)throw new TypeError(`Unexpected global object ${T(c)}`);t?.nodeType!==9&&(t=c.document);let e=(0,Ze.default)({document:t,DOMException:c.DOMException});return e.configure({LOGERRORS:!1}),e},te=(c,t={})=>{if(!c||typeof c!="string")return!1;let{complex:e,compound:n,descend:s,simple:a,target:r}=t;if(a||n)return!1;if(c.includes("[")){let f=c.lastIndexOf("[");if(c.substring(f).indexOf("]")<0)return!1}return/[|\\]|::|[^\u0021-\u007F\s]|\[\s*[\w$*=^|~-]+(?:(?:"[\w$*=^|~\s'-]+"|'[\w$*=^|~\s"-]+')?(?:\s+[\w$*=^|~-]+)+|"[^"\]]{1,255}|'[^'\]]{1,255})\s*\]|:(?:is|where)\(\s*\)/.test(c)?!1:c.includes(":")?s?!1:(r===D||r===$)&&/:has\(/.test(c)?!$t.test(c):/:(?:is|not)\(/.test(c)?e?!At.test(c):!Lt.test(c):!vt.test(c):!0};var _=require("css-tree"),it=/(?<=:(?:dir|has|host(?:-context)?|is|lang|not|nth-(?:last-)?(?:child|of-type)|where))\(\s+\)/g,Ae=/^part|slotted$/,be="\uFFFD",M=(c="")=>{if(typeof c=="string"&&c.indexOf("\\",0)>=0){let t=c.split("\\"),e=t.length;for(let n=1;n<e;n++){let s=t[n];if(s===""&&n===e-1)s=be;else{let a=/^([\da-f]{1,6}\s?)/i.exec(s);if(a){let[,r]=a,f;try{let h=parseInt("D800",16),o=parseInt("DFFF",16),i=parseInt(r,16);i===0||i>=h&&i<=o?f=be:f=String.fromCodePoint(i)}catch{f=be}let u="";s.length>r.length&&(u=s.substring(r.length)),s=`${f}${u}`}else/^[\n\r\f]/.test(s)&&(s="\\"+s)}t[n]=s}c=t.join("")}return c},Ht=(...c)=>{if(!c.length)throw new TypeError("1 argument required, but only 0 present.");let[t]=c;if(typeof t=="string"){let e=0;for(;e>=0&&(e=t.indexOf("#",e),!(e<0));){let n=t.substring(0,e+1),s=t.substring(e+1);if(/^\d$/.test(s.substring(0,1)))throw new DOMException(`Invalid selector ${t}`,N);let a=s.codePointAt(0);if(a===45){if(/^\d$/.test(s.substring(1,2)))throw new DOMException(`Invalid selector ${t}`,N)}else if(a>65535){let r=`\\${a.toString(16)} `;s.length===2?s=r:s=`${r}${s.substring(2)}`}t=`${n}${s}`,e++}t=t.replace(/\f|\r\n?/g,`
|
|
2
|
+
`).replace(/[\0\uD800-\uDFFF]|\\$/g,be)}else if(t==null)t=T(t).toLowerCase();else if(Array.isArray(t))t=t.join(",");else if(Object.prototype.hasOwnProperty.call(t,"toString"))t=t.toString();else throw new DOMException(`Invalid selector ${t}`,N);return t.replace(/\x26/g,":scope")},W=c=>{if(c=Ht(c),/^$|^\s*>|,\s*$/.test(c))throw new DOMException(`Invalid selector ${c}`,N);let t;try{let e=(0,U.parse)(c,{context:"selectorList",parseCustomProperty:!0});t=(0,U.toPlainObject)(e)}catch(e){let{message:n}=e;if(/^(?:"\]"|Attribute selector [()\s,=~^$*|]+) is expected$/.test(n)&&!c.endsWith("]")){let s=c.lastIndexOf("["),a=c.substring(s);a.includes('"')?a.match(/"/g).length%2?t=W(`${c}"]`):t=W(`${c}]`):t=W(`${c}]`)}else if(n==='")" is expected')if(it.test(c))t=W(`${c.replaceAll(it,"()")}`);else if(!c.endsWith(")"))t=W(`${c})`);else throw new DOMException(n,N);else throw new DOMException(n,N)}return t},z=(c={})=>{let t=new Set,e=new Map;return(0,U.walk)(c,{enter:s=>{switch(s.type){case He:{t.add(s.children);break}case k:{P.includes(s.name)?(e.set("hasNestedSelector",!0),e.set("hasLogicalPseudoFunc",!0),s.name==="has"&&e.set("hasHasPseudoFunc",!0)):qe.includes(s.name)?e.set("hasStatePseudoClass",!0):fe.includes(s.name)&&Array.isArray(s.children)&&s.children.length&&e.set("hasNestedSelector",!0);break}case O:{Ae.test(s.name)&&e.set("hasNestedSelector",!0);break}case ne:{s.selector&&(e.set("hasNestedSelector",!0),e.set("hasNthChildOfSelector",!0));break}default:}}}),e.get("hasNestedSelector")&&(0,U.findAll)(c,(s,a,r)=>{if(r){if(s.type===k&&P.includes(s.name)){let f=r.filter(u=>{let{name:h,type:o}=u;return o===k&&P.includes(h)});for(let{children:u}of f)for(let{children:h}of u)for(let{children:o}of h)t.has(o)&&t.delete(o)}else if(s.type===k&&fe.includes(s.name)&&Array.isArray(s.children)&&s.children.length){let f=r.filter(u=>{let{children:h,name:o,type:i}=u;return i===k&&fe.includes(o)&&Array.isArray(h)&&h.length});for(let{children:u}of f)for(let{children:h}of u)t.has(h)&&t.delete(h)}else if(s.type===O&&Ae.test(s.name)){let f=r.filter(u=>{let{name:h,type:o}=u;return o===O&&Ae.test(h)});for(let{children:u}of f)for(let{children:h}of u)t.has(h)&&t.delete(h)}else if(s.type===ne&&s.selector){let f=r.filter(u=>{let{selector:h,type:o}=u;return o===ne&&h});for(let{selector:u}of f){let{children:h}=u;for(let{children:o}of h)t.has(o)&&t.delete(o)}}}}),{branches:[...t],info:Object.fromEntries(e)}},$e=c=>{let t=[...c];if(t.length>1){let e=new Map([[O,1],[R,2],[j,4],[F,8],[B,16],[k,32]]);t.sort((n,s)=>{let{type:a}=n,{type:r}=s,f=e.get(a),u=e.get(r),h;return f===u?h=0:f>u?h=1:h=-1,h})}return t},ve=c=>{let t,e;if(c&&typeof c=="string")c.indexOf("|")>-1?[t,e]=c.split("|"):(t="*",e=c);else throw new DOMException(`Invalid selector ${c}`,N);return{prefix:t,localName:e}};var Ee=(c,t,e={})=>{let{forgive:n,warn:s}=e;if(t===O)switch(c){case"after":case"backdrop":case"before":case"cue":case"cue-region":case"first-letter":case"first-line":case"file-selector-button":case"marker":case"placeholder":case"selection":case"target-text":{if(s)throw new DOMException(`Unsupported pseudo-element ::${c}`,A);break}case"part":case"slotted":{if(s)throw new DOMException(`Unsupported pseudo-element ::${c}()`,A);break}default:if(c.startsWith("-webkit-")){if(s)throw new DOMException(`Unsupported pseudo-element ::${c}`,A)}else if(!n)throw new DOMException(`Unknown pseudo-element ::${c}`,N)}else throw new TypeError(`Unexpected ast type ${T(t)}`)},rt=(c,t)=>{let{name:e}=c;if(!e){let s;throw e===""?s="(empty String)":s=T(e),new TypeError(`Unexpected ast type ${s}`)}let n=he(t);return e===n},nt=(c,t)=>{let{name:e,type:n,value:s}=c,a;if(n===Ye&&s?a=s:n===We&&e&&(a=M(e)),a==="*")if(t.hasAttribute("lang")){if(t.getAttribute("lang"))return!0}else{let r=t.parentNode,f;for(;r&&r.nodeType===1;){if(r.hasAttribute("lang")){r.getAttribute("lang")&&(f=!0);break}r=r.parentNode}return!!f}else if(a&&new RegExp(`^(?:\\*-)?${ae}${G}$`,"i").test(a)){let f;if(a.indexOf("-")>-1){let[u,h,...o]=a.split("-"),i;u==="*"?i=`${ae}${G}`:i=`${u}${G}`;let l=`-${h}${G}`,d=o.length,m="";if(d)for(let p=0;p<d;p++)m+=`-${o[p]}${G}`;f=new RegExp(`^${i}${l}${m}$`,"i")}else f=new RegExp(`^${a}${G}$`,"i");if(t.hasAttribute("lang"))return f.test(t.getAttribute("lang"));{let u=t.parentNode,h;for(;u&&u.nodeType===1;){if(u.hasAttribute("lang")){h=f.test(u.getAttribute("lang"));break}u=u.parentNode}return!!h}}return!1},at=(c,t)=>{let{flags:e,matcher:n,name:s,value:a}=c;if(typeof e=="string"&&!/^[is]$/i.test(e)){let f=(0,_.generate)(c);throw new DOMException(`Invalid selector ${f}`,N)}let{attributes:r}=t;if(r?.length){let f=t.ownerDocument.contentType,u;f==="text/html"?typeof e=="string"&&/^s$/i.test(e)?u=!1:u=!0:typeof e=="string"&&/^i$/i.test(e)?u=!0:u=!1;let h=M(s.name);u&&(h=h.toLowerCase());let o=new Set;if(h.indexOf("|")>-1){let{prefix:i,localName:l}=ve(h);for(let d of r){let{name:m,value:p}=d;switch(u&&(m=m.toLowerCase(),p=p.toLowerCase()),i){case"":{l===m&&o.add(p);break}case"*":{m.indexOf(":")>-1?m.endsWith(`:${l}`)&&o.add(p):l===m&&o.add(p);break}default:if(m.indexOf(":")>-1){let[E,b]=m.split(":");if(E==="xml"&&b==="lang")continue;i===E&&l===b&&et(i,t)&&o.add(p)}}}}else for(let{name:i,value:l}of r)if(u&&(i=i.toLowerCase(),l=l.toLowerCase()),i.indexOf(":")>-1){let[d,m]=i.split(":");if(d==="xml"&&m==="lang")continue;h===m&&o.add(l)}else h===i&&o.add(l);if(o.size){let{name:i,value:l}=a??{},d;switch(i?u?d=i.toLowerCase():d=i:l?u?d=l.toLowerCase():d=l:l===""&&(d=l),n){case"=":return typeof d=="string"&&o.has(d);case"~=":{if(d&&typeof d=="string"){let m;for(let p of o)if(new Set(p.split(/\s+/)).has(d)){m=!0;break}return!!m}return!1}case"|=":{if(d&&typeof d=="string"){let m;for(let p of o)if(p===d||p.startsWith(`${d}-`)){m=p;break}return!!m}return!1}case"^=":{if(d&&typeof d=="string"){let m;for(let p of o)if(p.startsWith(`${d}`)){m=p;break}return!!m}return!1}case"$=":{if(d&&typeof d=="string"){let m;for(let p of o)if(p.endsWith(`${d}`)){m=p;break}return!!m}return!1}case"*=":{if(d&&typeof d=="string"){let m;for(let p of o)if(p.includes(`${d}`)){m=p;break}return!!m}return!1}case null:default:return!0}}}return!1},ot=(c,t,e={})=>{let n=M(c.name),{localName:s,namespaceURI:a,prefix:r}=t,{forgive:f}=e,{prefix:u,localName:h}=ve(n,t);t.ownerDocument.contentType==="text/html"&&/[A-Z][\\w-]*/i.test(s)&&(u=u.toLowerCase(),h=h.toLowerCase());let o,i;switch(s.indexOf(":")>-1?[o,i]=s.split(":"):(o=r||"",i=s),u){case"":return!o&&!a&&(h==="*"||h===i);case"*":return h==="*"||h===i;default:{let l=t.lookupNamespaceURI(u),d=t.lookupNamespaceURI(o);if(l===d&&u===o)return h==="*"||h===i;if(!f&&!l)throw new DOMException(`Undeclared namespace ${u}`,N);return!1}}};var H="next",Y="prev",we=class{#i;#n;#s;#t;#h;#c;#p;#f;#m;#l;#e;#d;#y;#b;#w;#r;#N;#u;#x;#E;#a;#o;constructor(t){this.#o=t,this.#n=new WeakMap,this.#h=new WeakMap,this.#m=new WeakMap,this.#w=new WeakMap,this.#c=null,this.#p=null,this.#l=null,this._registerEventListeners()}onError(t,e){if(!(e?.noexcept??this.#y))if(t instanceof DOMException||t instanceof this.#o.DOMException)if(t.name===A)this.#a&&console.warn(t.message);else throw new this.#o.DOMException(t.message,t.name);else throw t.name in this.#o?new this.#o[t.name](t.message):t}setup(t,e,n={}){let{noexcept:s,warn:a}=n;return this.#y=!!s,this.#a=!!a,this.#e=e,[this.#t,this.#r,this.#u]=Je(e),this.#N=t,[this.#i,this.#d]=this._correspond(t),this.#m=new WeakMap,this.#E=new WeakMap,this.#x=null,this}_registerEventListeners(){let t={capture:!0,passive:!0},e=[],n=["focus","focusin"];for(let r of n)e.push(this.#o.addEventListener(r,f=>{this.#p=f},t));let s=["keydown","keyup"];for(let r of s)e.push(this.#o.addEventListener(r,f=>{let{key:u}=f;Xe.includes(u)||(this.#c=f)},t));let a=["mouseover","mousedown","mouseup","click","mouseout"];for(let r of a)e.push(this.#o.addEventListener(r,f=>{this.#c=f},t));return e}_correspond(t){let e=[];this.#s=!1,this.#f=!1;let n;if(this.#h.has(this.#t)){let s=this.#h.get(this.#t);if(s&&s.has(`${t}`)){let a=s.get(`${t}`);n=a.ast,this.#s=a.descendant,this.#f=a.invalidate}}if(n){let s=n.length;for(let a=0;a<s;a++)n[a].dir=null,n[a].filtered=!1,n[a].find=!1,e[a]=[]}else{let s;try{s=W(t)}catch(p){this.onError(p)}let{branches:a,info:r}=z(s),{hasHasPseudoFunc:f,hasLogicalPseudoFunc:u,hasNthChildOfSelector:h,hasStatePseudoClass:o}=r,i=f||o||!!(u&&h),l=!1,d=0;n=[];for(let[...p]of a){let E=[],b=p.shift();if(b&&b.type!==v){let w=new Set;for(;b;){let y=b.name;if(b.type===v){let[C]=p;if(C.type===v)throw new DOMException(`Invalid selector ${t}`,N);y==="+"||y==="~"?i=!0:l=!0,E.push({combo:b,leaves:$e(w)}),w.clear()}else b&&(y&&typeof y=="string"&&(y=M(y),typeof y=="string"&&y!==b.name&&(b.name=y),/[|:]/.test(y)&&(b.namespace=!0)),w.add(b));if(p.length)b=p.shift();else{E.push({combo:null,leaves:$e(w)}),w.clear();break}}}n.push({branch:E,dir:null,filtered:!1,find:!1}),e[d]=[],d++}let m;this.#h.has(this.#t)?m=this.#h.get(this.#t):m=new Map,m.set(`${t}`,{ast:n,descendant:l,invalidate:i}),this.#h.set(this.#t,m),this.#s=l,this.#f=i}return[n,e]}_createTreeWalker(t,e={}){let{force:n=!1,whatToShow:s=1281}=e,a;return n?a=this.#t.createTreeWalker(t,s):this.#E.has(t)?a=this.#E.get(t):(a=this.#t.createTreeWalker(t,s),this.#E.set(t,a)),a}_prepareQuerySelectorWalker(){return this.#b=this._createTreeWalker(this.#e),this.#b}_collectNthChild(t,e,n){let{a:s,b:a,reverse:r,selector:f}=t,{parentNode:u}=e,h=new Set,o;if(f){if(this.#n.has(f))o=this.#n.get(f);else{let{branches:l}=z(f);o=l,this.#f||this.#n.set(f,o)}let{branches:i}=z(f);o=i}if(u){let i=this._createTreeWalker(u,{force:!0}),l=i.firstChild(),d=new Set,m=0;if(o)for(;l;){if(Oe(l)){let p;for(let E of o)if(p=this._matchLeaves(E,l,n),!p)break;p&&d.add(l)}m++,l=i.nextSibling()}else for(;l;)m++,l=i.nextSibling();if(s===0){if(a>0&&a<=m){if(d.size){l=g(u,i),r?l=i.lastChild():l=i.firstChild();let p=0;for(;l;){if(d.has(l)){if(p===a-1){h.add(l);break}p++}r?l=i.previousSibling():l=i.nextSibling()}}else if(!f){l=g(u,i),r?l=i.lastChild():l=i.firstChild();let p=0;for(;l;){if(p===a-1){h.add(l);break}r?l=i.previousSibling():l=i.nextSibling(),p++}}}}else{let p=a-1;if(s>0)for(;p<0;)p+=s;if(p>=0&&p<m){l=g(u,i),r?l=i.lastChild():l=i.firstChild();let E=0,b=s>0?0:a-1;for(;l&&(l&&p>=0&&p<m);)d.size?d.has(l)&&(b===p&&(h.add(l),p+=s),s>0?b++:b--):E===p&&(f||h.add(l),p+=s),r?l=i.previousSibling():l=i.nextSibling(),E++}}if(r&&h.size>1){let p=[...h];return new Set(p.reverse())}}else if(e===this.#r&&s+a===1)if(o){let i;for(let l of o)if(i=this._matchLeaves(l,e,n),i)break;i&&h.add(e)}else h.add(e);return h}_collectNthOfType(t,e){let{a:n,b:s,reverse:a}=t,{localName:r,namespaceURI:f,parentNode:u,prefix:h}=e,o=new Set;if(u){let i=this._createTreeWalker(u),l=g(u,i);l=i.firstChild();let d=0;for(;l;)d++,l=i.nextSibling();if(n===0){if(s>0&&s<=d){l=g(u,i),a?l=i.lastChild():l=i.firstChild();let m=0;for(;l;){let{localName:p,namespaceURI:E,prefix:b}=l;if(p===r&&b===h&&E===f){if(m===s-1){o.add(l);break}m++}a?l=i.previousSibling():l=i.nextSibling()}}}else{let m=s-1;if(n>0)for(;m<0;)m+=n;if(m>=0&&m<d){l=g(u,i),a?l=i.lastChild():l=i.firstChild();let p=n>0?0:s-1;for(;l;){let{localName:E,namespaceURI:b,prefix:w}=l;if(E===r&&w===h&&b===f){if(p===m&&(o.add(l),m+=n),m<0||m>=d)break;n>0?p++:p--}a?l=i.previousSibling():l=i.nextSibling()}}}if(a&&o.size>1){let m=[...o];return new Set(m.reverse())}}else e===this.#r&&n+s===1&&o.add(e);return o}_matchAnPlusB(t,e,n,s){let{nth:{a,b:r,name:f},selector:u}=t,h=new Map;if(f?(f==="even"?(h.set("a",2),h.set("b",0)):f==="odd"&&(h.set("a",2),h.set("b",1)),n.indexOf("last")>-1&&h.set("reverse",!0)):(typeof a=="string"&&/-?\d+/.test(a)?h.set("a",a*1):h.set("a",0),typeof r=="string"&&/-?\d+/.test(r)?h.set("b",r*1):h.set("b",0),n.indexOf("last")>-1&&h.set("reverse",!0)),n==="nth-child"||n==="nth-last-child"){u&&h.set("selector",u);let o=Object.fromEntries(h);return this._collectNthChild(o,e,s)}else if(n==="nth-of-type"||n==="nth-last-of-type"){let o=Object.fromEntries(h);return this._collectNthOfType(o,e)}return new Set}_matchHasPseudoFunc(t,e,n){if(Array.isArray(t)&&t.length){let s=[...t],[a]=s,{type:r}=a,f;r===v?f=s.shift():f={name:" ",type:v};let u=[];for(;s.length;){let[i]=s,{type:l}=i;if(l===v)break;u.push(s.shift())}let h={combo:f,leaves:u};n.dir=H;let o=this._matchCombinator(h,e,n);if(o.size){if(s.length){let i=!1;for(let l of o)if(i=this._matchHasPseudoFunc(s,l,n),i)break;return i}return!0}}return!1}_matchLogicalPseudoFunc(t,e,n){let{astName:s,branches:a,twigBranches:r}=t,f=(n.isShadowRoot||this.#u)&&e.nodeType===11;if(s==="has"){let u;for(let h of a)if(u=this._matchHasPseudoFunc(h,e,n),u)break;if(u)if(f){if(this.#x)return e}else return e}else{if(f){let o;for(let i of a)if(i.length>1){o=!0;break}else if(s==="not"){let[{type:l}]=i;if(l!==k){o=!0;break}}if(o)return null}n.forgive=s==="is"||s==="where";let u=r.length,h;for(let o=0;o<u;o++){let i=r[o],l=i.length-1,{leaves:d}=i[l];if(h=this._matchLeaves(d,e,n),h&&l>0){let m=new Set([e]);for(let p=l-1;p>=0;p--){let E=i[p],b=[];n.dir=Y;for(let w of m){let y=this._matchCombinator(E,w,n);y.size&&b.push(...y)}if(b.length)p===0?h=!0:m=new Set(b);else{h=!1;break}}}if(h)break}if(s==="not")return h?null:e;if(h)return e}return null}_matchPseudoClassSelector(t,e,n){let{children:s,name:a}=t,{localName:r,parentNode:f}=e,{forgive:u,warn:h=this.#a}=n,o=new Set;if(Array.isArray(s)&&P.includes(a)){if(!s.length&&a!=="is"&&a!=="where"){let d=(0,_.generate)(t);throw new DOMException(`Invalid selector ${d}`,N)}let i;if(this.#n.has(t))i=this.#n.get(t);else{let{branches:d}=z(t);if(a==="has"){let m;for(let p of s){let E=(0,_.find)(p,b=>P.includes(b.name)&&(0,_.find)(b,w=>w.name==="has")?b:null);if(E){let b=E.name;if(b==="is"||b==="where"){m=!0;break}else{let w=(0,_.generate)(t);throw new DOMException(`Invalid selector ${w}`,N)}}}if(m)return o;i={astName:a,branches:d}}else{let m=[];for(let[...p]of d){let E=[],b=new Set,w=p.shift();for(;w;)if(w.type===v?(E.push({combo:w,leaves:[...b]}),b.clear()):w&&b.add(w),p.length)w=p.shift();else{E.push({combo:null,leaves:[...b]}),b.clear();break}m.push(E)}i={astName:a,branches:d,twigBranches:m},this.#f||this.#n.set(t,i)}}let l=this._matchLogicalPseudoFunc(i,e,n);l&&o.add(l)}else if(Array.isArray(s))if(/^nth-(?:last-)?(?:child|of-type)$/.test(a)){if(s.length!==1){let d=(0,_.generate)(t);throw new DOMException(`Invalid selector ${d}`,N)}let[i]=s;return this._matchAnPlusB(i,e,a,n)}else switch(a){case"dir":{if(s.length!==1){let d=(0,_.generate)(t);throw new DOMException(`Invalid selector ${d}`,N)}let[i]=s;rt(i,e)&&o.add(e);break}case"lang":{if(!s.length){let l=(0,_.generate)(t);throw new DOMException(`Invalid selector ${l}`,N)}let i;for(let l of s)if(i=nt(l,e),i)break;i&&o.add(e);break}case"state":{if(ue(e)){let[{value:i}]=s;if(i)if(e[i])o.add(e);else for(let l in e){let d=e[l];if(d instanceof this.#o.ElementInternals){d?.states?.has(i)&&o.add(e);break}}}break}case"current":case"nth-col":case"nth-last-col":{if(h)throw new DOMException(`Unsupported pseudo-class :${a}()`,A);break}case"host":case"host-context":break;case"contains":{if(h)throw new DOMException(`Unknown pseudo-class :${a}()`,A);break}default:if(!u)throw new DOMException(`Unknown pseudo-class :${a}()`,N)}else switch(a){case"any-link":case"link":{(r==="a"||r==="area")&&e.hasAttribute("href")&&o.add(e);break}case"local-link":{if((r==="a"||r==="area")&&e.hasAttribute("href")){let{href:i,origin:l,pathname:d}=new URL(this.#t.URL),m=new URL(e.getAttribute("href"),i);m.origin===l&&m.pathname===d&&o.add(e)}break}case"visited":break;case"hover":{let{target:i,type:l}=this.#c??{};/^(?:click|mouse(?:down|over|up))$/.test(l)&&e.contains(i)&&o.add(e);break}case"active":{let{buttons:i,target:l,type:d}=this.#c??{};d==="mousedown"&&i&1&&e.contains(l)&&o.add(e);break}case"target":{let{hash:i}=new URL(this.#t.URL);e.id&&i===`#${e.id}`&&this.#t.contains(e)&&o.add(e);break}case"target-within":{let{hash:i}=new URL(this.#t.URL);if(i){let l=i.replace(/^#/,""),d=this.#t.getElementById(l);for(;d;){if(d===e){o.add(e);break}d=d.parentNode}}break}case"scope":{this.#e.nodeType===1?!this.#u&&e===this.#e&&o.add(e):e===this.#t.documentElement&&o.add(e);break}case"focus":{e===this.#t.activeElement&&de(e)&&o.add(e);break}case"focus-visible":{if(e===this.#t.activeElement&&de(e)){let i;if(Ce(e))i=!0;else if(this.#p){let{relatedTarget:l,target:d}=this.#p;if(d===e)if(Ce(l))i=!0;else if(this.#c){let{key:m,target:p,type:E}=this.#c;p===l?(this.#l===null||d===this.#l)&&(i=!0):m==="Tab"?(E==="keydown"&&p!==e||E==="keyup"&&p===e)&&(p===d?(this.#l===null||p===this.#l&&l===null)&&(i=!0):i=!0):m&&(E==="keydown"||E==="keyup")&&p===e&&(i=!0)}else(l===null||l===this.#l)&&(i=!0)}i?(this.#l=e,o.add(e)):this.#l===e&&(this.#l=null)}break}case"focus-within":{let i,l=this.#t.activeElement;if(de(l))for(;l;){if(l===e){i=!0;break}l=l.parentNode}i&&o.add(e);break}case"open":case"closed":{(r==="details"||r==="dialog")&&(e.hasAttribute("open")?a==="open"&&o.add(e):a==="closed"&&o.add(e));break}case"disabled":case"enabled":{if([...ce,"fieldset","optgroup","option"].includes(r)||ue(e,{formAssociated:!0})){let l;if(e.disabled||e.hasAttribute("disabled"))l=!0;else if(e.localName==="option")f.localName==="optgroup"&&(f.disabled||f.hasAttribute("disabled"))&&(l=!0);else if(e.localName!=="optgroup"){let d=f;for(;d;)if(d.localName==="fieldset"&&(d.disabled||d.hasAttribute("disabled"))){let m=d.firstElementChild;for(;m&&m.localName!=="legend";)m=m.nextElementSibling;m&&m.contains(e)||(l=!0);break}else{if(d.localName==="form")break;if(d.parentNode?.nodeType===1){if(d.parentNode.localName==="form")break;d=d.parentNode}else break}}l?a==="disabled"&&o.add(e):a==="enabled"&&o.add(e)}break}case"read-only":case"read-write":{let i,l;switch(r){case"textarea":{e.readonly||e.hasAttribute("readonly")||e.disabled||e.hasAttribute("disabled")?i=!0:l=!0;break}case"input":{(!e.type||Q.includes(e.type))&&(e.readonly||e.hasAttribute("readonly")||e.disabled||e.hasAttribute("disabled")?i=!0:l=!0);break}default:ee(e)?l=!0:i=!0}i?a==="read-only"&&o.add(e):a==="read-write"&&l&&o.add(e);break}case"placeholder-shown":{let i;if(e.placeholder?i=e.placeholder:e.hasAttribute("placeholder")&&(i=e.getAttribute("placeholder")),typeof i=="string"&&!/[\r\n]/.test(i)){let l;r==="textarea"?l=e:r==="input"&&(e.hasAttribute("type")?[...Z,"number"].includes(e.getAttribute("type"))&&(l=e):l=e),l&&e.value===""&&o.add(e)}break}case"checked":{let i=e.getAttribute("type");(e.checked&&r==="input"&&(i==="checkbox"||i==="radio")||e.selected&&r==="option")&&o.add(e);break}case"indeterminate":{if(e.indeterminate&&r==="input"&&e.type==="checkbox"||r==="progress"&&!e.hasAttribute("value"))o.add(e);else if(r==="input"&&e.type==="radio"&&!e.hasAttribute("checked")){let i=e.name,l=e.parentNode;for(;l&&l.localName!=="form";)l=l.parentNode;l||(l=this.#t.documentElement);let d=this._createTreeWalker(l),m=g(l,d);m=d.firstChild();let p;for(;m&&!(m.localName==="input"&&m.getAttribute("type")==="radio"&&(m.hasAttribute("name")?m.getAttribute("name")===i&&(p=!!m.checked):p=!!m.checked,p));)m=d.nextNode();p||o.add(e)}break}case"default":{let i=["checkbox","radio"],l=["button","reset"],d=["image","submit"],m=e.getAttribute("type");if(r==="button"&&!(e.hasAttribute("type")&&l.includes(m))||r==="input"&&e.hasAttribute("type")&&d.includes(m)){let p=e.parentNode;for(;p&&p.localName!=="form";)p=p.parentNode;if(p){let E=this._createTreeWalker(p),b=g(p,E);for(b=E.firstChild();b;){let w=b.localName,y=b.getAttribute("type"),C;if(w==="button"?C=!(b.hasAttribute("type")&&l.includes(y)):w==="input"&&(C=b.hasAttribute("type")&&d.includes(y)),C){b===e&&o.add(e);break}b=E.nextNode()}}}else(r==="input"&&e.hasAttribute("type")&&i.includes(m)&&e.hasAttribute("checked")||r==="option"&&e.hasAttribute("selected"))&&o.add(e);break}case"valid":case"invalid":{let i=[...ce,"form"];if(i.includes(r)){let l;e.checkValidity()&&(e.maxLength>=0?e.maxLength>=e.value.length&&(l=!0):l=!0),l?a==="valid"&&o.add(e):a==="invalid"&&o.add(e)}else if(r==="fieldset"){let l=this._createTreeWalker(e),d=g(e,l);d=l.firstChild();let m;if(!d)m=!0;else for(;d&&!(i.includes(d.localName)&&(d.checkValidity()?d.maxLength>=0?m=d.maxLength>=d.value.length:m=!0:m=!1,!m));)d=l.nextNode();m?a==="valid"&&o.add(e):a==="invalid"&&o.add(e)}break}case"in-range":case"out-of-range":{let i=[...Te,"number","range"],l=e.getAttribute("type");if(r==="input"&&!(e.readonly||e.hasAttribute("readonly"))&&!(e.disabled||e.hasAttribute("disabled"))&&i.includes(l)){let d=e.validity.rangeUnderflow||e.validity.rangeOverflow;(a==="out-of-range"&&d||a==="in-range"&&!d&&(e.hasAttribute("min")||e.hasAttribute("max")||l==="range"))&&o.add(e)}break}case"required":case"optional":{let i;if(r==="select"||r==="textarea")i=e;else if(r==="input")if(e.hasAttribute("type")){let l=[...Q,"checkbox","file","radio"],d=e.getAttribute("type");l.includes(d)&&(i=e)}else i=e;i&&(e.required||e.hasAttribute("required")?a==="required"&&o.add(e):a==="optional"&&o.add(e));break}case"root":{e===this.#t.documentElement&&o.add(e);break}case"empty":{if(e.hasChildNodes()){let i=this._createTreeWalker(e,{force:!0,whatToShow:4294967295}),l=i.firstChild(),d;for(;l&&(d=l.nodeType!==1&&l.nodeType!==3,!!d);)l=i.nextSibling();d&&o.add(e)}else o.add(e);break}case"first-child":{(f&&e===f.firstElementChild||e===this.#r)&&o.add(e);break}case"last-child":{(f&&e===f.lastElementChild||e===this.#r)&&o.add(e);break}case"only-child":{(f&&e===f.firstElementChild&&e===f.lastElementChild||e===this.#r)&&o.add(e);break}case"first-of-type":{if(f){let[i]=this._collectNthOfType({a:0,b:1},e);i&&o.add(i)}else e===this.#r&&o.add(e);break}case"last-of-type":{if(f){let[i]=this._collectNthOfType({a:0,b:1,reverse:!0},e);i&&o.add(i)}else e===this.#r&&o.add(e);break}case"only-of-type":{if(f){let[i]=this._collectNthOfType({a:0,b:1},e);if(i===e){let[l]=this._collectNthOfType({a:0,b:1,reverse:!0},e);l===e&&o.add(e)}}else e===this.#r&&o.add(e);break}case"defined":{e.hasAttribute("is")||r.includes("-")?ue(e)&&o.add(e):(e instanceof this.#o.HTMLElement||e instanceof this.#o.SVGElement)&&o.add(e);break}case"popover-open":{e.popover&&Oe(e)&&o.add(e);break}case"host":case"host-context":break;case"after":case"before":case"first-letter":case"first-line":{if(h)throw new DOMException(`Unsupported pseudo-element ::${a}`,A);break}case"autofill":case"blank":case"buffering":case"current":case"fullscreen":case"future":case"modal":case"muted":case"past":case"paused":case"picture-in-picture":case"playing":case"seeking":case"stalled":case"user-invalid":case"user-valid":case"volume-locked":case"-webkit-autofill":{if(h)throw new DOMException(`Unsupported pseudo-class :${a}`,A);break}default:if(a.startsWith("-webkit-")){if(h)throw new DOMException(`Unsupported pseudo-class :${a}`,A)}else if(!u)throw new DOMException(`Unknown pseudo-class :${a}`,N)}return o}_matchShadowHostPseudoClass(t,e){let{children:n,name:s}=t;if(Array.isArray(n)){if(n.length!==1){let h=(0,_.generate)(t);throw new DOMException(`Invalid selector ${h}`,N)}let{branches:a}=z(n[0]),[r]=a,[...f]=r,{host:u}=e;if(s==="host"){let h;for(let o of f){let{type:i}=o;if(i===v){let l=(0,_.generate)(t);throw new DOMException(`Invalid selector ${l}`,N)}if(h=this._matchSelector(o,u).has(u),!h)break}return h?e:null}else if(s==="host-context"){let h=u,o;for(;h;){for(let i of f){let{type:l}=i;if(l===v){let d=(0,_.generate)(t);throw new DOMException(`Invalid selector ${d}`,N)}if(o=this._matchSelector(i,h).has(h),!o)break}if(o)break;h=h.parentNode}return o?e:null}throw new DOMException(`Invalid selector :${s}`,N)}else{if(s==="host")return e;throw new DOMException(`Invalid selector :${s}`,N)}}_matchSelector(t,e,n={}){let{type:s}=t,a=M(t.name),r=new Set;if(e.nodeType===1)switch(s){case B:{at(t,e)&&r.add(e);break}case R:{e.id===a&&r.add(e);break}case j:{e.classList.contains(a)&&r.add(e);break}case k:return this._matchPseudoClassSelector(t,e,n);case F:{ot(t,e,n)&&r.add(e);break}case O:default:Ee(a,s,n)}else if(this.#u&&s===k&&e.nodeType===11){if(P.includes(a))return n.isShadowRoot=!0,this._matchPseudoClassSelector(t,e,n);if(a==="host"||a==="host-context"){let f=this._matchShadowHostPseudoClass(t,e,n);f&&(this.#x=!0,r.add(f))}}return r}_matchLeaves(t,e,n){let s;if(this.#f?s=this.#m.get(t):s=this.#w.get(t),s&&s.has(e)){let{matched:a}=s.get(e);return a}else{let a=!0,r=[...ce,"fieldset","form"],f=["any-link","defined","dir","link"];e.nodeType===1&&r.includes(e.localName)&&(a=!1);let u;for(let h of t){switch(h.type){case B:case R:{a=!1;break}case k:{f.includes(h.name)&&(a=!1);break}default:}if(u=this._matchSelector(h,e,n).has(e),!u)break}return a&&(s||(s=new WeakMap),s.set(e,{matched:u}),this.#f?this.#m.set(t,s):this.#w.set(t,s)),u}}_findDescendantNodes(t,e,n){let[s,...a]=t,r=a.length>0,{type:f}=s,u=M(s.name),h=new Set,o=!1;if(this.#u||e.nodeType!==1)o=!0;else switch(f){case O:{Ee(u,f,n);break}case R:{if(this.#r.nodeType===1)o=!0;else{let i=this.#r.getElementById(u);i&&i!==e&&e.contains(i)&&(r?this._matchLeaves(a,i,n)&&h.add(i):h.add(i))}break}default:o=!0}if(o){let i=this._createTreeWalker(e),l=g(e,i);for(l=i.firstChild();l;)this._matchLeaves(t,l,n)&&h.add(l),l=i.nextNode()}return h}_matchCombinator(t,e,n){let{combo:s,leaves:a}=t,{name:r}=s,{parentNode:f}=e,{dir:u}=n,h=new Set;if(u===H)switch(r){case"+":{let o=e.nextElementSibling;o&&this._matchLeaves(a,o,n)&&h.add(o);break}case"~":{if(f){let o=e.nextElementSibling;for(;o;)this._matchLeaves(a,o,n)&&h.add(o),o=o.nextElementSibling}break}case">":{let o=e.firstElementChild;for(;o;)this._matchLeaves(a,o,n)&&h.add(o),o=o.nextElementSibling;break}case" ":default:{let o=this._findDescendantNodes(a,e,n);if(o.size)return o}}else switch(r){case"+":{let o=e.previousElementSibling;o&&this._matchLeaves(a,o,n)&&h.add(o);break}case"~":{if(f){let o=f.firstElementChild;for(;o&&o!==e;)this._matchLeaves(a,o,n)&&h.add(o),o=o.nextElementSibling}break}case">":{f&&this._matchLeaves(a,f,n)&&h.add(f);break}case" ":default:{let o=[],i=f;for(;i;)this._matchLeaves(a,i,n)&&o.push(i),i=i.parentNode;if(o.length)return new Set(o.reverse())}}return h}_findWalker(t,e,n={}){let{force:s,targetType:a}=n,r=this.#b,f=[],u=g(e,r,!!s);if(u)for((u.nodeType!==1||u===e&&u!==this.#r)&&(u=r.nextNode());u&&!(this._matchLeaves(t,u,{warn:this.#a})&&(f.push(u),a!==L));)u=r.nextNode();return f}_matchSelf(t){let e=[],n=!1;return this._matchLeaves(t,this.#e,{warn:this.#a})&&(e.push(this.#e),n=!0),[e,n]}_findLineal(t,e){let{complex:n}=e,s=[],a=!1,r=this._matchLeaves(t,this.#e,{warn:this.#a});if(r&&(s.push(this.#e),a=!0),!r||n){let f=this.#e.parentNode;for(;f&&(r=this._matchLeaves(t,f,{warn:this.#a}),r&&(s.push(f),a=!0),f.parentNode);)f=f.parentNode}return[s,a]}_findEntryNodes(t,e,n){let{leaves:s}=t,[a,...r]=s,f=r.length>0,{name:u,type:h}=a,o=[],i=!1,l=!1;switch(h){case O:{Ee(u,h,{warn:this.#a});break}case R:{if(e===D)[o,i]=this._matchSelf(s);else if(e===$)[o,i]=this._findLineal(s,{complex:n});else if(e===S&&this.#r.nodeType!==1){let d=this.#r.getElementById(u);d&&(f?this._matchLeaves(r,d,{warn:this.#a})&&(o.push(d),i=!0):(o.push(d),i=!0))}else o=this._findWalker(s,this.#e,{targetType:e}),o.length&&(i=!0);break}case j:{e===D?[o,i]=this._matchSelf(s):e===$?[o,i]=this._findLineal(s,{complex:n}):(o=this._findWalker(s,this.#e,{targetType:e}),o.length&&(i=!0));break}case F:{e===D?[o,i]=this._matchSelf(s):e===$?[o,i]=this._findLineal(s,{complex:n}):(o=this._findWalker(s,this.#e,{targetType:e}),o.length&&(i=!0));break}default:if(e!==$&&(u==="host"||u==="host-context")){let d;if(this.#u&&this.#e.nodeType===11?d=this._matchShadowHostPseudoClass(a,this.#e):f&&this.#e.nodeType===1&&(d=this._matchShadowHostPseudoClass(a,this.#e.shadowRoot)),d){let m;if(f){for(let p of r)if(/^host(?:-context)?$/.test(p.name)?m=this._matchShadowHostPseudoClass(p,d)===d:p.name==="has"?m=this._matchPseudoClassSelector(p,d,{}).has(d):m=!1,!m)break}else m=!0;m&&(o.push(d),i=!0)}}else e===D?[o,i]=this._matchSelf(s):e===$?[o,i]=this._findLineal(s,{complex:n}):e===S?(o=this._findWalker(s,this.#e,{targetType:e}),o.length&&(i=!0)):l=!0}return{compound:f,filtered:i,nodes:o,pending:l}}_collectNodes(t){let e=this.#i.values();if(t===L||t===S){let n=new Set,s=0;for(let{branch:a}of e){let r=a.length,f=r>1,u=a[0],h,o;if(f){let{combo:p,leaves:[{name:E,type:b}]}=u,w=a[r-1],{leaves:[{name:y,type:C}]}=w;if(h=H,o=u,this.#N.includes(":scope")||C===O||C===R)h=Y,o=w;else if(E==="*"&&b===F)h=Y,o=w;else if(y==="*"&&C===F)h=H,o=u;else if(r===2){let{name:se}=p;(se==="+"||se==="~")&&(h=Y,o=w)}}else h=Y,o=u;let{compound:i,filtered:l,nodes:d,pending:m}=this._findEntryNodes(o,t,f);d.length?(this.#i[s].find=!0,this.#d[s]=d):m&&n.add(new Map([["index",s],["twig",o]])),this.#i[s].dir=h,this.#i[s].filtered=l||!i,s++}if(n.size){let a,r;this.#e!==this.#r&&this.#e.nodeType===1?(a=this.#e,r=this.#b):(a=this.#r,r=this._createTreeWalker(a));let f=g(a,r);for(;f;){let u=!1;if(this.#e.nodeType===1?f===this.#e?u=!0:u=this.#e.contains(f):u=!0,u)for(let h of n){let{leaves:o}=h.get("twig");if(this._matchLeaves(o,f,{warn:this.#a})){let l=h.get("index");this.#i[l].filtered=!0,this.#i[l].find=!0,this.#d[l].push(f)}}f!==r.currentNode&&(f=g(f,r)),f=r.nextNode()}}}else{let n=0;for(let{branch:s}of e){let a=s[s.length-1],r=s.length>1,{compound:f,filtered:u,nodes:h}=this._findEntryNodes(a,t,r);h.length&&(this.#i[n].find=!0,this.#d[n]=h),this.#i[n].dir=Y,this.#i[n].filtered=u||!f,n++}}return[this.#i,this.#d]}_getCombinedNodes(t,e,n){let s=[];for(let a of e){let r=this._matchCombinator(t,a,{dir:n,warn:this.#a});r.size&&s.push(...r)}return s.length?new Set(s):new Set}_matchNodeNext(t,e,n){let{combo:s,index:a}=n,{combo:r,leaves:f}=t[a],u={combo:s,leaves:f},h=this._getCombinedNodes(u,e,H);if(h.size)if(a===t.length-1){let[o]=pe(h);return o}else return this._matchNodeNext(t,h,{combo:r,index:a+1});return null}_matchNodePrev(t,e,n){let{index:s}=n,a=t[s],r=new Set([e]),f=this._getCombinedNodes(a,r,Y);if(f.size){if(s===0)return e;{let u;for(let h of f)if(u=this._matchNodePrev(t,h,{index:s-1}),u)break;if(u)return e}}return null}find(t){(t===L||t===S)&&this._prepareQuerySelectorWalker();let[[...e],n]=this._collectNodes(t),s=e.length,a,r=new Set;for(let f=0;f<s;f++){let{branch:u,dir:h,find:o}=e[f],i=u.length;if(i&&o){let l=n[f],d=l.length,m=i-1;if(m===0)if((t===L||t===S)&&this.#e.nodeType===1)for(let p=0;p<d;p++){let E=l[p];if(E!==this.#e&&this.#e.contains(E)&&(r.add(E),t===S))break}else if(t===L)if(r.size){let p=[...r];r=new Set([...p,...l]),a=!0}else r=new Set(l);else{let[p]=l;r.add(p)}else if(t===L)if(h===H){let{combo:p}=u[0],E=p;for(let b of l){let w=new Set([b]);for(let y=1;y<i;y++){let{combo:C,leaves:se}=u[y],ft={combo:E,leaves:se};if(w=this._getCombinedNodes(ft,w,h),w.size)if(y===m)if(r.size){let ht=[...r];r=new Set([...ht,...w]),a=!0,E=p}else r=w,E=p;else E=C;else break}}}else for(let p of l){let E=new Set([p]);for(let b=m-1;b>=0;b--){let w=u[b];if(E=this._getCombinedNodes(w,E,h),E.size)b===0&&(r.add(p),i>1&&r.size>1&&(a=!0));else break}}else if(t===S&&h===H){let{combo:p}=u[0],E;for(let b of l)if(E=this._matchNodeNext(u,new Set([b]),{combo:p,index:1}),E){r.add(E);break}if(!E){let{leaves:b}=u[0],[w]=l,[y]=this._findWalker(b,w,{targetType:t});for(;y;){if(E=this._matchNodeNext(u,new Set([y]),{combo:p,index:1}),E){r.add(E);break}[y]=this._findWalker(b,y,{targetType:t,force:!0})}}}else{let p;for(let E of l)if(p=this._matchNodePrev(u,E,{index:m-1}),p){r.add(E);break}if(!p&&t===S){let{leaves:E}=u[m],[b]=l,[w]=this._findWalker(E,b,{targetType:t});for(;w;){if(p=this._matchNodePrev(u,w,{index:m-1}),p){r.add(w);break}[w]=this._findWalker(E,w,{targetType:t,force:!0})}}}}}return t===S?(r.delete(this.#e),r.size>1&&(r=new Set(pe(r)))):t===L&&(r.delete(this.#e),a&&r.size>1&&(r=new Set(pe(r)))),r}};var De=new RegExp(`${q}${le}${q}`,"i"),lt=new RegExp(`${q}${ze}${q}`,"i"),ct=new RegExp(`^${Ke}$`),Ie=class{#i;#n;#s;#t;constructor(t,e){this.#i=t,this.#n=e??t.document,this.#s=new we(t),this.#t=tt(t,e)}matches(t,e,n){if(e?.nodeType){if(e.nodeType!==1){let r=new this.#i.TypeError(`Unexpected node ${e.nodeName}`);this.#s.onError(r,n)}}else{let r=new this.#i.TypeError(`Unexpected type ${T(e)}`);this.#s.onError(r,n)}let s=e.ownerDocument;if(s===this.#n&&s.contentType==="text/html"&&e.parentNode){let r={complex:De.test(t),compound:!1,descend:!1,simple:!1,target:D};if(te(t,r))try{return this.#t.match(t,e)}catch{}}let a;try{this.#s.setup(t,e,n),a=this.#s.find(D).size}catch(r){this.#s.onError(r,n)}return!!a}closest(t,e,n){if(e?.nodeType){if(e.nodeType!==1){let r=new this.#i.TypeError(`Unexpected node ${e.nodeName}`);this.#s.onError(r,n)}}else{let r=new this.#i.TypeError(`Unexpected type ${T(e)}`);this.#s.onError(r,n)}let s=e.ownerDocument;if(s===this.#n&&s.contentType==="text/html"&&e.parentNode){let r={complex:De.test(t),compound:!1,descend:!1,simple:!1,target:$};if(te(t,r))try{return this.#t.closest(t,e)}catch{}}let a;try{this.#s.setup(t,e,n);let r=this.#s.find($);if(r.size){let f=e;for(;f;){if(r.has(f)){a=f;break}f=f.parentNode}}}catch(r){this.#s.onError(r,n)}return a??null}querySelector(t,e,n){if(!e?.nodeType){let r=new this.#i.TypeError(`Unexpected type ${T(e)}`);this.#s.onError(r,n)}let s;if(e.nodeType===9?s=e:s=e.ownerDocument,s===this.#n&&s.contentType==="text/html"){let r={complex:!1,compound:!(ct.test(t)||De.test(t)),descend:lt.test(t),simple:ct.test(t),target:S};if(te(t,r))try{return this.#t.first(t,e)}catch{}}let a;try{this.#s.setup(t,e,n);let r=this.#s.find(S);r.size&&([a]=r)}catch(r){this.#s.onError(r,n)}return a??null}querySelectorAll(t,e,n){if(!e?.nodeType){let r=new this.#i.TypeError(`Unexpected type ${T(e)}`);this.#s.onError(r,n)}let s;if(e.nodeType===9?s=e:s=e.ownerDocument,s===this.#n&&s.contentType==="text/html"){let r={complex:!1,compound:!1,descend:lt.test(t),simple:!1,target:L};if(te(t,r))try{return this.#t.select(t,e)}catch{}}let a;try{this.#s.setup(t,e,n);let r=this.#s.find(L);r.size&&(a=[...r])}catch(r){this.#s.onError(r,n)}return a??[]}};0&&(module.exports={DOMSelector});
|
|
3
|
+
/*!
|
|
4
|
+
* DOM Selector - A CSS selector engine.
|
|
5
|
+
* @license MIT
|
|
6
|
+
* @copyright asamuzaK (Kazz)
|
|
7
|
+
* @see {@link https://github.com/asamuzaK/domSelector/blob/main/LICENSE}
|
|
8
|
+
*/
|
|
9
|
+
//# sourceMappingURL=index.cjs.map
|