zyzz 0.0.20 → 0.0.22

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 (298) hide show
  1. package/Zyzz.podspec +16 -0
  2. package/dist/Style.d.ts +10 -1
  3. package/dist/Style.d.ts.map +1 -1
  4. package/dist/Style.js +1 -5
  5. package/dist/Style.js.map +1 -1
  6. package/dist/babel/NativeJsx.d.ts.map +1 -1
  7. package/dist/babel/NativeJsx.js +204 -12
  8. package/dist/babel/NativeJsx.js.map +1 -1
  9. package/dist/babel/index.d.ts +6 -2
  10. package/dist/babel/index.d.ts.map +1 -1
  11. package/dist/babel/index.js +10 -1
  12. package/dist/babel/index.js.map +1 -1
  13. package/dist/compiler/Graph.d.ts +3 -0
  14. package/dist/compiler/Graph.d.ts.map +1 -1
  15. package/dist/compiler/Graph.js +108 -37
  16. package/dist/compiler/Graph.js.map +1 -1
  17. package/dist/compiler/Native.d.ts +6 -3
  18. package/dist/compiler/Native.d.ts.map +1 -1
  19. package/dist/compiler/Native.js +142 -24
  20. package/dist/compiler/Native.js.map +1 -1
  21. package/dist/compiler/Source.d.ts +6 -0
  22. package/dist/compiler/Source.d.ts.map +1 -1
  23. package/dist/compiler/Source.js +80 -11
  24. package/dist/compiler/Source.js.map +1 -1
  25. package/dist/compiler/Transform.d.ts +4 -1
  26. package/dist/compiler/Transform.d.ts.map +1 -1
  27. package/dist/compiler/Transform.js +32 -46
  28. package/dist/compiler/Transform.js.map +1 -1
  29. package/dist/compiler/internal/Catalogs.d.ts.map +1 -1
  30. package/dist/compiler/internal/Catalogs.js +6 -1
  31. package/dist/compiler/internal/Catalogs.js.map +1 -1
  32. package/dist/compiler/internal/Compositions.d.ts.map +1 -1
  33. package/dist/compiler/internal/Compositions.js +5 -0
  34. package/dist/compiler/internal/Compositions.js.map +1 -1
  35. package/dist/compiler/internal/Configurations.d.ts +2 -0
  36. package/dist/compiler/internal/Configurations.d.ts.map +1 -1
  37. package/dist/compiler/internal/Configurations.js +23 -4
  38. package/dist/compiler/internal/Configurations.js.map +1 -1
  39. package/dist/compiler/internal/Contract.d.ts +4 -1
  40. package/dist/compiler/internal/Contract.d.ts.map +1 -1
  41. package/dist/compiler/internal/Contract.js +97 -151
  42. package/dist/compiler/internal/Contract.js.map +1 -1
  43. package/dist/compiler/internal/Contributions.d.ts.map +1 -1
  44. package/dist/compiler/internal/Contributions.js +8 -4
  45. package/dist/compiler/internal/Contributions.js.map +1 -1
  46. package/dist/compiler/internal/Descriptors.d.ts.map +1 -1
  47. package/dist/compiler/internal/Descriptors.js +11 -2
  48. package/dist/compiler/internal/Descriptors.js.map +1 -1
  49. package/dist/compiler/internal/Dynamic.d.ts +1 -1
  50. package/dist/compiler/internal/Dynamic.d.ts.map +1 -1
  51. package/dist/compiler/internal/Dynamic.js +5 -5
  52. package/dist/compiler/internal/Dynamic.js.map +1 -1
  53. package/dist/compiler/internal/Names.d.ts +5 -0
  54. package/dist/compiler/internal/Names.d.ts.map +1 -0
  55. package/dist/compiler/internal/Names.js +37 -0
  56. package/dist/compiler/internal/Names.js.map +1 -0
  57. package/dist/compiler/internal/NativeBindings.d.ts +24 -26
  58. package/dist/compiler/internal/NativeBindings.d.ts.map +1 -1
  59. package/dist/compiler/internal/NativeBindings.js +61 -8
  60. package/dist/compiler/internal/NativeBindings.js.map +1 -1
  61. package/dist/compiler/internal/NativeMedia.d.ts +14 -0
  62. package/dist/compiler/internal/NativeMedia.d.ts.map +1 -0
  63. package/dist/compiler/internal/NativeMedia.js +287 -0
  64. package/dist/compiler/internal/NativeMedia.js.map +1 -0
  65. package/dist/compiler/internal/NativeVars.d.ts +28 -0
  66. package/dist/compiler/internal/NativeVars.d.ts.map +1 -0
  67. package/dist/compiler/internal/NativeVars.js +157 -0
  68. package/dist/compiler/internal/NativeVars.js.map +1 -0
  69. package/dist/compiler/internal/PackedStyles.d.ts +2 -0
  70. package/dist/compiler/internal/PackedStyles.d.ts.map +1 -1
  71. package/dist/compiler/internal/PackedStyles.js +2 -0
  72. package/dist/compiler/internal/PackedStyles.js.map +1 -1
  73. package/dist/compiler/internal/Selectors.d.ts +1 -1
  74. package/dist/compiler/internal/Selectors.d.ts.map +1 -1
  75. package/dist/compiler/internal/Selectors.js +5 -2
  76. package/dist/compiler/internal/Selectors.js.map +1 -1
  77. package/dist/compiler/internal/Stylesheets.js +2 -2
  78. package/dist/compiler/internal/Stylesheets.js.map +1 -1
  79. package/dist/compiler/internal/Themes.d.ts +22 -1
  80. package/dist/compiler/internal/Themes.d.ts.map +1 -1
  81. package/dist/compiler/internal/Themes.js +120 -4
  82. package/dist/compiler/internal/Themes.js.map +1 -1
  83. package/dist/compiler/internal/Vars.d.ts +3 -1
  84. package/dist/compiler/internal/Vars.d.ts.map +1 -1
  85. package/dist/compiler/internal/Vars.js +14 -3
  86. package/dist/compiler/internal/Vars.js.map +1 -1
  87. package/dist/default.d.ts +4 -4
  88. package/dist/default.d.ts.map +1 -1
  89. package/dist/default.js +9 -9
  90. package/dist/default.js.map +2 -2
  91. package/dist/default.js.zyzz.json +1 -1
  92. package/dist/internal/Authoring.d.ts.map +1 -1
  93. package/dist/internal/Authoring.js +8 -3
  94. package/dist/internal/Authoring.js.map +1 -1
  95. package/dist/internal/Binding.d.ts +4 -0
  96. package/dist/internal/Binding.d.ts.map +1 -1
  97. package/dist/internal/Binding.js +2 -0
  98. package/dist/internal/Binding.js.map +1 -1
  99. package/dist/internal/Completion.d.ts +1 -1
  100. package/dist/internal/Completion.d.ts.map +1 -1
  101. package/dist/internal/Configuration.d.ts +2 -2
  102. package/dist/internal/Configuration.d.ts.map +1 -1
  103. package/dist/internal/Configuration.js +4 -2
  104. package/dist/internal/Configuration.js.map +1 -1
  105. package/dist/internal/Identity.d.ts +3 -3
  106. package/dist/internal/Identity.d.ts.map +1 -1
  107. package/dist/internal/Identity.js +11 -9
  108. package/dist/internal/Identity.js.map +1 -1
  109. package/dist/internal/Targets.d.ts.map +1 -1
  110. package/dist/internal/Targets.js +2 -0
  111. package/dist/internal/Targets.js.map +1 -1
  112. package/dist/internal/Theme.js +2 -2
  113. package/dist/internal/Theme.js.map +1 -1
  114. package/dist/internal/Token.d.ts +3 -1
  115. package/dist/internal/Token.d.ts.map +1 -1
  116. package/dist/internal/Token.js +9 -2
  117. package/dist/internal/Token.js.map +1 -1
  118. package/dist/internal/Value.d.ts +7 -0
  119. package/dist/internal/Value.d.ts.map +1 -1
  120. package/dist/internal/Value.js.map +1 -1
  121. package/dist/internal/VariableSets.js +1 -1
  122. package/dist/internal/VariableSets.js.map +1 -1
  123. package/dist/metro/Graph.d.ts +22 -7
  124. package/dist/metro/Graph.d.ts.map +1 -1
  125. package/dist/metro/Graph.js +179 -42
  126. package/dist/metro/Graph.js.map +1 -1
  127. package/dist/metro/Watch.d.ts +28 -4
  128. package/dist/metro/Watch.d.ts.map +1 -1
  129. package/dist/metro/Watch.js +39 -7
  130. package/dist/metro/Watch.js.map +1 -1
  131. package/dist/metro/index.d.ts +15 -4
  132. package/dist/metro/index.d.ts.map +1 -1
  133. package/dist/metro/index.js +27 -0
  134. package/dist/metro/index.js.map +1 -1
  135. package/dist/metro/transformer.d.ts +5 -1
  136. package/dist/metro/transformer.d.ts.map +1 -1
  137. package/dist/metro/transformer.js +5 -3
  138. package/dist/metro/transformer.js.map +1 -1
  139. package/dist/node/Host.d.ts.map +1 -1
  140. package/dist/node/Host.js +2 -0
  141. package/dist/node/Host.js.map +1 -1
  142. package/dist/react-native/StyleSheet.d.ts +3 -2
  143. package/dist/react-native/StyleSheet.d.ts.map +1 -1
  144. package/dist/react-native/StyleSheet.js +17 -34
  145. package/dist/react-native/StyleSheet.js.map +1 -1
  146. package/dist/react-native/index.d.ts +1 -1
  147. package/dist/react-native/index.d.ts.map +1 -1
  148. package/dist/react-native/index.js +1 -1
  149. package/dist/react-native/index.js.map +1 -1
  150. package/dist/react-native/index.native.d.ts +5 -0
  151. package/dist/react-native/index.native.js +20 -0
  152. package/dist/react-native/index.native.js.map +7 -0
  153. package/dist/react-native/internal/Calculation.d.ts +7 -0
  154. package/dist/react-native/internal/Calculation.d.ts.map +1 -0
  155. package/dist/react-native/internal/Calculation.js +134 -0
  156. package/dist/react-native/internal/Calculation.js.map +1 -0
  157. package/dist/react-native/internal/Device.js +191 -0
  158. package/dist/react-native/internal/Device.js.map +7 -0
  159. package/dist/react-native/internal/NativeZyzz.js +7 -0
  160. package/dist/react-native/internal/NativeZyzz.js.map +7 -0
  161. package/dist/react-native/internal/Scalar.d.ts.map +1 -1
  162. package/dist/react-native/internal/Scalar.js +9 -2
  163. package/dist/react-native/internal/Scalar.js.map +1 -1
  164. package/dist/react-native/internal/Store.d.ts +32 -0
  165. package/dist/react-native/internal/Store.d.ts.map +1 -0
  166. package/dist/react-native/internal/Store.js +57 -0
  167. package/dist/react-native/internal/Store.js.map +1 -0
  168. package/dist/react-native/internal/Tokens.d.ts +21 -0
  169. package/dist/react-native/internal/Tokens.d.ts.map +1 -0
  170. package/dist/react-native/internal/Tokens.js +58 -0
  171. package/dist/react-native/internal/Tokens.js.map +1 -0
  172. package/dist/react-native/internal/Viewport.d.ts +6 -0
  173. package/dist/react-native/internal/Viewport.d.ts.map +1 -0
  174. package/dist/react-native/internal/Viewport.js +4 -0
  175. package/dist/react-native/internal/Viewport.js.map +1 -0
  176. package/dist/react-native/react.d.ts +74 -11
  177. package/dist/react-native/react.d.ts.map +1 -1
  178. package/dist/react-native/react.js +111 -12
  179. package/dist/react-native/react.js.map +1 -1
  180. package/dist/react-native/reanimated.d.ts +39 -0
  181. package/dist/react-native/reanimated.d.ts.map +1 -0
  182. package/dist/react-native/reanimated.js +76 -0
  183. package/dist/react-native/reanimated.js.map +1 -0
  184. package/dist/runtime/NativeContext.d.ts +10 -1
  185. package/dist/runtime/NativeContext.d.ts.map +1 -1
  186. package/dist/runtime/NativeContext.js +67 -14
  187. package/dist/runtime/NativeContext.js.map +1 -1
  188. package/dist/runtime/NativeDynamic.d.ts +3 -2
  189. package/dist/runtime/NativeDynamic.d.ts.map +1 -1
  190. package/dist/runtime/NativeDynamic.js +32 -7
  191. package/dist/runtime/NativeDynamic.js.map +1 -1
  192. package/dist/runtime/NativeStatic.d.ts +23 -0
  193. package/dist/runtime/NativeStatic.d.ts.map +1 -0
  194. package/dist/runtime/NativeStatic.js +106 -0
  195. package/dist/runtime/NativeStatic.js.map +1 -0
  196. package/dist/runtime/NativeVars.d.ts +53 -0
  197. package/dist/runtime/NativeVars.d.ts.map +1 -0
  198. package/dist/runtime/NativeVars.js +77 -0
  199. package/dist/runtime/NativeVars.js.map +1 -0
  200. package/dist/runtime/index.d.ts +4 -0
  201. package/dist/runtime/index.d.ts.map +1 -1
  202. package/dist/runtime/index.js +4 -0
  203. package/dist/runtime/index.js.map +1 -1
  204. package/dist/runtime/internal/NativeMedia.d.ts +25 -0
  205. package/dist/runtime/internal/NativeMedia.d.ts.map +1 -0
  206. package/dist/runtime/internal/NativeMedia.js +36 -0
  207. package/dist/runtime/internal/NativeMedia.js.map +1 -0
  208. package/dist/variable.js +1 -1
  209. package/dist/variable.js.map +1 -1
  210. package/dist/vite/index.d.ts.map +1 -1
  211. package/dist/vite/index.js +43 -47
  212. package/dist/vite/index.js.map +1 -1
  213. package/dist/web/Css.d.ts +7 -2
  214. package/dist/web/Css.d.ts.map +1 -1
  215. package/dist/web/Css.js +76 -57
  216. package/dist/web/Css.js.map +1 -1
  217. package/dist/web/internal/ClassName.d.ts +13 -2
  218. package/dist/web/internal/ClassName.d.ts.map +1 -1
  219. package/dist/web/internal/ClassName.js +17 -30
  220. package/dist/web/internal/ClassName.js.map +1 -1
  221. package/dist/web/internal/Themes.d.ts +3 -2
  222. package/dist/web/internal/Themes.d.ts.map +1 -1
  223. package/dist/web/internal/Themes.js +54 -28
  224. package/dist/web/internal/Themes.js.map +1 -1
  225. package/dist/web/page.d.ts +2 -0
  226. package/dist/web/page.d.ts.map +1 -1
  227. package/native/NativeZyzz.cpp +215 -0
  228. package/native/NativeZyzz.h +52 -0
  229. package/native/ZyzzSpecJSI.h +65 -0
  230. package/native/android/CMakeLists.txt +8 -0
  231. package/native/android/ZyzzSpec-generated.cpp +50 -0
  232. package/native/android/ZyzzSpec.h +31 -0
  233. package/native/ios/ZyzzModuleProvider.mm +13 -0
  234. package/package.json +39 -1
  235. package/react-native.config.ts +14 -0
  236. package/src/Style.ts +15 -9
  237. package/src/babel/NativeJsx.ts +305 -28
  238. package/src/babel/index.ts +21 -3
  239. package/src/compiler/Graph.ts +135 -46
  240. package/src/compiler/Native.ts +158 -26
  241. package/src/compiler/Source.ts +115 -10
  242. package/src/compiler/Transform.ts +42 -60
  243. package/src/compiler/internal/Catalogs.ts +9 -1
  244. package/src/compiler/internal/Compositions.ts +7 -0
  245. package/src/compiler/internal/Configurations.ts +27 -4
  246. package/src/compiler/internal/Contract.ts +130 -260
  247. package/src/compiler/internal/Contributions.ts +8 -6
  248. package/src/compiler/internal/Descriptors.ts +12 -8
  249. package/src/compiler/internal/Dynamic.ts +14 -9
  250. package/src/compiler/internal/Names.ts +48 -0
  251. package/src/compiler/internal/NativeBindings.ts +98 -15
  252. package/src/compiler/internal/NativeMedia.ts +342 -0
  253. package/src/compiler/internal/NativeVars.ts +228 -0
  254. package/src/compiler/internal/PackedStyles.ts +4 -0
  255. package/src/compiler/internal/Selectors.ts +6 -1
  256. package/src/compiler/internal/Stylesheets.ts +2 -2
  257. package/src/compiler/internal/Themes.ts +193 -3
  258. package/src/compiler/internal/Vars.ts +21 -2
  259. package/src/default.ts +9 -10
  260. package/src/internal/Authoring.ts +8 -2
  261. package/src/internal/Binding.ts +5 -0
  262. package/src/internal/Completion.ts +6 -3
  263. package/src/internal/Configuration.ts +7 -4
  264. package/src/internal/Identity.ts +14 -12
  265. package/src/internal/Targets.ts +2 -0
  266. package/src/internal/Theme.ts +2 -2
  267. package/src/internal/Token.ts +11 -1
  268. package/src/internal/Value.ts +20 -0
  269. package/src/internal/VariableSets.ts +1 -1
  270. package/src/metro/Graph.ts +235 -50
  271. package/src/metro/Watch.ts +95 -10
  272. package/src/metro/index.ts +62 -4
  273. package/src/metro/transformer.ts +21 -11
  274. package/src/node/Host.ts +3 -0
  275. package/src/react-native/StyleSheet.ts +28 -44
  276. package/src/react-native/index.native.ts +10 -0
  277. package/src/react-native/index.ts +1 -1
  278. package/src/react-native/internal/Calculation.ts +159 -0
  279. package/src/react-native/internal/Device.ts +231 -0
  280. package/src/react-native/internal/NativeZyzz.ts +20 -0
  281. package/src/react-native/internal/Scalar.ts +13 -2
  282. package/src/react-native/internal/Store.ts +78 -0
  283. package/src/react-native/internal/Tokens.ts +85 -0
  284. package/src/react-native/internal/Viewport.ts +8 -0
  285. package/src/react-native/react.ts +211 -19
  286. package/src/react-native/reanimated.ts +162 -0
  287. package/src/runtime/NativeContext.ts +88 -17
  288. package/src/runtime/NativeDynamic.ts +35 -10
  289. package/src/runtime/NativeStatic.ts +145 -0
  290. package/src/runtime/NativeVars.ts +189 -0
  291. package/src/runtime/index.ts +6 -0
  292. package/src/runtime/internal/NativeMedia.ts +63 -0
  293. package/src/variable.ts +1 -1
  294. package/src/vite/index.ts +52 -60
  295. package/src/web/Css.ts +123 -74
  296. package/src/web/internal/ClassName.ts +31 -36
  297. package/src/web/internal/Themes.ts +62 -39
  298. package/src/web/page.ts +2 -0
@@ -0,0 +1,134 @@
1
+ /** Resolves number/length arithmetic, rejecting relative units and incompatible dimensions. */
2
+ export function length(input, options) {
3
+ const pattern = /\s*(?:(\d+(?:\.\d+)?|\.\d+)(?:[eE]([+-]?\d+))?(px|rem)?|(calc)|([()+*/-]))/giy;
4
+ const positions = [];
5
+ const tokens = [];
6
+ let offset = 0;
7
+ while (offset < input.trimEnd().length) {
8
+ pattern.lastIndex = offset;
9
+ const match = pattern.exec(input);
10
+ if (!match)
11
+ throw new Error('Unsupported native calc expression.');
12
+ offset = pattern.lastIndex;
13
+ positions.push(match.index + match[0].search(/\S/));
14
+ if (positions.length > 512)
15
+ throw new Error('Native calc exceeds 512 tokens.');
16
+ if (match[1] === undefined) {
17
+ tokens.push(match[4]?.toLowerCase() ?? match[5]);
18
+ continue;
19
+ }
20
+ const unit = match[3]?.toLowerCase();
21
+ const scale = unit === 'rem'
22
+ ? options.units?.rem
23
+ : unit === 'px'
24
+ ? (options.units?.px ?? 1)
25
+ : 1;
26
+ if (scale === undefined)
27
+ throw new Error('Provide units.rem for rem lengths.');
28
+ tokens.push({
29
+ amount: Number(`${match[1]}${match[2] === undefined ? '' : `e${match[2]}`}`) *
30
+ scale,
31
+ length: unit !== undefined,
32
+ });
33
+ }
34
+ let cursor = 0;
35
+ let depth = 0;
36
+ function atom() {
37
+ if (++depth > 64)
38
+ throw new Error('Native calc exceeds 64 nested operations.');
39
+ try {
40
+ return readAtom();
41
+ }
42
+ finally {
43
+ depth--;
44
+ }
45
+ }
46
+ function readAtom() {
47
+ const token = tokens[cursor++];
48
+ if (token === '+' || token === '-') {
49
+ const value = atom();
50
+ return { ...value, amount: token === '-' ? -value.amount : value.amount };
51
+ }
52
+ if (token === 'calc' || token === '(') {
53
+ if (token === 'calc' && tokens[cursor++] !== '(')
54
+ throw new Error('Unsupported native calc expression.');
55
+ const value = sum();
56
+ if (tokens[cursor++] !== ')')
57
+ throw new Error('Unsupported native calc expression.');
58
+ return value;
59
+ }
60
+ if (!token || typeof token === 'string')
61
+ throw new Error('Unsupported native calc expression.');
62
+ return token;
63
+ }
64
+ function product() {
65
+ let value = atom();
66
+ while (tokens[cursor] === '*' || tokens[cursor] === '/') {
67
+ const operator = tokens[cursor++];
68
+ const right = atom();
69
+ if ((operator === '*' && value.length && right.length) ||
70
+ (operator === '/' && (right.length || right.amount === 0)))
71
+ throw new Error('Native calc requires compatible number and length operands.');
72
+ value = {
73
+ amount: operator === '*'
74
+ ? value.amount * right.amount
75
+ : value.amount / right.amount,
76
+ length: value.length || right.length,
77
+ };
78
+ }
79
+ return value;
80
+ }
81
+ function sum() {
82
+ let value = product();
83
+ while (tokens[cursor] === '+' || tokens[cursor] === '-') {
84
+ const position = positions[cursor];
85
+ if (!/\s/.test(input[position - 1] ?? '') ||
86
+ !/\s/.test(input[position + 1] ?? ''))
87
+ throw new Error('Unsupported native calc expression.');
88
+ const operator = tokens[cursor++];
89
+ const right = product();
90
+ if (value.length !== right.length)
91
+ throw new Error('Native calc requires compatible number and length operands.');
92
+ value = {
93
+ amount: operator === '+'
94
+ ? value.amount + right.amount
95
+ : value.amount - right.amount,
96
+ length: value.length,
97
+ };
98
+ }
99
+ return value;
100
+ }
101
+ const value = atom();
102
+ if (cursor !== tokens.length ||
103
+ !value.length ||
104
+ !Number.isFinite(value.amount))
105
+ throw new Error('Native calc must resolve to one finite px or rem length.');
106
+ return value.amount;
107
+ }
108
+ /** Splits shorthand lengths while preserving spaces within calculations. */
109
+ export function parts(input) {
110
+ const result = [];
111
+ let depth = 0;
112
+ let start = 0;
113
+ const text = input.trim();
114
+ for (let index = 0; index < text.length; index++) {
115
+ const character = text[index];
116
+ if (character === '(')
117
+ depth++;
118
+ if (character === ')' && --depth < 0)
119
+ throw new Error('Unbalanced native calculation.');
120
+ if (depth > 64)
121
+ throw new Error('Native calc exceeds 64 nested operations.');
122
+ if (depth === 0 && /\s/.test(character)) {
123
+ if (index > start)
124
+ result.push(text.slice(start, index));
125
+ start = index + 1;
126
+ }
127
+ }
128
+ if (depth !== 0)
129
+ throw new Error('Unbalanced native calculation.');
130
+ if (start < text.length)
131
+ result.push(text.slice(start));
132
+ return result;
133
+ }
134
+ //# sourceMappingURL=Calculation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calculation.js","sourceRoot":"","sources":["../../../src/react-native/internal/Calculation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,191 @@
1
+ import * as NativeContext from "../../runtime/NativeContext.js";
2
+ import NativeZyzz from "./NativeZyzz.js";
3
+ import * as React from "react";
4
+ import * as ReactNative from "react-native";
5
+ import * as Store from "./Store.js";
6
+ import * as Subscription from "../react.js";
7
+ import * as Viewport from "./Viewport.js";
8
+ function defineConfig(options = {}) {
9
+ const config = Subscription.defineConfig(options);
10
+ return Object.freeze({
11
+ ...config,
12
+ Provider: dimensions(config.Provider)
13
+ });
14
+ }
15
+ const Provider = dimensions(Subscription.Provider);
16
+ import { useStyles, useVars, withStyles } from "../react.js";
17
+ function dimensions(Component) {
18
+ return function WindowProvider(props) {
19
+ const window = ReactNative.useWindowDimensions();
20
+ const viewport = React.useMemo(
21
+ () => ({ height: window.height, width: window.width }),
22
+ [window.height, window.width]
23
+ );
24
+ return React.createElement(
25
+ Viewport.context.Provider,
26
+ { value: viewport },
27
+ React.createElement(Component, props)
28
+ );
29
+ };
30
+ }
31
+ const useNativeStyles = useBindings;
32
+ function useBindings() {
33
+ const owner = React.useContext(Store.context);
34
+ const [fallback] = React.useState(
35
+ () => Store.create({
36
+ colorScheme: "light",
37
+ viewport: ReactNative.Dimensions.get("window")
38
+ })
39
+ );
40
+ const store = owner ?? fallback;
41
+ const [, render] = React.useReducer((count) => count + 1, 0);
42
+ const [refs] = React.useState(
43
+ () => /* @__PURE__ */ new Map()
44
+ );
45
+ React.useLayoutEffect(() => {
46
+ for (const [instance, entry] of refs) {
47
+ if (entry.active) continue;
48
+ entry.release();
49
+ refs.delete(instance);
50
+ }
51
+ });
52
+ React.useLayoutEffect(
53
+ () => () => {
54
+ for (const entry of refs.values()) entry.release();
55
+ refs.clear();
56
+ },
57
+ [refs]
58
+ );
59
+ return {
60
+ style: NativeContext.application,
61
+ view: (props) => {
62
+ const snapshot = store.getSnapshot();
63
+ const selected = NativeContext.resolve(props.style, snapshot);
64
+ const initial = NativeContext.key(props.style, snapshot);
65
+ return {
66
+ ...props,
67
+ ref: (value) => {
68
+ const ref = props.ref;
69
+ if (!value) return;
70
+ let entry = refs.get(value);
71
+ if (entry && entry.ref !== ref) {
72
+ entry.release();
73
+ refs.delete(value);
74
+ entry = void 0;
75
+ }
76
+ if (!entry) {
77
+ const release = typeof ref === "function" ? ref(value) : void 0;
78
+ if (ref && typeof ref !== "function") ref.current = value;
79
+ entry = {
80
+ active: true,
81
+ ref,
82
+ release: () => {
83
+ if (typeof release === "function") release();
84
+ else if (typeof ref === "function") ref(null);
85
+ else if (ref) ref.current = null;
86
+ }
87
+ };
88
+ refs.set(value, entry);
89
+ }
90
+ entry.active = true;
91
+ const attached = entry;
92
+ const instance = value.getNativeScrollRef?.() ?? value;
93
+ const node = instance.__internalInstanceHandle?.stateNode?.node;
94
+ const detach = (() => {
95
+ if (!initial.length && typeof selected !== "function")
96
+ return () => {
97
+ };
98
+ if (!NativeZyzz || !node || !selective(selected)) {
99
+ const unsubscribe = store.subscribe(render);
100
+ if (store.getSnapshot() !== snapshot) render();
101
+ return unsubscribe;
102
+ }
103
+ const id = NativeZyzz.attach(node, nativeProps(selected));
104
+ let previous = initial;
105
+ const read = (context) => {
106
+ const keys = NativeContext.key(props.style, context);
107
+ if (keys.length === previous.length && keys.every((key, index) => Object.is(key, previous[index])))
108
+ return { commit: () => {
109
+ } };
110
+ const selected2 = NativeContext.resolve(props.style, context);
111
+ if (!selective(selected2)) return { commit: render };
112
+ return {
113
+ commit: () => {
114
+ previous = keys;
115
+ },
116
+ patch: {
117
+ id,
118
+ props: nativeProps(selected2)
119
+ }
120
+ };
121
+ };
122
+ const current = read(store.getSnapshot());
123
+ if (current.patch) write([current.patch]);
124
+ current.commit();
125
+ const unbind = store.bind(read, write);
126
+ return () => {
127
+ unbind();
128
+ NativeZyzz.detach(id);
129
+ };
130
+ })();
131
+ const update = () => fallback.update({
132
+ colorScheme: "light",
133
+ viewport: ReactNative.Dimensions.get("window")
134
+ });
135
+ const contextual = initial.length > 0 || typeof selected === "function";
136
+ const subscription = owner || !contextual ? void 0 : ReactNative.Dimensions.addEventListener("change", update);
137
+ if (!owner && contextual) update();
138
+ return () => {
139
+ detach();
140
+ subscription?.remove();
141
+ attached.active = false;
142
+ };
143
+ },
144
+ style: selected
145
+ };
146
+ }
147
+ };
148
+ }
149
+ function selective(style) {
150
+ if (typeof style === "function") return false;
151
+ const value = ReactNative.StyleSheet.flatten(
152
+ style
153
+ );
154
+ return !value || ![
155
+ "aspectRatio",
156
+ "backgroundImage",
157
+ "backgroundPosition",
158
+ "backgroundRepeat",
159
+ "backgroundSize",
160
+ "boxShadow",
161
+ "experimental_backgroundImage",
162
+ "filter",
163
+ "fontVariant",
164
+ "transform",
165
+ "transformOrigin"
166
+ ].some((property) => property in value);
167
+ }
168
+ function nativeProps(style) {
169
+ const flattened = ReactNative.StyleSheet.flatten(
170
+ style
171
+ ) ?? {};
172
+ const result = { ...flattened };
173
+ for (const [name, value] of Object.entries(result)) {
174
+ if (name === "color" || name.endsWith("Color"))
175
+ result[name] = ReactNative.processColor(value);
176
+ }
177
+ return result;
178
+ }
179
+ function write(patches) {
180
+ NativeZyzz.update(patches);
181
+ }
182
+ export {
183
+ Provider,
184
+ defineConfig,
185
+ useNativeStyles,
186
+ useStyles,
187
+ useVars,
188
+ withStyles
189
+ };
190
+
191
+ //# sourceMappingURL=Device.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/react-native/internal/Device.ts"],
4
+ "sourcesContent": ["/** Supplies automatic window measurements for native React consumers. @module */\nimport type * as Config from '../../Config.js'\nimport * as NativeContext from '../../runtime/NativeContext.js'\nimport NativeZyzz from './NativeZyzz.js'\nimport * as React from 'react'\nimport * as ReactNative from 'react-native'\nimport * as Store from './Store.js'\nimport * as Subscription from '../react.js'\nimport * as Viewport from './Viewport.js'\n\n/** Creates native authoring helpers and a Provider with automatic window subscriptions. */\nexport function defineConfig<const options extends Config.create.Options = {}>(\n options: options & Parameters<typeof Config.create<options>>[0] = {} as never,\n): Subscription.defineConfig.ReturnType<options> {\n const config = Subscription.defineConfig<options>(options)\n return Object.freeze({\n ...config,\n Provider: dimensions(config.Provider),\n }) as Subscription.defineConfig.ReturnType<options>\n}\n\n/** Provides selected variables, appearance, and automatic native dimensions. */\nexport const Provider = dimensions(Subscription.Provider)\n\nexport { useStyles, useVars, withStyles } from '../react.js'\n\nfunction dimensions<props extends Subscription.Provider.Props>(\n Component: React.FunctionComponent<props>,\n): React.FunctionComponent<props> {\n return function WindowProvider(props: props) {\n const window = ReactNative.useWindowDimensions()\n const viewport = React.useMemo(\n () => ({ height: window.height, width: window.width }),\n [window.height, window.width],\n )\n return React.createElement(\n Viewport.context.Provider,\n { value: viewport },\n React.createElement(Component, props),\n )\n }\n}\n\n/** Compiler-only binding path, with React subscriptions for Expo Go. */\nexport const useNativeStyles = useBindings\n\ntype Instance = {\n readonly __internalInstanceHandle?:\n | {\n readonly stateNode?: { readonly node?: object | undefined } | undefined\n }\n | undefined\n readonly getNativeScrollRef?: (() => Instance) | undefined\n}\n\nfunction useBindings() {\n const owner = React.useContext(Store.context)\n const [fallback] = React.useState(() =>\n Store.create({\n colorScheme: 'light',\n viewport: ReactNative.Dimensions.get('window'),\n }),\n )\n const store = owner ?? fallback\n const [, render] = React.useReducer((count: number) => count + 1, 0)\n const [refs] = React.useState(\n () =>\n new Map<\n Instance,\n {\n active: boolean\n ref: React.Ref<Instance> | undefined\n release: () => void\n }\n >(),\n )\n React.useLayoutEffect(() => {\n for (const [instance, entry] of refs) {\n if (entry.active) continue\n entry.release()\n refs.delete(instance)\n }\n })\n React.useLayoutEffect(\n () => () => {\n for (const entry of refs.values()) entry.release()\n refs.clear()\n },\n [refs],\n )\n return {\n style: NativeContext.application,\n view: (props: Record<string, unknown>) => {\n const snapshot = store.getSnapshot()\n const selected = NativeContext.resolve(props.style, snapshot)\n const initial = NativeContext.key(props.style, snapshot)\n\n return {\n ...props,\n ref: (value: Instance | null) => {\n const ref = props.ref as React.Ref<Instance> | undefined\n if (!value) return\n let entry = refs.get(value)\n if (entry && entry.ref !== ref) {\n entry.release()\n refs.delete(value)\n entry = undefined\n }\n if (!entry) {\n const release = typeof ref === 'function' ? ref(value) : undefined\n if (ref && typeof ref !== 'function') ref.current = value\n entry = {\n active: true,\n ref,\n release: () => {\n if (typeof release === 'function') release()\n else if (typeof ref === 'function') ref(null)\n else if (ref) ref.current = null\n },\n }\n refs.set(value, entry)\n }\n entry.active = true\n const attached = entry\n\n const instance = value.getNativeScrollRef?.() ?? value\n const node = instance.__internalInstanceHandle?.stateNode?.node\n const detach = (() => {\n if (!initial.length && typeof selected !== 'function')\n return () => {}\n if (!NativeZyzz || !node || !selective(selected)) {\n const unsubscribe = store.subscribe(render)\n if (store.getSnapshot() !== snapshot) render()\n return unsubscribe\n }\n const id = NativeZyzz!.attach(node, nativeProps(selected))\n let previous = initial\n const read = (context: NativeContext.Context) => {\n const keys = NativeContext.key(props.style, context)\n if (\n keys.length === previous.length &&\n keys.every((key, index) => Object.is(key, previous[index]))\n )\n return { commit: () => {} }\n const selected = NativeContext.resolve(props.style, context)\n if (!selective(selected)) return { commit: render }\n return {\n commit: () => {\n previous = keys\n },\n patch: {\n id,\n props: nativeProps(selected),\n },\n }\n }\n // Context can change between render and committing the host ref.\n const current = read(store.getSnapshot())\n if (current.patch) write([current.patch])\n current.commit()\n const unbind = store.bind(read, write)\n return () => {\n unbind()\n NativeZyzz!.detach(id)\n }\n })()\n const update = () =>\n fallback.update({\n colorScheme: 'light',\n viewport: ReactNative.Dimensions.get('window'),\n })\n const contextual =\n initial.length > 0 || typeof selected === 'function'\n const subscription =\n owner || !contextual\n ? undefined\n : ReactNative.Dimensions.addEventListener('change', update)\n if (!owner && contextual) update()\n return () => {\n detach()\n subscription?.remove()\n attached.active = false\n }\n },\n style: selected,\n }\n },\n }\n}\n\nfunction selective(style: unknown): boolean {\n if (typeof style === 'function') return false\n const value = ReactNative.StyleSheet.flatten(\n style as ReactNative.StyleProp<ReactNative.ViewStyle>,\n )\n // Let React Native apply its processors to caller-owned representations.\n // Only color properties are processed by the selective writer below.\n return (\n !value ||\n ![\n 'aspectRatio',\n 'backgroundImage',\n 'backgroundPosition',\n 'backgroundRepeat',\n 'backgroundSize',\n 'boxShadow',\n 'experimental_backgroundImage',\n 'filter',\n 'fontVariant',\n 'transform',\n 'transformOrigin',\n ].some((property) => property in value)\n )\n}\n\nfunction nativeProps(style: unknown): Record<string, unknown> {\n const flattened =\n ReactNative.StyleSheet.flatten(\n style as ReactNative.StyleProp<ReactNative.ViewStyle>,\n ) ?? {}\n const result: Record<string, unknown> = { ...flattened }\n for (const [name, value] of Object.entries(result)) {\n if (name === 'color' || name.endsWith('Color'))\n result[name] = ReactNative.processColor(value as ReactNative.ColorValue)\n }\n return result\n}\n\nfunction write(patches: readonly Store.Patch[]) {\n NativeZyzz!.update(patches)\n}\n"],
5
+ "mappings": "AAEA,YAAY,mBAAmB;AAC/B,OAAO,gBAAgB;AACvB,YAAY,WAAW;AACvB,YAAY,iBAAiB;AAC7B,YAAY,WAAW;AACvB,YAAY,kBAAkB;AAC9B,YAAY,cAAc;AAGnB,SAAS,aACd,UAAkE,CAAC,GACpB;AAC/C,QAAM,SAAS,aAAa,aAAsB,OAAO;AACzD,SAAO,OAAO,OAAO;AAAA,IACnB,GAAG;AAAA,IACH,UAAU,WAAW,OAAO,QAAQ;AAAA,EACtC,CAAC;AACH;AAGO,MAAM,WAAW,WAAW,aAAa,QAAQ;AAExD,SAAS,WAAW,SAAS,kBAAkB;AAE/C,SAAS,WACP,WACgC;AAChC,SAAO,SAAS,eAAe,OAAc;AAC3C,UAAM,SAAS,YAAY,oBAAoB;AAC/C,UAAM,WAAW,MAAM;AAAA,MACrB,OAAO,EAAE,QAAQ,OAAO,QAAQ,OAAO,OAAO,MAAM;AAAA,MACpD,CAAC,OAAO,QAAQ,OAAO,KAAK;AAAA,IAC9B;AACA,WAAO,MAAM;AAAA,MACX,SAAS,QAAQ;AAAA,MACjB,EAAE,OAAO,SAAS;AAAA,MAClB,MAAM,cAAc,WAAW,KAAK;AAAA,IACtC;AAAA,EACF;AACF;AAGO,MAAM,kBAAkB;AAW/B,SAAS,cAAc;AACrB,QAAM,QAAQ,MAAM,WAAW,MAAM,OAAO;AAC5C,QAAM,CAAC,QAAQ,IAAI,MAAM;AAAA,IAAS,MAChC,MAAM,OAAO;AAAA,MACX,aAAa;AAAA,MACb,UAAU,YAAY,WAAW,IAAI,QAAQ;AAAA,IAC/C,CAAC;AAAA,EACH;AACA,QAAM,QAAQ,SAAS;AACvB,QAAM,CAAC,EAAE,MAAM,IAAI,MAAM,WAAW,CAAC,UAAkB,QAAQ,GAAG,CAAC;AACnE,QAAM,CAAC,IAAI,IAAI,MAAM;AAAA,IACnB,MACE,oBAAI,IAOF;AAAA,EACN;AACA,QAAM,gBAAgB,MAAM;AAC1B,eAAW,CAAC,UAAU,KAAK,KAAK,MAAM;AACpC,UAAI,MAAM,OAAQ;AAClB,YAAM,QAAQ;AACd,WAAK,OAAO,QAAQ;AAAA,IACtB;AAAA,EACF,CAAC;AACD,QAAM;AAAA,IACJ,MAAM,MAAM;AACV,iBAAW,SAAS,KAAK,OAAO,EAAG,OAAM,QAAQ;AACjD,WAAK,MAAM;AAAA,IACb;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AACA,SAAO;AAAA,IACL,OAAO,cAAc;AAAA,IACrB,MAAM,CAAC,UAAmC;AACxC,YAAM,WAAW,MAAM,YAAY;AACnC,YAAM,WAAW,cAAc,QAAQ,MAAM,OAAO,QAAQ;AAC5D,YAAM,UAAU,cAAc,IAAI,MAAM,OAAO,QAAQ;AAEvD,aAAO;AAAA,QACL,GAAG;AAAA,QACH,KAAK,CAAC,UAA2B;AAC/B,gBAAM,MAAM,MAAM;AAClB,cAAI,CAAC,MAAO;AACZ,cAAI,QAAQ,KAAK,IAAI,KAAK;AAC1B,cAAI,SAAS,MAAM,QAAQ,KAAK;AAC9B,kBAAM,QAAQ;AACd,iBAAK,OAAO,KAAK;AACjB,oBAAQ;AAAA,UACV;AACA,cAAI,CAAC,OAAO;AACV,kBAAM,UAAU,OAAO,QAAQ,aAAa,IAAI,KAAK,IAAI;AACzD,gBAAI,OAAO,OAAO,QAAQ,WAAY,KAAI,UAAU;AACpD,oBAAQ;AAAA,cACN,QAAQ;AAAA,cACR;AAAA,cACA,SAAS,MAAM;AACb,oBAAI,OAAO,YAAY,WAAY,SAAQ;AAAA,yBAClC,OAAO,QAAQ,WAAY,KAAI,IAAI;AAAA,yBACnC,IAAK,KAAI,UAAU;AAAA,cAC9B;AAAA,YACF;AACA,iBAAK,IAAI,OAAO,KAAK;AAAA,UACvB;AACA,gBAAM,SAAS;AACf,gBAAM,WAAW;AAEjB,gBAAM,WAAW,MAAM,qBAAqB,KAAK;AACjD,gBAAM,OAAO,SAAS,0BAA0B,WAAW;AAC3D,gBAAM,UAAU,MAAM;AACpB,gBAAI,CAAC,QAAQ,UAAU,OAAO,aAAa;AACzC,qBAAO,MAAM;AAAA,cAAC;AAChB,gBAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,QAAQ,GAAG;AAChD,oBAAM,cAAc,MAAM,UAAU,MAAM;AAC1C,kBAAI,MAAM,YAAY,MAAM,SAAU,QAAO;AAC7C,qBAAO;AAAA,YACT;AACA,kBAAM,KAAK,WAAY,OAAO,MAAM,YAAY,QAAQ,CAAC;AACzD,gBAAI,WAAW;AACf,kBAAM,OAAO,CAAC,YAAmC;AAC/C,oBAAM,OAAO,cAAc,IAAI,MAAM,OAAO,OAAO;AACnD,kBACE,KAAK,WAAW,SAAS,UACzB,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,GAAG,KAAK,SAAS,KAAK,CAAC,CAAC;AAE1D,uBAAO,EAAE,QAAQ,MAAM;AAAA,gBAAC,EAAE;AAC5B,oBAAMA,YAAW,cAAc,QAAQ,MAAM,OAAO,OAAO;AAC3D,kBAAI,CAAC,UAAUA,SAAQ,EAAG,QAAO,EAAE,QAAQ,OAAO;AAClD,qBAAO;AAAA,gBACL,QAAQ,MAAM;AACZ,6BAAW;AAAA,gBACb;AAAA,gBACA,OAAO;AAAA,kBACL;AAAA,kBACA,OAAO,YAAYA,SAAQ;AAAA,gBAC7B;AAAA,cACF;AAAA,YACF;AAEA,kBAAM,UAAU,KAAK,MAAM,YAAY,CAAC;AACxC,gBAAI,QAAQ,MAAO,OAAM,CAAC,QAAQ,KAAK,CAAC;AACxC,oBAAQ,OAAO;AACf,kBAAM,SAAS,MAAM,KAAK,MAAM,KAAK;AACrC,mBAAO,MAAM;AACX,qBAAO;AACP,yBAAY,OAAO,EAAE;AAAA,YACvB;AAAA,UACF,GAAG;AACH,gBAAM,SAAS,MACb,SAAS,OAAO;AAAA,YACd,aAAa;AAAA,YACb,UAAU,YAAY,WAAW,IAAI,QAAQ;AAAA,UAC/C,CAAC;AACH,gBAAM,aACJ,QAAQ,SAAS,KAAK,OAAO,aAAa;AAC5C,gBAAM,eACJ,SAAS,CAAC,aACN,SACA,YAAY,WAAW,iBAAiB,UAAU,MAAM;AAC9D,cAAI,CAAC,SAAS,WAAY,QAAO;AACjC,iBAAO,MAAM;AACX,mBAAO;AACP,0BAAc,OAAO;AACrB,qBAAS,SAAS;AAAA,UACpB;AAAA,QACF;AAAA,QACA,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,UAAU,OAAyB;AAC1C,MAAI,OAAO,UAAU,WAAY,QAAO;AACxC,QAAM,QAAQ,YAAY,WAAW;AAAA,IACnC;AAAA,EACF;AAGA,SACE,CAAC,SACD,CAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK,CAAC,aAAa,YAAY,KAAK;AAE1C;AAEA,SAAS,YAAY,OAAyC;AAC5D,QAAM,YACJ,YAAY,WAAW;AAAA,IACrB;AAAA,EACF,KAAK,CAAC;AACR,QAAM,SAAkC,EAAE,GAAG,UAAU;AACvD,aAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,MAAM,GAAG;AAClD,QAAI,SAAS,WAAW,KAAK,SAAS,OAAO;AAC3C,aAAO,IAAI,IAAI,YAAY,aAAa,KAA+B;AAAA,EAC3E;AACA,SAAO;AACT;AAEA,SAAS,MAAM,SAAiC;AAC9C,aAAY,OAAO,OAAO;AAC5B;",
6
+ "names": ["selected"]
7
+ }
@@ -0,0 +1,7 @@
1
+ import { TurboModuleRegistry } from "react-native";
2
+ var NativeZyzz_default = TurboModuleRegistry.get("NativeZyzz");
3
+ export {
4
+ NativeZyzz_default as default
5
+ };
6
+
7
+ //# sourceMappingURL=NativeZyzz.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/react-native/internal/NativeZyzz.ts"],
4
+ "sourcesContent": ["/** Private Fabric bridge for committed view bindings. @module */\nimport type { CodegenTypes, TurboModule } from 'react-native'\nimport { TurboModuleRegistry } from 'react-native'\n\n/** Codegen contract, consumed only by the native adapter. */\nexport interface Spec extends TurboModule {\n /** Links a mounted Fabric node and its rendered style. */\n readonly attach: (\n node: CodegenTypes.UnsafeObject,\n props: CodegenTypes.UnsafeObject,\n ) => number\n /** Releases a view binding. */\n readonly detach: (id: number) => void\n /** Reports live bindings and applied update batches. */\n readonly inspect: () => CodegenTypes.UnsafeObject\n /** Applies one batch of changed native styles. */\n readonly update: (updates: ReadonlyArray<CodegenTypes.UnsafeObject>) => void\n}\n\nexport default TurboModuleRegistry.get<Spec>('NativeZyzz')\n"],
5
+ "mappings": "AAEA,SAAS,2BAA2B;AAiBpC,IAAO,qBAAQ,oBAAoB,IAAU,YAAY;",
6
+ "names": []
7
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"Scalar.d.ts","sourceRoot":"","sources":["../../../src/react-native/internal/Scalar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scalar.d.ts","sourceRoot":"","sources":["../../../src/react-native/internal/Scalar.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  /** Converts portable scalar values without source parsing or device state. @module */
2
2
  import * as Color from './Color.js';
3
+ import * as Calculation from './Calculation.js';
3
4
  /** Portable property domains shared by static and dynamic native conversion. */
4
5
  export const properties = {
5
6
  alignContent: [
@@ -168,7 +169,7 @@ export function convert(kind, value, options, path) {
168
169
  fail('unsupported_value', 'Invalid native percentage.', path);
169
170
  }
170
171
  if (kind === 'box' || kind === 'boxSigned') {
171
- const values = typeof value === 'string' ? value.trim().split(/\s+/) : [value];
172
+ const values = typeof value === 'string' ? Calculation.parts(value) : [value];
172
173
  if (!values.length || values.length > 4)
173
174
  fail('unsupported_value', 'Use one to four scalar lengths.', path);
174
175
  for (const value of values)
@@ -181,8 +182,14 @@ export function convert(kind, value, options, path) {
181
182
  export function length(value, options, signed, path) {
182
183
  if (value === 0 || value === '0')
183
184
  return 0;
185
+ if (typeof value === 'string' && /^\s*calc\(/i.test(value)) {
186
+ const result = Calculation.length(value.trim(), options);
187
+ if (!signed && result < 0)
188
+ fail('unsupported_value', 'Converted length is outside the native property domain.', path);
189
+ return result;
190
+ }
184
191
  const match = typeof value === 'string' &&
185
- /^([+-]?(?:\d+(?:\.\d+)?|\.\d+))(px|rem)$/.exec(value);
192
+ /^([+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:[eE][+-]?\d+)?)(px|rem)$/.exec(value);
186
193
  if (!match)
187
194
  fail('unsupported_value', 'Use zero, px, or rem with an explicit rem conversion.', path);
188
195
  const scale = match[2] === 'px' ? (options.units?.px ?? 1) : options.units?.rem;
@@ -1 +1 @@
1
- {"version":3,"file":"Scalar.js","sourceRoot":"","sources":["../../../src/react-native/internal/Scalar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scalar.js","sourceRoot":"","sources":["../../../src/react-native/internal/Scalar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /** Owns scoped React subscriptions and committed native style readers. @module */
2
+ import type * as NativeContext from '../../runtime/NativeContext.js';
3
+ import * as React from 'react';
4
+ /** Internal view update payload shared with the native bridge. */
5
+ export type Patch = {
6
+ /** Runtime-local mounted view identifier. */
7
+ readonly id: number;
8
+ /** Processed native style properties. */
9
+ readonly props: Record<string, unknown>;
10
+ };
11
+ type Selection = {
12
+ readonly commit: () => void;
13
+ readonly patch?: Patch | undefined;
14
+ };
15
+ type Reader = (value: NativeContext.Context) => Selection;
16
+ type Writer = (patches: readonly Patch[]) => void;
17
+ /** Nearest configuration-owned selection. */
18
+ export declare const context: React.Context<{
19
+ bind(read: Reader, write: Writer): () => void;
20
+ getSnapshot: () => Readonly<NativeContext.Context>;
21
+ subscribe(listener: () => void): () => void;
22
+ update(value: NativeContext.Context): void;
23
+ } | undefined>;
24
+ /** Creates subscriptions owned by a Provider or a provider-free style consumer. */
25
+ export declare function create(initial: NativeContext.Context): {
26
+ bind(read: Reader, write: Writer): () => void;
27
+ getSnapshot: () => Readonly<NativeContext.Context>;
28
+ subscribe(listener: () => void): () => void;
29
+ update(value: NativeContext.Context): void;
30
+ };
31
+ export {};
32
+ //# sourceMappingURL=Store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../../src/react-native/internal/Store.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,KAAK,KAAK,aAAa,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,kEAAkE;AAClE,MAAM,MAAM,KAAK,GAAG;IAClB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACxC,CAAA;AAED,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;CACnC,CAAA;AACD,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,KAAK,SAAS,CAAA;AACzD,KAAK,MAAM,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,KAAK,IAAI,CAAA;AAEjD,6CAA6C;AAC7C,eAAO,MAAM,OAAO;eAWL,MAAM,SAAS,MAAM;;wBAOZ,MAAM,IAAI;kBAOhB,aAAa,CAAC,OAAO;cAvB3B,CAAA;AAEZ,mFAAmF;AACnF,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO;IAMjD,IAAI,OAAO,MAAM,SAAS,MAAM;IAMhC,WAAW;IACX,SAAS,WAAW,MAAM,IAAI;IAO9B,MAAM,QAAQ,aAAa,CAAC,OAAO;EAgCtC"}
@@ -0,0 +1,57 @@
1
+ import * as React from 'react';
2
+ /** Nearest configuration-owned selection. */
3
+ export const context = React.createContext(undefined);
4
+ /** Creates subscriptions owned by a Provider or a provider-free style consumer. */
5
+ export function create(initial) {
6
+ let snapshot = Object.freeze(initial);
7
+ const bindings = new Map();
8
+ const listeners = new Set();
9
+ return {
10
+ bind(read, write) {
11
+ bindings.set(read, write);
12
+ return () => {
13
+ bindings.delete(read);
14
+ };
15
+ },
16
+ getSnapshot: () => snapshot,
17
+ subscribe(listener) {
18
+ const entry = () => listener();
19
+ listeners.add(entry);
20
+ return () => {
21
+ listeners.delete(entry);
22
+ };
23
+ },
24
+ update(value) {
25
+ if (snapshot.colorScheme === value.colorScheme &&
26
+ snapshot.set === value.set &&
27
+ snapshot.viewport?.height === value.viewport?.height &&
28
+ snapshot.viewport?.width === value.viewport?.width)
29
+ return;
30
+ // Resolve every binding before applying a scope change that can fail.
31
+ const selections = [];
32
+ const batches = new Map();
33
+ for (const [read, write] of bindings) {
34
+ const selection = read(value);
35
+ selections.push(selection);
36
+ if (!selection.patch)
37
+ continue;
38
+ let batch = batches.get(write);
39
+ if (!batch) {
40
+ batch = [];
41
+ batches.set(write, batch);
42
+ }
43
+ batch.push(selection.patch);
44
+ }
45
+ for (const [write, patches] of batches)
46
+ write(patches);
47
+ snapshot = Object.freeze(value);
48
+ for (const selection of selections)
49
+ selection.commit();
50
+ // Subscriptions added during notification wait for the next change.
51
+ for (const listener of Array.from(listeners))
52
+ if (listeners.has(listener))
53
+ listener();
54
+ },
55
+ };
56
+ }
57
+ //# sourceMappingURL=Store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/react-native/internal/Store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAiB9B,6CAA6C;AAC7C,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAExC,SAAS,CAAC,CAAA;AAEZ,mFAAmF;AACnF,MAAM,UAAU,MAAM,CAAC,OAA8B;IACnD,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAA;IAEvC,OAAO;QACL,IAAI,CAAC,IAAY,EAAE,KAAa;YAC9B,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YACzB,OAAO,GAAG,EAAE;gBACV,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACvB,CAAC,CAAA;QACH,CAAC;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ;QAC3B,SAAS,CAAC,QAAoB;YAC5B,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;YAC9B,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACpB,OAAO,GAAG,EAAE;gBACV,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACzB,CAAC,CAAA;QACH,CAAC;QACD,MAAM,CAAC,KAA4B;YACjC,IACE,QAAQ,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;gBAC1C,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;gBAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE,MAAM;gBACpD,QAAQ,CAAC,QAAQ,EAAE,KAAK,KAAK,KAAK,CAAC,QAAQ,EAAE,KAAK;gBAElD,OAAM;YAER,sEAAsE;YACtE,MAAM,UAAU,GAAgB,EAAE,CAAA;YAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAA;YAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC7B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAC1B,IAAI,CAAC,SAAS,CAAC,KAAK;oBAAE,SAAQ;gBAC9B,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,KAAK,GAAG,EAAE,CAAA;oBACV,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;gBAC3B,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAC7B,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,OAAO;gBAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YAEtD,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC/B,KAAK,MAAM,SAAS,IAAI,UAAU;gBAAE,SAAS,CAAC,MAAM,EAAE,CAAA;YACtD,oEAAoE;YACpE,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC1C,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,QAAQ,EAAE,CAAA;QAC3C,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type * as Scalar from './Scalar.js';
2
+ import type * as Style from '../../Style.js';
3
+ import * as Token from '../../internal/Token.js';
4
+ /** Identifies values whose behavior requires a web target. */
5
+ export declare class UnsupportedError extends Error {
6
+ name: string;
7
+ }
8
+ /** Selects live token aliases and schemes without evaluating authored code. */
9
+ export declare function resolve(input: Style.Declaration['value'], options: resolve.Options): string | number;
10
+ /** Native token selection and explicit unit conversion. */
11
+ export declare namespace resolve {
12
+ /** Profile metadata and scheme independence shared by table preparation. */
13
+ type Options = Scalar.Options & {
14
+ readonly colorScheme: 'dark' | 'light';
15
+ readonly metadata: Token.Metadata | undefined;
16
+ readonly resolution: {
17
+ schemeIndependent: boolean;
18
+ };
19
+ };
20
+ }
21
+ //# sourceMappingURL=Tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tokens.d.ts","sourceRoot":"","sources":["../../../src/react-native/internal/Tokens.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAA;AAEhD,8DAA8D;AAC9D,qBAAa,gBAAiB,SAAQ,KAAK;IAChC,IAAI,SAA4B;CAC1C;AAED,+EAA+E;AAC/E,wBAAgB,OAAO,CACrB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EACjC,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,MAAM,GAAG,MAAM,CA2DjB;AAED,2DAA2D;AAC3D,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,4EAA4E;IAC5E,KAAK,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG;QAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAA;QACtC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAA;QAC7C,QAAQ,CAAC,UAAU,EAAE;YAAE,iBAAiB,EAAE,OAAO,CAAA;SAAE,CAAA;KACpD,CAAA;CACF"}