react-native-unistyles 3.0.0-beta.4 → 3.0.0-beta.6

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 (543) hide show
  1. package/README.md +18 -3
  2. package/android/src/main/cxx/NativeUnistylesModule.cpp +2 -2
  3. package/android/src/main/cxx/NativeUnistylesModule.h +1 -1
  4. package/android/src/main/java/com/unistyles/NativePlatform+android.kt +1 -2
  5. package/android/src/main/java/com/unistyles/NativePlatform+insets.kt +4 -0
  6. package/android/src/main/java/com/unistyles/NativePlatform+listener.kt +2 -1
  7. package/android/src/main/java/com/unistyles/UnistylesModule.kt +0 -4
  8. package/android/src/main/java/com/unistyles/UnistylesPackage.kt +6 -6
  9. package/components/native/ActivityIndicator/package.json +2 -1
  10. package/components/native/Animated/package.json +5 -0
  11. package/components/native/FlatList/package.json +2 -1
  12. package/components/native/Image/package.json +2 -1
  13. package/components/native/ImageBackground/package.json +2 -1
  14. package/components/native/KeyboardAvoidingView/package.json +2 -1
  15. package/components/native/NativeText/package.json +5 -0
  16. package/components/native/NativeView/package.json +5 -0
  17. package/components/native/Pressable/package.json +1 -1
  18. package/components/native/RefreshControl/package.json +2 -1
  19. package/components/native/ScrollView/package.json +2 -1
  20. package/components/native/SectionList/package.json +2 -1
  21. package/components/native/Switch/package.json +2 -1
  22. package/components/native/Text/package.json +2 -1
  23. package/components/native/TextInput/package.json +2 -1
  24. package/components/native/TouchableHighlight/package.json +2 -1
  25. package/components/native/TouchableOpacity/package.json +2 -1
  26. package/components/native/View/package.json +2 -1
  27. package/components/native/VirtualizedList/package.json +2 -1
  28. package/cxx/common/Constants.h +4 -4
  29. package/cxx/common/Helpers.h +1 -1
  30. package/cxx/core/HashGenerator.cpp +23 -0
  31. package/cxx/core/HashGenerator.h +13 -0
  32. package/cxx/core/HostUnistyle.cpp +83 -0
  33. package/cxx/core/HostUnistyle.h +27 -0
  34. package/cxx/core/RNStyle.h +18 -0
  35. package/cxx/core/Unistyle.h +13 -4
  36. package/cxx/core/UnistyleWrapper.h +92 -47
  37. package/cxx/core/UnistylesRegistry.cpp +40 -11
  38. package/cxx/core/UnistylesRegistry.h +5 -4
  39. package/cxx/hybridObjects/HybridNavigationBar.cpp +3 -3
  40. package/cxx/hybridObjects/HybridNavigationBar.h +2 -2
  41. package/cxx/hybridObjects/HybridShadowRegistry.cpp +39 -45
  42. package/cxx/hybridObjects/HybridShadowRegistry.h +0 -10
  43. package/cxx/hybridObjects/HybridStatusBar.cpp +3 -3
  44. package/cxx/hybridObjects/HybridStatusBar.h +2 -2
  45. package/cxx/hybridObjects/HybridStyleSheet.cpp +52 -10
  46. package/cxx/hybridObjects/HybridStyleSheet.h +2 -1
  47. package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +15 -15
  48. package/cxx/hybridObjects/HybridUnistylesRuntime.h +2 -2
  49. package/cxx/parser/Parser.cpp +26 -27
  50. package/cxx/parser/Parser.h +2 -1
  51. package/ios/NativePlatform+ios.swift +21 -11
  52. package/ios/NativePlatform.swift +2 -2
  53. package/ios/UnistylesModuleOnLoad.h +4 -4
  54. package/ios/UnistylesModuleOnLoad.mm +5 -8
  55. package/lib/commonjs/components/ScopedTheme.js.map +1 -1
  56. package/lib/commonjs/components/index.js +0 -7
  57. package/lib/commonjs/components/index.js.map +1 -1
  58. package/lib/commonjs/components/native/Animated.js +23 -0
  59. package/lib/commonjs/components/native/Animated.js.map +1 -0
  60. package/lib/commonjs/components/native/ImageBackground.js +47 -1
  61. package/lib/commonjs/components/native/ImageBackground.js.map +1 -1
  62. package/lib/commonjs/components/native/ImageBackground.native.js +10 -0
  63. package/lib/commonjs/components/native/ImageBackground.native.js.map +1 -0
  64. package/lib/commonjs/components/native/NativeText.js +13 -0
  65. package/lib/commonjs/components/native/NativeText.js.map +1 -0
  66. package/lib/commonjs/components/native/NativeText.native.js +18 -0
  67. package/lib/commonjs/components/native/NativeText.native.js.map +1 -0
  68. package/lib/commonjs/components/native/NativeView.js +9 -0
  69. package/lib/commonjs/components/native/NativeView.js.map +1 -0
  70. package/lib/commonjs/components/native/NativeView.native.js +20 -0
  71. package/lib/commonjs/components/native/NativeView.native.js.map +1 -0
  72. package/lib/commonjs/components/native/Pressable.js +26 -51
  73. package/lib/commonjs/components/native/Pressable.js.map +1 -1
  74. package/lib/commonjs/components/native/Pressable.native.js +25 -9
  75. package/lib/commonjs/components/native/Pressable.native.js.map +1 -1
  76. package/lib/commonjs/core/createUnistylesElement.js +33 -5
  77. package/lib/commonjs/core/createUnistylesElement.js.map +1 -1
  78. package/lib/commonjs/core/createUnistylesElement.native.js +54 -0
  79. package/lib/commonjs/core/createUnistylesElement.native.js.map +1 -0
  80. package/lib/commonjs/core/createUnistylesImageBackground.js +41 -15
  81. package/lib/commonjs/core/createUnistylesImageBackground.js.map +1 -1
  82. package/lib/commonjs/core/getClassname.js +23 -0
  83. package/lib/commonjs/core/getClassname.js.map +1 -0
  84. package/lib/commonjs/core/getClassname.native.js +9 -0
  85. package/lib/commonjs/core/getClassname.native.js.map +1 -0
  86. package/lib/commonjs/core/index.js +14 -7
  87. package/lib/commonjs/core/index.js.map +1 -1
  88. package/lib/commonjs/core/passForwardRef.js +2 -2
  89. package/lib/commonjs/core/passForwardRef.js.map +1 -1
  90. package/lib/commonjs/core/useProxifiedUnistyles/index.js +13 -0
  91. package/lib/commonjs/core/useProxifiedUnistyles/index.js.map +1 -0
  92. package/lib/commonjs/core/useProxifiedUnistyles/listener.js +22 -0
  93. package/lib/commonjs/core/useProxifiedUnistyles/listener.js.map +1 -0
  94. package/lib/commonjs/core/useProxifiedUnistyles/listener.native.js +26 -0
  95. package/lib/commonjs/core/useProxifiedUnistyles/listener.native.js.map +1 -0
  96. package/lib/commonjs/core/useProxifiedUnistyles/types.js +6 -0
  97. package/lib/commonjs/core/useProxifiedUnistyles/types.js.map +1 -0
  98. package/lib/commonjs/core/{withUnistyles/useDependencies.js → useProxifiedUnistyles/useProxifiedUnistyles.js} +22 -22
  99. package/lib/commonjs/core/useProxifiedUnistyles/useProxifiedUnistyles.js.map +1 -0
  100. package/lib/commonjs/core/useUnistyles.js +19 -0
  101. package/lib/commonjs/core/useUnistyles.js.map +1 -0
  102. package/lib/commonjs/core/warn.js +16 -0
  103. package/lib/commonjs/core/warn.js.map +1 -0
  104. package/lib/commonjs/core/withUnistyles/withUnistyles.js +19 -55
  105. package/lib/commonjs/core/withUnistyles/withUnistyles.js.map +1 -1
  106. package/lib/commonjs/core/withUnistyles/withUnistyles.native.js +32 -65
  107. package/lib/commonjs/core/withUnistyles/withUnistyles.native.js.map +1 -1
  108. package/lib/commonjs/index.js +23 -4
  109. package/lib/commonjs/index.js.map +1 -1
  110. package/lib/commonjs/server/getServerUnistyles.js +40 -0
  111. package/lib/commonjs/server/getServerUnistyles.js.map +1 -0
  112. package/lib/commonjs/server/hydrateServerUnistyles.js +17 -0
  113. package/lib/commonjs/server/hydrateServerUnistyles.js.map +1 -0
  114. package/lib/commonjs/server/index.js +34 -0
  115. package/lib/commonjs/server/index.js.map +1 -0
  116. package/lib/commonjs/server/resetServerUnistyles.js +16 -0
  117. package/lib/commonjs/server/resetServerUnistyles.js.map +1 -0
  118. package/lib/commonjs/server/types.js +8 -0
  119. package/lib/commonjs/server/types.js.map +1 -0
  120. package/lib/commonjs/server/useServerUnistyles.js +27 -0
  121. package/lib/commonjs/server/useServerUnistyles.js.map +1 -0
  122. package/lib/commonjs/specs/ShadowRegistry/index.js +6 -3
  123. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
  124. package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
  125. package/lib/commonjs/utils.js +19 -2
  126. package/lib/commonjs/utils.js.map +1 -1
  127. package/lib/commonjs/web/convert/object/filter.js +2 -2
  128. package/lib/commonjs/web/convert/object/filter.js.map +1 -1
  129. package/lib/commonjs/web/convert/style.js +4 -4
  130. package/lib/commonjs/web/convert/style.js.map +1 -1
  131. package/lib/commonjs/web/create.js +20 -15
  132. package/lib/commonjs/web/create.js.map +1 -1
  133. package/lib/commonjs/web/css/core.js +55 -0
  134. package/lib/commonjs/web/css/core.js.map +1 -0
  135. package/lib/commonjs/web/css/index.js +17 -0
  136. package/lib/commonjs/web/css/index.js.map +1 -0
  137. package/lib/commonjs/web/css/state.js +155 -0
  138. package/lib/commonjs/web/css/state.js.map +1 -0
  139. package/lib/commonjs/web/css/utils.js +47 -0
  140. package/lib/commonjs/web/css/utils.js.map +1 -0
  141. package/lib/commonjs/web/index.js +14 -18
  142. package/lib/commonjs/web/index.js.map +1 -1
  143. package/lib/commonjs/web/listener.js +9 -7
  144. package/lib/commonjs/web/listener.js.map +1 -1
  145. package/lib/commonjs/web/registry.js +44 -123
  146. package/lib/commonjs/web/registry.js.map +1 -1
  147. package/lib/commonjs/web/runtime.js +28 -21
  148. package/lib/commonjs/web/runtime.js.map +1 -1
  149. package/lib/commonjs/web/services.js +28 -0
  150. package/lib/commonjs/web/services.js.map +1 -0
  151. package/lib/commonjs/web/shadowRegistry.js +46 -93
  152. package/lib/commonjs/web/shadowRegistry.js.map +1 -1
  153. package/lib/commonjs/web/state.js +39 -9
  154. package/lib/commonjs/web/state.js.map +1 -1
  155. package/lib/commonjs/web/types.js +6 -0
  156. package/lib/commonjs/web/types.js.map +1 -0
  157. package/lib/commonjs/web/utils/common.js +29 -9
  158. package/lib/commonjs/web/utils/common.js.map +1 -1
  159. package/lib/commonjs/web/utils/unistyle.js +32 -19
  160. package/lib/commonjs/web/utils/unistyle.js.map +1 -1
  161. package/lib/commonjs/web/variants.js +25 -27
  162. package/lib/commonjs/web/variants.js.map +1 -1
  163. package/lib/module/components/ScopedTheme.js.map +1 -1
  164. package/lib/module/components/index.js +0 -1
  165. package/lib/module/components/index.js.map +1 -1
  166. package/lib/module/components/native/Animated.js +19 -0
  167. package/lib/module/components/native/Animated.js.map +1 -0
  168. package/lib/module/components/native/ImageBackground.js +47 -2
  169. package/lib/module/components/native/ImageBackground.js.map +1 -1
  170. package/lib/module/components/native/ImageBackground.native.js +6 -0
  171. package/lib/module/components/native/ImageBackground.native.js.map +1 -0
  172. package/lib/module/components/native/NativeText.js +4 -0
  173. package/lib/module/components/native/NativeText.js.map +1 -0
  174. package/lib/module/components/native/NativeText.native.js +15 -0
  175. package/lib/module/components/native/NativeText.native.js.map +1 -0
  176. package/lib/module/components/native/NativeView.js +5 -0
  177. package/lib/module/components/native/NativeView.js.map +1 -0
  178. package/lib/module/components/native/NativeView.native.js +17 -0
  179. package/lib/module/components/native/NativeView.native.js.map +1 -0
  180. package/lib/module/components/native/Pressable.js +27 -52
  181. package/lib/module/components/native/Pressable.js.map +1 -1
  182. package/lib/module/components/native/Pressable.native.js +26 -10
  183. package/lib/module/components/native/Pressable.native.js.map +1 -1
  184. package/lib/module/core/createUnistylesElement.js +33 -5
  185. package/lib/module/core/createUnistylesElement.js.map +1 -1
  186. package/lib/module/core/createUnistylesElement.native.js +47 -0
  187. package/lib/module/core/createUnistylesElement.native.js.map +1 -0
  188. package/lib/module/core/createUnistylesImageBackground.js +39 -14
  189. package/lib/module/core/createUnistylesImageBackground.js.map +1 -1
  190. package/lib/module/core/getClassname.js +18 -0
  191. package/lib/module/core/getClassname.js.map +1 -0
  192. package/lib/module/core/getClassname.native.js +4 -0
  193. package/lib/module/core/getClassname.native.js.map +1 -0
  194. package/lib/module/core/index.js +2 -1
  195. package/lib/module/core/index.js.map +1 -1
  196. package/lib/module/core/passForwardRef.js +2 -2
  197. package/lib/module/core/passForwardRef.js.map +1 -1
  198. package/lib/module/core/useProxifiedUnistyles/index.js +4 -0
  199. package/lib/module/core/useProxifiedUnistyles/index.js.map +1 -0
  200. package/lib/module/core/useProxifiedUnistyles/listener.js +17 -0
  201. package/lib/module/core/useProxifiedUnistyles/listener.js.map +1 -0
  202. package/lib/module/core/useProxifiedUnistyles/listener.native.js +21 -0
  203. package/lib/module/core/useProxifiedUnistyles/listener.native.js.map +1 -0
  204. package/lib/module/core/useProxifiedUnistyles/types.js +4 -0
  205. package/lib/module/core/useProxifiedUnistyles/types.js.map +1 -0
  206. package/lib/module/core/{withUnistyles/useDependencies.js → useProxifiedUnistyles/useProxifiedUnistyles.js} +19 -19
  207. package/lib/module/core/useProxifiedUnistyles/useProxifiedUnistyles.js.map +1 -0
  208. package/lib/module/core/useUnistyles.js +14 -0
  209. package/lib/module/core/useUnistyles.js.map +1 -0
  210. package/lib/module/core/warn.js +11 -0
  211. package/lib/module/core/warn.js.map +1 -0
  212. package/lib/module/core/withUnistyles/withUnistyles.js +19 -55
  213. package/lib/module/core/withUnistyles/withUnistyles.js.map +1 -1
  214. package/lib/module/core/withUnistyles/withUnistyles.native.js +33 -66
  215. package/lib/module/core/withUnistyles/withUnistyles.native.js.map +1 -1
  216. package/lib/module/index.js +3 -2
  217. package/lib/module/index.js.map +1 -1
  218. package/lib/module/server/getServerUnistyles.js +34 -0
  219. package/lib/module/server/getServerUnistyles.js.map +1 -0
  220. package/lib/module/server/hydrateServerUnistyles.js +12 -0
  221. package/lib/module/server/hydrateServerUnistyles.js.map +1 -0
  222. package/lib/module/server/index.js +7 -0
  223. package/lib/module/server/index.js.map +1 -0
  224. package/lib/module/server/resetServerUnistyles.js +11 -0
  225. package/lib/module/server/resetServerUnistyles.js.map +1 -0
  226. package/lib/module/server/types.js +4 -0
  227. package/lib/module/server/types.js.map +1 -0
  228. package/lib/module/server/useServerUnistyles.js +22 -0
  229. package/lib/module/server/useServerUnistyles.js.map +1 -0
  230. package/lib/module/specs/ShadowRegistry/index.js +6 -3
  231. package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
  232. package/lib/module/specs/StyleSheet/index.js.map +1 -1
  233. package/lib/module/utils.js +16 -1
  234. package/lib/module/utils.js.map +1 -1
  235. package/lib/module/web/convert/object/filter.js +2 -2
  236. package/lib/module/web/convert/object/filter.js.map +1 -1
  237. package/lib/module/web/convert/style.js +4 -4
  238. package/lib/module/web/convert/style.js.map +1 -1
  239. package/lib/module/web/create.js +20 -15
  240. package/lib/module/web/create.js.map +1 -1
  241. package/lib/module/web/css/core.js +50 -0
  242. package/lib/module/web/css/core.js.map +1 -0
  243. package/lib/module/web/css/index.js +4 -0
  244. package/lib/module/web/css/index.js.map +1 -0
  245. package/lib/module/web/css/state.js +150 -0
  246. package/lib/module/web/css/state.js.map +1 -0
  247. package/lib/module/web/css/utils.js +41 -0
  248. package/lib/module/web/css/utils.js.map +1 -0
  249. package/lib/module/web/index.js +10 -5
  250. package/lib/module/web/index.js.map +1 -1
  251. package/lib/module/web/listener.js +8 -7
  252. package/lib/module/web/listener.js.map +1 -1
  253. package/lib/module/web/registry.js +44 -124
  254. package/lib/module/web/registry.js.map +1 -1
  255. package/lib/module/web/runtime.js +27 -21
  256. package/lib/module/web/runtime.js.map +1 -1
  257. package/lib/module/web/services.js +23 -0
  258. package/lib/module/web/services.js.map +1 -0
  259. package/lib/module/web/shadowRegistry.js +46 -94
  260. package/lib/module/web/shadowRegistry.js.map +1 -1
  261. package/lib/module/web/state.js +39 -10
  262. package/lib/module/web/state.js.map +1 -1
  263. package/lib/module/web/types.js +4 -0
  264. package/lib/module/web/types.js.map +1 -0
  265. package/lib/module/web/utils/common.js +26 -7
  266. package/lib/module/web/utils/common.js.map +1 -1
  267. package/lib/module/web/utils/unistyle.js +31 -17
  268. package/lib/module/web/utils/unistyle.js.map +1 -1
  269. package/lib/module/web/variants.js +25 -27
  270. package/lib/module/web/variants.js.map +1 -1
  271. package/lib/typescript/src/components/index.d.ts +0 -1
  272. package/lib/typescript/src/components/index.d.ts.map +1 -1
  273. package/lib/typescript/src/components/native/ActivityIndicator.d.ts +1 -1
  274. package/lib/typescript/src/components/native/ActivityIndicator.d.ts.map +1 -1
  275. package/lib/typescript/src/components/native/Animated.d.ts +39 -0
  276. package/lib/typescript/src/components/native/Animated.d.ts.map +1 -0
  277. package/lib/typescript/src/components/native/FlatList.d.ts +1 -1
  278. package/lib/typescript/src/components/native/FlatList.d.ts.map +1 -1
  279. package/lib/typescript/src/components/native/Image.d.ts +1 -1
  280. package/lib/typescript/src/components/native/Image.d.ts.map +1 -1
  281. package/lib/typescript/src/components/native/ImageBackground.d.ts +1 -2
  282. package/lib/typescript/src/components/native/ImageBackground.d.ts.map +1 -1
  283. package/lib/typescript/src/components/native/ImageBackground.native.d.ts +2 -0
  284. package/lib/typescript/src/components/native/ImageBackground.native.d.ts.map +1 -0
  285. package/lib/typescript/src/components/native/KeyboardAvoidingView.d.ts +1 -1
  286. package/lib/typescript/src/components/native/KeyboardAvoidingView.d.ts.map +1 -1
  287. package/lib/typescript/src/components/native/NativeText.d.ts +2 -0
  288. package/lib/typescript/src/components/native/NativeText.d.ts.map +1 -0
  289. package/lib/typescript/src/components/native/NativeText.native.d.ts +2 -0
  290. package/lib/typescript/src/components/native/NativeText.native.d.ts.map +1 -0
  291. package/lib/typescript/src/components/native/NativeView.d.ts +3 -0
  292. package/lib/typescript/src/components/native/NativeView.d.ts.map +1 -0
  293. package/lib/typescript/src/components/native/NativeView.native.d.ts +3 -0
  294. package/lib/typescript/src/components/native/NativeView.native.d.ts.map +1 -0
  295. package/lib/typescript/src/components/native/Pressable.d.ts +3 -2
  296. package/lib/typescript/src/components/native/Pressable.d.ts.map +1 -1
  297. package/lib/typescript/src/components/native/Pressable.native.d.ts.map +1 -1
  298. package/lib/typescript/src/components/native/RefreshControl.d.ts +1 -1
  299. package/lib/typescript/src/components/native/RefreshControl.d.ts.map +1 -1
  300. package/lib/typescript/src/components/native/ScrollView.d.ts +1 -1
  301. package/lib/typescript/src/components/native/ScrollView.d.ts.map +1 -1
  302. package/lib/typescript/src/components/native/SectionList.d.ts +1 -1
  303. package/lib/typescript/src/components/native/SectionList.d.ts.map +1 -1
  304. package/lib/typescript/src/components/native/Switch.d.ts +1 -1
  305. package/lib/typescript/src/components/native/Switch.d.ts.map +1 -1
  306. package/lib/typescript/src/components/native/Text.d.ts +1 -1
  307. package/lib/typescript/src/components/native/Text.d.ts.map +1 -1
  308. package/lib/typescript/src/components/native/TextInput.d.ts +1 -1
  309. package/lib/typescript/src/components/native/TextInput.d.ts.map +1 -1
  310. package/lib/typescript/src/components/native/TouchableHighlight.d.ts +1 -1
  311. package/lib/typescript/src/components/native/TouchableHighlight.d.ts.map +1 -1
  312. package/lib/typescript/src/components/native/TouchableOpacity.d.ts +1 -1
  313. package/lib/typescript/src/components/native/TouchableOpacity.d.ts.map +1 -1
  314. package/lib/typescript/src/components/native/View.d.ts +1 -1
  315. package/lib/typescript/src/components/native/View.d.ts.map +1 -1
  316. package/lib/typescript/src/components/native/VirtualizedList.d.ts +1 -1
  317. package/lib/typescript/src/components/native/VirtualizedList.d.ts.map +1 -1
  318. package/lib/typescript/src/core/createUnistylesElement.d.ts +1 -2
  319. package/lib/typescript/src/core/createUnistylesElement.d.ts.map +1 -1
  320. package/lib/typescript/src/core/createUnistylesElement.native.d.ts +2 -0
  321. package/lib/typescript/src/core/createUnistylesElement.native.d.ts.map +1 -0
  322. package/lib/typescript/src/core/createUnistylesImageBackground.d.ts +2 -3
  323. package/lib/typescript/src/core/createUnistylesImageBackground.d.ts.map +1 -1
  324. package/lib/typescript/src/core/getClassname.d.ts +7 -0
  325. package/lib/typescript/src/core/getClassname.d.ts.map +1 -0
  326. package/lib/typescript/src/core/getClassname.native.d.ts +2 -0
  327. package/lib/typescript/src/core/getClassname.native.d.ts.map +1 -0
  328. package/lib/typescript/src/core/index.d.ts +2 -1
  329. package/lib/typescript/src/core/index.d.ts.map +1 -1
  330. package/lib/typescript/src/core/passForwardRef.d.ts.map +1 -1
  331. package/lib/typescript/src/core/useProxifiedUnistyles/index.d.ts +2 -0
  332. package/lib/typescript/src/core/useProxifiedUnistyles/index.d.ts.map +1 -0
  333. package/lib/typescript/src/core/useProxifiedUnistyles/listener.d.ts +3 -0
  334. package/lib/typescript/src/core/useProxifiedUnistyles/listener.d.ts.map +1 -0
  335. package/lib/typescript/src/core/useProxifiedUnistyles/listener.native.d.ts +3 -0
  336. package/lib/typescript/src/core/useProxifiedUnistyles/listener.native.d.ts.map +1 -0
  337. package/lib/typescript/src/core/useProxifiedUnistyles/types.d.ts +7 -0
  338. package/lib/typescript/src/core/useProxifiedUnistyles/types.d.ts.map +1 -0
  339. package/lib/typescript/src/core/useProxifiedUnistyles/useProxifiedUnistyles.d.ts +8 -0
  340. package/lib/typescript/src/core/useProxifiedUnistyles/useProxifiedUnistyles.d.ts.map +1 -0
  341. package/lib/typescript/src/core/useUnistyles.d.ts +6 -0
  342. package/lib/typescript/src/core/useUnistyles.d.ts.map +1 -0
  343. package/lib/typescript/src/core/warn.d.ts +3 -0
  344. package/lib/typescript/src/core/warn.d.ts.map +1 -0
  345. package/lib/typescript/src/core/withUnistyles/withUnistyles.d.ts +0 -3
  346. package/lib/typescript/src/core/withUnistyles/withUnistyles.d.ts.map +1 -1
  347. package/lib/typescript/src/core/withUnistyles/withUnistyles.native.d.ts.map +1 -1
  348. package/lib/typescript/src/index.d.ts +3 -2
  349. package/lib/typescript/src/index.d.ts.map +1 -1
  350. package/lib/typescript/src/server/getServerUnistyles.d.ts +4 -0
  351. package/lib/typescript/src/server/getServerUnistyles.d.ts.map +1 -0
  352. package/lib/typescript/src/server/hydrateServerUnistyles.d.ts +8 -0
  353. package/lib/typescript/src/server/hydrateServerUnistyles.d.ts.map +1 -0
  354. package/lib/typescript/src/server/index.d.ts +5 -0
  355. package/lib/typescript/src/server/index.d.ts.map +1 -0
  356. package/lib/typescript/src/server/resetServerUnistyles.d.ts +2 -0
  357. package/lib/typescript/src/server/resetServerUnistyles.d.ts.map +1 -0
  358. package/lib/typescript/src/server/types.d.ts +5 -0
  359. package/lib/typescript/src/server/types.d.ts.map +1 -0
  360. package/lib/typescript/src/server/useServerUnistyles.d.ts +4 -0
  361. package/lib/typescript/src/server/useServerUnistyles.d.ts.map +1 -0
  362. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +0 -3
  363. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
  364. package/lib/typescript/src/specs/StyleSheet/index.d.ts +5 -1
  365. package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
  366. package/lib/typescript/src/utils.d.ts +2 -0
  367. package/lib/typescript/src/utils.d.ts.map +1 -1
  368. package/lib/typescript/src/web/convert/style.d.ts.map +1 -1
  369. package/lib/typescript/src/web/create.d.ts.map +1 -1
  370. package/lib/typescript/src/web/css/core.d.ts +3 -0
  371. package/lib/typescript/src/web/css/core.d.ts.map +1 -0
  372. package/lib/typescript/src/web/css/index.d.ts +2 -0
  373. package/lib/typescript/src/web/css/index.d.ts.map +1 -0
  374. package/lib/typescript/src/web/css/state.d.ts +30 -0
  375. package/lib/typescript/src/web/css/state.d.ts.map +1 -0
  376. package/lib/typescript/src/web/css/utils.d.ts +4 -0
  377. package/lib/typescript/src/web/css/utils.d.ts.map +1 -0
  378. package/lib/typescript/src/web/index.d.ts +7 -1
  379. package/lib/typescript/src/web/index.d.ts.map +1 -1
  380. package/lib/typescript/src/web/listener.d.ts +4 -3
  381. package/lib/typescript/src/web/listener.d.ts.map +1 -1
  382. package/lib/typescript/src/web/registry.d.ts +11 -8
  383. package/lib/typescript/src/web/registry.d.ts.map +1 -1
  384. package/lib/typescript/src/web/runtime.d.ts +6 -4
  385. package/lib/typescript/src/web/runtime.d.ts.map +1 -1
  386. package/lib/typescript/src/web/services.d.ts +15 -0
  387. package/lib/typescript/src/web/services.d.ts.map +1 -0
  388. package/lib/typescript/src/web/shadowRegistry.d.ts +10 -13
  389. package/lib/typescript/src/web/shadowRegistry.d.ts.map +1 -1
  390. package/lib/typescript/src/web/state.d.ts +7 -3
  391. package/lib/typescript/src/web/state.d.ts.map +1 -1
  392. package/lib/typescript/src/web/types.d.ts +13 -0
  393. package/lib/typescript/src/web/types.d.ts.map +1 -0
  394. package/lib/typescript/src/web/utils/common.d.ts +2 -1
  395. package/lib/typescript/src/web/utils/common.d.ts.map +1 -1
  396. package/lib/typescript/src/web/utils/unistyle.d.ts +5 -4
  397. package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -1
  398. package/lib/typescript/src/web/variants.d.ts +2 -2
  399. package/lib/typescript/src/web/variants.d.ts.map +1 -1
  400. package/nitrogen/generated/android/c++/JColorScheme.hpp +2 -1
  401. package/nitrogen/generated/android/c++/JDimensions.hpp +2 -1
  402. package/nitrogen/generated/android/c++/JFunc_void_UnistylesNativeMiniRuntime.hpp +36 -10
  403. package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.hpp +53 -19
  404. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +5 -5
  405. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.hpp +1 -1
  406. package/nitrogen/generated/android/c++/JInsets.hpp +2 -1
  407. package/nitrogen/generated/android/c++/JOrientation.hpp +2 -1
  408. package/nitrogen/generated/android/c++/JUnistyleDependency.hpp +2 -1
  409. package/nitrogen/generated/android/c++/JUnistylesNativeMiniRuntime.hpp +2 -1
  410. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/ColorScheme.kt +1 -1
  411. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Dimensions.kt +10 -5
  412. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void_UnistylesNativeMiniRuntime.kt +43 -14
  413. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.kt +43 -14
  414. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +10 -10
  415. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Insets.kt +13 -8
  416. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Orientation.kt +1 -1
  417. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistyleDependency.kt +1 -1
  418. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +19 -14
  419. package/nitrogen/generated/android/unistyles+autolinking.cmake +4 -1
  420. package/nitrogen/generated/android/unistyles+autolinking.gradle +1 -1
  421. package/nitrogen/generated/android/unistylesOnLoad.cpp +7 -3
  422. package/nitrogen/generated/android/unistylesOnLoad.hpp +1 -1
  423. package/nitrogen/generated/ios/Unistyles+autolinking.rb +1 -1
  424. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +21 -6
  425. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp +105 -27
  426. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Umbrella.hpp +5 -3
  427. package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.cpp +1 -1
  428. package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.hpp +92 -33
  429. package/nitrogen/generated/ios/swift/ColorScheme.swift +1 -1
  430. package/nitrogen/generated/ios/swift/Dimensions.swift +1 -1
  431. package/nitrogen/generated/ios/swift/Func_void_UnistylesNativeMiniRuntime.swift +46 -0
  432. package/nitrogen/generated/ios/swift/Func_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.swift +46 -0
  433. package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +36 -23
  434. package/nitrogen/generated/ios/swift/HybridNativePlatformSpec_cxx.swift +327 -0
  435. package/nitrogen/generated/ios/swift/Insets.swift +1 -1
  436. package/nitrogen/generated/ios/swift/Orientation.swift +1 -1
  437. package/nitrogen/generated/ios/swift/UnistyleDependency.swift +1 -1
  438. package/nitrogen/generated/ios/swift/UnistylesNativeMiniRuntime.swift +1 -1
  439. package/nitrogen/generated/shared/c++/ColorScheme.hpp +1 -1
  440. package/nitrogen/generated/shared/c++/Dimensions.hpp +1 -1
  441. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.cpp +1 -1
  442. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.hpp +1 -1
  443. package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.cpp +1 -1
  444. package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.hpp +1 -1
  445. package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.cpp +1 -1
  446. package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.hpp +1 -1
  447. package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.cpp +1 -1
  448. package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.hpp +1 -1
  449. package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.cpp +1 -1
  450. package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.hpp +1 -1
  451. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.cpp +1 -1
  452. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.hpp +1 -1
  453. package/nitrogen/generated/shared/c++/Insets.hpp +1 -1
  454. package/nitrogen/generated/shared/c++/Orientation.hpp +1 -1
  455. package/nitrogen/generated/shared/c++/UnistyleDependency.hpp +2 -2
  456. package/nitrogen/generated/shared/c++/UnistylesCxxMiniRuntime.hpp +1 -1
  457. package/nitrogen/generated/shared/c++/UnistylesNativeMiniRuntime.hpp +1 -1
  458. package/package.json +23 -14
  459. package/plugin/consts.js +63 -0
  460. package/plugin/exotic.js +54 -0
  461. package/plugin/import.js +1 -21
  462. package/plugin/index.d.ts +89 -0
  463. package/plugin/index.js +58 -96
  464. package/plugin/stylesheet.js +28 -1
  465. package/plugin/variants.js +49 -75
  466. package/src/components/ScopedTheme.tsx +1 -1
  467. package/src/components/index.ts +0 -1
  468. package/src/components/native/Animated.tsx +17 -0
  469. package/src/components/native/ImageBackground.native.tsx +4 -0
  470. package/src/components/native/ImageBackground.tsx +57 -2
  471. package/src/components/native/NativeText.native.tsx +12 -0
  472. package/src/components/native/NativeText.tsx +1 -0
  473. package/src/components/native/NativeView.native.tsx +13 -0
  474. package/src/components/native/NativeView.tsx +3 -0
  475. package/src/components/native/Pressable.native.tsx +32 -15
  476. package/src/components/native/Pressable.tsx +35 -69
  477. package/src/core/createUnistylesElement.native.tsx +51 -0
  478. package/src/core/createUnistylesElement.tsx +47 -8
  479. package/src/core/createUnistylesImageBackground.tsx +44 -18
  480. package/src/core/getClassname.native.ts +1 -0
  481. package/src/core/getClassname.ts +14 -0
  482. package/src/core/index.ts +2 -1
  483. package/src/core/passForwardRef.ts +1 -2
  484. package/src/core/useProxifiedUnistyles/index.ts +1 -0
  485. package/src/core/useProxifiedUnistyles/listener.native.ts +18 -0
  486. package/src/core/useProxifiedUnistyles/listener.ts +13 -0
  487. package/src/core/useProxifiedUnistyles/types.ts +7 -0
  488. package/src/core/{withUnistyles/useDependencies.ts → useProxifiedUnistyles/useProxifiedUnistyles.ts} +19 -26
  489. package/src/core/useUnistyles.ts +11 -0
  490. package/src/core/warn.ts +13 -0
  491. package/src/core/withUnistyles/withUnistyles.native.tsx +39 -68
  492. package/src/core/withUnistyles/withUnistyles.tsx +19 -56
  493. package/src/index.ts +3 -2
  494. package/src/server/getServerUnistyles.tsx +21 -0
  495. package/src/server/hydrateServerUnistyles.ts +17 -0
  496. package/src/server/index.ts +5 -0
  497. package/src/server/resetServerUnistyles.ts +9 -0
  498. package/src/server/types.ts +4 -0
  499. package/src/server/useServerUnistyles.tsx +22 -0
  500. package/src/specs/ShadowRegistry/index.ts +12 -9
  501. package/src/specs/StyleSheet/index.ts +6 -1
  502. package/src/utils.ts +32 -11
  503. package/src/web/convert/object/filter.ts +2 -2
  504. package/src/web/convert/style.ts +8 -7
  505. package/src/web/create.ts +23 -18
  506. package/src/web/css/core.ts +58 -0
  507. package/src/web/css/index.ts +1 -0
  508. package/src/web/css/state.ts +191 -0
  509. package/src/web/css/utils.ts +54 -0
  510. package/src/web/index.ts +18 -5
  511. package/src/web/listener.ts +8 -8
  512. package/src/web/registry.ts +47 -152
  513. package/src/web/runtime.ts +32 -22
  514. package/src/web/services.ts +28 -0
  515. package/src/web/shadowRegistry.ts +46 -104
  516. package/src/web/state.ts +46 -11
  517. package/src/web/types.ts +13 -0
  518. package/src/web/utils/common.ts +32 -8
  519. package/src/web/utils/unistyle.ts +46 -25
  520. package/src/web/variants.ts +27 -27
  521. package/cxx/core/HostStyle.cpp +0 -73
  522. package/cxx/core/HostStyle.h +0 -34
  523. package/lib/commonjs/components/Variants.js +0 -36
  524. package/lib/commonjs/components/Variants.js.map +0 -1
  525. package/lib/commonjs/core/createUnistylesComponent.js +0 -16
  526. package/lib/commonjs/core/createUnistylesComponent.js.map +0 -1
  527. package/lib/commonjs/core/withUnistyles/useDependencies.js.map +0 -1
  528. package/lib/module/components/Variants.js +0 -29
  529. package/lib/module/components/Variants.js.map +0 -1
  530. package/lib/module/core/createUnistylesComponent.js +0 -11
  531. package/lib/module/core/createUnistylesComponent.js.map +0 -1
  532. package/lib/module/core/withUnistyles/useDependencies.js.map +0 -1
  533. package/lib/typescript/src/components/Variants.d.ts +0 -7
  534. package/lib/typescript/src/components/Variants.d.ts.map +0 -1
  535. package/lib/typescript/src/core/createUnistylesComponent.d.ts +0 -14
  536. package/lib/typescript/src/core/createUnistylesComponent.d.ts.map +0 -1
  537. package/lib/typescript/src/core/withUnistyles/useDependencies.d.ts +0 -13
  538. package/lib/typescript/src/core/withUnistyles/useDependencies.d.ts.map +0 -1
  539. package/nitrogen/generated/android/unistylesOnLoad.kt +0 -1
  540. package/nitrogen/generated/ios/swift/HybridNativePlatformSpecCxx.swift +0 -314
  541. package/plugin/style.js +0 -168
  542. package/src/components/Variants.tsx +0 -30
  543. package/src/core/createUnistylesComponent.tsx +0 -14
@@ -3,15 +3,15 @@
3
3
  import { UnistyleDependency } from '../specs/NativePlatform';
4
4
  import { ColorScheme, Orientation } from '../specs/types';
5
5
  import { WebContentSizeCategory } from '../types';
6
- import { UnistylesListener } from './listener';
7
6
  import { NavigationBar, StatusBar } from './mock';
8
7
  import { error, isServer, schemeToTheme } from './utils';
9
-
10
- // Keep this import here, otherwise circular dependency will occur and break the build
11
- import { UnistylesState } from './state';
12
- class UnistylesRuntimeBuilder {
8
+ export class UnistylesRuntime {
13
9
  lightMedia = this.getLightMedia();
14
10
  darkMedia = this.getDarkMedia();
11
+ rootElement = isServer() ? null : document.querySelector(':root');
12
+ constructor(services) {
13
+ this.services = services;
14
+ }
15
15
  getLightMedia() {
16
16
  if (isServer()) {
17
17
  return null;
@@ -41,19 +41,19 @@ class UnistylesRuntimeBuilder {
41
41
  }
42
42
  }
43
43
  get themeName() {
44
- if (UnistylesState.hasAdaptiveThemes) {
44
+ if (this.services.state.hasAdaptiveThemes) {
45
45
  return schemeToTheme(this.colorScheme);
46
46
  }
47
- return UnistylesState.themeName;
47
+ return this.services.state.themeName;
48
48
  }
49
49
  get contentSizeCategory() {
50
50
  return WebContentSizeCategory.Unspecified;
51
51
  }
52
52
  get breakpoints() {
53
- return UnistylesState.breakpoints ?? {};
53
+ return this.services.state.breakpoints ?? {};
54
54
  }
55
55
  get breakpoint() {
56
- return UnistylesState.breakpoint;
56
+ return this.services.state.breakpoint;
57
57
  }
58
58
  get orientation() {
59
59
  if (isServer()) {
@@ -98,7 +98,7 @@ class UnistylesRuntimeBuilder {
98
98
  return isServer() ? true : document.documentElement.dir === 'rtl';
99
99
  }
100
100
  get hasAdaptiveThemes() {
101
- return UnistylesState.hasAdaptiveThemes;
101
+ return this.services.state.hasAdaptiveThemes;
102
102
  }
103
103
  get navigationBar() {
104
104
  return NavigationBar;
@@ -131,19 +131,26 @@ class UnistylesRuntimeBuilder {
131
131
  if (this.hasAdaptiveThemes) {
132
132
  throw error(`You're trying to set theme to: '${themeName}', but adaptiveThemes are enabled.`);
133
133
  }
134
- if (themeName === UnistylesRuntime.themeName) {
134
+ if (themeName === this.themeName) {
135
135
  return;
136
136
  }
137
- UnistylesState.themeName = themeName;
138
- UnistylesListener.emitChange(UnistyleDependency.Theme);
139
- UnistylesListener.emitChange(UnistyleDependency.ThemeName);
137
+ const oldTheme = this.services.state.themeName;
138
+ this.services.state.themeName = themeName;
139
+ this.services.listener.emitChange(UnistyleDependency.Theme);
140
+ this.services.listener.emitChange(UnistyleDependency.ThemeName);
141
+ if (!isServer() && !this.services.state.hasAdaptiveThemes && this.services.state.CSSVars) {
142
+ this.rootElement?.classList.remove(oldTheme ?? '');
143
+ this.rootElement?.classList.add(themeName ?? '');
144
+ }
140
145
  };
141
146
  setAdaptiveThemes = isEnabled => {
142
- UnistylesState.hasAdaptiveThemes = isEnabled;
147
+ this.services.state.hasAdaptiveThemes = isEnabled;
143
148
  if (!isEnabled) {
149
+ this.rootElement?.classList.add(this.themeName ?? '');
144
150
  return;
145
151
  }
146
- this.setTheme(schemeToTheme(UnistylesRuntime.colorScheme));
152
+ this.rootElement?.classList.remove(this.themeName ?? '');
153
+ this.setTheme(schemeToTheme(this.colorScheme));
147
154
  };
148
155
  setRootViewBackgroundColor = color => {
149
156
  if (isServer()) {
@@ -153,19 +160,18 @@ class UnistylesRuntimeBuilder {
153
160
  };
154
161
  setImmersiveMode = () => {};
155
162
  updateTheme = (themeName, updater) => {
156
- const oldTheme = UnistylesState.themes.get(themeName);
163
+ const oldTheme = this.services.state.themes.get(themeName);
157
164
  if (!oldTheme) {
158
165
  throw error(`Unistyles: You're trying to update theme "${themeName}" but it wasn't registered.`);
159
166
  }
160
- UnistylesState.themes.set(themeName, updater(oldTheme));
167
+ this.services.state.themes.set(themeName, updater(oldTheme));
161
168
  };
162
- getTheme = (themeName = this.themeName) => {
163
- const theme = UnistylesState.themes.get(themeName ?? '');
169
+ getTheme = (themeName = this.themeName, CSSVars = false) => {
170
+ const theme = CSSVars ? this.services.state.cssThemes.get(themeName ?? '') : this.services.state.themes.get(themeName ?? '');
164
171
  if (!themeName || !theme) {
165
172
  throw error(`You're trying to get theme "${themeName}" but it wasn't registered.`);
166
173
  }
167
174
  return theme;
168
175
  };
169
176
  }
170
- export const UnistylesRuntime = new UnistylesRuntimeBuilder();
171
177
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["UnistyleDependency","ColorScheme","Orientation","WebContentSizeCategory","UnistylesListener","NavigationBar","StatusBar","error","isServer","schemeToTheme","UnistylesState","UnistylesRuntimeBuilder","lightMedia","getLightMedia","darkMedia","getDarkMedia","window","matchMedia","colorScheme","matches","Light","Dark","Unspecified","themeName","hasAdaptiveThemes","contentSizeCategory","breakpoints","breakpoint","orientation","Portrait","screen","type","includes","Landscape","theme","getTheme","pixelRatio","devicePixelRatio","width","height","innerWidth","innerHeight","fontScale","insets","top","bottom","left","right","ime","statusBar","rtl","document","documentElement","dir","navigationBar","miniRuntime","isLandscape","isPortrait","setTheme","UnistylesRuntime","emitChange","Theme","ThemeName","setAdaptiveThemes","isEnabled","setRootViewBackgroundColor","color","style","backgroundColor","setImmersiveMode","updateTheme","updater","oldTheme","themes","get","set"],"sourceRoot":"../../../src","sources":["web/runtime.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["UnistyleDependency","ColorScheme","Orientation","WebContentSizeCategory","NavigationBar","StatusBar","error","isServer","schemeToTheme","UnistylesRuntime","lightMedia","getLightMedia","darkMedia","getDarkMedia","rootElement","document","querySelector","constructor","services","window","matchMedia","colorScheme","matches","Light","Dark","Unspecified","themeName","state","hasAdaptiveThemes","contentSizeCategory","breakpoints","breakpoint","orientation","Portrait","screen","type","includes","Landscape","theme","getTheme","pixelRatio","devicePixelRatio","width","height","innerWidth","innerHeight","fontScale","insets","top","bottom","left","right","ime","statusBar","rtl","documentElement","dir","navigationBar","miniRuntime","isLandscape","isPortrait","setTheme","oldTheme","listener","emitChange","Theme","ThemeName","CSSVars","classList","remove","add","setAdaptiveThemes","isEnabled","setRootViewBackgroundColor","color","style","backgroundColor","setImmersiveMode","updateTheme","updater","themes","get","set","cssThemes"],"sourceRoot":"../../../src","sources":["web/runtime.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ import { UnistylesListener } from './listener';
4
+ import { UnistylesRegistry } from './registry';
5
+ import { UnistylesRuntime } from './runtime';
6
+ import { UnistylesShadowRegistry } from './shadowRegistry';
7
+ import { UnistylesState } from './state';
8
+ export class UnistylesServices {
9
+ services = {};
10
+ constructor() {
11
+ this.runtime = new UnistylesRuntime(this.services);
12
+ this.registry = new UnistylesRegistry(this.services);
13
+ this.shadowRegistry = new UnistylesShadowRegistry(this.services);
14
+ this.state = new UnistylesState(this.services);
15
+ this.listener = new UnistylesListener(this.services);
16
+ this.services.runtime = this.runtime;
17
+ this.services.registry = this.registry;
18
+ this.services.shadowRegistry = this.shadowRegistry;
19
+ this.services.state = this.state;
20
+ this.services.listener = this.listener;
21
+ }
22
+ }
23
+ //# sourceMappingURL=services.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UnistylesListener","UnistylesRegistry","UnistylesRuntime","UnistylesShadowRegistry","UnistylesState","UnistylesServices","services","constructor","runtime","registry","shadowRegistry","state","listener"],"sourceRoot":"../../../src","sources":["web/services.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,YAAY;AAC9C,SAASC,iBAAiB,QAAQ,YAAY;AAC9C,SAASC,gBAAgB,QAAQ,WAAW;AAC5C,SAASC,uBAAuB,QAAQ,kBAAkB;AAC1D,SAASC,cAAc,QAAQ,SAAS;AAExC,OAAO,MAAMC,iBAAiB,CAAC;EAOnBC,QAAQ,GAAG,CAAC,CAAC;EAErBC,WAAWA,CAAA,EAAG;IACV,IAAI,CAACC,OAAO,GAAG,IAAIN,gBAAgB,CAAC,IAAI,CAACI,QAAQ,CAAC;IAClD,IAAI,CAACG,QAAQ,GAAG,IAAIR,iBAAiB,CAAC,IAAI,CAACK,QAAQ,CAAC;IACpD,IAAI,CAACI,cAAc,GAAG,IAAIP,uBAAuB,CAAC,IAAI,CAACG,QAAQ,CAAC;IAChE,IAAI,CAACK,KAAK,GAAG,IAAIP,cAAc,CAAC,IAAI,CAACE,QAAQ,CAAC;IAC9C,IAAI,CAACM,QAAQ,GAAG,IAAIZ,iBAAiB,CAAC,IAAI,CAACM,QAAQ,CAAC;IACpD,IAAI,CAACA,QAAQ,CAACE,OAAO,GAAG,IAAI,CAACA,OAAO;IACpC,IAAI,CAACF,QAAQ,CAACG,QAAQ,GAAG,IAAI,CAACA,QAAQ;IACtC,IAAI,CAACH,QAAQ,CAACI,cAAc,GAAG,IAAI,CAACA,cAAc;IAClD,IAAI,CAACJ,QAAQ,CAACK,KAAK,GAAG,IAAI,CAACA,KAAK;IAChC,IAAI,CAACL,QAAQ,CAACM,QAAQ,GAAG,IAAI,CAACA,QAAQ;EAC1C;AACJ","ignoreList":[]}
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import { UnistylesListener } from './listener';
4
- import { UnistylesRegistry } from './registry';
5
3
  import { deepMergeObjects } from '../utils';
6
- import { equal, extractSecrets, extractUnistyleDependencies, isInDocument } from './utils';
4
+ import { extractSecrets, extractUnistyleDependencies } from './utils';
7
5
  import { getVariants } from './variants';
8
- class UnistylesShadowRegistryBuilder {
6
+ import { UnistyleDependency } from '../specs';
7
+ export class UnistylesShadowRegistry {
9
8
  // MOCKS
10
9
  name = 'UnistylesShadowRegistry';
11
10
  __type = 'web';
@@ -14,128 +13,81 @@ class UnistylesShadowRegistryBuilder {
14
13
  dispose = () => {};
15
14
  // END MOCKS
16
15
 
17
- resultsMap = new Map();
18
- classNamesMap = new Map();
19
- selectedVariants = new Map();
20
16
  scopedTheme = undefined;
21
17
  disposeMap = new Map();
22
- add = (ref, styles) => {
23
- // Styles are not provided
24
- if (!styles || !Array.isArray(styles)) {
25
- return;
26
- }
27
-
28
- // Ref is unmounted
29
- if (ref === null) {
30
- styles.flat().forEach(style => {
31
- extractSecrets(style)?.__uni__refs.forEach(ref => {
32
- if (isInDocument(ref)) {
33
- return;
34
- }
35
- const oldResult = this.resultsMap.get(ref);
36
- this.resultsMap.delete(ref);
37
- this.classNamesMap.delete(ref);
38
- this.disposeMap.get(ref)?.();
39
- this.disposeMap.delete(ref);
40
- if (oldResult) {
41
- UnistylesRegistry.remove(oldResult);
42
- }
43
- });
44
- });
45
- return;
46
- }
47
-
48
- // Ref is not an HTMLElement
49
- if (!(ref instanceof HTMLElement)) {
18
+ constructor(services) {
19
+ this.services = services;
20
+ }
21
+ add = (ref, hash) => {
22
+ if (!(ref instanceof HTMLElement) || !hash) {
50
23
  return;
51
24
  }
25
+ this.services.registry.connect(ref, hash);
26
+ };
27
+ addStyles = unistyles => {
52
28
  const getParsedStyles = () => {
53
- return styles.flat().flatMap(unistyleStyle => {
54
- if (!unistyleStyle) {
55
- return [];
56
- }
57
- const secrets = extractSecrets(unistyleStyle);
29
+ const allStyles = unistyles.map(unistyle => {
30
+ const secrets = extractSecrets(unistyle);
58
31
 
59
32
  // Regular style
60
33
  if (!secrets) {
61
- return unistyleStyle;
34
+ return unistyle;
62
35
  }
63
36
  const {
64
37
  __uni__key,
65
38
  __uni__stylesheet,
66
39
  __uni__args = [],
67
- __uni__refs
40
+ __uni_variants: variants
68
41
  } = secrets;
69
- const newComputedStylesheet = UnistylesRegistry.getComputedStylesheet(__uni__stylesheet, scopedTheme);
42
+ const newComputedStylesheet = this.services.registry.getComputedStylesheet(__uni__stylesheet, scopedTheme);
70
43
  const style = newComputedStylesheet[__uni__key];
71
- const args = __uni__args;
72
- const result = typeof style === 'function' ? style(...args) : style;
73
- const {
74
- variantsResult
75
- } = Object.fromEntries(getVariants({
76
- variantsResult: result
77
- }, variants));
78
- const resultWithVariants = deepMergeObjects(result, variantsResult ?? {});
44
+ const result = typeof style === 'function' ? style(...__uni__args) : style;
45
+ const variantsResult = getVariants(result, variants);
46
+ const resultWithVariants = deepMergeObjects(result, variantsResult);
79
47
  const dependencies = extractUnistyleDependencies(resultWithVariants);
80
48
  if (typeof __uni__stylesheet === 'function') {
81
49
  // Add dependencies from dynamic styles to stylesheet
82
- UnistylesRegistry.addDependenciesToStylesheet(__uni__stylesheet, dependencies);
50
+ this.services.registry.addDependenciesToStylesheet(__uni__stylesheet, dependencies);
83
51
  }
84
- __uni__refs.add(ref);
85
52
  return resultWithVariants;
86
53
  });
54
+ return deepMergeObjects(...allStyles);
87
55
  };
88
56
 
89
57
  // Copy scoped theme to not use referenced value
90
- const variants = this.getVariants();
91
58
  const scopedTheme = this.scopedTheme;
92
59
  const parsedStyles = getParsedStyles();
93
- const combinedStyles = deepMergeObjects(...parsedStyles);
94
- const oldStyles = this.resultsMap.get(ref);
95
- if (equal(combinedStyles, oldStyles)) {
96
- return;
97
- }
98
- const oldClassNames = this.classNamesMap.get(ref);
99
-
100
- // Remove old styles
101
- if (oldStyles) {
102
- UnistylesRegistry.remove(oldStyles);
103
- }
104
-
105
- // Remove old classnames from the ref
106
- oldClassNames?.forEach(className => ref.classList.remove(className));
107
- this.resultsMap.set(ref, combinedStyles);
108
60
  const {
109
- hash
110
- } = UnistylesRegistry.add(combinedStyles);
111
- const injectedClassNames = combinedStyles?._web?._classNames ?? [];
112
- const newClassNames = (Array.isArray(injectedClassNames) ? injectedClassNames : [injectedClassNames]).concat(hash);
113
- const dependencies = Array.from(new Set(parsedStyles.flatMap(style => extractUnistyleDependencies(style))));
114
- this.disposeMap.get(ref)?.();
115
- this.disposeMap.set(ref, UnistylesListener.addListeners(dependencies, () => {
116
- UnistylesRegistry.applyStyles(hash, deepMergeObjects(...getParsedStyles()));
117
- }));
118
- this.classNamesMap.set(ref, newClassNames);
119
- // Add new classnames to the ref
120
- ref.classList.add(...newClassNames);
121
- ref.removeAttribute('styles');
122
- return newClassNames;
123
- };
124
- selectVariants = variants => {
125
- if (!variants) {
126
- this.selectedVariants.clear();
127
- return;
61
+ hash,
62
+ existingHash
63
+ } = this.services.registry.add(parsedStyles);
64
+ const injectedClassNames = parsedStyles?._web?._classNames ?? [];
65
+ const injectedClassName = Array.isArray(injectedClassNames) ? injectedClassNames.join(' ') : injectedClassNames;
66
+ const dependencies = extractUnistyleDependencies(parsedStyles);
67
+ const filteredDependencies = this.services.state.CSSVars ? dependencies.filter(dependency => dependency !== UnistyleDependency.Theme) : dependencies;
68
+ if (!existingHash) {
69
+ this.disposeMap.set(hash, this.services.listener.addListeners(filteredDependencies, () => {
70
+ this.services.registry.applyStyles(hash, getParsedStyles());
71
+ }));
128
72
  }
129
- Object.entries(variants).forEach(([key, value]) => {
130
- this.selectedVariants.set(key, value);
131
- });
73
+ return {
74
+ injectedClassName,
75
+ hash
76
+ };
132
77
  };
133
78
  setScopedTheme = theme => {
134
79
  this.scopedTheme = theme;
135
80
  };
136
81
  getScopedTheme = () => this.scopedTheme;
137
- getVariants = () => Object.fromEntries(this.selectedVariants.entries());
138
- remove = () => {};
82
+ remove = (ref, hash) => {
83
+ if (!(ref instanceof HTMLElement) || !hash) {
84
+ return;
85
+ }
86
+ const removed = this.services.registry.remove(ref, hash);
87
+ if (removed) {
88
+ this.disposeMap.get(hash)?.();
89
+ this.disposeMap.delete(hash);
90
+ }
91
+ };
139
92
  }
140
- export const UnistylesShadowRegistry = new UnistylesShadowRegistryBuilder();
141
93
  //# sourceMappingURL=shadowRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["UnistylesListener","UnistylesRegistry","deepMergeObjects","equal","extractSecrets","extractUnistyleDependencies","isInDocument","getVariants","UnistylesShadowRegistryBuilder","name","__type","equals","toString","dispose","resultsMap","Map","classNamesMap","selectedVariants","scopedTheme","undefined","disposeMap","add","ref","styles","Array","isArray","flat","forEach","style","__uni__refs","oldResult","get","delete","remove","HTMLElement","getParsedStyles","flatMap","unistyleStyle","secrets","__uni__key","__uni__stylesheet","__uni__args","newComputedStylesheet","getComputedStylesheet","args","result","variantsResult","Object","fromEntries","variants","resultWithVariants","dependencies","addDependenciesToStylesheet","parsedStyles","combinedStyles","oldStyles","oldClassNames","className","classList","set","hash","injectedClassNames","_web","_classNames","newClassNames","concat","from","Set","addListeners","applyStyles","removeAttribute","selectVariants","clear","entries","key","value","setScopedTheme","theme","getScopedTheme","UnistylesShadowRegistry"],"sourceRoot":"../../../src","sources":["web/shadowRegistry.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["deepMergeObjects","extractSecrets","extractUnistyleDependencies","getVariants","UnistyleDependency","UnistylesShadowRegistry","name","__type","equals","toString","dispose","scopedTheme","undefined","disposeMap","Map","constructor","services","add","ref","hash","HTMLElement","registry","connect","addStyles","unistyles","getParsedStyles","allStyles","map","unistyle","secrets","__uni__key","__uni__stylesheet","__uni__args","__uni_variants","variants","newComputedStylesheet","getComputedStylesheet","style","result","variantsResult","resultWithVariants","dependencies","addDependenciesToStylesheet","parsedStyles","existingHash","injectedClassNames","_web","_classNames","injectedClassName","Array","isArray","join","filteredDependencies","state","CSSVars","filter","dependency","Theme","set","listener","addListeners","applyStyles","setScopedTheme","theme","getScopedTheme","remove","removed","get","delete"],"sourceRoot":"../../../src","sources":["web/shadowRegistry.ts"],"mappings":"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","ignoreList":[]}
@@ -1,19 +1,27 @@
1
1
  "use strict";
2
2
 
3
- import { UnistylesRuntime } from './runtime';
4
- import { error, isServer, schemeToTheme } from './utils';
5
- import { UnistylesListener } from './listener';
3
+ import { error, hyphenate, isServer, schemeToTheme } from './utils';
6
4
  import { UnistyleDependency } from '../specs/NativePlatform';
7
- class UnistylesStateBuilder {
5
+ export class UnistylesState {
6
+ isInitialized = false;
8
7
  themes = new Map();
8
+ cssThemes = new Map();
9
+ CSSVars = true;
9
10
  matchingBreakpoints = new Map();
10
11
  get breakpoint() {
11
12
  const [currentBreakpoint] = Array.from(this.matchingBreakpoints).reverse().find(([_key, value]) => value) ?? [];
12
13
  return currentBreakpoint;
13
14
  }
14
15
  hasAdaptiveThemes = false;
16
+ constructor(services) {
17
+ this.services = services;
18
+ }
15
19
  init = config => {
16
- this.initThemes(config.themes);
20
+ if (this.isInitialized) {
21
+ return;
22
+ }
23
+ this.isInitialized = true;
24
+ this.initThemes(config.themes, config.settings?.CSSVars);
17
25
  this.initBreakpoints(config.breakpoints);
18
26
  if (config.settings) {
19
27
  this.initSettings(config.settings);
@@ -21,11 +29,33 @@ class UnistylesStateBuilder {
21
29
  if (isServer()) {
22
30
  return;
23
31
  }
24
- UnistylesListener.initListeners();
32
+
33
+ // Ensure we have a themeName before calling this
34
+ // classList.add throws a "SyntaxError" DOMException if one of the arguments is an empty string.
35
+ if (!this.hasAdaptiveThemes && this.CSSVars && this.themeName) {
36
+ document.querySelector(':root')?.classList.add(this.themeName);
37
+ }
38
+ this.services.listener.initListeners();
25
39
  };
26
- initThemes = (themes = {}) => {
40
+ initThemes = (themes = {}, CSSVars = true) => {
41
+ this.CSSVars = CSSVars;
27
42
  Object.entries(themes).forEach(([themeName, theme]) => {
28
43
  this.themes.set(themeName, theme);
44
+ if (CSSVars) {
45
+ this.services.registry.css.addTheme(themeName, theme);
46
+ const convertTheme = (key, value, prev = '-') => {
47
+ if (typeof value === 'object' && value !== null) {
48
+ return [key, Object.fromEntries(Object.entries(value).map(([nestedKey, nestedValue]) => convertTheme(nestedKey, nestedValue, `${prev}-${key}`)))];
49
+ }
50
+ if (typeof value === 'string') {
51
+ return [key, `var(${prev}-${hyphenate(key)})`];
52
+ }
53
+ return [key, value];
54
+ };
55
+ this.cssThemes.set(themeName, Object.fromEntries(Object.entries(theme).map(([key, value]) => {
56
+ return convertTheme(key, value);
57
+ })));
58
+ }
29
59
  });
30
60
  };
31
61
  initSettings = settings => {
@@ -39,7 +69,7 @@ class UnistylesStateBuilder {
39
69
  if (!this.themes.get('light') || !this.themes.get('dark')) {
40
70
  throw error(`You're trying to enable adaptiveThemes, but you didn't register both 'light' and 'dark' themes.`);
41
71
  }
42
- this.themeName = schemeToTheme(UnistylesRuntime.colorScheme);
72
+ this.themeName = schemeToTheme(this.services.runtime.colorScheme);
43
73
  return;
44
74
  }
45
75
  if (settings.initialTheme) {
@@ -67,10 +97,9 @@ class UnistylesStateBuilder {
67
97
  this.matchingBreakpoints.set(breakpoint, mediaQuery.matches);
68
98
  mediaQuery.addEventListener('change', event => {
69
99
  this.matchingBreakpoints.set(breakpoint, event.matches);
70
- UnistylesListener.emitChange(UnistyleDependency.Breakpoints);
100
+ this.services.listener.emitChange(UnistyleDependency.Breakpoints);
71
101
  });
72
102
  });
73
103
  };
74
104
  }
75
- export const UnistylesState = new UnistylesStateBuilder();
76
105
  //# sourceMappingURL=state.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["UnistylesRuntime","error","isServer","schemeToTheme","UnistylesListener","UnistyleDependency","UnistylesStateBuilder","themes","Map","matchingBreakpoints","breakpoint","currentBreakpoint","Array","from","reverse","find","_key","value","hasAdaptiveThemes","init","config","initThemes","initBreakpoints","breakpoints","settings","initSettings","initListeners","Object","entries","forEach","themeName","theme","set","adaptiveThemes","initialTheme","get","colorScheme","breakpointsEntries","length","sort","a","b","mediaQuery","window","matchMedia","matches","addEventListener","event","emitChange","Breakpoints","UnistylesState"],"sourceRoot":"../../../src","sources":["web/state.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["error","hyphenate","isServer","schemeToTheme","UnistyleDependency","UnistylesState","isInitialized","themes","Map","cssThemes","CSSVars","matchingBreakpoints","breakpoint","currentBreakpoint","Array","from","reverse","find","_key","value","hasAdaptiveThemes","constructor","services","init","config","initThemes","settings","initBreakpoints","breakpoints","initSettings","themeName","document","querySelector","classList","add","listener","initListeners","Object","entries","forEach","theme","set","registry","css","addTheme","convertTheme","key","prev","fromEntries","map","nestedKey","nestedValue","adaptiveThemes","initialTheme","get","runtime","colorScheme","breakpointsEntries","length","sort","a","b","mediaQuery","window","matchMedia","matches","addEventListener","event","emitChange","Breakpoints"],"sourceRoot":"../../../src","sources":["web/state.ts"],"mappings":";;AAIA,SAASA,KAAK,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,SAAS;AACnE,SAASC,kBAAkB,QAAQ,yBAAyB;AAM5D,OAAO,MAAMC,cAAc,CAAC;EACxBC,aAAa,GAAG,KAAK;EACrBC,MAAM,GAAG,IAAIC,GAAG,CAAyB,CAAC;EAC1CC,SAAS,GAAG,IAAID,GAAG,CAAyB,CAAC;EAE7CE,OAAO,GAAG,IAAI;EAENC,mBAAmB,GAAG,IAAIH,GAAG,CAAkB,CAAC;EAExD,IAAII,UAAUA,CAAA,EAAG;IACb,MAAM,CAACC,iBAAiB,CAAC,GAAGC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACJ,mBAAmB,CAAC,CAC3DK,OAAO,CAAC,CAAC,CACTC,IAAI,CAAC,CAAC,CAACC,IAAI,EAAEC,KAAK,CAAC,KAAKA,KAAK,CAAC,IAAI,EAAE;IAEzC,OAAON,iBAAiB;EAC5B;EAIAO,iBAAiB,GAAG,KAAK;EAEzBC,WAAWA,CAASC,QAA2B,EAAE;IAAA,KAA7BA,QAA2B,GAA3BA,QAA2B;EAAG;EAElDC,IAAI,GAAIC,MAAuB,IAAK;IAChC,IAAI,IAAI,CAAClB,aAAa,EAAE;MACpB;IACJ;IAEA,IAAI,CAACA,aAAa,GAAG,IAAI;IACzB,IAAI,CAACmB,UAAU,CAACD,MAAM,CAACjB,MAAM,EAAEiB,MAAM,CAACE,QAAQ,EAAEhB,OAAO,CAAC;IACxD,IAAI,CAACiB,eAAe,CAACH,MAAM,CAACI,WAAW,CAAC;IAExC,IAAIJ,MAAM,CAACE,QAAQ,EAAE;MACjB,IAAI,CAACG,YAAY,CAACL,MAAM,CAACE,QAA6B,CAAC;IAC3D;IAEA,IAAIxB,QAAQ,CAAC,CAAC,EAAE;MACZ;IACJ;;IAEA;IACA;IACA,IAAI,CAAC,IAAI,CAACkB,iBAAiB,IAAI,IAAI,CAACV,OAAO,IAAI,IAAI,CAACoB,SAAS,EAAE;MAC3DC,QAAQ,CAACC,aAAa,CAAC,OAAO,CAAC,EAAEC,SAAS,CAACC,GAAG,CAAC,IAAI,CAACJ,SAAS,CAAC;IAClE;IAEA,IAAI,CAACR,QAAQ,CAACa,QAAQ,CAACC,aAAa,CAAC,CAAC;EAC1C,CAAC;EAEOX,UAAU,GAAGA,CAAClB,MAAM,GAAG,CAAC,CAAoB,EAAEG,OAAO,GAAG,IAAI,KAAK;IACrE,IAAI,CAACA,OAAO,GAAGA,OAAO;IAEtB2B,MAAM,CAACC,OAAO,CAAC/B,MAAM,CAAC,CAACgC,OAAO,CAAC,CAAC,CAACT,SAAS,EAAEU,KAAK,CAAC,KAAK;MACnD,IAAI,CAACjC,MAAM,CAACkC,GAAG,CAACX,SAAS,EAAEU,KAAiB,CAAC;MAE7C,IAAI9B,OAAO,EAAE;QACT,IAAI,CAACY,QAAQ,CAACoB,QAAQ,CAACC,GAAG,CAACC,QAAQ,CAACd,SAAS,EAAEU,KAAK,CAAC;QAErD,MAAMK,YAAY,GAAGA,CAACC,GAAW,EAAE3B,KAAU,EAAE4B,IAAI,GAAG,GAAG,KAAoB;UACzE,IAAI,OAAO5B,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,EAAE;YAC7C,OAAO,CAAC2B,GAAG,EAAET,MAAM,CAACW,WAAW,CAACX,MAAM,CAACC,OAAO,CAACnB,KAAK,CAAC,CAAC8B,GAAG,CAAC,CAAC,CAACC,SAAS,EAAEC,WAAW,CAAC,KAAKN,YAAY,CAACK,SAAS,EAAEC,WAAW,EAAE,GAAGJ,IAAI,IAAID,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;UACrJ;UAEA,IAAI,OAAO3B,KAAK,KAAK,QAAQ,EAAE;YAC3B,OAAO,CAAC2B,GAAG,EAAE,OAAOC,IAAI,IAAI9C,SAAS,CAAC6C,GAAG,CAAC,GAAG,CAAC;UAClD;UAEA,OAAO,CAACA,GAAG,EAAE3B,KAAK,CAAC;QACvB,CAAC;QAED,IAAI,CAACV,SAAS,CAACgC,GAAG,CAACX,SAAS,EAAEO,MAAM,CAACW,WAAW,CAACX,MAAM,CAACC,OAAO,CAACE,KAAK,CAAC,CAACS,GAAG,CAAC,CAAC,CAACH,GAAG,EAAE3B,KAAK,CAAC,KAAK;UACzF,OAAO0B,YAAY,CAACC,GAAG,EAAE3B,KAAK,CAAC;QACnC,CAAC,CAAC,CAAmB,CAAC;MAC1B;IACJ,CAAC,CAAC;EACN,CAAC;EAEOU,YAAY,GAAIH,QAA2B,IAAK;IACpD,IAAI,CAACN,iBAAiB,GAAGM,QAAQ,EAAE0B,cAAc,IAAI,KAAK;IAE1D,IAAI1B,QAAQ,CAAC2B,YAAY,IAAI3B,QAAQ,CAAC0B,cAAc,EAAE;MAClD,MAAMpD,KAAK,CAAC,0GAA0G,CAAC;IAC3H;;IAEA;IACA,IAAI0B,QAAQ,CAAC0B,cAAc,EAAE;MACzB,IAAI,CAAC,IAAI,CAAC7C,MAAM,CAAC+C,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC/C,MAAM,CAAC+C,GAAG,CAAC,MAAM,CAAC,EAAE;QACvD,MAAMtD,KAAK,CAAC,iGAAiG,CAAC;MAClH;MAEA,IAAI,CAAC8B,SAAS,GAAG3B,aAAa,CAAC,IAAI,CAACmB,QAAQ,CAACiC,OAAO,CAACC,WAAW,CAAiB;MAEjF;IACJ;IAEA,IAAI9B,QAAQ,CAAC2B,YAAY,EAAE;MACvB,MAAMA,YAAY,GAAG,OAAO3B,QAAQ,CAAC2B,YAAY,KAAK,UAAU,GAC1D3B,QAAQ,CAAC2B,YAAY,CAAC,CAAC,GACvB3B,QAAQ,CAAC2B,YAAY;MAE3B,IAAI,CAAC,IAAI,CAAC9C,MAAM,CAAC+C,GAAG,CAACD,YAAY,CAAC,EAAE;QAChC,MAAMrD,KAAK,CAAC,kCAAkCqD,YAAY,6BAA6B,CAAC;MAC5F;MAEA,IAAI,CAACvB,SAAS,GAAGuB,YAAY;IACjC;EACJ,CAAC;EAEO1B,eAAe,GAAGA,CAACC,WAAW,GAAG,CAAC,CAAyB,KAAK;IACpE,IAAI,CAACA,WAAW,GAAGA,WAAW;IAC9B,MAAM6B,kBAAkB,GAAGpB,MAAM,CAACC,OAAO,CAACV,WAAW,CAAC;IAEtD,IAAI6B,kBAAkB,CAACC,MAAM,KAAK,CAAC,EAAE;MACjC,MAAM1D,KAAK,CAAC,sDAAsD,CAAC;IACvE;IAEA,IAAIyD,kBAAkB,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;MACpC,MAAMzD,KAAK,CAAC,6DAA6D,CAAC;IAC9E;IAEAyD,kBAAkB,CACbE,IAAI,CAAC,CAAC,GAAGC,CAAC,CAAC,EAAE,GAAGC,CAAC,CAAC,KAAKD,CAAC,GAAGC,CAAC,CAAC,CAC7BtB,OAAO,CAAC,CAAC,CAAC3B,UAAU,EAAEO,KAAK,CAAC,KAAK;MAC9B,IAAIjB,QAAQ,CAAC,CAAC,EAAE;QACZ;MACJ;MAEA,MAAM4D,UAAU,GAAGC,MAAM,CAACC,UAAU,CAAC,eAAe7C,KAAK,KAAK,CAAC;MAC/D,IAAI,CAACR,mBAAmB,CAAC8B,GAAG,CAAC7B,UAAU,EAAEkD,UAAU,CAACG,OAAO,CAAC;MAE5DH,UAAU,CAACI,gBAAgB,CAAC,QAAQ,EAAEC,KAAK,IAAI;QAC3C,IAAI,CAACxD,mBAAmB,CAAC8B,GAAG,CAAC7B,UAAU,EAAEuD,KAAK,CAACF,OAAO,CAAC;QACvD,IAAI,CAAC3C,QAAQ,CAACa,QAAQ,CAACiC,UAAU,CAAChE,kBAAkB,CAACiE,WAAW,CAAC;MACrE,CAAC,CAAC;IACN,CAAC,CAAC;EACV,CAAC;AACL","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["web/types.ts"],"mappings":"","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
 
3
3
  export const reduceObject = (obj, reducer) => Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, reducer(value, key)]));
4
4
  export const keyInObject = (obj, key) => key in obj;
5
- export const isServer = () => typeof window === 'undefined';
5
+ export const isServer = () => typeof window === 'undefined' || typeof document === 'undefined';
6
6
  export const error = message => new Error(`Unistyles: ${message}`);
7
7
  export const equal = (a, b) => {
8
8
  if (Object.is(a, b)) {
@@ -17,12 +17,31 @@ export const equal = (a, b) => {
17
17
  }
18
18
  return keysA.every(key => Object.is(a[key], b[key]) && Object.prototype.hasOwnProperty.call(b, key));
19
19
  };
20
+ export const hyphenate = propertyName => propertyName.replace(/[A-Z]/g, m => `-${m.toLowerCase()}`);
21
+ export const serialize = obj => {
22
+ if (typeof obj !== 'object') {
23
+ return String(obj);
24
+ }
25
+ const sortedKeys = Object.keys(obj).sort();
26
+ const sortedKeyValuePairs = sortedKeys.map(key => `${key}:${serialize(obj[key])}`);
27
+ return `{${sortedKeyValuePairs.join(',')}}`;
28
+ };
29
+
30
+ // Based on https://github.com/bryc/code/blob/master/jshash/experimental/cyrb53.js
31
+ const cyrb53 = (data, seed = 0) => {
32
+ let h1 = 0xdeadbeef ^ seed;
33
+ let h2 = 0x41c6ce57 ^ seed;
34
+ for (let i = 0, ch; i < data.length; i++) {
35
+ ch = data.charCodeAt(i);
36
+ h1 = Math.imul(h1 ^ ch, 2654435761);
37
+ h2 = Math.imul(h2 ^ ch, 1597334677);
38
+ }
39
+ h1 = Math.imul(h1 ^ h1 >>> 16, 2246822507) ^ Math.imul(h2 ^ h2 >>> 13, 3266489909);
40
+ h2 = Math.imul(h2 ^ h2 >>> 16, 2246822507) ^ Math.imul(h1 ^ h1 >>> 13, 3266489909);
41
+ return 4294967296 * (2097151 & h2) + (h1 >>> 0);
42
+ };
20
43
  export const generateHash = value => {
21
- const str = JSON.stringify(value);
22
- let hasher = 5381;
23
- let length = str.length;
24
- while (length--) hasher = hasher * 33 ^ str.charCodeAt(length);
25
- return `unistyles-${(hasher >>> 0).toString(36)}`;
44
+ const serialized = serialize(value);
45
+ return `unistyles-${cyrb53(serialized).toString(36)}`;
26
46
  };
27
- export const hyphenate = propertyName => propertyName.replace(/[A-Z]/g, m => `-${m.toLowerCase()}`);
28
47
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["reduceObject","obj","reducer","Object","fromEntries","entries","map","key","value","keyInObject","isServer","window","error","message","Error","equal","a","b","is","keysA","keys","length","every","prototype","hasOwnProperty","call","generateHash","str","JSON","stringify","hasher","charCodeAt","toString","hyphenate","propertyName","replace","m","toLowerCase"],"sourceRoot":"../../../../src","sources":["web/utils/common.ts"],"mappings":";;AAAA,OAAO,MAAMA,YAAY,GAAGA,CACxBC,GAAS,EACTC,OAA+D,KAC9DC,MAAM,CAACC,WAAW,CAACD,MAAM,CAACE,OAAO,CAACJ,GAAG,CAAC,CAACK,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,KAAK,CAACD,GAAG,EAAEL,OAAO,CAACM,KAAK,EAAsBD,GAAG,CAAC,CAAC,CAAC,CAAoC;AAErJ,OAAO,MAAME,WAAW,GAAGA,CAAgCR,GAAM,EAAEM,GAAgB,KAAqBA,GAAG,IAAIN,GAAG;AAElH,OAAO,MAAMS,QAAQ,GAAGA,CAAA,KAAM,OAAOC,MAAM,KAAK,WAAW;AAE3D,OAAO,MAAMC,KAAK,GAAIC,OAAe,IAAK,IAAIC,KAAK,CAAC,cAAcD,OAAO,EAAE,CAAC;AAE5E,OAAO,MAAME,KAAK,GAAGA,CAAIC,CAAI,EAAEC,CAAI,KAAK;EACpC,IAAId,MAAM,CAACe,EAAE,CAACF,CAAC,EAAEC,CAAC,CAAC,EAAE;IACjB,OAAO,IAAI;EACf;EAEA,IACI,OAAOD,CAAC,KAAK,QAAQ,IAClBA,CAAC,KAAK,IAAI,IACV,OAAOC,CAAC,KAAK,QAAQ,IACrBA,CAAC,KAAK,IAAI,EACf;IACE,OAAO,KAAK;EAChB;EAEA,MAAME,KAAK,GAAGhB,MAAM,CAACiB,IAAI,CAACJ,CAAC,CAAmB;EAE9C,IAAIG,KAAK,CAACE,MAAM,KAAKlB,MAAM,CAACiB,IAAI,CAACH,CAAC,CAAC,CAACI,MAAM,EAAE;IACxC,OAAO,KAAK;EAChB;EAEA,OAAOF,KAAK,CAACG,KAAK,CAACf,GAAG,IAAIJ,MAAM,CAACe,EAAE,CAACF,CAAC,CAACT,GAAG,CAAC,EAAEU,CAAC,CAACV,GAAG,CAAC,CAAC,IAAIJ,MAAM,CAACoB,SAAS,CAACC,cAAc,CAACC,IAAI,CAACR,CAAC,EAAEV,GAAG,CAAC,CAAC;AACxG,CAAC;AAED,OAAO,MAAMmB,YAAY,GAAIlB,KAAU,IAAK;EACxC,MAAMmB,GAAG,GAAGC,IAAI,CAACC,SAAS,CAACrB,KAAK,CAAC;EACjC,IAAIsB,MAAM,GAAG,IAAI;EACjB,IAAIT,MAAM,GAAGM,GAAG,CAACN,MAAM;EAEvB,OAAOA,MAAM,EAAE,EAAES,MAAM,GAAIA,MAAM,GAAG,EAAE,GAAIH,GAAG,CAACI,UAAU,CAACV,MAAM,CAAC;EAEhE,OAAO,aAAa,CAACS,MAAM,KAAK,CAAC,EAAEE,QAAQ,CAAC,EAAE,CAAC,EAAE;AACrD,CAAC;AAED,OAAO,MAAMC,SAAS,GAAIC,YAAoB,IAAKA,YAAY,CAACC,OAAO,CAAC,QAAQ,EAAGC,CAAS,IAAK,IAAIA,CAAC,CAACC,WAAW,CAAC,CAAC,EAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["reduceObject","obj","reducer","Object","fromEntries","entries","map","key","value","keyInObject","isServer","window","document","error","message","Error","equal","a","b","is","keysA","keys","length","every","prototype","hasOwnProperty","call","hyphenate","propertyName","replace","m","toLowerCase","serialize","String","sortedKeys","sort","sortedKeyValuePairs","join","cyrb53","data","seed","h1","h2","i","ch","charCodeAt","Math","imul","generateHash","serialized","toString"],"sourceRoot":"../../../../src","sources":["web/utils/common.ts"],"mappings":"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","ignoreList":[]}