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
@@ -6,8 +6,10 @@ import normalizeColors from '@react-native/normalize-colors';
6
6
  import { BOX_SHADOW_STYLES, TEXT_SHADOW_STYLES } from './types';
7
7
  export const isTransform = (key, value) => key === 'transform' && Array.isArray(value);
8
8
  export const isTextShadow = key => TEXT_SHADOW_STYLES.includes(key);
9
- export const isBoxShadow = key => BOX_SHADOW_STYLES.includes(key);
10
- export const normalizeNumericValue = value => value ? `${value}px` : value;
9
+ export const isShadow = key => BOX_SHADOW_STYLES.includes(key);
10
+ export const isFilter = (key, value) => key === 'filter' && Array.isArray(value);
11
+ export const isBoxShadow = (key, value) => key === 'boxShadow' && Array.isArray(value);
12
+ export const normalizeNumericValue = value => value && typeof value === 'number' ? `${value}px` : value;
11
13
  export const normalizeColor = (color, opacity = 1) => {
12
14
  // If the opacity is 1 there's no need to normalize the color
13
15
  if (opacity === 1) {
@@ -21,7 +23,7 @@ export const normalizeColor = (color, opacity = 1) => {
21
23
  }
22
24
  const hex = integer.toString(16).padStart(8, '0');
23
25
  if (hex.length === 8) {
24
- const [r = 0, g = 0, b = 0, a = 1] = hex.split(/(?=(?:..)*$)/).map(x => parseInt(x, 16)).filter(num => !isNaN(num));
26
+ const [r = 0, g = 0, b = 0, a = 1] = hex.split(/(?=(?:..)*$)/).map(x => Number.parseInt(x, 16)).filter(num => !Number.isNaN(num));
25
27
  return `rgba(${r},${g},${b},${a / 255 * opacity})`;
26
28
  }
27
29
  return color;
@@ -1 +1 @@
1
- {"version":3,"names":["normalizeColors","BOX_SHADOW_STYLES","TEXT_SHADOW_STYLES","isTransform","key","value","Array","isArray","isTextShadow","includes","isBoxShadow","normalizeNumericValue","normalizeColor","color","opacity","integer","hex","toString","padStart","length","r","g","b","a","split","map","x","parseInt","filter","num","isNaN","extractShadowValue","breakpoint","styles","width","height"],"sourceRoot":"../../../../src","sources":["web/convert/utils.ts"],"mappings":";;AAAA;AACA;AACA,OAAOA,eAAe,MAAM,gCAAgC;AAC5D,SAASC,iBAAiB,EAAEC,kBAAkB,QAA4C,SAAS;AAEnG,OAAO,MAAMC,WAAW,GAAGA,CAACC,GAAW,EAAEC,KAAU,KAA0CD,GAAG,KAAK,WAAW,IAAIE,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC;AAExI,OAAO,MAAMG,YAAY,GAAIJ,GAAW,IAAKF,kBAAkB,CAACO,QAAQ,CAACL,GAAwC,CAAC;AAElH,OAAO,MAAMM,WAAW,GAAIN,GAAW,IAAKH,iBAAiB,CAACQ,QAAQ,CAACL,GAAuC,CAAC;AAE/G,OAAO,MAAMO,qBAAqB,GAAIN,KAAa,IAAKA,KAAK,GAAG,GAAGA,KAAK,IAAI,GAAGA,KAAK;AAEpF,OAAO,MAAMO,cAAc,GAAGA,CAACC,KAAa,EAAEC,OAAe,GAAG,CAAC,KAAK;EAClE;EACA,IAAIA,OAAO,KAAK,CAAC,EAAE;IACf,OAAOD,KAAK;EAChB;EAEA,MAAME,OAAO,GAAGf,eAAe,CAACa,KAAK,CAAC;;EAEtC;EACA,IAAIE,OAAO,KAAK,IAAI,EAAE;IAClB,OAAOF,KAAK;EAChB;EAEA,MAAMG,GAAG,GAAGD,OAAO,CAACE,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAEjD,IAAIF,GAAG,CAACG,MAAM,KAAK,CAAC,EAAE;IAClB,MAAM,CAACC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAG,CAAC,CAAC,GAAGP,GAAG,CACnCQ,KAAK,CAAC,cAAc,CAAC,CACrBC,GAAG,CAACC,CAAC,IAAIC,QAAQ,CAACD,CAAC,EAAE,EAAE,CAAC,CAAC,CACzBE,MAAM,CAACC,GAAG,IAAI,CAACC,KAAK,CAACD,GAAG,CAAC,CAAC;IAE/B,OAAO,QAAQT,CAAC,IAAIC,CAAC,IAAIC,CAAC,IAAKC,CAAC,GAAG,GAAG,GAAIT,OAAO,GAAG;EACxD;EAEA,OAAOD,KAAK;AAChB,CAAC;AAED,OAAO,MAAMkB,kBAAkB,GAAGA,CAA6B3B,GAAS,EAAE4B,UAAkB,EAAEC,MAAW,KAAsB;EAC3H,MAAM5B,KAAK,GAAG4B,MAAM,CAAC7B,GAAG,CAAC;EAEzB,IAAIA,GAAG,KAAK,kBAAkB,IAAIA,GAAG,KAAK,cAAc,EAAE;IACtD,MAAM;MAAE8B,KAAK;MAAEC;IAAO,CAAC,GAAG9B,KAAK;IAE/B,OAAO;MACH6B,KAAK,EAAE,OAAOA,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACF,UAAU,CAAC,GAAGE,KAAK;MAC5DC,MAAM,EAAE,OAAOA,MAAM,KAAK,QAAQ,GAAGA,MAAM,CAACH,UAAU,CAAC,GAAGG;IAC9D,CAAC;EACL;EAEA,OAAO,OAAO9B,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAAC2B,UAAU,CAAC,GAAG3B,KAAK;AAChE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["normalizeColors","BOX_SHADOW_STYLES","TEXT_SHADOW_STYLES","isTransform","key","value","Array","isArray","isTextShadow","includes","isShadow","isFilter","isBoxShadow","normalizeNumericValue","normalizeColor","color","opacity","integer","hex","toString","padStart","length","r","g","b","a","split","map","x","Number","parseInt","filter","num","isNaN","extractShadowValue","breakpoint","styles","width","height"],"sourceRoot":"../../../../src","sources":["web/convert/utils.ts"],"mappings":";;AAAA;AACA;AACA,OAAOA,eAAe,MAAM,gCAAgC;AAC5D,SAASC,iBAAiB,EAAEC,kBAAkB,QAA0D,SAAS;AAIjH,OAAO,MAAMC,WAAW,GAAGA,CAACC,GAAW,EAAEC,KAAU,KAAsCD,GAAG,KAAK,WAAW,IAAIE,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC;AAEpI,OAAO,MAAMG,YAAY,GAAIJ,GAAW,IAAKF,kBAAkB,CAACO,QAAQ,CAACL,GAAwC,CAAC;AAElH,OAAO,MAAMM,QAAQ,GAAIN,GAAW,IAAKH,iBAAiB,CAACQ,QAAQ,CAACL,GAAuC,CAAC;AAE5G,OAAO,MAAMO,QAAQ,GAAGA,CAACP,GAAW,EAAEC,KAAU,KAA8BD,GAAG,KAAK,QAAQ,IAAIE,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC;AAEtH,OAAO,MAAMO,WAAW,GAAGA,CAACR,GAAW,EAAEC,KAAU,KAAqCD,GAAG,KAAK,WAAW,IAAIE,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC;AAEnI,OAAO,MAAMQ,qBAAqB,GAAIR,KAAsB,IAAKA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,GAAG,GAAGA,KAAK,IAAI,GAAGA,KAAK;AAE1H,OAAO,MAAMS,cAAc,GAAGA,CAACC,KAAa,EAAEC,OAAO,GAAG,CAAC,KAAK;EAC1D;EACA,IAAIA,OAAO,KAAK,CAAC,EAAE;IACf,OAAOD,KAAK;EAChB;EAEA,MAAME,OAAO,GAAGjB,eAAe,CAACe,KAAK,CAAC;;EAEtC;EACA,IAAIE,OAAO,KAAK,IAAI,EAAE;IAClB,OAAOF,KAAK;EAChB;EAEA,MAAMG,GAAG,GAAGD,OAAO,CAACE,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAEjD,IAAIF,GAAG,CAACG,MAAM,KAAK,CAAC,EAAE;IAClB,MAAM,CAACC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAG,CAAC,CAAC,GAAGP,GAAG,CACnCQ,KAAK,CAAC,cAAc,CAAC,CACrBC,GAAG,CAACC,CAAC,IAAIC,MAAM,CAACC,QAAQ,CAACF,CAAC,EAAE,EAAE,CAAC,CAAC,CAChCG,MAAM,CAACC,GAAG,IAAI,CAACH,MAAM,CAACI,KAAK,CAACD,GAAG,CAAC,CAAC;IAEtC,OAAO,QAAQV,CAAC,IAAIC,CAAC,IAAIC,CAAC,IAAKC,CAAC,GAAG,GAAG,GAAIT,OAAO,GAAG;EACxD;EAEA,OAAOD,KAAK;AAChB,CAAC;AAED,OAAO,MAAMmB,kBAAkB,GAAGA,CAA6B9B,GAAS,EAAE+B,UAAkB,EAAEC,MAAW,KAAsB;EAC3H,MAAM/B,KAAK,GAAG+B,MAAM,CAAChC,GAAG,CAAC;EAEzB,IAAIA,GAAG,KAAK,kBAAkB,IAAIA,GAAG,KAAK,cAAc,EAAE;IACtD,MAAM;MAAEiC,KAAK;MAAEC;IAAO,CAAC,GAAGjC,KAAK;IAE/B,OAAO;MACHgC,KAAK,EAAE,OAAOA,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACF,UAAU,CAAC,GAAGE,KAAK;MAC5DC,MAAM,EAAE,OAAOA,MAAM,KAAK,QAAQ,GAAGA,MAAM,CAACH,UAAU,CAAC,GAAGG;IAC9D,CAAC;EACL;EAEA,OAAO,OAAOjC,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAAC8B,UAAU,CAAC,GAAG9B,KAAK;AAChE,CAAC","ignoreList":[]}
@@ -1,83 +1,51 @@
1
1
  "use strict";
2
2
 
3
- import { UnistylesRegistry } from './registry';
4
- import { keyInObject, reduceObject, toReactNativeClassName } from './utils';
3
+ import { assignSecrets, reduceObject, getStyles, error } from './utils';
4
+ import { deepMergeObjects } from '../utils';
5
5
  import { UnistylesRuntime } from './runtime';
6
- import { createUseVariants, getVariants } from './variants';
7
- import { UnistylesListener } from './listener';
8
- export const create = stylesheet => {
6
+ import { getVariants } from './variants';
7
+ export const create = (stylesheet, id) => {
8
+ if (!id) {
9
+ throw error('Unistyles is not initialized correctly. Please add babel plugin to your babel config.');
10
+ }
9
11
  const computedStylesheet = typeof stylesheet === 'function' ? stylesheet(UnistylesRuntime.theme, UnistylesRuntime.miniRuntime) : stylesheet;
10
- let lastlySelectedVariants = {};
11
- const listenToDependencies = ({
12
- key,
13
- className,
14
- unistyles,
15
- value,
16
- args = []
17
- }) => {
18
- const dependencies = 'uni__dependencies' in value ? value['uni__dependencies'] : [];
19
- if (dependencies.length === 0) {
20
- return;
21
- }
22
- return UnistylesListener.addListeners(dependencies, () => {
23
- const newComputedStylesheet = typeof stylesheet === 'function' ? stylesheet(UnistylesRuntime.theme, UnistylesRuntime.miniRuntime) : stylesheet;
24
- if (!keyInObject(newComputedStylesheet, key)) {
25
- return;
26
- }
27
- const value = newComputedStylesheet[key];
28
- const result = typeof value === 'function' ? value(...args) : value;
29
- UnistylesRegistry.updateStyles(unistyles, result, className);
30
- });
31
- };
32
- const styles = reduceObject(computedStylesheet, (value, key) => {
12
+ const selectedVariants = new Map();
13
+ const copyVariants = () => Object.fromEntries(selectedVariants.entries());
14
+ const addSecrets = (value, key, args) => assignSecrets(value, {
15
+ __uni__key: key,
16
+ __uni__refs: new Set(),
17
+ __uni__stylesheet: stylesheet,
18
+ __uni__args: args,
19
+ __uni__variants: copyVariants()
20
+ });
21
+ const styles = reduceObject(computedStylesheet, (value, _key) => {
22
+ const key = String(_key);
33
23
  if (typeof value === 'function') {
34
- const webUnistyleByRef = new Map();
35
- const disposeByRef = new Map();
36
- return (...args) => {
37
- const [ref] = args.slice(-1);
24
+ const dynamicStyle = (...args) => {
38
25
  const result = value(...args);
39
26
  const variants = Object.fromEntries(getVariants({
40
27
  [key]: result
41
- }, lastlySelectedVariants));
42
- const resultWithVariants = {
43
- ...result,
44
- ...variants[key]
45
- };
46
- if (ref instanceof HTMLElement) {
47
- const storedWebUnistyle = webUnistyleByRef.get(ref);
48
- const webUnistyle = storedWebUnistyle ?? UnistylesRegistry.createStyles(resultWithVariants, key);
49
- webUnistyleByRef.set(ref, webUnistyle);
50
- disposeByRef.get(ref)?.();
51
- disposeByRef.set(ref, listenToDependencies({
52
- key,
53
- value,
54
- unistyles: webUnistyle.unistyles,
55
- className: webUnistyle.className,
56
- args
57
- }));
58
- ref.classList.add(webUnistyle.className);
59
- if (storedWebUnistyle) {
60
- UnistylesRegistry.updateStyles(webUnistyle.unistyles, resultWithVariants, webUnistyle.className);
61
- }
62
- return;
63
- }
64
- return toReactNativeClassName(null, resultWithVariants);
28
+ }, copyVariants()));
29
+ const resultWithVariants = deepMergeObjects(result, variants[key] ?? {});
30
+
31
+ // Add secrets to result of dynamic styles function
32
+ return addSecrets(getStyles(resultWithVariants), key, args);
65
33
  };
34
+
35
+ // Add secrets to dynamic styles function
36
+ return addSecrets(dynamicStyle, key);
66
37
  }
67
- const {
68
- className,
69
- unistyles
70
- } = UnistylesRegistry.createStyles(value, key);
71
- listenToDependencies({
72
- key,
73
- value,
74
- unistyles,
75
- className
76
- });
77
- return toReactNativeClassName(className, value);
38
+
39
+ // Add secrets to static styles
40
+ return addSecrets(getStyles(value), key);
78
41
  });
79
- createUseVariants(styles, newVariants => {
80
- lastlySelectedVariants = newVariants;
42
+
43
+ // Inject useVariants hook to styles
44
+ Object.defineProperty(styles, 'useVariants', {
45
+ value: variants => {
46
+ Object.entries(variants).forEach(([key, value]) => selectedVariants.set(key, value));
47
+ },
48
+ configurable: false
81
49
  });
82
50
  return styles;
83
51
  };
@@ -1 +1 @@
1
- {"version":3,"names":["UnistylesRegistry","keyInObject","reduceObject","toReactNativeClassName","UnistylesRuntime","createUseVariants","getVariants","UnistylesListener","create","stylesheet","computedStylesheet","theme","miniRuntime","lastlySelectedVariants","listenToDependencies","key","className","unistyles","value","args","dependencies","length","addListeners","newComputedStylesheet","result","updateStyles","styles","webUnistyleByRef","Map","disposeByRef","ref","slice","variants","Object","fromEntries","resultWithVariants","HTMLElement","storedWebUnistyle","get","webUnistyle","createStyles","set","classList","add","newVariants"],"sourceRoot":"../../../src","sources":["web/create.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["assignSecrets","reduceObject","getStyles","error","deepMergeObjects","UnistylesRuntime","getVariants","create","stylesheet","id","computedStylesheet","theme","miniRuntime","selectedVariants","Map","copyVariants","Object","fromEntries","entries","addSecrets","value","key","args","__uni__key","__uni__refs","Set","__uni__stylesheet","__uni__args","__uni__variants","styles","_key","String","dynamicStyle","result","variants","resultWithVariants","defineProperty","forEach","set","configurable"],"sourceRoot":"../../../src","sources":["web/create.ts"],"mappings":";;AAEA,SAASA,aAAa,EAAEC,YAAY,EAAEC,SAAS,EAAEC,KAAK,QAAQ,SAAS;AACvE,SAASC,gBAAgB,QAAQ,UAAU;AAC3C,SAASC,gBAAgB,QAAQ,WAAW;AAC5C,SAASC,WAAW,QAAQ,YAAY;AAExC,OAAO,MAAMC,MAAM,GAAGA,CAACC,UAAiD,EAAEC,EAAW,KAAK;EACtF,IAAI,CAACA,EAAE,EAAE;IACL,MAAMN,KAAK,CAAC,uFAAuF,CAAC;EACxG;EAEA,MAAMO,kBAAkB,GAAG,OAAOF,UAAU,KAAK,UAAU,GACrDA,UAAU,CAACH,gBAAgB,CAACM,KAAK,EAAEN,gBAAgB,CAACO,WAAW,CAAC,GAChEJ,UAAU;EAChB,MAAMK,gBAAgB,GAAG,IAAIC,GAAG,CAAc,CAAC;EAE/C,MAAMC,YAAY,GAAGA,CAAA,KAAMC,MAAM,CAACC,WAAW,CAACJ,gBAAgB,CAACK,OAAO,CAAC,CAAC,CAAC;EACzE,MAAMC,UAAU,GAAGA,CAACC,KAAU,EAAEC,GAAW,EAAEC,IAAiB,KAAKtB,aAAa,CAACoB,KAAK,EAAE;IACpFG,UAAU,EAAEF,GAAG;IACfG,WAAW,EAAE,IAAIC,GAAG,CAAC,CAAC;IACtBC,iBAAiB,EAAElB,UAAU;IAC7BmB,WAAW,EAAEL,IAAI;IACjBM,eAAe,EAAEb,YAAY,CAAC;EAClC,CAAC,CAAC;EAEF,MAAMc,MAAM,GAAG5B,YAAY,CAACS,kBAAkB,EAAE,CAACU,KAAK,EAAEU,IAAI,KAAK;IAC7D,MAAMT,GAAG,GAAGU,MAAM,CAACD,IAAI,CAAC;IAExB,IAAI,OAAOV,KAAK,KAAK,UAAU,EAAE;MAC7B,MAAMY,YAAY,GAAGA,CAAC,GAAGV,IAAgB,KAAK;QAC1C,MAAMW,MAAM,GAAGb,KAAK,CAAC,GAAGE,IAAI,CAAC;QAC7B,MAAMY,QAAQ,GAAGlB,MAAM,CAACC,WAAW,CAACX,WAAW,CAAC;UAAE,CAACe,GAAG,GAAGY;QAAO,CAAC,EAAuClB,YAAY,CAAC,CAAC,CAAC,CAAC;QACxH,MAAMoB,kBAAkB,GAAG/B,gBAAgB,CAAC6B,MAAM,EAAEC,QAAQ,CAACb,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;;QAExE;QACA,OAAOF,UAAU,CAACjB,SAAS,CAACiC,kBAAkB,CAAC,EAAEd,GAAG,EAAEC,IAAI,CAAC;MAC/D,CAAC;;MAED;MACA,OAAOH,UAAU,CAACa,YAAY,EAAEX,GAAG,CAAC;IACxC;;IAEA;IACA,OAAOF,UAAU,CAACjB,SAAS,CAACkB,KAAK,CAAC,EAAEC,GAAG,CAAC;EAC5C,CAAC,CAAsC;;EAEvC;EACAL,MAAM,CAACoB,cAAc,CAACP,MAAM,EAAE,aAAa,EAAE;IACzCT,KAAK,EAAGc,QAA0C,IAAK;MACnDlB,MAAM,CAACE,OAAO,CAACgB,QAAQ,CAAC,CAACG,OAAO,CAAC,CAAC,CAAChB,GAAG,EAAED,KAAK,CAAC,KAAKP,gBAAgB,CAACyB,GAAG,CAACjB,GAAG,EAAED,KAAK,CAAC,CAAC;IACxF,CAAC;IACDmB,YAAY,EAAE;EAClB,CAAC,CAAC;EAEF,OAAOV,MAAM;AACjB,CAAC","ignoreList":[]}
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import { create } from './create';
4
- import { UnistylesRuntime } from './runtime';
5
4
  import { UnistylesState } from './state';
6
- import { deepMergeObjects } from './utils';
5
+ import { deepMergeObjects } from '../utils';
7
6
  export const StyleSheet = {
8
7
  configure: UnistylesState.init,
9
8
  create,
@@ -14,11 +13,18 @@ export const StyleSheet = {
14
13
  right: 0,
15
14
  bottom: 0
16
15
  },
16
+ absoluteFillObject: {
17
+ position: 'absolute',
18
+ left: 0,
19
+ top: 0,
20
+ right: 0,
21
+ bottom: 0
22
+ },
17
23
  compose: (a, b) => deepMergeObjects(a, b),
18
24
  flatten: (...styles) => deepMergeObjects(...styles),
19
25
  hairlineWidth: 1
20
26
  };
21
27
  export { UnistylesRuntime } from './runtime';
28
+ export { UnistylesShadowRegistry } from './shadowRegistry';
22
29
  export * from './mock';
23
- export const getSSRUnistyles = () => UnistylesRuntime.getSSRUnistyles();
24
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["create","UnistylesRuntime","UnistylesState","deepMergeObjects","StyleSheet","configure","init","absoluteFill","position","left","top","right","bottom","compose","a","b","flatten","styles","hairlineWidth","getSSRUnistyles"],"sourceRoot":"../../../src","sources":["web/index.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,UAAU;AACjC,SAASC,gBAAgB,QAAQ,WAAW;AAC5C,SAASC,cAAc,QAAQ,SAAS;AACxC,SAASC,gBAAgB,QAAQ,SAAS;AAE1C,OAAO,MAAMC,UAAU,GAAG;EACtBC,SAAS,EAAEH,cAAc,CAACI,IAAI;EAC9BN,MAAM;EACNO,YAAY,EAAE;IACVC,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,GAAG,EAAE,CAAC;IACNC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACZ,CAAC;EACDC,OAAO,EAAEA,CAACC,CAAS,EAAEC,CAAS,KAAKZ,gBAAgB,CAACW,CAAC,EAAEC,CAAC,CAAC;EACzDC,OAAO,EAAEA,CAAC,GAAGC,MAAqB,KAAKd,gBAAgB,CAAC,GAAGc,MAAM,CAAC;EAClEC,aAAa,EAAE;AACnB,CAAC;AAED,SAASjB,gBAAgB,QAAQ,WAAW;AAC5C,cAAc,QAAQ;AAEtB,OAAO,MAAMkB,eAAe,GAAGA,CAAA,KAAMlB,gBAAgB,CAACkB,eAAe,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["create","UnistylesState","deepMergeObjects","StyleSheet","configure","init","absoluteFill","position","left","top","right","bottom","absoluteFillObject","compose","a","b","flatten","styles","hairlineWidth","UnistylesRuntime","UnistylesShadowRegistry"],"sourceRoot":"../../../src","sources":["web/index.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,UAAU;AACjC,SAASC,cAAc,QAAQ,SAAS;AACxC,SAASC,gBAAgB,QAAQ,UAAU;AAE3C,OAAO,MAAMC,UAAU,GAAG;EACtBC,SAAS,EAAEH,cAAc,CAACI,IAAI;EAC9BL,MAAM;EACNM,YAAY,EAAE;IACVC,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,GAAG,EAAE,CAAC;IACNC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACZ,CAAC;EACDC,kBAAkB,EAAE;IAChBL,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,GAAG,EAAE,CAAC;IACNC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACZ,CAAC;EACDE,OAAO,EAAEA,CAACC,CAAS,EAAEC,CAAS,KAAKb,gBAAgB,CAACY,CAAC,EAAEC,CAAC,CAAC;EACzDC,OAAO,EAAEA,CAAC,GAAGC,MAAqB,KAAKf,gBAAgB,CAAC,GAAGe,MAAM,CAAC;EAClEC,aAAa,EAAE;AACnB,CAAC;AAED,SAASC,gBAAgB,QAAQ,WAAW;AAC5C,SAASC,uBAAuB,QAAQ,kBAAkB;AAC1D,cAAc,QAAQ","ignoreList":[]}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ import { UnistyleDependency } from '../specs/NativePlatform';
4
+ import { UnistylesRuntime } from './runtime';
5
+ class UnistylesListenerBuilder {
6
+ isInitialized = false;
7
+ listeners = Array.from({
8
+ length: Object.keys(UnistyleDependency).length / 2
9
+ }, () => new Set());
10
+ stylesheetListeners = Array.from({
11
+ length: Object.keys(UnistyleDependency).length / 2
12
+ }, () => new Set());
13
+ emitChange = dependency => {
14
+ this.stylesheetListeners[dependency]?.forEach(listener => listener());
15
+ this.listeners[dependency]?.forEach(listener => listener());
16
+ };
17
+ initListeners = () => {
18
+ if (this.isInitialized) {
19
+ return;
20
+ }
21
+ this.isInitialized = true;
22
+ UnistylesRuntime.darkMedia?.addEventListener('change', event => {
23
+ if (!event.matches) {
24
+ return;
25
+ }
26
+ this.emitChange(UnistyleDependency.ColorScheme);
27
+ if (UnistylesRuntime.hasAdaptiveThemes) {
28
+ this.emitChange(UnistyleDependency.Theme);
29
+ }
30
+ });
31
+ UnistylesRuntime.lightMedia?.addEventListener('change', event => {
32
+ if (!event.matches) {
33
+ return;
34
+ }
35
+ this.emitChange(UnistyleDependency.ColorScheme);
36
+ if (UnistylesRuntime.hasAdaptiveThemes) {
37
+ this.emitChange(UnistyleDependency.Theme);
38
+ }
39
+ });
40
+ window.addEventListener('orientationchange', () => this.emitChange(UnistyleDependency.Orientation));
41
+ window.addEventListener('resize', () => this.emitChange(UnistyleDependency.Dimensions));
42
+ };
43
+ addListeners = (dependencies, listener) => {
44
+ dependencies.forEach(dependency => this.listeners[dependency]?.add(listener));
45
+ return () => {
46
+ dependencies.forEach(dependency => this.listeners[dependency]?.delete(listener));
47
+ };
48
+ };
49
+ addStylesheetListeners = (dependencies, listener) => {
50
+ dependencies.forEach(dependency => this.stylesheetListeners[dependency]?.add(listener));
51
+ return () => {
52
+ dependencies.forEach(dependency => this.stylesheetListeners[dependency]?.delete(listener));
53
+ };
54
+ };
55
+ }
56
+ export const UnistylesListener = new UnistylesListenerBuilder();
57
+ //# sourceMappingURL=listener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["UnistyleDependency","UnistylesRuntime","UnistylesListenerBuilder","isInitialized","listeners","Array","from","length","Object","keys","Set","stylesheetListeners","emitChange","dependency","forEach","listener","initListeners","darkMedia","addEventListener","event","matches","ColorScheme","hasAdaptiveThemes","Theme","lightMedia","window","Orientation","Dimensions","addListeners","dependencies","add","delete","addStylesheetListeners","UnistylesListener"],"sourceRoot":"../../../src","sources":["web/listener.ts"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,6 @@ export const StatusBar = {
5
5
  height: 0,
6
6
  setStyle: () => {},
7
7
  setHidden: () => {},
8
- setBackgroundColor: () => {},
9
8
  equals: () => true,
10
9
  toString: () => 'StatusBar',
11
10
  __type: 'web',
@@ -15,19 +14,10 @@ export const NavigationBar = {
15
14
  width: 0,
16
15
  height: 0,
17
16
  setHidden: () => {},
18
- setBackgroundColor: () => {},
19
17
  equals: () => true,
18
+ dispose: () => {},
20
19
  toString: () => 'NavigationBar',
21
20
  __type: 'web',
22
21
  name: 'NavigationBar'
23
22
  };
24
- export const UnistylesShadowRegistry = {
25
- name: 'UnistylesShadowRegistry',
26
- __type: 'web',
27
- equals: () => true,
28
- toString: () => 'UnistylesShadowRegistry',
29
- dispose: () => {},
30
- add: () => {},
31
- remove: () => {}
32
- };
33
23
  //# sourceMappingURL=mock.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["StatusBar","width","height","setStyle","setHidden","setBackgroundColor","equals","toString","__type","name","NavigationBar","UnistylesShadowRegistry","dispose","add","remove"],"sourceRoot":"../../../src","sources":["web/mock.ts"],"mappings":";;AAGA,OAAO,MAAMA,SAAwB,GAAG;EACpCC,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;AAED,OAAO,MAAMC,aAAgC,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;AAED,OAAO,MAAME,uBAAuB,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","width","height","setStyle","setHidden","equals","toString","__type","name","NavigationBar","dispose"],"sourceRoot":"../../../src","sources":["web/mock.ts"],"mappings":";;AAGA,OAAO,MAAMA,SAAwB,GAAG;EACpCC,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;AAED,OAAO,MAAMC,aAAgC,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":[]}
@@ -1,32 +1,167 @@
1
1
  "use strict";
2
2
 
3
- import { createTypeStyle } from 'typestyle';
4
- import { convertToTypeStyle } from './convert';
5
- import { UnistylesState } from './state';
3
+ import { UnistylesRuntime } from './runtime';
4
+ import { extractMediaQueryValue, keyInObject, getMediaQuery, generateHash, extractUnistyleDependencies } from './utils';
5
+ import { UnistylesListener } from './listener';
6
+ import { convertUnistyles } from './convert';
6
7
  class UnistylesRegistryBuilder {
7
- createStyles = (stylesheet, key) => {
8
- const stylesTag = UnistylesState.createTag();
9
- const unistyles = createTypeStyle(stylesTag);
10
- const typestyleStylesheet = convertToTypeStyle(stylesheet);
11
- const className = unistyles.style({
12
- $debugName: String(key)
13
- }, typestyleStylesheet);
14
- if (stylesheet._web?._css) {
15
- const customClassName = Array.isArray(stylesheet._web._css) ? stylesheet._web._css.join(' ') : stylesheet._web._css;
8
+ stylesheets = new Map();
9
+ stylesCounter = new Map();
10
+ #styleTag = null;
11
+ disposeListenersMap = new Map();
12
+ dependenciesMap = new Map();
13
+ get styleTag() {
14
+ const tag = this.#styleTag;
15
+ if (!tag) {
16
+ const newTag = document.createElement('style');
17
+ newTag.id = 'unistyles-web';
18
+ this.#styleTag = newTag;
19
+ document.head.appendChild(newTag);
20
+ return newTag;
21
+ }
22
+ return tag;
23
+ }
24
+ getComputedStylesheet = stylesheet => {
25
+ if (typeof stylesheet !== 'function') {
26
+ return stylesheet;
27
+ }
28
+ const computedStylesheet = this.stylesheets.get(stylesheet);
29
+ if (computedStylesheet) {
30
+ return computedStylesheet;
31
+ }
32
+ const createdStylesheet = stylesheet(UnistylesRuntime.theme, UnistylesRuntime.miniRuntime);
33
+ const dependencies = Object.values(createdStylesheet).flatMap(value => extractUnistyleDependencies(value));
34
+ this.addDependenciesToStylesheet(stylesheet, dependencies);
35
+ this.stylesheets.set(stylesheet, createdStylesheet);
36
+ return createdStylesheet;
37
+ };
38
+ addDependenciesToStylesheet = (stylesheet, dependencies) => {
39
+ this.disposeListenersMap.get(stylesheet)?.();
40
+ const dependenciesMap = this.dependenciesMap.get(stylesheet) ?? new Set(dependencies);
41
+ dependencies.forEach(dependency => dependenciesMap.add(dependency));
42
+ const dispose = UnistylesListener.addStylesheetListeners(Array.from(dependenciesMap), () => {
43
+ const newComputedStylesheet = stylesheet(UnistylesRuntime.theme, UnistylesRuntime.miniRuntime);
44
+ this.stylesheets.set(stylesheet, newComputedStylesheet);
45
+ });
46
+ this.dependenciesMap.set(stylesheet, dependenciesMap);
47
+ this.disposeListenersMap.set(stylesheet, dispose);
48
+ };
49
+ add = value => {
50
+ const hash = generateHash(value);
51
+ const existingCounter = this.stylesCounter.get(hash);
52
+ if (!existingCounter || existingCounter.size === 0) {
53
+ const counter = new Set();
54
+ counter.add(value);
55
+ this.stylesCounter.set(hash, counter);
56
+ this.applyStyles(hash, convertUnistyles(value));
16
57
  return {
17
- className: `${className} ${customClassName}`,
18
- unistyles
58
+ hash,
59
+ existingHash: false
19
60
  };
20
61
  }
62
+ existingCounter.add(value);
21
63
  return {
22
- className,
23
- unistyles
64
+ hash,
65
+ existingHash: true
24
66
  };
25
67
  };
26
- updateStyles = (unistyles, stylesheet, className) => {
27
- const typestyleStylesheet = convertToTypeStyle(stylesheet);
28
- unistyles.reinit();
29
- unistyles.cssRule(`.${className}`, typestyleStylesheet);
68
+ applyStyles = (hash, styles) => {
69
+ Object.entries(styles).forEach(([key, value]) => {
70
+ if (!this.styleTag.sheet) {
71
+ return;
72
+ }
73
+ if (typeof value === 'object' && !key.startsWith('_')) {
74
+ const mediaQuery = getMediaQuery(key);
75
+ const cssRules = Array.from(this.styleTag.sheet.cssRules);
76
+ let queryRule = cssRules.find(rule => {
77
+ if (!(rule instanceof CSSMediaRule)) {
78
+ return false;
79
+ }
80
+ return rule.media.item(0)?.includes(mediaQuery);
81
+ }) ?? null;
82
+ if (!queryRule) {
83
+ const mediaQueryValue = extractMediaQueryValue(mediaQuery);
84
+ const ruleIndex = mediaQueryValue ? cssRules.reduce((acc, rule, ruleIndex) => {
85
+ if (!(rule instanceof CSSMediaRule)) {
86
+ return acc;
87
+ }
88
+ const ruleMediaQueryValue = extractMediaQueryValue(rule.conditionText);
89
+ if (ruleMediaQueryValue === undefined) {
90
+ return;
91
+ }
92
+ return ruleMediaQueryValue > mediaQueryValue ? ruleIndex : acc;
93
+ }, cssRules.length) : undefined;
94
+ queryRule = this.styleTag.sheet.cssRules.item(this.styleTag.sheet.insertRule(`@media ${mediaQuery} {.${hash} {}}`, ruleIndex));
95
+ }
96
+ if (queryRule instanceof CSSMediaRule) {
97
+ Object.entries(value).forEach(([mqKey, mqValue]) => {
98
+ this.applyRule({
99
+ hash,
100
+ key: mqKey,
101
+ value: mqValue,
102
+ sheet: queryRule
103
+ });
104
+ });
105
+ }
106
+ return;
107
+ }
108
+
109
+ // Pseudo
110
+ if (typeof value === 'object') {
111
+ Object.entries(value).forEach(([pseudoKey, pseudoValue]) => {
112
+ this.applyRule({
113
+ hash: `${hash}${key.replace('_', ':')}`,
114
+ key: pseudoKey,
115
+ value: pseudoValue,
116
+ sheet: this.styleTag.sheet
117
+ });
118
+ });
119
+ return;
120
+ }
121
+ this.applyRule({
122
+ hash,
123
+ key,
124
+ value,
125
+ sheet: this.styleTag.sheet
126
+ });
127
+ });
128
+ };
129
+ applyRule = ({
130
+ hash,
131
+ key,
132
+ value,
133
+ sheet
134
+ }) => {
135
+ let rule = Array.from(sheet.cssRules).find(rule => {
136
+ if (!(rule instanceof CSSStyleRule)) {
137
+ return false;
138
+ }
139
+
140
+ // In unistyles pseudos are prefixed with ':' but in css some of them are prefixed with '::'
141
+ return rule.selectorText.replace('::', ':').includes(hash);
142
+ }) ?? null;
143
+ if (!rule) {
144
+ rule = sheet.cssRules.item(sheet.insertRule(`.${hash} {}`));
145
+ }
146
+ if (!(rule instanceof CSSStyleRule) || !keyInObject(rule.style, key)) {
147
+ return;
148
+ }
149
+ rule.style[key] = value;
150
+ };
151
+ remove = value => {
152
+ const hash = generateHash(value);
153
+ const existingStyles = this.stylesCounter.get(hash);
154
+ if (!existingStyles) {
155
+ return;
156
+ }
157
+ existingStyles.delete(value);
158
+ if (existingStyles.size === 0) {
159
+ const ruleIndex = Array.from(this.styleTag.sheet?.cssRules ?? []).findIndex(rule => rule.cssText.includes(`.${hash}`));
160
+ if (ruleIndex === -1) {
161
+ return;
162
+ }
163
+ this.styleTag.sheet?.deleteRule(ruleIndex);
164
+ }
30
165
  };
31
166
  }
32
167
  export const UnistylesRegistry = new UnistylesRegistryBuilder();
@@ -1 +1 @@
1
- {"version":3,"names":["createTypeStyle","convertToTypeStyle","UnistylesState","UnistylesRegistryBuilder","createStyles","stylesheet","key","stylesTag","createTag","unistyles","typestyleStylesheet","className","style","$debugName","String","_web","_css","customClassName","Array","isArray","join","updateStyles","reinit","cssRule","UnistylesRegistry"],"sourceRoot":"../../../src","sources":["web/registry.ts"],"mappings":";;AAAA,SAASA,eAAe,QAAmB,WAAW;AAEtD,SAASC,kBAAkB,QAAQ,WAAW;AAC9C,SAASC,cAAc,QAAQ,SAAS;AAExC,MAAMC,wBAAwB,CAAC;EAC3BC,YAAY,GAAGA,CAACC,UAA2B,EAAEC,GAAoB,KAAK;IAClE,MAAMC,SAAS,GAAGL,cAAc,CAACM,SAAS,CAAC,CAAC;IAC5C,MAAMC,SAAS,GAAGT,eAAe,CAACO,SAAS,CAAC;IAC5C,MAAMG,mBAAmB,GAAGT,kBAAkB,CAACI,UAAU,CAAC;IAE1D,MAAMM,SAAS,GAAGF,SAAS,CAACG,KAAK,CAAC;MAC9BC,UAAU,EAAEC,MAAM,CAACR,GAAG;IAC1B,CAAC,EAAEI,mBAAmB,CAAC;IAEvB,IAAIL,UAAU,CAACU,IAAI,EAAEC,IAAI,EAAE;MACvB,MAAMC,eAAe,GAAGC,KAAK,CAACC,OAAO,CAACd,UAAU,CAACU,IAAI,CAACC,IAAI,CAAC,GACrDX,UAAU,CAACU,IAAI,CAACC,IAAI,CAACI,IAAI,CAAC,GAAG,CAAC,GAC9Bf,UAAU,CAACU,IAAI,CAACC,IAAI;MAE1B,OAAO;QACHL,SAAS,EAAE,GAAGA,SAAS,IAAIM,eAAe,EAAE;QAC5CR;MACJ,CAAC;IACL;IAEA,OAAO;MACHE,SAAS;MACTF;IACJ,CAAC;EACL,CAAC;EAEDY,YAAY,GAAGA,CAACZ,SAAoB,EAAEJ,UAA2B,EAAEM,SAAiB,KAAK;IACrF,MAAMD,mBAAmB,GAAGT,kBAAkB,CAACI,UAAU,CAAC;IAE1DI,SAAS,CAACa,MAAM,CAAC,CAAC;IAClBb,SAAS,CAACc,OAAO,CAAC,IAAIZ,SAAS,EAAE,EAAED,mBAAmB,CAAC;EAC3D,CAAC;AACL;AAEA,OAAO,MAAMc,iBAAiB,GAAG,IAAIrB,wBAAwB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["UnistylesRuntime","extractMediaQueryValue","keyInObject","getMediaQuery","generateHash","extractUnistyleDependencies","UnistylesListener","convertUnistyles","UnistylesRegistryBuilder","stylesheets","Map","stylesCounter","styleTag","disposeListenersMap","dependenciesMap","tag","newTag","document","createElement","id","head","appendChild","getComputedStylesheet","stylesheet","computedStylesheet","get","createdStylesheet","theme","miniRuntime","dependencies","Object","values","flatMap","value","addDependenciesToStylesheet","set","Set","forEach","dependency","add","dispose","addStylesheetListeners","Array","from","newComputedStylesheet","hash","existingCounter","size","counter","applyStyles","existingHash","styles","entries","key","sheet","startsWith","mediaQuery","cssRules","queryRule","find","rule","CSSMediaRule","media","item","includes","mediaQueryValue","ruleIndex","reduce","acc","ruleMediaQueryValue","conditionText","undefined","length","insertRule","mqKey","mqValue","applyRule","pseudoKey","pseudoValue","replace","CSSStyleRule","selectorText","style","remove","existingStyles","delete","findIndex","cssText","deleteRule","UnistylesRegistry"],"sourceRoot":"../../../src","sources":["web/registry.ts"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ import { WebContentSizeCategory } from '../types';
6
6
  import { UnistylesListener } from './listener';
7
7
  import { NavigationBar, StatusBar } from './mock';
8
8
  import { UnistylesState } from './state';
9
- import { hexToRGBA, isServer, schemeToTheme } from './utils';
9
+ import { error, isServer, schemeToTheme } from './utils';
10
10
  class UnistylesRuntimeBuilder {
11
11
  lightMedia = this.getLightMedia();
12
12
  darkMedia = this.getDarkMedia();
@@ -39,11 +39,17 @@ class UnistylesRuntimeBuilder {
39
39
  }
40
40
  }
41
41
  get themeName() {
42
+ if (UnistylesState.hasAdaptiveThemes) {
43
+ return schemeToTheme(this.colorScheme);
44
+ }
42
45
  return UnistylesState.themeName;
43
46
  }
44
47
  get contentSizeCategory() {
45
48
  return WebContentSizeCategory.Unspecified;
46
49
  }
50
+ get breakpoints() {
51
+ return UnistylesState.breakpoints ?? {};
52
+ }
47
53
  get breakpoint() {
48
54
  return UnistylesState.breakpoint;
49
55
  }
@@ -54,14 +60,7 @@ class UnistylesRuntimeBuilder {
54
60
  return screen.orientation.type.includes('portrait') ? Orientation.Portrait : Orientation.Landscape;
55
61
  }
56
62
  get theme() {
57
- if (!this.themeName) {
58
- throw new Error('🦄 No theme selected!');
59
- }
60
- const theme = UnistylesState.themes.get(this.themeName);
61
- if (!theme) {
62
- throw new Error(`🦄 Theme "${this.themeName}" is not registered!`);
63
- }
64
- return theme;
63
+ return this.getTheme(this.themeName);
65
64
  }
66
65
  get pixelRatio() {
67
66
  return isServer() ? 1 : window.devicePixelRatio;
@@ -108,7 +107,8 @@ class UnistylesRuntimeBuilder {
108
107
  themeName: this.themeName,
109
108
  contentSizeCategory: this.contentSizeCategory,
110
109
  breakpoint: this.breakpoint,
111
- orientation: this.orientation,
110
+ isLandscape: this.orientation === Orientation.Landscape,
111
+ isPortrait: this.orientation === Orientation.Portrait,
112
112
  pixelRatio: this.pixelRatio,
113
113
  screen: this.screen,
114
114
  fontScale: this.fontScale,
@@ -126,6 +126,9 @@ class UnistylesRuntimeBuilder {
126
126
  };
127
127
  }
128
128
  setTheme = themeName => {
129
+ if (this.hasAdaptiveThemes) {
130
+ throw error(`You're trying to set theme to: '${themeName}', but adaptiveThemes are enabled.`);
131
+ }
129
132
  if (themeName === UnistylesRuntime.themeName) {
130
133
  return;
131
134
  }
@@ -140,21 +143,27 @@ class UnistylesRuntimeBuilder {
140
143
  }
141
144
  this.setTheme(schemeToTheme(UnistylesRuntime.colorScheme));
142
145
  };
143
- setRootViewBackgroundColor = (hex, alpha) => {
146
+ setRootViewBackgroundColor = color => {
144
147
  if (isServer()) {
145
148
  return;
146
149
  }
147
- document.documentElement.style.backgroundColor = alpha ? hexToRGBA(hex, alpha) : hex;
150
+ document.documentElement.style.backgroundColor = color;
148
151
  };
149
152
  setImmersiveMode = () => {};
150
153
  updateTheme = (themeName, updater) => {
151
154
  const oldTheme = UnistylesState.themes.get(themeName);
152
155
  if (!oldTheme) {
153
- throw new Error(`🦄 Theme "${themeName}" is not registered!`);
156
+ throw error(`Unistyles: You're trying to update theme "${themeName}" but it wasn't registered.`);
154
157
  }
155
158
  UnistylesState.themes.set(themeName, updater(oldTheme));
156
159
  };
157
- getSSRUnistyles = () => UnistylesState.tags;
160
+ getTheme = (themeName = this.themeName) => {
161
+ const theme = UnistylesState.themes.get(themeName ?? '');
162
+ if (!themeName || !theme) {
163
+ throw error(`You're trying to get theme "${themeName}" but it wasn't registered.`);
164
+ }
165
+ return theme;
166
+ };
158
167
  }
159
168
  export const UnistylesRuntime = new UnistylesRuntimeBuilder();
160
169
  //# sourceMappingURL=runtime.js.map