@niibase/uniwind 1.6.4 → 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 (319) hide show
  1. package/CHANGELOG.md +36 -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/web/rnw.js +2 -2
  31. package/dist/common/core/config/config.common.js +9 -9
  32. package/dist/common/core/config/config.js +2 -2
  33. package/dist/common/core/config/config.native.js +3 -3
  34. package/dist/common/core/listener.js +10 -10
  35. package/dist/common/core/native/runtime.js +7 -3
  36. package/dist/common/core/native/store.js +3 -4
  37. package/dist/common/core/web/cssListener.js +2 -2
  38. package/dist/common/hoc/withUniwind.js +5 -5
  39. package/dist/common/hoc/withUniwind.native.js +5 -5
  40. package/dist/common/hooks/useCSSVariable/useCSSVariable.js +6 -2
  41. package/dist/common/hooks/useUniwind.js +2 -2
  42. package/dist/metro/index.cjs +14 -24
  43. package/dist/metro/index.d.ts +2 -0
  44. package/dist/metro/index.mjs +7 -17
  45. package/dist/metro/{metro-transformer.cjs → transformer.cjs} +294 -174
  46. package/dist/metro/{metro-transformer.mjs → transformer.mjs} +236 -116
  47. package/dist/module/{css → bundler/artifacts/css}/index.d.ts +1 -1
  48. package/dist/module/{css → bundler/artifacts/css}/index.js +1 -4
  49. package/dist/module/{css → bundler/artifacts/css}/themes.js +1 -1
  50. package/dist/module/{utils/buildDtsFile.js → bundler/artifacts/dts.js} +3 -4
  51. package/dist/module/bundler/config.d.ts +16 -0
  52. package/dist/module/bundler/config.js +69 -0
  53. package/dist/module/bundler/css-compiler/compileCSS.d.ts +2 -0
  54. package/dist/module/bundler/css-compiler/compileCSS.js +11 -0
  55. package/dist/module/bundler/css-compiler/compileNativeCSS.d.ts +2 -0
  56. package/dist/module/bundler/css-compiler/compileNativeCSS.js +33 -0
  57. package/dist/module/bundler/css-compiler/compileTailwind.d.ts +2 -0
  58. package/dist/module/bundler/css-compiler/compileTailwind.js +22 -0
  59. package/dist/module/bundler/css-compiler/compileWebCSS.d.ts +2 -0
  60. package/dist/module/bundler/css-compiler/compileWebCSS.js +8 -0
  61. package/dist/module/bundler/css-compiler/index.d.ts +1 -0
  62. package/dist/module/bundler/css-compiler/index.js +1 -0
  63. package/dist/module/bundler/css-processor/addMetaToStylesTemplate.d.ts +3 -0
  64. package/dist/module/bundler/css-processor/addMetaToStylesTemplate.js +136 -0
  65. package/dist/module/bundler/css-processor/animation.d.ts +6 -0
  66. package/dist/module/bundler/css-processor/animation.js +112 -0
  67. package/dist/module/bundler/css-processor/color.d.ts +12 -0
  68. package/dist/module/bundler/css-processor/color.js +63 -0
  69. package/dist/module/bundler/css-processor/css.d.ts +23 -0
  70. package/dist/module/bundler/css-processor/css.js +566 -0
  71. package/dist/module/bundler/css-processor/functions.d.ts +12 -0
  72. package/dist/module/bundler/css-processor/functions.js +190 -0
  73. package/dist/module/bundler/css-processor/index.d.ts +3 -0
  74. package/dist/module/bundler/css-processor/index.js +3 -0
  75. package/dist/module/bundler/css-processor/mq.d.ts +12 -0
  76. package/dist/module/bundler/css-processor/mq.js +78 -0
  77. package/dist/module/bundler/css-processor/processor.d.ts +36 -0
  78. package/dist/module/bundler/css-processor/processor.js +336 -0
  79. package/dist/module/bundler/css-processor/rn.d.ts +10 -0
  80. package/dist/module/bundler/css-processor/rn.js +400 -0
  81. package/dist/module/bundler/css-processor/serialize.d.ts +2 -0
  82. package/dist/module/bundler/css-processor/serialize.js +101 -0
  83. package/dist/module/bundler/css-processor/types.d.ts +28 -0
  84. package/dist/module/bundler/css-processor/types.js +0 -0
  85. package/dist/module/bundler/css-processor/units.d.ts +10 -0
  86. package/dist/module/bundler/css-processor/units.js +48 -0
  87. package/dist/module/bundler/css-processor/utils.d.ts +24 -0
  88. package/dist/{shared/uniwind.PtWWxxnh.mjs → module/bundler/css-processor/utils.js} +11 -15
  89. package/dist/module/bundler/css-processor/var.d.ts +7 -0
  90. package/dist/module/bundler/css-processor/var.js +13 -0
  91. package/dist/module/{css-visitor → bundler/css-visitor}/function-visitor.d.ts +1 -1
  92. package/dist/module/{css-visitor → bundler/css-visitor}/rule-visitor.d.ts +4 -3
  93. package/dist/module/{css-visitor → bundler/css-visitor}/rule-visitor.js +5 -5
  94. package/dist/module/{css-visitor → bundler/css-visitor}/visitor.d.ts +3 -3
  95. package/dist/module/{css-visitor → bundler/css-visitor}/visitor.js +5 -6
  96. package/dist/module/bundler/logger.d.ts +11 -0
  97. package/dist/module/bundler/logger.js +34 -0
  98. package/dist/module/bundler/types.d.ts +15 -0
  99. package/dist/module/bundler/types.js +0 -0
  100. package/dist/module/common/consts.d.ts +21 -0
  101. package/dist/module/common/consts.js +24 -0
  102. package/dist/module/components/ScopedTheme/ScopedTheme.native.d.ts +1 -1
  103. package/dist/module/components/native/Pressable.d.ts +1 -1
  104. package/dist/module/components/native/TouchableHighlight.d.ts +1 -1
  105. package/dist/module/components/native/TouchableOpacity.d.ts +1 -1
  106. package/dist/module/components/native/useAccentColor.d.ts +1 -1
  107. package/dist/module/components/native/useStyle.d.ts +2 -2
  108. package/dist/module/components/react-native-gesture-handler/native/BaseButton.d.ts +1 -1
  109. package/dist/module/components/react-native-gesture-handler/native/BorderlessButton.d.ts +1 -1
  110. package/dist/module/components/react-native-gesture-handler/native/DrawerLayoutAndroid.d.ts +1 -1
  111. package/dist/module/components/react-native-gesture-handler/native/FlatList.d.ts +1 -1
  112. package/dist/module/components/react-native-gesture-handler/native/Pressable.d.ts +1 -1
  113. package/dist/module/components/react-native-gesture-handler/native/PureNativeButton.d.ts +1 -1
  114. package/dist/module/components/react-native-gesture-handler/native/RawButton.d.ts +1 -1
  115. package/dist/module/components/react-native-gesture-handler/native/RectButton.d.ts +1 -1
  116. package/dist/module/components/react-native-gesture-handler/native/RefreshControl.d.ts +1 -1
  117. package/dist/module/components/react-native-gesture-handler/native/ScrollView.d.ts +1 -1
  118. package/dist/module/components/react-native-gesture-handler/native/Switch.d.ts +1 -1
  119. package/dist/module/components/react-native-gesture-handler/native/TextInput.d.ts +1 -1
  120. package/dist/module/components/web/Pressable.d.ts +1 -1
  121. package/dist/module/components/web/TouchableHighlight.d.ts +1 -1
  122. package/dist/module/components/web/TouchableOpacity.d.ts +1 -1
  123. package/dist/module/components/web/rnw.js +1 -1
  124. package/dist/module/core/config/config.common.d.ts +6 -7
  125. package/dist/module/core/config/config.common.js +2 -2
  126. package/dist/module/core/config/config.d.ts +1 -1
  127. package/dist/module/core/config/config.js +1 -1
  128. package/dist/module/core/config/config.native.d.ts +2 -2
  129. package/dist/module/core/config/config.native.js +1 -1
  130. package/dist/module/core/listener.d.ts +1 -1
  131. package/dist/module/core/listener.js +1 -1
  132. package/dist/module/core/native/runtime.js +5 -1
  133. package/dist/module/core/native/store.d.ts +2 -2
  134. package/dist/module/core/native/store.js +1 -2
  135. package/dist/module/core/types.d.ts +6 -3
  136. package/dist/module/core/web/cssListener.js +1 -1
  137. package/dist/module/core/web/getWebStyles.d.ts +1 -1
  138. package/dist/module/hoc/types.d.ts +2 -2
  139. package/dist/module/hoc/withUniwind.d.ts +1 -1
  140. package/dist/module/hoc/withUniwind.js +5 -5
  141. package/dist/module/hoc/withUniwind.native.d.ts +1 -1
  142. package/dist/module/hoc/withUniwind.native.js +5 -5
  143. package/dist/module/hooks/useCSSVariable/getVariableValue.native.d.ts +1 -1
  144. package/dist/module/hooks/useCSSVariable/useCSSVariable.d.ts +1 -1
  145. package/dist/module/hooks/useCSSVariable/useCSSVariable.js +5 -1
  146. package/dist/module/hooks/useResolveClassNames.d.ts +1 -1
  147. package/dist/module/hooks/useUniwind.d.ts +1 -1
  148. package/dist/module/hooks/useUniwind.js +1 -1
  149. package/dist/module/index.d.ts +1 -2
  150. package/dist/shared/{uniwind.r2i22V6d.cjs → uniwind.CFiAZ3D-.cjs} +307 -217
  151. package/dist/shared/{uniwind.BGiqYvxb.mjs → uniwind.u-s1XVU8.mjs} +299 -214
  152. package/dist/vite/index.cjs +12 -22
  153. package/dist/vite/index.mjs +9 -19
  154. package/package.json +1 -1
  155. package/src/{metro → bundler/adapters/metro}/index.d.ts +2 -0
  156. package/src/bundler/adapters/metro/index.ts +1 -0
  157. package/src/{metro/withUniwindConfig.ts → bundler/adapters/metro/metro.ts} +7 -22
  158. package/src/{metro/metro-css-patches.ts → bundler/adapters/metro/patches.ts} +2 -1
  159. package/src/{metro → bundler/adapters/metro}/resolvers.ts +8 -8
  160. package/src/bundler/adapters/metro/transformer.ts +85 -0
  161. package/src/{vite → bundler/adapters/vite}/vite.ts +10 -28
  162. package/src/{css → bundler/artifacts/css}/extraUtilities.ts +1 -1
  163. package/src/{css → bundler/artifacts/css}/index.ts +1 -5
  164. package/src/{css → bundler/artifacts/css}/themes.ts +1 -1
  165. package/src/{utils/buildDtsFile.ts → bundler/artifacts/dts.ts} +3 -4
  166. package/src/bundler/config.ts +84 -0
  167. package/src/bundler/css-compiler/compileCSS.ts +15 -0
  168. package/src/bundler/css-compiler/compileNativeCSS.ts +41 -0
  169. package/src/bundler/css-compiler/compileTailwind.ts +25 -0
  170. package/src/bundler/css-compiler/compileWebCSS.ts +10 -0
  171. package/src/bundler/css-compiler/index.ts +1 -0
  172. package/src/{metro → bundler/css-processor}/addMetaToStylesTemplate.ts +33 -14
  173. package/src/{metro/processor → bundler/css-processor}/animation.ts +4 -4
  174. package/src/{metro/processor → bundler/css-processor}/color.ts +4 -3
  175. package/src/{metro/processor → bundler/css-processor}/css.ts +17 -9
  176. package/src/{metro/processor → bundler/css-processor}/functions.ts +2 -2
  177. package/src/bundler/css-processor/index.ts +3 -0
  178. package/src/{metro/processor → bundler/css-processor}/mq.ts +4 -4
  179. package/src/{metro/processor → bundler/css-processor}/processor.ts +13 -11
  180. package/src/{metro/processor → bundler/css-processor}/rn.ts +96 -3
  181. package/src/{metro/utils → bundler/css-processor}/serialize.ts +2 -2
  182. package/src/{metro → bundler/css-processor}/types.ts +3 -17
  183. package/src/{metro/processor → bundler/css-processor}/units.ts +1 -1
  184. package/src/{metro/processor → bundler/css-processor}/var.ts +1 -1
  185. package/src/{css-visitor → bundler/css-visitor}/function-visitor.ts +1 -1
  186. package/src/{css-visitor → bundler/css-visitor}/rule-visitor.ts +6 -5
  187. package/src/{css-visitor → bundler/css-visitor}/visitor.ts +4 -3
  188. package/src/bundler/types.ts +17 -0
  189. package/src/common/consts.ts +25 -0
  190. package/src/components/ScopedTheme/ScopedTheme.native.tsx +1 -1
  191. package/src/components/native/ActivityIndicator.tsx +2 -1
  192. package/src/components/native/Button.tsx +2 -1
  193. package/src/components/native/FlatList.tsx +2 -1
  194. package/src/components/native/Image.tsx +2 -1
  195. package/src/components/native/ImageBackground.tsx +2 -1
  196. package/src/components/native/InputAccessoryView.tsx +3 -2
  197. package/src/components/native/KeyboardAvoidingView.tsx +2 -1
  198. package/src/components/native/Modal.tsx +2 -1
  199. package/src/components/native/Pressable.tsx +1 -1
  200. package/src/components/native/RefreshControl.tsx +2 -1
  201. package/src/components/native/SafeAreaView.tsx +2 -1
  202. package/src/components/native/ScrollView.tsx +2 -1
  203. package/src/components/native/SectionList.tsx +2 -1
  204. package/src/components/native/Switch.tsx +3 -2
  205. package/src/components/native/Text.tsx +3 -2
  206. package/src/components/native/TextInput.tsx +3 -2
  207. package/src/components/native/TouchableHighlight.tsx +3 -2
  208. package/src/components/native/TouchableNativeFeedback.tsx +3 -2
  209. package/src/components/native/TouchableOpacity.tsx +3 -2
  210. package/src/components/native/TouchableWithoutFeedback.tsx +3 -2
  211. package/src/components/native/View.tsx +2 -1
  212. package/src/components/native/VirtualizedList.tsx +2 -1
  213. package/src/components/native/useAccentColor.ts +1 -1
  214. package/src/components/native/useStyle.ts +2 -2
  215. package/src/components/react-native-gesture-handler/native/BaseButton.tsx +1 -1
  216. package/src/components/react-native-gesture-handler/native/BorderlessButton.tsx +1 -1
  217. package/src/components/react-native-gesture-handler/native/DrawerLayoutAndroid.tsx +1 -1
  218. package/src/components/react-native-gesture-handler/native/FlatList.tsx +1 -1
  219. package/src/components/react-native-gesture-handler/native/GestureHandlerRootView.tsx +1 -1
  220. package/src/components/react-native-gesture-handler/native/Pressable.tsx +1 -1
  221. package/src/components/react-native-gesture-handler/native/PureNativeButton.tsx +1 -1
  222. package/src/components/react-native-gesture-handler/native/RawButton.tsx +1 -1
  223. package/src/components/react-native-gesture-handler/native/RectButton.tsx +1 -1
  224. package/src/components/react-native-gesture-handler/native/RefreshControl.tsx +1 -1
  225. package/src/components/react-native-gesture-handler/native/ScrollView.tsx +1 -1
  226. package/src/components/react-native-gesture-handler/native/Switch.tsx +2 -2
  227. package/src/components/react-native-gesture-handler/native/Text.tsx +2 -2
  228. package/src/components/react-native-gesture-handler/native/TextInput.tsx +2 -2
  229. package/src/components/react-native-gesture-handler/native/TouchableNativeFeedback.tsx +2 -2
  230. package/src/components/react-native-gesture-handler/native/TouchableOpacity.tsx +2 -2
  231. package/src/components/react-native-gesture-handler/native/TouchableWithoutFeedback.tsx +2 -2
  232. package/src/components/web/ActivityIndicator.tsx +2 -1
  233. package/src/components/web/Button.tsx +2 -1
  234. package/src/components/web/FlatList.tsx +2 -1
  235. package/src/components/web/Image.tsx +2 -1
  236. package/src/components/web/ImageBackground.tsx +2 -1
  237. package/src/components/web/KeyboardAvoidingView.tsx +2 -1
  238. package/src/components/web/Modal.tsx +2 -1
  239. package/src/components/web/Pressable.tsx +2 -1
  240. package/src/components/web/RefreshControl.tsx +2 -1
  241. package/src/components/web/SafeAreaView.tsx +2 -1
  242. package/src/components/web/ScrollView.tsx +2 -1
  243. package/src/components/web/SectionList.tsx +2 -1
  244. package/src/components/web/Switch.tsx +2 -1
  245. package/src/components/web/Text.tsx +2 -1
  246. package/src/components/web/TextInput.tsx +2 -1
  247. package/src/components/web/TouchableHighlight.tsx +2 -1
  248. package/src/components/web/TouchableOpacity.tsx +2 -1
  249. package/src/components/web/TouchableWithoutFeedback.tsx +2 -1
  250. package/src/components/web/View.tsx +2 -1
  251. package/src/components/web/VirtualizedList.tsx +2 -1
  252. package/src/components/web/rnw.ts +1 -1
  253. package/src/core/config/config.common.ts +11 -9
  254. package/src/core/config/config.native.ts +3 -3
  255. package/src/core/config/config.ts +2 -2
  256. package/src/core/listener.ts +1 -1
  257. package/src/core/native/runtime.ts +7 -2
  258. package/src/core/native/store.ts +3 -4
  259. package/src/core/types.ts +6 -3
  260. package/src/core/web/cssListener.ts +1 -1
  261. package/src/core/web/getWebStyles.ts +1 -1
  262. package/src/hoc/types.ts +2 -2
  263. package/src/hoc/withUniwind.native.tsx +4 -3
  264. package/src/hoc/withUniwind.tsx +3 -2
  265. package/src/hooks/useCSSVariable/getVariableValue.native.ts +1 -1
  266. package/src/hooks/useCSSVariable/useCSSVariable.ts +8 -2
  267. package/src/hooks/useResolveClassNames.ts +1 -1
  268. package/src/hooks/useUniwind.ts +2 -2
  269. package/src/index.ts +1 -2
  270. package/dist/common/types.js +0 -28
  271. package/dist/common/utils/stringifyThemes.js +0 -8
  272. package/dist/common/vite/vite.js +0 -95
  273. package/dist/module/types.d.ts +0 -21
  274. package/dist/module/types.js +0 -22
  275. package/dist/module/utils/stringifyThemes.d.ts +0 -1
  276. package/dist/module/utils/stringifyThemes.js +0 -1
  277. package/dist/module/vite/index.d.ts +0 -9
  278. package/dist/module/vite/index.js +0 -1
  279. package/dist/module/vite/vite.d.ts +0 -8
  280. package/dist/module/vite/vite.js +0 -98
  281. package/dist/shared/uniwind.B5q8hBGv.cjs +0 -18
  282. package/dist/shared/uniwind.Cv73KtI-.cjs +0 -86
  283. package/dist/shared/uniwind.JSWK3vHl.mjs +0 -14
  284. package/src/metro/compileVirtual.ts +0 -85
  285. package/src/metro/index.ts +0 -1
  286. package/src/metro/injectThemes.ts +0 -23
  287. package/src/metro/metro-transformer.ts +0 -116
  288. package/src/metro/processor/index.ts +0 -1
  289. package/src/metro/utils/index.ts +0 -2
  290. package/src/types.ts +0 -23
  291. package/src/utils/stringifyThemes.ts +0 -1
  292. package/src/vite/index.d.ts +0 -9
  293. /package/dist/common/{css → bundler/artifacts/css}/extraUtilities.js +0 -0
  294. /package/dist/common/{css → bundler/artifacts/css}/insets.js +0 -0
  295. /package/dist/common/{css → bundler/artifacts/css}/overwrite.js +0 -0
  296. /package/dist/common/{css → bundler/artifacts/css}/variants.js +0 -0
  297. /package/dist/common/{css-visitor → bundler/css-visitor}/function-visitor.js +0 -0
  298. /package/dist/common/{css-visitor → bundler/css-visitor}/index.js +0 -0
  299. /package/dist/module/{css → bundler/artifacts/css}/extraUtilities.d.ts +0 -0
  300. /package/dist/module/{css → bundler/artifacts/css}/extraUtilities.js +0 -0
  301. /package/dist/module/{css → bundler/artifacts/css}/insets.d.ts +0 -0
  302. /package/dist/module/{css → bundler/artifacts/css}/insets.js +0 -0
  303. /package/dist/module/{css → bundler/artifacts/css}/overwrite.d.ts +0 -0
  304. /package/dist/module/{css → bundler/artifacts/css}/overwrite.js +0 -0
  305. /package/dist/module/{css → bundler/artifacts/css}/themes.d.ts +0 -0
  306. /package/dist/module/{css → bundler/artifacts/css}/variants.d.ts +0 -0
  307. /package/dist/module/{css → bundler/artifacts/css}/variants.js +0 -0
  308. /package/dist/module/{utils/buildDtsFile.d.ts → bundler/artifacts/dts.d.ts} +0 -0
  309. /package/dist/module/{css-visitor → bundler/css-visitor}/function-visitor.js +0 -0
  310. /package/dist/module/{css-visitor → bundler/css-visitor}/index.d.ts +0 -0
  311. /package/dist/module/{css-visitor → bundler/css-visitor}/index.js +0 -0
  312. /package/{dist/common → src/bundler/adapters}/vite/index.d.ts +0 -0
  313. /package/src/{vite → bundler/adapters/vite}/index.ts +0 -0
  314. /package/src/{css → bundler/artifacts/css}/insets.ts +0 -0
  315. /package/src/{css → bundler/artifacts/css}/overwrite.ts +0 -0
  316. /package/src/{css → bundler/artifacts/css}/variants.ts +0 -0
  317. /package/src/{metro/utils/common.ts → bundler/css-processor/utils.ts} +0 -0
  318. /package/src/{css-visitor → bundler/css-visitor}/index.ts +0 -0
  319. /package/src/{metro → bundler}/logger.ts +0 -0
@@ -1,21 +1,20 @@
1
1
  /* eslint-disable max-lines */
2
2
 
3
- import { Animation, Filter, OverflowKeyword, TokenOrValue } from 'lightningcss'
4
-
5
- import { isDefined } from '../../common/utils'
3
+ import { isDefined } from '@/common/utils'
4
+ import type { Animation, Filter, OverflowKeyword, TokenOrValue } from 'lightningcss'
6
5
  import { Logger } from '../logger'
7
- import { DeclarationValues } from '../types'
8
- import { deepEqual, pipe, roundToPrecision, shouldBeSerialized, toCamelCase } from '../utils'
9
6
  import { getProcessedAnimation, getProcessedVarAnimation } from './animation'
10
7
  import type { ProcessorBuilder } from './processor'
8
+ import type { DeclarationProperty, DeclarationValues } from './types'
9
+ import { deepEqual, pipe, roundToPrecision, shouldBeSerialized, toCamelCase } from './utils'
11
10
 
12
11
  export class CSS {
13
12
  private readonly logger = new Logger('CSS')
14
13
 
15
14
  constructor(private readonly Processor: ProcessorBuilder) {}
16
15
 
17
- processValue(declarationValue: DeclarationValues): any {
18
- const processedValue = this.getProcessedValue(declarationValue)
16
+ processValue(declarationValue: DeclarationValues, declarationProperty?: DeclarationProperty): any {
17
+ const processedValue = this.getProcessedValue(declarationValue, declarationProperty)
19
18
 
20
19
  if (typeof processedValue === 'string') {
21
20
  return this.makeSafeForSerialization(processedValue)
@@ -106,7 +105,7 @@ export class CSS {
106
105
  return filterStrings.join(' ')
107
106
  }
108
107
 
109
- private getProcessedValue(declarationValue: DeclarationValues): any {
108
+ private getProcessedValue(declarationValue: DeclarationValues, declarationProperty?: DeclarationProperty): any {
110
109
  if (typeof declarationValue !== 'object') {
111
110
  return declarationValue
112
111
  }
@@ -424,11 +423,20 @@ export class CSS {
424
423
  }
425
424
 
426
425
  if ('grow' in declarationValue) {
427
- return {
426
+ const parsedFlex = {
428
427
  flexGrow: declarationValue.grow,
429
428
  flexShrink: declarationValue.shrink,
430
429
  flexBasis: this.processValue(declarationValue.basis),
431
430
  }
431
+
432
+ // CSS `flex: 1` is a shorthand for `flex-grow: 1; flex-shrink: 1; flex-basis: 0%` but for native we just want flex: 1
433
+ if (declarationProperty === 'flex' && parsedFlex.flexGrow === 1 && parsedFlex.flexShrink === 1 && parsedFlex.flexBasis === '"0%"') {
434
+ return {
435
+ flex: 1,
436
+ }
437
+ }
438
+
439
+ return parsedFlex
432
440
  }
433
441
 
434
442
  if (Array.isArray(declarationValue)) {
@@ -1,7 +1,7 @@
1
- import { CalcFor_DimensionPercentageFor_LengthValue, CalcFor_Length, CssColor, Function as FunctionType } from 'lightningcss'
1
+ import type { CalcFor_DimensionPercentageFor_LengthValue, CalcFor_Length, CssColor, Function as FunctionType } from 'lightningcss'
2
2
  import { Logger } from '../logger'
3
- import { pipe } from '../utils'
4
3
  import type { ProcessorBuilder } from './processor'
4
+ import { pipe } from './utils'
5
5
 
6
6
  export class Functions {
7
7
  private readonly logger = new Logger('Functions')
@@ -0,0 +1,3 @@
1
+ export * from './addMetaToStylesTemplate'
2
+ export * from './processor'
3
+ export * from './serialize'
@@ -1,8 +1,8 @@
1
- import { MediaCondition, MediaQuery, QueryFeatureFor_MediaFeatureId } from 'lightningcss'
2
- import { Platform } from '../../common/consts'
3
- import { ColorScheme, Orientation } from '../../types'
4
- import { MediaQueryResolver } from '../types'
1
+ import type { ColorScheme, Orientation } from '@/common/consts'
2
+ import { Platform } from '@/common/consts'
3
+ import type { MediaCondition, MediaQuery, QueryFeatureFor_MediaFeatureId } from 'lightningcss'
5
4
  import type { ProcessorBuilder } from './processor'
5
+ import type { MediaQueryResolver } from './types'
6
6
 
7
7
  export class MQ {
8
8
  constructor(private readonly Processor: ProcessorBuilder) {}
@@ -1,13 +1,15 @@
1
- import { Declaration, MediaQuery, Rule, transform } from 'lightningcss'
2
- import { CSSAnimationKeyframes } from 'react-native-reanimated'
3
- import { UNIWIND_PLATFORM_VARIABLES, UNIWIND_THEME_VARIABLES } from '../../common/consts'
1
+ import { UNIWIND_PLATFORM_VARIABLES, UNIWIND_THEME_VARIABLES } from '@/common/consts'
2
+ import type { Declaration, MediaQuery, Rule } from 'lightningcss'
3
+ import { transform } from 'lightningcss'
4
+ import type { CSSAnimationKeyframes } from 'react-native-reanimated'
4
5
  import { parseTransformsMutation } from '../../core/native/parsers/transforms'
5
- import { AnimationFrame, MediaQueryResolver, Polyfills, ProcessMetaValues } from '../types'
6
+ import type { UniwindBundlerConfig } from '../config'
6
7
  import { Color } from './color'
7
8
  import { CSS } from './css'
8
9
  import { Functions } from './functions'
9
10
  import { MQ } from './mq'
10
11
  import { RN } from './rn'
12
+ import type { AnimationFrame, DeclarationProperty, MediaQueryResolver, ProcessMetaValues } from './types'
11
13
  import { Units } from './units'
12
14
  import { Var } from './var'
13
15
 
@@ -29,8 +31,8 @@ export class ProcessorBuilder {
29
31
  private pendingVarReferences = new Map<string, [Array<string>, boolean]>()
30
32
  private declarationConfig = this.getDeclarationConfig()
31
33
 
32
- constructor(private readonly themes: Array<string>, readonly polyfills: Polyfills | undefined) {
33
- this.vars['--uniwind-em'] = polyfills?.rem ?? 16
34
+ constructor(public readonly bundlerConfig: UniwindBundlerConfig) {
35
+ this.vars['--uniwind-em'] = this.bundlerConfig.polyfills?.rem ?? 16
34
36
  }
35
37
 
36
38
  transform(css: string) {
@@ -209,16 +211,16 @@ export class ProcessorBuilder {
209
211
  }
210
212
 
211
213
  private parseDeclaration(declaration: Declaration) {
212
- const parseValue = (property: string, value: any) => {
214
+ const parseValue = (property: DeclarationProperty, value: any) => {
213
215
  if (property === 'animation') {
214
216
  return this.CSS.processAnimation(value)
215
217
  }
216
218
 
217
- return this.CSS.processValue(value)
219
+ return this.CSS.processValue(value, property)
218
220
  }
219
221
 
220
222
  if (declaration.property === 'unparsed') {
221
- const property = declaration.value.propertyId.property
223
+ const property = declaration.value.propertyId.property as DeclarationProperty
222
224
 
223
225
  return {
224
226
  property,
@@ -227,7 +229,7 @@ export class ProcessorBuilder {
227
229
  }
228
230
 
229
231
  if (declaration.property === 'custom') {
230
- const property = declaration.value.name
232
+ const property = declaration.value.name as DeclarationProperty
231
233
 
232
234
  return {
233
235
  property,
@@ -278,7 +280,7 @@ export class ProcessorBuilder {
278
280
  if (selector.type === 'pseudo-class' && selector.kind === 'where') {
279
281
  selector.selectors.forEach(selector => {
280
282
  selector.forEach(selector => {
281
- if (selector.type === 'class' && this.themes.includes(selector.name)) {
283
+ if (selector.type === 'class' && this.bundlerConfig.themes.includes(selector.name)) {
282
284
  theme = selector.name
283
285
  }
284
286
 
@@ -1,6 +1,7 @@
1
- import { isDefined } from '../../common/utils'
2
- import { addMissingSpaces, pipe, removeKeys, toCamelCase } from '../utils'
1
+ import { DEFAULT_SCREEN_HEIGHT, DEFAULT_SCREEN_WIDTH } from '@/common/consts'
2
+ import { isDefined } from '@/common/utils'
3
3
  import type { ProcessorBuilder } from './processor'
4
+ import { addMissingSpaces, pipe, removeKeys, toCamelCase } from './utils'
4
5
 
5
6
  const transitions: Record<string, any> = { overlay: '"overlayColor"' }
6
7
 
@@ -233,6 +234,59 @@ const BORDER_WIDTH_KEYS = ['borderTopWidth', 'borderRightWidth', 'borderBottomWi
233
234
  const BORDER_COLOR_KEYS = ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor']
234
235
  const BORDER_RADIUS_KEYS = ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomLeftRadius', 'borderBottomRightRadius']
235
236
 
237
+ const COMPONENT_RESPONSIVE_PROPS = new Set([
238
+ 'width',
239
+ 'height',
240
+ 'minWidth',
241
+ 'maxWidth',
242
+ 'minHeight',
243
+ 'maxHeight',
244
+ 'padding',
245
+ 'paddingTop',
246
+ 'paddingRight',
247
+ 'paddingBottom',
248
+ 'paddingLeft',
249
+ 'paddingHorizontal',
250
+ 'paddingVertical',
251
+ 'paddingStart',
252
+ 'paddingEnd',
253
+ 'margin',
254
+ 'marginTop',
255
+ 'marginRight',
256
+ 'marginBottom',
257
+ 'marginLeft',
258
+ 'marginHorizontal',
259
+ 'marginVertical',
260
+ 'marginStart',
261
+ 'marginEnd',
262
+ 'top',
263
+ 'right',
264
+ 'bottom',
265
+ 'left',
266
+ 'gap',
267
+ 'rowGap',
268
+ 'columnGap',
269
+ 'borderWidth',
270
+ 'borderTopWidth',
271
+ 'borderRightWidth',
272
+ 'borderBottomWidth',
273
+ 'borderLeftWidth',
274
+ 'borderStartWidth',
275
+ 'borderEndWidth',
276
+ 'borderRadius',
277
+ 'borderTopLeftRadius',
278
+ 'borderTopRightRadius',
279
+ 'borderBottomLeftRadius',
280
+ 'borderBottomRightRadius',
281
+ 'borderTopStartRadius',
282
+ 'borderTopEndRadius',
283
+ 'borderBottomStartRadius',
284
+ 'borderBottomEndRadius',
285
+ 'flexBasis',
286
+ 'translateX',
287
+ 'translateY',
288
+ ])
289
+
236
290
  export class RN {
237
291
  constructor(private readonly Processor: ProcessorBuilder) {}
238
292
 
@@ -266,7 +320,46 @@ export class RN {
266
320
  )
267
321
  const joinedStyles = this.joinStyles(rn)
268
322
 
269
- return Object.entries(joinedStyles).filter(([, value]) => isDefined(value)) as Array<[string, any]>
323
+ return Object.entries(joinedStyles)
324
+ .filter(([, value]) => isDefined(value))
325
+ .map(([prop, val]) => [prop, this.makeResponsive(prop, val)]) as Array<[string, any]>
326
+ }
327
+
328
+ private makeResponsive(property: string, value: any): any {
329
+ const mode = this.Processor.bundlerConfig.polyfills?.responsive
330
+
331
+ if (!mode) {
332
+ return value
333
+ }
334
+
335
+ if (typeof value === 'string') {
336
+ const rawValue = value.startsWith('"') && value.endsWith('"') ? value.slice(1, -1) : value
337
+
338
+ if (rawValue.endsWith('%')) {
339
+ const numValue = parseFloat(rawValue)
340
+
341
+ if (!isNaN(numValue)) {
342
+ return `rt.makeResponsive(${numValue}, 100, true)`
343
+ }
344
+ }
345
+ }
346
+
347
+ if (typeof value !== 'number') {
348
+ return value
349
+ }
350
+
351
+ const isTextMode = mode === true || mode === 'text'
352
+ const isComponentMode = mode === true || mode === 'components'
353
+
354
+ if (isTextMode && (property === 'fontSize' || property === '--uniwind-em')) {
355
+ return `rt.makeResponsive(${value}, ${DEFAULT_SCREEN_HEIGHT}, true)`
356
+ }
357
+
358
+ if (isComponentMode && COMPONENT_RESPONSIVE_PROPS.has(property)) {
359
+ return `rt.makeResponsive(${value}, ${DEFAULT_SCREEN_WIDTH})`
360
+ }
361
+
362
+ return value
270
363
  }
271
364
 
272
365
  private transformProperty(property: string, value: any) {
@@ -1,5 +1,5 @@
1
- import { Logger } from '../logger'
2
- import { addMissingSpaces, isNumber, isValidJSValue, pipe, roundToPrecision, smartSplit } from './common'
1
+ import { Logger } from '@/bundler/logger'
2
+ import { addMissingSpaces, isNumber, isValidJSValue, pipe, roundToPrecision, smartSplit } from './utils'
3
3
 
4
4
  const parseStringValue = (value: string) => {
5
5
  if (isValidJSValue(value)) {
@@ -1,3 +1,4 @@
1
+ import type { ColorScheme, Orientation, Platform } from '@/common/consts'
1
2
  import type {
2
3
  AbsoluteFontWeight,
3
4
  Declaration,
@@ -11,23 +12,6 @@ import type {
11
12
  TokenOrValue,
12
13
  UnresolvedColor,
13
14
  } from 'lightningcss'
14
- import { Platform } from '../common/consts'
15
- import { ColorScheme, Orientation } from '../types'
16
-
17
- export type Polyfills = {
18
- rem?: number
19
- }
20
-
21
- export type UniwindConfig = {
22
- cssEntryFile: string
23
- themes: Array<string>
24
- extraThemes?: Array<string>
25
- extraComponents?: Record<string, string>
26
- dtsFile?: string
27
- polyfills?: Polyfills
28
- debug?: boolean
29
- isTV?: boolean
30
- }
31
15
 
32
16
  export type MediaQueryResolver = {
33
17
  maxWidth: number | null
@@ -62,6 +46,8 @@ export type DeclarationValues =
62
46
  | AbsoluteFontWeight
63
47
  | UnresolvedColor
64
48
 
49
+ export type DeclarationProperty = Declaration['property']
50
+
65
51
  export type ProcessMetaValues = {
66
52
  className?: string | null
67
53
  }
@@ -1,4 +1,4 @@
1
- import { DimensionPercentageFor_LengthValue, Length, LengthValue } from 'lightningcss'
1
+ import type { DimensionPercentageFor_LengthValue, Length, LengthValue } from 'lightningcss'
2
2
  import { Logger } from '../logger'
3
3
  import type { ProcessorBuilder } from './processor'
4
4
 
@@ -1,4 +1,4 @@
1
- import { Variable } from 'lightningcss'
1
+ import type { Variable } from 'lightningcss'
2
2
  import type { ProcessorBuilder } from './processor'
3
3
 
4
4
  export class Var {
@@ -1,4 +1,4 @@
1
- import { Function as LightningCSSFunction, TokenOrValue } from 'lightningcss'
1
+ import type { Function as LightningCSSFunction, TokenOrValue } from 'lightningcss'
2
2
 
3
3
  const ONE_PX = {
4
4
  type: 'token',
@@ -1,4 +1,5 @@
1
- import { ReturnedDeclaration, ReturnedMediaQuery, ReturnedRule, Rule, SelectorComponent } from 'lightningcss'
1
+ import type { ReturnedDeclaration, ReturnedMediaQuery, ReturnedRule, Rule, SelectorComponent } from 'lightningcss'
2
+ import type { UniwindBundlerConfig } from '../config'
2
3
 
3
4
  type LightningRuleVisitor = Rule<ReturnedDeclaration, ReturnedMediaQuery>
4
5
  type LightningRuleVisitors = Partial<
@@ -12,7 +13,7 @@ export class RuleVisitor implements LightningRuleVisitors {
12
13
  processedVariables = new Set<string>()
13
14
  currentLayerName = ''
14
15
 
15
- constructor(private readonly themes: Array<string>) {}
16
+ constructor(private readonly bundlerConfig: UniwindBundlerConfig) {}
16
17
 
17
18
  'layer-block' = (layer: Extract<LightningRuleVisitor, { type: 'layer-block' }>) => {
18
19
  this.currentLayerName = layer.value.name?.join('') ?? ''
@@ -86,7 +87,7 @@ export class RuleVisitor implements LightningRuleVisitors {
86
87
  return styleRule
87
88
  }
88
89
 
89
- const selectedVariant = this.themes.find(theme => whereSelector.name === theme)
90
+ const selectedVariant = this.bundlerConfig.themes.find(theme => whereSelector.name === theme)
90
91
 
91
92
  if (selectedVariant === undefined || this.processedVariables.has(selectedVariant)) {
92
93
  return styleRule
@@ -109,7 +110,7 @@ export class RuleVisitor implements LightningRuleVisitors {
109
110
  styleRule: Extract<LightningRuleVisitor, { type: 'style' }>,
110
111
  firstSelector: Extract<SelectorComponent, { type: 'class' }>,
111
112
  ): ReturnedRule | void {
112
- const selectedVariant = this.themes.find(theme => firstSelector.name.includes(`${theme}:`))
113
+ const selectedVariant = this.bundlerConfig.themes.find(theme => firstSelector.name.includes(`${theme}:`))
113
114
 
114
115
  if (selectedVariant === undefined || this.processedClassNames.has(firstSelector.name)) {
115
116
  return
@@ -123,7 +124,7 @@ export class RuleVisitor implements LightningRuleVisitors {
123
124
  loc: styleRule.value.loc,
124
125
  rules: [styleRule],
125
126
  scopeStart: [[{ type: 'class', name: selectedVariant }]],
126
- scopeEnd: this.themes
127
+ scopeEnd: this.bundlerConfig.themes
127
128
  .filter(theme => theme !== selectedVariant)
128
129
  .map(theme => [{ type: 'class', name: theme }]),
129
130
  },
@@ -1,4 +1,5 @@
1
- import { CustomAtRules, Visitor } from 'lightningcss'
1
+ import type { CustomAtRules, Visitor } from 'lightningcss'
2
+ import type { UniwindBundlerConfig } from '../config'
2
3
  import { FunctionVisitor } from './function-visitor'
3
4
  import { RuleVisitor } from './rule-visitor'
4
5
 
@@ -7,8 +8,8 @@ export class UniwindCSSVisitor implements Visitor<CustomAtRules> {
7
8
  Rule: Visitor<CustomAtRules>['Rule']
8
9
  StyleSheet: Visitor<CustomAtRules>['StyleSheet']
9
10
 
10
- constructor(private readonly themes: Array<string>) {
11
- const ruleVisitor = new RuleVisitor(this.themes)
11
+ constructor(bundlerConfig: UniwindBundlerConfig) {
12
+ const ruleVisitor = new RuleVisitor(bundlerConfig)
12
13
 
13
14
  this.Function = new FunctionVisitor()
14
15
  this.Rule = ruleVisitor
@@ -0,0 +1,17 @@
1
+ export type UniwindConfig = {
2
+ cssEntryFile: string
3
+ extraThemes?: Array<string>
4
+ extraComponents?: Record<string, string>
5
+ dtsFile?: string
6
+ }
7
+
8
+ export type Polyfills = {
9
+ rem?: number
10
+ responsive?: 'text' | 'components' | boolean
11
+ }
12
+
13
+ export type UniwindMetroConfig = UniwindConfig & {
14
+ polyfills?: Polyfills
15
+ debug?: boolean
16
+ isTV?: boolean
17
+ }
@@ -10,3 +10,28 @@ export const enum Platform {
10
10
 
11
11
  export const UNIWIND_PLATFORM_VARIABLES = '__uniwind-platform-'
12
12
  export const UNIWIND_THEME_VARIABLES = '__uniwind-theme-'
13
+
14
+ export enum StyleDependency {
15
+ ColorScheme = 1,
16
+ Theme = 2,
17
+ Dimensions = 3,
18
+ Orientation = 4,
19
+ Insets = 5,
20
+ FontScale = 6,
21
+ Rtl = 7,
22
+ AdaptiveThemes = 8,
23
+ Variables = 9,
24
+ }
25
+
26
+ export const enum Orientation {
27
+ Portrait = 'portrait',
28
+ Landscape = 'landscape',
29
+ }
30
+
31
+ export const enum ColorScheme {
32
+ Light = 'light',
33
+ Dark = 'dark',
34
+ }
35
+
36
+ export const DEFAULT_SCREEN_WIDTH = 375
37
+ export const DEFAULT_SCREEN_HEIGHT = 680
@@ -1,6 +1,6 @@
1
1
  import React, { useMemo } from 'react'
2
2
  import { UniwindContext } from '../../core/context'
3
- import { ThemeName, UniwindContextType } from '../../core/types'
3
+ import type { ThemeName, UniwindContextType } from '../../core/types'
4
4
 
5
5
  type ScopedThemeProps = {
6
6
  theme: ThemeName
@@ -1,4 +1,5 @@
1
- import { ActivityIndicator as RNActivityIndicator, ActivityIndicatorProps } from 'react-native'
1
+ import type { ActivityIndicatorProps } from 'react-native'
2
+ import { ActivityIndicator as RNActivityIndicator } from 'react-native'
2
3
  import { copyComponentProperties } from '../utils'
3
4
  import { useAccentColor } from './useAccentColor'
4
5
  import { useStyle } from './useStyle'
@@ -1,4 +1,5 @@
1
- import { Button as RNButton, ButtonProps } from 'react-native'
1
+ import type { ButtonProps } from 'react-native'
2
+ import { Button as RNButton } from 'react-native'
2
3
  import { copyComponentProperties } from '../utils'
3
4
  import { useAccentColor } from './useAccentColor'
4
5
 
@@ -1,4 +1,5 @@
1
- import { FlatList as RNFlatList, FlatListProps } from 'react-native'
1
+ import type { FlatListProps } from 'react-native'
2
+ import { FlatList as RNFlatList } from 'react-native'
2
3
  import { copyComponentProperties } from '../utils'
3
4
  import { useAccentColor } from './useAccentColor'
4
5
  import { useStyle } from './useStyle'
@@ -1,4 +1,5 @@
1
- import { Image as RNImage, ImageProps } from 'react-native'
1
+ import type { ImageProps } from 'react-native'
2
+ import { Image as RNImage } from 'react-native'
2
3
  import { copyComponentProperties } from '../utils'
3
4
  import { useAccentColor } from './useAccentColor'
4
5
  import { useStyle } from './useStyle'
@@ -1,4 +1,5 @@
1
- import { ImageBackground as RNImageBackground, ImageBackgroundProps } from 'react-native'
1
+ import type { ImageBackgroundProps } from 'react-native'
2
+ import { ImageBackground as RNImageBackground } from 'react-native'
2
3
  import { copyComponentProperties } from '../utils'
3
4
  import { useAccentColor } from './useAccentColor'
4
5
  import { useStyle } from './useStyle'
@@ -1,5 +1,6 @@
1
- import { ForwardedRef } from 'react'
2
- import { InputAccessoryView as RNInputAccessoryView, InputAccessoryViewProps } from 'react-native'
1
+ import type { ForwardedRef } from 'react'
2
+ import type { InputAccessoryViewProps } from 'react-native'
3
+ import { InputAccessoryView as RNInputAccessoryView } from 'react-native'
3
4
  import { copyComponentProperties } from '../utils'
4
5
  import { useAccentColor } from './useAccentColor'
5
6
  import { useStyle } from './useStyle'
@@ -1,4 +1,5 @@
1
- import { KeyboardAvoidingView as RNKeyboardAvoidingView, KeyboardAvoidingViewProps } from 'react-native'
1
+ import type { KeyboardAvoidingViewProps } from 'react-native'
2
+ import { KeyboardAvoidingView as RNKeyboardAvoidingView } from 'react-native'
2
3
  import { copyComponentProperties } from '../utils'
3
4
  import { useStyle } from './useStyle'
4
5
 
@@ -1,4 +1,5 @@
1
- import { Modal as RNModal, ModalProps } from 'react-native'
1
+ import type { ModalProps } from 'react-native'
2
+ import { Modal as RNModal } from 'react-native'
2
3
  import { copyComponentProperties } from '../utils'
3
4
  import { useAccentColor } from './useAccentColor'
4
5
  import { useStyle } from './useStyle'
@@ -1,5 +1,5 @@
1
1
  import { useState } from 'react'
2
- import { Pressable as RNPressable, PressableProps } from 'react-native'
2
+ import { Pressable as RNPressable, type PressableProps } from 'react-native'
3
3
  import { copyComponentProperties } from '../utils'
4
4
  import { useStyle } from './useStyle'
5
5
 
@@ -1,4 +1,5 @@
1
- import { RefreshControl as RNRefreshControl, RefreshControlProps } from 'react-native'
1
+ import type { RefreshControlProps } from 'react-native'
2
+ import { RefreshControl as RNRefreshControl } from 'react-native'
2
3
  import { copyComponentProperties } from '../utils'
3
4
  import { useAccentColor } from './useAccentColor'
4
5
  import { useStyle } from './useStyle'
@@ -1,4 +1,5 @@
1
- import { SafeAreaView as RNSafeAreaView, ViewProps } from 'react-native'
1
+ import type { ViewProps } from 'react-native'
2
+ import { SafeAreaView as RNSafeAreaView } from 'react-native'
2
3
  import { copyComponentProperties } from '../utils'
3
4
  import { useStyle } from './useStyle'
4
5
 
@@ -1,4 +1,5 @@
1
- import { ScrollView as RNScrollView, ScrollViewProps } from 'react-native'
1
+ import type { ScrollViewProps } from 'react-native'
2
+ import { ScrollView as RNScrollView } from 'react-native'
2
3
  import { copyComponentProperties } from '../utils'
3
4
  import { useAccentColor } from './useAccentColor'
4
5
  import { useStyle } from './useStyle'
@@ -1,4 +1,5 @@
1
- import { SectionList as RNSectionList, SectionListProps } from 'react-native'
1
+ import type { SectionListProps } from 'react-native'
2
+ import { SectionList as RNSectionList } from 'react-native'
2
3
  import { copyComponentProperties } from '../utils'
3
4
  import { useAccentColor } from './useAccentColor'
4
5
  import { useStyle } from './useStyle'
@@ -1,5 +1,6 @@
1
- import { Switch as RNSwitch, SwitchProps } from 'react-native'
2
- import { ComponentState } from '../../core/types'
1
+ import type { SwitchProps } from 'react-native'
2
+ import { Switch as RNSwitch } from 'react-native'
3
+ import type { ComponentState } from '../../core/types'
3
4
  import { copyComponentProperties } from '../utils'
4
5
  import { useAccentColor } from './useAccentColor'
5
6
  import { useStyle } from './useStyle'
@@ -1,6 +1,7 @@
1
1
  import { useState } from 'react'
2
- import { Text as RNText, TextProps } from 'react-native'
3
- import { ComponentState } from '../../core/types'
2
+ import type { TextProps } from 'react-native'
3
+ import { Text as RNText } from 'react-native'
4
+ import type { ComponentState } from '../../core/types'
4
5
  import { copyComponentProperties } from '../utils'
5
6
  import { useAccentColor } from './useAccentColor'
6
7
  import { useStyle } from './useStyle'
@@ -1,6 +1,7 @@
1
1
  import { useState } from 'react'
2
- import { TextInput as RNTextInput, TextInputProps } from 'react-native'
3
- import { ComponentState } from '../../core/types'
2
+ import type { TextInputProps } from 'react-native'
3
+ import { TextInput as RNTextInput } from 'react-native'
4
+ import type { ComponentState } from '../../core/types'
4
5
  import { copyComponentProperties } from '../utils'
5
6
  import { useAccentColor } from './useAccentColor'
6
7
  import { useStyle } from './useStyle'
@@ -1,6 +1,7 @@
1
1
  import { useState } from 'react'
2
- import { TouchableHighlight as RNTouchableHighlight, TouchableHighlightProps } from 'react-native'
3
- import { ComponentState } from '../../core/types'
2
+ import type { TouchableHighlightProps } from 'react-native'
3
+ import { TouchableHighlight as RNTouchableHighlight } from 'react-native'
4
+ import type { ComponentState } from '../../core/types'
4
5
  import { copyComponentProperties } from '../utils'
5
6
  import { useAccentColor } from './useAccentColor'
6
7
  import { useStyle } from './useStyle'
@@ -1,6 +1,7 @@
1
1
  import { useState } from 'react'
2
- import { TouchableNativeFeedback as RNTouchableNativeFeedback, TouchableNativeFeedbackProps } from 'react-native'
3
- import { ComponentState } from '../../core/types'
2
+ import type { TouchableNativeFeedbackProps } from 'react-native'
3
+ import { TouchableNativeFeedback as RNTouchableNativeFeedback } from 'react-native'
4
+ import type { ComponentState } from '../../core/types'
4
5
  import { copyComponentProperties } from '../utils'
5
6
  import { useStyle } from './useStyle'
6
7
 
@@ -1,6 +1,7 @@
1
1
  import { useState } from 'react'
2
- import { TouchableOpacity as RNTouchableOpacity, TouchableOpacityProps } from 'react-native'
3
- import { ComponentState } from '../../core/types'
2
+ import type { TouchableOpacityProps } from 'react-native'
3
+ import { TouchableOpacity as RNTouchableOpacity } from 'react-native'
4
+ import type { ComponentState } from '../../core/types'
4
5
  import { copyComponentProperties } from '../utils'
5
6
  import { useStyle } from './useStyle'
6
7