react-native-css 0.0.0-nightly.d6f42ab → 0.0.0-nightly.df32ce3

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 (565) hide show
  1. package/README.md +29 -5
  2. package/dist/commonjs/babel/helpers.js +7 -0
  3. package/dist/commonjs/babel/helpers.js.map +1 -1
  4. package/dist/commonjs/babel/import-plugin.js +20 -8
  5. package/dist/commonjs/babel/import-plugin.js.map +1 -1
  6. package/dist/commonjs/babel/react-native-web.js +17 -4
  7. package/dist/commonjs/babel/react-native-web.js.map +1 -1
  8. package/dist/commonjs/babel/react-native.js +9 -4
  9. package/dist/commonjs/babel/react-native.js.map +1 -1
  10. package/dist/commonjs/compiler/atRules.js +35 -0
  11. package/dist/commonjs/compiler/atRules.js.map +1 -1
  12. package/dist/commonjs/compiler/compiler.js +107 -32
  13. package/dist/commonjs/compiler/compiler.js.map +1 -1
  14. package/dist/commonjs/compiler/container-query.js +6 -1
  15. package/dist/commonjs/compiler/container-query.js.map +1 -1
  16. package/dist/commonjs/compiler/declarations.js +149 -57
  17. package/dist/commonjs/compiler/declarations.js.map +1 -1
  18. package/dist/commonjs/compiler/lightningcss-loader.js +15 -2
  19. package/dist/commonjs/compiler/lightningcss-loader.js.map +1 -1
  20. package/dist/commonjs/compiler/media-query.js +16 -6
  21. package/dist/commonjs/compiler/media-query.js.map +1 -1
  22. package/dist/commonjs/compiler/selector-builder.js +15 -4
  23. package/dist/commonjs/compiler/selector-builder.js.map +1 -1
  24. package/dist/commonjs/compiler/stylesheet.js +16 -3
  25. package/dist/commonjs/compiler/stylesheet.js.map +1 -1
  26. package/dist/commonjs/compiler/supports.js +2 -2
  27. package/dist/commonjs/compiler/supports.js.map +1 -1
  28. package/dist/commonjs/components/FlatList.js +1 -0
  29. package/dist/commonjs/components/FlatList.js.map +1 -1
  30. package/dist/commonjs/components/ImageBackground.js +2 -6
  31. package/dist/commonjs/components/ImageBackground.js.map +1 -1
  32. package/dist/commonjs/components/KeyboardAvoidingView.js +2 -3
  33. package/dist/commonjs/components/KeyboardAvoidingView.js.map +1 -1
  34. package/dist/commonjs/components/SafeAreaProvider.js +13 -0
  35. package/dist/commonjs/components/SafeAreaProvider.js.map +1 -0
  36. package/dist/commonjs/components/index.cjs +46 -1
  37. package/dist/commonjs/components/index.cjs.map +1 -1
  38. package/dist/commonjs/jest/index.js +1 -1
  39. package/dist/commonjs/jest/index.js.map +1 -1
  40. package/dist/commonjs/metro/cache-version.js +43 -0
  41. package/dist/commonjs/metro/cache-version.js.map +1 -0
  42. package/dist/commonjs/metro/index.js +2 -0
  43. package/dist/commonjs/metro/index.js.map +1 -1
  44. package/dist/commonjs/metro/metro-transformer.js +16 -3
  45. package/dist/commonjs/metro/metro-transformer.js.map +1 -1
  46. package/dist/commonjs/metro/typescript.js +26 -6
  47. package/dist/commonjs/metro/typescript.js.map +1 -1
  48. package/dist/commonjs/metro/warnings.js +135 -0
  49. package/dist/commonjs/metro/warnings.js.map +1 -0
  50. package/dist/commonjs/native/api.js +13 -9
  51. package/dist/commonjs/native/api.js.map +1 -1
  52. package/dist/commonjs/native/conditions/attributes.js +16 -9
  53. package/dist/commonjs/native/conditions/attributes.js.map +1 -1
  54. package/dist/commonjs/native/conditions/container-query.js +11 -11
  55. package/dist/commonjs/native/conditions/container-query.js.map +1 -1
  56. package/dist/commonjs/native/conditions/media-query.js +1 -1
  57. package/dist/commonjs/native/conditions/media-query.js.map +1 -1
  58. package/dist/commonjs/native/react/interaction.js +10 -5
  59. package/dist/commonjs/native/react/interaction.js.map +1 -1
  60. package/dist/commonjs/native/react/rules.js +12 -5
  61. package/dist/commonjs/native/react/rules.js.map +1 -1
  62. package/dist/commonjs/native/react/useNativeCss.js +70 -15
  63. package/dist/commonjs/native/react/useNativeCss.js.map +1 -1
  64. package/dist/commonjs/native/react/usePassthrough.js +5 -2
  65. package/dist/commonjs/native/react/usePassthrough.js.map +1 -1
  66. package/dist/commonjs/native/reactivity.js +61 -24
  67. package/dist/commonjs/native/reactivity.js.map +1 -1
  68. package/dist/commonjs/native/reanimated.js +15 -3
  69. package/dist/commonjs/native/reanimated.js.map +1 -1
  70. package/dist/commonjs/native/styles/functions/color-mix.js +64 -0
  71. package/dist/commonjs/native/styles/functions/color-mix.js.map +1 -0
  72. package/dist/commonjs/native/styles/functions/filters.js +18 -5
  73. package/dist/commonjs/native/styles/functions/filters.js.map +1 -1
  74. package/dist/commonjs/native/styles/functions/index.js +11 -0
  75. package/dist/commonjs/native/styles/functions/index.js.map +1 -1
  76. package/dist/commonjs/native/styles/functions/numeric-functions.js +4 -3
  77. package/dist/commonjs/native/styles/functions/numeric-functions.js.map +1 -1
  78. package/dist/commonjs/native/styles/functions/string-functions.js +16 -1
  79. package/dist/commonjs/native/styles/functions/string-functions.js.map +1 -1
  80. package/dist/commonjs/native/styles/functions/transform-functions.js +5 -4
  81. package/dist/commonjs/native/styles/functions/transform-functions.js.map +1 -1
  82. package/dist/commonjs/native/styles/index.js +382 -28
  83. package/dist/commonjs/native/styles/index.js.map +1 -1
  84. package/dist/commonjs/native/styles/resolve.js +10 -6
  85. package/dist/commonjs/native/styles/resolve.js.map +1 -1
  86. package/dist/commonjs/native/styles/scale-factor.js +13 -0
  87. package/dist/commonjs/native/styles/scale-factor.js.map +1 -0
  88. package/dist/commonjs/native/styles/shorthands/_handler.js +10 -0
  89. package/dist/commonjs/native/styles/shorthands/_handler.js.map +1 -1
  90. package/dist/commonjs/native/styles/shorthands/animation.js +6 -3
  91. package/dist/commonjs/native/styles/shorthands/animation.js.map +1 -1
  92. package/dist/commonjs/native/styles/shorthands/box-shadow.js +45 -12
  93. package/dist/commonjs/native/styles/shorthands/box-shadow.js.map +1 -1
  94. package/dist/commonjs/native/styles/shorthands/index.js +11 -0
  95. package/dist/commonjs/native/styles/shorthands/index.js.map +1 -1
  96. package/dist/commonjs/native/styles/shorthands/logical-border-width.js +22 -0
  97. package/dist/commonjs/native/styles/shorthands/logical-border-width.js.map +1 -0
  98. package/dist/commonjs/native/styles/variables.js +55 -43
  99. package/dist/commonjs/native/styles/variables.js.map +1 -1
  100. package/dist/commonjs/native-internal/root.js +18 -7
  101. package/dist/commonjs/native-internal/root.js.map +1 -1
  102. package/dist/commonjs/native-internal/style-collection.js +1 -1
  103. package/dist/commonjs/native-internal/style-collection.js.map +1 -1
  104. package/dist/commonjs/native-internal/variables.js +1 -1
  105. package/dist/commonjs/native-internal/variables.js.map +1 -1
  106. package/dist/commonjs/utilities/dot-notation.types.js +4 -0
  107. package/dist/commonjs/utilities/style-descriptor.js +4 -9
  108. package/dist/commonjs/utilities/style-descriptor.js.map +1 -1
  109. package/dist/commonjs/web/api.js +2 -2
  110. package/dist/commonjs/web/api.js.map +1 -1
  111. package/dist/commonjs/web/assign-style.js +4 -1
  112. package/dist/commonjs/web/assign-style.js.map +1 -1
  113. package/dist/module/babel/helpers.js +6 -0
  114. package/dist/module/babel/helpers.js.map +1 -1
  115. package/dist/module/babel/import-plugin.js +22 -10
  116. package/dist/module/babel/import-plugin.js.map +1 -1
  117. package/dist/module/babel/react-native-web.js +16 -4
  118. package/dist/module/babel/react-native-web.js.map +1 -1
  119. package/dist/module/babel/react-native.js +9 -4
  120. package/dist/module/babel/react-native.js.map +1 -1
  121. package/dist/module/compiler/atRules.js +33 -0
  122. package/dist/module/compiler/atRules.js.map +1 -1
  123. package/dist/module/compiler/compiler.js +109 -34
  124. package/dist/module/compiler/compiler.js.map +1 -1
  125. package/dist/module/compiler/compiler.types.js +2 -0
  126. package/dist/module/compiler/compiler.types.js.map +1 -1
  127. package/dist/module/compiler/container-query.js +6 -1
  128. package/dist/module/compiler/container-query.js.map +1 -1
  129. package/dist/module/compiler/declarations.js +148 -57
  130. package/dist/module/compiler/declarations.js.map +1 -1
  131. package/dist/module/compiler/lightningcss-loader.js +14 -2
  132. package/dist/module/compiler/lightningcss-loader.js.map +1 -1
  133. package/dist/module/compiler/media-query.js +16 -6
  134. package/dist/module/compiler/media-query.js.map +1 -1
  135. package/dist/module/compiler/selector-builder.js +15 -4
  136. package/dist/module/compiler/selector-builder.js.map +1 -1
  137. package/dist/module/compiler/stylesheet.js +16 -3
  138. package/dist/module/compiler/stylesheet.js.map +1 -1
  139. package/dist/module/compiler/supports.js +2 -2
  140. package/dist/module/compiler/supports.js.map +1 -1
  141. package/dist/module/components/FlatList.js +1 -0
  142. package/dist/module/components/FlatList.js.map +1 -1
  143. package/dist/module/components/ImageBackground.js +2 -6
  144. package/dist/module/components/ImageBackground.js.map +1 -1
  145. package/dist/module/components/KeyboardAvoidingView.js +2 -3
  146. package/dist/module/components/KeyboardAvoidingView.js.map +1 -1
  147. package/dist/module/components/SafeAreaProvider.js +4 -0
  148. package/dist/module/components/SafeAreaProvider.js.map +1 -0
  149. package/dist/module/components/index.cjs +46 -1
  150. package/dist/module/components/index.cjs.map +1 -1
  151. package/dist/module/jest/index.js +1 -1
  152. package/dist/module/jest/index.js.map +1 -1
  153. package/dist/module/metro/cache-version.js +39 -0
  154. package/dist/module/metro/cache-version.js.map +1 -0
  155. package/dist/module/metro/index.js +2 -0
  156. package/dist/module/metro/index.js.map +1 -1
  157. package/dist/module/metro/metro-transformer.js +16 -3
  158. package/dist/module/metro/metro-transformer.js.map +1 -1
  159. package/dist/module/metro/typescript.js +26 -6
  160. package/dist/module/metro/typescript.js.map +1 -1
  161. package/dist/module/metro/warnings.js +131 -0
  162. package/dist/module/metro/warnings.js.map +1 -0
  163. package/dist/module/native/api.js +15 -11
  164. package/dist/module/native/api.js.map +1 -1
  165. package/dist/module/native/conditions/attributes.js +16 -9
  166. package/dist/module/native/conditions/attributes.js.map +1 -1
  167. package/dist/module/native/conditions/container-query.js +11 -11
  168. package/dist/module/native/conditions/container-query.js.map +1 -1
  169. package/dist/module/native/conditions/media-query.js +1 -1
  170. package/dist/module/native/conditions/media-query.js.map +1 -1
  171. package/dist/module/native/react/interaction.js +10 -5
  172. package/dist/module/native/react/interaction.js.map +1 -1
  173. package/dist/module/native/react/rules.js +13 -6
  174. package/dist/module/native/react/rules.js.map +1 -1
  175. package/dist/module/native/react/useNativeCss.js +73 -18
  176. package/dist/module/native/react/useNativeCss.js.map +1 -1
  177. package/dist/module/native/react/usePassthrough.js +5 -2
  178. package/dist/module/native/react/usePassthrough.js.map +1 -1
  179. package/dist/module/native/reactivity.js +55 -22
  180. package/dist/module/native/reactivity.js.map +1 -1
  181. package/dist/module/native/reanimated.js +15 -3
  182. package/dist/module/native/reanimated.js.map +1 -1
  183. package/dist/module/native/styles/functions/color-mix.js +59 -0
  184. package/dist/module/native/styles/functions/color-mix.js.map +1 -0
  185. package/dist/module/native/styles/functions/filters.js +16 -4
  186. package/dist/module/native/styles/functions/filters.js.map +1 -1
  187. package/dist/module/native/styles/functions/index.js +1 -0
  188. package/dist/module/native/styles/functions/index.js.map +1 -1
  189. package/dist/module/native/styles/functions/numeric-functions.js +4 -3
  190. package/dist/module/native/styles/functions/numeric-functions.js.map +1 -1
  191. package/dist/module/native/styles/functions/string-functions.js +13 -0
  192. package/dist/module/native/styles/functions/string-functions.js.map +1 -1
  193. package/dist/module/native/styles/functions/transform-functions.js +5 -4
  194. package/dist/module/native/styles/functions/transform-functions.js.map +1 -1
  195. package/dist/module/native/styles/index.js +383 -28
  196. package/dist/module/native/styles/index.js.map +1 -1
  197. package/dist/module/native/styles/resolve.js +10 -6
  198. package/dist/module/native/styles/resolve.js.map +1 -1
  199. package/dist/module/native/styles/scale-factor.js +9 -0
  200. package/dist/module/native/styles/scale-factor.js.map +1 -0
  201. package/dist/module/native/styles/shorthands/_handler.js +11 -1
  202. package/dist/module/native/styles/shorthands/_handler.js.map +1 -1
  203. package/dist/module/native/styles/shorthands/animation.js +6 -3
  204. package/dist/module/native/styles/shorthands/animation.js.map +1 -1
  205. package/dist/module/native/styles/shorthands/box-shadow.js +46 -12
  206. package/dist/module/native/styles/shorthands/box-shadow.js.map +1 -1
  207. package/dist/module/native/styles/shorthands/index.js +1 -0
  208. package/dist/module/native/styles/shorthands/index.js.map +1 -1
  209. package/dist/module/native/styles/shorthands/logical-border-width.js +18 -0
  210. package/dist/module/native/styles/shorthands/logical-border-width.js.map +1 -0
  211. package/dist/module/native/styles/variables.js +55 -43
  212. package/dist/module/native/styles/variables.js.map +1 -1
  213. package/dist/module/native-internal/root.js +18 -7
  214. package/dist/module/native-internal/root.js.map +1 -1
  215. package/dist/module/native-internal/style-collection.js +1 -1
  216. package/dist/module/native-internal/style-collection.js.map +1 -1
  217. package/dist/module/native-internal/variables.js +2 -2
  218. package/dist/module/native-internal/variables.js.map +1 -1
  219. package/dist/module/utilities/dot-notation.types.js +2 -0
  220. package/dist/module/utilities/style-descriptor.js +4 -9
  221. package/dist/module/utilities/style-descriptor.js.map +1 -1
  222. package/dist/module/web/api.js +2 -2
  223. package/dist/module/web/api.js.map +1 -1
  224. package/dist/module/web/assign-style.js +4 -1
  225. package/dist/module/web/assign-style.js.map +1 -1
  226. package/dist/typescript/commonjs/src/babel/helpers.d.ts +2 -1
  227. package/dist/typescript/commonjs/src/babel/helpers.d.ts.map +1 -1
  228. package/dist/typescript/commonjs/src/babel/import-plugin.d.ts.map +1 -1
  229. package/dist/typescript/commonjs/src/babel/react-native-web.d.ts +2 -1
  230. package/dist/typescript/commonjs/src/babel/react-native-web.d.ts.map +1 -1
  231. package/dist/typescript/commonjs/src/babel/react-native.d.ts.map +1 -1
  232. package/dist/typescript/commonjs/src/compiler/atRules.d.ts +4 -1
  233. package/dist/typescript/commonjs/src/compiler/atRules.d.ts.map +1 -1
  234. package/dist/typescript/commonjs/src/compiler/compiler.d.ts +1 -5
  235. package/dist/typescript/commonjs/src/compiler/compiler.d.ts.map +1 -1
  236. package/dist/typescript/commonjs/src/compiler/compiler.types.d.ts +6 -0
  237. package/dist/typescript/commonjs/src/compiler/compiler.types.d.ts.map +1 -1
  238. package/dist/typescript/commonjs/src/compiler/declarations.d.ts +3 -2
  239. package/dist/typescript/commonjs/src/compiler/declarations.d.ts.map +1 -1
  240. package/dist/typescript/commonjs/src/compiler/lightningcss-loader.d.ts.map +1 -1
  241. package/dist/typescript/commonjs/src/compiler/media-query.d.ts +1 -1
  242. package/dist/typescript/commonjs/src/compiler/media-query.d.ts.map +1 -1
  243. package/dist/typescript/commonjs/src/compiler/selector-builder.d.ts.map +1 -1
  244. package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts +7 -8
  245. package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts.map +1 -1
  246. package/dist/typescript/commonjs/src/components/FlatList.d.ts.map +1 -1
  247. package/dist/typescript/commonjs/src/components/ImageBackground.d.ts.map +1 -1
  248. package/dist/typescript/commonjs/src/components/KeyboardAvoidingView.d.ts.map +1 -1
  249. package/dist/typescript/commonjs/src/components/SafeAreaProvider.d.ts +2 -0
  250. package/dist/typescript/commonjs/src/components/SafeAreaProvider.d.ts.map +1 -0
  251. package/dist/typescript/commonjs/src/components/react-native-safe-area-context.native.d.ts +1 -1
  252. package/dist/typescript/commonjs/src/components/react-native-safe-area-context.native.d.ts.map +1 -1
  253. package/dist/typescript/commonjs/src/jest/index.d.ts +2 -10
  254. package/dist/typescript/commonjs/src/jest/index.d.ts.map +1 -1
  255. package/dist/typescript/commonjs/src/metro/cache-version.d.ts +8 -0
  256. package/dist/typescript/commonjs/src/metro/cache-version.d.ts.map +1 -0
  257. package/dist/typescript/commonjs/src/metro/index.d.ts +4 -0
  258. package/dist/typescript/commonjs/src/metro/index.d.ts.map +1 -1
  259. package/dist/typescript/commonjs/src/metro/metro-transformer.d.ts +9 -4
  260. package/dist/typescript/commonjs/src/metro/metro-transformer.d.ts.map +1 -1
  261. package/dist/typescript/commonjs/src/metro/typescript.d.ts.map +1 -1
  262. package/dist/typescript/commonjs/src/metro/warnings.d.ts +13 -0
  263. package/dist/typescript/commonjs/src/metro/warnings.d.ts.map +1 -0
  264. package/dist/typescript/commonjs/src/native/api.d.ts +4 -8
  265. package/dist/typescript/commonjs/src/native/api.d.ts.map +1 -1
  266. package/dist/typescript/commonjs/src/native/conditions/container-query.d.ts.map +1 -1
  267. package/dist/typescript/commonjs/src/native/react/interaction.d.ts +1 -1
  268. package/dist/typescript/commonjs/src/native/react/interaction.d.ts.map +1 -1
  269. package/dist/typescript/commonjs/src/native/react/rules.d.ts.map +1 -1
  270. package/dist/typescript/commonjs/src/native/react/useNativeCss.d.ts.map +1 -1
  271. package/dist/typescript/commonjs/src/native/react/usePassthrough.d.ts.map +1 -1
  272. package/dist/typescript/commonjs/src/native/reactivity.d.ts +14 -3
  273. package/dist/typescript/commonjs/src/native/reactivity.d.ts.map +1 -1
  274. package/dist/typescript/commonjs/src/native/reanimated.d.ts.map +1 -1
  275. package/dist/typescript/commonjs/src/native/styles/functions/color-mix.d.ts +3 -0
  276. package/dist/typescript/commonjs/src/native/styles/functions/color-mix.d.ts.map +1 -0
  277. package/dist/typescript/commonjs/src/native/styles/functions/filters.d.ts +2 -0
  278. package/dist/typescript/commonjs/src/native/styles/functions/filters.d.ts.map +1 -1
  279. package/dist/typescript/commonjs/src/native/styles/functions/index.d.ts +1 -0
  280. package/dist/typescript/commonjs/src/native/styles/functions/index.d.ts.map +1 -1
  281. package/dist/typescript/commonjs/src/native/styles/functions/numeric-functions.d.ts.map +1 -1
  282. package/dist/typescript/commonjs/src/native/styles/functions/string-functions.d.ts +2 -0
  283. package/dist/typescript/commonjs/src/native/styles/functions/string-functions.d.ts.map +1 -1
  284. package/dist/typescript/commonjs/src/native/styles/functions/transform-functions.d.ts.map +1 -1
  285. package/dist/typescript/commonjs/src/native/styles/index.d.ts +2 -2
  286. package/dist/typescript/commonjs/src/native/styles/index.d.ts.map +1 -1
  287. package/dist/typescript/commonjs/src/native/styles/resolve.d.ts +1 -0
  288. package/dist/typescript/commonjs/src/native/styles/resolve.d.ts.map +1 -1
  289. package/dist/typescript/commonjs/src/native/styles/scale-factor.d.ts +2 -0
  290. package/dist/typescript/commonjs/src/native/styles/scale-factor.d.ts.map +1 -0
  291. package/dist/typescript/commonjs/src/native/styles/shorthands/_handler.d.ts.map +1 -1
  292. package/dist/typescript/commonjs/src/native/styles/shorthands/animation.d.ts.map +1 -1
  293. package/dist/typescript/commonjs/src/native/styles/shorthands/box-shadow.d.ts.map +1 -1
  294. package/dist/typescript/commonjs/src/native/styles/shorthands/index.d.ts +1 -0
  295. package/dist/typescript/commonjs/src/native/styles/shorthands/index.d.ts.map +1 -1
  296. package/dist/typescript/commonjs/src/native/styles/shorthands/logical-border-width.d.ts +4 -0
  297. package/dist/typescript/commonjs/src/native/styles/shorthands/logical-border-width.d.ts.map +1 -0
  298. package/dist/typescript/commonjs/src/native/styles/variables.d.ts.map +1 -1
  299. package/dist/typescript/commonjs/src/native-internal/root.d.ts +12 -0
  300. package/dist/typescript/commonjs/src/native-internal/root.d.ts.map +1 -1
  301. package/dist/typescript/commonjs/src/native-internal/variables.d.ts +1 -1
  302. package/dist/typescript/commonjs/src/native-internal/variables.d.ts.map +1 -1
  303. package/dist/typescript/commonjs/src/runtime.types.d.ts +11 -6
  304. package/dist/typescript/commonjs/src/runtime.types.d.ts.map +1 -1
  305. package/dist/typescript/commonjs/src/utilities/dot-notation.types.d.ts +2 -1
  306. package/dist/typescript/commonjs/src/utilities/dot-notation.types.d.ts.map +1 -1
  307. package/dist/typescript/commonjs/src/utilities/style-descriptor.d.ts +1 -1
  308. package/dist/typescript/commonjs/src/utilities/style-descriptor.d.ts.map +1 -1
  309. package/dist/typescript/commonjs/src/web/api.d.ts +5 -5
  310. package/dist/typescript/commonjs/src/web/api.d.ts.map +1 -1
  311. package/dist/typescript/commonjs/src/web/assign-style.d.ts.map +1 -1
  312. package/dist/typescript/module/src/babel/helpers.d.ts +2 -1
  313. package/dist/typescript/module/src/babel/helpers.d.ts.map +1 -1
  314. package/dist/typescript/module/src/babel/import-plugin.d.ts +1 -1
  315. package/dist/typescript/module/src/babel/import-plugin.d.ts.map +1 -1
  316. package/dist/typescript/module/src/babel/react-native-web.d.ts +2 -1
  317. package/dist/typescript/module/src/babel/react-native-web.d.ts.map +1 -1
  318. package/dist/typescript/module/src/babel/react-native.d.ts.map +1 -1
  319. package/dist/typescript/module/src/compiler/atRules.d.ts +6 -3
  320. package/dist/typescript/module/src/compiler/atRules.d.ts.map +1 -1
  321. package/dist/typescript/module/src/compiler/compiler.d.ts +3 -7
  322. package/dist/typescript/module/src/compiler/compiler.d.ts.map +1 -1
  323. package/dist/typescript/module/src/compiler/compiler.types.d.ts +7 -1
  324. package/dist/typescript/module/src/compiler/compiler.types.d.ts.map +1 -1
  325. package/dist/typescript/module/src/compiler/container-query.d.ts +2 -2
  326. package/dist/typescript/module/src/compiler/container-query.d.ts.map +1 -1
  327. package/dist/typescript/module/src/compiler/declarations.d.ts +5 -4
  328. package/dist/typescript/module/src/compiler/declarations.d.ts.map +1 -1
  329. package/dist/typescript/module/src/compiler/index.d.ts +2 -2
  330. package/dist/typescript/module/src/compiler/index.d.ts.map +1 -1
  331. package/dist/typescript/module/src/compiler/inline-variables.d.ts +1 -1
  332. package/dist/typescript/module/src/compiler/inline-variables.d.ts.map +1 -1
  333. package/dist/typescript/module/src/compiler/keyframes.d.ts +2 -2
  334. package/dist/typescript/module/src/compiler/keyframes.d.ts.map +1 -1
  335. package/dist/typescript/module/src/compiler/lightningcss-loader.d.ts.map +1 -1
  336. package/dist/typescript/module/src/compiler/media-query.d.ts +3 -3
  337. package/dist/typescript/module/src/compiler/media-query.d.ts.map +1 -1
  338. package/dist/typescript/module/src/compiler/pseudo-elements.d.ts +1 -1
  339. package/dist/typescript/module/src/compiler/pseudo-elements.d.ts.map +1 -1
  340. package/dist/typescript/module/src/compiler/selector-builder.d.ts +1 -1
  341. package/dist/typescript/module/src/compiler/selector-builder.d.ts.map +1 -1
  342. package/dist/typescript/module/src/compiler/selectors.d.ts +2 -2
  343. package/dist/typescript/module/src/compiler/selectors.d.ts.map +1 -1
  344. package/dist/typescript/module/src/compiler/stylesheet.d.ts +7 -8
  345. package/dist/typescript/module/src/compiler/stylesheet.d.ts.map +1 -1
  346. package/dist/typescript/module/src/components/FlatList.d.ts.map +1 -1
  347. package/dist/typescript/module/src/components/ImageBackground.d.ts.map +1 -1
  348. package/dist/typescript/module/src/components/KeyboardAvoidingView.d.ts.map +1 -1
  349. package/dist/typescript/module/src/components/SafeAreaProvider.d.ts +2 -0
  350. package/dist/typescript/module/src/components/SafeAreaProvider.d.ts.map +1 -0
  351. package/dist/typescript/module/src/components/index.d.ts +16 -16
  352. package/dist/typescript/module/src/components/index.d.ts.map +1 -1
  353. package/dist/typescript/module/src/components/react-native-safe-area-context.native.d.ts +1 -1
  354. package/dist/typescript/module/src/components/react-native-safe-area-context.native.d.ts.map +1 -1
  355. package/dist/typescript/module/src/jest/index.d.ts +2 -10
  356. package/dist/typescript/module/src/jest/index.d.ts.map +1 -1
  357. package/dist/typescript/module/src/metro/cache-version.d.ts +8 -0
  358. package/dist/typescript/module/src/metro/cache-version.d.ts.map +1 -0
  359. package/dist/typescript/module/src/metro/index.d.ts +5 -1
  360. package/dist/typescript/module/src/metro/index.d.ts.map +1 -1
  361. package/dist/typescript/module/src/metro/metro-transformer.d.ts +10 -5
  362. package/dist/typescript/module/src/metro/metro-transformer.d.ts.map +1 -1
  363. package/dist/typescript/module/src/metro/typescript.d.ts.map +1 -1
  364. package/dist/typescript/module/src/metro/warnings.d.ts +13 -0
  365. package/dist/typescript/module/src/metro/warnings.d.ts.map +1 -0
  366. package/dist/typescript/module/src/native/api.d.ts +5 -9
  367. package/dist/typescript/module/src/native/api.d.ts.map +1 -1
  368. package/dist/typescript/module/src/native/conditions/attributes.d.ts +1 -1
  369. package/dist/typescript/module/src/native/conditions/attributes.d.ts.map +1 -1
  370. package/dist/typescript/module/src/native/conditions/container-query.d.ts +2 -2
  371. package/dist/typescript/module/src/native/conditions/container-query.d.ts.map +1 -1
  372. package/dist/typescript/module/src/native/conditions/guards.d.ts +2 -2
  373. package/dist/typescript/module/src/native/conditions/guards.d.ts.map +1 -1
  374. package/dist/typescript/module/src/native/conditions/index.d.ts +3 -3
  375. package/dist/typescript/module/src/native/conditions/index.d.ts.map +1 -1
  376. package/dist/typescript/module/src/native/conditions/media-query.d.ts +1 -1
  377. package/dist/typescript/module/src/native/conditions/media-query.d.ts.map +1 -1
  378. package/dist/typescript/module/src/native/index.d.ts +3 -3
  379. package/dist/typescript/module/src/native/index.d.ts.map +1 -1
  380. package/dist/typescript/module/src/native/react/interaction.d.ts +2 -2
  381. package/dist/typescript/module/src/native/react/interaction.d.ts.map +1 -1
  382. package/dist/typescript/module/src/native/react/rules.d.ts +2 -2
  383. package/dist/typescript/module/src/native/react/rules.d.ts.map +1 -1
  384. package/dist/typescript/module/src/native/react/useNativeCss.d.ts +4 -4
  385. package/dist/typescript/module/src/native/react/useNativeCss.d.ts.map +1 -1
  386. package/dist/typescript/module/src/native/react/usePassthrough.d.ts +1 -1
  387. package/dist/typescript/module/src/native/react/usePassthrough.d.ts.map +1 -1
  388. package/dist/typescript/module/src/native/reactivity.d.ts +14 -3
  389. package/dist/typescript/module/src/native/reactivity.d.ts.map +1 -1
  390. package/dist/typescript/module/src/native/reanimated.d.ts.map +1 -1
  391. package/dist/typescript/module/src/native/styles/calculate-props.d.ts +2 -2
  392. package/dist/typescript/module/src/native/styles/calculate-props.d.ts.map +1 -1
  393. package/dist/typescript/module/src/native/styles/functions/animation-timing.d.ts +1 -1
  394. package/dist/typescript/module/src/native/styles/functions/animation-timing.d.ts.map +1 -1
  395. package/dist/typescript/module/src/native/styles/functions/calc.d.ts +1 -1
  396. package/dist/typescript/module/src/native/styles/functions/calc.d.ts.map +1 -1
  397. package/dist/typescript/module/src/native/styles/functions/color-mix.d.ts +3 -0
  398. package/dist/typescript/module/src/native/styles/functions/color-mix.d.ts.map +1 -0
  399. package/dist/typescript/module/src/native/styles/functions/filters.d.ts +3 -1
  400. package/dist/typescript/module/src/native/styles/functions/filters.d.ts.map +1 -1
  401. package/dist/typescript/module/src/native/styles/functions/index.d.ts +8 -7
  402. package/dist/typescript/module/src/native/styles/functions/index.d.ts.map +1 -1
  403. package/dist/typescript/module/src/native/styles/functions/numeric-functions.d.ts +1 -1
  404. package/dist/typescript/module/src/native/styles/functions/numeric-functions.d.ts.map +1 -1
  405. package/dist/typescript/module/src/native/styles/functions/platform-functions.d.ts +1 -1
  406. package/dist/typescript/module/src/native/styles/functions/platform-functions.d.ts.map +1 -1
  407. package/dist/typescript/module/src/native/styles/functions/string-functions.d.ts +3 -1
  408. package/dist/typescript/module/src/native/styles/functions/string-functions.d.ts.map +1 -1
  409. package/dist/typescript/module/src/native/styles/functions/transform-functions.d.ts +1 -1
  410. package/dist/typescript/module/src/native/styles/functions/transform-functions.d.ts.map +1 -1
  411. package/dist/typescript/module/src/native/styles/index.d.ts +7 -7
  412. package/dist/typescript/module/src/native/styles/index.d.ts.map +1 -1
  413. package/dist/typescript/module/src/native/styles/line-height.d.ts +1 -1
  414. package/dist/typescript/module/src/native/styles/line-height.d.ts.map +1 -1
  415. package/dist/typescript/module/src/native/styles/resolve.d.ts +4 -3
  416. package/dist/typescript/module/src/native/styles/resolve.d.ts.map +1 -1
  417. package/dist/typescript/module/src/native/styles/scale-factor.d.ts +2 -0
  418. package/dist/typescript/module/src/native/styles/scale-factor.d.ts.map +1 -0
  419. package/dist/typescript/module/src/native/styles/shorthands/_handler.d.ts +1 -1
  420. package/dist/typescript/module/src/native/styles/shorthands/_handler.d.ts.map +1 -1
  421. package/dist/typescript/module/src/native/styles/shorthands/animation.d.ts +2 -2
  422. package/dist/typescript/module/src/native/styles/shorthands/animation.d.ts.map +1 -1
  423. package/dist/typescript/module/src/native/styles/shorthands/border.d.ts +1 -1
  424. package/dist/typescript/module/src/native/styles/shorthands/border.d.ts.map +1 -1
  425. package/dist/typescript/module/src/native/styles/shorthands/box-shadow.d.ts +1 -1
  426. package/dist/typescript/module/src/native/styles/shorthands/box-shadow.d.ts.map +1 -1
  427. package/dist/typescript/module/src/native/styles/shorthands/index.d.ts +6 -5
  428. package/dist/typescript/module/src/native/styles/shorthands/index.d.ts.map +1 -1
  429. package/dist/typescript/module/src/native/styles/shorthands/logical-border-width.d.ts +4 -0
  430. package/dist/typescript/module/src/native/styles/shorthands/logical-border-width.d.ts.map +1 -0
  431. package/dist/typescript/module/src/native/styles/shorthands/text-shadow.d.ts +1 -1
  432. package/dist/typescript/module/src/native/styles/shorthands/text-shadow.d.ts.map +1 -1
  433. package/dist/typescript/module/src/native/styles/shorthands/transform.d.ts +1 -1
  434. package/dist/typescript/module/src/native/styles/shorthands/transform.d.ts.map +1 -1
  435. package/dist/typescript/module/src/native/styles/units.d.ts +1 -1
  436. package/dist/typescript/module/src/native/styles/units.d.ts.map +1 -1
  437. package/dist/typescript/module/src/native/styles/variables.d.ts +2 -2
  438. package/dist/typescript/module/src/native/styles/variables.d.ts.map +1 -1
  439. package/dist/typescript/module/src/native-internal/index.d.ts +3 -3
  440. package/dist/typescript/module/src/native-internal/index.d.ts.map +1 -1
  441. package/dist/typescript/module/src/native-internal/root.d.ts +13 -1
  442. package/dist/typescript/module/src/native-internal/root.d.ts.map +1 -1
  443. package/dist/typescript/module/src/native-internal/style-collection.d.ts +2 -2
  444. package/dist/typescript/module/src/native-internal/style-collection.d.ts.map +1 -1
  445. package/dist/typescript/module/src/native-internal/variables.d.ts +2 -2
  446. package/dist/typescript/module/src/native-internal/variables.d.ts.map +1 -1
  447. package/dist/typescript/module/src/runtime.d.ts +1 -1
  448. package/dist/typescript/module/src/runtime.d.ts.map +1 -1
  449. package/dist/typescript/module/src/runtime.native.d.ts +1 -1
  450. package/dist/typescript/module/src/runtime.native.d.ts.map +1 -1
  451. package/dist/typescript/module/src/runtime.types.d.ts +11 -6
  452. package/dist/typescript/module/src/runtime.types.d.ts.map +1 -1
  453. package/dist/typescript/module/src/utilities/dot-notation.types.d.ts +2 -1
  454. package/dist/typescript/module/src/utilities/dot-notation.types.d.ts.map +1 -1
  455. package/dist/typescript/module/src/utilities/index.d.ts +3 -3
  456. package/dist/typescript/module/src/utilities/index.d.ts.map +1 -1
  457. package/dist/typescript/module/src/utilities/specificity.d.ts +2 -2
  458. package/dist/typescript/module/src/utilities/specificity.d.ts.map +1 -1
  459. package/dist/typescript/module/src/utilities/style-descriptor.d.ts +1 -1
  460. package/dist/typescript/module/src/utilities/style-descriptor.d.ts.map +1 -1
  461. package/dist/typescript/module/src/web/api.d.ts +5 -5
  462. package/dist/typescript/module/src/web/api.d.ts.map +1 -1
  463. package/dist/typescript/module/src/web/assign-style.d.ts.map +1 -1
  464. package/dist/typescript/module/src/web/index.d.ts +3 -3
  465. package/dist/typescript/module/src/web/index.d.ts.map +1 -1
  466. package/node/babel.mjs +4 -0
  467. package/node/compiler.mjs +2 -0
  468. package/node/metro.mjs +2 -0
  469. package/package.json +78 -29
  470. package/src/babel/helpers.ts +8 -1
  471. package/src/babel/import-plugin.ts +31 -16
  472. package/src/babel/react-native-web.ts +32 -4
  473. package/src/babel/react-native.ts +9 -4
  474. package/src/compiler/atRules.ts +44 -0
  475. package/src/compiler/compiler.ts +159 -43
  476. package/src/compiler/compiler.types.ts +9 -0
  477. package/src/compiler/container-query.ts +8 -3
  478. package/src/compiler/declarations.ts +280 -95
  479. package/src/compiler/lightningcss-loader.ts +21 -1
  480. package/src/compiler/media-query.ts +20 -9
  481. package/src/compiler/selector-builder.ts +31 -4
  482. package/src/compiler/stylesheet.ts +23 -10
  483. package/src/compiler/supports.ts +2 -2
  484. package/src/components/FlatList.tsx +1 -0
  485. package/src/components/ImageBackground.tsx +2 -6
  486. package/src/components/KeyboardAvoidingView.tsx +2 -3
  487. package/src/components/SafeAreaProvider.tsx +1 -0
  488. package/src/components/index.cts +46 -1
  489. package/src/jest/index.ts +1 -1
  490. package/src/metro/cache-version.ts +48 -0
  491. package/src/metro/index.ts +7 -0
  492. package/src/metro/metro-transformer.ts +26 -8
  493. package/src/metro/typescript.ts +53 -6
  494. package/src/metro/warnings.ts +187 -0
  495. package/src/native/api.tsx +22 -17
  496. package/src/native/conditions/attributes.ts +26 -9
  497. package/src/native/conditions/container-query.ts +11 -9
  498. package/src/native/conditions/media-query.ts +1 -1
  499. package/src/native/react/interaction.ts +11 -6
  500. package/src/native/react/rules.ts +13 -5
  501. package/src/native/react/useNativeCss.ts +79 -17
  502. package/src/native/react/usePassthrough.ts +3 -2
  503. package/src/native/reactivity.ts +76 -24
  504. package/src/native/reanimated.ts +24 -5
  505. package/src/native/styles/functions/color-mix.ts +74 -0
  506. package/src/native/styles/functions/filters.ts +20 -6
  507. package/src/native/styles/functions/index.ts +1 -0
  508. package/src/native/styles/functions/numeric-functions.ts +7 -6
  509. package/src/native/styles/functions/string-functions.ts +18 -0
  510. package/src/native/styles/functions/transform-functions.ts +5 -4
  511. package/src/native/styles/index.ts +443 -36
  512. package/src/native/styles/resolve.ts +15 -11
  513. package/src/native/styles/scale-factor.ts +6 -0
  514. package/src/native/styles/shorthands/_handler.ts +14 -1
  515. package/src/native/styles/shorthands/animation.ts +8 -2
  516. package/src/native/styles/shorthands/box-shadow.ts +50 -15
  517. package/src/native/styles/shorthands/index.ts +1 -0
  518. package/src/native/styles/shorthands/logical-border-width.ts +32 -0
  519. package/src/native/styles/variables.ts +48 -38
  520. package/src/native-internal/root.ts +40 -13
  521. package/src/native-internal/style-collection.ts +1 -1
  522. package/src/native-internal/variables.tsx +6 -4
  523. package/src/runtime.types.ts +17 -15
  524. package/src/utilities/dot-notation.types.ts +4 -3
  525. package/src/utilities/style-descriptor.ts +11 -16
  526. package/src/web/api.tsx +7 -12
  527. package/src/web/assign-style.ts +2 -1
  528. package/types.d.ts +3 -20
  529. package/dist/commonjs/compiler/inheritance.test.js +0 -78
  530. package/dist/commonjs/compiler/inheritance.test.js.map +0 -1
  531. package/dist/module/compiler/inheritance.test.js +0 -78
  532. package/dist/module/compiler/inheritance.test.js.map +0 -1
  533. package/dist/typescript/commonjs/.config/eslint.config.d.mts +0 -3
  534. package/dist/typescript/commonjs/.config/eslint.config.d.mts.map +0 -1
  535. package/dist/typescript/commonjs/eslint.config.d.mts +0 -2
  536. package/dist/typescript/commonjs/eslint.config.d.mts.map +0 -1
  537. package/dist/typescript/commonjs/example/app.config.d.ts +0 -4
  538. package/dist/typescript/commonjs/example/app.config.d.ts.map +0 -1
  539. package/dist/typescript/commonjs/example/index.d.ts +0 -2
  540. package/dist/typescript/commonjs/example/index.d.ts.map +0 -1
  541. package/dist/typescript/commonjs/example/metro.config.d.ts +0 -3
  542. package/dist/typescript/commonjs/example/metro.config.d.ts.map +0 -1
  543. package/dist/typescript/commonjs/example/postcss.config.d.mts +0 -7
  544. package/dist/typescript/commonjs/example/postcss.config.d.mts.map +0 -1
  545. package/dist/typescript/commonjs/example/src/App.d.ts +0 -3
  546. package/dist/typescript/commonjs/example/src/App.d.ts.map +0 -1
  547. package/dist/typescript/commonjs/src/compiler/inheritance.test.d.ts +0 -2
  548. package/dist/typescript/commonjs/src/compiler/inheritance.test.d.ts.map +0 -1
  549. package/dist/typescript/module/.config/eslint.config.d.mts +0 -3
  550. package/dist/typescript/module/.config/eslint.config.d.mts.map +0 -1
  551. package/dist/typescript/module/eslint.config.d.mts +0 -2
  552. package/dist/typescript/module/eslint.config.d.mts.map +0 -1
  553. package/dist/typescript/module/example/app.config.d.ts +0 -4
  554. package/dist/typescript/module/example/app.config.d.ts.map +0 -1
  555. package/dist/typescript/module/example/index.d.ts +0 -2
  556. package/dist/typescript/module/example/index.d.ts.map +0 -1
  557. package/dist/typescript/module/example/metro.config.d.ts +0 -3
  558. package/dist/typescript/module/example/metro.config.d.ts.map +0 -1
  559. package/dist/typescript/module/example/postcss.config.d.mts +0 -7
  560. package/dist/typescript/module/example/postcss.config.d.mts.map +0 -1
  561. package/dist/typescript/module/example/src/App.d.ts +0 -3
  562. package/dist/typescript/module/example/src/App.d.ts.map +0 -1
  563. package/dist/typescript/module/src/compiler/inheritance.test.d.ts +0 -2
  564. package/dist/typescript/module/src/compiler/inheritance.test.d.ts.map +0 -1
  565. package/src/compiler/inheritance.test.ts +0 -121
@@ -1 +1 @@
1
- {"version":3,"names":["isStyleDescriptorArray","shorthandHandler","blur","resolveValue","value","args","Array","isArray","brightness","contrast","grayscale","hueRotate","invert","sepia","saturate","opacity","color","offsetX","offsetY","blurRadius","handler","dropShadow","func","get","options","undefined"],"sourceRoot":"../../../../../src","sources":["native/styles/functions/filters.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isStyleDescriptorArray","shorthandHandler","blur","resolveValue","value","args","Array","isArray","brightness","contrast","grayscale","hueRotate","invert","sepia","saturate","opacity","color","offsetX","offsetY","standardDeviation","handler","dropShadow","func","get","options","undefined","filter","descriptor","filters","flat","Infinity","entry"],"sourceRoot":"../../../../../src","sources":["native/styles/functions/filters.ts"],"mappings":"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","ignoreList":[]}
@@ -7,4 +7,5 @@ export * from "./numeric-functions.js";
7
7
  export * from "./platform-functions.js";
8
8
  export * from "./string-functions.js";
9
9
  export * from "./transform-functions.js";
10
+ export * from "./color-mix.js";
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["native/styles/functions/index.ts"],"mappings":";;AAAA,cAAc,uBAAoB;AAClC,cAAc,WAAQ;AACtB,cAAc,cAAW;AACzB,cAAc,wBAAqB;AACnC,cAAc,yBAAsB;AACpC,cAAc,uBAAoB;AAClC,cAAc,0BAAuB","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["native/styles/functions/index.ts"],"mappings":";;AAAA,cAAc,uBAAoB;AAClC,cAAc,WAAQ;AACtB,cAAc,cAAW;AACzB,cAAc,wBAAqB;AACnC,cAAc,yBAAsB;AACpC,cAAc,uBAAoB;AAClC,cAAc,0BAAuB;AACrC,cAAc,gBAAa","ignoreList":[]}
@@ -16,10 +16,11 @@ export const min = (resolveValue, value) => {
16
16
  };
17
17
  export const clamp = (resolveValue, value) => {
18
18
  const args = resolveValue(value[2]);
19
- const [clampValue, min, max] = args;
20
- if (!Array.isArray(args) || typeof clampValue !== "number" || typeof min !== "number" || typeof max !== "number") {
19
+ if (!Array.isArray(args)) return;
20
+ const [minimum, preferred, maximum] = args;
21
+ if (typeof minimum !== "number" || typeof preferred !== "number" || typeof maximum !== "number") {
21
22
  return;
22
23
  }
23
- return Math.min(Math.max(clampValue, min), max);
24
+ return Math.max(minimum, Math.min(preferred, maximum));
24
25
  };
25
26
  //# sourceMappingURL=numeric-functions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["max","resolveValue","value","args","Array","isArray","some","arg","Math","min","clamp","clampValue"],"sourceRoot":"../../../../../src","sources":["native/styles/functions/numeric-functions.ts"],"mappings":";;AAEA,OAAO,MAAMA,GAA0B,GAAGA,CAACC,YAAY,EAAEC,KAAK,KAAK;EACjE,MAAMC,IAAI,GAAGF,YAAY,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAEnC,IAAI,CAACE,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,IAAIA,IAAI,CAACG,IAAI,CAAEC,GAAG,IAAK,OAAOA,GAAG,KAAK,QAAQ,CAAC,EAAE;IACvE;EACF;EAEA,OAAOC,IAAI,CAACR,GAAG,CAAC,GAAIG,IAAiB,CAAC;AACxC,CAAC;AAED,OAAO,MAAMM,GAA0B,GAAGA,CAACR,YAAY,EAAEC,KAAK,KAAK;EACjE,MAAMC,IAAI,GAAGF,YAAY,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAEnC,IAAI,CAACE,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,IAAIA,IAAI,CAACG,IAAI,CAAEC,GAAG,IAAK,OAAOA,GAAG,KAAK,QAAQ,CAAC,EAAE;IACvE;EACF;EAEA,OAAOC,IAAI,CAACC,GAAG,CAAC,GAAIN,IAAiB,CAAC;AACxC,CAAC;AAED,OAAO,MAAMO,KAA4B,GAAGA,CAACT,YAAY,EAAEC,KAAK,KAAK;EACnE,MAAMC,IAAI,GAAGF,YAAY,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAEnC,MAAM,CAACS,UAAU,EAAEF,GAAG,EAAET,GAAG,CAAC,GAAGG,IAAgB;EAE/C,IACE,CAACC,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,IACpB,OAAOQ,UAAU,KAAK,QAAQ,IAC9B,OAAOF,GAAG,KAAK,QAAQ,IACvB,OAAOT,GAAG,KAAK,QAAQ,EACvB;IACA;EACF;EAEA,OAAOQ,IAAI,CAACC,GAAG,CAACD,IAAI,CAACR,GAAG,CAACW,UAAU,EAAEF,GAAG,CAAC,EAAET,GAAG,CAAC;AACjD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["max","resolveValue","value","args","Array","isArray","some","arg","Math","min","clamp","minimum","preferred","maximum"],"sourceRoot":"../../../../../src","sources":["native/styles/functions/numeric-functions.ts"],"mappings":";;AAEA,OAAO,MAAMA,GAA0B,GAAGA,CAACC,YAAY,EAAEC,KAAK,KAAK;EACjE,MAAMC,IAAI,GAAGF,YAAY,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAEnC,IAAI,CAACE,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,IAAIA,IAAI,CAACG,IAAI,CAAEC,GAAG,IAAK,OAAOA,GAAG,KAAK,QAAQ,CAAC,EAAE;IACvE;EACF;EAEA,OAAOC,IAAI,CAACR,GAAG,CAAC,GAAIG,IAAiB,CAAC;AACxC,CAAC;AAED,OAAO,MAAMM,GAA0B,GAAGA,CAACR,YAAY,EAAEC,KAAK,KAAK;EACjE,MAAMC,IAAI,GAAGF,YAAY,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAEnC,IAAI,CAACE,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,IAAIA,IAAI,CAACG,IAAI,CAAEC,GAAG,IAAK,OAAOA,GAAG,KAAK,QAAQ,CAAC,EAAE;IACvE;EACF;EAEA,OAAOC,IAAI,CAACC,GAAG,CAAC,GAAIN,IAAiB,CAAC;AACxC,CAAC;AAED,OAAO,MAAMO,KAA4B,GAAGA,CAACT,YAAY,EAAEC,KAAK,KAAK;EACnE,MAAMC,IAAI,GAAGF,YAAY,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAEnC,IAAI,CAACE,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;EAE1B,MAAM,CAACQ,OAAO,EAAEC,SAAS,EAAEC,OAAO,CAAC,GAAGV,IAAiB;EAEvD,IACE,OAAOQ,OAAO,KAAK,QAAQ,IAC3B,OAAOC,SAAS,KAAK,QAAQ,IAC7B,OAAOC,OAAO,KAAK,QAAQ,EAC3B;IACA;EACF;EAEA,OAAOL,IAAI,CAACR,GAAG,CAACW,OAAO,EAAEH,IAAI,CAACC,GAAG,CAACG,SAAS,EAAEC,OAAO,CAAC,CAAC;AACxD,CAAC","ignoreList":[]}
@@ -1,5 +1,18 @@
1
1
  "use strict";
2
2
 
3
+ export const gradientPosition = (resolveValue, value) => {
4
+ const position = resolveValue(value[2]);
5
+ return typeof position === "number" ? `${position}px` : position;
6
+ };
7
+ export const colorStop = (resolveValue, value) => {
8
+ const args = resolveValue(value[2]);
9
+ if (!Array.isArray(args)) return args;
10
+ const [color, position] = args;
11
+ if (typeof color !== "string") return;
12
+ if (position === undefined) return color;
13
+ if (typeof position !== "number" && typeof position !== "string") return;
14
+ return `${color} ${typeof position === "number" ? `${position}px` : position}`;
15
+ };
3
16
  export const join = (resolveValue, value) => {
4
17
  const args = resolveValue(value[2]);
5
18
  if (!Array.isArray(args)) {
@@ -1 +1 @@
1
- {"version":3,"names":["join","resolveValue","value","args","Array","isArray","array","separator"],"sourceRoot":"../../../../../src","sources":["native/styles/functions/string-functions.ts"],"mappings":";;AAEA,OAAO,MAAMA,IAA2B,GAAGA,CAACC,YAAY,EAAEC,KAAK,KAAK;EAClE,MAAMC,IAAI,GAAGF,YAAY,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAEnC,IAAI,CAACE,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;IACxB,OAAOA,IAAI;EACb;EAEA,MAAMG,KAAc,GAAGH,IAAI,CAAC,CAAC,CAAC;EAC9B,MAAMI,SAAkB,GAAGJ,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG;EAEzC,IAAI,CAACC,KAAK,CAACC,OAAO,CAACC,KAAK,CAAC,EAAE;IACzB,OAAOA,KAAK;EACd;EAEA,IAAI,CAACC,SAAS,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE;IAC/C,OAAOD,KAAK,CAACN,IAAI,CAAC,CAAC;EACrB;EAEA,OAAOM,KAAK,CAACN,IAAI,CAACO,SAAS,CAAC;AAC9B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["gradientPosition","resolveValue","value","position","colorStop","args","Array","isArray","color","undefined","join","array","separator"],"sourceRoot":"../../../../../src","sources":["native/styles/functions/string-functions.ts"],"mappings":";;AAEA,OAAO,MAAMA,gBAAuC,GAAGA,CACrDC,YAAY,EACZC,KAAK,KACF;EACH,MAAMC,QAAQ,GAAGF,YAAY,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EACvC,OAAO,OAAOC,QAAQ,KAAK,QAAQ,GAAG,GAAGA,QAAQ,IAAI,GAAGA,QAAQ;AAClE,CAAC;AAED,OAAO,MAAMC,SAAgC,GAAGA,CAACH,YAAY,EAAEC,KAAK,KAAK;EACvE,MAAMG,IAAI,GAAGJ,YAAY,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EACnC,IAAI,CAACI,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE,OAAOA,IAAI;EACrC,MAAM,CAACG,KAAK,EAAEL,QAAQ,CAAC,GAAGE,IAAiB;EAC3C,IAAI,OAAOG,KAAK,KAAK,QAAQ,EAAE;EAC/B,IAAIL,QAAQ,KAAKM,SAAS,EAAE,OAAOD,KAAK;EACxC,IAAI,OAAOL,QAAQ,KAAK,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;EAClE,OAAO,GAAGK,KAAK,IAAI,OAAOL,QAAQ,KAAK,QAAQ,GAAG,GAAGA,QAAQ,IAAI,GAAGA,QAAQ,EAAE;AAChF,CAAC;AAED,OAAO,MAAMO,IAA2B,GAAGA,CAACT,YAAY,EAAEC,KAAK,KAAK;EAClE,MAAMG,IAAI,GAAGJ,YAAY,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAEnC,IAAI,CAACI,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE;IACxB,OAAOA,IAAI;EACb;EAEA,MAAMM,KAAc,GAAGN,IAAI,CAAC,CAAC,CAAC;EAC9B,MAAMO,SAAkB,GAAGP,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG;EAEzC,IAAI,CAACC,KAAK,CAACC,OAAO,CAACI,KAAK,CAAC,EAAE;IACzB,OAAOA,KAAK;EACd;EAEA,IAAI,CAACC,SAAS,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE;IAC/C,OAAOD,KAAK,CAACD,IAAI,CAAC,CAAC;EACrB;EAEA,OAAOC,KAAK,CAACD,IAAI,CAACE,SAAS,CAAC;AAC9B,CAAC","ignoreList":[]}
@@ -1,15 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  import { isStyleDescriptorArray } from "react-native-css/utilities";
4
+ import { scaleFactor } from "../scale-factor.js";
4
5
  export const scale = (resolveValue, descriptor) => {
5
6
  const args = descriptor[2];
6
7
  if (!isStyleDescriptorArray(args)) {
7
8
  return {
8
- scale: resolveValue(args)
9
+ scale: scaleFactor(resolveValue(args))
9
10
  };
10
11
  }
11
- const x = resolveValue(args[0]);
12
- const y = resolveValue(args[1]);
12
+ const x = scaleFactor(resolveValue(args[0]));
13
+ const y = scaleFactor(resolveValue(args[1]));
13
14
  const isXValid = typeof x === "string" || typeof x === "number";
14
15
  const isYValid = typeof y === "string" || typeof y === "number";
15
16
  if (isXValid && isYValid) {
@@ -22,7 +23,7 @@ export const scale = (resolveValue, descriptor) => {
22
23
  }];
23
24
  } else if (isXValid) {
24
25
  return {
25
- scaleX: x
26
+ scale: x
26
27
  };
27
28
  } else if (isYValid) {
28
29
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["isStyleDescriptorArray","scale","resolveValue","descriptor","args","x","y","isXValid","isYValid","scaleX","scaleY","rotate","z","isZValid","rotateX","rotateY","rotateZ","translate","translateX","translateY"],"sourceRoot":"../../../../../src","sources":["native/styles/functions/transform-functions.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isStyleDescriptorArray","scaleFactor","scale","resolveValue","descriptor","args","x","y","isXValid","isYValid","scaleX","scaleY","rotate","z","isZValid","rotateX","rotateY","rotateZ","translate","translateX","translateY"],"sourceRoot":"../../../../../src","sources":["native/styles/functions/transform-functions.ts"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,127 @@ import { specificityCompareFn } from "react-native-css/utilities";
6
6
  import { getInteractionHandler } from "../react/interaction.js";
7
7
  import { activeFamily, containerLayoutFamily, family, focusFamily, hoverFamily, observable, VAR_SYMBOL } from "../reactivity.js";
8
8
  import { calculateProps } from "./calculate-props.js";
9
+
10
+ /**
11
+ * Checks if the left style object has any properties that are not present in the right style object.
12
+ * This is used to determine if styles need to be preserved in an array or if right can completely override left.
13
+ *
14
+ * Note: This intentionally only checks one direction (left → right). We don't need to check if right has
15
+ * properties that left doesn't have, because right will always be applied/merged. The question we're
16
+ * answering is: "Does left have any properties that would be lost if we just used right?" If yes, we
17
+ * create a style array [left, right] to preserve both. If no, right can safely replace left entirely.
18
+ *
19
+ * @param left - The left style object to check
20
+ * @param right - The right style object to compare against
21
+ * @returns true if left has at least one property key that doesn't exist in right, false otherwise
22
+ *
23
+ * @example
24
+ * hasNonOverlappingProperties({color: 'red', fontSize: 12}, {color: 'blue'}) // true - fontSize is not in right
25
+ * hasNonOverlappingProperties({color: 'red'}, {color: 'blue', fontSize: 12}) // false - all left keys exist in right
26
+ */
27
+ function hasNonOverlappingProperties(left, right) {
28
+ // Null safety check
29
+ if (!left || !right) {
30
+ return false;
31
+ }
32
+
33
+ // Only check own properties to avoid prototype pollution
34
+ for (const key in left) {
35
+ if (Object.prototype.hasOwnProperty.call(left, key)) {
36
+ if (!Object.prototype.hasOwnProperty.call(right, key)) {
37
+ return true;
38
+ }
39
+ }
40
+ }
41
+ return false;
42
+ }
43
+
44
+ /**
45
+ * Flattens a style array into a single object when possible, with rightmost values taking precedence.
46
+ * Returns the original array if it contains any non-plain objects, arrays, or CSS variable objects.
47
+ *
48
+ * Note: This function assumes the input array has already been filtered (e.g., by filterCssVariables),
49
+ * so empty arrays should not reach this function. If they do, they will be treated as non-flattenable.
50
+ *
51
+ * @param styleArray - The style array to potentially flatten
52
+ * @returns A single merged object if all items are plain objects, otherwise the original array
53
+ */
54
+ function flattenStyleArray(styleArray) {
55
+ // Check if we can flatten to a single object (all items are plain objects)
56
+ for (const item of styleArray) {
57
+ // Use explicit null check instead of !item to allow falsy values like 0 or false
58
+ if (item == null || typeof item !== "object" || Array.isArray(item) || Object.prototype.hasOwnProperty.call(item, VAR_SYMBOL)) {
59
+ return styleArray;
60
+ }
61
+ }
62
+
63
+ // Use reduce to avoid spread operator performance issues with large arrays
64
+ return styleArray.reduce((acc, item) => Object.assign(acc, item), {});
65
+ }
66
+
67
+ /**
68
+ * Recursively filters out CSS variable objects (with VAR_SYMBOL) from style values.
69
+ * This prevents CSS variable runtime objects from leaking into React Native component props.
70
+ *
71
+ * @param value - The value to filter (can be any type: object, array, primitive, etc.)
72
+ * @param depth - Internal recursion depth counter to prevent stack overflow (max 100)
73
+ * @returns The filtered value with CSS variables removed, or `undefined` if the entire value
74
+ * should be filtered out (e.g., empty arrays, objects with only VAR_SYMBOL properties)
75
+ *
76
+ * Filtering behavior:
77
+ * - Objects with VAR_SYMBOL property: returns `undefined` (completely filtered)
78
+ * - Arrays: filters out VAR_SYMBOL objects, returns `undefined` if empty after filtering
79
+ * - Objects: recursively filters properties, returns `undefined` if no properties remain
80
+ * - Primitives (null, undefined, numbers, strings, booleans): returned as-is
81
+ * - Symbol properties: intentionally filtered out for React Native compatibility
82
+ *
83
+ * @example
84
+ * filterCssVariables({fontSize: 16, color: {[VAR_SYMBOL]: true}}) // {fontSize: 16}
85
+ * filterCssVariables([{margin: 10}, {[VAR_SYMBOL]: true}]) // [{margin: 10}]
86
+ * filterCssVariables({color: {[VAR_SYMBOL]: true}}) // undefined (all props filtered)
87
+ */
88
+ function filterCssVariables(value, depth = 0) {
89
+ // Prevent stack overflow on deeply nested structures
90
+ if (depth > 100) {
91
+ return value;
92
+ }
93
+ if (value === null || value === undefined) {
94
+ return value;
95
+ }
96
+ if (Array.isArray(value)) {
97
+ // Single-pass filter with map operation
98
+ const filtered = [];
99
+ for (const item of value) {
100
+ const filteredItem = filterCssVariables(item, depth + 1);
101
+ if (filteredItem !== undefined && !(typeof filteredItem === "object" && filteredItem !== null && Object.prototype.hasOwnProperty.call(filteredItem, VAR_SYMBOL))) {
102
+ filtered.push(filteredItem);
103
+ }
104
+ }
105
+ return filtered.length > 0 ? filtered : undefined;
106
+ }
107
+ if (typeof value === "object") {
108
+ // If the object itself has VAR_SYMBOL, filter it out (check own property only)
109
+ if (Object.prototype.hasOwnProperty.call(value, VAR_SYMBOL)) {
110
+ return undefined;
111
+ }
112
+
113
+ // Otherwise, filter VAR_SYMBOL properties from nested objects
114
+ const filtered = {};
115
+ let hasProperties = false;
116
+
117
+ // Use Object.keys to only iterate own string properties (not inherited, not Symbols)
118
+ // This intentionally filters out Symbol properties for React Native compatibility
119
+ for (const key of Object.keys(value)) {
120
+ const filteredValue = filterCssVariables(value[key], depth + 1);
121
+ if (filteredValue !== undefined) {
122
+ filtered[key] = filteredValue;
123
+ hasProperties = true;
124
+ }
125
+ }
126
+ return hasProperties ? filtered : undefined;
127
+ }
128
+ return value;
129
+ }
9
130
  export const stylesFamily = family((hash, rules) => {
10
131
  const sortedRules = Array.from(rules).sort(specificityCompareFn);
11
132
  const obs = observable(read => calculateProps(read, sortedRules));
@@ -13,22 +134,45 @@ export const stylesFamily = family((hash, rules) => {
13
134
  /**
14
135
  * A family is a map, so we need to cleanup the observers when the the hash is no longer used
15
136
  */
137
+ const unsubscribe = obs.unsubscribe;
16
138
  return Object.assign(obs, {
17
- cleanup: effect => {
18
- obs.observers.delete(effect);
139
+ unsubscribe: effect => {
140
+ unsubscribe(effect);
19
141
  if (obs.observers.size === 0) {
20
142
  stylesFamily.delete(hash);
21
143
  }
22
144
  }
23
145
  });
24
146
  });
25
- export function getStyledProps(state, inline) {
147
+ export function getStyledProps(state, inline, adaptProps = props => props) {
26
148
  let result;
27
149
  const styledProps = state.stylesObs?.get(state.styleEffect);
150
+
151
+ // Each config merges a complete props object. Preserve its full target path
152
+ // before the next config merges unrelated inline props over that object.
153
+ const computedTargets = [];
154
+ const consumedSources = [];
28
155
  for (const config of state.configs) {
29
- result = deepMergeConfig(config, styledProps?.normal, inline, true);
156
+ result = deepMergeConfig(config, nativeStyleMapping(config, adaptProps(styledProps?.normal)), inline, true);
30
157
  if (styledProps?.important) {
31
- result = deepMergeConfig(config, result, styledProps.important);
158
+ result = deepMergeConfig(config, result, nativeStyleMapping(config, adaptProps(styledProps.important)));
159
+ }
160
+ if (result && config.target) {
161
+ const path = Array.isArray(config.target) ? config.target : [config.target];
162
+ let target = result;
163
+ for (const key of path.slice(0, -1)) target = target?.[key];
164
+ const key = path[path.length - 1];
165
+ if (target && key && key in target) {
166
+ computedTargets.push({
167
+ path,
168
+ value: target[key]
169
+ });
170
+ }
171
+ }
172
+
173
+ // Track consumed className sources for cleanup
174
+ if (config.source !== config.target) {
175
+ consumedSources.push(config.source);
32
176
  }
33
177
 
34
178
  // Apply the handlers
@@ -53,15 +197,156 @@ export function getStyledProps(state, inline) {
53
197
  result.onLayout = getInteractionHandler(state.ruleEffectGetter, "onLayout", inline?.onLayout);
54
198
  }
55
199
  }
200
+
201
+ // Restore correctly-merged target props that may have been overwritten
202
+ // by later config iterations' Object.assign({}, left, right)
203
+ if (result) {
204
+ for (const {
205
+ path,
206
+ value
207
+ } of computedTargets) {
208
+ let target = result;
209
+ for (const key of path.slice(0, -1)) {
210
+ const existing = target[key];
211
+ target = target[key] = Array.isArray(existing) ? [...existing] : {
212
+ ...existing
213
+ };
214
+ }
215
+ target[path[path.length - 1]] = value;
216
+ }
217
+ for (const source of consumedSources) {
218
+ delete result[source];
219
+ }
220
+ }
221
+ return result;
222
+ }
223
+
224
+ /**
225
+ * Merges two prop objects, skipping keys from `right` whose value is `undefined`
226
+ * or an empty plain object.
227
+ *
228
+ * `Object.assign({}, left, right)` copies all enumerable own properties from `right`,
229
+ * including those with value `undefined` or `{}`. When a component passes
230
+ * `style={undefined}` or `contentContainerStyle={{}}`, the computed NativeWind
231
+ * style from `left` gets overwritten. This function prevents that by only copying
232
+ * values that carry meaningful style information.
233
+ *
234
+ * Empty object detection uses inline `for...in` instead of a separate function or
235
+ * `Object.keys().length` — avoids both function call overhead and intermediate array
236
+ * allocation on a hot path (called per-prop per-render). Consistent with how the
237
+ * `["style"]` target path handles this via `filterCssVariables({})` returning `undefined`.
238
+ *
239
+ * @param left - The computed NativeWind props (className-derived styles)
240
+ * @param right - The inline props from the component (guaranteed non-null by caller; may contain undefined values)
241
+ * @returns A new object with all properties from `left`, overridden only by meaningful values from `right`
242
+ */
243
+ function mergeDefinedProps(left, right) {
244
+ const result = left ? {
245
+ ...left
246
+ } : {};
247
+ for (const key in right) {
248
+ const value = right[key];
249
+ if (value === undefined) continue;
250
+ // Non-object values (strings, numbers, booleans, null, arrays): always assign
251
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
252
+ result[key] = value;
253
+ continue;
254
+ }
255
+ // Plain object: assign only if non-empty. An empty style object (e.g.,
256
+ // contentContainerStyle={{}}) has no properties to apply and should not
257
+ // overwrite computed className styles. The for...in loop only executes
258
+ // if the object has enumerable keys — empty objects are skipped.
259
+ for (const _ in value) {
260
+ result[key] = value;
261
+ break;
262
+ }
263
+ }
56
264
  return result;
57
265
  }
58
266
  function deepMergeConfig(config, left, right, rightIsInline = false) {
59
- if (!config.target || !right) {
267
+ if (!right) {
60
268
  return {
61
269
  ...left
62
270
  };
63
271
  }
64
- let result = Object.assign({}, left, right);
272
+
273
+ // Handle style merging to support both className and inline style props
274
+ let result;
275
+ if (config.target) {
276
+ if (Array.isArray(config.target) && config.target.length === 1 && config.target[0] === "style") {
277
+ // Special handling for style target when we have inline styles
278
+ result = {
279
+ ...left,
280
+ ...right
281
+ };
282
+
283
+ // Handle null/undefined inline styles
284
+ if (right?.style === null || right?.style === undefined) {
285
+ if (left?.style) {
286
+ result.style = left.style;
287
+ }
288
+ } else if (rightIsInline && right?.style) {
289
+ // Filter inline styles if rightIsInline is true
290
+ const filteredRightStyle = filterCssVariables(right.style);
291
+ if (left?.style) {
292
+ if (!filteredRightStyle) {
293
+ // All inline styles were CSS variables, only use left
294
+ result.style = left.style;
295
+ } else {
296
+ const leftStyle = left.style;
297
+
298
+ // For arrays or objects, check if we need to create a style array
299
+ const leftIsObject = typeof leftStyle === "object" && !Array.isArray(leftStyle);
300
+ const rightIsObject = typeof filteredRightStyle === "object" && !Array.isArray(filteredRightStyle);
301
+ if (leftIsObject && rightIsObject) {
302
+ if (hasNonOverlappingProperties(leftStyle, filteredRightStyle)) {
303
+ result.style = [leftStyle, filteredRightStyle];
304
+ } else {
305
+ // All left properties are in right, right overrides
306
+ result.style = filteredRightStyle;
307
+ }
308
+ } else {
309
+ // One or both are arrays, merge them
310
+ result.style = [leftStyle, filteredRightStyle];
311
+ }
312
+ }
313
+ } else {
314
+ // No left style, just use filtered right
315
+ if (filteredRightStyle) {
316
+ result.style = filteredRightStyle;
317
+ } else {
318
+ // All filtered out, remove style prop
319
+ delete result.style;
320
+ }
321
+ }
322
+ } else if (!rightIsInline && right?.style) {
323
+ // Merging non-inline styles (e.g., important styles)
324
+ if (left?.style) {
325
+ // If left.style is an array, append right.style
326
+ if (Array.isArray(left.style)) {
327
+ const combined = [...left.style, right.style];
328
+ result.style = flattenStyleArray(combined);
329
+ } else if (typeof left.style === "object" && typeof right.style === "object") {
330
+ // Both are objects, check for overlaps
331
+ if (hasNonOverlappingProperties(left.style, right.style)) {
332
+ result.style = flattenStyleArray([left.style, right.style]);
333
+ } else {
334
+ // All left properties are overridden by right
335
+ result.style = right.style;
336
+ }
337
+ } else {
338
+ // One or both are arrays/mixed types
339
+ const combined = [left.style, right.style];
340
+ result.style = flattenStyleArray(combined);
341
+ }
342
+ }
343
+ }
344
+ } else {
345
+ result = mergeDefinedProps(left, right);
346
+ }
347
+ } else {
348
+ result = mergeDefinedProps(left, right);
349
+ }
65
350
  if (right && rightIsInline && config.source in right && config.target !== config.source) {
66
351
  delete result[config.source];
67
352
  }
@@ -69,42 +354,112 @@ function deepMergeConfig(config, left, right, rightIsInline = false) {
69
354
  /**
70
355
  * If target is a path, deep merge until we get to the last key
71
356
  */
72
- if (Array.isArray(config.target) && config.target.length > 1) {
73
- for (let i = 0; i < config.target.length - 1; i++) {
74
- const key = config.target[i];
75
- if (key === undefined) {
76
- return result;
77
- }
357
+ if (Array.isArray(config.target)) {
358
+ if (config.target.length > 1) {
359
+ const key = config.target[0];
78
360
  result[key] = deepMergeConfig({
79
361
  source: config.source,
80
- target: config.target.slice(i + 1)
362
+ target: config.target.slice(1)
81
363
  }, left?.[key], right?.[key], rightIsInline);
82
364
  }
365
+
366
+ // For length-1 array targets (e.g. ["contentContainerStyle"]), the loop
367
+ // above runs 0 iterations. Merge the target prop so inline styles don't
368
+ // silently overwrite className-computed styles (same as string target path).
369
+ const finalKey = config.target[config.target.length - 1];
370
+ if (config.target.length === 1 && finalKey && rightIsInline) {
371
+ let rightValue = right?.[finalKey];
372
+ if (rightValue !== undefined) {
373
+ rightValue = filterCssVariables(rightValue);
374
+ }
375
+ if (rightValue === undefined || rightValue === null) {
376
+ // Inline is empty or fully filtered — preserve className-computed value
377
+ if (left && finalKey in left) {
378
+ result[finalKey] = left[finalKey];
379
+ } else {
380
+ // No left value either — remove unfiltered inline value from result
381
+ delete result[finalKey];
382
+ }
383
+ } else if (left && finalKey in left) {
384
+ const leftValue = left[finalKey];
385
+ const leftIsObj = typeof leftValue === "object" && leftValue !== null && !Array.isArray(leftValue);
386
+ const rightIsObj = typeof rightValue === "object" && rightValue !== null && !Array.isArray(rightValue);
387
+ if (leftIsObj && rightIsObj) {
388
+ if (hasNonOverlappingProperties(leftValue, rightValue)) {
389
+ result[finalKey] = [leftValue, rightValue];
390
+ } else {
391
+ // All left keys are in right — use filtered right value
392
+ result[finalKey] = rightValue;
393
+ }
394
+ } else {
395
+ result[finalKey] = [leftValue, rightValue];
396
+ }
397
+ } else {
398
+ // No left value — use filtered right value (not the unfiltered one from mergeDefinedProps)
399
+ result[finalKey] = rightValue;
400
+ }
401
+ }
83
402
  return result;
84
403
  }
85
- const target = Array.isArray(config.target) ? config.target[0] : config.target;
86
- if (target === undefined) {
404
+ const target = config.target;
405
+ if (target === undefined || target === false) {
87
406
  return result;
88
407
  }
89
408
  let rightValue = right?.[target];
90
409
 
91
410
  // Strip any inline variables from the target
92
- if (rightIsInline && rightValue) {
93
- if (Array.isArray(rightValue)) {
94
- rightValue = rightValue.filter(v => {
95
- return typeof v !== "object" || !(v && VAR_SYMBOL in v);
96
- });
97
- if (rightValue.length === 0) {
98
- rightValue = undefined;
99
- }
100
- } else if (typeof rightValue === "object" && rightValue && VAR_SYMBOL in rightValue) {
101
- rightValue = undefined;
102
- delete result[target][VAR_SYMBOL];
103
- }
411
+ if (rightIsInline && rightValue !== undefined) {
412
+ rightValue = filterCssVariables(rightValue);
104
413
  }
105
414
  if (rightValue !== undefined) {
106
415
  result[target] = left && target in left ? [left[target], rightValue] : rightValue;
107
416
  }
108
417
  return result;
109
418
  }
419
+ function nativeStyleMapping(config, props) {
420
+ if (!props) {
421
+ return props;
422
+ }
423
+ if (!config.nativeStyleMapping) {
424
+ if (config.target === false) delete props.style;
425
+ return props;
426
+ }
427
+ let source;
428
+ if (typeof config.target === "string") {
429
+ source = props[config.target];
430
+ } else if (config.target === false) {
431
+ source = props["style"];
432
+ } else {
433
+ const tokens = [...config.target];
434
+ const lastToken = tokens.pop();
435
+ source = props;
436
+ for (const token of tokens) {
437
+ source = source[token];
438
+ if (!source) {
439
+ return props;
440
+ }
441
+ }
442
+ source = source[lastToken];
443
+ }
444
+ if (!source) {
445
+ return props;
446
+ }
447
+ for (const [key, path] of Object.entries(config.nativeStyleMapping)) {
448
+ const styleValue = source[key];
449
+ delete source[key];
450
+ if (styleValue === undefined) {
451
+ continue;
452
+ }
453
+ let target = props;
454
+ const tokens = path.split(".");
455
+ const lastToken = tokens.pop();
456
+ for (const token of tokens) {
457
+ target[token] ??= {};
458
+ target = target[token];
459
+ }
460
+ target[lastToken] = styleValue;
461
+ }
462
+ if (config.target === false) delete props.style;
463
+ return props;
464
+ }
110
465
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["specificityCompareFn","getInteractionHandler","activeFamily","containerLayoutFamily","family","focusFamily","hoverFamily","observable","VAR_SYMBOL","calculateProps","stylesFamily","hash","rules","sortedRules","Array","from","sort","obs","read","Object","assign","cleanup","effect","observers","delete","size","getStyledProps","state","inline","result","styledProps","stylesObs","get","styleEffect","config","configs","deepMergeConfig","normal","important","has","ruleEffectGetter","onHoverIn","onHoverOut","onPress","onPressIn","onPressOut","onBlur","onFocus","onLayout","left","right","rightIsInline","target","source","isArray","length","i","key","undefined","slice","rightValue","filter","v"],"sourceRoot":"../../../../src","sources":["native/styles/index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["specificityCompareFn","getInteractionHandler","activeFamily","containerLayoutFamily","family","focusFamily","hoverFamily","observable","VAR_SYMBOL","calculateProps","hasNonOverlappingProperties","left","right","key","Object","prototype","hasOwnProperty","call","flattenStyleArray","styleArray","item","Array","isArray","reduce","acc","assign","filterCssVariables","value","depth","undefined","filtered","filteredItem","push","length","hasProperties","keys","filteredValue","stylesFamily","hash","rules","sortedRules","from","sort","obs","read","unsubscribe","effect","observers","size","delete","getStyledProps","state","inline","adaptProps","props","result","styledProps","stylesObs","get","styleEffect","computedTargets","consumedSources","config","configs","deepMergeConfig","nativeStyleMapping","normal","important","target","path","slice","source","has","ruleEffectGetter","onHoverIn","onHoverOut","onPress","onPressIn","onPressOut","onBlur","onFocus","onLayout","existing","mergeDefinedProps","_","rightIsInline","style","filteredRightStyle","leftStyle","leftIsObject","rightIsObject","combined","finalKey","rightValue","leftValue","leftIsObj","rightIsObj","tokens","lastToken","pop","token","entries","styleValue","split"],"sourceRoot":"../../../../src","sources":["native/styles/index.ts"],"mappings":"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","ignoreList":[]}