react-native-unistyles 3.0.0-alpha.6 → 3.0.0-alpha.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (233) hide show
  1. package/cxx/common/Helpers.h +24 -0
  2. package/cxx/core/HostStyle.cpp +4 -5
  3. package/cxx/core/HostStyle.h +4 -0
  4. package/cxx/core/StyleSheet.h +0 -1
  5. package/cxx/core/StyleSheetRegistry.cpp +9 -17
  6. package/cxx/core/StyleSheetRegistry.h +3 -4
  7. package/cxx/core/UnistyleData.h +22 -0
  8. package/cxx/core/UnistylesCommitHook.cpp +4 -1
  9. package/cxx/core/UnistylesRegistry.cpp +33 -49
  10. package/cxx/core/UnistylesRegistry.h +8 -8
  11. package/cxx/hybridObjects/HybridShadowRegistry.cpp +4 -3
  12. package/cxx/hybridObjects/HybridStyleSheet.cpp +8 -11
  13. package/cxx/parser/Parser.cpp +41 -57
  14. package/cxx/parser/Parser.h +8 -13
  15. package/lib/commonjs/specs/ShadowRegistry/index.js +2 -2
  16. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
  17. package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
  18. package/lib/commonjs/specs/index.web.js +1 -1
  19. package/lib/commonjs/web/convert/boxShadow.js +77 -0
  20. package/lib/commonjs/web/convert/boxShadow.js.map +1 -0
  21. package/lib/commonjs/web/convert/breakpoint.js +25 -0
  22. package/lib/commonjs/web/convert/breakpoint.js.map +1 -0
  23. package/lib/commonjs/web/convert/index.js +76 -0
  24. package/lib/commonjs/web/convert/index.js.map +1 -0
  25. package/lib/commonjs/web/convert/module.d.js +2 -0
  26. package/lib/commonjs/web/convert/module.d.js.map +1 -0
  27. package/lib/commonjs/web/convert/shadow.js +68 -0
  28. package/lib/commonjs/web/convert/shadow.js.map +1 -0
  29. package/lib/commonjs/web/convert/style.js +89 -0
  30. package/lib/commonjs/web/convert/style.js.map +1 -0
  31. package/lib/commonjs/web/convert/textShadow.js +73 -0
  32. package/lib/commonjs/web/convert/textShadow.js.map +1 -0
  33. package/lib/commonjs/web/convert/transform.js +72 -0
  34. package/lib/commonjs/web/convert/transform.js.map +1 -0
  35. package/lib/commonjs/web/convert/types.js +9 -0
  36. package/lib/commonjs/web/convert/types.js.map +1 -0
  37. package/lib/commonjs/web/convert/utils.js +55 -0
  38. package/lib/commonjs/web/convert/utils.js.map +1 -0
  39. package/lib/commonjs/web/create.js +89 -0
  40. package/lib/commonjs/web/create.js.map +1 -0
  41. package/lib/commonjs/web/index.js +51 -0
  42. package/lib/commonjs/web/index.js.map +1 -0
  43. package/lib/commonjs/web/listener/index.js +13 -0
  44. package/lib/commonjs/web/listener/index.js.map +1 -0
  45. package/lib/commonjs/web/listener/listener.js +36 -0
  46. package/lib/commonjs/web/listener/listener.js.map +1 -0
  47. package/lib/commonjs/web/mock.js +37 -0
  48. package/lib/commonjs/web/mock.js.map +1 -0
  49. package/lib/commonjs/web/mq.js +23 -0
  50. package/lib/commonjs/web/mq.js.map +1 -0
  51. package/lib/commonjs/web/pseudo.js +11 -0
  52. package/lib/commonjs/web/pseudo.js.map +1 -0
  53. package/lib/commonjs/web/registry.js +37 -0
  54. package/lib/commonjs/web/registry.js.map +1 -0
  55. package/lib/commonjs/web/runtime.js +164 -0
  56. package/lib/commonjs/web/runtime.js.map +1 -0
  57. package/lib/commonjs/web/state.js +121 -0
  58. package/lib/commonjs/web/state.js.map +1 -0
  59. package/lib/commonjs/web/utils.js +78 -0
  60. package/lib/commonjs/web/utils.js.map +1 -0
  61. package/lib/commonjs/web/variants/getVariants.js +39 -0
  62. package/lib/commonjs/web/variants/getVariants.js.map +1 -0
  63. package/lib/commonjs/web/variants/index.js +28 -0
  64. package/lib/commonjs/web/variants/index.js.map +1 -0
  65. package/lib/commonjs/web/variants/useVariants.js +75 -0
  66. package/lib/commonjs/web/variants/useVariants.js.map +1 -0
  67. package/lib/module/specs/ShadowRegistry/index.js +2 -2
  68. package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
  69. package/lib/module/specs/StyleSheet/index.js.map +1 -1
  70. package/lib/module/specs/index.web.js +1 -1
  71. package/lib/module/specs/index.web.js.map +1 -1
  72. package/lib/module/web/convert/boxShadow.js +72 -0
  73. package/lib/module/web/convert/boxShadow.js.map +1 -0
  74. package/lib/module/web/convert/breakpoint.js +20 -0
  75. package/lib/module/web/convert/breakpoint.js.map +1 -0
  76. package/lib/module/web/convert/index.js +71 -0
  77. package/lib/module/web/convert/index.js.map +1 -0
  78. package/lib/module/web/convert/module.d.js +2 -0
  79. package/lib/module/web/convert/module.d.js.map +1 -0
  80. package/lib/module/web/convert/shadow.js +63 -0
  81. package/lib/module/web/convert/shadow.js.map +1 -0
  82. package/lib/module/web/convert/style.js +84 -0
  83. package/lib/module/web/convert/style.js.map +1 -0
  84. package/lib/module/web/convert/textShadow.js +68 -0
  85. package/lib/module/web/convert/textShadow.js.map +1 -0
  86. package/lib/module/web/convert/transform.js +67 -0
  87. package/lib/module/web/convert/transform.js.map +1 -0
  88. package/lib/module/web/convert/types.js +5 -0
  89. package/lib/module/web/convert/types.js.map +1 -0
  90. package/lib/module/web/convert/utils.js +43 -0
  91. package/lib/module/web/convert/utils.js.map +1 -0
  92. package/lib/module/web/create.js +84 -0
  93. package/lib/module/web/create.js.map +1 -0
  94. package/lib/module/web/index.js +24 -0
  95. package/lib/module/web/index.js.map +1 -0
  96. package/lib/module/web/listener/index.js +4 -0
  97. package/lib/module/web/listener/index.js.map +1 -0
  98. package/lib/module/web/listener/listener.js +31 -0
  99. package/lib/module/web/listener/listener.js.map +1 -0
  100. package/lib/module/web/mock.js +33 -0
  101. package/lib/module/web/mock.js.map +1 -0
  102. package/lib/module/web/mq.js +17 -0
  103. package/lib/module/web/mq.js.map +1 -0
  104. package/lib/module/web/pseudo.js +6 -0
  105. package/lib/module/web/pseudo.js.map +1 -0
  106. package/lib/module/web/registry.js +33 -0
  107. package/lib/module/web/registry.js.map +1 -0
  108. package/lib/module/web/runtime.js +160 -0
  109. package/lib/module/web/runtime.js.map +1 -0
  110. package/lib/module/web/state.js +117 -0
  111. package/lib/module/web/state.js.map +1 -0
  112. package/lib/module/web/utils.js +65 -0
  113. package/lib/module/web/utils.js.map +1 -0
  114. package/lib/module/web/variants/getVariants.js +34 -0
  115. package/lib/module/web/variants/getVariants.js.map +1 -0
  116. package/lib/module/web/variants/index.js +5 -0
  117. package/lib/module/web/variants/index.js.map +1 -0
  118. package/lib/module/web/variants/useVariants.js +70 -0
  119. package/lib/module/web/variants/useVariants.js.map +1 -0
  120. package/lib/typescript/example/App.d.ts.map +1 -1
  121. package/lib/typescript/example/Typography.d.ts +11 -0
  122. package/lib/typescript/example/Typography.d.ts.map +1 -0
  123. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +2 -2
  124. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
  125. package/lib/typescript/src/specs/StyleSheet/index.d.ts +2 -1
  126. package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
  127. package/lib/typescript/src/specs/index.web.d.ts +1 -1
  128. package/lib/typescript/src/specs/index.web.d.ts.map +1 -1
  129. package/lib/typescript/src/types/stylesheet.d.ts +1 -1
  130. package/lib/typescript/src/types/stylesheet.d.ts.map +1 -1
  131. package/lib/typescript/src/web/convert/boxShadow.d.ts.map +1 -0
  132. package/lib/typescript/src/web/convert/breakpoint.d.ts.map +1 -0
  133. package/lib/typescript/{web → src/web}/convert/index.d.ts +1 -1
  134. package/lib/typescript/src/web/convert/index.d.ts.map +1 -0
  135. package/lib/typescript/src/web/convert/shadow.d.ts.map +1 -0
  136. package/lib/typescript/src/web/convert/style.d.ts.map +1 -0
  137. package/lib/typescript/src/web/convert/textShadow.d.ts.map +1 -0
  138. package/lib/typescript/src/web/convert/transform.d.ts.map +1 -0
  139. package/lib/typescript/{web → src/web}/convert/types.d.ts +1 -1
  140. package/lib/typescript/src/web/convert/types.d.ts.map +1 -0
  141. package/lib/typescript/src/web/convert/utils.d.ts.map +1 -0
  142. package/lib/typescript/{web → src/web}/create.d.ts +11 -11
  143. package/lib/typescript/{web → src/web}/create.d.ts.map +1 -1
  144. package/lib/typescript/{web → src/web}/index.d.ts +12 -12
  145. package/lib/typescript/{web → src/web}/index.d.ts.map +1 -1
  146. package/lib/typescript/src/web/listener/index.d.ts.map +1 -0
  147. package/lib/typescript/{web → src/web}/listener/listener.d.ts +1 -1
  148. package/lib/typescript/src/web/listener/listener.d.ts.map +1 -0
  149. package/lib/typescript/{web → src/web}/mock.d.ts +2 -2
  150. package/lib/typescript/src/web/mock.d.ts.map +1 -0
  151. package/lib/typescript/src/web/mq.d.ts.map +1 -0
  152. package/lib/typescript/src/web/pseudo.d.ts.map +1 -0
  153. package/lib/typescript/{web → src/web}/registry.d.ts +1 -1
  154. package/lib/typescript/src/web/registry.d.ts.map +1 -0
  155. package/lib/typescript/{web → src/web}/runtime.d.ts +6 -6
  156. package/lib/typescript/src/web/runtime.d.ts.map +1 -0
  157. package/lib/typescript/{web → src/web}/state.d.ts +4 -4
  158. package/lib/typescript/src/web/state.d.ts.map +1 -0
  159. package/lib/typescript/{web → src/web}/utils.d.ts +5 -3
  160. package/lib/typescript/src/web/utils.d.ts.map +1 -0
  161. package/lib/typescript/src/web/variants/getVariants.d.ts +3 -0
  162. package/lib/typescript/src/web/variants/getVariants.d.ts.map +1 -0
  163. package/lib/typescript/src/web/variants/index.d.ts +3 -0
  164. package/lib/typescript/src/web/variants/index.d.ts.map +1 -0
  165. package/lib/typescript/src/web/variants/useVariants.d.ts +3 -0
  166. package/lib/typescript/src/web/variants/useVariants.d.ts.map +1 -0
  167. package/package.json +1 -1
  168. package/plugin/__tests__/dependencies.spec.js +181 -103
  169. package/plugin/__tests__/ref.spec.js +346 -156
  170. package/plugin/__tests__/stylesheet.spec.js +148 -55
  171. package/plugin/index.js +31 -21
  172. package/plugin/ref.js +67 -15
  173. package/plugin/style.js +13 -24
  174. package/plugin/stylesheet.js +44 -1
  175. package/plugin/variants.js +33 -0
  176. package/src/specs/ShadowRegistry/index.ts +4 -4
  177. package/src/specs/StyleSheet/index.ts +3 -1
  178. package/src/specs/index.web.ts +1 -1
  179. package/src/types/stylesheet.ts +1 -1
  180. package/{web → src/web}/convert/breakpoint.ts +1 -1
  181. package/{web → src/web}/convert/index.ts +1 -1
  182. package/{web → src/web}/convert/types.ts +1 -1
  183. package/{web → src/web}/create.ts +36 -33
  184. package/{web → src/web}/listener/listener.ts +1 -1
  185. package/{web → src/web}/mock.ts +2 -2
  186. package/{web → src/web}/registry.ts +1 -1
  187. package/{web → src/web}/runtime.ts +4 -4
  188. package/{web → src/web}/state.ts +5 -5
  189. package/{web → src/web}/utils.ts +5 -5
  190. package/src/web/variants/getVariants.ts +42 -0
  191. package/src/web/variants/index.ts +2 -0
  192. package/{web → src/web/variants}/useVariants.ts +24 -44
  193. package/lib/typescript/web/convert/boxShadow.d.ts.map +0 -1
  194. package/lib/typescript/web/convert/breakpoint.d.ts.map +0 -1
  195. package/lib/typescript/web/convert/index.d.ts.map +0 -1
  196. package/lib/typescript/web/convert/shadow.d.ts.map +0 -1
  197. package/lib/typescript/web/convert/style.d.ts.map +0 -1
  198. package/lib/typescript/web/convert/textShadow.d.ts.map +0 -1
  199. package/lib/typescript/web/convert/transform.d.ts.map +0 -1
  200. package/lib/typescript/web/convert/types.d.ts.map +0 -1
  201. package/lib/typescript/web/convert/utils.d.ts.map +0 -1
  202. package/lib/typescript/web/listener/index.d.ts.map +0 -1
  203. package/lib/typescript/web/listener/listener.d.ts.map +0 -1
  204. package/lib/typescript/web/mock.d.ts.map +0 -1
  205. package/lib/typescript/web/mq.d.ts.map +0 -1
  206. package/lib/typescript/web/pseudo.d.ts.map +0 -1
  207. package/lib/typescript/web/registry.d.ts.map +0 -1
  208. package/lib/typescript/web/runtime.d.ts.map +0 -1
  209. package/lib/typescript/web/state.d.ts.map +0 -1
  210. package/lib/typescript/web/useVariants.d.ts +0 -3
  211. package/lib/typescript/web/useVariants.d.ts.map +0 -1
  212. package/lib/typescript/web/utils.d.ts.map +0 -1
  213. /package/lib/typescript/{web → src/web}/convert/boxShadow.d.ts +0 -0
  214. /package/lib/typescript/{web → src/web}/convert/breakpoint.d.ts +0 -0
  215. /package/lib/typescript/{web → src/web}/convert/shadow.d.ts +0 -0
  216. /package/lib/typescript/{web → src/web}/convert/style.d.ts +0 -0
  217. /package/lib/typescript/{web → src/web}/convert/textShadow.d.ts +0 -0
  218. /package/lib/typescript/{web → src/web}/convert/transform.d.ts +0 -0
  219. /package/lib/typescript/{web → src/web}/convert/utils.d.ts +0 -0
  220. /package/lib/typescript/{web → src/web}/listener/index.d.ts +0 -0
  221. /package/lib/typescript/{web → src/web}/mq.d.ts +0 -0
  222. /package/lib/typescript/{web → src/web}/pseudo.d.ts +0 -0
  223. /package/{web → src/web}/convert/boxShadow.ts +0 -0
  224. /package/{web → src/web}/convert/module.d.ts +0 -0
  225. /package/{web → src/web}/convert/shadow.ts +0 -0
  226. /package/{web → src/web}/convert/style.ts +0 -0
  227. /package/{web → src/web}/convert/textShadow.ts +0 -0
  228. /package/{web → src/web}/convert/transform.ts +0 -0
  229. /package/{web → src/web}/convert/utils.ts +0 -0
  230. /package/{web → src/web}/index.ts +0 -0
  231. /package/{web → src/web}/listener/index.ts +0 -0
  232. /package/{web → src/web}/mq.ts +0 -0
  233. /package/{web → src/web}/pseudo.ts +0 -0
@@ -78,7 +78,7 @@ pluginTester({
78
78
  <View
79
79
  style={styles.container}
80
80
  ref={ref => {
81
- UnistylesShadowRegistry.add(ref, styles.container)
81
+ UnistylesShadowRegistry.add(ref, styles.container, undefined)
82
82
  return () => UnistylesShadowRegistry.remove(ref, styles.container)
83
83
  }}
84
84
  >
@@ -130,8 +130,8 @@ pluginTester({
130
130
  return (
131
131
  <View
132
132
  ref={_ref => {
133
- ref = _ref
134
- UnistylesShadowRegistry.add(_ref, styles.container)
133
+ ref.current = _ref
134
+ UnistylesShadowRegistry.add(_ref, styles.container, undefined)
135
135
  return () => UnistylesShadowRegistry.remove(_ref, styles.container)
136
136
  }}
137
137
  style={styles.container}
@@ -141,11 +141,14 @@ pluginTester({
141
141
  )
142
142
  }
143
143
 
144
- const styles = StyleSheet.create({
145
- container: {
146
- backgroundColor: 'red'
147
- }
148
- })
144
+ const styles = StyleSheet.create(
145
+ {
146
+ container: {
147
+ backgroundColor: 'red'
148
+ }
149
+ },
150
+ 921918562
151
+ )
149
152
  `
150
153
  },
151
154
  {
@@ -155,13 +158,13 @@ pluginTester({
155
158
  import { StyleSheet } from 'react-native-unistyles'
156
159
 
157
160
  export const Example = () => {
158
- let myRef = useRef()
161
+ const myRef = useRef()
159
162
 
160
163
  return (
161
164
  <View
162
165
  ref={ref => {
163
166
  doSomething(ref)
164
- myRef = ref
167
+ myRef.current = ref
165
168
  }}
166
169
  style={styles.container}
167
170
  >
@@ -182,14 +185,14 @@ pluginTester({
182
185
  import { StyleSheet } from 'react-native-unistyles'
183
186
 
184
187
  export const Example = () => {
185
- let myRef = useRef()
188
+ const myRef = useRef()
186
189
 
187
190
  return (
188
191
  <View
189
192
  ref={ref => {
190
193
  doSomething(ref)
191
- myRef = ref
192
- UnistylesShadowRegistry.add(ref, styles.container)
194
+ myRef.current = ref
195
+ UnistylesShadowRegistry.add(ref, styles.container, undefined)
193
196
  return () => {
194
197
  UnistylesShadowRegistry.remove(ref, styles.container)
195
198
  }
@@ -201,11 +204,14 @@ pluginTester({
201
204
  )
202
205
  }
203
206
 
204
- const styles = StyleSheet.create({
205
- container: {
206
- backgroundColor: 'red'
207
- }
208
- })
207
+ const styles = StyleSheet.create(
208
+ {
209
+ container: {
210
+ backgroundColor: 'red'
211
+ }
212
+ },
213
+ 921918562
214
+ )
209
215
  `
210
216
  },
211
217
  {
@@ -215,13 +221,13 @@ pluginTester({
215
221
  import { StyleSheet } from 'react-native-unistyles'
216
222
 
217
223
  export const Example = () => {
218
- let myRef = React.useRef()
224
+ const myRef = React.useRef()
219
225
 
220
226
  return (
221
227
  <View
222
228
  ref={ref => {
223
229
  doSomething(ref)
224
- myRef = ref
230
+ myRef.current = ref
225
231
 
226
232
  return () => {
227
233
  customCleanup()
@@ -246,14 +252,14 @@ pluginTester({
246
252
  import { StyleSheet } from 'react-native-unistyles'
247
253
 
248
254
  export const Example = () => {
249
- let myRef = React.useRef()
255
+ const myRef = React.useRef()
250
256
 
251
257
  return (
252
258
  <View
253
259
  ref={ref => {
254
260
  doSomething(ref)
255
- myRef = ref
256
- UnistylesShadowRegistry.add(ref, styles.container)
261
+ myRef.current = ref
262
+ UnistylesShadowRegistry.add(ref, styles.container, undefined)
257
263
  return () => {
258
264
  ;(() => {
259
265
  customCleanup()
@@ -268,11 +274,14 @@ pluginTester({
268
274
  )
269
275
  }
270
276
 
271
- const styles = StyleSheet.create({
272
- container: {
273
- backgroundColor: 'red'
274
- }
275
- })
277
+ const styles = StyleSheet.create(
278
+ {
279
+ container: {
280
+ backgroundColor: 'red'
281
+ }
282
+ },
283
+ 921918562
284
+ )
276
285
  `
277
286
  },
278
287
  {
@@ -282,10 +291,10 @@ pluginTester({
282
291
  import { StyleSheet } from 'react-native-unistyles'
283
292
 
284
293
  export const Example = () => {
285
- let myRef = React.useRef()
294
+ const myRef = React.useRef()
286
295
  const fn = ref => {
287
296
  doSomething(ref)
288
- myRef = ref
297
+ myRef.current = ref
289
298
 
290
299
  return () => {
291
300
  customCleanup2()
@@ -314,17 +323,17 @@ pluginTester({
314
323
  import { StyleSheet } from 'react-native-unistyles'
315
324
 
316
325
  export const Example = () => {
317
- let myRef = React.useRef()
326
+ const myRef = React.useRef()
318
327
  const fn = ref => {
319
328
  doSomething(ref)
320
- myRef = ref
329
+ myRef.current = ref
321
330
  }
322
331
 
323
332
  return (
324
333
  <View
325
334
  ref={_ref => {
326
335
  fn(_ref)
327
- UnistylesShadowRegistry.add(_ref, styles.container)
336
+ UnistylesShadowRegistry.add(_ref, styles.container, undefined)
328
337
  return () => {
329
338
  ;(() => {
330
339
  customCleanup2()
@@ -339,11 +348,14 @@ pluginTester({
339
348
  )
340
349
  }
341
350
 
342
- const styles = StyleSheet.create({
343
- container: {
344
- backgroundColor: 'red'
345
- }
346
- })
351
+ const styles = StyleSheet.create(
352
+ {
353
+ container: {
354
+ backgroundColor: 'red'
355
+ }
356
+ },
357
+ 921918562
358
+ )
347
359
  `
348
360
  },
349
361
  {
@@ -353,10 +365,10 @@ pluginTester({
353
365
  import { StyleSheet } from 'react-native-unistyles'
354
366
 
355
367
  export const Example = () => {
356
- let myRef = React.useRef()
368
+ const myRef = React.useRef()
357
369
  function fn(ref) {
358
370
  doSomething(ref)
359
- myRef = ref
371
+ myRef.current = ref
360
372
 
361
373
  return () => {
362
374
  customCleanup2()
@@ -385,17 +397,17 @@ pluginTester({
385
397
  import { StyleSheet } from 'react-native-unistyles'
386
398
 
387
399
  export const Example = () => {
388
- let myRef = React.useRef()
400
+ const myRef = React.useRef()
389
401
  function fn(ref) {
390
402
  doSomething(ref)
391
- myRef = ref
403
+ myRef.current = ref
392
404
  }
393
405
 
394
406
  return (
395
407
  <View
396
408
  ref={_ref => {
397
409
  fn(_ref)
398
- UnistylesShadowRegistry.add(_ref, styles.container)
410
+ UnistylesShadowRegistry.add(_ref, styles.container, undefined)
399
411
  return () => {
400
412
  ;(() => {
401
413
  customCleanup2()
@@ -410,11 +422,14 @@ pluginTester({
410
422
  )
411
423
  }
412
424
 
413
- const styles = StyleSheet.create({
414
- container: {
415
- backgroundColor: 'red'
416
- }
417
- })
425
+ const styles = StyleSheet.create(
426
+ {
427
+ container: {
428
+ backgroundColor: 'red'
429
+ }
430
+ },
431
+ 921918562
432
+ )
418
433
  `
419
434
  },
420
435
  {
@@ -424,7 +439,7 @@ pluginTester({
424
439
  import { StyleSheet } from 'react-native-unistyles'
425
440
 
426
441
  export const Example = () => {
427
- let myRef = useRef()
442
+ const myRef = useRef()
428
443
 
429
444
  return (
430
445
  <View
@@ -449,7 +464,7 @@ pluginTester({
449
464
  import { StyleSheet } from 'react-native-unistyles'
450
465
 
451
466
  export const Example = () => {
452
- let myRef = useRef()
467
+ const myRef = useRef()
453
468
 
454
469
  return (
455
470
  <View
@@ -463,11 +478,14 @@ pluginTester({
463
478
  )
464
479
  }
465
480
 
466
- const styles = StyleSheet.create({
467
- container: {
468
- backgroundColor: 'red'
469
- }
470
- })
481
+ const styles = StyleSheet.create(
482
+ {
483
+ container: {
484
+ backgroundColor: 'red'
485
+ }
486
+ },
487
+ 921918562
488
+ )
471
489
  `
472
490
  },
473
491
  {
@@ -477,7 +495,7 @@ pluginTester({
477
495
  import { StyleSheet } from 'react-native-unistyles'
478
496
 
479
497
  export const Example = () => {
480
- let myRef = useRef()
498
+ const myRef = useRef()
481
499
 
482
500
  return (
483
501
  <View
@@ -503,7 +521,7 @@ pluginTester({
503
521
  import { StyleSheet } from 'react-native-unistyles'
504
522
 
505
523
  export const Example = () => {
506
- let myRef = useRef()
524
+ const myRef = useRef()
507
525
 
508
526
  return (
509
527
  <View
@@ -518,11 +536,14 @@ pluginTester({
518
536
  )
519
537
  }
520
538
 
521
- const styles = StyleSheet.create({
522
- container: {
523
- backgroundColor: 'red'
524
- }
525
- })
539
+ const styles = StyleSheet.create(
540
+ {
541
+ container: {
542
+ backgroundColor: 'red'
543
+ }
544
+ },
545
+ 921918562
546
+ )
526
547
  `
527
548
  },
528
549
  {
@@ -532,7 +553,7 @@ pluginTester({
532
553
  import { StyleSheet } from 'react-native-unistyles'
533
554
 
534
555
  export const Example = () => {
535
- let myRef = useRef()
556
+ const myRef = useRef()
536
557
 
537
558
  return (
538
559
  <View
@@ -555,7 +576,7 @@ pluginTester({
555
576
  import { StyleSheet } from 'react-native-unistyles'
556
577
 
557
578
  export const Example = () => {
558
- let myRef = useRef()
579
+ const myRef = useRef()
559
580
 
560
581
  return (
561
582
  <View ref={myRef} style={[obj1, obj2]}>
@@ -564,11 +585,14 @@ pluginTester({
564
585
  )
565
586
  }
566
587
 
567
- const styles = StyleSheet.create({
568
- container: {
569
- backgroundColor: 'red'
570
- }
571
- })
588
+ const styles = StyleSheet.create(
589
+ {
590
+ container: {
591
+ backgroundColor: 'red'
592
+ }
593
+ },
594
+ 921918562
595
+ )
572
596
  `
573
597
  },
574
598
  {
@@ -578,7 +602,7 @@ pluginTester({
578
602
  import { StyleSheet } from 'react-native-unistyles'
579
603
 
580
604
  export const Example = () => {
581
- let myRef = useRef()
605
+ const myRef = useRef()
582
606
 
583
607
  return (
584
608
  <View
@@ -607,13 +631,13 @@ pluginTester({
607
631
  import { StyleSheet } from 'react-native-unistyles'
608
632
 
609
633
  export const Example = () => {
610
- let myRef = useRef()
634
+ const myRef = useRef()
611
635
 
612
636
  return (
613
637
  <View
614
638
  ref={_ref => {
615
- myRef = _ref
616
- UnistylesShadowRegistry.add(_ref, styles.container)
639
+ myRef.current = _ref
640
+ UnistylesShadowRegistry.add(_ref, styles.container, undefined)
617
641
  return () => UnistylesShadowRegistry.remove(_ref, styles.container)
618
642
  }}
619
643
  style={{
@@ -628,11 +652,14 @@ pluginTester({
628
652
  )
629
653
  }
630
654
 
631
- const styles = StyleSheet.create({
632
- container: {
633
- backgroundColor: 'red'
634
- }
635
- })
655
+ const styles = StyleSheet.create(
656
+ {
657
+ container: {
658
+ backgroundColor: 'red'
659
+ }
660
+ },
661
+ 921918562
662
+ )
636
663
  `
637
664
  },
638
665
  {
@@ -642,7 +669,7 @@ pluginTester({
642
669
  import { StyleSheet } from 'react-native-unistyles'
643
670
 
644
671
  export const Example = () => {
645
- let myRef = useRef()
672
+ const myRef = useRef()
646
673
 
647
674
  return (
648
675
  <View
@@ -671,13 +698,13 @@ pluginTester({
671
698
  import { StyleSheet } from 'react-native-unistyles'
672
699
 
673
700
  export const Example = () => {
674
- let myRef = useRef()
701
+ const myRef = useRef()
675
702
 
676
703
  return (
677
704
  <View
678
705
  ref={_ref => {
679
- myRef = _ref
680
- UnistylesShadowRegistry.add(_ref, styles.container)
706
+ myRef.current = _ref
707
+ UnistylesShadowRegistry.add(_ref, styles.container, undefined)
681
708
  return () => UnistylesShadowRegistry.remove(_ref, styles.container)
682
709
  }}
683
710
  style={[
@@ -692,11 +719,14 @@ pluginTester({
692
719
  )
693
720
  }
694
721
 
695
- const styles = StyleSheet.create({
696
- container: {
697
- backgroundColor: 'red'
698
- }
699
- })
722
+ const styles = StyleSheet.create(
723
+ {
724
+ container: {
725
+ backgroundColor: 'red'
726
+ }
727
+ },
728
+ 921918562
729
+ )
700
730
  `
701
731
  },
702
732
  {
@@ -706,7 +736,7 @@ pluginTester({
706
736
  import { StyleSheet } from 'react-native-unistyles'
707
737
 
708
738
  export const Example = () => {
709
- let myRef = useRef()
739
+ const myRef = useRef()
710
740
 
711
741
  return (
712
742
  <View
@@ -730,13 +760,13 @@ pluginTester({
730
760
  import { StyleSheet } from 'react-native-unistyles'
731
761
 
732
762
  export const Example = () => {
733
- let myRef = useRef()
763
+ const myRef = useRef()
734
764
 
735
765
  return (
736
766
  <View
737
767
  ref={_ref => {
738
- myRef = _ref
739
- UnistylesShadowRegistry.add(_ref, styles.container)
768
+ myRef.current = _ref
769
+ UnistylesShadowRegistry.add(_ref, styles.container, undefined)
740
770
  return () => UnistylesShadowRegistry.remove(_ref, styles.container)
741
771
  }}
742
772
  style={[styles.container]}
@@ -746,11 +776,14 @@ pluginTester({
746
776
  )
747
777
  }
748
778
 
749
- const styles = StyleSheet.create({
750
- container: {
751
- backgroundColor: 'red'
752
- }
753
- })
779
+ const styles = StyleSheet.create(
780
+ {
781
+ container: {
782
+ backgroundColor: 'red'
783
+ }
784
+ },
785
+ 921918562
786
+ )
754
787
  `
755
788
  },
756
789
  {
@@ -760,7 +793,7 @@ pluginTester({
760
793
  import { StyleSheet } from 'react-native-unistyles'
761
794
 
762
795
  export const Example = () => {
763
- let myRef = useRef()
796
+ const myRef = useRef()
764
797
 
765
798
  return (
766
799
  <View
@@ -786,27 +819,32 @@ pluginTester({
786
819
  import { StyleSheet } from 'react-native-unistyles'
787
820
 
788
821
  export const Example = () => {
789
- let myRef = useRef()
822
+ const myRef = useRef()
790
823
 
791
824
  return (
792
825
  <View
793
826
  ref={_ref => {
794
- myRef = _ref
795
- UnistylesShadowRegistry.add(_ref, styles.container)
827
+ myRef.current = _ref
828
+
829
+ styles.container(1, 2, _ref)
830
+ UnistylesShadowRegistry.add(_ref, styles.container, undefined)
796
831
  return () => UnistylesShadowRegistry.remove(_ref, styles.container)
797
832
  }}
798
- style={[styles.container(1, 2, 1)]}
833
+ style={[styles.container(1, 2)]}
799
834
  >
800
835
  <Text>Hello world</Text>
801
836
  </View>
802
837
  )
803
838
  }
804
839
 
805
- const styles = StyleSheet.create({
806
- container: () => ({
807
- backgroundColor: 'red'
808
- })
809
- })
840
+ const styles = StyleSheet.create(
841
+ {
842
+ container: () => ({
843
+ backgroundColor: 'red'
844
+ })
845
+ },
846
+ 921918562
847
+ )
810
848
  `
811
849
  },
812
850
  {
@@ -816,7 +854,7 @@ pluginTester({
816
854
  import { StyleSheet } from 'react-native-unistyles'
817
855
 
818
856
  export const Example = () => {
819
- let myRef = useRef()
857
+ const myRef = useRef()
820
858
 
821
859
  return (
822
860
  <View
@@ -832,9 +870,9 @@ pluginTester({
832
870
  }
833
871
 
834
872
  const styles = StyleSheet.create({
835
- container: () => ({
873
+ container: {
836
874
  backgroundColor: 'red'
837
- })
875
+ }
838
876
  })
839
877
  `,
840
878
  output: `
@@ -843,40 +881,46 @@ pluginTester({
843
881
  import { StyleSheet } from 'react-native-unistyles'
844
882
 
845
883
  export const Example = () => {
846
- let myRef = useRef()
884
+ const myRef = useRef()
847
885
 
848
886
  return (
849
887
  <View
850
888
  ref={_ref => {
851
- myRef = _ref
852
- UnistylesShadowRegistry.add(_ref, styles.container)
889
+ myRef.current = _ref
890
+
891
+ styles.container(1, 2, _ref)
892
+ UnistylesShadowRegistry.add(_ref, styles.container, undefined)
853
893
  return () => UnistylesShadowRegistry.remove(_ref, styles.container)
854
894
  }}
855
- style={{
856
- backgroundColor: 'red',
857
- ...styles.container(1, 2, 1)
858
- }}
895
+ style={{ backgroundColor: 'red', ...styles.container(1, 2) }}
859
896
  >
860
897
  <Text>Hello world</Text>
861
898
  </View>
862
899
  )
863
900
  }
864
901
 
865
- const styles = StyleSheet.create({
866
- container: () => ({
867
- backgroundColor: 'red'
868
- })
869
- })
902
+ const styles = StyleSheet.create(
903
+ {
904
+ container: {
905
+ backgroundColor: 'red'
906
+ }
907
+ },
908
+ 921918562
909
+ )
870
910
  `
871
911
  },
872
912
  {
873
- title: 'Should modify registry names if user changes name of member expression',
913
+ title: 'It should extract variants and pass them to ShadowReigstry',
874
914
  code: `
875
915
  import { useRef } from 'react'
876
916
  import { StyleSheet } from 'react-native-unistyles'
877
917
 
878
918
  export const Example = () => {
879
- let myRef = useRef()
919
+ const myRef = useRef()
920
+
921
+ styles.useVariants({
922
+ size: 'default'
923
+ })
880
924
 
881
925
  return (
882
926
  <View
@@ -890,7 +934,17 @@ pluginTester({
890
934
 
891
935
  const uhh = StyleSheet.create({
892
936
  dkk: () => ({
893
- backgroundColor: 'red'
937
+ backgroundColor: 'red',
938
+ variants: {
939
+ size: {
940
+ small: {
941
+ backgroundColor: 'blue'
942
+ },
943
+ default: {
944
+ backgroundColor: 'green'
945
+ }
946
+ }
947
+ }
894
948
  })
895
949
  })
896
950
  `,
@@ -900,52 +954,69 @@ pluginTester({
900
954
  import { StyleSheet } from 'react-native-unistyles'
901
955
 
902
956
  export const Example = () => {
903
- let myRef = useRef()
957
+ const myRef = useRef()
958
+ const __uni__variants = {
959
+ size: 'default'
960
+ }
961
+ styles.useVariants(__uni__variants)
904
962
 
905
963
  return (
906
964
  <View
907
965
  ref={_ref => {
908
- myRef = _ref
909
- UnistylesShadowRegistry.add(_ref, uhh.dkk)
966
+ myRef.current = _ref
967
+ uhh.dkk(_ref)
968
+ UnistylesShadowRegistry.add(_ref, uhh.dkk, __uni__variants)
910
969
  return () => UnistylesShadowRegistry.remove(_ref, uhh.dkk)
911
970
  }}
912
- style={uhh.dkk(1)}
971
+ style={uhh.dkk()}
913
972
  >
914
973
  <Text>Hello world</Text>
915
974
  </View>
916
975
  )
917
976
  }
918
977
 
919
- const uhh = StyleSheet.create({
920
- dkk: () => ({
921
- backgroundColor: 'red'
922
- })
923
- })
978
+ const uhh = StyleSheet.create(
979
+ {
980
+ dkk: () => ({
981
+ backgroundColor: 'red',
982
+ variants: {
983
+ size: {
984
+ small: {
985
+ backgroundColor: 'blue'
986
+ },
987
+ default: {
988
+ backgroundColor: 'green'
989
+ }
990
+ }
991
+ },
992
+ uni__dependencies: [4]
993
+ })
994
+ },
995
+ 921918562
996
+ )
924
997
  `
925
998
  },
926
999
  {
927
- title: 'Should increment counter for web dynamic functions',
1000
+ title: 'Should modify registry names if user changes name of member expression',
928
1001
  code: `
929
1002
  import { useRef } from 'react'
930
1003
  import { StyleSheet } from 'react-native-unistyles'
931
1004
 
932
1005
  export const Example = () => {
933
- let myRef = useRef()
1006
+ const myRef = useRef()
934
1007
 
935
1008
  return (
936
1009
  <View
937
1010
  ref={myRef}
938
- style={styles.container()}
1011
+ style={uhh.dkk()}
939
1012
  >
940
- <Text style={styles.container()}>
941
- Hello world
942
- </Text>
1013
+ <Text>Hello world</Text>
943
1014
  </View>
944
1015
  )
945
1016
  }
946
1017
 
947
- const styles = StyleSheet.create({
948
- container: () => ({
1018
+ const uhh = StyleSheet.create({
1019
+ dkk: () => ({
949
1020
  backgroundColor: 'red'
950
1021
  })
951
1022
  })
@@ -956,36 +1027,155 @@ pluginTester({
956
1027
  import { StyleSheet } from 'react-native-unistyles'
957
1028
 
958
1029
  export const Example = () => {
959
- let myRef = useRef()
1030
+ const myRef = useRef()
960
1031
 
961
1032
  return (
962
1033
  <View
963
1034
  ref={_ref => {
964
- myRef = _ref
965
- UnistylesShadowRegistry.add(_ref, styles.container)
966
- return () => UnistylesShadowRegistry.remove(_ref, styles.container)
1035
+ myRef.current = _ref
1036
+ uhh.dkk(_ref)
1037
+ UnistylesShadowRegistry.add(_ref, uhh.dkk, undefined)
1038
+ return () => UnistylesShadowRegistry.remove(_ref, uhh.dkk)
967
1039
  }}
968
- style={styles.container(1)}
1040
+ style={uhh.dkk()}
969
1041
  >
970
- <Text
971
- style={styles.container(2)}
1042
+ <Text>Hello world</Text>
1043
+ </View>
1044
+ )
1045
+ }
1046
+
1047
+ const uhh = StyleSheet.create(
1048
+ {
1049
+ dkk: () => ({
1050
+ backgroundColor: 'red'
1051
+ })
1052
+ },
1053
+ 921918562
1054
+ )
1055
+ `
1056
+ },
1057
+ {
1058
+ title: 'Should pass ref for dynamic functions to bind it to shadow node',
1059
+ code: `
1060
+ import { StyleSheet } from 'react-native-unistyles'
1061
+
1062
+ export const Example = () => {
1063
+ return (
1064
+ <React.Fragment>
1065
+ <View style={styles.container(1, 5)} />
1066
+ <View style={styles.container(2, 6)} />
1067
+ <View style={styles.container(5, 1)} />
1068
+ </React.Fragment>
1069
+ )
1070
+ }
1071
+
1072
+ const styles = StyleSheet.create({
1073
+ container: (flex, gap) => ({
1074
+ flex,
1075
+ gap
1076
+ })
1077
+ })
1078
+ `,
1079
+ output: `
1080
+ import { UnistylesShadowRegistry } from 'react-native-unistyles'
1081
+ import { StyleSheet } from 'react-native-unistyles'
1082
+
1083
+ export const Example = () => {
1084
+ return (
1085
+ <React.Fragment>
1086
+ <View
1087
+ style={styles.container(1, 5)}
972
1088
  ref={ref => {
973
- UnistylesShadowRegistry.add(ref, styles.container)
1089
+ styles.container(1, 5, ref)
1090
+ UnistylesShadowRegistry.add(ref, styles.container, undefined)
974
1091
  return () => UnistylesShadowRegistry.remove(ref, styles.container)
975
1092
  }}
976
- >
977
- Hello world
978
- </Text>
979
- </View>
1093
+ />
1094
+ <View
1095
+ style={styles.container(2, 6)}
1096
+ ref={ref => {
1097
+ styles.container(2, 6, ref)
1098
+ UnistylesShadowRegistry.add(ref, styles.container, undefined)
1099
+ return () => UnistylesShadowRegistry.remove(ref, styles.container)
1100
+ }}
1101
+ />
1102
+ <View
1103
+ style={styles.container(5, 1)}
1104
+ ref={ref => {
1105
+ styles.container(5, 1, ref)
1106
+ UnistylesShadowRegistry.add(ref, styles.container, undefined)
1107
+ return () => UnistylesShadowRegistry.remove(ref, styles.container)
1108
+ }}
1109
+ />
1110
+ </React.Fragment>
1111
+ )
1112
+ }
1113
+
1114
+ const styles = StyleSheet.create(
1115
+ {
1116
+ container: (flex, gap) => ({
1117
+ flex,
1118
+ gap
1119
+ })
1120
+ },
1121
+ 921918562
1122
+ )
1123
+ `
1124
+ },
1125
+ {
1126
+ title: 'Should pass refs for dynamic functions',
1127
+ code: `
1128
+ import { StyleSheet } from 'react-native-unistyles'
1129
+
1130
+ export const Example = () => {
1131
+ return (
1132
+ <React.Fragment>
1133
+ <View style={[styles.container(1, 5), styles.container2(1, 6)]} />
1134
+ </React.Fragment>
980
1135
  )
981
1136
  }
982
1137
 
983
1138
  const styles = StyleSheet.create({
984
- container: () => ({
985
- backgroundColor: 'red'
1139
+ container: (flex, gap) => ({
1140
+ flex,
1141
+ gap
986
1142
  })
987
1143
  })
1144
+ `,
1145
+ output: `
1146
+ import { UnistylesShadowRegistry } from 'react-native-unistyles'
1147
+ import { StyleSheet } from 'react-native-unistyles'
1148
+
1149
+ export const Example = () => {
1150
+ return (
1151
+ <React.Fragment>
1152
+ <View
1153
+ style={[styles.container(1, 5), styles.container2(1, 6)]}
1154
+ ref={ref => {
1155
+ styles.container(1, 5, ref)
1156
+ UnistylesShadowRegistry.add(ref, styles.container, undefined)
1157
+ styles.container2(1, 6, ref)
1158
+ UnistylesShadowRegistry.add(ref, styles.container2, undefined)
1159
+ return () => {
1160
+ ;(() => UnistylesShadowRegistry.remove(ref, styles.container))()
1161
+ UnistylesShadowRegistry.remove(ref, styles.container2)
1162
+ }
1163
+ }}
1164
+ />
1165
+ </React.Fragment>
1166
+ )
1167
+ }
1168
+
1169
+ const styles = StyleSheet.create(
1170
+ {
1171
+ container: (flex, gap) => ({
1172
+ flex,
1173
+ gap
1174
+ })
1175
+ },
1176
+ 921918562
1177
+ )
988
1178
  `
989
- },
1179
+ }
990
1180
  ]
991
1181
  })