react-native-unistyles 3.4.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/README.md +23 -7
  2. package/android/build.gradle +12 -1
  3. package/android/src/main/cxx/NativeUnistylesModule.cpp +8 -4
  4. package/android/src/main/cxx/NativeUnistylesModule.h +5 -1
  5. package/components/native/ActivityIndicator/package.json +1 -1
  6. package/cxx/common/UnistylesConstants.h +1 -0
  7. package/cxx/converters/TransformOriginConverter.cpp +106 -0
  8. package/cxx/core/StyleSheetRegistry.cpp +9 -9
  9. package/cxx/core/StyleSheetRegistry.h +3 -3
  10. package/cxx/core/UnistyleWrapper.h +13 -1
  11. package/cxx/core/UnistylesRegistry.cpp +102 -18
  12. package/cxx/core/UnistylesRegistry.h +42 -5
  13. package/cxx/hybridObjects/HybridShadowRegistry.cpp +124 -4
  14. package/cxx/hybridObjects/HybridShadowRegistry.h +20 -0
  15. package/cxx/hybridObjects/HybridStyleSheet.cpp +20 -12
  16. package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +11 -1
  17. package/cxx/hybridObjects/HybridUnistylesRuntime.h +4 -2
  18. package/cxx/parser/Parser.cpp +29 -1
  19. package/cxx/parser/Parser.h +1 -0
  20. package/cxx/shadowTree/NativeProps.h +46 -2
  21. package/cxx/shadowTree/ShadowTrafficController.h +4 -0
  22. package/cxx/shadowTree/ShadowTreeDiagnostics.cpp +339 -0
  23. package/cxx/shadowTree/ShadowTreeDiagnostics.h +18 -0
  24. package/cxx/shadowTree/ShadowTreeManager.cpp +7 -1
  25. package/cxx/shadowTree/ShadowTreeManager.h +1 -1
  26. package/diagnostics/package.json +6 -0
  27. package/ios/UnistylesModuleOnLoad.mm +9 -3
  28. package/lib/commonjs/components/native/ActivityIndicator.native.js +10 -0
  29. package/lib/commonjs/components/native/ActivityIndicator.native.js.map +1 -0
  30. package/lib/commonjs/components/native/NativeText.js +6 -0
  31. package/lib/commonjs/components/native/NativeText.js.map +1 -1
  32. package/lib/commonjs/components/native/NativeText.native.js +17 -1
  33. package/lib/commonjs/components/native/NativeText.native.js.map +1 -1
  34. package/lib/commonjs/components/native/NativeView.js +6 -0
  35. package/lib/commonjs/components/native/NativeView.js.map +1 -1
  36. package/lib/commonjs/components/native/NativeView.native.js +22 -3
  37. package/lib/commonjs/components/native/NativeView.native.js.map +1 -1
  38. package/lib/commonjs/components/native/Pressable.js +7 -3
  39. package/lib/commonjs/components/native/Pressable.js.map +1 -1
  40. package/lib/commonjs/components/native/TouchableHighlight.native.js +10 -0
  41. package/lib/commonjs/components/native/TouchableHighlight.native.js.map +1 -0
  42. package/lib/commonjs/core/createUnistylesActivityIndicator.js +41 -0
  43. package/lib/commonjs/core/createUnistylesActivityIndicator.js.map +1 -0
  44. package/lib/commonjs/core/createUnistylesElement.js +59 -14
  45. package/lib/commonjs/core/createUnistylesElement.js.map +1 -1
  46. package/lib/commonjs/core/createUnistylesTouchableHighlight.js +58 -0
  47. package/lib/commonjs/core/createUnistylesTouchableHighlight.js.map +1 -0
  48. package/lib/commonjs/core/index.js +14 -0
  49. package/lib/commonjs/core/index.js.map +1 -1
  50. package/lib/commonjs/diagnostics/index.js +13 -0
  51. package/lib/commonjs/diagnostics/index.js.map +1 -0
  52. package/lib/commonjs/diagnostics/types.js +2 -0
  53. package/lib/commonjs/diagnostics/types.js.map +1 -0
  54. package/lib/commonjs/diagnostics/verify.js +19 -0
  55. package/lib/commonjs/diagnostics/verify.js.map +1 -0
  56. package/lib/commonjs/diagnostics/verify.native.js +12 -0
  57. package/lib/commonjs/diagnostics/verify.native.js.map +1 -0
  58. package/lib/commonjs/index.js +38 -0
  59. package/lib/commonjs/index.js.map +1 -1
  60. package/lib/commonjs/mocks.js +41 -0
  61. package/lib/commonjs/mocks.js.map +1 -1
  62. package/lib/commonjs/reanimated/variant/useUpdateVariantColor.native.js +8 -0
  63. package/lib/commonjs/reanimated/variant/useUpdateVariantColor.native.js.map +1 -1
  64. package/lib/commonjs/specs/ShadowRegistry/index.js +97 -1
  65. package/lib/commonjs/specs/ShadowRegistry/index.js.map +1 -1
  66. package/lib/commonjs/specs/StyleSheet/index.js +5 -1
  67. package/lib/commonjs/specs/StyleSheet/index.js.map +1 -1
  68. package/lib/commonjs/specs/UnistylesRuntime/index.js.map +1 -1
  69. package/lib/commonjs/web/registry.js +3 -0
  70. package/lib/commonjs/web/registry.js.map +1 -1
  71. package/lib/module/components/native/ActivityIndicator.native.js +6 -0
  72. package/lib/module/components/native/ActivityIndicator.native.js.map +1 -0
  73. package/lib/module/components/native/NativeText.js +1 -1
  74. package/lib/module/components/native/NativeText.js.map +1 -1
  75. package/lib/module/components/native/NativeText.native.js +15 -1
  76. package/lib/module/components/native/NativeText.native.js.map +1 -1
  77. package/lib/module/components/native/NativeView.js +1 -0
  78. package/lib/module/components/native/NativeView.js.map +1 -1
  79. package/lib/module/components/native/NativeView.native.js +19 -2
  80. package/lib/module/components/native/NativeView.native.js.map +1 -1
  81. package/lib/module/components/native/Pressable.js +7 -3
  82. package/lib/module/components/native/Pressable.js.map +1 -1
  83. package/lib/module/components/native/TouchableHighlight.native.js +6 -0
  84. package/lib/module/components/native/TouchableHighlight.native.js.map +1 -0
  85. package/lib/module/core/createUnistylesActivityIndicator.js +35 -0
  86. package/lib/module/core/createUnistylesActivityIndicator.js.map +1 -0
  87. package/lib/module/core/createUnistylesElement.js +58 -13
  88. package/lib/module/core/createUnistylesElement.js.map +1 -1
  89. package/lib/module/core/createUnistylesTouchableHighlight.js +52 -0
  90. package/lib/module/core/createUnistylesTouchableHighlight.js.map +1 -0
  91. package/lib/module/core/index.js +2 -0
  92. package/lib/module/core/index.js.map +1 -1
  93. package/lib/module/diagnostics/index.js +5 -0
  94. package/lib/module/diagnostics/index.js.map +1 -0
  95. package/lib/module/diagnostics/types.js +2 -0
  96. package/lib/module/diagnostics/types.js.map +1 -0
  97. package/lib/module/diagnostics/verify.js +14 -0
  98. package/lib/module/diagnostics/verify.js.map +1 -0
  99. package/lib/module/diagnostics/verify.native.js +8 -0
  100. package/lib/module/diagnostics/verify.native.js.map +1 -0
  101. package/lib/module/index.js +2 -0
  102. package/lib/module/index.js.map +1 -1
  103. package/lib/module/mocks.js +41 -0
  104. package/lib/module/mocks.js.map +1 -1
  105. package/lib/module/reanimated/variant/useUpdateVariantColor.native.js +9 -1
  106. package/lib/module/reanimated/variant/useUpdateVariantColor.native.js.map +1 -1
  107. package/lib/module/specs/ShadowRegistry/index.js +97 -1
  108. package/lib/module/specs/ShadowRegistry/index.js.map +1 -1
  109. package/lib/module/specs/StyleSheet/index.js +6 -1
  110. package/lib/module/specs/StyleSheet/index.js.map +1 -1
  111. package/lib/module/specs/UnistylesRuntime/index.js.map +1 -1
  112. package/lib/module/web/registry.js +3 -0
  113. package/lib/module/web/registry.js.map +1 -1
  114. package/lib/typescript/src/components/native/ActivityIndicator.native.d.ts +2 -0
  115. package/lib/typescript/src/components/native/ActivityIndicator.native.d.ts.map +1 -0
  116. package/lib/typescript/src/components/native/NativeText.d.ts +1 -1
  117. package/lib/typescript/src/components/native/NativeText.d.ts.map +1 -1
  118. package/lib/typescript/src/components/native/NativeText.native.d.ts.map +1 -1
  119. package/lib/typescript/src/components/native/NativeView.d.ts +1 -0
  120. package/lib/typescript/src/components/native/NativeView.d.ts.map +1 -1
  121. package/lib/typescript/src/components/native/NativeView.native.d.ts +2 -2
  122. package/lib/typescript/src/components/native/NativeView.native.d.ts.map +1 -1
  123. package/lib/typescript/src/components/native/Pressable.d.ts.map +1 -1
  124. package/lib/typescript/src/components/native/TouchableHighlight.native.d.ts +2 -0
  125. package/lib/typescript/src/components/native/TouchableHighlight.native.d.ts.map +1 -0
  126. package/lib/typescript/src/core/createUnistylesActivityIndicator.d.ts +3 -0
  127. package/lib/typescript/src/core/createUnistylesActivityIndicator.d.ts.map +1 -0
  128. package/lib/typescript/src/core/createUnistylesElement.d.ts.map +1 -1
  129. package/lib/typescript/src/core/createUnistylesTouchableHighlight.d.ts +3 -0
  130. package/lib/typescript/src/core/createUnistylesTouchableHighlight.d.ts.map +1 -0
  131. package/lib/typescript/src/core/index.d.ts +2 -0
  132. package/lib/typescript/src/core/index.d.ts.map +1 -1
  133. package/lib/typescript/src/core/useUnistyles.d.ts +1 -1
  134. package/lib/typescript/src/diagnostics/index.d.ts +3 -0
  135. package/lib/typescript/src/diagnostics/index.d.ts.map +1 -0
  136. package/lib/typescript/src/diagnostics/types.d.ts +19 -0
  137. package/lib/typescript/src/diagnostics/types.d.ts.map +1 -0
  138. package/lib/typescript/src/diagnostics/verify.d.ts +3 -0
  139. package/lib/typescript/src/diagnostics/verify.d.ts.map +1 -0
  140. package/lib/typescript/src/diagnostics/verify.native.d.ts +3 -0
  141. package/lib/typescript/src/diagnostics/verify.native.d.ts.map +1 -0
  142. package/lib/typescript/src/index.d.ts +4 -1
  143. package/lib/typescript/src/index.d.ts.map +1 -1
  144. package/lib/typescript/src/reanimated/variant/useUpdateVariantColor.native.d.ts.map +1 -1
  145. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts +5 -1
  146. package/lib/typescript/src/specs/ShadowRegistry/index.d.ts.map +1 -1
  147. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts +3 -0
  148. package/lib/typescript/src/specs/ShadowRegistry/types.d.ts.map +1 -1
  149. package/lib/typescript/src/specs/StyleSheet/index.d.ts +4 -1
  150. package/lib/typescript/src/specs/StyleSheet/index.d.ts.map +1 -1
  151. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts +2 -2
  152. package/lib/typescript/src/specs/UnistylesRuntime/index.d.ts.map +1 -1
  153. package/lib/typescript/src/types/breakpoints.d.ts +1 -1
  154. package/lib/typescript/src/types/breakpoints.d.ts.map +1 -1
  155. package/lib/typescript/src/types/stylesheet.d.ts +3 -3
  156. package/lib/typescript/src/types/stylesheet.d.ts.map +1 -1
  157. package/lib/typescript/src/web/registry.d.ts.map +1 -1
  158. package/package.json +9 -1
  159. package/plugin/index.d.ts +4 -4
  160. package/plugin/index.js +21 -5
  161. package/src/components/native/ActivityIndicator.native.tsx +5 -0
  162. package/src/components/native/NativeText.native.tsx +18 -1
  163. package/src/components/native/NativeText.tsx +1 -1
  164. package/src/components/native/NativeView.native.tsx +22 -2
  165. package/src/components/native/NativeView.tsx +2 -0
  166. package/src/components/native/Pressable.tsx +8 -3
  167. package/src/components/native/TouchableHighlight.native.tsx +5 -0
  168. package/src/core/createUnistylesActivityIndicator.tsx +47 -0
  169. package/src/core/createUnistylesElement.tsx +45 -14
  170. package/src/core/createUnistylesTouchableHighlight.tsx +69 -0
  171. package/src/core/index.ts +2 -0
  172. package/src/diagnostics/index.ts +3 -0
  173. package/src/diagnostics/types.ts +25 -0
  174. package/src/diagnostics/verify.native.ts +7 -0
  175. package/src/diagnostics/verify.ts +13 -0
  176. package/src/index.ts +4 -1
  177. package/src/mocks.ts +41 -0
  178. package/src/reanimated/variant/useUpdateVariantColor.native.ts +7 -1
  179. package/src/specs/ShadowRegistry/index.ts +128 -1
  180. package/src/specs/ShadowRegistry/types.ts +3 -0
  181. package/src/specs/StyleSheet/index.ts +10 -2
  182. package/src/specs/UnistylesRuntime/index.ts +7 -2
  183. package/src/types/breakpoints.ts +5 -3
  184. package/src/types/stylesheet.ts +3 -3
  185. package/src/web/registry.ts +3 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/diagnostics/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IAEvB,MAAM,EAAE,MAAM,CAAA;IAEd,OAAO,EAAE,MAAM,CAAA;IAEf,QAAQ,EAAE,MAAM,CAAA;IAEhB,SAAS,EAAE,MAAM,CAAA;IAEjB,OAAO,EAAE,MAAM,CAAA;IAEf,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IACjC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACxB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { VerifyReport } from './types';
2
+ export declare const verify: () => VerifyReport;
3
+ //# sourceMappingURL=verify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../../src/diagnostics/verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAG3C,eAAO,MAAM,MAAM,QAAO,YASxB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { VerifyReport } from './types';
2
+ export declare const verify: () => VerifyReport;
3
+ //# sourceMappingURL=verify.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.native.d.ts","sourceRoot":"","sources":["../../../../src/diagnostics/verify.native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAM3C,eAAO,MAAM,MAAM,QAAO,YAAgD,CAAA"}
@@ -1,9 +1,12 @@
1
1
  export { StyleSheet, UnistylesRuntime } from './specs';
2
2
  export { UnistyleDependency } from './specs';
3
+ export type { UnistylesMiniRuntime } from './specs';
4
+ export { ColorScheme, Orientation, StatusBarStyle } from './specs/types';
3
5
  export { mq } from './mq';
4
6
  export type { UnistylesThemes, UnistylesBreakpoints } from './global';
5
7
  export { withUnistyles, useUnistyles, createUnistylesElement } from './core';
6
- export type { UnistylesVariants, UnistylesValues, IOSContentSizeCategory, AndroidContentSizeCategory } from './types';
8
+ export type { UnistylesVariants, UnistylesValues } from './types';
9
+ export { IOSContentSizeCategory, AndroidContentSizeCategory, WebContentSizeCategory } from './types';
7
10
  export { Display, Hide, ScopedTheme } from './components';
8
11
  export { useServerUnistyles, hydrateServerUnistyles, getServerUnistyles, resetServerUnistyles } from './server';
9
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAA;AAC5E,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AACrH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAA;AAC5E,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AACpG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useUpdateVariantColor.native.d.ts","sourceRoot":"","sources":["../../../../../src/reanimated/variant/useUpdateVariantColor.native.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAI1D,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,iCAIlE,2BAA2B,CAAC,CAAC,CAAC;;;CA8BhC,CAAA"}
1
+ {"version":3,"file":"useUpdateVariantColor.native.d.ts","sourceRoot":"","sources":["../../../../../src/reanimated/variant/useUpdateVariantColor.native.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAA;AAI1D,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,iCAIlE,2BAA2B,CAAC,CAAC,CAAC;;;CAoChC,CAAA"}
@@ -1,3 +1,4 @@
1
+ import type { VerifyReport } from '../../diagnostics/types';
1
2
  import type { UnistylesShadowRegistry as UnistylesShadowRegistrySpec } from './ShadowRegistry.nitro';
2
3
  import type { ShadowNode, Unistyle, ViewHandle } from './types';
3
4
  interface ShadowRegistry extends UnistylesShadowRegistrySpec {
@@ -9,8 +10,11 @@ interface ShadowRegistry extends UnistylesShadowRegistrySpec {
9
10
  flush(): void;
10
11
  setScopedTheme(themeName?: string): void;
11
12
  getScopedTheme(): string | undefined;
13
+ verify(): VerifyReport;
14
+ takeCommittedTags(): Array<number>;
15
+ refreshReactNodes(nodes: Array<ShadowNode>): void;
12
16
  }
13
- type PrivateMethods = 'add' | 'remove' | 'link' | 'unlink' | 'suspend';
17
+ type PrivateMethods = 'add' | 'remove' | 'link' | 'unlink' | 'suspend' | 'takeCommittedTags' | 'refreshReactNodes';
14
18
  export declare const UnistylesShadowRegistry: Omit<ShadowRegistry, PrivateMethods>;
15
19
  export {};
16
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/specs/ShadowRegistry/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,IAAI,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AACpG,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE/D,UAAU,cAAe,SAAQ,2BAA2B;IAExD,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IACxD,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAEjC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IACtD,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;IAC9B,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;IAC/B,KAAK,IAAI,IAAI,CAAA;IACb,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,cAAc,IAAI,MAAM,GAAG,SAAS,CAAA;CACvC;AAgGD,KAAK,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEtE,eAAO,MAAM,uBAAuB,EAA2B,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/specs/ShadowRegistry/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,EAAE,uBAAuB,IAAI,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AACpG,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAI/D,UAAU,cAAe,SAAQ,2BAA2B;IAExD,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IACxD,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAEjC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IACtD,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;IAC9B,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;IAC/B,KAAK,IAAI,IAAI,CAAA;IACb,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,cAAc,IAAI,MAAM,GAAG,SAAS,CAAA;IACpC,MAAM,IAAI,YAAY,CAAA;IACtB,iBAAiB,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;IAClC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAA;CACpD;AAyND,KAAK,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,mBAAmB,GAAG,mBAAmB,CAAA;AAElH,eAAO,MAAM,uBAAuB,EAA2B,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAA"}
@@ -1,5 +1,8 @@
1
1
  export type StateNode = {
2
2
  node?: ShadowNode;
3
+ canonical?: {
4
+ nativeTag?: number;
5
+ };
3
6
  };
4
7
  export type ShadowNode = {
5
8
  __hostObjectShadowNodeWrapper: any;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/specs/ShadowRegistry/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,CAAC,EAAE,UAAU,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,6BAA6B,EAAE,GAAG,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,wBAAwB,CAAC,EAAE;QACvB,SAAS,CAAC,EAAE,SAAS,CAAA;QACrB,WAAW,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;IACD,kBAAkB,CAAC,EAAE,MAAM;QACvB,kBAAkB,CAAC,EAAE,MAAM;YACvB,wBAAwB,CAAC,EAAE;gBACvB,SAAS,CAAC,EAAE,SAAS,CAAA;aACxB,CAAA;SACJ,CAAA;KACJ,CAAA;IACD,kBAAkB,CAAC,EAAE,MAAM;QACvB,wBAAwB,CAAC,EAAE;YACvB,SAAS,CAAC,EAAE,SAAS,CAAA;SACxB,CAAA;KACJ,CAAA;IACD,QAAQ,CAAC,EAAE;QACP,wBAAwB,CAAC,EAAE;YACvB,SAAS,CAAC,EAAE,SAAS,CAAA;SACxB,CAAA;KACJ,CAAA;IACD,OAAO,CAAC,EAAE;QACN,OAAO,CAAC,EAAE;YACN,wBAAwB,CAAC,EAAE;gBACvB,SAAS,CAAC,EAAE,SAAS,CAAA;aACxB,CAAA;SACJ,CAAA;KACJ,CAAA;IACD,UAAU,CAAC,EAAE;QACT,wBAAwB,CAAC,EAAE;YACvB,SAAS,CAAC,EAAE,SAAS,CAAA;SACxB,CAAA;KACJ,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACnB,OAAO,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KACvB,CAAA;CACJ,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/specs/ShadowRegistry/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG;IACpB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,SAAS,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,6BAA6B,EAAE,GAAG,CAAA;CACrC,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,wBAAwB,CAAC,EAAE;QACvB,SAAS,CAAC,EAAE,SAAS,CAAA;QACrB,WAAW,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;IACD,kBAAkB,CAAC,EAAE,MAAM;QACvB,kBAAkB,CAAC,EAAE,MAAM;YACvB,wBAAwB,CAAC,EAAE;gBACvB,SAAS,CAAC,EAAE,SAAS,CAAA;aACxB,CAAA;SACJ,CAAA;KACJ,CAAA;IACD,kBAAkB,CAAC,EAAE,MAAM;QACvB,wBAAwB,CAAC,EAAE;YACvB,SAAS,CAAC,EAAE,SAAS,CAAA;SACxB,CAAA;KACJ,CAAA;IACD,QAAQ,CAAC,EAAE;QACP,wBAAwB,CAAC,EAAE;YACvB,SAAS,CAAC,EAAE,SAAS,CAAA;SACxB,CAAA;KACJ,CAAA;IACD,OAAO,CAAC,EAAE;QACN,OAAO,CAAC,EAAE;YACN,wBAAwB,CAAC,EAAE;gBACvB,SAAS,CAAC,EAAE,SAAS,CAAA;aACxB,CAAA;SACJ,CAAA;KACJ,CAAA;IACD,UAAU,CAAC,EAAE;QACT,wBAAwB,CAAC,EAAE;YACvB,SAAS,CAAC,EAAE,SAAS,CAAA;SACxB,CAAA;KACJ,CAAA;CACJ,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACnB,OAAO,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KACvB,CAAA;CACJ,CAAA"}
@@ -23,8 +23,11 @@ export type UnistylesConfig = {
23
23
  themes?: UnistylesThemes;
24
24
  breakpoints?: UnistylesBreakpoints;
25
25
  };
26
+ type AbsoluteFillObject = typeof NativeStyleSheetType extends {
27
+ absoluteFillObject: infer TStyle;
28
+ } ? TStyle : typeof NativeStyleSheetType.absoluteFill;
26
29
  export interface UnistylesStyleSheet extends UnistylesStyleSheetSpec {
27
- absoluteFillObject: typeof NativeStyleSheetType.absoluteFill;
30
+ absoluteFillObject: AbsoluteFillObject;
28
31
  absoluteFill: typeof NativeStyleSheetType.absoluteFill;
29
32
  compose: typeof NativeStyleSheetType.compose;
30
33
  flatten: typeof NativeStyleSheetType.flatten;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/specs/StyleSheet/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEtE,OAAO,EAAkC,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,KAAK,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAEjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,KAAK,sBAAsB,GACrB;IACI,YAAY,EAAE,CAAC,MAAM,MAAM,eAAe,CAAC,GAAG,MAAM,eAAe,CAAA;IACnE,cAAc,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;CACjC,GACD;IACI,cAAc,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,KAAK,CAAA;CACvB,GACD;IACI,cAAc,CAAC,EAAE,KAAK,CAAA;IACtB,YAAY,CAAC,EAAE,KAAK,CAAA;CACvB,CAAA;AAEP,KAAK,iBAAiB,GAAG,sBAAsB,GAAG;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,qBAAqB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,WAAW,CAAC,EAAE,oBAAoB,CAAA;CACrC,CAAA;AAED,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAChE,kBAAkB,EAAE,OAAO,oBAAoB,CAAC,YAAY,CAAA;IAC5D,YAAY,EAAE,OAAO,oBAAoB,CAAC,YAAY,CAAA;IACtD,OAAO,EAAE,OAAO,oBAAoB,CAAC,OAAO,CAAA;IAC5C,OAAO,EAAE,OAAO,oBAAoB,CAAC,OAAO,CAAA;IAG5C,IAAI,IAAI,IAAI,CAAA;IACZ,MAAM,EAAE,yBAAyB,CAAA;IACjC,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;IACxC,SAAS,EAAE;QACP,YAAY,EAAE,OAAO,YAAY,CAAA;QACjC,oBAAoB,EAAE,OAAO,oBAAoB,CAAA;KACpD,CAAA;CACJ;AAeD,KAAK,cAAc,GAAG,WAAW,GAAG,MAAM,CAAA;AAE1C,eAAO,MAAM,UAAU,EAAgC,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/specs/StyleSheet/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEtE,OAAO,EAAkC,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,KAAK,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAEjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAEhE,KAAK,sBAAsB,GACrB;IACI,YAAY,EAAE,CAAC,MAAM,MAAM,eAAe,CAAC,GAAG,MAAM,eAAe,CAAA;IACnE,cAAc,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;CACjC,GACD;IACI,cAAc,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,KAAK,CAAA;CACvB,GACD;IACI,cAAc,CAAC,EAAE,KAAK,CAAA;IACtB,YAAY,CAAC,EAAE,KAAK,CAAA;CACvB,CAAA;AAEP,KAAK,iBAAiB,GAAG,sBAAsB,GAAG;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,qBAAqB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC1B,QAAQ,CAAC,EAAE,iBAAiB,CAAA;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,WAAW,CAAC,EAAE,oBAAoB,CAAA;CACrC,CAAA;AAKD,KAAK,kBAAkB,GAAG,OAAO,oBAAoB,SAAS;IAAE,kBAAkB,EAAE,MAAM,MAAM,CAAA;CAAE,GAC5F,MAAM,GACN,OAAO,oBAAoB,CAAC,YAAY,CAAA;AAE9C,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAChE,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,YAAY,EAAE,OAAO,oBAAoB,CAAC,YAAY,CAAA;IACtD,OAAO,EAAE,OAAO,oBAAoB,CAAC,OAAO,CAAA;IAC5C,OAAO,EAAE,OAAO,oBAAoB,CAAC,OAAO,CAAA;IAG5C,IAAI,IAAI,IAAI,CAAA;IACZ,MAAM,EAAE,yBAAyB,CAAA;IACjC,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;IACxC,SAAS,EAAE;QACP,YAAY,EAAE,OAAO,YAAY,CAAA;QACjC,oBAAoB,EAAE,OAAO,oBAAoB,CAAA;KACpD,CAAA;CACJ;AAgBD,KAAK,cAAc,GAAG,WAAW,GAAG,MAAM,CAAA;AAE1C,eAAO,MAAM,UAAU,EAAgC,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { UnistylesThemes } from '../../global';
2
- import type { AndroidContentSizeCategory, IOSContentSizeCategory, UnistylesTheme } from '../../types';
2
+ import type { AndroidContentSizeCategory, IOSContentSizeCategory, UnistylesTheme, WebContentSizeCategory } from '../../types';
3
3
  import type { UnistylesNavigationBar } from '../NavigtionBar';
4
4
  import type { AppBreakpoint, AppTheme, AppThemeName, Color, ColorScheme, Orientation } from '../types';
5
5
  import type { UnistylesMiniRuntime, UnistylesRuntime as UnistylesRuntimeSpec } from './UnistylesRuntime.nitro';
@@ -7,7 +7,7 @@ import { type UnistylesStatusBar } from '../StatusBar';
7
7
  export interface UnistylesRuntimePrivate extends Omit<UnistylesRuntimeSpec, 'setRootViewBackgroundColor'> {
8
8
  readonly colorScheme: ColorScheme;
9
9
  readonly themeName?: AppThemeName;
10
- readonly contentSizeCategory: IOSContentSizeCategory | AndroidContentSizeCategory;
10
+ readonly contentSizeCategory: IOSContentSizeCategory | AndroidContentSizeCategory | WebContentSizeCategory;
11
11
  readonly breakpoint?: AppBreakpoint;
12
12
  readonly orientation: Orientation;
13
13
  statusBar: UnistylesStatusBar;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/specs/UnistylesRuntime/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,KAAK,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACrG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtG,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAG9G,OAAO,EAAE,KAAK,kBAAkB,EAA4B,MAAM,cAAc,CAAA;AAEhF,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,4BAA4B,CAAC;IACrG,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAA;IACjC,QAAQ,CAAC,mBAAmB,EAAE,sBAAsB,GAAG,0BAA0B,CAAA;IACjF,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAA;IACnC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IAGjC,SAAS,EAAE,kBAAkB,CAAA;IAC7B,aAAa,EAAE,sBAAsB,CAAA;IAErC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,eAAe,GAAG,cAAc,CAAA;IAC3D,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAA;IACvC,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAA;IACzF,0BAA0B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChD,gCAAgC,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IACrD,gBAAgB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAA;IAG1C,qBAAqB,IAAI,kBAAkB,CAAA;IAC3C,yBAAyB,IAAI,sBAAsB,CAAA;CACtD;AAED,KAAK,cAAc,GACb,uBAAuB,GACvB,2BAA2B,GAC3B,SAAS,GACT,aAAa,GACb,kCAAkC,GAClC,wBAAwB,CAAA;AAE9B,KAAK,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAA;AAwBrE,eAAO,MAAM,OAAO,EAA6B,gBAAgB,CAAA;AAEjE,YAAY,EAAE,oBAAoB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/specs/UnistylesRuntime/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,KAAK,EACR,0BAA0B,EAC1B,sBAAsB,EACtB,cAAc,EACd,sBAAsB,EACzB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtG,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAG9G,OAAO,EAAE,KAAK,kBAAkB,EAA4B,MAAM,cAAc,CAAA;AAEhF,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,4BAA4B,CAAC;IACrG,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAA;IACjC,QAAQ,CAAC,mBAAmB,EAAE,sBAAsB,GAAG,0BAA0B,GAAG,sBAAsB,CAAA;IAC1G,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAA;IACnC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IAGjC,SAAS,EAAE,kBAAkB,CAAA;IAC7B,aAAa,EAAE,sBAAsB,CAAA;IAErC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,eAAe,GAAG,cAAc,CAAA;IAC3D,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAA;IACvC,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAA;IACzF,0BAA0B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChD,gCAAgC,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;IACrD,gBAAgB,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAA;IAG1C,qBAAqB,IAAI,kBAAkB,CAAA;IAC3C,yBAAyB,IAAI,sBAAsB,CAAA;CACtD;AAED,KAAK,cAAc,GACb,uBAAuB,GACvB,2BAA2B,GAC3B,SAAS,GACT,aAAa,GACb,kCAAkC,GAClC,wBAAwB,CAAA;AAE9B,KAAK,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAA;AAwBrE,eAAO,MAAM,OAAO,EAA6B,gBAAgB,CAAA;AAEjE,YAAY,EAAE,oBAAoB,EAAE,CAAA"}
@@ -5,7 +5,7 @@ import type { BreakpointsOrMediaQueries, ToDeepUnistyles } from './stylesheet';
5
5
  type ExtractTransformArray<T> = T extends object ? {
6
6
  [K in keyof T]: ExtractBreakpoints<T[K]>;
7
7
  } : never;
8
- type ExtractBreakpoints<T> = T extends object ? keyof T extends BreakpointsOrMediaQueries ? T[keyof T] : T extends Array<ToDeepUnistyles<TransformStyles>> ? Array<ExtractTransformArray<T[number]>> : T extends Array<infer _U> ? T : {
8
+ type ExtractBreakpoints<T> = T extends object ? keyof T extends BreakpointsOrMediaQueries ? T[keyof T] : T extends ReadonlyArray<ToDeepUnistyles<TransformStyles>> ? T extends Array<infer _U> ? Array<ExtractTransformArray<T[number]>> : ReadonlyArray<ExtractTransformArray<T[number]>> : T extends ReadonlyArray<infer _U> ? T : {
9
9
  [K in keyof T]: ExtractBreakpoints<T[K]>;
10
10
  } : T;
11
11
  type IsEmptyObject<T> = T extends Record<string, never> ? true : keyof T extends never ? true : false;
@@ -1 +1 @@
1
- {"version":3,"file":"breakpoints.d.ts","sourceRoot":"","sources":["../../../../src/types/breakpoints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"breakpoints.d.ts","sourceRoot":"","sources":["../../../../src/types/breakpoints.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,9 @@ export type UnistyleImage = Omit<ImageStyle, NestedKeys>;
13
13
  type UnistyleNestedStyles = {
14
14
  shadowOffset?: ToDeepUnistyles<ShadowOffset>;
15
15
  textShadowOffset?: ToDeepUnistyles<ShadowOffset>;
16
- transform?: Array<ToDeepUnistyles<TransformStyles>>;
17
- boxShadow?: Array<ToDeepUnistyles<BoxShadowValue>> | string;
18
- filter?: Array<ToDeepUnistyles<FilterFunction>> | string;
16
+ transform?: ReadonlyArray<ToDeepUnistyles<TransformStyles>>;
17
+ boxShadow?: ReadonlyArray<ToDeepUnistyles<BoxShadowValue>> | string;
18
+ filter?: ReadonlyArray<ToDeepUnistyles<FilterFunction>> | string;
19
19
  };
20
20
  type VariantsObject = {
21
21
  [variantName: string]: {
@@ -1 +1 @@
1
- {"version":3,"file":"stylesheet.d.ts","sourceRoot":"","sources":["../../../../src/types/stylesheet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stylesheet.d.ts","sourceRoot":"","sources":["../../../../src/types/stylesheet.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/web/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGhC,qBAAa,iBAAiB;IAQd,OAAO,CAAC,QAAQ;IAP5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+D;IAC3F,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkC;IACtE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4E;IAC5G,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;gBAEF,QAAQ,EAAE,iBAAiB;IAI/C,qBAAqB,GAAI,YAAY,yBAAyB,CAAC,UAAU,CAAC,EAAE,kBAAkB,cAAc,gBAkC3G;IAED,2BAA2B,GACvB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,KAAK,UAAU,EACpF,cAAc,KAAK,CAAC,kBAAkB,CAAC,UAmB1C;IAED,OAAO,GAAI,KAAK,WAAW,EAAE,MAAM,MAAM,UAKxC;IAED,MAAM,GAAI,KAAK,WAAW,EAAE,MAAM,MAAM,sBAqBvC;IAED,GAAG,GAAI,OAAO,eAAe,EAAE,WAAW,OAAO;;;MAYhD;IAED,WAAW,GAAI,MAAM,MAAM,EAAE,OAAO,eAAe,UAElD;IAED,KAAK,aAQJ;CACJ"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/web/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGhC,qBAAa,iBAAiB;IAQd,OAAO,CAAC,QAAQ;IAP5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+D;IAC3F,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkC;IACtE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4E;IAC5G,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAA;gBAEF,QAAQ,EAAE,iBAAiB;IAI/C,qBAAqB,GAAI,YAAY,yBAAyB,CAAC,UAAU,CAAC,EAAE,kBAAkB,cAAc,gBAkC3G;IAED,2BAA2B,GACvB,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,KAAK,UAAU,EACpF,cAAc,KAAK,CAAC,kBAAkB,CAAC,UAmB1C;IAED,OAAO,GAAI,KAAK,WAAW,EAAE,MAAM,MAAM,UAKxC;IAED,MAAM,GAAI,KAAK,WAAW,EAAE,MAAM,MAAM,sBAwBvC;IAED,GAAG,GAAI,OAAO,eAAe,EAAE,WAAW,OAAO;;;MAYhD;IAED,WAAW,GAAI,MAAM,MAAM,EAAE,OAAO,eAAe,UAElD;IAED,KAAK,aAQJ;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-unistyles",
3
- "version": "3.4.0",
3
+ "version": "3.5.0",
4
4
  "description": "Level up your React Native StyleSheet",
5
5
  "scripts": {
6
6
  "test": "NODE_ENV=babel-test jest ./plugin ./src/__tests__",
@@ -74,6 +74,13 @@
74
74
  "browser": "./lib/module/reanimated/index.js",
75
75
  "react-native": "./src/reanimated/index.ts",
76
76
  "default": "./lib/commonjs/reanimated/index.js"
77
+ },
78
+ "./diagnostics": {
79
+ "types": "./lib/typescript/src/diagnostics/index.d.ts",
80
+ "import": "./lib/module/diagnostics/index.js",
81
+ "browser": "./lib/module/diagnostics/index.js",
82
+ "react-native": "./src/diagnostics/index.ts",
83
+ "default": "./lib/commonjs/diagnostics/index.js"
77
84
  }
78
85
  },
79
86
  "files": [
@@ -89,6 +96,7 @@
89
96
  "server",
90
97
  "web-only",
91
98
  "reanimated",
99
+ "diagnostics",
92
100
  "react-native.config.js",
93
101
  "Unistyles.podspec",
94
102
  "repack-plugin",
package/plugin/index.d.ts CHANGED
@@ -45,7 +45,7 @@ export interface UnistylesPluginOptions {
45
45
  root: string
46
46
 
47
47
  /**
48
- * Example: ['@codemask/styles']
48
+ * Example: ['@my-org/styles']
49
49
  * Enable this option if you want to process only files containing specific imports.
50
50
  */
51
51
  autoProcessImports?: Array<string>
@@ -99,12 +99,12 @@ export interface UnistylesPluginOptions {
99
99
  /**
100
100
  * Example: ['external-library/components']
101
101
  * Enable this option to process some 3rd party components under `node_modules`.
102
- * Under these paths we will replace `react-native` imports with `react-native-unistyles` factories that will borrow components refs [read more](https://www.unistyl.es/v3/other/babel-plugin#3-component-factory-borrowing-ref).
102
+ * Under these paths we will replace `react-native` imports with `react-native-unistyles` factories that will borrow components refs [read more](https://www.unistyl.es/v3/other/babel-plugin#2-component-factory-borrowing-ref).
103
103
  *
104
- * Defaults to:
104
+ * The following paths are always processed, and paths passed here are added to them:
105
105
  *
106
106
  * ```ts
107
- * ['react-native-reanimated/src/component']
107
+ * ['react-native-reanimated/src/component', 'react-native-reanimated/lib/module/component']
108
108
  * ```
109
109
  */
110
110
  autoProcessPaths?: Array<string>
package/plugin/index.js CHANGED
@@ -76,6 +76,18 @@ var NATIVE_COMPONENTS_PATHS = {
76
76
  isDefault: true,
77
77
  path: "react-native/Libraries/Components/View/ViewNativeComponent",
78
78
  mapTo: "NativeView"
79
+ },
80
+ {
81
+ name: "unstable_NativeText",
82
+ isDefault: false,
83
+ path: "react-native",
84
+ mapTo: "NativeText"
85
+ },
86
+ {
87
+ name: "unstable_NativeView",
88
+ isDefault: false,
89
+ path: "react-native",
90
+ mapTo: "NativeView"
79
91
  }
80
92
  ]
81
93
  };
@@ -153,9 +165,10 @@ function handleExoticImport(path2, state, exoticImport) {
153
165
  specifiers.forEach((specifier) => {
154
166
  for (const rule of exoticImport.imports) {
155
167
  const hasMatchingImportType = !rule.isDefault && t2.isImportSpecifier(specifier) || rule.isDefault && t2.isImportDefaultSpecifier(specifier);
156
- const hasMatchingImportName = rule.isDefault || !rule.isDefault && rule.name === specifier.local.name;
168
+ const isTypeOnly = t2.isImportSpecifier(specifier) && specifier.importKind !== "value";
169
+ const hasMatchingImportName = rule.isDefault || t2.isImportSpecifier(specifier) && rule.name === getImportedName(specifier);
157
170
  const hasMatchingPath = rule.path === source.value;
158
- if (!hasMatchingImportType || !hasMatchingImportName || !hasMatchingPath) {
171
+ if (isTypeOnly || !hasMatchingImportType || !hasMatchingImportName || !hasMatchingPath) {
159
172
  continue;
160
173
  }
161
174
  if (t2.isImportDefaultSpecifier(specifier)) {
@@ -166,10 +179,10 @@ function handleExoticImport(path2, state, exoticImport) {
166
179
  path2.replaceWith(newImport);
167
180
  } else {
168
181
  const newImport = t2.importDeclaration(
169
- [t2.importSpecifier(t2.identifier(rule.mapTo), t2.identifier(rule.mapTo))],
182
+ [t2.importSpecifier(t2.identifier(specifier.local.name), t2.identifier(rule.mapTo))],
170
183
  t2.stringLiteral(getComponentPath(state, rule.mapTo))
171
184
  );
172
- path2.node.specifiers = specifiers.filter((s) => s !== specifier);
185
+ path2.node.specifiers = path2.node.specifiers.filter((s) => s !== specifier);
173
186
  if (path2.node.specifiers.length === 0) {
174
187
  path2.replaceWith(newImport);
175
188
  } else {
@@ -180,6 +193,9 @@ function handleExoticImport(path2, state, exoticImport) {
180
193
  }
181
194
  });
182
195
  }
196
+ function getImportedName(specifier) {
197
+ return t2.isIdentifier(specifier.imported) ? specifier.imported.name : specifier.imported.value;
198
+ }
183
199
 
184
200
  // plugin/src/paths.ts
185
201
  var import_node_path = __toESM(require("node:path"));
@@ -860,7 +876,7 @@ function index_default() {
860
876
  }
861
877
  });
862
878
  }
863
- if (importSource.includes("react-native/Libraries")) {
879
+ if (importSource === "react-native" || importSource.includes("react-native/Libraries")) {
864
880
  handleExoticImport(path2, state, NATIVE_COMPONENTS_PATHS);
865
881
  }
866
882
  if (!state.file.forceProcessing && Array.isArray(state.opts.autoProcessImports)) {
@@ -0,0 +1,5 @@
1
+ import { ActivityIndicator as NativeActivityIndicator } from 'react-native'
2
+
3
+ import { createUnistylesActivityIndicator } from '../../core'
4
+
5
+ export const ActivityIndicator = createUnistylesActivityIndicator(NativeActivityIndicator)
@@ -1,12 +1,29 @@
1
1
  import type { TextProps } from 'react-native'
2
2
 
3
3
  import { type ComponentType, createElement, forwardRef } from 'react'
4
+ import * as ReactNative from 'react-native'
4
5
 
5
6
  import { createUnistylesElement } from '../../core'
6
7
 
8
+ const RN = ReactNative as typeof ReactNative & { unstable_NativeText?: unknown }
9
+
10
+ const resolveRCTText = () => {
11
+ // RN 0.83+ re-exports the host component, which at runtime is the 'RCTText' string itself
12
+ if (typeof RN.unstable_NativeText === 'string') {
13
+ return RN.unstable_NativeText
14
+ }
15
+
16
+ // older RN has no public handle on it, but reading Text evaluates the very same module
17
+ if (!RN.Text) {
18
+ throw new Error('Unistyles 🦄: react-native did not expose Text, unable to render NativeText')
19
+ }
20
+
21
+ return 'RCTText'
22
+ }
23
+
7
24
  // credits to @hirbod
8
25
  const LeanText = forwardRef((props, ref) => {
9
- return createElement('RCTText', { ...props, ref })
26
+ return createElement(resolveRCTText(), { ...props, ref })
10
27
  }) as ComponentType<TextProps>
11
28
 
12
29
  LeanText.displayName = 'RCTText'
@@ -1 +1 @@
1
- export { Text } from './Text'
1
+ export { Text, Text as NativeText } from './Text'
@@ -1,15 +1,35 @@
1
1
  import type { ViewProps } from 'react-native'
2
2
 
3
3
  import { type ComponentType, createElement, forwardRef } from 'react'
4
+ import * as ReactNative from 'react-native'
4
5
 
5
6
  import { createUnistylesElement } from '../../core'
6
7
 
8
+ const RN = ReactNative as typeof ReactNative & { unstable_NativeView?: unknown }
9
+
10
+ const resolveRCTView = () => {
11
+ // RN 0.83+ re-exports the host component, which at runtime is the 'RCTView' string itself
12
+ if (typeof RN.unstable_NativeView === 'string') {
13
+ return RN.unstable_NativeView
14
+ }
15
+
16
+ // older RN has no public handle on it, but reading View evaluates the very same module
17
+ if (!RN.View) {
18
+ throw new Error('Unistyles 🦄: react-native did not expose View, unable to render NativeView')
19
+ }
20
+
21
+ return 'RCTView'
22
+ }
23
+
7
24
  // credits to @hirbod
8
25
  const LeanView = forwardRef((props, ref) => {
9
- return createElement('RCTView', { ...props, ref })
26
+ return createElement(resolveRCTView(), { ...props, ref })
10
27
  }) as ComponentType<ViewProps>
11
28
 
12
29
  LeanView.displayName = 'RCTView'
13
30
 
31
+ // named export matches unstable_NativeView from react-native
32
+ export const NativeView = createUnistylesElement(LeanView)
33
+
14
34
  // this will match default export from react-native
15
- export default createUnistylesElement(LeanView)
35
+ export default NativeView
@@ -1,3 +1,5 @@
1
1
  import { View } from './View'
2
2
 
3
+ export { View as NativeView }
4
+
3
5
  export default View
@@ -41,9 +41,14 @@ export const Pressable: React.ForwardRefExoticComponent<PressableProps & React.R
41
41
  isServer()
42
42
  ? undefined
43
43
  : (ref) => {
44
+ if (!ref) {
45
+ // @ts-expect-error hidden from TS
46
+ UnistylesShadowRegistry.remove(storedRef, classNames?.[0].hash)
47
+ }
48
+
44
49
  storedRef = ref as unknown as HTMLElement
45
50
  // @ts-expect-error hidden from TS
46
- UnistylesShadowRegistry.add(storedRef, classNames?.hash)
51
+ UnistylesShadowRegistry.add(storedRef, classNames?.[0].hash)
47
52
 
48
53
  if (typeof forwardedRef === 'function') {
49
54
  return forwardedRef(ref)
@@ -61,10 +66,10 @@ export const Pressable: React.ForwardRefExoticComponent<PressableProps & React.R
61
66
  UnistylesShadowRegistry.setScopedTheme(scopedTheme)
62
67
 
63
68
  // @ts-expect-error hidden from TS
64
- UnistylesShadowRegistry.remove(storedRef, classNames?.hash)
69
+ UnistylesShadowRegistry.remove(storedRef, classNames?.[0].hash)
65
70
  classNames = getClassName(styleResult as UnistylesValues)
66
71
  // @ts-expect-error hidden from TS
67
- UnistylesShadowRegistry.add(storedRef, classNames?.hash)
72
+ UnistylesShadowRegistry.add(storedRef, classNames?.[0].hash)
68
73
 
69
74
  UnistylesShadowRegistry.setScopedTheme(previousScopedTheme)
70
75
 
@@ -0,0 +1,5 @@
1
+ import { TouchableHighlight as NativeTouchableHighlight } from 'react-native'
2
+
3
+ import { createUnistylesTouchableHighlight } from '../../core'
4
+
5
+ export const TouchableHighlight = createUnistylesTouchableHighlight(NativeTouchableHighlight)
@@ -0,0 +1,47 @@
1
+ import type { ActivityIndicator } from 'react-native'
2
+
3
+ import React from 'react'
4
+
5
+ import { isAndroid } from '../common'
6
+ import { UnistylesShadowRegistry } from '../specs'
7
+ import { copyComponentProperties } from '../utils'
8
+ import { passForwardedRef } from './passForwardRef'
9
+ import { maybeWarnAboutMultipleUnistyles } from './warn'
10
+
11
+ const getWrapperHandle = (ref: any) => {
12
+ const spinner = ref?.__internalInstanceHandle
13
+
14
+ return {
15
+ __internalInstanceHandle: isAndroid ? spinner?.return?.return : spinner?.return,
16
+ }
17
+ }
18
+
19
+ export const createUnistylesActivityIndicator = (Component: typeof ActivityIndicator) => {
20
+ const UnistylesActivityIndicator = (props: any) => {
21
+ return (
22
+ <Component
23
+ {...props}
24
+ ref={(ref: unknown) => {
25
+ maybeWarnAboutMultipleUnistyles(props.style, 'ActivityIndicator')
26
+
27
+ const wrapperHandle = getWrapperHandle(ref)
28
+
29
+ return passForwardedRef(
30
+ ref,
31
+ props.ref,
32
+ () => {
33
+ // @ts-ignore this is hidden from TS
34
+ UnistylesShadowRegistry.add(wrapperHandle, props.style)
35
+ },
36
+ () => {
37
+ // @ts-ignore this is hidden from TS
38
+ UnistylesShadowRegistry.remove(wrapperHandle)
39
+ },
40
+ )
41
+ }}
42
+ />
43
+ )
44
+ }
45
+
46
+ return copyComponentProperties(Component, UnistylesActivityIndicator)
47
+ }
@@ -1,12 +1,12 @@
1
1
  import type { ViewStyle } from 'react-native'
2
2
 
3
- import React from 'react'
3
+ import React, { useCallback, useLayoutEffect, useRef } from 'react'
4
4
 
5
5
  import type { UnistylesValues } from '../types'
6
6
 
7
7
  import { copyComponentProperties } from '../utils'
8
+ import * as unistyles from '../web/services'
8
9
  import { isServer } from '../web/utils'
9
- import { createUnistylesRef } from '../web/utils/createUnistylesRef'
10
10
  import { getClassName } from './getClassname'
11
11
  import { maybeWarnAboutMultipleUnistyles } from './warn'
12
12
 
@@ -18,28 +18,59 @@ type ComponentProps = {
18
18
  [K in StyleProp]?: UnistylesValues
19
19
  }
20
20
 
21
- const buildUnistylesProps = (Component: any, props: ComponentProps, forwardedRef: React.ForwardedRef<unknown>) => {
21
+ const buildUnistylesProps = (Component: any, props: ComponentProps) => {
22
22
  const componentStyleProps = ['style' as const, ...STYLE_PROPS.filter((styleProp) => styleProp in props)]
23
- const classNames = Object.fromEntries(
24
- componentStyleProps.map((styleProp) => [styleProp, getClassName(props[styleProp])]),
25
- )
26
- const refs = componentStyleProps.map((styleProp) => {
27
- return createUnistylesRef(classNames[styleProp], styleProp === 'style' ? forwardedRef : undefined)
28
- })
29
23
 
30
24
  componentStyleProps.forEach((styleProp) => {
31
25
  maybeWarnAboutMultipleUnistyles(props[styleProp] as ViewStyle, Component.displayName)
32
26
  })
33
27
 
34
- return {
35
- ...classNames,
36
- ref: isServer() ? undefined : (componentRef: any) => refs.forEach((ref) => ref?.(componentRef)),
28
+ return Object.fromEntries(componentStyleProps.map((styleProp) => [styleProp, getClassName(props[styleProp])]))
29
+ }
30
+
31
+ const assignRef = (ref: React.Ref<unknown> | undefined, value: unknown) => {
32
+ if (typeof ref === 'function') {
33
+ ref(value)
34
+ } else if (ref) {
35
+ ref.current = value
37
36
  }
38
37
  }
39
38
 
40
39
  export const createUnistylesElement = (Component: any) => {
41
- const UnistylesComponent = (props: any) => {
42
- return <Component {...props} {...buildUnistylesProps(Component, props, props.ref)} />
40
+ const UnistylesComponent = ({ ref, ...props }: any) => {
41
+ const classNames = buildUnistylesProps(Component, props)
42
+ const hashes = Object.values(classNames).map((className) => className?.[0].hash)
43
+ const stored = useRef({ node: null as unknown, hashes, ref })
44
+ // Stable for the component lifetime, as some components (e.g. ScrollView) call only the latest ref on unmount
45
+ const unistylesRef = useCallback((node: unknown) => {
46
+ const { shadowRegistry } = unistyles.services
47
+
48
+ stored.current.hashes.forEach((hash) =>
49
+ node ? shadowRegistry.add(node, hash) : shadowRegistry.remove(stored.current.node, hash),
50
+ )
51
+ stored.current.node = node
52
+ assignRef(stored.current.ref, node)
53
+ }, [])
54
+
55
+ // React won't call a stable ref again, so apply style and ref changes after commit
56
+ useLayoutEffect(() => {
57
+ const { shadowRegistry } = unistyles.services
58
+ const { node, hashes: previousHashes, ref: previousRef } = stored.current
59
+
60
+ if (previousHashes.join() !== hashes.join()) {
61
+ previousHashes.forEach((hash) => shadowRegistry.remove(node, hash))
62
+ hashes.forEach((hash) => shadowRegistry.add(node, hash))
63
+ }
64
+
65
+ if (previousRef !== ref) {
66
+ assignRef(previousRef, null)
67
+ assignRef(ref, node)
68
+ }
69
+
70
+ stored.current = { node, hashes, ref }
71
+ })
72
+
73
+ return <Component {...props} {...classNames} ref={isServer() ? undefined : unistylesRef} />
43
74
  }
44
75
 
45
76
  return copyComponentProperties(Component, UnistylesComponent)