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
@@ -9,7 +9,9 @@ const CommaSeparator = Symbol("CommaSeparator");
9
9
  const propertyRename = {
10
10
  "background-image": "experimental_backgroundImage"
11
11
  };
12
- const unparsedRuntimeParsing = new Set(["animation", "text-shadow", "transform", "box-shadow", "border"]);
12
+
13
+ // TODO: We need a better way to handle this
14
+ const unparsedRuntimeParsing = new Set(["animation", "border", "box-shadow", "text-shadow", "transform", "scale", "rotate", "translate"]);
13
15
  const parsers = {
14
16
  "align-content": parseAlignContent,
15
17
  "align-items": parseAlignItems,
@@ -29,37 +31,44 @@ const parsers = {
29
31
  "block-size": parseSizeDeclaration,
30
32
  "border": parseBorder,
31
33
  "border-block": parseBorderBlock,
32
- "border-block-color": parseBorderBlockColor,
34
+ "border-block-color": parseBorderColor,
33
35
  "border-block-end": parseBorderBlockEnd,
34
36
  "border-block-end-color": parseColorDeclaration,
35
37
  "border-block-end-width": parseBorderSideWidthDeclaration,
36
38
  "border-block-start": parseBorderBlockStart,
37
39
  "border-block-start-color": parseColorDeclaration,
38
40
  "border-block-start-width": parseBorderSideWidthDeclaration,
41
+ "border-block-style": parseBorderBlockStyle,
39
42
  "border-block-width": parseBorderBlockWidth,
40
43
  "border-bottom": parseBorderSide,
41
44
  "border-bottom-color": parseColorDeclaration,
42
45
  "border-bottom-left-radius": parseSize2DDimensionPercentageDeclaration,
43
46
  "border-bottom-right-radius": parseSize2DDimensionPercentageDeclaration,
47
+ "border-bottom-style": parseBorderStyleDeclaration,
44
48
  "border-bottom-width": parseBorderSideWidthDeclaration,
45
49
  "border-color": parseBorderColor,
46
50
  "border-end-end-radius": parseSize2DDimensionPercentageDeclaration,
47
51
  "border-end-start-radius": parseSize2DDimensionPercentageDeclaration,
48
52
  "border-inline": parseBorderInline,
49
- "border-inline-color": parseBorderBlockColor,
53
+ "border-inline-color": parseBorderColor,
50
54
  "border-inline-end": parseBorderInlineEnd,
51
55
  "border-inline-end-color": parseColorDeclaration,
56
+ "border-inline-end-style": parseBorderInlineStyle,
52
57
  "border-inline-end-width": parseBorderSideWidthDeclaration,
53
58
  "border-inline-start": parseBorderInlineStart,
54
59
  "border-inline-start-color": parseColorDeclaration,
60
+ "border-inline-start-style": parseBorderInlineStyle,
55
61
  "border-inline-start-width": parseBorderSideWidthDeclaration,
56
- "border-inline-width": parseBorderBlockWidth,
62
+ "border-inline-style": parseBorderInlineStyle,
63
+ "border-inline-width": parseBorderInlineWidth,
57
64
  "border-left": parseBorderSide,
58
65
  "border-left-color": parseColorDeclaration,
66
+ "border-left-style": parseBorderStyleDeclaration,
59
67
  "border-left-width": parseBorderSideWidthDeclaration,
60
68
  "border-radius": parseBorderRadius,
61
69
  "border-right": parseBorderSide,
62
70
  "border-right-color": parseColorDeclaration,
71
+ "border-right-style": parseBorderStyleDeclaration,
63
72
  "border-right-width": parseBorderSideWidthDeclaration,
64
73
  "border-start-end-radius": parseSize2DDimensionPercentageDeclaration,
65
74
  "border-start-start-radius": parseSize2DDimensionPercentageDeclaration,
@@ -68,11 +77,12 @@ const parsers = {
68
77
  "border-top-color": parseColorDeclaration,
69
78
  "border-top-left-radius": parseSize2DDimensionPercentageDeclaration,
70
79
  "border-top-right-radius": parseSize2DDimensionPercentageDeclaration,
80
+ "border-top-style": parseBorderStyleDeclaration,
71
81
  "border-top-width": parseBorderSideWidthDeclaration,
72
82
  "border-width": parseBorderWidth,
73
83
  "bottom": parseSizeDeclaration,
74
84
  "box-shadow": parseBoxShadow,
75
- "caret-color": parseColorOrAuto,
85
+ "caret-color": parseColorOrAutoDeclaration,
76
86
  "color": parseFontColorDeclaration,
77
87
  "column-gap": parseGap,
78
88
  "container": parseContainer,
@@ -191,9 +201,9 @@ export function parseDeclaration(declaration, builder) {
191
201
  return;
192
202
  }
193
203
  if (declaration.property === "unparsed") {
194
- parseDeclarationUnparsed(declaration, builder);
204
+ parseUnparsedDeclaration(declaration, builder);
195
205
  } else if (declaration.property === "custom") {
196
- parseDeclarationCustom(declaration, builder);
206
+ parseCustomDeclaration(declaration, builder);
197
207
  } else {
198
208
  parseWithParser(declaration, builder);
199
209
  }
@@ -202,6 +212,7 @@ function parseWithParser(declaration, builder) {
202
212
  if (declaration.property in parsers) {
203
213
  const parser = parsers[declaration.property];
204
214
  builder.descriptorProperty = declaration.property;
215
+ builder.setWarningProperty(declaration.property);
205
216
  const value = parser(declaration, builder, declaration.property);
206
217
  if (value !== undefined) {
207
218
  builder.addDescriptor(propertyRename[declaration.property] ?? declaration.property, value);
@@ -246,15 +257,25 @@ function parseBorderRadius({
246
257
  "border-top-right-radius": parseSize2DDimensionPercentage(value.topRight, builder)
247
258
  });
248
259
  }
249
- function parseBorderColor({
250
- value
251
- }, builder) {
252
- builder.addShorthand("border-color", {
253
- "border-top-color": parseColor(value.top, builder),
254
- "border-bottom-color": parseColor(value.bottom, builder),
255
- "border-left-color": parseColor(value.left, builder),
256
- "border-right-color": parseColor(value.right, builder)
257
- });
260
+ function parseBorderColor(declaration, builder) {
261
+ switch (declaration.property) {
262
+ case "border-color":
263
+ builder.addShorthand("border-color", {
264
+ "border-top-color": parseColor(declaration.value.top, builder),
265
+ "border-bottom-color": parseColor(declaration.value.bottom, builder),
266
+ "border-left-color": parseColor(declaration.value.left, builder),
267
+ "border-right-color": parseColor(declaration.value.right, builder)
268
+ });
269
+ break;
270
+ case "border-block-color":
271
+ builder.addDescriptor("border-top-color", parseColor(declaration.value.start, builder));
272
+ builder.addDescriptor("border-bottom-color", parseColor(declaration.value.end, builder));
273
+ break;
274
+ case "border-inline-color":
275
+ builder.addDescriptor("border-left-color", parseColor(declaration.value.start, builder));
276
+ builder.addDescriptor("border-right-color", parseColor(declaration.value.end, builder));
277
+ break;
278
+ }
258
279
  }
259
280
  function parseBorderWidth({
260
281
  value
@@ -322,6 +343,19 @@ function parseBorderInlineEnd({
322
343
  builder.addDescriptor("border-right-color", parseColor(value.color, builder));
323
344
  builder.addDescriptor("border-right-width", parseBorderSideWidth(value.width, builder));
324
345
  }
346
+ export function parseBorderInlineWidth(declaration, builder) {
347
+ builder.addDescriptor("border-left-width", parseBorderSideWidth(declaration.value.start, builder));
348
+ builder.addDescriptor("border-right-width", parseBorderSideWidth(declaration.value.end, builder));
349
+ }
350
+ export function parseBorderInlineStyle(declaration, builder) {
351
+ if (typeof declaration.value === "string") {
352
+ builder.addDescriptor("border-style", parseBorderStyle(declaration.value, builder));
353
+ } else if (declaration.value.start === declaration.value.end) {
354
+ builder.addDescriptor("border-style", parseBorderStyle(declaration.value.start, builder));
355
+ } else {
356
+ builder.addWarning("property", "border-inline-style");
357
+ }
358
+ }
325
359
  function parseFlexFlow({
326
360
  value
327
361
  }, builder) {
@@ -408,26 +442,26 @@ function parseFont({
408
442
  function parseTransform({
409
443
  value
410
444
  }, builder) {
411
- builder.addDescriptor("transform", [{}, "@transform", value.flatMap(t => {
445
+ builder.addDescriptor("transform", [{}, "transform", value.flatMap(t => {
412
446
  switch (t.type) {
413
447
  case "perspective":
414
- return [[{}, "@perspective", parseLength(t.value, builder)]];
448
+ return [[{}, "perspective", parseLength(t.value, builder)]];
415
449
  case "translate":
416
- return [[{}, "@translateX", parseLengthOrCoercePercentageToRuntime(t.value[0], builder)], [[{}, "@translateY", parseLengthOrCoercePercentageToRuntime(t.value[1], builder)]]];
450
+ return [[{}, "translateX", parseLengthOrCoercePercentageToRuntime(t.value[0], builder)], [[{}, "translateY", parseLengthOrCoercePercentageToRuntime(t.value[1], builder)]]];
417
451
  case "translateX":
418
- return [[{}, "@translateX", parseLengthOrCoercePercentageToRuntime(t.value, builder)]];
452
+ return [[{}, "translateX", parseLengthOrCoercePercentageToRuntime(t.value, builder)]];
419
453
  case "translateY":
420
- return [[{}, "@translateY", parseLengthOrCoercePercentageToRuntime(t.value, builder)]];
454
+ return [[{}, "translateY", parseLengthOrCoercePercentageToRuntime(t.value, builder)]];
421
455
  case "rotate":
422
- return [[{}, "@rotate", parseAngle(t.value, builder)]];
456
+ return [[{}, "rotate", parseAngle(t.value, builder)]];
423
457
  case "rotateX":
424
- return [[{}, "@rotateX", parseAngle(t.value, builder)]];
458
+ return [[{}, "rotateX", parseAngle(t.value, builder)]];
425
459
  case "rotateY":
426
- return [[{}, "@rotateY", parseAngle(t.value, builder)]];
460
+ return [[{}, "rotateY", parseAngle(t.value, builder)]];
427
461
  case "rotateZ":
428
- return [[{}, "@rotateZ", parseAngle(t.value, builder)]];
462
+ return [[{}, "rotateZ", parseAngle(t.value, builder)]];
429
463
  case "scale":
430
- return [[{}, "@scaleX", parseLength(t.value[0], builder)], [{}, "@scaleY", parseLength(t.value[1], builder)]];
464
+ return [[{}, "scaleX", parseLength(t.value[0], builder)], [{}, "scaleY", parseLength(t.value[1], builder)]];
431
465
  case "scaleX":
432
466
  return [[{}, "scaleX", parseLength(t.value, builder)]];
433
467
  case "scaleY":
@@ -459,9 +493,15 @@ function parseTranslate({
459
493
  function parseRotate({
460
494
  value
461
495
  }, builder) {
462
- builder.addDescriptor("rotateX", [{}, "rotateX", parseAngle(value.x, builder)]);
463
- builder.addDescriptor("rotateY", [{}, "rotateY", parseAngle(value.y, builder)]);
464
- builder.addDescriptor("rotateZ", [{}, "rotateZ", parseAngle(value.z, builder)]);
496
+ if (value.x) {
497
+ builder.addDescriptor("rotateX", [{}, "rotateX", parseAngle(value.angle, builder)]);
498
+ }
499
+ if (value.y) {
500
+ builder.addDescriptor("rotateY", [{}, "rotateY", parseAngle(value.angle, builder)]);
501
+ }
502
+ if (value.z) {
503
+ builder.addDescriptor("rotateZ", [{}, "rotateZ", parseAngle(value.angle, builder)]);
504
+ }
465
505
  }
466
506
  function parseScale({
467
507
  value
@@ -481,7 +521,11 @@ function parseLetterSpacing({
481
521
  if (value.type === "normal") {
482
522
  return;
483
523
  }
484
- return parseLength(value.value, builder);
524
+ const descriptor = parseLength(value.value, builder);
525
+ if (Array.isArray(descriptor) && descriptor[1] === "em" && typeof descriptor[2] === "number") {
526
+ return descriptor[2];
527
+ }
528
+ return descriptor;
485
529
  }
486
530
  function parseTextDecoration({
487
531
  value
@@ -499,7 +543,8 @@ function parseZIndex({
499
543
  return;
500
544
  }
501
545
  }
502
- function parseContainerType(_value, _builder) {
546
+ function parseContainerType(_declaration, builder) {
547
+ builder.addContainer(["___default___"]);
503
548
  return;
504
549
  }
505
550
  function parseContainerName({
@@ -514,12 +559,13 @@ function parseContainer({
514
559
  builder.addContainer(value.name.type === "none" ? false : value.name.value);
515
560
  return;
516
561
  }
517
- export function parseDeclarationUnparsed(declaration, builder) {
562
+ export function parseUnparsedDeclaration(declaration, builder) {
518
563
  let property = declaration.value.propertyId.property;
519
564
  if (!(property in parsers)) {
520
565
  builder.addWarning("property", property);
521
566
  return;
522
567
  }
568
+ builder.setWarningProperty(property);
523
569
 
524
570
  /**
525
571
  * React Native doesn't support all the logical properties
@@ -534,14 +580,14 @@ export function parseDeclarationUnparsed(declaration, builder) {
534
580
  */
535
581
  builder.descriptorProperty = property;
536
582
  if (unparsedRuntimeParsing.has(property)) {
537
- const args = parseUnparsed(declaration.value.value, builder);
583
+ const args = parseUnparsed(declaration.value.value, builder, property);
538
584
  if (property === "animation") {
539
- builder.addDescriptor("animation", [{}, `@${toRNProperty(property)}`, args]);
585
+ builder.addDescriptor("animation", [{}, property, args]);
540
586
  } else {
541
- builder.addDescriptor(property, [{}, `@${toRNProperty(property)}`, args, 1]);
587
+ builder.addDescriptor(property, [{}, toRNProperty(property), args, 1]);
542
588
  }
543
589
  } else {
544
- const value = parseUnparsed(declaration.value.value, builder);
590
+ const value = parseUnparsed(declaration.value.value, builder, property);
545
591
  builder.addDescriptor(property, value);
546
592
  if (property === "font-size") {
547
593
  builder.addDescriptor("--__rn-css-em", value);
@@ -551,16 +597,20 @@ export function parseDeclarationUnparsed(declaration, builder) {
551
597
  }
552
598
  }
553
599
  }
554
- export function parseDeclarationCustom(declaration, builder) {
600
+ export function parseCustomDeclaration(declaration, builder) {
555
601
  const property = declaration.value.name;
556
- if (validProperties.has(property) || property.startsWith("--") || property.startsWith("-rn-")) {
557
- builder.addDescriptor(property, parseUnparsed(declaration.value.value, builder, allowAuto.has(property)));
602
+ if (property === "-webkit-line-clamp") {
603
+ builder.addDescriptor(property, parseUnparsed(declaration.value.value, builder, property));
604
+ } else if (property === "-rn-ripple-style") {
605
+ builder.addDescriptor(property, parseUnparsed(declaration.value.value, builder, property) === "borderless");
606
+ } else if (validProperties.has(property) || property.startsWith("--") || property.startsWith("-rn-")) {
607
+ builder.addDescriptor(property, parseUnparsed(declaration.value.value, builder, property));
558
608
  } else {
559
609
  builder.addWarning("property", declaration.value.name);
560
610
  }
561
611
  }
562
- export function reduceParseUnparsed(tokenOrValues, builder) {
563
- const result = tokenOrValues.map(tokenOrValue => parseUnparsed(tokenOrValue, builder)).filter(v => v !== undefined);
612
+ export function reduceParseUnparsed(tokenOrValues, builder, property, allowAuto) {
613
+ const result = tokenOrValues.map(tokenOrValue => parseUnparsed(tokenOrValue, builder, property, allowAuto)).filter(v => v !== undefined);
564
614
  if (result.length === 0) {
565
615
  return undefined;
566
616
  }
@@ -574,6 +624,9 @@ export function reduceParseUnparsed(tokenOrValues, builder) {
574
624
  currentGroup.push(value);
575
625
  }
576
626
  }
627
+
628
+ // Groups are the tokens grouped together by comma location
629
+ // If a group only has 1 item, it shouldn't be an array
577
630
  groups = groups.flatMap(group => {
578
631
  if (!Array.isArray(group)) {
579
632
  return [];
@@ -587,21 +640,26 @@ export function reduceParseUnparsed(tokenOrValues, builder) {
587
640
  } else {
588
641
  return [first];
589
642
  }
643
+ } else if (
644
+ // This is a special case for <ratio> values
645
+ group.includes("/") && group.every(item => typeof item === "string" && item === "/" ? item : typeof item === "number")) {
646
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
647
+ return [group.join(" ")];
590
648
  } else {
591
649
  return [group];
592
650
  }
593
651
  });
594
652
  return groups.length === 1 ? groups[0] : groups;
595
653
  }
596
- export function unparsedFunction(token, builder) {
597
- return [{}, token.value.name, reduceParseUnparsed(token.value.arguments, builder)];
654
+ export function unparsedFunction(token, builder, property, allowAuto) {
655
+ return [{}, toRNProperty(token.value.name), reduceParseUnparsed(token.value.arguments, builder, property, allowAuto)];
598
656
  }
599
657
 
600
658
  /**
601
659
  * When the CSS cannot be parsed (often due to a runtime condition like a CSS variable)
602
660
  * This export function best efforts parsing it into a export function that we can evaluate at runtime
603
661
  */
604
- export function parseUnparsed(tokenOrValue, builder, allowAuto = false) {
662
+ export function parseUnparsed(tokenOrValue, builder, property, allowAuto = allowAutoProperties.has(property)) {
605
663
  if (tokenOrValue === undefined || tokenOrValue === null) {
606
664
  return;
607
665
  }
@@ -620,7 +678,7 @@ export function parseUnparsed(tokenOrValue, builder, allowAuto = false) {
620
678
  return round(tokenOrValue);
621
679
  }
622
680
  if (Array.isArray(tokenOrValue)) {
623
- const args = reduceParseUnparsed(tokenOrValue, builder);
681
+ const args = reduceParseUnparsed(tokenOrValue, builder, property, allowAuto);
624
682
  if (!args) return;
625
683
  if (Array.isArray(args) && args.length === 1) return args[0];
626
684
  return args;
@@ -628,12 +686,12 @@ export function parseUnparsed(tokenOrValue, builder, allowAuto = false) {
628
686
  switch (tokenOrValue.type) {
629
687
  case "unresolved-color":
630
688
  {
631
- return parseUnresolvedColor(tokenOrValue.value, builder);
689
+ return parseUnresolvedColor(tokenOrValue.value, builder, property, allowAuto);
632
690
  }
633
691
  case "var":
634
692
  {
635
693
  let args = tokenOrValue.value.name.ident.slice(2);
636
- const fallback = parseUnparsed(tokenOrValue.value.fallback, builder);
694
+ const fallback = parseUnparsed(tokenOrValue.value.fallback, builder, property, allowAuto);
637
695
  if (fallback !== undefined) {
638
696
  args = [args, fallback];
639
697
  }
@@ -642,53 +700,54 @@ export function parseUnparsed(tokenOrValue, builder, allowAuto = false) {
642
700
  case "function":
643
701
  {
644
702
  switch (tokenOrValue.value.name) {
645
- case "translate":
646
- case "rotate":
647
- case "rotateX":
648
- case "rotateY":
649
- case "skewX":
650
- case "skewY":
651
- case "scale":
652
- case "scaleX":
653
- case "scaleY":
654
- case "translateX":
655
- case "translateY":
656
- tokenOrValue.value.name = `@${tokenOrValue.value.name}`;
657
- return unparsedFunction(tokenOrValue, builder);
703
+ case "blur":
658
704
  case "brightness":
659
705
  case "contrast":
660
706
  case "cubic-bezier":
661
707
  case "drop-shadow":
662
708
  case "fontScale":
709
+ case "getPixelSizeForLayoutSize":
663
710
  case "grayscale":
664
711
  case "hsl":
665
712
  case "hsla":
666
713
  case "hue-rotate":
667
714
  case "invert":
668
- case "linear-gradient":
669
715
  case "opacity":
670
716
  case "pixelScale":
671
- case "pixelSizeForLayoutSize":
672
717
  case "platformColor":
673
- case "radial-gradient":
674
718
  case "rgb":
675
719
  case "rgba":
720
+ case "rotate":
721
+ case "rotateX":
722
+ case "rotateY":
676
723
  case "roundToNearestPixel":
677
724
  case "saturate":
725
+ case "scale":
726
+ case "scaleX":
727
+ case "scaleY":
678
728
  case "sepia":
679
729
  case "shadow":
730
+ case "skewX":
731
+ case "skewY":
680
732
  case "steps":
681
- return unparsedFunction(tokenOrValue, builder);
733
+ case "translate":
734
+ case "translateX":
735
+ case "translateY":
736
+ return unparsedFunction(tokenOrValue, builder, property, allowAuto);
737
+ case "linear-gradient":
738
+ case "radial-gradient":
739
+ // These are special as React Native requires the '-' in their name
740
+ return [{}, tokenOrValue.value.name, reduceParseUnparsed(tokenOrValue.value.arguments, builder, property, allowAuto)];
682
741
  case "hairlineWidth":
683
742
  return [{}, tokenOrValue.value.name, []];
684
743
  case "calc":
685
744
  case "max":
686
745
  case "min":
687
746
  case "clamp":
688
- return parseCalcFn(tokenOrValue.value.name, tokenOrValue.value.arguments, builder);
747
+ return parseCalcFn(tokenOrValue.value.name, tokenOrValue.value.arguments, builder, property);
689
748
  default:
690
749
  {
691
- builder.addWarning("function", tokenOrValue.value.name);
750
+ builder.addWarning("value", `${tokenOrValue.value.name}()`);
692
751
  return;
693
752
  }
694
753
  }
@@ -717,6 +776,8 @@ export function parseUnparsed(tokenOrValue, builder, allowAuto = false) {
717
776
  return true;
718
777
  } else if (value === "false") {
719
778
  return false;
779
+ } else if (value === "infinity") {
780
+ return Number.MAX_SAFE_INTEGER;
720
781
  } else {
721
782
  return value;
722
783
  }
@@ -734,11 +795,17 @@ export function parseUnparsed(tokenOrValue, builder, allowAuto = false) {
734
795
  return parseDimension(tokenOrValue.value, builder);
735
796
  case "comma":
736
797
  return CommaSeparator;
798
+ case "delim":
799
+ {
800
+ if (tokenOrValue.value.value === "/") {
801
+ return tokenOrValue.value.value;
802
+ }
803
+ return;
804
+ }
737
805
  case "at-keyword":
738
806
  case "hash":
739
807
  case "id-hash":
740
808
  case "unquoted-url":
741
- case "delim":
742
809
  case "white-space":
743
810
  case "comment":
744
811
  case "colon":
@@ -791,22 +858,32 @@ export function parseLength(length, builder) {
791
858
  inlineRem = 14
792
859
  } = builder.getOptions();
793
860
  if (typeof length === "number") {
794
- return length;
861
+ return round(length);
795
862
  }
796
863
  if ("unit" in length) {
797
864
  switch (length.unit) {
798
865
  case "px":
799
- return length.value;
866
+ {
867
+ if (length.value === Infinity) {
868
+ return 9999;
869
+ } else if (length.value === -Infinity) {
870
+ return -9999;
871
+ } else {
872
+ // Normalize large values to safe integers, e.g. `calc(infinity * 1px)`
873
+ const value = Math.max(Math.min(length.value, Number.MAX_SAFE_INTEGER), Number.MIN_SAFE_INTEGER);
874
+ return round(value);
875
+ }
876
+ }
800
877
  case "rem":
801
878
  if (typeof inlineRem === "number") {
802
879
  return length.value * inlineRem;
803
880
  } else {
804
- return [{}, "rem", length.value];
881
+ return [{}, "rem", round(length.value)];
805
882
  }
806
883
  case "vw":
807
884
  case "vh":
808
885
  case "em":
809
- return [{}, length.unit, length.value, 1];
886
+ return [{}, length.unit, round(length.value), 1];
810
887
  case "in":
811
888
  case "cm":
812
889
  case "mm":
@@ -891,7 +968,7 @@ export function parseAngle(angle, builder) {
891
968
  case "rad":
892
969
  return `${angle.value}${angle.type}`;
893
970
  default:
894
- builder.addWarning("value", angle.value);
971
+ builder.addWarning("value", `${angle.value} ${angle.type}`);
895
972
  return undefined;
896
973
  }
897
974
  }
@@ -949,7 +1026,7 @@ export function parseSize(size, builder, options, {
949
1026
  }
950
1027
  return;
951
1028
  }
952
- export function parseColorOrAuto({
1029
+ export function parseColorOrAutoDeclaration({
953
1030
  value
954
1031
  }, builder) {
955
1032
  if (value.type === "auto") {
@@ -1339,19 +1416,27 @@ export function parseBorderStyle(value, builder) {
1339
1416
  builder.addWarning("value", value.top);
1340
1417
  return undefined;
1341
1418
  }
1342
- export function parseBorderBlockColor({
1343
- value
1344
- }, builder) {
1345
- builder.addDescriptor("border-top-color", parseColor(value.start, builder));
1346
- builder.addDescriptor("border-bottom-color", parseColor(value.end, builder));
1347
- return;
1348
- }
1349
1419
  export function parseBorderBlockWidth(declaration, builder) {
1350
1420
  builder.addDescriptor("border-top-width", parseBorderSideWidth(declaration.value.start, builder));
1351
1421
  builder.addDescriptor("border-bottom-width", parseBorderSideWidth(declaration.value.end, builder));
1352
1422
  }
1423
+ function parseBorderBlockStyle(declaration, builder) {
1424
+ if (declaration.value.start === declaration.value.end) {
1425
+ builder.addDescriptor("border-style", parseBorderStyle(declaration.value.start, builder));
1426
+ } else {
1427
+ builder.addWarning("property", "border-block-style");
1428
+ }
1429
+ }
1353
1430
  export function parseBorderSideWidthDeclaration(declaration, builder) {
1354
- return parseBorderSideWidth(declaration.value, builder);
1431
+ if (declaration.property.includes("block")) {
1432
+ builder.addDescriptor(`border-${declaration.property.includes("start") ? "top" : "bottom"}-width`, parseBorderSideWidth(declaration.value, builder));
1433
+ return;
1434
+ } else if (declaration.property.includes("inline")) {
1435
+ builder.addDescriptor(`border-${declaration.property.includes("start") ? "left" : "right"}-width`, parseBorderSideWidth(declaration.value, builder));
1436
+ return;
1437
+ } else {
1438
+ return parseBorderSideWidth(declaration.value, builder);
1439
+ }
1355
1440
  }
1356
1441
  export function parseBorderSideWidth(value, builder) {
1357
1442
  if (value.type === "length") {
@@ -1396,7 +1481,7 @@ export function parseLineHeight(value, builder) {
1396
1481
  return parseLength(length, builder);
1397
1482
  case "percentage":
1398
1483
  case "calc":
1399
- builder.addWarning("value", typeof length.value === "number" ? length.value : JSON.stringify(length.value));
1484
+ builder.addWarning("style", "line-height", typeof length.value === "number" ? length.value : JSON.stringify(length.value));
1400
1485
  return;
1401
1486
  default:
1402
1487
  {
@@ -1466,8 +1551,8 @@ export function parseLengthOrCoercePercentageToRuntime(value, builder) {
1466
1551
  }
1467
1552
  export function parseGap(declaration, builder) {
1468
1553
  if ("column" in declaration.value) {
1469
- builder.addDescriptor("row-gap", parseGap(declaration, builder));
1470
- builder.addDescriptor("column-gap", parseGap(declaration, builder));
1554
+ builder.addDescriptor("row-gap", parseGapValue(declaration.value.row, builder));
1555
+ builder.addDescriptor("column-gap", parseGapValue(declaration.value.column, builder));
1471
1556
  return;
1472
1557
  } else {
1473
1558
  if (declaration.value.type === "normal") {
@@ -1477,6 +1562,13 @@ export function parseGap(declaration, builder) {
1477
1562
  return parseLength(declaration.value.value, builder);
1478
1563
  }
1479
1564
  }
1565
+ function parseGapValue(value, builder) {
1566
+ if (value.type === "normal") {
1567
+ return;
1568
+ } else {
1569
+ return parseLength(value.value, builder);
1570
+ }
1571
+ }
1480
1572
  export function parseTextAlign({
1481
1573
  value
1482
1574
  }, builder) {
@@ -1576,7 +1668,11 @@ export function parseDimension({
1576
1668
  }, builder) {
1577
1669
  switch (unit) {
1578
1670
  case "px":
1579
- return value;
1671
+ if (value === Infinity) {
1672
+ return 9999;
1673
+ } else {
1674
+ return value;
1675
+ }
1580
1676
  case "%":
1581
1677
  return `${value}%`;
1582
1678
  case "rnh":
@@ -1601,17 +1697,21 @@ export function parseUserSelect({
1601
1697
  }
1602
1698
  }
1603
1699
  export function parseSVGPaint({
1604
- value
1700
+ value,
1701
+ property
1605
1702
  }, builder) {
1703
+ let parsedValue;
1606
1704
  if (value.type === "none") {
1607
- return "transparent";
1705
+ parsedValue = "transparent";
1608
1706
  } else if (value.type === "color") {
1609
- return parseColor(value.value, builder);
1707
+ parsedValue = parseColor(value.value, builder);
1708
+ } else {
1709
+ return;
1610
1710
  }
1611
- return;
1711
+ builder.addDescriptor(property, parsedValue);
1612
1712
  }
1613
1713
  export function round(number) {
1614
- return Math.round((number + Number.EPSILON) * 100) / 100;
1714
+ return Math.round((number + Number.EPSILON) * 10000) / 10000;
1615
1715
  }
1616
1716
  export function parseDimensionPercentageFor_LengthValue(value, builder) {
1617
1717
  if (value.type === "calc") {
@@ -1622,7 +1722,7 @@ export function parseDimensionPercentageFor_LengthValue(value, builder) {
1622
1722
  return parseLength(value.value, builder);
1623
1723
  }
1624
1724
  }
1625
- const allowAuto = new Set(["pointer-events"]);
1725
+ const allowAutoProperties = new Set(["pointer-events"]);
1626
1726
  export function parseEnv(value, builder) {
1627
1727
  switch (value.name.type) {
1628
1728
  case "ua":
@@ -1631,7 +1731,7 @@ export function parseEnv(value, builder) {
1631
1731
  case "safe-area-inset-right":
1632
1732
  case "safe-area-inset-bottom":
1633
1733
  case "safe-area-inset-left":
1634
- return [{}, "var", [`--react-native-css-${value.name.value}`, parseUnparsed(value.fallback, builder)], 1];
1734
+ return [{}, "var", [`--react-native-css-${value.name.value}`, parseUnparsed(value.fallback, builder, value.name.value)], 1];
1635
1735
  case "viewport-segment-width":
1636
1736
  case "viewport-segment-height":
1637
1737
  case "viewport-segment-top":
@@ -1645,14 +1745,14 @@ export function parseEnv(value, builder) {
1645
1745
  }
1646
1746
  return;
1647
1747
  }
1648
- export function parseCalcFn(name, tokens, builder) {
1649
- const args = parseCalcArguments(tokens, builder);
1748
+ export function parseCalcFn(name, tokens, builder, property) {
1749
+ const args = parseCalcArguments(tokens, builder, property);
1650
1750
  if (args) {
1651
1751
  return [{}, name, args];
1652
1752
  }
1653
1753
  return;
1654
1754
  }
1655
- export function parseCalcArguments([...args], builder) {
1755
+ export function parseCalcArguments([...args], builder, property) {
1656
1756
  const parsed = [];
1657
1757
  let mode;
1658
1758
  for (const [currentIndex, arg] of args.entries()) {
@@ -1666,7 +1766,7 @@ export function parseCalcArguments([...args], builder) {
1666
1766
  case "function":
1667
1767
  case "unresolved-color":
1668
1768
  {
1669
- const value = parseUnparsed(arg, builder);
1769
+ const value = parseUnparsed(arg, builder, property);
1670
1770
  if (value === undefined) {
1671
1771
  return undefined;
1672
1772
  }
@@ -1735,7 +1835,7 @@ export function parseCalcArguments([...args], builder) {
1735
1835
  .splice(currentIndex, closeParenthesisIndex - currentIndex + 1)
1736
1836
  // Then drop the surrounding parenthesis
1737
1837
  .slice(1, -1);
1738
- parsed.push(parseCalcFn("calc", innerCalcArgs, builder));
1838
+ parsed.push(parseCalcFn("calc", innerCalcArgs, builder, property));
1739
1839
  break;
1740
1840
  }
1741
1841
  case "close-parenthesis":
@@ -1776,20 +1876,20 @@ export function parseTranslateProp(value, prop, builder) {
1776
1876
  }
1777
1877
  return parseLength(value[prop], builder);
1778
1878
  }
1779
- export function parseUnresolvedColor(color, builder) {
1879
+ export function parseUnresolvedColor(color, builder, property, allowAuto) {
1780
1880
  switch (color.type) {
1781
1881
  case "rgb":
1782
- return [{}, "rgba", [round(color.r * 255), round(color.g * 255), round(color.b * 255), parseUnparsed(color.alpha, builder)]];
1882
+ return [{}, "rgba", [round(color.r * 255), round(color.g * 255), round(color.b * 255), parseUnparsed(color.alpha, builder, property)]];
1783
1883
  case "hsl":
1784
- return [{}, color.type, [color.h, color.s, color.l, parseUnparsed(color.alpha, builder)]];
1884
+ return [{}, color.type, [color.h, color.s, color.l, parseUnparsed(color.alpha, builder, property)]];
1785
1885
  case "light-dark":
1786
1886
  {
1787
1887
  const extraRule = builder.extendRule({
1788
1888
  m: [["=", "prefers-color-scheme", "dark"]]
1789
1889
  });
1790
- builder.addUnnamedDescriptor(reduceParseUnparsed(color.dark, builder), false, extraRule);
1890
+ builder.addUnnamedDescriptor(reduceParseUnparsed(color.dark, builder, property, allowAuto), false, extraRule);
1791
1891
  builder.addExtraRule(extraRule);
1792
- return reduceParseUnparsed(color.light, builder);
1892
+ return reduceParseUnparsed(color.light, builder, property, allowAuto);
1793
1893
  }
1794
1894
  default:
1795
1895
  color;
@@ -1948,7 +2048,7 @@ function parseGradient(gradient, builder) {
1948
2048
  switch (gradient.type) {
1949
2049
  case "linear":
1950
2050
  {
1951
- return [{}, "@linear-gradient", [parseLineDirection(gradient.direction, builder), ...gradient.items.map(item => parseGradientItem(item, builder))]];
2051
+ return [{}, "linear-gradient", [parseLineDirection(gradient.direction, builder), ...gradient.items.map(item => parseGradientItem(item, builder))]];
1952
2052
  }
1953
2053
  }
1954
2054
  return;
@@ -2005,6 +2105,7 @@ function parseFilter(declaration, builder) {
2005
2105
  [value.type]: parseAngle(value.value, builder)
2006
2106
  };
2007
2107
  case "drop-shadow":
2108
+ return [{}, toRNProperty(value.type), [parseLength(value.value.xOffset, builder), parseLength(value.value.yOffset, builder), parseLength(value.value.blur, builder), parseColor(value.value.color, builder)]];
2008
2109
  case "url":
2009
2110
  return;
2010
2111
  }