@niibase/uniwind 1.6.3 → 1.7.0

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 (326) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/dist/common/{css → bundler/artifacts/css}/index.js +1 -4
  3. package/dist/common/{css → bundler/artifacts/css}/themes.js +1 -1
  4. package/dist/common/{utils/buildDtsFile.js → bundler/artifacts/dts.js} +1 -2
  5. package/dist/common/bundler/config.js +69 -0
  6. package/dist/common/bundler/css-compiler/compileCSS.js +18 -0
  7. package/dist/common/bundler/css-compiler/compileNativeCSS.js +19 -0
  8. package/dist/common/bundler/css-compiler/compileTailwind.js +27 -0
  9. package/dist/common/bundler/css-compiler/compileWebCSS.js +15 -0
  10. package/dist/common/{vite → bundler/css-compiler}/index.js +4 -4
  11. package/dist/common/bundler/css-processor/addMetaToStylesTemplate.js +130 -0
  12. package/dist/common/bundler/css-processor/animation.js +112 -0
  13. package/dist/common/bundler/css-processor/color.js +66 -0
  14. package/dist/common/bundler/css-processor/css.js +510 -0
  15. package/dist/common/bundler/css-processor/functions.js +145 -0
  16. package/dist/common/bundler/css-processor/index.js +38 -0
  17. package/dist/common/bundler/css-processor/mq.js +87 -0
  18. package/dist/common/bundler/css-processor/processor.js +353 -0
  19. package/dist/common/bundler/css-processor/rn.js +356 -0
  20. package/dist/common/bundler/css-processor/serialize.js +86 -0
  21. package/dist/common/bundler/css-processor/types.js +1 -0
  22. package/dist/common/bundler/css-processor/units.js +55 -0
  23. package/dist/common/bundler/css-processor/utils.js +63 -0
  24. package/dist/common/bundler/css-processor/var.js +20 -0
  25. package/dist/common/{css-visitor → bundler/css-visitor}/rule-visitor.js +5 -5
  26. package/dist/common/{css-visitor → bundler/css-visitor}/visitor.js +5 -6
  27. package/dist/common/bundler/logger.js +41 -0
  28. package/dist/common/bundler/types.js +1 -0
  29. package/dist/common/common/consts.js +26 -2
  30. package/dist/common/components/index.js +0 -3
  31. package/dist/common/components/web/rnw.js +2 -2
  32. package/dist/common/core/config/config.common.js +15 -9
  33. package/dist/common/core/config/config.js +2 -2
  34. package/dist/common/core/config/config.native.js +3 -3
  35. package/dist/common/core/listener.js +10 -10
  36. package/dist/common/core/native/runtime.js +7 -3
  37. package/dist/common/core/native/store.js +3 -4
  38. package/dist/common/core/web/cssListener.js +2 -2
  39. package/dist/common/hoc/withUniwind.js +5 -5
  40. package/dist/common/hoc/withUniwind.native.js +5 -5
  41. package/dist/common/hooks/useCSSVariable/index.js +7 -11
  42. package/dist/common/hooks/useCSSVariable/useCSSVariable.js +26 -18
  43. package/dist/common/hooks/useUniwind.js +2 -2
  44. package/dist/metro/index.cjs +14 -24
  45. package/dist/metro/index.d.ts +2 -0
  46. package/dist/metro/index.mjs +7 -17
  47. package/dist/metro/{metro-transformer.cjs → transformer.cjs} +306 -173
  48. package/dist/metro/{metro-transformer.mjs → transformer.mjs} +249 -116
  49. package/dist/module/{css → bundler/artifacts/css}/index.d.ts +1 -1
  50. package/dist/module/{css → bundler/artifacts/css}/index.js +1 -4
  51. package/dist/module/{css → bundler/artifacts/css}/themes.js +1 -1
  52. package/dist/module/{utils/buildDtsFile.js → bundler/artifacts/dts.js} +3 -4
  53. package/dist/module/bundler/config.d.ts +16 -0
  54. package/dist/module/bundler/config.js +69 -0
  55. package/dist/module/bundler/css-compiler/compileCSS.d.ts +2 -0
  56. package/dist/module/bundler/css-compiler/compileCSS.js +11 -0
  57. package/dist/module/bundler/css-compiler/compileNativeCSS.d.ts +2 -0
  58. package/dist/module/bundler/css-compiler/compileNativeCSS.js +33 -0
  59. package/dist/module/bundler/css-compiler/compileTailwind.d.ts +2 -0
  60. package/dist/module/bundler/css-compiler/compileTailwind.js +22 -0
  61. package/dist/module/bundler/css-compiler/compileWebCSS.d.ts +2 -0
  62. package/dist/module/bundler/css-compiler/compileWebCSS.js +8 -0
  63. package/dist/module/bundler/css-compiler/index.d.ts +1 -0
  64. package/dist/module/bundler/css-compiler/index.js +1 -0
  65. package/dist/module/bundler/css-processor/addMetaToStylesTemplate.d.ts +3 -0
  66. package/dist/module/bundler/css-processor/addMetaToStylesTemplate.js +136 -0
  67. package/dist/module/bundler/css-processor/animation.d.ts +6 -0
  68. package/dist/module/bundler/css-processor/animation.js +112 -0
  69. package/dist/module/bundler/css-processor/color.d.ts +12 -0
  70. package/dist/module/bundler/css-processor/color.js +63 -0
  71. package/dist/module/bundler/css-processor/css.d.ts +23 -0
  72. package/dist/module/bundler/css-processor/css.js +566 -0
  73. package/dist/module/bundler/css-processor/functions.d.ts +12 -0
  74. package/dist/module/bundler/css-processor/functions.js +190 -0
  75. package/dist/module/bundler/css-processor/index.d.ts +3 -0
  76. package/dist/module/bundler/css-processor/index.js +3 -0
  77. package/dist/module/bundler/css-processor/mq.d.ts +12 -0
  78. package/dist/module/bundler/css-processor/mq.js +78 -0
  79. package/dist/module/bundler/css-processor/processor.d.ts +36 -0
  80. package/dist/module/bundler/css-processor/processor.js +336 -0
  81. package/dist/module/bundler/css-processor/rn.d.ts +10 -0
  82. package/dist/module/bundler/css-processor/rn.js +400 -0
  83. package/dist/module/bundler/css-processor/serialize.d.ts +2 -0
  84. package/dist/module/bundler/css-processor/serialize.js +101 -0
  85. package/dist/module/bundler/css-processor/types.d.ts +28 -0
  86. package/dist/module/bundler/css-processor/types.js +0 -0
  87. package/dist/module/bundler/css-processor/units.d.ts +10 -0
  88. package/dist/module/bundler/css-processor/units.js +48 -0
  89. package/dist/module/bundler/css-processor/utils.d.ts +24 -0
  90. package/dist/{shared/uniwind.PtWWxxnh.mjs → module/bundler/css-processor/utils.js} +11 -15
  91. package/dist/module/bundler/css-processor/var.d.ts +7 -0
  92. package/dist/module/bundler/css-processor/var.js +13 -0
  93. package/dist/module/{css-visitor → bundler/css-visitor}/function-visitor.d.ts +1 -1
  94. package/dist/module/{css-visitor → bundler/css-visitor}/rule-visitor.d.ts +4 -3
  95. package/dist/module/{css-visitor → bundler/css-visitor}/rule-visitor.js +5 -5
  96. package/dist/module/{css-visitor → bundler/css-visitor}/visitor.d.ts +3 -3
  97. package/dist/module/{css-visitor → bundler/css-visitor}/visitor.js +5 -6
  98. package/dist/module/bundler/logger.d.ts +11 -0
  99. package/dist/module/bundler/logger.js +34 -0
  100. package/dist/module/bundler/types.d.ts +15 -0
  101. package/dist/module/bundler/types.js +0 -0
  102. package/dist/module/common/consts.d.ts +21 -0
  103. package/dist/module/common/consts.js +24 -0
  104. package/dist/module/components/ScopedTheme/ScopedTheme.native.d.ts +1 -1
  105. package/dist/module/components/index.js +0 -3
  106. package/dist/module/components/native/Pressable.d.ts +1 -1
  107. package/dist/module/components/native/TouchableHighlight.d.ts +1 -1
  108. package/dist/module/components/native/TouchableOpacity.d.ts +1 -1
  109. package/dist/module/components/native/useAccentColor.d.ts +1 -1
  110. package/dist/module/components/native/useStyle.d.ts +2 -2
  111. package/dist/module/components/react-native-gesture-handler/native/BaseButton.d.ts +1 -1
  112. package/dist/module/components/react-native-gesture-handler/native/BorderlessButton.d.ts +1 -1
  113. package/dist/module/components/react-native-gesture-handler/native/DrawerLayoutAndroid.d.ts +1 -1
  114. package/dist/module/components/react-native-gesture-handler/native/FlatList.d.ts +1 -1
  115. package/dist/module/components/react-native-gesture-handler/native/Pressable.d.ts +1 -1
  116. package/dist/module/components/react-native-gesture-handler/native/PureNativeButton.d.ts +1 -1
  117. package/dist/module/components/react-native-gesture-handler/native/RawButton.d.ts +1 -1
  118. package/dist/module/components/react-native-gesture-handler/native/RectButton.d.ts +1 -1
  119. package/dist/module/components/react-native-gesture-handler/native/RefreshControl.d.ts +1 -1
  120. package/dist/module/components/react-native-gesture-handler/native/ScrollView.d.ts +1 -1
  121. package/dist/module/components/react-native-gesture-handler/native/Switch.d.ts +1 -1
  122. package/dist/module/components/react-native-gesture-handler/native/TextInput.d.ts +1 -1
  123. package/dist/module/components/web/Pressable.d.ts +1 -1
  124. package/dist/module/components/web/TouchableHighlight.d.ts +1 -1
  125. package/dist/module/components/web/TouchableOpacity.d.ts +1 -1
  126. package/dist/module/components/web/rnw.js +1 -1
  127. package/dist/module/core/config/config.common.d.ts +7 -6
  128. package/dist/module/core/config/config.common.js +6 -2
  129. package/dist/module/core/config/config.d.ts +1 -1
  130. package/dist/module/core/config/config.js +1 -1
  131. package/dist/module/core/config/config.native.d.ts +2 -2
  132. package/dist/module/core/config/config.native.js +1 -1
  133. package/dist/module/core/listener.d.ts +1 -1
  134. package/dist/module/core/listener.js +1 -1
  135. package/dist/module/core/native/runtime.js +5 -1
  136. package/dist/module/core/native/store.d.ts +2 -2
  137. package/dist/module/core/native/store.js +1 -2
  138. package/dist/module/core/types.d.ts +6 -3
  139. package/dist/module/core/web/cssListener.js +1 -1
  140. package/dist/module/core/web/getWebStyles.d.ts +1 -1
  141. package/dist/module/hoc/types.d.ts +2 -2
  142. package/dist/module/hoc/withUniwind.d.ts +1 -1
  143. package/dist/module/hoc/withUniwind.js +5 -5
  144. package/dist/module/hoc/withUniwind.native.d.ts +1 -1
  145. package/dist/module/hoc/withUniwind.native.js +5 -5
  146. package/dist/module/hooks/useCSSVariable/getVariableValue.native.d.ts +1 -1
  147. package/dist/module/hooks/useCSSVariable/index.d.ts +1 -1
  148. package/dist/module/hooks/useCSSVariable/index.js +1 -1
  149. package/dist/module/hooks/useCSSVariable/useCSSVariable.d.ts +4 -2
  150. package/dist/module/hooks/useCSSVariable/useCSSVariable.js +23 -16
  151. package/dist/module/hooks/useResolveClassNames.d.ts +1 -1
  152. package/dist/module/hooks/useUniwind.d.ts +1 -1
  153. package/dist/module/hooks/useUniwind.js +1 -1
  154. package/dist/module/index.d.ts +1 -2
  155. package/dist/shared/{uniwind.r2i22V6d.cjs → uniwind.CFiAZ3D-.cjs} +307 -217
  156. package/dist/shared/{uniwind.BGiqYvxb.mjs → uniwind.u-s1XVU8.mjs} +299 -214
  157. package/dist/vite/index.cjs +12 -22
  158. package/dist/vite/index.mjs +9 -19
  159. package/package.json +1 -1
  160. package/src/{metro → bundler/adapters/metro}/index.d.ts +2 -0
  161. package/src/bundler/adapters/metro/index.ts +1 -0
  162. package/src/{metro/withUniwindConfig.ts → bundler/adapters/metro/metro.ts} +7 -22
  163. package/src/{metro/metro-css-patches.ts → bundler/adapters/metro/patches.ts} +2 -1
  164. package/src/{metro → bundler/adapters/metro}/resolvers.ts +8 -8
  165. package/src/bundler/adapters/metro/transformer.ts +85 -0
  166. package/src/{vite → bundler/adapters/vite}/vite.ts +10 -28
  167. package/src/{css → bundler/artifacts/css}/extraUtilities.ts +1 -1
  168. package/src/{css → bundler/artifacts/css}/index.ts +1 -5
  169. package/src/{css → bundler/artifacts/css}/themes.ts +1 -1
  170. package/src/{utils/buildDtsFile.ts → bundler/artifacts/dts.ts} +3 -4
  171. package/src/bundler/config.ts +84 -0
  172. package/src/bundler/css-compiler/compileCSS.ts +15 -0
  173. package/src/bundler/css-compiler/compileNativeCSS.ts +41 -0
  174. package/src/bundler/css-compiler/compileTailwind.ts +25 -0
  175. package/src/bundler/css-compiler/compileWebCSS.ts +10 -0
  176. package/src/bundler/css-compiler/index.ts +1 -0
  177. package/src/{metro → bundler/css-processor}/addMetaToStylesTemplate.ts +33 -14
  178. package/src/{metro/processor → bundler/css-processor}/animation.ts +4 -4
  179. package/src/{metro/processor → bundler/css-processor}/color.ts +4 -3
  180. package/src/{metro/processor → bundler/css-processor}/css.ts +17 -9
  181. package/src/{metro/processor → bundler/css-processor}/functions.ts +2 -2
  182. package/src/bundler/css-processor/index.ts +3 -0
  183. package/src/{metro/processor → bundler/css-processor}/mq.ts +4 -4
  184. package/src/{metro/processor → bundler/css-processor}/processor.ts +13 -11
  185. package/src/{metro/processor → bundler/css-processor}/rn.ts +115 -3
  186. package/src/{metro/utils → bundler/css-processor}/serialize.ts +2 -2
  187. package/src/{metro → bundler/css-processor}/types.ts +3 -17
  188. package/src/{metro/processor → bundler/css-processor}/units.ts +1 -1
  189. package/src/{metro/processor → bundler/css-processor}/var.ts +1 -1
  190. package/src/{css-visitor → bundler/css-visitor}/function-visitor.ts +1 -1
  191. package/src/{css-visitor → bundler/css-visitor}/rule-visitor.ts +6 -5
  192. package/src/{css-visitor → bundler/css-visitor}/visitor.ts +4 -3
  193. package/src/bundler/types.ts +17 -0
  194. package/src/common/consts.ts +25 -0
  195. package/src/components/ScopedTheme/ScopedTheme.native.tsx +1 -1
  196. package/src/components/index.ts +0 -3
  197. package/src/components/native/ActivityIndicator.tsx +2 -1
  198. package/src/components/native/Button.tsx +2 -1
  199. package/src/components/native/FlatList.tsx +2 -1
  200. package/src/components/native/Image.tsx +2 -1
  201. package/src/components/native/ImageBackground.tsx +2 -1
  202. package/src/components/native/InputAccessoryView.tsx +3 -2
  203. package/src/components/native/KeyboardAvoidingView.tsx +2 -1
  204. package/src/components/native/Modal.tsx +2 -1
  205. package/src/components/native/Pressable.tsx +1 -1
  206. package/src/components/native/RefreshControl.tsx +2 -1
  207. package/src/components/native/SafeAreaView.tsx +2 -1
  208. package/src/components/native/ScrollView.tsx +2 -1
  209. package/src/components/native/SectionList.tsx +2 -1
  210. package/src/components/native/Switch.tsx +3 -2
  211. package/src/components/native/Text.tsx +3 -2
  212. package/src/components/native/TextInput.tsx +3 -2
  213. package/src/components/native/TouchableHighlight.tsx +3 -2
  214. package/src/components/native/TouchableNativeFeedback.tsx +3 -2
  215. package/src/components/native/TouchableOpacity.tsx +3 -2
  216. package/src/components/native/TouchableWithoutFeedback.tsx +3 -2
  217. package/src/components/native/View.tsx +2 -1
  218. package/src/components/native/VirtualizedList.tsx +2 -1
  219. package/src/components/native/useAccentColor.ts +1 -1
  220. package/src/components/native/useStyle.ts +2 -2
  221. package/src/components/react-native-gesture-handler/native/BaseButton.tsx +1 -1
  222. package/src/components/react-native-gesture-handler/native/BorderlessButton.tsx +1 -1
  223. package/src/components/react-native-gesture-handler/native/DrawerLayoutAndroid.tsx +1 -1
  224. package/src/components/react-native-gesture-handler/native/FlatList.tsx +1 -1
  225. package/src/components/react-native-gesture-handler/native/GestureHandlerRootView.tsx +1 -1
  226. package/src/components/react-native-gesture-handler/native/Pressable.tsx +1 -1
  227. package/src/components/react-native-gesture-handler/native/PureNativeButton.tsx +1 -1
  228. package/src/components/react-native-gesture-handler/native/RawButton.tsx +1 -1
  229. package/src/components/react-native-gesture-handler/native/RectButton.tsx +1 -1
  230. package/src/components/react-native-gesture-handler/native/RefreshControl.tsx +1 -1
  231. package/src/components/react-native-gesture-handler/native/ScrollView.tsx +1 -1
  232. package/src/components/react-native-gesture-handler/native/Switch.tsx +2 -2
  233. package/src/components/react-native-gesture-handler/native/Text.tsx +2 -2
  234. package/src/components/react-native-gesture-handler/native/TextInput.tsx +2 -2
  235. package/src/components/react-native-gesture-handler/native/TouchableNativeFeedback.tsx +2 -2
  236. package/src/components/react-native-gesture-handler/native/TouchableOpacity.tsx +2 -2
  237. package/src/components/react-native-gesture-handler/native/TouchableWithoutFeedback.tsx +2 -2
  238. package/src/components/web/ActivityIndicator.tsx +2 -1
  239. package/src/components/web/Button.tsx +2 -1
  240. package/src/components/web/FlatList.tsx +2 -1
  241. package/src/components/web/Image.tsx +2 -1
  242. package/src/components/web/ImageBackground.tsx +2 -1
  243. package/src/components/web/KeyboardAvoidingView.tsx +2 -1
  244. package/src/components/web/Modal.tsx +2 -1
  245. package/src/components/web/Pressable.tsx +2 -1
  246. package/src/components/web/RefreshControl.tsx +2 -1
  247. package/src/components/web/SafeAreaView.tsx +2 -1
  248. package/src/components/web/ScrollView.tsx +2 -1
  249. package/src/components/web/SectionList.tsx +2 -1
  250. package/src/components/web/Switch.tsx +2 -1
  251. package/src/components/web/Text.tsx +2 -1
  252. package/src/components/web/TextInput.tsx +2 -1
  253. package/src/components/web/TouchableHighlight.tsx +2 -1
  254. package/src/components/web/TouchableOpacity.tsx +2 -1
  255. package/src/components/web/TouchableWithoutFeedback.tsx +2 -1
  256. package/src/components/web/View.tsx +2 -1
  257. package/src/components/web/VirtualizedList.tsx +2 -1
  258. package/src/components/web/rnw.ts +1 -1
  259. package/src/core/config/config.common.ts +15 -8
  260. package/src/core/config/config.native.ts +3 -3
  261. package/src/core/config/config.ts +2 -2
  262. package/src/core/listener.ts +1 -1
  263. package/src/core/native/runtime.ts +7 -2
  264. package/src/core/native/store.ts +3 -4
  265. package/src/core/types.ts +6 -3
  266. package/src/core/web/cssListener.ts +1 -1
  267. package/src/core/web/getWebStyles.ts +1 -1
  268. package/src/hoc/types.ts +2 -2
  269. package/src/hoc/withUniwind.native.tsx +4 -3
  270. package/src/hoc/withUniwind.tsx +3 -2
  271. package/src/hooks/useCSSVariable/getVariableValue.native.ts +1 -1
  272. package/src/hooks/useCSSVariable/index.ts +1 -1
  273. package/src/hooks/useCSSVariable/useCSSVariable.ts +34 -25
  274. package/src/hooks/useResolveClassNames.ts +1 -1
  275. package/src/hooks/useUniwind.ts +2 -2
  276. package/src/index.ts +1 -2
  277. package/dist/common/types.js +0 -28
  278. package/dist/common/utils/stringifyThemes.js +0 -8
  279. package/dist/common/vite/vite.js +0 -95
  280. package/dist/module/types.d.ts +0 -21
  281. package/dist/module/types.js +0 -22
  282. package/dist/module/utils/stringifyThemes.d.ts +0 -1
  283. package/dist/module/utils/stringifyThemes.js +0 -1
  284. package/dist/module/vite/index.d.ts +0 -9
  285. package/dist/module/vite/index.js +0 -1
  286. package/dist/module/vite/vite.d.ts +0 -8
  287. package/dist/module/vite/vite.js +0 -98
  288. package/dist/shared/uniwind.B5q8hBGv.cjs +0 -18
  289. package/dist/shared/uniwind.Cv73KtI-.cjs +0 -86
  290. package/dist/shared/uniwind.JSWK3vHl.mjs +0 -14
  291. package/src/metro/compileVirtual.ts +0 -85
  292. package/src/metro/index.ts +0 -1
  293. package/src/metro/injectThemes.ts +0 -23
  294. package/src/metro/metro-transformer.ts +0 -116
  295. package/src/metro/processor/index.ts +0 -1
  296. package/src/metro/utils/index.ts +0 -2
  297. package/src/types.ts +0 -23
  298. package/src/utils/stringifyThemes.ts +0 -1
  299. package/src/vite/index.d.ts +0 -9
  300. /package/dist/common/{css → bundler/artifacts/css}/extraUtilities.js +0 -0
  301. /package/dist/common/{css → bundler/artifacts/css}/insets.js +0 -0
  302. /package/dist/common/{css → bundler/artifacts/css}/overwrite.js +0 -0
  303. /package/dist/common/{css → bundler/artifacts/css}/variants.js +0 -0
  304. /package/dist/common/{css-visitor → bundler/css-visitor}/function-visitor.js +0 -0
  305. /package/dist/common/{css-visitor → bundler/css-visitor}/index.js +0 -0
  306. /package/dist/module/{css → bundler/artifacts/css}/extraUtilities.d.ts +0 -0
  307. /package/dist/module/{css → bundler/artifacts/css}/extraUtilities.js +0 -0
  308. /package/dist/module/{css → bundler/artifacts/css}/insets.d.ts +0 -0
  309. /package/dist/module/{css → bundler/artifacts/css}/insets.js +0 -0
  310. /package/dist/module/{css → bundler/artifacts/css}/overwrite.d.ts +0 -0
  311. /package/dist/module/{css → bundler/artifacts/css}/overwrite.js +0 -0
  312. /package/dist/module/{css → bundler/artifacts/css}/themes.d.ts +0 -0
  313. /package/dist/module/{css → bundler/artifacts/css}/variants.d.ts +0 -0
  314. /package/dist/module/{css → bundler/artifacts/css}/variants.js +0 -0
  315. /package/dist/module/{utils/buildDtsFile.d.ts → bundler/artifacts/dts.d.ts} +0 -0
  316. /package/dist/module/{css-visitor → bundler/css-visitor}/function-visitor.js +0 -0
  317. /package/dist/module/{css-visitor → bundler/css-visitor}/index.d.ts +0 -0
  318. /package/dist/module/{css-visitor → bundler/css-visitor}/index.js +0 -0
  319. /package/{dist/common → src/bundler/adapters}/vite/index.d.ts +0 -0
  320. /package/src/{vite → bundler/adapters/vite}/index.ts +0 -0
  321. /package/src/{css → bundler/artifacts/css}/insets.ts +0 -0
  322. /package/src/{css → bundler/artifacts/css}/overwrite.ts +0 -0
  323. /package/src/{css → bundler/artifacts/css}/variants.ts +0 -0
  324. /package/src/{metro/utils/common.ts → bundler/css-processor/utils.ts} +0 -0
  325. /package/src/{css-visitor → bundler/css-visitor}/index.ts +0 -0
  326. /package/src/{metro → bundler}/logger.ts +0 -0
@@ -0,0 +1,7 @@
1
+ import type { Variable } from 'lightningcss';
2
+ import type { ProcessorBuilder } from './processor';
3
+ export declare class Var {
4
+ private readonly Processor;
5
+ constructor(Processor: ProcessorBuilder);
6
+ processVar(variable: Variable): string;
7
+ }
@@ -0,0 +1,13 @@
1
+ export class Var {
2
+ constructor(Processor) {
3
+ this.Processor = Processor;
4
+ }
5
+ processVar(variable) {
6
+ const value = `this[\`${variable.name.ident}\`]`;
7
+ if (!variable.fallback || variable.fallback.length === 0) {
8
+ return value;
9
+ }
10
+ const fallback = this.Processor.CSS.processValue(variable.fallback);
11
+ return `${value} ?? ${fallback}`;
12
+ }
13
+ }
@@ -1,4 +1,4 @@
1
- import { Function as LightningCSSFunction, TokenOrValue } from 'lightningcss';
1
+ import type { Function as LightningCSSFunction, TokenOrValue } from 'lightningcss';
2
2
  export declare class FunctionVisitor {
3
3
  [name: string]: (fn: LightningCSSFunction) => TokenOrValue;
4
4
  platformSelect(fn: LightningCSSFunction): TokenOrValue;
@@ -1,4 +1,5 @@
1
- import { ReturnedDeclaration, ReturnedMediaQuery, ReturnedRule, Rule } from 'lightningcss';
1
+ import type { ReturnedDeclaration, ReturnedMediaQuery, ReturnedRule, Rule } from 'lightningcss';
2
+ import type { UniwindBundlerConfig } from '../config';
2
3
  type LightningRuleVisitor = Rule<ReturnedDeclaration, ReturnedMediaQuery>;
3
4
  type LightningRuleVisitors = Partial<{
4
5
  [K in LightningRuleVisitor['type']]: (rule: Extract<LightningRuleVisitor, {
@@ -6,11 +7,11 @@ type LightningRuleVisitors = Partial<{
6
7
  }>) => ReturnedRule | Array<ReturnedRule> | void;
7
8
  }>;
8
9
  export declare class RuleVisitor implements LightningRuleVisitors {
9
- private readonly themes;
10
+ private readonly bundlerConfig;
10
11
  processedClassNames: Set<string>;
11
12
  processedVariables: Set<string>;
12
13
  currentLayerName: string;
13
- constructor(themes: Array<string>);
14
+ constructor(bundlerConfig: UniwindBundlerConfig);
14
15
  'layer-block': (layer: Extract<LightningRuleVisitor, {
15
16
  type: "layer-block";
16
17
  }>) => void;
@@ -1,6 +1,6 @@
1
1
  export class RuleVisitor {
2
- constructor(themes) {
3
- this.themes = themes;
2
+ constructor(bundlerConfig) {
3
+ this.bundlerConfig = bundlerConfig;
4
4
  }
5
5
  processedClassNames = /* @__PURE__ */ new Set();
6
6
  processedVariables = /* @__PURE__ */ new Set();
@@ -60,7 +60,7 @@ export class RuleVisitor {
60
60
  if (whereSelector?.type !== "class") {
61
61
  return styleRule;
62
62
  }
63
- const selectedVariant = this.themes.find((theme) => whereSelector.name === theme);
63
+ const selectedVariant = this.bundlerConfig.themes.find((theme) => whereSelector.name === theme);
64
64
  if (selectedVariant === void 0 || this.processedVariables.has(selectedVariant)) {
65
65
  return styleRule;
66
66
  }
@@ -76,7 +76,7 @@ export class RuleVisitor {
76
76
  };
77
77
  }
78
78
  processClassStyle(styleRule, firstSelector) {
79
- const selectedVariant = this.themes.find((theme) => firstSelector.name.includes(`${theme}:`));
79
+ const selectedVariant = this.bundlerConfig.themes.find((theme) => firstSelector.name.includes(`${theme}:`));
80
80
  if (selectedVariant === void 0 || this.processedClassNames.has(firstSelector.name)) {
81
81
  return;
82
82
  }
@@ -87,7 +87,7 @@ export class RuleVisitor {
87
87
  loc: styleRule.value.loc,
88
88
  rules: [styleRule],
89
89
  scopeStart: [[{ type: "class", name: selectedVariant }]],
90
- scopeEnd: this.themes.filter((theme) => theme !== selectedVariant).map((theme) => [{ type: "class", name: theme }])
90
+ scopeEnd: this.bundlerConfig.themes.filter((theme) => theme !== selectedVariant).map((theme) => [{ type: "class", name: theme }])
91
91
  }
92
92
  };
93
93
  }
@@ -1,8 +1,8 @@
1
- import { CustomAtRules, Visitor } from 'lightningcss';
1
+ import type { CustomAtRules, Visitor } from 'lightningcss';
2
+ import type { UniwindBundlerConfig } from '../config';
2
3
  export declare class UniwindCSSVisitor implements Visitor<CustomAtRules> {
3
- private readonly themes;
4
4
  Function: Visitor<CustomAtRules>['Function'];
5
5
  Rule: Visitor<CustomAtRules>['Rule'];
6
6
  StyleSheet: Visitor<CustomAtRules>['StyleSheet'];
7
- constructor(themes: Array<string>);
7
+ constructor(bundlerConfig: UniwindBundlerConfig);
8
8
  }
@@ -1,16 +1,15 @@
1
1
  import { FunctionVisitor } from "./function-visitor.js";
2
2
  import { RuleVisitor } from "./rule-visitor.js";
3
3
  export class UniwindCSSVisitor {
4
- constructor(themes) {
5
- this.themes = themes;
6
- const ruleVisitor = new RuleVisitor(this.themes);
4
+ Function;
5
+ Rule;
6
+ StyleSheet;
7
+ constructor(bundlerConfig) {
8
+ const ruleVisitor = new RuleVisitor(bundlerConfig);
7
9
  this.Function = new FunctionVisitor();
8
10
  this.Rule = ruleVisitor;
9
11
  this.StyleSheet = () => {
10
12
  ruleVisitor.cleanup();
11
13
  };
12
14
  }
13
- Function;
14
- Rule;
15
- StyleSheet;
16
15
  }
@@ -0,0 +1,11 @@
1
+ export declare class Logger {
2
+ private readonly name;
3
+ static debug: boolean;
4
+ constructor(name: string);
5
+ static log(message: string, meta?: string): void;
6
+ static error(message: string, meta?: string): void;
7
+ static warn(message: string, meta?: string): void;
8
+ log(message: string): void;
9
+ error(message: string): void;
10
+ warn(message: string): void;
11
+ }
@@ -0,0 +1,34 @@
1
+ const red = "\x1B[91m";
2
+ const yellow = "\x1B[33m";
3
+ const blue = "\x1B[36m";
4
+ const reset = "\x1B[0m";
5
+ export class Logger {
6
+ constructor(name) {
7
+ this.name = name;
8
+ }
9
+ static debug = false;
10
+ static log(message, meta = "") {
11
+ if (!Logger.debug) {
12
+ return;
13
+ }
14
+ console.log(`${blue}Uniwind ${meta}- ${message}${reset}`);
15
+ }
16
+ static error(message, meta = "") {
17
+ console.log(`${red}Uniwind Error ${meta}- ${message}${reset}`);
18
+ }
19
+ static warn(message, meta = "") {
20
+ if (!Logger.debug) {
21
+ return;
22
+ }
23
+ console.log(`${yellow}Uniwind Warning ${meta}- ${message}${reset}`);
24
+ }
25
+ log(message) {
26
+ Logger.log(message, `[${this.name} Processor] `);
27
+ }
28
+ error(message) {
29
+ Logger.error(message, `[${this.name} Processor] `);
30
+ }
31
+ warn(message) {
32
+ Logger.warn(message, `[${this.name} Processor] `);
33
+ }
34
+ }
@@ -0,0 +1,15 @@
1
+ export type UniwindConfig = {
2
+ cssEntryFile: string;
3
+ extraThemes?: Array<string>;
4
+ extraComponents?: Record<string, string>;
5
+ dtsFile?: string;
6
+ };
7
+ export type Polyfills = {
8
+ rem?: number;
9
+ responsive?: 'text' | 'components' | boolean;
10
+ };
11
+ export type UniwindMetroConfig = UniwindConfig & {
12
+ polyfills?: Polyfills;
13
+ debug?: boolean;
14
+ isTV?: boolean;
15
+ };
File without changes
@@ -9,3 +9,24 @@ export declare const enum Platform {
9
9
  }
10
10
  export declare const UNIWIND_PLATFORM_VARIABLES = "__uniwind-platform-";
11
11
  export declare const UNIWIND_THEME_VARIABLES = "__uniwind-theme-";
12
+ export declare enum StyleDependency {
13
+ ColorScheme = 1,
14
+ Theme = 2,
15
+ Dimensions = 3,
16
+ Orientation = 4,
17
+ Insets = 5,
18
+ FontScale = 6,
19
+ Rtl = 7,
20
+ AdaptiveThemes = 8,
21
+ Variables = 9
22
+ }
23
+ export declare const enum Orientation {
24
+ Portrait = "portrait",
25
+ Landscape = "landscape"
26
+ }
27
+ export declare const enum ColorScheme {
28
+ Light = "light",
29
+ Dark = "dark"
30
+ }
31
+ export declare const DEFAULT_SCREEN_WIDTH = 375;
32
+ export declare const DEFAULT_SCREEN_HEIGHT = 680;
@@ -10,3 +10,27 @@ export var Platform = /* @__PURE__ */ ((Platform2) => {
10
10
  })(Platform || {});
11
11
  export const UNIWIND_PLATFORM_VARIABLES = "__uniwind-platform-";
12
12
  export const UNIWIND_THEME_VARIABLES = "__uniwind-theme-";
13
+ export var StyleDependency = /* @__PURE__ */ ((StyleDependency2) => {
14
+ StyleDependency2[StyleDependency2["ColorScheme"] = 1] = "ColorScheme";
15
+ StyleDependency2[StyleDependency2["Theme"] = 2] = "Theme";
16
+ StyleDependency2[StyleDependency2["Dimensions"] = 3] = "Dimensions";
17
+ StyleDependency2[StyleDependency2["Orientation"] = 4] = "Orientation";
18
+ StyleDependency2[StyleDependency2["Insets"] = 5] = "Insets";
19
+ StyleDependency2[StyleDependency2["FontScale"] = 6] = "FontScale";
20
+ StyleDependency2[StyleDependency2["Rtl"] = 7] = "Rtl";
21
+ StyleDependency2[StyleDependency2["AdaptiveThemes"] = 8] = "AdaptiveThemes";
22
+ StyleDependency2[StyleDependency2["Variables"] = 9] = "Variables";
23
+ return StyleDependency2;
24
+ })(StyleDependency || {});
25
+ export var Orientation = /* @__PURE__ */ ((Orientation2) => {
26
+ Orientation2["Portrait"] = "portrait";
27
+ Orientation2["Landscape"] = "landscape";
28
+ return Orientation2;
29
+ })(Orientation || {});
30
+ export var ColorScheme = /* @__PURE__ */ ((ColorScheme2) => {
31
+ ColorScheme2["Light"] = "light";
32
+ ColorScheme2["Dark"] = "dark";
33
+ return ColorScheme2;
34
+ })(ColorScheme || {});
35
+ export const DEFAULT_SCREEN_WIDTH = 375;
36
+ export const DEFAULT_SCREEN_HEIGHT = 680;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { ThemeName } from '../../core/types';
2
+ import type { ThemeName } from '../../core/types';
3
3
  type ScopedThemeProps = {
4
4
  theme: ThemeName;
5
5
  };
@@ -195,9 +195,6 @@ module.exports = {
195
195
  get PlatformColor() {
196
196
  return require("react-native").PlatformColor;
197
197
  },
198
- get PushNotificationIOS() {
199
- return require("react-native").PushNotificationIOS;
200
- },
201
198
  get processColor() {
202
199
  return require("react-native").processColor;
203
200
  },
@@ -1,4 +1,4 @@
1
- import { PressableProps } from 'react-native';
1
+ import { type PressableProps } from 'react-native';
2
2
  declare module 'react-native' {
3
3
  interface PressableStateCallbackType {
4
4
  focused?: boolean;
@@ -1,3 +1,3 @@
1
- import { TouchableHighlightProps } from 'react-native';
1
+ import type { TouchableHighlightProps } from 'react-native';
2
2
  export declare const TouchableHighlight: import("react").ForwardRefExoticComponent<TouchableHighlightProps & import("react").RefAttributes<import("react-native").View>>;
3
3
  export default TouchableHighlight;
@@ -1,3 +1,3 @@
1
- import { TouchableOpacityProps } from 'react-native';
1
+ import type { TouchableOpacityProps } from 'react-native';
2
2
  export declare const TouchableOpacity: import("react").ForwardRefExoticComponent<TouchableOpacityProps & import("react").RefAttributes<import("react-native").View>>;
3
3
  export default TouchableOpacity;
@@ -1,2 +1,2 @@
1
- import { ComponentState } from '../../core/types';
1
+ import type { ComponentState } from '../../core/types';
2
2
  export declare const useAccentColor: (className: string | undefined, componentProps: Record<string, any>, state?: ComponentState) => string | undefined;
@@ -1,5 +1,5 @@
1
- import { ComponentType } from 'react';
2
- import { ComponentState, RNStyle } from '../../core/types';
1
+ import { type ComponentType } from 'react';
2
+ import type { ComponentState, RNStyle } from '../../core/types';
3
3
  export declare function useStyle(className?: string, componentProps?: Record<string, any>, state?: ComponentState): RNStyle;
4
4
  export declare function useStyle<T extends React.ComponentType<any>>(component: T, className?: string, componentProps?: Record<string, any>, state?: ComponentState): {
5
5
  style: RNStyle;
@@ -1,3 +1,3 @@
1
- import { BaseButtonProps } from 'react-native-gesture-handler';
1
+ import { type BaseButtonProps } from 'react-native-gesture-handler';
2
2
  export declare const BaseButton: import("react").ForwardRefExoticComponent<Omit<BaseButtonProps, "innerRef"> & import("react").RefAttributes<import("react").ComponentType<{}>>>;
3
3
  export default BaseButton;
@@ -1,3 +1,3 @@
1
- import { BorderlessButtonProps } from 'react-native-gesture-handler';
1
+ import { type BorderlessButtonProps } from 'react-native-gesture-handler';
2
2
  export declare const BorderlessButton: import("react").ForwardRefExoticComponent<Omit<BorderlessButtonProps, "innerRef"> & import("react").RefAttributes<import("react").ComponentType<{}>>>;
3
3
  export default BorderlessButton;
@@ -1,4 +1,4 @@
1
- import { DrawerLayoutAndroidProps } from 'react-native';
1
+ import type { DrawerLayoutAndroidProps } from 'react-native';
2
2
  export declare const DrawerLayoutAndroid: import("react").ForwardRefExoticComponent<DrawerLayoutAndroidProps & {
3
3
  children?: React.ReactNode | undefined;
4
4
  } & import("react-native-gesture-handler").NativeViewGestureHandlerProps & import("react").RefAttributes<import("react").ComponentType<any>>>;
@@ -1,4 +1,4 @@
1
- import { FlatListProps } from 'react-native';
1
+ import type { FlatListProps } from 'react-native';
2
2
  import { FlatList as RNGHFlatList } from 'react-native-gesture-handler';
3
3
  export declare const FlatList: <ItemT = any>(props: import("react").PropsWithChildren<Omit<FlatListProps<ItemT>, "renderScrollComponent"> & import("react").RefAttributes<RNGHFlatList<ItemT>> & import("react-native-gesture-handler").NativeViewGestureHandlerProps>, ref?: import("react").ForwardedRef<RNGHFlatList<ItemT>>) => import("react").ReactElement | null;
4
4
  export default FlatList;
@@ -1,3 +1,3 @@
1
- import { PressableProps } from 'react-native-gesture-handler';
1
+ import { type PressableProps } from 'react-native-gesture-handler';
2
2
  export declare const Pressable: (props: PressableProps) => React.JSX.Element;
3
3
  export default Pressable;
@@ -1,3 +1,3 @@
1
- import { RawButtonProps } from 'react-native-gesture-handler';
1
+ import { type RawButtonProps } from 'react-native-gesture-handler';
2
2
  export declare const PureNativeButton: import("react-native").HostComponent<RawButtonProps>;
3
3
  export default PureNativeButton;
@@ -1,3 +1,3 @@
1
- import { RawButtonProps } from 'react-native-gesture-handler';
1
+ import { type RawButtonProps } from 'react-native-gesture-handler';
2
2
  export declare const RawButton: import("react").ForwardRefExoticComponent<RawButtonProps & import("react-native-gesture-handler").NativeViewGestureHandlerProps & import("react").RefAttributes<import("react").ComponentType<any>>>;
3
3
  export default RawButton;
@@ -1,3 +1,3 @@
1
- import { RectButtonProps } from 'react-native-gesture-handler';
1
+ import { type RectButtonProps } from 'react-native-gesture-handler';
2
2
  export declare const RectButton: import("react").ForwardRefExoticComponent<Omit<RectButtonProps, "innerRef"> & import("react").RefAttributes<import("react").ComponentType<{}>>>;
3
3
  export default RectButton;
@@ -1,3 +1,3 @@
1
- import { RefreshControlProps } from 'react-native';
1
+ import type { RefreshControlProps } from 'react-native';
2
2
  export declare const RefreshControl: import("react").ForwardRefExoticComponent<RefreshControlProps & import("react-native-gesture-handler").NativeViewGestureHandlerProps & import("react").RefAttributes<import("react").ComponentType<any>>>;
3
3
  export default RefreshControl;
@@ -1,3 +1,3 @@
1
- import { ScrollViewProps } from 'react-native';
1
+ import type { ScrollViewProps } from 'react-native';
2
2
  export declare const ScrollView: import("react").ForwardRefExoticComponent<ScrollViewProps & import("react-native-gesture-handler").NativeViewGestureHandlerProps & import("react").RefAttributes<import("react-native").ScrollView>>;
3
3
  export default ScrollView;
@@ -1,3 +1,3 @@
1
- import { SwitchProps } from 'react-native';
1
+ import type { SwitchProps } from 'react-native';
2
2
  export declare const Switch: import("react").ForwardRefExoticComponent<SwitchProps & import("react-native-gesture-handler").NativeViewGestureHandlerProps & import("react").RefAttributes<import("react").ComponentType<any>>>;
3
3
  export default Switch;
@@ -1,3 +1,3 @@
1
- import { TextInputProps } from 'react-native';
1
+ import type { TextInputProps } from 'react-native';
2
2
  export declare const TextInput: import("react").ForwardRefExoticComponent<TextInputProps & import("react-native-gesture-handler").NativeViewGestureHandlerProps & import("react").RefAttributes<import("react").ComponentType<any>>>;
3
3
  export default TextInput;
@@ -1,3 +1,3 @@
1
- import { PressableProps } from 'react-native';
1
+ import type { PressableProps } from 'react-native';
2
2
  export declare const Pressable: import("react").ForwardRefExoticComponent<PressableProps & import("react").RefAttributes<import("react-native").View>>;
3
3
  export default Pressable;
@@ -1,3 +1,3 @@
1
- import { TouchableHighlightProps } from 'react-native';
1
+ import type { TouchableHighlightProps } from 'react-native';
2
2
  export declare const TouchableHighlight: import("react").ForwardRefExoticComponent<TouchableHighlightProps & import("react").RefAttributes<import("react-native").View>>;
3
3
  export default TouchableHighlight;
@@ -1,3 +1,3 @@
1
- import { TouchableOpacityProps } from 'react-native';
1
+ import type { TouchableOpacityProps } from 'react-native';
2
2
  export declare const TouchableOpacity: import("react").ForwardRefExoticComponent<TouchableOpacityProps & import("react").RefAttributes<import("react-native").View>>;
3
3
  export default TouchableOpacity;
@@ -1,6 +1,6 @@
1
+ import { StyleDependency } from "../../common/consts.js";
1
2
  import { Uniwind } from "../../core/index.js";
2
3
  import { UniwindListener } from "../../core/listener.js";
3
- import { StyleDependency } from "../../types.js";
4
4
  import "./metro-injected";
5
5
  const addClassNameToRoot = () => {
6
6
  if (typeof document === "undefined") {
@@ -1,7 +1,7 @@
1
- import { ComponentPropsWithRef, ElementType } from 'react';
2
- import { Insets } from 'react-native';
3
- import { ApplyUniwind } from '../../hoc/types';
4
- import { CSSVariables, GenerateStyleSheetsCallback, ThemeName } from '../types';
1
+ import type { Insets } from 'react-native';
2
+ import type { ApplyUniwind } from '../../hoc/types';
3
+ import type { GetCSSVariable } from '../../hooks/useCSSVariable/useCSSVariable';
4
+ import type { CSSVariables, GenerateStyleSheetsCallback, ThemeName } from '../types';
5
5
  declare const SYSTEM_THEME: "system";
6
6
  export declare class UniwindConfigBuilder {
7
7
  #private;
@@ -11,12 +11,13 @@ export declare class UniwindConfigBuilder {
11
11
  get hasAdaptiveThemes(): boolean;
12
12
  get currentTheme(): ThemeName;
13
13
  private get colorScheme();
14
- Wrapper<T extends ElementType>({ as, ...props }: {
14
+ Wrapper<T extends React.ElementType>({ as, ...props }: {
15
15
  as: T;
16
- } & ApplyUniwind<Omit<ComponentPropsWithRef<T>, 'as'>>): import("react").FunctionComponentElement<any>;
16
+ } & ApplyUniwind<Omit<React.ComponentPropsWithRef<T>, 'as'>>): import("react").FunctionComponentElement<any>;
17
17
  setTheme(theme: ThemeName | typeof SYSTEM_THEME): void;
18
18
  updateCSSVariables(theme: ThemeName, cssVariables: CSSVariables): void;
19
19
  updateInsets(insets: Insets): void;
20
+ getCSSVariable: GetCSSVariable;
20
21
  protected __reinit(_: GenerateStyleSheetsCallback, themes: Array<string>): void;
21
22
  protected onThemeChange(): void;
22
23
  }
@@ -1,7 +1,8 @@
1
1
  import { createElement, useMemo } from "react";
2
2
  import { Appearance, Platform } from "react-native";
3
- import { withUniwind } from "../../hoc/withUniwind.js";
4
- import { ColorScheme, StyleDependency } from "../../types.js";
3
+ import { ColorScheme, StyleDependency } from "../../common/consts.js";
4
+ import { withUniwind } from "../../hoc/index.js";
5
+ import { getCSSVariable } from "../../hooks/useCSSVariable/useCSSVariable.js";
5
6
  import { UniwindListener } from "../listener.js";
6
7
  const SYSTEM_THEME = "system";
7
8
  const RN_VERSION = Platform.constants?.reactNativeVersion?.minor ?? 0;
@@ -82,6 +83,9 @@ export class UniwindConfigBuilder {
82
83
  // oxlint-disable-next-line typescript/no-unused-vars
83
84
  updateInsets(insets) {
84
85
  }
86
+ getCSSVariable = ((variableName) => {
87
+ return getCSSVariable(variableName, { scopedTheme: null });
88
+ });
85
89
  __reinit(_, themes) {
86
90
  this._themes = themes;
87
91
  }
@@ -1,4 +1,4 @@
1
- import { CSSVariables, GenerateStyleSheetsCallback, ThemeName } from '../types';
1
+ import type { CSSVariables, GenerateStyleSheetsCallback, ThemeName } from '../types';
2
2
  import { UniwindConfigBuilder as UniwindConfigBuilderBase } from './config.common';
3
3
  declare class UniwindConfigBuilder extends UniwindConfigBuilderBase {
4
4
  private cssRules?;
@@ -1,5 +1,5 @@
1
+ import { StyleDependency } from "../../common/consts.js";
1
2
  import { arrayEquals } from "../../common/utils.js";
2
- import { StyleDependency } from "../../types.js";
3
3
  import { UniwindListener } from "../listener.js";
4
4
  import { Logger } from "../logger.js";
5
5
  import { getWebVariable } from "../web/index.js";
@@ -1,5 +1,5 @@
1
- import { Insets } from 'react-native';
2
- import { CSSVariables, GenerateStyleSheetsCallback, ThemeName } from '../types';
1
+ import type { Insets } from 'react-native';
2
+ import type { CSSVariables, GenerateStyleSheetsCallback, ThemeName } from '../types';
3
3
  import { UniwindConfigBuilder as UniwindConfigBuilderBase } from './config.common';
4
4
  declare class UniwindConfigBuilder extends UniwindConfigBuilderBase {
5
5
  constructor();
@@ -1,5 +1,5 @@
1
1
  import { formatHex, formatHex8, parse } from "culori";
2
- import { StyleDependency } from "../../types.js";
2
+ import { StyleDependency } from "../../common/consts.js";
3
3
  import { UniwindListener } from "../listener.js";
4
4
  import { Logger } from "../logger.js";
5
5
  import { UniwindStore } from "../native/index.js";
@@ -1,4 +1,4 @@
1
- import { StyleDependency } from '../types';
1
+ import { StyleDependency } from '../common/consts';
2
2
  type SubscribeOptions = {
3
3
  once?: boolean;
4
4
  };
@@ -1,4 +1,4 @@
1
- import { StyleDependency } from "../types.js";
1
+ import { StyleDependency } from "../common/consts.js";
2
2
  class UniwindListenerBuilder {
3
3
  listeners = {
4
4
  [StyleDependency.ColorScheme]: /* @__PURE__ */ new Set(),
@@ -1,7 +1,7 @@
1
1
  import { Appearance, Dimensions, I18nManager, PixelRatio, Platform, StyleSheet } from "react-native";
2
2
  import { cubicBezier, linear, steps } from "react-native-reanimated";
3
3
  import { initialWindowMetrics } from "react-native-safe-area-context";
4
- import { ColorScheme, Orientation } from "../../types.js";
4
+ import { ColorScheme, DEFAULT_SCREEN_WIDTH, Orientation } from "../../common/consts.js";
5
5
  import { colorMix, lightDark, parseColor } from "./native-utils.js";
6
6
  const window = Dimensions.get("window");
7
7
  const initialColorScheme = Appearance.getColorScheme() ?? ColorScheme.Light;
@@ -26,6 +26,10 @@ export const UniwindRuntime = {
26
26
  parseColor,
27
27
  platformSelect: (android, ios, other) => {
28
28
  return Platform.select(Boolean(other) ? { android, ios, default: other } : { android, default: ios });
29
+ },
30
+ makeResponsive(value, base = DEFAULT_SCREEN_WIDTH, useHeight = false) {
31
+ const dimension = useHeight ? this.screen.height : this.screen.width;
32
+ return Math.round(value * dimension / base);
29
33
  }
30
34
  };
31
35
  UniwindRuntime.lightDark = lightDark.bind(UniwindRuntime);
@@ -1,5 +1,5 @@
1
- import { StyleDependency } from '../../types';
2
- import { ComponentState, GenerateStyleSheetsCallback, RNStyle, ThemeName, UniwindContextType } from '../types';
1
+ import { StyleDependency } from '../../common/consts';
2
+ import type { ComponentState, GenerateStyleSheetsCallback, RNStyle, ThemeName, UniwindContextType } from '../types';
3
3
  type StylesResult = {
4
4
  styles: RNStyle;
5
5
  dependencies: Array<StyleDependency>;
@@ -1,6 +1,5 @@
1
1
  import { Dimensions, Platform } from "react-native";
2
- import { Platform as UniwindPlatform, UNIWIND_PLATFORM_VARIABLES, UNIWIND_THEME_VARIABLES } from "../../common/consts.js";
3
- import { Orientation, StyleDependency } from "../../types.js";
2
+ import { Orientation, Platform as UniwindPlatform, StyleDependency, UNIWIND_PLATFORM_VARIABLES, UNIWIND_THEME_VARIABLES } from "../../common/consts.js";
4
3
  import { UniwindListener } from "../listener.js";
5
4
  import { cloneWithAccessors } from "./native-utils.js";
6
5
  import {
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import type { ImageStyle, StyleProp, TextStyle, ViewStyle } from 'react-native';
3
- import { CSSAnimationKeyframes } from 'react-native-reanimated';
4
- import { ControlPoint, CubicBezierEasing, LinearEasing, StepsEasing, StepsModifier } from 'react-native-reanimated/lib/typescript/css/easing';
5
- import { ColorScheme, Orientation, StyleDependency, UniwindConfig } from '../types';
3
+ import type { CSSAnimationKeyframes } from 'react-native-reanimated';
4
+ import type { ControlPoint, CubicBezierEasing, LinearEasing, StepsEasing, StepsModifier } from 'react-native-reanimated/lib/typescript/css/easing';
5
+ import type { ColorScheme, Orientation, StyleDependency } from '../common/consts';
6
6
  import type { UniwindContext } from './context';
7
7
  export type Style = {
8
8
  entries: Array<[string, () => unknown]>;
@@ -29,6 +29,8 @@ export type GenerateStyleSheetsCallback = (rt: UniwindRuntime) => {
29
29
  keyframes: Record<string, CSSAnimationKeyframes>;
30
30
  scopedVars: Partial<Record<string, Record<string, unknown>>>;
31
31
  };
32
+ export interface UniwindConfig {
33
+ }
32
34
  type UserThemes = UniwindConfig extends {
33
35
  themes: infer T extends readonly string[];
34
36
  } ? T : readonly string[];
@@ -58,6 +60,7 @@ export type UniwindRuntime = {
58
60
  lightDark: (light: string, dark: string) => string;
59
61
  parseColor: (type: string, color: string) => string;
60
62
  platformSelect: (android: string, ios: string, other?: string) => string;
63
+ makeResponsive: (value: number, base: number, useHeight?: boolean) => number;
61
64
  };
62
65
  export type RNStyle = ViewStyle & TextStyle & ImageStyle & {
63
66
  accentColor?: string;
@@ -1,4 +1,4 @@
1
- import { StyleDependency } from "../../types.js";
1
+ import { StyleDependency } from "../../common/consts.js";
2
2
  import { UniwindListener } from "../listener.js";
3
3
  class CSSListenerBuilder {
4
4
  activeRules = /* @__PURE__ */ new Set();
@@ -1,3 +1,3 @@
1
- import { RNStyle, UniwindContextType } from '../types';
1
+ import type { RNStyle, UniwindContextType } from '../types';
2
2
  export declare const getWebStyles: (className: string | undefined, componentProps: Record<string, unknown> | undefined, uniwindContext: UniwindContextType) => RNStyle;
3
3
  export declare const getWebVariable: (name: string, uniwindContext: UniwindContextType) => string | undefined;
@@ -1,5 +1,5 @@
1
- import { ComponentProps, ComponentPropsWithRef } from 'react';
2
- import { RNStyle } from '../core/types';
1
+ import type { ComponentProps, ComponentPropsWithRef } from 'react';
2
+ import type { RNStyle } from '../core/types';
3
3
  export type AnyObject = Record<PropertyKey, any>;
4
4
  type StyleToClass<K extends PropertyKey> = K extends 'style' ? 'className' : K extends `${infer StyleProp}Style` ? `${StyleProp}ClassName` : never;
5
5
  type ColorPropToClass<K extends PropertyKey> = K extends 'color' ? 'colorClassName' : K extends `${string}Color` | `${string}color${string}` ? `${K}ClassName` : never;
@@ -1,2 +1,2 @@
1
- import { WithUniwind } from './types';
1
+ import type { WithUniwind } from './types';
2
2
  export declare const withUniwind: WithUniwind;