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
@@ -1 +1 @@
1
- {"version":3,"file":"NativeContext.js","sourceRoot":"","sources":["../../src/runtime/NativeContext.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAA;AAe7C,6FAA6F;AAC7F,MAAM,UAAU,MAAM,CACpB,MAAc,EACd,WAAkC;IAElC,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,KAAK,SAAS;QAC3D,CAAC,CAAC,MAAM,CAAC,OAAO;QAChB,CAAC,CAAC,SAAS,CAAA;IAEf,SAAS,MAAM,CAAC,OAAgB,EAAE,KAAa;QAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,WAAW,CAAA;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAA;QACrC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,GAAG,CAAC,CAAA;QAC1D,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAM,CAAC,CAAC,KAAK,CAAA;IACjD,CAAC;IACD,SAAS,KAAK,CAAC,KAAa;QAC1B,OAAO;YACL,KAAK,EAAE;gBACL,CAAC,OAAO,CAAC,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;aACxD;SACF,CAAA;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAA;IACxB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACvB,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,EAAE,CACjC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE;QACvC,KAAK,EAAE,MAAM;KACd,CAAC,CAAA;IACF,OAAO,QAAyC,CAAA;AAClD,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,OAAO,CACrB,KAAc,EACd,OAA4B,EAC5B,KAAe;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9E,IACE,KAAK;QACL,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;QAC1D,OAAO,IAAI,KAAK,EAChB,CAAC;QACD,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACpE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;QAC7B,IAAI,OAAO,MAAM,KAAK,UAAU;YAC9B,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,UAAU;QAC7B,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;IACjE,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"NativeContext.js","sourceRoot":"","sources":["../../src/runtime/NativeContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAA;AAElD,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAA;AAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAA;AAiBnD,6FAA6F;AAC7F,MAAM,UAAU,MAAM,CACpB,MAAc,EACd,WAAkC;IAElC,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,KAAK,SAAS;QAC3D,CAAC,CAAC,MAAM,CAAC,OAAO;QAChB,CAAC,CAAC,SAAS,CAAA;IACf,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CACpE,CAAA;IAED,SAAS,MAAM,CAAC,OAAgB,EAAE,KAAa;QAC7C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,WAAW,CAAA;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAA;QACrC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,GAAG,CAAC,CAAA;QAC1D,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAM,CAAC,CAAC,KAAK,CAAA;IACjD,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,WAAW,CAAC,IAAI,QAAQ,CAAA;QAC5D,IAAI,CAAC,KAAK;YACR,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,CAAC,GAAG,IAAI,WAAW,GAAG,CAAC,CAAA;QACvE,OAAO,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAA;IAClE,CAAC,CAAkC,CAAA;AACrC,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,OAAO,CACrB,KAAc,EACd,OAA4B,EAC5B,KAAe;IAEf,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9E,IACE,KAAK;QACL,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;QAC1D,OAAO,IAAI,KAAK,EAChB,CAAC;QACD,IAAI,CAAC,OAAO;YACV,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;QACpE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;QAC7B,IAAI,OAAO,MAAM,KAAK,UAAU;YAC9B,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;IACnD,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,UAAU;QAC7B,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;IACjE,OAAO,KAAK,CAAA;AACd,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,UAAU,CAGxB,OAA+B,EAC/B,QAAkB;IAElB,OAAO,IAAI,CACT,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QACjE,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;QACrE,OAAO,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC,EACD,CAAC,OAAO,EAAE,EAAE;QACV,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QACjE,OAAO,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;IAC5C,CAAC,CACqC,CAAA;AAC1C,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,KAAe;IACzD,OAAO;QACL,CAAC,OAAO,CAAC,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC;QAC/D,CAAC,UAAU,CAAC,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC;YAClC,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;YACtB,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;SACvB;KACF,CAAA;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,OAAgB;IAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAC9E,IACE,KAAK;QACL,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;QAC1D,UAAU,IAAI,KAAK,EACnB,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAA;QAC9B,IAAI,OAAO,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK;QACxD,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAClC,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,IAAI,CACX,MAAoD,EACpD,IAA8C;IAE9C,SAAS,KAAK,CAAC,KAAa;QAC1B,OAAO;YACL,KAAK,EAAE;gBACL,CAAC,OAAO,CAAC,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC;gBACvD,CAAC,UAAU,CAAC,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC;oBAClC,GAAG,IAAI,CAAC,OAAO,CAAC;oBAChB,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC;iBACvB;aACF;SACF,CAAA;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAA;IACxB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC7B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACvB,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,EAAE,CACjC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAChC,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;QAC5B,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;KAC9B,CAAC,CAAA;IACF,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -1,4 +1,4 @@
1
- /** Applies compiled native binding instructions to runtime scalar payloads. @module */
1
+ /** Selects ordered native fragments and applies runtime scalar payloads. @module */
2
2
  import * as Scalar from '../react-native/internal/Scalar.js';
3
3
  import type * as StyleSheet from '../react-native/StyleSheet.js';
4
4
  import * as Native from './Native.js';
@@ -28,11 +28,12 @@ export type Program = {
28
28
  readonly property: keyof typeof Scalar.properties;
29
29
  readonly parts: readonly (string | number | {
30
30
  readonly slot: string;
31
+ readonly number?: true;
31
32
  })[];
32
33
  })[];
33
34
  }[];
34
35
  };
35
- /** Binds generated instructions without running authoring callbacks or generating CSS. */
36
+ /** Applies generated rules with bounded static caching and fresh scalar results. */
36
37
  export declare function create(options: create.Options): Callable<Record<string, unknown>>;
37
38
  /** Compiler-owned metadata consumed by native dynamic application. */
38
39
  export declare namespace create {
@@ -1 +1 @@
1
- {"version":3,"file":"NativeDynamic.d.ts","sourceRoot":"","sources":["../../src/runtime/NativeDynamic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeDynamic.d.ts","sourceRoot":"","sources":["../../src/runtime/NativeDynamic.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- /** Applies compiled native binding instructions to runtime scalar payloads. @module */
1
+ /** Selects ordered native fragments and applies runtime scalar payloads. @module */
2
2
  import * as Scalar from '../react-native/internal/Scalar.js';
3
+ import * as Calculation from '../react-native/internal/Calculation.js';
3
4
  import * as Native from './Native.js';
4
- /** Binds generated instructions without running authoring callbacks or generating CSS. */
5
+ /** Applies generated rules with bounded static caching and fresh scalar results. */
5
6
  export function create(options) {
6
7
  function freeze(value) {
7
8
  if (Object.isFrozen(value))
@@ -13,6 +14,9 @@ export function create(options) {
13
14
  }
14
15
  for (const style of Object.values(options.styles))
15
16
  freeze(style);
17
+ const cache = Object.keys(options.program.slots).length || options.payloads?.length
18
+ ? undefined
19
+ : new Map();
16
20
  return (input = {}) => {
17
21
  const bindings = Object.create(null);
18
22
  const selected = Object.create(null);
@@ -37,7 +41,9 @@ export function create(options) {
37
41
  for (const [axis, choices] of Object.entries(options.axes)) {
38
42
  let value = Object.hasOwn(input, axis) ? input[axis] : undefined;
39
43
  if (value === undefined) {
40
- value = options.defaults[axis];
44
+ value = Object.hasOwn(options.defaults, axis)
45
+ ? options.defaults[axis]
46
+ : undefined;
41
47
  if (value != null && Object.hasOwn(options.defaultPayloads ?? {}, axis))
42
48
  value = { [String(value)]: options.defaultPayloads[axis] };
43
49
  }
@@ -46,7 +52,8 @@ export function create(options) {
46
52
  continue;
47
53
  }
48
54
  let payload;
49
- if (typeof value === 'object' && !Array.isArray(value)) {
55
+ const scoped = typeof value === 'object' && !Array.isArray(value);
56
+ if (scoped) {
50
57
  const entries = Object.entries(value);
51
58
  if (entries.length !== 1)
52
59
  throw new Native.SelectionError('Native payloads require exactly one choice.');
@@ -60,9 +67,13 @@ export function create(options) {
60
67
  const definition = options.payloads?.find((entry) => entry.axis === axis && entry.choice === choice);
61
68
  if (definition)
62
69
  bind(definition.slots[0], payload);
63
- else if (payload !== undefined)
70
+ else if (scoped)
64
71
  throw new Native.SelectionError(`Static native choice does not accept a payload: ${axis}.`);
65
72
  }
73
+ const key = cache ? JSON.stringify(Object.values(selected)) : undefined;
74
+ const cached = key === undefined ? undefined : cache?.get(key);
75
+ if (cached)
76
+ return { style: input.style ? [cached, input.style] : cached };
66
77
  const output = {};
67
78
  let lineHeight;
68
79
  for (const rule of options.program.rules) {
@@ -78,7 +89,14 @@ export function create(options) {
78
89
  lineHeight = undefined;
79
90
  continue;
80
91
  }
81
- const values = step.parts.map((part) => typeof part === 'object' ? bindings[part.slot] : part);
92
+ const values = step.parts.map((part) => {
93
+ if (typeof part !== 'object')
94
+ return part;
95
+ const value = bindings[part.slot];
96
+ if (value !== undefined && part.number && typeof value !== 'number')
97
+ throw new Native.SelectionError('Native numeric bindings require numbers.');
98
+ return value;
99
+ });
82
100
  if (values.some((value) => value === undefined))
83
101
  throw new Native.SelectionError('Native binding program references an unbound slot.');
84
102
  const value = values.length === 1 ? values[0] : values.join('');
@@ -89,7 +107,7 @@ export function create(options) {
89
107
  }
90
108
  const converted = Scalar.convert(Scalar.properties[property], value, options, [property]);
91
109
  if (property === 'padding' || property === 'margin') {
92
- const parts = typeof value === 'string' ? value.trim().split(/\s+/) : [value];
110
+ const parts = typeof value === 'string' ? Calculation.parts(value) : [value];
93
111
  const [top, right = top, bottom = top, left = right] = parts.map((part) => Scalar.length(part, options, property === 'margin', [property]));
94
112
  Object.assign(output, {
95
113
  [`${property}Top`]: top,
@@ -135,6 +153,13 @@ export function create(options) {
135
153
  ]);
136
154
  }
137
155
  const style = output;
156
+ if (cache && key !== undefined) {
157
+ Object.freeze(style);
158
+ // Bound retained selections without limiting the recipe's choice space.
159
+ if (cache.size >= 256)
160
+ cache.delete(cache.keys().next().value);
161
+ cache.set(key, style);
162
+ }
138
163
  return { style: input.style ? [style, input.style] : style };
139
164
  };
140
165
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NativeDynamic.js","sourceRoot":"","sources":["../../src/runtime/NativeDynamic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeDynamic.js","sourceRoot":"","sources":["../../src/runtime/NativeDynamic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /** Selects finite native variants from precompiled fragments. @module */
2
+ import * as Native from './Native.js';
3
+ /**
4
+ * Binds finite selection data without including dynamic value converters.
5
+ * @param options - Compiler-owned axes, defaults, ordered rules, and native fragments.
6
+ * @returns A callable preserving finite choices and caller-owned native overrides.
7
+ * @throws {Native.SelectionError} For invalid selections, missing fragments, or invalid line heights.
8
+ */
9
+ export declare function create<const axes extends Readonly<Record<string, readonly string[]>>>(options: create.Options<axes>): Native.Callable<axes>;
10
+ /** Compiler-owned finite metadata and converted native fragments. */
11
+ export declare namespace create {
12
+ /** Numeric steps are line-height multipliers resolved against the final font size. */
13
+ type Options<axes extends Readonly<Record<string, readonly string[]>> = Readonly<Record<string, readonly string[]>>> = Native.create.Options<axes> & {
14
+ /** Ordered rules containing static fragment names and line-height multipliers. */
15
+ readonly rules: readonly {
16
+ /** Axis names and allowed choices, all of which must match. */
17
+ readonly matches: readonly (readonly [string, readonly string[]])[];
18
+ /** Fragment names or line-height multipliers applied in order. */
19
+ readonly steps: readonly (string | number)[];
20
+ }[];
21
+ };
22
+ }
23
+ //# sourceMappingURL=NativeStatic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeStatic.d.ts","sourceRoot":"","sources":["../../src/runtime/NativeStatic.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAGrC;;;;;GAKG;AACH,wBAAgB,MAAM,CACpB,KAAK,CAAC,IAAI,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,EAC9D,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CA2GtD;AAED,qEAAqE;AACrE,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,sFAAsF;IACtF,KAAK,OAAO,CACV,IAAI,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,QAAQ,CACjE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAClC,IACC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;QAChC,kFAAkF;QAClF,QAAQ,CAAC,KAAK,EAAE,SAAS;YACvB,+DAA+D;YAC/D,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,EAAE,CAAA;YACnE,kEAAkE;YAClE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;SAC7C,EAAE,CAAA;KACJ,CAAA;CACF"}
@@ -0,0 +1,106 @@
1
+ /** Selects finite native variants from precompiled fragments. @module */
2
+ import * as Native from './Native.js';
3
+ /**
4
+ * Binds finite selection data without including dynamic value converters.
5
+ * @param options - Compiler-owned axes, defaults, ordered rules, and native fragments.
6
+ * @returns A callable preserving finite choices and caller-owned native overrides.
7
+ * @throws {Native.SelectionError} For invalid selections, missing fragments, or invalid line heights.
8
+ */
9
+ export function create(options) {
10
+ const axes = Object.entries(options.axes);
11
+ const rules = options.rules.map((rule) => ({
12
+ matches: rule.matches.map(([name, choices]) => {
13
+ const axis = axes.findIndex(([key]) => key === name);
14
+ return [
15
+ axis,
16
+ choices.map((choice) => axes[axis][1].indexOf(choice)),
17
+ ];
18
+ }),
19
+ steps: rule.steps.map((step) => {
20
+ if (typeof step === 'number')
21
+ return step;
22
+ const style = options.styles[step];
23
+ if (!style)
24
+ throw new Native.SelectionError('Native binding program is missing a static style.');
25
+ freeze(style);
26
+ return style;
27
+ }),
28
+ }));
29
+ const cache = new Map();
30
+ return (input = {}) => {
31
+ for (const key of Object.keys(input))
32
+ if (key !== 'style' && !Object.hasOwn(options.axes, key))
33
+ throw new Native.SelectionError(`Unknown native recipe input: ${key}.`);
34
+ const selected = [];
35
+ let key = '';
36
+ const values = input;
37
+ for (const [axis, choices] of axes) {
38
+ const supplied = Object.hasOwn(values, axis) ? values[axis] : undefined;
39
+ const value = supplied === undefined
40
+ ? Object.hasOwn(options.defaults, axis)
41
+ ? options.defaults[axis]
42
+ : undefined
43
+ : supplied;
44
+ if (value !== null &&
45
+ typeof value === 'object' &&
46
+ !Array.isArray(value)) {
47
+ const entries = Object.keys(value);
48
+ if (entries.length !== 1)
49
+ throw new Native.SelectionError('Native payloads require exactly one choice.');
50
+ if (choices.includes(entries[0]))
51
+ throw new Native.SelectionError(`Static native choice does not accept a payload: ${axis}.`);
52
+ }
53
+ const choice = value == null
54
+ ? choices.length
55
+ : typeof value === 'string' || typeof value === 'boolean'
56
+ ? choices.indexOf(String(value))
57
+ : -1;
58
+ if (choice < 0)
59
+ throw new Native.SelectionError(`Unknown native recipe choice for ${axis}.`);
60
+ selected.push(choice);
61
+ key += `${choice},`;
62
+ }
63
+ let style = cache.get(key);
64
+ if (!style) {
65
+ const output = {};
66
+ let lineHeight;
67
+ for (const rule of rules) {
68
+ if (!rule.matches.every(([axis, choices]) => choices.includes(selected[axis])))
69
+ continue;
70
+ for (const step of rule.steps) {
71
+ if (typeof step === 'number')
72
+ lineHeight = step;
73
+ else {
74
+ Object.assign(output, step);
75
+ if (step.lineHeight !== undefined)
76
+ lineHeight = undefined;
77
+ }
78
+ }
79
+ }
80
+ if (lineHeight !== undefined) {
81
+ if (!Number.isFinite(lineHeight) ||
82
+ lineHeight < 0 ||
83
+ typeof output.fontSize !== 'number')
84
+ throw new Native.SelectionError('Numeric lineHeight requires an explicit fontSize and a nonnegative finite multiplier.');
85
+ output.lineHeight = lineHeight * output.fontSize;
86
+ if (!Number.isFinite(output.lineHeight))
87
+ throw new Native.SelectionError('Converted lineHeight must be finite.');
88
+ }
89
+ style = Object.freeze(output);
90
+ // Retain a bounded working set even for recipes with many independent axes.
91
+ if (cache.size >= 256)
92
+ cache.delete(cache.keys().next().value);
93
+ cache.set(key, style);
94
+ }
95
+ return { style: input.style ? [style, input.style] : style };
96
+ };
97
+ }
98
+ function freeze(value) {
99
+ if (Object.isFrozen(value))
100
+ return;
101
+ for (const child of Object.values(value))
102
+ if (child && typeof child === 'object')
103
+ freeze(child);
104
+ Object.freeze(value);
105
+ }
106
+ //# sourceMappingURL=NativeStatic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeStatic.js","sourceRoot":"","sources":["../../src/runtime/NativeStatic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /** Selects immutable native variable tables emitted by the compiler. @module */
2
+ import type * as Literal from '../internal/Literal.js';
3
+ import * as Media from './internal/NativeMedia.js';
4
+ import type * as StyleSheet from '../react-native/StyleSheet.js';
5
+ import type * as Vars from '../Vars.js';
6
+ /** Static values with deferred diagnostics for unsupported native leaves. */
7
+ export type EncodedTree = {
8
+ readonly [key: string]: string | number | EncodedTree | readonly [string];
9
+ };
10
+ /** Resolves portable reference domains to readonly native value types. */
11
+ export type Values<values, category = undefined, root extends boolean = true> = {
12
+ readonly [key in Exclude<keyof values, root extends true ? 'breakpoint' | 'containerNames' : never>]: values[key] extends Vars.Value ? category extends 'fontWeight' ? Exclude<StyleSheet.NativeStyle['fontWeight'], undefined> : category extends 'typography' ? key extends 'fontWeight' ? Exclude<StyleSheet.NativeStyle['fontWeight'], undefined> : key extends 'lineHeight' ? number : Scalar<Vars.Scalar<values[key]>> : Scalar<Vars.Scalar<values[key]>> : Values<values[key], root extends true ? key : category, false>;
13
+ };
14
+ /** Native scalar values nested under their authored variable paths. */
15
+ export type Tree = {
16
+ readonly [key: string]: string | number | Tree;
17
+ };
18
+ type Scalar<value> = value extends number | Literal.Length ? number : string;
19
+ /** Copies and shares equal branches across the compiled profiles. */
20
+ export declare function create(options: create.Options): object;
21
+ /** Compiler-generated native profiles. */
22
+ export declare namespace create {
23
+ /** Static tables and the owning configuration's default name. */
24
+ type Options = {
25
+ /** Fallback when the Provider omits its selection. */
26
+ readonly defaultVars: string;
27
+ /** Precompiled alternatives for supported window queries. */
28
+ readonly media?: {
29
+ readonly profiles: Readonly<Record<string, Options['profiles']>>;
30
+ readonly queries: readonly Media.Query[];
31
+ } | undefined;
32
+ /** Native values for every configured name and scheme. */
33
+ readonly profiles: Readonly<Record<string, Readonly<Record<'dark' | 'light', EncodedTree>>>>;
34
+ /** A standalone definition whose values do not depend on the selected name. */
35
+ readonly unnamed: boolean;
36
+ };
37
+ }
38
+ /** Reads a compiled profile without evaluating authoring or accessing device state. */
39
+ export declare function read(value: object, selection: read.Options): Tree;
40
+ /** Selection supplied by the nearest native Provider. */
41
+ export declare namespace read {
42
+ /** Resolved appearance and an optional variable name. */
43
+ type Options = {
44
+ /** Resolved native color scheme. */
45
+ readonly colorScheme: 'dark' | 'light';
46
+ /** Selected name, or the configuration default when omitted. */
47
+ readonly set?: string | undefined;
48
+ /** Native window dimensions; unsupported leaves remain lazy when absent. */
49
+ readonly viewport?: Media.Viewport | undefined;
50
+ };
51
+ }
52
+ export {};
53
+ //# sourceMappingURL=NativeVars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeVars.d.ts","sourceRoot":"","sources":["../../src/runtime/NativeVars.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import * as Media from './internal/NativeMedia.js';
2
+ const binding = Symbol('zyzz.native.vars');
3
+ /** Copies and shares equal branches across the compiled profiles. */
4
+ export function create(options) {
5
+ const shared = new Map();
6
+ function freeze(tree) {
7
+ const key = JSON.stringify(tree);
8
+ const previous = shared.get(key);
9
+ if (previous)
10
+ return previous;
11
+ const value = {};
12
+ for (const [name, entry] of Object.entries(tree)) {
13
+ const diagnostic = Array.isArray(entry) ? String(entry[0]) : undefined;
14
+ Object.defineProperty(value, name, diagnostic !== undefined
15
+ ? {
16
+ enumerable: true,
17
+ get() {
18
+ throw new Error(diagnostic);
19
+ },
20
+ }
21
+ : {
22
+ enumerable: true,
23
+ value: typeof entry === 'object'
24
+ ? freeze(entry)
25
+ : entry,
26
+ });
27
+ }
28
+ Object.freeze(value);
29
+ shared.set(key, value);
30
+ return value;
31
+ }
32
+ function profiles(value) {
33
+ return Object.freeze(Object.fromEntries(Object.entries(value).map(([name, schemes]) => [
34
+ name,
35
+ Object.freeze({
36
+ dark: freeze(schemes.dark),
37
+ light: freeze(schemes.light),
38
+ }),
39
+ ])));
40
+ }
41
+ return Object.freeze({
42
+ [binding]: Object.freeze({
43
+ defaultVars: options.defaultVars,
44
+ ...(options.media
45
+ ? {
46
+ media: Object.freeze({
47
+ profiles: Object.freeze(Object.fromEntries(Object.entries(options.media.profiles).map(([key, value]) => [
48
+ key,
49
+ profiles(value),
50
+ ]))),
51
+ queries: options.media.queries,
52
+ }),
53
+ }
54
+ : {}),
55
+ profiles: profiles(options.profiles),
56
+ unnamed: options.unnamed,
57
+ }),
58
+ });
59
+ }
60
+ /** Reads a compiled profile without evaluating authoring or accessing device state. */
61
+ export function read(value, selection) {
62
+ if (!value ||
63
+ (typeof value !== 'object' && typeof value !== 'function') ||
64
+ !Object.hasOwn(value, binding))
65
+ throw new Error('useVars requires variables compiled by the native adapter.');
66
+ const definition = value[binding];
67
+ const profiles = definition.media && selection.viewport
68
+ ? definition.media.profiles[Media.select(definition.media.queries, selection.viewport)]
69
+ : definition.profiles;
70
+ const name = selection.set ?? definition.defaultVars;
71
+ const profile = (Object.hasOwn(profiles, name) ? profiles[name] : undefined) ??
72
+ (definition.unnamed ? profiles.default : undefined);
73
+ if (!profile)
74
+ throw new Error(`Unknown native vars: ${name}.`);
75
+ return profile[selection.colorScheme];
76
+ }
77
+ //# sourceMappingURL=NativeVars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeVars.js","sourceRoot":"","sources":["../../src/runtime/NativeVars.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,10 @@ export * as Native from './Native.js';
20
20
  export * as NativeContext from './NativeContext.js';
21
21
  /** Ordered native scalar bindings for generated dynamic callables. */
22
22
  export * as NativeDynamic from './NativeDynamic.js';
23
+ /** Finite native selection without dynamic value conversion. */
24
+ export * as NativeStatic from './NativeStatic.js';
25
+ /** Readonly native variable selection for compiled hooks. */
26
+ export * as NativeVars from './NativeVars.js';
23
27
  /** Scoped recipe inputs bound to fixed variable slots. */
24
28
  export * as PayloadRecipe from './PayloadRecipe.js';
25
29
  /** Runtime props binding without parsing, compilation, or theme data. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oEAAoE;AACpE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C,mEAAmE;AACnE,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,oEAAoE;AACpE,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD,oEAAoE;AACpE,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D,yDAAyD;AACzD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,6CAA6C;AAC7C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,mEAAmE;AACnE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,8DAA8D;AAC9D,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,sEAAsE;AACtE,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,0DAA0D;AAC1D,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,yEAAyE;AACzE,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,gEAAgE;AAChE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,4DAA4D;AAC5D,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,oEAAoE;AACpE,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oEAAoE;AACpE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C,mEAAmE;AACnE,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,oEAAoE;AACpE,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD,oEAAoE;AACpE,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D,yDAAyD;AACzD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,6CAA6C;AAC7C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,mEAAmE;AACnE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,8DAA8D;AAC9D,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,sEAAsE;AACtE,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,gEAAgE;AAChE,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD,6DAA6D;AAC7D,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C,0DAA0D;AAC1D,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,yEAAyE;AACzE,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,gEAAgE;AAChE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,4DAA4D;AAC5D,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,oEAAoE;AACpE,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA"}
@@ -20,6 +20,10 @@ export * as Native from './Native.js';
20
20
  export * as NativeContext from './NativeContext.js';
21
21
  /** Ordered native scalar bindings for generated dynamic callables. */
22
22
  export * as NativeDynamic from './NativeDynamic.js';
23
+ /** Finite native selection without dynamic value conversion. */
24
+ export * as NativeStatic from './NativeStatic.js';
25
+ /** Readonly native variable selection for compiled hooks. */
26
+ export * as NativeVars from './NativeVars.js';
23
27
  /** Scoped recipe inputs bound to fixed variable slots. */
24
28
  export * as PayloadRecipe from './PayloadRecipe.js';
25
29
  /** Runtime props binding without parsing, compilation, or theme data. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oEAAoE;AACpE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C,mEAAmE;AACnE,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,oEAAoE;AACpE,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD,oEAAoE;AACpE,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D,yDAAyD;AACzD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,6CAA6C;AAC7C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,mEAAmE;AACnE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,8DAA8D;AAC9D,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,sEAAsE;AACtE,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,0DAA0D;AAC1D,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,yEAAyE;AACzE,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,gEAAgE;AAChE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,4DAA4D;AAC5D,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,oEAAoE;AACpE,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oEAAoE;AACpE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C,mEAAmE;AACnE,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C,oEAAoE;AACpE,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD,oEAAoE;AACpE,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D,yDAAyD;AACzD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,6CAA6C;AAC7C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,mEAAmE;AACnE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,8DAA8D;AAC9D,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,sEAAsE;AACtE,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,gEAAgE;AAChE,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD,6DAA6D;AAC7D,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C,0DAA0D;AAC1D,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAEnD,yEAAyE;AACzE,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,gEAAgE;AAChE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,4DAA4D;AAC5D,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,oEAAoE;AACpE,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA"}
@@ -0,0 +1,25 @@
1
+ /** Selects precompiled media alternatives using native logical dimensions. @module */
2
+ /** Comparison data emitted by the compiler, with no CSS parsing at application time. */
3
+ export type Query = {
4
+ readonly kind: 'and';
5
+ readonly queries: readonly Query[];
6
+ } | {
7
+ readonly kind: 'compare';
8
+ readonly left: number | 'height' | 'width';
9
+ readonly operator: '<' | '<=' | '=' | '>' | '>=';
10
+ readonly right: number | 'height' | 'width';
11
+ } | {
12
+ readonly kind: 'not';
13
+ readonly query: Query;
14
+ } | {
15
+ readonly kind: 'or';
16
+ readonly queries: readonly Query[];
17
+ };
18
+ /** Window measurements supplied by the native React adapter. */
19
+ export type Viewport = {
20
+ readonly height: number;
21
+ readonly width: number;
22
+ };
23
+ /** Computes the selected alternative without interpreting authoring code. */
24
+ export declare function select(queries: readonly Query[], viewport: Viewport | undefined): string;
25
+ //# sourceMappingURL=NativeMedia.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeMedia.d.ts","sourceRoot":"","sources":["../../../src/runtime/internal/NativeMedia.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,wFAAwF;AACxF,MAAM,MAAM,KAAK,GACb;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,CAAA;CAAE,GAC5D;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC1C,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAA;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;CAC5C,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC/C;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,CAAA;CAAE,CAAA;AAE/D,gEAAgE;AAChE,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,6EAA6E;AAC7E,wBAAgB,MAAM,CACpB,OAAO,EAAE,SAAS,KAAK,EAAE,EACzB,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAC7B,MAAM,CAsCR"}
@@ -0,0 +1,36 @@
1
+ /** Selects precompiled media alternatives using native logical dimensions. @module */
2
+ /** Computes the selected alternative without interpreting authoring code. */
3
+ export function select(queries, viewport) {
4
+ if (!viewport)
5
+ throw new Error('Native media queries require the native Provider window dimensions.');
6
+ if (!Number.isFinite(viewport.height) ||
7
+ viewport.height < 0 ||
8
+ !Number.isFinite(viewport.width) ||
9
+ viewport.width < 0)
10
+ throw new Error('Native window dimensions must be finite and nonnegative.');
11
+ const dimensions = viewport;
12
+ function matches(query) {
13
+ if (query.kind === 'and')
14
+ return query.queries.every(matches);
15
+ if (query.kind === 'or')
16
+ return query.queries.some(matches);
17
+ if (query.kind === 'not')
18
+ return !matches(query.query);
19
+ const left = typeof query.left === 'number' ? query.left : dimensions[query.left];
20
+ const right = typeof query.right === 'number' ? query.right : dimensions[query.right];
21
+ switch (query.operator) {
22
+ case '<':
23
+ return left < right;
24
+ case '<=':
25
+ return left <= right;
26
+ case '=':
27
+ return left === right;
28
+ case '>':
29
+ return left > right;
30
+ case '>=':
31
+ return left >= right;
32
+ }
33
+ }
34
+ return queries.map((query) => (matches(query) ? '1' : '0')).join('');
35
+ }
36
+ //# sourceMappingURL=NativeMedia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NativeMedia.js","sourceRoot":"","sources":["../../../src/runtime/internal/NativeMedia.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAoBtF,6EAA6E;AAC7E,MAAM,UAAU,MAAM,CACpB,OAAyB,EACzB,QAA8B;IAE9B,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAA;IACH,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACjC,QAAQ,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChC,QAAQ,CAAC,KAAK,GAAG,CAAC;QAElB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAE7E,MAAM,UAAU,GAAG,QAAQ,CAAA;IAC3B,SAAS,OAAO,CAAC,KAAY;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAEtD,MAAM,IAAI,GACR,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACtE,MAAM,KAAK,GACT,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACzE,QAAQ,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvB,KAAK,GAAG;gBACN,OAAO,IAAI,GAAG,KAAK,CAAA;YACrB,KAAK,IAAI;gBACP,OAAO,IAAI,IAAI,KAAK,CAAA;YACtB,KAAK,GAAG;gBACN,OAAO,IAAI,KAAK,KAAK,CAAA;YACvB,KAAK,GAAG;gBACN,OAAO,IAAI,GAAG,KAAK,CAAA;YACrB,KAAK,IAAI;gBACP,OAAO,IAAI,IAAI,KAAK,CAAA;QACxB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACtE,CAAC"}
package/dist/variable.js CHANGED
@@ -3,7 +3,7 @@ import * as Variable from './runtime/Variable.js';
3
3
  export function variable(kind, options) {
4
4
  const id = typeof kind === 'object' ? kind.id : options?.id;
5
5
  return Variable.create({
6
- name: `--z-v${Identity.requireId(id, 'variable')}`,
6
+ name: `--z-${Identity.requireId(id, 'variable').slice(3)}`,
7
7
  type: typeof kind === 'string' ? kind : '*',
8
8
  variable: true,
9
9
  });
@@ -1 +1 @@
1
- {"version":3,"file":"variable.js","sourceRoot":"","sources":["../src/variable.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AA8BjD,MAAM,UAAU,QAAQ,CACtB,IAA6C,EAC7C,OAA8C;IAE9C,MAAM,EAAE,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAA;IAC3D,OAAO,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,QAAQ,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE;QAClD,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;QAC3C,QAAQ,EAAE,IAAI;KACf,CAAC,CAAA;AACJ,CAAC;AAkDD,gFAAgF;AAChF,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,sCAAsC;IACtC;QACE,KAAK,CACH,4FAA4F,CAC7F,CAAA;IACH,CAAC;IACD,yCAAyC;IAChC,IAAI,GAAG,gCAAgC,CAAA;CACjD"}
1
+ {"version":3,"file":"variable.js","sourceRoot":"","sources":["../src/variable.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AA8BjD,MAAM,UAAU,QAAQ,CACtB,IAA6C,EAC7C,OAA8C;IAE9C,MAAM,EAAE,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAA;IAC3D,OAAO,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,OAAO,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC1D,IAAI,EAAE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;QAC3C,QAAQ,EAAE,IAAI;KACf,CAAC,CAAA;AACJ,CAAC;AAkDD,gFAAgF;AAChF,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,sCAAsC;IACtC;QACE,KAAK,CACH,4FAA4F,CAC7F,CAAA;IACH,CAAC;IACD,yCAAyC;IAChC,IAAI,GAAG,gCAAgC,CAAA;CACjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAe,MAAM,EAAyB,MAAM,MAAM,CAAA;AACtE,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAG7C;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,IAAI,CAAC,OAAY,GAAG,MAAM,CAgmDvD;AA8BD,sCAAsC;AACtC,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,kFAAkF;IAClF,KAAK,OAAO,GAAG;QACb,kFAAkF;QAClF,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACvC,4EAA4E;QAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;QAChD,6FAA6F;QAC7F,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACjD,gDAAgD;QAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpC;;;WAGG;QACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KACtC,CAAA;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vite/index.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAe,MAAM,EAAyB,MAAM,MAAM,CAAA;AACtE,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAI7C;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,IAAI,CAAC,OAAY,GAAG,MAAM,CAulDvD;AA8BD,sCAAsC;AACtC,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,kFAAkF;IAClF,KAAK,OAAO,GAAG;QACb,kFAAkF;QAClF,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACvC,4EAA4E;QAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;QAChD,6FAA6F;QAC7F,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACjD,gDAAgD;QAChD,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpC;;;WAGG;QACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KACtC,CAAA;CACF"}