react-native-css 3.0.7 → 3.1.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +24 -0
  3. package/dist/commonjs/babel/helpers.js +7 -0
  4. package/dist/commonjs/babel/helpers.js.map +1 -1
  5. package/dist/commonjs/babel/import-plugin.js +20 -8
  6. package/dist/commonjs/babel/import-plugin.js.map +1 -1
  7. package/dist/commonjs/babel/react-native-web.js +17 -4
  8. package/dist/commonjs/babel/react-native-web.js.map +1 -1
  9. package/dist/commonjs/babel/react-native.js +9 -4
  10. package/dist/commonjs/babel/react-native.js.map +1 -1
  11. package/dist/commonjs/compiler/atRules.js +35 -0
  12. package/dist/commonjs/compiler/atRules.js.map +1 -1
  13. package/dist/commonjs/compiler/compiler.js +44 -28
  14. package/dist/commonjs/compiler/compiler.js.map +1 -1
  15. package/dist/commonjs/compiler/container-query.js +6 -1
  16. package/dist/commonjs/compiler/container-query.js.map +1 -1
  17. package/dist/commonjs/compiler/declarations.js +103 -62
  18. package/dist/commonjs/compiler/declarations.js.map +1 -1
  19. package/dist/commonjs/compiler/lightningcss-loader.js +11 -8
  20. package/dist/commonjs/compiler/lightningcss-loader.js.map +1 -1
  21. package/dist/commonjs/compiler/media-query.js +16 -6
  22. package/dist/commonjs/compiler/media-query.js.map +1 -1
  23. package/dist/commonjs/compiler/selector-builder.js +15 -4
  24. package/dist/commonjs/compiler/selector-builder.js.map +1 -1
  25. package/dist/commonjs/compiler/stylesheet.js +11 -3
  26. package/dist/commonjs/compiler/stylesheet.js.map +1 -1
  27. package/dist/commonjs/components/ImageBackground.js +2 -6
  28. package/dist/commonjs/components/ImageBackground.js.map +1 -1
  29. package/dist/commonjs/components/KeyboardAvoidingView.js +2 -3
  30. package/dist/commonjs/components/KeyboardAvoidingView.js.map +1 -1
  31. package/dist/commonjs/components/index.cjs +46 -1
  32. package/dist/commonjs/components/index.cjs.map +1 -1
  33. package/dist/commonjs/jest/index.js +1 -1
  34. package/dist/commonjs/jest/index.js.map +1 -1
  35. package/dist/commonjs/metro/cache-version.js +43 -0
  36. package/dist/commonjs/metro/cache-version.js.map +1 -0
  37. package/dist/commonjs/metro/index.js +2 -0
  38. package/dist/commonjs/metro/index.js.map +1 -1
  39. package/dist/commonjs/metro/metro-transformer.js +16 -3
  40. package/dist/commonjs/metro/metro-transformer.js.map +1 -1
  41. package/dist/commonjs/metro/typescript.js +26 -6
  42. package/dist/commonjs/metro/typescript.js.map +1 -1
  43. package/dist/commonjs/metro/warnings.js +135 -0
  44. package/dist/commonjs/metro/warnings.js.map +1 -0
  45. package/dist/commonjs/native/api.js +13 -9
  46. package/dist/commonjs/native/api.js.map +1 -1
  47. package/dist/commonjs/native/conditions/attributes.js +16 -9
  48. package/dist/commonjs/native/conditions/attributes.js.map +1 -1
  49. package/dist/commonjs/native/conditions/container-query.js +11 -11
  50. package/dist/commonjs/native/conditions/container-query.js.map +1 -1
  51. package/dist/commonjs/native/conditions/media-query.js +1 -1
  52. package/dist/commonjs/native/conditions/media-query.js.map +1 -1
  53. package/dist/commonjs/native/react/interaction.js +10 -5
  54. package/dist/commonjs/native/react/interaction.js.map +1 -1
  55. package/dist/commonjs/native/react/rules.js +12 -5
  56. package/dist/commonjs/native/react/rules.js.map +1 -1
  57. package/dist/commonjs/native/react/useNativeCss.js +60 -11
  58. package/dist/commonjs/native/react/useNativeCss.js.map +1 -1
  59. package/dist/commonjs/native/react/usePassthrough.js +5 -2
  60. package/dist/commonjs/native/react/usePassthrough.js.map +1 -1
  61. package/dist/commonjs/native/reactivity.js +61 -24
  62. package/dist/commonjs/native/reactivity.js.map +1 -1
  63. package/dist/commonjs/native/reanimated.js +15 -3
  64. package/dist/commonjs/native/reanimated.js.map +1 -1
  65. package/dist/commonjs/native/styles/functions/color-mix.js +43 -29
  66. package/dist/commonjs/native/styles/functions/color-mix.js.map +1 -1
  67. package/dist/commonjs/native/styles/functions/filters.js +14 -1
  68. package/dist/commonjs/native/styles/functions/filters.js.map +1 -1
  69. package/dist/commonjs/native/styles/functions/numeric-functions.js +4 -3
  70. package/dist/commonjs/native/styles/functions/numeric-functions.js.map +1 -1
  71. package/dist/commonjs/native/styles/functions/string-functions.js +16 -1
  72. package/dist/commonjs/native/styles/functions/string-functions.js.map +1 -1
  73. package/dist/commonjs/native/styles/functions/transform-functions.js +5 -4
  74. package/dist/commonjs/native/styles/functions/transform-functions.js.map +1 -1
  75. package/dist/commonjs/native/styles/index.js +95 -12
  76. package/dist/commonjs/native/styles/index.js.map +1 -1
  77. package/dist/commonjs/native/styles/resolve.js +10 -6
  78. package/dist/commonjs/native/styles/resolve.js.map +1 -1
  79. package/dist/commonjs/native/styles/scale-factor.js +13 -0
  80. package/dist/commonjs/native/styles/scale-factor.js.map +1 -0
  81. package/dist/commonjs/native/styles/shorthands/animation.js +6 -3
  82. package/dist/commonjs/native/styles/shorthands/animation.js.map +1 -1
  83. package/dist/commonjs/native/styles/shorthands/index.js +11 -0
  84. package/dist/commonjs/native/styles/shorthands/index.js.map +1 -1
  85. package/dist/commonjs/native/styles/shorthands/logical-border-width.js +22 -0
  86. package/dist/commonjs/native/styles/shorthands/logical-border-width.js.map +1 -0
  87. package/dist/commonjs/native/styles/variables.js +55 -43
  88. package/dist/commonjs/native/styles/variables.js.map +1 -1
  89. package/dist/commonjs/native-internal/root.js +18 -7
  90. package/dist/commonjs/native-internal/root.js.map +1 -1
  91. package/dist/commonjs/native-internal/style-collection.js +1 -1
  92. package/dist/commonjs/native-internal/style-collection.js.map +1 -1
  93. package/dist/commonjs/native-internal/variables.js +1 -1
  94. package/dist/commonjs/native-internal/variables.js.map +1 -1
  95. package/dist/commonjs/utilities/dot-notation.types.js +4 -0
  96. package/dist/commonjs/utilities/style-descriptor.js +4 -9
  97. package/dist/commonjs/utilities/style-descriptor.js.map +1 -1
  98. package/dist/commonjs/web/api.js +1 -1
  99. package/dist/commonjs/web/api.js.map +1 -1
  100. package/dist/commonjs/web/assign-style.js +4 -1
  101. package/dist/commonjs/web/assign-style.js.map +1 -1
  102. package/dist/module/babel/helpers.js +6 -0
  103. package/dist/module/babel/helpers.js.map +1 -1
  104. package/dist/module/babel/import-plugin.js +22 -10
  105. package/dist/module/babel/import-plugin.js.map +1 -1
  106. package/dist/module/babel/react-native-web.js +16 -4
  107. package/dist/module/babel/react-native-web.js.map +1 -1
  108. package/dist/module/babel/react-native.js +9 -4
  109. package/dist/module/babel/react-native.js.map +1 -1
  110. package/dist/module/compiler/atRules.js +33 -0
  111. package/dist/module/compiler/atRules.js.map +1 -1
  112. package/dist/module/compiler/compiler.js +45 -29
  113. package/dist/module/compiler/compiler.js.map +1 -1
  114. package/dist/module/compiler/compiler.types.js +2 -0
  115. package/dist/module/compiler/compiler.types.js.map +1 -1
  116. package/dist/module/compiler/container-query.js +6 -1
  117. package/dist/module/compiler/container-query.js.map +1 -1
  118. package/dist/module/compiler/declarations.js +103 -62
  119. package/dist/module/compiler/declarations.js.map +1 -1
  120. package/dist/module/compiler/lightningcss-loader.js +10 -8
  121. package/dist/module/compiler/lightningcss-loader.js.map +1 -1
  122. package/dist/module/compiler/media-query.js +16 -6
  123. package/dist/module/compiler/media-query.js.map +1 -1
  124. package/dist/module/compiler/selector-builder.js +15 -4
  125. package/dist/module/compiler/selector-builder.js.map +1 -1
  126. package/dist/module/compiler/stylesheet.js +11 -3
  127. package/dist/module/compiler/stylesheet.js.map +1 -1
  128. package/dist/module/components/ImageBackground.js +2 -6
  129. package/dist/module/components/ImageBackground.js.map +1 -1
  130. package/dist/module/components/KeyboardAvoidingView.js +2 -3
  131. package/dist/module/components/KeyboardAvoidingView.js.map +1 -1
  132. package/dist/module/components/index.cjs +46 -1
  133. package/dist/module/components/index.cjs.map +1 -1
  134. package/dist/module/jest/index.js +1 -1
  135. package/dist/module/jest/index.js.map +1 -1
  136. package/dist/module/metro/cache-version.js +39 -0
  137. package/dist/module/metro/cache-version.js.map +1 -0
  138. package/dist/module/metro/index.js +2 -0
  139. package/dist/module/metro/index.js.map +1 -1
  140. package/dist/module/metro/metro-transformer.js +16 -3
  141. package/dist/module/metro/metro-transformer.js.map +1 -1
  142. package/dist/module/metro/typescript.js +26 -6
  143. package/dist/module/metro/typescript.js.map +1 -1
  144. package/dist/module/metro/warnings.js +131 -0
  145. package/dist/module/metro/warnings.js.map +1 -0
  146. package/dist/module/native/api.js +15 -11
  147. package/dist/module/native/api.js.map +1 -1
  148. package/dist/module/native/conditions/attributes.js +16 -9
  149. package/dist/module/native/conditions/attributes.js.map +1 -1
  150. package/dist/module/native/conditions/container-query.js +11 -11
  151. package/dist/module/native/conditions/container-query.js.map +1 -1
  152. package/dist/module/native/conditions/media-query.js +1 -1
  153. package/dist/module/native/conditions/media-query.js.map +1 -1
  154. package/dist/module/native/react/interaction.js +10 -5
  155. package/dist/module/native/react/interaction.js.map +1 -1
  156. package/dist/module/native/react/rules.js +13 -6
  157. package/dist/module/native/react/rules.js.map +1 -1
  158. package/dist/module/native/react/useNativeCss.js +63 -14
  159. package/dist/module/native/react/useNativeCss.js.map +1 -1
  160. package/dist/module/native/react/usePassthrough.js +5 -2
  161. package/dist/module/native/react/usePassthrough.js.map +1 -1
  162. package/dist/module/native/reactivity.js +55 -22
  163. package/dist/module/native/reactivity.js.map +1 -1
  164. package/dist/module/native/reanimated.js +15 -3
  165. package/dist/module/native/reanimated.js.map +1 -1
  166. package/dist/module/native/styles/functions/color-mix.js +43 -29
  167. package/dist/module/native/styles/functions/color-mix.js.map +1 -1
  168. package/dist/module/native/styles/functions/filters.js +12 -0
  169. package/dist/module/native/styles/functions/filters.js.map +1 -1
  170. package/dist/module/native/styles/functions/numeric-functions.js +4 -3
  171. package/dist/module/native/styles/functions/numeric-functions.js.map +1 -1
  172. package/dist/module/native/styles/functions/string-functions.js +13 -0
  173. package/dist/module/native/styles/functions/string-functions.js.map +1 -1
  174. package/dist/module/native/styles/functions/transform-functions.js +5 -4
  175. package/dist/module/native/styles/functions/transform-functions.js.map +1 -1
  176. package/dist/module/native/styles/index.js +95 -12
  177. package/dist/module/native/styles/index.js.map +1 -1
  178. package/dist/module/native/styles/resolve.js +10 -6
  179. package/dist/module/native/styles/resolve.js.map +1 -1
  180. package/dist/module/native/styles/scale-factor.js +9 -0
  181. package/dist/module/native/styles/scale-factor.js.map +1 -0
  182. package/dist/module/native/styles/shorthands/animation.js +6 -3
  183. package/dist/module/native/styles/shorthands/animation.js.map +1 -1
  184. package/dist/module/native/styles/shorthands/index.js +1 -0
  185. package/dist/module/native/styles/shorthands/index.js.map +1 -1
  186. package/dist/module/native/styles/shorthands/logical-border-width.js +18 -0
  187. package/dist/module/native/styles/shorthands/logical-border-width.js.map +1 -0
  188. package/dist/module/native/styles/variables.js +55 -43
  189. package/dist/module/native/styles/variables.js.map +1 -1
  190. package/dist/module/native-internal/root.js +18 -7
  191. package/dist/module/native-internal/root.js.map +1 -1
  192. package/dist/module/native-internal/style-collection.js +1 -1
  193. package/dist/module/native-internal/style-collection.js.map +1 -1
  194. package/dist/module/native-internal/variables.js +2 -2
  195. package/dist/module/native-internal/variables.js.map +1 -1
  196. package/dist/module/utilities/dot-notation.types.js +2 -0
  197. package/dist/module/utilities/style-descriptor.js +4 -9
  198. package/dist/module/utilities/style-descriptor.js.map +1 -1
  199. package/dist/module/web/api.js +1 -1
  200. package/dist/module/web/api.js.map +1 -1
  201. package/dist/module/web/assign-style.js +4 -1
  202. package/dist/module/web/assign-style.js.map +1 -1
  203. package/dist/typescript/commonjs/src/babel/helpers.d.ts +2 -1
  204. package/dist/typescript/commonjs/src/babel/helpers.d.ts.map +1 -1
  205. package/dist/typescript/commonjs/src/babel/import-plugin.d.ts.map +1 -1
  206. package/dist/typescript/commonjs/src/babel/react-native-web.d.ts +2 -1
  207. package/dist/typescript/commonjs/src/babel/react-native-web.d.ts.map +1 -1
  208. package/dist/typescript/commonjs/src/babel/react-native.d.ts.map +1 -1
  209. package/dist/typescript/commonjs/src/compiler/atRules.d.ts +4 -1
  210. package/dist/typescript/commonjs/src/compiler/atRules.d.ts.map +1 -1
  211. package/dist/typescript/commonjs/src/compiler/compiler.d.ts +1 -5
  212. package/dist/typescript/commonjs/src/compiler/compiler.d.ts.map +1 -1
  213. package/dist/typescript/commonjs/src/compiler/compiler.types.d.ts +6 -0
  214. package/dist/typescript/commonjs/src/compiler/compiler.types.d.ts.map +1 -1
  215. package/dist/typescript/commonjs/src/compiler/declarations.d.ts +2 -2
  216. package/dist/typescript/commonjs/src/compiler/declarations.d.ts.map +1 -1
  217. package/dist/typescript/commonjs/src/compiler/lightningcss-loader.d.ts.map +1 -1
  218. package/dist/typescript/commonjs/src/compiler/media-query.d.ts +1 -1
  219. package/dist/typescript/commonjs/src/compiler/media-query.d.ts.map +1 -1
  220. package/dist/typescript/commonjs/src/compiler/selector-builder.d.ts.map +1 -1
  221. package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts +6 -8
  222. package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts.map +1 -1
  223. package/dist/typescript/commonjs/src/components/ImageBackground.d.ts.map +1 -1
  224. package/dist/typescript/commonjs/src/components/KeyboardAvoidingView.d.ts.map +1 -1
  225. package/dist/typescript/commonjs/src/components/react-native-safe-area-context.native.d.ts +1 -1
  226. package/dist/typescript/commonjs/src/components/react-native-safe-area-context.native.d.ts.map +1 -1
  227. package/dist/typescript/commonjs/src/jest/index.d.ts +2 -10
  228. package/dist/typescript/commonjs/src/jest/index.d.ts.map +1 -1
  229. package/dist/typescript/commonjs/src/metro/cache-version.d.ts +8 -0
  230. package/dist/typescript/commonjs/src/metro/cache-version.d.ts.map +1 -0
  231. package/dist/typescript/commonjs/src/metro/index.d.ts +4 -0
  232. package/dist/typescript/commonjs/src/metro/index.d.ts.map +1 -1
  233. package/dist/typescript/commonjs/src/metro/metro-transformer.d.ts +9 -4
  234. package/dist/typescript/commonjs/src/metro/metro-transformer.d.ts.map +1 -1
  235. package/dist/typescript/commonjs/src/metro/typescript.d.ts.map +1 -1
  236. package/dist/typescript/commonjs/src/metro/warnings.d.ts +13 -0
  237. package/dist/typescript/commonjs/src/metro/warnings.d.ts.map +1 -0
  238. package/dist/typescript/commonjs/src/native/api.d.ts +4 -8
  239. package/dist/typescript/commonjs/src/native/api.d.ts.map +1 -1
  240. package/dist/typescript/commonjs/src/native/conditions/container-query.d.ts.map +1 -1
  241. package/dist/typescript/commonjs/src/native/react/interaction.d.ts +1 -1
  242. package/dist/typescript/commonjs/src/native/react/interaction.d.ts.map +1 -1
  243. package/dist/typescript/commonjs/src/native/react/rules.d.ts.map +1 -1
  244. package/dist/typescript/commonjs/src/native/react/useNativeCss.d.ts.map +1 -1
  245. package/dist/typescript/commonjs/src/native/react/usePassthrough.d.ts.map +1 -1
  246. package/dist/typescript/commonjs/src/native/reactivity.d.ts +14 -3
  247. package/dist/typescript/commonjs/src/native/reactivity.d.ts.map +1 -1
  248. package/dist/typescript/commonjs/src/native/reanimated.d.ts.map +1 -1
  249. package/dist/typescript/commonjs/src/native/styles/functions/color-mix.d.ts.map +1 -1
  250. package/dist/typescript/commonjs/src/native/styles/functions/filters.d.ts +2 -0
  251. package/dist/typescript/commonjs/src/native/styles/functions/filters.d.ts.map +1 -1
  252. package/dist/typescript/commonjs/src/native/styles/functions/numeric-functions.d.ts.map +1 -1
  253. package/dist/typescript/commonjs/src/native/styles/functions/string-functions.d.ts +2 -0
  254. package/dist/typescript/commonjs/src/native/styles/functions/string-functions.d.ts.map +1 -1
  255. package/dist/typescript/commonjs/src/native/styles/functions/transform-functions.d.ts.map +1 -1
  256. package/dist/typescript/commonjs/src/native/styles/index.d.ts +2 -2
  257. package/dist/typescript/commonjs/src/native/styles/index.d.ts.map +1 -1
  258. package/dist/typescript/commonjs/src/native/styles/resolve.d.ts +1 -0
  259. package/dist/typescript/commonjs/src/native/styles/resolve.d.ts.map +1 -1
  260. package/dist/typescript/commonjs/src/native/styles/scale-factor.d.ts +2 -0
  261. package/dist/typescript/commonjs/src/native/styles/scale-factor.d.ts.map +1 -0
  262. package/dist/typescript/commonjs/src/native/styles/shorthands/animation.d.ts.map +1 -1
  263. package/dist/typescript/commonjs/src/native/styles/shorthands/index.d.ts +1 -0
  264. package/dist/typescript/commonjs/src/native/styles/shorthands/index.d.ts.map +1 -1
  265. package/dist/typescript/commonjs/src/native/styles/shorthands/logical-border-width.d.ts +4 -0
  266. package/dist/typescript/commonjs/src/native/styles/shorthands/logical-border-width.d.ts.map +1 -0
  267. package/dist/typescript/commonjs/src/native/styles/variables.d.ts.map +1 -1
  268. package/dist/typescript/commonjs/src/native-internal/root.d.ts +12 -0
  269. package/dist/typescript/commonjs/src/native-internal/root.d.ts.map +1 -1
  270. package/dist/typescript/commonjs/src/native-internal/variables.d.ts +1 -1
  271. package/dist/typescript/commonjs/src/native-internal/variables.d.ts.map +1 -1
  272. package/dist/typescript/commonjs/src/runtime.types.d.ts +11 -6
  273. package/dist/typescript/commonjs/src/runtime.types.d.ts.map +1 -1
  274. package/dist/typescript/commonjs/src/utilities/dot-notation.types.d.ts +2 -1
  275. package/dist/typescript/commonjs/src/utilities/dot-notation.types.d.ts.map +1 -1
  276. package/dist/typescript/commonjs/src/utilities/style-descriptor.d.ts +1 -1
  277. package/dist/typescript/commonjs/src/utilities/style-descriptor.d.ts.map +1 -1
  278. package/dist/typescript/commonjs/src/web/api.d.ts +5 -5
  279. package/dist/typescript/commonjs/src/web/api.d.ts.map +1 -1
  280. package/dist/typescript/commonjs/src/web/assign-style.d.ts.map +1 -1
  281. package/dist/typescript/module/src/babel/helpers.d.ts +2 -1
  282. package/dist/typescript/module/src/babel/helpers.d.ts.map +1 -1
  283. package/dist/typescript/module/src/babel/import-plugin.d.ts +1 -1
  284. package/dist/typescript/module/src/babel/import-plugin.d.ts.map +1 -1
  285. package/dist/typescript/module/src/babel/react-native-web.d.ts +2 -1
  286. package/dist/typescript/module/src/babel/react-native-web.d.ts.map +1 -1
  287. package/dist/typescript/module/src/babel/react-native.d.ts.map +1 -1
  288. package/dist/typescript/module/src/compiler/atRules.d.ts +6 -3
  289. package/dist/typescript/module/src/compiler/atRules.d.ts.map +1 -1
  290. package/dist/typescript/module/src/compiler/compiler.d.ts +3 -7
  291. package/dist/typescript/module/src/compiler/compiler.d.ts.map +1 -1
  292. package/dist/typescript/module/src/compiler/compiler.types.d.ts +7 -1
  293. package/dist/typescript/module/src/compiler/compiler.types.d.ts.map +1 -1
  294. package/dist/typescript/module/src/compiler/container-query.d.ts +2 -2
  295. package/dist/typescript/module/src/compiler/container-query.d.ts.map +1 -1
  296. package/dist/typescript/module/src/compiler/declarations.d.ts +4 -4
  297. package/dist/typescript/module/src/compiler/declarations.d.ts.map +1 -1
  298. package/dist/typescript/module/src/compiler/index.d.ts +2 -2
  299. package/dist/typescript/module/src/compiler/index.d.ts.map +1 -1
  300. package/dist/typescript/module/src/compiler/inline-variables.d.ts +1 -1
  301. package/dist/typescript/module/src/compiler/inline-variables.d.ts.map +1 -1
  302. package/dist/typescript/module/src/compiler/keyframes.d.ts +2 -2
  303. package/dist/typescript/module/src/compiler/keyframes.d.ts.map +1 -1
  304. package/dist/typescript/module/src/compiler/lightningcss-loader.d.ts.map +1 -1
  305. package/dist/typescript/module/src/compiler/media-query.d.ts +3 -3
  306. package/dist/typescript/module/src/compiler/media-query.d.ts.map +1 -1
  307. package/dist/typescript/module/src/compiler/pseudo-elements.d.ts +1 -1
  308. package/dist/typescript/module/src/compiler/pseudo-elements.d.ts.map +1 -1
  309. package/dist/typescript/module/src/compiler/selector-builder.d.ts +1 -1
  310. package/dist/typescript/module/src/compiler/selector-builder.d.ts.map +1 -1
  311. package/dist/typescript/module/src/compiler/selectors.d.ts +2 -2
  312. package/dist/typescript/module/src/compiler/selectors.d.ts.map +1 -1
  313. package/dist/typescript/module/src/compiler/stylesheet.d.ts +6 -8
  314. package/dist/typescript/module/src/compiler/stylesheet.d.ts.map +1 -1
  315. package/dist/typescript/module/src/components/ImageBackground.d.ts.map +1 -1
  316. package/dist/typescript/module/src/components/KeyboardAvoidingView.d.ts.map +1 -1
  317. package/dist/typescript/module/src/components/index.d.ts +16 -16
  318. package/dist/typescript/module/src/components/index.d.ts.map +1 -1
  319. package/dist/typescript/module/src/components/react-native-safe-area-context.native.d.ts +1 -1
  320. package/dist/typescript/module/src/components/react-native-safe-area-context.native.d.ts.map +1 -1
  321. package/dist/typescript/module/src/jest/index.d.ts +2 -10
  322. package/dist/typescript/module/src/jest/index.d.ts.map +1 -1
  323. package/dist/typescript/module/src/metro/cache-version.d.ts +8 -0
  324. package/dist/typescript/module/src/metro/cache-version.d.ts.map +1 -0
  325. package/dist/typescript/module/src/metro/index.d.ts +5 -1
  326. package/dist/typescript/module/src/metro/index.d.ts.map +1 -1
  327. package/dist/typescript/module/src/metro/metro-transformer.d.ts +10 -5
  328. package/dist/typescript/module/src/metro/metro-transformer.d.ts.map +1 -1
  329. package/dist/typescript/module/src/metro/typescript.d.ts.map +1 -1
  330. package/dist/typescript/module/src/metro/warnings.d.ts +13 -0
  331. package/dist/typescript/module/src/metro/warnings.d.ts.map +1 -0
  332. package/dist/typescript/module/src/native/api.d.ts +5 -9
  333. package/dist/typescript/module/src/native/api.d.ts.map +1 -1
  334. package/dist/typescript/module/src/native/conditions/attributes.d.ts +1 -1
  335. package/dist/typescript/module/src/native/conditions/attributes.d.ts.map +1 -1
  336. package/dist/typescript/module/src/native/conditions/container-query.d.ts +2 -2
  337. package/dist/typescript/module/src/native/conditions/container-query.d.ts.map +1 -1
  338. package/dist/typescript/module/src/native/conditions/guards.d.ts +2 -2
  339. package/dist/typescript/module/src/native/conditions/guards.d.ts.map +1 -1
  340. package/dist/typescript/module/src/native/conditions/index.d.ts +3 -3
  341. package/dist/typescript/module/src/native/conditions/index.d.ts.map +1 -1
  342. package/dist/typescript/module/src/native/conditions/media-query.d.ts +1 -1
  343. package/dist/typescript/module/src/native/conditions/media-query.d.ts.map +1 -1
  344. package/dist/typescript/module/src/native/index.d.ts +3 -3
  345. package/dist/typescript/module/src/native/index.d.ts.map +1 -1
  346. package/dist/typescript/module/src/native/react/interaction.d.ts +2 -2
  347. package/dist/typescript/module/src/native/react/interaction.d.ts.map +1 -1
  348. package/dist/typescript/module/src/native/react/rules.d.ts +2 -2
  349. package/dist/typescript/module/src/native/react/rules.d.ts.map +1 -1
  350. package/dist/typescript/module/src/native/react/useNativeCss.d.ts +4 -4
  351. package/dist/typescript/module/src/native/react/useNativeCss.d.ts.map +1 -1
  352. package/dist/typescript/module/src/native/react/usePassthrough.d.ts +1 -1
  353. package/dist/typescript/module/src/native/react/usePassthrough.d.ts.map +1 -1
  354. package/dist/typescript/module/src/native/reactivity.d.ts +14 -3
  355. package/dist/typescript/module/src/native/reactivity.d.ts.map +1 -1
  356. package/dist/typescript/module/src/native/reanimated.d.ts.map +1 -1
  357. package/dist/typescript/module/src/native/styles/calculate-props.d.ts +2 -2
  358. package/dist/typescript/module/src/native/styles/calculate-props.d.ts.map +1 -1
  359. package/dist/typescript/module/src/native/styles/functions/animation-timing.d.ts +1 -1
  360. package/dist/typescript/module/src/native/styles/functions/animation-timing.d.ts.map +1 -1
  361. package/dist/typescript/module/src/native/styles/functions/calc.d.ts +1 -1
  362. package/dist/typescript/module/src/native/styles/functions/calc.d.ts.map +1 -1
  363. package/dist/typescript/module/src/native/styles/functions/color-mix.d.ts +1 -1
  364. package/dist/typescript/module/src/native/styles/functions/color-mix.d.ts.map +1 -1
  365. package/dist/typescript/module/src/native/styles/functions/filters.d.ts +3 -1
  366. package/dist/typescript/module/src/native/styles/functions/filters.d.ts.map +1 -1
  367. package/dist/typescript/module/src/native/styles/functions/index.d.ts +8 -8
  368. package/dist/typescript/module/src/native/styles/functions/index.d.ts.map +1 -1
  369. package/dist/typescript/module/src/native/styles/functions/numeric-functions.d.ts +1 -1
  370. package/dist/typescript/module/src/native/styles/functions/numeric-functions.d.ts.map +1 -1
  371. package/dist/typescript/module/src/native/styles/functions/platform-functions.d.ts +1 -1
  372. package/dist/typescript/module/src/native/styles/functions/platform-functions.d.ts.map +1 -1
  373. package/dist/typescript/module/src/native/styles/functions/string-functions.d.ts +3 -1
  374. package/dist/typescript/module/src/native/styles/functions/string-functions.d.ts.map +1 -1
  375. package/dist/typescript/module/src/native/styles/functions/transform-functions.d.ts +1 -1
  376. package/dist/typescript/module/src/native/styles/functions/transform-functions.d.ts.map +1 -1
  377. package/dist/typescript/module/src/native/styles/index.d.ts +7 -7
  378. package/dist/typescript/module/src/native/styles/index.d.ts.map +1 -1
  379. package/dist/typescript/module/src/native/styles/line-height.d.ts +1 -1
  380. package/dist/typescript/module/src/native/styles/line-height.d.ts.map +1 -1
  381. package/dist/typescript/module/src/native/styles/resolve.d.ts +4 -3
  382. package/dist/typescript/module/src/native/styles/resolve.d.ts.map +1 -1
  383. package/dist/typescript/module/src/native/styles/scale-factor.d.ts +2 -0
  384. package/dist/typescript/module/src/native/styles/scale-factor.d.ts.map +1 -0
  385. package/dist/typescript/module/src/native/styles/shorthands/_handler.d.ts +1 -1
  386. package/dist/typescript/module/src/native/styles/shorthands/_handler.d.ts.map +1 -1
  387. package/dist/typescript/module/src/native/styles/shorthands/animation.d.ts +2 -2
  388. package/dist/typescript/module/src/native/styles/shorthands/animation.d.ts.map +1 -1
  389. package/dist/typescript/module/src/native/styles/shorthands/border.d.ts +1 -1
  390. package/dist/typescript/module/src/native/styles/shorthands/border.d.ts.map +1 -1
  391. package/dist/typescript/module/src/native/styles/shorthands/box-shadow.d.ts +1 -1
  392. package/dist/typescript/module/src/native/styles/shorthands/box-shadow.d.ts.map +1 -1
  393. package/dist/typescript/module/src/native/styles/shorthands/index.d.ts +6 -5
  394. package/dist/typescript/module/src/native/styles/shorthands/index.d.ts.map +1 -1
  395. package/dist/typescript/module/src/native/styles/shorthands/logical-border-width.d.ts +4 -0
  396. package/dist/typescript/module/src/native/styles/shorthands/logical-border-width.d.ts.map +1 -0
  397. package/dist/typescript/module/src/native/styles/shorthands/text-shadow.d.ts +1 -1
  398. package/dist/typescript/module/src/native/styles/shorthands/text-shadow.d.ts.map +1 -1
  399. package/dist/typescript/module/src/native/styles/shorthands/transform.d.ts +1 -1
  400. package/dist/typescript/module/src/native/styles/shorthands/transform.d.ts.map +1 -1
  401. package/dist/typescript/module/src/native/styles/units.d.ts +1 -1
  402. package/dist/typescript/module/src/native/styles/units.d.ts.map +1 -1
  403. package/dist/typescript/module/src/native/styles/variables.d.ts +2 -2
  404. package/dist/typescript/module/src/native/styles/variables.d.ts.map +1 -1
  405. package/dist/typescript/module/src/native-internal/index.d.ts +3 -3
  406. package/dist/typescript/module/src/native-internal/index.d.ts.map +1 -1
  407. package/dist/typescript/module/src/native-internal/root.d.ts +13 -1
  408. package/dist/typescript/module/src/native-internal/root.d.ts.map +1 -1
  409. package/dist/typescript/module/src/native-internal/style-collection.d.ts +2 -2
  410. package/dist/typescript/module/src/native-internal/style-collection.d.ts.map +1 -1
  411. package/dist/typescript/module/src/native-internal/variables.d.ts +2 -2
  412. package/dist/typescript/module/src/native-internal/variables.d.ts.map +1 -1
  413. package/dist/typescript/module/src/runtime.d.ts +1 -1
  414. package/dist/typescript/module/src/runtime.d.ts.map +1 -1
  415. package/dist/typescript/module/src/runtime.native.d.ts +1 -1
  416. package/dist/typescript/module/src/runtime.native.d.ts.map +1 -1
  417. package/dist/typescript/module/src/runtime.types.d.ts +11 -6
  418. package/dist/typescript/module/src/runtime.types.d.ts.map +1 -1
  419. package/dist/typescript/module/src/utilities/dot-notation.types.d.ts +2 -1
  420. package/dist/typescript/module/src/utilities/dot-notation.types.d.ts.map +1 -1
  421. package/dist/typescript/module/src/utilities/index.d.ts +3 -3
  422. package/dist/typescript/module/src/utilities/index.d.ts.map +1 -1
  423. package/dist/typescript/module/src/utilities/specificity.d.ts +2 -2
  424. package/dist/typescript/module/src/utilities/specificity.d.ts.map +1 -1
  425. package/dist/typescript/module/src/utilities/style-descriptor.d.ts +1 -1
  426. package/dist/typescript/module/src/utilities/style-descriptor.d.ts.map +1 -1
  427. package/dist/typescript/module/src/web/api.d.ts +5 -5
  428. package/dist/typescript/module/src/web/api.d.ts.map +1 -1
  429. package/dist/typescript/module/src/web/assign-style.d.ts.map +1 -1
  430. package/dist/typescript/module/src/web/index.d.ts +3 -3
  431. package/dist/typescript/module/src/web/index.d.ts.map +1 -1
  432. package/node/babel.mjs +4 -0
  433. package/node/compiler.mjs +2 -0
  434. package/node/metro.mjs +2 -0
  435. package/package.json +63 -28
  436. package/src/babel/helpers.ts +8 -1
  437. package/src/babel/import-plugin.ts +31 -16
  438. package/src/babel/react-native-web.ts +32 -4
  439. package/src/babel/react-native.ts +9 -4
  440. package/src/compiler/atRules.ts +44 -0
  441. package/src/compiler/compiler.ts +78 -47
  442. package/src/compiler/compiler.types.ts +9 -0
  443. package/src/compiler/container-query.ts +8 -3
  444. package/src/compiler/declarations.ts +190 -101
  445. package/src/compiler/lightningcss-loader.ts +16 -15
  446. package/src/compiler/media-query.ts +20 -9
  447. package/src/compiler/selector-builder.ts +31 -4
  448. package/src/compiler/stylesheet.ts +17 -10
  449. package/src/components/ImageBackground.tsx +2 -6
  450. package/src/components/KeyboardAvoidingView.tsx +2 -3
  451. package/src/components/index.cts +46 -1
  452. package/src/jest/index.ts +1 -1
  453. package/src/metro/cache-version.ts +48 -0
  454. package/src/metro/index.ts +7 -0
  455. package/src/metro/metro-transformer.ts +26 -8
  456. package/src/metro/typescript.ts +53 -6
  457. package/src/metro/warnings.ts +187 -0
  458. package/src/native/api.tsx +22 -17
  459. package/src/native/conditions/attributes.ts +26 -9
  460. package/src/native/conditions/container-query.ts +11 -9
  461. package/src/native/conditions/media-query.ts +1 -1
  462. package/src/native/react/interaction.ts +11 -6
  463. package/src/native/react/rules.ts +13 -5
  464. package/src/native/react/useNativeCss.ts +69 -14
  465. package/src/native/react/usePassthrough.ts +3 -2
  466. package/src/native/reactivity.ts +76 -24
  467. package/src/native/reanimated.ts +24 -5
  468. package/src/native/styles/functions/color-mix.ts +45 -39
  469. package/src/native/styles/functions/filters.ts +14 -0
  470. package/src/native/styles/functions/numeric-functions.ts +7 -6
  471. package/src/native/styles/functions/string-functions.ts +18 -0
  472. package/src/native/styles/functions/transform-functions.ts +5 -4
  473. package/src/native/styles/index.ts +100 -13
  474. package/src/native/styles/resolve.ts +15 -11
  475. package/src/native/styles/scale-factor.ts +6 -0
  476. package/src/native/styles/shorthands/animation.ts +8 -2
  477. package/src/native/styles/shorthands/index.ts +1 -0
  478. package/src/native/styles/shorthands/logical-border-width.ts +32 -0
  479. package/src/native/styles/variables.ts +48 -38
  480. package/src/native-internal/root.ts +40 -13
  481. package/src/native-internal/style-collection.ts +1 -1
  482. package/src/native-internal/variables.tsx +6 -4
  483. package/src/runtime.types.ts +17 -15
  484. package/src/utilities/dot-notation.types.ts +4 -3
  485. package/src/utilities/style-descriptor.ts +11 -16
  486. package/src/web/api.tsx +6 -11
  487. package/src/web/assign-style.ts +2 -1
  488. package/types.d.ts +0 -20
  489. package/dist/commonjs/compiler/inheritance.test.js +0 -78
  490. package/dist/commonjs/compiler/inheritance.test.js.map +0 -1
  491. package/dist/module/compiler/inheritance.test.js +0 -78
  492. package/dist/module/compiler/inheritance.test.js.map +0 -1
  493. package/dist/typescript/commonjs/.config/eslint.config.d.mts +0 -3
  494. package/dist/typescript/commonjs/.config/eslint.config.d.mts.map +0 -1
  495. package/dist/typescript/commonjs/eslint.config.d.mts +0 -2
  496. package/dist/typescript/commonjs/eslint.config.d.mts.map +0 -1
  497. package/dist/typescript/commonjs/example/app.config.d.ts +0 -4
  498. package/dist/typescript/commonjs/example/app.config.d.ts.map +0 -1
  499. package/dist/typescript/commonjs/example/index.d.ts +0 -2
  500. package/dist/typescript/commonjs/example/index.d.ts.map +0 -1
  501. package/dist/typescript/commonjs/example/metro.config.d.ts +0 -3
  502. package/dist/typescript/commonjs/example/metro.config.d.ts.map +0 -1
  503. package/dist/typescript/commonjs/example/postcss.config.d.mts +0 -7
  504. package/dist/typescript/commonjs/example/postcss.config.d.mts.map +0 -1
  505. package/dist/typescript/commonjs/example/src/App.d.ts +0 -3
  506. package/dist/typescript/commonjs/example/src/App.d.ts.map +0 -1
  507. package/dist/typescript/commonjs/src/compiler/inheritance.test.d.ts +0 -2
  508. package/dist/typescript/commonjs/src/compiler/inheritance.test.d.ts.map +0 -1
  509. package/dist/typescript/module/.config/eslint.config.d.mts +0 -3
  510. package/dist/typescript/module/.config/eslint.config.d.mts.map +0 -1
  511. package/dist/typescript/module/eslint.config.d.mts +0 -2
  512. package/dist/typescript/module/eslint.config.d.mts.map +0 -1
  513. package/dist/typescript/module/example/app.config.d.ts +0 -4
  514. package/dist/typescript/module/example/app.config.d.ts.map +0 -1
  515. package/dist/typescript/module/example/index.d.ts +0 -2
  516. package/dist/typescript/module/example/index.d.ts.map +0 -1
  517. package/dist/typescript/module/example/metro.config.d.ts +0 -3
  518. package/dist/typescript/module/example/metro.config.d.ts.map +0 -1
  519. package/dist/typescript/module/example/postcss.config.d.mts +0 -7
  520. package/dist/typescript/module/example/postcss.config.d.mts.map +0 -1
  521. package/dist/typescript/module/example/src/App.d.ts +0 -3
  522. package/dist/typescript/module/example/src/App.d.ts.map +0 -1
  523. package/dist/typescript/module/src/compiler/inheritance.test.d.ts +0 -2
  524. package/dist/typescript/module/src/compiler/inheritance.test.d.ts.map +0 -1
  525. package/src/compiler/inheritance.test.ts +0 -121
package/CHANGELOG.md ADDED
@@ -0,0 +1,21 @@
1
+ # Changelog
2
+
3
+ ## <small>3.0.7 (2026-04-09)</small>
4
+
5
+ * fix: add missing style mapping on flatlist (#321) ([5cb6a43](https://github.com/nativewind/react-native-css/commit/5cb6a43)), closes [#321](https://github.com/nativewind/react-native-css/issues/321)
6
+
7
+ ## <small>3.0.6 (2026-03-20)</small>
8
+
9
+ * fix: bump version to 3.0.5 to match npm (#307) ([2eee527](https://github.com/nativewind/react-native-css/commit/2eee527)), closes [#307](https://github.com/nativewind/react-native-css/issues/307)
10
+
11
+ ## <small>3.0.5 (2026-03-15)</small>
12
+
13
+ * chore: add Claude Code skills for architecture and testing ([02bac92](https://github.com/nativewind/react-native-css/commit/02bac92))
14
+ * chore: add conventional changelog for GitHub releases (#294) ([251cdfc](https://github.com/nativewind/react-native-css/commit/251cdfc)), closes [#294](https://github.com/nativewind/react-native-css/issues/294)
15
+ * chore(deps): bump basic-ftp from 5.0.5 to 5.2.0 (#286) ([930095f](https://github.com/nativewind/react-native-css/commit/930095f)), closes [#286](https://github.com/nativewind/react-native-css/issues/286)
16
+ * chore(deps): bump minimatch from 3.1.2 to 3.1.5 (#289) ([ae42457](https://github.com/nativewind/react-native-css/commit/ae42457)), closes [#289](https://github.com/nativewind/react-native-css/issues/289)
17
+ * chore(deps): bump tar from 7.5.9 to 7.5.11 (#296) ([431852a](https://github.com/nativewind/react-native-css/commit/431852a)), closes [#296](https://github.com/nativewind/react-native-css/issues/296)
18
+ * docs: add DEVELOPMENT.md and CLAUDE.md for contributor tooling ([ed4e5b3](https://github.com/nativewind/react-native-css/commit/ed4e5b3))
19
+ * feat: add CSS @property rule support (#284) ([4ee27ab](https://github.com/nativewind/react-native-css/commit/4ee27ab)), closes [#284](https://github.com/nativewind/react-native-css/issues/284)
20
+ * feat: add inset shadow parsing support (#277) ([b0b35b1](https://github.com/nativewind/react-native-css/commit/b0b35b1)), closes [#277](https://github.com/nativewind/react-native-css/issues/277)
21
+ * fix(types): move @types/debug from devDependencies to dependencies (#290) ([43787dc](https://github.com/nativewind/react-native-css/commit/43787dc)), closes [#290](https://github.com/nativewind/react-native-css/issues/290)
package/README.md CHANGED
@@ -235,6 +235,30 @@ This API only allows for setting CSS variables as primitive values. For more com
235
235
  > [!IMPORTANT]
236
236
  > By using `VariableContext` you may need to disable the `inlineVariable` optimization
237
237
 
238
+ ## Compiler warnings
239
+
240
+ Not every CSS declaration has a React Native equivalent. When the compiler cannot translate one it drops that declaration, and Metro prints a summary for the stylesheet it came from:
241
+
242
+ ```
243
+ react-native-css: src/global.css - 3 declarations dropped, no React Native equivalent
244
+ properties: columns, float
245
+ values: z-index: auto
246
+ ```
247
+
248
+ The block also counts the syntax warnings lightningcss gives for CSS it cannot parse, such as an unknown at-rule, and lists their messages under `syntax:`. Those are fixed in the stylesheet itself.
249
+
250
+ A block is printed the first time a file is compiled, and after that only when the file's set of warnings changes — an incremental rebuild that changes nothing about them stays quiet. Warnings are advisory and never fail a build.
251
+
252
+ Use the `warnings` option to change how much is printed:
253
+
254
+ ```tsx
255
+ export default withReactNativeCSS(defaultConfig, {
256
+ warnings: "verbose", // "summary" (the default) | "verbose" | "none"
257
+ });
258
+ ```
259
+
260
+ `summary` lists the first ten entries of each channel, `verbose` lists every entry, and `none` prints nothing. A web bundle never runs the compiler, so this only affects native builds.
261
+
238
262
  ## Optimizations
239
263
 
240
264
  CSS is a dynamic styling language that use highly optimized engines that are not available in React Native. Instead, we optimize the styles to improve performance
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getInteropRequireDefaultSource = getInteropRequireDefaultSource;
7
+ exports.resolveImportSource = resolveImportSource;
8
+ var _path = require("path");
7
9
  function getInteropRequireDefaultSource(init, t) {
8
10
  if (!t.isIdentifier(init.callee, {
9
11
  name: "_interopRequireDefault"
@@ -22,4 +24,9 @@ function getInteropRequireDefaultSource(init, t) {
22
24
  }
23
25
  return requireArg.value;
24
26
  }
27
+
28
+ // The handlers match "/"-separated package paths, and path.resolve separates with "\" on Windows
29
+ function resolveImportSource(filename, source) {
30
+ return (0, _path.resolve)((0, _path.dirname)(filename), source).split(_path.sep).join("/");
31
+ }
25
32
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getInteropRequireDefaultSource","init","t","isIdentifier","callee","name","interopArg","arguments","at","isCallExpression","requireArg","isStringLiteral","value"],"sourceRoot":"../../../src","sources":["babel/helpers.ts"],"mappings":";;;;;;AAeO,SAASA,8BAA8BA,CAC5CC,IAAoB,EACpBC,CAAa,EACb;EACA,IAAI,CAACA,CAAC,CAACC,YAAY,CAACF,IAAI,CAACG,MAAM,EAAE;IAAEC,IAAI,EAAE;EAAyB,CAAC,CAAC,EAAE;IACpE;EACF;EAEA,MAAMC,UAAU,GAAGL,IAAI,CAACM,SAAS,CAACC,EAAE,CAAC,CAAC,CAAC;EAEvC,IACE,CAACN,CAAC,CAACO,gBAAgB,CAACH,UAAU,CAAC,IAC/B,CAACJ,CAAC,CAACC,YAAY,CAACG,UAAU,CAACF,MAAM,EAAE;IAAEC,IAAI,EAAE;EAAU,CAAC,CAAC,EACvD;IACA;EACF;EAEA,MAAMK,UAAU,GAAGJ,UAAU,CAACC,SAAS,CAACC,EAAE,CAAC,CAAC,CAAC;EAE7C,IAAI,CAACN,CAAC,CAACS,eAAe,CAACD,UAAU,CAAC,EAAE;IAClC;EACF;EAEA,OAAOA,UAAU,CAACE,KAAK;AACzB","ignoreList":[]}
1
+ {"version":3,"names":["_path","require","getInteropRequireDefaultSource","init","t","isIdentifier","callee","name","interopArg","arguments","at","isCallExpression","requireArg","isStringLiteral","value","resolveImportSource","filename","source","resolve","dirname","split","sep","join"],"sourceRoot":"../../../src","sources":["babel/helpers.ts"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAiBO,SAASC,8BAA8BA,CAC5CC,IAAoB,EACpBC,CAAa,EACb;EACA,IAAI,CAACA,CAAC,CAACC,YAAY,CAACF,IAAI,CAACG,MAAM,EAAE;IAAEC,IAAI,EAAE;EAAyB,CAAC,CAAC,EAAE;IACpE;EACF;EAEA,MAAMC,UAAU,GAAGL,IAAI,CAACM,SAAS,CAACC,EAAE,CAAC,CAAC,CAAC;EAEvC,IACE,CAACN,CAAC,CAACO,gBAAgB,CAACH,UAAU,CAAC,IAC/B,CAACJ,CAAC,CAACC,YAAY,CAACG,UAAU,CAACF,MAAM,EAAE;IAAEC,IAAI,EAAE;EAAU,CAAC,CAAC,EACvD;IACA;EACF;EAEA,MAAMK,UAAU,GAAGJ,UAAU,CAACC,SAAS,CAACC,EAAE,CAAC,CAAC,CAAC;EAE7C,IAAI,CAACN,CAAC,CAACS,eAAe,CAACD,UAAU,CAAC,EAAE;IAClC;EACF;EAEA,OAAOA,UAAU,CAACE,KAAK;AACzB;;AAEA;AACO,SAASC,mBAAmBA,CAACC,QAAgB,EAAEC,MAAc,EAAU;EAC5E,OAAO,IAAAC,aAAO,EAAC,IAAAC,aAAO,EAACH,QAAQ,CAAC,EAAEC,MAAM,CAAC,CAACG,KAAK,CAACC,SAAG,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AAChE","ignoreList":[]}
@@ -12,8 +12,9 @@ function _default({
12
12
  types: t
13
13
  }) {
14
14
  const processed = new WeakSet();
15
- const thisModuleDist = (0, _path.resolve)(__dirname, "../../../dist");
16
- const thisModuleSrc = (0, _path.resolve)(__dirname, "../../../src");
15
+ const packageRoot = (0, _path.resolve)(__dirname, (0, _path.basename)((0, _path.dirname)(__dirname)) === "src" ? "../.." : "../../..");
16
+ const thisModuleDist = (0, _path.resolve)(packageRoot, "dist") + _path.sep;
17
+ const thisModuleSrc = (0, _path.resolve)(packageRoot, "src") + _path.sep;
17
18
  function isFromThisModule(filename) {
18
19
  return filename.startsWith(thisModuleDist) || filename.startsWith(thisModuleSrc);
19
20
  }
@@ -21,10 +22,13 @@ function _default({
21
22
  name: "Rewrite react-native to react-native-css",
22
23
  visitor: {
23
24
  ImportDeclaration(path, state) {
24
- if (processed.has(path) || processed.has(path.node) || isFromThisModule(state.filename)) {
25
+ const {
26
+ filename
27
+ } = state;
28
+ if (filename === undefined || processed.has(path.node) || isFromThisModule(filename)) {
25
29
  return;
26
30
  }
27
- const statements = (0, _reactNative.handleReactNativeImport)(path.node, t, state.filename) ?? (0, _reactNativeWeb.handleReactNativeWebImport)(path.node, t, state.filename);
31
+ const statements = (0, _reactNative.handleReactNativeImport)(path.node, t, filename) ?? (0, _reactNativeWeb.handleReactNativeWebImport)(path.node, t, filename);
28
32
  if (!statements) {
29
33
  return;
30
34
  }
@@ -34,7 +38,10 @@ function _default({
34
38
  path.replaceWithMultiple(statements);
35
39
  },
36
40
  VariableDeclaration(path, state) {
37
- if (processed.has(path) || processed.has(path.node) || isFromThisModule(state.filename)) {
41
+ const {
42
+ filename
43
+ } = state;
44
+ if (filename === undefined || processed.has(path.node) || isFromThisModule(filename)) {
38
45
  return;
39
46
  }
40
47
  const firstDeclaration = path.node.declarations.at(0);
@@ -62,6 +69,11 @@ function _default({
62
69
  if (!(t.isIdentifier(id) || t.isObjectPattern(id))) {
63
70
  return;
64
71
  }
72
+
73
+ // A local function called require is not the module loader.
74
+ if (path.scope.getBinding("require")) {
75
+ return;
76
+ }
65
77
  const initArg = init.arguments.at(0);
66
78
  if (!initArg) {
67
79
  return;
@@ -72,11 +84,11 @@ function _default({
72
84
  if (t.isIdentifier(id) && t.isIdentifier(init.callee, {
73
85
  name: "require"
74
86
  }) && t.isStringLiteral(initArg)) {
75
- statements = (0, _reactNative.handleReactNativeIdentifierRequire)(path, t, id.name, initArg.value, state.filename) ?? (0, _reactNativeWeb.handleReactNativeWebIdentifierRequire)(path, t, id.name, initArg.value, state.filename);
87
+ statements = (0, _reactNative.handleReactNativeIdentifierRequire)(path, t, id.name, initArg.value, filename) ?? (0, _reactNativeWeb.handleReactNativeWebIdentifierRequire)(path, t, id.name, initArg.value, filename);
76
88
  } else if (t.isObjectPattern(id) && t.isIdentifier(init.callee, {
77
89
  name: "require"
78
90
  }) && t.isStringLiteral(initArg)) {
79
- statements = (0, _reactNative.handleReactNativeObjectPatternRequire)(path, t, id, initArg.value, state.filename) ?? (0, _reactNativeWeb.handleReactNativeWebObjectPatternRequire)(path, t, id, initArg.value, state.filename);
91
+ statements = (0, _reactNative.handleReactNativeObjectPatternRequire)(path, t, id, initArg.value, filename) ?? (0, _reactNativeWeb.handleReactNativeWebObjectPatternRequire)(path, t, id, initArg.value, filename);
80
92
  } else if (t.isIdentifier(id) && t.isIdentifier(init.callee, {
81
93
  name: "_interopRequireDefault"
82
94
  })) {
@@ -85,7 +97,7 @@ function _default({
85
97
  if (!source) {
86
98
  return;
87
99
  }
88
- statements = (0, _reactNativeWeb.handleReactNativeWebIdentifierRequire)(path, t, id.name, source, state.filename);
100
+ statements = (0, _reactNativeWeb.handleReactNativeWebInteropRequireDefault)(path, t, id.name, init, source, filename);
89
101
  }
90
102
  if (!statements) {
91
103
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["_path","require","_helpers","_reactNative","_reactNativeWeb","_default","types","t","processed","WeakSet","thisModuleDist","resolve","__dirname","thisModuleSrc","isFromThisModule","filename","startsWith","name","visitor","ImportDeclaration","path","state","has","node","statements","handleReactNativeImport","handleReactNativeWebImport","statement","add","replaceWithMultiple","VariableDeclaration","firstDeclaration","declarations","at","length","init","id","isCallExpression","isIdentifier","isObjectPattern","initArg","arguments","callee","isStringLiteral","handleReactNativeIdentifierRequire","value","handleReactNativeWebIdentifierRequire","handleReactNativeObjectPatternRequire","handleReactNativeWebObjectPatternRequire","source","getInteropRequireDefaultSource"],"sourceRoot":"../../../src","sources":["babel/import-plugin.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_path","require","_helpers","_reactNative","_reactNativeWeb","_default","types","t","processed","WeakSet","packageRoot","resolve","__dirname","basename","dirname","thisModuleDist","sep","thisModuleSrc","isFromThisModule","filename","startsWith","name","visitor","ImportDeclaration","path","state","undefined","has","node","statements","handleReactNativeImport","handleReactNativeWebImport","statement","add","replaceWithMultiple","VariableDeclaration","firstDeclaration","declarations","at","length","init","id","isCallExpression","isIdentifier","isObjectPattern","scope","getBinding","initArg","arguments","callee","isStringLiteral","handleReactNativeIdentifierRequire","value","handleReactNativeWebIdentifierRequire","handleReactNativeObjectPatternRequire","handleReactNativeWebObjectPatternRequire","source","getInteropRequireDefaultSource","handleReactNativeWebInteropRequireDefault"],"sourceRoot":"../../../src","sources":["babel/import-plugin.ts"],"mappings":"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","ignoreList":[]}
@@ -5,12 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.handleReactNativeWebIdentifierRequire = handleReactNativeWebIdentifierRequire;
7
7
  exports.handleReactNativeWebImport = handleReactNativeWebImport;
8
+ exports.handleReactNativeWebInteropRequireDefault = handleReactNativeWebInteropRequireDefault;
8
9
  exports.handleReactNativeWebObjectPatternRequire = handleReactNativeWebObjectPatternRequire;
9
- var _path = require("path");
10
10
  var _allowedModules = require("./allowedModules.js");
11
+ var _helpers = require("./helpers.js");
11
12
  function parseReactNativeWebSource(source, filename) {
12
13
  if (source.startsWith(".")) {
13
- source = (0, _path.resolve)(filename, source);
14
+ source = (0, _helpers.resolveImportSource)(filename, source);
14
15
  const internalPath = source.split("react-native-web/dist")[1];
15
16
  if (!internalPath) {
16
17
  return;
@@ -40,6 +41,7 @@ function handleReactNativeWebImport(declaration, t, filename) {
40
41
  specifiers,
41
42
  source
42
43
  } = declaration;
44
+ if (declaration.importKind && declaration.importKind !== "value") return;
43
45
  const rnwSource = parseReactNativeWebSource(source.value, filename);
44
46
  if (!rnwSource) {
45
47
  return;
@@ -57,11 +59,15 @@ function handleReactNativeWebImport(declaration, t, filename) {
57
59
  if (!name) {
58
60
  statements.push(t.importDeclaration([t.importDefaultSpecifier(specifier.local)], t.stringLiteral(newSource)));
59
61
  } else {
60
- statements.push(t.importDeclaration([t.importSpecifier(specifier.local, specifier.local)], t.stringLiteral(`react-native-css/components/${name}`)));
62
+ statements.push(t.importDeclaration([t.importSpecifier(specifier.local, t.identifier(name))], t.stringLiteral(`react-native-css/components/${name}`)));
61
63
  }
62
64
  } else if (t.isImportNamespaceSpecifier(specifier)) {
63
65
  statements.push(t.importDeclaration([specifier], t.stringLiteral("react-native-css/components")));
64
66
  } else {
67
+ if (specifier.importKind && specifier.importKind !== "value") {
68
+ statements.push(t.importDeclaration([specifier], source));
69
+ continue;
70
+ }
65
71
  const localName = t.isStringLiteral(specifier.imported) ? specifier.imported.value : specifier.imported.name;
66
72
  if (!_allowedModules.allowedModules.has(localName)) {
67
73
  statements.push(t.importDeclaration([specifier], source));
@@ -87,6 +93,13 @@ function handleReactNativeWebIdentifierRequire(path, t, id, source, filename) {
87
93
  return [t.variableDeclaration(path.node.kind, [t.variableDeclarator(t.identifier(id), t.callExpression(t.identifier("require"), [t.stringLiteral(newSource)]))])];
88
94
  }
89
95
  }
96
+ function handleReactNativeWebInteropRequireDefault(path, t, id, init, source, filename) {
97
+ const parsed = parseReactNativeWebSource(source, filename);
98
+ if (!parsed) return;
99
+ const wrapped = t.cloneNode(init);
100
+ wrapped.arguments = [t.callExpression(t.identifier("require"), [t.stringLiteral(parsed.source)])];
101
+ return [t.variableDeclaration(path.node.kind, [t.variableDeclarator(t.identifier(id), wrapped)])];
102
+ }
90
103
  function handleReactNativeWebObjectPatternRequire(path, t, id, source, filename) {
91
104
  const parsedSource = parseReactNativeWebSource(source, filename);
92
105
 
@@ -100,7 +113,7 @@ function handleReactNativeWebObjectPatternRequire(path, t, id, source, filename)
100
113
  // Bail out on `const { ...rest } = require('react-native-web');`
101
114
  // We need to exit as we do not handle `const { Text, ...rest } = require('react-native-web');`
102
115
  return;
103
- } else if (!(t.isIdentifier(identifier.value) && t.isIdentifier(identifier.key))) {
116
+ } else if (identifier.computed || !(t.isIdentifier(identifier.value) && t.isIdentifier(identifier.key))) {
104
117
  // Bail out on anything that isn't `const { <key>: <identifier> } = require('react-native-web');`
105
118
  return;
106
119
  } else {
@@ -1 +1 @@
1
- {"version":3,"names":["_path","require","_allowedModules","parseReactNativeWebSource","source","filename","startsWith","resolve","internalPath","split","name","at","allowedModules","has","handleReactNativeWebImport","declaration","t","specifiers","rnwSource","value","length","importDeclaration","stringLiteral","statements","specifier","isImportDefaultSpecifier","newSource","push","importDefaultSpecifier","local","importSpecifier","isImportNamespaceSpecifier","localName","isStringLiteral","imported","handleReactNativeWebIdentifierRequire","path","id","parsedSource","variableDeclaration","node","kind","variableDeclarator","objectPattern","objectProperty","identifier","callExpression","handleReactNativeWebObjectPatternRequire","properties","isRestElement","isIdentifier","key","newSourceWithName"],"sourceRoot":"../../../src","sources":["babel/react-native-web.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_allowedModules","require","_helpers","parseReactNativeWebSource","source","filename","startsWith","resolveImportSource","internalPath","split","name","at","allowedModules","has","handleReactNativeWebImport","declaration","t","specifiers","importKind","rnwSource","value","length","importDeclaration","stringLiteral","statements","specifier","isImportDefaultSpecifier","newSource","push","importDefaultSpecifier","local","importSpecifier","identifier","isImportNamespaceSpecifier","localName","isStringLiteral","imported","handleReactNativeWebIdentifierRequire","path","id","parsedSource","variableDeclaration","node","kind","variableDeclarator","objectPattern","objectProperty","callExpression","handleReactNativeWebInteropRequireDefault","init","parsed","wrapped","cloneNode","arguments","handleReactNativeWebObjectPatternRequire","properties","isRestElement","computed","isIdentifier","key","newSourceWithName"],"sourceRoot":"../../../src","sources":["babel/react-native-web.ts"],"mappings":"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","ignoreList":[]}
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.handleReactNativeIdentifierRequire = handleReactNativeIdentifierRequire;
7
7
  exports.handleReactNativeImport = handleReactNativeImport;
8
8
  exports.handleReactNativeObjectPatternRequire = handleReactNativeObjectPatternRequire;
9
- var _path = require("path");
10
9
  var _allowedModules = require("./allowedModules.js");
10
+ var _helpers = require("./helpers.js");
11
11
  function parseReactNativeSource(source, filename) {
12
12
  if (source.startsWith(".")) {
13
- source = (0, _path.resolve)((0, _path.dirname)(filename), source);
13
+ source = (0, _helpers.resolveImportSource)(filename, source);
14
14
  const internalPath = source.split("react-native/Libraries/Components/")[1];
15
15
  if (!internalPath) {
16
16
  return;
@@ -40,6 +40,7 @@ function handleReactNativeImport(declaration, t, filename) {
40
40
  specifiers,
41
41
  source
42
42
  } = declaration;
43
+ if (declaration.importKind && declaration.importKind !== "value") return;
43
44
  const rnwSource = parseReactNativeSource(source.value, filename);
44
45
  if (!rnwSource) {
45
46
  return;
@@ -57,11 +58,15 @@ function handleReactNativeImport(declaration, t, filename) {
57
58
  if (!name) {
58
59
  statements.push(t.importDeclaration([t.importDefaultSpecifier(specifier.local)], t.stringLiteral(newSource)));
59
60
  } else {
60
- statements.push(t.importDeclaration([t.importSpecifier(specifier.local, specifier.local)], t.stringLiteral(`react-native-css/components/${name}`)));
61
+ statements.push(t.importDeclaration([t.importSpecifier(specifier.local, t.identifier(name))], t.stringLiteral(`react-native-css/components/${name}`)));
61
62
  }
62
63
  } else if (t.isImportNamespaceSpecifier(specifier)) {
63
64
  statements.push(t.importDeclaration([specifier], t.stringLiteral("react-native-css/components")));
64
65
  } else {
66
+ if (specifier.importKind && specifier.importKind !== "value") {
67
+ statements.push(t.importDeclaration([specifier], source));
68
+ continue;
69
+ }
65
70
  const localName = t.isStringLiteral(specifier.imported) ? specifier.imported.value : specifier.imported.name;
66
71
  if (!_allowedModules.allowedModules.has(localName)) {
67
72
  statements.push(t.importDeclaration([specifier], source));
@@ -100,7 +105,7 @@ function handleReactNativeObjectPatternRequire(path, t, id, source, filename) {
100
105
  // Bail out on `const { ...rest } = require('react-native');`
101
106
  // We need to exit as we do not handle `const { Text, ...rest } = require('react-native');`
102
107
  return;
103
- } else if (!(t.isIdentifier(identifier.value) && t.isIdentifier(identifier.key))) {
108
+ } else if (identifier.computed || !(t.isIdentifier(identifier.value) && t.isIdentifier(identifier.key))) {
104
109
  // Bail out on anything that isn't `const { <key>: <identifier> } = require('react-native');`
105
110
  return;
106
111
  } else {
@@ -1 +1 @@
1
- {"version":3,"names":["_path","require","_allowedModules","parseReactNativeSource","source","filename","startsWith","resolve","dirname","internalPath","split","name","at","allowedModules","has","handleReactNativeImport","declaration","t","specifiers","rnwSource","value","length","importDeclaration","stringLiteral","statements","specifier","isImportDefaultSpecifier","newSource","push","importDefaultSpecifier","local","importSpecifier","isImportNamespaceSpecifier","localName","isStringLiteral","imported","handleReactNativeIdentifierRequire","path","id","parsedSource","variableDeclaration","node","kind","variableDeclarator","objectPattern","objectProperty","identifier","callExpression","handleReactNativeObjectPatternRequire","properties","isRestElement","isIdentifier","key","newSourceWithName"],"sourceRoot":"../../../src","sources":["babel/react-native.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_allowedModules","require","_helpers","parseReactNativeSource","source","filename","startsWith","resolveImportSource","internalPath","split","name","at","allowedModules","has","handleReactNativeImport","declaration","t","specifiers","importKind","rnwSource","value","length","importDeclaration","stringLiteral","statements","specifier","isImportDefaultSpecifier","newSource","push","importDefaultSpecifier","local","importSpecifier","identifier","isImportNamespaceSpecifier","localName","isStringLiteral","imported","handleReactNativeIdentifierRequire","path","id","parsedSource","variableDeclaration","node","kind","variableDeclarator","objectPattern","objectProperty","callExpression","handleReactNativeObjectPatternRequire","properties","isRestElement","computed","isIdentifier","key","newSourceWithName"],"sourceRoot":"../../../src","sources":["babel/react-native.ts"],"mappings":"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","ignoreList":[]}
@@ -3,8 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.isMappingProperty = isMappingProperty;
6
7
  exports.maybeMutateReactNativeOptions = maybeMutateReactNativeOptions;
7
8
  exports.parsePropAtRule = parsePropAtRule;
9
+ exports.parsePropDeclarations = parsePropDeclarations;
8
10
  var _selectors = require("./selectors.js");
9
11
  var _splitByDelimiter = require("./split-by-delimiter.js");
10
12
  /***********************************************
@@ -64,6 +66,39 @@ function parsePropAtRule(rules) {
64
66
  }
65
67
  return mapping;
66
68
  }
69
+ const mappingProperty = "-rn-native-mapping";
70
+ function isMappingProperty(name) {
71
+ return name === mappingProperty || name.startsWith(`${mappingProperty}-`);
72
+ }
73
+
74
+ /** Declaration metadata survives the optimizer flattening nested at rules. */
75
+ function parsePropDeclarations(declarations = []) {
76
+ const mapping = {};
77
+ for (const declaration of declarations) {
78
+ if (declaration.property !== "custom" || !isMappingProperty(declaration.value.name)) {
79
+ continue;
80
+ }
81
+ const {
82
+ name,
83
+ value
84
+ } = declaration.value;
85
+ const target = value.filter(item => item.type === "token" && item.value.type !== "white-space");
86
+ if (target.length === 0) continue;
87
+ nativeMappingAtRuleBlock([{
88
+ type: "token",
89
+ value: {
90
+ type: "ident",
91
+ value: name === mappingProperty ? "*" : name.slice(mappingProperty.length + 1)
92
+ }
93
+ }, {
94
+ type: "token",
95
+ value: {
96
+ type: "colon"
97
+ }
98
+ }, ...target], mapping);
99
+ }
100
+ return mapping;
101
+ }
67
102
  function nativeMappingAtRuleBlock(token, mapping = {}) {
68
103
  let [from, to] = (0, _splitByDelimiter.splitByDelimiter)(token, item => {
69
104
  return item.value.type === "colon";
@@ -1 +1 @@
1
- {"version":3,"names":["_selectors","require","_splitByDelimiter","maybeMutateReactNativeOptions","rule","_builder","type","value","name","isNativeMappingAtRule","parsePropAtRule","rules","mapping","prelude","length","filter","item","nativeMappingAtRuleBlock","block","blocks","blockRules","splitByDelimiter","token","from","to","fromToken","flatMap","index","split","map","part","toRNProperty"],"sourceRoot":"../../../src","sources":["compiler/atRules.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_selectors","require","_splitByDelimiter","maybeMutateReactNativeOptions","rule","_builder","type","value","name","isNativeMappingAtRule","parsePropAtRule","rules","mapping","prelude","length","filter","item","nativeMappingAtRuleBlock","block","blocks","blockRules","splitByDelimiter","mappingProperty","isMappingProperty","startsWith","parsePropDeclarations","declarations","declaration","property","target","slice","token","from","to","fromToken","flatMap","index","split","map","part","toRNProperty"],"sourceRoot":"../../../src","sources":["compiler/atRules.ts"],"mappings":"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","ignoreList":[]}
@@ -19,6 +19,18 @@ var _supports = require("./supports.js");
19
19
 
20
20
  const defaultLogger = (0, _debug.debug)("react-native-css:compiler");
21
21
 
22
+ // lightningcss reports this package's own at-rule as unknown
23
+ const OWN_AT_RULE_WARNING = "Unknown at rule: @nativeMapping";
24
+
25
+ // The warning is the only record of what lightningcss could not parse; only the first pass reads the author's CSS
26
+ function reportSyntaxWarnings(builder, warnings) {
27
+ for (const warning of warnings) {
28
+ if (warning.message !== OWN_AT_RULE_WARNING) {
29
+ builder.addSyntaxWarning(warning.message);
30
+ }
31
+ }
32
+ }
33
+
22
34
  /**
23
35
  * Converts a CSS file to a collection of style declarations that can be used with the StyleSheet API
24
36
  *
@@ -68,8 +80,20 @@ function compile(code, options = {}) {
68
80
  const css = typeof code === "string" ? code : code.toString();
69
81
  const match = css.match(/:root\s*\{[^}]*font-size:\s*([\d.]+)px/);
70
82
  effectiveRem = match?.[1] ? parseFloat(match[1]) : 14;
83
+ options.inlineRem = effectiveRem;
71
84
  }
72
- const firstPassVisitor = {};
85
+ const firstPassVisitor = {
86
+ Rule(rule) {
87
+ if (rule.type === "unknown" && ["cssInterop", "react-native"].includes(rule.value.name)) {
88
+ throw new Error(`Unsupported @${rule.value.name} configuration. Use the compiler inlineVariables.exclude option to preserve variables, @media (prefers-color-scheme: dark) for dark mode, and React Native Appearance.setColorScheme() for manual selection.`);
89
+ }
90
+ // Reject before variable inlining can erase an unsupported condition and
91
+ // accidentally turn its values into unconditional declarations.
92
+ if (rule.type === "style" && rule.value.selectors.some(selector => selector.some(part => part.type === "pseudo-class" && part.kind === "root") && selector.some(part => part.type === "class" || part.type === "attribute" && part.name === "class"))) {
93
+ throw new Error("Class-qualified :root selectors are unsupported on native. Use @media (prefers-color-scheme: dark) for dark mode, and React Native Appearance.setColorScheme() for manual selection.");
94
+ }
95
+ }
96
+ };
73
97
  if (effectiveRem !== false) {
74
98
  const remMultiplier = effectiveRem;
75
99
  firstPassVisitor.Length = length => {
@@ -105,7 +129,8 @@ function compile(code, options = {}) {
105
129
  };
106
130
  }
107
131
  const {
108
- code: firstPass
132
+ code: firstPass,
133
+ warnings: firstPassWarnings
109
134
  } = lightningcss({
110
135
  code: typeof code === "string" ? new TextEncoder().encode(code) : code,
111
136
  include: Features.DoublePositionGradients | Features.ColorFunction,
@@ -157,6 +182,7 @@ function compile(code, options = {}) {
157
182
  filename: options.filename ?? "style.css",
158
183
  projectRoot: options.projectRoot ?? process.cwd()
159
184
  });
185
+ reportSyntaxWarnings(builder, firstPassWarnings);
160
186
  return {
161
187
  stylesheet: () => builder.getNativeStyleSheet(),
162
188
  warnings: () => builder.getWarnings()
@@ -220,7 +246,9 @@ function extractRule(rule, builder, mapping = {}) {
220
246
  const declarationBlock = value.declarations;
221
247
  mapping = {
222
248
  ...mapping,
223
- ...(0, _atRules.parsePropAtRule)(value.rules)
249
+ ...(0, _atRules.parsePropAtRule)(value.rules),
250
+ ...(0, _atRules.parsePropDeclarations)(declarationBlock?.declarations),
251
+ ...(0, _atRules.parsePropDeclarations)(declarationBlock?.importantDeclarations)
224
252
  };
225
253
 
226
254
  // If the rule is a style declaration, extract it with the `getExtractedStyle` function and store it in the `declarations` map
@@ -298,33 +326,16 @@ function extractRule(rule, builder, mapping = {}) {
298
326
  * @returns undefined if no screen media queries are found in the mediaRule, else it returns the extracted styles.
299
327
  */
300
328
  function extractMedia(mediaRule, builder, mapping) {
301
- builder = builder.fork("media");
302
-
303
- // Initialize an empty array to store screen media queries
304
- const media = [];
305
-
306
- // Iterate over all media queries in the mediaRule
329
+ // Comma separated queries are alternatives. Each branch inherits the outer
330
+ // conditions without adding its siblings as required conjunctions.
307
331
  for (const mediaQuery of mediaRule.query.mediaQueries) {
308
- if (
309
- // If this is only a media query
310
- mediaQuery.mediaType === "print" && mediaQuery.qualifier !== "not" ||
311
- // If this is a @media not print {}
312
- // We can only do this if there are no conditions, as @media not print and (min-width: 100px) could be valid
313
- mediaQuery.mediaType !== "print" && mediaQuery.qualifier === "not" && mediaQuery.condition === null) {
332
+ const queryBuilder = builder.fork("media");
333
+ if (!(0, _mediaQuery.parseMediaQuery)(mediaQuery, queryBuilder)) {
314
334
  continue;
315
335
  }
316
- media.push(mediaQuery);
317
- }
318
- if (media.length === 0) {
319
- return;
320
- }
321
- for (const m of media) {
322
- (0, _mediaQuery.parseMediaQuery)(m, builder);
323
- }
324
-
325
- // Iterate over all rules in the mediaRule and extract their styles using the updated CompilerCollection
326
- for (const rule of mediaRule.rules) {
327
- extractRule(rule, builder, mapping);
336
+ for (const rule of mediaRule.rules) {
337
+ extractRule(rule, queryBuilder, mapping);
338
+ }
328
339
  }
329
340
  }
330
341
 
@@ -337,8 +348,13 @@ function extractContainer(containerRule, builder, mapping) {
337
348
  builder = builder.fork("container");
338
349
 
339
350
  // Iterate over all rules inside the containerRule and extract their styles using the updated CompilerCollection
351
+ const condition = (0, _containerQuery.parseContainerCondition)(containerRule.condition, builder);
352
+ if (!condition) {
353
+ // An unsupported condition must not turn into an unconditional container.
354
+ return;
355
+ }
340
356
  const query = {
341
- m: (0, _containerQuery.parseContainerCondition)(containerRule.condition, builder)
357
+ m: condition
342
358
  };
343
359
  if (containerRule.name) {
344
360
  query.n = `c:${containerRule.name}`;