react-native-css 3.0.0-nightly.27bd5e2 → 3.0.0-nightly.46bc0ab

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 (479) hide show
  1. package/dist/commonjs/compiler/atRules.js +16 -3
  2. package/dist/commonjs/compiler/atRules.js.map +1 -1
  3. package/dist/commonjs/compiler/attributes.test.js +1 -1
  4. package/dist/commonjs/compiler/attributes.test.js.map +1 -1
  5. package/dist/commonjs/compiler/compiler.js +57 -18
  6. package/dist/commonjs/compiler/compiler.js.map +1 -1
  7. package/dist/commonjs/compiler/declarations.js +209 -107
  8. package/dist/commonjs/compiler/declarations.js.map +1 -1
  9. package/dist/commonjs/compiler/inheritance.test.js +7 -7
  10. package/dist/commonjs/compiler/inheritance.test.js.map +1 -1
  11. package/dist/commonjs/compiler/keyframes.js +1 -1
  12. package/dist/commonjs/compiler/keyframes.js.map +1 -1
  13. package/dist/commonjs/compiler/selector-builder.js +457 -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 +136 -45
  18. package/dist/commonjs/compiler/stylesheet.js.map +1 -1
  19. package/dist/commonjs/components/ActivityIndicator.js +22 -0
  20. package/dist/commonjs/components/ActivityIndicator.js.map +1 -0
  21. package/dist/commonjs/components/Button.js +22 -0
  22. package/dist/commonjs/components/Button.js.map +1 -0
  23. package/dist/commonjs/components/FlatList.js +19 -0
  24. package/dist/commonjs/components/FlatList.js.map +1 -0
  25. package/dist/commonjs/components/Image.js +17 -0
  26. package/dist/commonjs/components/Image.js.map +1 -0
  27. package/dist/commonjs/components/TextInput.js +17 -0
  28. package/dist/commonjs/components/TextInput.js.map +1 -0
  29. package/dist/commonjs/components/index.js +40 -0
  30. package/dist/commonjs/components/index.js.map +1 -1
  31. package/dist/commonjs/jest/index.js +34 -28
  32. package/dist/commonjs/jest/index.js.map +1 -1
  33. package/dist/commonjs/metro/index.js +7 -5
  34. package/dist/commonjs/metro/index.js.map +1 -1
  35. package/dist/commonjs/poison.pill.js +4 -1
  36. package/dist/commonjs/poison.pill.js.map +1 -1
  37. package/dist/commonjs/runtime/native/conditions/attributes.js +42 -0
  38. package/dist/commonjs/runtime/native/conditions/attributes.js.map +1 -0
  39. package/dist/commonjs/runtime/native/conditions/container-query.js +28 -21
  40. package/dist/commonjs/runtime/native/conditions/container-query.js.map +1 -1
  41. package/dist/commonjs/runtime/native/conditions/guards.js.map +1 -1
  42. package/dist/commonjs/runtime/native/conditions/index.js +10 -46
  43. package/dist/commonjs/runtime/native/conditions/index.js.map +1 -1
  44. package/dist/commonjs/runtime/native/conditions/media-query.js +19 -17
  45. package/dist/commonjs/runtime/native/conditions/media-query.js.map +1 -1
  46. package/dist/commonjs/runtime/native/injection.js +22 -20
  47. package/dist/commonjs/runtime/native/injection.js.map +1 -1
  48. package/dist/commonjs/runtime/native/react/interaction.js +10 -10
  49. package/dist/commonjs/runtime/native/react/interaction.js.map +1 -1
  50. package/dist/commonjs/runtime/native/react/rules.js +22 -17
  51. package/dist/commonjs/runtime/native/react/rules.js.map +1 -1
  52. package/dist/commonjs/runtime/native/react/useNativeCss.js +3 -2
  53. package/dist/commonjs/runtime/native/react/useNativeCss.js.map +1 -1
  54. package/dist/commonjs/runtime/native/reactivity.js +1 -12
  55. package/dist/commonjs/runtime/native/reactivity.js.map +1 -1
  56. package/dist/commonjs/runtime/native/reanimated.js +17 -0
  57. package/dist/commonjs/runtime/native/reanimated.js.map +1 -0
  58. package/dist/commonjs/runtime/native/root.js +28 -0
  59. package/dist/commonjs/runtime/native/root.js.map +1 -0
  60. package/dist/commonjs/runtime/native/styles/calculate-props.js +56 -48
  61. package/dist/commonjs/runtime/native/styles/calculate-props.js.map +1 -1
  62. package/dist/commonjs/runtime/native/styles/defaults.js +1 -1
  63. package/dist/commonjs/runtime/native/styles/defaults.js.map +1 -1
  64. package/dist/commonjs/runtime/native/styles/functions/animation-timing.js +34 -0
  65. package/dist/commonjs/runtime/native/styles/functions/animation-timing.js.map +1 -0
  66. package/dist/commonjs/runtime/native/styles/{calc.js → functions/calc.js} +1 -1
  67. package/dist/commonjs/runtime/native/styles/functions/calc.js.map +1 -0
  68. package/dist/commonjs/runtime/native/styles/{filters.js → functions/filters.js} +3 -3
  69. package/dist/commonjs/runtime/native/styles/functions/filters.js.map +1 -0
  70. package/dist/commonjs/runtime/native/styles/functions/index.js +61 -0
  71. package/dist/commonjs/runtime/native/styles/functions/index.js.map +1 -0
  72. package/dist/commonjs/runtime/native/styles/{platform-functions.js → functions/platform-functions.js} +3 -3
  73. package/dist/commonjs/runtime/native/styles/functions/platform-functions.js.map +1 -0
  74. package/dist/commonjs/runtime/native/styles/functions/transform-functions.js +83 -0
  75. package/dist/commonjs/runtime/native/styles/functions/transform-functions.js.map +1 -0
  76. package/dist/commonjs/runtime/native/styles/index.js +12 -12
  77. package/dist/commonjs/runtime/native/styles/index.js.map +1 -1
  78. package/dist/commonjs/runtime/native/styles/resolve.js +21 -44
  79. package/dist/commonjs/runtime/native/styles/resolve.js.map +1 -1
  80. package/dist/commonjs/runtime/native/styles/{shorthand.js → shorthands/_handler.js} +5 -5
  81. package/dist/commonjs/runtime/native/styles/shorthands/_handler.js.map +1 -0
  82. package/dist/commonjs/runtime/native/styles/{animation.js → shorthands/animation.js} +5 -36
  83. package/dist/commonjs/runtime/native/styles/shorthands/animation.js.map +1 -0
  84. package/dist/commonjs/runtime/native/styles/{border.js → shorthands/border.js} +2 -2
  85. package/dist/commonjs/runtime/native/styles/shorthands/border.js.map +1 -0
  86. package/dist/commonjs/runtime/native/styles/{box-shadow.js → shorthands/box-shadow.js} +3 -3
  87. package/dist/commonjs/runtime/native/styles/shorthands/box-shadow.js.map +1 -0
  88. package/dist/commonjs/runtime/native/styles/shorthands/index.js +61 -0
  89. package/dist/commonjs/runtime/native/styles/shorthands/index.js.map +1 -0
  90. package/dist/commonjs/runtime/native/styles/{text-shadow.js → shorthands/text-shadow.js} +2 -2
  91. package/dist/commonjs/runtime/native/styles/shorthands/text-shadow.js.map +1 -0
  92. package/dist/commonjs/runtime/native/styles/shorthands/transform.js.map +1 -0
  93. package/dist/commonjs/runtime/native/styles/units.js +7 -4
  94. package/dist/commonjs/runtime/native/styles/units.js.map +1 -1
  95. package/dist/commonjs/runtime/native/styles/variables.js +3 -2
  96. package/dist/commonjs/runtime/native/styles/variables.js.map +1 -1
  97. package/dist/commonjs/runtime/utils/objects.js +14 -6
  98. package/dist/commonjs/runtime/utils/objects.js.map +1 -1
  99. package/dist/commonjs/runtime/utils/specificity.js +2 -1
  100. package/dist/commonjs/runtime/utils/specificity.js.map +1 -1
  101. package/dist/module/compiler/atRules.js +16 -3
  102. package/dist/module/compiler/atRules.js.map +1 -1
  103. package/dist/module/compiler/attributes.test.js +1 -1
  104. package/dist/module/compiler/attributes.test.js.map +1 -1
  105. package/dist/module/compiler/compiler.js +57 -18
  106. package/dist/module/compiler/compiler.js.map +1 -1
  107. package/dist/module/compiler/compiler.types.js.map +1 -1
  108. package/dist/module/compiler/declarations.js +204 -103
  109. package/dist/module/compiler/declarations.js.map +1 -1
  110. package/dist/module/compiler/inheritance.test.js +7 -7
  111. package/dist/module/compiler/inheritance.test.js.map +1 -1
  112. package/dist/module/compiler/keyframes.js +1 -1
  113. package/dist/module/compiler/keyframes.js.map +1 -1
  114. package/dist/module/compiler/selector-builder.js +452 -0
  115. package/dist/module/compiler/selector-builder.js.map +1 -0
  116. package/dist/module/compiler/selectors.js +10 -6
  117. package/dist/module/compiler/selectors.js.map +1 -1
  118. package/dist/module/compiler/stylesheet.js +135 -44
  119. package/dist/module/compiler/stylesheet.js.map +1 -1
  120. package/dist/module/components/ActivityIndicator.js +17 -0
  121. package/dist/module/components/ActivityIndicator.js.map +1 -0
  122. package/dist/module/components/Button.js +17 -0
  123. package/dist/module/components/Button.js.map +1 -0
  124. package/dist/module/components/FlatList.js +14 -0
  125. package/dist/module/components/FlatList.js.map +1 -0
  126. package/dist/module/components/Image.js +12 -0
  127. package/dist/module/components/Image.js.map +1 -0
  128. package/dist/module/components/TextInput.js +12 -0
  129. package/dist/module/components/TextInput.js.map +1 -0
  130. package/dist/module/components/index.js +5 -0
  131. package/dist/module/components/index.js.map +1 -1
  132. package/dist/module/jest/index.js +34 -13
  133. package/dist/module/jest/index.js.map +1 -1
  134. package/dist/module/metro/index.js +7 -5
  135. package/dist/module/metro/index.js.map +1 -1
  136. package/dist/module/poison.pill.js +4 -1
  137. package/dist/module/poison.pill.js.map +1 -1
  138. package/dist/module/runtime/native/conditions/attributes.js +38 -0
  139. package/dist/module/runtime/native/conditions/attributes.js.map +1 -0
  140. package/dist/module/runtime/native/conditions/container-query.js +28 -21
  141. package/dist/module/runtime/native/conditions/container-query.js.map +1 -1
  142. package/dist/module/runtime/native/conditions/guards.js.map +1 -1
  143. package/dist/module/runtime/native/conditions/index.js +10 -46
  144. package/dist/module/runtime/native/conditions/index.js.map +1 -1
  145. package/dist/module/runtime/native/conditions/media-query.js +19 -17
  146. package/dist/module/runtime/native/conditions/media-query.js.map +1 -1
  147. package/dist/module/runtime/native/injection.js +21 -19
  148. package/dist/module/runtime/native/injection.js.map +1 -1
  149. package/dist/module/runtime/native/react/interaction.js +10 -10
  150. package/dist/module/runtime/native/react/interaction.js.map +1 -1
  151. package/dist/module/runtime/native/react/rules.js +22 -17
  152. package/dist/module/runtime/native/react/rules.js.map +1 -1
  153. package/dist/module/runtime/native/react/useNativeCss.js +2 -1
  154. package/dist/module/runtime/native/react/useNativeCss.js.map +1 -1
  155. package/dist/module/runtime/native/reactivity.js +0 -11
  156. package/dist/module/runtime/native/reactivity.js.map +1 -1
  157. package/dist/module/runtime/native/reanimated.js +13 -0
  158. package/dist/module/runtime/native/reanimated.js.map +1 -0
  159. package/dist/module/runtime/native/root.js +24 -0
  160. package/dist/module/runtime/native/root.js.map +1 -0
  161. package/dist/module/runtime/native/styles/calculate-props.js +57 -49
  162. package/dist/module/runtime/native/styles/calculate-props.js.map +1 -1
  163. package/dist/module/runtime/native/styles/defaults.js +1 -1
  164. package/dist/module/runtime/native/styles/defaults.js.map +1 -1
  165. package/dist/module/runtime/native/styles/functions/animation-timing.js +30 -0
  166. package/dist/module/runtime/native/styles/functions/animation-timing.js.map +1 -0
  167. package/dist/module/runtime/native/styles/{calc.js → functions/calc.js} +1 -1
  168. package/dist/module/runtime/native/styles/functions/calc.js.map +1 -0
  169. package/dist/module/runtime/native/styles/{filters.js → functions/filters.js} +2 -2
  170. package/dist/module/runtime/native/styles/functions/filters.js.map +1 -0
  171. package/dist/module/runtime/native/styles/functions/index.js +8 -0
  172. package/dist/module/runtime/native/styles/functions/index.js.map +1 -0
  173. package/dist/module/runtime/native/styles/{platform-functions.js → functions/platform-functions.js} +1 -1
  174. package/dist/module/runtime/native/styles/functions/platform-functions.js.map +1 -0
  175. package/dist/module/runtime/native/styles/functions/transform-functions.js +76 -0
  176. package/dist/module/runtime/native/styles/functions/transform-functions.js.map +1 -0
  177. package/dist/module/runtime/native/styles/index.js +12 -12
  178. package/dist/module/runtime/native/styles/index.js.map +1 -1
  179. package/dist/module/runtime/native/styles/resolve.js +20 -44
  180. package/dist/module/runtime/native/styles/resolve.js.map +1 -1
  181. package/dist/module/runtime/native/styles/{shorthand.js → shorthands/_handler.js} +5 -5
  182. package/dist/module/runtime/native/styles/shorthands/_handler.js.map +1 -0
  183. package/dist/module/runtime/native/styles/{animation.js → shorthands/animation.js} +3 -34
  184. package/dist/module/runtime/native/styles/shorthands/animation.js.map +1 -0
  185. package/dist/module/runtime/native/styles/{border.js → shorthands/border.js} +1 -1
  186. package/dist/module/runtime/native/styles/shorthands/border.js.map +1 -0
  187. package/dist/module/runtime/native/styles/{box-shadow.js → shorthands/box-shadow.js} +2 -2
  188. package/dist/module/runtime/native/styles/shorthands/box-shadow.js.map +1 -0
  189. package/dist/module/runtime/native/styles/shorthands/index.js +8 -0
  190. package/dist/module/runtime/native/styles/shorthands/index.js.map +1 -0
  191. package/dist/module/runtime/native/styles/{text-shadow.js → shorthands/text-shadow.js} +1 -1
  192. package/dist/module/runtime/native/styles/shorthands/text-shadow.js.map +1 -0
  193. package/dist/module/runtime/native/styles/shorthands/transform.js.map +1 -0
  194. package/dist/module/runtime/native/styles/units.js +7 -4
  195. package/dist/module/runtime/native/styles/units.js.map +1 -1
  196. package/dist/module/runtime/native/styles/variables.js +2 -1
  197. package/dist/module/runtime/native/styles/variables.js.map +1 -1
  198. package/dist/module/runtime/utils/objects.js +14 -6
  199. package/dist/module/runtime/utils/objects.js.map +1 -1
  200. package/dist/module/runtime/utils/specificity.js +2 -1
  201. package/dist/module/runtime/utils/specificity.js.map +1 -1
  202. package/dist/typescript/commonjs/example/app.config.d.ts +4 -0
  203. package/dist/typescript/commonjs/example/app.config.d.ts.map +1 -0
  204. package/dist/typescript/commonjs/src/compiler/atRules.d.ts.map +1 -1
  205. package/dist/typescript/commonjs/src/compiler/compiler.d.ts +9 -2
  206. package/dist/typescript/commonjs/src/compiler/compiler.d.ts.map +1 -1
  207. package/dist/typescript/commonjs/src/compiler/compiler.types.d.ts +6 -7
  208. package/dist/typescript/commonjs/src/compiler/compiler.types.d.ts.map +1 -1
  209. package/dist/typescript/commonjs/src/compiler/declarations.d.ts +16 -19
  210. package/dist/typescript/commonjs/src/compiler/declarations.d.ts.map +1 -1
  211. package/dist/typescript/commonjs/src/compiler/selector-builder.d.ts +23 -0
  212. package/dist/typescript/commonjs/src/compiler/selector-builder.d.ts.map +1 -0
  213. package/dist/typescript/commonjs/src/compiler/selectors.d.ts +3 -2
  214. package/dist/typescript/commonjs/src/compiler/selectors.d.ts.map +1 -1
  215. package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts +23 -5
  216. package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts.map +1 -1
  217. package/dist/typescript/commonjs/src/components/ActivityIndicator.d.ts +13 -0
  218. package/dist/typescript/commonjs/src/components/ActivityIndicator.d.ts.map +1 -0
  219. package/dist/typescript/commonjs/src/components/Button.d.ts +13 -0
  220. package/dist/typescript/commonjs/src/components/Button.d.ts.map +1 -0
  221. package/dist/typescript/commonjs/src/components/FlatList.d.ts +10 -0
  222. package/dist/typescript/commonjs/src/components/FlatList.d.ts.map +1 -0
  223. package/dist/typescript/commonjs/src/components/Image.d.ts +8 -0
  224. package/dist/typescript/commonjs/src/components/Image.d.ts.map +1 -0
  225. package/dist/typescript/commonjs/src/components/TextInput.d.ts +8 -0
  226. package/dist/typescript/commonjs/src/components/TextInput.d.ts.map +1 -0
  227. package/dist/typescript/commonjs/src/components/index.d.ts +5 -0
  228. package/dist/typescript/commonjs/src/components/index.d.ts.map +1 -1
  229. package/dist/typescript/commonjs/src/jest/index.d.ts +21 -5
  230. package/dist/typescript/commonjs/src/jest/index.d.ts.map +1 -1
  231. package/dist/typescript/commonjs/src/metro/index.d.ts.map +1 -1
  232. package/dist/typescript/commonjs/src/poison.pill.d.ts.map +1 -1
  233. package/dist/typescript/commonjs/src/runtime/native/conditions/attributes.d.ts +5 -0
  234. package/dist/typescript/commonjs/src/runtime/native/conditions/attributes.d.ts.map +1 -0
  235. package/dist/typescript/commonjs/src/runtime/native/conditions/container-query.d.ts +3 -3
  236. package/dist/typescript/commonjs/src/runtime/native/conditions/container-query.d.ts.map +1 -1
  237. package/dist/typescript/commonjs/src/runtime/native/conditions/guards.d.ts +2 -2
  238. package/dist/typescript/commonjs/src/runtime/native/conditions/guards.d.ts.map +1 -1
  239. package/dist/typescript/commonjs/src/runtime/native/conditions/index.d.ts +2 -2
  240. package/dist/typescript/commonjs/src/runtime/native/conditions/index.d.ts.map +1 -1
  241. package/dist/typescript/commonjs/src/runtime/native/conditions/media-query.d.ts +2 -2
  242. package/dist/typescript/commonjs/src/runtime/native/conditions/media-query.d.ts.map +1 -1
  243. package/dist/typescript/commonjs/src/runtime/native/injection.d.ts.map +1 -1
  244. package/dist/typescript/commonjs/src/runtime/native/react/interaction.d.ts +2 -2
  245. package/dist/typescript/commonjs/src/runtime/native/react/interaction.d.ts.map +1 -1
  246. package/dist/typescript/commonjs/src/runtime/native/react/rules.d.ts +2 -2
  247. package/dist/typescript/commonjs/src/runtime/native/react/rules.d.ts.map +1 -1
  248. package/dist/typescript/commonjs/src/runtime/native/react/useNativeCss.d.ts +2 -1
  249. package/dist/typescript/commonjs/src/runtime/native/react/useNativeCss.d.ts.map +1 -1
  250. package/dist/typescript/commonjs/src/runtime/native/reactivity.d.ts +2 -10
  251. package/dist/typescript/commonjs/src/runtime/native/reactivity.d.ts.map +1 -1
  252. package/dist/typescript/commonjs/src/runtime/native/reanimated.d.ts +5 -0
  253. package/dist/typescript/commonjs/src/runtime/native/reanimated.d.ts.map +1 -0
  254. package/dist/typescript/commonjs/src/runtime/native/root.d.ts +11 -0
  255. package/dist/typescript/commonjs/src/runtime/native/root.d.ts.map +1 -0
  256. package/dist/typescript/commonjs/src/runtime/native/styles/calculate-props.d.ts.map +1 -1
  257. package/dist/typescript/commonjs/src/runtime/native/styles/defaults.d.ts.map +1 -1
  258. package/dist/typescript/commonjs/src/runtime/native/styles/functions/animation-timing.d.ts +4 -0
  259. package/dist/typescript/commonjs/src/runtime/native/styles/functions/animation-timing.d.ts.map +1 -0
  260. package/dist/typescript/commonjs/src/runtime/native/styles/functions/calc.d.ts +3 -0
  261. package/dist/typescript/commonjs/src/runtime/native/styles/functions/calc.d.ts.map +1 -0
  262. package/dist/typescript/commonjs/src/runtime/native/styles/{filters.d.ts → functions/filters.d.ts} +1 -1
  263. package/dist/typescript/commonjs/src/runtime/native/styles/functions/filters.d.ts.map +1 -0
  264. package/dist/typescript/commonjs/src/runtime/native/styles/functions/index.d.ts +6 -0
  265. package/dist/typescript/commonjs/src/runtime/native/styles/functions/index.d.ts.map +1 -0
  266. package/dist/typescript/commonjs/src/runtime/native/styles/{platform-functions.d.ts → functions/platform-functions.d.ts} +2 -2
  267. package/dist/typescript/commonjs/src/runtime/native/styles/functions/platform-functions.d.ts.map +1 -0
  268. package/dist/typescript/commonjs/src/runtime/native/styles/functions/transform-functions.d.ts +5 -0
  269. package/dist/typescript/commonjs/src/runtime/native/styles/functions/transform-functions.d.ts.map +1 -0
  270. package/dist/typescript/commonjs/src/runtime/native/styles/resolve.d.ts.map +1 -1
  271. package/dist/typescript/commonjs/src/runtime/native/styles/{shorthand.d.ts → shorthands/_handler.d.ts} +2 -2
  272. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/_handler.d.ts.map +1 -0
  273. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/animation.d.ts +4 -0
  274. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/animation.d.ts.map +1 -0
  275. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/border.d.ts +2 -0
  276. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/border.d.ts.map +1 -0
  277. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/box-shadow.d.ts +3 -0
  278. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/box-shadow.d.ts.map +1 -0
  279. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/index.d.ts +6 -0
  280. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/index.d.ts.map +1 -0
  281. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/text-shadow.d.ts +2 -0
  282. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/text-shadow.d.ts.map +1 -0
  283. package/dist/typescript/commonjs/src/runtime/native/styles/{transform.d.ts → shorthands/transform.d.ts} +1 -1
  284. package/dist/typescript/commonjs/src/runtime/native/styles/shorthands/transform.d.ts.map +1 -0
  285. package/dist/typescript/commonjs/src/runtime/native/styles/units.d.ts.map +1 -1
  286. package/dist/typescript/commonjs/src/runtime/native/styles/variables.d.ts.map +1 -1
  287. package/dist/typescript/commonjs/src/runtime/utils/objects.d.ts.map +1 -1
  288. package/dist/typescript/commonjs/src/runtime/utils/specificity.d.ts +1 -0
  289. package/dist/typescript/commonjs/src/runtime/utils/specificity.d.ts.map +1 -1
  290. package/dist/typescript/module/example/app.config.d.ts +4 -0
  291. package/dist/typescript/module/example/app.config.d.ts.map +1 -0
  292. package/dist/typescript/module/src/compiler/atRules.d.ts.map +1 -1
  293. package/dist/typescript/module/src/compiler/compiler.d.ts +9 -2
  294. package/dist/typescript/module/src/compiler/compiler.d.ts.map +1 -1
  295. package/dist/typescript/module/src/compiler/compiler.types.d.ts +6 -7
  296. package/dist/typescript/module/src/compiler/compiler.types.d.ts.map +1 -1
  297. package/dist/typescript/module/src/compiler/declarations.d.ts +16 -19
  298. package/dist/typescript/module/src/compiler/declarations.d.ts.map +1 -1
  299. package/dist/typescript/module/src/compiler/selector-builder.d.ts +23 -0
  300. package/dist/typescript/module/src/compiler/selector-builder.d.ts.map +1 -0
  301. package/dist/typescript/module/src/compiler/selectors.d.ts +3 -2
  302. package/dist/typescript/module/src/compiler/selectors.d.ts.map +1 -1
  303. package/dist/typescript/module/src/compiler/stylesheet.d.ts +23 -5
  304. package/dist/typescript/module/src/compiler/stylesheet.d.ts.map +1 -1
  305. package/dist/typescript/module/src/components/ActivityIndicator.d.ts +13 -0
  306. package/dist/typescript/module/src/components/ActivityIndicator.d.ts.map +1 -0
  307. package/dist/typescript/module/src/components/Button.d.ts +13 -0
  308. package/dist/typescript/module/src/components/Button.d.ts.map +1 -0
  309. package/dist/typescript/module/src/components/FlatList.d.ts +10 -0
  310. package/dist/typescript/module/src/components/FlatList.d.ts.map +1 -0
  311. package/dist/typescript/module/src/components/Image.d.ts +8 -0
  312. package/dist/typescript/module/src/components/Image.d.ts.map +1 -0
  313. package/dist/typescript/module/src/components/TextInput.d.ts +8 -0
  314. package/dist/typescript/module/src/components/TextInput.d.ts.map +1 -0
  315. package/dist/typescript/module/src/components/index.d.ts +5 -0
  316. package/dist/typescript/module/src/components/index.d.ts.map +1 -1
  317. package/dist/typescript/module/src/jest/index.d.ts +21 -5
  318. package/dist/typescript/module/src/jest/index.d.ts.map +1 -1
  319. package/dist/typescript/module/src/metro/index.d.ts.map +1 -1
  320. package/dist/typescript/module/src/poison.pill.d.ts.map +1 -1
  321. package/dist/typescript/module/src/runtime/native/conditions/attributes.d.ts +5 -0
  322. package/dist/typescript/module/src/runtime/native/conditions/attributes.d.ts.map +1 -0
  323. package/dist/typescript/module/src/runtime/native/conditions/container-query.d.ts +3 -3
  324. package/dist/typescript/module/src/runtime/native/conditions/container-query.d.ts.map +1 -1
  325. package/dist/typescript/module/src/runtime/native/conditions/guards.d.ts +2 -2
  326. package/dist/typescript/module/src/runtime/native/conditions/guards.d.ts.map +1 -1
  327. package/dist/typescript/module/src/runtime/native/conditions/index.d.ts +2 -2
  328. package/dist/typescript/module/src/runtime/native/conditions/index.d.ts.map +1 -1
  329. package/dist/typescript/module/src/runtime/native/conditions/media-query.d.ts +2 -2
  330. package/dist/typescript/module/src/runtime/native/conditions/media-query.d.ts.map +1 -1
  331. package/dist/typescript/module/src/runtime/native/injection.d.ts.map +1 -1
  332. package/dist/typescript/module/src/runtime/native/react/interaction.d.ts +2 -2
  333. package/dist/typescript/module/src/runtime/native/react/interaction.d.ts.map +1 -1
  334. package/dist/typescript/module/src/runtime/native/react/rules.d.ts +2 -2
  335. package/dist/typescript/module/src/runtime/native/react/rules.d.ts.map +1 -1
  336. package/dist/typescript/module/src/runtime/native/react/useNativeCss.d.ts +2 -1
  337. package/dist/typescript/module/src/runtime/native/react/useNativeCss.d.ts.map +1 -1
  338. package/dist/typescript/module/src/runtime/native/reactivity.d.ts +2 -10
  339. package/dist/typescript/module/src/runtime/native/reactivity.d.ts.map +1 -1
  340. package/dist/typescript/module/src/runtime/native/reanimated.d.ts +5 -0
  341. package/dist/typescript/module/src/runtime/native/reanimated.d.ts.map +1 -0
  342. package/dist/typescript/module/src/runtime/native/root.d.ts +11 -0
  343. package/dist/typescript/module/src/runtime/native/root.d.ts.map +1 -0
  344. package/dist/typescript/module/src/runtime/native/styles/calculate-props.d.ts.map +1 -1
  345. package/dist/typescript/module/src/runtime/native/styles/defaults.d.ts.map +1 -1
  346. package/dist/typescript/module/src/runtime/native/styles/functions/animation-timing.d.ts +4 -0
  347. package/dist/typescript/module/src/runtime/native/styles/functions/animation-timing.d.ts.map +1 -0
  348. package/dist/typescript/module/src/runtime/native/styles/functions/calc.d.ts +3 -0
  349. package/dist/typescript/module/src/runtime/native/styles/functions/calc.d.ts.map +1 -0
  350. package/dist/typescript/module/src/runtime/native/styles/{filters.d.ts → functions/filters.d.ts} +1 -1
  351. package/dist/typescript/module/src/runtime/native/styles/functions/filters.d.ts.map +1 -0
  352. package/dist/typescript/module/src/runtime/native/styles/functions/index.d.ts +6 -0
  353. package/dist/typescript/module/src/runtime/native/styles/functions/index.d.ts.map +1 -0
  354. package/dist/typescript/module/src/runtime/native/styles/{platform-functions.d.ts → functions/platform-functions.d.ts} +2 -2
  355. package/dist/typescript/module/src/runtime/native/styles/functions/platform-functions.d.ts.map +1 -0
  356. package/dist/typescript/module/src/runtime/native/styles/functions/transform-functions.d.ts +5 -0
  357. package/dist/typescript/module/src/runtime/native/styles/functions/transform-functions.d.ts.map +1 -0
  358. package/dist/typescript/module/src/runtime/native/styles/resolve.d.ts.map +1 -1
  359. package/dist/typescript/module/src/runtime/native/styles/{shorthand.d.ts → shorthands/_handler.d.ts} +2 -2
  360. package/dist/typescript/module/src/runtime/native/styles/shorthands/_handler.d.ts.map +1 -0
  361. package/dist/typescript/module/src/runtime/native/styles/shorthands/animation.d.ts +4 -0
  362. package/dist/typescript/module/src/runtime/native/styles/shorthands/animation.d.ts.map +1 -0
  363. package/dist/typescript/module/src/runtime/native/styles/shorthands/border.d.ts +2 -0
  364. package/dist/typescript/module/src/runtime/native/styles/shorthands/border.d.ts.map +1 -0
  365. package/dist/typescript/module/src/runtime/native/styles/shorthands/box-shadow.d.ts +3 -0
  366. package/dist/typescript/module/src/runtime/native/styles/shorthands/box-shadow.d.ts.map +1 -0
  367. package/dist/typescript/module/src/runtime/native/styles/shorthands/index.d.ts +6 -0
  368. package/dist/typescript/module/src/runtime/native/styles/shorthands/index.d.ts.map +1 -0
  369. package/dist/typescript/module/src/runtime/native/styles/shorthands/text-shadow.d.ts +2 -0
  370. package/dist/typescript/module/src/runtime/native/styles/shorthands/text-shadow.d.ts.map +1 -0
  371. package/dist/typescript/module/src/runtime/native/styles/{transform.d.ts → shorthands/transform.d.ts} +1 -1
  372. package/dist/typescript/module/src/runtime/native/styles/shorthands/transform.d.ts.map +1 -0
  373. package/dist/typescript/module/src/runtime/native/styles/units.d.ts.map +1 -1
  374. package/dist/typescript/module/src/runtime/native/styles/variables.d.ts.map +1 -1
  375. package/dist/typescript/module/src/runtime/utils/objects.d.ts.map +1 -1
  376. package/dist/typescript/module/src/runtime/utils/specificity.d.ts +1 -0
  377. package/dist/typescript/module/src/runtime/utils/specificity.d.ts.map +1 -1
  378. package/package.json +28 -4
  379. package/src/compiler/atRules.ts +17 -3
  380. package/src/compiler/attributes.test.ts +1 -1
  381. package/src/compiler/compiler.ts +63 -33
  382. package/src/compiler/compiler.types.ts +8 -8
  383. package/src/compiler/declarations.ts +374 -127
  384. package/src/compiler/inheritance.test.ts +6 -6
  385. package/src/compiler/keyframes.ts +1 -1
  386. package/src/compiler/selector-builder.ts +531 -0
  387. package/src/compiler/selectors.ts +20 -6
  388. package/src/compiler/stylesheet.ts +179 -42
  389. package/src/components/ActivityIndicator.tsx +27 -0
  390. package/src/components/Button.tsx +22 -0
  391. package/src/components/FlatList.tsx +21 -0
  392. package/src/components/Image.tsx +17 -0
  393. package/src/components/TextInput.tsx +17 -0
  394. package/src/components/index.tsx +5 -0
  395. package/src/jest/index.ts +45 -13
  396. package/src/metro/index.ts +12 -6
  397. package/src/poison.pill.ts +5 -1
  398. package/src/runtime/native/conditions/attributes.ts +52 -0
  399. package/src/runtime/native/conditions/container-query.ts +27 -22
  400. package/src/runtime/native/conditions/guards.ts +1 -2
  401. package/src/runtime/native/conditions/index.ts +12 -66
  402. package/src/runtime/native/conditions/media-query.ts +20 -20
  403. package/src/runtime/native/injection.ts +32 -31
  404. package/src/runtime/native/react/interaction.ts +12 -12
  405. package/src/runtime/native/react/rules.ts +23 -14
  406. package/src/runtime/native/react/useNativeCss.ts +4 -1
  407. package/src/runtime/native/reactivity.ts +2 -21
  408. package/src/runtime/native/reanimated.ts +22 -0
  409. package/src/runtime/native/root.ts +31 -0
  410. package/src/runtime/native/styles/calculate-props.ts +61 -50
  411. package/src/runtime/native/styles/defaults.ts +1 -0
  412. package/src/runtime/native/styles/functions/animation-timing.ts +44 -0
  413. package/src/runtime/native/styles/{calc.ts → functions/calc.ts} +2 -2
  414. package/src/runtime/native/styles/{filters.ts → functions/filters.ts} +3 -3
  415. package/src/runtime/native/styles/functions/index.ts +5 -0
  416. package/src/runtime/native/styles/{platform-functions.ts → functions/platform-functions.ts} +2 -2
  417. package/src/runtime/native/styles/functions/transform-functions.ts +51 -0
  418. package/src/runtime/native/styles/index.ts +12 -12
  419. package/src/runtime/native/styles/resolve.ts +20 -63
  420. package/src/runtime/native/styles/{shorthand.ts → shorthands/_handler.ts} +5 -5
  421. package/src/runtime/native/styles/{animation.ts → shorthands/animation.ts} +4 -63
  422. package/src/runtime/native/styles/{border.ts → shorthands/border.ts} +1 -1
  423. package/src/runtime/native/styles/{box-shadow.ts → shorthands/box-shadow.ts} +3 -3
  424. package/src/runtime/native/styles/shorthands/index.ts +5 -0
  425. package/src/runtime/native/styles/{text-shadow.ts → shorthands/text-shadow.ts} +1 -1
  426. package/src/runtime/native/styles/{transform.ts → shorthands/transform.ts} +1 -1
  427. package/src/runtime/native/styles/units.ts +8 -4
  428. package/src/runtime/native/styles/variables.ts +2 -6
  429. package/src/runtime/utils/objects.ts +14 -4
  430. package/src/runtime/utils/specificity.ts +1 -0
  431. package/types.d.ts +70 -0
  432. package/dist/commonjs/runtime/native/styles/animation.js.map +0 -1
  433. package/dist/commonjs/runtime/native/styles/border.js.map +0 -1
  434. package/dist/commonjs/runtime/native/styles/box-shadow.js.map +0 -1
  435. package/dist/commonjs/runtime/native/styles/calc.js.map +0 -1
  436. package/dist/commonjs/runtime/native/styles/filters.js.map +0 -1
  437. package/dist/commonjs/runtime/native/styles/platform-functions.js.map +0 -1
  438. package/dist/commonjs/runtime/native/styles/shorthand.js.map +0 -1
  439. package/dist/commonjs/runtime/native/styles/text-shadow.js.map +0 -1
  440. package/dist/commonjs/runtime/native/styles/transform.js.map +0 -1
  441. package/dist/module/runtime/native/styles/animation.js.map +0 -1
  442. package/dist/module/runtime/native/styles/border.js.map +0 -1
  443. package/dist/module/runtime/native/styles/box-shadow.js.map +0 -1
  444. package/dist/module/runtime/native/styles/calc.js.map +0 -1
  445. package/dist/module/runtime/native/styles/filters.js.map +0 -1
  446. package/dist/module/runtime/native/styles/platform-functions.js.map +0 -1
  447. package/dist/module/runtime/native/styles/shorthand.js.map +0 -1
  448. package/dist/module/runtime/native/styles/text-shadow.js.map +0 -1
  449. package/dist/module/runtime/native/styles/transform.js.map +0 -1
  450. package/dist/typescript/commonjs/src/runtime/native/styles/animation.d.ts +0 -9
  451. package/dist/typescript/commonjs/src/runtime/native/styles/animation.d.ts.map +0 -1
  452. package/dist/typescript/commonjs/src/runtime/native/styles/border.d.ts +0 -2
  453. package/dist/typescript/commonjs/src/runtime/native/styles/border.d.ts.map +0 -1
  454. package/dist/typescript/commonjs/src/runtime/native/styles/box-shadow.d.ts +0 -3
  455. package/dist/typescript/commonjs/src/runtime/native/styles/box-shadow.d.ts.map +0 -1
  456. package/dist/typescript/commonjs/src/runtime/native/styles/calc.d.ts +0 -3
  457. package/dist/typescript/commonjs/src/runtime/native/styles/calc.d.ts.map +0 -1
  458. package/dist/typescript/commonjs/src/runtime/native/styles/filters.d.ts.map +0 -1
  459. package/dist/typescript/commonjs/src/runtime/native/styles/platform-functions.d.ts.map +0 -1
  460. package/dist/typescript/commonjs/src/runtime/native/styles/shorthand.d.ts.map +0 -1
  461. package/dist/typescript/commonjs/src/runtime/native/styles/text-shadow.d.ts +0 -2
  462. package/dist/typescript/commonjs/src/runtime/native/styles/text-shadow.d.ts.map +0 -1
  463. package/dist/typescript/commonjs/src/runtime/native/styles/transform.d.ts.map +0 -1
  464. package/dist/typescript/module/src/runtime/native/styles/animation.d.ts +0 -9
  465. package/dist/typescript/module/src/runtime/native/styles/animation.d.ts.map +0 -1
  466. package/dist/typescript/module/src/runtime/native/styles/border.d.ts +0 -2
  467. package/dist/typescript/module/src/runtime/native/styles/border.d.ts.map +0 -1
  468. package/dist/typescript/module/src/runtime/native/styles/box-shadow.d.ts +0 -3
  469. package/dist/typescript/module/src/runtime/native/styles/box-shadow.d.ts.map +0 -1
  470. package/dist/typescript/module/src/runtime/native/styles/calc.d.ts +0 -3
  471. package/dist/typescript/module/src/runtime/native/styles/calc.d.ts.map +0 -1
  472. package/dist/typescript/module/src/runtime/native/styles/filters.d.ts.map +0 -1
  473. package/dist/typescript/module/src/runtime/native/styles/platform-functions.d.ts.map +0 -1
  474. package/dist/typescript/module/src/runtime/native/styles/shorthand.d.ts.map +0 -1
  475. package/dist/typescript/module/src/runtime/native/styles/text-shadow.d.ts +0 -2
  476. package/dist/typescript/module/src/runtime/native/styles/text-shadow.d.ts.map +0 -1
  477. package/dist/typescript/module/src/runtime/native/styles/transform.d.ts.map +0 -1
  478. /package/dist/commonjs/runtime/native/styles/{transform.js → shorthands/transform.js} +0 -0
  479. /package/dist/module/runtime/native/styles/{transform.js → shorthands/transform.js} +0 -0
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  import { isStyleDescriptorArray, Specificity, specificityCompareFn } from "../runtime/utils/index.js";
4
- import { toRNProperty } from "./selectors.js";
4
+ import { getClassNameSelectors, toRNProperty } from "./selector-builder.js";
5
5
  const staticDeclarations = new WeakMap();
6
6
  const extraRules = new WeakMap();
7
+ const keywords = new Set(["unset"]);
7
8
  export class StylesheetBuilder {
8
9
  animationDeclarations = [];
9
10
  stylesheet = {};
@@ -13,30 +14,43 @@ export class StylesheetBuilder {
13
14
  };
14
15
  constructor(options, mode = "style", ruleTemplate = {
15
16
  s: []
16
- }, mapping = {}, descriptorProperty, shared = {
17
+ },
18
+ // Any default mapping should be included in the @prop parsing
19
+ mapping = {}, descriptorProperty, shared = {
17
20
  ruleSets: {},
18
21
  rem: 14,
19
- ruleOrder: 0
20
- }) {
22
+ ruleOrder: 0,
23
+ warningProperties: [],
24
+ warningValues: {},
25
+ warningFunctions: []
26
+ }, selectors = []) {
21
27
  this.options = options;
22
28
  this.mode = mode;
23
29
  this.ruleTemplate = ruleTemplate;
24
30
  this.mapping = mapping;
25
31
  this.descriptorProperty = descriptorProperty;
26
32
  this.shared = shared;
33
+ this.selectors = selectors;
27
34
  }
28
- fork(mode = this.mode, rule) {
35
+ fork(mode = this.mode, selectors = []) {
29
36
  this.shared.ruleOrder++;
30
- return new StylesheetBuilder(this.options, mode, this.cloneRule(rule ? {
31
- ...this.rule,
32
- ...rule
33
- } : undefined), {
37
+
38
+ /**
39
+ * If we already have selectors and we are added more
40
+ * Then these must be nested selectors.
41
+ *
42
+ * We need to extrapolate out the selectors to their full values
43
+ */
44
+ selectors = this.selectors.length && selectors.length ? this.selectors.flatMap(selectorA => {
45
+ return selectors.map(selectorB => [...selectorA, ...selectorB]);
46
+ }) : [...this.selectors, ...selectors];
47
+ return new StylesheetBuilder(this.options, mode, this.cloneRule(), {
34
48
  ...this.mapping
35
- }, this.descriptorProperty, this.shared);
49
+ }, this.descriptorProperty, this.shared, selectors);
36
50
  }
37
51
  cloneRule({
38
52
  ...rule
39
- } = this.rule) {
53
+ } = this.ruleTemplate) {
40
54
  rule.s = [...rule.s];
41
55
  rule.aq &&= [...rule.aq];
42
56
  rule.c &&= [...rule.c];
@@ -79,10 +93,14 @@ export class StylesheetBuilder {
79
93
  stylesheetOptions.s = ruleSets;
80
94
  }
81
95
  if (this.shared.rootVariables) {
82
- stylesheetOptions.vr = Object.entries(this.shared.rootVariables);
96
+ stylesheetOptions.vr = Object.entries(this.shared.rootVariables).map(
97
+ // Reverse these so the most specific variables are first
98
+ ([key, value]) => [key, value.reverse()]);
83
99
  }
84
100
  if (this.shared.universalVariables) {
85
- stylesheetOptions.vu = Object.entries(this.shared.universalVariables);
101
+ stylesheetOptions.vu = Object.entries(this.shared.universalVariables).map(
102
+ // Reverse these so the most specific variables are first
103
+ ([key, value]) => [key, value.reverse()]);
86
104
  }
87
105
  if (this.shared.animations) {
88
106
  stylesheetOptions.k = Object.entries(this.shared.animations);
@@ -96,8 +114,49 @@ export class StylesheetBuilder {
96
114
  }
97
115
  return Object.entries(this.shared.ruleSets).map(([key, value]) => [key, value.sort((a, b) => specificityCompareFn(a, b))]);
98
116
  }
99
- addWarning(_type, _property) {
100
- // TODO
117
+ setWarningProperty(property) {
118
+ this.shared.warningProperty = property;
119
+ }
120
+ addWarning(type, property, value) {
121
+ switch (type) {
122
+ case "property":
123
+ this.shared.warningProperties.push(property);
124
+ break;
125
+ case "value":
126
+ {
127
+ value = property;
128
+ property = this.shared.warningProperty ?? "";
129
+ if (!property) {
130
+ return;
131
+ }
132
+ this.shared.warningValues[property] ??= [];
133
+ this.shared.warningValues[property]?.push(value);
134
+ break;
135
+ }
136
+ case "style":
137
+ this.shared.warningValues[property] ??= [];
138
+ this.shared.warningValues[property]?.push(value);
139
+ break;
140
+ }
141
+ }
142
+ getWarnings() {
143
+ const result = {};
144
+ if (this.shared.warningProperties.length) {
145
+ result.properties = this.shared.warningProperties;
146
+ }
147
+ if (Object.keys(this.shared.warningValues).length) {
148
+ result.values = this.shared.warningValues;
149
+ }
150
+ if (this.shared.warningFunctions.length) {
151
+ result.functions = this.shared.warningFunctions;
152
+ }
153
+ return result;
154
+ }
155
+ addMapping(mapping) {
156
+ this.mapping = {
157
+ ...this.mapping,
158
+ ...mapping
159
+ };
101
160
  }
102
161
  newRule(mapping = this.mapping, {
103
162
  important = false
@@ -109,6 +168,17 @@ export class StylesheetBuilder {
109
168
  this.rule.s[Specificity.Important] = 1;
110
169
  }
111
170
  }
171
+
172
+ /** Used by nested declarations (for example @media inside a RuleSet) */
173
+ newNestedRule({
174
+ important = false
175
+ } = {}) {
176
+ this.newRule(this.mapping, {
177
+ important
178
+ });
179
+ }
180
+
181
+ /** Hack for light-dark, which requires adding a new rule without changing the current rule */
112
182
  addExtraRule(rule) {
113
183
  let extraRuleArray = extraRules.get(this.rule);
114
184
  if (!extraRuleArray) {
@@ -125,8 +195,8 @@ export class StylesheetBuilder {
125
195
  }
126
196
  }
127
197
  addMediaQuery(condition) {
128
- this.rule.m ??= [];
129
- this.rule.m.push(condition);
198
+ this.ruleTemplate.m ??= [];
199
+ this.ruleTemplate.m.push(condition);
130
200
  }
131
201
  addContainer(value) {
132
202
  this.rule.c ??= [];
@@ -159,7 +229,7 @@ export class StylesheetBuilder {
159
229
  } else if (isStyleFunction(value)) {
160
230
  const [delayed, usesVariables] = postProcessStyleFunction(value);
161
231
  rule.d ??= [];
162
- if (value[1] === "@animation") {
232
+ if (value[1].startsWith("animation") || value[1].startsWith("transition")) {
163
233
  rule.a ??= true;
164
234
  }
165
235
  if (usesVariables) {
@@ -183,32 +253,35 @@ export class StylesheetBuilder {
183
253
  }
184
254
  }
185
255
  }
186
- pushDescriptor(property, value, declarations, forceTuple = false, delayed = false) {
187
- property = toRNProperty(property);
188
- let propPath = this.mapping[property] ?? this.mapping["*"] ?? property;
256
+ pushDescriptor(rawProperty, value, declarations, forceTuple = false, delayed = false) {
257
+ const property = toRNProperty(rawProperty);
258
+ let propPath = this.mapping[rawProperty] ?? this.mapping[property] ?? this.mapping["*"];
189
259
  if (Array.isArray(propPath)) {
190
- const first = propPath[0];
191
- if (!first) {
192
- // This should not happen, but if it does, we skip the property
193
- return;
194
- }
195
- if (propPath.length === 1) {
196
- propPath = first;
260
+ const [first, second] = propPath;
261
+ if (propPath.length === 2 && first === "*" && second) {
262
+ propPath = second;
197
263
  } else {
198
264
  forceTuple = true;
199
265
  }
266
+ } else if (propPath) {
267
+ forceTuple = true;
268
+ } else {
269
+ propPath = property;
200
270
  }
201
- if (isStyleFunction(value)) {
271
+ if (forceTuple && !Array.isArray(propPath)) {
272
+ propPath = [propPath];
273
+ }
274
+ if (isStyleFunction(value) || Array.isArray(propPath)) {
202
275
  if (delayed) {
203
276
  declarations.push([value, propPath, 1]);
204
277
  } else {
205
278
  declarations.push([value, propPath]);
206
279
  }
207
- } else if (forceTuple || Array.isArray(propPath)) {
208
- declarations.push([value, propPath]);
209
280
  } else if (Array.isArray(value) && value.some(isStyleFunction)) {
210
281
  declarations.push([value, propPath]);
211
- } else {
282
+ } else if (typeof value === "string" && keywords.has(value)) {
283
+ declarations.push([value, propPath]);
284
+ } else if (typeof propPath === "string") {
212
285
  let staticDeclarationRecord = staticDeclarations.get(declarations);
213
286
  if (!staticDeclarationRecord) {
214
287
  staticDeclarationRecord = {};
@@ -218,12 +291,18 @@ export class StylesheetBuilder {
218
291
  staticDeclarationRecord[propPath] = value;
219
292
  }
220
293
  }
221
- applyRuleToSelectors(selectorList) {
222
- if (!this.rule.d && !this.rule.v) {
294
+ applyRuleToSelectors(selectorList = this.selectors) {
295
+ if (!selectorList.length) {
296
+ // If there are no selectors, we cannot apply the rule
297
+ return;
298
+ }
299
+ if (!this.rule.d && !this.rule.v && !this.rule.c) {
223
300
  return;
224
301
  }
225
- for (const selector of selectorList) {
226
- const rule = this.cloneRule();
302
+ const normalizedSelectors = getClassNameSelectors(selectorList, this.options);
303
+ for (const selector of normalizedSelectors) {
304
+ // We are going to be apply the current rule to n selectors, so we clone the rule
305
+ const rule = this.cloneRule(this.rule);
227
306
  if (selector.type === "className") {
228
307
  const {
229
308
  specificity,
@@ -233,6 +312,9 @@ export class StylesheetBuilder {
233
312
  pseudoClassesQuery,
234
313
  attributeQuery
235
314
  } = selector;
315
+ if (!className) {
316
+ continue; // No className, nothing to do
317
+ }
236
318
 
237
319
  // Combine the specificity of the selector with the rule's specificity
238
320
  for (let i = 0; i < specificity.length; i++) {
@@ -252,14 +334,21 @@ export class StylesheetBuilder {
252
334
  if (typeof name !== "string") {
253
335
  continue;
254
336
  }
337
+ const [first, ...rest] = name.split(".");
338
+ if (typeof first !== "string") {
339
+ continue;
340
+ }
255
341
  const containerRule = {
256
342
  // These are not "real" rules, so they use the lowest specificity
257
343
  s: [0],
258
344
  c: [name]
259
345
  };
346
+ if (rest.length) {
347
+ containerRule.aq = rest.map(attr => ["a", "className", "*=", attr]);
348
+ }
260
349
 
261
350
  // Create rules for the parent classes
262
- this.addRuleToRuleSet(name, containerRule);
351
+ this.addRuleToRuleSet(first, containerRule);
263
352
  }
264
353
  }
265
354
  if (pseudoClassesQuery) {
@@ -285,20 +374,22 @@ export class StylesheetBuilder {
285
374
  continue;
286
375
  }
287
376
  const {
288
- type,
289
- subtype
377
+ type
290
378
  } = selector;
291
379
  for (const [name, value] of this.rule.v) {
292
380
  this.shared[type] ??= {};
293
- this.shared[type][name] ??= [undefined];
294
- this.shared[type][name][subtype === "light" ? 0 : 1] = value;
381
+ this.shared[type][name] ??= [];
382
+ const mediaQueries = this.rule.m;
383
+ const variableValue = mediaQueries ? [value, [...mediaQueries]] : [value];
384
+ // Append extra media queries if they exist
385
+ this.shared[type][name].push(variableValue);
295
386
  }
296
387
  }
297
388
  }
298
389
  }
299
390
  addContainerQuery(query) {
300
- this.rule.cq ??= [];
301
- this.rule.cq.push(query);
391
+ this.ruleTemplate.cq ??= [];
392
+ this.ruleTemplate.cq.push(query);
302
393
  }
303
394
  newAnimationFrames(name) {
304
395
  this.shared.animations ??= {};
@@ -335,7 +426,7 @@ function postProcessStyleFunction(value) {
335
426
  }
336
427
  let [shouldDelay, usesVariables] = postProcessStyleFunction(value[2]);
337
428
  usesVariables ||= value[1] === "var";
338
- shouldDelay ||= value[3] === 1;
429
+ shouldDelay ||= value[3] === 1 || usesVariables;
339
430
  if (shouldDelay) {
340
431
  return [true, usesVariables];
341
432
  }
@@ -1 +1 @@
1
- {"version":3,"names":["isStyleDescriptorArray","Specificity","specificityCompareFn","toRNProperty","staticDeclarations","WeakMap","extraRules","StylesheetBuilder","animationDeclarations","stylesheet","varUsage","Set","rule","s","constructor","options","mode","ruleTemplate","mapping","descriptorProperty","shared","ruleSets","rem","ruleOrder","fork","cloneRule","undefined","aq","c","cq","d","m","p","v","createRuleFromPartial","partial","push","extendRule","getOptions","setOptions","key","value","getNativeStyleSheet","stylesheetOptions","getRuleSets","rootVariables","vr","Object","entries","universalVariables","vu","animations","k","length","map","sort","a","b","addWarning","_type","_property","newRule","important","Order","Important","addExtraRule","extraRuleArray","get","set","addRuleToRuleSet","name","addMediaQuery","condition","addContainer","addUnnamedDescriptor","forceTuple","addDescriptor","property","pushDescriptor","startsWith","stripUnusedVariables","has","slice","isStyleFunction","delayed","usesVariables","postProcessStyleFunction","dv","addShorthand","allEqual","values","declarations","propPath","Array","isArray","first","some","staticDeclarationRecord","applyRuleToSelectors","selectorList","selector","type","specificity","className","mediaQuery","containerQuery","pseudoClassesQuery","attributeQuery","i","spec","query","n","containerRule","extraRulesArray","extraRule","subtype","addContainerQuery","newAnimationFrames","animationFrames","newAnimationFrame","progress","Error","Boolean","keys","shouldDelay","variables","params","every","param","index","array","equal"],"sourceRoot":"../../../src","sources":["compiler/stylesheet.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isStyleDescriptorArray","Specificity","specificityCompareFn","getClassNameSelectors","toRNProperty","staticDeclarations","WeakMap","extraRules","keywords","Set","StylesheetBuilder","animationDeclarations","stylesheet","varUsage","rule","s","constructor","options","mode","ruleTemplate","mapping","descriptorProperty","shared","ruleSets","rem","ruleOrder","warningProperties","warningValues","warningFunctions","selectors","fork","length","flatMap","selectorA","map","selectorB","cloneRule","aq","c","cq","d","m","p","v","createRuleFromPartial","partial","push","extendRule","getOptions","setOptions","key","value","getNativeStyleSheet","stylesheetOptions","getRuleSets","rootVariables","vr","Object","entries","reverse","universalVariables","vu","animations","k","sort","a","b","setWarningProperty","property","warningProperty","addWarning","type","getWarnings","result","properties","keys","values","functions","addMapping","newRule","important","Order","Important","newNestedRule","addExtraRule","extraRuleArray","get","set","addRuleToRuleSet","name","addMediaQuery","condition","addContainer","addUnnamedDescriptor","forceTuple","undefined","addDescriptor","pushDescriptor","startsWith","stripUnusedVariables","has","slice","isStyleFunction","delayed","usesVariables","postProcessStyleFunction","dv","addShorthand","allEqual","rawProperty","declarations","propPath","Array","isArray","first","second","some","staticDeclarationRecord","applyRuleToSelectors","selectorList","normalizedSelectors","selector","specificity","className","mediaQuery","containerQuery","pseudoClassesQuery","attributeQuery","i","spec","query","n","rest","split","containerRule","attr","extraRulesArray","extraRule","mediaQueries","variableValue","addContainerQuery","newAnimationFrames","animationFrames","newAnimationFrame","progress","Error","Boolean","shouldDelay","variables","params","every","param","index","array","equal"],"sourceRoot":"../../../src","sources":["compiler/stylesheet.ts"],"mappings":";;AAEA,SACEA,sBAAsB,EACtBC,WAAW,EACXC,oBAAoB,QACf,2BAAkB;AAiBzB,SAASC,qBAAqB,EAAEC,YAAY,QAAQ,uBAAoB;AAIxE,MAAMC,kBAAkB,GAAG,IAAIC,OAAO,CAGpC,CAAC;AAEH,MAAMC,UAAU,GAAG,IAAID,OAAO,CAAkC,CAAC;AAEjE,MAAME,QAAQ,GAAG,IAAIC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;AAEnC,OAAO,MAAMC,iBAAiB,CAAC;EAE7BC,qBAAqB,GAAuB,EAAE;EAE9CC,UAAU,GAA6B,CAAC,CAAC;EAEzCC,QAAQ,GAAG,IAAIJ,GAAG,CAAS,CAAC;EAEpBK,IAAI,GAAc;IACxBC,CAAC,EAAE;EACL,CAAC;EAEDC,WAAWA,CACDC,OAAwB,EACzBC,IAAiB,GAAG,OAAO,EAC1BC,YAAuB,GAAG;IAChCJ,CAAC,EAAE;EACL,CAAC;EACD;EACQK,OAAyB,GAAG,CAAC,CAAC,EAC/BC,kBAA2B,EAC1BC,MAWP,GAAG;IACFC,QAAQ,EAAE,CAAC,CAAC;IACZC,GAAG,EAAE,EAAE;IACPC,SAAS,EAAE,CAAC;IACZC,iBAAiB,EAAE,EAAE;IACrBC,aAAa,EAAE,CAAC,CAAC;IACjBC,gBAAgB,EAAE;EACpB,CAAC,EACOC,SAAuB,GAAG,EAAE,EACpC;IAAA,KA5BQZ,OAAwB,GAAxBA,OAAwB;IAAA,KACzBC,IAAiB,GAAjBA,IAAiB;IAAA,KAChBC,YAAuB,GAAvBA,YAAuB;IAAA,KAIvBC,OAAyB,GAAzBA,OAAyB;IAAA,KAC1BC,kBAA2B,GAA3BA,kBAA2B;IAAA,KAC1BC,MAWP,GAXOA,MAWP;IAAA,KAQOO,SAAuB,GAAvBA,SAAuB;EAC9B;EAEHC,IAAIA,CAACZ,IAAI,GAAG,IAAI,CAACA,IAAI,EAAEW,SAAuB,GAAG,EAAE,EAAqB;IACtE,IAAI,CAACP,MAAM,CAACG,SAAS,EAAE;;IAEvB;AACJ;AACA;AACA;AACA;AACA;IACII,SAAS,GACP,IAAI,CAACA,SAAS,CAACE,MAAM,IAAIF,SAAS,CAACE,MAAM,GACrC,IAAI,CAACF,SAAS,CAACG,OAAO,CAAEC,SAAS,IAAK;MACpC,OAAOJ,SAAS,CAACK,GAAG,CAAEC,SAAS,IAAK,CAAC,GAAGF,SAAS,EAAE,GAAGE,SAAS,CAAC,CAAC;IACnE,CAAC,CAAC,GACF,CAAC,GAAG,IAAI,CAACN,SAAS,EAAE,GAAGA,SAAS,CAAC;IAEvC,OAAO,IAAInB,iBAAiB,CAC1B,IAAI,CAACO,OAAO,EACZC,IAAI,EACJ,IAAI,CAACkB,SAAS,CAAC,CAAC,EAChB;MAAE,GAAG,IAAI,CAAChB;IAAQ,CAAC,EACnB,IAAI,CAACC,kBAAkB,EACvB,IAAI,CAACC,MAAM,EACXO,SACF,CAAC;EACH;EAEAO,SAASA,CAAC;IAAE,GAAGtB;EAAK,CAAC,GAAG,IAAI,CAACK,YAAY,EAAa;IACpDL,IAAI,CAACC,CAAC,GAAG,CAAC,GAAGD,IAAI,CAACC,CAAC,CAAC;IACpBD,IAAI,CAACuB,EAAE,KAAK,CAAC,GAAGvB,IAAI,CAACuB,EAAE,CAAC;IACxBvB,IAAI,CAACwB,CAAC,KAAK,CAAC,GAAGxB,IAAI,CAACwB,CAAC,CAAC;IACtBxB,IAAI,CAACyB,EAAE,KAAK,CAAC,GAAGzB,IAAI,CAACyB,EAAE,CAAC;IACxBzB,IAAI,CAAC0B,CAAC,KAAK,CAAC,GAAG1B,IAAI,CAAC0B,CAAC,CAAC;IACtB1B,IAAI,CAAC2B,CAAC,KAAK,CAAC,GAAG3B,IAAI,CAAC2B,CAAC,CAAC;IACtB3B,IAAI,CAAC4B,CAAC,KAAK;MAAE,GAAG5B,IAAI,CAAC4B;IAAE,CAAC;IACxB5B,IAAI,CAAC6B,CAAC,KAAK,CAAC,GAAG7B,IAAI,CAAC6B,CAAC,CAAC;IAEtB,OAAO7B,IAAI;EACb;EAEQ8B,qBAAqBA,CAAC9B,IAAe,EAAE+B,OAA2B,EAAE;IAC1E/B,IAAI,GAAG,IAAI,CAACsB,SAAS,CAACtB,IAAI,CAAC;IAE3B,IAAI+B,OAAO,CAACJ,CAAC,EAAE;MACb3B,IAAI,CAAC2B,CAAC,KAAK,EAAE;MACb3B,IAAI,CAAC2B,CAAC,CAACK,IAAI,CAAC,GAAGD,OAAO,CAACJ,CAAC,CAAC;IAC3B;IAEA,IAAII,OAAO,CAACL,CAAC,EAAE;MACb1B,IAAI,CAAC0B,CAAC,GAAGK,OAAO,CAACL,CAAC;IACpB;IAEA,OAAO1B,IAAI;EACb;EAEAiC,UAAUA,CAACjC,IAAwB,EAAE;IACnC,OAAO,IAAI,CAACsB,SAAS,CAAC;MAAE,GAAG,IAAI,CAACtB,IAAI;MAAE,GAAGA;IAAK,CAAC,CAAC;EAClD;EAEAkC,UAAUA,CAAA,EAAoB;IAC5B,OAAO,IAAI,CAAC/B,OAAO;EACrB;EAEAgC,UAAUA,CACRC,GAAM,EACNC,KAAyB,EACzB;IACA,IAAI,CAAClC,OAAO,CAACiC,GAAG,CAAC,GAAGC,KAAK;EAC3B;EAEAC,mBAAmBA,CAAA,EAA6B;IAC9C,MAAMC,iBAA2C,GAAG,CAAC,CAAC;IAEtD,MAAM9B,QAAQ,GAAG,IAAI,CAAC+B,WAAW,CAAC,CAAC;IACnC,IAAI/B,QAAQ,EAAE;MACZ8B,iBAAiB,CAACtC,CAAC,GAAGQ,QAAQ;IAChC;IAEA,IAAI,IAAI,CAACD,MAAM,CAACiC,aAAa,EAAE;MAC7BF,iBAAiB,CAACG,EAAE,GAAGC,MAAM,CAACC,OAAO,CAAC,IAAI,CAACpC,MAAM,CAACiC,aAAa,CAAC,CAACrB,GAAG;MAClE;MACA,CAAC,CAACgB,GAAG,EAAEC,KAAK,CAAC,KAAK,CAACD,GAAG,EAAEC,KAAK,CAACQ,OAAO,CAAC,CAAC,CACzC,CAAC;IACH;IAEA,IAAI,IAAI,CAACrC,MAAM,CAACsC,kBAAkB,EAAE;MAClCP,iBAAiB,CAACQ,EAAE,GAAGJ,MAAM,CAACC,OAAO,CAAC,IAAI,CAACpC,MAAM,CAACsC,kBAAkB,CAAC,CAAC1B,GAAG;MACvE;MACA,CAAC,CAACgB,GAAG,EAAEC,KAAK,CAAC,KAAK,CAACD,GAAG,EAAEC,KAAK,CAACQ,OAAO,CAAC,CAAC,CACzC,CAAC;IACH;IAEA,IAAI,IAAI,CAACrC,MAAM,CAACwC,UAAU,EAAE;MAC1BT,iBAAiB,CAACU,CAAC,GAAGN,MAAM,CAACC,OAAO,CAAC,IAAI,CAACpC,MAAM,CAACwC,UAAU,CAAC;IAC9D;IAEA,OAAOT,iBAAiB;EAC1B;EAEAC,WAAWA,CAAA,EAAG;IACZ,MAAMI,OAAO,GAAGD,MAAM,CAACC,OAAO,CAAC,IAAI,CAACpC,MAAM,CAACC,QAAQ,CAAC;IAEpD,IAAI,CAACmC,OAAO,CAAC3B,MAAM,EAAE;MACnB;IACF;IAEA,OAAO0B,MAAM,CAACC,OAAO,CAAC,IAAI,CAACpC,MAAM,CAACC,QAAQ,CAAC,CAACW,GAAG,CAC7C,CAAC,CAACgB,GAAG,EAAEC,KAAK,CAAC,KACX,CAACD,GAAG,EAAEC,KAAK,CAACa,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKhE,oBAAoB,CAAC+D,CAAC,EAAEC,CAAC,CAAC,CAAC,CAC1D,CAAC;EACH;EAEAC,kBAAkBA,CAACC,QAAgB,EAAE;IACnC,IAAI,CAAC9C,MAAM,CAAC+C,eAAe,GAAGD,QAAQ;EACxC;EAIAE,UAAUA,CACRC,IAAoC,EACpCH,QAAgB,EAChBjB,KAAe,EACT;IACN,QAAQoB,IAAI;MACV,KAAK,UAAU;QACb,IAAI,CAACjD,MAAM,CAACI,iBAAiB,CAACoB,IAAI,CAACsB,QAAQ,CAAC;QAC5C;MACF,KAAK,OAAO;QAAE;UACZjB,KAAK,GAAGiB,QAAQ;UAChBA,QAAQ,GAAG,IAAI,CAAC9C,MAAM,CAAC+C,eAAe,IAAI,EAAE;UAE5C,IAAI,CAACD,QAAQ,EAAE;YACb;UACF;UAEA,IAAI,CAAC9C,MAAM,CAACK,aAAa,CAACyC,QAAQ,CAAC,KAAK,EAAE;UAC1C,IAAI,CAAC9C,MAAM,CAACK,aAAa,CAACyC,QAAQ,CAAC,EAAEtB,IAAI,CAACK,KAAK,CAAC;UAChD;QACF;MACA,KAAK,OAAO;QACV,IAAI,CAAC7B,MAAM,CAACK,aAAa,CAACyC,QAAQ,CAAC,KAAK,EAAE;QAC1C,IAAI,CAAC9C,MAAM,CAACK,aAAa,CAACyC,QAAQ,CAAC,EAAEtB,IAAI,CAACK,KAAK,CAAC;QAChD;IACJ;EACF;EAEAqB,WAAWA,CAAA,EAAG;IACZ,MAAMC,MAIL,GAAG,CAAC,CAAC;IAEN,IAAI,IAAI,CAACnD,MAAM,CAACI,iBAAiB,CAACK,MAAM,EAAE;MACxC0C,MAAM,CAACC,UAAU,GAAG,IAAI,CAACpD,MAAM,CAACI,iBAAiB;IACnD;IAEA,IAAI+B,MAAM,CAACkB,IAAI,CAAC,IAAI,CAACrD,MAAM,CAACK,aAAa,CAAC,CAACI,MAAM,EAAE;MACjD0C,MAAM,CAACG,MAAM,GAAG,IAAI,CAACtD,MAAM,CAACK,aAAa;IAC3C;IAEA,IAAI,IAAI,CAACL,MAAM,CAACM,gBAAgB,CAACG,MAAM,EAAE;MACvC0C,MAAM,CAACI,SAAS,GAAG,IAAI,CAACvD,MAAM,CAACM,gBAAgB;IACjD;IAEA,OAAO6C,MAAM;EACf;EAEAK,UAAUA,CAAC1D,OAAyB,EAAE;IACpC,IAAI,CAACA,OAAO,GAAG;MAAE,GAAG,IAAI,CAACA,OAAO;MAAE,GAAGA;IAAQ,CAAC;EAChD;EAEA2D,OAAOA,CAAC3D,OAAO,GAAG,IAAI,CAACA,OAAO,EAAE;IAAE4D,SAAS,GAAG;EAAM,CAAC,GAAG,CAAC,CAAC,EAAE;IAC1D,IAAI,CAAC5D,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACN,IAAI,GAAG,IAAI,CAACsB,SAAS,CAAC,IAAI,CAACjB,YAAY,CAAC;IAC7C,IAAI,CAACL,IAAI,CAACC,CAAC,CAACd,WAAW,CAACgF,KAAK,CAAC,GAAG,IAAI,CAAC3D,MAAM,CAACG,SAAS;IACtD,IAAIuD,SAAS,EAAE;MACb,IAAI,CAAClE,IAAI,CAACC,CAAC,CAACd,WAAW,CAACiF,SAAS,CAAC,GAAG,CAAC;IACxC;EACF;;EAEA;EACAC,aAAaA,CAAC;IAAEH,SAAS,GAAG;EAAM,CAAC,GAAG,CAAC,CAAC,EAAE;IACxC,IAAI,CAACD,OAAO,CAAC,IAAI,CAAC3D,OAAO,EAAE;MAAE4D;IAAU,CAAC,CAAC;EAC3C;;EAEA;EACAI,YAAYA,CAACtE,IAAwB,EAAE;IACrC,IAAIuE,cAAc,GAAG9E,UAAU,CAAC+E,GAAG,CAAC,IAAI,CAACxE,IAAI,CAAC;IAC9C,IAAI,CAACuE,cAAc,EAAE;MACnBA,cAAc,GAAG,EAAE;MACnB9E,UAAU,CAACgF,GAAG,CAAC,IAAI,CAACzE,IAAI,EAAEuE,cAAc,CAAC;IAC3C;IACAA,cAAc,CAACvC,IAAI,CAAChC,IAAI,CAAC;EAC3B;EAEQ0E,gBAAgBA,CAACC,IAAY,EAAE3E,IAAI,GAAG,IAAI,CAACA,IAAI,EAAE;IACvD,IAAI,IAAI,CAACQ,MAAM,CAACC,QAAQ,CAACkE,IAAI,CAAC,EAAE;MAC9B,IAAI,CAACnE,MAAM,CAACC,QAAQ,CAACkE,IAAI,CAAC,CAAC3C,IAAI,CAAChC,IAAI,CAAC;IACvC,CAAC,MAAM;MACL,IAAI,CAACQ,MAAM,CAACC,QAAQ,CAACkE,IAAI,CAAC,GAAG,CAAC3E,IAAI,CAAC;IACrC;EACF;EAEA4E,aAAaA,CAACC,SAAyB,EAAE;IACvC,IAAI,CAACxE,YAAY,CAACsB,CAAC,KAAK,EAAE;IAC1B,IAAI,CAACtB,YAAY,CAACsB,CAAC,CAACK,IAAI,CAAC6C,SAAS,CAAC;EACrC;EAEAC,YAAYA,CAACzC,KAAuB,EAAE;IACpC,IAAI,CAACrC,IAAI,CAACwB,CAAC,KAAK,EAAE;IAElB,IAAIa,KAAK,KAAK,KAAK,EAAE;MACnB,IAAI,CAACrC,IAAI,CAACwB,CAAC,GAAG,EAAE;IAClB,CAAC,MAAM;MACL,IAAI,CAACxB,IAAI,CAACwB,CAAC,CAACQ,IAAI,CAAC,GAAGK,KAAK,CAACjB,GAAG,CAAEuD,IAAI,IAAK,KAAKA,IAAI,EAAE,CAAC,CAAC;IACvD;EACF;EAEAI,oBAAoBA,CAClB1C,KAAsB,EACtB2C,UAAoB,EACpBhF,IAAI,GAAG,IAAI,CAACA,IAAI,EAChB;IACA,IAAI,IAAI,CAACO,kBAAkB,KAAK0E,SAAS,EAAE;MACzC;IACF;IAEA,IAAI,CAACC,aAAa,CAAC,IAAI,CAAC3E,kBAAkB,EAAE8B,KAAK,EAAE2C,UAAU,EAAEhF,IAAI,CAAC;EACtE;EAEAkF,aAAaA,CACX5B,QAAgB,EAChBjB,KAAsB,EACtB2C,UAAoB,EACpBhF,IAAI,GAAG,IAAI,CAACA,IAAI,EAChB;IACA,IAAIqC,KAAK,KAAK4C,SAAS,EAAE;MACvB;IACF;IAEA,IAAI,IAAI,CAAC7E,IAAI,KAAK,WAAW,EAAE;MAC7BkD,QAAQ,GAAGhE,YAAY,CAACgE,QAAQ,CAAC;MACjC,IAAI,CAAC6B,cAAc,CACjB7B,QAAQ,EACRjB,KAAK,EACL,IAAI,CAACxC,qBAAqB,EAC1BmF,UACF,CAAC;IACH,CAAC,MAAM,IAAI1B,QAAQ,CAAC8B,UAAU,CAAC,IAAI,CAAC,EAAE;MACpC;MACA,IACE,IAAI,CAACjF,OAAO,CAACkF,oBAAoB,IACjC,CAAC/B,QAAQ,CAAC8B,UAAU,CAAC,YAAY,CAAC,IAClC,CAAC,IAAI,CAACrF,QAAQ,CAACuF,GAAG,CAAChC,QAAQ,CAAC,EAC5B;QACA;MACF;MAEAtD,IAAI,CAAC6B,CAAC,KAAK,EAAE;MACb7B,IAAI,CAAC6B,CAAC,CAACG,IAAI,CAAC,CAACsB,QAAQ,CAACiC,KAAK,CAAC,CAAC,CAAC,EAAElD,KAAK,CAAC,CAAC;IACzC,CAAC,MAAM,IAAImD,eAAe,CAACnD,KAAK,CAAC,EAAE;MACjC,MAAM,CAACoD,OAAO,EAAEC,aAAa,CAAC,GAAGC,wBAAwB,CAACtD,KAAK,CAAC;MAEhErC,IAAI,CAAC0B,CAAC,KAAK,EAAE;MACb,IACEW,KAAK,CAAC,CAAC,CAAC,CAAC+C,UAAU,CAAC,WAAW,CAAC,IAChC/C,KAAK,CAAC,CAAC,CAAC,CAAC+C,UAAU,CAAC,YAAY,CAAC,EACjC;QACApF,IAAI,CAACmD,CAAC,KAAK,IAAI;MACjB;MAEA,IAAIuC,aAAa,EAAE;QACjB1F,IAAI,CAAC4F,EAAE,GAAG,CAAC;MACb;MAEA,IAAI,CAACT,cAAc,CACjB7B,QAAQ,EACRjB,KAAK,EACLrC,IAAI,CAAC0B,CAAC,EACNsD,UAAU,EACVS,OAAO,IAAIC,aACb,CAAC;IACH,CAAC,MAAM;MACL,IACEpC,QAAQ,CAAC8B,UAAU,CAAC,YAAY,CAAC,IACjC9B,QAAQ,CAAC8B,UAAU,CAAC,aAAa,CAAC,IAClC9B,QAAQ,KAAK,YAAY,EACzB;QACAtD,IAAI,CAACmD,CAAC,KAAK,IAAI;MACjB;MAEAnD,IAAI,CAAC0B,CAAC,KAAK,EAAE;MACb,IAAI,CAACyD,cAAc,CAAC7B,QAAQ,EAAEjB,KAAK,EAAErC,IAAI,CAAC0B,CAAC,CAAC;IAC9C;EACF;EAEAmE,YAAYA,CAACvC,QAAgB,EAAEnD,OAAwC,EAAE;IACvE,IAAI2F,QAAQ,CAAC,GAAGnD,MAAM,CAACmB,MAAM,CAAC3D,OAAO,CAAC,CAAC,EAAE;MACvC,IAAI,CAAC+E,aAAa,CAAC5B,QAAQ,EAAEX,MAAM,CAACmB,MAAM,CAAC3D,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC,MAAM;MACL,KAAK,MAAM,CAACwE,IAAI,EAAEtC,KAAK,CAAC,IAAIM,MAAM,CAACC,OAAO,CAACzC,OAAO,CAAC,EAAE;QACnD,IAAI,CAAC+E,aAAa,CAACP,IAAI,EAAEtC,KAAK,CAAC;MACjC;IACF;EACF;EAEQ8C,cAAcA,CACpBY,WAAmB,EACnB1D,KAAsB,EACtB2D,YAAgC,EAChChB,UAAU,GAAG,KAAK,EAClBS,OAAO,GAAG,KAAK,EACf;IACA,MAAMnC,QAAQ,GAAGhE,YAAY,CAACyG,WAAW,CAAC;IAE1C,IAAIE,QAAuC,GACzC,IAAI,CAAC3F,OAAO,CAACyF,WAAW,CAAC,IAAI,IAAI,CAACzF,OAAO,CAACgD,QAAQ,CAAC,IAAI,IAAI,CAAChD,OAAO,CAAC,GAAG,CAAC;IAE1E,IAAI4F,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE;MAC3B,MAAM,CAACG,KAAK,EAAEC,MAAM,CAAC,GAAGJ,QAAQ;MAEhC,IAAIA,QAAQ,CAAChF,MAAM,KAAK,CAAC,IAAImF,KAAK,KAAK,GAAG,IAAIC,MAAM,EAAE;QACpDJ,QAAQ,GAAGI,MAAM;MACnB,CAAC,MAAM;QACLrB,UAAU,GAAG,IAAI;MACnB;IACF,CAAC,MAAM,IAAIiB,QAAQ,EAAE;MACnBjB,UAAU,GAAG,IAAI;IACnB,CAAC,MAAM;MACLiB,QAAQ,GAAG3C,QAAQ;IACrB;IAEA,IAAI0B,UAAU,IAAI,CAACkB,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE;MAC1CA,QAAQ,GAAG,CAACA,QAAQ,CAAC;IACvB;IAEA,IAAIT,eAAe,CAACnD,KAAK,CAAC,IAAI6D,KAAK,CAACC,OAAO,CAACF,QAAQ,CAAC,EAAE;MACrD,IAAIR,OAAO,EAAE;QACXO,YAAY,CAAChE,IAAI,CAAC,CAACK,KAAK,EAAE4D,QAAQ,EAAE,CAAC,CAAC,CAAC;MACzC,CAAC,MAAM;QACLD,YAAY,CAAChE,IAAI,CAAC,CAACK,KAAK,EAAE4D,QAAQ,CAAC,CAAC;MACtC;IACF,CAAC,MAAM,IAAIC,KAAK,CAACC,OAAO,CAAC9D,KAAK,CAAC,IAAIA,KAAK,CAACiE,IAAI,CAACd,eAAe,CAAC,EAAE;MAC9DQ,YAAY,CAAChE,IAAI,CAAC,CAACK,KAAK,EAAE4D,QAAQ,CAAC,CAAC;IACtC,CAAC,MAAM,IAAI,OAAO5D,KAAK,KAAK,QAAQ,IAAI3C,QAAQ,CAAC4F,GAAG,CAACjD,KAAK,CAAC,EAAE;MAC3D2D,YAAY,CAAChE,IAAI,CAAC,CAACK,KAAK,EAAE4D,QAAQ,CAAC,CAAC;IACtC,CAAC,MAAM,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;MACvC,IAAIM,uBAAuB,GAAGhH,kBAAkB,CAACiF,GAAG,CAACwB,YAAY,CAAC;MAClE,IAAI,CAACO,uBAAuB,EAAE;QAC5BA,uBAAuB,GAAG,CAAC,CAAC;QAC5BhH,kBAAkB,CAACkF,GAAG,CAACuB,YAAY,EAAEO,uBAAuB,CAAC;QAC7DP,YAAY,CAAChE,IAAI,CAACuE,uBAAuB,CAAC;MAC5C;MACAA,uBAAuB,CAACN,QAAQ,CAAC,GAAG5D,KAAK;IAC3C;EACF;EAEAmE,oBAAoBA,CAACC,YAAY,GAAG,IAAI,CAAC1F,SAAS,EAAQ;IACxD,IAAI,CAAC0F,YAAY,CAACxF,MAAM,EAAE;MACxB;MACA;IACF;IAEA,IAAI,CAAC,IAAI,CAACjB,IAAI,CAAC0B,CAAC,IAAI,CAAC,IAAI,CAAC1B,IAAI,CAAC6B,CAAC,IAAI,CAAC,IAAI,CAAC7B,IAAI,CAACwB,CAAC,EAAE;MAChD;IACF;IAEA,MAAMkF,mBAAmB,GAAGrH,qBAAqB,CAC/CoH,YAAY,EACZ,IAAI,CAACtG,OACP,CAAC;IAED,KAAK,MAAMwG,QAAQ,IAAID,mBAAmB,EAAE;MAC1C;MACA,MAAM1G,IAAI,GAAG,IAAI,CAACsB,SAAS,CAAC,IAAI,CAACtB,IAAI,CAAC;MAEtC,IAAI2G,QAAQ,CAAClD,IAAI,KAAK,WAAW,EAAE;QACjC,MAAM;UACJmD,WAAW;UACXC,SAAS;UACTC,UAAU;UACVC,cAAc;UACdC,kBAAkB;UAClBC;QACF,CAAC,GAAGN,QAAQ;QAEZ,IAAI,CAACE,SAAS,EAAE;UACd,SAAS,CAAC;QACZ;;QAEA;QACA,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,WAAW,CAAC3F,MAAM,EAAEiG,CAAC,EAAE,EAAE;UAC3C,MAAMC,IAAI,GAAGP,WAAW,CAACM,CAAC,CAAC;UAC3B,IAAI,CAACC,IAAI,EAAE;UACXnH,IAAI,CAACC,CAAC,CAACiH,CAAC,CAAC,GAAGC,IAAI,IAAInH,IAAI,CAACC,CAAC,CAACiH,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC;QAEA,IAAIJ,UAAU,EAAE;UACd9G,IAAI,CAAC2B,CAAC,KAAK,EAAE;UACb3B,IAAI,CAAC2B,CAAC,CAACK,IAAI,CAAC,GAAG8E,UAAU,CAAC;QAC5B;QAEA,IAAIC,cAAc,EAAE;UAClB/G,IAAI,CAACyB,EAAE,KAAK,EAAE;UACdzB,IAAI,CAACyB,EAAE,CAACO,IAAI,CAAC,GAAG+E,cAAc,CAAC;UAE/B,KAAK,MAAMK,KAAK,IAAIL,cAAc,EAAE;YAClC,MAAMpC,IAAI,GAAGyC,KAAK,CAACC,CAAC;YAEpB,IAAI,OAAO1C,IAAI,KAAK,QAAQ,EAAE;cAC5B;YACF;YAEA,MAAM,CAACyB,KAAK,EAAE,GAAGkB,IAAI,CAAC,GAAG3C,IAAI,CAAC4C,KAAK,CAAC,GAAG,CAAC;YAExC,IAAI,OAAOnB,KAAK,KAAK,QAAQ,EAAE;cAC7B;YACF;YAEA,MAAMoB,aAAwB,GAAG;cAC/B;cACAvH,CAAC,EAAE,CAAC,CAAC,CAAC;cACNuB,CAAC,EAAE,CAACmD,IAAI;YACV,CAAC;YAED,IAAI2C,IAAI,CAACrG,MAAM,EAAE;cACfuG,aAAa,CAACjG,EAAE,GAAG+F,IAAI,CAAClG,GAAG,CAAEqG,IAAI,IAAK,CACpC,GAAG,EACH,WAAW,EACX,IAAI,EACJA,IAAI,CACL,CAAC;YACJ;;YAEA;YACA,IAAI,CAAC/C,gBAAgB,CAAC0B,KAAK,EAAEoB,aAAa,CAAC;UAC7C;QACF;QAEA,IAAIR,kBAAkB,EAAE;UACtBhH,IAAI,CAAC4B,CAAC,GAAG;YAAE,GAAG5B,IAAI,CAAC4B,CAAC;YAAE,GAAGoF;UAAmB,CAAC;QAC/C;QAEA,IAAIC,cAAc,EAAE;UAClBjH,IAAI,CAACuB,EAAE,KAAK,EAAE;UACdvB,IAAI,CAACuB,EAAE,CAACS,IAAI,CAAC,GAAGiF,cAAc,CAAC;QACjC;QAEA,IAAI,CAACvC,gBAAgB,CAACmC,SAAS,EAAE7G,IAAI,CAAC;QAEtC,MAAM0H,eAAe,GAAGjI,UAAU,CAAC+E,GAAG,CAAC,IAAI,CAACxE,IAAI,CAAC;QACjD,IAAI0H,eAAe,EAAE;UACnB,KAAK,MAAMC,SAAS,IAAID,eAAe,EAAE;YACvC,IAAI,CAAChD,gBAAgB,CACnBmC,SAAS,EACT,IAAI,CAAC/E,qBAAqB,CAAC9B,IAAI,EAAE2H,SAAS,CAC5C,CAAC;UACH;QACF;MACF,CAAC,MAAM;QACL;QACA,IAAI,CAAC,IAAI,CAAC3H,IAAI,CAAC6B,CAAC,EAAE;UAChB;QACF;QACA,MAAM;UAAE4B;QAAK,CAAC,GAAGkD,QAAQ;QACzB,KAAK,MAAM,CAAChC,IAAI,EAAEtC,KAAK,CAAC,IAAI,IAAI,CAACrC,IAAI,CAAC6B,CAAC,EAAE;UACvC,IAAI,CAACrB,MAAM,CAACiD,IAAI,CAAC,KAAK,CAAC,CAAC;UACxB,IAAI,CAACjD,MAAM,CAACiD,IAAI,CAAC,CAACkB,IAAI,CAAC,KAAK,EAAE;UAC9B,MAAMiD,YAAY,GAAG,IAAI,CAAC5H,IAAI,CAAC2B,CAAC;UAChC,MAAMkG,aAA4B,GAAGD,YAAY,GAC7C,CAACvF,KAAK,EAAE,CAAC,GAAGuF,YAAY,CAAC,CAAC,GAC1B,CAACvF,KAAK,CAAC;UACX;UACA,IAAI,CAAC7B,MAAM,CAACiD,IAAI,CAAC,CAACkB,IAAI,CAAC,CAAC3C,IAAI,CAAC6F,aAAa,CAAC;QAC7C;MACF;IACF;EACF;EAEAC,iBAAiBA,CAACV,KAAqB,EAAE;IACvC,IAAI,CAAC/G,YAAY,CAACoB,EAAE,KAAK,EAAE;IAC3B,IAAI,CAACpB,YAAY,CAACoB,EAAE,CAACO,IAAI,CAACoF,KAAK,CAAC;EAClC;EAEAW,kBAAkBA,CAACpD,IAAY,EAAE;IAC/B,IAAI,CAACnE,MAAM,CAACwC,UAAU,KAAK,CAAC,CAAC;IAE7B,IAAI,CAACgF,eAAe,GAAG,IAAI,CAACxH,MAAM,CAACwC,UAAU,CAAC2B,IAAI,CAAC;IACnD,IAAI,CAAC,IAAI,CAACqD,eAAe,EAAE;MACzB,IAAI,CAACA,eAAe,GAAG,EAAE;MACzB,IAAI,CAACxH,MAAM,CAACwC,UAAU,CAAC2B,IAAI,CAAC,GAAG,IAAI,CAACqD,eAAe;IACrD;EACF;EAEAC,iBAAiBA,CAACC,QAAgB,EAAE;IAClC,IAAI,CAAC,IAAI,CAACF,eAAe,EAAE;MACzB,MAAM,IAAIG,KAAK,CACb,6DACF,CAAC;IACH;IAEA,IAAI,CAACtI,qBAAqB,GAAG,EAAE;IAC/B,IAAI,CAACmI,eAAe,CAAChG,IAAI,CAAC,CAACkG,QAAQ,EAAE,IAAI,CAACrI,qBAAqB,CAAC,CAAC;EACnE;AACF;AAEA,SAAS2F,eAAeA,CACtBnD,KAA0C,EAClB;EACxB,OAAO+F,OAAO,CACZlC,KAAK,CAACC,OAAO,CAAC9D,KAAK,CAAC,IAClBA,KAAK,CAACpB,MAAM,GAAG,CAAC,IAChBoB,KAAK,CAAC,CAAC,CAAC,IACR,OAAOA,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,IAC5BM,MAAM,CAACkB,IAAI,CAACxB,KAAK,CAAC,CAAC,CAAC,CAAC,CAACpB,MAAM,KAAK,CACrC,CAAC;AACH;AAEA,SAAS0E,wBAAwBA,CAACtD,KAAsB,EAKtD;EACA,IAAI,CAAC6D,KAAK,CAACC,OAAO,CAAC9D,KAAK,CAAC,EAAE;IACzB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;EACvB;EAEA,IAAInD,sBAAsB,CAACmD,KAAK,CAAC,EAAE;IACjC,IAAIgG,WAAW,GAAG,KAAK;IACvB,IAAI3C,aAAa,GAAG,KAAK;IACzB,KAAK,MAAM7D,CAAC,IAAIQ,KAAK,EAAE;MACrB,MAAM,CAACoD,OAAO,EAAE6C,SAAS,CAAC,GAAG3C,wBAAwB,CAAC9D,CAAC,CAAC;MACxDwG,WAAW,KAAK5C,OAAO;MACvBC,aAAa,KAAK4C,SAAS;IAC7B;IAEA,OAAO,CAACD,WAAW,EAAE3C,aAAa,CAAC;EACrC;EAEA,IAAI,CAAC2C,WAAW,EAAE3C,aAAa,CAAC,GAAGC,wBAAwB,CAACtD,KAAK,CAAC,CAAC,CAAC,CAAC;EAErEqD,aAAa,KAAKrD,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK;EACpCgG,WAAW,KAAKhG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAIqD,aAAa;EAE/C,IAAI2C,WAAW,EAAE;IACf,OAAO,CAAC,IAAI,EAAE3C,aAAa,CAAC;EAC9B;EAEA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;AACvB;AAEA,SAASI,QAAQA,CAAC,GAAGyC,MAAiB,EAAE;EACtC,OAAOA,MAAM,CAACC,KAAK,CAAC,CAACC,KAAK,EAAEC,KAAK,EAAEC,KAAK,KAAK;IAC3C,OAAOD,KAAK,KAAK,CAAC,GAAG,IAAI,GAAGE,KAAK,CAACD,KAAK,CAAC,CAAC,CAAC,EAAEF,KAAK,CAAC;EACpD,CAAC,CAAC;AACJ;AAEA,SAASG,KAAKA,CAACzF,CAAU,EAAEC,CAAU,EAAE;EACrC,IAAID,CAAC,KAAKC,CAAC,EAAE,OAAO,IAAI;EACxB,IAAI,OAAOD,CAAC,KAAK,OAAOC,CAAC,EAAE,OAAO,KAAK;EACvC,IAAID,CAAC,KAAK,IAAI,IAAIC,CAAC,KAAK,IAAI,EAAE,OAAO,KAAK;EAC1C,IAAI8C,KAAK,CAACC,OAAO,CAAChD,CAAC,CAAC,IAAI+C,KAAK,CAACC,OAAO,CAAC/C,CAAC,CAAC,EAAE;IACxC,IAAID,CAAC,CAAClC,MAAM,KAAKmC,CAAC,CAACnC,MAAM,EAAE,OAAO,KAAK;IACvC,KAAK,IAAIiG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG/D,CAAC,CAAClC,MAAM,EAAEiG,CAAC,EAAE,EAAE;MACjC,IAAI,CAAC0B,KAAK,CAACzF,CAAC,CAAC+D,CAAC,CAAC,EAAE9D,CAAC,CAAC8D,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK;IACtC;IACA,OAAO,IAAI;EACb;EACA,IAAI,OAAO/D,CAAC,KAAK,QAAQ,IAAI,OAAOC,CAAC,KAAK,QAAQ,EAAE;IAClD,IAAIT,MAAM,CAACkB,IAAI,CAACV,CAAC,CAAC,CAAClC,MAAM,KAAK0B,MAAM,CAACkB,IAAI,CAACT,CAAC,CAAC,CAACnC,MAAM,EAAE,OAAO,KAAK;IACjE,KAAK,MAAMmB,GAAG,IAAIe,CAAC,EAAE;MACnB,IACE,CAACyF,KAAK,CACHzF,CAAC,CAA6Bf,GAAG,CAAC,EAClCgB,CAAC,CAA6BhB,GAAG,CACpC,CAAC,EAED,OAAO,KAAK;IAChB;IACA,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ import { ActivityIndicator as RNActivityIndicator } from "react-native";
4
+ import { useCssElement } from "../runtime/index.js";
5
+ const mapping = {
6
+ className: {
7
+ target: "style",
8
+ nativeStyleMapping: {
9
+ color: "color"
10
+ }
11
+ }
12
+ };
13
+ export function ActivityIndicator(props) {
14
+ return useCssElement(RNActivityIndicator, props, mapping);
15
+ }
16
+ export default ActivityIndicator;
17
+ //# sourceMappingURL=ActivityIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ActivityIndicator","RNActivityIndicator","useCssElement","mapping","className","target","nativeStyleMapping","color","props"],"sourceRoot":"../../../src","sources":["components/ActivityIndicator.tsx"],"mappings":";;AAAA,SACEA,iBAAiB,IAAIC,mBAAmB,QAEnC,cAAc;AAErB,SACEC,aAAa,QAGR,qBAAY;AAEnB,MAAMC,OAAO,GAAG;EACdC,SAAS,EAAE;IACTC,MAAM,EAAE,OAAO;IACfC,kBAAkB,EAAE;MAClBC,KAAK,EAAE;IACT;EACF;AACF,CAA2D;AAE3D,OAAO,SAASP,iBAAiBA,CAC/BQ,KAA0D,EAC1D;EACA,OAAON,aAAa,CAACD,mBAAmB,EAAEO,KAAK,EAAEL,OAAO,CAAC;AAC3D;AAEA,eAAeH,iBAAiB","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ import { Button as RNButton } from "react-native";
4
+ import { useCssElement } from "../runtime/index.js";
5
+ const mapping = {
6
+ className: {
7
+ target: false,
8
+ nativeStyleMapping: {
9
+ color: "color"
10
+ }
11
+ }
12
+ };
13
+ export function Button(props) {
14
+ return useCssElement(RNButton, props, mapping);
15
+ }
16
+ export default Button;
17
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Button","RNButton","useCssElement","mapping","className","target","nativeStyleMapping","color","props"],"sourceRoot":"../../../src","sources":["components/Button.tsx"],"mappings":";;AAAA,SAASA,MAAM,IAAIC,QAAQ,QAA0B,cAAc;AAEnE,SACEC,aAAa,QAGR,qBAAY;AAEnB,MAAMC,OAAO,GAAG;EACdC,SAAS,EAAE;IACTC,MAAM,EAAE,KAAK;IACbC,kBAAkB,EAAE;MAClBC,KAAK,EAAE;IACT;EACF;AACF,CAAgD;AAEhD,OAAO,SAASP,MAAMA,CAACQ,KAA+C,EAAE;EACtE,OAAON,aAAa,CAACD,QAAQ,EAAEO,KAAK,EAAEL,OAAO,CAAC;AAChD;AAEA,eAAeH,MAAM","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ import { FlatList as RNFlatList } from "react-native";
4
+ import { useCssElement } from "../runtime/index.js";
5
+ const mapping = {
6
+ columnWrapperStyle: "columnWrapperStyle",
7
+ listFooterComponentClassName: "ListFooterComponentStyle",
8
+ listHeaderComponentClassName: "ListHeaderComponentStyle"
9
+ };
10
+ export function FlatList(props) {
11
+ return useCssElement(RNFlatList, props, mapping);
12
+ }
13
+ export default FlatList;
14
+ //# sourceMappingURL=FlatList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FlatList","RNFlatList","useCssElement","mapping","columnWrapperStyle","listFooterComponentClassName","listHeaderComponentClassName","props"],"sourceRoot":"../../../src","sources":["components/FlatList.tsx"],"mappings":";;AAAA,SAASA,QAAQ,IAAIC,UAAU,QAA4B,cAAc;AAEzE,SACEC,aAAa,QAGR,qBAAY;AAEnB,MAAMC,OAAO,GAAG;EACdC,kBAAkB,EAAE,oBAAoB;EACxCC,4BAA4B,EAAE,0BAA0B;EACxDC,4BAA4B,EAAE;AAChC,CAAkD;AAElD,OAAO,SAASN,QAAQA,CACtBO,KAAwD,EACxD;EACA,OAAOL,aAAa,CAACD,UAAU,EAAEM,KAAK,EAAEJ,OAAO,CAAC;AAClD;AAEA,eAAeH,QAAQ","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ import { Image as RNImage } from "react-native";
4
+ import { useCssElement } from "../runtime/index.js";
5
+ const mapping = {
6
+ className: "style"
7
+ };
8
+ export function Image(props) {
9
+ return useCssElement(RNImage, props, mapping);
10
+ }
11
+ export default Image;
12
+ //# sourceMappingURL=Image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Image","RNImage","useCssElement","mapping","className","props"],"sourceRoot":"../../../src","sources":["components/Image.tsx"],"mappings":";;AAAA,SAASA,KAAK,IAAIC,OAAO,QAAyB,cAAc;AAEhE,SACEC,aAAa,QAGR,qBAAY;AAEnB,MAAMC,OAAO,GAAG;EACdC,SAAS,EAAE;AACb,CAA+C;AAE/C,OAAO,SAASJ,KAAKA,CAACK,KAA8C,EAAE;EACpE,OAAOH,aAAa,CAACD,OAAO,EAAEI,KAAK,EAAEF,OAAO,CAAC;AAC/C;AAEA,eAAeH,KAAK","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ import { TextInput as RNTextInput } from "react-native";
4
+ import { useCssElement } from "../runtime/index.js";
5
+ const mapping = {
6
+ className: "style"
7
+ };
8
+ export function TextInput(props) {
9
+ return useCssElement(RNTextInput, props, mapping);
10
+ }
11
+ export default TextInput;
12
+ //# sourceMappingURL=TextInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TextInput","RNTextInput","useCssElement","mapping","className","props"],"sourceRoot":"../../../src","sources":["components/TextInput.tsx"],"mappings":";;AAAA,SAASA,SAAS,IAAIC,WAAW,QAA6B,cAAc;AAE5E,SACEC,aAAa,QAGR,qBAAY;AAEnB,MAAMC,OAAO,GAAG;EACdC,SAAS,EAAE;AACb,CAAmD;AAEnD,OAAO,SAASJ,SAASA,CAACK,KAAkD,EAAE;EAC5E,OAAOH,aAAa,CAACD,WAAW,EAAEI,KAAK,EAAEF,OAAO,CAAC;AACnD;AAEA,eAAeH,SAAS","ignoreList":[]}
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  export * from "react-native";
4
+ export { ActivityIndicator } from "./ActivityIndicator.js";
5
+ export { Button } from "./Button.js";
6
+ export { FlatList } from "./FlatList.js";
7
+ export { Image } from "./Image.js";
4
8
  export { Text } from "./Text.js";
9
+ export { TextInput } from "./TextInput.js";
5
10
  export { View } from "./View.js";
6
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Text","View"],"sourceRoot":"../../../src","sources":["components/index.tsx"],"mappings":";;AAAA,cAAc,cAAc;AAE5B,SAASA,IAAI,QAAQ,WAAQ;AAC7B,SAASC,IAAI,QAAQ,WAAQ","ignoreList":[]}
1
+ {"version":3,"names":["ActivityIndicator","Button","FlatList","Image","Text","TextInput","View"],"sourceRoot":"../../../src","sources":["components/index.tsx"],"mappings":";;AAAA,cAAc,cAAc;AAE5B,SAASA,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,MAAM,QAAQ,aAAU;AACjC,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,KAAK,QAAQ,YAAS;AAC/B,SAASC,IAAI,QAAQ,WAAQ;AAC7B,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,IAAI,QAAQ,WAAQ","ignoreList":[]}
@@ -1,29 +1,50 @@
1
1
  "use strict";
2
2
 
3
- /* eslint-disable @typescript-eslint/no-namespace */
4
- import { Dimensions } from "react-native";
3
+ import { Appearance, Dimensions } from "react-native";
4
+ import { inspect } from "node:util";
5
5
  import { compile } from "../compiler/index.js";
6
6
  import { StyleCollection } from "../runtime/native/injection.js";
7
7
  import { colorScheme, dimensions, rem } from "../runtime/native/reactivity.js";
8
- export * from "@testing-library/react-native";
9
8
  export const testID = "react-native-css";
10
9
  beforeEach(() => {
11
10
  StyleCollection.styles.clear();
12
11
  dimensions.set(Dimensions.get("window"));
13
12
  rem.set(14);
13
+ Appearance.setColorScheme(null);
14
14
  colorScheme.set(null);
15
15
  });
16
- export function registerCSS(css, {
17
- debugCompiled = process.env.NODE_OPTIONS?.includes("--inspect"),
18
- ...options
19
- } = {}) {
20
- const compiled = compile(css, options);
21
- if (debugCompiled) {
22
- console.log(`Compiled styles:\n\n${JSON.stringify({
23
- compiled
24
- }, null, 2)}`);
16
+ const debugDefault = Boolean(process.env.REACT_NATIVE_CSS_TEST_DEBUG && process.env.NODE_OPTIONS?.includes("--inspect"));
17
+ export function registerCSS(css, options = {}) {
18
+ const {
19
+ debug = debugDefault
20
+ } = options;
21
+ const compiled = compileWithAutoDebug(css, options);
22
+ if (debug) {
23
+ console.log(`Compiled:\n---\n${inspect({
24
+ stylesheet: compiled.stylesheet(),
25
+ warnings: compiled.warnings()
26
+ }, {
27
+ depth: null,
28
+ colors: true,
29
+ compact: false
30
+ })}`);
25
31
  }
26
- StyleCollection.inject(compiled);
32
+ StyleCollection.inject(compiled.stylesheet());
27
33
  return compiled;
28
34
  }
35
+ export function compileWithAutoDebug(css, {
36
+ debug = debugDefault,
37
+ ...options
38
+ } = {}) {
39
+ const logger = debug ? text => {
40
+ // Just log the rules
41
+ if (text.startsWith("[")) {
42
+ console.log(`Rules:\n---\n${text}`);
43
+ }
44
+ } : undefined;
45
+ return compile(css, {
46
+ ...options,
47
+ logger
48
+ });
49
+ }
29
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Dimensions","compile","StyleCollection","colorScheme","dimensions","rem","testID","beforeEach","styles","clear","set","get","registerCSS","css","debugCompiled","process","env","NODE_OPTIONS","includes","options","compiled","console","log","JSON","stringify","inject"],"sourceRoot":"../../../src","sources":["jest/index.ts"],"mappings":";;AAAA;AACA,SAASA,UAAU,QAAQ,cAAc;AAEzC,SAASC,OAAO,QAA8B,sBAAa;AAC3D,SAASC,eAAe,QAAQ,gCAA6B;AAC7D,SAASC,WAAW,EAAEC,UAAU,EAAEC,GAAG,QAAQ,iCAA8B;AAW3E,cAAc,+BAA+B;AAC7C,OAAO,MAAMC,MAAM,GAAG,kBAAkB;AAExCC,UAAU,CAAC,MAAM;EACfL,eAAe,CAACM,MAAM,CAACC,KAAK,CAAC,CAAC;EAC9BL,UAAU,CAACM,GAAG,CAACV,UAAU,CAACW,GAAG,CAAC,QAAQ,CAAC,CAAC;EACxCN,GAAG,CAACK,GAAG,CAAC,EAAE,CAAC;EACXP,WAAW,CAACO,GAAG,CAAC,IAAI,CAAC;AACvB,CAAC,CAAC;AAEF,OAAO,SAASE,WAAWA,CACzBC,GAAW,EACX;EACEC,aAAa,GAAGC,OAAO,CAACC,GAAG,CAACC,YAAY,EAAEC,QAAQ,CAAC,WAAW,CAAC;EAC/D,GAAGC;AAC0C,CAAC,GAAG,CAAC,CAAC,EACrD;EACA,MAAMC,QAAQ,GAAGnB,OAAO,CAACY,GAAG,EAAEM,OAAO,CAAC;EACtC,IAAIL,aAAa,EAAE;IACjBO,OAAO,CAACC,GAAG,CAAC,uBAAuBC,IAAI,CAACC,SAAS,CAAC;MAAEJ;IAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;EAC7E;EAEAlB,eAAe,CAACuB,MAAM,CAACL,QAAQ,CAAC;EAEhC,OAAOA,QAAQ;AACjB","ignoreList":[]}
1
+ {"version":3,"names":["Appearance","Dimensions","inspect","compile","StyleCollection","colorScheme","dimensions","rem","testID","beforeEach","styles","clear","set","get","setColorScheme","debugDefault","Boolean","process","env","REACT_NATIVE_CSS_TEST_DEBUG","NODE_OPTIONS","includes","registerCSS","css","options","debug","compiled","compileWithAutoDebug","console","log","stylesheet","warnings","depth","colors","compact","inject","logger","text","startsWith","undefined"],"sourceRoot":"../../../src","sources":["jest/index.ts"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,UAAU,QAAQ,cAAc;AAErD,SAASC,OAAO,QAAQ,WAAW;AAEnC,SAASC,OAAO,QAA8B,sBAAa;AAC3D,SAASC,eAAe,QAAQ,gCAA6B;AAC7D,SAASC,WAAW,EAAEC,UAAU,EAAEC,GAAG,QAAQ,iCAA8B;AAW3E,OAAO,MAAMC,MAAM,GAAG,kBAAkB;AAExCC,UAAU,CAAC,MAAM;EACfL,eAAe,CAACM,MAAM,CAACC,KAAK,CAAC,CAAC;EAC9BL,UAAU,CAACM,GAAG,CAACX,UAAU,CAACY,GAAG,CAAC,QAAQ,CAAC,CAAC;EACxCN,GAAG,CAACK,GAAG,CAAC,EAAE,CAAC;EACXZ,UAAU,CAACc,cAAc,CAAC,IAAI,CAAC;EAC/BT,WAAW,CAACO,GAAG,CAAC,IAAI,CAAC;AACvB,CAAC,CAAC;AAEF,MAAMG,YAAY,GAAGC,OAAO,CAC1BC,OAAO,CAACC,GAAG,CAACC,2BAA2B,IACrCF,OAAO,CAACC,GAAG,CAACE,YAAY,EAAEC,QAAQ,CAAC,WAAW,CAClD,CAAC;AAED,OAAO,SAASC,WAAWA,CACzBC,GAAW,EACXC,OAA8C,GAAG,CAAC,CAAC,EACnD;EACA,MAAM;IAAEC,KAAK,GAAGV;EAAa,CAAC,GAAGS,OAAO;EACxC,MAAME,QAAQ,GAAGC,oBAAoB,CAACJ,GAAG,EAAEC,OAAO,CAAC;EAEnD,IAAIC,KAAK,EAAE;IACTG,OAAO,CAACC,GAAG,CACT,mBAAmB3B,OAAO,CACxB;MACE4B,UAAU,EAAEJ,QAAQ,CAACI,UAAU,CAAC,CAAC;MACjCC,QAAQ,EAAEL,QAAQ,CAACK,QAAQ,CAAC;IAC9B,CAAC,EACD;MAAEC,KAAK,EAAE,IAAI;MAAEC,MAAM,EAAE,IAAI;MAAEC,OAAO,EAAE;IAAM,CAC9C,CAAC,EACH,CAAC;EACH;EAEA9B,eAAe,CAAC+B,MAAM,CAACT,QAAQ,CAACI,UAAU,CAAC,CAAC,CAAC;EAE7C,OAAOJ,QAAQ;AACjB;AAEA,OAAO,SAASC,oBAAoBA,CAClCJ,GAAW,EACX;EACEE,KAAK,GAAGV,YAAY;EACpB,GAAGS;AACkC,CAAC,GAAG,CAAC,CAAC,EAC7C;EACA,MAAMY,MAAM,GAAGX,KAAK,GACfY,IAAY,IAAK;IAChB;IACA,IAAIA,IAAI,CAACC,UAAU,CAAC,GAAG,CAAC,EAAE;MACxBV,OAAO,CAACC,GAAG,CAAC,gBAAgBQ,IAAI,EAAE,CAAC;IACrC;EACF,CAAC,GACDE,SAAS;EAEb,OAAOpC,OAAO,CAACoB,GAAG,EAAE;IAAE,GAAGC,OAAO;IAAEY;EAAO,CAAC,CAAC;AAC7C","ignoreList":[]}
@@ -22,8 +22,10 @@ export function withReactNativeCSS(config, options) {
22
22
  const {
23
23
  disableTypeScriptGeneration,
24
24
  typescriptEnvPath,
25
- globalClassNamePolyfill = false
25
+ globalClassNamePolyfill = false,
26
+ logger = defaultLogger
26
27
  } = options || {};
28
+ const loggerEnabled = "enabled" in logger ? logger.enabled : true;
27
29
  if (disableTypeScriptGeneration !== true) {
28
30
  setupTypeScript(typescriptEnvPath);
29
31
  }
@@ -115,7 +117,7 @@ export function withReactNativeCSS(config, options) {
115
117
  if (next !== last) {
116
118
  nativeCSSFiles.set(filePath, [next, compile(next, {
117
119
  hexColors: options?.hexColors
118
- })]);
120
+ }).stylesheet()]);
119
121
  watcher.emit("change", {
120
122
  eventsQueue: nativeInjectionFilepaths.map(filePath => ({
121
123
  filePath,
@@ -142,9 +144,9 @@ export function withReactNativeCSS(config, options) {
142
144
  // If this is the injection file, we to swap its content with the
143
145
  // compiled CSS files
144
146
  fileBuffer = getNativeInjectionCode(Array.from(nativeCSSFiles.keys()).map(key => relative(dirname(filePath), key)), Array.from(nativeCSSFiles.values()).map(([, value]) => value));
145
- if (defaultLogger.enabled && fileBuffer) {
146
- defaultLogger(`Transformed ${filePath}`);
147
- defaultLogger(fileBuffer?.toString());
147
+ if (loggerEnabled && fileBuffer) {
148
+ logger(`Transformed ${filePath}`);
149
+ logger(fileBuffer?.toString());
148
150
  }
149
151
  }
150
152
  return transformFile(filePath, transformOptions, fileBuffer);