@projectwallace/css-parser 0.13.11 → 0.14.0

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.
@@ -1,5 +1,5 @@
1
1
  //#region src/arena.ts
2
- let BYTES_PER_NODE = 36;
2
+ let BYTES_PER_NODE = 32;
3
3
  const STYLESHEET = 1;
4
4
  const STYLE_RULE = 2;
5
5
  const AT_RULE = 3;
@@ -17,6 +17,7 @@ const FUNCTION = 15;
17
17
  const OPERATOR = 16;
18
18
  const PARENTHESIS = 17;
19
19
  const URL = 18;
20
+ const UNICODE_RANGE = 19;
20
21
  const SELECTOR_LIST = 20;
21
22
  const TYPE_SELECTOR = 21;
22
23
  const CLASS_SELECTOR = 22;
@@ -41,16 +42,6 @@ const FEATURE_RANGE = 39;
41
42
  const AT_RULE_PRELUDE = 40;
42
43
  const VALUE = 50;
43
44
  const FLAG_IMPORTANT = 1;
44
- const ATTR_OPERATOR_NONE = 0;
45
- const ATTR_OPERATOR_EQUAL = 1;
46
- const ATTR_OPERATOR_TILDE_EQUAL = 2;
47
- const ATTR_OPERATOR_PIPE_EQUAL = 3;
48
- const ATTR_OPERATOR_CARET_EQUAL = 4;
49
- const ATTR_OPERATOR_DOLLAR_EQUAL = 5;
50
- const ATTR_OPERATOR_STAR_EQUAL = 6;
51
- const ATTR_FLAG_NONE = 0;
52
- const ATTR_FLAG_CASE_INSENSITIVE = 1;
53
- const ATTR_FLAG_CASE_SENSITIVE = 2;
54
45
  /** @internal */
55
46
  var CSSDataArena = class CSSDataArena {
56
47
  buffer;
@@ -110,12 +101,6 @@ var CSSDataArena = class CSSDataArena {
110
101
  get_content_length(node_index) {
111
102
  return this.view.getUint16(this.node_offset(node_index) + 20, true);
112
103
  }
113
- get_attr_operator(node_index) {
114
- return this.view.getUint8(this.node_offset(node_index) + 32);
115
- }
116
- get_attr_flags(node_index) {
117
- return this.view.getUint8(this.node_offset(node_index) + 33);
118
- }
119
104
  get_first_child(node_index) {
120
105
  return this.view.getUint32(this.node_offset(node_index) + 4, true);
121
106
  }
@@ -153,12 +138,6 @@ var CSSDataArena = class CSSDataArena {
153
138
  set_content_length(node_index, length) {
154
139
  this.view.setUint16(this.node_offset(node_index) + 20, length, true);
155
140
  }
156
- set_attr_operator(node_index, operator) {
157
- this.view.setUint8(this.node_offset(node_index) + 32, operator);
158
- }
159
- set_attr_flags(node_index, flags) {
160
- this.view.setUint8(this.node_offset(node_index) + 33, flags);
161
- }
162
141
  set_first_child(node_index, childIndex) {
163
142
  this.view.setUint32(this.node_offset(node_index) + 4, childIndex, true);
164
143
  }
@@ -217,4 +196,4 @@ var CSSDataArena = class CSSDataArena {
217
196
  }
218
197
  };
219
198
  //#endregion
220
- export { MEDIA_FEATURE as A, PSEUDO_CLASS_SELECTOR as B, FLAG_IMPORTANT as C, ID_SELECTOR as D, IDENTIFIER as E, NTH_SELECTOR as F, STRING as G, RAW as H, NUMBER as I, SUPPORTS_QUERY as J, STYLESHEET as K, OPERATOR as L, MEDIA_TYPE as M, NESTING_SELECTOR as N, LANG_SELECTOR as O, NTH_OF_SELECTOR as P, VALUE as Q, PARENTHESIS as R, FEATURE_RANGE as S, HASH as T, SELECTOR as U, PSEUDO_ELEMENT_SELECTOR as V, SELECTOR_LIST as W, UNIVERSAL_SELECTOR as X, TYPE_SELECTOR as Y, URL as Z, COMMENT as _, ATTR_OPERATOR_CARET_EQUAL as a, DECLARATION as b, ATTR_OPERATOR_NONE as c, ATTR_OPERATOR_TILDE_EQUAL as d, AT_RULE as f, COMBINATOR as g, CLASS_SELECTOR as h, ATTR_FLAG_NONE as i, MEDIA_QUERY as j, LAYER_NAME as k, ATTR_OPERATOR_PIPE_EQUAL as l, BLOCK as m, ATTR_FLAG_CASE_INSENSITIVE as n, ATTR_OPERATOR_DOLLAR_EQUAL as o, AT_RULE_PRELUDE as p, STYLE_RULE as q, ATTR_FLAG_CASE_SENSITIVE as r, ATTR_OPERATOR_EQUAL as s, ATTRIBUTE_SELECTOR as t, ATTR_OPERATOR_STAR_EQUAL as u, CONTAINER_QUERY as v, FUNCTION as w, DIMENSION as x, CSSDataArena as y, PRELUDE_OPERATOR as z };
199
+ export { PSEUDO_CLASS_SELECTOR as A, UNICODE_RANGE as B, NESTING_SELECTOR as C, OPERATOR as D, NUMBER as E, STRING as F, URL as H, STYLESHEET as I, STYLE_RULE as L, RAW as M, SELECTOR as N, PARENTHESIS as O, SELECTOR_LIST as P, SUPPORTS_QUERY as R, MEDIA_TYPE as S, NTH_SELECTOR as T, VALUE as U, UNIVERSAL_SELECTOR as V, ID_SELECTOR as _, CLASS_SELECTOR as a, MEDIA_FEATURE as b, CONTAINER_QUERY as c, DIMENSION as d, FEATURE_RANGE as f, IDENTIFIER as g, HASH as h, BLOCK as i, PSEUDO_ELEMENT_SELECTOR as j, PRELUDE_OPERATOR as k, CSSDataArena as l, FUNCTION as m, AT_RULE as n, COMBINATOR as o, FLAG_IMPORTANT as p, AT_RULE_PRELUDE as r, COMMENT as s, ATTRIBUTE_SELECTOR as t, DECLARATION as u, LANG_SELECTOR as v, NTH_OF_SELECTOR as w, MEDIA_QUERY as x, LAYER_NAME as y, TYPE_SELECTOR as z };
@@ -16,6 +16,7 @@ declare const FUNCTION = 15;
16
16
  declare const OPERATOR = 16;
17
17
  declare const PARENTHESIS = 17;
18
18
  declare const URL = 18;
19
+ declare const UNICODE_RANGE = 19;
19
20
  declare const SELECTOR_LIST = 20;
20
21
  declare const TYPE_SELECTOR = 21;
21
22
  declare const CLASS_SELECTOR = 22;
@@ -38,18 +39,9 @@ declare const LAYER_NAME = 37;
38
39
  declare const PRELUDE_OPERATOR = 38;
39
40
  declare const FEATURE_RANGE = 39;
40
41
  declare const AT_RULE_PRELUDE = 40;
42
+ declare const PRELUDE_SELECTORLIST = 41;
41
43
  declare const VALUE = 50;
42
44
  declare const FLAG_IMPORTANT: number;
43
- declare const ATTR_OPERATOR_NONE = 0;
44
- declare const ATTR_OPERATOR_EQUAL = 1;
45
- declare const ATTR_OPERATOR_TILDE_EQUAL = 2;
46
- declare const ATTR_OPERATOR_PIPE_EQUAL = 3;
47
- declare const ATTR_OPERATOR_CARET_EQUAL = 4;
48
- declare const ATTR_OPERATOR_DOLLAR_EQUAL = 5;
49
- declare const ATTR_OPERATOR_STAR_EQUAL = 6;
50
- declare const ATTR_FLAG_NONE = 0;
51
- declare const ATTR_FLAG_CASE_INSENSITIVE = 1;
52
- declare const ATTR_FLAG_CASE_SENSITIVE = 2;
53
45
  /** @internal */
54
46
  declare class CSSDataArena {
55
47
  private buffer;
@@ -73,8 +65,6 @@ declare class CSSDataArena {
73
65
  get_length(node_index: number): number;
74
66
  get_content_start(node_index: number): number;
75
67
  get_content_length(node_index: number): number;
76
- get_attr_operator(node_index: number): number;
77
- get_attr_flags(node_index: number): number;
78
68
  get_first_child(node_index: number): number;
79
69
  get_next_sibling(node_index: number): number;
80
70
  get_start_line(node_index: number): number;
@@ -86,8 +76,6 @@ declare class CSSDataArena {
86
76
  set_length(node_index: number, length: number): void;
87
77
  set_content_start_delta(node_index: number, delta: number): void;
88
78
  set_content_length(node_index: number, length: number): void;
89
- set_attr_operator(node_index: number, operator: number): void;
90
- set_attr_flags(node_index: number, flags: number): void;
91
79
  set_first_child(node_index: number, childIndex: number): void;
92
80
  set_next_sibling(node_index: number, siblingIndex: number): void;
93
81
  set_value_start_delta(node_index: number, delta: number): void;
@@ -102,4 +90,4 @@ declare class CSSDataArena {
102
90
  has_flag(node_index: number, flag: number): boolean;
103
91
  }
104
92
  //#endregion
105
- export { MEDIA_FEATURE as A, PSEUDO_CLASS_SELECTOR as B, FLAG_IMPORTANT as C, ID_SELECTOR as D, IDENTIFIER as E, NTH_SELECTOR as F, STRING as G, RAW as H, NUMBER as I, SUPPORTS_QUERY as J, STYLESHEET as K, OPERATOR as L, MEDIA_TYPE as M, NESTING_SELECTOR as N, LANG_SELECTOR as O, NTH_OF_SELECTOR as P, VALUE as Q, PARENTHESIS as R, FEATURE_RANGE as S, HASH as T, SELECTOR as U, PSEUDO_ELEMENT_SELECTOR as V, SELECTOR_LIST as W, UNIVERSAL_SELECTOR as X, TYPE_SELECTOR as Y, URL as Z, COMMENT as _, ATTR_OPERATOR_CARET_EQUAL as a, DECLARATION as b, ATTR_OPERATOR_NONE as c, ATTR_OPERATOR_TILDE_EQUAL as d, AT_RULE as f, COMBINATOR as g, CLASS_SELECTOR as h, ATTR_FLAG_NONE as i, MEDIA_QUERY as j, LAYER_NAME as k, ATTR_OPERATOR_PIPE_EQUAL as l, BLOCK as m, ATTR_FLAG_CASE_INSENSITIVE as n, ATTR_OPERATOR_DOLLAR_EQUAL as o, AT_RULE_PRELUDE as p, STYLE_RULE as q, ATTR_FLAG_CASE_SENSITIVE as r, ATTR_OPERATOR_EQUAL as s, ATTRIBUTE_SELECTOR as t, ATTR_OPERATOR_STAR_EQUAL as u, CONTAINER_QUERY as v, FUNCTION as w, DIMENSION as x, CSSDataArena as y, PRELUDE_OPERATOR as z };
93
+ export { PRELUDE_SELECTORLIST as A, TYPE_SELECTOR as B, NESTING_SELECTOR as C, OPERATOR as D, NUMBER as E, SELECTOR_LIST as F, UNIVERSAL_SELECTOR as H, STRING as I, STYLESHEET as L, PSEUDO_ELEMENT_SELECTOR as M, RAW as N, PARENTHESIS as O, SELECTOR as P, STYLE_RULE as R, MEDIA_TYPE as S, NTH_SELECTOR as T, URL as U, UNICODE_RANGE as V, VALUE as W, ID_SELECTOR as _, CLASS_SELECTOR as a, MEDIA_FEATURE as b, CONTAINER_QUERY as c, DIMENSION as d, FEATURE_RANGE as f, IDENTIFIER as g, HASH as h, BLOCK as i, PSEUDO_CLASS_SELECTOR as j, PRELUDE_OPERATOR as k, CSSDataArena as l, FUNCTION as m, AT_RULE as n, COMBINATOR as o, FLAG_IMPORTANT as p, AT_RULE_PRELUDE as r, COMMENT as s, ATTRIBUTE_SELECTOR as t, DECLARATION as u, LANG_SELECTOR as v, NTH_OF_SELECTOR as w, MEDIA_QUERY as x, LAYER_NAME as y, SUPPORTS_QUERY as z };
@@ -1,4 +1,4 @@
1
- import { A as MEDIA_FEATURE, B as PSEUDO_CLASS_SELECTOR, C as FLAG_IMPORTANT, D as ID_SELECTOR, E as IDENTIFIER, F as NTH_SELECTOR, G as STRING, H as RAW, I as NUMBER, J as SUPPORTS_QUERY, K as STYLESHEET, L as OPERATOR, M as MEDIA_TYPE, N as NESTING_SELECTOR, O as LANG_SELECTOR, P as NTH_OF_SELECTOR, Q as VALUE, R as PARENTHESIS, S as FEATURE_RANGE, T as HASH, U as SELECTOR, V as PSEUDO_ELEMENT_SELECTOR, W as SELECTOR_LIST, X as UNIVERSAL_SELECTOR, Y as TYPE_SELECTOR, Z as URL, _ as COMMENT, a as ATTR_OPERATOR_CARET_EQUAL, b as DECLARATION, c as ATTR_OPERATOR_NONE, d as ATTR_OPERATOR_TILDE_EQUAL, f as AT_RULE, g as COMBINATOR, h as CLASS_SELECTOR, i as ATTR_FLAG_NONE, j as MEDIA_QUERY, k as LAYER_NAME, l as ATTR_OPERATOR_PIPE_EQUAL, m as BLOCK, n as ATTR_FLAG_CASE_INSENSITIVE, o as ATTR_OPERATOR_DOLLAR_EQUAL, p as AT_RULE_PRELUDE, q as STYLE_RULE, r as ATTR_FLAG_CASE_SENSITIVE, s as ATTR_OPERATOR_EQUAL, t as ATTRIBUTE_SELECTOR, u as ATTR_OPERATOR_STAR_EQUAL, v as CONTAINER_QUERY, w as FUNCTION, x as DIMENSION, z as PRELUDE_OPERATOR } from "./arena-BtlVZlkG.js";
1
+ import { B as TYPE_SELECTOR, C as NESTING_SELECTOR, D as OPERATOR, E as NUMBER, F as SELECTOR_LIST, H as UNIVERSAL_SELECTOR, I as STRING, L as STYLESHEET, M as PSEUDO_ELEMENT_SELECTOR, N as RAW, O as PARENTHESIS, P as SELECTOR, R as STYLE_RULE, S as MEDIA_TYPE, T as NTH_SELECTOR, U as URL, V as UNICODE_RANGE, W as VALUE, _ as ID_SELECTOR, a as CLASS_SELECTOR, b as MEDIA_FEATURE, c as CONTAINER_QUERY, d as DIMENSION, f as FEATURE_RANGE, g as IDENTIFIER, h as HASH, i as BLOCK, j as PSEUDO_CLASS_SELECTOR, k as PRELUDE_OPERATOR, m as FUNCTION, n as AT_RULE, o as COMBINATOR, p as FLAG_IMPORTANT, r as AT_RULE_PRELUDE, s as COMMENT, t as ATTRIBUTE_SELECTOR, u as DECLARATION, v as LANG_SELECTOR, w as NTH_OF_SELECTOR, x as MEDIA_QUERY, y as LAYER_NAME, z as SUPPORTS_QUERY } from "./arena-D6TANE5e.js";
2
2
 
3
3
  //#region src/constants.d.ts
4
4
  declare const NODE_TYPES: {
@@ -19,6 +19,7 @@ declare const NODE_TYPES: {
19
19
  readonly OPERATOR: 16;
20
20
  readonly PARENTHESIS: 17;
21
21
  readonly URL: 18;
22
+ readonly UNICODE_RANGE: 19;
22
23
  readonly VALUE: 50;
23
24
  readonly SELECTOR_LIST: 20;
24
25
  readonly TYPE_SELECTOR: 21;
@@ -44,4 +45,4 @@ declare const NODE_TYPES: {
44
45
  readonly AT_RULE_PRELUDE: 40;
45
46
  };
46
47
  //#endregion
47
- export { ATTRIBUTE_SELECTOR, ATTR_FLAG_CASE_INSENSITIVE, ATTR_FLAG_CASE_SENSITIVE, ATTR_FLAG_NONE, ATTR_OPERATOR_CARET_EQUAL, ATTR_OPERATOR_DOLLAR_EQUAL, ATTR_OPERATOR_EQUAL, ATTR_OPERATOR_NONE, ATTR_OPERATOR_PIPE_EQUAL, ATTR_OPERATOR_STAR_EQUAL, ATTR_OPERATOR_TILDE_EQUAL, AT_RULE, AT_RULE_PRELUDE, BLOCK, CLASS_SELECTOR, COMBINATOR, COMMENT, CONTAINER_QUERY, DECLARATION, DIMENSION, FEATURE_RANGE, FLAG_IMPORTANT, FUNCTION, HASH, IDENTIFIER, ID_SELECTOR, LANG_SELECTOR, LAYER_NAME, MEDIA_FEATURE, MEDIA_QUERY, MEDIA_TYPE, NESTING_SELECTOR, NODE_TYPES, NTH_OF_SELECTOR, NTH_SELECTOR, NUMBER, OPERATOR, PARENTHESIS, PRELUDE_OPERATOR, PSEUDO_CLASS_SELECTOR, PSEUDO_ELEMENT_SELECTOR, RAW, SELECTOR, SELECTOR_LIST, STRING, STYLESHEET, STYLE_RULE, SUPPORTS_QUERY, TYPE_SELECTOR, UNIVERSAL_SELECTOR, URL, VALUE };
48
+ export { ATTRIBUTE_SELECTOR, AT_RULE, AT_RULE_PRELUDE, BLOCK, CLASS_SELECTOR, COMBINATOR, COMMENT, CONTAINER_QUERY, DECLARATION, DIMENSION, FEATURE_RANGE, FLAG_IMPORTANT, FUNCTION, HASH, IDENTIFIER, ID_SELECTOR, LANG_SELECTOR, LAYER_NAME, MEDIA_FEATURE, MEDIA_QUERY, MEDIA_TYPE, NESTING_SELECTOR, NODE_TYPES, NTH_OF_SELECTOR, NTH_SELECTOR, NUMBER, OPERATOR, PARENTHESIS, PRELUDE_OPERATOR, PSEUDO_CLASS_SELECTOR, PSEUDO_ELEMENT_SELECTOR, RAW, SELECTOR, SELECTOR_LIST, STRING, STYLESHEET, STYLE_RULE, SUPPORTS_QUERY, TYPE_SELECTOR, UNICODE_RANGE, UNIVERSAL_SELECTOR, URL, VALUE };
package/dist/constants.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as MEDIA_FEATURE, B as PSEUDO_CLASS_SELECTOR, C as FLAG_IMPORTANT, D as ID_SELECTOR, E as IDENTIFIER, F as NTH_SELECTOR, G as STRING, H as RAW, I as NUMBER, J as SUPPORTS_QUERY, K as STYLESHEET, L as OPERATOR, M as MEDIA_TYPE, N as NESTING_SELECTOR, O as LANG_SELECTOR, P as NTH_OF_SELECTOR, Q as VALUE, R as PARENTHESIS, S as FEATURE_RANGE, T as HASH, U as SELECTOR, V as PSEUDO_ELEMENT_SELECTOR, W as SELECTOR_LIST, X as UNIVERSAL_SELECTOR, Y as TYPE_SELECTOR, Z as URL, _ as COMMENT, a as ATTR_OPERATOR_CARET_EQUAL, b as DECLARATION, c as ATTR_OPERATOR_NONE, d as ATTR_OPERATOR_TILDE_EQUAL, f as AT_RULE, g as COMBINATOR, h as CLASS_SELECTOR, i as ATTR_FLAG_NONE, j as MEDIA_QUERY, k as LAYER_NAME, l as ATTR_OPERATOR_PIPE_EQUAL, m as BLOCK, n as ATTR_FLAG_CASE_INSENSITIVE, o as ATTR_OPERATOR_DOLLAR_EQUAL, p as AT_RULE_PRELUDE, q as STYLE_RULE, r as ATTR_FLAG_CASE_SENSITIVE, s as ATTR_OPERATOR_EQUAL, t as ATTRIBUTE_SELECTOR, u as ATTR_OPERATOR_STAR_EQUAL, v as CONTAINER_QUERY, w as FUNCTION, x as DIMENSION, z as PRELUDE_OPERATOR } from "./arena-CDAx4eAB.js";
1
+ import { A as PSEUDO_CLASS_SELECTOR, B as UNICODE_RANGE, C as NESTING_SELECTOR, D as OPERATOR, E as NUMBER, F as STRING, H as URL, I as STYLESHEET, L as STYLE_RULE, M as RAW, N as SELECTOR, O as PARENTHESIS, P as SELECTOR_LIST, R as SUPPORTS_QUERY, S as MEDIA_TYPE, T as NTH_SELECTOR, U as VALUE, V as UNIVERSAL_SELECTOR, _ as ID_SELECTOR, a as CLASS_SELECTOR, b as MEDIA_FEATURE, c as CONTAINER_QUERY, d as DIMENSION, f as FEATURE_RANGE, g as IDENTIFIER, h as HASH, i as BLOCK, j as PSEUDO_ELEMENT_SELECTOR, k as PRELUDE_OPERATOR, m as FUNCTION, n as AT_RULE, o as COMBINATOR, p as FLAG_IMPORTANT, r as AT_RULE_PRELUDE, s as COMMENT, t as ATTRIBUTE_SELECTOR, u as DECLARATION, v as LANG_SELECTOR, w as NTH_OF_SELECTOR, x as MEDIA_QUERY, y as LAYER_NAME, z as TYPE_SELECTOR } from "./arena-CveFYH2l.js";
2
2
  //#region src/constants.ts
3
3
  const NODE_TYPES = {
4
4
  STYLESHEET: 1,
@@ -18,6 +18,7 @@ const NODE_TYPES = {
18
18
  OPERATOR: 16,
19
19
  PARENTHESIS: 17,
20
20
  URL: 18,
21
+ UNICODE_RANGE: 19,
21
22
  VALUE: 50,
22
23
  SELECTOR_LIST: 20,
23
24
  TYPE_SELECTOR: 21,
@@ -43,4 +44,4 @@ const NODE_TYPES = {
43
44
  AT_RULE_PRELUDE: 40
44
45
  };
45
46
  //#endregion
46
- export { ATTRIBUTE_SELECTOR, ATTR_FLAG_CASE_INSENSITIVE, ATTR_FLAG_CASE_SENSITIVE, ATTR_FLAG_NONE, ATTR_OPERATOR_CARET_EQUAL, ATTR_OPERATOR_DOLLAR_EQUAL, ATTR_OPERATOR_EQUAL, ATTR_OPERATOR_NONE, ATTR_OPERATOR_PIPE_EQUAL, ATTR_OPERATOR_STAR_EQUAL, ATTR_OPERATOR_TILDE_EQUAL, AT_RULE, AT_RULE_PRELUDE, BLOCK, CLASS_SELECTOR, COMBINATOR, COMMENT, CONTAINER_QUERY, DECLARATION, DIMENSION, FEATURE_RANGE, FLAG_IMPORTANT, FUNCTION, HASH, IDENTIFIER, ID_SELECTOR, LANG_SELECTOR, LAYER_NAME, MEDIA_FEATURE, MEDIA_QUERY, MEDIA_TYPE, NESTING_SELECTOR, NODE_TYPES, NTH_OF_SELECTOR, NTH_SELECTOR, NUMBER, OPERATOR, PARENTHESIS, PRELUDE_OPERATOR, PSEUDO_CLASS_SELECTOR, PSEUDO_ELEMENT_SELECTOR, RAW, SELECTOR, SELECTOR_LIST, STRING, STYLESHEET, STYLE_RULE, SUPPORTS_QUERY, TYPE_SELECTOR, UNIVERSAL_SELECTOR, URL, VALUE };
47
+ export { ATTRIBUTE_SELECTOR, AT_RULE, AT_RULE_PRELUDE, BLOCK, CLASS_SELECTOR, COMBINATOR, COMMENT, CONTAINER_QUERY, DECLARATION, DIMENSION, FEATURE_RANGE, FLAG_IMPORTANT, FUNCTION, HASH, IDENTIFIER, ID_SELECTOR, LANG_SELECTOR, LAYER_NAME, MEDIA_FEATURE, MEDIA_QUERY, MEDIA_TYPE, NESTING_SELECTOR, NODE_TYPES, NTH_OF_SELECTOR, NTH_SELECTOR, NUMBER, OPERATOR, PARENTHESIS, PRELUDE_OPERATOR, PSEUDO_CLASS_SELECTOR, PSEUDO_ELEMENT_SELECTOR, RAW, SELECTOR, SELECTOR_LIST, STRING, STYLESHEET, STYLE_RULE, SUPPORTS_QUERY, TYPE_SELECTOR, UNICODE_RANGE, UNIVERSAL_SELECTOR, URL, VALUE };
@@ -1,4 +1,4 @@
1
- import "./arena-CDAx4eAB.js";
1
+ import "./arena-CveFYH2l.js";
2
2
  import { a as is_whitespace, c as str_starts_with, i as is_vendor_prefixed, t as parse_dimension } from "./parse-dimension-CCn_XRDe.js";
3
3
  //#region src/css-node.ts
4
4
  const TYPE_NAMES = {
@@ -42,22 +42,25 @@ const TYPE_NAMES = {
42
42
  [37]: "Layer",
43
43
  [38]: "Operator",
44
44
  [39]: "MediaFeatureRange",
45
- [40]: "AtrulePrelude"
46
- };
47
- const ATTR_OPERATOR_NAMES = {
48
- [0]: null,
49
- [1]: "=",
50
- [2]: "~=",
51
- [3]: "|=",
52
- [4]: "^=",
53
- [5]: "$=",
54
- [6]: "*="
55
- };
56
- const ATTR_FLAG_NAMES = {
57
- [0]: null,
58
- [1]: "i",
59
- [2]: "s"
45
+ [40]: "AtrulePrelude",
46
+ [41]: "PreludeSelectorList"
60
47
  };
48
+ const nodes_with_children = new Set([
49
+ 1,
50
+ 5,
51
+ 20,
52
+ 7,
53
+ 15,
54
+ 17,
55
+ 50,
56
+ 25,
57
+ 26,
58
+ 40,
59
+ 32,
60
+ 33,
61
+ 35,
62
+ 39
63
+ ]);
61
64
  var CSSNode = class CSSNode {
62
65
  arena;
63
66
  source;
@@ -131,19 +134,12 @@ var CSSNode = class CSSNode {
131
134
  if (open_paren !== -1 && close_paren !== -1 && close_paren > open_paren) return text.substring(open_paren + 1, close_paren).trim();
132
135
  } else if (text.startsWith("\"") || text.startsWith("'")) return text;
133
136
  }
134
- if (type === 16) return this.get_content();
137
+ if (type === 16 || type === 37) return this.get_content();
135
138
  let start = this.arena.get_value_start(this.index);
136
139
  let length = this.arena.get_value_length(this.index);
137
140
  if (length === 0) return null;
138
141
  return this.source.substring(start, start + length);
139
142
  }
140
- /** Get the numeric value for NUMBER and DIMENSION nodes, or null for other node types */
141
- get value_as_number() {
142
- let { text, type } = this;
143
- if (type === 11) return Number.parseFloat(text);
144
- if (type === 12) return parse_dimension(text).value;
145
- return null;
146
- }
147
143
  /**
148
144
  * Get the prelude node:
149
145
  * - For at-rules: AT_RULE_PRELUDE wrapper containing structured prelude children (media queries, layer names, etc.)
@@ -160,19 +156,43 @@ var CSSNode = class CSSNode {
160
156
  }
161
157
  /**
162
158
  * Get the attribute operator (for attribute selectors: =, ~=, |=, ^=, $=, *=)
163
- * Returns one of the ATTR_OPERATOR_* constants
159
+ * Returns the operator string, or null if no operator is present ([attr] form).
160
+ * Derived from source text between the attribute name and value.
164
161
  */
165
162
  get attr_operator() {
166
163
  if (this.type !== 24) return void 0;
167
- return this.arena.get_attr_operator(this.index);
164
+ let content_end = this.arena.get_content_start(this.index) + this.arena.get_content_length(this.index);
165
+ let node_end = this.arena.get_start_offset(this.index) + this.arena.get_length(this.index);
166
+ let pos = content_end;
167
+ while (pos < node_end && is_whitespace(this.source.charCodeAt(pos))) pos++;
168
+ if (pos >= node_end) return null;
169
+ let ch1 = this.source.charCodeAt(pos);
170
+ let ch2 = pos + 1 < node_end ? this.source.charCodeAt(pos + 1) : 0;
171
+ if (ch1 === 61) return this.source.substring(pos, pos + 1);
172
+ if (ch1 === 126 && ch2 === 61) return this.source.substring(pos, pos + 2);
173
+ if (ch1 === 124 && ch2 === 61) return this.source.substring(pos, pos + 2);
174
+ if (ch1 === 94 && ch2 === 61) return this.source.substring(pos, pos + 2);
175
+ if (ch1 === 36 && ch2 === 61) return this.source.substring(pos, pos + 2);
176
+ if (ch1 === 42 && ch2 === 61) return this.source.substring(pos, pos + 2);
177
+ return null;
168
178
  }
169
179
  /**
170
180
  * Get the attribute flags (for attribute selectors: i, s)
171
- * Returns one of the ATTR_FLAG_* constants
181
+ * Returns "i" (case-insensitive), "s" (case-sensitive), or null if no flag is present.
182
+ * Derived from source text after the attribute value.
172
183
  */
173
184
  get attr_flags() {
174
185
  if (this.type !== 24) return void 0;
175
- return this.arena.get_attr_flags(this.index);
186
+ let value_len = this.arena.get_value_length(this.index);
187
+ if (value_len === 0) return null;
188
+ let value_end = this.arena.get_value_start(this.index) + value_len;
189
+ let node_end = this.arena.get_start_offset(this.index) + this.arena.get_length(this.index);
190
+ let pos = value_end;
191
+ while (pos < node_end && is_whitespace(this.source.charCodeAt(pos))) pos++;
192
+ if (pos >= node_end) return null;
193
+ let flag_ch = this.source.charCodeAt(pos);
194
+ if (flag_ch === 105 || flag_ch === 73 || flag_ch === 115 || flag_ch === 83) return this.source.substring(pos, pos + 1);
195
+ return null;
176
196
  }
177
197
  /** Get the unit for dimension nodes (e.g., "px" from "100px", "%" from "50%") */
178
198
  get unit() {
@@ -370,19 +390,9 @@ var CSSNode = class CSSNode {
370
390
  return this.first_child?.next_sibling ?? void 0;
371
391
  }
372
392
  /**
373
- * Get selector list from pseudo-class functions
374
- * Works for :is(.a), :not(.b), :has(.c), :where(.d), :nth-child(2n of .e)
375
- */
376
- get selector_list() {
377
- if (this.type !== 25) return void 0;
378
- let child = this.first_child;
379
- if (!child) return void 0;
380
- if (child.type === 20) return child;
381
- if (child.type === 31) return child.selector;
382
- }
383
- /**
384
393
  * Clone this node as a mutable plain JavaScript object with children as arrays.
385
394
  * See API.md for examples.
395
+ * Warning: this should be used sparingly because it potentially consumes a lot of memory.
386
396
  *
387
397
  * @param options - Cloning configuration
388
398
  * @param options.deep - Recursively clone children (default: true)
@@ -411,13 +421,14 @@ var CSSNode = class CSSNode {
411
421
  if (is_vendor_prefixed) plain.is_vendor_prefixed = true;
412
422
  if (has_error) plain.has_error = true;
413
423
  if (type === 24) {
414
- plain.attr_operator = ATTR_OPERATOR_NAMES[this.attr_operator];
415
- plain.attr_flags = ATTR_FLAG_NAMES[this.attr_flags];
424
+ plain.attr_operator = this.attr_operator;
425
+ plain.attr_flags = this.attr_flags;
416
426
  }
417
427
  if (type === 30 || type === 31) {
418
428
  plain.nth_a = this.nth_a;
419
429
  plain.nth_b = this.nth_b;
420
430
  }
431
+ if (type === 31) plain.selector = this.selector;
421
432
  if (locations) {
422
433
  plain.line = this.line;
423
434
  plain.column = this.column;
@@ -425,9 +436,12 @@ var CSSNode = class CSSNode {
425
436
  plain.length = this.length;
426
437
  plain.end = this.end;
427
438
  }
428
- if (deep && type !== 4) {
439
+ if (deep && nodes_with_children.has(type)) {
429
440
  plain.children = [];
430
- for (let child of this.children) plain.children.push(child.clone({
441
+ plain.child_count = this.child_count;
442
+ plain.has_children = this.has_children;
443
+ let children = this.children;
444
+ if (children) for (let child of children) plain.children.push(child.clone({
431
445
  deep: true,
432
446
  locations
433
447
  }));
@@ -436,4 +450,4 @@ var CSSNode = class CSSNode {
436
450
  }
437
451
  };
438
452
  //#endregion
439
- export { TYPE_NAMES as i, ATTR_OPERATOR_NAMES as n, CSSNode as r, ATTR_FLAG_NAMES as t };
453
+ export { TYPE_NAMES as n, CSSNode as t };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { A as MEDIA_FEATURE, B as PSEUDO_CLASS_SELECTOR, C as FLAG_IMPORTANT, D as ID_SELECTOR, E as IDENTIFIER, F as NTH_SELECTOR, G as STRING, H as RAW, I as NUMBER, J as SUPPORTS_QUERY, K as STYLESHEET, L as OPERATOR, M as MEDIA_TYPE, N as NESTING_SELECTOR, O as LANG_SELECTOR, P as NTH_OF_SELECTOR, Q as VALUE, R as PARENTHESIS, S as FEATURE_RANGE, T as HASH, U as SELECTOR, V as PSEUDO_ELEMENT_SELECTOR, W as SELECTOR_LIST, X as UNIVERSAL_SELECTOR, Y as TYPE_SELECTOR, Z as URL, _ as COMMENT, a as ATTR_OPERATOR_CARET_EQUAL, b as DECLARATION, c as ATTR_OPERATOR_NONE, d as ATTR_OPERATOR_TILDE_EQUAL, f as AT_RULE, g as COMBINATOR, h as CLASS_SELECTOR, i as ATTR_FLAG_NONE, j as MEDIA_QUERY, k as LAYER_NAME, l as ATTR_OPERATOR_PIPE_EQUAL, m as BLOCK, n as ATTR_FLAG_CASE_INSENSITIVE, o as ATTR_OPERATOR_DOLLAR_EQUAL, p as AT_RULE_PRELUDE, q as STYLE_RULE, r as ATTR_FLAG_CASE_SENSITIVE, s as ATTR_OPERATOR_EQUAL, t as ATTRIBUTE_SELECTOR, u as ATTR_OPERATOR_STAR_EQUAL, v as CONTAINER_QUERY, w as FUNCTION, x as DIMENSION, z as PRELUDE_OPERATOR } from "./arena-BtlVZlkG.js";
1
+ import { B as TYPE_SELECTOR, C as NESTING_SELECTOR, D as OPERATOR, E as NUMBER, F as SELECTOR_LIST, H as UNIVERSAL_SELECTOR, I as STRING, L as STYLESHEET, M as PSEUDO_ELEMENT_SELECTOR, N as RAW, O as PARENTHESIS, P as SELECTOR, R as STYLE_RULE, S as MEDIA_TYPE, T as NTH_SELECTOR, U as URL, V as UNICODE_RANGE, W as VALUE, _ as ID_SELECTOR, a as CLASS_SELECTOR, b as MEDIA_FEATURE, c as CONTAINER_QUERY, d as DIMENSION, f as FEATURE_RANGE, g as IDENTIFIER, h as HASH, i as BLOCK, j as PSEUDO_CLASS_SELECTOR, k as PRELUDE_OPERATOR, m as FUNCTION, n as AT_RULE, o as COMBINATOR, p as FLAG_IMPORTANT, r as AT_RULE_PRELUDE, s as COMMENT, t as ATTRIBUTE_SELECTOR, u as DECLARATION, v as LANG_SELECTOR, w as NTH_OF_SELECTOR, x as MEDIA_QUERY, y as LAYER_NAME, z as SUPPORTS_QUERY } from "./arena-D6TANE5e.js";
2
2
  import { NODE_TYPES } from "./constants.js";
3
3
  import { A as TOKEN_URL, C as TOKEN_PERCENTAGE, D as TOKEN_SEMICOLON, E as TOKEN_RIGHT_PAREN, M as Token, N as TokenType, O as TOKEN_STRING, S as TOKEN_NUMBER, T as TOKEN_RIGHT_BRACKET, _ as TOKEN_HASH, a as TOKEN_AT_KEYWORD, b as TOKEN_LEFT_BRACKET, c as TOKEN_CDC, d as TOKEN_COMMA, f as TOKEN_COMMENT, g as TOKEN_FUNCTION, h as TOKEN_EOF, i as tokenize, j as TOKEN_WHITESPACE, k as TOKEN_UNICODE_RANGE, l as TOKEN_CDO, m as TOKEN_DIMENSION, o as TOKEN_BAD_STRING, p as TOKEN_DELIM, r as LexerPosition, s as TOKEN_BAD_URL, t as CommentInfo, u as TOKEN_COLON, v as TOKEN_IDENT, w as TOKEN_RIGHT_BRACE, x as TOKEN_LEFT_PAREN, y as TOKEN_LEFT_BRACE } from "./tokenize-CyiJelQC.js";
4
- import { a as CloneOptions, i as CSSNodeType, n as ATTR_OPERATOR_NAMES, o as PlainCSSNode, r as CSSNode, s as TYPE_NAMES, t as ATTR_FLAG_NAMES } from "./css-node-CudZ-lzp.js";
4
+ import { $ as is_comment, A as PreludeSelectorList, At as is_type_selector, B as ToPlain, C as NestingSelector, Ct as is_raw, D as Operator, Dt as is_string, E as Number, Et as is_selector_list, F as Selector, Ft as CloneOptions, G as Value, H as UnicodeRange, I as SelectorList, It as TYPE_NAMES, J as is_atrule_prelude, K as WithChildren, L as String, M as PseudoElementSelector, Mt as is_universal_selector, N as Raw, Nt as is_url, O as Parenthesis, Ot as is_stylesheet, P as Rule, Pt as is_value, Q as is_combinator, R as StyleSheet, S as MediaType, St as is_pseudo_element_selector, T as NthSelector, Tt as is_selector, U as UniversalSelector, V as TypeSelector, W as Url, X as is_block, Y as is_attribute_selector, Z as is_class_selector, _ as Identifier, _t as is_operator, a as Block, at as is_hash, b as MediaFeature, bt as is_prelude_selectorlist, c as Combinator, ct as is_lang_selector, d as Declaration, dt as is_media_query, et as is_container_query, f as Dimension, ft as is_media_type, g as IdSelector, gt as is_number, h as Hash, ht as is_nth_selector, i as AttributeSelector, it as is_function, j as PseudoClassSelector, jt as is_unicode_range, k as PreludeOperator, kt as is_supports_query, l as Comment, lt as is_layer_name, m as Function, mt as is_nth_of_selector, n as Atrule, nt as is_dimension, o as CSSNode, ot as is_id_selector, p as FeatureRange, pt as is_nesting_selector, q as is_atrule, r as AtrulePrelude, rt as is_feature_range, s as ClassSelector, st as is_identifier, t as AnyNode, tt as is_declaration, u as ContainerQuery, ut as is_media_feature, v as LangSelector, vt as is_parenthesis, w as NthOfSelector, wt as is_rule, x as MediaQuery, xt as is_pseudo_class_selector, y as LayerName, yt as is_prelude_operator, z as SupportsQuery } from "./node-types-Dt096ytO.js";
5
5
  import { ParserOptions, parse } from "./parse.js";
6
6
  import { parse_selector } from "./parse-selector.js";
7
7
  import { parse_atrule_prelude } from "./parse-atrule-prelude.js";
@@ -75,4 +75,4 @@ declare function is_vendor_prefixed(source: string, start: number, end: number):
75
75
  */
76
76
  declare function is_custom(str: string): boolean;
77
77
  //#endregion
78
- export { ATTRIBUTE_SELECTOR, ATTR_FLAG_CASE_INSENSITIVE, ATTR_FLAG_CASE_SENSITIVE, ATTR_FLAG_NAMES, ATTR_FLAG_NONE, ATTR_OPERATOR_CARET_EQUAL, ATTR_OPERATOR_DOLLAR_EQUAL, ATTR_OPERATOR_EQUAL, ATTR_OPERATOR_NAMES, ATTR_OPERATOR_NONE, ATTR_OPERATOR_PIPE_EQUAL, ATTR_OPERATOR_STAR_EQUAL, ATTR_OPERATOR_TILDE_EQUAL, AT_RULE, AT_RULE_PRELUDE, BLOCK, BREAK, CLASS_SELECTOR, COMBINATOR, COMMENT, CONTAINER_QUERY, CSSNode, type CSSNodeType, type CloneOptions, type CommentInfo, DECLARATION, DIMENSION, FEATURE_RANGE, FLAG_IMPORTANT, FUNCTION, HASH, IDENTIFIER, ID_SELECTOR, LANG_SELECTOR, LAYER_NAME, type LexerPosition, MEDIA_FEATURE, MEDIA_QUERY, MEDIA_TYPE, NESTING_SELECTOR, NODE_TYPES, NTH_OF_SELECTOR, NTH_SELECTOR, NUMBER, OPERATOR, PARENTHESIS, PRELUDE_OPERATOR, PSEUDO_CLASS_SELECTOR, PSEUDO_ELEMENT_SELECTOR, type ParserOptions, type PlainCSSNode, RAW, SELECTOR, SELECTOR_LIST, SKIP, STRING, STYLESHEET, STYLE_RULE, SUPPORTS_QUERY, TOKEN_AT_KEYWORD, TOKEN_BAD_STRING, TOKEN_BAD_URL, TOKEN_CDC, TOKEN_CDO, TOKEN_COLON, TOKEN_COMMA, TOKEN_COMMENT, TOKEN_DELIM, TOKEN_DIMENSION, TOKEN_EOF, TOKEN_FUNCTION, TOKEN_HASH, TOKEN_IDENT, TOKEN_LEFT_BRACE, TOKEN_LEFT_BRACKET, TOKEN_LEFT_PAREN, TOKEN_NUMBER, TOKEN_PERCENTAGE, TOKEN_RIGHT_BRACE, TOKEN_RIGHT_BRACKET, TOKEN_RIGHT_PAREN, TOKEN_SEMICOLON, TOKEN_STRING, TOKEN_UNICODE_RANGE, TOKEN_URL, TOKEN_WHITESPACE, TYPE_NAMES, TYPE_SELECTOR, Token, TokenType, UNIVERSAL_SELECTOR, URL, VALUE, is_custom, is_vendor_prefixed, parse, parse_atrule_prelude, parse_declaration, parse_dimension, parse_selector, parse_value, str_equals, str_index_of, str_starts_with, tokenize, traverse, walk };
78
+ export { ATTRIBUTE_SELECTOR, AT_RULE, AT_RULE_PRELUDE, type AnyNode, type Atrule, type AtrulePrelude, type AttributeSelector, BLOCK, BREAK, type Block, CLASS_SELECTOR, COMBINATOR, COMMENT, CONTAINER_QUERY, type CSSNode, type ClassSelector, type CloneOptions, type Combinator, type Comment, type CommentInfo, type ContainerQuery, DECLARATION, DIMENSION, type Declaration, type Dimension, FEATURE_RANGE, FLAG_IMPORTANT, FUNCTION, type FeatureRange, type Function, HASH, type Hash, IDENTIFIER, ID_SELECTOR, type IdSelector, type Identifier, LANG_SELECTOR, LAYER_NAME, type LangSelector, type LayerName, type LexerPosition, MEDIA_FEATURE, MEDIA_QUERY, MEDIA_TYPE, type MediaFeature, type MediaQuery, type MediaType, NESTING_SELECTOR, NODE_TYPES, NTH_OF_SELECTOR, NTH_SELECTOR, NUMBER, type NestingSelector, type NthOfSelector, type NthSelector, type Number, OPERATOR, type Operator, PARENTHESIS, PRELUDE_OPERATOR, PSEUDO_CLASS_SELECTOR, PSEUDO_ELEMENT_SELECTOR, type Parenthesis, type ParserOptions, type PreludeOperator, type PreludeSelectorList, type PseudoClassSelector, type PseudoElementSelector, RAW, type Raw, type Rule, SELECTOR, SELECTOR_LIST, SKIP, STRING, STYLESHEET, STYLE_RULE, SUPPORTS_QUERY, type Selector, type SelectorList, type String, type StyleSheet, type SupportsQuery, TOKEN_AT_KEYWORD, TOKEN_BAD_STRING, TOKEN_BAD_URL, TOKEN_CDC, TOKEN_CDO, TOKEN_COLON, TOKEN_COMMA, TOKEN_COMMENT, TOKEN_DELIM, TOKEN_DIMENSION, TOKEN_EOF, TOKEN_FUNCTION, TOKEN_HASH, TOKEN_IDENT, TOKEN_LEFT_BRACE, TOKEN_LEFT_BRACKET, TOKEN_LEFT_PAREN, TOKEN_NUMBER, TOKEN_PERCENTAGE, TOKEN_RIGHT_BRACE, TOKEN_RIGHT_BRACKET, TOKEN_RIGHT_PAREN, TOKEN_SEMICOLON, TOKEN_STRING, TOKEN_UNICODE_RANGE, TOKEN_URL, TOKEN_WHITESPACE, TYPE_NAMES, TYPE_SELECTOR, type ToPlain, Token, TokenType, type TypeSelector, UNICODE_RANGE, UNIVERSAL_SELECTOR, URL, type UnicodeRange, type UniversalSelector, type Url, VALUE, type Value, type WithChildren, is_atrule, is_atrule_prelude, is_attribute_selector, is_block, is_class_selector, is_combinator, is_comment, is_container_query, is_custom, is_declaration, is_dimension, is_feature_range, is_function, is_hash, is_id_selector, is_identifier, is_lang_selector, is_layer_name, is_media_feature, is_media_query, is_media_type, is_nesting_selector, is_nth_of_selector, is_nth_selector, is_number, is_operator, is_parenthesis, is_prelude_operator, is_prelude_selectorlist, is_pseudo_class_selector, is_pseudo_element_selector, is_raw, is_rule, is_selector, is_selector_list, is_string, is_stylesheet, is_supports_query, is_type_selector, is_unicode_range, is_universal_selector, is_url, is_value, is_vendor_prefixed, parse, parse_atrule_prelude, parse_declaration, parse_dimension, parse_selector, parse_value, str_equals, str_index_of, str_starts_with, tokenize, traverse, walk };
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
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-BSycRGm0.js";
2
- import { A as MEDIA_FEATURE, B as PSEUDO_CLASS_SELECTOR, C as FLAG_IMPORTANT, D as ID_SELECTOR, E as IDENTIFIER, F as NTH_SELECTOR, G as STRING, H as RAW, I as NUMBER, J as SUPPORTS_QUERY, K as STYLESHEET, L as OPERATOR, M as MEDIA_TYPE, N as NESTING_SELECTOR, O as LANG_SELECTOR, P as NTH_OF_SELECTOR, Q as VALUE, R as PARENTHESIS, S as FEATURE_RANGE, T as HASH, U as SELECTOR, V as PSEUDO_ELEMENT_SELECTOR, W as SELECTOR_LIST, X as UNIVERSAL_SELECTOR, Y as TYPE_SELECTOR, Z as URL, _ as COMMENT, a as ATTR_OPERATOR_CARET_EQUAL, b as DECLARATION, c as ATTR_OPERATOR_NONE, d as ATTR_OPERATOR_TILDE_EQUAL, f as AT_RULE, g as COMBINATOR, h as CLASS_SELECTOR, i as ATTR_FLAG_NONE, j as MEDIA_QUERY, k as LAYER_NAME, l as ATTR_OPERATOR_PIPE_EQUAL, m as BLOCK, n as ATTR_FLAG_CASE_INSENSITIVE, o as ATTR_OPERATOR_DOLLAR_EQUAL, p as AT_RULE_PRELUDE, q as STYLE_RULE, r as ATTR_FLAG_CASE_SENSITIVE, s as ATTR_OPERATOR_EQUAL, t as ATTRIBUTE_SELECTOR, u as ATTR_OPERATOR_STAR_EQUAL, v as CONTAINER_QUERY, w as FUNCTION, x as DIMENSION, z as PRELUDE_OPERATOR } from "./arena-CDAx4eAB.js";
2
+ import { A as PSEUDO_CLASS_SELECTOR, B as UNICODE_RANGE, C as NESTING_SELECTOR, D as OPERATOR, E as NUMBER, F as STRING, H as URL, I as STYLESHEET, L as STYLE_RULE, M as RAW, N as SELECTOR, O as PARENTHESIS, P as SELECTOR_LIST, R as SUPPORTS_QUERY, S as MEDIA_TYPE, T as NTH_SELECTOR, U as VALUE, V as UNIVERSAL_SELECTOR, _ as ID_SELECTOR, a as CLASS_SELECTOR, b as MEDIA_FEATURE, c as CONTAINER_QUERY, d as DIMENSION, f as FEATURE_RANGE, g as IDENTIFIER, h as HASH, i as BLOCK, j as PSEUDO_ELEMENT_SELECTOR, k as PRELUDE_OPERATOR, m as FUNCTION, n as AT_RULE, o as COMBINATOR, p as FLAG_IMPORTANT, r as AT_RULE_PRELUDE, s as COMMENT, t as ATTRIBUTE_SELECTOR, u as DECLARATION, v as LANG_SELECTOR, w as NTH_OF_SELECTOR, x as MEDIA_QUERY, y as LAYER_NAME, z as TYPE_SELECTOR } from "./arena-CveFYH2l.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
- import { i as TYPE_NAMES, n as ATTR_OPERATOR_NAMES, r as CSSNode, t as ATTR_FLAG_NAMES } from "./css-node-BYpol6td.js";
4
+ import { n as TYPE_NAMES } from "./css-node-CbNQbD4P.js";
5
5
  import { parse_selector } from "./parse-selector.js";
6
6
  import { parse_atrule_prelude } from "./parse-atrule-prelude.js";
7
7
  import { parse_value } from "./parse-value.js";
@@ -9,4 +9,132 @@ import { parse_declaration } from "./parse-declaration.js";
9
9
  import { parse } from "./parse.js";
10
10
  import { NODE_TYPES } from "./constants.js";
11
11
  import { BREAK, SKIP, traverse, walk } from "./walk.js";
12
- export { ATTRIBUTE_SELECTOR, ATTR_FLAG_CASE_INSENSITIVE, ATTR_FLAG_CASE_SENSITIVE, ATTR_FLAG_NAMES, ATTR_FLAG_NONE, ATTR_OPERATOR_CARET_EQUAL, ATTR_OPERATOR_DOLLAR_EQUAL, ATTR_OPERATOR_EQUAL, ATTR_OPERATOR_NAMES, ATTR_OPERATOR_NONE, ATTR_OPERATOR_PIPE_EQUAL, ATTR_OPERATOR_STAR_EQUAL, ATTR_OPERATOR_TILDE_EQUAL, AT_RULE, AT_RULE_PRELUDE, BLOCK, BREAK, CLASS_SELECTOR, COMBINATOR, COMMENT, CONTAINER_QUERY, CSSNode, DECLARATION, DIMENSION, FEATURE_RANGE, FLAG_IMPORTANT, FUNCTION, HASH, IDENTIFIER, ID_SELECTOR, LANG_SELECTOR, LAYER_NAME, MEDIA_FEATURE, MEDIA_QUERY, MEDIA_TYPE, NESTING_SELECTOR, NODE_TYPES, NTH_OF_SELECTOR, NTH_SELECTOR, NUMBER, OPERATOR, PARENTHESIS, PRELUDE_OPERATOR, PSEUDO_CLASS_SELECTOR, PSEUDO_ELEMENT_SELECTOR, RAW, SELECTOR, SELECTOR_LIST, SKIP, STRING, STYLESHEET, STYLE_RULE, SUPPORTS_QUERY, TOKEN_AT_KEYWORD, TOKEN_BAD_STRING, TOKEN_BAD_URL, TOKEN_CDC, TOKEN_CDO, TOKEN_COLON, TOKEN_COMMA, TOKEN_COMMENT, TOKEN_DELIM, TOKEN_DIMENSION, TOKEN_EOF, TOKEN_FUNCTION, TOKEN_HASH, TOKEN_IDENT, TOKEN_LEFT_BRACE, TOKEN_LEFT_BRACKET, TOKEN_LEFT_PAREN, TOKEN_NUMBER, TOKEN_PERCENTAGE, TOKEN_RIGHT_BRACE, TOKEN_RIGHT_BRACKET, TOKEN_RIGHT_PAREN, TOKEN_SEMICOLON, TOKEN_STRING, TOKEN_UNICODE_RANGE, TOKEN_URL, TOKEN_WHITESPACE, TYPE_NAMES, TYPE_SELECTOR, UNIVERSAL_SELECTOR, URL, VALUE, is_custom, is_vendor_prefixed, parse, parse_atrule_prelude, parse_declaration, parse_dimension, parse_selector, parse_value, str_equals, str_index_of, str_starts_with, tokenize, traverse, walk };
12
+ //#region src/node-types.ts
13
+ function is_stylesheet(node) {
14
+ return node.type === 1;
15
+ }
16
+ function is_rule(node) {
17
+ return node.type === 2;
18
+ }
19
+ function is_atrule(node) {
20
+ return node.type === 3;
21
+ }
22
+ function is_declaration(node) {
23
+ return node.type === 4;
24
+ }
25
+ function is_selector(node) {
26
+ return node.type === 5;
27
+ }
28
+ function is_selector_list(node) {
29
+ return node.type === 20;
30
+ }
31
+ function is_block(node) {
32
+ return node.type === 7;
33
+ }
34
+ function is_comment(node) {
35
+ return node.type === 6;
36
+ }
37
+ function is_raw(node) {
38
+ return node.type === 8;
39
+ }
40
+ function is_identifier(node) {
41
+ return node.type === 10;
42
+ }
43
+ function is_number(node) {
44
+ return node.type === 11;
45
+ }
46
+ function is_dimension(node) {
47
+ return node.type === 12;
48
+ }
49
+ function is_string(node) {
50
+ return node.type === 13;
51
+ }
52
+ function is_hash(node) {
53
+ return node.type === 14;
54
+ }
55
+ function is_function(node) {
56
+ return node.type === 15;
57
+ }
58
+ function is_operator(node) {
59
+ return node.type === 16;
60
+ }
61
+ function is_parenthesis(node) {
62
+ return node.type === 17;
63
+ }
64
+ function is_url(node) {
65
+ return node.type === 18;
66
+ }
67
+ function is_unicode_range(node) {
68
+ return node.type === 19;
69
+ }
70
+ function is_value(node) {
71
+ return node.type === 50;
72
+ }
73
+ function is_type_selector(node) {
74
+ return node.type === 21;
75
+ }
76
+ function is_class_selector(node) {
77
+ return node.type === 22;
78
+ }
79
+ function is_id_selector(node) {
80
+ return node.type === 23;
81
+ }
82
+ function is_attribute_selector(node) {
83
+ return node.type === 24;
84
+ }
85
+ function is_pseudo_class_selector(node) {
86
+ return node.type === 25;
87
+ }
88
+ function is_pseudo_element_selector(node) {
89
+ return node.type === 26;
90
+ }
91
+ function is_combinator(node) {
92
+ return node.type === 27;
93
+ }
94
+ function is_universal_selector(node) {
95
+ return node.type === 28;
96
+ }
97
+ function is_nesting_selector(node) {
98
+ return node.type === 29;
99
+ }
100
+ function is_nth_selector(node) {
101
+ return node.type === 30;
102
+ }
103
+ function is_nth_of_selector(node) {
104
+ return node.type === 31;
105
+ }
106
+ function is_lang_selector(node) {
107
+ return node.type === 56;
108
+ }
109
+ function is_atrule_prelude(node) {
110
+ return node.type === 40;
111
+ }
112
+ function is_media_query(node) {
113
+ return node.type === 32;
114
+ }
115
+ function is_media_feature(node) {
116
+ return node.type === 33;
117
+ }
118
+ function is_media_type(node) {
119
+ return node.type === 34;
120
+ }
121
+ function is_container_query(node) {
122
+ return node.type === 35;
123
+ }
124
+ function is_supports_query(node) {
125
+ return node.type === 36;
126
+ }
127
+ function is_layer_name(node) {
128
+ return node.type === 37;
129
+ }
130
+ function is_prelude_operator(node) {
131
+ return node.type === 38;
132
+ }
133
+ function is_feature_range(node) {
134
+ return node.type === 39;
135
+ }
136
+ function is_prelude_selectorlist(node) {
137
+ return node.type === 41;
138
+ }
139
+ //#endregion
140
+ export { ATTRIBUTE_SELECTOR, AT_RULE, AT_RULE_PRELUDE, BLOCK, BREAK, CLASS_SELECTOR, COMBINATOR, COMMENT, CONTAINER_QUERY, DECLARATION, DIMENSION, FEATURE_RANGE, FLAG_IMPORTANT, FUNCTION, HASH, IDENTIFIER, ID_SELECTOR, LANG_SELECTOR, LAYER_NAME, MEDIA_FEATURE, MEDIA_QUERY, MEDIA_TYPE, NESTING_SELECTOR, NODE_TYPES, NTH_OF_SELECTOR, NTH_SELECTOR, NUMBER, OPERATOR, PARENTHESIS, PRELUDE_OPERATOR, PSEUDO_CLASS_SELECTOR, PSEUDO_ELEMENT_SELECTOR, RAW, SELECTOR, SELECTOR_LIST, SKIP, STRING, STYLESHEET, STYLE_RULE, SUPPORTS_QUERY, TOKEN_AT_KEYWORD, TOKEN_BAD_STRING, TOKEN_BAD_URL, TOKEN_CDC, TOKEN_CDO, TOKEN_COLON, TOKEN_COMMA, TOKEN_COMMENT, TOKEN_DELIM, TOKEN_DIMENSION, TOKEN_EOF, TOKEN_FUNCTION, TOKEN_HASH, TOKEN_IDENT, TOKEN_LEFT_BRACE, TOKEN_LEFT_BRACKET, TOKEN_LEFT_PAREN, TOKEN_NUMBER, TOKEN_PERCENTAGE, TOKEN_RIGHT_BRACE, TOKEN_RIGHT_BRACKET, TOKEN_RIGHT_PAREN, TOKEN_SEMICOLON, TOKEN_STRING, TOKEN_UNICODE_RANGE, TOKEN_URL, TOKEN_WHITESPACE, TYPE_NAMES, TYPE_SELECTOR, UNICODE_RANGE, UNIVERSAL_SELECTOR, URL, VALUE, is_atrule, is_atrule_prelude, is_attribute_selector, is_block, is_class_selector, is_combinator, is_comment, is_container_query, is_custom, is_declaration, is_dimension, is_feature_range, is_function, is_hash, is_id_selector, is_identifier, is_lang_selector, is_layer_name, is_media_feature, is_media_query, is_media_type, is_nesting_selector, is_nth_of_selector, is_nth_selector, is_number, is_operator, is_parenthesis, is_prelude_operator, is_prelude_selectorlist, is_pseudo_class_selector, is_pseudo_element_selector, is_raw, is_rule, is_selector, is_selector_list, is_string, is_stylesheet, is_supports_query, is_type_selector, is_unicode_range, is_universal_selector, is_url, is_value, is_vendor_prefixed, parse, parse_atrule_prelude, parse_declaration, parse_dimension, parse_selector, parse_value, str_equals, str_index_of, str_starts_with, tokenize, traverse, walk };