react-native-unistyles 3.0.24 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/android/src/main/cxx/NativeUnistylesModule.cpp +7 -4
  2. package/android/src/main/cxx/NativeUnistylesModule.h +9 -3
  3. package/android/src/main/cxx/cpp-adapter.cpp +1 -1
  4. package/android/src/main/java/com/unistyles/NativePlatform+android.kt +22 -4
  5. package/android/src/main/java/com/unistyles/UnistylesModule.kt +1 -0
  6. package/cxx/core/StyleSheetRegistry.cpp +11 -11
  7. package/cxx/core/StyleSheetRegistry.h +4 -4
  8. package/cxx/core/UnistylesRegistry.cpp +27 -14
  9. package/cxx/core/UnistylesRegistry.h +4 -1
  10. package/cxx/hybridObjects/HybridShadowRegistry.cpp +5 -0
  11. package/cxx/hybridObjects/HybridStyleSheet.cpp +2 -14
  12. package/cxx/hybridObjects/HybridStyleSheet.h +0 -2
  13. package/ios/UnistylesModuleOnLoad.mm +10 -2
  14. package/lib/commonjs/components/AdaptiveTheme.js +1 -1
  15. package/lib/commonjs/components/AdaptiveTheme.js.map +1 -1
  16. package/lib/commonjs/components/ApplyScopedTheme.js.map +1 -1
  17. package/lib/commonjs/components/Display.js.map +1 -1
  18. package/lib/commonjs/components/Hide.js.map +1 -1
  19. package/lib/commonjs/components/NamedTheme.js +2 -2
  20. package/lib/commonjs/components/NamedTheme.js.map +1 -1
  21. package/lib/commonjs/components/ScopedTheme.js.map +1 -1
  22. package/lib/commonjs/components/native/ActivityIndicator.js.map +1 -1
  23. package/lib/commonjs/components/native/Animated.js.map +1 -1
  24. package/lib/commonjs/components/native/FlatList.js.map +1 -1
  25. package/lib/commonjs/components/native/Image.js.map +1 -1
  26. package/lib/commonjs/components/native/Image.native.js.map +1 -1
  27. package/lib/commonjs/components/native/ImageBackground.js.map +1 -1
  28. package/lib/commonjs/components/native/ImageBackground.native.js.map +1 -1
  29. package/lib/commonjs/components/native/KeyboardAvoidingView.js.map +1 -1
  30. package/lib/commonjs/components/native/NativeText.native.js.map +1 -1
  31. package/lib/commonjs/components/native/NativeView.native.js.map +1 -1
  32. package/lib/commonjs/components/native/Pressable.js.map +1 -1
  33. package/lib/commonjs/components/native/Pressable.native.js.map +1 -1
  34. package/lib/commonjs/components/native/RefreshControl.js.map +1 -1
  35. package/lib/commonjs/components/native/SafeAreaView.js.map +1 -1
  36. package/lib/commonjs/components/native/ScrollView.js.map +1 -1
  37. package/lib/commonjs/components/native/SectionList.js.map +1 -1
  38. package/lib/commonjs/components/native/Switch.js.map +1 -1
  39. package/lib/commonjs/components/native/Text.js.map +1 -1
  40. package/lib/commonjs/components/native/TextInput.js.map +1 -1
  41. package/lib/commonjs/components/native/TouchableHighlight.js.map +1 -1
  42. package/lib/commonjs/components/native/TouchableOpacity.js.map +1 -1
  43. package/lib/commonjs/components/native/View.js.map +1 -1
  44. package/lib/commonjs/components/native/VirtualizedList.js.map +1 -1
  45. package/lib/commonjs/core/createUnistylesElement.js.map +1 -1
  46. package/lib/commonjs/core/createUnistylesElement.native.js.map +1 -1
  47. package/lib/commonjs/core/createUnistylesImageBackground.js.map +1 -1
  48. package/lib/commonjs/core/getClassname.js.map +1 -1
  49. package/lib/commonjs/core/parseBoxShadow.js.map +1 -1
  50. package/lib/commonjs/core/useProxifiedUnistyles/listener.js.map +1 -1
  51. package/lib/commonjs/core/useProxifiedUnistyles/listener.native.js +0 -1
  52. package/lib/commonjs/core/useProxifiedUnistyles/listener.native.js.map +1 -1
  53. package/lib/commonjs/core/useProxifiedUnistyles/useProxifiedUnistyles.js.map +1 -1
  54. package/lib/commonjs/core/useUnistyles.js.map +1 -1
  55. package/lib/commonjs/core/warn.js.map +1 -1
  56. package/lib/commonjs/core/withUnistyles/withUnistyles.js +3 -1
  57. package/lib/commonjs/core/withUnistyles/withUnistyles.js.map +1 -1
  58. package/lib/commonjs/core/withUnistyles/withUnistyles.native.js +6 -0
  59. package/lib/commonjs/core/withUnistyles/withUnistyles.native.js.map +1 -1
  60. package/lib/commonjs/hooks/useMedia.js.map +1 -1
  61. package/lib/commonjs/hooks/useMedia.native.js +0 -1
  62. package/lib/commonjs/hooks/useMedia.native.js.map +1 -1
  63. package/lib/commonjs/index.js +6 -0
  64. package/lib/commonjs/index.js.map +1 -1
  65. package/lib/commonjs/mocks.js +28 -8
  66. package/lib/commonjs/mocks.js.map +1 -1
  67. package/lib/commonjs/mq.js.map +1 -1
  68. package/lib/commonjs/reanimated/useAnimatedTheme.js.map +1 -1
  69. package/lib/commonjs/reanimated/useAnimatedTheme.native.js +0 -1
  70. package/lib/commonjs/reanimated/useAnimatedTheme.native.js.map +1 -1
  71. package/lib/commonjs/reanimated/variant/useAnimatedVariantColor.js.map +1 -1
  72. package/lib/commonjs/reanimated/variant/useUpdateVariantColor.js.map +1 -1
  73. package/lib/commonjs/reanimated/variant/useUpdateVariantColor.native.js +0 -1
  74. package/lib/commonjs/reanimated/variant/useUpdateVariantColor.native.js.map +1 -1
  75. package/lib/commonjs/server/getServerUnistyles.js.map +1 -1
  76. package/lib/commonjs/server/useServerUnistyles.js.map +1 -1
  77. package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js.map +1 -1
  78. package/lib/commonjs/specs/ShadowRegistry/index.js +9 -5
  79. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
  80. package/lib/commonjs/specs/StatusBar/index.js.map +1 -1
  81. package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
  82. package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js.map +1 -1
  83. package/lib/commonjs/specs/UnistylesRuntime/index.js.map +1 -1
  84. package/lib/commonjs/specs/index.native.js +1 -1
  85. package/lib/commonjs/specs/index.native.js.map +1 -1
  86. package/lib/commonjs/specs/types.js.map +1 -1
  87. package/lib/commonjs/types/index.js.map +1 -1
  88. package/lib/commonjs/types/stylesheet.js.map +1 -1
  89. package/lib/commonjs/utils.js.map +1 -1
  90. package/lib/commonjs/web/convert/index.js.map +1 -1
  91. package/lib/commonjs/web/convert/object/boxShadow.js.map +1 -1
  92. package/lib/commonjs/web/convert/object/filter.js.map +1 -1
  93. package/lib/commonjs/web/convert/object/objectStyle.js.map +1 -1
  94. package/lib/commonjs/web/convert/object/transform.js.map +1 -1
  95. package/lib/commonjs/web/convert/pseudo.js.map +1 -1
  96. package/lib/commonjs/web/convert/shadow/boxShadow.js.map +1 -1
  97. package/lib/commonjs/web/convert/shadow/getShadowBreakpoints.js.map +1 -1
  98. package/lib/commonjs/web/convert/shadow/textShadow.js.map +1 -1
  99. package/lib/commonjs/web/convert/types.js.map +1 -1
  100. package/lib/commonjs/web/convert/utils.js.map +1 -1
  101. package/lib/commonjs/web/create.js +1 -5
  102. package/lib/commonjs/web/create.js.map +1 -1
  103. package/lib/commonjs/web/css/core.js.map +1 -1
  104. package/lib/commonjs/web/css/state.js.map +1 -1
  105. package/lib/commonjs/web/css/utils.js.map +1 -1
  106. package/lib/commonjs/web/index.js +1 -0
  107. package/lib/commonjs/web/index.js.map +1 -1
  108. package/lib/commonjs/web/listener.js +29 -8
  109. package/lib/commonjs/web/listener.js.map +1 -1
  110. package/lib/commonjs/web/registry.js.map +1 -1
  111. package/lib/commonjs/web/runtime.js +1 -2
  112. package/lib/commonjs/web/runtime.js.map +1 -1
  113. package/lib/commonjs/web/shadowRegistry.js.map +1 -1
  114. package/lib/commonjs/web/state.js +3 -3
  115. package/lib/commonjs/web/state.js.map +1 -1
  116. package/lib/commonjs/web/utils/common.js.map +1 -1
  117. package/lib/commonjs/web/utils/createUnistylesRef.js.map +1 -1
  118. package/lib/commonjs/web/utils/unistyle.js +2 -0
  119. package/lib/commonjs/web/utils/unistyle.js.map +1 -1
  120. package/lib/commonjs/web/variants.js.map +1 -1
  121. package/lib/commonjs/web-only/getWebProps.js.map +1 -1
  122. package/lib/commonjs/web-only/index.js.map +1 -1
  123. package/lib/module/components/AdaptiveTheme.js +1 -1
  124. package/lib/module/components/AdaptiveTheme.js.map +1 -1
  125. package/lib/module/components/ApplyScopedTheme.js.map +1 -1
  126. package/lib/module/components/Display.js.map +1 -1
  127. package/lib/module/components/Hide.js.map +1 -1
  128. package/lib/module/components/NamedTheme.js +2 -2
  129. package/lib/module/components/NamedTheme.js.map +1 -1
  130. package/lib/module/components/ScopedTheme.js.map +1 -1
  131. package/lib/module/components/native/ActivityIndicator.js.map +1 -1
  132. package/lib/module/components/native/Animated.js.map +1 -1
  133. package/lib/module/components/native/FlatList.js.map +1 -1
  134. package/lib/module/components/native/Image.js.map +1 -1
  135. package/lib/module/components/native/Image.native.js.map +1 -1
  136. package/lib/module/components/native/ImageBackground.js.map +1 -1
  137. package/lib/module/components/native/ImageBackground.native.js.map +1 -1
  138. package/lib/module/components/native/KeyboardAvoidingView.js.map +1 -1
  139. package/lib/module/components/native/NativeText.native.js.map +1 -1
  140. package/lib/module/components/native/NativeView.native.js.map +1 -1
  141. package/lib/module/components/native/Pressable.js.map +1 -1
  142. package/lib/module/components/native/Pressable.native.js.map +1 -1
  143. package/lib/module/components/native/RefreshControl.js.map +1 -1
  144. package/lib/module/components/native/SafeAreaView.js.map +1 -1
  145. package/lib/module/components/native/ScrollView.js.map +1 -1
  146. package/lib/module/components/native/SectionList.js.map +1 -1
  147. package/lib/module/components/native/Switch.js.map +1 -1
  148. package/lib/module/components/native/Text.js.map +1 -1
  149. package/lib/module/components/native/TextInput.js.map +1 -1
  150. package/lib/module/components/native/TouchableHighlight.js.map +1 -1
  151. package/lib/module/components/native/TouchableOpacity.js.map +1 -1
  152. package/lib/module/components/native/View.js.map +1 -1
  153. package/lib/module/components/native/VirtualizedList.js.map +1 -1
  154. package/lib/module/core/createUnistylesElement.js.map +1 -1
  155. package/lib/module/core/createUnistylesElement.native.js.map +1 -1
  156. package/lib/module/core/createUnistylesImageBackground.js.map +1 -1
  157. package/lib/module/core/getClassname.js.map +1 -1
  158. package/lib/module/core/parseBoxShadow.js.map +1 -1
  159. package/lib/module/core/useProxifiedUnistyles/listener.js.map +1 -1
  160. package/lib/module/core/useProxifiedUnistyles/listener.native.js +0 -1
  161. package/lib/module/core/useProxifiedUnistyles/listener.native.js.map +1 -1
  162. package/lib/module/core/useProxifiedUnistyles/useProxifiedUnistyles.js.map +1 -1
  163. package/lib/module/core/useUnistyles.js.map +1 -1
  164. package/lib/module/core/warn.js.map +1 -1
  165. package/lib/module/core/withUnistyles/withUnistyles.js +3 -1
  166. package/lib/module/core/withUnistyles/withUnistyles.js.map +1 -1
  167. package/lib/module/core/withUnistyles/withUnistyles.native.js +6 -0
  168. package/lib/module/core/withUnistyles/withUnistyles.native.js.map +1 -1
  169. package/lib/module/hooks/useMedia.js.map +1 -1
  170. package/lib/module/hooks/useMedia.native.js +0 -1
  171. package/lib/module/hooks/useMedia.native.js.map +1 -1
  172. package/lib/module/index.js +1 -0
  173. package/lib/module/index.js.map +1 -1
  174. package/lib/module/mocks.js +28 -8
  175. package/lib/module/mocks.js.map +1 -1
  176. package/lib/module/mq.js.map +1 -1
  177. package/lib/module/reanimated/useAnimatedTheme.js.map +1 -1
  178. package/lib/module/reanimated/useAnimatedTheme.native.js +0 -1
  179. package/lib/module/reanimated/useAnimatedTheme.native.js.map +1 -1
  180. package/lib/module/reanimated/variant/useAnimatedVariantColor.js.map +1 -1
  181. package/lib/module/reanimated/variant/useUpdateVariantColor.js.map +1 -1
  182. package/lib/module/reanimated/variant/useUpdateVariantColor.native.js +0 -1
  183. package/lib/module/reanimated/variant/useUpdateVariantColor.native.js.map +1 -1
  184. package/lib/module/server/getServerUnistyles.js.map +1 -1
  185. package/lib/module/server/useServerUnistyles.js.map +1 -1
  186. package/lib/module/specs/NativePlatform/NativePlatform.nitro.js.map +1 -1
  187. package/lib/module/specs/ShadowRegistry/index.js +9 -5
  188. package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
  189. package/lib/module/specs/StatusBar/index.js.map +1 -1
  190. package/lib/module/specs/StyleSheet/index.js.map +1 -1
  191. package/lib/module/specs/TurboUnistyles/NativeTurboUnistyles.js.map +1 -1
  192. package/lib/module/specs/UnistylesRuntime/index.js.map +1 -1
  193. package/lib/module/specs/index.native.js +1 -1
  194. package/lib/module/specs/index.native.js.map +1 -1
  195. package/lib/module/specs/types.js.map +1 -1
  196. package/lib/module/types/index.js.map +1 -1
  197. package/lib/module/types/stylesheet.js.map +1 -1
  198. package/lib/module/utils.js.map +1 -1
  199. package/lib/module/web/convert/index.js.map +1 -1
  200. package/lib/module/web/convert/object/boxShadow.js.map +1 -1
  201. package/lib/module/web/convert/object/filter.js.map +1 -1
  202. package/lib/module/web/convert/object/objectStyle.js.map +1 -1
  203. package/lib/module/web/convert/object/transform.js.map +1 -1
  204. package/lib/module/web/convert/pseudo.js.map +1 -1
  205. package/lib/module/web/convert/shadow/boxShadow.js.map +1 -1
  206. package/lib/module/web/convert/shadow/getShadowBreakpoints.js.map +1 -1
  207. package/lib/module/web/convert/shadow/textShadow.js.map +1 -1
  208. package/lib/module/web/convert/types.js.map +1 -1
  209. package/lib/module/web/convert/utils.js.map +1 -1
  210. package/lib/module/web/create.js +2 -6
  211. package/lib/module/web/create.js.map +1 -1
  212. package/lib/module/web/css/core.js.map +1 -1
  213. package/lib/module/web/css/state.js.map +1 -1
  214. package/lib/module/web/css/utils.js.map +1 -1
  215. package/lib/module/web/index.js +1 -0
  216. package/lib/module/web/index.js.map +1 -1
  217. package/lib/module/web/listener.js +29 -8
  218. package/lib/module/web/listener.js.map +1 -1
  219. package/lib/module/web/registry.js.map +1 -1
  220. package/lib/module/web/runtime.js +1 -2
  221. package/lib/module/web/runtime.js.map +1 -1
  222. package/lib/module/web/shadowRegistry.js.map +1 -1
  223. package/lib/module/web/state.js +3 -3
  224. package/lib/module/web/state.js.map +1 -1
  225. package/lib/module/web/utils/common.js.map +1 -1
  226. package/lib/module/web/utils/createUnistylesRef.js.map +1 -1
  227. package/lib/module/web/utils/unistyle.js +2 -0
  228. package/lib/module/web/utils/unistyle.js.map +1 -1
  229. package/lib/module/web/variants.js.map +1 -1
  230. package/lib/module/web-only/getWebProps.js.map +1 -1
  231. package/lib/module/web-only/index.js.map +1 -1
  232. package/lib/typescript/src/__tests__/mocks.spec.d.ts +2 -0
  233. package/lib/typescript/src/__tests__/mocks.spec.d.ts.map +1 -0
  234. package/lib/typescript/src/__tests__/web-listener.spec.d.ts +2 -0
  235. package/lib/typescript/src/__tests__/web-listener.spec.d.ts.map +1 -0
  236. package/lib/typescript/src/components/AdaptiveTheme.d.ts +1 -1
  237. package/lib/typescript/src/components/AdaptiveTheme.d.ts.map +1 -1
  238. package/lib/typescript/src/components/ApplyScopedTheme.d.ts.map +1 -1
  239. package/lib/typescript/src/components/Display.d.ts.map +1 -1
  240. package/lib/typescript/src/components/Hide.d.ts.map +1 -1
  241. package/lib/typescript/src/components/NamedTheme.d.ts +1 -1
  242. package/lib/typescript/src/components/NamedTheme.d.ts.map +1 -1
  243. package/lib/typescript/src/components/ScopedTheme.d.ts.map +1 -1
  244. package/lib/typescript/src/components/native/ActivityIndicator.d.ts.map +1 -1
  245. package/lib/typescript/src/components/native/Animated.d.ts.map +1 -1
  246. package/lib/typescript/src/components/native/FlatList.d.ts.map +1 -1
  247. package/lib/typescript/src/components/native/Image.d.ts.map +1 -1
  248. package/lib/typescript/src/components/native/Image.native.d.ts.map +1 -1
  249. package/lib/typescript/src/components/native/ImageBackground.d.ts.map +1 -1
  250. package/lib/typescript/src/components/native/ImageBackground.native.d.ts.map +1 -1
  251. package/lib/typescript/src/components/native/KeyboardAvoidingView.d.ts.map +1 -1
  252. package/lib/typescript/src/components/native/NativeText.native.d.ts.map +1 -1
  253. package/lib/typescript/src/components/native/NativeView.native.d.ts.map +1 -1
  254. package/lib/typescript/src/components/native/Pressable.d.ts +1 -1
  255. package/lib/typescript/src/components/native/Pressable.d.ts.map +1 -1
  256. package/lib/typescript/src/components/native/Pressable.native.d.ts +1 -1
  257. package/lib/typescript/src/components/native/Pressable.native.d.ts.map +1 -1
  258. package/lib/typescript/src/components/native/RefreshControl.d.ts.map +1 -1
  259. package/lib/typescript/src/components/native/SafeAreaView.d.ts.map +1 -1
  260. package/lib/typescript/src/components/native/ScrollView.d.ts.map +1 -1
  261. package/lib/typescript/src/components/native/SectionList.d.ts.map +1 -1
  262. package/lib/typescript/src/components/native/Switch.d.ts.map +1 -1
  263. package/lib/typescript/src/components/native/Text.d.ts.map +1 -1
  264. package/lib/typescript/src/components/native/TextInput.d.ts.map +1 -1
  265. package/lib/typescript/src/components/native/TouchableHighlight.d.ts.map +1 -1
  266. package/lib/typescript/src/components/native/TouchableOpacity.d.ts.map +1 -1
  267. package/lib/typescript/src/components/native/View.d.ts.map +1 -1
  268. package/lib/typescript/src/components/native/VirtualizedList.d.ts.map +1 -1
  269. package/lib/typescript/src/core/createUnistylesElement.d.ts.map +1 -1
  270. package/lib/typescript/src/core/createUnistylesElement.native.d.ts.map +1 -1
  271. package/lib/typescript/src/core/createUnistylesImageBackground.d.ts.map +1 -1
  272. package/lib/typescript/src/core/getClassname.d.ts.map +1 -1
  273. package/lib/typescript/src/core/parseBoxShadow.d.ts.map +1 -1
  274. package/lib/typescript/src/core/useProxifiedUnistyles/listener.d.ts.map +1 -1
  275. package/lib/typescript/src/core/useProxifiedUnistyles/listener.native.d.ts +1 -1
  276. package/lib/typescript/src/core/useProxifiedUnistyles/listener.native.d.ts.map +1 -1
  277. package/lib/typescript/src/core/useProxifiedUnistyles/types.d.ts.map +1 -1
  278. package/lib/typescript/src/core/useProxifiedUnistyles/useProxifiedUnistyles.d.ts +1 -1
  279. package/lib/typescript/src/core/useProxifiedUnistyles/useProxifiedUnistyles.d.ts.map +1 -1
  280. package/lib/typescript/src/core/useUnistyles.d.ts.map +1 -1
  281. package/lib/typescript/src/core/withUnistyles/types.d.ts +1 -1
  282. package/lib/typescript/src/core/withUnistyles/types.d.ts.map +1 -1
  283. package/lib/typescript/src/core/withUnistyles/withUnistyles.d.ts.map +1 -1
  284. package/lib/typescript/src/core/withUnistyles/withUnistyles.native.d.ts.map +1 -1
  285. package/lib/typescript/src/global.d.ts.map +1 -1
  286. package/lib/typescript/src/hooks/useMedia.d.ts.map +1 -1
  287. package/lib/typescript/src/hooks/useMedia.native.d.ts.map +1 -1
  288. package/lib/typescript/src/index.d.ts +1 -0
  289. package/lib/typescript/src/index.d.ts.map +1 -1
  290. package/lib/typescript/src/mq.d.ts.map +1 -1
  291. package/lib/typescript/src/reanimated/useAnimatedTheme.d.ts.map +1 -1
  292. package/lib/typescript/src/reanimated/useAnimatedTheme.native.d.ts.map +1 -1
  293. package/lib/typescript/src/reanimated/variant/types.d.ts.map +1 -1
  294. package/lib/typescript/src/reanimated/variant/useAnimatedVariantColor.d.ts.map +1 -1
  295. package/lib/typescript/src/reanimated/variant/useUpdateVariantColor.d.ts +1 -1
  296. package/lib/typescript/src/reanimated/variant/useUpdateVariantColor.d.ts.map +1 -1
  297. package/lib/typescript/src/reanimated/variant/useUpdateVariantColor.native.d.ts +1 -1
  298. package/lib/typescript/src/reanimated/variant/useUpdateVariantColor.native.d.ts.map +1 -1
  299. package/lib/typescript/src/server/getServerUnistyles.d.ts +1 -1
  300. package/lib/typescript/src/server/getServerUnistyles.d.ts.map +1 -1
  301. package/lib/typescript/src/server/types.d.ts.map +1 -1
  302. package/lib/typescript/src/server/useServerUnistyles.d.ts.map +1 -1
  303. package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts.map +1 -1
  304. package/lib/typescript/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.d.ts.map +1 -1
  305. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
  306. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts +4 -5
  307. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts.map +1 -1
  308. package/lib/typescript/src/specs/StatusBar/UnistylesStatusBar.nitro.d.ts.map +1 -1
  309. package/lib/typescript/src/specs/StatusBar/index.d.ts +1 -1
  310. package/lib/typescript/src/specs/StatusBar/index.d.ts.map +1 -1
  311. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts +0 -1
  312. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts.map +1 -1
  313. package/lib/typescript/src/specs/StyleSheet/index.d.ts +3 -3
  314. package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
  315. package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts.map +1 -1
  316. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts +1 -1
  317. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts.map +1 -1
  318. package/lib/typescript/src/specs/index.native.d.ts +4 -4
  319. package/lib/typescript/src/specs/index.native.d.ts.map +1 -1
  320. package/lib/typescript/src/specs/types.d.ts.map +1 -1
  321. package/lib/typescript/src/types/breakpoints.d.ts +2 -2
  322. package/lib/typescript/src/types/breakpoints.d.ts.map +1 -1
  323. package/lib/typescript/src/types/core.d.ts.map +1 -1
  324. package/lib/typescript/src/types/index.d.ts +1 -1
  325. package/lib/typescript/src/types/index.d.ts.map +1 -1
  326. package/lib/typescript/src/types/stylesheet.d.ts +1 -1
  327. package/lib/typescript/src/types/stylesheet.d.ts.map +1 -1
  328. package/lib/typescript/src/types/variants.d.ts.map +1 -1
  329. package/lib/typescript/src/utils.d.ts.map +1 -1
  330. package/lib/typescript/src/web/convert/index.d.ts.map +1 -1
  331. package/lib/typescript/src/web/convert/object/boxShadow.d.ts.map +1 -1
  332. package/lib/typescript/src/web/convert/object/filter.d.ts.map +1 -1
  333. package/lib/typescript/src/web/convert/object/objectStyle.d.ts.map +1 -1
  334. package/lib/typescript/src/web/convert/object/transform.d.ts.map +1 -1
  335. package/lib/typescript/src/web/convert/pseudo.d.ts.map +1 -1
  336. package/lib/typescript/src/web/convert/types.d.ts +2 -2
  337. package/lib/typescript/src/web/convert/types.d.ts.map +1 -1
  338. package/lib/typescript/src/web/convert/utils.d.ts.map +1 -1
  339. package/lib/typescript/src/web/create.d.ts +1 -1
  340. package/lib/typescript/src/web/create.d.ts.map +1 -1
  341. package/lib/typescript/src/web/css/core.d.ts.map +1 -1
  342. package/lib/typescript/src/web/css/state.d.ts.map +1 -1
  343. package/lib/typescript/src/web/css/utils.d.ts.map +1 -1
  344. package/lib/typescript/src/web/index.d.ts.map +1 -1
  345. package/lib/typescript/src/web/listener.d.ts +5 -1
  346. package/lib/typescript/src/web/listener.d.ts.map +1 -1
  347. package/lib/typescript/src/web/registry.d.ts +1 -1
  348. package/lib/typescript/src/web/registry.d.ts.map +1 -1
  349. package/lib/typescript/src/web/runtime.d.ts +1 -1
  350. package/lib/typescript/src/web/runtime.d.ts.map +1 -1
  351. package/lib/typescript/src/web/shadowRegistry.d.ts.map +1 -1
  352. package/lib/typescript/src/web/state.d.ts.map +1 -1
  353. package/lib/typescript/src/web/types.d.ts +1 -1
  354. package/lib/typescript/src/web/types.d.ts.map +1 -1
  355. package/lib/typescript/src/web/utils/common.d.ts.map +1 -1
  356. package/lib/typescript/src/web/utils/createUnistylesRef.d.ts.map +1 -1
  357. package/lib/typescript/src/web/utils/unistyle.d.ts +1 -1
  358. package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -1
  359. package/lib/typescript/src/web/variants.d.ts.map +1 -1
  360. package/lib/typescript/src/web-only/getWebProps.d.ts.map +1 -1
  361. package/lib/typescript/src/web-only/index.d.ts.map +1 -1
  362. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +36 -42
  363. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.hpp +19 -22
  364. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +15 -18
  365. package/nitrogen/generated/android/unistylesOnLoad.cpp +14 -9
  366. package/nitrogen/generated/android/unistylesOnLoad.hpp +13 -4
  367. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.cpp +0 -1
  368. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.hpp +0 -1
  369. package/package.json +43 -44
  370. package/plugin/index.d.ts +34 -28
  371. package/plugin/index.js +113 -103
  372. package/repack-plugin/index.d.ts +2 -2
  373. package/src/components/AdaptiveTheme.tsx +8 -12
  374. package/src/components/ApplyScopedTheme.tsx +2 -0
  375. package/src/components/Display.tsx +2 -3
  376. package/src/components/Hide.tsx +2 -3
  377. package/src/components/NamedTheme.tsx +9 -14
  378. package/src/components/ScopedTheme.tsx +22 -27
  379. package/src/components/native/ActivityIndicator.tsx +1 -0
  380. package/src/components/native/Animated.tsx +2 -1
  381. package/src/components/native/FlatList.tsx +1 -0
  382. package/src/components/native/Image.native.tsx +1 -0
  383. package/src/components/native/Image.tsx +11 -7
  384. package/src/components/native/ImageBackground.native.tsx +1 -0
  385. package/src/components/native/ImageBackground.tsx +11 -7
  386. package/src/components/native/KeyboardAvoidingView.tsx +1 -0
  387. package/src/components/native/NativeText.native.tsx +3 -1
  388. package/src/components/native/NativeView.native.tsx +3 -1
  389. package/src/components/native/Pressable.native.tsx +8 -8
  390. package/src/components/native/Pressable.tsx +25 -20
  391. package/src/components/native/RefreshControl.tsx +1 -0
  392. package/src/components/native/SafeAreaView.tsx +1 -0
  393. package/src/components/native/ScrollView.tsx +1 -0
  394. package/src/components/native/SectionList.tsx +1 -0
  395. package/src/components/native/Switch.tsx +1 -0
  396. package/src/components/native/Text.tsx +1 -0
  397. package/src/components/native/TextInput.tsx +1 -0
  398. package/src/components/native/TouchableHighlight.tsx +1 -0
  399. package/src/components/native/TouchableOpacity.tsx +1 -0
  400. package/src/components/native/View.tsx +1 -0
  401. package/src/components/native/VirtualizedList.tsx +1 -0
  402. package/src/core/createUnistylesElement.native.tsx +4 -2
  403. package/src/core/createUnistylesElement.tsx +14 -17
  404. package/src/core/createUnistylesImageBackground.tsx +6 -4
  405. package/src/core/getClassname.ts +4 -11
  406. package/src/core/parseBoxShadow.ts +11 -24
  407. package/src/core/passForwardRef.ts +1 -1
  408. package/src/core/useProxifiedUnistyles/listener.native.ts +3 -3
  409. package/src/core/useProxifiedUnistyles/listener.ts +10 -3
  410. package/src/core/useProxifiedUnistyles/types.ts +2 -2
  411. package/src/core/useProxifiedUnistyles/useProxifiedUnistyles.ts +13 -9
  412. package/src/core/useUnistyles.ts +2 -1
  413. package/src/core/warn.ts +4 -4
  414. package/src/core/withUnistyles/types.ts +7 -4
  415. package/src/core/withUnistyles/withUnistyles.native.tsx +53 -44
  416. package/src/core/withUnistyles/withUnistyles.tsx +30 -24
  417. package/src/global.ts +2 -2
  418. package/src/hooks/useMedia.native.ts +2 -2
  419. package/src/hooks/useMedia.ts +6 -3
  420. package/src/index.ts +1 -0
  421. package/src/mocks.ts +74 -49
  422. package/src/mq.ts +23 -15
  423. package/src/reanimated/useAnimatedTheme.native.ts +4 -3
  424. package/src/reanimated/useAnimatedTheme.ts +6 -2
  425. package/src/reanimated/variant/types.ts +11 -10
  426. package/src/reanimated/variant/useAnimatedVariantColor.ts +7 -7
  427. package/src/reanimated/variant/useUpdateVariantColor.native.ts +10 -6
  428. package/src/reanimated/variant/useUpdateVariantColor.ts +21 -21
  429. package/src/server/getServerUnistyles.tsx +11 -4
  430. package/src/server/index.ts +0 -1
  431. package/src/server/types.ts +1 -1
  432. package/src/server/useServerUnistyles.tsx +4 -1
  433. package/src/specs/NativePlatform/NativePlatform.nitro.ts +30 -27
  434. package/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.ts +3 -3
  435. package/src/specs/ShadowRegistry/ShadowRegistry.nitro.ts +1 -1
  436. package/src/specs/ShadowRegistry/index.ts +35 -29
  437. package/src/specs/ShadowRegistry/types.ts +9 -10
  438. package/src/specs/StatusBar/UnistylesStatusBar.nitro.ts +4 -4
  439. package/src/specs/StatusBar/index.ts +5 -5
  440. package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.ts +2 -2
  441. package/src/specs/StyleSheet/index.ts +32 -27
  442. package/src/specs/TurboUnistyles/NativeTurboUnistyles.ts +1 -0
  443. package/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.ts +26 -25
  444. package/src/specs/UnistylesRuntime/index.ts +20 -20
  445. package/src/specs/index.native.ts +6 -18
  446. package/src/specs/types.ts +9 -8
  447. package/src/types/accessibility.ts +2 -2
  448. package/src/types/breakpoints.ts +61 -59
  449. package/src/types/core.ts +17 -17
  450. package/src/types/index.ts +2 -9
  451. package/src/types/stylesheet.ts +27 -19
  452. package/src/types/variants.ts +3 -11
  453. package/src/utils.ts +16 -16
  454. package/src/web/convert/index.ts +6 -2
  455. package/src/web/convert/object/boxShadow.ts +23 -18
  456. package/src/web/convert/object/filter.ts +30 -13
  457. package/src/web/convert/object/objectStyle.ts +33 -23
  458. package/src/web/convert/object/transform.ts +10 -8
  459. package/src/web/convert/pseudo.ts +2 -2
  460. package/src/web/convert/shadow/boxShadow.ts +6 -6
  461. package/src/web/convert/shadow/getShadowBreakpoints.ts +4 -4
  462. package/src/web/convert/shadow/textShadow.ts +6 -6
  463. package/src/web/convert/style.ts +25 -25
  464. package/src/web/convert/types.ts +4 -3
  465. package/src/web/convert/utils.ts +20 -10
  466. package/src/web/create.ts +29 -20
  467. package/src/web/css/core.ts +2 -1
  468. package/src/web/css/state.ts +11 -8
  469. package/src/web/css/utils.ts +2 -1
  470. package/src/web/index.ts +7 -4
  471. package/src/web/listener.ts +61 -18
  472. package/src/web/mock.ts +2 -2
  473. package/src/web/registry.ts +17 -10
  474. package/src/web/runtime.ts +23 -17
  475. package/src/web/shadowRegistry.ts +26 -24
  476. package/src/web/state.ts +23 -16
  477. package/src/web/types.ts +5 -5
  478. package/src/web/utils/common.ts +7 -9
  479. package/src/web/utils/createUnistylesRef.ts +18 -14
  480. package/src/web/utils/unistyle.ts +53 -34
  481. package/src/web/variants.ts +19 -11
  482. package/src/web-only/getWebProps.ts +5 -6
  483. package/src/web-only/index.ts +0 -1
  484. package/LICENSE +0 -20
  485. package/README.md +0 -178
  486. package/lib/typescript/plugin/src/consts.d.ts +0 -17
  487. package/lib/typescript/plugin/src/consts.d.ts.map +0 -1
  488. package/lib/typescript/repack-plugin/src/index.d.ts +0 -18
  489. package/lib/typescript/repack-plugin/src/index.d.ts.map +0 -1
  490. package/lib/typescript/repack-plugin/src/loader.d.ts +0 -9
  491. package/lib/typescript/repack-plugin/src/loader.d.ts.map +0 -1
@@ -6,7 +6,7 @@ const SKIP_STYLES = new Set([
6
6
  'textAlignVertical',
7
7
  'includeFontPadding',
8
8
  'overlayColor',
9
- 'tintColor'
9
+ 'tintColor',
10
10
  ])
11
11
 
12
12
  const CSS_NUMBER_KEYS = new Set([
@@ -54,73 +54,73 @@ const CSS_NUMBER_KEYS = new Set([
54
54
  'strokeMiterlimit',
55
55
  'strokeOpacity',
56
56
  'strokeWidth',
57
- 'aspectRatio'
57
+ 'aspectRatio',
58
58
  ])
59
59
 
60
60
  const convertMap = {
61
61
  marginHorizontal: (value: number) => ({
62
- marginInline: value
62
+ marginInline: value,
63
63
  }),
64
64
  marginVertical: (value: number) => ({
65
- marginBlock: value
65
+ marginBlock: value,
66
66
  }),
67
67
  paddingHorizontal: (value: number) => ({
68
- paddingInline: value
68
+ paddingInline: value,
69
69
  }),
70
70
  paddingVertical: (value: number) => ({
71
- paddingBlock: value
71
+ paddingBlock: value,
72
72
  }),
73
73
  writingDirection: (value: string) => ({
74
- direction: value
74
+ direction: value,
75
75
  }),
76
76
  borderBottomEndRadius: (value: number) => ({
77
- borderBottomRightRadius: value
77
+ borderBottomRightRadius: value,
78
78
  }),
79
79
  borderBottomStartRadius: (value: number) => ({
80
- borderBottomLeftRadius: value
80
+ borderBottomLeftRadius: value,
81
81
  }),
82
82
  borderEndColor: (value: string) => ({
83
- borderInlineEndColor: value
83
+ borderInlineEndColor: value,
84
84
  }),
85
85
  borderStartColor: (value: string) => ({
86
- borderInlineStartColor: value
86
+ borderInlineStartColor: value,
87
87
  }),
88
88
  borderTopEndRadius: (value: number) => ({
89
- borderTopRightRadius: value
89
+ borderTopRightRadius: value,
90
90
  }),
91
91
  borderTopStartRadius: (value: number) => ({
92
- borderTopLeftRadius: value
92
+ borderTopLeftRadius: value,
93
93
  }),
94
94
  borderEndWidth: (value: number) => ({
95
- borderInlineEndWidth: value
95
+ borderInlineEndWidth: value,
96
96
  }),
97
97
  borderStartWidth: (value: number) => ({
98
- borderInlineStartWidth: value
98
+ borderInlineStartWidth: value,
99
99
  }),
100
100
  end: (value: number) => ({
101
- right: value
101
+ right: value,
102
102
  }),
103
103
  start: (value: number) => ({
104
- left: value
104
+ left: value,
105
105
  }),
106
106
  marginEnd: (value: number) => ({
107
- marginRight: value
107
+ marginRight: value,
108
108
  }),
109
109
  marginStart: (value: number) => ({
110
- marginLeft: value
110
+ marginLeft: value,
111
111
  }),
112
112
  paddingEnd: (value: number) => ({
113
- paddingRight: value
113
+ paddingRight: value,
114
114
  }),
115
115
  paddingStart: (value: number) => ({
116
- paddingLeft: value
116
+ paddingLeft: value,
117
117
  }),
118
118
  transformMatrix: (value: Array<number>) => ({
119
- transform: `matrix(${value.join(', ')})`
119
+ transform: `matrix(${value.join(', ')})`,
120
120
  }),
121
121
  resizeMode: (value: string) => ({
122
- backgroundSize: value
123
- })
122
+ backgroundSize: value,
123
+ }),
124
124
  } as Record<PropertyKey, (value: any) => Record<string, any>>
125
125
 
126
126
  const convertNumber = (key: string, value: any) => {
@@ -141,6 +141,6 @@ export const getStyle = (key: string, value: any) => {
141
141
  }
142
142
 
143
143
  return {
144
- [key]: convertNumber(key, value)
144
+ [key]: convertNumber(key, value),
145
145
  }
146
146
  }
@@ -1,16 +1,17 @@
1
1
  import type { FilterFunction, TextStyle, ViewStyle } from 'react-native'
2
+
2
3
  import type { UnionToIntersection } from '../../types'
3
4
  import type { ToDeepUnistyles } from '../../types/stylesheet'
4
5
 
5
- export type ShadowOffset = ToDeepUnistyles<{ width: number, height: number }>
6
+ export type ShadowOffset = ToDeepUnistyles<{ width: number; height: number }>
6
7
 
7
8
  export const TEXT_SHADOW_STYLES = ['textShadowColor', 'textShadowOffset', 'textShadowRadius'] as const
8
9
 
9
- export type TextShadow = Required<Pick<TextStyle, typeof TEXT_SHADOW_STYLES[number]>>
10
+ export type TextShadow = Required<Pick<TextStyle, (typeof TEXT_SHADOW_STYLES)[number]>>
10
11
 
11
12
  export const BOX_SHADOW_STYLES = ['shadowColor', 'shadowRadius', 'shadowOpacity', 'shadowOffset'] as const
12
13
 
13
- export type BoxShadow = Required<Pick<ViewStyle, typeof BOX_SHADOW_STYLES[number]>>
14
+ export type BoxShadow = Required<Pick<ViewStyle, (typeof BOX_SHADOW_STYLES)[number]>>
14
15
 
15
16
  export type AllShadow = TextShadow & BoxShadow
16
17
 
@@ -1,22 +1,28 @@
1
+ import type { BoxShadowValue } from 'react-native'
2
+
1
3
  // based on react-native-web normalizer
2
4
  // https://github.com/necolas/react-native-web
3
5
  /// <reference path="module.d.ts" />
4
6
  import normalizeColors from '@react-native/normalize-colors'
5
- import type { BoxShadowValue } from 'react-native'
7
+
6
8
  import type { TransformStyles } from '../../types/core'
9
+
7
10
  import { type AllShadow, type AllShadowKeys, BOX_SHADOW_STYLES, type Filters, TEXT_SHADOW_STYLES } from './types'
8
11
 
9
- export const isTransform = (key: string, value: any): value is Array<TransformStyles> => key === 'transform' && Array.isArray(value)
12
+ export const isTransform = (key: string, value: any): value is Array<TransformStyles> =>
13
+ key === 'transform' && Array.isArray(value)
10
14
 
11
- export const isTextShadow = (key: string) => TEXT_SHADOW_STYLES.includes(key as typeof TEXT_SHADOW_STYLES[number])
15
+ export const isTextShadow = (key: string) => TEXT_SHADOW_STYLES.includes(key as (typeof TEXT_SHADOW_STYLES)[number])
12
16
 
13
- export const isShadow = (key: string) => BOX_SHADOW_STYLES.includes(key as typeof BOX_SHADOW_STYLES[number])
17
+ export const isShadow = (key: string) => BOX_SHADOW_STYLES.includes(key as (typeof BOX_SHADOW_STYLES)[number])
14
18
 
15
19
  export const isFilter = (key: string, value: any): value is Array<Filters> => key === 'filter' && Array.isArray(value)
16
20
 
17
- export const isBoxShadow = (key: string, value: any): value is Array<BoxShadowValue> => key === 'boxShadow' && Array.isArray(value)
21
+ export const isBoxShadow = (key: string, value: any): value is Array<BoxShadowValue> =>
22
+ key === 'boxShadow' && Array.isArray(value)
18
23
 
19
- export const normalizeNumericValue = (value: number | string) => value && typeof value === 'number' ? `${value}px` : value
24
+ export const normalizeNumericValue = (value: number | string) =>
25
+ value && typeof value === 'number' ? `${value}px` : value
20
26
 
21
27
  export const normalizeColor = (color: string, opacity = 1) => {
22
28
  // If the opacity is 1 there's no need to normalize the color
@@ -36,8 +42,8 @@ export const normalizeColor = (color: string, opacity = 1) => {
36
42
  if (hex.length === 8) {
37
43
  const [r = 0, g = 0, b = 0, a = 1] = hex
38
44
  .split(/(?=(?:..)*$)/)
39
- .map(x => Number.parseInt(x, 16))
40
- .filter(num => !Number.isNaN(num))
45
+ .map((x) => Number.parseInt(x, 16))
46
+ .filter((num) => !Number.isNaN(num))
41
47
 
42
48
  return `rgba(${r},${g},${b},${(a / 255) * opacity})`
43
49
  }
@@ -45,7 +51,11 @@ export const normalizeColor = (color: string, opacity = 1) => {
45
51
  return color
46
52
  }
47
53
 
48
- export const extractShadowValue = <TKey extends AllShadowKeys>(key: TKey, breakpoint: string, styles: any): AllShadow[TKey] => {
54
+ export const extractShadowValue = <TKey extends AllShadowKeys>(
55
+ key: TKey,
56
+ breakpoint: string,
57
+ styles: any,
58
+ ): AllShadow[TKey] => {
49
59
  const value = styles[key]
50
60
 
51
61
  if (key === 'textShadowOffset' || key === 'shadowOffset') {
@@ -53,7 +63,7 @@ export const extractShadowValue = <TKey extends AllShadowKeys>(key: TKey, breakp
53
63
 
54
64
  return {
55
65
  width: typeof width === 'object' ? width[breakpoint] : width,
56
- height: typeof height === 'object' ? height[breakpoint] : height
66
+ height: typeof height === 'object' ? height[breakpoint] : height,
57
67
  } as AllShadow[TKey]
58
68
  }
59
69
 
package/src/web/create.ts CHANGED
@@ -1,14 +1,11 @@
1
1
  import type { StyleSheet, StyleSheetWithSuperPowers } from '../types/stylesheet'
2
+
2
3
  import * as unistyles from './services'
3
- import { assignSecrets, error, isServer, removeInlineStyles } from './utils'
4
+ import { assignSecrets, isServer, removeInlineStyles } from './utils'
4
5
 
5
6
  type Variants = Record<string, string | boolean | undefined>
6
7
 
7
- export const create = (stylesheet: StyleSheetWithSuperPowers<StyleSheet>, id?: string) => {
8
- if (!id) {
9
- throw error('Unistyles is not initialized correctly. Please add babel plugin to your babel config.')
10
- }
11
-
8
+ export const create = (stylesheet: StyleSheetWithSuperPowers<StyleSheet>) => {
12
9
  // For SSR
13
10
  if (!unistyles.services.state.isInitialized && !isServer()) {
14
11
  const config = window?.__UNISTYLES_STATE__?.config
@@ -17,21 +14,30 @@ export const create = (stylesheet: StyleSheetWithSuperPowers<StyleSheet>, id?: s
17
14
  }
18
15
 
19
16
  const computedStylesheet = unistyles.services.registry.getComputedStylesheet(stylesheet)
20
- const addSecrets = (value: any, key: string, args = undefined as Array<any> | undefined, variants = {} as Variants) => assignSecrets(value, {
21
- __uni__key: key,
22
- __uni__stylesheet: stylesheet,
23
- __uni__args: args,
24
- __stylesheetVariants: variants
25
- })
17
+ const addSecrets = (
18
+ value: any,
19
+ key: string,
20
+ args = undefined as Array<any> | undefined,
21
+ variants = {} as Variants,
22
+ ) =>
23
+ assignSecrets(value, {
24
+ __uni__key: key,
25
+ __uni__stylesheet: stylesheet,
26
+ __uni__args: args,
27
+ __stylesheetVariants: variants,
28
+ })
26
29
 
27
30
  const createStyleSheetStyles = (variants?: Variants) => {
28
31
  const stylesEntries = Object.entries(computedStylesheet).map(([key, value]) => {
29
32
  if (typeof value === 'function') {
30
- return [key, (...args: Array<any>) => {
31
- const result = removeInlineStyles(value(...args))
32
-
33
- return addSecrets(result, key, args, variants)
34
- }]
33
+ return [
34
+ key,
35
+ (...args: Array<any>) => {
36
+ const result = removeInlineStyles(value(...args))
37
+
38
+ return addSecrets(result, key, args, variants)
39
+ },
40
+ ]
35
41
  }
36
42
 
37
43
  return [key, addSecrets(removeInlineStyles(value), key, undefined, variants)]
@@ -40,9 +46,12 @@ export const create = (stylesheet: StyleSheetWithSuperPowers<StyleSheet>, id?: s
40
46
  return Object.fromEntries(stylesEntries.concat([useVariants]))
41
47
  }
42
48
 
43
- const useVariants = ['useVariants', (variants: Variants) => {
44
- return createStyleSheetStyles(variants)
45
- }]
49
+ const useVariants = [
50
+ 'useVariants',
51
+ (variants: Variants) => {
52
+ return createStyleSheetStyles(variants)
53
+ },
54
+ ]
46
55
 
47
56
  return createStyleSheetStyles()
48
57
  }
@@ -1,6 +1,7 @@
1
+ import type { CSSState } from './state'
2
+
1
3
  import { isPseudoClass } from '../convert/pseudo'
2
4
  import { getMediaQuery } from '../utils'
3
- import type { CSSState } from './state'
4
5
 
5
6
  export const convertToCSS = (hash: string, value: Record<string, any>, state: CSSState) => {
6
7
  Object.entries(value).forEach(([styleKey, styleValue]) => {
@@ -1,6 +1,7 @@
1
1
  import type { UnistylesValues } from '../../types'
2
- import { convertUnistyles } from '../convert'
3
2
  import type { UnistylesServices } from '../types'
3
+
4
+ import { convertUnistyles } from '../convert'
4
5
  import { hyphenate, isServer } from '../utils'
5
6
  import { convertToCSS } from './core'
6
7
 
@@ -12,7 +13,7 @@ type SetProps = {
12
13
  propertyKey: string
13
14
  value: any
14
15
  }
15
- type HydrateState = Array<[ string, Array<[ string, Array<[ string, any ]> ]> ]>
16
+ type HydrateState = Array<[string, Array<[string, Array<[string, any]>]>]>
16
17
 
17
18
  const safeGetMap = (map: Map<string, Map<string, any>>, key: string) => {
18
19
  const nextLevelMap = map.get(key)
@@ -76,7 +77,9 @@ export class CSSState {
76
77
 
77
78
  const convertToCSS = (key: string, value: any, prev = '-') => {
78
79
  if (typeof value === 'object' && value !== null) {
79
- Object.entries(value).forEach(([nestedKey, nestedValue]) => convertToCSS(nestedKey, nestedValue, `${prev}-${key}`))
80
+ Object.entries(value).forEach(([nestedKey, nestedValue]) =>
81
+ convertToCSS(nestedKey, nestedValue, `${prev}-${key}`),
82
+ )
80
83
  }
81
84
 
82
85
  if (typeof value === 'string') {
@@ -94,10 +97,10 @@ export class CSSState {
94
97
  }
95
98
 
96
99
  remove = (hash: string) => {
97
- this.mainMap.forEach(styles => {
100
+ this.mainMap.forEach((styles) => {
98
101
  styles.delete(hash)
99
102
  })
100
- this.mqMap.forEach(styles => {
103
+ this.mqMap.forEach((styles) => {
101
104
  styles.delete(hash)
102
105
  })
103
106
  this.recreate()
@@ -153,9 +156,9 @@ export class CSSState {
153
156
  className,
154
157
  Array.from(style.entries()).map(([property, value]) => {
155
158
  return [property, value]
156
- })
159
+ }),
157
160
  ]
158
- })
161
+ }),
159
162
  ]
160
163
  }) as HydrateState
161
164
  }
@@ -177,7 +180,7 @@ export class CSSState {
177
180
  propertyKey,
178
181
  value,
179
182
  mediaQuery,
180
- isMq
183
+ isMq,
181
184
  })
182
185
  })
183
186
  })
@@ -1,6 +1,7 @@
1
- import { hyphenate } from '../utils'
2
1
  import type { CSSState } from './state'
3
2
 
3
+ import { hyphenate } from '../utils'
4
+
4
5
  export const safeGetMap = (map: Map<string, Map<string, any>>, key: string) => {
5
6
  const nextLevelMap = map.get(key)
6
7
 
package/src/web/index.ts CHANGED
@@ -1,13 +1,16 @@
1
1
  import { StyleSheet as RNStyleSheet } from 'react-native'
2
+
2
3
  import type { UnistylesShadowRegistry as NativeUnistylesShadowRegistry } from '../specs/ShadowRegistry'
3
4
  import type { StyleSheet as NativeStyleSheet } from '../specs/StyleSheet'
4
5
  import type { Runtime as NativeUnistylesRuntime } from '../specs/UnistylesRuntime'
6
+
5
7
  import { create } from './create'
6
8
  import * as unistyles from './services'
7
9
 
8
10
  export const StyleSheet = {
9
11
  configure: unistyles.services.state.init,
10
12
  create: create,
13
+ addChangeListener: unistyles.services.listener.addChangeListener,
11
14
  absoluteFill: {
12
15
  position: 'absolute',
13
16
  left: 0,
@@ -20,15 +23,15 @@ export const StyleSheet = {
20
23
  left: 0,
21
24
  top: 0,
22
25
  right: 0,
23
- bottom: 0
26
+ bottom: 0,
24
27
  },
25
28
  compose: (a: object, b: object) => RNStyleSheet.compose(a, b),
26
29
  flatten: (...styles: Array<object>) => RNStyleSheet.flatten(...styles),
27
- hairlineWidth: 1
30
+ hairlineWidth: 1,
28
31
  } as unknown as typeof NativeStyleSheet
29
32
 
30
33
  export const UnistylesRuntime = unistyles.services.runtime as unknown as typeof NativeUnistylesRuntime
31
- export const UnistylesShadowRegistry = unistyles.services.shadowRegistry as unknown as typeof NativeUnistylesShadowRegistry
34
+ export const UnistylesShadowRegistry = unistyles.services
35
+ .shadowRegistry as unknown as typeof NativeUnistylesShadowRegistry
32
36
 
33
37
  export * from './mock'
34
-
@@ -1,18 +1,51 @@
1
- import { UnistyleDependency } from '../specs/NativePlatform'
2
1
  import type { UnistylesServices } from './types'
3
2
 
3
+ import { UnistyleDependency } from '../specs/NativePlatform'
4
+
4
5
  type Listener = (dependency: UnistyleDependency) => void
6
+ type PublicListener = (dependencies: Array<UnistyleDependency>) => void
5
7
 
6
8
  export class UnistylesListener {
7
9
  private isInitialized = false
8
10
  private listeners = Array.from({ length: Object.keys(UnistyleDependency).length / 2 }, () => new Set<Listener>())
9
- private stylesheetListeners = Array.from({ length: Object.keys(UnistyleDependency).length / 2 }, () => new Set<Listener>())
11
+ private stylesheetListeners = Array.from(
12
+ { length: Object.keys(UnistyleDependency).length / 2 },
13
+ () => new Set<Listener>(),
14
+ )
15
+ private changeListeners = new Set<PublicListener>()
10
16
 
11
17
  constructor(private services: UnistylesServices) {}
12
18
 
19
+ emitChanges = (dependencies: Array<UnistyleDependency>) => {
20
+ for (const dependency of dependencies) {
21
+ const stylesheetListeners = this.stylesheetListeners[dependency] ?? []
22
+
23
+ for (const listener of stylesheetListeners) {
24
+ listener(dependency)
25
+ }
26
+
27
+ const listeners = this.listeners[dependency] ?? []
28
+
29
+ for (const listener of listeners) {
30
+ listener(dependency)
31
+ }
32
+ }
33
+
34
+ for (const listener of this.changeListeners) {
35
+ listener(dependencies.slice())
36
+ }
37
+ }
38
+
13
39
  emitChange = (dependency: UnistyleDependency) => {
14
- this.stylesheetListeners[dependency]?.forEach(listener => listener(dependency))
15
- this.listeners[dependency]?.forEach(listener => listener(dependency))
40
+ this.emitChanges([dependency])
41
+ }
42
+
43
+ addChangeListener = (listener: PublicListener) => {
44
+ this.changeListeners.add(listener)
45
+
46
+ return () => {
47
+ this.changeListeners.delete(listener)
48
+ }
16
49
  }
17
50
 
18
51
  initListeners = () => {
@@ -22,29 +55,39 @@ export class UnistylesListener {
22
55
 
23
56
  this.isInitialized = true
24
57
 
25
- this.services.runtime.darkMedia?.addEventListener('change', event => {
58
+ this.services.runtime.darkMedia?.addEventListener('change', (event) => {
26
59
  if (!event.matches) {
27
60
  return
28
61
  }
29
62
 
30
- this.emitChange(UnistyleDependency.ColorScheme)
31
-
32
63
  if (this.services.runtime.hasAdaptiveThemes) {
33
- this.emitChange(UnistyleDependency.Theme)
34
- this.emitChange(UnistyleDependency.ThemeName)
64
+ this.emitChanges([
65
+ UnistyleDependency.ColorScheme,
66
+ UnistyleDependency.Theme,
67
+ UnistyleDependency.ThemeName,
68
+ ])
69
+
70
+ return
35
71
  }
72
+
73
+ this.emitChange(UnistyleDependency.ColorScheme)
36
74
  })
37
- this.services.runtime.lightMedia?.addEventListener('change', event => {
75
+ this.services.runtime.lightMedia?.addEventListener('change', (event) => {
38
76
  if (!event.matches) {
39
77
  return
40
78
  }
41
79
 
42
- this.emitChange(UnistyleDependency.ColorScheme)
43
-
44
80
  if (this.services.runtime.hasAdaptiveThemes) {
45
- this.emitChange(UnistyleDependency.Theme)
46
- this.emitChange(UnistyleDependency.ThemeName)
81
+ this.emitChanges([
82
+ UnistyleDependency.ColorScheme,
83
+ UnistyleDependency.Theme,
84
+ UnistyleDependency.ThemeName,
85
+ ])
86
+
87
+ return
47
88
  }
89
+
90
+ this.emitChange(UnistyleDependency.ColorScheme)
48
91
  })
49
92
 
50
93
  window.addEventListener('orientationchange', () => this.emitChange(UnistyleDependency.Orientation))
@@ -52,18 +95,18 @@ export class UnistylesListener {
52
95
  }
53
96
 
54
97
  addListeners = (dependencies: Array<UnistyleDependency>, listener: Listener) => {
55
- dependencies.forEach(dependency => this.listeners[dependency]?.add(listener))
98
+ dependencies.forEach((dependency) => this.listeners[dependency]?.add(listener))
56
99
 
57
100
  return () => {
58
- dependencies.forEach(dependency => this.listeners[dependency]?.delete(listener))
101
+ dependencies.forEach((dependency) => this.listeners[dependency]?.delete(listener))
59
102
  }
60
103
  }
61
104
 
62
105
  addStylesheetListeners = (dependencies: Array<UnistyleDependency>, listener: Listener) => {
63
- dependencies.forEach(dependency => this.stylesheetListeners[dependency]?.add(listener))
106
+ dependencies.forEach((dependency) => this.stylesheetListeners[dependency]?.add(listener))
64
107
 
65
108
  return () => {
66
- dependencies.forEach(dependency => this.stylesheetListeners[dependency]?.delete(listener))
109
+ dependencies.forEach((dependency) => this.stylesheetListeners[dependency]?.delete(listener))
67
110
  }
68
111
  }
69
112
  }
package/src/web/mock.ts CHANGED
@@ -9,7 +9,7 @@ export const StatusBar: StatusBarSpec = {
9
9
  equals: () => true,
10
10
  toString: () => 'StatusBar',
11
11
  __type: 'web',
12
- name: 'StatusBar'
12
+ name: 'StatusBar',
13
13
  }
14
14
 
15
15
  export const NavigationBar: NavigationBarSpec = {
@@ -20,5 +20,5 @@ export const NavigationBar: NavigationBarSpec = {
20
20
  dispose: () => {},
21
21
  toString: () => 'NavigationBar',
22
22
  __type: 'web',
23
- name: 'NavigationBar'
23
+ name: 'NavigationBar',
24
24
  }
@@ -1,8 +1,9 @@
1
1
  import type { UnistyleDependency, UnistylesMiniRuntime } from '../specs'
2
2
  import type { UnistylesTheme, UnistylesValues } from '../types'
3
3
  import type { StyleSheet, StyleSheetWithSuperPowers } from '../types/stylesheet'
4
- import { CSSState } from './css'
5
4
  import type { UnistylesServices } from './types'
5
+
6
+ import { CSSState } from './css'
6
7
  import { error, extractUnistyleDependencies, generateHash } from './utils'
7
8
 
8
9
  export class UnistylesRegistry {
@@ -26,7 +27,9 @@ export class UnistylesRegistry {
26
27
  const scopedTheme = this.services.runtime.getTheme(scopedThemeName)
27
28
 
28
29
  if (!scopedTheme) {
29
- throw error(`Unistyles: You're trying to use scoped theme '${scopedThemeName}' but it wasn't registered.`)
30
+ throw error(
31
+ `Unistyles: You're trying to use scoped theme '${scopedThemeName}' but it wasn't registered.`,
32
+ )
30
33
  }
31
34
 
32
35
  return stylesheet(scopedTheme, this.services.runtime.miniRuntime)
@@ -38,9 +41,12 @@ export class UnistylesRegistry {
38
41
  return computedStylesheet
39
42
  }
40
43
 
41
- const currentTheme = this.services.runtime.getTheme(this.services.runtime.themeName, this.services.state.CSSVars)
44
+ const currentTheme = this.services.runtime.getTheme(
45
+ this.services.runtime.themeName,
46
+ this.services.state.CSSVars,
47
+ )
42
48
  const createdStylesheet = stylesheet(currentTheme, this.services.runtime.miniRuntime)
43
- const dependencies = Object.values(createdStylesheet).flatMap(value => extractUnistyleDependencies(value))
49
+ const dependencies = Object.values(createdStylesheet).flatMap((value) => extractUnistyleDependencies(value))
44
50
 
45
51
  this.addDependenciesToStylesheet(stylesheet, dependencies)
46
52
  this.stylesheets.set(stylesheet, createdStylesheet)
@@ -48,17 +54,20 @@ export class UnistylesRegistry {
48
54
  return createdStylesheet
49
55
  }
50
56
 
51
- addDependenciesToStylesheet = (stylesheet: (theme: UnistylesTheme, miniRuntime: UnistylesMiniRuntime) => StyleSheet, dependencies: Array<UnistyleDependency>) => {
57
+ addDependenciesToStylesheet = (
58
+ stylesheet: (theme: UnistylesTheme, miniRuntime: UnistylesMiniRuntime) => StyleSheet,
59
+ dependencies: Array<UnistyleDependency>,
60
+ ) => {
52
61
  this.disposeListenersMap.get(stylesheet)?.()
53
62
 
54
63
  const dependenciesMap = this.dependenciesMap.get(stylesheet) ?? new Set(dependencies)
55
64
 
56
- dependencies.forEach(dependency => dependenciesMap.add(dependency))
65
+ dependencies.forEach((dependency) => dependenciesMap.add(dependency))
57
66
 
58
67
  const dispose = this.services.listener.addStylesheetListeners(Array.from(dependenciesMap), () => {
59
68
  const newComputedStylesheet = stylesheet(
60
69
  this.services.runtime.getTheme(this.services.runtime.themeName, this.services.state.CSSVars),
61
- this.services.runtime.miniRuntime
70
+ this.services.runtime.miniRuntime,
62
71
  )
63
72
 
64
73
  this.stylesheets.set(stylesheet, newComputedStylesheet)
@@ -100,9 +109,7 @@ export class UnistylesRegistry {
100
109
 
101
110
  add = (value: UnistylesValues, forChild?: boolean) => {
102
111
  const generatedHash = generateHash(value)
103
- const hash = forChild
104
- ? `${generatedHash} > *`
105
- : generatedHash
112
+ const hash = forChild ? `${generatedHash} > *` : generatedHash
106
113
 
107
114
  if (!this.stylesCache.has(hash)) {
108
115
  this.applyStyles(hash, value)