react-native-unistyles 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (396) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +38 -30
  3. package/lib/commonjs/UnistylesTheme.js +21 -0
  4. package/lib/commonjs/UnistylesTheme.js.map +1 -0
  5. package/lib/commonjs/createUnistyles.js +57 -0
  6. package/lib/commonjs/createUnistyles.js.map +1 -0
  7. package/lib/commonjs/hooks/index.js +3 -24
  8. package/lib/commonjs/hooks/index.js.map +1 -1
  9. package/lib/commonjs/hooks/useDimensions.js +10 -0
  10. package/lib/commonjs/hooks/useDimensions.js.map +1 -0
  11. package/lib/commonjs/hooks/useDimensions.web.js +34 -0
  12. package/lib/commonjs/hooks/useDimensions.web.js.map +1 -0
  13. package/lib/commonjs/index.js +6 -63
  14. package/lib/commonjs/index.js.map +1 -1
  15. package/lib/commonjs/types/index.js +0 -11
  16. package/lib/commonjs/types/index.js.map +1 -1
  17. package/lib/commonjs/types/mediaQueries.js +2 -0
  18. package/lib/commonjs/types/{unistyles.js.map → mediaQueries.js.map} +1 -1
  19. package/lib/commonjs/utils/breakpoints.js +122 -20
  20. package/lib/commonjs/utils/breakpoints.js.map +1 -1
  21. package/lib/commonjs/utils/common.js +20 -0
  22. package/lib/commonjs/utils/common.js.map +1 -0
  23. package/lib/commonjs/utils/index.js +54 -22
  24. package/lib/commonjs/utils/index.js.map +1 -1
  25. package/lib/commonjs/utils/mediaQueries.js +189 -0
  26. package/lib/commonjs/utils/mediaQueries.js.map +1 -0
  27. package/lib/{module/types/common.js.map → commonjs/utils/module.d.js.map} +1 -1
  28. package/lib/commonjs/utils/normalizeStyles.js +10 -0
  29. package/lib/commonjs/utils/normalizeStyles.js.map +1 -0
  30. package/lib/commonjs/{normalizer/normalizeStyle.js → utils/normalizeStyles.web.js} +5 -5
  31. package/lib/commonjs/utils/normalizeStyles.web.js.map +1 -0
  32. package/lib/commonjs/{normalizer → utils}/normalizer.js +3 -2
  33. package/lib/commonjs/utils/normalizer.js.map +1 -0
  34. package/lib/commonjs/utils/styles.js +72 -45
  35. package/lib/commonjs/utils/styles.js.map +1 -1
  36. package/lib/module/UnistylesTheme.js +12 -0
  37. package/lib/module/UnistylesTheme.js.map +1 -0
  38. package/lib/module/createUnistyles.js +50 -0
  39. package/lib/module/createUnistyles.js.map +1 -0
  40. package/lib/module/hooks/index.js +1 -4
  41. package/lib/module/hooks/index.js.map +1 -1
  42. package/lib/module/hooks/useDimensions.js +3 -0
  43. package/lib/module/hooks/useDimensions.js.map +1 -0
  44. package/lib/module/hooks/useDimensions.web.js +27 -0
  45. package/lib/module/hooks/useDimensions.web.js.map +1 -0
  46. package/lib/module/index.js +2 -30
  47. package/lib/module/index.js.map +1 -1
  48. package/lib/module/types/index.js +0 -1
  49. package/lib/module/types/index.js.map +1 -1
  50. package/lib/module/types/mediaQueries.js +2 -0
  51. package/lib/{commonjs/types/stylesheet.js.map → module/types/mediaQueries.js.map} +1 -1
  52. package/lib/module/utils/breakpoints.js +120 -19
  53. package/lib/module/utils/breakpoints.js.map +1 -1
  54. package/lib/module/utils/common.js +12 -0
  55. package/lib/module/utils/common.js.map +1 -0
  56. package/lib/module/utils/index.js +6 -6
  57. package/lib/module/utils/index.js.map +1 -1
  58. package/lib/module/utils/mediaQueries.js +176 -0
  59. package/lib/module/utils/mediaQueries.js.map +1 -0
  60. package/lib/{commonjs/types/variants.js.map → module/utils/module.d.js.map} +1 -1
  61. package/lib/module/utils/normalizeStyles.js +3 -0
  62. package/lib/module/utils/normalizeStyles.js.map +1 -0
  63. package/lib/module/{normalizer/normalizeStyle.js → utils/normalizeStyles.web.js} +3 -3
  64. package/lib/module/utils/normalizeStyles.web.js.map +1 -0
  65. package/lib/module/{normalizer → utils}/normalizer.js +3 -2
  66. package/lib/module/utils/normalizer.js.map +1 -0
  67. package/lib/module/utils/styles.js +72 -44
  68. package/lib/module/utils/styles.js.map +1 -1
  69. package/lib/typescript/examples/expo/src/App.d.ts +3 -0
  70. package/lib/typescript/examples/expo/src/App.d.ts.map +1 -0
  71. package/lib/typescript/examples/expo/src/examples/Breakpoints.d.ts +3 -0
  72. package/lib/typescript/examples/expo/src/examples/Breakpoints.d.ts.map +1 -0
  73. package/lib/typescript/examples/expo/src/examples/EmptyStyles.d.ts +3 -0
  74. package/lib/typescript/examples/expo/src/examples/EmptyStyles.d.ts.map +1 -0
  75. package/lib/typescript/examples/expo/src/examples/Extreme.d.ts +7 -0
  76. package/lib/typescript/examples/expo/src/examples/Extreme.d.ts.map +1 -0
  77. package/lib/typescript/examples/expo/src/examples/MediaQueries.d.ts +3 -0
  78. package/lib/typescript/examples/expo/src/examples/MediaQueries.d.ts.map +1 -0
  79. package/lib/typescript/examples/expo/src/examples/Memoization.d.ts +3 -0
  80. package/lib/typescript/examples/expo/src/examples/Memoization.d.ts.map +1 -0
  81. package/lib/typescript/examples/expo/src/examples/Minimal.d.ts +3 -0
  82. package/lib/typescript/examples/expo/src/examples/Minimal.d.ts.map +1 -0
  83. package/lib/typescript/examples/expo/src/examples/MinimalWithCreateStyleSheet.d.ts +3 -0
  84. package/lib/typescript/examples/expo/src/examples/MinimalWithCreateStyleSheet.d.ts.map +1 -0
  85. package/lib/typescript/examples/expo/src/examples/PlatformColors.d.ts +3 -0
  86. package/lib/typescript/examples/expo/src/examples/PlatformColors.d.ts.map +1 -0
  87. package/lib/typescript/examples/expo/src/examples/Theme.d.ts +3 -0
  88. package/lib/typescript/examples/expo/src/examples/Theme.d.ts.map +1 -0
  89. package/lib/typescript/examples/expo/src/examples/index.d.ts +9 -0
  90. package/lib/typescript/examples/expo/src/examples/index.d.ts.map +1 -0
  91. package/lib/typescript/examples/expo/src/index.d.ts +2 -0
  92. package/lib/typescript/examples/expo/src/index.d.ts.map +1 -0
  93. package/lib/typescript/examples/expo/src/styles/breakpoints.d.ts +8 -0
  94. package/lib/typescript/examples/expo/src/styles/breakpoints.d.ts.map +1 -0
  95. package/lib/typescript/examples/expo/src/styles/index.d.ts +46 -0
  96. package/lib/typescript/examples/expo/src/styles/index.d.ts.map +1 -0
  97. package/lib/typescript/examples/expo/src/styles/theme.d.ts +24 -0
  98. package/lib/typescript/examples/expo/src/styles/theme.d.ts.map +1 -0
  99. package/lib/typescript/src/UnistylesTheme.d.ts +9 -0
  100. package/lib/typescript/src/UnistylesTheme.d.ts.map +1 -0
  101. package/lib/typescript/src/createUnistyles.d.ts +10 -0
  102. package/lib/typescript/src/createUnistyles.d.ts.map +1 -0
  103. package/lib/typescript/src/hooks/index.d.ts +1 -4
  104. package/lib/typescript/src/hooks/index.d.ts.map +1 -1
  105. package/lib/typescript/src/hooks/useDimensions.d.ts +3 -0
  106. package/lib/typescript/src/hooks/useDimensions.d.ts.map +1 -0
  107. package/lib/typescript/src/hooks/useDimensions.web.d.ts +3 -0
  108. package/lib/typescript/src/hooks/useDimensions.web.d.ts.map +1 -0
  109. package/lib/typescript/src/index.d.ts +2 -76
  110. package/lib/typescript/src/index.d.ts.map +1 -1
  111. package/lib/typescript/src/types/breakpoints.d.ts +17 -25
  112. package/lib/typescript/src/types/breakpoints.d.ts.map +1 -1
  113. package/lib/typescript/src/types/core.d.ts +25 -11
  114. package/lib/typescript/src/types/core.d.ts.map +1 -1
  115. package/lib/typescript/src/types/index.d.ts +2 -7
  116. package/lib/typescript/src/types/index.d.ts.map +1 -1
  117. package/lib/typescript/src/types/mediaQueries.d.ts +8 -0
  118. package/lib/typescript/src/types/mediaQueries.d.ts.map +1 -0
  119. package/lib/typescript/src/utils/breakpoints.d.ts +62 -2
  120. package/lib/typescript/src/utils/breakpoints.d.ts.map +1 -1
  121. package/lib/typescript/src/utils/common.d.ts +7 -0
  122. package/lib/typescript/src/utils/common.d.ts.map +1 -0
  123. package/lib/typescript/src/utils/index.d.ts +6 -7
  124. package/lib/typescript/src/utils/index.d.ts.map +1 -1
  125. package/lib/typescript/src/utils/mediaQueries.d.ts +130 -0
  126. package/lib/typescript/src/utils/mediaQueries.d.ts.map +1 -0
  127. package/lib/typescript/src/utils/normalizeStyles.d.ts +2 -0
  128. package/lib/typescript/src/utils/normalizeStyles.d.ts.map +1 -0
  129. package/lib/typescript/src/utils/normalizeStyles.web.d.ts +5 -0
  130. package/lib/typescript/src/utils/normalizeStyles.web.d.ts.map +1 -0
  131. package/lib/typescript/src/utils/normalizer.d.ts.map +1 -0
  132. package/lib/typescript/src/utils/styles.d.ts +49 -3
  133. package/lib/typescript/src/utils/styles.d.ts.map +1 -1
  134. package/package.json +25 -46
  135. package/src/UnistylesTheme.tsx +17 -0
  136. package/src/__tests__/createUnistyles.spec.tsx +192 -0
  137. package/src/createUnistyles.ts +70 -0
  138. package/src/hooks/index.ts +1 -4
  139. package/src/hooks/useDimensions.ts +4 -0
  140. package/src/hooks/useDimensions.web.ts +34 -0
  141. package/src/index.ts +2 -50
  142. package/src/types/breakpoints.ts +33 -58
  143. package/src/types/core.ts +36 -11
  144. package/src/types/index.ts +7 -12
  145. package/src/types/mediaQueries.ts +10 -0
  146. package/src/utils/breakpoints.ts +124 -28
  147. package/src/utils/common.ts +14 -0
  148. package/src/utils/index.ts +13 -7
  149. package/src/utils/mediaQueries.ts +201 -0
  150. package/src/utils/normalizeStyles.ts +2 -0
  151. package/src/{normalizer/normalizeStyle.ts → utils/normalizeStyles.web.ts} +3 -3
  152. package/src/{normalizer → utils}/normalizer.ts +4 -5
  153. package/src/utils/styles.ts +102 -54
  154. package/android/CMakeLists.txt +0 -27
  155. package/android/build.gradle +0 -75
  156. package/android/src/main/cxx/cpp-adapter.cpp +0 -132
  157. package/android/src/main/java/com/unistyles/UnistylesModule.kt +0 -189
  158. package/android/src/main/java/com/unistyles/UnistylesPackage.kt +0 -18
  159. package/cxx/UnistylesRuntime.cpp +0 -318
  160. package/cxx/UnistylesRuntime.h +0 -74
  161. package/ios/UnistylesHelpers.h +0 -3
  162. package/ios/UnistylesHelpers.mm +0 -5
  163. package/ios/UnistylesModule.h +0 -16
  164. package/ios/UnistylesModule.mm +0 -138
  165. package/ios/platform/Platform_iOS.h +0 -21
  166. package/ios/platform/Platform_iOS.mm +0 -132
  167. package/ios/platform/Platform_macOS.h +0 -20
  168. package/ios/platform/Platform_macOS.mm +0 -83
  169. package/lib/commonjs/common.js +0 -60
  170. package/lib/commonjs/common.js.map +0 -1
  171. package/lib/commonjs/core/UnistyleRegistry.js +0 -94
  172. package/lib/commonjs/core/UnistyleRegistry.js.map +0 -1
  173. package/lib/commonjs/core/Unistyles.js +0 -32
  174. package/lib/commonjs/core/Unistyles.js.map +0 -1
  175. package/lib/commonjs/core/UnistylesModule.js +0 -197
  176. package/lib/commonjs/core/UnistylesModule.js.map +0 -1
  177. package/lib/commonjs/core/UnistylesModule.native.js +0 -9
  178. package/lib/commonjs/core/UnistylesModule.native.js.map +0 -1
  179. package/lib/commonjs/core/UnistylesRuntime.js +0 -140
  180. package/lib/commonjs/core/UnistylesRuntime.js.map +0 -1
  181. package/lib/commonjs/core/index.js +0 -13
  182. package/lib/commonjs/core/index.js.map +0 -1
  183. package/lib/commonjs/createStyleSheet.js +0 -14
  184. package/lib/commonjs/createStyleSheet.js.map +0 -1
  185. package/lib/commonjs/global.js +0 -2
  186. package/lib/commonjs/global.js.map +0 -1
  187. package/lib/commonjs/hooks/useCSS.js +0 -44
  188. package/lib/commonjs/hooks/useCSS.js.map +0 -1
  189. package/lib/commonjs/hooks/useCSS.native.js +0 -9
  190. package/lib/commonjs/hooks/useCSS.native.js.map +0 -1
  191. package/lib/commonjs/hooks/useInitialTheme.js +0 -17
  192. package/lib/commonjs/hooks/useInitialTheme.js.map +0 -1
  193. package/lib/commonjs/hooks/useUnistyles.js +0 -64
  194. package/lib/commonjs/hooks/useUnistyles.js.map +0 -1
  195. package/lib/commonjs/hooks/useVariants.js +0 -14
  196. package/lib/commonjs/hooks/useVariants.js.map +0 -1
  197. package/lib/commonjs/normalizer/index.js +0 -32
  198. package/lib/commonjs/normalizer/index.js.map +0 -1
  199. package/lib/commonjs/normalizer/module.d.js.map +0 -1
  200. package/lib/commonjs/normalizer/normalizeStyle.js.map +0 -1
  201. package/lib/commonjs/normalizer/normalizer.js.map +0 -1
  202. package/lib/commonjs/normalizer/normalizer.macos.js +0 -3
  203. package/lib/commonjs/normalizer/normalizer.macos.js.map +0 -1
  204. package/lib/commonjs/plugins/cssMediaQueriesPlugin.js +0 -14
  205. package/lib/commonjs/plugins/cssMediaQueriesPlugin.js.map +0 -1
  206. package/lib/commonjs/plugins/index.js +0 -20
  207. package/lib/commonjs/plugins/index.js.map +0 -1
  208. package/lib/commonjs/plugins/normalizeWebStylesPlugin.js +0 -12
  209. package/lib/commonjs/plugins/normalizeWebStylesPlugin.js.map +0 -1
  210. package/lib/commonjs/types/common.js +0 -2
  211. package/lib/commonjs/types/common.js.map +0 -1
  212. package/lib/commonjs/types/plugin.js +0 -6
  213. package/lib/commonjs/types/plugin.js.map +0 -1
  214. package/lib/commonjs/types/stylesheet.js +0 -6
  215. package/lib/commonjs/types/unistyles.js +0 -6
  216. package/lib/commonjs/types/variants.js +0 -2
  217. package/lib/commonjs/useStyles.js +0 -47
  218. package/lib/commonjs/useStyles.js.map +0 -1
  219. package/lib/commonjs/utils/cssMediaQuery.js +0 -244
  220. package/lib/commonjs/utils/cssMediaQuery.js.map +0 -1
  221. package/lib/commonjs/utils/generateId.js +0 -15
  222. package/lib/commonjs/utils/generateId.js.map +0 -1
  223. package/lib/commonjs/utils/hash32.js +0 -43
  224. package/lib/commonjs/utils/hash32.js.map +0 -1
  225. package/lib/commonjs/utils/mq.js +0 -38
  226. package/lib/commonjs/utils/mq.js.map +0 -1
  227. package/lib/commonjs/utils/mqParser.js +0 -89
  228. package/lib/commonjs/utils/mqParser.js.map +0 -1
  229. package/lib/commonjs/utils/withPlugins.js +0 -15
  230. package/lib/commonjs/utils/withPlugins.js.map +0 -1
  231. package/lib/module/common.js +0 -53
  232. package/lib/module/common.js.map +0 -1
  233. package/lib/module/core/UnistyleRegistry.js +0 -87
  234. package/lib/module/core/UnistyleRegistry.js.map +0 -1
  235. package/lib/module/core/Unistyles.js +0 -26
  236. package/lib/module/core/Unistyles.js.map +0 -1
  237. package/lib/module/core/UnistylesModule.js +0 -190
  238. package/lib/module/core/UnistylesModule.js.map +0 -1
  239. package/lib/module/core/UnistylesModule.native.js +0 -3
  240. package/lib/module/core/UnistylesModule.native.js.map +0 -1
  241. package/lib/module/core/UnistylesRuntime.js +0 -133
  242. package/lib/module/core/UnistylesRuntime.js.map +0 -1
  243. package/lib/module/core/index.js +0 -2
  244. package/lib/module/core/index.js.map +0 -1
  245. package/lib/module/createStyleSheet.js +0 -7
  246. package/lib/module/createStyleSheet.js.map +0 -1
  247. package/lib/module/global.js +0 -2
  248. package/lib/module/global.js.map +0 -1
  249. package/lib/module/hooks/useCSS.js +0 -37
  250. package/lib/module/hooks/useCSS.js.map +0 -1
  251. package/lib/module/hooks/useCSS.native.js +0 -2
  252. package/lib/module/hooks/useCSS.native.js.map +0 -1
  253. package/lib/module/hooks/useInitialTheme.js +0 -10
  254. package/lib/module/hooks/useInitialTheme.js.map +0 -1
  255. package/lib/module/hooks/useUnistyles.js +0 -57
  256. package/lib/module/hooks/useUnistyles.js.map +0 -1
  257. package/lib/module/hooks/useVariants.js +0 -7
  258. package/lib/module/hooks/useVariants.js.map +0 -1
  259. package/lib/module/normalizer/index.js +0 -3
  260. package/lib/module/normalizer/index.js.map +0 -1
  261. package/lib/module/normalizer/module.d.js.map +0 -1
  262. package/lib/module/normalizer/normalizeStyle.js.map +0 -1
  263. package/lib/module/normalizer/normalizer.js.map +0 -1
  264. package/lib/module/normalizer/normalizer.macos.js +0 -2
  265. package/lib/module/normalizer/normalizer.macos.js.map +0 -1
  266. package/lib/module/plugins/cssMediaQueriesPlugin.js +0 -7
  267. package/lib/module/plugins/cssMediaQueriesPlugin.js.map +0 -1
  268. package/lib/module/plugins/index.js +0 -3
  269. package/lib/module/plugins/index.js.map +0 -1
  270. package/lib/module/plugins/normalizeWebStylesPlugin.js +0 -6
  271. package/lib/module/plugins/normalizeWebStylesPlugin.js.map +0 -1
  272. package/lib/module/types/common.js +0 -2
  273. package/lib/module/types/plugin.js +0 -2
  274. package/lib/module/types/plugin.js.map +0 -1
  275. package/lib/module/types/stylesheet.js +0 -2
  276. package/lib/module/types/stylesheet.js.map +0 -1
  277. package/lib/module/types/unistyles.js +0 -2
  278. package/lib/module/types/unistyles.js.map +0 -1
  279. package/lib/module/types/variants.js +0 -2
  280. package/lib/module/types/variants.js.map +0 -1
  281. package/lib/module/useStyles.js +0 -40
  282. package/lib/module/useStyles.js.map +0 -1
  283. package/lib/module/utils/cssMediaQuery.js +0 -237
  284. package/lib/module/utils/cssMediaQuery.js.map +0 -1
  285. package/lib/module/utils/generateId.js +0 -7
  286. package/lib/module/utils/generateId.js.map +0 -1
  287. package/lib/module/utils/hash32.js +0 -36
  288. package/lib/module/utils/hash32.js.map +0 -1
  289. package/lib/module/utils/mq.js +0 -32
  290. package/lib/module/utils/mq.js.map +0 -1
  291. package/lib/module/utils/mqParser.js +0 -78
  292. package/lib/module/utils/mqParser.js.map +0 -1
  293. package/lib/module/utils/withPlugins.js +0 -8
  294. package/lib/module/utils/withPlugins.js.map +0 -1
  295. package/lib/typescript/src/common.d.ts +0 -46
  296. package/lib/typescript/src/common.d.ts.map +0 -1
  297. package/lib/typescript/src/core/UnistyleRegistry.d.ts +0 -56
  298. package/lib/typescript/src/core/UnistyleRegistry.d.ts.map +0 -1
  299. package/lib/typescript/src/core/Unistyles.d.ts +0 -13
  300. package/lib/typescript/src/core/Unistyles.d.ts.map +0 -1
  301. package/lib/typescript/src/core/UnistylesModule.d.ts +0 -19
  302. package/lib/typescript/src/core/UnistylesModule.d.ts.map +0 -1
  303. package/lib/typescript/src/core/UnistylesModule.native.d.ts +0 -6
  304. package/lib/typescript/src/core/UnistylesModule.native.d.ts.map +0 -1
  305. package/lib/typescript/src/core/UnistylesRuntime.d.ts +0 -81
  306. package/lib/typescript/src/core/UnistylesRuntime.d.ts.map +0 -1
  307. package/lib/typescript/src/core/index.d.ts +0 -3
  308. package/lib/typescript/src/core/index.d.ts.map +0 -1
  309. package/lib/typescript/src/createStyleSheet.d.ts +0 -8
  310. package/lib/typescript/src/createStyleSheet.d.ts.map +0 -1
  311. package/lib/typescript/src/global.d.ts +0 -7
  312. package/lib/typescript/src/global.d.ts.map +0 -1
  313. package/lib/typescript/src/hooks/useCSS.d.ts +0 -3
  314. package/lib/typescript/src/hooks/useCSS.d.ts.map +0 -1
  315. package/lib/typescript/src/hooks/useCSS.native.d.ts +0 -3
  316. package/lib/typescript/src/hooks/useCSS.native.d.ts.map +0 -1
  317. package/lib/typescript/src/hooks/useInitialTheme.d.ts +0 -3
  318. package/lib/typescript/src/hooks/useInitialTheme.d.ts.map +0 -1
  319. package/lib/typescript/src/hooks/useUnistyles.d.ts +0 -14
  320. package/lib/typescript/src/hooks/useUnistyles.d.ts.map +0 -1
  321. package/lib/typescript/src/hooks/useVariants.d.ts +0 -3
  322. package/lib/typescript/src/hooks/useVariants.d.ts.map +0 -1
  323. package/lib/typescript/src/normalizer/index.d.ts +0 -3
  324. package/lib/typescript/src/normalizer/index.d.ts.map +0 -1
  325. package/lib/typescript/src/normalizer/normalizeStyle.d.ts +0 -3
  326. package/lib/typescript/src/normalizer/normalizeStyle.d.ts.map +0 -1
  327. package/lib/typescript/src/normalizer/normalizer.d.ts.map +0 -1
  328. package/lib/typescript/src/normalizer/normalizer.macos.d.ts +0 -1
  329. package/lib/typescript/src/normalizer/normalizer.macos.d.ts.map +0 -1
  330. package/lib/typescript/src/plugins/cssMediaQueriesPlugin.d.ts +0 -3
  331. package/lib/typescript/src/plugins/cssMediaQueriesPlugin.d.ts.map +0 -1
  332. package/lib/typescript/src/plugins/index.d.ts +0 -3
  333. package/lib/typescript/src/plugins/index.d.ts.map +0 -1
  334. package/lib/typescript/src/plugins/normalizeWebStylesPlugin.d.ts +0 -3
  335. package/lib/typescript/src/plugins/normalizeWebStylesPlugin.d.ts.map +0 -1
  336. package/lib/typescript/src/types/common.d.ts +0 -3
  337. package/lib/typescript/src/types/common.d.ts.map +0 -1
  338. package/lib/typescript/src/types/plugin.d.ts +0 -7
  339. package/lib/typescript/src/types/plugin.d.ts.map +0 -1
  340. package/lib/typescript/src/types/stylesheet.d.ts +0 -40
  341. package/lib/typescript/src/types/stylesheet.d.ts.map +0 -1
  342. package/lib/typescript/src/types/unistyles.d.ts +0 -53
  343. package/lib/typescript/src/types/unistyles.d.ts.map +0 -1
  344. package/lib/typescript/src/types/variants.d.ts +0 -14
  345. package/lib/typescript/src/types/variants.d.ts.map +0 -1
  346. package/lib/typescript/src/useStyles.d.ts +0 -16
  347. package/lib/typescript/src/useStyles.d.ts.map +0 -1
  348. package/lib/typescript/src/utils/cssMediaQuery.d.ts +0 -4
  349. package/lib/typescript/src/utils/cssMediaQuery.d.ts.map +0 -1
  350. package/lib/typescript/src/utils/generateId.d.ts +0 -2
  351. package/lib/typescript/src/utils/generateId.d.ts.map +0 -1
  352. package/lib/typescript/src/utils/hash32.d.ts +0 -2
  353. package/lib/typescript/src/utils/hash32.d.ts.map +0 -1
  354. package/lib/typescript/src/utils/mq.d.ts +0 -26
  355. package/lib/typescript/src/utils/mq.d.ts.map +0 -1
  356. package/lib/typescript/src/utils/mqParser.d.ts +0 -16
  357. package/lib/typescript/src/utils/mqParser.d.ts.map +0 -1
  358. package/lib/typescript/src/utils/withPlugins.d.ts +0 -3
  359. package/lib/typescript/src/utils/withPlugins.d.ts.map +0 -1
  360. package/react-native-unistyles.podspec +0 -22
  361. package/src/__tests__/mocks.ts +0 -24
  362. package/src/common.ts +0 -55
  363. package/src/core/UnistyleRegistry.ts +0 -108
  364. package/src/core/Unistyles.ts +0 -35
  365. package/src/core/UnistylesModule.native.ts +0 -7
  366. package/src/core/UnistylesModule.ts +0 -230
  367. package/src/core/UnistylesRuntime.ts +0 -135
  368. package/src/core/index.ts +0 -2
  369. package/src/createStyleSheet.ts +0 -8
  370. package/src/global.ts +0 -6
  371. package/src/hooks/useCSS.native.ts +0 -3
  372. package/src/hooks/useCSS.ts +0 -51
  373. package/src/hooks/useInitialTheme.ts +0 -11
  374. package/src/hooks/useUnistyles.ts +0 -64
  375. package/src/hooks/useVariants.ts +0 -10
  376. package/src/normalizer/index.ts +0 -2
  377. package/src/normalizer/normalizer.macos.ts +0 -1
  378. package/src/plugins/cssMediaQueriesPlugin.ts +0 -8
  379. package/src/plugins/index.ts +0 -2
  380. package/src/plugins/normalizeWebStylesPlugin.ts +0 -7
  381. package/src/types/common.ts +0 -2
  382. package/src/types/plugin.ts +0 -7
  383. package/src/types/stylesheet.ts +0 -49
  384. package/src/types/unistyles.ts +0 -63
  385. package/src/types/variants.ts +0 -19
  386. package/src/useStyles.ts +0 -60
  387. package/src/utils/cssMediaQuery.ts +0 -268
  388. package/src/utils/generateId.ts +0 -10
  389. package/src/utils/hash32.ts +0 -53
  390. package/src/utils/mq.ts +0 -57
  391. package/src/utils/mqParser.ts +0 -99
  392. package/src/utils/withPlugins.ts +0 -13
  393. /package/lib/commonjs/{normalizer → utils}/module.d.js +0 -0
  394. /package/lib/module/{normalizer → utils}/module.d.js +0 -0
  395. /package/lib/typescript/src/{normalizer → utils}/normalizer.d.ts +0 -0
  396. /package/src/{normalizer → utils}/module.d.ts +0 -0
@@ -0,0 +1,192 @@
1
+ import React from 'react'
2
+ import { StyleSheet } from 'react-native'
3
+ import type { ViewStyle } from 'react-native'
4
+ import { renderHook } from '@testing-library/react-hooks'
5
+ import { createUnistyles } from '../createUnistyles'
6
+ import { UnistylesTheme } from '../UnistylesTheme'
7
+ import type { CustomNamedStyles } from '../types'
8
+
9
+ jest.mock('../hooks', () => ({
10
+ useDimensions: jest.fn(() => ({
11
+ width: 500,
12
+ height: 1000
13
+ }))
14
+ }))
15
+
16
+ describe('createUnistyles', () => {
17
+ describe('createStyleSheet', () => {
18
+ it('should work exactly the same like StyleSheet.create', () => {
19
+ const breakpoints = {
20
+ xs: 0
21
+ }
22
+ const { createStyleSheet } = createUnistyles(breakpoints)
23
+
24
+ const styles = {
25
+ container: {
26
+ flex: 1,
27
+ justifyContent: 'center',
28
+ alignItems: 'center'
29
+ },
30
+ text: {
31
+ fontWeight: 'bold',
32
+ fontSize: 32
33
+ }
34
+ } as const
35
+
36
+ expect(createStyleSheet(styles)).toEqual(StyleSheet.create(styles))
37
+ })
38
+
39
+ it('should inject the theme to the createStyleSheet', () => {
40
+ const theme = {
41
+ colors: {
42
+ barbie: '#ff9ff3',
43
+ oak: '#1dd1a1',
44
+ sky: '#48dbfb',
45
+ fog: '#c8d6e5',
46
+ aloes: '#00d2d3'
47
+ }
48
+ }
49
+ const breakpoints = {
50
+ xs: 0
51
+ }
52
+ const { useStyles, createStyleSheet } = createUnistyles<typeof breakpoints, typeof theme>(breakpoints)
53
+ const stylesheet = createStyleSheet(theme => ({
54
+ container: {
55
+ backgroundColor: theme.colors.barbie
56
+ }
57
+ }))
58
+ const { result } = renderHook(() => useStyles(stylesheet), {
59
+ // @ts-ignore
60
+ wrapper: ({ children }) => (
61
+ <UnistylesTheme theme={theme}>
62
+ {children}
63
+ </UnistylesTheme>
64
+ )
65
+ })
66
+
67
+ expect(result.current.theme).toEqual(theme)
68
+ expect(result.current.styles).not.toBe(Function)
69
+ expect(result.current.styles.container.backgroundColor).toEqual(theme.colors.barbie)
70
+ })
71
+ })
72
+
73
+ describe('useStyles', () => {
74
+ it('should return empty object for optional stylesheet', () => {
75
+ const breakpoints = {
76
+ xs: 0
77
+ }
78
+ const { useStyles } = createUnistyles(breakpoints)
79
+ const { result } = renderHook(() => useStyles())
80
+
81
+ expect(result.current.styles).toEqual({})
82
+ expect(result.current.theme).toEqual({})
83
+ })
84
+
85
+ it ('should choose single value from breakpoints', () => {
86
+ const breakpoints = {
87
+ xs: 0,
88
+ sm: 200,
89
+ md: 500,
90
+ lg: 1000
91
+ }
92
+
93
+ const { useStyles, createStyleSheet } = createUnistyles(breakpoints)
94
+ const stylesheet = createStyleSheet({
95
+ container: {
96
+ flex: 1,
97
+ justifyContent: 'center',
98
+ alignItems: {
99
+ xs: 'row',
100
+ md: 'column'
101
+ }
102
+ }
103
+ })
104
+ const { result } = renderHook(() => useStyles(stylesheet))
105
+
106
+ expect(result.current.styles.container.alignItems).toEqual('column')
107
+ })
108
+
109
+ it ('should choose single value from media queries', () => {
110
+ const breakpoints = {
111
+ xs: 0
112
+ }
113
+
114
+ const { useStyles, createStyleSheet } = createUnistyles(breakpoints)
115
+ const stylesheet = createStyleSheet({
116
+ container: {
117
+ flex: 1,
118
+ justifyContent: 'center',
119
+ alignItems: {
120
+ xs: 'row',
121
+ ':w[300, 490]': 'column',
122
+ ':w[491]': 'row'
123
+ }
124
+ }
125
+ })
126
+ const { result } = renderHook(() => useStyles(stylesheet as CustomNamedStyles<typeof stylesheet, typeof breakpoints>))
127
+
128
+ expect(result.current.styles.container.alignItems).toEqual('row')
129
+ })
130
+
131
+ it ('should choose wrap dynamic functions in Proxy', () => {
132
+ const breakpoints = {
133
+ xs: 0
134
+ }
135
+
136
+ const { useStyles, createStyleSheet } = createUnistyles<typeof breakpoints, {}>(breakpoints)
137
+ const stylesheet = createStyleSheet({
138
+ container: (flex: number) => ({
139
+ flex,
140
+ justifyContent: 'center',
141
+ alignItems: {
142
+ xs: 'row',
143
+ ':w[300, 490]': 'column',
144
+ ':w[491]': 'row'
145
+ }
146
+ })
147
+ })
148
+ const { result } = renderHook(() => useStyles(stylesheet as CustomNamedStyles<typeof stylesheet, typeof breakpoints>))
149
+
150
+ expect(result.current.styles.container).toBeInstanceOf(Function)
151
+ expect((result.current.styles.container as (flex: number) => ViewStyle)(2)).toEqual({
152
+ flex: 2,
153
+ justifyContent: 'center',
154
+ alignItems: 'row'
155
+ })
156
+ })
157
+
158
+ it ('should return breakpoint even if no stylesheet has been provided', () => {
159
+ const breakpoints = {
160
+ xs: 0,
161
+ sm: 200,
162
+ md: 500,
163
+ lg: 1000
164
+ }
165
+
166
+ const { useStyles } = createUnistyles<typeof breakpoints, {}>(breakpoints)
167
+ const { result } = renderHook(() => useStyles())
168
+
169
+ expect(result.current.breakpoint).toEqual('md')
170
+ })
171
+
172
+ it ('should return breakpoint for stylesheet', () => {
173
+ const breakpoints = {
174
+ xs: 0,
175
+ sm: 200,
176
+ lg: 1000
177
+ }
178
+
179
+ const { useStyles, createStyleSheet } = createUnistyles<typeof breakpoints, {}>(breakpoints)
180
+ const stylesheet = createStyleSheet({
181
+ container: {
182
+ flex: 1,
183
+ justifyContent: 'center',
184
+ alignItems: 'center'
185
+ }
186
+ })
187
+ const { result } = renderHook(() => useStyles(stylesheet as CustomNamedStyles<typeof stylesheet, typeof breakpoints>))
188
+
189
+ expect(result.current.breakpoint).toEqual('sm')
190
+ })
191
+ })
192
+ })
@@ -0,0 +1,70 @@
1
+ import { useContext, useMemo } from 'react'
2
+ import { StyleSheet } from 'react-native'
3
+ import type {
4
+ Breakpoints,
5
+ CreateStylesFactory,
6
+ CustomNamedStyles,
7
+ ExtractBreakpoints,
8
+ RemoveKeysWithPrefix,
9
+ SortedBreakpointEntries
10
+ } from './types'
11
+ import { UnistylesContext } from './UnistylesTheme'
12
+ import { useDimensions } from './hooks'
13
+ import { getBreakpointFromScreenWidth, proxifyFunction, parseStyle, sortAndValidateBreakpoints } from './utils'
14
+
15
+ export const createUnistyles = <B extends Breakpoints, T = {}>(breakpoints: B) => {
16
+ const sortedBreakpoints = sortAndValidateBreakpoints(breakpoints)
17
+ const sortedBreakpointEntries = Object
18
+ .entries(sortedBreakpoints) as SortedBreakpointEntries<B>
19
+
20
+ return {
21
+ createStyleSheet: <S extends CustomNamedStyles<S, B>, X>(styles: S | CustomNamedStyles<S, B> | X | ((theme: T) => X | CustomNamedStyles<X, B>)): S | X => {
22
+ if (typeof styles === 'function') {
23
+ return styles as X
24
+ }
25
+
26
+ return styles as S
27
+ },
28
+ useStyles: <ST extends CustomNamedStyles<ST, B>>(stylesheet?: ST | CreateStylesFactory<ST, T>) => {
29
+ const theme = useContext(UnistylesContext) as T
30
+ const screenSize = useDimensions()
31
+ const breakpoint = getBreakpointFromScreenWidth<B>(screenSize.width, sortedBreakpointEntries)
32
+
33
+ if (!stylesheet) {
34
+ return {
35
+ theme,
36
+ breakpoint,
37
+ styles: {} as ExtractBreakpoints<RemoveKeysWithPrefix<ST, B>, B>
38
+ }
39
+ }
40
+
41
+ const parsedStyles = useMemo(() => typeof stylesheet === 'function'
42
+ ? stylesheet(theme)
43
+ : stylesheet, [theme, stylesheet])
44
+
45
+ const dynamicStyleSheet = useMemo(() => Object
46
+ .entries(parsedStyles)
47
+ .reduce((acc, [key, value]) => {
48
+ const style = value as CustomNamedStyles<ST, B>
49
+
50
+ if (typeof value === 'function') {
51
+ return {
52
+ ...acc,
53
+ [key]: proxifyFunction<B>(value, breakpoint, screenSize, sortedBreakpointEntries)
54
+ }
55
+ }
56
+
57
+ return StyleSheet.create({
58
+ ...acc,
59
+ [key]: parseStyle<ST, B>(style, breakpoint, screenSize, sortedBreakpointEntries)
60
+ })
61
+ }, {} as ST), [breakpoint, screenSize, parsedStyles])
62
+
63
+ return {
64
+ theme,
65
+ breakpoint,
66
+ styles: dynamicStyleSheet as ExtractBreakpoints<RemoveKeysWithPrefix<ST, B>, B>
67
+ }
68
+ }
69
+ }
70
+ }
@@ -1,4 +1 @@
1
- export { useInitialTheme } from './useInitialTheme'
2
- export { useUnistyles } from './useUnistyles'
3
- export { useVariants } from './useVariants'
4
- export { useCSS } from './useCSS'
1
+ export { useDimensions } from './useDimensions'
@@ -0,0 +1,4 @@
1
+ import { useWindowDimensions } from 'react-native'
2
+ import type { ScreenSize } from '../types'
3
+
4
+ export const useDimensions = (): ScreenSize => useWindowDimensions()
@@ -0,0 +1,34 @@
1
+ import { useEffect, useLayoutEffect, useRef, useState } from 'react'
2
+ import type { ScreenSize } from '../types'
3
+
4
+ export const useDimensions = (): ScreenSize => {
5
+ const timerRef = useRef<ReturnType<typeof setTimeout>>()
6
+ const [screenSize, setScreenSize] = useState<ScreenSize>({} as ScreenSize)
7
+
8
+ useLayoutEffect(() => {
9
+ setScreenSize({
10
+ width: window.innerWidth,
11
+ height: window.innerHeight
12
+ })
13
+ }, [])
14
+
15
+ useEffect(() => {
16
+ const handleResize = () => {
17
+ clearTimeout(timerRef.current)
18
+
19
+ timerRef.current = setTimeout(() => setScreenSize({
20
+ width: window.innerWidth,
21
+ height: window.innerHeight
22
+ }), 100)
23
+ }
24
+
25
+ window.addEventListener('resize', handleResize)
26
+
27
+ return () => {
28
+ window.removeEventListener('resize', handleResize)
29
+ clearTimeout(timerRef.current)
30
+ }
31
+ }, [])
32
+
33
+ return screenSize
34
+ }
package/src/index.ts CHANGED
@@ -1,50 +1,2 @@
1
- import { unistyles } from './core'
2
- import { mq } from './utils'
3
- import { useInitialTheme } from './hooks'
4
- import type { UnistylesPlugin } from './types'
5
- import type { UnistylesThemes, UnistylesBreakpoints } from './global'
6
- import { ScreenOrientation, AndroidContentSizeCategory, IOSContentSizeCategory } from './common'
7
- import { useStyles } from './useStyles'
8
- import { createStyleSheet } from './createStyleSheet'
9
-
10
- /**
11
- * Utility to interact with the Unistyles
12
- * (should be called only once)
13
- */
14
- const UnistylesRegistry = {
15
- /**
16
- * Register themes to be used in the app
17
- * @param themes - Key value pair of themes
18
- */
19
- addThemes: unistyles.registry.addThemes,
20
- /**
21
- * Register breakpoints to be used in the app
22
- * @param breakpoints - Key value pair of breakpoints
23
- */
24
- addBreakpoints: unistyles.registry.addBreakpoints,
25
- /**
26
- * Register additional config to customize the Unistyles
27
- * @param config - Key value pair of config
28
- */
29
- addConfig: unistyles.registry.addConfig
30
- }
31
-
32
- const UnistylesRuntime = unistyles.runtime
33
-
34
- export {
35
- mq,
36
- useStyles,
37
- useInitialTheme,
38
- createStyleSheet,
39
- ScreenOrientation,
40
- AndroidContentSizeCategory,
41
- IOSContentSizeCategory,
42
- UnistylesRegistry,
43
- UnistylesRuntime
44
- }
45
-
46
- export type {
47
- UnistylesThemes,
48
- UnistylesBreakpoints,
49
- UnistylesPlugin
50
- }
1
+ export { UnistylesTheme } from './UnistylesTheme'
2
+ export { createUnistyles } from './createUnistyles'
@@ -1,61 +1,36 @@
1
- import type { ColorValue, OpaqueColorValue } from 'react-native'
2
- import type { UnistylesTheme } from '../types'
3
- import type { BreakpointsOrMediaQueries, ToDeepUnistyles } from './stylesheet'
4
- import type { TransformStyles } from './core'
5
-
6
- type ExtractTransformArray<T> = T extends object
7
- ? { [K in keyof T]: ExtractBreakpoints<T[K]> }
8
- : never
9
-
10
- type ExtractBreakpoints<T> = T extends object
11
- ? keyof T extends BreakpointsOrMediaQueries
12
- ? T[keyof T]
13
- : T extends Array<ToDeepUnistyles<TransformStyles>>
14
- ? Array<ExtractTransformArray<T[number]>>
15
- : {
16
- [K in keyof T]: ExtractBreakpoints<T[K]>
17
- }
18
- : T
19
-
20
- type ParseNestedObject<T> = T extends (...args: infer A) => infer R
21
- ? (...args: A) => ParseNestedObject<R>
22
- : T extends object
23
- ? T extends { variants: infer R }
24
- ? ParseVariants<FlattenVariants<R>> & ParseNestedObject<Omit<T, 'variants'>>
25
- : {
26
- [K in keyof T]: T[K] extends object
27
- ? T[K] extends OpaqueColorValue
28
- ? ColorValue
29
- : ExtractBreakpoints<T[K]>
1
+ import type { OpaqueColorValue } from 'react-native'
2
+ import type { MediaQueries } from './mediaQueries'
3
+
4
+ export type Breakpoints = Record<string, number>
5
+ export type SortedBreakpointEntries<B extends Breakpoints> = [[keyof B & string, number]]
6
+
7
+ export type ScreenSize = {
8
+ width: number,
9
+ height: number
10
+ }
11
+
12
+ export type CreateStylesFactory<ST, Theme> = (theme: Theme) => ST
13
+
14
+ type WithEmptyObject<V> = keyof V extends never ? {} : V
15
+
16
+ export type ExtractBreakpoints<T, B extends Breakpoints> = T extends Partial<Record<keyof B & string, infer V>>
17
+ ? WithEmptyObject<V>
18
+ : T extends (...args: infer A) => infer R
19
+ ? (...args: A) => ExtractBreakpoints<R, B>
20
+ : {
21
+ [K in keyof T]: T[K] extends (...args: infer A) => infer R
22
+ ? (...args: A) => ExtractBreakpoints<R, B>
23
+ : T[K] extends object
24
+ ? ExtractBreakpoints<T[K], B>
30
25
  : T[K]
31
- }
32
- : T
26
+ }
33
27
 
34
- type FlattenVariants<T> = T extends object
35
- ? {
36
- [K in keyof T]: T[K] extends object
37
- ? {
38
- [key in keyof T[K]]: T[K][key] extends object
39
- ? ParseNestedObject<T[K][key]>
40
- : never
41
- }
42
- : never
43
- }
44
- : never
45
-
46
- type ParseVariants<T> = T extends object
47
- ? T[keyof T] extends object
48
- ? UnionToIntersection<ParseVariants<T[keyof T]>>
28
+ export type RemoveKeysWithPrefix<T, B extends Breakpoints> = T extends (...args: Array<any>) => infer R
29
+ ? (...args: Parameters<T>) => RemoveKeysWithPrefix<R, B>
30
+ : T extends object
31
+ ? T extends OpaqueColorValue
32
+ ? string
33
+ : T extends Record<string, infer _V>
34
+ ? { [K in keyof T as K extends MediaQueries ? keyof B & string : K]: RemoveKeysWithPrefix<T[K], B> }
35
+ : { [K in keyof T]: RemoveKeysWithPrefix<T[K], B> }
49
36
  : T
50
- : T
51
-
52
- type UnionToIntersection<U> =
53
- (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never
54
-
55
- type ParseStyleKeys<T> = T extends object
56
- ? { [K in keyof T]: ParseNestedObject<T[K]> }
57
- : never
58
-
59
- export type ReactNativeStyleSheet<T> = T extends (theme: UnistylesTheme) => infer R
60
- ? ParseStyleKeys<R>
61
- : ParseStyleKeys<T>
package/src/types/core.ts CHANGED
@@ -14,14 +14,15 @@ import type {
14
14
  TranslateYTransform
15
15
  } from 'react-native/Libraries/StyleSheet/StyleSheetTypes'
16
16
  import type { ImageStyle, TextStyle, ViewStyle } from 'react-native'
17
- import type { UnistylesBreakpoints, UnistylesThemes } from '../global'
17
+ import type { Breakpoints } from './breakpoints'
18
+ import type { MediaQueries } from './mediaQueries'
18
19
 
19
- export type ShadowOffset = {
20
+ type ShadowOffset = {
20
21
  width: number,
21
22
  height: number
22
23
  }
23
24
 
24
- export type TransformStyles =
25
+ type TransformStyles =
25
26
  & PerpectiveTransform
26
27
  & RotateTransform
27
28
  & RotateXTransform
@@ -36,13 +37,37 @@ export type TransformStyles =
36
37
  & SkewYTransform
37
38
  & MatrixTransform
38
39
 
39
- export type ScreenSize = {
40
- width: number,
41
- height: number
40
+ type UnistyleNested<B> = {
41
+ shadowOffset?: DeepUniStyle<ShadowOffset, B>,
42
+ textShadowOffset?: DeepUniStyle<ShadowOffset, B>,
43
+ transform?: Array<DeepUniStyle<TransformStyles, B>>
44
+ }
45
+
46
+ type UniStyle<V, B> = {
47
+ [innerKey in keyof B]?: V
48
+ } | {
49
+ [innerKey in MediaQueries]?: V
50
+ } | V
51
+
52
+ type DeepUniStyle<T, B> = {
53
+ [K in keyof T]?: UniStyle<T[K], B>
42
54
  }
43
55
 
44
- export type RNStyle = ViewStyle & TextStyle & ImageStyle
45
- export type RNValue = ViewStyle[keyof ViewStyle] | TextStyle[keyof TextStyle] | ImageStyle[keyof ImageStyle]
46
- export type NestedStyle = Record<keyof UnistylesBreakpoints | symbol, RNValue>
47
- export type NestedStylePairs = Array<[keyof UnistylesBreakpoints | symbol, RNValue]>
48
- export type UnistylesTheme = UnistylesThemes[keyof UnistylesThemes]
56
+ // these props are treated differently to nest breakpoints and media queries
57
+ type NestedTypes = 'shadowOffset' | 'transform' | 'textShadowOffset'
58
+
59
+ type UnistyleView<B> = DeepUniStyle<Omit<ViewStyle, NestedTypes>, B>
60
+ type UnistyleText<B> = DeepUniStyle<Omit<TextStyle, NestedTypes>, B>
61
+ type UnistyleImage<B> = DeepUniStyle<Omit<ImageStyle, NestedTypes>, B>
62
+
63
+ export type StaticStyles<B extends Breakpoints> =
64
+ | UnistyleView<B>
65
+ | UnistyleText<B>
66
+ | UnistyleImage<B>
67
+ & UnistyleNested<B>
68
+
69
+ export type CustomNamedStyles<T, B extends Breakpoints> = {
70
+ [K in keyof T]: T[K] extends (...args: infer A) => StaticStyles<B>
71
+ ? (...args: A) => StaticStyles<B>
72
+ : StaticStyles<B>
73
+ }
@@ -1,15 +1,10 @@
1
1
  export * from './normalizer'
2
- export * from './unistyles'
3
- export type { Optional, Nullable } from './common'
2
+ export type { CustomNamedStyles } from './core'
4
3
  export type {
5
- NestedStylePairs,
6
- UnistylesTheme,
7
4
  ScreenSize,
8
- NestedStyle,
9
- RNValue,
10
- RNStyle
11
- } from './core'
12
- export type { StyleSheetWithSuperPowers, StyleSheet, AllAvailableKeys } from './stylesheet'
13
- export type { ReactNativeStyleSheet } from './breakpoints'
14
- export type { ExtractVariantNames } from './variants'
15
- export type { UnistylesPlugin } from './plugin'
5
+ Breakpoints,
6
+ CreateStylesFactory,
7
+ ExtractBreakpoints,
8
+ RemoveKeysWithPrefix,
9
+ SortedBreakpointEntries
10
+ } from './breakpoints'
@@ -0,0 +1,10 @@
1
+ type Optional<TOptional extends string> = TOptional | ''
2
+ type Separator = ',' | ', '
3
+ // this is super weird, but number passes empty string and bigint does not
4
+ type MediaQuery = `[${Separator}${bigint}]` | `[${bigint}${Optional<`${Separator}${bigint}`>}]`
5
+ type WidthMediaQuery = `:w${MediaQuery}`
6
+ type HeightMediaQuery = `:h${MediaQuery}`
7
+
8
+ export type MediaQueries =
9
+ | `${WidthMediaQuery}${Optional<HeightMediaQuery>}`
10
+ | `${HeightMediaQuery}${Optional<WidthMediaQuery>}`