react-native-css 0.0.0-nightly.416840c → 0.0.0-nightly.5945871

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 (292) hide show
  1. package/README.md +5 -5
  2. package/dist/commonjs/compiler/compiler.js +63 -4
  3. package/dist/commonjs/compiler/compiler.js.map +1 -1
  4. package/dist/commonjs/compiler/declarations.js +51 -0
  5. package/dist/commonjs/compiler/declarations.js.map +1 -1
  6. package/dist/commonjs/compiler/lightningcss-loader.js +12 -2
  7. package/dist/commonjs/compiler/lightningcss-loader.js.map +1 -1
  8. package/dist/commonjs/compiler/stylesheet.js +5 -0
  9. package/dist/commonjs/compiler/stylesheet.js.map +1 -1
  10. package/dist/commonjs/compiler/supports.js +2 -2
  11. package/dist/commonjs/compiler/supports.js.map +1 -1
  12. package/dist/commonjs/components/ActivityIndicator.js +4 -4
  13. package/dist/commonjs/components/ActivityIndicator.js.map +1 -1
  14. package/dist/commonjs/components/Button.js +4 -4
  15. package/dist/commonjs/components/Button.js.map +1 -1
  16. package/dist/commonjs/components/FlatList.js +5 -4
  17. package/dist/commonjs/components/FlatList.js.map +1 -1
  18. package/dist/commonjs/components/Image.js +4 -4
  19. package/dist/commonjs/components/Image.js.map +1 -1
  20. package/dist/commonjs/components/ImageBackground.js +4 -4
  21. package/dist/commonjs/components/ImageBackground.js.map +1 -1
  22. package/dist/commonjs/components/KeyboardAvoidingView.js +4 -4
  23. package/dist/commonjs/components/KeyboardAvoidingView.js.map +1 -1
  24. package/dist/commonjs/components/Pressable.js +4 -4
  25. package/dist/commonjs/components/Pressable.js.map +1 -1
  26. package/dist/commonjs/components/SafeAreaProvider.js +13 -0
  27. package/dist/commonjs/components/SafeAreaProvider.js.map +1 -0
  28. package/dist/commonjs/components/ScrollView.js +4 -4
  29. package/dist/commonjs/components/ScrollView.js.map +1 -1
  30. package/dist/commonjs/components/Switch.js +4 -4
  31. package/dist/commonjs/components/Switch.js.map +1 -1
  32. package/dist/commonjs/components/Text.js +4 -4
  33. package/dist/commonjs/components/Text.js.map +1 -1
  34. package/dist/commonjs/components/TextInput.js +4 -4
  35. package/dist/commonjs/components/TextInput.js.map +1 -1
  36. package/dist/commonjs/components/TouchableHighlight.js +4 -4
  37. package/dist/commonjs/components/TouchableHighlight.js.map +1 -1
  38. package/dist/commonjs/components/TouchableOpacity.js +4 -4
  39. package/dist/commonjs/components/TouchableOpacity.js.map +1 -1
  40. package/dist/commonjs/components/TouchableWithoutFeedback.js +4 -4
  41. package/dist/commonjs/components/TouchableWithoutFeedback.js.map +1 -1
  42. package/dist/commonjs/components/View.js +4 -4
  43. package/dist/commonjs/components/View.js.map +1 -1
  44. package/dist/commonjs/components/VirtualizedList.js +4 -4
  45. package/dist/commonjs/components/VirtualizedList.js.map +1 -1
  46. package/dist/commonjs/components/copyComponentProperties.js +19 -0
  47. package/dist/commonjs/components/copyComponentProperties.js.map +1 -0
  48. package/dist/commonjs/components/index.cjs +3 -3
  49. package/dist/commonjs/components/index.cjs.map +1 -1
  50. package/dist/commonjs/metro/resolver.js +5 -3
  51. package/dist/commonjs/metro/resolver.js.map +1 -1
  52. package/dist/commonjs/native/api.js +5 -1
  53. package/dist/commonjs/native/api.js.map +1 -1
  54. package/dist/commonjs/native/react/useNativeCss.js +11 -5
  55. package/dist/commonjs/native/react/useNativeCss.js.map +1 -1
  56. package/dist/commonjs/native/styles/functions/color-mix.js +50 -0
  57. package/dist/commonjs/native/styles/functions/color-mix.js.map +1 -0
  58. package/dist/commonjs/native/styles/functions/filters.js +4 -4
  59. package/dist/commonjs/native/styles/functions/filters.js.map +1 -1
  60. package/dist/commonjs/native/styles/functions/index.js +11 -0
  61. package/dist/commonjs/native/styles/functions/index.js.map +1 -1
  62. package/dist/commonjs/native/styles/index.js +290 -19
  63. package/dist/commonjs/native/styles/index.js.map +1 -1
  64. package/dist/commonjs/native/styles/shorthands/_handler.js +10 -0
  65. package/dist/commonjs/native/styles/shorthands/_handler.js.map +1 -1
  66. package/dist/commonjs/native/styles/shorthands/box-shadow.js +45 -12
  67. package/dist/commonjs/native/styles/shorthands/box-shadow.js.map +1 -1
  68. package/dist/commonjs/web/api.js +6 -3
  69. package/dist/commonjs/web/api.js.map +1 -1
  70. package/dist/module/compiler/compiler.js +64 -5
  71. package/dist/module/compiler/compiler.js.map +1 -1
  72. package/dist/module/compiler/declarations.js +50 -0
  73. package/dist/module/compiler/declarations.js.map +1 -1
  74. package/dist/module/compiler/lightningcss-loader.js +12 -2
  75. package/dist/module/compiler/lightningcss-loader.js.map +1 -1
  76. package/dist/module/compiler/stylesheet.js +5 -0
  77. package/dist/module/compiler/stylesheet.js.map +1 -1
  78. package/dist/module/compiler/supports.js +2 -2
  79. package/dist/module/compiler/supports.js.map +1 -1
  80. package/dist/module/components/ActivityIndicator.js +3 -2
  81. package/dist/module/components/ActivityIndicator.js.map +1 -1
  82. package/dist/module/components/Button.js +3 -2
  83. package/dist/module/components/Button.js.map +1 -1
  84. package/dist/module/components/FlatList.js +4 -2
  85. package/dist/module/components/FlatList.js.map +1 -1
  86. package/dist/module/components/Image.js +3 -2
  87. package/dist/module/components/Image.js.map +1 -1
  88. package/dist/module/components/ImageBackground.js +3 -2
  89. package/dist/module/components/ImageBackground.js.map +1 -1
  90. package/dist/module/components/KeyboardAvoidingView.js +3 -2
  91. package/dist/module/components/KeyboardAvoidingView.js.map +1 -1
  92. package/dist/module/components/Pressable.js +3 -2
  93. package/dist/module/components/Pressable.js.map +1 -1
  94. package/dist/module/components/SafeAreaProvider.js +4 -0
  95. package/dist/module/components/SafeAreaProvider.js.map +1 -0
  96. package/dist/module/components/ScrollView.js +3 -2
  97. package/dist/module/components/ScrollView.js.map +1 -1
  98. package/dist/module/components/Switch.js +3 -2
  99. package/dist/module/components/Switch.js.map +1 -1
  100. package/dist/module/components/Text.js +3 -2
  101. package/dist/module/components/Text.js.map +1 -1
  102. package/dist/module/components/TextInput.js +3 -2
  103. package/dist/module/components/TextInput.js.map +1 -1
  104. package/dist/module/components/TouchableHighlight.js +3 -2
  105. package/dist/module/components/TouchableHighlight.js.map +1 -1
  106. package/dist/module/components/TouchableOpacity.js +3 -2
  107. package/dist/module/components/TouchableOpacity.js.map +1 -1
  108. package/dist/module/components/TouchableWithoutFeedback.js +3 -2
  109. package/dist/module/components/TouchableWithoutFeedback.js.map +1 -1
  110. package/dist/module/components/View.js +3 -2
  111. package/dist/module/components/View.js.map +1 -1
  112. package/dist/module/components/VirtualizedList.js +3 -2
  113. package/dist/module/components/VirtualizedList.js.map +1 -1
  114. package/dist/module/components/copyComponentProperties.js +15 -0
  115. package/dist/module/components/copyComponentProperties.js.map +1 -0
  116. package/dist/module/components/index.cjs +3 -3
  117. package/dist/module/components/index.cjs.map +1 -1
  118. package/dist/module/metro/resolver.js +5 -3
  119. package/dist/module/metro/resolver.js.map +1 -1
  120. package/dist/module/native/api.js +4 -1
  121. package/dist/module/native/api.js.map +1 -1
  122. package/dist/module/native/react/useNativeCss.js +11 -5
  123. package/dist/module/native/react/useNativeCss.js.map +1 -1
  124. package/dist/module/native/styles/functions/color-mix.js +45 -0
  125. package/dist/module/native/styles/functions/color-mix.js.map +1 -0
  126. package/dist/module/native/styles/functions/filters.js +4 -4
  127. package/dist/module/native/styles/functions/filters.js.map +1 -1
  128. package/dist/module/native/styles/functions/index.js +1 -0
  129. package/dist/module/native/styles/functions/index.js.map +1 -1
  130. package/dist/module/native/styles/index.js +291 -19
  131. package/dist/module/native/styles/index.js.map +1 -1
  132. package/dist/module/native/styles/shorthands/_handler.js +11 -1
  133. package/dist/module/native/styles/shorthands/_handler.js.map +1 -1
  134. package/dist/module/native/styles/shorthands/box-shadow.js +46 -12
  135. package/dist/module/native/styles/shorthands/box-shadow.js.map +1 -1
  136. package/dist/module/web/api.js +6 -3
  137. package/dist/module/web/api.js.map +1 -1
  138. package/dist/typescript/commonjs/.config/eslint.config.d.mts +1 -1
  139. package/dist/typescript/commonjs/example/src/App.d.ts.map +1 -1
  140. package/dist/typescript/commonjs/src/compiler/compiler.d.ts.map +1 -1
  141. package/dist/typescript/commonjs/src/compiler/declarations.d.ts +1 -0
  142. package/dist/typescript/commonjs/src/compiler/declarations.d.ts.map +1 -1
  143. package/dist/typescript/commonjs/src/compiler/lightningcss-loader.d.ts.map +1 -1
  144. package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts +1 -0
  145. package/dist/typescript/commonjs/src/compiler/stylesheet.d.ts.map +1 -1
  146. package/dist/typescript/commonjs/src/components/ActivityIndicator.d.ts +2 -4
  147. package/dist/typescript/commonjs/src/components/ActivityIndicator.d.ts.map +1 -1
  148. package/dist/typescript/commonjs/src/components/Button.d.ts +2 -4
  149. package/dist/typescript/commonjs/src/components/Button.d.ts.map +1 -1
  150. package/dist/typescript/commonjs/src/components/FlatList.d.ts +2 -2
  151. package/dist/typescript/commonjs/src/components/FlatList.d.ts.map +1 -1
  152. package/dist/typescript/commonjs/src/components/Image.d.ts +2 -4
  153. package/dist/typescript/commonjs/src/components/Image.d.ts.map +1 -1
  154. package/dist/typescript/commonjs/src/components/ImageBackground.d.ts +2 -4
  155. package/dist/typescript/commonjs/src/components/ImageBackground.d.ts.map +1 -1
  156. package/dist/typescript/commonjs/src/components/KeyboardAvoidingView.d.ts +2 -4
  157. package/dist/typescript/commonjs/src/components/KeyboardAvoidingView.d.ts.map +1 -1
  158. package/dist/typescript/commonjs/src/components/Pressable.d.ts +2 -4
  159. package/dist/typescript/commonjs/src/components/Pressable.d.ts.map +1 -1
  160. package/dist/typescript/commonjs/src/components/SafeAreaProvider.d.ts +2 -0
  161. package/dist/typescript/commonjs/src/components/SafeAreaProvider.d.ts.map +1 -0
  162. package/dist/typescript/commonjs/src/components/ScrollView.d.ts +2 -4
  163. package/dist/typescript/commonjs/src/components/ScrollView.d.ts.map +1 -1
  164. package/dist/typescript/commonjs/src/components/Switch.d.ts +2 -6
  165. package/dist/typescript/commonjs/src/components/Switch.d.ts.map +1 -1
  166. package/dist/typescript/commonjs/src/components/Text.d.ts +2 -6
  167. package/dist/typescript/commonjs/src/components/Text.d.ts.map +1 -1
  168. package/dist/typescript/commonjs/src/components/TextInput.d.ts +2 -4
  169. package/dist/typescript/commonjs/src/components/TextInput.d.ts.map +1 -1
  170. package/dist/typescript/commonjs/src/components/TouchableHighlight.d.ts +2 -4
  171. package/dist/typescript/commonjs/src/components/TouchableHighlight.d.ts.map +1 -1
  172. package/dist/typescript/commonjs/src/components/TouchableOpacity.d.ts +2 -4
  173. package/dist/typescript/commonjs/src/components/TouchableOpacity.d.ts.map +1 -1
  174. package/dist/typescript/commonjs/src/components/TouchableWithoutFeedback.d.ts +2 -4
  175. package/dist/typescript/commonjs/src/components/TouchableWithoutFeedback.d.ts.map +1 -1
  176. package/dist/typescript/commonjs/src/components/View.d.ts +2 -6
  177. package/dist/typescript/commonjs/src/components/View.d.ts.map +1 -1
  178. package/dist/typescript/commonjs/src/components/VirtualizedList.d.ts +2 -2
  179. package/dist/typescript/commonjs/src/components/VirtualizedList.d.ts.map +1 -1
  180. package/dist/typescript/commonjs/src/components/copyComponentProperties.d.ts +5 -0
  181. package/dist/typescript/commonjs/src/components/copyComponentProperties.d.ts.map +1 -0
  182. package/dist/typescript/commonjs/src/metro/resolver.d.ts.map +1 -1
  183. package/dist/typescript/commonjs/src/native/api.d.ts +1 -1
  184. package/dist/typescript/commonjs/src/native/api.d.ts.map +1 -1
  185. package/dist/typescript/commonjs/src/native/react/useNativeCss.d.ts.map +1 -1
  186. package/dist/typescript/commonjs/src/native/styles/functions/color-mix.d.ts +3 -0
  187. package/dist/typescript/commonjs/src/native/styles/functions/color-mix.d.ts.map +1 -0
  188. package/dist/typescript/commonjs/src/native/styles/functions/index.d.ts +1 -0
  189. package/dist/typescript/commonjs/src/native/styles/functions/index.d.ts.map +1 -1
  190. package/dist/typescript/commonjs/src/native/styles/index.d.ts.map +1 -1
  191. package/dist/typescript/commonjs/src/native/styles/shorthands/_handler.d.ts.map +1 -1
  192. package/dist/typescript/commonjs/src/native/styles/shorthands/box-shadow.d.ts.map +1 -1
  193. package/dist/typescript/commonjs/src/utilities/dot-notation.types.d.ts +1 -1
  194. package/dist/typescript/commonjs/src/utilities/dot-notation.types.d.ts.map +1 -1
  195. package/dist/typescript/commonjs/src/web/api.d.ts +2 -2
  196. package/dist/typescript/commonjs/src/web/api.d.ts.map +1 -1
  197. package/dist/typescript/module/.config/eslint.config.d.mts +1 -1
  198. package/dist/typescript/module/example/src/App.d.ts.map +1 -1
  199. package/dist/typescript/module/src/compiler/compiler.d.ts.map +1 -1
  200. package/dist/typescript/module/src/compiler/declarations.d.ts +1 -0
  201. package/dist/typescript/module/src/compiler/declarations.d.ts.map +1 -1
  202. package/dist/typescript/module/src/compiler/lightningcss-loader.d.ts.map +1 -1
  203. package/dist/typescript/module/src/compiler/stylesheet.d.ts +1 -0
  204. package/dist/typescript/module/src/compiler/stylesheet.d.ts.map +1 -1
  205. package/dist/typescript/module/src/components/ActivityIndicator.d.ts +2 -4
  206. package/dist/typescript/module/src/components/ActivityIndicator.d.ts.map +1 -1
  207. package/dist/typescript/module/src/components/Button.d.ts +2 -4
  208. package/dist/typescript/module/src/components/Button.d.ts.map +1 -1
  209. package/dist/typescript/module/src/components/FlatList.d.ts +2 -2
  210. package/dist/typescript/module/src/components/FlatList.d.ts.map +1 -1
  211. package/dist/typescript/module/src/components/Image.d.ts +2 -4
  212. package/dist/typescript/module/src/components/Image.d.ts.map +1 -1
  213. package/dist/typescript/module/src/components/ImageBackground.d.ts +2 -4
  214. package/dist/typescript/module/src/components/ImageBackground.d.ts.map +1 -1
  215. package/dist/typescript/module/src/components/KeyboardAvoidingView.d.ts +2 -4
  216. package/dist/typescript/module/src/components/KeyboardAvoidingView.d.ts.map +1 -1
  217. package/dist/typescript/module/src/components/Pressable.d.ts +2 -4
  218. package/dist/typescript/module/src/components/Pressable.d.ts.map +1 -1
  219. package/dist/typescript/module/src/components/SafeAreaProvider.d.ts +2 -0
  220. package/dist/typescript/module/src/components/SafeAreaProvider.d.ts.map +1 -0
  221. package/dist/typescript/module/src/components/ScrollView.d.ts +2 -4
  222. package/dist/typescript/module/src/components/ScrollView.d.ts.map +1 -1
  223. package/dist/typescript/module/src/components/Switch.d.ts +2 -6
  224. package/dist/typescript/module/src/components/Switch.d.ts.map +1 -1
  225. package/dist/typescript/module/src/components/Text.d.ts +2 -6
  226. package/dist/typescript/module/src/components/Text.d.ts.map +1 -1
  227. package/dist/typescript/module/src/components/TextInput.d.ts +2 -4
  228. package/dist/typescript/module/src/components/TextInput.d.ts.map +1 -1
  229. package/dist/typescript/module/src/components/TouchableHighlight.d.ts +2 -4
  230. package/dist/typescript/module/src/components/TouchableHighlight.d.ts.map +1 -1
  231. package/dist/typescript/module/src/components/TouchableOpacity.d.ts +2 -4
  232. package/dist/typescript/module/src/components/TouchableOpacity.d.ts.map +1 -1
  233. package/dist/typescript/module/src/components/TouchableWithoutFeedback.d.ts +2 -4
  234. package/dist/typescript/module/src/components/TouchableWithoutFeedback.d.ts.map +1 -1
  235. package/dist/typescript/module/src/components/View.d.ts +2 -6
  236. package/dist/typescript/module/src/components/View.d.ts.map +1 -1
  237. package/dist/typescript/module/src/components/VirtualizedList.d.ts +2 -2
  238. package/dist/typescript/module/src/components/VirtualizedList.d.ts.map +1 -1
  239. package/dist/typescript/module/src/components/copyComponentProperties.d.ts +5 -0
  240. package/dist/typescript/module/src/components/copyComponentProperties.d.ts.map +1 -0
  241. package/dist/typescript/module/src/metro/resolver.d.ts.map +1 -1
  242. package/dist/typescript/module/src/native/api.d.ts +1 -1
  243. package/dist/typescript/module/src/native/api.d.ts.map +1 -1
  244. package/dist/typescript/module/src/native/react/useNativeCss.d.ts.map +1 -1
  245. package/dist/typescript/module/src/native/styles/functions/color-mix.d.ts +3 -0
  246. package/dist/typescript/module/src/native/styles/functions/color-mix.d.ts.map +1 -0
  247. package/dist/typescript/module/src/native/styles/functions/index.d.ts +1 -0
  248. package/dist/typescript/module/src/native/styles/functions/index.d.ts.map +1 -1
  249. package/dist/typescript/module/src/native/styles/index.d.ts.map +1 -1
  250. package/dist/typescript/module/src/native/styles/shorthands/_handler.d.ts.map +1 -1
  251. package/dist/typescript/module/src/native/styles/shorthands/box-shadow.d.ts.map +1 -1
  252. package/dist/typescript/module/src/utilities/dot-notation.types.d.ts +1 -1
  253. package/dist/typescript/module/src/utilities/dot-notation.types.d.ts.map +1 -1
  254. package/dist/typescript/module/src/web/api.d.ts +2 -2
  255. package/dist/typescript/module/src/web/api.d.ts.map +1 -1
  256. package/package.json +19 -5
  257. package/src/compiler/compiler.ts +90 -5
  258. package/src/compiler/declarations.ts +96 -0
  259. package/src/compiler/lightningcss-loader.ts +20 -1
  260. package/src/compiler/stylesheet.ts +6 -0
  261. package/src/compiler/supports.ts +2 -2
  262. package/src/components/ActivityIndicator.tsx +8 -5
  263. package/src/components/Button.tsx +8 -3
  264. package/src/components/FlatList.tsx +14 -4
  265. package/src/components/Image.tsx +8 -3
  266. package/src/components/ImageBackground.tsx +8 -5
  267. package/src/components/KeyboardAvoidingView.tsx +8 -5
  268. package/src/components/Pressable.tsx +8 -3
  269. package/src/components/SafeAreaProvider.tsx +1 -0
  270. package/src/components/ScrollView.tsx +8 -5
  271. package/src/components/Switch.tsx +8 -3
  272. package/src/components/Text.tsx +8 -3
  273. package/src/components/TextInput.tsx +8 -3
  274. package/src/components/TouchableHighlight.tsx +8 -5
  275. package/src/components/TouchableOpacity.tsx +8 -5
  276. package/src/components/TouchableWithoutFeedback.tsx +8 -5
  277. package/src/components/View.tsx +8 -3
  278. package/src/components/VirtualizedList.tsx +17 -5
  279. package/src/components/copyComponentProperties.ts +21 -0
  280. package/src/components/index.cts +3 -3
  281. package/src/metro/resolver.ts +10 -3
  282. package/src/native/api.tsx +6 -2
  283. package/src/native/react/useNativeCss.ts +13 -6
  284. package/src/native/styles/functions/color-mix.ts +68 -0
  285. package/src/native/styles/functions/filters.ts +6 -6
  286. package/src/native/styles/functions/index.ts +1 -0
  287. package/src/native/styles/index.ts +346 -26
  288. package/src/native/styles/shorthands/_handler.ts +14 -1
  289. package/src/native/styles/shorthands/box-shadow.ts +50 -15
  290. package/src/utilities/dot-notation.types.ts +10 -3
  291. package/src/web/api.tsx +10 -5
  292. package/types.d.ts +3 -0
package/README.md CHANGED
@@ -117,7 +117,7 @@ export default function App() {
117
117
  return (
118
118
  <MyView className="container">
119
119
  <MyView className="box" />
120
- </View>
120
+ </MyView>
121
121
  );
122
122
  }
123
123
  ```
@@ -176,15 +176,15 @@ export default function App() {
176
176
  > This hook may not support all features of the library.
177
177
  > This hooks does not support container queries or inheritance for children elements.
178
178
 
179
- #### `useNativeCssVariable`
179
+ #### `useNativeVariable`
180
180
 
181
- If you just require a CSS variable value, you can use the `useNativeCssVariable` hook:
181
+ If you just require a CSS variable value, you can use the `useNativeVariable` hook:
182
182
 
183
183
  ```ts
184
- import { useNativeCssVariable } from 'react-native-css';
184
+ import { useNativeVariable } from 'react-native-css';
185
185
 
186
186
  export default function App() {
187
- const myColor = useNativeCssVariable("--my-color");
187
+ const myColor = useNativeVariable("--my-color");
188
188
 
189
189
  return (
190
190
  <View style={{ backgroundColor: myColor }}>
@@ -59,15 +59,26 @@ function compile(code, options = {}) {
59
59
  */
60
60
 
61
61
  const vars = new Map();
62
+
63
+ // Determine the effective rem multiplier for compile-time inlining.
64
+ // If inlineRem is explicitly set, use that. Otherwise, scan for
65
+ // :root { font-size: Npx } in the CSS to allow CSS-based configuration.
66
+ let effectiveRem = options.inlineRem ?? undefined;
67
+ if (effectiveRem === undefined) {
68
+ const css = typeof code === "string" ? code : code.toString();
69
+ const match = css.match(/:root\s*\{[^}]*font-size:\s*([\d.]+)px/);
70
+ effectiveRem = match?.[1] ? parseFloat(match[1]) : 14;
71
+ }
62
72
  const firstPassVisitor = {};
63
- if (options.inlineRem !== false) {
73
+ if (effectiveRem !== false) {
74
+ const remMultiplier = effectiveRem;
64
75
  firstPassVisitor.Length = length => {
65
- if (length.unit !== "rem" || options.inlineRem === false) {
76
+ if (length.unit !== "rem") {
66
77
  return length;
67
78
  }
68
79
  return {
69
80
  unit: "px",
70
- value: (0, _declarations.round)(length.value * (options.inlineRem ?? 14))
81
+ value: (0, _declarations.round)(length.value * remMultiplier)
71
82
  };
72
83
  };
73
84
  }
@@ -251,13 +262,15 @@ function extractRule(rule, builder, mapping = {}) {
251
262
  }
252
263
  }
253
264
  break;
265
+ case "property":
266
+ extractPropertyRule(rule.value, builder);
267
+ break;
254
268
  case "custom":
255
269
  case "font-face":
256
270
  case "font-palette-values":
257
271
  case "font-feature-values":
258
272
  case "namespace":
259
273
  case "layer-statement":
260
- case "property":
261
274
  case "view-transition":
262
275
  case "ignored":
263
276
  case "unknown":
@@ -335,4 +348,50 @@ function extractContainer(containerRule, builder, mapping) {
335
348
  extractRule(rule, builder, mapping);
336
349
  }
337
350
  }
351
+ function extractPropertyRule(propertyRule, builder) {
352
+ const {
353
+ initialValue,
354
+ name
355
+ } = propertyRule;
356
+ if (initialValue == null) {
357
+ return;
358
+ }
359
+ const varName = name.startsWith("--") ? name.slice(2) : name;
360
+ const value = parsePropertyInitialValue(initialValue, builder);
361
+ if (value !== undefined) {
362
+ builder.addRootVariable(varName, value);
363
+ }
364
+ }
365
+ function parsePropertyInitialValue(component, builder) {
366
+ switch (component.type) {
367
+ case "length":
368
+ return (0, _declarations.parseLength)(component.value, builder);
369
+ case "number":
370
+ case "integer":
371
+ return (0, _declarations.round)(component.value);
372
+ case "percentage":
373
+ return `${(0, _declarations.round)(component.value * 100)}%`;
374
+ case "color":
375
+ return (0, _declarations.parseColor)(component.value, builder);
376
+ case "angle":
377
+ return (0, _declarations.parseAngle)(component.value, builder);
378
+ case "length-percentage":
379
+ return (0, _declarations.parseLength)(component.value, builder);
380
+ case "token-list":
381
+ return (0, _declarations.reduceParseUnparsed)(component.value, builder, "@property", false);
382
+ case "custom-ident":
383
+ case "literal":
384
+ return component.value;
385
+ case "repeated":
386
+ {
387
+ const results = component.value.components.map(c => parsePropertyInitialValue(c, builder)).filter(v => v !== undefined);
388
+ // Unwrap single-child repeated values so downstream consumers get a
389
+ // scalar instead of a 1-element array. For example, `<length>+` with
390
+ // initial-value `10px` should produce the same shape as `<length>`.
391
+ return results.length === 1 ? results[0] : results;
392
+ }
393
+ default:
394
+ return undefined;
395
+ }
396
+ }
338
397
  //# sourceMappingURL=compiler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_nodeUtil","require","_debug","_atRules","_containerQuery","_declarations","_inlineVariables","_keyframes","_lightningcssLoader","_mediaQuery","_stylesheet","_supports","defaultLogger","debug","compile","code","options","logger","isLoggerEnabled","enabled","Boolean","features","Object","assign","selectorPrefix","startsWith","slice","JSON","stringify","process","env","NODE_ENV","toString","builder","StylesheetBuilder","lightningcss","Features","lightningcssLoader","vars","Map","firstPassVisitor","inlineRem","Length","length","unit","value","round","inlineVariables","exclusionList","exclude","Declaration","decl","property","name","includes","entry","get","count","type","set","StyleSheetExit","sheet","firstPass","TextEncoder","encode","include","DoublePositionGradients","ColorFunction","VendorPrefixes","visitor","filename","projectRoot","cwd","MAX_LOG_SIZE","subarray","customAtRules","body","Rule","rule","maybeMutateReactNativeOptions","rules","inspect","depth","colors","compact","extractRule","stylesheet","getNativeStyleSheet","warnings","getWarnings","mapping","extractKeyFrames","extractContainer","extractMedia","declarationBlock","declarations","newNestedRule","declaration","parseDeclaration","applyRuleToSelectors","importantDeclarations","important","parsePropAtRule","fork","selectors","newRule","nestedRule","layerRule","supportsConditionValid","condition","mediaRule","media","mediaQuery","query","mediaQueries","mediaType","qualifier","push","m","parseMediaQuery","containerRule","parseContainerCondition","n","addContainerQuery"],"sourceRoot":"../../../src","sources":["compiler/compiler.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_nodeUtil","require","_debug","_atRules","_containerQuery","_declarations","_inlineVariables","_keyframes","_lightningcssLoader","_mediaQuery","_stylesheet","_supports","defaultLogger","debug","compile","code","options","logger","isLoggerEnabled","enabled","Boolean","features","Object","assign","selectorPrefix","startsWith","slice","JSON","stringify","process","env","NODE_ENV","toString","builder","StylesheetBuilder","lightningcss","Features","lightningcssLoader","vars","Map","effectiveRem","inlineRem","undefined","css","match","parseFloat","firstPassVisitor","remMultiplier","Length","length","unit","value","round","inlineVariables","exclusionList","exclude","Declaration","decl","property","name","includes","entry","get","count","type","set","StyleSheetExit","sheet","firstPass","TextEncoder","encode","include","DoublePositionGradients","ColorFunction","VendorPrefixes","visitor","filename","projectRoot","cwd","MAX_LOG_SIZE","subarray","customAtRules","body","Rule","rule","maybeMutateReactNativeOptions","rules","inspect","depth","colors","compact","extractRule","stylesheet","getNativeStyleSheet","warnings","getWarnings","mapping","extractKeyFrames","extractContainer","extractMedia","declarationBlock","declarations","newNestedRule","declaration","parseDeclaration","applyRuleToSelectors","importantDeclarations","important","parsePropAtRule","fork","selectors","newRule","nestedRule","layerRule","supportsConditionValid","condition","extractPropertyRule","mediaRule","media","mediaQuery","query","mediaQueries","mediaType","qualifier","push","m","parseMediaQuery","containerRule","parseContainerCondition","n","addContainerQuery","propertyRule","initialValue","varName","parsePropertyInitialValue","addRootVariable","component","parseLength","parseColor","parseAngle","reduceParseUnparsed","results","components","map","c","filter","v"],"sourceRoot":"../../../src","sources":["compiler/compiler.ts"],"mappings":"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","ignoreList":[]}
@@ -27,6 +27,7 @@ exports.parseCalcArguments = parseCalcArguments;
27
27
  exports.parseCalcFn = parseCalcFn;
28
28
  exports.parseColor = parseColor;
29
29
  exports.parseColorDeclaration = parseColorDeclaration;
30
+ exports.parseColorMix = parseColorMix;
30
31
  exports.parseColorOrAutoDeclaration = parseColorOrAutoDeclaration;
31
32
  exports.parseCustomDeclaration = parseCustomDeclaration;
32
33
  exports.parseDeclaration = parseDeclaration;
@@ -862,6 +863,8 @@ function parseUnparsed(tokenOrValue, builder, property, allowAuto = allowAutoPro
862
863
  case "min":
863
864
  case "clamp":
864
865
  return parseCalcFn(tokenOrValue.value.name, tokenOrValue.value.arguments, builder, property);
866
+ case "color-mix":
867
+ return parseColorMix(tokenOrValue.value.arguments, builder, property);
865
868
  default:
866
869
  {
867
870
  builder.addWarning("value", `${tokenOrValue.value.name}()`);
@@ -1914,6 +1917,54 @@ function parseCalcFn(name, tokens, builder, property) {
1914
1917
  }
1915
1918
  return;
1916
1919
  }
1920
+ function parseColorMix(tokens, builder, property) {
1921
+ const [inToken, whitespace, colorSpace, comma, ...rest] = tokens;
1922
+ if (typeof inToken !== "object" || inToken.type !== "token" || inToken.value.type !== "ident" || inToken.value.value !== "in") {
1923
+ return;
1924
+ }
1925
+ if (typeof whitespace !== "object" || whitespace.type !== "token" || whitespace.value.type !== "white-space") {
1926
+ return;
1927
+ }
1928
+ if (typeof comma !== "object" || comma.type !== "token" || comma.value.type !== "comma") {
1929
+ return;
1930
+ }
1931
+ const colorSpaceArg = parseUnparsed(colorSpace, builder, property);
1932
+ if (typeof colorSpaceArg !== "string") {
1933
+ return;
1934
+ }
1935
+ let nextToken = rest.shift();
1936
+ const leftColorArg = parseUnparsed(nextToken, builder, property);
1937
+ if (!leftColorArg) {
1938
+ return;
1939
+ }
1940
+ nextToken = rest.shift();
1941
+ let leftColorPercentage;
1942
+ if (nextToken?.type !== "token" || nextToken.value.type !== "comma") {
1943
+ leftColorPercentage = parseUnparsed(nextToken, builder, property);
1944
+ nextToken = rest.shift();
1945
+ }
1946
+ if (typeof nextToken !== "object" || nextToken.type !== "token" || nextToken.value.type !== "comma") {
1947
+ return;
1948
+ }
1949
+ nextToken = rest.shift();
1950
+ const rightColorArg = parseUnparsed(nextToken, builder, property);
1951
+ if (rightColorArg === "transparent") {
1952
+ // Ignore the rest, treat as single color with alpha
1953
+ return [{}, "colorMix", [colorSpaceArg, leftColorArg, leftColorPercentage]];
1954
+ }
1955
+ nextToken = rest.shift();
1956
+ let rightColorPercentage;
1957
+ if (nextToken?.type !== "token" || nextToken.value.type !== "comma") {
1958
+ rightColorPercentage = parseUnparsed(nextToken, builder, property);
1959
+ nextToken = rest.shift();
1960
+ }
1961
+
1962
+ // We should have expired all tokens now
1963
+ if (nextToken) {
1964
+ return;
1965
+ }
1966
+ return [{}, "colorMix", [colorSpaceArg, leftColorArg, leftColorPercentage, rightColorArg, rightColorPercentage]];
1967
+ }
1917
1968
  function parseCalcArguments([...args], builder, property) {
1918
1969
  const parsed = [];
1919
1970
  for (const arg of args) {