react-native-css 3.0.0-nightly.fa5e95b → 3.0.0-preview.1

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 (577) hide show
  1. package/dist/commonjs/compiler/atRules.js +15 -2
  2. package/dist/commonjs/compiler/atRules.js.map +1 -1
  3. package/dist/commonjs/compiler/compiler.js +13 -8
  4. package/dist/commonjs/compiler/compiler.js.map +1 -1
  5. package/dist/commonjs/compiler/declarations.js +323 -176
  6. package/dist/commonjs/compiler/declarations.js.map +1 -1
  7. package/dist/commonjs/compiler/inheritance.test.js +12 -12
  8. package/dist/commonjs/compiler/inheritance.test.js.map +1 -1
  9. package/dist/commonjs/compiler/keyframes.js +1 -1
  10. package/dist/commonjs/compiler/keyframes.js.map +1 -1
  11. package/dist/commonjs/compiler/pseudo-elements.js +49 -0
  12. package/dist/commonjs/compiler/pseudo-elements.js.map +1 -0
  13. package/dist/commonjs/compiler/selector-builder.js +501 -0
  14. package/dist/commonjs/compiler/selector-builder.js.map +1 -0
  15. package/dist/commonjs/compiler/selectors.js +10 -6
  16. package/dist/commonjs/compiler/selectors.js.map +1 -1
  17. package/dist/commonjs/compiler/stylesheet.js +63 -25
  18. package/dist/commonjs/compiler/stylesheet.js.map +1 -1
  19. package/dist/commonjs/compiler/supports.js +27 -0
  20. package/dist/commonjs/compiler/supports.js.map +1 -0
  21. package/dist/commonjs/components/ActivityIndicator.js +22 -0
  22. package/dist/commonjs/components/ActivityIndicator.js.map +1 -0
  23. package/dist/commonjs/components/Button.js +22 -0
  24. package/dist/commonjs/components/Button.js.map +1 -0
  25. package/dist/commonjs/components/FlatList.js +19 -0
  26. package/dist/commonjs/components/FlatList.js.map +1 -0
  27. package/dist/commonjs/components/Image.js +17 -0
  28. package/dist/commonjs/components/Image.js.map +1 -0
  29. package/dist/commonjs/components/Switch.js +17 -0
  30. package/dist/commonjs/components/Switch.js.map +1 -0
  31. package/dist/commonjs/components/TextInput.js +17 -0
  32. package/dist/commonjs/components/TextInput.js.map +1 -0
  33. package/dist/commonjs/components/index.js +48 -0
  34. package/dist/commonjs/components/index.js.map +1 -1
  35. package/dist/commonjs/components/react-native-safe-area-context.js +17 -0
  36. package/dist/commonjs/components/react-native-safe-area-context.js.map +1 -0
  37. package/dist/commonjs/components/react-native-safe-area-context.native.js +53 -0
  38. package/dist/commonjs/components/react-native-safe-area-context.native.js.map +1 -0
  39. package/dist/commonjs/jest/index.js +24 -18
  40. package/dist/commonjs/jest/index.js.map +1 -1
  41. package/dist/commonjs/metro/index.js +7 -4
  42. package/dist/commonjs/metro/index.js.map +1 -1
  43. package/dist/commonjs/metro/injection-code.js +5 -10
  44. package/dist/commonjs/metro/injection-code.js.map +1 -1
  45. package/dist/commonjs/metro/metro-transformer.js +18 -8
  46. package/dist/commonjs/metro/metro-transformer.js.map +1 -1
  47. package/dist/commonjs/metro/resolver.js +3 -0
  48. package/dist/commonjs/metro/resolver.js.map +1 -1
  49. package/dist/commonjs/poison.pill.js +10 -10
  50. package/dist/commonjs/runtime/native/api.js +29 -4
  51. package/dist/commonjs/runtime/native/api.js.map +1 -1
  52. package/dist/commonjs/runtime/native/conditions/attributes.js +42 -0
  53. package/dist/commonjs/runtime/native/conditions/attributes.js.map +1 -0
  54. package/dist/commonjs/runtime/native/conditions/container-query.js +7 -0
  55. package/dist/commonjs/runtime/native/conditions/container-query.js.map +1 -1
  56. package/dist/commonjs/runtime/native/conditions/index.js +6 -40
  57. package/dist/commonjs/runtime/native/conditions/index.js.map +1 -1
  58. package/dist/commonjs/runtime/native/conditions/media-query.js +16 -11
  59. package/dist/commonjs/runtime/native/conditions/media-query.js.map +1 -1
  60. package/dist/commonjs/runtime/native/react/rules.js +26 -20
  61. package/dist/commonjs/runtime/native/react/rules.js.map +1 -1
  62. package/dist/commonjs/runtime/native/react/useNativeCss.js +2 -2
  63. package/dist/commonjs/runtime/native/react/useNativeCss.js.map +1 -1
  64. package/dist/commonjs/runtime/native/reactivity.js +12 -25
  65. package/dist/commonjs/runtime/native/reactivity.js.map +1 -1
  66. package/dist/commonjs/runtime/native/reanimated.js +17 -0
  67. package/dist/commonjs/runtime/native/reanimated.js.map +1 -0
  68. package/dist/commonjs/runtime/native/styles/calculate-props.js +29 -9
  69. package/dist/commonjs/runtime/native/styles/calculate-props.js.map +1 -1
  70. package/dist/commonjs/runtime/native/styles/defaults.js +1 -1
  71. package/dist/commonjs/runtime/native/styles/defaults.js.map +1 -1
  72. package/dist/commonjs/runtime/native/styles/functions/animation-timing.js +34 -0
  73. package/dist/commonjs/runtime/native/styles/functions/animation-timing.js.map +1 -0
  74. package/dist/commonjs/runtime/native/styles/functions/calc.js +125 -0
  75. package/dist/commonjs/runtime/native/styles/functions/calc.js.map +1 -0
  76. package/dist/commonjs/runtime/native/styles/{filters.js → functions/filters.js} +3 -3
  77. package/dist/commonjs/runtime/native/styles/functions/filters.js.map +1 -0
  78. package/dist/commonjs/runtime/native/styles/functions/index.js +83 -0
  79. package/dist/commonjs/runtime/native/styles/functions/index.js.map +1 -0
  80. package/dist/commonjs/runtime/native/styles/functions/numeric-functions.js +32 -0
  81. package/dist/commonjs/runtime/native/styles/functions/numeric-functions.js.map +1 -0
  82. package/dist/commonjs/runtime/native/styles/{platform-functions.js → functions/platform-functions.js} +3 -3
  83. package/dist/commonjs/runtime/native/styles/functions/platform-functions.js.map +1 -0
  84. package/dist/commonjs/runtime/native/styles/functions/string-functions.js +23 -0
  85. package/dist/commonjs/runtime/native/styles/functions/string-functions.js.map +1 -0
  86. package/dist/commonjs/runtime/native/styles/functions/transform-functions.js +121 -0
  87. package/dist/commonjs/runtime/native/styles/functions/transform-functions.js.map +1 -0
  88. package/dist/commonjs/runtime/native/styles/resolve.js +21 -44
  89. package/dist/commonjs/runtime/native/styles/resolve.js.map +1 -1
  90. package/dist/commonjs/runtime/native/styles/{shorthand.js → shorthands/_handler.js} +5 -5
  91. package/dist/commonjs/runtime/native/styles/shorthands/_handler.js.map +1 -0
  92. package/dist/commonjs/runtime/native/styles/{animation.js → shorthands/animation.js} +6 -37
  93. package/dist/commonjs/runtime/native/styles/shorthands/animation.js.map +1 -0
  94. package/dist/commonjs/runtime/native/styles/{border.js → shorthands/border.js} +2 -2
  95. package/dist/commonjs/runtime/native/styles/shorthands/border.js.map +1 -0
  96. package/dist/commonjs/runtime/native/styles/shorthands/box-shadow.js +50 -0
  97. package/dist/commonjs/runtime/native/styles/shorthands/box-shadow.js.map +1 -0
  98. package/dist/commonjs/runtime/native/styles/shorthands/index.js +61 -0
  99. package/dist/commonjs/runtime/native/styles/shorthands/index.js.map +1 -0
  100. package/dist/commonjs/runtime/native/styles/{text-shadow.js → shorthands/text-shadow.js} +2 -2
  101. package/dist/commonjs/runtime/native/styles/shorthands/text-shadow.js.map +1 -0
  102. package/dist/commonjs/runtime/native/styles/{transform.js → shorthands/transform.js} +1 -1
  103. package/dist/commonjs/runtime/native/styles/shorthands/transform.js.map +1 -0
  104. package/dist/commonjs/runtime/native/styles/units.js +11 -9
  105. package/dist/commonjs/runtime/native/styles/units.js.map +1 -1
  106. package/dist/commonjs/runtime/native/styles/variables.js +3 -2
  107. package/dist/commonjs/runtime/native/styles/variables.js.map +1 -1
  108. package/dist/commonjs/runtime/utils/objects.js +14 -6
  109. package/dist/commonjs/runtime/utils/objects.js.map +1 -1
  110. package/dist/commonjs/runtime/utils/specificity.js +2 -1
  111. package/dist/commonjs/runtime/utils/specificity.js.map +1 -1
  112. package/dist/commonjs/runtime/web/api.js +18 -0
  113. package/dist/commonjs/runtime/web/api.js.map +1 -1
  114. package/dist/commonjs/style-collection/index.js +110 -0
  115. package/dist/commonjs/style-collection/index.js.map +1 -0
  116. package/dist/commonjs/style-collection/root.js +29 -0
  117. package/dist/commonjs/style-collection/root.js.map +1 -0
  118. package/dist/module/compiler/atRules.js +15 -2
  119. package/dist/module/compiler/atRules.js.map +1 -1
  120. package/dist/module/compiler/compiler.js +13 -8
  121. package/dist/module/compiler/compiler.js.map +1 -1
  122. package/dist/module/compiler/compiler.types.js +1 -1
  123. package/dist/module/compiler/compiler.types.js.map +1 -1
  124. package/dist/module/compiler/declarations.js +314 -172
  125. package/dist/module/compiler/declarations.js.map +1 -1
  126. package/dist/module/compiler/inheritance.test.js +12 -12
  127. package/dist/module/compiler/inheritance.test.js.map +1 -1
  128. package/dist/module/compiler/keyframes.js +1 -1
  129. package/dist/module/compiler/keyframes.js.map +1 -1
  130. package/dist/module/compiler/pseudo-elements.js +44 -0
  131. package/dist/module/compiler/pseudo-elements.js.map +1 -0
  132. package/dist/module/compiler/selector-builder.js +496 -0
  133. package/dist/module/compiler/selector-builder.js.map +1 -0
  134. package/dist/module/compiler/selectors.js +10 -6
  135. package/dist/module/compiler/selectors.js.map +1 -1
  136. package/dist/module/compiler/stylesheet.js +61 -23
  137. package/dist/module/compiler/stylesheet.js.map +1 -1
  138. package/dist/module/compiler/supports.js +23 -0
  139. package/dist/module/compiler/supports.js.map +1 -0
  140. package/dist/module/components/ActivityIndicator.js +17 -0
  141. package/dist/module/components/ActivityIndicator.js.map +1 -0
  142. package/dist/module/components/Button.js +17 -0
  143. package/dist/module/components/Button.js.map +1 -0
  144. package/dist/module/components/FlatList.js +14 -0
  145. package/dist/module/components/FlatList.js.map +1 -0
  146. package/dist/module/components/Image.js +12 -0
  147. package/dist/module/components/Image.js.map +1 -0
  148. package/dist/module/components/Switch.js +12 -0
  149. package/dist/module/components/Switch.js.map +1 -0
  150. package/dist/module/components/TextInput.js +12 -0
  151. package/dist/module/components/TextInput.js.map +1 -0
  152. package/dist/module/components/index.js +6 -0
  153. package/dist/module/components/index.js.map +1 -1
  154. package/dist/module/components/react-native-safe-area-context.js +4 -0
  155. package/dist/module/components/react-native-safe-area-context.js.map +1 -0
  156. package/dist/module/components/react-native-safe-area-context.native.js +36 -0
  157. package/dist/module/components/react-native-safe-area-context.native.js.map +1 -0
  158. package/dist/module/jest/index.js +23 -18
  159. package/dist/module/jest/index.js.map +1 -1
  160. package/dist/module/metro/index.js +7 -4
  161. package/dist/module/metro/index.js.map +1 -1
  162. package/dist/module/metro/injection-code.js +5 -10
  163. package/dist/module/metro/injection-code.js.map +1 -1
  164. package/dist/module/metro/metro-transformer.js +18 -8
  165. package/dist/module/metro/metro-transformer.js.map +1 -1
  166. package/dist/module/metro/resolver.js +3 -0
  167. package/dist/module/metro/resolver.js.map +1 -1
  168. package/dist/module/poison.pill.js +10 -10
  169. package/dist/module/runtime/native/api.js +23 -4
  170. package/dist/module/runtime/native/api.js.map +1 -1
  171. package/dist/module/runtime/native/conditions/attributes.js +38 -0
  172. package/dist/module/runtime/native/conditions/attributes.js.map +1 -0
  173. package/dist/module/runtime/native/conditions/container-query.js +7 -0
  174. package/dist/module/runtime/native/conditions/container-query.js.map +1 -1
  175. package/dist/module/runtime/native/conditions/index.js +6 -40
  176. package/dist/module/runtime/native/conditions/index.js.map +1 -1
  177. package/dist/module/runtime/native/conditions/media-query.js +17 -12
  178. package/dist/module/runtime/native/conditions/media-query.js.map +1 -1
  179. package/dist/module/runtime/native/react/rules.js +24 -19
  180. package/dist/module/runtime/native/react/rules.js.map +1 -1
  181. package/dist/module/runtime/native/react/useNativeCss.js +1 -1
  182. package/dist/module/runtime/native/react/useNativeCss.js.map +1 -1
  183. package/dist/module/runtime/native/reactivity.js +11 -24
  184. package/dist/module/runtime/native/reactivity.js.map +1 -1
  185. package/dist/module/runtime/native/reanimated.js +13 -0
  186. package/dist/module/runtime/native/reanimated.js.map +1 -0
  187. package/dist/module/runtime/native/styles/calculate-props.js +30 -10
  188. package/dist/module/runtime/native/styles/calculate-props.js.map +1 -1
  189. package/dist/module/runtime/native/styles/defaults.js +1 -1
  190. package/dist/module/runtime/native/styles/defaults.js.map +1 -1
  191. package/dist/module/runtime/native/styles/functions/animation-timing.js +30 -0
  192. package/dist/module/runtime/native/styles/functions/animation-timing.js.map +1 -0
  193. package/dist/module/runtime/native/styles/functions/calc.js +120 -0
  194. package/dist/module/runtime/native/styles/functions/calc.js.map +1 -0
  195. package/dist/module/runtime/native/styles/{filters.js → functions/filters.js} +2 -2
  196. package/dist/module/runtime/native/styles/functions/filters.js.map +1 -0
  197. package/dist/module/runtime/native/styles/functions/index.js +10 -0
  198. package/dist/module/runtime/native/styles/functions/index.js.map +1 -0
  199. package/dist/module/runtime/native/styles/functions/numeric-functions.js +25 -0
  200. package/dist/module/runtime/native/styles/functions/numeric-functions.js.map +1 -0
  201. package/dist/module/runtime/native/styles/{platform-functions.js → functions/platform-functions.js} +1 -1
  202. package/dist/module/runtime/native/styles/functions/platform-functions.js.map +1 -0
  203. package/dist/module/runtime/native/styles/functions/string-functions.js +18 -0
  204. package/dist/module/runtime/native/styles/functions/string-functions.js.map +1 -0
  205. package/dist/module/runtime/native/styles/functions/transform-functions.js +114 -0
  206. package/dist/module/runtime/native/styles/functions/transform-functions.js.map +1 -0
  207. package/dist/module/runtime/native/styles/resolve.js +20 -44
  208. package/dist/module/runtime/native/styles/resolve.js.map +1 -1
  209. package/dist/module/runtime/native/styles/{shorthand.js → shorthands/_handler.js} +5 -5
  210. package/dist/module/runtime/native/styles/shorthands/_handler.js.map +1 -0
  211. package/dist/module/runtime/native/styles/{animation.js → shorthands/animation.js} +3 -34
  212. package/dist/module/runtime/native/styles/shorthands/animation.js.map +1 -0
  213. package/dist/module/runtime/native/styles/{border.js → shorthands/border.js} +1 -1
  214. package/dist/module/runtime/native/styles/shorthands/border.js.map +1 -0
  215. package/dist/module/runtime/native/styles/{box-shadow.js → shorthands/box-shadow.js} +16 -6
  216. package/dist/module/runtime/native/styles/shorthands/box-shadow.js.map +1 -0
  217. package/dist/module/runtime/native/styles/shorthands/index.js +8 -0
  218. package/dist/module/runtime/native/styles/shorthands/index.js.map +1 -0
  219. package/dist/module/runtime/native/styles/{text-shadow.js → shorthands/text-shadow.js} +1 -1
  220. package/dist/module/runtime/native/styles/shorthands/text-shadow.js.map +1 -0
  221. package/dist/module/runtime/native/styles/{transform.js → shorthands/transform.js} +1 -1
  222. package/dist/module/runtime/native/styles/shorthands/transform.js.map +1 -0
  223. package/dist/module/runtime/native/styles/units.js +12 -9
  224. package/dist/module/runtime/native/styles/units.js.map +1 -1
  225. package/dist/module/runtime/native/styles/variables.js +2 -1
  226. package/dist/module/runtime/native/styles/variables.js.map +1 -1
  227. package/dist/module/runtime/utils/objects.js +14 -6
  228. package/dist/module/runtime/utils/objects.js.map +1 -1
  229. package/dist/module/runtime/utils/specificity.js +2 -1
  230. package/dist/module/runtime/utils/specificity.js.map +1 -1
  231. package/dist/module/runtime/web/api.js +18 -1
  232. package/dist/module/runtime/web/api.js.map +1 -1
  233. package/dist/module/style-collection/index.js +95 -0
  234. package/dist/module/style-collection/index.js.map +1 -0
  235. package/dist/module/style-collection/root.js +25 -0
  236. package/dist/module/style-collection/root.js.map +1 -0
  237. package/dist/typescript/commonjs/src/compiler/atRules.d.ts.map +1 -1
  238. package/dist/typescript/commonjs/src/compiler/compiler.d.ts +1 -1
  239. package/dist/typescript/commonjs/src/compiler/compiler.d.ts.map +1 -1
  240. package/dist/typescript/commonjs/src/compiler/compiler.types.d.ts +11 -13
  241. package/dist/typescript/commonjs/src/compiler/compiler.types.d.ts.map +1 -1
  242. package/dist/typescript/commonjs/src/compiler/declarations.d.ts +26 -17
  243. package/dist/typescript/commonjs/src/compiler/declarations.d.ts.map +1 -1
  244. package/dist/typescript/commonjs/src/compiler/pseudo-elements.d.ts +4 -0
  245. package/dist/typescript/commonjs/src/compiler/pseudo-elements.d.ts.map +1 -0
  246. package/dist/typescript/commonjs/src/compiler/selector-builder.d.ts +24 -0
  247. package/dist/typescript/commonjs/src/compiler/selector-builder.d.ts.map +1 -0
  248. package/dist/typescript/commonjs/src/compiler/selectors.d.ts +3 -2
  249. package/dist/typescript/commonjs/src/compiler/selectors.d.ts.map +1 -1
  250. package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts +7 -7
  251. package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts.map +1 -1
  252. package/dist/typescript/commonjs/src/compiler/supports.d.ts +3 -0
  253. package/dist/typescript/commonjs/src/compiler/supports.d.ts.map +1 -0
  254. package/dist/typescript/commonjs/src/components/ActivityIndicator.d.ts +13 -0
  255. package/dist/typescript/commonjs/src/components/ActivityIndicator.d.ts.map +1 -0
  256. package/dist/typescript/commonjs/src/components/Button.d.ts +13 -0
  257. package/dist/typescript/commonjs/src/components/Button.d.ts.map +1 -0
  258. package/dist/typescript/commonjs/src/components/FlatList.d.ts +10 -0
  259. package/dist/typescript/commonjs/src/components/FlatList.d.ts.map +1 -0
  260. package/dist/typescript/commonjs/src/components/Image.d.ts +8 -0
  261. package/dist/typescript/commonjs/src/components/Image.d.ts.map +1 -0
  262. package/dist/typescript/commonjs/src/components/Switch.d.ts +8 -0
  263. package/dist/typescript/commonjs/src/components/Switch.d.ts.map +1 -0
  264. package/dist/typescript/commonjs/src/components/TextInput.d.ts +8 -0
  265. package/dist/typescript/commonjs/src/components/TextInput.d.ts.map +1 -0
  266. package/dist/typescript/commonjs/src/components/index.d.ts +6 -0
  267. package/dist/typescript/commonjs/src/components/index.d.ts.map +1 -1
  268. package/dist/typescript/commonjs/src/components/react-native-safe-area-context.d.ts +2 -0
  269. package/dist/typescript/commonjs/src/components/react-native-safe-area-context.d.ts.map +1 -0
  270. package/dist/typescript/commonjs/src/components/react-native-safe-area-context.native.d.ts +4 -0
  271. package/dist/typescript/commonjs/src/components/react-native-safe-area-context.native.d.ts.map +1 -0
  272. package/dist/typescript/commonjs/src/jest/index.d.ts +13 -3
  273. package/dist/typescript/commonjs/src/jest/index.d.ts.map +1 -1
  274. package/dist/typescript/commonjs/src/metro/index.d.ts.map +1 -1
  275. package/dist/typescript/commonjs/src/metro/injection-code.d.ts +4 -7
  276. package/dist/typescript/commonjs/src/metro/injection-code.d.ts.map +1 -1
  277. package/dist/typescript/commonjs/src/metro/metro-transformer.d.ts +4 -1
  278. package/dist/typescript/commonjs/src/metro/metro-transformer.d.ts.map +1 -1
  279. package/dist/typescript/commonjs/src/metro/resolver.d.ts.map +1 -1
  280. package/dist/typescript/commonjs/src/runtime/native/api.d.ts +16 -2
  281. package/dist/typescript/commonjs/src/runtime/native/api.d.ts.map +1 -1
  282. package/dist/typescript/commonjs/src/runtime/native/conditions/attributes.d.ts +5 -0
  283. package/dist/typescript/commonjs/src/runtime/native/conditions/attributes.d.ts.map +1 -0
  284. package/dist/typescript/commonjs/src/runtime/native/conditions/container-query.d.ts.map +1 -1
  285. package/dist/typescript/commonjs/src/runtime/native/conditions/index.d.ts.map +1 -1
  286. package/dist/typescript/commonjs/src/runtime/native/react/rules.d.ts +2 -2
  287. package/dist/typescript/commonjs/src/runtime/native/react/rules.d.ts.map +1 -1
  288. package/dist/typescript/commonjs/src/runtime/native/react/useNativeCss.d.ts.map +1 -1
  289. package/dist/typescript/commonjs/src/runtime/native/reactivity.d.ts +1 -11
  290. package/dist/typescript/commonjs/src/runtime/native/reactivity.d.ts.map +1 -1
  291. package/dist/typescript/commonjs/src/runtime/native/reanimated.d.ts +5 -0
  292. package/dist/typescript/commonjs/src/runtime/native/reanimated.d.ts.map +1 -0
  293. package/dist/typescript/commonjs/src/runtime/native/styles/calculate-props.d.ts +1 -1
  294. package/dist/typescript/commonjs/src/runtime/native/styles/calculate-props.d.ts.map +1 -1
  295. package/dist/typescript/commonjs/src/runtime/native/styles/defaults.d.ts.map +1 -1
  296. package/dist/typescript/commonjs/src/runtime/native/styles/functions/animation-timing.d.ts +4 -0
  297. package/dist/typescript/commonjs/src/runtime/native/styles/functions/animation-timing.d.ts.map +1 -0
  298. package/dist/typescript/commonjs/src/runtime/native/styles/functions/calc.d.ts +3 -0
  299. package/dist/typescript/commonjs/src/runtime/native/styles/functions/calc.d.ts.map +1 -0
  300. package/dist/typescript/commonjs/src/runtime/native/styles/{filters.d.ts → functions/filters.d.ts} +1 -1
  301. package/dist/typescript/commonjs/src/runtime/native/styles/functions/filters.d.ts.map +1 -0
  302. package/dist/typescript/commonjs/src/runtime/native/styles/functions/index.d.ts +8 -0
  303. package/dist/typescript/commonjs/src/runtime/native/styles/functions/index.d.ts.map +1 -0
  304. package/dist/typescript/commonjs/src/runtime/native/styles/functions/numeric-functions.d.ts +5 -0
  305. package/dist/typescript/commonjs/src/runtime/native/styles/functions/numeric-functions.d.ts.map +1 -0
  306. package/dist/typescript/commonjs/src/runtime/native/styles/{platform-functions.d.ts → functions/platform-functions.d.ts} +2 -2
  307. package/dist/typescript/commonjs/src/runtime/native/styles/functions/platform-functions.d.ts.map +1 -0
  308. package/dist/typescript/commonjs/src/runtime/native/styles/functions/string-functions.d.ts +3 -0
  309. package/dist/typescript/commonjs/src/runtime/native/styles/functions/string-functions.d.ts.map +1 -0
  310. package/dist/typescript/commonjs/src/runtime/native/styles/functions/transform-functions.d.ts +5 -0
  311. package/dist/typescript/commonjs/src/runtime/native/styles/functions/transform-functions.d.ts.map +1 -0
  312. package/dist/typescript/commonjs/src/runtime/native/styles/resolve.d.ts.map +1 -1
  313. package/dist/typescript/commonjs/src/runtime/native/styles/{shorthand.d.ts → shorthands/_handler.d.ts} +2 -2
  314. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/_handler.d.ts.map +1 -0
  315. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/animation.d.ts +4 -0
  316. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/animation.d.ts.map +1 -0
  317. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/border.d.ts +2 -0
  318. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/border.d.ts.map +1 -0
  319. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/box-shadow.d.ts +3 -0
  320. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/box-shadow.d.ts.map +1 -0
  321. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/index.d.ts +6 -0
  322. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/index.d.ts.map +1 -0
  323. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/text-shadow.d.ts +2 -0
  324. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/text-shadow.d.ts.map +1 -0
  325. package/dist/typescript/commonjs/src/runtime/native/styles/{transform.d.ts → shorthands/transform.d.ts} +1 -1
  326. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/transform.d.ts.map +1 -0
  327. package/dist/typescript/commonjs/src/runtime/native/styles/units.d.ts.map +1 -1
  328. package/dist/typescript/commonjs/src/runtime/native/styles/variables.d.ts.map +1 -1
  329. package/dist/typescript/commonjs/src/runtime/utils/objects.d.ts.map +1 -1
  330. package/dist/typescript/commonjs/src/runtime/utils/specificity.d.ts +1 -0
  331. package/dist/typescript/commonjs/src/runtime/utils/specificity.d.ts.map +1 -1
  332. package/dist/typescript/commonjs/src/runtime/web/api.d.ts +9 -3
  333. package/dist/typescript/commonjs/src/runtime/web/api.d.ts.map +1 -1
  334. package/dist/typescript/commonjs/src/style-collection/index.d.ts +14 -0
  335. package/dist/typescript/commonjs/src/style-collection/index.d.ts.map +1 -0
  336. package/dist/typescript/commonjs/src/style-collection/root.d.ts +11 -0
  337. package/dist/typescript/commonjs/src/style-collection/root.d.ts.map +1 -0
  338. package/dist/typescript/module/src/compiler/atRules.d.ts.map +1 -1
  339. package/dist/typescript/module/src/compiler/compiler.d.ts +1 -1
  340. package/dist/typescript/module/src/compiler/compiler.d.ts.map +1 -1
  341. package/dist/typescript/module/src/compiler/compiler.types.d.ts +11 -13
  342. package/dist/typescript/module/src/compiler/compiler.types.d.ts.map +1 -1
  343. package/dist/typescript/module/src/compiler/declarations.d.ts +26 -17
  344. package/dist/typescript/module/src/compiler/declarations.d.ts.map +1 -1
  345. package/dist/typescript/module/src/compiler/pseudo-elements.d.ts +4 -0
  346. package/dist/typescript/module/src/compiler/pseudo-elements.d.ts.map +1 -0
  347. package/dist/typescript/module/src/compiler/selector-builder.d.ts +24 -0
  348. package/dist/typescript/module/src/compiler/selector-builder.d.ts.map +1 -0
  349. package/dist/typescript/module/src/compiler/selectors.d.ts +3 -2
  350. package/dist/typescript/module/src/compiler/selectors.d.ts.map +1 -1
  351. package/dist/typescript/module/src/compiler/stylesheet.d.ts +7 -7
  352. package/dist/typescript/module/src/compiler/stylesheet.d.ts.map +1 -1
  353. package/dist/typescript/module/src/compiler/supports.d.ts +3 -0
  354. package/dist/typescript/module/src/compiler/supports.d.ts.map +1 -0
  355. package/dist/typescript/module/src/components/ActivityIndicator.d.ts +13 -0
  356. package/dist/typescript/module/src/components/ActivityIndicator.d.ts.map +1 -0
  357. package/dist/typescript/module/src/components/Button.d.ts +13 -0
  358. package/dist/typescript/module/src/components/Button.d.ts.map +1 -0
  359. package/dist/typescript/module/src/components/FlatList.d.ts +10 -0
  360. package/dist/typescript/module/src/components/FlatList.d.ts.map +1 -0
  361. package/dist/typescript/module/src/components/Image.d.ts +8 -0
  362. package/dist/typescript/module/src/components/Image.d.ts.map +1 -0
  363. package/dist/typescript/module/src/components/Switch.d.ts +8 -0
  364. package/dist/typescript/module/src/components/Switch.d.ts.map +1 -0
  365. package/dist/typescript/module/src/components/TextInput.d.ts +8 -0
  366. package/dist/typescript/module/src/components/TextInput.d.ts.map +1 -0
  367. package/dist/typescript/module/src/components/index.d.ts +6 -0
  368. package/dist/typescript/module/src/components/index.d.ts.map +1 -1
  369. package/dist/typescript/module/src/components/react-native-safe-area-context.d.ts +2 -0
  370. package/dist/typescript/module/src/components/react-native-safe-area-context.d.ts.map +1 -0
  371. package/dist/typescript/module/src/components/react-native-safe-area-context.native.d.ts +4 -0
  372. package/dist/typescript/module/src/components/react-native-safe-area-context.native.d.ts.map +1 -0
  373. package/dist/typescript/module/src/jest/index.d.ts +13 -3
  374. package/dist/typescript/module/src/jest/index.d.ts.map +1 -1
  375. package/dist/typescript/module/src/metro/index.d.ts.map +1 -1
  376. package/dist/typescript/module/src/metro/injection-code.d.ts +4 -7
  377. package/dist/typescript/module/src/metro/injection-code.d.ts.map +1 -1
  378. package/dist/typescript/module/src/metro/metro-transformer.d.ts +4 -1
  379. package/dist/typescript/module/src/metro/metro-transformer.d.ts.map +1 -1
  380. package/dist/typescript/module/src/metro/resolver.d.ts.map +1 -1
  381. package/dist/typescript/module/src/runtime/native/api.d.ts +16 -2
  382. package/dist/typescript/module/src/runtime/native/api.d.ts.map +1 -1
  383. package/dist/typescript/module/src/runtime/native/conditions/attributes.d.ts +5 -0
  384. package/dist/typescript/module/src/runtime/native/conditions/attributes.d.ts.map +1 -0
  385. package/dist/typescript/module/src/runtime/native/conditions/container-query.d.ts.map +1 -1
  386. package/dist/typescript/module/src/runtime/native/conditions/index.d.ts.map +1 -1
  387. package/dist/typescript/module/src/runtime/native/react/rules.d.ts +2 -2
  388. package/dist/typescript/module/src/runtime/native/react/rules.d.ts.map +1 -1
  389. package/dist/typescript/module/src/runtime/native/react/useNativeCss.d.ts.map +1 -1
  390. package/dist/typescript/module/src/runtime/native/reactivity.d.ts +1 -11
  391. package/dist/typescript/module/src/runtime/native/reactivity.d.ts.map +1 -1
  392. package/dist/typescript/module/src/runtime/native/reanimated.d.ts +5 -0
  393. package/dist/typescript/module/src/runtime/native/reanimated.d.ts.map +1 -0
  394. package/dist/typescript/module/src/runtime/native/styles/calculate-props.d.ts +1 -1
  395. package/dist/typescript/module/src/runtime/native/styles/calculate-props.d.ts.map +1 -1
  396. package/dist/typescript/module/src/runtime/native/styles/defaults.d.ts.map +1 -1
  397. package/dist/typescript/module/src/runtime/native/styles/functions/animation-timing.d.ts +4 -0
  398. package/dist/typescript/module/src/runtime/native/styles/functions/animation-timing.d.ts.map +1 -0
  399. package/dist/typescript/module/src/runtime/native/styles/functions/calc.d.ts +3 -0
  400. package/dist/typescript/module/src/runtime/native/styles/functions/calc.d.ts.map +1 -0
  401. package/dist/typescript/module/src/runtime/native/styles/{filters.d.ts → functions/filters.d.ts} +1 -1
  402. package/dist/typescript/module/src/runtime/native/styles/functions/filters.d.ts.map +1 -0
  403. package/dist/typescript/module/src/runtime/native/styles/functions/index.d.ts +8 -0
  404. package/dist/typescript/module/src/runtime/native/styles/functions/index.d.ts.map +1 -0
  405. package/dist/typescript/module/src/runtime/native/styles/functions/numeric-functions.d.ts +5 -0
  406. package/dist/typescript/module/src/runtime/native/styles/functions/numeric-functions.d.ts.map +1 -0
  407. package/dist/typescript/module/src/runtime/native/styles/{platform-functions.d.ts → functions/platform-functions.d.ts} +2 -2
  408. package/dist/typescript/module/src/runtime/native/styles/functions/platform-functions.d.ts.map +1 -0
  409. package/dist/typescript/module/src/runtime/native/styles/functions/string-functions.d.ts +3 -0
  410. package/dist/typescript/module/src/runtime/native/styles/functions/string-functions.d.ts.map +1 -0
  411. package/dist/typescript/module/src/runtime/native/styles/functions/transform-functions.d.ts +5 -0
  412. package/dist/typescript/module/src/runtime/native/styles/functions/transform-functions.d.ts.map +1 -0
  413. package/dist/typescript/module/src/runtime/native/styles/resolve.d.ts.map +1 -1
  414. package/dist/typescript/module/src/runtime/native/styles/{shorthand.d.ts → shorthands/_handler.d.ts} +2 -2
  415. package/dist/typescript/module/src/runtime/native/styles/shorthands/_handler.d.ts.map +1 -0
  416. package/dist/typescript/module/src/runtime/native/styles/shorthands/animation.d.ts +4 -0
  417. package/dist/typescript/module/src/runtime/native/styles/shorthands/animation.d.ts.map +1 -0
  418. package/dist/typescript/module/src/runtime/native/styles/shorthands/border.d.ts +2 -0
  419. package/dist/typescript/module/src/runtime/native/styles/shorthands/border.d.ts.map +1 -0
  420. package/dist/typescript/module/src/runtime/native/styles/shorthands/box-shadow.d.ts +3 -0
  421. package/dist/typescript/module/src/runtime/native/styles/shorthands/box-shadow.d.ts.map +1 -0
  422. package/dist/typescript/module/src/runtime/native/styles/shorthands/index.d.ts +6 -0
  423. package/dist/typescript/module/src/runtime/native/styles/shorthands/index.d.ts.map +1 -0
  424. package/dist/typescript/module/src/runtime/native/styles/shorthands/text-shadow.d.ts +2 -0
  425. package/dist/typescript/module/src/runtime/native/styles/shorthands/text-shadow.d.ts.map +1 -0
  426. package/dist/typescript/module/src/runtime/native/styles/{transform.d.ts → shorthands/transform.d.ts} +1 -1
  427. package/dist/typescript/module/src/runtime/native/styles/shorthands/transform.d.ts.map +1 -0
  428. package/dist/typescript/module/src/runtime/native/styles/units.d.ts.map +1 -1
  429. package/dist/typescript/module/src/runtime/native/styles/variables.d.ts.map +1 -1
  430. package/dist/typescript/module/src/runtime/utils/objects.d.ts.map +1 -1
  431. package/dist/typescript/module/src/runtime/utils/specificity.d.ts +1 -0
  432. package/dist/typescript/module/src/runtime/utils/specificity.d.ts.map +1 -1
  433. package/dist/typescript/module/src/runtime/web/api.d.ts +9 -3
  434. package/dist/typescript/module/src/runtime/web/api.d.ts.map +1 -1
  435. package/dist/typescript/module/src/style-collection/index.d.ts +14 -0
  436. package/dist/typescript/module/src/style-collection/index.d.ts.map +1 -0
  437. package/dist/typescript/module/src/style-collection/root.d.ts +11 -0
  438. package/dist/typescript/module/src/style-collection/root.d.ts.map +1 -0
  439. package/package.json +30 -15
  440. package/src/compiler/atRules.ts +16 -2
  441. package/src/compiler/compiler.ts +12 -10
  442. package/src/compiler/compiler.types.ts +11 -14
  443. package/src/compiler/declarations.ts +518 -215
  444. package/src/compiler/inheritance.test.ts +10 -10
  445. package/src/compiler/keyframes.ts +1 -1
  446. package/src/compiler/pseudo-elements.ts +54 -0
  447. package/src/compiler/selector-builder.ts +586 -0
  448. package/src/compiler/selectors.ts +20 -6
  449. package/src/compiler/stylesheet.ts +93 -33
  450. package/src/compiler/supports.ts +26 -0
  451. package/src/components/ActivityIndicator.tsx +27 -0
  452. package/src/components/Button.tsx +22 -0
  453. package/src/components/FlatList.tsx +21 -0
  454. package/src/components/Image.tsx +17 -0
  455. package/src/components/Switch.tsx +17 -0
  456. package/src/components/TextInput.tsx +17 -0
  457. package/src/components/index.tsx +6 -0
  458. package/src/components/react-native-safe-area-context.native.tsx +40 -0
  459. package/src/components/react-native-safe-area-context.tsx +1 -0
  460. package/src/jest/index.ts +26 -17
  461. package/src/metro/index.ts +12 -7
  462. package/src/metro/injection-code.ts +6 -10
  463. package/src/metro/metro-transformer.ts +27 -10
  464. package/src/metro/resolver.ts +8 -0
  465. package/src/poison.pill.ts +10 -10
  466. package/src/runtime/native/{api.ts → api.tsx} +34 -5
  467. package/src/runtime/native/conditions/attributes.ts +52 -0
  468. package/src/runtime/native/conditions/container-query.ts +5 -0
  469. package/src/runtime/native/conditions/index.ts +7 -59
  470. package/src/runtime/native/conditions/media-query.ts +18 -12
  471. package/src/runtime/native/react/rules.ts +27 -17
  472. package/src/runtime/native/react/useNativeCss.ts +1 -1
  473. package/src/runtime/native/reactivity.ts +13 -33
  474. package/src/runtime/native/reanimated.ts +22 -0
  475. package/src/runtime/native/styles/calculate-props.ts +30 -8
  476. package/src/runtime/native/styles/defaults.ts +1 -0
  477. package/src/runtime/native/styles/functions/animation-timing.ts +44 -0
  478. package/src/runtime/native/styles/functions/calc.ts +121 -0
  479. package/src/runtime/native/styles/{filters.ts → functions/filters.ts} +3 -3
  480. package/src/runtime/native/styles/functions/index.ts +7 -0
  481. package/src/runtime/native/styles/functions/numeric-functions.ts +38 -0
  482. package/src/runtime/native/styles/{platform-functions.ts → functions/platform-functions.ts} +2 -2
  483. package/src/runtime/native/styles/functions/string-functions.ts +22 -0
  484. package/src/runtime/native/styles/functions/transform-functions.ts +84 -0
  485. package/src/runtime/native/styles/resolve.ts +20 -63
  486. package/src/runtime/native/styles/{shorthand.ts → shorthands/_handler.ts} +5 -5
  487. package/src/runtime/native/styles/{animation.ts → shorthands/animation.ts} +4 -62
  488. package/src/runtime/native/styles/{border.ts → shorthands/border.ts} +1 -1
  489. package/src/runtime/native/styles/shorthands/box-shadow.ts +74 -0
  490. package/src/runtime/native/styles/shorthands/index.ts +5 -0
  491. package/src/runtime/native/styles/{text-shadow.ts → shorthands/text-shadow.ts} +1 -1
  492. package/src/runtime/native/styles/{transform.ts → shorthands/transform.ts} +4 -2
  493. package/src/runtime/native/styles/units.ts +14 -9
  494. package/src/runtime/native/styles/variables.ts +5 -5
  495. package/src/runtime/utils/objects.ts +16 -4
  496. package/src/runtime/utils/specificity.ts +1 -0
  497. package/src/runtime/web/{api.ts → api.tsx} +29 -3
  498. package/src/style-collection/index.ts +142 -0
  499. package/src/style-collection/root.ts +37 -0
  500. package/dist/commonjs/compiler/attributes.test.js +0 -20
  501. package/dist/commonjs/compiler/attributes.test.js.map +0 -1
  502. package/dist/commonjs/doctor/index.js +0 -6
  503. package/dist/commonjs/doctor/index.js.map +0 -1
  504. package/dist/commonjs/runtime/native/injection.js +0 -98
  505. package/dist/commonjs/runtime/native/injection.js.map +0 -1
  506. package/dist/commonjs/runtime/native/styles/animation.js.map +0 -1
  507. package/dist/commonjs/runtime/native/styles/border.js.map +0 -1
  508. package/dist/commonjs/runtime/native/styles/box-shadow.js +0 -40
  509. package/dist/commonjs/runtime/native/styles/box-shadow.js.map +0 -1
  510. package/dist/commonjs/runtime/native/styles/calc.js +0 -85
  511. package/dist/commonjs/runtime/native/styles/calc.js.map +0 -1
  512. package/dist/commonjs/runtime/native/styles/filters.js.map +0 -1
  513. package/dist/commonjs/runtime/native/styles/platform-functions.js.map +0 -1
  514. package/dist/commonjs/runtime/native/styles/shorthand.js.map +0 -1
  515. package/dist/commonjs/runtime/native/styles/text-shadow.js.map +0 -1
  516. package/dist/commonjs/runtime/native/styles/transform.js.map +0 -1
  517. package/dist/module/compiler/attributes.test.js +0 -20
  518. package/dist/module/compiler/attributes.test.js.map +0 -1
  519. package/dist/module/doctor/index.js +0 -4
  520. package/dist/module/doctor/index.js.map +0 -1
  521. package/dist/module/runtime/native/injection.js +0 -93
  522. package/dist/module/runtime/native/injection.js.map +0 -1
  523. package/dist/module/runtime/native/styles/animation.js.map +0 -1
  524. package/dist/module/runtime/native/styles/border.js.map +0 -1
  525. package/dist/module/runtime/native/styles/box-shadow.js.map +0 -1
  526. package/dist/module/runtime/native/styles/calc.js +0 -79
  527. package/dist/module/runtime/native/styles/calc.js.map +0 -1
  528. package/dist/module/runtime/native/styles/filters.js.map +0 -1
  529. package/dist/module/runtime/native/styles/platform-functions.js.map +0 -1
  530. package/dist/module/runtime/native/styles/shorthand.js.map +0 -1
  531. package/dist/module/runtime/native/styles/text-shadow.js.map +0 -1
  532. package/dist/module/runtime/native/styles/transform.js.map +0 -1
  533. package/dist/typescript/commonjs/src/compiler/attributes.test.d.ts +0 -2
  534. package/dist/typescript/commonjs/src/compiler/attributes.test.d.ts.map +0 -1
  535. package/dist/typescript/commonjs/src/doctor/index.d.ts +0 -2
  536. package/dist/typescript/commonjs/src/doctor/index.d.ts.map +0 -1
  537. package/dist/typescript/commonjs/src/runtime/native/injection.d.ts +0 -16
  538. package/dist/typescript/commonjs/src/runtime/native/injection.d.ts.map +0 -1
  539. package/dist/typescript/commonjs/src/runtime/native/styles/animation.d.ts +0 -9
  540. package/dist/typescript/commonjs/src/runtime/native/styles/animation.d.ts.map +0 -1
  541. package/dist/typescript/commonjs/src/runtime/native/styles/border.d.ts +0 -2
  542. package/dist/typescript/commonjs/src/runtime/native/styles/border.d.ts.map +0 -1
  543. package/dist/typescript/commonjs/src/runtime/native/styles/box-shadow.d.ts +0 -3
  544. package/dist/typescript/commonjs/src/runtime/native/styles/box-shadow.d.ts.map +0 -1
  545. package/dist/typescript/commonjs/src/runtime/native/styles/calc.d.ts +0 -3
  546. package/dist/typescript/commonjs/src/runtime/native/styles/calc.d.ts.map +0 -1
  547. package/dist/typescript/commonjs/src/runtime/native/styles/filters.d.ts.map +0 -1
  548. package/dist/typescript/commonjs/src/runtime/native/styles/platform-functions.d.ts.map +0 -1
  549. package/dist/typescript/commonjs/src/runtime/native/styles/shorthand.d.ts.map +0 -1
  550. package/dist/typescript/commonjs/src/runtime/native/styles/text-shadow.d.ts +0 -2
  551. package/dist/typescript/commonjs/src/runtime/native/styles/text-shadow.d.ts.map +0 -1
  552. package/dist/typescript/commonjs/src/runtime/native/styles/transform.d.ts.map +0 -1
  553. package/dist/typescript/module/src/compiler/attributes.test.d.ts +0 -2
  554. package/dist/typescript/module/src/compiler/attributes.test.d.ts.map +0 -1
  555. package/dist/typescript/module/src/doctor/index.d.ts +0 -2
  556. package/dist/typescript/module/src/doctor/index.d.ts.map +0 -1
  557. package/dist/typescript/module/src/runtime/native/injection.d.ts +0 -16
  558. package/dist/typescript/module/src/runtime/native/injection.d.ts.map +0 -1
  559. package/dist/typescript/module/src/runtime/native/styles/animation.d.ts +0 -9
  560. package/dist/typescript/module/src/runtime/native/styles/animation.d.ts.map +0 -1
  561. package/dist/typescript/module/src/runtime/native/styles/border.d.ts +0 -2
  562. package/dist/typescript/module/src/runtime/native/styles/border.d.ts.map +0 -1
  563. package/dist/typescript/module/src/runtime/native/styles/box-shadow.d.ts +0 -3
  564. package/dist/typescript/module/src/runtime/native/styles/box-shadow.d.ts.map +0 -1
  565. package/dist/typescript/module/src/runtime/native/styles/calc.d.ts +0 -3
  566. package/dist/typescript/module/src/runtime/native/styles/calc.d.ts.map +0 -1
  567. package/dist/typescript/module/src/runtime/native/styles/filters.d.ts.map +0 -1
  568. package/dist/typescript/module/src/runtime/native/styles/platform-functions.d.ts.map +0 -1
  569. package/dist/typescript/module/src/runtime/native/styles/shorthand.d.ts.map +0 -1
  570. package/dist/typescript/module/src/runtime/native/styles/text-shadow.d.ts +0 -2
  571. package/dist/typescript/module/src/runtime/native/styles/text-shadow.d.ts.map +0 -1
  572. package/dist/typescript/module/src/runtime/native/styles/transform.d.ts.map +0 -1
  573. package/src/compiler/attributes.test.ts +0 -28
  574. package/src/doctor/index.ts +0 -1
  575. package/src/runtime/native/injection.ts +0 -131
  576. package/src/runtime/native/styles/box-shadow.ts +0 -54
  577. package/src/runtime/native/styles/calc.ts +0 -97
@@ -0,0 +1,496 @@
1
+ "use strict";
2
+
3
+ import { Specificity } from "../runtime/utils/index.js";
4
+ const containerQueryMap = new WeakMap();
5
+ const attributeQueryMap = new WeakMap();
6
+ const mediaQueryMap = new WeakMap();
7
+ const pseudoClassesQueryMap = new WeakMap();
8
+ export function getClassNameSelectors(selectors, options = {}, specificity = [0], root = {
9
+ type: "className",
10
+ specificity: []
11
+ }) {
12
+ if (!selectors.length) {
13
+ return [];
14
+ }
15
+ return selectors.flatMap(selector => {
16
+ if (isRootVariableSelector(selector)) {
17
+ return [{
18
+ type: "rootVariables"
19
+ }];
20
+ } else if (isUniversalSelector(selector)) {
21
+ return [{
22
+ type: "universalVariables"
23
+ }];
24
+ } else {
25
+ return parseComponents(selector.reverse(), options, root, root, specificity) ?? [];
26
+ }
27
+ });
28
+ }
29
+ function parseComponents([component, ...rest], options, root, ref, specificity) {
30
+ if (!component || Array.isArray(component.type)) {
31
+ // Merge the specificity with the root specificity
32
+ for (let i = 0; i < specificity.length; i++) {
33
+ const value = specificity[i];
34
+ if (value !== undefined) {
35
+ root.specificity[i] = (root.specificity[i] ?? 0) + value;
36
+ }
37
+ }
38
+
39
+ // Return the root
40
+ return [root];
41
+ }
42
+ switch (component.type) {
43
+ case "id": // #id
44
+ case "namespace": // @namespace
45
+ case "universal":
46
+ // * - universal selector
47
+ return null;
48
+ case "type":
49
+ {
50
+ // div, span
51
+ if (component.name === options.selectorPrefix || component.name === "html") {
52
+ return parseComponents(rest, options, root, ref, specificity);
53
+ } else {
54
+ return null;
55
+ }
56
+ }
57
+ case "nesting":
58
+ // &
59
+ // The SelectorList should be flattened, so we can skip these
60
+ return parseComponents(rest, options, root, ref, specificity);
61
+ case "combinator":
62
+ {
63
+ // We only support the descendant combinator
64
+ if (component.value === "descendant") {
65
+ // Switch to now parsing a container query
66
+ ref = {};
67
+ return parseComponents(rest, options, root, ref, specificity);
68
+ }
69
+ return [];
70
+ }
71
+ case "pseudo-element":
72
+ {
73
+ switch (component.kind) {
74
+ case "selection":
75
+ case "placeholder":
76
+ {
77
+ specificity[Specificity.PseudoElements] = (specificity[Specificity.PseudoElements] ?? 0) + 1;
78
+ root.pseudoElementQuery ??= [];
79
+ root.pseudoElementQuery.push(component.kind);
80
+ return parseComponents(rest, options, root, ref, specificity);
81
+ }
82
+ default:
83
+ {
84
+ return [];
85
+ }
86
+ }
87
+ }
88
+ case "pseudo-class":
89
+ {
90
+ switch (component.kind) {
91
+ case "hover":
92
+ {
93
+ getPseudoClassesQuery(ref).h = 1;
94
+ specificity[Specificity.PseudoClass] = (specificity[Specificity.PseudoClass] ?? 0) + 1;
95
+ return parseComponents(rest, options, root, ref, specificity);
96
+ }
97
+ case "active":
98
+ {
99
+ getPseudoClassesQuery(ref).a = 1;
100
+ specificity[Specificity.PseudoClass] = (specificity[Specificity.PseudoClass] ?? 0) + 1;
101
+ return parseComponents(rest, options, root, ref, specificity);
102
+ }
103
+ case "focus":
104
+ {
105
+ getPseudoClassesQuery(ref).f = 1;
106
+ specificity[Specificity.PseudoClass] = (specificity[Specificity.PseudoClass] ?? 0) + 1;
107
+ return parseComponents(rest, options, root, ref, specificity);
108
+ }
109
+ case "disabled":
110
+ {
111
+ getAttributeQuery(ref).push(["a", "disabled"]);
112
+ specificity[Specificity.PseudoClass] = (specificity[Specificity.PseudoClass] ?? 0) + 1;
113
+ return parseComponents(rest, options, root, ref, specificity);
114
+ }
115
+ case "empty":
116
+ {
117
+ getAttributeQuery(ref).push(["a", "children", "!"]);
118
+ specificity[Specificity.PseudoClass] = (specificity[Specificity.PseudoClass] ?? 0) + 1;
119
+ return parseComponents(rest, options, root, ref, specificity);
120
+ }
121
+ case "where":
122
+ case "is":
123
+ {
124
+ // Now get the selectors inside the `is` or `where` pseudo-class
125
+ const isWhereContainerQueries = component.selectors.flatMap(selector => {
126
+ return parseIsWhereComponents(component.kind, selector) ?? [];
127
+ });
128
+
129
+ // Remember we're looping in reverse order,
130
+ // So `rest` contains the selectors BEFORE this one
131
+ const parents = parseComponents(rest, options, root, ref, specificity);
132
+ if (!parents) {
133
+ return null;
134
+ }
135
+
136
+ // Each parent selector should be combined with each pseudo-class selector
137
+ return parents.flatMap(parent => {
138
+ const originalParent = {
139
+ ...parent
140
+ };
141
+ return isWhereContainerQueries.map(containerQuery => {
142
+ const {
143
+ specificity,
144
+ m,
145
+ ...query
146
+ } = containerQuery;
147
+ parent = {
148
+ ...originalParent
149
+ };
150
+ parent.specificity = [...originalParent.specificity];
151
+ if (m && m.length > 1) {
152
+ parent.mediaQuery = originalParent.mediaQuery ? [["&", [...originalParent.mediaQuery, m]]] : [m];
153
+ }
154
+ if (component.kind === "is") {
155
+ for (let i = 0; i < specificity.length; i++) {
156
+ const value = specificity[i];
157
+ if (value !== undefined) {
158
+ parent.specificity[i] = (parent.specificity[i] ?? 0) + value;
159
+ }
160
+ }
161
+ }
162
+ if (query.a || query.p || query.n !== undefined) {
163
+ parent.containerQuery = [...(originalParent.containerQuery ?? [])];
164
+ parent.containerQuery.push(query);
165
+ }
166
+ return parent;
167
+ });
168
+ });
169
+ }
170
+ default:
171
+ {
172
+ return [];
173
+ }
174
+ }
175
+ }
176
+ case "attribute":
177
+ {
178
+ if (component.name === "dir") {
179
+ if (!component.operation) {
180
+ return [];
181
+ }
182
+ const operator = operatorMap[component.operation.operator];
183
+ if (operator !== "=") {
184
+ return [];
185
+ }
186
+ getMediaQuery(ref).push([operator, "dir", component.operation.value]);
187
+ return parseComponents(rest, options, root, ref, specificity);
188
+ } else {
189
+ // specificity[Specificity.ClassName] =
190
+ // (specificity[Specificity.ClassName] ?? 0) + 1;
191
+ const attributeQuery = component.name.startsWith("data-") ?
192
+ // [data-*] are turned into `dataSet` queries
193
+ ["d", toRNProperty(component.name.replace("data-", ""))] :
194
+ // Everything else is turned into `attribute` queries
195
+ ["a", toRNProperty(component.name)];
196
+ if (component.operation) {
197
+ let operator;
198
+ switch (component.operation.operator) {
199
+ case "equal":
200
+ operator = "=";
201
+ break;
202
+ case "includes":
203
+ operator = "~=";
204
+ break;
205
+ case "dash-match":
206
+ operator = "|=";
207
+ break;
208
+ case "prefix":
209
+ operator = "^=";
210
+ break;
211
+ case "substring":
212
+ operator = "*=";
213
+ break;
214
+ case "suffix":
215
+ operator = "$=";
216
+ break;
217
+ default:
218
+ component.operation.operator;
219
+ break;
220
+ }
221
+ if (operator) {
222
+ // Append the operator onto the attribute query
223
+ attributeQuery.push(operator, component.operation.value);
224
+ }
225
+ }
226
+ getAttributeQuery(ref).push(attributeQuery);
227
+ specificity[Specificity.ClassName] = (specificity[Specificity.ClassName] ?? 0) + 1;
228
+ return parseComponents(rest, options, root, ref, specificity);
229
+ }
230
+ }
231
+ case "class":
232
+ {
233
+ if (component.name === options.selectorPrefix) {
234
+ // Skip this one
235
+ return parseComponents(rest, options, root, ref, specificity);
236
+ } else if (!isContainerQuery(ref) && !ref.className) {
237
+ ref.className = component.name;
238
+ specificity[Specificity.ClassName] = (specificity[Specificity.ClassName] ?? 0) + 1;
239
+ return parseComponents(rest, options, root, ref, specificity);
240
+ } else if (!isContainerQuery(ref)) {
241
+ // Only the first className is used, the rest are attribute queries
242
+ getAttributeQuery(ref).unshift(["a", "className", "*=", component.name]);
243
+ } else {
244
+ let containerQueries = containerQueryMap.get(root);
245
+ if (!containerQueries) {
246
+ containerQueries = [];
247
+ root.containerQuery = containerQueries;
248
+ containerQueryMap.set(root, containerQueries);
249
+ }
250
+ if (!ref.n) {
251
+ containerQueries.unshift(ref);
252
+ }
253
+ ref.n = ref.n ? `${ref.n}.${component.name}` : `g:${component.name}`;
254
+ }
255
+ specificity[Specificity.ClassName] = (specificity[Specificity.ClassName] ?? 0) + 1;
256
+ return parseComponents(rest, options, root, ref, specificity);
257
+ }
258
+ }
259
+ }
260
+ function parseIsWhereComponents(type, selector, index = 0, queries) {
261
+ const component = selector[index];
262
+ if (!component || Array.isArray(component.type)) {
263
+ return queries ?? [];
264
+ }
265
+ switch (component.type) {
266
+ // These are not allowed in `is()` or `where()`
267
+ case "id": // #id
268
+ case "namespace": // @namespace
269
+ case "type": // div, span
270
+ case "nesting": // &
271
+ case "pseudo-element":
272
+ // ::selection, ::placeholder, etc
273
+ return null;
274
+ case "combinator":
275
+ {
276
+ // We only support the descendant combinator
277
+ if (component.value === "descendant") {
278
+ // Each "block" is a new container query
279
+ const children = parseIsWhereComponents(type, selector, index + 1);
280
+ return children && queries ? [...queries, ...children] : children;
281
+ }
282
+ return null;
283
+ }
284
+ case "universal":
285
+ {
286
+ // * - universal selector
287
+ if (index !== selector.length - 1) {
288
+ // We only accept it in the last position
289
+ return null;
290
+ }
291
+
292
+ // This was the only component, so we return the ref
293
+ if (selector.length === 1) {
294
+ return queries ?? [{
295
+ specificity: []
296
+ }];
297
+ }
298
+ const previous = selector[index - 1];
299
+
300
+ // If the previous component is not a descendant combinator,
301
+ if (!previous || previous.type !== "combinator" || previous.value !== "descendant") {
302
+ return null;
303
+ }
304
+ return parseIsWhereComponents(type, selector, index + 1, queries);
305
+ }
306
+ case "pseudo-class":
307
+ {
308
+ // const specificity = ref.specificity;
309
+
310
+ // specificity[Specificity.ClassName] =
311
+ // (specificity[Specificity.ClassName] ?? 0) + 1;
312
+ switch (component.kind) {
313
+ case "dir":
314
+ {
315
+ queries ??= [{
316
+ specificity: []
317
+ }];
318
+ queries.forEach(query => {
319
+ getMediaQuery(query).push(["=", "dir", component.direction]);
320
+ });
321
+ return parseIsWhereComponents(type, selector, index + 1, queries);
322
+ }
323
+ case "hover":
324
+ {
325
+ queries ??= [{
326
+ specificity: []
327
+ }];
328
+ queries.forEach(query => {
329
+ getPseudoClassesQuery(query).h = 1;
330
+ });
331
+ return parseIsWhereComponents(type, selector, index + 1, queries);
332
+ }
333
+ case "active":
334
+ {
335
+ queries ??= [{
336
+ specificity: []
337
+ }];
338
+ queries.forEach(query => {
339
+ getPseudoClassesQuery(query).a = 1;
340
+ });
341
+ return parseIsWhereComponents(type, selector, index + 1, queries);
342
+ }
343
+ case "focus":
344
+ {
345
+ queries ??= [{
346
+ specificity: []
347
+ }];
348
+ queries.forEach(query => {
349
+ getPseudoClassesQuery(query).f = 1;
350
+ });
351
+ return parseIsWhereComponents(type, selector, index + 1, queries);
352
+ }
353
+ case "disabled":
354
+ {
355
+ queries ??= [{
356
+ specificity: []
357
+ }];
358
+ queries.forEach(query => {
359
+ getAttributeQuery(query).push(["a", "disabled"]);
360
+ });
361
+ return parseIsWhereComponents(type, selector, index + 1, queries);
362
+ }
363
+ case "empty":
364
+ {
365
+ queries ??= [{
366
+ specificity: []
367
+ }];
368
+ queries.forEach(query => {
369
+ getAttributeQuery(query).push(["a", "children", "!"]);
370
+ });
371
+ return parseIsWhereComponents(type, selector, index + 1, queries);
372
+ }
373
+ case "where":
374
+ case "is":
375
+ {
376
+ // Now get the selectors inside the `is` or `where` pseudo-class
377
+ queries = component.selectors.flatMap(selector => {
378
+ return parseIsWhereComponents(type, selector, 0, queries) ?? [];
379
+ });
380
+ return parseIsWhereComponents(type, selector, index + 1, queries);
381
+ }
382
+ default:
383
+ {
384
+ return null;
385
+ }
386
+ }
387
+ }
388
+ case "attribute":
389
+ {
390
+ if (component.name === "dir") {
391
+ return null;
392
+ }
393
+ if (type !== "where") {
394
+ // specificity[Specificity.ClassName] =
395
+ // (specificity[Specificity.ClassName] ?? 0) + 1;
396
+ }
397
+ const attributeQuery = component.name.startsWith("data-") ?
398
+ // [data-*] are turned into `dataSet` queries
399
+ ["d", toRNProperty(component.name.replace("data-", ""))] :
400
+ // Everything else is turned into `attribute` queries
401
+ ["a", toRNProperty(component.name)];
402
+ if (component.operation) {
403
+ const operator = operatorMap[component.operation.operator];
404
+ // Append the operator onto the attribute query
405
+ attributeQuery.push(operator, component.operation.value);
406
+ }
407
+ queries ??= [{
408
+ specificity: []
409
+ }];
410
+ for (const query of queries) {
411
+ if (type === "is") {
412
+ query.specificity[Specificity.ClassName] = (query.specificity[Specificity.ClassName] ?? 0) + 1;
413
+ }
414
+ getAttributeQuery(query).push(attributeQuery);
415
+ }
416
+ return parseIsWhereComponents(type, selector, index + 1, queries);
417
+ }
418
+ case "class":
419
+ {
420
+ // In `is` and `where` selectors, the ref will always be a container query
421
+ queries ??= [{
422
+ specificity: []
423
+ }];
424
+ for (const query of queries) {
425
+ if (type === "is") {
426
+ query.specificity[Specificity.ClassName] = (query.specificity[Specificity.ClassName] ?? 0) + 1;
427
+ }
428
+ query.n = query.n ? `${query.n}.${component.name}` : `g:${component.name}`;
429
+ }
430
+ return parseIsWhereComponents(type, selector, index + 1, queries);
431
+ }
432
+ }
433
+ }
434
+ function isContainerQuery(value) {
435
+ return !("type" in value);
436
+ }
437
+ function getPseudoClassesQuery(key) {
438
+ let pseudoClassesQuery = pseudoClassesQueryMap.get(key);
439
+ if (!pseudoClassesQuery) {
440
+ if ("type" in key) {
441
+ pseudoClassesQuery = {};
442
+ key.pseudoClassesQuery = pseudoClassesQuery;
443
+ } else {
444
+ key.p ??= {};
445
+ pseudoClassesQuery = key.p;
446
+ }
447
+ pseudoClassesQueryMap.set(key, pseudoClassesQuery);
448
+ }
449
+ return pseudoClassesQuery;
450
+ }
451
+ function getAttributeQuery(key) {
452
+ let attributeQuery = attributeQueryMap.get(key);
453
+ if (!attributeQuery) {
454
+ if ("type" in key) {
455
+ attributeQuery = [];
456
+ key.attributeQuery = attributeQuery;
457
+ } else {
458
+ key.a ??= [];
459
+ attributeQuery = key.a;
460
+ }
461
+ attributeQueryMap.set(key, attributeQuery);
462
+ }
463
+ return attributeQuery;
464
+ }
465
+ function getMediaQuery(key) {
466
+ let mediaQuery = mediaQueryMap.get(key);
467
+ if (!mediaQuery) {
468
+ if ("type" in key) {
469
+ mediaQuery = [];
470
+ key.mediaQuery = mediaQuery;
471
+ } else {
472
+ mediaQuery = [];
473
+ key.m ??= ["&", mediaQuery];
474
+ }
475
+ mediaQueryMap.set(key, mediaQuery);
476
+ }
477
+ return mediaQuery;
478
+ }
479
+ function isRootVariableSelector([first, second]) {
480
+ return first && !second && first.type === "pseudo-class" && first.kind === "root";
481
+ }
482
+ function isUniversalSelector([first, second]) {
483
+ return first && first.type === "universal" && !second;
484
+ }
485
+ export function toRNProperty(str) {
486
+ return str.replace(/^-rn-/, "").replace(/-./g, x => x[1]?.toUpperCase() ?? "");
487
+ }
488
+ const operatorMap = {
489
+ "equal": "=",
490
+ "includes": "~=",
491
+ "dash-match": "|=",
492
+ "prefix": "^=",
493
+ "substring": "*=",
494
+ "suffix": "$="
495
+ };
496
+ //# sourceMappingURL=selector-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Specificity","containerQueryMap","WeakMap","attributeQueryMap","mediaQueryMap","pseudoClassesQueryMap","getClassNameSelectors","selectors","options","specificity","root","type","length","flatMap","selector","isRootVariableSelector","isUniversalSelector","parseComponents","reverse","component","rest","ref","Array","isArray","i","value","undefined","name","selectorPrefix","kind","PseudoElements","pseudoElementQuery","push","getPseudoClassesQuery","h","PseudoClass","a","f","getAttributeQuery","isWhereContainerQueries","parseIsWhereComponents","parents","parent","originalParent","map","containerQuery","m","query","mediaQuery","p","n","operation","operator","operatorMap","getMediaQuery","attributeQuery","startsWith","toRNProperty","replace","ClassName","isContainerQuery","className","unshift","containerQueries","get","set","index","queries","children","previous","forEach","direction","key","pseudoClassesQuery","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":[]}