@niibase/uniwind 1.6.4 → 1.8.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 (342) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/dist/cli/index.cjs +91 -0
  3. package/dist/cli/index.mjs +84 -0
  4. package/dist/common/{css → bundler/artifacts/css}/index.js +1 -4
  5. package/dist/common/{css → bundler/artifacts/css}/themes.js +4 -1
  6. package/dist/common/{utils/buildDtsFile.js → bundler/artifacts/dts.js} +1 -2
  7. package/dist/common/bundler/cli/index.js +76 -0
  8. package/dist/common/bundler/config.js +75 -0
  9. package/dist/common/bundler/css-compiler/compileCSS.js +18 -0
  10. package/dist/common/bundler/css-compiler/compileNativeCSS.js +19 -0
  11. package/dist/common/bundler/css-compiler/compileTailwind.js +27 -0
  12. package/dist/common/bundler/css-compiler/compileWebCSS.js +15 -0
  13. package/dist/common/{vite → bundler/css-compiler}/index.js +4 -4
  14. package/dist/common/bundler/css-processor/addMetaToStylesTemplate.js +130 -0
  15. package/dist/common/bundler/css-processor/animation.js +112 -0
  16. package/dist/common/bundler/css-processor/color.js +66 -0
  17. package/dist/common/bundler/css-processor/css.js +510 -0
  18. package/dist/common/bundler/css-processor/functions.js +145 -0
  19. package/dist/common/bundler/css-processor/index.js +38 -0
  20. package/dist/common/bundler/css-processor/mq.js +87 -0
  21. package/dist/common/bundler/css-processor/processor.js +353 -0
  22. package/dist/common/bundler/css-processor/rn.js +356 -0
  23. package/dist/common/bundler/css-processor/serialize.js +86 -0
  24. package/dist/common/bundler/css-processor/types.js +1 -0
  25. package/dist/common/bundler/css-processor/units.js +55 -0
  26. package/dist/common/bundler/css-processor/utils.js +61 -0
  27. package/dist/common/bundler/css-processor/var.js +20 -0
  28. package/dist/common/{css-visitor → bundler/css-visitor}/rule-visitor.js +7 -7
  29. package/dist/common/{css-visitor → bundler/css-visitor}/visitor.js +5 -6
  30. package/dist/common/bundler/logger.js +44 -0
  31. package/dist/common/bundler/types.js +1 -0
  32. package/dist/common/common/consts.js +26 -2
  33. package/dist/common/components/web/rnw.js +2 -2
  34. package/dist/common/core/config/config.common.js +9 -9
  35. package/dist/common/core/config/config.js +2 -2
  36. package/dist/common/core/config/config.native.js +4 -8
  37. package/dist/common/core/listener.js +10 -10
  38. package/dist/common/core/native/native-utils.js +1 -8
  39. package/dist/common/core/native/parsers/textShadow.js +6 -18
  40. package/dist/common/core/native/parsers/transforms.js +1 -5
  41. package/dist/common/core/native/runtime.js +7 -3
  42. package/dist/common/core/native/store.js +22 -69
  43. package/dist/common/core/web/cssListener.js +2 -2
  44. package/dist/common/hoc/withUniwind.js +5 -5
  45. package/dist/common/hoc/withUniwind.native.js +5 -5
  46. package/dist/common/hooks/useCSSVariable/getVariableValue.native.js +4 -1
  47. package/dist/common/hooks/useCSSVariable/useCSSVariable.js +6 -2
  48. package/dist/common/hooks/useUniwind.js +2 -2
  49. package/dist/metro/index.cjs +40 -34
  50. package/dist/metro/index.d.ts +2 -0
  51. package/dist/metro/index.mjs +28 -22
  52. package/dist/metro/{metro-transformer.cjs → transformer.cjs} +316 -200
  53. package/dist/metro/{metro-transformer.mjs → transformer.mjs} +254 -138
  54. package/dist/module/{css → bundler/artifacts/css}/index.d.ts +1 -1
  55. package/dist/module/{css → bundler/artifacts/css}/index.js +1 -4
  56. package/dist/module/{css → bundler/artifacts/css}/themes.js +4 -1
  57. package/dist/module/{utils/buildDtsFile.js → bundler/artifacts/dts.js} +3 -4
  58. package/dist/module/bundler/cli/index.d.ts +2 -0
  59. package/dist/module/bundler/cli/index.js +81 -0
  60. package/dist/module/bundler/config.d.ts +17 -0
  61. package/dist/module/bundler/config.js +77 -0
  62. package/dist/module/bundler/css-compiler/compileCSS.d.ts +2 -0
  63. package/dist/module/bundler/css-compiler/compileCSS.js +11 -0
  64. package/dist/module/bundler/css-compiler/compileNativeCSS.d.ts +2 -0
  65. package/dist/module/bundler/css-compiler/compileNativeCSS.js +33 -0
  66. package/dist/module/bundler/css-compiler/compileTailwind.d.ts +2 -0
  67. package/dist/module/bundler/css-compiler/compileTailwind.js +22 -0
  68. package/dist/module/bundler/css-compiler/compileWebCSS.d.ts +2 -0
  69. package/dist/module/bundler/css-compiler/compileWebCSS.js +8 -0
  70. package/dist/module/bundler/css-compiler/index.d.ts +1 -0
  71. package/dist/module/bundler/css-compiler/index.js +1 -0
  72. package/dist/module/bundler/css-processor/addMetaToStylesTemplate.d.ts +3 -0
  73. package/dist/module/bundler/css-processor/addMetaToStylesTemplate.js +136 -0
  74. package/dist/module/bundler/css-processor/animation.d.ts +6 -0
  75. package/dist/module/bundler/css-processor/animation.js +112 -0
  76. package/dist/module/bundler/css-processor/color.d.ts +12 -0
  77. package/dist/module/bundler/css-processor/color.js +63 -0
  78. package/dist/module/bundler/css-processor/css.d.ts +23 -0
  79. package/dist/module/bundler/css-processor/css.js +566 -0
  80. package/dist/module/bundler/css-processor/functions.d.ts +12 -0
  81. package/dist/module/bundler/css-processor/functions.js +190 -0
  82. package/dist/module/bundler/css-processor/index.d.ts +3 -0
  83. package/dist/module/bundler/css-processor/index.js +3 -0
  84. package/dist/module/bundler/css-processor/mq.d.ts +12 -0
  85. package/dist/module/bundler/css-processor/mq.js +78 -0
  86. package/dist/module/bundler/css-processor/processor.d.ts +36 -0
  87. package/dist/module/bundler/css-processor/processor.js +336 -0
  88. package/dist/module/bundler/css-processor/rn.d.ts +10 -0
  89. package/dist/module/bundler/css-processor/rn.js +400 -0
  90. package/dist/module/bundler/css-processor/serialize.d.ts +2 -0
  91. package/dist/module/bundler/css-processor/serialize.js +101 -0
  92. package/dist/module/bundler/css-processor/types.d.ts +28 -0
  93. package/dist/module/bundler/css-processor/types.js +0 -0
  94. package/dist/module/bundler/css-processor/units.d.ts +10 -0
  95. package/dist/module/bundler/css-processor/units.js +48 -0
  96. package/dist/module/bundler/css-processor/utils.d.ts +23 -0
  97. package/dist/{shared/uniwind.PtWWxxnh.mjs → module/bundler/css-processor/utils.js} +12 -18
  98. package/dist/module/bundler/css-processor/var.d.ts +7 -0
  99. package/dist/module/bundler/css-processor/var.js +13 -0
  100. package/dist/module/{css-visitor → bundler/css-visitor}/function-visitor.d.ts +1 -1
  101. package/dist/module/{css-visitor → bundler/css-visitor}/rule-visitor.d.ts +4 -3
  102. package/dist/module/{css-visitor → bundler/css-visitor}/rule-visitor.js +7 -7
  103. package/dist/module/{css-visitor → bundler/css-visitor}/visitor.d.ts +3 -3
  104. package/dist/module/{css-visitor → bundler/css-visitor}/visitor.js +5 -6
  105. package/dist/module/bundler/logger.d.ts +12 -0
  106. package/dist/module/bundler/logger.js +37 -0
  107. package/dist/module/bundler/types.d.ts +15 -0
  108. package/dist/module/bundler/types.js +0 -0
  109. package/dist/module/common/consts.d.ts +21 -0
  110. package/dist/module/common/consts.js +24 -0
  111. package/dist/module/components/ScopedTheme/ScopedTheme.native.d.ts +1 -1
  112. package/dist/module/components/native/Pressable.d.ts +1 -1
  113. package/dist/module/components/native/TouchableHighlight.d.ts +1 -1
  114. package/dist/module/components/native/TouchableOpacity.d.ts +1 -1
  115. package/dist/module/components/native/useAccentColor.d.ts +1 -1
  116. package/dist/module/components/native/useStyle.d.ts +3 -3
  117. package/dist/module/components/react-native-gesture-handler/native/BaseButton.d.ts +1 -1
  118. package/dist/module/components/react-native-gesture-handler/native/BorderlessButton.d.ts +1 -1
  119. package/dist/module/components/react-native-gesture-handler/native/DrawerLayoutAndroid.d.ts +1 -1
  120. package/dist/module/components/react-native-gesture-handler/native/FlatList.d.ts +1 -1
  121. package/dist/module/components/react-native-gesture-handler/native/Pressable.d.ts +1 -1
  122. package/dist/module/components/react-native-gesture-handler/native/PureNativeButton.d.ts +1 -1
  123. package/dist/module/components/react-native-gesture-handler/native/RawButton.d.ts +1 -1
  124. package/dist/module/components/react-native-gesture-handler/native/RectButton.d.ts +1 -1
  125. package/dist/module/components/react-native-gesture-handler/native/RefreshControl.d.ts +1 -1
  126. package/dist/module/components/react-native-gesture-handler/native/ScrollView.d.ts +1 -1
  127. package/dist/module/components/react-native-gesture-handler/native/Switch.d.ts +1 -1
  128. package/dist/module/components/react-native-gesture-handler/native/Text.d.ts +4 -1
  129. package/dist/module/components/react-native-gesture-handler/native/TextInput.d.ts +1 -1
  130. package/dist/module/components/web/Pressable.d.ts +1 -1
  131. package/dist/module/components/web/TouchableHighlight.d.ts +1 -1
  132. package/dist/module/components/web/TouchableOpacity.d.ts +1 -1
  133. package/dist/module/components/web/rnw.js +1 -1
  134. package/dist/module/core/config/config.common.d.ts +6 -7
  135. package/dist/module/core/config/config.common.js +2 -2
  136. package/dist/module/core/config/config.d.ts +1 -1
  137. package/dist/module/core/config/config.js +1 -1
  138. package/dist/module/core/config/config.native.d.ts +2 -2
  139. package/dist/module/core/config/config.native.js +2 -6
  140. package/dist/module/core/listener.d.ts +1 -1
  141. package/dist/module/core/listener.js +1 -1
  142. package/dist/module/core/native/native-utils.d.ts +0 -1
  143. package/dist/module/core/native/native-utils.js +0 -6
  144. package/dist/module/core/native/parsers/textShadow.js +6 -18
  145. package/dist/module/core/native/parsers/transforms.js +1 -5
  146. package/dist/module/core/native/runtime.js +5 -1
  147. package/dist/module/core/native/store.d.ts +3 -3
  148. package/dist/module/core/native/store.js +22 -65
  149. package/dist/module/core/types.d.ts +12 -7
  150. package/dist/module/core/web/cssListener.js +1 -1
  151. package/dist/module/core/web/getWebStyles.d.ts +1 -1
  152. package/dist/module/hoc/types.d.ts +2 -2
  153. package/dist/module/hoc/withUniwind.d.ts +1 -1
  154. package/dist/module/hoc/withUniwind.js +5 -5
  155. package/dist/module/hoc/withUniwind.native.d.ts +1 -1
  156. package/dist/module/hoc/withUniwind.native.js +5 -5
  157. package/dist/module/hooks/useCSSVariable/getVariableValue.native.d.ts +1 -1
  158. package/dist/module/hooks/useCSSVariable/getVariableValue.native.js +4 -1
  159. package/dist/module/hooks/useCSSVariable/useCSSVariable.d.ts +1 -1
  160. package/dist/module/hooks/useCSSVariable/useCSSVariable.js +5 -1
  161. package/dist/module/hooks/useResolveClassNames.d.ts +1 -1
  162. package/dist/module/hooks/useUniwind.d.ts +1 -1
  163. package/dist/module/hooks/useUniwind.js +1 -1
  164. package/dist/module/index.d.ts +1 -2
  165. package/dist/shared/{uniwind.r2i22V6d.cjs → uniwind.BEqYiPBB.cjs} +319 -217
  166. package/dist/shared/uniwind.CFAAUZ2t.mjs +3 -0
  167. package/dist/shared/uniwind.DJ5M1Q4q.cjs +5 -0
  168. package/dist/shared/{uniwind.BGiqYvxb.mjs → uniwind.DgC4MT51.mjs} +312 -214
  169. package/dist/vite/index.cjs +82 -59
  170. package/dist/vite/index.mjs +80 -58
  171. package/package.json +37 -21
  172. package/src/{metro → bundler/adapters/metro}/index.d.ts +2 -0
  173. package/src/bundler/adapters/metro/index.ts +1 -0
  174. package/src/bundler/adapters/metro/metro.ts +67 -0
  175. package/src/{metro/metro-css-patches.ts → bundler/adapters/metro/patches.ts} +3 -2
  176. package/src/{metro → bundler/adapters/metro}/resolvers.ts +8 -8
  177. package/src/bundler/adapters/metro/transformer.ts +85 -0
  178. package/src/bundler/adapters/vite/vite.ts +148 -0
  179. package/src/{css → bundler/artifacts/css}/extraUtilities.ts +1 -1
  180. package/src/{css → bundler/artifacts/css}/index.ts +1 -5
  181. package/src/{css → bundler/artifacts/css}/themes.ts +7 -2
  182. package/src/{utils/buildDtsFile.ts → bundler/artifacts/dts.ts} +3 -4
  183. package/src/bundler/cli/index.ts +105 -0
  184. package/src/bundler/config.ts +94 -0
  185. package/src/bundler/css-compiler/compileCSS.ts +15 -0
  186. package/src/bundler/css-compiler/compileNativeCSS.ts +41 -0
  187. package/src/bundler/css-compiler/compileTailwind.ts +25 -0
  188. package/src/bundler/css-compiler/compileWebCSS.ts +10 -0
  189. package/src/bundler/css-compiler/index.ts +1 -0
  190. package/src/{metro → bundler/css-processor}/addMetaToStylesTemplate.ts +36 -17
  191. package/src/{metro/processor → bundler/css-processor}/animation.ts +4 -4
  192. package/src/{metro/processor → bundler/css-processor}/color.ts +5 -4
  193. package/src/{metro/processor → bundler/css-processor}/css.ts +19 -11
  194. package/src/{metro/processor → bundler/css-processor}/functions.ts +2 -2
  195. package/src/bundler/css-processor/index.ts +3 -0
  196. package/src/{metro/processor → bundler/css-processor}/mq.ts +4 -4
  197. package/src/{metro/processor → bundler/css-processor}/processor.ts +20 -18
  198. package/src/{metro/processor → bundler/css-processor}/rn.ts +96 -3
  199. package/src/{metro/utils → bundler/css-processor}/serialize.ts +2 -2
  200. package/src/{metro → bundler/css-processor}/types.ts +3 -17
  201. package/src/{metro/processor → bundler/css-processor}/units.ts +2 -2
  202. package/src/{metro/utils/common.ts → bundler/css-processor/utils.ts} +2 -5
  203. package/src/{metro/processor → bundler/css-processor}/var.ts +2 -2
  204. package/src/{css-visitor → bundler/css-visitor}/function-visitor.ts +1 -1
  205. package/src/{css-visitor → bundler/css-visitor}/rule-visitor.ts +8 -7
  206. package/src/{css-visitor → bundler/css-visitor}/visitor.ts +4 -3
  207. package/src/{metro → bundler}/logger.ts +4 -0
  208. package/src/bundler/types.ts +17 -0
  209. package/src/common/consts.ts +25 -0
  210. package/src/components/ScopedTheme/ScopedTheme.native.tsx +1 -1
  211. package/src/components/native/ActivityIndicator.tsx +2 -1
  212. package/src/components/native/Button.tsx +2 -1
  213. package/src/components/native/FlatList.tsx +2 -1
  214. package/src/components/native/Image.tsx +2 -1
  215. package/src/components/native/ImageBackground.tsx +2 -1
  216. package/src/components/native/InputAccessoryView.tsx +3 -2
  217. package/src/components/native/KeyboardAvoidingView.tsx +2 -1
  218. package/src/components/native/Modal.tsx +2 -1
  219. package/src/components/native/Pressable.tsx +1 -1
  220. package/src/components/native/RefreshControl.tsx +2 -1
  221. package/src/components/native/SafeAreaView.tsx +2 -1
  222. package/src/components/native/ScrollView.tsx +2 -1
  223. package/src/components/native/SectionList.tsx +2 -1
  224. package/src/components/native/Switch.tsx +3 -2
  225. package/src/components/native/Text.tsx +3 -2
  226. package/src/components/native/TextInput.tsx +3 -2
  227. package/src/components/native/TouchableHighlight.tsx +3 -2
  228. package/src/components/native/TouchableNativeFeedback.tsx +3 -2
  229. package/src/components/native/TouchableOpacity.tsx +3 -2
  230. package/src/components/native/TouchableWithoutFeedback.tsx +3 -2
  231. package/src/components/native/View.tsx +2 -1
  232. package/src/components/native/VirtualizedList.tsx +2 -1
  233. package/src/components/native/useAccentColor.ts +1 -1
  234. package/src/components/native/useStyle.ts +2 -2
  235. package/src/components/react-native-gesture-handler/native/BaseButton.tsx +1 -1
  236. package/src/components/react-native-gesture-handler/native/BorderlessButton.tsx +1 -1
  237. package/src/components/react-native-gesture-handler/native/DrawerLayoutAndroid.tsx +1 -1
  238. package/src/components/react-native-gesture-handler/native/FlatList.tsx +1 -1
  239. package/src/components/react-native-gesture-handler/native/GestureHandlerRootView.tsx +1 -1
  240. package/src/components/react-native-gesture-handler/native/Pressable.tsx +1 -1
  241. package/src/components/react-native-gesture-handler/native/PureNativeButton.tsx +1 -1
  242. package/src/components/react-native-gesture-handler/native/RawButton.tsx +1 -1
  243. package/src/components/react-native-gesture-handler/native/RectButton.tsx +1 -1
  244. package/src/components/react-native-gesture-handler/native/RefreshControl.tsx +1 -1
  245. package/src/components/react-native-gesture-handler/native/ScrollView.tsx +1 -1
  246. package/src/components/react-native-gesture-handler/native/Switch.tsx +2 -2
  247. package/src/components/react-native-gesture-handler/native/Text.tsx +2 -2
  248. package/src/components/react-native-gesture-handler/native/TextInput.tsx +2 -2
  249. package/src/components/react-native-gesture-handler/native/TouchableNativeFeedback.tsx +2 -2
  250. package/src/components/react-native-gesture-handler/native/TouchableOpacity.tsx +2 -2
  251. package/src/components/react-native-gesture-handler/native/TouchableWithoutFeedback.tsx +2 -2
  252. package/src/components/web/ActivityIndicator.tsx +2 -1
  253. package/src/components/web/Button.tsx +2 -1
  254. package/src/components/web/FlatList.tsx +2 -1
  255. package/src/components/web/Image.tsx +2 -1
  256. package/src/components/web/ImageBackground.tsx +2 -1
  257. package/src/components/web/KeyboardAvoidingView.tsx +2 -1
  258. package/src/components/web/Modal.tsx +2 -1
  259. package/src/components/web/Pressable.tsx +2 -1
  260. package/src/components/web/RefreshControl.tsx +2 -1
  261. package/src/components/web/SafeAreaView.tsx +2 -1
  262. package/src/components/web/ScrollView.tsx +2 -1
  263. package/src/components/web/SectionList.tsx +2 -1
  264. package/src/components/web/Switch.tsx +2 -1
  265. package/src/components/web/Text.tsx +2 -1
  266. package/src/components/web/TextInput.tsx +2 -1
  267. package/src/components/web/TouchableHighlight.tsx +2 -1
  268. package/src/components/web/TouchableOpacity.tsx +2 -1
  269. package/src/components/web/TouchableWithoutFeedback.tsx +2 -1
  270. package/src/components/web/View.tsx +2 -1
  271. package/src/components/web/VirtualizedList.tsx +2 -1
  272. package/src/components/web/rnw.ts +1 -1
  273. package/src/core/config/config.common.ts +11 -9
  274. package/src/core/config/config.native.ts +4 -8
  275. package/src/core/config/config.ts +2 -2
  276. package/src/core/listener.ts +1 -1
  277. package/src/core/native/native-utils.ts +0 -9
  278. package/src/core/native/parsers/textShadow.ts +6 -18
  279. package/src/core/native/parsers/transforms.ts +1 -5
  280. package/src/core/native/runtime.ts +6 -1
  281. package/src/core/native/store.ts +26 -69
  282. package/src/core/types.ts +13 -7
  283. package/src/core/web/cssListener.ts +1 -1
  284. package/src/core/web/getWebStyles.ts +1 -1
  285. package/src/hoc/types.ts +2 -2
  286. package/src/hoc/withUniwind.native.tsx +4 -3
  287. package/src/hoc/withUniwind.tsx +3 -2
  288. package/src/hooks/useCSSVariable/getVariableValue.native.ts +6 -3
  289. package/src/hooks/useCSSVariable/useCSSVariable.ts +8 -2
  290. package/src/hooks/useResolveClassNames.ts +1 -1
  291. package/src/hooks/useUniwind.ts +2 -2
  292. package/src/index.ts +1 -2
  293. package/dist/common/types.js +0 -28
  294. package/dist/common/utils/stringifyThemes.js +0 -8
  295. package/dist/common/vite/vite.js +0 -95
  296. package/dist/module/types.d.ts +0 -21
  297. package/dist/module/types.js +0 -22
  298. package/dist/module/utils/stringifyThemes.d.ts +0 -1
  299. package/dist/module/utils/stringifyThemes.js +0 -1
  300. package/dist/module/vite/index.d.ts +0 -9
  301. package/dist/module/vite/index.js +0 -1
  302. package/dist/module/vite/vite.d.ts +0 -8
  303. package/dist/module/vite/vite.js +0 -98
  304. package/dist/shared/uniwind.B5q8hBGv.cjs +0 -18
  305. package/dist/shared/uniwind.Cv73KtI-.cjs +0 -86
  306. package/dist/shared/uniwind.JSWK3vHl.mjs +0 -14
  307. package/src/metro/compileVirtual.ts +0 -85
  308. package/src/metro/index.ts +0 -1
  309. package/src/metro/injectThemes.ts +0 -23
  310. package/src/metro/metro-transformer.ts +0 -116
  311. package/src/metro/processor/index.ts +0 -1
  312. package/src/metro/utils/index.ts +0 -2
  313. package/src/metro/withUniwindConfig.ts +0 -61
  314. package/src/types.ts +0 -23
  315. package/src/utils/stringifyThemes.ts +0 -1
  316. package/src/vite/index.d.ts +0 -9
  317. package/src/vite/vite.ts +0 -113
  318. /package/dist/common/{css → bundler/artifacts/css}/extraUtilities.js +0 -0
  319. /package/dist/common/{css → bundler/artifacts/css}/insets.js +0 -0
  320. /package/dist/common/{css → bundler/artifacts/css}/overwrite.js +0 -0
  321. /package/dist/common/{css → bundler/artifacts/css}/variants.js +0 -0
  322. /package/dist/common/{css-visitor → bundler/css-visitor}/function-visitor.js +0 -0
  323. /package/dist/common/{css-visitor → bundler/css-visitor}/index.js +0 -0
  324. /package/dist/module/{css → bundler/artifacts/css}/extraUtilities.d.ts +0 -0
  325. /package/dist/module/{css → bundler/artifacts/css}/extraUtilities.js +0 -0
  326. /package/dist/module/{css → bundler/artifacts/css}/insets.d.ts +0 -0
  327. /package/dist/module/{css → bundler/artifacts/css}/insets.js +0 -0
  328. /package/dist/module/{css → bundler/artifacts/css}/overwrite.d.ts +0 -0
  329. /package/dist/module/{css → bundler/artifacts/css}/overwrite.js +0 -0
  330. /package/dist/module/{css → bundler/artifacts/css}/themes.d.ts +0 -0
  331. /package/dist/module/{css → bundler/artifacts/css}/variants.d.ts +0 -0
  332. /package/dist/module/{css → bundler/artifacts/css}/variants.js +0 -0
  333. /package/dist/module/{utils/buildDtsFile.d.ts → bundler/artifacts/dts.d.ts} +0 -0
  334. /package/dist/module/{css-visitor → bundler/css-visitor}/function-visitor.js +0 -0
  335. /package/dist/module/{css-visitor → bundler/css-visitor}/index.d.ts +0 -0
  336. /package/dist/module/{css-visitor → bundler/css-visitor}/index.js +0 -0
  337. /package/{dist/common → src/bundler/adapters}/vite/index.d.ts +0 -0
  338. /package/src/{vite → bundler/adapters/vite}/index.ts +0 -0
  339. /package/src/{css → bundler/artifacts/css}/insets.ts +0 -0
  340. /package/src/{css → bundler/artifacts/css}/overwrite.ts +0 -0
  341. /package/src/{css → bundler/artifacts/css}/variants.ts +0 -0
  342. /package/src/{css-visitor → bundler/css-visitor}/index.ts +0 -0
@@ -1,212 +1,7 @@
1
1
  import fs from 'fs';
2
- import path from 'path';
3
2
  import { compile } from '@tailwindcss/node';
4
3
  import { transform } from 'lightningcss';
5
- import { n as name } from './uniwind.PtWWxxnh.mjs';
6
-
7
- const red = "\x1B[91m";
8
- const yellow = "\x1B[33m";
9
- const blue = "\x1B[36m";
10
- const reset = "\x1B[0m";
11
- class Logger {
12
- constructor(name) {
13
- this.name = name;
14
- }
15
- static debug = false;
16
- static log(message, meta = "") {
17
- if (!Logger.debug) {
18
- return;
19
- }
20
- console.log(`${blue}Uniwind ${meta}- ${message}${reset}`);
21
- }
22
- static error(message, meta = "") {
23
- console.log(`${red}Uniwind Error ${meta}- ${message}${reset}`);
24
- }
25
- static warn(message, meta = "") {
26
- if (!Logger.debug) {
27
- return;
28
- }
29
- console.log(`${yellow}Uniwind Warning ${meta}- ${message}${reset}`);
30
- }
31
- log(message) {
32
- Logger.log(message, `[${this.name} Processor] `);
33
- }
34
- error(message) {
35
- Logger.error(message, `[${this.name} Processor] `);
36
- }
37
- warn(message) {
38
- Logger.warn(message, `[${this.name} Processor] `);
39
- }
40
- }
41
-
42
- const ONE_PX = {
43
- type: "token",
44
- value: { type: "dimension", unit: "px", value: 1 }
45
- };
46
- class FunctionVisitor {
47
- platformSelect(fn) {
48
- return fn.arguments.at(0) ?? { type: "token", value: { type: "ident", value: "initial" } };
49
- }
50
- pixelRatio(fn) {
51
- return {
52
- type: "function",
53
- value: {
54
- name: "calc",
55
- arguments: [
56
- fn.arguments.at(0) ?? ONE_PX,
57
- { type: "token", value: { type: "delim", value: "*" } },
58
- ONE_PX
59
- ]
60
- }
61
- };
62
- }
63
- fontScale(fn) {
64
- return {
65
- type: "function",
66
- value: {
67
- name: "calc",
68
- arguments: [
69
- fn.arguments.at(0) ?? ONE_PX,
70
- { type: "token", value: { type: "delim", value: "*" } },
71
- {
72
- type: "token",
73
- value: { type: "dimension", value: 1, unit: "rem" }
74
- }
75
- ]
76
- }
77
- };
78
- }
79
- hairlineWidth() {
80
- return ONE_PX;
81
- }
82
- }
83
-
84
- class RuleVisitor {
85
- constructor(themes) {
86
- this.themes = themes;
87
- }
88
- processedClassNames = /* @__PURE__ */ new Set();
89
- processedVariables = /* @__PURE__ */ new Set();
90
- currentLayerName = "";
91
- "layer-block" = (layer) => {
92
- this.currentLayerName = layer.value.name?.join("") ?? "";
93
- };
94
- style = (styleRule) => {
95
- const firstSelector = styleRule.value.selectors.at(0)?.at(0);
96
- if (this.currentLayerName === "theme" && firstSelector?.type === "pseudo-class" && firstSelector.kind === "root") {
97
- return this.removeNulls(this.processThemeRoot(styleRule));
98
- }
99
- if (firstSelector?.type === "class") {
100
- return this.processClassStyle(styleRule, firstSelector);
101
- }
102
- };
103
- cleanup() {
104
- this.currentLayerName = "";
105
- this.processedClassNames.clear();
106
- this.processedVariables.clear();
107
- }
108
- processThemeRoot(styleRule) {
109
- const themeScopedRules = styleRule.value.rules?.filter((rule) => {
110
- if (rule.type !== "style") {
111
- return false;
112
- }
113
- const firstSelector = rule.value.selectors.at(0)?.at(0);
114
- const secondSelector = rule.value.selectors.at(0)?.at(1);
115
- return firstSelector?.type === "nesting" && secondSelector?.type === "pseudo-class" && secondSelector.kind === "where";
116
- }) ?? [];
117
- const nonThemeRules = styleRule.value.rules?.filter((rule) => !themeScopedRules.includes(rule));
118
- const processedThemeScopedRules = themeScopedRules.map((rule) => {
119
- if (rule.type !== "style") {
120
- return rule;
121
- }
122
- const secondSelector = rule.value.selectors.at(0)?.at(1);
123
- if (secondSelector?.type === "pseudo-class" && secondSelector.kind === "where") {
124
- return this.processThemeStyle(rule, secondSelector);
125
- }
126
- return rule;
127
- });
128
- return [
129
- {
130
- type: "style",
131
- value: {
132
- loc: styleRule.value.loc,
133
- selectors: styleRule.value.selectors,
134
- rules: nonThemeRules,
135
- declarations: styleRule.value.declarations
136
- }
137
- },
138
- ...processedThemeScopedRules
139
- ];
140
- }
141
- processThemeStyle(styleRule, secondSelector) {
142
- const whereSelector = secondSelector.selectors.at(0)?.at(0);
143
- if (whereSelector?.type !== "class") {
144
- return styleRule;
145
- }
146
- const selectedVariant = this.themes.find((theme) => whereSelector.name === theme);
147
- if (selectedVariant === void 0 || this.processedVariables.has(selectedVariant)) {
148
- return styleRule;
149
- }
150
- this.processedVariables.add(selectedVariant);
151
- return {
152
- type: "style",
153
- value: {
154
- loc: styleRule.value.loc,
155
- selectors: [[{ type: "class", name: selectedVariant }]],
156
- declarations: styleRule.value.declarations,
157
- rules: styleRule.value.rules
158
- }
159
- };
160
- }
161
- processClassStyle(styleRule, firstSelector) {
162
- const selectedVariant = this.themes.find((theme) => firstSelector.name.includes(`${theme}:`));
163
- if (selectedVariant === void 0 || this.processedClassNames.has(firstSelector.name)) {
164
- return;
165
- }
166
- this.processedClassNames.add(firstSelector.name);
167
- return {
168
- type: "scope",
169
- value: {
170
- loc: styleRule.value.loc,
171
- rules: [styleRule],
172
- scopeStart: [[{ type: "class", name: selectedVariant }]],
173
- scopeEnd: this.themes.filter((theme) => theme !== selectedVariant).map((theme) => [{ type: "class", name: theme }])
174
- }
175
- };
176
- }
177
- // Fixes lightningcss serialization bug
178
- removeNulls(value) {
179
- if (Array.isArray(value)) {
180
- return value.map((v) => this.removeNulls(v));
181
- }
182
- if (typeof value === "object" && value !== null) {
183
- return Object.fromEntries(
184
- Object.entries(value).filter(([_, value2]) => {
185
- if (value2 === null) {
186
- return false;
187
- }
188
- return true;
189
- }).map(([key, value2]) => [key, this.removeNulls(value2)])
190
- );
191
- }
192
- return value;
193
- }
194
- }
195
-
196
- class UniwindCSSVisitor {
197
- constructor(themes) {
198
- this.themes = themes;
199
- const ruleVisitor = new RuleVisitor(this.themes);
200
- this.Function = new FunctionVisitor();
201
- this.Rule = ruleVisitor;
202
- this.StyleSheet = () => {
203
- ruleVisitor.cleanup();
204
- };
205
- }
206
- Function;
207
- Rule;
208
- StyleSheet;
209
- }
4
+ import path from 'path';
210
5
 
211
6
  const toKebabCase = (str) => str.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);
212
7
  const generateExtraUtilities = (map) => {
@@ -333,6 +128,41 @@ const overwriteDisabled = `@custom-variant disabled {
333
128
  `;
334
129
  const OVERWRITE_CSS = overwriteDisabled;
335
130
 
131
+ const red = "\x1B[91m";
132
+ const blue = "\x1B[36m";
133
+ const reset = "\x1B[0m";
134
+ class Logger {
135
+ constructor(name) {
136
+ this.name = name;
137
+ }
138
+ static debug = false;
139
+ static log(message, meta = "") {
140
+ {
141
+ return;
142
+ }
143
+ }
144
+ static info(message) {
145
+ console.log(`${blue}[Uniwind] ${message}${reset}`);
146
+ }
147
+ static error(message, meta = "") {
148
+ console.log(`${red}Uniwind Error ${meta}- ${message}${reset}`);
149
+ }
150
+ static warn(message, meta = "") {
151
+ {
152
+ return;
153
+ }
154
+ }
155
+ log(message) {
156
+ Logger.log(message, `[${this.name} Processor] `);
157
+ }
158
+ error(message) {
159
+ Logger.error(message, `[${this.name} Processor] `);
160
+ }
161
+ warn(message) {
162
+ Logger.warn(message, `[${this.name} Processor] `);
163
+ }
164
+ }
165
+
336
166
  const readFileSafe = (filePath) => {
337
167
  try {
338
168
  return fs.readFileSync(filePath, "utf-8");
@@ -379,6 +209,9 @@ const generateCSSForThemes = async (themes, input) => {
379
209
  }
380
210
  const importUrls = /* @__PURE__ */ new Set();
381
211
  const importsCSS = dependencies.filter((dependency) => {
212
+ if (dependency.type !== "import") {
213
+ return false;
214
+ }
382
215
  if (dependency.url.startsWith(".")) {
383
216
  importUrls.add(path.resolve(path.dirname(cssPath), dependency.url));
384
217
  return false;
@@ -457,10 +290,8 @@ const generateCSSForVariants = () => {
457
290
  };
458
291
  const VARIANTS_CSS = generateCSSForVariants();
459
292
 
460
- const dirname = typeof __dirname !== "undefined" ? __dirname : import.meta.dirname;
461
- const buildCSS = async (themes, input) => {
293
+ const buildCSS = async (themes, input, cssFilePath) => {
462
294
  const themesCSS = await generateCSSForThemes(themes, input);
463
- const cssFilePath = path.join(dirname, "../../uniwind.css");
464
295
  const oldCSSFile = fs.existsSync(cssFilePath) ? fs.readFileSync(cssFilePath, "utf-8") : "";
465
296
  const newCssFile = [
466
297
  VARIANTS_CSS,
@@ -481,10 +312,10 @@ const buildCSS = async (themes, input) => {
481
312
  const buildDtsFile = (dtsPath, stringifiedThemes) => {
482
313
  const oldDtsContent = fs.existsSync(dtsPath) ? fs.readFileSync(dtsPath, "utf-8") : "";
483
314
  const dtsContent = [
484
- `// NOTE: This file is generated by ${name} and it should not be edited manually.`,
485
- `/// <reference types="${name}/types" />`,
315
+ `// NOTE: This file is generated by uniwind and it should not be edited manually.`,
316
+ `/// <reference types="uniwind/types" />`,
486
317
  "",
487
- `declare module '${name}' {`,
318
+ `declare module 'uniwind' {`,
488
319
  ` export interface UniwindConfig {`,
489
320
  ` themes: readonly ${stringifiedThemes}`,
490
321
  ` }`,
@@ -499,6 +330,273 @@ const buildDtsFile = (dtsPath, stringifiedThemes) => {
499
330
  fs.writeFileSync(dtsPath, dtsContent);
500
331
  };
501
332
 
502
- const stringifyThemes = (themes = []) => `[${themes.map((theme) => `'${theme}'`).join(", ")}]`;
333
+ const ONE_PX = {
334
+ type: "token",
335
+ value: { type: "dimension", unit: "px", value: 1 }
336
+ };
337
+ class FunctionVisitor {
338
+ platformSelect(fn) {
339
+ return fn.arguments.at(0) ?? { type: "token", value: { type: "ident", value: "initial" } };
340
+ }
341
+ pixelRatio(fn) {
342
+ return {
343
+ type: "function",
344
+ value: {
345
+ name: "calc",
346
+ arguments: [
347
+ fn.arguments.at(0) ?? ONE_PX,
348
+ { type: "token", value: { type: "delim", value: "*" } },
349
+ ONE_PX
350
+ ]
351
+ }
352
+ };
353
+ }
354
+ fontScale(fn) {
355
+ return {
356
+ type: "function",
357
+ value: {
358
+ name: "calc",
359
+ arguments: [
360
+ fn.arguments.at(0) ?? ONE_PX,
361
+ { type: "token", value: { type: "delim", value: "*" } },
362
+ {
363
+ type: "token",
364
+ value: { type: "dimension", value: 1, unit: "rem" }
365
+ }
366
+ ]
367
+ }
368
+ };
369
+ }
370
+ hairlineWidth() {
371
+ return ONE_PX;
372
+ }
373
+ }
374
+
375
+ class RuleVisitor {
376
+ constructor(bundlerConfig) {
377
+ this.bundlerConfig = bundlerConfig;
378
+ }
379
+ processedClassNames = /* @__PURE__ */ new Set();
380
+ processedVariables = /* @__PURE__ */ new Set();
381
+ currentLayerName = "";
382
+ "layer-block" = (layer) => {
383
+ this.currentLayerName = layer.value.name?.join("") ?? "";
384
+ };
385
+ style = (styleRule) => {
386
+ const firstSelector = styleRule.value.selectors.at(0)?.at(0);
387
+ if (this.currentLayerName === "theme" && firstSelector?.type === "pseudo-class" && firstSelector.kind === "root") {
388
+ return this.removeNulls(this.processThemeRoot(styleRule));
389
+ }
390
+ if (firstSelector?.type === "class") {
391
+ return this.processClassStyle(styleRule, firstSelector);
392
+ }
393
+ };
394
+ cleanup() {
395
+ this.currentLayerName = "";
396
+ this.processedClassNames.clear();
397
+ this.processedVariables.clear();
398
+ }
399
+ processThemeRoot(styleRule) {
400
+ const themeScopedRules = styleRule.value.rules?.filter((rule) => {
401
+ if (rule.type !== "style") {
402
+ return false;
403
+ }
404
+ const firstSelector = rule.value.selectors.at(0)?.at(0);
405
+ const secondSelector = rule.value.selectors.at(0)?.at(1);
406
+ return firstSelector?.type === "nesting" && secondSelector?.type === "pseudo-class" && secondSelector.kind === "where";
407
+ }) ?? [];
408
+ const nonThemeRules = styleRule.value.rules?.filter((rule) => !themeScopedRules.includes(rule));
409
+ const processedThemeScopedRules = themeScopedRules.map((rule) => {
410
+ if (rule.type !== "style") {
411
+ return rule;
412
+ }
413
+ const secondSelector = rule.value.selectors.at(0)?.at(1);
414
+ if (secondSelector?.type === "pseudo-class" && secondSelector.kind === "where") {
415
+ return this.processThemeStyle(rule, secondSelector);
416
+ }
417
+ return rule;
418
+ });
419
+ return [
420
+ {
421
+ type: "style",
422
+ value: {
423
+ loc: styleRule.value.loc,
424
+ selectors: styleRule.value.selectors,
425
+ rules: nonThemeRules,
426
+ declarations: styleRule.value.declarations
427
+ }
428
+ },
429
+ ...processedThemeScopedRules
430
+ ];
431
+ }
432
+ processThemeStyle(styleRule, secondSelector) {
433
+ const whereSelector = secondSelector.selectors.at(0)?.at(0);
434
+ if (whereSelector?.type !== "class") {
435
+ return styleRule;
436
+ }
437
+ const selectedVariant = this.bundlerConfig.themes.find((theme) => whereSelector.name === theme);
438
+ if (selectedVariant === void 0 || this.processedVariables.has(selectedVariant)) {
439
+ return styleRule;
440
+ }
441
+ this.processedVariables.add(selectedVariant);
442
+ return {
443
+ type: "style",
444
+ value: {
445
+ loc: styleRule.value.loc,
446
+ selectors: [[{ type: "class", name: selectedVariant }]],
447
+ declarations: styleRule.value.declarations,
448
+ rules: styleRule.value.rules
449
+ }
450
+ };
451
+ }
452
+ processClassStyle(styleRule, firstSelector) {
453
+ const selectedVariant = this.bundlerConfig.themes.find((theme) => firstSelector.name.includes(`${theme}:`));
454
+ if (selectedVariant === void 0 || this.processedClassNames.has(firstSelector.name)) {
455
+ return;
456
+ }
457
+ this.processedClassNames.add(firstSelector.name);
458
+ return this.removeNulls({
459
+ type: "scope",
460
+ value: {
461
+ loc: styleRule.value.loc,
462
+ rules: [styleRule],
463
+ scopeStart: [[{ type: "class", name: selectedVariant }]],
464
+ scopeEnd: this.bundlerConfig.themes.filter((theme) => theme !== selectedVariant).map((theme) => [{ type: "class", name: theme }])
465
+ }
466
+ });
467
+ }
468
+ // Fixes lightningcss serialization bug
469
+ removeNulls(value) {
470
+ if (Array.isArray(value)) {
471
+ return value.map((v) => this.removeNulls(v));
472
+ }
473
+ if (typeof value === "object" && value !== null) {
474
+ return Object.fromEntries(
475
+ Object.entries(value).filter(([_, value2]) => {
476
+ if (value2 === null) {
477
+ return false;
478
+ }
479
+ return true;
480
+ }).map(([key, value2]) => [key, this.removeNulls(value2)])
481
+ );
482
+ }
483
+ return value;
484
+ }
485
+ }
486
+
487
+ class UniwindCSSVisitor {
488
+ Function;
489
+ Rule;
490
+ StyleSheet;
491
+ constructor(bundlerConfig) {
492
+ const ruleVisitor = new RuleVisitor(bundlerConfig);
493
+ this.Function = new FunctionVisitor();
494
+ this.Rule = ruleVisitor;
495
+ this.StyleSheet = () => {
496
+ ruleVisitor.cleanup();
497
+ };
498
+ }
499
+ }
500
+
501
+ var Platform = /* @__PURE__ */ ((Platform2) => {
502
+ Platform2["Android"] = "android";
503
+ Platform2["iOS"] = "ios";
504
+ Platform2["Web"] = "web";
505
+ Platform2["Native"] = "native";
506
+ Platform2["TV"] = "tv";
507
+ Platform2["AndroidTV"] = "android-tv";
508
+ Platform2["AppleTV"] = "apple-tv";
509
+ return Platform2;
510
+ })(Platform || {});
511
+ const UNIWIND_PLATFORM_VARIABLES = "__uniwind-platform-";
512
+ const UNIWIND_THEME_VARIABLES = "__uniwind-theme-";
513
+ var StyleDependency = /* @__PURE__ */ ((StyleDependency2) => {
514
+ StyleDependency2[StyleDependency2["ColorScheme"] = 1] = "ColorScheme";
515
+ StyleDependency2[StyleDependency2["Theme"] = 2] = "Theme";
516
+ StyleDependency2[StyleDependency2["Dimensions"] = 3] = "Dimensions";
517
+ StyleDependency2[StyleDependency2["Orientation"] = 4] = "Orientation";
518
+ StyleDependency2[StyleDependency2["Insets"] = 5] = "Insets";
519
+ StyleDependency2[StyleDependency2["FontScale"] = 6] = "FontScale";
520
+ StyleDependency2[StyleDependency2["Rtl"] = 7] = "Rtl";
521
+ StyleDependency2[StyleDependency2["AdaptiveThemes"] = 8] = "AdaptiveThemes";
522
+ StyleDependency2[StyleDependency2["Variables"] = 9] = "Variables";
523
+ return StyleDependency2;
524
+ })(StyleDependency || {});
525
+ const DEFAULT_SCREEN_WIDTH = 375;
526
+ const DEFAULT_SCREEN_HEIGHT = 680;
527
+
528
+ const isDefined = (value) => value !== void 0 && value !== null;
529
+
530
+ class UniwindBundlerConfig {
531
+ constructor(config, platform) {
532
+ this.config = config;
533
+ this.platform = platform;
534
+ }
535
+ static fromMetroConfig(config, platform) {
536
+ const getPlatform = () => {
537
+ if (!isDefined(platform)) {
538
+ return Platform.Native;
539
+ }
540
+ if (!config.isTV) {
541
+ return platform;
542
+ }
543
+ if (platform === Platform.Android) {
544
+ return Platform.AndroidTV;
545
+ }
546
+ if (platform === Platform.iOS) {
547
+ return Platform.AppleTV;
548
+ }
549
+ throw new Error(`Platform ${platform} not supported`);
550
+ };
551
+ if (typeof config === "undefined") {
552
+ throw new Error("Uniwind: You need to pass second parameter to withUniwindConfig");
553
+ }
554
+ if (typeof config.cssEntryFile === "undefined") {
555
+ throw new Error(
556
+ 'Uniwind: You need to pass css css entry file to withUniwindConfig, e.g. withUniwindConfig(config, { cssEntryFile: "./global.css" })'
557
+ );
558
+ }
559
+ return new UniwindBundlerConfig(config, getPlatform());
560
+ }
561
+ static fromViteConfig(config) {
562
+ return new UniwindBundlerConfig(config, Platform.Web);
563
+ }
564
+ static fromCliConfig(config) {
565
+ if (typeof config.cssEntryFile === "undefined") {
566
+ throw new Error(
567
+ "Uniwind: You need to pass css entry file, e.g. uniwind generate-artifacts --css ./global.css. Run uniwind generate-artifacts --help for usage."
568
+ );
569
+ }
570
+ return new UniwindBundlerConfig(config, Platform.Web);
571
+ }
572
+ get cssPath() {
573
+ return path.join(process.cwd(), this.config.cssEntryFile);
574
+ }
575
+ get themes() {
576
+ return Array.from(
577
+ /* @__PURE__ */ new Set([
578
+ "light",
579
+ "dark",
580
+ ...this.config.extraThemes ?? []
581
+ ])
582
+ );
583
+ }
584
+ get cssVisitor() {
585
+ return new UniwindCSSVisitor(this);
586
+ }
587
+ get polyfills() {
588
+ return this.config.polyfills;
589
+ }
590
+ get stringifiedThemes() {
591
+ return `[${this.themes.map((theme) => `'${theme}'`).join(", ")}]`;
592
+ }
593
+ toMetroConfig() {
594
+ return this.config;
595
+ }
596
+ async generateArtifacts(cssArtifactPath) {
597
+ await buildCSS(this.themes, this.config.cssEntryFile, cssArtifactPath);
598
+ buildDtsFile(this.config.dtsFile ?? "uniwind-types.d.ts", this.stringifiedThemes);
599
+ }
600
+ }
503
601
 
504
- export { Logger as L, UniwindCSSVisitor as U, buildCSS as a, buildDtsFile as b, stringifyThemes as s };
602
+ export { DEFAULT_SCREEN_HEIGHT as D, Logger as L, Platform as P, StyleDependency as S, UniwindBundlerConfig as U, DEFAULT_SCREEN_WIDTH as a, UNIWIND_PLATFORM_VARIABLES as b, UNIWIND_THEME_VARIABLES as c, isDefined as i };