react-native-css 3.0.0-nightly.75f8b74 → 3.0.0-nightly.d8cb1bc

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.
Files changed (214) hide show
  1. package/dist/commonjs/compiler/atRules.js +1 -1
  2. package/dist/commonjs/compiler/attributes.test.js +1 -1
  3. package/dist/commonjs/compiler/attributes.test.js.map +1 -1
  4. package/dist/commonjs/compiler/compiler.js +26 -17
  5. package/dist/commonjs/compiler/compiler.js.map +1 -1
  6. package/dist/commonjs/compiler/declarations.js +164 -72
  7. package/dist/commonjs/compiler/declarations.js.map +1 -1
  8. package/dist/commonjs/compiler/inheritance.test.js +7 -7
  9. package/dist/commonjs/compiler/inheritance.test.js.map +1 -1
  10. package/dist/commonjs/compiler/selector-builder.js +457 -0
  11. package/dist/commonjs/compiler/selector-builder.js.map +1 -0
  12. package/dist/commonjs/compiler/selectors.js +10 -6
  13. package/dist/commonjs/compiler/selectors.js.map +1 -1
  14. package/dist/commonjs/compiler/stylesheet.js +113 -39
  15. package/dist/commonjs/compiler/stylesheet.js.map +1 -1
  16. package/dist/commonjs/jest/index.js +16 -5
  17. package/dist/commonjs/jest/index.js.map +1 -1
  18. package/dist/commonjs/metro/index.js +1 -1
  19. package/dist/commonjs/metro/index.js.map +1 -1
  20. package/dist/commonjs/poison.pill.js +4 -1
  21. package/dist/commonjs/poison.pill.js.map +1 -1
  22. package/dist/commonjs/runtime/native/conditions/attributes.js +42 -0
  23. package/dist/commonjs/runtime/native/conditions/attributes.js.map +1 -0
  24. package/dist/commonjs/runtime/native/conditions/container-query.js +28 -21
  25. package/dist/commonjs/runtime/native/conditions/container-query.js.map +1 -1
  26. package/dist/commonjs/runtime/native/conditions/guards.js.map +1 -1
  27. package/dist/commonjs/runtime/native/conditions/index.js +10 -46
  28. package/dist/commonjs/runtime/native/conditions/index.js.map +1 -1
  29. package/dist/commonjs/runtime/native/conditions/media-query.js +17 -17
  30. package/dist/commonjs/runtime/native/conditions/media-query.js.map +1 -1
  31. package/dist/commonjs/runtime/native/injection.js +3 -2
  32. package/dist/commonjs/runtime/native/injection.js.map +1 -1
  33. package/dist/commonjs/runtime/native/react/interaction.js +10 -10
  34. package/dist/commonjs/runtime/native/react/interaction.js.map +1 -1
  35. package/dist/commonjs/runtime/native/react/rules.js +9 -9
  36. package/dist/commonjs/runtime/native/react/rules.js.map +1 -1
  37. package/dist/commonjs/runtime/native/react/useNativeCss.js +1 -0
  38. package/dist/commonjs/runtime/native/react/useNativeCss.js.map +1 -1
  39. package/dist/commonjs/runtime/native/reactivity.js +1 -12
  40. package/dist/commonjs/runtime/native/reactivity.js.map +1 -1
  41. package/dist/commonjs/runtime/native/root.js +28 -0
  42. package/dist/commonjs/runtime/native/root.js.map +1 -0
  43. package/dist/commonjs/runtime/native/styles/calculate-props.js +53 -48
  44. package/dist/commonjs/runtime/native/styles/calculate-props.js.map +1 -1
  45. package/dist/commonjs/runtime/native/styles/index.js +12 -12
  46. package/dist/commonjs/runtime/native/styles/index.js.map +1 -1
  47. package/dist/commonjs/runtime/native/styles/units.js +6 -3
  48. package/dist/commonjs/runtime/native/styles/units.js.map +1 -1
  49. package/dist/commonjs/runtime/native/styles/variables.js +3 -2
  50. package/dist/commonjs/runtime/native/styles/variables.js.map +1 -1
  51. package/dist/commonjs/runtime/utils/specificity.js +2 -1
  52. package/dist/commonjs/runtime/utils/specificity.js.map +1 -1
  53. package/dist/module/compiler/atRules.js +1 -1
  54. package/dist/module/compiler/attributes.test.js +1 -1
  55. package/dist/module/compiler/attributes.test.js.map +1 -1
  56. package/dist/module/compiler/compiler.js +26 -17
  57. package/dist/module/compiler/compiler.js.map +1 -1
  58. package/dist/module/compiler/compiler.types.js.map +1 -1
  59. package/dist/module/compiler/declarations.js +159 -68
  60. package/dist/module/compiler/declarations.js.map +1 -1
  61. package/dist/module/compiler/inheritance.test.js +7 -7
  62. package/dist/module/compiler/inheritance.test.js.map +1 -1
  63. package/dist/module/compiler/selector-builder.js +452 -0
  64. package/dist/module/compiler/selector-builder.js.map +1 -0
  65. package/dist/module/compiler/selectors.js +10 -6
  66. package/dist/module/compiler/selectors.js.map +1 -1
  67. package/dist/module/compiler/stylesheet.js +112 -38
  68. package/dist/module/compiler/stylesheet.js.map +1 -1
  69. package/dist/module/jest/index.js +16 -4
  70. package/dist/module/jest/index.js.map +1 -1
  71. package/dist/module/metro/index.js +1 -1
  72. package/dist/module/metro/index.js.map +1 -1
  73. package/dist/module/poison.pill.js +4 -1
  74. package/dist/module/poison.pill.js.map +1 -1
  75. package/dist/module/runtime/native/conditions/attributes.js +38 -0
  76. package/dist/module/runtime/native/conditions/attributes.js.map +1 -0
  77. package/dist/module/runtime/native/conditions/container-query.js +28 -21
  78. package/dist/module/runtime/native/conditions/container-query.js.map +1 -1
  79. package/dist/module/runtime/native/conditions/guards.js.map +1 -1
  80. package/dist/module/runtime/native/conditions/index.js +10 -46
  81. package/dist/module/runtime/native/conditions/index.js.map +1 -1
  82. package/dist/module/runtime/native/conditions/media-query.js +17 -17
  83. package/dist/module/runtime/native/conditions/media-query.js.map +1 -1
  84. package/dist/module/runtime/native/injection.js +2 -1
  85. package/dist/module/runtime/native/injection.js.map +1 -1
  86. package/dist/module/runtime/native/react/interaction.js +10 -10
  87. package/dist/module/runtime/native/react/interaction.js.map +1 -1
  88. package/dist/module/runtime/native/react/rules.js +9 -9
  89. package/dist/module/runtime/native/react/rules.js.map +1 -1
  90. package/dist/module/runtime/native/react/useNativeCss.js +1 -0
  91. package/dist/module/runtime/native/react/useNativeCss.js.map +1 -1
  92. package/dist/module/runtime/native/reactivity.js +0 -11
  93. package/dist/module/runtime/native/reactivity.js.map +1 -1
  94. package/dist/module/runtime/native/root.js +24 -0
  95. package/dist/module/runtime/native/root.js.map +1 -0
  96. package/dist/module/runtime/native/styles/calculate-props.js +53 -48
  97. package/dist/module/runtime/native/styles/calculate-props.js.map +1 -1
  98. package/dist/module/runtime/native/styles/index.js +12 -12
  99. package/dist/module/runtime/native/styles/index.js.map +1 -1
  100. package/dist/module/runtime/native/styles/units.js +6 -3
  101. package/dist/module/runtime/native/styles/units.js.map +1 -1
  102. package/dist/module/runtime/native/styles/variables.js +2 -1
  103. package/dist/module/runtime/native/styles/variables.js.map +1 -1
  104. package/dist/module/runtime/utils/specificity.js +2 -1
  105. package/dist/module/runtime/utils/specificity.js.map +1 -1
  106. package/dist/typescript/commonjs/src/compiler/compiler.d.ts +9 -2
  107. package/dist/typescript/commonjs/src/compiler/compiler.d.ts.map +1 -1
  108. package/dist/typescript/commonjs/src/compiler/compiler.types.d.ts +5 -4
  109. package/dist/typescript/commonjs/src/compiler/compiler.types.d.ts.map +1 -1
  110. package/dist/typescript/commonjs/src/compiler/declarations.d.ts +16 -19
  111. package/dist/typescript/commonjs/src/compiler/declarations.d.ts.map +1 -1
  112. package/dist/typescript/commonjs/src/compiler/selector-builder.d.ts +23 -0
  113. package/dist/typescript/commonjs/src/compiler/selector-builder.d.ts.map +1 -0
  114. package/dist/typescript/commonjs/src/compiler/selectors.d.ts +3 -2
  115. package/dist/typescript/commonjs/src/compiler/selectors.d.ts.map +1 -1
  116. package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts +21 -7
  117. package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts.map +1 -1
  118. package/dist/typescript/commonjs/src/jest/index.d.ts +8 -1
  119. package/dist/typescript/commonjs/src/jest/index.d.ts.map +1 -1
  120. package/dist/typescript/commonjs/src/metro/index.d.ts.map +1 -1
  121. package/dist/typescript/commonjs/src/poison.pill.d.ts.map +1 -1
  122. package/dist/typescript/commonjs/src/runtime/native/conditions/attributes.d.ts +5 -0
  123. package/dist/typescript/commonjs/src/runtime/native/conditions/attributes.d.ts.map +1 -0
  124. package/dist/typescript/commonjs/src/runtime/native/conditions/container-query.d.ts +3 -3
  125. package/dist/typescript/commonjs/src/runtime/native/conditions/container-query.d.ts.map +1 -1
  126. package/dist/typescript/commonjs/src/runtime/native/conditions/guards.d.ts +2 -2
  127. package/dist/typescript/commonjs/src/runtime/native/conditions/guards.d.ts.map +1 -1
  128. package/dist/typescript/commonjs/src/runtime/native/conditions/index.d.ts +2 -2
  129. package/dist/typescript/commonjs/src/runtime/native/conditions/index.d.ts.map +1 -1
  130. package/dist/typescript/commonjs/src/runtime/native/conditions/media-query.d.ts +2 -2
  131. package/dist/typescript/commonjs/src/runtime/native/conditions/media-query.d.ts.map +1 -1
  132. package/dist/typescript/commonjs/src/runtime/native/injection.d.ts.map +1 -1
  133. package/dist/typescript/commonjs/src/runtime/native/react/interaction.d.ts +2 -2
  134. package/dist/typescript/commonjs/src/runtime/native/react/interaction.d.ts.map +1 -1
  135. package/dist/typescript/commonjs/src/runtime/native/react/useNativeCss.d.ts +2 -1
  136. package/dist/typescript/commonjs/src/runtime/native/react/useNativeCss.d.ts.map +1 -1
  137. package/dist/typescript/commonjs/src/runtime/native/reactivity.d.ts +2 -10
  138. package/dist/typescript/commonjs/src/runtime/native/reactivity.d.ts.map +1 -1
  139. package/dist/typescript/commonjs/src/runtime/native/root.d.ts +11 -0
  140. package/dist/typescript/commonjs/src/runtime/native/root.d.ts.map +1 -0
  141. package/dist/typescript/commonjs/src/runtime/native/styles/calculate-props.d.ts.map +1 -1
  142. package/dist/typescript/commonjs/src/runtime/native/styles/units.d.ts.map +1 -1
  143. package/dist/typescript/commonjs/src/runtime/native/styles/variables.d.ts.map +1 -1
  144. package/dist/typescript/commonjs/src/runtime/utils/specificity.d.ts +1 -0
  145. package/dist/typescript/commonjs/src/runtime/utils/specificity.d.ts.map +1 -1
  146. package/dist/typescript/module/src/compiler/compiler.d.ts +9 -2
  147. package/dist/typescript/module/src/compiler/compiler.d.ts.map +1 -1
  148. package/dist/typescript/module/src/compiler/compiler.types.d.ts +5 -4
  149. package/dist/typescript/module/src/compiler/compiler.types.d.ts.map +1 -1
  150. package/dist/typescript/module/src/compiler/declarations.d.ts +16 -19
  151. package/dist/typescript/module/src/compiler/declarations.d.ts.map +1 -1
  152. package/dist/typescript/module/src/compiler/selector-builder.d.ts +23 -0
  153. package/dist/typescript/module/src/compiler/selector-builder.d.ts.map +1 -0
  154. package/dist/typescript/module/src/compiler/selectors.d.ts +3 -2
  155. package/dist/typescript/module/src/compiler/selectors.d.ts.map +1 -1
  156. package/dist/typescript/module/src/compiler/stylesheet.d.ts +21 -7
  157. package/dist/typescript/module/src/compiler/stylesheet.d.ts.map +1 -1
  158. package/dist/typescript/module/src/jest/index.d.ts +8 -1
  159. package/dist/typescript/module/src/jest/index.d.ts.map +1 -1
  160. package/dist/typescript/module/src/metro/index.d.ts.map +1 -1
  161. package/dist/typescript/module/src/poison.pill.d.ts.map +1 -1
  162. package/dist/typescript/module/src/runtime/native/conditions/attributes.d.ts +5 -0
  163. package/dist/typescript/module/src/runtime/native/conditions/attributes.d.ts.map +1 -0
  164. package/dist/typescript/module/src/runtime/native/conditions/container-query.d.ts +3 -3
  165. package/dist/typescript/module/src/runtime/native/conditions/container-query.d.ts.map +1 -1
  166. package/dist/typescript/module/src/runtime/native/conditions/guards.d.ts +2 -2
  167. package/dist/typescript/module/src/runtime/native/conditions/guards.d.ts.map +1 -1
  168. package/dist/typescript/module/src/runtime/native/conditions/index.d.ts +2 -2
  169. package/dist/typescript/module/src/runtime/native/conditions/index.d.ts.map +1 -1
  170. package/dist/typescript/module/src/runtime/native/conditions/media-query.d.ts +2 -2
  171. package/dist/typescript/module/src/runtime/native/conditions/media-query.d.ts.map +1 -1
  172. package/dist/typescript/module/src/runtime/native/injection.d.ts.map +1 -1
  173. package/dist/typescript/module/src/runtime/native/react/interaction.d.ts +2 -2
  174. package/dist/typescript/module/src/runtime/native/react/interaction.d.ts.map +1 -1
  175. package/dist/typescript/module/src/runtime/native/react/useNativeCss.d.ts +2 -1
  176. package/dist/typescript/module/src/runtime/native/react/useNativeCss.d.ts.map +1 -1
  177. package/dist/typescript/module/src/runtime/native/reactivity.d.ts +2 -10
  178. package/dist/typescript/module/src/runtime/native/reactivity.d.ts.map +1 -1
  179. package/dist/typescript/module/src/runtime/native/root.d.ts +11 -0
  180. package/dist/typescript/module/src/runtime/native/root.d.ts.map +1 -0
  181. package/dist/typescript/module/src/runtime/native/styles/calculate-props.d.ts.map +1 -1
  182. package/dist/typescript/module/src/runtime/native/styles/units.d.ts.map +1 -1
  183. package/dist/typescript/module/src/runtime/native/styles/variables.d.ts.map +1 -1
  184. package/dist/typescript/module/src/runtime/utils/specificity.d.ts +1 -0
  185. package/dist/typescript/module/src/runtime/utils/specificity.d.ts.map +1 -1
  186. package/package.json +3 -3
  187. package/src/compiler/atRules.ts +1 -1
  188. package/src/compiler/attributes.test.ts +1 -1
  189. package/src/compiler/compiler.ts +30 -31
  190. package/src/compiler/compiler.types.ts +7 -5
  191. package/src/compiler/declarations.ts +273 -67
  192. package/src/compiler/inheritance.test.ts +6 -6
  193. package/src/compiler/selector-builder.ts +531 -0
  194. package/src/compiler/selectors.ts +20 -6
  195. package/src/compiler/stylesheet.ts +154 -45
  196. package/src/jest/index.ts +19 -4
  197. package/src/metro/index.ts +6 -3
  198. package/src/poison.pill.ts +5 -1
  199. package/src/runtime/native/conditions/attributes.ts +52 -0
  200. package/src/runtime/native/conditions/container-query.ts +27 -22
  201. package/src/runtime/native/conditions/guards.ts +1 -2
  202. package/src/runtime/native/conditions/index.ts +12 -66
  203. package/src/runtime/native/conditions/media-query.ts +18 -20
  204. package/src/runtime/native/injection.ts +1 -1
  205. package/src/runtime/native/react/interaction.ts +12 -12
  206. package/src/runtime/native/react/rules.ts +9 -9
  207. package/src/runtime/native/react/useNativeCss.ts +3 -0
  208. package/src/runtime/native/reactivity.ts +2 -21
  209. package/src/runtime/native/root.ts +31 -0
  210. package/src/runtime/native/styles/calculate-props.ts +59 -49
  211. package/src/runtime/native/styles/index.ts +12 -12
  212. package/src/runtime/native/styles/units.ts +7 -3
  213. package/src/runtime/native/styles/variables.ts +2 -6
  214. package/src/runtime/utils/specificity.ts +1 -0
@@ -0,0 +1,452 @@
1
+ "use strict";
2
+
3
+ import { Specificity } from "../runtime/utils/index.js";
4
+ const containerQueryMap = new WeakMap();
5
+ const attributeQueryMap = new WeakMap();
6
+ const pseudoClassesQueryMap = new WeakMap();
7
+ export function getClassNameSelectors(selectors, options = {}, specificity = [0], root = {
8
+ type: "className",
9
+ specificity: []
10
+ }) {
11
+ if (!selectors.length) {
12
+ return [];
13
+ }
14
+ return selectors.flatMap(selector => {
15
+ if (isRootVariableSelector(selector)) {
16
+ return [{
17
+ type: "rootVariables"
18
+ }];
19
+ } else {
20
+ return parseComponents(selector.reverse(), options, root, root, specificity) ?? [];
21
+ }
22
+ });
23
+ }
24
+ function parseComponents([component, ...rest], options, root, ref, specificity) {
25
+ if (!component || Array.isArray(component.type)) {
26
+ // Merge the specificity with the root specificity
27
+ for (let i = 0; i < specificity.length; i++) {
28
+ const value = specificity[i];
29
+ if (value !== undefined) {
30
+ root.specificity[i] = (root.specificity[i] ?? 0) + value;
31
+ }
32
+ }
33
+
34
+ // Return the root
35
+ return [root];
36
+ }
37
+ switch (component.type) {
38
+ case "id": // #id
39
+ case "namespace": // @namespace
40
+ case "universal":
41
+ // * - universal selector
42
+ return null;
43
+ case "type":
44
+ {
45
+ // div, span
46
+ if (component.name === options.selectorPrefix || component.name === "html") {
47
+ return parseComponents(rest, options, root, ref, specificity);
48
+ } else {
49
+ return null;
50
+ }
51
+ }
52
+ case "nesting":
53
+ // &
54
+ // The SelectorList should be flattened, so we can skip these
55
+ return parseComponents(rest, options, root, ref, specificity);
56
+ case "combinator":
57
+ {
58
+ // We only support the descendant combinator
59
+ if (component.value === "descendant") {
60
+ // Switch to now parsing a container query
61
+ ref = {};
62
+ return parseComponents(rest, options, root, ref, specificity);
63
+ }
64
+ return [];
65
+ }
66
+ case "pseudo-element":
67
+ {
68
+ // TODO: Support ::selection, ::placeholder, etc
69
+ return [];
70
+ }
71
+ case "pseudo-class":
72
+ {
73
+ switch (component.kind) {
74
+ case "hover":
75
+ {
76
+ getPseudoClassesQuery(ref).h = 1;
77
+ specificity[Specificity.PseudoClass] = (specificity[Specificity.PseudoClass] ?? 0) + 1;
78
+ return parseComponents(rest, options, root, ref, specificity);
79
+ }
80
+ case "active":
81
+ {
82
+ getPseudoClassesQuery(ref).a = 1;
83
+ specificity[Specificity.PseudoClass] = (specificity[Specificity.PseudoClass] ?? 0) + 1;
84
+ return parseComponents(rest, options, root, ref, specificity);
85
+ }
86
+ case "focus":
87
+ {
88
+ getPseudoClassesQuery(ref).f = 1;
89
+ specificity[Specificity.PseudoClass] = (specificity[Specificity.PseudoClass] ?? 0) + 1;
90
+ return parseComponents(rest, options, root, ref, specificity);
91
+ }
92
+ case "disabled":
93
+ {
94
+ getAttributeQuery(ref).push(["a", "disabled"]);
95
+ specificity[Specificity.PseudoClass] = (specificity[Specificity.PseudoClass] ?? 0) + 1;
96
+ return parseComponents(rest, options, root, ref, specificity);
97
+ }
98
+ case "empty":
99
+ {
100
+ getAttributeQuery(ref).push(["a", "children", "!"]);
101
+ specificity[Specificity.PseudoClass] = (specificity[Specificity.PseudoClass] ?? 0) + 1;
102
+ return parseComponents(rest, options, root, ref, specificity);
103
+ }
104
+ case "where":
105
+ case "is":
106
+ {
107
+ // Now get the selectors inside the `is` or `where` pseudo-class
108
+ const isWhereContainerQueries = component.selectors.flatMap(selector => {
109
+ return parseIsWhereComponents(component.kind, selector) ?? [];
110
+ });
111
+
112
+ // Remember we're looping in reverse order,
113
+ // So `rest` contains the selectors BEFORE this one
114
+ const parents = parseComponents(rest, options, root, ref, specificity);
115
+ if (!parents) {
116
+ return null;
117
+ }
118
+
119
+ // Each parent selector should be combined with each pseudo-class selector
120
+ return parents.flatMap(parent => {
121
+ const originalParent = {
122
+ ...parent
123
+ };
124
+ return isWhereContainerQueries.map(({
125
+ specificity,
126
+ ...query
127
+ }) => {
128
+ parent = {
129
+ ...originalParent
130
+ };
131
+ parent.specificity = [...originalParent.specificity];
132
+ parent.containerQuery = [...(originalParent.containerQuery ?? [])];
133
+ if (component.kind === "is") {
134
+ for (let i = 0; i < specificity.length; i++) {
135
+ const value = specificity[i];
136
+ if (value !== undefined) {
137
+ parent.specificity[i] = (parent.specificity[i] ?? 0) + value;
138
+ }
139
+ }
140
+ }
141
+ parent.containerQuery.push(query);
142
+ return parent;
143
+ });
144
+ });
145
+ }
146
+ default:
147
+ {
148
+ return [];
149
+ }
150
+ }
151
+ }
152
+ case "attribute":
153
+ {
154
+ // specificity[Specificity.ClassName] =
155
+ // (specificity[Specificity.ClassName] ?? 0) + 1;
156
+ const attributeQuery = component.name.startsWith("data-") ?
157
+ // [data-*] are turned into `dataSet` queries
158
+ ["d", toRNProperty(component.name.replace("data-", ""))] :
159
+ // Everything else is turned into `attribute` queries
160
+ ["a", toRNProperty(component.name)];
161
+ if (component.operation) {
162
+ let operator;
163
+ switch (component.operation.operator) {
164
+ case "equal":
165
+ operator = "=";
166
+ break;
167
+ case "includes":
168
+ operator = "~=";
169
+ break;
170
+ case "dash-match":
171
+ operator = "|=";
172
+ break;
173
+ case "prefix":
174
+ operator = "^=";
175
+ break;
176
+ case "substring":
177
+ operator = "*=";
178
+ break;
179
+ case "suffix":
180
+ operator = "$=";
181
+ break;
182
+ default:
183
+ component.operation.operator;
184
+ break;
185
+ }
186
+ if (operator) {
187
+ // Append the operator onto the attribute query
188
+ attributeQuery.push(operator, component.operation.value);
189
+ }
190
+ }
191
+ getAttributeQuery(ref).push(attributeQuery);
192
+ specificity[Specificity.ClassName] = (specificity[Specificity.ClassName] ?? 0) + 1;
193
+ return parseComponents(rest, options, root, ref, specificity);
194
+ }
195
+ case "class":
196
+ {
197
+ if (component.name === options.selectorPrefix) {
198
+ // Skip this one
199
+ return parseComponents(rest, options, root, ref, specificity);
200
+ } else if (!isContainerQuery(ref) && !ref.className) {
201
+ ref.className = component.name;
202
+ specificity[Specificity.ClassName] = (specificity[Specificity.ClassName] ?? 0) + 1;
203
+ return parseComponents(rest, options, root, ref, specificity);
204
+ } else if (!isContainerQuery(ref)) {
205
+ // Only the first className is used, the rest are attribute queries
206
+ getAttributeQuery(ref).unshift(["a", "className", "*=", component.name]);
207
+ } else {
208
+ let containerQueries = containerQueryMap.get(root);
209
+ if (!containerQueries) {
210
+ containerQueries = [];
211
+ root.containerQuery = containerQueries;
212
+ containerQueryMap.set(root, containerQueries);
213
+ }
214
+ if (!ref.n) {
215
+ containerQueries.unshift(ref);
216
+ }
217
+ ref.n = ref.n ? `${ref.n}.${component.name}` : component.name;
218
+ }
219
+ specificity[Specificity.ClassName] = (specificity[Specificity.ClassName] ?? 0) + 1;
220
+ return parseComponents(rest, options, root, ref, specificity);
221
+ }
222
+ }
223
+ }
224
+ function parseIsWhereComponents(type, selector, index = 0, queries) {
225
+ const component = selector[index];
226
+ if (!component || Array.isArray(component.type)) {
227
+ return queries ?? [];
228
+ }
229
+ switch (component.type) {
230
+ // These are not allowed in `is()` or `where()`
231
+ case "id": // #id
232
+ case "namespace": // @namespace
233
+ case "type": // div, span
234
+ case "nesting": // &
235
+ case "pseudo-element":
236
+ // ::selection, ::placeholder, etc
237
+ return null;
238
+ case "combinator":
239
+ {
240
+ // We only support the descendant combinator
241
+ if (component.value === "descendant") {
242
+ // Each "block" is a new container query
243
+ const children = parseIsWhereComponents(type, selector, index + 1);
244
+ return children && queries ? [...queries, ...children] : children;
245
+ }
246
+ return null;
247
+ }
248
+ case "universal":
249
+ {
250
+ // * - universal selector
251
+ if (index !== selector.length - 1) {
252
+ // We only accept it in the last position
253
+ return null;
254
+ }
255
+
256
+ // This was the only component, so we return the ref
257
+ if (selector.length === 1) {
258
+ return queries ?? [{
259
+ specificity: []
260
+ }];
261
+ }
262
+ const previous = selector[index - 1];
263
+
264
+ // If the previous component is not a descendant combinator,
265
+ if (!previous || previous.type !== "combinator" || previous.value !== "descendant") {
266
+ return null;
267
+ }
268
+ return parseIsWhereComponents(type, selector, index + 1, queries);
269
+ }
270
+ case "pseudo-class":
271
+ {
272
+ // const specificity = ref.specificity;
273
+
274
+ // specificity[Specificity.ClassName] =
275
+ // (specificity[Specificity.ClassName] ?? 0) + 1;
276
+ switch (component.kind) {
277
+ case "hover":
278
+ {
279
+ queries ??= [{
280
+ specificity: []
281
+ }];
282
+ queries.forEach(query => {
283
+ getPseudoClassesQuery(query).h = 1;
284
+ });
285
+ return parseIsWhereComponents(type, selector, index + 1, queries);
286
+ }
287
+ case "active":
288
+ {
289
+ queries ??= [{
290
+ specificity: []
291
+ }];
292
+ queries.forEach(query => {
293
+ getPseudoClassesQuery(query).a = 1;
294
+ });
295
+ return parseIsWhereComponents(type, selector, index + 1, queries);
296
+ }
297
+ case "focus":
298
+ {
299
+ queries ??= [{
300
+ specificity: []
301
+ }];
302
+ queries.forEach(query => {
303
+ getPseudoClassesQuery(query).f = 1;
304
+ });
305
+ return parseIsWhereComponents(type, selector, index + 1, queries);
306
+ }
307
+ case "disabled":
308
+ {
309
+ queries ??= [{
310
+ specificity: []
311
+ }];
312
+ queries.forEach(query => {
313
+ getAttributeQuery(query).push(["a", "disabled"]);
314
+ });
315
+ return parseIsWhereComponents(type, selector, index + 1, queries);
316
+ }
317
+ case "empty":
318
+ {
319
+ queries ??= [{
320
+ specificity: []
321
+ }];
322
+ queries.forEach(query => {
323
+ getAttributeQuery(query).push(["a", "children", "!"]);
324
+ });
325
+ return parseIsWhereComponents(type, selector, index + 1, queries);
326
+ }
327
+ case "where":
328
+ case "is":
329
+ {
330
+ // :is() and :where() need to be at the start of the selector,
331
+ if (index !== 0) {
332
+ return null;
333
+ }
334
+
335
+ // Now get the selectors inside the `is` or `where` pseudo-class
336
+ queries = component.selectors.flatMap(selector => {
337
+ return parseIsWhereComponents(type, selector, 0, queries) ?? [];
338
+ });
339
+ return parseIsWhereComponents(type, selector, index + 1, queries);
340
+ }
341
+ default:
342
+ {
343
+ return null;
344
+ }
345
+ }
346
+ }
347
+ case "attribute":
348
+ {
349
+ if (type !== "where") {
350
+ // specificity[Specificity.ClassName] =
351
+ // (specificity[Specificity.ClassName] ?? 0) + 1;
352
+ }
353
+ const attributeQuery = component.name.startsWith("data-") ?
354
+ // [data-*] are turned into `dataSet` queries
355
+ ["d", toRNProperty(component.name.replace("data-", ""))] :
356
+ // Everything else is turned into `attribute` queries
357
+ ["a", toRNProperty(component.name)];
358
+ if (component.operation) {
359
+ let operator;
360
+ switch (component.operation.operator) {
361
+ case "equal":
362
+ operator = "=";
363
+ break;
364
+ case "includes":
365
+ operator = "~=";
366
+ break;
367
+ case "dash-match":
368
+ operator = "|=";
369
+ break;
370
+ case "prefix":
371
+ operator = "^=";
372
+ break;
373
+ case "substring":
374
+ operator = "*=";
375
+ break;
376
+ case "suffix":
377
+ operator = "$=";
378
+ break;
379
+ default:
380
+ component.operation.operator;
381
+ break;
382
+ }
383
+ if (operator) {
384
+ // Append the operator onto the attribute query
385
+ attributeQuery.push(operator, component.operation.value);
386
+ }
387
+ }
388
+ queries ??= [{
389
+ specificity: []
390
+ }];
391
+ for (const query of queries) {
392
+ if (type === "is") {
393
+ query.specificity[Specificity.ClassName] = (query.specificity[Specificity.ClassName] ?? 0) + 1;
394
+ }
395
+ getAttributeQuery(query).push(attributeQuery);
396
+ }
397
+ return parseIsWhereComponents(type, selector, index + 1, queries);
398
+ }
399
+ case "class":
400
+ {
401
+ // In `is` and `where` selectors, the ref will always be a container query
402
+ queries ??= [{
403
+ specificity: []
404
+ }];
405
+ for (const query of queries) {
406
+ if (type === "is") {
407
+ query.specificity[Specificity.ClassName] = (query.specificity[Specificity.ClassName] ?? 0) + 1;
408
+ }
409
+ query.n = query.n ? `${query.n}.${component.name}` : component.name;
410
+ }
411
+ return parseIsWhereComponents(type, selector, index + 1, queries);
412
+ }
413
+ }
414
+ }
415
+ function isContainerQuery(value) {
416
+ return !("type" in value);
417
+ }
418
+ function getPseudoClassesQuery(key) {
419
+ let pseudoClassesQuery = pseudoClassesQueryMap.get(key);
420
+ if (!pseudoClassesQuery) {
421
+ if ("type" in key) {
422
+ pseudoClassesQuery = {};
423
+ key.pseudoClassesQuery = pseudoClassesQuery;
424
+ } else {
425
+ key.p ??= {};
426
+ pseudoClassesQuery = key.p;
427
+ }
428
+ pseudoClassesQueryMap.set(key, pseudoClassesQuery);
429
+ }
430
+ return pseudoClassesQuery;
431
+ }
432
+ function getAttributeQuery(key) {
433
+ let attributeQuery = attributeQueryMap.get(key);
434
+ if (!attributeQuery) {
435
+ if ("type" in key) {
436
+ attributeQuery = [];
437
+ key.attributeQuery = attributeQuery;
438
+ } else {
439
+ key.a ??= [];
440
+ attributeQuery = key.a;
441
+ }
442
+ attributeQueryMap.set(key, attributeQuery);
443
+ }
444
+ return attributeQuery;
445
+ }
446
+ function isRootVariableSelector([first, second]) {
447
+ return first && !second && first.type === "pseudo-class" && first.kind === "root";
448
+ }
449
+ export function toRNProperty(str) {
450
+ return str.replace(/^-rn-/, "").replace(/-./g, x => x[1]?.toUpperCase() ?? "");
451
+ }
452
+ //# sourceMappingURL=selector-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Specificity","containerQueryMap","WeakMap","attributeQueryMap","pseudoClassesQueryMap","getClassNameSelectors","selectors","options","specificity","root","type","length","flatMap","selector","isRootVariableSelector","parseComponents","reverse","component","rest","ref","Array","isArray","i","value","undefined","name","selectorPrefix","kind","getPseudoClassesQuery","h","PseudoClass","a","f","getAttributeQuery","push","isWhereContainerQueries","parseIsWhereComponents","parents","parent","originalParent","map","query","containerQuery","attributeQuery","startsWith","toRNProperty","replace","operation","operator","ClassName","isContainerQuery","className","unshift","containerQueries","get","set","n","index","queries","children","previous","forEach","key","pseudoClassesQuery","p","first","second","str","x","toUpperCase"],"sourceRoot":"../../../src","sources":["compiler/selector-builder.ts"],"mappings":"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","ignoreList":[]}
@@ -6,11 +6,11 @@ import { Specificity } from "../runtime/utils/specificity.js";
6
6
  /**
7
7
  * Turns a CSS selector into a `react-native-css` selector.
8
8
  */
9
- export function getSelectors(selectorList, isDarkMode, options, selectors = []) {
9
+ export function getSelectors(selectorList, isDarkMode, builder, selectors = []) {
10
10
  for (let cssSelector of selectorList) {
11
- // Ignore `:is()`, and just process its selectors
12
- if (isIsPseudoClass(cssSelector)) {
13
- getSelectors(cssSelector[0].selectors, isDarkMode, options, selectors);
11
+ // Ignore `:is()` & `:where()`, and just process its selectors
12
+ if (isIsPseudoClass(cssSelector) || isWherePseudoClass(cssSelector)) {
13
+ getSelectors(cssSelector[0].selectors, isDarkMode, builder, selectors);
14
14
  } else if (
15
15
  // Matches: :root {}
16
16
  isRootVariableSelector(cssSelector)) {
@@ -74,7 +74,7 @@ export function getSelectors(selectorList, isDarkMode, options, selectors = [])
74
74
  // ["=", "prefers-color-scheme", "dark"],
75
75
  // ]);
76
76
  } else {
77
- const selector = classNameSelector(cssSelector, options);
77
+ const selector = classNameSelector(cssSelector, builder.getOptions());
78
78
  if (selector === null) {
79
79
  continue;
80
80
  }
@@ -129,11 +129,12 @@ function classNameSelector(selector, options) {
129
129
  switch (component.type) {
130
130
  case "universal":
131
131
  case "namespace":
132
- case "nesting":
133
132
  case "id":
134
133
  case "pseudo-element":
135
134
  // We don't support these selectors at all
136
135
  return null;
136
+ case "nesting":
137
+ continue;
137
138
  case "class":
138
139
  {
139
140
  if (!primaryClassName) {
@@ -302,6 +303,9 @@ function classNameSelector(selector, options) {
302
303
  function isIsPseudoClass(selector) {
303
304
  return selector.length === 1 && selector[0]?.type === "pseudo-class" && selector[0].kind === "is";
304
305
  }
306
+ function isWherePseudoClass(selector) {
307
+ return selector.length === 1 && selector[0]?.type === "pseudo-class" && selector[0].kind === "where";
308
+ }
305
309
 
306
310
  // function isDarkModeMediaQuery(query?: MediaCondition): boolean {
307
311
  // if (!query) return false;
@@ -1 +1 @@
1
- {"version":3,"names":["Specificity","getSelectors","selectorList","isDarkMode","options","selectors","cssSelector","isIsPseudoClass","isRootVariableSelector","push","type","subtype","isRootDarkVariableSelector","isDefaultVariableSelector","selector","classNameSelector","primaryClassName","specificity","mediaQuery","containerQuery","attributeQuery","pseudoClassesQuery","currentContainerQuery","isInClassBlock","newBlock","getAttributeQuery","a","getPseudoClassesQuery","p","component","reverse","name","unshift","selectorPrefix","n","ClassName","kind","h","f","startsWith","toRNProperty","replace","operation","operator","value","undefined","className","length","first","second","includes","str","x","toUpperCase"],"sourceRoot":"../../../src","sources":["compiler/selectors.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Specificity","getSelectors","selectorList","isDarkMode","builder","selectors","cssSelector","isIsPseudoClass","isWherePseudoClass","isRootVariableSelector","push","type","subtype","isRootDarkVariableSelector","isDefaultVariableSelector","selector","classNameSelector","getOptions","options","primaryClassName","specificity","mediaQuery","containerQuery","attributeQuery","pseudoClassesQuery","currentContainerQuery","isInClassBlock","newBlock","getAttributeQuery","a","getPseudoClassesQuery","p","component","reverse","name","unshift","selectorPrefix","n","ClassName","kind","h","f","startsWith","toRNProperty","replace","operation","operator","value","undefined","className","length","first","second","includes","str","x","toUpperCase"],"sourceRoot":"../../../src","sources":["compiler/selectors.ts"],"mappings":"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","ignoreList":[]}