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
package/src/common.ts DELETED
@@ -1,55 +0,0 @@
1
- import { Platform } from 'react-native'
2
-
3
- export const warn = (message: string) => {
4
- console.warn(`🦄 [react-native-unistyles]: ${message}`)
5
- }
6
-
7
- export const isWeb = Platform.OS === 'web'
8
- export const isIOS = Platform.OS === 'ios'
9
- export const isAndroid = Platform.OS === 'android'
10
- export const isMobile = isIOS || isAndroid
11
- export const isServer = typeof window === 'undefined'
12
-
13
- export const ScreenOrientation = {
14
- Landscape: 'landscape',
15
- Portrait: 'portrait'
16
- } as const
17
-
18
- export enum IOSContentSizeCategory {
19
- ExtraExtraExtraLarge = 'xxxLarge',
20
- ExtraExtraLarge = 'xxLarge',
21
- ExtraLarge = 'xLarge',
22
- Large = 'Large',
23
- Medium = 'Medium',
24
- Small = 'Small',
25
- ExtraSmall = 'xSmall',
26
- Unspecified = 'unspecified'
27
- }
28
-
29
- export enum AndroidContentSizeCategory {
30
- Small = 'Small',
31
- Default = 'Default',
32
- Large = 'Large',
33
- ExtraLarge = 'ExtraLarge',
34
- Huge = 'Huge'
35
- }
36
-
37
- export enum UnistylesEventType {
38
- Theme = 'theme',
39
- Layout = 'layout',
40
- Plugin = 'plugin',
41
- DynamicTypeSize = 'dynamicTypeSize'
42
- }
43
-
44
- export enum UnistylesError {
45
- RuntimeUnavailable = 'Unistyles runtime is not available. Make sure you followed the installation instructions',
46
- ThemeNotFound = 'You are trying to get a theme that is not registered with UnistylesRegistry',
47
- ThemeNotRegistered = 'You are trying to set a theme that was not registered with UnistylesRegistry',
48
- ThemeNotSelected = 'Your themes are registered, but you didn\'t select the initial theme',
49
- ThemesCannotBeEmpty = 'You are trying to register empty themes object',
50
- BreakpointsCannotBeEmpty = 'You are trying to register empty breakpoints object',
51
- BreakpointsMustStartFromZero = 'You are trying to register breakpoints that don\'t start from 0',
52
- InvalidPluginName = 'Plugin name can\'t start from reserved prefix __unistyles',
53
- DuplicatePluginName = 'You are trying to register a plugin with a name that is already registered',
54
- CantRemoveInternalPlugin = 'You are trying to remove an internal unistyles plugin'
55
- }
@@ -1,108 +0,0 @@
1
- import type { UnistylesBridge, UnistylesConfig, UnistylesPlugin } from '../types'
2
- import type { UnistylesBreakpoints, UnistylesThemes } from '../global'
3
- import { isWeb, UnistylesError } from '../common'
4
- import { cssMediaQueriesPlugin, normalizeWebStylesPlugin } from '../plugins'
5
-
6
- export class UnistyleRegistry {
7
- public config: UnistylesConfig = {}
8
- public plugins: Array<UnistylesPlugin> = isWeb
9
- ? [normalizeWebStylesPlugin]
10
- : []
11
- public themeNames: Array<keyof UnistylesThemes> = []
12
- public themes: UnistylesThemes = {} as UnistylesThemes
13
- public breakpoints: UnistylesBreakpoints = {} as UnistylesBreakpoints
14
- public sortedBreakpointPairs: Array<[keyof UnistylesBreakpoints, UnistylesBreakpoints[keyof UnistylesBreakpoints]]> = []
15
-
16
- constructor(private unistylesBridge: UnistylesBridge) {}
17
-
18
- public addThemes = (themes: UnistylesThemes) => {
19
- this.themes = themes
20
-
21
- const keys = Object.keys(themes) as Array<keyof UnistylesThemes>
22
-
23
- this.unistylesBridge.themes = keys
24
- this.themeNames = keys
25
-
26
- return {
27
- addBreakpoints: this.addBreakpoints,
28
- addConfig: this.addConfig
29
- }
30
- }
31
-
32
- public addBreakpoints = (breakpoints: UnistylesBreakpoints) => {
33
- this.breakpoints = breakpoints
34
- this.unistylesBridge.useBreakpoints(breakpoints)
35
- this.sortedBreakpointPairs = this.unistylesBridge.sortedBreakpointPairs
36
-
37
- return {
38
- addThemes: this.addThemes,
39
- addConfig: this.addConfig
40
- }
41
- }
42
-
43
- public addConfig = (config: UnistylesConfig) => {
44
- this.config = config
45
-
46
- if (config.adaptiveThemes) {
47
- this.unistylesBridge.useAdaptiveThemes(config.adaptiveThemes)
48
- }
49
-
50
- if (config.plugins) {
51
- config.plugins.forEach(plugin => this.addPlugin(plugin, false))
52
- }
53
-
54
- if (config.initialTheme) {
55
- this.unistylesBridge.useTheme(config.initialTheme)
56
- }
57
-
58
- if (config.experimentalCSSMediaQueries) {
59
- this.plugins = [cssMediaQueriesPlugin].concat(this.plugins)
60
- this.unistylesBridge.addPlugin(cssMediaQueriesPlugin.name, false)
61
- }
62
-
63
- return {
64
- addBreakpoints: this.addBreakpoints,
65
- addThemes: this.addThemes
66
- }
67
- }
68
-
69
- public getTheme = (forName: keyof UnistylesThemes) => {
70
- if (this.themeNames.length === 0) {
71
- return {} as UnistylesThemes[keyof UnistylesThemes]
72
- }
73
-
74
- if (this.hasTheme(forName)) {
75
- return this.themes[forName]
76
- }
77
-
78
- if (this.unistylesBridge.themeName) {
79
- throw new Error(UnistylesError.ThemeNotFound)
80
- }
81
-
82
- throw new Error(UnistylesError.ThemeNotSelected)
83
- }
84
-
85
- public addPlugin = (plugin: UnistylesPlugin, notify: boolean = true) => {
86
- if (plugin.name.startsWith('__unistyles')) {
87
- throw new Error(UnistylesError.InvalidPluginName)
88
- }
89
-
90
- if (this.plugins.some(({ name }) => name === plugin.name)) {
91
- throw new Error(UnistylesError.DuplicatePluginName)
92
- }
93
-
94
- this.plugins = [plugin].concat(this.plugins)
95
- this.unistylesBridge.addPlugin(plugin.name, notify)
96
- }
97
-
98
- public removePlugin = (plugin: UnistylesPlugin) => {
99
- if (plugin.name.startsWith('__unistyles')) {
100
- throw new Error(UnistylesError.CantRemoveInternalPlugin)
101
- }
102
-
103
- this.plugins = this.plugins.filter(({ name }) => name !== plugin.name)
104
- this.unistylesBridge.removePlugin(plugin.name)
105
- }
106
-
107
- public hasTheme = (name: keyof UnistylesThemes) => name in this.themes
108
- }
@@ -1,35 +0,0 @@
1
- import { UnistylesModule } from './UnistylesModule'
2
- import { UnistylesRuntime } from './UnistylesRuntime'
3
- import { UnistyleRegistry } from './UnistyleRegistry'
4
- import type { UnistylesBridge } from '../types'
5
- import { UnistylesError, isWeb } from '../common'
6
-
7
- class Unistyles {
8
- private _runtime: UnistylesRuntime
9
- private _registry: UnistyleRegistry
10
- private _bridge: UnistylesBridge
11
-
12
- constructor() {
13
- const isInstalled = UnistylesModule?.install() ?? false
14
-
15
- if (!isInstalled) {
16
- throw new Error(UnistylesError.RuntimeUnavailable)
17
- }
18
-
19
- // @ts-ignore
20
- // eslint-disable-next-line no-undef
21
- this._bridge = (isWeb ? globalThis : global).__UNISTYLES__ as UnistylesBridge
22
- this._registry = new UnistyleRegistry(this._bridge)
23
- this._runtime = new UnistylesRuntime(this._bridge, this._registry)
24
- }
25
-
26
- public get registry() {
27
- return this._registry
28
- }
29
-
30
- public get runtime() {
31
- return this._runtime
32
- }
33
- }
34
-
35
- export const unistyles = new Unistyles()
@@ -1,7 +0,0 @@
1
- import { NativeModules } from 'react-native'
2
-
3
- type UnistylesNativeModule = {
4
- install(): boolean
5
- }
6
-
7
- export const UnistylesModule = NativeModules?.Unistyles as UnistylesNativeModule
@@ -1,230 +0,0 @@
1
- import { NativeEventEmitter, NativeModules } from 'react-native'
2
- import type { UnistylesThemes, UnistylesBreakpoints } from 'react-native-unistyles'
3
- import type { ColorSchemeName } from '../types'
4
- import { normalizeWebStylesPlugin } from '../plugins'
5
- import { isServer } from '../common'
6
-
7
- export class UnistylesBridgeWeb {
8
- #timerRef?: ReturnType<typeof setTimeout> = undefined
9
- #hasAdaptiveThemes: boolean = false
10
- #supportsAutomaticColorScheme = false
11
- #screenWidth = isServer ? undefined : window.innerWidth
12
- #screenHeight = isServer ? undefined : window.innerHeight
13
- #themes: Array<keyof UnistylesThemes> = []
14
- #breakpoints: UnistylesBreakpoints = {} as UnistylesBreakpoints
15
- #colorScheme: ColorSchemeName = this.getPreferredColorScheme()
16
- #themeName: keyof UnistylesThemes = '' as keyof UnistylesThemes
17
- #enabledPlugins: Array<string> = [normalizeWebStylesPlugin.name]
18
- #unistylesEvents = new NativeEventEmitter(NativeModules.Unistyles)
19
- #sortedBreakpointPairs: Array<[keyof UnistylesBreakpoints, number]> = []
20
- #breakpoint: keyof UnistylesBreakpoints = '' as keyof UnistylesBreakpoints
21
- #contentSizeCategory: string = 'unspecified'
22
-
23
- constructor() {
24
- if (!isServer) {
25
- this.setupListeners()
26
- this.#screenWidth = window.innerWidth
27
- this.#screenHeight = window.innerHeight
28
- }
29
- }
30
-
31
- public install() {
32
- // @ts-ignore
33
- // eslint-disable-next-line no-undef
34
- globalThis.__UNISTYLES__ = new Proxy({}, {
35
- get: (_target, prop) => {
36
- switch (prop) {
37
- case 'themeName':
38
- return this.getTheme()
39
- case 'screenWidth':
40
- return this.#screenWidth
41
- case 'screenHeight':
42
- return this.#screenHeight
43
- case 'contentSizeCategory':
44
- return this.#contentSizeCategory
45
- case 'breakpoint':
46
- return this.#breakpoint || undefined
47
- case 'breakpoints':
48
- return this.#breakpoints
49
- case 'hasAdaptiveThemes':
50
- return this.#hasAdaptiveThemes
51
- case 'sortedBreakpointPairs':
52
- return this.#sortedBreakpointPairs
53
- case 'enabledPlugins':
54
- return this.#enabledPlugins
55
- case 'colorScheme':
56
- return this.#colorScheme
57
- case 'useTheme':
58
- return (themeName: keyof UnistylesThemes) => this.useTheme(themeName)
59
- case 'useBreakpoints':
60
- return (breakpoints: UnistylesBreakpoints) => this.useBreakpoints(breakpoints)
61
- case 'useAdaptiveThemes':
62
- return (enable: boolean) => this.useAdaptiveThemes(enable)
63
- case 'addPlugin':
64
- return (pluginName: string, notify: boolean) => this.addPlugin(pluginName, notify)
65
- case 'removePlugin':
66
- return (pluginName: string) => this.removePlugin(pluginName)
67
- default:
68
- return Reflect.get(this, prop)
69
- }
70
- },
71
- set: (target, prop, newValue, receiver) => {
72
- switch (prop) {
73
- case 'themes': {
74
- this.#themes = newValue
75
- this.#supportsAutomaticColorScheme = newValue.includes('light') && newValue.includes('dark')
76
-
77
- return true
78
- }
79
- case 'themeName': {
80
- this.#themeName = newValue as keyof UnistylesThemes
81
- this.emitThemeChange()
82
-
83
- return true
84
- }
85
- default:
86
- return Reflect.set(target, prop, newValue, receiver)
87
- }
88
- }
89
- })
90
-
91
- return true
92
- }
93
-
94
- private useTheme(themeName: keyof UnistylesThemes) {
95
- this.#themeName = themeName
96
- this.emitThemeChange()
97
- }
98
-
99
- private useBreakpoints(breakpoints: UnistylesBreakpoints) {
100
- this.#breakpoints = breakpoints
101
- this.#sortedBreakpointPairs = Object
102
- .entries(breakpoints)
103
- .sort(([, a], [, b]) => (a ?? 0) - (b ?? 0)) as Array<[keyof UnistylesBreakpoints, number]>
104
-
105
- if (!isServer) {
106
- this.#breakpoint = this.getBreakpointFromScreenWidth(this.#screenWidth as number)
107
- }
108
- }
109
-
110
- private useAdaptiveThemes(enable: boolean) {
111
- this.#hasAdaptiveThemes = enable
112
-
113
- if (!this.#hasAdaptiveThemes || !this.#supportsAutomaticColorScheme) {
114
- return
115
- }
116
-
117
- if (this.#themeName !== this.#colorScheme) {
118
- this.#themeName = this.#colorScheme as keyof UnistylesThemes
119
- this.emitThemeChange()
120
- }
121
- }
122
-
123
- private addPlugin(pluginName: string, notify: boolean) {
124
- this.#enabledPlugins = [pluginName].concat(this.#enabledPlugins)
125
-
126
- if (notify) {
127
- this.emitPluginChange()
128
- }
129
- }
130
-
131
- private removePlugin(pluginName: string) {
132
- this.#enabledPlugins = this.#enabledPlugins.filter(name => name !== pluginName)
133
- this.emitPluginChange()
134
- }
135
-
136
- private getTheme(): keyof UnistylesThemes {
137
-
138
- if (this.#themes.length === 1) {
139
- return this.#themes.at(0) as keyof UnistylesThemes
140
- }
141
-
142
- return this.#themeName
143
- }
144
-
145
- private setupListeners() {
146
- window.addEventListener('resize', () => {
147
- clearTimeout(this.#timerRef)
148
-
149
- this.#timerRef = setTimeout(() => {
150
- this.#screenWidth = window.innerWidth
151
- this.#screenHeight = window.innerHeight
152
- this.#breakpoint = this.getBreakpointFromScreenWidth(this.#screenWidth)
153
-
154
- this.emitLayoutChange()
155
- }, 100)
156
- })
157
-
158
- window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
159
- this.#colorScheme = event.matches
160
- ? 'dark'
161
- : 'light'
162
-
163
- if (!this.#supportsAutomaticColorScheme || !this.#hasAdaptiveThemes) {
164
- return
165
- }
166
-
167
- if (this.#colorScheme !== this.#themeName) {
168
- this.#themeName = this.#colorScheme as keyof UnistylesThemes
169
- this.emitThemeChange()
170
- }
171
- })
172
- }
173
-
174
- private getBreakpointFromScreenWidth(width: number): keyof UnistylesBreakpoints {
175
- const breakpoint = this.#sortedBreakpointPairs
176
- .find(([, value], index, otherBreakpoints) => {
177
- const minVal = value
178
- const maxVal = otherBreakpoints[index + 1]?.[1]
179
-
180
- if (!maxVal) {
181
- return true
182
- }
183
-
184
- return width >= minVal && width < maxVal
185
- })
186
-
187
- return breakpoint?.at(0) as keyof UnistylesBreakpoints
188
- }
189
-
190
- private getPreferredColorScheme() {
191
- if (!isServer && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
192
- return 'dark'
193
- }
194
-
195
- return 'light'
196
- }
197
-
198
- private emitPluginChange() {
199
- this.#unistylesEvents.emit('__unistylesOnChange', {
200
- type: 'plugin'
201
- })
202
- }
203
-
204
- private emitThemeChange() {
205
- this.#unistylesEvents.emit('__unistylesOnChange', {
206
- type: 'theme',
207
- payload: {
208
- themeName: this.#themeName
209
- }
210
- })
211
- }
212
-
213
- private emitLayoutChange() {
214
- this.#unistylesEvents.emit('__unistylesOnChange', {
215
- type: 'layout',
216
- payload: {
217
- breakpoint: this.#breakpoint,
218
- orientation: (this.#screenWidth as number) > (this.#screenHeight as number)
219
- ? 'landscape'
220
- : 'portrait',
221
- screen: {
222
- width: this.#screenWidth,
223
- height: this.#screenHeight
224
- }
225
- }
226
- })
227
- }
228
- }
229
-
230
- export const UnistylesModule = new UnistylesBridgeWeb()
@@ -1,135 +0,0 @@
1
- import { ScreenOrientation, UnistylesError } from '../common'
2
- import type { UnistylesBridge, UnistylesPlugin } from '../types'
3
- import type { UnistylesThemes } from '../global'
4
- import type { UnistyleRegistry } from './UnistyleRegistry'
5
-
6
- /**
7
- * Utility to interact with the Unistyles during runtime
8
- */
9
- export class UnistylesRuntime {
10
- constructor(private unistylesBridge: UnistylesBridge, private unistylesRegistry: UnistyleRegistry) {}
11
-
12
- /**
13
- * Get the current color scheme
14
- * @returns - The current color scheme
15
- */
16
- public get colorScheme() {
17
- return this.unistylesBridge.colorScheme
18
- }
19
-
20
- /**
21
- * Get info about adaptive themes
22
- * @returns - boolean indicating if the adaptive themes are enabled
23
- */
24
- public get hasAdaptiveThemes() {
25
- return this.unistylesBridge.hasAdaptiveThemes
26
- }
27
-
28
- /**
29
- * Get the current theme name
30
- * @returns - The current theme name
31
- */
32
- public get themeName() {
33
- return this.unistylesBridge.themeName
34
- }
35
-
36
- /**
37
- * Get the current content size category
38
- * @returns - The current content size category
39
- */
40
- public get contentSizeCategory() {
41
- return this.unistylesBridge.contentSizeCategory
42
- }
43
-
44
- /**
45
- * Get the current breakpoint based on device size
46
- * @returns - The current breakpoint
47
- */
48
- public get breakpoint() {
49
- return this.unistylesBridge.breakpoint
50
- }
51
-
52
- /**
53
- * Get registered breakpoints with UnitylesRegistry
54
- * @returns - The registered breakpoints
55
- */
56
- public get breakpoints() {
57
- return this.unistylesRegistry.breakpoints
58
- }
59
-
60
- /**
61
- * Get the names of currently enabled plugins
62
- * @returns - The names of currently enabled plugins
63
- */
64
- public get enabledPlugins() {
65
- return this.unistylesBridge.enabledPlugins
66
- }
67
-
68
- /**
69
- * Get the screen size
70
- * @returns - The screen size { width, height }
71
- */
72
- public get screen() {
73
- return {
74
- width: this.unistylesBridge.screenWidth,
75
- height: this.unistylesBridge.screenHeight
76
- }
77
- }
78
-
79
- /**
80
- * Get the screen orientation
81
- * @returns - The screen orientation
82
- */
83
- public get orientation() {
84
- const { width, height } = this.screen
85
-
86
- if (width > height) {
87
- return ScreenOrientation.Landscape
88
- }
89
-
90
- return ScreenOrientation.Portrait
91
- }
92
-
93
- /**
94
- * Switch to a different theme
95
- * @param name - The name of the theme to switch to
96
- * @returns - boolean indicating if the theme was switched
97
- */
98
- public setTheme = (name: keyof UnistylesThemes) => {
99
- if (name === this.themeName) {
100
- return
101
- }
102
-
103
- if (this.unistylesRegistry.hasTheme(name)) {
104
- this.unistylesBridge.useTheme(name)
105
-
106
- return true
107
- }
108
-
109
- throw new Error(UnistylesError.ThemeNotRegistered)
110
- }
111
-
112
- /**
113
- * Enable or disable adaptive themes
114
- * @param enable - boolean indicating if adaptive themes should be enabled
115
- */
116
- public setAdaptiveThemes = (enable: boolean) => {
117
- this.unistylesBridge.useAdaptiveThemes(enable)
118
- }
119
-
120
- /**
121
- * Enable a plugin
122
- * @param plugin - Plugin that conforms to UnistylesPlugin interface
123
- */
124
- public addPlugin = (plugin: UnistylesPlugin) => {
125
- this.unistylesRegistry.addPlugin(plugin)
126
- }
127
-
128
- /**
129
- * Disable a plugin
130
- * @param plugin - Plugin that conforms to UnistylesPlugin interface
131
- */
132
- public removePlugin = (plugin: UnistylesPlugin) => {
133
- this.unistylesRegistry.removePlugin(plugin)
134
- }
135
- }
package/src/core/index.ts DELETED
@@ -1,2 +0,0 @@
1
- export { unistyles } from './Unistyles'
2
- export type { UnistylesRuntime } from './UnistylesRuntime'
@@ -1,8 +0,0 @@
1
- import type { StyleSheetWithSuperPowers } from './types'
2
-
3
- /**
4
- * Utility to create a stylesheet with superpowers
5
- * Compatible with React Native StyleSheet.create
6
- * @param stylesheet - The stylesheet with superpowers to be used
7
- */
8
- export const createStyleSheet = <S extends StyleSheetWithSuperPowers>(stylesheet: S): S => stylesheet
package/src/global.ts DELETED
@@ -1,6 +0,0 @@
1
- export interface UnistylesThemes {}
2
- export interface UnistylesBreakpoints {
3
- // these breakpoints are only available on mobile, when you didn't specify any breakpoints
4
- landscape?: number,
5
- portrait?: number,
6
- }
@@ -1,3 +0,0 @@
1
- import type { ReactNativeStyleSheet } from '../types'
2
-
3
- export const useCSS = <T>(_stylesheet: ReactNativeStyleSheet<T>): void => {}
@@ -1,51 +0,0 @@
1
- import { useInsertionEffect, useRef } from 'react'
2
- import { unistyles } from '../core'
3
- import type { ReactNativeStyleSheet } from '../types'
4
- import { generateReactNativeWebId } from '../utils'
5
-
6
- export const useCSS = <T>(stylesheet: ReactNativeStyleSheet<T>) => {
7
- const insertedIds = useRef<Array<string>>([])
8
-
9
- useInsertionEffect(() => {
10
- if (!unistyles.registry.config.experimentalCSSMediaQueries) {
11
- return
12
- }
13
-
14
- Object
15
- .entries(stylesheet)
16
- .forEach(([_key, value]) => {
17
- Object.entries(value!)
18
- .forEach(([prop, val]) => {
19
- if (!val.toString().includes('@media')) {
20
- return
21
- }
22
-
23
- const id = generateReactNativeWebId(prop, '""')
24
-
25
- if (insertedIds.current.includes(id)) {
26
- return
27
- }
28
-
29
- const style = document.createElement('style')
30
-
31
- style.id = id
32
- style.innerHTML = val
33
-
34
- document.head.appendChild(style)
35
- insertedIds.current = [...insertedIds.current, id]
36
- })
37
- })
38
-
39
- return () => {
40
- insertedIds.current.forEach(id => {
41
- const style = document.getElementById(id)
42
-
43
- if (style) {
44
- style.remove()
45
- }
46
- })
47
-
48
- insertedIds.current = []
49
- }
50
- }, [stylesheet])
51
- }
@@ -1,11 +0,0 @@
1
- import { useMemo } from 'react'
2
- import { unistyles } from '../core'
3
- import type { UnistylesThemes } from '../global'
4
-
5
- export const useInitialTheme = (forName: keyof UnistylesThemes) => {
6
- useMemo(() => {
7
- if (!unistyles.runtime.themeName) {
8
- unistyles.runtime.setTheme(forName)
9
- }
10
- }, [])
11
- }