@projectwallace/css-parser 0.13.6 → 0.13.8
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/dist/{css-node-2ejJUrIw.js → css-node-Uj4oBgaw.js} +4 -2
- package/dist/index.js +1 -1
- package/dist/parse-anplusb.js +1 -1
- package/dist/parse-atrule-prelude.js +1 -1
- package/dist/parse-declaration.js +1 -1
- package/dist/parse-selector.js +1 -1
- package/dist/parse-value.js +1 -1
- package/dist/parse.d.ts +0 -1
- package/dist/parse.js +7 -29
- package/package.json +1 -1
|
@@ -315,7 +315,7 @@ var CSSNode = class CSSNode {
|
|
|
315
315
|
/** Get the "content" text (at-rule name for at-rules, layer name for import layers) */
|
|
316
316
|
get name() {
|
|
317
317
|
let { type } = this;
|
|
318
|
-
if (type === 4 || type === 16 || type === 5) return;
|
|
318
|
+
if (type === 4 || type === 16 || type === 5 || type === 33) return;
|
|
319
319
|
return this.get_content();
|
|
320
320
|
}
|
|
321
321
|
/**
|
|
@@ -336,6 +336,8 @@ var CSSNode = class CSSNode {
|
|
|
336
336
|
*/
|
|
337
337
|
get value() {
|
|
338
338
|
let { type, text, first_child } = this;
|
|
339
|
+
if (type === 3) return void 0;
|
|
340
|
+
if (type === 34) return text;
|
|
339
341
|
if (type === 4 && first_child) return first_child;
|
|
340
342
|
if (type === 12) return parse_dimension(text).value;
|
|
341
343
|
if (type === 11) return Number.parseFloat(text);
|
|
@@ -424,7 +426,7 @@ var CSSNode = class CSSNode {
|
|
|
424
426
|
/** Check if this node has a prelude (at-rules and style rules) */
|
|
425
427
|
get has_prelude() {
|
|
426
428
|
let { type } = this;
|
|
427
|
-
if (type === 3) return this.
|
|
429
|
+
if (type === 3) return this.first_child !== null && this.first_child.type !== 7;
|
|
428
430
|
if (type === 2) return this.first_child !== null;
|
|
429
431
|
return false;
|
|
430
432
|
}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { C as TOKEN_RIGHT_BRACKET, D as TOKEN_UNICODE_RANGE, E as TOKEN_STRING, O as TOKEN_URL, S as TOKEN_RIGHT_BRACE, T as TOKEN_SEMICOLON, _ as TOKEN_LEFT_BRACE, a as TOKEN_BAD_URL, b as TOKEN_NUMBER, c as TOKEN_COLON, d as TOKEN_DELIM, f as TOKEN_DIMENSION, g as TOKEN_IDENT, h as TOKEN_HASH, i as TOKEN_BAD_STRING, k as TOKEN_WHITESPACE, l as TOKEN_COMMA, m as TOKEN_FUNCTION, n as tokenize, o as TOKEN_CDC, p as TOKEN_EOF, r as TOKEN_AT_KEYWORD, s as TOKEN_CDO, u as TOKEN_COMMENT, v as TOKEN_LEFT_BRACKET, w as TOKEN_RIGHT_PAREN, x as TOKEN_PERCENTAGE, y as TOKEN_LEFT_PAREN } from "./tokenize-BQFB1jXg.js";
|
|
2
|
-
import { $ as TYPE_SELECTOR, A as IDENTIFIER, B as NUMBER, D as FLAG_IMPORTANT, E as FEATURE_RANGE, F as MEDIA_QUERY, G as PSEUDO_ELEMENT_SELECTOR, H as PARENTHESIS, I as MEDIA_TYPE, J as SELECTOR_LIST, K as RAW, L as NESTING_SELECTOR, M as LANG_SELECTOR, N as LAYER_NAME, O as FUNCTION, P as MEDIA_FEATURE, Q as SUPPORTS_QUERY, R as NTH_OF_SELECTOR, S as CONTAINER_QUERY, T as DIMENSION, U as PRELUDE_OPERATOR, V as OPERATOR, W as PSEUDO_CLASS_SELECTOR, X as STYLESHEET, Y as STRING, Z as STYLE_RULE, _ as AT_RULE_PRELUDE, a as ATTRIBUTE_SELECTOR, b as COMBINATOR, c as ATTR_FLAG_NONE, d as ATTR_OPERATOR_EQUAL, et as UNIVERSAL_SELECTOR, f as ATTR_OPERATOR_NONE, g as AT_RULE, h as ATTR_OPERATOR_TILDE_EQUAL, i as TYPE_NAMES, j as ID_SELECTOR, k as HASH, l as ATTR_OPERATOR_CARET_EQUAL, m as ATTR_OPERATOR_STAR_EQUAL, n as ATTR_OPERATOR_NAMES, nt as VALUE, o as ATTR_FLAG_CASE_INSENSITIVE, p as ATTR_OPERATOR_PIPE_EQUAL, q as SELECTOR, r as CSSNode, s as ATTR_FLAG_CASE_SENSITIVE, t as ATTR_FLAG_NAMES, tt as URL, u as ATTR_OPERATOR_DOLLAR_EQUAL, v as BLOCK, w as DECLARATION, x as COMMENT, y as CLASS_SELECTOR, z as NTH_SELECTOR } from "./css-node-
|
|
2
|
+
import { $ as TYPE_SELECTOR, A as IDENTIFIER, B as NUMBER, D as FLAG_IMPORTANT, E as FEATURE_RANGE, F as MEDIA_QUERY, G as PSEUDO_ELEMENT_SELECTOR, H as PARENTHESIS, I as MEDIA_TYPE, J as SELECTOR_LIST, K as RAW, L as NESTING_SELECTOR, M as LANG_SELECTOR, N as LAYER_NAME, O as FUNCTION, P as MEDIA_FEATURE, Q as SUPPORTS_QUERY, R as NTH_OF_SELECTOR, S as CONTAINER_QUERY, T as DIMENSION, U as PRELUDE_OPERATOR, V as OPERATOR, W as PSEUDO_CLASS_SELECTOR, X as STYLESHEET, Y as STRING, Z as STYLE_RULE, _ as AT_RULE_PRELUDE, a as ATTRIBUTE_SELECTOR, b as COMBINATOR, c as ATTR_FLAG_NONE, d as ATTR_OPERATOR_EQUAL, et as UNIVERSAL_SELECTOR, f as ATTR_OPERATOR_NONE, g as AT_RULE, h as ATTR_OPERATOR_TILDE_EQUAL, i as TYPE_NAMES, j as ID_SELECTOR, k as HASH, l as ATTR_OPERATOR_CARET_EQUAL, m as ATTR_OPERATOR_STAR_EQUAL, n as ATTR_OPERATOR_NAMES, nt as VALUE, o as ATTR_FLAG_CASE_INSENSITIVE, p as ATTR_OPERATOR_PIPE_EQUAL, q as SELECTOR, r as CSSNode, s as ATTR_FLAG_CASE_SENSITIVE, t as ATTR_FLAG_NAMES, tt as URL, u as ATTR_OPERATOR_DOLLAR_EQUAL, v as BLOCK, w as DECLARATION, x as COMMENT, y as CLASS_SELECTOR, z as NTH_SELECTOR } from "./css-node-Uj4oBgaw.js";
|
|
3
3
|
import { c as str_starts_with, i as is_vendor_prefixed, o as str_equals, r as is_custom, s as str_index_of, t as parse_dimension } from "./parse-dimension-CCn_XRDe.js";
|
|
4
4
|
import { parse_selector } from "./parse-selector.js";
|
|
5
5
|
import { parse_atrule_prelude } from "./parse-atrule-prelude.js";
|
package/dist/parse-anplusb.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as Lexer } from "./tokenize-BQFB1jXg.js";
|
|
2
|
-
import { C as CSSDataArena, r as CSSNode } from "./css-node-
|
|
2
|
+
import { C as CSSDataArena, r as CSSNode } from "./css-node-Uj4oBgaw.js";
|
|
3
3
|
import { o as str_equals, s as str_index_of } from "./parse-dimension-CCn_XRDe.js";
|
|
4
4
|
//#region src/parse-anplusb.ts
|
|
5
5
|
/** @internal */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as Lexer } from "./tokenize-BQFB1jXg.js";
|
|
2
|
-
import { C as CSSDataArena, r as CSSNode } from "./css-node-
|
|
2
|
+
import { C as CSSDataArena, r as CSSNode } from "./css-node-Uj4oBgaw.js";
|
|
3
3
|
import { a as is_whitespace, l as strip_vendor_prefix, o as str_equals } from "./parse-dimension-CCn_XRDe.js";
|
|
4
4
|
import { i as trim_boundaries, n as skip_whitespace_and_comments_forward } from "./parse-utils-DnsZRpfd.js";
|
|
5
5
|
//#region src/parse-atrule-prelude.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as Lexer } from "./tokenize-BQFB1jXg.js";
|
|
2
|
-
import { C as CSSDataArena, r as CSSNode } from "./css-node-
|
|
2
|
+
import { C as CSSDataArena, r as CSSNode } from "./css-node-Uj4oBgaw.js";
|
|
3
3
|
import { i as is_vendor_prefixed } from "./parse-dimension-CCn_XRDe.js";
|
|
4
4
|
import { i as trim_boundaries } from "./parse-utils-DnsZRpfd.js";
|
|
5
5
|
import { ValueParser } from "./parse-value.js";
|
package/dist/parse-selector.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as Lexer } from "./tokenize-BQFB1jXg.js";
|
|
2
|
-
import { C as CSSDataArena, r as CSSNode } from "./css-node-
|
|
2
|
+
import { C as CSSDataArena, r as CSSNode } from "./css-node-Uj4oBgaw.js";
|
|
3
3
|
import { a as is_whitespace, n as is_combinator, o as str_equals } from "./parse-dimension-CCn_XRDe.js";
|
|
4
4
|
import { n as skip_whitespace_and_comments_forward, r as skip_whitespace_forward, t as skip_whitespace_and_comments_backward } from "./parse-utils-DnsZRpfd.js";
|
|
5
5
|
import { ANplusBParser } from "./parse-anplusb.js";
|
package/dist/parse-value.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as Lexer } from "./tokenize-BQFB1jXg.js";
|
|
2
|
-
import { C as CSSDataArena, r as CSSNode } from "./css-node-
|
|
2
|
+
import { C as CSSDataArena, r as CSSNode } from "./css-node-Uj4oBgaw.js";
|
|
3
3
|
import { a as is_whitespace, o as str_equals } from "./parse-dimension-CCn_XRDe.js";
|
|
4
4
|
//#region src/parse-value.ts
|
|
5
5
|
/** @internal */
|
package/dist/parse.d.ts
CHANGED
package/dist/parse.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as Lexer } from "./tokenize-BQFB1jXg.js";
|
|
2
|
-
import { C as CSSDataArena, r as CSSNode } from "./css-node-
|
|
2
|
+
import { C as CSSDataArena, r as CSSNode } from "./css-node-Uj4oBgaw.js";
|
|
3
3
|
import { i as trim_boundaries } from "./parse-utils-DnsZRpfd.js";
|
|
4
4
|
import { SelectorParser } from "./parse-selector.js";
|
|
5
5
|
import { AtRulePreludeParser } from "./parse-atrule-prelude.js";
|
|
@@ -16,16 +16,6 @@ let DECLARATION_AT_RULES = new Set([
|
|
|
16
16
|
"position-try",
|
|
17
17
|
"view-transition"
|
|
18
18
|
]);
|
|
19
|
-
let CONDITIONAL_AT_RULES = new Set([
|
|
20
|
-
"media",
|
|
21
|
-
"supports",
|
|
22
|
-
"container",
|
|
23
|
-
"layer",
|
|
24
|
-
"nest",
|
|
25
|
-
"scope",
|
|
26
|
-
"starting-style",
|
|
27
|
-
"function"
|
|
28
|
-
]);
|
|
29
19
|
/** @internal */
|
|
30
20
|
var Parser = class {
|
|
31
21
|
source;
|
|
@@ -184,15 +174,13 @@ var Parser = class {
|
|
|
184
174
|
}
|
|
185
175
|
let trimmed = trim_boundaries(this.source, prelude_start, prelude_end);
|
|
186
176
|
let prelude_wrapper = null;
|
|
187
|
-
if (trimmed) {
|
|
188
|
-
this.
|
|
189
|
-
|
|
190
|
-
if (this.prelude_parser) {
|
|
177
|
+
if (trimmed) if (this.prelude_parser) {
|
|
178
|
+
let prelude_nodes = this.prelude_parser.parse_prelude(at_rule_name, trimmed[0], trimmed[1], at_rule_line, at_rule_column);
|
|
179
|
+
if (prelude_nodes.length > 0) {
|
|
191
180
|
prelude_wrapper = this.arena.create_node(40, trimmed[0], trimmed[1] - trimmed[0], at_rule_line, at_rule_column);
|
|
192
|
-
|
|
193
|
-
if (prelude_nodes.length > 0) this.arena.append_children(prelude_wrapper, prelude_nodes);
|
|
181
|
+
this.arena.append_children(prelude_wrapper, prelude_nodes);
|
|
194
182
|
} else prelude_wrapper = this.arena.create_node(8, trimmed[0], trimmed[1] - trimmed[0], at_rule_line, at_rule_column);
|
|
195
|
-
}
|
|
183
|
+
} else prelude_wrapper = this.arena.create_node(8, trimmed[0], trimmed[1] - trimmed[0], at_rule_line, at_rule_column);
|
|
196
184
|
let last_end = this.lexer.token_end;
|
|
197
185
|
if (this.peek_type() === 23) {
|
|
198
186
|
let block_start = this.lexer.token_end;
|
|
@@ -202,7 +190,6 @@ var Parser = class {
|
|
|
202
190
|
let block_column = this.lexer.token_column;
|
|
203
191
|
let block_node = this.arena.create_node(7, block_start, 0, block_line, block_column);
|
|
204
192
|
let has_declarations = this.atrule_has_declarations(at_rule_name);
|
|
205
|
-
let is_conditional = this.atrule_is_conditional(at_rule_name);
|
|
206
193
|
let block_children = [];
|
|
207
194
|
if (has_declarations) while (!this.is_eof()) {
|
|
208
195
|
if (this.peek_type() === 24) break;
|
|
@@ -210,7 +197,7 @@ var Parser = class {
|
|
|
210
197
|
if (declaration !== null) block_children.push(declaration);
|
|
211
198
|
else this.next_token();
|
|
212
199
|
}
|
|
213
|
-
else
|
|
200
|
+
else while (!this.is_eof()) {
|
|
214
201
|
let token_type = this.peek_type();
|
|
215
202
|
if (token_type === 24) break;
|
|
216
203
|
if (token_type === 3) {
|
|
@@ -228,12 +215,6 @@ var Parser = class {
|
|
|
228
215
|
if (nested_rule !== null) block_children.push(nested_rule);
|
|
229
216
|
else this.next_token();
|
|
230
217
|
}
|
|
231
|
-
else while (!this.is_eof()) {
|
|
232
|
-
if (this.peek_type() === 24) break;
|
|
233
|
-
let rule = this.parse_rule();
|
|
234
|
-
if (rule !== null) block_children.push(rule);
|
|
235
|
-
else this.next_token();
|
|
236
|
-
}
|
|
237
218
|
if (this.peek_type() === 24) {
|
|
238
219
|
let block_end = this.lexer.token_start;
|
|
239
220
|
last_end = this.lexer.token_end;
|
|
@@ -260,9 +241,6 @@ var Parser = class {
|
|
|
260
241
|
atrule_has_declarations(name) {
|
|
261
242
|
return DECLARATION_AT_RULES.has(name.toLowerCase());
|
|
262
243
|
}
|
|
263
|
-
atrule_is_conditional(name) {
|
|
264
|
-
return CONDITIONAL_AT_RULES.has(name.toLowerCase());
|
|
265
|
-
}
|
|
266
244
|
};
|
|
267
245
|
/**
|
|
268
246
|
* Parse CSS and return an AST
|