happy-dom 10.0.4 → 10.0.5
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.
Potentially problematic release.
This version of happy-dom might be problematic. Click here for more details.
- package/cjs/query-selector/SelectorItem.cjs +5 -0
- package/cjs/query-selector/SelectorItem.cjs.map +1 -1
- package/cjs/query-selector/SelectorItem.d.ts +3 -0
- package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
- package/cjs/query-selector/SelectorParser.cjs +7 -3
- package/cjs/query-selector/SelectorParser.cjs.map +1 -1
- package/cjs/query-selector/SelectorParser.d.ts.map +1 -1
- package/lib/query-selector/SelectorItem.d.ts +3 -0
- package/lib/query-selector/SelectorItem.d.ts.map +1 -1
- package/lib/query-selector/SelectorItem.js +5 -0
- package/lib/query-selector/SelectorItem.js.map +1 -1
- package/lib/query-selector/SelectorParser.d.ts.map +1 -1
- package/lib/query-selector/SelectorParser.js +7 -3
- package/lib/query-selector/SelectorParser.js.map +1 -1
- package/package.json +1 -1
- package/src/query-selector/SelectorItem.ts +8 -0
- package/src/query-selector/SelectorParser.ts +6 -3
@@ -19,6 +19,7 @@ class SelectorItem {
|
|
19
19
|
* @param [options.classNames] Class names.
|
20
20
|
* @param [options.attributes] Attributes.
|
21
21
|
* @param [options.pseudos] Pseudos.
|
22
|
+
* @param [options.isPseudoElement] Is pseudo element.
|
22
23
|
*/
|
23
24
|
constructor(options) {
|
24
25
|
this.tagName = options?.tagName || null;
|
@@ -26,6 +27,7 @@ class SelectorItem {
|
|
26
27
|
this.classNames = options?.classNames || null;
|
27
28
|
this.attributes = options?.attributes || null;
|
28
29
|
this.pseudos = options?.pseudos || null;
|
30
|
+
this.isPseudoElement = options?.isPseudoElement || false;
|
29
31
|
this.combinator = options?.combinator || SelectorCombinatorEnum_js_1.default.descendant;
|
30
32
|
}
|
31
33
|
/**
|
@@ -36,6 +38,9 @@ class SelectorItem {
|
|
36
38
|
*/
|
37
39
|
match(element) {
|
38
40
|
let priorityWeight = 0;
|
41
|
+
if (this.isPseudoElement) {
|
42
|
+
return null;
|
43
|
+
}
|
39
44
|
// Tag name match
|
40
45
|
if (this.tagName) {
|
41
46
|
if (this.tagName !== '*' && this.tagName !== element.tagName) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorItem.cjs","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":";;;;;AAAA,mFAAwD;AAIxD,4FAAiE;AAKjE;;GAEG;AACH,MAAqB,YAAY;
|
1
|
+
{"version":3,"file":"SelectorItem.cjs","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"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"}
|
@@ -12,6 +12,7 @@ export default class SelectorItem {
|
|
12
12
|
classNames: string[] | null;
|
13
13
|
attributes: ISelectorAttribute[] | null;
|
14
14
|
pseudos: ISelectorPseudo[] | null;
|
15
|
+
isPseudoElement: boolean;
|
15
16
|
combinator: SelectorCombinatorEnum;
|
16
17
|
/**
|
17
18
|
* Constructor.
|
@@ -23,6 +24,7 @@ export default class SelectorItem {
|
|
23
24
|
* @param [options.classNames] Class names.
|
24
25
|
* @param [options.attributes] Attributes.
|
25
26
|
* @param [options.pseudos] Pseudos.
|
27
|
+
* @param [options.isPseudoElement] Is pseudo element.
|
26
28
|
*/
|
27
29
|
constructor(options?: {
|
28
30
|
tagName?: string;
|
@@ -30,6 +32,7 @@ export default class SelectorItem {
|
|
30
32
|
classNames?: string[];
|
31
33
|
attributes?: ISelectorAttribute[];
|
32
34
|
pseudos?: ISelectorPseudo[];
|
35
|
+
isPseudoElement?: boolean;
|
33
36
|
combinator?: SelectorCombinatorEnum;
|
34
37
|
});
|
35
38
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorItem.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAGpD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,sBAAsB,CAAC;IAE1C
|
1
|
+
{"version":3,"file":"SelectorItem.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAGpD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,sBAAsB,CAAC;IAE1C;;;;;;;;;;;OAWG;gBACS,OAAO,CAAC,EAAE;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;QAClC,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;QAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,sBAAsB,CAAC;KACpC;IAUD;;;;;OAKG;IACI,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,cAAc,GAAG,IAAI;IAiDtD;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAgHnB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA6BvB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAkBlB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAsBzB"}
|
@@ -24,9 +24,10 @@ const DOMException_js_1 = __importDefault(require("../exception/DOMException.cjs
|
|
24
24
|
* Group 13: Pseudo name when arguments (e.g. "nth-child")
|
25
25
|
* Group 14: Arguments of pseudo (e.g. "2n + 1")
|
26
26
|
* Group 15: Pseudo name when no arguments (e.g. "empty")
|
27
|
-
* Group 16:
|
27
|
+
* Group 16: Pseudo element (e.g. "::after", "::-webkit-inner-spin-button").
|
28
|
+
* Group 17: Combinator.
|
28
29
|
*/
|
29
|
-
const SELECTOR_REGEXP = /(\*)|([a-zA-Z0-9-]+)|#((?:[a-zA-Z0-9-_]|\\.)+)|\.((?:[a-zA-Z0-9-_]|\\.)+)|\[([a-zA-Z0-9-_]+)\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *["']{1}([^"']*)["']{1} *(s|i){0,1}\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *([^\]]*)\]|:([a-zA-Z-]+) *\(([^)]+)\)|:([a-zA-Z-]+)|([ ,+>]*)/g;
|
30
|
+
const SELECTOR_REGEXP = /(\*)|([a-zA-Z0-9-]+)|#((?:[a-zA-Z0-9-_]|\\.)+)|\.((?:[a-zA-Z0-9-_]|\\.)+)|\[([a-zA-Z0-9-_]+)\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *["']{1}([^"']*)["']{1} *(s|i){0,1}\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *([^\]]*)\]|:([a-zA-Z-]+) *\(([^)]+)\)|:([a-zA-Z-]+)|::([a-zA-Z-]+)|([ ,+>]*)/g;
|
30
31
|
/**
|
31
32
|
* Escaped Character RegExp.
|
32
33
|
*/
|
@@ -153,7 +154,10 @@ class SelectorParser {
|
|
153
154
|
currentSelectorItem.pseudos.push(this.getPseudo(match[15]));
|
154
155
|
}
|
155
156
|
else if (match[16]) {
|
156
|
-
|
157
|
+
currentSelectorItem.isPseudoElement = true;
|
158
|
+
}
|
159
|
+
else if (match[17]) {
|
160
|
+
switch (match[17].trim()) {
|
157
161
|
case ',':
|
158
162
|
currentSelectorItem = new SelectorItem_js_1.default({
|
159
163
|
combinator: SelectorCombinatorEnum_js_1.default.descendant
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorParser.cjs","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":";;;;;AAAA,wEAA6C;AAC7C,4FAAiE;AACjE,mFAAwD;AAGxD
|
1
|
+
{"version":3,"file":"SelectorParser.cjs","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":";;;;;AAAA,wEAA6C;AAC7C,4FAAiE;AACjE,mFAAwD;AAGxD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,eAAe,GACpB,iSAAiS,CAAC;AAEnS;;GAEG;AACH,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAE7C;;GAEG;AACH,MAAM,YAAY,GAAG;IACpB,GAAG,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACrC,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACtC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,sBAAsB,GAAG,6DAA6D,CAAC;AAE7F;;GAEG;AACH,MAAqB,cAAc;IAClC;;;;;OAKG;IACI,MAAM,CAAC,eAAe,CAAC,QAAgB;QAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,iBAAiB,CAAC,QAAgB;QAC/C,IAAI,QAAQ,KAAK,GAAG,EAAE;YACrB,OAAO,CAAC,CAAC,IAAI,yBAAY,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;SAC9C;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAE3D,IAAI,WAAW,EAAE;YAChB,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;gBACnB,OAAO,CAAC,CAAC,IAAI,yBAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;aACjE;iBAAM,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;gBAC1B,OAAO,CAAC,CAAC,IAAI,yBAAY,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAClF;iBAAM,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;gBAC1B,OAAO,CAAC,CAAC,IAAI,yBAAY,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC/D;SACD;QAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC;QAC3C,IAAI,mBAAmB,GAAiB,IAAI,yBAAY,CAAC;YACxD,UAAU,EAAE,mCAAsB,CAAC,UAAU;SAC7C,CAAC,CAAC;QACH,IAAI,YAAY,GAAmB,CAAC,mBAAmB,CAAC,CAAC;QACzD,MAAM,MAAM,GAA+B,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,KAAK,CAAC;QAEV,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;YACvC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;gBACb,OAAO,GAAG,IAAI,CAAC;gBAEf,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBACb,mBAAmB,CAAC,OAAO,GAAG,GAAG,CAAC;iBAClC;qBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBACpB,mBAAmB,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBACrD;qBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBACpB,mBAAmB,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;iBAC9E;qBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBACpB,mBAAmB,CAAC,UAAU,GAAG,mBAAmB,CAAC,UAAU,IAAI,EAAE,CAAC;oBACtE,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC,CAAC;iBAC1F;qBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;oBACpB,mBAAmB,CAAC,UAAU,GAAG,mBAAmB,CAAC,UAAU,IAAI,EAAE,CAAC;oBACtE,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;wBAC5B,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,IAAI;wBACX,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,IAAI;qBACZ,CAAC,CAAC;iBACH;qBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;oBAC9C,mBAAmB,CAAC,UAAU,GAAG,mBAAmB,CAAC,UAAU,IAAI,EAAE,CAAC;oBACtE,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;wBAC5B,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;wBAC1B,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;wBACf,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI;wBAC1B,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC;4BAC/B,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;4BAClB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;4BACf,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;yBAClB,CAAC;qBACF,CAAC,CAAC;iBACH;qBAAM,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE;oBAChD,mBAAmB,CAAC,UAAU,GAAG,mBAAmB,CAAC,UAAU,IAAI,EAAE,CAAC;oBACtE,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC;wBACnC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;wBAC7B,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI;wBAC3B,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;wBAChB,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;qBAC1E,CAAC,CAAC;iBACH;qBAAM,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;oBAClC,mBAAmB,CAAC,OAAO,GAAG,mBAAmB,CAAC,OAAO,IAAI,EAAE,CAAC;oBAChE,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBACvE;qBAAM,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;oBACrB,mBAAmB,CAAC,OAAO,GAAG,mBAAmB,CAAC,OAAO,IAAI,EAAE,CAAC;oBAChE,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBAC5D;qBAAM,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;oBACrB,mBAAmB,CAAC,eAAe,GAAG,IAAI,CAAC;iBAC3C;qBAAM,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE;oBACrB,QAAQ,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE;wBACzB,KAAK,GAAG;4BACP,mBAAmB,GAAG,IAAI,yBAAY,CAAC;gCACtC,UAAU,EAAE,mCAAsB,CAAC,UAAU;6BAC7C,CAAC,CAAC;4BACH,YAAY,GAAG,CAAC,mBAAmB,CAAC,CAAC;4BACrC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;4BAC1B,MAAM;wBACP,KAAK,GAAG;4BACP,mBAAmB,GAAG,IAAI,yBAAY,CAAC,EAAE,UAAU,EAAE,mCAAsB,CAAC,KAAK,EAAE,CAAC,CAAC;4BACrF,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;4BACvC,MAAM;wBACP,KAAK,GAAG;4BACP,mBAAmB,GAAG,IAAI,yBAAY,CAAC;gCACtC,UAAU,EAAE,mCAAsB,CAAC,eAAe;6BAClD,CAAC,CAAC;4BACH,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;4BACvC,MAAM;wBACP,KAAK,EAAE;4BACN,mBAAmB,GAAG,IAAI,yBAAY,CAAC;gCACtC,UAAU,EAAE,mCAAsB,CAAC,UAAU;6BAC7C,CAAC,CAAC;4BACH,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;4BACvC,MAAM;qBACP;iBACD;aACD;iBAAM;gBACN,MAAM;aACN;SACD;QAED,IAAI,CAAC,OAAO,EAAE;YACb,MAAM,IAAI,yBAAY,CAAC,sBAAsB,QAAQ,GAAG,CAAC,CAAC;SAC1D;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,kBAAkB,CAAC,SAIjC;QACA,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvD,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YAC5C,OAAO,IAAI,CAAC;SACZ;QAED,QAAQ,SAAS,CAAC,QAAQ,EAAE;YAC3B,oDAAoD;YACpD,KAAK,GAAG;gBACP,OAAO,IAAI,MAAM,CAChB,OAAO,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,SAAS,SAAS,CAAC,KAAK,GAAG,EACpE,QAAQ,CACR,CAAC;YACH,yDAAyD;YACzD,KAAK,GAAG;gBACP,OAAO,IAAI,MAAM,CAAC,IAAI,SAAS,CAAC,KAAK,SAAS,SAAS,CAAC,KAAK,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC7E,wDAAwD;YACxD,KAAK,GAAG;gBACP,OAAO,IAAI,MAAM,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;YACpD,sDAAsD;YACtD,KAAK,GAAG;gBACP,OAAO,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,EAAE,QAAQ,CAAC,CAAC;YACpD,qDAAqD;YACrD,KAAK,GAAG;gBACP,OAAO,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;YACnD;gBACC,OAAO,IAAI,CAAC;SACb;IACF,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,SAAS,CAAC,IAAY,EAAE,IAAa;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,CAAC,IAAI,EAAE;YACV,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;SACnF;QAED,QAAQ,SAAS,EAAE;YAClB,KAAK,gBAAgB,CAAC;YACtB,KAAK,WAAW;gBACf,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM,WAAW,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7E,MAAM,YAAY,GACjB,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxF,OAAO;oBACN,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,IAAI;oBACf,YAAY;oBACZ,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC;iBACnD,CAAC;YACH,KAAK,aAAa,CAAC;YACnB,KAAK,kBAAkB;gBACtB,OAAO;oBACN,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,IAAI;oBACf,YAAY,EAAE,IAAI;oBAClB,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;iBAC5C,CAAC;YACH,KAAK,KAAK;gBACT,OAAO;oBACN,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,IAAI;oBACf,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;oBACxC,WAAW,EAAE,IAAI;iBACjB,CAAC;YACH;gBACC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;SACpF;IACF,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,oBAAoB,CAAC,IAAa;QAChD,IAAI,IAAI,KAAK,KAAK,EAAE;YACnB,OAAO,YAAY,CAAC,GAAG,CAAC;SACxB;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE;YAC3B,OAAO,YAAY,CAAC,IAAI,CAAC;SACzB;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;YACpB,KAAK,GAAG,CAAC,CAAC,CAAC;SACX;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC;SACzB;QAED,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;YACpB,KAAK,GAAG,CAAC,CAAC;SACV;QAED,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE;YAC9B,IAAI,KAAK,IAAI,CAAC,EAAE;gBACf,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBAC1B,OAAO,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;iBAC7C;gBACD,OAAO,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC;aAC/E;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAC1B,OAAO,CAAC,CAAS,EAAW,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;aAC7C;YACD,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC;SAC9D;QAED,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YACb,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC;SAC1B;QAED,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC7B,CAAC;CACD;AArRD,iCAqRC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorParser.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"SelectorParser.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAyD7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;;;;OAKG;WACW,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAI7D;;;;;OAKG;WACW,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAqH7E;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAmCjC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAwCxB;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CA2CnC"}
|
@@ -12,6 +12,7 @@ export default class SelectorItem {
|
|
12
12
|
classNames: string[] | null;
|
13
13
|
attributes: ISelectorAttribute[] | null;
|
14
14
|
pseudos: ISelectorPseudo[] | null;
|
15
|
+
isPseudoElement: boolean;
|
15
16
|
combinator: SelectorCombinatorEnum;
|
16
17
|
/**
|
17
18
|
* Constructor.
|
@@ -23,6 +24,7 @@ export default class SelectorItem {
|
|
23
24
|
* @param [options.classNames] Class names.
|
24
25
|
* @param [options.attributes] Attributes.
|
25
26
|
* @param [options.pseudos] Pseudos.
|
27
|
+
* @param [options.isPseudoElement] Is pseudo element.
|
26
28
|
*/
|
27
29
|
constructor(options?: {
|
28
30
|
tagName?: string;
|
@@ -30,6 +32,7 @@ export default class SelectorItem {
|
|
30
32
|
classNames?: string[];
|
31
33
|
attributes?: ISelectorAttribute[];
|
32
34
|
pseudos?: ISelectorPseudo[];
|
35
|
+
isPseudoElement?: boolean;
|
33
36
|
combinator?: SelectorCombinatorEnum;
|
34
37
|
});
|
35
38
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorItem.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAGpD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,sBAAsB,CAAC;IAE1C
|
1
|
+
{"version":3,"file":"SelectorItem.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAGpD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,sBAAsB,CAAC;IAE1C;;;;;;;;;;;OAWG;gBACS,OAAO,CAAC,EAAE;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;QAClC,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;QAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,sBAAsB,CAAC;KACpC;IAUD;;;;;OAKG;IACI,KAAK,CAAC,OAAO,EAAE,QAAQ,GAAG,cAAc,GAAG,IAAI;IAiDtD;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAgHnB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA6BvB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAkBlB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAsBzB"}
|
@@ -14,6 +14,7 @@ export default class SelectorItem {
|
|
14
14
|
* @param [options.classNames] Class names.
|
15
15
|
* @param [options.attributes] Attributes.
|
16
16
|
* @param [options.pseudos] Pseudos.
|
17
|
+
* @param [options.isPseudoElement] Is pseudo element.
|
17
18
|
*/
|
18
19
|
constructor(options) {
|
19
20
|
this.tagName = options?.tagName || null;
|
@@ -21,6 +22,7 @@ export default class SelectorItem {
|
|
21
22
|
this.classNames = options?.classNames || null;
|
22
23
|
this.attributes = options?.attributes || null;
|
23
24
|
this.pseudos = options?.pseudos || null;
|
25
|
+
this.isPseudoElement = options?.isPseudoElement || false;
|
24
26
|
this.combinator = options?.combinator || SelectorCombinatorEnum.descendant;
|
25
27
|
}
|
26
28
|
/**
|
@@ -31,6 +33,9 @@ export default class SelectorItem {
|
|
31
33
|
*/
|
32
34
|
match(element) {
|
33
35
|
let priorityWeight = 0;
|
36
|
+
if (this.isPseudoElement) {
|
37
|
+
return null;
|
38
|
+
}
|
34
39
|
// Tag name match
|
35
40
|
if (this.tagName) {
|
36
41
|
if (this.tagName !== '*' && this.tagName !== element.tagName) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorItem.js","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,8BAA8B,CAAC;AAIxD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AAKjE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;
|
1
|
+
{"version":3,"file":"SelectorItem.js","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorParser.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"SelectorParser.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAyD7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;;;;OAKG;WACW,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAI7D;;;;;OAKG;WACW,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAqH7E;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAmCjC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAwCxB;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CA2CnC"}
|
@@ -19,9 +19,10 @@ import DOMException from '../exception/DOMException.js';
|
|
19
19
|
* Group 13: Pseudo name when arguments (e.g. "nth-child")
|
20
20
|
* Group 14: Arguments of pseudo (e.g. "2n + 1")
|
21
21
|
* Group 15: Pseudo name when no arguments (e.g. "empty")
|
22
|
-
* Group 16:
|
22
|
+
* Group 16: Pseudo element (e.g. "::after", "::-webkit-inner-spin-button").
|
23
|
+
* Group 17: Combinator.
|
23
24
|
*/
|
24
|
-
const SELECTOR_REGEXP = /(\*)|([a-zA-Z0-9-]+)|#((?:[a-zA-Z0-9-_]|\\.)+)|\.((?:[a-zA-Z0-9-_]|\\.)+)|\[([a-zA-Z0-9-_]+)\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *["']{1}([^"']*)["']{1} *(s|i){0,1}\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *([^\]]*)\]|:([a-zA-Z-]+) *\(([^)]+)\)|:([a-zA-Z-]+)|([ ,+>]*)/g;
|
25
|
+
const SELECTOR_REGEXP = /(\*)|([a-zA-Z0-9-]+)|#((?:[a-zA-Z0-9-_]|\\.)+)|\.((?:[a-zA-Z0-9-_]|\\.)+)|\[([a-zA-Z0-9-_]+)\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *["']{1}([^"']*)["']{1} *(s|i){0,1}\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *([^\]]*)\]|:([a-zA-Z-]+) *\(([^)]+)\)|:([a-zA-Z-]+)|::([a-zA-Z-]+)|([ ,+>]*)/g;
|
25
26
|
/**
|
26
27
|
* Escaped Character RegExp.
|
27
28
|
*/
|
@@ -148,7 +149,10 @@ export default class SelectorParser {
|
|
148
149
|
currentSelectorItem.pseudos.push(this.getPseudo(match[15]));
|
149
150
|
}
|
150
151
|
else if (match[16]) {
|
151
|
-
|
152
|
+
currentSelectorItem.isPseudoElement = true;
|
153
|
+
}
|
154
|
+
else if (match[17]) {
|
155
|
+
switch (match[17].trim()) {
|
152
156
|
case ',':
|
153
157
|
currentSelectorItem = new SelectorItem({
|
154
158
|
combinator: SelectorCombinatorEnum.descendant
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorParser.js","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,YAAY,MAAM,8BAA8B,CAAC;AAGxD
|
1
|
+
{"version":3,"file":"SelectorParser.js","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -16,6 +16,7 @@ export default class SelectorItem {
|
|
16
16
|
public classNames: string[] | null;
|
17
17
|
public attributes: ISelectorAttribute[] | null;
|
18
18
|
public pseudos: ISelectorPseudo[] | null;
|
19
|
+
public isPseudoElement: boolean;
|
19
20
|
public combinator: SelectorCombinatorEnum;
|
20
21
|
|
21
22
|
/**
|
@@ -28,6 +29,7 @@ export default class SelectorItem {
|
|
28
29
|
* @param [options.classNames] Class names.
|
29
30
|
* @param [options.attributes] Attributes.
|
30
31
|
* @param [options.pseudos] Pseudos.
|
32
|
+
* @param [options.isPseudoElement] Is pseudo element.
|
31
33
|
*/
|
32
34
|
constructor(options?: {
|
33
35
|
tagName?: string;
|
@@ -35,6 +37,7 @@ export default class SelectorItem {
|
|
35
37
|
classNames?: string[];
|
36
38
|
attributes?: ISelectorAttribute[];
|
37
39
|
pseudos?: ISelectorPseudo[];
|
40
|
+
isPseudoElement?: boolean;
|
38
41
|
combinator?: SelectorCombinatorEnum;
|
39
42
|
}) {
|
40
43
|
this.tagName = options?.tagName || null;
|
@@ -42,6 +45,7 @@ export default class SelectorItem {
|
|
42
45
|
this.classNames = options?.classNames || null;
|
43
46
|
this.attributes = options?.attributes || null;
|
44
47
|
this.pseudos = options?.pseudos || null;
|
48
|
+
this.isPseudoElement = options?.isPseudoElement || false;
|
45
49
|
this.combinator = options?.combinator || SelectorCombinatorEnum.descendant;
|
46
50
|
}
|
47
51
|
|
@@ -54,6 +58,10 @@ export default class SelectorItem {
|
|
54
58
|
public match(element: IElement): ISelectorMatch | null {
|
55
59
|
let priorityWeight = 0;
|
56
60
|
|
61
|
+
if (this.isPseudoElement) {
|
62
|
+
return null;
|
63
|
+
}
|
64
|
+
|
57
65
|
// Tag name match
|
58
66
|
if (this.tagName) {
|
59
67
|
if (this.tagName !== '*' && this.tagName !== element.tagName) {
|
@@ -21,10 +21,11 @@ import ISelectorPseudo from './ISelectorPseudo.js';
|
|
21
21
|
* Group 13: Pseudo name when arguments (e.g. "nth-child")
|
22
22
|
* Group 14: Arguments of pseudo (e.g. "2n + 1")
|
23
23
|
* Group 15: Pseudo name when no arguments (e.g. "empty")
|
24
|
-
* Group 16:
|
24
|
+
* Group 16: Pseudo element (e.g. "::after", "::-webkit-inner-spin-button").
|
25
|
+
* Group 17: Combinator.
|
25
26
|
*/
|
26
27
|
const SELECTOR_REGEXP =
|
27
|
-
/(\*)|([a-zA-Z0-9-]+)|#((?:[a-zA-Z0-9-_]|\\.)+)|\.((?:[a-zA-Z0-9-_]|\\.)+)|\[([a-zA-Z0-9-_]+)\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *["']{1}([^"']*)["']{1} *(s|i){0,1}\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *([^\]]*)\]|:([a-zA-Z-]+) *\(([^)]+)\)|:([a-zA-Z-]+)|([ ,+>]*)/g;
|
28
|
+
/(\*)|([a-zA-Z0-9-]+)|#((?:[a-zA-Z0-9-_]|\\.)+)|\.((?:[a-zA-Z0-9-_]|\\.)+)|\[([a-zA-Z0-9-_]+)\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *["']{1}([^"']*)["']{1} *(s|i){0,1}\]|\[([a-zA-Z0-9-_]+) *([~|^$*]{0,1}) *= *([^\]]*)\]|:([a-zA-Z-]+) *\(([^)]+)\)|:([a-zA-Z-]+)|::([a-zA-Z-]+)|([ ,+>]*)/g;
|
28
29
|
|
29
30
|
/**
|
30
31
|
* Escaped Character RegExp.
|
@@ -151,7 +152,9 @@ export default class SelectorParser {
|
|
151
152
|
currentSelectorItem.pseudos = currentSelectorItem.pseudos || [];
|
152
153
|
currentSelectorItem.pseudos.push(this.getPseudo(match[15]));
|
153
154
|
} else if (match[16]) {
|
154
|
-
|
155
|
+
currentSelectorItem.isPseudoElement = true;
|
156
|
+
} else if (match[17]) {
|
157
|
+
switch (match[17].trim()) {
|
155
158
|
case ',':
|
156
159
|
currentSelectorItem = new SelectorItem({
|
157
160
|
combinator: SelectorCombinatorEnum.descendant
|