react-native-unistyles 3.0.0-alpha.9 → 3.0.0-beta.1

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 (596) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +30 -41
  3. package/Unistyles.podspec +1 -1
  4. package/android/CMakeLists.txt +22 -45
  5. package/android/build.gradle +16 -5
  6. package/android/src/main/cxx/NativeUnistylesModule.cpp +71 -0
  7. package/android/src/main/cxx/NativeUnistylesModule.h +42 -0
  8. package/android/src/main/cxx/cpp-adapter.cpp +8 -86
  9. package/android/src/main/java/com/unistyles/Equatable.kt +61 -0
  10. package/android/src/main/java/com/unistyles/NativePlatform+android.kt +294 -0
  11. package/android/src/main/java/com/unistyles/NativePlatform+insets.kt +152 -0
  12. package/android/src/main/java/com/unistyles/NativePlatform+listener.kt +59 -0
  13. package/android/src/main/java/com/unistyles/UnistylesModule.kt +51 -0
  14. package/android/src/main/java/com/unistyles/UnistylesPackage.kt +16 -14
  15. package/cxx/NativePlatform.h +11 -0
  16. package/cxx/common/Constants.h +3 -0
  17. package/cxx/common/Helpers.h +59 -6
  18. package/cxx/core/HostStyle.cpp +7 -2
  19. package/cxx/core/HostStyle.h +1 -1
  20. package/cxx/core/StyleSheet.h +0 -1
  21. package/cxx/core/Unistyle.h +8 -5
  22. package/cxx/core/UnistyleData.h +4 -3
  23. package/cxx/core/UnistyleWrapper.h +102 -7
  24. package/cxx/core/UnistylesCommitHook.cpp +14 -18
  25. package/cxx/core/UnistylesCommitHook.h +6 -11
  26. package/cxx/core/UnistylesCommitShadowNode.h +13 -0
  27. package/cxx/core/UnistylesMountHook.cpp +28 -0
  28. package/cxx/core/UnistylesMountHook.h +27 -0
  29. package/cxx/core/UnistylesRegistry.cpp +108 -48
  30. package/cxx/core/UnistylesRegistry.h +10 -10
  31. package/cxx/core/UnistylesState.cpp +29 -8
  32. package/cxx/core/UnistylesState.h +5 -2
  33. package/cxx/hybridObjects/HybridNavigationBar.cpp +0 -4
  34. package/cxx/hybridObjects/HybridNavigationBar.h +3 -4
  35. package/cxx/hybridObjects/HybridShadowRegistry.cpp +18 -13
  36. package/cxx/hybridObjects/HybridStatusBar.cpp +0 -4
  37. package/cxx/hybridObjects/HybridStatusBar.h +3 -4
  38. package/cxx/hybridObjects/HybridStyleSheet.cpp +145 -19
  39. package/cxx/hybridObjects/HybridStyleSheet.h +27 -5
  40. package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +78 -11
  41. package/cxx/hybridObjects/HybridUnistylesRuntime.h +17 -3
  42. package/cxx/parser/Parser.cpp +200 -63
  43. package/cxx/parser/Parser.h +7 -5
  44. package/cxx/shadowTree/ShadowLeafUpdate.h +3 -1
  45. package/cxx/shadowTree/ShadowTrafficController.h +71 -0
  46. package/cxx/shadowTree/ShadowTreeManager.cpp +28 -19
  47. package/cxx/shadowTree/ShadowTreeManager.h +3 -2
  48. package/ios/Equatable.swift +2 -1
  49. package/ios/Extensions.swift +3 -1
  50. package/ios/NativePlatform+ios.swift +34 -9
  51. package/ios/NativePlatform+keyboard.swift +83 -0
  52. package/ios/NativePlatformListener+ios.swift +36 -24
  53. package/ios/Unistyles.h +1 -0
  54. package/ios/UnistylesModuleOnLoad.h +8 -2
  55. package/ios/UnistylesModuleOnLoad.mm +9 -1
  56. package/lib/commonjs/components/Display.js +18 -0
  57. package/lib/commonjs/components/Display.js.map +1 -0
  58. package/lib/commonjs/components/Hide.js +18 -0
  59. package/lib/commonjs/components/Hide.js.map +1 -0
  60. package/lib/commonjs/components/Pressable.js +74 -0
  61. package/lib/commonjs/components/Pressable.js.map +1 -0
  62. package/lib/commonjs/components/Pressable.web.js +115 -0
  63. package/lib/commonjs/components/Pressable.web.js.map +1 -0
  64. package/lib/commonjs/components/index.js +27 -0
  65. package/lib/commonjs/components/index.js.map +1 -0
  66. package/lib/commonjs/core/createUnistylesComponent.js +79 -0
  67. package/lib/commonjs/core/createUnistylesComponent.js.map +1 -0
  68. package/lib/commonjs/core/createUnistylesComponent.native.js +82 -0
  69. package/lib/commonjs/core/createUnistylesComponent.native.js.map +1 -0
  70. package/lib/commonjs/core/getBoundArgs.js +18 -0
  71. package/lib/commonjs/core/getBoundArgs.js.map +1 -0
  72. package/lib/commonjs/core/getId.js +9 -0
  73. package/lib/commonjs/core/getId.js.map +1 -0
  74. package/lib/commonjs/core/index.js +27 -0
  75. package/lib/commonjs/core/index.js.map +1 -0
  76. package/lib/commonjs/hooks/index.js +13 -0
  77. package/lib/commonjs/hooks/index.js.map +1 -0
  78. package/lib/commonjs/hooks/useMedia.js +59 -0
  79. package/lib/commonjs/hooks/useMedia.js.map +1 -0
  80. package/lib/commonjs/hooks/useMedia.web.js +43 -0
  81. package/lib/commonjs/hooks/useMedia.web.js.map +1 -0
  82. package/lib/commonjs/index.js +28 -11
  83. package/lib/commonjs/index.js.map +1 -1
  84. package/lib/commonjs/mq.js +31 -18
  85. package/lib/commonjs/mq.js.map +1 -1
  86. package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js +1 -0
  87. package/lib/commonjs/specs/NativePlatform/NativePlatform.nitro.js.map +1 -1
  88. package/lib/commonjs/specs/NavigtionBar/index.js +0 -15
  89. package/lib/commonjs/specs/NavigtionBar/index.js.map +1 -1
  90. package/lib/commonjs/specs/ShadowRegistry/index.js +11 -8
  91. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
  92. package/lib/commonjs/specs/StatusBar/index.js +0 -5
  93. package/lib/commonjs/specs/StatusBar/index.js.map +1 -1
  94. package/lib/commonjs/specs/StyleSheet/index.js +1 -0
  95. package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
  96. package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js +1 -2
  97. package/lib/commonjs/specs/TurboUnistyles/NativeTurboUnistyles.js.map +1 -1
  98. package/lib/commonjs/specs/UnistylesRuntime/index.js +0 -2
  99. package/lib/commonjs/specs/UnistylesRuntime/index.js.map +1 -1
  100. package/lib/commonjs/specs/index.js +7 -0
  101. package/lib/commonjs/specs/index.js.map +1 -1
  102. package/lib/commonjs/specs/index.web.js +0 -7
  103. package/lib/commonjs/specs/index.web.js.map +1 -1
  104. package/lib/commonjs/types/stylesheet.js.map +1 -1
  105. package/lib/commonjs/utils.js +26 -0
  106. package/lib/commonjs/utils.js.map +1 -0
  107. package/lib/commonjs/web/convert/index.js +27 -24
  108. package/lib/commonjs/web/convert/index.js.map +1 -1
  109. package/lib/commonjs/web/convert/object/boxShadow.js +59 -0
  110. package/lib/commonjs/web/convert/object/boxShadow.js.map +1 -0
  111. package/lib/commonjs/web/convert/object/filter.js +42 -0
  112. package/lib/commonjs/web/convert/object/filter.js.map +1 -0
  113. package/lib/commonjs/web/convert/object/index.js +39 -0
  114. package/lib/commonjs/web/convert/object/index.js.map +1 -0
  115. package/lib/commonjs/web/convert/object/objectStyle.js +56 -0
  116. package/lib/commonjs/web/convert/object/objectStyle.js.map +1 -0
  117. package/lib/commonjs/web/convert/object/transform.js +27 -0
  118. package/lib/commonjs/web/convert/object/transform.js.map +1 -0
  119. package/lib/commonjs/web/convert/pseudo.js +10 -0
  120. package/lib/commonjs/web/convert/pseudo.js.map +1 -0
  121. package/lib/commonjs/web/convert/{boxShadow.js → shadow/boxShadow.js} +22 -37
  122. package/lib/commonjs/web/convert/shadow/boxShadow.js.map +1 -0
  123. package/lib/commonjs/web/convert/shadow/getShadowBreakpoints.js +38 -0
  124. package/lib/commonjs/web/convert/shadow/getShadowBreakpoints.js.map +1 -0
  125. package/lib/commonjs/web/convert/shadow/index.js +28 -0
  126. package/lib/commonjs/web/convert/shadow/index.js.map +1 -0
  127. package/lib/commonjs/web/convert/{textShadow.js → shadow/textShadow.js} +21 -35
  128. package/lib/commonjs/web/convert/shadow/textShadow.js.map +1 -0
  129. package/lib/commonjs/web/convert/style.js +11 -7
  130. package/lib/commonjs/web/convert/style.js.map +1 -1
  131. package/lib/commonjs/web/convert/types.js.map +1 -1
  132. package/lib/commonjs/web/convert/utils.js +8 -4
  133. package/lib/commonjs/web/convert/utils.js.map +1 -1
  134. package/lib/commonjs/web/create.js +35 -67
  135. package/lib/commonjs/web/create.js.map +1 -1
  136. package/lib/commonjs/web/index.js +18 -7
  137. package/lib/commonjs/web/index.js.map +1 -1
  138. package/lib/commonjs/web/listener.js +61 -0
  139. package/lib/commonjs/web/listener.js.map +1 -0
  140. package/lib/commonjs/web/mock.js +2 -12
  141. package/lib/commonjs/web/mock.js.map +1 -1
  142. package/lib/commonjs/web/registry.js +154 -19
  143. package/lib/commonjs/web/registry.js.map +1 -1
  144. package/lib/commonjs/web/runtime.js +22 -13
  145. package/lib/commonjs/web/runtime.js.map +1 -1
  146. package/lib/commonjs/web/shadowRegistry.js +143 -0
  147. package/lib/commonjs/web/shadowRegistry.js.map +1 -0
  148. package/lib/commonjs/web/state.js +31 -72
  149. package/lib/commonjs/web/state.js.map +1 -1
  150. package/lib/commonjs/web/utils/common.js +39 -0
  151. package/lib/commonjs/web/utils/common.js.map +1 -0
  152. package/lib/commonjs/web/utils/index.js +28 -0
  153. package/lib/commonjs/web/utils/index.js.map +1 -0
  154. package/lib/commonjs/web/utils/unistyle.js +77 -0
  155. package/lib/commonjs/web/utils/unistyle.js.map +1 -0
  156. package/lib/commonjs/web/{variants/getVariants.js → variants.js} +2 -2
  157. package/lib/commonjs/web/variants.js.map +1 -0
  158. package/lib/module/components/Display.js +13 -0
  159. package/lib/module/components/Display.js.map +1 -0
  160. package/lib/module/components/Hide.js +13 -0
  161. package/lib/module/components/Hide.js.map +1 -0
  162. package/lib/module/components/Pressable.js +68 -0
  163. package/lib/module/components/Pressable.js.map +1 -0
  164. package/lib/module/components/Pressable.web.js +109 -0
  165. package/lib/module/components/Pressable.web.js.map +1 -0
  166. package/lib/module/components/index.js +6 -0
  167. package/lib/module/components/index.js.map +1 -0
  168. package/lib/module/core/createUnistylesComponent.js +72 -0
  169. package/lib/module/core/createUnistylesComponent.js.map +1 -0
  170. package/lib/module/core/createUnistylesComponent.native.js +75 -0
  171. package/lib/module/core/createUnistylesComponent.native.js.map +1 -0
  172. package/lib/module/core/getBoundArgs.js +13 -0
  173. package/lib/module/core/getBoundArgs.js.map +1 -0
  174. package/lib/module/core/getId.js +4 -0
  175. package/lib/module/core/getId.js.map +1 -0
  176. package/lib/module/core/index.js +6 -0
  177. package/lib/module/core/index.js.map +1 -0
  178. package/lib/module/hooks/index.js +4 -0
  179. package/lib/module/hooks/index.js.map +1 -0
  180. package/lib/module/hooks/useMedia.js +54 -0
  181. package/lib/module/hooks/useMedia.js.map +1 -0
  182. package/lib/module/hooks/useMedia.web.js +38 -0
  183. package/lib/module/hooks/useMedia.web.js.map +1 -0
  184. package/lib/module/index.js +2 -9
  185. package/lib/module/index.js.map +1 -1
  186. package/lib/module/mq.js +27 -17
  187. package/lib/module/mq.js.map +1 -1
  188. package/lib/module/specs/NativePlatform/NativePlatform.nitro.js +1 -0
  189. package/lib/module/specs/NativePlatform/NativePlatform.nitro.js.map +1 -1
  190. package/lib/module/specs/NavigtionBar/index.js +0 -10
  191. package/lib/module/specs/NavigtionBar/index.js.map +1 -1
  192. package/lib/module/specs/ShadowRegistry/index.js +11 -8
  193. package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
  194. package/lib/module/specs/StatusBar/index.js +1 -6
  195. package/lib/module/specs/StatusBar/index.js.map +1 -1
  196. package/lib/module/specs/StyleSheet/index.js +1 -0
  197. package/lib/module/specs/StyleSheet/index.js.map +1 -1
  198. package/lib/module/specs/TurboUnistyles/NativeTurboUnistyles.js +1 -2
  199. package/lib/module/specs/TurboUnistyles/NativeTurboUnistyles.js.map +1 -1
  200. package/lib/module/specs/UnistylesRuntime/index.js +0 -2
  201. package/lib/module/specs/UnistylesRuntime/index.js.map +1 -1
  202. package/lib/module/specs/index.js +2 -1
  203. package/lib/module/specs/index.js.map +1 -1
  204. package/lib/module/specs/index.web.js +0 -1
  205. package/lib/module/specs/index.web.js.map +1 -1
  206. package/lib/module/types/stylesheet.js.map +1 -1
  207. package/lib/module/utils.js +21 -0
  208. package/lib/module/utils.js.map +1 -0
  209. package/lib/module/web/convert/index.js +23 -20
  210. package/lib/module/web/convert/index.js.map +1 -1
  211. package/lib/module/web/convert/object/boxShadow.js +54 -0
  212. package/lib/module/web/convert/object/boxShadow.js.map +1 -0
  213. package/lib/module/web/convert/object/filter.js +37 -0
  214. package/lib/module/web/convert/object/filter.js.map +1 -0
  215. package/lib/module/web/convert/object/index.js +6 -0
  216. package/lib/module/web/convert/object/index.js.map +1 -0
  217. package/lib/module/web/convert/object/objectStyle.js +51 -0
  218. package/lib/module/web/convert/object/objectStyle.js.map +1 -0
  219. package/lib/module/web/convert/object/transform.js +22 -0
  220. package/lib/module/web/convert/object/transform.js.map +1 -0
  221. package/lib/module/web/convert/pseudo.js +5 -0
  222. package/lib/module/web/convert/pseudo.js.map +1 -0
  223. package/lib/module/web/convert/shadow/boxShadow.js +57 -0
  224. package/lib/module/web/convert/shadow/boxShadow.js.map +1 -0
  225. package/lib/module/web/convert/shadow/getShadowBreakpoints.js +33 -0
  226. package/lib/module/web/convert/shadow/getShadowBreakpoints.js.map +1 -0
  227. package/lib/module/web/convert/shadow/index.js +5 -0
  228. package/lib/module/web/convert/shadow/index.js.map +1 -0
  229. package/lib/module/web/convert/shadow/textShadow.js +54 -0
  230. package/lib/module/web/convert/shadow/textShadow.js.map +1 -0
  231. package/lib/module/web/convert/style.js +11 -7
  232. package/lib/module/web/convert/style.js.map +1 -1
  233. package/lib/module/web/convert/types.js.map +1 -1
  234. package/lib/module/web/convert/utils.js +5 -3
  235. package/lib/module/web/convert/utils.js.map +1 -1
  236. package/lib/module/web/create.js +37 -69
  237. package/lib/module/web/create.js.map +1 -1
  238. package/lib/module/web/index.js +9 -3
  239. package/lib/module/web/index.js.map +1 -1
  240. package/lib/module/web/listener.js +57 -0
  241. package/lib/module/web/listener.js.map +1 -0
  242. package/lib/module/web/mock.js +1 -11
  243. package/lib/module/web/mock.js.map +1 -1
  244. package/lib/module/web/registry.js +155 -20
  245. package/lib/module/web/registry.js.map +1 -1
  246. package/lib/module/web/runtime.js +23 -14
  247. package/lib/module/web/runtime.js.map +1 -1
  248. package/lib/module/web/shadowRegistry.js +139 -0
  249. package/lib/module/web/shadowRegistry.js.map +1 -0
  250. package/lib/module/web/state.js +32 -73
  251. package/lib/module/web/state.js.map +1 -1
  252. package/lib/module/web/utils/common.js +28 -0
  253. package/lib/module/web/utils/common.js.map +1 -0
  254. package/lib/module/web/utils/index.js +5 -0
  255. package/lib/module/web/utils/index.js.map +1 -0
  256. package/lib/module/web/utils/unistyle.js +65 -0
  257. package/lib/module/web/utils/unistyle.js.map +1 -0
  258. package/lib/module/web/{variants/getVariants.js → variants.js} +2 -2
  259. package/lib/module/web/variants.js.map +1 -0
  260. package/lib/typescript/src/components/Display.d.ts +7 -0
  261. package/lib/typescript/src/components/Display.d.ts.map +1 -0
  262. package/lib/typescript/src/components/Hide.d.ts +7 -0
  263. package/lib/typescript/src/components/Hide.d.ts.map +1 -0
  264. package/lib/typescript/src/components/Pressable.d.ts +8 -0
  265. package/lib/typescript/src/components/Pressable.d.ts.map +1 -0
  266. package/lib/typescript/src/components/Pressable.web.d.ts +14 -0
  267. package/lib/typescript/src/components/Pressable.web.d.ts.map +1 -0
  268. package/lib/typescript/src/components/index.d.ts +4 -0
  269. package/lib/typescript/src/components/index.d.ts.map +1 -0
  270. package/lib/typescript/src/core/createUnistylesComponent.d.ts +8 -0
  271. package/lib/typescript/src/core/createUnistylesComponent.d.ts.map +1 -0
  272. package/lib/typescript/src/core/createUnistylesComponent.native.d.ts +8 -0
  273. package/lib/typescript/src/core/createUnistylesComponent.native.d.ts.map +1 -0
  274. package/lib/typescript/src/core/getBoundArgs.d.ts +2 -0
  275. package/lib/typescript/src/core/getBoundArgs.d.ts.map +1 -0
  276. package/lib/typescript/src/core/getId.d.ts +2 -0
  277. package/lib/typescript/src/core/getId.d.ts.map +1 -0
  278. package/lib/typescript/src/core/index.d.ts +4 -0
  279. package/lib/typescript/src/core/index.d.ts.map +1 -0
  280. package/lib/typescript/src/hooks/index.d.ts +2 -0
  281. package/lib/typescript/src/hooks/index.d.ts.map +1 -0
  282. package/lib/typescript/src/hooks/useMedia.d.ts +6 -0
  283. package/lib/typescript/src/hooks/useMedia.d.ts.map +1 -0
  284. package/lib/typescript/src/hooks/useMedia.web.d.ts +6 -0
  285. package/lib/typescript/src/hooks/useMedia.web.d.ts.map +1 -0
  286. package/lib/typescript/src/index.d.ts +3 -0
  287. package/lib/typescript/src/index.d.ts.map +1 -1
  288. package/lib/typescript/src/mq.d.ts +8 -0
  289. package/lib/typescript/src/mq.d.ts.map +1 -1
  290. package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts +8 -6
  291. package/lib/typescript/src/specs/NativePlatform/NativePlatform.nitro.d.ts.map +1 -1
  292. package/lib/typescript/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.d.ts +0 -1
  293. package/lib/typescript/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.d.ts.map +1 -1
  294. package/lib/typescript/src/specs/NavigtionBar/index.d.ts +1 -10
  295. package/lib/typescript/src/specs/NavigtionBar/index.d.ts.map +1 -1
  296. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +4 -4
  297. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
  298. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts +4 -0
  299. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts.map +1 -1
  300. package/lib/typescript/src/specs/StatusBar/UnistylesStatusBar.nitro.d.ts +0 -1
  301. package/lib/typescript/src/specs/StatusBar/UnistylesStatusBar.nitro.d.ts.map +1 -1
  302. package/lib/typescript/src/specs/StatusBar/index.d.ts +2 -4
  303. package/lib/typescript/src/specs/StatusBar/index.d.ts.map +1 -1
  304. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts +3 -1
  305. package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts.map +1 -1
  306. package/lib/typescript/src/specs/StyleSheet/index.d.ts +5 -3
  307. package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
  308. package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts +1 -1
  309. package/lib/typescript/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.d.ts.map +1 -1
  310. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts +4 -2
  311. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts.map +1 -1
  312. package/lib/typescript/src/specs/index.d.ts +4 -2
  313. package/lib/typescript/src/specs/index.d.ts.map +1 -1
  314. package/lib/typescript/src/specs/index.web.d.ts +0 -2
  315. package/lib/typescript/src/specs/index.web.d.ts.map +1 -1
  316. package/lib/typescript/src/types/breakpoints.d.ts +11 -11
  317. package/lib/typescript/src/types/breakpoints.d.ts.map +1 -1
  318. package/lib/typescript/src/types/common.d.ts +2 -0
  319. package/lib/typescript/src/types/common.d.ts.map +1 -1
  320. package/lib/typescript/src/types/index.d.ts +2 -2
  321. package/lib/typescript/src/types/index.d.ts.map +1 -1
  322. package/lib/typescript/src/types/stylesheet.d.ts +6 -4
  323. package/lib/typescript/src/types/stylesheet.d.ts.map +1 -1
  324. package/lib/typescript/src/types/variants.d.ts +4 -1
  325. package/lib/typescript/src/types/variants.d.ts.map +1 -1
  326. package/lib/typescript/src/utils.d.ts +2 -0
  327. package/lib/typescript/src/utils.d.ts.map +1 -0
  328. package/lib/typescript/src/web/convert/index.d.ts +1 -2
  329. package/lib/typescript/src/web/convert/index.d.ts.map +1 -1
  330. package/lib/typescript/src/web/convert/object/boxShadow.d.ts +9 -0
  331. package/lib/typescript/src/web/convert/object/boxShadow.d.ts.map +1 -0
  332. package/lib/typescript/src/web/convert/object/filter.d.ts +3 -0
  333. package/lib/typescript/src/web/convert/object/filter.d.ts.map +1 -0
  334. package/lib/typescript/src/web/convert/object/index.d.ts +4 -0
  335. package/lib/typescript/src/web/convert/object/index.d.ts.map +1 -0
  336. package/lib/typescript/src/web/convert/object/objectStyle.d.ts +5 -0
  337. package/lib/typescript/src/web/convert/object/objectStyle.d.ts.map +1 -0
  338. package/lib/typescript/src/web/convert/object/transform.d.ts +3 -0
  339. package/lib/typescript/src/web/convert/object/transform.d.ts.map +1 -0
  340. package/lib/typescript/src/web/convert/pseudo.d.ts +6 -0
  341. package/lib/typescript/src/web/convert/pseudo.d.ts.map +1 -0
  342. package/lib/typescript/src/web/convert/shadow/boxShadow.d.ts +8 -0
  343. package/lib/typescript/src/web/convert/shadow/boxShadow.d.ts.map +1 -0
  344. package/lib/typescript/src/web/convert/shadow/getShadowBreakpoints.d.ts +2 -0
  345. package/lib/typescript/src/web/convert/shadow/getShadowBreakpoints.d.ts.map +1 -0
  346. package/lib/typescript/src/web/convert/shadow/index.d.ts +3 -0
  347. package/lib/typescript/src/web/convert/shadow/index.d.ts.map +1 -0
  348. package/lib/typescript/src/web/convert/shadow/textShadow.d.ts +8 -0
  349. package/lib/typescript/src/web/convert/shadow/textShadow.d.ts.map +1 -0
  350. package/lib/typescript/src/web/convert/style.d.ts +1 -2
  351. package/lib/typescript/src/web/convert/style.d.ts.map +1 -1
  352. package/lib/typescript/src/web/convert/types.d.ts +7 -1
  353. package/lib/typescript/src/web/convert/types.d.ts.map +1 -1
  354. package/lib/typescript/src/web/convert/utils.d.ts +8 -4
  355. package/lib/typescript/src/web/convert/utils.d.ts.map +1 -1
  356. package/lib/typescript/src/web/create.d.ts +215 -1221
  357. package/lib/typescript/src/web/create.d.ts.map +1 -1
  358. package/lib/typescript/src/web/index.d.ts +223 -1222
  359. package/lib/typescript/src/web/index.d.ts.map +1 -1
  360. package/lib/typescript/src/web/{listener/listener.d.ts → listener.d.ts} +5 -2
  361. package/lib/typescript/src/web/listener.d.ts.map +1 -0
  362. package/lib/typescript/src/web/mock.d.ts +0 -9
  363. package/lib/typescript/src/web/mock.d.ts.map +1 -1
  364. package/lib/typescript/src/web/registry.d.ts +18 -6
  365. package/lib/typescript/src/web/registry.d.ts.map +1 -1
  366. package/lib/typescript/src/web/runtime.d.ts +6 -5
  367. package/lib/typescript/src/web/runtime.d.ts.map +1 -1
  368. package/lib/typescript/src/web/shadowRegistry.d.ts +17 -0
  369. package/lib/typescript/src/web/shadowRegistry.d.ts.map +1 -0
  370. package/lib/typescript/src/web/state.d.ts +3 -9
  371. package/lib/typescript/src/web/state.d.ts.map +1 -1
  372. package/lib/typescript/src/web/utils/common.d.ts +8 -0
  373. package/lib/typescript/src/web/utils/common.d.ts.map +1 -0
  374. package/lib/typescript/src/web/utils/index.d.ts +3 -0
  375. package/lib/typescript/src/web/utils/index.d.ts.map +1 -0
  376. package/lib/typescript/src/web/utils/unistyle.d.ts +19 -0
  377. package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -0
  378. package/lib/typescript/src/web/{variants/getVariants.d.ts → variants.d.ts} +2 -2
  379. package/lib/typescript/src/web/variants.d.ts.map +1 -0
  380. package/nitrogen/generated/android/c++/JColorScheme.hpp +2 -2
  381. package/nitrogen/generated/android/c++/JFunc_void_UnistylesNativeMiniRuntime.hpp +57 -0
  382. package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.hpp +69 -0
  383. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +35 -34
  384. package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.hpp +15 -6
  385. package/nitrogen/generated/android/c++/JOrientation.hpp +2 -2
  386. package/nitrogen/generated/android/c++/JUnistyleDependency.hpp +5 -2
  387. package/nitrogen/generated/android/c++/JUnistylesNativeMiniRuntime.hpp +9 -7
  388. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/ColorScheme.kt +5 -1
  389. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Dimensions.kt +1 -0
  390. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/{Func_void_std__vector_UnistyleDependency_.kt → Func_void_UnistylesNativeMiniRuntime.kt} +6 -5
  391. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Func_void_std__vector_UnistyleDependency__UnistylesNativeMiniRuntime.kt +46 -0
  392. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +25 -13
  393. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Insets.kt +1 -0
  394. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/Orientation.kt +5 -1
  395. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistyleDependency.kt +6 -1
  396. package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/UnistylesNativeMiniRuntime.kt +3 -1
  397. package/nitrogen/generated/android/unistyles+autolinking.cmake +13 -1
  398. package/nitrogen/generated/android/unistyles+autolinking.gradle +2 -0
  399. package/nitrogen/generated/android/{UnistylesOnLoad.cpp → unistylesOnLoad.cpp} +6 -4
  400. package/nitrogen/generated/android/{UnistylesOnLoad.hpp → unistylesOnLoad.hpp} +1 -1
  401. package/nitrogen/generated/ios/Unistyles+autolinking.rb +6 -4
  402. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +25 -0
  403. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp +73 -38
  404. package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Umbrella.hpp +1 -30
  405. package/nitrogen/generated/ios/c++/HybridNativePlatformSpecSwift.hpp +8 -8
  406. package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +4 -16
  407. package/nitrogen/generated/ios/swift/HybridNativePlatformSpecCxx.swift +156 -115
  408. package/nitrogen/generated/ios/swift/UnistyleDependency.swift +4 -0
  409. package/nitrogen/generated/ios/swift/UnistylesNativeMiniRuntime.swift +16 -5
  410. package/nitrogen/generated/shared/c++/ColorScheme.hpp +2 -2
  411. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.cpp +2 -2
  412. package/nitrogen/generated/shared/c++/HybridNativePlatformSpec.hpp +6 -3
  413. package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.cpp +0 -1
  414. package/nitrogen/generated/shared/c++/HybridUnistylesNavigationBarSpec.hpp +3 -1
  415. package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.cpp +1 -0
  416. package/nitrogen/generated/shared/c++/HybridUnistylesRuntimeSpec.hpp +5 -0
  417. package/nitrogen/generated/shared/c++/HybridUnistylesShadowRegistrySpec.hpp +3 -0
  418. package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.cpp +0 -1
  419. package/nitrogen/generated/shared/c++/HybridUnistylesStatusBarSpec.hpp +3 -1
  420. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.cpp +2 -1
  421. package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.hpp +10 -4
  422. package/nitrogen/generated/shared/c++/Orientation.hpp +2 -2
  423. package/nitrogen/generated/shared/c++/UnistyleDependency.hpp +2 -1
  424. package/nitrogen/generated/shared/c++/UnistylesCxxMiniRuntime.hpp +10 -9
  425. package/nitrogen/generated/shared/c++/UnistylesNativeMiniRuntime.hpp +9 -8
  426. package/package.json +24 -37
  427. package/plugin/common.js +27 -2
  428. package/plugin/import.js +29 -3
  429. package/plugin/index.js +104 -15
  430. package/plugin/ref.js +50 -16
  431. package/plugin/style.js +443 -9
  432. package/plugin/stylesheet.js +10 -3
  433. package/src/components/Display.tsx +12 -0
  434. package/src/components/Hide.tsx +12 -0
  435. package/src/components/Pressable.tsx +89 -0
  436. package/src/components/Pressable.web.tsx +129 -0
  437. package/src/components/index.ts +3 -0
  438. package/src/core/createUnistylesComponent.native.tsx +83 -0
  439. package/src/core/createUnistylesComponent.tsx +84 -0
  440. package/src/core/getBoundArgs.ts +15 -0
  441. package/src/core/getId.ts +1 -0
  442. package/src/core/index.ts +3 -0
  443. package/src/hooks/index.ts +1 -0
  444. package/src/hooks/useMedia.ts +64 -0
  445. package/src/hooks/useMedia.web.ts +47 -0
  446. package/src/index.ts +3 -12
  447. package/src/mq.ts +33 -15
  448. package/src/specs/NativePlatform/NativePlatform.nitro.ts +8 -6
  449. package/src/specs/NavigtionBar/UnistylesNavigationBar.nitro.ts +0 -1
  450. package/src/specs/NavigtionBar/index.ts +1 -25
  451. package/src/specs/ShadowRegistry/index.ts +17 -12
  452. package/src/specs/ShadowRegistry/types.ts +6 -2
  453. package/src/specs/StatusBar/UnistylesStatusBar.nitro.ts +0 -1
  454. package/src/specs/StatusBar/index.ts +2 -12
  455. package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.ts +4 -1
  456. package/src/specs/StyleSheet/index.ts +7 -3
  457. package/src/specs/TurboUnistyles/NativeTurboUnistyles.ts +1 -2
  458. package/src/specs/UnistylesRuntime/UnistylesRuntime.nitro.ts +2 -2
  459. package/src/specs/UnistylesRuntime/index.ts +4 -3
  460. package/src/specs/index.ts +6 -2
  461. package/src/specs/index.web.ts +0 -4
  462. package/src/types/breakpoints.ts +25 -13
  463. package/src/types/common.ts +2 -0
  464. package/src/types/index.ts +2 -2
  465. package/src/types/stylesheet.ts +7 -5
  466. package/src/types/variants.ts +7 -1
  467. package/src/utils.ts +22 -0
  468. package/src/web/convert/index.ts +24 -24
  469. package/src/web/convert/object/boxShadow.ts +55 -0
  470. package/src/web/convert/object/filter.ts +39 -0
  471. package/src/web/convert/object/index.ts +3 -0
  472. package/src/web/convert/object/objectStyle.ts +69 -0
  473. package/src/web/convert/object/transform.ts +24 -0
  474. package/src/web/convert/pseudo.ts +137 -0
  475. package/src/web/convert/shadow/boxShadow.ts +50 -0
  476. package/src/web/convert/shadow/getShadowBreakpoints.ts +34 -0
  477. package/src/web/convert/shadow/index.ts +2 -0
  478. package/src/web/convert/shadow/textShadow.ts +48 -0
  479. package/src/web/convert/style.ts +61 -10
  480. package/src/web/convert/types.ts +8 -1
  481. package/src/web/convert/utils.ts +13 -7
  482. package/src/web/create.ts +35 -83
  483. package/src/web/index.ts +9 -4
  484. package/src/web/listener.ts +65 -0
  485. package/src/web/mock.ts +1 -12
  486. package/src/web/registry.ts +202 -28
  487. package/src/web/runtime.ts +29 -18
  488. package/src/web/shadowRegistry.ts +149 -0
  489. package/src/web/state.ts +52 -87
  490. package/src/web/utils/common.ts +45 -0
  491. package/src/web/utils/index.ts +2 -0
  492. package/src/web/utils/unistyle.ts +94 -0
  493. package/src/web/{variants/getVariants.ts → variants.ts} +2 -2
  494. package/android/src/main/cxx/helpers.cpp +0 -105
  495. package/android/src/main/cxx/helpers.h +0 -16
  496. package/android/src/main/cxx/platform.cpp +0 -170
  497. package/android/src/main/cxx/platform.h +0 -20
  498. package/lib/commonjs/web/convert/boxShadow.js.map +0 -1
  499. package/lib/commonjs/web/convert/breakpoint.js +0 -25
  500. package/lib/commonjs/web/convert/breakpoint.js.map +0 -1
  501. package/lib/commonjs/web/convert/shadow.js +0 -68
  502. package/lib/commonjs/web/convert/shadow.js.map +0 -1
  503. package/lib/commonjs/web/convert/textShadow.js.map +0 -1
  504. package/lib/commonjs/web/convert/transform.js +0 -72
  505. package/lib/commonjs/web/convert/transform.js.map +0 -1
  506. package/lib/commonjs/web/listener/index.js +0 -13
  507. package/lib/commonjs/web/listener/index.js.map +0 -1
  508. package/lib/commonjs/web/listener/listener.js +0 -36
  509. package/lib/commonjs/web/listener/listener.js.map +0 -1
  510. package/lib/commonjs/web/mq.js +0 -23
  511. package/lib/commonjs/web/mq.js.map +0 -1
  512. package/lib/commonjs/web/pseudo.js +0 -11
  513. package/lib/commonjs/web/pseudo.js.map +0 -1
  514. package/lib/commonjs/web/utils.js +0 -78
  515. package/lib/commonjs/web/utils.js.map +0 -1
  516. package/lib/commonjs/web/variants/getVariants.js.map +0 -1
  517. package/lib/commonjs/web/variants/index.js +0 -28
  518. package/lib/commonjs/web/variants/index.js.map +0 -1
  519. package/lib/commonjs/web/variants/useVariants.js +0 -75
  520. package/lib/commonjs/web/variants/useVariants.js.map +0 -1
  521. package/lib/module/web/convert/boxShadow.js +0 -72
  522. package/lib/module/web/convert/boxShadow.js.map +0 -1
  523. package/lib/module/web/convert/breakpoint.js +0 -20
  524. package/lib/module/web/convert/breakpoint.js.map +0 -1
  525. package/lib/module/web/convert/shadow.js +0 -63
  526. package/lib/module/web/convert/shadow.js.map +0 -1
  527. package/lib/module/web/convert/textShadow.js +0 -68
  528. package/lib/module/web/convert/textShadow.js.map +0 -1
  529. package/lib/module/web/convert/transform.js +0 -67
  530. package/lib/module/web/convert/transform.js.map +0 -1
  531. package/lib/module/web/listener/index.js +0 -4
  532. package/lib/module/web/listener/index.js.map +0 -1
  533. package/lib/module/web/listener/listener.js +0 -31
  534. package/lib/module/web/listener/listener.js.map +0 -1
  535. package/lib/module/web/mq.js +0 -17
  536. package/lib/module/web/mq.js.map +0 -1
  537. package/lib/module/web/pseudo.js +0 -6
  538. package/lib/module/web/pseudo.js.map +0 -1
  539. package/lib/module/web/utils.js +0 -65
  540. package/lib/module/web/utils.js.map +0 -1
  541. package/lib/module/web/variants/getVariants.js.map +0 -1
  542. package/lib/module/web/variants/index.js +0 -5
  543. package/lib/module/web/variants/index.js.map +0 -1
  544. package/lib/module/web/variants/useVariants.js +0 -70
  545. package/lib/module/web/variants/useVariants.js.map +0 -1
  546. package/lib/typescript/example/App.d.ts +0 -4
  547. package/lib/typescript/example/App.d.ts.map +0 -1
  548. package/lib/typescript/example/Typography.d.ts +0 -11
  549. package/lib/typescript/example/Typography.d.ts.map +0 -1
  550. package/lib/typescript/example/unistyles.d.ts +0 -63
  551. package/lib/typescript/example/unistyles.d.ts.map +0 -1
  552. package/lib/typescript/expo-example/App.d.ts +0 -4
  553. package/lib/typescript/expo-example/App.d.ts.map +0 -1
  554. package/lib/typescript/expo-example/unistyles.d.ts +0 -63
  555. package/lib/typescript/expo-example/unistyles.d.ts.map +0 -1
  556. package/lib/typescript/src/web/convert/boxShadow.d.ts +0 -3
  557. package/lib/typescript/src/web/convert/boxShadow.d.ts.map +0 -1
  558. package/lib/typescript/src/web/convert/breakpoint.d.ts +0 -3
  559. package/lib/typescript/src/web/convert/breakpoint.d.ts.map +0 -1
  560. package/lib/typescript/src/web/convert/shadow.d.ts +0 -2
  561. package/lib/typescript/src/web/convert/shadow.d.ts.map +0 -1
  562. package/lib/typescript/src/web/convert/textShadow.d.ts +0 -3
  563. package/lib/typescript/src/web/convert/textShadow.d.ts.map +0 -1
  564. package/lib/typescript/src/web/convert/transform.d.ts +0 -5
  565. package/lib/typescript/src/web/convert/transform.d.ts.map +0 -1
  566. package/lib/typescript/src/web/listener/index.d.ts +0 -2
  567. package/lib/typescript/src/web/listener/index.d.ts.map +0 -1
  568. package/lib/typescript/src/web/listener/listener.d.ts.map +0 -1
  569. package/lib/typescript/src/web/mq.d.ts +0 -4
  570. package/lib/typescript/src/web/mq.d.ts.map +0 -1
  571. package/lib/typescript/src/web/pseudo.d.ts +0 -4
  572. package/lib/typescript/src/web/pseudo.d.ts.map +0 -1
  573. package/lib/typescript/src/web/utils.d.ts +0 -20
  574. package/lib/typescript/src/web/utils.d.ts.map +0 -1
  575. package/lib/typescript/src/web/variants/getVariants.d.ts.map +0 -1
  576. package/lib/typescript/src/web/variants/index.d.ts +0 -3
  577. package/lib/typescript/src/web/variants/index.d.ts.map +0 -1
  578. package/lib/typescript/src/web/variants/useVariants.d.ts +0 -3
  579. package/lib/typescript/src/web/variants/useVariants.d.ts.map +0 -1
  580. package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency_.hpp +0 -60
  581. package/plugin/__tests__/dependencies.spec.js +0 -438
  582. package/plugin/__tests__/ref.spec.js +0 -1170
  583. package/plugin/__tests__/stylesheet.spec.js +0 -489
  584. package/src/web/convert/boxShadow.ts +0 -72
  585. package/src/web/convert/breakpoint.ts +0 -21
  586. package/src/web/convert/shadow.ts +0 -68
  587. package/src/web/convert/textShadow.ts +0 -69
  588. package/src/web/convert/transform.ts +0 -89
  589. package/src/web/listener/index.ts +0 -1
  590. package/src/web/listener/listener.ts +0 -33
  591. package/src/web/mq.ts +0 -19
  592. package/src/web/pseudo.ts +0 -11
  593. package/src/web/utils.ts +0 -95
  594. package/src/web/variants/index.ts +0 -2
  595. package/src/web/variants/useVariants.ts +0 -79
  596. /package/nitrogen/generated/android/{UnistylesOnLoad.kt → unistylesOnLoad.kt} +0 -0
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UnistylesListener = void 0;
7
+ var _NativePlatform = require("../specs/NativePlatform");
8
+ var _runtime = require("./runtime");
9
+ class UnistylesListenerBuilder {
10
+ isInitialized = false;
11
+ listeners = Array.from({
12
+ length: Object.keys(_NativePlatform.UnistyleDependency).length / 2
13
+ }, () => new Set());
14
+ stylesheetListeners = Array.from({
15
+ length: Object.keys(_NativePlatform.UnistyleDependency).length / 2
16
+ }, () => new Set());
17
+ emitChange = dependency => {
18
+ this.stylesheetListeners[dependency]?.forEach(listener => listener());
19
+ this.listeners[dependency]?.forEach(listener => listener());
20
+ };
21
+ initListeners = () => {
22
+ if (this.isInitialized) {
23
+ return;
24
+ }
25
+ this.isInitialized = true;
26
+ _runtime.UnistylesRuntime.darkMedia?.addEventListener('change', event => {
27
+ if (!event.matches) {
28
+ return;
29
+ }
30
+ this.emitChange(_NativePlatform.UnistyleDependency.ColorScheme);
31
+ if (_runtime.UnistylesRuntime.hasAdaptiveThemes) {
32
+ this.emitChange(_NativePlatform.UnistyleDependency.Theme);
33
+ }
34
+ });
35
+ _runtime.UnistylesRuntime.lightMedia?.addEventListener('change', event => {
36
+ if (!event.matches) {
37
+ return;
38
+ }
39
+ this.emitChange(_NativePlatform.UnistyleDependency.ColorScheme);
40
+ if (_runtime.UnistylesRuntime.hasAdaptiveThemes) {
41
+ this.emitChange(_NativePlatform.UnistyleDependency.Theme);
42
+ }
43
+ });
44
+ window.addEventListener('orientationchange', () => this.emitChange(_NativePlatform.UnistyleDependency.Orientation));
45
+ window.addEventListener('resize', () => this.emitChange(_NativePlatform.UnistyleDependency.Dimensions));
46
+ };
47
+ addListeners = (dependencies, listener) => {
48
+ dependencies.forEach(dependency => this.listeners[dependency]?.add(listener));
49
+ return () => {
50
+ dependencies.forEach(dependency => this.listeners[dependency]?.delete(listener));
51
+ };
52
+ };
53
+ addStylesheetListeners = (dependencies, listener) => {
54
+ dependencies.forEach(dependency => this.stylesheetListeners[dependency]?.add(listener));
55
+ return () => {
56
+ dependencies.forEach(dependency => this.stylesheetListeners[dependency]?.delete(listener));
57
+ };
58
+ };
59
+ }
60
+ const UnistylesListener = exports.UnistylesListener = new UnistylesListenerBuilder();
61
+ //# sourceMappingURL=listener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_NativePlatform","require","_runtime","UnistylesListenerBuilder","isInitialized","listeners","Array","from","length","Object","keys","UnistyleDependency","Set","stylesheetListeners","emitChange","dependency","forEach","listener","initListeners","UnistylesRuntime","darkMedia","addEventListener","event","matches","ColorScheme","hasAdaptiveThemes","Theme","lightMedia","window","Orientation","Dimensions","addListeners","dependencies","add","delete","addStylesheetListeners","UnistylesListener","exports"],"sourceRoot":"../../../src","sources":["web/listener.ts"],"mappings":"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","ignoreList":[]}
@@ -3,13 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.UnistylesShadowRegistry = exports.StatusBar = exports.NavigationBar = void 0;
6
+ exports.StatusBar = exports.NavigationBar = void 0;
7
7
  const StatusBar = exports.StatusBar = {
8
8
  width: 0,
9
9
  height: 0,
10
10
  setStyle: () => {},
11
11
  setHidden: () => {},
12
- setBackgroundColor: () => {},
13
12
  equals: () => true,
14
13
  toString: () => 'StatusBar',
15
14
  __type: 'web',
@@ -19,19 +18,10 @@ const NavigationBar = exports.NavigationBar = {
19
18
  width: 0,
20
19
  height: 0,
21
20
  setHidden: () => {},
22
- setBackgroundColor: () => {},
23
21
  equals: () => true,
22
+ dispose: () => {},
24
23
  toString: () => 'NavigationBar',
25
24
  __type: 'web',
26
25
  name: 'NavigationBar'
27
26
  };
28
- const UnistylesShadowRegistry = exports.UnistylesShadowRegistry = {
29
- name: 'UnistylesShadowRegistry',
30
- __type: 'web',
31
- equals: () => true,
32
- toString: () => 'UnistylesShadowRegistry',
33
- dispose: () => {},
34
- add: () => {},
35
- remove: () => {}
36
- };
37
27
  //# sourceMappingURL=mock.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["StatusBar","exports","width","height","setStyle","setHidden","setBackgroundColor","equals","toString","__type","name","NavigationBar","UnistylesShadowRegistry","dispose","add","remove"],"sourceRoot":"../../../src","sources":["web/mock.ts"],"mappings":";;;;;;AAGO,MAAMA,SAAwB,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACpCE,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE,CAAC;EACTC,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAC;EAClBC,SAAS,EAAEA,CAAA,KAAM,CAAC,CAAC;EACnBC,kBAAkB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC5BC,MAAM,EAAEA,CAAA,KAAM,IAAI;EAClBC,QAAQ,EAAEA,CAAA,KAAM,WAAW;EAC3BC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE;AACV,CAAC;AAEM,MAAMC,aAAgC,GAAAV,OAAA,CAAAU,aAAA,GAAG;EAC5CT,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE,CAAC;EACTE,SAAS,EAAEA,CAAA,KAAM,CAAC,CAAC;EACnBC,kBAAkB,EAAEA,CAAA,KAAM,CAAC,CAAC;EAC5BC,MAAM,EAAEA,CAAA,KAAM,IAAI;EAClBC,QAAQ,EAAEA,CAAA,KAAM,eAAe;EAC/BC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE;AACV,CAAC;AAEM,MAAME,uBAAuB,GAAAX,OAAA,CAAAW,uBAAA,GAAG;EACnCF,IAAI,EAAE,yBAAyB;EAC/BD,MAAM,EAAE,KAAK;EACbF,MAAM,EAAEA,CAAA,KAAM,IAAI;EAClBC,QAAQ,EAAEA,CAAA,KAAM,yBAAyB;EACzCK,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBC,GAAG,EAAEA,CAAA,KAAM,CAAC,CAAC;EACbC,MAAM,EAAEA,CAAA,KAAM,CAAC;AACnB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["StatusBar","exports","width","height","setStyle","setHidden","equals","toString","__type","name","NavigationBar","dispose"],"sourceRoot":"../../../src","sources":["web/mock.ts"],"mappings":";;;;;;AAGO,MAAMA,SAAwB,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACpCE,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE,CAAC;EACTC,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAC;EAClBC,SAAS,EAAEA,CAAA,KAAM,CAAC,CAAC;EACnBC,MAAM,EAAEA,CAAA,KAAM,IAAI;EAClBC,QAAQ,EAAEA,CAAA,KAAM,WAAW;EAC3BC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE;AACV,CAAC;AAEM,MAAMC,aAAgC,GAAAT,OAAA,CAAAS,aAAA,GAAG;EAC5CR,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE,CAAC;EACTE,SAAS,EAAEA,CAAA,KAAM,CAAC,CAAC;EACnBC,MAAM,EAAEA,CAAA,KAAM,IAAI;EAClBK,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBJ,QAAQ,EAAEA,CAAA,KAAM,eAAe;EAC/BC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE;AACV,CAAC","ignoreList":[]}
@@ -4,33 +4,168 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.UnistylesRegistry = void 0;
7
- var _typestyle = require("typestyle");
7
+ var _runtime = require("./runtime");
8
+ var _utils = require("./utils");
9
+ var _listener = require("./listener");
8
10
  var _convert = require("./convert");
9
- var _state = require("./state");
10
11
  class UnistylesRegistryBuilder {
11
- createStyles = (stylesheet, key) => {
12
- const stylesTag = _state.UnistylesState.createTag();
13
- const unistyles = (0, _typestyle.createTypeStyle)(stylesTag);
14
- const typestyleStylesheet = (0, _convert.convertToTypeStyle)(stylesheet);
15
- const className = unistyles.style({
16
- $debugName: String(key)
17
- }, typestyleStylesheet);
18
- if (stylesheet._web?._css) {
19
- const customClassName = Array.isArray(stylesheet._web._css) ? stylesheet._web._css.join(' ') : stylesheet._web._css;
12
+ stylesheets = new Map();
13
+ stylesCounter = new Map();
14
+ #styleTag = null;
15
+ disposeListenersMap = new Map();
16
+ dependenciesMap = new Map();
17
+ get styleTag() {
18
+ const tag = this.#styleTag;
19
+ if (!tag) {
20
+ const newTag = document.createElement('style');
21
+ newTag.id = 'unistyles-web';
22
+ this.#styleTag = newTag;
23
+ document.head.appendChild(newTag);
24
+ return newTag;
25
+ }
26
+ return tag;
27
+ }
28
+ getComputedStylesheet = stylesheet => {
29
+ if (typeof stylesheet !== 'function') {
30
+ return stylesheet;
31
+ }
32
+ const computedStylesheet = this.stylesheets.get(stylesheet);
33
+ if (computedStylesheet) {
34
+ return computedStylesheet;
35
+ }
36
+ const createdStylesheet = stylesheet(_runtime.UnistylesRuntime.theme, _runtime.UnistylesRuntime.miniRuntime);
37
+ const dependencies = Object.values(createdStylesheet).flatMap(value => (0, _utils.extractUnistyleDependencies)(value));
38
+ this.addDependenciesToStylesheet(stylesheet, dependencies);
39
+ this.stylesheets.set(stylesheet, createdStylesheet);
40
+ return createdStylesheet;
41
+ };
42
+ addDependenciesToStylesheet = (stylesheet, dependencies) => {
43
+ this.disposeListenersMap.get(stylesheet)?.();
44
+ const dependenciesMap = this.dependenciesMap.get(stylesheet) ?? new Set(dependencies);
45
+ dependencies.forEach(dependency => dependenciesMap.add(dependency));
46
+ const dispose = _listener.UnistylesListener.addStylesheetListeners(Array.from(dependenciesMap), () => {
47
+ const newComputedStylesheet = stylesheet(_runtime.UnistylesRuntime.theme, _runtime.UnistylesRuntime.miniRuntime);
48
+ this.stylesheets.set(stylesheet, newComputedStylesheet);
49
+ });
50
+ this.dependenciesMap.set(stylesheet, dependenciesMap);
51
+ this.disposeListenersMap.set(stylesheet, dispose);
52
+ };
53
+ add = value => {
54
+ const hash = (0, _utils.generateHash)(value);
55
+ const existingCounter = this.stylesCounter.get(hash);
56
+ if (!existingCounter || existingCounter.size === 0) {
57
+ const counter = new Set();
58
+ counter.add(value);
59
+ this.stylesCounter.set(hash, counter);
60
+ this.applyStyles(hash, (0, _convert.convertUnistyles)(value));
20
61
  return {
21
- className: `${className} ${customClassName}`,
22
- unistyles
62
+ hash,
63
+ existingHash: false
23
64
  };
24
65
  }
66
+ existingCounter.add(value);
25
67
  return {
26
- className,
27
- unistyles
68
+ hash,
69
+ existingHash: true
28
70
  };
29
71
  };
30
- updateStyles = (unistyles, stylesheet, className) => {
31
- const typestyleStylesheet = (0, _convert.convertToTypeStyle)(stylesheet);
32
- unistyles.reinit();
33
- unistyles.cssRule(`.${className}`, typestyleStylesheet);
72
+ applyStyles = (hash, styles) => {
73
+ Object.entries(styles).forEach(([key, value]) => {
74
+ if (!this.styleTag.sheet) {
75
+ return;
76
+ }
77
+ if (typeof value === 'object' && !key.startsWith('_')) {
78
+ const mediaQuery = (0, _utils.getMediaQuery)(key);
79
+ const cssRules = Array.from(this.styleTag.sheet.cssRules);
80
+ let queryRule = cssRules.find(rule => {
81
+ if (!(rule instanceof CSSMediaRule)) {
82
+ return false;
83
+ }
84
+ return rule.media.item(0)?.includes(mediaQuery);
85
+ }) ?? null;
86
+ if (!queryRule) {
87
+ const mediaQueryValue = (0, _utils.extractMediaQueryValue)(mediaQuery);
88
+ const ruleIndex = mediaQueryValue ? cssRules.reduce((acc, rule, ruleIndex) => {
89
+ if (!(rule instanceof CSSMediaRule)) {
90
+ return acc;
91
+ }
92
+ const ruleMediaQueryValue = (0, _utils.extractMediaQueryValue)(rule.conditionText);
93
+ if (ruleMediaQueryValue === undefined) {
94
+ return;
95
+ }
96
+ return ruleMediaQueryValue > mediaQueryValue ? ruleIndex : acc;
97
+ }, cssRules.length) : undefined;
98
+ queryRule = this.styleTag.sheet.cssRules.item(this.styleTag.sheet.insertRule(`@media ${mediaQuery} {.${hash} {}}`, ruleIndex));
99
+ }
100
+ if (queryRule instanceof CSSMediaRule) {
101
+ Object.entries(value).forEach(([mqKey, mqValue]) => {
102
+ this.applyRule({
103
+ hash,
104
+ key: mqKey,
105
+ value: mqValue,
106
+ sheet: queryRule
107
+ });
108
+ });
109
+ }
110
+ return;
111
+ }
112
+
113
+ // Pseudo
114
+ if (typeof value === 'object') {
115
+ Object.entries(value).forEach(([pseudoKey, pseudoValue]) => {
116
+ this.applyRule({
117
+ hash: `${hash}${key.replace('_', ':')}`,
118
+ key: pseudoKey,
119
+ value: pseudoValue,
120
+ sheet: this.styleTag.sheet
121
+ });
122
+ });
123
+ return;
124
+ }
125
+ this.applyRule({
126
+ hash,
127
+ key,
128
+ value,
129
+ sheet: this.styleTag.sheet
130
+ });
131
+ });
132
+ };
133
+ applyRule = ({
134
+ hash,
135
+ key,
136
+ value,
137
+ sheet
138
+ }) => {
139
+ let rule = Array.from(sheet.cssRules).find(rule => {
140
+ if (!(rule instanceof CSSStyleRule)) {
141
+ return false;
142
+ }
143
+
144
+ // In unistyles pseudos are prefixed with ':' but in css some of them are prefixed with '::'
145
+ return rule.selectorText.replace('::', ':').includes(hash);
146
+ }) ?? null;
147
+ if (!rule) {
148
+ rule = sheet.cssRules.item(sheet.insertRule(`.${hash} {}`));
149
+ }
150
+ if (!(rule instanceof CSSStyleRule) || !(0, _utils.keyInObject)(rule.style, key)) {
151
+ return;
152
+ }
153
+ rule.style[key] = value;
154
+ };
155
+ remove = value => {
156
+ const hash = (0, _utils.generateHash)(value);
157
+ const existingStyles = this.stylesCounter.get(hash);
158
+ if (!existingStyles) {
159
+ return;
160
+ }
161
+ existingStyles.delete(value);
162
+ if (existingStyles.size === 0) {
163
+ const ruleIndex = Array.from(this.styleTag.sheet?.cssRules ?? []).findIndex(rule => rule.cssText.includes(`.${hash}`));
164
+ if (ruleIndex === -1) {
165
+ return;
166
+ }
167
+ this.styleTag.sheet?.deleteRule(ruleIndex);
168
+ }
34
169
  };
35
170
  }
36
171
  const UnistylesRegistry = exports.UnistylesRegistry = new UnistylesRegistryBuilder();
@@ -1 +1 @@
1
- {"version":3,"names":["_typestyle","require","_convert","_state","UnistylesRegistryBuilder","createStyles","stylesheet","key","stylesTag","UnistylesState","createTag","unistyles","createTypeStyle","typestyleStylesheet","convertToTypeStyle","className","style","$debugName","String","_web","_css","customClassName","Array","isArray","join","updateStyles","reinit","cssRule","UnistylesRegistry","exports"],"sourceRoot":"../../../src","sources":["web/registry.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,MAAMG,wBAAwB,CAAC;EAC3BC,YAAY,GAAGA,CAACC,UAA2B,EAAEC,GAAoB,KAAK;IAClE,MAAMC,SAAS,GAAGC,qBAAc,CAACC,SAAS,CAAC,CAAC;IAC5C,MAAMC,SAAS,GAAG,IAAAC,0BAAe,EAACJ,SAAS,CAAC;IAC5C,MAAMK,mBAAmB,GAAG,IAAAC,2BAAkB,EAACR,UAAU,CAAC;IAE1D,MAAMS,SAAS,GAAGJ,SAAS,CAACK,KAAK,CAAC;MAC9BC,UAAU,EAAEC,MAAM,CAACX,GAAG;IAC1B,CAAC,EAAEM,mBAAmB,CAAC;IAEvB,IAAIP,UAAU,CAACa,IAAI,EAAEC,IAAI,EAAE;MACvB,MAAMC,eAAe,GAAGC,KAAK,CAACC,OAAO,CAACjB,UAAU,CAACa,IAAI,CAACC,IAAI,CAAC,GACrDd,UAAU,CAACa,IAAI,CAACC,IAAI,CAACI,IAAI,CAAC,GAAG,CAAC,GAC9BlB,UAAU,CAACa,IAAI,CAACC,IAAI;MAE1B,OAAO;QACHL,SAAS,EAAE,GAAGA,SAAS,IAAIM,eAAe,EAAE;QAC5CV;MACJ,CAAC;IACL;IAEA,OAAO;MACHI,SAAS;MACTJ;IACJ,CAAC;EACL,CAAC;EAEDc,YAAY,GAAGA,CAACd,SAAoB,EAAEL,UAA2B,EAAES,SAAiB,KAAK;IACrF,MAAMF,mBAAmB,GAAG,IAAAC,2BAAkB,EAACR,UAAU,CAAC;IAE1DK,SAAS,CAACe,MAAM,CAAC,CAAC;IAClBf,SAAS,CAACgB,OAAO,CAAC,IAAIZ,SAAS,EAAE,EAAEF,mBAAmB,CAAC;EAC3D,CAAC;AACL;AAEO,MAAMe,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,IAAIxB,wBAAwB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_runtime","require","_utils","_listener","_convert","UnistylesRegistryBuilder","stylesheets","Map","stylesCounter","styleTag","disposeListenersMap","dependenciesMap","tag","newTag","document","createElement","id","head","appendChild","getComputedStylesheet","stylesheet","computedStylesheet","get","createdStylesheet","UnistylesRuntime","theme","miniRuntime","dependencies","Object","values","flatMap","value","extractUnistyleDependencies","addDependenciesToStylesheet","set","Set","forEach","dependency","add","dispose","UnistylesListener","addStylesheetListeners","Array","from","newComputedStylesheet","hash","generateHash","existingCounter","size","counter","applyStyles","convertUnistyles","existingHash","styles","entries","key","sheet","startsWith","mediaQuery","getMediaQuery","cssRules","queryRule","find","rule","CSSMediaRule","media","item","includes","mediaQueryValue","extractMediaQueryValue","ruleIndex","reduce","acc","ruleMediaQueryValue","conditionText","undefined","length","insertRule","mqKey","mqValue","applyRule","pseudoKey","pseudoValue","replace","CSSStyleRule","selectorText","keyInObject","style","remove","existingStyles","delete","findIndex","cssText","deleteRule","UnistylesRegistry","exports"],"sourceRoot":"../../../src","sources":["web/registry.ts"],"mappings":"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","ignoreList":[]}
@@ -43,11 +43,17 @@ class UnistylesRuntimeBuilder {
43
43
  }
44
44
  }
45
45
  get themeName() {
46
+ if (_state.UnistylesState.hasAdaptiveThemes) {
47
+ return (0, _utils.schemeToTheme)(this.colorScheme);
48
+ }
46
49
  return _state.UnistylesState.themeName;
47
50
  }
48
51
  get contentSizeCategory() {
49
52
  return _types2.WebContentSizeCategory.Unspecified;
50
53
  }
54
+ get breakpoints() {
55
+ return _state.UnistylesState.breakpoints ?? {};
56
+ }
51
57
  get breakpoint() {
52
58
  return _state.UnistylesState.breakpoint;
53
59
  }
@@ -58,14 +64,7 @@ class UnistylesRuntimeBuilder {
58
64
  return screen.orientation.type.includes('portrait') ? _types.Orientation.Portrait : _types.Orientation.Landscape;
59
65
  }
60
66
  get theme() {
61
- if (!this.themeName) {
62
- throw new Error('🦄 No theme selected!');
63
- }
64
- const theme = _state.UnistylesState.themes.get(this.themeName);
65
- if (!theme) {
66
- throw new Error(`🦄 Theme "${this.themeName}" is not registered!`);
67
- }
68
- return theme;
67
+ return this.getTheme(this.themeName);
69
68
  }
70
69
  get pixelRatio() {
71
70
  return (0, _utils.isServer)() ? 1 : window.devicePixelRatio;
@@ -112,7 +111,8 @@ class UnistylesRuntimeBuilder {
112
111
  themeName: this.themeName,
113
112
  contentSizeCategory: this.contentSizeCategory,
114
113
  breakpoint: this.breakpoint,
115
- orientation: this.orientation,
114
+ isLandscape: this.orientation === _types.Orientation.Landscape,
115
+ isPortrait: this.orientation === _types.Orientation.Portrait,
116
116
  pixelRatio: this.pixelRatio,
117
117
  screen: this.screen,
118
118
  fontScale: this.fontScale,
@@ -130,6 +130,9 @@ class UnistylesRuntimeBuilder {
130
130
  };
131
131
  }
132
132
  setTheme = themeName => {
133
+ if (this.hasAdaptiveThemes) {
134
+ throw (0, _utils.error)(`You're trying to set theme to: '${themeName}', but adaptiveThemes are enabled.`);
135
+ }
133
136
  if (themeName === UnistylesRuntime.themeName) {
134
137
  return;
135
138
  }
@@ -144,21 +147,27 @@ class UnistylesRuntimeBuilder {
144
147
  }
145
148
  this.setTheme((0, _utils.schemeToTheme)(UnistylesRuntime.colorScheme));
146
149
  };
147
- setRootViewBackgroundColor = (hex, alpha) => {
150
+ setRootViewBackgroundColor = color => {
148
151
  if ((0, _utils.isServer)()) {
149
152
  return;
150
153
  }
151
- document.documentElement.style.backgroundColor = alpha ? (0, _utils.hexToRGBA)(hex, alpha) : hex;
154
+ document.documentElement.style.backgroundColor = color;
152
155
  };
153
156
  setImmersiveMode = () => {};
154
157
  updateTheme = (themeName, updater) => {
155
158
  const oldTheme = _state.UnistylesState.themes.get(themeName);
156
159
  if (!oldTheme) {
157
- throw new Error(`🦄 Theme "${themeName}" is not registered!`);
160
+ throw (0, _utils.error)(`Unistyles: You're trying to update theme "${themeName}" but it wasn't registered.`);
158
161
  }
159
162
  _state.UnistylesState.themes.set(themeName, updater(oldTheme));
160
163
  };
161
- getSSRUnistyles = () => _state.UnistylesState.tags;
164
+ getTheme = (themeName = this.themeName) => {
165
+ const theme = _state.UnistylesState.themes.get(themeName ?? '');
166
+ if (!themeName || !theme) {
167
+ throw (0, _utils.error)(`You're trying to get theme "${themeName}" but it wasn't registered.`);
168
+ }
169
+ return theme;
170
+ };
162
171
  }
163
172
  const UnistylesRuntime = exports.UnistylesRuntime = new UnistylesRuntimeBuilder();
164
173
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_NativePlatform","require","_types","_types2","_listener","_mock","_state","_utils","UnistylesRuntimeBuilder","lightMedia","getLightMedia","darkMedia","getDarkMedia","isServer","window","matchMedia","colorScheme","matches","ColorScheme","Light","Dark","Unspecified","themeName","UnistylesState","contentSizeCategory","WebContentSizeCategory","breakpoint","orientation","Orientation","Portrait","screen","type","includes","Landscape","theme","Error","themes","get","pixelRatio","devicePixelRatio","width","height","innerWidth","innerHeight","fontScale","insets","top","bottom","left","right","ime","statusBar","StatusBar","rtl","document","documentElement","dir","hasAdaptiveThemes","navigationBar","NavigationBar","miniRuntime","setTheme","UnistylesRuntime","UnistylesListener","emitChange","UnistyleDependency","Theme","ThemeName","setAdaptiveThemes","isEnabled","schemeToTheme","setRootViewBackgroundColor","hex","alpha","style","backgroundColor","hexToRGBA","setImmersiveMode","updateTheme","updater","oldTheme","set","getSSRUnistyles","tags","exports"],"sourceRoot":"../../../src","sources":["web/runtime.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_NativePlatform","require","_types","_types2","_listener","_mock","_state","_utils","UnistylesRuntimeBuilder","lightMedia","getLightMedia","darkMedia","getDarkMedia","isServer","window","matchMedia","colorScheme","matches","ColorScheme","Light","Dark","Unspecified","themeName","UnistylesState","hasAdaptiveThemes","schemeToTheme","contentSizeCategory","WebContentSizeCategory","breakpoints","breakpoint","orientation","Orientation","Portrait","screen","type","includes","Landscape","theme","getTheme","pixelRatio","devicePixelRatio","width","height","innerWidth","innerHeight","fontScale","insets","top","bottom","left","right","ime","statusBar","StatusBar","rtl","document","documentElement","dir","navigationBar","NavigationBar","miniRuntime","isLandscape","isPortrait","setTheme","error","UnistylesRuntime","UnistylesListener","emitChange","UnistyleDependency","Theme","ThemeName","setAdaptiveThemes","isEnabled","setRootViewBackgroundColor","color","style","backgroundColor","setImmersiveMode","updateTheme","updater","oldTheme","themes","get","set","exports"],"sourceRoot":"../../../src","sources":["web/runtime.ts"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAEA,MAAMO,uBAAuB,CAAC;EAC1BC,UAAU,GAAG,IAAI,CAACC,aAAa,CAAC,CAAC;EACjCC,SAAS,GAAG,IAAI,CAACC,YAAY,CAAC,CAAC;EAEvBF,aAAaA,CAAA,EAA0B;IAC3C,IAAI,IAAAG,eAAQ,EAAC,CAAC,EAAE;MACZ,OAAO,IAAI;IACf;IAEA,IAAI,CAAC,IAAI,CAACJ,UAAU,EAAE;MAClB,IAAI,CAACA,UAAU,GAAGK,MAAM,CAACC,UAAU,CAAC,+BAA+B,CAAC;IACxE;IAEA,OAAO,IAAI,CAACN,UAAU;EAC1B;EAEQG,YAAYA,CAAA,EAA0B;IAC1C,IAAI,IAAAC,eAAQ,EAAC,CAAC,EAAE;MACZ,OAAO,IAAI;IACf;IAEA,IAAI,CAAC,IAAI,CAACF,SAAS,EAAE;MACjB,IAAI,CAACA,SAAS,GAAGG,MAAM,CAACC,UAAU,CAAC,8BAA8B,CAAC;IACtE;IAEA,OAAO,IAAI,CAACJ,SAAS;EACzB;EAEA,IAAIK,WAAWA,CAAA,EAAG;IACd,QAAQ,IAAI;MACR,KAAK,IAAI,CAACN,aAAa,CAAC,CAAC,EAAEO,OAAO;QAC9B,OAAOC,kBAAW,CAACC,KAAK;MAC5B,KAAK,IAAI,CAACP,YAAY,CAAC,CAAC,EAAEK,OAAO;QAC7B,OAAOC,kBAAW,CAACE,IAAI;MAC3B;QACI,OAAOF,kBAAW,CAACG,WAAW;IACtC;EACJ;EAEA,IAAIC,SAASA,CAAA,EAAG;IACZ,IAAIC,qBAAc,CAACC,iBAAiB,EAAE;MAClC,OAAO,IAAAC,oBAAa,EAAC,IAAI,CAACT,WAAW,CAAC;IAC1C;IAEA,OAAOO,qBAAc,CAACD,SAAS;EACnC;EAEA,IAAII,mBAAmBA,CAAA,EAAG;IACtB,OAAOC,8BAAsB,CAACN,WAAW;EAC7C;EAEA,IAAIO,WAAWA,CAAA,EAAG;IACd,OAAOL,qBAAc,CAACK,WAAW,IAAI,CAAC,CAAC;EAC3C;EAEA,IAAIC,UAAUA,CAAA,EAAG;IACb,OAAON,qBAAc,CAACM,UAAU;EACpC;EAEA,IAAIC,WAAWA,CAAA,EAAG;IACd,IAAI,IAAAjB,eAAQ,EAAC,CAAC,EAAE;MACZ,OAAOkB,kBAAW,CAACC,QAAQ;IAC/B;IAEA,OAAOC,MAAM,CAACH,WAAW,CAACI,IAAI,CAACC,QAAQ,CAAC,UAAU,CAAC,GAAGJ,kBAAW,CAACC,QAAQ,GAAGD,kBAAW,CAACK,SAAS;EACtG;EAEA,IAAIC,KAAKA,CAAA,EAAG;IACR,OAAO,IAAI,CAACC,QAAQ,CAAC,IAAI,CAAChB,SAAS,CAAC;EACxC;EAEA,IAAIiB,UAAUA,CAAA,EAAG;IACb,OAAO,IAAA1B,eAAQ,EAAC,CAAC,GAAG,CAAC,GAAGC,MAAM,CAAC0B,gBAAgB;EACnD;EAEA,IAAIP,MAAMA,CAAA,EAAG;IACT,IAAI,IAAApB,eAAQ,EAAC,CAAC,EAAE;MACZ,OAAO;QACH4B,KAAK,EAAE,CAAC;QACRC,MAAM,EAAE;MACZ,CAAC;IACL;IAEA,OAAO;MACHD,KAAK,EAAE3B,MAAM,CAAC6B,UAAU;MACxBD,MAAM,EAAE5B,MAAM,CAAC8B;IACnB,CAAC;EACL;EAEA,IAAIC,SAASA,CAAA,EAAG;IACZ,OAAO,CAAC;EACZ;EAEA,IAAIC,MAAMA,CAAA,EAAG;IACT,OAAO;MACHC,GAAG,EAAE,CAAC;MACNC,MAAM,EAAE,CAAC;MACTC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,CAAC;MACRC,GAAG,EAAE;IACT,CAAC;EACL;EAEA,IAAIC,SAASA,CAAA,EAAG;IACZ,OAAOC,eAAS;EACpB;EAEA,IAAIC,GAAGA,CAAA,EAAG;IACN,OAAO,IAAAzC,eAAQ,EAAC,CAAC,GAAG,IAAI,GAAG0C,QAAQ,CAACC,eAAe,CAACC,GAAG,KAAK,KAAK;EACrE;EAEA,IAAIjC,iBAAiBA,CAAA,EAAG;IACpB,OAAOD,qBAAc,CAACC,iBAAiB;EAC3C;EAEA,IAAIkC,aAAaA,CAAA,EAAG;IAChB,OAAOC,mBAAa;EACxB;EAEA,IAAIC,WAAWA,CAAA,EAAyB;IACpC,OAAO;MACH5C,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BM,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBI,mBAAmB,EAAE,IAAI,CAACA,mBAAmB;MAC7CG,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BgC,WAAW,EAAE,IAAI,CAAC/B,WAAW,KAAKC,kBAAW,CAACK,SAAS;MACvD0B,UAAU,EAAE,IAAI,CAAChC,WAAW,KAAKC,kBAAW,CAACC,QAAQ;MACrDO,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BN,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBY,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBC,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBM,SAAS,EAAE;QACPX,KAAK,EAAE,IAAI,CAACW,SAAS,CAACX,KAAK;QAC3BC,MAAM,EAAE,IAAI,CAACU,SAAS,CAACV;MAC3B,CAAC;MACDgB,aAAa,EAAE;QACXjB,KAAK,EAAE,IAAI,CAACiB,aAAa,CAACjB,KAAK;QAC/BC,MAAM,EAAE,IAAI,CAACgB,aAAa,CAAChB;MAC/B,CAAC;MACDY,GAAG,EAAE,IAAI,CAACA,GAAG;MACb9B,iBAAiB,EAAE,IAAI,CAACA;IAC5B,CAAC;EACL;EAEAuC,QAAQ,GAAIzC,SAAuB,IAAK;IACpC,IAAI,IAAI,CAACE,iBAAiB,EAAE;MACxB,MAAM,IAAAwC,YAAK,EAAC,mCAAmC1C,SAAS,oCAAoC,CAAC;IACjG;IAEA,IAAIA,SAAS,KAAK2C,gBAAgB,CAAC3C,SAAS,EAAE;MAC1C;IACJ;IAEAC,qBAAc,CAACD,SAAS,GAAGA,SAAS;IACpC4C,2BAAiB,CAACC,UAAU,CAACC,kCAAkB,CAACC,KAAK,CAAC;IACtDH,2BAAiB,CAACC,UAAU,CAACC,kCAAkB,CAACE,SAAS,CAAC;EAC9D,CAAC;EAEDC,iBAAiB,GAAIC,SAAkB,IAAK;IACxCjD,qBAAc,CAACC,iBAAiB,GAAGgD,SAAS;IAE5C,IAAI,CAACA,SAAS,EAAE;MACZ;IACJ;IAEA,IAAI,CAACT,QAAQ,CAAC,IAAAtC,oBAAa,EAACwC,gBAAgB,CAACjD,WAAW,CAAiB,CAAC;EAC9E,CAAC;EAEDyD,0BAA0B,GAAIC,KAAa,IAAK;IAC5C,IAAI,IAAA7D,eAAQ,EAAC,CAAC,EAAE;MACZ;IACJ;IAEA0C,QAAQ,CAACC,eAAe,CAACmB,KAAK,CAACC,eAAe,GAAGF,KAAK;EAC1D,CAAC;EAEDG,gBAAgB,GAAGA,CAAA,KAAM,CAAC,CAAC;EAE3BC,WAAW,GAAGA,CAACxD,SAAuB,EAAEyD,OAA6C,KAAK;IACtF,MAAMC,QAAQ,GAAGzD,qBAAc,CAAC0D,MAAM,CAACC,GAAG,CAAC5D,SAAS,CAAC;IAErD,IAAI,CAAC0D,QAAQ,EAAE;MACX,MAAM,IAAAhB,YAAK,EAAC,6CAA6C1C,SAAS,6BAA6B,CAAC;IACpG;IAEAC,qBAAc,CAAC0D,MAAM,CAACE,GAAG,CAAC7D,SAAS,EAAEyD,OAAO,CAACC,QAAQ,CAAC,CAAC;EAC3D,CAAC;EAED1C,QAAQ,GAAGA,CAAChB,SAAS,GAAG,IAAI,CAACA,SAAS,KAAK;IACvC,MAAMe,KAAK,GAAGd,qBAAc,CAAC0D,MAAM,CAACC,GAAG,CAAC5D,SAAS,IAAI,EAAE,CAAC;IAExD,IAAI,CAACA,SAAS,IAAI,CAACe,KAAK,EAAE;MACtB,MAAM,IAAA2B,YAAK,EAAC,+BAA+B1C,SAAS,6BAA6B,CAAC;IACtF;IAEA,OAAOe,KAAK;EAChB,CAAC;AACL;AAEO,MAAM4B,gBAAgB,GAAAmB,OAAA,CAAAnB,gBAAA,GAAG,IAAIzD,uBAAuB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UnistylesShadowRegistry = void 0;
7
+ var _convert = require("./convert");
8
+ var _listener = require("./listener");
9
+ var _registry = require("./registry");
10
+ var _utils = require("../utils");
11
+ var _utils2 = require("./utils");
12
+ var _variants2 = require("./variants");
13
+ class UnistylesShadowRegistryBuilder {
14
+ // MOCKS
15
+ name = 'UnistylesShadowRegistry';
16
+ __type = 'web';
17
+ equals = () => true;
18
+ toString = () => 'UnistylesShadowRegistry';
19
+ dispose = () => {};
20
+ // END MOCKS
21
+
22
+ resultsMap = new Map();
23
+ hashMap = new Map();
24
+ classNamesMap = new Map();
25
+ add = (ref, styles, _variants, _args) => {
26
+ // Styles are not provided
27
+ if (!styles) {
28
+ return;
29
+ }
30
+
31
+ // Ref is unmounted, remove style tags from the document
32
+ if (ref === null) {
33
+ const secrets = (0, _utils2.extractSecrets)(styles);
34
+ if (secrets) {
35
+ secrets.__uni__refs.forEach(ref => {
36
+ if ((0, _utils2.isInDocument)(ref)) {
37
+ return;
38
+ }
39
+ const oldResult = this.resultsMap.get(ref);
40
+ this.resultsMap.delete(ref);
41
+ this.classNamesMap.delete(ref);
42
+ if (oldResult) {
43
+ _registry.UnistylesRegistry.remove(oldResult);
44
+ }
45
+ });
46
+ }
47
+ return;
48
+ }
49
+
50
+ // Ref is not an HTMLElement
51
+ if (!(ref instanceof HTMLElement)) {
52
+ return;
53
+ }
54
+ const parsedStyles = styles.flat().flatMap((unistyleStyle, styleIndex) => {
55
+ if (!unistyleStyle) {
56
+ return [];
57
+ }
58
+ const secrets = (0, _utils2.extractSecrets)(unistyleStyle);
59
+
60
+ // Regular style
61
+ if (!secrets) {
62
+ return unistyleStyle;
63
+ }
64
+ const {
65
+ __uni__key,
66
+ __uni__stylesheet,
67
+ __uni__variants,
68
+ __uni__args = [],
69
+ __uni__refs
70
+ } = secrets;
71
+ const newComputedStylesheet = _registry.UnistylesRegistry.getComputedStylesheet(__uni__stylesheet);
72
+ const style = newComputedStylesheet[__uni__key];
73
+ const variants = _variants && Object.keys(_variants).length > 0 ? _variants : __uni__variants;
74
+ const args = _args[styleIndex] && _args[styleIndex].length > 0 ? _args[styleIndex] : __uni__args;
75
+ const result = typeof style === 'function' ? style(...args) : style;
76
+ const {
77
+ variantsResult
78
+ } = Object.fromEntries((0, _variants2.getVariants)({
79
+ variantsResult: result
80
+ }, variants));
81
+ const resultWithVariants = (0, _utils.deepMergeObjects)(result, variantsResult ?? {});
82
+ const dependencies = (0, _utils2.extractUnistyleDependencies)(resultWithVariants);
83
+ if (typeof __uni__stylesheet === 'function') {
84
+ // Add dependencies from dynamic styles to stylesheet
85
+ _registry.UnistylesRegistry.addDependenciesToStylesheet(__uni__stylesheet, dependencies);
86
+ }
87
+ __uni__refs.add(ref);
88
+ const dispose = _listener.UnistylesListener.addListeners((0, _utils2.extractUnistyleDependencies)(resultWithVariants), () => {
89
+ const hash = this.hashMap.get(ref);
90
+
91
+ // Dispose listener if there is no hash
92
+ if (!hash) {
93
+ dispose();
94
+ return;
95
+ }
96
+ const newComputedStyleSheet = _registry.UnistylesRegistry.getComputedStylesheet(__uni__stylesheet);
97
+ const newValue = newComputedStyleSheet[__uni__key];
98
+ const result = typeof newValue === 'function' ? newValue(...args) : newValue;
99
+ const {
100
+ variantsResult
101
+ } = Object.fromEntries((0, _variants2.getVariants)({
102
+ variantsResult: result
103
+ }, variants));
104
+ const resultWithVariants = (0, _utils.deepMergeObjects)(result, variantsResult ?? {});
105
+ _registry.UnistylesRegistry.applyStyles(hash, (0, _convert.convertUnistyles)(resultWithVariants));
106
+ });
107
+ return resultWithVariants;
108
+ });
109
+ const combinedStyles = (0, _utils.deepMergeObjects)(...parsedStyles);
110
+ const oldStyles = this.resultsMap.get(ref);
111
+ if ((0, _utils2.equal)(combinedStyles, oldStyles)) {
112
+ return;
113
+ }
114
+ const oldClassNames = this.classNamesMap.get(ref);
115
+
116
+ // Remove old styles
117
+ if (oldStyles) {
118
+ _registry.UnistylesRegistry.remove(oldStyles);
119
+ }
120
+
121
+ // Remove old classnames from the ref
122
+ oldClassNames?.forEach(className => ref.classList.remove(className));
123
+ this.resultsMap.set(ref, combinedStyles);
124
+ const {
125
+ hash,
126
+ existingHash
127
+ } = _registry.UnistylesRegistry.add(combinedStyles);
128
+ const injectedClassNames = combinedStyles?._web?._classNames ?? [];
129
+ const newClassNames = (Array.isArray(injectedClassNames) ? injectedClassNames : [injectedClassNames]).concat(hash);
130
+ this.classNamesMap.set(ref, newClassNames);
131
+ // Add new classnames to the ref
132
+ ref.classList.add(...newClassNames);
133
+
134
+ // If it is new hash add it to the map to use for the listener
135
+ if (!existingHash) {
136
+ this.hashMap.set(ref, hash);
137
+ }
138
+ return newClassNames;
139
+ };
140
+ remove = () => {};
141
+ }
142
+ const UnistylesShadowRegistry = exports.UnistylesShadowRegistry = new UnistylesShadowRegistryBuilder();
143
+ //# sourceMappingURL=shadowRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_convert","require","_listener","_registry","_utils","_utils2","_variants2","UnistylesShadowRegistryBuilder","name","__type","equals","toString","dispose","resultsMap","Map","hashMap","classNamesMap","add","ref","styles","_variants","_args","secrets","extractSecrets","__uni__refs","forEach","isInDocument","oldResult","get","delete","UnistylesRegistry","remove","HTMLElement","parsedStyles","flat","flatMap","unistyleStyle","styleIndex","__uni__key","__uni__stylesheet","__uni__variants","__uni__args","newComputedStylesheet","getComputedStylesheet","style","variants","Object","keys","length","args","result","variantsResult","fromEntries","getVariants","resultWithVariants","deepMergeObjects","dependencies","extractUnistyleDependencies","addDependenciesToStylesheet","UnistylesListener","addListeners","hash","newComputedStyleSheet","newValue","applyStyles","convertUnistyles","combinedStyles","oldStyles","equal","oldClassNames","className","classList","set","existingHash","injectedClassNames","_web","_classNames","newClassNames","Array","isArray","concat","UnistylesShadowRegistry","exports"],"sourceRoot":"../../../src","sources":["web/shadowRegistry.ts"],"mappings":"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","ignoreList":[]}